Abstract: The present disclosure relates to an image processing device and method allowing suppression of an increase in processing time for filter processing executed on point cloud data. Filter processing is performed using a representative value for point cloud data for each of local areas into which a three dimensional space is divided, a two-dimensional plane image on which the point cloud data subjected to the filter processing is projected is encoded, and a bit stream is generated. The present disclosure is applicable to, for example, an information processing device, an image processing device, electronic equipment, an information processing method, a program, or the like.
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 processing time for filtering a point cloud data.
Background technology
[0002]
Conventionally, as a method for encoding 3D data representing a three-dimensional structure such as a point cloud, there has been coding using a voxel such as Octtree (for example, Non-Patent Document 1). reference).
[0003]
In recent years, as another coding method, for example, an approach in which the position and color information of a point cloud is projected onto a two-dimensional plane for each small area and encoded by a coding method for a two-dimensional image (hereinafter, video-based). An approach (also referred to as a Video-based approach) has been proposed (see, for example, Non-Patent Documents 2 to 4).
[0004]
In such coding, in order to suppress the subjective reduction in image quality when the point cloud restored from the decoded 2D image is imaged, the surrounding points are acquired by the nearest neighbor search (Nearest Neighbor). Then, a method of applying a three-dimensional smoothing filter was considered.
Prior art literature
Non-patent literature
[0005]
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: Tim Golla and Reinhard Klein, "Real-time Point Cloud Compression," IEEE, 2015
Non-Patent Document 3: K. Mammou, “Video-based and Hierarchical Approaches Point Cloud Compression”, MPEG m41649, Oct. 2017
Non-Patent Document 4: K. Mammou, “PCC Test Model Category 2 v0,” N17248 MPEG output document, October 2017
Outline of the invention
Problems to be solved by the invention
[0006]
However, in general, the number of points in the point cloud is large, and the processing load of the nearest neighbor search has become extremely heavy. Therefore, this method may increase the processing time.
[0007]
The present disclosure has been made in view of such a situation, so that the filter processing for the point cloud data can be performed at a higher speed than the conventional method, and the increase in the processing time can be suppressed. It is something to do.
Means to solve problems
[0008]
The image processing device on one aspect of the present technology includes a filter processing unit that performs filtering on point cloud data using a representative value of the point cloud data for each local region divided into a three-dimensional space, and the filter. It is an image processing apparatus including a coding unit that encodes a two-dimensional plane image on which the point cloud data that has been filtered by the processing unit is projected and generates a bit stream.
[0009]
In the image processing method of one aspect of the present technology, the point cloud data is filtered by using the representative value of the point cloud data for each local region divided into the three-dimensional space, and the filter processing is performed. This is an image processing method for generating a bit stream by encoding a two-dimensional plane image on which the point cloud data is projected.
[0010]
The image processing device on the other side of the present technology has a decoding unit that decodes the bit stream and generates encoded data of the two-dimensional plane image on which the point cloud data is projected, and the two-dimensional image processing unit generated by the decoding unit. It is an image processing apparatus including a filter processing unit that performs filtering processing on the point cloud data restored from a plane image by using the representative value of the point cloud data for each local region divided into a three-dimensional space. ..
[0011]
In the image processing method of another aspect of the present technology, the bit stream is decoded, the coded data of the two-dimensional plane image on which the point cloud data is projected is generated, and the above-mentioned restored from the generated two-dimensional plane image. This is an image processing method for performing filter processing on point cloud data by using representative values of the point cloud data for each local region in which a three-dimensional space is divided.
[0012]
The image processing device on the other aspect of the present technology includes a filter processing unit that filters a part of the points of the point cloud data and the point cloud data that has been filtered by the filter processing unit. It is an image processing apparatus including a coding unit that encodes a projected two-dimensional plane image and generates a bit stream.
[0013]
In the image processing method of yet another aspect of the present technology, a part of the points of the point cloud data is filtered, and the two-dimensional plane image on which the filtered point cloud data is projected is coded. This is an image processing method that generates a bit stream.
[0014]
The image processing device of still another aspect of the present technology has a decoding unit that decodes a bit stream and generates coded data of a two-dimensional plane image on which point cloud data is projected, and the decoding unit generated by the decoding unit. It is an image processing apparatus including a filter processing unit that performs filter processing on a part of points of the point cloud data restored from a two-dimensional plane image.
[0015]
The image processing method of yet another aspect of the present technology decodes the bit stream, generates coded data of the two-dimensional plane image on which the point cloud data is projected, and restores the coded data from the generated two-dimensional plane image. This is an image processing method for filtering some points of the point cloud data.
[0016]
In the image processing device and method of one aspect of the present technology, the point cloud data is filtered by using the representative value of the point cloud data for each local region divided into the three-dimensional space, and the filter is performed. The two-dimensional plane image on which the processed point cloud data is projected is encoded, and a bit stream is generated.
[0017]
In the image processing apparatus and method of the other aspect of the present technology, the bit stream is decoded, the coded data of the two-dimensional plane image on which the point cloud data is projected is generated, and the coded data is restored from the generated two-dimensional plane image. The filtered point cloud data is filtered by using the representative value of the point cloud data for each local area divided into the three-dimensional space.
[0018]
In the image processing device and method of yet another aspect of the present technology, a filter process is performed on a part of the points of the point cloud data, and the filtered point cloud data is projected onto the two-dimensional plane. The image is encoded and a bitstream is generated.
[0019]
In the image processing apparatus and method of still another aspect of the present technology, the bit stream is decoded, the coded data of the two-dimensional plane image on which the point cloud data is projected is generated, and the generated two-dimensional plane image is used. Restored points Some points in the cloud data are filtered.
The invention's effect
[0020]
According to the present disclosure, images can be processed. In particular, it is possible to suppress an increase in the processing time for filtering the point cloud data.
A brief description of the drawing
[0021]
[Fig. 1] Fig. 1 is a diagram illustrating an example of smoothing processing.
[Fig. 2] Fig. 2 is a diagram summarizing the main features of this technology.
[Fig. 3] Fig. 3 is a diagram for explaining the nearest neighbor search.
[Fig. 4] Fig. 4 is a diagram illustrating an example of an outline of filtering processing using this technology.
[Fig. 5] Fig. 5 is a diagram illustrating a comparative example of processing time.
[Fig. 6] Fig. 6 is a diagram illustrating an example of a local region division method.
[Fig. 7] Fig. 7 is a diagram illustrating parameters related to a local region.
[Fig. 8] Fig. 8 is a diagram illustrating information transmission.
[Fig. 9] Fig. 9 is a diagram illustrating a target of filtering.
[Fig. 10] Fig. 10 is a diagram illustrating a method of deriving a representative value.
[Fig. 11] Fig. 11 is a diagram illustrating an operation of filtering.
[Fig. 12] Fig. 12 is a diagram illustrating a target range of filter processing.
[Fig. 13] Fig. 13 is a diagram illustrating a case of applying to a filter process using the nearest neighbor search.
[Fig. 14] Fig. 14 is a diagram illustrating a case of applying to a filter process using a representative value for each local region.
[Fig. 15] Fig. 15 is a diagram illustrating a comparative example of processing time.
FIG. 16 is a block diagram showing a main configuration example of a coding device.
[Fig. 17] Fig. 17 is a diagram illustrating a main configuration example of a patch disassembly unit.
FIG. 18 is a diagram illustrating a main configuration example of a three-dimensional position information smoothing processing unit.
FIG. 19 is a flowchart illustrating an example of a flow of coding processing.
[Fig. 20] Fig. 20 is a flowchart illustrating an example of a flow of patch disassembly processing.
FIG. 21 is a flowchart illustrating an example of a flow of smoothing processing.
FIG. 22 is a flowchart illustrating an example of a flow of smoothing range setting processing.
FIG. 23 is a block diagram showing a main configuration example of a decoding device.
FIG. 24 is a diagram illustrating a main configuration example of a 3D reconstruction unit.
FIG. 25 is a diagram illustrating a main configuration example of a three-dimensional position information smoothing processing unit.
FIG. 26 is a flowchart illustrating an example of a flow of decoding processing.
[Fig. 27] Fig. 27 is a flowchart illustrating an example of the flow of the point cloud reconstruction process.
FIG. 28 is a flowchart illustrating an example of a flow of smoothing processing.
[Fig. 29] Fig. 29 is a block diagram showing a main configuration example of a computer.
Mode for carrying out the invention
[0022]
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. Speeding up filtering
2. First Embodiment (encoding device)
3. Second embodiment (decoding device)
4. Modification example
5. Addendum
[0023]
<1. Acceleration of filter processing>
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.
[0024]
Non-Patent Document 1: (above)
Non-Patent Document 2: (above)
Non-Patent Document 3: (above)
Non-Patent Document 4: (above)
Non-Patent Document 5: TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union), "Advanced video coding for generic audiovisual services ", H.264, 04/2017
Non-Patent Document 6: TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (International Telecommunication Union)," High efficiency video coding ", H.265, 12/2016
Non-Patent Document 7: 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
[0025]
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 6 and the QTBT (Quad Tree Plus Binary Tree) Block Structure described in Non-Patent Document 7 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 the present technology even if there is no direct description in the embodiment. It shall meet the support requirements of the claims.
[0026]
Conventionally, a point cloud that represents a three-dimensional structure based on the position information and attribute information of a point cloud, a mesh that is composed of vertices, edges, and faces and defines a three-dimensional shape using polygonal representation, etc. The data existed.
[0027]
For example, in the case of a point cloud, a three-dimensional structure is expressed as a set (point cloud) of a large number of points. That is, the 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.
[0028]
A video-based approach (Video-based approach) in which
the position and color information of such a point cloud is projected onto a two-dimensional plane for each small area and encoded by a coding method for a two-dimensional image. approach) has been proposed.
[0029]
In this video-based approach, the input point cloud is divided into a plurality of segmentations (also referred to as regions), and each region is projected onto a two-dimensional plane. The data for each position of the point cloud (that is, the data for each point) is composed of position information (Geometry (also referred to as Depth)) and attribute information (Texture) as described above, and 2 for each area. Projected onto a dimensional plane.
[0030]
Then, each segmentation (also referred to as a patch) projected on the two-dimensional plane is arranged in the two-dimensional image, and is used for a two-dimensional plane image such as AVC (Advanced Video Coding) or HEVC (High Efficiency Video Coding). It is encoded by the coding method of.
[0031]
When
projecting 3D data onto a two-dimensional plane using a video-based approach, the two-dimensional plane image (also called a geometry) image on which position information is projected as described above and the attribute information are projected. An occupancy map is generated in addition to the created two-dimensional plane image (also referred to as a Texture image). The occupancy map is map information indicating the presence or absence of position information and attribute information at each position on the two-dimensional plane. More specifically, in the occupancy map, the presence or absence of the position information and the attribute information is indicated for each area called Precision.
[0032]
Since the point cloud (each point) is restored in block units defined by the precision of this occupancy map, the larger the size of this block, the coarser the resolution of the points. Therefore, due to the large size of this precision, there is a risk that the subjective image quality when imaging the point cloud encoded / decoded by the video-based approach may be reduced.
[0033]
For example, when a point cloud encoded / decoded by a video-based approach is imaged and the precision size is large, saw teeth at the boundary between the white part and the black part, as shown in Fig. 1A. There was a risk that the subjective image quality would be reduced due to the formation of such fine notches.
[0034]
Therefore, a method has been considered in which points around the points to be processed are acquired by the nearest neighbor search (also referred to as NN (Nearest Neighbor)), and the points to be processed are subjected to a three-dimensional smoothing filter using them. By applying such a three-dimensional smoothing filter, as shown in FIG. 1B, the notch at the boundary between the white part and the black part is suppressed to form a smooth linear shape, and the subjective image quality is reduced. Can be suppressed.
[0035]
However, in general, the number of points in the point cloud is large, and the processing load of the nearest neighbor search has become extremely heavy. Therefore, this method may increase the processing time.
[0036]
Due to this increase in processing time, for example, it has been difficult to perform the above-mentioned video-based approach immediately (in real time) (for example, encoding as a moving image of 60 frames per second).
[0037]
As a general method for speeding up NN, a method of searching by approximation (Approximate NN) and a method of using hardware capable of faster processing are considered, but even if they are used, immediate processing is possible. It was practically difficult.
[0038]
<# 1. Speeding up using representative values for each local area>
Therefore , speeding up the three-dimensional smoothing filter processing. For example, as shown in the column # 1 in FIG. 2, the three-dimensional space is divided into local regions, the representative value of the point cloud is obtained for each local region, and the representative value for each local region is used as a reference value in the filtering process. To use.
[0039]
For example, as shown in A in FIG. 3, points are distributed, and when a three-dimensional smoothing filter is applied to the black point (curPoint) in the center, the data of the gray points (nearPoint) around it. Smoothing is performed by referring to (using as a reference value).
[0040]
The pseudo code of the conventional method is shown in B of FIG. In the conventional case, the peripheral points (nearPoint) of the processing target point (curPoint) are determined using the nearest neighbor search (NN) (nearPoint = NN (curPoint)), and all the peripheral points do not belong to the same patch. In the case (if (! All same patch (nearPoints))), that is, when the processing point is located at the end of the patch, the processing point is smoothed using the average of the data of the peripheral points (curPoint). = average (nearPoints)).
[0041]
On the other hand, as shown by the quadrangle A in FIG. 4, the three-dimensional space is divided into local regions, the representative value (x) of the point cloud is derived for each local region, and the representative value is used as the processing target. Try to smooth the points (black dots). The pseudo code is shown in B of FIG. In this case, first, the average value (AveragePoint) of the points in the local area is derived as a representative value for each local area (grid). Then, the peripheral grid (near grid) located around the grid to which the processing target point belongs (processing target grid) is specified.
[0042]
As the peripheral grid, a grid having a predetermined positional relationship with respect to the processing target grid is selected. For example, the grid adjacent to the processing target grid may be set as the peripheral grid. For example, in the case of the example A in FIG. 4, if the central square is the processing target grid, the eight grids around it are the peripheral grids.
[0043]
And if not all peripheral points belong to the same patch (if (! All same patch (nearPoints))), that is, if the processing target points are located at the edges of the patch, the representative values of those peripheral grids. Three-dimensional smoothing filter processing is performed on the processing target points by trilinear filtering using a set of (averagePoints = AveragePoint (near grid)) (curPoint = trilinear (averagePoints)).
[0044]
By doing so, it is possible to realize the filter processing (three-dimensional smoothing filter processing) without performing the nearest neighbor search (NN) which has a large load. Therefore, a smoothing effect equivalent to that of a conventional three-dimensional smoothing filter can be realized, and the processing time thereof can be significantly reduced. FIG. 5 shows a comparative example of the processing time of the three-dimensional smoothing filter (NN) when the nearest neighbor search is used and the processing time of the three-dimensional smoothing filter (trilinear) to which the present technology is applied. That is, by applying the present technology, the processing time required as shown in the graph on the left side of FIG. 5 can be shortened as shown in the graph on the right side of FIG.
[0045]
Hereinafter, each stage of FIG. 2 will be described with reference to FIGS. 6 to 15.
[0046]
<# 1-1. Local area division method> The method
of dividing the three-dimensional space (local area division method) is arbitrary. For example, the three-dimensional space may be uniformly divided into N × N × N cube regions, as in the row where the ID column of the table in FIG. 6 is “1”. By doing so, the three-dimensional space can be easily divided into local regions, so that an increase in the processing time of the filter processing can be suppressed (the filter processing can be made faster).
[0047]
Further, the three-dimensional space may be uniformly divided into M × N × L rectangular parallelepiped regions, for example, as in the row where the ID column of the table in FIG. 6 is “2”. By doing so, the three-dimensional space can be easily divided into local regions, so that an increase in the processing time of the filter processing can be suppressed (the filter processing can be made faster). Further, since the degree of freedom in the shape of the local region is improved as compared with the case where the three-dimensional space is divided into the cube regions, the processing load of each local region can be smoothed more (suppressing the load bias). Can be done).
[0048]
Further, the three-dimensional space may be divided so that the number of points in each local region is constant, for example, as in the row where the ID column of the table in FIG. 6 is "3". By doing so, it is possible to smooth the processing weight and resource usage of each local region as compared with the case of dividing the three-dimensional space into a cube region or a rectangular parallelepiped region (it is possible to suppress the load bias). can).
[0049]
Further, a local region having an arbitrary shape and size may be set at an arbitrary position in the three-dimensional space, for example, as in the row where the ID column of the table in FIG. 6 is “4”. By doing so, it is possible to perform a smoothing process (smooth process) more suitable for the complex three-dimensional shape than in the case of each of the above methods, and the smoothing is further performed. can do.
[0050]
Further, for example, as in the row where the ID column of the table in FIG. 6 is "5", each method having the above-mentioned IDs "1" to "4" may be selected. By doing so, a more appropriate smoothing process (smooth process) can be performed for a wider variety of situations, and more smoothing can be performed. How to make this selection (based on what to select) is arbitrary. Further, the information indicating which method is selected may be transmitted from the coding side to the decoding side (signal of the method selection information).
[0051]
<# 1-2. Local area parameter setting> Further
, the method and contents for setting such local area parameters are arbitrary. For example, the shape and size of the local region that divides the three-dimensional space (for example, L, M, N, etc. in FIG. 6) may be set as a fixed value, as in the row where the ID column of the table in FIG. 7 is “1”. For example, this value may be set in advance according to a standard or the like. By doing so, it is possible to omit the setting of the shape and size of the local region, so that the filtering process can be further speeded up.
[0052]
Further, for example, as shown in the row where the ID column of the table in FIG. 7 is "2", the shape and size of the local region may be set according to the point cloud and the situation. That is, the parameters of the local region may be variable. By doing so, a more appropriate local region can be formed depending on the situation, so that the filtering process can be performed more appropriately. For example, the processing can be made faster, the bias of the processing can be suppressed, and the processing can be made smoother.
[0053]
For example, the size of the local region (for example, L, M, N, etc. in FIG. 6) may be made variable as shown in the row where the ID column of the table in FIG. 7 is “2-1”. Further, for example, the number of points included in the local area may be made variable, as in the line where the ID column is "2-2". Further, for example, the shape and position of the local region may be made variable, as in the line where the ID column is "2-3". Further, for example, as in the line where the ID field is "2-4", the user or the like may be able to select the setting method of the local area. For example, the user or the like may be able to determine which method of the IDs in the table of FIG. 6 is "1" to "4".
[0054]
<# 1-3. Signal> Further
, the information about the filtering process may or may not be transmitted from the coding side to the decoding side. For example, as shown in the row where the ID column of the table in FIG. 8 is "1", all the parameters related to the filtering process are set in advance by the standard or the like, and the information about the filtering process is not transmitted. good. By doing so, the amount of information to be transmitted is reduced, so that the coding efficiency can be improved. In addition, since the parameters are derived in a similar manner, the load of the filtering process can be reduced, and the filtering process can be made faster.
[0055]
In addition, for example, as shown in the row where the ID column of the table in FIG. 8 is "2", it is possible to derive the optimum value from other internal parameters (for example, precision of the occupancy map) for all the parameters related to the filtering process. , Information about filtering may not be transmitted. By doing so, the amount of information to be transmitted is reduced, so that the coding efficiency can be improved. In addition, it is possible to set a local area more suitable for the situation.
[0056]
Further, the information related to the filtering process may be transmitted by the header of the bit stream, for example, as in the row where the ID column of the table in FIG. 8 is “3”. In that case, the parameter has a fixed value in the bitstream. By doing so, the amount of information to be transmitted can be relatively small, so that the reduction in coding efficiency can be suppressed. Further, since the parameter is a fixed value in the bit stream, it is possible to suppress an increase in the load of the filtering process.
[0057]
Further, the information related to the filtering process may be transmitted in the header of the frame, for example, as in the row where the ID column of the table in FIG. 8 is “4”. In that case, the parameters can be made variable for each frame. Therefore, it is possible to set a local area more suitable for the situation.
[0058]
<# 1-4. Filtering target> The
filtering target is arbitrary. For example, the location information of the point cloud may be targeted as in the row where the ID column of the table in FIG. 9 is "1". That is, three-dimensional smoothing filter processing is performed on the position information of the processing target point. By doing so, it is possible to realize smoothing of the position of each point in the point cloud.
[0059]
Further, for example, the attribute information (color, etc.) of the point cloud may be targeted, for example, as in the row where the ID column of the table in FIG. 9 is “2”. That is, three-dimensional smoothing filter processing is performed on the attribute information of the processing target point. By doing so, it is possible to realize smoothing of the color and the like of each point in the point cloud.
[0060]
<# 1-5. Representative value derivation method> The derivation method
of the representative value of each local region is arbitrary. For example, as in the row where the ID column of the table in FIG. 10 is "1", the average value of the data of the points inside the local region (included in the local region) may be used as the representative value. Since the average can be calculated by a simple calculation, the representative value can be calculated at a higher speed by doing so. That is, the filtering process can be made faster.
[0061]
Further, for example, as in the row where the ID column of the table in FIG. 10 is "2", the median of the data of the points inside the local region (included in the local region) may be used as the representative value. .. Since the median is less susceptible to peculiar data, more stable results can be obtained even in the presence of noise. That is, a more stable filtering result can be obtained.
[0062]
Of course, the method for deriving the representative value may be other than these examples. Further, for example, a representative value may be derived by a plurality of methods, and a more suitable value may be selected. Further, for example, the derivation method may be changed for each local region. For example, the derivation method may be selected according to the characteristics of the three-dimensional structure represented by the point cloud. For example, the median is used to derive a representative value for a part such as hair that has a fine shape and contains a lot of noise, and the average value is used for a part that has a clear boundary such as clothes. The value may be derived.
[0063]
<# 1-6. Filter processing operation> The operation of
filter processing (three-dimensional smoothing filter) is arbitrary. For example, Trilinear interpolation may be used as in the row where the ID column of the table in FIG. 11 is "1". Trilinear interpolation has a good balance between processing speed and quality of processing results. Further, for example, as in the row where the ID column of the table in FIG. 11 is "2", tricubic interpolation may be used. Tricubic interpolation can obtain higher quality processing results than trilinear interpolation. Further, the nearest neighbor search (NN) may be used, for example, as in the row where the ID column of the table in FIG. 11 is “3”. This method can obtain the processing result faster than the trilinear interpolation. Of course, a three-dimensional smoothing filter may be realized by any operation other than these.
[0064]
Further
, as shown in the stage of # 2 in FIG. 2, the filter processing may be performed only in a partial area. FIG. 12 is a diagram showing an example of an occupancy map. In the occupancy map 51 shown in FIG. 12, the white part contains data in a geometry image in which the position information of the point cloud is projected on a two-dimensional plane and a texture image in which the attribute information of the point cloud is projected on the two-dimensional plane. The area (precision) to be used is shown, and the black part indicates the area where there is no data in the geometry image or the texture image. That is, the white part indicates the area where the point cloud patch is projected, and the black part indicates the area where the point cloud patch is not projected.
[0065]
The notch as shown in A of FIG. 1 occurs at the boundary portion of the patch as indicated by the arrow 52 of FIG. Therefore, as shown in the column # 2-1 in FIG. 2, the three-dimensional smoothing filter processing is performed only on the points corresponding to the boundary portion of such a patch (the edge of the patch in the occupancy map). You may do it. That is, the end of the patch in the occupancy map may be a partial region for performing a three-dimensional smoothing filter process.
[0066]
By doing so, it is possible to perform the three-dimensional smoothing filter processing only on a part of the region. That is, since the area for performing the three-dimensional smoothing filter processing can be reduced, the speed of the three-dimensional smoothing filter processing can be further increased.
[0067]
This method can be combined with the conventional nearest neighbor search as shown in A of FIG. That is, as in the pseudo code shown in B of FIG. 13, only when the position of the processing target point corresponds to the edge of the patch (if (is_Boundary (curPos))), the nearest neighbor search (k-NearestNeighbor) is included 3 Dimensional smoothing filtering may be performed.
[0068]
Further, as shown in A of FIG. 14, it may be used in combination with the filtering process to which the present technique is applied in # 1. That is, only when the position of the processing target point corresponds to the edge of the patch (if (is_Boundary (curPos))) as in the pseudo code shown in B of FIG. 14, trilinear interpolation using the representative value of the local region is performed. A three-dimensional smoothing filter process may be performed.
[0069]
A comparative example of the processing time of each method is shown in FIG. The first graph from the left shows the processing time of the smoothing filter processing using the conventional nearest neighbor search. The second graph from the left shows the processing time of the three-dimensional smoothing filter processing by trilinear interpolation using the representative value of the local region. The third graph from the left shows the processing time when the smoothing filter processing using the conventional nearest neighbor search is performed only on the points corresponding to the edges of the patch in the occupancy map. The fourth graph from the left shows the processing time when the three-dimensional smoothing filter processing by trilinear interpolation using the representative value of the local region is performed only on the points corresponding to the edges of the patch in the occupancy map. show. By performing the three-dimensional smoothing filter only on a part of the region in this way, the processing time can be reduced regardless of the filtering method.
[0070]
<2. First Embodiment>
Next, a configuration for realizing each of the above methods will be described. FIG. 16 is a block diagram showing an example of a configuration of a coding device, which is an aspect of an image processing device to which the present technology is applied. The coding device 100 shown in FIG. 16 is a device (a coding device to which a video-based approach is applied) that projects 3D data such as a point cloud onto a two-dimensional plane and encodes it by a coding method for a two-dimensional image. ).
[0071]
It should be noted that FIG. 16 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. 16, or there may be a processing or data flow that is not shown as an arrow or the like in FIG. This also applies to other figures for explaining the processing unit and the like in the coding apparatus 100.
[0072]
As shown in FIG. 16, the coding apparatus 100 includes a patch decomposition unit 111, a packing unit 112, an OMap generation unit 113, an auxiliary patch information compression unit 114, a video coding unit 115, a video coding unit 116, and an OMap coding unit. It has 117, and a multiplexer 118.
[0073]
The patch decomposition unit 111 performs processing related to decomposition of 3D data. For example, the patch decomposition unit 111 acquires 3D data (for example, Point Cloud) representing a three-dimensional structure input to the coding apparatus 100. Further, the patch decomposition unit 111 decomposes the acquired 3D data into a plurality of segmentations, projects the 3D data on a two-dimensional plane for each segmentation, and generates a patch of position information and a patch of attribute information.
[0074]
The patch disassembling unit 111 supplies information about each generated patch to the packing unit 112. Further, the patch disassembling unit 111 supplies auxiliary patch information, which is information related to the disassembling, to the auxiliary patch information compression unit 114.
[0075]
The packing unit 112 performs processing related to data packing. For example, the packing unit 112 acquires data (patch) on a two-dimensional plane on which 3D data is projected for each region supplied from the patch decomposition unit 111. Further, the packing unit 112 arranges each acquired patch on a two-dimensional image and packs it as a video frame. For example, the packing unit 112 packs a patch of position information (Geometry) indicating the position of a point and a patch of attribute information (Texture) such as color information added to the position information as a video frame.
[0076]
The packing unit 112 supplies the generated video frame to the OMap generation unit 113. Further, the packing unit 112 supplies control information regarding the packing to the multiplexer 118.
[0077]
The OMap generation unit 113 performs processing related to the generation of the occupancy map. For example, the OMap generation unit 113 acquires the data supplied from the packing unit 112. In addition, the OMap generation unit 113 generates an occupancy map corresponding to the position information and the attribute information. The OMap generation unit 113 supplies the generated occupancy map and various information acquired from the packing unit 112 to the subsequent processing unit. For example, the OMap generation unit 113 supplies a video frame of position information (Geometry) to the video coding unit 115. Further, for example, the OMap generation unit 113 supplies a video frame of attribute information (Texture) to the video coding unit 116. Further, for example, the OMap generation unit 113 supplies the occupancy map to the OMap coding unit 117.
[0078]
The auxiliary patch information compression unit 114 performs processing related to compression of auxiliary patch information. For example, the auxiliary patch information compression unit 114 acquires the data supplied from the patch decomposition unit 111. The auxiliary patch information compression unit 114 encodes (compresses) the auxiliary patch information included in the acquired data. The auxiliary patch information compression unit 114 supplies the obtained coded data of the auxiliary patch information to the multiplexer 118.
[0079]
The video coding unit 115 performs processing related to coding of a video frame of position information (Geometry). For example, the video coding unit 115 acquires a video frame of position information (Geometry) supplied from the OMap generation unit 113. Further, the video coding unit 115 encodes the acquired video frame of the position information (Geometry) by a coding method for an arbitrary two-dimensional image such as AVC or HEVC. The video coding unit 115 supplies the coded data (coded data of the video frame of the position information (Geometry)) obtained by the coding to the multiplexer 118.
[0080]
The video coding unit 116 performs processing related to coding of a video frame of attribute information (Texture). For example, the video coding unit 116 acquires a video frame of attribute information (Texture) supplied from the OMap generation unit 113. Further, the video coding unit 116 encodes the video frame of the acquired attribute information (Texture) by a coding method for an arbitrary two-dimensional image such as AVC or HEVC. The video coding unit 116 supplies the coded data (coded data of the video frame of the attribute information (Texture)) obtained by the coding to the multiplexer 118.
[0081]
The OMap coding unit 117 performs processing related to coding the occupancy map. For example, the OMap coding unit 117 acquires the occupancy map supplied from the OMap generation unit 113. Further, the OMap coding unit 117 encodes the acquired occupancy map by an arbitrary coding method such as arithmetic coding. The OMap coding unit 117 supplies the coded data (coded data of the occupancy map) obtained by the coding to the multiplexer 118.
[0082]
The multiplexer 118 performs processing related to multiplexing. For example, the multiplexer 118 acquires the encoded data of the auxiliary patch information supplied from the auxiliary patch information compression unit 114. Further, the multiplexer 118 acquires control information regarding packing supplied from the packing unit 112. Further, the multiplexer 118 acquires the coded data of the video frame of the position information (Geometry) supplied from the video coding unit 115. Further, the multiplexer 118 acquires the coded data of the video frame of the attribute information (Texture) supplied from the video coding unit 116. Further, the multiplexer 118 acquires the coded data of the occupancy map supplied from the OMap coding unit 117.
[0083]
The multiplexer 118 multiplexes the acquired information to generate a bitstream. The multiplexer 118 outputs the generated bit stream to the outside of the coding apparatus 100.
[0084]
In such a coding device 100, the patch decomposition unit 111 acquires the occupancy map generated by the OMap generation unit 113 from the OMap generation unit 113. Further, the patch decomposition unit 111 acquires the coded data of the video frame (also referred to as a geometry image) of the position information (Geometry) generated by the video coding unit 115 from the video coding unit 115.
[0085]
Then, the patch decomposition unit 111 uses the data to perform a three-dimensional smoothing filter process on the point cloud. That is, the patch decomposition unit 111 projects the 3D data subjected to the three-dimensional smoothing filter processing onto the two-dimensional plane, and generates a patch for position information and a patch for attribute information.
[0086]
FIG. 17 is a block diagram showing a main configuration example of the patch disassembly unit 111 of FIG. As shown in FIG. 17, the patch decomposition unit 111 includes a patch decomposition processing unit 131, a geometry decoding unit 132, a three-dimensional position information smoothing processing unit 133, and a texture correction unit 134.
[0087]
The patch decomposition processing unit 131 acquires a point cloud (Point Cloud), decomposes it into a plurality of segmentations, projects the point cloud onto a two-dimensional plane for each segmentation, and patch (geometry patch) and attributes of position information. Generate an information patch (texture patch). The patch disassembly processing unit 131 supplies the generated geometry patch to the packing unit 112. Further, the patch disassembly processing unit 131 supplies the generated texture patch to the texture correction unit 134.
[0088]
The geometry decoding unit 132 acquires the coded data (geometry coded data) of the geometry image. The coded data of this geometry image is a geometry patch generated by the patch decomposition processing unit 131 packed in a video frame in the packing unit 112 and encoded in the video coding unit 115. The geometry decoding unit 132 decodes the geometry-encoded data by a decoding method corresponding to the coding method of the video coding unit 115. Further, the geometry decoding unit 132 reconstructs the point cloud (position information) from the geometry image obtained by decoding the geometry coding data. The geometry decoding unit 132 supplies the obtained position information (geometry point cloud) of the point cloud to the three-dimensional position information smoothing processing unit 133.
[0089]
The three-dimensional position information smoothing processing unit 133 acquires the position information of the point cloud supplied from the geometry decoding unit 132. Further, the three-dimensional position information smoothing processing unit 133 acquires the occupancy map. This occupancy map is generated by the OMap generation unit 113.
[0090]
The three-dimensional position information smoothing processing unit 133 performs three-dimensional smoothing filter processing on the position information (geometry point cloud) of the point cloud. At that time, as described above, the three-dimensional position information smoothing processing unit 133 performs the three-dimensional smoothing filter processing using the representative values for each local region that divides the three-dimensional space. Further, the three-dimensional position information smoothing processing unit 133 uses the acquired occupancy map to perform three-dimensional smoothing filter processing only on the points of the partial region corresponding to the end of the patch in the occupancy map. conduct. By doing so, the three-dimensional position information smoothing processing unit 133 can perform the filter processing at a higher speed.
[0091]
The three-dimensional position information smoothing processing unit 133 supplies the filtered geometry point cloud (also referred to as a smoothed geometry point cloud) to the patch decomposition processing unit 131. The patch decomposition processing unit 131 decomposes the smoothed geometry point cloud into a plurality of segmentations, projects the point cloud onto a two-dimensional plane for each segmentation, and generates a position information patch (a smoothed geometry patch). , Supply it to the packing unit 112.
[0092]
Further, the three-dimensional position information smoothing processing unit 133 also supplies the smoothed geometry point cloud to the texture correction unit 134.
[0093]
The texture correction unit 134 acquires the texture patch supplied from the patch decomposition processing unit 131. Further, the texture correction unit 134 acquires the smoothed geometry point cloud supplied from the three-dimensional position information smoothing processing unit 133. The texture correction unit 134 corrects the texture patch using the smoothed geometry point cloud. When the position information of the point cloud changes due to the three-dimensional smoothing, the shape of the patch projected on the two-dimensional plane can also change. That is, the texture correction unit 134 reflects the change in the position information of the point cloud due to the three-dimensional smoothing in the attribute information patch (texture patch).
[0094]
The texture correction unit 134 supplies the corrected texture patch to the packing unit 112.
[0095]
The packing unit 112 packs the smoothed geometry patch and the corrected texture patch supplied from the patch decomposition unit 111 into video frames, respectively, and generates a video frame of position information and a video frame of attribute information.
[0096]
FIG. 18 is a block diagram showing a main configuration example of the three-dimensional position information smoothing processing unit 133 of FIG. As shown in FIG. 18, the three-dimensional position information smoothing processing unit 133 includes an area division unit 141, an in-region representative value derivation unit 142, a processing target area setting unit 143, a smoothing processing unit 144, and a transmission information generation unit. It has 145.
[0097]
The area division unit 141 acquires the position information (geometry point cloud) of the point cloud supplied from the geometry decoding unit 132. The area division unit 141 divides the area of the three-dimensional space including the geometry point cloud, and sets a local area (grid). At that time, the area division portion 141 is set to <# 1. In Speeding Up Using Representative Values for Each Local Region>, the three-dimensional space is divided by the method described above, and the local region is set.
[0098]
The region division unit 141 supplies the set local region information (for example, information on the shape and size of the local region) and the geometry point cloud to the region representative value derivation unit 142. Further, when the area division unit 141 transmits information about the local area to the decoding side, the area division unit 141 supplies the information about the local area to the transmission information generation unit 145.
[0099]
The region representative value derivation unit 142 acquires information on the local region and the geometry point cloud supplied from the region division unit 141. The region representative value derivation unit 142 derives the representative value of the geometry point cloud in each local region set by the region division unit 141 based on the information. At that time, the representative value derivation unit 142 in the region is described in <# 1. The representative value is derived by the method described above in Speeding up> using the representative value for each local region.
[0100]
The region representative value derivation unit 142 supplies information about the local region, the geometry point cloud, and the representative value for each derived local region to the smoothing processing unit 144. Further, when the derived representative value for each local region is transmitted to the decoding side, information indicating the representative value for each local region is supplied to the transmission information generation unit 145.
[0101]
The processing target area setting unit 143 acquires the occupancy map. The processing target area setting unit 143 sets the area to be filtered based on the occupancy map. At that time, the processing target area setting unit 143 sets the area by the method as described above in <# 2.3 Simplification of three-dimensional filter processing>. That is, the processing target area setting unit 143 sets the partial area corresponding to the end of the patch in the occupancy map as the processing target area for the filter processing.
[0102]
The processing target area setting unit 143 supplies information indicating the set processing target area to the smoothing processing unit 144. Further, when the processing target area setting unit 143 transmits the information indicating the processing target area to the decoding side, the processing target area setting unit 143 supplies the information indicating the processing target area to the transmission information generation unit 145.
[0103]
The smoothing processing unit 144 acquires the information about the local region supplied from the intra-region representative value derivation unit 142, the geometry point cloud, and the representative value for each local region. Further, the smoothing processing unit 144 acquires information indicating the processing target area supplied from the processing target area setting unit 143.
[0104]
The smoothing processing unit 144 performs a three-dimensional smoothing filter processing based on the information. That is, as described above in , the smoothing processing unit 144 uses the representative value for each local area as a reference value for the points in the processing target area of the geometry point cloud. 3D smoothing filter processing is performed. Therefore, the smoothing processing unit 144 can perform the three-dimensional smoothing filter processing at a higher speed.
[0105]
The smoothing processing unit 144 supplies the geometry point cloud (the smoothed geometry point cloud) that has been subjected to the three-dimensional smoothing filter processing to the patch decomposition processing unit 131 and the texture correction unit 134.
[0106]
The transmission information generation unit 145 provides information on the local area supplied from the area division unit 141, information indicating the representative value for each local area supplied from the region representative value derivation unit 142, and the processing target area setting unit 143. Acquires information indicating the supplied processing target area. The transmission information generation unit 145 generates transmission information including such information. The transmission information generation unit 145 supplies the generated transmission information to, for example, the auxiliary patch information compression unit 114, and transmits the generated transmission information to the decoding side as auxiliary patch information.
[0107]
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.
[0108]
When the coding process is started, the patch decomposition unit 111 of the coding device 100 projects the point cloud onto a two-dimensional plane and decomposes it into patches in step S101.
[0109]
In step S102, the auxiliary patch information compression unit 114 compresses the auxiliary patch information generated in step S101.
[0110]
In step S103, the packing unit 112 packs each patch of the position information and the attribute information generated in step S101 as a video frame. In addition, the OMap generation unit 113 generates an occupancy map corresponding to the video frame of the position information and the attribute information.
[0111]
In step S104, the video coding unit 115 encodes the geometry video frame, which is the video frame of the position information generated in step S103, by the coding method for the two-dimensional image.
[0112]
In step S105, the video coding unit 116 encodes a color video frame, which is a video frame of the attribute information generated in step S103, by a coding method for a two-dimensional image.
[0113]
In step S106, the OMap coding unit 117 encodes the occupancy map generated in step S103 by a predetermined coding method.
[0114]
In step S107, the multiplexer 118 multiplexes the various information generated as described above to generate a bit stream including the information.
[0115]
In step S108, the multiplexer 118 outputs the bitstream generated in step S107 to the outside of the coding apparatus 100.
[0116]
When the process of step S108 is completed, the coding process is completed.
[0117]
Next, an example of the flow of patch disassembly process executed in step S101 of FIG. 19 will be described with reference to the flowchart of FIG.
[0118]
When the patch decomposition process is started, the patch decomposition processing unit 131 decomposes the point cloud into patches and generates a geometry patch and a texture patch in step S121.
[0119]
In step S122, the geometry decoding unit 132 decodes the geometry-encoded data in which the geometry patch generated in step S121 is packed in a video frame and is encoded, reconstructs the point cloud, and creates the point cloud of the geometry. Generate.
[0120]
In step S123, the three-dimensional position information smoothing processing unit 133 executes the smoothing processing, and performs the three-dimensional smoothing filter processing on the point cloud of the geometry generated in step S122.
[0121]
In step S124, the texture correction unit 134 corrects the texture patch generated in step S121 by using the smoothed geometry point cloud obtained by the process of step S123.
[0122]
In step S125, the patch decomposition processing unit 131 decomposes the smoothed geometry point cloud obtained by the process of step S123 into patches and generates a smoothed geometry patch.
[0123]
When the process of step S125 is completed, the patch disassembly process is completed, and the process returns to FIG.
[0124]
Next, an example of the flow of smoothing process executed in step S123 of FIG. 20 will be described with reference to the flowchart of FIG.
[0125]
When the smoothing process is started, the area division unit 141 divides the three-dimensional space including the point cloud into local areas in step S141. The area division portion 141 is described in <# 1. In Speeding Up Using Representative Values for Each Local Region>, the three-dimensional space is divided by the method described above, and the local region is set.
[0126]
In step S142, the region representative value derivation unit 142 derives the representative value of the point cloud for each local region set in step S141. The region representative value derivation unit 142 is described in <# 1. The representative value is derived by the method described above in Speeding up> using the representative value for each local region.
[0127]
In step S143, the processing target area setting unit 143 sets the range for smoothing processing. The processing target area setting unit 143 sets the area by the method as described above in <# 2.3 Simplification of three-dimensional filter processing>. That is, the processing target area setting unit 143 sets the partial area corresponding to the end of the patch in the occupancy map as the processing target area for the filter processing.
[0128]
In step S144, the smoothing processing unit 144 performs smoothing processing on the processing target range set in step S143 with reference to the representative value of each region. As described above in , the smoothing processing unit 144 uses the representative value for each local area as a reference value for the points in the processing target area of the geometry point cloud. Performs dimensional smoothing filtering. Therefore, the smoothing processing unit 144 can perform the three-dimensional smoothing filter processing at a higher speed.
[0129]
In step S145, the transmission information generation unit 145 generates transmission information related to smoothing, supplies it to, for example, the auxiliary patch information compression unit 114, and transmits it as auxiliary patch information.
[0130]
When the process of step S145 is completed, the smoothing process is completed, and the process returns to FIG.
[0131]
Next, an example of the flow of the smoothing range setting process executed in step S143 of FIG. 21 will be described with reference to the flowchart of FIG.
[0132]
When the smoothing range setting process is started, the processing target area setting unit 143 determines in step S161 whether or not the current location (x, y) (processing target block) of the occupancy map is the end of the occupancy map. judge. For example, if the width of the occupancy map is width and the height is height, the following determination is made.
x! = 0 & y! = 0 & x! = Width-1 & y! = Height-1
[0133]
If this determination is true, i.e. it is determined that the current location is not at the edge of the occupancy map, the process proceeds to step S162.
[0134]
In step S162, the processing target area setting unit 143 determines whether or not all the values of the occupancy map of the peripheral portion of the current location are 1. The value of the occupancy map in the peripheral part of the current location is all 1, that is, in the vicinity of the boundary between the part where the position information and the attribute information exist in all the peripheral parts and the part where the position information and the attribute information exist and the part where the position information does not exist. If it is determined that there is no such processing, the process proceeds to step S163.
[0135]
In step S163, the processing target area setting unit 143 determines whether or not all the patches to which the peripheral portion of the current location belongs are the same as the patches to which the current location belongs. When the patches are adjacent to each other, the part where the value of the occupancy map is 1 is continuous. Therefore, even if it is determined in step S162 that data exists in all peripheral parts of the current location, there is a possibility that a plurality of patches are adjacent portions, and the current location may be the edge of the patch. .. Since the images are basically not continuous between different patches, a notch as shown in A in FIG. 1 can be formed even in a portion where a plurality of patches are adjacent to each other due to the large precision size of the occupancy map. There is sex. Therefore, as described above, it is determined whether or not all the patches to which the peripheral portion of the current location belongs are the same as the patches to which the current location belongs.
[0136]
If it is determined that all the peripheral parts and the current location belong to the same patch, that is, the current location is not the adjacent portion of the plurality of patches and is not the end portion of the patch, the process proceeds to step S164.
[0137]
In step S164, the processing target area setting unit 143 determines a three-dimensional point (point of the point cloud corresponding to the processing target block) restored from the current location (x, y) as a point that is not smoothed and filtered. In other words, the current location is excluded from the smoothing processing handling range. When the process of step S164 is completed, the process proceeds to step S166.
[0138]
Further, in step S161, if it is determined that the above determination is false, that is, the current location is the edge of the occupancy map, the process proceeds to step S165.
[0139]
Further, in step S162, when it is determined that there is a peripheral portion in which the value of the occupancy map is not 1, that is, there is a peripheral portion in which the position information and the attribute information do not exist, and the current location is the edge of the patch, the process is performed. Proceeds to step S165.
[0140]
If it is determined in step S163 that there is a peripheral portion belonging to a patch different from the patch to which the current location belongs, that is, the current location is a portion where a plurality of patches are adjacent to each other, the process proceeds to step S165.
[0141]
In step S165, the processing target area setting unit 143 determines a three-dimensional point (point of the point cloud corresponding to the processing target block) restored from the current location (x, y) as a point to be smoothed and filtered. That is, the current location is set as the smoothing processing handling range. When the process of step S165 is completed, the process proceeds to step S166.
[0142]
In step S166, the processing target area setting unit 143 determines whether or not processing has been performed for all the positions (blocks) of the occupancy map. When it is determined that the unprocessed position (block) exists, the process returns to step S161, the process target block is changed to the unprocessed block, and the subsequent processes are repeated. That is, the processes of steps S161 to S166 are repeated for each block.
[0143]
Then, in step S166, when it is determined that all the positions (blocks) of the occupancy map have been processed, the smoothing range setting process is completed, and the process returns to FIG.
[0144]
By executing each process as described above, it is possible to suppress an increase in the processing time of the filter process for the point cloud data (the filter process can be performed at a higher speed).
[0145]
<3. Second Embodiment>
Next, a configuration for realizing each of the above methods will be described. FIG. 23 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. 23 decodes the encoded data obtained by projecting 3D data such as a point cloud onto a two-dimensional plane by a decoding method for a two-dimensional image and projects it into a three-dimensional space. (Decoding device to which a video-based approach is applied). For example, the decoding device 200 decodes the bit stream generated by encoding the point cloud by the coding device 100 (FIG. 16), and reconstructs the point cloud.
[0146]
Note that FIG. 23 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. 23. That is, in the decoding device 200, there may be a processing unit that is not shown as a block in FIG. 23, or there may be a processing or data flow that is not shown as an arrow or the like in FIG. 23. This also applies to other figures illustrating the processing unit and the like in the decoding device 200.
[0147]
As shown in FIG. 23, the decoding device 200 includes a demultiplexer 211, an auxiliary patch information decoding unit 212, a video decoding unit 213, a video decoding unit 214, an OMap decoding unit 215, an unpacking unit 216, and a 3D reconstruction unit 217. Have.
[0148]
The demultiplexer 211 performs processing related to data demultiplexing. For example, the demultiplexer 211 acquires a bitstream input to the decoding device 200. This bit stream is supplied from, for example, the encoding device 100. The demultiplexer 211 demultiplexes this bit stream, extracts the coded data of the auxiliary patch information, and supplies it to the auxiliary patch information decoding unit 212. Further, the demultiplexer 211 extracts the coded data of the video frame of the position information (Geometry) from the bit stream by demultiplexing and supplies it to the video decoding unit 213. Further, the demultiplexer 211 extracts the coded data of the video frame of the attribute information (Texture) from the bit stream by demultiplexing and supplies it to the video decoding unit 214. Further, the demultiplexer 211 extracts the encoded data of the occupancy map from the bit stream by demultiplexing and supplies it to the OMap decoding unit 215. Further, the demultiplexer 211 extracts control information regarding packing from the bit stream by demultiplexing and supplies it to the unpacking unit 216.
[0149]
The auxiliary patch information decoding unit 212 performs processing related to decoding the coded data of the auxiliary patch information. For example, the auxiliary patch information decoding unit 212 acquires the encoded data of the auxiliary patch information supplied from the demultiplexer 211. Further, the auxiliary patch information decoding unit 212 decodes (extends) the encoded data of the auxiliary patch information included in the acquired data. The auxiliary patch information decoding unit 212 supplies the auxiliary patch information obtained by decoding to the 3D reconstruction unit 217.
[0150]
The video decoding unit 213 performs processing related to decoding the coded data of the video frame of the position information (Geometry). For example, the video decoding unit 213 acquires the coded data of the video frame of the position information (Geometry) supplied from the demultiplexer 211. Further, the video decoding unit 213 decodes the encoded data by a decoding method for an arbitrary two-dimensional image such as AVC or HEVC to obtain a video frame of position information (Geometry). The video decoding unit 213 supplies the video frame of the position information (Geometry) to the unpacking unit 216.
[0151]
The video decoding unit 214 performs a process related to decoding the coded data of the video frame of the attribute information (Texture). For example, the video decoding unit 214 acquires the coded data of the video frame of the attribute information (Texture) supplied from the demultiplexer 211. Further, the video decoding unit 214 decodes the encoded data by a decoding method for an arbitrary two-dimensional image such as AVC or HEVC to obtain a video frame of attribute information (Texture). The video decoding unit 214 supplies the video frame of the attribute information (Texture) to the unpacking unit 216.
[0152]
The OMap decoding unit 215 performs processing related to decoding the coded data of the occupancy map. For example, the OMap decoding unit 215 acquires the encoded data of the occupancy map supplied from the demultiplexer 211. Further, the OMap decoding unit 215 decodes the coded data by an arbitrary decoding method such as arithmetic decoding corresponding to arithmetic coding to obtain an occupancy map. The OMap decoding unit 215 supplies the occupancy map to the unpacking unit 216.
[0153]
The unpacking unit 216 performs a process related to unpacking. For example, the unpacking unit 216 acquires a video frame of position information (Geometry) from the video decoding unit 213, acquires a video frame of attribute information (Texture) from the video decoding unit 214, and an occupancy map from the OMap decoding unit 215. To get. Further, the unpacking unit 216 unpacks the video frame of the position information (Geometry) and the video frame of the attribute information (Texture) based on the control information regarding the packing. The unpacking unit 216 is a 3D reconstruction unit that displays position information (Geometry) data (geometry patch, etc.) and attribute information (Texture) data (texture patch, etc.) obtained by unpacking, and an occupancy map. Supply to 217.
[0154]
The 3D reconstruction unit 217 performs processing related to reconstruction of the point cloud. For example, the 3D reconstruction unit 217 includes auxiliary patch information supplied from the auxiliary patch information decoding unit 212, position information (Geometry) data (geometry patch, etc.) supplied from the unpacking unit 216, and attribute information (Texture). ) Data (texture patches, etc.) and occupancy maps, etc., to reconstruct the point cloud. The 3D reconstruction unit 217 outputs the reconstructed point cloud to the outside of the decoding device 200.
[0155]
This point cloud is, for example, supplied to a display unit and imaged, and the image is displayed, recorded on a recording medium, or supplied to another device via communication.
In such a decoding device 200, the 3D reconstruction unit 217 performs a three-dimensional smoothing filter process on the reconstructed point cloud.
[0157]
<3D Reconstruction Unit>
FIG. 24 is a block diagram showing a main configuration example of the 3D reconstruction unit 217 of FIG. 23. As shown in FIG. 24, the 3D reconstruction unit 217 includes a geometry point cloud (PointCloud) generation unit 231, a three-dimensional position information smoothing processing unit 232, and a texture synthesis unit 233.
[0158]
The geometry point cloud generation unit 231 performs a process related to the generation of the geometry point cloud. For example, the geometry point cloud generation unit 231 acquires the geometry patch supplied from the unpacking unit 216. In addition, the geometry point cloud generation unit 231 reconstructs the geometry point cloud (position information of the point cloud) by using the acquired geometry patch and other information such as auxiliary patch information. The geometry point cloud generation unit 231 supplies the generated geometry point cloud to the three-dimensional position information smoothing processing unit 232.
[0159]
The three-dimensional position information smoothing processing unit 232 performs processing related to the three-dimensional smoothing filter processing. For example, the three-dimensional position information smoothing processing unit 232 acquires the geometry point cloud supplied from the geometry point cloud generation unit 231. Further, the three-dimensional position information smoothing processing unit 232 acquires the occupancy map supplied from the unpacking unit 216.
[0160]
The three-dimensional position information smoothing processing unit 232 performs a three-dimensional smoothing filter processing on the acquired geometry point cloud. At that time, the three-dimensional position information smoothing processing unit 232 performs the three-dimensional smoothing filter processing using the representative values for each local region in which the three-dimensional space is divided, as described above. Further, the three-dimensional position information smoothing processing unit 232 uses the acquired occupancy map to perform three-dimensional smoothing filter processing only on the points of the partial region corresponding to the end of the patch in the occupancy map. conduct. By doing so, the three-dimensional position information smoothing processing unit 232 can perform the filter processing at a higher speed.
[0161]
The three-dimensional position information smoothing processing unit 232 supplies the filtered geometry point cloud (geometry point cloud after smoothing) to the texture synthesis unit 233.
[0162]
The texture synthesizing unit 233 performs processing related to synthesizing geometry and texture. For example, the texture synthesizing unit 233 acquires the smoothed geometry point cloud supplied from the three-dimensional position information smoothing processing unit 232. Further, the texture synthesizing unit 233 acquires the texture patch supplied from the unpacking unit 216. The texture synthesizing unit 233 synthesizes a texture patch (that is, attribute information) with the smoothed geometry point cloud, and reconstructs the point cloud. After smoothing, the position information of the geometry point cloud is changed by three-dimensional smoothing. That is, strictly speaking, there may be a part where the position information and the attribute information do not correspond. Therefore, the texture synthesizing unit 233 synthesizes the attribute information obtained from the texture patch into the smoothed geometry point cloud while reflecting the change in the position information of the three-dimensional smoothed portion.
[0163]
The texture synthesizing unit 233 outputs the reconstructed point cloud to the outside of the decoding device 200.
[0164]
FIG. 25 is a block diagram showing a main configuration example of the three-dimensional position information smoothing processing unit 232 of FIG. 24. As shown in FIG. 25, the three-dimensional position information smoothing processing unit 232 includes a transmission information acquisition unit 251, an area division unit 252, an intra-region representative value derivation unit 253, a processing target area setting unit 254, and a smoothing processing unit. Has 255.
[0165]
When the transmission information transmitted from the coding side exists, the transmission information acquisition unit 251 acquires the transmission information supplied as auxiliary patch information or the like. The transmission information acquisition unit 251 supplies the transmission information to the area division unit 252, the region representative value derivation unit 253, and the processing target area setting unit 254, if necessary. For example, when information about a local area is supplied as transmission information, the transmission information acquisition unit 251 supplies information about the local area to the area division unit 252. When information indicating a representative value for each local region is supplied as transmission information, the transmission information acquisition unit 251 supplies information indicating a representative value for each local region to the region representative value derivation unit 253. Further, when the information indicating the processing target area is supplied as the transmission information, the transmission information acquisition unit 251 supplies the information indicating the processing target area to the processing target area setting unit 254.
[0166]
The area division unit 252 acquires the position information (geometry point cloud) of the point cloud supplied from the geometry point cloud generation unit 231. The area division unit 252 divides the area of the three-dimensional space including the geometry point cloud, and sets a local area (grid). At that time, the area division portion 141 is set to <# 1. In Speeding Up Using Representative Values for Each Local Region>, the three-dimensional space is divided by the method described above, and the local region is set. When the transmission information acquisition unit 251 supplies information on the local area transmitted from the coding side, the area division unit 252 sets the local area indicated by the information (for example, the shape and size of the local area). Etc.) is adopted.
[0167]
The region division unit 252 supplies information on the set local region (for example, information on the shape and size of the local region) and the geometry point cloud to the region representative value derivation unit 253.
[0168]
The region representative value derivation unit 253 acquires information on the local region and the geometry point cloud supplied from the region division unit 252. The region representative value derivation unit 253 derives the representative value of the geometry point cloud in each local region set by the region division unit 252 based on the information. At that time, the region representative value derivation unit 253 is set to <# 1. The representative value is derived by the method described above in Speeding up> using the representative value for each local region. When the transmission information acquisition unit 251 supplies information indicating a representative value for each local region transmitted from the coding side, the intra-region representative value derivation unit 253 is a representative for each local region indicated by the information. Adopt the value.
[0169]
The region representative value derivation unit 142 supplies information about the local region, the geometry point cloud, and the representative value for each derived local region to the smoothing processing unit 255.
[0170]
The processing target area setting unit 254 acquires the occupancy map. The processing target area setting unit 254 sets the area to be filtered based on the occupancy map. At that time, the processing target area setting unit 254 sets the area by the method as described above in <# 2.3 Simplification of three-dimensional filter processing>. That is, the processing target area setting unit 254 sets the partial area corresponding to the end of the patch in the occupancy map as the processing target area for the filter processing. When the transmission information acquisition unit 251 supplies information indicating the processing target area transmitted from the coding side, the processing target area setting unit 254 adopts the processing target area indicated by the information.
[0171]
The processing target area setting unit 254 supplies information indicating the set processing target area to the smoothing processing unit 255.
[0172]
The smoothing processing unit 255 acquires information on the local region supplied from the intra-region representative value derivation unit 253, the geometry point cloud, and the representative value for each local region. Further, the smoothing processing unit 255 acquires information indicating the processing target area supplied from the processing target area setting unit 254.
[0173]
The smoothing processing unit 255 performs a three-dimensional smoothing filter processing based on the information. That is, as described above in , the smoothing processing unit 255 uses the representative value for each local area as a reference value for the points in the processing target area of the geometry point cloud. 3D smoothing filter processing is performed. Therefore, the smoothing processing unit 255 can perform the three-dimensional smoothing filter processing at a higher speed.
[0174]
The smoothing processing unit 255 supplies the geometry point cloud (the smoothed geometry point cloud) that has been subjected to the three-dimensional smoothing filter processing to the texture synthesis unit 233.
[0175]
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.
[0176]
When the decoding process is started, the demultiplexer 211 of the decoding device 200 demultiplexes the bitstream in step S201.
[0177]
In step S202, the auxiliary patch information decoding unit 212 decodes the auxiliary patch information extracted from the bit stream in step S201.
[0178]
In step S203, the video decoding unit 213 decodes the encoded data of the geometry video frame (position information video frame) extracted from the bit stream in step S201.
[0179]
In step S204, the video decoding unit 214 decodes the encoded data of the color video frame (video frame of the attribute information) extracted from the bit stream in step S201.
[0180]
In step S205, the OMap decoding unit 215 decodes the encoded data of the occupancy map extracted from the bit stream in step S201.
[0181]
In step S206, the unpacking unit 216 unpacks the geometry video frame obtained by decoding the coded data in step S203 to generate a geometry patch. Further, the unpacking unit 216 unpacks the color video frame obtained by decoding the coded data in step S204 to generate a texture patch. Further, the unpacking unit 216 unpacks the occupancy map obtained by decoding the coded data in step S205, and extracts the occupancy map corresponding to the geometry patch and the texture patch.
[0182]
In step S207, the 3D reconstruction unit 217 reconstructs the point cloud based on the auxiliary patch information obtained in step S202, the geometry patch, the texture patch, the occupancy map, etc. obtained in step S206. ..
[0183]
When the process of step S207 is completed, the decoding process is completed.
[0184]
Next, an example of the flow of the point cloud reconstruction process executed in step S207 of FIG. 26 will be described with reference to the flowchart of FIG. 27.
[0185]
When the point cloud reconstruction process is started, the geometry point cloud generation unit 231 of the 3D reconstruction unit 217 reconstructs the geometry point cloud in step S221.
[0186]
In step S222, the three-dimensional position information smoothing processing unit 232 executes the smoothing process, and performs the three-dimensional smoothing filter process on the geometry point cloud generated in step S221.
[0187]
In step S223, the texture synthesizing unit 233 synthesizes the texture patch into the geometry point cloud after smoothing.
[0188]
When the process of step S223 is completed, the point cloud reconstruction process is completed, and the process returns to FIG. 26.
[0189]
Next, an example of the flow of the smoothing process executed in step S222 of FIG. 27 will be described with reference to the flowchart of FIG. 28.
[0190]
When the smoothing process is started, the transmission information acquisition unit 251 acquires the transmission information related to the smoothing in step S241. If the transmission information does not exist, this process is omitted.
[0191]
In step S242, the area division unit 252 divides the three-dimensional space including the point cloud into local areas. The area division portion 252 is described in <# 1. In Speeding Up Using Representative Values for Each Local Region>, the three-dimensional space is divided by the method described above, and the local region is set. When information about the local region is acquired as transmission information in step S241, the region dividing unit 252 adopts the setting of the local region (shape, size, etc. of the local region) indicated by the information.
[0192]
In step S243, the region representative value derivation unit 253 derives the representative value of the point cloud for each local region set in step S242. The region representative value derivation unit 253 is described in <# 1. The representative value is derived by the method described above in Speeding up> using the representative value for each local region. When information indicating a representative value for each local region is acquired as transmission information in step S241, the intra-region representative value derivation unit 253 adopts the representative value for each local region indicated by the information.
[0193]
In step S244, the processing target area setting unit 254 sets the range for smoothing processing. The processing target area setting unit 254 sets the area by the method as described above in <# 2.3 Simplification of three-dimensional filter processing>. That is, the processing target area setting unit 254 executes the smoothing range setting process described with reference to the flowchart of FIG. 22 to set the processing target range of the filter processing. When the information indicating the processing target area is acquired as the transmission information in step S241, the processing target area setting unit 254 adopts the setting of the processing target area indicated by the information.
[0194]
In step S245, the smoothing processing unit 255 performs smoothing processing on the processing target range set in step S244 with reference to the representative value of each region. As described above in , the smoothing processing unit 255 uses the representative value for each local area as a reference value for the points in the processing target area of the geometry point cloud. Performs dimensional smoothing filtering. Therefore, the smoothing processing unit 255 can perform the three-dimensional smoothing filter processing at a higher speed.
[0195]
When the process of step S245 is completed, the smoothing process is completed, and the process returns to FIG. 27.
[0196]
By executing each process as described above, it is possible to suppress an increase in the processing time of the filter process for the point cloud data (the filter process can be performed at a higher speed).
[0197]
<4. Modifications> In
the first embodiment and the second embodiment, it has been described that the three-dimensional smoothing filter processing is performed on the position information of the point cloud, but the three-dimensional smoothing filter processing is performed. , It can also be done for the attribute information of the point cloud. In this case, since the attribute information is smoothed, for example, the color of the point changes.
[0198]
For example, in the case of the coding apparatus 100, the patch decomposition unit 111 (FIG. 17) smoothes the texture patch supplied to the texture correction unit 134 (for example, three-dimensional attribute information smoothing). A processing unit) may be provided.
[0199]
Further, for example, in the case of the decoding device 200, in the 3D reconstruction unit 217 (FIG. 24), a smoothing processing unit (for example, three-dimensional attribute information) that smoothes the texture patch supplied to the texture synthesizing unit 233. A smoothing processing unit) may be provided.
[0200]
<5. Note>
The control information
related to the present technology described in each of the above embodiments may be transmitted from the coding side to the decoding side. For example, control information (for example, enabled_flag) that controls whether or not the application of the present technology described above is permitted (or prohibited) may be transmitted. Further, for example, a control for designating a range (for example, an upper limit or a lower limit of a block size, or both, a slice, a picture, a sequence, a component, a view, a layer, etc.) for permitting (or prohibiting) the application of the present technology described above. Information may be transmitted.
[0201]
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.
[0202]
FIG. 29 is a block diagram showing a configuration example of hardware of a computer that executes the above-mentioned series of processes programmatically.
[0203]
In the computer 900 shown in FIG. 29, 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.
[0204]
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.
[0205]
The input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like. The output unit 912 includes, for example, a display, a speaker, an output terminal, and the like. The storage unit 913 is composed of, for example, a hard disk, a RAM disk, a non-volatile memory, or the like. The communication unit 914 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.
[0206]
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.
[0207]
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.
[0208]
The program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasts. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913.
[0209]
In addition, this program can be pre-installed in the ROM 902 or the storage unit 913.
[0210]
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.
[0211]
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, wired 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.
[0212]
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.
[0213]
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.
[0214]
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. ..
[0215]
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.
[0216]
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.
[0217]
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.
[0218]
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.
[0219]
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.
[0220]
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). ..
[0221]
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.
[0222]
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.
[0223]
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.
[0224]
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.
Code description
[0225]
100 Encoding device, 111 patch decomposition unit, 112 packing unit, 113 OMap generation unit, 114 auxiliary patch information compression unit, 115 video coding unit, 116 video coding unit, 117 OMap encoding unit, 118 multiplexer, 131 patch decomposition unit Processing unit, 132 Geometry decoding unit, 133 3D position information smoothing processing unit, 134 texture correction unit, 141 area division unit, 142 region representative value derivation unit, 143 processing target area setting unit, 144 smoothing processing unit, 145 Transmission information generator, 200 decoder, 211 demultiplexer, 212 auxiliary patch information decoder, 213 video decoder, 214 video decoder, 215 OMap decoder, 216 unpacking, 217 3D reconstruction, 231 geometry point cloud Generation unit, 232 3D position information smoothing processing unit, 233 texture synthesis unit, 251 transmission information acquisition unit, 252 area division unit, 253 area representative value derivation unit, 254 processing target area setting unit, 255 smoothing processing unit
The scope of the claims
[Claim 1]
Relative point cloud data, using the point representative value of cloud data for each three-dimensional space local regions obtained by dividing a, a filter processing unit that performs filter processing,
the said filtering is performed by the filter processing unit An
image processing device including a coding unit that encodes a two-dimensional plane image on which point cloud data is projected and generates a bit stream .
[Claim 2]
The image processing apparatus according to claim 1, wherein the local region is a region of a cube having a predetermined size .
[Claim 3]
The image processing apparatus according to claim 1, wherein the local region is a rectangular parallelepiped region having a predetermined size .
[Claim 4]
The image processing apparatus according to claim 1, wherein each of the local regions is a region in which the three-dimensional space is divided so as to include a predetermined number of points of the point cloud data .
[Claim 5]
The image processing apparatus according to claim 1, wherein the coding unit generates the bit stream including information about the local region .
[Claim 6]
The image processing apparatus according to claim 5 , wherein the information regarding the local region includes information regarding the size and shape of the local region, or both .
[Claim 7]
The image processing apparatus according to claim 1, wherein the representative value is an average of the point cloud data included in the local region .
[Claim 8]
The image processing apparatus according to claim 1, wherein the representative value is the median value of the point cloud data included in the local region .
[Claim 9]
The image processing according to claim 1, wherein the filter processing is a smoothing process for smoothing the data of the processing target point of the point cloud data using the representative value of the local region around the processing target point. Device.
[Claim 10]
The image processing device according to claim 1, wherein the filter processing unit performs the filter processing on the point position information of the point cloud data .
[Claim 11]
The image processing device according to claim 1, wherein the filter processing unit performs the filter processing on the point attribute information of the point cloud data .
[Claim 12]
The point cloud data is filtered using the representative value of the point cloud data for each local area divided into a three-dimensional space, and the filtered
point cloud data is projected into the two dimensions. An
image processing method that encodes a two-dimensional image and generates a bit stream .
[Claim 13]
For the decoding unit that decodes the bit stream and generates the encoded data of the two-dimensional plane image on which the point cloud data is projected, and the point cloud data
restored from the two-dimensional plane image generated by the decoding unit. An
image processing device including a filter processing unit that performs filter processing using the representative values of the point cloud data for each local region divided into a three-dimensional space .
[Claim 14]
The bit stream is decoded, the coded data of the two-dimensional plane image on which the point cloud data is projected is generated
, and the three-dimensional space is divided with respect to the point cloud data restored from the generated two-dimensional plane image. An
image processing method in which filtering processing is performed using the representative values of the point cloud data for each local area .
[Claim 15]
A two-dimensional plane image on which the point cloud data filtered by the filter processing unit is projected and a filter processing unit that filters a part of the points of the point cloud data are encoded and bit streamed. An
image processing device including a coding unit for generating a data.
[Claim 16]
The image processing apparatus according to claim 15, wherein the filter processing unit performs the filter processing on the points corresponding to the end portions of the patches included in the two-dimensional plane image of the point cloud data .
[Claim 17]
The image processing apparatus according to claim 15, wherein the filter processing is a smoothing process for smoothing the data of the processing target points of the point cloud data using the data of points around the processing target points .
[Claim 18]
An
image processing method in which a part of points of point cloud data is filtered , a two-dimensional plane image on which the filtered point cloud data is projected is encoded, and a bit stream is generated .
[Claim 19]
One of the decoding unit that decodes the bit stream and generates the encoded data of the two-dimensional plane image on which the point cloud data is projected, and the point cloud data
restored from the two-dimensional plane image generated by the decoding unit. An
image processing device including a filter processing unit that performs filtering processing on the points of the unit.
[Claim 20]
The bit stream is decoded, the coded data of the two-dimensional plane image on which the point cloud data is projected is generated, and a
filter is applied to some points of the point cloud data restored from the generated two-dimensional plane image. An
image processing method for processing.
| # | Name | Date |
|---|---|---|
| 1 | 202017053533-TRANSLATIOIN OF PRIOIRTY DOCUMENTS ETC. [09-12-2020(online)].pdf | 2020-12-09 |
| 2 | 202017053533-STATEMENT OF UNDERTAKING (FORM 3) [09-12-2020(online)].pdf | 2020-12-09 |
| 3 | 202017053533-PRIORITY DOCUMENTS [09-12-2020(online)].pdf | 2020-12-09 |
| 4 | 202017053533-POWER OF AUTHORITY [09-12-2020(online)].pdf | 2020-12-09 |
| 5 | 202017053533-FORM 1 [09-12-2020(online)].pdf | 2020-12-09 |
| 6 | 202017053533-DRAWINGS [09-12-2020(online)].pdf | 2020-12-09 |
| 7 | 202017053533-DECLARATION OF INVENTORSHIP (FORM 5) [09-12-2020(online)].pdf | 2020-12-09 |
| 8 | 202017053533-COMPLETE SPECIFICATION [09-12-2020(online)].pdf | 2020-12-09 |
| 9 | 202017053533-Verified English translation [23-12-2020(online)].pdf | 2020-12-23 |
| 10 | 202017053533-FORM-26 [11-02-2021(online)].pdf | 2021-02-11 |
| 11 | 202017053533-Proof of Right [03-03-2021(online)].pdf | 2021-03-03 |
| 12 | 202017053533-Proof of Right [24-03-2021(online)].pdf | 2021-03-24 |
| 13 | 202017053533-FORM 3 [08-04-2021(online)].pdf | 2021-04-08 |
| 14 | 202017053533.pdf | 2021-10-19 |
| 15 | 202017053533-FORM 18 [13-05-2022(online)].pdf | 2022-05-13 |
| 16 | 202017053533-FER.pdf | 2022-09-20 |
| 17 | 202017053533-OTHERS [20-03-2023(online)].pdf | 2023-03-20 |
| 18 | 202017053533-FER_SER_REPLY [20-03-2023(online)].pdf | 2023-03-20 |
| 19 | 202017053533-DRAWING [20-03-2023(online)].pdf | 2023-03-20 |
| 20 | 202017053533-CORRESPONDENCE [20-03-2023(online)].pdf | 2023-03-20 |
| 21 | 202017053533-CLAIMS [20-03-2023(online)].pdf | 2023-03-20 |
| 22 | 202017053533-ABSTRACT [20-03-2023(online)].pdf | 2023-03-20 |
| 23 | 202017053533-US(14)-HearingNotice-(HearingDate-03-06-2024).pdf | 2024-05-08 |
| 24 | 202017053533-Correspondence to notify the Controller [29-05-2024(online)].pdf | 2024-05-29 |
| 25 | 202017053533-FORM-26 [30-05-2024(online)].pdf | 2024-05-30 |
| 26 | 202017053533-Written submissions and relevant documents [07-06-2024(online)].pdf | 2024-06-07 |
| 27 | 202017053533-PatentCertificate28-06-2024.pdf | 2024-06-28 |
| 28 | 202017053533-IntimationOfGrant28-06-2024.pdf | 2024-06-28 |
| 1 | SearchHistory(10)E_19-09-2022.pdf |