KR20220071126A - Method and apparatus for generating plenoptic point cloud based on multi-view images - Google Patents
Method and apparatus for generating plenoptic point cloud based on multi-view images Download PDFInfo
- Publication number
- KR20220071126A KR20220071126A KR1020210161669A KR20210161669A KR20220071126A KR 20220071126 A KR20220071126 A KR 20220071126A KR 1020210161669 A KR1020210161669 A KR 1020210161669A KR 20210161669 A KR20210161669 A KR 20210161669A KR 20220071126 A KR20220071126 A KR 20220071126A
- Authority
- KR
- South Korea
- Prior art keywords
- point cloud
- value
- plenoptic
- image
- viewpoint
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000000875 corresponding effect Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 9
- 238000000605 extraction Methods 0.000 description 9
- 238000010200 validation analysis Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G06T5/001—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Geometry (AREA)
- Image Processing (AREA)
Abstract
Description
본 개시는 다시점 영상과 깊이 영상을 활용하여 플렌옵틱 포인트 클라우드를 생성하고 플렌옵틱 포인트 클라우드를 효율적인 방법으로 압축하는 방법에 관한 것이다. The present disclosure relates to a method of generating a plenoptic point cloud by using a multi-viewpoint image and a depth image and compressing the plenoptic point cloud in an efficient way.
플렌옵틱 포인트 클라우드란 플렌옵틱 포인트의 집합으로서, 플렌옵틱 포인트는 하나의 3차원 점이 위치하는 하나의 기하정보와 다시점 영상으로부터 획득한 다수의 색상 정보를 가지는 표현 방법을 의미한다.A plenoptic point cloud is a set of plenoptic points, and a plenoptic point refers to an expression method having one piece of geometric information in which one three-dimensional point is located and a plurality of color information obtained from a multi-viewpoint image.
최근 실감 콘텐츠에 대한 관심도가 폭발적으로 증가하고 방송 장비 및 영상 전송 기술의 발전에 따라 실감 콘텐츠를 영화나 TV같은 멀티미디어 산업에서도 이를 적극적으로 활용하려는 움직임이 늘어나고 있다. 실감 콘텐츠를 표현하는 방법 중 하나는 MVD 데이터(Multi-view plus depth data)를 활용하여 표현하는 방법이다. MVD 데이터는 짧은 간격으로 배치된 다수의 카메라를 활용하여 특정 시점의 영상과 깊이 정보를 획득한 데이터를 뜻한다. 이는 영상의 색상 정보, 깊이 정보뿐만 아니라 촬영 시점의 카메라 위치 정보를 활용, 기하학적으로 복원 및 합성하여 모델링을 수행할 수 있기 때문에 실감 콘텐츠를 표현하기 위한 원료로 널리 사용되고 있다.Recently, interest in immersive content has exploded and with the development of broadcasting equipment and image transmission technology, there is an increasing movement to actively utilize immersive content in multimedia industries such as movies and TV. One of the methods of expressing sensory content is a method of expressing using MVD data (Multi-view plus depth data). MVD data refers to data obtained by acquiring images and depth information at a specific point in time by using multiple cameras arranged at short intervals. It is widely used as a raw material for expressing immersive content because it can be modeled by geometrically restoring and synthesizing image color information and depth information as well as camera position information at the time of shooting.
MVD 데이터는 촬영한 시점의 수가 많아질수록 완성도 높은 3차원 콘텐츠를 생성할 수 있다는 장점이 있으나 전송 시 그만큼의 영상을 추가적으로 보내야하기 때문에 전송 대역폭의 문제가 생길 수 있다. 또한 다시점 고화질의 영상을 가지고 있는 경우 저장 공간을 많이 요구하기 때문에 이에 대한 단점이 있다.MVD data has the advantage of being able to generate high-quality 3D content as the number of viewpoints increases, but transmission bandwidth may be problematic since that amount of images must be additionally transmitted during transmission. In addition, since it requires a lot of storage space in the case of having a multi-view high-definition image, there is a disadvantage in this regard.
본 개시는 다시점 영상으로부터 플렌옵틱 포인트 클라우드를 생성함에 있어, 색상 정보의 손실을 최소화하는 플렌옵틱 포인트 클라우드 생성 방법 및 장치를 제공한다. The present disclosure provides a method and apparatus for generating a plenoptic point cloud that minimizes loss of color information in generating a plenoptic point cloud from a multi-viewpoint image.
또한, 본 개시는 플렌옵틱 포인트 클라우드로부터 원본에 가까운 다시점 영상을 복원하는 방법 및 장치를 제공한다. In addition, the present disclosure provides a method and apparatus for reconstructing a multi-view image close to an original from a plenoptic point cloud.
또한, 본 개시는 플렌옵틱 포인트 클라우드 생성 방법 및 장치에 의해 생성된 비트스트림을 저장한 기록 매체를 제공하는 것을 목적으로 한다. Another object of the present disclosure is to provide a recording medium storing a bitstream generated by a method and an apparatus for generating a plenoptic point cloud.
본 개시의 일 실시예에 따른 플렌옵틱 포인트 클라우드 생성 방법에 있어서, 다시점 텍스처 영상과 깊이 영상을 획득하는 단계; 획득한 상기 다시점 텍스처 영상과 상기 깊이 영상을 기초로 TSDF(truncated signed distance function) 볼륨을 을 생성하는 단계; 상기 생성된 TSDF 볼륨으로부터 복셀화된 포인트 클라우드의 기하 정보를 추출하는 단계; 및 상기 추출된 기하 정보를 기초로 상기 복셀화된 포인트 클라우드의 시점 별 속성을 할당하는 단계를 포함할 수 있다. A method of generating a plenoptic point cloud according to an embodiment of the present disclosure, the method comprising: acquiring a multi-viewpoint texture image and a depth image; generating a truncated signed distance function (TSDF) volume based on the acquired multi-viewpoint texture image and the depth image; extracting geometric information of the voxelized point cloud from the generated TSDF volume; and allocating properties for each viewpoint of the voxelized point cloud based on the extracted geometric information.
본 개시에 따르면, 다시점 영상과 깊이 영상으로부터 생성된 플렌옵틱 포인트 클라우드를 활용하여 색상 정보의 손실을 최소화하는 방법 및 장치가 제공될 수 있다. According to the present disclosure, a method and apparatus for minimizing loss of color information by using a plenoptic point cloud generated from a multi-viewpoint image and a depth image may be provided.
본 개시에 따르면, 다시점 영상과 깊이 영상으로부터 생성된 플렌옵틱 포인트 클라우드의 복셀화를 통해 생성된 비트스트림을 저장한 기록 매체가 제공될 수 있다. According to the present disclosure, there may be provided a recording medium storing a bitstream generated through voxelization of a plenoptic point cloud generated from a multi-viewpoint image and a depth image.
도 1은 플렌옵틱 포인트 클라우드의 시스템을 설명하기 위한 도면이다.
도 2는 플렌옵틱 포인트에 할당된 속성 정보를 시점의 위치에 따라 표현하는 방식을 설명하기 위한 도면이다.
도 3은 플렌옵틱 포인트 클라우드를 생성하는 방법을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시예에 따른 다시점 영상 생성 방법을 설명하기 위한 도면이다.
도 5는 복수의 영상에 대한 투영 결과를 기초로 시점별 속성 값을 할당하는 예를 설명하기 위한 도면이다.
도 6은 시점-유효화 사용 맵을 설명하기 위한 도면이다. 1 is a diagram for explaining a system of a plenoptic point cloud.
FIG. 2 is a diagram for explaining a method of expressing attribute information allocated to a plenoptic point according to a position of a viewpoint.
3 is a diagram for explaining a method of generating a plenoptic point cloud.
4 is a view for explaining a method for generating a multi-viewpoint image according to an embodiment of the present disclosure.
5 is a diagram for explaining an example of allocating attribute values for each viewpoint based on projection results of a plurality of images.
6 is a view for explaining a view-validation usage map.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing each figure, like reference numerals have been used for like elements.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When an element is referred to as being “connected” or “connected” to another element, it is understood that it may be directly connected or connected to the other element, but other elements may exist in between. it should be On the other hand, when it is mentioned that a certain element is "directly connected" or "directly connected" to another element, it should be understood that no other element is present in the middle.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.
이하, 첨부한 도면들을 참조하여, 본 발명의 실시예들을 상세하게 설명한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Hereinafter, the same reference numerals are used for the same components in the drawings, and repeated descriptions of the same components are omitted.
이하 도 1 내지 도 6을 참고하여, 다시점 영상 기반 플렌옵틱 포인트 클라우드 생성 및 표현 방법에 대해서 자세히 설명한다. Hereinafter, a method for generating and expressing a multi-viewpoint image-based plenoptic point cloud will be described in detail with reference to FIGS. 1 to 6 .
도 1은 플렌옵틱 포인트 클라우드의 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining a system of a plenoptic point cloud.
하나의 물체를 여러 시점에서 바라봤을 때, 조명 등의 영향으로 인해 같은 물체라도 색상의 차이가 존재할 수 있다. 실제 상황을 촬영했을 경우 대부분의 물체는 반사 표면이 존재하고 이는 광원의 위치에 따라 영향을 받아 색상이 변할 수 있기 때문이다. 또한, 다시점 영상에는 겹쳐진 영상의 부분이 존재할 수 있다. 기존 3차원 포인트는 하나의 포인트 당 하나의 색상 정보만을 가지기 때문에 이러한 특성을 반영하기 어려운 문제점이 있다. 본 개시는 이러한 문제점을 해결하기 위해 플렌옵틱 포인트의 개념을 활용하는 실시예를 제시한다.When an object is viewed from multiple viewpoints, there may be differences in color even for the same object due to the influence of lighting or the like. This is because, in real situations, most objects have a reflective surface, which can change color depending on the location of the light source. Also, a portion of an overlapping image may exist in the multi-view image. Since the existing 3D point has only one color information per point, it is difficult to reflect these characteristics. The present disclosure presents an embodiment utilizing the concept of a plenoptic point in order to solve this problem.
도 1은 플렌옵틱 포인트 클라우드의 생성 예시를 도시한다. 플렌옵틱 포인트(plenoptic point)는 3차원 공간에서 X, Y, Z 등의 3차원 좌표로 표현되는 하나의 기하(geometry) 정보와 N개의 카메라 시점으로 관측했을 때 획득되는 RGB, YUV 등의 N개의 속성(attribute) 정보를 포함하고 있는 데이터 형태이다. 플렌옵틱 포인트 클라우드(plenoptic point cloud)는 플렌옵틱 포인트의 집합으로, 플렌옵틱 포인트를 최소 하나 이상 포함할 수 있다.1 shows an example of generating a plenoptic point cloud. A plenoptic point is one piece of geometry information expressed in three-dimensional coordinates such as X, Y, and Z in a three-dimensional space, and N pieces of RGB, YUV, etc. It is a data type that includes attribute information. A plenoptic point cloud is a set of plenoptic points, and may include at least one plenoptic point.
플렌옵틱 포인트 클라우드는 N개의 각 입력 시점 별 2차원 영상과 깊이 정보를 이용하여 생성될 수 있다. 이때, 3차원 공간은 생성한 포인트들을 모두 포함하는 공간을 통해 정의될 수 있다.The plenoptic point cloud may be generated using a 2D image and depth information for each of the N input viewpoints. In this case, the 3D space may be defined through a space including all the generated points.
여기서, 2D 영상은 다시점(multi-view) 영상, 라이트필드(lightfield) 영상 등 하나 이상의 카메라로 획득된 영상들을 의미할 수 있다. 그리고 다시점 영상은 특정 영역을 서로 다른 시점을 가진 다수의 카메라들이 동시에 촬영한 영상들로 구성될 수 있다.Here, the 2D image may mean images acquired by one or more cameras, such as a multi-view image and a lightfield image. In addition, the multi-view image may be composed of images simultaneously photographed by a plurality of cameras having different viewpoints in a specific area.
이때, 정의된 3차원 공간이 일정 단위 복셀로 분할되고 복셀안에 있는 포인트들이 하나의 기하 정보 값을 갖도록 병합될 수 있다. 또한 이때, 3차원 포인트들이 갖고 있던 색상 정보가 모두 저장되고 어느 시점으로부터 생성된 포인트 인지에 관한 정보를 활용하여 플렌옵틱 포인트 클라우드가 생성될 수 있다. In this case, the defined 3D space may be divided into predetermined unit voxels, and points within the voxels may be merged to have one geometric information value. Also, at this time, all color information of the three-dimensional points is stored, and a plenoptic point cloud may be generated by using the information regarding the point generated from which point.
3차원 포인트가 생성되지 않은 시점의 색상 정보는, 같은 복셀에 포함되는 다른 시점들의 색상 정보로부터 유추될 수 있다. 예컨대, 3차원 포인트가 생성되지 않은 시점의 색상 정보는 복셀 안의 다른 시점 또는 포인트들의 색상 정보들의 평균값, 최대값, 최소값 중 적어도 하나를 이용하여 유도될 수 있다. 또한 예컨대, 3차원 포인트가 생성되지 않은 시점의 색상 정보는, 해당 시점 또는 포인트에 인접한 시점 또는 포인트의 색상 정보로부터 유도될 수 있다.The color information of a viewpoint in which a 3D point is not generated may be inferred from color information of other viewpoints included in the same voxel. For example, color information of a viewpoint in which a 3D point is not generated may be derived using at least one of an average value, a maximum value, and a minimum value of color information of other viewpoints or points in the voxel. Also, for example, color information of a viewpoint in which a 3D point is not generated may be derived from color information of a viewpoint or point adjacent to the corresponding viewpoint or point.
한편, 한 시점에서 생성된 3차원 포인트가 한 복셀에 여러 개 포함되어 있는 경우, 해당 시점의 색상 값들의 평균값, 최대값, 최소값 중 적어도 하나를 저장하는 방법으로 플렌옵틱 포인트 클라우드가 생성될 수 있다.Meanwhile, when a plurality of 3D points generated at one viewpoint are included in one voxel, a plenoptic point cloud may be generated by storing at least one of the average value, the maximum value, and the minimum value of the color values of the corresponding viewpoint. .
다른 예로, 한 시점에서 생성된 3차원 포인트가 한 복셀에 여러 개 포함되어 있는 경우, 가장 작은 깊이 정보 또는 가장 큰 깊이 정보를 가진 포인트의 색상 정보를 저장하는 방법으로 플렌옵틱 포인트 클라우드가 생성될 수 있다. As another example, if multiple 3D points generated at one point are included in one voxel, a plenoptic point cloud can be created by storing the color information of the point with the smallest depth information or the largest depth information. have.
여기서, 하나 이상의 속성 정보를 가지는 복셀을 다속성 복셀이라고 할 수 있다. 즉, 다속성 복셀은 플렌옵틱 포인트를 의미할 수 있다.Here, a voxel having one or more attribute information may be referred to as a multi-attribute voxel. That is, the multi-attribute voxel may mean a plenoptic point.
도 2는 플렌옵틱 포인트에 할당된 속성 정보를 시점의 위치에 따라 표현하는 방식을 설명하기 위한 도면이다. FIG. 2 is a diagram for explaining a method of expressing attribute information allocated to a plenoptic point according to a position of a viewpoint.
도 2의 예와 같이, 생성된 플렌옵틱 포인트에 할당된 속성 정보는 시점의 위치에 따라 θ와 h를 이용한 2차원 형태로 표현할 수 있다. 여기서, θ는 실수 값, 정수 값 등으로 표현되는 각도를 의미하며, h는 실수 값, 정수 값 등의 표현되는 크기를 의미할 수 있다. 즉, 플렌옵틱 포인트에 할당된 속성 정보는 θ와 h로 표현되는 2차원 좌표 값을 가질 수 있다.As in the example of FIG. 2 , the attribute information assigned to the generated plenoptic point may be expressed in a two-dimensional form using θ and h according to the position of the viewpoint. Here, θ may mean an angle expressed by a real value, an integer value, etc., and h may mean a size expressed by a real value or an integer value. That is, the attribute information assigned to the plenoptic point may have two-dimensional coordinate values expressed by θ and h.
도 3은 플렌옵틱 포인트 클라우드를 생성하는 방법을 설명하기 위한 도면이다. 3 is a diagram for explaining a method of generating a plenoptic point cloud.
도 3을 참조하면, S301 단계에서, TSDF(truncated signed distance field) 볼륨을 생성할 수 있다. 구체적으로, TSDF 볼륨은 RGB-D 카메라에 의해 생성된 스캐닝 데이터를 기초로 생성될 수 있다. 그리고, TSDF 볼륨을 생성함에 있어, RGB-D 카메라에 대한 회전 행렬 및/또는 이동 행렬을 더 반영할 수 있다. Referring to FIG. 3 , in step S301, a truncated signed distance field (TSDF) volume may be generated. Specifically, the TSDF volume may be generated based on the scanning data generated by the RGB-D camera. And, in generating the TSDF volume, a rotation matrix and/or a movement matrix for the RGB-D camera may be further reflected.
TSDF 볼륨을 생성하기 위해, 시간 단위로 획득된 RGB-D 영상으로부터 tsdfi(x)와 wi(x)를 계산할 수 있다. 그리고 계산된 tsdfi(x)와 wi(x)를 이전의 계산 결과들에 누적함으로써, TSDFi(x)와 Wi(x)를 업데이트할 수 있다. TSDF 볼륨은 수학식 1에 따라 생성될 수 있다. To generate a TSDF volume, tsdf i (x) and w i (x) can be calculated from RGB-D images acquired in units of time. And by accumulating the calculated tsdf i (x) and w i (x) on previous calculation results, it is possible to update TSDF i (x) and W i (x). The TSDF volume may be generated according to Equation (1).
수학식 1에서, depthi(pic(x))는 깊이 영상 상에 투영된 복셀의 중심에 해당하는 3차원 공간상의 위치(X, Y, Z)와 매핑되는 위치의 깊이 값을 지시할 수 있다. camz(x)는 광학 축 상에서의 카메라와 복셀 사이의 거리를 의미할 수 있다. t는 절삭 값을 의미할 수 있다. 그리고 tsdfi(x)는 -t에서 t 사이의 값으로 절삭된 sdfi(x)값을 의미할 수 있다. In
일 실시예에 따르면, TSDF 값을 계산함에 있어, 절삭 값은 모든 복셀 위치에서 동일한 값일 수 있다. According to an embodiment, in calculating the TSDF value, the cutting value may be the same value in all voxel positions.
다른 실시예에 따르면, TSDF 값을 계산함에 있어, 절삭 값은 복셀 위치마다 다른 값일 수 있다. 구체적으로, 절삭 값은 복셀 위치에서의 depthi(pic(x)) 값에 따라 결정되는 서로 다른 값일 수 있다. 예를 들어, depthi(pic(x))가 기 정의된 문턱값보다 작은 경우, TSDF 값을 계산함에 있어, 제1 절삭 값이 사용될 수 있다. 반면, depthi(pic(x))가 기 정의된 문턱값보다 큰 경우, TSDF 값을 계산함에 있어, 제2 절삭 값이 사용될 수 있다. 여기서, 제1 절삭 값은 제2 절삭 값보다 크거나 작을 수 있다. According to another embodiment, in calculating the TSDF value, the cutting value may be a different value for each voxel position. Specifically, the cutting value may be different values determined according to the depth i (pic(x)) value at the voxel position. For example, when depth i (pic(x)) is smaller than a predefined threshold, the first truncation value may be used in calculating the TSDF value. On the other hand, when depth i (pic(x)) is greater than a predefined threshold, the second truncation value may be used in calculating the TSDF value. Here, the first cutting value may be greater than or smaller than the second cutting value.
여기서, TSDF 볼륨을 구성하는 각각의 복셀들은 -1에서 1 사이의 TSDF 값을 가질 수 있다.Here, each voxel constituting the TSDF volume may have a TSDF value between -1 and 1.
S303 단계에서, 복셀화된 포인트 클라우드 기하 정보를 추출할 수 있다. 구체적으로, 전체 TSDF 볼륨에서 Wi(x) 값이 0 보다 크고, -N에서 M 사이의 TSDFi(x) 값을 가지는 복셀들로부터 기하 정보가 추출될 수 있다. 여기서, N과 M은 1 보다 작거나 같을 수 있다. 그리고, N과 M은 서로 같거나 다를 수 있다. In step S303, voxelized point cloud geometry information may be extracted. Specifically, geometric information may be extracted from voxels having a W i (x) value greater than 0 and a TSDF i (x) value between -N and M in the entire TSDF volume. Here, N and M may be less than or equal to 1. And, N and M may be the same as or different from each other.
일 실시예에 따르면, N, M은 1 일 수 있다. 즉, N과 M이 1인 경우, -1에서 1 사이의 TSDFi(x) 값을 갖는 모든 복셀들로부터 복셀화된 포인트 클라우드의 기하 정보가 추출될 수 있다. 즉, N과 M은 기하 정보 추출 범위 값으로 표현될 수 있다. According to an embodiment, N and M may be 1. That is, when N and M are 1, geometric information of a voxelized point cloud may be extracted from all voxels having a TSDF i (x) value between -1 and 1. That is, N and M may be expressed as geometric information extraction range values.
복셀화된 포인트 클라우드 기하 정보를 추출함에 있어, TSDF 볼륨의 복셀 위치에 따라 서로 다른 N과 M 값을 적용하여 복셀들로부터 기하 정보를 추출할 수 있다. In extracting voxelized point cloud geometry information, different N and M values may be applied according to voxel positions of the TSDF volume to extract geometric information from voxels.
일 실시예에 따르면, 복셀 위치에서의 depthi(pic(x)) 값에 따라 서로 다른 기하 정보 추출 값을 사용할 수 있다. 예를 들어, depthi(pic(x))가 기 정의된 문턱 값보다 작은 경우는 제1 기하 정보 추출값(N1, M1)을 사용할 수 있고, depthi(pic(x))가 기 정의된 문턱 값보다 큰 경우에는 제2 기하 정보 추출값(N2, M2)이 사용될 수 있다. According to an embodiment, different geometric information extraction values may be used according to a depth i (pic(x)) value at a voxel location. For example, when depth i (pic(x)) is smaller than a predefined threshold value, the first geometric information extraction values (N 1 , M 1 ) may be used, and depth i (pic(x)) may be When it is greater than the defined threshold value, the second geometric information extraction values N 2 , M 2 may be used.
여기서, 제1 기하 정보 추출값은 제2 기하 정보 추출 값보다 크거나 작을 수 있다. Here, the first geometric information extraction value may be greater than or smaller than the second geometric information extraction value.
기하 정보 추출 범위 값에 따른 조건을 만족하는 복셀의 볼륨 내 인덱스는 복셀화된 포인트 클라우드의 기하 정보로 추출될 수 있다. 여기서, 기하 정보는 (Xindex, Yindex, Zindex) 형태로 표현될 수 있다. 그리고 Xindex, Yindex, Zindex는 0을 포함하는 양의 정수 값을 가질 수 있다. An index within a volume of a voxel that satisfies a condition according to a geometric information extraction range value may be extracted as geometric information of a voxelized point cloud. Here, the geometric information may be expressed in the form of (X index , Y index , Z index ). In addition, X index , Y index , and Z index may have positive integer values including 0.
기하 정보 추출 범위 값에 따른 조건을 만족하는 복셀의 중심 위치는 복셀화된 포인트 클라우드의 기하 정보로 추출될 수 있다. 복셀의 중심 위치는 (XC, YC, ZC)로 표현될 수 있다. XC, YC, ZC는 부동 소수점 형태로 표현될 수 있다. 또는 XC, YC, ZC는 스케일링된 정수 형태로 표현될 수 있다. The center position of the voxel that satisfies the condition according to the geometric information extraction range value may be extracted as geometric information of the voxelized point cloud. The center position of the voxel may be expressed as (X C , Y C , Z C ). X C , Y C , and Z C may be expressed in floating-point form. Alternatively, X C , Y C , Z C may be expressed in the form of a scaled integer.
또 다른 실시예에 따르면, 기하 정보 추출 범위 값에 따른 조건을 만족하는 복셀 내의 특정 위치 정보는 복셀화된 포인트 클라우드의 기하 정보로 추출될 수 있다. 예를 들어, 복셀 내의 중심 위치를 기준으로 X 축, Y 축, 및 Z 축을 따라 특정 오프셋 값만큼 이동한 지점의 3차원 공간상의 좌표를 복셀화된 포인트 클라우드의 기하 정보로 추출할 수 있다. According to another embodiment, specific location information within a voxel that satisfies a condition according to a geometric information extraction range value may be extracted as geometric information of a voxelized point cloud. For example, coordinates in 3D space of a point moved by a specific offset value along the X-axis, Y-axis, and Z-axis based on the central position in the voxel may be extracted as geometric information of the voxelized point cloud.
복셀의 중심 위치가 (XC, YC, ZC)일 경우, 포인트 클라우드의 기하 정보는 (XC + offset, YC + offset, ZC + offset))으로 표현될 수 있다. 오프셋 값은 X, Y, Z 축에 따라 서로 같거나 서로 다를 수 있다. 일 실시예에 따르면, 복셀 단위 마다 서로 다른 오프셋 값을 사용할 수 있다. 즉, 서로 다른 복셀들에 대한 포인트 클라우드의 기하 정보를 추출함에 있어, 각각의 복셀들에 사용되는 오프셋 값은 서로 다를 수 있다. When the center position of the voxel is (X C , Y C , Z C ), geometric information of the point cloud may be expressed as (X C + offset, Y C + offset, Z C + offset)). Offset values can be the same or different along the X, Y, and Z axes. According to an embodiment, different offset values may be used for each voxel unit. That is, in extracting geometric information of the point cloud for different voxels, offset values used for each voxel may be different from each other.
다른 실시예에 따르면, 복셀보다 큰 단위 마다 서로 다른 오프셋 값을 사용할 수 있다. 예를 들어, NxMxK 단위의 복셀 마다 서로 다른 오프셋 값을 사용할 수 있다. NxMxK 단위의 복셀은 X 축 방향으로 N개의 복셀, Y 축 방향으로 M 개의 복셀, Z 축 방향으로 K개의 복셀을 포함하는 단위를 의미할 수 있다. N, M, K 각각은 0보다 큰 자연수이다. 그리고 N, M, K 각각은 서로 같거나 다를 수 있다. According to another embodiment, different offset values may be used for units larger than voxels. For example, different offset values may be used for each voxel in units of NxMxK. A voxel of NxMxK unit may mean a unit including N voxels in the X-axis direction, M voxels in the Y-axis direction, and K voxels in the Z-axis direction. Each of N, M, and K is a natural number greater than zero. And each of N, M, and K may be the same as or different from each other.
오프셋 값은 복셀화된 포인트 클라우드의 속성 값으로 표현될 수 있다. 그리고 오프셋 값은 비트스트림 내에 부호화될 수 있으며, 비트스트림으로부터 복호화될 수 있다. 오프셋 값은 플렌옵틱 포인트 클라우드를 렌더링하는 과정에 사용될 수 있다. 그리고 오프셋 값은 플렌옵틱 포인트 클라우드로부터 2D 다시점 영상을 복원하는 과정에 사용될 수 있다. The offset value may be expressed as an attribute value of a voxelized point cloud. And the offset value may be encoded in the bitstream and decoded from the bitstream. The offset value may be used in the process of rendering the plenoptic point cloud. And the offset value may be used in the process of reconstructing a 2D multi-view image from the plenoptic point cloud.
S305 단계에서, 복셀화된 포인트 클라우드의 시점 별 속성 정보가 할당될 수 있다. 여기서 시점 별 속성 정보는 복셀화된 포인트 클라우드를 구성하고 있는 포인트(복셀)들의 N개 시점의 텍스처 영상에 대한 투영 결과를 기초로 할당될 수 있다. 플렌옵틱 포인트를 복수의 시점 영상에 투영하는 방법은 아래에 설명하는 바와 같을 수 있다. In step S305, property information for each view of the voxelized point cloud may be allocated. Here, the attribute information for each view may be allocated based on the projection result of the points (voxels) constituting the voxelized point cloud on the texture image of N views. A method of projecting the plenoptic point onto a plurality of viewpoint images may be described below.
도 4는 본 개시의 일 실시예에 따른 다시점 영상 생성 방법을 설명하기 위한 도면이다. 4 is a view for explaining a method for generating a multi-viewpoint image according to an embodiment of the present disclosure.
먼저, 플렌옵틱 포인트 클라우드의 기하 정보를 활용하여, 3차원 물체가 2차원 영상으로 투영될 수 있다(S400). 또한, 플렌옵틱 포인트 클라우드의 폐색 패턴 정보를 활용하여 3차원 물체(포인트)가 2차원 영상으로 투영될 수 있다. 예를 들어, 폐색 패턴 정보 중 임의의 시점에 해당하는 폐색 패턴 정보가 무의미한 속성 정보를 나타내는 경우 해당 포인트는 해당 시점으로 투영이 이루어지지 않을 수 있다. 폐색 패턴 정보는 제1 값으로 '1'을 가질 수 있으며, 제2 값으로 '0'을 가질 수 있다. 예를 들어, 임의 시점의 폐색 패턴 정보가 제1 값을 갖는 경우, 해당 시점으로 투영된 위치의 픽셀 값은 해당 포인트의 해당 시점의 속성 정보로 결정될 수 있다. 반면, 폐색 패턴 정보가 제2 값을 갖는 경우, 해당 시점으로 포인트가 투영되지 않을 수 있다.First, a 3D object may be projected as a 2D image by using the geometric information of the plenoptic point cloud (S400). In addition, a 3D object (point) may be projected as a 2D image by using the occlusion pattern information of the plenoptic point cloud. For example, when occlusion pattern information corresponding to an arbitrary viewpoint among occlusion pattern information indicates meaningless attribute information, the corresponding point may not be projected to the corresponding viewpoint. The occlusion pattern information may have a first value of '1' and a second value of '0'. For example, when the occlusion pattern information of an arbitrary viewpoint has a first value, a pixel value of a position projected to the corresponding viewpoint may be determined as attribute information of the corresponding viewpoint of the corresponding point. On the other hand, when the occlusion pattern information has the second value, the point may not be projected to the corresponding viewpoint.
이때, 현재 픽셀에 대해 하나의 포인트만이 투영되는 경우에는, 해당 시점(구체적으로, 포인트)의 속성 정보를 이용하여 현재 픽셀의 속성 정보가 결정될 수 있다(S405, S410). 반면, 현재 픽셀에 대해 다수의 포인트가 투영되는 경우에는, 카메라와 거리가 가장 가까운 시점(구체적으로, 포인트)의 속성 정보를 이용하여 해당 픽셀의 속성 정보가 결정될 수 있다(S405, S420).In this case, when only one point is projected on the current pixel, the attribute information of the current pixel may be determined using attribute information of the corresponding viewpoint (specifically, the point) ( S405 and S410 ). On the other hand, when a plurality of points are projected on the current pixel, attribute information of the corresponding pixel may be determined using attribute information of a viewpoint (specifically, a point) closest to the camera ( S405 and S420 ).
반면, 현재 픽셀에 대해 플렌옵틱 포인트의 투영이 이루어지지 않은 속성 정보에 대해, 현재 픽셀의 N개의 이웃 픽셀들의 속성 정보를 참조될 수 있다. 이때, 카메라와의 거리가 가장 가까운 이웃 픽셀의 속성 정보를 이용하여, 현재 픽셀의 속성 정보가 결정될 수 있다(S415, S430). 이때, N은 0보다 큰 자연수 일 수 있으며, 예컨대, 4 또는 8의 값을 가질 수 있다.On the other hand, with respect to attribute information in which the projection of the plenoptic point is not performed on the current pixel, attribute information of N neighboring pixels of the current pixel may be referred to. In this case, attribute information of the current pixel may be determined using attribute information of a neighboring pixel having the closest distance to the camera (S415 and S430). In this case, N may be a natural number greater than 0, for example, may have a value of 4 or 8.
또한, 현재 픽셀에 대해 플렌옵틱 포인트의 투영이 이루어지지 않고, 현재 픽셀의 N개의 이웃 픽셀들의 속성 정보가 없거나 투영된 포인트가 없는 경우, 2차원 영상 상의 NxN 마스크를 활용한 보간 방법을 활용하여, 현재 샘플에 대한 홀(Hole) 필링이 수행될 수 있다(S415, S440). 이때, N은 0보다 큰 자연수 일 수 있으며, 예컨대, 5의 값을 가질 수 있다.In addition, if the projection of the plenoptic point is not performed on the current pixel and there is no property information or no projected points of the N neighboring pixels of the current pixel, using an interpolation method using an NxN mask on a two-dimensional image, Hole filling may be performed on the current sample (S415 and S440). In this case, N may be a natural number greater than 0, for example, may have a value of 5.
즉, 포인트 클라우드의 복셀들은 S303 단계에서 추출된 3차원 공간 상의 기하 정보(X, Y, Z)를 이용하여, N개의 시점 텍스처 영상에 투영된다. 그리고, 복셀화된 포인트 클라우드의 시점 별 속성은 텍스처 영상에 투영된 이미지의 픽셀 값을 기초로 할당될 수 있다. 시점 텍스처 영상에 대한 투영 결과를 기초로 포인트 클라우드에 시점별 속성 값을 할당하는 방법은 아래에 설명하는 바와 같을 수 있다. That is, the voxels of the point cloud are projected onto the N viewpoint texture images by using the geometric information (X, Y, Z) on the 3D space extracted in step S303. In addition, the properties for each viewpoint of the voxelized point cloud may be assigned based on pixel values of the image projected onto the texture image. A method of allocating attribute values for each viewpoint to the point cloud based on the projection result on the viewpoint texture image may be described below.
도 5는 복수의 영상에 대한 투영 결과를 기초로 시점별 속성 값을 할당하는 예를 설명하기 위한 도면이다. 5 is a diagram for explaining an example of allocating attribute values for each viewpoint based on projection results of a plurality of images.
도 5를 참조하면, 포인트 클라우드의 복셀들은 N개 시점의 텍스쳐 영상에 투영된다. 포인트 클라우드의 복셀들의 투영 과정은 수학식 2와 같이 표현될 수 있다. Referring to FIG. 5 , voxels of the point cloud are projected onto a texture image of N views. A process of projecting voxels of the point cloud may be expressed as Equation (2).
수학식 2에서, p는 3차원 공간의 복셀(포인트)를 지시한다. k는 카메라의 내부 파라미터를 지시하고, [R|t]는 카메라의 외부 파라미터를 지시한다. 그리고 p'는 2차원 영상 공간 상에 투영된 복셀(포인트)을 지시한다. In Equation 2, p indicates a voxel (point) in a three-dimensional space. k indicates an internal parameter of the camera, and [R|t] indicates an external parameter of the camera. And p' indicates a voxel (point) projected on a two-dimensional image space.
포인트 클라우드의 복셀들에 할당되는 속성 값은 텍스처 영상에 투영된 이미지의 픽셀값으로부터 시점 별로 할당될 수 있다.Attribute values assigned to voxels of the point cloud may be assigned for each viewpoint from pixel values of an image projected onto a texture image.
도 5에서 점선은 복셀화된 포인트 클라우드의 3차원 공간 상의 기하 정보가 해당 시점의 영상에 투영이 되지 않은 경우를 의미할 수 있다. A dotted line in FIG. 5 may indicate a case in which geometric information on the 3D space of the voxelized point cloud is not projected onto the image of the corresponding viewpoint.
복셀화된 포인트 클라우드의 3차원 공간 상의 기하 정보가 해당 시점의 영상에 투영되지 않은 경우, 해당 시점 영상으로부터 색상 값이 포인트 클라우드에 할당되지 않을 수 있다. 특정 시점 영상으로부터 색상 값이 할당되지 않은 경우, 기 정의된 값 또는 색상 값이 할당된 시점들의 색상 값의 평균 값이 포인트 클라우드에 할당될 수 있다. When geometric information on the 3D space of the voxelized point cloud is not projected on the image of the corresponding viewpoint, a color value from the image of the corresponding viewpoint may not be assigned to the point cloud. When a color value is not allocated from a specific viewpoint image, a predefined value or an average value of the color values of viewpoints to which the color value is allocated may be allocated to the point cloud.
반면, 도 5에서 실선은 해당 시점의 텍스쳐 영상에 투영이 이루어지고, 해당 영상의 픽셀 위치로부터 색상값을 가져온 경우를 의미할 수 있다. On the other hand, a solid line in FIG. 5 may mean a case in which projection is made on a texture image of a corresponding viewpoint and a color value is obtained from a pixel position of the corresponding image.
도 5에 도시된 바와 같이, 복셀화된 포인트 클라우드를 6개의 시점 영상에 투영할 수 있다. 여기서, 포인트 클라우드는 4번 시점 영상과 6번 시점 영상에 대해서는 투영되지 않을 수 있다. 포인트 클라우드가 투영되지 않은 해당 시점의 영상(예를 들어, 4번 영상, 6번 영상)으로부터의 색상 값은 복셀화된 포인트 클라우드에 할당되지 않을 수 있다. As shown in FIG. 5 , the voxelized point cloud may be projected on six viewpoint images. Here, the point cloud may not be projected on the 4th viewpoint image and the 6th viewpoint image. A color value from an image (eg, image 4 and image 6) of the corresponding viewpoint to which the point cloud is not projected may not be assigned to the voxelized point cloud.
여기서, 색상 값은 RGB, YUV, HSV, LAB, YCoCg 등의 컬러 공간으로 표현되는 값을 의미할 수 있다. 그리고 컬러 공간에 대한 정보는 추가적인 속성 정보로 표현될 수 있다. 컬러 공간에 대한 정보는 비트스트림내에 부호화될 수 있으며, 복호화되어 플렌옵틱 포인트 클라우드를 재생하는 과정에서 사용될 수 있다. 또는 컬러 공간에 대한 정보는 플렌옵틱 포인트 클라우드로부터 2D 다시점 영상을 복원하는 과정에서 사용될 수 있다. Here, the color value may mean a value expressed in a color space such as RGB, YUV, HSV, LAB, and YCoCg. In addition, information about the color space may be expressed as additional attribute information. Information on the color space may be encoded in the bitstream, and may be decoded and used in the process of reproducing the plenoptic point cloud. Alternatively, the information on the color space may be used in the process of reconstructing a 2D multi-view image from the plenoptic point cloud.
여기서, 색상 값은 주파수 도메인에서 표기된 변환 계수 값을 의미할 수 있다. 즉, 색상 값은 1개의 DC 변환 계수와 N-1 개의 AC 변환 계수로 표현된 값을 의미할 수 있다. Here, the color value may mean a transform coefficient value indicated in the frequency domain. That is, the color value may mean a value expressed by one DC conversion coefficient and N-1 AC conversion coefficients.
해당 시점으로부터 유효한 색상 값이 할당되었는지 여부를 지시하는 정보는 포인트의 추가적인 속성 정보로 표현될 수 있다. Information indicating whether a valid color value has been allocated from a corresponding point of time may be expressed as additional attribute information of a point.
예를 들어, 도 3에 따라 플렌옵틱 포인트 클라우드를 생성한 결과, 포인트의 색상 값이 표현된 후, 각 시점의 색상 값의 유효성 여부는 1비트의 참/거짓(true/false)로 표현될 수 있다. 예를 들어, 색상 값의 유효성 여부에 관한 속성은 (111010) 값과 같이 추가적인 속성값 형태를 가질 수 있다. 색상 값의 유효성 여부에 관한 속성은 비트스트림내에 부호화/복호화되어 플렌옵틱 포인트 클라우드로부터 2D 다시점 영상을 복원하는 과정에 사용될 수 있다. For example, as a result of generating the plenoptic point cloud according to FIG. 3 , after the color value of the point is expressed, the validity of the color value at each viewpoint can be expressed as 1-bit true/false. have. For example, the attribute regarding the validity of the color value may have an additional attribute value form such as a (111010) value. The attribute regarding the validity of the color value may be encoded/decoded in the bitstream and used in the process of reconstructing a 2D multi-view image from the plenoptic point cloud.
예를 들어, 해당 포인트의 색상 값들이 표현된 후, 유효한 시점들을 지시하는 시점 번호 또는 시점 인덱스를 추가적인 포인트의 속성 값으로 가질 수 있다. 해당 속성은 부호화/복호화되어 플렌옵틱 포인트 클라우드로부터 2D 다시점 영상을 복원하는 과정에 사용될 수 있다. For example, after the color values of the corresponding point are expressed, a view number or view index indicating valid views may be provided as an attribute value of an additional point. The corresponding property may be encoded/decoded and used in a process of reconstructing a 2D multi-view image from the plenoptic point cloud.
해당 시점의 속성 값이 유효한지 여부를 나타내는 정보는 WxH 크기를 갖는 영상으로 이미지화될 수 있다. 그리고 해당 시점의 속성 값이 유효한지 여부를 나타내는 정보는 2D 비디오 코덱을 통해 부호화/복호화될 수 있다. 영상 정보는 시점-유효화 사용 맵 (view-valid occupancy map)이라고 표현될 수 있다. 시점-유효화 사용 맵은 아래와 같이 표현될 수 있다. Information indicating whether an attribute value of a corresponding view is valid may be imaged as an image having a size of WxH. In addition, information indicating whether an attribute value of a corresponding view is valid may be encoded/decoded through a 2D video codec. The image information may be expressed as a view-valid occupancy map. The viewpoint-validation usage map may be expressed as follows.
도 6은 시점-유효화 사용 맵을 설명하기 위한 도면이다. 6 is a diagram for explaining a view-validation usage map.
도 6을 참조하면, 3차원 공간 정보를 2차원 영상으로 투영하고, 영상 정보를 부호화/복호화하는 방식에 있어, 시점-유효화 사용 맵은 해당 시점의 특정 픽셀 위치의 속성값이 유효한지 여부를 나타낼 수 있다. Referring to FIG. 6 , in a method of projecting 3D spatial information into a 2D image and encoding/decoding image information, the view-validation use map indicates whether the attribute value of a specific pixel position of the view is valid. can
예를 들어 도 5와 같이 같이 6개의 시점으로부터 생성된 플렌옵틱 포인트 클라우드를 바운딩 박스(bounding box)의 육면체에 직교 투영하여 아틀라스를 생성할 수 있다. 여기서, 바운딩 박스는 플렌옵틱 포인트 클라우드 전체를 포함하는 박스를 의미한다. 그리고 인코더/디코더는 V-PCC 코덱 등과 같은 2D 비디오 코덱으로 아틀라스를 부호화/복호화할 수 있다. For example, as shown in FIG. 5 , an atlas may be generated by orthogonally projecting a plenoptic point cloud generated from six viewpoints onto a hexahedron of a bounding box. Here, the bounding box means a box including the entire plenoptic point cloud. In addition, the encoder/decoder may encode/decode the atlas with a 2D video codec such as a V-PCC codec.
여기서, 도 6에 도시된 바와 같은 6개 시점에 대한 WxH 크기의 바이너리 영상을 부호화/복호화함으로써, 해당 시점의 속성값이 유효한지 여부를 판단할 수 있다. Here, by encoding/decoding a binary image having a size of WxH for six views as shown in FIG. 6 , it is possible to determine whether an attribute value of a corresponding view is valid.
도 6에 도시된 시점-유효화 사용 맵에서 검정색으로 표시된 부분은 해당 부분의 픽셀 위치에서 해당 시점의 속성 값이 유효하지 않음을 표현할 수 있다. A portion marked in black in the view-validation usage map shown in FIG. 6 may represent that an attribute value of a corresponding view is invalid at a pixel position of the corresponding portion.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.Example methods of the present disclosure are expressed as a series of operations for clarity of description, but this is not intended to limit the order in which the steps are performed, and if necessary, each step may be performed simultaneously or in a different order. In order to implement the method according to the present disclosure, other steps may be included in addition to the illustrated steps, other steps may be excluded from some steps, or additional other steps may be included except some steps.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.Various embodiments of the present disclosure do not list all possible combinations, but are intended to describe representative aspects of the present disclosure, and matters described in various embodiments may be applied independently or in combination of two or more.
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 등에 의해 구현될 수 있다. In addition, various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof. For implementation by hardware, one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), general purpose It may be implemented by a processor (general processor), a controller, a microcontroller, a microcontroller, or the like.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다. The scope of the present disclosure includes software or machine-executable instructions (eg, operating system, application, firmware, program, etc.) that cause an operation according to the method of various embodiments to be executed on a device or computer, and such software or and non-transitory computer-readable media in which instructions and the like are stored and executable on a device or computer.
Claims (1)
다시점 텍스처 영상과 깊이 영상을 획득하는 단계;
획득한 상기 다시점 텍스처 영상과 상기 깊이 영상을 기초로 TSDF(truncated signed distance function) 볼륨을 생성하는 단계;
상기 생성된 TSDF 볼륨으로부터 복셀화된 포인트 클라우드의 기하 정보를 추출하는 단계; 및
상기 추출된 기하 정보를 기초로 상기 복셀화된 포인트 클라우드의 시점 별 속성을 할당하는 단계를 포함하는, 플렌옵틱 포인트 클라우드 생성 방법 A method for generating a plenoptic point cloud, comprising:
acquiring a multi-viewpoint texture image and a depth image;
generating a truncated signed distance function (TSDF) volume based on the acquired multi-viewpoint texture image and the depth image;
extracting geometric information of the voxelized point cloud from the generated TSDF volume; and
and allocating properties of the voxelized point cloud for each viewpoint based on the extracted geometric information.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20200157431 | 2020-11-23 | ||
KR1020200157431 | 2020-11-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220071126A true KR20220071126A (en) | 2022-05-31 |
Family
ID=81787341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210161669A KR20220071126A (en) | 2020-11-23 | 2021-11-22 | Method and apparatus for generating plenoptic point cloud based on multi-view images |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220071126A (en) |
-
2021
- 2021-11-22 KR KR1020210161669A patent/KR20220071126A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10499033B2 (en) | Apparatus, a method and a computer program for coding and rendering volumetric video | |
JP7181233B2 (en) | Processing 3D image information based on texture maps and meshes | |
RU2431938C2 (en) | Efficient multiple types encoding | |
US10229537B2 (en) | System and method for compressing and decompressing time-varying surface data of a 3-dimensional object using a video codec | |
US11711535B2 (en) | Video-based point cloud compression model to world signaling information | |
WO2021240069A1 (en) | Offset Texture Layers For Encoding And Signaling Reflection And Refraction For Immersive Video And Related Methods For Multi-Layer Volumetric Video | |
JP7371691B2 (en) | Point cloud encoding using homography transformation | |
US9621901B1 (en) | Encoding of computer-generated video content | |
JP7344988B2 (en) | Methods, apparatus, and computer program products for volumetric video encoding and decoding | |
EP3729805B1 (en) | Method and apparatus for encoding and decoding volumetric video data | |
US11240512B2 (en) | Intra-prediction for video coding using perspective information | |
KR20220071126A (en) | Method and apparatus for generating plenoptic point cloud based on multi-view images | |
KR102612539B1 (en) | Multiview video encoding and decoding method | |
KR20220066847A (en) | Method and Apparatus for Voxelization and Camera parameter information Encoding and decoding for Volumetric Video | |
Duch et al. | Depth map compression via 3D region-based representation | |
CN117561715A (en) | Method and device for generating, data processing, encoding and decoding multi-plane image | |
KR102589867B1 (en) | Method and apparatus for plenoptic point clouds generation | |
KR20220067507A (en) | Method and apparatus for processing plenoptic point clouds attribute | |
KR20220067517A (en) | Method and apparatus for encoding/decoding multiview image and recording medium for storing bitstream | |
WO2022219230A1 (en) | A method, an apparatus and a computer program product for video encoding and video decoding | |
Karpinsky | Three-dimensional geometry compression with Holoimage | |
WO2024196720A1 (en) | Method to generate displacement for symmetry mesh | |
KR20220071935A (en) | Method and Apparatus for Deriving High-Resolution Depth Video Using Optical Flow |