KR102594003B1 - 볼류메트릭 비디오를 인코딩/디코딩하기 위한 방법, 장치 및 스트림 - Google Patents

볼류메트릭 비디오를 인코딩/디코딩하기 위한 방법, 장치 및 스트림 Download PDF

Info

Publication number
KR102594003B1
KR102594003B1 KR1020207017632A KR20207017632A KR102594003B1 KR 102594003 B1 KR102594003 B1 KR 102594003B1 KR 1020207017632 A KR1020207017632 A KR 1020207017632A KR 20207017632 A KR20207017632 A KR 20207017632A KR 102594003 B1 KR102594003 B1 KR 102594003B1
Authority
KR
South Korea
Prior art keywords
point cloud
information
point
bitstream
representation
Prior art date
Application number
KR1020207017632A
Other languages
English (en)
Other versions
KR20200083616A (ko
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 KR20200083616A publication Critical patent/KR20200083616A/ko
Application granted granted Critical
Publication of KR102594003B1 publication Critical patent/KR102594003B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • 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
    • 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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Signal Processing (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

장면의 3D 표현을 나타내는 데이터를 비트스트림으로 인코딩하기 위한 방법 및 디바이스로서, 3D 표현은 뷰 포인트들의 범위에 따른다. 목적을 달성하기 위해, 3D 표현의 적어도 부분과 연관된 적어도 깊이 맵이, 적어도 부분과 연관된 적어도 2차원 파라미터화(parametrization)를 나타내는 적어도 파라미터 및 적어도 부분에 포함된 적어도 포인트와 연관된 데이터에 따라 생성되고, 적어도 2차원 파라미터화는 적어도 포인트와 연관된 지오메트릭 정보 및 뷰 포인트들의 범위와 연관된 포즈 정보(pose information)에 응답적이다. 적어도 파라미터 및 적어도 부분에 포함된 적어도 포인트와 연관된 데이터에 따라 적어도 부분과 연관된 적어도 텍스처 맵이 생성된다. 3D 표현의 적어도 부분의 적어도 부분에 포함된 포인트들의 포인트 밀도를 나타내는 제1 정보가 획득된다. 적어도 깊이 맵이 비트스트림의 제1 신택스 요소로, 적어도 텍스처 맵이 비트스트림의 제2 신택스 요소로, 적어도 파라미터가 비트스트림의 제3 신택스 요소로, 제1 정보가 비트스트림의 제4 신택스 요소로, 및 적어도 2차원 파라미터화와 대응하는 적어도 깊이 맵 및 적어도 텍스처 맵 사이의 매핑을 나타내는 제2 정보가 비트스트림의 제5 신택스 요소로 인코딩된다. 비트스트림을 디코딩하기 위한 대응하는 방법 및 디바이스도 개시된다.

Description

볼류메트릭 비디오를 인코딩/디코딩하기 위한 방법, 장치 및 스트림
본 개시내용은 볼류메트릭 비디오 콘텐츠(volumetric video content)의 분야에 관한 것이다. 본 개시내용은, 예를 들어 모바일 디바이스들 또는 머리-장착 디스플레이들과 같은 최종 사용자 디바이스들 상에서 렌더링을 위한, 볼류메트릭 콘텐츠를 나타내는 데이터의 인코딩 및/또는 포맷팅의 맥락에서 또한 이해된다.
이 단원은 아래에서 설명 및/또는 청구되는 본 개시내용의 다양한 양태와 관련될 수 있는 기술의 다양한 양태를 독자에게 소개하고자 한다. 이러한 토론은 본 발명의 다양한 양태의 보다 나은 이해를 촉진하도록 독자에게 배경 정보를 제공하는데 도움이 될 것으로 생각된다. 따라서, 이러한 설명들은 이러한 관점에서 읽혀져야 하고, 선행 기술을 참작하는 것이 아니라는 것을 이해하여야 한다.
최근에는 이용 가능한 넓은 시야(large field-of-view) 콘텐츠(최대 360°)가 성장하고 있다. 이러한 콘텐츠는 머리 장착 디스플레이들, 스마트 안경들, PC 스크린들, 태블릿들, 스마트폰들 등과 같은 몰입형 디스플레이 디바이스(immersive display device)들 상의 콘텐츠를 시청하고 있는 사용자에게 완전하게 보이지 않을 가능성이 있다. 즉, 주어진 순간에 사용자는 콘텐츠의 일부만 보고 있을 수 있다는 것을 의미한다. 그러나, 사용자는 일반적으로 머리 움직임, 마우스 움직임, 터치 스크린, 음성 등과 같은 다양한 수단에 의해 콘텐츠 내에서 탐색할 수 있다. 일반적으로 이러한 콘텐츠를 인코딩하고 디코딩하는 것이 바람직하다.
360° 플랫 비디오(flat video)라고도 하는 몰입형 비디오는 사용자가 그의 머리를 정지 뷰 포인트(point of view)를 중심으로 회전하여 자신을 사방으로 볼 수 있게 한다. 회전들은 3 자유도(3 Degrees of Freedom)(3DoF) 경험만 가능하게 한다. 예를 들어 머리-장착 디스플레이 디바이스(Head-Mounted Display)(HMD)를 사용하여 제1 전방향 비디오 경험을 하는데는 3DoF 비디오가 충분할지라도, 예를 들어 시차를 경험함으로써 더 많은 자유를 기대하는 시청자는 3DoF 비디오에 금방 좌절할 수 있다. 또한, 3DoF는 사용자가 그의 머리를 회전할 뿐만아니라 그의 머리를 세 방향으로 평행이동시키기 때문에 현기증을 또한 유발할 수 있고, 그 평행이동들은 3DoF 비디오 경험들에서 재현되지 않는다.
넓은 시야 콘텐츠는, 다른 것들 중에서도, 3 차원 컴퓨터 그래픽 이미지 장면(three-dimension computer graphic imagery scene)(3D CGI scene), 포인트 클라우드(point cloud) 또는 몰입형 비디오일 수 있다. 이러한 몰입형 비디오들을 디자인하는 데는 다음과 같은 많은 용어: 예를 들어, 가상 현실(Virtual Reality)(VR), 360, 파노라마, 4π 입체각(steradian)들, 몰입형, 전방향(omnidirectional) 또는 넓은 시야가 사용될 수 있다.
(6 자유도(6 Degrees of Freedom)(6DoF) 비디오라고도 알려진) 볼류메트릭 비디오는 3DoF 비디오의 대안이다. 6DoF 비디오를 시청하고 있을 때, 사용자는 회전 외에도 시청된 콘텐츠 내에서 그의 머리와 심지어 그의 몸을 또한 평행이동시킬 수 있고, 시차와 심지어 볼륨들을 경험할 수 있다. 이러한 비디오들은 몰입감 및 장면 깊이의 인식을 상당히 높여주며, 머리의 평행이동들 중에 일관적인 시각적 피드백을 제공함으로써 현기증을 또한 방지한다. 콘텐츠는 전용 센서들에 의해 생성되어 관심 장면의 컬러와 깊이의 동시적인 기록을 가능하게 한다. 사진 측량 기술들과 결합된 컬러 카메라들의 리그를 사용하는 것이 그러한 기록을 수행하는 일반적인 방법이다.
3DoF 비디오들은 텍스처 이미지들(예를 들어, 위도/경도 투영 매핑(latitude/longitude projection mapping) 또는 정방형 투영 매핑(equirectangular projection mapping)에 따라 인코딩된 구형 이미지(spherical image)들)의 매핑 해제로 생긴 이미지들의 시퀀스를 포함하지만, 6DoF 비디오 프레임들에는 여러 뷰 포인트로부터의 정보가 삽입된다. 이들은 3 차원 캡처로부터 발생한 일시적인 포인트 클라우드(point cloud)들의 시리즈처럼 보일 수 있다. 시청 조건들에 따라 두 종류의 볼류메트릭 비디오가 고려될 수 있다. 첫 번째 것(즉, 완전한 6DoF)은 비디오 콘텐츠 내에서 완전 자유 항해(complete free navigation)를 가능하게 하는 반면, 두 번째 것(일명 3DoF+)은 사용자 시청 공간을 제한된 볼륨으로 제한하여, 머리의 회전 및 시차 경험이 제한되게 한다. 이러한 두 번째 맥락은 자유 항해와 좌석에 앉은 청중 구성원의 수동적 시청 조건 사이의 중요한 트레이드오프이다.
몰입형 맥락에서 사용자 경험을 증가시키는 동안, 렌더러로 전송되는 데이터의 양은 매우 중요하며 문제가 될 수 있다.
본 명세서에서 "일 실시예", "실시예", "예시적 실시예", "특정 실시예"라는 언급들은 설명된 실시예가 특정 특징, 구조 또는 특성을 포함할 수 있지만, 모든 실시예가 반드시 특정 특징, 구조 또는 특성을 포함하지 않을 수 있다는 것을 시사한다. 더욱이, 그러한 문구들이 반드시 동일한 실시예를 언급하는 것은 아니다. 또한, 특정 특징, 구조 또는 특성이 실시예와 관련하여 설명될 때, 명시적으로 설명되든지에 관계없이 다른 실시예들과 관련하여 그러한 특징, 구조 또는 특성에 영향을 미치는 것은 관련 기술분야의 통상의 기술자의 지식 범위 내에 있다고 생각된다.
본 개시내용은 장면의 3D 표현을 나타내는 데이터를 비트스트림으로 인코딩하는 방법에 관한 것으로, 3D 표현은 뷰 포인트들의 범위에 따르며, 방법은,
- 3D 표현의 적어도 부분과 연관된 적어도 깊이 맵을, 적어도 부분과 연관된 적어도 2차원 파라미터화(parametrization)를 나타내는 적어도 파라미터 및 적어도 부분에 포함된 적어도 포인트와 연관된 데이터에 따라 생성하는 단계 - 적어도 2차원 파라미터화는 적어도 포인트와 연관된 지오메트릭 정보 및 뷰 포인트들의 범위와 연관된 포즈 정보(pose information)에 응답적임 -;
- 적어도 파라미터 및 적어도 부분에 포함된 적어도 포인트와 연관된 데이터에 따라 적어도 부분과 연관된 적어도 텍스처 맵을 생성하는 단계;
- 3D 표현의 적어도 부분의 적어도 부분에 포함된 포인트들의 포인트 밀도를 나타내는 제1 정보를 획득하는 단계;
- 적어도 깊이 맵을 비트스트림의 제1 신택스 요소로, 적어도 텍스처 맵을 비트스트림의 제2 신택스 요소로, 적어도 파라미터를 비트스트림의 제3 신택스 요소로, 제1 정보를 비트스트림의 제4 신택스 요소로, 및 적어도 2차원 파라미터화와 대응하는 적어도 깊이 맵 및 적어도 텍스처 맵 사이의 매핑을 나타내는 제2 정보를 비트스트림의 제5 신택스 요소로 인코딩하는 단계를 포함한다.
본 개시내용은 또한 장면의 3D 표현을 나타내는 데이터를 비트스트림으로 인코딩하도록 구성된 디바이스에 관한 것으로, 3D 표현은 뷰 포인트들의 범위에 따르고, 디바이스는 적어도 하나의 프로세서와 연관된 메모리를 포함하고, 적어도 하나의 프로세서는,
- 3D 표현의 적어도 부분과 연관된 적어도 깊이 맵을 적어도 부분과 연관된 적어도 2차원 파라미터화를 나타내는 적어도 파라미터 및 적어도 부분에 포함된 적어도 포인트와 연관된 데이터에 따라 생성하고 - 적어도 2차원 파라미터화는 적어도 포인트와 연관된 지오메트릭 정보 및 뷰 포인트들의 범위와 연관된 포즈 정보(pose information)에 응답적임 -;
- 적어도 파라미터 및 적어도 부분에 포함된 적어도 포인트와 연관된 데이터에 따라 적어도 부분과 연관된 적어도 텍스처 맵을 생성하고;
- 3D 표현의 적어도 부분의 적어도 부분에 포함된 포인트들의 포인트 밀도를 나타내는 제1 정보를 획득하고;
- 적어도 깊이 맵을 비트스트림의 제1 신택스 요소로, 적어도 텍스처 맵을 비트스트림의 제2 신택스 요소로, 적어도 파라미터를 비트스트림의 제3 신택스 요소로, 제1 정보를 비트스트림의 제4 신택스 요소로, 및 적어도 2차원 파라미터화와 대응하는 적어도 깊이 맵 및 적어도 텍스처 맵 사이의 매핑을 나타내는 제2 정보를 비트스트림의 제5 신택스 요소로 인코딩하도록 구성된다.
본 개시내용은 장면의 3D 표현을 나타내는 데이터를 비트스트림으로 인코딩하도록 구성된 디바이스에 관한 것으로, 3D 표현은 뷰 포인트들의 범위에 따르고, 디바이스는,
- 3D 표현의 적어도 부분과 연관된 적어도 깊이 맵을, 적어도 부분과 연관된 적어도 2차원 파라미터화를 나타내는 적어도 파라미터 및 적어도 부분에 포함된 적어도 포인트와 연관된 데이터에 따라 생성하도록 구성된 생성기 - 적어도 2차원 파라미터화는 적어도 포인트와 연관된 지오메트릭 정보 및 뷰 포인트들의 범위와 연관된 포즈 정보에 응답적임 -;
- 적어도 파라미터 및 적어도 부분에 포함된 적어도 포인트와 연관된 데이터에 따라 적어도 부분과 연관된 적어도 텍스처 맵을 생성하도록 구성된 생성기;
- 3D 표현의 적어도 부분의 적어도 부분에 포함된 포인트들의 포인트 밀도를 나타내는 제1 정보를 획득하도록 구성된 인터페이스;
- 적어도 깊이 맵을 비트스트림의 제1 신택스 요소로, 적어도 텍스처 맵을 비트스트림의 제2 신택스 요소로, 적어도 파라미터를 비트스트림의 제3 신택스 요소로, 제1 정보를 비트스트림의 제4 신택스 요소로, 및 적어도 2차원 파라미터화와 대응하는 적어도 깊이 맵 및 적어도 텍스처 맵 사이의 매핑을 나타내는 제2 정보를 비트스트림의 제5 신택스 요소로 인코딩하도록 구성된 인코더를 포함한다.
본 개시내용은 또한 장면의 3D 표현을 나타내는 데이터를 비트스트림으로 인코딩하도록 구성된 디바이스에 관한 것으로, 3D 표현은 뷰 포인트들의 범위에 따르고, 디바이스는,
- 3D 표현의 적어도 부분과 연관된 적어도 깊이 맵을, 적어도 부분과 연관된 적어도 2차원 파라미터화를 나타내는 적어도 파라미터 및 적어도 부분에 포함된 적어도 포인트와 연관된 데이터에 따라 생성하기 위한 수단 - 적어도 2차원 파라미터화는 적어도 포인트와 연관된 지오메트릭 정보 및 뷰 포인트들의 범위와 연관된 포즈 정보에 응답적임 -;
- 적어도 파라미터 및 적어도 부분에 포함된 적어도 포인트와 연관된 데이터에 따라 적어도 부분과 연관된 적어도 텍스처 맵을 생성하기 위한 수단;
- 3D 표현의 적어도 부분의 적어도 부분에 포함된 포인트들의 포인트 밀도를 나타내는 제1 정보를 획득하기 위한 수단;
- 적어도 깊이 맵을 비트스트림의 제1 신택스 요소로, 적어도 텍스처 맵을 비트스트림의 제2 신택스 요소로, 적어도 파라미터를 비트스트림의 제3 신택스 요소로, 제1 정보를 비트스트림의 제4 신택스 요소로, 및 적어도 2차원 파라미터화와 대응하는 적어도 깊이 맵 및 적어도 텍스처 맵 사이의 매핑을 나타내는 제2 정보를 비트스트림의 제5 신택스 요소로 인코딩하기 위한 수단을 포함한다.
본 개시내용은 비트스트림으로부터 장면의 3D 표현을 나타내는 데이터를 디코딩하는 방법에 관한 것으로, 3D 표현은 뷰 포인트들의 범위에 따르고, 방법은,
- 비트스트림으로부터, 3D 표현의 적어도 부분의 적어도 2차원 파라미터화를 나타내는 적어도 파라미터를 디코딩하는 단계;
- 비트스트림으로부터, 3D 표현의 적어도 부분과 연관된 적어도 텍스처 맵을 나타내는 데이터를 디코딩하는 단계;
- 비트스트림으로부터, 3D 표현의 적어도 부분과 연관된 적어도 깊이 맵을 나타내는 데이터를 디코딩하는 단계;
- 3D 표현의 적어도 부분에 포함된 적어도 포인트와 연관된 데이터를, 적어도 파라미터, 적어도 텍스처 맵을 나타내는 데이터, 적어도 깊이 맵을 나타내는 데이터, 비트스트림으로부터 획득되고 3D 표현의 적어도 부분의 적어도 부분에 포함된 포인트들의 포인트 밀도를 나타내는 제1 정보, 및 비트스트림으로부터 획득되고 적어도 2차원 파라미터화와 대응하는 적어도 깊이 맵 및 적어도 텍스처 맵 사이의 매핑을 나타내는 제2 정보로부터 결정하는 단계를 포함한다.
본 개시내용은 비트스트림으로부터 장면의 3D 표현을 나타내는 데이터를 디코딩하도록 구성된 디바이스에 관한 것으로, 3D 표현은 뷰 포인트들의 범위에 따르고, 디바이스는 적어도 하나의 프로세서와 연관된 메모리를 포함하고, 적어도 하나의 프로세서는,
- 비트스트림으로부터, 3D 표현의 적어도 부분의 적어도 2차원 파라미터화를 나타내는 적어도 파라미터를 디코딩하고;
- 비트스트림으로부터, 3D 표현의 적어도 부분과 연관된 적어도 텍스처 맵을 나타내는 데이터를 디코딩하고;
- 비트스트림으로부터, 3D 표현의 적어도 부분과 연관된 적어도 깊이 맵을 나타내는 데이터를 디코딩하고;
- 3D 표현의 적어도 부분에 포함된 적어도 포인트와 연관된 데이터를, 적어도 파라미터, 적어도 텍스처 맵을 나타내는 데이터, 적어도 깊이 맵을 나타내는 데이터, 비트스트림으로부터 획득되고 3D 표현의 적어도 부분의 적어도 부분에 포함된 포인트들의 포인트 밀도를 나타내는 제1 정보, 및 비트스트림으로부터 획득되고 적어도 2차원 파라미터화와 대응하는 적어도 깊이 맵 및 적어도 텍스처 맵 사이의 매핑을 나타내는 제2 정보로부터 결정하도록 구성된다.
본 개시내용은 비트스트림으로부터 장면의 3D 표현을 나타내는 데이터를 디코딩하도록 구성된 디바이스에 관한 것으로, 3D 표현은 뷰 포인트들의 범위에 따르고, 디바이스는,
- 비트스트림으로부터, 3D 표현의 적어도 부분의 적어도 2차원 파라미터화를 나타내는 적어도 파라미터를 디코딩하도록 구성된 디코더;
- 비트스트림으로부터, 3D 표현의 적어도 부분과 연관된 적어도 텍스처 맵을 나타내는 데이터를 디코딩하도록 구성된 디코더;
- 비트스트림으로부터, 3D 표현의 적어도 부분과 연관된 적어도 깊이 맵을 나타내는 데이터를 디코딩하도록 구성된 디코더;
- 3D 표현의 적어도 부분에 포함된 적어도 포인트와 연관된 데이터를, 적어도 파라미터, 적어도 텍스처 맵을 나타내는 데이터, 적어도 깊이 맵을 나타내는 데이터, 비트스트림으로부터 획득되고 3D 표현의 적어도 부분의 적어도 부분에 포함된 포인트들의 포인트 밀도를 나타내는 제1 정보, 및 비트스트림으로부터 획득되고 적어도 2차원 파라미터화와 대응하는 적어도 깊이 맵 및 적어도 텍스처 맵 사이의 매핑을 나타내는 제2 정보로부터 결정하도록 구성된 프로세서를 포함한다.
본 개시내용은 비트스트림으로부터 장면의 3D 표현을 나타내는 데이터를 디코딩하도록 구성된 디바이스에 관한 것으로, 3D 표현은 뷰 포인트들의 범위에 따르고, 디바이스는,
- 비트스트림으로부터, 3D 표현의 적어도 부분의 적어도 2차원 파라미터화를 나타내는 적어도 파라미터를 디코딩하기 위한 수단;
- 비트스트림으로부터, 3D 표현의 적어도 부분과 연관된 적어도 텍스처 맵을 나타내는 데이터를 디코딩하기 위한 수단;
- 비트스트림으로부터, 3D 표현의 적어도 부분과 연관된 적어도 깊이 맵을 나타내는 데이터를 디코딩하기 위한 수단;
- 3D 표현의 적어도 부분에 포함된 적어도 포인트와 연관된 데이터를, 적어도 파라미터, 적어도 텍스처 맵을 나타내는 데이터, 적어도 깊이 맵을 나타내는 데이터, 비트스트림으로부터 획득되고 3D 표현의 적어도 부분의 적어도 부분에 포함된 포인트들의 포인트 밀도를 나타내는 제1 정보, 및 비트스트림으로부터 획득되고 적어도 2차원 파라미터화와 대응하는 적어도 깊이 맵 및 적어도 텍스처 맵 사이의 매핑을 나타내는 제2 정보로부터 결정하기 위한 수단을 포함한다.
특정 특성에 따르면, 제1 정보는 3D 표현의 어느 부분들이 결정된 밀도 값 미만의 포인트 밀도를 갖는지에 관한 표시를 포함한다.
특정 특성에 따르면, 제1 정보는 뷰 포인트들의 범위에 포함된 뷰 포인트에 따라 장면의 적어도 이미지 내 장면의 물체들 사이의 적어도 경계를 검출함으로써 획득되고, 3D 표현의 부분들은 경계를 포함하는 장면의 영역들에 대응하는 결정된 밀도 값 미만의 포인트 밀도를 갖는다.
다른 특성에 따르면, 제1 정보는 3D 표현의 복수의 볼륨 요소의 각각의 볼륨 요소에 포함된 포인트들의 수를 계산하여 각 볼륨 요소의 포인트 밀도를 획득함으로써, 그리고 각 볼륨 요소의 포인트 밀도를 결정된 밀도 값과 비교함으로써 획득된다.
추가 특성에 따르면, 디코딩된 적어도 깊이 맵으로부터 획득된 포인트들 이외에, 결정된 밀도 값 미만의 포인트 밀도를 갖는 3D 표현의 부분들에서 추가 포인트들이 생성된다.
본 개시내용은 또한 장면의 3D 표현을 나타내는 데이터를 반송하는 비트스트림에 관한 것으로, 3D 표현은 뷰 포인트들의 범위에 따르고, 데이터는,
- 3D 표현의 부분의 적어도 부분의 적어도 2차원 파라미터화를 나타내는 적어도 파라미터 - 파라미터들은 3D 표현의 적어도 부분의 적어도 포인트와 연관된 지오메트릭 정보에 따라서 및 뷰 포인트들의 범위와 연관된 포즈 정보에 따라서 획득됨 -;
- 3D 표현의 적어도 부분과 연관되고 적어도 파라미터 및 3D 표현의 적어도 부분에 포함된 적어도 포인트와 연관된 데이터로부터 결정되는 적어도 텍스처 맵을 나타내는 데이터;
- 3D 표현의 적어도 부분과 연관되고 적어도 파라미터 및 3D 표현의 적어도 부분에 포함된 적어도 포인트와 연관된 데이터로부터 결정되는 적어도 깊이 맵을 나타내는 데이터;
- 3D 표현의 적어도 부분의 적어도 부분에 포함된 포인트들의 포인트 밀도를 나타내는 제1 정보;
- 적어도 2차원 파라미터화와 대응하는 적어도 깊이 맵 및 적어도 텍스처 맵 사이의 매핑을 나타내는 제2 정보를 포함한다.
본 개시내용은 또한 이러한 프로그램이 컴퓨터 상에서 실행될 때, 장면의 3D 표현을 나타내는 데이터를 인코딩 또는 디코딩하는 방법의 단계들을 실행하는 프로그램 코드 명령어들을 포함하는 컴퓨터 프로그램 제품에 관한 것이다.
본 개시내용은 또한 프로세서로 하여금 장면의 3D 표현을 나타내는 데이터를 인코딩 또는 디코딩하는 적어도 위에서 언급한 방법을 수행하게 하는 명령어들이 저장된 (비일시적) 프로세서 판독 가능 매체에 관한 것이다.
본 개시내용은 더 잘 이해될 것이고, 첨부 도면을 참조하여 다음의 설명을 읽을 때 다른 특정 특징들 및 장점들이 나타날 것이며, 설명은 첨부 도면들을 참조하여 설명된다.
- 도 1은 본 원리들의 특정 실시예에 따른, 볼류메트릭 콘텐츠를 도시한다.
- 도 2a 및 도 2b는 본 원리들의 특정 실시예에 따른, 도 1의 볼류메트릭 콘텐츠의 적어도 부분을 획득하기 위해 3D 장면의 (또는 3D 장면의 부분의) 이미지들을 획득하도록 구성된 라이트필드 획득 디바이스(lightfield acquisition device)를 도시한다.
- 도 3은 본 원리들의 특정 실시예에 따른, 도 2a 및 도 2b의 획득 디바이스로 획득된 3D 장면 또는 그의 부분의 표현들을 도시한다.
- 도 4는 본 원리들의 특정 실시예에 따른, 도 3의 3D 장면의 표현의 3D 부분들과 연관된 2D 파라미터화들을 도시한다.
- 도 5 및 도 6은 본 원리들의 특정 실시예들에 따른, 도 4의 3D 부분들과 연관된 패치 아틀라스(patch atlas)를 도시한다.
- 도 7은 본 원리들의 비제한적 실시예에 따른, 도 5 및 도 6의 패치 아틀라스의 생성을 도시한다.
도 8a, 도 8b, 도 8c 및 도 8d는 각각 도 3의 3D 장면의 3D 표현의 파티셔닝(partitioning)의 비제한적 예를 도시한다.
- 도 9는 본 원리들의 예에 따른, 도 3의 3D 장면의 표현의 인코딩/디코딩 방식의 예를 도시한다.
- 도 10은 본 원리들의 비제한적 실시예에 따른, 도 3의 3D 장면의 표현의 인코딩 시에 구현된 프로세스의 예를 도시한다.
- 도 11은 본 원리들의 비제한적 실시예에 따른, 비트스트림을 디코딩하여 도 3의 3D 장면의 디코딩된 3D 표현을 획득하기 위한 프로세스의 예를 도시한다.
- 도 12는 본 원리들의 예에 따른, 도 10, 도 11, 도 15 및/또는 도 16의 방법(들)을 구현하기 위해 구성된 디바이스의 아키텍처의 예를 도시한다.
- 도 13은 본 원리들의 예에 따른, 도 12의 두 개의 원격 디바이스가 통신 네트워크를 통해 통신하는 것을 도시한다.
- 도 14는 본 원리들의 예에 따른, 도 3의 3D 장면의 3D 표현에 관한 설명을 반송하는 신호의 신택스를 도시한다.
- 도 15는 본 원리들의 예에 따른, 도 3의 3D 장면의 3D 표현을 나타내는 데이터를 인코딩하는 방법을 도시한다.
- 도 16은 본 원리들의 예에 따른, 도 3의 3D 장면의 3D 표현을 나타내는 데이터를 디코딩하는 방법을 도시한다.
이제 본 주제가 도면들을 참조하여 설명되며, 도면에서 유사한 참조 부호들은 전체에 걸쳐 유사한 요소들을 지칭하는데 사용된다. 다음의 설명에서, 설명 목적을 위해, 본 주제의 철저한 이해를 제공하기 위해 많은 특정 세부 사항이 제시된다. 그러나, 본 주제 실시예들은 이러한 특정 세부 사항들 없이 실시될 수 있음이 명백할 수 있다.
본 설명은 본 개시내용의 원리들을 예시한다. 따라서, 본 명세서에서 명시적으로 설명되거나 도시되지 않았지만, 관련 기술분야의 통상의 기술자가 본 개시내용의 원리들을 구현하고 그 범위 내에 포함되는 다양한 배열을 고안할 수 있다는 것이 인식될 것이다.
본 개시내용의 비제한적 실시예에 따르면, 볼류메트릭 비디오(3DoF+ 또는 6DoF 비디오라고도 함)의 이미지들을 비트스트림으로 인코딩하는 방법들 및 디바이스들이 개시된다. 비트스트림으로부터 볼류메트릭 비디오의 이미지들을 디코딩하는 방법들 및 디바이스들이 또한 개시된다. 볼류메트릭 비디오의 하나 이상의 이미지의 인코딩을 위한 비트스트림의 신택스의 예들이 또한 개시된다.
제1 양태에 따르면, 본 원리들은 (몰입형 비디오라고도 불리는 전방향성 콘텐츠로 표현된) 장면의 3D 표현을 나타내는 데이터를 비트스트림으로 인코딩하는 방법 (및 인코딩하기 위해 구성된 디바이스)의 제1 특정 실시예를 참조하여 설명될 것이다. 이러한 목적에 도달하기 위해, 3D 표현을 위해, 예를 들어 장면의 3D 표현의 또는 3D 표현의 부분의 2D 픽셀 표현에 대응하는 2D 파라미터화를 위해 하나 이상의 2D 파라미터화가 획득된다. 깊이 맵(높이 맵이라고도 함) 및 텍스처 맵(컬러 맵이라고도 함)은 각 부분과 연관된 2D 파라미터화를 서술하는 하나 이상의 파라미터를 사용하여 3D 표현의 각 부분에 대해 결정되고 그와 연관된다. 3D 표현과 연관된 (또는 3D 표현의 부분과 연관된) 깊이 맵은 3D 표현에 (3D 표현의 부분에 각각) 포함된 요소들(예를 들어, 포인트들)과 연관된 깊이 또는 거리 정보를 포함한다. 3D 표현과 연관된 (또는 3D 표현의 부분과 연관된) 텍스처 맵은 3D 표현에 (3D 표현의 부분에) 포함된 요소들(예를 들어, 포인트들)과 연관된 텍스처 정보(예를 들어, RGB 값들)를 포함한다. 3D 표현의 요소들(예를 들어, 포인트들 또는 메시 요소들의 정점들)의 밀도는 공간적으로 가변적일 수 있는데, 즉 요소들의 밀도(볼륨 단위당 요소들의 수)는 3D 표현의 하나의 3D 부분/영역마다 상이할 수 있다. 비트스트림은 2D 파라미터화(들)의 파라미터들, 깊이 맵(들)을 나타내는 데이터, 텍스처 맵(들)을 나타내는 데이터, 밀도 또는 밀도의 변동에 관한 정보 및 각각의 2D 파라미터화를 그의 연관된 깊이 맵 및 텍스처 맵과 링크하는 매핑 정보를 조합 및/또는 코딩함으로써 생성될 수 있다.
디코더/렌더링된 측에서, 3D 표현(예를 들어, 포인트 클라우드 또는 메시)은 스트림으로부터 2D 파라미터화들의 파라미터들 및 요소 밀도/밀도들에 관련된 정보와 연관된 깊이 및 텍스처 맵들을 디코딩/추출함으로써 재구성될 수 있으며, 3D 장면의 하나 이상의 이미지는 3D 표현으로부터 렌더링될 수 있다. 예를 들어, 밀도 레벨에 따라, 특정 프로세스가 결정된 레벨/값 미만의 요소 밀도를 갖는 3D 표현의 영역(들)에 적용될 수 있다.
텍스처 및 깊이 정보를 가진 물체를 표현하기 위한 기준들로서 복수의 2D 파라미터화를 사용하는 것은 포인트 클라우드 또는 3D 메시를 이용한 표현과 비교하여 장면을 표현하는데 필요한 데이터의 양을 감소시키면서 복잡한 토폴로지들을 가진 물체들을 최적 수준의 세부 사항으로 표현할 수 있게 한다. 요소 밀도에 관한 정보를 송신하는 것은 3D 표현의 일부 부분들에 특정 프로세스(예를 들어, 낮은 요소 밀도, 즉 결정된 레벨/값 미만의 요소 밀도를 갖는 3D 표현의 부분들의 요소들의 오버샘플링)를 적용할 수 있게 하며, 이것은 재구성된 3D 장면의 표현의 품질을 향상시키면서 송신될 데이터의 양을 감소시키는데 사용될 수 있다.
도 1은 본 원리들의 특정적이고 비제한적인 실시예에 따른 볼류메트릭 콘텐츠(10)(몰입형 콘텐츠 또는 전방향 콘텐츠라고도 함)의 예를 도시한다. 도 1은 여러 물체의 표면 표현을 포함하는 3차원 장면을 나타내는 이미지를 도시한다. 장면은 임의의 적합한 기술을 사용하여 캡처되었을 수 있다. 예를 들어, 이것은 컴퓨터 그래픽 이미지(computer graphics imagery)(CGI) 도구들을 사용하여 생성되었을 수 있다. 이것은 컬러 이미지 및 깊이 이미지 획득 디바이스들에 의해 캡처되었을 수 있다. 그러한 경우, 획득 디바이스들(예를 들어 카메라들)로부터 보이지 않는 물체들의 부분이 장면에서 표현되지 않을 수 있을 가능성이 있다. 도 1에 도시된 예시적인 장면은 주택들, 두 명의 캐릭터 및 우물을 포함한다. 도 1의 큐브(11)는 사용자가 3D 장면을 관찰할 가능성 있는 뷰 공간(space of view)을 예시한다.
볼류메트릭 콘텐츠(10)를 시각화하는데 사용되는 디스플레이 디바이스는, 예를 들어 사용자의 머리에 또는 헬멧의 부분에 착용되는 머리 장착 디스플레이(HMD)이다. HMD는 유리하게는 하나 이상의 디스플레이 스크린(예를 들어, 액정 디스플레이(Liquid Crystal Display)(LCD), 유기 발광 다이오드(Organic Light-Emitting Diode)(OLED) 또는 액정 온 실리콘(Liquid Crystal on Silicon)(LCOS)) 및 실제 세계의 1개, 2개 또는 3개의 축(피치(pitch), 요(yaw) 및/또는 롤(roll) 축들)에 따른 HMD의 위치의 변화(들)를 측정하도록 구성된 센서(들), 예를 들면, 자이로스코프들 또는 관성 측정 유닛(Inertial Measurement Unit)(IMU)을 포함한다. HMD의 측정된 위치에 대응하는 볼류메트릭 콘텐츠(10)의 부분은 유리하게는 실제 세계에서 HMD와 연관된 뷰 포인트와 볼류메트릭 콘텐츠(10)와 연관된 가상 카메라의 뷰 포인트 사이의 관계를 설정하는 특정 함수에 의해 결정된다. HMD의 측정된 위치에 따라 HMD의 디스플레이 스크린(들)에 디스플레이될 비디오 콘텐츠의 부분을 제어하면 HMD를 착용한 사용자가 HMD의 디스플레이 스크린(들)과 연관된 시야보다 큰 몰입형 콘텐츠를 탐색할 수 있게 한다. 예를 들어, HMD에 의해 제공되는 시야(field of view)가 (예를 들어, 요축을 중심으로) 110°와 같으면 그리고 몰입형 콘텐츠가 180°의 콘텐츠를 제공한다면, HMD를 착용한 사용자는 HMD에 의해 제공되는 시야 바깥의 비디오 콘텐츠의 부분들을 보기 위해 자신의 머리를 오른쪽 또는 왼쪽으로 돌릴 수 있다. 다른 예에 따르면, 몰입형 시스템은 동굴 자동 가상 환경(Cave Automatic Virtual Environment)(CAVE) 시스템이며, 몰입형 콘텐츠는 방의 벽들 상에 투영된다. CAVE의 벽들은 예를 들어 리어-프로젝션 스크린들 또는 평판 디스플레이들로 구성된다. 따라서, 사용자는 방의 서로 다른 벽들에 자신의 눈을 돌려 탐색할 수 있다. CAVE 시스템은 유리하게는 이러한 이미지들의 비디오 처리에 의해 사용자의 응시 방향을 결정하기 위해 사용자의 이미지들을 획득하는 카메라를 구비한다. 변형예에 따르면, 사용자의 응시 또는 포즈는 추적 시스템, 예를 들어 사용자가 적외선 센서들을 착용하는 적외선 추적 시스템에 의해 결정된다. 다른 변형예에 따르면, 몰입형 시스템은 촉각 디스플레이 스크린을 갖는 태블릿이고, 사용자는 하나 이상의 손가락을 촉각 디스플레이 스크린 상에서 슬라이딩하여 콘텐츠를 스크롤함으로써 콘텐츠를 탐색한다.
볼류메트릭 콘텐츠(10)는 예를 들어 2π, 2.5π, 3π 또는 4π 입체각 콘텐츠(steradian content)일 수 있다.
도 2a 및 도 2b는 볼류메트릭 콘텐츠(10)를 획득하기 위해 사용될 수 있는 라이트필드 획득 디바이스의 예를 도시한다. 보다 구체적으로는, 도 2a 및 도 2b는 각각 본 원리들의 2개의 특정 실시예에 따른 카메라 어레이(2A, 2B)(카메라 어레이들이라고도 함)를 도시한다.
카메라 어레이(2A)는 수 개의 마이크로-렌즈(201, 202 내지 20p)를 포함하는 렌즈들 또는 마이크로-렌즈들의 어레이(20) - p는 마이크로-렌즈들의 수에 대응하는 정수임 - 및 하나 또는 다수의 센서 어레이(21)를 포함한다. 카메라 어레이(2A)는 메인 렌즈를 포함하지 않는다. 렌즈 어레이(20)는 일반적으로 마이크로-렌즈 어레이라 불리는 소형 디바이스일 수 있다. 단일 센서를 가진 카메라 어레이는 메인 렌즈가 무한 초점 길이를 갖는 플렌옵틱 카메라(plenoptic camera)의 특별한 경우로 간주될 수 있다. 포토센서들의 수가 마이크로-렌즈들의 수와 동일한 특정 배열에 따르면, 즉 하나의 포토센서가 하나의 마이크로-렌즈와 광학적으로 연관된 특정 배열에 따르면, 카메라 어레이(20)는 밀접하게 이격된 복수의 개별 카메라들(예를 들어, 마이크로-카메라들)의 배열, 이를테면, (도 2a에 도시된 바와 같이) 정사각형 배열 또는 예를 들어 퀸컹스 배열(quincunx arrangement), 예를 들면, 원통형 표면 상의 평평하지 않은 배열처럼 보일 수 있다.
카메라 어레이(2B)는 렌즈 및 포토센서 어레이를 각각 포함하는 개별 카메라들의 리그(rig)에 대응한다. 카메라들은 예를 들어 수 센티미터 이하 또는 5, 7 또는 10 cm의 거리만큼 이격되어 있다.
이러한 카메라 어레이(2A 또는 2B)에 의해 획득된 (소위 라이트필드 이미지를 형성하는) 라이트필드 데이터는 장면의 복수의 뷰에 대응하는데, 즉, 렌즈렛 어레이(lenslet array)와 포토센서 어레이 사이의 거리가 마이크로렌즈 초점 거리와 동일한 플렌옵틱 카메라에 대응하는 타입 1.0 의 플렌옵틱 카메라, 또는 그렇지 않으면 타입 2.0의 플렌옵틱 카메라(소위 포커싱된 플렌옵틱 카메라라고도 함)와 같은 플렌옵틱 카메라에 의해 획득된 원시 이미지를 디멀티플렉싱(demultiplexing)하고 데모세이징(demosaicing)함으로써 획득될 수 있는 최종 뷰들에 대응한다. 카메라 어레이(2B)의 카메라들은 임의의 공지된 방법에 따라 교정되는데, 즉 카메라들의 고유 파라미터 및 외부 파라미터들은 알려져 있다.
라이트필드 획득 디바이스로 획득된 상이한 뷰들은 예를 들어 시차에 기초하여 깊이를 계산할 수 있는 알고리즘들을 사용하여 몰입형 콘텐츠 또는 몰입형 콘텐츠의 적어도 부분을 획득할 수 있게 한다. 당연히, 몰입형 콘텐츠는 라이트필드 획득 디바이스와는 상이한 획득 디바이스, 예를 들어 깊이 센서(예를 들어, Kinect of Microsoft와 같은 적외선 방출기/수신기 또는 레이저 방출기)와 연관된 카메라로 획득될 수 있다.
도 3은 볼류메트릭 콘텐츠(10)로 표현된 장면의 물체 또는 물체의 부분의 2개의 상이한 표현을 도시한다. 도 3의 예에 따르면, 물체는 예를 들어 장면 내에서 움직이는 사람이며, 도 3에는 머리에 대응하는 물체의 부분이 도시된다.
물체의 부분의 제1 3D 표현(30)은 포인트 클라우드이다. 포인트 클라우드는 물체, 예를 들어 물체의 외부 표면 또는 외부 형상을 나타내는 포인트들의 큰 집합에 대응한다. 포인트 클라우드는 벡터 기반 구조로 보일 수 있으며, 여기서 각각의 포인트는 그의 좌표들(예를 들어, 3 차원 좌표들(XYZ) 또는 주어진 뷰 포인트로부터의 깊이/거리) 및 컴포넌트라고도 불리는 하나 이상의 속성을 갖는다. 컴포넌트의 예는 상이한 컬러 공간들, 예를 들어 RGB(적색(Red), 녹색(Green) 및 청색(Blue)) 또는 YUV(Y는 루마 컴포넌트이고 UV는 두 개의 색차 컴포넌트임)로 나타낼 수 있는 컬러 컴포넌트이다. 포인트 클라우드는 주어진 뷰 포인트 또는 뷰 포인트들의 범위로부터 보이는 것과 같은 물체의 표현이다. 포인트 클라우드는 상이한 방법들로, 예를 들면,
● 깊이 활성 감지 디바이스(depth active sensing device)에 의해 임의로 보완되는, 도 2의 카메라 어레이들로서, 카메라들의 리그에 의해 촬영된 실제 물체의 캡처로부터;
● 모델링 툴에서 가상 카메라들의 리그에 의해 촬영된 가상/합성 물체의 캡처로부터;
● 실제 물체와 가상 물체 둘 모두의 혼합으로부터 획득될 수 있다.
변형예에 따르면, 3D 표현은 3D 메시 표현에 대응하고 제1 표현 상에 예시된 포인트들은 메시를 형성하는 메시 요소들(예를 들어 삼각형들)의 정점들에 대응한다.
(실제 물체의 캡처로부터의) 첫 번째 경우, 카메라들의 세트는 상이한 뷰들(상이한 뷰 포인트들)에 대응하는 이미지들의 세트 또는 이미지들(비디오들)의 시퀀스들을 생성한다. 깊이 정보 - 각각의 카메라 중심으로부터 물체 표면까지의 거리를 의미함 - 는 예를 들어 적외선 범위에서 그리고 구조화된 광 분석 또는 비행 시간에 기초하여 활성 깊이 감지 디바이스에 의해 또는 시차 알고리즘들에 기초하여 획득된다. 두 경우 모두, 모든 카메라는 본질적으로 및 외부적으로 교정되어야 한다. 시차 알고리즘들은 1 차원 라인을 따라 전형적으로 만들어지는 한 쌍의 시정된 카메라 이미지들 상의 유사한 시각적 피처들을 검색하는 것으로 구성되며; 픽셀 컬럼 차이가 클수록 이러한 피처의 표면은 더 가깝다. 카메라 어레이의 경우, 전역적 깊이 정보(global depth information)는 복수의 카메라 쌍을 이용하여 복수의 피어 시차 정보(peer disparity information)를 결합함으로써 획득될 수 있으며, 이에 따라 신호 대 잡음비를 개선할 수 있다.
두 번째 경우(합성 물체), 모델링 도구는 깊이 정보를 직접 제공한다.
제1 3D 표현(30)을 형성하는 요소들(예를 들어, 포인트들 또는 메시 요소들)의 밀도는 공간적으로 가변적일 수 있다. 볼륨 단위당 요소들의 수는 볼륨 단위마다, 볼륨 단위의 그룹마다, 또는 3D 부분마다 상이할 수 있다. 볼륨 단위는 예를 들어 복셀 또는 결정된 치수들의 큐브(예를 들어, 에지들 각각이 예를 들면 1, 2 또는 10 cm와 동일한 크기를 갖는 큐브)에 대응한다. 밀도는 볼륨 단위당 요소들의 수, 예를 들어 복셀 당 포인트들의 수에 대응한다.
예를 들어, 사람의 머리의 이미지들이 카메라 어레이(2A)로 획득되었고 이미지들을 획득하는 동안 머리가 카메라 어레이(2A)를 마주하고 있다는 것을 고려함으로써, 카메라 어레이를 마주하는 머리의 부분(들)(301)은 카메라 어레이(2A)의 많은 카메라로 획득될 수 있는 반면, 다른 부분(들)(302)은 부분(들)(301)보다 많지 않은 또는 적은 수의 카메라로 획득될 수 있다. 예를 들어, 부분(들)(301)은 카메라 어레이(2A)의 카메라들에 의해 형성된 평면과 본질적으로 직교하는 법선을 갖는 물체/장면의 영역들에 대응할 수 있는 반면, 부분(들)(302)은 카메라 어레이(2A)의 카메라들에 의해 형성된 평면에 본질적으로 평행한 법선을 갖는 물체/장면의 영역들에 대응할 수 있다. 카메라 어레이들로 획득된 이미지들로부터 3D 표현을 생성하면 부분들(301)을 표현하기 위해 사용되는 요소들의 수가 부분들(302)을 표현하기 위해 사용되는 요소들의 수보다 많아지는 부분들(301)을 초래한다. 부분(들)(301)의 요소들의 밀도는 부분(들)(302)의 요소들의 밀도보다 크며, 부분(들)(302)은 부분(들)(301)과 비교하여 감소된 수의 카메라들로부터 보인다.
요소들의 밀도가 낮은 (즉, 결정된 레벨/값 미만의 밀도를 갖는) 3D 장면의 부분들을 표현하면 위에서 설명된 바와 같이 획득된 3D 장면의 3D 표현을 나타내는 데이터 (예를 들어, 텍스처 및 깊이)를 코딩/디코딩한 이후에 3D 장면의 3D 표현을 재구성할 때 문제들이 발생할 수 있다
다른 문제들은 장면의 3DoF+ 표현에 의해 제안된 뷰 공간 내에서 재구성된 3D 장면을 탐색할 때/훑어볼 때 나타날 수 있다. 실제로, 사용자는 제한된 수의 요소들로 획득된, 즉 렌더링 측면에서 제한된 품질로 획득된 3D 장면의 3D 표현의 가시적 부분들을 렌더링하는 뷰 포인트에 따라 재구성된 3D 장면을 볼 수 있다.
물체의 부분의 제2 표현(31)은 포인트 클라우드(또는 3D 메시) 표현(30)으로부터 획득될 수 있으며, 제2 표현은 표면 표현에 대응한다. 포인트 클라우드는 그의 표면을 계산하기 위해 처리될 수 있다. 그 목적을 위해, 포인트 클라우드의 주어진 포인트에 대해, 이러한 주어진 포인트의 이웃 포인트들은 이러한 주어진 포인트에서 로컬 표면에 대한 법선을 계산하기 위해 사용되며, 이러한 주어진 포인트와 연관된 표면 요소는 그 법선으로부터 도출된다. 표면을 획득하기 위해 모든 포인트에 대해 프로세스가 반복된다. 포인트 클라우드로부터 표면을 재구성하기 위한 방법들은 예를 들어 Matthew Berger et al.에 의한 문헌["State of the Art in Surface Reconstruction from Point Clouds", State of the Art Report, 2014]에 기재되어 있다. 변형예에 따르면, 포인트 클라우드의 주어진 포인트와 연관된 표면 요소는 이러한 주어진 포인트에 스플랫 렌더링(splat rendering)을 적용함으로써 획득된다. 물체의 표면(물체의 암시적 표면 또는 외부 표면이라고도 함)은 포인트 클라우드의 포인트들과 연관된 모든 스플랫들(예를 들어, 타원체들)을 혼합함으로써 획득된다.
특정 실시예에서, 포인트 클라우드는 물체를 그의 전체가 아니라 물체의 부분 뷰들만을 표현하며, 이것은 예를 들어 영화 촬영 장면에서, 물체가 렌더링 측에서 시청될 것으로 예상되는 방식에 대응한다. 예를 들어, 평면 카메라 어레이와 마주하는 캐릭터를 촬영하면 리그 측에서만 포인트 클라우드가 생성된다. 캐릭터의 뒷면이 존재하지도 않고, 물체의 위가 가려져 있지 않으며, 따라서 이 물체의 지오메트릭 특성들은 리그의 방향으로 향하고 있는 모든 표면의 세트이다(각 로컬 표면의 법선과 획득 디바이스로 되돌아온 광선 사이의 각도는 예를 들어 90° 미만이다).
3D 장면의 3D 표현의 밀도에 관한 정보가 추가로 획득되거나 결정될 수 있다. 밀도 정보는, 장면의 지오메트리(예를 들어, 상이한 뷰 포인트들에 따라 획득되거나 취득된 상이한 이미지들로부터 결정될 수 있는 깊이)를 안다면, 다양한 방식으로 획득될 수 있다. 예를 들어, 밀도는 3D 표현의 각각의 요소 (또는 요소들의 부분의 각각의 요소), 예를 들어 포인트 또는 메시 요소에 대해, 이웃들의 수(N), 예를 들어 상기 각각의 요소를 중심으로 하는 반경(R)의 구체 또는 상기 각각의 요소를 중심으로 하는 큐브 내의 이웃들의 수를 카운팅함으로써 결정될 수 있다. 밀도는 이웃들의 수를 이웃 표면으로 나눈 것과 동일한 표면 밀도(즉, N/(Pi.R²)) 또는 이웃들의 수를 이웃 볼륨으로 나눈 것과 동일한 볼륨 밀도(N/(4/3.Pi.R3))처럼, 이웃들의 수(N)로 표현될 수 있다.
다른 예에 따르면, 밀도는 3D 표현의 요소들의 각각의 요소 또는 3D 표현의 요소들의 부분의 각각의 요소에 대해, 가장 가까운 이웃까지의 거리를 결정함으로써 추정될 수 있다. 이러한 거리는 위의 구체의 이웃 반경(R)(및 N = 1)과 동등한 것으로 간주된다.
추가 예에 따르면, 3D 표현은 (예를 들어 도 8a 내지 도 8d와 관련하여 설명된 바와 같이, (복셀들 또는 기본 표면 영역들에 대응할 수 있는) 복수의 부분으로 분할되고, 각각의 3D 부분 내 요소들의 수는 (예를 들어, 장면의 지오메트리, 예를 들면 각각의 요소와 연관된 깊이로부터 계산되며 그리고 예를 들면 카메라 어레이(2A)로부터 획득된 장면의 이미지들로부터 결정된다).
다른 예에 따르면, 밀도에 관한 정보는 3D 표현 내의 경계들을 결정함으로써 획득될 수 있다. 이 예에 따르면, 시차를 나타내는 정보는 3D 표현을 재구성할 때 3D 표현의 어느 부분들이 문제들을 일으킬 수 있는 결정된 레벨 미만의 밀도 레벨을 갖는지를 표시할 수 있다. 실제로, 요소들의 밀도가 낮은 3D 표현의 영역들은 (장면의 물체들 사이 및/또는 물체(들)의 부분들 사이의) 경계들이 3D 표현을 생성하는데 사용되는 3D 장면의 이미지들에서 나타날 수 있는 곳에 위치한다. 그 목표에 도달하기 위해, 장면의 지오메트리, 예를 들어 깊이 맵들을 나타내는 정보를 포함하는 하나 이상의 맵은, 예를 들어 카메라 어레이(2A)에 의해 획득된 장면의 라이트필드 데이터 또는 장면의 이미지들을 획득하는데 사용되는 카메라(들)와 연관된 깊이 센서들로부터 결정된다. 그 다음에 깊이 기반 세그먼트화 알고리즘(depth-based segmentation algorithm)이 지오메트리 정보에 따라 장면을 세그먼트화하도록 수행될 수 있다. 이러한 깊이 기반 알고리즘의 예는, 예를 들어, 스테레오스코픽 이미지들로부터 깊이 맵들을 결정하기 위한 방법을 또한 설명하는 문헌("Depth-Based Segmentation", by E. Francois 및 B. Chupeau, IEEE Transactions on circuits and systems for video technology, vol. 7, No. 1, February 1997)에 기재되어 있다. 장면의 상이한 부분들이 깊이에 따라 세그먼트화되면, 장면의 부분들 사이 또는 장면의 물체들 사이의 경계들(즉, 장면의 세그먼트화된 부분들의 윤곽들)을 검출하는 것은 간단하다. 당연히, 장면의 세그먼트화는 문헌("Contour and Texture Analysis for Image Segmentation", by J. Malik, S. Belongie, T. Leung and J. Shi, in International Journal of Computer Vision 43(1), 7-27, 2001)에 기재된 바와 같이, 장면의 이미지들의 컬러 또는 텍스처에 기초할 수 있다.
다른 예에 따르면, 밀도에 관한 정보는 3D 장면의 어느 부분(들) 또는 영역(들)이 3D 장면의 이미지들을 획득하는데 사용되는 획득 디바이스의 평면에 대한 법선과 본질적으로 직교하는(예를 들어, 90°+/- 5°) 법선 벡터를 갖는지를 결정함으로써 획득될 수 있다. 이러한 영역들은 제한된 수의 카메라들로 획득한 및/또는 급격한 획득 각도(razing acquisition angle)로 획득한 장면의 영역들에 대응한다. 이 예에 따르면, 밀도 정보는 결정된 레벨/값 미만의 밀도 레벨을 갖는 장면의 부분(들)/영역(들)에 관한 정보를 제공한다. 장면의 3D 표현은 복수의 영역으로 분할될 수 있고 이러한 영역들과 연관된 법선 벡터들이 결정된다. 법선 벡터들은 또한 3D 표현의 3D 부분들과 연관된 2D 파라미터화들로부터 결정될 수 있고 도 4와 관련하여 설명된 바와 같이 획득될 수 있다.
도 4는 본 원리들의 특정 실시예에 따른, 카메라(4001, 4002, 4003 및 4004)로 획득된 장면 의 물체의 표현(40)의 3D 부분들과 연관된 2D 파라미터화들(41, 42 및 43)을 도시한다. 카메라들(4001 내지 4004)은 예를 들어 도 2b의 리그의 카메라들 중 일부에 대응한다. 물체는 도 3의 예(31)에서와 같이 그 표면(40)으로 표현되지만, 도 3의 예(30)에서와 같이 포인트 클라우드 자체로 표현될 수 있다. 각각의 2D 파라미터화는 물체의 표현의 3D 부분과 연관되며, 각각의 3D 부분은 포인트 클라우드의 하나 이상의 포인트들을 포함하는 볼륨에 대응한다. 각각의 2D 파라미터화는 상기 각각의 2D 파라미터화와 연관된 3D 부분에 포함된 포인트 클라우드의 (획득 디바이스의 뷰 포인트들의 범위에 의해 생성된) 최대 수의 포인트들을 탐색하는 방식으로 획득 디바이스의 포즈 정보를 고려함으로써 결정된다. 2D 파라미터화가 연관된 3D 부분의 포인트들의 선형 투시 투영(linear perspective projection)으로 획득될 때, 결정된 뷰 포인트는 각각의 2D 파라미터화와 연관되며, 각각의 뷰 포인트는 장면을 획득하는데 사용되는 뷰 포인트들의 범위에 대응하는 뷰 포인트들의 범위 내에 포함된다. 2D 파라미터화(41)는 뷰 포인트(401)와 연관되고, 2D 파라미터화(42)는 뷰 포인트(402)와 연관되며, 2D 파라미터화(43)는 뷰 포인트(403)와 연관된다. 도 4에서 알 수 있는 바와 같이, 뷰 포인트들(401 내지 403) 각각은 획득 디바이스의 뷰 포인트들의 범위의 좌측 한계(4001) 및 우측 한계(4004)에 각기 대응하는 뷰 포인트들(4001 및 4002) 사이에 위치된다. 포인트 클라우드는 뷰 포인트들의 제한되고 결정된 범위로부터 획득되고 포인트 클라우드의 3D 부분들의 2D 표현들(즉, 2D 파라미터화들)은 모두 포인트 클라우드를 획득하는데 사용되는 뷰 포인트들의 제한되고 결정된 범위 내에 위치하는 뷰 포인트로부터 보인다. 각각의 2D 파라미터화는 이것이 연관된 포인트 클라우드의 3D 부분의 2D 표현이다. 동일한 3D 부분은 하나 또는 여러 개의 2D 파라미터화로, 예를 들어 2, 3 또는 그 이상의 2D 파라미터화로 표현될 수 있다. 위에서 논의한 바와 같이, 포인트 클라우드의 하나의 주어진 3D 부분과 연관된 2D 파라미터화는 포인트 클라우드의 주어진 3D 부분을 2개의 차원으로 훑어 주어진 3D 부분을 샘플링할 수 있게 하는 것, 즉 복수의 샘플들 - 그 수는 적용되는 샘플링 레이트에 따라 다름 - 을 포함하는 이러한 주어진 3D 부분의 콘텐츠(즉, 포인트(들))의 2D 표현에 대응할 수 있다. 2D 파라미터화는 다양한 방식으로, 예를 들어 다음의 방법들 중 어느 하나를 구현함으로써 획득될 수 있다:
- 포인트 클라우드의 3D 부분의 포인트들을 뷰 포인트와 연관된 평면상에 선형 투시 투영하는 방법 - 선형 투시 투영을 나타내는 파라미터들은 가상 카메라의 위치, 공간 샘플링 레이트 및 2개 차원의 시야를 포함함 -;
- 포인트 클라우드의 3D 부분의 포인트들을 표면 상에 직교 투영하는 방법 - 직교 투영을 나타내는 파라미터들은 투영 표면의 지오메트리(형상, 크기 및 방향) 및 공간 샘플링 단계를 포함함 -;
- 3D에서 2D로의 전환/변환에 여기서 적용되는 차원 축소(dimension reduction)의 수학 연산에 대응하는 LLE(Locally-Linear Embedding) - LLE를 나타내는 파라미터들은 변환 계수들을 포함함.
2D 파라미터화들(41, 42 및 43)은 제한된 수의 파라미터들로 표현될 수 있고, 예를 들어 하나 이상의 파라미터 방정식으로 정의될 수 있다. 포인트 클라우드의 주어진 3D 부분과 연관된 2D 파라미터화는 주어진 3D 부분의 지오메트릭 특성(예를 들어, 주어진 3D 부분의 극단 포인트들 및/또는 3D 부분 내에 위치한 포인트들로부터 획득되는 주어진 3D 부분에 포함된 물체의 부분의 외부 표면의 요소들과 연관된 법선 정보) 및 (예를 들면, 2D 파라미터화를 지향하기 위한) 획득 디바이스(들)의 포즈 정보를 고려함으로써 결정된다. 3D 부분의 지오메트릭 특성 및 포즈 정보를 고려하면 3D 부분과 마주하는 공간에 위치한 2D 파라미터화, 즉 획득 디바이스와 포인트 클라우드 사이에 위치한 2D 파라미터화를 획득할 수 있게 된다.
도 4에서 알 수 있는 바와 같이, 2D 파라미터화들(41, 42 및 43)은 서로 중첩될 수 있으며, 중첩은 예를 들면 2D 파라미터화들이 연관된 3D 부분들의 중첩으로 인한 것이다.
3D 부분들을 획득하기 위해, 포인트 클라우드는 상이한 방법들에 따라 분할될 수 있다. 예를 들어, 포인트 클라우드는 도 8a 내지 도 8d의 예들에 따라 분할될 수 있다. 도 8a의 비제한적 예에 따르면, 포인트 클라우드에 의해 점유된 3D 공간(81)(예를 들어 반구체)은 구형 좌표들(r, θ, φ)에 따라, 즉 반구체의 반경에 대응하는 거리('r') 및 각도들('θ' 및 'φ')에 따라 분할되며, 각각의 차원('r', 'θ' 및 'φ')은 균일하게 분할된다. 변형예에 따르면, 차원들('r', 'θ' 및/또는 'φ') 중 하나 이상은 가변적일 수 있으며, 예를 들어 3D 부분의 깊이는 차원('r')에 따라 가변적일 수 있다. 변형예에 따르면, 각각의 3D 부분의 크기는 포인트 클라우드의 포인트들을 3D 부분들 내에 균일하게 분포시키도록 결정되며, 3D 포인트들의 크기는 포인트 클라우드에 의해 점유된 공간의 서로 다른 영역들에 있는 포인트들의 로컬 밀도에 달려 있다. 도 8b의 예에서, 포인트 클라우드에 의해 점유된 3D 공간(82)(예를 들어 반구체)은 구형 좌표들(r, θ, φ)에 따라 엇갈림 방식으로 분할된다. 도 8a 및 도 8b의 예들에서, 3D 부분들은 뷰 카메라 절두체 볼륨(frustum volume)들처럼 보일 수 있다. 도 8c의 비제한적 예에 따르면, 포인트 클라우드에 의해 점유된 3D 공간(83)(예를 들어 포인트 클라우드를 경계짓는 박스에 대응하는 평행육면체)은 데카르트 좌표들(x, y, z)에 따라, 즉 3D 데카르트 기준 프레임의 3 개의 차원들에 따라 분할된다. 각각의 3D 부분은 큐브의 형태 또는 직육면체의 형태를 가질 수 있다. 각각의 3D 부분은 동일한 크기를 가질 수 있거나, 또는 3D 부분들은 예를 들어 모든 3D 부분에 포인트들을 균일하게 분포시키기 위해 상이한 크기를 가질 수 있다. 도 8d는 평행육면체들이 포인트 클라우드에 의해 점유된 3D 공간(84) 내에서 엇갈림 방식으로 분포되는 도 8c의 파티셔닝의 변형예를 도시한다. 도 8a, 도 8b, 도 8c 및 도 8d에 도시되지 않았더라도, 포인트 클라우드의 파티셔닝으로 인해 생긴 3D 부분들은 부분적으로 서로 중첩될 수 있으며, 이것은 포인트 클라우드의 공간의 일부 부분들이 여러 3D 부분들에 속할 수 있다는 것을 의미한다. 포인트 클라우드의 파티셔닝은 고정적일 수 있거나 또는 시간 경과에 따라 가변적일 수 있다. 예를 들어, 포인트 클라우드의 파티셔닝은 픽처들의 그룹(Group of Pictures)(GOP)마다 가변적일 수 있다. MPEG-DASH(Dynamic Adaptive Streaming over HTTP)의 맥락에서 적용될 때, 파티셔닝은 세그먼트마다 가변적일 수 있고, ISOBMFF 표준의 프레임에서, 이러한 세그먼트는 ISOBMFF 세그먼트일 수 있다.
도 5는 본 원리들의 비제한적 예에 따른, 깊이 맵들 및 텍스처 맵들을 프레임(i) 및 시간적으로 프레임(i) 이후에 위치된 프레임(j)에 대한 포인트 클라우드의 3D 부분들과의 연관성을 도시한다. 물체(5)(도 5의 예에서 사람)를 나타내는 3D 포인트 클라우드는 회색 음영들로 도시된다. 물체(5)의 파티셔닝(51)은 도 8a의 예, 즉 이웃하는 3D 부분들 사이에서 부분적으로 중첩하는, 구형 좌표들에 따른 파티셔닝에 대응한다. 명확성을 위해, 포인트 클라우드와 그의 파티셔닝은 오직 θ 및 φ에 따라서만 2D로 표현된다. 파티셔닝으로 생긴 3D 부분들은 매트릭스 방식으로 배열된 정사각형들(5100, 5110, 51mn)로 도시되며, 여기서 'm'은 컬럼 인덱스(column index)에 대응하고 'n'은 로우 인덱스(row index)에 대응한다. 예를 들어, 참조 번호(5100)은 인덱스가 '0'인 컬럼 및 인덱스가 '1'인 로우에 속하는 정사각형을 가리키고, 참조 번호(5110)은 인덱스 '1'인 컬럼 및 인덱스가 '0'인 로우에 속하는 정사각형을 가리킨다. 하나의 깊이 맵은 포인트 클라우드(5)의 각 3D 부분과 연관된다. 동일한 방식으로, 하나의 텍스처 맵은 포인트 클라우드(5)의 각 3D 부분과 연관된다.
밀도 정보는 각각의 깊이 맵 및/또는 각각의 텍스처 맵과 연관될 수 있다. 밀도 정보는 예를 들어 각각의 깊이 맵과 연관된 메타데이터의 형태를 취할 수 있다. 밀도 정보는 예를 들어 각각의 깊이 맵(또는 텍스처 맵)과 연관된 3D 부분의 평균 요소 밀도를 나타낼 수 있다. 다른 예에 따르면, 밀도 정보는 예를 들어 고려된 3D 부분의 밀도 값들의 범위를 나타내는 밀도 값들의 범위를 나타낼 수 있다. 추가 예에 따르면, 밀도 정보는 연관된 3D 부분들에 포함된 요소들의 밀도가 결정된 밀도 레벨/값 미만인지를 표시하는 각각의 깊이 맵과 연관된 플래그에 대응할 수 있다(예를 들어, 플래그는 밀도가 결정된 값보다 클 때는 0이고 밀도가 결정된 값보다 작을 때는 1 또는 그 반대일 수 있다).
주어진 3D 부분, 예를 들어 3D 부분(5110)과 연관된 깊이 맵은 주어진 3D 부분(5110)과 연관된 2D 파라미터화의 파라미터들을 사용하여 획득되고, 깊이 맵(5320)은 3D 부분(5320)과 연관된 2D 파라미터화의 파라미터들을 사용하여 획득된다. 예를 들어, 2D 파라미터화가 선형 투시 투영에 대응할 때, 2D 파라미터화를 나타내는 파라미터들은 (예를 들어 3D 부분에 포함된 포인트 클라우드의 포인트들과 연관된 법선으로부터 획득될 수 있는) 뷰 포인트의 위치(즉, 가상 카메라 위치) 및 수평 및 수직 시야이다. 깊이 맵에 저장 될 깊이 정보는, 예를 들어 월드 공간에서 포인트들의 좌표들 및 (선형 투시 투영의 경우) 뷰 포인트의 좌표들을 안다면, 선형 투시의 경우 가상 카메라 위치 또는 직교 투영의 경우 2D 투영 표면과 선형 투시의 경우 뷰 포인트로부터 시작하여 또는 직교 투영의 경우 투영 표면과 직교하여 3D 부분에 포함된 포인트 클라우드의 포인트들에서 끝나는 광선들을 따라 놓인 3D 부분에 포함된 포인트 클라우드의 포인트들 사이의 거리에 대응한다. 물체가 포인트 클라우드의 포인트들로부터 획득된 암시적 표면으로 표현될 때, 깊이 맵에 저장될 거리들은 한편으로는 광선들과 2D 파라미터화 표면 사이의 교차점들과 다른 한편으로는 광선들과 암시적 표면 사이의 교차점들 사이의 거리들에 대응한다. 깊이 정보의 수는 샘플링 간격에 달려 있는 2D 파라미터화 표면의 해상도에 따라 달라질 수 있다. 깊이 맵은 예를 들어 스플랫 렌더링 기술을 적용함으로써 획득되는데, 즉, 포인트와 연관된 깊이 값은 이 포인트와 연관된 2D 파라미터화 표면의 샘플에 할당되고(이 샘플은 사용되는 2D 파라미터화의 타입, 예를 들어, 선형 투시 투영, 직교 투영 또는 LLE에 따라 다름) 교차된 샘플의 이웃에 위치한 샘플들(이러한 샘플들은 스플랫을 형성함)에도 또한 할당된다. 변형예에 따르면, 깊이 맵은 광선 추적 기술(ray tracing technique)을 적용함으로써, 즉 2D 파라미터화 표면의 샘플들로부터 광선들을 발사하고 이러한 주어진 샘플로부터 발사된 광선과 교차되는 포인트(또는 광선에 가장 가까운 포인트)와 연관된 깊이 값에 대응하는 깊이 값을 주어진 샘플에 할당함으로써 획득된다.
깊이 정보의 코딩은 제1 패치 아틀라스(53)에서 깊이 맵마다 가변적일 수 있다. 예를 들어, 주어진 깊이 맵에 대한 깊이 정보의 코딩은 주어진 깊이 맵과 연관된 3D 부분에 대한 깊이 값들의 범위 및/또는 3D 부분에 포함된 포인트들의 수에 적응될 수 있다. 예를 들어, 3D 부분에 대해 계산된 최소 깊이 값 및 최대 깊이 값에 따라, 대응하는 깊이 맵의 깊이 정보의 코딩은 이러한 최소 값과 최대 값 사이의 차이에 적응되도록 결정된다. 차이가 작으면, 깊이 정보는 예를 들어 8 비트 또는 10 비트로 코딩될 수 있고, 차이가 크면, 깊이 정보는 예를 들어 12 비트, 14 비트 또는 그 이상의 비트로 코딩될 수 있다. 코딩이 깊이 맵마다 가변적이면 비트 레이트 코딩을 최적화할 수 있다. 변형예에 따르면, 깊이 정보는 최소 깊이 값과 최대 깊이 값 사이의 차이에는 관계없지만 최소 및 최대 값들을 고려함으로써 각각의 3D 맵에 대해 동일한 비트 깊이(예를 들어, 8, 10, 12 또는 14 비트들)로 코딩된다. 이러한 변형예는 차이가 작을 때는 양자화 단계를 감소시킬 수 있고, 이것은 깊이 정보의 코딩과 연관된 양자화 노이즈를 감소시킬 수 있다.
동일한 방식으로, 주어진 3D 부분과 연관된 텍스처 맵은 주어진 3D 부분과 연관된 2D 파라미터화의 파라미터들을 사용함으로써 획득된다. 주어진 3D 부분에 포함된 포인트 클라우드의 포인트들로부터 검색된 컬러 정보 또는 뷰 포인트로부터 투사된 광선들에 의해 교차되는 물체의 암시적 표면으로부터 검색된 컬러 정보는 2D 파라미터화 표면의 샘플들과 연관되어 컬러 맵을 형성한다. 깊이 맵들에 반해, 컬러 맵은 예를 들어 스플랫 렌더링 기술을 적용함으로써 획득되는데, 즉, 포인트와 연관된 컬러 값(들)은 이 포인트와 연관된 2D 파라미터화 표면의 샘플에 할당되고(이 샘플은 사용되는 2D 파라미터화의 타입, 예를 들어, 선형 투시 투영, 직교 투영 또는 LLE에 따라 다름) 교차된 샘플의 이웃에 위치한 샘플들(이러한 샘플들은 스플랫을 형성함)에도 또한 할당된다. 변형예에 따르면, 텍스처 맵은 광선 추적 기술을 적용함으로써, 즉 2D 파라미터화 표면의 샘플들로부터 광선들을 발사하고 이러한 주어진 샘플로부터 발사된 광선과 교차하는 포인트(또는 광선에 가장 가까운 포인트)와 연관된 컬러 값에 대응하는 컬러 값을 주어진 샘플에 할당함으로써 획득된다. 깊이 정보에 반해, 주어진 컬러 맵에 대한 컬러 정보의 코딩은 주어진 컬러 맵과 연관된 3D 부분에 대한 컬러 값들의 범위 및/또는 3D 부분에 포함된 포인트들의 수에 적응될 수 있다. 예를 들어, 3D 부분에 대해 계산된 최소 컬러 값 및 최대 컬러 값에 따라, 대응하는 컬러 맵의 컬러 정보의 코딩은 이러한 최소 값과 최대 값 사이의 차이에 적응되도록 결정된다. 차이가 작으면, 텍스처/컬러 정보는 예를 들어 8 비트 또는 10 비트로 코딩될 수 있고, 차이가 크면, 텍스처/컬러 정보는 예를 들어 12 비트, 14 비트 또는 그 이상의 비트로 코딩될 수 있다. 컬러 맵마다 코딩이 가변적이면 비트 레이트 코딩을 최적화할 수 있다. 변형예에 따르면, 컬러 정보는 최소 컬러 값과 최대 컬러 값 사이의 차이에는 관계없지만 최소 및 최대 값들을 고려함으로써 각각의 텍스처 맵에 대해 동일한 비트 깊이(예를 들어, 8, 10, 12 또는 14 비트들)로 코딩된다. 이러한 변형예는 차이가 작을 때는 양자화 단계를 감소시킬 수 있고, 이것은 포인트 클라우드로 표현된 물체의 높은 동적 범위(High Dynamic Range)(HDR) 표현을 획득하는데 사용될 수 있는 더 높은 컬러 동적 범위 또는 더 높은 휘도 범위를 가능하게 한다.
획득된 깊이 맵들의 세트는 결정된 또는 무작위한 배열에 따라, 예를 들어 로우들 및 컬럼들을 갖는 매트릭스 방식으로 제1 패치 아틀라스(53)에 배열될 수 있으며, 여기서 제1 패치 아틀라스(53)의 하나의 패치는 하나의 깊이 맵에 대응한다. 예를 들어, 패치(531)는 3D 부분(5110)과 연관된 깊이 맵이다.
동일한 방식으로, 획득된 텍스처 맵들의 세트는 예를 들어 제1 패치 아틀라스(53)의 깊이 맵과 동일한 배열에 따라 제2 패치 아틀라스(54)에 배열된다.
하나 이상의 추가 패치가 제1 패치 아틀라스(53) 및/또는 제2 패치 아틀라스에 추가될 수 있다. 추가 패치(들)는 밀도 정보를 삽입하는데 사용될 수 있으며, 추가 패치(들)의 픽셀들은 제1 및/또는 제2 패치 아틀라스의 다른 패치들에 관한 밀도 정보를 포함한다. 추가 패치(들) 및 제1 및/또는 제2 패치 아틀라스의 연관된 패치들의 픽셀들 사이의 연관성을 표시하는 매핑 정보가 추가 패치(들)와 연관될 수 있다. 예를 들어, 추가 패치의 하나의 픽셀은 하나의 깊이 맵과 연관될 수 있고 이러한 깊이 맵과 연관된 밀도 정보를 전달할 수 있다.
2D 파라미터화와 제1 및 제2 패치 아틀라스 각각의 연관된 깊이 맵 및 텍스처 맵 사이의 연결을 유지하는 제1 매핑 정보가 생성될 수 있다. 제1 매핑 정보는 예를 들어 다음의 형태를 가질 수 있다:
{2D 파라미터화의 파라미터들; 깊이 맵 ID; 텍스처 맵 ID}
여기서, 깊이 맵 ID는 깊이 맵이 제1 패치 아틀라스의 패치들의 매트릭스에 속하는 컬럼 인덱스(U) 및 로우 인덱스(V)를 포함하는 정수 값 또는 한 쌍의 값들일 수 있고; 텍스처 맵 ID는 텍스처 맵이 제2 패치 아틀라스의 패치들의 매트릭스에 속하는 컬럼 인덱스(U') 및 로우 인덱스(V')를 포함하는 정수 값 또는 한 쌍의 값들일 수 있다.
깊이 맵들 및 텍스처 맵들이 제1 패치 아틀라스 및 제2 패치 아틀라스의 동일한 배열에 따라 배열될 때, 깊이 맵 ID 및 텍스처 맵 ID는 동일하며 제1 매핑 정보는 예를 들어 다음의 형태를 가질 수 있다:
{2D 파라미터화의 파라미터들; 깊이 및 텍스처 맵 ID}
여기서 '깊이 및 텍스처 맵 ID'는 제1 패치 아틀라스의 깊이 맵 및 제2 맵 아틀라스의 컬러 맵 둘 모두를, 깊이 및 텍스처 맵들 둘 모두와 연관된 동일한 정수 값을 통해서 또는 깊이 및 텍스처 맵들이 제1 패치 아틀라스 및 제2 패치 아틀라스 각각에 속하는 컬럼 인덱스의(U) 및 로우 인덱스(V) 한 쌍의 값들을 통해서, 식별된다.
각각의 2D 파라미터화 및 연관된 깊이 및 텍스처 맵들에 대해 동일한 매핑 정보가 생성된다. 이러한 제1 매핑 정보는 2D 파라미터화와 대응하는 깊이 및 텍스처 맵들과의 연관성을 확립함으로써 포인트 클라우드를 재구성할 수 있게 한다. 2D 파라미터화가 투영이면, 포인트 클라우드는 연관된 깊이 맵에 포함된 깊이 정보 및 연관된 텍스처 맵 내의 텍스처/컬러 정보를 역투영(de-projecting)(반전 투영(inverse projection)을 수행)함으로써 재구성될 수 있다. 다음으로 제1 매핑 정보는 다음의 매핑 정보의 리스트에 대응한다:
{2D 파라미터화의 파라미터들; 깊이 및 텍스처 맵 ID},
i = 1 내지 n 인 경우, n은 2D 파라미터화들의 수이다.
제1 패치 아틀라스(53) 및 제2 패치 아틀라스는 동일한 해상도, 즉 K 개 컬럼 및 L 개 로우를 갖는 매트릭스 방식으로 배열된 동일한 수의 픽셀들을 갖는 이미지들처럼 보일 수 있으며, K 및 L은 정수이다. (제1 패치 아틀라스(53)에 대한 깊이 맵 또는 제2 패치 아틀라스(54)에 대한 텍스처 맵에 대응하는) 각각의 패치는 제1 패치 아틀라스(53) 또는 제2 패치 아틀라스를 나타내는 이미지의 픽셀들의 서브세트를 포함한다.
임의적인 변형예에 따르면, 제2 매핑 정보는 제1 패치 아틀라스(53) 또는 제2 패치 아틀라스(54)를 나타내는 이미지들의 픽셀들과 연관될 수 있고, 제2 매핑 정보는 유리하게는 제1 패치 아틀라스(53)를 나타내는 이미지 및 제2 패치 아틀라스(54)를 나타내는 이미지에 공통적이고, 해상도는 두 이미지 모두에 대해 동일하며, 동일한 2D 파라미터화를 참조하는 패치들은 두 제1 및 제2 패치 아틀라스 모두에서 동일한 배열에 따라 구성된다. 제2 매핑 정보는 제1 패치 아틀라스(또는 제2 패치 아틀라스)를 나타내는 이미지의 각각의 픽셀 또는 각각의 픽셀 그룹이 참조하는 또는 연관되는 2D 파라미터화가 어느 것인지를 표시한다. 그 목표에 도달하기 위해, 식별 정보는 각각의 2D 파라미터화와 연관된다(예를 들어, 정수 값은 각각의 2D 파라미터화에 대해 상이하다). 제2 매핑 정보는 예를 들어 로우들 및 컬럼들로 배열된 셀들의 맵의 형태를 가질 수 있으며, 각각의 셀은 이미지의 픽셀 또는 픽셀들의 그룹에 대응하고 대응하는 2D 파라미터화의 식별 정보를 포함한다. 다른 예에 따르면, 제2 매핑 정보는 예를 들어 다음과 같은 형태의 리스트에 대응한다:
제1/제2 패치 아틀라스를 나타내는 이미지의 각 픽셀 또는 각 픽셀 그룹에 대해, {3D 부분 식별; 픽셀/픽셀 그룹 식별}.
제2 매핑 정보는 이미지의 각 픽셀에 대해 발생해야 하는, 각각의 3D 부분과 연관된 식별 정보의 검색을 용이하게 함으로써 디코더/렌더링된 측에서 정보의 디코딩을 가속화할 수 있게 한다. 디코더의 전형적인 구현은 리스트를 탐색하는 것을 회피해야 하는 그래픽 처리 유닛(Graphical Processing Unit)(GPU)에서 이미지의 각 픽셀에 대해 이와 같은 검색의 병렬 구현을 필요로 한다. 이러한 임의적인 변형예에 따르면, 이러한 제2 매핑 정보는 컬러 및 깊이 이미지보다 전형적으로 낮은 해상도를 갖는 이미지이며, 여기서 각 픽셀은 픽셀/포인트가 속하는 각각의 3D 부분과 연관된 식별 정보를 직접 제공한다.
물체(5)의 파티셔닝은 시간 경과에 따라 가변적일 수 있는데, 예를 들어 하나의 GOP로부터 다음의 다른 GOP로 진행될 때마다, 또는 물체(5)의 토폴로지의 변경이 변경되었거나 또는 q 프레임마다 변경되었을 때 가변적일 수 있으며, q는 1 이상의 정수이다. 파티셔닝에서 이러한 변형은 도 5에서 프레임(j)으로 도시된다. 프레임(j)에서 물체(5)의 파티셔닝(52)은 프레임(i)에서 동일한 물체(5)의 파티셔닝(51)과 상이하다. 도 5의 예에서, 프레임(j)에서 물체(5)의 토폴로지는 프레임(i)에서 물체(5)의 토폴로지와 상이하다. 프레임(j)은 예를 들어 프레임(i)을 포함하는 GOP에 시간적으로 뒤에 오는 GOP에 속할 수 있다. 3D 부분들 및 대응하는 2D 파라미터화들과 연관된 깊이 맵들을 포함하는 제1 패치 아틀라스(55)는 파티셔닝으로 인해 생성되고, 프레임(i)과 관련하여 설명된 바와 같이, 3D 부분들에 포함된 포인트들의 지오메트리(예를 들어 좌표들)를 나타내는 데이터로부터 생성되는 3D 부분들과 연관된 2D 파라미터화들을 나타내는 파라미터들을 사용하여 획득된다. 파티셔닝(52)으로 인해 생성되는 3D 부분들의 수가 파티셔닝(51)으로 인해 생성되는 3D 부분들의 수보다 적기 때문에, 제1 패치 아틀라스(55)의 깊이 맵들의 수는 제1 패치 아틀라스(53)에 포함된 깊이 맵들의 수보다 적다. 동일한 방식으로, 3D 부분들 및 대응하는 2D 파라미터화들과 연관된 텍스처 맵들을 포함하는 제2 패치 아틀라스(56)는 파티셔닝(52)으로 인해 생성되고, 프레임(i)과 관련하여 설명된 바와 같이, 3D 부분들에 포함된 포인트들의 지오메트리(예를 들어 좌표들)를 나타내는 데이터로부터 생성되는 3D 부분들과 연관된 2D 파라미터화들을 나타내는 파라미터들을 사용하여 획득된다. 파티셔닝(52)으로 인해 생성되는 3D 부분들의 수가 파티셔닝(51)으로 인해 생성되는 3D 부분들의 수보다 적기 때문에, 제2 패치 아틀라스(56)의 텍스처 맵들의 수는 제2 패치 아틀라스(54)에 포함된 깊이 맵들의 수보다 적다.
도 6은 물체(5)를 나타내는 3D 표현(예를 들어, 포인트 클라우드)의 3D 부분들과 연관된 제1 또는 제2 패치 아틀라스의 추가의 비제한적 예를 도시한다. 도 6은 예를 들어 도 5의 파티셔닝(51)에 대응하는 포인트 클라우드의 제1 파티셔닝(61) 및 동일한 포인트 클라우드의 제2 파티셔닝(62)을 도시한다. 제1 패치 아틀라스(63)는 제1 파티셔닝(61)으로부터 생성되며, 제1 패치 아틀라스(63)는 파티셔닝(61)으로 인해 생성된 3D 부분들과 연관된 2D 파라미터화들로부터 획득된 깊이 맵들을 포함한다. 제2 패치 아틀라스(64)는 제1 파티셔닝(61)으로부터 생성되며, 제2 패치 아틀라스(64)는 파티셔닝(61)으로 인해 생성된 3D 부분들과 연관된 2D 파라미터화들로부터 획득된 텍스처 맵들을 포함한다.
제2 파티셔닝(62)은 제1 파티셔닝(61)의 3D 부분들 중 일부가 제2 파티셔닝(62)의 단일 3D 부분으로 그룹화되었다는 점에서 제1 파티셔닝(61)과 상이하다. 예를 들어, 사람의 몸통을 나타내는 제1 파티셔닝(61)의 6 개의 3D 부분들이 그룹화되어 제2 파티셔닝(62)에서 하나의 3D 부분(622)을 형성한다. 동일한 방식으로, 사람의 어깨 및 팔의 일부를 나타내는 제1 파티셔닝(61)의 4 개의 3D 부분들이 그룹화되어 제2 파티셔닝(62)에서 하나의 3D 부분(621)을 형성한다. 3D 부분들은 예를 들어 3D 부분들에 포함된 포인트 클라우드의 포인트들과 연관된 지오메트릭 특성들에 따라 그룹화된다. 예를 들어, 3D 부분들은 이러한 3D 부분들 각각에 포함된 포인트들로부터 획득된 암시적 표면이 유사한 토폴로지, 예를 들어 서로에 가까운 법선 및/또는 서로에 가까운 연관된 깊이 값의 범위를 가질 때 함께 그룹화될 수 있다.
제1 패치 아틀라스(65)는 제2 파티셔닝(62)으로부터 생성되며, 제1 패치 아틀라스(65)는 제2 파티셔닝(62)으로부터 생성된 3D 부분들과 연관된 2D 파라미터화들로부터 획득된 깊이 맵들을 포함한다. 도 6에 도시된 바와 같이, 제1 패치 아틀라스(65)의 깊이 맵들의 형상 및 수는 제1 패치 아틀라스(63)의 깊이 맵들의 형상 및 수와 상이하다. 3D 부분들(621, 622)의 2D 파라미터화들과 연관된 깊이 맵들(651, 652) 중 일부는 제1 패치 아틀라스(63)의 대응하는 깊이 맵들과 비교하여 크기가 상이하다. 동일한 방식으로, 제2 패치 아틀라스(66)는 제2 파티셔닝(62)으로부터 생성되며, 제2 패치 아틀라스(66)는 제2 파티셔닝(62)으로 인해 생성된 3D 부분들과 연관된 2D 파라미터화들로부터 획득된 텍스처 맵들을 포함한다. 제2 패치 아틀라스(66)의 컬러 맵들의 수는 제2 파티셔닝(62)을 획득하기 위해 제1 파티셔닝(61)의 3D 부분들을 그룹화한 다음에는 제2 패치 아틀라스(64)의 컬러 맵들의 수보다 적다. 이러한 그룹화는 패치들의 수를 줄어들게 하고, 이에 따라 날카로운 경계 부분들의 수 및 높은 공간 주파수 정보를 줄어들게 한다. 이렇게 줄이면 텍스처 및 깊이 맵들의 압축 비트 레이트가 낮아진다.
추가 예에 따르면, 단일 2D 파라미터화는 전체 물체(5)와 연관될 수 있고, 단일 깊이 맵 및 단일 텍스처 맵은 전체 물체(5)에 대해 생성될 수 있다.
도 7은 본 원리들의 비제한적 예에 따른, 물체(5)를 나타내는 포인트 클라우드의 3D 부분들로부터 제1 및 제2 패치 아틀라스의 생성을 도시한다.
물체(5)를 나타내는 포인트 클라우드는 복수의 3D 부분, 예를 들어 50, 100, 1000개 또는 그 이상의 3D 부분으로 분할되고, 그들 중 3개, 즉 3D 부분들(71, 72 및 73)이 도 7에 도시되고, 3D 부분(71)은 사람의 머리 부분을 나타내는 포인트 클라우드의 포인트들을 포함하고, 3D 부분(72)은 사람의 겨드랑이를 나타내는 포인트 클라우드의 포인트들을 포함하며, 3D 부분(73)은 사람의 손을 나타내는 포인트 클라우드의 포인트들을 포함한다. 각각의 3D 부분 또는 3D 부분들 중 부분의 하나 이상의 2D 파라미터화는 각각의 3D 부분을 2개의 차원으로 나타내기 위해 생성된다. 예를 들어, 2D 파라미터화(701)가 3D 부분(71)을 위해 획득되고, 2D 파라미터화(702)가 3D 부분(72)을 위해 획득되며, 2개의 상이한 2D 파라미터화(703 및 704)가 3D 부분(73)을 위해 획득된다. 2D 파라미터화는 3D 부분마다 가변적일 수 있다. 예를 들어, 3D 부분(71)과 연관된 2D 파라미터화(701)는 선형 투시 투영인 반면에, 3D 부분(72)과 연관된 2D 파라미터화(702)는 LLE이고, 3D 부분(73)과 연관된 2D 파라미터화들(703, 704) 둘 모두는 상이한 뷰 포인트들에 따른 직교 투영들이다. 2D 파라미터화들을 획득하기 위해 사용된 모든 뷰 포인트는 물체(5)의 이미지들을 획득하는데 사용되고 연관된 포인트 클라우드를 획득하기 위해 사용되는 획득 디바이스의 뷰 포인트의 범위 내에 위치되도록 선택된다. 변형예에 따르면, 모든 3D 부분들과 연관된 모든 2D 파라미터화들은 동일한 유형, 예를 들어 선형 투시 투영 또는 직교 투영을 갖는다. 변형예에 따르면, 동일한 3D 부분에 대해 상이한 2D 파라미터화들이 사용될 수 있다. 획득된 2D 파라미터화들과 연관된 깊이 맵들이 모인 제1 패치 아틀라스(74)는 도 5 및 도 6과 관련하여 설명된 바와 같이 생성된다. 제1 패치 아틀라스는, 다른 깊이 맵들 중에서도, 2D 파라미터화(701)와 연관된 깊이 맵(741), 2D 파라미터화(702)와 연관된 깊이 맵(742), 2D 파라미터화(703)와 연관된 깊이 맵(743) 및 2D 파라미터화(704)와 연관된 깊이 맵(744)을 포함한다. 획득된 2D 파라미터화들과 연관된 텍스처 맵들이 모인 제2 패치 아틀라스(75)는 도 5 및 도 6과 관련하여 설명된 바와 같이 생성된다.
각각의 3D 부분에 대해 2D 파라미터화의 선택은 예를 들어 제1 및 제2 패치 아틀라스의 맵의 수를 감소시키고 및/또는 3D에서 2D 로의 변환 프로세스 동안 소실되었을 3D 부분의 포인트들을 최소화하는 최적화 프로세스에 기초한다.
각각의 깊이 또는 텍스처 맵은 유리하게는 제1 패치 아틀라스 및 제2 패치 아틀라스에 대해 패킹 프로세스(packing process)를 용이하게 하기 위해 직사각형 형상을 갖는다.
제1 패치 아틀라스 및 제2 패치 아틀라스 각각의 깊이 맵들 및 텍스처 맵들은 경계에 의해 분리될 것이고, 이 경계는 날카로운 시각적 경계 부분들에서 발생하는 압축 아티팩트들을 제거하기 위해 디코더 측에서 폐기될 것이다. 포인트 클라우드의 재생을 위해 디코더 측에서 깊이 및 텍스처 맵들을 검색할 정확한 부분의 정보, 예를 들어 깊이/텍스처 맵들의 폭 및 높이는 예를 들어 선형 또는 직교 투시 투영의 경우에 픽셀로 표현된 투영 표면의 2개 차원에서 연결성(span)을 제공하는 파라미터들과 같은 2D 파라미터화 파라미터들 중 일부에 의해 제공된다.
도 9는 본 원리들의 특정하고 비제한적인 실시예에 따른, 3D 장면, 예를 들면 포인트 클라우드와 같은 장면의 3D 표현의 인코딩/디코딩 방식의 다이어그램을 개략적으로 도시한다.
포인트 클라우드(901)는 모듈(M91)에서 구현된 인코딩 프로세스(91)를 통해 비트스트림(902)의 형태에 따라 인코딩된 데이터로 인코딩된다. 비트스트림은 인코딩된 데이터를 디코딩하여 디코딩된 포인트 클라우드(903)를 획득하는 디코딩 프로세스(92)를 구현하는 모듈(M92)에 송신된다. 모듈들(M91 및 M92)은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합일 수 있다.
포인트 클라우드(901)는 시간에 따라 진화하는 동적 포인트 클라우드일 수 있으며, 즉 포인트들의 수는 시간에 따라 가변적일 수 있고 및/또는 하나 이상의 포인트의 위치(예를 들어, 좌표들(X, Y 및 Z) 중 적어도 하나)는 시간에 따라 가변적일 수 있다. 포인트 클라우드의 진화는 포인트 클라우드에 의해 표현된 물체의 움직임 및/또는 물체의 형상 또는 물체의 부분(들)의 임의의 변화에 대응할 수 있다.
포인트 클라우드(901)는 하나의 픽처 또는 시간적으로 연속적인 픽처들의 하나 이상의 그룹 내에서 표현될 수 있으며, 각각의 픽처는 결정된 시간 't'에서 포인트 클라우드의 표현을 포함한다. 시간적으로 연속적인 픽처들의 하나 이상의 그룹은 포인트 클라우드(901)의 적어도 부분을 나타내는 비디오를 형성할 수 있다.
인코딩 프로세스(91)는 예를 들어 인트라-픽처 코딩 및/또는 인터-픽처 코딩을 구현할 수 있다. 인트라-픽처 코딩은 효과적인 델타 코딩을 위해 이미 코딩된 픽셀들로부터 외삽법을 통해 예측 값들을 계산함으로써, 공간 리던던시, 즉 하나의 픽처 내의 픽셀들 사이의 상관관계를 이용하는 인트라-픽처 예측에 기초한다. 인터-픽처 코딩은 시간 리던던시를 이용하는 인터-픽처 예측에 기초한다. 시간적으로 독립적으로 코딩된 소위 인트라 픽처들 'I'는 인트라 코딩만을 사용한다. 시간적으로 코딩된 예측된 픽처들 'P'(또는 'B')는 인트라-픽처 및 인터-픽처 예측을 사용할 수 있다.
디코딩 프로세스(92)는 예를 들어, 인코딩 프로세스(91)의 역 동작들에 대응하여 인코딩 프로세스로 인코딩된 데이터를 디코딩할 수 있다.
도 10은 본 원리들의 특정하고 비제한적인 실시예에 따른, 3D 장면 또는 이것의 3D 표현, 예를 들어 포인트 클라우드(901)를 인코딩하기 위한 동작들을 도시한다. 동작들은 인코딩 프로세스(91)의 일부일 수 있고 도 12의 장치(12)에 의해 구현될 수 있다.
동작(101)에서, 포인트 클라우드(901)의 (예를 들어 제1 또는 제2 패치 아틀라스에 대응하는) 픽처(100)의 데이터가 인코더(ENC1)에 의해 인코딩된다. 픽처는 예를 들어, 픽처 그룹(GOP)의 일부이고 결정된 시간 't'에서 포인트 클라우드를 나타내는 데이터를 포함한다. 픽처는 한 세트의 이미지들을 포함할 수 있으며, 각각의 이미지는 패치(즉, 깊이 맵 또는 텍스처 맵)에 대응하고, 각각은 속성들, 예를 들어 깊이 및/또는 텍스처 속성들을 포함한다. 속성들은 결정된 2D 파라미터화에 따라, 포인트 클라우드의 부분을 각각의 이미지에 투영함으로써 획득될 수 있으며, 속성들은 상기 각각의 이미지 상에 투영된 포인트 클라우드의 부분의 포인트들의 속성들에 대응한다. 속성들은 텍스처(또는 컬러) 정보 및/또는 깊이(또는 뷰 포인트까지의 거리) 정보에 대응할 수 있다. 인코더(ENC1)는 예를 들어, 다음과 같은 레거시 인코더와 부합한다:
● JPEG, 사양 ISO/CEI 10918-1 UIT-T Recommendation T.81, https://www.itu.int/rec/T-REC-T.81/en,
● MPEG-4 AVC 또는 h264라고도 칭하는 AVC. ● UIT-T H.264 및 ISO/CEI MPEG-4 Part 10(ISO/CEI 14496-10) 둘 모두, http://www.itu.int/rec/T-REC-H.264/en 에서 명시됨,
● HEVC(그 사양은 ITU website, T recommendation, H series, h265, http://www.itu.int/rec/T-REC-H.265-201612-I/en 에서 찾을 수 있음), 또는
● 3D-HEVC(HEVC의 확장, 그 사양은 ITU website, T recommendation, H series, h265, http://www.itu.int/rec/T-REC-H.265-201612-I/en annex G 및 I 에서 찾을 수 있음).
픽처(100)와 연관된 밀도 정보는 인코더(ENC1)에 의해 추가로 인코딩된다.
인코딩된 데이터는 저장되고 및/또는 비트스트림(902)으로 송신될 수 있다.
동작(102)에서, 픽처(100)의 인코딩된 데이터는 디코더(DEC1)에 의해 디코딩된다. 디코더(DEC1)는 인코더(ENC1)와 부합하며, 예를 들어, 다음과 같은 레거시 디코더와 부합한다:
● JPEG,
● MPEG-4 AVC 또는 h264라고도 칭하는 AVC,
● HEVC, 또는
● 3D-HEVC(HEVC의 확장).
동작(101)에서 인코딩된 속성들은, 동작(102)에서, 픽처(100)와 연관된 참조 픽처(103)의 생성에 사용하기 위해 디코딩되고 검색되며, 예를 들면 버퍼 메모리에 저장된다.
참조 픽처(103)는 모듈(M104)에 의해 구현되는 동작(104)에서 사용될 수 있다. 동작(104)은 예를 들어, 픽처(100)와 상이한 포인트 클라우드의 하나 이상의 픽처(예를 들어, 픽처(100)의 시간 't'와는 상이한 결정된 시간들에서 포인트 클라우드의 픽처들)의 코딩을 위해 인터 예측하기 위한 예측기들의 생성을 포함한다. 다음으로 포인트 클라우드(901) 또는 포인트 클라우드를 나타내는 픽처들은 참조 픽처(103)를 참조함으로써 인코딩될 수 있다. 변형예에 따르면, 모듈(M104)은 인코더(ENC1)의 일부이다.
당연히, 복수의 참조 픽처는 참조 픽처(103)와 동일한 방식으로 획득될 수 있고, 복수의 참조 픽처 각각은 포인트 클라우드를 나타내는 특정 픽처로부터 획득되고, 포인트 클라우드(901)의 인코딩은 하나 또는 여러 참조 픽처를 참조한다.
도 11은 본 원리들의 특정하고 비제한적인 실시예에 따른, 비트스트림(902)으로부터 포인트 클라우드(901)의 인코딩된 버전을 디코딩하기 위한 동작들을 도시한다. 동작들은 디코딩 프로세스(92)의 일부일 수 있고 도 12의 장치(12)에 의해 구현될 수 있다.
동작(111)에서, 포인트 클라우드의 하나 이상의 픽처(예를 들어, 하나 이상의 GOP의 픽처들 또는 인트라 기간의 픽처들)의 인코딩된 데이터는 수신된 비트스트림(902)으로부터 디코더(DEC2)에 의해 디코딩된다. 비트스트림(902)은 하나 이상의 픽처와 연관된 밀도를 나타내는 정보를 갖는 하나 이상의 픽처의 인코딩된 데이터를 포함한다. 픽처는 한 세트의 이미지들을 포함할 수 있으며, 각각의 이미지는 패치(즉, 깊이 맵 또는 텍스처 맵)에 대응하고, 각각은 속성들, 예를 들어 깊이 및/또는 텍스처 속성들을 포함한다. 이미지들의 세트와 연관된 속성들은 디코딩 동작(111)으로부터 획득된다. 속성들은 텍스처(또는 컬러) 정보 및/또는 깊이(또는 뷰 포인트까지의 거리) 정보에 대응할 수 있다. 디코더(DEC2)는 도 12의 디코더(DEC1)에 대응할 수 있으며, 예를 들어, 다음과 같은 레거시 디코더와 부합한다:
● JPEG,
● MPEG-4 AVC 또는 H264라고도 칭하는 AVC,
● HEVC, 또는
● 3D-HEVC(HEVC의 확장).
비트스트림(902)에 포함된 인코딩된 밀도 정보는 동작(111) 동안 디코더(DEC2)에 의해 디코딩된다.
동작(111)에서 디코딩된 속성들은 하나 이상의 참조 픽처(112)의 생성에 사용하기 위해 검색되며, 예를 들어 버퍼 메모리에 저장되며, 각각의 참조 픽처는 하나의 픽처와 연관된다.
(도 10의 참조 픽처(103)와 동일 할 수 있는) 참조 픽처(112)는 디코딩된 픽처로부터 획득될 수 있다. 참조 픽처는 픽처와 동일한 구조, 즉 이미지들의 세트의 동일한 공간 배열을 포함할 수 있다.
참조 픽처(112)는 모듈(M113)에 의해 구현되는 동작(113)에서 사용될 수 있다. 동작(113)은 예를 들어 비트스트림에 포함된 인코딩된 데이터의 디코딩으로부터 인터 예측을 위한 예측기들의 생성을 포함한다. 예측기의 생성과 연관된 이러한 데이터는 다음의 것을 포함할 수 있다:
- 예측 타입, 예를 들어 예측 모드가 인트라인지 인터인지를 표시하는 플래그,
- 움직임 벡터, 및/또는
- 참조 픽처들의 리스트로부터 참조 픽처를 표시하는 인덱스.
당연히, 복수의 참조 픽처는 참조 픽처(113)와 동일한 방식으로 획득될 수 있고, 복수의 참조 픽처 각각은 포인트 클라우드를 나타내는 특정 픽처의 디코딩된 데이터로부터 획득되고, 비트스트림(902)의 데이터의 디코딩은 디코딩된 포인트 클라우드(903)를 획득하기 위해 하나 또는 여러 참조 픽처에 기초할 수 있다.
그 다음에 디코딩된 포인트 클라우드(903)는 속성들(깊이 및 텍스처)을 포함하는 디코딩된 픽처들로부터, 디코딩된 밀도 정보로부터, 2D 파라미터화들을 나타내는 디코딩된 파라미터들로부터 및 2D 파라미터화들과 디코딩된 픽처들에 포함된 깊이 및 텍스처 맵들 사이의 매핑을 위한 디코딩된 매핑 정보로부터, 장면의 3D 표현을 재구성하기 위해 추가로 처리될 수 있다. 포인트 클라우드의 포인트들은 역 2D 파라미터화들에 따라 깊이 및 텍스처 맵들의 픽셀들을 역투영함으로써 획득된다. 포인트 클라우드의 지오메트리(즉, 포인트들의 좌표들 또는 2D 파라미터화와 연관된 뷰 포인트로부터의 거리)는 깊이 맵들을 역투영함으로써 획득되며 포인트 클라우드의 포인트들과 연관된 텍스처는 텍스처 맵들로부터 획득된다. 깊이 및 텍스처 맵들의 역투영으로부터 획득된 포인트들은 이하에서 재구성된 포인트들이라고 부른다:
디코딩된 밀도 정보로부터, 결정된 밀도 레벨보다 작은 포인트 밀도를 갖는 것으로 식별된 재구성된 포인트 클라우드의 부분들이 추가로 처리될 수 있다.
디코딩된 비트스트림으로부터 획득된 재구성된 포인트들의 쌍들 사이에 추가 포인트들이 생성될 수 있다. 추가 포인트들은 이들의 연관된 깊이 및 텍스처를 재구성된 포인트들과 연관된 깊이 및 텍스처로부터 계산함으로써 생성될 수 있다. 생성된 추가 포인트들의 수는 예를 들어 재구성된 포인트들을 분리하는 거리의 함수일 수 있으며, 거리가 클수록 추가 포인트들의 수가 많아진다. 생성된 추가 포인트들의 수는 결정된 타깃 밀도 레벨에 따라 결정될 수 있으며, 이러한 결정된 타깃 밀도 레벨은 사용자에 의해 추가로 정의되거나 또는 장면의 렌더링의 원하는 품질 레벨의 레벨에 대응한다. 다른 예에 따르면, 타깃 밀도 레벨은 상기 결정된 레벨보다 큰 밀도를 갖는 재구성된 포인트 클라우드의 부분들의 평균 밀도와 동일하게 설정된다.
재구성된 포인트들 사이에서 생성된 추가 포인트들은 이들을 생성하는데 사용된 재구성된 포인트들과 연관된 텍스처 값들의 평균 값을 텍스처 정보로서 수신하고 이들을 생성하는데 사용된 재구성된 포인트들과 연관된 깊이 값의 평균 값을 깊이 정보로서 수신할 수 있다. 다른 예에 따르면, 생성된 추가 포인트와 연관될 텍스처 정보는 이를 생성하는데 사용된 재구성된 포인트 중 하나의 텍스처 정보에 대응한다.
변형예에 따르면, ("Computing and rendering point set surfaces" by M. Alexa, J. Behr, D. Cohen-Or, S. Fleishman, D. Levin, C.T. Silva, in IEEE TVCG9, January 2009)에 기재된 것과 같은) 업-샘플링 프로세스가 디코딩된 밀도 정보로부터, 결정된 밀도 레벨보다 작은 포인트 밀도를 갖는 것으로 식별된 포인트 클라우드의 부분들에 적용된다.
도 12 는 도 10, 도 11, 도 15 및/또는 도 16과 관련하여 설명되는 방법을 구현하도록 구성될 수 있는 디바이스(12)의 예시적인 아키텍처를 도시한다. 디바이스(12)는 도 9 및 도 13의 인코더(91, 131) 또는 디코더(92, 132)로 구성될 수 있다.
디바이스(12)는 데이터 및 어드레스 버스(121)에 의해 함께 링크되는 다음의 요소들을 포함한다:
- 예를 들어, DSP(또는 디지털 신호 프로세서(Digital Signal Processor))인 마이크로프로세서(122)(또는 CPU);
- ROM(또는 판독 전용 메모리(Read Only Memory))(123);
- RAM(또는 랜덤 액세스 메모리(Random - Access Memory))(124);
- 저장 인터페이스(125);
- 애플리케이션으로부터 송신할 데이터를 수신하기 위한 I/O 인터페이스(126); 및
- 전력 공급 디바이스, 예를 들어 배터리.
예에 따르면, 전력 공급 장치는 디바이스의 외부에 있다. 언급된 각각의 메모리에서, 본 명세서에서 사용된 ≪레지스터≫라는 단어는 작은 용량(몇 비트)의 영역에 대응하거나 또는 매우 큰 영역(예를 들어, 전체 프로그램 또는 수신되거나 디코딩된 대량의 데이터)에 대응할 수 있다. ROM(123)은 적어도 프로그램 및 파라미터들을 포함한다. ROM(123)은 본 원리들에 따라 기술들을 수행할 알고리즘들 및 명령어들을 저장할 수 있다. 스위치 온될 때, CPU(122)는 RAM에 프로그램을 업로드하고 대응하는 명령어들을 실행한다.
RAM(124)은 CPU(122)에 의해 실행되고 디바이스(120)의 스위치 온 후에 업로드되는 레지스터 내의 프로그램, 레지스터 내의 입력 데이터, 레지스터 내의 방법의 상이한 상태들의 중간 데이터, 및 레지스터 내의 방법을 실행하는데 사용된 다른 변수들을 포함한다.
본 명세서에서 설명된 구현예들은, 예를 들어, 방법 또는 프로세스, 장치, 컴퓨터 프로그램 제품, 데이터 스트림 또는 신호로 구현될 수 있다. 단일 형태의 구현의 맥락에서만 논의될지라도(예를 들어, 방법 또는 디바이스로서만 논의될지라도), 논의된 특징들의 구현예는 다른 형태들(예를 들어, 프로그램)로도 또한 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그램 가능 로직 디바이스를 비롯한, 예를 들어, 일반적으로 처리 디바이스들을 지칭하는 프로세서와 같은 장치에서 구현될 수 있다. 프로세서들은 예를 들어, 컴퓨터들, 셀 폰들, 휴대용/개인 휴대 정보 단말기(personal digital assistant)("PDA")들 및 최종 사용자들 사이에서 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 또한 포함한다.
인코딩 또는 인코더(91, 131)의 예에 따르면, 3 차원 장면(10)은 소스로부터 획득된다. 예를 들어, 소스는 다음과 같은 것을 포함하는 집합에 속한다:
- 로컬 메모리(123 또는 124), 예를 들어, 비디오 메모리 또는 RAM(또는 랜덤 액세스 메모리), 플래시 메모리, ROM(또는 판독 전용 메모리), 하드 디스크;
- 저장 인터페이스(125), 예를 들어, 대용량 저장소, RAM, 플래시 메모리, ROM, 광학 디스크 또는 자기 지원과의 인터페이스;
- 통신 인터페이스(126), 예를 들어, 유선 인터페이스(예를 들어, 버스 인터페이스, 광역 네트워크 인터페이스, 로컬 영역 네트워크 인터페이스) 또는 무선 인터페이스(이를테면, IEEE 802.11 인터페이스 또는 Bluetooth®인터페이스); 및
- 사용자가 데이터를 입력할 수 있게 하는 그래픽 사용자 인터페이스와 같은 사용자 인터페이스.
디코딩 또는 디코더(들)(92, 132)의 예들에 따르면, 스트림은 목적지로 전송된다; 구체적으로는, 목적지는 다음과 같은 것을 포함하는 집합에 속한다:
- 로컬 메모리(123 또는 124), 예를 들어, 비디오 메모리 또는 RAM, 플래시 메모리, 하드 디스크;
- 저장 인터페이스(125), 예를 들어, 대용량 저장소, RAM, 플래시 메모리, ROM, 광학 디스크 또는 자기 지원과의 인터페이스; 및
- 통신 인터페이스(126), 예를 들어, 유선 인터페이스(예를 들어, 버스 인터페이스(예를 들어, USB(또는 범용 직렬 버스(Universal Serial Bus)), 광역 네트워크 인터페이스, 로컬 영역 네트워크 인터페이스, HDMI(고화질 멀티미디어 인터페이스(High Definition Multimedia Interface) 인터페이스) 또는 무선 인터페이스(예컨대, IEEE 802.11 인터페이스, WiFi®또는 Bluetooth®인터페이스).
인코딩 또는 인코더의 예들에 따르면, 볼류메트릭 장면을 나타내는 데이터를 포함하는 비트스트림은 목적지로 전송된다. 예로서, 비트스트림은 로컬 또는 원격 메모리, 예를 들어, 비디오 메모리 또는 RAM, 하드 디스크에 저장된다. 변형예에서, 비트스트림은 저장 인터페이스, 예를 들어, 대용량 저장소, 플래시 메모리, ROM, 광학 디스크 또는 자기 지원과의 인터페이스에 전송되고 및/또는 통신 인터페이스, 예를 들어, 포인트 투 포인트 링크, 통신 버스, 포인트 투 멀티포인트 링크 또는 브로드캐스트 네트워크와의 인터페이스를 통해 송신된다.
디코딩 또는 디코더 또는 렌더러의 예들에 따르면, 비트스트림은 소스로부터 획득된다. 예시적으로, 비트스트림은 로컬 메모리, 예를 들어, 비디오 메모리, RAM, ROM, 플래시 메모리 또는 하드 디스크로부터 판독된다. 변형예에서, 비트스트림은 저장 인터페이스, 예를 들어, 대용량 저장소, RAM, ROM, 플래시 메모리, 광학 디스크 또는 자기 지원과의 인터페이스로부터 수신되고 및/또는 통신 인터페이스, 예를 들어, 포인트 투 포인트 링크, 버스, 포인트 투 멀티포인트 링크 또는 브로드캐스트 네트워크와의 인터페이스로부터 수신된다.
예들에 따르면, 디바이스(12)는 도 10, 도 11, 도 15 및/또는 도 16과 관련하여 설명된 방법을 구현하도록 구성되고 다음과 같은 것을 포함하는 집합에 속한다:
- 모바일 디바이스;
- 통신 디바이스;
- 게임 디바이스;
- 태블릿(또는 태블릿 컴퓨터);
- 랩톱;
- 스틸 픽처 카메라;
- 비디오 카메라;
- 인코딩 칩;
- 서버(예를 들어, 브로드캐스트 서버, 주문형 비디오 서버 또는 웹 서버).
도 13에 도시된 예에 따르면, 통신 네트워크(NET)(130)를 통한 (장치(12)의 타입의) 2개의 원격 디바이스(131 및 132) 사이의 송신 맥락에서, 디바이스(151)는 도 10 및/또는 도 15와 관련하여 설명된 바와 같이 데이터를 인코딩하기 위한 방법을 구현하도록 구성된 수단을 포함하고, 디바이스(132)는 도 11 및/또는 도 16과 관련하여 설명된 바와 같은 디코딩 방법을 구현하도록 구성된 수단을 포함한다.
예에 따르면, 네트워크(130)는 디바이스(131)로부터 오디오 정보가 연관된 스틸 픽처들 또는 비디오 픽처들을 디바이스(132)를 비롯한 디코딩/렌더링 디바이스로 브로드캐스트하도록 적응된 LAN 또는 WLAN 네트워크이다.
추가 예에 따르면, 네트워크는 디바이스(131)로부터 인코딩된 3D 표현(예를 들어 포인트 클라우드(들) 또는 메시)을 디바이스(132)를 비롯한 디코딩 디바이스들로 브로드캐스트하도록 구성된 브로드캐스트 네트워크이다.
디바이스(131)에 의해 송신되도록 의도된 신호는 비트스트림들(14)을 반송한다.
도 14는 데이터가 패킷 기반 전송 프로토콜을 통해 송신될 때 그러한 신호의 신택스의 실시예의 예를 도시한다. 도 14는 볼류메트릭 콘텐츠 스트림의 예시적인 구조(14)를 도시한다. 구조는 스트림을 독립적 신택스 요소들로 구성하는 컨테이너로 이루어진다.
구조는 스트림의 모든 신택스 요소들에 공통적인 한 세트의 데이터인 헤더 부분(141)을 포함할 수 있다. 예를 들어, 헤더 부분은 신택스 요소들 각각의 특성 및 역할을 서술하는 신택스 요소들에 관한 메타데이터를 포함한다.
구조는 신택스 요소들(142 내지 146)을 포함하는 페이로드를 포함할 수 있다. 제1 신택스 요소(142)는 예를 들어 2D 파라미터화들을 정의하는 파라미터들에 관련된다. 제2 신택스 요소(143)는 예를 들어 깊이 맵(들)을 나타내는 데이터에 관련된다. 제3 신택스 요소(144)는 예를 들어 텍스처 맵(들)을 나타내는 데이터에 관련된다. 제4 신택스 요소(145)는 예를 들어 3D 장면의 3D 표현의 적어도 부분의 밀도에 관한 정보에 관련된다. 제5 신택스 요소(146)는 예를 들어 2D 파라미터화들과 대응하는 깊이 및 텍스처 맵들 사이의 매핑에 관한 정보에 관련된다.
예시 목적을 위해, ISOBMFF 파일 포맷 표준의 맥락에서, 텍스처 맵, 깊이 맵 및 메타데이터는 전형적으로 타입 'moov'의 박스 내 ISOBMFF 트랙들에서 참조될 것이며, 이때 텍스처 맵 및 깊이 맵 데이터 자체는 타입 'mdat'의 메타-데이터 박스에 삽입된다.
도 15는 본 원리들의 비제한적 실시예에 따른, 장면, 예를 들어 3D 장면(10)의 3D 표현을 나타내는 데이터를 인코딩하기 위한 방법을 도시한다. 방법은 예를 들어 인코더(91, 131)에서 및/또는 디바이스(12)에서 구현될 수 있다. 디바이스(12)의 상이한 파라미터들은 업데이트될 수 있다. 3D 표현은 예를 들어 소스로부터 획득될 수 있고, 하나 이상의 뷰 포인트가 3D 장면의 공간에서 결정될 수 있고, 투영 매핑(들) 및/또는 2D 파라미터화(들)와 연관된 파라미터들이 초기화될 수 있다.
제1 동작(151)에서, 하나 이상의 깊이 맵이 생성되며, 각각의 깊이 맵은 장면의 3D 표현의 부분과 연관된다. 깊이 맵들은 3D 표현의 한 부분과 각각 연관된 2D 파라미터화들의 파라미터(들)로부터 및 2D 파라미터화가 연관된 3D 표현의 부분에 포함된 포인트들과 연관된 지오메트리 정보로부터 생성된다. 각각의 깊이 맵은 예를 들어 제1 패치 아틀라스의 패치에 대응할 수 있고 3D 표현의 한 부분의 하나의 2D 파라미터화와 연관된다. 3D 표현의 부분과 연관된 2D 파라미터화는 상기 부분에 포함된 포인트들과 연관된 지오메트리 데이터로부터 획득된 3D 암시적 표면의 2D 픽셀/샘플 표현이며, 장면의 공간에서 2D 파라미터화의 위치 및 2D 파라미터화와 연관된 뷰 포인트는 3D 표현이 보이는 뷰 포인트들의 범위와 연관된 포즈 정보에 따른다. 2D 파라미터화는 예를 들어 3D 표현에 의해 표현된 장면의 표면과 뷰 포인트들의 범위 사이에 존재하는 방식으로 위치될 수 있는데, 즉, 2D 파라미터화로 획득된 2D 표면은 그 표면이 연관된 부분과 마주한다. 3D 표현의 각 부분에 대해 또는 부분만의 각 부분에 대해 하나 이상의 2D 파라미터화가 생성된다. 변형예에 따르면, 전체 3D 표현에 대해 단일 2D 파라미터화가 생성된다. 데이터가 깊이 맵들의 픽셀들과 연관될 때, 이 데이터는 거리 또는 깊이 정보에 대응한다.
제2 동작(152)에서, 하나 이상의 텍스처 맵이 생성되며, 각각의 텍스처 맵은 장면의 3D 표현의 부분과 연관된다. 텍스처 맵은 3D 표현의 한 부분과 각각 연관된 2D 파라미터화들의 파라미터(들)로부터 및 2D 파라미터화가 연관된 3D 표현의 부분에 포함된 포인트들과 연관된 텍스처/컬러 정보로부터 생성된다. 각각의 텍스처 맵은 예를 들어 제2 패치 아틀라스의 패치에 대응할 수 있고 3D 표현의 한 부분의 하나의 2D 파라미터화와 연관된다. 텍스처 맵들의 픽셀들과 연관된 데이터는 컬러(예를 들어, 적색, 녹색, 청색 또는 Cyan(시안), 마젠타(Magenta), 옐로우(Yellow), 블랙(Black)) 정보에 대응할 수 있다.
제3 동작(153)에서, 3D 표현의 하나 이상의 부분들에 포함된 포인트들의 포인트 밀도를 나타내는 제1 정보가 생성된다. 3D 표현의 주어진 부분과 연관된 제1 정보는 다음의 정보 중 하나 이상을 포함할 수 있다:
- 주어진 부분에 포함된 포인트들의 포인트 밀도가 결정된 밀도 레벨보다 크거나 또는 미만이라는 것을 표시하는 정보. 결정된 밀도 레벨은 예를 들어 사용자에 의해 설정된 레벨/값 또는 예를 들어 주어진 부분이 속하는 장면의 물체 또는 구역의 평균 밀도에 따라 결정된(계산된) 레벨/값일 수 있음;
- 주어진 부분에 대해 결정된 포인트 밀도의 범위를 표시하는 정보;
- 주어진 부분에 포함된 포인트들의 평균 포인트 밀도를 표시하는 정보; 및/또는
- 주어진 부분 내에서 결정된 모든 포인트 밀도를 표시하는 정보.
제4 동작(154)에서, 적어도 깊이 맵은 비트스트림의 제1 신택스 요소로 인코딩되고; 적어도 텍스처 맵은 비트스트림의 제2 신택스 요소로 인코딩되고; 적어도 파라미터는 제3 신택스 요소로 인코딩되고; 제1 정보는 제4 신택스 요소로 인코딩되며; 그리고 2D 파라미터화(들)와 대응하는 깊이 맵(들) 및 텍스처 맵(들) 사이의 매핑을 나타내는 제2 정보는 비트스트림의 제5 신택스 요소로 인코딩된다.
도 16은 본 원리들의 비제한적 실시예에 따른, 장면, 예를 들어 3D 장면(10)의 3D 표현을 나타내는 데이터를 디코딩하기 위한 방법을 도시한다. 방법은 예를 들어 디코더(92, 132)에서 및/또는 디바이스(12)에서 구현될 수 있다.
제1 동작(161)에서, 3D 표현의 적어도 부분의 적어도 2차원 파라미터화를 나타내는 적어도 파라미터가 수신된 비트스트림으로부터 디코딩된다.
제2 동작(162)에서, 3D 표현의 적어도 부분과 연관된 적어도 텍스처 맵을 나타내는 데이터가 비트스트림으로부터 디코딩된다.
제3 동작(163)에서, 3D 표현의 적어도 부분과 연관된 적어도 깊이 맵을 나타내는 데이터가 비트스트림으로부터 디코딩된다.
제4 동작(164)에서, 상기 3D 표현의 적어도 부분에 포함된 적어도 포인트와 연관된 데이터는 적어도 파라미터, 텍스처 맵(들)을 나타내는 데이터, 깊이 맵(들)을 나타내는 데이터, 비트스트림으로부터 획득/디코딩되고 3D 표현의 하나 이상의 부분에 포함된 포인트들을 나타내는 제1 정보, 및 비트스트림으로부터 획득/디코딩되고 2D 파라미터화(들)와 대응하는 깊이 및 텍스처 맵들 사이의 매핑을 나타내는 제2 정보로부터 결정된다.
디코딩된 데이터 및 정보는 재구성된 3D 장면의 렌더링 및/또는 디스플레이를 위해 3D 장면의 3D 표현을 생성/재구성하는데 추가로 사용될 수 있다. 재구성된 3D 장면은 뷰 포인트들의 범위로부터 보일 수 있는데, 이는 특히 (제1 정보를 통해) 낮은 포인트 밀도를 갖는 것으로 식별된 장면의 영역들을 볼 수 있게 하는 뷰 포인트에 따라 3D 장면을 시청할 때 몇몇 렌더링 품질 문제들을 발생시킬 수 있다. 이러한 문제들을 극복하기 위해, 결정된 레벨/값 미만의 포인트 밀도를 갖는 장면의 영역들에 업-샘플링 프로세스가 적용되어 포인트들의 수를 증가시킬 수 있다.
그런 다음 스플랫 렌더링이 재구성된 3D 표현에 (또한 업-샘플링된 부분들에도) 적용되어 장면을 생성/렌더링할 수 있다. 스플랫 렌더링은 포인트 클라우드에서 치수가 없는 포인트들 사이의 빈자리들을 채울 수 있게 하는 기술이다. 이것은 포인트 클라우드의 각 포인트에 대해 그 이웃에 기초하여 지향 타원(oriented ellipse), 즉 2개의 반축(demi-axes)과 타원의 법선을 추정하는데 있다.
비트스트림에 소량의 데이터(즉, 제1 정보)를 추가함으로써 3D 장면의 렌더링 품질이 증가된다.
당연히, 본 개시내용은 앞서 설명된 실시예로 제한되지 않는다.
특히, 본 개시내용은 3D 장면을 나타내는 데이터를 인코딩/디코딩하기 위한 방법 및 디바이스로 제한되지 않고, 인코딩된 데이터를 포함하는 비트스트림을 생성하기 위한 방법과 이러한 방법을 구현하는 임의의 디바이스 및 특히 적어도 하나의 CPU 및/또는 적어도 하나의 GPU를 포함하는 임의의 디바이스들까지도 확장된다.
본 개시내용은 또한 비트스트림의 디코딩된 데이터로부터 렌더링된 이미지들을 디스플레이하기 위한 방법 (및 이를 위해 구성된 디바이스)에 관한 것이다.
본 개시내용은 또한 비트스트림을 송신 및/또는 수신하기 위한 방법 (및 이를 위해 구성된 디바이스)에 관한 것이다.
본 명세서에서 설명된 구현예들은, 예를 들어, 방법 또는 프로세스, 장치, 컴퓨터 프로그램 제품, 데이터 스트림 또는 신호로 구현될 수 있다. 단일 형태의 구현의 맥락에서만 논의될지라도(예를 들어, 방법 또는 디바이스로서만 논의될지라도), 논의된 특징들의 구현예는 다른 형태들(예를 들어, 프로그램)로도 또한 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그램 가능 로직 디바이스를 비롯한, 예를 들어, 일반적으로 처리 디바이스들을 지칭하는 프로세서와 같은 장치에서 구현될 수 있다. 프로세서들은, 예를 들어 스마트폰들, 태블릿들, 컴퓨터들, 모바일 폰들, 휴대용/개인 휴대 정보 단말기("PDA")들 및 최종 사용자들 사이에서 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 또한 포함한다.
본 명세서에서 설명된 다양한 프로세스들 및 특징들의 구현예들은 다양한 상이한 장비 또는 애플리케이션들, 특히, 예를 들면, 데이터 인코딩, 데이터 디코딩, 뷰 생성, 텍스처 처리, 및 이미지들 및 관련된 텍스처 정보 및/또는 깊이 정보의 다른 처리와 연관된 장비 또는 애플리케이션들에서 구현될 수 있다. 그러한 장비의 예들은 인코더, 디코더, 디코더로부터의 출력을 처리하는 후처리 프로세서, 인코더에 입력을 제공하는 전처리 프로세서, 비디오 코더, 비디오 디코더, 비디오 코덱, 웹 서버, 셋톱 박스, 랩톱, 퍼스널 컴퓨터, 셀 폰, PDA 및 다른 통신 디바이스들을 포함한다. 분명히 해야 하는 것으로서, 장비는 이동식일 수도 있고 심지어 이동 차량에 설치될 수도 있다.
또한, 방법들은 프로세서에 의해 수행되는 명령어들에 의해 구현될 수 있고, 그러한 명령어들(및/또는 구현에 의해 생성된 데이터 값들)은, 예를 들어, 집적 회로, 예를 들면 하드 디스크, 콤팩트 디스켓(compact diskette)("CD"), (예를 들어, 종종 디지털 다용도 디스크 또는 디지털 비디오 디스크라고 지칭되는 DVD와 같은) 광학 디스크와 같은 소프트웨어 캐리어 또는 다른 저장 디바이스, 랜덤 액세스 메모리("RAM") 또는 판독 전용 메모리("ROM")와 같은 프로세서 판독 가능 매체에 저장될 수 있다. 명령어들은 프로세서 판독 가능 매체 상에 유형으로 구현된 애플리케이션 프로그램을 형성할 수 있다. 명령어들은 예를 들어, 하드웨어, 펌웨어, 소프트웨어 또는 조합일 수 있다. 명령어들은 예를 들어, 운영 체제, 별개의 애플리케이션 또는 이 둘의 조합에서 발견될 수 있다. 그러므로 프로세서는 예를 들어, 프로세스를 수행하도록 구성된 디바이스 및 프로세스를 수행하기 위한 명령어들을 갖는 (저장 디바이스와 같이) 프로세서 판독 가능 매체를 포함하는 디바이스 둘 모두로서 특징지어질 수 있다. 또한, 프로세서 판독 가능 매체는 명령어들에 추가하여 또는 명령어들 대신에, 구현에 의해 생성된 데이터 값들을 저장할 수 있다.
관련 기술분야에서 통상의 기술자에게 명백해지는 바와 같이, 구현예들은 예를 들어, 저장되거나 송신될 수 있는 정보를 반송하도록 포맷된 다양한 신호를 생성할 수 있다. 정보는 예를 들어, 방법을 수행하기 위한 명령어들, 또는 설명된 구현예들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 신택스를 기입하거나 판독하기 위한 규칙들을 데이터로서 반송하도록 포맷되거나, 또는 설명된 실시예에 의해 기입된 실제 신택스 값들을 데이터로서 반송하도록 포맷될 수 있다. 이러한 신호는, 예를 들어, (예를 들면, 스펙트럼의 무선 주파수 부분을 사용하는) 전자기파로서 또는 베이스밴드 신호로서 포맷될 수 있다. 포맷팅은 예를 들어, 데이터 스트림을 인코딩하는 것 및 캐리어를 인코딩된 데이터 스트림으로 변조하는 것을 포함할 수 있다. 신호가 반송하는 정보는 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 알려진 바와 같이 다양한 서로 상이한 유선 또는 무선 링크들을 통해 송신될 수 있다. 신호는 프로세서 판독 가능 매체에 저장될 수 있다.
다수의 구현예가 설명되었다. 그럼에도 불구하고, 다양한 변형예들이 만들어질 수 있다는 것이 이해될 것이다. 예를 들어, 상이한 구현예들의 요소들이 조합되거나, 보충되거나, 변형되거나 또는 제거되어 다른 구현예들을 만들어 낼 수 있다. 또한, 관련 기술분야에서 통상의 기술자라면 다른 구조들 및 프로세스들이 개시된 것들에 대체될 수 있고 결과적인 구현예들이 적어도 실질적으로 동일한 기능(들)을, 적어도 실질적으로 동일한 방식(들)으로 수행하여, 개시된 구현예들과 적어도 실질적으로 동일한 결과(들)를 달성할 것이라는 점을 이해할 것이다. 따라서, 이러한 구현예들 및 다른 구현예들이 본 출원에 의해 예상된다.

Claims (15)

  1. 비트스트림의 3D 포인트 클라우드의 인코딩 방법으로서,
    상기 3D 포인트 클라우드의 적어도 부분에 대해:
    - 상기 3D 포인트 클라우드의 텍스처 맵과 부분의 깊이 맵을, 상기 부분의 지오메트릭 특성들 및 상기 3D 포인트 클라우드를 캡처하는데 사용되는 뷰 포인트들의 범위와 연관된 포즈 정보(pose information)에 응답적인 2차원 파라미터화(two-dimensional parametrization)에 따라 결정하는 단계;
    - 상기 부분이 결정된 밀도 값 미만의 포인트 밀도를 갖는지 여부의 표시를 포함하는 제1 정보를 획득하는 단계;
    - 상기 깊이 맵, 상기 텍스처 맵, 상기 2차원 파라미터화, 상기 제1 정보 및 상기 2차원 파라미터화와 상기 깊이 맵 및 상기 텍스처 맵 사이의 매핑을 나타내는 제2 정보를 상기 비트스트림으로 인코딩하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 제1 정보는 상기 뷰 포인트들의 범위에 포함된 뷰 포인트에 따라 상기 포인트 클라우드의 적어도 이미지 내 상기 포인트 클라우드의 물체들 사이의 적어도 경계를 검출함으로써 획득되고, 상기 3D 포인트 클라우드의 부분들은 경계를 포함하는 상기 포인트 클라우드의 영역들에 대응하는 결정된 밀도 값 미만의 포인트 밀도를 갖는, 방법.
  3. 제1항에 있어서,
    상기 제1 정보는 상기 부분에 포함된 포인트들의 수를 계산함으로써, 그리고 상기 포인트 밀도를 상기 결정된 밀도 값과 비교함으로써 획득되는, 방법.
  4. 비트스트림의 3D 포인트 클라우드를 인코딩하기 위한 디바이스로서, 상기 디바이스는 프로세서를 포함하고,
    상기 프로세서는,
    상기 3D 포인트 클라우드의 적어도 부분에 대해:
    - 3D 포인트 클라우드의 부분의 텍스처 맵 및 깊이 맵을, 상기 부분의 지오메트릭 특성들 및 상기 3D 포인트 클라우드를 캡처하는데 사용되는 뷰 포인트들의 범위와 연관된 포즈 정보에 응답적인 2차원 파라미터화에 따라 결정하고;
    - 상기 부분이 결정된 밀도 값 미만의 포인트 밀도를 갖는지 여부에 관한 표시를 포함하는 제1 정보를 획득하고;
    - 상기 깊이 맵, 상기 텍스처 맵, 상기 2차원 파라미터화, 상기 제1 정보 및 상기 2차원 파라미터화와 상기 깊이 맵 및 상기 텍스처 맵 사이의 매핑을 나타내는 제2 정보를 비트스트림으로 인코딩하도록
    구성되는, 디바이스.
  5. 제4항에 있어서,
    상기 제1 정보는 상기 뷰 포인트들의 범위에 포함된 뷰 포인트에 따라 상기 포인트 클라우드의 적어도 이미지 내 상기 포인트 클라우드의 물체들 사이의 적어도 경계를 검출함으로써 획득되고, 상기 3D 포인트 클라우드의 부분들은 경계를 포함하는 상기 포인트 클라우드의 영역들에 대응하는 결정된 밀도 값 미만의 포인트 밀도를 갖는, 디바이스.
  6. 제4항에 있어서,
    상기 제1 정보는 상기 부분에 포함된 포인트들의 수를 계산함으로써, 그리고 상기 포인트 밀도를 상기 결정된 밀도 값과 비교함으로써 획득되는, 디바이스.
  7. 3D 포인트 클라우드의 부분을 나타내는 데이터를 저장하는 비일시적 매체로서,
    상기 데이터는,
    - 상기 부분의 지오메트릭 특성들 및 상기 3D 포인트 클라우드의 상기 부분을 캡처하는데 사용되는 뷰 포인트들의 범위와 연관된 포즈 정보에 응답적인 2차원 파라미터화;
    - 상기 2차원 파라미터화에 따라 결정된 상기 부분의 텍스처 맵;
    - 상기 2차원 파라미터화에 따라 결정된 상기 부분의 깊이 맵;
    - 상기 부분이 결정된 밀도 값 미만의 포인트 밀도를 갖는지에 관한 표시를 포함하는 제1 정보; 및
    - 상기 2차원 파라미터화와 상기 깊이 맵 및 상기 텍스처 맵 사이의 매핑을 나타내는 제2 정보
    를 포함하는, 비일시적 매체.
  8. 제7항에 있어서,
    상기 제1 정보는 상기 뷰 포인트들의 범위에 포함된 뷰 포인트에 따라 상기 포인트 클라우드의 적어도 이미지 내 상기 포인트 클라우드의 물체들 사이의 적어도 경계를 검출함으로써 획득되고, 상기 3D 포인트 클라우드의 부분들은 경계를 포함하는 상기 포인트 클라우드의 영역들에 대응하는 결정된 밀도 값 미만의 포인트 밀도를 갖는, 비일시적 매체.
  9. 제7항에 있어서,
    상기 제1 정보는 상기 부분에 포함된 포인트들의 수를 계산함으로써, 그리고 상기 포인트 밀도를 상기 결정된 밀도 값과 비교함으로써 획득되는, 비일시적 매체.
  10. 방법으로서,
    3D 포인트 클라우드의 적어도 부분에 대해:
    - 비트스트림으로부터, 상기 부분의 지오메트릭 특성들 및 상기 포인트 클라우드를 캡처하는데 사용되는 뷰 포인트들의 범위와 연관된 포즈 정보에 응답적인 2차원 파라미터화를 디코딩하는 단계;
    - 상기 비트스트림으로부터, 상기 부분의 깊이 맵 및 텍스처 맵을 디코딩하는 단계;
    - 상기 텍스처 맵 및 상기 깊이 맵을, 상기 비트스트림으로부터 획득되고 상기 부분이 결정된 밀도 값 미만의 포인트 밀도를 갖는지 여부에 관한 표시를 포함하는 제1 정보, 및 상기 비트스트림으로부터 획득되고 상기 2차원 파라미터화와 대응하는 깊이 맵 및 텍스처 맵 사이의 매핑을 나타내는 제2 정보에 따라 역투영하는 단계
    를 포함하는, 방법.
  11. 제10항에 있어서,
    상기 텍스처 맵 및 상기 깊이 맵으로부터 획득된 상기 포인트들 이외에, 상기 결정된 밀도 값 미만의 포인트 밀도를 갖는 상기 3D 포인트 클라우드의 부분들에서 추가 포인트들이 생성되는, 방법.
  12. 적어도 하나의 프로세서와 연관된 메모리를 포함하는 디바이스로서,
    상기 적어도 하나의 프로세서는,
    3D 포인트 클라우드의 적어도 부분에 대해:
    - 비트스트림으로부터, 상기 부분의 지오메트릭 특성들 및 상기 포인트 클라우드를 캡처하는데 사용되는 뷰 포인트들의 범위와 연관된 포즈 정보에 응답적인 2차원 파라미터화를 디코딩하고;
    - 상기 비트스트림으로부터, 상기 부분의 깊이 맵 및 텍스처 맵을 디코딩하고;
    - 상기 텍스처 맵 및 상기 깊이 맵을, 상기 비트스트림으로부터 획득되고 상부분이 결정된 밀도 값 미만의 포인트 밀도를 갖는지 여부에 관한 표시를 포함하는 제1 정보, 및 상기 비트스트림으로부터 획득되고 상기 2차원 파라미터화와 상기 깊이 맵 및 상기 텍스처 맵 사이의 매핑을 나타내는 제2 정보에 따라 역투영하도록
    구성되는, 디바이스.
  13. 제12항에 있어서,
    상기 텍스처 맵 및 상기 깊이 맵으로부터 획득된 상기 포인트들 이외에, 상기 결정된 밀도 값 미만의 포인트 밀도를 갖는 상기 3D 포인트 클라우드의 부분들에서 추가 포인트들이 생성되는, 디바이스.
  14. 삭제
  15. 삭제
KR1020207017632A 2017-11-23 2018-11-06 볼류메트릭 비디오를 인코딩/디코딩하기 위한 방법, 장치 및 스트림 KR102594003B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17306629.1A EP3489900A1 (en) 2017-11-23 2017-11-23 Method, apparatus and stream for encoding/decoding volumetric video
EP17306629.1 2017-11-23
PCT/US2018/059367 WO2019103838A1 (en) 2017-11-23 2018-11-06 Method, apparatus and stream for encoding/decoding volumetric video

Publications (2)

Publication Number Publication Date
KR20200083616A KR20200083616A (ko) 2020-07-08
KR102594003B1 true KR102594003B1 (ko) 2023-10-26

Family

ID=60574502

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207017632A KR102594003B1 (ko) 2017-11-23 2018-11-06 볼류메트릭 비디오를 인코딩/디코딩하기 위한 방법, 장치 및 스트림

Country Status (5)

Country Link
US (1) US11367247B2 (ko)
EP (2) EP3489900A1 (ko)
KR (1) KR102594003B1 (ko)
CN (1) CN111615715B (ko)
WO (1) WO2019103838A1 (ko)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US11818401B2 (en) 2017-09-14 2023-11-14 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US11113845B2 (en) 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US10699444B2 (en) 2017-11-22 2020-06-30 Apple Inc Point cloud occupancy map compression
US10607373B2 (en) 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
WO2019162567A1 (en) * 2018-02-23 2019-08-29 Nokia Technologies Oy Encoding and decoding of volumetric video
EP3547703A1 (en) * 2018-03-30 2019-10-02 Thomson Licensing Method, apparatus and stream for volumetric video format
US10909726B2 (en) 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
US10909727B2 (en) 2018-04-10 2021-02-02 Apple Inc. Hierarchical point cloud compression with smoothing
US10939129B2 (en) 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US11017566B1 (en) 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
US11202098B2 (en) * 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
US11012713B2 (en) 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
EP3846133A4 (en) * 2018-08-30 2021-10-20 Panasonic Intellectual Property Corporation of America THREE-DIMENSIONAL DATA ENCODING PROCESS, THREE-DIMENSIONAL DATA DECODING PROCESS, THREE-DIMENSIONAL DATA ENCODING DEVICE, AND TRIDIMENSIONAL DATA DECODING DEVICE
US11386524B2 (en) 2018-09-28 2022-07-12 Apple Inc. Point cloud compression image padding
US11367224B2 (en) 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
US11430155B2 (en) 2018-10-05 2022-08-30 Apple Inc. Quantized depths for projection point cloud compression
US11138694B2 (en) 2018-12-05 2021-10-05 Tencent America LLC Method and apparatus for geometric smoothing
US11665372B2 (en) * 2019-01-07 2023-05-30 Samsung Electronics Co., Ltd. Fast projection method in video-based point cloud compression codecs
EP3949422A1 (en) 2019-03-26 2022-02-09 PCMS Holdings, Inc. System and method for multiplexed rendering of light fields
US11057564B2 (en) 2019-03-28 2021-07-06 Apple Inc. Multiple layer flexure for supporting a moving image sensor
JPWO2020230710A1 (ko) * 2019-05-10 2020-11-19
WO2020261690A1 (ja) * 2019-06-28 2020-12-30 ソニー株式会社 情報処理装置、情報処理方法、再生処理装置及び再生処理方法
KR102292195B1 (ko) 2019-07-04 2021-08-24 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
EP3767953A1 (en) 2019-07-15 2021-01-20 InterDigital VC Holdings, Inc. Methods for transmitting and rendering a 3d scene, method for generating patches, and corresponding devices and computer programs
JP2022541908A (ja) * 2019-07-22 2022-09-28 インターデジタル ヴイシー ホールディングス, インコーポレイテッド ボリュメトリックビデオコンテンツを配信するための方法および装置
US20220264080A1 (en) * 2019-07-23 2022-08-18 Pcms Holdings, Inc. System and method for adaptive lenslet light field transmission and rendering
CN112333453A (zh) 2019-08-05 2021-02-05 腾讯美国有限责任公司 解码方法和装置以及计算机系统和存储介质
US11158116B2 (en) * 2019-08-05 2021-10-26 Tencent America LLC Geometry model for point cloud coding
EP3796644A1 (en) * 2019-09-20 2021-03-24 Eyeware Tech SA A method for capturing and rendering a video stream
US11562507B2 (en) 2019-09-27 2023-01-24 Apple Inc. Point cloud compression using video encoding with time consistent patches
US11627314B2 (en) 2019-09-27 2023-04-11 Apple Inc. Video-based point cloud compression with non-normative smoothing
US11538196B2 (en) 2019-10-02 2022-12-27 Apple Inc. Predictive coding for point cloud compression
US11461933B2 (en) * 2019-10-02 2022-10-04 Samsung Electronics Co., Ltd. Decision-making rules for attribute smoothing
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
CN112734821B (zh) * 2019-10-28 2023-12-22 阿里巴巴集团控股有限公司 深度图生成方法、计算节点及计算节点集群、存储介质
WO2021122983A1 (en) * 2019-12-20 2021-06-24 Interdigital Vc Holdings France A method and apparatus for coding and decoding volumetric video with view-driven specularity
WO2021141264A1 (ko) * 2020-01-08 2021-07-15 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11625866B2 (en) 2020-01-09 2023-04-11 Apple Inc. Geometry encoding using octrees and predictive trees
US11190771B2 (en) * 2020-03-16 2021-11-30 At&T Intellectual Property I, L.P. System and method of enabling adaptive bitrate streaming for volumetric videos
EP4092625A4 (en) * 2020-04-08 2023-04-19 LG Electronics, Inc. POINT CLOUD DATA TRANSMISSION DEVICE, TRANSMISSION METHOD, PROCESSING DEVICE AND PROCESSING METHOD
CN115398926B (zh) * 2020-04-14 2023-09-19 Lg电子株式会社 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US20230215080A1 (en) * 2020-06-09 2023-07-06 Interdigital Ce Patent Holdings, Sas A method and apparatus for encoding and decoding volumetric video
US11615557B2 (en) 2020-06-24 2023-03-28 Apple Inc. Point cloud compression using octrees with slicing
US11620768B2 (en) 2020-06-24 2023-04-04 Apple Inc. Point cloud geometry compression using octrees with multiple scan orders
US11443477B2 (en) * 2020-12-04 2022-09-13 Verizon Patent And Licensing Inc. Methods and systems for generating a volumetric two-dimensional representation of a three-dimensional object
US11943271B2 (en) * 2020-12-17 2024-03-26 Tencent America LLC Reference of neural network model by immersive media for adaptation of media for streaming to heterogenous client end-points
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes
US20230018560A1 (en) * 2021-07-19 2023-01-19 Lifecast Incorporated Virtual Reality Systems and Methods
US11922664B2 (en) * 2021-10-04 2024-03-05 Tencent America LLC Method and apparatus of adaptive sampling for mesh compression by decoders
KR102611535B1 (ko) * 2021-11-24 2023-12-08 한국전자통신연구원 3차원 일체형 모델에서 지형 모델 및 지물 모델을 분리하는 방법 및 이를 수행하는 장치
KR102536352B1 (ko) * 2021-12-15 2023-05-26 원광대학교산학협력단 플렌옵틱 동영상 콘텐츠 데이터 포맷 구조
US11620764B1 (en) * 2022-08-31 2023-04-04 Illuscio, Inc. Systems and methods for generating point-accurate three-dimensional models with point-accurate color information from a non-cosited capture
WO2024077911A1 (en) * 2022-10-13 2024-04-18 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for point cloud coding
US20240185471A1 (en) * 2022-10-21 2024-06-06 Tencent America LLC Texture coordinate compression using chart partition

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150317822A1 (en) * 2014-04-30 2015-11-05 Replay Technologies Inc. System for and method of social interaction using user-selectable novel views

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7586489B2 (en) 2005-08-01 2009-09-08 Nvidia Corporation Method of generating surface defined by boundary of three-dimensional point cloud
WO2012090181A1 (en) * 2010-12-29 2012-07-05 Nokia Corporation Depth map coding
US20140044347A1 (en) * 2011-04-25 2014-02-13 Sharp Kabushiki Kaisha Mage coding apparatus, image coding method, image coding program, image decoding apparatus, image decoding method, and image decoding program
RU2013152741A (ru) * 2011-04-28 2015-06-10 Конинклейке Филипс Н.В. Способ и устройство для генерирования сигнала кодирования изображения
JP5872676B2 (ja) * 2011-06-15 2016-03-01 メディアテック インコーポレイテッド 3dビデオコーディングにおけるテクスチャーイメージ圧縮方法および装置
WO2013095248A1 (en) * 2011-12-22 2013-06-27 Telefonaktiebolaget L M Ericsson (Publ) Method and processor for 3d scene representation
BR112014018856B1 (pt) * 2012-02-01 2022-09-20 Nokia Technologies Oy Método para a codificação de conteúdo de vídeo tridimensional, aparelho para codificação de conteúdo de vídeo tridimensional, meio legível por computador, método para decodificar conteúdo de vídeo tridimensional codificado, aparelho para decodificar conteúdo de vídeo tridimensional codificado
KR102111626B1 (ko) * 2013-09-10 2020-05-15 삼성전자주식회사 영상 처리 장치 및 영상 처리 방법
US11297346B2 (en) * 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150317822A1 (en) * 2014-04-30 2015-11-05 Replay Technologies Inc. System for and method of social interaction using user-selectable novel views

Also Published As

Publication number Publication date
CN111615715A (zh) 2020-09-01
CN111615715B (zh) 2024-06-14
EP3714429A1 (en) 2020-09-30
KR20200083616A (ko) 2020-07-08
EP3489900A1 (en) 2019-05-29
US20200380765A1 (en) 2020-12-03
US11367247B2 (en) 2022-06-21
WO2019103838A1 (en) 2019-05-31

Similar Documents

Publication Publication Date Title
KR102594003B1 (ko) 볼류메트릭 비디오를 인코딩/디코딩하기 위한 방법, 장치 및 스트림
KR102468178B1 (ko) 몰입형 비디오 포맷을 위한 방법, 장치 및 스트림
US20210176496A1 (en) Method, apparatus and stream for encoding/decoding volumetric video
EP3249922A1 (en) Method, apparatus and stream for immersive video format
US11647177B2 (en) Method, apparatus and stream for volumetric video format
KR102537420B1 (ko) 3d 장면의 포인트들을 생성하기 위한 방법 및 디바이스
US20190251735A1 (en) Method, apparatus and stream for immersive video format
EP3562159A1 (en) Method, apparatus and stream for volumetric video format
WO2019191202A1 (en) Method, apparatus and stream for volumetric video format
US20230217006A1 (en) A method and apparatuses for delivering a volumetric video content
US20230215080A1 (en) A method and apparatus for encoding and decoding volumetric video

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right