KR20200141450A - 투사 평면의 적어도 한 이미지 영역 내로 직교 투사된 한 세트의 3d 포인트의 깊이 값들을 인코딩하기 위한 방법 - Google Patents

투사 평면의 적어도 한 이미지 영역 내로 직교 투사된 한 세트의 3d 포인트의 깊이 값들을 인코딩하기 위한 방법 Download PDF

Info

Publication number
KR20200141450A
KR20200141450A KR1020207028997A KR20207028997A KR20200141450A KR 20200141450 A KR20200141450 A KR 20200141450A KR 1020207028997 A KR1020207028997 A KR 1020207028997A KR 20207028997 A KR20207028997 A KR 20207028997A KR 20200141450 A KR20200141450 A KR 20200141450A
Authority
KR
South Korea
Prior art keywords
projection mode
minimum
depth values
depth
image
Prior art date
Application number
KR1020207028997A
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 KR20200141450A publication Critical patent/KR20200141450A/ko

Links

Images

Classifications

    • 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
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

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

Abstract

적어도 하나의 실시예는, 제1 깊이 이미지의 이미지 영역과 연관된 투사 모드를 인코딩하는 단계 ― 상기 투사 모드는 상기 이미지 영역이 동일한 투사 방향을 따른 포인트 클라우드의 적어도 하나의 직교 투사된 3D 포인트의 최소 또는 최대 깊이 값을 저장하고 있는지를 나타냄 ―; 및 상기 투사 모드의 함수로서 상기 깊이 최소 및 최대 깊이 값들을 인코딩하는 단계를 포함하는 방법에 관한 것이다.

Description

투사 평면의 적어도 한 이미지 영역 내로 직교 투사된 한 세트의 3D 포인트의 깊이 값들을 인코딩하기 위한 방법
본 원리는 대체로 3D 객체의 외부 표면을 나타내는 포인트 클라우드의 코딩 및 디코딩에 관한 것이다. 특히, 전적으로 그런 것은 아니지만, 본 원리의 기술 분야는 이러한 포인트 클라우드의 지오메트리를 나타내는 깊이 이미지의 인코딩/디코딩에 관한 것이다.
본 절은, 이하에서 설명되고 및/또는 청구되는 본 원리의 다양한 양태에 관련될 수 있는 기술의 다양한 양태를 독자에게 소개하기 위함이다. 본 논의는, 본 원리의 다양한 양태의 더 양호한 이해를 용이화하기 위해 독자에게 배경 정보를 제공하는데 있어서 도움이 될 것으로 믿어진다. 따라서, 이들 설명은 이러한 점에 비추어 읽혀져야 하고, 종래 기술로서의 인정으로서 받아들여져서는 안 된다.
포인트 클라우드는 어떤 좌표계에서의 한 세트의 데이터 포인트이다. 3차원 좌표계(3D 공간)에서, 이들 포인트들은 대개 3D 객체의 외부 표면을 나타내기 위한 것이다. 포인트 클라우드의 각각의 포인트는, 종종, 그 위치(3D 공간에서 X, Y 및 Z 좌표) 및 아마도 RGB 또는 YUV 색상 공간으로 표현되는 색상 등의 기타의 연관된 속성, 예를 들어, 투명도, 반사율, 2-컴포넌트 법선 벡터 등에 의해 정의된다.
포인트 클라우드를 한 세트의 6-컴포넌트 포인트 (X, Y, Z, R, G, B) 또는 동등하게는 (X, Y, Z, Y, U, V)로서 표현하는 것이 일반적이다, 여기서 (X, Y, Z)는 3D 공간에서 채색된 포인트의 좌표를 정의하고 (R, G, B) 또는 (Y, U, V)는 이 채색된 포인트의 색상을 정의한다.
포인트 클라우드는, 클라우드가 시간에 관해 진화하는지 여부에 따라 정적이거나 동적일 수 있다. 동적 포인트 클라우드의 경우 포인트 수가 일정하지는 않지만, 반면에 일반적으로 시간에 따라 진화한다는 점에 유의해야 한다. 따라서, 동적 포인트 클라우드는 포인트 세트의 시간-정렬된 목록이다.
실제로, 포인트 클라우드는, 객체를 보내거나 방문하지 않고 객체의 공간적 구성을 공유하기 위해 조각상이나 건물 등의 객체가 3D로 스캔될 수 있는 문화유산/건물 등의 다양한 목적에 이용될 수 있다. 또한, 이것은, 파괴될 수 있는 경우; 예를 들어, 지진에 의한 사원의 파괴에 대비하여 객체에 대한 지식 보존을 보장하는 방법이다. 이러한 포인트 클라우드는 전형적으로 정적이고 채색되며 거대하다.
또 다른 이용 사례는, 3D 표현을 이용하여, 맵이 평면으로 제한되지 않고 부조를 포함할 수 있는, 지형 및 지도 제작이다. Google 맵은 이제 3D 맵의 좋은 예이지만 포인트 클라우드 대신에 메시를 이용한다. 그럼에도 불구하고, 포인트 클라우드는 3D 맵에 적합한 데이터 포맷일 수 있고, 이러한 포인트 클라우드는 전형적으로 정적이고 채색되며 거대하다.
자동차 산업과 자율주행 자동차도 역시 포인트 클라우드가 이용될 수 있는 영역이다. 자율주행 자동차는, 주변의 현실에 기초하여 양호한 운전 결정을 내리기 위해 주변 환경을 "탐색(probe)"할 수 있어야 한다. LIDAR 등의 전형적인 센서는 의사결정 엔진에 의해 이용되는 동적 포인트 클라우드를 생성한다. 이들 포인트 클라우드는 사람이 볼 수 있도록 의도된 것이 아니며, 이들은 전형적으로 작고, 반드시 채색된 것은 아니며, 캡처 빈도가 높으며 동적이다. 이들은 Lidar에 의해 제공되는 반사율 등의 다른 속성을 가질 수 있는데, 이 속성이 감지된 객체의 재료에 대한 좋은 정보이며 의사결정을 도울 수 있기 때문이다.
가상 현실과 몰입형 세계는 최근 인기 주제가 되었으며 2D 평면 비디오의 미래로서 많은 사람들이 예견했다. 기본 아이디어는, 시청자가 자신의 앞에 있는 가상 세계만 볼 수 있는 표준 TV와 대조적으로 시청자를 그 주변 환경에 몰입시키는 것이다. 환경 내의 시청자의 자유에 따라 몰입감에는 몇 가지 그라데이션이 있다. 채색된 포인트 클라우드는 가상 현실(즉, VR) 세계를 배포하기에 양호한 포맷 후보이다. 이들은 정적이거나 동적일 수 있고, 전형적으로 평균 크기이며, 한 번에 수백만 포인트를 넘지 않는다.
포인트 클라우드 압축은, 비트스트림의 크기가 최종 사용자로의 실질적인 저장/전송을 허용할만큼 충분히 낮은 경우에만 몰입형 세계를 위한 3D 객체를 저장/전송하는데 성공할 것이다.
수락가능한(또는 바람직하게는 매우 우수한) 체험의 품질을 유지하면서 합리적인 비트 레이트를 소비로 동적 포인트 클라우드를 최종 사용자에게 배포할 수 있는 것이 중요하다. 이들 동적 포인트 클라우드의 효율적인 압축은, 몰입형 세계의 배포 체인을 실용적으로 만들기 위한 핵심 포인트이다.
이미지-기반 포인트 클라우드 압축 기술은, 압축 효율성과 낮은 복잡성의 조합으로 인해 점점 대중화되고 있다. 이들은 2개의 주요 단계로 진행된다: 첫째, 이들은 포인트 클라우드, 즉, 3D 포인트를 2D 이미지 상에 투사(직교 투사)한다. 예를 들어, 적어도 하나의 깊이 이미지는, 포인트 클라우드의 지오메트리, 즉, 3D 공간에서 3D 포인트의 공간적 좌표를 나타내고, 적어도 하나의 텍스처 이미지는 포인트 클라우드의 3D 포인트와 연관된 속성, 예를 들어, 이들 3D 포인트와 연관된 텍스처/색상 정보를 나타낸다. 그 다음, 이들 기술은 이러한 깊이 및 텍스처 이미지를 레거시 비디오 인코더로 인코딩한다.
이미지-기반의 포인트 클라우드 압축 기술은, 예를 들어 HEVC ("ITU-T H.265 Telecommunication standardization sector of ITU (10/2014), series H: audiovisual and multimedia systems, infrastructure of audiovisual services - coding of moving video, High efficiency video coding, Recommendation ITU-T H.265") 등의 2D 비디오 인코더의 성능을 활용함으로써 양호한 압축 성능을 달성하는 한편, 동시에, 간단한 투사 방식을 이용함으로써 복잡성을 낮게 유지한다.
이미지-기반의 포인트 클라우드 압축 기술의 해결과제들 중 하나는, 특히 포인트 분포가 많이 접힌 표면(의류에서와 같이, 오목/볼록 영역)을 따르거나 포인트 분포가 (모피나 머리카락처럼) 표면을 전혀 따르지 않을 때, 포인트 클라우드가 이미지 상으로의 투사에 적합하지 않을 수 있다는 것이다. 이들 상황에서, 이미지 기반의 포인트 클라우드 압축 기술은, 낮은 압축 효율(많은 작은 투사가 요구되어, 2D 비디오 압축의 효율을 감소시킴) 또는 (표면 상으로의 포인트 클라우드의 투사의 어려움으로 인한) 양호하지 않은 품질로 어려움을 겪는다.
이 문제를 완화하기 위해 최신 기술에서 이용되는 접근법들 중 하나는, 이미지의 동일한 공간적 위치(픽셀) 상으로 복수의 지오메트리 및 텍스처 정보를 투사하는 것으로 구성된다. 이것은 포인트 클라우드의 3D 포인트마다 여러 깊이 및/또는 텍스처 이미지가 생성될 수 있다는 것을 의미한다.
이것은, 예를 들어, 포인트 클라우드가 투사 평면 상으로 직교 투사되는, ISO/IEC JTC1/SC29/WG11/N17248, Macau, China, October 2017에서 정의된 소위 Test Model Category 2 포인트 클라우드 인코더(TMC2)의 경우이다. 그 다음, 2개의 깊이 값이 상기 투사 평면의 좌표마다 연관된다: 하나는, 가장 가까운 포인트와 연관된 깊이 값(가장 작은 깊이 값)을 나타내고 또 다른 하나는 가장 먼 포인트의 깊이 값(가장 큰 깊이 값)을 나타낸다. 그 다음, 가장 작은 깊이 값(D0)으로부터 제1 깊이 이미지가 생성되고 D1-D0 <= SurfaceThickness를 충족하는 가장 큰 깊이 값(D1)과 가장 작은 깊이 값(D0) 사이의 차이로부터 제2 깊이 이미지가 생성되며, 여기서 SurfaceThickness는 최대 표면 두께로서, 예를 들어 4와 동일하다.
그 다음, 깊이 이미지 및 연관된 메타데이터가 인코딩 및 디코딩된다. 그 다음, 디코딩된 깊이 이미지로부터 포인트 클라우드의 지오메트리가 재구성된다. 그 다음, 색상/텍스처가 재구성된 포인트 클라우드의 각각의 포인트에 할당되고 텍스처 이미지(여기서는 2개)가 상기 할당된 색상/텍스처로부터 생성된다. 그 다음, 2개의 텍스처 이미지가 인코딩된다.
이하에서는, 본 원리의 일부 양태에 대한 기본적인 이해를 제공하기 위해 본 원리의 간략한 요약을 제시한다. 이 요약은 본 원리의 광범위한 개요는 아니다. 이것은, 본 원리의 핵심 또는 중요한 요소를 식별하기 위한 것도 아니다. 이하의 요약은 아래에서 제공되는 더 상세한 설명에 대한 서두로서 간략화된 형태로 본 원리의 일부 양태를 제공한다.
적어도 하나의 실시예의 일반적인 양태에 따르면, 제1 깊이 이미지의 이미지 영역과 연관된 투사 모드를 인코딩하는 단계 ― 상기 투사 모드는 상기 이미지 영역이 동일한 투사 방향을 따른 포인트 클라우드의 적어도 하나의 직교 투사된 3D 포인트의 최소 또는 최대 깊이 값을 저장하고 있는지를 나타냄 ―; 및 상기 투사 모드의 함수로서 상기 깊이 최소 및 최대 깊이 값을 인코딩하는 단계를 포함하는 방법이 제공된다.
한 실시예에 따르면, 상기 투사 모드의 함수로서 상기 깊이 최소 및 최대 깊이 값을 인코딩하는 단계는, 투사 모드가 제1 값과 동일할 때 최소 깊이 값을 제1 이미지 데이터로서 인코딩하고 최대 깊이 값을 나타내는 정보를 제2 이미지 데이터로서 인코딩하는 단계, 및 투사 모드가 제2 값과 동일할 때 최대 깊이 값을 제1 이미지 데이터로서 인코딩하고 최소 깊이 값을 나타내는 정보를 제2 이미지 데이터로서 인코딩하는 단계를 포함한다.
한 실시예에 따르면, 최소 또는 최대 깊이 값을 나타내는 정보는 최대 깊이 값과 최소 깊이 값 사이의 절대 차이이다.
한 실시예에 따르면, 이 방법은 상기 인코딩된 이미지 영역을 전송하고 상기 투사 모드를 시그널링하는 단계를 더 포함한다.
한 실시예에 따르면, 상기 투사 모드는 상기 투사 모드가 변경될 수 있는지 여부를 나타내기 위해 포인트 클라우드 레벨에서 시그널링된다.
한 실시예에 따르면, 상기 투사 모드가 변하는 것으로서 포인트 클라우드 레벨에서 시그널링되면, 상기 투사 모드는 패치 레벨에서 시그널링된다.
적어도 하나의 실시예의 또 다른 일반적인 양태에 따르면, 제1 깊이 이미지의 이미지 영역이 동일한 투사 방향을 따른 포인트 클라우드의 적어도 하나의 직교 투사된 3D 포인트의 최소 또는 최대 깊이 값을 저장하는지를 나타내는 투사 모드를 획득하는 단계; 및 상기 투사 모드의 함수로서 상기 깊이 최소 및 최대 깊이 값을 디코딩하는 단계를 포함하는 방법이 제공된다.
한 실시예에 따르면, 상기 투사 모드의 함수로서 상기 깊이 최소 및 최대 깊이 값을 디코딩하는 단계는, 투사 모드가 제1 값과 동일할 때 최소 깊이 값을 제1 이미지 데이터로서 디코딩하고 최대 깊이 값을 나타내는 정보를 제2 이미지 데이터로서 디코딩하는 단계, 및 투사 모드가 제2 값과 동일할 때 최대 깊이 값을 제1 이미지 데이터로서 디코딩하고 최소 깊이 값을 나타내는 정보를 제2 이미지 데이터로서 디코딩하는 단계를 포함한다.
한 실시예에 따르면, 최소 또는 최대 깊이 값을 나타내는 정보는 최대 깊이 값과 최소 깊이 값 사이의 절대 차이이다.
한 실시예에 따르면, 상기 투사 모드는 비트스트림으로부터 도출된다.
적어도 하나의 실시예 중 하나 이상은 또한, 디바이스, 컴퓨터 프로그램 제품, 비일시적인 컴퓨터-판독가능한 매체 및 신호를 제공한다.
본 원리의 특정한 성질뿐만 아니라 본 원리의 다른 목적, 이점, 피처 및 이용은, 첨부된 도면들과 연계하여 취해진 예의 이하의 설명으로부터 명백해질 것이다.
도면에는, 여러 실시예의 예가 도시되어 있다. 도면들에서:
- 도 1은 이미지-기반 포인트 클라우드 인코딩 구조의 한 예의 개략적인 블록도를 나타낸다;
- 도 2는 도 1의 인코더의 지오메트리 압축 부분을 나타낸다;
- 도 3은 포인트 클라우드가 4개의 CC로 분할된 제1 예를 도시한다;
- 도 4는 포인트 클라우드가 4개의 CC로 분할된 제2 예를 도시한다;
- 도 5 및 도 6은 도 3 및 도 4의 제1 및 제2 예에 적용될 때 적어도 하나의 실시예에 따른 방법의 결과를 도시한다;
- 도 7은 적어도 하나의 실시예에 따른 포인트 클라우드의 깊이 값을 인코딩하기 위한 방법의 단계들의 블록도를 도시한다.
- 도 8은 적어도 하나의 실시예에 따른 포인트 클라우드의 적어도 하나의 3D 포인트의 깊이 값을 디코딩하기 위한 방법의 단계들의 블록도를 도시한다;
- 도 9는 도 1 내지 도 8과 관련하여 설명된 방법을 구현하도록 구성될 수 있는 디바이스의 예시적인 아키텍처를 나타낸다;
- 도 10은 적어도 하나의 실시예의 한 예에 따른 디바이스 A와 B 사이의 전송 시스템을 개략적으로 도시한다.
유사하거나 동일한 요소는 동일한 참조 번호로 참조된다.
본 원리가, 본 원리의 예가 도시되어 있는 첨부된 도면들을 참조하여 이하에서 더 완전하게 설명될 것이다. 그러나, 본 원리는 많은 다른 형태로 구현될 수 있으며, 본 명세서에서 개시된 예로 제한되는 것으로 해석되어서는 안된다. 따라서, 본 원리는 다양한 수정 및 대안적인 형태가 가능하지만, 그 특정한 예가 도면에서 예로서 도시되고 여기서 상세히 설명될 것이다. 그러나, 본 원리를 개시된 특정한 형태로 제한하려는 의도는 없지만, 한편으로, 본 개시내용은 청구항들에 의해 정의된 본 원리의 사상 및 범위 내에 있는 모든 수정, 균등물, 및 대안을 포함하는 것임을 이해해야 한다.
본 명세서에서 사용된 용어는 특정한 예를 설명하기 위한 목적으로만 이용되며 본 원리를 제한하려는 의도가 아니다. 본 명세서에서 사용될 때, 단수 형태, "a", "an", "the"는, 문맥상 명확하게 달리 표시하지 않는 한, 복수 형태도 역시 포함하는 것을 의도한다. 본 명세서에서 사용될 때 "포함하다", "포함하는", "내포하다" 및/또는 "내포하는"이라는 용어는, 언급된 피처, 완전체, 단계, 동작, 요소 및/또는 컴포넌트의 존재를 명시하지만, 하나 이상의 다른 피처, 완전체, 단계, 동작, 요소, 컴포넌트 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는다는 것을 이해할 것이다. 더욱이, 한 요소가 또 다른 요소에 "반응하는" 또는 "접속되는" 것으로 언급될 때, 그 요소는 다른 요소에 직접 반응 또는 접속될 수 있거나, 중간 요소가 존재할 수도 있다. 대조적으로, 한 요소가 다른 요소에 "직접 반응"하거나 "직접 접속되는" 것으로 언급될 때, 어떠한 중간 요소도 존재하지 않는다. 본 명세서에서 사용될 때, 용어 "및/또는"은 연관된 나열 항목들 중 하나 이상의 임의의 조합 및 모든 조합을 포함하며, "/"로 축약 표기될 수 있다.
용어, 제1, 제2 등이 다양한 요소들을 설명하기 위해 사용될 수도 있지만, 이들 요소들은 이들 용어에 의해 제한되어서는 안 된다는 것을 이해할 것이다. 이들 용어들은 한 요소를 또 다른 요소로부터 구분하기 위해서만 사용된다. 예를 들어, 본 원리의 교시를 벗어나지 않고, 제1 요소는 제2 요소라고 명명될 수 있고, 마찬가지로 제2 요소는 제1 요소라고 명명될 수 있다.
도면들 중 일부는 통신 경로 상에 화살표를 포함하여 통신의 1차 방향을 나타내지만, 통신은 도시된 화살표와는 반대 방향으로 발생할 수 있다는 것을 이해해야 한다.
일부 예는 블록도 및 동작 플로차트에 관하여 설명되며, 여기서, 각각의 블록은, 회로 요소, 모듈, 또는 명시된 논리 기능(들)을 구현하기 위한 하나 이상의 실행가능한 명령어를 포함하는 코드의 일부를 나타낸다. 다른 구현에서, 블록에서 언급된 기능(들)은 언급된 순서를 벗어나 발생할 수 있다는 점에도 유의해야 한다. 예를 들어, 연속적으로 도시된 2개의 블록은, 사실상, 포함된 기능에 따라, 실질적으로 동시에 실행되거나, 블록들은 때때로 역순으로 실행될 수도 있다.
본 명세서에서 "한 예에 따라" 또는 "한 예에서"라는 언급은, 그 예와 관련하여 설명된 특정한 피처, 구조 또는 특성이 본 원리의 적어도 하나의 구현에 포함될 수 있다는 것을 의미한다. 명세서의 다양한 곳에서 "한 예에 따른" 또는 "한 예에서"라는 문구의 등장은, 반드시 모두 동일한 예를 지칭하는 것은 아니며, 반드시 다른 예를 서로 배제하는 별개의 또는 대안적인 예도 아니다.
청구항들에 나타나는 참조 번호들은 단지 예시를 위한 것이며, 청구항의 범위에 어떠한 제한적인 영향을 미쳐서는 안 된다.
명시적으로 설명되지는 않았지만, 본 예와 그 변형들은 임의의 조합 또는 하위-조합으로 채용될 수도 있다.
본 원리는 2개의 깊이 이미지로부터 포인트 클라우드의 지오메트리를 인코딩/디코딩하기 위해 설명되지만, 포인트 클라우드 시퀀스의 지오메트리가 깊이 이미지의 2개의 시퀀스(비디오)에 의해/부터 인코딩/디코딩되기 때문에, 포인트 클라우드 시퀀스(일시적으로 동적 포인트 클라우드)의 인코딩/디코딩으로 확장되며, 포인트 클라우드와 연관된 2개의 깊이 이미지는 시퀀스의 또 다른 포인트 클라우드의 2개의 깊이 이미지와는 독립적으로 인코딩된다.
이하에서, "이미지 영역"이라는 용어는 이미지의 한 세트의 픽셀을 나타낸다. 이들 픽셀들은 인접 픽셀들일 수도 있고 아닐 수도 있지만 이들 모두는 적어도 하나의 공통 속성을 공유한다.
예를 들어, 이미지 자체가 이미지 영역인 것으로 간주될 수 있다. 이미지는 또한, 복수의 블록으로 분할될 수 있고, 그러면, 블록은 이미지 영역이 된다.
이미지 영역은 직사각형이 아닌 형상을 가질 수도 있다. 이것은, 예를 들어, 동일한(또는 유사한) 추출된 피처를 갖는 이미지의 픽셀들이 연관되어 이미지 영역을 형성하는 경우이다.
이미지로부터 추출된 피처의 예로서는, 색상, 텍스처, 법선 벡터 등 ...이 포함된다.
도 1은 TMC2 포인트 클라우드 인코더의 개요를 보여준다. 최상단 행(지오메트리 압축)은 깊이 이미지를 통해 포인트 클라우드의 지오메트리 정보를 인코딩한다. 중간 행(메타데이터 압축)은 깊이 이미지로부터 원래의 포인트 클라우드의 지오메트리를 재구성하는데 요구되는 메타데이터를 인코딩한다. 최하단 행(텍스처 압축)은 색상(텍스처) 이미지를 통해 재구성된 지오메트리의 색상(텍스처) 정보를 인코딩한다.
도 2에 도시된 지오메트리 압축 부분에 대해 더 상세히 살펴보자. 먼저, 입력 포인트 클라우드(PC)는 접속된 컴포넌트(CC)로 분할되며, 여기서, 각각의 CC는 유사한 법선을 가진 이웃 3D 포인트 세트이다. 각각의 CC는 3개의 주요 평면 XY, XZ 또는 YZ 중 하나 상으로 투사되어, CC에서 3D 포인트의 평균 법선에 더 가까운 법선을 선택한다. 지오메트리 정보의 투사는, 투사 평면(깊이)까지의 각각의 3D 포인트의 거리를 투사 평면 상으로 투사하는 것으로 구성된다. 예를 들어, XY 평면에 투사된 CC의 3D 포인트 p = (x, y, z)는, 결과적으로 XY 평면의 (x, y) 픽셀 상으로 투사된 z 값이 된다. CC에서 3D 포인트의 분포에 따라, 하나보다 많은 값이 투사 평면의 동일한 좌표 상으로 투사될 수 있다. 사소한 접근법은 간단히 가장 가까운 포인트(즉, 가장 작은 깊이 값)에 대응하는 값을 유지하는 것이지만, 이것은 (옷의 주름 등의) 더 복잡한 3D 포인트 분포를 캡처하는 것을 허용하지 않을 수 있다. 도 2에 도시된 바와 같이, TMC2 테스트 모델은 투사 평면의 좌표 당 2개의 값: 최소 깊이(깊이0)와 최대 깊이(깊이1)를 유지한다. 이렇게 함으로써, 인코딩될 투사된 데이터의 양을 증가시키는 댓가로, 3D 공간에서 포인트 분포를 더 양호하게 캡처한다.
CC의 투사는 결과적으로 패치: 투사된 데이터의 2D 이미지를 생성한다. 값이 투사 평면의 각각의 좌표에 투사되는만큼 CC 당 패치가 많이 있다. TMC2에는, 2개의 깊이 패치가 있다(하나는 최소 깊이에 대한 것, 다른 하나는 최대 깊이에 대한 것). 최소 및 최대 깊이 값을 저장하는 패치는 이미지 데이터로서 인코딩된다. 따라서, TMC2에서는, 2개의 깊이 이미지가 요구된다: 하나는 최소 깊이 값을 나타내는 정보를 저장하기 위한 것이고, 다른 하나는 최대 깊이 값을 나타내는 정보를 저장하기 위한 것이다.
입력 포인트 클라우드 당 여러 깊이 이미지를 이용하는 것은, (1) 여전히, 포인트 클라우드의 지오메트리를 제대로 캡처하지 못할 수 있고, (2) 전체 비트레이트를 증가시켜 압축 효율을 감소시킨다.
도 3은 포인트 클라우드가 4개의 CC로 분할된 제1 예를 도시한다(포인트들은 상이한 그레이 레벨의 정사각형과 해시된 정사각형으로 표현됨). 우리는 해시된 정사각형으로 표현된 CC에 초점을 맞추고 있다. 이 CC의 포인트는 수직 "평면"(이 예에서는, 1D로 투사된 2D 포인트 클라우드) 상으로 투사되어, 결과적으로, 투사 평면의 일부 위치가 하나보다 많은 값(이 예에서는 0 내지 7)을 갖게 된다.
전술된 바와 같이, TMC2에서는, 하나의 투사 이미지의 각각의 픽셀에 대한 2개의 깊이 값이 저장된다. 상기 2개의 깊이 값은 투사된 포인트의 최소 및 최대 깊이 값에 대응하고, 임계값: "surfaceThickness"보다 작거나 같은 차이 값을 갖는다. 파라미터는 도 3의 예에서 4와 같다. 이 특정한 값은 TMC2 포인트 클라우드 비디오 코덱에 대해 우수한 레이트 왜곡 효율을 제공하지만, 여기서는 제한적 예로서 제공되는 것일 뿐이다.
이 제1 예에서는, CC의 몇개 포인트(해시된 정사각형)이 CC의 주 표면으로부터 분리된다. 최소 깊이 값과 최대 깊이 값 사이의 거리가 "surfaceThickness"보다 작기 때문에, 역투사 후 재구성된 CC(재구성된 패치)는 어떠한 누락된 포인트도 없이 완벽하다. 그러나, 최소 깊이 값을 저장한 패치는 CC의 주 외부 표면을 따르지 않고 도 3에 도시된 바와 같이 매우 노이즈가 많아진다. 이것은 신호에 고주파를 도입하여, 이 비균질 패치가 HEVC 인코딩을 더 어렵고 덜 효율적으로 만들 것이다. 이것은, 제1 깊이 이미지와 연관된 비트 레이트를 증가시키고 지오메트리 재구성의 정확도를 감소시킬 것이다.
게다가, 텍스처 이미지는 또한, 제1 깊이 이미지와 연관될 수 있다. 이 예에서는, CC의 주 표면 상의 균일한 색상(예를 들어, 값 240)과 주 표면으로부터 먼 포인트에 대해 상이한 색상(예를 들어, 값 16)을 고려해 보자. 포인트 클라우드에서 전형적인 이 색상 분포는, 고주파의 존재로 인해 노이즈가 많고 HEVC로 인코딩하기 어려운 최소 깊이 값과 연관된 텍스처 패치를 생성한다.
도 4는 포인트 클라우드가 4개의 CC로 분할된 제2 예를 도시한다(포인트들은 상이한 그레이 레벨의 정사각형과 해시된 정사각형으로 표현됨). 이 제2 예는 포인트 클라우드가 4개의 CC로 분할된 제1 예와 유사하다. 제1 예와의 차이점은, 최소 깊이 값과 최대 깊이 값 사이의 거리가 "surfaceThickness" 파라미터(점선 정사각형)보다 크다는 것이다. 따라서, 최대 깊이 값이 유지되지 않으므로 역투사 후 재구성된 CC의 품질이 좋지 않고 누락된 포인트가 많다. 대부분의 누락된 포인트가 주 3D 표면에 속한다는 사실은 재구성 문제(객관적인 메트릭 및 시각적 품질 양쪽 모두)를 악화시킨다. 제1 예에서와 같이, 패치는 균일하지 않고 노이즈가 매우 많다. 이것은 신호에 고주파를 도입하여, HEVC 인코딩을 더 어렵고 덜 효율적으로 만들 것이다. 이것은, 제1 깊이 이미지와 연관된 비트 레이트를 증가시키고 지오메트리 재구성의 정확도를 감소시킬 것이다.
게다가, 텍스처 이미지는 또한, 제1 깊이 이미지와 연관될 수 있다. 이 예에서는, CC의 주 표면 상의 균일한 색상(예를 들어, 값 240)과 주 표면으로부터 먼 포인트에 대해 상이한 색상(예를 들어, 값 16)을 고려해 보자. 포인트 클라우드에서 전형적인 이 색상 분포는, 고주파의 존재로 인해 노이즈가 매우 많고 HEVC로 인코딩하기 어려운 최소 깊이 값과 연관된 텍스처 패치를 생성한다.
적어도 하나의 실시예의 일반적인 양태에 따르면, 전형적으로는 투사 평면 상으로의 패치의 투사에 대응하는, 이미지 영역에 대해, 최소 깊이 또는 최대 깊이 값을 제1 깊이 이미지에 저장할지 및 최대 또는 최소 값을 나타내는 정보를 제2 깊이 이미지에 저장할지를 결정하는 방법이 제공된다.
포인트 클라우드 압축의 정황에서, TMC2 코덱은, 3개의 가능한 투사 방향 중에서 선택함으로써 각각의 접속된 컴포넌트의 투사를 최적화하려고 한다. 본 실시예 중 적어도 하나는, 각각의 투사 방향에 대해 2개의 상이한 투사 모드를 제공함으로써 각각의 접속된 컴포넌트의 투사를 더욱 최적화하는 것을 허용한다. 이것은, 접속된 컴포넌트의 특성에 맞게 투사를 더 양호하게 조정하는 것을 허용한다.
(최소 깊이 값을 항상 저장하는 것 대신에) 제1 깊이 이미지에 최소 또는 최대 깊이 값이 저장되는지를 결정하는 것은 HEVC 인코딩 성능을 향상시키므로, 전체 TMC2v0 코덱의 성능을 향상시킨다. 또한, 최대 깊이 값을 저장하는 것은, 누락된 포인트의 수를 감소시키고, 나머지 누락된 포인트는 주 3D 표면에 속할 가능성이 적어진다(도 7 참조). 이것은, 객관적인 품질 메트릭(지오메트리 및 텍스처 양쪽 모두)을 개선하고 재구성된 포인트 클라우드 비디오의 시각적 품질을 극적으로 향상시킨다.
도 5 및 도 6은 도 3 및 도 4의 제1 및 제2 예에 적용될 때 적어도 하나의 실시예에 따른 방법의 결과를 도시한다.
이들 예에서, 접속된 컴포넌트 CC의 투사는 (좌측의) D0으로 표기된 제1 깊이 이미지에 최소 깊이 값을 저장하거나 (우측의) 제1 깊이 이미지 D0에 최대 깊이 값을 저장한다.
도시된 바와 같이, 접속된 컴포넌트 CC의 경우, 제1 깊이 이미지 D0에 최대 깊이 값을 저장하기로 결정하면, 결과는 최소 깊이를 저장하는 것보다 분명히 더 균일하여, HEVC 인코딩의 성능을 향상시킬 것이다(고주파가 제거되었다).
도 7은 적어도 하나의 실시예에 따른 포인트 클라우드의 깊이 값을 인코딩하기 위한 방법의 단계들의 블록도를 도시한다.
단계 710에서, 모듈은, 투사 모드가 제1 깊이 이미지의 이미지 영역이 동일한 투사 방향을 따른 포인트 클라우드의 적어도 하나의 직교 투사된 3D 포인트의 최소 또는 최대 깊이 값을 저장하는지를 나타내는지를 결정한다.
단계 720에서, 모듈은 상기 깊이 최소 및 최대 깊이 값을 상기 투사 모드의 함수로서 인코딩한다.
단계 720의 한 실시예에 따르면, 모듈이 상기 투사 모드의 함수로서 상기 깊이 최소 및 최대 깊이 값을 인코딩하는 단계는, 투사 모드가 제1 값과 동일할 때 최소 깊이 값을 제1 이미지 데이터로서 인코딩하고 최대 깊이 값을 나타내는 정보를 제2 이미지 데이터로서 인코딩하는 단계, 및 투사 모드가 제2 값과 동일할 때 최대 깊이 값을 제1 이미지 데이터로서 인코딩하고 최소 깊이 값을 나타내는 정보를 제2 이미지 데이터로서 인코딩하는 단계를 포함한다.
한 실시예에 따르면, 최소 또는 최대 깊이 값을 나타내는 정보는 최대 깊이 값과 최소 깊이 값 사이의 절대 차이이다.
한 실시예에 따르면, 단계 730에서, 모듈은, 제1 및 아마도 제2 깊이 이미지의 상기 인코딩된 이미지 영역 및 상기 투사 모드를 전송한다.
단계 730의 한 실시예에 따르면, 상기 투사 모드는 상기 투사 모드가 변경될 수 있는지 여부를 나타내기 위해 포인트 클라우드 레벨에서 시그널링된다.
단계 730의 한 실시예에 따르면, 상기 투사 모드가 변하는 것으로서 포인트 클라우드 레벨에서 시그널링되면, 상기 투사 모드는 패치 레벨에서 시그널링된다.
따라서, 투사 모드가 패치 당 1 비트이더라도, 모든 패치에 대해 코딩하는 것은 그 값이 일정할 때(즉, 모든 패치에 대해 동일할 때) 최적이 아니다. 투사 모드가 변경되지 않거나 비트 전송률을 절감하지 않는지를 더 높은 레벨에서 시그널링한다.
TMC2에 적용될 때, 실시예 중 하나는 3D 포인트 (3D 공간으로부터)를 2D 이미지의 픽셀로 투사하는데 이용될 수 있다. 다시 말해서, 실시예 중 하나의 구현은 다음과 같이 접속된 컴포넌트(3D)를 패치(2D)로 투사할 수 있다:
접속된 컴포넌트 CC의 경우, 모듈은 투사 방향(X, Y 또는 Z 축)을 선택하고 선택된 투사 방향에 따라 이들 파라미터들 normalAxis, tangentAxis, bitangentAxis를 설정한다: normalAxis, 각각의 tangentAxis 및 bitangentAxis란, 패치의 법선, 각각 접선 및 양접선 축을 따른 재구성된 패치 포인트에 적용될 변위를 말한다.
단계 710에서, 투사 모드 ProjectionMode가 결정된다.
단계 720에서, 제1 깊이 이미지는 다음에 의해 초기화된다:
p.d0 = 무효
여기서, p.d0은 제1 깊이 이미지의 픽셀 p의 깊이 값을 의미하고 "무효"는 초기 값을 나타낸다.
그 다음, 현재 접속된 컴포넌트 CC의 각각의 포인트 p에 대해, 다음에 의해 현재 포인트 p에 관한 투사를 수행한다:
D1=dpdu_3d_shift_normal_axis[frmIdx][patchIndex]
U1=dpdu_3d_shift_tangent_axis[frmIdx][patchIndex ]
V1=dpdu_3d_shift_bitangent_axis[ frmIdx ][patchIndex]
여기서, dpdu_3d_shift_tangent_axis [frmIdx] [p]는 패치 프레임 frmIdx에서 인덱스 p를 갖는 패치의 접선 축을 따른 재구성된 패치 포인트에 적용될 변위와 패치 프레임 RefIdx에서 인덱스 PredIdx를 갖는 패치의 접선 축을 따른 재구성된 패치 포인트에 적용될 변위 사이의 차이를 명시한다. dpdu_3d_shift_tangent_axis [frmIdx] [p]의 값은, (2gps_geometry_3d_coordinates_bitdepth_minus1+1 + 1) 내지 (2gps_geometry_3d_coordinates_bitdepth_minus1+1 - 1)(양 끝값 포함)의 범위 내에 있어야 하고, dpdu_3d_shift_bitangent_axis[ frmIdx ][ p ]는, 패치 프레임 frmIdx에서 인덱스 p를 갖는 패치의 양접선 축을 따른 재구성된 패치 포인트에 적용될 변위와, 패치 프레임 RefIdx에서 인덱스 PredIdx를 갖는 패치의 양접선 축을 따른 재구성된 패치 포인트에 적용될 변위 사이의 차이를 명시한다. dpdu_3d_shift_bitangent_axis [frmIdx] [p]의 값은, (2gps_geometry_3d_coordinates_bitdepth_minus1+1 + 1) 내지 (2gps_geometry_3d_coordinates_bitdepth_minus1+1 - 1)(양 끝값 포함)의 범위 내에 있어야 하고, dpdu_3d_shift_normal_axis[ frmIdx ][ p ]는, 패치 프레임 frmIdx에서 인덱스 p를 갖는 패치의 법선 축을 따른 재구성된 패치 포인트에 적용될 변위와, 패치 프레임 RefIdx에서 인덱스 PredIdx를 갖는 패치의 법선 축을 따른 재구성된 패치 포인트에 적용될 변위 사이의 차이를 명시한다. dpdu_3d_shift_normal_axis [frmIdx] [p]의 값은, (2gps_geometry_3d_coordinates_bitdepth_minus1+1 + 1) 내지 (2gps_geometry_3d_coordinates_bitdepth_minus1+1 - 1) 범위에 있어야 한다.
단계 720의 실시예에 따르면, 투사 모드 ProjectionMode == 0(제1 값)이면, 현재 포인트 p의 최소 깊이 값을 제1 깊이 이미지에 저장한다:
p.d0[u,v] = min( d, p.d0[u,v])
그 다음, 투사 모드 ProjectionMode == 1(제2 값)이면, 제1 깊이 이미지에 현재 포인트 p의 최대 깊이 값을 저장한다.
p.d0[u,v] = max(d, p.d0[u,v])
그 다음, 제2 깊이 이미지가 초기화된다.
p.d1 = p.d0
여기서, p.d1은 제2 깊이 이미지의 픽셀 p의 깊이 값을 의미한다.
그 다음, 현재 접속된 컴포넌트 CC의 각각의 포인트 p에 대해, 다음에 의해 현재 포인트 p에 관한 투사를 수행한다:
d = point[p.normalAxis]-p.D1
u = point[p.tangentAxis] - p.U1
v = point[p.bitangentAxis] - p.V1
투사 모드 ProjectionMode == 0(제1 값)이고 현재 픽셀이 유효하고, (((d-p.d0[u,v]) <= surfaceThickness) 및 (d>p.d1[u,v]))이면,
p.d1[u,v] = d
투사 모드 ProjectionMode == 1(제2 값)이고 현재 픽셀이 유효하고, (((p.d0[u,v]-d) <= surfaceThickness) 및 (d<p.d1[u,v]))이면,
p.d1[u,v]=d
적어도 하나의 실시예의 상기 구현의 결과는 2개의 깊이 이미지를 생성할 수 있다.
TMC2에서는, 제1 깊이 이미지에서의 깊이 값이 직접 인코딩된다. 그러나, 제2 깊이 이미지에서의 깊이 값은 델타 w.r.t. D0으로서 인코딩될 수 있다: delta_depth = d1 - d0.
적어도 하나의 실시예에 따르면, 제2 깊이 이미지(d1)에서의 깊이 값을 인코딩하는데 이용되는 delta_depth는 다음과 같이 계산될 수 있다
delta_depth = abs(d1 - d0)
여기서 'abs'는 절대 값을 나타낸다.
도 8은, 적어도 하나의 실시예에 따른 포인트 클라우드의 적어도 하나의 3D 포인트의 깊이 값을 디코딩하기 위한 방법의 단계들의 블록도를 도시한다.
단계 810에서, 모듈은, 제1 깊이 이미지의 이미지 영역이 동일한 투사 방향을 따른 포인트 클라우드의 적어도 하나의 직교 투사된 3D 포인트의 최소 또는 최대 깊이 값을 저장하는지를 나타내는 투사 모드를 획득한다.
최소 및 최대 깊이 값은 투사 평면으로부터 결정된다. 따라서, 제1 투사 평면과 제2 투사 평면이 평행할 때, 제1 투사 평면으로부터 결정된 각각의 최소, 최대 깊이 값은 제2 투사 평면으로부터 결정된, 각각의 최대, 최소 깊이 값과 동일하다. 즉, 최소 및 최대 깊이 값이라는 용어는 투사 평면으로부터 정의되는 상대적인 용어이다.
단계 820에서, 모듈은 상기 깊이 최소 및 최대 깊이 값을 상기 투사 모드의 함수로서 디코딩한다.
단계 820의 한 실시예에 따르면, 모듈이 상기 투사 모드의 함수로서 상기 깊이 최소 및 최대 깊이 값을 디코딩하는 단계는, 투사 모드가 제1 값과 동일할 때 최소 깊이 값을 제1 이미지 데이터로서 디코딩하고 최대 깊이 값을 나타내는 정보를 제2 이미지 데이터로서 디코딩하는 단계, 및 투사 모드가 제2 값과 동일할 때 최대 깊이 값을 제1 이미지 데이터로서 디코딩하고 최소 깊이 값을 나타내는 정보를 제2 이미지 데이터로서 디코딩하는 단계를 포함한다.
한 실시예에 따르면, 최소 또는 최대 깊이 값을 나타내는 정보는 최대 깊이 값과 최소 깊이 값 사이의 절대 차이이다.
한 실시예에 따르면, 단계 830에서, 모듈은 비트스트림으로부터 상기 투사 모드를 도출한다.
TMC2에 적용될 때, 실시예 중 하나는, 적어도 하나의 투사 모드를 고려하여 (상기 적어도 하나의 3D 포인트의 지오메트리를 재구성하기 위해) 제1 및 제2 깊이 이미지로부터 적어도 하나의 3D 포인트의 깊이 값을 도출하는데 이용될 수 있다. 다시 말해서, 실시예 중 하나의 구현은 다음과 같이 패치 p에 대응하는 접속된 컴포넌트를 재구성할 수 있다:
패치 p의 각각의 픽셀(u, v)에 대해, d0(u, v)가 제1 깊이 이미지 내의 픽셀이면, 모듈은 다음과 같이 제1 깊이 이미지로부터 3D 포인트 P0을 계산한다:
P0[p.normalAxis] = p.D1 + d0(x,y)
P0[p.tangentAxis] = p.U1 + u
P0[p.bitangentAxis] = p.V1 + v
그 다음, 모듈은 제1 및 제2 깊이 이미지로부터 3D 포인트 P1을 계산한다:
sign = p.ProjectionMode == 0 ? 1: -1;
d1=d0(x,y)+sign*min(max(0,delta_depth(x,y)), surfaceThickness)
P1[p.normalAxis] = p.D1 + d1
P1[p.tangentAxis] = p.U1 + u
P1[p.bitangentAxis]= p.V1 + v
여기서, p.ProjectionMode는 패치와 연관된 투사 모드를 나타낸다.
단계 730 및 830의 한 실시예에 따르면, 역투사를 수행하기 위하여 접속된 컴포넌트를 투사/재구성하는데 이용되는 투사 모드(ProjectionMode 파라미터)는 (다른 파라미터와 함께) 알려질 수 있다. 포인트 클라우드 압축의 정황에서, 이것은, 투사 모드가 인코더와 디코더에게 미리 알려지거나 인코더로부터 디코더로 비트스트림에서 전송될 수 있다는 것을 의미한다.
단계 730 및 830의 한 실시예에 따르면, 그 신택스가 표 1에 주어져 있는 신택스 요소 ReadPatchMetadata() 함수의 신택스에 따라 패치 레벨에서 투사 모드가 시그널링된다.
Figure pct00001
Figure pct00002
Figure pct00003
표 1
단계 730 및 830의 한 실시예에 따르면, 상기 투사 모드가 변하는 것으로서 포인트 클라우드 레벨에서 시그널링되면, 상기 투사 모드는 패치 레벨에서 시그널링된다.
예를 들어, 제1 신택스 요소 ProjectionModeGlobal이 시그널링된다. 일단 포인트 클라우드마다 한 번 정의되는 상기 제1 신택스 요소는, (패치 당) 투사 모드가, '가변적'(0)인지, '항상 최소'(1)인지, 또는 '항상 최대'(2)인지를 나타낸다. 제1 신택스 요소가 투사가 가변적임을 나타낼 때, 패치별로 정의된, 제2 신택스 요소 ProjectionMode도 역시 시그널링된다.
예를 들어, 제1 신택스 요소는, TMC2에서 ReadOccupancyMap이라고 알려진 포인트 클라우드 메타데이터에 추가된다. 고정-길이 2진 값 대신에 ProjectionModeGlobal에 대해 엔트로피 코딩이 선택사항으로서 이용할 수 있다.
제1 신택스 요소 ReadOccupancyMap() 함수의 한 가능한 신택스가 표 2에 주어져 있다.
Figure pct00004
표 2
제2 신택스 요소 ReadPatchMetadata() 함수의 신택스는 표 3에 주어져 있다.
Figure pct00005
표 3
단계 710의 실시예에 따르면, 제1 깊이 이미지의 이미지 영역이 동일한 투사 방향을 따른 포인트 클라우드의 적어도 하나의 직교 투사된 3D 포인트의 최소 또는 최대 깊이 값을 저장하는지를 나타내는 투사 모드는 다음과 같이 결정된다:
- 상기 적어도 하나의 3D 포인트를 3개의 주 평면 XY, XZ 및 YZ를 향해 투사하고, 각각의 3D 포인트로부터 투사 평면까지의 거리(즉, 깊이)를 투사한다. 투사는 각각 3D 공간의 Z, Y 및 Z 축을 따라 무한 또는 마이너스 무한을 향한다. 투사의 결과는 [bbox_x_size, bbox_y_size] 크기를 갖는 6개의 상이한 2D 평면에 저장된다. 3개의 어레이는, XY, XZ 및 YZ 평면에 대한 최소 깊이 값을 저장하고, 다른 3개는, XY, XZ 및 YZ 계획에 대한 최대 깊이 값을 저장한다:
1) box_min_depth_array[x][bbox_x_size, bbox_y_size];
2) box_min_depth_array[y][bbox_x_size, bbox_y_size];
3) box_min_depth_array[z][bbox_x_size, bbox_y_size];
및 최대 깊이 값을 저장하기 위한 3개의 다음과 같은 2D 평면:
4) box_max_depth_array[x][bbox_x_size, bbox_y_size];
5) box_max_depth_array[y][bbox_x_size, bbox_y_size];
6) box_max_depth_array[z][bbox_x_size, bbox_y_size];
-현재 패치에 할당된 "normalAxis" 방향을 따라 상기 적어도 하나의 3D 포인트를 투사함으로써 D0(최소 또는 최대)에 저장된 최상의 깊이를 선택한다. 그 다음, 현재 깊이 값이 box_min_depth_array[normalAxis] 및 box_max_depth_array[normalAxis]에서 각각 저장된 최소 깊이 값 또는 최대 깊이 값과 같은지를 체크한다. 하나의 카운터, cptMinDepth 또는 cptMaxDepth는, 현재 깊이 값에 따라 증가된다: 현재 깊이가 box_min_depth_array에 위치해 있다면 cptMinDepth가 증가된다; 현재 깊이가 box_max_depth_array에 위치해 있다면, cptMaxDepth가 증가된다.
D0에 최소 또는 최대 깊이 값을 저장하기로 결정하는 것은, cptMinDepth와 cptMaxDepth를 비교하여 취해진다. cptMinDepth가 cptMaxDepth보다 크다면, 상기 적어도 하나의 3D 포인트의 최소 깊이 값은 제1 깊이 이미지(D0)에 저장되고, 그렇지 않으면 그 반대이다(상기 적어도 하나의 3D 포인트의 최대 깊이 값이 저장된다).
단계 710의 한 실시예에 따르면, 제1 깊이 이미지의 이미지 영역이 동일한 투사 방향을 따른 포인트 클라우드의 적어도 하나의 직교 투사된 3D 포인트의 최소 또는 최대 깊이 값을 저장하는지를 나타내는 투사 모드는, 최소 깊이 값과 최대 깊이 값을 이용하여 제1 깊이 이미지의 이미지 영역의 에너지를 계산하고 에너지를 최소화하는 버전을 선택함으로써 결정된다.
분산 또는 기울기 등의 상기 이미지 영역의 에너지를 계산하기 위해 상이한 기준이 이용될 수 있다.
단계 710의 한 실시예에 따르면, 제1 깊이 이미지의 이미지 영역이 동일한 투사 방향을 따른 포인트 클라우드의 적어도 하나의 직교 투사된 3D 포인트의 최소 또는 최대 깊이 값을 저장하는지를 나타내는 투사 모드는 누락된 포인트의 수를 최소화함으로써 결정된다.
예를 들어, 상기 적어도 하나의 3D 포인트는 투사되고 투사 모드가 (제1 깊이 이미지 D0에 최소 깊이 값을 저장하는) 제1 값과 동일할 때 역투사되고, 상기 적어도 하나의 3D 포인트는 투사되고 투사 모드가 (제1 깊이 이미지 D0에 최대 깊이 값을 저장하는) 제2 값과 동일할 때 역투사되며, 재구성된 3D 포인트(역투사됨)를 "원래의" 3D 포인트와 비교하고, 누락된 포인트의 수를 카운트하며, 투사 모드가 (제1 깊이 이미지 D0에 최대 깊이 값을 저장하는) 제2 값과 동일할 때 프로세스를 반복하고, 누락된 포인트의 수를 최소화하는 투사 모드를 선택한다.
한 변형에 따르면, 단계 710의 2개의 이전 실시예가 결합되어 제1 깊이 이미지의 에너지 및 누락된 포인트의 수를 최소화하는 투사 모드를 결정한다.
도 1 내지 도 9에서, 모듈은 기능 유닛으로서, 구별가능한 물리적 유닛과 관련이 있을 수도 있고 그렇지 않을 수도 있다. 예를 들어, 이들 모듈 또는 이들 중 일부는 고유한 컴포넌트 또는 회로에서 함께 통합되거나 소프트웨어 기능에 기여할 수 있다. 반대로, 일부 모듈은 잠재적으로 별개의 물리적 엔티티로 구성될 수 있다. 본 원리와 호환되는 장치는 순수 하드웨어를 이용하여, 예를 들어 각각 ≪Application Specific Integrated Circuit≫, ≪Field-Programmable Gate Array≫, ≪Very Large Scale Integration≫을 의미하는 ASIC 또는 FPGA 또는 VLSI 등의 전용 하드웨어를 이용하여, 또는 디바이스에 임베딩된 여러 집적된 전자 컴포넌트로, 또는 하드웨어와 소프트웨어 컴포넌트의 혼합으로 구현된다.
도 9는 도 1 내지 도 8과 관련하여 설명된 방법을 구현하도록 구성될 수 있는 디바이스(90)의 예시적인 아키텍처를 나타낸다.
디바이스(90)는 데이터 및 주소 버스(91)에 의해 함께 링크되는 다음과 같은 요소들을 포함한다:
- 예를 들어 DSP(또는 디지털 신호 프로세서)인 마이크로프로세서(92)(또는 CPU);
- ROM(또는 판독 전용 메모리)(93);
- RAM(또는 랜덤 액세스 메모리)(94);
- 애플리케이션으로부터의, 전송할 데이터의 수신을 위한 I/O 인터페이스(95); 및
- 배터리(96).
한 예에 따르면, 배터리(96)는 디바이스 외부에 있다. 언급된 각각의 메모리에서, 본 명세서에서 사용된 ≪레지스터(register)≫라는 용어는, 작은 용량의 영역(일부 비트) 또는 매우 큰 영역(예를 들어, 전체 프로그램 또는 많은 양의 수신되거나 디코딩된 데이터)에 대응할 수 있다. ROM(93)은 적어도 하나의 프로그램 및 파라미터를 포함한다. ROM(93)은 본 원리에 따른 기술을 수행하기 위한 알고리즘 및 명령어를 저장할 수 있다. 스위치 온될 때, CPU(92)는 프로그램을 RAM에 업로드하고 대응하는 명령어를 실행한다.
RAM(94)은, 레지스터에서, CPU(92)에 의해 실행되고 디바이스(90)의 스위치 온 후에 업로드되는 프로그램, 레지스터에서 입력 데이터, 레지스터에서 방법의 상이한 상태들의 중간 데이터, 및 레지스터에서 방법의 실행에 이용되는 기타의 변수를 포함한다.
여기서 설명된 구현들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. 단일 형태의 구현의 맥락에서만 논의되었지만(예를 들어, 방법 또는 디바이스로서만 논의되었지만), 논의된 피처들의 구현은 다른 형태(예를 들어, 프로그램)로도 구현될 수 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수도 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그램가능한 로직 디바이스를 포함한, 일반적으로 처리 디바이스를 지칭하는, 예를 들어 프로세서 등의 장치로 구현될 수 있다. 프로세서들은 또한, 예를 들어, 컴퓨터들, 셀 전화기들, PDA(portable/personal digital assistant)들, 및 엔드 유저들간 정보의 통신을 용이화하는 기타의 디바이스들 등의, 통신 디바이스들을 포함한다.
인코딩 또는 인코더의 한 예에 따르면, 포인트 클라우드 PC가 소스로부터 획득된다. 예를 들어, 소스는 다음을 포함하는 세트에 속한다:
- 로컬 메모리(93 또는 94), 예를 들어, 비디오 메모리 또는 RAM(또는 랜덤 액세스 메모리), 플래시 메모리, ROM(또는 읽기 전용 메모리), 하드 디스크;
- 스토리지 인터페이스(95), 예를 들어, 대용량 스토리지, RAM, 플래시 메모리, ROM, 광 디스크 또는 자기 디스크 지원을 갖춘 인터페이스;
- 통신 인터페이스(95), 예를 들어, 유선 인터페이스(예를 들어, 버스 인터페이스, 광역 네트워크 인터페이스, 근거리 통신망 인터페이스) 또는 (IEEE 802.11 인터페이스 또는 Bluetooth® 인터페이스 등의) 무선 인터페이스; 및
- 사진 캡처 회로(예컨대, 예를 들어, CCD(즉, Charge-Coupled Device) 또는 CMOS(즉, Complementary Metal-Oxide-Semiconductor) 등의 센서).
디코딩 또는 디코더의 한 예에 따르면, 디코딩된 제1 및/또는 제2 깊이 이미지 또는 재구성된 포인트 클라우드가 목적지에 전송된다; 구체적으로, 목적지는 다음을 포함하는 세트에 속한다:
- 로컬 메모리(93 또는 94), 예를 들어, 비디오 메모리 또는 RAM, 플래시 메모리, 하드 디스크;
- 스토리지 인터페이스(95), 예를 들어, 대용량 스토리지, RAM, 플래시 메모리, ROM, 광 디스크 또는 자기 디스크 지원을 갖춘 인터페이스;
- 통신 인터페이스(95), 예를 들어, 유선 인터페이스(예를 들어, 버스 인터페이스(예를 들어, USB(즉, Universal Serial Bus)), 광역 네트워크 인터페이스, 근거리 통신망 인터페이스, HDMI(High Definition Multimedia Interface) 인터페이스) 또는 (IEEE 802.11 인터페이스, WiFi® 또는 Bluetooth® 인터페이스 등의) 무선 인터페이스; 및
- 디스플레이.
인코딩 또는 인코더의 예에 따르면, 비트스트림 B가 목적지에 전송된다. 예를 들어, 비트스트림 B는, 로컬 또는 원격 메모리, 예를 들어, 비디오 메모리(94) 또는 RAM(94), 하드 디스크(93)에 저장된다. 한 변형에서, 하나 또는 양쪽 모두의 비트스트림이 스토리지 인터페이스(95)에, 예를 들어, 대용량 스토리지, 플래시 메모리, ROM, 광학 디스크 또는 자기 지원을 갖춘 인터페이스에 전송되거나 및/또는 통신 인터페이스(95), 예를 들어 포인트 대 포인트 링크, 통신 버스, 포인트 대 다중 포인트 링크 또는 브로드캐스트 네트워크에 대한 인터페이스를 통해 전송된다.
디코딩 또는 디코더의 예에 따르면, 비트스트림 B가 소스로부터 획득된다. 예시적으로, 비트스트림은, 로컬 메모리로부터, 예를 들어, 비디오 메모리(94), RAM(94), ROM(93), 플래시 메모리(93) 또는 하드 디스크(93)로부터 판독된다. 한 변형에서, 비트스트림은, 스토리지 인터페이스(95)로부터, 예를 들어, 대용량 스토리지, RAM, ROM, 플래시 메모리, 광 디스크 또는 자기 지원을 갖춘 인터페이스로부터 수신되거나, 및/또는 통신 인터페이스(95)로부터, 예를 들어, 포인트 대 포인트 링크, 버스, 포인트 대 다중 포인트 링크 또는 브로드캐스트 네트워크에 대한 인터페이스로부터 수신된다.
예에 따르면, 도 1 내지 도 24와 관련하여 설명된 방법을 구현하도록 구성된 디바이스(90)는 다음을 포함하는 세트에 속한다:
- 모바일 디바이스;
- 통신 디바이스;
- 게임 디바이스;
- 태블릿(또는 태블릿 컴퓨터);
- 랩탑;
- 스틸 사진 카메라;
- 비디오 카메라;
- 인코딩 칩;
- 스틸 사진 서버; 및
- 비디오 서버(예를 들어, 브로드캐스트 서버, 주문형 비디오 서버 또는 웹 서버).
예에 따르면, 도 1 내지 도 24와 관련하여 설명된 방법을 구현하도록 구성된 디바이스(90)는 다음을 포함하는 세트에 속한다:
- 모바일 디바이스;
- 통신 디바이스;
- 게임 디바이스;
- 셋탑 박스;
- TV 세트;
- 태블릿(또는 태블릿 컴퓨터);
- 랩탑;
- 디스플레이; 및
- 디코딩 칩.
도 10에 나타낸 본 원리의 한 예에 따르면, 통신 네트워크 NET을 통한 2개의 원격 디바이스 A와 B 사이의 전송 정황에서, 디바이스 A는 도 1 내지 도 8과 관련하여 설명된 포인트 클라우드의 지오메트리를 인코딩하기 위한 방법을 구현하도록 구성된 메모리 RAM 및 ROM과 관련된 프로세서를 포함하고, 디바이스 B는 도 1 내지 도 8과 관련하여 설명된 포인트 클라우드를 디코딩하기 위한 방법을 구현하도록 구성된 메모리 RAM 및 ROM과 관련된 프로세서를 포함한다.
여기서 설명된 다양한 프로세스 및 피처의 구현은 다양한 상이한 장비 또는 애플리케이션으로 구현될 수 있다. 이러한 장비의 예는, 인코더, 디코더, 디코더로부터의 출력을 처리하는 포스트 프로세서, 인코더에 입력을 제공하는 프리 프로세서, 비디오 코더, 비디오 디코더, 비디오 코덱, 웹 서버, 셋탑 박스, 랩탑, 개인용 컴퓨터, 셀 전화, PDA, 및 사진 또는 비디오를 처리하기 위한 기타 임의의 디바이스 또는 기타의 통신 디바이스를 포함한다. 명백한 바와 같이, 장비는 이동형이거나 이동 차량에 설치될 수도 있다.
추가적으로, 방법은, 프로세서에 의해 수행되는 명령어에 의해 구현될 수 있고, 이러한 명령어(및/또는 구현에 의해 생성된 데이터 값)는 컴퓨터 판독가능한 저장 매체에 저장될 수 있다. 컴퓨터 판독가능한 저장 매체는, 하나 이상의 컴퓨터판독가능한 매체(들)로 구현되고 컴퓨터에 의해 실행가능한 컴퓨터 판독가능한 프로그램 코드가 구현되어 있는 컴퓨터판독가능한 프로그램 제품의 형태를 취할 수 있다. 본 명세서에서 이용되는 컴퓨터판독가능한 저장 매체는, 내부에 정보를 저장하는 고유 능력뿐만 아니라 정보 회수를 제공하는 고유 능력을 고려하여 비일시적인 저장 매체로서 간주된다. 컴퓨터 판독가능한 저장 매체는, 예를 들어, 전자적, 자기적, 광학적, 전자기적, 적외선, 또는 반도체 시스템, 장치, 또는 디바이스, 또는 이들의 임의의 적절한 조합일 수 있지만, 이것으로 제한되는 것은 아니다. 이하에서는, 본 원리가 적용될 수 있는 컴퓨터 판독가능한 저장 매체의 더 구체적인 예를 제공하지만, 본 기술분야의 통상의 기술자라면 용이하게 이해하는 바와 같이, 이들은 단지 예시적인 것이고 빠짐없는 철저한 목록은 아님을 이해해야 한다: 휴대형 컴퓨터 디스켓; 하드 디스크; 판독 전용 메모리(ROM); 소거가능하고 프로그램가능한 판독 전용 메모리(EPROM 또는 플래시 메모리); 휴대형 컴팩트 디스크 판독 전용 메모리(CD-ROM); 광 저장 디바이스; 자기 저장 디바이스; 또는 이들의 임의의 적절한 조합.
명령어는 프로세서-판독가능한 매체에 유형적으로 구현된 애플리케이션 프로그램을 형성할 수 있다.
명령어는, 예를 들어, 하드웨어, 펌웨어, 소프트웨어 또는 조합일 수 있다. 명령어는, 예를 들어, 운영 체제, 별개의 애플리케이션, 또는 이들 둘의 조합에서 찾을 수 있다. 따라서, 프로세서는, 예를 들어 프로세스를 실행하도록 구성된 디바이스 및 프로세스를 실행하기 위한 명령어를 갖는 (저장 디바이스 등의) 프로세서-판독가능한 매체를 포함하는 디바이스 양쪽 모두로서 특징규정될 수 있다. 또한, 프로세서-판독가능한 매체는, 명령어에 추가하여 또는 명령어 대신에, 구현에 의해 생성된 데이터 값을 저장할 수 있다.
본 기술분야의 통상의 기술자에게 명백한 바와 같이, 구현은, 예를 들어, 저장되거나 전송될 수 있는 정보를 운반하도록 포맷된 다양한 신호를 생성할 수 있다. 이 정보는, 예를 들어, 방법을 수행하기 위한 명령어들, 또는 설명된 구현들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 본 원리의 설명된 예의 신택스를 기입하거나 판독하기 위한 규칙을 데이터로서 운반하거나, 본 원리의 설명된 예에 의해 기입된 실제 신택스 값을 데이터로서 운반하도록 포맷팅될 수 있다. 이러한 신호는, 예를 들어 전자기파(예를 들어, 스펙트럼의 무선 주파수 부분을 이용) 또는 기저대역 신호로서 포맷될 수 있다. 포맷팅은, 예를 들어, 데이터 스트림을 인코딩하고 캐리어를 인코딩된 데이터 스트림으로 변조하는 것을 포함할 수 있다. 신호가 운반하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는, 공지된 바와 같이, 다양한 상이한 유선 또는 무선 링크들을 통해 전송될 수 있다. 신호는 프로세서-판독가능한 매체에 저장될 수 있다.
다수의 구현이 설명되었다. 그럼에도 불구하고, 다양한 수정이 이루어질 수 있다는 점을 이해할 것이다. 예를 들어, 상이한 구현들의 요소들이 결합, 보완, 수정 또는 제거되어 다른 구현을 생성할 수 있다. 추가적으로, 통상의 기술자라면, 다른 구조 및 프로세스가 개시된 것들을 대체할 수 있고, 결과적인 구현은 적어도 실질적으로 동일한 기능(들)을 적어도 실질적으로 동일한 방식(들)으로 수행하여, 개시된 구현과 적어도 실질적으로 동일한 결과(들)를 달성할 것임을 이해할 것이다. 따라서, 이들 및 다른 구현들은 본 출원에 의해 고려된다.

Claims (23)

  1. 방법으로서,
    - 제1 깊이 이미지의 이미지 영역과 연관된 투사 모드를 인코딩하는 단계 ― 상기 투사 모드는 상기 이미지 영역이 동일한 투사 방향을 따른 포인트 클라우드의 적어도 하나의 직교 투사된 3D 포인트의 최소 또는 최대 깊이 값을 저장하는지를 나타냄 ―; 및
    - 상기 깊이 최소 및 최대 깊이 값들을 상기 투사 모드의 함수로서 인코딩하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 깊이 최소 및 최대 깊이 값들을 상기 투사 모드의 함수로서 인코딩하는 단계는, 상기 투사 모드가 제1 값과 동일할 때 상기 최소 깊이 값들을 제1 이미지 데이터로서 인코딩하고 상기 최대 깊이 값들을 나타내는 정보를 제2 이미지 데이터로서 인코딩하는 단계, 및 상기 투사 모드가 제2 값과 동일할 때 상기 최대 깊이 값들을 제1 이미지 데이터로서 인코딩하고 상기 최소 깊이 값들을 나타내는 정보를 제2 이미지 데이터로서 인코딩하는 단계를 포함하는, 방법.
  3. 제2항에 있어서, 상기 최소 또는 최대 깊이 값들을 나타내는 정보는 상기 최대 깊이 값들과 상기 최소 깊이 값들 사이의 절대 차이인, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 인코딩된 이미지 영역을 전송하고 상기 투사 모드를 시그널링하는 단계를 더 포함하는, 방법.
  5. 제4항에 있어서, 상기 투사 모드는 상기 투사 모드가 변할 수 있는지의 여부를 나타내기 위해 상기 포인트 클라우드 레벨에서 시그널링되는, 방법.
  6. 제4항 또는 제5항에 있어서, 상기 투사 모드가 변하는 것으로서 상기 포인트 클라우드 레벨에서 시그널링된다면, 상기 투사 모드는 패치 레벨에서 시그널링되는, 방법.
  7. 방법으로서,
    - 제1 깊이 이미지의 이미지 영역이 동일한 투사 방향을 따른 포인트 클라우드의 적어도 하나의 직교 투사된 3D 포인트의 최소 또는 최대 깊이 값을 저장하는지를 나타내는 투사 모드를 획득하는 단계; 및
    - 상기 깊이 최소 및 최대 깊이 값들을 상기 투사 모드의 함수로서 디코딩하는 단계
    를 포함하는, 방법.
  8. 제7항에 있어서, 상기 깊이 최소 및 최대 깊이 값들을 상기 투사 모드의 함수로서 디코딩하는 단계는, 상기 투사 모드가 제1 값과 동일할 때 상기 최소 깊이 값들을 제1 이미지 데이터로서 디코딩하고 상기 최대 깊이 값들을 나타내는 정보를 제2 이미지 데이터로서 디코딩하는 단계, 및 상기 투사 모드가 제2 값과 동일할 때 상기 최대 깊이 값들을 제1 이미지 데이터로서 디코딩하고 상기 최소 깊이 값들을 나타내는 정보를 제2 이미지 데이터로서 디코딩하는 단계를 포함하는, 방법.
  9. 제8항에 있어서, 상기 최소 또는 최대 깊이 값들을 나타내는 정보는 상기 최대 깊이 값들과 상기 최소 깊이 값들 사이의 절대 차이인, 방법.
  10. 제7항 내지 제9항 중 어느 한 항에 있어서, 상기 투사 모드는 비트스트림으로부터인, 방법.
  11. 적어도 하나의 프로세서를 포함하는 디바이스로서, 상기 적어도 하나의 프로세서는:
    - 제1 깊이 이미지의 이미지 영역과 연관된 투사 모드를 인코딩하고 ― 상기 투사 모드는 상기 이미지 영역이 동일한 투사 방향을 따른 포인트 클라우드의 적어도 하나의 직교 투사된 3D 포인트의 최소 또는 최대 깊이 값을 저장하는지를 나타냄 ―;
    - 상기 깊이 최소 및 최대 깊이 값들을 상기 투사 모드의 함수로서 인코딩
    하도록
    구성되는, 디바이스.
  12. 제11항에 있어서, 상기 깊이 최소 및 최대 깊이 값들을 상기 투사 모드의 함수로서 인코딩하는 것은, 상기 투사 모드가 제1 값과 동일할 때 상기 최소 깊이 값들을 제1 이미지 데이터로서 인코딩하고 상기 최대 깊이 값들을 나타내는 정보를 제2 이미지 데이터로서 인코딩하는 것, 및 상기 투사 모드가 제2 값과 동일할 때 상기 최대 깊이 값들을 제1 이미지 데이터로서 인코딩하고 상기 최소 깊이 값들을 나타내는 정보를 제2 이미지 데이터로서 인코딩하는 것을 포함하는, 디바이스.
  13. 제12항에 있어서, 상기 최소 또는 최대 깊이 값들을 나타내는 정보는 상기 최대 깊이 값들과 상기 최소 깊이 값들 사이의 절대 차이인, 디바이스.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서, 상기 적어도 하나의 프로세서는 상기 인코딩된 이미지 영역을 전송하고 상기 투사 모드를 시그널링하도록 추가로 구성되는, 디바이스.
  15. 제14항에 있어서, 상기 투사 모드는 상기 투사 모드가 변할 수 있는지의 여부를 나타내기 위해 상기 포인트 클라우드 레벨에서 시그널링되는, 디바이스.
  16. 제14항 또는 제15항에 있어서, 상기 투사 모드가 변하는 것으로서 상기 포인트 클라우드 레벨에서 시그널링되면, 상기 투사 모드는 패치 레벨에서 시그널링되는, 디바이스.
  17. 적어도 하나의 프로세서를 포함하는 디바이스로서, 상기 적어도 하나의 프로세서는:
    - 제1 깊이 이미지의 이미지 영역이 동일한 투사 방향을 따른 포인트 클라우드의 적어도 하나의 직교 투사된 3D 포인트의 최소 또는 최대 깊이 값을 저장하는지를 나타내는 투사 모드를 획득하고;
    - 상기 깊이 최소 및 최대 깊이 값들을 상기 투사 모드의 함수로서 디코딩
    하도록
    구성되는, 디바이스.
  18. 제17항에 있어서, 상기 깊이 최소 및 최대 깊이 값들을 상기 투사 모드의 함수로서 디코딩하는 것은, 상기 투사 모드가 제1 값과 동일할 때 상기 최소 깊이 값들을 제1 이미지 데이터로서 디코딩하고 상기 최대 깊이 값들을 나타내는 정보를 제2 이미지 데이터로서 디코딩하는 것, 및 상기 투사 모드가 제2 값과 동일할 때 상기 최대 깊이 값들을 제1 이미지 데이터로서 디코딩하고 상기 최소 깊이 값들을 나타내는 정보를 제2 이미지 데이터로서 디코딩하는 것을 포함하는, 디바이스.
  19. 제18항에 있어서, 상기 최소 또는 최대 깊이 값들을 나타내는 정보는 상기 최대 깊이 값들과 상기 최소 깊이 값들 사이의 절대 차이인, 디바이스.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서, 상기 투사 모드는 비트스트림으로부터인, 디바이스.
  21. 명령어들을 포함하는 컴퓨터 프로그램 제품으로서, 상기 명령어들은 상기 프로그램이 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금 제1항 또는 제7항의 방법을 실행하게 하는, 컴퓨터 프로그램 제품.
  22. 명령어들을 포함하는 비일시적인 컴퓨터-판독가능한 매체로서, 상기 명령어들은 하나 이상의 프로세서로 하여금 제1항 또는 제7항의 방법의 단계들을 수행하게 하는, 비일시적인 컴퓨터-판독가능한 매체.
  23. 깊이 이미지의 이미지 영역과 연관된 투사 모드를 나타내는 데이터를 포함하는 신호로서, 상기 투사 모드는 상기 이미지 영역이 동일한 투사 방향을 따른 포인트 클라우드의 적어도 하나의 직교 투사된 3D 포인트의 최소 또는 최대 깊이 값을 저장하는지를 나타내는, 신호.
KR1020207028997A 2018-04-11 2019-04-09 투사 평면의 적어도 한 이미지 영역 내로 직교 투사된 한 세트의 3d 포인트의 깊이 값들을 인코딩하기 위한 방법 KR20200141450A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18305437 2018-04-11
EP18305437.8 2018-04-11
PCT/US2019/026459 WO2019199726A1 (en) 2018-04-11 2019-04-09 A method for encoding depth values of a set of 3d points once orthogonally projected into at least one image region of a projection plane

Publications (1)

Publication Number Publication Date
KR20200141450A true KR20200141450A (ko) 2020-12-18

Family

ID=62067567

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207028997A KR20200141450A (ko) 2018-04-11 2019-04-09 투사 평면의 적어도 한 이미지 영역 내로 직교 투사된 한 세트의 3d 포인트의 깊이 값들을 인코딩하기 위한 방법

Country Status (8)

Country Link
US (2) US11756234B2 (ko)
EP (1) EP3777183A1 (ko)
JP (2) JP7446234B2 (ko)
KR (1) KR20200141450A (ko)
CN (1) CN111971968B (ko)
CA (1) CA3096840A1 (ko)
SG (1) SG11202009210SA (ko)
WO (1) WO2019199726A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019215388A2 (en) * 2018-05-09 2019-11-14 Nokia Technologies Oy Method and apparatus for encoding and decoding volumetric video data
CN110662087B (zh) 2018-06-30 2021-05-11 华为技术有限公司 点云编解码方法和编解码器
CN110719497B (zh) * 2018-07-12 2021-06-22 华为技术有限公司 点云编解码方法和编解码器
JPWO2020230710A1 (ko) * 2019-05-10 2020-11-19
US20220180541A1 (en) * 2020-12-07 2022-06-09 Faro Technologies, Inc. Three-dimensional coordinate scanner

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101754039A (zh) * 2009-12-22 2010-06-23 中国科学技术大学 面向移动设备的3d参数解码系统
CN104885450B (zh) * 2012-12-27 2017-09-08 日本电信电话株式会社 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序、以及图像解码程序
US20140204088A1 (en) * 2013-01-18 2014-07-24 Microsoft Corporation Surface codec using reprojection onto depth maps
WO2015172227A1 (en) * 2014-05-13 2015-11-19 Pcp Vr Inc. Method, system and apparatus for generation and playback of virtual reality multimedia
WO2016024200A2 (en) * 2014-08-12 2016-02-18 Mantisvision Ltd. Structured light projection and imaging
EP3151559A1 (en) * 2015-09-29 2017-04-05 Thomson Licensing Method for coding and decoding a plurality of picture blocks and corresponding devices
US10194170B2 (en) * 2015-11-20 2019-01-29 Mediatek Inc. Method and apparatus for video coding using filter coefficients determined based on pixel projection phase
US20170214943A1 (en) 2016-01-22 2017-07-27 Mitsubishi Electric Research Laboratories, Inc. Point Cloud Compression using Prediction and Shape-Adaptive Transforms
EP4040789B1 (en) * 2016-02-11 2023-10-18 InterDigital VC Holdings, Inc. Method and device for encoding/decoding an image unit comprising image data represented by a luminance channel and at least one chrominance channel
WO2018039871A1 (zh) 2016-08-29 2018-03-08 北京清影机器视觉技术有限公司 三维视觉测量数据的处理方法和装置
US10859395B2 (en) 2016-12-30 2020-12-08 DeepMap Inc. Lane line creation for high definition maps for autonomous vehicles
EP3429207A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing A method and apparatus for encoding/decoding a colored point cloud representing the geometry and colors of a 3d object
US11405643B2 (en) * 2017-08-15 2022-08-02 Nokia Technologies Oy Sequential encoding and decoding of volumetric video
US10909725B2 (en) * 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
CN107633539A (zh) 2017-09-25 2018-01-26 潍坊学院 一种基于四边面片分割的三维点云模型数据压缩方法
US10783668B2 (en) * 2017-12-22 2020-09-22 Samsung Electronics Co., Ltd. Handling duplicate points in point cloud compression
TWI815842B (zh) * 2018-01-16 2023-09-21 日商索尼股份有限公司 影像處理裝置及方法
WO2020013977A1 (en) * 2018-07-13 2020-01-16 Interdigital Vc Holdings, Inc. Methods and devices for encoding and decoding three degrees of freedom and volumetric compatible video stream
WO2020071703A1 (ko) * 2018-10-01 2020-04-09 엘지전자 주식회사 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및/또는 포인트 클라우드 데이터 수신 방법
US11778171B2 (en) * 2019-01-02 2023-10-03 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
EP3713238A1 (en) * 2019-03-20 2020-09-23 InterDigital VC Holdings, Inc. Processing a point cloud
CN114868396A (zh) * 2019-12-11 2022-08-05 交互数字Vc控股公司 用于多视点3DoF+内容的编码和解码的方法和装置

Also Published As

Publication number Publication date
JP2021519533A (ja) 2021-08-10
JP7446234B2 (ja) 2024-03-08
US11756234B2 (en) 2023-09-12
CA3096840A1 (en) 2019-10-17
WO2019199726A1 (en) 2019-10-17
EP3777183A1 (en) 2021-02-17
US20240005560A1 (en) 2024-01-04
CN111971968A (zh) 2020-11-20
JP2024079679A (ja) 2024-06-11
US20230062296A1 (en) 2023-03-02
SG11202009210SA (en) 2020-10-29
CN111971968B (zh) 2024-03-12

Similar Documents

Publication Publication Date Title
CN110870318A (zh) 一种用于对表示3d物体的几何形状和颜色的彩色点云进行编码/解码的方法和装置
CN111433821B (zh) 用于重建表示3d对象的点云的方法和装置
CN111465964A (zh) 编码/解码表示3d对象的点云的几何形状的方法和装置
KR20200141448A (ko) 포인트 클라우드의 지오메트리를 코딩하기 위한 방법 및 디바이스
KR20200141450A (ko) 투사 평면의 적어도 한 이미지 영역 내로 직교 투사된 한 세트의 3d 포인트의 깊이 값들을 인코딩하기 위한 방법
WO2019011636A1 (en) METHOD AND APPARATUS FOR ENCODING / DECODING THE GEOMETRY OF A POINT CLOUD REPRESENTING A 3D OBJECT
KR20200140824A (ko) 3d 객체를 나타내는 포인트 클라우드를 인코딩/디코딩하기 위한 방법 및 장치
US20200211232A1 (en) A method and apparatus for encoding/decoding a point cloud representing a 3d object
US20200302652A1 (en) A method and apparatus for encoding/decoding a colored point cloud representing the geometry and colors of a 3d object
CN111417985A (zh) 用于编码/解码表示3d对象的点云的几何形状的方法和设备
KR102660951B1 (ko) 포인트 클라우드의 지오메트리를 인코딩/디코딩하기 위한 방법 및 디바이스
EP3493158A1 (en) A method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object
KR20200140825A (ko) 3d 객체를 나타내는 포인트 클라우드를 인코딩/디코딩하기 위한 방법 및 장치
WO2019070830A1 (en) METHOD AND APPARATUS FOR ENCODING / DECODING THE COLORS OF A POINT CLOUD REPRESENTING A 3D OBJECT
CN111971969B (zh) 用于对点云的几何形状进行编码的方法和装置
WO2023179279A1 (en) Encoding/decoding positions of points of a point cloud emcompassed in a cuboid volume
WO2023179277A1 (en) Encoding/decoding positions of points of a point cloud encompassed in a cuboid volume