KR20190121106A - 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치 - Google Patents
포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR20190121106A KR20190121106A KR1020180044639A KR20180044639A KR20190121106A KR 20190121106 A KR20190121106 A KR 20190121106A KR 1020180044639 A KR1020180044639 A KR 1020180044639A KR 20180044639 A KR20180044639 A KR 20180044639A KR 20190121106 A KR20190121106 A KR 20190121106A
- Authority
- KR
- South Korea
- Prior art keywords
- missed
- point
- auxiliary
- group
- point cloud
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 113
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000012856 packing Methods 0.000 claims abstract description 12
- 239000003595 mist Substances 0.000 claims abstract description 5
- 238000003672 processing method Methods 0.000 claims description 4
- 239000013598 vector Substances 0.000 description 31
- 238000010586 diagram Methods 0.000 description 21
- 230000005540 biological transmission Effects 0.000 description 19
- 230000014509 gene expression Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 108700041286 delta Proteins 0.000 description 5
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/172—Processing image signals image signals comprising non-image signal components, e.g. headers or format information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/363—Image reproducers using image projection screens
-
- 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/17—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 an image region, e.g. an object
- H04N19/172—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 an image region, e.g. an object the region being a picture, frame or field
-
- 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)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 개시에 따른 포인트 클라우드에 관한 데이터의 프로세싱 방법은, 포인트 클라우드에 관한 데이터에서 보조 비트들을 식별하는 과정, 상기 식별된 보조 비트들을 제외한 포인트 클라우드에 관한 데이터를 복수의 평면들에 프로젝션(projection)하는 과정, 상기 복수의 평면들에 대응하는 복수의 프로젝션 이미지들에서 미스드 포인트(missed point)들을 식별하는 과정, 상기 복수의 프로젝션 이미지들을 팩킹(packing)하여 팩킹된 이미지를 생성하는 과정, 상기 보조 비트들 중 상기 식별된 미스트 포인트들에 대응하는 제1 보조 비트들을 제외한 제2 보조 비트들, 상기 제1 보조 비트들에 관한 정보, 및 상기 팩킹된 이미지를 인코딩하여 생성된 신호를 전송하는 과정을 포함한다.
Description
본 개시는 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치에 관한 것이다.
포인트 클라우드(point cloud)는 방대한 양의 포인트의 집합을 의미하며, 대용량의 3차원 데이터는 포인트 클라우드로 표현될 수 있다. 포인트 클라우드는 2D 이미지와는 비교되는 값으로, 3차원 상의 한 점을 표현하는 방법이고, 위치 좌표와 색상을 동시에 포함할 수 있는 벡터 형태이다. 예를 들어, 포인트 클라우드는 (x, y, z, R, G, B)와 같이 표현될 수 있다. 무수히 많은 색상과 위치 데이터들이 모여서 공간적인 구성을 이루는 포인트 클라우드는 밀도가 높아지면 높아질 수록 점점 더 구체적인 데이터가 되면서 하나의 3D 모델로서의 의미를 가지게 된다.
3차원 데이터를 표현하는 포인트 클라우드는 상당량의 메모리 리소스를 차지하기 때문에 포인트 클라우드를 전송하기 위해 압축 방법이 요구된다. 그러나 포인트 클라우드를 압축하기 위한 새로운 코덱을 생성하고 확산하는데 시간이 많이 요구되기 때문에 기존의 2D데이터를 압축하기 위한 코덱을 활용하여 효율적으로 포인트 클라우드를 압축하는 방법이 요구된다. 나아가 이러한 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법이 요구된다.
본 개시는 포인트 클라우드에 관한 데이터를 효율적으로 프로세싱하기 위한 방법 및 장치를 제공한다. 구체적으로, 본 개시는 2차원 데이터 압축 코덱을 활용하여 3차원 데이터인 포인트 클라우드를 효율적으로 압축하기 위한 방법 및 장치를 제공하며, 이렇게 압축하여 전송한 데이터를 프로세싱하여 3D영상을 복원하는 방법 및 장치를 제공한다.
본 개시에 따른 포인트 클라우드에 관한 데이터의 프로세싱 방법은, 포인트 클라우드에 관한 데이터에서 보조 비트들을 식별하는 과정, 상기 식별된 보조 비트들을 제외한 포인트 클라우드에 관한 데이터를 복수의 평면들에 프로젝션(projection)하는 과정, 상기 복수의 평면들에 대응하는 복수의 프로젝션 이미지들에서 미스드 포인트(missed point)들을 식별하는 과정, 상기 복수의 프로젝션 이미지들을 팩킹(packing)하여 팩킹된 이미지를 생성하는 과정, 상기 보조 비트들 중 상기 식별된 미스트 포인트들에 대응하는 제1 보조 비트들을 제외한 제2 보조 비트들, 상기 제1 보조 비트들에 관한 정보, 및 상기 팩킹된 이미지를 인코딩하여 생성된 신호를 전송하는 과정을 포함한다.
상기 보조 비트들 각각의 크기는 상기 포인트 클라우드에 관한 데이터의 크기와 상기 신호를 생성하는데 사용된 코덱(codec)이 인코딩을 지원하는 데이터의 크기의 차이와 같을 수 있다.
상기 미스드 포인트들을 식별하는 과정은, 상기 포인트 클라우드에 포함된 복수의 포인트들 중 가장 인접한 포인트와의 거리가 임계 값 이상인 포인트를 미스드 포인트로 식별할 수 있다.
상기 식별된 미스드 포인트들에 대하여 플래그를 설정하는 과정을 더 포함할 수 있다.
상기 제1 보조 비트들에 관한 정보는, 상기 복수의 프로젝션 이미지들에 포함된 패치들 각각의 중점의 보조 비트를 포함하고, 상기 패치들 각각의 중점의 좌표 및 상기 패치들 각각의 중점의 좌표와 미스드 포인트 간의 거리 중 적어도 하나를 포함할 수 있다.
상기 제1 보조 비트들에 관한 정보는, 상기 복수의 프로젝션 이미지들에 포함된 패치들 중 미스드 포인트와 가장 인접한 패치의 중점의 보조 비트를 포함하고, 상기 미스드 포인트의 보조 비트와 상기 패치의 중점의 보조 비트의 차이 값을 포함할 수 있다.
상기 미스드 포인트들을 복수의 그룹들로 그룹핑(grouping)하는 과정을 더 포함할 수 있으며, 상기 제1 보조 비트들에 관한 정보는, 상기 복수의 그룹들 각각의 그룹 식별자 및 상기 복수의 그룹들 각각의 대표 보조 비트를 포함할 수 있다.
상기 미스드 포인트들을 그룹핑하는 과정은, 상기 제1 보조 비트들 간의 유사도 및 상기 미스드 포인트들 간의 거리 중 적어도 하나를 기반으로 할 수 있다.
상기 미스드 포인트들을 복수의 그룹들로 그룹핑(grouping)하는 과정 및 상기 복수의 그룹들에 포함된 제1 그룹의 대표 보조 비트와 상기 복수의 그룹들에 포함된 제2 그룹의 대표 보조 비트의 차이 값을 계산하는 과정 을 더 포함할 수 있으며, 상기 제1 보조 비트들에 관한 정보는, 상기 복수의 그룹들 각각의 그룹 식별자, 상기 제1 그룹의 대표 보조 비트 및 상기 계산된 차이 값을 포함할 수 있다.
상기 제1 그룹은 상기 복수의 그룹들 중 대표 보조 비트가 가장 큰 그룹일 수 있다.
본 개시에 따른 포인트 클라우드에 관한 데이터의 프로세싱 방법은, 미스트 포인트들에 대응하는 제1 보조 비트들을 제외한 제2 보조 비트들, 상기 제1 보조 비트들에 관한 정보, 및 팩킹된 이미지를 포함하는 신호를 수신하여 디코딩하는 과정, 상기 팩킹된 이미지를 팩킹 해제하여 복수의 프로젝션 이미지들을 식별하는 과정, 상기 복수의 프로젝션 이미지들에서 상기 미스드 포인트들을 식별하는 과정, 상기 제1 보조 비트들에 관한 정보를 기반으로 상기 미스드 포인트들의 상기 제1 보조 비트들을 추정하는 과정, 상기 복수의 프로젝션 이미지들을 역 프로젝션한 데이터, 상기 추정된 제1 보조 비트들 및 상기 제2 보조 비트들을 기반으로 포인트 클라우드를 복원하는 과정을 포함한다.
상기 보조 비트들 각각의 크기는 상기 포인트 클라우드에 관한 데이터의 크기와 상기 신호를 생성하는데 사용된 코덱(codec)이 인코딩을 지원하는 데이터의 크기의 차이와 같을 수 있다.
상기 미스드 포인트들을 식별하는 과정은, 디코딩된 신호에 포함된 플래그를 확인하여 식별할 수 있다.
상기 제1 보조 비트들을 추정하는 과정은, 상기 제1 보조 비트들에 관한 정보가 포함하는 상기 복수의 프로젝션 이미지들에 포함된 패치들 각각의 중점의 좌표와 미스드 포인트 간의 거리를 식별하는 과정 또는 상기 제1 보조 비트들에 관한 정보가 포함하는 상기 패치들 각각의 중점의 좌표를 기반으로 상기 패치들 각각의 중점의 좌표와 상기 미스드 포인트 간의 거리를 계산하는 과정을 포함할 수 있고, 상기 패치들 각각의 중점의 좌표와 상기 미스드 포인트 간의 거리 및 상기 제1 보조 비트들에 관한 정보에 포함된 상기 패치들의 각각의 중점의 보조 비트를 기반으로 상기 미스드 포인트의 보조 비트를 추정하는 과정을 포함할 수 있다.
상기 제1 보조 비트들을 추정하는 과정은, 상기 패치들 각각의 중점의 좌표와 상기 미스드 포인트 간의 거리에 반비례하는 웨이트(weight)를 계산한 값과 상기 패치들의 각각의 중점의 보조 비트를 기반으로 가중 평균을 계산하여 상기 미스드 포인트의 상기 보조 비트를 추정하는 과정을 포함할 수 있다.
상기 제1 보조 비트들을 추정하는 과정은, 상기 복수의 프로젝션 이미지들에 포함된 패치들 중, 미스드 포인트와 인접한 패치를 식별하는 과정, 상기 제1 보조 비트들에 관한 정보에 포함된 상기 패치의 중점의 보조 비트와 상기 패치의 중점의 보조 비트와 상기 미스드 포인트의 보조 비트의 차이 값을 기반으로 상기 미스드 포인트의 보조 비트를 추정하는 과정을 포함할 수 있다.
상기 제1 보조 비트들을 추정하는 과정은, 상기 제1 보조 비트들에 관한 정보가 포함하는, 미스드 포인트가 포함된 그룹의 그룹 식별자 및 상기 미스드 포인트 그룹의 대표 보조 비트를 기반으로 상기 미스드 포인트의 보조 비트를 추정하는 과정을 포함할 수 있다.
상기 제1 보조 비트들을 추정하는 과정은, 상기 제1 보조 비트들에 관한 정보가 포함하는 상기 미스드 포인트들을 그룹핑한 복수의 그룹들의 그룹 식별자들 중, 제1 그룹 및 미스드 포인트가 포함된 제2 그룹을 식별하는 과정, 상기 제1 보조 비트들에 관한 정보가 포함하는 상기 제1 그룹의 대표 보조 비트와, 상기 제1 그룹의 대표 보조 비트와 상기 제2 그룹의 대표 보조 비트의 차이 값을 기반으로 상기 미스드 포인트의 보조 비트를 추정하는 과정을 포함할 수 있다.
상기 제1 그룹은 상기 복수의 그룹들 중 대표 보조 비트가 가장 큰 그룹일 수 있다.
본 개시에 따르면 2D 영상의 코덱을 활용하여 3D 영상을 압축할 수 있으며, 효율적인 압축 및 전송을 통하여 데이터 전송 량을 감축할 수 있다. 따라서 기존의 네트워크를 활용함으로써 비용을 절감할 수 있으며, 저장 공간, 전송 시간 및 하드웨어 비용 등을 절감할 수 있다. 본 개시에 따르면 이렇게 압축하여 전송한 데이터를 프로세싱하여 3D 영상을 복원할 수 있다.
본 개시는 그 밖에, 본 개시에서 얻을 수 있는 효과는 언급한 효과들로 제한되지 않으며, 언급하지 않은 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있다.
도 1은 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지의 전송을 위한 프로세싱 방법을 개략적으로 나타낸 흐름도이다.
도 2는 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지를 프로젝션하기 위한 방법을 나타낸 도면이다.
도 3은 본 개시의 일 실시 예에 따라 포인트 클라우드로 표현된 3D 이미지를 프로젝션한 이미지의 예시를 나타낸 도면이다.
도 4는 본 개시의 일 실시 예에 따른 프로젝션 이미지를 팩킹(packing)하는 방법을 나타낸 도면이다.
도 5는 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지의 전송을 위해 3D 이미지의 데이터가 프로세싱되는 과정을 개략적으로 나타낸 도면이다.
도 6은 본 개시의 일 실시 예에 따른 프로젝션 이미지의 미스드 포인트(missed point)의 오프셋(offset)에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 프로젝션 이미지의 미스드 포인트의 오프셋을 추정하는 방법을 나타낸 순서도이다.
도 8은 본 개시의 일 실시 예에 따른 포인트 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 나타낸 순서도이다.
도 9는 본 개시의 일 실시 예에 따른 미스드 포인트의 오프셋을 추정하는 방법을 나타낸 순서도이다.
도 10은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
도 11은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
도 12는, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 나타낸 순서도이다.
도 13은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
도 14는, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 추정하는 방법을 나타낸 순서도이다.
도 15는, 본 개시의 일 실시예에 따른 데이터의 전송 또는 수신을 위한 장치의 구성을 개략적으로 나타낸 도면이다.
도 2는 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지를 프로젝션하기 위한 방법을 나타낸 도면이다.
도 3은 본 개시의 일 실시 예에 따라 포인트 클라우드로 표현된 3D 이미지를 프로젝션한 이미지의 예시를 나타낸 도면이다.
도 4는 본 개시의 일 실시 예에 따른 프로젝션 이미지를 팩킹(packing)하는 방법을 나타낸 도면이다.
도 5는 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지의 전송을 위해 3D 이미지의 데이터가 프로세싱되는 과정을 개략적으로 나타낸 도면이다.
도 6은 본 개시의 일 실시 예에 따른 프로젝션 이미지의 미스드 포인트(missed point)의 오프셋(offset)에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 프로젝션 이미지의 미스드 포인트의 오프셋을 추정하는 방법을 나타낸 순서도이다.
도 8은 본 개시의 일 실시 예에 따른 포인트 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 나타낸 순서도이다.
도 9는 본 개시의 일 실시 예에 따른 미스드 포인트의 오프셋을 추정하는 방법을 나타낸 순서도이다.
도 10은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
도 11은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
도 12는, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 나타낸 순서도이다.
도 13은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
도 14는, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 추정하는 방법을 나타낸 순서도이다.
도 15는, 본 개시의 일 실시예에 따른 데이터의 전송 또는 수신을 위한 장치의 구성을 개략적으로 나타낸 도면이다.
이하, 첨부된 도면들을 참조하여 본 개시의 실시 예를 상세하게 설명한다. 하기에서 본 개시를 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로써 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 개시의 실시 예에서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의'모듈' 혹은 복수의'부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
본 개시의 다양한 실시 예에서 사용될 수 있는 "포함한다" 또는"포함할 수 있다" 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시 예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 다양한 실시 예에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 개시의 다양한 실시 예에서 사용된 "제 1," "제2," "첫째," 또는 "둘째," 등의 표현들은 다양한 실시 예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
본 개시의 다양한 실시 예에서 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 개시의 다양한 실시 예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명의 다양한 실시 예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시의 다양한 실시 예에서 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 다양한 실시 예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 다양한 실시 예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 도 1 내지 도 6을 참고하여 본 개시의 일 실시 예에 따른 포인트 클라우드(point cloud)로 표현된 3D 데이터의 프로세싱 방법에 대하여 설명한다. 이러한 방법은 데이터를 전송하기 위한 장치에 의해 수행될 수 있다.
도 1은 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지의 전송을 위한 프로세싱 방법을 개략적으로 나타낸 흐름도이다. 도 2는 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지를 프로젝션하기 위한 방법을 나타낸 도면이다. 도 3은 본 개시의 일 실시 예에 따라 포인트 클라우드로 표현된 3D 이미지를 프로젝션한 이미지의 예시를 나타낸 도면이다.
도 4는 본 개시의 일 실시 예에 따른 프로젝션 이미지를 팩킹(packing)하는 방법을 나타낸 도면이다. 도 5는 본 개시의 일 실시 예에 따른 포인트 클라우드로 표현된 3D 이미지의 전송을 위해 3D 이미지의 데이터가 프로세싱되는 과정을 개략적으로 나타낸 도면이다. 도 6은 본 개시의 일 실시 예에 따른 프로젝션 이미지의 미스드 포인트(missed point)의 오프셋(offset)에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
먼저, 도 1을 참고하면, 포인트 클라우드로 표현된 3D 이미지의 프로세싱 방법은 포인트 클라우드에서 각 포인트들의 노말 벡터(normal vector)를 추정하는 과정을 포함한다(101).
도 2를 참고하면, 오브젝트(object)(200)는 3차원 데이터의 3차원 공간 상의 물체를 의미하며, 복수의 포인트들의 집합인 포인트 클라우드로 표현될 수 있다. 오브젝트(200)는 3차원 영상의 복수의 장면 중 한 장면을 나타낸 것일 수 있다.
오브젝트(200)의 각 포인트들은 위치(x, y, z)와 색상(R(red), G(green), B(blue))에 대한 데이터를 포함할 수 있다. 본 개시는 포인트 클라우드에 포함되는 하나의 포인트가 각 좌표 마다 10비트(bit)의 크기를 가지는 위치 좌표인 (x, y, z) 및 각 좌표마다 8비트의 크기를 가지는 색상 좌표인 (R, G, B)로 표현되는 경우를 가정한다. 즉 하나의 포인트의 위치 좌표는 x좌표의 10비트, y좌표의 10비트, z좌표의 10비트, 총 30 비트로 표현될 수 있고, 색상은 R값의 8비트, G값의 8비트, B값의 8비트, 총 24비트로 표현될 수 있다.
오브젝트(200)를 프로젝션(projection)하기 위해, 오브젝트(200)가 중심에 위치하는 가상의 육면체 공간(201)을 가정할 수 있다. 가상의 육면체 공간(201)은 제1 XY평면(XY0), 제2 XY평면(XY1), 제1 YZ평면(YZ0), 제2 YZ평면(YZ1), 제1 XZ평면(XZ0), 제2 XZ평면(XZ1)로 구성될 수 있다. 제1 XY평면(XY0)의 노말 벡터는 -z방향일 수 있고, 제2 XY평면(XY1)의 노말 벡터는 +z 방향일 수 있다. 제1 YZ평면(YZ0)의 노말 벡터는 -x방향일 수 있고, 제2 YZ평면(YZ1)의 노말 벡터는 +x방향일 수 있다. 제1 XZ평면(XZ0)의 노말 벡터는 -y방향일 수 있고, 제2 XZ평면(XZ1)의 노말 벡터는 +y방향일 수 있다.
오브젝트(200)를 프로젝션하기 위해 먼저 오브젝트(200)의 각각의 포인트들의 노말 벡터(202)를 추정할 수 있다. 각 포인트들의 노말 벡터(202)는 해당 포인트와 일정 영역 이내의 인접하는 점들이 이루는 평면에 대하여 추정될 수 있다.
또한, 복수의 포인트들을 그룹핑(grouping)하여 복수의 세그먼트(segment)를 구성할 수 있다. 이때, 동일 또는 유사한 방향의 노말 벡터들을 갖는 포인트들을 하나의 세그먼트로 그룹핑할 수 있다. 여기서 유사한 방향이란 노말 벡터들의 방향 간의 유사도가 일정 임계 값 이상인 경우일 수 있다. 또는 포인트들 간의 거리가 일정 값 이하인 인접한 포인트들을 하나의 세그먼트로 그룹핑할 수도 있다. 또한, 세그먼트 구성 시, 노말 벡터의 방향과 포인트들 간의 거리를 모두 고려할 수도 있으며, 노말 벡터들의 방향 간 유사도가 떨어지거나 포인트들 간의 거리가 일정 값 이상이더라도 포인트의 색상이 일치 또는 유사하면 같은 세그먼트로 그룹핑할 수도 있다. 이러한 세그먼트의 대표 노말 벡터는 세그먼트에 포함된 복수의 포인트들의 노말 벡터들의 평균 값일 수 있다.
다시 도 1을 참고하면 다음으로, 포인트 클라우드의 복수의 포인트들을 프로젝션(projection)한다(102).
도 2를 보면, 포인트 클라우드로 표현된 오브젝트(200)의 복수의 포인트들은 가상의 육면체 공간(201)을 구성하는 평면에 프로젝션될 수 있다. 이때 포인트의 추정된 노말 벡터의 방향과 프로젝션 평면의 노말 벡터의 방향은 일치하거나 유사할 수 있다. 여기서 유사한 방향이란 노말 벡터들의 방향 간의 유사도가 일정 임계 값 이상인 경우일 수 있다. 또한, 포인트들은 포인트들을 그룹핑한 세그먼트 단위로 프로젝션될 수도 있다.
3D 이미지를 2D 이미지로 프로젝션하기 위해, ERP(equirectangular projection), OHP(octahedron projection), 실린더 프로젝션, 큐브 프로젝션 및 해당 기술분야에서 이용 가능한 다양한 프로젝션 방법들 중 어느 하나가 이용될 수 있다.
상술한 바와 같이 본 개시는 포인트 클라우드의 하나의 포인트가 각각 10비트의 크기를 가지는 x좌표, y좌표, z좌표와 각각 8비트의 크기를 가지는 R(red)값, G(green)값, B(blue)값으로 표현되는 경우를 가정한다. 그러나, 이러한 데이터를 인코딩하기 위한 코덱(codec)이 10 비트 크기의 데이터의 인코딩을 지원하지 않을 수 있다. 또는 이러한 데이터를 인코딩하기 위한 코덱이 10비트 보다 작은 비트의 데이터의 인코딩에 최적화되어 있을 수 있다. 본 개시에서는 전송할 데이터의 인코딩에 사용하는 코덱이 8비트의 데이터 인코딩을 지원하는 경우를 가정한다.
이 경우, 포인트 클라우드의 하나의 포인트를 기준으로 설명하면, 색상에 대한 R(red)값, G(green)값, B(blue)값은 각각 8비트이므로 8비트의 데이터 인코딩을 지원하는 코덱으로 인코딩이 가능하다. 그러나, 포인트의 위치에 대한 x좌표, y좌표, z좌표는 각 10 비트를 갖기 때문에 각 좌표마다 2비트의 보조 비트를 따로 인코딩해야 한다.
즉, x좌표의 10 비트에서 하위 2비트를 구별하고, y좌표의 10비트에서 하위 2비트를 구별하고, z좌표의 10비트에서 하위 2비트를 구별하여, 총 6비트를 보조 비트로 하여 별도로 인코딩하여 전송할 수 있다. 여기서 하위 2비트는 10비트 중 중요도가 가장 낮은 2비트일 수 있으며, 10비트 중 가장 끝에 위치할 수 있다. 이하, 이러한 보조 비트와 같은 의미로 오프셋(offset)이라는 용어가 사용될 수 있다.
오프셋을 제외하면 포인트 클라우드의 하나의 포인트 당, x좌표, y좌표, z좌표 각각 8비트씩, 그리고 R(red)값, G(green)값, B(blue)값 각각 8비트씩, 총 48비트 크기의 데이터를 가질 수 있다. 이렇게 하나의 포인트당 48비트를 갖는 포인트 클라우드를 프로젝션(projection)할 수 있다.
도 3을 보면, 포인트 클라우드를 가상의 육면체 공간의 각 면에 프로젝션한 이미지의 예시를 확인할 수 있다. 일 예시로 프로젝션은 제1 XY평면(XY0), 제2 XY평면(XY1), 제1 YZ평면(YZ0), 제2 YZ평면(YZ1), 제1 XZ평면(XZ0), 제2 XZ평면(XZ1)의 순서대로 반복적으로 프로젝션이 수행될 수 있다.
도 3은, 제1 XY평면(XY0)으로 프로젝션한 제1 프로젝션 이미지(projection #0), 제2 XY평면(XY1)으로 프로젝션한 제2 프로젝션 이미지(projection #1), 제1 YZ평면(YZ0)으로 프로젝션한 제3 프로젝션 이미지(projection #2), 제2 YZ평면(YZ1)으로 프로젝션한 제4 프로젝션 이미지(projection #3), 제1 XZ평면(XZ0)으로 프로젝션한 제5 프로젝션 이미지(projection #4), 제2 XZ평면(XZ1)으로 프로젝션한 제6 프로젝션 이미지(projection #5), 제1 XY평면(XY0)으로 두 번째 프로젝션한 제7 프로젝션 이미지(projection #6), 제2 XY평면(XY1)으로 두 번째 프로젝션한 제8 프로젝션 이미지(projection #7), 제1 YZ평면(YZ0)으로 두 번째 프로젝션한 제9 프로젝션 이미지(projection #8)의 일 예시를 나타낸다. 그러나 이러한 프로젝션 순서와 프로젝션 횟수는 일 예시에 불과하다.
프로젝션 이미지에 포함된 각 포인트들은, 포인트 당 x좌표, y좌표, z좌표 각각 8비트씩, 그리고 R(red)값, G(green)값, B(blue)값 각각 8비트씩, 총 48비트 크기의 데이터를 가질 수 있다.
도 3에 표현되진 않았으나, 프로젝션 횟수에 따라 제2 YZ평면(YZ1)으로 두 번째 프로젝션한 제10 프로젝션 이미지, 제1 XZ평면(XZ0)으로 두 번째 프로젝션한 제11 프로젝션 이미지, 제2 XZ평면(XZ1)으로 두 번째 프로젝션한 제12 프로젝션 이미지, 제1 XY평면(XY0)으로 세 번째 프로젝션한 제13 프로젝션 이미지, 제2 XY평면(XY1)으로 세 번째 프로젝션한 제14 프로젝션 이미지... 등이 더 존재할 수 있다.
프로젝션이 반복하여 수행될수록 프로젝션된 이미지에 포함되는 포인트들의 개수는 감소할 수 있다. 도 3을 보면, 제1 XY평면(XY0)으로 첫 번째 프로젝션한 제1 프로젝션 이미지(projection #0)의 포인트들의 개수(points=156839)보다 제1 XY평면(XY0)으로 두 번째 프로젝션한 제7 프로젝션 이미지(projection #6)의 포인트들의 개수(points=34549)가 더 적은 것을 확인할 수 있다. 이는 예를 들어, 제1 XY평면(XY0)으로 첫 번째 프로젝션할 때 노말 벡터 방향이 제1 XY평면(XY0)의 노말 벡터 방향과 동일 또는 유사한 포인트들의 80%가 프로젝션되고, 제1 XY평면(XY0)으로 두 번째 프로젝션할 때 노말 벡터 방향이 제1 XY평면(XY0)의 노말 벡터 방향과 동일 또는 유사한 포인트들의 16%가 프로젝션되기 때문일 수 있다. 다만 이 수치는 일 예일 수 있다.
제1 XY평면(XY0)으로 세 번째, 네 번째, 또는 그 이상 반복하여 프로젝션하는 경우 제1 XY평면(XY0)의 노말 벡터 방향과 동일 또는 유사한 방향의 노말 벡터를 갖는 포인트들이 100%에 가깝게 프로젝션될 수 있다. 즉, 가상의 육면체 공간(201)의 제1 XY평면(XY0)에서 오브젝트(200)를 볼 때 다른 포인트에 의해 가려진 포인트들도 반복적인 프로젝션을 통하여 프로젝션될 수 있다.
마찬가지로 도 3을 보면, 제2 XY평면(XY1)으로 첫 번째 프로젝션한 제2 프로젝션 이미지(projection #1)의 포인트들의 개수(points=156597)보다 제2 XY평면(XY1)으로 두 번째 프로젝션한 제8 프로젝션 이미지(projection #7)의 포인트들의 개수(points=14660)가 더 적은 것을 확인할 수 있다. 또 제1 YZ평면(YZ0)으로 첫 번째 프로젝션한 제3 프로젝션 이미지(projection #2)의 포인트들의 개수(points=170221)보다 제1 YZ평면(YZ0)으로 두 번째 프로젝션한 제9 프로젝션 이미지(projection #8)의 포인트들의 개수(points=9470)가 더 적은 것을 확인할 수 있다.
반복적인 프로젝션으로 프로젝션 이미지에 포함된 포인트들의 개수가 감소하면 프로젝션 이미지에 포함된 포인트들 간의 간격이 벌어질 수 있다. 이때, 프로젝션 이미지에 포함된 포인트들 간의 간격이 임계 값 이상인 경우, 이러한 포인트들을 이하 미스드 포인트(missed point)들이라고 칭한다. 즉, 프로젝션 이미지에 포함된 제1 포인트가 제1 포인트와 가장 인접한 제2 포인트와의 거리가 임계 값 이상인 경우 제1 포인트는 미스드 포인트에 해당될 수 있다. 이러한 미스드 포인트들에 대하여 플래그(flag)로 표시하여 수신기에게 전송함으로써 미스드 포인트 해당 여부에 대한 정보를 수신기에게 제공할 수 있다.
다시 도 1을 참고하면, 다음으로 2D 프로젝션 이미지들을 팩킹(packing)할 수 있다(103).
도 4를 보면, 복수의 프로젝션 이미지들(400, 401, 402)을 하나 또는 하나 이상의 팩킹된 2D 이미지(403)로 팩킹할 수 있다. 팩킹은 프로젝션된 2D 프로젝션 이미지들(400, 401, 402) 중 적어도 일부를, 변형 및/또는 재배치하여, 하나 또는 하나 이상의 팩킹된 2D 이미지(403)로 생성하는 것을 의미할 수 있다. 여기서, 변형은 영역의 리사이징(resize), 형태 변환(transforming), 회전 및/또는 재-샘플링(re-sampling)(예를 들어, 업샘플링, 다운샘플링, 영역 내의 위치에 따른 차등 샘플링)등을 의미할 수 있다. 이러한 팩킹 방식은 영역별(region-wise) 팩킹으로 지칭될 수 있다. 도 4는 3개의 프로젝션 이미지(400, 401, 402)만 도시하였지만 팩킹되는 프로젝션 이미지는 3개 이상일 수 있다.
다시 도 1을 참고하면, 다음으로 팩킹된 데이터 및 오프셋들을 인코딩(encoding)하고(104), 수신 장치에 전송한다(105). 이 때 적어도 하나의 미스드 포인트의 오프셋은 인코딩 및 전송에서 제외된다. 또한, 모든 미스드 포인트들의 오프셋들은 인코딩 및 전송에서 제외될 수 있다.
도 5는 3D 데이터인 포인트 클라우드 데이터가 전송을 위해 프로세싱되는 과정을 개략적으로 도시한 것으로, 포인트 클라우드에 포함된 하나의 포인트의 위치 좌표를 기준으로 도시한 것이다. 도 5를 참고하면, x좌표, y좌표, z좌표 각각 10비트씩 총 30비트의 데이터에서 각각 하위 2비트를 식별하여 6비트의 보조 비트(오프셋)를 별도로 인코딩한다. 도시되지는 않았으나 이 때 미스드 포인트의 오프셋은 인코딩에서 제외될 수 있다.
또한, 오프셋을 제외한 좌표, y좌표, z좌표 각각 8비트씩 총 24비트의 데이터는 프로젝션 및 팩킹하는 과정을 거쳐 팩킹된 2D 이미지를 인코딩한다. 도 5에 도시하지는 않았으나, 각각 8비트를 갖는 R, G, B에 대한 데이터도 위치 데이터와 함께 프로젝션, 팩킹 및 인코딩될 수 있다.
이렇게 인코딩된 팩킹된 2D 이미지 및 미스드 포인트의 오프셋을 제외한 인코딩된 오프셋을 수신 장치에 전송한다.
인코딩에는 HEVC(High Efficiency Video Coding), H.264, Future Video Codec, AVC(Advanced Video Coding), VP9(Pure Video 9), VP8(Pure Video 8), JVET(Joint Video Exploration Team) 등의 2D 영상 기반 압축이 가능한 코덱이 사용될 수 있다.
인코딩된 데이터는 분할되거나, 헤더를 부가하는 등의 프로세싱을 통해 정해진 전송 프로토콜에 따라 가공되어 전송될 수 있다. 인코딩된 데이터와 함께, 또는 개별적으로 인코딩된 데이터와 관련된 추가적인 데이터, 데이터를 재생하기 위해 필요한 데이터(예를 들어, 메타데이터)가 전송될 수 있다.
송신 장치에서의 데이터의 전송은 MMT(MPEG Media Transport) 또는 DASH (Dynamic Adaptive Streaming over HTTP)를 따를 수 있으나, 반드시 이에 한정되는 것은 아니다.
도시되지는 않았으나, 이미지에 관련된 데이터 이외에도 오디오에 관한 데이터가 수신 장치로 송신될 수 있다.
팩킹된 2D 이미지 및 오프셋을 전송할 때, 미스드 포인트의 오프셋은 전송하지 않을 수 있다. 앞서 설명한 바와 같이 프로젝션을 반복할수록 프로젝션 이미지는 인접한 포인트와의 거리가 임계 값 이상인 미스드 포인트를 포함할 수 있다. 이러한 미스드 포인트의 오프셋을 도 5의 오프셋과 같이 별도로 인코딩하여 전송할 수도 있으나, 보다 전송량을 감축할 수 있는 방법이 필요할 수 있다. 이 때, 미스드 포인트의 오프셋을 전송하지 않고 보다 작은 데이터를 갖는 미스드 포인트의 오프셋에 대한 정보를 전송함으로써 데이터 전송 량을 감축할 수 있다.
이하, 도 6을 참고하여 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명한다.
도 6을 보면, 예를 들어 제1 XY(XY0)평면에 첫 번째로 프로젝션한 프로젝션 이미지의 오브젝트를 제1 패치(600), 제1 XY(XY0)평면에 두 번째로 프로젝션한 프로젝션 이미지의 오브젝트를 제2 패치(601), 제1 XY(XY0)평면에 세 번째로 프로젝션한 프로젝션 이미지의 오브젝트를 제3 패치(602)라고 할 수 있다. 제3 패치(602)는 미스드 포인트들(603, 604, 605, 606, 607)을 포함한다고 가정한다.
이때, 미스드 포인트들(603, 604, 605, 606, 607) 각각의 오프셋은 제1 패치(600)의 제1 중점(C1)의 제1 오프셋 값(offset_1), 제1 중점(C1)과의 거리(α1), 제2 패치(601)의 제2 중점(C2)의 제2 오프셋 값(offset_2), 그리고 제2 중점(C2)과의 거리(β1)를 고려하여 추정될 수 있다. 여기서 중점이란 패치의 무게 중심일 수 있다.
구체적으로 제1 미스드 포인트(603)를 예로 들면, 제1 패치(600)의 제1 중점(C1)의 제1 오프셋 값(offset_1), 제1 미스드 포인트(603)와 제1 중점(C1)과의 거리(α1), 제2 패치(601)의 제2 중점(C2)의 제2 오프셋 값(offset_2), 그리고 제1 미스드 포인트(603)와 제2 중점(C2)과의 거리(β1)를 고려하여 [수학식 1]과 같이 거리에 반비례하는 웨이트(weight)를 기반으로 한 가중 평균(est_mp_offset_1)을 계산할 수 있고 이를 제1 미스드 포인트(603)의 오프 셋으로 추정할 수 있다.
이 경우 제1 미스드 포인트(603)의 오프셋은 전송할 필요가 없으며, 전송하지 않는 제1 미스드 포인트(603)의 오프셋 데이터 량만큼 데이터 전송 량을 감축할 수 있다. 제1 미스드 포인트(603)의 오프셋을 추정하는 과정은 전송된 데이터를 수신한 장치에서 수행될 수 있다.
이 경우, 제1 미스드 포인트(603)의 오프셋을 전송하는 대신 제1 패치(600) 중점(C1)의 좌표 및 제2 패치(601) 중점(C2)의 좌표에 대한 정보를 전송할 수 있다. 또는, 제1 미스드 포인트(603)의 오프셋을 전송하는 대신 제1 미스드 포인트(603)와 제1 패치(600)의 중점(C1)과의 거리(α1) 및 제 미스드 포인트(603)와 제2 패치(601)의 중점(C2)과의 거리(β1)에 대한 정보를 전송할 수 있다. 또한, 패치의 중점의 좌표 및 미스드 포인트와 패치의 중점과의 거리를 모두 전송할 수도 있다.
또한, 제1 패치(600)의 제1 중점(C1)의 제1 오프셋 값(offset_1) 및 제2 패치(601)의 제2 중점(C2)의 제2 오프셋 값(offset_2)에 대한 정보를 전송할 수 있다.
수신 장치는 상기 미스드 포인트에 대한 정보를 수신하여 제1 미스드 포인트(603)의 오프셋을 추정할 수 있다.
미스드 포인트의 오프셋 추정 방법에 대하여는 데이터 전송 시 추정 모드를 표시하여 송신 장치가 제공할 수도 있고, 수신 장치가 수신된 정보에 기반하여 추정 모드를 선택할 수도 있다.
제2 미스드 포인트(604), 제3 미스드 포인트(605)? 등의 오프셋 추정도 마찬가지의 방법으로 수행될 수 있다. 즉, 제2 미스드 포인트(604)를 예로 들면, 제2 미스드 포인트(604)와 제1 패치(600) 중점(C1)과의 거리(α2) 및 제2 미스드 포인트(604)와 제2 패치(601) 중점(C2)과의 거리(β2)에 대한 정보를 추가로 전송할 수 있고, 수신 장치는 상기 정보를 수신하여 제2 미스드 포인트(604)의 오프셋을 추정할 수 있다.
도 6은 제1 패치(600) 및 제2 패치(601)의 2개의 패치를 기반으로 미스드 포인트의 오프셋을 추정하는 경우를 도시하였으나, 패치의 개수는 이에 한정되지 않는다. 제1 미스드 포인트에 인접한 패치의 개수가 n개인 경우, [수학식 2]와 같이 가중 평균(est_mp_offset_1)을 계산할 수 있고 이를 제1 미스드 포인트의 오프셋으로 추정할 수 있다.
[수학식 2]에서 offset(i)는 제i 패치의 중점의 오프셋이고, distance(i)는 제i 패치의 중점과 제1 미스드 포인트 간의 거리이고, distance(k)는 제k 패치의 중점과 제1 미스드 포인트 간의 거리이다.
이 경우에도 마찬가지로 송신 장치는 패치의 중점 좌표, 미스드 포인트와 패치의 중점과의 거리 및 패치의 중점의 오프셋 중 적어도 하나를 포함하는 미스드 포인트의 오프셋에 대한 정보를 전송할 수 있고, 수신 장치는 이를 기반으로 미스드 포인트의 오프셋 추정할 수 있다.
이하, 도 7을 참고하여 본 개시의 일 실시 예에 따른 포인트 클라우드에 관한 데이터를 처리하기 위한 방법을 설명한다. 앞서 설명한 실시예와 동일한 부분의 설명은 생략한다.
도 7은 본 개시의 일 실시 예에 따른 프로젝션 이미지의 미스드 포인트의 오프셋을 추정하는 방법을 나타낸 순서도이다.
수신 장치는 수신한 데이터를 디코딩한다(700). 디코딩된 데이터에는 팩킹된 2D 이미지, 미스드 포인트를 제외한 포인트의 오프셋, 미스드 포인트의 오프셋에 대한 정보가 포함될 수 있다.
수신 장치는 팩킹된 2D 이미지의 팩킹 해제(unpacking)을 수행하여 프로젝션 이미지들을 복원할 수 있다. 팩킹 해제는 송신 장치에서 수행된 팩킹 방법의 역 변환일 수 있다. 이를 위해 팩킹 방법에 대하여 송신 장치와 수신 장치는 미리 공유할 수 있다.
수신 장치는 복원된 프로젝션 이미지들에서 미스드 포인트를 식별할 수 있다. 수신 장치는 프로젝션 이미지들에 포함된 포인트의 플래그를 확인하여(701) 미스드 포인트가 아닐 경우 다음 포인트로 이동하고(702), 미스드 포인트인 경우 N개의 패치를 식별할 수 있다(703). 이때 N개의 패치는 미스드 포인트와 인접한 패치일 수 있다.
다음으로, 수신 장치는 디코딩된 데이터에 포함된 N개의 패치의 중점과 미스드 포인트와의 거리를 식별하거나, 수신한 데이터에 포함된 N개의 패치의 중점의 좌표를 식별하여 N개의 패치의 중점과 미스드 포인트와의 거리를 계산할 수 있다. 수신 장치는 이를 기반으로 N개의 패치의 오프셋의 가중 평균을 [수학식 2]와 같이 계산할 수 있다(704).
수신 장치는 계산된 가중 평균 값을 미스드 포인트의 오프셋으로 추정할 수 있다(705). 식별된 복수의 미스드 포인트 각각에 대하여 동일한 방법으로 오프셋을 추정할 수 있다.
수신 장치는 팩킹 해제된 복수의 프로젝션 이미지들을 3D 이미지로 프로젝션 처리할 수 있다. 2D 프로젝션 이미지를 3D 이미지로 프로젝션하기 위해 송신 장치에서 사용된 프로젝션의 역의 프로젝션을 사용할 수 있으나, 반드시 이에 한정되는 것은 아니다.
수신 장치는 복수의 프로젝션 이미지들을 3D 이미지로 프로젝션 처리한 데이터와, 미스드 포인트를 제외한 포인트의 오프셋, 추정된 미스드 포인트의 오프셋을 기반으로 3D 데이터를 복원할 수 있다.
이하, 도 6 및 도 8을 참고하여 본 개시의 일 실시 예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명한다. 앞서 설명한 실시 예와 동일한 내용은 설명을 생략한다.
도 8은 본 개시의 일 실시 예에 따른 포인트 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 나타낸 순서도이다.
송신 장치는 미스드 포인트의 오프셋을 전송하지 않고 미스드 포인트의 오프셋에 대한 정보를 전송할 수 있다. 먼저, 송신 장치는 프로젝션 이미지에 포함된 포인트가 미스드 포인트에 해당하는지 판단할 수 있다(800). 상술한 바와 같이 미스드 포인트에 해당 여부 판단은 다른 포인트와의 거리가 임계 값 이상인지 여부로 판단할 수 있다.
미스드 포인트가 아닌 경우 다음 포인트로 이동하고(801), 미스드 포인트인 경우 미스드 포인트에 해당함을 플래그로 설정할 수 있다(802).
다음으로 미스드 포인트에 가장 가까운 패치를 식별할 수 있다(803). 도 6을 예로 들면, 제1 미스드 포인트(603)에 대하여 제2 패치(601)을 가장 가까운 패치로 식별할 수 있다.
다음으로 가장 가까운 패치의 오프셋을 식별하고(804), 가장 가까운 패치의 오프셋과 미스드 포인트의 오프셋의 차이 값을 계산할 수 있다(805). 예를 들어 제2 패치(601)의 제2 중점(C2)의 제2 오프 셋(offset_2)을 식별하고, 제1 미스드 포인트(603)의 오프 셋(mp_offset_1)과 제2 패치(601)의 제2 중점(C2)의 제2 오프 셋(offset_2)의 차이 값(delta_1)을 계산할 수 있다.
송신 장치는 계산된 차이 값(delta_1)을 포함하는 미스드 포인트의 오프셋에 대한 정보를 인코딩하여 전송할 수 있다(806). 미스드 포인트의 오프셋에 대한 정보에는 제2 중점(C2)의 제2 오프 셋(offset_2) 값이 포함될 수 있다.
이하, 도 6 및 도 9를 참고하여 본 개시의 일 실시 예에 따른 미스드 포인트의 오프셋을 추정하는 방법을 설명한다. 앞서 설명한 실시 예와 동일한 내용은 설명을 생략한다.
도 9는 본 개시의 일 실시 예에 따른 미스드 포인트의 오프셋을 추정하는 방법을 나타낸 순서도이다.
수신 장치는 수신한 데이터를 디코딩한다(900). 수신한 데이터에는 미스드 포인트의 오프셋에 대한 정보가 포함된다.
수신 장치는 플래그를 확인하여 미스드 포인트인지 확인할 수 있다(901). 미스드 포인트가 아닐 경우 다음 포인트로 이동하고(902), 미스드 포인트일 경우 가장 가까운 패치를 식별할 수 있다(903). 도 6을 예로 들면, 제1 미스드 포인트(603)에 대하여 제2 패치(601)을 가장 가까운 패치로 식별할 수 있다.
다음으로, 수신 장치는 수신한 데이터에서 가장 가까운 패치의 오프셋을 식별할 수 있다(904). 예를 들어 수신한 데이터에서 제2 패치(601)의 제2 중점(C2)의 제2 오프셋(offset_2)을 식별할 수 있다.
수신 장치는 수신한 데이터에서 미스드 포인트에 대응되는 차이 값을 식별할 수 있다(905). 예를 들어 제1 미스드 포인트(603)인 경우, 제1 미스드 포인트(603)의 오프셋(mp_offset_1)과 제2 패치(601)의 제2 중점(C2)의 제2 오프셋(offset_2)의 차이 값(delta_1)을 제1 미스드 포인트에 대응되는 차이 값으로 식별할 수 있다.
다음으로, 가장 가까운 패치의 오프셋과 미스드 포인트에 대응되는 차이 값을 기반으로 미스드 포인트의 오프셋을 계산할 수 있다(906). 예를 들어, 수신 장치는 제1 미스드 포인트(603)에 대응하는 차이 값(delta_1) 및 제2 패치(601)의 제2 중점(C2)의 제2 오프셋(offset_2)을 기반으로 제1 미스드 포인트(603)의 오프셋을 계산할 수 있다. 이렇게 계산된 오프셋을 제1 미스드 포인트(603)의 오프셋으로 추정할 수 있다.
이 경우, 예를 들어 제1 미스드 포인트(602)의 실제 오프 셋(mp_offset_1)의 값이 0~255범위라면 실제 오프 셋(mp_offset_1)의 값보다 작은 0~100범위의 차이 값(delta_1)만 전송하면 되므로 데이터 전송 량을 감축할 수 있다.
제2 미스드 포인트(603), 제3 미스드 포인트(604)... 등의 오프셋 추정도 마찬가지의 방법으로 수행될 수 있다.
이하, 도 10을 참고하여 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법 및 이를 기반으로 미스드 포인트의 오프셋을 추정하는 방법을 설명한다. 앞서 설명한 실시예와 동일한 부분의 설명은 생략한다.
도 10은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
도 10의 복수의 그룹(Group A, Group B, Group C, Group D)은 복수의 미스드 포인트들을 그룹핑(grouping)한 것이다. 복수의 미스드 포인트들의 오프셋을 전송하는 대신 도 10과 같이 복수의 미스드 포인트들을 그룹핑(grouping)하여 각 그룹의 대표 오프셋 및 그룹 식별자(identifier)를 전송할 수 있다.
이 때, 복수의 미스드 포인트들은 다양한 기준에 의해 그룹핑될 수 있다. 일 예시로, 하나의 미스드 포인트의 오프셋을 기준으로 오프셋 값이 동일 또는 유사한 미스드 포인트들을 하나의 그룹으로 그룹핑할 수 있다. 여기서 오프셋 값이 유사하다는 것은 오프셋 간의 차이가 일정한 임계 값 이하인 경우일 수 있다.
일 예시로 미스드 포인트들의 오프셋의 벡터 간의 각도 차이 값이 임계 값 이하일 경우 하나의 그룹으로 그룹핑될 수 있다. 예를 들어 제1 미스드 포인트의 오프셋의 벡터가 a=(a1, a2, ..., an)이고 제2 미스드 포인트의 오프셋의 벡터가 b=(b1, b2, ..., bn)일 때, [수학식 3]으로 계산되는 제1 미스드 포인트의 오프셋의 벡터(a)와 제2 미스드 포인트의 오프셋의 벡터(b)의 각도 차이 값(cosθ)이 임계 값 이하일 경우, 제1 미스드 포인트의 오프셋의 벡터와 제2 미스드 포인트의 오프셋의 벡터는 하나의 그룹으로 그룹핑될 수 있다.
또는 하나의 미스드 포인트를 기준으로 일정 영역 이내의 미스드 포인트들을 하나의 그룹으로 그룹핑할 수 있다. 또는 미스드 포인트들 간의 인접 여부 및 오프셋의 유사도를 모두 고려하여 그룹핑할 수도 있다.
이 경우, 각 그룹 식별자 및 각 그룹의 대표 오프셋을 수신기에게 전송하면 되기 때문에 모든 미스드 포인트의 오프셋을 전송하는 경우 보다 데이터 전송 량을 감축할 수 있다.
수신 장치는 해당 그룹에 포함되는 미스드 포인트들의 오프셋들을 해당 그룹의 대표 오프셋과 동일하다고 추정할 수 있다.
이하, 도 11을 참고하여 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법 및 이를 기반으로 미스드 포인트의 오프셋을 추정하는 방법을 설명한다. 앞서 설명한 실시예와 동일한 부분의 설명은 생략한다.
도 11은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
복수의 미스드 포인트들의 오프셋을 전송하는 대신, 도 11과 같이 복수의 미스드 포인트들을 그룹핑(grouping)하여 대표 그룹의 그룹 식별자 및 대표 그룹의 대표 오프셋을 수신기에게 전송할 수 있다. 또한, 대표 그룹의 오프셋과 대표 그룹 외의 다른 그룹의 대표 오프셋의 차이 값을 수신기에게 전송할 수 있다.
예를 들어, 복수의 그룹들(Group A, Group B, Group C, Group D)을 오프셋의 크기 순으로 정렬하여 가장 큰 오프셋을 갖는 그룹을 대표 그룹으로 정할 수 있다.
제1 그룹(Group A)을 대표 그룹으로 가정하면, 제1 그룹(Group A)의 그룹 식별자와 제1 그룹(Group A)의 대표 오프셋을 전송할 수 있다. 또한, 제1 그룹(Group A)의 대표 오프 셋과 제2 그룹(Group B)의 대표 오프 셋의 차이 값(delta AB)을 계산하고, 제2 그룹(Group B)의 대표 오프 셋과 제3 그룹(Group C)의 대표 오프 셋의 차이 값(delta BC)을 계산하고, 제3 그룹(Group C)의 대표 오프 셋과 제4 그룹(Group D)의 대표 오프 셋의 차이 값(delta CD)을 계산하여 이러한 차이 값들을 전송할 수 있다.
이 경우, 각 그룹의 그룹 식별자, 대표 그룹의 대표 오프셋 및 그룹들의 대표 오프셋들 간의 차이 값들을 전송하면 되기 때문에 모든 미스드 포인트의 오프셋을 전송할 때 보다 데이터 전송 량을 감축할 수 있다. 또한, 이러한 대표 오프셋들 간의 차이 값 계산이 반복될수록 차이 값들의 크기는 작아질 수 있기 때문에 데이터 전송량 감축이 증가될 수 있다.
수신 장치는 수신한 대표 그룹의 대표 오프셋 및 대표 오프셋들 간의 차이 값들을 기반으로 계산하여 복수의 그룹들 각각의 대표 오프셋을 추정할 수 있다. 수신 장치는 해당 그룹에 포함되는 미스드 포인트들의 오프 셋들을 해당 그룹의 추정된 대표 오프 셋과 동일하다고 추정할 수 있다.
이하, 도 12 및 도 13을 참고하여 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명한다. 앞서 설명한 실시예와 동일한 부분의 설명은 생략한다.
도 12는, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 나타낸 순서도이다. 도 13은, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 전송하는 방법을 설명하기 위한 도면이다.
송신 장치는 미스드 포인트의 오프셋을 전송하지 않고 미스드 포인트의 오프셋에 대한 정보를 전송할 수 있다. 먼저, 송신 장치는 포인트가 미스드 포인트에 해당하는지 판단할 수 있다(1200). 미스드 포인트가 아닌 경우 다음 포인트로 이동하고(1201), 미스드 포인트인 경우 미스드 포인트에 해당함을 플래그로 설정할 수 있다(1202).
다음으로 미스드 포인트들을 그룹핑할 수 있고(1203), 미스드 포인트 그룹들 각각의 대표 오프셋을 결정할 수 있다(1204). 도 13을 예로 들면, 복수의 미스드 포인트들을 복수의 그룹들(Group A, Group B, Group C, Group D)로 그룹핑할 수 있고, 복수의 그룹들(Group A, Group B, Group C, Group D) 각각의 대표 오프셋을 결정할 수 있다.
다음으로 복수의 그룹들 중 대표 그룹을 결정할 수 있다(1205). 예를 들어, 복수의 그룹들(Group A, Group B, Group C, Group D)을 오프셋의 크기 순으로 정렬하여 가장 큰 오프셋을 갖는 그룹을 대표 그룹으로 정할 수 있다.
다음으로 대표 그룹의 대표 오프셋과 다른 그룹의 대표 오프셋 간의 차이 값을 계산할 수 있다(1206). 제1 그룹(Group A)을 대표 그룹으로 가정하면, 제1 그룹(Group A)의 대표 오프셋과 제2 그룹(Group B)의 대표 오프셋의 차이 값(delta AB)을 계산하고, 제1 그룹(Group A)의 대표 오프셋과 제3 그룹(Group C)의 대표 오프셋의 차이 값(delta AC)을 계산하고, 제1 그룹(Group A)의 대표 오프셋과 제4 그룹(Group D)의 대표 오프셋의 차이 값(delta AD)을 계산할 수 있다.
송신 장치는 각 그룹의 그룹 식별자, 대표 그룹의 대표 오프셋 및 그룹들의 대표 오프 셋들 간의 차이 값들을 인코딩하여 전송할 수 있다(1207). 예를 들어 송신 장치는 복수의 그룹들(Group A, Group B, Group C, Group D) 각각의 그룹 아이디, 제1 그룹(Group A)의 대표 오프셋 및 대표 오프셋들 간의 차이 값(delta AB, delta AC, delta AD)을 전송할 수 있다.
이 경우, 각 그룹의 그룹 식별자, 대표 그룹의 대표 오프셋 및 그룹들의 대표 오프셋들 간의 차이 값들을 전송하면 되기 때문에 모든 미스드 포인트의 오프셋을 전송할 때 보다 데이터 전송 량을 감축할 수 있다.
이하, 도 13 및 도 14를 참고하여 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋을 추정하는 방법을 설명한다. 앞서 설명한 실시예와 동일한 부분의 설명은 생략한다.
도 14는, 본 개시의 일 실시예에 따른 미스드 포인트의 오프셋에 대한 정보를 추정하는 방법을 나타낸 순서도이다.
수신 장치는 수신한 데이터를 디코딩한다(1400). 수신한 데이터에는 미스드 포인트의 오프셋에 대한 정보가 포함된다.
수신 장치는 플래그를 확인하여 미스드 포인트인지 확인할 수 있다(1401). 미스드 포인트가 아닐 경우 다음 포인트로 이동하고(1402), 미스드 포인트일 경우 미스드 포인트가 포함된 그룹의 그룹 식별자를 식별할 수 있다(1403). 예를 들어, 미스드 포인트가 제3 그룹(Group C)에 포함되어 있는 경우 제3 그룹(Group C)의 그룹 식별자를 식별할 수 있다.
다음으로 미스드 포인트가 포함된 그룹에 대응되는 차이 값을 식별할 수 있다. 예를 들어, 제3 그룹(Group C)에 대응되는 차이 값으로 차이 값(delta AC)를 식별할 수 있다.
수신 장치는 대표 그룹의 대표 오프셋을 식별하여 미스드 포인트가 포함된 그룹의 대표 오프셋을 계산할 수 있다(1405). 예를 들어, 대표 그룹인 제1 그룹(Group A)의 대표 오프셋과 미스드 포인트가 포함된 제3 그룹(Group C)에 대응되는 차이 값(delta AC)을 기반으로 제3 그룹(Group C)의 대표 오프셋을 계산할 수 있다. 수신 장치는 이렇게 계산된 제3 그룹(Group C)의 대표 오프셋을 제3 그룹(Group C)에 포함된 미스드 포인트의 오프셋으로 추정할 수 있다.
상술한 본 개시에 따른 실시 예들을 수행하는데 하기 [표 1] 내지 [표 5]와 같은 구문(syntax)이 사용될 수 있다.
상기 [표 1] 내지 [표 5]에서 pick_nearest_neighborhood(id,num)는 (Point[id].x, Point[id].y, Point[id].z)와 가장 가까운 거리에 있는 세그먼트의 개수(num)를 계산해서, 오프셋을 리턴하는 함수이다. calculate_distance(id, Neighbour[i])는 Point[id]와 Neighbour[i]의 기하학 거리를 측정하여 리턴하는 함수이다. Delta[id]는 Point[id]와 기준이 되는 세그먼트의 오프셋과의 차이 값(Delta)을 저장한 공간을 의미한다. Offset[group_index]는 group_index 그룹의 오프셋을 저장한 공간을 의미한다.
이하, 도 15를 참고하여 본 개시의 일 실시예에 따른 데이터의 전송 또는 수신을 위한 장치의 구조를 설명한다. 앞서 설명한 실시예와 동일한 부분의 설명은 생략한다.
도 15는, 본 개시의 일 실시예에 따른 데이터의 전송 또는 수신을 위한 장치의 구성을 개략적으로 나타낸 도면이다.
데이터의 전송 또는 수신을 위한 장치(1500)는 인코딩한 신호를 송수신하는 송수신부(1501), 데이터의 전송 또는 수신을 위한 장치의 모든 동작을 제어하는 제어부(1502), 포인트 클라우드에 관한 데이터를 저장하는 메모리부(1503)를 포함할 수 있다.
본 개시에서 상술된 데이터의 전송 또는 수신을 위한 장치(1500)에서 수행되는 프로젝션, 팩킹, 인코딩, 역 프로젝션, 팩킹 해제, 디코딩 등의 모든 기법 또는 방법들 중 적어도 하나 이상은 상기 제어부(1502)의 제어에 의해 수행되는 것으로 이해될 수 있다.
본 개시에서 상술된 포인트 클라우드에 관한 데이터는 상기 메모리부(1503)에 일시적 또는 반영구적으로 전체 또는 일부가 저장되어 있을 수 있다. 또한, 본 개시에서 상술된 데이터의 전송 또는 수신을 위한 장치(1500)에서 수행되는 모든 기법 또는 방법들에 대한 알고리즘이 상기 메모리부(1502)에 일시적 또는 반영구적으로 전체 또는 일부가 저장되어 있을 수 있다.
그러나, 상기 송수신부(1501), 상기 제어부(1502) 및 상기 메모리부(1503)는 반드시 별도의 장치로 구현되어야 하는 것은 아니고, 단일 칩과 같은 형태로써 하나의 구성부로 구현될 수 있음은 물론이다. 나아가, 상기 송수신부(1501), 상기 제어부(1502) 및 상기 메모리부(1503)는 반드시 모두 포함되어야 하는 것은 아니고 일부는 생략될 수 있다.
상기 도 1 내지 도 15가 예시하는 방법 예시도, 시스템의 구성도, 장치 구성도 등은 본 개시의 권리범위를 한정하기 위한 의도가 없음을 유의하여야 한다. 즉, 상기 도 1 내지 도 15에 기재된 모든 구성 또는 동작이 본 개시의 실시를 위한 필수 구성요소인 것으로 해석되어서는 안되며, 일부 구성요소 만을 포함하여도 본 개시의 본질을 해치지 않는 범위 내에서 구현될 수 있다.
앞서 설명한 동작들은 해당 프로그램 코드를 저장한 메모리 장치를 서버 또는 장치 내의 임의의 구성부에 구비함으로써 실현될 수 있다. 즉, 서버 또는 장치의 제어부는 메모리 장치 내에 저장된 프로그램 코드를 프로세서 혹은 CPU(Central Processing Unit)에 의해 읽어내어 실행함으로써 앞서 설명한 동작들을 실행할 수 있다.
본 명세서에서 설명되는 서버 또는 장치의 다양한 구성부들과, 모듈(module)등은 하드웨어(hardware) 회로, 일 예로 상보성 금속 산화막 반도체(complementary metal oxide semiconductor) 기반 논리 회로와, 펌웨어(firmware)와, 소프트웨어(software) 및/혹은 하드웨어와 펌웨어 및/혹은 머신 판독 가능 매체에 삽입된 소프트웨어의 조합과 같은 하드웨어 회로를 사용하여 동작될 수도 있다. 일 예로, 다양한 전기 구조 및 방법들은 트랜지스터(transistor)들과, 논리 게이트(logic gate)들과, 주문형 반도체와 같은 전기 회로들을 사용하여 실시될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 예를 들어 본 개시는 위치 좌표가 각각 10비트를 가지고 색상 좌표가 각각 8비트를 가지는 포인트 데이터를 가정하여 설명하였으나, 데이터의 크기는 이에 한정되지 않는다. 또한, 본 개시는 8비트의 데이터의 코딩을 지원하는 코덱을 가정하여 설명하였으나, 코덱은 이에 한정되지 않는다.
그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
1501: 송수신부
1502: 제어부
1503: 메모리부
1502: 제어부
1503: 메모리부
Claims (19)
- 포인트 클라우드에 관한 데이터의 프로세싱 방법에 있어서,
포인트 클라우드에 관한 데이터에서 보조 비트들을 식별하는 과정;
상기 식별된 보조 비트들을 제외한 포인트 클라우드에 관한 데이터를 복수의 평면들에 프로젝션(projection)하는 과정;
상기 복수의 평면들에 대응하는 복수의 프로젝션 이미지들에서 미스드 포인트(missed point)들을 식별하는 과정;
상기 복수의 프로젝션 이미지들을 팩킹(packing)하여 팩킹된 이미지를 생성하는 과정;
상기 보조 비트들 중 상기 식별된 미스트 포인트들에 대응하는 제1 보조 비트들을 제외한 제2 보조 비트들, 상기 제1 보조 비트들에 관한 정보, 및 상기 팩킹된 이미지를 인코딩하여 생성된 신호를 전송하는 과정;
을 포함하는 포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제1항에 있어서,
상기 보조 비트들 각각의 크기는 상기 포인트 클라우드에 관한 데이터의 크기와 상기 신호를 생성하는데 사용된 코덱(codec)이 인코딩을 지원하는 데이터의 크기의 차이와 같은,
포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제1항에 있어서,
상기 미스드 포인트들을 식별하는 과정은,
상기 포인트 클라우드에 포함된 복수의 포인트들 중 가장 인접한 포인트와의 거리가 임계 값 이상인 포인트를 미스드 포인트로 식별하는,
포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제1항에 있어서,
상기 식별된 미스드 포인트들에 대하여 플래그를 설정하는 과정을 더 포함하는 포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제1 항에 있어서,
상기 제1 보조 비트들에 관한 정보는,
상기 복수의 프로젝션 이미지들에 포함된 패치들 각각의 중점의 보조 비트를 포함하고,
상기 패치들 각각의 중점의 좌표 및 상기 패치들 각각의 중점의 좌표와 미스드 포인트 간의 거리 중 적어도 하나를 포함하는,
포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제1항에 있어서,
상기 제1 보조 비트들에 관한 정보는,
상기 복수의 프로젝션 이미지들에 포함된 패치들 중 미스드 포인트와 가장 인접한 패치의 중점의 보조 비트를 포함하고,
상기 미스드 포인트의 보조 비트와 상기 패치의 중점의 보조 비트의 차이 값을 포함하는,
포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제1항에 있어서,
상기 미스드 포인트들을 복수의 그룹들로 그룹핑(grouping)하는 과정을 더 포함하며,
상기 제1 보조 비트들에 관한 정보는, 상기 복수의 그룹들 각각의 그룹 식별자 및 상기 복수의 그룹들 각각의 대표 보조 비트를 포함하는,
포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제7항에 있어서,
상기 미스드 포인트들을 그룹핑하는 과정은,
상기 제1 보조 비트들 간의 유사도 및 상기 미스드 포인트들 간의 거리 중 적어도 하나를 기반으로 하는,
포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제1항에 있어서,
상기 미스드 포인트들을 복수의 그룹들로 그룹핑(grouping)하는 과정; 및
상기 복수의 그룹들에 포함된 제1 그룹의 대표 보조 비트와 상기 복수의 그룹들에 포함된 제2 그룹의 대표 보조 비트의 차이 값을 계산하는 과정; 을 더 포함하며,
상기 제1 보조 비트들에 관한 정보는, 상기 복수의 그룹들 각각의 그룹 식별자, 상기 제1 그룹의 대표 보조 비트 및 상기 계산된 차이 값을 포함하는,
포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제9항에 있어서,
상기 제1 그룹은 상기 복수의 그룹들 중 대표 보조 비트가 가장 큰 그룹인, 포인트 클라우드에 관한 데이터의 프로세싱 방법. - 포인트 클라우드에 관한 데이터의 프로세싱 방법에 있어서,
미스트 포인트들에 대응하는 제1 보조 비트들을 제외한 제2 보조 비트들, 상기 제1 보조 비트들에 관한 정보, 및 팩킹된 이미지를 포함하는 신호를 수신하여 디코딩하는 과정;
상기 팩킹된 이미지를 팩킹 해제하여 복수의 프로젝션 이미지들을 식별하는 과정;
상기 복수의 프로젝션 이미지들에서 상기 미스드 포인트들을 식별하는 과정;
상기 제1 보조 비트들에 관한 정보를 기반으로 상기 미스드 포인트들의 상기 제1 보조 비트들을 추정하는 과정;
상기 복수의 프로젝션 이미지들을 역 프로젝션한 데이터, 상기 추정된 제1 보조 비트들 및 상기 제2 보조 비트들을 기반으로 포인트 클라우드를 복원하는 과정;
을 포함하는 포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제11항에 있어서,
상기 보조 비트들 각각의 크기는 상기 포인트 클라우드에 관한 데이터의 크기와 상기 신호를 생성하는데 사용된 코덱(codec)이 인코딩을 지원하는 데이터의 크기의 차이와 같은,
포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제11항에 있어서,
상기 미스드 포인트들을 식별하는 과정은,
디코딩된 신호에 포함된 플래그를 확인하여 식별하는,
포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제11 항에 있어서,
상기 제1 보조 비트들을 추정하는 과정은,
상기 제1 보조 비트들에 관한 정보가 포함하는 상기 복수의 프로젝션 이미지들에 포함된 패치들 각각의 중점의 좌표와 미스드 포인트 간의 거리를 식별하는 과정; 또는 상기 제1 보조 비트들에 관한 정보가 포함하는 상기 패치들 각각의 중점의 좌표를 기반으로 상기 패치들 각각의 중점의 좌표와 상기 미스드 포인트 간의 거리를 계산하는 과정;을 포함하고,
상기 패치들 각각의 중점의 좌표와 상기 미스드 포인트 간의 거리 및 상기 제1 보조 비트들에 관한 정보에 포함된 상기 패치들의 각각의 중점의 보조 비트를 기반으로 상기 미스드 포인트의 보조 비트를 추정하는 과정;을 포함하는,
포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제14 항에 있어서,
상기 제1 보조 비트들을 추정하는 과정은,
상기 패치들 각각의 중점의 좌표와 상기 미스드 포인트 간의 거리에 반비례하는 웨이트(weight)를 계산한 값과 상기 패치들의 각각의 중점의 보조 비트를 기반으로 가중 평균을 계산하여 상기 미스드 포인트의 상기 보조 비트를 추정하는 과정을 포함하는,
포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제11항에 있어서,
상기 제1 보조 비트들을 추정하는 과정은,
상기 복수의 프로젝션 이미지들에 포함된 패치들 중, 미스드 포인트와 인접한 패치를 식별하는 과정;
상기 제1 보조 비트들에 관한 정보에 포함된 상기 패치의 중점의 보조 비트와 상기 패치의 중점의 보조 비트와 상기 미스드 포인트의 보조 비트의 차이 값을 기반으로 상기 미스드 포인트의 보조 비트를 추정하는 과정; 을 포함하는,
포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제11항에 있어서,
상기 제1 보조 비트들을 추정하는 과정은,
상기 제1 보조 비트들에 관한 정보가 포함하는, 미스드 포인트가 포함된 그룹의 그룹 식별자 및 상기 미스드 포인트 그룹의 대표 보조 비트를 기반으로 상기 미스드 포인트의 보조 비트를 추정하는 과정을 포함하는,
포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제11항에 있어서,
상기 제1 보조 비트들을 추정하는 과정은,
상기 제1 보조 비트들에 관한 정보가 포함하는 상기 미스드 포인트들을 그룹핑한 복수의 그룹들의 그룹 식별자들 중, 제1 그룹 및 미스드 포인트가 포함된 제2 그룹을 식별하는 과정;
상기 제1 보조 비트들에 관한 정보가 포함하는 상기 제1 그룹의 대표 보조 비트와, 상기 제1 그룹의 대표 보조 비트와 상기 제2 그룹의 대표 보조 비트의 차이 값을 기반으로 상기 미스드 포인트의 보조 비트를 추정하는 과정; 을 포함하는,
포인트 클라우드에 관한 데이터의 프로세싱 방법. - 제18항에 있어서,
상기 제1 그룹은 상기 복수의 그룹들 중 대표 보조 비트가 가장 큰 그룹인, 포인트 클라우드에 관한 데이터의 프로세싱 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180044639A KR102537946B1 (ko) | 2018-04-17 | 2018-04-17 | 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치 |
PCT/KR2019/004546 WO2019203523A1 (ko) | 2018-04-17 | 2019-04-16 | 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180044639A KR102537946B1 (ko) | 2018-04-17 | 2018-04-17 | 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190121106A true KR20190121106A (ko) | 2019-10-25 |
KR102537946B1 KR102537946B1 (ko) | 2023-05-31 |
Family
ID=68239813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180044639A KR102537946B1 (ko) | 2018-04-17 | 2018-04-17 | 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102537946B1 (ko) |
WO (1) | WO2019203523A1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112672168A (zh) * | 2020-12-14 | 2021-04-16 | 深圳大学 | 基于图卷积的点云压缩方法及装置 |
WO2021206365A1 (ko) * | 2020-04-11 | 2021-10-14 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
US11430185B2 (en) | 2018-04-20 | 2022-08-30 | Samsung Electronics Co., Ltd. | Method and apparatus for processing three-dimensional data |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016163342A (ja) * | 2015-03-03 | 2016-09-05 | 芳隆 大吉 | 三次元形状情報の配信または放送の方法 |
JP2018005819A (ja) * | 2016-07-08 | 2018-01-11 | 株式会社パスコ | 3次元モデル生成装置、3次元モデル生成方法及びプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2373707A1 (en) * | 2001-02-28 | 2002-08-28 | Paul Besl | Method and system for processing, compressing, streaming and interactive rendering of 3d color image data |
US8290305B2 (en) * | 2009-02-13 | 2012-10-16 | Harris Corporation | Registration of 3D point cloud data to 2D electro-optical image data |
WO2015172227A1 (en) * | 2014-05-13 | 2015-11-19 | Pcp Vr Inc. | Method, system and apparatus for generation and playback of virtual reality multimedia |
KR102238693B1 (ko) * | 2014-06-20 | 2021-04-09 | 삼성전자주식회사 | 포인트 클라우드에서 특징 영역을 추출하는 방법 및 장치 |
JP2019534606A (ja) * | 2016-09-19 | 2019-11-28 | インターデジタル ヴイシー ホールディングス, インコーポレイテッド | ライトフィールドデータを使用して場面を表す点群を再構築するための方法および装置 |
-
2018
- 2018-04-17 KR KR1020180044639A patent/KR102537946B1/ko active IP Right Grant
-
2019
- 2019-04-16 WO PCT/KR2019/004546 patent/WO2019203523A1/ko active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016163342A (ja) * | 2015-03-03 | 2016-09-05 | 芳隆 大吉 | 三次元形状情報の配信または放送の方法 |
JP2018005819A (ja) * | 2016-07-08 | 2018-01-11 | 株式会社パスコ | 3次元モデル生成装置、3次元モデル生成方法及びプログラム |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11430185B2 (en) | 2018-04-20 | 2022-08-30 | Samsung Electronics Co., Ltd. | Method and apparatus for processing three-dimensional data |
WO2021206365A1 (ko) * | 2020-04-11 | 2021-10-14 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
CN115380528A (zh) * | 2020-04-11 | 2022-11-22 | Lg电子株式会社 | 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 |
CN115380528B (zh) * | 2020-04-11 | 2024-03-29 | Lg电子株式会社 | 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 |
US12021910B2 (en) | 2020-04-11 | 2024-06-25 | Lg Electronics Inc. | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
CN112672168A (zh) * | 2020-12-14 | 2021-04-16 | 深圳大学 | 基于图卷积的点云压缩方法及装置 |
CN112672168B (zh) * | 2020-12-14 | 2022-10-18 | 深圳大学 | 基于图卷积的点云压缩方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
KR102537946B1 (ko) | 2023-05-31 |
WO2019203523A1 (ko) | 2019-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12100183B2 (en) | Point cloud attribute transfer algorithm | |
KR102519653B1 (ko) | 포인트 클라우드 압축 방법 및 장치 | |
US20200244843A1 (en) | Information processing apparatus and information processing method | |
JP7307260B2 (ja) | ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法。 | |
KR20190121106A (ko) | 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치 | |
JP2021518689A (ja) | 点群の幾何学的形状をコーディングする方法およびデバイス | |
JP7448660B2 (ja) | ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法 | |
US11908169B2 (en) | Dense mesh compression | |
KR20210020028A (ko) | 3차원 영상을 부호화 하는 방법 및 장치, 및 3차원 영상을 복호화 하는 방법 및 장치 | |
US20230290006A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
JP7440546B2 (ja) | ポイントクラウドデータ処理装置及び方法 | |
JP2024515174A (ja) | ポイントクラウドデータ送信方法、ポイントクラウドデータ送信装置、ポイントクラウドデータ受信方法及びポイントクラウドデータ受信装置 | |
JP2022519462A (ja) | ホモグラフィ変換を使用した点群符号化 | |
US20240196012A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
JP2024515203A (ja) | ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法 | |
JP2023507879A (ja) | ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法 | |
CN105122808B (zh) | 三维或多视图视频编码或解码的方法及装置 | |
EP4325851A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
KR20190122479A (ko) | 3차원 데이터를 프로세싱하기 위한 방법 및 장치 | |
KR20240117101A (ko) | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 | |
US20230328270A1 (en) | Point cloud data transmission device, point cloud data transmission method, point coud data reception device, and point cloud data reception method | |
US20230370637A1 (en) | Image processing device and method | |
JP2024540056A (ja) | ポイントクラウドデータ送信方法、ポイントクラウドデータ送信装置、ポイントクラウドデータ受信方法及びポイントクラウドデータ受信装置 | |
KR20240095202A (ko) | 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치. | |
WO2023059727A1 (en) | Method and apparatus for point cloud compression using hybrid deep entropy coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
GRNT | Written decision to grant |