KR20200144401A - 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치 - Google Patents

3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치 Download PDF

Info

Publication number
KR20200144401A
KR20200144401A KR1020190072427A KR20190072427A KR20200144401A KR 20200144401 A KR20200144401 A KR 20200144401A KR 1020190072427 A KR1020190072427 A KR 1020190072427A KR 20190072427 A KR20190072427 A KR 20190072427A KR 20200144401 A KR20200144401 A KR 20200144401A
Authority
KR
South Korea
Prior art keywords
information
data
point
points
compressed
Prior art date
Application number
KR1020190072427A
Other languages
English (en)
Inventor
김동연
오영호
유성열
Original Assignee
삼성전자주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190072427A priority Critical patent/KR20200144401A/ko
Publication of KR20200144401A publication Critical patent/KR20200144401A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

일 실시 예에 따른 3차원 데이터 부호화 방법은, 3차원 메쉬 데이터로부터 복수의 점들의 위치를 나타내는 점 정보 및 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 획득하는 단계, 상기 복수의 점들을 2D 평면 상에 프로젝션함으로써 상기 점 정보를 압축하는 단계, 상기 점 정보가 압축되는 과정을 고려하여, 상기 면 정보에 포함되는 점들의 인덱스를 리오더링(reordering)하는 단계, 상기 복수의 면들의 연결 정보를 추출함으로써, 상기 리오더링된 면 정보를 압축하는 단계 및 상기 압축된 점 정보 및 상기 압축된 면 정보를 포함하는 비트스트림을 생성하고 출력하는 단계를 포함할 수 있다.

Description

3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치{METHOD AND APPARATUS FOR COMPRESSING 3 DIMENSIONAL DATA AND METHOD AND APPARATUS FOR RECONSTRUCTING 3 DIMENSIONAL DATA}
본 개시는 3차원 데이터를 프로세싱하기 위한 방법 및 장치에 관한 것이다.
3차원 공간 내의 물체의 위치, 형태 및 색상 등을 나타내는 3차원 데이터는 상당량의 메모리 및 프로세서 리소스를 차지하기 때문에, 3차원 데이터를 송수신 하기 위해서는 3차원 데이터를 압축하는 방법이 요구된다. 예를 들어, 3차원 데이터는 3차원 메쉬 데이터를 포함하거나 포인트 클라우드 데이터를 포함할 수 있다.
3차원 메쉬 데이터는, 3차원 물체를 다면체로 표현하는 방식이다. 다면체는 복수의 점(Vertex), 면(Face), 모서리(Edge)로 구성된다. 3차원 메쉬 데이터는 삼각형 또는 사각형으로 구성될 수 있으며, 더 복잡한 도형들로 구성될 수 있다. 예를 들어, 3차원 메쉬 데이터는, 점들의 목록과 다면체를 구성하는 점들의 연결 방법을 정의하는 목록을 포함할 수 있다.
포인트 클라우드 데이터는, 위치 정보(geometry information)와 색상 정보(texture information)를 갖는 포인트들의 집합으로 3차원 물체를 표현하는 방식이다. 포인트 클라우드는 3차원 공간 내의 포인트를 표현하기 위한 위치 좌표와 색상 정보를 포함하는 벡터 형태일 수 있다. 예를 들어, 포인트 클라우드는 (x, y, z, R, G, B)와 같이 표현될 수 있다. 무수히 많은 색상과 위치 데이터들이 모여서 공간적인 구성을 이루는 포인트 클라우드는 밀도가 높아지면 높아질 수록 점점 더 구체적인 데이터가 되면서 하나의 3차원 모델로서의 의미를 가지게 된다.
포인트 클라우드는, 3차원 공간 상의 정보를 포함하기 때문에, 2D 영상에 비해 한 단계 더 높은 차원의 벡터로 구성되고, 더 많은 데이터 양을 갖는 특성이 있다. 따라서 포인트 클라우드를 빠르고 정확하고 효율적으로 사용자에게 제공하기 위해서 고효율의 압축 기술 연구가 활발히 진행되고 있다.
포인트 클라우드 압축 기술은 데이터의 특성에 따라 다양한 카테고리로 분류될 수 있다. 다양한 압축 기술들 중에서, 포인트 클라우드를 2D 영상으로 변환하고, 변환된 2D 영상을 기존의 동영상 압축 기술(예를 들어, HEVC 등)을 이용해 압축하는 방식이 MPEG(Moving Picture Experts Group)의 표준화 회의에서 논의되고 있다.
3차원 데이터를 효율적으로 압축하고 복원 할 수 있는 3차원 데이터 처리 방법이 요구된다.
본 개시의 일 실시예의 일 측면에 따르면, 3차원 데이터를 부호화하는 방법은, 3차원 메쉬 데이터로부터 복수의 점들의 위치를 나타내는 점 정보 및 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 획득하는 단계; 상기 복수의 점들을 2D 평면 상에 프로젝션함으로써 상기 점 정보를 압축하는 단계; 상기 점 정보가 압축되는 과정을 고려하여, 상기 면 정보에 포함되는 점들의 인덱스를 리오더링(reordering)하는 단계; 상기 복수의 면들의 연결 정보를 추출함으로써, 상기 리오더링된 면 정보를 압축하는 단계; 및 상기 압축된 점 정보 및 상기 압축된 면 정보를 포함하는 비트스트림을 생성하고 출력하는 단계를 포함할 수 있다.
본 개시의 일 실시예의 일 측면에 따르면, 3차원 데이터를 부호화 하는 장치는, 3차원 메쉬 데이터로부터 복수의 점들의 위치를 나타내는 점 정보 및 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 획득하고, 상기 복수의 점들을 2D 평면 상에 프로젝션함으로써 상기 점 정보를 압축하고, 상기 점 정보가 압축되는 과정을 고려하여, 상기 면 정보에 포함되는 점들의 인덱스를 리오더링하고, 상기 복수의 면들의 연결 정보를 추출함으로써, 상기 리오더링된 면 정보를 압축하는, 적어도 하나의 프로세서; 및 상기 압축된 점 정보 및 상기 압축된 면 정보를 포함하는 비트스트림을 출력하는, 출력부를 포함할 수 있다.
본 개시의 일 실시예의 일 측면에 따르면, 3차원 데이터를 재구성하는 방법은, 수신된 비트스트림으로부터 압축된 점 데이터 및 압축된 점 연결 데이터를 획득하는 단계; 상기 압축된 점 데이터를 복호화함으로써 복수의 점들의 위치를 나타내는 점 정보를 획득하는 단계; 상기 압축된 점 연결 데이터를 복호화함으로써 상기 복수의 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 획득하는 단계; 및 상기 점 정보 및 상기 면 정보에 기초하여 3차원 메쉬 데이터를 생성하고 출력하는 단계를 포함하고, 상기 압축된 점 연결 데이터는 상기 복수의 면들의 연결 정보를 포함할 수 있다.
본 개시의 일 실시예의 일 측면에 따르면, 3차원 데이터 재구성 장치는, 비트스트림을 수신하는 수신부; 및 상기 비트스트림으로부터 압축된 점 데이터 및 압축된 점 연결 데이터를 획득하고, 상기 압축된 점 데이터를 복호화함으로써 복수의 점들의 위치를 나타내는 점 정보를 획득하고, 상기 압축된 점 연결 데이터를 복호화함으로써 상기 복수의 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 획득하고, 상기 점 정보 및 상기 면 정보에 기초하여 3차원 메쉬 데이터를 생성하고 출력하는, 적어도 하나의 프로세서를 포함하고, 상기 압축된 점 연결 데이터는 상기 복수의 면들의 연결 정보를 포함할 수 있다.
본 개시의 다양한 실시 예들에 따르면, 3차원 데이터가 보다 빠르고 정확하게 압축될 수 있다.
도 1은 3차원 메쉬 데이터를 설명하기 위한 도면이다.
도 2는 비디오 기반 포인트 클라우드 압축(Video based Point Cloud Compression, V-PCC)을 설명하기 위한 도면이다.
도 3a 및 도 3b는 본 개시의 일 실시 예에 따른 3차원 데이터 부호화 장치의 블록도를 도시한다.
도 4a, 도 4b, 및 도 4c는 3차원 메쉬 데이터의 점 연결 데이터를 압축하는 방법을 설명하기 위한 도면이다.
도 5a 및 도 5b는 V-PCC를 이용하여 3차원 메쉬 데이터를 압축하는 경우 발생하는 문제점을 설명하기 위한 도면이다.
도 6a 및 도 6b는 본 개시의 일 실시 예에 따라 3차원 메쉬 데이터를 압축하는 방법을 설명하기 위한 도면이다.
도 7a 및 도 7b는 본 개시의 다른 일 실시 예에 따라 3차원 메쉬 데이터를 압축하는 방법을 설명하기 위한 도면이다.
도 8a 및 도 8b는 본 개시의 또 다른 일 실시 예에 따라 3차원 메쉬 데이터를 압축하는 방법을 설명하기 위한 도면이다.
도 9는 인접한 패치들의 경계를 판단하는 방법을 설명하기 위한 도면이다.
도 10은 패치 경계 정보를 생성하는 방법을 설명하기 위한 도면이다.
도 11은 본 개시의 다양한 실시 예들에 따라 3차원 데이터를 부호화하는 시간이 단축되는 효과를 설명하기 위한 도면이다.
도 12a 및 도 12b는 본 개시의 일 실시 예에 따른 3차원 데이터 재구성 장치의 블록도를 도시한다.
도 13은 본 개시의 일 실시 예에 따른 3차원 데이터 부호화 방법의 흐름도를 도시한다.
도 14는 본 개시의 일 실시 예에 따른 3차원 데이터 재구성 방법의 흐름도를 도시한다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 또한, 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
본 명세서에서 “영상”이란, 정지 영상, 동영상, 비디오 프레임, 및/또는 비디오 스트림을 모두 포함할 수 있으며, 2D 프레임 및 3차원 프레임을 모두 포함할 수 있다. 예를 들어, “영상”은 포인트 클라우드로 표현되는 3차원 프레임을 포함할 수 있다.
본 명세서 전반에 걸쳐 사용되는 "영상"이라는 용어는 "영상"이라는 용어 자체뿐만 아니라, “픽쳐”, “프레임”, “필드” 또는 “슬라이스”등 관련 분야에서 알려질 수 있는 비디오 또는 이미지 정보의 다양한 형태들을 설명하기 위한 포괄적인 용어로서 사용된다. 예를 들어, “영상”은 비디오 스트림을 구성하는 복수의 픽쳐들 또는 복수의 프레임들 중 하나를 의미할 수도 있고, 복수의 픽쳐들 또는 복수의 프레임들을 포함하는 비디오 스트림 전체를 의미할 수도 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 3차원 메쉬 데이터를 설명하기 위한 도면이다.
3차원 메쉬 데이터는, 3차원 물체를 다면체로 표현하는 방식이다. 다면체는 복수의 꼭지점, 면, 모서리로 구성된다.
도 1은 3차원 공간 내의 정육면체를 3차원 메쉬 데이터로 표현하는 경우의 예를 도시한다. 예를 들어, 도 1에 도시된 정육면체(110)는, 점(vertex) 8개 및 삼각형 면 12개로 구성되는 3차원 메쉬 데이터(100)로 표현될 수 있다.
3차원 메쉬 데이터(100)는, 헤더(header)(101), 점(vertex) 정보(102) 및 점 연결 정보(103) 정보로 구성될 수 있다. 헤더(101)에는 점의 개수, 점 데이터 형식, 면의 개수, 면 데이터 형식이 기록될 수 있다. 도 1의 헤더(101)를 참조하면, 3차원 메쉬 데이터(100)가 점 8개, 삼각형 면 12개로 구성되는 3차원 객체를 나타냄을 알 수 있다.
점 정보(102)에는 헤더에 기록된 점의 개수만큼의 행이 존재하며, 각 행에는 하나의 점에 대한 위치 좌표(x, y, z)와 색 좌표(r, g, b)가 기록될 수 있다. 위치 좌표, 색 좌표 및 좌표값의 자료 형태(예를 들어, integer, float 등과 같은 데이터 형태) 등은 헤더에 기록된 점 데이터 형식을 따른다.
면 정보(103)는 점 연결(vertex connectivity) 정보 또는 연결 정보라고 지칭할 수 있다. 면 정보(103)에는 헤더에 기록된 면의 개수만큼의 행이 존재하며, 각 행에는 하나의 면의 모양 (예를 들어, 삼각형, 사각형 등)과 면을 구성하는 점들의 인덱스(104)가 기록된다.
일반적으로 점 정보(102)에는 각 점의 인덱스가 직접적으로 기록되어있지 않기 때문에, 점 정보에 기록된 순서대로 점 인덱스(105)가 결정된다. 예를 들어, 도 1에 도시된 바와 같이, 점 정보의 첫번째 행에 기록된 점의 점 인덱스는 0, 두번째 행에 기록된 점의 점 인덱스는 1일 수 있다. 점이 기록되는 순서에 따라 1씩 증가된 인덱스가 해당 점에게 부여될 수 있다.
도 1의 3차원 메쉬 데이터(100)에 도시된 바와 같이, 점 정보(102)에는 0부터 7까지의 점 인덱스가 별도로 기록되어 있지 않지만, 점 정보(102)에 점들이 기록된 순서를 면 정보(103)가 참조한다. 면 정보(103)의 첫번째 행 (3, 0, 1, 2)을 참조하면, 3차원 메쉬 데이터(100)가 나타내는 3차원 객체는 V0=(1, 1, 1,), V1=(1, -1, 1), V2=(-1, -1, 1)로 구성된 삼각형을 포함하는 다면체임을 알 수 있다.
앞서 설명한 바와 같이, 면 정보(103)의 각 행에는 각 행에 대응되는 면을 구성하는 점들의 인덱스가 기록되기 때문에, 점 정보에 포함된 각 점들의 순서의 변경은 면 정보의 변경을 야기할 수 있다.
한편, 3차원 물체를 표현하는 다른 방식으로서 포인트 클라우드 데이터는, 위치 정보(geometry information)와 색상 정보(texture information)를 갖는 포인트들의 집합으로 3차원 물체를 표현할 수 있다. 예를 들어, 포인트 클라우드 데이터는, 3차원 메쉬 데이터의 헤더에서 면과 관련된 내용이 생략되고, 면 정보가 생략된 데이터 형식으로 이루어질 수 있다.
도 2는 비디오 기반 포인트 클라우드 압축(Video based Point Cloud Compression, V-PCC)을 설명하기 위한 도면이다.
V-PCC는, 포인트 클라우드로 구성되는 3차원 객체를 2D 영상 상에 투사(projection)하고, 투사된 영상들을 2D 비디오 형태로 저장하고, 저장된 2D 비디오를 종래의 2D 비디오 압축 방식(예를 들어, HEVC)을 이용하여 압축하는 방식이다.
예를 들어 설명하면, 포인트 클라우드로 구성된 3차원 객체의 바깥을 둘러싸는 육면체가 있다고 가정했을 때, 가장 가까운 평면으로 포인트들을 투사시킬 수 있고, 투사된 포인트들의 집합은 패치(Patch) 단위로 그룹화할 수 있다. 3차원 공간 내에서 비슷한 노말(normal) 벡터 값을 갖는 이웃한 점들이 하나의 패치로 정의될 수 있다. 따라서, 하나의 3차원 객체는 복 수개의 크고 작은 패치들로 분리될 수 있다.
도 2에 도시된 바와 같이, V-PCC는, 포인트 클라우드 데이터(210)를 2D 평면 상에 투사함으로써 패치(220)를 생성하는 과정, 점들의 위치 정보를 지오메트리 영상(231) 상에 기록하고 점들의 색상 정보를 텍스쳐 영상(232) 상에 기록함으로써 2D 지오메트리 비디오 및 2D 텍스쳐 비디오를 생성하는 과정, 및 생성된 2D 비디오를 비디오 압축 방식을 이용하여 압축하는 과정을 포함할 수 있다. 예를 들어, 포인트 클라우드 데이터를 xy 평면에 투사한 경우, 지오메트리 영상의 각 픽셀에는 투사된 포인트의 z값이 기록될 수 있고, 지오메트리 영상에 대응되는 텍스쳐 영상 상에는 해당 포인트의 (r, g, b) 값이 기록될 수 있다. 지오메트리 영상과 텍스쳐 영상을 생성하는 패킹 과정에서, 패치들은 2D 비디오 압축에 적합한 방식으로 재배열 및 재배치되어 2D 비디오 형태로 저장될 수 있다.
포인트 클라우드 데이터를 압축하는 V-PCC 방식에서는, 포인트의 위치 정보 및 색상 정보 만을 2D 비디오 형태로 기록하므로, 3차원 객체의 면과 관련된 정보에 대한 압축은 고려하지 않는다. 따라서, 일반적인 V-PCC 방식으로는 면 정보를 포함하는 3차원 메쉬 데이터를 압축할 수 없다.
도 3a 및 도 3b는 본 개시의 일 실시 예에 따른 3차원 데이터 부호화 장치의 블록도를 도시한다.
본 개시의 일 실시 예에 따른 3차원 데이터 부호화 장치(300)는, 3차원 영상을 부호화하고 압축하는 3차원 영상 압축 장치일 수 있다. 도 3a에 도시된 바와 같이, 일 실시예에 따른 3차원 데이터 부호화 장치(300)는, 부호화부(310) 및 출력부(320)를 포함할 수 있다. 일 실시 예에 따른 3차원 데이터 부호화 장치(300)의 부호화부(310)는, 3차원 데이터를 획득하고, 부호화할 수 있다. 3차원 데이터 부호화 장치(300)의 부호화부(310)는, 3차원 데이터를 처리함으로써, 압축된 데이터를 생성할 수 있다. 예를 들어, 3차원 데이터는 3차원 메쉬 데이터를 포함할 수 있다.
일 실시 예에 따른 3차원 데이터 부호화 장치(300)의 부호화부(310)는, 3차원 메쉬 데이터로부터 복수의 점들의 위치를 나타내는 점 정보 및 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 획득할 수 있다. 부호화부(310)는, 복수의 점들을 2D 평면 상에 프로젝션함으로써 점 정보를 압축할 수 있다. 부호화부(310)는, 점 정보가 압축되는 과정을 고려하여, 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다. 부호화부(310)는, 복수의 면들의 연결 정보를 추출함으로써, 리오더링된 면 정보를 압축할 수 있다.
3차원 데이터 부호화 장치(300)의 출력부(320)는, 3차원 데이터에 대한 정보가 압축된 비트스트림을 출력할 수 있다. 출력부(320)는, 압축된 점 정보 및 압축된 면 정보를 포함하는 비트스트림을 출력할 수 있다.
예를 들어, 3차원 데이터 부호화 장치(300)의 출력부(320)는, 네트워크를 통해 영상을 복호화하는 장치(또는, 3차원 데이터 재구성 장치)에게 비트스트림을 전송하거나, 비트스트림을 3차원 데이터 부호화 장치(300)의 내부에 저장할 수 있다.
도 3b는 일 실시예에 따른 3차원 데이터 부호화 장치(300)의 부호화부(310)의 구체적인 블록도를 도시한다. 부호화부(310)는 적어도 하나의 프로세서로 구성될 수 있다. 이하에서 서술하는 부호화부(310)의 동작들은 적어도 하나의 프로세서에 의해 수행될 수 있다.
일 실시예에 따른 부호화부(310)의 데이터 해제부(311)는, 3차원 메쉬 데이터로부터 점 데이터 및 점 연결 데이터를 획득 할 수 있다. 점 데이터는, 복수의 점들의 위치를 나타내는 점 정보를 포함하고, 점 연결 데이터는, 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 포함할 수 있다.
부호화부(310)의 점 데이터 부호화부(313)는, 복수의 점들을 2D 평면 상에 프로젝션함으로써 점 정보를 압축할 수 있다. 점 데이터 부호화부(313)는, V-PCC(Video based Point Cloud Compression) 방식을 이용하여, 점 정보를 압축할 수 있다.
점 데이터 부호화부(313)는, 복수의 점들을 2D 평면 상에 프로젝션함으로써 패치들을 생성하고, 패치들을 패킹함으로써 2D 영상을 생성할 수 있다. 점 데이터 부호화부(313)는, 패치들을 패킹함으로써, 점의 위치 정보를 나타내는 2D 지오메트리 영상을 생성할 수 있다. 점 데이터 부호화부(313)는, 2D 영상들을 압축할 수 있다. 예를 들어, 점 데이터 부호화부(313)는, HEVC와 같은 일반적인 2D 비디오 압축 방식을 이용하여 2D 영상들을 압축할 수 있다.
점 데이터 부호화부(313)는, 압축된 2D 지오메트리 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성할 수 있다. 점 데이터 부호화부(313)는, 3차원 메쉬 데이터에 포함되는 복수의 점들의 색상 정보 및 3차원 재구성 데이터에 기초하여 텍스쳐 영상을 생성하고 압축할 수 있다.
점 연결 데이터 부호화부(315)는, 3차원 메쉬 데이터의 점 연결 데이터를 압축할 수 있다.
메쉬 데이터의 압축은 점(vertex)에 대한 압축과 점 연결(connectivity) 정보에 대한 압축으로 나눌 수 있다. 본 개시의 일 실시 예에 따르면, 점 연결 정보에 대한 압축을 위하여 이웃하는 면들 간에 공유하고 있는 점에 대해 중복되는 정보를 버리는 방법이 이용될 수 있다.
메쉬 데이터에 포함되는 면 정보는 각 면마다 해당 면을 구성하는 점들을 매번 서술하고 있기 때문에, 여러 면에 공통적으로 존재하는 점의 경우 면 정보 내에서 여러 번 서술된다. 본 개시의 일 실시예에 따르면, 면 정보에 포함되는 면 목록의 첫번째 면에 대해서만 구성 점들을 모두 서술하고, 그 이후에는 면이 추가되는 방향과 신규로 추가되는 점에 대해서만 서술함으로써 점 연결 정보를 압축시킬 수 있다.
예를 들어, 점 0(V0), 점 1(V1) 및 점 2(V2)로 구성되는 제1 면 (F1)과 점 1(V1), 점 2(V2) 및 점 3(V3)으로 구성되는 제2 면(F2)은 다음과 같이 서술될 수 있다.
F1={V0, V1, V2}, F2={V1, V2, V3}
F1과 F2는 V1 및 V2를 공유하기 때문에, F1 및 F2에 대한 정보는 다음과 같이 압축될 수 있다.
F1={V0, V1, V2}, F1={F0, 오른쪽, V3}
이하에서는, 도 4a 내지 도 4c를 참조하여 3차원 메쉬 데이터를 압축하는 방법을 보다 구체적으로 설명한다. 도 4a에 도시된 객체(410)는, 꼭지점 8개 및 삼각형 면 12개로 구성되는 3차원 메쉬 데이터(420)로 표현될 수 있다. 3차원 메쉬 데이터(420)는, 점 정보(422) 및 면 정보(423)를 포함한다.
점 정보(422)에는 3차원 객체(410)를 구성하는 점들의 개수만큼의 행이 존재하며, 각 행에는 하나의 점에 대한 위치 좌표(x, y, z)와 색 좌표(r, g, b)가 기록될 수 있다. 면 정보(423)에는 3차원 객체(410)를 구성하는 면들의 개수만큼의 행이 존재하며, 각 행에는 면의 모양이 삼각형임을 나타내는 "3"과 면을 구성하는 점들의 인덱스(424)가 기록된다.
점 정보(422)에는 각 점의 인덱스가 직접적으로 기록되어있지 않기 때문에, 점 정보에 기록된 순서대로 점 인덱스(425)가 결정된다. 예를 들어, 도 4a에 도시된 바와 같이, 점 정보의 첫번째 행에 기록된 점의 점 인덱스는 0, 두번째 행에 기록된 점의 점 인덱스는 1일 수 있다. 점이 기록되는 순서에 따라 1씩 증가된 인덱스가 해당 점에게 부여될 수 있다.
면 정보(423)는 점들의 순서를 참조할 수 있다. 면 정보(423)의 첫번째 행 (3, 0, 1, 2)을 참조하면, 3차원 메쉬 데이터(100)가 나타내는 3차원 객체는 V0=(1, 1, 1,), V1=(1, -1, 1), V2=(-1, -1, 1)로 구성된 삼각형을 포함하는 다면체임을 알 수 있다.
도 4a의 객체(410)은 도 4b의 전개도(430)와 같이 표현될 수 있다. 전개도(430)는, 객체(410)를 구성하는 임의의 삼각형 면을 첫번째 면으로 지정하여, 인접한 면을 추가할 때마다 새로운 점을 추가하는 방식으로 객체(410)를 표현한 것이다.
도 4b에 도시된 바와 같이, 본 개시의 일 실시예에 따르면, 한정된 개수의 심볼들을 이용하여 이웃하는 삼각형을 붙여나가는 방향을 기술할 수 있다. 심볼들의 연속을 면 심볼 스트립(Face Symbol Strip)이라고 칭하는 경우, 하나의 3차원 객체는 하나 이상의 면 심볼 스트립으로 표현될 수 있다. 심볼을 정의하는 방법으로는, 예를 들어, 엣지 브레이커(Edgebreaker) 알고리즘이 이용될 수 있다. 엣지 브레이커 방식을 예로 들어 설명하면, 면이 추가되는 방향을 {C, L, E, R, S}의 5가지의 심볼들을 사용하여 기술할 수 있다. 따라서, 5가지 심볼들에 대해서 엔트로피 코딩을 적용하면, 하나의 면 정보를 2 비트 이하의 사이즈로 압축할 수 있다.
심볼은, 삼각형을 구성하는 3개의 점들의 순서에 기초하여 삼각형을 추가하는 방향을 나타내도록 정의될 수 있다. 면을 구성하는 점들 간의 순서가 결정되어야, 이웃하는 면이 추가되는 방향이 해당 면을 기준으로 왼쪽인지, 오른쪽인지, 반대 방향인지와 같은 기준이 결정되기 때문이다. 하나의 3차원 객체를 표현함에 있어서, 면 심볼 스트립을 최소한의 개수로 나누어 표현할 수록 점 연결 정보의 압축의 효율이 높아진다.
도 4b에 도시된 바와 같이, 객체(410)의 면 정보는 전개도(430)에 도시된 바와 같은 순서로 면들을 추가함으로써 면 심볼 스트립(441)으로 표현될 수 있다. 면 심볼 스트립(441)에 따르면, V2, V1, V0으로 구성되는 삼각형이 첫번째 면으로 지정되고, 두번째 면은 첫번째 면에 대해서 C방향으로 추가되고 V6를 포함하고, 세번째 면은 두번째 면에 대해서 C방향으로 추가되고 V5를 포함한다. 도 4b에 표시된 심볼들은, 엣지 브레이크 알고리즘에 따라서 면 정보를 심볼들로써 인코딩한 일 예이다. 따라서, 본 개시의 다양한 실시 예들은 도 4b에 도시된 심볼들 및 면 심볼 스트립에 제한되지 않는다. 본 개시에 따르면, 다양한 알고리즘에 따라 다양한 심볼들을 이용하여 면이 추가되는 방향을 표현하는 압축 방법이 이용될 수 있다.
도 4b의 과정을 거치면, 객체(410)를 구성하는 점들이 나열되는 순서도 바뀌게 된다. 점 목록(442)에 도시된 바와 같이, 첫번째 면을 구성하는 V0, V1, V2 사이에도 심볼의 정의에 따라 순서가 변경되어, 예를 들어, V2, V1, V0 순서로 나열될 수 있다. 두번째 면에 대해서 새로 추가되는 점은 V6이기 때문에, 점이 나열되는 순서가 V0, V1, V2, V3이 아닌 V2, V1, V0, V6의 새로운 순서가 생기게 된다. 따라서 도 4a의 메쉬 데이터(420)는, 도 4c의 압축된 메쉬 데이터(450)와 같은 형태로 압축될 수 있다. 도 4a의 점 정보(422)에 포함되는 점들은, 점 정보(452)에 도시된 바와 같이 순서가 재정렬(reorder)될 수 있다. 도 4c의 인덱스(455)는, 도 4a의 메쉬 데이터(420)에서 해당 점에게 부여되었던 인덱스를 나타낸다.
면의 형태와 면을 구성하는 점들의 인덱스들을 나타내는 도 4a의 면 정보(423)는, 심볼 스트립 형태의 면 정보(453)로 변경된다. 따라서, 면 정보에 있어서 데이터 압축의 효과가 생긴다. 예를 들어, 70만 개의 점들을 포함하는 객체의 경우, 삼각형 면을 구성하는 점들의 인덱스들을 이용하여 하나의 삼각형 면을 표현하기 위해서는 약 20 비트
Figure pat00001
3의 데이터가 필요하다. 반면에, 면 심볼을 이용하는 경우 하나의 삼각형 면을 표현하기 위해서 약 2 비트가 필요하므로 효과적으로 데이터를 압축할 수 있다.
한편, 본 개시의 일 실시예에 따른 3차원 데이터 부호화부(310)는 3차원 데이터를 점 정보와 점 연결 정보로 나누어 압축하기 때문에, 압축된 점 정보와 압축된 점 연결 정보 간의 점 인덱스가 매칭되지 않을 수 있다.
도 5a에 도시된 바와 같이, 16개의 점과 18개의 면으로 구성된 3차원 객체(510)를 나타내는 3차원 메쉬 데이터의 점 정보는 V-PCC 방식으로 압축될 수 있다. 3차원 객체(510)에 포함되는 점들은, 패치 생성 및 패치 패킹 과정을 통해 2D 지오메트리 영상(520)으로 압축되면서 점들의 순서가 바뀔 수 있다. 또한, 2D 지오메트리 영상이 3차원 데이터(530)로 재구성되는 과정에서 점들의 순서가 또 바뀔 수 있다. 따라서, 메쉬 데이터의 점 정보가 압축되는 과정에서 점들의 순서가 바뀌게 되므로, 면 정보가 참조하는 점 인덱스와 실제 점 인덱스가 매칭되지 않는 문제점이 발생할 수 있다.
또한, 도 5b에 도시된 바와 같이, 3차원 객체(540)를 나타내는 3차원 메쉬 데이터의 면 정보는 면들의 연결성(connectivity)에 기초한 메쉬 압축(Mesh Compression) 방식을 이용하여 압축될 수 있다. 면 정보는, 면 심볼 스트립(550)으로 압축되면서, 면 정보가 참조하는 점들의 순서가 바뀔 수 있다. 따라서, 면 정보가 압축되는 과정에서 참조하는 점들의 순서가 바뀌게 되므로, 면 정보가 참조하는 점 인덱스와 실제 점 인덱스가 매칭되지 않는 문제점이 발생할 수 있다.
또한, 3차원 객체(540)에 표시된 바와 같이, 면 정보를 압축하는 과정에서 생성된 면 심볼 스트립은 3차원 지오메트리 정보(즉, 3차원 공간 내에서의 점들의 위치 정보)를 기준으로 생성된 것이다. 따라서 면 심볼 스트립(550)은, V-PCC 방식에 따라 생성된 지오메트리 영상 내에서 인접하지 않은 패치들의 연속을 나타낼 수 있다. 즉, 면 심볼 스트립(550)은, 지오메트리 영상 내의 서로 다른 패치들에 포함되는 면들 간의 연결 정보를 나타낼 수 있으므로, 인접하는 면들 간의 연결성에 기초한 메쉬 압축 방식 알고리즘에 위배된다.
따라서, 이러한 문제점을 해결하기 위하여, 본 개시의 다양한 실시 예들에 따른 부호화부(310)는, 3차원 메쉬 데이터를 점 정보와 점 연결 정보로 나누어 압축함에 있어서, 압축된 점 정보가 포함하는 점들의 인덱스와 압축된 점 연결 정보가 참조하는 점 인덱스를 일치시킬 수 있다. 부호화부(310)는, 점 연결 정보를 압축하기에 앞서, 점 정보가 압축되는 과정을 고려하여 점 연결 정보의 점 인덱스를 리오더링 할 수 있다.
도 3b로 되돌아와서, 일 실시예에 따른 점 연결 데이터 부호화부(315)는, 점 정보가 압축되는 과정을 고려하여, 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다. 점 연결 데이터 부호화부(315)는, 점 데이터 부호화부(313)로부터 점 재배열 정보를 수신하고, 점 재배열 정보에 기초하여 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다.
점 연결 데이터 부호화부(315)는 패치들, 2D 영상, 및 3차원 재구성 데이터 중 하나에 포함되는 점들의 인덱스에 기초하여, 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다.
일 예로서, 점 연결 데이터 부호화부(315)는, 3차원 재구성 데이터에 포함되는 점들의 인덱스에 기초하여, 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다. 3차원 재구성 데이터에 포함되는 점들의 인덱스에 기초하여 면 정보에 포함되는 점들의 인덱스를 리오더링하는 방법과 관련하여서는, 후에 도 6a 및 도 6b를 참조하여 보다 구체적으로 설명한다.
다른 예로서, 점 연결 데이터 부호화부(315)는, 패치들이 패킹된 2D 영상에 포함되는 점들의 인덱스에 기초하여, 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다. 2D 패킹 영상에 포함되는 점들의 인덱스에 기초하여 면 정보에 포함되는 점들의 인덱스를 리오더링하는 방법과 관련하여서는, 후에 도 7a 및 도 7b를 참조하여 보다 구체적으로 설명한다.
또 다른 예로서, 점 연결 데이터 부호화부(315)는, 패치에 포함되는 점들의 인덱스에 기초하여, 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다. 패치에 포함되는 점들의 인덱스에 기초하여 면 정보에 포함되는 점들의 인덱스를 리오더링하는 방법과 관련하여서는, 후에 도 8a 및 도 8b를 참조하여 보다 구체적으로 설명한다.
점 연결 데이터 부호화부(315)는, 복수의 면들의 연결 정보를 추출함으로써, 리오더링된 면 정보를 압축할 수 있다.
점 연결 데이터 부호화부(315)는, 복수의 면들 중 제1 면에 기초하여, 제1 면과 인접한 제2 면이 연결된 방향에 대한 정보를 5가지 값들 중 하나의 값으로 나타냄으로써 리오더링된 면 정보를 압축할 수 있다.
데이터 통합부(317)는, 압축된 점 데이터 및 압축된 점 연결 데이터를 통합하여 압축된 3차원 메쉬 데이터를 출력할 수 있다. 데이터 통합부(317)는, 3차원 재구성 데이터에 포함되는 점들의 인덱스에 기초하여, 압축된 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다. 데이터 통합부(317)는, 3차원 재구성 데이터에 포함되는 점들의 인덱스와 관련된 정보를 포함하는 메타 데이터를 포함하는 비트스트림을 출력할 수 있다.
도 6a 및 도 6b는 본 개시의 일 실시 예에 따라 3차원 메쉬 데이터를 압축하는 방법을 설명하기 위한 도면이다.
도 6a는 일 실시예에 따른 부호화부(310)의 구체적인 블록도를 도시한다. 도 6a의 부호화부(310)는 도 3b의 부호화부(310)에 대응되므로 중복되는 설명은 생략한다. 도 6a에 도시된 일 실시예에 따른 부호화부(310)는, 3차원 재구성 데이터에 포함되는 점들의 인덱스에 기초하여, 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다.
일 실시예에 따른 점 데이터 부호화부(313)의 패치 생성부(601)는, 복수의 점들을 2D 평면 상에 프로젝션함으로써 패치들을 생성하고, 패치들을 패킹함으로써 2D 영상을 생성할 수 있다. 점 데이터 부호화부(313)의 패킹 영상 생성부(602)는, 패치들을 패킹함으로써, 점의 위치 정보를 나타내는 2D 지오메트리 영상을 생성할 수 있다. 점 데이터 부호화부(313)의 2D 데이터 압축부(603)는, 2D 영상들을 압축할 수 있다. 예를 들어, 2D 데이터 압축부(603)는, HEVC와 같은 일반적인 2D 비디오 압축 방식을 이용하여 2D 영상들을 압축할 수 있다. 점 데이터 부호화부(313)의 3차원 데이터 재구성부(604)는, 압축된 2D 지오메트리 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성할 수 있다.
일 실시예에 따른 점 연결 데이터 부호화부(315)의 점 순서 매핑부(605)는, 3차원 재구성 데이터에 기초하여, 메쉬 데이터의 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다. 점 연결 데이터 부호화부(315)의 점 연결 데이터 압축부(606)는, 복수의 면들의 연결 정보를 추출함으로써, 리오더링된 면 정보를 압축할 수 있다. 면 정보를 압축하는 구체적인 방법은 앞서 도 4a 내지 도 4c를 참조하여 설명하였으므로 중복되는 설명은 생략한다.
도 6b를 참조하면, 본 개시의 일 실시 예에 따른 부호화부(310)는, 점 데이터 부호화부(313)에서의 점 정보 압축이 완료된 이후에, 점 연결 데이터 부호화부(315)에서 점 연결 데이터에 대해 압축을 진행한다. 점 데이터 부호화부(313)에서 압축되어 디코더에 전달된 점 정보(642)에 기초하여 재구성된 3차원 재구성 데이터(644)에 포함되는 점들의 순서는, 메쉬 데이터 원본(630)에 포함되는 점들의 순서와 달라지게 된다.
따라서, 본 개시의 일 실시예에 따른 점 연결 데이터 부호화부(315)는, 3차원 재구성 데이터(644)에서의 점 인덱스와 3차원 메쉬 데이터 원본(630)의 점 인덱스를 매핑함으로써 리오더링된 면 정보(645)를 생성할 수 있다. 점 연결 데이터 부호화부(315)는 리오더링된 면 정보에 대해서 압축을 수행할 수 있다. 점 연결 데이터 부호화부(315)는 리오더링된 면 정보에 포함되는 복수의 면들의 연결 정보를 추출함으로써, 압축된 면 정보(646)를 생성하고 출력할 수 있다.
한편, 도 7a 및 도 7b는 본 개시의 다른 일 실시 예에 따라 3차원 메쉬 데이터를 압축하는 방법을 설명하기 위한 도면이다.
도 7a는 일 실시예에 따른 부호화부(310)의 구체적인 블록도를 도시한다. 도 7a의 부호화부(310)는 도 3b의 부호화부(310)에 대응되므로 중복되는 설명은 생략한다. 도 7a에 도시된 일 실시예에 따른 부호화부(310)는, 패치들이 패킹된 2D 영상에 포함되는 점들의 인덱스에 기초하여, 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다.
일 실시예에 따른 점 데이터 부호화부(313)의 패치 생성부(601)는, 복수의 점들을 2D 평면 상에 프로젝션함으로써 패치들을 생성할 수 있다. 점 데이터 부호화부(313)의 패킹 영상 생성부(602)는, 패치들을 패킹함으로써, 점의 위치 정보를 나타내는 2D 지오메트리 영상을 생성할 수 있다.
일 실시예에 따른 점 연결 데이터 부호화부(315)의 점 순서 매핑부(705)는, 패치들이 패킹된 2D 영상에 기초하여, 메쉬 데이터의 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다. 점 연결 데이터 부호화부(315)의 점 연결 데이터 압축부(706)는, 복수의 면들의 연결 정보를 추출함으로써, 리오더링된 면 정보를 압축할 수 있다. 면 정보를 압축하는 구체적인 방법은 앞서 도 4a 내지 도 4c를 참조하여 설명하였으므로 중복되는 설명은 생략한다.
점 데이터 부호화부(313)의 2D 데이터 압축부(603)는, 2D 영상들을 압축할 수 있다. 예를 들어, 2D 데이터 압축부(603)는, HEVC와 같은 일반적인 2D 비디오 압축 방식을 이용하여 2D 영상들을 압축할 수 있다. 점 데이터 부호화부(313)의 3차원 데이터 재구성부(604)는, 압축된 2D 지오메트리 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성할 수 있다.
도 7b를 참조하면, 본 개시의 일 실시 예에 따른 부호화부(310)는, 점 데이터 부호화부(313)에서 패치 패킹을 수행할 때, 점 연결 데이터 부호화부(315)에서 점 연결 데이터에 대한 압축을 진행할 수 있다. 3차원 객체를 프로젝션함으로써 생성되는 패치들(741)에 포함되는 점의 순서는, 패치들을 회전 및/또는 재배치 함으로써 패킹하는 단계를 거치면서 변경된다. 도 7b에 도시된 바와 같이, 패킹 영상들(742)에 포함되는 점의 순서는, 패치들(741)에 포함되는 점의 순서와 상이하다.
따라서, 본 개시의 일 실시예에 따른 점 연결 데이터 부호화부(315)는, 패킹 영상들(742)에 포함되는 점들의 점 인덱스와 3차원 메쉬 데이터 원본(730)의 점 인덱스를 매핑함으로써 리오더링된 면 정보(745)를 생성할 수 있다.점 연결 데이터 부호화부(315)는, 패킹이 완료된 시점부터 점 연결 정보를 압축하기 시작함으로써, 패킹 영상을 압축하고 재구성하는 단계를 기다리는 시간만큼 데이터 처리 시간을 감소시킬 수 있다.
점 연결 데이터 부호화부(315)는 리오더링된 면 정보(745)에 대해서 압축을 수행할 수 있다. 점 연결 데이터 부호화부(315)는 리오더링된 면 정보에 포함되는 복수의 면들의 연결 정보를 추출함으로써, 압축된 면 정보를 생성하고 출력할 수 있다.
다만, 3차원 데이터 재구성부(604)가 재구성 단계를 마쳐야 최종적으로 점들의 순서가 결정되므로, 최종 리오더링은 제일 마지막 단계에서 진행될 수 있다. 일 실시 예에 따른 부호화부(310)는, 3차원 재구성 데이터(744)에 포함되는 점들의 인덱스에 기초하여, 리오더링된 면 정보(745)가 압축된 면 정보를 최종적으로 리오더링함으로써 리오더링된 압축된 면 정보(746)를 생성할 수 있다. 그러나 본 개시는, 부호화부(310)가 3차원 재구성 데이터를 고려하여 최종적으로 리오더링된 면 정보를 직접적으로 전송하는 실시예에 제한되지 않는다. 일 실시 예에 따른 부호화부(310)는, 패킹 영상에 기초하여 압축된 면 정보를 전송하되, 3차원 재구성 데이터(744)에 포함되는 점들의 인덱스와 압축된 면 정보에 포함되는 점들의 인덱스를 비교한 정보를 메타 데이터에 포함시켜 디코더에게 전송할 수 있다. 디코더는 메타 데이터에 기초하여, 압축된 면 정보를 리오더링함으로써 3차원 메쉬 데이터를 재구성할 수 있다.
한편, 도 8a 및 도 8b는 본 개시의 또 다른 일 실시 예에 따라 3차원 메쉬 데이터를 압축하는 방법을 설명하기 위한 도면이다.
도 8a는 일 실시예에 따른 부호화부(310)의 구체적인 블록도를 도시한다. 도 8a의 부호화부(310)는 도 3b의 부호화부(310)에 대응되므로 중복되는 설명은 생략한다. 도 8a에 도시된 일 실시예에 따른 부호화부(310)는, 패치에 포함되는 점들의 인덱스에 기초하여, 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다.
일 실시예에 따른 점 데이터 부호화부(313)의 패치 생성부(601)는, 복수의 점들을 2D 평면 상에 프로젝션함으로써 패치들을 생성할 수 있다.
일 실시예에 따른 점 연결 데이터 부호화부(315)의 점 순서 매핑부(805)는, 생성된 패치에 기초하여, 메쉬 데이터의 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다. 점 연결 데이터 부호화부(315)의 점 연결 데이터 압축부(806)는, 복수의 면들의 연결 정보를 추출함으로써, 리오더링된 면 정보를 압축할 수 있다. 면 정보를 압축하는 구체적인 방법은 앞서 도 4a 내지 도 4c를 참조하여 설명하였으므로 중복되는 설명은 생략한다.
점 데이터 부호화부(313)의 패킹 영상 생성부(602)는, 패치들을 패킹함으로써, 점의 위치 정보를 나타내는 2D 지오메트리 영상을 생성할 수 있다. 점 데이터 부호화부(313)의 2D 데이터 압축부(603)는, 2D 영상들을 압축할 수 있다. 예를 들어, 2D 데이터 압축부(603)는, HEVC와 같은 일반적인 2D 비디오 압축 방식을 이용하여 2D 영상들을 압축할 수 있다. 점 데이터 부호화부(313)의 3차원 데이터 재구성부(604)는, 압축된 2D 지오메트리 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성할 수 있다.
도 8b를 참조하면, 본 개시의 일 실시 예에 따른 부호화부(310)는, 점 데이터 부호화부(313)에서 패치를 생성할 때, 점 연결 데이터 부호화부(315)에서 점 연결 데이터에 대한 압축을 진행할 수 있다. 본 개시의 일 실시예에 따른 점 연결 데이터 부호화부(315)는, 점 데이터 부호화부(313)에서 패치들(841)을 생성하면, 각 패치 내의 면들의 연결 정보에 기초하여, 면 정보를 압축할 수 있다. 점 연결 데이터 부호화부(315)는, 모든 패치들이 생성되고 패치들이 회전 및/또는 이동하는 과정을 거쳐 2D 영상 상에 패킹될 때까지 기다리지 않고, 하나의 패치가 생성되면 바로 해당 패치에 대한 점 연결 정보 압축을 시작할 수 있다.
점 연결 데이터 부호화부(315)는, 패치(841)에 포함되는 점들의 점 인덱스와 3차원 메쉬 데이터 원본(830)의 점 인덱스를 매핑함으로써 리오더링된 면 정보를 생성하고 압축할 수 있다.점 연결 데이터 부호화부(315)는, 하나의 패치가 생성된 시점부터 해당 패치 내에 포함되는 면 정보를 압축하기 시작함으로써, 모든 패치들을 생성하고 패킹하고 재구성하는 단계를 기다리는 시간만큼 데이터 처리 시간을 감소시킬 수 있다.
패치에 기초하여 점 연결 정보를 압축하게 되면, 하나의 패치 내에 포함되는 점들을 포함하는 면들에 대한 정보만을 검색하기 때문에, 검색 대상이 줄어들어 처리 시간이 단축된다. 또한, 본 개시의 일 실시 예에 따른 점 연결 데이터 부호화부(315)는, 2개 이상의 패치들이 생성되고 인접한 패치들 간의 경계(즉, 서로 맞닿는 점들)가 특정되면, 인접한 패치들 사이의 점 연결 정보에 대한 압축을 수행할 수 있다.
도 8b에 도시된 바와 같이, 점 연결 데이터 부호화부(315)는, 점 데이터 부호화부(313)에서 패치 A 및 패치 B가 생성되면, 패치 A 및 패치 B 사이의 경계 영역에 대한 면 정보를 획득하고 압축할 수 있다.
점 연결 데이터 부호화부(315)는 패치에 기초하여 리오더링된 면 정보 각각에 대해서 압축을 수행할 수 있다. 점 연결 데이터 부호화부(315)는 패치에 기초하여 리오더링된 면 정보에 포함되는 복수의 면들의 연결 정보를 추출함으로써, 패치 A에 대한 압축된 면 정보(845) 및 패치 B에 대한 압축된 면 정보(846)를 생성하고 출력할 수 있다. 또한, 점 연결 데이터 부호화부(315)는, 패치 A의 경계 및 패치 B의 경계 사이의 영역에 대한 면 정보(847)를 획득하고 압축할 수 있다.
다만, 3차원 데이터 재구성부(604)가 재구성 단계를 마쳐야 최종적으로 점들의 순서가 결정되므로, 최종 리오더링은 제일 마지막 단계에서 진행될 수 있다. 일 실시 예에 따른 부호화부(310)는, 3차원 재구성 데이터(844)에 포함되는 점들의 인덱스에 기초하여, 리오더링된 면 정보가 압축된 면 정보(845, 846, 847)를 최종적으로 리오더링함으로써 리오더링된 압축된 면 정보(848)를 생성할 수 있다.
그러나 본 개시는, 부호화부(310)가 3차원 재구성 데이터를 고려하여 최종적으로 리오더링된 면 정보를 직접적으로 전송하는 실시예에 제한되지 않는다. 일 실시 예에 따른 부호화부(310)는, 패치에 기초하여 리오더링되고 압축된 면 정보를 전송하되, 3차원 재구성 데이터(844)에 포함되는 점들의 인덱스와 압축된 면 정보에 포함되는 점들의 인덱스를 비교한 정보를 메타 데이터에 포함시켜 디코더에게 전송할 수 있다. 디코더는 메타 데이터에 기초하여, 압축된 면 정보를 리오더링함으로써 3차원 메쉬 데이터를 재구성할 수 있다.
도 9는 인접한 패치들의 경계를 판단하는 방법을 설명하기 위한 도면이다.
포인트 클라우드 압축에 있어서 패치란, 3차원 공간 내의 기준점이 2D 평면 상에 투사되는 방향과 동일한 방향으로 투사되는 기준점 주변의 점들의 집합을 의미할 수 있다.
본 개시의 일 실시 예에 따른 부호화부(310)는, 3차원 객체로부터 패치들을 생성하는 과정에서, 인접한 패치들 간의 경계를 판단하는 동작을 추가로 수행할 수 있다. 부호화부(310)는, 패치들 간의 인접성(즉, 어떤 패치와 어떤 패치가 서로 인접하는 관계인지 여부)을 판단하고, 인접한 패치들 사이의 점 연결 정보(예를 들어, 면 정보)를 판단하고 디코더 단에 전달할 수 있다.
도 9를 참조하여 설명하면, 3차원 객체(900)의 기준점 P 의 투사 방향 Px와 주변점 Q의 투사 방향 Py가 서로 다를 때, 점 P에 대한 정보는 패치 X 내에 저장되고, 점 Q에 대한 정보는 패치 Y 내에 저장될 수 있다. 이 때, 점 P는 패치 X의 경계점이 되고, 점 Q는 패치 Y의 경계점이 되고, 패치 X와 패치 Y는 서로 인접한 패치 관계가 된다. 본 개시의 일 실시 예에 따른 부호화부(310)는, 패치 Y가 패치 X가 생성된 이후에 생성될 예정이면, 패치 Y를 패치 X의 "후보 인접 패치"로 지정할 수 있다. 본 개시의 일 실시 예에 따른 부호화부(310)는, 패치 Y가 패치 X가 생성되기 전에 생성되었다면, 패치 Y를 패치 X의"인접 패치"로 지정할 수 있다.
본 개시의 일 실시 예에 따른 부호화부(310)는 패치 X 및 패치 Y 각각에 포함되는 면들에 대한 정보를 압축해서 출력할 수 있다. 또한, 부호화부(310)는 인접한 패치들인 패치 X와 패치 Y 사이의 영역(930)에 포함되는 면들에 대한 정보인 경계 정보도 압축해서 출력할 수 있다.
본 개시의 일 실시 예에 따르면, "인접한 패치들 간의 경계를 판단"하는 동작은 "어느 한 패치의 전체 경계 중 특정 패치와 인접한 구간을 '특정 패치와의 경계'로서 판단"하는 동작을 포함할 수 있다.
예를 들어, 도 9에 도시된 바와 같이, 부호화부(310)는, 패치 X(910)의 경계 및 패치 Y(920)의 경계를 판단하고, 패치 X(910)의 전체 경계 중에서 패치 Y(920)와 인접한 구간을 판단하고, 인접한 구간에 포함되는 점들의 연결 정보(즉, 패치 X(910)와 패치 Y(920)가 인접한 영역(930)에 포함되는 면 정보)를 출력할 수 있다.
일반적인 패치 생성 방법에 따르면, 부호화부는, 하나의 3차원 포인트 클라우드 프레임에 속한 모든 포인트들 중에서 아직 어떠한 패치에도 저장되지 않은 점을 기준점으로 설정할 수 있다. 일반적인 부호화부는 기준점을 새로운 기준 패치에 저장하고, 기준점의 투사 방향을 계산할 수 있다. 일반적인 부호화부는, 기준점의 주변점들 중에서 아직 어느 패치에도 저장되지 않은 점들의 투사 방향을 계산할 수 있다. 일반적인 부호화부는, 주변점들 중에서 기준점과 동일한 투사 방향을 갖는 점들만 기준 패치 내에 저장할 수 있다. 상술한 과정을 반복하면서, 부호화부는 3차원 포인트 클라우드에 대한 복수의 패치들을 생성할 수 있다.
일반적인 패치 생성 방법과 비교하여, 본 개시의 일 실시 예에 따른 부호화부(310)는 도 10에 도시된 바와 같은 패치 경계 정보를 추가로 생성할 수 있다.
먼저, 부호화부(310)는, 하나의 3차원 포인트 클라우드 프레임에 속한 모든 점들 중에서, 아직 어떠한 패치에도 저장되지 않은 점을 기준점으로 설정할 수 있다. 부호화부(310)는 기준점을 새로운 기준 패치에 저장하고, 기준점의 투사 방향을 계산할 수 있다.
부호화부(310)는, 기준점의 주변점들 중에서 아직 어느 패치에도 저장되지 않은 점들의 투사 방향을 계산할 수 있다. 부호화부(310)는 주변점들 중에서 기준점과 동일한 투사 방향을 갖는 점들을 기준 패치 내에 저장할 수 있다.
만약, 주변점의 투사 방향이 기준점의 투사 방향과 동일하지 않은 경우, 부호화부(310)는 후보 인접 패치 리스트를 생성할 수 있다. 부호화부(310)는 해당 주변점의 투사 방향을 기준으로 “후보 인접 패치 인덱스”를 지정하고, 해당 주변점을 해당 “후보 인접 패치의 경계점들의 집합”에 추가하고, 기준점을 “해당 후보 인접 패치에 대한 기준 패치의 경계점들의 집합”에 추가할 수 있다.
도 10의 후보 인접 패치 리스트(1010)에 도시된 바와 같이, 부호화부(310)는 각 패치에 대한 정보를 포함하는 후보 인접 패치 리스트를 생성할 수 있다. 제1 후보 인접 패치에 대한 후보 인접 패치 리스트(1010)는, 제1 후보 인접 패치의 투사 방향, 제 제1 후보 인접 패치의 인덱스, 제1 후보 인접 패치의 경계점들의 집합 및 제1 후보 인접 패치에 대한 기준 패치의 경계점들의 집합을 포함할 수 있다.
도 10에는 후보 인접 패치 리스트(1010)가 제1 후보 인접 패치에 대한 정보만을 포함하는 것으로 도시되었으나, 실시 예는 도 10에 제한되지 않는다. 후보 인접 패치 리스트(1010)가 n 개의 후보 인접 패치에 대한 정보를 포함하는 경우, 후보 인접 패치 리스트(1010)는 각 후보 인접 패치에 대한 정보를 포함하는 n 개의 행으로 구성될 수 있다.
본 개시의 일 실시 예에 따른 부호화부(310)는, 기준점의 주변점들 중에서 이미 다른 패치에 저장된 점들에 대해서 인접 패치 리스트를 생성할 수 있다. 부호화부(310)는, 후보 인접 패치 리스트에서 해당 주변점이 “후보 인접 패치에 대한 기준 패치의 경계점들의 집합”에 속하는 후보 인접 패치를 검색할 수 있다. 해당 주변점이 “후보 인접 패치에 대한 기준 패치의 경계점들의 집합”에 속하는 후보 인접 패치가 후보 인접 패치 리스트에서 검색되는 경우, 부호화부(310)는 인접 패치 리스트를 생성할 수 있다. 부호화부(310)는, 해당 후보 인접 패치의 “후보 인접 패치 인덱스를”를 “인접 패치의 인덱스”에 추가하고, 해당 후보 인접 패치의 “해당 후보 인접 패치에 대한 기준 패치의 경계점들의 집합"을 "인접 패치의 경계점들의 집합"에 추가할 수 있다.
상술한 과정을 반복하면서, 본 개시의 일 실시 예에 따른 부호화부(310)는 복수의 패치들에 대한 패치 경계 정보를 생성할 수 있다. 도 10의 인접 패치 리스트(1020)에 도시된 바와 같이, 부호화부(310)는 각 패치에 대한 정보를 포함하는 인접 패치 리스트를 생성할 수 있다. 제1 인접 패치에 대한 인접 패치 리스트(1020)는, 제1 인접 패치의 투사 방향, 제1 인접 패치의 인덱스, 제1 인접 패치의 경계점들의 집합 및 제1 인접 패치에 대한 기준 패치의 경계점들의 집합을 포함할 수 있다.
도 10에는 인접 패치 리스트(1020)가 제1 인접 패치에 대한 정보만을 포함하는 것으로 도시되었으나, 실시 예는 도 10에 제한되지 않는다. 인접 패치 리스트(1020)가 n 개의 인접 패치에 대한 정보를 포함하는 경우, 인접 패치 리스트(1020)는 각 인접 패치에 대한 정보를 포함하는 n 개의 행으로 구성될 수 있다.
도 11은 본 개시의 다양한 실시 예들에 따라 3차원 데이터를 부호화하는 시간이 단축되는 효과를 설명하기 위한 도면이다.
본 개시의 일 실시 예에 따른 부호화부(310)는 점 데이터 압축과 점 연결 데이터 압축을 직렬적으로 또는 병렬적으로 수행할 수 있다.
도 11에 도시된 그래프(1110)은, 본 개시의 일 실시 예에 따라, 부호화부(310)가 3차원 재구성 데이터에 포함되는 점들의 인덱스에 기초하여 면 정보에 포함되는 점들의 인덱스를 리오더링 하고 압축 할 때 소요되는 시간의 예를 도시한다.
그래프(1120)는, 본 개시의 다른 일 실시 예에 따라, 부호화부(310)가 패치들이 패킹된 2D 영상에 포함되는 점들의 인덱스에 기초하여, 면 정보에 포함되는 점들의 인덱스를 리오더링하고 압축할 때 소요되는 시간의 예를 도시한다.
그래프(1130)은, 본 개시의 또 다른 일 실시 예에 따라, 부호화부(310)가 패치에 포함되는 점들의 인덱스에 기초하여, 면 정보에 포함되는 점들의 인덱스를 리오더링 하고 압축 할 때 소요되는 시간의 예를 도시한다.
그래프(1130)에 도시된 바와 같이, 본 개시의 또 다른 일 실시 예에 따른 부호화부(310)는, 패치 단위로 점 연결 데이터를 압축하기 때문에 , 모든 패치들이 생성되고 패치들이 회전 및/또는 이동하는 과정을 거쳐 2D 영상 상에 패킹되고 압축 및 압축 해제될 때까지 기다리지 않고, 하나의 패치가 생성되면 바로 해당 패치에 대한 점 연결 정보 압축을 시작할 수 있다. 따라서 본 개시의 또 다른 일 실시 예에 따르면, 3차원 메쉬 데이터를 압축하기 위해 소요되는 전체 처리 시간을 단축할 수 있다.
도 12a 및 도 12b는 본 개시의 일 실시 예에 따른 3차원 데이터 재구성 장치의 블록도를 도시한다. 본 개시의 일 실시 예에 따른 3차원 데이터 재구성 장치(1200)는, 부호화된 3차원 영상을 복호화하고 출력하는 3차원 영상 복호화 장치일 수 있다.
도 12a에 도시된 바와 같이, 일 실시예에 따른 3차원 데이터 재구성 장치(1200)는, 비트스트림을 수신하고, 비트스트림을 처리하여 재구성된 3차원 메쉬 데이터를 출력할 수 있다. 도 12a에 도시된 바와 같이, 일 실시예에 따른 3차원 데이터 재구성 장치(1200)는, 수신부(1210) 및 복호화부(1220)를 포함할 수 있다.
일 실시예에 따른 3차원 데이터 재구성 장치(1200)의 수신부(1210)는, 3차원 데이터에 대한 정보가 압축된 비트스트림을 수신할 수 있다. 예를 들어, 3차원 데이터 재구성 장치(1200)의 수신부(1220)는, 네트워크를 통해 영상 부호화 장치(또는, 3차원 데이터 압축 장치)로부터 비트스트림을 수신하거나, 내부에 저장된 비트스트림을 획득할할 수 있다.
일 실시예에 따른 3차원 데이터 재구성 장치(1200)의 복호화부(1220)는, 수신된 비트스트림으로부터 압축되고 부호화된 3차원 데이터를 획득하고, 복호화할 수 있다. 복호화부(1220)는, 부호화된 3차원 데이터를 재구성함으로써 3차원 영상(또는, 3차원 메쉬 데이터)을 생성하고 출력할 수 있다.
일 실시 예에 따른 복호화부(1220)는, 비트스트림으로부터 압축된 점 데이터 및 압축된 점 연결 데이터를 획득하고, 압축된 점 데이터를 복호화함으로써 복수의 점들의 위치를 나타내는 점 정보를 획득할 수 있다. 복호화부(1220)는, 압축된 점 연결 데이터를 복호화함으로써 복수의 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 획득하고, 점 정보 및 면 정보에 기초하여 3차원 메쉬 데이터를 생성하고 출력할 수 있다. 압축된 점 연결 데이터는 복수의 면들의 연결 정보를 포함할 수 있다. 압축된 점 연결 데이터는, 점 정보가 압축되는 과정을 고려하여 인덱스가 리오더링된 면 정보를 포함할 수 있다.
일 실시예에 따른 3차원 데이터 재구성 장치(1200)의 복호화부(1220)는, 비트스트림으로부터 재구성된 복수의 3차원 프레임들을 포함하는 3차원 비디오를 출력할 수 있다. 예를 들어, 복호화부(1220)는, 3차원 재구성 데이터에 기초하여, 3차원 영상을 디스플레이 상에 출력할 수 있다.
이하, 도 12b를 참조하여, 일 실시예에 따른 3차원 데이터 재구성 장치(1200)의 복호화부(1220)가 3차원 데이터를 처리하는 방법에 대해 구체적으로 설명한다. 복호화부(1220)는 적어도 하나의 프로세서를 포함할 수 있으며, 이하에서 서술하는 복호화부(1220)의 동작들은 복수의 프로세서들에 의해 수행될 수 있다.
일 실시예에 따른 복호화부(1220)의 데이터 해제부(1221)는, 비트스트림으로부터 획득된 압축된 3차원 메쉬 데이터로부터 압축된 점 데이터 및 압축된 점 연결 데이터를 획득할 수 있다. 점 데이터는, 복수의 점들의 위치를 나타내는 점 정보를 포함하고, 점 연결 데이터는, 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 포함할 수 있다.
일 실시예에 따른 복호화부(1220)의 점 데이터 복호화부(1223)는 압축된 점 데이터를 복호화함으로써 복수의 점들의 위치를 나타내는 점 정보를 획득할 수 있다. 점 데이터 복호화부(1223)는 비디오 기반 포인트 클라우드 압축 해제(Video based Point Cloud DeCompression) 방식을 이용하여 점 정보를 압축 해제할 수 있다.
복호화부(1220)의 점 데이터 복호화부(1223)는, 압축된 점 데이터로부터 지오메트리 영상 및 텍스쳐 영상을 획득할 수 있다. 또한, 복호화부(1220)는, 보정 정보를 포함하는 보조 정보(Auxiliary information) 및 오큐팬시 맵을 비트스트림으로부터 더 획득할 수 있다.
복호화부(1220)의 점 데이터 복호화부(1223)는 지오메트리 영상을 재구성함으로써 3차원 재구성 데이터를 생성할 수 있다. 복호화부(1220)의 점 데이터 복호화부(1223)는 압축 해제된 지오메트리 영상, 압축 해제된 오큐팬시 맵, 및 압축 해제된 보조 정보에 기초하여, 3차원 공간 내에 포인트들이 배치된 3차원 재구성 데이터를 생성할 수 있다.
일 실시 예에 따른 복호화부(1220)의 점 연결 데이터 복호화부(1225)는, 압축된 점 연결 데이터를 복호화함으로써 복수의 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 획득할 수 있다. 압축된 점 연결 데이터는 복수의 면들의 연결 정보를 포함할 수 있다. 예를 들어, 압축된 점 연결 데이터는, 면 심볼 스트립 형태일 수 있다.
면 정보에 포함되는 점들의 인덱스는, 점 데이터를 압축하는 과정을 고려하여 리오더링된 것일 수 있다. 예를 들어, 면 정보에 포함되는 점들의 인덱스는, 인코더 단에서 점 데이터를 압축하는 과정에서 생성되는 패치들, 2D 영상, 및 3차원 재구성 데이터 중 하나에 포함되는 점들의 인덱스에 기초하여, 리오더링된 것일 수 있다.
데이터 통합부(1227)는, 압축 해제된 점 정보 및 압축 해제된 면 정보를 통합하여 3차원 메쉬 데이터를 출력할 수 있다. 데이터 통합부(1227)는, 첫번째 면을 기준으로 면이 추가되는 방향을 나타내는 심볼 및 추가되는 점에 기초하여, 면 정보를 복원할 수 있다.
도 13은 본 개시의 일 실시 예에 따른 3차원 데이터 부호화 방법의 흐름도를 도시한다.
상술한 바와 같이, 본 개시의 일 실시 예에 따른 3차원 데이터 부호화 장치(300)는, 3차원 메쉬 데이터를 점 정보와 점 연결 정보로 나누어 압축함으로써 압축 정확도와 속도를 높일 수 있다. 또한, 본 개시의 일 실시 예에 따르면, 포이트 클라우드 압축 기반 시스템을 이용하여 메쉬 데이터를 압축할 수 있다는 장점이 있다. 이하에서는, 도 13을 참조하여, 다양한 실시 예들에 따른 3차원 데이터 부호화 장치(300)가 3차원 데이터를 압축하는 방법을 구체적으로 설명한다.
도 13은 본 개시의 일 실시 예에 따른 3차원 데이터 부호화 방법의 흐름도를 도시한다. 이하에서 서술하는 방법의 각 단계는, 도 3a 및 도 3b에 도시된 3차원 데이터 부호화 장치(300)의 각 구성들에 의해 수행될 수 있다. 3차원 데이터 부호화 장치(300)와 관련하여 상술한 설명은 이하의 방법들의 각 단계에도 적용될 수 있다. 중복되는 설명은 생략한다.
단계 S1310에서 일 실시예에 따른 3차원 데이터 부호화 장치(300)는, 3차원 메쉬 데이터로부터 복수의 점들의 위치를 나타내는 점 정보 및 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 획득할 수 있다.
단계 S1320에서 일 실시예에 따른 3차원 데이터 부호화 장치(300)는, 복수의 점들을 2D 평면 상에 프로젝션함으로써 점 정보를 압축할 수 있다.
3차원 데이터 부호화 장치(300)는, 복수의 점들을 2D 평면 상에 프로젝션함으로써 패치들을 생성하고, 패치들을 패킹함으로써 2D 영상을 생성하고, 2D 영상을 압축할 수 있다. 3차원 데이터 부호화 장치(300)는, V-PCC 방식을 이용하여, 점 정보를 2D 지오메트리 영상으로 압축할 수 있다.
단계 S1330에서 일 실시예에 따른 3차원 데이터 부호화 장치(300)는, 점 정보가 압축되는 과정을 고려하여, 면 정보에 포함되는 점들의 인덱스를 리오더링 할 수 있다.
3차원 데이터 부호화 장치(300)는, 패치들, 2D 영상, 및 3차원 재구성 데이터 중 하나에 포함되는 점들의 인덱스에 기초하여, 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다.
일 실시 예에 따르면 3차원 데이터 부호화 장치(300)는, 패치에 포함되는 점들의 인덱스에 기초하여, 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다.
단계 S1340에서 일 실시예에 따른 3차원 데이터 부호화 장치(300)는, 복수의 면들의 연결 정보를 추출함으로써, 리오더링된 면 정보를 압축할 수 있다.
본 개시의 일 실시 예에 따른 3차원 데이터 부호화 장치(300)는, 리오더링된 면 정보에 포함되는 복수의 면들 중 제1 면에 기초하여, 제1 면과 인접한 제2 면이 연결된 방향에 대한 정보를 5가지 값들 중 하나의 값으로 나타냄으로써 리오더링된 면 정보를 압축할 수 있다. 예를 들어, 면 정보의 압축을 위해서, 엣지 브레이커 알고리즘이 이용될 수 있다.
일 실시예에 따른 3차원 데이터 부호화 장치(300)는, 패치에 포함되는 면들의 연결 정보를 추출하고, 패치들의 경계 간의 영역에 포함되는 면들의 연결 정보를 추출할 수 있다. 일 실시 예에 따르면, 압축된 면 정보는, 패치에 포함되는 면들의 연결 정보 및 패치들의 경계 간의 영역에 포함되는 면들의 연결 정보를 포함할 수 있다.
단계 S1340에서 일 실시예에 따른 3차원 데이터 부호화 장치(300)는, 압축된 점 정보 및 압축된 면 정보를 포함하는 비트스트림을 생성하고 출력할 수 있다.
한편, 본 개시의 일 실시 예에 따른 3차원 데이터 부호화 장치(300)는, 단계 S1320에서 압축된 2D 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성하는 동작을 더 수행할 수 있다. 3차원 데이터 부호화 장치(300)는, 3차원 메쉬 데이터에 포함되는 복수의 점들의 색상 정보 및 3차원 재구성 데이터에 기초하여 텍스쳐 영상을 생성하고 압축할 수 있다. 본 개시의 일 실시 예에 따른 3차원 데이터 부호화 장치(300)는, 단계 S1330에서 3차원 재구성 데이터에 포함되는 점들의 인덱스에 기초하여, 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다. 단계 S1340에서 3차원 데이터 부호화 장치(300)는, 리오더링된 면 정보를 압축할 수 있다.
한편, 본 개시의 일 실시 예에 따른 3차원 데이터 부호화 장치(300)는, 단계 S1330에서, 패치들이 패킹된 2D 영상에 포함되는 점들의 인덱스에 기초하여, 면 정보에 포함되는 점들의 인덱스를 리오더링할 수 있다. 단계 S1340에서 3차원 데이터 부호화 장치(300)는, 리오더링된 면 정보를 압축할 수 있다.
3차원 데이터 부호화 장치(300)는, 3차원 재구성 데이터에 포함되는 점들의 인덱스에 기초하여, 압축된 면 정보에 포함되는 점들의 인덱스를 최종적으로 리오더링할 수 있다. 3차원 데이터 부호화 장치(300)는, 3차원 재구성 데이터에 기초하여 최종적으로 리오더링된 면 정보를 3차원 데이터 재구성 장치에게 전송할 수 있다. 또는, 3차원 데이터 부호화 장치(300)는, 압축된 면 정보를 전송하되, 3차원 재구성 데이터에 포함되는 점들의 인덱스와 압축된 면 정보에 포함되는 점들의 인덱스를 비교한 정보를 메타 데이터에 포함시켜 3차원 데이터 재구성 장치에게 전송할 수 있다.
도 14는 본 개시의 일 실시 예에 따른 3차원 데이터 재구성 방법의 흐름도를 도시한다. 이하에서 서술하는 방법의 각 단계는, 도 12a 및 도 12b에 도시된 3차원 데이터 재구성 장치(1200)의 각 구성들에 의해 수행될 수 있다. 3차원 데이터 재구성 장치(1200)와 관련하여 상술한 설명은 이하의 방법들의 각 단계에도 적용될 수 있다. 중복되는 설명은 생략한다.
단계 S1410에서 3차원 데이터 재구성 장치(1200)는, 수신된 비트스트림으로부터 압축된 점 데이터 및 압축된 점 연결 데이터를 획득할 수 있다. 단계 S1420에서 3차원 데이터 재구성 장치(1200)는 압축된 점 데이터를 복호화함으로써 복수의 점들의 위치를 나타내는 점 정보를 획득할 수 있다. 단계 S1430에서 3차원 데이터 재구성 장치(1200)는, 압축된 점 연결 데이터를 복호화함으로써 복수의 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 획득할 수 있다. 압축된 점 연결 데이터는, 복수의 면들의 연결 정보를 포함할 수 있다. 단계 S1440에서 3차원 데이터 재구성 장치(1200)는 점 정보 및 면 정보에 기초하여 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 (20)

  1. 3차원 데이터를 부호화 하는 방법에 있어서,
    3차원 메쉬 데이터로부터 복수의 점들의 위치를 나타내는 점 정보 및 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 획득하는 단계;
    상기 복수의 점들을 2D 평면 상에 프로젝션함으로써 상기 점 정보를 압축하는 단계;
    상기 점 정보가 압축되는 과정을 고려하여, 상기 면 정보에 포함되는 점들의 인덱스를 리오더링(reordering)하는 단계;
    상기 복수의 면들의 연결 정보를 추출함으로써, 상기 리오더링된 면 정보를 압축하는 단계; 및
    상기 압축된 점 정보 및 상기 압축된 면 정보를 포함하는 비트스트림을 생성하고 출력하는 단계를 포함하는, 3차원 데이터 부호화 방법.
  2. 제1 항에 있어서,
    상기 점 정보를 압축하는 단계는,
    상기 복수의 점들을 2D 평면 상에 프로젝션함으로써 패치들을 생성하는 단계;
    상기 패치들을 패킹함으로써 2D 영상을 생성하는 단계; 및
    상기 2D 영상을 압축하는 단계를 포함하는 것을 특징으로 하는, 3차원 데이터 부호화 방법.
  3. 제1 항에 있어서,
    상기 점 정보를 압축하는 단계는,
    V-PCC(Video based Point Cloud Compressiong) 방식을 이용하여, 상기 점 정보를 2D 지오메트리 영상으로 압축하는 단계를 포함하는 것을 특징으로 하는, 3차원 데이터 부호화 방법.
  4. 제2 항에 있어서,
    상기 점 정보를 압축하는 단계는,
    상기 압축된 2D 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성하는 단계; 및
    상기 3차원 메쉬 데이터에 포함되는 상기 복수의 점들의 색상 정보 및 상기 3차원 재구성 데이터에 기초하여 텍스쳐 영상을 생성하고 압축하는 단계를 더 포함하는 것을 특징으로 하는, 3차원 데이터 부호화 방법.
  5. 제4 항에 있어서,
    상기 면 정보에 포함되는 점들의 인덱스를 리오더링하는 단계는,
    상기 패치들, 상기 2D 영상, 및 상기 3차원 재구성 데이터 중 하나에 포함되는 점들의 인덱스에 기초하여, 상기 면 정보에 포함되는 점들의 인덱스를 리오더링하는 단계를 포함하는 것을 특징으로 하는, 3차원 데이터 부호화 방법.
  6. 제4 항에 있어서,
    상기 면 정보에 포함되는 점들의 인덱스를 리오더링하는 단계는,
    상기 3차원 재구성 데이터에 포함되는 점들의 인덱스에 기초하여, 상기 면 정보에 포함되는 점들의 인덱스를 리오더링하는 단계를 포함하는 것을 특징으로 하는, 3차원 데이터 부호화 방법.
  7. 제4 항에 있어서,
    상기 면 정보에 포함되는 점들의 인덱스를 리오더링하는 단계는,
    상기 2D 영상에 포함되는 점들의 인덱스에 기초하여, 상기 면 정보에 포함되는 점들의 인덱스를 리오더링하는 단계를 포함하고,
    상기 비트스트림을 생성하고 출력하는 단계는,
    상기 3차원 재구성 데이터에 포함되는 점들의 인덱스에 기초하여, 상기 압축된 면 정보에 포함되는 점들의 인덱스를 리오더링하는 단계를 포함하는 것을 특징으로 하는, 3차원 데이터 부호화 방법.
  8. 제4 항에 있어서,
    상기 면 정보에 포함되는 점들의 인덱스를 리오더링하는 단계는,
    상기 2D 영상에 포함되는 점들의 인덱스에 기초하여, 상기 면 정보에 포함되는 점들의 인덱스를 리오더링하는 단계를 포함하고,
    상기 비트스트림을 생성하고 출력하는 단계는,
    상기 3차원 재구성 데이터에 포함되는 점들의 인덱스와 관련된 정보를 포함하는 메타 데이터를 포함하는 상기 비트스트림을 출력하는 단계를 포함하는 것을 특징으로 하는, 3차원 데이터 부호화 방법.
  9. 제4 항에 있어서,
    상기 면 정보에 포함되는 점들의 인덱스를 리오더링하는 단계는,
    패치에 포함되는 점들의 인덱스에 기초하여, 상기 면 정보에 포함되는 점들의 인덱스를 리오더링하는 단계를 포함하고,
    상기 리오더링된 면 정보를 압축하는 단계는,
    상기 패치에 포함되는 면들의 연결 정보를 추출하는 단계; 및
    패치들의 경계 간의 영역에 포함되는 면들의 연결 정보를 추출하는 단계를 포함하고,
    상기 압축된 면 정보는, 상기 패치에 포함되는 면들의 연결 정보 및 상기 패치들의 경계 간의 영역에 포함되는 면들의 연결 정보를 포함하는 것을 특징으로 하는, 3차원 데이터 부호화 방법.
  10. 제1 항에 있어서,
    상기 리오더링된 면 정보를 압축하는 단계는,
    상기 복수의 면들 중 제1 면에 기초하여, 상기 제1 면과 인접한 제2 면이 연결된 방향에 대한 정보를 5가지 값들 중 하나의 값으로 나타냄으로써 상기 리오더링된 면 정보를 압축하는 단계를 포함하는 것을 특징으로 하는, 3차원 데이터 부호화 방법.
  11. 3차원 데이터를 부호화 하는 장치에 있어서,
    3차원 메쉬 데이터로부터 복수의 점들의 위치를 나타내는 점 정보 및 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 획득하고,
    상기 복수의 점들을 2D 평면 상에 프로젝션함으로써 상기 점 정보를 압축하고,
    상기 점 정보가 압축되는 과정을 고려하여, 상기 면 정보에 포함되는 점들의 인덱스를 리오더링하고,
    상기 복수의 면들의 연결 정보를 추출함으로써, 상기 리오더링된 면 정보를 압축하는, 적어도 하나의 프로세서; 및
    상기 압축된 점 정보 및 상기 압축된 면 정보를 포함하는 비트스트림을 출력하는, 출력부를 포함하는, 3차원 데이터 부호화 장치.
  12. 제11 항에 있어서,
    상기 적어도 하나의 프로세서는, 상기 점 정보를 압축함에 있어서,
    상기 복수의 점들을 2D 평면 상에 프로젝션함으로써 패치들을 생성하고, 상기 패치들을 패킹함으로써 2D 영상을 생성하고, 상기 2D 영상을 압축하는 것을 특징으로 하는, 3차원 데이터 부호화 장치.
  13. 제12 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 압축된 2D 영상을 압축 해제하고 재구성함으로써 3차원 재구성 데이터를 생성하고, 상기 3차원 메쉬 데이터에 포함되는 상기 복수의 점들의 색상 정보 및 상기 3차원 재구성 데이터에 기초하여 텍스쳐 영상을 생성하고 압축하는 것을 특징으로 하는, 3차원 데이터 부호화 장치.
  14. 제13 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 패치들, 상기 2D 영상, 및 상기 3차원 재구성 데이터 중 하나에 포함되는 점들의 인덱스에 기초하여, 상기 면 정보에 포함되는 점들의 인덱스를 리오더링하는 것을 특징으로 하는, 3차원 데이터 부호화 장치.
  15. 제13 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 3차원 재구성 데이터에 포함되는 점들의 인덱스에 기초하여, 상기 면 정보에 포함되는 점들의 인덱스를 리오더링하는 것을 특징으로 하는, 3차원 데이터 부호화 장치.
  16. 제13 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 2D 영상에 포함되는 점들의 인덱스에 기초하여, 상기 면 정보에 포함되는 점들의 인덱스를 리오더링하고,
    상기 3차원 재구성 데이터에 포함되는 점들의 인덱스에 기초하여, 상기 압축된 면 정보에 포함되는 점들의 인덱스의 리오더링을 추가적으로 수행하는 것을 특징으로 하는, 3차원 데이터 부호화 장치.
  17. 패치들의 경계 간의 영역에 포함되는 면들의 연결 정보를 추가로 전달)
    제13 항에 있어서,
    상기 적어도 하나의 프로세서는,
    패치에 포함되는 점들의 인덱스에 기초하여, 상기 면 정보에 포함되는 점들의 인덱스를 리오더링하고, 상기 패치에 포함되는 면들의 연결 정보를 추출하고, 패치들의 경계 간의 영역에 포함되는 면들의 연결 정보를 추출하고,
    상기 압축된 면 정보는, 상기 패치에 포함되는 면들의 연결 정보 및 상기 패치들의 경계 간의 영역에 포함되는 면들의 연결 정보를 포함하는 것을 특징으로 하는, 3차원 데이터 부호화 장치.
  18. 제11 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 복수의 면들 중 제1 면에 기초하여, 상기 제1 면과 인접한 제2 면이 연결된 방향에 대한 정보를 5가지 값들 중 하나의 값으로 나타냄으로써 상기 리오더링된 면 정보를 압축하는 것을 특징으로 하는, 3차원 데이터 부호화 장치.
  19. 수신된 비트스트림으로부터 압축된 점 데이터 및 압축된 점 연결 데이터를 획득하는 단계;
    상기 압축된 점 데이터를 복호화함으로써 복수의 점들의 위치를 나타내는 점 정보를 획득하는 단계;
    상기 압축된 점 연결 데이터를 복호화함으로써 상기 복수의 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 획득하는 단계; 및
    상기 점 정보 및 상기 면 정보에 기초하여 3차원 메쉬 데이터를 생성하고 출력하는 단계를 포함하고,
    상기 압축된 점 연결 데이터는 상기 복수의 면들의 연결 정보를 포함하는 것을 특징으로 하는, 3차원 데이터를 재구성하는 방법.
  20. 비트스트림을 수신하는 수신부; 및
    상기 비트스트림으로부터 압축된 점 데이터 및 압축된 점 연결 데이터를 획득하고, 상기 압축된 점 데이터를 복호화함으로써 복수의 점들의 위치를 나타내는 점 정보를 획득하고, 상기 압축된 점 연결 데이터를 복호화함으로써 상기 복수의 점들로 구성되는 복수의 면들에 대한 정보를 나타내는 면 정보를 획득하고, 상기 점 정보 및 상기 면 정보에 기초하여 3차원 메쉬 데이터를 생성하고 출력하는, 적어도 하나의 프로세서를 포함하고,
    상기 압축된 점 연결 데이터는 상기 복수의 면들의 연결 정보를 포함하는 것을 특징으로 하는, 3차원 데이터 재구성 장치.
KR1020190072427A 2019-06-18 2019-06-18 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치 KR20200144401A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190072427A KR20200144401A (ko) 2019-06-18 2019-06-18 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190072427A KR20200144401A (ko) 2019-06-18 2019-06-18 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20200144401A true KR20200144401A (ko) 2020-12-29

Family

ID=74090065

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190072427A KR20200144401A (ko) 2019-06-18 2019-06-18 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20200144401A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022149810A1 (ko) * 2021-01-06 2022-07-14 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2022230941A1 (ja) * 2021-04-28 2022-11-03 ソニーグループ株式会社 情報処理装置および方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022149810A1 (ko) * 2021-01-06 2022-07-14 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2022230941A1 (ja) * 2021-04-28 2022-11-03 ソニーグループ株式会社 情報処理装置および方法

Similar Documents

Publication Publication Date Title
US20220028119A1 (en) Method, device, and computer-readable recording medium for compressing 3d mesh content
KR102609776B1 (ko) 포인트 클라우드 데이터 처리 방법 및 장치
CN111937041A (zh) 通过提供几何代理进行视频编码
JP2018534881A (ja) 点群を圧縮する方法
KR102634079B1 (ko) 포인트 클라우드 데이터 처리 장치 및 방법
KR102659806B1 (ko) V-pcc용 스케일링 파라미터
US11979607B2 (en) Apparatus and method for processing point cloud data
WO2020145783A1 (ko) 3차원 데이터 부호화 방법 및 장치 및 3차원 데이터 복호화 방법 및 장치
US20220321912A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
JP7371691B2 (ja) ホモグラフィ変換を使用した点群符号化
JP6689269B2 (ja) デジタル3次元オブジェクトを表わすデータを圧縮し伸張するための方法、及び、当該データを含む情報を記録するための情報記録媒体
CN114051734A (zh) 一种解码三维场景的方法和装置
CN116997935A (zh) 用于网格压缩的块压缩
KR20200144401A (ko) 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치
JP2023541271A (ja) 高密度メッシュ圧縮
KR20230127324A (ko) 메시 압축을 위한 패치 시간 정렬의 디코딩
US11887342B2 (en) Method and device for encoding three-dimensional image, and method and device for decoding three-dimensional image
KR20230127319A (ko) 포인트 클라우드에 기반한 동적 메시 압축
KR20240073054A (ko) 포인트 클라우드 데이터 프레임 압축
JP7495818B2 (ja) 三次元画像処理装置及びプログラム
CN112806015A (zh) 全向视频的编码和解码
US20240020885A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
US20240185467A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230412837A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
WO2024075608A1 (ja) 符号化装置、復号装置、符号化方法及び復号方法