KR20210096285A - 3차원 메쉬 컨텐트를 압축하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

3차원 메쉬 컨텐트를 압축하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR20210096285A
KR20210096285A KR1020217022041A KR20217022041A KR20210096285A KR 20210096285 A KR20210096285 A KR 20210096285A KR 1020217022041 A KR1020217022041 A KR 1020217022041A KR 20217022041 A KR20217022041 A KR 20217022041A KR 20210096285 A KR20210096285 A KR 20210096285A
Authority
KR
South Korea
Prior art keywords
information
vertices
mesh
mesh content
texture
Prior art date
Application number
KR1020217022041A
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 삼성전자주식회사
Publication of KR20210096285A publication Critical patent/KR20210096285A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 3차원 오브젝트를 나타내는 메쉬 컨텐트를 압축하는 방법은, 메쉬 컨텐트는 3차원 오브젝트의 꼭짓점(vertex) 정보, 꼭짓점을 연결하여 형성되는 면(face) 정보, 및 면의 색상에 대한 텍스처 정보를 포함하고, 방법은, 꼭짓점 사이의 간격을 변경하여 스케일 팩터(scale factor)를 획득하고, 변환 꼭짓점(scaled vertex) 을 생성하는 단계; 변환 꼭짓점 사이를 포인트로 채워 메쉬 포인트 클라우드를 생성하는 단계; 메쉬 포인트 클라우드로부터 지오메트리 영상을 획득하는 단계; 텍스처 정보에 기초하여 텍스처 영상을 획득하는 단계; 변환 꼭짓점을 점유 맵(occupancy map)에 표시하는 단계; 면 정보를 스케일 팩터 또는 점유 맵 중 적어도 하나에 기초하여 변환하는 단계; 및 지오메트리 영상, 텍스처 영상, 점유 맵 및 변환된 면 정보를 V-PCC(video based point cloud compression) 인코더로 압축하여 비트스트림을 생성하는 단계;를 포함한다.

Description

3차원 메쉬 컨텐트를 압축하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
본 개시는 3차원(3D) 비디오 데이터를 처리하기 위한 방법 및 장치에 관한 것이다.
3차원 데이터의 한 표현 방법인 포인트 클라우드(point cloud)는 방대한 양의 포인트의 집합을 의미하며, 대용량의 3차원 데이터는 포인트 클라우드로 표현될 수 있다. 즉, 포인트 클라우드는 3차원 모델의 획득 과정에서 추출된 샘플들을 의미한다.
포인트 클라우드는 2차원(2D) 이미지와는 비교되는 값으로, 3차원 상의 한 점을 표현하는 방법으로, 위치 좌표와 색상을 동시에 포함할 수 있는 벡터 형태를 갖는다. 예를 들어, 포인트 클라우드는 (x, y, z, R, G, B)와 같이 표현될 수 있다. 무수히 많은 색상과 위치 데이터들이 모여서 공간적인 구성을 이루는 포인트 클라우드는 밀도가 높아질수록 점점 더 구체적인 데이터가 되면서 하나의 3차원 모델로서의 의미를 가지게 된다.
본 개시의 다양한 실시 예들에 대해서, 배경 기술로서 MPEG(Moving Picture Experts Group)에서 논의되고 있는 비디오 기반 포인트 클라우드 압축(V-PCC, video based point cloud compression) 방법이 이용될 수 있다.
V-PCC는 3차원 영상을 나타내는 오브젝트(object)에 대한 동적 포인트 클라우드 부호화 기술로, 포인트 클라우드 데이터를 2차원 비디오 시퀀스로 변환하여 이를 HEVC 등 기존 코덱으로 압축하는 방법이 사용된다. V-PCC 인코더에서 비디오 시퀀스 이외에도 다양한 표현 정보를 메타데이터로 만들어 추가적으로 비트스트림에 포함시켜 전송하고, 디코더에서 표현 정보를 이용하여 포인트 클라우드 데이터를 복원하는 구조로 되어있다.
동적 포인트 클라우드 부호화 구조는 포인트 클라우드의 각 면을 매 프레임마다 2차원 평면에 투영(projection)시켜 여러 조각으로 구성된 패치 정보와 거리정보 맵을 생성하고, 이를 비디오 부호화기로 압축하는 구조를 가지고 있다.
메쉬 컨텐트를 V-PCC를 사용해 압축함에 있어서, 메쉬 컨텐트에 포함되는 꼭짓점(Vertex)은 포인트 클라우드의 포인트와 대응될 수 있다. 그러나, 메쉬 컨텐트의 경우 꼭짓점과 꼭짓점 사이의 공간이 삼각형(Triangular) 평면으로 채워지지만, 포인트 클라우드 데이터는 포인트와 포인트 사이의 공간이 포인트들로 채워진다는 점에서 차이가 있다. 따라서 메쉬 컨텐트에 포함되는 꼭짓점들의 밀도와, 포인트 클라우드 데이터에 포함되는 포인트들의 밀도는 상이하다.
그러므로, 별도의 가공 과정 없이 메쉬 컨텐트에 대해 V-PCC를 적용하면, V-PCC 과정에서 대부분의 꼭짓점들이 포인트로 처리되지 못하고 손실된 포인트(Missed point)로 간주되어 처리되므로 압축의 효과가 발생하지 않는다는 문제점이 있다.
본 발명은 3차원 오브젝트를 나타내는 메쉬 컨텐트를 압축하기 위해, 메쉬 컨텐트를 V-PCC 압축 가능한 형태로 변환하는 방법 및 장치를 제공한다.
한편, 본 발명의 일 실시예에 따르면, 전술한 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 개시에 따르면 메쉬 컨텐트가 효과적으로 변환되어 V-PCC를 활용해 압축될 수 있다. 또한, 본 개시에 따르면 V-PCC의 주요 아키텍쳐가 활용될 수 있으며 필요에 따라 압축의 품질을 무손실에서 손실까지 결정할 수 있다.
도 1a 는 본 개시의 일 실시 예에 따라 3차원 이미지에 관한 데이터를 전송하기 위한 전송 장치의 일반적인 데이터 처리 과정을 나타낸다.
도 1b 는 V-PCC 부호화기의 구조를 나타낸다.
도 2a 는 본 개시의 일 실시 예에 따른 3차원 이미지에 관한 데이터를 수신하기 위한 수신 장치의 일반적인 데이터 처리 과정을 나타낸다.
도 2b 는 V-PCC 복호화기의 구조를 나타낸다.
도 3 은 본 개시의 일 실시예에 따른, V-PCC(video based point cloud compression)를 이용하여 메쉬 컨텐트를 압축하는 방법의 순서도이다.
도 4 는 본 개시의 일 실시 예에 따라 변환 꼭짓점 및 스케일 팩터를 획득하는 과정을 설명하기 위한 도면이다.
도 5 는 본 개시의 일 실시 예에 따른 꼭짓점 변환 과정을 설명하기 위한 도면이다.
도 6 은 변환 꼭짓점이 V-PCC 를 위해 메쉬 포인트 클라우드로 변환되는 과정을 설명하는 도면이다.
도 7 은 본 개시의 일 실시예에 따라, 메쉬 컨텐트의 변환 꼭짓점 정보를 이용하여 메쉬 컨텐트를 메쉬 포인트 클라우드로 변환하는 과정을 설명하기 위한 도면이다.
도 8 은 본 발명의 일 실시예에 따라 3차원 오브젝트를 표현하는 메쉬 컨텐트를 양자화하여 포인트를 채우는 과정을 설명하기 위한 도면이다.
도 9 는 본 개시의 일 실시예에 따라, 메쉬 컨텐트의 변환 꼭짓점을 점유 맵에 표시하는 과정을 설명하기 위한 도면이다.
도 10 은 본 발명의 일 실시에에 따른 메쉬 포인트 클라우드 데이터의 2차원 패치에 대한 포인트를 표시한 점유 맵을 나타낸다.
도 11 은 본 개시의 일 실시 예에 따라 꼭짓점 들에 대한 면 정보를 점유 맵의 비트맵을 기준으로 표현하는 과정을 설명하는 도면이다.
도 12 는 본 개시의 일 실시예에 따른 V-PCC를 이용하여 메쉬 컨텐트를 압축하는 장치의 구조이다.
도 13 은 본 개시의 일 실시예에 따라 메쉬 컨텐트를 압축하는 장치의 블록도를 도시한다.
발명의 실시를 위한 최선의 형태
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 3차원 오브젝트를 나타내는 메쉬 컨텐트를 압축하는 방법은, 메쉬 컨텐트는 3차원 오브젝트의 꼭짓점(vertex) 정보, 꼭짓점을 연결하여 형성되는 면(face) 정보, 및 면의 색상에 대한 텍스처 정보를 포함하고, 방법은, 꼭짓점 사이의 간격을 변경하여 스케일 팩터(scale factor)를 획득하고, 변환 꼭짓점(scaled vertex) 을 생성하는 단계; 변환 꼭짓점 사이를 포인트로 채워 메쉬 포인트 클라우드를 생성하는 단계; 메쉬 포인트 클라우드로부터 지오메트리 영상을 획득하는 단계; 텍스처 정보에 기초하여 텍스처 영상을 획득하는 단계; 변환 꼭짓점을 점유 맵(occupancy map)에 표시하는 단계; 면 정보를 스케일 팩터 또는 점유 맵 중 적어도 하나에 기초하여 변환하는 단계; 및 지오메트리 영상, 텍스처 영상, 점유 맵 및 변환된 면 정보를 V-PCC(video based point cloud compression) 인코더로 압축하여 비트스트림을 생성하는 단계;를 포함한다.
발명의 실시를 위한 형태
이하, 본 개시의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한 실시예에서 ‘~부’는 하나 이상의 프로세서를 포함할 수 있다.
본 명세서에서 “영상”이란, 정지 영상, 동영상, 비디오 프레임, 및/또는 비디오 스트림을 모두 포함할 수 있으며, 2차원 프레임 및 3차원 프레임을 모두 포함할 수 있다. 예를 들어, "영상"은 포인트 클라우드로 표현되는 3차원 프레임 또는 360도 전방향 미디어(Omnidirectional Media) 프레임을 포함할 수 있다.
본 명세서 전반에 걸쳐 사용되는 "영상"이라는 용어는 "영상"이라는 용어 자체뿐만 아니라, "픽쳐", "프레임", "필드" 또는 "슬라이스"등 관련 분야에서 알려질 수 있는 비디오 이미지 정보의 다양한 형태들을 설명하기 위한 포괄적인 용어로서 사용된다. 예를 들어, "영상"은 비디오 컨텐츠를 구성하는 복수의 픽쳐들 또는 복수의 프레임들 중 하나를 의미할 수도 있고, 복수의 픽쳐들 또는 복수의 프레임들을 포함하는 비디오 컨텐츠 전체를 의미할 수도 있다.
도 1a 는 본 개시의 일 실시 예에 따라 3차원 이미지에 관한 데이터를 전송하기 위한 전송 장치의 일반적인 데이터 처리 과정을 나타낸다.
예를 들어, 일 실시 예에 따른 전송 장치는, 3차원 이미지와 관련된 데이터 또는 서비스를 제공하기 위한 서버일 수 있다. 3차원 이미지는, 동적 이미지 및 정적 이미지 모두를 지칭할 수 있다. 또한, 3차원 이미지에 관한 데이터는, 360도 전방향 가상 현실 컨텐츠 또는 6 자유도 관련 컨텐츠를 포함하는 몰입형 미디어 데이터를 포함할 수 있다.
도 1의 단계 110에서 전송 장치(100)는, 3차원 이미지를 획득할 수 있다. 일 예로서, 전송 장치는, 여러 방향에서 촬영된 다수의 카메라들로부터 획득된 이미지들을 이어붙여(stitching) 3차원 이미지를 생성할 수 있다. 다른 예로서, 전송 장치는, 이미 생성된 3차원 이미지에 관한 데이터를 외부로부터 수신할 수도 있다. 예를 들어, 3차원 이미지는 구(sphere), 육면체(cube), 원통, 또는 8면체(octahedron) 중 어느 하나의 형태로 렌더링 될 수 있다. 다만, 본 개시는 예시된 3차원 이미지의 형태에 제한되지 않으며, 다양한 형태의 3차원 이미지가 생성 또는 수신될 수 있다.
단계 120에서, 전송 장치는 공간 상의 3차원 이미지를 2차원 평면 상에 프로젝션 함으로써, 2차원 이미지를 생성할 수 있다. 일 실시 예에 따른 전송 장치는, 3차원 공간 상의 전 방향 이미지를 정해진 포맷의 사각형 픽쳐에 투영하는 프로젝션을 수행할 수 있다.
3차원 이미지를 2차원 이미지로 프로젝션하기 위해, ERP(equirectangular projection), OHP(octahedron projection), 실린더 프로젝션, 큐브 프로젝션 및 해당 기술 분야에서 이용 가능한 다양한 프로젝션 방법들 중 어느 하나가 이용될 수 있다.
단계 130에서, 전송 장치는, 프로젝션된 2차원 이미지를 패킹(packing)할 수 있다. 패킹은, 프로젝션된 2차원 이미지를 구성하는 복수의 영역들 중 적어도 일부의 위치, 크기 및 방향을 변형하여, 새로운 2차원 이미지(즉, 패킹된 2차원 이미지)를 생성하는 것을 의미할 수 있다. 예를 들어, 패킹을 위하여, 영역의 리사이징(resize), 형태 변환(transforming), 회전 및/또는 재-샘플링(re-sampling)(예를 들어, 업샘플링, 다운샘플링, 영역 내의 위치에 따른 차등 샘플링)등이 수행될 수 있다.
본 개시의 일 실시 예에 따른 전송 장치는, 프로젝션된 2차원 이미지에 대해서 리전 와이즈(region-wise) 패킹을 수행할 수 있다. 전송 장치는, 리전 와이즈 패킹 과정에서, 프로젝션된 이미지를 구성하는 영역들의 위치, 크기 및 방향을 변형시킬 수 있다. 또한, 전송 장치는, 전체적인 압축 효율을 높이거나, 특정 뷰포트(viewport)에 해당하는 영역의 해상도를 다른 영역에 비해 높게 처리함으로써 사용자 시점 기반 프로세싱에 사용될 수 있도록 픽쳐의 구성을 가공함으로써 패킹된 픽쳐를 생성할 수 있다.
도 1b 는 V-PCC 부호화기(인코더)의 구조를 나타낸다.
전송 장치(100)의 일 실시예인 V-PCC 부호화기는, 입력 3차원 포인트 클라우드 데이터를 2차원 공간에 투영하여 패치를 생성하는 것으로 시작되며, 2차원 공간에 생성된 패치는 위치에 대한 정보를 포함하는 지오메트리 영상 및 색상 정보를 포함하는 텍스처 영상으로 구분하여 생성된다. 패치를 생성하는 과정은 각 프레임별로 포인트 클라우드의 바운딩 박스(bounding box)를 결정하고, 바운딩 박스를 구성하는 6면체의 표면에 가장 가까운 포인트들을 정사영의 형태로 투영하여 패치를 생성하는 과정을 포함한다.
또한, 복호화를 위해 필요한 각 패치의 투영 평면 정보 및 패치 크기 등과 같은 보조 패치 정보(auxiliary patch information)을 생성하고, 생성된 패치들을 2차원 평면에 패킹하면서 각 픽셀에 대하여 포인트의 존재 여부를 바이너리 맵(binary map)으로 표현한 점유 맵(occupancy map)을 생성한다. 점유 맵은 각 영상의 영역에서 패치에 해당되는 화소와 그렇지 않은 화소를 구별하기 위해 사용된다.
생성된 보조 패치 정보 및 점유 맵은 각각 엔트로피 부호화(entropy coding)를 이용하여 압축(occupancy map compression 및 auxiliary patch information compression)되며, 지오메트리 영상 및 텍스처 영상은 기존 비디오 코덱을 사용하여 부호화(video compression)된다. 패치 영상이 비디오 영상으로 표현되기 때문에 비디오 코덱은 어떤 종류이든 상관없다. 그러나, MPEG에서는 HEVC 표준이 공식적인 비디오 코덱 표준으로 사용된다.
3차원 V-PCC는 원격 채팅, 게임 등 약간의 손실이 발생하더라도 미디어의 화질에 크게 영향을 주지 않는다고 판단되는 경우에 지오메트리 정보와 속성(attribute)을 원본과 다르게 압축하거나, 생략할 수 있다. 이와 같은 경우 손실(lossy) 압축이 된다.
반면, 원본 데이터의 최대 품질의 재현을 가능하게 하고자, 원본의 데이터 정밀도(precision)을 최대한 잃지 않고 유지하며, 또 포인트의 개수도 원본과 동일하게 유지하는 것이 무손실 압축의 목표이다. 이 때, 부동소수점으로 입력된 값의 경우, 일정 범위의 임계치(tolerance value)를 설정하고 해당 임계치 이내의 오차만 가능하도록 하는 유사 무손실(near lossless) 압축도 무손실 압축으로 간주될 수 있다.
도 2a 는 본 개시의 일 실시 예에 따른 3차원 이미지에 관한 데이터를 수신하기 위한 수신 장치의 일반적인 데이터 처리 과정을 나타낸다.
본 개시의 일 실시 예에 따른 수신 장치(200)는, 사용자에게 증강 현실 컨텐츠를 제공할 수 있는 AR 디바이스이거나, 가상 현실 컨텐츠를 제공할 수 있는 VR 디바이스일 수 있다. 또한, 수신 장치는 이외에도 3차원 이미지에 관한 데이터를 수신하여 이를 재생할 수 있는 모든 종류의 디바이스를 지칭할 수 있다.
일 실시 예에 따른 수신 장치는, 전송 장치에서 전송된 3차원 이미지에 관한 데이터를 수신할 수 있다. 도 2의 단계 210에서 수신 장치는, 수신된 데이터에 대하여 캡슐화 해제(decapsulation)를 수행할 수 있다. 단계 210의 캡슐화 해제를 통하여, 도 1에서의 단계 140의 인코딩을 통해 생성된 인코딩된 데이터가 획득될 수 있다.
단계 220에서 수신 장치는, 캡슐화 해제된 데이터에 대하여 디코딩을 수행할 수 있다. 단계 220의 디코딩을 통해 패킹된 2차원 이미지가 복원될 수 있다.
수신 장치는, 디코딩된 데이터에 대해서 이미지 렌더링을 수행함으로써 3차원 이미지를 디스플레이 할 수 있다. 구체적으로, 단계 230에서 수신 장치는, 디코딩된 데이터(즉, 패킹된 2차원 이미지)에 대하여 패킹 해제(unpacking)를 수행할 수 있다. 단계 330의 패킹 해제를 통하여, 도 1에서의 단계 120의 프로젝션을 통해 생성된 2차원 이미지가 복원될 수 있다.
수신 장치는, 패킹 해제를 수행하기 위하여, 도 1에서의 단계 130의 패킹에서 수행된 프로젝션 된 2차원 이미지의 복수의 영역에 대한 변형 및/또는 재배치의 역변환을 수행할 수 있다. 이를 위해, 수신 장치는, 전송 장치에서 수행된 데이터의 패킹 방식에 대해서 알고 있을 수 있다. 예를 들어, 패킹 방식은, 전송 장치와 수신 장치 간에 미리 알고 있을 수 있다. 일 예로서, 전송 장치는, 패킹 방식에 관한 정보를 메타데이터와 같은 별도의 메시지를 통해 수신 장치에게 전달할 수 있다. 다른 예로서, 캡슐화를 통해 생성된 전송 데이터의 헤더 내부에, 패킹 방식에 관한 정보가 포함되어 수신 장치에게 전달될 수 있다.
단계 240에서 수신 장치는, 패킹 해제된 2차원 이미지를 3차원 이미지로 프로젝션할 수 있다. 일 실시 예에 따른 수신 장치는, 2차원 이미지를 3차원 이미지로 프로젝션 하기 위해 도 1의 단계 120에서 이용된 프로젝션의 역 프로젝션을 사용할 수 있으나, 반드시 이에 한정되는 것은 아니다. 수신 장치는, 패킹 해제된 2차원 이미지를 3차원 이미지로 프로젝션하여 3차원 이미지를 생성할 수 있다.
단계 250에서 수신 장치는, 단계 240에서 생성된 3차원 이미지의 적어도 일부를 디스플레이 장치를 통해 디스플레이할 수 있다. 예를 들어, 수신 장치는 3차원 이미지 중, 현재의 FOV(field of view)에 대응하는 데이터만을 추출하여 렌더링할 수 있다.
도 2b 는 V-PCC 복호화기(디코더)의 구조를 나타낸다.
수신 장치(200)의 일 실시예인 V-PCC 복호화기는, 기존 비디오 코덱을 사용하여 부호화된 지오메트리 영상을 복호하고, 점유 맵과 보조 패치 정보를 통해 3차원 포인트 클라우드 데이터의 지오메트리 정보를 재구성한다. 또한, 부호화된 텍스처 영상을 복호하여 최종적으로 포인트 클라우드 데이터를 재구성한다.
V-PCC는 다양한 품질의 콘텐츠를 지원하기 위해 기존 비디오 코덱 기반의 양자화 계수(QP, Quantization Parameter) 변경을 지원할 뿐 아니라, 3차원 포인트 클라우드 데이터의 지오메트리 정보를 정수로 나누어 3차원 공간 내 포인트간의 밀도(LoD, Level of Detail)를 변경하는 방법을 지원할 수 있다.
V-PCC에서 상정하고 있는 품질 파라미터인 양자화 계수는 3차원 포인트 클라우드 컨텐트의 정밀도를 조정하고, 밀도는 3차원 포인트 클라우드 컨텐트의 절대적인 포인트의 개수를 조절한다.
도 3 은 본 개시의 일 실시예에 따른, V-PCC(video based point cloud compression)를 이용하여 메쉬 컨텐트를 압축하는 방법의 순서도이다.
상술한 바와 같이, V-PCC 과정에서 포인트 클라우드로 표현된 3차원 컨텐트는 2차원 평면 상에 프로젝션된다. V-PCC는, 3차원 컨텐트의 굴곡에 따라 최적의 2차원 평면 상에 3차원 컨텐트를 부분별로 프로젝션하여 2차원 평면 패치(Patch)들을 얻고, 패치들을 지오메트리(Geometry) 영상 및 텍스쳐(Texture) 영상으로 분리하여 패킹하는 과정을 포함할 수 있다.
또한, V-PCC는, 3차원 공간 상의 소정 위치에 포인트의 존재 여부에 대한 정보를 포함하는 점유 맵을 생성하고, 2차원 비디오 인코더를 이용하여 지오메트리 영상, 텍스쳐 영상 및 점유 맵을 압축하는 과정을 포함 할 수 있다.
메쉬 컨텐트는, 3차원 공간 상의 오브젝트를 나타내기 위하여, 꼭짓점(Vertex)에 대한 정보, 꼭짓점 사이를 잇는 삼각형(triangular) 평면을 포함하는 면(face)에 대한 정보, 및 면을 채우는 색상 정보인 텍스쳐(Texture) 정보를 포함한다.
V-PCC를 이용하여 메쉬 컨텐트를 압축할 때, 메쉬 컨텐트의 꼭짓점은 포인트 클라우드의 포인트와 대응될 수 있다. 그러나 포인트 클라우드 데이터는 포인트와 포인트 사이의 공간이 포인트들로 채워지는 반면, 메쉬 컨텐트는 도형의 꼭짓점과 꼭짓점을 면 정보(face command)를 사용해 연결함으로써 선 또는 면을 생성한다.
V-PCC는 포인트 클라우드에 포함되는 연접한(adjoined) 포인트들을 연결 요소(connected component)로서 그룹화 한 후, 2차원 평면에 프로젝션하여 넓이를 가지는 영역인 패치를 생성한다. 따라서, 메쉬 컨텐트의 꼭짓점을 그대로 이용하여 V-PCC를 수행하는 경우, 원하는 패치를 획득할 수 없을 뿐 아니라, 연결 요소에 포함되지 않은 포인트는 손실된 포인트로 처리되어 압축의 효율이 떨어지게 된다.
따라서, V-PCC를 이용해 메쉬 컨텐트를 압축하기 위해서는 메쉬 컨텐트를 V-PCC 를 위한 형태로 바꾸어주는 과정이 필요하다.
도 3 을 참조하면, 메쉬 컨텐트를 압축하는 방법 다음과 같은 단계들을 포함할 수 있다.
본 개시의 일 실시예에 따른 메쉬 컨텐트를 압축하는 방법은, 단계 310에서 스케일 팩터(scale factor)에 기초하여 메쉬 컨텐트의 꼭짓점을 변환함으로써 변환 꼭짓점(scaled vertex)을 생성할 수 있다.
일 실시예에 따르면, 꼭짓점을 변환하는 과정은 꼭짓점들 사이의 간격을 임의의 배율로 줄이는 것(scale down)일 수 있다. 일 실시예에 따르면, 스케일 팩터는 디코더에서 메쉬 컨텐트를 복원시 꼭짓점에 대한 정보를 잃지 않고 복원될 수 있도록 하는 무손실 스케일 팩터로 결정될 수 있다.
본 개시의 일 실시예에 따른 메쉬 컨텐트를 압축하는 방법은, 단계 320에서 변환 꼭짓점에 기초하여 메쉬 포인트 클라우드를 생성 하는 단계를 포함할 수 있다.
일 실시예에 따르면, 메쉬 포인트 클라우드는, 변환 꼭짓점 사이의 공간을 포인트로 채우는(padding) 과정에 의해 생성될 수 있다. 일 실시예에 따르면, 메쉬 포인트 클라우드는 압축 효율에 기초하여, 2차원 비디오 인코더가 가장 효율적으로 압축할 수 있도록 변환 꼭짓점 사이의 공간을 포인트로 채우는(padding) 과정에 의해 생성될 수 있다. 변환 꼭짓점 사이의 공간을 포인트로 채우는 구체적인 방법은 후술한다.
본 개시의 일 실시예에 따른 메쉬 컨텐트를 압축하는 방법은, 단계 330에서 메쉬 포인트 클라우드에 기초하여 지오메트리 영상을 획득 하는 단계를 포함할 수 있다.
V-PCC 인코더는 메쉬 포인트 클라우드로부터 패치를 생성하고, 생성된 패치를 패킹하여 V-PCC 압축을 위한 지오메트리 영상을 생성할 수 있다.
본 개시의 일 실시예에 따른 메쉬 컨텐트를 압축하는 방법은, 단계 340에서 메쉬 컨텐트의 텍스처 정보에 기초하여 V-PCC 인코딩 가능한 형태의 텍스처 영상을 획득하는 단계를 포함할 수 있다.
메쉬 컨텐트의 텍스처 정보를 V-PCC 인코딩 가능한 형태로 처리하는 단계는, 텍스처 정보를 처리하는 인코더와 디코더의 역할에 따라 다양하게 구성될 수 있다. 메쉬 컨텐트의 텍스처 정보를 V-PCC 인코딩 가능한 형태로 처리하는 다양한 구성은 후술한다.
본 개시의 일 실시예에 따른 메쉬 컨텐트를 압축하는 방법은, 단계 350에서 메쉬 컨텐트의 변환 꼭짓점(scaled vertex)을 점유 맵에 표시하는 단계를 포함할 수 있다.
일 실시예에 따르면, 변환 꼭짓점 정보에 기초하여 메쉬 포인트 클라우드 데이터에서 꼭짓점에 대응하는 포인트와 패딩된 포인트를 구별할 수 있다.
본 개시의 일 실시예에 따른 메쉬 컨텐트를 압축하는 방법은, 단계 360에서 메쉬 컨텐트의 면 정보(face command)를 점유 맵에 기초하여 변환하는 단계를 포함할 수 있다. 메쉬 컨텐트의 면 정보를 점유 맵에 기초하여 변환하는 것은, 면 정보를 점유 맵의 비트맵을 기준으로 표현하는 것을 의미할 수 있다. 예를 들어, 점유 맵을 참조하여 꼭짓점의 위치를 확인하고, 각 꼭짓점을 연결하는 face command를 통해 꼭짓점 정보를 디코더로 시그널링 할 수 있다. 시그널링 된 꼭짓점 정보는 V-PCC 압축 된 메쉬 컨텐트를 복원하기 위해 사용된다.
본 개시의 일 실시예에 따른 메쉬 컨텐트를 압축하는 방법은, 단계 370에서 메쉬 포인트 클라우드의 지오메트리 영상, 텍스처 영상, 점유 맵 및 변환된 면 정보를 PCC 인코더로 압축하는 단계를 포함할 수 있다.
이하에서는, 도면을 통해 각 단계를 보다 구체적으로 설명한다.
도 4 는 본 개시의 일 실시 예에 따라 변환 꼭짓점 및 스케일 팩터를 산출하는 과정을 설명하기 위한 도면이다.
도 4 를 참조하면, 스케일러(scaler, 400)는 꼭짓점 정보(401)를 이용하여 스케일 팩터(402)를 획득하고, 꼭짓점 정보(401)와 스케일 팩터(402)에 기초하여 변환 꼭짓점 정보(403)를 획득할 수 있다.
일 실시예에 따르면, 스케일 팩터는 꼭짓점에 대한 정보를 잃지 않으면서 복원될 수 있도록 하는 값으로 결정될 수 있으며, 스케일러(400)는 꼭짓점들 사이의 간격을 스케일 팩터에 기초하여 결정되는 임의의 배율로 줄임으로써 변환 꼭짓점을 생성하고, 변환 꼭짓점 정보를 획득할 수 있다. 일 실시예에 따르면, 스케일 팩터는 3차원의 방향을 가질 수 있다. 이와 같은 경우 메쉬 컨텐트가 3차원 방향으로 동일하지 않은 간격(비 등간격)으로 줄어들 수 있다.
스케일 팩터를 적용하여 줄어든 꼭짓점들 사이의 간격은, 스케일 팩터를 이용하여 복원될 수 있다.
본 개시의 일 실시예에 따르면, 다음과 같은 방법으로 스케일 팩터를 결정할 수 있다.
[syntax 1]
Figure pct00001
Origin은 원점을 의미하고, factor는 스케일 팩터를 산출하는 각 스텝에서 스텝마다 적용되는 팩터를 의미한다. 원점(origin)이 정해지면, origin[x,y,z]를 향해 factor[x,y,z]만큼 꼭짓점의 좌표 값이 나눠지거나 빼진다. Operation은 factor만큼 좌표값을 나눌지, 뺄지 여부를 나타내는 값으로, operation 값이 0이면 원점 좌표에서 스케일 팩터만큼을 빼고, operation 값이 1이면 원점 좌표를 스케일 팩터로 나눈다.
각 스텝에서 operation의 결과후의 값이 operation 전의 값으로 복원 가능한지 여부가 flag_lossless로 표기된다. 또한 factor는 기재된 순서대로 복수 회 적용될 수 있다. 복원 시에 factor가 적용되는 순서는 반대가 된다. Factor의 적용 순서가 지켜지지 않으면 복원된 꼭짓점 정보는 원본과 달라지므로 주의해야 한다.
도 5 는 본 개시의 일 실시 예에 따른 꼭짓점 변환 과정을 설명하기 위한 도면이다.
도 5 를 참조하면, 수차례의 스케일 과정을 통해 꼭짓점들이 서로 연접될 수 있다.
[syntax 2]
Figure pct00002
[syntax 2]에 기재된 scale_factor들이 순서대로 적용되어 꼭짓점들이 스케일되는 과정이 도 5에 도시된다. 설명 및 도시의 편의를 위해, z=0인 x-y 평면에 대하여 도시되어 있으며, x 축 방향으로만 1씩 스케일이 수행되는 경우를 도시한다.
510은 변환 전의 꼭짓점들(511 내지 516)의 좌표를 나타낸다.
Step 1은 scale_factor[[0,0,0],[1,0,0],0,1]이고, 이 때 operation=1 이므로 substract, Flag_loss=1이므로 무손실 변환 된다. 원점이 [0,0,0]이고 스케일 팩터가 [1,0,0]이므로 step 1에 의해 변환된 각 꼭짓점들(531 내지 536)의 좌표는 변환 전 꼭짓점들(511 내지 516)의 좌표에서 원점인 x=0을 향해 1씩 이동한 위치가 된다. 530은 step 1을 통해 변환된 꼭짓점들(531 내지 536)의 좌표를 나타내며, 538은 531 내지 536의 좌표를 직교 좌표계에 도시한 것이다. 538에서 원점인 x=0에 해당하는 531과 연접하는 꼭짓점들은, 531과 비교해 x 축에서 1의 차이를 갖는 532 및 533이 된다.
Step 2는 scale_factor[[5,0,0],[1,0,0],0,1]이고, 이 때 operation=1 이므로 substract, Flag_loss=1이므로 무손실 변환 된다. 원점이 [5,0,0], 스케일 팩터가 [1,0,0]이므로 step 2에 의해 변환된 각 꼭짓점들(551 내지 556)의 좌표는 변환 전 꼭짓점들(531 내지 536)의 좌표에서 원점인 x=5를 향해 1씩 이동한 위치가 된다. 550은 step 2를 통해 변환된 꼭짓점들(551 내지 556)의 좌표를 나타내며, 558은 551 내지 556의 좌표를 직교 좌표계에 도시한 것이다. 558에서 원점인 x=5에 해당하는 554와 연접하는 꼭짓점들은, 554와 비교해 x축에서 1의 차이를 갖는 555 및 556이 된다.
Step 3는 scale_factor[[4,0,0],[1,0,0],0,1]이고, 이 때 operation=1 이므로 substract, Flag_loss=1이므로 무손실 변환 된다. 원점이 [4,0,0], 스케일 팩터가 [1,0,0]이므로 step 3에 의해 변환된 각 꼭짓점들(571 내지 576)의 좌표는 변환 전 꼭짓점들(551 내지 556)의 좌표에서 원점인 x=4를 향해 1씩 이동한 위치가 된다. 570은 step 3를 통해 변환된 꼭짓점들(571 내지 576)의 좌표를 나타내며, 578은 571 내지 576의 좌표를 직교 좌표계에 도시한 것이다. 578에서 원점인 x=4에 해당하는 574와 연접하는 꼭짓점들은, 574와 비교해 x 축에서 1의 차이를 갖는 572, 573, 575, 및 576이 된다.
스케일 팩터를 적용하는 이유는, 꼭짓점들 간의 간격을 줄이기 위한 것이다. 도 5 를 참조하면, 세 차례의 스케일다운(scale-down)을 통해 꼭짓점 사이의 간격들이 작아지고, 꼭짓점들이 서로 연접되는 것을 확인할 수 있다.
본 개시의 일 실시예에 따르면, 스케일 팩터를 결정하는 단계는, 변환 꼭짓점 복원시 복원된 꼭짓점이 원본 꼭짓점과 동일하도록 하는 무손실 스케일 팩터를 스케일 팩터로 결정하는 단계를 포함할 수 있다.
다만, 원본 꼭짓점(Original vertex)에 대해서 변환 꼭짓점(scaled vertex)을 생성하고, V-PCC를 사용해 변환 꼭짓점을 압축한 다음, 복원했을 때 복원된 꼭짓점(Restored vertex)이 원본 꼭짓점과 다르면 손실이 발생하게 된다.
꼭짓점들은 컨텐트에 따라 불규칙적인(irregular) 분포를 가지므로, 스케일 팩터는 컨텐트에 따라 달라질 수 있다. 원본 꼭짓점들로 구성된 메쉬 컨텐트에 대해 X, Y, Z중 한축에 대해 스케일 팩터를 1부터 증가시켜가며 나누거나(divide), 감소(subtract)시켰을 때, 꼭짓점들 간에 연접(adjoin)이 발생하는 시점이 무손실 스케일 팩터를 얻는 시점이 된다. 세 축에 대해 위 과정을 실시하였을 때, 얻어진 scale factor [x, y, z]가 무손실 스케일 팩터 벡터가 된다.
본 개시의 일 실시 예에 따르면, 압축 효율을 고려해 일정 오류 범위 내에서 복원될 수 있는 손실 스케일 팩터를 스케일 팩터로 결정하는 단계를 포함할 수 있다.
본 개시의 일 실시 예에 따르면, 효율을 고려해 일정 오류 범위 내에서 복원될 수 있는 손실 스케일 팩터를 산출하는 방법이 이용될 수 있다. 또한, 본 개시의 일 실시 예에 따르면, 손실을 감수하더라도, 원본 꼭짓점이 완벽히 복원이 되지 않는 수준의 스케일 팩터를 산출하는 것이 가능하다. 손실 스케일 팩터를 이용하는 방법에 따르면, 원본 꼭짓점들에 비하여 적은 수의 꼭짓점이 복원되므로, 복원된 꼭짓점과 원본 꼭짓점이 일치하지 않는다. 본 개시의 일 실시예에 따르면, 압축 용량 또는 또는 주관적 화질을 고려하여, 손실 스케일 팩터의 적용 여부를 결정할 수 있다.
본 개시의 일 실시예에 따르면, 스케일 팩터가 손실 스케일 팩터인지, 무손실 스케일 팩터인지 여부는 시스템 레벨에서 미리 결정되어 있을 수 있으며, 메쉬 컨텐트 변환 장치는 이에 대한 정보에 기초하여 꼭짓점 정보의 손실 여부를 판단할 수 있다.
도 6 은 변환 꼭짓점이 V-PCC 를 위해 메쉬 포인트 클라우드로 변환되는 과정을 설명하는 도면이다.
도 6 에 도시된 바와 같이, 메쉬 컨텐트는 V-PCC에서의 처리를 위해 변환 꼭짓점(601)들 사이가 포인트 클라우드로 패딩(600)됨으로써 메쉬 포인트 클라우드(603)로 변환될 수 있다.
도 7 및 도 8 은 본 개시의 일 실시 예에 따라 변환 꼭짓점들 간의 공간을 포인트들로 채우는 과정을 설명하는 도면이다.
도 7 은 본 개시의 일 실시예에 따라, 메쉬 컨텐트의 변환 꼭짓점 정보를 이용하여 메쉬 컨텐트를 메쉬 포인트 클라우드로 변환하는 과정을 설명하기 위한 도면이다.
도 7(a) 에 도시된 바와 같이, 3차원 공간 상의 변환 꼭짓점(scaled vertex) 정보에는 꼭짓점들에 대한 정보만 존재하므로, 면으로 간주될 수 있는 형태가 아니다. 반면, 도 7(b) 에 도시된 바와 같이, 포인트 클라우드 데이터에는 포인트들이 면으로 처리될 수 있는 형태로 양자화 되어 있거나, 양자화 단계를 거친 후 면으로 처리될 수 있다.
본 개시의 일 실시예에 따르면, 변환 꼭짓점 정보를 가지는 메쉬 컨텐트는 V-PCC 처리를 위해 변환 꼭짓점과 변환 꼭짓점 사이의 공간을 포인트로 채워 메쉬 포인트 클라우드 데이터를 생성할 수 있다. 도 7(c)에 도시된 바와 같이, 메쉬 포인트 클라우드 데이터에서는 메쉬 컨텐트를 구성하는 꼭짓점 정보와 삼각형 정보가 포인트들로 변환되었으므로, 메쉬 포인트 클라우드 데이터는 V-PCC를 이용해 처리될 수 있다.
도 8 은 본 발명의 일 실시예에 따라 3차원 오브젝트를 표현하는 메쉬 컨텐트를 양자화하여 포인트를 채우는 과정을 설명하기 위한 도면이다.
본 개시의 일 실시예에 따른 메쉬 컨텐트 압축 방법은, 삼각형 정보를 반영해 변환 꼭짓점들 사이를 포인트로 채우는 단계를 포함할 수 있다.
도 8(a)에 도시된 바와 같이, 메쉬 컨텐트는 꼭짓점 정보와 꼭짓점을 연결한 삼각형 정보에 기초한 면 정보로 이루어진다. 따라서, 본 개시의 일 실시 예에 따르면, 메쉬 컨텐트를 V-PCC 가능한 메쉬 컨텐트 클라우드로 변환하기 위해서 도 8(b)에 도시된 바와 같이 꼭짓점들 사이의 빈 공간을 꼭짓점들을 잇는 선분 또는 삼각형의 면 위에 존재하는 것으로 처리할 수 있다.
본 개시의 일 실시에에 따르면, 꼭짓점들을 잇는 선분 또는 삼각형의 면이 지나가는 좌표를 양자화하고, 가장 적당한 위치에 포인트를 배치할 수 있다. 또는, 꼭짓점들을 잇는 선분 또는 삼각형의 면이 지나가는 좌표를 안티-앨리어싱(anti-aliasing) 하여 두 개 이상의 적당한 위치에 포인트를 배치할 수 있다.
본 개시의 다른 실시예에 따르면, 메쉬 컨텐트를 압축하는 방법은, V-PCC 압축을 고려하여 포인트를 패딩하는 단계를 포함할 수 있다. 예를 들어, 메쉬 컨텐트를 압축하는 방법은 2차원 비디오 인코더가 가장 높은 압축 효율을 가지도록 포인트를 패딩하는 단계를 포함할 수 있다.
V-PCC는, 3차원 오브젝트를 둘러싼 바운딩 박스(bounding box)의 6면 중 하나를 선택해 해당 평면에 3차원 데이터를 프로젝션하는 과정을 포함한다. 따라서, 본 개시의 일 실시 예에 따르면, 도 8(c)에 도시된 바와 같이, 바운딩 박스의 6면 중에서 선택된 하나의 프로젝션 평면(projection plane)에 직교하도록, 꼭짓점들 간의 공간이 채워질 수 있다.
2차원 비디오 인코더는 색상의 불연속면에서 오류에 취약한 특징을 가진다. 본 개시의 또 다른 실시 예에 따르면, 도 8(d) 에 도시된 바와 같이, 프로젝션 평면에서 바라봤을 때 꼭짓점 사이의 거리(distance)에 기초하여 가급적 꼭짓점의 위, 아래를 같은 거리의 포인트로 채울 수 있다. 이와 같은 경우, 2차원 비디오 인코더가 색상의 불연속면에서 오류에 취약한 점이 보완될 수 있다.
도 9 및 도 10 은 본 개시의 일 실시 예에 따라 변환 꼭짓점을 점유 맵에 표시하는 과정을 설명하기 위한 도면이다.
도 9 는 본 개시의 일 실시예에 따라, 메쉬 컨텐트의 변환 꼭짓점을 점유 맵에 표시하는 과정을 설명하기 위한 도면이다.
도 9 에 도시된 바와 같이, 메쉬 컨텐트는 V-PCC에서의 처리를 위해 변환 꼭짓점들(901) 사이를 포인트 클라우드로 패딩(600)하여 메쉬 포인트 클라우드 데이터(903)를 획득하고, 메쉬 포인트 클라우드 데이터(903)로부터 2차원 패치를 획득(900)한 후, 변환 꼭짓점들(901)을 점유 맵(905)에 별도로 표시할 수 있다.
V-PCC를 이용해 포인트 클라우드 데이터가 인코딩(encoding) 및 디코딩(decoding) 된 후, 메쉬 컨텐트를 복원(reconstruct)하기 위해서는 복원된 포인트들 중 어떤 포인트가 꼭짓점에 대응하는 포인트이고, 어떤 포인트가 채워넣기(padding)를 위한 포인트였는지 식별하는 과정이 필요하다.
본 발명의 일 실시예에 따르면, 변환 꼭짓점들(901)을 점유 맵(905)에 별도로 표시함으로써 점유 맵을 이용하여 꼭짓점에 대응하는 포인트와 채워넣기(padding)한 포인트를 구별할 수 있다.
도 10 은 본 발명의 일 실시에에 따른 메쉬 포인트 클라우드 데이터의 2차원 패치에 대한 포인트를 표시한 점유 맵을 나타낸다.
도 10 에 도시된 바와 같이, 점유 맵 상에 도시된 패치 중 꼭짓점에 대응하는 포인트들을 다른 포인트이나 빈 공간과 구별하여 표시할 수 있다.
본 개시의 일 실시예에 따르면, 점유 맵 상에 채워넣기 한 포인트(padded point)가 1로 표시될 때, 꼭짓점에 대응하는 포인트는 2로 표시될 수 있다. 다만, 빈 공간과 채워넣기 한 포인트, 또는 꼭짓점을 구별하기 위한 방법은 이에 제한되지 않으며 다양한 방식들이 적용될 수 있다.
본 개시의 일 실시예에 따르면, 점유 맵의 정확성(precision)을 1로 설정함으로써, 꼭짓점들이 손실없이 지시하고 점유 맵을 손실없이 압축하는 것이 바람직할 수 있다.
도 11 은 본 개시의 일 실시 예에 따라 꼭짓점 들에 대한 면 정보(face command)를 점유 맵의 비트맵(bitmap)을 기준으로 표현하는 과정을 설명하는 도면이다.
상술한 바와 같이, 메쉬 포인트 클라우드 데이터에 포함된 변환 꼭짓점 정보는 V-PCC를 이용해 압축되고, 복호화될 수 있다. 그러나, 메쉬 포인트 클라우드 데이터는 도 7 에 도시된 바와 같이 기존 포인트 클라우드 데이터가 포함하지 않는 정보인 삼각형(면) 정보를 포함하고 있으므로, 삼각형 정보를 V-PCC를 이용해 처리하기 위해서는 면 정보에 대한 별도의 처리가 필요하다.
예를 들어, 점유 맵을 참조하여 꼭짓점의 위치를 확인하고, 각 꼭짓점을 연결하는 face command를 통해 꼭짓점 정보를 디코더로 시그널링 할 수 있다. 시그널링 된 꼭짓점 정보는 V-PCC 압축 된 메쉬 컨텐트를 복원하기 위해 사용된다.
도 11 을 참조하면, 메쉬 컨텐트의 꼭짓점 정보(1101)에 기초하여 스케일 팩터(1102)를 획득할 수 있으며, 메쉬 컨텐트의 꼭짓점과 꼭짓점을 연결한 면 정보(1103)와 스케일 팩터(1102)에 기초하여 면 정보를 v-pcc 가능 형태로 변환(1110)할 수 있다. 변환된 면 정보(1104)는 메쉬 포인트 클라우드의 보조 메쉬 정보로 압축(1130)될 수 있다.
이하에서는 메쉬 컨텐트에서 꼭짓점과 꼭짓점을 연결하는 구체적인 방법 들을 설명한다.
[syntax 3]
Figure pct00003
본 개시의 일 실시예에 따르면, [syntax 3]이 나타내는 Face command는 메쉬 컨텐트의2302번째 꼭짓점, 2303번째 꼭짓점과 2304번째 꼭짓점을 잇는 하나의 다각형 (예를 들어, 선(line), 삼각형(triangle), 사각형(rectangle) 등)을 정의할 수 있다. V-PCC는, 포인트들의 순서를 보존하지 않는다. 따라서, 꼭짓점과 그 밖의 포인트들은 순서와 무관하게 혼재되어 V-PCC에 입력되므로, face command는 디코딩된 메쉬 포인트 클라우드를 메쉬 컨텐트로 복원시 바로 적용될 수 없는 문제가 있다.
본 발명의 일 실시예에 따르면, 점유 맵 상에 꼭짓점이 별도로 표시되기 때문에, 원본 메쉬 컨텐트에서의 몇 번째 원본 꼭짓점이 변환 꼭짓점(scaled vertex)으로 변환되어, 어떠한 패치에 배정되었는지에 대한 매핑 정보가 V-PCC의 인코딩 단계에서 관리되어야 한다.
매핑이 수행된 후, 점유 맵 상의 꼭짓점들의 배치에 기초하여, face command가 꼭짓점들을 지시하는 방법으로 면에 대한 정보가 저장될 수 있다.
점유 맵에서 꼭짓점들의 배치를 기반으로 꼭짓점을 지시하는 방법의 일 실시예는 다음과 같다.
점유 맵의 첫번째 좌표를 연속된 비트스트림(serialized bitstream)의 첫번째 엔트리로 가정하였을 때, 폭 w, 높이 h를 갖는 w?h 크기의 점유 맵에서 x, y위치에 있는 꼭짓점은 y?w + x와 같이 나타낼 수 있다. 이에 따른 face command는 다음과 같은 신택스로 나타낼 수 있다.
[syntax 4]
Figure pct00004
본 개시의 또 다른 실시 예에 따르면, 꼭짓점은 점유 맵의 패치 내에서의 비트 오프셋(bit offset)으로 나타낼 수 있다. 패치가 폭 u0, 너비 v0의 크기를 가지는 경우. x, y 위치에 있는 꼭짓점의 비트 오프셋은 u0?y + x로 표현될 수 있다.
본 개시의 또 다른 실시 예에 따르면, 꼭짓점은 점유 맵의 패치 내에서의 꼭짓점들의 순서로 나타내어 질 수 있다. 일반적으로, 삼각형은 인접한 꼭짓점들 간의 관계 내에 존재하므로, 패치 내에서 몇 번째 꼭짓점인지 명시하는 것이 바람직하다. 이와 같은 경우, face command는 다음과 같은 신택스로 나타낼 수 있다.
[syntax 5]
Figure pct00005
꼭짓점을 패치 내에서의 꼭짓점들의 순서로 나타낸 경우, 한 패치 내에 존재하는 꼭짓점과 다른 패치 내에 존재하는 꼭짓점을 연결하는 face command 방법은 다음과 같은 신택스로 나타낼 수 있다.
[syntax 6]
Figure pct00006
메쉬 컨텐츠의 면에 대한 정보를 비트스트림으로 표현하기 위한 신택스는 다음과 같다.
[syntax 7]
Figure pct00007
본 개시의 일 실시예에 따르면, 메쉬 컨텐트를 압축하는 방법은 메쉬 컨텐트의 텍스쳐 정보를 V-PCC의 2차원 비디오 인코더에 인가하는 단계를 포함할 수 있다(미도시).
포인트 클라우드의 색상 특성(Color attribute)은 3차원 공간 상에 존재하기 때문에, V-PCC에서는 프로젝션 평면 상에 포인트 클라우드 데이터가 프로젝션되어 생성된 지오메트리 영상과 텍스쳐 영상은 같은 형태의 패치를 가질 수 있다.
본 개시의 일 실시 예에 따르면, V-PCC 인코더는 메쉬 컨텐트를 압축할 때 메쉬 컨텐트의 텍스쳐 정보를 그대로 이용하고 이를 시그널링하여, V-PCC 디코더(decoder)가 메쉬 포인트 클라우드에 대한 색상 정보를 복원하는 방법으로 색상 정보를 복원하지 않도록 알려주는 방법이 이용될 수 있다.
메쉬 컨텐트의 텍스쳐 정보는 2차원 평면상에 존재하기 때문에, 별도의 프로젝션을 통한 2차원 평면에 고정하는 과정을 거칠 필요가 없다. 
다만, V-PCC의 2차원 비디오 인코더에 대해서 메쉬 컨텐트의 텍스쳐 정보를 입력함에 있어서, 복호화 과정에서 패치의 모양대로 텍스쳐 정보를 복원하지 않도록, 컨텐트가 메쉬 형태임을 알려주거나 텍스쳐 정보가 패치의 텍스쳐가 아니라 메쉬의 텍스쳐임을 알려주는 시그널링이 필요하다.
본 개시의 일 실시예에 따르면, 해당 시그널링은 패치 부가 정보(Patch auxiliary information) 또는 부가 메쉬 정보(Auxiliary Mesh information)로서 제공될 수 있다.
본 개시의 다른 실시 예에 따르면, 메쉬의 텍스쳐 정보를 변환되지 않은 꼭짓점(Unscaled vertex)들로 이루어진 3차원 공간상에 배치하고, V-PCC를 사용해 패치화한 후, V-PCC 디코더에서 변환 꼭짓점(Scaled vertex)을 스케일 팩터를 사용해 복원한 후에, 메쉬에서 사용하는 형태로 다시 변환하는 방법이 이용될 수 있다.
본 개시의 또 다른 실시예에 따르면, 메쉬 텍스쳐를 전술한 포인트 클라우드 데이터의 색상 특성(Color attribute)에 매핑하고, 이를 V-PCC를 사용해 압축한 후, 디코더에서 복원하는 것이 제시된다.
본 개시의 일 실시 예에 따르면, 메쉬의 텍스쳐 정보를 압축하는 과정에서 손실 압축하는 방법이 이용될 수 있다.
본 개시의 또 다른 실시예로서, 메쉬 텍스쳐를 원래 크기로 압축하지 않고 스케일 과정을 거쳐 축소(Down scale) 변환 한 후 압축하거나, 양자화 파라미터(Quantization parameter)를 조정하여 압축하는 방법이 제시된다.
본 개시의 일 실시예에 따른 메쉬 컨텐트를 압축하는 방법은, 메쉬 포인트 클라우드의 지오메트리 영상, 텍스쳐 영상, 점유 맵, 및 면 정보를 포함하는 보조 메쉬 정보를 V-PCC를 사용해 압축하는 단계를 포함할 수 있다.
도 12 는 본 개시의 일 실시예에 따른 V-PCC를 이용하여 메쉬 컨텐트를 압축하는 장치의 구조(architecture)이다.
도 12 를 참조하면, 본 개시의 일 실시예에 따른 V-PCC를 이용하여 메쉬 컨텐트를 압축하는 장치는, 메쉬 컨텐트(1210)를 메쉬 포인트 클라우드 데이터로 변환하는 전처리부 및 V-PCC 인코더로 구성될 수 있다.
도 12에서 메쉬 컨텐트와, 전처리된 메쉬 컨텐트는 서로 다른 선으로 표시되며, 전처리된 메쉬 컨텐트는 V-PCC 인코더에 인가되어 압축된다.
메쉬 컨텐트를 메쉬 포인트 클라우드 데이터로 변환하는 전처리부는 메쉬 컨텐트(1210)의 꼭짓점을 변환하는 꼭짓점 변환부(scaler), 변환된 꼭짓점 사이를 포인트로 채워 메쉬 포인트 클라우드를 생성하는 메쉬 포인트 클라우드 생성부(1250), 메쉬 컨텐트의 면 정보를 V-PCC 인코딩 가능한 형태로 변환하는 면 정보 변환부(1270), 및 변환된 면 정보를 보조 메쉬 정보로 압축하는 압축부(1290)를 포함할 수 있다.
본 개시의 일 실시예에 따른 V-PCC를 이용하여 메쉬 컨텐트를 압축하는 장치의 전처리부의 각 구성은 소프트웨어 모듈로 구현될 수 있다. 본 개시의 일 실시예에 따른 V-PCC를 이용하여 메쉬 컨텐트를 압축하는 장치의 전처리부의 각 구성은 V-PCC에 포함된 하드웨어 모듈 또는 소프트웨어 모듈을 이용하여 구현될 수 있다.
메쉬 컨텐트를 압축하는 장치(1200)의 입력인 3차원 오브젝트를 표현하기 위한 메쉬 컨텐트(1210)는 각 프레임의 꼭짓점 정보(1211), 텍스처 정보(1213), 및 면 정보(1215)를 포함할 수 있다.
메쉬 컨텐트의 꼭짓점(1211)은 꼭짓점 변환부(1230)를 이용해 변환 꼭짓점(1233)으로 변환되고, 메쉬 포인트 클라우드 생성부(1250)를 이용해 각 변환 꼭짓점 사이를 포인트로 채움으로써 메쉬 포인트 클라우드(1251)가 생성될 수 있다. 이후, V-PCC 인코더는 메쉬 포인트 클라우드로부터 패치를 생성하고, 생성된 패치를 패킹하여 메쉬 포인트 클라우드에 대한 지오메트리 영상을 생성할 수 있다.
꼭짓점 변환부(1230)는 메쉬 컨텐트(1210)의 꼭짓점(1211)을 변환하면서, 사용된 팩터들에 기초하여 최종 스케일 팩터(1231)를 산출할 수 있다. 산출된 스케일 팩터(1231)는 메쉬 컨텐트(1210)의 텍스처 정보(1213)를 변환하기 위해 사용된다.
메쉬 컨텐트의 텍스처 정보(1213)는 포인트 클라우드 압축을 위한 텍스처 영상으로 비디오 압축될 수 있다.
본 개시의 일 실시예에 따르면, 메쉬 컨텐트의 텍스처 정보는 2차원 평면상에 존재하므로 별도의 프로젝션 없이 메쉬 포인트 클라우드의 텍스처 영상으로서 압축될 수 있다. 이러한 경우, 복호화기가 메쉬 컨텐트로 복원할 수 있도록 인코더는 메쉬 컨텐트의 텍스처에 해당함을 알려주는 신호를 별도로 시그널링 할 필요가 있다.
본 개시의 다른 실시예에 따르면, 메쉬 컨텐트의 텍스처 정보는 변환되지 않은 꼭짓점들로 이루어진 3차원 공간상에 배치되고, 패치화됨으로써 V-PCC 압축될 수 있다. 이와 같은 경우, 메쉬 컨텐트의 텍스처 정보는 포인트 클라우드 데이터의 색상 특성에 매핑되어 압축될 수 있다.
본 개시의 일 실시예에 따른 V-PCC를 이용하여 메쉬 컨텐트를 압축하는 장치는, 메쉬 클라우드 포인트를 구성하는 포인트들 중 변환된 꼭짓점(1233)을 구별하기 위해 점유 맵(1235)을 이용할 수 있다.
점유 맵은 지오메트리 영상 및 텍스처 영상과 마찬가지로 비디오 압축될 수 있다. 변환 꼭짓점을 별도로 표시한 점유 맵을 디코더로 시그널링함으로써, 디코더에서 복원된 메쉬 포인트 클라우드 중 꼭짓점의 순서를 획득할 수 있으며, 복원된 메쉬 포인트 클라우드를 메쉬 컨텐트로 복원할 수 있다.
메쉬 컨텐트의 면 정보(1215)는 스케일 팩터에 기초하여 변환(1270)될 수 있으며, 변환된 면 정보(1271)는 보조 메쉬 정보(1291)로 압축(1290)될 수 있다.
비디오 압축된 지오메트리 영상, 텍스처 영상 및 점유 맵과 엔트로피 압축된 보조 패치 정보 및 보조 메쉬 정보는 멀티플렉서(multiplexer)를 통해 비트스트림으로 변환되어 전송된다.
도 13 은 본 개시의 일 실시예에 따라 메쉬 컨텐트를 압축하는 장치의 블록도를 도시한다.
도 13 을 참조하면, 본 개시의 일 실시예에 따른 메쉬 컨텐트를 압축하는 장치(1300)는 프로세서(1310), 통신부(1320), 및 메모리(1330)를 포함할 수 있다.
본 개시의 일 실시예에 따른 메쉬 컨텐트를 압축하는 장치(1300)는 인코더의 전처리부 또는 인코더의 일부로 구현될 수 있으며, 도 13 에는 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 13 에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.
프로세서(1310)는 도 1 내지 도 12에서 상술한, 메쉬 컨텐트를 압축하기 위한 일련의 프로세스를 제어할 수 있다.
또한 프로세서(1310)는 메쉬 컨텐트를 압축하는 장치(1300)를 제어하기 위한 전반적인 기능들을 제어하는 역할을 한다. 예를 들어, 프로세서(1310)는 메쉬 컨텐트를 압축하는 장치(1300) 내의 메모리(1330)에 저장된 프로그램들을 실행함으로써, 메쉬 컨텐트를 압축하는 장치(1300)를 전반적으로 제어한다. 프로세서(1310)는 메쉬 컨텐트를 압축하는 장치(1300)내에 구비된 CPU(Central Processing Unit), GPU(Graphics Processing Unit), AP(Application Processor) 등으로 구현될 수 있으나, 이에 제한되지 않는다.
통신부(1320)는, 유무선 LAN(Local Area Network)등의 통신모듈을 이용하여 메쉬 컨텐트를 압축하는 장치(1300)를 다른 장치 또는 모듈과 연결하고, 데이터를 송수신할 수 있다.
메모리(1330)는 메쉬 컨텐트를 압축하는 장치(1300)내에서 처리되는 각종 데이터들을 저장하는 하드웨어로, 예를 들어 메모리(1330)는 통신부(1320)에서 수신한 데이터들, 프로세서에서 처리된 데이터들 및 처리될 데이터들을 저장할 수 있다.
메모리(1330)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체 또는 컴퓨터 프로그램 제품이 제공될 수 있다. 컴퓨터 판독 가능 저장 매체 또는 컴퓨터 프로그램 제품에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크 상의 별도의 저장 장치가 본 개시의 실시예를 수행하는 장치에 접속할 수도 있다.
본 개시에서, 용어 "컴퓨터 프로그램 제품(computer program product)" 또는 "컴퓨터로 읽을 수 있는 기록매체(computer readable medium)"는 메모리, 하드 디스크 드라이브에 설치된 하드 디스크, 및 신호 등의 매체를 전체적으로 지칭하기 위해 사용된다. 이들 "컴퓨터 프로그램 제품" 또는 "컴퓨터로 읽을 수 있는 기록매체"는 본 개시에 따른 결정된 이벤트에 대응하는 네트워크 메트릭에 기초하여, 누락된 데이터 패킷을 수신하기 위한 타이머의 길이를 설정하는 명령어로 구성된 소프트웨어 컴퓨터 시스템에 제공하는 수단이다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
상술한 본 개시의 구체적인 실시예들에서, 본 개시에 포함되는 구성 요소는 제시된 구체적인 실시예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (17)

  1. 3차원 오브젝트를 나타내는 메쉬 컨텐트를 압축하는 방법에 있어서,
    상기 메쉬 컨텐트는 3차원 오브젝트의 꼭짓점(vertex) 정보, 상기 꼭짓점을 연결하여 형성되는 면(face) 정보, 및 상기 면의 색상에 대한 텍스처 정보를 포함하고,
    상기 방법은,
    상기 꼭짓점 사이의 간격을 변경하여 스케일 팩터(scale factor)를 획득하고, 변환 꼭짓점(scaled vertex) 을 생성하는 단계;
    상기 변환 꼭짓점 사이를 포인트로 채워 메쉬 포인트 클라우드를 생성하는 단계;
    상기 메쉬 포인트 클라우드로부터 지오메트리 영상을 획득하는 단계;
    상기 텍스처 정보에 기초하여 텍스처 영상을 획득하는 단계;
    상기 변환 꼭짓점을 점유 맵(occupancy map)에 표시하는 단계;
    상기 면 정보를 상기 스케일 팩터 또는 상기 점유 맵 중 적어도 하나에 기초하여 변환하는 단계; 및
    상기 지오메트리 영상, 상기 텍스처 영상, 상기 점유 맵 및 상기 변환된 면 정보를 V-PCC(video based point cloud compression) 인코더로 압축하여 비트스트림을 생성하는 단계;를 포함하는,
    메쉬 컨텐트 압축 방법.
  2. 제 1 항에 있어서,
    상기 변환 꼭짓점을 획득하는 단계는,
    상기 3차원 오브젝트를 나타내는 꼭짓점들을 원점을 기준으로 스케일 다운하는 단계;를 포함하는,
    메쉬 컨텐트 압축 방법.
  3. 제 2 항에 있어서,
    상기 스케일 다운하는 단계는,
    상기 스케일 다운된 꼭짓점들이 서로 연접할 때까지 반복되는,
    메쉬 컨텐트 압축 방법.
  4. 제 1 항에 있어서,
    상기 변환된 면 정보는, 보조 메쉬 정보에 포함되는,
    메쉬 컨텐트 압축 방법.
  5. 제 1 항에 있어서,
    상기 지오메트리 영상 및 상기 텍스처 영상은 HEVC로 압축되고,
    상기 변환된 면 정보는 엔트로피 압축되는,
    메쉬 컨텐트 압축 방법.
  6. 제 1 항에 있어서,
    상기 면 정보를 변환하는 단계는,
    상기 점유 맵에서 상기 변환 꼭짓점의 위치에 기초하는,
    메쉬 컨텐트 압축 방법.
  7. 제 1 항에 있어서,
    상기 방법은,
    상기 텍스처 영상이 메쉬 컨텐트의 텍스처임을 나타내는 정보를 포함하여 비트스트림을 생성하는,
    메쉬 컨텐트 압축 방법.
  8. 제 1 항에 있어서,
    상기 텍스처 영상을 획득하는 단계는
    상기 텍스처 정보를 상기 꼭짓점들로 구성된 3차원 공간에 배치하는 단계; 및
    상기 배치된 텍스처 정보를 V-PCC에 기초하여 패치화하는 단계;를 포함하는,
    메쉬 컨텐트 압축 방법.
  9. 3차원 오브젝트를 나타내는 메쉬 컨텐트를 압축하는 장치에 있어서,
    상기 메쉬 컨텐트는 3차원 오브젝트의 꼭짓점(vertex) 정보, 상기 꼭짓점을 연결하여 형성되는 면(face) 정보, 및 상기 면의 색상에 대한 텍스처 정보를 포함하고,
    상기 장치는,
    메모리;
    통신부; 및
    프로세서;를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 꼭짓점 사이의 간격을 변경하여 스케일 팩터(scale factor)를 획득하고, 변환 꼭짓점(scaled vertex) 을 생성하고,
    상기 변환 꼭짓점 사이를 포인트로 채워 메쉬 포인트 클라우드를 생성하고,
    상기 메쉬 포인트 클라우드로부터 지오메트리 영상을 획득하고,
    상기 텍스처 정보에 기초하여 텍스처 영상을 획득하고,
    상기 변환 꼭짓점을 점유 맵(occupancy map)에 표시하고,
    상기 면 정보를 상기 스케일 팩터 또는 상기 점유 맵 중 적어도 하나에 기초하여 변환하고,
    상기 지오메트리 영상, 상기 텍스처 영상, 상기 점유 맵 및 상기 변환된 면 정보를 V-PCC(video based point cloud compression) 인코더로 압축하여 비트스트림을 생성하는,
    메쉬 컨텐트 압축 장치.
  10. 제 9 항에 있어서,
    상기 프로세서는,
    상기 3차원 오브젝트를 나타내는 꼭짓점들을 원점을 기준으로 스케일 다운하여 상기 변환 꼭짓점을 획득하는,
    메쉬 컨텐트 압축 장치.
  11. 제 10 항에 있어서,
    상기 프로세서는,
    상기 스케일 다운된 꼭짓점들이 서로 연접될 때까지 스케일 다운을 반복하는,
    메쉬 컨텐트 압축 장치.
  12. 제 9 항에 있어서,
    상기 변환된 면 정보는, 보조 메쉬 정보에 포함되는,
    메쉬 컨텐트 압축 장치.
  13. 제 9 항에 있어서,
    상기 프로세서는,
    상기 지오메트리 영상 및 상기 텍스처 영상은 HEVC로 압축하고, 상기 변환된 면 정보는 엔트로피 압축하는,
    메쉬 컨텐트 압축 장치.
  14. 제 9 항에 있어서,
    상기 프로세서는,
    상기 점유 맵에서 상기 변환 꼭짓점의 위치에 기초하여 상기 면 정보를 변환하는,
    메쉬 컨텐트 압축 장치.
  15. 제 9 항에 있어서,
    상기 프로세서는,
    상기 텍스처 영상이 메쉬 컨텐트의 텍스처임을 나타내는 정보를 포함하여 비트스트림을 생성하는,
    메쉬 컨텐트 압축 장치.
  16. 제 9 항에 있어서,
    상기 프로세서는,
    상기 텍스처 정보를 상기 꼭짓점들로 구성된 3차원 공간에 배치하고, 상기 배치된 텍스처 정보를 V-PCC에 기초하여 패치화여 상기 텍스처 영상을 획득하는,
    메쉬 컨텐트 압축 장치.
  17. 제 1 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체.
KR1020217022041A 2018-12-13 2019-12-13 3차원 메쉬 컨텐트를 압축하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 KR20210096285A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020180161183 2018-12-13
KR20180161183 2018-12-13
PCT/KR2019/017726 WO2020122675A1 (ko) 2018-12-13 2019-12-13 3차원 메쉬 컨텐트를 압축하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체

Publications (1)

Publication Number Publication Date
KR20210096285A true KR20210096285A (ko) 2021-08-04

Family

ID=71075527

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217022041A KR20210096285A (ko) 2018-12-13 2019-12-13 3차원 메쉬 컨텐트를 압축하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체

Country Status (3)

Country Link
US (1) US20220028119A1 (ko)
KR (1) KR20210096285A (ko)
WO (1) WO2020122675A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102503678B1 (ko) * 2022-02-28 2023-02-24 주식회사 라이드플럭스 자율주행 시스템을 위한 ndt 지도 데이터의 압축 방법, 장치 및 컴퓨터프로그램
KR102534282B1 (ko) * 2021-11-29 2023-05-26 주식회사 엠엠피 메쉬 데이터의 용량 감소 방법 및 장치
WO2023136653A1 (ko) * 2022-01-13 2023-07-20 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2023182676A1 (ko) * 2022-03-22 2023-09-28 현대자동차주식회사 메시 및 포인트 클라우드 코딩을 위한 방법 및 장치
WO2023224299A1 (ko) * 2022-05-16 2023-11-23 현대자동차주식회사 패치 단위 메시 코딩을 위한 방법 및 장치

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11704867B2 (en) * 2019-09-27 2023-07-18 Intel Corporation Methods for timed metadata priority rank signaling for point clouds
WO2023014038A1 (ko) * 2021-08-03 2023-02-09 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US20230177738A1 (en) * 2021-12-03 2023-06-08 Tencent America LLC Dynamic mesh compression based on point cloud compression
CN116664704A (zh) * 2022-02-18 2023-08-29 维沃移动通信有限公司 编码、解码方法、装置及设备
CN116847083A (zh) * 2022-03-25 2023-10-03 维沃移动通信有限公司 编码、解码方法、装置及设备
WO2024043750A1 (ko) * 2022-08-25 2024-02-29 엘지전자 주식회사 3d 데이터 송신 장치, 3d 데이터 송신 방법, 3d 데이터 수신 장치 및 3d 데이터 수신 방법
CN116704163B (zh) * 2023-08-03 2023-10-31 金锐同创(北京)科技股份有限公司 在终端显示虚拟现实场景的方法、装置、设备及介质

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208347B1 (en) * 1997-06-23 2001-03-27 Real-Time Geometry Corporation System and method for computer modeling of 3D objects and 2D images by mesh constructions that incorporate non-spatial data such as color or texture
GB0117157D0 (en) * 2001-07-16 2001-09-05 Imec Inter Uni Micro Electr Extraction, hierarchical representation and flexible compression of surface meshes derived from 3D data
EP1221674A3 (en) * 2001-01-05 2003-09-24 Interuniversitair Microelektronica Centrum Vzw System and method to obtain surface structures of multidimensional objects, and to represent those surface structures for animation, transmission and display
US7538764B2 (en) * 2001-01-05 2009-05-26 Interuniversitair Micro-Elektronica Centrum (Imec) System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display
US7613539B2 (en) * 2006-05-09 2009-11-03 Inus Technology, Inc. System and method for mesh and body hybrid modeling using 3D scan data
US20080294709A1 (en) * 2007-05-23 2008-11-27 Sathe Rahul P Processing geometric data using spectral analysis
US9189886B2 (en) * 2008-08-15 2015-11-17 Brown University Method and apparatus for estimating body shape
US8385971B2 (en) * 2008-08-19 2013-02-26 Digimarc Corporation Methods and systems for content processing
US8823775B2 (en) * 2009-04-30 2014-09-02 Board Of Regents, The University Of Texas System Body surface imaging
US10808882B2 (en) * 2010-05-26 2020-10-20 Intouch Technologies, Inc. Tele-robotic system with a robot face placed on a chair
EP2528042B1 (de) * 2011-05-23 2019-12-18 Deutsche Telekom AG Verfahren und Vorrichtung zum Re-Meshing von 3D-Polygonmodellen
US8831366B1 (en) * 2011-11-11 2014-09-09 Google Inc. Encoding and compressing three-dimensional (3D) object data models
US9972120B2 (en) * 2012-03-22 2018-05-15 University Of Notre Dame Du Lac Systems and methods for geometrically mapping two-dimensional images to three-dimensional surfaces
US9846960B2 (en) * 2012-05-31 2017-12-19 Microsoft Technology Licensing, Llc Automated camera array calibration
US9767598B2 (en) * 2012-05-31 2017-09-19 Microsoft Technology Licensing, Llc Smoothing and robust normal estimation for 3D point clouds
US20130335318A1 (en) * 2012-06-15 2013-12-19 Cognimem Technologies, Inc. Method and apparatus for doing hand and face gesture recognition using 3d sensors and hardware non-linear classifiers
US20140063024A1 (en) * 2012-12-19 2014-03-06 Iowa State University Research Foundation, Inc. Three-dimensional range data compression using computer graphics rendering pipeline
US9947124B2 (en) * 2013-07-29 2018-04-17 Disney Enterprises, Inc. Motion control of active deformable objects
US9396586B2 (en) * 2014-03-14 2016-07-19 Matterport, Inc. Processing and/or transmitting 3D data
US9734595B2 (en) * 2014-09-24 2017-08-15 University of Maribor Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds
US20160110922A1 (en) * 2014-10-16 2016-04-21 Tal Michael HARING Method and system for enhancing communication by using augmented reality
US10469873B2 (en) * 2015-04-15 2019-11-05 Google Llc Encoding and decoding virtual reality video
WO2017074490A1 (en) * 2015-10-28 2017-05-04 Siemens Product Lifecycle Management Software Inc. System and method for optimizing tool paths based on thermal/structural simulations of a part being produced via a 3d-printer
US10183330B2 (en) * 2015-12-10 2019-01-22 Vel03D, Inc. Skillful three-dimensional printing
EP3188033B1 (en) * 2015-12-31 2024-02-14 Dassault Systèmes Reconstructing a 3d modeled object
US20170214943A1 (en) * 2016-01-22 2017-07-27 Mitsubishi Electric Research Laboratories, Inc. Point Cloud Compression using Prediction and Shape-Adaptive Transforms
US10694210B2 (en) * 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
US10140764B2 (en) * 2016-11-10 2018-11-27 Adobe Systems Incorporated Generating efficient, stylized mesh deformations using a plurality of input meshes
EP3559326A4 (en) * 2016-12-22 2020-09-09 Fractal Braid, Inc. APPARATUS AND METHODS FOR HANDLING A MATERIAL
US11514613B2 (en) * 2017-03-16 2022-11-29 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
GB201709199D0 (en) * 2017-06-09 2017-07-26 Delamont Dean Lindsay IR mixed reality and augmented reality gaming system
US10848741B2 (en) * 2017-06-12 2020-11-24 Adobe Inc. Re-cinematography for spherical video
CN110832550B (zh) * 2017-07-10 2023-10-13 索尼公司 信息处理装置和方法
US11004264B2 (en) * 2017-08-07 2021-05-11 Verizon Patent And Licensing Inc. Systems and methods for capturing, transferring, and rendering viewpoint-adaptive three-dimensional (3D) personas
US10909725B2 (en) * 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US11113845B2 (en) * 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
EP3691276A4 (en) * 2017-09-29 2020-12-02 Sony Corporation INFORMATION PROCESSING DEVICE AND METHOD
US11657539B2 (en) * 2017-10-16 2023-05-23 Sony Corporation Information processing apparatus and information processing method
US10535161B2 (en) * 2017-11-09 2020-01-14 Samsung Electronics Co., Ltd. Point cloud compression using non-orthogonal projection
US10726609B2 (en) * 2017-11-22 2020-07-28 Pure Depth Limited Perspective distortion in multi-display system
US10417806B2 (en) * 2018-02-15 2019-09-17 JJK Holdings, LLC Dynamic local temporal-consistent textured mesh compression
CN111971713A (zh) * 2018-06-14 2020-11-20 英特尔公司 使用图像和时间跟踪神经网络进行的3d面部捕获和修改
US10891758B2 (en) * 2018-07-23 2021-01-12 Google Llc Geometry encoder
US10271040B1 (en) * 2018-08-09 2019-04-23 Alive 3D Dynamic angle viewing system
US11109065B2 (en) * 2018-09-26 2021-08-31 Google Llc Video encoding by providing geometric proxies
US10825131B2 (en) * 2018-11-13 2020-11-03 Intel Corporation Circular fisheye camera array rectification

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102534282B1 (ko) * 2021-11-29 2023-05-26 주식회사 엠엠피 메쉬 데이터의 용량 감소 방법 및 장치
WO2023136653A1 (ko) * 2022-01-13 2023-07-20 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
KR102503678B1 (ko) * 2022-02-28 2023-02-24 주식회사 라이드플럭스 자율주행 시스템을 위한 ndt 지도 데이터의 압축 방법, 장치 및 컴퓨터프로그램
WO2023182676A1 (ko) * 2022-03-22 2023-09-28 현대자동차주식회사 메시 및 포인트 클라우드 코딩을 위한 방법 및 장치
WO2023224299A1 (ko) * 2022-05-16 2023-11-23 현대자동차주식회사 패치 단위 메시 코딩을 위한 방법 및 장치

Also Published As

Publication number Publication date
WO2020122675A1 (ko) 2020-06-18
US20220028119A1 (en) 2022-01-27

Similar Documents

Publication Publication Date Title
KR20210096285A (ko) 3차원 메쉬 컨텐트를 압축하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
US11823421B2 (en) Signalling of metadata for volumetric video
CN107454468B (zh) 对沉浸式视频进行格式化的方法、装置和流
US10499033B2 (en) Apparatus, a method and a computer program for coding and rendering volumetric video
CN110383842B (zh) 一种视频处理方法和装置
US20190191170A1 (en) System and method for improving efficiency in encoding/decoding a curved view video
CN110675315A (zh) 点云拼贴处理方法及装置
WO2020068492A1 (en) Video encoding by providing geometric proxies
KR102634079B1 (ko) 포인트 클라우드 데이터 처리 장치 및 방법
KR102659806B1 (ko) V-pcc용 스케일링 파라미터
US10229537B2 (en) System and method for compressing and decompressing time-varying surface data of a 3-dimensional object using a video codec
US11721044B2 (en) Method and apparatus for decoding three-dimensional scenes
KR102640235B1 (ko) 3차원 데이터 부호화 방법 및 장치 및 3차원 데이터 복호화 방법 및 장치
JP7371691B2 (ja) ホモグラフィ変換を使用した点群符号化
US11711535B2 (en) Video-based point cloud compression model to world signaling information
KR20220069086A (ko) 볼류메트릭 비디오를 인코딩, 송신 및 디코딩하기 위한 방법 및 장치
WO2021260266A1 (en) A method, an apparatus and a computer program product for volumetric video coding
CN115088017A (zh) 点云的树内几何量化
KR20200144401A (ko) 3차원 데이터를 압축하는 방법 및 장치 및 3차원 데이터를 재구성하는 방법 및 장치
US10692247B2 (en) System and method for compressing and decompressing surface data of a 3-dimensional object using an image codec
US11887342B2 (en) Method and device for encoding three-dimensional image, and method and device for decoding three-dimensional image
KR102656191B1 (ko) 360 비디오 환경에서 포인트 클라우드 콘텐트 액세스 및 전달을 위한 방법 및 장치
JP2022525100A (ja) 深度の符号化および復号の方法および装置
WO2019127484A1 (zh) 视频编码方法、视频解码方法及相关装置
WO2023179705A1 (zh) 编码、解码方法、装置及设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal