WO2021095565A1 - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- WO2021095565A1 WO2021095565A1 PCT/JP2020/040800 JP2020040800W WO2021095565A1 WO 2021095565 A1 WO2021095565 A1 WO 2021095565A1 JP 2020040800 W JP2020040800 W JP 2020040800W WO 2021095565 A1 WO2021095565 A1 WO 2021095565A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- point
- points
- coordinate system
- coordinates
- unit
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
Definitions
- 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 a reduction in the subjective quality of a point cloud.
- the position information and attribute information of the point cloud are projected on a two-dimensional plane for each small area, the image (patch) projected on the two-dimensional plane is arranged in the frame image, and the frame image is placed on the two-dimensional image.
- a method of encoding with a coding method for (hereinafter, also referred to as a video-based approach) has been proposed (see, for example, Non-Patent Documents 2 to 4).
- Non-Patent Document 5 a tool for adding 45 degrees in addition to the six orthogonal directions was adopted in the projection direction of the point (see, for example, Non-Patent Document 5).
- This disclosure was made in view of such a situation, and makes it possible to suppress the reduction of the subjective quality of the point cloud.
- the image processing device on one side of the present technology includes a decoding unit that decodes the coded data of the frame image in which the projected image on the two-dimensional plane of the point cloud that expresses the three-dimensional shaped object as a set of points is arranged.
- An unpacking unit that unpacks the frame image obtained by decoding the coded data by the decoding unit to extract the projected image, and points included in the projected image extracted by the unpacking unit.
- the image processing method of one aspect of the present technology decodes the coded data of the frame image in which the projected image on the two-dimensional plane of the point cloud that expresses the object of the three-dimensional shape as a set of points is arranged, and encodes the coded data.
- the frame image obtained by decoding the data is unpacked to extract the projected image, and each point included in the extracted projected image is arranged in the three-dimensional space, and the predetermined coordinates of the three-dimensional space are arranged.
- the basic coordinate system which is a system, when the coordinates of the point are not integer values, the points are moved in a direction perpendicular to the two-dimensional plane so that the coordinates of the points are integer values, and the point cloud This is an image processing method for reconstructing.
- the coded data of the frame image in which the projected image on the two-dimensional plane of the point cloud representing the three-dimensional shaped object as a set of points is decoded is decoded.
- the frame image obtained by decoding the coded data is unpacked to extract a projected image, and each point included in the extracted projected image is arranged in a three-dimensional space, and a predetermined position in the three-dimensional space is provided.
- the basic coordinate system which is a coordinate system, if the coordinates of a point are not integer values, the points are moved in a direction perpendicular to the two-dimensional plane so that the coordinates of the points are integer values, and the point cloud is re-established. Will be built.
- Non-Patent Document 1 (above)
- Non-Patent Document 2 (above)
- Non-Patent Document 3 (above)
- Non-Patent Document 4 (above)
- Non-Patent Document 5 (above)
- ⁇ Point cloud> Conventionally, there has been 3D data such as a point cloud that represents a three-dimensional structure based on point position information, attribute information, and the like.
- Point cloud data (also referred to as point cloud data) is composed of position information (also referred to as geometry data) and attribute information (also referred to as attribute data) at each point.
- Attribute data can contain arbitrary information. For example, the color information, reflectance information, normal information, etc. of each point may be included in the attribute data.
- the point cloud data has a relatively simple data structure, and by using a sufficiently large number of points, an arbitrary three-dimensional structure can be expressed with sufficient accuracy.
- a voxel is a three-dimensional area for quantizing geometry data (position information).
- the three-dimensional area containing the point cloud (also referred to as the Bounding box) is divided into small three-dimensional areas called voxels, and each voxel indicates whether or not points are included. By doing so, the position of each point is quantized in voxel units. Therefore, by converting the point cloud data into such voxel data (also referred to as voxel data), the increase in the amount of information is suppressed (typically, the amount of information is reduced). Can be done.
- Non-Patent Document 5 describes a method of adding 45 degrees in addition to the six orthogonal directions as the projection direction of this point.
- each patch generated in this way is placed in the frame image.
- a frame image in which a patch of geometry data is arranged is also called a geometry video frame.
- a frame image in which a patch of attribute data is arranged is also referred to as a color video frame.
- each pixel value of a geometry video frame indicates the depth value described above.
- each video frame generated as described above is encoded by a coding method for a two-dimensional image such as AVC (Advanced Video Coding) or HEVC (High Efficiency Video Coding).
- AVC Advanced Video Coding
- HEVC High Efficiency Video Coding
- an occupancy map can also be used.
- the occupancy map is map information indicating the presence or absence of a projected image (patch) for each NxN pixel of the geometry video frame.
- a patch-existing region (NxN pixels) of a geometry video frame is indicated by a value of "1”
- a patch-free region (NxN pixels) is indicated by a value of "0”.
- Such an occupancy map is encoded as data separate from the geometry video frame and the color video frame, and transmitted to the decoding side.
- the decoder can grasp whether or not it is in the area where the patch exists, so that it is possible to suppress the influence of noise and the like generated by coding / decoding, and it is more accurate. 3D data can be restored. For example, even if the depth value changes due to coding / decoding, the decoder ignores the depth value of the area where the patch does not exist by referring to the occupancy map (do not process it as the position information of 3D data). )be able to.
- a point 11 of a voxel 10 as shown in FIG. 1A is projected onto a projection surface 12 which is a predetermined two-dimensional plane.
- a coordinate system in a three-dimensional space having coordinate axes along each side of a voxel (boxel 10 in the case of the example of FIG. 1) is referred to as a basic coordinate system.
- the d-axis and u-axis are coordinate axes perpendicular to each other in the basic coordinate system. Let the coordinates (u, d) of this basic coordinate system at point 11 be (0,0).
- the projection surface 12 passes through the lower left angle (origin of the basic coordinate system) of the voxel 10 in the figure, and has an angle of 45 degrees with respect to the u-axis and the d-axis. That is, the projection direction of the point 11 is the lower left direction (45 degrees) in the figure.
- the position of the point 11 and the position of the point 11'as viewed from the projection surface 12 are the same as before and after in C of FIG. That is, the position in the horizontal direction with respect to the projection plane of the point 11 does not change before and after coding / decoding.
- a point 21 of a voxel 20 as shown in FIG. 3A is projected onto a projection surface 22 which is a predetermined two-dimensional plane.
- the projection surface 22 passes through the upper left corner of the voxel 20 in the figure and has an angle of 45 degrees with respect to the u-axis and the d-axis. That is, the projection direction of the point 21 is the upper left direction (45 degrees) in the figure.
- this basic coordinate system is replaced with a projected coordinate system, for example, B in FIG. 3 is obtained.
- the d'axis is a coordinate system perpendicular to the projection surface 22
- the u'axis is a coordinate system parallel to the projection surface 22. It is assumed that the coordinates (u', d') of the point 21 in this projected coordinate system are (2,0).
- the position of the point 21 moves along the d'axis (perpendicular to the projection surface 22) due to compression distortion.
- the point 21 after this movement is designated as the point 21'.
- the coordinates (u', d') of the point 31' are (2,1).
- the position of the point 21 and the position of the point 21'as viewed from the projection surface 22 are different from each other, as in the before and after of C in FIG. That is, before and after coding / decoding, the point 21 moves in the horizontal direction with respect to the projection plane.
- the point cloud 31 is a point cloud encoded / decoded by a video-based approach and reconstructed
- the arrow 32 is the line of sight when the point cloud 31 is viewed from the projection plane.
- the orientation that is, the orientation perpendicular to the projection plane.
- the point 33 is a predetermined point of the point cloud 31 before coding / decoding, and the point 33'is the point 33 after coding / decoding.
- the lower side of A in FIG. 5 shows the positions of points 33 and 33 as seen from the projection plane.
- the positions viewed from the projection planes of the points 33 and 33 that is, the positions in the horizontal direction with respect to the projection planes of the points 33 and 33 are the same as each other.
- the arrow 34 is the direction of the line of sight when the point cloud 31 is viewed from the projection surface (that is, the direction perpendicular to the projection surface).
- the positions of the points 33 and the points 33 as seen from the projection planes that is, the positions in the horizontal direction with respect to the projection planes of the points 33 and 33 are different from each other.
- a frame obtained by decoding the coded data of a frame image in which a projected image on a two-dimensional plane of a point cloud representing a three-dimensional object as a set of points is arranged and the coded data is decoded.
- the image is unpacked to extract the projected image, each point included in the extracted projected image is arranged in a three-dimensional space, and the coordinates of the points in the basic coordinate system which is a predetermined coordinate system in the three-dimensional space. If is not an integer value, the point is moved in a direction perpendicular to the two-dimensional plane so that the coordinates of the point are integer values, and the point cloud is reconstructed.
- a decoding unit that decodes the coded data of a frame image in which a projection image of a point cloud that expresses a three-dimensional object as a set of points on a two-dimensional plane is arranged, and a decoding unit thereof
- An unpacking unit that unpacks the frame image obtained by decoding the coded data and extracts the projected image, and each point included in the projected image extracted by the unpacking unit are arranged in a three-dimensional space.
- the reconstruction unit is provided with a reconstruction unit that reconstructs the point cloud, and the reconstruction unit adjusts the coordinates of the points when the coordinates of the points are not integer values in the basic coordinate system which is a predetermined coordinate system in the three-dimensional space. Move the point in the direction perpendicular to the two-dimensional plane so that it becomes a numerical value.
- the method of rounding the coordinates of the points may be selected according to the orientation of the projection surface.
- the point may be moved by updating the coordinates of the basic coordinate system of the point. That is, in the basic coordinate system, the point may be moved in a direction perpendicular to the projection plane so that the coordinates of the point are integer values.
- the point may be moved by rounding up or rounding down the decimal value. That is, the movement of the point for converting the coordinates into an integer may be performed by rounding up or rounding down the decimal value of the coordinates of the point.
- ⁇ Projection surface example 1> For example, as shown in A of FIG. 7, it is assumed that the point 111 of a certain voxel 110 is projected onto the projection surface 112 which is a predetermined two-dimensional plane.
- the d-axis and the u-axis are coordinate axes perpendicular to each other in the basic coordinate system having coordinate axes along each side of the voxel 110.
- the projection surface 112 passes through the lower left angle (origin of the basic coordinate system) of the voxel 110 in the figure, and has an angle of 45 degrees with respect to the u-axis and the d-axis. That is, the projection direction of the point 111 is the lower left direction (45 degrees) in the figure.
- the projected coordinate system which is a coordinate system having coordinate axes perpendicular to the projection plane, it is as shown in FIG. 7B.
- the d'axis is a coordinate system perpendicular to the projection plane 112
- the u'axis is a coordinate system parallel to the projection plane 112. It is assumed that the coordinates (u', d') of the point 111 in this projected coordinate system are (2,0).
- the decimal values of the u and d coordinates are truncated so that the point 111'moves in the direction perpendicular to the projection surface 112 (in the figure, the direction at an angle of 45 degrees at the lower left and upper right).
- the coordinates of the point 111 ′′ are (0,0) as shown in E in FIG. That is, the position of the point 111 ′′ is the same as the position of the point 111 of A in FIG. 7 as in the case of the examples of FIGS. 1 and 2.
- the point 111 and the point 111 ′′ are located in a direction perpendicular to the projection surface 112. Therefore, in this case, the position of the point 111 and the position of the point 111 ′′ as seen from the projection surface 112 are the same as before and after of F in FIG. 7. That is, the position in the horizontal direction with respect to the projection plane of the point 111 does not change before the coding / decoding and after the coding / decoding (after the rounding process).
- ⁇ Projection surface example 2> Next, for example, as shown in A of FIG. 8, it is assumed that the point 121 of a certain voxel 120 is projected onto the projection surface 122 which is a predetermined two-dimensional plane.
- the d-axis and u-axis are coordinate axes perpendicular to each other in the basic coordinate system having coordinate axes along each side of the voxel 120. Let the coordinates (u, d) of this basic coordinate system at point 121 be (0,1).
- the projection surface 122 passes through the upper left corner of the voxel 120 in the figure and has an angle of 45 degrees with respect to the u-axis and the d-axis. That is, the projection direction of the point 121 is the direction (45 degrees) at the upper left in the figure.
- the d'axis is a coordinate system perpendicular to the projection plane 122
- the u'axis is a coordinate system parallel to the projection plane 122. It is assumed that the coordinates (u', d') of the point 121 in this projected coordinate system are (2,0).
- the position of the point 121 moves along the d'axis (perpendicular to the projection surface 122) due to compression distortion.
- the point 121 after this movement is designated as the point 121'.
- the coordinates (u', d') of the point 121' are assumed to be (2,1).
- the decimal value of the u coordinate is truncated so that the point 121'moves in the direction perpendicular to the projection surface 122 (in the figure, the direction at an angle of 45 degrees at the lower left and upper right), and the decimal value of the d coordinate is changed. Round up. Assuming that the point 121'after the rounding process is the point 121'', the coordinates of the point 121'' are (0,1) as shown in E in FIG. That is, unlike the cases of FIGS. 3 and 4, the position of the point 121 ′′ is the same as that of the point 121 of A in FIG.
- the point 121 and the point 121 ′′ are located in a direction perpendicular to the projection surface 122 with respect to each other. Therefore, in this case, the position of the point 121 and the position of the point 121'' as seen from the projection surface 122 are the same as those of the before and after of F in FIG. That is, the position in the horizontal direction with respect to the projection plane of the point 121 does not change before the coding / decoding and after the coding / decoding (after the rounding process).
- ⁇ Projection surface example 3> Next, for example, as shown in A of FIG. 9, it is assumed that the point 131 of a certain voxel 130 is projected onto the projection surface 132 which is a predetermined two-dimensional plane.
- the d-axis and u-axis are coordinate axes perpendicular to each other in the basic coordinate system having coordinate axes along each side of the voxel 130. Let the coordinates (u, d) of this basic coordinate system at point 131 be (1,1).
- the projection surface 132 passes through the upper right corner of the voxel 130 in the drawing and has an angle of 45 degrees with respect to the u-axis and the d-axis. That is, the projection direction of the point 131 is the direction (45 degrees) on the upper right side of the figure.
- the d'axis is a coordinate system perpendicular to the projection plane 132
- the u'axis is a coordinate system parallel to the projection plane 132. It is assumed that the coordinates (u', d') of the point 131 in this projected coordinate system are (2,0).
- the position of the point 131 moves along the d'axis (perpendicular to the projection surface 132) due to compression distortion.
- the point 131 after this movement is designated as the point 131'.
- the coordinates (u', d') of the point 131' are (2,1).
- the decimal values of the u and d coordinates are rounded up so that the point 131'moves in the direction perpendicular to the projection surface 132 (in the figure, the direction at an angle of 45 degrees at the lower left and upper right).
- the coordinates of the point 131'' are (1,1) as shown in E in FIG. That is, the position of the point 131 ′′ is the same as the position of the point 131 of A in FIG.
- the point 131 and the point 131 ′′ are located in a direction perpendicular to the projection surface 132 with respect to each other. Therefore, in this case, the position of the point 131 and the position of the point 131'' as seen from the projection surface 132 are the same as those of the before and after of F in FIG. That is, the position in the horizontal direction with respect to the projection plane of the point 131 does not change before the coding / decoding and after the coding / decoding (after the rounding process).
- ⁇ Projection surface example 4> Next, for example, as shown in FIG. 10A, it is assumed that the point 141 of a certain voxel 140 is projected onto the projection surface 142 which is a predetermined two-dimensional plane.
- the d-axis and u-axis are coordinate axes perpendicular to each other in the basic coordinate system having coordinate axes along each side of the voxel 140. Let the coordinates (u, d) of this basic coordinate system at point 141 be (1,0).
- the projection surface 142 passes through the lower right angle of the voxel 140 in the drawing and has an angle of 45 degrees with respect to the u-axis and the d-axis. That is, the projection direction of the point 141 is the lower right direction (45 degrees) in the figure.
- the d'axis is a coordinate system perpendicular to the projection plane 142
- the u'axis is a coordinate system parallel to the projection plane 142. It is assumed that the coordinates (u', d') of the point 141 in this projected coordinate system are (2,0).
- the position of the point 141 moves along the d'axis (perpendicular to the projection surface 142) due to compression distortion.
- the point 141 after this movement is set as the point 141'.
- the coordinates (u', d') of the point 141' are (2,1).
- the u-coordinate decimal value is rounded up so that the point 141'moves in the direction perpendicular to the projection surface 142 (in the figure, the direction at an angle of 45 degrees at the lower left and upper right), and the d-coordinate decimal value is changed. truncate. Assuming that the point 141'after the rounding process is the point 141'', the coordinates of the point 141'' are (1,0) as shown in E in FIG. That is, it is at the same position as the point 141 of A in FIG.
- the points 141 and 141 ′′ are located in the direction perpendicular to the projection surface 132 with respect to each other. Therefore, in this case, the position of the point 141 and the position of the point 141'' as seen from the projection surface 142 are the same as those of the before and after of F in FIG. That is, the position in the horizontal direction with respect to the projection plane of the point 141 does not change before the coding / decoding and after the coding / decoding (after the rounding process).
- the rounding process can be performed so that the points are moved in the direction perpendicular to the projection plane. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
- ⁇ Selection of rounding method> the method of rounding the coordinates to move the point in the direction perpendicular to the projection plane is clear based on the orientation of the projection plane (projection orientation). Therefore, a rounding method corresponding to each projection plane candidate may be prepared in advance so that the rounding method corresponding to the selected projection plane can be selected. That is, for each coordinate of the basic coordinate system of the point, whether to round up or round down the decimal value may be selected according to the orientation of the projection plane. For example, candidates for the pattern of rounding up and truncating the decimal value of each coordinate for moving the point are prepared in advance for each candidate of the projection plane whose orientation is known, and according to the orientation of the projection plane to be applied. , The pattern to be applied may be selected from the candidates. That is, the direction of movement of the point may be set by selecting from the candidates according to the direction of the projection surface.
- u-coordinate and d-coordinate can be used as candidates for the coordinate rounding method.
- Truncation of decimal values (2) Truncation of u-coordinate decimal values and round-up of d-coordinate decimal values, (3) Round-up of u-coordinate and d-coordinate decimal values, (4) Round-up of u-coordinate decimal values and d
- Four types of patterns for truncating the decimal values of the coordinates are prepared so that one of the four candidates is selected according to the selected projection plane.
- the above method (1) is applied. That is, the u-coordinate and d-coordinate decimal values of the point 111 ′′ are truncated.
- the above-mentioned method (2) is applied. That is, the u-coordinate decimal value of the point 121 ′′ is truncated, and the d-coordinate decimal value is rounded up.
- the above method (3) is applied.
- the u-coordinate and d-coordinate decimal values of the point 131 ′′ are rounded up. Further, as shown in D of FIG. 11, when the point is projected on the projection surface 142, the above-mentioned method (4) is applied. That is, the u-coordinate decimal value at point 141 ′′ is rounded up, and the d-coordinate decimal value is rounded down.
- the direction of movement of the points is not limited to the above example.
- the point may be moved in a direction perpendicular to the projection plane and away from the projection plane. .. That is, in each of the examples of FIGS. 7 to 10, the points may be moved in the opposite directions.
- the decimal values of the u-coordinate and the d-coordinate of the point 111 ′′ may be rounded up with respect to the projection surface 112.
- the point can be moved in the opposite direction to that in FIG. 7.
- the point 111 and the point 111'' are located in the direction perpendicular to the projection surface 112, so that the point 111 is before the coding / decoding and after the coding / decoding (after the rounding process).
- the horizontal position with respect to the projection plane of is not changed. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
- the decimal value of the u coordinate of the point 121 ′′ may be rounded up and the decimal value of the d coordinate may be truncated with respect to the projection surface 122.
- the point can be moved in the opposite direction to that in FIG.
- the point 121 and the point 121'' are located in the direction perpendicular to the projection surface 122, so that the point 121 is located before the coding / decoding and after the coding / decoding (after the rounding process).
- the horizontal position with respect to the projection plane of is not changed. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
- the u-coordinate and d-coordinate decimal values of the point 131 ′′ may be truncated with respect to the projection surface 132.
- the point can be moved in the opposite direction to that in FIG.
- the point 131 and the point 131'' are located in the direction perpendicular to the projection surface 132, so that the point 131 is located before the coding / decoding and after the coding / decoding (after the rounding process).
- the horizontal position with respect to the projection plane of is not changed. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
- the decimal value of the u coordinate of the point 141 ′′ may be truncated and the decimal value of the d coordinate may be rounded up with respect to the projection surface 142.
- the point can be moved in the opposite direction to that in FIG.
- the point 141 and the point 141'' are located in the direction perpendicular to the projection surface 142, so that the point 141 is before the coding / decoding and after the coding / decoding (after the rounding process).
- the horizontal position with respect to the projection plane of is not changed. Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
- a rounding method corresponding to each projection plane candidate may be prepared in advance so that the rounding method corresponding to the selected projection plane can be selected.
- u-coordinate and d-coordinate can be used as candidates for the coordinate rounding method. Rounding up the decimal value, (2) Rounding up the decimal value of the u coordinate and truncating the decimal value of the d coordinate, (3) Rounding down the decimal value of the u coordinate and d coordinate, (4) Rounding down the decimal value of the u coordinate and d Four types of patterns for rounding up the decimal values of the coordinates are prepared so that one of the four candidates is selected according to the selected projection plane.
- the above method (1) is applied. That is, the u-coordinate and d-coordinate decimal values of the point 111 ′′ are rounded up.
- the above-mentioned method (2) is applied. That is, the u-coordinate decimal value of the point 121 ′′ is rounded up, and the d-coordinate decimal value is rounded down.
- the above method (3) is applied.
- the u-coordinate and d-coordinate decimal values of the point 131 ′′ are truncated. Further, as shown in D of FIG. 12, when the point is projected on the projection surface 142, the above-mentioned method (4) is applied. That is, the u-coordinate decimal value at point 141 ′′ is truncated and the d-coordinate decimal value is rounded up.
- ⁇ Selection of orientation> it should be noted that one of the above two directions (a direction approaching the projection surface and a direction away from the projection surface) may be selected and applied. By doing so, for example, the rounding process can be performed so as to move the points in the direction according to the point cloud (point distribution status). Therefore, the reduction of the subjective quality of the point cloud can be further suppressed.
- the data unit that directs the movement of this point is arbitrary.
- the direction of movement of points may be set for each frame. Further, for example, the direction of movement of points may be set for each patch. Of course, it may be a data unit other than these.
- the coordinates of the points may be rounded in the direction perpendicular to the projection plane before the coordinate conversion. That is, the point may be moved by updating the coordinates of the projected coordinate system of the point. That is, in the projected coordinate system, which is a coordinate system having coordinate axes perpendicular to the projected plane, the point is moved in the direction perpendicular to the projected plane so that the coordinates of the basic coordinate system of the point are integer values. You may.
- scale conversion of the projected coordinate system is performed according to the basic coordinate system, and in the projected coordinate system after the scale conversion, the coordinates of the coordinate axes of the projected coordinate system of the point perpendicular to the projection plane are converted into integers.
- the point may be moved accordingly.
- a point 111 of a voxel 110 is projected onto a projection surface 112 which is a predetermined two-dimensional plane as shown in A of FIG. That is, it is the same as A in FIG.
- the coordinates (u, d) of this basic coordinate system of the point 111 are (0,0), and the projection direction of the point 111 is the lower left direction (45 degrees) in the figure.
- the result is as shown in FIG. 13B. Similar to the case of B in FIG. 7, the coordinates (u', d') of the point 111 in this projected coordinate system are (2,0).
- the position of the point 111 moves along the d'axis (perpendicular to the projection surface 112) due to compression distortion. That is, it is the same as C in FIG. 7, and the coordinates (u', d') of the point 111'are (2,1).
- the point 111' is set to the projection surface 112. It is moved in a direction approaching the projection surface 112 in the direction perpendicular to the projection surface 112.
- the scale of the projected coordinate system is converted according to the basic coordinate system.
- the scale of the projected coordinate system is halved as shown in D of FIG.
- the d ′′ axis is a scale-converted (halved) coordinate axis of the d ′′ axis.
- the decimal value of the coordinate of the coordinate axis in the direction perpendicular to the projection plane at the point 111' is truncated.
- the d ′′ axis is a coordinate axis perpendicular to the projection plane 112. Therefore, the decimal value of the d ′′ coordinate of the point 111 ′′ is truncated. That is, the coordinates (u', d'') of the point 111'(that is, the point 111') after the movement are (1,0).
- the point 111 and the point 111'' are located in the direction perpendicular to the projection surface 112 with respect to each other. That is, the position in the horizontal direction with respect to the projection plane of the point 111 does not change before the coding / decoding and after the coding / decoding (after the rounding process). Therefore, it is possible to suppress the reduction of the subjective quality of the point cloud.
- This method can be applied to projection planes in any orientation. That is, in the case of this method, since the point is moved in the projected coordinates, the decimal value of the d ′′ coordinate of the point may be truncated regardless of the orientation of the projection surface. Therefore, for example, when the points are projected onto the projection planes in other directions such as the projection plane 122, the projection plane 132, the projection plane 142, etc., the rounding process can be performed as shown in FIG. That is, it is not necessary to select the rounding method according to the orientation of the projection surface, and the increase in load can be suppressed.
- a point 111 of a voxel 110 is projected onto a projection surface 112 which is a predetermined two-dimensional plane as shown in A of FIG. That is, it is the same as A in FIG.
- the coordinates (u, d) of this basic coordinate system of the point 111 are (0,0), and the projection direction of the point 111 is the lower left direction (45 degrees) in the figure.
- the result is as shown in FIG. 14B. That is, it is the same as the case of B in FIG. 13, and the coordinates (u', d') of the point 111 in this projected coordinate system are (2,0).
- the position of the point 111 moves along the d'axis (perpendicular to the projection surface 112) due to compression distortion. That is, it is the same as C in FIG. 13, and the coordinates (u', d') of the point 111'are (2,1).
- the point 111' is set to the projection surface 112 in the direction perpendicular to the projection surface 112. Move away from.
- the scale of the projected coordinate system is converted according to the basic coordinate system.
- the scale of the projected coordinate system is halved as shown in D of FIG.
- the d ′′ axis is a scale-converted (halved) coordinate axis of the d ′′ axis.
- the decimal value of the coordinate of the coordinate axis in the direction perpendicular to the projection plane at the point 111' is rounded up.
- the d ′′ axis is a coordinate axis perpendicular to the projection plane 112. Therefore, the decimal value of the d ′′ coordinate of the point 111 ′′ is rounded up. That is, the coordinates (u', d'') of the point 111'(that is, the point 111') after the movement are (1,1).
- this method when moving this point away from the projection plane, this method can be applied to the projection plane in any direction as in the case of moving the point closer to the projection plane. That is, it is not necessary to select the rounding method according to the orientation of the projection surface, and the increase in load can be suppressed.
- the orientation of the projection surface is arbitrary and is not limited to the above-mentioned example of 45 degrees. That is, as shown in FIG. 15, the projection plane can be provided at an arbitrary angle with respect to the bounding box (voxel). That is, the points can be projected in any direction.
- the above method can be applied regardless of the orientation of the projection plane.
- the point 201 moves in the direction perpendicular to the projection plane due to the compression strain (double-headed arrow 202).
- the point 201 after movement due to the compression strain is referred to as a point 201'.
- one of the above methods is applied to round the decimal value of the coordinates of the point 201', and the point 201'is moved in the direction perpendicular to the projection plane as shown in FIG.
- the point 201' is moved in a direction perpendicular to the projection plane, away from the projection plane, and moved to the position of the point 201''-2.
- the point 201 ′′ is moved in a direction perpendicular to the projection plane in a direction approaching the projection plane, and is moved to the position of the point 201 ′′ -3.
- the present technology can be applied to a projection plane in any direction.
- ⁇ Selection of point movement direction> In general, the smaller the amount of movement of points by rounding the coordinates, the less the influence on the subjective quality of the point cloud, which is preferable. However, this amount of movement depends on the orientation (angle) of the projection plane. For example, in the case of the example of FIG. 17, the moving distance from the point 201'to the point 201" -2 and the moving distance from the point 201'to the point 201" -3 depend on the orientation (angle) of the projection plane. To do.
- the direction of movement of the point by rounding the coordinates may be selected based on the amount of movement. For example, as in method 2-3 shown in the eighth row from the top of the table in FIG. 6, the coordinates of the points are rounded in the direction closer to the projection plane and in the direction away from the projection plane, whichever is closer. May be selected.
- the point by moving the point by rounding up the decimal value of the coordinates of the coordinate axis perpendicular to the projection plane of the projection coordinate system of the point, and by truncating the decimal value of the coordinate axis perpendicular to the projection plane of the projection coordinate system of the point.
- the one with the shorter movement distance of the points may be selected.
- the direction of movement of this point may be selected in any data unit.
- the movement amount of each point may be compared for each data unit, and the direction in which the movement amount is small as a whole may be selected.
- the direction of movement of points may be set for each frame.
- the direction of movement of points may be set for each patch. Of course, it may be a data unit other than these.
- the point coordinate rounding method is selected for each patch according to the accuracy of the Occupancy map. May be good. That is, the points may be moved in the direction perpendicular to the projection plane, depending on the accuracy of the occupancy map. For example, when the accuracy of the Occupancy Map is 1, the present technique may be applied to move the points in a direction perpendicular to the projection plane.
- Such control can be performed for each arbitrary data unit. For example, such control may be performed for each patch.
- this method 3 can be applied together with method 1. Further, this method 3 can be applied together with the method 2.
- the points may be duplicated as in the method 4 shown in the tenth column from the top of the table of FIG. That is, the points projected on the projection surface may be arranged at a plurality of locations in the three-dimensional space to reconstruct the point cloud.
- both the point where the coordinates are rounded toward the projection plane and the point where the coordinates are rounded toward the projection plane are both. May be generated and arranged in a three-dimensional space. That is, one point projected on the projection plane is moved in both the direction toward and away from the projection plane in the direction perpendicular to the projection plane, and the point cloud containing the points after each movement is re-created. You may try to build it.
- the points before the coordinates are rounded are generated, and the points where the coordinates are rounded are generated, and both of them are three-dimensional. It may be arranged in the space. That is, the point cloud including the points after being moved in the direction perpendicular to the projection plane and the points before being moved may be reconstructed.
- the points before the movement, the points moved in the direction closer to the projection surface, and the points moved in the direction away from the projection surface are arranged in the three-dimensional space, and the point cloud including those points is created. You may try to rebuild it.
- this method 4 (both method 4-1 and method 4-2) can be applied together with method 1. Further, this method 4 can be applied together with the method 2. Further, this method 4 can be applied together with the method 3.
- FIG. 18 is a block diagram showing an example of the configuration of the encoding device.
- the coding device 300 shown in FIG. 18 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. ).
- FIG. 18 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 300, there may be a processing unit that is not shown as a block in FIG. 18, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
- the coding apparatus 300 includes a patch decomposition unit 311, a packing unit 312, an auxiliary patch information compression unit 313, a video coding unit 314, a video coding unit 315, an OMap coding unit 316, and a multiplexer 317.
- a patch decomposition unit 311 a packing unit 312, an auxiliary patch information compression unit 313, a video coding unit 314, a video coding unit 315, an OMap coding unit 316, and a multiplexer 317.
- the patch disassembly unit 311 performs processing related to disassembly of 3D data. For example, the patch decomposition unit 311 acquires 3D data (for example, a point cloud) representing a three-dimensional structure input to the coding apparatus 300. Further, the patch decomposition unit 311 decomposes the acquired 3D data into a plurality of small areas (connection components), projects the 3D data on each small area on a two-dimensional plane, and patches the geometry data and the attribute data. To generate.
- 3D data for example, a point cloud
- connection components projects the 3D data on each small area on a two-dimensional plane
- patches the geometry data and the attribute data To generate.
- the patch disassembly unit 311 supplies information regarding each generated patch to the packing unit 312. Further, the patch disassembling unit 311 supplies auxiliary patch information, which is information related to the disassembling, to the auxiliary patch information compression unit 313.
- the packing unit 312 performs processing related to data packing. For example, the packing unit 312 acquires information about the patch supplied from the patch disassembling unit 311. In addition, the packing unit 312 arranges each acquired patch on a two-dimensional image and packs it as a video frame. For example, the packing unit 312 packs a patch of geometry data as a video frame and generates a geometry video frame (Geometry video frame (s)). Further, the packing unit 312 packs the patch of the attribute data as a video frame and generates a color video frame (s). Further, the packing unit 312 generates an Occupancy Map indicating the presence or absence of the patch.
- a geometry video frame Geometry video frame (s)
- the packing unit 312 packs the patch of the attribute data as a video frame and generates a color video frame (s).
- Occupancy Map indicating the presence or absence of the patch.
- the packing unit 312 supplies them to the subsequent processing unit.
- the packing unit 312 supplies the geometry video frame to the video coding unit 314, the color video frame to the video coding unit 315, and the occupancy map to the OMap coding unit 316. Further, the packing unit 312 supplies control information regarding the packing to the multiplexer 317.
- Auxiliary patch information compression unit 313 performs processing related to compression of auxiliary patch information.
- the auxiliary patch information compression unit 313 acquires the auxiliary patch information supplied from the patch decomposition unit 311.
- the auxiliary patch information compression unit 313 encodes (compresses) the acquired auxiliary patch information.
- the auxiliary patch information compression unit 313 supplies the coded data of the obtained auxiliary patch information to the multiplexer 317.
- the video coding unit 314 performs processing related to coding of the geometry video frame. For example, the video coding unit 314 acquires a geometry video frame supplied from the packing unit 312. Further, the video coding unit 314 encodes the acquired geometry video frame by a coding method for an arbitrary two-dimensional image such as AVC or HEVC. The video coding unit 314 supplies the encoded data of the geometry video frame obtained by the coding to the multiplexer 317.
- the video coding unit 315 performs processing related to coding of a color video frame. For example, the video coding unit 315 acquires a color video frame supplied from the packing unit 312. Further, the video coding unit 315 encodes the acquired color video frame by a coding method for an arbitrary two-dimensional image such as AVC or HEVC. The video coding unit 315 supplies the coded data of the color video frame obtained by the coding to the multiplexer 317.
- the OMap coding unit 316 performs processing related to coding the video frame of the occupancy map. For example, the OMap coding unit 316 acquires the occupancy map supplied from the packing unit 312. Further, the OMap coding unit 316 encodes the acquired occupancy map by an arbitrary coding method such as arithmetic coding. The OMap coding unit 316 supplies the encoded data of the occupancy map obtained by the coding to the multiplexer 317.
- the multiplexer 317 performs processing related to multiplexing. For example, the multiplexer 317 acquires the encoded data of the auxiliary patch information supplied from the auxiliary patch information compression unit 313. Further, for example, the multiplexer 317 acquires control information regarding packing supplied from the packing unit 312. Further, for example, the multiplexer 317 acquires the coded data of the geometry video frame supplied from the video coding unit 314. Further, for example, the multiplexer 317 acquires the coded data of the color video frame supplied from the video coding unit 315. Further, for example, the multiplexer 317 acquires the encoded data of the occupancy map supplied from the OMap coding unit 316.
- the multiplexer 317 multiplexes the acquired information to generate a bit stream.
- the multiplexer 317 outputs the generated bit stream to the outside of the coding apparatus 300.
- each processing unit may be configured by a logic circuit that realizes the above-mentioned processing.
- each processing unit has, for example, a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like, and the above-mentioned processing is realized by executing a program using them. You may do so.
- each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program.
- the configurations of the respective processing units may be independent of each other. For example, some processing units realize a part of the above-mentioned processing by a logic circuit, and some other processing units execute a program.
- the above-mentioned processing may be realized by the other processing unit by both the logic circuit and the execution of the program.
- the patch decomposition unit 311 of the coding apparatus 300 decomposes the 3D data (for example, the point cloud) into small areas (connection components) in step S101, and the data in each small area is two-dimensional. Project on a plane (projection plane) to generate a patch of geometry data and a patch of attribute data.
- step S102 the auxiliary patch information compression unit 313 compresses the auxiliary patch information obtained by the process of step S101.
- the packing unit 312 packs each patch generated by the patch disassembling unit 311 to generate a geometry video frame or a color video frame. In addition, the packing unit 312 generates an occupancy map.
- step S104 the video coding unit 314 encodes the geometry video frame obtained by the process of step S103 by the coding method for the two-dimensional image.
- step S105 the video coding unit 315 encodes the color video frame obtained by the process of step S103 by the coding method for the two-dimensional image.
- step S106 the OMap coding unit 316 encodes the occupancy map obtained by the process of step S103.
- step S107 the multiplexer 317 multiplexes the various information generated as described above and generates a bit stream including the information.
- step S108 the multiplexer 317 outputs the bit stream generated by the process of step S107 to the outside of the coding apparatus 300.
- the process of step S108 is completed, the coding process is completed.
- FIG. 20 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 400 shown in FIG. 20 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 reconstructs the 3D data. (Decoding device to which a video-based approach is applied).
- the decoding device 400 is a decoding device corresponding to the coding device 300 of FIG. 18, and can decode the bit stream generated by the coding device 300 to reconstruct the 3D data.
- FIG. 20 shows the main things such as the processing unit and the data flow, and not all of them are shown in FIG. 20. That is, in the decoding device 400, there may be a processing unit that is not shown as a block in FIG. 20, or there may be a processing or data flow that is not shown as an arrow or the like in FIG.
- the decoding device 400 includes a demultiplexer 411, an auxiliary patch information decoding unit 412, a video decoding unit 413, a video decoding unit 414, an OMap decoding unit 415, an unpacking unit 416, and a 3D reconstruction unit 417.
- a demultiplexer 411 an auxiliary patch information decoding unit 412, a video decoding unit 413, a video decoding unit 414, an OMap decoding unit 415, an unpacking unit 416, and a 3D reconstruction unit 417.
- the demultiplexer 411 performs processing related to data demultiplexing. For example, the demultiplexer 411 can acquire a bit stream input to the decoding device 400. This bit stream is supplied by, for example, the encoding device 300.
- the demultiplexer 411 can demultiplex this bit stream.
- the demultiplexer 411 can extract the encoded data of the auxiliary patch information from the bit stream by demultiplexing.
- the demultiplexer 411 can also extract the coded data of the geometry video frame from the bitstream by demultiplexing.
- the demultiplexer 411 can extract the coded data of the color video frame from the bit stream by demultiplexing.
- the demultiplexer 411 can extract the encoded data of the occupancy map from the bit stream by demultiplexing.
- the demultiplexer 411 can supply the extracted data to the processing unit in the subsequent stage.
- the demultiplexer 411 can supply the coded data of the extracted auxiliary patch information to the auxiliary patch information decoding unit 412.
- the demultiplexer 411 can supply the coded data of the extracted geometry video frame to the video decoding unit 413.
- the demultiplexer 411 can supply the coded data of the extracted color video frame to the video decoding unit 414.
- the demultiplexer 411 can supply the coded data of the extracted occupancy map to the OMap decoding unit 415.
- the demultiplexer 411 can extract control information related to packing from the bit stream by demultiplexing and supply it to the unpacking unit 416.
- the auxiliary patch information decoding unit 412 performs processing related to decoding the coded data of the auxiliary patch information. For example, the auxiliary patch information decoding unit 412 can acquire the encoded data of the auxiliary patch information supplied from the demultiplexer 411. Further, the auxiliary patch information decoding unit 412 can decode the encoded data and generate auxiliary patch information. Further, the auxiliary patch information decoding unit 412 can supply the auxiliary patch information to the 3D reconstruction unit 417.
- the video decoding unit 413 performs processing related to decoding the coded data of the geometry video frame. For example, the video decoding unit 413 can acquire the coded data of the geometry video frame supplied from the demultiplexer 411. Further, the video decoding unit 413 can decode the encoded data and generate a geometry video frame. Further, the video decoding unit 413 can supply the geometry video frame to the unpacking unit 416.
- the video decoding unit 414 performs processing related to decoding the coded data of the color video frame. For example, the video decoding unit 414 can acquire the coded data of the color video frame supplied from the demultiplexer 411. Further, the video decoding unit 414 can decode the encoded data and generate a color video frame. Further, the video decoding unit 414 can supply the color video frame to the unpacking unit 416.
- the OMap decoding unit 415 performs processing related to decoding the coded data of the occupancy map. For example, the OMap decoding unit 415 can acquire the encoded data of the occupancy map supplied from the demultiplexer 411. In addition, the OMap decoding unit 415 can decode the encoded data and generate an occupancy map. Further, the OMap decoding unit 415 can supply the occupancy map to the unpacking unit 416.
- the unpacking unit 416 performs processing related to unpacking.
- the unpacking unit 416 can acquire control information regarding packing supplied from the demultiplexer 411. Further, the unpacking unit 416 can acquire the geometry video frame supplied from the video decoding unit 413. Further, the unpacking unit 416 can acquire the color video frame supplied from the video decoding unit 414. In addition, the unpacking unit 416 can acquire the occupancy map supplied from the OMap decoding unit 415.
- the unpacking unit 416 can unpack the geometry video frame and the color video frame based on the acquired control information and the occupancy map, and can extract patches of geometry data and attribute data.
- the unpacking unit 416 can supply the geometry data, the patch of the attribute data, and the like to the 3D reconstruction unit 417.
- the 3D reconstruction unit 417 performs processing related to reconstruction of 3D data.
- the 3D reconstruction unit 417 can acquire the auxiliary patch information supplied from the auxiliary patch information decoding unit 412. Further, the 3D reconstruction unit 417 can acquire a patch of geometry data supplied from the unpacking unit 416. Further, the 3D reconstruction unit 417 can acquire a patch or the like of attribute data supplied from the unpacking unit 416. In addition, the 3D reconstruction unit 417 can acquire the occupancy map supplied from the unpacking unit 416.
- the 3D reconstruction unit 417 is ⁇ 1. Reconstruction of point cloud> The above-mentioned technology is applied, and 3D data (for example, Point Cloud) is reconstructed using the information.
- the 3D reconstruction unit 417 outputs the 3D data obtained by such processing to the outside of the decoding device 400.
- This 3D data is, for example, supplied to a display unit to display the image, recorded on a recording medium, or supplied to another device via communication.
- each processing unit may be configured by a logic circuit that realizes the above-mentioned processing.
- each processing unit may have, for example, a CPU, ROM, RAM, etc., and execute a program using them to realize the above-mentioned processing.
- each processing unit may have both configurations, and a part of the above-mentioned processing may be realized by a logic circuit, and the other may be realized by executing a program.
- the configurations of the respective processing units may be independent of each other. For example, some processing units realize a part of the above-mentioned processing by a logic circuit, and some other processing units execute a program.
- the above-mentioned processing may be realized by the other processing unit by both the logic circuit and the execution of the program.
- FIG. 21 is a block diagram showing a main configuration example of the 3D reconstruction unit 417.
- the 3D reconstruction unit 417 includes a rounding method setting unit 431, a geometry data reconstruction unit 432, and an attribute data reconstruction unit 433.
- the rounding method setting unit 431 performs processing related to the setting of the rounding method. For example, the rounding method setting unit 431 can acquire a patch of geometry data supplied from the unpacking unit 416. Further, the rounding method setting unit 431 can set the rounding method according to the orientation of the projection surface of the point by using the acquired geometry data. Further, the rounding method setting unit 431 can supply the geometry data patch and the like and the setting of the rounding method to the geometry data reconstruction unit 432.
- Geometry data reconstruction unit 432 performs processing related to geometry data reconstruction.
- the geometry data reconstruction unit 432 can acquire a patch of geometry data supplied from the rounding method setting unit 431, a setting of the rounding method, and the like. Further, the geometry data reconstruction unit 432 is described in ⁇ 1. Reconstruction of point cloud> By applying the above-mentioned technology, it is possible to reconstruct the geometry data of the point cloud by using the acquired data and settings. Further, the geometry data reconstruction unit 432 can supply the reconstructed geometry data and the like to the attribute data reconstruction unit 433.
- Attribute data reconstruction unit 433 performs processing related to reconstruction of attribute data.
- the attribute data reconstruction unit 433 can acquire the geometry data and the like supplied from the geometry data reconstruction unit 432. Further, the attribute data reconstruction unit 433 can acquire a patch or the like of the attribute data supplied from the unpacking unit 416. Further, the attribute data reconstruction unit 433 can reconstruct the attribute data of the point cloud and generate the point cloud data by using the acquired data or the like. Further, the attribute data reconstruction unit 433 can output the generated point cloud data or the like to the outside of the decoding device 400.
- the geometry data reconstruction unit 432 has ⁇ 1.
- the above-mentioned technology can be applied in Reconstruction of point cloud>.
- the geometry data reconstruction unit 432 can reconstruct the geometry data using any of the methods shown in FIG.
- the geometry data reconstruction unit 432 can reconstruct the geometry data by applying any one or more of the methods shown in FIG. 6 in combination.
- the geometry data reconstruction unit 432 can round the coordinates of the point and convert it into an integer so as to suppress the movement of the point in the horizontal direction with respect to the projection plane. Therefore, the decoding device 400 (3D reconstruction unit 417) can suppress the reduction of the subjective quality of the point cloud.
- the demultiplexer 411 of the decoding device 400 demultiplexes the bit stream in step S201.
- the auxiliary patch information decoding unit 412 decodes the encoded data of the auxiliary patch information extracted from the bit stream by the process of step S201.
- step S203 the video decoding unit 413 decodes the coded data of the geometry video frame extracted from the bit stream by the process of step S201.
- step S204 the video decoding unit 414 decodes the coded data of the color video frame extracted from the bit stream by the process of step S201.
- step S205 the OMap decoding unit 415 decodes the encoded data of the occupancy map extracted from the bit stream by the process of step S201.
- step S206 the unpacking unit 416 unpacks the geometry video frame and the color video frame, respectively, based on the control information regarding packing and the occupancy map.
- step S207 the 3D reconstruction unit 417 has ⁇ 1.
- Rebuilding the point cloud> Applying the above-mentioned technology to execute the point cloud rebuilding process, for example, points based on the auxiliary patch information obtained in step S202 and various information obtained in step S206. Reconstruct 3D data such as cloud.
- the decoding process is completed.
- step S207 of FIG. 22 a case where the coordinates of the points are rounded in the basic coordinate system (a case where “method 1 (method 1-1, method 1-2)” shown in FIG. 6 is applied) will be described.
- the point cloud reconstruction process is executed in a flow as shown in the flowchart shown in FIG. 23, for example.
- the rounding method setting unit 431 of the 3D reconstruction unit 417 selects an unprocessed patch of geometry data as a processing target in step S231.
- step S232 the rounding method setting unit 431 sets the rounding method of the coordinates of the points according to the orientation of the projection surface of the patch.
- the rounding method setting unit 431 is set to ⁇ 1.
- the direction of movement of the points by rounding the coordinates may be selected.
- step S233 the geometry data reconstruction unit 432 reversely transforms the coordinates of each point of the patch to be processed. That is, the geometry data reconstruction unit 432 converts the coordinates of the projected coordinate system of each point into the coordinates of the basic coordinate system.
- step S234 the geometry data reconstruction unit 432 rounds the coordinates of each point of the patch to be processed into an integer in the basic coordinate system by using the method set in step S232. That is, the geometry data reconstruction unit 432 digitizes each coordinate of the basic coordinate system of each point so that the point moves in the direction perpendicular to the projection plane.
- step S235 the attribute data reconstruction unit 433 reconstructs the attribute data with respect to the geometry data of the patch to be processed reconstructed as described above.
- step S236 the attribute data reconstruction unit 433 determines whether or not all the patches have been processed. If it is determined that there is an unprocessed patch (patch for which the point cloud has not been reconstructed) in the video frame to be processed, the process returns to step S231, and the process is repeated thereafter.
- the 3D reconstruction unit 417 rounds the coordinates of the points into integers so as to suppress the movement of the points in the horizontal direction with respect to the projection plane. Can be done. Therefore, the decoding device 400 can suppress the reduction of the subjective quality of the point cloud.
- step S207 of FIG. 22 a case where the coordinates of the points are rounded in the projected coordinate system (a case where “method 2 (method 2-1 to method 2-3)” shown in FIG. 6 is applied) will be described. ..
- the point cloud reconstruction process is executed in a flow as shown in the flowchart shown in FIG. 24, for example.
- the rounding method setting unit 431 of the 3D reconstruction unit 417 selects an unprocessed patch of geometry data as a processing target in step S331.
- the rounding method setting unit 431 sets the rounding method of the coordinates of the points regardless of the orientation of the projection surface.
- the rounding method setting unit 431 sets the scale conversion and the like.
- the rounding method setting unit 431 is set to ⁇ 1. As described above in Rebuilding the point cloud>, the direction of movement of the points by rounding the coordinates may be selected.
- step S333 the geometry data reconstruction unit 432 appropriately scales the projected coordinate system using the method set in step S332, and rounds the coordinates of each point of the patch to be processed in the projected coordinate system. Convert to an integer. That is, the geometry data reconstruction unit 432 rounds the coordinates of the coordinate axes of the points in the direction perpendicular to the projection plane and converts them into integers (corrects the coordinates).
- step S334 the geometry data reconstruction unit 432 reversely transforms the coordinates of each point of the patch to be processed. That is, the geometry data reconstruction unit 432 converts the coordinates of the projected coordinate system of each point into the coordinates of the basic coordinate system.
- step S335 the attribute data reconstruction unit 433 reconstructs the attribute data with respect to the geometry data of the patch to be processed reconstructed as described above.
- step S336 the attribute data reconstruction unit 433 determines whether or not all the patches have been processed. If it is determined that there is an unprocessed patch (patch for which the point cloud has not been reconstructed) in the video frame to be processed, the process returns to step S331, and the process is repeated thereafter.
- step S331 to step S336 each process of step S331 to step S336 is executed for each patch. Then, in step S336, when it is determined that all the patches have been processed, the point cloud reconstruction process is completed, and the process returns to FIG. 22.
- the 3D reconstruction unit 417 rounds the coordinates of the points into integers so as to suppress the movement of the points in the horizontal direction with respect to the projection plane. Can be done. Therefore, the decoding device 400 can suppress the reduction of the subjective quality of the point cloud.
- FIG. 25 is a block diagram showing a configuration example of computer hardware that executes the above-mentioned series of processes programmatically.
- the CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- the input / output interface 910 is also connected to the bus 904.
- An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input / output interface 910.
- the input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
- the output unit 912 includes, for example, a display, a speaker, an output terminal, and the like.
- the storage unit 913 is composed of, for example, a hard disk, a RAM disk, a non-volatile memory, or the like.
- the communication unit 914 includes, for example, a network interface.
- the drive 915 drives a removable medium 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
- the CPU 901 loads the program stored in the storage unit 913 into the RAM 903 via the input / output interface 910 and the bus 904 and executes the above-described series. Is processed.
- the RAM 903 also appropriately stores data and the like necessary for the CPU 901 to execute various processes.
- the program executed by the computer can be recorded and applied to the removable media 921 as a package media or the like, for example.
- the program can be installed in the storage unit 913 via the input / output interface 910 by mounting the removable media 921 in the drive 915.
- This program can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913.
- this program can be installed in advance in ROM 902 or storage unit 913.
- the coding device 300 and the decoding device 400 have been described as application examples of the present technology, but the present technology can be applied to any configuration.
- this technology is a transmitter or receiver (for example, a television receiver or mobile phone) for satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication, or It can be applied to various electronic devices such as devices (for example, hard disk recorders and cameras) that record images on media such as optical disks, magnetic disks, and flash memories, and reproduce images from these storage media.
- devices for example, hard disk recorders and cameras
- 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)
- a processor as a system LSI (Large Scale Integration) or the like
- a module using a plurality of processors for example, a video module
- a unit using a plurality of modules for example, a video unit
- 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.
- this technology can be applied to a network system composed of a plurality of devices.
- the present technology may be implemented as cloud computing that is shared and jointly processed by a plurality of devices via a network.
- this technology is implemented in a cloud service that provides services related to images (moving images) to arbitrary terminals such as computers, AV (AudioVisual) devices, portable information processing terminals, and IoT (Internet of Things) devices. You may try to do it.
- the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
- Systems, devices, processing departments, etc. to which this technology is applied can be used in any field such as transportation, medical care, crime prevention, agriculture, livestock industry, mining, beauty, factories, home appliances, weather, nature monitoring, etc. .. Moreover, the use is arbitrary.
- the "flag” is information for identifying a plurality of states, and is not only information used for identifying two states of true (1) or false (0), but also three or more states. It also contains information that can identify the state. 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.
- the identification information (including the flag) is assumed to include not only the identification information in the bitstream but also the difference information of the identification information with respect to a certain reference information in the bitstream. In, the "flag” and “identification information” include not only the information but also the difference information with respect to the reference information.
- various information (metadata, etc.) regarding the coded data may be transmitted or recorded in any form as long as it is associated with the coded data.
- 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.
- the information associated with the coded data (image) may be transmitted on a transmission path different from the coded data (image).
- 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.
- 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.
- 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.
- the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
- the configurations described above as a plurality of devices (or processing units) may be collectively configured as one device (or processing unit).
- a configuration other than the above may be added to the configuration of each device (or each processing unit).
- a part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit). ..
- the above-mentioned program may be executed in any device.
- the device may have necessary functions (functional blocks, etc.) so that necessary information can be obtained.
- each step of one flowchart may be executed by one device, or may be shared and executed by a plurality of devices.
- the plurality of processes may be executed by one device, or may be shared and executed by a plurality of devices.
- a plurality of processes included in one step can be executed as processes of a plurality of steps.
- the processes described as a plurality of steps can be collectively executed as one step.
- the processing of the steps for writing the program may be executed in chronological order in the order described in the present specification, and may be executed in parallel or in 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.
- a plurality of technologies related to this technology can be independently implemented independently as long as there is no contradiction.
- any plurality of the present technologies can be used in combination.
- some or all of the techniques described in any of the embodiments may be combined with some or all of the techniques described in other embodiments. 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.
- the present technology can also have the following configurations.
- a decoding unit that decodes the coded data of the frame image in which the projected image on the two-dimensional plane of the point cloud that expresses the object of the three-dimensional shape as a set of points is arranged.
- An unpacking unit that unpacks the frame image obtained by decoding the coded data by the decoding unit and extracts the projected image, and an unpacking unit. It is provided with a reconstruction unit that reconstructs the point cloud by arranging each point included in the projection image extracted by the unpacking unit in a three-dimensional space.
- the reconstruction unit sets the points in the two-dimensional plane so that the coordinates of the points become integer values.
- An image processing device that moves in the direction perpendicular to.
- the image processing apparatus wherein the shorter of the movement distances of the points is selected from the movements of the points by truncating the decimal values of the coordinates of the coordinates perpendicular to the dimensional plane. (13) The image processing apparatus according to (12), wherein the reconstruction unit sets the direction of movement of the points for each frame. (14) The image processing apparatus according to any one of (1) to (13), wherein the reconstruction unit moves the point in a direction perpendicular to the two-dimensional plane according to the accuracy of the occupancy map. .. (15) The image processing apparatus according to (14), wherein the reconstruction unit moves the point in a direction perpendicular to the two-dimensional plane when the accuracy of the occupancy map is 1.
- the reconstructing unit reconstructs the point cloud by arranging each point included in the projected image extracted by the unpacking unit at a plurality of locations in a three-dimensional space (1) to (15). ).
- the image processing apparatus according to any one of.
- the reconstructing unit moves one of the points in both the direction toward and away from the two-dimensional plane in the direction perpendicular to the two-dimensional plane, and moves each point after the movement.
- the image processing apparatus according to (16) which reconstructs the point cloud including the above.
- the reconstruction unit reconstructs the point cloud including the points after being moved in a direction perpendicular to the two-dimensional plane and the points before being moved (16). Image processing equipment.
- the coordinates of the points are An image processing method in which the points are moved in a direction perpendicular to the two-dimensional plane so as to have an integer value, and the point cloud is reconstructed.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Generation (AREA)
Abstract
本開示は、ポイントクラウドの主観的品質の低減を抑制することができるようにする画像処理装置および方法に関する。 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像が配置されたフレーム画像の符号化データを復号し、その符号化データが復号されて得られたフレーム画像をアンパッキングして投影画像を抽出し、その抽出された投影画像に含まれる各ポイントを3次元空間に配置し、3次元空間の所定の座標系である基本座標系において、ポイントの座標が整数値でない場合、そのポイントの座標が整数値となるように、そのポイントを2次元平面に対して垂直な方向に移動させ、ポイントクラウドを再構築する。本開示は、例えば、画像処理装置、電子機器、画像処理方法、またはプログラム等に適用することができる。
Description
本開示は、画像処理装置および方法に関し、特に、ポイントクラウドの主観的品質の低減を抑制することができるようにした画像処理装置および方法に関する。
従来、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドデータ(Point cloud data)の符号化・復号の標準化がMPEG(Moving Picture Experts Group)で進められている(例えば、非特許文献1参照)。
また、ポイントクラウドの位置情報と属性情報とを小領域毎に2次元平面に投影し、その2次元平面に投影された画像(パッチ)をフレーム画像内に配置し、そのフレーム画像を2次元画像用の符号化方法で符号化する方法(以下、ビデオベースドアプローチ(Video-based approach)とも称する)が提案された(例えば、非特許文献2乃至非特許文献4参照)。
そして、そのビデオベースドアプローチにおいて、ポイントの投影方向に、直交6方向に加えて45度を追加するツールが採用された(例えば、非特許文献5参照)。
"Information technology - MPEG-I (Coded Representation of Immersive Media) - Part 9: Geometry-based Point Cloud Compression", ISO/IEC 23090-9:2019(E)
Tim Golla and Reinhard Klein, "Real-time Point Cloud Compression ," IEEE, 2015
K. Mammou, "Video-based and Hierarchical Approaches Point Cloud Compression" , MPEG m41649, Oct. 2017
K. Mammou,"PCC Test Model Category 2 v0," N17248 MPEG output document, October 2017
Satoru Kuma, Ohji Nakagami, "PCC TMC2 with additional projection plane", ISO/IEC JTC1/SC29/WG11 MPEG2018/ m43494, July 2018, Ljubljana, SI
しかしながら、実際のデプス値の歪みの乗り方は投影方向に依存する。そのため、再構成された少数精度のポイント位置を整数位置にするために、単純に座標の小数値を切り捨てたり切り上げたりするのみでは、再構築されたポイントクラウドの主観的品質が低減するおそれがあった。
本開示は、このような状況に鑑みてなされたものであり、ポイントクラウドの主観的品質の低減を抑制することができるようにするものである。
本技術の一側面の画像処理装置は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像が配置されたフレーム画像の符号化データを復号する復号部と、前記復号部により前記符号化データが復号されて得られた前記フレーム画像をアンパッキングして前記投影画像を抽出するアンパッキング部と、前記アンパッキング部により抽出された前記投影画像に含まれる各ポイントを、3次元空間に配置して前記ポイントクラウドを再構築する再構築部とを備え、前記再構築部は、前記3次元空間の所定の座標系である基本座標系において前記ポイントの座標が整数値でない場合、前記ポイントの座標が整数値となるように、前記ポイントを前記2次元平面に対して垂直な方向に移動させる画像処理装置である。
本技術の一側面の画像処理方法は、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像が配置されたフレーム画像の符号化データを復号し、前記符号化データが復号されて得られた前記フレーム画像をアンパッキングして前記投影画像を抽出し、抽出された前記投影画像に含まれる各ポイントを3次元空間に配置し、前記3次元空間の所定の座標系である基本座標系において、前記ポイントの座標が整数値でない場合、前記ポイントの座標が整数値となるように、前記ポイントを前記2次元平面に対して垂直な方向に移動させ、前記ポイントクラウドを再構築する画像処理方法である。
本技術の一側面の画像処理装置および方法においては、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像が配置されたフレーム画像の符号化データが復号され、その符号化データが復号されて得られたフレーム画像がアンパッキングされて投影画像が抽出され、その抽出された投影画像に含まれる各ポイントが3次元空間に配置され、その3次元空間の所定の座標系である基本座標系において、ポイントの座標が整数値でない場合、そのポイントの座標が整数値となるように、そのポイントが2次元平面に対して垂直な方向に移動され、ポイントクラウドが再構築される。
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.ポイントクラウドの再構築
2.第1の実施の形態
3.付記
1.ポイントクラウドの再構築
2.第1の実施の形態
3.付記
<1.ポイントクラウドの再構築>
<技術内容・技術用語をサポートする文献等>
本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献等に記載されている内容や以下の非特許文献において参照されている他の文献の内容等も含まれる。
<技術内容・技術用語をサポートする文献等>
本技術で開示される範囲は、実施の形態に記載されている内容だけではなく、出願当時において公知となっている以下の非特許文献等に記載されている内容や以下の非特許文献において参照されている他の文献の内容等も含まれる。
非特許文献1:(上述)
非特許文献2:(上述)
非特許文献3:(上述)
非特許文献4:(上述)
非特許文献5:(上述)
非特許文献2:(上述)
非特許文献3:(上述)
非特許文献4:(上述)
非特許文献5:(上述)
つまり、上述の非特許文献に記載されている内容や、上述の非特許文献において参照されている他の文献の内容等も、サポート要件を判断する際の根拠となる。
<ポイントクラウド>
従来、点の位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)等の3Dデータが存在した。
従来、点の位置情報や属性情報等により3次元構造を表すポイントクラウド(Point cloud)等の3Dデータが存在した。
例えばポイントクラウドの場合、立体構造物(3次元形状のオブジェクト)を多数の点の集合として表現する。ポイントクラウドのデータ(ポイントクラウドデータとも称する)は、各点の位置情報(ジオメトリデータとも称する)と属性情報(アトリビュートデータとも称する)とにより構成される。アトリビュートデータは任意の情報を含むことができる。例えば、各ポイントの色情報、反射率情報、法線情報等がアトリビュートデータに含まれるようにしてもよい。このようにポイントクラウドデータは、データ構造が比較的単純であるとともに、十分に多くの点を用いることにより任意の立体構造物を十分な精度で表現することができる。
<ボクセルを用いた位置情報の量子化>
このようなポイントクラウドデータはそのデータ量が比較的大きいので、符号化等によるデータ量を圧縮するために、ボクセル(Voxel)を用いた符号化方法が考えられた。ボクセルは、ジオメトリデータ(位置情報)を量子化するための3次元領域である。
このようなポイントクラウドデータはそのデータ量が比較的大きいので、符号化等によるデータ量を圧縮するために、ボクセル(Voxel)を用いた符号化方法が考えられた。ボクセルは、ジオメトリデータ(位置情報)を量子化するための3次元領域である。
つまり、ポイントクラウドを内包する3次元領域(バウンディングボックス(Bounding box)とも称する)をボクセルと称する小さな3次元領域に分割し、そのボクセル毎に、ポイントを内包するか否かを示すようにする。このようにすることにより、各ポイントの位置はボクセル単位に量子化される。したがって、ポイントクラウド(Point cloud)データをこのようなボクセルのデータ(ボクセル(Voxel)データとも称する)に変換することにより、情報量の増大を抑制する(典型的には情報量を削減する)ことができる。
<ビデオベースドアプローチの概要>
ビデオベースドアプローチ(Video-based approach)では、このようなポイントクラウドのジオメトリデータやアトリビュートデータが、小領域毎に2次元平面に投影される。このジオメトリデータやアトリビュートデータが2次元平面に投影された画像を投影画像とも称する。また、小領域毎の投影画像をパッチと称する。例えば、ジオメトリデータの投影画像(パッチ)において、ポイントの位置情報は、投影面に対して垂直方向(奥行方向)の位置情報(デプス値(Depth))として表現される。非特許文献5には、このポイントの投影方向として、直交6方向に加えて45度を追加する方法が記載されている。
ビデオベースドアプローチ(Video-based approach)では、このようなポイントクラウドのジオメトリデータやアトリビュートデータが、小領域毎に2次元平面に投影される。このジオメトリデータやアトリビュートデータが2次元平面に投影された画像を投影画像とも称する。また、小領域毎の投影画像をパッチと称する。例えば、ジオメトリデータの投影画像(パッチ)において、ポイントの位置情報は、投影面に対して垂直方向(奥行方向)の位置情報(デプス値(Depth))として表現される。非特許文献5には、このポイントの投影方向として、直交6方向に加えて45度を追加する方法が記載されている。
そして、このように生成された各パッチがフレーム画像内に配置される。ジオメトリデータのパッチが配置されたフレーム画像をジオメトリビデオフレーム(Geometry video frame)とも称する。また、アトリビュートデータのパッチが配置されたフレーム画像をカラービデオフレーム(Color video frame)とも称する。例えば、ジオメトリビデオフレームの各画素値は、上述のデプス値を示す。
そして、以上のように生成された各ビデオフレームが、例えばAVC(Advanced Video Coding)やHEVC(High Efficiency Video Coding)等といった2次元画像用の符号化方法で符号化される。
<オキュパンシーマップ>
このようなビデオベースドアプローチの場合、さらに、オキュパンシーマップを用いることもできる。オキュパンシーマップは、ジオメトリビデオフレームのNxN画素毎に、投影画像(パッチ)の有無を示すマップ情報である。例えば、オキュパンシーマップは、ジオメトリビデオフレームの、パッチが存在する領域(NxN画素)を値「1」で示し、パッチが存在しない領域(NxN画素)を値「0」で示す。
このようなビデオベースドアプローチの場合、さらに、オキュパンシーマップを用いることもできる。オキュパンシーマップは、ジオメトリビデオフレームのNxN画素毎に、投影画像(パッチ)の有無を示すマップ情報である。例えば、オキュパンシーマップは、ジオメトリビデオフレームの、パッチが存在する領域(NxN画素)を値「1」で示し、パッチが存在しない領域(NxN画素)を値「0」で示す。
このようなオキュパンシーマップが、ジオメトリビデオフレームやカラービデオフレームとは別のデータとして符号化され、復号側に伝送される。デコーダは、このオキュパンシーマップを参照することにより、パッチが存在する領域であるか否かを把握することができるので、符号化・復号により生じるノイズ等の影響を抑制することができ、より正確に3Dデータを復元することができる。例えば、符号化・復号によりデプス値が変化しても、デコーダは、オキュパンシーマップを参照することにより、パッチが存在しない領域のデプス値を無視する(3Dデータの位置情報として処理しないようにする)ことができる。
<圧縮歪み>
しかしながら、このビデオベースドアプローチの場合、ビデオフレームの符号化・復号は非可逆な方法で行われるため、符号化前と復号後において画素値が変化し得る。つまり、ポイントの位置が投影方向に変化し得る(圧縮歪みが生じ得る)。そのため、このビデオベースドアプローチにより生成した符号化データを復号して再構築したポイントクラウドの主観的品質(つまり、ポイントクラウドを2次元平面に投影した表示用画像の主観的画質)が低減するおそれがあった。
しかしながら、このビデオベースドアプローチの場合、ビデオフレームの符号化・復号は非可逆な方法で行われるため、符号化前と復号後において画素値が変化し得る。つまり、ポイントの位置が投影方向に変化し得る(圧縮歪みが生じ得る)。そのため、このビデオベースドアプローチにより生成した符号化データを復号して再構築したポイントクラウドの主観的品質(つまり、ポイントクラウドを2次元平面に投影した表示用画像の主観的画質)が低減するおそれがあった。
例えば、図1のAのようにあるボクセル10のポイント11を所定の2次元平面である投影面12に投影するとする。なお、本明細書においては、説明の便宜上、実際には3次元空間における事例を、2次元平面を用いて説明する。ここで、ボクセル(図1の例の場合ボクセル10)の各辺に沿った座標軸を持つ3次元空間の座標系を基本座標系と称する。d軸およびu軸は、その基本座標系の互いに垂直な座標軸である。ポイント11のこの基本座標系の座標(u,d)を(0,0)とする。そして、投影面12は、ボクセル10の図中左下角(基本座標系の原点)を通り、u軸およびd軸に対して45度の角度を有する。つまり、ポイント11の投影の向きは、図中左下の向き(45度)となる。
この基本座標系を、投影面に対して垂直な座標軸を有する座標系(投影座標系と称する)に置き換えると、例えば、図1のBのようになる。この場合、d’軸は、投影面12に対して垂直な座標系であり、u’軸は、投影面12に対して平行な座標系である。ポイント11の、この投影座標系における座標(u',d')が、(2,0)となるとする。
ビデオベースドアプローチにより符号化・復号することにより、例えば、図1のCのように、圧縮歪みによりポイント11の位置がd’軸に沿って(投影面12に対して垂直方向に)移動する。この移動後のポイント11をポイント11’とする。図1のCに示されるように、そのポイント11’の座標(u',d')が、(2,1)となるとする。
このポイント11’の座標は、基本座標系に直すと、図2のAのように、(0.5,0,5)となる。現在採用されている方法では、少数精度の座標は、小数値が切り捨てられて整数精度に丸められる。したがって、ポイント11’の基本座標系の座標(u,d)は、図2のBのように丸められて(0,0)となる。
この場合、図2のCのbeforeとafterのように、投影面12から見たポイント11の位置とポイント11’の位置は同一である。つまり、符号化・復号前後において、ポイント11の投影面に対して水平方向の位置は変化しない。
例えば、図3のAのようにあるボクセル20のポイント21を所定の2次元平面である投影面22に投影するとする。ポイント21のこの基本座標系の座標(u,d)を(0,1)とする。そして、投影面22は、ボクセル20の図中左上角を通り、u軸およびd軸に対して45度の角度を有する。つまり、ポイント21の投影の向きは、図中左上の向き(45度)となる。
この基本座標系を、投影座標系に置き換えると、例えば、図3のBのようになる。この場合、d’軸は、投影面22に対して垂直な座標系であり、u’軸は、投影面22に対して平行な座標系である。ポイント21の、この投影座標系における座標(u',d')が、(2,0)となるとする。
ビデオベースドアプローチにより符号化・復号することにより、例えば、図3のCのように、圧縮歪みによりポイント21の位置がd’軸に沿って(投影面22に対して垂直方向に)移動する。この移動後のポイント21をポイント21’とする。図3のCに示されるように、そのポイント31’の座標(u',d')が、(2,1)となるとする。
このポイント21’の座標は、基本座標系に直すと、図4のAのように、(0.5,0,5)となる。現在採用されている方法では、少数精度の座標は、小数値が切り捨てられて整数精度に丸められる。したがって、ポイント21’の基本座標系の座標(u,d)は、図4のBのように丸められて(0,0)となる。
この場合、図4のCのbeforeとafterのように、投影面22から見たポイント21の位置とポイント21’の位置が互いに異なる。つまり、符号化・復号前後において、ポイント21は、投影面に対して水平方向に移動する。
<圧縮歪みによる品質の低減>
例えば、図5のAのように、ポイントクラウド31は、ビデオベースドアプローチにより符号化・復号されて再構築されたポイントクラウドとし、矢印32は、投影面からそのポイントクラウド31を見る場合の視線の向き(つまり投影面に対して垂直な向き)であるとする。また、ポイント33を符号化・復号前のポイントクラウド31の所定のポイントとし、ポイント33’を、符号化・復号後のポイント33であるとする。
例えば、図5のAのように、ポイントクラウド31は、ビデオベースドアプローチにより符号化・復号されて再構築されたポイントクラウドとし、矢印32は、投影面からそのポイントクラウド31を見る場合の視線の向き(つまり投影面に対して垂直な向き)であるとする。また、ポイント33を符号化・復号前のポイントクラウド31の所定のポイントとし、ポイント33’を、符号化・復号後のポイント33であるとする。
図5のAの下側に、ポイント33およびポイント33の、投影面から見た位置を示す。この場合、ポイント33およびポイント33の投影面から見た位置、すなわち、ポイント33およびポイント33の投影面に対して水平方向の位置は互いに同一である。
このポイント33のように、ポイントクラウド31の各ポイントの投影面から見た位置が符号化・復号前後で互いに同一となる場合、ポイントクラウド31を矢印32から見た場合の画像は、符号化・復号の前後で略同様になる。つまり、このように、座標の丸めによりポイントクラウドのポイントが投影面に対して水平方向に移動しない場合、ポイントクラウド31の主観的品質の低減が抑制される。
図5のBにおいて、矢印34は、投影面からそのポイントクラウド31を見る場合の視線の向き(つまり投影面に対して垂直な向き)であるとする。図5のBの下側に示されるように、この場合のポイント33およびポイント33の投影面から見た位置、すなわち、ポイント33およびポイント33の投影面に対して水平方向の位置は互いに異なる。
このポイント33のように、ポイントクラウド31の各ポイントの投影面から見た位置が座標の丸めにより変化する(投影面に対して水平方向に移動する)と、符号化・復号後のポイントクラウド31を矢印34から見た場合に、ポイントクラウド31に穴が生じるおそれがあった。そのため、矢印34の向きにそのポイントクラウド31を見た場合の画像の主観画質が低減するおそれがあった。つまり、座標の丸めによりポイントクラウド31の主観的品質が低減するおそれがあった。
<座標整数化>
そこで、図6の表の一番上の段に示されるように、ポイントを投影面に対して垂直な方向に移動させることにより、基本座標系における座標を整数化する。
そこで、図6の表の一番上の段に示されるように、ポイントを投影面に対して垂直な方向に移動させることにより、基本座標系における座標を整数化する。
例えば、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像が配置されたフレーム画像の符号化データを復号し、その符号化データが復号されて得られたフレーム画像をアンパッキングして投影画像を抽出し、その抽出された投影画像に含まれる各ポイントを3次元空間に配置し、その3次元空間の所定の座標系である基本座標系において、ポイントの座標が整数値でない場合、そのポイントの座標が整数値となるように、そのポイントを2次元平面に対して垂直な方向に移動させ、ポイントクラウドを再構築する。
例えば、情報処理装置において、3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像が配置されたフレーム画像の符号化データを復号する復号部と、その復号部によりその符号化データが復号されて得られたフレーム画像をアンパッキングして投影画像を抽出するアンパッキング部と、そのアンパッキング部により抽出された投影画像に含まれる各ポイントを、3次元空間に配置してポイントクラウドを再構築する再構築部とを備え、その再構築部は、3次元空間の所定の座標系である基本座標系においてポイントの座標が整数値でない場合、そのポイントの座標が整数値となるように、そのポイントを2次元平面に対して垂直な方向に移動させるようにする。
このようにすることにより、座標の丸めによりポイントが投影面に対して水平な方向に移動することを抑制することができ、ポイントクラウドの主観的品質の低減を抑制することができる。
<基本座標系における丸め処理>
その際、図6の表の上から2番目の段に示される方法1のように、投影面の向きに応じてポイントの座標の丸め方法を選択するようにしてもよい。例えば、ポイントの基本座標系の座標を更新することにより、そのポイントを移動させるようにしてもよい。つまり、基本座標系において、ポイントの座標が整数値となるように、そのポイントを投影面に対して垂直な方向に移動させるようにしてもよい。
その際、図6の表の上から2番目の段に示される方法1のように、投影面の向きに応じてポイントの座標の丸め方法を選択するようにしてもよい。例えば、ポイントの基本座標系の座標を更新することにより、そのポイントを移動させるようにしてもよい。つまり、基本座標系において、ポイントの座標が整数値となるように、そのポイントを投影面に対して垂直な方向に移動させるようにしてもよい。
また、ポイントの基本座標系の各座標について、小数値を切り上げるか、または切り捨てることにより、そのポイントを移動させるようにしてもよい。つまり、座標を整数化するためのポイントの移動は、そのポイントの座標の小数値の切り上げ、または、切り捨てにより行うようにしてもよい。
<投影面に近づく向き>
さらに、この座標を整数化するためのポイントの移動において、例えば、図6の表の上から3番目の段に示される方法1-1のように、投影面に対して垂直な方向の、その投影面に近づく向きにポイントを移動させるようにしてもよい。
さらに、この座標を整数化するためのポイントの移動において、例えば、図6の表の上から3番目の段に示される方法1-1のように、投影面に対して垂直な方向の、その投影面に近づく向きにポイントを移動させるようにしてもよい。
<投影面例1>
例えば、図7のAのように、あるボクセル110のポイント111を所定の2次元平面である投影面112に投影するとする。ここで、d軸およびu軸は、ボクセル110の各辺に沿った座標軸を持つ基本座標系の互いに垂直な座標軸である。ポイント111のこの基本座標系の座標(u,d)を(0,0)とする。そして、投影面112は、ボクセル110の図中左下角(基本座標系の原点)を通り、u軸およびd軸に対して45度の角度を有する。つまり、ポイント111の投影の向きは、図中左下の向き(45度)となる。
例えば、図7のAのように、あるボクセル110のポイント111を所定の2次元平面である投影面112に投影するとする。ここで、d軸およびu軸は、ボクセル110の各辺に沿った座標軸を持つ基本座標系の互いに垂直な座標軸である。ポイント111のこの基本座標系の座標(u,d)を(0,0)とする。そして、投影面112は、ボクセル110の図中左下角(基本座標系の原点)を通り、u軸およびd軸に対して45度の角度を有する。つまり、ポイント111の投影の向きは、図中左下の向き(45度)となる。
投影面に対して垂直な座標軸を有する座標系である投影座標系では、図7のBのようになる。この場合、d'軸は、投影面112に対して垂直な座標系であり、u'軸は、投影面112に対して平行な座標系である。ポイント111の、この投影座標系における座標(u',d')が、(2,0)となるとする。
ビデオベースドアプローチにより符号化・復号することにより、例えば、図7のCのように、圧縮歪みによりポイント111の位置がd'軸に沿って(投影面112に対して垂直方向に)移動する。この移動後のポイント111をポイント111'とする。図7のCに示されるように、そのポイント111'の座標(u',d')が、(2,1)となるとする。
この投影座標系を基本座標系に変換すると(つまり座標系を回転させると)、ポイント111'の座標は、図7のDのように、(0.5,0,5)となる。つまり、図1および図2の例の場合と同様である。
ここで、ポイント111’が投影面112に対して垂直な方向(図中、左下右上の斜め45度の方向)に移動するように、u座標およびd座標の小数値を切り捨てる。この丸め処理後のポイント111’をポイント111’’とすると、そのポイント111’’の座標は、図7のEのように、(0,0)となる。つまり、ポイント111’’の位置が、図1および図2の例の場合と同様に、図7のAのポイント111と同じ位置となる。
換言するに、ポイント111およびポイント111’’は、互いに、投影面112に対して垂直な方向に位置する。したがって、この場合、図7のFのbeforeとafterのように、投影面112から見たポイント111の位置とポイント111'’の位置は互いに同一である。つまり、符号化・復号前と符号化・復号後(の丸め処理後)とにおいて、ポイント111の投影面に対して水平方向の位置は変化しない。
<投影面例2>
次に、例えば、図8のAのように、あるボクセル120のポイント121を所定の2次元平面である投影面122に投影するとする。d軸およびu軸は、ボクセル120の各辺に沿った座標軸を持つ基本座標系の互いに垂直な座標軸である。ポイント121のこの基本座標系の座標(u,d)を(0,1)とする。そして、投影面122は、ボクセル120の図中左上角を通り、u軸およびd軸に対して45度の角度を有する。つまり、ポイント121の投影の向きは、図中左上の向き(45度)となる。
次に、例えば、図8のAのように、あるボクセル120のポイント121を所定の2次元平面である投影面122に投影するとする。d軸およびu軸は、ボクセル120の各辺に沿った座標軸を持つ基本座標系の互いに垂直な座標軸である。ポイント121のこの基本座標系の座標(u,d)を(0,1)とする。そして、投影面122は、ボクセル120の図中左上角を通り、u軸およびd軸に対して45度の角度を有する。つまり、ポイント121の投影の向きは、図中左上の向き(45度)となる。
投影座標系では、図8のBのようになる。この場合、d'軸は、投影面122に対して垂直な座標系であり、u'軸は、投影面122に対して平行な座標系である。ポイント121の、この投影座標系における座標(u',d')が、(2,0)となるとする。
ビデオベースドアプローチにより符号化・復号することにより、例えば、図8のCのように、圧縮歪みによりポイント121の位置がd'軸に沿って(投影面122に対して垂直方向に)移動する。この移動後のポイント121をポイント121'とする。図8のCに示されるように、そのポイント121'の座標(u',d')が、(2,1)となるとする。
この投影座標系を基本座標系に変換すると(つまり座標系を回転させると)、ポイント121'の座標は、図8のDのように、(0.5,0,5)となる。つまり、図3および図4の例の場合と同様である。
ここで、ポイント121'が投影面122に対して垂直な方向(図中、左上右下の斜め45度の方向)に移動するように、u座標の小数値を切り捨て、d座標の小数値を切り上げる。この丸め処理後のポイント121'をポイント121''とすると、そのポイント121''の座標は、図8のEのように、(0,1)となる。つまり、図3および図4の例の場合と異なり、ポイント121’’の位置が、図8のAのポイント121と同じ位置となる。
換言するに、ポイント121およびポイント121’’は、互いに、投影面122に対して垂直な方向に位置する。したがって、この場合、図8のFのbeforeとafterのように、投影面122から見たポイント121の位置とポイント121''の位置は互いに同一である。つまり、符号化・復号前と符号化・復号後(の丸め処理後)とにおいて、ポイント121の投影面に対して水平方向の位置は変化しない。
<投影面例3>
次に、例えば、図9のAのように、あるボクセル130のポイント131を所定の2次元平面である投影面132に投影するとする。d軸およびu軸は、ボクセル130の各辺に沿った座標軸を持つ基本座標系の互いに垂直な座標軸である。ポイント131のこの基本座標系の座標(u,d)を(1,1)とする。そして、投影面132は、ボクセル130の図中右上角を通り、u軸およびd軸に対して45度の角度を有する。つまり、ポイント131の投影の向きは、図中右上の向き(45度)となる。
次に、例えば、図9のAのように、あるボクセル130のポイント131を所定の2次元平面である投影面132に投影するとする。d軸およびu軸は、ボクセル130の各辺に沿った座標軸を持つ基本座標系の互いに垂直な座標軸である。ポイント131のこの基本座標系の座標(u,d)を(1,1)とする。そして、投影面132は、ボクセル130の図中右上角を通り、u軸およびd軸に対して45度の角度を有する。つまり、ポイント131の投影の向きは、図中右上の向き(45度)となる。
投影座標系では、図9のBのようになる。この場合、d'軸は、投影面132に対して垂直な座標系であり、u'軸は、投影面132に対して平行な座標系である。ポイント131の、この投影座標系における座標(u',d')が、(2,0)となるとする。
ビデオベースドアプローチにより符号化・復号することにより、例えば、図9のCのように、圧縮歪みによりポイント131の位置がd'軸に沿って(投影面132に対して垂直方向に)移動する。この移動後のポイント131をポイント131'とする。図9のCに示されるように、そのポイント131'の座標(u',d')が、(2,1)となるとする。
この投影座標系を基本座標系に変換すると(つまり座標系を回転させると)、ポイント131'の座標は、図9のDのように、(0.5,0,5)となる。
ここで、ポイント131'が投影面132に対して垂直な方向(図中、左下右上の斜め45度の方向)に移動するように、u座標およびd座標の小数値を切り上げる。この丸め処理後のポイント131'をポイント131''とすると、そのポイント131''の座標は、図9のEのように、(1,1)となる。つまり、ポイント131’’の位置が、図9のAのポイント131と同じ位置となる。
換言するに、ポイント131およびポイント131’’は、互いに、投影面132に対して垂直な方向に位置する。したがって、この場合、図9のFのbeforeとafterのように、投影面132から見たポイント131の位置とポイント131''の位置は互いに同一である。つまり、符号化・復号前と符号化・復号後(の丸め処理後)とにおいて、ポイント131の投影面に対して水平方向の位置は変化しない。
<投影面例4>
次に、例えば、図10のAのように、あるボクセル140のポイント141を所定の2次元平面である投影面142に投影するとする。d軸およびu軸は、ボクセル140の各辺に沿った座標軸を持つ基本座標系の互いに垂直な座標軸である。ポイント141のこの基本座標系の座標(u,d)を(1,0)とする。そして、投影面142は、ボクセル140の図中右下角を通り、u軸およびd軸に対して45度の角度を有する。つまり、ポイント141の投影の向きは、図中右下の向き(45度)となる。
次に、例えば、図10のAのように、あるボクセル140のポイント141を所定の2次元平面である投影面142に投影するとする。d軸およびu軸は、ボクセル140の各辺に沿った座標軸を持つ基本座標系の互いに垂直な座標軸である。ポイント141のこの基本座標系の座標(u,d)を(1,0)とする。そして、投影面142は、ボクセル140の図中右下角を通り、u軸およびd軸に対して45度の角度を有する。つまり、ポイント141の投影の向きは、図中右下の向き(45度)となる。
投影座標系では、図10のBのようになる。この場合、d'軸は、投影面142に対して垂直な座標系であり、u'軸は、投影面142に対して平行な座標系である。ポイント141の、この投影座標系における座標(u',d')が、(2,0)となるとする。
ビデオベースドアプローチにより符号化・復号することにより、例えば、図10のCのように、圧縮歪みによりポイント141の位置がd'軸に沿って(投影面142に対して垂直方向に)移動する。この移動後のポイント141をポイント141'とする。図10のCに示されるように、そのポイント141'の座標(u',d')が、(2,1)となるとする。
この投影座標系を基本座標系に変換すると(つまり座標系を回転させると)、ポイント141'の座標は、図10のDのように、(0.5,0,5)となる。
ここで、ポイント141'が投影面142に対して垂直な方向(図中、左上右下の斜め45度の方向)に移動するように、u座標の小数値を切り上げ、d座標の小数値を切り捨てる。この丸め処理後のポイント141'をポイント141''とすると、そのポイント141''の座標は、図10のEのように、(1,0)となる。つまり、図10のAのポイント141と同じ位置となる。
換言するに、ポイント141およびポイント141’’は、互いに、投影面132に対して垂直な方向に位置する。したがって、この場合、図10のFのbeforeとafterのように、投影面142から見たポイント141の位置とポイント141''の位置は互いに同一である。つまり、符号化・復号前と符号化・復号後(の丸め処理後)とにおいて、ポイント141の投影面に対して水平方向の位置は変化しない。
以上のように、いずれの投影面の場合も、上述したそれぞれの方法を適用することにより、ポイントを投影面に対して垂直な方向に移動させるように丸め処理を行うことができる。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
<丸め方法の選択>
付言するに、ポイントを投影面に対して垂直な方向に移動させる座標の丸め方法は、その投影面の向き(投影の向き)に基づいて明らかである。したがって、各投影面の候補に対応する丸め処理の方法を予め用意しておき、選択された投影面に応じた丸め処理の方法が選択されるようにしてもよい。つまり、ポイントの基本座標系の各座標について、小数値を切り上げるかまたは切り捨てるかを、投影面の向きに応じて選択するようにしてもよい。例えば、ポイントを移動させるための、各座標の小数値の切り上げ、切り捨てのパタンの候補を、向きが既知の投影面の各候補に対して予め用意し、適用される投影面の向きに応じて、その候補の中から適用するパタンを選択するようにしてもよい。つまり、ポイントの移動の向きの設定を、投影面の向きに応じて候補の中から選択することにより行うようにしてもよい。
付言するに、ポイントを投影面に対して垂直な方向に移動させる座標の丸め方法は、その投影面の向き(投影の向き)に基づいて明らかである。したがって、各投影面の候補に対応する丸め処理の方法を予め用意しておき、選択された投影面に応じた丸め処理の方法が選択されるようにしてもよい。つまり、ポイントの基本座標系の各座標について、小数値を切り上げるかまたは切り捨てるかを、投影面の向きに応じて選択するようにしてもよい。例えば、ポイントを移動させるための、各座標の小数値の切り上げ、切り捨てのパタンの候補を、向きが既知の投影面の各候補に対して予め用意し、適用される投影面の向きに応じて、その候補の中から適用するパタンを選択するようにしてもよい。つまり、ポイントの移動の向きの設定を、投影面の向きに応じて候補の中から選択することにより行うようにしてもよい。
例えば、上述の4つの投影面(投影面112、投影面122、投影面132、および投影面142)が候補として設けられる場合、座標の丸め方法の候補として、(1)u座標およびd座標の小数値の切り捨て、(2)u座標の小数値の切り捨てとd座標の小数値の切り上げ、(3)u座標およびd座標の小数値の切り上げ、(4)u座標の小数値の切り上げとd座標の小数値の切り捨ての4種類のパタンを用意し、選択された投影面に応じて、その4つの候補のいずれかが選択されるようにする。
例えば、図11のAに示されるように、ポイント111が投影面112に投影される場合、上述の方法(1)が適用される。つまり、ポイント111’’のu座標およびd座標の小数値が切り捨てられる。また、図11のBに示されるように、ポイントが投影面122に投影される場合、上述の方法(2)が適用される。つまり、ポイント121’’のu座標の小数値が切り捨てられ、d座標の小数値が切り上げられる。さらに、図11のCに示されるように、ポイントが投影面132に投影される場合、上述の方法(3)が適用される。つまり、ポイント131’’のu座標およびd座標の小数値が切り上げられる。また、図11のDに示されるように、ポイントが投影面142に投影される場合、上述の方法(4)が適用される。つまり、ポイント141’’のu座標の小数値が切り上げられ、d座標の小数値が切り捨てられる。
このようにすることにより、投影面に対応する丸め方法の適用をより容易に行うことができる。
<投影面から遠ざかる向き>
なお、ポイントの移動の向きは上述の例に限定されない。例えば、図6の表の上から4番目の段に示される方法1-2のように、投影面に対して垂直な方向の、その投影面から遠ざかる向きにポイントを移動させるようにしてもよい。つまり、図7乃至図10の各例において、ポイントを逆向きに移動させてもよい。
なお、ポイントの移動の向きは上述の例に限定されない。例えば、図6の表の上から4番目の段に示される方法1-2のように、投影面に対して垂直な方向の、その投影面から遠ざかる向きにポイントを移動させるようにしてもよい。つまり、図7乃至図10の各例において、ポイントを逆向きに移動させてもよい。
例えば、図12のAに示されるように、投影面112に対して、ポイント111’’のu座標およびd座標の小数値が切り上げるようにしてもよい。このようにすることにより、ポイントを図7の場合と逆向きに移動させることができる。この場合もポイント111およびポイント111''は、互いに、投影面112に対して垂直な方向に位置するので、符号化・復号前と符号化・復号後(の丸め処理後)とにおいて、ポイント111の投影面に対して水平方向の位置は変化しない。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
また、例えば、図12のBに示されるように、投影面122に対して、ポイント121’’のu座標の小数値が切り上げられ、d座標の小数値が切り捨てられるようにしてもよい。このようにすることにより、ポイントを図8の場合と逆向きに移動させることができる。この場合もポイント121およびポイント121''は、互いに、投影面122に対して垂直な方向に位置するので、符号化・復号前と符号化・復号後(の丸め処理後)とにおいて、ポイント121の投影面に対して水平方向の位置は変化しない。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
さらに、例えば、図12のCに示されるように、投影面132に対して、ポイント131’’のu座標およびd座標の小数値が切り捨てられるようにしてもよい。このようにすることにより、ポイントを図9の場合と逆向きに移動させることができる。この場合もポイント131およびポイント131''は、互いに、投影面132に対して垂直な方向に位置するので、符号化・復号前と符号化・復号後(の丸め処理後)とにおいて、ポイント131の投影面に対して水平方向の位置は変化しない。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
また、図12のDに示されるように、投影面142に対して、ポイント141’’のu座標の小数値が切り捨てられ、d座標の小数値が切り上げられるようにしてもよい。このようにすることにより、ポイントを図10の場合と逆向きに移動させることができる。この場合もポイント141およびポイント141''は、互いに、投影面142に対して垂直な方向に位置するので、符号化・復号前と符号化・復号後(の丸め処理後)とにおいて、ポイント141の投影面に対して水平方向の位置は変化しない。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
もちろん、この向きの場合も、各投影面の候補に対応する丸め処理の方法を予め用意しておき、選択された投影面に応じた丸め処理の方法が選択されるようにしてもよい。
例えば、上述の4つの投影面(投影面112、投影面122、投影面132、および投影面142)が候補として設けられる場合、座標の丸め方法の候補として、(1)u座標およびd座標の小数値の切り上げ、(2)u座標の小数値の切り上げとd座標の小数値の切り捨て、(3)u座標およびd座標の小数値の切り捨て、(4)u座標の小数値の切り捨てとd座標の小数値の切り上げの4種類のパタンを用意し、選択された投影面に応じて、その4つの候補のいずれかが選択されるようにする。
例えば、図12のAに示されるように、ポイント111が投影面112に投影される場合、上述の方法(1)が適用される。つまり、ポイント111’’のu座標およびd座標の小数値が切り上げられる。また、図12のBに示されるように、ポイントが投影面122に投影される場合、上述の方法(2)が適用される。つまり、ポイント121’’のu座標の小数値が切り上げられ、d座標の小数値が切り捨てられる。さらに、図12のCに示されるように、ポイントが投影面132に投影される場合、上述の方法(3)が適用される。つまり、ポイント131’’のu座標およびd座標の小数値が切り捨てられる。また、図12のDに示されるように、ポイントが投影面142に投影される場合、上述の方法(4)が適用される。つまり、ポイント141’’のu座標の小数値が切り捨てられ、d座標の小数値が切り上げられる。
このようにすることにより、投影面に対応する丸め方法の適用をより容易に行うことができる。
<向きの選択>
なお、上述の2つの向き(投影面に近づく向きと投影面から遠ざかる向き)の中からいずれか一方を選択して適用することができるようにしてもよい。このようにすることにより、例えば、ポイントクラウド(ポイントの分布状況)に応じた向きにポイントを移動させるように丸め処理を行うことができる。したがって、ポイントクラウドの主観的品質の低減を、より抑制することができる。なお、このポイントの移動の向きを行うデータ単位は任意である。例えば、ポイントの移動の向きをフレーム毎に設定することができるようにしてもよい。また、例えば、ポイントの移動の向きをパッチ毎に設定することができるようにしてもよい。もちろん、これら以外のデータ単位であってもよい。
なお、上述の2つの向き(投影面に近づく向きと投影面から遠ざかる向き)の中からいずれか一方を選択して適用することができるようにしてもよい。このようにすることにより、例えば、ポイントクラウド(ポイントの分布状況)に応じた向きにポイントを移動させるように丸め処理を行うことができる。したがって、ポイントクラウドの主観的品質の低減を、より抑制することができる。なお、このポイントの移動の向きを行うデータ単位は任意である。例えば、ポイントの移動の向きをフレーム毎に設定することができるようにしてもよい。また、例えば、ポイントの移動の向きをパッチ毎に設定することができるようにしてもよい。もちろん、これら以外のデータ単位であってもよい。
<投影座標系における丸め処理>
その際、例えば、図6の表の上から5番目の段に示される方法2のように、ポイントの座標を座標変換前に投影面に垂直な方向に丸めるようにしてもよい。つまり、ポイントの投影座標系の座標を更新することにより、そのポイントを移動させるようにしてもよい。つまり、投影面に垂直な座標軸を有する座標系である投影座標系において、ポイントの基本座標系の座標が整数値となるように、そのポイントを投影面に対して垂直な方向に移動させるようにしてもよい。
その際、例えば、図6の表の上から5番目の段に示される方法2のように、ポイントの座標を座標変換前に投影面に垂直な方向に丸めるようにしてもよい。つまり、ポイントの投影座標系の座標を更新することにより、そのポイントを移動させるようにしてもよい。つまり、投影面に垂直な座標軸を有する座標系である投影座標系において、ポイントの基本座標系の座標が整数値となるように、そのポイントを投影面に対して垂直な方向に移動させるようにしてもよい。
また、例えば、基本座標系に応じて投影座標系のスケール変換を行い、スケール変換後の投影座標系において、ポイントの投影座標系の、投影面に対して垂直な座標軸の座標を整数化することにより、ポイントを移動させるようにしてもよい。
<投影面に近づく向き>
さらに、例えば、図6の表の上から6番目の段に示される方法2-1のように、ポイントの投影座標系の、投影面に対して垂直な座標軸の座標の小数値を切り捨てることにより、ポイントを移動させるようにしてもよい。つまり、ポイントを投影面に近づく向きに移動させるようにしてもよい。
さらに、例えば、図6の表の上から6番目の段に示される方法2-1のように、ポイントの投影座標系の、投影面に対して垂直な座標軸の座標の小数値を切り捨てることにより、ポイントを移動させるようにしてもよい。つまり、ポイントを投影面に近づく向きに移動させるようにしてもよい。
例えば、図13のAのように、あるボクセル110のポイント111を所定の2次元平面である投影面112に投影するとする。つまり、図7のAと同様である。ポイント111のこの基本座標系の座標(u,d)を(0,0)であり、ポイント111の投影の向きは、図中左下の向き(45度)となる。
投影面に対して垂直な座標軸を有する座標系である投影座標系では、図13のBのようになる。図7のBの場合と同様であり、ポイント111の、この投影座標系における座標(u',d')は(2,0)である。
ビデオベースドアプローチにより符号化・復号することにより、例えば、図13のCのように、圧縮歪みによりポイント111の位置がd'軸に沿って(投影面112に対して垂直方向に)移動する。つまり、図7のCと同様であり、ポイント111'の座標(u',d')が、(2,1)となる。
この場合、図7のDの場合と異なり、基本座標系におけるポイント111’の座標の丸め処理として、この投影座標系において(基本座標系に変換する前に)、ポイント111’を、投影面112に対して垂直な方向の投影面112に近づく向きに移動させる。
まず、投影座標系のスケールを、基本座標系に応じて変換する。この場合、投影座標系と基本座標系とが互いに45度の関係にあるので、図13のDに示されるように、投影座標系のスケールを2分の1にする。図13のDにおいて、d’’軸は、d’軸をスケール変換した(2分の1にした)座標軸である。これにより、ポイント111’の座標(u',d'')は、(1,0.5)となる。
そして、図13のDに示されるように、そのスケール変換後の投影座標系において、ポイント111’の、投影面に対して垂直な方向の座標軸の座標の小数値を切り捨てる。図13のDの例の場合、d’’軸が、投影面112に対して垂直な座標軸である。したがって、ポイント111’のd’’座標の小数値を切り捨てる。つまり、移動後のポイント111’(すなわちポイント111’’)の座標(u',d'')は、(1,0)となる。
この投影座標系を基本座標系に変換すると(つまり座標系を回転させると)、図13のEのように、ポイント111''の座標は、(0,0)となる。つまり、ポイント111''の位置が、図13のAのポイント111と同じ位置となる。
換言するに、ポイント111およびポイント111''は、互いに、投影面112に対して垂直な方向に位置する。つまり、符号化・復号前と符号化・復号後(の丸め処理後)とにおいて、ポイント111の投影面に対して水平方向の位置は変化しない。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
この方法は、任意の向きの投影面に対して適用することができる。つまり、この方法の場合、投影座標においてポイントを移動させるため、投影面の向きに関わらず、ポイントのd’’座標の小数値を切り捨てればよい。したがって、例えば、上述の投影面122、投影面132、投影面142等のように、ポイントを他の向きの投影面に投影する場合も、図13のように丸め処理を行うことができる。つまり、投影面の向きに応じて丸め方法を選択する必要がなく、負荷の増大を抑制することができる。
<投影面から遠ざかる向き>
さらに、例えば、図6の表の上から7番目の段に示される方法2-2のように、ポイントの投影座標系の、投影面に対して垂直な座標軸の座標の小数値を切り上げることにより、ポイントを移動させるようにしてもよい。つまり、ポイントを投影面から遠ざかる向きに移動させるようにしてもよい。
さらに、例えば、図6の表の上から7番目の段に示される方法2-2のように、ポイントの投影座標系の、投影面に対して垂直な座標軸の座標の小数値を切り上げることにより、ポイントを移動させるようにしてもよい。つまり、ポイントを投影面から遠ざかる向きに移動させるようにしてもよい。
例えば、図14のAのように、あるボクセル110のポイント111を所定の2次元平面である投影面112に投影するとする。つまり、図13のAと同様である。ポイント111のこの基本座標系の座標(u,d)を(0,0)であり、ポイント111の投影の向きは、図中左下の向き(45度)となる。
投影面に対して垂直な座標軸を有する座標系である投影座標系では、図14のBのようになる。つまり、図13のBの場合と同様であり、ポイント111の、この投影座標系における座標(u',d')は(2,0)である。
ビデオベースドアプローチにより符号化・復号することにより、例えば、図14のCのように、圧縮歪みによりポイント111の位置がd'軸に沿って(投影面112に対して垂直方向に)移動する。つまり、図13のCと同様であり、ポイント111'の座標(u',d')が、(2,1)となる。
そして、基本座標系におけるポイント111’の座標の丸め処理として、この投影座標系において(基本座標系に変換する前に)、ポイント111’を、投影面112に対して垂直な方向の投影面112から遠ざかる向きに移動させる。
まず、投影座標系のスケールを、基本座標系に応じて変換する。この場合、投影座標系と基本座標系とが互いに45度の関係にあるので、図14のDに示されるように、投影座標系のスケールを2分の1にする。図14のDにおいて、d’’軸は、d’軸をスケール変換した(2分の1にした)座標軸である。これにより、ポイント111’の座標(u',d'')は、(1,0.5)となる。
そして、図14のDに示されるように、そのスケール変換後の投影座標系において、ポイント111’の、投影面に対して垂直な方向の座標軸の座標の小数値を切り上げる。図14のDの例の場合、d’’軸が、投影面112に対して垂直な座標軸である。したがって、ポイント111’のd’’座標の小数値を切り上げる。つまり、移動後のポイント111’(すなわちポイント111’’)の座標(u',d'')は、(1,1)となる。
この投影座標系を基本座標系に変換すると(つまり座標系を回転させると)、図14のEのように、ポイント111''の座標は、(1,1)となる。つまり、ポイント111''の位置は、図13のAのポイント111の位置と異なるが、互いに、投影面112に対して垂直な方向に位置する。
つまり、この場合も、ポイントを投影面に近づける向きに移動させる場合と同様、符号化・復号前と符号化・復号後(の丸め処理後)とにおいて、ポイント111の投影面に対して水平方向の位置は変化しない。したがって、ポイントクラウドの主観的品質の低減を抑制することができる。
そして、このポイントを投影面から遠ざける向きに移動させる場合も、ポイントを投影面に近づける向きに移動させる場合と同様、この方法を、任意の向きの投影面に対して適用することができる。つまり、投影面の向きに応じて丸め方法を選択する必要がなく、負荷の増大を抑制することができる。
<投影面の向き>
なお、投影面の向きは任意であり、上述の45度の例に限定されない。つまり、図15のように、投影面は、バウンディングボックス(ボクセル)に対して、任意の角度に設けることができる。つまり、ポイントは任意の向きに投影することができる。投影面がどの向きの場合も、上述の方法を適用することができる。
なお、投影面の向きは任意であり、上述の45度の例に限定されない。つまり、図15のように、投影面は、バウンディングボックス(ボクセル)に対して、任意の角度に設けることができる。つまり、ポイントは任意の向きに投影することができる。投影面がどの向きの場合も、上述の方法を適用することができる。
例えば、図16に示されるように、ポイント201が、圧縮歪みにより、投影面に対して垂直な方向に移動するとする(両矢印202)。その圧縮歪みによる移動後のポイント201をポイント201’と称する。
このポイント201’の座標の小数値を従来のように丸めると、ポイント201’は、図17に示されるポイント201’’-1の位置に移動する。この場合、ポイント201’は投影面に対して水平方向に移動しているので、ポイントクラウドの主観的品質が低減するおそれがあった。
そこで、上述したいずれかの方法を適用し、ポイント201’の座標の小数値の丸めを行って、図17に示されるように、ポイント201’を投影面に対して垂直な方向に移動させる。例えば、ポイント201’を、投影面に対して垂直な方向の、投影面から遠ざかる向きに移動させ、ポイント201’’-2の位置に移動させる。また、例えば、ポイント201’を、投影面に対して垂直な方向の、投影面に近づく向きに移動させ、ポイント201’’-3の位置に移動させる。
このようにすることにより、ポイント111が投影面に対して水平方向に移動することを抑制し、ポイントクラウドの主観的品質の低減を抑制することができる。つまり、任意の向きの投影面に対して本技術を適用することができる。
<ポイント移動の向きの選択>
なお、一般的に、座標を丸めることによるポイントの移動量が少ない程、ポイントクラウドの主観的品質への影響が少なくなり、好ましい。ただし、この移動量は、投影面の向き(角度)に依存する。例えば、図17の例の場合、ポイント201’からポイント201’’-2までの移動距離と、ポイント201’からポイント201’’-3までの移動距離は、投影面の向き(角度)に依存する。
なお、一般的に、座標を丸めることによるポイントの移動量が少ない程、ポイントクラウドの主観的品質への影響が少なくなり、好ましい。ただし、この移動量は、投影面の向き(角度)に依存する。例えば、図17の例の場合、ポイント201’からポイント201’’-2までの移動距離と、ポイント201’からポイント201’’-3までの移動距離は、投影面の向き(角度)に依存する。
したがって、座標を丸めることによるポイントの移動の向きは、その移動量に基づいて選択するようにしてもよい。例えば、図6の表の上から8番目の段に示される方法2-3のように、ポイントの座標を投影面に近づく向きに丸めた場合と遠ざかる向きに丸めた場合との内、近い方を選択するようにしてもよい。
つまり、ポイントの投影座標系の投影面に垂直な座標軸の座標の小数値の切り上げることによるそのポイントの移動と、ポイントの投影座標系の投影面に垂直な座標軸の座標の小数値の切り捨てることによるそのポイントの移動との内、ポイントの移動距離の短い方を選択するようにしてもよい。
例えば、図17において、ポイント201’を、ポイント201’’-2の位置に移動させるか、ポイント201’’-3の位置に移動させるかを、その移動距離に基づいて選択する。例えば、移動距離が短い方を選択する。このようにすることにより、ポイントの移動による(座標の丸めによる)ポイントクラウドの主観的品質への影響の増大を抑制することができる。
なお、このポイントの移動の向きの選択は、任意のデータ単位で行うようにしてもよい。例えば、そのデータ単位毎に各ポイントの移動量を比較し、全体として移動量が少ない向きを選択するようにしてもよい。例えば、ポイントの移動の向きをフレーム毎に設定することができるようにしてもよい。また、例えば、ポイントの移動の向きをパッチ毎に設定することができるようにしてもよい。もちろん、これら以外のデータ単位であってもよい。
<オキュパンシーマップの精度に応じた本技術の適用>
なお、例えば図6の表の上から9番目の段に示される方法3のように、オキュパンシーマップの精度(Occupancy Precision)に合わせてパッチ毎にポイントの座標の丸め方法を選択するようにしてもよい。つまり、オキュパンシーマップの精度に応じて、ポイントを投影面に対して垂直な方向に移動させるようにしてもよい。例えば、オキュパンシーマップの精度(Occupancy Precision)が1の場合、本技術を適用し、ポイントを投影面に対して垂直な方向に移動させるようにしてもよい。このような制御は任意のデータ単位毎に行うことができる。例えば、パッチ毎にこのような制御を行うようにしてもよい。
なお、例えば図6の表の上から9番目の段に示される方法3のように、オキュパンシーマップの精度(Occupancy Precision)に合わせてパッチ毎にポイントの座標の丸め方法を選択するようにしてもよい。つまり、オキュパンシーマップの精度に応じて、ポイントを投影面に対して垂直な方向に移動させるようにしてもよい。例えば、オキュパンシーマップの精度(Occupancy Precision)が1の場合、本技術を適用し、ポイントを投影面に対して垂直な方向に移動させるようにしてもよい。このような制御は任意のデータ単位毎に行うことができる。例えば、パッチ毎にこのような制御を行うようにしてもよい。
なお、この方法3は、方法1とともに適用することができる。また、この方法3は、方法2とともに適用することができる。
<ポイントの複製>
また、上述のように座標の丸めにおいて、例えば図6の表の上から10番目の段に示される方法4のように、ポイントを複製するようにしてもよい。つまり、投影面に投影されたポイントを3次元空間の複数箇所に配置して前記ポイントクラウドを再構築するようにしてもよい。
また、上述のように座標の丸めにおいて、例えば図6の表の上から10番目の段に示される方法4のように、ポイントを複製するようにしてもよい。つまり、投影面に投影されたポイントを3次元空間の複数箇所に配置して前記ポイントクラウドを再構築するようにしてもよい。
このように、ポイントを複製することにより、ポイント数が増大するので、ポイントクラウドの主観的品質の低減を抑制することができる。
例えば図6の表の上から11番目の段に示される方法4-1のように、座標を投影面に近づく向きに丸めたポイントと、座標を投影面から遠ざかる向きに丸めたポイントとの両方を生成し、3次元空間に配置するようにしてもよい。つまり、投影面に投影された1つのポイントを、投影面に対して垂直な方向のその投影面に近づく向きと遠ざかる向きとの両方に移動させ、それぞれの移動後のポイントを含むポイントクラウドを再構築するようにしてもよい。
このようにすることにより、ポイント数が増大するだけでなく、ポイントの投影面に対して水平方向の移動が抑制されるので、ポイントクラウドの主観的品質の低減をさらに抑制することができる。
また、例えば図6の表の上から12番目の段に示される方法4-2のように、座標を丸める前のポイントを残したまま、座標を丸めたポイントを生成し、その両方を3次元空間に配置するようにしてもよい。つまり、投影面に対して垂直な方向に移動させた後のポイントと、移動させる前のポイントとを含むポイントクラウドを再構築するようにしてもよい。
このようにすることにより、ポイント数が増大するだけでなく、ポイントの投影面に対して水平方向の移動が抑制されるので、ポイントクラウドの主観的品質の低減をさらに抑制することができる。また、各ポイントに対する丸めに関する演算が1回で済むので、方法4-1の場合に比べて負荷の増大を抑制することができる。
もちろん、移動前のポイント、投影面に対して近づく向きに移動させたポイント、および、投影面に対して遠ざかる向きに移動させたポイントを3次元空間に配置し、それらのポイントを含むポイントクラウドを再構築するようにしてもよい。
なお、この方法4(方法4-1および方法4-2のいずれも)は、方法1とともに適用することができる。また、この方法4は、方法2とともに適用することができる。さらに、この方法4は、方法3とともに適用することができる。
<2.第1の実施の形態>
<符号化装置>
図18は、符号化装置の構成の一例を示すブロック図である。図18に示される符号化装置300は、ポイントクラウドのような3Dデータを2次元平面に投影して2次元画像用の符号化方法により符号化を行う装置(ビデオベースドアプローチを適用した符号化装置)である。
<符号化装置>
図18は、符号化装置の構成の一例を示すブロック図である。図18に示される符号化装置300は、ポイントクラウドのような3Dデータを2次元平面に投影して2次元画像用の符号化方法により符号化を行う装置(ビデオベースドアプローチを適用した符号化装置)である。
なお、図18においては、処理部やデータの流れ等の主なものを示しており、図18に示されるものが全てとは限らない。つまり、符号化装置300において、図18においてブロックとして示されていない処理部が存在したり、図18において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
図18に示されるように符号化装置300は、パッチ分解部311、パッキング部312、補助パッチ情報圧縮部313、ビデオ符号化部314、ビデオ符号化部315、OMap符号化部316、およびマルチプレクサ317を有する。
パッチ分解部311は、3Dデータの分解に関する処理を行う。例えば、パッチ分解部311は、符号化装置300に入力される、3次元構造を表す3Dデータ(例えばポイントクラウド)を取得する。また、パッチ分解部311は、取得したその3Dデータを複数の小領域(コネクションコンポーネント)に分解し、その小領域毎に3Dデータを2次元平面に投影し、ジオメトリデータのパッチやアトリビュートデータのパッチを生成する。
パッチ分解部311は、生成した各パッチに関する情報をパッキング部312に供給する。また、パッチ分解部311は、その分解に関する情報である補助パッチ情報を、補助パッチ情報圧縮部313に供給する。
パッキング部312は、データのパッキングに関する処理を行う。例えば、パッキング部312は、パッチ分解部311から供給されるパッチに関する情報を取得する。また、パッキング部312は、取得した各パッチを2次元画像に配置してビデオフレームとしてパッキングする。例えば、パッキング部312は、ジオメトリデータのパッチをビデオフレームとしてパッキングし、ジオメトリビデオフレーム(Geometry video frame(s))を生成する。また、パッキング部312は、アトリビュートデータのパッチを、ビデオフレームとしてパッキングし、カラービデオフレーム(Color video frame(s))を生成する。さらに、パッキング部312は、パッチの有無を示すオキュパンシーマップ(Occupancy Map)を生成する。
パッキング部312は、それらを後段の処理部に供給する。例えば、パッキング部312は、ジオメトリビデオフレームをビデオ符号化部314に供給し、カラービデオフレームをビデオ符号化部315に供給し、オキュパンシーマップをOMap符号化部316に供給する。また、パッキング部312は、そのパッキングに関する制御情報をマルチプレクサ317に供給する。
補助パッチ情報圧縮部313は、補助パッチ情報の圧縮に関する処理を行う。例えば、補助パッチ情報圧縮部313は、パッチ分解部311から供給される補助パッチ情報を取得する。補助パッチ情報圧縮部313は、取得した補助パッチ情報を符号化(圧縮)する。補助パッチ情報圧縮部313は、得られた補助パッチ情報の符号化データをマルチプレクサ317に供給する。
ビデオ符号化部314は、ジオメトリビデオフレームの符号化に関する処理を行う。例えば、ビデオ符号化部314は、パッキング部312から供給されるジオメトリビデオフレームを取得する。また、ビデオ符号化部314は、その取得したジオメトリビデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化する。ビデオ符号化部314は、その符号化により得られたジオメトリビデオフレームの符号化データをマルチプレクサ317に供給する。
ビデオ符号化部315は、カラービデオフレームの符号化に関する処理を行う。例えば、ビデオ符号化部315は、パッキング部312から供給されるカラービデオフレームを取得する。また、ビデオ符号化部315は、その取得したカラービデオフレームを、例えばAVCやHEVC等の任意の2次元画像用の符号化方法により符号化する。ビデオ符号化部315は、その符号化により得られたカラービデオフレームの符号化データをマルチプレクサ317に供給する。
OMap符号化部316は、オキュパンシーマップのビデオフレームの符号化に関する処理を行う。例えば、OMap符号化部316は、パッキング部312から供給されるオキュパンシーマップを取得する。また、OMap符号化部316は、その取得したオキュパンシーマップを、例えば算術符号化等の任意の符号化方法により符号化する。OMap符号化部316は、その符号化により得られたオキュパンシーマップの符号化データをマルチプレクサ317に供給する。
マルチプレクサ317は、多重化に関する処理を行う。例えば、マルチプレクサ317は、補助パッチ情報圧縮部313から供給される補助パッチ情報の符号化データを取得する。また、例えば、マルチプレクサ317は、パッキング部312から供給されるパッキングに関する制御情報を取得する。また、例えば、マルチプレクサ317は、ビデオ符号化部314から供給されるジオメトリビデオフレームの符号化データを取得する。また、例えば、マルチプレクサ317は、ビデオ符号化部315から供給されるカラービデオフレームの符号化データを取得する。また、例えば、マルチプレクサ317は、OMap符号化部316から供給されるオキュパンシーマップの符号化データを取得する。
マルチプレクサ317は、取得したそれらの情報を多重化して、ビットストリームを生成する。マルチプレクサ317は、その生成したビットストリームを符号化装置300の外部に出力する。
なお、これらの処理部(パッチ分解部311乃至マルチプレクサ317)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
<符号化処理の流れ>
符号化装置300により実行される符号化処理の流れの例を、図19のフローチャートを参照して説明する。
符号化装置300により実行される符号化処理の流れの例を、図19のフローチャートを参照して説明する。
符号化処理が開始されると、符号化装置300のパッチ分解部311は、ステップS101において、3Dデータ(例えばポイントクラウド)を小領域(コネクションコンポーネント)に分解し、各小領域のデータを2次元平面(投影面)に投影し、ジオメトリデータのパッチやアトリビュートデータのパッチを生成する。
ステップS102において、補助パッチ情報圧縮部313は、ステップS101の処理により得られた補助パッチ情報を圧縮する。ステップS103において、パッキング部312は、パッチ分解部311により生成された各パッチをパッキングし、ジオメトリビデオフレームやカラービデオフレームを生成する。また、パッキング部312は、オキュパンシーマップを生成する。
ステップS104において、ビデオ符号化部314は、ステップS103の処理により得られたジオメトリビデオフレームを、2次元画像用の符号化方法により符号化する。ステップS105において、ビデオ符号化部315は、ステップS103の処理により得られたカラービデオフレームを、2次元画像用の符号化方法により符号化する。ステップS106において、OMap符号化部316は、ステップS103の処理により得られたオキュパンシーマップを符号化する。
ステップS107において、マルチプレクサ317は、以上のように生成された各種情報を多重化し、これらの情報を含むビットストリームを生成する。ステップS108において、マルチプレクサ317は、ステップS107の処理により生成したビットストリームを符号化装置300の外部に出力する。ステップS108の処理が終了すると、符号化処理が終了する。
<復号装置>
図20は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図20に示される復号装置400は、ポイントクラウドのような3Dデータが2次元平面に投影されて符号化された符号化データを、2次元画像用の復号方法により復号し、3Dデータを再構築する装置(ビデオベースドアプローチを適用した復号装置)である。この復号装置400は、図18の符号化装置300に対応する復号装置であり、符号化装置300により生成されたビットストリームを復号して3Dデータを再構築することができる。
図20は、本技術を適用した画像処理装置の一態様である復号装置の構成の一例を示すブロック図である。図20に示される復号装置400は、ポイントクラウドのような3Dデータが2次元平面に投影されて符号化された符号化データを、2次元画像用の復号方法により復号し、3Dデータを再構築する装置(ビデオベースドアプローチを適用した復号装置)である。この復号装置400は、図18の符号化装置300に対応する復号装置であり、符号化装置300により生成されたビットストリームを復号して3Dデータを再構築することができる。
なお、図20においては、処理部やデータの流れ等の主なものを示しており、図20に示されるものが全てとは限らない。つまり、復号装置400において、図20においてブロックとして示されていない処理部が存在したり、図20において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
図20に示されるように復号装置400は、デマルチプレクサ411、補助パッチ情報復号部412、ビデオ復号部413、ビデオ復号部414、OMap復号部415、アンパッキング部416、および3D再構築部417を有する。
デマルチプレクサ411は、データの逆多重化に関する処理を行う。例えば、デマルチプレクサ411は、復号装置400に入力されるビットストリームを取得することができる。このビットストリームは、例えば、符号化装置300より供給される。
また、デマルチプレクサ411は、このビットストリームを逆多重化することができる。例えば、デマルチプレクサ411は、逆多重化によりビットストリームから補助パッチ情報の符号化データを抽出することができる。また、デマルチプレクサ411は、逆多重化によりビットストリームからジオメトリビデオフレームの符号化データを抽出することができる。さらに、デマルチプレクサ411は、逆多重化によりビットストリームからカラービデオフレームの符号化データを抽出することができる。また、デマルチプレクサ411は、逆多重化によりビットストリームからオキュパンシーマップの符号化データを抽出することができる。
さらに、デマルチプレクサ411は、抽出したデータを後段の処理部に供給することができる。例えば、デマルチプレクサ411は、抽出した補助パッチ情報の符号化データを補助パッチ情報復号部412に供給することができる。また、デマルチプレクサ411は、抽出したジオメトリビデオフレームの符号化データをビデオ復号部413に供給することができる。さらに、デマルチプレクサ411は、抽出したカラービデオフレームの符号化データをビデオ復号部414に供給することができる。また、デマルチプレクサ411は、抽出したオキュパンシーマップの符号化データをOMap復号部415に供給することができる。
また、デマルチプレクサ411は、逆多重化により、ビットストリームからパッキングに関する制御情報を抽出し、それをアンパッキング部416に供給することができる。
補助パッチ情報復号部412は、補助パッチ情報の符号化データの復号に関する処理を行う。例えば、補助パッチ情報復号部412は、デマルチプレクサ411から供給される補助パッチ情報の符号化データを取得することができる。また、補助パッチ情報復号部412は、その符号化データを復号し、補助パッチ情報を生成することができる。さらに、補助パッチ情報復号部412は、その補助パッチ情報を3D再構築部417に供給することができる。
ビデオ復号部413は、ジオメトリビデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部413は、デマルチプレクサ411から供給されるジオメトリビデオフレームの符号化データを取得することができる。また、ビデオ復号部413は、その符号化データを復号し、ジオメトリビデオフレームを生成することができる。さらに、ビデオ復号部413は、そのジオメトリビデオフレームを、アンパッキング部416に供給することができる。
ビデオ復号部414は、カラービデオフレームの符号化データの復号に関する処理を行う。例えば、ビデオ復号部414は、デマルチプレクサ411から供給されるカラービデオフレームの符号化データを取得することができる。また、ビデオ復号部414は、その符号化データを復号し、カラービデオフレームを生成することができる。さらに、ビデオ復号部414は、そのカラービデオフレームを、アンパッキング部416に供給することができる。
OMap復号部415は、オキュパンシーマップの符号化データの復号に関する処理を行う。例えば、OMap復号部415は、デマルチプレクサ411から供給されるオキュパンシーマップの符号化データを取得することができる。また、OMap復号部415は、その符号化データを復号し、オキュパンシーマップを生成することができる。さらに、OMap復号部415は、そのオキュパンシーマップを、アンパッキング部416に供給することができる。
アンパッキング部416は、アンパッキングに関する処理を行う。例えば、アンパッキング部416は、デマルチプレクサ411から供給されるパッキングに関する制御情報を取得することができる。また、アンパッキング部416は、ビデオ復号部413から供給されるジオメトリビデオフレームを取得することができる。さらに、アンパッキング部416は、ビデオ復号部414から供給されるカラービデオフレームを取得することができる。また、アンパッキング部416は、OMap復号部415から供給されるオキュパンシーマップを取得することができる。
さらに、アンパッキング部416は、これらの取得した制御情報やオキュパンシーマップに基づいてジオメトリビデオフレームやカラービデオフレームをアンパッキングし、ジオメトリデータやアトリビュートデータのパッチ等を抽出することができる。
また、アンパッキング部416は、そのジオメトリデータやアトリビュートデータのパッチ等を3D再構築部417に供給することができる。
3D再構築部417は、3Dデータの再構築に関する処理を行う。例えば、3D再構築部417は、補助パッチ情報復号部412から供給される補助パッチ情報を取得することができる。また、3D再構築部417は、アンパッキング部416から供給されるジオメトリデータのパッチ等を取得することができる。さらに、3D再構築部417は、アンパッキング部416から供給されるアトリビュートデータのパッチ等を取得することができる。また、3D再構築部417は、アンパッキング部416から供給されるオキュパンシーマップを取得することができる。
さらに、3D再構築部417は、<1.ポイントクラウドの再構築>において上述した本技術を適用し、それらの情報を用いて3Dデータ(例えばポイントクラウド(Point Cloud))を再構築する。3D再構築部417は、このような処理により得られた3Dデータを復号装置400の外部に出力する。
この3Dデータは、例えば、表示部に供給されてその画像が表示されたり、記録媒体に記録されたり、通信を介して他の装置に供給されたりする。
なお、これらの処理部(デマルチプレクサ411乃至3D再構築部417)は、任意の構成を有する。例えば、各処理部が、上述の処理を実現する論理回路により構成されるようにしてもよい。また、各処理部が、例えばCPU、ROM、RAM等を有し、それらを用いてプログラムを実行することにより、上述の処理を実現するようにしてもよい。もちろん、各処理部が、その両方の構成を有し、上述の処理の一部を論理回路により実現し、他を、プログラムを実行することにより実現するようにしてもよい。各処理部の構成は互いに独立していてもよく、例えば、一部の処理部が上述の処理の一部を論理回路により実現し、他の一部の処理部がプログラムを実行することにより上述の処理を実現し、さらに他の処理部が論理回路とプログラムの実行の両方により上述の処理を実現するようにしてもよい。
<3D再構築部>
図21は、3D再構築部417の主な構成例を示すブロック図である。図21に示されるように、3D再構築部417は、丸め方法設定部431、ジオメトリデータ再構築部432、およびアトリビュートデータ再構築部433を有する。
図21は、3D再構築部417の主な構成例を示すブロック図である。図21に示されるように、3D再構築部417は、丸め方法設定部431、ジオメトリデータ再構築部432、およびアトリビュートデータ再構築部433を有する。
丸め方法設定部431は、丸め方法の設定に関する処理を行う。例えば、丸め方法設定部431は、アンパッキング部416から供給されるジオメトリデータのパッチ等を取得することができる。また、丸め方法設定部431は、取得したジオメトリデータを用いて、ポイントの投影面の向きに応じて丸め方法を設定することができる。さらに、丸め方法設定部431は、ジオメトリデータのパッチ等とその丸め方法の設定等をジオメトリデータ再構築部432に供給することができる。
ジオメトリデータ再構築部432は、ジオメトリデータの再構築に関する処理を行う。例えば、ジオメトリデータ再構築部432は、丸め方法設定部431から供給されるジオメトリデータのパッチ等やその丸め方法の設定等を取得することができる。また、ジオメトリデータ再構築部432は、<1.ポイントクラウドの再構築>において上述した本技術を適用し、取得したデータや設定等を用いて、ポイントクラウドのジオメトリデータを再構築することができる。さらに、ジオメトリデータ再構築部432は、再構築したジオメトリデータ等をアトリビュートデータ再構築部433に供給することができる。
アトリビュートデータ再構築部433は、アトリビュートデータの再構築に関する処理を行う。例えば、アトリビュートデータ再構築部433は、ジオメトリデータ再構築部432から供給されるジオメトリデータ等を取得することができる。また、アトリビュートデータ再構築部433は、アンパッキング部416から供給されるアトリビュートデータのパッチ等を取得することができる。さらに、アトリビュートデータ再構築部433は、取得したデータ等を用いて、ポイントクラウドのアトリビュートデータを再構築し、ポイントクラウドデータを生成することができる。さらに、アトリビュートデータ再構築部433は、生成したポイントクラウドデータ等を復号装置400の外部に出力することができる。
以上のように、ジオメトリデータ再構築部432は、<1.ポイントクラウドの再構築>において上述した本技術を適用することができる。例えば、ジオメトリデータ再構築部432は、図6に示される各方法の内のいずれかを用いてジオメトリデータを再構築することができる。また、例えば、ジオメトリデータ再構築部432は、図6に示される各方法の内のいずれか複数の方法を組み合わせて適用し、ジオメトリデータを再構築することができる。
つまり、ジオメトリデータ再構築部432は、ポイントの、投影面に対して水平方向の移動を抑制するように、ポイントの座標を丸めて整数化することができる。したがって、復号装置400(の3D再構築部417)は、ポイントクラウドの主観的品質の低減を抑制することができる。
<復号処理の流れ>
このような復号装置400により実行される復号処理の流れの例を、図22のフローチャートを参照して説明する。
このような復号装置400により実行される復号処理の流れの例を、図22のフローチャートを参照して説明する。
復号処理が開始されると、復号装置400のデマルチプレクサ411は、ステップS201において、ビットストリームを逆多重化する。ステップS202において、補助パッチ情報復号部412は、ステップS201の処理によりビットストリームから抽出された補助パッチ情報の符号化データを復号する。
ステップS203において、ビデオ復号部413は、ステップS201の処理によりビットストリームから抽出されたジオメトリビデオフレームの符号化データを復号する。ステップS204において、ビデオ復号部414は、ステップS201の処理によりビットストリームから抽出されたカラービデオフレームの符号化データを復号する。ステップS205において、OMap復号部415は、ステップS201の処理によりビットストリームから抽出されたオキュパンシーマップの符号化データを復号する。
ステップS206において、アンパッキング部416は、パッキングに関する制御情報やオキュパンシーマップに基づいて、ジオメトリビデオフレームやカラービデオフレームをそれぞれアンパッキングする。
ステップS207において、3D再構築部417は、<1.ポイントクラウドの再構築>において上述した本技術を適用してポイントクラウド再構築処理を実行し、ステップS202において得られた補助パッチ情報と、ステップS206において得られた各種情報とに基づいて、例えばポイントクラウド等の3Dデータを再構築する。ステップS207の処理が終了すると復号処理が終了する。
<ポイントクラウド再構築処理の流れ1>
図22のステップS207において、基本座標系においてポイントの座標の丸めを行う場合(図6に示される「方法1(方法1-1、方法1-2)」を適用する場合)について説明する。この場合、ポイントクラウド再構築処理は、例えば図23に示されるフローチャートのような流れで実行される。
図22のステップS207において、基本座標系においてポイントの座標の丸めを行う場合(図6に示される「方法1(方法1-1、方法1-2)」を適用する場合)について説明する。この場合、ポイントクラウド再構築処理は、例えば図23に示されるフローチャートのような流れで実行される。
この場合、ポイントクラウド再構築処理が開始されると、3D再構築部417の丸め方法設定部431は、ステップS231において、ジオメトリデータの未処理のパッチを処理対象として選択する。
ステップS232において、丸め方法設定部431は、そのパッチの投影面の向きに応じて、ポイントの座標の丸め方法をセットする。なお、ここで、丸め方法設定部431が、<1.ポイントクラウドの再構築>において上述したように、この座標の丸めによるポイントの移動の向きを選択してもよい。
ステップS233において、ジオメトリデータ再構築部432は、処理対象のパッチの各ポイントの座標を逆変換する。つまり、ジオメトリデータ再構築部432は、各ポイントの投影座標系の座標を、基本座標系の座標に変換する。
ステップS234において、ジオメトリデータ再構築部432は、ステップS232においてセットされた方法を用いて、基本座標系において、処理対象のパッチの各ポイントの座標を丸め、整数化する。つまり、ジオメトリデータ再構築部432は、ポイントが投影面に対して垂直な方向に移動するように、各ポイントの基本座標系の各座標を整数化する。
ステップS235において、アトリビュートデータ再構築部433は、以上のように再構築された処理対象のパッチのジオメトリデータに対して、アトリビュートデータを再構築する。
ステップS236において、アトリビュートデータ再構築部433は、全てのパッチを処理したか否かを判定する。処理対象のビデオフレームに未処理のパッチ(ポイントクラウドを再構築していないパッチ)が存在すると判定された場合、処理はステップS231に戻り、それ以降処理を繰り返す。
つまり、各パッチに対してステップS231乃至ステップS236の各処理が実行される。そして、ステップS236において、全てのパッチを処理したと判定された場合、ポイントクラウド再構築処理が終了し、処理は図22に戻る。
以上のようにポイントクラウド再構築処理を実行することにより、3D再構築部417は、ポイントの、投影面に対して水平方向の移動を抑制するように、ポイントの座標を丸めて整数化することができる。したがって、復号装置400は、ポイントクラウドの主観的品質の低減を抑制することができる。
<ポイントクラウド再構築処理の流れ2>
また、図22のステップS207において、投影座標系においてポイントの座標の丸めを行う場合(図6に示される「方法2(方法2-1乃至方法2-3)」を適用する場合)について説明する。この場合、ポイントクラウド再構築処理は、例えば図24に示されるフローチャートのような流れで実行される。
また、図22のステップS207において、投影座標系においてポイントの座標の丸めを行う場合(図6に示される「方法2(方法2-1乃至方法2-3)」を適用する場合)について説明する。この場合、ポイントクラウド再構築処理は、例えば図24に示されるフローチャートのような流れで実行される。
この場合、ポイントクラウド再構築処理が開始されると、3D再構築部417の丸め方法設定部431は、ステップS331において、ジオメトリデータの未処理のパッチを処理対象として選択する。
ステップS332において、丸め方法設定部431は、投影面の向きに依らず、ポイントの座標の丸め方法をセットする。例えば、丸め方法設定部431は、スケール変換等の設定を行う。なお、ここで、丸め方法設定部431が、<1.ポイントクラウドの再構築>において上述したように、この座標の丸めによるポイントの移動の向きを選択してもよい。
ステップS333において、ジオメトリデータ再構築部432は、ステップS332においてセットされた方法を用いて、投影座標系を適宜スケール変換し、その投影座標系において、処理対象のパッチの各ポイントの座標を丸め、整数化する。つまり、ジオメトリデータ再構築部432は、ポイントの、投影面に対して垂直な方向の座標軸の座標を丸め、整数化する(座標を補正する)。
ステップS334において、ジオメトリデータ再構築部432は、処理対象のパッチの各ポイントの座標を逆変換する。つまり、ジオメトリデータ再構築部432は、各ポイントの投影座標系の座標を、基本座標系の座標に変換する。
ステップS335において、アトリビュートデータ再構築部433は、以上のように再構築された処理対象のパッチのジオメトリデータに対して、アトリビュートデータを再構築する。
ステップS336において、アトリビュートデータ再構築部433は、全てのパッチを処理したか否かを判定する。処理対象のビデオフレームに未処理のパッチ(ポイントクラウドを再構築していないパッチ)が存在すると判定された場合、処理はステップS331に戻り、それ以降処理を繰り返す。
つまり、各パッチに対してステップS331乃至ステップS336の各処理が実行される。そして、ステップS336において、全てのパッチを処理したと判定された場合、ポイントクラウド再構築処理が終了し、処理は図22に戻る。
以上のようにポイントクラウド再構築処理を実行することにより、3D再構築部417は、ポイントの、投影面に対して水平方向の移動を抑制するように、ポイントの座標を丸めて整数化することができる。したがって、復号装置400は、ポイントクラウドの主観的品質の低減を抑制することができる。
<3.付記>
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
図25は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
図25に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。
バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。
入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。
以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。
コンピュータが実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。
その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。
<本技術の適用対象>
以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
以上においては、ポイントクラウドデータの符号化・復号に本技術を適用する場合について説明したが、本技術は、これらの例に限らず、任意の規格の3Dデータの符号化・復号に対して適用することができる。つまり、上述した本技術と矛盾しない限り、符号化・復号方式等の各種処理、並びに、3Dデータやメタデータ等の各種データの仕様は任意である。また、本技術と矛盾しない限り、上述した一部の処理や仕様を省略してもよい。
また、以上においては、本技術の適用例として符号化装置300および復号装置400について説明したが、本技術は、任意の構成に適用することができる。
例えば、本技術は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、およびセルラー通信による端末への配信などにおける送信機や受信機(例えばテレビジョン受像機や携帯電話機)、または、光ディスク、磁気ディスクおよびフラッシュメモリなどの媒体に画像を記録したり、これら記憶媒体から画像を再生したりする装置(例えばハードディスクレコーダやカメラ)などの、様々な電子機器に適用され得る。
また、例えば、本技術は、システムLSI(Large Scale Integration)等としてのプロセッサ(例えばビデオプロセッサ)、複数のプロセッサ等を用いるモジュール(例えばビデオモジュール)、複数のモジュール等を用いるユニット(例えばビデオユニット)、または、ユニットにさらにその他の機能を付加したセット(例えばビデオセット)等、装置の一部の構成として実施することもできる。
また、例えば、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。例えば、本技術を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングとして実施するようにしてもよい。例えば、コンピュータ、AV(Audio Visual)機器、携帯型情報処理端末、IoT(Internet of Things)デバイス等の任意の端末に対して、画像(動画像)に関するサービスを提供するクラウドサービスにおいて本技術を実施するようにしてもよい。
なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
<本技術を適用可能な分野・用途>
本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
本技術を適用したシステム、装置、処理部等は、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用することができる。また、その用途も任意である。
<その他>
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
なお、本明細書において「フラグ」とは、複数の状態を識別するための情報であり、真(1)または偽(0)の2状態を識別する際に用いる情報だけでなく、3以上の状態を識別することが可能な情報も含まれる。したがって、この「フラグ」が取り得る値は、例えば1/0の2値であってもよいし、3値以上であってもよい。すなわち、この「フラグ」を構成するbit数は任意であり、1bitでも複数bitでもよい。また、識別情報(フラグも含む)は、その識別情報をビットストリームに含める形だけでなく、ある基準となる情報に対する識別情報の差分情報をビットストリームに含める形も想定されるため、本明細書においては、「フラグ」や「識別情報」は、その情報だけではなく、基準となる情報に対する差分情報も包含する。
また、符号化データ(ビットストリーム)に関する各種情報(メタデータ等)は、符号化データに関連付けられていれば、どのような形態で伝送または記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る(リンクさせ得る)ようにすることを意味する。つまり、互いに関連付けられたデータは、1つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ(画像)に関連付けられた情報は、その符号化データ(画像)とは別の記録媒体(または同一の記録媒体の別の記録エリア)に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、1フレーム、またはフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
なお、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを1つのデータにまとめるといった、複数の物を1つにまとめることを意味し、上述の「関連付ける」の1つの方法を意味する。
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
また、例えば、上述したプログラムは、任意の装置において実行されるようにしてもよい。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
また、例えば、1つのフローチャートの各ステップを、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。さらに、1つのステップに複数の処理が含まれる場合、その複数の処理を、1つの装置が実行するようにしてもよいし、複数の装置が分担して実行するようにしてもよい。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
また、例えば、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
また、例えば、本技術に関する複数の技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
なお、本技術は以下のような構成も取ることができる。
(1) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像が配置されたフレーム画像の符号化データを復号する復号部と、
前記復号部により前記符号化データが復号されて得られた前記フレーム画像をアンパッキングして前記投影画像を抽出するアンパッキング部と、
前記アンパッキング部により抽出された前記投影画像に含まれる各ポイントを、3次元空間に配置して前記ポイントクラウドを再構築する再構築部と
を備え、
前記再構築部は、前記3次元空間の所定の座標系である基本座標系において前記ポイントの座標が整数値でない場合、前記ポイントの座標が整数値となるように、前記ポイントを前記2次元平面に対して垂直な方向に移動させる
画像処理装置。
(2) 前記再構築部は、前記ポイントの前記基本座標系の座標を更新することにより、前記ポイントを移動させる
(1)に記載の画像処理装置。
(3) 前記再構築部は、前記ポイントの前記基本座標系の各座標について、小数値を切り上げるか、または切り捨てることにより、前記ポイントを移動させる
(2)に記載の画像処理装置。
(4) 前記再構築部は、前記ポイントの前記基本座標系の各座標について、小数値を切り上げるかまたは切り捨てるかを、前記2次元平面の向きに応じて選択する
(3)に記載の画像処理装置。
(5) 前記再構築部は、前記2次元平面に対して垂直な方向の、前記2次元平面に近づく向きに前記ポイントを移動させる
(2)乃至(4)のいずれかに記載の画像処理装置。
(6) 前記再構築部は、前記2次元平面に対して垂直な方向の、前記2次元平面から遠ざかる向きに前記ポイントを移動させる
(2)乃至(4)のいずれかに記載の画像処理装置。
(7) 前記再構築部は、前記ポイントの移動の向きをフレーム毎に設定する
(2)乃至(6)のいずれかに記載の画像処理装置。
(8) 前記再構築部は、前記2次元平面に垂直な座標軸を有する座標系である投影座標系において、前記ポイントの座標を更新することにより、前記ポイントを移動させる
(1)に記載の画像処理装置。
(9) 前記再構築部は、前記基本座標系に応じて、前記投影座標系のスケール変換を行い、スケール変換後の前記投影座標系において、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標を整数化することにより、前記ポイントを移動させる
(8)に記載の画像処理装置。
(10) 前記再構築部は、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標の小数値を切り捨てることにより、前記ポイントを移動させる
(9)に記載の画像処理装置。
(11) 前記再構築部は、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標の小数値を切り上げることにより、前記ポイントを移動させる
(9)に記載の画像処理装置。
(12) 前記再構築部は、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標の小数値の切り上げることによる前記ポイントの移動と、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標の小数値の切り捨てることによる前記ポイントの移動との内、前記ポイントの移動距離の短い方を選択する
(9)に記載の画像処理装置。
(13) 前記再構築部は、前記ポイントの移動の向きをフレーム毎に設定する
(12)に記載の画像処理装置。
(14) 前記再構築部は、オキュパンシーマップの精度に応じて、前記ポイントを前記2次元平面に対して垂直な方向に移動させる
(1)乃至(13)のいずれかに記載の画像処理装置。
(15) 前記再構築部は、前記オキュパンシーマップの精度が1の場合、前記ポイントを前記2次元平面に対して垂直な方向に移動させる
(14)に記載の画像処理装置。
(16) 前記再構築部は、前記アンパッキング部により抽出された前記投影画像に含まれる各ポイントを、3次元空間の複数箇所に配置して前記ポイントクラウドを再構築する
(1)乃至(15)のいずれかに記載の画像処理装置。
(17) 前記再構築部は、1つの前記ポイントを、前記2次元平面に対して垂直な方向の前記2次元平面に近づく向きと遠ざかる向きとの両方に移動させ、それぞれの移動後のポイントを含む前記ポイントクラウドを再構築する
(16)に記載の画像処理装置。
(18) 前記再構築部は、前記2次元平面に対して垂直な方向に移動させた後の前記ポイントと、移動させる前の前記ポイントとを含む前記ポイントクラウドを再構築する
(16)に記載の画像処理装置。
(19) 前記再構築部は、前記ポイントクラウドの属性情報も再構築する
(1)乃至(18)のいずれかに記載の画像処理装置。
(20) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像が配置されたフレーム画像の符号化データを復号し、
前記符号化データが復号されて得られた前記フレーム画像をアンパッキングして前記投影画像を抽出し、
抽出された前記投影画像に含まれる各ポイントを3次元空間に配置し、前記3次元空間の所定の座標系である基本座標系において、前記ポイントの座標が整数値でない場合、前記ポイントの座標が整数値となるように、前記ポイントを前記2次元平面に対して垂直な方向に移動させ、前記ポイントクラウドを再構築する
画像処理方法。
(1) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像が配置されたフレーム画像の符号化データを復号する復号部と、
前記復号部により前記符号化データが復号されて得られた前記フレーム画像をアンパッキングして前記投影画像を抽出するアンパッキング部と、
前記アンパッキング部により抽出された前記投影画像に含まれる各ポイントを、3次元空間に配置して前記ポイントクラウドを再構築する再構築部と
を備え、
前記再構築部は、前記3次元空間の所定の座標系である基本座標系において前記ポイントの座標が整数値でない場合、前記ポイントの座標が整数値となるように、前記ポイントを前記2次元平面に対して垂直な方向に移動させる
画像処理装置。
(2) 前記再構築部は、前記ポイントの前記基本座標系の座標を更新することにより、前記ポイントを移動させる
(1)に記載の画像処理装置。
(3) 前記再構築部は、前記ポイントの前記基本座標系の各座標について、小数値を切り上げるか、または切り捨てることにより、前記ポイントを移動させる
(2)に記載の画像処理装置。
(4) 前記再構築部は、前記ポイントの前記基本座標系の各座標について、小数値を切り上げるかまたは切り捨てるかを、前記2次元平面の向きに応じて選択する
(3)に記載の画像処理装置。
(5) 前記再構築部は、前記2次元平面に対して垂直な方向の、前記2次元平面に近づく向きに前記ポイントを移動させる
(2)乃至(4)のいずれかに記載の画像処理装置。
(6) 前記再構築部は、前記2次元平面に対して垂直な方向の、前記2次元平面から遠ざかる向きに前記ポイントを移動させる
(2)乃至(4)のいずれかに記載の画像処理装置。
(7) 前記再構築部は、前記ポイントの移動の向きをフレーム毎に設定する
(2)乃至(6)のいずれかに記載の画像処理装置。
(8) 前記再構築部は、前記2次元平面に垂直な座標軸を有する座標系である投影座標系において、前記ポイントの座標を更新することにより、前記ポイントを移動させる
(1)に記載の画像処理装置。
(9) 前記再構築部は、前記基本座標系に応じて、前記投影座標系のスケール変換を行い、スケール変換後の前記投影座標系において、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標を整数化することにより、前記ポイントを移動させる
(8)に記載の画像処理装置。
(10) 前記再構築部は、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標の小数値を切り捨てることにより、前記ポイントを移動させる
(9)に記載の画像処理装置。
(11) 前記再構築部は、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標の小数値を切り上げることにより、前記ポイントを移動させる
(9)に記載の画像処理装置。
(12) 前記再構築部は、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標の小数値の切り上げることによる前記ポイントの移動と、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標の小数値の切り捨てることによる前記ポイントの移動との内、前記ポイントの移動距離の短い方を選択する
(9)に記載の画像処理装置。
(13) 前記再構築部は、前記ポイントの移動の向きをフレーム毎に設定する
(12)に記載の画像処理装置。
(14) 前記再構築部は、オキュパンシーマップの精度に応じて、前記ポイントを前記2次元平面に対して垂直な方向に移動させる
(1)乃至(13)のいずれかに記載の画像処理装置。
(15) 前記再構築部は、前記オキュパンシーマップの精度が1の場合、前記ポイントを前記2次元平面に対して垂直な方向に移動させる
(14)に記載の画像処理装置。
(16) 前記再構築部は、前記アンパッキング部により抽出された前記投影画像に含まれる各ポイントを、3次元空間の複数箇所に配置して前記ポイントクラウドを再構築する
(1)乃至(15)のいずれかに記載の画像処理装置。
(17) 前記再構築部は、1つの前記ポイントを、前記2次元平面に対して垂直な方向の前記2次元平面に近づく向きと遠ざかる向きとの両方に移動させ、それぞれの移動後のポイントを含む前記ポイントクラウドを再構築する
(16)に記載の画像処理装置。
(18) 前記再構築部は、前記2次元平面に対して垂直な方向に移動させた後の前記ポイントと、移動させる前の前記ポイントとを含む前記ポイントクラウドを再構築する
(16)に記載の画像処理装置。
(19) 前記再構築部は、前記ポイントクラウドの属性情報も再構築する
(1)乃至(18)のいずれかに記載の画像処理装置。
(20) 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像が配置されたフレーム画像の符号化データを復号し、
前記符号化データが復号されて得られた前記フレーム画像をアンパッキングして前記投影画像を抽出し、
抽出された前記投影画像に含まれる各ポイントを3次元空間に配置し、前記3次元空間の所定の座標系である基本座標系において、前記ポイントの座標が整数値でない場合、前記ポイントの座標が整数値となるように、前記ポイントを前記2次元平面に対して垂直な方向に移動させ、前記ポイントクラウドを再構築する
画像処理方法。
400 復号装置, 411 デマルチプレクサ, 412 補助パッチ情報復号部, 413および414 ビデオ復号部, 415 OMap復号部, 416 アンパッキング部, 417 3D再構築部, 431 丸め方法設定部, 432 ジオメトリデータ再構築部, 433 アトリビュートデータ再構築部
Claims (20)
- 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像が配置されたフレーム画像の符号化データを復号する復号部と、
前記復号部により前記符号化データが復号されて得られた前記フレーム画像をアンパッキングして前記投影画像を抽出するアンパッキング部と、
前記アンパッキング部により抽出された前記投影画像に含まれる各ポイントを、3次元空間に配置して前記ポイントクラウドを再構築する再構築部と
を備え、
前記再構築部は、前記3次元空間の所定の座標系である基本座標系において前記ポイントの座標が整数値でない場合、前記ポイントの座標が整数値となるように、前記ポイントを前記2次元平面に対して垂直な方向に移動させる
画像処理装置。 - 前記再構築部は、前記ポイントの前記基本座標系の座標を更新することにより、前記ポイントを移動させる
請求項1に記載の画像処理装置。 - 前記再構築部は、前記ポイントの前記基本座標系の各座標について、小数値を切り上げるか、または切り捨てることにより、前記ポイントを移動させる
請求項2に記載の画像処理装置。 - 前記再構築部は、前記ポイントの前記基本座標系の各座標について、小数値を切り上げるかまたは切り捨てるかを、前記2次元平面の向きに応じて選択する
請求項3に記載の画像処理装置。 - 前記再構築部は、前記2次元平面に対して垂直な方向の、前記2次元平面に近づく向きに前記ポイントを移動させる
請求項2に記載の画像処理装置。 - 前記再構築部は、前記2次元平面に対して垂直な方向の、前記2次元平面から遠ざかる向きに前記ポイントを移動させる
請求項2に記載の画像処理装置。 - 前記再構築部は、前記ポイントの移動の向きをフレーム毎に設定する
請求項2に記載の画像処理装置。 - 前記再構築部は、前記2次元平面に垂直な座標軸を有する座標系である投影座標系において、前記ポイントの座標を更新することにより、前記ポイントを移動させる
請求項1に記載の画像処理装置。 - 前記再構築部は、前記基本座標系に応じて、前記投影座標系のスケール変換を行い、スケール変換後の前記投影座標系において、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標を整数化することにより、前記ポイントを移動させる
請求項8に記載の画像処理装置。 - 前記再構築部は、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標の小数値を切り捨てることにより、前記ポイントを移動させる
請求項9に記載の画像処理装置。 - 前記再構築部は、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標の小数値を切り上げることにより、前記ポイントを移動させる
請求項9に記載の画像処理装置。 - 前記再構築部は、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標の小数値の切り上げることによる前記ポイントの移動と、前記ポイントの前記投影座標系の前記2次元平面に垂直な座標軸の座標の小数値の切り捨てることによる前記ポイントの移動との内、前記ポイントの移動距離の短い方を選択する
請求項9に記載の画像処理装置。 - 前記再構築部は、前記ポイントの移動の向きをフレーム毎に設定する
請求項12に記載の画像処理装置。 - 前記再構築部は、オキュパンシーマップの精度に応じて、前記ポイントを前記2次元平面に対して垂直な方向に移動させる
請求項1に記載の画像処理装置。 - 前記再構築部は、前記オキュパンシーマップの精度が1の場合、前記ポイントを前記2次元平面に対して垂直な方向に移動させる
請求項14に記載の画像処理装置。 - 前記再構築部は、前記アンパッキング部により抽出された前記投影画像に含まれる各ポイントを、3次元空間の複数箇所に配置して前記ポイントクラウドを再構築する
請求項1に記載の画像処理装置。 - 前記再構築部は、1つの前記ポイントを、前記2次元平面に対して垂直な方向の前記2次元平面に近づく向きと遠ざかる向きとの両方に移動させ、それぞれの移動後のポイントを含む前記ポイントクラウドを再構築する
請求項16に記載の画像処理装置。 - 前記再構築部は、前記2次元平面に対して垂直な方向に移動させた後の前記ポイントと、移動させる前の前記ポイントとを含む前記ポイントクラウドを再構築する
請求項16に記載の画像処理装置。 - 前記再構築部は、前記ポイントクラウドの属性情報も再構築する
請求項1に記載の画像処理装置。 - 3次元形状のオブジェクトをポイントの集合として表現するポイントクラウドの2次元平面への投影画像が配置されたフレーム画像の符号化データを復号し、
前記符号化データが復号されて得られた前記フレーム画像をアンパッキングして前記投影画像を抽出し、
抽出された前記投影画像に含まれる各ポイントを3次元空間に配置し、前記3次元空間の所定の座標系である基本座標系において、前記ポイントの座標が整数値でない場合、前記ポイントの座標が整数値となるように、前記ポイントを前記2次元平面に対して垂直な方向に移動させ、前記ポイントクラウドを再構築する
画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/770,179 US20220303578A1 (en) | 2019-11-13 | 2020-10-30 | Image processing apparatus and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019205240 | 2019-11-13 | ||
JP2019-205240 | 2019-11-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021095565A1 true WO2021095565A1 (ja) | 2021-05-20 |
Family
ID=75912345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/040800 WO2021095565A1 (ja) | 2019-11-13 | 2020-10-30 | 画像処理装置および方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220303578A1 (ja) |
WO (1) | WO2021095565A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180268570A1 (en) * | 2017-03-16 | 2018-09-20 | Samsung Electronics Co., Ltd. | Point cloud and mesh compression using image/video codecs |
WO2019055963A1 (en) * | 2017-09-18 | 2019-03-21 | Apple Inc. | COMPRESSION OF CLOUD OF POINTS |
US20190139266A1 (en) * | 2017-11-09 | 2019-05-09 | Samsung Electronics Co., Ltd. | Point cloud compression using non-orthogonal projection |
WO2019142666A1 (ja) * | 2018-01-16 | 2019-07-25 | ソニー株式会社 | 画像処理装置および方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11430155B2 (en) * | 2018-10-05 | 2022-08-30 | Apple Inc. | Quantized depths for projection point cloud compression |
-
2020
- 2020-10-30 US US17/770,179 patent/US20220303578A1/en active Pending
- 2020-10-30 WO PCT/JP2020/040800 patent/WO2021095565A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180268570A1 (en) * | 2017-03-16 | 2018-09-20 | Samsung Electronics Co., Ltd. | Point cloud and mesh compression using image/video codecs |
WO2019055963A1 (en) * | 2017-09-18 | 2019-03-21 | Apple Inc. | COMPRESSION OF CLOUD OF POINTS |
US20190139266A1 (en) * | 2017-11-09 | 2019-05-09 | Samsung Electronics Co., Ltd. | Point cloud compression using non-orthogonal projection |
WO2019142666A1 (ja) * | 2018-01-16 | 2019-07-25 | ソニー株式会社 | 画像処理装置および方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220303578A1 (en) | 2022-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019198523A1 (ja) | 画像処理装置および方法 | |
US11532103B2 (en) | Information processing apparatus and information processing method | |
JP2023184727A (ja) | 画像処理装置および方法 | |
US11699248B2 (en) | Image processing apparatus and method | |
KR20230155019A (ko) | 화상 처리 장치 및 방법 | |
JP7331852B2 (ja) | 画像処理装置および方法 | |
US11711535B2 (en) | Video-based point cloud compression model to world signaling information | |
CN111727461B (zh) | 信息处理装置和方法 | |
WO2021010200A1 (ja) | 情報処理装置および方法 | |
WO2020017359A1 (ja) | 画像処理装置および方法 | |
WO2022145214A1 (ja) | 情報処理装置および方法 | |
WO2020188932A1 (ja) | 情報処理装置および情報生成方法 | |
JP2022003716A (ja) | 画像処理装置および方法 | |
WO2021095565A1 (ja) | 画像処理装置および方法 | |
WO2021193088A1 (ja) | 画像処理装置および方法 | |
JPWO2020071115A1 (ja) | 画像処理装置および方法 | |
WO2021002214A1 (ja) | 情報処理装置および方法 | |
WO2021065535A1 (ja) | 情報処理装置および方法 | |
WO2022075074A1 (ja) | 画像処理装置および方法 | |
WO2022075078A1 (ja) | 画像処理装置および方法 | |
JP2022063882A (ja) | 情報処理装置および方法、並びに、再生装置および方法 | |
WO2023127513A1 (ja) | 情報処理装置および方法 | |
US20230334705A1 (en) | Image processing apparatus and method | |
WO2021090701A1 (ja) | 情報処理装置および方法 | |
US20240323445A1 (en) | Three-dimensional data decoding method and three-dimensional data encoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20888248 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20888248 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |