KR102398408B1 - 포인트 클라우드 압축 - Google Patents

포인트 클라우드 압축 Download PDF

Info

Publication number
KR102398408B1
KR102398408B1 KR1020217041003A KR20217041003A KR102398408B1 KR 102398408 B1 KR102398408 B1 KR 102398408B1 KR 1020217041003 A KR1020217041003 A KR 1020217041003A KR 20217041003 A KR20217041003 A KR 20217041003A KR 102398408 B1 KR102398408 B1 KR 102398408B1
Authority
KR
South Korea
Prior art keywords
patch
points
image
point cloud
information
Prior art date
Application number
KR1020217041003A
Other languages
English (en)
Other versions
KR20210154893A (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 KR20210154893A publication Critical patent/KR20210154893A/ko
Application granted granted Critical
Publication of KR102398408B1 publication Critical patent/KR102398408B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound

Landscapes

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

Abstract

시스템은 포인트 클라우드에 대한 속성 정보 및/또는 공간을 압축하도록 구성된 인코더 및/또는 포인트 클라우드에 대한 압축 속성 및/또는 공간 정보를 압축해제하도록 구성된 디코더를 포함한다. 속성 및/또는 공간 정보를 압축하기 위해, 인코더는 포인트 클라우드를 이미지 기반 표현으로 변환하도록 구성된다. 또한, 디코더는 포인트 클라우드의 이미지 기반 표현에 기초하여 압축해제 포인트 클라우드를 생성하도록 구성된다.

Description

포인트 클라우드 압축{POINT CLOUD COMPRESSION}
본 발명은, 대체적으로, 연관된 공간 정보 및 속성 정보를 각각 갖는 복수의 포인트들을 포함하는 포인트 클라우드(point cloud)들의 압축 및 압축해제에 관한 것이다.
광 검출 및 범위측정(light detection and ranging, LIDAR) 시스템들, 3D-카메라들, 3D 스캐너들 등과 같은 다양한 타입들의 센서들이 3차원 공간 내의 포인트들의 위치들, 예를 들어 X, Y 및 Z 평면들 내의 위치들을 나타내는 데이터를 캡처할 수 있다. 또한, 그러한 시스템들은 개개의 포인트들에 대한 공간 정보 외에도 속성 정보, 예컨대 색상 정보(예컨대, RGB 값들), 텍스처 정보, 세기 속성들, 반사율 속성들, 모션 관련 속성들, 양상 속성(modality attribute)들, 또는 다양한 다른 속성들을 추가로 캡처할 수 있다. 일부 상황들에서, 개개의 포인트들에, 그 포인트가 캡처되었을 때의 타임스탬프와 같은 추가 속성들이 할당될 수 있다. 그러한 센서들에 의해 캡처된 포인트들은, 각각 연관된 공간 정보 및 하나 이상의 연관된 속성들을 갖는 포인트들의 세트를 포함하는 "포인트 클라우드"를 구성할 수 있다. 일부 상황들에서, 포인트 클라우드는 수천 개의 포인트들, 수십만 개의 포인트들, 수백만 개의 포인트들, 또는 심지어 더 많은 포인트들을 포함할 수 있다. 또한, 일부 상황들에서, 포인트 클라우드들이, 하나 이상의 센서들에 의해 캡처되고 있는 것과는 대조적으로, 예를 들어 소프트웨어에서 생성될 수 있다. 어느 경우든, 그러한 포인트 클라우드들은 다량의 데이터를 포함할 수 있고, 저장하고 송신하는 데 비용이 많이 들고 시간 소모적일 수 있다.
일부 실시예들에서, 시스템은 포인트 클라우드를 집합적으로 구성하는 포인트들을 캡처하도록 구성된 하나 이상의 센서들을 포함하며, 여기서 포인트들 각각은 개개의 포인트의 공간적 위치를 식별하는 공간 정보 및 개개의 포인트와 연관된 하나 이상의 속성들을 정의하는 속성 정보를 포함한다.
시스템은, 또한, 포인트들의 속성 및/또는 공간 정보를 압축하도록 구성되는 인코더를 포함한다. 속성 및/또는 공간 정보를 압축하기 위해, 인코더는, 포인트 클라우드에 대해, 포인트 클라우드의 부분들에 각각 대응하는 복수의 패치들을 결정하도록 구성되며, 여기서 각각의 패치는 서로로부터 임계량보다 적게 벗어나는 표면 법선 벡터들을 갖는 포인트들을 포함한다. 인코더는, 각각의 패치에 대해, 패치 평면 상에 투영된 패치에 대응하는 포인트 세트를 포함하는 패치 이미지를 생성하도록, 그리고 패치에 대응하는 포인트 세트에 대한 깊이 정보를 포함하는 다른 패치 이미지를 생성하도록 추가로 구성되며, 여기서 깊이 정보는 패치 평면에 수직인 방향으로의 포인트들의 깊이들을 표현한다.
예를 들어, 패치 평면 상에 투영된 패치에 대응하는 패치 이미지는 2개의 방향들, 예컨대 X 및 Y 방향으로 패치에 포함된 포인트 클라우드의 포인트들을 나타낼 수 있다. 포인트 클라우드의 포인트들은 패치의 위치에서 포인트 클라우드의 표면에 수직인, 법선 벡터에 대략적으로 수직인 패치 평면 상에 투영될 수 있다. 또한, 예를 들어, 패치에 포함된 포인트 세트에 대한 깊이 정보를 포함하는 패치 이미지는 Z 방향으로의 깊이 거리들과 같은 깊이 정보를 나타낼 수 있다. 깊이 정보를 나타내기 위해, 깊이 패치 이미지는 패치 이미지 내의 특정 위치에서의 포인트 클라우드 내의 포인트들의 깊이에 기초하여 세기가 변화하는 파라미터를 포함할 수 있다. 예를 들어, 깊이 정보를 나타내는 패치 이미지는 패치 평면 상에 투영된 포인트들을 표현하는 패치 이미지와 동일한 형상을 가질 수 있다. 그러나, 깊이 정보 패치 이미지는 하나 이상의 색상들과 같은, 세기가 변화하는 이미지 속성들을 포함하는 이미지일 수 있으며, 여기서 하나 이상의 이미지 속성들의 세기는 깊이를 나타내는 패치 이미지에서 이미지 속성이 디스플레이되는 패치 이미지 내의 위치에서의 포인트 클라우드의 깊이에 대응한다. 예를 들어, 패치 평면에 더 가까운 포인트들은 깊이를 나타내는 패치 이미지에서 더 어두운 값들로서 인코딩될 수 있고, 패치 평면으로부터 더 멀리 떨어진 포인트들은 깊이를 나타내는 패치 이미지에서, 예를 들어 깊이를 나타내는 단색 패치 이미지에서, 더 밝은 값들로서 인코딩될 수 있다. 따라서, 패치 평면 상에 투영된 포인트들을 표현하는 다른 패치 이미지들과 정렬될 때 깊이 정보 패치 이미지는, 매치 평면 상에 투영된 포인트 클라우드 포인트들을 포함하는 다른 패치 이미지들 내의 포인트들의 위치들에 대응하는 깊이 패치 이미지 내의 위치들에서의 개개의 이미지 속성 세기들에 기초하여 패치 평면 상에 투영된 포인트들의 상대적 깊이들을 나타낼 수 있다.
인코더는 각각의 결정된 패치들에 대한 생성된 패치 이미지들(깊이 패치 이미지, 및 선택적으로, 하나 이상의 다른 속성들에 대한 하나 이상의 추가 패치 이미지들을 포함함)을 하나 이상의 이미지 프레임들로 패킹하도록 그리고 하나 이상의 이미지 프레임들을 인코딩하도록 추가로 구성된다. 일부 실시예들에서, 인코더는 다양한 이미지 또는 비디오 인코딩 기법들을 활용하여 하나 이상의 이미지 프레임들을 인코딩할 수 있다. 예를 들어, 인코더는 고효율 비디오 코딩(HEVC/H.265) 표준 또는 다른 적합한 표준들, 예컨대 어드밴스드 비디오 코딩(AVC/H.265) 표준, AOM(Alliance for Open Media)에 의해 생성된 AV1(AOMedia Video 1) 비디오 코딩 포맷 등에 따라 비디오 인코더를 활용할 수 있다. 일부 실시예들에서, 인코더는 MPEG(Motion Picture Experts Group), JPEG(Joint Photography Experts Group) 표준, 국제전기통신연합-전기통신(International Telecommunication Union-Telecommunication) 표준(예컨대, ITU-T 표준) 등에 따라 이미지 인코더를 활용할 수 있다.
일부 실시예들에서, 디코더는, 압축 포인트 클라우드의 복수의 패치들에 대한 패치 이미지들을 포함하는 하나 이상의 인코딩된 이미지 프레임들을 수신하도록 구성되며, 여기서 각각의 패치에 대해, 하나 이상의 인코딩된 이미지 프레임들은, 패치 평면 상에 투영된 패치의 포인트 세트를 포함하는 패치 이미지 및 패치의 포인트 세트에 대한 깊이 정보를 포함하는 패치 이미지를 포함하고, 깊이 정보는 패치 평면에 수직인 방향으로의 패치의 포인트들의 깊이들을 나타낸다. 일부 실시예들에서, 깊이 패치 이미지가 다른 속성 패치 이미지들을 갖는 이미지 프레임으로 패킹될 수 있다. 예를 들어, 디코더는 전술된 인코더에 의해 생성된 바와 같은 패킹된 패치 이미지들을 포함하는 하나 이상의 이미지 프레임들을 수신할 수 있다.
디코더는, 패치 이미지들을 포함하는 하나 이상의 인코딩된 이미지 프레임들을 디코딩하도록 추가로 구성된다. 일부 실시예들에서, 디코더는 HEVC 표준 또는 다른 적합한 표준들, 예컨대 어드밴스드 비디오 코딩(AVC) 표준, AV1 비디오 코딩 포맷 등에 따라 비디오 디코더를 활용할 수 있다. 일부 실시예들에서, 디코더는 MPEG 또는 JPEG 표준 등에 따라 이미지 디코더를 활용할 수 있다.
디코더는, 각각의 패치에 대해, 패치 평면 상에 투영된 패치의 포인트 세트를 포함하는 패치 이미지 및 패치의 포인트 세트에 대한 깊이 정보를 포함하는 패치 이미지에 적어도 부분적으로 기초하여 패치의 포인트 세트에 대한 공간 정보를 결정하도록, 그리고 복수의 패치들에 대한 결정된 공간 정보 및 패치들에 포함된 속성 정보에 적어도 부분적으로 기초하여 압축 포인트 클라우드의 압축해제 버전을 생성하도록 추가로 구성된다.
일부 실시예들에서, 방법은, 압축 포인트 클라우드의 복수의 패치들에 대한 패치 이미지들을 포함하는 하나 이상의 인코딩된 이미지 프레임들을 수신하는 단계를 포함하며, 여기서 각각의 패치에 대해, 하나 이상의 인코딩된 이미지 프레임들은, 패치 평면 상에 투영된 패치의 포인트 세트를 포함하는 패치 이미지 및 패치의 포인트 세트에 대한 깊이 정보를 포함하는 패치 이미지를 포함하고, 깊이 정보는 패치 평면에 수직인 방향으로의 패치의 포인트들의 깊이들을 나타낸다. 방법은, 패치 이미지들을 포함하는 하나 이상의 인코딩된 이미지 프레임들을 디코딩하는 단계를 추가로 포함한다. 일부 실시예들에서, 디코딩은 HEVC 표준 또는 다른 적합한 표준들, 예컨대 어드밴스드 비디오 코딩(AVC) 표준, AV1 비디오 코딩 포맷 등에 따라 수행될 수 있다. 일부 실시예들에서, 디코딩은 MPEG 또는 JPEG 표준 등에 따라 수행될 수 있다.
방법은, 각각의 패치에 대해, 패치 평면 상에 투영된 패치의 포인트 세트를 포함하는 패치 이미지 및 패치의 포인트 세트에 대한 깊이 정보를 포함하는 패치 이미지에 적어도 부분적으로 기초하여 패치의 포인트 세트에 대한 공간 정보를 결정하는 단계, 및 복수의 패치들에 대한 결정된 공간 정보에 적어도 부분적으로 기초하여 압축 포인트 클라우드의 압축해제 버전을 생성하는 단계를 추가로 포함한다.
일부 실시예들에서, 비일시적 컴퓨터 판독가능 매체는 프로그램 명령어들을 저장하고, 프로그램 명령어들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 본 명세서에서 기술된 바와 같은 인코더를 구현하여 포인트 클라우드의 속성 정보를 압축하게 한다.
일부 실시예들에서, 비일시적 컴퓨터 판독가능 매체는 프로그램 명령어들을 저장하고, 프로그램 명령어들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 본 명세서에서 기술된 바와 같은 디코더를 구현하여 포인트 클라우드의 속성 정보를 압축해제하게 한다.
도 1은 일부 실시예들에 따른, 포인트 클라우드의 포인트들에 대한 정보를 캡처하는 센서 및 포인트 클라우드의 공간 정보 및 속성 정보를 압축하는 인코더를 포함하는 시스템을 도시하며, 여기서 압축 공간 및 속성 정보는 디코더로 전송된다.
도 2a는 일부 실시예들에 따른, 인트라 포인트 클라우드 프레임들을 인코딩하기 위한 인코더의 컴포넌트들을 도시한다.
도 2b는 일부 실시예들에 따른, 인트라 포인트 클라우드 프레임들을 디코딩하기 위한 디코더의 컴포넌트들을 도시한다.
도 2c는 일부 실시예들에 따른, 인터 포인트 클라우드 프레임들을 인코딩하기 위한 인코더의 컴포넌트들을 도시한다.
도 2d는 일부 실시예들에 따른, 인터 포인트 클라우드 프레임들을 디코딩하기 위한 디코더의 컴포넌트들을 도시한다.
도 3a는 일부 실시예들에 따른 예시적인 패치 세그먼트화 프로세스를 도시한다.
도 3b는 일부 실시예들에 따른, 패킹된 패치 이미지들 및 패딩된 부분들을 포함하는 예시적인 이미지 프레임을 도시한다.
도 3c는 일부 실시예들에 따른, 패치 부분들 및 패딩된 부분들을 포함하는 예시적인 이미지 프레임을 도시한다.
도 3d는 일부 실시예들에 따른, 다수의 투영부들 상에 투영되고 있는 포인트 클라우드를 도시한다.
도 3e는 일부 실시예들에 따른, 다수의 평행한 투영부들 상에 투영되고 있는 포인트 클라우드를 도시한다.
도 4a는 일부 실시예들에 따른, 색상 변환과 함께 인트라 포인트 클라우드 프레임들을 인코딩하기 위한 인코더의 컴포넌트들을 도시한다.
도 4b는 일부 실시예들에 따른, 색상 변환과 함께 인터 포인트 클라우드 프레임들을 인코딩하기 위한 인코더의 컴포넌트들을 도시한다.
도 4c는 일부 실시예들에 따른, 폐루프 색상 변환 모듈의 컴포넌트들을 도시한다.
도 4d는 일부 실시예들에 따른, 동작이 수행되었던 포인트 클라우드에 대한 품질 메트릭을 결정하기 위한 예시적인 프로세스를 도시한다.
도 5a는 일부 실시예들에 따른, 기하구조, 텍스처, 및/또는 다른 속성 다운-스케일링을 포함하는 인코더의 컴포넌트들을 도시한다.
도 5b는 일부 실시예들에 따른, 기하구조, 텍스처, 및/또는 다른 속성 업-스케일링을 포함하는 디코더의 컴포넌트들을 도시한다.
도 5c는 일부 실시예들에 따른, 인코더의 관점으로부터의 리스케일링(rescaling)을 도시한다.
도 5d는 일부 실시예들에 따른, 디코더의 관점으로부터의 리스케일링을 도시한다.
도 5e는 일부 실시예들에 따른 예시적인 개루프 리스케일링을 도시한다.
도 5f는 일부 실시예들에 따른 예시적인 폐루프 리스케일링을 도시한다.
도 5g는 일부 실시예들에 따른, 다수의 속성 층들을 갖는 예시적인 폐루프 리스케일링을 도시한다.
도 5h는 일부 실시예들에 따른 비디오 레벨 시공간적 스케일링의 일례를 도시한다.
도 5i는 일부 실시예들에 따른, 시공간적 스케일링을 갖는 예시적인 폐루프 리스케일링을 도시한다.
도 6a는 일부 실시예들에 따른, 포스트 비디오 압축해제 텍스처 프로세싱부 및/또는 필터링부, 및 포스트 비디오 압축해제 기하구조 프로세싱부/필터링부를 추가로 포함하는 디코더의 컴포넌트들을 도시한다.
도 6b는 일부 실시예들에 따른, 압축 포인트 클라우드에 대한 비트 스트림 구조물을 도시한다.
도 6c는 일부 실시예들에 따른, 속성 평면이 그의 대응하는 기하구조 정보 및 기하구조 추출 에지들을 사용하여 업-스케일링되는 예시적인 응용예를 도시한다.
도 7a는 일부 실시예들에 따른, PCCNAL 유닛 기반 비트 스트림의 일례를 도시한다.
도 7b는 일부 실시예들에 따른, POC별로 그룹화된 PCCNAL 유닛의 일례를 도시한다.
도 7c는 일부 실시예들에 따른, 타입별로 그룹화된 PCCNAL 유닛의 일례를 도시한다.
도 8a는 일부 실시예들에 따른, 포인트 클라우드의 속성 및 공간 정보를 압축하기 위한 프로세스를 도시한다.
도 8b는 일부 실시예들에 따른, 포인트 클라우드의 속성 및 공간 정보를 압축해제하기 위한 프로세스를 도시한다.
도 8c는 일부 실시예들에 따른, 패치 이미지들이 생성되고 이미지 프레임으로 패킹되어, 포인트 클라우드의 속성 및 공간 정보를 압축하는 것을 도시한다.
도 9는 일부 실시예들에 따른, 패치 이미지들이 생성되고 이미지 프레임으로 패킹되어, 이동 중이거나 변화 중인 포인트 클라우드의 속성 및 공간 정보를 압축하는 것을 도시한다.
도 10은 일부 실시예들에 따른, 패치 이미지들, 패치 정보, 및 점유 맵을 포함하는 이미지 프레임들을 수신하고 포인트 클라우드의 압축해제 표현을 생성하는 디코더를 도시한다.
도 11a는 일부 실시예들에 따른, 포인트 클라우드에 대한 하나 이상의 마스크들에 기초하여 인코딩을 조정하는 인코더를 도시한다.
도 11b는 일부 실시예들에 따른, 포인트 클라우드에 대한 하나 이상의 마스크들에 기초하여 디코딩을 조정하는 디코더를 도시한다.
도 12a는 일부 실시예들에 따른, 점유 맵의 압축에 관하여 더 상세한 사항을 도시한다.
도 12b는 일부 실시예들에 따른, 점유 맵을 압축하기 위한 예시적인 블록들 및 트래버스 패턴들을 도시한다.
도 13a는 일부 실시예들에 따른, 래스터 스캔, 지그재그 스캔, "Z" 스캔, 및 트래버스 스캔을 포함하는 예시적인 스캐닝 기법들을 도시한다.
도 13b는 일부 실시예들에 따른, 비디오 프레임 내의 인터리빙된 누락된 포인트 컴포넌트들 및 비디오 프레임 내의 그룹화된 누락된 포인트 컴포넌트들의 예들을 도시한다.
도 13c는 일부 실시예들에 따른 예시적인 비디오 프레임을 도시한다.
도 13d는 일부 실시예들에 따른 예시적인 비디오 프레임을 도시한다.
도 13e는 일부 실시예들에 따른 예시적인 비디오 프레임을 도시한다.
도 13f는 일부 실시예들에 따른 예시적인 비디오 프레임을 도시한다.
도 13g는 일부 실시예들에 따른 예시적인 비디오 프레임을 도시한다.
도 13h는 일부 실시예들에 따른 예시적인 비디오 프레임을 도시한다.
도 13i는 일부 실시예들에 따른 예시적인 비디오 프레임을 도시한다.
도 13j는 일부 실시예들에 따른 예시적인 스캐닝 순서를 도시한다.
도 13k는 일부 실시예들에 따른 예시적인 스캐닝 순서를 도시한다.
도 13l은 일부 실시예들에 따른, 상이한 필터들을 적용하는 것에 기인하는 2개의 곡선들의 일례를 도시한다.
도 14는 일부 실시예들에 따른, 3D 텔레프레즌스 애플리케이션에서 사용되고 있는 압축 포인트 클라우드 정보를 도시한다.
도 15는 일부 실시예들에 따른, 가상 현실 애플리케이션에서 사용되고 있는 압축 포인트 클라우드 정보를 도시한다.
도 16은 일부 실시예들에 따른, 인코더 또는 디코더를 구현할 수 있는 예시적인 컴퓨터 시스템을 도시한다.
본 명세서는 "일 실시예" 또는 "실시예"에 대한 언급을 포함한다. "일 실시예에서" 또는 "실시예에서"라는 문구들의 등장들은 반드시 동일한 실시예를 지칭하는 것은 아니다. 특정 특징들, 구조들 또는 특성들이 본 개시내용과 일관성을 유지하는 임의의 적합한 방식으로 조합될 수 있다.
"포함하는(Comprising)". 이 용어는 확장가능(open-ended)하다. 첨부된 청구범위에서 사용되는 바와 같이, 이러한 용어는 부가적인 구조 또는 단계들을 배제(foreclose)하지 않는다. "... 하나 이상의 프로세서 유닛들을 포함하는 장치"를 언급하는 청구항을 고려한다. 그러한 청구항은 장치가 부가적인 컴포넌트들(예를 들어, 네트워크 인터페이스 유닛, 그래픽 회로부 등)을 포함하는 것을 배제하지 않는다.
"~하도록 구성되는(configured to)". 다양한 유닛들, 회로들 또는 다른 컴포넌트들이 태스크 또는 태스크들을 수행"하도록 구성"되는 것으로 설명되거나 청구될 수 있다. 그러한 문맥들에서, "~하도록 구성되는"은 유닛들/회로들/컴포넌트들이 동작 동안에 그들 태스크 또는 태스크들을 수행하는 구조물(예컨대, 회로부)을 포함한다는 것을 나타냄으로써 구조물을 내포하는 데 사용된다. 이와 같이, 유닛/회로/컴포넌트는, 특정된 유닛/회로/컴포넌트가 현재 동작중이지 않은 경우(예를 들어, 켜진 상태가 아닌 경우)에도 태스크를 수행하도록 구성되는 것으로 칭해질 수 있다. "~하도록 구성되는"이라는 문구와 함께 사용되는 유닛들/회로들/컴포넌트들은 하드웨어 - 예를 들어, 회로들, 동작을 구현하도록 실행가능한 프로그램 명령어들을 저장하는 메모리 등 - 를 포함한다. 유닛/회로/컴포넌트가 하나 이상의 태스크들을 수행"하도록 구성"됨을 언급하는 것은 그 유닛/회로/컴포넌트에 대해 미국 특허법 35 U.S.C. § 112, (f) 규정이 적용되지 않도록 하기 위한 의도의 명시이다. 부가적으로, "~하도록 구성되는"은 사안이 되는 태스크(들)를 수행할 수 있는 방식으로 동작하도록 소프트웨어 및/또는 펌웨어(예를 들어, FPGA 또는 소프트웨어를 실행하는 범용 프로세서)에 의해 조작되는 일반적인 구조물(예를 들어, 일반적인 회로부)을 포함할 수 있다. "~하도록 구성되는"은 또한 하나 이상의 태스크들을 구현하거나 수행하도록 적응된 디바이스들(예를 들어, 집적 회로들)을 제조하도록 제조 프로세스(예를 들어, 반도체 제조 설비)를 적응하는 것을 포함할 수 있다.
"제1", "제2", 등. 본 명세서에서 사용되는 바와 같이, 이러한 용어들은 이들이 선행하고 있는 명사들에 대한 라벨들로서 사용되고, 임의의 타입의(예를 들어, 공간적, 시간적, 논리적 등) 순서를 암시하는 것은 아니다. 예를 들어, 버퍼 회로는 "제1" 및 "제2" 값들에 대한 기입 동작들을 수행하는 것으로서 본 명세서에서 설명될 수 있다. 용어들 "제1" 및 "제2"는 반드시 제1 값이 제2 값 전에 기입되어야 한다는 것을 암시하지는 않는다.
"~에 기초하여(Based on)". 본 명세서에서 사용되는 바와 같이, 이 용어는 결정에 영향을 주는 하나 이상의 인자들을 설명하기 위해 사용된다. 이 용어는 결정에 영향을 줄 수 있는 부가적인 인자들을 배제하지 않는다. 즉, 결정은 오직 그들 인자들에만 기초하거나 또는 그들 인자들에 적어도 부분적으로 기초할 수 있다. "B에 기초하여 A를 결정한다"라는 문구를 고려한다. 이 경우에, B가 A의 결정에 영향을 주는 인자이기는 하지만, 그러한 문구는 A의 결정이 또한 C에도 기초하는 것임을 배제하지 않는다. 다른 예시들에서, A는 오직 B에만 기초하여 결정될 수 있다.
데이터 획득 및 디스플레이 기술들이 더 진보되어 감에 따라, 예컨대 LIDAR 시스템들을 통해, 2D 또는 3D 공간에서 수천 또는 수백만 개의 포인트들을 포함하는 포인트 클라우드들을 캡처하는 능력은 증가해 왔다. 또한, 가상 현실 또는 증강 현실 시스템들과 같은 진보된 디스플레이 기술들의 개발은 포인트 클라우드들에 대한 잠재적 사용들을 증가시켜 왔다. 그러나, 포인트 클라우드 파일들은 종종 매우 크고, 저장하고 송신하는 데 비용이 많이 들고 시간 소모적일 수 있다. 예를 들어, 인터넷과 같은 사설 또는 공중 네트워크들을 통한 포인트 클라우드들의 통신은 상당한 양의 시간 및/또는 네트워크 리소스들을 필요로 하여, 실시간 사용들과 같은 포인트 클라우드 데이터의 일부 사용들이 제한될 수 있게 할 수 있다. 또한, 포인트 클라우드 파일들의 저장 요건들은 포인트 클라우드 파일들을 저장하는 디바이스들의 상당한 양의 저장 용량을 소모할 수 있으며, 이는 또한 포인트 클라우드 데이터를 사용하기 위한 잠재적인 애플리케이션들을 제한할 수 있다.
일부 실시예들에서, 인코더는 많은 포인트 클라우드 파일들을 저장하고 송신하는 것과 연관된 비용들 및 시간을 감소시키기 위해 압축 포인트 클라우드를 생성하는 데 사용될 수 있다. 일부 실시예들에서, 시스템은 포인트 클라우드 파일이 비압축 포인트 클라우드들보다 더 빠르게 저장되고 송신될 수 있도록 그리고 포인트 클라우드 파일이 비압축 포인트 클라우드들보다 더 적은 저장 공간을 점유할 수 있는 방식으로 포인트 클라우드 파일의 속성 및/또는 공간 정보를 압축하는 인코더를 포함할 수 있다. 일부 실시예들에서, 포인트 클라우드 내의 포인트들의 속성들의 압축은 포인트 클라우드가 네트워크를 통해 실시간으로 또는 거의 실시간으로 통신될 수 있게 할 수 있다. 예를 들어, 시스템은 센서가 위치되는 환경 내의 포인트들에 관한 속성 정보를 캡처하는 센서를 포함할 수 있으며, 여기서 캡처된 포인트들 및 대응하는 속성들은 포인트 클라우드를 구성한다. 시스템은, 또한, 캡처된 포인트 클라우드 속성 정보를 압축하는 인코더를 포함할 수 있다. 포인트 클라우드의 압축 속성 정보는 포인트 클라우드의 압축 속성 정보를 압축해제하는 디코더로 네트워크를 통해 실시간으로 또는 거의 실시간으로 전송될 수 있다. 압축해제 포인트 클라우드는, 예를 들어 센서의 위치에서 주위 환경에 기초하여 제어 결정을 행하도록 추가로 프로세싱될 수 있다. 이어서, 제어 결정은 센서의 위치에서 또는 그 인근에서 디바이스로 다시 통신될 수 있으며, 여기서 제어 결정을 수신하는 디바이스는 실시간으로 또는 거의 실시간으로 제어 결정을 구현한다. 일부 실시예들에서, 디코더는 증강 현실 시스템과 연관될 수 있고, 압축해제 속성 정보는 증강 현실 시스템에 의해 디스플레이되거나 달리 사용될 수 있다. 일부 실시예들에서, 포인트 클라우드에 대한 압축 속성 정보는 포인트 클라우드의 포인트들에 대한 압축 공간 정보와 함께 전송될 수 있다. 다른 실시예들에서, 공간 정보 및 속성 정보는 개별적으로 인코딩될 수 있고/있거나 개별적으로 디코더로 송신될 수 있다.
일부 실시예들에서, 시스템은, 원격 서버 또는 하나 이상의 포인트 클라우드 파일들을 저장하는 다른 저장 디바이스로부터 네트워크를 통해 압축 속성 정보를 포함하는 포인트 클라우드 데이터의 하나 이상의 세트들을 수신하는 디코더를 포함할 수 있다. 예를 들어, 3D 디스플레이, 홀로그래픽 디스플레이, 또는 헤드 마운티드 디스플레이(head-mounted display)는 포인트 클라우드들에 의해 표현되는 가상 세계의 상이한 부분들을 보여주기 위해 실시간으로 또는 거의 실시간으로 조작될 수 있다. 3D 디스플레이, 홀로그래픽 디스플레이, 또는 헤드 마운티드 디스플레이를 업데이트하기 위해, 디코더와 연관된 시스템은 디스플레이들의 사용자 조작들에 기초하여 원격 서버로부터 포인트 클라우드 데이터를 요청할 수 있고, 포인트 클라우드 데이터는 원격 서버로부터 디코더로 송신될 수 있고, 디코더에 의해 실시간으로 또는 거의 실시간으로 디코딩될 수 있다. 이어서, 디스플레이들은 사용자 조작들에 응답하여, 업데이트된 포인트 속성들과 같은 업데이트된 포인트 클라우드 데이터로 업데이트될 수 있다.
일부 실시예들에서, 시스템은 하나 이상의 LIDAR 시스템들, 3D 카메라들, 3D 스캐너들 등을 포함할 수 있고, 그러한 센서 디바이스들은 센서 디바이스들의 뷰에서의 포인트들에 대한 X, Y, 및 Z 좌표들과 같은 공간 정보를 캡처할 수 있다. 일부 실시예들에서, 공간 정보는 국소 좌표계와 관련된 것일 수 있거나, 또는 전역 좌표계와 관련된 것일 수 있다(예를 들어, 직교 좌표계는 지구 상의 고정 포인트와 같은 고정 기준 포인트를 가질 수 있거나, 또는 센서 위치와 같은 비고정 국소 기준 포인트를 가질 수 있다).
일부 실시예들에서, 그러한 센서들은, 또한, 색상 속성들, 반사율 속성들, 속도 속성들, 가속도 속성들, 시간 속성들, 양상들, 및/또는 다양한 다른 속성들과 같은, 하나 이상의 포인트들에 대한 속성 정보를 캡처할 수 있다. 일부 실시예들에서, LIDAR 시스템들, 3D 카메라들, 3D 스캐너들 등에 더하여, 다른 센서들이 포인트 클라우드 내에 포함될 속성 정보를 캡처할 수 있다. 예를 들어, 일부 실시예들에서, 자이로스코프 또는 가속도계는 포인트 클라우드의 하나 이상의 포인트들과 연관된 속성으로서 포인트 클라우드 내에 포함될 모션 정보를 캡처할 수 있다. 예를 들어, LIDAR 시스템, 3D 카메라, 또는 3D 스캐너가 장착된 차량은 LIDAR 시스템, 3D 카메라, 또는 3D 스캐너에 의해 캡처된 포인트 클라우드에서의 차량의 방향 및 속력을 포함할 수 있다. 예를 들어, 차량의 뷰에서의 포인트들이 캡처될 때, 그들은 포인트 클라우드에 포함될 수 있으며, 여기서 포인트 클라우드는 포인트들이 캡처되었을 때의 차량의 상태에 대응하는 캡처된 포인트들 및 연관된 모션 정보를 포함한다.
일부 실시예들에서, 하나 이상의 패치 이미지들은 하나 이상의 투영들을 이용하여 패치 이미지 상에 투영된 포인트 클라우드의 속성 및/또는 공간 정보를 포함할 수 있다. 예를 들어, 투영부들은 원통형 또는 구체형 투영부들을 포함할 수 있으며, 여기서 포인트 클라우드는 원통 또는 구체 상에 투영된다. 또한, 일부 실시예들에서, 포인트 클라우드의 다수의 평행한 투영부들은 포인트 클라우드에 대한 패치 이미지들을 생성하는 데 사용될 수 있으며, 여기서 다수의 투영부들은 디코더에 의해 알려져 있거나 디코더로 시그널링된다.
일부 실시예들에서, 인코더는, 개개의 투영부들을 포함하는 이미지 프레임의 활성/이용가능한 포인트들 또는 영역들 및 비활성/이용불가능한 포인트들 또는 영역들을 나타내는 "마스크"를 추가로 인코딩할 수 있다. 예를 들어, 활성/이용가능한 포인트들 또는 영역들은 이미지 프레임으로 패킹된 패치들에 대응할 수 있고, 비활성/이용불가능한 영역들은 패치들 사이의 또는 그 주위의 패딩 영역들에 대응할 수 있다. 예를 들어, 인코더는 하나 이상의 이미지 프레임들을 인코딩하도록 그리고 하나 이상의 이미지 프레임들의 활성 영역들 또는 비활성 영역들에 대응하는 하나 이상의 이미지 프레임들의 영역들을 나타내는 정보를 인코딩하도록 구성될 수 있으며, 여기서 패딩에 의해 커버되는 영역들은 비활성 영역들로서 나타내어진다. 일부 실시예들에서, 인코더는 하나 이상의 이미지 프레임들의 부분들이 활성 또는 비활성 영역들 또는 포인트들을 포함하는지의 여부에 적어도 부분적으로 기초하여 하나 이상의 이미지 프레임들의 부분들을 인코딩하도록 계상(budget)되는 인코딩 리소스들의 양을 변화시킬 수 있다. 일부 실시예들에서, 패딩된 공간들은 하나 이상의 이미지 프레임들의 비동작(non-action) 영역들로 간주될 수 있다. 또한, 일부 실시예들에서, 특정 관점에서 가시적이지 않은 압축되고 있는 포인트 클라우드의 포인트들은 포인트 클라우드의 비활성 포인트들로 간주될 수 있고, 인코더는 포인트들이 특정 관점에서 비활성임을 나타낼 수 있다. 또한, 디코더는 특정 관점에서 포인트 클라우드가 보여지고 있을 때 비활성 포인트들을 디코딩하는 것에 더 적은 리소스들을 계상할 수 있거나 또는 어떠한 리소스도 계상하지 않을 수 있다.
일부 실시예들에서, 디코더는, 압축 포인트 클라우드에 대한 패치 이미지들을 포함하고 패치 이미지들에 의해 점유되지 않은 하나 이상의 이미지들의 부분들에서 패딩하는 하나 이상의 인코딩된 이미지 프레임들을 수신하도록 그리고 하나 이상의 인코딩된 이미지 프레임들을 디코딩하도록 구성될 수 있으며, 여기서 하나 이상의 이미지 프레임들의 패치 이미지 부분들을 디코딩하는 것에 할당되기보다는 하나 이상의 이미지들의 패딩된 부분들을 디코딩하는 것에 더 적은 디코딩 리소스들이 할당된다.
일부 실시예들에서, 방법은, 압축 포인트 클라우드에 대한 패치 이미지들을 포함하고 패치 이미지들에 의해 점유되지 않은 하나 이상의 이미지들의 부분들에서 패딩하는 하나 이상의 인코딩된 이미지 프레임들을 수신하는 단계, 및 하나 이상의 인코딩된 이미지 프레임들을 디코딩하는 단계를 포함하며, 여기서 하나 이상의 이미지 프레임들의 패치 이미지 부분들을 디코딩하는 것에 할당되기보다는 하나 이상의 이미지들의 패딩된 부분들을 디코딩하는 것에 더 적은 디코딩 리소스들이 할당된다. 방법은, 디코딩된 패치 이미지들에 적어도 부분적으로 기초하여 압축 포인트 클라우드의 압축해제 버전을 생성하는 단계를 추가로 포함한다.
일부 실시예들에서, 포인트 클라우드에 대한 속성 및/또는 공간 정보를 압축하기 위한 방법은 포인트 클라우드를 다수의 투영부들 상에 투영하는 단계 및 투영부들을 인코딩하는 단계를 포함한다. 예를 들어, 투영부들은 원통형 또는 구체형 투영부들을 포함할 수 있으며, 여기서 포인트 클라우드는 원통 또는 구체 상에 투영된다. 또한, 일부 실시예들에서, 포인트 클라우드의 다수의 평행한 투영부들이 인코딩될 수 있으며, 여기서 다수의 투영부들은 디코더에 의해 알려져 있거나 디코더로 시그널링된다. 일부 실시예들에서, 방법은, 개개의 투영부들에서의 활성/이용가능한 포인트들 또는 영역들 및 비활성/이용불가능한 포인트들 또는 영역들을 나타내는 하나 이상의 "마스크들"을 결정하는 단계를 추가로 포함할 수 있다. 방법은 하나 이상의 마스크들을 나타내는 데이터를 인코딩하는 단계를 추가로 포함할 수 있다.
일부 실시예들에서, 비일시적 컴퓨터 판독가능 매체는 프로그램 명령어들을 저장하고, 프로그램 명령어들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 포인트 클라우드를 다수의 투영부들 상에 투영하게 하고 투영부들을 인코딩하게 한다. 프로그램 명령어들은, 추가로, 하나 이상의 프로세서들로 하여금, 개개의 투영부들에서의 활성/이용가능한 포인트들 또는 영역들 및 비활성/이용불가능한 포인트들 또는 영역들을 나타내는 하나 이상의 마스크들을 결정하게 하고, 하나 이상의 마스크들을 나타내는 데이터를 인코딩하게 할 수 있다. 예를 들어, 일부 실시예들에서, 비일시적 컴퓨터 판독가능 매체는 프로그램 명령어들을 저장할 수 있고, 프로그램 명령어들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금, 본 명세서에서 기술된 바와 같은 인코더 또는 디코더를 구현하게 한다.
일부 실시예들에서, 포인트 클라우드의 포인트들은 패치 평면 상에 투영될 때 동일하거나 거의 동일한 위치에 있을 수 있다. 예를 들어, 포인트 클라우드는 일부 포인트들이 패치 평면에 대해 동일한 위치에 있지만 상이한 깊이들에 있도록 하는 깊이를 가질 수 있다. 그러한 실시예들에서, 포인트 클라우드의 상이한 층들에 대해 다수의 패치들이 생성될 수 있다. 일부 실시예들에서, 후속 층상 패치들은 이전 패치 층 사이의 차이들을 인코딩하여, 후속 패치 층들이 이전 패치 층(들)에서 최대량의 데이터가 인코딩되는 것을 반복하지 않게 할 수 있다. 따라서, 후속 패치 층들은 초기 패치 층들보다 유의하게 더 작은 크기들을 가질 수 있다.
일부 실시예들에서, 이미지 프레임들로 패킹된 패치 이미지들의 색상들은 상이한 색공간으로 변환될 수 있거나, 또는 이미지 프레임들을 추가로 압축하기 위해 서브샘플링될 수 있다. 예를 들어, 일부 실시예들에서, 4:4:4 R'G'B' 색공간에서의 이미지 프레임은 4:2:0 YCbCr 색 표현으로 변환될 수 있다. 추가로, 색상 변환 프로세스는 색공간들 사이에서 이미지 프레임들을 변환하기 위한 최적의 루마 값 및 대응하는 크로마 값들을 결정할 수 있다. 예를 들어, 오리지널 비압축 포인트 클라우드와 비교하여, 압축해제 포인트 클라우드 색상들의 왜곡을 최소화하면서 이미지 프레임의 변환된 크기를 감소시키는 최적의 루마 값이 선택될 수 있다. 일부 실시예들에서, 반복적 접근법이 최적의 루마 값을 결정하는 데 사용될 수 있다. 다른 실시예들에서, 최적의 루마 및 대응하는 크로마 값들을 결정하기 위해 하나 이상의 최적화 수학식들이 적용될 수 있다.
그러한 시스템은, 포인트 클라우드를 패치들 상에 투영하고 패치들을 이미지 프레임들로 패킹함으로써 야기되는 왜곡을 추가로 처리할 수 있다. 추가로, 그러한 시스템은 패킹된 패치들을 포함하는 이미지 프레임들을 비디오 인코딩하고/하거나 디코딩함으로써 야기되는 왜곡을 처리할 수 있다. 이를 위해, 폐루프 색상 변환 모듈은 패킹된 패치들을 포함하는 비디오 압축 이미지 프레임 및 기준 포인트 클라우드 오리지널 색상을 입력으로서 취할 수 있으며, 여기서 이미지 프레임의 패킹된 패치들은 제1 색공간으로부터 제2 색공간으로 변환되었다. 폐루프 색상 변환 모듈은 비디오 디코더를 사용하여 압축 이미지 프레임을 압축해제할 수 있고, 더욱이, 압축해제 이미지 프레임들을 사용하여 오리지널 포인트 클라우드를 재구성할 수 있다. 이어서, 폐루프 색상 변환 모듈은 (변환된 색공간에서) 압축해제 이미지 프레임들의 압축해제 패치들에 포함된 속성 및/또는 텍스처 정보에 기초하여 압축해제 포인트 클라우드의 포인트들에 대한 색상 값들을 결정할 수 있다. 이어서, 폐루프 색상 변환 모듈은 재구성 포인트 클라우드의 다운-샘플링된 색상 및 업-샘플링된 색상을 오리지널 비압축 포인트 클라우드의 색상들과 비교할 수 있다. 이어서, 이러한 비교에 기초하여, 폐루프 색상 변환 모듈은 이미지 프레임들을 오리지널 색공간으로부터 제2 색공간으로 변환하는 데 사용되는 하나 이상의 파라미터들을 조정할 수 있으며, 여기서 하나 이상의 파라미터들은, 최종 압축해제 포인트 클라우드 색상들의 품질을 개선하고 압축 포인트 클라우드의 크기를 감소시키도록 조정된다.
예시적인 시스템 배열
도 1은 일부 실시예들에 따른, 포인트 클라우드의 포인트들에 대한 정보를 캡처하는 센서 및 포인트 클라우드의 속성 정보를 압축하는 인코더를 포함하는 시스템을 도시하며, 여기서 압축 속성 정보는 디코더로 전송된다.
시스템(100)은 센서(102) 및 인코더(104)를 포함한다. 센서(102)는 센서(102)의 뷰(108)에서의 구조물(106)을 표현하는 포인트들을 포함하는 포인트 클라우드(110)를 캡처한다. 예를 들어, 일부 실시예들에서, 구조물(106)은 산맥, 건물, 표지판, 거리 주변 환경, 또는 임의의 다른 타입의 구조물일 수 있다. 일부 실시예들에서, 캡처된 포인트 클라우드(110)와 같은 캡처된 포인트 클라우드는 포인트 클라우드 내에 포함된 포인트들에 대한 공간 및 속성 정보를 포함할 수 있다. 예를 들어, 캡처된 포인트 클라우드(110)의 포인트(A)는 X, Y, Z 좌표들 및 속성들 1, 2, 및 3을 포함한다. 일부 실시예들에서, 포인트의 속성들은 속성들, 예컨대 R, G, B 색상 값들, 포인트에서의 속도, 포인트에서의 가속도, 포인트에서의 구조물의 반사율, 포인트가 캡처되었을 때를 나타내는 타임스탬프, 포인트가 캡처되었을 때의 양상, 예를 들어 "걷기"를 나타내는 스트링 값, 또는 다른 속성들을 포함할 수 있다. 캡처된 포인트 클라우드(110)는 인코더(104)에 제공될 수 있으며, 여기서 인코더(104)는 네트워크(114)를 통해 디코더(116)로 송신되는 포인트 클라우드의 압축 버전(압축 속성 정보(112))을 생성한다. 일부 실시예들에서, 압축 속성 정보(112)와 같은 포인트 클라우드의 압축 버전은 포인트 클라우드의 포인트들에 대한 압축 공간 정보를 또한 포함하는 공통 압축 포인트 클라우드 내에 포함될 수 있거나, 또는 일부 실시예들에서, 압축 공간 정보 및 압축 속성 정보는 별개의 데이터 세트들로서 통신될 수 있다.
일부 실시예들에서, 인코더(104)는 센서(102)와 통합될 수 있다. 예를 들어, 인코더(104)는 센서(102)와 같은 센서 디바이스에 포함된 하드웨어 또는 소프트웨어로 구현될 수 있다. 다른 실시예들에서, 인코더(104)는 센서(102)에 근접한 별개의 컴퓨팅 디바이스 상에서 구현될 수 있다.
예시적인 인트라 프레임 인코더
도 2a는 일부 실시예들에 따른, 인트라 포인트 클라우드 프레임들을 인코딩하기 위한 인코더의 컴포넌트들을 도시한다. 일부 실시예들에서, 도 1에 관하여 전술된 인코더는 도 2a에서 기술된 인코더(200) 및 도 2c에서 기술된 인코더(250)와 유사한 방식으로 동작할 수 있다.
인코더(200)는 비압축 포인트 클라우드(202)를 수신하고, 압축 포인트 클라우드 정보(204)를 생성한다. 일부 실시예들에서, 일례로서, 인코더(200)와 같은 인코더는 도 1에서 도시된 센서(102)와 같은 센서로부터 비압축 포인트 클라우드(202)를 수신할 수 있거나, 또는 일부 실시예들에서, 소프트웨어에서 비압축 포인트 클라우드를 생성하는 그래픽 생성 컴포넌트와 같은 다른 소스로부터 비압축 포인트 클라우드(202)를 수신할 수 있다.
일부 실시예들에서, 인코더(200)와 같은 인코더는 패치들로의 분해 모듈(decomposition into patches module)(206), 패킹 모듈(208), 공간 이미지 생성 모듈(210), 텍스처 이미지 생성 모듈(212), 및 속성 정보 생성 모듈(214)을 포함한다. 일부 실시예들에서, 인코더(200)와 같은 인코더는, 또한, 이미지 프레임 패딩 모듈(216), 비디오 압축 모듈(218) 및 멀티플렉서(224)를 포함한다. 또한, 일부 실시예들에서, 인코더(200)와 같은 인코더는 점유 맵 압축 모듈(220)과 같은 점유 맵 압축 모듈, 및 보조 패치 정보 압축 모듈(222)과 같은 보조 패치 정보 압축 모듈을 포함할 수 있다. 일부 실시예들에서, 인코더(200)와 같은 인코더는 3D 포인트 클라우드를, 압축 포인트 클라우드를 다시 압축해제 포인트 클라우드로 변환하는 데 필요한 일부 메타 데이터(예컨대, 점유 맵 및 패치 정보)와 함께 이미지 기반 표현으로 변환한다.
일부 실시예들에서, 변환 프로세스는, 포인트 클라우드를 중첩하고 있을 수 있거나 중첩하고 있지 않을 수 있는 패치들의 세트(예컨대, 패치는 포인트 클라우드에 의해 설명되는 표면의 인접한 서브세트로서 정의됨)로 분해하여, 각각의 패치가 2D 공간 내의 평면과 관련하여 깊이 필드에 의해 설명될 수 있게 한다. 패치 분해 프로세스에 관한 더 상세한 사항들은 도 3a 내지 도 3c와 관련하여 위에서 제공되어 있다.
압축되고 있는 포인트 클라우드에 대해 패치들이 결정된 이후 또는 이와 관련하여, 패치들과 연관된 평면들에서 2D 샘플링 프로세스가 수행된다. 2D 샘플링 프로세스는 균일하게 샘플링된 포인트 클라우드로 각각의 패치를 근사화하기 위해 적용될 수 있으며, 이는 패치 위치에서 포인트 클라우드의 기하구조/텍스처/속성들을 설명하는 2D 패치 이미지들의 세트로서 저장될 수 있다. "패킹" 모듈(208)은, 본 명세서에서 "이미지 프레임들"로 지칭되는, 단일(또는 다수의) 2D 이미지들 내의 패치들과 연관된 2D 패치 이미지들을 저장할 수 있다. 일부 실시예들에서, 패킹 모듈(208)과 같은 패킹 모듈은 2D 패치 이미지들을 패킹하여, (하나의 패치 이미지에 대한 외부 경계 박스가 다른 패치 이미지에 대한 외부 경계 박스와 중첩할 수 있다 하더라도) 패킹된 2D 패치 이미지들이 중첩하지 않게 할 수 있다. 또한, 패킹 모듈은 이미지 프레임의 미사용 이미지 픽셀들을 최소화하는 방식으로 2D 패치 이미지들을 패킹할 수 있다.
일부 실시예들에서, 모듈들(210, 212, 214)과 같은 "기하구조/텍스처/속성 생성" 모듈들은 주어진 패치 위치에서 포인트 클라우드의 기하구조/텍스처/속성들과 각각 연관된 2D 패치 이미지들을 생성한다. 전술된 바와 같이, 패킹 모듈(208)에 의해 수행되는 것과 같은 패킹 프로세스는 이미지 프레임으로 패킹된 2D 패치 이미지들 사이에 일부 비어 있는 공간들을 남길 수 있다. 또한, 이미지 프레임 패딩 모듈(216)과 같은 패딩 모듈은 2D 비디오 및 이미지 코덱들에 적합할 수 있는 이미지 프레임을 생성하기 위해 그러한 영역들을 충전할 수 있다.
일부 실시예들에서, 점유 맵(예컨대, 픽셀 또는 픽셀 블록이 패딩되든 패딩되지 않든, 각각의 픽셀 또는 픽셀 블록에 대해 설명하는 이진 정보)은, 예를 들어 점유 맵 압축 모듈(220)에 의해, 생성되고 압축될 수 있다. 점유 맵은, 디코더가 이미지 프레임의 패딩된 픽셀들과 패딩되지 않은 픽셀들 사이를 구별할 수 있게 하기 위해 디코더로 전송될 수 있다.
패치들과 연관된 다른 메타데이터는, 또한, 압축해제 프로세스에서 사용하기 위해 디코더로 전송될 수 있다는 것에 유의한다. 예를 들어, 포인트 클라우드에 대해 결정되고 이미지 프레임으로 패킹된 패치들의 크기들 및 형상들을 나타내는 패치 정보가 보조 패치 정보 압축 모듈(222)과 같은 보조 패치 정보 압축 모듈에 의해 생성되고/되거나 인코딩될 수 있다. 일부 실시예들에서, 하나 이상의 이미지 프레임들은 비디오 압축 모듈(218)과 같은 비디오 인코더에 의해 인코딩될 수 있다. 일부 실시예들에서, 비디오 압축 모듈(218)과 같은 비디오 인코더는 고효율 비디오 코딩(HEVC) 표준 또는 다른 적합한 비디오 인코딩 표준에 따라 동작할 수 있다. 일부 실시예들에서, 인코딩된 비디오 이미지들, 인코딩된 점유 맵 정보, 및 인코딩된 보조 패치 정보는 멀티플렉서(224)와 같은 멀티플렉서에 의해 다중화될 수 있고, 압축 포인트 클라우드 정보(204)와 같은 압축 포인트 클라우드 정보로서 수신자에게 제공될 수 있다.
일부 실시예들에서, 점유 맵은 비디오 압축 모듈(218)과 같은 비디오 압축 모듈에 의해 인코딩 및 디코딩될 수 있다. 이는 인코더(200)와 같은 인코더에서 행해져서, 인코더가 디코더에 의해 디코딩될 때 점유 맵이 어떻게 보일지의 정확한 표현을 갖도록 할 수 있다. 또한, 손실 압축 및 압축해제로 인한 이미지 프레임들의 변형들은 이미지 프레임에 대한 점유 맵을 결정할 때 점유 맵 압축 모듈(220)과 같은 점유 맵 압축 모듈에 의해 처리될 수 있다. 일부 실시예들에서, 다양한 기법들이 도 12a 내지 도 12m에 기술된 것과 같은 점유 맵을 추가로 압축하는 데 이용될 수 있다.
예시적인 인트라 프레임 디코더
도 2b는 일부 실시예들에 따른, 인트라 포인트 클라우드 프레임들을 디코딩하기 위한 디코더의 컴포넌트들을 도시한다. 디코더(230)는 압축 포인트 클라우드 정보(204)를 수신하는데, 이는 인코더(200)에 의해 생성된 동일한 압축 포인트 클라우드 정보(204)일 수 있다. 디코더(230)는 압축 포인트 클라우드 정보(204)를 수신한 것에 기초하여 재구성 포인트 클라우드(246)를 생성한다.
일부 실시예들에서, 디코더(230)와 같은 디코더는 디멀티플렉서(232), 비디오 압축해제 모듈(234), 점유 맵 압축해제 모듈(236), 및 보조 패치 정보 압축해제 모듈(238)을 포함한다. 추가로, 디코더(230)와 같은 디코더는 포인트 클라우드 생성 모듈(240)을 포함하는데, 이는 압축 포인트 클라우드 정보(204)와 같은 수신된 압축 포인트 클라우드 정보에 포함된 하나 이상의 이미지 프레임들에 포함된 패치 이미지들에 기초하여 포인트 클라우드를 재구성한다. 일부 실시예들에서, 디코더(203)와 같은 디코더는 평활화 필터(244)와 같은 평활화 필터를 추가로 포함한다. 일부 실시예들에서, 평활화 필터는 패치들의 에지들에서의 부조화(incongruence)들을 평활화할 수 있으며, 여기서 패치들에 대한 패치 이미지들에 포함된 데이터는 패치들에 대한 패치 이미지들로부터 포인트 클라우드를 재생성하기 위해 포인트 클라우드 생성 모듈에 의해 사용되어 왔다. 일부 실시예들에서, 평활화 필터는 압축/압축해제 프로세스에 의해 야기될 수 있는 왜곡들을 완화시키기 위해 패치 경계들 상에 위치된 픽셀들에 적용될 수 있다.
예시적인 인터 프레임 인코더
도 2c는 일부 실시예들에 따른, 인터 포인트 클라우드 프레임들을 인코딩하기 위한 인코더의 컴포넌트들을 도시한다. 인터 포인트 클라우드 인코더(250)와 같은 인터 포인트 클라우드 인코더는, 하나 이상의 이전에 인코딩된/디코딩된 이미지 프레임들을 기준들로서 고려하면서 이미지 프레임을 인코딩할 수 있다.
일부 실시예들에서, 인코더(250)와 같은 인터 포인트 클라우드 프레임들을 위한 인코더는 포인트 클라우드 리샘플링 모듈(252), 3D 모션 보상 및 델타 벡터 예측 모듈(254), 공간 이미지 생성 모듈(256), 텍스처 이미지 생성 모듈(258), 및 속성 이미지 생성 모듈(260)을 포함한다. 일부 실시예들에서, 인코더(250)와 같은 인터 포인트 클라우드 프레임들을 위한 인코더는, 또한, 이미지 패딩 모듈(262) 및 비디오 압축 모듈(264)을 포함할 수 있다. 인코더(250)와 같은 인터 포인트 클라우드 프레임들을 위한 인코더는 압축 포인트 클라우드 정보(266)와 같은 압축 포인트 클라우드 정보를 생성할 수 있다. 일부 실시예들에서, 압축 포인트 클라우드 정보는 인코더에 의해 이전에 인코딩된 포인트 클라우드 정보, 예컨대 하나 이상의 기준 이미지 프레임들로부터의 정보 또는 그들로부터 도출된 포인트 클라우드 정보를 참조할 수 있다. 이러한 방식으로, 인코더(250)와 같은 인터 포인트 클라우드 프레임들을 위한 인코더는, 기준 이미지 프레임에 포함된 정보를 반복하지 않고 대신에 기준 프레임들과 포인트 클라우드의 현재 상태 사이의 차이들을 통신함으로써 더 간결한 압축 포인트 클라우드 정보를 생성할 수 있다.
일부 실시예들에서, 인코더(250)와 같은 인코더는 인코더(200)와 같은 인트라 포인트 클라우드 프레임 인코더와 조합될 수 있거나 또는 이와 모듈들을 공유할 수 있다. 일부 실시예들에서, 포인트 클라우드 리샘플링 모듈(252)과 같은 포인트 클라우드 리샘플링 모듈은 현재 이미지 프레임의 패치들 내의 포인트들과 포인트 클라우드에 대한 기준 이미지 프레임의 패치들 내의 포인트들 사이의 일대일 맵핑을 결정하기 위해 입력 포인트 클라우드 이미지 프레임 내의 포인트들을 리샘플링할 수 있다. 일부 실시예들에서, 3D 모션 보상 및 델타 벡터 예측 모듈(254)과 같은 3D 모션 보상 및 델타 벡터 예측 모듈이 패치들의 리샘플링된 포인트들의 기하구조/텍스처/속성들에 시간 예측을 적용할 수 있다. 예측 잔차들은 이미지들에 저장될 수 있는데, 이들은 비디오/이미지 코덱들을 사용함으로써 패딩 및 압축될 수 있다. 기준 프레임과 현재 프레임 사이의 패치들의 포인트들에 대한 공간적 변화들과 관련하여, 3D 모션 보상 및 델타 벡터 예측 모듈(254)은, 포인트들이 기준 프레임으로부터 현재 프레임으로 어떻게 이동했는지를 나타내는 각각의 포인트들에 대한 개개의 벡터들을 결정할 수 있다. 이어서, 3D 모션 보상 및 델타 벡터 예측 모듈(254)은 상이한 이미지 파라미터들을 사용하여 모션 벡터들을 인코딩할 수 있다. 예를 들어, 포인트에 대한 X 방향으로의 변화들은 그 포인트를 포함하는 패치 이미지 내의 포인트에 포함된 적색의 양에 의해 표현될 수 있다. 유사한 방식으로, 포인트에 대한 Y 방향으로의 변화들은 그 포인트를 포함하는 패치 이미지 내의 포인트에 포함된 청색의 양에 의해 표현될 수 있다. 또한, 유사한 방식으로, 포인트에 대한 Z 방향으로의 변화들은 그 포인트를 포함하는 패치 이미지 내의 포인트에 포함된 녹색의 양에 의해 표현될 수 있다. 일부 실시예들에서, 패치 이미지에 포함된 이미지의 다른 특성들은 패치에 대한 기준 프레임과 패치에 대한 현재 프레임 사이의 패치에 포함된 포인트들의 모션을 나타내도록 조정될 수 있다.
예시적인 인터 프레임 디코더
도 2d는 일부 실시예들에 따른, 인터 포인트 클라우드 프레임들을 디코딩하기 위한 디코더의 컴포넌트들을 도시한다. 일부 실시예들에서, 디코더(280)와 같은 디코더는 비디오 압축해제 모듈(270), 역 3D 모션 보상 및 역 델타 예측 모듈(272), 포인트 클라우드 생성 모듈(274), 및 평활화 필터(276)를 포함한다. 일부 실시예들에서, 디코더(280)와 같은 디코더는 디코더(230)와 같은 디코더와 조합될 수 있거나, 또는 비디오 압축해제 모듈 및/또는 평활화 필터와 같은 디코더와 일부 컴포넌트들을 공유할 수 있다. 디코더(280)에서, 비디오/이미지 스트림들이 먼저 디코딩되고, 이어서, 역 모션 보상 및 델타 예측 절차가 적용될 수 있다. 이어서, 획득된 이미지들은 포인트 클라우드를 재구성하기 위해 사용되는데, 이는 재구성 포인트 클라우드(282)를 생성하기 위해 전술된 바와 같이 평활화될 수 있다.
세그먼트화 프로세스
도 3a는 일부 실시예들에 따른, 포인트 클라우드에 대한 패치들을 결정하기 위한 예시적인 세그먼트화 프로세스를 도시한다. 도 3a에서 기술되는 바와 같은 세그먼트화 프로세스는 패치들로의 분해 모듈(206)과 같은 패치들로의 분해 모듈에 의해 수행될 수 있다. 세그먼트화 프로세스는 개개의 패치들이 패치 평면에 대한 깊이 필드에 의해 표현될 수 있음을 확인하면서 포인트 클라우드를 최소 개수의 패치들(예컨대, 포인트 클라우드에 의해 설명되는 표면의 인접한 서브세트)로 분해할 수 있다. 이는 형상 정보의 상당한 손실 없이 행해질 수 있다.
일부 실시예들에서, 세그먼트화 프로세스는 하기를 포함한다:
○ 포인트 클라우드(PC)를 패치들로 구획화될 입력 포인트 클라우드라고 하고, {P(0), P(1)…,P(N-1)}를 포인트 클라우드(PC)의 포인트들의 위치들로 간주한다.
○ 일부 실시예들에서, K개의 3D 배향들의 고정 세트 D={D(0), D(1), …, D(K-1)}가 사전정의된다. 예를 들어, D는 하기와 같이 선택될 수 있다: D={(1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0), (-1.0, 0.0, 0.0), (0.0, -1.0, 0.0), (0.0, 0.0, -1.0)}.
○ 일부 실시예들에서, 모든 포인트 P(i)에서의 표면에 대한 법선 벡터가 추정된다. 표면에 대한 법선 벡터를 결정하는 데 임의의 적합한 알고리즘이 이용될 수 있다. 예를 들어, 기법은 P(i)의 "N"개의 최인접 포인트들의 세트 H를 페칭(fetch)하는 것, 및 주 성분 분석 기법들을 이용함으로써 평면 ∏(i)를 H(i)에 피팅하는 것을 포함할 수 있다. P(i)에 대한 법선은 ∏(i)에 대한 법선
Figure 112021144830164-pat00001
를 취함으로써 추정될 수 있다. "N"은 사용자 정의 파라미터일 수 있거나 또는 최적화 절차를 적용함으로써 발견될 수 있다는 것에 유의한다. "N"은, 또한, 고정될 수 있거나 또는 적응적일 수 있다. 이어서, 정상 값들은 최소 스패닝 트리 접근법(minimum-spanning tree approach)을 이용함으로써 일관되게 배향될 수 있다.
법선 기반 세그먼트화: 포인트 클라우드(PC)의 포인트들의 초기 세그먼트화 S0이 개개의 포인트들을 스코어
Figure 112021144830164-pat00002
를 최대화시키는 방향 D(k)와 연관시킴으로써 획득될 수 있으며, 여기서
Figure 112021144830164-pat00003
는 R3의 표준 내적(canonical dot product)이다. 의사 코드가 하기에서 제공된다.
Figure 112021144830164-pat00004
반복적인 세그먼트화 개량: 세그먼트화 S0이 개개의 포인트들을 그의 이웃(예컨대, 세그먼트의 이웃)의 기하구조를 가장 잘 보존하는 평면 ∏(i)와 연관시킨다는 것에 유의한다. 일부 상황들에서, 세그먼트화 S0은 불규칙한 경계들을 갖는 너무 많은 작은 연결된 성분들을 생성할 수 있고, 이는 불량한 압축 성능을 초래할 수 있다. 그러한 문제들을 피하기 위해, 하기의 반복적 세그먼트화 개량 절차가 적용될 수 있다:
1. 인접성 그래프(A)는 버텍스 V(i)를 포인트 클라우드(PC)의 개개의 포인트들 P(i)에 연관시킴으로써 그리고 버텍스 V(i)를 그의 최인접 이웃들 {V(j(0)), V(j(1)), …,V(j(R-1))}에 접속시키는 R개의 에지들 {E(i,j(0)), …,E(i,j(R-1)}을 추가함으로써 구축될 수 있다. 보다 정확하게는, {V(j(0)), V(j(1)), …,V(j(R-1))}는 P(i)의 최인접 이웃들일 수 있는 포인트들 {P(j(0)), P(j(1)), P(j(R-1))}과 연관된 버텍스들일 수 있다. R은 사용자 정의 파라미터일 수 있거나 또는 최적화 절차를 적용함으로써 발견될 수 있다는 것에 유의한다. 그것은, 또한, 고정될 수 있거나 또는 적응적일 수 있다.
2. 각각의 반복에서, 포인트 클라우드(PC)의 포인트들은 트래버스될 수 있고, 모든 버텍스는
Figure 112021144830164-pat00005
를 최대화시키는 방향
Figure 112021144830164-pat00006
와 연관될 수 있으며, 여기서
Figure 112021144830164-pat00007
는 동일한 클러스터에 속하는 V(i)의 R-최인접 이웃들의 개수이고,
Figure 112021144830164-pat00008
는 생성된 패치들의 규칙성을 제어하는 파라미터이다. 파라미터들
Figure 112021144830164-pat00009
및 R은 사용자에 의해 정의될 수 있거나 또는 최적화 절차를 적용함으로써 결정될 수 있다는 것에 유의한다. 그들은, 또한, 고정될 수 있거나 또는 적응적일 수 있다. 일부 실시예들에서, 본 명세서에서 언급되는 바와 같은 "사용자"는 하나 이상의 응용예들에 대해 본 명세서에서 기술되는 바와 같은 포인트 클라우드 압축 기법을 구성한 엔지니어일 수 있다.
3. 의사 코드의 일례가 하기에서 제공된다.
Figure 112021144830164-pat00010
* 일부 실시예들에서, 위에서 보여진 의사 코드는 조기 종료 단계를 추가로 포함할 수 있다. 예를 들어, 특정 값인 스코어에 도달하는 경우, 또는 도달된 스코어와 최상의 스코어 사이의 차이가 단지 소정 양 이하만큼만 변화하는 경우, 검색은 조기에 종료될 수 있다. 또한, 검색은, 소정 횟수의 반복(l= m) 이후, clusterindex가 변화하지 않는 경우에 종료될 수 있다.
패치 세그먼트화: 일부 실시예들에서, 패치 세그먼트화 절차는 이전의 단계들에서 검출된 클러스터들을, 투영 평면에 대해 깊이 필드로 표현될 수 있는 패치들로 추가로 세그먼트화한다. 이 접근법은 일부 실시예들에 따라 하기와 같이 진행한다:
1. 첫째, 동일한 클러스터에 속하는 포인트들만을 이웃들로서 간주하면서, 다수의 이웃들 R'을 갖는 클러스터 기반 인접성 그래프가 구축된다. R'은 이전 단계들에서 사용된 이웃들 R의 개수와는 상이할 수 있다는 것에 유의한다.
2. 다음으로, 클러스터 기반 인접성 그래프의 상이한 연결된 성분들이 추출된다. 파라미터(
Figure 112021144830164-pat00011
)보다 높은 다수의 포인트들을 갖는 연결된 성분들만이 고려된다. CC={CC(0), CC(1),..., CC(M-1)}을 추출된 연결된 성분들의 세트로 간주한다.
3. 개개의 연결된 성분 CC(m)은 그가 속하는 클러스터의 배향 D(m)을 이어받는다. 이어서, CC(m)의 포인트들은, 매 픽셀마다 투영 평면에 대한 최인접 포인트의 깊이를 기록하는 깊이 맵을 업데이트하는 동안 법선으로서 배향 D(m)을 갖는 투영 평면 상에 투영된다.
4. 이어서, 깊이 맵의 개개의 업데이트된 픽셀들을, 동일한 깊이를 갖는 3D 포인트와 연관시킴으로써, C'(m)로 표기되는 CC(m)의 근사화된 버전이 구축된다. PC'를, 재구성된 연결된 성분들 {CC'(0), CC'(1), …,CC'(M-1)}의 결합에 의해 획득된 포인트 클라우드로 간주한다.
5. 투영 재구성 프로세스는 손실성일 수 있고, 일부 포인트들은 누락될 수 있다는 것에 유의한다. 그러한 포인트들을 검출하기 위해, 포인트 클라우드(PC)의 모든 포인트 P(i)는 그것이 PC'의 포인트로부터 파라미터
Figure 112021144830164-pat00012
보다 낮은 거리 내에 있는지를 확인하기 위해 체크될 수 있다. 이것이 사실이 아닌 경우, P(i)는 누락된 포인트로서 마킹될 수 있고, MP로 표기된 누락된 포인트들의 세트에 추가될 수 있다.
6. 이어서, 단계 2 내지 단계 5는 누락된 포인트(MP)들에 적용된다. 프로세스는 MP가 빈 상태가 되거나 CC가 빈 상태가 될 때까지 반복된다. 파라미터들
Figure 112021144830164-pat00013
Figure 112021144830164-pat00014
는 사용자에 의해 정의될 수 있거나 또는 최적화 절차를 적용함으로써 결정될 수 있다는 것에 유의한다. 그들은, 또한, 고정될 수 있거나 또는 적응적일 수 있다.
7. 검출된 패치들이 압축에 더 적합해지게 하기 위해 이들에 필터링 절차가 적용될 수 있다. 예시적인 필터링 절차들은 하기를 포함할 수 있다:
a. 공간적 및 시간적 태양들 둘 모두를 고려하는, 패치들의 포인트들의 기하구조/텍스처/속성들에 기초한 평활화 필터(예컨대, 중간값 필터링).
b. 작고 분리된 패치들의 폐기.
c. 사용자-유도 필터링.
d. 다른 적합한 평활화 필터링 기법들.
층들
전술된 이미지 생성 프로세스는 각각의 패치에 속하는 포인트들을 그의 연관된 투영 평면 상에 투영하여 패치 이미지를 생성하는 것으로 이루어진다. 이러한 프로세스는 다수의 포인트들이 동일한 픽셀 상에 투영되는 상황을 다루도록 하기와 같이 일반화될 수 있다:
Figure 112021144830164-pat00015
H(u, v)를 동일한 픽셀(u, v)에 투영되는 현재 패치의 포인트들의 세트로 간주한다. H(u, v)는 비어 있을 수 있고, 하나의 포인트 또는 다수의 포인트들을 가질 수 있다는 것에 유의한다.
Figure 112021144830164-pat00016
H(u, v)가 비어 있는 경우, 픽셀은 점유되지 않은 것으로서 마킹된다.
Figure 112021144830164-pat00017
H(u, v)가 단일 요소를 갖는 경우, 픽셀은 연관된 기하구조/텍스처/속성 값으로 충전된다.
Figure 112021144830164-pat00018
H(u, v)가 다수의 요소들을 갖는 경우, 상이한 전략들이 하기와 같이 가능하다:
○ 픽셀(u, v)에 대한 최인접 포인트 P0(u, v)만을 유지한다.
○ P0(u, v)로부터 거리 d 내에 있는 포인트들의 그룹의 평균 또는 선형 조합을 취하되, 여기서 d는 인코더측 상에서만 필요한 사용자 정의 파라미터이다.
○ 2개의 이미지들, 즉 P0(u, v)에 대한 이미지, 및 P0(u, v)으로부터 거리 d 내에 있는 H(u, v)의 가장 먼 포인트 P1(u, v)을 저장하는 이미지를 저장한다.
○ H(u, v)의 서브세트를 포함하는 N개의 패치 이미지들을 저장한다.
패치 위치가 동일하지만 깊이들이 상이한 포인트들을 갖는 포인트 클라우드들에 대한 생성된 패치 이미지들은 본 명세서에서 층들로 지칭될 수 있다. 일부 실시예들에서, 재구성 포인트 클라우드 내의 포인트들의 수를 제어하기 위해, 생성된 패치 이미지들/층들에 스케일링/업-샘플링/다운-샘플링이 적용될 수 있다.
유도된 업-샘플링 전략들은 다운-샘플링되지 않은 다른 "1차" 층으로부터의 풀 해상도 이미지(full resolution image)를 고려해 볼 때 다운-샘플링된 층들 상에서 수행될 수 있다.
다운-샘플링은 유도된 업-샘플링 전략을 활용하면서 폐루프 색상 변환과 관련하여 후술되는 바와 같은 폐루프 기법들을 레버리징(leverage)할 수 있다. 예를 들어, 생성된 층은 독립적으로 인코딩될 수 있으며, 이는 동시 디코딩 및 오차 복원성(error resilience)을 허용한다. 또한, 스케일러블-HEVC 표준에 의해 특정된 것들과 같은 인코딩 전략들은 공간, SNR(신호 대 잡음비), 및 색역 확장성(color gamut scalability)과 같은 고급 기능들을 지원하기 위해 레버리징될 수 있다.
일부 실시예들에서, 층들 사이의 델타 예측은 레이트-왜곡(rate-distortion) 최적화에 기초하여 적응적으로 적용될 수 있다. 이러한 선택은 비트 스트림에서 명시적으로 시그널링될 수 있다.
일부 실시예들에서, 생성된 층들은 상이한 정밀도들로 인코딩될 수 있다. 각각의 층의 정밀도는 시프트+스케일(shift+ scale) 또는 보다 일반적인 선형 또는 비선형 변환을 사용함으로써 적응적으로 제어될 수 있다.
일부 실시예들에서, 인코더는 스케일링 전략 및 파라미터들에 대해 결정들을 행할 수 있으며, 이들은 비트 스트림에서 명시적으로 인코딩된다. 디코더는 비트 스트림으로부터 정보를 판독할 수 있고, 인코더에 의해 시그널링된 파라미터들로 올바른 스케일링 프로세스를 적용할 수 있다.
일부 실시예들에서, 이미지 프레임의 각각의 블록에 대해, 개량 검색을 위한 2D 검색 센터 또는 모션 벡터 후보들을 나타내는 모션 벡터 맵을 비디오 인코더에 제공함으로써 비디오 인코딩 모션 추정 프로세스가 유도될 수 있다. 그러한 정보는 계산하는 데 사소할 수 있는데, 이는 3D 프레임들과 2D 이미지 프레임들 사이의 맵핑이 포인트 클라우드 인코더에 이용가능하고 2D 이미지 프레임들 사이의 대략적인 맵핑이 3D에서 최인접 이웃 검색을 사용함으로써 계산될 수 있기 때문이다.
비디오 모션 추정/모드 결정/인트라 예측은, 각각의 NxN 픽셀 블록에 대해 검색할 곳 및 그로부터 선택할 모드들에 대한 유도를 제공할 수 있는 검색 센터 맵을 제공함으로써 가속화/개선될 수 있다.
은닉된/디스플레이되지 않은 픽처들은 AV1 및 HEVC와 같은 코덱들에서 사용될 수 있다. 특히, 합성된 패치들은 예측 효율을 개선하기 위해 생성 및 인코딩될 수 있다(그러나 디스플레이될 수 없음). 이는 합성된 패치들을 저장하기 위해 패딩된 픽셀들의 서브세트를 재사용함으로써 달성될 수 있다.
전술된 패치 리샘플링(예컨대, 패킹 및 패치 세그먼트화) 프로세스는 기하구조 정보만을 활용한다. 더 포괄적인 접근법은 기하구조, 텍스처, 및 다른 속성들의 관점에서 왜곡들을 고려할 수 있고, 리샘플링된 포인트 클라우드들의 품질을 개선할 수 있다.
상기 기하구조를 고려하여, 기하구조 이미지를 먼저 도출하고 텍스처 이미지를 최적화하는 것 대신에, 기하구조 및 텍스처의 합동 최적화가 수행될 수 있다. 예를 들어, 기하구조 패치들은 기하구조 및 텍스처 둘 모두에 대해 최소 왜곡을 초래하는 방식으로 선택될 수 있다. 이는, 각각의 가능한 기하구조 패치를 그의 대응하는 텍스처 패치와 즉시 연관시키고 그들의 대응하는 왜곡 정보를 계산함으로써 행해질 수 있다. 타깃 압축률이 알려진 경우, 레이트-왜곡 최적화가 또한 고려될 수 있다.
일부 실시예들에서, 전술된 포인트 클라우드 리샘플링 프로세스는 기하구조에만 의존하는 대신에 텍스처 및 속성 정보를 추가로 고려할 수 있다.
또한, 3D 포인트들을 2D 픽셀들에 맵핑하는 투영 기반 변환은 임의적인 3D 대 2D 맵핑을 지원하도록 하기와 같이 일반화될 수 있다:
Figure 112021144830164-pat00019
각각의 포인트와 연관된 3D 대 2D 변환 파라미터들 또는 픽셀 좌표들을 저장한다
Figure 112021144830164-pat00020
깊이 정보 대신에 또는 그에 더하여, 기하구조 이미지들에서의 X, Y, Z 좌표들을 저장한다
패킹
일부 실시예들에서, 전술된 것들과 같은, 본 명세서에서 "깊이 패치 이미지들"로도 지칭되는, 패치들과 연관된 깊이 맵들은 2D 이미지 프레임으로 패킹될 수 있다. 예를 들어, 패킹 모듈(208)과 같은 패킹 모듈은 공간 이미지 생성 모듈(210)과 같은 공간 이미지 생성 모듈에 의해 생성되는 깊이 패치 이미지들을 패킹할 수 있다. 깊이 맵들 또는 깊이 패치 이미지들은, (A) TxT 픽셀들의 비중첩 블록이 2개의 상이한 패치들로부터의 깊이 정보를 포함하지 않도록 그리고 (B) 생성된 이미지 프레임의 크기가 최소화되도록 패킹될 수 있다.
일부 실시예들에서, 패킹은 하기의 단계들을 포함한다:
a. 패치들은 높이별로 그리고 이어서 폭별로 분류된다. 이어서, 패치들은 이미지 프레임(I)에 그 순서대로 차례로 삽입된다. 각각의 단계에서, 전술된 2개의 조건들 (A) 및 (B) 하에 현재 패치가 삽입될 수 있는지의 여부를 체크하면서, 이미지 프레임(I)의 픽셀들이 래스터 순서로 트래버스된다. 그것이 가능하지 않은 경우, (I)의 높이는 2배가 된다.
b. 이러한 프로세스는 모든 패치들이 삽입될 때까지 반복된다.
일부 실시예들에서, 전술된 패킹 프로세스는 이미지 프레임 또는 다수의 이미지 프레임들의 다수의 타일들 내부에서 패치들의 서브세트를 패킹하도록 적용될 수 있다. 이는, 렌더링 카메라 위치에 따른 가시성에 기초하여 유사한/가까운 배향들을 갖는 패치들이 동일한 이미지 프레임/타일에 저장될 수 있게 하여, 뷰-의존적 스트리밍 및/또는 디코딩을 가능하게 할 수 있다. 이는, 또한, 동시 인코딩/디코딩을 허용할 수 있다.
일부 실시예들에서, 패킹 프로세스는 빈-패킹(bin-packing) 문제로 간주될 수 있고, 전술된 바와 같은 제1 감소 전략이 빈-패킹 문제를 해결하는 데 적용될 수 있다. 다른 실시예들에서, MFFD(modified first fit decreasing) 전략과 같은 다른 방법들이 패킹 프로세스에서 적용될 수 있다.
일부 실시예들에서, 인터 압축 인코더(250)에 대해 기술된 것과 같은 시간적 예측이 사용되는 경우, 그러한 최적화는 공간적 예측/인코딩에 더하여 시간적 예측/인코딩으로 수행될 수 있다. 그러한 고려는 전체 비디오 시퀀스에 대해 또는 픽처 그룹(group of pictures, GOP)마다 이루어질 수 있다. 후자의 경우에, 추가적인 제약들이 특정될 수 있다. 예를 들어, 제약은 이미지 프레임들의 해상도가 임계량을 초과하지 않아야 한다는 것일 수 있다. 일부 실시예들에서, 시간적 예측이 사용되지 않는 경우에도, 예를 들어, 특정 객체 뷰에 대응하는 패치가 이전 인스턴스화로부터 X개 초과의 픽셀들만큼 이동되지 않도록 추가적인 시간적 제약들이 부과될 수 있다.
도 3b는 일부 실시예들에 따른, 패킹된 패치 이미지들 및 패딩된 부분들을 포함하는 예시적인 이미지 프레임을 도시한다. 이미지 프레임(300)은 이미지 프레임(300)으로 패킹된 패치 이미지들(302)을 포함하고, 또한, 패치 이미지들에 의해 점유되지 않은 이미지 프레임(300)의 공간에 패딩(304)을 포함한다. 일부 실시예들에서, 패딩(304)과 같은 패딩은 패치 이미지와 패딩 사이의 부조화들을 최소화하도록 결정될 수 있다. 예를 들어, 일부 실시예들에서, 패딩은 패치 이미지들의 에지들 상에 있는 픽셀 블록들의 복제물이거나 또는 그들과 어느 정도 유사한 새로운 픽셀 블록들을 구성할 수 있다. 이미지 및/또는 비디오 인코더는 인접한 픽셀들 사이의 차이들에 기초하여 인코딩할 수 있기 때문에, 그러한 접근법은, 일부 실시예들에서, 패치 이미지들 및 패딩을 포함하는 이미지 프레임을 인코딩하기 위해 요구되는 바이트 수를 감소시킬 수 있다.
일부 실시예들에서, 패치 정보는 패킹 동안 사용된 순서와 동일한 순서로 저장될 수 있으며, 이는 패치들의 중첩하는 2D 경계 박스들을 다루는 것을 가능하게 한다. 따라서, 패치 정보를 수신하는 디코더는, 패치 이미지들이 이미지 프레임으로 패킹되었던 동일한 순서로 이미지 프레임으로부터 패치 이미지들을 추출할 수 있다. 또한, 순서가 디코더에 의해 알려져 있기 때문에, 디코더는 중첩하는 패치 이미지 경계 박스들을 해결할 수 있다.
도 3c는 일부 실시예들에 따른, 중첩 패치들을 갖는 예시적인 이미지 프레임(312)을 도시한다. 도 3c는 영역(318)에서 중첩하는 중첩 2D 경계 박스들(314, 316)을 갖는 2개의 패치들(패치 이미지 1 및 패치 이미지 2)을 갖는 일례를 도시한다. 영역(318) 내의 TxT 블록들이 어느 패치에 속하는지를 결정하기 위해, 패치들의 순서가 고려될 수 있다. 예를 들어, TxT 블록(314)은 최종 디코딩된 패치에 속할 수 있다. 이는, 중첩 패치의 경우에, 나중에 배치된 패치가 그것이 이전에 배치된 패치와 중첩하도록 배치되기 때문일 수 있다. 배치 순서를 아는 것에 의해, 중첩 경계 박스들의 영역들이 가장 나중에 배치된 패치를 받아들이는 것이 해결될 수 있다. 일부 실시예들에서, 패치 정보는 (예컨대, 엔트로피/산술 인코더로) 예측 및 인코딩된다. 또한, 일부 실시예들에서, U0, V0, DU0 및 DV0은 T의 배수들로서 인코딩되며, 여기서 T는 패딩 페이즈들 동안 사용되는 블록 크기이다.
도 3c는, 또한, 이미지 프레임(312)의 블록들을 도시하는데, 여기서 블록들은 서브블록들로 추가로 분할될 수 있다. 예를 들어, 블록 A1, B1, C1, A2 등은 다수의 서브블록들로 분할될 수 있고, 일부 실시예들에서, 서브블록들은 더 작은 블록들로 추가로 분할될 수 있다. 일부 실시예들에서, 비디오 압축 모듈(218) 또는 비디오 압축 모듈(264)과 같은 인코더의 비디오 압축 모듈은 블록이 활성 픽셀들을 포함하는지, 비활성 픽셀들을 포함하는지, 아니면 활성 픽셀들과 비활성 픽셀들의 혼합을 포함하는지를 결정할 수 있다. 비디오 압축 모듈은 활성 픽셀들을 포함하는 블록들을 인코딩하기 위해 계상되는 리소스들의 양보다 비활성 픽셀들을 포함하는 블록들을 압축하는 데 더 적은 리소스들을 계상할 수 있다. 일부 실시예들에서, 활성 픽셀들은 패치 이미지에 대한 데이터를 포함하는 픽셀들일 수 있고, 비활성 픽셀들은 패딩을 포함하는 픽셀들일 수 있다. 일부 실시예들에서, 비디오 압축 모듈은 활성 픽셀들 및 비활성 픽셀들 둘 모두를 포함하는 블록들을 세분할 수 있고, 블록들의 서브블록들이 활성 픽셀들을 포함하는지 아니면 비활성 픽셀들을 포함하는지에 기초하여 리소스들을 계상할 수 있다. 예를 들어, 블록들 A1, B1, C1, A2는 비활성 픽셀들을 포함할 수 있다. 다른 예로서, 블록 E3은 활성 픽셀들을 포함할 수 있고, 블록 B6은, 일례로서, 활성 픽셀들과 비활성 픽셀들의 혼합을 포함할 수 있다.
일부 실시예들에서, 패치 이미지는 포인트 클라우드를 정육면체, 원통, 구체 등 상에 투영하는 것과 같은 투영들에 기초하여 결정될 수 있다. 일부 실시예들에서, 패치 이미지는 패딩 없이 풀 이미지 프레임을 점유하는 투영부를 포함할 수 있다. 예를 들어, 정육면체 투영부에서, 6개의 정육면체 면들 각각은 풀 이미지 프레임을 점유하는 패치 이미지일 수 있다.
예를 들어, 도 3d는 일부 실시예들에 따른, 다수의 투영부들 상에 투영되고 있는 포인트 클라우드를 도시한다.
일부 실시예들에서, 포인트 클라우드의 표현은 다수의 투영부들을 사용하여 인코딩된다. 예를 들어, 세그먼트에 대한 법선에 수직인 평면 상에 투영된 포인트 클라우드의 세그먼트에 대한 패치들을 결정하는 것 대신에, 포인트 클라우드는 다수의 임의적인 평면들 또는 표면들 상에 투영될 수 있다. 예를 들어, 포인트 클라우드가 정육면체, 원통, 구체 등의 측면들 상에 투영될 수 있다. 또한, 포인트 클라우드와 교차하는 다수의 투영부들이 사용될 수 있다. 일부 실시예들에서, 투영부들은 종래의 비디오 압축 방법들을 이용하여, 예컨대 비디오 압축 모듈(218) 또는 비디오 압축 모듈(264)을 통해 인코딩될 수 있다. 특히, 포인트 클라우드 표현은, 먼저 정육면체와 같은 일정 형상 상에 투영될 수 있고, 그 형상 상에 투영된 상이한 투영부들/면들(즉, 전방(320), 후방(322), 상부(324), 저부(326), 좌측(328), 우측(330))은 모두가 단일 이미지 프레임 또는 다수의 이미지 프레임들 상으로 패킹될 수 있다. 이러한 정보뿐만 아니라 깊이 정보는 HEVC(3D-HEVC) 표준의 3D 확장에서 제공되는 것들과 같은 코딩 툴들과는 별개로 또는 이들을 사용하여 인코딩될 수 있다. 정보는 포인트 클라우드의 표현을 제공할 수 있는데, 이는 투영 이미지들이 포인트 클라우드의 모든 투영된 포인트들의 (x, y) 기하구조 좌표들을 제공할 수 있기 때문이다. 추가로, z 좌표들을 제공하는 깊이 정보가 인코딩될 수 있다. 일부 실시예들에서, 깊이 정보는, 투영부들 중에서, 상이한 깊이들에서 포인트 클라우드를 슬라이싱한 상이한 투영부들을 비교함으로써 결정될 수 있다. 포인트 클라우드를 정육면체 상에 투영할 때, 투영부들은, 예컨대, 폐색들로 인해, 모든 포인트 클라우드 포인트들을 커버하지 않을 수 있다. 따라서, 이러한 누락 포인트들을 제공하기 위해 추가 정보가 인코딩될 수 있고, 누락 포인트들에 대해 업데이트들이 제공될 수 있다.
일부 실시예들에서, 그러한 투영들을 더 추가로 개선하는, 정육면체 투영에 대한 조정들이 수행될 수 있다. 예를 들어, 조정들은 인코더에서만 적용될 수 있거나(비규범적), 또는 인코더 및 디코더 둘 다에 적용될 수 있다(규범적).
보다 구체적으로, 일부 실시예들에서, 대안의 투영부들이 사용될 수 있다. 예를 들어, 정육면체 투영부를 사용하는 대신에, 원통형 또는 구체형 타입의 투영 방법이 이용될 수 있다. 그러한 방법들은, 제거되지 않는 경우, 정육면체 투영부에서 존재할 수 있는 리던던시들을 감소시킬 수 있고, 정육면체 투영부들에서 존재할 수 있는 "시임(seam)들"의 수 또는 효과를 감소시킬 수 있다. 그러한 시임들은, 예를 들어, 객체 경계들에서 아티팩트를 생성할 수 있다. 그러한 시임들의 수 또는 효과를 제거하거나 감소시키는 것은 정육면체 투영 방법들에 비해 개선된 압축/주관적 품질을 초래할 수 있다. 구체형 투영의 경우에 대해, 다양한 서브투영부들, 예컨대, 그 중에서도, 등직사각형, 등각, 및 오토그래프(authagraph) 투영부가 사용될 수 있다. 이러한 투영부들은 2D 평면 상으로의 구체의 투영을 허용할 수 있다. 일부 실시예들에서, 시임들의 효과들은 중첩 투영부들에 의해 강조되지 않을 수 있으며, 여기서 다수의 투영부들은 포인트 클라우드로 제조되고, 투영부들은 에지들에서 서로 중첩하여, 시임들에서 중첩 정보가 있게 된다. 시임들의 효과들을 감소시키기 위해 중첩 시임들에서 블렌딩 효과가 채용되어, 그에 따라 시임들을 덜 가시적이게 할 수 있다.
(원통형 또는 구체형 투영들과 같은) 상이한 투영 방법을 고려하는 것에 더하여 또는 그 대신에, 일부 실시예들에서, 다수의 평행한 투영들이 사용될 수 있다. 다수의 평행한 투영들은 추가 정보를 제공할 수 있고, 폐색된 포인트들의 수를 감소시킬 수 있다. 투영부들은 디코더에서 알려져 있거나 디코더로 시그널링될 수 있다. 그러한 투영부들은 포인트 클라우드 객체와는 상이한 거리들에 있는 평면들 또는 표면들 상에서 정의될 수 있다. 또한, 일부 실시예들에서, 투영부들은 상이한 형상들의 것일 수 있고, 또한, 포인트 클라우드 객체 자체를 통해 중첩하거나 또는 그를 통해 교차할 수 있다. 이러한 투영부들은 전술된 바와 같은 단일 투영 방법 또는 패치 세그먼트화 방법을 통해 폐색되었을 수 있는 포인트 클라우드 객체의 일부 특성들을 캡처하는 것을 허용할 수 있다.
예를 들어, 도 3e는 일부 실시예들에 따른, 다수의 평행한 투영부들 상에 투영되고 있는 포인트 클라우드를 도시한다. 커피 머그를 표현하는 포인트들을 포함하는 포인트 클라우드(350)는 Z 축에 직교하는 평면들을 포함하는 평행한 수평 투영부들(352) 상에 투영된다. 포인트 클라우드(350)는, 또한, X 축에 직교하는 평면들을 포함하는 수직 투영부들(354) 상에 투영되고, Y 축에 직교하는 평면들을 포함하는 수직 투영부들(356) 상에 투영된다. 일부 실시예들에서, 평면들 대신에, 다수의 투영부들은 다수의 원통들 또는 구체들과 같은 다른 형상들을 갖는 투영부들을 포함할 수 있다.
깊이를 갖는 이미지들의 생성
일부 실시예들에서, 이미지 프레임의 픽셀들의 서브세트만이 점유될 것이고 포인트 클라우드의 3D 포인트들의 서브세트에 대응할 수 있다. 패치 이미지들의 맵핑은, 각각의 점유된 픽셀에 대해 그의 연관된 포인트의 깊이/텍스처/속성 값을 저장함으로써 기하구조, 텍스처, 및 속성 이미지들을 생성하는 데 사용될 수 있다.
일부 실시예들에서, 공간 정보는 다양한 변형들로 저장될 수 있는데, 예를 들어, 공간 정보는,
a. 깊이를 단색 이미지로서 저장할 수 있다.
b. 깊이를 Y로서 저장하고 U 및 V를 빈 상태로 유지할 수 있다(여기서, YUV는 색공간이고, 또한, RGB 색공간도 사용될 수 있음).
c. 압축 동안의 패치간 오염을 피하기 위해 그리고/또는 압축 효율을 개선하기 위해, 상이한 패치들에 대한 깊이 정보를 상이한 색상 평면들 Y, U 및 V에 저장할 수 있다(예컨대, 동일한 색상 평면에서 상관된 패치들을 가질 수 있음) 또한, 프레임의 콘텐츠와는 독립적으로 동일한 인코딩/디코딩 시간을 소모할 수 있는 하드웨어 코덱 능력들이 활용될 수 있다.
d. 동시에 인코딩 및 디코딩될 수 있는 다수의 이미지들 또는 타일들 상에 깊이 패치 이미지들을 저장할 수 있다. 하나의 이점은, 유사한/가까운 배향들로 또는 동일한 이미지/타일 내의 렌더링 카메라 위치에 따른 가시성에 기초하여 깊이 패치 이미지들을 저장하여, 뷰-의존적 스트리밍 및/또는 디코딩을 가능하게 하는 것이다.
e. 깊이를 Y로서 저장하고, U 및 V에서 깊이의 리던던트 버전을 저장할 수 있다.
f. Y, U, 및 V에 X, Y, Z 좌표들을 저장할 수 있다.
g. 상이한 비트 깊이(예컨대, 8, 10 또는 12 비트) 및 샘플링(예컨대, 420, 422, 444...)이 사용될 수 있다. 상이한 비트 깊이가 상이한 색상 평면들에 사용될 수 있다는 것에 유의한다.
패딩
일부 실시예들에서, 패딩은 점유되지 않은 픽셀들을, 생성된 이미지가 비디오/이미지 압축에 적합하도록 하는 값들로 충전하도록 수행될 수 있다. 예를 들어, 이미지 프레임 패딩 모듈(216) 또는 이미지 패딩 모듈(262)은 후술되는 바와 같이 패딩을 수행할 수 있다.
일부 실시예들에서, 패딩은, 기존의 비디오 코덱들에 의해 사용되는 인트라 예측 모드들을 선호하면서, 픽셀 블록들 상에서 적용된다. 보다 정확하게는, 패딩될 크기 BxB의 각각의 블록에 대해, 비디오 인코더측에서 이용가능한 인트라 예측 모드들이 평가되고, 점유된 픽셀들 상에서 최저 예측 오차들을 생성하는 것이 유지된다. 이는 비디오/이미지 코덱들이 통상적으로, 사전정의된 크기들(예컨대, 64×64, 32×32, 16×16...)을 갖는 픽셀 블록들에서 동작한다는 사실을 이용할 수 있다. 일부 실시예들에서, 다른 패딩 기법들은 선형 외삽법, 인-페인팅 기법들, 또는 다른 적합한 기법들을 포함할 수 있다.
비디오 압축
일부 실시예들에서, 비디오 압축 모듈(218) 또는 비디오 압축 모듈(264)과 같은 비디오 압축 모듈은 후술되는 바와 같이 비디오 압축을 수행할 수 있다.
일부 실시예들에서, 비디오 인코더는 점유 맵을 레버리징할 수 있는데, 점유 맵은 이미지의 각각의 픽셀에 대해 그것이 포인트 클라우드 또는 패딩된 픽셀들에 속하는 정보를 저장하는지의 여부를 설명한다. 일부 실시예들에서, 그러한 정보는 디-블록킹(de-blocking), 적응적 루프 필터링(adaptive loop filtering, ALF), 또는 형상 적응적 오프셋(adaptive loop filtering, SAO) 필터링과 같은 다양한 특징들을 적응적으로 가능하게 하는 것을 허용할 수 있다. 또한, 그러한 정보는 레이트 제어 모듈이 상이한, 예컨대 더 낮은 양자화 파라미터(quantization parameter, QP)들, 및 본질적으로, 상이한 양의 비트들을, 점유 맵 에지들을 포함하는 블록들에 적응시키고 할당하게 할 수 있다. 라그랑지 승수(lagrangian multiplier)들, 양자 임계화, 양자 매트릭스들 등과 같은 코딩 파라미터들이, 또한, 포인트 클라우드 투영 블록들의 특성들에 따라 조정될 수 있다. 일부 실시예들에서, 그러한 정보는, 또한, 패딩되지 않은 픽셀들에 기초한 왜곡들을 고려하기 위해 점유 맵을 레버리징하도록 레이트 왜곡 최적화(rate distortion optimization, RDO) 및 레이트 제어/할당을 가능하게 할 수 있다. 더 일반적인 형태에서, 왜곡의 가중화는 포인트 클라우드 기하구조에 대한 각각의 픽셀의 "중요성"에 기초할 수 있다. 중요성은 다양한 태양들, 예컨대, 다른 포인트 클라우드 샘플들에 대한 근접성, 샘플들의 방향성/배향/위치 등에 기초할 수 있다. 예를 들어, 전방 대면 샘플들은 왜곡 계산 시에 후방 대면 샘플들보다 더 높은 가중화를 수신할 수 있다. 왜곡은 평균 제곱 또는 절대 오차와 같은 메트릭들을 사용하여 계산될 수 있지만, SSIM, VQM, VDP, Hausdorff 거리, 및 기타와 같은 상이한 왜곡 메트릭들이 또한 고려될 수 있다.
점유 맵 압축
일부 실시예들에서, 점유 맵 압축 모듈(220)과 같은 점유 맵 압축 모듈은 후술되는 바와 같이 점유 맵을 압축할 수 있다.
예시적인 점유 맵 압축 기법들
일부 실시예들에서, 점유 맵은 계층적 모드에서 인코딩될 수 있다. 그러한 프로세스는 하기를 포함할 수 있다:
1. 인코딩되고 있는 각각의 B1×B2 픽셀 블록(예컨대, 전체 이미지를 커버하는 직사각형, 또는 64×64, 64×32, 32×32 블록 등과 같은 상이한 크기들의 더 작은 블록들)에 대한 이진 정보가 블록이 비어 있는지(예컨대, 패딩된 픽셀들만을 가짐) 아니면 비어 있지 않은지(예컨대, 패딩되지 않은 픽셀들을 가짐)를 나타냄.
2. 블록이 비어 있지 않은 경우, 제2 이진 정보는 블록이 풀(full)인지(예컨대, 모든 픽셀들이 패딩되어 있지 않은지) 아닌지를 나타내도록 인코딩될 수 있다.
3. 이어서, 비어 있지 않고 풀 아닌(non-full) 블록들은 그들의 (B1/2)×(B2/2) 서브블록들을 고려함으로써 개량될 수 있다.
4. 단계 1 내지 단계 3은 블록 크기가 (예컨대, 크기 4×4의) 소정 블록 크기 B3×B4에 도달할 때까지 반복될 수 있다. 이러한 레벨에서, 비어 있는/비어 있지 않은 정보만이 인코딩될 수 있다.
5. 엔트로피 기반 코덱은 단계 1 및 단계 2에서 이진 정보를 인코딩하는 데 사용될 수 있다. 예를 들어, 콘텍스트 적응적 이진 산술 인코더들이 사용될 수 있다.
6. 재구성 기하구조 이미지는 점유 맵을 더 양호하게 인코딩하도록 레버리징될 수 있다. 보다 정확하게는, 잔차 예측 오차들은 블록이 비어 있는지 아닌지 아니면 풀인지 아닌지를 예측하는 데 사용될 수 있다. 그러한 정보는 예측된 경우에 기초하여 상이한 콘텍스트를 사용함으로써 또는 단순히, 예측되는 값으로 XOR된 이진 값을 인코딩함으로써 통합될 수 있다.
일부 실시예들에서, 메시 기반 코덱들은 전술된 접근법에 대한 대안예일 수 있다.
추가의 예시적인 점유 맵 압축 기법
일부 실시예들에서, 보조 정보 및 패치 인코딩 순서는 각각의 T×T 블록(예컨대, 16×16 블록)에 대해 그것이 어느 패치에 속하는지를 나타내는 맵핑 정보를 효율적으로 압축하기 위해 레버리징될 수 있다. 이러한 맵핑은 비트 스트림에서 하기와 같이 명시적으로 인코딩될 수 있다:
Figure 112021144830164-pat00021
각각의 T×T에 대해 그 블록과 중첩하는 모든 패치들을 고려함으로써 후보 패치들의 리스트가 생성된다.
Figure 112021144830164-pat00022
후보들의 리스트는 패치들의 역순으로 분류된다.
Figure 112021144830164-pat00023
각각의 블록에 대해, 이러한 리스트 내의 패치의 인덱스는 산술 또는 다른 형태의 엔트로피 인코더(예컨대, UVLC 또는 Huffman 기반)를 사용함으로써 인코딩된다.
Figure 112021144830164-pat00024
비어 있는 블록들이 0과 같은 특수 인덱스를 할당받는다는 것에 유의한다.
Figure 112021144830164-pat00025
전술된 맵핑 정보는 빈 T×T 블록들(예컨대, 패딩된 픽셀들만을 포함하는 블록들)을 검출하는 것을 가능하게 한다. 점유 정보는 비어 있지 않은 TxT 블록들(예컨대, 적어도 하나의 패딩되지 않은 픽셀을 포함하는 블록들)에 대해서만 인코딩된다.
Figure 112021144830164-pat00026
점유 맵은 B0×B0 블록들의 정밀도로 인코딩된다. 무손실 인코딩을 달성하기 위해, B0은 1로 선택된다. 일부 실시예들에서, B0 = 2 또는 B0 = 4이며, 이는 점유 맵을 인코딩하기 위해 요구되는 비트들의 수를 상당히 감소시키면서 시각적으로 허용가능한 결과들을 가져올 수 있다.
Figure 112021144830164-pat00027
이진 값들이 동일한 T×T 블록에 속하는 B0×B0 서브블록들과 연관된다. 상이한 전략들이 가능하다. 예를 들어, 하나는 서브블록이 적어도 일부의 패더링되지 않은 픽셀들을 포함하는 경우에는 1의 값을 그리고 그렇지 않은 경우에는 0의 값을 연관시킬 수 있다. 서브블록이 1의 값을 갖는 경우, 그것은 풀인 것으로 간주되며, 그렇지 않은 경우, 그것은 빈 서브블록이다.
Figure 112021144830164-pat00028
T×T 블록의 모든 서브블록들이 풀인 경우(예컨대, 값 1을 가짐). 블록은 풀인 것으로 간주된다. 그렇지 않은 경우, 블록은 풀이 아닌 것으로 간주된다.
Figure 112021144830164-pat00029
이진 정보는 각각의 T×T 블록에 대해 그것이 풀인지 아닌지의 여부를 나타내도록 인코딩된다. 다양한 인코딩 전략들이 이용될 수 있다. 예를 들어, 콘텍스트 적응적 이진 산술 인코더가 사용될 수 있다.
Figure 112021144830164-pat00030
블록이 풀이 아닌 경우, 풀인/비어 있는 서브블록들의 위치를 나타내는 여분의 정보가 인코딩된다. 보다 정확하게는, 프로세스는 하기와 같이 진행될 수 있다:
○ 서브블록들에 대해 상이한 트래버스 순서들이 정의된다. 도 12b는 일부 예들을 도시한다. 트래버스 순서들은 사전결정되고, 인코더 및 디코더 둘 다에 알려져 있다.
○ 인코더는 트래버스 순서들 중 하나를 선택하고, 그의 인덱스를 비트 스트림에 명시적으로 시그널링한다.
○ 서브블록들과 연관된 이진 값들은 런-길이(run-length) 인코딩 전략을 이용함으로써 인코딩된다.
○ 초기 서브블록의 이진 값이 인코딩된다. 다양한 인코딩 전략들이 이용될 수 있다. 예를 들어, 고정 길이 코딩 또는 콘텍스트 적응적 이진 산술 인코더가 사용될 수 있다.
○ 인코더에 의해 선택된 트래버스 순서를 따르면서, 0들 및 1들의 연속 런들이 검출된다.
○ 일정 수의 검출된 런들이 인코딩된다. 다양한 인코딩 전략들이 이용될 수 있다. 예를 들어, 고정 길이 코딩 또는 콘텍스트 적응적 이진 산술 인코더 또는 UVLC(universal variable length encoder)가 사용될 수 있다.
○ 이어서, 마지막 것을 제외한 각각의 런의 길이가 인코딩된다. 다양한 인코딩 전략들이 이용될 수 있다. 예를 들어, 고정 길이 코딩, 콘텍스트 적응적 이진 산술 인코더, 또는 UVLC가 사용될 수 있다.
산술 인코딩 동안 사용되는 심볼 확률들은 압축 효율을 개선하기 위해 인코더에 의해 비트 스트림에서 명시적으로 시그널링된 값들을 사용함으로써 초기화될 수 있다는 것에 유의한다. 그러한 정보는 프레임, 슬라이스, 블록들의 행(들), 또는 블록 레벨에서, 또는 비-고정 간격을 사용하여 시그널링될 수 있다. 그 경우에, 시스템은 초기화 간격을 시그널링하는 능력을 가질 수 있거나, 또는 간격 적응이 인코더와 디코더 사이에서 사전정의될 수 있다. 예를 들어, 간격은 하나의 블록으로 시작할 수 있고, 이어서, (예컨대, {1, 2, 3… N-1…} 블록들의 적응 위치들을 사용하여) 나중에 하나의 블록씩 증분할 수 있다.
트래버스 순서의 선택은 압축 효율에 대해 직접적인 영향을 미칠 수 있다. 상이한 전략들이 가능하다. 예를 들어, 인코더는 최저 수의 비트들 또는 최저 수의 런들을 초래할 트래버스 순서를 선택할 수 있다. 일부 실시예들에서, 가변 크기들을 갖는 계층적 서브블록들이 사용될 수 있다.
일부 실시예들에서, 시간적 예측은 점유 맵들을 인코딩/압축하기 위해 하기와 같이 사용될 수 있다:
a. 현재 프레임의 점유 맵은 기준 프레임의 점유 맵으로부터 (예컨대, 제로 모션(zero motion)을 가정하는 차이 프로세스를 통해) 예측될 수 있다. 예측은 프레임 레벨에서 행해질 수 있지만, 또한, 서브블록 레벨에서 행해질 수 있는데, 예컨대 블록이 시간적으로 예측될 것이든 또는 블록에 대한 오리지널 맵이 그 대신에 사용될 것이든 1 비트를 시그널링할 수 있다.
b. 예측은 모션 보상을 사용함으로써 그리고 모션 벡터를 각각의 TxT 블록과 연관시킴으로써 향상될 수 있다.
c. 현재 블록의 값들은 공동 위치된 블록 또는 모션 벡터에 의해 참조되는 블록의 값들과 XOR될 수 있다. 어떠한 예측도 사용되지 않는 경우, 현재 블록은 그대로 코딩될 수 있다.
d. 모션 벡터들은 정수, 정수의 배수들일 수 있거나, 또는 서브픽셀 정밀도를 가질 수 있다.
e. 전술된 인코딩 전략은 결과들에 적용될 수 있다.
f. 현재 블록의 모션 벡터들은 이전에 인코딩된 블록들의 모션 벡터들에 기초하여 예측될 수 있다. 예를 들어, 후보 예측된 모션 벡터들의 리스트는 이미 인코딩된 공간적으로 그리고/또는 시간적으로 이웃하는 블록들의 모션 벡터들에 기초하여 계산될 수 있다. 예측자로서 사용될 최상의 후보의 인덱스 및 차이는 비트 스트림에서 명시적으로 인코딩될 수 있다. 프로세스는, 그 중에서도, AVC 및 HEVC와 같은 코덱들에서 사용되는 프로세스와 유사할 수 있다. 메모리 요건들을 감소시키기 위해 HEVC에서 행해지는 것과 유사하게 시간적 후보들의 감소가 수행될 수 있다. 이어서, 잔차 모션 벡터는 콘텍스트 적응적 산술 인코딩 또는 UVLC와 같은 기법을 이용하여 인코딩될 수 있다.
g. 예측된 블록이 기준 블록과 정확하게 매칭함을 나타내기 위해 스킵 모드가 또한 지원될 수 있다. 그 경우에, 잔차 모션 벡터가 필요하지 않다.
h. T×T 블록들로 고정(stick)시키는 대신에, 상이한 블록 크기들이 사용될 수 있다.
i. 블록 크기 및 모션 벡터들의 선택은 점유 맵을 인코딩하기 위해 요구되는 비트들의 수를 최소화함으로써 달성될 수 있다.
j. 프로세스는, 또한, 다수의 기준들을 고려할 수 있다.
일부 실시예들에서, 점유 맵의 인코딩/압축을 위한 추가 기법들은 하기를 포함할 수 있다:
Figure 112021144830164-pat00031
비디오 픽처에 포함된 클루(clue)들을 사용하여 점유 맵을 인코딩하는 것을 돕는 것, 예컨대
○ 높은 양자화 파라미터들(QP)(예컨대, 51)을 사용하거나, 또는 패딩된 픽셀들만으로 구성된 블록들에 대해 스킵 모드를 사용하는 것.
○ 산술 인코딩 콘텍스트들은 텍스처/기하구조/모션 프레임들과 연관된 비디오 비트 스트림들로부터 추출된 정보에 기초하여 적응적으로 조정될 수 있다는 것.
Figure 112021144830164-pat00032
픽셀들과 연관된 이진 값들을 8-비트 또는 10-비트 워드들로 그룹화하고, 이들을 DEFLATE 알고리즘과 같은 사전 기반 접근법들로 인코딩하는 것.
○ 픽셀들은 4×2/5×2 블록들로 또는 지그재그 스캔을 레버리징함으로써 그룹화될 수 있음.
○ 비어 있지 않은 TxT 블록들에 속하는 픽셀들만이 인코딩될 수 있음.
○ 각각의 TxT 블록에 대해 그것이 어느 패치에 속하는지를 나타내는 맵핑 정보가 인코딩될 수 있음.
보조 패치 정보 압축
일부 실시예들에서, 각각의 패치에 대해, 하기의 정보가 인코딩될 수 있다. 예를 들어, 보조 패치-정보 압축 모듈(222)에 의해.
Figure 112021144830164-pat00033
패킹된 이미지 프레임 내의 그의 위치 (U0, V0) 및 그의 2D 경계 박스(DU0, DV0)의 범위.
Figure 112021144830164-pat00034
최소/최대/평균/중간 깊이 값.
Figure 112021144830164-pat00035
투영 방향의 인덱스.
비디오 기반 점유 맵 및/또는 보조 패치-정보 압축
전술된 바와 같이, 일부 실시예들에서, 점유 맵은 이미지 프레임 내의 각각의 픽셀에 대해 픽셀이 포인트 클라우드 내의 실제 포인트로서 해석되어야 하는지의 여부, 예컨대 픽셀이 패딩된 픽셀인지의 여부를 나타내는 이진 정보이다. 또한, 전술된 바와 같이, 보조 패치-정보는 각각의 T×T 블록에 대해 그것이 어느 패치에 속하는지를 나타낸다. 반면, 블록에 대한 패치들의 인덱스를 인코딩하는 것 및 인덱스를 사용하여 점유 맵을 생성하는 것이 전술되었는데, 여기서 연관된 패치들을 갖지 않은 블록들은 블록의 개개의 인덱스에 대해 널(null) 또는 0 값들을 가졌다. 다른 실시예에서, 점유 맵은 먼저 인코딩될 수 있고, 이어서, 블록들과 연관된 패치들의 인덱스를 생성하는 데 사용될 수 있다. 일부 실시예들에서, 압축 프로세스는 점유 맵을 압축하기 위해 기존의 비디오 코덱들을 레버리징하는 하기의 절차를 따른다.
점유 맵은 B0×B1 블록들의 정밀도로 인코딩될 수 있다. 무손실 인코딩을 달성하기 위해, B0 및 B1은 1과 동일하게 선택될 수 있다. 실제로, B0 = B1 = 2 또는 B0 = B1 = 4는 점유 맵을 인코딩하기 위해 요구되는 비트들의 수를 상당히 감소시키면서 시각적으로 허용가능한 결과들을 가져올 수 있다.
일부 실시예들에서, 단일 이진이 각각의 B0×B1 서브블록과 연관된다. 상이한 전략들이 가능하다. 예를 들어, 한 가지는 서브블록이 적어도 하나의 패딩되지 않은 픽셀을 포함한다는 규칙과 1의 값을 연관시킬 수 있고, 그렇지 않은 경우에는 0의 값을 연관시킬 수 있다. 계산 복잡성을 감소시키기 위해, 다수의 B0×B1 블록들의 이진 값들은 단일 픽셀 값으로 함께 그룹화될 수 있다.
이진 비디오 프레임은 픽셀에 각각의 B0×B1 블록의 값을 저장함으로써 생성될 수 있다. 획득된 비디오 프레임은 무손실 비디오 코덱을 사용함으로써 압축될 수 있다. 예를 들어, HEVC 비디오 코덱이 이용될 수 있고, 그의 메인, 스크린 콘텍스트 코딩(screen context coding, scc) 메인 또는 다른 프로파일들이 사용될 수 있다.
일부 실시예들에서, 점유 맵은 4:4:4 또는 4:2:0 크로마 포맷으로 패킹될 수 있는데, 여기서 크로마 정보는 고정 값들, 예컨대 8 비트 코덱에 대해 값들 0 또는 128을 포함할 수 있다. 점유 맵은, 또한, 단색 표현을 지원하는 코덱을 사용하여 코딩될 수 있다. 점유 맵은 모든 색상 성분들에서 복제될 수 있고, 4:4:4 표현을 사용하여 인코딩될 수 있다. 점유 맵의 다른 재배열들은, 신호의 무손실 속성을 보존하고 동시에 점유 맵의 무손실 특성들을 보존하면서, 4:4:4, 4:2:2, 또는 4:2:0 표현으로 데이터를 피팅하기 위해 사용될 수 있다. 예를 들어, 점유 맵은 짝수 수평 및 홀수 수평 위치 서브맵들로 세그먼트화될 수 있고, 그들 서브-맵들은 4:4:4 신호, Y 평면 내의 홀수 위치 샘플들, 및 U 평면 내의 짝수 위치 샘플들에 임베드될 수 있고, 이어서 인코딩될 수 있다. 이는 복잡성 면에서 절감을 제공할 수 있는데, 그 이유는 (절반만큼) 감소된 해상도 이미지가 인코딩될 것이기 때문이다. 다른 그러한 배열들이 사용될 수 있다.
점유 맵은 비어 있지 않은 TxT 블록들을 검출하는 데 사용되고, 그들 블록들에 대해서만, 패치 인덱스가 하기와 같이 진행함으로써 인코딩된다:
1) 각각의 T×T 블록에 대해 그 블록을 포함하는 모든 패치들을 고려함으로써 후보 패치들의 리스트가 생성된다.
2) 후보들의 리스트는 패치들의 역순으로 분류된다.
3) 각각의 블록에 대해, 이러한 리스트 내의 패치의 인덱스는 엔트로피 인코더, 예컨대, 산술 인코더 또는 다른 적합한 인코더를 사용함으로써 인코딩된다.
포인트 클라우드 리샘플링
일부 실시예들에서, 포인트 클라우드 리샘플링 모듈(252)과 같은 포인트 클라우드 리샘플링 모듈은 후술되는 바와 같이 포인트 클라우드를 리샘플링할 수 있다.
일부 실시예들에서, 동적 포인트 클라우드들은 프레임별로 상이한 수의 포인트들을 가질 수 있다. 효율적인 시간적 예측은, CF로 표기된 현재 프레임의 포인트들을 RF로 표기된 기준 프레임의 포인트들에 맵핑하는 것을 요구할 수 있다. 비트 스트림에서 그러한 맵핑을 시그널링하는 것은 높은 수의 비트들을 요구할 수 있고, 따라서 비효율적일 수 있다. 대신에, 현재 프레임(CF)이 기준 프레임(RF)과 동일한 수의 포인트들을 갖도록 현재의 프레임(CF)의 리샘플링이 수행될 수 있다. 보다 정확하게는, 기준 프레임(RF)의 포인트들은 그의 형상이 현재 프레임(CF)의 형상과 매칭하도록 변위될 수 있다. 제2 단계로서, 현재 프레임(CF)의 색상 및 속성들은 기준 프레임(RF)의 변형된 버전으로 전달될 수 있다. 획득된 프레임(CF')은 현재 프레임의 리샘플링된 버전으로서 간주될 수 있다. CF의 근사치(CF')를 압축하기 위한 결정은 옵션들(예컨대, CF'을 인터 프레임으로서 인코딩하는 것 대 CF를 인트라 프레임으로서 인코딩하는 것) 둘 다의 레이트 왜곡 비용들을 비교함으로써 이루어질 수 있다. 일부 실시예들에서, 미래의 CF 이미지들에 대해 더 나은 기준을 만들기 위한 노력으로 RF의 사전조정이 수행될 수 있다. 리샘플링은 하기를 포함할 수 있다:
a. 첫째, 현재의 프레임(CF) 및 기준 프레임(RF)과 연관된 포인트들의 법선들이 일관되게 추정 및 배향될 수 있다. 현재 프레임(CF)에 속하는 모든 포인트(P)(RF에 속하는 개개의 Q)에 대해,
Figure 112021144830164-pat00036
(개개의
Figure 112021144830164-pat00037
)를 그의 위치로 간주하고,
Figure 112021144830164-pat00038
(개개의
Figure 112021144830164-pat00039
)를 그의 법선으로 간주한다. 이어서,
Figure 112021144830164-pat00040
(응답,
Figure 112021144830164-pat00041
)로 표기되는 6D 벡터가 그의 위치 및 동일한 벡터에서의 그의 법선의 가중화된 버전을 조합함으로써 모든 포인트와 연관된다.
Figure 112021144830164-pat00042
, 여기서
Figure 112021144830164-pat00043
은 위치들에 대한 법선의 중요성을 제어하는 파라미터이다.
Figure 112021144830164-pat00044
은 사용자에 의해 정의될 수 있거나 또는 최적화 절차를 적용함으로써 결정될 수 있다. 그들은, 또한, 고정될 수 있거나 또는 적응적일 수 있다.
b. 기준 프레임(RF)으로부터 현재 프레임(CF)으로 그리고 현재 프레임(CF)으로부터 기준 프레임(RF)으로의 2개의 맵핑들이 하기와 같이 계산된다:
i. 기준 프레임(RF)의 모든 포인트(Q)는 이전 단계에서 정의된 6D 공간에서 Q까지의 최소 거리를 갖는 현재 프레임(CF)의 포인트(P(Q))에 맵핑된다.
ii. 현재 프레임(CF)의 모든 포인트(P)는 이전 단계에서 정의된 6D 공간에서 P까지의 최소 거리를 갖는 기준 프레임(RF)의 포인트(Q(P))에 맵핑된다.
Figure 112021144830164-pat00045
는 동일한 포인트(Q)에 맵핑되는 현재 프레임(CF)의 포인트들의 세트라 간주한다.
c. 각각의 반복에서
i. 기준 프레임(RF)의 포인트들의 위치들은 하기와 같이 업데이트된다:
Figure 112021144830164-pat00046
, 여기서
Figure 112021144830164-pat00047
Figure 112021144830164-pat00048
의 요소들의 수이다. 파라미터
Figure 112021144830164-pat00049
는 사용자에 의해 정의될 수 있거나 또는 최적화 절차를 적용함으로써 결정될 수 있다. 그것은, 또한, 고정될 수 있거나 또는 적응적일 수 있다.
ii. 이전의 업데이트된 단계는 일반적으로 포인트들의 불규칙한 재분배를 가져온다. 그러한 제한들을 극복하기 위해, 라플라스 기반 평활화(Laplacian-based smoothing) 절차가 적용된다. 아이디어는 기준 프레임(RF) 내의 오리지널 포인트 재분배에 가능한 한 가까운 재분배를 선호하면서, 포인트들의 위치들을 업데이트하여 그들이 가능한 한 {
Figure 112021144830164-pat00050
에 가까이에서 머무르도록 하는 것이다. 보다 정확하게는, 하기의 스파스(sparse)한 선형 시스템이 해결될 수 있다:
Figure 112021144830164-pat00051
, 여기서
Figure 112021144830164-pat00052
은 기준 프레임(RF)에서 Q의 R개의 최인접 이웃들의 세트이다.
iii. 이어서, 업데이트된 RF' 포인트 클라우드와 현재 프레임(CF) 사이의 맵핑들이 하기와 같이 업데이트된다.
1. RF'의 모든 포인트(Q)는 위치들의 3D 공간에서 Q까지의 최소 거리를 갖는 현재 프레임(CF)의 포인트(P(Q))에 맵핑된다.
2. 현재 프레임(CF)의 모든 포인트(P)는 위치들의 3D 공간에서 P까지의 최소 거리를 갖는 기준 프레임(RF)의 포인트(Q(P))에 맵핑된다.
Figure 112021144830164-pat00053
는 동일한 포인트(Q)에 맵핑되는 현재 프레임(CF)의 포인트들의 세트라 간주한다.
d. 이러한 프로세스는 사전정의된 반복 횟수에 도달하거나 추가 변화가 없을 때까지 반복된다.
e. 이 스테이지에서, 색상 및 속성 정보는 하기의 공식을 활용함으로써 현재 프레임(CF)으로부터 RF'으로 전달된다:
Figure 112021144830164-pat00054
,
여기서 A는 전달될 텍스처 또는 속성을 나타내고,
Figure 112021144830164-pat00055
Figure 112021144830164-pat00056
의 요소들의 수이다. 파라미터
Figure 112021144830164-pat00057
는 사용자에 의해 정의될 수 있거나 또는 최적화 절차를 적용함으로써 결정될 수 있다. 그것은, 또한, 고정될 수 있거나 또는 적응적일 수 있다.
3D 모션 보상
일부 실시예들에서, 위치들, 속성들 및 텍스처 정보는 현재 리샘플링된 프레임에서의 값과 기준 프레임으로부터의 대응하는 값, 예컨대 모션 보상 값 사이의 차이를 취함으로써 시간적으로 예측될 수 있다. 이러한 값들은 이미지들로서 저장되도록 이미지 생성 스테이지에 공급될 수 있다. 예를 들어, 그러한 기법들은 3D 모션 보상 및 델타 벡터 예측 모듈(254)에 의해 수행될 수 있다.
평활화 필터
일부 실시예들에서, 디코더(230) 또는 디코더(280)의 평활화 필터(244) 또는 평활화 필터(276)와 같은 디코더의 평활화 필터는 후술되는 바와 같이 평활화를 수행할 수 있다.
일부 실시예들에서, 재구성 포인트 클라우드는 패치 경계들에서, 특히 매우 낮은 비트 레이트들에서 불연속성을 나타낼 수 있다. 그러한 문제를 완화시키기 위해, 평활화 필터가 재구성 포인트 클라우드에 적용될 수 있다. 평활화 필터를 적용하는 것은 하기를 포함할 수 있다:
a. 점유 맵을 활용함으로써, 인코더 및 디코더 둘 다가 경계 포인트들을 검출할 수 있는데, 이들은 상기의 이전 섹션들에서 기술된 계층적 점유 맵 압축 절차의 마지막 반복 동안 인코딩된 B0×B0 블록들에 속하는 포인트들인 것으로 정의된다.
b. 경계 포인트들은 그들의 위치들/속성/텍스처가 업데이트되게 할 수 있다. 보다 정확하게는, 개개의 경계 포인트들은 포인트 클라우드 내의 그의 R개의 최인접 이웃들에 기초하여, 평활화된 위치를 할당받을 수 있다. 평활화된 위치는 최인접 이웃들의 중심/중앙값일 수 있다. 다른 옵션은 최인접 이웃의 평면 또는 임의의 평활한 표면을 피팅하는 것, 및 그 표면 상의 포인트의 투영을 평활화된 위치로서 할당하는 것을 포함할 수 있다. 평활화 전략 및/또는 파라미터들의 수는 사용자에 의해 선택될 수 있거나, 또는 최적화 전략을 적용함으로써 결정될 수 있다. 그들은 모든 포인트들에 대해 고정될 수 있거나, 또는 적응적으로 선택될 수 있다. 이러한 파라미터들은 비트 스트림에서 시그널링될 수 있다.
c. 평활화 스테이지의 계산 복잡성을 감소시키기 위해, 재구성 포인트 클라우드의 서브샘플링된 버전이 최인접 이웃들을 찾을 때 고려될 수 있다. 그러한 서브샘플링된 버전은 점유 맵 및 기하구조 이미지의 서브샘플링된 버전을 고려함으로써 효율적으로 도출될 수 있다.
폐루프 색상 변환
일부 실시예들에서, 포인트 클라우드에 대한 인코더 및/또는 디코더는 포인트 클라우드의 색상 속성들을 제1 색공간으로부터 제2 색공간으로 변환하기 위한 색상 변환 모듈을 추가로 포함할 수 있다. 일부 실시예들에서, 포인트 클라우드에 대한 색상 속성 정보는 제2 색공간으로 변환될 때 더 효율적으로 압축될 수 있다. 예를 들어, 도 4a 및 도 4b는 도 2a 및 도 2c에서 도시된 바와 유사하지만, 각각 색상 변환 모듈들(402, 404)을 추가로 포함하는 인코더들을 포함한다. 도시되어 있지 않았지만, 도 2b 및 도 2d에서 도시된 디코더들과 같은 디코더들은, 일부 실시예들에서, 압축해제된 포인트 클라우드의 색상 속성들을 오리지널 색공간으로 다시 변환하기 위한 색상 변환 모듈들을 추가로 포함할 수 있다.
도 4c는 일부 실시예들에 따른, 폐루프 색상 변환 모듈의 컴포넌트들을 도시한다. 도 4c에서 도시된 폐루프 색상 변환 모듈(410)은 도 4a 및 도 4b에서 도시된 폐루프 색상 변환 모듈들(402, 404)과 유사한 폐루프 색상 변환 모듈일 수 있다.
일부 실시예들에서, 폐루프 색상 변환 모듈(410)과 같은 폐루프 색상 변환 모듈은 도 4a에서 도시된 비디오 압축 모듈(218) 또는 도 4b에서 도시된 비디오 압축 모듈(264)과 같은 비디오 인코더로부터 압축 포인트 클라우드를 수신한다. 추가로, 폐루프 색상 변환 모듈(410)과 같은 폐루프 색상 변환 모듈은 다운-샘플링, 업-샘플링, 색상 변환 등이 되기 전의 포인트 클라우드의 포인트들의 색상 값들과 같은 오리지널 비압축 포인트 클라우드에 관한 속성 정보를 수신할 수 있다. 따라서, 폐루프 색상 변환 모듈은 디코더가 수신할 것과 같은 포인트 클라우드의 압축 버전, 및 또한, 임의의 왜곡이 샘플링, 압축, 또는 색상 변환으로 인해 포인트 클라우드 내에 도입되기 전의 포인트 클라우드의 기준 버전을 수신할 수 있다.
일부 실시예들에서, 폐루프 색상 변환 모듈(410)과 같은 폐루프 색상 변환 모듈은 비디오 압축해제 모듈(270)과 같은 비디오 압축해제 모듈, 및 기하구조 재구성 모듈(412)과 같은 기하구조 재구성 모듈을 포함할 수 있다. 비디오 압축해제 모듈은 하나 이상의 비디오 인코딩된 이미지 프레임들을 압축해제하여, 이미지 프레임으로 패킹된 하나 이상의 패치 이미지들을 각각 포함하는 압축해제 이미지 프레임들을 생성할 수 있다. 이어서, 기하구조 재구성 모듈(412)과 같은 기하구조 재구성 모듈은 재구성 포인트 클라우드 기하구조를 생성할 수 있다. 이어서, 재착색 모듈(414)과 같은 재착색 모듈은 결정된 재구성 기하구조에 기초하여 포인트 클라우드 내의 포인트들에 대한 색상들을 결정할 수 있다. 예를 들어, 일부 실시예들에서, 최인접 이웃 접근법 또는 다른 접근법은 서브샘플링된 색상 정보에 기초하여 포인트 클라우드의 포인트들에 대한 추정된 색상 값들을 결정하는 데 사용될 수 있으며, 여기서 색상 값은 포인트 클라우드의 각각의 포인트에 대해 명시적으로 인코딩되지 않는다. 패칭 프로세스, 압축 프로세스, 압축해제 프로세스, 및 기하구조 재구성 프로세스 동안 손실들이 있을 수 있기 때문에, 재구성 포인트 클라우드 내의 포인트들의 기하구조는 오리지널 포인트 클라우드의 기하구조와 동일하지 않을 수 있다. 이러한 불일치(discrepancy)로 인해, 색상 값들을 인코딩하기 위한 포인트들 사이의 기하학적 관계들에 의존하는 색상 압축 기법들은 디코딩 및 압축해제될 때 오리지널 색상들과는 약간 상이한 색상들을 생성할 수 있다. 예를 들어, 색상이 최인접 이웃 포인트들의 색상 값들에 기초하여 결정되어야 하는 경우, 기하구조의 변화는 인코더에서 잔차 값을 인코딩하기 위해 선택되었던 것과는 상이한 최인접 이웃이 디코더에서 포인트에 대한 색상 값을 결정하도록 선택되게 할 수 있다. 따라서, 디코딩된 압축해제 포인트 클라우드에 왜곡이 추가될 수 있다.
색공간 변환 모듈이, 포인트 클라우드를 이미지 프레임으로 패킹된 패치들로 변환할 때 발생하고 이미지 프레임들을 인코딩할 때 발생하는 이러한 왜곡을 처리하지 않는 경우, 색공간 변환 모듈은 루마 및 크로마 값들과 같은 최적에 못 미치는 색상 변환 파라미터들을 선택할 수 있다. 예를 들어, 제1 색공간 내의 패킹된 이미지 프레임이 제2 색공간으로 변환된 패킹된 이미지 프레임과 밀접하게 매칭하게 하는 최적의 색상 변환 파라미터들은 업스트림 및 다운스트림 왜곡들이 처리될 때의 최적의 색상 변환 파라미터들과는 상이할 수 있다.
그러한 왜곡들을 처리하기 위해, 모듈(416)과 같은 텍스처/속성 이미지 색공간 변환 및 리샘플링 모듈은, 예를 들어, R'G'B' 4:4:4와 같은 제1 색공간으로부터의 이미지 프레임을 YCbCr 4:2:0으로 변환하기 위한 색상 변환 파라미터들을 결정할 때, 재착색 모듈(416)로부터의 "재생성" 색상 값들과 오리지널 비압축 기준 포인트 클라우드로부터의 오리지널 색상 값들 사이의 차이를 고려할 수 있다. 따라서, 도 4c에서 도시된 바와 같이, 비디오 인코더(218, 264)에 제공되는 색상 변환 및 리샘플링된 텍스처/속성 이미지들은 포인트 클라우드의 압축 및 압축해제의 임의의 스테이지에서 도입된 왜곡을 고려할 수 있고, 그러한 왜곡을 고려하여 최적의 색상 변환 파라미터들을 활용할 수 있다.
그러한 방법들은, 4:2:0 신호의 높은 압축성 특성들을 유지하면서 포인트 클라우드 표현을 재구성할 때 상당히 감소된 왜곡을 초래할 수 있다.
일부 실시예들에서, 4:4:4 R'G'B'로부터 4:2:0 YCbCr 표현으로의 변환은 하기의 형태의 3×3 매트릭스 변환을 사용하여 수행된다:
Figure 112021144830164-pat00058
상기의 매트릭스에서, Y'은 루마 성분이고, Cb 및 Cr은 크로마 성분들이다. R', G', 및 B'의 값들은 신호의 심리-시각적 특성들을 활용하는 데 사용되는 전달 함수의 적용 후의 적색, 녹색 및 청색 성분들에 각각 대응한다. 계수들 aYR 내지 aCrB는 CIE 1931 XYZ 색공간에 대한 적색, 녹색 및 청색 성분들의 관계에 따라 선택된다. 더욱이, Cb 및 Cr 성분들은, 또한, 하기의 방식으로 Y'와 관련된다:
Figure 112021144830164-pat00059
이때
Figure 112021144830164-pat00060
Figure 112021144830164-pat00061
, 이때
Figure 112021144830164-pat00062
또한, 하기의 관계들을 갖는다:
Figure 112021144830164-pat00063
전술된 프로세스에 뒤이어 크로마 성분들의 2x 다운-샘플링이 수평으로 그리고 수직으로 이어지고, 그 결과, 루마의 것들과 비교하여, 전체 개수의 샘플들의 면에서 4배 더 작은 크로마 성분들, 즉 수평으로 2x 더 작고 수직으로 2x 더 작은 크로마 성분들을 생성한다. 그러한 프로세스는 압축에서뿐만 아니라 YCbCr 4:2:0 신호들의 대역폭 및 프로세싱 복잡성에서도 도움이 될 수 있다.
그러한 접근법을 이용하는 데 있어서, 색상 성분들에 대한 양자화뿐만 아니라 크로마 성분들에 대한 다운-샘플링 및 업-샘플링 프로세스들은, 특히 R'G'B'에서뿐만 아니라 XYZ(CIE 1931 도메인들)에서, 재구성된 신호들의 품질에 영향을 줄 수 있는 왜곡을 도입할 수 있다. 그러나, 그러한 왜곡들을 고려하면서 크로마 및 루마 값들이 생성되는 폐루프 변환 프로세스는 품질을 상당히 개선할 수 있다.
루마 조정 프로세스에서, 예를 들어, 크로마 성분들은 상기의 공식들을 이용하여 변환될 수 있고, 추가로, 소정 기준 필터링 메커니즘들을 고려할 때, 다운-샘플링 및 업-샘플링이 수행될 수 있다. 그 후, 재구성된 크로마 샘플들을 사용하여, CIE 1931 XYZ 공간 내의 휘도 Y 성분에 대한 최소한의 왜곡을 야기할 적절한 루마 값이 계산될 수 있다. 그러한 루마 값은 위에서 제공된 바와 같은 직접 계산 방법 대신에 검색 프로세스를 통해 도출될 수 있다. 이러한 방법의 개량 및 단순화들은 루마 값을 도출하기 위한 내삽 기법(interpolative technique)을 포함할 수 있다.
투영된 포인트 클라우드 이미지들은, 또한, 4:2:0 변환을 위한 유사한 전략들로부터 이득을 얻을 수 있다. 예를 들어, 루마 조정 방법들을 포함하는 폐루프 색상 변환이 이러한 맥락에서 활용될 수 있다. 즉, 위의 3×3 매트릭스를 직접 사용하고 모든 이웃 크로마 값들을 평균하여 투영된 이미지에 대한 4:2:0 크로마 표현을 생성하는 것에 의해 포인트 클라우드 데이터를 변환하는 대신에, 4:4:4 그리드 상에 R'G'B' 표현을 사용하여 포인트 클라우드 데이터/패치들을 먼저 투영할 수 있다. 이러한 새로운 이미지의 경우, 이어서, 루마 조정 방법과 같은 폐루프 최적화를 사용하면서 YCbCr 4:2:0 표현으로 변환할 수 있다. 전달 특성 함수, 예컨대 BT.709, ST 2084(PQ), 또는 일부 다른 전달 함수뿐만 아니라 신호의 색상 원색들, 예컨대 BT.709 또는 BT.2020이 알려져 있다고 가정하면, 휘도 성분 Y의 추정치가 최종 변환 전에 계산될 수 있다. 이어서, Cb 및 Cr 성분들은 더 정교한 필터들을 사용하여 계산, 다운-샘플링 및 업-샘플링될 수 있다. 이는, 이어서, Y에 가능한 한 가까울 휘도 값 Yrecon을 생성할 Y' 값의 계산으로 이어질 수 있다. RGB 도메인 내의 왜곡이 더 높은 왜곡의 것인 경우, 그 대신, 공동으로 R', G', 및 B'에 대한 왜곡을 최소화시키는 Y' 값이 고려될 수 있다.
포인트 클라우드 데이터의 경우, 기하구조가 또한 손실 압축으로 인해 변경될 수 있기 때문에, 텍스처 왜곡이 또한 영향받을 수 있다. 특히, 전체 텍스처 왜곡은, 오리지널 및 재구성 포인트 클라우드들 내의 각각의 포인트에 대해, 재구성 및 오리지널 포인트 클라우드들 내의 그들의 가장 가까운 포인트를 각각 먼저 결정함으로써 계산될 수 있다. 이어서, RGB 왜곡은 그들 매칭된 포인트들에 대해 계산될 수 있고, 전체 포인트 클라우드 이미지에 걸쳐서 축적될 수 있다. 이는, 기하구조가 손실 압축으로 인해 변경된 경우에, 텍스처 왜곡이 또한 영향받을 것임을 의미한다. 텍스처가 왜곡되었을 수 있다는 것을 고려하면, 크로마의 폐루프 변환 동안 기하구조를 고려하는 것이 바람직할 수 있다.
일부 실시예들에서, 기하구조는, 포인트 클라우드의 주어진 영역 내의 상대적 샘플링 밀도가 포인트 클라우드의 다른 영역들과 유사해지게 조정되도록 수정된다. 여기서, 상대적 샘플링 밀도는 균일한 2D 샘플링 그리드에 대한 오리지널 포인트들의 밀도로서 정의된다.
상대적 샘플링 밀도가 주어진 패치 내에서 변할 수 있기 때문에, 이러한 정보는 점유 맵들 및 보조 정보에 관하여 전술된 바와 같이 패치 분해 프로세스를 유도하는 데 사용될 수 있는데, 여기서 패치 근사치가 로컬 기하구조를 결정하는 데 사용된다. 더욱이, 이러한 정보는 압축 후에 더 균일한 품질을 달성하기 위해 인코딩 파라미터들을 유도하는 데 사용될 수 있다. 로컬 영역이 더 높은 상대적 샘플링 밀도를 갖는 경우, 인코더는 다양한 수단을 통해 그 영역을 더 양호하게 코딩할 수 있다. 다양한 수단은 가변 블록 크기 결정, 양자화 파라미터(QP)들, 양자화 반올림, 디-블록킹, 형상 적응적 오프셋(SAO) 필터링 등을 포함할 수 있다.
일부 실시예들에서, 기하구조 정보는 타깃 비트율 또는 품질에 따라 먼저 압축되고, 이어서, 그것은 텍스처 투영 이미지를 생성하기 전에 재구성된다. 이어서, 재구성 기하구조를 고려하여, 오리지널 포인트 클라우드 내의 각각의 포인트에 대응하는 재구성 포인트 클라우드 내의 가장 가까운 포인트가 결정된다. 프로세스는 오리지널 포인트 클라우드 내의 그들의 매칭된 포인트들을 결정함으로써 재구성 포인트 클라우드 내의 모든 포인트들에 대해 반복될 수 있다. 재구성 포인트 클라우드 내의 일부 포인트들이 오리지널 포인트 클라우드 내의 다수의 포인트들과 매칭할 수 있는 것이 가능한데, 이는 왜곡 계산에 연루될 것이다. 이러한 정보는 전체 포인트 클라우드에 대한 최소화된 텍스처 왜곡을 보장하도록 폐루프/루마 조정 방법에서 사용될 수 있다. 즉, (계산을 위한 YCbCr 데이터에 대한 MSE의 사용을 가정하면) 재구성 포인트 클라우드 내의 위치(x, y, z)에서의 샘플(Pr)의 전체 포인트 클라우드에 대한 왜곡 영향이 계산될 수 있다:
D(Pr) = Doriginal(Pr) + Dreconstructed(Pr)
D(Pr) = Sum_matching(((Y_pr - Y_or(i))^2 + (Cb_pr - Cb_or(i))^2 + (Cr_pr - Cr_or(i))^2) + sqrt((Y_pr - Y_or)^2 + (Cb_pr - Cb_or)^2 + (Cr_pr - Cr_or)^2)
상기 식에서, Y_pr, Cb_pr, 및 Cr_pr은 포인트(Pr)의 루마 및 크로마 정보이고, Y_or(i), Cb_or(i), 및 Cr_or(i)는 오리지널 이미지로부터 포인트(Pr)의 기하구조 위치와 매칭하는 것으로 밝혀진 모든 포인트들의 루마 및 크로마 정보에 대응하고, Y_or, Cb_or, 및 Cr_or은 재구성된 이미지로부터 알 수 있는 바와 같이 오리지널에서 포인트(Pr)의 위치와 매칭하는 포인트이다.
폐루프 변환/루마 조정의 맥락에서의 왜곡 계산이 D(Pr)를 활용하는 경우, 그것이 투영된 왜곡뿐만 아니라 포인트 클라우드 왜곡을 최적화하기 때문에 더 양호한 성능이 달성될 수 있다. 그러한 왜곡은, 루마 및 크로마 값들을 고려할 수 있을 뿐만 아니라, 대신에 또는 추가로, 그 중에서도, 다른 색상 도메인 컴포넌트들, 예컨대 R, G, 또는 B, 휘도 Y, CIE 1931 x 및 y, CIE 1976 u' 및 v', YCoCg, 및 ICtCp 색공간을 고려할 수 있다.
기하구조가 재압축되는 경우, 상이한 최적의 왜곡 포인트가 가능할 수 있다. 그 경우에, 변환 프로세스를 다시 한번 재실행하는 것이 적절할 수 있다.
일부 실시예들에서, 후술되는 바와 같이 측정되는 바와 같은 텍스처 왜곡은 하기와 같이 최소화될 수 있다:
Figure 112021144830164-pat00064
Figure 112021144830164-pat00065
Figure 112021144830164-pat00066
를 각각 오리지널 및 재구성 기하구조들로 간주한다.
Figure 112021144830164-pat00067
Figure 112021144830164-pat00068
Figure 112021144830164-pat00069
을 각각 오리지널 및 재구성 포인트 클라우드들 내의 포인트들의 수로 간주한다.
Figure 112021144830164-pat00070
재구성 포인트 클라우드 내의 각각의 포인트
Figure 112021144830164-pat00071
에 대해,
Figure 112021144830164-pat00072
를 오리지널 포인트 클라우드에서 그의 최인접 이웃으로, 그리고
Figure 112021144830164-pat00073
,
Figure 112021144830164-pat00074
, 및
Figure 112021144830164-pat00075
Figure 112021144830164-pat00076
와 연관된 RGB 값들로 간주한다.
Figure 112021144830164-pat00077
재구성 포인트 클라우드 내의 각각의 포인트
Figure 112021144830164-pat00078
에 대해,
Figure 112021144830164-pat00079
를 재구성 포인트 클라우드 내의 그들의 최근접 이웃으로서
Figure 112021144830164-pat00080
를 공유하는 오리지널 포인트 클라우드 내의 포인트 세트로 간주한다.
Figure 112021144830164-pat00081
는 비어 있을 수 있거나 또는 하나 또는 다수의 요소들을 가질 수 있다는 것에 유의한다.
Figure 112021144830164-pat00082
Figure 112021144830164-pat00083
가 비어 있는 경우, RGB 값들
Figure 112021144830164-pat00084
,
Figure 112021144830164-pat00085
, 및
Figure 112021144830164-pat00086
는 포인트
Figure 112021144830164-pat00087
와 연관된다.
Figure 112021144830164-pat00088
Figure 112021144830164-pat00089
가 비어 있지 않은 경우, 하기와 같이 진행한다:
Figure 112021144830164-pat00090
,
Figure 112021144830164-pat00091
, 및
Figure 112021144830164-pat00092
로 표기된 가상 RGB 값들은 하기와 같이 계산된다:
Figure 112021144830164-pat00093
Figure 112021144830164-pat00094
Figure 112021144830164-pat00095
Figure 112021144830164-pat00096
Figure 112021144830164-pat00097
Figure 112021144830164-pat00098
Figure 112021144830164-pat00099
,
Figure 112021144830164-pat00100
, 및
Figure 112021144830164-pat00101
Figure 112021144830164-pat00102
의 포인트들의 평균 RGB 값들에 대응한다는 것에 유의한다.
○ 최종 RGB 값들
Figure 112021144830164-pat00103
,
Figure 112021144830164-pat00104
, 및
Figure 112021144830164-pat00105
는 하기의 선형 내삽을 적용함으로써 획득된다:
Figure 112021144830164-pat00106
Figure 112021144830164-pat00107
Figure 112021144830164-pat00108
Figure 112021144830164-pat00109
Figure 112021144830164-pat00110
Figure 112021144830164-pat00111
○ 내삽 파라미터
Figure 112021144830164-pat00112
는 하기의 비용 함수 C(i)가 최소화되도록 선택된다.
Figure 112021144830164-pat00113
○ 비용 C(i)를 최소화함으로써, 후술되는 바와 같은 왜곡 측정치가 최소화된다는 것에 유의한다.
○ 파라미터
Figure 112021144830164-pat00114
를 찾기 위해 상이한 검색 전략들이 이용될 수 있다
Figure 112021144830164-pat00115
후술되는 폐쇄 형태(closed form) 솔루션을 사용한다.
Figure 112021144830164-pat00116
검색하지 않음:
Figure 112021144830164-pat00117
를 사용한다.
Figure 112021144830164-pat00118
전체를 검색함: 간격 [0,1]에서 값들
Figure 112021144830164-pat00119
의 개별 세트를 선택하고, C(i)를 최소화하는
Figure 112021144830164-pat00120
를 찾기 위해 이러한 값들에 대한 C(i)를 평가한다.
Figure 112021144830164-pat00121
그레디언트 하강 검색:
Figure 112021144830164-pat00122
로 시작한다.
Figure 112021144830164-pat00123
,
Figure 112021144830164-pat00124
Figure 112021144830164-pat00125
를 평가한다. 최저 비용 및 그의 연관된 내삽 파라미터
Figure 112021144830164-pat00126
로서
Figure 112021144830164-pat00127
Figure 112021144830164-pat00128
를 저장한다.
Figure 112021144830164-pat00129
인 경우에는
Figure 112021144830164-pat00130
의 그레디언트에 기초하여
Figure 112021144830164-pat00131
를 업데이트하고, 그렇지 않은 경우에는
Figure 112021144830164-pat00132
의 그레디언트를 사용한다.
Figure 112021144830164-pat00133
의 새로운 값에서
Figure 112021144830164-pat00134
,
Figure 112021144830164-pat00135
, 및
Figure 112021144830164-pat00136
를 재평가한다. 새로운 비용
Figure 112021144830164-pat00137
를 지금까지 찾은 최저 비용과 비교한다. 새로운 비용이 최저 비용보다 더 높은 경우에는 중단하고, 그렇지 않은 경우에는, 최저 비용 및
Figure 112021144830164-pat00138
의 연관된 값을 업데이트하고, 그레디언트 하강을 계속하는데, 여기서
Figure 112021144830164-pat00139
,
Figure 112021144830164-pat00140
, 및
Figure 112021144830164-pat00141
는 결정될 3개의 미지수들이다.
일부 실시예들에서, 상기의 프로세스는 다른 색공간들로 수행될 수 있고, 반드시 RGB 색공간인 것은 아니다. 예를 들어, CIE 1931 XYZ 또는 xyY, CIE 1976 Yu'v', YCbCr, IPT, ICtCp, La*b*, 또는 일부 다른 색상 모델이 대신에 사용될 수 있다. 또한, 각각의 컴포넌트의 왜곡의 상이한 가중화가 고려될 수 있다. 조명(illumination)에 기초한 가중화, 예컨대 밝은 영역들에서의 왜곡보다 어두운 영역들에서 왜곡을 더 많이 가중시키는 것이 또한 고려될 수 있다. 이웃 정보를 포함하는 다른 타입들의 왜곡이 또한 고려될 수 있다. 즉, 더 스파스한 영역에서의 오차들의 가시성은 현재 및 이웃 샘플들의 세기에 따라 더 조밀한 영역에서보다 더 높을 가능성이 있다. 그러한 정보는 최적화가 어떻게 수행되는지에 있어서 고려될 수 있다.
크로마 정보의 다운-샘플링 및 업-샘플링은, 또한, 이용가능한 경우, 기하구조 정보를 고려할 수 있다. 즉, 기하구조를 고려하지 않은 다운-샘플링 및 업-샘플링 크로마 정보 대신에, 투영된 샘플의 이웃 주위의 포인트 클라우드의 형상 및 특성들이 고려될 수 있고, 이들 프로세스들 동안 이웃 샘플들을 적절히 고려하거나 배제할 수 있다. 특히, 현재 샘플의 법선에 대해 가능한 한 유사한 법선을 갖는, 다운-샘플링 또는 내삽을 위한 이웃 샘플들이 고려될 수 있다. 포인트까지의 거리뿐만 아니라 법선 차이에 따른 필터링 동안의 가중화가 또한 고려될 수 있다. 이는 다운-샘플링 및 업-샘플링 프로세스들의 성능을 개선하는 것을 도울 수 있다.
일부 시스템들에 대해, Cb/Cr 정보의 업-샘플링은 기존의 아키텍처들, 예컨대 기존의 색상 포맷 변환기를 통해 진행해야 할 수 있고, 그러한 유도된 업-샘플링을 수행하는 것이 가능하지 않을 수 있다는 것에 유의해야 한다. 그들 경우들에서, 다운-샘플링에 대한 고려만이 가능할 수 있다.
일부 실시예들에서, 비트 스트림 신택스에서, 크로마 정보를 업-샘플링하기 위한 바람직한 방법을 나타내는 것이 가능할 수 있다. 그러한 경우에, 디코더(인코더에 포함됨)는 다양한 업-샘플링 필터들 또는 방법들을 시도할 수 있고, 최상으로 수행하는 것을 찾을 수 있고, 비트 스트림 신택스에서 이를 나타낼 수 있다. 디코더측에서, 디코더는 풀 해상도 YCbCr, 및 그 결과, RGB 데이터를 재구성하기 위해 어느 업-샘플링 방법이 가장 잘 수행할 것인지를 알 수 있다. 그러한 방법은 필수적(mandatory)일 수 있지만, 또한, 일부 아키텍처들에서 선택적일 수 있다.
클리핑(clipping) 및 색상 변환을 위한 다른 고려사항들이 또한 포인트 클라우드 데이터에 적용될 수 있고, 포인트 클라우드 압축 시스템의 성능을 추가로 개선하는 것으로 간주될 수 있다. 그러한 방법들은, 또한, 반드시 YCbCr 데이터인 것은 아닌 다른 색상 표현들, 예컨대 YCoCg 및 ICtCp 표현에 적용될 수 있다. 그러한 표현들에 대해, 색상 변환의 속성으로 인해 상이한 최적화가 요구될 수 있다.
예시적인 목적 평가 방법
포인트 클라우드는 (x, y, z)로 표현되는 포인트 세트, 및 어느 색상 성분들(y, u, v)이 중요한 것인지에 대한 다양한 속성들로 이루어진다. 첫째, 포인트(v)를 정의한다. 3D 공간(x, y, z) 내의 위치, 및 성분들 r, g, b 또는 y, u, v를 갖는 선택적인 색상 속성 c, 및 가능하게는 법선 또는 텍스처 맵핑들을 표현하는 선택적인 다른 속성들을 필수로서 갖는다.
Figure 112021144830164-pat00142
(정의 1)
이어서, 포인트 클라우드는 엄격한 순서를 갖지 않은 K개의 포인트들의 세트이다:
Figure 112021144830164-pat00143
(정의 2)
포인트 클라우드는 (x, y, z) 좌표 세트 및 포인트들에 부착될 수 있는 속성들을 포함한다. 오리지널 포인트 클라우드(Vor)는 제2 열화 포인트 클라우드(Vdeg)의 품질을 결정하기 위한 기준으로서 작용할 것이다. Vdeg는 N개의 포인트들로 이루어지며, 여기서 N은 반드시 = K인 것은 아니다. Vdeg는 가능하게는 Vor의 손실 인코딩 및 디코딩으로부터 기인하는 더 낮은 품질을 갖는 포인트 클라우드의 버전이다. 이는 상이한 포인트 카운트(N)를 초래할 수 있다.
Figure 112021144830164-pat00144
(정의 3)
품질 메트릭 Q_(point cloud)는 Vor 및 Vdeg로부터 계산되고 도 4d에서 도시된 바와 같은 평가를 위해 사용된다.
하기의 표 1은, 일부 실시예들에서, 포인트 클라우드의 품질의 평가에 사용되는 메트릭들을 약술한다. 기하학적 왜곡 메트릭들은, 표면까지의 거리 대신에, Haussdorf(Linf) 및 평균 제곱근(root mean square)(L2)에 기초하여 메시들에 사용되는 것들과 유사하다. 이러한 접근법은 포인트 클라우드 내의 가장 가까운/가장 인근의 포인트까지의 거리를 고려한다(정의들 4, 5, 6, 및 7 참조). 피크 신호 대 잡음 비(PSNR)는 대칭적 평균 제곱근(RMS/rms) 왜곡에 걸친 기하구조의 피크 신호로서 정의된다(정의 8). 색상들의 경우, 유사한 메트릭이 정의되는데; 오리지널 클라우드의 색상은 열화 클라우드의 가장 인근의 색상과 비교되고, 피크 신호 대 잡음 비(PSNR)가 YUV 색공간에서 YUV/YCbCr 성분마다 계산된다(정의 10). 이러한 메트릭의 이점은 그것이 비디오 코딩에서의 피크 신호 대 잡음 비(PSNR)에 대응한다는 것이다. 품질 메트릭은 3DG PCC 소프트웨어에서 지원된다.
[표 1]
Figure 112021144830164-pat00145
Figure 112021144830164-pat00146
(정의 4)
Figure 112021144830164-pat00147
(정의 5)
Figure 112021144830164-pat00148
에 가장 가까운 Vdeg에서의 포인트이다) (정의 6)
Figure 112021144830164-pat00149
(정의 7)
Figure 112021144830164-pat00150
(정의 8)
Figure 112021144830164-pat00151
(정의 9)
Figure 112021144830164-pat00152
(정의 10)
Figure 112021144830164-pat00153
(정의 11)
일부 실시예들에서, 코덱의 성능을 정의하는 추가적인 메트릭들이 표 2에서 하기에 약술되어 있다.
[표 2]
Figure 112021144830164-pat00154
예시적인 폐쇄형 솔루션
재구성 포인트 클라우드 내의 각각의 포인트
Figure 112021144830164-pat00155
에 대해,
Figure 112021144830164-pat00156
를 오리지널 포인트 클라우드에서 그의 최인접 이웃으로 간주한다. 재구성 포인트 클라우드 내의 각각의 포인트
Figure 112021144830164-pat00157
에 대해,
Figure 112021144830164-pat00158
를 재구성 포인트 클라우드 내의 그들의 최인접 이웃으로서
Figure 112021144830164-pat00159
를 공유하는 오리지널 포인트 클라우드 내의 포인트 세트로 간주한다.
Figure 112021144830164-pat00160
Figure 112021144830164-pat00161
의 중심으로 간주한다.
H = 0인 경우, C ( P rec ( i )) = C ( Q *( i ))이다.
주어진 포인트
Figure 112021144830164-pat00162
와 연관된
Figure 112021144830164-pat00163
를 R-G-B 벡터로서 표기한다. 주어진
Figure 112021144830164-pat00164
에 대한 색상을 계산하기 위하여, 하기 공식을 갖는다:
Figure 112021144830164-pat00165
여시서
Figure 112021144830164-pat00166
Figure 112021144830164-pat00167
이제,
Figure 112021144830164-pat00168
를 표기하여,
Figure 112021144830164-pat00169
이도록 한다.
주: H = 1인 경우
Figure 112021144830164-pat00170
이다.
C 0(P rec (i))를 이전의 최소화 문제의 솔루션이라 한다. 가 하기와 같이 표현될 수 있다는 것이 보여질 수 있다:
Figure 112021144830164-pat00171
더욱이, C 0(P rec (i))는 하기를 검증한다:
Figure 112021144830164-pat00172
Figure 112021144830164-pat00173
Figure 112021144830164-pat00174
로 간주한다.
Figure 112021144830164-pat00175
인 경우,
Figure 112021144830164-pat00176
Figure 112021144830164-pat00177
이다.
이때
Figure 112021144830164-pat00178
이고,
H = 1인 경우,
Figure 112021144830164-pat00179
이다.
H>1인 경우,
Figure 112021144830164-pat00180
이다.
Figure 112021144830164-pat00181
인 경우
Figure 112021144830164-pat00182
이다.
Figure 112021144830164-pat00183
인 경우
Figure 112021144830164-pat00184
이다.
여기서, 비용
Figure 112021144830164-pat00185
Figure 112021144830164-pat00186
Figure 112021144830164-pat00187
둘 다에 대해 계산되고, 최소 비용을 가져오는 값은 최종 솔루션으로서 유지된다.
다수의 해상도들을 사용한 압축/압축해제
도 5a는 일부 실시예들에 따른, 기하구조, 텍스처, 및/또는 속성 다운-스케일링을 포함하는 인코더의 컴포넌트들을 도시한다. 본 명세서에서 기술된 인코더들 중 임의의 것은, 도 5a의 인코더(500)에 대해 도시된 바와 같이, 공간 다운-스케일러 컴포넌트(502), 텍스처 다운-스케일러 컴포넌트(504), 및/또는 속성 다운-스케일러 컴포넌트(506)를 추가로 포함할 수 있다. 예를 들어, 도 2a에서 도시된 인코더(200)는 도 5a에 기술된 바와 같은 다운-스케일링 컴포넌트들을 추가로 포함할 수 있다. 일부 실시예들에서, 인코더(250)는 도 5a에 기술된 바와 같은 다운-스케일링 컴포넌트들을 추가로 포함할 수 있다.
일부 실시예들에서, 기하구조 다운-스케일러(502), 텍스처 다운-스케일러(504), 및/또는 속성 다운-스케일러(506)와 같은 다운-스케일링 컴포넌트들을 포함하는 인코더는, 공간 업-스케일러(508)와 같은 기하구조 업-스케일러, 및 평활화 필터(510)와 같은 평활화 필터를 추가로 포함할 수 있다. 일부 실시예들에서, 재구성 기하구조 이미지는 비디오 압축 모듈(218)에 의해 압축된 압축 패치 이미지들로부터 생성된다. 일부 실시예들에서, 인코더는 재구성 기하구조 이미지를 생성하기 위해 기하구조 재구성 모듈(도시되지 않음)을 추가로 포함할 수 있다. 재구성 기하구조 이미지는 하나 이상의 프레임 이미지들에 포함된 패치들에 대한 패치 위치들을 나타내는 점유 맵을 인코딩하고/하거나 그의 인코딩을 개선하기 위해 점유 맵에 의해 사용될 수 있다. 추가로, 재구성 기하구조 이미지는 기하구조 업-스케일러(508)와 같은 기하구조 업-스케일러에 제공될 수 있다. 기하구조 업-스케일러는 재구성 기하구조 이미지를, 오리지널 해상도 또는 기하구조 이미지의 오리지널 해상도에 근사하는 더 높은 해상도에 이르기까지 스케일링할 수 있으며, 여기서 오리지널 해상도는 다운-스케일링이 기하구조 다운-스케일러(502)에서 수행되기 이전의 해상도이다. 일부 실시예들에서, 업-스케일링된 재구성 기하구조 이미지는 재구성 및 업-스케일링된 기하구조 이미지의 평활화된 이미지를 생성하는 평활화 필터에 제공될 수 있다. 이어서, 이러한 정보는 공간 이미지 생성 모듈(210), 텍스처 이미지 생성 모듈(212), 및/또는 속성 이미지 생성 모듈(214)에 제공될 수 있다. 이러한 모듈들은 재구성 기하구조 이미지들에 기초하여 공간 이미지들, 텍스처 이미지들, 및/또는 다른 속성 이미지들의 생성을 조정할 수 있다. 예를 들어, 패치 형상(예컨대, 기하구조)이 다운-스케일링, 인코딩, 디코딩, 및 업-스케일링 프로세스 동안 약간 왜곡되는 경우, 이러한 변화들은 공간 이미지들, 텍스처 이미지들, 및/또는 다른 속성 이미지들을 생성하여 패치 형상의 변화들(예컨대, 왜곡)을 보정할 때 고려될 수 있다.
도 5b는 일부 실시예들에 따른, 기하구조, 텍스처, 및/또는 다른 속성 업-스케일링을 포함하는 디코더(550)의 컴포넌트들을 도시한다. 예를 들어, 디코더(550)는 텍스처 업-스케일러(552), 속성 업-스케일러(554), 및 공간 업-스케일러(556)를 포함한다. 본 명세서에서 기술된 디코더들 중 임의의 것은 도 5b의 디코더(550)에 대해 도시된 바와 같은, 텍스처 업-스케일러 컴포넌트(552), 속성 업-스케일러 컴포넌트(554), 및/또는 공간 이미지 업-스케일러 컴포넌트(556)를 추가로 포함할 수 있다.
도 5c는 일부 실시예들에 따른, 인코더의 관점으로부터의 리스케일링을 도시한다. 일부 실시예들에서, 포인트 클라우드는 포인트 클라우드 도메인(예컨대, 패치 투영 이전) 및 비디오 레벨 도메인 둘 다에서 (예컨대, 패치 정보를 포함하는 이미지 프레임들을 스케일링함으로써) 스케일링될 수 있다. 예를 들어, 도 5c는 여성의 포인트 클라우드(508)를 도시한다. 인코더(500)와 같은 인코더는 포인트 클라우드 도메인 내의 포인트 클라우드(508)의 3D 스케일링을 수행하여 다운-스케일링된 포인트 클라우드(510)를 생성한다. 다운-스케일링된 포인트 클라우드(510)에 기초하여 생성된 패치들은 이미지 프레임(512)으로 패킹된다. 추가로, 이미지 프레임의 해상도를 감소시키기 위해 비디오 레벨에서 이미지 프레임(512)에 대해 다운-스케일링이 수행된다. 추가적인 다운-스케일링은, 이어서 비트 스트림(516)에 인코딩되는 다운-스케일링된 이미지 프레임(514)을 생성한다.
도 5d는 일부 실시예들에 따른, 디코더의 관점으로부터의 리스케일링을 도시한다. 일부 실시예들에서, 디코더(550)와 같은 디코더는 비트 스트림(516)과 같은 비트 스트림을 수신할 수 있다. 디코더는 비디오 인코딩된 비트 스트림을 디코딩하여, 이미지 프레임(518)과 같은 하나 이상의 비디오 이미지 프레임들을 생성할 수 있다. 디코더는 이미지 프레임(518)을 추가로 업-스케일링하여, 업-스케일링된 이미지 프레임(520)을 생성할 수 있다. 이어서, 디코더는 전술된 바와 같이 패치 투영 방법을 이용하여, 업-스케일링된 이미지 프레임(520)에 포함된 패치 정보로부터 재구성 포인트 클라우드(522)를 생성할 수 있다. 디코더는, 또한, 3D 포인트 클라우드 도메인에서 스케일링을 수행하여, 재구성 포인트 클라우드(522)를 오리지널 포인트 클라우드와 유사한 크기로 업-스케일링할 수 있다. 이러한 프로세스는 업-스케일링된 재구성 포인트 클라우드(524)를 생성할 수 있다.
도 5e는 일부 실시예들에 따른 예시적인 개루프 리스케일링을 도시한다. 이미지 프레임의 개루프 리스케일링에서, 기하구조 평면, 및 텍스처 또는 다른 속성 평면이 독립적으로 스케일링될 수 있으며, 여기서 텍스처 또는 다른 속성 정보를 스케일링할 때 기하구조 왜곡은 고려되지 않는다. 예를 들어, 기하구조 이미지 프레임(526)은 투영 평면에 대한 포인트 클라우드의 포인트들의 깊이들을 나타낼 수 있고, 텍스처 또는 속성 이미지 프레임(528)은 투영 평면 상에 투영된 포인트 클라우드의 포인트들의 개개의 속성들을 표현할 수 있다. 도 5e에서 도시된 바와 같이, 개루프 리스케일링 프로세스에서, 기하구조 정보 및 속성 정보는 다운-스케일링된 기하구조 이미지 프레임(532) 및 다운-스케일링된 속성 이미지 프레임(532)을 각각 생성하도록 독립적으로 스케일링될 수 있다. 또한, 도 5e에서 도시된 바와 같이, 다운-스케일링된 기하구조 이미지 프레임(530)은 기하구조 비트 스트림을 생성하도록 인코딩/압축될 수 있고, 다운-스케일링된 속성 이미지 프레임(532)은 텍스처 속성 비트 스트림과 같은 속성 비트 스트림을 생성하도록 인코딩/압축될 수 있다. 예를 들어, 공간 다운-스케일러(502)는 기하구조 이미지 프레임(526)을 다운-스케일링할 수 있고, 텍스처 다운-스케일러(504)는 텍스처 이미지 프레임(528)을 독립적으로 다운-스케일링할 수 있다. 일부 실시예들에서, 속성 다운-스케일러(506)는 공간 다운-스케일러(502) 및 텍스처 다운-스케일러(504)와 독립적으로 속성을 다운-스케일링할 수 있다. 상이한 다운-스케일러들이 상이한 타입들의 이미지 프레임들(예컨대, 공간 정보, 텍스처, 다른 속성들 등)을 다운-스케일링하는 데 사용되기 때문에, 상이한 다운-스케일링 파라미터들이 상이한 타입들의 이미지 프레임들에 적용되어 텍스처 또는 속성들과는 상이한 기하구조를 다운-스케일링할 수 있다.
도 5f는 일부 실시예들에 따른 예시적인 폐루프 리스케일링을 도시한다. 일부 실시예들에서, 폐루프 리스케일링 프로세스는 다운-스케일링, 인코딩, 디코딩, 및/또는 업-스케일링 프로세스의 일부로서 발생할 수 있는 기하구조에 대한 왜곡 또는 다른 변화들을 결정하기 위해 인코더(500)와 같은 인코더에 의해 이용될 수 있다. 일부 실시예들에서, 그러한 왜곡은 텍스처와 같은 다른 속성들을 다운-스케일링할 때 처리될 수 있다. 인코더(500)와 같은 인코더는 포인트 클라우드(534)를 수신한다. 인코더는 포인트 클라우드(534)를 위한 기하구조 이미지 프레임, 예를 들어 포인트들의 상대적 깊이를 표현하는 패치들을 포함하는 이미지 프레임을 생성한다. 패치들로의 분해 모듈(506), 패킹 모듈(208), 및 공간 이미지 생성 모듈(210) 등을 포함할 수 있는 포인트 클라우드 압축 기하구조 맵퍼(mapper)가 기하구조 프레임 이미지(536)를 생성한다. 공간 다운-스케일러(502)와 같은 기하구조 다운-스케일러는 기하구조 평면을 다운-스케일링하여, 다운-스케일링된 기하구조 평면(538)을 생성한다. "기하구조 평면"은 도 5f에서 도시된 바와 같은 기하구조 패치들로 이루어진 이미지 프레임에만 포함될 수 있는 기하구조 패치 정보를 지칭하는 데 사용된다는 것에 유의한다.
다운-스케일링된 기하구조 평면(538)은, 예를 들어 비디오 압축 모듈(218)에 의해 압축되고, 기하구조 비트 스트림으로 변환된다. 도 5f에서 도시된 바와 같은 폐루프 프로세스에서, 기하구조 비트 스트림은 인코더에서 압축해제되어, 재구성 기하구조 평면(540)을 생성한다. 이어서, 재구성 기하구조 평면은, 인코더에서, 업-스케일링되어, 업-스케일링된 재구성 기하구조 평면(542)을 생성한다.
이어서, 포인트 클라우드(534)의 텍스처 포인트들은 업-스케일링된 재구성 기하구조 평면(542)의 포인트들에 맵핑된다. 이러한 방식으로, 텍스처 포인트들은 기하구조 평면을 재구성 및 업-스케일링할 때 디코더가 조우하는 바와 동일한 위치들에서 동일한 포인트들에 맵핑된다. 이어서, 디코더는 다운-스케일링, 인코딩, 디코딩, 및 업-스케일링으로 인해 발생할 수 있는 기하구조 평면의 왜곡을 고려할 수 있다.
업-스케일링된 재구성 기하구조 평면(542)의 포인트들에 맵핑되는 텍스처 포인트들은 텍스처 평면(544)을 생성할 수 있다. 이어서, 텍스처 평면이 다운-스케일링되어, 다운-스케일링된 텍스처 평면(546)을 생성할 수 있다. 이어서, 다운-스케일링된 텍스처 평면(546)은 텍스처 비트 스트림으로서 인코딩되고 송신될 수 있다.
도 5g는 일부 실시예들에 따른, 다수의 속성 층들을 갖는 예시적인 폐루프 리스케일링을 도시한다. 일부 실시예들에서, 도 5f에 대해 기술된 것과 유사한 프로세스가 이어질 수 있다. 그러나, 다운-스케일링되는 하나 이상의 속성 평면들에 대해 다수의 정도의 다운-샘플링이 수행될 수 있다. 예를 들어, 텍스처 속성 평면(544)은 전혀 다운-스케일링되지 않을 수 있거나(예컨대, 압축률 타깃 0), 또는 복수의 압축률 타깃(예컨대, 압축률 타깃들 1 내지 4)에 따라 다운-스케일링될 수 있다. 그러한 실시예들에서, 압축률 타깃은, 예를 들어 네트워크 조건들, 프로세싱 용량 등에 기초하여 동적으로 조정될 수 있다.
도 5h는 일부 실시예들에 따른 비디오 레벨 시공간적 스케일링의 일례를 도시한다. 일부 실시예들에서, 도 5c 및 도 5d에 기술된 바와 유사한 프로세스가 비디오 레벨 시공간적 다운-스케일링 및 업-스케일링을 사용하여 수행될 수 있다. 예를 들어, 압축 효율을 개선하기 위해 프레임 레이트(예컨대, 단위 시간당 프로세싱되는 프레임들의 수)가 위아래로 조정될 수 있다. 그러한 실시예들에서, 해상도 스케일링 대신에 그리고/또는 해상도 스케일링에 더하여, 시공간적 조정이 이루어질 수 있다.
도 5i는 일부 실시예들에 따른, 시공간적 스케일링을 갖는 예시적인 폐루프 리스케일링을 도시한다.
위에서 논의된 바와 같이, 포인트 클라우드 비디오 데이터를 압축하는 방법들은, 종래의 비디오 코덱들뿐만 아니라 포인트 클라우드 정보를 기술하고 재구성하는 것을 도울 수 있는 보조 정보를 사용할 수 있다. 프로세스가 어떻게 수행되는지에 대한 인코더 및 디코더 다이어그램들이 적어도 도 5a 및 도 5b에 각각 도시되어 있다. 알 수 있는 바와 같이, 프로세스는 포인트 클라우드 프레임을 상이한 타입들의 정보를 각각 표현하는 다수의 2D 투영 이미지들/비디오들로 세그먼트화한다. 이러한 프로세스는 포인트 클라우드를, 전체 3D 공간 데이터를 2D 평면들 상에 효율적으로 투영하게 하는 다수의 패치들로 먼저 세그먼트화함으로써 수행된다. 각각의 패치는 정보, 예컨대 기하구조(본 명세서에서 "공간 정보"로도 지칭됨), 텍스처, 및 다른 속성들 - 이들이 이용가능한 경우 - 과 연관된다. 이어서, 그러한 정보는 개별 이미지 시퀀스들 상의 이미지 프레임들의 공동 위치된 위치들에서 복제되며, 이때 각각은 이제 기하구조 정보, 텍스처 정보, 및 임의의 다른 남은 속성들만을 각각 포함한다. 패치 정보를 포함하는 보조 정보뿐만 아니라 이러한 투영 이미지 시퀀스들 내의 어느 영역들이 실제 포인트 클라우드 데이터에 대응하는지를 지시하고, 점유되어 있지 않은(예컨대, 어떠한 데이터 또는 더미 데이터도 포함하지 않을 수 있음) 점유 맵이 또한 제공된다. 이어서, 상이한 전략들을 이용하여 그러한 정보에 압축이 적용된다. 예를 들어, 보조 정보는 엔트로피 코딩되는 반면, 점유 맵들은 종래의 코덱들 또는 런-길이 압축과 같은 다른 방법들 중 어느 하나를 이용하여 다운-변환 및 인코딩될 수 있다. 다른 한편으로, 별개의 투영 이미지 시퀀스들은 종래의 코덱들을 사용하여 압축된다. 이는 다수의 서브스트림들, 예컨대 기하구조 서브스트림, 텍스처 및 속성 서브스트림들뿐만 아니라 점유 및 보조 정보 서브스트림들의 수집을 초래한다.
전술된 바와 같이, 점유 맵을 제외한 모든 서브스트림들은 동일한 해상도의 것으로 예상된다. 기하구조 서브스트림 내의 각각의 포인트는, 본질적으로, 최종 3D 재구성 포인트 클라우드 내의 포인트에 대응한다. 일부 실시예들에서, 신호가 오리지널 표현과는 상이한 해상도로 인코딩되는 것이 허용된다. 또한, 일부 실시예들에서, 포인트 클라우드를 회전시키는 것뿐만 아니라 오프셋하는 것이 또한 가능하다. 인코더 관점으로부터 사물을 본다면, 이는 타깃 비디오 평면들 상에 투영하기 전에 오리지널 포인트 클라우드 데이터 상에 적용되어야 하는 스케일링, 오프셋, 및 회전을 식별할 추가 메타데이터를 스트림 헤더에서 시그널링함으로써 행해진다. 디코더 관점에서, 이러한 파라미터들은 제1 3D 포인트 클라우드 표현의 재구성 후에 사용되고, 최종 3D 포인트 클라우드 표현을 생성하는 데 활용된다. 그러한 스킴(scheme)에서, 기하구조 및 속성/텍스처 비디오 데이터 둘 다는 포인트 클라우드 헤더에서 특정된 것과 동일한 해상도로 시그널링된다. 스케일링 인자들 및 회전 파라미터들을 포함하는 패치당 메타데이터는, 이제 각각의 투영된 패치 상에 독립적으로 적용되더라도 스케일링으로 그러한 스킴에서 또한 지원된다.
그러나, 일부 실시예들에서, 이러한 스킴은 인코딩된 스트림들에서의 추가적인 해상도 스케일링 유연성을 제공함으로써 추가로 확장될 수 있다. 특히, 3D 공간에서 또는 패치마다 스케일링이 적용될 수 있을 뿐만 아니라, 일부 실시예들에서, 전체 투영 포인트 클라우드 비디오 데이터 상에 스킴 스케일링이 적용될 수 있다. 이는 "종래의" 2D 리스케일링 스킴들 및 아키텍처들의 사용을 허용할 수 있으며, 이들은 많은 아키텍처들에서 용이하게 이용가능하다. 또한, 기하구조 및 속성 서브스트림들이 동일한 해상도로 인코딩되는 스킴과는 달리, 이러한 대안의 스킴은 상이한 해상도들에서 이러한 서브스트림들의 시그널링을 허용한다. 일부 실시예들에서, 이러한 스킴은, 또한, 전술된 3D 스케일링 스킴과 조합될 수 있는데, 예컨대, 특정된 2D 이미지 프레임 스케일링이 인코딩 순서 면에서는 전술된 바와 같은 3D 스케일링 프로세스에 후행할 수 있고, 디코딩 순서 면에서는 그에 선행할 수 있다. 이는 코딩 성능에 추가의 유연성을 제공할 수 있다.
특히, 전술된 스킴에서는, 3D 공간에서 포인트 클라우드 신호에 적용되어 그의 해상도를 변화시켰던 스케일링 인자들(존재하는 경우)을 알고 있다. 본질적으로, 표현되고 있는 포인트 클라우드 장면/객체는 해상도 W3D × H3D × D3D로부터 (sx × W3D) × (sy × H3D) × (sz × D3D)로 변할 것이다. 이어서, 이러한 리스케일링된 객체는 위에서 특정된 패치 접근법을 이용하여 다양한 서브비디오들, 예컨대 각각의 공칭 해상도가 WN × HN인 점유, 기하구조, 및 속성 서브비디오들로 투영될 것이다. 공칭 해상도는, 현재, 신택스 요소들 frame_width 및 frame_height를 사용하여 MPEG PCC TMC2 드래프트(v1.2)의 프레임 헤더 신택스의 그룹에서 특정될 수 있다. 스케일링 인자들은 이러한 신택스에 추가될 수 있다.
TMC 2 v1.2에서의 프레임 헤더 신택스 그룹
Figure 112021144830164-pat00188
제안된 방법에서, 또한, 이제, WG × HG 및 WA(i) × HA(i)의 해상도에서 기하구조 및 속성 신호(i)를 추가로 각각 리스케일링할 수 있다. 포인트 클라우드 압축(PCC) 헤더들에서 이러한 비디오들의 해상도를 시그널링할 필요가 없는데, 이는 그 정보가 비디오 비트 스트림들 자체에서 이미 존재하기 때문이다. 종래의 알고리즘들이 비디오들을 WN × HN의 공칭 해상도로부터 WG × HG 또는 WA(i) × HA(i)로 그리고 그 역으로 리스케일링하는 데 이용될 수 있다. 이들은 도 5c의 인코더 관점에서 그리고 도 5d의 디코더 관점에서 알 수 있다.
도 5e는 기하구조 및 속성 신호들을 변환하기 위한 개루프 아키텍처를 도시한다. 이러한 아키텍처에서, 기하구조 및 속성 신호들은 독립적으로 생성 및 변환된다. 일부 실시예들에서, 유일한 종속성은, 다운-스케일링 및 압축 이전의 기하구조 신호가 텍스처 평면 신호를 생성하는 데 사용된다는 것이다. 그러나, 도 5f에서, 폐루프 아키텍처가 고려된다. 이러한 아키텍처에서, 기하구조 신호는 먼저 스케일링 및 코딩되고, 이어서, 그것은 재구성되고 그의 오리지널 해상도로 업-변환된다. 이어서, 이러한 새로운 기하구조 신호는 텍스처/속성 평면을 생성하는 데 사용된다. 이러한 방법을 이용하여, 생성된 텍스처(또는 속성)는 이전 도면(도 5e)에서의 개루프 아키텍처에 비해 재구성 기하구조에 더 정확하게 대응한다. 기하구조의 업-스케일링 프로세스는, 필요한 경우, 원하는 폐루프 성능을 달성하기 위해 디코더들에 걸쳐서 매칭되어야 한다는 것에 유의해야 한다. 업-스케일러들이 매칭되지 않는 경우, 성능에 있어서 약간의 차이가 있을 수 있다. 기하구조 및 속성 신호들의 해상도들은, 또한, 이러한 시스템들 중 임의의 시스템에서 매칭할 필요가 없다. 분리가능한 필터 기반 업-스케일러, 예컨대 바이큐빅(bicubic), 랑조스(lanczos), 윈도우드(windowed) 코사인 또는 사인 등과 같은 종래의 업-스케일러들, 또는 쌍무(bilateral) 업-스케일러들, 에지 적응적, 모션 보상 등을 포함하는 더 복잡한 업-스케일러들이 사용될 수 있다. 다운-스케일링은, 또한, 유사한 방법들, 예컨대 분리가능한 필터들, 에지 보존 다운-스케일러들 등을 사용할 수 있다.
그러한 접근법은, 또한, 적응적 스트리밍 솔루션들에 의해서도 활용될 수 있다. 특히, 적응적 스트리밍 시스템들에서, 다수의 스트림들이 네트워크의 가변성을 더 잘 지원하기 위해 상이한 해상도들 및 비트레이트들에서 생성될 수 있다. 상이한 층들에 대해 비트레이트들을 조정하는 것과는 별개의 이러한 시스템에서, 상이한 해상도들은, 또한, 텍스처와 기하구조 사이에서 사용되어, 또한, 그러한 기능성을 증강시킬 수 있다. 일례가 도 5g에서 도시되어 있으며, 여기서 특정 기하구조 신호에 대해, 다수의 상이한 비트 스트림들이 텍스처/속성 층에 대해 생성되며, 각각은 또한 잠재적으로 상이한 해상도를 갖는다. 디코더는 특정 텍스처 층을 사용하도록 선택할 수 있고, 이어서, 또한, 그들의 네트워크의 전체 대역폭 특성들을 고려할 때, 텍스처에 대한 적절한 대응하는 서브비트 스트림을 선택할 수 있다.
상이한 태양에서, 상이한 층들의 다운-스케일링 및 업-스케일링은 포인트 클라우드 시스템의 특성들 및 이미지들이 구성되는 방법을 고려함으로써 수행될 수 있다. 특히, 전술된 시스템에서, 이미지들이 패치들을 사용하여 구성된다. 이러한 패치들은 인코더 및 디코더 둘 다에서 이용가능하다. 종래의 시스템은 패치들을 고려할 수 없을 가능성이 있지만, 더 진보된 시스템은 이러한 2개의 프로세스들을 개선하기 위해 패치들을 활용할 수 있다. 특히, 패치 내의 샘플들만을 업-스케일링 또는 다운-스케일링할 때 프로세싱/필터링에 의해 더 양호한 성능이 달성될 수 있다. 패치 밖의 샘플들은, 패치 내부의 샘플들과 어떠한 직접 관계도 갖지 않을 수 있고, 함께 필터링/프로세싱되는 경우, 신호를 오염시킬 수 있는 패딩된 샘플들일 가능성이 있다. 그러한 샘플들을 격리함으로써, 이러한 오염이 회피될 수 있고, 성능이 개선될 수 있다. 시스템 내의 풀 패치 위치 정보를 추출할 수 없다 하더라도, 점유 맵 정보와 같은 다른 관련 정보를 고려하는 것이 여전히 가능할 수 있다. 점유 맵들은, 그들이 다운-샘플링된 경우에 덜 정확하다 하더라도, 성능에 있어서의 약간의 개선을 여전히 제공할 수 있다. 반면에, 속성 신호들에 대한 내삽 프로세스는 기하구조 신호 내의 특성들, 예컨대 에지들을 또한 고려함으로써 증강될 수 있다. 특히, 에지들은 기하구조 신호에서 추출될 수 있으며, 이들은 속성 신호들의 에지들에 관련될 수 있고, 그 정보에 기초하여 유도된 내삽이 수행될 수 있다. 이는, 2개의 층들에서의 에지들이 특히 모든 패치의 경계들에서 매우 관련되기 때문에 가능하다.
일부 실시예들에서, 시공간적 리스케일링이 도 5h 및 도 5i에서 도시된 바와 같이 적용될 수 있다. 일부 실시예들에서, 인코더 상에서, 프레임 드롭핑이 수행될 수 있는 한편, 프레임을 드롭하는 결정은 "이웃하는" 프레임들이 얼마나 유사한지에 기초할 수 있거나, 또는 프레임 드롭핑은 고정 레이트에서 행해질 수 있다(타임 스탬프들이 시간적 관계들의 사용을 통지하기 위해 스트림 내에서 여전히 존재할 것이다). 일부 실시예들에서, 프레임들의 "블렌딩"/평균화가 수행될 수 있다. 즉, 모든 프레임들은 "시간적으로" 제어되는 상이한 페이즈를 사용하여 스케일링될 수 있다. 예를 들어, 홀수 프레임들은 위상 0을 사용하여 수직으로 스케일링될 수 있는 반면, 짝수 프레임들은 위상 1을 사용하여 수직으로 스케일링될 것이다. 그들 스케일링된 이미지들은 필드들로 지칭되며, 이들은, 이어서, 인터레이스 프레임들을 생성하기 위해 함께 인터리빙된다. 이러한 프로세스는 투영된 포인트 클라우드 데이터에 이용될 수 있다. 인터리빙은 수직 방식으로 제한될 필요는 없지만, 대신에 또는 또한 수평으로 행해질 수 있다는 것에 유의한다.
시간적 업-변환을 위해, 프레임 반복들이 사용될 수 있거나, 또는 내삽을 위한 모션 적응적 및 모션 보상 전략들을 포함하는 더 지능적인 방법들이 이용될 수 있다. 기계 학습 방법들이 또한 내삽을 돕기 위해 이용될 수 있다.
일부 실시예들에서, 시간적 해상도가 평면들 중 하나(예컨대, 기하구조 또는 텍스처)에서만 감소되는 반면, 다른 평면에 대해, 모든 프레임들이 (점유 및 패치 정보와 함께) 보유된다는 것을 가정한다. 그러한 경우에, 감소된 시간적 해상도 평면 내의 모든 패치들의 "형상" 및 위치가 알려져 있지만, 그의 특성들(기하구조에 대한 깊이, 텍스처에 대한 색상)의 정확한 값은 알려져 있지 않다. 그러나, 그 값은 각각의 패치를 그들의 시간적 인접 이웃들에 위치시키려고 시도함으로써 계산될 수 있다. 그것은 패치의 형상 정보 및/또는 풀 해상도 평면의 패치 특성들의 이용가능한 값들을 사용하여 검색함으로써 수행될 수 있다. 그것은 기본적으로 검색(예컨대, 모션 추정 기반 검색)을 수반할 것이다. 패치가 위치될 때, 그의 시간적 이웃들로부터 내삽하기 위한 특성들로부터의 정보는 복제/블렌딩될 수 있고, 예측자로서 사용될 수 있다.
포스트 비디오 압축해제 필터링/포스트-프로세싱
도 6a는 일부 실시예들에 따른, 포스트 비디오 압축해제 텍스처 프로세싱부 및/또는 필터링부, 및 포스트 비디오 압축해제 기하구조 프로세싱부/필터링부를 추가로 포함하는 디코더의 컴포넌트들을 도시한다. 디코더(600)는 텍스처 프로세싱/필터링 요소(602) 및 기하구조 프로세싱/필터 요소(604)를 포함한다. 일부 실시예들에서, 디코더(230) 또는 디코더(280)와 같은, 본 명세서에서 기술된 디코더들 중 임의의 것이 텍스처 프로세싱/필터 요소(602)와 같은 텍스처 프로세싱/필터링 요소를 추가로 포함할 수 있다. 일부 실시예들에서, 디코더(230) 또는 디코더(280)와 같은, 본 명세서에서 기술된 디코더들 중 임의의 것이 기하구조/필터링 요소(604)와 같은 기하구조 프로세싱/필터링 요소를 추가로 포함할 수 있다.
위에서 논의된 바와 같이, 비디오 포인트 클라우드 데이터는 종래의 비디오 코덱들을 사용하여 압축될 수 있다. 또한, 포인트 클라우드를 기술 및 재구성하는 데 이용될 수 있는 보조 정보는 종래의 비디오 코덱들을 사용하여 압축될 수 있다. 위에서 논의된 바와 같이, 프로세스는 포인트 클라우드 프레임을 상이한 타입들의 정보를 각각 표현하는 다수의 2D 투영 이미지들/비디오들로 세그먼트화한다. 이러한 프로세스는 포인트 클라우드를, 포인트 클라우드의 3D 공간 데이터를 2D 평면들 상에 효율적으로 투영하게 하는 다수의 패치들로 세그먼트화함으로써 수행된다. 각각의 패치는 정보, 예컨대 기하구조, 텍스처, 및/또는 다른 속성들 - 이들이 이용가능한 경우 - 과 연관된다. 이어서, 그러한 정보는 개별 이미지 프레임 시퀀스들 상의 공동 위치된 위치들에서 복제되며, 이때 각각의 이미지 프레임은 기하구조 정보, 텍스처 정보, 또는 임의의 다른 나머지 속성들만을 각각 포함한다. 패치 정보를 포함하는 보조 정보뿐만 아니라 이러한 투영 이미지 프레임 시퀀스들 내의 어느 영역들이 실제 포인트 클라우드 데이터에 대응하는지를 지시하고, 점유되어 있지 않은(예컨대, 어떠한 데이터 또는 더미 데이터도 포함하지 않을 수 있음) 점유 맵이 또한 제공된다. 상이한 전략들을 이용하여 그러한 정보에 압축이 적용된다. 예를 들어, 보조 정보는 엔트로피 코딩될 수 있는 반면, 점유 맵들은 종래의 코덱들 또는 런-길이 압축과 같은 다른 방법들 중 어느 하나를 이용하여 다운-변환 및 인코딩될 수 있다. 다른 한편으로, 별개의 투영 이미지 시퀀스들은 종래의 코덱들을 사용하여 압축된다. 이는 다수의 서브스트림들, 예컨대 기하구조 서브스트림, 텍스처 및 속성 서브스트림들뿐만 아니라 점유 및 보조 정보 서브스트림들의 수집을 초래한다. 모든 이들 스트림들은 함께 다중화되어, 도 2a에서 도시된 바와 같은 최종 포인트 클라우드 비트 스트림을 생성한다.
예를 들어, 도 6b는 일부 실시예들에 따른, 압축 포인트 클라우드에 대한 비트 스트림 구조물을 도시한다.
이러한 포인트 클라우드 코딩 스킴의 특성들 중 하나는, 상이한 투영 이미지 시퀀스들이 "종래의" 코덱들을 사용하여 압축될 수 있을 뿐만 아니라 2D 이미지/비디오 데이터에 대해 예약된 종래의 프로세싱 알고리즘들로 프로세싱될 수 있다는 것이다. 즉, 2D 이미지 데이터를 이들 이미지 시퀀스들 상에 프로세싱하기 위해 통상적으로 이용되는 잡음제거, 스케일링, 향상, 및/또는 다른 알고리즘들을 적용할 수 있다. 그러한 프로세싱은, 특히 기존의 하드웨어 구현들의 복잡성 및 재사용과 관련하여, 3D 도메인에서 그러한 프로세싱을 수행하는 것에 비해 이점들을 가질 수 있다.
그러한 프로세싱의 일례는 RGB 4:4:4 표현으로부터 4:2:0 YCbCr 표현으로의 그리고 그 역의 데이터 변환이다. 그 시나리오에서, 다운-변환에 대해, RGB 데이터는, 예를 들어, YCbCr 4:4:4 표현으로 먼저 변환될 것이고, 이어서, 크로마 평면들이 필터링될 수 있고 그들의 오리지널 해상도의 ¼(수평으로의 그리고 수직으로의 해상도의 절반)로 다운-스케일링될 수 있다. 역 프로세스의 경우, 크로마 평면들은 그들의 오리지널 해상도로, 예컨대, 다시 YCbCr 4:4:4로 업-스케일링될 것이고, 이어서, 신호는 RGB 4:4:4로 다시 변환될 것이다. 에지 적응적 다운-스케일링 및 업-스케일링의 사용뿐만 아니라 루마 조정 방법과 같은 기법들을 포함하는 다양한 다운-변환 및 업-변환 방법들이 이용될 수 있다.
일부 종래의 프로세싱 방법들이 포인트 클라우드 투영 이미지 시퀀스들 상에서 "그대로" 동작할 수 있지만, 이들은 그러한 이미지들의 특성들, 및 특히 상이한 층들 사이에 존재하는 관계, 또는 패치들 및 점유에 관한 정보를 완전히 고려하지는 않는다. 그러한 정보의 고려는 성능을 개선할 수 있다. 예를 들어, 그러한 방법들은 그러한 특성들 및 정보를 고려함으로써 개선될 수 있으며, 따라서, 투영 이미지들로부터의 재구성된 3D 포인트 클라우드의 성능 및 최종 품질을 개선할 수 있다.
특히, 종래의 방법들은, 이들 시퀀스들 내부의 모든 샘플들이 고도로 상관되고 인접한 샘플들이 동일하거나 적어도 이웃하는 객체들에 대응할 가능성이 있다고 가정하면, 투영 이미지 시퀀스들을 프로세싱할 가능성이 가장 높을 것이다. 불행하게도, 이는 그러한 이미지화(imagery)에서의 경우가 아닐 수 있다. 실제로, 그러한 이미지 프레임들은, 투영된 패치들에 대응하는 샘플들뿐만 아니라 이들 패치들을 분리 및 구별하는 데 사용되는 필러(filler) 영역들로 이루어진다. 그러한 필러 영역들은, 예컨대 디폴트 색상 값으로 충전되지 않은 채로 남겨질 수 있거나, 또는 본 명세서에서 기술된 바와 같은 패딩 방법들을 이용하여 충전되었을 수 있다. 예컨대, 필터링을 위해 긴 필터들을 사용할 때, 개별 샘플들의 프로세싱은 상이한 패치들뿐만 아니라 필러 영역들 사이의 정보의 오염을 초래할 수 있으며, 이는 품질을 손상시킬 수 있다.
대신에, 정밀한 패치 위치 및 필러 영역들에 대한 지식이 성능에 실질적으로 유익할 수 있다. 일부 실시예들에서, 프로세싱 엔진(예컨대, 텍스처 프로세싱/필터링 요소(602) 및/또는 기하구조 프로세싱/필터링 요소(604))이 패치별 기반으로 그러한 이미지 데이터에 대한 필터링/프로세싱 동작들을 수행한다. 즉, 특정 샘플(s)이 s와 동일한 패치에 대응하는 샘플들을 처리함으로써 프로세싱/필터링된다. 예컨대 긴 필터의 고려 때문에, 종래의 방법을 이용하는 프로세싱 시에 포함되었을 수 있지만 동일한 패치에 대응하지 않는 샘플들은 s의 프로세싱으로부터 배제된다. 이는, 예를 들어, 그러한 샘플들이 완전히 배제될 때까지 프로세싱 필터의 길이를 감소시킴으로써, 또는 프로세싱할 때 패치들 사이의 경계들에서 데이터의 외삽을 즉석으로 수행하고 패치 외부의 이용가능한 데이터 대신에, 외삽된 데이터를 사용함으로써 행해질 수 있다.
필러 데이터를 프로세싱할 때 동일한 원리들이 적용될 수 있으며, 이는 자체로 패치로서 보일 수 있다.
특정 시스템은 각각의 개별 패치에 대한 정확한 위치 및 형상 정보를 고려할 수 있는데, 예컨대 그것은 패치 정보가 완전히 디코딩되고 따라서 프로세싱 동안 완전히 이용가능할 것을 요구할 수 있다. 이는 가장 정확한 프로세싱을 제공할 수 있고, 패치들에 걸친 오염을 피할 수 있다. 일부 실시예들에서, 패치 위치 및 형상의 근사치는 종래의 2D 비디오 코딩 시스템을 사용하여 코딩되었을 수 있는 점유 맵 정보만을 봄으로써 결정될 수 있다. 이러한 경우에, 점유 정보가, 예컨대 수평으로 그리고 수직으로 4배(전체적으로 16배)만큼, 서브샘플링되었을 수 있기 때문에, 패치의 경계들에서의 샘플들 중 일부가 복제되었을 수 있다. 이는 성능에 있어서 일부 영향을 미칠 수 있지만, 풀 패치 정보를 디코딩할 필요가 없기 때문에 프로세싱 복잡성이 상당히 더 낮을 수 있다.
포인트 클라우드 데이터는 기하구조 정보뿐만 아니라 다른 속성들, 예컨대 텍스처, 색상, 반사율 정보 등과 연관된다. 상이한 속성들에 걸친 관계들 및 특성들을 고려함으로써 개선된 성능이 달성될 수 있다. 특히, 투영된 평면 내의 기하구조 샘플 값들의 유사성 또는 비유사성이 속성 평면에서 대응하는 샘플들을 프로세싱할 때 설명될 수 있다. 특히, 기하구조 평면 내에서 동일하거나 유사한 깊이에 대응하는 이웃하는 투영된 샘플들은 고도로 상관될 것으로 예상된다. 그러나, 매우 비유사한 깊이 정보를 갖는 이웃하는 샘플들은 상관될 가능성이 더 적다. 따라서, 그러한 샘플들을 프로세싱할 때, 깊이 정보는, 또한, 이러한 샘플들이 어떻게 고려되어야 하는지를 결정하기 위해 고려될 수 있다.
일부 실시예들에서, 깊이 거리와 관련하여 샘플(x)로부터 너무 멀리 있는, 예컨대 거리 임계치(T)를 초과하는 샘플들이 샘플(x)을 프로세싱할 때 배제될 수 있다. 다른 샘플들은 그들의 거리에 기초하여 다시 프로세싱할 시에 가중화되거나 우선순위화될 수 있다. 다른 속성들로부터의 대응하는 정보 및 이러한 속성들이 얼마나 유사하거나 비유사한지는, 또한, 샘플을 프로세싱할 때 고려될 수 있다. 기하구조 평면으로부터 또는 다른 속성 평면들로부터 추출된 에지들과 같은 정보가, 또한, 프로세싱할 때 고려될 수 있다. 앞서 논의된 바와 같은, (예컨대, 4:4:4로부터 4:2:0로의) 크로마 다운-샘플링의 특정 예에서, 기하구조뿐만 아니라 루마 속성 정보를 이용하는 에지 지향성 다운-샘플링이 제1 경우에 수행될 수 있는 한편, 유사하게, (예컨대, 4:2:0로부터 4:4:4로의) 업-샘플링에 대해, 기하구조 및 루마 속성 정보를 이용하는 에지 지향성 업-샘플링이 수행될 수 있다. 그러한 프로세싱은 다시 앞서 기술된 바와 같은 패치/점유 맵 기반일 수 있지만, 그러한 프로세싱은, 또한, 그러한 고려 없이 자체로 수행될 수 있다. 다른 예에서, 기하구조 정보 및/또는 이용가능할 수 있는 다른 속성 평면들로부터의 정보를 다시 이용하여, 해상도 H_o × W_o로부터 새로운 해상도 H_n × W_n로의 속성 평면들의 지향형 내삽이 수행될 수 있다. 예를 들어, 도 6c는 일부 실시예들에 따른, 속성 평면이 그의 대응하는 기하구조 정보 및 기하구조 추출 에지들을 사용하여 업-스케일링되는 예시적인 응용예를 도시한다.
일부 실시예들에서, 전술된 제안된 필터/프로세싱 기법들을 활용하는 다른 응용예들은, 그 중에서도, 잡음제거(de-noising), 디-밴딩(de-banding), 디-링잉(de-ringing), 디-블록킹, 첨예화(sharpening), 에지 향상(edge enhancement), 객체 추출/세그먼트화, (예컨대, HDR 애플리케이션들에 대한) 디스플레이 맵핑, 재착색/톤 맵핑(tone mapping)을 포함할 수 있다. 그러한 방법들은, 또한, 예를 들어, 특정 왜곡 측정치를 평가할 때 유사한 기하구조 정보 및 다른 속성들에 또한 상응하는 대응 패치들에서의 데이터를 함께 풀링(pool)하고 고려함(예컨대, 왜곡 값들을 합산함)으로써, 품질 평가를 위해 활용될 수 있다. 프로세싱은 순수하게 공간적일 수 있는데, 예컨대, 동일한 타임스탬프에 대응하는 투영 이미지들만이 그러한 프로세싱을 위해 고려될 수 있지만, 시간적/시공간적 프로세싱이, 예컨대 모션 보상 또는 모션 적응적 프로세싱 전략들을 이용하여, 또한 허용될 수 있다.
압축 포인트 클라우드 데이터에 대한 비트 스트림 구조
위에서 그리고 도 13 및 도 14와 관련하여 더 상세히 논의된 바와 같이, 증강 및 가상 현실 애플리케이션들에 그리고 이들을 지원하기 위한 3차원 데이터의 사용 및 압축에 상당한 관심이 있다. 하나의 그러한 형태의 데이터는 포인트 클라우드 표현들을 포함하며, 여기서 객체들은 3D 기하구조와 관련하여 기술되는 일련의 포인트들 및 색상, 반사율, 시간, 또는 다른 타입들의 정보와 같은 정보를 포함할 수 있는 포인트당 속성들의 세트로서 특정된다. 그러한 정보의 압축은 그러한 데이터가 압축되지 않은 경우에 필요로 할 공간 및 대역폭의 양을 고려하면 매우 바람직하다.
포인트 클라우드 데이터를 압축하기 위해 제안되었던 한 가지 방법은 패치들을 비디오 프레임들로 패킹하는 것과 관련하여 위에서 기술되고, 패치들에 "누락된" 또는 포함되지 않은 포인트들을 추가로 인코딩함으로써 거의 무손실 또는 무손실 성능을 달성하도록 추가로 확장될 수 있다.
도 5a 및 도 5b에서 도시된 바와 같은 인코더 및 디코더 다이어그램들은 그러한 프로세스가 어떻게 수행되는지를 도시한다. 일부 실시예들에서, 포인트 클라우드 데이터는 우선 다수의 2D 투영 이미지들/비디오들로 세그먼트화되며, 각각은 상이한 타입들의 정보를 표현한다. 세그먼트화는 포인트 클라우드를, 전체 3D 공간 데이터를 2D 평면들 상에 효율적으로 투영하게 하는 다수의 패치들로 분할함으로써 수행된다. 각각의 패치는, 이용가능한 경우의, 기하구조, 텍스처, 및 다른 속성들과 같은 정보와 연관된다. 이어서, 그러한 정보는 개별 이미지 시퀀스들 상의 공동 위치된 위치들에서 복제되며, 이때 각각은 이제 기하구조 정보, 텍스처 정보, 및 임의의 다른 남은 속성들만을 각각 포함한다. 패치 정보를 포함하는 보조 정보뿐만 아니라 이러한 투영 이미지 시퀀스들 내의 어느 영역들이 실제 포인트 클라우드 데이터에 대응하는지를 지시하고, 점유되어 있지 않은(예컨대, 어떠한 데이터 또는 더미 데이터(예컨대, 패딩된 데이터)도 포함하지 않을 수 있음) 점유 맵이 또한 제공된다. 이어서, 상이한 전략들을 이용하여 그러한 정보에 압축이 적용된다. 예를 들어, 보조 정보는 엔트로피 코딩될 수 있는 반면, 점유 맵들은 종래의 이미지/비디오 코덱들 또는 런-길이 압축과 같은 다른 방법들 중 어느 하나를 이용하여 다운-변환 및 인코딩될 수 있다. 별개의 투영 이미지 시퀀스들은 종래의 코덱들을 사용하여 압축될 수 있다. 이는 다수의 서브스트림들, 예컨대 기하구조 서브스트림, 텍스처 및 속성 서브스트림들뿐만 아니라 점유 및 보조 정보 서브스트림들의 수집을 초래한다. 모든 이들 스트림들은 함께 다중화되어, 도 6b에서 도시된 비트 스트림 구조에 도시된 바와 같은 최종 포인트 클라우드 비트 스트림을 생성한다.
일부 실시예들에서, 도 6b에서 특정된 구조물은 매우 강성이고 유연하지 않을 수 있으며, 제약된 시간 프레임 내에서 효율적으로 시그널링 및 디코딩되도록 시간적으로 단일 포인트 클라우드 프레임에 대응하는 모든 정보를 요구할 소정 애플리케이션들, 특히 저지연 애플리케이션을 처리하지 않을 수 있다. 도 6b에 도시된 비트 스트림 아키텍처는, 또한, 메모리 및 지연과 관련하여 상당한 페널티들을 부과할 수 있다. 일부 실시예들에서, 포인트 클라우드 비디오 시퀀스는 다수의 포인트 클라우드 프레임 그룹(group of point cloud frames, GOF)들로 세그먼트화된다. 프레임 그룹 또는 GOF들이 다수의 정보 층들로 이루어질 수 있으며, 이때 각각의 하나의 정보 층은, 그 중에서도, 기하구조 및 텍스처 정보와 같은 상이한 타입들의 데이터를 표현한다. 일부 실시예들에서, 포인트 클라우드 압축(PCC) 디코더에는 각각의 GOF에 대한 전체 기하구조 비디오 스트림뿐만 아니라 그와의 임의의 연관된 정보를 먼저 디코딩 및 저장할 것, 뒤이어, GOF 내의 각각의 프레임을 재구성하기 시작하기 전에 관련 텍스처 비디오 스트림이 이어질 것이 요구된다(포인트 클라우드 재구성이 텍스처 비디오 스트림의 디코딩 순서를 따를 수 있음을 주장할 수 있다). 그러나, 메모리 요건들은, 비트 스트림을 스캐닝하고 각각의 서브비트 스트림(예컨대, 기하구조, 점유/보조 정보, 텍스처)의 적절한 위치를 찾음으로써 그리고 이들을 동시에 디코딩함으로써 감소될 수 있다. 그러나, 이는 동일한 코딩 순서 및 구조들을 이용하는 데 있어서 그러한 스트림들이 제한된다는 것을 가정한다.
모든 데이터가 상이한 서브스트림들의 위치들을 나타내기 위해 임의의 마커들 없이 순차적으로 시그널링될 때, 시간 지연의 상당한 단점이 있을 수 있다. 예를 들어, 모든 프레임 그룹(GOF)의 정보가 디코딩될 때까지 하나의 프레임이 재구성될 수 없다. 또한, 비트 스트림은 모든 데이터가 그 자신의 크기의 정보를 갖지 않는 한 동시에 디코딩될 수 없다. 이러한 문제를 해결하기 위해, 일부 실시예들에서, 편의상 본 명세서에서 PCCNAL(Point Cloud Compression Network Abstraction Layer) 유닛으로 지칭될 수 있는 코딩 유닛의 개념이 이용될 수 있으며, 이는 하나 이상의 타입들의 데이터에 대한 정보 및 그의 관련 헤더 정보를 포함한다. 캡슐화된 데이터는 비트 스트림 내의 임의의 위치에 배치될 수 있고, 동시에 디코딩 및 재구성될 수 있다.
일부 실시예들에서, 파라미터들의 시그널링 방법들은 정의되거나 제한되지 않을 수 있다. 파라미터들의 명칭들은, 파라미터들이 동일한 목적을 서빙하는 한 제한되지 않을 수 있다. 각각의 파라미터의 실제 값 또는 코드 워드들은, 파라미터의 각각의 기능이 숫자들에 의해 식별되는 한 제한되지 않을 수 있다.
예를 들어, 더 가요성이고 저지연 애플리케이션들에 대한 포인트 클라우드 데이터의 전달을 허용하는 압축 포인트 클라우드 데이터에 대한 비트 스트림 구조가 사용될 수 있다. 비트 스트림 구조는, 또한, 그 중에서도, 동일하지 않은 오차 보호, 재순서화, 및 감소된 메모리 풋프린트와 같은 다른 특징들을 가능하게 할 수 있다. 게다가, 포인트 클라우드 데이터의 전체 슬라이스, 프레임, GOP, 또는 시퀀스에 걸쳐서 사용되는 상이한 방법들 및 정의들을 식별하는 데 사용되는 파라미터들 및/또는 컴포넌트 유닛들이 또한 일부 실시예들에서 고려될 수 있다. 포인트 클라우드 압축(PCC) 비트 스트림 내에서 정의되고 사용되는 컴포넌트 유닛의 일례가 포인트 클라우드 압축 네트워크 추출 계층(PCCNAL) 유닛이다. 특히, PCCNAL 유닛은, 하나 이상의 타입들의 정보를 포함하고 비트 스트림 내의 어디에든 배치될 수 있는 데이터의 세트로서 정의될 수 있다. 그러나, 배치는 특정 기간 내에서 제한될 수 있다.
PCCNAL 유닛의 일부 다른 속성들은 하기를 포함한다:
Figure 112021144830164-pat00189
PCCNAL 헤더: 유닛의 시작 및/또는 유닛의 타입을 나타내는 비트들의 시퀀스. 그러한 헤더는 PCCNAL 내의 다른 어디에도 존재하지 않아야 하는 고유 시퀀스인 "시작 코드" 지시자를 포함할 수 있고, 그러한 유닛을 식별하는 데 도움을 줄 수 있다. 시작 코드 에뮬레이션 방지 방법들은 스트림 내의 동등한 시그니처들의 존재를 회피시키기 위해 사용될 수 있다.
Figure 112021144830164-pat00190
PCCNAL 인덱스: 상이한 PCCNAL 유닛들을 식별하기 위한 인덱스
Figure 112021144830164-pat00191
PCCNAL 크기: PCCNAL 유닛의 크기
Figure 112021144830164-pat00192
PCCNAL 트레일링 비트들: 그러한 정보는 선택적이고, 시작 코드와 유사하며, 이는 PCCNAL 유닛의 끝을 식별하는 데 도움이 될 수 있는 고유 시그니처이다
Figure 112021144830164-pat00193
PCCNAL GOF 인덱스: PCCNAL 유닛들에 대한 대응하는 GOF 인덱스
Figure 112021144830164-pat00194
PCCNAL POC: 그러한 유닛에 대한 인덱싱 파라미터 이러한 인덱스는, 각각의 NAL 유닛을 분류하고/하거나 식별하고 그의 값에 기초하여 상이한 NAL 유닛들의 그룹화를 허용하는 데 사용될 수 있다. 예를 들어, 동일한 포인트 클라우드 프레임에 대응하는 기하구조 및 속성 프레임에 동일한 인덱스가 주어질 수 있으며, 이는 포인트 클라우드 표현의 디코딩 및 재구성 동안 나중에 그들의 관계를 식별하는 것을 돕는다. 이러한 정보는 비트 스트림 내의 PCCNAL 유닛들의 배치를 제한할 수 있다.
각각의 코딩된 블록 또는 코딩된 블록들의 세트는 PCCNAL 유닛으로서 식별될 수 있다. 그러한 블록들은, 그 중에서도, 시퀀스 파라미터 세트들, 픽처 파라미터 세트들, 기하구조 비디오 데이터, 점유 데이터, 텍스처 비디오 데이터, 기하구조 프레임, 점유 프레임 및 텍스처 프레임을 포함할 수 있다. 예를 들어, 도 7a의 기하구조 비디오 스트림은 기하구조 비디오 데이터 PCCNAL(PCCNAL-GEO)에 대응할 수 있고, 보조 정보 및 점유 맵은 PCCNAL-OCC에 대응할 수 있고, 텍스처 비디오 스트림은 PCCNAL-ATT에 대응할 수 있다. 대안의 실시예에서, 기하구조 비디오 데이터, 점유 데이터 및 텍스처 비디오 데이터 모두는 하나의 PCCNAL 유닛을 포함할 수 있다.
PCCNAL 유닛의 예들은 하기와 같다:
Figure 112021144830164-pat00195
PCCNAL-SPS: 사용되고, 전체 시퀀스에 걸쳐서 적용될 수 있는 파라미터들의 세트
Figure 112021144830164-pat00196
PCCNAL-PPS: 사용되고, 전체 프레임/픽처에 걸쳐서 적용될 수 있는 파라미터들의 세트
Figure 112021144830164-pat00197
PCCNAL-GOF: 사용되고, 전체 GOF에 걸쳐서 적용될 수 있는 파라미터들의 세트
Figure 112021144830164-pat00198
PCCNAL-OCC: 점유 맵 정보의 세트
Figure 112021144830164-pat00199
PCCNAL-GEO: 기하구조 데이터 정보의 세트
Figure 112021144830164-pat00200
PCCNAL-ATT: 텍스처 데이터 정보의 세트
Figure 112021144830164-pat00201
PCCNAL-FRM: 단일 프레임에 대한 정보
Figure 112021144830164-pat00202
PCCNAL-GEOFRM: 단일 프레임에 대한 기하구조 정보
Figure 112021144830164-pat00203
PCCNAL-ATTFRM: 단일 프레임에 대한 텍스처 정보
Figure 112021144830164-pat00204
PCCNAL-OCCFRM: 단일 프레임에 대한 점유 맵 정보
상기의 정보는, 또한, 서브프레임들, 예컨대 슬라이스들, 코딩 트리 유닛(coding tree unit, CTU)들의 그룹 또는 매크로블록들, 타일들, 또는 슬라이스들 또는 타일들의 그룹들에 대해 정의될 수 있다. 그들은, 또한, GOF의 프레임들의 개수와 반드시 동일할 필요는 없는 프레임 그룹에 대해 특정될 수 있다. 그러한 프레임 그룹은 GOF보다 더 작거나 심지어 더 클 수 있다. 이것이 더 작은 경우에, 이러한 그룹 내부의 모든 프레임들은 GOF의 서브세트일 것으로 예상된다. 더 큰 경우, 그 수는 반드시 동일한 길이의 것이 아닐 수도 있는 몇몇 완전한 GOF들을 포함할 것으로 예상된다. 도 7b는 PCCNAL 유닛들을 갖는 PCC 인코딩된 비트 스트림의 개념적 구조의 예시적인 도면이다.
일부 실시예들에서, PCCNAL 유닛들은 어떠한 마커도 없이 순차적으로 시그널링될 수 있다.
일부 실시예들에서, PCCNAL 유닛들은, 시작 코드를 포함할 수 있고/있거나 PCCNAL 트레일링 비트들을 포함할 수 있는 PCCNAL 헤더를 가질 수 있다. PCCNAL 헤더는 PCCNAL 유닛의 시작에 위치되고, PCCNAL 트레일링 비트들은 PCCNAL 유닛의 끝에 위치된다. PCCNAL 헤더 및/또는 PCCNAL 트레일링 비트들을 가짐으로써, 디코더는 시작으로부터 데이터까지의 디코딩 없이 적절한 데이터가 위치되는 포인트로 점프할 수 있다.
예를 들어, PCCNAL 헤더에서, PCCNAL 유닛의 검출을 도울 수 있는 시작 코드가 포함될 수 있다. 시작 코드는 그러한 유닛 내의 임의의 다른 데이터를 표현하기 위해 사용되지 않아야 하는 비트들의 고유 시퀀스이다. 그러한 시작 코드가 검출될 때, 하기의 비트들이 그러한 유닛과 관련된 특정 정보에 대응할 것임이 알려질 수 있는데, 이는 그의 식별 정보뿐만 아니라 그러한 식별자에 대응할 임의의 관련 페이로드를 포함한다. 예를 들어, 000000과 동일한 식별자에 대해 6 비트를 가정하면, 그 식별자는 PCCNAL이 GOF 헤더 유닛임을 나타낼 수 있는 반면, 000001과 동일한 식별자는 페이로드가 기하구조 데이터 정보를 포함함을 나타낼 수 있다. 다른 식별자들은 점유 정보, 속성들 등에 대응할 수 있고, 그러한 것은 애플리케이션 또는 사용자(예컨대, 인코더/디코더를 구성하는 엔지니어)에 의해 정의될 수 있다. 시작 코드들이 특정 유닛의 시작 시에 존재하지만, 본 명세서에서 "프리앰블" 시퀀스로 지칭될 수 있는 고정 개수의 비트들 또는 신택스 요소들을 따르는 "시작 코드"를 또한 정의하는 것이 가능할 수 있다는 것이 주목되어야 한다. 예를 들어, 프리앰블 시퀀스는 유닛 식별자뿐만 아니라 POCNAL POC 파라미터를 포함할 수 있다. 프리앰블 시퀀스에서의 파라미터들이 가변 산술 인코딩을 사용하는 경우, 비트 스트림에서 우측으로부터 좌측으로의 순서로 이들을 인코딩한다(예컨대, 인코딩된 파라미터의 최하위 비트가 스트림 내에 먼저 기록되고 최상위 비트가 마지막에 기록됨). 이는 필수적인 것은 아니지만, 고정 길이 파라미터들에 대해 여전히 사용될 수 있다.
일부 실시예들에서, PCCNAL 헤더는 PCCNAL 헤더 비트들 대신에 그 자신의 PCCNAL 크기의 크기를 포함할 수 있다.
일부 실시예들에서, PCCNAL 헤더는 PCCNAL 크기 및 PCCNAL 헤더 비트들 둘 다를 가질 수 있다.
일부 실시예들에서, PCCNAL은 PCCNAL 유닛의 끝을 나타내기 위한 트레일링 비트들을 가질 수 있다.
일부 실시예들에서, PCCNAL은 그의 대응하는 GOF 인덱스를 가질 수 있다.
일부 실시예들에서, PCCNAL은 그의 대응하는 POC 인덱스를 가질 수 있다.
일부 실시예들에서, PCCNAL은 그의 대응하는 타입 식별자를 가질 수 있다.
일부 실시예들에서, PCCNAL 헤더를 사용하여, 비트 스트림 내의 PCCNAL 유닛들은 어떠한 고정 순서도 없이 위치될 수 있다. 예를 들어, 일부 실시예들에서, PCCNAL 유닛들은 PCCNAL POC의 제한들 내에서, 비트 스트림 내에 임의의 순서로 배치될 수 있다. PCCNAL POC의 값을 사용하여 디코딩 또는 재구성 동안 재순서화가 여전히 수행될 수 있다. 그러나, PCCNAL POC는 주기적인 수(periodic number)일 수 있고, 그러한 재순서화는 그러한 특성을 고려해야 한다. 일부 실시예들에서, PCCNAL 유닛들은 그들의 GOF 인덱스별로 그룹화될 수 있다. 일부 실시예들에서, PCCNAL 유닛들은 도 7b에 도시된 바와 같이 그들의 POC별로 그룹화될 수 있다. 일부 실시예들에서, PCCNAL 유닛들은 도 7c에 도시된 바와 같이 그들의 타입들별로 그룹화될 수 있다.
일부 실시예들에서, PCCNAL 유닛들은 상이한 비트 스트림들로 시그널링될 수 있다. 이들이 개별적으로 시그널링된다 하더라도, 이들은 GOF 인덱스 및/또는 POC와 같은 PCCNAL 헤더 정보에 의해 적절하게 재구성될 수 있다.
예를 들어, 인코딩된 PCC 비트 스트림이 디코더에서 수신될 때, 디코더는 PCCNAL 유닛 헤더들을 파싱(parse)하기 시작할 수 있다. 헤더들 내의 정보를 이용하여, 디코더는 비트 스트림을 통하여 점프하여 동기화된 점유-기하구조-텍스처 데이터를 수집할 수 있다. 헤더가 PCCNAL 유닛의 크기를 갖는 경우, 그것은 크기만큼 끝으로 점프할 수 있다. 헤더가 시작 코드만을 포함하는 경우, 그것은 새로운 헤더 또는 트레일링 비트 시퀀스와 조우할 때까지 비트 스트림을 통하여 판독할 수 있다. 디코더는, 또한, 각각의 PCCNAL에 대한 PCCNAL POC 정보를 분석할 수 있고, 어느 유닛들이 동일한 정보를 포함하는지를 결정할 수 있고, 이어서, 그들을 그룹화하고 재순서화할 수 있다. 그러한 프로세스는, 예컨대, 기하구조 및 속성 비디오 신호들 내의 어느 프레임이 동일한 포인트 클라우드 프레임에 대응하는지 그리고 그의 재구성에 사용될 수 있는지를 결정함으로써, 압축 포인트 클라우드 데이터가 적절히 디코딩되고 이어서 재구성되는 것을 허용할 수 있다. 이는, 디코더가 비트 스트림을 통하여 스캐닝하고 베이스 및 향상 층들의 POC들에 기초하여 그들의 대응성을 결정하는 스케일링가능한 비디오 코덱들에서 사용되는 바와 유사한 메커니즘이다.
인코딩된 PCC 비트 스트림에서, 슬라이스당, 프레임/픽처당, GOP당, 또는 포인트 클라우드 데이터의 시퀀스당 수 개의 파라미터들이 있을 수 있는데, 이들은 포인트 클라우드 데이터의 적절한 디코딩 및 렌더링을 허용하는 정보를 시그널링한다. 파라미터들은 비트 스트림에서, 1회 초과로 그리고 상이한 위치들에서 존재할 수 있다. 예를 들어, 파라미터가 시퀀스 레벨 및 슬라이스 레벨 둘 다에서 시그널링될 수 있다. 이 경우에, 더 낮은 레벨에서의 파라미터는 레벨 범주 내의 더 높은 레벨에서의 하나의 파라미터를 덮어쓸 수 있다. 다른 실시예에서, 더 낮은 레벨에서의 파라미터는 더 높은 레벨에서의 파라미터의 특성들을 명확화할 수 있는 추가 정보를 제공할 수 있다. 이러한 파라미터들의 세트는 PCCNAL 유닛을 포함할 수 있다. 그러한 파라미터들의 일부 예는 하기를 포함한다:
Figure 112021144830164-pat00205
PCC 프레임 폭, PCC 프레임 높이: PCC 데이터가 맵핑되는 프레임의 "공칭" 폭 및 높이. 크기는 비디오 코덱의 출력의 크기와 동일할 수 있다. 크기는 비디오 코덱의 출력의 크기와는 상이할 수 있다. 이 경우에, 출력들은 파라미터 세트들에 나타내진 방법에 의해 크기조절될 수 있거나 사용자/코덱에 의해 사전정의될 수 있다.
Figure 112021144830164-pat00206
크기조절 타입: 디코딩된 비디오 크기로부터 PCC 프레임 크기로의 크기조절 방법의 타입
Figure 112021144830164-pat00207
프레임 그룹 크기: 하나의 프레임 그룹 내의 프레임들의 개수가 시그널링될 수 있다.
Figure 112021144830164-pat00208
크로마 포맷: 기하구조 데이터 비디오 및 텍스처 데이터 비디오의 크로마 포맷이 시그널링될 수 있다. 필요한 경우, 점유 맵의 크로마 포맷이 역시 시그널링될 수 있다. 포맷은 비디오 층들 둘 다에 대해 한번 시그널링될 수 있거나, 또는 각각의 비디오 층에 대해 개별적으로 시그널링될 수 있다. 그러한 정보는, 또한, 비디오 비트 스트림으로부터 추론될 수 있고, 반드시 PCCNAL 유닛에 다시 존재할 필요는 없다.
Figure 112021144830164-pat00209
입력, 출력 비트 깊이: 이 신택스는 입력 PCC 데이터 및 출력 PCC 데이터의 비트 깊이가 시그널링됨을 정의한다.
Figure 112021144830164-pat00210
내부 비트 깊이: 이 신택스 요소는 PCC에서의 내부 계산을 위한 데이터의 비트 깊이를 정의한다. 내부 계산 동안, 입력 데이터는 내부 비트 깊이의 범위 내에 있도록 조정된다. 그러한 정보는, 또한, 비디오 비트 스트림으로부터 추론될 수 있고, 반드시 PCCNAL 유닛에 다시 존재할 필요는 없다.
Figure 112021144830164-pat00211
비디오 코덱의 타입: 이러한 신택스 요소는 기하구조 및 속성 투영 비디오 데이터를 인코딩하는 데 사용되는 대응하는 프로파일 및 레벨 정보뿐만 아니라 비디오 코덱, 예컨대 AVC, HEVC, AV1 또는 일부 다른 코덱을 정의한다. 그러한 신택스 요소는 기하구조 및 속성 비디오 신호들 둘 다에 대해 한번 시그널링될 수 있거나, 또는 각각의 비디오 신호에 대해 독립적으로 시그널링될 수 있다. 그러한 정보는, 또한, 생략될 수 있고, 비디오 스트림의 특성들 및 비디오 스트림 내의 정보에 의해 추론될 수 있다.
Figure 112021144830164-pat00212
각각의 스트림에 대한 층들
○ 층들의 존재: 비트 스트림 내의 기하구조 데이터/속성 데이터/점유 맵에 대한 1개 초과의 층들이 있음을 나타내는 플래그
○ 층들의 개수: 층들이 1개 초과인 경우에, 층들의 개수가 또한 시그널링된다. 이러한 신택스 요소는 기하구조 및 속성 데이터 비디오가 갖는 층들의 개수를 정의한다. 각각의 층은 패치 내의 동일한 픽셀에 맵핑되는 포인트들에 관한 정보를 포함하지만, 각각의 층은 상이한 깊이들에 대응한다.
○ 층들의 최소 개수: 이는 비트 스트림들 내에 존재하는 층들의 최소 개수를 정의하는 선택적인 신택스 요소이다.
○ 각각의 비디오 층은 상이한 타입의 비디오 코덱을 사용할 수 있다. 특정 층들에 사용되는 비디오 코덱의 타입이 시그널링될 수 있다.
Figure 112021144830164-pat00213
점유 맵
○ 점유 맵의 존재: 비트 스트림 내의 점유 맵의 존재를 나타내는 플래그
○ 점유 맵의 코딩 타입: 점유 맵이 존재하는 경우에, 점유 맵에 이용되는 코딩 방법의 타입이 또한 시그널링된다. 예를 들어, 점유 맵은 비디오 코덱 또는 본 명세서에서 정의된 다른 방법으로 코딩될 수 있다.
포인트 클라우드들을 압축 및 압축해제하는 예시적인 방법들
도 8a는 일부 실시예들에 따른, 포인트 클라우드의 속성 및 공간 정보를 압축하기 위한 프로세스를 도시한다.
802에서, 포인트 클라우드가 인코더에 의해 수신된다. 포인트 클라우드는, 예를 들어 하나 이상의 센서들에 의해 캡처될 수 있거나, 또는, 예를 들어 소프트웨어로 생성될 수 있다.
804에서, 본 명세서에서 기술된 기법들 중 임의의 것을 이용하여 또는 본 명세서에서 기술된 기법들의 하나 이상의 조합들을 이용하여, 압축 포인트 클라우드 정보가 결정된다.
806에서, 압축 포인트 클라우드는 804에서 결정된 압축 포인트 클라우드 정보를 이용하여 인코딩된다. 포인트 클라우드는 본 명세서에서 기술된 기법들 중 임의의 것을 이용하여 압축될 수 있다.
도 8b는 일부 실시예들에 따른, 포인트 클라우드의 속성 및 공간 정보를 압축해제하기 위한 프로세스를 도시한다.
단계(803)에서, 인코딩된 포인트 클라우드가 수신된다. 포인트 클라우드는 본 명세서에서 기술된 인코딩 기법들 중 임의의 것을 이용하여 인코딩되었을 수 있는데, 예컨대 패치 이미지들이 비디오 인코더에 의해 이어서 인코딩되는 이미지 프레임으로 패킹된다. 일부 실시예들에서, 인코딩된 포인트 클라우드는, 비디오 인코더를 통해 이어서 인코딩되는, 정육면체, 원통, 구체 등 상으로의 투영부들과 같은 포인트 클라우드 투영부들을 포함할 수 있다.
805에서, 인코딩된 포인트 클라우드에 대한 공간 및 속성 정보가 결정된다. 예를 들어, 비디오 디코더는 비디오 인코딩된 패킹된 이미지들 또는 투영부들을 디코딩하기 위해 사용될 수 있다. 이어서, 공간 정보가, 패킹된 이미지들 또는 투영부들에 기초하여 결정되고, 포인트 클라우드의 포인트들에 대한 공간 정보를 결정하기 위해 조합될 수 있다. 예를 들어, 패치의 포인트들에 대한 깊이 정보는 패치의 포인트들에 대한 X 및 Y 정보와 매칭되어, 3D 공간 내의 패치의 포인트들에 대한 공간 정보를 결정하게 할 수 있다. 유사한 방식으로, 색상 속성들, 텍스처 속성들 등과 같은 패치 이미지들에 포함된 다른 속성들은 대응하는 포인트들과 매칭되어, 포인트들에 대한 속성 값들을 결정하게 할 수 있다. 또한, 다수의 투영부들의 경우에, 하나 초과의 투영부들에서 동일한 포인트가 식별되어, 3D 공간 내의 포인트에 대한 공간 정보를 결정하게 할 수 있다.
807에서, 압축해제 포인트 클라우드가 수신자 디바이스 또는 모듈에 제공될 수 있다.
도 8c는 일부 실시예들에 따른, 패치 이미지들이 생성되고 이미지 프레임으로 패킹되어, 포인트 클라우드의 속성 및 공간 정보를 압축하는 것을 도시한다.
810에서, 포인트 클라우드의 부분들에 대해 패치들이 결정된다. 예를 들어, 패치들은 전술된 바와 같이 결정될 수 있다. 825에서, 패치들에 대한 패치 정보가 생성될 수 있고, 826에서, 인코딩되어 디코더로 전송될 수 있다. 일부 실시예들에서, 인코딩된 패치 정보는 패킹된 패치 이미지들을 포함하는 하나 이상의 이미지 프레임들로부터 개별적으로 인코딩될 수 있다.
811에서, 제1 패치(또는 다음 패치)가 선택된다. 812에서, 패치에 포함된 포인트 클라우드의 포인트들에 대해 색상(예컨대, 속성) 패치 이미지가 생성된다. 814에서, 패치 내에 포함된 포인트 클라우드의 포인트들에 대해 텍스처 속성 이미지와 같은 하나 이상의 추가 속성 이미지들이 생성된다.
813에서, 패치 내에 포함된 포인트 클라우드의 포인트들에 대해 공간 정보 이미지들이 생성된다. 일부 실시예들에서, 공간 정보 이미지들을 생성하기 위해, 포인트 클라우드의 포인트들은, 815에서, 패치 위치에서 포인트 클라우드의 표면에 대해 수직인 법선 벡터에 수직인 패치 평면 상에 투영된다. 817에서, 포인트들이 815에서 패치 평면 상에 투영되는 것에 기초하여 패치에 대해 제1 공간 이미지가 생성된다. 추가로, 패치 평면에 대한 패치의 포인트들에 대한 깊이 정보가 816에서 결정되고, 818에서, 816에서 결정된 깊이 정보에 기초하여 깊이 패치 이미지가 생성된다.
819에서, 패치 이미지들이 생성될 추가 패치들이 있는지의 여부가 결정된다. 그러한 경우, 프로세스는 다음 패치를 위해 811로 되돌아간다. 그렇지 않은 경우, 820에서, 패치들에 대한 패치 이미지들은 하나 이상의 이미지 프레임들로 패킹된다. 일부 실시예들에서, 패치 이미지들이 다른 패치들에 대해 결정되기 전에 각각의 패치들에 대한 패치 이미지들이 패킹될 수 있다. 821에서, 하나 이상의 이미지 프레임들로 패킹될 때 패치 이미지들이 어디에 배치되었는지에 기초하여 점유 맵이 생성된다. 824에서, 점유 맵이 인코딩된다.
822에서, 패치 이미지들에 의해 점유되지 않은 하나 이상의 이미지 프레임들 내의 공간들이 패딩된다.
823에서, 하나 이상의 이미지 프레임들은, 예컨대 고효율 비디오 코딩(HEVC) 표준에 따라 비디오 인코딩된다.
도 9는 일부 실시예들에 따른, 패치 이미지들이 생성되고 이미지 프레임으로 패킹되어, 이동 중이거나 변화 중인 포인트 클라우드의 속성 및 공간 정보를 압축하는 것을 도시한다.
930에서, 이전에 인코딩된 포인트 클라우드에 대한 포인트 클라우드 정보가 수신되는데, 여기서 포인트 클라우드 정보는 이전에 인코딩된 포인트 클라우드의 후속 버전을 나타낸다. 예를 들어, 후속 버전은 시간적으로 후속 순간에서의 포인트 클라우드의 표현일 수 있으며, 여기서 포인트 클라우드는 시간이 지남에 따라 이동하고 있거나 변화하고 있다.
931에서, 임의의 새로운 패치들이 포인트 클라우드에 대해 결정될 필요가 있는지의 여부가 결정된다. 예를 들어, 이전에 인코딩된 포인트 클라우드 내에 현재 있지 않은 객체가 포인트 클라우드에 추가되었을 수 있다. 예를 들어, 포인트 클라우드는 도로의 포인트 클라우드일 수 있고, 공이 도로 내에 진입해 있을 수 있다. 새로운 패치를 추가할 필요가 있는 경우, 점유 맵은 933에서 업데이트되어 새로운 패치를 포함하고, 934에서 인코딩된다. 또한, 932에서, 812 내지 814에서 기술된 것과 유사한 방식으로 새로운 패치에 대해 패치 이미지들이 생성된다. 생성된 패치 이미지들은 943에서 패킹에 포함된다.
935에서, 기준(이전) 포인트 클라우드에 대해 생성된 패치들의 제1 또는 다음 패치가 선택된다. 936에서, 패치의 포인트들은 본 명세서에서 기술된 바와 같이 리샘플링된다. 937에서, 기준 포인트 클라우드와 현재 포인트 클라우드 사이의 선택된 패치 내에 포함된 포인트들에 대한 모션 벡터들이 결정된다. 940에서, 모션 벡터들은 상대적 모션 패치 이미지를 생성하는 데 사용된다. 예를 들어, 일부 실시예들에서, 상대적 모션 패치 이미지를 생성하는 것은, 본 명세서에서 기술된 바와 같이, 941에서, 상이한 이미지 특성들을 사용하여 상이한 방향들에서의 벡터 모션을 인코딩하는 것을 포함할 수 있다. 938에서, 업데이트된 색상 패치 이미지가 생성된다. 일부 실시예들에서, 업데이트된 색상 패치 이미지는 기준 포인트 클라우드와 현재 포인트 클라우드 사이에서 패치 내에 포함된 포인트 클라우드의 포인트들의 색상들의 차이들을 나타내는 잔차 값들을 인코딩할 수 있다. 유사한 방식으로, 939에서, 다른 속성 업데이트 패치 이미지들이 생성될 수 있다.
942에서, 평가될 추가 패치들이 있는지의 여부가 결정된다. 그러한 경우, 프로세스는 다음 패치를 위해 935로 되돌아간다. 그렇지 않은 경우, 943에서, 패치들에 대한 패치 이미지들은 하나 이상의 이미지 프레임들로 패킹된다. 일부 실시예들에서, 패치 이미지들이 다른 패치들에 대해 결정되기 전에 각각의 패치들에 대한 패치 이미지들이 패킹될 수 있다.
944에서, 패치 이미지들에 의해 점유되지 않은 하나 이상의 이미지 프레임들 내의 공간들이 패딩된다.
945에서, 하나 이상의 이미지 프레임들은, 예컨대 고효율 비디오 코딩(HEVC) 표준에 따라 비디오 인코딩된다.
도 10은 일부 실시예들에 따른, 패치 이미지들, 패치 정보, 및 점유 맵을 포함하는 이미지 프레임들을 수신하고 포인트 클라우드의 압축해제 표현을 생성하는 디코더를 도시한다.
1050에서, 디코더에 의해 점유 맵이 수신되고, 1051에서, 디코더에 의해 패치 정보가 수신된다. 일부 실시예들에서, 점유 맵 및 패치 정보는 인코딩될 수 있고, 디코더는 점유 맵 및 패치 정보(도시되지 않음)를 디코딩할 수 있다. 1052에서, 디코더는 하나 이상의 인코딩된 비디오 이미지 프레임들을 수신한다. 1052에서, 디코더는 하나 이상의 인코딩된 비디오 이미지 프레임들 내의 패치 이미지들을 식별하고, 1054에서, 디코더는 인코딩된 비디오 이미지 프레임들을 디코딩한다. 일부 실시예들에서, 디코더는 점유 맵 및 패치 정보를 활용하여, 하나 이상의 인코딩된 비디오 이미지들의 활성 및 비활성 부분들을 식별할 수 있고, 블록들, 서브블록들, 픽셀들 등과 같은 부분들이 활성 정보를 포함하는지 또는 비활성 정보를 포함하는지에 기초하여, 인코딩된 비디오 이미지들을 디코딩하는 데 사용되는 하나 이상의 디코딩된 파라미터들을 조정할 수 있다.
1055에서, 디코더는 개개의 패치들의 포인트들에 대한 공간 정보 및/또는 속성 정보를 결정하고, 1056에서, 하나 이상의 인코딩된 비디오 이미지들에서 인코딩된 포인트 클라우드의 압축해제 표현을 생성한다.
일부 실시예들에서, 이미지 프레임의 활성 및 비활성 부분들은 "마스크"로 나타내질 수 있다. 예를 들어, 마스크는 패딩 부분인 이미지의 일부분을 나타낼 수 있거나, 또는 하나 이상의 시야각들에서의 뷰로부터 숨겨진 포인트들과 같은, 포인트 클라우드의 비활성 포인트들을 나타낼 수 있다.
일부 실시예들에서, "마스크"는 패치 이미지들 또는 투영부들과 함께 인코딩될 수 있다. 일부 실시예들에서, "마스크"는 공간 내의 "활성/이용가능한" 포인트들 및 "비활성/이용불가능한" 포인트들을 보여줄 수 있다. 일부 실시예들에서, 마스크는 텍스처 및 깊이 패치 이미지와는 독립적일 수 있다. 일부 실시예들에서, 마스크는 텍스처 또는 깊이 패치 이미지와 같은 다른 정보와 조합될 수 있다. 예를 들어, 신호 범위 내의 소정 값들, 예컨대 8 비트 이미지에서 16 초과 및 235 미만의 값들이 활성 포인트들에 대응하다는 것, 및 다른 값들, 예컨대 8 비트 이미지에서 16 미만의 값들 또는 235 초과의 값들이 비활성 포인트들에 대응한다는 것을 나타냄으로써. 일부 실시예들에서, 활성 영역과 비활성 영역 사이에서의 오염을 피하거나 감소시키기 위해 추가의 고려가 이루어질 수 있다. 예를 들어, 활성 영역과 비활성 영역 사이의 경계들에서 무손실 또는 시각적으로 무손실 코딩을 이용하는 것이 필요할 수 있다.
일부 실시예들에서, 마스크는 코딩 효율을 개선하기 위한 다양한 방식들로 활용될 수 있다. 예를 들어, 원통형, 구체형 또는 다수의 투영뿐만 아니라 패치들로의 분해와 같은 투영 방법들과 함께 마스크가 사용될 수 있다. 또한, 마스크가 정육면체형 투영 방법과 함께 사용될 수 있다.
도 11a는 일부 실시예들에 따른, 포인트 클라우드에 대한 하나 이상의 마스크들에 기초하여 인코딩을 조정하는 인코더를 도시한다.
1162에서, 인코더는 포인트 클라우드를 수신한다. 1164에서, 인코더는, 수신된 포인트 클라우드에 대해, 본 명세서에서 기술된 바와 같은 다수의 투영부들 또는 패치 이미지들을 생성한다. 1166에서, 인코더는 하나 이상의 마스크들을 결정한다. 마스크들은 숨겨진 포인트들, 이미지 프레임의 패딩된 부분들, 특정 시점으로부터 볼 수 없는 포인트들 등일 수 있다. 1168에서, 인코더는 마스크들에 기초하여 하나 이상의 인코딩 파라미터들을 조정한다. 예를 들어, 인코더는 마스킹된 부분들에 할당되는 계상을 조정할 수 있다. 인코더가 수행할 수 있는 추가 조정들이 기술된다. 1168에서, 인코더는, 예를 들어 하나 이상의 비디오 인코딩된 이미지 프레임들을 통해, 압축 포인트 클라우드를 인코딩한다.
도 11b는 일부 실시예들에 따른, 포인트 클라우드에 대한 하나 이상의 마스크들에 기초하여 디코딩을 조정하는 디코더를 도시한다.
1170에서, 디코더는 인코딩된 포인트 클라우드를 수신한다. 1172에서, 디코더는 인코딩된 포인트 클라우드의 부분들에 대해 하나 이상의 마스크들을 결정한다. 예를 들어, 인코더는 압축 포인트 클라우드를 나타내는 이미지 프레임들의 부분들이 패딩에 대응함을 결정할 수 있다. 또는, 디코더에 의해 렌더링되고 있는 포인트 클라우드의 특정 뷰에 대해, 디코더는 압축 포인트 클라우드의 하나 이상의 포인트들이 특정 시점으로부터 볼 수 없다고 결정할 수 있다. 일부 실시예들에서, 마스크 정보는 포인트 클라우드가 특정 시점들로부터 보일 때 어느 포인트들이 숨겨지는지를 나타낼 수 있다. 1174에서, 디코더는 마스크들에 기초하여 하나 이상의 디코딩 파라미터들을 조정한다. 활성/비활성 영역들 또는 포인트들(예컨대, 마스크들)에 기초하여 디코더에 의해 이루어질 수 있는 조정들이 하기에서 더 상세히 기술된다. 1176에서, 디코더는 압축 포인트 클라우드를 디코딩한다.
일부 실시예들에서, 모션 추정 및 모드 결정을 수행할 때 마스크가 사용될 수 있다. 통상적으로, 왜곡은 전체 블록에 대해 계산된다. 그러나, 일부 블록들은 텍스처 데이터뿐만 아니라 빈/비가시적 영역들의 조합을 포함하는 블록들을 가질 수 있다. 이러한 영역들에 대해, 텍스처링된 데이터만이 관심대상이고, 비가시적 영역들에서의 임의의 왜곡은 무시될 수 있다. 따라서, 통상적으로, 모션 추정 및 모드 결정과 같은 그러한 프로세스들을 수행할 때, SAD(Sum of Absolute Differences) 또는 SSE(Sum of Square Errors)과 같은 왜곡 계산이 수행되므로, 비가시적 영역들에 대한 왜곡을 배제하기 위해 계산을 변경하는 데 마스크가 사용될 수 있다. 예를 들어, SAD 경우에 대해, 현재 이미지에서 가시적 영역에 대응하는 블록 내의 샘플들만의 절대 차이들의 합계를 계산함으로써 왜곡이 계산될 수 있다. 모든 다른 샘플들은 계산 동안 무시될 수 있다. 일부 실시예들에서, 왜곡은 픽셀 레벨에서 정규화될 수 있어서, 따라서, 상이한 수의 픽셀들을 갖는 블록들을 고려해야 하는 것을 피할 수 있다.
일부 실시예들에서, 비가시적 샘플들만을 고려하는 것 대신에, 비가시적 샘플들에 인접한 샘플들, 또는 상이한 투영부들에 대응하는 것으로 식별된 샘플들(그러나, 동일한 코딩 블록 내에서 인코딩할 때 배치됨)에 상이한 가중치들이 할당될 수 있다. 예를 들어, 특정 블록들 내의 샘플들은 주관적인 품질에 대해 더 중요한 것으로 간주될 수 있고, 더 낮은 왜곡 허용오차가 할당될 수 있다. 그러한 경우에 있어서, 그들 샘플들에 대한 가중화가 증가될 수 있어서, 따라서, 그들 샘플들에 대한 왜곡이 더 낮다는 결정들을 바이어싱할 수 있다. 또한, 모션 추정 또는 모드 결정 동안 특정 크기 MxN의 동일한 블록 내의 상이한 샘플들이 상이한 객체들에 대응한다는 지식은, 또한, 블록 구획화 모드의 결정에 도움이 될 수 있는데, 예컨대 인코더는 상이한 구획화가 이용될 수 있는지/이용되어야 하는지에 대한 조기 결정을 (잠재적으로 예비 검색에 기초하여) 행할 수 있다.
일부 실시예들에서, 마스크들은 속도 제어 및 속도 할당에 사용될 수 있다. 예를 들어, 가시적 샘플 및 비가시적 샘플 둘 다를 포함하는 영역들에 대응하는 블록들이 단지 가시적 샘플들만을 포함하는 블록들과는 상이한, 그리고 몇 배 더 높은 품질로 인코딩되는 것이 바람직할 수 있다. 이는, 가시적 샘플과 비가시적 샘플 사이의 누설(leakage)을 피하고 포인트-클라우드들의 "경계들"에서 최상의 품질을 보장하도록 행해진다. 상이한 품질이, 또한, 인코더 상에서 또한 이용가능할 수 있는 깊이 정보에 기초하여 할당될 수 있다. 더 평평한 영역들은 깊이 면에서 상당한 변동을 갖는 영역들보다 훨씬 더 많은 왜곡을 견딜 수 있다. 품질 제어는, 양자화 파라미터들/인자들을 조정함으로써, 그러나 또한, 모드 결정 동안 라그랑지 승수와 같은 다른 파라미터들을 조정함으로써, 사용가능하다면, 상이한 양자화 메트릭들을 사용함으로써, 양자화 임계화 및 구역 양자화의 크기 및/또는 형상들을 인에이블시키고/시키거나 조정함으로써 수행될 수 있다.
양자화는, 또한, 사용된 투영 방법에 따라 조정될 수 있다. 예를 들어, 등직사각형 투영 방법이 객체를 구체 상에 그리고 이어서 2D 평면 상에 투영하는 데 사용되었다면, 상부 및 하부 경계들에 대한 양자화를 증가시키고, 중심/적도(equator)를 향해 이동할 때 그를 천천히 감소시키는 것이 바람직할 수 있다. 이는 특정 투영 방법을 이용할 때 해상도 할당의 차이들 중 일부를 보상하는 것을 도울 수 있다. 상이한 색상 컴포넌트들에 대해, 유사한 가정들에 다시 기초하여, 그리고 마스크 정보를 다시 고려하여, 상이한 조정들이 또한 이루어질 수 있다.
양자화는, 또한, 샘플이 가시적인지 또는 비가시적 샘플인지를 고려하면서 수행될 수 있다. 예를 들어, 전략이 양자화된 계수의 값을 결정하기 위한 동적 프로그래밍/트렐리스(trellis) 양자화 방법들의 이용을 수반하는 경우. 그러한 실시예들에서, 양자화된 계수의 왜곡에 있어서의 영향뿐만 아니라 다수의 재구성 포인트들에서의 비트레이트에 대한 그의 영향이 통상적으로 계산될 수 있다. 이는 그들의 비트레이트 상호작용들을 고려하면서 모든 계수들에 대해 이행될 수 있다. 마지막으로, 함께 최상의 레이트 왜곡 성능을 초래할 양자화된 값들을 선택함으로써 모든 계수들에 대해 공동으로 결정이 이루어질 수 있다. 일부 실시예들에서, 가시적 영역 및 비가시적 영역들은 그러한 메트릭들을 계산할 때 고려될 수 있다.
모션 추정 및 모드 결정 프로세스들과 유사하게, 샘플 적응적 오프셋(SAO) 기법들은, 또한, 통상적으로, 사용될 수 있는 각각의 가능한 모드 또는 SAO 값에 대한 결과적인 왜곡을 계산한다. 다시, 그 결정은 비가시적 샘플들을 배제할 수 있거나, 또는 상당히 변화하는 깊이를 갖는 영역들에 대응하는 샘플들 또는 비가시적 샘플들에 가까운 상이한 가중치들의 샘플들로, 우선순위화할 수 있다.
일부 실시예들에서, 마스크들은 왜곡 계산을 수반할 수 있는 임의의 다른 코딩 프로세스에서 사용될 수 있다.
일부 실시예들에서, 마스크들은 프리-프로세싱/프리-필터링에서 사용될 수 있다. 예를 들어, 비가시적 샘플들에 대한 그들의 근접성에 기초하여 샘플들이 사전필터링되어, 아티팩트들의 가능성을 감소시키고/시키거나 인코딩을 더 어렵게 만들 수 있는 잡음을 제거할 수 있다. 공간-시간적 필터들을 포함하는 임의의 형태의 프리-필터링이 이용될 수 있다.
일부 실시예들에서, 프리-필터링은 텍스처뿐만 아니라 깊이 정보 둘 다에 적용될 수 있다.
가시적/비가시적 샘플들의 양 및 상이한 픽처들에서의 깊이 분산을 고려하여, 양자화 파라미터들에서의 결정들이 또한 픽처 레벨에서 (시간적으로) 이루어질 수 있다. 그러한 결정들은, 예를 들어, 전체 시퀀스가 먼저 분석되어, 다른 프레임들과의 각각의 프레임의 복잡성 및 관계를 결정하는 멀티-패스 코딩 시스템에서 매우 유용할 수 있다. 이어서, 모든 다른 프레임들과 관련하여 그리고 예상 품질 또는 비트레이트 타깃을 고려하여 그 프레임에 대해 사용될 코딩 파라미터들이 결정될 수 있다. 양자화 파라미터들에 대해서뿐만 아니라 픽처 코딩 타입들(즉, I, P, 또는 B), 구조들(예컨대, 프레임들의 특정 코딩 순서를 따르는 N개의 프레임들의 계층적인 또는 그렇지 않은 코딩), 사용 기준들, 가중화 파라미터들 등에 대해 유사한 결정들이 또한 이루어질 수 있다.
인코딩 및 디코딩(규범적 개념들)
깊이 정보뿐만 아니라 마스크가 디코더에서 무손실로 또는 시각적 무손실로 이용가능할 가능성이 더 크므로, 이러한 정보는 품질을 추가로 개선하기 위해 디코더에서 (그리고 물론 인코더에서) 또한 이용될 수 있다.
예를 들어, 비가시적 샘플들, 상이한 투영부들에 대응하는 샘플들, 또는 매우 상이한 깊이 특성들을 갖는 샘플들을 배제하고, 디-블록킹 및 샘플 적응적 오프셋(SAO)뿐만 아니라 (그러한 메커니즘들을 지원하는 코덱들에서의) 적응적 루프 필터링(ALF) 및 디-링잉이 마스킹 정보를 이용할 수 있다. 대신에, 그러한 필터링 방법들에 대해, 동일한 투영부에 대응하고 (깊이 면에서) 서로로부터 멀리 떨어져 있지 않은 샘플들만을 고려하는 것이 바람직할 수 있다. 이는 이러한 방법들이 완화시키려고 시도하는 블로키니스(blockiness) 및/또는 다른 아티팩트들을 감소시킬 수 있다. 다른 향후 타입들의 인-루프 포스트 필터링이 유사한 방식으로 또한 수행될 수 있다.
다른 예로서, 가시적/비가시적/상이한 영역 세그먼트화에서의 루프외(out of loop) 포스트 필터링이 마스킹 정보를 활용할 수 있다.
블록 내의 가시적/비가시적 샘플들의 소정 백분율에 기초한 QP 품질 파라미터들의 암시적 조정이 수행될 수 있다. 이는, 그러한 스위칭이 비트 스트림에서 빈번하게 발생하는 경우, 코딩 파라미터들의 시그널링을 감소시킬 수 있다.
형상 적응적 이산 코사인 변환들(DCT 변환들)의 고려를 포함하는, 가시적/비가시적 샘플들의 백분율에 기초한 변환 타입의 조정이 수행될 수 있다.
중첩된 블록 모션 보상 기법들의 조정은, 마스킹 정보(코덱 내에 존재하는 경우)를 활용하여, 비가시적 샘플들을 마스킹 제거(mask away)할 수 있다. 유사한 고려가 블록 모션 보상 및/또는 인트라 예측(인트라 블록 복제 방법을 포함함)에 대해 수행될 수 있다. 가시적인 것으로 간주되는 샘플들은, 서브픽셀 모션 보상을 수행하도록 내삽할 때 또는 이중-예측(bi-prediction)을 수행할 때를 또한 포함하여, 예측 신호를 구성할 때 고려될 수 있다. 현재 픽처로부터의 마스크들이 고려될 수 있지만, 원하는 경우, 현재 픽처로부터의 마스크들뿐만 아니라 기준 픽처들에 대응하는 마스크들 둘 다가 고려될 수 있다. 그러한 고려는 인코더에서 일부 형태의 시그널링을 통해, 즉 시퀀스, 픽처, 타일, 슬라이스, 또는 심지어 CTU/블록 레벨에서 적응적으로 이루어질 수 있다.
일부 실시예들에서, 마스크 또는 깊이 정보에 기초한 최종 값의 클립핑이 수행될 수 있다.
일부 실시예들에서, 코덱 내부에 (예컨대, MPEG에서의 JVET 팀에 의해 현재 개발되고 있는 VVC(Versatile Video Coding) 표준 또는 AV1에서) 존재할 수 있는 다른 예측 방법들은 가시적 및 비가시적 포인트들의 존재(및 양), 및 상이한 투영부들에 대응하는 포인트들에 기초하여 유사하게 조정 또는 제약될 수 있다.
일부 실시예들에서, 상이한 제어/조정들이 깊이 정보뿐만 아니라 상이한 색상 컴포넌트들에 적용될 수 있다.
점유 맵 압축
도 12a는 일부 실시예들에 따른, 점유 맵의 압축에 관하여 더 상세한 사항을 도시한다. 도 12a에 도시된 단계들은 전술된 바와 같은 단계 821 또는 단계 933의 일부로서 수행될 수 있다. 일부 실시예들에서, 본 명세서에서 기술된 점유 맵 압축 기법들 중 임의의 것이 821 또는 933에서 수행될 수 있다.
1280에서, 점유 맵의 각각의 블록 또는 수정된 블록에 대해 후보 패치들의 리스트가 결정된다.
1281에서, 각각의 블록에 대한 후보 패치들의 리스트들은 패치들이 이미지 프레임으로 패킹된 순서와 역순으로 순서화된다. 예를 들어, 패치들은 이미지로 패킹될 수 있고, 이때 더 큰 패치들은 더 작은 패치들 앞에서 패킹된다. 대조적으로, 점유 맵의 각각의 블록에 대한 후보 리스트는 더 큰 패치들 앞에 더 작은 패치들을 포함할 수 있다. 1282에서, 산술 인코더는 각각의 블록에 대한 패치 후보 리스트를 인코딩하는 데 사용될 수 있다. 일부 실시예들에서, 엔트로피 인코더가 사용될 수 있다. 또한, 일부 실시예들에서, 비어 있는 블록들은 0과 같은 특수한 값을 할당받을 수 있는 반면, 패치 후보들은 1, 2, 3 등과 같은 패치 번호에 대응하는 수들을 할당받을 수 있다.
1283에서, 각각의 블록에 대해, 결정된 정밀도 값에 따라 서브블록들이 결정된다. 결정된 정밀도 값은 디코더가 인코더에서 사용되는 결정된 정밀도 값을 결정할 수 있도록 점유 맵으로 인코딩될 수 있다.
1284에서, 각각의 블록에 대해, 블록의 각각의 서브블록에 대해 이진 값(예컨대, 0 또는 1)이 결정된다. 풀 서브블록들은 풀 아닌 서브블록들과는 상이한 이진 값을 할당받는다. 블록의 모든 서브블록들이 풀인 경우, 블록은 이진 "풀" 값을 할당받을 수 있다.
1285에서, 각각의 풀 아닌 서브블록에 대해, 트래버스 순서가 결정된다. 예를 들어, 도 12b에 도시된 예시적인 트래버스 순서들(또는 다른 트래버스 순서들) 중 임의의 것이 결정될 수 있다. 점유 맵 압축과 관련하여 전술된 바와 같은 런-길이 인코딩 전략은 결정된 트래버스 순서를 이용하여 서브블록들에 대한 이진 값들을 인코딩하는 데 사용될 수 있다.
도 12b는 일부 실시예들에 따른, 점유 맵을 압축하기 위한 예시적인 블록들 및 트래버스 패턴들을 도시한다. 트래버스 패턴들은, 점유 맵 압축과 관련하여 그리고 도 12a에서 전술된 바와 같이 사용될 수 있다.
비디오 인코더를 사용한 무손실 또는 거의 무손실 포인트 클라우드 압축
패치들이 전술된 바와 같이 결정될 때, 적은 수의 포인트들이 임의의 패치들에 포함되지 않을 수 있다. 예를 들어, 예를 들어, 격리된 포인트들에 대한 패치들을 생성하는 데 필요한 패치들이 소정 크기 미만이 되기 때문에, 훨씬 더 작은 패치들을 생성하여 격리된 또는 확산된 포인트들을 캡처하는 것이 정당한지의 여부를 결정하는 데 압축 효율과 품질 사이의 트레이드오프(tradeoff)가 이용될 수 있다. 일부 실시예들에서, 패치들에 포함되지 않은 포인트들을 캡처하고 무손실 또는 거의 무손실 압축을 제공하는 데 패치 생성 외의 추가 기법이 적용될 수 있다.
일부 실시예들에서, 포인트 클라우드는 전술된 바와 같은 패칭 기법을 통해 압축되고, 이어서, 패치들로부터 재구성된다. 입력 포인트 클라우드 내의 포인트들은 누락된 포인트들을 검출하기 위해 재구성 포인트 클라우드 내의 포인트들과 비교된다. 일부 실시예들에서, 기하구조를 설명하는 설정된 2D 이미지들과 같은 제1 기하구조 맵에 대응하는 포인트들에 대해 최인접 포인트들이 검색될 수 있다. 모든 누락된 포인트(P)(예컨대, 입력 내에 존재하지만 재구성 포인트 클라우드에 존재하지 않는 포인트)에 대해, 재구성 포인트 클라우드 내의 최인접 포인트(Q)가 검출된다. 일부 실시예들에서, 최인접 포인트(Q)는 패치 내에서 누락된 포인트(P)와 동일한 접선 및 양접선(bi-tangential) 축 상에 있다. 다시 말해서, 일부 실시예들에서, 누락된 포인트(P)는 패치 투영부에서 동일한 위치(동일한 접선 및 양접선 축)에 위치될 수 있지만, (예컨대, 패치 투영 평면에 대한 수직 축을 따라서) 상이한 깊이에 위치될 수 있다.
일부 실시예들에서, 프로세스는 하기와 같이 진행될 수 있다:
1. 모든 누락된 포인트(P)(즉, 입력 내에 존재하지만 재구성 포인트 클라우드에 존재하지 않는 포인트)에 대해, 재구성 포인트 클라우드 내의 최인접 포인트(Q)가 검출된다.
2. i(Q) 및 j(Q)를 Q의 픽셀 좌표들로 간주한다.
3. dx(Q), dy(Q), 및 dz(Q)를 P와 Q 사이의 위치 차이로 간주한다. 상기에서 논의된 바와 같이, 일부 상황들에서, 누락된 포인트(P)는 동일한 접선 및 양접선 축에 있을 수 있지만, 최인접 포인트(Q)와는 상이한 깊이에 있을 수 있다. 이러한 상황이 사실일 때, dz(Q)만이 계산될 수 있다. 동일한 접선 및 양접선 축에 있지만 상이한 깊이에 있는 누락된 포인트들(P)은 본 명세서에서 "깊이만 누락된 포인트(depth only missed point)들"로 지칭될 수 있다. 다른 타입의 누락된 포인트들은 "3-컴포넌트 누락된 포인트들"로 지칭될 수 있다.
4. dR(Q), dG(Q) 및 dB(Q)를 P와 Q 사이의 속성 차이(예컨대, 색상 차이)로 간주한다. 일부 실시예들에서, 속성 데이터는 잔차 차이들이 결정되기 전이나 후에 YCgCo-R과 같은 무손실 변환을 사용하여 상이한 색상 스킴으로 변환될 수 있다.
5. 인코더는 하기의 전략들 중 하나를 이용함으로써 i(Q) 및 j(Q)를 압축할 수 있다:
A. 예측 + 양자화 + 엔트로피 코딩,
Figure 112021144830164-pat00214
예측은 이전에 인코딩된/디코딩된 이웃하는 샘플들에 의해, 예컨대 마지막 코딩된 포인트들 또는 N개의 마지막 코딩된 포인트들의 가중 평균을 이용하여 수행될 수 있다.
Figure 112021144830164-pat00215
양자화는 임의의 선형 또는 비선형 양자화 프로세스일 수 있다.
Figure 112021144830164-pat00216
엔트로피 코딩은, 예를 들어, exp-golomb, 산술 인코딩, 또는 일부 다른 엔트로피 코딩 방법에 기초하여, 가변 길이 코더를 활용할 수 있다.
B. 양자화 + 쿼드트리 코딩 + 엔트로피 코딩
1. 쿼드트리 코딩은 하기와 같이 진행할 수 있다:
a. 양자화된 2D 픽셀 위치들 주위에 정사각형을 생성한다
b. 정사각형을 4개의 서브-정사각형들로 반복적으로 분할한다
c. 각각의 서브-정사각형에 대해 그것이 포인트들을 포함하는지 아닌지의 여부를 나타내는 1 비트 값을 생성한다.
d. 4개의 서브-정사각형들에 대해 생성된 4 비트 이진 코드는, 예컨대 산술 엔트로피 코덱을 사용하여, 엔트로피 인코딩된다.
e. 서브-정사각형이 1×1의 크기를 갖는 경우, 그것이 하나 또는 다수의 포인트들을 포함하는지를 나타내기 위한 하나의 비트를 인코딩한다. 그것이 다수의 포인트들을 갖는 경우, 포인트들의 개수 - 1을 인코딩한다. 산술 인코딩은 그러한 정보를 인코딩하는 데 이용될 수 있다.
f. 포인트들을 포함하고 1 초과의 크기를 갖는 정사각형들을 계속 세분한다.
g. 하기의 전략들 중 하나를 사용함으로써 dx(Q), dy(Q), dz(Q), dR(Q), dG(Q), 및 dB(Q)를 압축한다:
C. 예측 + 양자화 + 엔트로피 코딩
Figure 112021144830164-pat00217
예측은 이전에 인코딩된/디코딩된 이웃하는 샘플들에 의해, 예컨대 마지막 코딩된 포인트들 또는 N개의 마지막 코딩된 포인트들의 가중 평균을 이용하여 수행될 수 있다.
Figure 112021144830164-pat00218
또한, 일부 실시예들 또는 상황들에서, 예측은 그들의 기준 포인트와 동일한 포인트(Q)를 갖는 이전에 인코딩된/디코딩된 누락된 포인트들(P)을 사용하여 수행될 수 있다.
Figure 112021144830164-pat00219
하나 초과의 누락된 포인트(예컨대, 다수의 P들)가 동일한 기준 포인트(Q)를 갖는 경우, 누락된 포인트들은 Q(d(Q))로부터의 차이에 의해 기록될 수 있다. 예를 들어, 신호적으로, 다수의 누락된 포인트들에 대한 d(Q) 대신에, d(Q) 값이 누락된 포인트들 중 제1 포인트에 대해 시그널링될 수 있고, 이전 차이에 대한 추가 차이가 동일한 기준 포인트를 공유하는 다수의 누락된 포인트들 중 다른 포인트들에 대해 시그널링될 수 있다.
Figure 112021144830164-pat00220
양자화는 임의의 선형 또는 비선형 양자화 프로세스일 수 있다.
Figure 112021144830164-pat00221
엔트로피 코딩은, 예를 들어, exp-golomb, 산술 인코딩, 또는 일부 다른 엔트로피 코딩 방법에 기초하여, 가변 길이 코더를 활용할 수 있다
6. 비디오 프레임 내의 픽셀들로서 값들을 저장하고, 비디오 코덱을 사용하여 비디오 프레임을 압축한다.
일부 실시예들에서, 이러한 접근법은 기하구조만의 무손실 압축, 기하구조 및 속성들 둘 다의 무손실 압축, 및 전체 포인트 클라우드의 손실 압축을 포함한 무손실 및 손실 압축 둘 다를 지원하는 데 이용될 수 있다. 일부 실시예들에서, 무손실 압축은 하기와 같이 진행한다. 먼저, 인코더는 점유 맵의 정밀도가 1×1이도록, 예컨대 점유 맵 내의 각각의 픽셀이 기하구조 및 속성 이미지들 내의 하나의 포인트/픽셀에 대응하도록 구성된다. 그 후, 비디오 코덱은 무손실 모드에서 인코딩되고, 재구성 포인트 클라우드에 적용되는, 전술된 바와 같은 평활화 단계는 디스에이블된다. 또한, 일부 실시예들에서, i(Q), j(Q), dx(Q), dy(Q), dz(Q), dR(Q), dG(Q), 및/또는 dB(Q)에 대한 양자화 단계는 디스에이블될 수 있다.
일부 실시예들에서, 비디오 프레임 내에 값들을 저장하고 비디오 코덱을 사용하여 그들을 압축하기 위해, 하기 기법들 중 하나 이상이 이용될 수 있다.
일부 실시예들에서, 누락된 포인트들의 위치 및 속성들은 프레임 또는 프레임들 내부에 명시적으로 저장될 수 있고, 비디오 코덱으로 압축될 수 있다.
일부 실시예들에서, 잔차 값들(dx(Q), dy(Q), dz(Q), dR(Q), dG(Q), dB(Q))을 시그널링하는 대신에, 누락된 포인트들의 절대값(Xp, Yp, Zp, Rp, Gp, Bp)이 시그널링될 수 있다.
일부 실시예들에서, 잔차 값들(dx(Q), dy(Q), dz(Q), dR(Q), dG(Q), dB(Q))은 비디오 프레임 또는 비디오 프레임들 내부에 저장될 수 있고, 비디오 코덱으로 압축될 수 있다. 반사율과 같은 다른 속성들이 또한 유사한 방식으로 처리될 수 있다. 누락된 포인트들에 대한 비디오 프레임의 프레임 크기는 기하구조 정보 또는 텍스처 정보에 사용되는 다른 비디오 데이터의 프레임 크기와 동일할 수 있다. 그러나, 일부 실시예들에서, 누락된 포인트들에 대한 비디오 프레임의 프레임 크기는 기하구조 정보 또는 텍스처 정보에 사용되는 다른 비디오 스트림들의 프레임 크기와는 상이할 수 있다.
예를 들어, 각각의 포인트 클라우드 프레임이 상이한 개수의 누락된 포인트들을 포함할 수 있기 때문에, 이러한 프로세스는 상이한 해상도의 누락된 포인트 비디오 프레임들을 생성할 수 있다. 상이한 개수들의 누락된 포인트들을 포함하는 비디오 프레임들을 인코딩하기 위해, 하기 기법들 중 하나 이상이 이용될 수 있다:
Figure 112021144830164-pat00222
각각의 누락된 포인트 프레임을 그의 해상도를 업데이트하지 않고서 독립적으로 인코딩한다. 이 경우에, 그리고 포인트 클라우드 프레임 그룹 내의 임의의 프레임의 해상도가 상이한 경우, 이러한 누락된 포인트 프레임들은, 예컨대 인트라 코딩된 프레임들로서 독립적으로 코딩되어야 할 수 있다.
Figure 112021144830164-pat00223
대안으로서, 누락된 포인트 프레임들은 포인트 클라우드 프레임 그룹으로서 그룹화될 수 있고, 그들의 해상도들은 그룹 내의 누락된 포인트 프레임들에 대해 선택된 최대 해상도로 업데이트될 수 있다. 이는, 이어서, 인터 코딩 툴들의 사용을 허용할 것이다.
또한, 일부 실시예들에서, 프레임 크기(폭, 높이)는 명시적으로 시그널링될 수 있다.
그러나, 일부 실시예들에서, 프레임 크기는 비디오 코덱의 기본 블록 크기(예컨대, HEVC에서의 CTU 또는 AVC에서의 매크로블록)에 대응하는 사전정의된 블록 크기(M)의 배수일 수 있다. M은, 예를 들어, 8, 16, 32, 64 등과 동일할 수 있다. 그러한 실시예들에서, 누락된 포인트들의 개수(num_missed_point)는 명시적으로 시그널링될 수 있다. 추가로 또는 대안으로, 깊이만 누락된 포인트들의 수(예컨대, num_missed_points_1comp) 및 3-컴포넌트 누락된 포인트들의 수(예컨대, num_missed_points_3comp)가 시그널링될 수 있다. 사전정의된 파라미터(M)(예컨대, 블록 크기)는 누락된 포인트들의 수로 시그널링될 수 있고, 프레임 크기를 결정하는 데 사용될 수 있다. 일부 실시예들에서, M(블록 크기)은 기하구조 잔차 프레임들 및 텍스처 잔차 프레임들에 대해 상이할 수 있다. 또한, 일부 실시예들에서, 각각의 프레임에 대한 M(블록 크기)은 개별적으로 시그널링될 수 있다.
M개의 크기조정된 블록들로 누락된 포인트 프레임들의 폭을 구성하기 위한 파라미터 "N"은 명시적으로 시그널링되어야 하는 것이 아니라, 그 대신, 누락된 포인트 프레임의 해상도에 의해 도출될 수 있다(예컨대, 그것은 누락된 포인트 프레임 시퀀스의 파라미터 세트들에서 명시적으로 시그널링된다).
일부 실시예들에서, 기하구조 및 텍스처 누락된 포인트 프레임들의 프레임 크기는 누락된 포인트들의 개수 및 주어진 폭에 기초하여 도출될 수 있다. 예를 들어, 누락된 포인트들의 수가 num_missed_point이고 프레임의 폭이 width일 때, 프레임 높이(height)는 하기와 같이 도출될 수 있다:
Figure 112021144830164-pat00224
상기 수학식에서, 외부 연산자 [...]는 누락된 포인트들의 개수를 폭으로 나눈 상한 연산자(ceiling operator)이며, 이는 폭으로 나눈 누락된 포인트들의 수 이상의 최소 정수 값을 생성한다. 예를 들어, 색상 차이들(dR, dG, dB)이 3개의 상이한 평면들, 예컨대 R, G, 및 B 평면들 상에 각각 배치될 때, 이러한 도출이 적용될 수 있다.
누락된 포인트들의 수가 num_missed_point이고 프레임의 폭이 width = n × M일 때(여기서 n 및 M은 양의 정수 값들임), 프레임 높이(height)는 하기에서 보여준 바와 같이 도출될 수 있으며, 이는 또한 높이를 M의 배수로 유지하려고 시도한다:
Figure 112021144830164-pat00225
예를 들어, 도 13c는 음영처리된 블록들이 값들을 갖는 점유된 픽셀들을 나타내는 프레임 크기의 일례를 도시하고, 예시된 예에서, 폭은 8이고, 높이는 2이다. 다른 예에서, 도 13d는 음영처리된 블록들이 점유된 픽셀들을 나타내고 n=2 및 M=4인 프레임 크기의 일례를 도시하며, 여기서 예시된 예에서, 폭은 8이고, 높이는 4이다.
(dX, dY, dZ)와 같은 3개의 상이한 컴포넌트 값들이 단일 평면, 예컨대 Y 평면 상에 배치되는 경우에, 그 값들에 의해 점유된 픽셀들의 총 개수는 3 × num_missed_points일 것이다. 그러한 경우들에 대해, 프레임 높이(height)는 하기와 같이 도출될 수 있다:
Figure 112021144830164-pat00226
예를 들어, 도 13e는 각각의 음영이 상이한 잔차 값 컴포넌트를 나타내는 예시적인 프레임 크기를 도시한다. 도시된 예에서, 폭은 8이고 높이는 5이다.
대안의 실시예에서, 그리고 다시, (dX, dY, dZ)와 같은 3개의 상이한 컴포넌트 값들이 단일 평면, 예컨대 Y 평면 상에 배치되는 경우에, 각각의 컴포넌트는 도출 편의성을 위해, 그리고 또한, 상이한 컴포넌트들 사이의 추가의 오염을 피하기 위해 행의 시작에서 시작될 수 있다. 비어 있는 영역들은 0 또는 일부 다른 고정 값으로 남겨질 수 있거나, 또는 좌측, 상측 상의 값들 또는, 좌측 또는 상측 상의 이웃하는 값들 사이의 블렌드 상의 값들로 교체/패딩될 수 있다. 예를 들어:
Figure 112021144830164-pat00227
도 13f는 각각의 음영이 상이한 컴포넌트를 나타내는 그러한 일례를 도시한다. 도 13f에 도시된 예에서, 폭은 8이고, 높이는 6이다. 또한, "백색" 블록들은 잔차 값들을 포함하지 않는 패딩된 블록들일 수 있다는 것에 유의한다.
일부 실시예들에서, 블록 크기(R)가 시그널링 또는 사전정의함으로써 정의될 때, 각각의 컴포넌트는 블록의 시작에서 시작할 수 있다. 예를 들어, (dX, dY, dZ)와 같은 3개의 컴포넌트들이 Y 평면과 같은 단일 평면 상에 배치되는 경우에, 프레임 높이(height)는 도 13d와 관련하여 전술된 바와 같은 방법을 적용함으로써 M의 배수로서 도출될 수 있다.
일부 실시예들에서, 누락된 포인트들이 깊이만 누락된 포인트들, 및 또한 3-컴포넌트 누락된 포인트들을 포함할 때, 깊이만 누락된 포인트 세트가 먼저 맵핑될 수 있고, 이어서, 3-컴포넌트 누락된 포인트 세트는 이후에 맵핑될 수 있다. 이 경우에, 프레임 내에 점유된 픽셀들의 총 개수는 num_missed_points_1comp + 3 × num_missed_points_3comp일 것이다. 이러한 경우에, 높이는 하기와 같이 도출될 수 있다:
Figure 112021144830164-pat00228
예를 들어, 도 13g는, 그래디언트 음영처리된 블록들이 깊이만의 포인트들에 대응하는 픽셀들을 나타내고, 고정 그레이 블록들이 3-컴포넌트 누락된 포인트들의 차이 컴포넌트들을 나타내는 프레임의 일례를 도시한다. 이러한 예에서, num_missed_points_1comp=7, num_missed_points_3comp=13이다. 3개의 컴포넌트들은 3-컴포넌트 누락된 포인트들에 대한 컴포넌트별로 그룹화된다. 폭은 8이고, 높이는 6이다.
일부 실시예들에서, 누락된 포인트들이 깊이만 누락된 포인트들, 및 또한 3-컴포넌트 누락된 포인트들을 포함할 때, 누락된 포인트들의 각각의 세트는 도출 편의성 및 또한 특성 불연속성을 위해 행의 시작에서 시작될 수 있다. 이러한 경우에, 높이는 각각의 서브세트의 높이의 합으로서 도출될 수 있다. 깊이만 누락된 포인트들의 수가 num_missed_points_1comp이고, 3-컴포넌트 누락된 포인트들의 수가 num_missed_points_3comp이고, 프레임 폭이 width일 때, 높이는 하기와 같이 계산될 수 있다:
Figure 112021144830164-pat00229
예를 들어, 도 13h는, 그래디언트 음영처리된 블록들이 깊이만의 포인트들에 대응하는 픽셀들을 나타내고, 다른 고정 값 블록들이 3-컴포넌트 누락된 포인트들의 차이 컴포넌트들을 나타내는 프레임의 일례를 도시한다. 이러한 예에서, num_missed_points_1comp=7, num_missed_points_3comp=13이다.
일부 실시예들에서, 누락된 포인트 세트(깊이만 누락된 포인트들, 3-컴포넌트 누락된 포인트들)의 순서, 각각의 세트 및 각각의 컴포넌트(t)의 시작 위치(이전에 점유된 픽셀의 다음 또는 행의 시작 시) 및 높이 규칙성(M의 배수인지 아닌지)이 필요에 따라 조합될 수 있다. 이러한 경우에, height1 및 height3은, 적용가능한 경우, 전술된 방법들 중 임의의 것을 이용하여 도출될 수 있다. 예를 들어, 깊이만 누락된 포인트들이 먼저 배치될 수 있고, 도출된 높이는 M의 배수일 수 있다. 이어서, 3-컴포넌트 누락된 포인트들은 새로운 행의 시작에서 시작될 것이다. 누락된 포인트들의 각각의 컴포넌트의 세트는 순차적으로 배치될 수 있다. 이러한 경우에, 프레임 높이는 하기와 같이 도출될 수 있다:
Figure 112021144830164-pat00230
예를 들어, 도 13i는, 그래디언트 음영처리된 블록들이 깊이만의 포인트들에 대응하는 픽셀들을 나타내고, 남은 블록들이 3-컴포넌트 누락된 포인트들의 차이 컴포넌트들을 나타내는 프레임의 일례를 도시한다. 이러한 예에서, num_missed_points_1comp=22, num_missed_points_3comp=13이다.
잔차 값들(dx(Q), dy(Q), dz(Q), dR(Q), dG(Q), dB(Q)) 및 또는 깊이만 누락된 포인트들(Q)에 대한 잔차 값들은, 다양한 스캐닝 기법들을 이용하여, 결정된 프레임 크기의 비디오 프레임에 배치될 수 있다. 스캐닝 기법에서, 스캐닝 기법에 따라 제1 잔차 값이 제1 픽셀 위치에 배치될 수 있고, 스캐닝 기법에 따라 후속 잔차 값이 후속 픽셀에 배치될 수 있고, 등등일 수 있다.
일부 실시예들에서, 사전정의된 스캐닝 순서가 시그널링될 수 있다. 예를 들어, 래스터 스캔, 지그재그 스캔, z-순서, 트래버스 스캔 또는 그들의 수직 반전이 사용될 수 있다. 스캐닝 순서는 기하구조 잔차 프레임들 및 텍스처 잔차 프레임들에 대해 상이할 수 있다. 일부 실시예들에서, 각각의 프레임에 대한 스캐닝 순서는 개별적으로 시그널링될 수 있다. 예를 들어, 도 13a는 래스터 스캔, 지그재그 스캔, "Z" 스캔, 및 트래버스 스캔을 포함하는 예시적인 스캐닝 기법들을 도시한다.
일부 실시예들에서, 본 명세서에서 스캐닝 순서들로도 지칭되는 스캐닝 기법들은 속도, 왜곡, 레이트 왜곡 최적화, 메모리 액세스 제약들 중 하나 이상에 기초하여 결정될 수 있고/있거나, 사용자 선호도들에 기초할 수 있다. 그러한 결정들은 프레임 레벨에서, 또는 소정 수의 프레임들, 예컨대 Nf마다 이루어질 수 있다. 수 Nf는 고정되고 사용자 선호도들 또는 다른 기준들에 기초할 수 있거나, 또는, 또한, 예를 들어, 시스템, 프로세싱, 또는 전력 요건들에 기초하여 적응적일 수 있다. 일부 실시예들에서, 스캐닝 순서들은 각각의 프레임에 대해 또는 각각의 프레임 그룹에 대해 시그널링될 수 있다. 일부 실시예들에서, 프레임 상의 누락된 포인트들의 배치는 시간적으로 일관성을 고려할 수 있다. 그러한 실시예들에서, 시간적으로 상이한 순차적 프레임들에 대해 동일한 스캐닝 순서가 사용될 수 있다.
일부 실시예들에서, 누락된 포인트(P)들이 3-컴포넌트 누락된 포인트들과 같은 하나 초과의 컴포넌트를 가질 때, 컴포넌트들은 컴포넌트 타입에 따라 인터리빙되거나 그룹화될 수 있다. 예를 들어, 도 13b는 (a) 인터리빙된 컴포넌트들, 및 (b) 컴포넌트 타입에 따라 그룹화된 컴포넌트들을 도시한다. 예를 들어, 기하구조 잔차들이 단일 평면 상에 맵핑될 때, 하나의 누락된 포인트의 잔차 세트(dx(Q), dy(Q), dz(Q))가 도 13b(a)에 도시된 바와 같이 순차적으로 맵핑될 수 있다. 그리고 다른 예로서, 잔차들이 다시 단일 평면 상에 맵핑될 때, 누락된 포인트들의 잔차 세트들(dx(Q), dy(Q), dz(Q))이 축마다 맵핑될 수 있는데, 예컨대, 모든 dX(Q)가 먼저 맵핑될 수 있고, 이어서, 모든 dy(Q), 및 이어서 모든 dz(Q)가 맵핑될 수 있으며, 이는 도 13b(b)에 도시된 바와 같다.
일부 실시예들에서, 프레임 상에 맵핑되는 잔차 값들은 일부 메타데이터 정보에서 특정되거나 시스템에 의해 예측되는 스캐닝 순서를 사용하여 스캐닝될 수 있다. 스캐닝 순서 및 프레임 크기 도출 프로세스는, 가능한 경우, 조합될 수 있다. 깊이만 누락된 포인트들이 먼저 배치될 수 있고 그의 높이가 M의 배수일 수 있는 예에서, 3-컴포넌트 누락된 포인트들은 새로운 행의 시작에서 시작된다. 누락된 포인트들의 각각의 컴포넌트의 세트는 순차적으로 배치될 수 있고, 제1 num_missed_points_1comp 잔차들은 z 스캔 순서로 블록별로 스캐닝될 수 있다. 이어서, 마지막 3 × num_missed_points_3comp는 각각의 num_missed_points_3comp 컴포넌트에 대한 래스터 스캔 순서를 사용하여 스캐닝될 수 있다.
예를 들어, 도 13j는 그러한 예시적인 스캐닝 순서를 도시한다.
일부 실시예들에서, 값들이 블록별로 스캐닝될 때, 블록은, 도 13k에 도시된 바와 같이, 감소된 쿼드 트리 순서로 스캐닝될 수 있다.
일부 실시예들에서, 프레임 내의 픽셀들이 값들로 충전되지 않을 때, 픽셀들은 0으로 설정될 수 있다. 또한, 픽셀들은 사전정의된 값으로서 설정될 수 있다. 또한, 픽셀들은 이전 픽셀들의 동일한 값으로 설정될 수 있다. 또한, 픽셀들은 이웃하는 이용가능한 픽셀들의 평균 또는 가중 평균으로서 설정될 수 있다.
일부 실시예들에서, 누락된 포인트 기하구조 잔차들(dx(Q), dy(Q), dz(Q)) 및 누락된 포인트 텍스처 잔차들(dR(Q), dG(Q), dB(Q))은 별개의 비디오 스트림들에서 시그널링될 수 있다.
일부 실시예들에서, 누락된 포인트 기하구조 잔차들(dx(Q), dy(Q), dz(Q))은 단일 비디오 시퀀스를 구성하기 위해 3개의 상이한 색상 평면들에 각각 맵핑될 수 있다. 예를 들어, dx(Q)는 Y 평면에 맵핑될 수 있고, dy(Q)는 U 평면 내의 공동 위치된 위치들에 맵핑될 수 있고, dz(Q)는 V 평면 내의 공동 위치된 위치들에 맵핑될 수 있다.
일부 실시예들에서, 누락된 포인트 기하구조 잔차들(dx(Q), dy(Q), dz(Q))은 동일한 색상 평면 상에, 예를 들어 Y 평면 상에 맵핑될 수 있다.
일부 실시예들에서, 누락된 포인트들의 잔차 세트들(dx(Q), dy(Q), 및 dz(Q) 또는 dR(Q), dG(Q), 및 dB(Q))이 축마다 맵핑될 때, 각각의 축의 값들은 그의 스캐닝 순서에 따라 새로운 라인/열/블록으로부터 저장될 수 있다.
일부 실시예들에서, 깊이 차이(dz(Q))만을 갖는 누락된 포인트 기하구조 잔차들이 먼저 맵핑된다. 이어서, 모든 다른 잔차들이 다음으로 맵핑된다.
일부 실시예들에서, 깊이 차이(dz(Q))만을 갖는 모든 누락된 포인트 기하구조 잔차들이 마지막으로 맵핑된다.
일부 실시예들에서, 깊이 차이(dz(Q))만을 갖는 누락된 포인트 기하구조 잔차들이 맵핑될 때, 깊이 차이(dz(Q))만이 비디오 프레임에 저장될 수 있다.
일부 실시예들에서, 누락된 포인트 텍스처 잔차들(dR(Q), dG(Q), dB(Q))은 새로운 비디오 시퀀스를 구성하기 위해 3개의 상이한 색상 평면들에 각각 맵핑될 수 있다. 예를 들어, dR(Q)는 Y 평면에 맵핑될 수 있고, dG(Q)는 U 평면 상의 공동 위치된 위치들에 맵핑될 수 있고, dB(Q)는 V 평면 상의 공동 위치된 위치들에 맵핑될 수 있다. 대안으로, 일부 실시예들에서, 누락된 포인트 텍스처 잔차들(dR(Q), dG(Q), dB(Q))은 동일한 색상 평면, 예를 들어 Y 평면 상에 맵핑될 수 있다.
일부 실시예들에서, 깊이만의 포인트들의 모든 누락된 포인트 텍스처 잔차들이 먼저 맵핑될 수 있다.
일부 실시예들에서, 깊이만의 포인트들의 모든 누락된 포인트 텍스처 잔차들이 마지막으로 맵핑될 수 있다.
일부 실시예들에서, 무손실 압축을 달성하기 위해, 인코더는 점유 맵의 정밀도가 1×1이도록, 즉 점유 맵 내의 각각의 픽셀이 기하구조 및 속성 이미지들 내의 하나의 포인트/픽셀에 대응하도록 구성될 수 있다. 그 후, 비디오 코덱은 무손실 모드에서 구성될 수 있고, 재구성 포인트 클라우드에 적용되는, 전술된 바와 같은 평활화 단계는 디스에이블될 수 있다. 또한, i(Q), j(Q), dx(Q), dy(Q), dz(Q), dR(Q), dG(Q), 및/또는 dB(Q)에 대한 양자화 단계는 무손실 압축을 달성하기 위해 디스에이블되어야 한다.
포인트 클라우드 속성 전달 알고리즘
일부 실시예들에서, 포인트 클라우드 전달 알고리즘은 오리지널 포인트 클라우드와 오리지널 포인트 클라우드의 재구성 버전 사이의 왜곡을 최소화하는 데 사용될 수 있다. 전달 알고리즘은, 오리지널 포인트 클라우드 및 재구성 포인트 클라우드가 약간 상이한 위치들에 있는 포인트들을 가짐으로 인한 왜곡을 평가하는 데 사용될 수 있다. 예를 들어, 재구성 포인트 클라우드는 오리지널 포인트 클라우드와 유사한 형상을 가질 수 있지만, a) 상이한 수의 총 포인트들, 및/또는 b) 오리지널 포인트 클라우드 내의 대응하는 포인트와 비교하여 약간 시프트된 포인트들을 가질 수 있다. 일부 실시예들에서, 포인트 클라우드 전달 알고리즘은 재구성 포인트 클라우드에 대한 속성 값들이 오리지널 포인트 클라우드와 오리지널 포인트 클라우드의 재구성 버전 사이의 왜곡이 최소화되도록 선택되게 할 수 있다. 예를 들어, 오리지널 포인트 클라우드에 대해, 포인트들의 위치들 및 포인트들의 속성 값들 둘 다가 알려져 있다. 그러나, 재구성 포인트 클라우드에 대해, 위치 값들은 (예를 들어, 전술된 바와 같은 서브샘플링 프로세스, K-D 트리 프로세스, 또는 패치 이미지 프로세스에 기초하여) 알려져 있을 수 있다. 그러나, 재구성 포인트 클라우드에 대한 속성 값들은 여전히 결정될 필요가 있을 수 있다. 따라서, 포인트 클라우드 전달 알고리즘은 왜곡을 최소화하는 재구성 포인트 클라우드에 대한 속성 값들을 선택함으로써 왜곡을 최소화하는 데 이용될 수 있다.
선택된 속성 값에 대해, 오리지널 포인트 클라우드로부터 재구성 포인트 클라우드로의 왜곡이 결정될 수 있다. 마찬가지로, 재구성 포인트 클라우드에 대한 선택된 속성 값에 대해, 재구성 포인트 클라우드로부터 오리지널 포인트 클라우드로의 왜곡이 결정될 수 있다. 많은 상황들에서, 이러한 왜곡들은 대칭적이지 않다. 포인트 클라우드 전달 알고리즘은 2개의 오차들(E21, E12)로 초기화되며, 여기서 E21은 제2 또는 재구성 포인트 클라우드로부터 오리지널 또는 제1 포인트 클라우드까지의 오차이고, E12는 제1 또는 오리지널 포인트 클라우드로부터 제2 또는 재구성 포인트 클라우드까지의 오차이다. 제2 포인트 클라우드 내의 각각의 포인트에 대해, 포인트가 오리지널 포인트 클라우드 내의 대응하는 포인트의 속성 값을 할당받아야 하는지, 또는 오리지널 포인트 클라우드 내의 대응하는 포인트에 대한 최인접 이웃들의 평균 속성 값을 할당받아야 하는지가 결정된다. 속성 값은 최소 오차에 기초하여 선택된다.
하기는 포인트 클라우드 전달 알고리즘이 오리지널 포인트 클라우드와 재구성 포인트 클라우드 사이의 왜곡을 최소화하는 데 어떻게 활용되는지에 대한 보다 상세한 논의이다.
속성 전달 문제는 하기와 같이 정의될 수 있다:
a.
Figure 112021144830164-pat00231
를 그의 기하구조(즉, 3D 위치들)
Figure 112021144830164-pat00232
및 속성들의 세트(예컨대, RGB 색상 또는 반사율)
Figure 112021144830164-pat00233
에 의해 정의된 포인트 클라우드로 간주한다.
Figure 112021144830164-pat00234
Figure 112021144830164-pat00235
의 리샘플링된 버전으로 간주하고,
Figure 112021144830164-pat00236
를 그의 기하구조로 간주한다.
b. 이어서, 텍스처 왜곡이 최소화되도록
Figure 112021144830164-pat00237
의 포인트와 연관된
Figure 112021144830164-pat00238
의 속성의 세트를 계산한다.
속성 전달 알고리즘을 이용하여 텍스처 왜곡 최소화 문제를 해결하기 위해:
Figure 112021144830164-pat00239
Figure 112021144830164-pat00240
Figure 112021144830164-pat00241
에서
Figure 112021144830164-pat00242
의 최인접 이웃으로 간주하고,
Figure 112021144830164-pat00243
를 그의 속성 값으로 간주한다
Figure 112021144830164-pat00244
Figure 112021144830164-pat00245
Figure 112021144830164-pat00246
Figure 112021144830164-pat00247
에서
Figure 112021144830164-pat00248
의 최인접 이웃으로 간주하고,
Figure 112021144830164-pat00249
를 그의 속성 값으로 간주한다
Figure 112021144830164-pat00250
Figure 112021144830164-pat00251
Figure 112021144830164-pat00252
Figure 112021144830164-pat00253
의 포인트들의 세트로 간주하고 - 그들은 그들의 최인접 이웃으로서 포인트
Figure 112021144830164-pat00254
을 공유함 -,
Figure 112021144830164-pat00255
를 그들의 속성 값들로 간주한다.
Figure 112021144830164-pat00256
Figure 112021144830164-pat00257
Figure 112021144830164-pat00258
로부터
Figure 112021144830164-pat00259
까지 계산된 비대칭적 오차로 간주한다:
Figure 112021144830164-pat00260
Figure 112021144830164-pat00261
Figure 112021144830164-pat00262
Figure 112021144830164-pat00263
Figure 112021144830164-pat00264
로부터
Figure 112021144830164-pat00265
까지 계산된 비대칭적 오차로 간주한다:
Figure 112021144830164-pat00266
Figure 112021144830164-pat00267
Figure 112021144830164-pat00268
Figure 112021144830164-pat00269
Figure 112021144830164-pat00270
내지
Figure 112021144830164-pat00271
사이의 속성 왜곡을 측정하는 대칭적 오차로 간주한다:
Figure 112021144830164-pat00272
Figure 112021144830164-pat00273
이어서, 속성들의 세트
Figure 112021144830164-pat00274
를 하기와 같이 결정한다:
a.
Figure 112021144830164-pat00275
Figure 112021144830164-pat00276
을 초기화한다
b.
Figure 112021144830164-pat00277
의 모든 포인트에 걸쳐서 루핑한다
1) 각각의 포인트
Figure 112021144830164-pat00278
에 대해,
Figure 112021144830164-pat00279
Figure 112021144830164-pat00280
를 계산한다
2) If (
Figure 112021144830164-pat00281
or
Figure 112021144830164-pat00282
)
Figure 112021144830164-pat00283
Figure 112021144830164-pat00284
3) Else
Figure 112021144830164-pat00285
Figure 112021144830164-pat00286
4) EndIf
5)
Figure 112021144830164-pat00287
6)
Figure 112021144830164-pat00288
다중 레벨 비디오/이미지 인코딩
많은 응용예들에서, 다중 레벨 이미지들을 압축할 필요가 있으며, 여기서 레벨들의 수는 통상적으로, 코덱에 의해 지원될 수 있는 레벨들의 수보다 훨씬 더 낮다. 인코딩될 레벨들의 수가 코덱에 의해 지원되는 레벨들의 수를 초과할 수 있는 경우들도 있다. 대부분의 코덱들은, 예를 들어, 8 비트 또는 10 비트 이미지들이 인코딩되어야 한다는 가정 하에 구축되고, 보통, 최대 256 또는 1024개의 레벨들이 각각 이미지에 존재할 수 있다고 가정한다. 한편, 더 적은 레벨들이 인코딩될 필요가 있을 수 있는 응용예들을 조우하는 것이 통상적이다. 예시적인 응용예들은 각각의 픽셀이 0 또는 1 중 어느 하나일 수 있는 이진 맵 압축, 및 각각의 픽셀이 [0, N-1]의 범위 내의 인덱스 값일 수 있는 인덱스 맵 압축을 포함한다. 16 비트 깊이 정보가 또한 일부 응용예들에서 요구되고, 종래의 코덱들을 사용하여 압축될 필요가 있다. 그러한 압축은 무손실일 필요가 있을 수 있지만, 일부 손실이 최대 소정 정도까지 용인될 수 있는 경우들도 있다.
일부 실시예들에서, 시스템은 하기의 스테이지들을 포함한다
Figure 112021144830164-pat00289
코드 워드 맵핑. 각각의 입력 픽셀 값은 하나 이상의 M-비트 코드 워드들, 예컨대 8-비트 또는 10-비트 코드 워드에 맵핑된다.
Figure 112021144830164-pat00290
프리-프로세싱. 이러한 선택적 단계는 이미지들을 압축에 더 우호적이 되게 할 수 있다.
Figure 112021144830164-pat00291
인코딩/디코딩. 원칙적으로, H.264/AVC 또는 H.265/HEVC, AV1 등을 포함하는 임의의 이미지/비디오 코덱이 여기에 사용될 수 있다. 상이한 프로파일들 및 코딩 툴들이 또한 이러한 코덱들에 사용될 수 있다.
Figure 112021144830164-pat00292
포스트-프로세싱. 디코딩된 이미지들은 맵핑 함수에 의해 오리지널 신호 공간으로 다시 변환된다. 맵핑 함수는 압축된 비디오 데이터로부터의 부가 정보(side information), 대역내(in-band) 또는 대역외(out-of-band)로서 시그널링될 수 있다.
상기의 스테이지들이 하기에서 더 상세히 기술된다.
코드 워드 맵핑
N-비트 데이터 대 M-비트 코드 워드들의 맵핑은 N < M인지의 여부에 의존할 것이다.
N < M인 경우, 여러 상이한 옵션들이 있다:
a) 값 2^(M - N - i)(이때, 0<= i <= (M-N))을 사용하여(또는 데이터를 (M - N - i)만큼 동등하게 시프트시켜서) 곱함으로써 데이터를 스케일링한다. 명백하게, i= M-N 일 때, 어떠한 스케일링도 수행되지 않는다.
b) (2^(M - i) - 1)(이때, 또한, 0<= i <= (M-N))의 값을 사용하여 곱함으로써, 그리고 이어서, (2^(N) - 1)로 나눔으로써 데이터를 스케일링한다.
c) X의 값을 사용하여 (2^(N) - 1) < X <=(2^(M) - 1)과 곱함으로써, 그리고 이어서, (2^(N) - 1)로 나눔으로써 데이터를 스케일링한다.
N>M인 경우, 오리지널 X는 하기와 같이 그 이미지 내의 각각의 픽셀(x)을 프로세싱함으로써 더 낮은 비트 깊이의 수 개의 서브이미지들로 분리된다:
Figure 112021144830164-pat00293
상기의 프로세스는 모든 샘플들(N)이 특정 비트 깊이의 서브이미지에 할당될 때까지 반복된다.
상기의 프로세스는 모든 샘플들(N)이 특정 비트 깊이의 서브이미지에 할당될 때까지 반복된다. 이 경우에, 올림(rounding up)이 수행되고, 따라서, O + 1만큼의 시프팅이 수행되는 이유는 MSB에서 오버플로우가 없음을 보장하기 위한 것임에 유의한다. 모든 서브이미지들이 동일한 비트 깊이를 사용하는 것은 필요하지 않다. 예를 들어, 일부 이미지들은 10의 비트 깊이를 사용할 수 있고, 다른 이미지들은 8의 비트 깊이를 사용할 수 있다. 그러한 순서는 인코더 및/또는 디코더 둘 다에서 사전고정/사전결정되고 알려져 있을 수 있거나, 또는, 예를 들어, 코딩 성능에 기초하여, 인코더 상에서 결정되고 디코더에 시그널링될 수 있다.
예를 들어, N = 16이고 M = 10인 경우,
y_0 = (x + (1 << 6))>> 7 = (x + 64) >> 7
y_1 = x - (y_0 << 7) + 64
코덱이 y_0, y_1, 또는 임의의 후속 서브픽처를 압축하는 데 사용되는 경우, 이러한 서브픽처들을 생성할 때 폐루프 변환이 사용될 수 있다. 예를 들어, y_0을 생성한 후, 그것이 압축될 수 있고, 재구성된 이미지 y_0_rec이 생성될 수 있다. 이어서, y_1이 하기와 같이 생성할 수 있다:
y_1 = x - (y_0_rec << (O + 1)) + (1 << O)
앞의 공식 대신에, y_1, y_1_rec의 재구성을 고려할 때 y_2에 대해, 그리고 임의의 후속 서브픽처에 대해, 동일한 것이 행해질 수 있다.
프리-프로세싱
코드 워드 전이들과 연관된 높은 주파수들을 평활화시키기 위해 공간 평활화 필터가 채용될 수 있다. 평활화 필터는 동일하지 않은 오차 비용을 고려하도록 설계될 수 있다. 예를 들어, 코딩 1 -> 0의 오차가 0 -> 1의 코딩의 오차보다 높은 경우, 도 13l에 도시된 예에서, 더 어두운 곡선이 더 밝은 곡선에 비해 바람직할 수 있다.
필터는, 예를 들어 겹선형(bilinear) 또는 바이큐빅 필터, 코사인 필터, 가우스 필터, 랑조스 필터 등일 수 있다.
이러한 프리-프로세싱 뒤의 아이디어는, 디코딩 시에, 정규화된 0.5 값 초과의 값이 조우되는 경우, 그것이 1의 값으로 디코딩될 것인 반면, 모든 다른 값들이 0으로 해석될 것이라는 것이다.
도 13l에 도시된 예에서, 더 밝은 곡선은 1 또는 0에 대응하는 값들 사이에서 그들의 역의 값 내로의 모호성(ambiguity) 또는 누설을 방지할 수 있음에 유의해야 한다. 본질적으로, 이러한 경우에, 모호성을 피하기 위해 필터에 의해 생성되는 것이 허용되지 않는 값들의 범위가 정의될 수 있다. 그 범위는 대칭적일 필요가 없고, 다른 단부에 대해 하나의 단부를 향하는 바이어스가 고려될 수 있다.
일부 실시예들에서, 시공간적 필터들이 시간 차원에서 높은 주파수들을 평활화시켜서 신호를 압축하기에 우호적이 되게 하는 데 사용될 수 있다. 이러한 카테고리 내의 기법들은, 1) 시간적 평활화 필터, 및 2) 전술된 공간 전용 필터가 시간 차원에서 일관됨을 확인하기 위한 "시간적 정렬" 단계를 포함한다. 프리-프로세싱 스테이지는 다중-레벨 이미지들로 용이하게 확장될 수 있다.
포스트 프로세싱
디코딩된 이미지들은 맵핑 함수에 의해 오리지널 신호 공간으로 다시 변환된다. 맵핑 함수는 일대일 맵핑, 또는 콘텍스트 정보에 기초한 맵핑일 수 있다.
일대일 맵핑은 양자화와 유사하여, 비중첩 간격들 또는 양자화 경계들을 사용하여 큰 세트로부터의 입력 값들을 더 작은 세트 내의 출력 값들에 맵핑할 수 있다. 양자화 경계들의 세트는 고정되거나, 또는 적응적이 되고 부가 정보로서 디코더에 시그널링될 수 있다.
콘텍스트 정보에 의해, 소정 시나리오들 하에서 오차가 감소될 수 있다. 공간적 또는 시공간적 이웃들의 세트에 기초하여, 투표(voting)에 기초하여 현재 픽셀에 대해 합동 결정(joint decision)이 이루어질 수 있다. 투표 전략들은 이전 투표 결과들에 기초한 대다수 투표, 선형 가중 평균화, 비선형 가중 평균화, 또는 반복 개량을 포함할 수 있다.
색상 고려사항
4:2:0, 4:2:2, 또는 4:4:4 코덱이 사용되는 경우, 크로마 채널들 둘 다는 중성 값들(예를 들어, 8 비트에 대해 128)로 설정될 수 있다. 그러나, 원하는 경우, 임의의 다른 값이 또한 사용될 수 있다. 단색 코덱이 또한 사용될 수 있다.
대안의 실시예에서, 크로마 내의 루마 값들을 복제하거나 이동시키는 것이 수행될 수 있다. 복제는, 손실 코딩 스킴을 사용하는 경우 그리고 그것이 다수의 디스크립션 코딩 스킴(description coding scheme)으로서 작용할 수 있으므로 유용할 수 있다. 그러한 시나리오에서, 오차들은, 크로마 평면들에서 또한 무엇이 발생하는지를 살펴봄으로써 풀 해상도 루마에서 보정될 수 있다. 반면에, 4:4:4 코딩에 대해, 해상도는 4:4:0 이미지를 구성하고(오리지널 이미지를 수평으로 또는 수직으로 서브샘플링하고 샘플들 중 일부를 루마 컴포넌트에 그리고 다른 것들을 크로마 컴포넌트들 중 하나에 배치함), 그를 코딩함으로써 절반만큼 감소될 수 있다. 남은 색상 평면 내의 컴포넌트들 중 하나의 컴포넌트의 복제가 또한 가능할 수 있거나, 또는 그 대신, 마지막 평면이 다른 2개의 평면들 사이의 함수, 예컨대 다른 2개의 평면들의 차이, 다른 2개의 평면들의 XOR, 그들의 평균 등을 포함할 수 있다는 것이 특정될 수 있다. 예를 들어, Y = x(i, 2j), Cb = (x, 2j + 1)인 경우, Cr = (x, 2j), Cr = (Y - Cb) + 1, 또는 Cr = XOR(Y, Cb)를 선택할 수 있다.
코덱 고려사항들
시스템의 단대단(end-to-end) 왜곡은 입력 및 출력 다중 레벨 이미지들 사이의 거리로서 정의될 수 있다. 인코더 결정들은, 보통의 비디오 인코더들에서 통상적으로 사용되는 왜곡 함수들 대신에, 단대단 왜곡을 인지하게 할 수 있다. 이는 QP, 모션 추정, 모드 결정, 루프 필터 파라미터들 등과 같은 것들을 포함한다. 그러한 인코딩 프로세스에서의 프리-프로세싱에서와 같이, 왜곡된 값은 최종 프로세싱 이후에 동일한 다중 레벨 값에 맵핑될 다른 값으로 재구성되도록 허용될 수 있다. 예를 들어, 0.6의 값을 코딩하는 경우, 이 값은 0.5 초과의 임의의 값(임의의 값 > 0.5)으로 인코딩될 수 있고, 본질적으로, 오리지널 프로세스(즉, 1의 값)와 동일한 재구성을 야기할 수 있다. 모션 추정 및 모드 결정과 같은 프로세스들은, 코딩 결정들을 수행할 때 그리고 최상의 예측자 후보/코딩 모드를 선택하기 위해 그러한 맵핑을 고려할 수 있다.
일부 경우들에서, 샘플에 대해 일부 왜곡이 발생하는 것이 허용될 수 있다. 즉, 레벨 l0에 원래 대응했던 샘플은 레벨 l1 또는 l2 - 이들이 이용가능한 경우 - 중 어느 하나에 대응하도록 변화되는 것이 허용된다. 특정 실시예에서, 특정 층 내의 임의의 수의 포인트들이 변화하는 것이 허용될 수 있지만, 그것은 또한 그러한 수의 포인트들을 제한할 수 있다. 제한은 또한 맵핑 값마다 독립적일 수 있다. 예컨대, 이진 이미지에 대해, 0으로 변화하는 것이 허용될 수 있는 1들의 개수, 및 1로 변화하는 것이 허용되는 상이한 수의 0들의 개수를 상이하게 제한하기를 원할 수 있다. 인코딩하기를 원하는 영역의 형상 및 특성들이 또한 고려될 수 있다. 그러한 정보는 디코더에서 또한 이용가능할 수 있지만, 비디오 신호 내로 또한 명시적으로 전송될 수 있다.
무손실 고려사항
최종 목표가 다중 레벨 이미지들에 대해 무손실 코딩을 제공하는 것인 경우, 추가 고려들이 이루어질 수 있다. 무손실을 달성하기 위한 한 가지 방식은 각각의 블록에 대해 최대 Qp를 찾는 것이며, 이는 또한 양자화 후에 무손실 재구성을 생성할 수 있다. 최대 QP의 결정은 현재 블록의 철저한 검색 및 코딩 평가에 기초할 수 있고/있거나, 또한, 현재 블록의 특성들 및 그의 예측 모드 및/또는 예측 후의 잔차 정보에 기초할 수 있다.
2-레벨 이미지들에 대해, XOR 연산자는 데이터를 더 스파스하게 하는 데 사용될 수 있다. 특히, XOR 연산자가, 샘플들이 동일할 때 1의 값, 그리고 값들이 상이한 경우에 0의 값을 생성한다는 것을 알고 있다. 이러한 속성을 이용하여, 점유 맵이 XOR 연산자와 수평으로 그리고/또는 수직으로 프로세싱될 수 있다. 특히, 이미지 내의 모든 픽셀에 대해, 픽셀은 하기와 같이 업데이트된다.
Figure 112021144830164-pat00294
디코딩은, 유사한 방식으로 그리고 상기 변환을 역추적함으로써 수행될 수 있다. 예를 들어, 먼저 하기를 이용하여 수직 샘플들을 디코딩한다:
Figure 112021144830164-pat00295
포인트 클라우드 인코더들 및 디코더들을 사용하는 예시적인 응용예들
도 14는 일부 실시예들에 따른, 3D 텔레프레즌스 애플리케이션에서 사용되고 있는 압축 포인트 클라우드들을 도시한다.
일부 실시예들에서, 센서(102)와 같은 센서, 인코더(104) 또는 본 명세서에서 기술된 다른 인코더들 중 임의의 인코더와 같은 인코더, 및 디코더(116) 또는 본 명세서에서 기술된 디코더들 중 임의의 디코더와 같은 디코더가 3D 텔레프레즌스 애플리케이션에서 포인트 클라우드들을 통신하는 데 사용될 수 있다. 예를 들어, 센서(102)와 같은 센서는, 1402에서, 3D 이미지를 캡처할 수 있고, 1404에서, 센서 또는 센서와 연관된 프로세서는 감지된 데이터에 기초하여 3D 재구성을 수행하여 포인트 클라우드를 생성할 수 있다.
1406에서, 인코더(104)와 같은 인코더는 포인트 클라우드를 압축할 수 있고, 1408에서, 인코더 또는 포스트 프로세서는 네트워크(1410)를 통해 압축 포인트 클라우드를 패킷화 및 송신할 수 있다. 1412에서, 패킷들은 디코더(116)와 같은 디코더를 포함하는 목적지 위치에서 수신될 수 있다. 디코더는, 1414에서 포인트 클라우드를 압축해제할 수 있고, 압축해제 포인트 클라우드는, 1416에서 렌더링될 수 있다. 일부 실시예들에서, 3D 텔레프레즌스 애플리케이션은, 1416에서의 디스플레이가 1402에서 관찰되고 있는 이미지들을 표현하도록 포인트 클라우드 데이터를 실시간으로 송신할 수 있다. 예를 들어, 협곡 내의 카메라는, 1416에서, 원격 사용자가 가상 협곡을 통해 걷기를 경험하게 할 수 있다.
도 15는 일부 실시예들에 따른, 가상 현실(VR) 또는 증강 현실(AR) 애플리케이션에서 사용되고 있는 압축 포인트 클라우드들을 도시한다.
일부 실시예들에서, 포인트 클라우드들은 (예를 들어, 센서에 의해 캡처되는 것과는 대조적으로) 소프트웨어에서 생성될 수 있다. 예를 들어, 1502에서, 가상 현실 또는 증강 현실 콘텐츠가 생성된다. 가상 현실 또는 증강 현실 콘텐츠는 포인트 클라우드 데이터 및 비-포인트 클라우드 데이터를 포함할 수 있다. 예를 들어, 비-포인트 클라우드 캐릭터는, 일례로서, 포인트 클라우드들에 의해 표현되는 풍경을 트래버스할 수 있다. 1504에서, 포인트 클라우드 데이터가 압축될 수 있고, 1506에서, 압축 포인트 클라우드 데이터 및 비-포인트 클라우드 데이터는 네트워크(1508)를 통해 패킷화 및 송신될 수 있다. 예를 들어, 1502에서 생성된 가상 현실 또는 증강 현실 콘텐츠는 원격 서버에서 생성될 수 있고, 네트워크(1508)를 통해 VR 또는 AR 콘텐츠 소비자에게 통신될 수 있다. 1510에서, 패킷들은 VR 또는 AR 소비자의 디바이스에서 수신 및 동기화될 수 있다. VR 또는 AR 소비자의 디바이스에서 동작하는 디코더는, 1512에서, 압축 포인트 클라우드를 압축해제할 수 있고, 포인트 클라우드 및 비-포인트 클라우드 데이터는, 예를 들어 VR 또는 AR 소비자의 디바이스의 헤드 마운티드 디스플레이에서, 실시간으로 렌더링될 수 있다. 일부 실시예들에서, 포인트 클라우드 데이터는, 상이한 방향들에서 보기 위해 VR 또는 AR 소비자가 헤드 마운티드 디스플레이를 조작하는 것에 응답하여 생성, 압축, 압축해제 및 렌더링될 수 있다.
일부 실시예들에서, 본 명세서에서 기술된 바와 같은 포인트 클라우드 압축은, 다양한 다른 애플리케이션들, 예컨대 지리적 정보 시스템들, 스포츠들 재생 방송, 박물관 전시(museum displays), 자율적 내비게이션 등에서 사용될 수 있다.
예시적인 컴퓨터 시스템
도 16은 일부 실시예들에 따른, 인코더 또는 디코더 또는 본 명세서에서 기술된 컴포넌트들 중 임의의 다른 것들(예컨대, 도 1 내지 도 15를 참조하여 전술된 컴포넌트들 중 임의의 것)을 구현할 수 있는 예시적인 컴퓨터 시스템(1600)을 도시한다. 컴퓨터 시스템(1600)은, 전술된 실시예들 중 임의의 것 또는 모두를 실행하도록 구성될 수 있다. 상이한 실시예들에서, 컴퓨터 시스템(1600)은 개인용 컴퓨터 시스템, 데스크톱 컴퓨터, 랩톱, 노트북, 태블릿, 슬레이트, 패드, 또는 넷북 컴퓨터, 메인프레임 컴퓨터 시스템, 핸드헬드 컴퓨터, 워크스테이션, 네트워크 컴퓨터, 카메라, 셋톱 박스, 모바일 디바이스, 소비자 디바이스, 비디오 게임 콘솔, 핸드헬드 비디오 게임 디바이스, 애플리케이션 서버, 저장 디바이스, 텔레비전, 비디오 녹화 디바이스, 주변기기 디바이스, 예컨대 스위치, 모뎀, 라우터, 또는 대체로 임의의 타입의 컴퓨팅 또는 전자 디바이스를 포함하지만 이들로 제한되지 않는, 다양한 타입의 디바이스들 중 임의의 것일 수 있다.
본 명세서에서 기술된 바와 같은 포인트 클라우드 인코더 또는 디코더의 다양한 실시예들은, 다양한 다른 디바이스들과 상호작용할 수 있는 하나 이상의 컴퓨터 시스템들(1600)에서 실행될 수 있다. 도 1 내지 도 15와 관련하여 전술된 임의의 컴포넌트, 작용, 및 기능이, 다양한 실시예들에 따라, 도 16의 컴퓨터 시스템(1600)으로서 구성되는 하나 이상의 컴퓨터들 상에서 구현될 수 있다는 것에 유의한다. 도시된 실시예에서, 컴퓨터 시스템(1600)은 입력/출력(I/O) 인터페이스(1630)를 통해 시스템 메모리(1620)에 커플링된 하나 이상의 프로세서들(1610)을 포함한다. 컴퓨터 시스템(1600)은 I/O 인터페이스(1630)에 결합된 네트워크 인터페이스(1640), 및 하나 이상의 입력/출력 디바이스(1650), 예컨대 커서 제어 디바이스(1660), 키보드(1670), 및 디스플레이(들)(1680)를 추가로 포함한다. 일부 경우들에 있어서, 실시예들이 컴퓨터 시스템(1600)의 단일 사례를 이용하여 구현될 수 있지만, 다른 실시예들에서는 다수의 그러한 시스템들, 또는 컴퓨터 시스템(1600)을 구성하는 다수의 노드들이 실시예들의 상이한 부분들 또는 사례들을 호스팅하도록 구성될 수 있다는 점을 고려한다. 예를 들어, 일 실시예에서, 일부 요소들은 다른 요소들을 구현하는 그들 노드들과는 별개인 컴퓨터 시스템(1600)의 하나 이상의 노드를 통해 구현될 수 있다.
다양한 실시예들에서, 컴퓨터 시스템(1600)은 하나의 프로세서(1610)를 포함하는 단일프로세서 시스템, 또는 여러 개(예컨대, 2개, 4개, 8개, 또는 다른 적합한 개수)의 프로세서들(1610)을 포함하는 다중프로세서 시스템일 수 있다. 프로세서들(1610)은 명령어들을 실행할 수 있는 임의의 적합한 프로세서일 수 있다. 예를 들어, 다양한 실시예들에서, 프로세서들(1610)은 다양한 명령어 세트 아키텍처(instruction set architecture, ISA)들, 예컨대 x86, PowerPC, SPARC 또는 MIPS ISA들, 또는 임의의 다른 적합한 ISA 중 임의의 것을 구현하는 범용 또는 임베디드 프로세서들일 수 있다. 멀티프로세서 시스템들에서, 프로세서들(1610) 각각은 일반적으로 동일한 ISA를 구현할 수 있지만 반드시 그러한 것은 아니다.
시스템 메모리(1620)는 프로세서(1610)에 의해 액세스가능한 포인트 클라우드 압축 또는 포인트 클라우드 압축해제 프로그램 명령어들(1622) 및/또는 센서 데이터를 저장하도록 구성될 수 있다. 다양한 실시예들에서, 시스템 메모리(1620)는 SRAM, SDRAM, 비휘발성/플래시 타입 메모리, 또는 임의의 다른 타입의 메모리와 같은 임의의 적합한 메모리 기술을 이용하여 구현될 수 있다. 도시된 실시예에서, 프로그램 명령어들(1622)은 전술된 기능 중 임의의 것을 통합하는 이미지 센서 제어 애플리케이션을 구현하도록 구성될 수 있다. 일부 실시예들에서, 프로그램 명령어들 및/또는 데이터는 시스템 메모리(1620) 또는 컴퓨터 시스템(1600)과는 별개인 상이한 타입들의 컴퓨터 액세스가능 매체들 또는 유사한 매체들에서 수신, 전송, 또는 저장될 수 있다. 컴퓨터 시스템(1600)은 이전 도면들의 기능 블록들의 기능을 구현하는 것으로서 기술되지만, 본 명세서에서 기술된 기능 중 임의의 것이 그러한 컴퓨터 시스템을 통해 구현될 수 있다.
일 실시예에서, I/O 인터페이스(1630)는 프로세서(1610), 시스템 메모리(1620), 및 네트워크 인터페이스(1640) 또는 기타 주변기기 인터페이스들, 예컨대 입력/출력 디바이스들(1650)을 포함한 디바이스 내의 임의의 주변기기 디바이스들 사이에서 I/O 트래픽을 조정하도록 구성될 수 있다. 일부 실시예들에서, I/O 인터페이스(1630)는 하나의 컴포넌트(예를 들어, 시스템 메모리(1620))로부터의 데이터 신호들을 다른 컴포넌트(예를 들어, 프로세서(1610))에 의한 사용에 적합한 포맷으로 변환하기 위해 임의의 필수적인 프로토콜, 타이밍, 또는 다른 데이터 변환들을 수행할 수 있다. 일부 실시예들에서, I/O 인터페이스(1630)는, 예를 들어, PCI(Peripheral Component Interconnect) 버스 표준 또는 USB(Universal Serial Bus) 표준의 변형물과 같은 다양한 타입들의 주변기기 버스들을 통해 부착되는 디바이스들을 위한 지원부를 포함할 수 있다. 일부 실시예들에서, I/O 인터페이스(1630)의 기능은, 예를 들어, 2개 이상의 별개의 컴포넌트들, 예컨대 노스 브리지 및 사우스 브리지로 분할될 수 있다. 또한, 일부 실시예들에서, 시스템 메모리(1620)에 대한 인터페이스와 같은 I/O 인터페이스(1630)의 기능 중 일부 또는 전부가 프로세서(1610) 내에 직접 통합될 수 있다.
네트워크 인터페이스(1640)는, 컴퓨터 시스템(1600)과, 네트워크(1685)에 부착된 다른 디바이스들(예를 들어, 캐리어 또는 에이전트 디바이스들) 사이에서, 또는 컴퓨터 시스템(1600)의 노드들 사이에서 데이터가 교환되게 하도록 구성될 수 있다. 네트워크(1685)는, 다양한 실시예들에서, 로컬 영역 네트워크(Local Area Network, LAN)(예컨대, 이더넷(Ethernet) 또는 회사 네트워크), 광역 네트워크(WAN)(예컨대, 인터넷), 무선 데이터 네트워크, 일부 다른 전자 데이터 네트워크, 또는 이들의 일부 조합을 포함하지만 이로 제한되지 않는 하나 이상의 네트워크를 포함할 수 있다. 다양한 실시예들에서, 네트워크 인터페이스(1640)는, 예를 들어 유선 또는 무선의 일반 데이터 네트워크들, 예컨대 임의의 적합한 타입의 이더넷 네트워크를 통해; 원격통신/전화 네트워크들, 예컨대 아날로그 음성 네트워크들 또는 디지털 광섬유 통신 네트워크들을 통해; 저장 영역 네트워크(storage area network)들, 예컨대 광섬유 채널 SAN(Fibre Channel SAN)들을 통해; 또는 임의의 다른 적합한 타입의 네트워크 및/또는 프로토콜을 통해 통신을 지원할 수 있다.
입력/출력 디바이스들(1650)은, 일부 실시예들에서, 하나 이상의 디스플레이 단말기, 키보드, 키패드, 터치패드, 스캐닝 디바이스, 음성 또는 광 인식 디바이스, 또는 하나 이상의 컴퓨터 시스템(1600)에 의해 데이터를 입력하거나 그에 액세스하는 데 적합한 임의의 다른 디바이스들을 포함할 수 있다. 다수의 입력/출력 디바이스들(1650)은 컴퓨터 시스템(1600)에 존재할 수 있거나, 또는 컴퓨터 시스템(1600)의 다양한 노드들 상에 분산될 수 있다. 일부 실시예들에서, 유사한 입력/출력 디바이스들은 컴퓨터 시스템(1600)으로부터 분리될 수 있고, 유선 또는 무선 연결을 통해, 예컨대 네트워크 인터페이스(1640)를 통해, 컴퓨터 시스템(1600)의 하나 이상의 노드들과 상호작용할 수 있다.
도 16에 도시된 바와 같이, 메모리(1620)는 전술한 임의의 요소 또는 동작을 구현하도록 프로세서-실행가능할 수 있는 프로그램 명령어들(1622)을 포함할 수 있다. 일 실시예에서, 프로그램 명령어들은 전술된 방법들을 구현할 수 있다. 다른 실시예들에서, 상이한 요소들 및 데이터가 포함될 수 있다. 데이터가 전술된 임의의 데이터 또는 정보를 포함할 수 있다는 점에 유의한다.
당업자들은, 컴퓨터 시스템(1600)이 단지 예시적인 것이고, 실시예들의 범주를 제한하는 것으로 의도되지는 않음을 인식할 것이다. 특히, 컴퓨터 시스템 및 디바이스들은 컴퓨터, 네트워크 디바이스, 인터넷 어플라이언스, PDA, 무선 전화기, 호출기 등을 비롯한, 나타낸 기능들을 수행할 수 있는 하드웨어 또는 소프트웨어의 임의의 조합을 포함할 수 있다. 컴퓨터 시스템(1600)은, 또한, 도시되지 않은 다른 디바이스들에 연결될 수 있거나, 또는 대신에 독립형 시스템으로서 동작할 수 있다. 부가적으로, 도시된 컴포넌트들에 의해 제공되는 기능은, 일부 실시예들에서, 더 적은 수의 컴포넌트들로 조합될 수 있거나 또는 부가적인 컴포넌트들에 분산될 수 있다. 유사하게, 일부 실시예들에서, 도시된 컴포넌트들 중 일부 컴포넌트들의 기능이 제공되지 않을 수 있고/있거나 다른 부가적인 기능이 이용가능할 수 있다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 또한, 다양한 아이템들이 메모리에 저장되어 있는 것으로 또는 사용 중에 저장소 상에 저장되는 것으로 도시되어 있지만, 이들 아이템들 또는 이들의 부분들은 메모리 관리 및 데이터 무결성의 목적을 위해 메모리와 다른 저장 디바이스들 사이에서 전달될 수 있다는 것을 이해할 것이다. 대안적으로, 다른 실시예들에서, 소프트웨어 컴포넌트들 중 일부 또는 모두는 다른 디바이스 상의 메모리에서 실행될 수 있고, 컴퓨터간 통신을 통해 도시된 컴퓨터 시스템과 통신할 수 있다. 시스템 컴포넌트들 또는 데이터 구조들 중 일부 또는 전부는, 또한, 적절한 드라이브에 의해 판독될 컴퓨터 액세스가능 매체 또는 휴대용 물품 상에 (예를 들어, 명령어들 또는 구조화된 데이터로서) 저장될 수 있으며, 그의 다양한 예들이 위에 설명되어 있다. 일부 실시예들에서, 컴퓨터 시스템(1600)으로부터 분리된 컴퓨터 액세스가능 매체 상에 저장된 명령어들은, 네트워크 및/또는 무선 링크와 같은 통신 매체를 통해 전달되는 전기, 전자기, 또는 디지털 신호들과 같은 송신 매체들 또는 신호들을 통해 컴퓨터 시스템(1600)으로 송신될 수 있다. 다양한 실시예들이 컴퓨터 액세스가능 매체에 관한 전술된 설명에 따라 구현된 명령어들 및/또는 데이터를 수신, 전송, 또는 저장하는 것을 추가로 포함할 수 있다. 일반적으로 말하면, 컴퓨터 액세스가능 매체는 자기적 또는 광학 매체들과 같은 비일시적 컴퓨터 판독가능 저장 매체 또는 메모리 매체, 예를 들어 디스크 또는 DVD/CD-ROM, 휘발성 또는 비휘발성 매체들, 예컨대 RAM(예를 들어, SDRAM, DDR, RDRAM, SRAM 등), ROM 등을 포함할 수 있다. 일부 실시예들에서, 컴퓨터 액세스가능 매체는, 네트워크 및/또는 무선 링크와 같은 통신 매체를 통해 전달되는 전기, 전자기, 또는 디지털 신호들과 같은 송신 매체들 또는 신호들을 포함할 수 있다.
본 명세서에 설명된 방법들은, 상이한 실시예들에서, 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 부가적으로, 방법들의 블록들의 순서는 변경될 수 있고, 다양한 요소들이 부가, 재순서화, 조합, 생략, 수정, 기타 등등될 수 있다. 본 개시내용의 이익을 가진 당업자에게 명백한 바와 같이 다양한 수정들 및 변화들이 이루어질 수 있다. 본 명세서에 설명된 다양한 실시예들은 예시적인 것이며 제한하려는 것으로 의도되지 않는다. 많은 변형들, 수정들, 부가들 및 개선들이 가능하다. 따라서, 복수의 예시들이 본 명세서에 설명된 컴포넌트들에 대해 단일 예시로서 제공될 수 있다. 다양한 컴포넌트들, 동작들, 및 데이터 저장들 사이의 경계들은 다소 임의적이고, 특정 동작들은 특정 예시 구성들의 맥락에서 예시된다. 기능의 다른 할당들이 계획되고, 다음의 청구범위의 범주 내에 속할 수 있다. 마지막으로, 예시적인 구성들에서 별개의 컴포넌트들로서 제시된 구조들 및 기능은 조합된 구조 또는 컴포넌트로서 구현될 수 있다. 이들 및 다른 변형들, 수정들, 부가들 및 개선들은 다음의 청구범위에 정의된 바와 같은 실시예들의 범주 내에 속할 수 있다.
다양한 실시예들이 하기의 항목들의 관점에서 기술될 수 있다:
1. 시스템으로서,
포인트 클라우드를 구성하는 복수의 포인트들을 캡처하도록 구성되는 하나 이상의 센서들 - 포인트들 중 개개의 포인트들은 포인트에 대한 공간 정보 및 포인트에 대한 속성 정보를 포함함 -; 및
포인트 클라우드를 압축하도록 구성된 인코더를 포함하고, 포인트 클라우드를 압축하기 위해, 인코더는,
포인트 클라우드에 대해, 하나 이상의 패치 이미지들을 생성하도록;
생성된 하나 이상의 패치 이미지들을 하나 이상의 이미지 프레임들로 패킹하도록;
패드를 갖는 하나 이상의 패치 이미지들에 의해 커버되지 않는 하나 이상의 이미지 프레임들에 공간들을 패딩하도록;
하나 이상의 이미지 프레임들을 인코딩하도록; 그리고
하나 이상의 이미지 프레임들의 활성 영역들 또는 비활성 영역들에 대응하는 하나 이상의 이미지 프레임들의 영역들을 나타내는 정보를 인코딩하도록 구성되며, 여기서 패드에 의해 커버되는 영역들은 비활성 영역들로서 나타내어지는, 시스템.
2. 항목 1의 시스템에서, 하나 이상의 패치 이미지들을 생성하기 위해, 인코더는,
포인트 클라우드를 원통형 표면 또는 구체형 표면 상에 투영하도록 구성되는, 시스템.
3. 항목 1의 시스템에서, 하나 이상의 패치 이미지들을 생성하기 위해, 인코더는,
포인트 클라우드의 부분들을 3개 이상의 평행한 평면들 상에 투영하도록 구성되는, 시스템.
4. 항목 1의 시스템에서, 인코더는,
특정 시점에서 가시적이지 않은 포인트 클라우드의 포인트들에 대해, 포인트들이 특정 시점에서 비활성 포인트들임을 나타내는 정보를 인코딩하도록 추가로 구성되는, 시스템.
5. 항목 4의 시스템에서, 인코더는,
비활성 영역들을 인코딩하는 것 또는 비활성 포인트들을 인코딩하는 것에 계상되는 비트들보다 하나 이상의 이미지 프레임들의 활성 영역들을 인코딩하는 것에 더 많은 비트들을 계상하도록 추가로 구성되는, 시스템.
6. 항목 4의 시스템에서, 인코더는,
고효율 비디오 코딩(HEVC) 표준에 따라 하나 이상의 이미지 프레임들을 인코딩하도록 추가로 구성되는, 시스템.
7. 항목 6의 시스템에서, 인코더는 하나 이상의 이미지 프레임들을 복수의 블록들로서 인코딩하도록 구성되고, 인코더는, 이미지 프레임의 각각의 블록에 대해,
블록이 활성 영역들만을 포함하는지, 비활성 영역들만을 포함하는지, 활성 영역과 비활성 영역의 혼합을 포함하는지를 판정하도록; 그리고
활성 영역과 비활성 영역의 혼합을 포함하는 개개의 블록들에 대해,
블록을 서브블록들로 분할하도록; 그리고
비활성 영역들만을 포함하는 서브블록들에 대해, 모션 추정 또는 모드 결정의 일부로서 수행되는 하나 이상의 왜곡 계산들로부터 서브블록을 배제하도록 구성되는, 시스템.
8. 항목 7의 시스템에서,
하나 이상의 비활성 영역들만을 포함하는 블록 또는 서브블록에 인접한 블록 또는 서브블록은 하나 이상의 비활성 영역들에 인접하지 않은 하나 이상의 활성 영역들을 포함하는 블록 또는 서브블록에 할당된 왜곡 가중화 인자와는 상이한 왜곡 가중화 인자를 할당받거나; 또는
둘 이상의 상이한 투영부들에 대한 패치 이미지들을 포함하는 블록 또는 서브블록은 2개 미만의 상이한 투영 패치 이미지들을 포함하는 블록 또는 서브블록과는 상이한 왜곡 가중화 인자를 할당받고;
인코더는, 블록 또는 서브블록에 할당된 개개의 왜곡 가중화 인자에 적어도 부분적으로 기초하여 블록 또는 서브 서브블록에 상이한 왜곡 허용오차들을 할당하도록 구성되는, 시스템.
9. 항목 6의 시스템에서, 인코더는 하나 이상의 이미지 프레임들을 복수의 블록들로서 인코딩하도록 구성되고, 인코더는, 이미지 프레임의 각각의 블록에 대해,
블록이 활성 영역들만을 포함하는지, 비활성 영역들만을 포함하는지, 활성 영역과 비활성 영역의 혼합을 포함하는지를 판정하도록; 그리고
활성 영역과 비활성 영역의 혼합을 포함하는 개개의 블록에 대해:
활성 영역과 비활성 영역의 혼합을 포함하지 않는 블록들 중 다른 블록들에 할당된 품질 파라미터보다 개개의 블록들을 인코딩하기 위해 더 높은 품질 파라미터를 할당하도록 구성되는, 시스템.
10. 항목 9의 시스템에서, 인코더는,
블록 또는 서브블록에 할당된 품질 파라미터에 적어도 부분적으로 기초하여 블록 또는 서브블록을 인코딩하는 데 사용되는 양자화 인자 또는 라그랑지 승수를 조정하도록 구성되는, 시스템.
11. 항목 6의 시스템에서, 인코더는 하나 이상의 이미지 프레임들을 복수의 블록들로서 인코딩하도록 구성되고, 인코더는, 이미지 프레임의 각각의 블록에 대해,
하나 이상의 패치 이미지들 내의 포인트 클라우드의 깊이를 결정하도록; 그리고
덜 깊은 패치 이미지들 또는 이들의 부분들에 대응하는 블록들에 할당되는 품질 파라미터보다, 더 깊은 패치 이미지들 또는 이들의 부분들에 대응하는 블록들을 인코딩하기 위해 더 높은 품질 파라미터를 할당하도록 구성되는, 시스템.
12. 항목 11의 시스템에서, 인코더는,
블록 또는 서브블록에 할당된 품질 파라미터에 적어도 부분적으로 기초하여 블록 또는 서브블록을 인코딩하는 데 사용되는 양자화 인자 또는 라그랑지 승수를 조정하도록 구성되는, 시스템.
12. 항목 6의 시스템에서, 인코더는,
트렐리스 양자화 시에 사용되는 양자화된 계수를 조정하여, 하나 이상의 이미지 프레임들의 개개의 블록들이 활성 또는 비활성 영역들을 포함하는지, 또는 활성 또는 비활성 포인트들을 포함하는지에 적어도 부분적으로 기초하여 하나 이상의 이미지 프레임들을 인코딩하도록 구성되는, 시스템.
13. 항목 6의 시스템에서, 인코더는,
하나 이상의 이미지 프레임들의 개개의 블록들이 활성 또는 비활성 영역들을 포함하는지, 또는 활성 또는 비활성 포인트들을 포함하는지에 적어도 부분적으로 기초하여 하나 이상의 이미지 프레임들을 인코딩하는 데 사용되는 샘플 적응적 오프셋 결정을 수정하도록 구성되는, 시스템.
14. 디코더로서,
압축 포인트 클라우드에 대한 패치 이미지들을 포함하는 하나 이상의 인코딩된 이미지 프레임들을 수신하고, 패치 이미지들에 의해 점유되지 않은 하나 이상의 이미지들의 부분들에 패딩하도록;
하나 이상의 인코딩된 이미지 프레임들을 디코딩하도록 - 하나 이상의 이미지 프레임들의 패치 이미지 부분들을 디코딩하는 것에 할당되는 것보다, 하나 이상의 이미지들의 패딩된 부분들을 디코딩하는 것에 더 적은 디코딩 리소스들이 할당됨 -; 그리고
디코딩된 패치 이미지들에 적어도 부분적으로 기초하여 압축 포인트 클라우드의 압축해제 버전을 생성하도록 구성되는, 디코더.
15. 항목 14의 디코더에서, 디코더는,
특정 시점으로부터 가시적이지 않은 포인트 클라우드의 포인트들을 나타내는 정보를 수신하도록 추가로 구성되고,
하나 이상의 이미지들 또는 비가시적 포인트들의 패딩된 부분들은 하나 이상의 이미지들의 비활성 영역들로서 디코더에 의해 프로세싱되는, 디코더.
16. 항목 15의 디코더에서, 디블록킹, 샘플 적응적 오프셋 프로세싱, 적응적 루프 필터링, 또는 디-링잉을 수행할 때, 디코더는 비활성 영역들을 배제하도록 구성되는, 디코더.
17. 항목 15의 디코더에서, 포스트-필터링을 수행할 때, 디코더는 비활성 영역들을 배제하도록 구성되는, 디코더.
18. 항목 15의 디코더에서, 중첩된 블록 모션 보상을 수행할 때, 디코더는 비활성 영역들을 배제하도록 구성되는, 디코더.
19. 항목 15의 디코더에 있어서, 디코더는, 하나 이상의 이미지들의 일정 포인트에 대해 결정된 최종 값이 하나 이상의 이미지들의 활성 또는 비활성 영역에 대응하는지의 여부에 적어도 부분적으로 기초하여 그 최종 값이 클립핑되는 정도를 조정하도록 구성되는, 디코더.
20. 방법으로서,
압축 포인트 클라우드에 대한 패치 이미지들을 포함하는 하나 이상의 인코딩된 이미지 프레임들을 수신하고, 패치 이미지들에 의해 점유되지 않은 하나 이상의 이미지들의 부분들에 패딩하는 단계;
하나 이상의 인코딩된 이미지 프레임들을 디코딩하는 단계 - 하나 이상의 이미지 프레임들의 패치 이미지 부분들을 디코딩하는 것에 할당되는 것보다, 하나 이상의 이미지들의 패딩된 부분들을 디코딩하는 것에 더 적은 디코딩 리소스들이 할당됨 -; 및
디코딩된 패치 이미지들에 적어도 부분적으로 기초하여 압축 포인트 클라우드의 압축해제 버전을 생성하는 단계를 포함하는, 방법.
21. 항목 20의 방법에서,
특정 시점으로부터 가시적이지 않은 포인트 클라우드의 포인트들을 나타내는 정보를 수신하는 단계를 추가로 포함하고,
하나 이상의 이미지들 또는 비가시적 포인트들의 패딩된 부분들은 하나 이상의 이미지들의 비활성 영역들인, 방법.
22. 항목 20의 방법에서,
디블록킹, 샘플 적응적 오프셋 프로세싱, 적응적 루프 필터링, 또는 디-링잉을 수행하는 단계를 추가로 포함하고,
디블록킹, 샘플 적응적 오프셋 프로세싱, 적응적 루프 필터링, 또는 디-링잉을 수행할 때, 비활성 영역들은 디블록킹, 샘플 적응적 오프셋 프로세싱, 적응적 루프 필터링, 또는 디-링잉을 수행하는 상기 단계로부터 배제되는, 방법.
23. 항목 20의 방법에서,
하나 이상의 이미지들을 디코딩하는 단계에 후속하여 하나 이상의 이미지들의 포스트-필터링을 수행하는 단계를 추가로 포함하고,
상기 포스트 필터링을 수행할 때 비활성 영역들이 배제되는, 방법.
24. 항목 20의 방법에서,
압축 포인트 클라우드에 대한 패치 이미지들을 포함하는 하나 이상의 추가적인 인코딩된 이미지 프레임들을 수신하고, 패치 이미지들에 의해 점유되지 않은 하나 이상의 이미지들의 부분들에 패딩하는 단계; 및
이전에 수신된 하나 이상의 이미지들에 대한 하나 이상의 추가 이미지들에 대해 중첩된 블록 모션 보상을 수행하는 단계를 추가로 포함하고,
상기 중첩된 블록 모션 보상을 수행할 때 비활성 영역들이 배제되는, 방법.
25. 항목 20의 방법에서,
하나 이상의 이미지들의 일정 포인트에 대해 결정된 최종 값이 하나 이상의 이미지들의 활성 또는 비활성 영역에 대응하는지의 여부에 적어도 부분적으로 기초하여 그 최종 값을 클립핑하는 단계를 추가로 포함하는, 방법.
26. 시스템으로서,
포인트 클라우드를 구성하는 복수의 포인트들을 캡처하도록 구성되는 하나 이상의 센서들 - 포인트들 중 개개의 포인트들은 포인트에 대한 공간 정보 및 포인트에 대한 속성 정보를 포함함 -; 및
포인트 클라우드를 압축하도록 구성된 인코더를 포함하고, 포인트 클라우드를 압축하기 위해, 인코더는,
포인트 클라우드에 대해, 포인트 클라우드의 부분들에 각각 대응하는 복수의 패치들을 결정하도록, 그리고
각각의 패치에 대해,
패치 평면 상에 투영된, 패치에 대응하는 포인트 세트를 포함하는 패치 이미지를 생성하도록;
포인트 클라우드의 하나 이상의 속성들에 대한 색상 정보를 포함하는 패치 이미지를 생성하도록; 그리고
패치 이미지를 제1 색공간으로부터 제2 색공간으로 변환하도록;
결정된 패치들 각각에 대한 생성된 패치 이미지들을 하나 이상의 이미지 프레임들로 패킹하도록; 그리고
하나 이상의 이미지 프레임들을 인코딩하도록 구성되고,
인코더는, 패치 이미지를 제1 색공간으로부터 제2 색공간으로 변환하여,
패치 이미지들을 생성하고, 생성된 패치 이미지들을 하나 이상의 이미지 프레임들로 패킹하는 것;
상기 하나 이상의 이미지 프레임들을 인코딩하는 것;
하나 이상의 이미지 프레임들을 디코딩하는 것; 및
디코딩된 하나 이상의 이미지 프레임들에 기초하여 포인트 클라우드를 재구성하는 것에 의해 야기되는 왜곡을 보상하는 데 사용되는 하나 이상의 파라미터들을 조정하도록 구성되는, 시스템.
27. 시스템으로서,
포인트 클라우드를 구성하는 복수의 포인트들을 캡처하도록 구성되는 하나 이상의 센서들 - 포인트들 중 개개의 포인트들은 포인트에 대한 공간 정보 및 포인트에 대한 속성 정보를 포함함 -; 및
포인트 클라우드를 압축하도록 구성된 인코더를 포함하고, 포인트 클라우드를 압축하기 위해, 인코더는,
입력 픽셀 값들을 하나 이상의 M-비트 코드 워드들에 맵핑하도록 구성되고, M은 N보다 큰, 시스템.
28. 시스템으로서,
디코더를 포함하고, 상기 디코더는,
M-비트 코드 워드들을 N-비트 데이터에 맵핑하도록 구성되고, M은 N보다 큰, 시스템.
29. 시스템으로서,
포인트 클라우드를 압축하도록 구성된 인코더를 포함하고, 포인트 클라우드를 압축하기 위해, 인코더는,
포인트 클라우드에 대해, 포인트 클라우드의 부분들에 각각 대응하는 복수의 패치들을 결정하고, 각각의 패치에 대해, 패치 이미지를 생성하도록;
패치들 각각에 대한 생성된 패치 이미지들을 하나 이상의 이미지 프레임들로 패킹하도록;
하나 이상의 이미지 프레임들 내의 패치 이미지들의 위치들을 나타내는 점유 맵을 생성하도록;
점유 맵을 인코딩하도록 - 점유 맵을 인코딩하는 것은,
각각의 이미지 프레임의 서브블록들에 이진 값들을 할당하되, 풀 서브블록들 및 풀 아닌 서브블록들이 상이한 속성 값들을 할당받는 것;
유사한 이진 값들을 갖는 서브블록들이 순차적으로 트래버스되도록 서브블록들을 인코딩하기 위한 트래버스 순서를 선택하는 것; 및
트래버스 순서를 인코딩하되, 인코딩된 트래버스 순서는 선택된 트래버스 순서를 디코더에 지시하는 것을 포함함 -; 그리고
하나 이상의 이미지 프레임들을 인코딩하도록 구성되는, 시스템.
30. 시스템으로서,
포인트 클라우드를 구성하는 복수의 포인트들을 캡처하도록 구성되는 하나 이상의 센서들 - 포인트들 중 개개의 포인트들은 포인트에 대한 공간 정보 및 포인트에 대한 속성 정보를 포함함 -; 및
포인트 클라우드를 압축하도록 구성된 인코더를 포함하고, 포인트 클라우드를 압축하기 위해, 인코더는,
포인트 클라우드에 대해, 포인트 클라우드의 부분들에 각각 대응하는 복수의 패치들을 결정하도록;
각각의 패치에 대해,
패치 평면 상에 투영된, 패치에 대응하는 포인트 세트를 포함하는 패치 이미지를 생성하도록; 그리고
패치에 대응하는 포인트 세트에 대한 깊이 정보를 포함하는 패치 이미지, 및 패치에 대응하는 포인트 세트와는 상이한 깊이에서의 포인트 클라우드의 다른 포인트 세트에 대한 깊이 정보를 포함하는 패치 이미지를 생성하도록 - 깊이 정보는 패치 평면에 수직인 방향으로의 포인트들의 깊이들을 표현하고,
다른 포인트 세트에 대한 적어도 일부 기하구조 정보 또는 속성 정보는 포인트 세트와 연관된 기하구조 또는 속성 정보에 기초하여 압축됨 -;
결정된 패치들 각각에 대한 생성된 패치 이미지들을 하나 이상의 이미지 프레임들로 패킹하도록; 그리고
하나 이상의 이미지 프레임들을 인코딩하도록 구성되는, 시스템.
31. 시스템으로서,
포인트 클라우드를 구성하는 복수의 포인트들을 캡처하도록 구성되는 하나 이상의 센서들 - 포인트들 중 개개의 포인트들은 포인트에 대한 공간 정보 및 포인트에 대한 속성 정보를 포함함 -; 및
포인트 클라우드를 압축하도록 구성된 인코더를 포함하고, 포인트 클라우드를 압축하기 위해, 인코더는,
포인트 클라우드에 대해, 포인트 클라우드의 부분들에 각각 대응하는 복수의 패치들을 결정하도록;
각각의 패치에 대해, 패치 평면 상에 투영된, 패치에 대응하는 포인트 세트를 포함하는 패치 이미지를 생성하도록;
결정된 패치들 각각에 대한 생성된 패치 이미지들을 하나 이상의 패치 이미지 프레임들로 패킹하도록;
하나 이상의 패치 이미지 프레임들에 대한 점유 맵 정보를 포함하는 이미지 프레임을 생성하도록 - 점유 맵 정보는 패치 이미지 프레임의 일부분이 패치들 중 하나의 패치를 표현하는지 아니면 패치 이미지 프레임의 패딩된 부분인지를 나타냄 -; 그리고
하나 이상의 이미지 프레임들을 인코딩하도록 구성되는, 시스템.
32. 방법으로서,
포인트 클라우드에 대해, 포인트 클라우드의 부분들에 각각 대응하는 복수의 패치들을 결정하는 단계;
각각의 패치에 대해, 패치 평면 상에 투영된, 패치에 대응하는 포인트 세트를 포함하는 패치 이미지를 생성하는 단계;
결정된 패치들 각각에 대한 생성된 패치 이미지들을 하나 이상의 패치 이미지 프레임들로 패킹하는 단계;
하나 이상의 패치 이미지 프레임들에 대한 점유 맵 정보를 포함하는 이미지 프레임을 생성하는 단계 - 점유 맵 정보는 패치 이미지 프레임의 일부분이 패치들 중 하나의 패치를 표현하는지 아니면 패치 이미지 프레임의 패딩된 부분인지를 나타냄 -; 및
하나 이상의 이미지 프레임들을 인코딩하는 단계를 포함하는, 방법.
33. 프로그램 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서, 프로그램 명령어들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금,
포인트 클라우드에 대해, 포인트 클라우드의 부분들에 각각 대응하는 복수의 패치들을 결정하는 것;
각각의 패치에 대해, 패치 평면 상에 투영된, 패치에 대응하는 포인트 세트를 포함하는 패치 이미지를 생성하는 것;
결정된 패치들 각각에 대한 생성된 패치 이미지들을 하나 이상의 패치 이미지 프레임들로 패킹하는 것;
하나 이상의 패치 이미지 프레임들에 대한 점유 맵 정보를 포함하는 이미지 프레임을 생성하는 것 - 점유 맵 정보는 패치 이미지 프레임의 일부분이 패치들 중 하나의 패치를 표현하는지 아니면 패치 이미지 프레임의 패딩된 부분인지를 나타냄 -; 및
하나 이상의 이미지 프레임들을 인코딩하는 것을 수행하게 하는, 비일시적 컴퓨터 판독가능 매체.
34. 시스템으로서,
포인트 클라우드를 구성하는 복수의 포인트들을 캡처하도록 구성되는 하나 이상의 센서들 - 포인트들 중 개개의 포인트들은 포인트에 대한 공간 정보 및 포인트에 대한 속성 정보를 포함함 -; 및
포인트 클라우드를 압축하도록 구성된 인코더를 포함하고, 포인트 클라우드를 압축하기 위해, 인코더는,
포인트 클라우드에 대해, 포인트 클라우드의 부분들에 각각 대응하는 복수의 패치들을 결정하도록;
각각의 패치에 대해, 패치 평면 상에 투영된, 패치에 대응하는 포인트 세트를 포함하는 패치 이미지를 생성하도록;
결정된 패치들 각각에 대한 생성된 패치 이미지들을 하나 이상의 패치 이미지 프레임들로 패킹하도록;
패치 이미지들에 기초하여 포인트 클라우드의 재구성된 버전을 생성하도록;
포인트 클라우드의 재구성된 버전으로부터 생략된 포인트 클라우드 내에 포함된 하나 이상의 포인트들을 결정하도록; 그리고
하나 이상의 생략된 포인트들에 대한 하나 이상의 이미지 프레임들 및 공간 또는 속성 정보를 인코딩하도록 - 하나 이상의 생략된 포인트들은 하나 이상의 생략된 포인트들에 대한 추가 패치들을 결정하지 않고서 압축됨 - 구성되는, 시스템.
35. 방법으로서,
포인트 클라우드에 대해, 포인트 클라우드의 부분들에 각각 대응하는 복수의 패치들을 결정하는 단계;
각각의 패치에 대해, 패치 평면 상에 투영된, 패치에 대응하는 포인트 세트를 포함하는 패치 이미지를 생성하는 단계;
결정된 패치들 각각에 대한 생성된 패치 이미지들을 하나 이상의 패치 이미지 프레임들로 패킹하는 단계;
패치 이미지들에 기초하여 포인트 클라우드의 재구성된 버전을 생성하는 단계;
포인트 클라우드의 재구성된 버전으로부터 생략된 포인트 클라우드 내에 포함된 하나 이상의 포인트들을 결정하는 단계; 및
하나 이상의 생략된 포인트들에 대한 하나 이상의 이미지 프레임들 및 공간 또는 속성 정보를 인코딩하는 단계 - 하나 이상의 생략된 포인트들은 하나 이상의 생략된 포인트들에 대한 추가 패치들을 결정하지 않고서 압축됨 - 를 포함하는, 방법.
36. 프로그램 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서, 프로그램 명령어들은, 하나 이상의 프로세서들에 의해 실행될 때, 하나 이상의 프로세서들로 하여금,
포인트 클라우드에 대해, 포인트 클라우드의 부분들에 각각 대응하는 복수의 패치들을 결정하는 것;
각각의 패치에 대해, 패치 평면 상에 투영된, 패치에 대응하는 포인트 세트를 포함하는 패치 이미지를 생성하는 것;
결정된 패치들 각각에 대한 생성된 패치 이미지들을 하나 이상의 패치 이미지 프레임들로 패킹하는 것;
패치 이미지들에 기초하여 포인트 클라우드의 재구성된 버전을 생성하는 것;
포인트 클라우드의 재구성된 버전으로부터 생략된 포인트 클라우드 내에 포함된 하나 이상의 포인트들을 결정하는 것; 및
하나 이상의 생략된 포인트들에 대한 하나 이상의 이미지 프레임들 및 공간 또는 속성 정보를 인코딩하는 것 - 하나 이상의 생략된 포인트들은 하나 이상의 생략된 포인트들에 대한 추가 패치들을 결정하지 않고서 압축됨 - 을 수행하게 하는, 비일시적 컴퓨터 판독가능 매체.
37. 시스템으로서,
포인트 클라우드를 구성하는 복수의 포인트들을 캡처하도록 구성되는 하나 이상의 센서들 - 포인트들 중 개개의 포인트들은 포인트에 대한 공간 정보 및 포인트에 대한 속성 정보를 포함함 -; 및
포인트 클라우드를 압축하도록 구성된 인코더를 포함하고, 포인트 클라우드를 압축하기 위해, 인코더는,
포인트 클라우드에 대해, 포인트 클라우드의 부분들에 각각 대응하는 복수의 패치들을 결정하도록,
결정된 패치들 각각에 대한 생성된 패치 이미지들을 하나 이상의 이미지 프레임들로 패킹하도록;
하나 이상의 이미지 프레임들을 다운-스케일링하도록; 그리고
하나 이상의 이미지 프레임들을 인코딩하도록 구성되는, 시스템.
38. 시스템으로서,
포인트 클라우드를 압축해제하도록 구성된 디코더를 포함하고, 포인트 클라우드를 압축해제하기 위해, 디코더는,
포인트 클라우드에 대해, 복수의 비디오 프레임들에 포함되는 복수의 패치들을 결정하도록 - 패치들 중 개개의 패치들이 포인트 클라우드의 개개의 부분들에 대응하고, 복수의 패치들은 하나 이상의 비디오 프레임들에 대한 점유 맵 정보 또는 보조 패치 정보에 기초하여 결정됨 -; 그리고
유사한 방식으로 포인트 클라우드의 동일한 부분에 대응하는 비디오 프레임들 중 상이한 비디오 프레임들 내의 패치들을 프로세싱 또는 필터링하도록 - 점유 맵 정보 또는 보조 패치 정보는 포인트 클라우드의 동일한 부분에 대응하는 비디오 프레임들 중 상이한 비디오 프레임들 내의 패치들을 결정하는 데 이용됨 - 구성되는, 시스템.
39. 시스템으로서,
포인트 클라우드를 구성하는 복수의 포인트들을 캡처하도록 구성되는 하나 이상의 센서들 - 포인트들 중 개개의 포인트들은 포인트에 대한 공간 정보 및 포인트에 대한 속성 정보를 포함함 -; 및
포인트 클라우드를 압축하도록 구성된 인코더를 포함하고, 포인트 클라우드를 압축하기 위해, 인코더는,
포인트 클라우드에 대해, 포인트 클라우드의 부분들에 각각 대응하는 복수의 패치들을 결정하도록,
결정된 패치들 각각에 대한 생성된 패치 이미지들을 하나 이상의 이미지 프레임들로 패킹하도록; 그리고
네트워크 추출 계층(NAL) 유닛들을 포함하는 비트 스트림 구조를 사용하여 하나 이상의 이미지 프레임들을 인코딩하도록 - 상이한 NAL 유닛들은 상이한 특정 타입들의 정보를 나타내고, NAL 유닛들은 비트 스트림 내의 사전정의된 위치에 따라 비트 스트림 내에 배치되도록 요구되지 않음 - 구성되는, 시스템.

Claims (20)

  1. 프로그램 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서,
    상기 프로그램 명령어들은 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    3차원 장면에 대해, 상기 3차원 장면의 부분들에 각각 대응하는 복수의 패치들을 결정하고 - 각각의 패치는 서로로부터 임계량보다 적게 벗어나는 표면 법선 벡터들을 갖는 포인트들을 포함함 -;
    각각의 패치에 대해,
    패치 평면 상에 투영된, 상기 패치에 대응하는 포인트 세트를 포함하는 패치 이미지를 생성하고;
    상기 패치에 대응하는 상기 포인트 세트에 대한 깊이 정보를 포함하는 패치 이미지를 생성하고 - 상기 깊이 정보는 상기 패치 평면에 수직인 방향으로의 상기 포인트들의 깊이들을 표현함 -;
    상기 결정된 패치들 각각에 대한 생성된 패치 이미지들을 하나 이상의 2차원(2D) 이미지 프레임들로 패킹(pack)하고;
    상기 하나 이상의 2D 이미지 프레임들을 인코딩하게 하는, 비일시적 컴퓨터 판독가능 매체.
  2. 제1항에 있어서,
    상기 프로그램 명령어들은 또한 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    각각의 패치에 대해,
    상기 패치에 대응하는 상기 포인트 세트의 하나 이상의 속성들에 대한 속성 정보를 포함하는 패치 이미지를 생성하게 하고;
    상기 결정된 패치들에 대한 생성된 패치 이미지들을 하나 이상의 2D 이미지 프레임들로 패킹하는 것은 속성 정보를 포함하는 상기 패치 이미지들을 패킹하는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  3. 제1항에 있어서,
    상기 프로그램 명령어들은 또한 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    패치 이미지에 의해 점유되지 않는 상기 하나 이상의 2D 이미지 프레임들 내의 하나 이상의 공간들을 패딩 이미지로 충전하게 하는, 비일시적 컴퓨터 판독가능 매체.
  4. 제3항에 있어서,
    상기 프로그램 명령어들은 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    상기 패치 이미지들의 하나 이상의 에지들에서의 이미지 블록들에 적어도 부분적으로 기초하여 상기 패딩 이미지를 생성하게 하고, 상기 패딩 이미지는 상기 패딩 이미지와 상기 이미지 블록들 사이의 변동(variance)들이 임계량보다 작도록 선택되는, 비일시적 컴퓨터 판독가능 매체.
  5. 제1항에 있어서,
    상기 프로그램 명령어들은 또한 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    상기 하나 이상의 2D 이미지 프레임들 내의 패치 이미지들의 위치들을 나타내는 점유 맵을 생성하고;
    상기 점유 맵을 인코딩하게 하는, 비일시적 컴퓨터 판독가능 매체.
  6. 제1항에 있어서,
    상기 프로그램 명령어들은 또한 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    제1 시간 포인트에서 상기 3차원 장면을 구성하는 제1 복수의 포인트들을 수신하고;
    상기 제1 시간 포인트에 후속하는 후속 시간 포인트에서 상기 3차원 장면을 구성하는 제2 복수의 포인트들을 수신하고 - 상기 3차원 장면의 포인트들 중 적어도 일부는 상기 제1 시간 포인트와 상기 후속 시간 포인트 사이에서 이동하였음 -;
    상기 제1 시간 포인트와 상기 후속 시간 포인트 사이의 적어도 일부 포인트들의 벡터 이동들을 결정하고;
    이동된 포인트들을 포함하는 각각의 패치에 대해, 상기 패치에 대응하는 상기 포인트 세트의 포인트들 중 이동했던 적어도 일부의 포인트들에 대한 벡터 이동 정보를 포함하는 패치 이미지를 생성하게 하며, 일정 포인트에 대한 벡터 성분 방향의 이동은 상기 패치 이미지에서 상기 포인트에서의 색상의 세기에 의해 표현되는, 비일시적 컴퓨터 판독가능 매체.
  7. 제1항에 있어서, 상기 프로그램 명령어들은 상기 하나 이상의 프로세서로 하여금 상기 하나 이상의 2D 이미지 프레임들을 고효율 비디오 코딩(high efficiency video coding, HEVC) 표준에 따라 인코딩하게 하는, 비일시적 컴퓨터 판독가능 매체.
  8. 프로그램 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서,
    상기 프로그램 명령어들은 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    압축 3차원 장면의 복수의 패치들에 대한 패치 이미지들을 포함하는 하나 이상의 인코딩된 2차원(2D) 이미지 프레임들을 수신하고 - 각각의 패치에 대해, 상기 하나 이상의 인코딩된 2D 이미지 프레임들은 패치 평면 상에 투영된 상기 패치의 포인트 세트를 포함하는 패치 이미지 및 상기 패치의 포인트 세트에 대한 깊이 정보를 포함하는 패치 이미지를 포함하고, 상기 깊이 정보는 상기 패치 평면에 수직인 방향으로의 상기 패치의 포인트들의 깊이들을 나타냄 -;
    상기 패치 이미지들을 포함하는 상기 하나 이상의 인코딩된 2D 이미지 프레임들을 디코딩하고;
    각각의 패치에 대해, 상기 패치 평면 상에 투영된 상기 패치의 포인트 세트를 포함하는 상기 패치 이미지 및 상기 패치의 포인트 세트에 대한 상기 깊이 정보를 포함하는 상기 패치 이미지에 적어도 부분적으로 기초하여 상기 패치의 포인트 세트에 대한 공간 정보를 결정하고;
    상기 복수의 패치들에 대한 상기 결정된 공간 정보에 적어도 부분적으로 기초하여 상기 압축 3차원 장면의 압축해제 버전을 생성하게 하는, 비일시적 컴퓨터 판독가능 매체.
  9. 제8항에 있어서,
    상기 프로그램 명령어들은 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    상기 하나 이상의 인코딩된 2D 이미지 프레임들을 고효율 비디오 코딩(HEVC) 표준에 따라 디코딩하게 하는, 비일시적 컴퓨터 판독가능 매체.
  10. 제8항에 있어서, 각각의 패치에 대해, 상기 패치 평면 상에 투영된 상기 패치의 포인트 세트를 포함하는 상기 패치 이미지 및 상기 패치의 포인트 세트에 대한 상기 깊이 정보를 포함하는 상기 패치 이미지에 적어도 부분적으로 기초하여 상기 패치에 대한 상기 포인트 세트에 대한 공간 정보를 결정하기 위해, 상기 프로그램 명령어들은 또한 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    상기 패치 평면 상에 투영된 상기 패치의 포인트 세트를 포함하는 상기 패치 이미지를 식별하고;
    상기 패치의 포인트 세트에 대한 상기 깊이 정보를 포함하는 상기 패치 이미지를 식별하고 - 상기 깊이 정보는 상기 패치의 포인트 세트의 포인트들 중 개개의 포인트들에 대한 개개의 깊이 정보들이 상기 패치 평면 상에 투영된 상기 패치의 포인트 세트를 포함하는 상기 패치 이미지 내의 포인트들 중 개개의 포인트들의 위치들에 대응하는 깊이 패치 이미지 내의 위치들에서 위치되도록 구성됨 -; 그리고
    상기 패치 평면 상에 투영된 상기 패치의 포인트 세트를 포함하는 상기 패치 이미지의 개개의 포인트들에 개개의 깊이 정보들을 매칭시키게 하는, 비일시적 컴퓨터 판독가능 매체.
  11. 제10항에 있어서, 상기 하나 이상의 인코딩된 2D 이미지 프레임들은 상기 패치들 중 적어도 하나의 패치에 대한 속성 정보를 포함하는 패치 이미지를 추가로 포함하고,
    상기 프로그램 명령어들은 또한 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    속성 정보를 포함하는 상기 패치 이미지를 식별하고;
    상기 적어도 하나의 패치의 포인트 세트의 포인트들 중 개개의 포인트들에 상기 패치 이미지에 포함된 속성 정보를 할당하게 하며,
    상기 패치 이미지에 포함된 상기 속성 정보는 상기 패치 평면 상에 투영된 상기 패치의 포인트 세트를 포함하는 상기 패치 이미지에 포함된 바와 같은 상기 적어도 하나의 패치의 포인트 세트의 포인트들 중 개개의 포인트들에 대한 개개의 속성 정보들이 상기 패치의 포인트 세트의 포인트들 중 상기 개개의 포인트들의 위치들에 대응하는 상기 패치 이미지 내의 위치들에서 위치되도록 구성되는, 비일시적 컴퓨터 판독가능 매체.
  12. 제11항에 있어서,
    상기 프로그램 명령어들은 또한 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    상기 하나 이상의 인코딩된 2D 이미지 프레임들 내의 개개의 패치 이미지들의 위치들을 나타내는 점유 맵을 수신하고;
    상기 수신된 점유 맵을 활용하여, 상기 하나 이상의 인코딩된 2D 이미지 프레임들 내의 개개의 패치 이미지들을 식별하게 하는, 비일시적 컴퓨터 판독가능 매체.
  13. 제12항에 있어서, 상기 점유 맵은 패치 이미지들에 대한 데이터를 포함하지 않는 상기 하나 이상의 인코딩된 2D 이미지 프레임들의 부분들을 추가로 나타내고, 상기 프로그램 명령어들은 또한 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    패치 이미지들에 대한 데이터를 포함하는 상기 하나 이상의 인코딩된 2D 이미지 프레임들의 다른 부분들을 디코딩하는 것에 계상(budget)되는 디코딩 리소스들의 양보다, 패치 이미지들에 대한 데이터를 포함하지 않는 상기 하나 이상의 인코딩된 2D 이미지 프레임들의 부분들을 디코딩하는 것에 더 적은 디코딩 리소스들을 계상하게 하는, 비일시적 컴퓨터 판독가능 매체.
  14. 제13항에 있어서, 상기 하나 이상의 인코딩된 2D 이미지 프레임들은 복수의 블록들로서 인코딩되고;
    상기 프로그램 명령어들은 또한 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    이미지 프레임의 각각의 블록에 대해,
    상기 점유 맵에 기초하여, 상기 블록이 패치 이미지에 대한 데이터만을 포함하는지, 비-패치 이미지 데이터만을 포함하는지, 아니면 패치 이미지에 대한 데이터와 비-패치 이미지 데이터의 혼합을 포함하는지를 결정하고;
    비-패치 이미지 데이터만을 포함하는 블록들에 대해, 더 낮은 레벨의 디코딩 리소스들을 계상하고;
    패치 이미지 데이터만을 포함하는 블록들에 대해, 높은 레벨의 디코딩 리소스들을 계상하고;
    패치 이미지에 대한 데이터와 비-패치 이미지 데이터의 혼합을 포함하는 블록들에 대해, 상기 블록을 서브블록들로 나누게 하며, 비-패치 이미지 데이터를 포함하는 서브블록들에는 패치 이미지들에 대한 데이터를 포함하는 서브블록들보다 더 적은 디코딩 리소스들이 계상되는, 비일시적 컴퓨터 판독가능 매체.
  15. 디바이스로서,
    프로그램 명령어들을 저장하는 메모리; 및
    하나 이상의 프로세서를 포함하고,
    상기 프로그램 명령어들은, 하나 이상의 프로세서 상에서 또는 그에 걸쳐 실행될 때, 상기 하나 이상의 프로세서로 하여금:
    3차원 장면에 대해, 상기 3차원 장면의 부분들에 각각 대응하는 복수의 패치들을 결정하고 - 각각의 패치는 서로로부터 임계량보다 적게 벗어나는 표면 법선 벡터들을 갖는 포인트들을 포함함 -;
    각각의 패치에 대해,
    패치 평면 상에 투영된, 상기 패치에 대응하는 포인트 세트를 포함하는 패치 이미지를 생성하고;
    상기 패치에 대응하는 상기 포인트 세트에 대한 깊이 정보를 포함하는 패치 이미지를 생성하고 - 상기 깊이 정보는 상기 패치 평면에 수직인 방향으로의 상기 포인트들의 깊이들을 표현함 -;
    상기 결정된 패치들 각각에 대한 생성된 패치 이미지들을 하나 이상의 2차원(2D) 이미지 프레임들로 패킹(pack)하고;
    상기 하나 이상의 2D 이미지 프레임들을 인코딩하게 하는, 디바이스.
  16. 제15항에 있어서,
    상기 프로그램 명령어들은 또한 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    각각의 패치에 대해,
    상기 패치에 대응하는 상기 포인트 세트의 하나 이상의 속성들에 대한 속성 정보를 포함하는 패치 이미지를 생성하게 하고;
    상기 결정된 패치들에 대한 생성된 패치 이미지들을 하나 이상의 2D 이미지 프레임들로 패킹하는 것은 속성 정보를 포함하는 상기 패치 이미지들을 패킹하는 것을 포함하는, 디바이스.
  17. 제15항에 있어서,
    상기 프로그램 명령어들은 또한 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    패치 이미지에 의해 점유되지 않는 상기 하나 이상의 2D 이미지 프레임들 내의 하나 이상의 공간들을 패딩 이미지로 충전하게 하는, 디바이스.
  18. 제15항에 있어서,
    상기 프로그램 명령어들은 또한 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    상기 하나 이상의 2D 이미지 프레임들 내의 패치 이미지들의 위치들을 나타내는 점유 맵을 생성하고;
    상기 점유 맵을 인코딩하게 하는, 디바이스.
  19. 제15항에 있어서,
    상기 3차원 장면을 구성하는 복수의 포인트들을 캡처하도록 구성된 하나 이상의 센서를 더 포함하고, 상기 포인트들 각각은 상기 포인트에 대한 공간 정보 및 상기 포인트에 대한 속성 정보를 포함하는, 디바이스.
  20. 제19항에 있어서,
    상기 프로그램 명령어들은 또한 상기 하나 이상의 프로세서 상에서 또는 상기 하나 이상의 프로세서에 걸쳐 실행될 때 상기 하나 이상의 프로세서로 하여금:
    상기 하나 이상의 센서로 하여금 제1 시간 포인트에서 상기 3차원 장면을 구성하는 제1 복수의 포인트들을 캡처하게 하고;
    상기 하나 이상의 센서로 하여금 상기 제1 시간 포인트에 후속하는 후속 시간 포인트에서 상기 3차원 장면을 구성하는 제2 복수의 포인트들을 캡처하게 하고 - 상기 3차원 장면의 포인트들 중 적어도 일부는 상기 제1 시간 포인트와 상기 후속 시간 포인트 사이에서 이동하였음 -;
    상기 제1 시간 포인트와 상기 후속 시간 포인트 사이의 적어도 일부 포인트들의 벡터 이동들을 결정하고;
    이동된 포인트들을 포함하는 각각의 패치에 대해, 상기 패치에 대응하는 상기 포인트 세트의 포인트들 중 이동했던 적어도 일부의 포인트들에 대한 벡터 이동 정보를 포함하는 패치 이미지를 생성하게 하며, 일정 포인트에 대한 벡터 성분 방향의 이동은 상기 패치 이미지에서 상기 포인트에서의 색상의 세기에 의해 표현되는, 디바이스.
KR1020217041003A 2017-09-18 2018-09-18 포인트 클라우드 압축 KR102398408B1 (ko)

Applications Claiming Priority (30)

Application Number Priority Date Filing Date Title
US201762560163P 2017-09-18 2017-09-18
US201762560165P 2017-09-18 2017-09-18
US62/560,163 2017-09-18
US62/560,165 2017-09-18
US201762569604P 2017-10-08 2017-10-08
US201762569603P 2017-10-08 2017-10-08
US62/569,604 2017-10-08
US62/569,603 2017-10-08
US201762590195P 2017-11-22 2017-11-22
US201762590206P 2017-11-22 2017-11-22
US201762590191P 2017-11-22 2017-11-22
US62/590,195 2017-11-22
US62/590,206 2017-11-22
US62/590,191 2017-11-22
US201862655763P 2018-04-10 2018-04-10
US62/655,763 2018-04-10
US201862691572P 2018-06-28 2018-06-28
US62/691,572 2018-06-28
US201862693376P 2018-07-02 2018-07-02
US201862693379P 2018-07-02 2018-07-02
US62/693,379 2018-07-02
US62/693,376 2018-07-02
US201862694124P 2018-07-05 2018-07-05
US62/694,124 2018-07-05
US201862697369P 2018-07-12 2018-07-12
US62/697,369 2018-07-12
US16/132,230 US10909725B2 (en) 2017-09-18 2018-09-14 Point cloud compression
US16/132,230 2018-09-14
KR1020207007975A KR102340774B1 (ko) 2017-09-18 2018-09-18 포인트 클라우드 압축
PCT/US2018/051448 WO2019055963A1 (en) 2017-09-18 2018-09-18 COMPRESSION OF CLOUD OF POINTS

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207007975A Division KR102340774B1 (ko) 2017-09-18 2018-09-18 포인트 클라우드 압축

Publications (2)

Publication Number Publication Date
KR20210154893A KR20210154893A (ko) 2021-12-21
KR102398408B1 true KR102398408B1 (ko) 2022-05-13

Family

ID=65719324

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207007975A KR102340774B1 (ko) 2017-09-18 2018-09-18 포인트 클라우드 압축
KR1020217041003A KR102398408B1 (ko) 2017-09-18 2018-09-18 포인트 클라우드 압축

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020207007975A KR102340774B1 (ko) 2017-09-18 2018-09-18 포인트 클라우드 압축

Country Status (5)

Country Link
US (3) US10909725B2 (ko)
KR (2) KR102340774B1 (ko)
CN (1) CN111133476B (ko)
DE (1) DE112018005250T5 (ko)
WO (1) WO2019055963A1 (ko)

Families Citing this family (200)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10474927B2 (en) * 2015-09-03 2019-11-12 Stc. Unm Accelerated precomputation of reduced deformable models
US11514613B2 (en) * 2017-03-16 2022-11-29 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
WO2019013430A1 (en) * 2017-07-10 2019-01-17 Samsung Electronics Co., Ltd. COMPRESSION OF MAILLAGES AND POINT CLOUDS USING IMAGE / VIDEO CODECS
EP3432581A1 (en) * 2017-07-21 2019-01-23 Thomson Licensing Methods, devices and stream for encoding and decoding volumetric video
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
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US10909725B2 (en) * 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US11113845B2 (en) 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
US10424083B2 (en) * 2017-10-21 2019-09-24 Samsung Electronics Co., Ltd. Point cloud compression using hybrid transforms
US10607373B2 (en) 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
US10789733B2 (en) 2017-11-22 2020-09-29 Apple Inc. Point cloud compression with multi-layer projection
US10699444B2 (en) 2017-11-22 2020-06-30 Apple Inc Point cloud occupancy map compression
US10783668B2 (en) * 2017-12-22 2020-09-22 Samsung Electronics Co., Ltd. Handling duplicate points in point cloud compression
WO2019142667A1 (ja) * 2018-01-17 2019-07-25 ソニー株式会社 画像処理装置および方法
EP3515068A1 (en) * 2018-01-19 2019-07-24 Thomson Licensing A method and apparatus for encoding and decoding three-dimensional scenes in and from a data stream
WO2019185983A1 (en) * 2018-03-28 2019-10-03 Nokia Technologies Oy A method, an apparatus and a computer program product for encoding and decoding digital volumetric video
US10909727B2 (en) 2018-04-10 2021-02-02 Apple Inc. Hierarchical point cloud compression with smoothing
US10909726B2 (en) 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US10939129B2 (en) 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
EP3777183A1 (en) * 2018-04-11 2021-02-17 InterDigital VC Holdings, Inc. 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
KR20200140256A (ko) * 2018-04-11 2020-12-15 소니 주식회사 화상 처리 장치 및 방법
EP3554082A1 (en) * 2018-04-11 2019-10-16 InterDigital VC Holdings, Inc. A method and device for coding the geometry of a point cloud
JPWO2019198523A1 (ja) * 2018-04-11 2021-05-13 ソニーグループ株式会社 画像処理装置および方法
WO2019198522A1 (ja) * 2018-04-11 2019-10-17 ソニー株式会社 画像処理装置および方法
CN108833927B (zh) * 2018-05-03 2019-08-16 北京大学深圳研究生院 一种基于删除量化矩阵中0元素的点云属性压缩方法
EP3791593A4 (en) * 2018-05-09 2022-03-30 Nokia Technologies Oy METHOD AND APPARATUS FOR CODING AND DECODING VOLUMETRIC VIDEO DATA
US10848768B2 (en) * 2018-06-08 2020-11-24 Sony Interactive Entertainment Inc. Fast region of interest coding using multi-segment resampling
BR112020026591A2 (pt) 2018-06-26 2021-03-23 Huawei Technologies Co., Ltd. Projetos de sintaxe de alto nível para codificação de nuvem de pontos
US11017566B1 (en) 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
EP3591975A1 (en) * 2018-07-03 2020-01-08 Industrial Technology Research Institute Method and apparatus for processing patches of a point cloud
US11202098B2 (en) 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
US10904564B2 (en) * 2018-07-10 2021-01-26 Tencent America LLC Method and apparatus for video coding
EP3595179B1 (en) * 2018-07-10 2023-07-05 BlackBerry Limited Methods and devices for lossy coding of point cloud occupancy
US11348283B2 (en) * 2018-07-10 2022-05-31 Samsung Electronics Co., Ltd. Point cloud compression via color smoothing of point cloud prior to texture video generation
SG11202011678XA (en) * 2018-07-11 2020-12-30 Interdigital Vc Holdings Inc Method for encoding/decoding texture of points of a point cloud
EP3821399A1 (en) * 2018-07-11 2021-05-19 InterDigital VC Holdings, Inc. A method and device for encoding/decoding the geometry of a point cloud
MX2020013705A (es) * 2018-07-11 2021-03-02 Sony Corp Aparato de procesamiento de imagen y metodo de procesamiento de imagen.
BR112021000044A2 (pt) * 2018-07-11 2021-03-30 Sony Corporation Aparelho e método de processamento de imagem
US11012713B2 (en) 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
US20210266575A1 (en) * 2018-07-18 2021-08-26 Telefonaktiebolaget Lm Ericsson (Publ) Video-based coding of point cloud occcupancy map
JP2021182650A (ja) * 2018-07-20 2021-11-25 ソニーグループ株式会社 画像処理装置および方法
JP7331852B2 (ja) * 2018-08-02 2023-08-23 ソニーグループ株式会社 画像処理装置および方法
WO2020055865A1 (en) * 2018-09-14 2020-03-19 Futurewei Technologies, Inc. Improved attribute support in point cloud coding
US10650554B2 (en) * 2018-09-27 2020-05-12 Sony Corporation Packing strategy signaling
US11386524B2 (en) 2018-09-28 2022-07-12 Apple Inc. Point cloud compression image padding
JP2022003716A (ja) * 2018-10-01 2022-01-11 ソニーグループ株式会社 画像処理装置および方法
WO2020072579A1 (en) * 2018-10-02 2020-04-09 Futurewei Technologies, Inc. Motion estimation using 3d auxiliary data
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
CN112956204A (zh) * 2018-10-05 2021-06-11 交互数字Vc控股公司 一种用于编码/重建3d点的方法和设备
CN110163863B (zh) 2018-11-06 2022-11-04 腾讯科技(深圳)有限公司 三维物体分割方法、设备和介质
CN109448373A (zh) * 2018-11-09 2019-03-08 百度在线网络技术(北京)有限公司 用于生成信息的方法和装置
EP3883246A4 (en) * 2018-11-13 2021-12-15 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
WO2020122675A1 (ko) * 2018-12-13 2020-06-18 삼성전자주식회사 3차원 메쉬 컨텐트를 압축하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
US11095900B2 (en) * 2018-12-19 2021-08-17 Sony Group Corporation Point cloud coding structure
JP2022036353A (ja) * 2018-12-28 2022-03-08 ソニーグループ株式会社 画像処理装置および方法
WO2020145117A1 (ja) * 2019-01-07 2020-07-16 ソニー株式会社 画像処理装置および方法
US11412200B2 (en) * 2019-01-08 2022-08-09 Samsung Electronics Co., Ltd. Method of processing and transmitting three-dimensional content
US11348284B2 (en) 2019-01-08 2022-05-31 Apple Inc. Auxiliary information signaling and reference management for projection-based point cloud compression
US11250594B2 (en) * 2019-01-09 2022-02-15 Tencent America LLC Method and apparatus for geometry smoothing by local geometry projection
US11373338B2 (en) * 2019-01-09 2022-06-28 Samsung Electronics Co., Ltd. Image padding in video-based point-cloud compression CODEC
US11127166B2 (en) 2019-03-01 2021-09-21 Tencent America LLC Method and apparatus for enhanced patch boundary identification for point cloud compression
US11423582B2 (en) * 2019-03-01 2022-08-23 Tencent America LLC Method and apparatus for point cloud compression
US11393132B2 (en) * 2019-03-07 2022-07-19 Samsung Electronics Co., Ltd. Mesh compression
CN113519011A (zh) * 2019-03-08 2021-10-19 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
CN116156192A (zh) * 2019-03-12 2023-05-23 华为技术有限公司 用于点云数据的点云块数据单元编码和解码
US11823421B2 (en) * 2019-03-14 2023-11-21 Nokia Technologies Oy Signalling of metadata for volumetric video
US20220130075A1 (en) * 2019-03-15 2022-04-28 Lg Electronics Inc. Device and method for processing point cloud data
US11107249B2 (en) * 2019-03-18 2021-08-31 Sony Group Corporation Point cloud global tetris packing
US11334969B2 (en) * 2019-03-19 2022-05-17 Sony Group Corporation Point cloud geometry padding
EP3712854A1 (en) * 2019-03-19 2020-09-23 Nokia Technologies Oy Method and apparatus for storage and signaling of static point cloud data
CN114208200A (zh) * 2019-03-22 2022-03-18 交互数字Vc控股法国公司 处理点云
US12010350B2 (en) 2019-03-22 2024-06-11 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2020197086A1 (ko) * 2019-03-25 2020-10-01 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11475604B2 (en) * 2019-03-26 2022-10-18 Tencent America LLC Method and apparatus for adaptive point cloud attribute coding
US11057564B2 (en) 2019-03-28 2021-07-06 Apple Inc. Multiple layer flexure for supporting a moving image sensor
CN111866484B (zh) * 2019-04-30 2023-06-20 华为技术有限公司 点云编码方法、点云解码方法、装置及存储介质
CN111901601B (zh) * 2019-05-06 2023-03-31 上海交通大学 动态点云数据传输中的不等差错保护的码率分配方法
US11604284B2 (en) * 2019-05-06 2023-03-14 Waymo Llc Methods and systems to determine a strategy for a drop process associated with a light detection and ranging (LIDAR) device
US11210812B2 (en) 2019-05-15 2021-12-28 Samsung Electronics Co., Ltd. Single-pass boundary detection in video-based point cloud compression
WO2020235979A1 (ko) * 2019-05-23 2020-11-26 삼성전자 주식회사 포인트 클라우드 기반 데이터를 렌더링하는 방법 및 장치
US11210813B2 (en) * 2019-05-30 2021-12-28 Tencent America LLC Method and apparatus for point cloud compression
US11113866B2 (en) * 2019-05-30 2021-09-07 Tencent America LLC Method and apparatus for point cloud compression
WO2020240032A1 (en) * 2019-05-31 2020-12-03 Volkswagen Aktiengesellschaft System, method, and components utilizing live point cloud compression
WO2020246689A1 (ko) * 2019-06-05 2020-12-10 엘지전자 주식회사 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2020251158A1 (ko) * 2019-06-12 2020-12-17 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11108406B2 (en) * 2019-06-19 2021-08-31 Intel Corporation System, apparatus and method for dynamic priority-aware compression for interconnect fabrics
EP3992910A4 (en) * 2019-06-28 2022-09-07 LG Electronics Inc. APPARATUS AND METHOD FOR PROCESSING POINT CLOUD DATA
CN113811922A (zh) * 2019-07-01 2021-12-17 Oppo广东移动通信有限公司 点云模型重建方法、编码器、解码器、及存储介质
US11711544B2 (en) 2019-07-02 2023-07-25 Apple Inc. Point cloud compression with supplemental information messages
WO2021002592A1 (ko) * 2019-07-03 2021-01-07 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11122102B2 (en) * 2019-07-03 2021-09-14 Lg Electronics Inc. Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus and point cloud data reception method
CN112188199B (zh) 2019-07-03 2024-05-10 腾讯美国有限责任公司 自适应点云属性编码的方法、装置、电子设备和存储介质
US11140395B2 (en) * 2019-07-03 2021-10-05 Tencent America LLC Method and apparatus for adaptive point cloud attribute coding
WO2021002633A2 (ko) * 2019-07-04 2021-01-07 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2021002657A1 (ko) * 2019-07-04 2021-01-07 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN110278444B (zh) * 2019-07-17 2022-11-01 华侨大学 一种采用几何引导的稀疏表示三维点云压缩方法
US20220319053A1 (en) * 2019-08-02 2022-10-06 Lg Electronics Inc. Point cloud data processing device and method
WO2021025546A1 (ko) * 2019-08-08 2021-02-11 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2021029511A1 (ko) * 2019-08-09 2021-02-18 엘지전자 주식회사 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2021029155A1 (ja) * 2019-08-14 2021-02-18 ソニー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
WO2021029575A1 (ko) * 2019-08-14 2021-02-18 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN114270832A (zh) * 2019-08-14 2022-04-01 Lg电子株式会社 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
WO2021029662A1 (ko) * 2019-08-14 2021-02-18 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2021043136A1 (zh) * 2019-09-03 2021-03-11 上海交通大学 点云投影传输方法、接收处理方法及系统
KR102476057B1 (ko) * 2019-09-04 2022-12-09 주식회사 윌러스표준기술연구소 클라우드 가상 현실을 위한 imu 센서 데이터를 활용한 비디오 인코딩 및 디코딩 가속 방법 및 장치
US20220383552A1 (en) * 2019-09-05 2022-12-01 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2021045603A1 (ko) * 2019-09-06 2021-03-11 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
CN114342402A (zh) * 2019-09-11 2022-04-12 索尼集团公司 信息处理装置、信息处理方法、再现处理装置和再现处理方法
EP3792808A1 (en) * 2019-09-13 2021-03-17 Bricsys NV Regular grid recognition in a cad model
US20220327743A1 (en) * 2019-09-24 2022-10-13 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11202078B2 (en) * 2019-09-27 2021-12-14 Apple Inc. Dynamic point cloud compression using inter-prediction
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
US11315289B2 (en) * 2019-09-30 2022-04-26 Nokia Technologies Oy Adaptive depth guard band
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
WO2021066626A1 (en) * 2019-10-03 2021-04-08 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN114616827A (zh) 2019-10-03 2022-06-10 Lg电子株式会社 点云数据发送装置及方法、点云数据接收装置及方法
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
JP7376705B2 (ja) * 2019-10-07 2023-11-08 エルジー エレクトロニクス インコーポレイティド ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置およびポイントクラウドデータ受信方法
JP7384269B2 (ja) 2019-10-09 2023-11-21 ソニーグループ株式会社 点群再構成前の復号フレーム同期
EP4042573A4 (en) * 2019-10-11 2023-06-21 BlackBerry Limited METHODS AND DEVICES FOR TREE SWITCHING IN POINT CLOUD COMPRESSION
WO2021095565A1 (ja) * 2019-11-13 2021-05-20 ソニーグループ株式会社 画像処理装置および方法
US11417029B2 (en) * 2019-12-02 2022-08-16 Tencent America LLC Method and apparatus for point cloud coding
US11348285B2 (en) * 2019-12-10 2022-05-31 Sony Group Corporation Mesh compression via point cloud representation
CN114868389A (zh) * 2020-01-06 2022-08-05 Oppo广东移动通信有限公司 一种帧内预测方法、编码器、解码器及存储介质
KR102423499B1 (ko) * 2020-01-07 2022-07-22 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
KR102381163B1 (ko) * 2020-01-07 2022-04-01 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
EP4075797A4 (en) * 2020-01-08 2023-05-31 LG Electronics Inc. POINT CLOUD DATA TRANSMITTING DEVICE, POINT CLOUD DATA TRANSMITTING METHOD, POINT CLOUD DATA RECEIVING DEVICE AND POINT CLOUD DATA RECEIVING METHOD
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
KR102373833B1 (ko) 2020-01-09 2022-03-14 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2021141208A1 (ko) * 2020-01-09 2021-07-15 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11475605B2 (en) 2020-01-09 2022-10-18 Apple Inc. Geometry encoding of duplicate points
WO2021150599A1 (en) * 2020-01-21 2021-07-29 TerraQuest, LLC Methods and systems for geographic map generation and rendering and unique miles and routes navigation
US11399192B2 (en) * 2020-02-10 2022-07-26 Tencent America LLC Spatial scalable coding for point cloud coding
WO2021187737A1 (ko) * 2020-03-18 2021-09-23 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
JPWO2021193087A1 (ko) * 2020-03-25 2021-09-30
JPWO2021193088A1 (ko) * 2020-03-25 2021-09-30
CN115443654A (zh) * 2020-03-26 2022-12-06 交互数字Vc控股法国公司 用于对体积视频进行编码和解码的方法和装置
WO2021201386A1 (ko) * 2020-03-30 2021-10-07 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2021201390A1 (ko) * 2020-04-03 2021-10-07 엘지전자 주식회사 포인트 클라우드 데이터 처리 장치 및 방법
US11562509B2 (en) * 2020-04-08 2023-01-24 Qualcomm Incorporated Secondary component attribute coding for geometry-based point cloud compression (G-PCC)
US12002244B2 (en) * 2020-04-08 2024-06-04 Qualcomm Incorporated Global scaling for geometry-based point cloud coding
US11558643B2 (en) * 2020-04-08 2023-01-17 Qualcomm Incorporated Secondary component attribute coding for geometry-based point cloud compression (G-PCC)
CN117978996A (zh) * 2020-04-11 2024-05-03 Lg电子株式会社 点云数据发送设备和方法、点云数据接收设备和方法
EP4124032A4 (en) * 2020-04-12 2023-05-31 LG Electronics, Inc. POINT CLOUD DATA TRANSMITTING DEVICE, POINT CLOUD DATA TRANSMITTING METHOD, POINT CLOUD DATA RECEIVING DEVICE, AND POINT CLOUD DATA RECEIVING METHOD
EP4131961A4 (en) * 2020-04-13 2023-09-13 LG Electronics, Inc. DEVICE FOR TRANSMITTING POINT CLOUD DATA, METHOD FOR TRANSMITTING POINT CLOUD DATA, DEVICE FOR RECEIVING POINT CLOUD DATA AND METHOD FOR RECEIVING POINT CLOUD DATA
WO2021215849A1 (ko) * 2020-04-22 2021-10-28 엘지전자 주식회사 포인트 클라우드 데이터 처리 장치 및 처리 방법
US20230154052A1 (en) * 2020-04-24 2023-05-18 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
CN113766228B (zh) * 2020-06-05 2023-01-13 Oppo广东移动通信有限公司 点云压缩方法、编码器、解码器及存储介质
WO2021249867A1 (en) * 2020-06-12 2021-12-16 Interdigital Vc Holdings France, Sas A method and apparatus for encoding and decoding volumetric video as partitioned patch atlases
EP4171035A4 (en) * 2020-06-19 2024-06-26 LG Electronics, Inc. POINT CLOUD DATA TRANSMISSION APPARATUS, POINT CLOUD DATA TRANSMISSION METHOD, POINT CLOUD DATA RECEIVING APPARATUS AND POINT CLOUD DATA RECEIVING METHOD
EP4171038A1 (en) * 2020-06-21 2023-04-26 LG Electronics, Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11375208B2 (en) * 2020-06-23 2022-06-28 Sony Group Corporation Trisoup node size per slice
US11908168B2 (en) * 2020-06-23 2024-02-20 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11695957B2 (en) * 2020-06-24 2023-07-04 Samsung Electronics Co., Ltd. Tiling for video based point cloud compression
US11615557B2 (en) 2020-06-24 2023-03-28 Apple Inc. Point cloud compression using octrees with slicing
CN115039132A (zh) * 2020-06-24 2022-09-09 中兴通讯股份有限公司 三维内容处理方法和设备
US11620768B2 (en) 2020-06-24 2023-04-04 Apple Inc. Point cloud geometry compression using octrees with multiple scan orders
US11954891B2 (en) * 2020-06-30 2024-04-09 Electronics And Telecommunications Research Institute Method of compressing occupancy map of three-dimensional point cloud
US12008740B2 (en) * 2020-08-12 2024-06-11 Niantic, Inc. Feature matching using features extracted from perspective corrected image
US20220058833A1 (en) * 2020-08-21 2022-02-24 Samsung Electronics Co., Ltd. Complexity reduction of video-based point cloud compression encoding using grid-based segmentation
WO2022055167A1 (ko) * 2020-09-09 2022-03-17 엘지전자 주식회사 포인트 클라우드 데이터 전송장치, 포인트 클라우드 데이터 전송방법, 포인트 클라우드 데이터 수신장치 및 포인트 클라우드 데이터 수신방법
WO2022055165A1 (ko) * 2020-09-11 2022-03-17 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2022056575A1 (en) * 2020-09-21 2022-03-24 Skaenx, K.K A method for analysing laser measurement data
CN112184840B (zh) 2020-09-22 2022-09-02 上海交通大学 基于多尺度结构化字典学习的3d点云压缩系统
CN114257816A (zh) * 2020-09-25 2022-03-29 腾讯科技(深圳)有限公司 一种点云媒体的数据处理方法、装置、设备及存储介质
US11836953B2 (en) * 2020-10-06 2023-12-05 Sony Group Corporation Video based mesh compression
WO2022080773A1 (ko) * 2020-10-12 2022-04-21 엘지전자 주식회사 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치
WO2022092886A1 (ko) * 2020-10-30 2022-05-05 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
KR102401373B1 (ko) * 2020-11-17 2022-05-23 경희대학교 산학협력단 영상 처리 시스템에서 포인트 클라우드를 압축하기 위한 방법 및 장치
US11463556B2 (en) * 2020-11-18 2022-10-04 Verizon Patent And Licensing Inc. Systems and methods for packet-based file compression and storage
KR102485449B1 (ko) * 2020-11-25 2023-01-04 경희대학교 산학협력단 포인트 클라우드 이미지의 업스케일링 방법 및 장치
US20220179082A1 (en) * 2020-12-08 2022-06-09 Argo AI, LLC Methods and system for analyzing dynamic lidar point cloud data
CN117710587A (zh) * 2020-12-22 2024-03-15 Oppo广东移动通信有限公司 点云的解码方法、编码方法、解码器以及编码器
JP2022102267A (ja) * 2020-12-25 2022-07-07 ソニーグループ株式会社 画像処理装置および方法
WO2022147015A1 (en) * 2020-12-29 2022-07-07 Qualcomm Incorporated Hybrid-tree coding for inter and intra prediction for geometry coding
CN112634457B (zh) * 2021-01-06 2022-07-05 广西科技大学 基于豪斯多夫距离和平均投影距离局部熵的点云精简方法
KR102568141B1 (ko) * 2021-03-23 2023-08-17 한국항공대학교산학협력단 영상의 비활성 영역 패딩 시스템 및 방법
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes
US12003768B2 (en) * 2021-04-05 2024-06-04 Qualcomm Incorporated Residual coding for geometry point cloud compression
CN117581541A (zh) * 2021-07-05 2024-02-20 Lg 电子株式会社 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法
US11683523B2 (en) 2021-07-07 2023-06-20 Tencent America LLC Group of pictures based patch packing for video based point cloud coding
WO2023003349A1 (ko) * 2021-07-20 2023-01-26 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11544419B1 (en) 2021-07-26 2023-01-03 Pointlab, Inc. Subsampling method for converting 3D scan data of an object for marine, civil, and architectural works into smaller densities for processing without CAD processing
CN113470056B (zh) * 2021-09-06 2021-11-16 成都新西旺自动化科技有限公司 一种基于高斯模型卷积的亚像素边缘点检测方法
WO2023047021A2 (en) * 2021-09-27 2023-03-30 Nokia Technologies Oy A method, an apparatus and a computer program product for video encoding and video decoding
KR102402580B1 (ko) * 2021-11-03 2022-05-26 주식회사 맥스트 메타버스 환경에서의 영상 처리 시스템 및 방법
TWI782806B (zh) * 2021-12-02 2022-11-01 財團法人國家實驗研究院 點雲算圖方法
US20230177737A1 (en) * 2021-12-06 2023-06-08 Tencent America LLC Systems and method for adaptive filtering in patch generation for video-based point cloud coding
US11461987B1 (en) * 2022-03-22 2022-10-04 Illuscio, Inc. Systems and methods for defining, bonding, and editing point cloud data points with primitives
US20230306649A1 (en) * 2022-03-25 2023-09-28 Tencent America LLC Predictive coding of boundary uv2xyz index for mesh compression
WO2023200291A1 (ko) * 2022-04-14 2023-10-19 엘지전자 주식회사 포인트 클라우드 데이터의 전송 장치와 이 전송 장치에서 수행되는 방법 및, 포인트 클라우드 데이터의 수신 장치와 이 수신 장치에서 수행되는 방법
US11488360B1 (en) 2022-05-13 2022-11-01 Illuscio, Inc. Systems and methods for editing three-dimensional data and point clouds
WO2023239043A1 (ko) * 2022-06-08 2023-12-14 삼성전자주식회사 객체를 검출하기 위한 방법 및 이를 지원하는 전자 장치
CN114785998A (zh) * 2022-06-20 2022-07-22 北京大学深圳研究生院 一种点云的压缩方法、装置、电子设备及存储介质
CN115866274A (zh) * 2022-09-19 2023-03-28 腾讯科技(深圳)有限公司 一种点云媒体的数据处理方法及相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160100151A1 (en) 2010-04-16 2016-04-07 Google Technology Holdings LLC Method and apparatus for distribution of 3d television program materials
US20170214943A1 (en) 2016-01-22 2017-07-27 Mitsubishi Electric Research Laboratories, Inc. Point Cloud Compression using Prediction and Shape-Adaptive Transforms

Family Cites Families (346)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA309618A (en) 1931-03-24 Kylberg Folke Razor blade package
US3055070A (en) 1960-12-08 1962-09-25 Louis H Morin Offset heel for separable fastener stringer scoops
US6525722B1 (en) 1995-08-04 2003-02-25 Sun Microsystems, Inc. Geometry compression for regular and irregular mesh structures
US5842004A (en) 1995-08-04 1998-11-24 Sun Microsystems, Inc. Method and apparatus for decompression of compressed geometric three-dimensional graphics data
US6256041B1 (en) 1995-08-04 2001-07-03 Sun Microsystems, Inc. Decompression of three-dimensional geometry data representing a regularly tiled surface portion of a graphical object
US6747644B1 (en) 1995-08-04 2004-06-08 Sun Microsystems, Inc. Decompression of surface normals in three-dimensional graphics data
US6215500B1 (en) 1995-08-04 2001-04-10 Sun Microsystems, Inc. Compression of three-dimensional geometry data representing a regularly tiled surface portion of a graphical object
US6018353A (en) 1995-08-04 2000-01-25 Sun Microsystems, Inc. Three-dimensional graphics accelerator with an improved vertex buffer for more efficient vertex processing
US5793371A (en) 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
KR100266345B1 (ko) 1996-05-17 2000-09-15 모리시타 요이찌 화상 부호화 장치, 화상 복호화 장치, 화상 부호화 방법, 화상복호화 방법, 화상 부호화 프로그램기록 매체, 및 화상 복호화프로그램 기록 매체
US6858826B2 (en) 1996-10-25 2005-02-22 Waveworx Inc. Method and apparatus for scanning three-dimensional objects
US7098435B2 (en) * 1996-10-25 2006-08-29 Frederick E. Mueller Method and apparatus for scanning three-dimensional objects
WO1998029269A1 (fr) 1996-12-27 1998-07-09 Bridgestone Corporation Procedes de conception de pneumatiques
WO1998042134A1 (en) 1997-03-17 1998-09-24 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
US6459428B1 (en) 1998-02-17 2002-10-01 Sun Microsystems, Inc. Programmable sample filtering for image rendering
US6563499B1 (en) 1998-07-20 2003-05-13 Geometrix, Inc. Method and apparatus for generating a 3D region from a surrounding imagery
US6429867B1 (en) 1999-03-15 2002-08-06 Sun Microsystems, Inc. System and method for generating and playback of three-dimensional movies
US6628277B1 (en) 1999-06-14 2003-09-30 Sun Microsystems, Inc. Decompression of three-dimensional graphics data using mesh buffer references to reduce redundancy of processing
US7071935B1 (en) 1999-06-14 2006-07-04 Sun Microsystems, Inc. Graphics system with just-in-time decompression of compressed graphics data
US6459429B1 (en) 1999-06-14 2002-10-01 Sun Microsystems, Inc. Segmenting compressed graphics data for parallel decompression and rendering
US6476803B1 (en) 2000-01-06 2002-11-05 Microsoft Corporation Object modeling system and process employing noise elimination and robust surface extraction techniques
US6525725B1 (en) 2000-03-15 2003-02-25 Sun Microsystems, Inc. Morphing decompression in a graphics system
US6959120B1 (en) 2000-10-27 2005-10-25 Microsoft Corporation Rebinning methods and arrangements for use in compressing image-based rendering (IBR) data
EP1204073B1 (en) 2000-10-27 2007-01-31 Canon Kabushiki Kaisha Image generation method and apparatus
JP3790126B2 (ja) 2001-05-30 2006-06-28 株式会社東芝 時空間領域情報処理方法及び時空間領域情報処理システム
KR100446635B1 (ko) 2001-11-27 2004-09-04 삼성전자주식회사 깊이 이미지 기반 3차원 객체 표현 장치 및 방법
US20040217956A1 (en) 2002-02-28 2004-11-04 Paul Besl Method and system for processing, compressing, streaming, and interactive rendering of 3D color image data
WO2004011601A2 (en) 2002-07-29 2004-02-05 Monsanto Technology, Llc Corn event pv-zmir13 (mon863) plants and compositions and methods for detection thereof
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US9314691B2 (en) * 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US7215810B2 (en) 2003-07-23 2007-05-08 Orametrix, Inc. Method for creating single 3D surface model from a point cloud
US8468772B2 (en) 2003-08-11 2013-06-25 Interface, Inc. Carpet tiles and carpet tile installations
US20050080849A1 (en) * 2003-10-09 2005-04-14 Wee Susie J. Management system for rich media environments
EP1694821B1 (en) 2003-12-11 2017-07-05 Strider Labs, Inc. Probable reconstruction of surfaces in occluded regions by computed symmetry
EP1745442A1 (en) * 2004-02-18 2007-01-24 Laurence Marzell Adaptive 3d image modelling system and apparatus and method thereof
US7373473B2 (en) 2004-03-10 2008-05-13 Leica Geosystems Hds Llc System and method for efficient storage and manipulation of extremely large amounts of scan data
JP4613313B2 (ja) 2005-04-01 2011-01-19 国立大学法人 東京大学 画像処理システムおよび画像処理プログラム
CN101230618A (zh) 2005-06-06 2008-07-30 邱则有 一种现浇砼空心板
CN102271249B (zh) 2005-09-26 2014-04-09 韩国电子通信研究院 用于可伸缩视频的感兴趣区域信息设置方法和解析方法
KR100723505B1 (ko) 2005-10-06 2007-05-30 삼성전자주식회사 하이브리드 방식의 영상 데이터 처리 시스템 및 영상데이터 처리 방법
JP4643453B2 (ja) 2006-01-10 2011-03-02 株式会社東芝 情報処理装置及び情報処理装置の動画像復号方法
WO2007116551A1 (ja) 2006-03-30 2007-10-18 Kabushiki Kaisha Toshiba 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法
US7881544B2 (en) 2006-08-24 2011-02-01 Dell Products L.P. Methods and apparatus for reducing storage size
US7885988B2 (en) 2006-08-24 2011-02-08 Dell Products L.P. Methods and apparatus for reducing storage size
US7737985B2 (en) 2006-11-09 2010-06-15 Qualcomm Incorporated Pixel cache for 3D graphics circuitry
WO2008075359A2 (en) 2006-12-21 2008-06-26 Yeda Research And Development Co. Ltd. Method and apparatus for matching local self-similarities
DE102006061325B4 (de) 2006-12-22 2008-11-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zur computergestützten Identifikation der von einem Richtstrahl durchschnittenen Kinderoktanten eines Elternoktants in einer Octree-Datenstruktur mittels Look-up-Tabellen
US8055070B2 (en) 2007-01-05 2011-11-08 Geo Semiconductor Inc. Color and geometry distortion correction system and method
EP2147557B1 (en) * 2007-04-18 2012-04-18 Gottfried Wilhelm Leibniz Universität Hannover Scalable compression of time-consistend 3d mesh sequences
EP1993072A1 (en) 2007-05-18 2008-11-19 Siemens Aktiengesellschaft Method for comparison of 3D computer model and as-built situation of an industrial plant
US8040355B2 (en) 2007-07-23 2011-10-18 Disney Enterprises, Inc. Three-dimensional location-based texture transfers
US8051108B2 (en) 2008-04-01 2011-11-01 Trimble Navigation Limited Synchronization of data on survey devices
JP4506875B2 (ja) 2008-05-19 2010-07-21 ソニー株式会社 画像処理装置および画像処理方法
TW201005673A (en) 2008-07-18 2010-02-01 Ind Tech Res Inst Example-based two-dimensional to three-dimensional image conversion method, computer readable medium therefor, and system
US8706910B2 (en) 2008-10-28 2014-04-22 Panzura, Inc. Dynamically adaptive network-based data processing system and method
US8131046B2 (en) 2008-10-29 2012-03-06 Allegheny-Singer Research Institute Magnetic resonance imager using cylindrical offset region of excitation, and method
JP5039019B2 (ja) 2008-12-25 2012-10-03 富士フイルム株式会社 手振れ補正装置及び光学機器
US8566736B1 (en) 2009-01-19 2013-10-22 Pixar Visualization of value resolution for multidimensional parameterized data
EP2216750A1 (en) 2009-02-06 2010-08-11 Thomson Licensing Method and apparatus for encoding 3D mesh models, and method and apparatus for decoding encoded 3D mesh models
EP2222086A1 (de) 2009-02-18 2010-08-25 EcoDisc Technology AG Verfahren und Vorrichtung zur Vermeidung von Rundungsfehlern nach Durchführung einer inversen diskreten orthogonalen Transformation
JP2010245938A (ja) 2009-04-08 2010-10-28 Sony Corp 信号処理装置、信号処理方法、プログラム
US20100296579A1 (en) 2009-05-22 2010-11-25 Qualcomm Incorporated Adaptive picture type decision for video coding
US9753124B2 (en) 2009-07-13 2017-09-05 Celartem, Inc. LIDAR point cloud compression
KR101669873B1 (ko) 2009-10-16 2016-10-27 삼성전자주식회사 삼차원 메쉬 압축장치 및 방법
US9317965B2 (en) 2009-11-16 2016-04-19 Autodesk, Inc. Uniform point cloud decimation
TW201121332A (en) 2009-12-11 2011-06-16 Acer Inc Device for decoding audio and video data
US8345930B2 (en) 2010-01-22 2013-01-01 Sri International Method for computing food volume in a method for analyzing food
WO2011088595A1 (en) * 2010-01-25 2011-07-28 Thomson Licensing Method for encoding normals of a 3d mesh model, method for decoding normals of a 3d mesh model, encoder and decoder
JP5297403B2 (ja) 2010-02-26 2013-09-25 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測方法、プログラムおよび記憶媒体
EP2606472A2 (en) 2010-06-11 2013-06-26 Estill, James A. System and method for manipulating data having spatial coordinates
FR2961930B1 (fr) 2010-06-29 2013-01-04 Fittingbox Procede de compression / decompression de maillage tridimensionnel
KR101654777B1 (ko) 2010-07-19 2016-09-06 삼성전자주식회사 3차원 메쉬 가변 부호화 장치 및 방법, 그리고 3차원 메쉬 가변 복호화 장치 및 방법
US8520740B2 (en) 2010-09-02 2013-08-27 International Business Machines Corporation Arithmetic decoding acceleration
WO2012034236A1 (en) 2010-09-16 2012-03-22 Ambercore Software Inc. System and method for detailed automated feature extraction from data having spatial coordinates
US9300321B2 (en) 2010-11-05 2016-03-29 University of Maribor Light detection and ranging (LiDAR)data compression and decompression methods and apparatus
WO2012095914A1 (ja) 2011-01-13 2012-07-19 パナソニック株式会社 立体画像処理装置、立体画像処理方法およびプログラム
CN103329524B (zh) * 2011-01-18 2016-10-05 富士通株式会社 动态图像编码装置和动态图像编码方法
US8908013B2 (en) 2011-01-20 2014-12-09 Canon Kabushiki Kaisha Systems and methods for collaborative image capturing
JPWO2012140904A1 (ja) 2011-04-15 2014-07-28 パナソニック株式会社 画像圧縮装置、画像圧縮方法、集積回路、プログラムおよび映像表示装置
JPWO2012147622A1 (ja) 2011-04-28 2014-07-28 ソニー株式会社 画像処理装置、及び、画像処理方法
US10123053B2 (en) 2011-05-23 2018-11-06 Texas Instruments Incorporated Acceleration of bypass binary symbol processing in video coding
US8780112B2 (en) 2011-06-08 2014-07-15 Pacific Data Images Llc Coherent out-of-core point-based global illumination
US9521434B2 (en) 2011-06-09 2016-12-13 Qualcomm Incorporated Internal bit depth increase in video coding
US9532056B2 (en) 2011-07-18 2016-12-27 Thomson Licensing Method for adaptive entropy coding of tree structures
US9014496B2 (en) 2011-08-04 2015-04-21 Arm Limited Methods of and apparatus for encoding and decoding data in data processing systems
US20130034150A1 (en) 2011-08-05 2013-02-07 Texas Instruments Incorporated Systems and methods for multimedia data encoding and decoding
US9288505B2 (en) 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
US9712819B2 (en) 2011-10-12 2017-07-18 Lg Electronics Inc. Image encoding method and image decoding method
US8643515B2 (en) 2011-10-28 2014-02-04 International Business Machines Corporation Compressing data using an encoding table
JP5961985B2 (ja) * 2011-11-30 2016-08-03 株式会社リコー 撮像装置、測色装置および画像形成装置
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
CN102592136B (zh) 2011-12-21 2013-10-16 东南大学 基于几何图像中中频信息的三维人脸识别方法
US9191670B2 (en) 2012-01-17 2015-11-17 Qualcomm Incorporated Throughput improvement for CABAC coefficient level coding
SG11201404251QA (en) 2012-01-20 2014-08-28 Fraunhofer Ges Forschung Coding concept allowing parallel processing, transport demultiplexer and video bitstream
JP2015512072A (ja) 2012-01-21 2015-04-23 トムソン ライセンシングThomson Licensing 3次元(3d)モデルのテクスチャ情報を圧縮する方法及び装置
US11263823B2 (en) 2012-02-24 2022-03-01 Matterport, Inc. Employing three-dimensional (3D) data predicted from two-dimensional (2D) images using neural networks for 3D modeling applications and other applications
EP2820565B1 (en) 2012-03-01 2020-12-09 Trimble AB Methods and apparatus for point cloud data processing
CN102630011A (zh) * 2012-03-31 2012-08-08 浙江师范大学 一种视频传感器网络中的压缩感知编解码方法及系统
US9846960B2 (en) 2012-05-31 2017-12-19 Microsoft Technology Licensing, Llc Automated camera array calibration
KR101957873B1 (ko) 2012-06-04 2019-03-13 삼성전자주식회사 3차원 영상을 위한 영상 처리 장치 및 방법
US9269178B2 (en) * 2012-06-05 2016-02-23 Apple Inc. Virtual camera for 3D maps
US9219916B2 (en) 2012-06-12 2015-12-22 Dolby Laboratories Licensing Corporation Joint base layer and enhancement layer quantizer adaptation in EDR video coding
US9836483B1 (en) 2012-08-29 2017-12-05 Google Llc Using a mobile device for coarse shape matching against cloud-based 3D model database
US8996228B1 (en) 2012-09-05 2015-03-31 Google Inc. Construction zone object detection using light detection and ranging
US9234618B1 (en) 2012-09-27 2016-01-12 Google Inc. Characterizing optically reflective features via hyper-spectral sensor
US9488492B2 (en) 2014-03-18 2016-11-08 Sri International Real-time system for multi-modal 3D geospatial mapping, object recognition, scene annotation and analytics
US9210432B2 (en) 2012-10-08 2015-12-08 Google Inc. Lossless inter-frame video coding
US9864184B2 (en) 2012-10-30 2018-01-09 California Institute Of Technology Embedded pupil function recovery for fourier ptychographic imaging devices
US9299152B2 (en) 2012-12-20 2016-03-29 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Systems and methods for image depth map generation
US20140198097A1 (en) 2013-01-16 2014-07-17 Microsoft Corporation Continuous and dynamic level of detail for efficient point cloud object rendering
US20140204088A1 (en) 2013-01-18 2014-07-24 Microsoft Corporation Surface codec using reprojection onto depth maps
US9530225B1 (en) 2013-03-11 2016-12-27 Exelis, Inc. Point cloud data processing for scalable compression
US8874454B2 (en) 2013-03-15 2014-10-28 State Farm Mutual Automobile Insurance Company Systems and methods for assessing a roof
GB2513110A (en) 2013-04-08 2014-10-22 Sony Corp Data encoding and decoding
US9098773B2 (en) 2013-06-27 2015-08-04 Chevron U.S.A. Inc. System and method of detecting objects in scene point cloud
KR101712109B1 (ko) 2013-07-12 2017-03-03 삼성전자 주식회사 깊이 기반 디스패리티 벡터를 이용하는 인터 레이어 비디오 복호화 방법 및 그 장치, 깊이 기반 디스패리티 벡터를 이용하는 인터 레이어 비디오 부호화 방법 및 장치
CN103366006B (zh) 2013-07-19 2016-06-22 武汉睿数信息技术有限公司 一种基于三维激光点云建立地理空间索引的方法
CN105556943B (zh) 2013-09-20 2019-03-29 Vid拓展公司 提供3d查找表编码以用于色域可伸缩性的系统和方法
US9351003B2 (en) 2013-09-27 2016-05-24 Apple Inc. Context re-mapping in CABAC encoder
US9223765B1 (en) 2013-10-09 2015-12-29 Google Inc. Encoding and decoding data using context model grouping
US9424672B2 (en) 2013-11-07 2016-08-23 Here Global B.V. Method and apparatus for processing and aligning data point clouds
US9445115B2 (en) 2013-11-21 2016-09-13 Bae Systems Information And Electronic Systems Integration Inc. Coded image system and method thereof
US9412040B2 (en) 2013-12-04 2016-08-09 Mitsubishi Electric Research Laboratories, Inc. Method for extracting planes from 3D point cloud sensor data
US9386303B2 (en) 2013-12-31 2016-07-05 Personify, Inc. Transmitting video and sharing content via a network using multiple encoding techniques
US9613388B2 (en) 2014-01-24 2017-04-04 Here Global B.V. Methods, apparatuses and computer program products for three dimensional segmentation and textured modeling of photogrammetry surface meshes
GB2523348B (en) 2014-02-20 2016-03-30 Gurulogic Microsystems Oy Encoder, decoder and method
CN103944580B (zh) * 2014-04-14 2017-07-04 天津普仁万合信息技术有限公司 一种生理体征传感器持续采集信号的无损压缩方法
US9098754B1 (en) 2014-04-25 2015-08-04 Google Inc. Methods and systems for object detection using laser point clouds
US9996976B2 (en) 2014-05-05 2018-06-12 Avigilon Fortress Corporation System and method for real-time overlay of map features onto a video feed
GB2527607B (en) 2014-06-27 2016-10-05 Gurulogic Microsystems Oy Encoder, decoder and method
KR101663668B1 (ko) 2014-06-27 2016-10-07 삼성전자주식회사 영상 패딩영역의 비디오 복호화 및 부호화 장치 및 방법
CN104156972B (zh) * 2014-08-25 2017-01-25 西北工业大学 基于激光扫描测距仪与多相机融合的透视成像方法
US9292961B1 (en) 2014-08-26 2016-03-22 The Boeing Company System and method for detecting a structural opening in a three dimensional point cloud
US10235338B2 (en) 2014-09-04 2019-03-19 Nvidia Corporation Short stack traversal of tree data structures
US9734595B2 (en) 2014-09-24 2017-08-15 University of Maribor Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds
WO2016071577A1 (fr) * 2014-11-05 2016-05-12 Colin, Jean-Claude Procédé pour réaliser des images animées
US10104361B2 (en) 2014-11-14 2018-10-16 Samsung Electronics Co., Ltd. Coding of 360 degree videos using region adaptive smoothing
CN104408689B (zh) 2014-12-10 2017-10-24 武汉大学 基于全景影像的街景面片优化方法
US9616569B2 (en) * 2015-01-22 2017-04-11 GM Global Technology Operations LLC Method for calibrating an articulated end effector employing a remote digital camera
US10257344B2 (en) 2016-04-20 2019-04-09 Stephen Rhyne System, device, and method for tracking and monitoring mobile phone usage while operating a vehicle in order to deter and prevent such usage
US11373272B2 (en) 2015-06-05 2022-06-28 MindAptiv, LLC Digital gradient signal processing system and method for signals comprising at least three dimensions
US10277248B2 (en) 2015-07-07 2019-04-30 Tidal Systems, Inc. Compression engine with consistent throughput
CN105261060A (zh) * 2015-07-23 2016-01-20 东华大学 基于点云压缩和惯性导航的移动场景实时三维重构方法
EP4270214A3 (en) 2015-09-01 2023-12-13 Dream It Get IT Limited Media unit retrieval and related processes
US10887430B2 (en) 2015-10-21 2021-01-05 Dragonwave-X, Llc Compression in communications
EP3163536B1 (en) 2015-10-30 2021-12-08 Dassault Systèmes Compression of a three-dimensional modeled object
JP6300119B2 (ja) 2015-11-05 2018-03-28 コニカミノルタ株式会社 測色値取得方法及び画像形成装置並びに測色値取得制御プログラム
US10416667B2 (en) 2016-02-03 2019-09-17 Sony Corporation System and method for utilization of multiple-camera network to capture static and/or motion scenes
CN115052153A (zh) 2016-02-11 2022-09-13 交互数字Vc控股公司 用于对图像单元进行编码/解码的方法和设备
US10319101B2 (en) 2016-02-24 2019-06-11 Quantum Spatial, Inc. Systems and methods for deriving spatial attributes for imaged objects utilizing three-dimensional information
US10482196B2 (en) 2016-02-26 2019-11-19 Nvidia Corporation Modeling point cloud data using hierarchies of Gaussian mixture models
US10040578B2 (en) * 2016-02-26 2018-08-07 Skycatch, Inc. Battery arm sensor assembly
KR102520957B1 (ko) 2016-04-15 2023-04-12 삼성전자주식회사 인코딩 장치, 디코딩 장치 및 이의 제어 방법
TWI629892B (zh) 2016-05-09 2018-07-11 國立成功大學 景深包裝及解包裝之rgb格式與yuv格式的轉換與反轉換的方法及電路
US10694210B2 (en) 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
US10223810B2 (en) 2016-05-28 2019-03-05 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
US11297346B2 (en) * 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
US9959604B2 (en) 2016-06-13 2018-05-01 Gopro, Inc. Dynamic global tone mapping with integrated 3D color look-up table
US10259164B2 (en) 2016-06-22 2019-04-16 Massachusetts Institute Of Technology Methods and apparatus for 3D printing of point cloud data
US10559111B2 (en) 2016-06-23 2020-02-11 LoomAi, Inc. Systems and methods for generating computer ready animation models of a human head from captured data images
KR102529120B1 (ko) 2016-07-15 2023-05-08 삼성전자주식회사 영상을 획득하는 방법, 디바이스 및 기록매체
EP3488610A4 (en) 2016-07-22 2019-07-17 Sharp Kabushiki Kaisha SYSTEMS AND METHOD FOR CODING VIDEO DATA BY ADAPTIVE COMPONENT CALING
US20180053324A1 (en) 2016-08-19 2018-02-22 Mitsubishi Electric Research Laboratories, Inc. Method for Predictive Coding of Point Cloud Geometries
CN108541322B (zh) 2016-08-29 2021-09-14 北京清影机器视觉技术有限公司 三维视觉测量数据的处理方法和装置
US10271069B2 (en) 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention
KR102352933B1 (ko) 2016-09-09 2022-01-20 삼성전자주식회사 3차원 이미지를 프로세싱하기 위한 방법 및 장치
EP3293702B1 (en) 2016-09-13 2020-04-29 Dassault Systèmes Compressing a signal that represents a physical attribute
US10372728B2 (en) 2016-09-16 2019-08-06 Oracle International Corporation System and method providing a scalable and efficient space filling curve approach to point cloud feature generation
JP6970100B2 (ja) 2016-09-16 2021-11-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 三次元データ作成方法及び三次元データ作成装置
WO2018050725A1 (en) 2016-09-19 2018-03-22 Thomson Licensing A method and a device for reconstructing a point cloud representative of a scene using light-field data
CN106651942B (zh) 2016-09-29 2019-09-17 苏州中科广视文化科技有限公司 基于特征点的三维旋转运动检测与旋转轴定位方法
US9787321B1 (en) 2016-11-17 2017-10-10 Google Inc. Point cloud data compression using a space-filling curve
US10715618B2 (en) 2016-12-12 2020-07-14 Hughes Network Systems, Llc Compressibility estimation for lossless data compression
US10785279B2 (en) 2016-12-29 2020-09-22 Facebook, Inc. Video encoding using starve mode
GB2558314B (en) 2017-01-02 2020-07-29 Canon Kk Improved attribute mapping to encode and decode 3D models
CN106846425B (zh) * 2017-01-11 2020-05-19 东南大学 一种基于八叉树的散乱点云压缩方法
EP3349182A1 (en) 2017-01-13 2018-07-18 Thomson Licensing Method, apparatus and stream for immersive video format
GB2560319B (en) 2017-03-06 2020-09-02 Canon Kk Improved encoding and decoding of texture mapping data in textured 3D mesh models
US11514613B2 (en) 2017-03-16 2022-11-29 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
US10242458B2 (en) 2017-04-21 2019-03-26 Qualcomm Incorporated Registration of range images using virtual gimbal information
US10108867B1 (en) 2017-04-25 2018-10-23 Uber Technologies, Inc. Image-based pedestrian detection
US20190340306A1 (en) 2017-04-27 2019-11-07 Ecosense Lighting Inc. Methods and systems for an automated design, fulfillment, deployment and operation platform for lighting installations
US10359513B2 (en) 2017-05-03 2019-07-23 Elwha Llc Dynamic-metamaterial coded-aperture imaging
US10467756B2 (en) 2017-05-14 2019-11-05 International Business Machines Corporation Systems and methods for determining a camera pose of an image
US10511696B2 (en) 2017-05-17 2019-12-17 CodeShop, B.V. System and method for aggregation, archiving and compression of internet of things wireless sensor data
GB2563019B (en) 2017-05-29 2021-07-28 Canon Kk Improved valence-based encoding and decoding of connectivity data in a 3D model
US10325409B2 (en) 2017-06-16 2019-06-18 Microsoft Technology Licensing, Llc Object holographic augmentation
EP3646593A4 (en) 2017-06-26 2021-03-31 Nokia Technologies Oy APPARATUS, PROCESS AND COMPUTER PROGRAM FOR OMNIDIRECTIONAL VIDEO
WO2019008221A1 (en) 2017-07-03 2019-01-10 Nokia Technologies Oy APPARATUS, METHOD, AND COMPUTER PROGRAM FOR OMNIDIRECTIONAL VIDEO
WO2019013430A1 (en) 2017-07-10 2019-01-17 Samsung Electronics Co., Ltd. COMPRESSION OF MAILLAGES AND POINT CLOUDS USING IMAGE / VIDEO CODECS
US10474524B2 (en) 2017-07-12 2019-11-12 Topcon Positioning Systems, Inc. Point cloud filter method and apparatus
EP3429210A1 (en) 2017-07-13 2019-01-16 Thomson Licensing Methods, devices and stream for encoding and decoding volumetric video
EP3429212A1 (en) 2017-07-13 2019-01-16 Thomson Licensing A method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object
US10587883B2 (en) 2017-07-14 2020-03-10 Qualcomm Incorporated Region-wise packing, content coverage, and signaling frame packing for media content
EP3432581A1 (en) 2017-07-21 2019-01-23 Thomson Licensing Methods, devices and stream for encoding and decoding volumetric video
US10395419B1 (en) 2017-08-04 2019-08-27 Bentley Systems, Incorporated Non-destructive multi-resolution surface clipping
US20190041481A1 (en) 2017-08-04 2019-02-07 Muralidhara Subbarao Massively parallel magnetic resonance imaging wherein numerous off-surface coils are used to acquire partially under-sampled magnetic resonance signal data
US11024078B2 (en) 2017-08-07 2021-06-01 Verizon Patent And Licensing Inc. Systems and methods compression, transfer, and reconstruction of three-dimensional (3D) data meshes
US11109066B2 (en) 2017-08-15 2021-08-31 Nokia Technologies Oy Encoding and decoding of volumetric video
WO2019034807A1 (en) 2017-08-15 2019-02-21 Nokia Technologies Oy SEQUENTIAL CODING AND DECODING OF VOLUMETRIC VIDEO
US10462485B2 (en) 2017-09-06 2019-10-29 Apple Inc. Point cloud geometry compression
US10805646B2 (en) 2018-06-22 2020-10-13 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
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
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
KR102119300B1 (ko) 2017-09-15 2020-06-04 서울과학기술대학교 산학협력단 360도 영상 부호화 장치 및 방법, 이를 수행하기 위한 기록 매체
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
US20200275129A1 (en) 2017-09-29 2020-08-27 Sharp Kabushiki Kaisha Systems and methods for signaling information associated with a constituent picture
US11315320B2 (en) 2017-09-29 2022-04-26 Sony Corporation Information processing apparatus and method
EP3462415A1 (en) 2017-09-29 2019-04-03 Thomson Licensing Method and device for modifying attributes of points of a 3d scene
US11200703B2 (en) 2017-10-05 2021-12-14 Sony Corporation Information processing device and method
EP3468182A1 (en) 2017-10-06 2019-04-10 InterDigital VC Holdings, Inc. A method and apparatus for encoding a point cloud representing three-dimensional objects
US11599968B2 (en) 2017-10-11 2023-03-07 Nokia Technologies Oy Apparatus, a method and a computer program for volumetric video
US10726299B2 (en) 2017-10-12 2020-07-28 Sony Corporation Sorted geometry with color clustering (SGCC) for point cloud compression
US11270470B2 (en) 2017-10-12 2022-03-08 Sony Group Corporation Color leaking suppression in anchor point cloud compression
US10499054B2 (en) 2017-10-12 2019-12-03 Mitsubishi Electric Research Laboratories, Inc. System and method for inter-frame predictive compression for point clouds
US10559126B2 (en) 2017-10-13 2020-02-11 Samsung Electronics Co., Ltd. 6DoF media consumption architecture using 2D video decoder
GB201717012D0 (en) 2017-10-17 2017-11-29 Nokia Technologies Oy An apparatus a method and a computer program for coding volumetric video
EP3474233A1 (en) 2017-10-19 2019-04-24 Thomson Licensing A method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object
EP3474562A1 (en) 2017-10-20 2019-04-24 Thomson Licensing Method, apparatus and stream for volumetric video format
US10424083B2 (en) 2017-10-21 2019-09-24 Samsung Electronics Co., Ltd. Point cloud compression using hybrid transforms
WO2019093834A1 (en) 2017-11-09 2019-05-16 Samsung Electronics Co., Ltd. Point cloud compression using non-orthogonal projection
US10535161B2 (en) 2017-11-09 2020-01-14 Samsung Electronics Co., Ltd. Point cloud compression using non-orthogonal projection
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
US10789733B2 (en) 2017-11-22 2020-09-29 Apple Inc. Point cloud compression with multi-layer projection
EP3489900A1 (en) 2017-11-23 2019-05-29 Thomson Licensing Method, apparatus and stream for encoding/decoding volumetric video
EP3496388A1 (en) 2017-12-05 2019-06-12 Thomson Licensing A method and apparatus for encoding a point cloud representing three-dimensional objects
US10510148B2 (en) 2017-12-18 2019-12-17 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Systems and methods for block based edgel detection with false edge elimination
US10783668B2 (en) 2017-12-22 2020-09-22 Samsung Electronics Co., Ltd. Handling duplicate points in point cloud compression
WO2019129923A1 (en) 2017-12-29 2019-07-04 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
WO2019135024A1 (en) 2018-01-02 2019-07-11 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
WO2019142667A1 (ja) 2018-01-17 2019-07-25 ソニー株式会社 画像処理装置および方法
EP3514969B1 (en) 2018-01-18 2021-08-04 BlackBerry Limited Methods and devices using direct coding in point cloud compression
EP3515068A1 (en) 2018-01-19 2019-07-24 Thomson Licensing A method and apparatus for encoding and decoding three-dimensional scenes in and from a data stream
EP3741118A1 (en) 2018-01-19 2020-11-25 InterDigital VC Holdings, Inc. Processing a point cloud
WO2019156141A1 (ja) 2018-02-08 2019-08-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US11044495B1 (en) 2018-02-13 2021-06-22 Cyborg Inc. Systems and methods for variable length codeword based data encoding and decoding using dynamic memory allocation
GB2571306A (en) 2018-02-23 2019-08-28 Sony Interactive Entertainment Europe Ltd Video recording and playback systems and methods
US10916041B2 (en) 2018-03-30 2021-02-09 Samsung Electronics Co., Ltd. Method for depth image di coding
KR20190117287A (ko) 2018-04-06 2019-10-16 삼성전자주식회사 중복 포인트 처리 방법 및 장치
EP3553746B1 (en) 2018-04-09 2021-08-25 BlackBerry Limited Methods and devices for predictive coding of point clouds
WO2019196475A1 (zh) 2018-04-09 2019-10-17 华为技术有限公司 全局匹配patch的获取方法及装置
EP3777185A4 (en) 2018-04-09 2022-01-05 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR VOLUMETRIC VIDEO
JP7273029B2 (ja) 2018-04-10 2023-05-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US10939129B2 (en) 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
US10909726B2 (en) 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
US10867414B2 (en) 2018-04-10 2020-12-15 Apple Inc. Point cloud attribute transfer algorithm
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US10909727B2 (en) 2018-04-10 2021-02-02 Apple Inc. Hierarchical point cloud compression with smoothing
US11381621B2 (en) 2018-04-11 2022-07-05 Samsung Electronics Co., Ltd. Device and method for processing data in multimedia system
JPWO2019198523A1 (ja) 2018-04-11 2021-05-13 ソニーグループ株式会社 画像処理装置および方法
US10984541B2 (en) 2018-04-12 2021-04-20 Samsung Electronics Co., Ltd. 3D point cloud compression systems for delivery and access of a subset of a compressed 3D point cloud
US10657689B2 (en) 2018-04-13 2020-05-19 Sony Corporation Method and apparatus for point cloud color processing
WO2019199415A1 (en) 2018-04-13 2019-10-17 Futurewei Technologies, Inc. Differential coding method for patch side information
AU2019256021B2 (en) 2018-04-19 2024-05-16 Panasonic Intellectual Property Corporation Of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
CN108833927B (zh) 2018-05-03 2019-08-16 北京大学深圳研究生院 一种基于删除量化矩阵中0元素的点云属性压缩方法
US11146284B2 (en) 2018-05-03 2021-10-12 Sap Se Space-filling curve dictionary-based compression
CN108632607B (zh) 2018-05-09 2019-06-21 北京大学深圳研究生院 一种基于多角度自适应帧内预测的点云属性压缩方法
EP3792875A4 (en) 2018-05-11 2021-06-30 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
EP3579194A1 (en) 2018-06-08 2019-12-11 My Virtual Reality Software AS Indexation of massive point cloud data for efficient visualization
US11501507B2 (en) 2018-06-26 2022-11-15 Sony Group Corporation Motion compensation of geometry information
BR112020026591A2 (pt) 2018-06-26 2021-03-23 Huawei Technologies Co., Ltd. Projetos de sintaxe de alto nível para codificação de nuvem de pontos
US11010955B2 (en) 2018-06-27 2021-05-18 Sony Group Corporation Point cloud mapping
US11017566B1 (en) 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
US11044478B2 (en) 2018-07-02 2021-06-22 Apple Inc. Compression with multi-level encoding
EP3591975A1 (en) 2018-07-03 2020-01-08 Industrial Technology Research Institute Method and apparatus for processing patches of a point cloud
US11202098B2 (en) 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
US11348283B2 (en) 2018-07-10 2022-05-31 Samsung Electronics Co., Ltd. Point cloud compression via color smoothing of point cloud prior to texture video generation
US10911787B2 (en) 2018-07-10 2021-02-02 Apple Inc. Hierarchical point cloud compression
EP3595181B1 (en) 2018-07-11 2023-09-06 BlackBerry Limited Predictor-copy coding mode for coding of point clouds
MX2020013705A (es) 2018-07-11 2021-03-02 Sony Corp Aparato de procesamiento de imagen y metodo de procesamiento de imagen.
EP3821608A4 (en) 2018-07-11 2022-04-13 Nokia Technologies Oy METHOD AND DEVICE FOR STORAGE AND SIGNALING OF COMPRESSED POINT CLOUDS
US11138762B2 (en) 2018-07-11 2021-10-05 Samsung Electronics Co., Ltd. Visual quality of video based point cloud compression using one or more additional patches
US11012713B2 (en) 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
US20200045344A1 (en) 2018-07-31 2020-02-06 Intel Corporation Video processing mechanism
US10783698B2 (en) 2018-07-31 2020-09-22 Intel Corporation Point cloud operations
EP3614674A1 (en) 2018-08-23 2020-02-26 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
EP3850579A4 (en) 2018-09-13 2022-08-03 Nokia Technologies Oy METHOD, DEVICE AND COMPUTER PROGRAM PRODUCT FOR VOLUMETRIC VIDEO
WO2020055865A1 (en) 2018-09-14 2020-03-19 Futurewei Technologies, Inc. Improved attribute support in point cloud coding
US20210398352A1 (en) 2018-09-28 2021-12-23 Sharp Kabushiki Kaisha 3d data generation apparatus, 3d data reconstruction apparatus, control program, and recording medium
US11386524B2 (en) 2018-09-28 2022-07-12 Apple Inc. Point cloud compression image padding
US11132818B2 (en) 2018-09-28 2021-09-28 Apple Inc. Predicting attributes for point cloud compression according to a space filling curve
CN112740277A (zh) 2018-09-28 2021-04-30 索尼公司 图像处理装置和图像处理方法
US20200153885A1 (en) 2018-10-01 2020-05-14 Lg Electronics Inc. Apparatus for transmitting point cloud data, a method for transmitting point cloud data, an apparatus for receiving point cloud data and/or a method for receiving point cloud data
US11367224B2 (en) 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
WO2020071416A1 (ja) 2018-10-02 2020-04-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US11166048B2 (en) 2018-10-02 2021-11-02 Tencent America LLC Method and apparatus for video coding
US10853973B2 (en) 2018-10-03 2020-12-01 Apple Inc. Point cloud compression using fixed-point numbers
EP3861752A1 (en) 2018-10-05 2021-08-11 InterDigital VC Holdings, Inc. A method and device for encoding and reconstructing missing points of a point cloud
US11430155B2 (en) 2018-10-05 2022-08-30 Apple Inc. Quantized depths for projection point cloud compression
WO2020075780A1 (ja) 2018-10-09 2020-04-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
EP3883246A4 (en) 2018-11-13 2021-12-15 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
EP3882858A4 (en) 2018-11-16 2022-02-09 Panasonic Intellectual Property Corporation of America METHOD OF ENCODING THREE-DIMENSIONAL DATA, METHOD OF DECODING OF THREE-DIMENSIONAL DATA, DEVICE FOR ENCODING OF THREE-DIMENSIONAL DATA, AND DECODER OF DECODING OF THREE-DIMENSIONAL DATA
US10867430B2 (en) 2018-11-19 2020-12-15 Intel Corporation Method and system of 3D reconstruction with volume-based filtering for image processing
US11010907B1 (en) 2018-11-27 2021-05-18 Zoox, Inc. Bounding box selection
US10762667B2 (en) 2018-11-30 2020-09-01 Point Cloud Compression, B.V. Method and apparatus for compression of point cloud data
WO2020116563A1 (ja) 2018-12-06 2020-06-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2020123252A1 (en) 2018-12-11 2020-06-18 Google Llc Compression of data representing triangular mesh attributes using machine learning
US10812818B2 (en) 2018-12-14 2020-10-20 Tencent America LLC Network abstraction unit layer type classes in network abstraction layer unit header
US11095900B2 (en) 2018-12-19 2021-08-17 Sony Group Corporation Point cloud coding structure
US11288843B2 (en) 2019-01-04 2022-03-29 Samsung Electronics Co., Ltd. Lossy compression of point cloud occupancy maps
US11284091B2 (en) 2019-03-25 2022-03-22 Apple Inc. Video based point cloud compression-patch alignment and size determination in bounding box
US11454710B2 (en) 2019-01-08 2022-09-27 Apple Inc. Point cloud compression using a space filling curve for level of detail generation
US11348284B2 (en) 2019-01-08 2022-05-31 Apple Inc. Auxiliary information signaling and reference management for projection-based point cloud compression
US11373338B2 (en) 2019-01-09 2022-06-28 Samsung Electronics Co., Ltd. Image padding in video-based point-cloud compression CODEC
US10977773B2 (en) 2019-02-19 2021-04-13 Google Llc Cost-driven framework for progressive compression of textured meshes
US11393132B2 (en) 2019-03-07 2022-07-19 Samsung Electronics Co., Ltd. Mesh compression
US11823421B2 (en) 2019-03-14 2023-11-21 Nokia Technologies Oy Signalling of metadata for volumetric video
CN110097639B (zh) 2019-03-18 2023-04-18 北京工业大学 一种三维人体姿态估计方法
US10964068B2 (en) 2019-03-18 2021-03-30 Blackberry Limited Methods and devices for predictive point cloud attribute coding
US10587286B1 (en) 2019-03-18 2020-03-10 Blackberry Limited Methods and devices for handling equiprobable symbols in entropy coding
US11334969B2 (en) 2019-03-19 2022-05-17 Sony Group Corporation Point cloud geometry padding
US11503367B2 (en) 2019-03-20 2022-11-15 Tencent America LLC Techniques and apparatus for weighted-median prediction for point-cloud attribute coding
WO2020190075A1 (ko) 2019-03-20 2020-09-24 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
EP3751857A1 (en) 2019-06-14 2020-12-16 Nokia Technologies Oy A method, an apparatus and a computer program product for volumetric video encoding and decoding
CN113615181B (zh) 2019-06-26 2024-02-20 腾讯美国有限责任公司 用于点云编解码的方法、装置
US11711544B2 (en) 2019-07-02 2023-07-25 Apple Inc. Point cloud compression with supplemental information messages
WO2021002657A1 (ko) 2019-07-04 2021-01-07 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11368717B2 (en) 2019-09-16 2022-06-21 Tencent America LLC Method and apparatus for point cloud compression
US11450030B2 (en) 2019-09-24 2022-09-20 Apple Inc. Three-dimensional mesh compression using a video encoder
US11627314B2 (en) 2019-09-27 2023-04-11 Apple Inc. Video-based point cloud compression with non-normative smoothing
US11562507B2 (en) 2019-09-27 2023-01-24 Apple Inc. Point cloud compression using video encoding with time consistent patches
US11202078B2 (en) 2019-09-27 2021-12-14 Apple Inc. Dynamic point cloud compression using inter-prediction
US11409998B2 (en) 2019-10-02 2022-08-09 Apple Inc. Trimming search space for nearest neighbor determinations in point cloud compression
US11398833B2 (en) 2019-10-02 2022-07-26 Apple Inc. Low-latency encoding using a bypass sub-stream and an entropy encoded sub-stream
US11538196B2 (en) 2019-10-02 2022-12-27 Apple Inc. Predictive coding for point cloud compression
CN114616827A (zh) 2019-10-03 2022-06-10 Lg电子株式会社 点云数据发送装置及方法、点云数据接收装置及方法
KR102340238B1 (ko) 2019-10-03 2021-12-16 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11568571B2 (en) 2019-10-03 2023-01-31 Tencent America LLC Techniques and apparatus for lossless lifting for attribute coding
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
US11676310B2 (en) 2019-11-16 2023-06-13 Uatc, Llc System and methods for encoding octree structured point cloud data using an entropy model
US11223836B2 (en) 2019-12-02 2022-01-11 Tencent America LLC Method and apparatus for point cloud coding
US11417029B2 (en) 2019-12-02 2022-08-16 Tencent America LLC Method and apparatus for point cloud coding
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11477483B2 (en) 2020-01-08 2022-10-18 Apple Inc. Video-based point cloud compression with variable patch scaling
US11475605B2 (en) 2020-01-09 2022-10-18 Apple Inc. Geometry encoding of duplicate points
US11710259B2 (en) 2020-02-10 2023-07-25 Tencent America LLC Predictive tree coding for point cloud coding
US11741637B2 (en) 2020-02-10 2023-08-29 Tencent America LLC Node-based geometry and attribute coding for a point cloud
US11450031B2 (en) 2020-04-14 2022-09-20 Apple Inc. Significant coefficient flag encoding for point cloud attribute compression
US11375208B2 (en) 2020-06-23 2022-06-28 Sony Group Corporation Trisoup node size per slice
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
GB202100316D0 (en) 2021-01-11 2021-02-24 Samsung Electronics Co Ltd Hybrid image retargeting
US20230169658A1 (en) 2021-11-29 2023-06-01 Adobe Inc. Instant masks with polarized light

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160100151A1 (en) 2010-04-16 2016-04-07 Google Technology Holdings LLC Method and apparatus for distribution of 3d television program materials
US20170214943A1 (en) 2016-01-22 2017-07-27 Mitsubishi Electric Research Laboratories, Inc. Point Cloud Compression using Prediction and Shape-Adaptive Transforms

Also Published As

Publication number Publication date
US11527018B2 (en) 2022-12-13
US11922665B2 (en) 2024-03-05
US20230125227A1 (en) 2023-04-27
US10909725B2 (en) 2021-02-02
CN111133476B (zh) 2023-11-10
CN111133476A (zh) 2020-05-08
KR20200038534A (ko) 2020-04-13
DE112018005250T5 (de) 2020-06-18
WO2019055963A1 (en) 2019-03-21
KR20210154893A (ko) 2021-12-21
US20210150765A1 (en) 2021-05-20
KR102340774B1 (ko) 2021-12-20
US20190087979A1 (en) 2019-03-21

Similar Documents

Publication Publication Date Title
KR102398408B1 (ko) 포인트 클라우드 압축
US11533494B2 (en) Point cloud compression
US11748916B2 (en) Occupancy map block-to-patch information compression
US11508094B2 (en) Point cloud compression
US11663744B2 (en) Point cloud compression with adaptive filtering
US11676309B2 (en) Point cloud compression using masks
US11683525B2 (en) Point cloud compression with multi-resolution video encoding
US11477483B2 (en) Video-based point cloud compression with variable patch scaling
US11284091B2 (en) Video based point cloud compression-patch alignment and size determination in bounding box
US11627314B2 (en) Video-based point cloud compression with non-normative smoothing
US11430155B2 (en) Quantized depths for projection point cloud compression
US20210266597A1 (en) Bit Stream Structure for Compressed Point Cloud Data
US10699444B2 (en) Point cloud occupancy map compression
WO2021003229A1 (en) Point cloud compression with supplemental information messages
WO2020146547A1 (en) Auxiliary information signaling and reference management for projection-based point cloud compression

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant