KR20200084698A - 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치 - Google Patents
3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치 Download PDFInfo
- Publication number
- KR20200084698A KR20200084698A KR1020190000865A KR20190000865A KR20200084698A KR 20200084698 A KR20200084698 A KR 20200084698A KR 1020190000865 A KR1020190000865 A KR 1020190000865A KR 20190000865 A KR20190000865 A KR 20190000865A KR 20200084698 A KR20200084698 A KR 20200084698A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- reconstruction
- points
- information
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- G06T3/0031—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/06—Topological mapping of higher dimensional structures onto lower dimensional surfaces
-
- G06T5/002—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20224—Image subtraction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2211/00—Image generation
- G06T2211/40—Computed tomography
- G06T2211/416—Exact reconstruction
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
3차원 데이터를 압축하고 복원하는 과정에서 발생하는 노이즈를 효과적으로 제거할 수 있는 3차원 데이터 처리 방법이 제공된다.
일 실시 예에 따른 3차원 데이터 압축 방법은, 3차원 원본 데이터에 포함되는 포인트들을 2D 평면 상에 프로젝션함으로써, 상기 포인트들의 위치 정보를 나타내는 지오메트리 영상을 생성하는 단계, 상기 지오메트리 영상을 압축하는 단계, 상기 압축된 지오메트리 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성하는 단계, 상기 3차원 원본 데이터에 기초하여, 상기 3차원 재구성 데이터를 보정하는 단계, 상기 보정된 3차원 재구성 데이터 및 상기 3차원 원본 데이터에 포함되는 포인트들의 색상 정보에 기초하여, 텍스쳐 영상을 생성하고 압축하는 단계; 및 상기 압축된 지오메트리 영상, 상기 압축된 텍스쳐 영상 및 상기 3차원 재구성 데이터의 보정과 관련된 보정 정보를 출력하는 단계를 포함할 수 있다.
일 실시 예에 따른 3차원 데이터 압축 방법은, 3차원 원본 데이터에 포함되는 포인트들을 2D 평면 상에 프로젝션함으로써, 상기 포인트들의 위치 정보를 나타내는 지오메트리 영상을 생성하는 단계, 상기 지오메트리 영상을 압축하는 단계, 상기 압축된 지오메트리 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성하는 단계, 상기 3차원 원본 데이터에 기초하여, 상기 3차원 재구성 데이터를 보정하는 단계, 상기 보정된 3차원 재구성 데이터 및 상기 3차원 원본 데이터에 포함되는 포인트들의 색상 정보에 기초하여, 텍스쳐 영상을 생성하고 압축하는 단계; 및 상기 압축된 지오메트리 영상, 상기 압축된 텍스쳐 영상 및 상기 3차원 재구성 데이터의 보정과 관련된 보정 정보를 출력하는 단계를 포함할 수 있다.
Description
본 개시는 3차원 데이터를 프로세싱하기 위한 방법 및 장치에 관한 것이다.
포인트 클라우드(point cloud)는 방대한 양의 포인트의 집합을 의미하며, 대용량의 3차원 데이터는 포인트 클라우드로 표현될 수 있다. 포인트 클라우드는 3차원 상의 한 포인트를 표현하는 방법이고, 위치 좌표와 색상을 동시에 포함할 수 있는 벡터 형태이다. 예를 들어, 포인트 클라우드는 (x, y, z, R, G, B)와 같이 표현될 수 있다. 무수히 많은 색상과 위치 데이터들이 모여서 공간적인 구성을 이루는 포인트 클라우드는 밀도가 높아지면 높아질 수록 점점 더 구체적인 데이터가 되면서 하나의 3D 모델로서의 의미를 가지게 된다.
3차원 데이터를 표현하는 포인트 클라우드는 상당량의 메모리 및 프로세서 리소스를 차지하기 때문에, 포인트 클라우드를 전송하기 위해서는 포인트 클라우드를 압축하는 방법이 요구된다. 따라서 3차원 데이터를 압축하고 복원하는 과정에서 노이즈가 발생할 수 있다.
3차원 데이터를 압축하고 복원하는 과정에서 발생하는 노이즈를 효과적으로 제거할 수 있는 3차원 데이터 처리 방법이 요구된다.
본 개시의 일 실시예의 일 측면에 따르면, 3차원 데이터를 압축하는 방법은, 3차원 원본 데이터에 포함되는 포인트들을 2D 평면 상에 프로젝션함으로써, 상기 포인트들의 위치 정보를 나타내는 지오메트리 영상을 생성하는 단계; 상기 지오메트리 영상을 압축하는 단계; 상기 압축된 지오메트리 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성하는 단계; 상기 3차원 원본 데이터에 기초하여, 상기 3차원 재구성 데이터를 보정하는 단계; 상기 보정된 3차원 재구성 데이터 및 상기 3차원 원본 데이터에 포함되는 포인트들의 색상 정보에 기초하여, 텍스쳐 영상을 생성하고 압축하는 단계; 및 상기 압축된 지오메트리 영상, 상기 압축된 텍스쳐 영상 및 상기 3차원 재구성 데이터의 보정과 관련된 보정 정보를 출력하는 단계를 포함할 수 있다.
본 개시의 일 실시예의 일 측면에 따르면, 3차원 데이터를 재구성하는 방법은, 수신된 비트스트림으로부터 지오메트리 영상, 텍스쳐 영상 및 보정 정보를 획득하는 단계; 상기 지오메트리 영상을 재구성함으로써 3차원 재구성 데이터를 생성하는 단계; 상기 보정 정보에 기초하여, 상기 3차원 재구성 데이터를 보정하는 단계; 및 상기 보정된 3차원 재구성 데이터 및 상기 텍스쳐 영상에 기초하여 3차원 데이터를 생성하고 출력하는 단계를 포함하고, 상기 보정 정보는 상기 지오메트리 영상을 생성하기 위해 이용된 원본 데이터에 대한 정보를 포함할 수 있다.
본 개시의 일 실시예의 일 측면에 따르면, 3차원 데이터를 압축하는 장치는, 3차원 원본 데이터에 포함되는 포인트들을 2D 평면 상에 프로젝션함으로써, 상기 포인트들의 위치 정보를 나타내는 지오메트리 영상을 생성하고, 상기 지오메트리 영상을 압축하고, 상기 압축된 지오메트리 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성하고, 상기 3차원 원본 데이터에 기초하여, 상기 3차원 재구성 데이터를 보정하고, 상기 보정된 3차원 재구성 데이터 및 상기 3차원 원본 데이터에 포함되는 포인트들의 색상 정보에 기초하여, 텍스쳐 영상을 생성하고 압축하는, 적어도 하나의 프로세서; 및 상기 압축된 지오메트리 영상, 상기 압축된 텍스쳐 영상 및 상기 3차원 재구성 데이터의 보정과 관련된 보정 정보를 출력하는, 출력부를 포함할 수 있다.
본 개시의 일 실시예의 일 측면에 따르면, 3차원 데이터를 재구성하는 장치는, 비트스트림을 수신하는, 수신부; 및 상기 비트스트림으로부터 지오메트리 영상, 텍스쳐 영상 및 보정 정보를 획득하고, 상기 지오메트리 영상을 재구성함으로써 3차원 재구성 데이터를 생성하고, 상기 보정 정보에 기초하여 상기 3차원 재구성 데이터를 보정하고, 상기 보정된 3차원 재구성 데이터 및 상기 텍스쳐 영상에 기초하여 3차원 데이터를 생성하고 출력하는, 적어도 하나의 프로세서를 포함하고, 상기 보정 정보는 상기 지오메트리 영상을 생성하기 위해 이용된 원본 데이터에 대한 정보를 포함할 수 있다.
본 개시의 일 실시 예의 일 측면에 따르면, 상술한 방법을 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체를 포함하는 컴퓨터 프로그램 제품이 제공될 수 있다.
본 개시의 다양한 실시 예들에 따르면, 3차원 데이터를 압축하고 복원하는 과정에서 발생하는 노이즈가 효과적으로 제거될 수 있다.
도 1은 3차원 데이터를 압축하기 위하여 이용되는 인코더의 구조를 도시한다.
도 2 및 도 3은 3차원 데이터를 평면 상에 프로젝션(project)함으로써 생성되는 2차원 영상을 도시한다.
도 4는 본 개시의 일 실시 예에 따른 3차원 데이터 압축 장치의 블록도를 도시한다.
도 5는 본 개시의 일 실시 예에 따라 3차원 재구성 데이터를 보정하는 방법을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따라 3차원 재구성 데이터를 보정하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 3차원 데이터 압축 장치의 구체적인 블록도를 도시한다.
도 8은 본 개시의 일 실시 예에 따른 3차원 데이터 압축 방법의 흐름도를 도시한다.
도 9는 본 개시의 일 실시 예에 따라 3차원 재구성 데이터를 보정하는 방법의 흐름도를 도시한다.
도 10은 본 개시의 일 실시 예에 따른 3차원 데이터 재구성 장치의 블록도를 도시한다.
도 11은 본 개시의 일 실시 예에 따라 3차원 데이터를 재구성하는 방법의 흐름도를 도시한다.
도 2 및 도 3은 3차원 데이터를 평면 상에 프로젝션(project)함으로써 생성되는 2차원 영상을 도시한다.
도 4는 본 개시의 일 실시 예에 따른 3차원 데이터 압축 장치의 블록도를 도시한다.
도 5는 본 개시의 일 실시 예에 따라 3차원 재구성 데이터를 보정하는 방법을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따라 3차원 재구성 데이터를 보정하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 3차원 데이터 압축 장치의 구체적인 블록도를 도시한다.
도 8은 본 개시의 일 실시 예에 따른 3차원 데이터 압축 방법의 흐름도를 도시한다.
도 9는 본 개시의 일 실시 예에 따라 3차원 재구성 데이터를 보정하는 방법의 흐름도를 도시한다.
도 10은 본 개시의 일 실시 예에 따른 3차원 데이터 재구성 장치의 블록도를 도시한다.
도 11은 본 개시의 일 실시 예에 따라 3차원 데이터를 재구성하는 방법의 흐름도를 도시한다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 또한, 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
본 명세서에서 “영상”이란, 정지 영상, 동영상, 비디오 프레임, 및/또는 비디오 스트림을 모두 포함할 수 있으며, 2D 프레임 및 3D 프레임을 모두 포함할 수 있다. 예를 들어, "영상"은 포인트 클라우드로 표현되는 3D 프레임을 포함할 수 있다.
본 명세서 전반에 걸쳐 사용되는 "영상"이라는 용어는 "영상"이라는 용어 자체뿐만 아니라, "픽쳐", "프레임", "필드" 또는 "슬라이스"등 관련 분야에서 알려질 수 있는 비디오 또는 이미지 정보의 다양한 형태들을 설명하기 위한 포괄적인 용어로서 사용된다. 예를 들어, "영상"은 비디오 스트림을 구성하는 복수의 픽쳐들 또는 복수의 프레임들 중 하나를 의미할 수도 있고, 복수의 픽쳐들 또는 복수의 프레임들을 포함하는 비디오 스트림 전체를 의미할 수도 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
2D 영상은 색상 값을 갖는 픽셀(pixel)들의 집합으로 표현될 수 있다. 3D 영상은 색상 값을 갖는 복셀(voxel)들의 집합으로 표현될 수 있다. 3차원 공간 내에서 색상 값을 갖는 각 포인트(또는, 복셀)들의 집합으로 표현되는 영상 데이터를 포인트 클라우드(point cloud)라고 한다. 포인트 클라우드는, 3차원 공간 상의 정보를 포함하기 때문에, 2D 영상에 비해 한 단계 더 높은 차원의 벡터로 구성되고, 더 많은 데이터 양을 갖는 특성이 있다. 따라서 포인트 클라우드를 빠르고 정확하고 효율적으로 사용자에게 제공하기 위해서 고효율의 압축 기술 연구가 활발히 진행되고 있다.
국제 표준 기구인 MPEG(Moving Picture Experts Group)의 MPEG-I Part 5 PCC(Point Cloud Compression) 그룹에서는 포인트 클라우드 압축에 관한 기술 표준화를 진행하고 있다. 포인트 클라우드 압축 기술은 데이터의 특성에 따라 다양한 카테고리로 분류될 수 있다. 다양한 압축 기술들 중에서, 포인트 클라우드를 2D 영상으로 변환하고, 변환된 2D 영상을 기존의 동영상 압축 기술(예를 들어, HEVC 등)을 이용해 압축하는 방식이 표준화 회의에 상정(introduce)되고 있다.
도 1은 3차원 데이터를 압축하기 위하여 이용되는 인코더의 구조를 도시한다.
현재 MPEG 표준에서 사용하고 있는 3차원 데이터의 압축 방식은, 3차원 데이터를 2차원 평면 상에 투사(Projection)하여 2차원 데이터로 만들고, 2차원 데이터를 2차원 영상 압축 장치를 이용하여 압축하는 방식을 포함한다. 디코더는, 압축된 2차원 데이터를 압축 해제(decompress)한 후, 인코더에서 수행된 3차원 데이터를 2차원 평면 상에 투사하는 과정을 반대로 수행하여, 3차원 데이터를 복원할 수 있다.
본 개시의 일 실시 예에 따른 3차원 데이터는, 3차원 공간 내의 포인트들에 대한 위치 정보, 색상 정보, 및 기타 속성 정보 중 적어도 하나를 포함하는 포인트 클라우드 영상을 포함할 수 있다.
도 1의 제1 장치(101)는 3차원 데이터를 위치 정보를 포함하는 기하(geometry) 정보와, 색상 등 기타 속성 정보로 분리할 수 있다. 예를 들어, 3차원 데이터가 포인트 클라우드 영상을 포함하는 경우, 제1 장치(101)는 포인트들의 위치 좌표를 나타내는 기하 정보와 색상을 나타내는 기타 속성 정보로 분리할 수 있다.
제2 장치(102)는, 기하 정보에 기초하여, 포인트들 간의 근접성 및 포인트들의 기하학적 특성 중 적어도 하나를 이용하여 포인트들을 그룹화 할 수 있다. 예를 들어, 포인트들의 기하학적 특성은, 포인트들이 동일 평면에 속하는지 여부 및/또는 각 포인트의 법선 벡터의 방향 등을 포함할 수 있다. 제2 장치(102)는, 3차원 데이터에 포함되는 포인트들을 복수의 세그먼트들로 그룹화 할 수 있다.
제3 장치(103)는, 세그먼트들을 2차원 평면 상에 투사(projection)할 수 있다. 각 세그먼트는, 해당 세그먼트에 포함되는 포인트의 기하 정보를 고려하여, 사전에 정의된 평면 상에 투사될 수 있다. 제3 장치(103)는, 복수의 세그먼트들 각각을 적어도 하나의 2차원 평면 상에 프로젝션함으로써 패치들을 생성할 수 있다.
제4 장치(104)는, 평면 상에 투사된 2차원 정보를 포함하는 패치들을 조합하여, 2차원 비디오 인코더가 처리할 수 있는 지오메트리(geometry) 영상을 생성할 수 있다. 제4 장치(104)는, 패치들을 패킹(Packing) 함으로써 지오메트리 영상을 생성할 수 있다.
예를 들어, 도 1의 인코더는, 포인트 클라우드를 평면 상에 프로젝션하기 위하여, 미리 결정된 표면 두께(surfaceThickness) 값을 사용할 수 있다. 인코더는, 표면으로부터 미리 결정된 표면 두께 값 내에 있는 깊이 값을 갖는 포인트들에 대해서만 프로젝션을 수행할 수 있다. 인코더는, 포인트 클라우드가 나타내는 오브젝트의 표면에 위치한 포인트를 프로젝션함으로써 D0 영상(위치 정보 영상)을 생성할 수 있다. 인코더는, 오브젝트의 표면에 위치한 포인트의 깊이 값을 나타내는 패치들을 모아서 D0 영상(위치 정보 영상)을 생성할 수 있다. 인코더는, 표면으로부터 미리 설정된 표면 두께 값 내에서 가장 큰 깊이 값을 갖는 포인트들을 프로젝션함으로써 D1 영상(두께 정보 영상)을 생성할 수 있다. 인코더는, 해당 포인트들의 깊이 값을 나타내는 패치들을 모아서 D1 영상(두께 정보 영상)을 생성할 수 있다. 인코더는, 오브젝트의 표면으로부터 미리 설정된 표면 두께 값 내에 존재하는 포인트(In-Between Point)의 깊이 값은 저장하지 않을 수 있다.
도 3은 포인트 클라우드에 포함되는 포인트들의 위치 정보를 나타내는 지오메트리 영상의 예시이다. 예를 들어, 지오메트리 영상은, 앞서 설명한 D0 영상 및 D1 영상을 포함할 수 있다. 도 3의 그림(301)은 위치 정보 영상(D0 영상)을 나타내고, 도 3의 그림(302)은 두께 정보 영상(D1 영상)을 나타낸다.
제5 장치(105)는 2차원 영상 정보를 압축할 수 있다. 제5 장치(105)는 제4 장치(104)에서 생성된 지오메트리 영상을 압축할 수 있다. 예를 들어, 제5 장치(105)는, HEVC 등을 포함하는 기존의 동영상 압축 기술을 이용하여 2차원 영상 정보를 압축할 수 있다.
제6 장치(106)는 압축된 2차원 지오메트리 영상을 압축 해제한 후, 제2 장치(102), 제3 장치(103) 및 제4 장치(104)에서 수행된 과정을 고려하여, 압축 해제된 지오메트리 영상을 다시 3차원 데이터로 재구성할 수 있다.
제6 장치(106)는, 압축된 2차원 영상을 3차원 데이터로 재구성하는 과정에서, 압축 및 복원 시 발생하는 잡음(Noise)를 제거하는 스무딩(Smoothing)을 수행할 수 있다. 데이터를 압축 및 복원 하는 과정에서 데이터에 잡음이 더해져서 실제 정보가 왜곡되는 경우가 발생할 수 있다. 따라서, 제6 장치(106)는, 재구성된 3차원 데이터에 포함되는 포인트의 주변 포인트들의 정보를 고려해서, 재구성된 3차원 기하 정보를 보정할 수 있다. 유클리디안 거리가 사전에 정의된 거리 값보다 작은 범위 내에 존재하는 3차원 포인트들의 위치 값들을 가중 평균함으로써 재구성된 3차원 기하 정보를 보정할 수 있다. 가중 평균에 사용되는 가중치는 사용자가 사전에 정의할 수 있다.
제7 장치(107)는, 재구성된 3차원 데이터와 기타 속성(예를 들어, 색상 정보) 데이터를 이용해, 기타 속성에 대해서 제2 장치(102), 제3 장치(103) 및 제4 장치(104)에서 수행되는 방법과 유사한 방법으로 패킹 영상을 생성할 수 있다. 예를 들어, 도 2에 도시된 텍스쳐 영상(201)과 같이, 제7 장치(107)는 포인트 클라우드에 포함되는 포인트들의 색상 정보를 나타내는 텍스쳐 영상을 생성할 수 있다. 제7 장치(107)에서 생성된 텍스쳐 영상은, 제5 장치(105)를 거쳐 압축된 정보로 표현될 수 있다.
제8 장치(108)는, 압축된 기하 정보와 압축된 기타 속성 정보를 출력할 수 있다. 예를 들어, 제8 장치(108)는, 압축된 기하 정보와 압축된 기타 속성 정보를 포함하는 비트스트림을 원거리에 송신할 수 있다.
한편, 제6 장치(106)가 압축 및 복원 시 발생하는 잡음을 제거함에 있어서, 재구성된 3차원 데이터에 포함되는 포인트들의 위치 값들의 평균을 이용하여 데이터를 보정하는 방법의 경우, 평균을 계산하는 데 사용된 주변 포인트들에도 잡음이 포함될 확률이 높아서 화질 열화가 발생할 수 있다. 따라서, 3차원 데이터를 압축하고 복원하는 과정에서 발생하는 노이즈를 보다 효과적으로 제거할 수 있는 방법이 요구된다.
이하에서는, 본 개시의 다양한 실시 예들에 따라서 노이즈를 보다 효과적으로 제거할 수 있는 방법 및 장치에 대해서 설명한다.
도 4는 본 개시의 일 실시 예에 따른 3차원 데이터 압축 장치의 블록도를 도시한다. 본 개시의 일 실시 예에 따른 3차원 데이터 압축 장치(400)는, 3차원 영상을 부호화하는 3차원 영상 부호화 장치일 수 있다.
도 4에 도시된 바와 같이, 일 실시예에 따른 3차원 데이터 압축 장치(400)는, 프로세서(410) 및 출력부(420)를 포함할 수 있다. 일 실시 예에 따른 3차원 데이터 압축 장치(400)의 프로세서(410)는, 3차원 데이터를 획득하고, 부호화할 수 있다. 3차원 데이터 압축 장치(400)의 프로세서(410)는, 3차원 데이터를 처리함으로써, 압축된 비트스트림을 생성할 수 있다. 3차원 데이터 압축 장치(400)의 출력부(420)는, 3차원 데이터에 대한 정보가 압축된 비트스트림을 출력할 수 있다. 예를 들어, 3차원 데이터 압축 장치(400)의 출력부(420)는, 네트워크를 통해 영상을 복호화하는 장치(또는, 3차원 데이터 재구성 장치)에게 비트스트림을 전송하거나, 비트스트림을 3차원 데이터 압축 장치(400)의 내부에 저장할 수 있다.
이하, 일 실시예에 따른 3차원 데이터 압축 장치(400)의 프로세서(410)가 3차원 데이터를 처리하는 방법에 대해 구체적으로 설명한다. 도 4에서는 3차원 데이터 압축 장치(400)가 하나의 프로세서(410)를 포함하는 것으로 도시되었으나, 본 개시는 도 4에 도시된 실시 예에 제한되지 않는다. 본 개시의 일 실시 예에 따른 3차원 데이터 압축 장치(400)는 복수의 프로세서들을 포함할 수 있으며, 이하에서 서술하는 동작들은 복수의 프로세서들에 의해 수행될 수 있다.
일 실시예에 따른 3차원 데이터 압축 장치(400)의 프로세서(410)는, 3차원 원본 데이터에 포함되는 포인트들을 2D 평면 상에 프로젝션함으로써, 포인트들의 위치 정보를 나타내는 지오메트리 영상을 생성할 수 있다.
프로세서(410)는, 3차원 원본 데이터에 포함되는 포인트들을 복수의 세그먼트들로 그룹화할 수 있다. 프로세서(410)는, 복수의 세그먼트들을 2차원 평면 상에 프로젝션함으로써 패치들을 생성할 수 있다. 프로세서(410)는, 패치들을 적어도 하나의 프레임 안에 패킹함으로써 지오메트리 영상을 생성할 수 있다. 프로세서(410)는, 유사성이 높은 패치들을 분류하고, 분류된 패치들을 모아서 패킹함으로써 지오메트리 영상을 생성할 수 있다. 지오메트리 영상은, 포인트 클라우드에 포함되는 포인트들의 위치 정보를 나타낼 수 있다.
일 실시예에 따른 프로세서(410)는, 지오메트리 영상을 압축할 수 있다. 프로세서(410)는 2D 영상 압축 코덱을 사용하여 지오메트리 영상을 압축할 수 있다.
일 실시예에 따른 프로세서(410)는, 압축된 지오메트리 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성할 수 있다. 프로세서(410)는, 압축된 지오메트리 영상을 생성하기 위해서 앞서 수행된 과정을 고려하여, 압축된 지오메트리 영상을 압축 해제 하고 재구성할 수 있다.
일 실시예에 따른 프로세서(410)는, 3차원 원본 데이터에 기초하여, 3차원 재구성 데이터를 보정할 수 있다.
프로세서(410)는, 3차원 원본 데이터와 3차원 재구성 데이터를 비교함으로써, 3차원 재구성 데이터의 노이즈를 제거하는 스무딩(smoothing)을 수행할 수 있다. 프로세서(410)는, 3차원 재구성 데이터에 포함되는 모든 포인트들에 대해서 스무딩을 수행하거나, 일부 포인트를 선택하고 선택된 포인트에 대해서 스무딩을 수행할 수 있다.
예를 들어, 프로세서(410)는, 스무딩을 수행하기 위해 소요되는 연산 시간을 줄이기 위하여, 모든 포인트들에 대해서 스무딩을 수행하지 않고, 사용자가 사전에 선정한 기준에 따라 포인트를 선택하거나 3차원 원본 데이터와 비교하여 오차가 큰 포인트를 선택할 수 있다.
프로세서(410)는, 3차원 원본 데이터에 포함되는 포인트들을 복수의 세그먼트들로 그룹화하고 패치들을 생성하고 지오메트리 영상을 생성하는 과정에서 잡음 제거가 필요한 부분을 선정할 수 있다.
예를 들어, 프로세서(410)는 복수의 세그먼트들을 생성하는 과정에서 포인트들의 기하 정보를 고려하여 이웃하는 포인트들과 차이가 큰 영역을 잡음 제거 우선 순위 영역으로서 결정할 수 있다. 또는 프로세서(410)는, 사용자가 지정한 영역, 패치의 외곽 영역, 패치 상에서 잡음에 대한 오염 가능성이 높은 영역, 패치와 패치 사이의 경계 영역 중 적어도 하나의 영역을 잡음 제거 우선 순위 영역으로서 결정할 수 있다. 또는, 프로세서(410)는, 3차원 원본 데이터의 분포 특성에 따라서 잡음 제거 우선 순위 영역을 결정할 수 있다.
일 실시 예에 따른 프로세서(410)는, 다음의 방법들에 따라 3차원 재구성 데이터를 보정할 수 있다.
일 예로서, 프로세서(410)는, 3차원 원본 데이터에 포함되는 이웃하는 포인트들이 압축 및 복원 과정에서 어떻게 변했는지를 추적 후, 이렇게 추적된 데이터를 이용하여 3차원 재구성 데이터를 보정할 수 있다. 예를 들어, 프로세서(410)는 추적된 포인트들에 대한 가중 평균을 계산하고, 계산된 값을 이용하여 3차원 재구성 데이터를 보정할 수 있다.
프로세서(410)는, 3차원 재구성 데이터의 스무딩에 이용되는 포인트들을 3차원 재구성 데이터에서 선정하는 대신에, 3차원 재구성 데이터의 스무딩에 이용되는 포인트들을 3차원 원본 데이터로부터 선정할 수 있다.
먼저, 프로세서(410)는, 3차원 재구성 데이터에 포함되는 재구성 포인트들 중에서 기준 재구성 포인트 Xr(i)를 선택하고, 3차원 원본 데이터에 포함되는 원본 포인트들 중에서 기준 재구성 포인트 Xr(i)에 대응하는 기준 원본 포인트 Xo(i)를 결정할 수 있다. 프로세서(410)는, 3차원 원본 데이터에 포함되는 포인트들을 복수의 세그먼트들로 그룹화하고, 패치들을 생성하고, 지오메트리 영상을 생성하는 과정에서 이용된 정보를 역으로 이용함으로써, 기준 재구성 포인트 Xr(i)에 대응하는 기준 원본 포인트 Xo(i)를 추적할 수 있다.
프로세서(410)는, 기준 원본 포인트 Xo(i)의 주변 원본 포인트들 N(Xo(i))을 3차원 원본 데이터로부터 결정할 수 있다.
프로세서(410)는, 스무딩에 이용되는 포인트들을 선정함에 있어서, 기준 원본 포인트 Xo(i)로부터 소정 거리 내에 위치한 포인트들, 기준 원본 포인트 Xo(i) 주변에 위치한 사용자가 정의한 소정 갯수(예를 들어, 100개)의 포인트들, 기준 원본 포인트 Xo(i)의 주변 포인트 밀도에 따라 결정되는 바운더리(boundary) 내에 포함되는 포인트들을 선정하거나, 조합된 조건을 만족하는 포인트들을 선정할 수 있다. 또한, 프로세서(410)는, 포인트들의 속성의 유사도를 검사하여 유사도가 높은 포인트들을 스무딩에 이용할 포인트로서 선정할 수 있다.
예를 들어, 도 5에 도시된 바와 같이, 프로세서(410)는, 3차원 원본 데이터에 포함되는 포인트들 중에서 기준 원본 포인트 Xo(i)(501)를 결정하고, 기준 원본 포인트 Xo(i)(501)로부터 사전에 정의된 거리 내의 포인트들을 주변 원본 포인트들 N(Xo(i))로서 결정할 수 있다.
프로세서(410)는, 주변 원본 포인트들 N(Xo(i))에 대응하는 주변 재구성 포인트들 N(Xo(i)r)을 추적할 수 있다. 프로세서(410)는, 주변 원본 포인트들 N(Xo(i))에 대해서, 주변 원본 포인트들 N(Xo(i))이 압축 후 복원된 포인트들을 주변 재구성 포인트들N(Xo(i)r)로서 추적할 수 있다.
프로세서(410)는, 추적된 주변 재구성 포인트들 N(Xo(i)r)과 기준 재구성 포인트 Xr(i)에 기초하여, 기준 재구성 포인트 Xr(i)를 업데이트 할 수 있다.
프로세서(410)는,
추적된 주변 재구성 포인트들 N(Xo(i)r)의 속성과 기준 재구성 포인트 Xr(i)의 속성을 비교하여 차이가 임계값 이상을 벗어나는 경우, 기준 재구성 포인트 Xr(i)의 업데이트 값을 계산할 때, 추적된 주변 재구성 포인트들 N(Xo(i)r)을 사용하지 않을 수도 있다. 포인트의 속성이란, 포인트에 대응되는 색상, 포인트의 법선 벡터의 방향, 포인트가 위치한 평면, 포인트가 포함되는 세그먼트 등을 포함할 수 있다. 또는, 추적된 주변 재구성 포인트들 N(Xo(i)r)과 기준 재구성 포인트 Xr(i)의 주변 포인트 N(Xr(i)의 속성 유사도 및/또는 거리 유사도를 비교해서, 차이가 임계값 이상을 벗어나는 경우, 추적된 주변 재구성 포인트들 N(Xo(i)r)을 잡음 제거(Smoothing) 과정에서 배제할 수도 있다. 예를 들어, 속성 유사도는, 색상 공간에서의 유사도를 포함할 수 있다.
예를 들어, 프로세서(410)는, 추적된 주변 재구성 포인트들 N(Xo(i)r)과 기준 재구성 포인트 Xr(i)의 거리에 기초하여, 기준 재구성 포인트 Xr(i)를 업데이트 할 지 여부를 판단할 수 있다. 프로세서(410)는, 추적된 주변 재구성 포인트들 N(Xo(i)r)과 기준 재구성 포인트 Xr(i)의 거리 차이가 임계값보다 작을 경우, 기준 재구성 포인트 Xr(i)를 업데이트 할 수 있다. 프로세서(410)는, 추적된 주변 재구성 포인트들 N(Xo(i)r)과 기준 재구성 포인트 Xr(i)의 거리 차이가 임계값 이상일 경우, 기준 재구성 포인트 Xr(i)를 업데이트 하지 않을 수 있다.
프로세서(410)는, 추적된 주변 재구성 포인트들 N(Xo(i)r)과 기준 재구성 포인트 Xr(i)의 색상 차이 또는 거리 차이에 반비례하는 가중치를 이용한 가중 평균 방법을 이용하여, 기준 재구성 포인트 Xr(i)를 업데이트 할 수 있다. 따라서, 추적된 주변 재구성 포인트들 N(Xo(i)r)의 속성과 기준 재구성 포인트 Xr(i)의 속성이 3차원 재구성 데이터의 업데이트에 반영될수 있다. 프로세서(410)는, 가중치를 계산함에 있어서, 색상 공간 상의 채널별 유사도를 고려하고, 유사도가 높을 경우 가중치를 높게 할 수 있다. 프로세서(410)는, 색상 공간 상의 색상 유사도와 기하 공간 상의 거리 유사도를 동시에 고려하여, 가중치를 계산할 수도 있다.
다른 예로서, 프로세서(410)는, 3차원 원본 데이터에 포함되는 포인트들의 기하 정보와 3차원 재구성 데이터에 포함되는 포인트들의 기하 정보를 정량적으로 비교하여(예를 들어, 포인트들 간의 거리를 비교하여), 오차가 임계 값 이상인 영역에 대해서는 곡선 또는 곡면 상에 포인트들이 존재하도록 피팅(fitting)을 수행할 수 있다. 피팅에 필요한 정보(예를 들어, 피팅된 포인트의 개수, 피팅이 수행된 위치, 곡선 또는 곡면 피팅에 필요한 계수)는 메타 데이터의 형태로 디코더에 전달될 수 있다.
구체적으로, 프로세서(410)는, 3차원 원본 데이터와 3차원 재구성 데이터를 비교함으로써, 3차원 원본 데이터에는 포함되지만 3차원 재구성 데이터에는 포함되지 않는 포인트들을 검출할 수 있다. 프로세서(410)는, 3차원 원본 데이터로부터 검출된 포인트들에 기초하여, 곡선 또는 곡면을 결정하고, 결정된 곡선 또는 곡면에 기초하여 3차원 재구성 데이터를 보정할 수 있다.
예를 들어, 도 6에 도시된 바와 같이, 프로세서(410)는, 3차원 원본 데이터(601)와 3차원 재구성 데이터(603)를 비교함으로써, 3차원 원본 데이터에는 포함되지만 3차원 재구성 데이터에는 포함되지 않는 포인트들(605)을 검출할 수 있다. 포인트들(605)에 대해서 곡선 또는 곡면을 피팅함으로써, 3차원 재구성 데이터를 보정하기 위한 곡선 또는 곡면을 결정할 수 있다.
결정된 곡선 또는 곡면에 대한 정보는, 출력부(420)를 통해 보정 정보로서 출력될 수 있다. 예를 들어, 결정된 곡선 또는 곡면에 대한 정보는, 결정된 곡선 또는 곡면을 나타내는 방정식의 계수, 검출된 포인트들의 개수, 및 결정된 곡선 또는 곡면의 위치 중 적어도 하나에 대한 정보를 포함할 수 있다. 예를 들어, 곡선 또는 곡면은 의 이차방정식으로 표현될 수 있고, 이차방정식에 포함되는 계수들 a, b, c, d, e, f에 대한 정보가 디코더에게 전달될 수 있다.
상술한 방법에 따라 3차원 재구성 데이터를 보정한 후, 일 실시예에 따른 프로세서(410)는, 보정된 3차원 재구성 데이터 및 3차원 원본 데이터에 포함되는 포인트들의 색상 정보에 기초하여, 텍스쳐 영상을 생성하고 압축할 수 있다.
프로세서(410)는, 지오메트리 영상을 구성하는 패치들의 정보에 기초하여, 보정된 3차원 재구성 데이터에 포함되는 포인트들의 색상 정보를 2차원 평면 상에 프로젝션함으로써 복수의 패치들이 패킹된 텍스쳐 영상을 생성할 수 있다. 텍스쳐 영상은, 포인트 클라우드에 포함되는 포인트들의 색상 정보를 나타낼 수 있다.
일 실시예에 따른 프로세서(410)는, 텍스쳐 영상을 압축할 수 있다. 프로세서(410)는 2D 영상 압축 코덱을 사용하여 텍스쳐 영상을 압축할 수 있다.
프로세서(410)는, 지오메트리 영상들과 텍스트 영상들을 2D 영상 압축 기술을 이용하여 압축하고, 오큐팬시 맵(Occupancy Map) 및 보조 데이터(Auxiliary Data)를 더 압축할 수 있다. 오큐팬시 맵은, 포인트 클라우드와 관련된 데이터를 2D 영상으로 변경하였을 경우, 2D 영상의 픽셀 중에서 포인트 클라우드에 관한 정보를 가지고 있는 픽셀과 그렇지 않은 픽셀을 구분하기 위한 정보를 포함할 수 있다. 보조 데이터는, 패치 정보, 및 보정 정보를 포함할 수 있다.
일 실시 예에 따른 출력부(420)는, 압축된 지오메트리 영상, 압축된 텍스쳐 영상 및 3차원 재구성 데이터의 보정과 관련된 보정 정보를 출력할 수 있다. 출력부(420)는, 압축된 지오메트리 영상, 압축된 텍스쳐 영상, 압축된 오큐팬시 맵, 압축된 보조 데이터를 포함하는 비트스트림을 출력하는 멀티플렉서를 포함할 수 있다.
출력부(420)는, 보정 정보를 메타 데이터의 형태로 포함하고, 압축된 지오메트리 영상 및 압축된 텍스쳐 영상을 포함하는 비트스트림을 출력할 수 있다. 보정 정보는 3차원 데이터를 복원할 때 활용될 수 있다. 예를 들어, 일 실시 예에 따른 출력부(420)는, 3차원 재구성 데이터에 포함되는 포인트들의 좌표와 3차원 원본 데이터에 포함되는 포인트들의 좌표 간의 차이를 메타 데이터에 포함시켜 출력할 수 있다.
일 예로서, 보정 정보는, 3차원 재구성 데이터를 보정하기 위해 이용되는 3차원 원본 데이터에 포함되는 적어도 하나의 포인트에 대한 정보, 3차원 원본 데이터와 3차원 재구성 데이터의 대응 관계에 대한 정보, 3차원 재구성 데이터에 포함되는 잡음 제거 우선 순위 영역에 대한 정보, 및 3차원 재구성 데이터를 보정하기 위해 이용되는 곡선 또는 곡면에 대한 정보 중 적어도 하나를 포함할 수 있다. 예를 들어, 보정 정보는, 기준 재구성 포인트 Xr(i)에 대응하는 주변 원본 포인트들 N(Xo(i))에 대한 정보 및/또는 추적된 주변 재구성 포인트들 N(Xo(i)r)에 대한 정보를 포함할 수 있다.
다른 예로서, 보정 정보는, 프로세서(410)에서 3차원 원본 데이터와 3차원 재구성 데이터를 비교함으로써 결정된 곡선 또는 곡면에 대한 정보를 포함할 수 있다. 예를 들어, 결정된 곡선 또는 곡면에 대한 정보는, 결정된 곡선 또는 곡면을 나타내는 방정식의 계수, 검출된 포인트들의 개수, 및 결정된 곡선 또는 곡면의 위치 중 적어도 하나에 대한 정보를 포함할 수 있다.
도 7은 일 실시예에 따른 3차원 데이터 압축 장치(400)의 구체적인 블록도를 도시한다. 도 7에 도시된 바와 같이, 일 실시예에 따른 프로세서(410)는, 제1 장치(411), 제2 장치(412), 제3 장치(413), 제4 장치(414), 제5 장치(415), 제6 장치(416), 및 제7 장치(417)를 포함할 수 있다. 제1 장치(411), 제2 장치(412), 제3 장치(413), 제4 장치(414), 제5 장치(415), 제6 장치(416), 및 제7 장치(417)는, 하드웨어적인 구성일 수도 있고, 프로세서(410)에 의해 구현되는 기능 블록들일 수 있다. 따라서, 이하에서 서술하는 각 구성의 동작은 프로세서(410)가 수행하는 것일 수 있다.
도 7의 제1 장치(411), 제2 장치(412), 제3 장치(413), 제4 장치(414), 제5 장치(415) 및 제7 장치(417)와 관련하여서는, 도 1의 제1 장치(101), 제2 장치(102), 제3 장치(103), 제4 장치(104), 제5 장치(105) 및 제7 장치(107)에 대한 설명이 적용될 수 있다. 따라서, 중복되는 설명은 생략한다.
본 개시의 일 실시 예에 따른 3차원 데이터 압축 장치(400)에 있어서, 제6 장치(416)는, 제5 장치(415)에서 압축된 2차원 지오메트리 영상을 압축 해제한 후, 제2 장치(412), 제3 장치(413) 및 제4 장치(414)에서 수행된 과정을 고려하여, 압축 해제된 지오메트리 영상을 다시 3차원 데이터로 재구성할 수 있다.
제6 장치(416)는, 압축된 2차원 영상을 3차원 데이터로 재구성하는 과정에서, 압축 및 복원 시 발생하는 잡음을 제거하는 스무딩을 수행할 수 있다. 제6 장치(416)는, 3차원 원본 데이터와 3차원 재구성 데이터를 비교함으로써, 3차원 재구성 데이터의 노이즈를 제거하는 스무딩을 수행할 수 있다. 제6 장치(416)는, 3차원 재구성 데이터에 포함되는 모든 포인트들에 대해서 스무딩을 수행하거나, 일부 포인트를 선택하고 선택된 포인트에 대해서 스무딩을 수행할 수 있다.
제6 장치(416)는, 3차원 원본 데이터와 3차원 재구성 데이터 간의 차이가 적은 부분에 대해서는, 3차원 원본 데이터에 포함되는 이웃하는 포인트들이 압축 및 복원 과정에서 어떻게 변했는지를 추적 후, 추적된 데이터를 이용하여 3차원 재구성 데이터를 보정할 수 있다. 또는, 제6 장치(416)는, 3차원 원본 데이터와 3차원 재구성 데이터 간의 차이가 큰 부분에 대해서는, 3차원 원본 데이터에는 포인트들이 위치하지만 3차원 재구성 데이터 내에는 포인트들이 위치하지 않는 영역에 대해서, 곡선 또는 곡면 피팅을 수행할 수 있다.
일 실시 예에 따른 제6 장치(416)가, 3차원 원본 데이터에 기초하여 3차원 재구성 데이터를 보정하는 구체적인 방법에 대해서는, 도 4의 프로세서(410)에 관한 설명이 적용될 수 있다. 중복되는 설명은 생략한다.
제7 장치(107)는, 제6 장치(416)에서 보정된 3차원 재구성 데이터와 기타 속성(예를 들어, 색상 정보) 데이터를 이용해, 텍스쳐 영상을 생성할 수 있다. 제7 장치(107)는, 제2 장치(412), 제3 장치(413) 및 제4 장치(414)에서 수행되는 방법과 유사한 방법으로 텍스쳐 영상을 생성할 수 있다.
상술한 바와 같이, 본 개시의 일 실시 예에 따른 3차원 데이터 압축 장치(400)는, 압축된 영상 정보로부터, 3차원 정보를 복원하는 과정에서 복원 시 발생하는 잡음을 제거하고, 3차원 포인트들의 배치가 공간상 이웃하는 포인트들 간에 급격한 변화가 발생하지 않도록 하여 화질을 향상할 수 있다. 이하에서는, 도 8을 참조하여, 다양한 실시 예들에 따른 3차원 데이터 압축 장치(400)가 3차원 데이터를 압축하는 방법을 구체적으로 설명한다.
도 8은 본 개시의 일 실시 예에 따른 3차원 데이터 압축 방법의 흐름도를 도시한다. 이하에서 서술하는 방법의 각 단계는, 도 4 및 도 7에 도시된 3차원 데이터 압축 장치(400)의 각 구성들에 의해 수행될 수 있다. 3차원 데이터 압축 장치(400)와 관련하여 상술한 설명은 이하의 방법들의 각 단계에도 적용될 수 있다. 중복되는 설명은 생략한다.
단계 S810에서 일 실시예에 따른 3차원 데이터 압축 장치(400)는, 3차원 원본 데이터에 포함되는 포인트들을 2D 평면 상에 프로젝션함으로써, 포인트들의 위치 정보를 나타내는 지오메트리 영상을 생성할 수 있다.
3차원 데이터 압축 장치(400)는, 3차원 원본 데이터에 포함되는 포인트들을 복수의 세그먼트들로 그룹화할 수 있다. 3차원 데이터 압축 장치(400)는, 복수의 세그먼트들을 2차원 평면 상에 프로젝션함으로써 패치들을 생성할 수 있다. 3차원 데이터 압축 장치(400)는, 패치들을 패킹함으로써 지오메트리 영상을 생성할 수 있다.
단계 S820에서 일 실시예에 따른 3차원 데이터 압축 장치(400)는, 지오메트리 영상을 압축할 수 있다.
단계 S830에서 일 실시예에 따른 3차원 데이터 압축 장치(400)는, 압축된 지오메트리 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성할 수 있다.
단계 S840에서 일 실시예에 따른 3차원 데이터 압축 장치(400)는, 3차원 원본 데이터에 기초하여, 3차원 재구성 데이터를 보정할 수 있다.
3차원 데이터 압축 장치(400)는, 3차원 원본 데이터와 3차원 재구성 데이터를 비교함으로써, 3차원 재구성 데이터의 노이즈를 제거하는 스무딩을 수행할 수 있다.
일 예로서, 3차원 데이터 압축 장치(400)는, 3차원 재구성 데이터에 포함되는 재구성 포인트들 중에서 기준 재구성 포인트 Xr(i)를 선택할 수 있다. 3차원 데이터 압축 장치(400)는, 3차원 원본 데이터에 포함되는 원본 포인트들 중에서 기준 재구성 포인트 Xr(i)에 대응하는 기준 원본 포인트 Xo(i)를 결정할 수 있다. 3차원 데이터 압축 장치(400)는, 기준 원본 포인트 Xo(i)의 주변 원본 포인트들 N(Xo(i))을 결정할 수 있다. 3차원 데이터 압축 장치(400)는, 주변 원본 포인트들 N(Xo(i))에 대응하는 주변 재구성 포인트들 N(Xo(i)r)을 추적할 수 있다. 3차원 데이터 압축 장치(400)는, 추적된 주변 재구성 포인트들 N(Xo(i)r)과 기준 재구성 포인트 Xr(i)에 기초하여, 기준 재구성 포인트 Xr(i)를 업데이트 할 수 있다.
3차원 데이터 압축 장치(400)는, 추적된 주변 재구성 포인트들 N(Xo(i)r)과 기준 재구성 포인트 Xr(i)의 거리 차이가 임계값보다 작을 경우, 기준 재구성 포인트 Xr(i)를 업데이트 할 수 있다. 3차원 데이터 압축 장치(400)는, 추적된 주변 재구성 포인트들 N(Xo(i)r)과 기준 재구성 포인트 Xr(i)의 거리 차이가 임계값 이상일 경우, 기준 재구성 포인트 Xr(i)를 업데이트 하지 않을 수 있다.
3차원 데이터 압축 장치(400)는, 추적된 주변 재구성 포인트들 N(Xo(i)r)과 기준 재구성 포인트 Xr(i)의 색상 차이 또는 거리 차이에 반비례하는 가중치를 이용한 가중 평균 방법을 이용하여, 기준 재구성 포인트 Xr(i)를 업데이트 할 수 있다.
다른 예로서, 3차원 데이터 압축 장치(400)는, 3차원 원본 데이터와 3차원 재구성 데이터를 비교함으로써, 3차원 원본 데이터에는 포함되지만 3차원 재구성 데이터에는 포함되지 않는 포인트들을 검출할 수 있다. 3차원 데이터 압축 장치(400)는, 3차원 원본 데이터로부터 검출된 포인트들에 기초하여, 곡선 또는 곡면을 결정할 수 있다. 차원 데이터 압축 장치(400)는, 3차원 원본 데이터로부터 검출된 포인트들에 대해서 곡선 또는 곡면을 근사화할 수 있다.
3차원 데이터 압축 장치(400)는, 결정된 곡선 또는 곡면에 기초하여, 3차원 재구성 데이터를 보정할 수 있다. 결정된 곡선 또는 곡면에 대한 정보는 보정 정보에 포함되어 출력될 수 있다. 예를 들어, 결정된 곡선 또는 곡면에 대한 정보는, 결정된 곡선 또는 곡면을 나타내는 방정식의 계수, 검출된 포인트들의 개수, 및 결정된 곡선 또는 곡면의 위치 중 적어도 하나에 대한 정보를 포함할 수 있다.
단계 S850에서 일 실시예에 따른 3차원 데이터 압축 장치(400)는, 보정된 3차원 재구성 데이터 및 3차원 원본 데이터에 포함되는 포인트들의 색상 정보에 기초하여, 텍스쳐 영상을 생성하고 압축할 수 있다.
3차원 데이터 압축 장치(400)는, 지오메트리 영상을 구성하는 패치들의 정보에 기초하여, 보정된 3차원 재구성 데이터에 포함되는 포인트들의 색상 정보를 2차원 평면 상에 프로젝션함으로써 복수의 패치들이 패킹된 텍스쳐 영상을 생성할 수 있다.
단계 S860에서 일 실시예에 따른 3차원 데이터 압축 장치(400)는, 압축된 지오메트리 영상, 압축된 텍스쳐 영상 및 3차원 재구성 데이터의 보정과 관련된 보정 정보를 출력할 수 있다.
3차원 데이터 압축 장치(400)는, 보정 정보를 메타 데이터의 형태로 포함하고, 압축된 지오메트리 영상 및 압축된 텍스쳐 영상을 포함하는 비트스트림을 출력할 수 있다.
예를 들어, 보정 정보는, 3차원 재구성 데이터를 보정하기 위해 이용되는 3차원 원본 데이터에 포함되는 적어도 하나의 포인트에 대한 정보, 3차원 원본 데이터와 3차원 재구성 데이터의 대응 관계에 대한 정보, 3차원 재구성 데이터에 포함되는 잡음 제거 우선 순위 영역에 대한 정보, 및 3차원 재구성 데이터를 보정하기 위해 이용되는 곡선 또는 곡면에 대한 정보 중 적어도 하나를 포함할 수 있다. 예를 들어, 보정 정보는, 결정된 곡선 또는 곡면에 대한 정보를 포함할 수 있다. 결정된 곡선 또는 곡면에 대한 정보는, 결정된 곡선 또는 곡면을 나타내는 방정식의 계수, 검출된 포인트들의 개수, 및 결정된 곡선 또는 곡면의 위치 중 적어도 하나에 대한 정보를 포함할 수 있다.
한편, 본 개시의 일 실시 예에 따른 3차원 데이터 압축 장치(400)는, 3차원 원본 데이터와 3차원 재구성 데이터 간의 차이에 기초하여, 3차원 재구성 데이터를 보정할 수 있다. 도 9는 본 개시의 일 실시 예에 따라 3차원 재구성 데이터를 보정하는 방법의 흐름도를 도시한다. 이하에서 서술하는 방법의 각 단계는, 도 4 및 도 7에 도시된 3차원 데이터 압축 장치(400)의 각 구성들에 의해 수행될 수 있다. 3차원 데이터 압축 장치(400)와 관련하여 상술한 설명은 이하의 방법들의 각 단계에도 적용될 수 있다. 중복되는 설명은 생략한다.
또한, 도 9의 단계 S910은 도 8의 단계 S820에 대응되고, 도 9의 단계 S920은 도 8의 단계 S830에 대응되고, 도 9의 단계 S930, S941, S943은 도 8의 단계 S840에 대응되고, 도 9의 단계 S950은 도 8의 단계 S850에 대응될 수 있다. 도 9의 각 단계와 관련하여, 도 8의 대응되는 단계에 대한 설명이 적용될 수 있다.
도 9의 단계 S910에서 일 실시 예에 따른 3차원 데이터 압축 장치(400)는, 지오메트리 영상을 압축할 수 있다.
도 9의 단계 S920에서 일 실시 예에 따른 3차원 데이터 압축 장치(400)는, 압축된 지오메트리 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성할 수 있다.
도 9의 단계 S930에서 일 실시 예에 따른 3차원 데이터 압축 장치(400)는, 3차원 재구성 데이터와 3차원 원본 데이터의 차이가 임계 값 이상인지 여부를 판단할 수 있다.
3차원 재구성 데이터와 3차원 원본 데이터의 차이가 임계 값 이상인 경우, 도 9의 단계 S941에서 일 실시 예에 따른 3차원 데이터 압축 장치(400)는, 곡선 또는 곡면 피팅을 수행할 수 있다. 피팅이란, 3차원 원본 데이터에는 포함되지만 3차원 재구성 데이터에는 포함되지 않는 포인트들을 검출하고, 검출된 포인트들에 일치하는(또는, 근사한(similar)) 곡선 또는 곡면을 결정하는 것을 의미할 수 있다.
3차원 재구성 데이터와 3차원 원본 데이터의 차이가 임계 값 미만인 경우, 도 9의 단계 S943에서 일 실시 예에 따른 3차원 데이터 압축 장치(400)는, 3차원 원본 데이터에 기초하여 3차원 재구성 데이터를 보정할 수 있다. 3차원 데이터 압축 장치(400)는, 3차원 원본 데이터에 포함되는 이웃하는 포인트들이 압축 및 복원 과정에서 어떻게 변했는지를 추적하고, 추적된 데이터를 이용하여 3차원 재구성 데이터를 보정할 수 있다.
도 9의 단계 S950에서 일 실시 예에 따른 3차원 데이터 압축 장치(400)는, 보정된 3차원 재구성 데이터에 기초하여 텍스쳐 영상을 생성하고 압축할 수 있다.
도 10은 본 개시의 일 실시 예에 따른 3차원 데이터 재구성 장치의 블록도를 도시한다. 본 개시의 일 실시 예에 따른 3차원 데이터 재구성 장치(1000)는, 부호화된 3차원 영상을 복호화하고 출력하는 3차원 영상 복호화 장치일 수 있다.
도 10에 도시된 바와 같이, 일 실시예에 따른 3차원 데이터 재구성 장치(1000)는, 비트스트림을 수신하고, 비트스트림을 처리하여 3차원 영상을 출력할 수 있다. 도 10에 도시된 바와 같이, 일 실시예에 따른 3차원 데이터 재구성 장치(1000)는, 수신부(1010) 및 프로세서(1020)를 포함할 수 있다.
일 실시예에 따른 3차원 데이터 재구성 장치(1000)의 수신부(1010)는, 3차원 데이터에 대한 정보가 압축된 비트스트림을 수신할 수 있다. 예를 들어, 3차원 데이터 재구성 장치(1000)의 수신부(1020)는, 네트워크를 통해 영상 부호화 장치(또는, 3차원 압축 재구성 장치)로부터 비트스트림을 수신하거나, 내부에 저장된 비트스트림을 획득할할 수 있다.
일 실시예에 따른 3차원 데이터 재구성 장치(1000)의 프로세서(1020)는, 수신된 비트스트림으로부터 압축되고 부호화된 3차원 데이터를 획득하고, 복호화할 수 있다. 프로세서(1020)는, 부호화된 3차원 데이터를 재구성함으로써 3차원 영상(또는, 3차원 포인트 클라우드 데이터)을 생성하고 출력할 수 있다. 일 실시예에 따른 3차원 데이터 재구성 장치(1000)의 프로세서(1020)는, 비트스트림으로부터 재구성된 복수의 3D 프레임들을 포함하는 3D 영상을 출력할 수 있다. 예를 들어, 프로세서(1020)는, 3차원 재구성 데이터에 기초하여, 3D 영상을 디스플레이 상에 출력할 수 있다.
이하, 일 실시예에 따른 3차원 데이터 재구성 장치(1000)의 프로세서(1020)가 3차원 데이터를 처리하는 방법에 대해 구체적으로 설명한다. 도 10에서는 3차원 데이터 재구성 장치(1000)가 하나의 프로세서(1020)를 포함하는 것으로 도시되었으나, 본 개시는 도 10에 도시된 실시 예에 제한되지 않는다. 본 개시의 일 실시 예에 따른 3차원 데이터 재구성 장치(1000)는 복수의 프로세서들을 포함할 수 있으며, 이하에서 서술하는 동작들은 복수의 프로세서들에 의해 수행될 수 있다.
일 실시예에 따른 프로세서(1020)는, 비트스트림으로부터 압축된 3차원 데이터를 획득할 수 있다. 프로세서(1020)는, 압축된 3차원 데이터를 압축 해제할 수 있다. 프로세서(1020)는, 비트스트림에 포함된 데이터를 압축 해제함으로써, 지오메트리 영상, 텍스쳐 영상 및 보정 정보를 획득할 수 있다. 프로세서(1020)는, 비트스트림으로부터 보정 정보를 포함하는 보조 정보(Auxiliary information)를 획득할 수 있다. 프로세서(1020)는, 비트스트림으로부터 오큐팬시 맵을 더 획득할 수 있다.
예를 들어, 프로세서(1020)는, 비트스트림이 수신되면, 비트스트림으로부터 압축된 지오메트리 영상, 압축된 텍스쳐 영상, 압축된 오큐팬시 맵, 압축된 보조 정보를 획득하는 디멀티플렉서(DE-MUX)를 포함할 수 있다. 프로세서(1020)는, 압축된 정보들을 압축 해제하는 디컴프레서(Decompressor)를 포함할 수 있다.
프로세서(1020)는 지오메트리 영상을 재구성함으로써 3차원 재구성 데이터를 생성할 수 있다. 프로세서(1020)는 압축 해제된 지오메트리 영상, 압축 해제된 오큐팬시 맵, 및 압축 해제된 보조 정보에 기초하여, 3차원 공간 내에 포인트들이 배치된 3차원 재구성 데이터를 생성할 수 있다.
프로세서(1020)는, 3차원 데이터의 압축 및 복원에 의해 발생한 오류를 최소화 하기 위하여, 잡음을 제거하는 스무딩을 수행할 수 있다. 프로세서(1020)는, 보정 정보에 기초하여 3차원 재구성 데이터를 보정할 수 있다. 보정 정보는, 지오메트리 영상을 생성하기 위해 이용된 원본 데이터에 대한 정보를 포함할 수 있다. 일 실시예에 따른 3차원 데이터 재구성 장치(1000)의 프로세서(1020)가 이용하는 보정 정보는, 3차원 데이터 압축 장치(400)에서 생성된 보정 정보와 동일할 수 있다.
일 예로서, 보정 정보는, 3차원 재구성 데이터를 보정하기 위해 이용되는 3차원 원본 데이터에 포함되는 적어도 하나의 포인트에 대한 정보, 3차원 원본 데이터와 3차원 재구성 데이터의 대응 관계에 대한 정보, 3차원 재구성 데이터에 포함되는 잡음 제거 우선 순위 영역에 대한 정보, 및 3차원 재구성 데이터를 보정하기 위해 이용되는 곡선 또는 곡면에 대한 정보 중 적어도 하나를 포함하도록, 3차원 데이터 압축 장치(400)에서 생성될 수 있다. 예를 들어, 보정 정보는, 기준 재구성 포인트 Xr(i)에 대응하는 주변 원본 포인트들 N(Xo(i))에 대한 정보 및/또는 추적된 주변 재구성 포인트들 N(Xo(i)r)에 대한 정보를 포함할 수 있다.
다른 예로서, 보정 정보는, 3차원 데이터 압축 장치(400)의 프로세서(410)에서 3차원 원본 데이터와 3차원 재구성 데이터를 비교함으로써 결정된 곡선 또는 곡면에 대한 정보를 포함할 수 있다. 예를 들어, 결정된 곡선 또는 곡면에 대한 정보는, 결정된 곡선 또는 곡면을 나타내는 방정식의 계수, 검출된 포인트들의 개수, 및 결정된 곡선 또는 곡면의 위치 중 적어도 하나에 대한 정보를 포함할 수 있다.
또한, 일 실시 예에 따른 3차원 데이터 재구성 장치(1000)의 프로세서(1020)는, 도 4의 3차원 데이터 압축 장치(400)의 프로세서(410)가 수행한 3차원 재구성 데이터의 보정 과정과 동일한 방식으로 3차원 재구성 데이터를 보정할 수 있다. 따라서, 중복되는 설명은 생략한다.
프로세서(1020)는, 보정된 3차원 재구성 데이터 및 텍스쳐 영상에 기초하여 3차원 데이터를 생성하고 출력할 수 있다. 프로세서(1020)는, 보정된 3차원 재구성 데이터에 포함되는 포인트들에 대해서, 텍스쳐 영상에 포함된 포인트들의 색상 정보를 적용함으로써, 3차원 데이터를 생성할 수 있다. 생성된 3차원 데이터는 포인트 클라우드 형태일 수 있다.
상술한 바와 같이, 본 개시의 일 실시 예에 따른 3차원 데이터 재구성 장치(1000)는, 3차원 데이터 압축 장치(400)에서 수행된 잡음 제거 과정을 동일하게 수행함으로써, 압축된 영상 정보로부터 3차원 정보를 복원하는 과정에서 발생하는 잡음을 제거하고, 3차원 포인트들의 배치가 공간상 이웃하는 포인트들 간에 급격한 변화가 발생하지 않도록 하여 화질을 향상할 수 있다. 이하에서는, 도 11을 참조하여, 다양한 실시 예들에 따른 3차원 데이터 재구성 장치(1000)가 3차원 데이터를 재구성하는 방법을 구체적으로 설명한다.
도 11은 본 개시의 일 실시 예에 따라 3차원 데이터를 재구성하는 방법의 흐름도를 도시한다. 이하에서 서술하는 방법의 각 단계는, 도 10에 도시된 3차원 데이터 재구성 장치(1000)의 각 구성들에 의해 수행될 수 있다. 3차원 데이터 재구성 장치(1000)와 관련하여 상술한 설명은 이하의 방법들의 각 단계에도 적용될 수 있다. 중복되는 설명은 생략한다.
단계 S1110에서 일 실시예에 따른 3차원 데이터 재구성 장치(1000)는, 비트스트림을 수신할 수 있다.
단계 S1120에서 일 실시예에 따른 3차원 데이터 재구성 장치(1000)는, 수신된 비트스트림으로부터 지오메트리 영상, 텍스쳐 영상 및 보정 정보를 획득할 수 있다.
단계 S1130에서 일 실시예에 따른 3차원 데이터 재구성 장치(1000)는, 지오메트리 영상을 재구성함으로써 3차원 재구성 데이터를 생성할 수 있다.
단계 S1140에서 일 실시예에 따른 3차원 데이터 재구성 장치(1000)는, 보정 정보에 기초하여, 3차원 재구성 데이터를 보정할 수 있다.
단계 S1150에서 일 실시예에 따른 3차원 데이터 재구성 장치(1000)는, 보정된 3차원 재구성 데이터 및 텍스쳐 영상에 기초하여 3차원 데이터를 생성하고 출력할 수 있다.
개시된 실시예들은 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 S/W 프로그램으로 구현될 수 있다.
컴퓨터는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 개시된 실시예에 따른 동작이 가능한 장치로서, 개시된 실시예들에 따른 영상 전송 장치 및 영상 수신 장치를 포함할 수 있다.
컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 개시된 실시예들에 따른 전자 장치 또는 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 단말(예로, 3차원 데이터 처리 장치, 3차원 데이터 재구성 장치, 영상 전송 장치 또는 영상 수신 장치)로 구성되는 시스템에서, 서버의 저장매체 또는 단말의 저장매체를 포함할 수 있다. 또는, 서버 또는 단말과 통신 연결되는 제3 장치(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 단말 또는 제3 장치로 전송되거나, 제3 장치로부터 단말로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 단말 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 단말 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 단말이 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
또 다른 예로, 제3 장치가 컴퓨터 프로그램 제품을 실행하여, 제3 장치와 통신 연결된 단말이 개시된 실시예에 따른 방법을 수행하도록 제어할 수 있다. 구체적인 예로, 제3 장치는 3차원 데이터 압축 장치 또는 3차원 데이터 재구성 장치를 원격 제어하여, 패킹 영상을 전송 하거나 수신하도록 제어할 수 있다.
제3 장치가 컴퓨터 프로그램 제품을 실행하는 경우, 제3 장치는 서버로부터 컴퓨터 프로그램 제품을 다운로드하고, 다운로드된 컴퓨터 프로그램 제품을 실행할 수 있다. 또는, 제3 장치는 프리로드된 상태로 제공된 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수도 있다.
Claims (21)
- 3차원 원본 데이터에 포함되는 포인트들을 2D 평면 상에 프로젝션함으로써, 상기 포인트들의 위치 정보를 나타내는 지오메트리 영상을 생성하는 단계;
상기 지오메트리 영상을 압축하는 단계;
상기 압축된 지오메트리 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성하는 단계;
상기 3차원 원본 데이터에 기초하여, 상기 3차원 재구성 데이터를 보정하는 단계;
상기 보정된 3차원 재구성 데이터 및 상기 3차원 원본 데이터에 포함되는 포인트들의 색상 정보에 기초하여, 텍스쳐 영상을 생성하고 압축하는 단계; 및
상기 압축된 지오메트리 영상, 상기 압축된 텍스쳐 영상 및 상기 3차원 재구성 데이터의 보정과 관련된 보정 정보를 출력하는 단계를 포함하는, 3차원 데이터를 압축하는 방법. - 제1 항에 있어서,
상기 3차원 재구성 데이터를 보정하는 단계는,
상기 3차원 원본 데이터와 상기 3차원 재구성 데이터를 비교함으로써, 상기 3차원 재구성 데이터의 노이즈를 제거하는 스무딩을 수행하는 단계를 포함하는, 3차원 데이터를 압축하는 방법. - 제1 항에 있어서,
상기 3차원 재구성 데이터를 보정하는 단계는,
상기 3차원 원본 데이터와 상기 3차원 재구성 데이터를 비교함으로써, 상기 3차원 원본 데이터에는 포함되지만 상기 3차원 재구성 데이터에는 포함되지 않는 포인트들을 검출하는 단계;
상기 3차원 원본 데이터로부터 검출된 포인트들에 기초하여, 곡선 또는 곡면을 결정하는 단계; 및
상기 결정된 곡선 또는 곡면에 기초하여, 상기 3차원 재구성 데이터를 보정하는 단계를 포함하고,
상기 보정 정보는,
상기 결정된 곡선 또는 곡면에 대한 정보를 포함하는, 3차원 데이터를 압축하는 방법. - 제3 항에 있어서,
상기 결정된 곡선 또는 곡면에 대한 정보는,
상기 결정된 곡선 또는 곡면을 나타내는 방정식의 계수, 상기 검출된 포인트들의 개수, 및 상기 결정된 곡선 또는 곡면의 위치 중 적어도 하나에 대한 정보를 포함하는, 3차원 데이터를 압축하는 방법. - 제1 항에 있어서,
상기 3차원 재구성 데이터를 보정하는 단계는,
상기 3차원 재구성 데이터에 포함되는 재구성 포인트들 중에서 기준 재구성 포인트 Xr(i)를 선택하는 단계;
상기 3차원 원본 데이터에 포함되는 원본 포인트들 중에서 상기 기준 재구성 포인트 Xr(i)에 대응하는 기준 원본 포인트 Xo(i)를 결정하는 단계;
상기 기준 원본 포인트 Xo(i)의 주변 원본 포인트들 N(Xo(i))을 결정하는 단계;
상기 주변 원본 포인트들 N(Xo(i))에 대응하는 주변 재구성 포인트들 N(Xo(i)r)을 추적하는 단계; 및
상기 추적된 주변 재구성 포인트들 N(Xo(i)r)과 상기 기준 재구성 포인트 Xr(i)에 기초하여, 상기 기준 재구성 포인트 Xr(i)를 업데이트 하는 단계를 포함하는, 3차원 데이터를 압축하는 방법. - 제5 항에 있어서,
상기 기준 재구성 포인트 Xr(i)를 업데이트 하는 단계는,
상기 추적된 주변 재구성 포인트들 N(Xo(i)r)과 상기 기준 재구성 포인트 Xr(i)의 거리 차이가 임계값보다 작을 경우, 상기 기준 재구성 포인트 Xr(i)를 업데이트 하는 단계; 및
상기 추적된 주변 재구성 포인트들 N(Xo(i)r)과 상기 기준 재구성 포인트 Xr(i)의 거리 차이가 임계값 이상일 경우, 상기 기준 재구성 포인트 Xr(i)를 업데이트 하지 않는 단계를 포함하는, 3차원 데이터를 압축하는 방법. - 제5 항에 있어서,
상기 기준 재구성 포인트 Xr(i)를 업데이트 하는 단계는,
상기 추적된 주변 재구성 포인트들 N(Xo(i)r)과 상기 기준 재구성 포인트 Xr(i)의 색상 차이 또는 거리 차이에 반비례하는 가중치를 이용한 가중 평균 방법을 이용하여, 상기 기준 재구성 포인트 Xr(i)를 업데이트 하는 단계를 포함하는, 3차원 데이터를 압축하는 방법. - 제1 항에 있어서,
상기 지오메트리 영상을 생성하는 단계는,
상기 3차원 원본 데이터에 포함되는 포인트들을 복수의 세그먼트들로 그룹화하는 단계;
상기 복수의 세그먼트들을 2차원 평면 상에 프로젝션함으로써 패치들을 생성하는 단계; 및
상기 패치들을 패킹함으로써 상기 지오메트리 영상을 생성하는 단계를 포함하는, 3차원 데이터를 압축하는 방법. - 제8 항에 있어서,
상기 텍스쳐 영상을 생성하고 압축하는 단계는,
상기 지오메트리 영상을 구성하는 패치들의 정보에 기초하여, 상기 보정된 3차원 재구성 데이터에 포함되는 포인트들의 색상 정보를 2차원 평면 상에 프로젝션함으로써 복수의 패치들이 패킹된 상기 텍스쳐 영상을 생성하는 단계를 포함하는, 3차원 데이터를 압축하는 방법. - 제1 항에 있어서,
상기 보정 정보는,
상기 3차원 재구성 데이터를 보정하기 위해 이용되는 상기 3차원 원본 데이터에 포함되는 적어도 하나의 포인트에 대한 정보, 상기 3차원 원본 데이터와 상기 3차원 재구성 데이터의 대응 관계에 대한 정보, 상기 3차원 재구성 데이터에 포함되는 잡음 제거 우선 순위 영역에 대한 정보, 및 상기 3차원 재구성 데이터를 보정하기 위해 이용되는 곡선 또는 곡면에 대한 정보 중 적어도 하나를 포함하고,
상기 출력하는 단계는,
상기 보정 정보를 메타 데이터의 형태로 포함하고, 상기 압축된 지오메트리 영상 및 상기 압축된 텍스쳐 영상을 포함하는 비트스트림을 출력하는 단계를 포함하는, 3차원 데이터를 압축하는 방법. - 수신된 비트스트림으로부터 지오메트리 영상, 텍스쳐 영상 및 보정 정보를 획득하는 단계;
상기 지오메트리 영상을 재구성함으로써 3차원 재구성 데이터를 생성하는 단계;
상기 보정 정보에 기초하여, 상기 3차원 재구성 데이터를 보정하는 단계; 및
상기 보정된 3차원 재구성 데이터 및 상기 텍스쳐 영상에 기초하여 3차원 데이터를 생성하고 출력하는 단계를 포함하고,
상기 보정 정보는 상기 지오메트리 영상을 생성하기 위해 이용된 원본 데이터에 대한 정보를 포함하는, 3차원 데이터를 재구성하는 방법. - 3차원 원본 데이터에 포함되는 포인트들을 2D 평면 상에 프로젝션함으로써, 상기 포인트들의 위치 정보를 나타내는 지오메트리 영상을 생성하고, 상기 지오메트리 영상을 압축하고, 상기 압축된 지오메트리 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성하고, 상기 3차원 원본 데이터에 기초하여, 상기 3차원 재구성 데이터를 보정하고, 상기 보정된 3차원 재구성 데이터 및 상기 3차원 원본 데이터에 포함되는 포인트들의 색상 정보에 기초하여, 텍스쳐 영상을 생성하고 압축하는, 적어도 하나의 프로세서; 및
상기 압축된 지오메트리 영상, 상기 압축된 텍스쳐 영상 및 상기 3차원 재구성 데이터의 보정과 관련된 보정 정보를 출력하는, 출력부를 포함하는, 3차원 데이터 압축 장치. - 제12 항에 있어서,
상기 적어도 하나의 프로세서는, 상기 3차원 재구성 데이터를 보정함에 있어서,
상기 3차원 원본 데이터와 상기 3차원 재구성 데이터를 비교함으로써, 상기 3차원 재구성 데이터의 노이즈를 제거하는 스무딩을 수행하는, 3차원 데이터 압축 장치. - 제12 항에 있어서,
상기 적어도 하나의 프로세서는, 상기 3차원 재구성 데이터를 보정함에 있어서,
상기 3차원 원본 데이터와 상기 3차원 재구성 데이터를 비교함으로써, 상기 3차원 원본 데이터에는 포함되지만 상기 3차원 재구성 데이터에는 포함되지 않는 포인트들을 검출하고, 상기 3차원 원본 데이터로부터 검출된 포인트들에 기초하여, 곡선 또는 곡면을 결정하고, 상기 결정된 곡선 또는 곡면에 기초하여 상기 3차원 재구성 데이터를 보정하고,
상기 보정 정보는,
상기 결정된 곡선 또는 곡면에 대한 정보를 포함하는, 3차원 데이터 압축 장치. - 제14 항에 있어서,
상기 결정된 곡선 또는 곡면에 대한 정보는,
상기 결정된 곡선 또는 곡면을 나타내는 방정식의 계수, 상기 검출된 포인트들의 개수, 및 상기 결정된 곡선 또는 곡면의 위치 중 적어도 하나에 대한 정보를 포함하는, 3차원 데이터 압축 장치. - 제12 항에 있어서,
상기 적어도 하나의 프로세서는, 상기 3차원 재구성 데이터를 보정함에 있어서,
상기 3차원 재구성 데이터에 포함되는 재구성 포인트들 중에서 기준 재구성 포인트 Xr(i)를 선택하고, 상기 3차원 원본 데이터에 포함되는 원본 포인트들 중에서 상기 기준 재구성 포인트 Xr(i)에 대응하는 기준 원본 포인트 Xo(i)를 결정하고, 상기 기준 원본 포인트 Xo(i)의 주변 원본 포인트들 N(Xo(i))을 결정하고, 상기 주변 원본 포인트들 N(Xo(i))에 대응하는 주변 재구성 포인트들 N(Xo(i)r)을 추적하고, 상기 추적된 주변 재구성 포인트들 N(Xo(i)r)과 상기 기준 재구성 포인트 Xr(i)에 기초하여, 상기 기준 재구성 포인트 Xr(i)를 업데이트 하는, 3차원 데이터 압축 장치. - 제16 항에 있어서,
상기 적어도 하나의 프로세서는, 상기 기준 재구성 포인트 Xr(i)를 업데이트 함에 있어서,
상기 추적된 주변 재구성 포인트들 N(Xo(i)r)과 상기 기준 재구성 포인트 Xr(i)의 거리 차이가 임계값보다 작을 경우, 상기 기준 재구성 포인트 Xr(i)를 업데이트 하고, 상기 추적된 주변 재구성 포인트들 N(Xo(i)r)과 상기 기준 재구성 포인트 Xr(i)의 거리 차이가 임계값 이상일 경우, 상기 기준 재구성 포인트 Xr(i)를 업데이트 하지 않는, 3차원 데이터 압축 장치. - 제16 항에 있어서,
상기 적어도 하나의 프로세서는, 상기 기준 재구성 포인트 Xr(i)를 업데이트 함에 있어서,
상기 추적된 주변 재구성 포인트들 N(Xo(i)r)과 상기 기준 재구성 포인트 Xr(i)의 색상 차이 또는 거리 차이에 반비례하는 가중치를 이용한 가중 평균 방법을 이용하여, 상기 기준 재구성 포인트 Xr(i)를 업데이트 하는, 3차원 데이터 압축 장치. - 제12 항에 있어서,
상기 보정 정보는,
상기 3차원 재구성 데이터를 보정하기 위해 이용되는 상기 3차원 원본 데이터에 포함되는 적어도 하나의 포인트에 대한 정보, 상기 3차원 원본 데이터와 상기 3차원 재구성 데이터의 대응 관계에 대한 정보, 상기 3차원 재구성 데이터에 포함되는 잡음 제거 우선 순위 영역에 대한 정보, 및 상기 3차원 재구성 데이터를 보정하기 위해 이용되는 곡선 또는 곡면에 대한 정보 중 적어도 하나를 포함하고,
상기 출력부는,
상기 보정 정보를 메타 데이터의 형태로 포함하고, 상기 압축된 지오메트리 영상 및 상기 압축된 텍스쳐 영상을 포함하는 비트스트림을 출력하는, 3차원 데이터 압축 장치. - 비트스트림을 수신하는, 수신부; 및
상기 비트스트림으로부터 지오메트리 영상, 텍스쳐 영상 및 보정 정보를 획득하고, 상기 지오메트리 영상을 재구성함으로써 3차원 재구성 데이터를 생성하고, 상기 보정 정보에 기초하여 상기 3차원 재구성 데이터를 보정하고, 상기 보정된 3차원 재구성 데이터 및 상기 텍스쳐 영상에 기초하여 3차원 데이터를 생성하고 출력하는, 적어도 하나의 프로세서를 포함하고,
상기 보정 정보는 상기 지오메트리 영상을 생성하기 위해 이용된 원본 데이터에 대한 정보를 포함하는, 3차원 데이터 재구성 장치. - 제1 항 또는 제12 항의 방법을 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체를 포함하는 컴퓨터 프로그램 제품.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020190000865A KR20200084698A (ko) | 2019-01-03 | 2019-01-03 | 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치 |
| US17/419,951 US20220084253A1 (en) | 2019-01-03 | 2020-01-03 | Method and device for compressing three-dimensional data, and method and device for reconstructing three-dimensional data |
| PCT/KR2020/000149 WO2020141950A1 (ko) | 2019-01-03 | 2020-01-03 | 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020190000865A KR20200084698A (ko) | 2019-01-03 | 2019-01-03 | 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20200084698A true KR20200084698A (ko) | 2020-07-13 |
Family
ID=71407071
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020190000865A Withdrawn KR20200084698A (ko) | 2019-01-03 | 2019-01-03 | 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20220084253A1 (ko) |
| KR (1) | KR20200084698A (ko) |
| WO (1) | WO2020141950A1 (ko) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2607046A (en) * | 2021-05-26 | 2022-11-30 | Vitaware Ltd | Image processing method |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8731313B2 (en) * | 2009-03-23 | 2014-05-20 | Level Set Systems, Inc. | Method and apparatus for accurate compression and decompression of three-dimensional point cloud data |
| US10484697B2 (en) * | 2014-09-09 | 2019-11-19 | Qualcomm Incorporated | Simultaneous localization and mapping for video coding |
| EP3268935B1 (en) * | 2015-03-09 | 2024-11-06 | Dental Imaging Technologies Corporation | Apparatus and method of texture mapping for dental 3d scanner |
| KR102647351B1 (ko) * | 2017-01-26 | 2024-03-13 | 삼성전자주식회사 | 3차원의 포인트 클라우드를 이용한 모델링 방법 및 모델링 장치 |
| US11113845B2 (en) * | 2017-09-18 | 2021-09-07 | Apple Inc. | Point cloud compression using non-cubic projections and masks |
| CN110662087B (zh) * | 2018-06-30 | 2021-05-11 | 华为技术有限公司 | 点云编解码方法和编解码器 |
| US10783698B2 (en) * | 2018-07-31 | 2020-09-22 | Intel Corporation | Point cloud operations |
-
2019
- 2019-01-03 KR KR1020190000865A patent/KR20200084698A/ko not_active Withdrawn
-
2020
- 2020-01-03 US US17/419,951 patent/US20220084253A1/en not_active Abandoned
- 2020-01-03 WO PCT/KR2020/000149 patent/WO2020141950A1/ko not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2020141950A1 (ko) | 2020-07-09 |
| US20220084253A1 (en) | 2022-03-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113196761B (zh) | 用于评估视频的主观质量的方法及装置 | |
| EP3844962B1 (en) | Methods and apparatuses for performing artificial intelligence encoding and artificial intelligence decoding on image | |
| US10977809B2 (en) | Detecting motion dragging artifacts for dynamic adjustment of frame rate conversion settings | |
| CN114450940B (zh) | 一种对沉浸式视频进行编解码的方法以及编码器、解码器 | |
| US11087501B2 (en) | Voxel correlation information processing apparatus and method | |
| US12217464B2 (en) | Three-dimensional data encoding method and device, and three-dimensional data decoding method and device | |
| JP7405989B2 (ja) | マシン向け映像符号化における方法及び装置 | |
| US11368719B2 (en) | Method and device for encoding three-dimensional image, and method and device for decoding three-dimensional image | |
| TW202535065A (zh) | 用於視訊資料之編碼方案 | |
| US12231646B2 (en) | Apparatus and method for applying artificial intelligence-based filtering to image | |
| EP4546776A1 (en) | Image encoding device and image decoding device based on ai, and image encoding and decoding method using same | |
| US11887342B2 (en) | Method and device for encoding three-dimensional image, and method and device for decoding three-dimensional image | |
| KR20230067492A (ko) | Ai를 이용하는 영상 부호화 장치 및 영상 복호화 장치, 및 이들에 의한 영상의 부호화 및 복호화 방법 | |
| KR20200084698A (ko) | 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치 | |
| US12170786B2 (en) | Device and method for encoding and decoding image using AI | |
| WO2022226850A1 (zh) | 点云质量增强方法、编码和解码方法及装置、存储介质 | |
| EP4432233A1 (en) | Image encoding device and image decoding device using ai, and method for encoding and decoding image by same | |
| KR102815109B1 (ko) | 3차원 영상을 부호화하는 방법 및 장치, 3차원 영상을 복호화하는 방법 및 장치 | |
| US20240048711A1 (en) | Artificial intelligence based video decoding apparatus and video decoding method and artificial intelligence based video encoding apparatus and video encoding method which perform chroma component prediction | |
| WO2026057836A1 (en) | Volumetric content data processing system and method | |
| US20230040484A1 (en) | Fast patch generation for video based point cloud coding | |
| WO2025236693A1 (zh) | 图像编解码方法和装置 | |
| KR20260062030A (ko) | 초사전분포(Hyperprior) 모델 기반 포인트 클라우드 부/복호화 방법 | |
| CN119728981A (zh) | 图像调整模型的训练方法、视频编码方法、装置、电子设备、存储介质和程序产品 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| A201 | Request for examination | ||
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| PC1202 | Submission of document of withdrawal before decision of registration |
St.27 status event code: N-1-6-B10-B11-nap-PC1202 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |