WO2022191543A1 - 포인트 클라우드 압축을 이용하는 메시 압축 방법 및 장치 - Google Patents
포인트 클라우드 압축을 이용하는 메시 압축 방법 및 장치 Download PDFInfo
- Publication number
- WO2022191543A1 WO2022191543A1 PCT/KR2022/003191 KR2022003191W WO2022191543A1 WO 2022191543 A1 WO2022191543 A1 WO 2022191543A1 KR 2022003191 W KR2022003191 W KR 2022003191W WO 2022191543 A1 WO2022191543 A1 WO 2022191543A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bitstream
- mesh
- image
- decoding
- point cloud
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 195
- 238000007906 compression Methods 0.000 title claims abstract description 60
- 230000006835 compression Effects 0.000 title claims abstract description 60
- 230000002194 synthesizing effect Effects 0.000 claims description 35
- 238000013507 mapping Methods 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 8
- 238000000926 separation method Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 23
- 238000013144 data compression Methods 0.000 description 16
- 239000000284 extract Substances 0.000 description 16
- 238000012856 packing Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 239000013598 vector Substances 0.000 description 10
- 238000000605 extraction Methods 0.000 description 8
- 238000007781 pre-processing Methods 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Definitions
- the present disclosure relates to a mesh compression method and apparatus using point cloud compression.
- 3D mesh information is a type of data widely used in various fields such as 3D modeling, navigation, and games.
- mesh data includes three-dimensional coordinates of vertices expressed in ASCII code, two-dimensional coordinates of texture vertices, a three-dimensional normal vector of vertices, and a polygon composed of multiple vertices. ) including edge information expressing the connectivity of the Additionally, the mesh data may include a texture map compressed using a separate image codec such as PNG, JPEG, or JPEG2000.
- texture vertices represent vertices whose vertices are orthogonally projected into a two-dimensional uv domain. Accordingly, the texture map represents an image packed with attribute values of vertices projected into the uv domain.
- the attribute information defining attribute values of the vertices may include color information, texture information, transparency, and the like, of the vertices.
- FIGS. 1A to 1C show data contained in a three-dimensional mesh.
- the mesh represents a tetrahedral object in three-dimensional space, but the mesh includes a total of four vertices.
- edge information connecting each vertex of the mesh to express a tetrahedron is expressed as a line.
- FIGS. 1B and 1C show a generally used manner in representing the mesh illustrated in FIG. 1A .
- the example of FIG. 1B shows texture vertices of a three-dimensional mesh represented in a two-dimensional uv space, and edge information representing connectivity between them.
- the example of FIG. 1C shows positions of vertices expressed using ASCII codes, positions of texture vertices, connectivity between vertices and texture vertices, and the like.
- 3D mesh is gradually expanding, and it is expected to be widely used in fields such as autonomous driving and mobile in the future. Therefore, a method and apparatus for efficiently compressing a mesh in terms of transmission and storage should be considered.
- the present disclosure provides an encoding/decoding apparatus and method for converting a three-dimensional mesh into a point cloud and then compressing/reconstructing a three-dimensional mesh using a point cloud compression method in order to improve encoding efficiency for a three-dimensional mesh purpose is to
- a bitstream separating unit dividing a bitstream into a first bitstream and a second bitstream, wherein the first bitstream is the a point cloud representing a mesh is an encoded bitstream, and the second bitstream is an encoded bitstream of edge data of the mesh; a point cloud decoding unit for decoding the point cloud from the first bitstream; an edge decoding unit decoding the edge data from the second bitstream; and a mesh synthesizing unit for synthesizing the mesh by generating planes of polygons using the edge data and generating textures of the planes using attribute values of the point cloud closest to the planes.
- a mesh decoding apparatus is provided.
- a decoding method for encoding a 3D mesh performed by a mesh encoding apparatus, the method comprising: obtaining the mesh; extracting edge data of polygons from the mesh; extracting vertices from the mesh and generating a texture map, then converting the mesh into a point cloud using the vertices, the edge data and the texture map; generating a first bitstream by encoding the point cloud; generating a second bitstream by encoding the edge data; and generating a bitstream by synthesizing the first bitstream and the second bitstream.
- the three-dimensional mesh As described above, according to this embodiment, by providing an encoding/decoding apparatus and method for converting a three-dimensional mesh into a point cloud and then compressing/reconstructing a three-dimensional mesh using a point cloud compression method, the three-dimensional mesh There is an effect that it becomes possible to improve the encoding efficiency for .
- 1A to 1C are exemplary views illustrating data included in a 3D mesh.
- FIGS. 2A and 2B are block diagrams conceptually illustrating a mesh encoding apparatus and a mesh decoding apparatus.
- 3A and 3B are block diagrams conceptually illustrating a mesh encoding apparatus and a mesh decoding apparatus according to an embodiment of the present disclosure.
- FIG. 4 is a block diagram conceptually illustrating a point cloud converter according to an embodiment of the present disclosure.
- FIG. 5 is an exemplary diagram illustrating generation of geometric information of a point cloud according to an embodiment of the present disclosure.
- FIG. 6 is a block diagram conceptually illustrating a point cloud encoder according to an embodiment of the present disclosure.
- FIG. 7 is a block diagram conceptually illustrating a point cloud decoder according to an embodiment of the present disclosure.
- FIGS. 8A and 8B are block diagrams conceptually illustrating a mesh encoding apparatus and a mesh decoding apparatus according to another embodiment of the present disclosure.
- FIG. 9 is a block diagram conceptually illustrating a point cloud encoder according to another embodiment of the present disclosure.
- FIG. 10 is a block diagram conceptually illustrating a point cloud decoder according to another embodiment of the present disclosure.
- FIG. 11 is a block diagram conceptually illustrating a mesh encoding apparatus using reconstructed vertex information according to another embodiment of the present disclosure.
- 12A and 12B are flowcharts illustrating a mesh encoding method according to an embodiment of the present disclosure.
- FIG. 13 is a flowchart illustrating a mesh decoding method according to an embodiment of the present disclosure.
- FIG. 14 is a flowchart illustrating a mesh encoding method according to another embodiment of the present disclosure.
- 15 is a flowchart illustrating a mesh decoding method according to another embodiment of the present disclosure.
- 16 is a flowchart illustrating a mesh encoding method according to another embodiment of the present disclosure.
- 17 is a flowchart illustrating a mesh decoding method according to another embodiment of the present disclosure.
- This embodiment discloses a mesh compression method and apparatus using point cloud compression. More specifically, in order to improve encoding efficiency for a 3D mesh, a mesh encoding/decoding apparatus and method for converting a 3D mesh into a point cloud and then compressing/reconstructing a 3D mesh using a point cloud compression method to provide.
- mesh information and mesh data are used interchangeably.
- vertex information and vertex data edge information and edge data
- texture map information and texture map data texture map data and texture map data
- patch information and patch data may be used interchangeably.
- FIGS. 2A and 2B are block diagrams conceptually illustrating a mesh encoding apparatus and a mesh decoding apparatus.
- the mesh encoding apparatus may generate a bitstream by dividing a mesh into vertex information, a texture map, and edge information, and then encoding them.
- the mesh encoding apparatus may store the generated bitstream or transmit it to the mesh decoding apparatus.
- the mesh encoding apparatus includes a vertex extractor 202, a vertex encoder 204, an edge extractor 206, an edge encoder 208, a texture map generator 210, an image encoder 212, and a bitstream synthesis. all or part of portion 214 .
- the vertex extraction unit 202 extracts data, such as coordinate values of vertices expressed in ASCII, normal vectors of vertices, and coordinate values of texture vertices, from the original mesh information.
- the extracted vertex data may be transmitted to the vertex encoder 204 and the edge encoder 208 .
- the vertex encoder 204 may generate a bitstream by compressing the transmitted vertex data.
- an existing general lossless data compression method may be used.
- the vertex encoder 204 may generate a bitstream by compressing data having a smaller capacity than existing data using an open source such as gzip.
- the vertex encoder 204 may generate a bitstream by packing the vertex data in units of bytes without compression.
- the generated bitstream may be transmitted to the bitstream synthesizer 214 .
- the edge extractor 206 may extract edge data of polygons from the original mesh information and represent it as ASCII-expressed data.
- the extracted edge data may be transmitted to the edge encoder 208 .
- the edge encoder 208 may generate a bitstream by compressing edge data.
- the edge encoder 208 may use data of vertices generated by the vertex extractor 202 when encoding edge data.
- the edge encoder 208 may encode edge data using a general data compression method. Alternatively, the edge encoder 208 may generate a bitstream by packing the edge data in byte units without compression.
- the edge encoder 208 may generate a bitstream using a general lossless compression method.
- a general lossless compression method For example, an edgebreaker, which is a general polygon connectivity compression method, may be used. That is, the edge encoder 208 may generate a bitstream by using an edge breaker to represent connectivity with a plurality of symbols, and then encode these symbols.
- the edge encoder 208 may selectively apply a general data compression method to some edge data and apply an edge breaker to the remaining edge data to generate a bitstream.
- the generated bitstream may be transmitted to the bitstream synthesizer 214 .
- the texture map generator 210 may generate a two-dimensional texture map by orthogonally projecting the texture of the surface of the three-dimensional object of the original mesh into the two-dimensional uv domain.
- the texture information of the original mesh is in the form of a bitstream generated according to image compression such as Joint Photographic Coding Experts Group (JPEG), JPEG2000, Portable Network Graphics (PNG), High Efficiency Image File Format (HEIF), etc.
- the texture The map generator 210 may generate a restored texture map by decoding the compressed image.
- the generated texture map may be transmitted to the image encoder 212 .
- the image encoder 212 may generate a bitstream by compressing the input texture map.
- various techniques such as JPEG, JPEG2000, PNG, HEIF, which are image compression methods, may be used in the image encoder 212 .
- video compression techniques such as H.264/Advanced Video Coding (H.264/AVC), H.265/HEVC (Advanced Video Coding), and H.266/Versatile Video Coding (VVC) may be used.
- the generated bitstream may be transmitted to the bitstream synthesizer 214 .
- the bitstream synthesizer 214 may generate one bitstream by combining all input bitstreams.
- the mesh encoding apparatus may transmit the generated bitstream to the mesh decoding apparatus.
- the mesh decoding apparatus decodes the transmitted bitstream to reconstruct vertex information, texture map, and edge information.
- the mesh decoding apparatus may reconstruct the original mesh by synthesizing the reconstructed data.
- the mesh decoding apparatus may include all or part of a bitstream separator 222 , a vertex decoder 224 , an edge decoder 228 , an image decoder 232 , and a mesh combiner 234 .
- the bitstream separator 222 separates the transmitted bitstream into a vertex-related bitstream, an edge-related bitstream, and a texture map-related bitstream, and separates the vertex decoder 224, the edge decoder 228 and the image decoder ( 232) can be forwarded.
- the vertex decoder 224 may restore the vertex data by decoding the transmitted vertex-related bitstream.
- vertex data includes coordinate values of vertices, normal vectors of vertices, coordinate values of texture vertices, and the like.
- the restored vertex data may be transmitted to the mesh synthesizing unit 234 .
- the edge decoding unit 228 restores edge data by decoding the transmitted edge-related bitstream.
- the edge data restoration method a decoding method corresponding to the encoding method used by the edge encoder 208 in the mesh encoding apparatus may be used.
- the restored edge data may be transmitted to the mesh synthesizing unit 234 .
- the image decoder 232 may restore the restored texture map by decoding the transmitted texture map-related bitstream.
- the texture map restoration method a decoding method corresponding to the encoding method used by the image encoder 212 in the edge encoding apparatus may be used.
- the reconstructed texture map may be transmitted to the mesh synthesizing unit 234 .
- the mesh synthesizing unit 234 may reconstruct the original mesh by synthesizing the 3D mesh using the input vertex information, edge information, and texture map.
- FIGS. 3A and 3B a method using point cloud coding as an example of a mesh encoding/decoding apparatus will be described using the illustrations of FIGS. 3A and 3B .
- 3A and 3B are block diagrams conceptually illustrating a mesh encoding apparatus and a mesh decoding apparatus according to an embodiment of the present disclosure.
- the mesh encoding apparatus may convert mesh information into a point cloud and then generate a bitstream using a point cloud compression method.
- the mesh encoding apparatus may store the generated bitstream or transmit it to the mesh decoding apparatus.
- the mesh encoding apparatus may include all or part of an edge extractor 206 , a point cloud transform unit 302 , a point cloud encoder 304 , an edge encoder 208 , and a bitstream synthesizer 214 . .
- the edge extractor 206 may extract edge information of a polygon from the original mesh information and represent it as ASCII-expressed data.
- the extracted edge data may be transmitted to the edge encoder 208 and the point cloud transform unit 302 .
- the point cloud converter 302 may convert the input original mesh into a point cloud.
- the point cloud may be transmitted to the point cloud encoder 304 and the edge encoder 208 .
- the point cloud encoder 304 may generate a bitstream by encoding the transmitted point cloud.
- the generated bitstream may be transmitted to the bitstream synthesizer 214 .
- a detailed configuration of the point cloud transform unit 302 and the point cloud encoder 304 will be described later.
- the edge encoder 208 may generate a bitstream by encoding the input edge data.
- the edge encoding unit 208 may use data of vertices provided by the point cloud transformation unit 302 when encoding edge data.
- the edge encoder 208 may generate a bitstream using a general data compression method.
- the edge encoder 208 may generate a bitstream using a general lossless compression method.
- the generated bitstream may be transmitted to the bitstream synthesizer 214 .
- the bitstream synthesizer 214 may generate one bitstream by concatenating the transmitted bitstreams.
- the mesh encoding apparatus may store the generated bitstream or transmit it to the mesh decoding apparatus.
- the mesh decoding apparatus may restore mesh information after decoding the point cloud from the transmitted bitstream.
- the mesh decoding apparatus may include all or part of a bitstream separator 222 , a point cloud decoder 324 , an edge decoder 228 , and a mesh synthesizer 234 .
- the bitstream separator 222 may separate the transmitted bitstream into a point cloud-related bitstream and an edge-related bitstream. Each of the separated bitstreams may be transmitted to the point cloud decoder 324 and the edge decoder 228 .
- the point cloud decoding unit 324 restores the point cloud from the inputted point cloud related bitstream.
- the restored point cloud may be transmitted to the mesh synthesizing unit 234 .
- a detailed configuration of the point cloud decoding unit 324 will be described later.
- the edge decoder 228 may restore edge data by decoding the input edge-related bitstream.
- the edge data reconstruction method a decoding method corresponding to the edge data encoding method used in the mesh encoding apparatus may be used.
- the restored edge data may be transmitted to the mesh synthesizing unit 234 .
- the mesh synthesizing unit 234 may restore the original mesh by synthesizing the 3D mesh using the transmitted point cloud and edge data.
- the mesh synthesizing unit 234 may generate planes of polygons using edge data, and may generate textures of planes of polygons using attribute values of a point cloud closest to the planes.
- FIG. 4 is a block diagram conceptually illustrating a point cloud converter according to an embodiment of the present disclosure.
- the point cloud transformation unit 302 may include all or part of the vertex extraction unit 202 , the geometric sampling unit 402 , the texture map generation unit 210 , and the attribute mapping unit 404 .
- the vertex extractor 202 extracts vertices from the original mesh.
- the extracted vertices may be transmitted to the geometric sampling unit 402 and the edge encoding unit 208 .
- the geometric sampling unit 402 may generate a plane of polygons using the transferred vertices and edges, and then sample positions of points on the plane to generate geometric information of the point cloud. As illustrated in FIG. 5 , the geometric sampling unit 402 may generate a plane in a 3D space using input vertices and edge data. The geometric sampling unit 402 may generate points at corresponding positions by sampling the generated plane with a uniform distribution. The geometric information of each point may be calculated based on three-dimensional coordinates of three vertices forming a plane. Alternatively, the points may be generated based on the coordinates of the integer type closest to the plane.
- the geometric sampling unit 402 transmits the generated geometric information to the attribute mapping unit 404 .
- the texture map generator 210 generates a texture map by orthogonally projecting the texture information of the original mesh into the uv domain.
- the texture information of the original mesh is in the form of a bitstream generated according to image compression such as JPEG, JPEG2000, PNG, HEIF, etc.
- the texture map generator 210 generates a restored texture map by decoding the compressed image. can do.
- the texture map generation unit 210 transmits the texture map data including the generated texture map and information used for orthographic projection to the attribute mapping unit 404 .
- the attribute mapping unit 404 may generate attribute information of the point cloud using the transferred geometric information and texture map data of the point cloud.
- the generated point cloud that is, a point cloud expressed by geometric information and attribute information, may be transmitted to the point cloud encoder 304 .
- FIG. 6 is a block diagram conceptually illustrating a point cloud encoder according to an embodiment of the present disclosure.
- the point cloud encoder 304 includes a patch generator 602 , a patch packing part 604 , a geometric image generator 606 , a geometric image preprocessor 608 , a geometric image encoder 610 , and a texture image generator 616 , a texture image preprocessor 618 , a texture image encoder 620 , an occupation image generator 626 , an occupation image preprocessor 628 , an occupancy image encoder 630 , and patch information encoding It may include all or part of the portion 640 .
- the patch generator 602 analyzes the point cloud, which is 3D data, and classifies it into one or a plurality of groups. In this case, one classified group is called a patch. Points included in one patch have similar normal vectors, and a normal vector of a plane implemented by one point and neighboring points is defined as a normal vector of the corresponding point.
- the generated patches may be transferred to the patch packing unit 604 .
- the patch packing unit 604 packs the patches by moving and rotating the transmitted patches in the three-dimensional space and mapping them to positions in the two-dimensional domain.
- each of the patches may possess a parameter used when converting from 3D to 2D as patch information.
- the patch information of each of the patches may additionally include a location mapped in two dimensions, a size in a two-dimensional domain of the patch, and the like.
- the patch information may be transmitted to the patch information encoder 640 .
- the packed patches may be transmitted to the geometric image generator 606 , the texture image generator 616 , and the occupied image generator 626 .
- the geometric image generator 606 generates two geometric images using the delivered packed patches.
- the geometric image is an image in which a value of a distance between a point and a projection plane is mapped to a position on a plane on which the points of the patches are projected. That is, the geometric image may be referred to as a map of the depth between points and the plane when the 3D space is projected onto a 2D plane.
- the 2D plane may be one of an x-y plane, a y-z plane, and an x-z plane.
- the geometric image generating unit 606 may generate each geometric image with respect to depth information on the front and rear sides.
- the generated geometric images may be transmitted to the geometric image preprocessor 608 .
- the geometric image preprocessor 608 may preprocess the transferred geometric images before image encoding is performed.
- Geometric images include an empty space where the points of the patches are not projected, and depth information is not defined in the space. When a position in which depth information is present and a position in which depth information is not present continuously exist, continuity of data may decrease, and thus prediction performance during image encoding may be deteriorated. To prevent this, the geometric image preprocessor 608 may apply padding to a position where depth information does not exist by using a value of a position where there is depth information around it. The geometric image preprocessor 608 may transmit the padded geometric images to the geometric image encoder 610 .
- the geometric image encoder 610 may generate a bitstream by encoding the two delivered geometric images using a video compression technique.
- video compression techniques such as H.264/AVC, H.265/HEVC, and H.266/VVC may be used.
- the mesh or point cloud may be continuously input to the mesh encoding apparatus according to time. Therefore, for this case, the geometric image can be efficiently compressed, just like the existing video in which inter prediction is used instead of image coding using only intra prediction.
- the generated bitstream may be transmitted to the bitstream synthesizer 214 .
- the texture image generator 616 may generate a texture image using the input packed patches.
- the texture image is an image in which attribute values of points are mapped to positions where points are projected on a plane when points in a patch are orthogonally projected on a two-dimensional plane.
- the generated texture image may be transmitted to the texture image preprocessor 618 .
- the texture image preprocessor 618 generates a padded image by applying padding to a portion that points do not occupy on the two-dimensional texture image.
- the texture image preprocessor 618 may apply padding to the texture image using a filter or a push-pull padding method.
- the padded texture image may be transmitted to the texture image encoder 620 .
- the push-pull padding method is a method of padding a boundary portion of an empty space in an image by downsampling and upsampling the image.
- the texture image encoder 620 may generate a bitstream by encoding the transmitted texture image using a video compression technique.
- video compression techniques such as H.264/AVC, H.265/HEVC, and H.266/VVC may be used.
- the texture image encoder 620 may generate a bitstream using a general image codec. The generated bitstream may be transmitted to the bitstream synthesizer 214 .
- the occupancy image generator 626 may generate an occupancy image using the delivered packed patches.
- the occupied image is a binary map representing whether points are occupied in the area on the 2D plane when the 3D patch is orthogonally projected on the 2D plane.
- the generated occupied image may be transmitted to the occupied image preprocessor 628 .
- the occupied image preprocessor 628 may apply preprocessing such as downsampling, reduction, and expansion to the input occupied image.
- the pre-processed occupied image may be transmitted to the occupied image encoder 630 .
- the occupied image encoder 630 may generate a bitstream by encoding the delivered occupied image.
- a general video codec may be used as a method for generating the bitstream of the occupied image.
- binary arithmetic coding may be used.
- gzip which is a general data compression method, may be used.
- the generated bitstream may be transmitted to the bitstream synthesizer 214 .
- the patch information encoder 640 may generate a bitstream by entropy-coding the transmitted patch data.
- the generated bitstream may be transmitted to the bitstream generator 214 .
- the bitstream generator 214 may generate one bitstream by concatenating the point cloud by concatenating all transmitted bitstreams.
- FIG. 7 is a block diagram conceptually illustrating a point cloud decoder according to an embodiment of the present disclosure.
- the point cloud decoding unit 324 includes the bitstream separation unit 222, the geometric image decoding unit 702, the texture image decoding unit 704, the occupied image decoding unit 706, the patch information decoding unit 708, and the geometric restoration. All or part of the unit 710 , the attribute restoration unit 712 , and the patch synthesis unit 714 may be included.
- the bitstream separation unit 222 after obtaining the point cloud compressed bitstream, converts the bitstream into a geometric image related bitstream, a texture image related bitstream, an occupied image related bitstream, and a patch information related bitstream. separate The bitstream separation unit 222 may transmit each of the separated bitstreams to the geometric image decoding unit 702 , the texture image decoding unit 704 , the occupied image decoding unit 706 , and the patch information decoding unit 708 .
- the geometric image decoding unit 702 may restore the geometric image by decoding the transmitted geometric image related bitstream.
- a method for decoding the geometric image a decoding method corresponding to the encoding method used in the geometric image encoder 610 may be used.
- the restored geometric image may be transmitted to the geometric restoration unit 710 .
- the texture image decoder 704 may restore the texture image by decoding the transmitted texture image bitstream.
- a method for decoding the texture image a decoding method corresponding to the encoding method used in the texture image encoder 620 may be used.
- the restored texture image may be transmitted to the attribute restoration unit 712 .
- the occupied image decoding unit 706 may generate an occupied image by decoding the transmitted occupied image bitstream.
- the occupied image decoding unit 706 may additionally perform a process of converting the bit depth of the image to 1.
- the occupied image decoding unit 706 generates a binary map.
- the restored occupied image may be transmitted to the geometric restoration unit 710 and the attribute restoration unit 712 .
- the patch information decoding unit 708 may entropy-decode the transmitted patch information bitstream to restore the patch information.
- the restored patch information may be transmitted to the patch synthesizer 714 .
- the geometric restoration unit 710 may restore 3D geometric information of the patch by using the delivered geometric image and the occupied image. For example, the geometric restoration unit 710 may recover the geometric information by identifying the original position where the depth information exists by using the occupied image, and then extracting the geometric information using the depth information at the corresponding position. The restored geometric information may be transmitted to the patch synthesizing unit 714 .
- the attribute restoration unit 712 may restore attribute (texture) information of the patch by using the transmitted texture image and the occupied image.
- the restored attribute information may be transmitted to the patch combining unit 714 .
- the patch synthesizing unit 714 may restore the point cloud by synthesizing the 3D patch by synthesizing the delivered patch geometric information, patch attribute information, and patch information.
- FIGS. 8A and 8B Another embodiment of a mesh encoding/decoding apparatus using point cloud coding will be described with reference to FIGS. 8A and 8B .
- FIGS. 8A and 8B are block diagrams conceptually illustrating a mesh encoding apparatus and a mesh decoding apparatus according to another embodiment of the present disclosure.
- the mesh encoding apparatus may generate a bitstream using a point cloud compression method based on vertex information and a texture map of the mesh.
- the mesh encoding apparatus may store the generated bitstream or transmit it to the mesh decoding apparatus.
- the mesh encoding apparatus includes all of the vertex extraction unit 202, the texture map generation unit 210, the point cloud encoding unit 304, the edge extraction unit 206, the edge encoding unit 208, and the bitstream synthesis unit 214. Or it may include some.
- the vertex extraction unit 202 extracts data such as ASCII-expressed vertices, texture vertices, and normal vectors of vertices from the original mesh information.
- the extracted vertex data may be transmitted to the point cloud encoder 304 and the edge encoder 208 .
- the texture map generator 210 may generate a 2D texture map by orthogonally projecting the texture of the surface of the 3D object of the original mesh into the uv domain.
- the texture map generator 210 when the texture information of the original mesh is in the form of a bitstream generated according to image compression such as JPEG, JPEG2000, PNG, HEIF, etc., the texture map generator 210 generates a restored texture map by decoding the compressed image. can do.
- the generated texture map may be transmitted to the point cloud encoder 304 .
- the point cloud encoder 304 regards the input vertex data and the texture map as a point cloud, and encodes them using a point cloud compression method to generate a bitstream.
- the generated bitstream may be transmitted to the bitstream synthesizer 214 .
- a detailed configuration of the point cloud encoder 304 will be described later.
- the edge extractor 206 may extract polygonal edge data from the original mesh information and transmit it to the edge encoder 208 .
- the edge encoder 208 may generate a bitstream by compressing the received edge data. Also, the edge encoder 208 may use data of vertices generated by the vertex extractor 202 when encoding edge data.
- the edge encoder 208 may encode edge data using a general data compression method. Alternatively, the bitstream may be generated by packing the edge data in units of bytes without compression.
- the edge encoder 208 may generate a bitstream using a general lossless compression method.
- a general lossless compression method For example, an edge breaker, which is a general polygon connectivity compression method, may be used.
- the edge encoder 208 may selectively apply a general data compression method to some edge data and apply an edge breaker to the remaining edge data to generate a bitstream.
- the generated bitstream may be transmitted to the bitstream synthesizer 214 .
- the bitstream synthesizer 214 may generate one bitstream by concatenating all input bitstreams.
- the mesh encoding apparatus may transmit the generated bitstream to the mesh decoding apparatus.
- the mesh decoding apparatus may restore mesh information after decoding the point cloud from the transmitted bitstream.
- the mesh decoding apparatus may include all or part of a bitstream separator 222 , a point cloud decoder 324 , an edge decoder 228 , and a mesh synthesizer 234 .
- the bitstream separator 222 may separate the transmitted bitstream into a point cloud-related bitstream and an edge-related bitstream, and transmit the separated bitstream to the point cloud decoder 324 and the edge decoder 228 , respectively.
- the point cloud decoder 324 may restore the vertex data and the texture map by decoding the transmitted bitstream.
- the restored vertex data and the texture map may be transmitted to the mesh synthesizing unit 234 .
- a detailed configuration of the point cloud decryption unit 324 will be described later.
- the edge decoder 228 may restore edge data by decoding the transmitted edge-related bitstream.
- the restored edge information may be transmitted to the mesh synthesizing unit 234 .
- a method for decoding the edge data a decoding method corresponding to the encoding method used by the edge encoder 208 in the mesh encoding apparatus may be used.
- the mesh synthesizing unit 214 may restore the original mesh by synthesizing the 3D mesh using the input vertex data, edge data, and texture map.
- FIG. 9 is a block diagram conceptually illustrating a point cloud encoder according to another embodiment of the present disclosure.
- the point cloud encoder 304 includes a patch generator 602 , a patch packing part 604 , a geometric image generator 606 , a geometric image preprocessor 608 , a geometric image encoder 610 , and an occupancy image generator 626 , the occupied image preprocessor 628 , the occupied image encoder 630 , the patch information encoder 640 , the texture image preprocessor 618 , the texture image encoder 620 , and the bitstream synthesizer 214 . ) may be included in whole or in part.
- the patch generator 602 regards vertex data, that is, vertices as a point cloud, analyzes them, and classifies them into one or more groups, ie, patches.
- the sorted patches may be delivered to the patch packing unit 604 .
- the patch packing unit 604 packs the patches by moving and rotating the transmitted patches in the three-dimensional space and mapping them to positions in the two-dimensional domain.
- each of the patches may possess a parameter used when converting from 3D to 2D as patch information.
- the patch information of each of the patches may additionally include a location mapped in two dimensions, a size in a two-dimensional domain of the patch, and the like.
- the patch information may be transmitted to the patch information encoder 640 .
- the packed patches may be transmitted to the geometric image generator 606 and the occupancy image generator 626 .
- Each of the patches may possess a parameter used when converting from 3D to 2D as patch information.
- the patch information of each of the patches may additionally include a location mapped in two dimensions, a size in a two-dimensional domain of the patch, and the like.
- the geometric image generator 606 generates two geometric images using the delivered packed patches.
- the geometric image is an image in which the depth, which is the distance value between the point and the projection plane, is mapped to the position on the plane where the points of the patches are projected.
- the geometric image generating unit 606 calculates each geometric image for depth information on the front and back sides. can create The generated geometric images may be transmitted to the geometric image preprocessor 608 .
- the geometric image preprocessor 608 may preprocess the transferred geometric images before image encoding is performed. As described above, the geometric image preprocessor 608 may apply padding to a position where depth information does not exist by using a value of a position where the surrounding depth information exists. The geometric image preprocessor 608 may transmit the padded geometric images to the geometric image encoder 610 .
- the geometric image encoder 610 may generate a bitstream by encoding the two delivered geometric images using a video compression technique.
- video compression techniques such as H.264/AVC, H.265/HEVC, and H.266/VVC may be used.
- the mesh or point cloud may be continuously input to the mesh encoding apparatus according to time, as described above, the geometric image may be efficiently compressed as in the existing video.
- the generated bitstream may be transmitted to the bitstream synthesizer 214 .
- the occupancy image generator 626 may generate an occupancy image using the delivered packed patches. As described above, the occupancy image is a binary map representing whether points are occupied in a region on a two-dimensional plane when a three-dimensional patch is orthogonally projected on a specific plane. The generated occupied image may be transmitted to the occupied image preprocessor 628 .
- the occupied image preprocessor 628 may apply preprocessing such as downsampling, reduction, and expansion to the input occupied image.
- the pre-processed occupied image may be transmitted to the occupied image encoder 630 .
- the occupied image encoder 630 may generate a bitstream by encoding the delivered occupied image.
- a general video codec binary arithmetic coding, or gzip, which is a general data compression method, may be used.
- the generated bitstream may be transmitted to the bitstream synthesizer 214 .
- the patch information encoder 640 may generate a bitstream by entropy-coding the transmitted patch data.
- the generated bitstream may be transmitted to the bitstream generator 214 .
- the texture image preprocessor 618 may pad a portion having no texture on the 2D texture image (ie, the texture map) using the surrounding texture.
- the texture image preprocessor 618 may apply padding to the texture image using a filter or a push-pull padding method.
- the padded texture image may be transmitted to the texture image encoder 620 .
- the texture image encoder 620 may generate a bitstream by encoding the transmitted texture image using a video codec. Alternatively, the texture image encoder 620 may generate a bitstream using a general image codec. The generated bitstream may be transmitted to the bitstream synthesizer 214 .
- the bitstream generator 214 may generate one bitstream by concatenating all transmitted bitstreams to compress point clouds implemented as vertices and a texture map.
- FIG. 10 is a block diagram conceptually illustrating a point cloud decoder according to another embodiment of the present disclosure.
- the point cloud decoding unit 324 includes a bitstream separation unit 222, a geometric image decoding unit 702, an occupied image decoding unit 706, a geometric restoration unit 710, a patch information decoding unit 708, and a patch synthesis unit. 714 and all or part of the texture image decoding unit 704 may be included.
- the bitstream separation unit 222 after obtaining the point cloud compressed bitstream, converts the bitstream into a geometric image related bitstream, an occupied image related bitstream, a patch information related bitstream, and a texture image related bitstream. separate The bitstream separation unit 222 may transmit each of the separated bitstreams to the geometric image decoding unit 702 , the occupied image decoding unit 706 , the patch information decoding unit 708 , and the texture image decoding unit 704 .
- the geometric image decoding unit 702 may restore the geometric image by decoding the transmitted geometric image related bitstream.
- a method for decoding the geometric image a decoding method corresponding to the encoding method used in the geometric image encoder 610 may be used.
- the restored geometric image may be transmitted to the geometric restoration unit 710 .
- the occupied image decoding unit 706 may generate an occupied image by decoding the transmitted occupied image bitstream.
- the occupied image decoding unit 706 may additionally perform a process of converting the bit depth of the image to 1.
- the occupied image decoding unit 706 generates a binary map.
- the restored occupied image may be transmitted to the geometric restoration unit 710 .
- the patch information decoding unit 708 may entropy-decode the transmitted patch information bitstream to restore the patch information.
- the restored patch information may be transmitted to the patch synthesizer 714 .
- the texture image decoder 704 may restore the texture image by decoding the transmitted texture image bitstream.
- a method for decoding the texture image a decoding method corresponding to the encoding method used in the texture image encoder 620 may be used.
- the geometric restoration unit 710 may restore 3D geometric information of the points of the patch by using the delivered geometric image and the occupied image.
- the restored geometric information may be transmitted to the patch synthesizing unit 714 .
- the patch synthesizing unit 714 may generate a patch in a 3D space by using the delivered patch geometric information and patch information.
- the points of the patches may mean vertices.
- FIG. 11 As a restoration apparatus corresponding to the mesh encoding apparatus illustrated in FIG. 11 , the mesh decoding apparatus illustrated in FIG. 2B may be used.
- FIG. 11 is a block diagram conceptually illustrating a mesh encoding apparatus using reconstructed vertex information according to another embodiment of the present disclosure.
- the mesh encoding apparatus may generate a bitstream by dividing a mesh into vertex information, a texture map, and edge information, and encoding them using the restored vertex information.
- the mesh encoding apparatus may store the generated bitstream or transmit it to the mesh decoding apparatus.
- the mesh encoding apparatus includes a vertex extractor 202, a vertex encoder 204, a vertex decoder 1102, an edge extractor 206, an edge corrector 1102, an edge encoder 208, and a texture map generator. All or part of the 210 , the image encoder 212 , and the bitstream synthesizer 214 may be included.
- the vertex extraction unit 202 extracts data, such as coordinate values of vertices expressed in ASCII, normal vectors of vertices, and coordinate values of texture vertices, from the original mesh information.
- the extracted data may be transmitted to the vertex encoder 204 .
- the vertex encoder 204 may generate a bitstream by compressing the vertex data of the input mesh. As described above, the vertex encoder 204 may use an existing general lossless data compression method to compress vertex information. As another embodiment, the vertex encoder 204 may generate a bitstream by packing the vertex data in units of bytes without compression. The generated bitstream may be transmitted to the bitstream synthesizer 214 and the vertex decoder 1102 .
- the vertex decoder 1102 may decode the vertex-related bitstream generated by the vertex encoder 204 to reconstruct vertex data and texture vertex data.
- the restored vertex data may be transmitted to the texture map generator 210 , the edge corrector 1102 , and the edge encoder 208 .
- the texture map generator 210 may generate a two-dimensional texture map by orthogonally projecting a texture of a surface of a three-dimensional object into the uv domain using the original mesh and the restored vertex data.
- the texture map generator 210 when the texture information of the original mesh is in the form of a bitstream generated according to image compression such as JPEG, JPEG2000, PNG, HEIF, etc., the texture map generator 210 generates a restored texture map by decoding the compressed image. can do.
- the generated texture map may be transmitted to the image encoder 212 .
- the image encoder 212 may generate a bitstream by compressing the input texture map. In this case, the image encoding unit 212 may use image compression methods or video compression techniques as described above.
- the generated bitstream may be transmitted to the bitstream synthesizer 214 .
- the edge extraction unit 206 extracts polygonal edge data from the original mesh information, and transmits it to the edge correction unit 1102 .
- the edge correction unit 1102 corrects the extracted edge data using the transferred restored vertex data.
- the corrected edge data may be transmitted to the edge encoder 208 .
- the edge encoder 208 may generate a bitstream by compressing edge data. Also, the edge encoder 208 may use the restored vertex data generated by the vertex decoder 1102 when encoding the edge data. Alternatively, the edge encoder 208 may generate a bitstream by packing the edge data in byte units without compression.
- the edge encoder 208 may generate a bitstream using a general lossless compression method.
- a general lossless compression method For example, an edgebreaker, which is a general polygon connectivity compression method, may be used.
- the edge encoder 208 may selectively apply a general data compression method to some edge data and apply an edge breaker to the remaining edge data to generate a bitstream.
- the generated bitstream may be transmitted to the bitstream synthesizer 214 .
- the bitstream synthesizer 214 may generate one bitstream by concatenating all input bitstreams.
- the mesh encoding apparatus may transmit the generated bitstream to the mesh decoding apparatus.
- 12A and 12B are flowcharts illustrating a mesh encoding method according to an embodiment of the present disclosure.
- the mesh encoding apparatus acquires a mesh (S1200).
- the mesh encoding apparatus extracts edge data of polygons from the mesh (S1202).
- the edge data may be data expressed in ASCII.
- the mesh encoding apparatus extracts vertices from the mesh and generates a texture map, and then converts the mesh into a point cloud using the vertices, edge data, and texture map (S1204).
- the points in the point cloud may be expressed as geometric information and attribute information.
- step (S1204) of the mesh encoding apparatus converting the mesh into a point cloud will be described in detail.
- the mesh encoding apparatus extracts vertices from the mesh (S1220).
- the mesh encoding apparatus generates geometric information of the point cloud by using the vertices and edge data (S1222).
- the mesh encoding apparatus may generate planes of polygons using vertices and edge data, and then sample positions of the points on the planes to generate geometric information of the point cloud.
- the mesh encoding apparatus generates a texture map by orthographically projecting the texture data of the mesh into the two-dimensional domain, and generates texture map data including the texture map and information used for orthographic projection (S1224).
- the mesh encoding apparatus generates attribute information of the point cloud by using the geometric information and the texture map data (S1226).
- the mesh encoding apparatus generates a first bitstream by encoding the point cloud (S1206).
- the mesh encoding apparatus generates patches by classifying the point cloud into a plurality of groups (S1230).
- the mesh encoding apparatus moves and rotates the patches, maps them to a two-dimensional domain, and generates patch information (S1232).
- the patch information includes parameters for mapping the patches to the two-dimensional domain, the locations to which the patches are mapped, and the size of each patch in the two-dimensional domain.
- the mesh encoding apparatus generates geometric images using the patches (S1234).
- the geometric images are maps indicating the depth between points in the patches and the two-dimensional plane when the patches are orthogonal to the two-dimensional plane.
- the 2D plane may be one of an x-y plane, a y-z plane, and an x-z plane.
- the mesh encoding apparatus applies padding to an empty space in which the depth is not defined in the geometric images (S1236).
- the mesh encoding apparatus may apply padding to a position where the depth information does not exist by using a value of a position where the surrounding depth information exists.
- the mesh encoding apparatus generates a third bitstream by encoding the geometric images based on a video compression technique (S1238).
- video compression techniques such as H.264/AVC, H.265/HEVC, and H.266/VVC may be used.
- the mesh encoding device uses patches to texture An image is created (S1240).
- the texture image is an image in which attribute values of the points are mapped to positions where the points are projected on the plane when the points in the patches are orthogonally projected on a two-dimensional plane.
- the mesh encoding apparatus applies padding to a portion not occupied by points on the texture image (S1242).
- the mesh encoding apparatus may apply padding to the texture image using a filter or a push-pull padding method.
- the mesh encoding apparatus generates a fourth bitstream by encoding the texture image based on a video compression technique (S1244).
- video compression techniques such as H.264/AVC, H.265/HEVC, and H.266/VVC may be used.
- the mesh encoding apparatus may generate a bitstream using a general image codec.
- the Mesh encoding device occupies using patches
- An image is generated (S1246).
- the occupancy image is a binary map expressing whether points in the patches are occupied in the area on the plane when the patches are orthogonally projected on a specific plane.
- the mesh encoding apparatus applies a preprocessing process to the occupied image (S1248).
- the preprocessing process is a process of downsampling, reducing, or expanding the occupied image.
- the mesh encoding apparatus encodes the occupied image to generate a fifth bitstream (S1250).
- a general video codec may be used as a method for generating the bitstream of the occupied image.
- a general data compression method may be used as a method for generating the bitstream of the occupied image.
- the mesh encoding apparatus entropy-codes the patch information to generate a sixth bitstream (S1252).
- the mesh encoding apparatus generates a first bitstream by combining the third bitstream, the fourth bitstream, the fifth bitstream, and the sixth bitstream (S1254).
- the mesh encoding apparatus generates a second bitstream by encoding the edge data (S1208).
- the mesh encoding device encodes the edge data
- the vertices are Available.
- the mesh encoding apparatus may generate a bitstream using a general data compression method.
- the mesh encoding apparatus may generate a bitstream using a general lossless compression method.
- the mesh encoding apparatus generates a bitstream by synthesizing the first bitstream and the second bitstream (S1210).
- the mesh encoding apparatus may store the generated bitstream or transmit it to the mesh decoding apparatus.
- FIG. 13 is a flowchart illustrating a mesh decoding method according to an embodiment of the present disclosure.
- the mesh decoding apparatus separates the transmitted bitstream into a first bitstream and a second bitstream (S1300).
- the first bitstream is a bitstream in which a point cloud representing a mesh is encoded
- the second bitstream is a bitstream in which edge data of the mesh is encoded.
- the mesh decoding apparatus decodes the point cloud from the first bitstream (S1302).
- step (S1302) of the mesh decoding apparatus decoding the point cloud will be described in detail.
- the mesh decoding apparatus divides the first bitstream into a third bitstream, a fourth bitstream, a fifth bitstream, and a sixth bitstream ( S1320 ).
- the mesh decoding apparatus decodes the geometric image from the third bitstream (S1322).
- a method for decoding the geometric image a decoding method corresponding to the geometric image encoding method used in the mesh encoding apparatus may be used.
- the mesh decoding apparatus decodes the texture image from the fourth bitstream (S1324).
- a decoding method corresponding to the texture image encoding method used in the mesh encoding apparatus may be used.
- the mesh decoding apparatus decodes the occupied image from the fifth bitstream (S1326).
- the mesh decoding apparatus may generate a binary map.
- the mesh decoding apparatus entropy-decodes the sixth bitstream to restore patch information (S1328).
- the mesh decoding apparatus restores 3D geometric information of the patches by using the geometric image and the occupied image (S1330). For example, the mesh decoding apparatus may recover the geometric information by recognizing the original location where the depth information exists by using the occupied image, and then extracting the geometric information using the depth information at the corresponding location.
- the mesh decoding apparatus restores attribute information of the patches by using the occupied image and the texture image (S1332).
- the mesh decoding apparatus restores the point cloud by synthesizing patches using geometric information, attribute information, and patch information (S1334).
- the mesh decoding apparatus decodes edge data from the second bitstream (S1304).
- the edge data reconstruction method a decoding method corresponding to the edge data encoding method used in the mesh encoding apparatus may be used.
- the mesh decoding apparatus synthesizes a 3D mesh using the point cloud and edge data (S1306).
- the mesh decoding apparatus may reconstruct the mesh by generating planes of polygons using edge data and generating textures of planes using property values of a point cloud that are closest to the planes.
- FIGS. 8A and 8B an encoding/decoding method performed by another mesh encoding/decoding apparatus using point cloud coding, illustrated in FIGS. 8A and 8B , will be described.
- FIG. 14 is a flowchart illustrating a mesh encoding method according to another embodiment of the present disclosure.
- the mesh encoding apparatus acquires a mesh (S1400).
- the mesh encoding apparatus extracts vertex data from the mesh (S1402).
- the mesh encoding apparatus may extract data such as ASCII-expressed vertices, texture vertices, and normal vectors of the vertices from the mesh information.
- the mesh encoding apparatus generates a texture map by orthographically projecting the texture data of the mesh into the two-dimensional domain (S1404).
- the vertex data and the texture map may be regarded as point clouds.
- the mesh encoding apparatus generates a first bitstream by encoding the vertex data and the texture map (S1406).
- the mesh encoding apparatus regards vertex data, that is, vertices as a point cloud, and classifies the vertices into a plurality of groups to generate patches ( S1420 ).
- the mesh encoding apparatus moves and rotates the patches, maps them to a two-dimensional domain, and generates patch information (S1422).
- the patch information includes parameters for mapping the patches to the two-dimensional domain, the locations to which the patches are mapped, and the size of each patch in the two-dimensional domain.
- the mesh encoding apparatus generates geometric images using the patches (S1424).
- the geometric images are maps indicating the depth between points in the patches and the two-dimensional plane when the patches are orthogonal to the two-dimensional plane.
- the mesh encoding apparatus applies padding to an empty space in which the depth is not defined in the geometric images (S1426).
- the mesh encoding apparatus may apply padding to a position where the depth information does not exist by using a value of a position where the surrounding depth information exists.
- the mesh encoding apparatus generates a third bitstream by encoding the geometric images based on a video compression technique (S1428).
- video compression techniques such as H.264/AVC, H.265/HEVC, and H.266/VVC may be used.
- the occupancy image is a binary map expressing whether points in the patches are occupied in the area on the plane when the patches are orthogonally projected on a specific plane.
- the mesh encoding apparatus applies a preprocessing process to the occupied image (S1432).
- the preprocessing process is a process of downsampling, reducing, or expanding the occupied image.
- the mesh encoding apparatus encodes the occupied image to generate a fifth bitstream (S1434).
- a general video codec may be used as a method for generating the bitstream of the occupied image.
- a general data compression method may be used as a method for generating the bitstream of the occupied image.
- the mesh encoding apparatus entropy-codes the patch information to generate a sixth bitstream (S1436).
- the mesh encoding apparatus applies padding to a portion without a texture on the texture image (ie, the texture map) (S1438).
- the mesh encoding apparatus may apply padding to the texture image using a filter or a push-pull padding method.
- the mesh encoding apparatus generates a fourth bitstream by encoding the texture image based on a video compression technique (S1440).
- video compression techniques such as H.264/AVC, H.265/HEVC, and H.266/VVC may be used.
- the mesh encoding apparatus may generate a bitstream using a general image codec.
- the mesh encoding apparatus generates a first bitstream by combining the third bitstream, the fourth bitstream, the fifth bitstream, and the sixth bitstream (S1442).
- the mesh encoding apparatus extracts edge data of polygons from the mesh (S1408).
- the edge data may be data expressed in ASCII.
- the mesh encoding apparatus generates a second bitstream by encoding the edge data (S1410).
- the mesh encoding apparatus may use vertex data when encoding edge data.
- the mesh encoding apparatus may generate a bitstream using a general data compression method.
- the mesh encoding apparatus may generate a bitstream using a general lossless compression method.
- the mesh encoding apparatus generates a bitstream by synthesizing the first bitstream and the second bitstream (S1412).
- the mesh encoding apparatus may store the generated bitstream or transmit it to the mesh decoding apparatus.
- 15 is a flowchart illustrating a mesh decoding method according to another embodiment of the present disclosure.
- the mesh decoding apparatus divides the transmitted bitstream into a first bitstream and a second bitstream (S1500).
- the first bitstream is the vertex data of the mesh and the texture map.
- the point cloud is an encoded bitstream
- the second bitstream is an encoded bitstream of edge data of the mesh.
- the mesh decoding apparatus decodes the vertex data and the texture map from the first bitstream (S1502).
- step ( S1502 ) of the mesh decoding apparatus decoding the vertex data and the texture map will be described in detail.
- the mesh decoding apparatus divides the first bitstream into a third bitstream, a fourth bitstream, a fifth bitstream, and a sixth bitstream (S1520).
- the mesh decoding apparatus decodes the geometric image from the third bitstream (S1522).
- a method for decoding the geometric image a decoding method corresponding to the geometric image encoding method used in the mesh encoding apparatus may be used.
- the mesh decoding apparatus decodes the occupied image from the fifth bitstream (S1524).
- the mesh decoding apparatus may generate a binary map.
- the mesh decoding apparatus entropy-decodes the sixth bitstream to restore patch information (S1526).
- the mesh decoding apparatus decodes the texture image from the fourth bitstream (S1528).
- a method for decoding a texture image ie, a texture map
- a decoding method corresponding to the texture image encoding method used in the mesh encoding apparatus may be used.
- the mesh decoding apparatus restores 3D geometric information of the patches by using the geometric image and the occupied image (S1530).
- the mesh decoding apparatus generates patches by using the geometric information and the patch information (S1532).
- the points of the patches may mean vertices, that is, correction data.
- the mesh decoding apparatus decodes edge data from the second bitstream (S1504).
- the edge data reconstruction method a decoding method corresponding to the edge data encoding method used in the mesh encoding apparatus may be used.
- the mesh decoding apparatus synthesizes a 3D mesh using the vertex data, the edge data, and the texture map ( S1506 ).
- 16 is a flowchart illustrating a mesh encoding method according to another embodiment of the present disclosure.
- the mesh encoding apparatus acquires a mesh (S1600).
- the mesh encoding apparatus extracts vertex data from the mesh (S1602).
- the mesh encoding apparatus may extract data such as ASCII-expressed vertices, texture vertices, and normal vectors of the vertices from the mesh information.
- the mesh encoding apparatus encodes the vertex data to generate a first bitstream (S1604).
- the mesh encoding apparatus may use an existing general lossless data compression method to encode vertex information.
- the mesh encoding apparatus restores vertex data from the first bitstream (S1606).
- the mesh encoding apparatus After extracting edge data of polygons from the mesh (S1608), the mesh encoding apparatus corrects the extracted edge data using the restored vertex data (S1610).
- the edge data may be data expressed in ASCII.
- the mesh encoding apparatus encodes the corrected edge data to generate a second bitstream (S1612).
- the mesh encoding apparatus may use the restored vertex data when encoding the edge data.
- the mesh encoding apparatus may generate a bitstream using a general data compression method.
- the mesh encoding apparatus may generate a bitstream using a general lossless compression method.
- the mesh encoding apparatus generates a texture map by using the mesh and reconstructed vertex data (S1614).
- the mesh encoding apparatus may generate a 2D texture map by orthographically projecting the texture of the surface of the 3D object into the uv domain using the original mesh and the restored vertex data.
- the mesh encoding apparatus encodes the texture map to generate a third bitstream (S1616).
- the mesh encoding apparatus may encode the texture map using the image compression methods or video compression techniques as described above.
- the mesh encoding apparatus generates a bitstream by combining the first bitstream, the second bitstream, and the third bitstream (S1618).
- the mesh encoding apparatus may store the generated bitstream or transmit it to the mesh decoding apparatus.
- the mesh decoding apparatus illustrated in FIG. 2B may be used as a reconstruction apparatus corresponding to the mesh encoding apparatus illustrated in FIG. 11 .
- a mesh decoding method performed by the mesh decoding apparatus illustrated in FIG. 2B will be described.
- 17 is a flowchart illustrating a mesh decoding method according to another embodiment of the present disclosure.
- the mesh decoding apparatus divides the bitstream into a first bitstream, a second bitstream, and a third bitstream (S1700).
- the mesh decoding apparatus decodes the correction data from the first bitstream (S1702).
- the mesh decoding apparatus decodes edge data from the second bitstream (S1704).
- the edge data reconstruction method a decoding method corresponding to the edge data encoding method used in the mesh encoding apparatus may be used.
- the mesh decoding apparatus decodes the texture map from the third bitstream (S1706).
- the texture map restoration method a decoding method corresponding to the texture map encoding method used in the edge encoding apparatus may be used.
- the mesh decoding apparatus synthesizes the mesh using the vertex data, the edge data, and the texture map (S1708).
- non-transitory recording medium includes, for example, any type of recording device in which data is stored in a form readable by a computer system.
- the non-transitory recording medium includes a storage medium such as an erasable programmable read only memory (EPROM), a flash drive, an optical drive, a magnetic hard drive, and a solid state drive (SSD).
- EPROM erasable programmable read only memory
- SSD solid state drive
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
포인트 클라우드 압축을 이용하는 메시 압축 방법 및 장치에 관한 개시로서, 본 실시예는, 3차원 메시에 대한 부호화 효율을 향상시키기 위해, 3차원 메시를 포인트 클라우드로 변환한 후, 포인트 클라우드 압축 방법을 이용하여 3차원 메시를 압축/복원하는 부호화/복호화 장치 및 방법을 제공한다.
Description
본 개시는 포인트 클라우드 압축을 이용하는 메시 압축 방법 및 장치에 관한 것이다.
이하에 기술되는 내용은 단순히 본 발명과 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.
3차원 메시(mesh) 정보는 3차원 모델링, 내비게이션(navigation), 게임 등 다양한 분야에서 널리 사용되고 있는 데이터의 한 종류이다. 일반적으로 메시 데이터는 ASCII 코드로 표현되어 있는 정점(vertex)의 3차원 좌표, 텍스처(texture) 정점의 2차원 좌표, 정점의 3차원 법선 벡터(normal vector), 다수의 정점들로 구성된 다각형(polygon)의 연결성을 표현하는 에지(edge) 정보 등을 포함한다. 추가적으로, 메시 데이터는 별도의 PNG, JPEG, JPEG2000과 같은 이미지 코덱을 이용하여 압축된 텍스처맵(texture map)를 포함할 수 있다. 여기서, 텍스처 정점들은, 정점들이 2차원 uv 도메인(domain)으로 정사영된(orthogonally projected) 정점들을 나타낸다. 따라서, 텍스처맵은 uv 도메인으로 사영된 정점들의 속성 값들을 패킹한 이미지를 나타낸다. 이때, uv 도메인으로서 구형, 원통형 등 다양한 사영 공간 (projective space)이 이용될 수 있다. 또한, 정점들의 속성 값들을 정의하는 속성 정보는, 정점에서의 색상 정보, 질감 정보, 투명도(transparency) 등을 포함할 수 있다.
도 1a 내지 도 1c의 예시는 3차원 메시가 포함하고 있는 데이터를 나타낸다. 도 1a의 예시에서는, 메시가 사면체의 객체를 3차원 공간에 표현하되, 메시가 총 4 개의 정점들을 포함한다. 또한, 사면체를 표현하기 위해 메시의 각 정점들을 연결하는 에지 정보는 선으로 표현된다. 도 1b와 도 1c의 예시는, 도 1a에 예시된 메시를 표현함에 있어서, 일반적으로 사용되는 방식을 나타낸다. 도 1b의 예시는, 2차원 uv 공간에 표현된 3차원 메시의 텍스처 정점들, 및 이들 간의 연결성을 표현하는 에지 정보를 나타낸다. 도 1c의 예시는, ASCII 코드를 이용하여 표현된 정점들의 위치, 텍스처 정점들의 위치, 정점들과 텍스처 정점들 간의 연결성 등을 나타낸다.
3차원 메시는 점점 사용 영역이 확대되고 있는데, 향후 자율주행, 모바일 등의 분야에도 널리 사용될 것으로 예상된다. 따라서, 전송 및 저장 측면에서 메시를 효율적으로 압축하는 방법 및 장치가 고려되어야 한다.
본 개시는, 3차원 메시에 대한 부호화 효율을 향상시키기 위해, 3차원 메시를 포인트 클라우드로 변환한 후, 포인트 클라우드 압축 방법을 이용하여 3차원 메시를 압축/복원하는 부호화/복호화 장치 및 방법을 제공하는 데 목적이 있다.
본 개시의 실시예에 따르면, 메시 복호화 장치가 수행하는, 3차원 메시(mesh)를 복호화하는 복호화 방법에 있어서, 비트스트림을 제1 비트스트림과 제2 비트스트림으로 분리하는 단계, 여기서, 상기 제1 비트스트림은 상기 메시를 표현한 포인트 클라우드(point cloud)가 부호화된 비트스트림이고, 상기 제2 비트스트림은 상기 메시의 에지 데이터가 부호화된 비트스트림임; 상기 제1 비트스트림으로부터 상기 포인트 클라우드를 복호화하는 단계; 상기 제2 비트스트림으로부터 상기 에지 데이터를 복호화하는 단계; 및 상기 에지 데이터를 이용하여 다각형들(polygons)의 평면들을 생성하고, 상기 평면들에 가장 근접한, 상기 포인트 클라우드의 속성 값들을 이용하여 상기 평면들의 텍스처(texture)를 생성함으로써, 상기 메시를 합성하는 단계를 포함하는 것을 특징으로 하는, 복호화 방법을 제공한다.
본 개시의 다른 실시예에 따르면, 3차원 메시를 복호화하는 메시 복호화 장치에 있어서, 비트스트림을 제1 비트스트림과 제2 비트스트림으로 분리하는 비트스트림 분리부, 여기서, 상기 제1 비트스트림은 상기 메시를 표현한 포인트 클라우드가 부호화된 비트스트림이고, 상기 제2 비트스트림은 상기 메시의 에지 데이터가 부호화된 비트스트림임; 상기 제1 비트스트림으로부터 상기 포인트 클라우드를 복호화하는 포인트 클라우드 복호화부; 상기 제2 비트스트림으로부터 상기 에지 데이터를 복호화하는 에지 복호화부; 및 상기 에지 데이터를 이용하여 다각형들의 평면들을 생성하고, 상기 평면들에 가장 근접한, 상기 포인트 클라우드의 속성 값들을 이용하여 상기 평면들의 텍스처를 생성함으로써, 상기 메시를 합성하는 메시 합성부를 포함하는 것을 특징으로 하는, 메시 복호화 장치를 제공한다.
본 개시의 다른 실시예에 따르면, 메시 부호화 장치가 수행하는, 3차원 메시(mesh)를 부호화하는 복호화 방법에 있어서, 상기 메시를 획득하는 단계; 상기 메시로부터 다각형들(polygons)의 에지(edge) 데이터를 추출하는 단계; 상기 메시로부터 정점들(vertices)을 추출하고 텍스처맵(texture map)을 생성한 후, 상기 정점들, 상기 에지 데이터 및 상기 텍스처맵을 이용하여 상기 메시를 포인트 클라우드(point cloud)로 변환하는 단계; 상기 포인트 클라우드를 부호화하여 제1 비트스트림을 생성하는 단계; 상기 에지 데이터를 부호화하여 제2 비트스트림을 생성하는 단계; 및 상기 제1 비트스트림 및 상기 제2 비트스트림을 합성하여 비트스트림을 생성하는 단계를 포함하는 것을 특징으로 하는, 부호화 방법을 제공한다.
이상에서 설명한 바와 같이 본 실시예에 따르면, 3차원 메시를 포인트 클라우드로 변환한 후, 포인트 클라우드 압축 방법을 이용하여 3차원 메시를 압축/복원하는 부호화/복호화 장치 및 방법을 제공함으로써, 3차원 메시에 대한 부호화 효율을 향상시키는 것이 가능해지는 효과가 있다.
도 1a 내지 도 1c는 3차원 메시가 포함하고 있는 데이터를 나타내는 예시도이다.
도 2a 및 도 2b는 메시 부호화 장치 및 메시 복호화 장치를 개념적으로 나타내는 블록도이다.
도 3a 및 도 3b는 본 개시의 일 실시예에 따른 메시 부호화 장치 및 메시 복호화 장치를 개념적으로 나타내는 블록도이다.
도 4는 본 개시의 일 실시예에 따른 포인트 클라우드 변환부를 개념적으로 나타내는 블록도이다.
도 5는 본 개시의 일 실시예에 따른 포인트 클라우드의 기하 정보 생성을 나타내는 예시도이다.
도 6은 본 개시의 일 실시예에 따른 포인트 클라우드 부호화부를 개념적으로 나타내는 블록도이다.
도 7은 본 개시의 일 실시예에 따른 포인트 클라우드 복호화부를 개념적으로 나타내는 블록도이다.
도 8a 및 도 8b는 본 개시의 다른 실시예에 따른 메시 부호화 장치 및 메시 복호화 장치를 개념적으로 나타내는 블록도이다.
도 9는 본 개시의 다른 실시예에 따른 포인트 클라우드 부호화부를 개념적으로 나타내는 블록도이다.
도 10은 본 개시의 다른 실시예에 따른 포인트 클라우드 복호화부를 개념적으로 나타내는 블록도이다.
도 11은 본 개시의 또다른 실시예에 따른, 복원 정점 정보를 이용하는 메시 부호화 장치를 개념적으로 나타내는 블록도이다.
도 12a 및 도 12b는 본 개시의 일 실시예에 따른 메시 부호화 방법을 나타내는 순서도이다.
도 13은 본 개시의 일 실시예에 따른 메시 복호화 방법을 나타내는 순서도이다.
도 14는 본 개시의 다른 실시예에 따른 메시 부호화 방법을 나타내는 순서도이다.
도 15는 본 개시의 다른 실시예에 따른 메시 복호화 방법을 나타내는 순서도이다.
도 16은 본 개시의 또다른 실시예에 따른 메시 부호화 방법을 나타내는 순서도이다.
도 17은 본 개시의 또다른 실시예에 따른 메시 복호화 방법을 나타내는 순서도이다.
이하, 본 발명의 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 실시예들의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 실시예는 포인트 클라우드 압축을 이용하는 메시 압축 방법 및 장치에 관한 내용을 개시한다. 보다 자세하게는, 3차원 메시에 대한 부호화 효율을 향상시키기 위해, 3차원 메시를 포인트 클라우드로 변환한 후, 포인트 클라우드 압축 방법을 이용하여 3차원 메시를 압축/복원하는 메시 부호화/복호화 장치 및 방법을 제공한다.
이하의 설명에서, 메시 정보와 메시 데이터는 호환적으로 이용된다. 또한, 정점 정보와 정점 데이터, 에지 정보와 에지 데이터, 텍스처맵 정보와 텍스처맵 데이터, 및 패치 정보와 패치 데이터도 호환적으로 이용될 수 있다.
먼저, 도 2a 및 도 2b의 도시를 이용하여, 메시를 정점 정보, 텍스처맵 및 에지 정보로 분할하여 메시를 부호화/복호화하는 장치를 기술한다.
도 2a 및 도 2b는 메시 부호화 장치 및 메시 복호화 장치를 개념적으로 나타내는 블록도이다.
도 2a에 예시된 바와 같이, 메시 부호화 장치는 메시를 정점 정보, 텍스처맵 및 에지 정보로 분할한 후, 이들을 부호화하여 비트스트림을 생성할 수 있다. 메시 부호화 장치는 생성된 비트스트림을 저장하거나 메시 복호화 장치로 전송할 수 있다. 메시 부호화 장치는 정점 추출부(202), 정점 부호화부(204), 에지 추출부(206), 에지 부호화부(208), 텍스처맵 생성부(210), 영상 부호화부(212) 및 비트스트림 합성부(214)의 전부 또는 일부를 포함한다.
정점 추출부(202)는 원본 메시 정보로부터 ASCII로 표현된 정점들의 좌표 값, 정점들의 법선 벡터, 텍스처 정점들의 좌표 값 등의 데이터를 추출한다. 추출된 정점 데이터는 정점 부호화부(204) 및 에지 부호화부(208)로 전달될 수 있다. 정점 부호화부(204)는 전달된 정점 데이터를 압축하여 비트스트림을 생성할 수 있다. 여기서, 정점 데이터를 압축하기 위해, 기존의 일반적인 무손실 데이터 압축 방법이 이용될 수 있다. 예를 들어, 정점 부호화부(204)는 gzip와 같은 오픈 소스를 사용하여, 기존의 데이터보다 작은 용량의 데이터로 압축하여 비트스트림을 생성할 수 있다. 다른 실시예로서, 정점 부호화부(204)는 정점 데이터를 압축하지 않은 채로 바이트 단위로 패킹하여 비트스트림을 생성할 수 있다. 생성된 비트스트림은 비트스트림 합성부(214)로 전달될 수 있다.
에지 추출부(206)는 원본 메시 정보로부터 다각형들의 에지 데이터를 추출하여 ASCII로 표현된 데이터로 나타낼 수 있다. 추출된 에지 데이터는 에지 부호화부(208)로 전달될 수 있다. 에지 부호화부(208)는 에지 데이터를 압축하여 비트스트림을 생성할 수 있다. 또한, 에지 부호화부(208)는 에지 데이터를 부호화할 때, 정점 추출부(202)에 의해 생성된 정점들의 데이터를 이용할 수 있다. 에지 부호화부(208)는 일반적인 데이터 압축 방법을 이용하여 에지 데이터를 부호화할 수 있다. 또는, 에지 부호화부(208)는 에지 데이터를 압축하지 않은 채로 바이트 단위로 패킹하여 비트스트림을 생성할 수 있다.
에지 부호화부(208)는, 다른 실시예로서, 일반적인 무손실 압축 방법을 이용하여 비트스트림을 생성할 수 있다. 예를 들면, 일반적인 다각형 연결성 압축 방법인 에지브레이커(edgebreaker)가 이용될 수 있다. 즉, 에지 부호화부(208)는, 에지브레이커를 이용하여 연결성을 다수의 심볼로 나타낸 후, 이러한 심볼들을 부호화하여 비트스트림을 생성할 수 있다. 또는, 에지 부호화부(208)는 선택적으로 일부 에지 데이터에 대해 일반적인 데이터 압축 방법을 적용하고, 나머지 에지 데이터에 대해 에지브레이커를 적용하여 비트스트림을 생성할 수 있다. 생성된 비트스트림은 비트스트림 합성부(214)에 전달될 수 있다.
텍스처맵 생성부(210)는 원본 메시의 3차원 객체의 면의 텍스처를 2차원 uv 도메인으로 정사영하여 2차원 텍스처맵을 생성할 수 있다. 또는, 원본 메시의 텍스처 정보가 JPEG(Joint Photographic coding Experts Group), JPEG2000, PNG(Portable Network Graphics), HEIF(High Efficiency Image File Format)등과 같은 이미지 압축에 따라 생성된 비트스트림의 형태인 경우, 텍스처맵 생성부(210)는 압축된 이미지를 복호화하여 복원된 텍스처맵을 생성할 수 있다. 생성된 텍스처맵은 영상 부호화부(212)로 전달될 수 있다. 영상 부호화부(212)는 입력된 텍스처맵을 압축하여 비트스트림을 생성할 수 있다. 이때, 영상 부호화부(212)에서는 이미지 압축 방법인 JPEG, JPEG2000, PNG, HEIF 등과 같은 다양한 기술들이 사용될 수 있다. 또는 H.264/AVC(Advanced Video Coding), H.265/HEVC(Advanced Video Coding), H.266/VVC(Versatile Video Coding) 등과 같은 비디오 압축 기술들이 사용될 수 있다. 생성된 비트스트림은 비트스트림 합성부(214)로 전달될 수 있다.
비트스트림 합성부(214)는 입력된 모든 비트스트림들을 결합하여 하나의 비트스트림을 생성할 수 있다. 메시 부호화 장치는 생성된 비트스트림을 메시 복호화 장치로 전달할 수 있다.
한편, 도 2b에 예시된 바와 같이, 메시 복호화 장치는 전달된 비트스트림을 복호화하여, 정점 정보, 텍스처맵 및 에지 정보를 복원한다. 메시 복호화 장치는 복원된 데이터를 합성하여 원본 메시를 복원할 수 있다. 메시 복호화 장치는 비트스트림 분리부(222), 정점 복호화부(224), 에지 복호화부(228), 영상 복호화부(232) 및 메시 합성부(234)의 전부 또는 일부를 포함할 수 있다.
비트스트림 분리부(222)는 전달된 비트스트림을 정점 관련 비트스트림, 에지 관련 비트스트림, 텍스처맵 관련 비트스트림으로 분리하여 각각 정점 복호화부(224), 에지 복호화부(228) 및 영상 복호화부(232)로 전달할 수 있다.
정점 복호화부(224)는 전달된 정점 관련 비트스트림을 복호화하여 정점 데이터를 복원할 수 있다. 전술한 바와 같이, 정점 데이터는 정점들의 좌표 값, 정점들의 법선 벡터, 텍스처 정점들의 좌표 값 등을 포함한다. 복원된 정점 데이터는 메시 합성부(234)로 전달될 수 있다.
에지 복호화부(228)는 전달된 에지 관련 비트스트림을 복호화하여 에지 데이터를 복원한다. 이때, 에지 데이터 복원 방법으로서, 메시 부호화 장치 내 에지 부호화부(208)에서 사용된 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다. 복원된 에지 데이터는 메시 합성부(234)로 전달될 수 있다.
영상 복호화부(232)는 전달된 텍스처맵 관련 비트스트림을 복호화하여 복원텍스처맵을 복원할 수 있다. 이때, 텍스처맵 복원 방법으로서, 에지 부호화 장치 내 영상 부호화부(212)에서 사용된 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다. 복원된 텍스처맵은 메시 합성부(234)로 전달될 수 있다.
메시 합성부(234)는 입력된 정점 정보, 에지 정보, 및 텍스처맵을 이용하여 3차원 메시를 합성함으로써, 원본 메시를 복원할 수 있다.
이하, 도 3a 및 도 3b의 도시를 이용하여, 메시 부호화/복호화 장치의 일 예로서, 포인트 클라우드 코딩을 이용하는 방법을 기술한다.
도 3a 및 도 3b는 본 개시의 일 실시예에 따른 메시 부호화 장치 및 메시 복호화 장치를 개념적으로 나타내는 블록도이다.
일 실시예로서, 도 3a에 예시된 바와 같이, 메시 부호화 장치는 메시 정보를 포인트 클라우드로 변환한 후, 포인트 클라우드 압축 방법을 이용하여 비트스트림을 생성할 수 있다. 메시 부호화 장치는 생성된 비트스트림을 저장하거나 메시 복호화 장치로 전송할 수 있다. 메시 부호화 장치는 에지 추출부(206), 포인트 클라우드 변환부(302), 포인트 클라우드 부호화부(304), 에지 부호화부(208) 및 비트스트림 합성부(214)의 전부 또는 일부를 포함할 수 있다.
에지 추출부(206)는 원본 메시 정보로부터 다각형의 에지 정보를 추출하여 ASCII로 표현된 데이터로 나타낼 수 있다. 추출된 에지 데이터는 에지 부호화부(208) 및 포인트 클라우드 변환부(302)로 전달될 수 있다.
포인트 클라우드 변환부(302)는 입력된 원본 메시를 포인트 클라우드로 변환할 수 있다. 포인트 클라우드는 포인트 클라우드 부호화부(304)와 에지 부호화부(208)로 전달될 수 있다. 포인트 클라우드 부호화부(304)는 전달된 포인트 클라우드를 부호화하여 비트스트림을 생성할 수 있다. 생성된 비트스트림은 비트스트림 합성부(214)로 전달될 수 있다. 포인트 클라우드 변환부(302) 및 포인트 클라우드 부호화부(304)에 대한 자세한 구성은 추후 기술된다.
에지 부호화부(208)는 입력된 에지 데이터를 부호화하여 비트스트림을 생성할 수 있다. 에지 부호화부(208)는 에지 데이터를 부호화할 때, 포인트 클라우드 변환부(302)에 의해 제공된 정점들의 데이터를 이용할 수 있다. 에지 부호화부(208)는 일반적인 데이터 압축 방법을 이용하여 비트스트림을 생성할 수 있다. 또는, 에지 부호화부(208)는 일반적인 무손실 압축 방법을 이용하여 비트스트림을 생성할 수 있다. 생성된 비트스트림은 비트스트림 합성부(214)로 전달될 수 있다.
비트스트림 합성부(214)는 전달된 비트스트림들을 연결하여 하나의 비트스트림을 생성할 수 있다. 메시 부호화 장치는 생성된 비트스트림을 저장하거나 메시 복호화 장치로 전달할 수 있다.
한편, 도 3b에 예시된 바와 같이, 메시 복호화 장치는, 전달된 비트스트림으로부터 포인트 클라우드를 복호화한 후, 메시 정보를 복원할 수 있다. 메시 복호화 장치는 비트스트림 분리부(222), 포인트 클라우드 복호화부(324), 에지 복호화부(228) 및 메시 합성부(234)의 전부 또는 일부를 포함할 수 있다.
비트스트림 분리부(222)는 전달된 비트스트림을 포인트 클라우드 관련 비트스트림과 에지 관련 비트스트림으로 분리할 수 있다. 분리된 비트스트림 각각은 포인트 클라우드 복호화부(324) 및 에지 복호화부(228)로 전달될 수 있다.
포인트 클라우드 복호화부(324)는 입력된 포인트 클라우드 관련 비트스트림으로부터 포인트 클라우드를 복원한다. 복원된 포인트 클라우드는 메시 합성부(234)로 전달될 수 있다. 포인트 클라우드 복호화부(324)에 대한 자세한 구성은 추후 기술한다.
에지 복호화부(228)는 입력된 에지 관련 비트스트림을 복호화하여 에지 데이터를 복원할 수 있다. 이때, 에지 데이터 복원 방법으로서, 메시 부호화 장치에서 사용된 에지 데이터 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다. 복원된 에지 데이터는 메시 합성부(234)로 전달될 수 있다.
메시 합성부(234)는 전달된 포인트 클라우드와 에지 데이터를 이용하여 3차원 메시를 합성함으로써, 원본 메시를 복원할 수 있다. 메시 합성부(234)는 에지 데이터를 이용하여 다각형들의 평면들을 생성하고, 그 평면들에 가장 근접한 포인트 클라우드의 속성 값들을 이용하여 다각형들의 평면들의 텍스처를 생성할 수 있다.
이하, 도 4 내지 도 7의 도시를 이용하여, 도 3a에 제시된 포인트 클라우드 변환부(302)와 포인트 클라우드 부호화부(304)의 구조 및 동작을 기술한다.
도 4는 본 개시의 일 실시예에 따른 포인트 클라우드 변환부를 개념적으로 나타내는 블록도이다.
포인트 클라우드 변환부(302)는 정점 추출부(202), 기하 샘플링부(402), 텍스처맵 생성부(210) 및 속성 매핑부(404)의 전부 또는 일부를 포함할 수 있다.
정점 추출부(202)는 원본 메시로부터 정점들을 추출한다. 추출된 정점들은 기하 샘플링부(402) 및 에지 부호화부(208)로 전달될 수 있다.
기하 샘플링부(402)는 전달된 정점들과 에지들을 이용하여 다각형들의 평면을 생성한 후, 평면 상의 점들의 위치를 샘플링하여 포인트 클라우드의 기하 정보를 생성할 수 있다. 도 5에 예시된 바와 같이, 기하 샘플링부(402)는 입력된 정점들과 에지 데이터를 이용하여 3차원 공간 상의 평면을 생성할 수 있다. 기하 샘플링부(402)는 생성된 평면을 균일한 분포로 샘플링하여 해당 위치에서 포인트들을 생성할 수 있다. 각 포인트들의 기하 정보는 평면을 이루는 3 개의 정점들의 3차원 좌표에 기초하여 계산될 수 있다. 또는, 평면에 가장 가까운 정수형의 좌표에 기초하여 포인트들이 생성될 수도 있다.
기하 샘플링부(402)는 생성된 기하 정보를 속성 매핑부(404)로 전달한다.
텍스처맵 생성부(210)는 원본 메시의 텍스처 정보를 uv 도메인으로 정사영하여 텍스처맵을 생성한다. 또는, 원본 메시의 텍스처 정보가 JPEG, JPEG2000, PNG, HEIF등과 같은 이미지 압축에 따라 생성된 비트스트림의 형태인 경우, 텍스처맵 생성부(210)는 압축된 이미지를 복호화하여 복원된 텍스처맵을 생성할 수 있다. 텍스처맵 생성부(210)는 생성된 텍스처맵, 정사영에 사용된 정보 등을 포함하는 텍스처맵 데이터를 속성 매핑부(404)로 전달한다.
속성 매핑부(404)는 전달된 포인트 클라우드의 기하 정보와 텍스처맵 데이터를 이용하여 포인트 클라우드의 속성 정보를 생성할 수 있다. 생성된 포인트 클라우드, 즉 기하 정보와 속성 정보로 표현되는 포인트 클라우드는 포인트 클라우드 부호화부(304)로 전달될 수 있다.
도 6은 본 개시의 일 실시예에 따른 포인트 클라우드 부호화부를 개념적으로 나타내는 블록도이다.
포인트 클라우드 부호화부(304)는 패치 생성부(602), 패치 패킹부(604), 기하 이미지 생성부(606), 기하 이미지 전처리부(608), 기하 이미지 부호화부(610), 텍스처 이미지 생성부(616), 텍스처 이미지 전처리부(618), 텍스처 이미지 부호화부(620), 점유(occupation) 이미지 생성부(626), 점유 이미지 전처리부(628), 점유 이미지 부호화부(630) 및 패치 정보 부호화부(640)의 전부 또는 일부를 포함할 수 있다.
패치 생성부(602)는 3차원 데이터인 포인트 클라우드를 분석하여 하나 또는 다수의 그룹으로 분류한다. 이때, 분류된 하나의 그룹은 패치(patch)로 명칭된다. 하나의 패치에 포함된 포인트들은 유사한 법선 벡터를 갖는데, 하나의 포인트와 주변 포인트들에 의해 구현되는 평면의 법선 벡터가 해당 포인트의 법선 벡터로 정의된다. 생성된 패치들은 패치 패킹부(604)로 전달될 수 있다.
패치 패킹부(604)는 전달된 다수의 3차원 공간 상의 패치들을 이동 및 회전시켜 2차원 도메인의 위치로 매핑함으로써, 패치들을 패킹한다. 이때, 패치들 각각은 3차원에서 2차원으로 변환 시 사용된 파라미터를 패치 정보로서 소유할 수 있다. 또한, 패치들 각각의 패치 정보는 2차원으로 매핑된 위치, 패치의 2차원 도메인에서 크기 등을 추가적으로 포함할 수 있다. 패치 정보는 패치 정보 부호화부(640)로 전달될 수 있다. 패킹된 패치들은 기하 이미지 생성부(606), 텍스처 이미지 생성부(616) 및 점유 이미지 생성부(626)로 전달될 수 있다.
기하 이미지 생성부(606)는 전달된 패킹된 패치들을 이용하여 두 개의 기하 이미지를 생성한다. 여기서, 기하 이미지는, 패치들의 포인트가 사영된 평면 상의 위치에 포인트와 사영 평면 간 거리 값이 매핑된 이미지이다. 즉, 기하 이미지는 3차원 공간을 2차원 평면으로 사영하였을 때, 포인트들과 평면 간의 깊이(depth)에 대한 맵(map)이라고 할 수 있다. 이때, 2차원 평면은 x-y 평면, y-z 평면 및 x-z 평면 중의 하나일 수 있다.
한편, 3차원 패치가 3차원 공간 상의 볼륨을 가지고 있는 경우, 하나의 2차원 위치에 두 개의 포인트가 사영될 수 있다. 이러한 경우 두 개의 깊이가 존재할 수 있으므로, 기하 이미지 생성부(606)는 앞쪽 및 뒤쪽에 대한 깊이 정보(depth information)에 대해 각각의 기하 이미지를 생성할 수 있다. 생성된 기하 이미지들은 기하 이미지 전처리부(608)로 전달될 수 있다.
기하 이미지 전처리부(608)는, 영상 부호화를 수행하기 전에, 전달된 기하 이미지들을 전처리할 수 있다. 기하 이미지들은 패치들의 포인트들이 사영되지 않은 빈 공간을 포함하고 있으며, 해당 공간에는 깊이 정보가 정의되어 있지 않다. 깊이 정보가 존재하는 위치와 없는 위치가 연속적으로 존재하는 경우, 데이터의 연속성이 감소하여 영상 부호화 시 예측 성능이 저하될 수 있다. 이를 방지하기 위하여, 기하 이미지 전처리부(608)는 주변의 깊이 정보가 존재하는 위치의 값을 이용하여 깊이 정보가 존재하지 않는 위치에 패딩을 적용할 수 있다. 기하 이미지 전처리부(608)는 패딩된 기하 이미지들을 기하 이미지 부호화부(610)로 전달할 수 있다.
기하 이미지 부호화부(610)는 전달된 두 개의 기하 이미지들을 비디오 압축 기술을 이용하여 부호화함으로써, 비트스트림을 생성할 수 있다. 이때, H.264/AVC, H.265/HEVC, H.266/VVC 등과 같은 비디오 압축 기술들이 사용될 수 있다. 한편, 메시 또는 포인트 클라우드는 시간에 따라 연속적으로 메시 부호화 장치로 입력될 수 있다. 따라서, 이러한 경우에 대해, 인트라 예측만 사용하는 이미지 코딩이 아닌 인터 예측이 사용되는 기존 비디오와 동일하게, 기하 이미지가 효율적으로 압축될 수 있다. 생성된 비트스트림은 비트스트림 합성부(214)로 전달될 수 있다.
텍스처 이미지 생성부(616)는 입력된 패킹된 패치들을 이용하여 텍스처 이미지를 생성할 수 있다. 여기서, 텍스처 이미지는, 패치 내 포인트들을 2차원 평면으로 정사영하였을 때, 평면 상에서 포인트들이 사영된 위치에 포인트들의 속성 값이 매핑된 이미지이다. 생성된 텍스처 이미지는 텍스처 이미지 전처리부(618)로 전달될 수 있다.
텍스처 이미지 전처리부(618)는, 2차원 텍스처 이미지 상에서 포인트들이 점유하지 못한 부분에 패딩을 적용하여, 패딩된 이미지를 생성한다. 텍스처 이미지 전처리부(618)는 필터를 사용하거나 푸시풀 패딩(push-pull padding) 방법을 이용하여 텍스처 이미지에 패딩을 적용할 수 있다. 패딩된 텍스처 이미지는 텍스처 이미지 부호화부(620)로 전달될 수 있다.
한편, 푸시풀 패딩 방법은, 이미지를 다운샘플링한 후, 업샘플링함으로써, 이미지 내 빈 공간의 경계(boundary) 부분을 패딩하는 방법이다.
텍스처 이미지 부호화부(620)는 전달된 텍스처 이미지를 비디오 압축 기술을 이용하여 부호화함으로써, 비트스트림을 생성할 수 있다. 이때, H.264/AVC, H.265/HEVC, H.266/VVC 등과 같은 비디오 압축 기술들이 사용될 수 있다. 또는, 텍스처 이미지 부호화부(620)는 일반적인 이미지 코덱을 이용하여 비트스트림을 생성할 수 있다. 생성된 비트스트림은 비트스트림 합성부(214)로 전달될 수 있다.
점유 이미지 생성부(626)는 전달된 패킹된 패치들을 이용하여 점유 이미지를 생성할 수 있다. 여기서, 점유 이미지는, 3차원의 패치를 2차원 평면에 정사영하였을 때, 2차원 평면 상의 영역에서 포인트들의 점유 여부를 표현하는 이진맵(binary map)이다. 생성된 점유 이미지는 점유 이미지 전처리부(628)로 전달될 수 있다.
점유 이미지 전처리부(628)는 입력된 점유 이미지에 다운샘플링, 축소 및 팽창과 같은 전처리 과정을 적용할 수 있다. 전처리된 점유 이미지는 점유 이미지 부호화부(630)로 전달될 수 있다.
점유 이미지 부호화부(630)는 전달된 점유 이미지를 부호화함으로써 비트스트림을 생성할 수 있다. 이때, 점유 이미지의 비트스트림을 생성하기 위한 방법으로서, 일반적인 비디오 코덱이 사용될 수 있다. 또는, 이진 산술 코딩(binary arithmetic coding)이 사용될 수 있다. 또는, 일반 데이터 압축 방법인 gzip이 사용될 수 있다. 생성된 비트스트림은 비트스트림 합성부(214)로 전달될 수 있다.
패치 정보 부호화부(640)는 전달된 패치 데이터를 엔트로피(entropy) 코딩하여 비트스트림을 생성할 수 있다. 생성된 비트스트림은 비트스트림 생성부(214)로 전달될 수 있다.
비트스트림 생성부(214)는 전달된 모든 비트스트림을 연결하여 포인트 클라우드를 압축한 하나의 비트스트림을 생성할 수 있다.
이하, 도 7의 도시를 이용하여, 도 3b에 제시된 포인트 클라우드 복호화부(324)의 구조 및 동작을 기술한다.
도 7은 본 개시의 일 실시예에 따른 포인트 클라우드 복호화부를 개념적으로 나타내는 블록도이다.
포인트 클라우드 복호화부(324)는 비트스트림 분리부(222), 기하 이미지 복호화부(702), 텍스처 이미지 복호화부(704), 점유 이미지 복호화부(706), 패치정보 복호화부(708), 기하 복원부(710), 속성 복원부(712) 및 패치 합성부(714)의 전부 또는 일부 포함할 수 있다.
비트스트림 분리부(222)는, 포인트 클라우드가 압축된 비트스트림을 획득한 후, 해당 비트스트림을 기하 이미지 관련 비트스트림, 텍스처 이미지 관련 비트스트림, 점유 이미지 관련 비트스트림, 및 패치 정보 관련 비트스트림으로 분리한다. 비트스트림 분리부(222)는 분리된 비트스트림 각각을 기하 이미지 복호화부(702), 텍스처 이미지 복호화부(704), 점유 이미지 복호화부(706), 패치정보 복호화부(708)로 전달할 수 있다.
기하 이미지 복호화부(702)는 전달된 기하 이미지 관련 비트스트림을 복호화하여 기하 이미지를 복원할 수 있다. 기하 이미지 복호화를 위한 방법으로서, 기하 이미지 부호화부(610)에서 사용된 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다. 복원된 기하 이미지는 기하 복원부(710)로 전달될 수 있다.
텍스처 이미지 복호화부(704)는 전달된 텍스처 이미지 비트스트림을 복호화하여 텍스처 이미지를 복원할 수 있다. 텍스처 이미지 복호화를 위한 방법으로서, 텍스처 이미지 부호화부(620)에서 사용된 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다. 복원된 텍스처 이미지는 속성 복원부(712)으로 전달될 수 있다.
점유 이미지 복호화부(706)는 전달된 점유 이미지 비트스트림을 복호화하여 점유 이미지를 생성할 수 있다. 이때, 점유 이미지 복호화 시 비디오 복호화 방법을 사용하는 경우, 점유 이미지 복호화부(706)는 이미지의 비트 깊이를 1로 변환하는 과정을 추가적으로 수행할 수 있다. 또는, 일반적인 압축 방법을 사용하는 경우, 점유 이미지 복호화부(706)는 이진맵을 생성한다. 복원된 점유 이미지는 기하 복원부(710) 및 속성 복원부(712)로 전달될 수 있다.
패치정보 복호화부(708)는 전달된 패치 정보 비트스트림을 엔트로피 디코딩하여 패치 정보를 복원할 수 있다. 복원된 패치 정보는 패치 합성부(714)로 전달될 수 있다.
기하 복원부(710)는 전달된 기하 이미지와 점유 이미지를 이용하여 패치의 3차원 기하 정보를 복원할 수 있다. 예컨대, 기하 복원부(710)는 점유 이미지를 이용하여 깊이 정보가 존재하는 원래 위치를 파악한 후, 해당되는 위치에서 깊이 정보를 이용하여 기하 정보를 추출함으로써, 기하 정보를 복원할 수 있다. 복원된 기하 정보는 패치 합성부(714)로 전달될 수 있다.
속성 복원부(712)는 전달된 텍스처 이미지와 점유 이미지를 이용하여 패치의 속성(텍스처) 정보를 복원할 수 있다. 복원된 속성 정보는 패치 합성부(714)로 전달될 수 있다.
패치 합성부(714)는 전달된 패치의 기하 정보, 패치의 속성 정보 및 패치 정보를 종합하여 3차원 패치를 합성함으로써, 포인트 클라우드를 복원할 수 있다.
이하, 도 8a 및 도 8b의 도시를 이용하여, 포인트 클라우드 코딩을 이용하는 메시 부호화/복호화 장치의 다른 실시예를 기술한다.
도 8a 및 도 8b는 본 개시의 다른 실시예에 따른 메시 부호화 장치 및 메시 복호화 장치를 개념적으로 나타내는 블록도이다.
다른 실시예로서, 도 8a에 예시된 바와 같이, 메시 부호화 장치는 메시의 정점 정보 및 텍스처맵에 기초하여 포인트 클라우드 압축 방법을 이용하여 비트스트림을 생성할 수 있다. 메시 부호화 장치는 생성된 비트스트림을 저장하거나 메시 복호화 장치로 전송할 수 있다. 메시 부호화 장치는 정점 추출부(202), 텍스처맵 생성부(210), 포인트 클라우드 부호화부(304), 에지 추출부(206), 에지 부호화부(208) 및 비트스트림 합성부(214)의 전부 또는 일부를 포함할 수 있다.
정점 추출부(202)는 원본 메시 정보로부터 ASCII로 표현된 정점들, 텍스처 정점들, 정점들의 법선 벡터 등의 데이터를 추출한다. 추출된 정점 데이터는 포인트 클라우드 부호화부(304) 및 에지 부호화부(208)로 전달될 수 있다.
텍스처맵 생성부(210)는 원본 메시의 3차원 객체의 면의 텍스처를 uv 도메인으로 정사영하여 2차원 텍스처맵을 생성할 수 있다. 또는, 원본 메시의 텍스처 정보가 JPEG, JPEG2000, PNG, HEIF등과 같은 이미지 압축에 따라 생성된 비트스트림의 형태인 경우, 텍스처맵 생성부(210)는 압축된 이미지를 복호화하여 복원된 텍스처맵을 생성할 수 있다. 생성된 텍스처맵은 포인트 클라우드 부호화부(304)로 전달될 수 있다.
포인트 클라우드 부호화부(304)는 입력된 정점 데이터와 텍스처맵을 포인트 클라우드로 간주하고, 포인트 클라우드 압축 방법을 이용하여 이들을 부호화함으로써, 비트스트림을 생성한다. 생성된 비트스트림은 비트스트림 합성부(214)에 전달될 수 있다. 포인트 클라우드 부호화부(304)에 대한 자세한 구성은 추후 기술된다.
에지 추출부(206)는 원본 메시 정보로부터 다각형의 에지 데이터를 추출하여 에지 부호화부(208)로 전달할 수 있다. 에지 부호화부(208)는 전달받은 에지 데이터를 압축하여 비트스트림을 생성할 수 있다. 또한, 에지 부호화부(208)는 에지 데이터를 부호화할 때, 정점 추출부(202)에 의해 생성된 정점들의 데이터를 이용할 수 있다. 에지 부호화부(208)는 일반적인 데이터 압축 방법을 이용하여 에지 데이터를 부호화할 수 있다. 또는, 에지 데이터를 압축하지 않은 채로 바이트 단위로 패킹하여 비트스트림을 생성할 수 있다.
에지 부호화부(208)는, 다른 실시예로서, 일반적인 무손실 압축 방법을 이용하여 비트스트림을 생성할 수 있다. 예를 들면, 일반적인 다각형 연결성 압축 방법인 에지브레이커가 이용될 수 있다. 또는, 에지 부호화부(208)는 선택적으로 일부 에지 데이터에 대해 일반적인 데이터 압축 방법을 적용하고, 나머지 에지 데이터에 대해 에지브레이커를 적용하여 비트스트림을 생성할 수 있다. 생성된 비트스트림은 비트스트림 합성부(214)에 전달될 수 있다.
비트스트림 합성부(214)는 입력된 모든 비트스트림들을 연결하여 하나의 비트스트림을 생성할 수 있다. 메시 부호화 장치는 생성된 비트스트림을 메시 복호화 장치로 전달할 수 있다.
한편, 도 8b에 예시된 바와 같이, 메시 복호화 장치는, 전달된 비트스트림으로부터 포인트 클라우드를 복호화한 후, 메시 정보를 복원할 수 있다. 메시 복호화 장치는 비트스트림 분리부(222), 포인트 클라우드 복호화부(324), 에지 복호화부(228) 및 메시 합성부(234)의 전부 또는 일부를 포함할 수 있다.
비트스트림 분리부(222)는 전달된 비트스트림을 포인트 클라우드 관련 비트스트림, 에지 관련 비트스트림으로 분리하여 각각 포인트 클라우드 복호화부(324) 및 에지 복호화부(228)로 전달할 수 있다. 포인트 클라우드 복호화부(324)는 전달된 비트스트림을 복호화하여 정점 데이터와 텍스처맵을 복원할 수 있다. 복원된 정점 데이터와 텍스처맵은 메시 합성부(234)로 전달될 수 있다. 포인트 클라우드 복호화부(324)에 대한 자세한 구성은 추후 기술된다.
에지 복호화부(228)는 전달된 에지 관련 비트스트림을 복호화하여 에지 데이터를 복원할 수 있다. 복원된 에지 정보는 메시 합성부(234)로 전달될 수 있다. 여기서, 에지 데이터 복호화를 위한 방법으로서, 메시 부호화 장치 내 에지 부호화부(208)에서 사용된 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다.
메시 합성부(214)는 입력된 정점 데이터, 에지 데이터 및 텍스처맵을 이용하여 3차원 메시를 합성함으로써, 원본 메시를 복원할 수 있다.
이하, 도 9의 도시를 이용하여, 도 8a에 제시된 포인트 클라우드 부호화부(304)의 구조 및 동작을 기술한다.
도 9는 본 개시의 다른 실시예에 따른 포인트 클라우드 부호화부를 개념적으로 나타내는 블록도이다.
포인트 클라우드 부호화부(304)는 패치 생성부(602), 패치 패킹부(604), 기하 이미지 생성부(606), 기하 이미지 전처리부(608), 기하 이미지 부호화부(610), 점유 이미지 생성부(626), 점유 이미지 전처리부(628), 점유 이미지 부호화부(630), 패치 정보 부호화부(640), 텍스처 이미지 전처리부(618), 텍스처 이미지 부호화부(620) 및 비트스트림 합성부(214)의 전부 또는 일부를 포함할 수 있다.
패치 생성부(602)는, 정점 데이터 즉, 정점들을 포인트 클라우드로 간주하고, 이들을 분석하여 하나 또는 다수의 그룹, 즉 패치들로 분류한다. 분류된 패치들은 패치 패킹부(604)로 전달될 수 있다.
패치 패킹부(604)는 전달된 다수의 3차원 공간 상의 패치들을 이동 및 회전시켜 2차원 도메인의 위치로 매핑함으로써, 패치들을 패킹한다. 이때, 패치들 각각은 3차원에서 2차원으로 변환 시 사용된 파라미터를 패치 정보로서 소유할 수 있다. 또한, 패치들 각각의 패치 정보는 2차원으로 매핑된 위치, 패치의 2차원 도메인에서 크기 등을 추가적으로 포함할 수 있다. 패치 정보는 패치 정보 부호화부(640)로 전달될 수 있다. 패킹된 패치들은 기하 이미지 생성부(606) 및 점유 이미지 생성부(626)로 전달될 수 있다.
패치들 각각은 3차원에서 2차원으로 변환 시 사용된 파라미터를 패치 정보로서 소유할 수 있다. 또한, 패치들 각각의 패치 정보는 2차원으로 매핑된 위치, 패치의 2차원 도메인에서 크기 등을 추가적으로 포함할 수 있다.
기하 이미지 생성부(606)는 전달된 패킹된 패치들을 이용하여 두 개의 기하 이미지를 생성한다. 전술한 바와 같이, 기하 이미지는, 패치들의 포인트가 사영된 평면 상의 위치에 포인트와 사영 평면 간 거리 값인 깊이가 매핑된 이미지이다. 또한, 3차원 패치가 3차원 공간 상의 볼륨을 가지고 있는 경우, 전술한 바와 같이, 두 개의 깊이가 존재할 수 있으므로, 기하 이미지 생성부(606)는 앞쪽 및 뒤쪽에 대한 깊이 정보에 대해 각각의 기하 이미지를 생성할 수 있다. 생성된 기하 이미지들은 기하 이미지 전처리부(608)로 전달될 수 있다.
기하 이미지 전처리부(608)는, 영상 부호화를 수행하기 전에, 전달된 기하 이미지들을 전처리할 수 있다. 전술한 바와 같이, 기하 이미지 전처리부(608)는 주변의 깊이 정보가 존재하는 위치의 값을 이용하여 깊이 정보가 존재하지 않는 위치에 패딩을 적용할 수 있다. 기하 이미지 전처리부(608)는 패딩된 기하 이미지들을 기하 이미지 부호화부(610)로 전달할 수 있다.
기하 이미지 부호화부(610)는 전달된 두 개의 기하 이미지들을 비디오 압축 기술을 이용하여 부호화함으로써, 비트스트림을 생성할 수 있다. 이때, H.264/AVC, H.265/HEVC, H.266/VVC 등과 같은 비디오 압축 기술들이 사용될 수 있다. 한편, 메시 또는 포인트 클라우드는 시간에 따라 연속적으로 메시 부호화 장치로 입력될 수 있으므로, 전술한 바와 같이, 기존 비디오와 동일하게, 기하 이미지가 효율적으로 압축될 수 있다. 생성된 비트스트림은 비트스트림 합성부(214)로 전달될 수 있다.
점유 이미지 생성부(626)는 전달된 패킹된 패치들을 이용하여 점유 이미지를 생성할 수 있다. 전술한 바와 같이, 점유 이미지는 3차원의 패치를 특정 평면에 정사영하였을 때, 2차원 평면 상의 영역에서 포인트들의 점유 여부를 표현하는 이진맵이다. 생성된 점유 이미지는 점유 이미지 전처리부(628)로 전달될 수 있다.
점유 이미지 전처리부(628)는 입력된 점유 이미지에 다운샘플링, 축소 및 팽창과 같은 전처리 과정을 적용할 수 있다. 전처리된 점유 이미지는 점유 이미지 부호화부(630)로 전달될 수 있다.
점유 이미지 부호화부(630)는 전달된 점유 이미지를 부호화함으로써 비트스트림을 생성할 수 있다. 이때, 점유 이미지의 비트스트림을 생성하기 위한 방법으로서, 일반적인 비디오 코덱, 이진 산술 코딩, 또는 일반 데이터 압축 방법인 gzip이 사용될 수 있다. 생성된 비트스트림은 비트스트림 합성부(214)로 전달될 수 있다
패치 정보 부호화부(640)는 전달된 패치 데이터를 엔트로피 코딩하여 비트스트림을 생성할 수 있다. 생성된 비트스트림은 비트스트림 생성부(214)로 전달될 수 있다.
텍스처 이미지 전처리부(618)는, 주변 텍스처를 이용하여 2차원 텍스처 이미지(즉, 텍스처 맵) 상에서 텍스처가 없는 부분을 패딩할 수 있다. 텍스처 이미지 전처리부(618)는 필터를 사용하거나 푸시풀 패딩 방법을 이용하여 텍스처 이미지에 패딩을 적용할 수 있다. 패딩된 텍스처 이미지는 텍스처 이미지 부호화부(620)로 전달될 수 있다.
텍스처 이미지 부호화부(620)는 전달된 텍스처 이미지를 비디오 코덱을 이용하여 부호화함으로써, 비트스트림을 생성할 수 있다. 또는, 텍스처 이미지 부호화부(620)는 일반적인 이미지 코덱을 이용하여 비트스트림을 생성할 수 있다. 생성된 비트스트림은 비트스트림 합성부(214)로 전달될 수 있다.
비트스트림 생성부(214)는 전달된 모든 비트스트림을 연결하여 정점들 및 텍스처맵으로 구현된 포인트 클라우들를 압축한 하나의 비트스트림을 생성할 수 있다.
이하, 도 10의 도시를 이용하여, 도 8b에 제시된 포인트 클라우드 복호화부(324)의 구조 및 동작을 기술한다.
도 10은 본 개시의 다른 실시예에 따른 포인트 클라우드 복호화부를 개념적으로 나타내는 블록도이다.
포인트 클라우드 복호화부(324)는 비트스트림 분리부(222), 기하 이미지 복호화부(702), 점유 이미지 복호화부(706), 기하 복원부(710), 패치정보 복호화부(708), 패치 합성부(714) 및 텍스처 이미지 복호화부(704)의 전부 또는 일부를 포함할 수 있다.
비트스트림 분리부(222)는, 포인트 클라우드가 압축된 비트스트림을 획득한 후, 해당 비트스트림을 기하 이미지 관련 비트스트림, 점유 이미지 관련 비트스트림, 패치 정보 관련 비트스트림, 및 텍스처 이미지 관련 비트스트림으로 분리한다. 비트스트림 분리부(222)는 분리된 비트스트림 각각을 기하 이미지 복호화부(702), 점유 이미지 복호화부(706), 패치정보 복호화부(708) 및 텍스처 이미지 복호화부(704)로 전달할 수 있다.
기하 이미지 복호화부(702)는 전달된 기하 이미지 관련 비트스트림을 복호화 하여 기하 이미지를 복원할 수 있다. 기하 이미지 복호화를 위한 방법으로서, 기하 이미지 부호화부(610)에서 사용된 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다. 복원된 기하 이미지는 기하 복원부(710)로 전달될 수 있다.
점유 이미지 복호화부(706)는 전달된 점유 이미지 비트스트림을 복호화하여 점유 이미지를 생성할 수 있다. 이때, 점유 이미지 복호화 시 비디오 복호화 방법을 사용하는 경우, 점유 이미지 복호화부(706)는 이미지의 비트 깊이를 1로 변환하는 과정을 추가적으로 수행할 수 있다. 또는, 일반적인 압축 방법을 사용하는 경우, 점유 이미지 복호화부(706)는 이진맵을 생성한다. 복원된 점유 이미지는 기하 복원부(710)로 전달될 수 있다.
패치정보 복호화부(708)는 전달된 패치 정보 비트스트림을 엔트로피 디코딩하여 패치 정보를 복원할 수 있다. 복원된 패치 정보는 패치 합성부(714)로 전달될 수 있다.
텍스처 이미지 복호화부(704)는 전달된 텍스처 이미지 비트스트림을 복호화하여 텍스처 이미지를 복원할 수 있다. 텍스처 이미지 복호화를 위한 방법으로서, 텍스처 이미지 부호화부(620)에서 사용된 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다.
기하 복원부(710)는 전달된 기하 이미지와 점유 이미지를 이용하여 패치의 포인트들의 3차원 기하 정보를 복원할 수 있다. 복원된 기하 정보는 패치 합성부(714)로 전달될 수 있다.
패치 합성부(714)는 전달된 패치의 기하 정보 및 패치 정보를 이용하여 3차원 공간 상의 패치를 생성할 수 있다. 이때, 패치들의 포인트들은 정점들을 의미할 수 있다.
이하, 도 11의 도시를 이용하여, 복원 정점 정보를 이용하는 메시 부호화 장치를 기술한다. 도 11에 예시된 메시 부호화 장치에 대응하는 복원 장치로서, 도 2b에 예시된 메시 복호화 장치가 이용될 수 있다.
도 11은 본 개시의 또다른 실시예에 따른, 복원 정점 정보를 이용하는 메시 부호화 장치를 개념적으로 나타내는 블록도이다.
다른 실시예로서, 도 11에 예시된 바와 같이, 메시 부호화 장치는 메시를 정점 정보, 텍스처맵 및 에지 정보로 분할한 후, 복원 정점 정보를 이용하여 이들을 부호화하여 비트스트림을 생성할 수 있다. 메시 부호화 장치는 생성된 비트스트림을 저장하거나 메시 복호화 장치로 전송할 수 있다. 메시 부호화 장치는 정점 추출부(202), 정점 부호화부(204), 정점 복호화부(1102), 에지 추출부(206), 에지 보정부(1102), 에지 부호화부(208), 텍스처맵 생성부(210), 영상 부호화부(212) 및 비트스트림 합성부(214)의 전부 또는 일부를 포함할 수 있다.
정점 추출부(202)는 원본 메시 정보로부터 ASCII로 표현된 정점들의 좌표 값, 정점들의 법선 벡터, 텍스처 정점들의 좌표 값 등의 데이터를 추출한다. 추출된 데이터는 정점 부호화부(204)로 전달될 수 있다. 정점 부호화부(204)는 입력된 메시의 정점 데이터를 압축하여 비트스트림을 생성할 수 있다. 전술한 바와 같이, 정점 부호화부(204)는 정점 정보들을 압축하기 위하여 기존의 일반적인 무손실 데이터 압축 방법을 이용할 수 있다. 다른 실시예로서, 정점 부호화부(204)는 정점 데이터를 압축하지 않은 채로 바이트 단위로 패킹하여 비트스트림을 생성할 수 있다. 생성된 비트스트림은 비트스트림 합성부(214) 및 정점 복호화부(1102)로 전달될 수 있다.
정점 복호화부(1102)는 정점 부호화부(204)에 의해 생성된 정점 관련 비트스트림을 복호화하여 정점 데이터 및 텍스처 정점 데이터를 복원할 수 있다. 복원된 정점 데이터는 텍스처맵 생성부(210), 에지 보정부(1102) 및 에지 부호화부(208)로 전달될 수 있다.
텍스처맵 생성부(210)는, 원본 메시와 복원 정점 데이터를 이용하여, 3차원 객체의 면의 텍스처를 uv 도메인으로 정사영하여 2차원 텍스처맵을 생성할 수 있다. 또는, 원본 메시의 텍스처 정보가 JPEG, JPEG2000, PNG, HEIF 등과 같은 이미지 압축에 따라 생성된 비트스트림의 형태인 경우, 텍스처맵 생성부(210)는 압축된 이미지를 복호화하여 복원된 텍스처맵을 생성할 수 있다. 생성된 텍스처맵은 영상 부호화부(212)로 전달될 수 있다. 영상 부호화부(212)는 입력된 텍스처맵을 압축하여 비트스트림을 생성할 수 있다. 이때, 영상 부호화부(212)에서는, 전술한 바와 같은, 이미지 압축 방법들 또는 비디오 압축 기술들이 사용될 수 있다. 생성된 비트스트림은 비트스트림 합성부(214)로 전달될 수 있다.
에지 추출부(206)는 원본 메시 정보로부터 다각형의 에지 데이터를 추출하여, 에지 보정부(1102)로 전달한다. 에지 보정부(1102)는 전달된 복원된 정점 데이터를 이용하여 추출된 에지 데이터를 보정한다. 보정된 에지 데이터는 에지 부호화부(208)로 전달될 수 있다. 에지 부호화부(208)는 에지 데이터를 압축하여 비트스트림을 생성할 수 있다. 또한, 에지 부호화부(208)는 에지 데이터를 부호화할 때, 정점 복호화부(1102)에 의해 생성된 복원 정점 데이터를 이용할 수 있다. 또는, 에지 부호화부(208)는 에지 데이터를 압축하지 않은 채로 바이트 단위로 패킹하여 비트스트림을 생성할 수 있다.
전술한 바와 같이, 에지 부호화부(208)는, 다른 실시예로서, 일반적인 무손실 압축 방법을 이용하여 비트스트림을 생성할 수 있다. 예를 들면, 일반적인 다각형 연결성 압축 방법인 에지브레이커(edgebreaker)가 이용될 수 있다. 또는, 에지 부호화부(208)는 선택적으로 일부 에지 데이터에 대해 일반적인 데이터 압축 방법을 적용하고, 나머지 에지 데이터에 대해 에지브레이커를 적용하여 비트스트림을 생성할 수 있다. 생성된 비트스트림은 비트스트림 합성부(214)에 전달될 수 있다.
비트스트림 합성부(214)는 입력된 모든 비트스트림들을 연결하여 하나의 비트스트림을 생성할 수 있다. 메시 부호화 장치는 생성된 비트스트림을 메시 복호화 장치로 전달할 수 있다.
이하, 도 3a 및 도 3b에 예시된, 포인트 클라우드 코딩을 이용하는 메시 부호화/복호화 장치가 수행하는 부호화/복호화 방법을 기술한다.
도 12a 및 도 12b는 본 개시의 일 실시예에 따른 메시 부호화 방법을 나타내는 순서도이다.
메시 부호화 장치는 메시를 획득한다(S1200).
메시 부호화 장치는 메시로부터 다각형들의 에지 데이터를 추출한다(S1202). 에지 데이터는 ASCII로 표현된 데이터일 수 있다.
메시 부호화 장치는 메시로부터 정점들을 추출하고 텍스처맵을 생성한 후, 정점들, 에지 데이터 및 텍스처맵을 이용하여 메시를 포인트 클라우드로 변환한다(S1204). 이때, 포인트 클라우드 내 포인트들은 기하 정보와 속성 정보로 표현될 수 있다.
이하, 메시 부호화 장치가 메시를 포인트 클라우드로 변환하는 단계(S1204)를 자세히 기술한다.
메시 부호화 장치는 메시로부터 정점들을 추출한다(S1220).
메시 부호화 장치는 정점들과 에지 데이터를 이용하여 포인트 클라우드의 기하 정보를 생성한다(S1222). 메시 부호화 장치는 정점들과 에지 데이터를 이용하여 다각형들의 평면들을 생성한 후, 평면들 상의 점들의 위치를 샘플링하여, 포인트 클라우드의 기하 정보를 생성할 수 있다.
메시 부호화 장치는 메시의 텍스처 데이터를 2차원 도메인으로 정사영하여 텍스처맵을 생성하고, 텍스처맵 및 정사영에 이용된 정보를 포함하는 텍스처맵 데이터를 생성한다(S1224).
메시 부호화 장치는 기하 정보와 텍스처맵 데이터를 이용하여 포인트 클라우드의 속성 정보를 생성한다(S1226).
메시 부호화 장치는 포인트 클라우드를 부호화하여 제1 비트스트림을 생성한다(S1206).
이하, 메시 부호화 장치가 포인트 클라우드를 부호화하는 단계(S1206)을 자세히 기술한다.
메시 부호화 장치는 포인트 클라우드를 다수의 그룹으로 분류하여 패치들을 생성한다(S1230).
메시 부호화 장치는 패치들을 이동 및 회전시켜 2차원 도메인으로 매핑하고, 패치 정보를 생성한다(S1232). 여기서, 패치 정보는, 패치들을 2차원 도메인으로 매핑하기 위한 파라미터, 패치들이 매핑된 위치, 및 2차원 도메인에서의 각 패치의 크기를 포함한다.
메시 부호화 장치는 패치들을 이용하여 기하 이미지들을 생성한다(S1234). 여기서, 기하 이미지들은, 패치들을 2차원 평면으로 정사영하였을 때, 패치들 내 포인트들과 2차원 평면 간의 깊이를 나타내는 맵이다. 이때, 2차원 평면은 x-y 평면, y-z 평면 및 x-z 평면 중의 하나일 수 있다.
메시 부호화 장치는 기하 이미지들에서 깊이가 정의되지 않은 빈 공간에 패딩을 적용한다(S1236). 메시 부호화 장치는 주변의 깊이 정보가 존재하는 위치의 값을 이용하여 깊이 정보가 존재하지 않는 위치에 패딩을 적용할 수 있다.
메시 부호화 장치는 기하 이미지들을 비디오 압축 기술을 기반으로 부호화하여, 제3 비트스트림을 생성한다(S1238). 이때, H.264/AVC, H.265/HEVC, H.266/VVC 등과 같은 비디오 압축 기술들이 사용될 수 있다.
메시 부호화 장치는 패치들을 이용하여 텍스처 이미지를 생성한다(S1240). 여기서, 텍스처 이미지는, 패치들 내 포인트들을 2차원 평면으로 정사영하였을 때, 평면 상에서 포인트들이 사영된 위치에 포인트들의 속성 값이 매핑된 이미지이다.
메시 부호화 장치는 텍스처 이미지 상에서 포인트들이 점유하지 못한 부분에 패딩을 적용한다(S1242). 메시 부호화 장치는 필터를 사용하거나 푸시풀 패딩 방법을 이용하여 텍스처 이미지에 패딩을 적용할 수 있다.
메시 부호화 장치는 텍스처 이미지를 비디오 압축 기술을 기반으로 부호화하여, 제4 비트스트림을 생성한다(S1244). 이때, H.264/AVC, H.265/HEVC, H.266/VVC 등과 같은 비디오 압축 기술들이 사용될 수 있다. 또는, 메시 부호화 장치는 일반적인 이미지 코덱을 이용하여 비트스트림을 생성할 수 있다.
메시 부호화 장치는 패치들을 이용하여 점유 이미지를 생성한다(S1246). 여기서, 점유 이미지는, 패치들을 특정 평면에 정사영하였을 때, 평면 상의 영역에서 패치들 내 포인트들의 점유 여부를 표현하는 이진맵이다.
메시 부호화 장치는 점유 이미지에 전처리과정을 적용한다(S1248). 여기서, 전처리과정은 점유 이미지를 다운샘플링, 축소 또는 팽창하는 과정이다.
메시 부호화 장치는 점유 이미지를 부호화하여, 제5 비트스트림을 생성한다(S1250). 이때, 점유 이미지의 비트스트림을 생성하기 위한 방법으로서, 일반적인 비디오 코덱이 사용될 수 있다. 또는, 일반 데이터 압축 방법이 사용될 수 있다.
메시 부호화 장치는 패치 정보를 엔트로피 코딩하여, 제6 비트스트림을 생성한다(S1252).
메시 부호화 장치는 제3 비트스트림, 제4 비트스트림, 제5 비트스트림 및 제6 비트스트림을 결합하여 제1 비트스트림을 생성한다(S1254).
메시 부호화 장치는 에지 데이터를 부호화하여 제2 비트스트림을 생성한다(S1208). 메시 부호화 장치는 에지 데이터를 부호화할 때, 정점들을 이용할 수 있다. 메시 부호화 장치는 일반적인 데이터 압축 방법을 이용하여 비트스트림을 생성할 수 있다. 메시 부호화 장치는 일반적인 무손실 압축 방법을 이용하여 비트스트림을 생성할 수 있다.
메시 부호화 장치는 제1 비트스트림 및 제2 비트스트림을 합성하여 비트스트림을 생성한다(S1210). 메시 부호화 장치는 생성된 비트스트림을 저장하거나 메시 복호화 장치로 전달할 수 있다.
도 13은 본 개시의 일 실시예에 따른 메시 복호화 방법을 나타내는 순서도이다.
메시 복호화 장치는 전달된 비트스트림을 제1 비트스트림과 제2 비트스트림으로 분리한다(S1300). 여기서, 제1 비트스트림은 메시를 표현한 포인트 클라우드가 부호화된 비트스트림이고, 제2 비트스트림은 메시의 에지 데이터가 부호화된 비트스트림이다.
메시 복호화 장치는 제1 비트스트림으로부터 포인트 클라우드를 복호화한다(S1302).
이하, 메시 복호화 장치가 포인트 클라우드를 복호화하는 단계(S1302)를 자세히 기술한다.
메시 복호화 장치는 제1 비트스트림을 제3 비트스트림, 제4 비트스트림, 제5 비트스트림 및 제6 비트스트림으로 분리한다(S1320).
메시 복호화 장치는 제3 비트스트림으로부터 기하 이미지를 복호화한다 (S1322). 기하 이미지 복호화를 위한 방법으로서, 메시 부호화 장치에서 사용된 기하 이미지 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다.
메시 복호화 장치는 제4 비트스트림으로부터 텍스처 이미지를 복호화한다(S1324). 텍스처 이미지 복호화를 위한 방법으로서, 메시 부호화 장치에서 사용된 텍스처 이미지 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다.
메시 복호화 장치는 제5 비트스트림으로부터 점유 이미지를 복호화한다(S1326). 일반적인 압축 방법을 사용하는 경우, 메시 복호화 장치는 이진맵을 생성할 수 있다.
메시 복호화 장치는 제6 비트스트림을 엔트로피 디코딩하여 패치 정보를 복원한다(S1328).
메시 복호화 장치는 기하 이미지와 점유 이미지를 이용하여 패치들의 3차원 기하 정보를 복원한다(S1330). 예컨대, 메시 복호화 장치는 점유 이미지를 이용하여 깊이 정보가 존재하는 원래 위치를 파악한 후, 해당되는 위치에서 깊이 정보를 이용하여 기하 정보를 추출함으로써, 기하 정보를 복원할 수 있다.
메시 복호화 장치는 점유 이미지와 텍스처 이미지를 이용하여 패치들의 속성 정보를 복원한다(S1332).
메시 복호화 장치는 기하 정보, 속성 정보 및 패치 정보를 이용하여 패치들을 합성함으로써, 포인트 클라우드를 복원한다(S1334).
메시 복호화 장치는 제2 비트스트림으로부터 에지 데이터를 복호화한다(S1304). 이때, 에지 데이터 복원 방법으로서, 메시 부호화 장치에서 사용된 에지 데이터 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다.
메시 복호화 장치는 포인트 클라우드와 에지 데이터를 이용하여 3차원 메시를 합성한다(S1306). 메시 복호화 장치는 에지 데이터를 이용하여 다각형들의 평면들을 생성하고, 평면들에 가장 근접한, 포인트 클라우드의 속성 값들을 이용하여 평면들의 텍스처를 생성함으로써, 메시를 복원할 수 있다.
이하, 도 8a 및 도 8b에 예시된, 포인트 클라우드 코딩을 이용하는, 다른 메시 부호화/복호화 장치가 수행하는 부호화/복호화 방법을 기술한다.
도 14는 본 개시의 다른 실시예에 따른 메시 부호화 방법을 나타내는 순서도이다.
메시 부호화 장치는 메시를 획득한다(S1400).
메시 부호화 장치는 메시로부터 정점 데이터를 추출한다(S1402). 메시 부호화 장치는 메시 정보로부터 ASCII로 표현된 정점들, 텍스처 정점들, 정점들의 법선 벡터 등의 데이터를 추출할 수 있다.
메시 부호화 장치는 메시의 텍스처 데이터를 2차원 도메인으로 정사영하여 텍스처맵을 생성한다(S1404).
이때, 정점 데이터와 텍스처맵은 포인트 클라우드로 간주될 수 있다.
메시 부호화 장치는 정점 데이터와 텍스처맵을 부호화하여 제1 비트스트림을 생성한다(S1406).
이하, 메시 부호화 장치가 하는 포인트 클라우드를 부호화하는 단계(S1406)를 자세히 기술한다.
메시 부호화 장치는, 정점 데이터 즉, 정점들을 포인트 클라우드로 간주하고, 정점들을 다수의 그룹으로 분류하여 패치들을 생성한다(S1420).
메시 부호화 장치는 패치들을 이동 및 회전시켜 2차원 도메인으로 매핑하고, 패치 정보를 생성한다(S1422). 여기서, 패치 정보는, 패치들을 2차원 도메인으로 매핑하기 위한 파라미터, 패치들이 매핑된 위치, 및 2차원 도메인에서의 각 패치의 크기를 포함한다.
메시 부호화 장치는 패치들을 이용하여 기하 이미지들을 생성한다(S1424). 여기서, 기하 이미지들은, 패치들을 2차원 평면으로 정사영하였을 때, 패치들 내 포인트들과 2차원 평면 간의 깊이를 나타내는 맵이다.
메시 부호화 장치는 기하 이미지들에서 깊이가 정의되지 않은 빈 공간에 패딩을 적용한다(S1426). 메시 부호화 장치는 주변의 깊이 정보가 존재하는 위치의 값을 이용하여 깊이 정보가 존재하지 않는 위치에 패딩을 적용할 수 있다.
메시 부호화 장치는 기하 이미지들을 비디오 압축 기술을 기반으로 부호화하여, 제3 비트스트림을 생성한다(S1428). 이때, H.264/AVC, H.265/HEVC, H.266/VVC 등과 같은 비디오 압축 기술들이 사용될 수 있다.
메시 부호화 장치는 패치들을 이용하여 점유 이미지를 생성한다(S1430). 여기서, 점유 이미지는, 패치들을 특정 평면에 정사영하였을 때, 평면 상의 영역에서 패치들 내 포인트들의 점유 여부를 표현하는 이진맵이다.
메시 부호화 장치는 점유 이미지에 전처리과정을 적용한다(S1432). 여기서, 전처리과정은 점유 이미지를 다운샘플링, 축소 또는 팽창하는 과정이다.
메시 부호화 장치는 점유 이미지를 부호화하여, 제5 비트스트림을 생성한다(S1434). 이때, 점유 이미지의 비트스트림을 생성하기 위한 방법으로서, 일반적인 비디오 코덱이 사용될 수 있다. 또는, 일반 데이터 압축 방법이 사용될 수 있다.
메시 부호화 장치는 패치 정보를 엔트로피 코딩하여, 제6 비트스트림을 생성한다(S1436).
메시 부호화 장치는, 텍스처 이미지(즉, 텍스처 맵) 상에서 텍스처가 없는 부분에 패딩을 적용한다(S1438). 메시 부호화 장치는 필터를 사용하거나 푸시풀 패딩 방법을 이용하여 텍스처 이미지에 패딩을 적용할 수 있다.
메시 부호화 장치는 텍스처 이미지를 비디오 압축 기술을 기반으로 부호화하여, 제4 비트스트림을 생성한다(S1440). 이때, H.264/AVC, H.265/HEVC, H.266/VVC 등과 같은 비디오 압축 기술들이 사용될 수 있다. 또는, 메시 부호화 장치는 일반적인 이미지 코덱을 이용하여 비트스트림을 생성할 수 있다.
메시 부호화 장치는 제3 비트스트림, 제4 비트스트림, 제5 비트스트림 및 제6 비트스트림을 결합하여 제1 비트스트림을 생성한다(S1442).
메시 부호화 장치는 메시로부터 다각형들의 에지 데이터를 추출한다(S1408). 에지 데이터는 ASCII로 표현된 데이터일 수 있다.
메시 부호화 장치는 에지 데이터를 부호화하여 제2 비트스트림을 생성한다(S1410). 메시 부호화 장치는 에지 데이터를 부호화할 때, 정점 데이터를 이용할 수 있다. 메시 부호화 장치는 일반적인 데이터 압축 방법을 이용하여 비트스트림을 생성할 수 있다. 메시 부호화 장치는 일반적인 무손실 압축 방법을 이용하여 비트스트림을 생성할 수 있다.
메시 부호화 장치는 제1 비트스트림 및 제2 비트스트림을 합성하여 비트스트림을 생성한다(S1412). 메시 부호화 장치는 생성된 비트스트림을 저장하거나 메시 복호화 장치로 전송할 수 있다.
도 15는 본 개시의 다른 실시예에 따른 메시 복호화 방법을 나타내는 순서도이다.
메시 복호화 장치는 전달된 비트스트림을 제1 비트스트림과 제2 비트스트림으로 분리한다(S1500). 여기서, 제1 비트스트림은 메시의 정점 데이터와 텍스처맵으로 구성된 포인트 클라우드가 부호화된 비트스트림이고, 제2 비트스트림은 메시의 에지 데이터가 부호화된 비트스트림이다.
메시 복호화 장치는 제1 비트스트림으로부터 정점 데이터와 텍스처맵을 복호화한다(S1502).
이하, 메시 복호화 장치가 정점 데이터와 텍스처맵을 복호화하는 단계(S1502)를 자세히 기술한다.
메시 복호화 장치는 제1 비트스트림을 제3 비트스트림, 제4 비트스트림, 제5 비트스트림 및 제6 비트스트림으로 분리한다(S1520).
메시 복호화 장치는 제3 비트스트림으로부터 기하 이미지를 복호화한다 (S1522). 기하 이미지 복호화를 위한 방법으로서, 메시 부호화 장치에서 사용된 기하 이미지 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다.
메시 복호화 장치는 제5 비트스트림으로부터 점유 이미지를 복호화한다(S1524). 일반적인 압축 방법을 사용하는 경우, 메시 복호화 장치는 이진맵을 생성할 수 있다.
메시 복호화 장치는 제6 비트스트림을 엔트로피 디코딩하여 패치 정보를 복원한다(S1526).
메시 복호화 장치는 제4 비트스트림으로부터 텍스처 이미지를 복호화한다(S1528). 텍스처 이미지(즉, 텍스처맵) 복호화를 위한 방법으로서, 메시 부호화 장치에서 사용된 텍스처 이미지 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다.
메시 복호화 장치는 기하 이미지와 점유 이미지를 이용하여 패치들의 3차원 기하 정보를 복원한다(S1530).
메시 복호화 장치는 기하 정보 및 패치 정보를 이용하여 패치들을 생성한다(S1532). 이때, 패치들의 포인트들은 정점들, 즉 정정 데이터를 의미할 수 있다.
메시 복호화 장치는 제2 비트스트림으로부터 에지 데이터를 복호화한다(S1504). 이때, 에지 데이터 복원 방법으로서, 메시 부호화 장치에서 사용된 에지 데이터 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다.
메시 복호화 장치는 정점 데이터, 에지 데이터 및 텍스처맵을 이용하여 3차원 메시를 합성한다(S1506).
이하, 도 11에 예시된, 복원 정점 정보를 이용하는 메시 부호화 장치가 수행하는 부호화 방법을 기술한다.
도 16은 본 개시의 또다른 실시예에 따른 메시 부호화 방법을 나타내는 순서도이다.
메시 부호화 장치는 메시를 획득한다(S1600).
메시 부호화 장치는 메시로부터 정점 데이터를 추출한다(S1602). 메시 부호화 장치는 메시 정보로부터 ASCII로 표현된 정점들, 텍스처 정점들, 정점들의 법선 벡터 등의 데이터를 추출할 수 있다.
메시 부호화 장치는 정점 데이터를 부호화하여, 제1 비트스트림을 생성한다(S1604). 전술한 바와 같이, 메시 부호화 장치는 정점 정보들을 부호화하기 위하여 기존의 일반적인 무손실 데이터 압축 방법을 이용할 수 있다.
메시 부호화 장치는 제1 비트스트림으로부터 정점 데이터를 복원한다(S1606).
메시 부호화 장치는 메시로부터 다각형들의 에지 데이터를 추출한 후(S1608), 복원 정점 데이터를 이용하여 추출된 에지 데이터를 보정한다(S1610). 에지 데이터는 ASCII로 표현된 데이터일 수 있다.
메시 부호화 장치는 보정된 에지 데이터를 부호화하여, 제2 비트스트림을 생성한다(S1612). 메시 부호화 장치는 에지 데이터를 부호화할 때, 복원 정점 데이터를 이용할 수 있다. 메시 부호화 장치는 일반적인 데이터 압축 방법을 이용하여 비트스트림을 생성할 수 있다. 또는, 메시 부호화 장치는 일반적인 무손실 압축 방법을 이용하여 비트스트림을 생성할 수 있다.
메시 부호화 장치는 메시 및 복원 정점 데이터를 이용하여 텍스처맵을 생성한다(S1614). 메시 부호화 장치는 원본 메시와 복원 정점 데이터를 이용하여, 3차원 객체의 면의 텍스처를 uv 도메인으로 정사영하여 2차원 텍스처맵을 생성할 수 있다.
메시 부호화 장치는 텍스처맵을 부호화하여, 제3 비트스트림을 생성한다(S1616). 메시 부호화 장치는, 전술한 바와 같은, 이미지 압축 방법들 또는 비디오 압축 기술들을 이용하여 텍스터맵을 부호화할 수 있다.
메시 부호화 장치는 제1 비트스트림, 제2 비트스트림 및 제3 비트스트림을 결합하여 비트스트림을 생성한다(S1618). 메시 부호화 장치는 생성된 비트스트림을 저장하거나 메시 복호화 장치로 전송할 수 있다.
전술한 바와 같이, 도 11에 예시된 메시 부호화 장치에 대응하는 복원 장치로서, 도 2b에 예시된 메시 복호화 장치가 이용될 수 있다. 이하, 도 2b에 예시된 메시 복호화 장치가 수행하는 메시 복호화 방법을 기술한다.
도 17은 본 개시의 또다른 실시예에 따른 메시 복호화 방법을 나타내는 순서도이다.
메시 복호화 장치는 비트스트림을 제1 비트스트림, 제2 비트스트림 및 제3 비트스트림으로 분리한다(S1700).
메시 복호화 장치는 제1 비트스트림으로부터 정정 데이터를 복호화한다(S1702).
메시 복호화 장치는 제2 비트스트림으로부터 에지 데이터를 복호화한다(S1704). 이때, 에지 데이터 복원 방법으로서, 메시 부호화 장치에서 사용된 에지 데이터 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다.
메시 복호화 장치는 제3 비트스트림으로부터 텍스처맵을 복호화한다(S1706). 이때, 텍스처맵 복원 방법으로서, 에지 부호화 장치에서 사용된 텍스처맵 부호화 방법에 대응하는 복호화 방법이 사용될 수 있다.
메시 복호화 장치는 정점 데이터, 에지 데이터 및 텍스처맵을 이용하여 메시를 합성한다(S1708).
본 명세서의 흐름도/타이밍도에서는 각 과정들을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 개시의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 개시의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 개시의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 흐름도/타이밍도에 기재된 순서를 변경하여 실행하거나 각 과정들 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 흐름도/타이밍도는 시계열적인 순서로 한정되는 것은 아니다.
이상의 설명에서 예시적인 실시예들은 많은 다른 방식으로 구현될 수 있다는 것을 이해해야 한다. 하나 이상의 예시들에서 설명된 기능들 혹은 방법들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 본 명세서에서 설명된 기능적 컴포넌트들은 그들의 구현 독립성을 특히 더 강조하기 위해 "...부(unit)" 로 라벨링되었음을 이해해야 한다.
한편, 본 실시예에서 설명된 다양한 기능들 혹은 방법들은 하나 이상의 프로세서에 의해 판독되고 실행될 수 있는 비일시적 기록매체에 저장된 명령어들로 구현될 수도 있다. 비일시적 기록매체는, 예를 들어, 컴퓨터 시스템에 의하여 판독가능한 형태로 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 예를 들어, 비일시적 기록매체는 EPROM(erasable programmable read only memory), 플래시 드라이브, 광학 드라이브, 자기 하드 드라이브, 솔리드 스테이트 드라이브(SSD)와 같은 저장매체를 포함한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
(부호의 설명)
206: 에지 추출부
208: 에지 부호화부
228: 에지 복호화부
234: 메시 합성부
302: 포인트 클라우드 변환부
304: 포인트 클라우드 부호화부
324: 포인트 클라우드 복호화부
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은 2021년 3월 8일 한국에 출원한 특허출원번호 제10-2021-0030286 호, 2022년 3월 4일 한국에 출원한 특허출원번호 제10-2022-0027875 호에 대해 우선권을 주장하며, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.
Claims (19)
- 메시 복호화 장치가 수행하는, 3차원 메시(mesh)를 복호화하는 복호화 방법에 있어서,비트스트림을 제1 비트스트림과 제2 비트스트림으로 분리하는 단계, 여기서, 상기 제1 비트스트림은 상기 메시를 표현한 포인트 클라우드(point cloud)가 부호화된 비트스트림이고, 상기 제2 비트스트림은 상기 메시의 에지 데이터가 부호화된 비트스트림임;상기 제1 비트스트림으로부터 상기 포인트 클라우드를 복호화하는 단계;상기 제2 비트스트림으로부터 상기 에지 데이터를 복호화하는 단계; 및상기 에지 데이터를 이용하여 다각형들(polygons)의 평면들을 생성하고, 상기 평면들에 가장 근접한, 상기 포인트 클라우드의 속성 값들을 이용하여 상기 평면들의 텍스처(texture)를 생성함으로써, 상기 메시를 합성하는 단계를 포함하는 것을 특징으로 하는, 복호화 방법.
- 제1항에 있어서,상기 분리하는 단계는,상기 제1 비트스트림을 제3 비트스트림, 제4 비트스트림, 제5 비트스트림 및 제6 비트스트림으로 분리하는 것을 특징으로 하는, 복호화 방법.
- 제2항에 있어서,상기 포인트 클라우드를 복호화하는 단계는,상기 제3 비트스트림으로부터 기하 이미지를 복호화하는 단계;상기 제4 비트스트림으로부터 텍스처 이미지를 복호화하는 단계;상기 제5 비트스트림으로부터 점유(occupation) 이미지를 복호화하는 단계; 및상기 제6 비트스트림을 엔트로피(entropy) 복호화하여 패치 정보를 복원하는 단계를 더 포함하는 것을 특징으로 하는, 복호화 방법.
- 제3항에 있어서,상기 포인트 클라우드를 복호화하는 단계는,상기 기하 이미지와 상기 점유 이미지를 이용하여 패치들의 3차원 기하 정보를 복원하는 단계; 및상기 점유 이미지와 상기 텍스처 이미지를 이용하여 상기 패치들의 속성 정보를 복원하는 단계를 더 포함하는 것을 특징으로 하는, 복호화 방법.
- 제4항에 있어서,상기 포인트 클라우드를 복호화하는 단계는,상기 기하 정보, 상기 속성 정보 및 상기 패치 정보를 이용하여 상기 패치들을 합성함으로써, 상기 포인트 클라우드를 복원하는 단계를 더 포함하는 것을 특징으로 하는, 복호화 방법.
- 3차원 메시를 복호화하는 메시 복호화 장치에 있어서,비트스트림을 제1 비트스트림과 제2 비트스트림으로 분리하는 비트스트림 분리부, 여기서, 상기 제1 비트스트림은 상기 메시를 표현한 포인트 클라우드가 부호화된 비트스트림이고, 상기 제2 비트스트림은 상기 메시의 에지 데이터가 부호화된 비트스트림임;상기 제1 비트스트림으로부터 상기 포인트 클라우드를 복호화하는 포인트 클라우드 복호화부;상기 제2 비트스트림으로부터 상기 에지 데이터를 복호화하는 에지 복호화부; 및상기 에지 데이터를 이용하여 다각형들의 평면들을 생성하고, 상기 평면들에 가장 근접한, 상기 포인트 클라우드의 속성 값들을 이용하여 상기 평면들의 텍스처를 생성함으로써, 상기 메시를 합성하는 메시 합성부를 포함하는 것을 특징으로 하는, 메시 복호화 장치.
- 제6항에 있어서,상기 비트스트림 분리부는,상기 제1 비트스트림을 제3 비트스트림, 제4 비트스트림, 제5 비트스트림 및 제6 비트스트림으로 분리하되,인 것을 특징으로 하는, 메시 복호화 장치.
- 제7항에 있어서,상기 포인트 클라우드 복호화부는,상기 제3 비트스트림으로부터 기하 이미지를 복원하는 기하 이미지 복호화부;상기 제4 비트스트림으로부터 텍스처 이미지를 복호화하는 텍스처 이미지 복호화부;상기 제5 비트스트림으로부터 점유 이미지를 복호화하는 점유 이미지 복호화부; 및상기 제6 비트스트림을 엔트로피(entropy) 복호화하여 패치 정보를 복원하는 패치정보 복호화부를 포함하는 것을 특징으로 하는, 복호화 장치.
- 제8항에 있어서,상기 포인트 클라우드 복호화부는,상기 기하 이미지와 상기 점유 이미지를 이용하여 패치들의 3차원 기하 정보를 복원하는 기하 복원부; 및상기 점유 이미지와 상기 텍스처 이미지를 이용하여 상기 패치들의 속성 정보를 복원하는 속성 복원부를 더 포함하는 것을 특징으로 하는, 복호화 장치.
- 제9항에 있어서,상기 포인트 클라우드 복호화부는,상기 기하 정보, 상기 속성 정보 및 상기 패치 정보를 이용하여 상기 패치들을 합성함으로써, 상기 포인트 클라우드를 복원하는 패치 합성부를 더 포함하는 것을 특징으로 하는, 복호화 장치.
- 메시 부호화 장치가 수행하는, 3차원 메시(mesh)를 부호화하는 복호화 방법에 있어서,상기 메시를 획득하는 단계;상기 메시로부터 다각형들(polygons)의 에지(edge) 데이터를 추출하는 단계;상기 메시로부터 정점들(vertices)을 추출하고 텍스처맵(texture map)을 생성한 후, 상기 정점들, 상기 에지 데이터 및 상기 텍스처맵을 이용하여 상기 메시를 포인트 클라우드(point cloud)로 변환하는 단계;상기 포인트 클라우드를 부호화하여 제1 비트스트림을 생성하는 단계;상기 에지 데이터를 부호화하여 제2 비트스트림을 생성하는 단계; 및상기 제1 비트스트림 및 상기 제2 비트스트림을 합성하여 비트스트림을 생성하는 단계를 포함하는 것을 특징으로 하는, 부호화 방법.
- 제11항에 있어서,상기 포인트 클라우드로 변환하는 단계는상기 메시로부터 정점들을 추출하는 단계;상기 정점들과 상기 에지 데이터를 이용하여 상기 다각형들의 평면들을 생성한 후, 상기 평면들 상의 점들의 위치를 샘플링하여, 상기 포인트 클라우드의 기하 정보를 생성하는 단계를 포함하는 것을 특징으로 하는, 부호화 방법.
- 제11항에 있어서,상기 포인트 클라우드로 변환하는 단계는상기 메시의 텍스처(texture) 정보를 2차원 도메인으로 정사영(projection)하여 텍스처맵을 생성하고, 상기 텍스처맵 및 상기 정사영에 이용된 정보를 포함하는 텍스처맵 데이터를 생성하는 단계; 및상기 기하 정보와 상기 텍스처맵 데이터를 이용하여 상기 포인트 클라우드의 속성 정보를 생성하는 단계를 더 포함하는 것을 특징으로 하는, 부호화 방법.
- 제11항에 있어서,상기 제1 비트스트림을 생성하는 단계는,상기 포인트 클라우드를 다수의 그룹으로 분류하여 패치들(patches)을 생성하는 단계; 및상기 패치들을 이동 및 회전시켜 2차원 도메인으로 매핑하고, 패치 정보를 생성하는 단계를 포함하되,상기 패치 정보는, 상기 패치들을 상기 2차원 도메인으로 매핑하기 위한 파라미터, 상기 패치들이 매핑된 위치, 및 상기 2차원 도메인에서의 상기 패치들 각각의 크기를 포함하는 것을 특징으로 하는, 부호화 방법.
- 제14항에 있어서,상기 제1 비트스트림을 생성하는 단계는,상기 패치들을 이용하여 기하 이미지들을 생성하는 단계, 여기서, 상기 기하 이미지들은, 상기 패치들을 2차원 평면으로 정사영하였을 때, 상기 패치들 내 포인트들과 상기 2차원 평면 간의 깊이(depth)를 나타내는 맵(map)임;상기 기하 이미지들에서 상기 깊이가 정의되지 않은 빈 공간에 패딩을 적용하는 단계; 및상기 기하 이미지들을 비디오 압축 기술을 기반으로 부호화하여, 제3 비트스트림을 생성하는 단계를 더 포함하는 것을 특징으로 하는, 부호화 방법.
- 제15항에 있어서,상기 제1 비트스트림을 생성하는 단계는,상기 패치들을 이용하여 텍스처 이미지를 생성하는 단계, 여기서, 상기 텍스처 이미지는, 상기 패치들 내 포인트들을 평면으로 정사영하였을 때, 상기 평면 상에서 상기 포인트들이 사영된 위치에 상기 포인트들의 속성 값이 매핑된 이미지임;상기 텍스처 이미지 상에서 상기 포인트들이 점유하지 못한 부분에 패딩을 적용하는 단계; 및상기 텍스처 이미지를 비디오 압축 기술을 기반으로 부호화하여, 제4 비트스트림을 생성하는 단계를 더 포함하는 것을 특징으로 하는, 부호화 방법.
- 제16항에 있어서,상기 제1 비트스트림을 생성하는 단계는,상기 패치들을 이용하여 점유(occupation) 이미지를 생성하는 단계, 여기서, 상기 점유 이미지는, 상기 패치들을 평면에 정사영하였을 때, 상기 평면 상의 영역에서 상기 패치들 내 포인트들의 점유 여부를 표현하는 이진맵임; 및상기 점유 이미지를 부호화하여, 제5 비트스트림을 생성하는 단계를 더 포함하는 것을 특징으로 하는, 부호화 방법.
- 제17항에 있어서,상기 제1 비트스트림을 생성하는 단계는,상기 패치 정보를 엔트로피(entropy) 부호화하여, 제6 비트스트림을 생성하는 단계를 더 포함하는 것을 특징으로 하는, 부호화 방법.
- 제18항에 있어서,상기 제1 비트스트림을 생성하는 단계는,상기 제3 비트스트림, 상기 제4 비트스트림, 상기 제5 비트스트림 및 상기 제6 비트스트림을 결합하여 상기 제1 비트스트림을 생성하는 단계를 더 포함하는 것을 특징으로 하는, 부호화 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202280019799.1A CN116965034A (zh) | 2021-03-08 | 2022-03-07 | 利用点云压缩的网格压缩方法和装置 |
US18/242,391 US20230410374A1 (en) | 2021-03-08 | 2023-09-05 | Method and apparatus for mesh compression using point cloud coding |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210030286 | 2021-03-08 | ||
KR10-2021-0030286 | 2021-03-08 | ||
KR1020220027875A KR20220126225A (ko) | 2021-03-08 | 2022-03-04 | 포인트 클라우드 압축을 이용하는 메시 압축 방법 및 장치 |
KR10-2022-0027875 | 2022-03-04 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/242,391 Continuation US20230410374A1 (en) | 2021-03-08 | 2023-09-05 | Method and apparatus for mesh compression using point cloud coding |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022191543A1 true WO2022191543A1 (ko) | 2022-09-15 |
Family
ID=83228049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2022/003191 WO2022191543A1 (ko) | 2021-03-08 | 2022-03-07 | 포인트 클라우드 압축을 이용하는 메시 압축 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230410374A1 (ko) |
WO (1) | WO2022191543A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10499033B2 (en) * | 2017-10-13 | 2019-12-03 | Nokia Technologies Oy | Apparatus, a method and a computer program for coding and rendering volumetric video |
US20200286261A1 (en) * | 2019-03-07 | 2020-09-10 | Samsung Electronics Co., Ltd. | Mesh compression |
KR102181812B1 (ko) * | 2018-11-29 | 2020-11-27 | 한국전자기술연구원 | 3차원 메쉬모델의 압축 및 압축해제 시스템 및 방법 |
KR20210019438A (ko) * | 2018-06-14 | 2021-02-22 | 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 | 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치 |
KR20210020815A (ko) * | 2019-08-14 | 2021-02-24 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
-
2022
- 2022-03-07 WO PCT/KR2022/003191 patent/WO2022191543A1/ko active Application Filing
-
2023
- 2023-09-05 US US18/242,391 patent/US20230410374A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10499033B2 (en) * | 2017-10-13 | 2019-12-03 | Nokia Technologies Oy | Apparatus, a method and a computer program for coding and rendering volumetric video |
KR20210019438A (ko) * | 2018-06-14 | 2021-02-22 | 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 | 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치 |
KR102181812B1 (ko) * | 2018-11-29 | 2020-11-27 | 한국전자기술연구원 | 3차원 메쉬모델의 압축 및 압축해제 시스템 및 방법 |
US20200286261A1 (en) * | 2019-03-07 | 2020-09-10 | Samsung Electronics Co., Ltd. | Mesh compression |
KR20210020815A (ko) * | 2019-08-14 | 2021-02-24 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20230410374A1 (en) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019125010A1 (en) | Method and apparatus for handling duplicate points in point cloud compression | |
WO2020190093A1 (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
WO2020189982A1 (ko) | 포인트 클라우드 데이터 처리 장치 및 방법 | |
WO2020242244A1 (ko) | 포인트 클라우드 데이터 처리 방법 및 장치 | |
WO2020242077A1 (ko) | 포인트 클라우드 데이터 처리 장치 및 방법 | |
WO2020190090A1 (ko) | 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
WO2022220382A1 (ko) | 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치 | |
WO2021172956A1 (ko) | 영상 특징 정보 시그널링을 위한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
WO2020189891A1 (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
WO2021040398A1 (ko) | 팔레트 이스케이프 코딩 기반 영상 또는 비디오 코딩 | |
WO2022191543A1 (ko) | 포인트 클라우드 압축을 이용하는 메시 압축 방법 및 장치 | |
WO2023182762A1 (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
WO2021066618A1 (ko) | 변환 스킵 및 팔레트 코딩 관련 정보의 시그널링 기반 영상 또는 비디오 코딩 | |
WO2021194065A1 (ko) | 포인트 클라우드 데이터 처리 장치 및 방법 | |
WO2020262824A1 (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
WO2020180044A1 (ko) | Lmcs에 기반한 영상 코딩 방법 및 그 장치 | |
WO2023200304A1 (ko) | 포인트 클라우드 데이터의 전송 장치와 이 전송 장치에서 수행되는 방법 및, 포인트 클라우드 데이터의 수신 장치와 이 수신 장치에서 수행되는 방법 | |
WO2023200298A1 (ko) | 포인트 클라우드 데이터의 전송 장치와 이 전송 장치에서 수행되는 방법 및, 포인트 클라우드 데이터의 수신 장치와 이 수신 장치에서 수행되는 방법 | |
WO2020076028A1 (ko) | 변환 계수 코딩 방법 및 장치 | |
WO2023204676A1 (ko) | 포인트 클라우드 데이터의 전송 장치와 이 전송 장치에서 수행되는 방법 및, 포인트 클라우드 데이터의 수신 장치와 이 수신 장치에서 수행되는 방법 | |
WO2019190197A1 (ko) | 비디오 신호 처리 방법 및 장치 | |
WO2023113418A1 (ko) | 포인트 클라우드 데이터의 전송 장치와 이 전송 장치에서 수행되는 방법 및, 포인트 클라우드 데이터의 수신 장치와 이 수신 장치에서 수행되는 방법 | |
WO2024014826A1 (ko) | 포인트 클라우드 데이터의 전송 장치와 이 전송 장치에서 수행되는 방법 및, 포인트 클라우드 데이터의 수신 장치와 이 수신 장치에서 수행되는 방법 | |
WO2024043659A1 (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
WO2023200291A1 (ko) | 포인트 클라우드 데이터의 전송 장치와 이 전송 장치에서 수행되는 방법 및, 포인트 클라우드 데이터의 수신 장치와 이 수신 장치에서 수행되는 방법 |
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: 22767439 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202280019799.1 Country of ref document: CN |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22767439 Country of ref document: EP Kind code of ref document: A1 |