KR20230081704A - G-pcc 에서의 예측 지오메트리 코딩 - Google Patents

G-pcc 에서의 예측 지오메트리 코딩 Download PDF

Info

Publication number
KR20230081704A
KR20230081704A KR1020237010881A KR20237010881A KR20230081704A KR 20230081704 A KR20230081704 A KR 20230081704A KR 1020237010881 A KR1020237010881 A KR 1020237010881A KR 20237010881 A KR20237010881 A KR 20237010881A KR 20230081704 A KR20230081704 A KR 20230081704A
Authority
KR
South Korea
Prior art keywords
value
syntax element
point cloud
residual
encoding
Prior art date
Application number
KR1020237010881A
Other languages
English (en)
Inventor
밥파디트야 레이
아다르쉬 크리쉬난 라마수브라모니안
더 아우베라 게르트 판
마르타 카르체비츠
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20230081704A publication Critical patent/KR20230081704A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/06Systems determining position data of a target
    • G01S13/42Simultaneous measurement of distance and other co-ordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • G01S2013/9316Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles combined with communication equipment with other vehicles or with base stations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • G01S2013/9327Sensor installation details
    • G01S2013/93271Sensor installation details in the front of the vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/003Transmission of data between radar, sonar or lidar systems and remote stations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4802Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Abstract

포인트 클라우드를 인코딩하는 예시적인 방법은 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻는 단계; 및 2차 잔차의 값을 인코딩하는 단계를 포함하고, 값을 인코딩하는 단계는 CABAC(context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈(prefix bin)을 인코딩하는 단계; 및 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 신택스 엘리먼트의 서픽스 빈(suffix bin)을 인코딩하는 단계를 포함한다.

Description

G-PCC 에서의 예측 지오메트리 코딩
본 출원은, 2021년 9월 27일자로 출원된 미국 출원 제17/449,003호, 및 2020년 10월 7일자로 출원된 미국 가특허출원 제63/088,831호, 및 2020년 11월 16일자로 출원된 미국 가특허출원 제63/114,317호에 대해 우선권을 주장하고, 이들 출원들의 전체 내용은 참조에 의해 본 명세서에 원용된다. 2021년 9월 27일자로 출원된 미국 출원 제17/449,003호는 2020년 10월 7일자로 출원된 미국 가특허출원 제63/088,831호, 및 2020년 11월 16일자로 출원된 미국 가특허출원 제63/114,317호의 이익을 주장한다.
기술분야
본 개시는 포인트 클라우드 인코딩 및 디코딩에 관한 것이다.
포인트 클라우드(point cloud)는 3차원 공간 내 포인트들의 집합이다. 포인트들은 3차원 공간 내의 오브젝트들 상의 포인트들에 대응할 수도 있다. 따라서, 포인트 클라우드는 3차원 공간의 물리적 콘텐츠를 표현하는데 사용될 수도 있다. 포인트 클라우드들은 매우 다양한 상황들에서 유용성을 가질 수도 있다. 예를 들어, 포인트 클라우드들은 도로 상의 오브젝트들의 포지션들을 표현하기 위해 자율 차량들의 컨텍스트에서 사용될 수도 있다. 다른 예에 있어서, 포인트 클라우드들은 증강 현실 (AR) 또는 혼합 현실 (MR) 애플리케이션에서 가상 오브젝트들을 포지셔닝하기 위해 환경의 물리적 콘텐츠를 표현하는 컨텍스트에서 사용될 수도 있다. 포인트 클라우드 압축은 포인트 클라우드들을 인코딩 및 디코딩하기 위한 프로세스이다. 포인트 클라우드들을 인코딩하는 것은 포인트 클라우드들의 저장 및 송신에 필요한 데이터의 양을 감소시킬 수도 있다.
일반적으로, 본 개시는 현재 개발되고 있는 G-PCC(Geometry Point Cloud Compression) 표준과 같은 포인트 클라우드(point cloud)의 코딩 노드를 위한 기법을 설명한다. 그러나, 예시적인 기법은 G-PCC 표준에 한정되지 않는다. G-PCC의 일부 예에서, 포인트 클라우드의 노드(포인트라고도 함)의 포지션의 좌표는
Figure pct00001
도메인으로 변환될 수도 있고 여기서 노드의 포지션은 3개의 파라미터, 반경 r, 방위각
Figure pct00002
, 및 레이저 인덱스 i 에 의해 표현된다. G-PCC에서 예측 지오메트리 코딩(predictive geometry coding)을 위해 각도 모드(angular mode)를 사용할 때, G-PCC 코더는
Figure pct00003
도메인에서 예측을 수행할 수도 있다. 예를 들어, G-PCC 코더는 노드의 예측된 포지션을 결정하고 노드의 예측된 포지션을 1차 잔차(primary residual) 데이터에 더하여 노드의 재구성된 포지션을 결정할 수도 있다. 따라서, 적어도 일부 예에서, 1차 잔차는
Figure pct00004
도메인에서 코딩될 수도 있다. (예: 좌표 변환을 위한) 반올림(rounding)에서의 오류로 인해,
Figure pct00005
에서의 코딩은 손실이 발생할 수도 있다. 일부 예들에서, 이 손실은 데카르트(Cartesian) 도메인에 있을 수도 있는 잔차들의 제 2 세트를 코딩함으로써 감소되거나 제거될 수도 있다. 그러나, G-PCC의 일부 구현들은 1차 및 2차 잔차를 시그널링하기 위해 컨텍스트 코딩된 빈(context coded bin)이 많이 필요할 수도 있으며, 이는 바람직하지 않게 계산 집약적일 수도 있다.
본 개시의 하나 이상의 양태에 따르면, G-PCC 코더는 감소된 수의 컨텍스트 및/또는 컨텍스트 코딩된 빈을 사용하여 2차 잔차(secondary residual)를 시그널링할 수도 있다. 예를 들어, 2개의 개별 신택스 엘리먼트 (예: 컨텍스트 0...15로 코딩된 ptn_sec_residual_abs_minus2 및 프리픽스 컨텍스트(prefix context)로서 0을 갖고 서픽스(suffix)를 바이패스 코딩하는 ptn_sec_residual_abs_minus17)를 사용하여 2차 잔차 값의 절대값을 시그널링하는 것과는 대조적으로, G-PCC 코더는 단일 신택스 엘리먼트를 사용하여 2차 잔차 값의 절대값을 시그널링할 수도 있다. 예를 들어, G-PCC 코더는 프리픽스 컨텍스트의 제 1 세트(예: 0...4) 및 서픽스 컨텍스트의 제 2 세트(예: 5...8)로, 2차 잔차 값의 절대 값을 지정하는 단일 신택스 엘리먼트를 시그널링할 수도 있다. 이러한 방식으로, 본 개시의 기법은 2차 잔차를 시그널링하는 데 사용되는 컨텍스트 및/또는 컨텍스트 코딩된 빈의 수를 감소시킬 수도 있다. 이와 같이, 본 개시의 기법은 포인트 클라우드 코딩의 계산 복잡성을 감소시킬 수 있다.
위에 언급된 바처럼, G-PCC에서 예측 지오메트리 코딩을 위한 각도 모드를 사용할 때, G-PCC 코더는 노드의 예측된 포지션을 결정하고 노드의 예측된 포지션을 잔차 데이터에 더하여 노드의 재구성된 포지션을 결정할 수도 있다. G-PCC는 노드의 예측된 포지션을 결정하기 위해 여러 기법을 제공할 수도 있다. 일례로서, G-PCC는 예측된 포지션의
Figure pct00006
가 모두 0 이라고 추론될 수도 있는 영 예측 모드(zero prediction mode)를 제공한다. 다른 예로서, G-PCC는 예측된 포지션의
Figure pct00007
가 재구성된 노드(예: 현재 노드의 부모 노드(parent node))의
Figure pct00008
로부터 상속되는 (예: 복사되는) 델타 예측 모드를 제공한다. 그러나, 영 예측 모드는 매우 비효율적일 수도 있으며 결과적으로 영 예측은 거의 사용되지 않을 수도 있다.
본 개시의 하나 이상의 기법에 따르면, G-PCC 코더는 현재 노드의 예측된 포지션의 성분의 서브세트가 부모 노드로부터 상속되는 수정된 영 예측 모드를 수행할 수도 있다. 예를 들어, 부모 노드로부터 예측된 포지션의
Figure pct00009
의 3개 모두를 상속하는 것과는 대조적으로, G-PCC 코더는 부모 노드로부터 예측된 포지션의
Figure pct00010
i 를 상속하고, r 을 최소 값 (예: 0 또는 별도로 시그널링된 최소값)으로 추론할 수도 있다. 예측된 포지션의
Figure pct00011
i 를 상속하지만 r 을 상속하지 않음으로써, G-PCC 코더는 r 에 대해 잔차 데이터의 큰 값을 시그널링해야 하는 것을 피할 수도 있고, 여기서 그 외에
Figure pct00012
i 는 유사하다(그리고 따라서 잔차 데이터에 대해 작은 값을 갖는다). 이러한 방식으로, 본 개시의 기술은 포인트 클라우드 코딩의 코딩 효율을 향상시킬 수 있다.
일례에서, 포인트 클라우드를 인코딩하는 방법은 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻는 단계; 및 2차 잔차의 값을 인코딩하는 단계를 포함하고, 상기 값을 인코딩하는 단계는 CABAC(context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈(prefix bin)을 인코딩하는 것; 및 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 신택스 엘리먼트의 서픽스 빈(suffix bin)을 인코딩하는 것을 포함한다.
다른 예에서, 포인트 클라우드를 디코딩하는 방법은 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻는 단계; 및 2차 잔차의 값을 디코딩하는 단계를 포함하고, 상기 값을 디코딩하는 단계는 CABAC 컨텍스트의 제 1 세트를 이용하여, 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 디코딩하는 것; 및 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 신택스 엘리먼트의 서픽스 빈을 디코딩하는 것을 포함한다.
다른 예에서, 포인트 클라우드를 인코딩하기 위한 디바이스는 포인트 클라우드의 적어도 일부를 저장하도록 구성된 메모리; 및 회로부에 구현된 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은: 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻고; 2차 잔차의 값을 인코딩하도록 구성되고, 상기 값을 인코딩하기 위해, 하나 이상의 프로세서들은 CABAC 컨텍스트의 제 1 세트를 이용하여, 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 인코딩하고; 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 신택스 엘리먼트의 서픽스 빈을 인코딩하도록 구성된다.
다른 예에서, 포인트 클라우드를 디코딩하기 위한 디바이스는 포인트 클라우드의 적어도 일부를 저장하도록 구성된 메모리; 및 회로부에 구현된 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은: 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻고; 2차 잔차의 값을 디코딩하도록 구성되고, 상기 값을 디코딩하기 위해, 하나 이상의 프로세서들은 CABAC 컨텍스트의 제 1 세트를 이용하여, 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 디코딩하고; 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 신택스 엘리먼트의 서픽스 빈을 디코딩하도록 구성된다.
다른 예에서, 컴퓨터 판독가능 저장 매체는, 실행될 때, 포인트 클라우드 인코더의 하나 이상의 프로세서들로 하여금, 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻게 하고; 2차 잔차의 값을 인코딩하게 하는 명령들을 저장하고, 하나 이상의 프로세서로 하여금 값을 인코딩하게 하는 명령들은 하나 이상의 프로세서로 하여금 CABAC 컨텍스트의 제 1 세트를 이용하여, 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 인코딩하게 하고; 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 신택스 엘리먼트의 서픽스 빈을 인코딩하게 하는 명령들을 포함한다.
다른 예에서, 컴퓨터 판독가능 저장 매체는, 실행될 때, 포인트 클라우드 디코더의 하나 이상의 프로세서들로 하여금 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻게 하고; 2차 잔차의 값을 디코딩하게 하는 명령들을 저장하고, 하나 이상의 프로세서로 하여금 값을 디코딩하게 하는 명령들은 하나 이상의 프로세서로 하여금 CABAC 컨텍스트의 제 1 세트를 이용하여, 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 디코딩하게 하고; 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 신택스 엘리먼트의 서픽스 빈을 디코딩하게 하는 명령들을 포함한다.
다른 예에서, 포인트 클라우드를 디코딩하는 방법은 복수의 미리 정의된 예측 모드로부터, 포인트 클라우드의 현재 예측 트리 노드의 포지션의 예측 지오메트리 코딩을 수행하기 위한 예측 모드를 선택하는 단계로서, 복수의 예측 모드는 적어도: 영 예측 모드, 및 델타 예측 모드를 포함하는, 상기 예측 모드를 선택하는 단계; 영 예측 모드를 선택하는 것에 응답하여: 현재 예측 트리 노드의 부모 노드의 반경, 방위각 및 레이저 인덱스를 결정하는 단계; 현재 예측 트리 노드의 예측된 포지션의 방위각 및 레이저 인덱스를 부모 노드의 방위각 및 레이저 인덱스로 추론하는 단계; 최소 반경 값으로 예측된 포지션의 반경을 추론하는 단계로서, 상기 최소 반경 값은 부모 노드의 반경과 상이한, 상기 반경을 추론하는 단계; 및 현재 예측 트리 노드의 예측된 포지션에 기초하여, 현재 예측 트리 노드의 포지션을 결정하는 단계를 포함한다.
다른 예에서, 포인트 클라우드를 인코딩하는 방법은 복수의 미리 정의된 예측 모드로부터, 포인트 클라우드의 현재 예측 트리 노드의 포지션의 예측 지오메트리 코딩을 수행하기 위한 예측 모드를 선택하는 단계로서, 복수의 예측 모드는 적어도: 영 예측 모드, 및 델타 예측 모드를 포함하는, 상기 예측 모드를 선택하는 단계; 선택 모드가 영 예측 모드인 경우: 현재 예측 트리 노드의 부모 노드의 반경, 방위각 및 레이저 인덱스를 결정하는 단계; 현재 예측 트리 노드의 예측된 포지션의 방위각 및 레이저 인덱스를 부모 노드의 방위각 및 레이저 인덱스로 추론하는 단계; 최소 반경 값으로 예측된 포지션의 반경을 추론하는 단계로서, 상기 최소 반경 값은 부모 노드의 반경과 상이한, 상기 반경을 추론하는 단계; 및 현재 예측 트리 노드의 예측된 포지션에 기초하여, 현재 예측 트리 노드의 포지션을 결정하는 단계를 포함한다.
다른 예에서, 포인트 클라우드를 디코딩하기 위한 디바이스는 포인트 클라우드의 적어도 일부를 저장하도록 구성된 메모리; 및 회로부에 구현된 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은: 복수의 미리 정의된 예측 모드로부터, 포인트 클라우드의 현재 예측 트리 노드의 포지션의 예측 지오메트리 코딩을 수행하기 위한 예측 모드를 선택하는 것으로서, 복수의 예측 모드는 적어도: 영 예측 모드, 및 델타 예측 모드를 포함하는, 상기 예측 모드를 선택하고; 영 예측 모드를 선택하는 것에 응답하여: 현재 예측 트리 노드의 부모 노드의 반경, 방위각 및 레이저 인덱스를 결정하고; 현재 예측 트리 노드의 예측된 포지션의 방위각 및 레이저 인덱스를 부모 노드의 방위각 및 레이저 인덱스로 추론하고; 최소 반경 값으로 예측된 포지션의 반경을 추론하는 것으로서, 상기 최소 반경 값은 부모 노드의 반경과 상이한, 상기 반경을 추론하고; 현재 예측 트리 노드의 예측된 포지션에 기초하여, 현재 예측 트리 노드의 포지션을 결정하도록 구성된다.
다른 예에서, 포인트 클라우드를 인코딩하기 위한 디바이스는 포인트 클라우드의 적어도 일부를 저장하도록 구성된 메모리; 및 회로부에 구현된 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은: 복수의 미리 정의된 예측 모드로부터, 포인트 클라우드의 현재 예측 트리 노드의 포지션의 예측 지오메트리 코딩을 수행하기 위한 예측 모드를 선택하는 것으로서, 복수의 예측 모드는 적어도: 영 예측 모드, 및 델타 예측 모드를 포함하는, 상기 예측 모드를 선택하고; 선택 모드가 영 예측 모드인 경우: 현재 예측 트리 노드의 부모 노드의 반경, 방위각 및 레이저 인덱스를 결정하고; 현재 예측 트리 노드의 예측된 포지션의 방위각 및 레이저 인덱스를 부모 노드의 방위각 및 레이저 인덱스로 추론하고; 최소 반경 값으로 예측된 포지션의 반경을 추론하는 것으로서, 상기 최소 반경 값은 부모 노드의 반경과 상이한, 상기 반경을 추론하고; 현재 예측 트리 노드의 예측된 포지션에 기초하여, 현재 예측 트리 노드의 포지션을 결정하도록 구성된다.
다른 예에서, 컴퓨터 판독가능 저장 매체는, 실행될 때, 포인트 클라우드 디코딩 디바이스의 하나 이상의 프로세서들로 하여금 복수의 미리 정의된 예측 모드로부터, 포인트 클라우드의 현재 예측 트리 노드의 포지션의 예측 지오메트리 코딩을 수행하기 위한 예측 모드를 선택하게 하는 것으로서, 복수의 예측 모드는 적어도: 영 예측 모드, 및 델타 예측 모드를 포함하는, 상기 예측 모드를 선택하게 하고; 영 예측 모드를 선택하는 것에 응답하여: 현재 예측 트리 노드의 부모 노드의 반경, 방위각 및 레이저 인덱스를 결정하게 하고; 현재 예측 트리 노드의 예측된 포지션의 방위각 및 레이저 인덱스를 부모 노드의 방위각 및 레이저 인덱스로 추론하게 하고; 최소 반경 값으로 예측된 포지션의 반경을 추론하게 하는 것으로서, 상기 최소 반경 값은 부모 노드의 반경과 상이한, 상기 반경을 추론하게 하고; 현재 예측 트리 노드의 예측된 포지션에 기초하여, 현재 예측 트리 노드의 포지션을 결정하게 하는 명령들을 저장한다.
다른 예에서, 컴퓨터 판독가능 저장 매체는, 실행될 때, 포인트 클라우드 인코딩 디바이스의 하나 이상의 프로세서들로 하여금: 복수의 미리 정의된 예측 모드로부터, 포인트 클라우드의 현재 예측 트리 노드의 포지션의 예측 지오메트리 코딩을 수행하기 위한 예측 모드를 선택하게 하는 것으로서, 복수의 예측 모드는 적어도: 영 예측 모드, 및 델타 예측 모드를 포함하는, 상기 예측 모드를 선택하게 하고; 선택된 예측 모드가 영 예측 모드인 경우: 현재 예측 트리 노드의 부모 노드의 반경, 방위각 및 레이저 인덱스를 결정하게 하고; 현재 예측 트리 노드의 예측된 포지션의 방위각 및 레이저 인덱스를 부모 노드의 방위각 및 레이저 인덱스로 추론하게 하고; 최소 반경 값으로 예측된 포지션의 반경을 추론하게 하는 것으로서, 상기 최소 반경 값은 부모 노드의 반경과 상이한, 상기 반경을 추론하게 하고; 현재 예측 트리 노드의 예측된 포지션에 기초하여, 현재 예측 트리 노드의 포지션을 결정하게 하는 명령들을 저장한다.
하나 이상의 예들의 상세는 첨부 도면 및 아래의 설명에 제시되어 있다. 다른 특징, 목적 및 이점들은 상세한 설명, 도면, 및 청구항들로부터 분명해질 것이다.
도 1 은 본 개시의 기법들을 수행할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템을 예시하는 블록도이다.
도 2 는 예시적인 지오메트리 포인트 클라우드 압축 (G-PCC) 인코더를 예시하는 블록도이다.
도 3 은 예시적인 G-PCC 디코더를 예시하는 블록도이다.
도 4는 예측 지오메트리 코딩을 위한 예측 트리의 개념도이다.
도 5a 및 5b는 스피닝 LIDAR 획득 모델의 개념도이다.
도 6 은 본 개시의 하나 이상의 기법들과 함께 사용될 수도 있는 예시적인 레인지-파인딩 (range-finding) 시스템을 예시한 개념도이다.
도 7 은 본 개시의 하나 이상의 기법들이 사용될 수도 있는 예시적인 차량 기반 시나리오를 예시한 개념도이다.
도 8 는 본 개시의 하나 이상의 기법들이 사용될 수도 있는 예시적인 확장 현실 시스템을 예시한 개념도이다.
도 9 은 본 개시의 하나 이상의 기법들이 사용될 수도 있는 예시적인 모바일 디바이스 시스템을 예시한 개념도이다.
도 10a 및 도 10b 는 이진 산술 코딩에서의 레인지 업데이트 프로세스를 예시하는 개념도이다.
도 11 은 이진 산술 코딩에서의 출력 프로세스를 예시하는 개념도이다.
도 12 은 G-PCC 인코더에서의 컨텍스트 적응 이진 산술 코더를 예시하는 블록도이다.
도 13 은 G-PCC 디코더에서의 컨텍스트 적응 이진 산술 코더를 예시하는 블록도이다.
도 14 은 본 개시의 하나 이상의 기법들에 따른, 포인트 클라우드를 프로세싱하기 위한 예시적인 기법을 예시한 흐름도이다.
도 15 은 본 개시의 하나 이상의 기법들에 따른, 포인트 클라우드를 프로세싱하기 위한 예시적인 기법을 예시한 흐름도이다.
상세한 설명
도 1 은 본 개시의 기법들을 수행할 수도 있는 예시적인 인코딩 및 디코딩 시스템 (100) 을 예시하는 블록도이다. 본 개시의 기법들은 일반적으로 포인트 클라우드 데이터를 코딩 (인코딩 및/또는 디코딩) 하는 것, 즉 포인트 클라우드 압축을 지원하는 것과 관련된다. 일반적으로, 포인트 클라우드 데이터는 포인트 클라우드를 프로세싱하기 위한 임의의 데이터를 포함한다. 코딩은 포인트 클라우드 데이터를 압축 및/또는 압축해제하는데 있어 효율적일 수도 있다.
도 1에 도시된 바처럼, 시스템 (100) 은 소스 디바이스 (102) 및 목적지 디바이스 (116) 를 포함한다. 소스 디바이스 (102) 는 목적지 디바이스 (116) 에 의해 디코딩될 인코딩된 포인트 클라우드 데이터를 제공한다. 특히, 도 1의 예에서, 소스 디바이스 (102) 는 포인트 클라우드 데이터를 컴퓨터 판독가능 매체 (110) 를 통해 목적지 디바이스 (116) 에 제공한다. 소스 디바이스 (102) 및 목적지 디바이스 (116) 는 데스크탑 컴퓨터들, 노트북 (즉, 랩탑) 컴퓨터들, 태블릿 컴퓨터들, 셋-탑 박스들, 전화기 핸드셋들, 예를 들어 스마트폰들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 비디오 스트리밍 디바이스, 지상 또는 해상 비히클, 스페이스크래프트, 에어크래프트, 로봇, LIDAR 디바이스, 위성 등을 포함한, 광범위한 디바이스들 중 임의의 것을 포함할 수도 있다. 일부 경우들에서, 소스 디바이스(102) 및 목적지 디바이스(116)는 무선(wireless) 통신을 위해 갖추어질 수도 있다.
도 1 의 예에서, 소스 디바이스(102)는 데이터 소스(104), 메모리(106), G-PCC 인코더(200), 및 출력 인터페이스(108)를 포함한다. 목적지 디바이스 (116) 는 입력 인터페이스 (122), G-PCC 디코더 (300), 메모리 (120), 및 데이터 컨슈머 (118) 를 포함한다. 본 개시에 따르면, 소스 디바이스(102)의 G-PCC 인코더(200) 및 목적지 디바이스(116)의 G-PCC 디코더(300)는 예측 지오메트리 코딩에 관련된 본 개시의 기법들을 적용하도록 구성될 수도 있다. 따라서, 소스 디바이스 (102) 는 인코딩 디바이스의 예를 나타내는 한편, 목적지 디바이스 (116) 는 디코딩 디바이스의 예를 나타낸다. 다른 예들에 있어서, 소스 디바이스 (102) 및 목적지 디바이스 (116) 는 다른 컴포넌트들 또는 배열들을 포함할 수도 있다. 예를 들어, 소스 디바이스(102)는 내부 또는 외부 소스로부터 데이터(예를 들어, 포인트 클라우드 데이터)를 수신할 수도 있다. 마찬가지로, 목적지 디바이스 (116) 는 동일한 디바이스 내의 데이터 컨슈머를 포함하기 보다는 외부 데이터 컨슈머와 인터페이스할 수도 있다.
도 1에 도시된 바와 같은 시스템 (100) 은 하나의 예일뿐이다. 일반적으로, 다른 디지털 인코딩 및/또는 디코딩 디바이스들은 예측 지오메트리 코딩에 관련된 본 개시의 기법들을 수행할 수도 있다. 소스 디바이스 (102) 및 목적지 디바이스 (116) 는, 단지, 소스 디바이스 (102) 가 목적지 디바이스 (116) 로의 송신을 위한 코딩된 데이터를 생성하는 그러한 디바이스들의 예들일 뿐이다. 본 개시는 데이터의 코딩 (인코딩 및/또는 디코딩) 을 수행하는 디바이스로서 "코딩" 디바이스를 언급한다. 따라서, G-PCC 인코더 (200) 및 G-PCC 디코더 (300) 는 코딩 디바이스들, 특히 각각 인코더 및 디코더의 예들을 나타낸다. 일부 예들에 있어서, 소스 디바이스 (102) 및 목적지 디바이스 (116) 는, 소스 디바이스 (102) 및 목적지 디바이스 (116) 의 각각이 인코딩 및 디코딩 컴포넌트들을 포함하도록 실질적으로 대칭적인 방식으로 동작할 수도 있다. 따라서, 시스템(100)은, 예를 들어, 스트리밍, 재생, 브로드캐스팅, 전화, 내비게이션 및 다른 애플리케이션들을 위해, 소스 디바이스(102)와 목적지 디바이스(116) 사이의 일방향 또는 양방향 송신을 지원할 수도 있다.
일반적으로, 데이터 소스(104)는 데이터의 소스(즉, 미가공, 인코딩되지 않은 포인트 클라우드 데이터)를 나타내고, 데이터의 순차적인 일련의 "프레임들"을 G-PCC 인코더(200)에 제공할 수도 있고, 이는 그 프레임들에 대한 데이터를 인코딩한다. 소스 디바이스 (102) 의 데이터 소스 (104) 는, 다양한 카메라들 또는 센서들, 예컨대, 3D 스캐너 또는 광 검출 및 레인징 (LIDAR) 디바이스, 하나 이상의 비디오 카메라들, 이전에 캡처된 데이터를 포함하는 아카이브, 및/또는 데이터 컨텐츠 제공자로부터 데이터를 수신하기 위한 데이터 피드 인터페이스 중 임의의 것과 같은 포인트 클라우드 캡처 디바이스를 포함할 수도 있다. 대안적으로 또는 추가적으로, 포인트 클라우드 데이터는 스캐너, 카메라 센서 또는 다른 데이터로부터 컴퓨터 생성될 수도 있다. 예를 들어, 데이터 소스 (104) 는 소스 데이터로서 컴퓨터 그래픽스 기반 데이터를 생성할 수도 있거나 또는 라이브 데이터, 아카이브된 데이터 및 컴퓨터-생성된 데이터의 조합을 생성할 수도 있다. 각각의 경우에, G-PCC 인코더 (200) 는 캡처된, 사전-캡처된, 또는 컴퓨터 생성된 데이터를 인코딩한다. G-PCC 인코더 (200) 는 수신된 순서 (종종 “디스플레이 순서” 로 지칭됨) 로부터 코딩을 위한 코딩 순서로 프레임들을 재배열할 수도 있다. G-PCC 인코더 (200) 는 인코딩된 데이터를 포함하는 하나 이상의 비트스트림들을 생성할 수도 있다. 소스 디바이스 (102) 는 그 후, 예를 들어, 목적지 디바이스 (116) 의 입력 인터페이스 (122) 에 의한 수신 및/또는 취출을 위하여 인코딩된 데이터를 출력 인터페이스 (108) 를 통하여 컴퓨터 판독가능 매체 (110) 상으로 출력할 수도 있다.
소스 디바이스 (102) 의 메모리 (106) 및 목적지 디바이스 (116) 의 메모리 (120) 는 범용의 메모리들을 표현할 수도 있다. 일부 예들에서, 메모리 (106) 및 메모리 (120) 는 원시 데이터, 예를 들어, 데이터 소스 (104) 로부터의 원시 데이터, 및 G-PCC 디코더 (300) 로부터 원시 디코딩된 데이터를 저장할 수도 있다. 추가적으로 또는 대안적으로, 메모리 (106) 및 메모리 (120) 는 예를 들어, G-PCC 인코더 (200)및 G-PCC 디코더 (300) 에 의해 각각 실행가능한 소프트웨어 명령들을 저장할 수도 있다. 메모리 (106) 및 메모리 (120) 가 이 예에서 G-PCC 인코더 (200) 및 G-PCC 디코더 (300) 로부터 별개로 도시되어 있지만, G-PCC 인코더 (200) 및 G-PCC 디코더 (300) 는 또한 기능적으로 유사하거나 또는 동등한 목적으로 내부 메모리를 포함할 수도 있는 것으로 이해되어야 한다. 또한, 메모리 (106) 및 메모리 (120) 는 인코딩된 데이터, 예를 들어, G-PCC 인코더 (200) 로부터의 출력 및 G-PCC 디코더 (300) 에의 입력을 저장할 수도 있다. 일부 예들에서, 메모리 (106) 및 메모리 (120) 의 부분들은 예를 들어, 미가공, 디코딩된 및/또는 인코딩된 비디오 데이터를 저장하기 위해 하나 이상의 버퍼들로서 할당될 수도 있다. 예를 들어, 메모리 (106) 및 메모리 (120) 는 포인트 클라우드를 표현하는 데이터를 저장할 수도 있다.
컴퓨터 판독가능 매체 (110) 는 인코딩된 데이터를 소스 디바이스 (102) 로부터 목적지 디바이스 (116) 로 전송할 수 있는 임의의 타입의 매체 또는 디바이스를 나타낼 수도 있다. 하나의 예에서, 컴퓨터 판독가능 매체 (110) 는, 소스 디바이스 (102) 로 하여금, 실시간으로, 예를 들어, 무선 주파수 네트워크 또는 컴퓨터 기반 네트워크를 통해 직접 목적지 디바이스 (116) 로 인코딩된 데이터를 송신할 수 있게 하기 위한 통신 매체를 나타낸다. 무선 통신 프로토콜과 같은 통신 표준에 따라, 출력 인터페이스 (108) 는 인코딩된 데이터를 포함하는 송신 신호를 변조할 수도 있고, 입력 인터페이스 (122) 는 수신된 송신 신호를 복조할 수도 있다. 통신 매체는 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인과 같은 임의의 무선 또는 유선 통신 매체를 포함할 수도 있다. 통신 매체는 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크와 같은 패킷-기반 네트워크의 부분을 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (102) 로부터 목적지 디바이스 (116) 로의 통신을 가능하게 하는 데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
일부 예들에서, 소스 디바이스 (102) 는 출력 인터페이스 (108) 로부터 저장 디바이스 (112) 로 인코딩된 데이터를 출력할 수도 있다. 유사하게, 목적지 디바이스 (116) 는 입력 인터페이스 (122) 를 통해 저장 디바이스 (112) 로부터의 인코딩된 데이터에 액세스할 수도 있다. 저장 디바이스 (112) 는 하드 드라이브, 블루레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 휘발성 또는 비휘발성 메모리, 또는 인코딩된 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체와 같은 다양한 분산된 또는 로컬 액세스된 데이터 저장 매체 중 임의의 것을 포함할 수도 있다.
일부 예들에 있어서, 소스 디바이스 (102) 는, 소스 디바이스 (102) 에 의해 생성된 인코딩된 데이터를 저장할 수도 있는 파일 서버 (114) 또는 다른 중간 저장 디바이스로 인코딩된 데이터를 출력할 수도 있다. 목적지 디바이스 (116) 는 스트리밍 또는 다운로드를 통해 파일 서버 (114) 로부터의 저장된 데이터에 액세스할 수도 있다. 파일 서버 (114) 는 인코딩된 데이터를 저장하고 그 인코딩된 데이터를 목적지 디바이스 (116) 에 송신할 수 있는 임의의 타입의 서버 디바이스일 수도 있다. 파일 서버 (114) 는 (예를 들어, 웹사이트를 위한) 웹 서버, 파일 전송 프로토콜 (FTP) 서버, 콘텐츠 전달 네트워크 디바이스, 또는 NAS (network attached storage) 디바이스를 나타낼 수도 있다. 목적지 디바이스 (116) 는 인터넷 접속을 포함한, 임의의 표준 데이터 접속을 통해 파일 서버 (114) 로부터 인코딩된 데이터에 액세스할 수도 있다. 이것은 파일 서버 (114) 상에 저장된 인코딩된 데이터에 액세스하기에 적합한, 무선 채널 (예를 들어, Wi-Fi 접속), 유선 접속 (예를 들어, 디지털 가입자 라인 (DSL), 케이블 모뎀 등), 또는 양자의 조합을 포함할 수도 있다. 파일 서버 (114) 및 입력 인터페이스 (122) 는 스트리밍 송신 프로토콜, 다운로드 송신 프로토콜, 또는 이들의 조합에 따라 동작하도록 구성될 수도 있다.
출력 인터페이스 (108) 및 입력 인터페이스 (122) 는 무선 송신기들/수신기들, 모뎀들, 유선 네트워킹 컴포넌트들 (예컨대, 이더넷 카드들), 다양한 IEEE 802.11 표준들 중 임의의 것에 따라 동작하는 무선 통신 컴포넌트들, 또는 다른 물리적 컴포넌트들을 나타낼 수도 있다. 출력 인터페이스 (108) 및 입력 인터페이스 (122) 가 무선 컴포넌트들을 포함하는 예들에 있어서, 출력 인터페이스 (108) 및 입력 인터페이스 (122) 는 4G, 4G-LTE (롱 텀 에볼루션), LTE 어드밴스드, 5G 등과 같은 셀룰러 통신 표준에 따라, 인코딩된 데이터와 같은 데이터를 전송하도록 구성될 수도 있다. 출력 인터페이스 (108) 가 무선 송신기를 포함하는 일부 예들에 있어서, 출력 인터페이스 (108) 및 입력 인터페이스 (122) 는 IEEE 802.11 사양, IEEE 802.15 사양 (예컨대, ZigBee™), Bluetooth™ 표준 등과 같은 다른 무선 표준들에 따라, 인코딩된 데이터와 같은 데이터를 전송하도록 구성될 수도 있다. 일부 예들에 있어서, 소스 디바이스 (102) 및/또는 목적지 디바이스 (116) 는 각각의 SoC (system-on-a-chip) 디바이스들을 포함할 수도 있다. 예를 들어, 소스 디바이스 (102) 는 G-PCC 인코더 (200) 및/또는 출력 인터페이스 (108) 에 기인하는 기능성을 수행하기 위한 SoC 디바이스를 포함할 수도 있고, 목적지 디바이스 (116) 는 G-PCC 디코더 (300) 및/또는 입력 인터페이스 (122) 에 기인하는 기능성을 수행하기 위한 SoC 디바이스를 포함할 수도 있다.
본 개시의 기법들은 자율 차량들 간의 통신, 스캐너들, 카메라, 센서들, 및 프로세싱 디바이스들, 이를 테면, 로컬 또는 원격 서버들 간의 통신, 지오그래픽 맵핑, 또는 다른 애플리케이션들과 같은 다양한 애플리케이션들 중 임의의 것을 지원하여 인코딩 및 디코딩에 적용될 수도 있다.
목적지 디바이스 (116) 의 입력 인터페이스 (122) 는 컴퓨터 판독가능 매체 (110)(예를 들어, 통신 매체, 저장 디바이스 (112), 파일 서버 (114) 등) 로부터 인코딩된 비트스트림을 수신한다. 인코딩된 비트스트림은 코딩된 유닛들 (예를 들어, 슬라이스들, 픽처들, 픽처들의 그룹들, 시퀀스들 등) 의 프로세싱 및/또는 특성들을 기술하는 값들을 갖는 신택스 엘리먼트들과 같은, G-PCC 디코더 (300) 에 의해 또한 사용되는 G-PCC 인코더 (200) 에 의해 정의된 시그널링 정보를 포함할 수도 있다. 데이터 컨슈머 (118) 는 디코딩된 데이터를 사용한다. 예를 들어, 데이터 컨슈머 (118) 는 물리적 오브젝트들의 위치들을 결정하기 위해 디코딩된 데이터를 사용할 수도 있다. 일부 예들에서, 데이터 컨슈머 (118) 는 포인트 클라우드에 기초하여 이미저리를 제시하기 위한 디스플레이를 포함할 수도 있다.
G-PCC 인코더 (200) 및 G-PCC 디코더 (300) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 집적 회로들 (ASIC들), 필드 프로그래밍가능 게이트 어레이들 (FPGA들), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들과 같은 다양한 적합한 인코더 및/또는 디코더 회로부 중 임의의 것으로서 구현될 수도 있다. 기법들이 부분적으로 소프트웨어로 구현되는 경우, 디바이스는 적합한 비일시적 컴퓨터 판독가능 매체에 소프트웨어에 대한 명령들을 저장하고, 본 개시의 기법들을 수행하기 위해 하나 이상의 프로세서들을 사용하는 하드웨어에서 그 명령들을 실행할 수도 있다. G-PCC 인코더 (200) 및 G-PCC 디코더 (300) 의 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있으며, 이들 중 어느 하나는 각각의 디바이스에서 결합된 인코더/디코더 (CODEC) 의 부분으로서 통합될 수도 있다. G-PCC 인코더(200) 및/또는 G-PCC 디코더(300)를 포함하는 디바이스는 하나 이상의 집적 회로들, 마이크로프로세서들, 및/또는 다른 타입들의 디바이스들을 포함할 수도 있다.
G-PCC 인코더(200) 및 G-PCC 디코더(300)는 비디오 포인트 클라우드 압축 (V-PCC) 표준 또는 지오메트리 포인트 클라우드 압축 (G-PCC) 표준과 같은 코딩 표준에 따라 동작할 수도 있다. 본 개시는 일반적으로, 데이터를 인코딩하거나 또는 디코딩하는 프로세스를 포함하도록 픽처들의 코딩 (예컨대, 인코딩 및 디코딩) 을 언급할 수도 있다. 인코딩된 비트스트림은 일반적으로, 코딩 결정들 (예컨대, 코딩 모드들) 을 나타내는 신택스 엘리먼트들에 대한 일련의 값들을 포함한다.
본 개시는 일반적으로 신택스 엘리먼트들과 같은 특정 정보를 "시그널링” 하는 것을 언급할 수도 있다. 용어 "시그널링" 은 일반적으로, 인코딩된 데이터를 디코딩하는데 사용되는 신택스 엘리먼트들에 대한 값들 및/또는 다른 데이터의 통신을 지칭할 수도 있다. 즉, G-PCC 인코더 (200) 는 비트스트림에서 신택스 엘리먼트들에 대한 값들을 시그널링할 수도 있다. 일반적으로, 시그널링은 비트스트림에서 값을 생성하는 것을 지칭한다. 상기 언급된 바와 같이, 소스 디바이스 (102) 는 목적지 디바이스 (116) 에 의한 추후 취출을 위해 저장 디바이스 (112) 에 신택스 엘리먼트를 저장할 때 발생할 수도 있는 바와 같이, 비실시간으로 또는 실질적으로 실시간으로 비트스트림을 목적지 디바이스 (116) 로 전송할 수도 있다.
ISO/IEC MPEG (JTC 1/SC 29/WG 11) 는 현재 접근법의 것을 현저히 초과하는 압축 능력을 갖는 포인트 클라우드 코딩 기술의 표준화에 대한 잠재적 필요성을 연구중이고 표준을 생성하는 것을 목표로 한다. 그 그룹은 3-차원 그래픽 팀 (3DG) 으로서 알려진 공동 작업에서, 이 분야의 전문가들이 제안하는 압축 기술 설계를 평가하기 위해, 이 탐사 활동을 함께 작업하고 있다.
포인트 클라우드 압축 활동은 두개의 상이한 접근법으로 분류된다. 제 1 접근법은 3D 오브젝트를 세그먼트화하고 세그먼트들을 다수의 2D 평면 (이는 2D 프레임에서 "패치"로서 표현된다) 상에 투영하는 "비디오 포인트 클라우드 압축" (V-PCC) 이고, 이는 추가로 레거시 2D 비디오 코덱 이를 테면, HEVC (High Efficiency Video Coding) (ITU-T H.265) 코덱에 의해 코딩된다. 제 2 접근법은 3D 지오메트리, 즉, 3D 공간에서 포인트들의 세트의 포지션 및 (3D 지오메트리와 연관된 각각의 포인트에 대해) 연관된 속성 값들을 직접 압축하는 "지오메트리-기반 포인트 클라우드 압축" (G-PCC) 이다. G-PCC 는 포인트 클라우드들의 압축을 양쪽 카테고리 1 (정적 포인트 클라우드들) 및 카테고리 3 (동적으로 획득된 포인트 클라우드들) 에서 어드레싱한다. G-PCC 표준의 최신 초안은 G-PCC DIS, ISO/IEC JTC1/SC29/WG11 w19328, Brussels, Belgium, January 2020 에서 입수 가능하며, 코덱에 대한 설명은 G-PCC Codec Description v8, ISO/IEC JTC1/SC29/WG11 w19525, Brussels, Belgium, January 2020 에서 입수 가능하다.
포인트 클라우드는 3D 공간에서의 포인트들의 세트를 포함하고, 포인트와 연관된 속성들을 가질 수도 있다. 속성들은 컬러 정보, 이를 테면, R, G, B 또는 Y, Cb, Cr, 또는 반사율 정보, 또는 다른 속성들일 수도 있다. 포인트 클라우드들은 LIDAR 센서들 및 3D 스캐너들과 같은 다양한 카메라들 또는 센서들에 의해 캡처될 수도 있고, 또한 컴퓨터-생성될 수도 있다. 포인트 클라우드 데이터는 구성(모델링), 그래픽스(시각화 및 애니메이션을 위한 3D 모델), 자동차 산업(내비게이션에 도움을 주기 위해 사용되는 LIDAR 센서들)을 포함하지만 이에 제한되지 않는 다양한 애플리케이션들에서 사용된다.
포인트 클라우드 데이터에 의해 점유되는 3D 공간은 가상의 바운딩 박스로 인클로즈될 수도 있다. 바운딩 박스에서의 포인트들의 포지션은 특정 정밀도로 표현될 수도 있고; 따라서, 하나 이상의 포인트들의 포지션들은 정밀도에 기초하여 양자화될 수도 있다. 최소 레벨에서, 바운딩 박스는 단위 큐브에 의해 표현되는 공간의 최소 단위인 복셀들로 분할된다. 바운딩 박스에서의 복셀은 영, 하나 또는 하나보다 많은 포인트와 연관될 수도 있다. 바운딩 박스는 타일들로 불릴 수도 있는 다수의 큐브/큐보이드 영역으로 분할될 수도 있다. 각각의 타일은 하나 이상의 슬라이스들로 코딩될 수도 있다. 슬라이스들 및 타일들로의 바운딩 박스의 파티셔닝은 각각의 파티션에서의 포인트들의 수에 기초하거나, 또는 다른 고려사항들에 기초할 수도 있다 (예를 들어, 특정 영역은 타일들로서 코딩될 수도 있다). 슬라이스 영역들은 또한 비디오 코덱에서의 것들과 유사하게 분할 정밀도를 사용하여 추가로 파티셔닝될 수 있다.
도 2는 G-PCC 인코더(200)의 개관을 제공한다. 도 3 는 G-PCC 디코더 (300) 의 개관을 제공한다. 도시된 모듈들은 논리적일 수도 있고 G-PCC 코덱의 참조 구현, 즉, ISO/IEC MPEG (JTC 1/SC 29/WG 11) 에 의해 연구된 TMC13 테스트 모델 소프트웨어에서의 구현된 코드에 반드시 1대1 대응하는 것은 아니다.
양쪽 G-PCC 인코더 (200) 및 G-PCC 디코더 (300) 에서, 포인트 클라우드 포지션들이 먼저 코딩된다. 속성 코딩은 디코딩된 지오메트리에 의존한다. 도 2 및 도 3 에서, 그레이-셰이딩된 모듈들은 카테고리 1 데이터에 대해 통상적으로 사용되는 옵션들이다. 대각선-크로스해칭된 모듈들은 카테고리 3 데이터에 대해 통상적으로 사용되는 옵션들이다. 모든 다른 모듈들은 카테고리 1 과 카테고리 3 사이에서 공통이다.
카테고리 3 데이터에 대해, 압축된 지오메트리는 통상적으로, 루트로부터 개별 복셀들의 리프 레벨까지 아래로 내내 옥트리(octree)로서 표현된다. 카테고리 1 데이터에 대해, 압축된 지오메트리는 통상적으로, 프루닝된 옥트리 (즉, 루트로부터 복셀들보다 더 큰 블록들의 리프 레벨까지 아래로의 옥트리) 플러스 프루닝된 옥트리의 각각의 리프 내의 표면을 근사화하는 모델에 의해 표현된다. 이러한 방식으로, 카테고리 1 및 3 데이터 양자 모두는 옥트리 코딩 메커니즘을 공유하는 한편, 카테고리 1 데이터는 추가로, 각각의 리프 내의 복셀들을 표면 모델로 근사화할 수도 있다. 사용된 표면 모델은 블록 당 1-10개의 삼각형들을 포함하는 삼각측량이며, 삼각형 수프 (triangle soup) 를 발생시킨다 따라서, 카테고리 1 지오메트리 코덱은 트라이수프 지오메트리 코덱으로 알려져 있는 한편 카테고리 3 지오메트리 코덱은 옥트리 지오메트리 코덱으로 알려져 있다.
옥트리의 각각의 노드에서, 점유(occupancy)는 그 자식 노드들 중 하나 이상 (최대 8개 노드들) 에 대해 (추론되지 않을 경우) 시그널링된다. (a) 현재 옥트리 노드와 면(face)을 공유하는 노드들, (b) 현재 옥트리 노드와 면, 에지 또는 정점을 공유하는 노드들 등을 포함하는 다수의 이웃들이 지정된다. 각각의 이웃 내에서, 노드 및/또는 그것의 자식들의 점유는 현재 노드 또는 그것의 자식들의 점유를 예측하는데 사용될 수도 있다. 옥트리의 특정 노드들에 드문드문 팝퓰레이팅되는 포인트들에 대해, 코덱은 또한 포인트의 3D 포지션이 직접 인코딩되는 직접 코딩 모드를 지원한다. 직접 모드가 시그널링됨을 표시하기 위해 플래그가 시그널링될 수도 있다. 최저 레벨에서, 옥트리 노드/리프 노드와 연관된 포인트들의 수가 또한 코딩될 수도 있다.
지오메트리가 일단 코딩되면, 지오메트리 포인트에 대응하는 속성들이 코딩된다. 하나의 재구성된/디코딩된 지오메트리 포인트에 대응하는 다수의 속성 포인트들이 존재할 때, 재구성된 포인트를 표현하는 속성 값이 도출될 수도 있다.
G-PCC에서 3 개의 속성 코딩 방법들: RAHT (Region Adaptive Hierarchical Transform) 코딩, 보간-기반 계층적 최인접-이웃 예측 (Predicting Transform), 및 업데이트/리프팅 스텝 (Lifting Transform) 을 갖는 보간-기반 계층적 최인접-이웃 예측이 있다. RAHT와 Lifting은 통상적으로 카테고리 1 데이터에 사용되고 Predicting은 일반적으로 카테고리 3 데이터에 사용된다. 그러나 어느쪽의 방법도 임의의 데이터에 사용될 수 있으며 G-PCC에서의 지오메트리 코덱과 마찬가지로, 포인트 클라우드를 코딩하는 데 사용되는 속성 코딩 방법은 비트스트림에서 지정된다.
속성들의 코딩은 디테일 레벨 (level-of-detail; LOD) 에서 수행될 수도 있으며, 여기서 각 디테일 레벨로 포인트 클라우드 속성의 더 미세한 표현이 얻어질 수도 있다. 각각의 디테일 레벨은 이웃 노드들로부터의 거리 메트릭에 기초하여 또는 샘플링 거리에 기초하여 지정될 수도 있다.
G-PCC 인코더 (200) 에서, 속성에 대한 코딩 방법의 출력으로서 획득되는 잔차는 양자화된다. 양자화된 잔차는 컨텍스트 적응 산술 코딩을 사용하여 코딩될 수도 있다.
도 2 의 예에서, G-PCC 인코더 (200) 는 좌표 변환 유닛 (202), 컬러 변환 유닛 (204), 복셀화 유닛 (206), 속성 전달 유닛 (208), 옥트리 분석 유닛 (210), 표면 근사화 분석 유닛 (212), 산술 인코딩 유닛 (214), 지오메트리 재구성 유닛 (GRU) (216), RAHT 유닛 (218), LOD 생성 유닛 (220), 리프팅 유닛 (222), 계수 양자화 유닛 (224), 및 산술 인코딩 유닛 (226) 을 포함할 수도 있다.
도 2의 예에 도시된 바와 같이, G-PCC 인코더(200)는 포지션들의 세트 및 속성들의 세트를 수신할 수도 있다. 포지션들은 포인트 클라우드에서의 포인트들의 좌표들을 포함할 수도 있다. 속성들은 포인트 클라우드에서의 포인트들에 관한 정보, 이를 테면 포인트 클라우드에서의 포인트들과 연관된 컬러들을 포함할 수도 있다.
좌표 변환 유닛 (202) 은 초기 도메인으로부터 변환 도메인으로 좌표들을 변환하기 위해 포인트들의 좌표들에 변환을 적용할 수도 있다. 본 개시는 변환된 좌표들을 변환 좌표들로서 지칭할 수도 있다. 컬러 변환 유닛 (204) 은 상이한 도메인으로 속성들의 컬러 정보를 변환하기 위해 변환을 적용할 수도 있다. 예를 들어, 컬러 변환 유닛 (204) 은 RGB 컬러 공간으로부터 YCbCr 컬러 공간으로 컬러 정보를 변환할 수도 있다.
또한, 도 2의 예에서, 복셀화 유닛(206)은 변환 좌표를 복셀화(voxelize)할 수도 있다. 변환 좌표들의 복셀화는 포인트 클라우드의 일부 포인트들을 양자화하여 제거하는 것을 포함할 수도 있다. 즉, 포인트 클라우드의 다수의 포인트들은 단일 "복셀" 내에 포함될 수도 있고, 그 후, 이는 일부 관점에서 하나의 포인트로서 취급될 수도 있다. 또한, 옥트리 분석 유닛(210)은 복셀화된 변환 좌표들에 기초하여 옥트리를 생성할 수도 있다. 추가적으로, 도 2의 예에서, 표면 근사화 분석 유닛(212)은 포인트들의 세트들의 표면 표현을 잠재적으로 결정하기 위해 포인트들을 분석할 수도 있다. 산술 인코딩 유닛 (214) 은 표면 근사화 분석 유닛 (212) 에 의해 결정된 표면들 및/또는 옥트리의 정보를 표현하는 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다. G-PCC 인코더 (200) 는 지오메트리 비트스트림에서 이들 신택스 엘리먼트들을 출력할 수도 있다.
지오메트리 재구성 유닛 (216) 은 옥트리에 기초하여 포인트 클라우드에서 포인트들의 변환 좌표들, 표면 근사화 분석 유닛 (212) 에 의해 결정된 표면을 나타내는 데이터, 및/또는 다른 정보를 재구성할 수 있다. 지오메트리 재구성 유닛 (216) 에 의해 재구성된 변환 좌표들의 수는 복셀화 및 표면 근사화 때문에 포인트 클라우드의 포인트들의 원래 수와는 상이할 수도 있다. 본 개시는 결과적인 포인트들을 재구성된 포인트들로 지칭할 수도 있다. 속성 전달 유닛 (208) 는 포인트 클라우드의 원래 포인트의 속성들을 포인트 클라우드의 재구성된 포인트들로 전달할 수도 있다.
또한, RAHT 유닛 (218) 은 재구성된 포인트들의 속성들에 RAHT 코딩을 적용할 수도 있다. 대안적으로 또는 추가적으로, LOD 생성 유닛 (220) 및 리프팅 유닛 (222) 은 LOD 프로세싱 및 리프팅을 재구성된 포인트들의 속성들에 각각 적용할 수도 있다. RAHT 유닛 (218) 및 리프팅 유닛 (222) 은 속성에 기초하여 계수들을 생성할 수도 있다. 계수 양자화 유닛 (224) 은 RAHT 유닛 (218) 또는 리프팅 유닛 (222) 에 의해 생성된 계수들을 양자화할 수도 있다. 산술 인코딩 유닛 (226) 은 양자화된 계수들을 표현하는 신택스 엘리먼트들에 산술 코딩을 적용할 수도 있다. G-PCC 인코더 (200) 는 속성 비트스트림에서 이들 신택스 엘리먼트들을 출력할 수도 있다.
도 3 의 예에서, G-PCC 디코더 (300) 는 지오메트리 산술 디코딩 유닛 (302), 속성 산술 디코딩 유닛 (304), 옥트리 합성 유닛 (306), 역 양자화 유닛 (308), 표면 근사화 합성 유닛 (310), 지오메트리 재구성 유닛 (312), RAHT 유닛 (314), LoD 생성 유닛 (316), 역 리프팅 유닛 (318), 역 변환 좌표 유닛 (320), 및 역 변환 컬러 유닛 (322) 을 포함할 수도 있다.
G-PCC 디코더 (300) 는 지오메트리 비트스트림 및 속성 비트스트림을 얻을 수도 있다. 디코더 (300) 의 지오메트리 산술 디코딩 유닛 (302) 은 산술 디코딩 (예를 들어, CABAC (Context-Adaptive Binary Arithmetic Coding) 또는 산술 디코딩의 다른 타입) 을 지오메트리 비트스트림에서의 신택스 엘리먼트들에 적용할 수도 있다. 이와 유사하게, 속성 산술 디코딩 유닛 (304) 은 속성 비트스트림에서 신택스 엘리먼트들에 산술 디코딩을 적용할 수도 있다.
옥트리 합성 유닛 (306) 은 지오메트리 비트스트림으로부터 파싱된 신택스 엘리먼트들에 기초하여 옥트리를 합성할 수도 있다. 표면 근사화가 지오메트리 비트스트림에서 사용되는 경우, 표면 근사화 합성 유닛 (310) 은 지오메트리 비트스트림으로부터 파싱된 신택스 엘리먼트에 기초하여 그리고 옥트리에 기초하여 표면 모델을 결정할 수도 있다.
또한, 지오메트리 복원 유닛 (312) 은 포인트 클라우드에서의 포인트들의 좌표들을 결정하기 위해 재구성을 수행할 수도 있다. 역 변환 좌표 유닛 (320) 은 포인트 클라우드에서의 포인트들의 재구성된 좌표들 (포지션들) 을 변환 도메인으로부터 초기 도메인으로 다시 변환하기 위하여 재구성된 좌표에 역 변환을 적용할 수도 있다.
또한, 도 3의 예에서, 역양자화 유닛(308)은 속성 값을 역양자화할 수도 있다. 속성 값들은 (속성 산술 디코딩 유닛 (304) 에 의해 디코딩되는 신택스 엘리먼트들을 포함하는) 속성 비트스트림으로부터 얻어지는 신택스 엘리먼트에 기초할 수도 있다.
속성 값들이 어떻게 인코딩되는지에 따라, RAHT 유닛 (314) 은, 역양자화된 속성 값들에 기초하여, 포인트 클라우드의 포인트들에 대한 컬러 값들을 결정하기 위해 RAHT 코딩을 수행할 수도 있다. 대안적으로, LOD 생성 유닛 (316) 및 역 리프팅 유닛 (318) 은 디테일 레벨 기반 기법을 사용하여 포인트 클라우드의 포인트들에 대한 컬러 값들을 결정할 수도 있다.
또한, 도 3 의 예에서, 역 변환 컬러 유닛 (322) 은 컬러 값들에 역 컬러 변환을 적용할 수도 있다. 역 컬러 변환은 인코더 (200) 의 컬러 변환 유닛 (204) 에 의해 적용된 컬러 변환의 역일 수도 있다. 예를 들어, 컬러 변환 유닛 (204) 은 RGB 컬러 공간으로부터 YCbCr 컬러 공간으로 컬러 정보를 변환할 수도 있다. 따라서, 역 컬러 변환 유닛 (322) 은 YCbCr 컬러 공간으로부터 RGB 컬러 공간으로 컬러 정보를 변환할 수도 있다.
도 2 및 도 3의 다양한 유닛들은 인코더 (200) 및 디코더 (300) 에 의해 수행되는 동작들의 이해를 돕기 위해 예시된다. 그 유닛들은 고정 기능 회로들, 프로그래밍가능 회로들, 또는 이들의 조합으로서 구현될 수도 있다. 고정 기능 회로들은 특정 기능성을 제공하는 회로들을 지칭하고, 수행될 수 있는 동작들에 대해 미리 설정된다. 프로그래밍가능 회로들은 다양한 태스크들을 수행하도록 프로그래밍될 수도 있는 회로들을 지칭하고, 수행될 수도 있는 동작들에서 유연한 기능성을 제공한다. 예를 들어, 프로그래밍가능 회로들은, 그 프로그래밍가능 회로들이 소프트웨어 또는 펌웨어의 명령들에 의해 정의된 방식으로 동작하게 하는 소프트웨어 또는 펌웨어를 실행할 수도 있다. 고정 기능 회로들은 (예를 들어, 파라미터들을 수신하거나 또는 파라미터들을 출력하기 위해) 소프트웨어 명령들을 실행할 수도 있지만, 고정 기능 회로들이 수행하는 동작들의 타입들은 일반적으로 불변이다. 일부 예들에서, 유닛들 중 하나 이상은 별개의 회로 블록들 (고정 기능 또는 프로그램가능) 일 수도 있고, 일부 예들에서, 유닛들 중 하나 이상은 집적 회로들일 수도 있다.
예측 지오메트리 코딩은 노드가 (예측 구조를 정의하는) 트리 구조로 배열되는 옥트리 지오메트리 코딩의 대안으로 도입되었으며, 다양한 예측 전략이 트리에서 각각의 노드의 좌표들을 그것의 예측자와 관련하여 예측하는 데 사용된다. 도 4는 화살표가 예측 방향을 가리키는 방향성 그래프인 예측 트리의 예를 나타내는 개념도이다. 수평으로 셰이딩된 노드는 루트 버텍스(root vertex)이며 예측 변수가 없다; 그리드 셰이딩된 노드는 2개의 자식들이 있다; 대각선 셰이딩된 노드에는 3개의 자식들이 있고, 비셰이딩된 노드에는 하나의 자식이 있으며 수직 셰이딩된 노드는 리프 노드(leaf node)이며 이들은 자식이 없다. 모든 노드에는 부모 노드가 하나만 있다.
각각의 노드에 대해 그의 부모(p0), 조부모(p1) 및 증조부모(p2)에 기초하여 4개의 예측 전략이 지정될 수도 있다. 예측 전략은 예측 없음, 델타 예측(p0), 선형 예측(2*p0 - p1) 및 평행사변형 예측(2*p0 + p1 - p2)을 포함한다.
인코더(예를 들어, G-PCC 인코더(200))는 예측 트리를 생성하기 위해 임의의 알고리즘을 채용할 수도 있다; 사용되는 알고리즘은 애플리케이션/사용 사례에 기초하여 결정될 수도 있으며 여러 전략이 사용될 수도 있다. 인코더는, 깊이 우선 방식(depth-first manner)으로 루트 노드로부터 시작하여 비트스트림에서 잔차 좌표 값을, 각각의 노드에 대해, 인코딩할 수도 있다. 예측 지오메트리 코딩은 카테고리 3(예: LIDAR 획득) 포인트 클라우드 데이터에, 예를 들어 저 레이턴시 애플리케이션에, 특히 유용할 수도 있다.
각도 모드는 예측 지오메트리 코딩에서 사용될 수도 있으며, 여기서 라이다(LIDAR) 센서의 특성은 예측 트리를 보다 효율적으로 코딩하는 데 활용될 수도 있다. 포지션의 좌표는
Figure pct00013
(반경, 방위각 및 레이저 인덱스) 로 변환되고 예측은 이 도메인에서 수행된다(잔차는
Figure pct00014
도메인에서 코딩된다). 반올림에서의 오류로 인해,
Figure pct00015
에서의 코딩은 무손실이 아니므로 데카르트 좌표에 대응하는 잔차의 제 2 세트가 코딩될 수도 있다. 예측 지오메트리 코딩을 위한 각도 모드에 사용되는 인코딩 및 디코딩 전략에 대한 설명이 아래에 재현되어 있다. 설명은 스피닝 LIDAR 획득 모델의 개념도인 도 5a 및 5b에 기초한다.
방법은 스피닝 LIDAR 모델을 사용하여 획득한 포인트 클라우드에 중점을 둔다. 여기서, LIDAR는 방위각
Figure pct00016
에 따라 Z 축을 중심으로 스피닝하는 N개의 레이저(예: N=16, 32, 64)를 갖는다(도 5a 및 5b 참조). 각각의 레이저는 상이한 고도
Figure pct00017
및 높이
Figure pct00018
를 가질 수도 있다. 레이저
Figure pct00019
가 도 5a에 기재된 좌표계에 따라 정의된 데카르트 정수 좌표
Figure pct00020
를 갖는 포인트
Figure pct00021
에 도달한다고 가정한다.
M 의 포지션은 3개의 파라미터
Figure pct00022
로 모델링되며, 이들은 다음과 같이 계산된다:
Figure pct00023
보다 정확하게, G-PCC 코더는
Figure pct00024
로 표기된,
Figure pct00025
의 양자화된 버전을 사용할 수도 있고, 여기서 3개의 정수
Figure pct00026
Figure pct00027
는 다음과 같이 계산된다:
Figure pct00028
식 중
·
Figure pct00029
Figure pct00030
는 각각
Figure pct00031
Figure pct00032
의 정밀도를 제어하는 양자화 파라미터이다.
·
Figure pct00033
는 t 가 양수이면 1을 반환하고 그렇지 않으면 (-1)을 반환하는 함수이다.
·
Figure pct00034
는 t 의 절대 값이다.
부동 소수점 연산 사용으로 인한 재구성 불일치를 방지하기 위해,
Figure pct00035
Figure pct00036
의 값은 다음과 같이 미리 계산되고 양자화될 수도 있다:
Figure pct00037
식 중
·
Figure pct00038
Figure pct00039
는 각각
Figure pct00040
Figure pct00041
의 정밀도를 제어하는 양자화 파라미터이다.
재구성된 데카르트 좌표는 다음과 같이 얻어진다:
Figure pct00042
여기서
Figure pct00043
Figure pct00044
Figure pct00045
Figure pct00046
의 근사치이다. 계산은 고정 소수점 표현, 룩업 테이블 및 선형 보간법을 사용할 수 있다.
Figure pct00047
Figure pct00048
와 다음의 여러가지 이유로 인해 상이할 수도 있음에 유의한다:
- 양자화
- 근사화
- 모델 부정확성
- 모델 파라미터 부정확성
Figure pct00049
를 다음과 같이 정의된 재구성 잔차라고 두자:
Figure pct00050
이 방법에서, G-PCC 인코더(200)는 다음과 같이 진행될 수도 있다:
· 모델 파라미터
Figure pct00051
Figure pct00052
및 양자화 파라미터
Figure pct00053
Figure pct00054
Figure pct00055
를 인코딩
· G-PCC DIS에 기재된 지오메트리 예측 체계를 표현
Figure pct00056
에 적용
o 라이다(lidar)의 특성을 활용한 새로운 예측자가 도입될 수 있다. 예를 들어, Z축을 중심으로 한 라이다 스캐너의 회전 속도는 일반적으로 일정하다. 따라서, 우리는 현재
Figure pct00057
를 다음과 같이 예측할 수 있다:
Figure pct00058
여기서,
o
Figure pct00059
는 인코더가 선택할 수 있는 잠재적인 속도의 세트이다. 인덱스
Figure pct00060
는 비트스트림에 명시적으로 기록될 수 있거나 또는 인코더와 디코더 둘 다에 의해 적용되는 결정론적 전략을 기반으로 컨텍스트로부터 추론될 수 있고,
o
Figure pct00061
는 스킵된 포인트의 수이며, 이는 비트스트림에 명시적으로 기록될 수 있거나 또는 인코더와 디코더 둘 다에 의해 적용되는 결정론적 전략을 기반으로 컨텍스트로부터 추론될 수 있다.
· 재구성 잔차
Figure pct00062
를 각각의 노드로 인코딩
G-PCC 디코더(300)는 다음과 같이 진행할 수도 있다:
· 모델 파라미터
Figure pct00063
Figure pct00064
및 양자화 파라미터
Figure pct00065
Figure pct00066
Figure pct00067
를 디코딩
· G-PCC DIS에 설명된 지오메트리 예측 체계에 따라 노드와 연관된
Figure pct00068
파라미터를 디코딩
· 위에서 설명한 대로 재구성된 좌표
Figure pct00069
를 계산
· 잔차
Figure pct00070
를 디코딩
o 다음 섹션에서 논의되는 바와 같이, 손실성 압축은 재구성 잔차
Figure pct00071
를 양자화함으로써 지원될 수 있다
· 다음과 같이 원래 좌표
Figure pct00072
를 계산
Figure pct00073
손실성 압축은 재구성 잔차
Figure pct00074
에 양자화를 적용하여 또는 포인트를 드롭핑(dropping) 하여 달성될 수 있다.
양자화된 재구성 잔차는 다음과 같이 계산된다:
Figure pct00075
여기서
Figure pct00076
Figure pct00077
는 각각
Figure pct00078
Figure pct00079
의 정밀도를 제어하는 양자화 파라미터이다.
일부 예에서, G-PCC 인코더(200) 및/또는 G-PCC 디코더(300)는 RD(레이트 왜곡) 성능 결과를 추가로 개선하기 위해 Trellis 양자화를 사용할 수도 있다. 양자화 파라미터는 영역 적응적 품질을 달성하고 레이트 제어 목적을 위해 시퀀스/프레임/슬라이스/블록 수준에서 변경될 수도 있다.
다음은 예측 지오메트리 코딩 신택스, 시맨틱스(semantics), 신택스 바이너리제이션 및 컨텍스트 테이블의 예이다:
Figure pct00080
Figure pct00081
ptn_qp_offset_eq0_flag, ptn_qp_offset_sign_flag, 및 ptn_qp_offset_abs_minus1 은 함께, 존재할 경우, 슬라이스 지오메트리 양자화 파라미터에 대한 오프셋을 지정한다. 존재하지 않는 ptn_qp_offset_sign_flag, 또는 ptn_qp_offset_abs_minus1 중 어느 것은 0으로 추론된다.
nodeIdx % PtnQpInterval 이 0일 때, 디코딩 순서에서 다음 PtnQpInterval 노드에 대한 노드 QP는 다음과 같이 결정된다:
geom_scaling_enabled_flag 가 1일 때:
Figure pct00082
그렇지 않으면, PtnQp[ nodeIdx ] 는 0 과 동일하게 설정된다.
ptn_point_cnt_gt1_flagptn_point_cnt_minus2 는 함께 현재 예측 트리 노드에 의해 표현되는 포인트의 수를 지정한다. 존재하지 않을 때, ptn_point_cnt_gt1_flag 및 ptn_point_cnt_minus2 의 값은 둘 다 0 인 것으로 추론된다. 현재 예측 트리 노드에 의해 표현되는 포인트의 수는 다음과 같이 도출된다:
Figure pct00083
ptn_child_cnt[ nodeIdx ]는 지오메트리 예측 트리에 존재하는 현재 예측 트리 노드의 직접적인 자식 노드의 수이다.
ptn_pred_mode[ nodeIdx ]는 현재 노드와 연관된 포지션을 예측하는 데 사용되는 모드이다.
ptn_phi_mult_eq0_flag, ptn_phi_mult_sign_flag, ptn_phi_mult_eq1_flag, ptn_phi_mult_abs_minus2, 및 ptn_phi_mult_abs_minus17 은 함께 델타 각도 예측에 사용되는 곱셈 인자(multiplicative factor)를 지정한다. ptn_phi_mult_eq0_flag는, 존재하는 경우, 인자가 0인지 여부를 지정한다. ptn_phi_mult_eq1_flag는, 존재하는 경우, 인자의 크기가 1인지 여부를 지정한다. ptn_phi_mult_sign_flag 가 1이면 인자의 부호가 양(positive)임을 나타낸다. ptn_phi_mult_sign_flag 가 0이면 인자의 부호가 음(negative)임을 나타낸다. 존재하지 않는 ptn_phi_mult_sign_flag, ptn_phi_mult_abs_minus2, 또는 ptn_phi_mult_abs_minus17 중 어느 것은 0으로 추론된다. 존재하지 않는 ptn_phi_mult_eq0_flag, 또는 ptn_phi_mult_eq1_flag 중 어느 것은 1 로 추론된다.
현재 트리 노드의 파이 인자는 다음과 같이 도출된다:
Figure pct00084
ptn_residual_eq0_flag[ k ], ptn_residual_sign_flag[ k ], ptn_residual_abs_log2[ k ], 및 ptn_residual_abs_remaining[ k ] 는 함께 k번째 지오메트리 포지션 성분의 제 1 예측 잔차를 지정한다. ptn_residual_eq0_flag[ k ] 는 잔차 성분이 0인지 여부를 지정한다. ptn_residual_sign_flag[ k ]가 1이면 잔차 성분의 부호가 양임을 나타낸다. ptn_residual_sign_flag[ k ]가 0이면 잔차 성분의 부호가 음임을 나타낸다. 존재하지 않는 ptn_residual_sign_flag[ k ], ptn_residual_abs_log2[ k ], 또는 ptn_residual_abs_remaining[ k ] 중 어느 것은 0 으로 추론된다.
현재 트리 노드와 연관된 제 1 예측 잔차는 다음과 같이 도출된다:
Figure pct00085
ptn_sec_residual_eq0_flag[ k ], ptn_sec_residual_eq1_flag[ k ], ptn_sec_residual_sign_flag[ k ], ptn_sec_residual_abs_minus2[ k ], 및 ptn_sec_residual_abs_minus17[ k ] 는 함께 k번째 지오메트리 포지션 성분의 2차 잔차를 지정한다. ptn_sec_residual_eq0_flag[ k ] 는 잔차 성분이 0인지 여부를 지정한다. ptn_sec_residual_eq1_flag[ k ]는, 존재하는 경우, 잔차 성분 크기가 1인지 여부를 지정한다. ptn_sec_residual_sign_flag[ k ] 가 1이면 잔차 성분의 부호가 양임을 나타낸다. ptn_sec_residual_sign_flag[ k ] 가 0이면 잔차 성분의 부호가 음임을 나타낸다. 존재하지 않는 ptn_src_residual_sign_flag[ k ], ptn_sec_residual_abs_minus2[ k ], 또는 ptn_sec_residual_abs_minus17[ k ] 중 어느 것은 0 으로 추론된다. 존재하지 않는 ptn_sec_residual_eq0_flag[ k ], 또는 ptn_sec_residual_eq1_flag[ k ] 중 어느 것은 1 로 추론된다.
현재 트리 노드와 연관된 제 2 예측 잔차는 다음과 같이 도출된다:
Figure pct00086
Figure pct00087
Figure pct00088
예측 지오메트리 코딩의 위의 구현은 하나 이상의 단점을 나타낼 수도 있다. 일례로서, 각도 코딩 모드를 사용한 예측 지오메트리 코딩의 위의 구현은, 위의 구현이 1차
Figure pct00089
및 2차
Figure pct00090
잔차 둘 다의 코딩을 필요로 하므로, 컨텍스트 코딩된 빈을 많이 요구할 수도 있고, 이는 계산 집약적이다. 다른 예로서, 예측자 인덱스의 시그널링 및 자식 수 시그널링(두 경우 모두 총 4개의 후보가 있음)에 대해, 예측 지오메트리 코딩의 위의 구현은 2 비트 고정 길이 코딩을 사용하며, 이는 후보가 동등 확률(equi-probable)이 아니므로 최적이 아닐 수도 있다. 다른 예로서, 예측 지오메트리 코딩의 위의 구현에서의 1차 잔차에 대해, 포인트 카운트가 단일 레이저를 사용하여 캡처되는 경우와 같이 레이저 인덱스(i)와 연관된 시그널링이 중복(redundant)될 수도 있다. 다른 예로서, 예측 지오메트리 코딩의 위의 구현에서, 영 예측기(또는 위에서 설명한 "예측 없음")는 매우 비효율적이며 예측에 거의 사용되지 않을 수도 있다. 또한, "r" 부분에 대해, 이는 음수가 아니고 as 예측은 항상 0 이므로, "r" 성분에 대한 잔차의 부호는 항상 추론될 수 있으므로, 대응하는 시그널링은 중복된다.
본 개시의 하나 이상의 기법에 따르면, 인코더(예를 들어, G-PCC 인코더(200)) 및/또는 디코더(예를 들어, G-PCC 디코더(300))는 전술한 단점을 극복할 수 있다. 제 1 예로서, 인코더 및/또는 디코더는 2차 잔차 및 파이 승수(phi multiplier)에 대한 컨텍스트 및 컨텍스트 코딩된 빈의 감소를 수행할 수도 있다. 제 2 예로서, 인코더 및/또는 디코더는 자식 수 및 예측자 인덱스 시그널링에 대해 가변 길이 코딩을 수행할 수도 있다. 제 3 예로서, 인코더 및/또는 디코더는 콘텐츠가 단일 레이저에 의해 캡처될 때 레이저 인덱스의 시그널링을 제거할 수도 있다. 제 4 예로서, 인코더 및/또는 디코더는 부모 이웃의 방위각 및 레이저 인덱스와 부호 추론을 활용하여 영 예측을 수정할 수도 있다.
본 개시의 기법의 일부 상세 예는 다음과 같다:
위에 논의된 바처럼, 제 1 예에 따라, 인코더 및/또는 디코더는 2차 잔차 및 파이 승수에 대한 컨텍스트 및 컨텍스트 코딩된 빈의 감소를 수행할 수도 있다. 예를 들어, 2차 잔차 코딩은 ptn_sec_residual_abs_minus17[ k ] 신택스 엘리먼트 및 연관된 3*15 = 45 컨텍스트를 제거함으로써 단순화될 수도 있다. 일부 예에서, ptn_sec_residual_abs_minus2[ k] 에 대한 이진화 및 컨텍스트가 수정될 수도 있다. 일부 예시적인 수정들이 <ADD> . . . </ADD> 태그에서 추가로 그리고 <REMOVE> . . . </REMOVE> 태그에서 제거로 아래에 나와있다.
Figure pct00091
ptn_sec_residual_eq0_flag[ k ], ptn_sec_residual_eq1_flag[ k ], ptn_sec_residual_sign_flag[ k ], <ADD> 및 </ADD> ptn_sec_residual_abs_minus2[ k ], <REMOVE> 및ptn_sec_residual_abs_minus17[ k ] </REMOVE> 는 함께 k번째 지오메트리 포지션 성분의 2차 잔차를 지정한다. ptn_sec_residual_eq0_flag[ k ] 는 잔차 성분이 0인지 여부를 지정한다. ptn_sec_residual_eq1_flag[ k ]는, 존재하는 경우, 잔차 성분 크기가 1인지 여부를 지정한다. ptn_sec_residual_sign_flag[ k ] 가 1이면 잔차 성분의 부호가 양임을 나타낸다. ptn_sec_residual_sign_flag[ k ] 가 0이면 잔차 성분의 부호가 음임을 나타낸다. 존재하지 않는 ptn_src_residual_sign_flag[ k ], <ADD> 또는 </ADD> ptn_sec_residual_abs_minus2[ k ], <REMOVE> 또는 ptn_sec_residual_abs_minus17[ k ] </REMOVE> 중 어느 것은 0 으로 추론된다. 존재하지 않는 ptn_sec_residual_eq0_flag[ k ], 또는 ptn_sec_residual_eq1_flag[ k ] 중 어느 것은 1 로 추론된다.
현재 트리 노드와 연관된 제 2 예측 잔차는 다음과 같이 도출된다:
Figure pct00092
Figure pct00093
Figure pct00094
대안적으로, G_PCC 코더는 지수 Golomb 코딩을 위해 특정 개수의 프리픽스 컨텍스트(예: a 컨텍스트) 및 서픽스 컨텍스트(예: b 컨텍스트)를 사용하여 시그널링을 수행할 수도 있다. 프리픽스 컨텍스트 및 서픽스 컨텍스트의 사용은 2차 나머지 성분에 상당한 에너지가 있을 때 효과적일 수도 있다(예: 코딩 이득 제공). 하나의 예에서: a = 5, b = 4.
Figure pct00095
둘째, 파이 승수와 연관된 신택스는 8개의 컨텍스트를 제거하고 시그널링를 수정하여 단순화되고, 상세는 다음과 같다:
Figure pct00096
ptn_phi_mult_eq0_flag, ptn_phi_mult_sign_flag, ptn_phi_mult_eq1_flag, ptn_phi_mult_abs_minus2, 및 <REMOVE>ptn_phi_mult_abs_minus17 </REMOVE> <ADD>ptn_phi_mult_abs_minus9</ADD> 는 함께 델타 각도 예측에 사용되는 곱셈 인자를 지정한다. ptn_phi_mult_eq0_flag는, 존재하는 경우, 인자가 0인지 여부를 지정한다. ptn_phi_mult_eq1_flag는, 존재하는 경우, 인자의 크기가 1인지 여부를 지정한다. ptn_phi_mult_sign_flag 가 1이면 인자의 부호가 양(positive)임을 나타낸다. ptn_phi_mult_sign_flag 가 0이면 인자의 부호가 음(negative)임을 나타낸다. 존재하지 않는 ptn_phi_mult_sign_flag, ptn_phi_mult_abs_minus2, 또는 <REMOVE>ptn_phi_mult_abs_minus17 </REMOVE> <ADD> ptn_phi_mult_abs_minus9 </ADD> 중 어느 것은 0으로 추론된다. 존재하지 않는 ptn_phi_mult_eq0_flag, 또는 ptn_phi_mult_eq1_flag 중 어느 것은 1 로 추론된다.
현재 트리 노드의 파이 인자는 다음과 같이 도출된다:
Figure pct00097
Figure pct00098
Figure pct00099
위에 논의된 바처럼, 제 2 예에 따라, 인코더 및/또는 디코더는 자식 수 및 예측자 인덱스 시그널링을 위해 가변 길이 코딩을 수행할 수도 있다. 현재, 예측자 모드와 자식 수 시그널링 정보 둘 다는 다음 맵핑을 갖는 3개의 컨텍스트로 2비트 고정 길이 코딩에서 시그널링된다:
Figure pct00100
그러나, 동등 확률이 아닌 기호 통계를 설명하기 위해, 가변 길이 이진화, 예를 들어 절단된 단항 이진화(truncated unary binarization)로 시그널링하는 것이 제안된다. 이는 시그널링과 연관된 전체 빈 수를 줄일 수도 있다. 각도 모드의 적용 여부에 따라 predMode의 통계가 달라질 수도 있으므로, 대응하는 지오메트리 파라미터 세트에서 이미 시그널링된 각도 모드가 인에이블되는지 여부에 따라 상이한 맵핑이 사용될 수도 있다.
Figure pct00101
Figure pct00102
Figure pct00103
전술한 바와 같이, 제 3 예에 따르면, 인코더 및/또는 디코더는 콘텐츠가 단일 레이저에 의해 캡처될 때 레이저 인덱스의 시그널링을 제거할 (예를 들어, 인코딩하지 않고 디코딩하지 않을) 수도 있다. num_lasers_minus1 이 0 일때, 포인트 클라우드에 있는 모든 포인트에 대해 레이저 인덱스가 동일하다. 그래서, 레이저 인덱스에 대한 연관된 잔차 시그널링은 중복될 수도 있다 (즉, 제 3 성분의 잔차는 시그널링될 필요가 없다). 제 3 성분이 레이저 인덱스에 대응한다는 것을 고려한 신택스의 변경은 아래에 나와 있다. (이는 축 변환이 존재하는 경우 변경될 수도 있다).
Figure pct00104
축 변환이 있는 경우, 레이저 인덱스에 대응하는 성분은 시그널링되지 않을 것이다.
또한, num_lasers_minus1 이 1일 때 (2개의 레이저만 있음), 잔차는 0, -1 또는 +1일 수 있지만, 여기서는 0이 아닌 경우에 대해, 부호 및 후속 정보를 추론할 수 있고 시그널링될 필요가 없다. 예를 들어, laserIdx 0 및 1 를 갖는, 2개의 레이저를 가지고 있다고 하면, 예측된 laserIdx 가 1이고 잔차가 0 이 아닌 경우, 현재 laserIdx = 0 이라는 것이 추론될 수 있다. 그래서, 그 경우에, ptn_residual_eq0_flag[2]를 시그널링하는 것만으로 충분하다. 따라서, 다음의 신택스 변경이 구현될 수도 있다:
Figure pct00105
위에 논의된 바처럼, 제 4 예에 따라, 인코더 및/또는 디코더는 부모 이웃의 방위각 및 레이저 인덱스와 부호 추론을 활용하여 영 예측을 수정할 수도 있다.
현재, 각도 도메인에서 영 예측은 0과 동일한 모든 성분에 대응한다. 그러나, 영 예측의 현재 구현은 비효율적일 수 있으므로 거의 사용되지 않는다.
본 개시의 하나 이상의 기법에 따르면, 인코더 또는 디코더는 parentNode가 이용가능한 경우 parentNode (조상) 으로부터 방위각 및 레이저 인덱스를 상속할 수도 있다. 그래서, 어느 면에서는, 반경이 0 (또는 최소 반경 값) 으로 설정된다는 점을 제외하면, 델타 예측과 유사하다.
포지션 예측 프로세스에서 다음의 변경이 필요하다(섹션 8.2.6.4) [w19522]:
Figure pct00106
둘째, 영 예측자를 사용할 때, 예측된 반경이 0 이므로, 대응하는 잔차가 양수로 추론되므로, 이에 따라, 대응하는 부호는 시그널링될 필요가 있는 것이 아니라 추론된다. 각도 모드가 디스에이블된 경우에도 마찬가지이다.
Figure pct00107
대안적으로 반경의 최소값(모든 포인트 중 최소 반경)을 슬라이스 헤더에서 시그널링할 수 있으며, 이를 0 대신 영 예측자에 대한 반경으로서 사용할 수 있다.
영 예측자를 개선하기 위해, 델타 예측자뿐만 아니라 모든 예측자에 파이 승수를 적용할 수 있다. 신택스의 다음 변경은 다음과 같다:
Figure pct00108
도 6 은 본 개시의 하나 이상의 기법들과 함께 사용될 수도 있는 예시적인 레인지-파인딩 (range-finding) 시스템(600)을 예시한 개념도이다. 도 6 의 예에서, 레인지-파인딩 시스템(600)은 일루미네이터 (602) 및 센서 (604) 를 포함한다. 일루미네이터 (602) 는 광 (606) 을 방출할 수도 있다. 일부 예들에 있어서, 일루미네이터 (602) 는 하나 이상의 레이저 빔들로서 광 (606) 을 방출할 수도 있다. 광 (606) 은 적외선 파장 또는 가시광선 파장과 같은 하나 이상의 파장들일 수도 있다. 다른 예들에 있어서, 광 (606) 은 코히어런트하지 않은 레이저 광이다. 광 (606) 이 오브젝트 (608) 와 같은 오브젝트를 만날 때, 광 (606) 은 복귀 광 (610) 을 생성한다. 복귀 광 (610) 은 후방산란 및/또는 반사 광을 포함할 수도 있다. 복귀 광 (610) 은, 센서 (604) 상에 오브젝트 (608) 의 이미지 (612) 를 생성하도록 복귀 광 (610) 을 지향시키는 렌즈 (611) 를 통과할 수도 있다. 센서 (604) 는 이미지 (612) 에 기초하여 신호들 (614) 을 생성한다. 이미지 (612) 는 (예를 들어, 도 6 의 이미지 (612) 에서 도트들에 의해 표현된 바와 같은) 포인트들의 세트를 포함할 수도 있다.
일부 예들에서, 일루미네이터(602) 및 센서(604)는 일루미네이터(602) 및 센서(604)가 환경의 360도 뷰를 캡처하도록 스피닝 구조 상에 장착될 수도 있다. 다른 예에서, 레인지 파인딩 시스템(600)은 일루미네이터(602) 및 센서(604)가 특정 레인지(예를 들어, 최대 360도) 내의 오브젝트의 레인지를 검출할 수 있게 하는 하나 이상의 광학 컴포넌트(예를 들어, 거울, 시준기, 회절 격자 등)를 포함할 수도 있다. 도 6 의 예는 단일의 일루미네이터 (602) 및 센서 (604) 만을 도시하지만, 레인지-파인딩 시스템 (600) 은 다수의 세트들의 일루미네이터들 및 센서들을 포함할 수도 있다.
일부 예들에 있어서, 일루미네이터 (602) 는 구조화된 광 패턴을 생성한다. 그러한 예들에 있어서, 레인지-파인딩 시스템 (600) 은, 구조화된 광 패턴의 각각의 이미지들이 형성되는 다수의 센서들 (604) 을 포함할 수도 있다. 레인지-파인딩 시스템 (600) 은, 구조화된 광 패턴이 후방산란하는 오브젝트 (608) 까지의 거리를 결정하기 위해 구조화된 광 패턴의 이미지들 사이의 디스패리티들을 사용할 수도 있다. 구조화된 광 기반 레인지-파인딩 시스템들은, 오브젝트 (608) 가 센서 (604) 에 비교적 가까울 때 (예컨대, 0.2 미터 내지 2 미터), 고 레벨의 정확도 (예컨대, 서브-밀리미터 범위에서의 정확도) 를 가질 수도 있다. 이러한 고 레벨의 정확도는 모바일 디바이스들 (예컨대, 모바일 폰들, 태블릿 컴퓨터들 등) 을 잠금해제하는 것과 같은 안면 인식 애플리케이션들에서 그리고 보안 애플리케이션들에 유용할 수도 있다.
일부 예들에 있어서, 레인지-파인딩 시스템 (600) 은 ToF (time of flight) 기반 시스템이다. 레인지 파인딩 시스템 (600) 이 ToF 기반 시스템인 일부 예들에 있어서, 일루미네이터 (602) 는 광의 펄스들을 생성한다. 즉, 일루미네이터 (602) 는 방출된 광 (606) 의 진폭을 변조할 수도 있다. 그러한 예들에 있어서, 센서 (604) 는 일루미네이터 (602) 에 의해 생성된 광 (606) 의 펄스들로부터 복귀 광 (610) 을 검출한다. 그 다음, 레인지-파인딩 시스템 (600) 은, 광 (606) 이 방출되고 검출된 때와 알고 이는 공기 중의 광의 속도 사이의 지연에 기초하여 광 (606) 이 후방산란하는 오브젝트 (608) 까지의 거리를 결정할 수도 있다. 일부 예들에 있어서, 방출된 광 (606) 의 진폭을 변조하기보다는 (또는 이에 추가하여), 일루미네이터 (602) 는 방출된 광 (606) 의 위상을 변조할 수도 있다. 그러한 예들에 있어서, 센서 (604) 는 오브젝트 (608) 로부터의 복귀 광 (610) 의 위상을 검출하고, 일루미네이터 (602) 가 특정 위상에서 광 (606) 을 생성한 때와 센서 (604) 가 특정 위상에서 복귀 광 (610) 을 검출한 때 사이의 시간 차이들에 기초하여 그리고 광의 속도를 사용하여 오브젝트 (608) 상의 포인트들까지의 거리들을 결정할 수도 있다.
다른 예들에 있어서, 포인트 클라우드는 일루미네이터 (602) 를 사용하지 않고 생성될 수도 있다. 예를 들어, 일부 예들에 있어서, 레인지-파인딩 시스템 (600) 의 센서 (604) 는 2개 이상의 광학 카메라들을 포함할 수도 있다. 그러한 예들에 있어서, 레인지-파인딩 시스템 (600) 은 오브젝트 (608) 를 포함하는 환경의 스테레오 이미지들을 캡처하기 위해 광학 카메라들을 사용할 수도 있다. 레인지 파인딩 시스템 (600) 은 스테레오 이미지들에서의 위치들 사이의 디스패리티들을 계산할 수도 있는 포인트 클라우드 생성기 (616) 를 포함할 수도 있다. 그 다음, 레인지-파인딩 시스템 (600) 은 스테레오 이미지들에서 나타낸 위치들까지의 거리들을 결정하기 위해 디스패리티들을 사용할 수도 있다. 이들 거리들로부터, 포인트 클라우드 생성기 (616) 는 포인트 클라우드를 생성할 수도 있다.
센서들 (604) 은 또한, 컬러 및 반사율 정보와 같은 오브젝트 (608) 의 다른 속성들을 검출할 수도 있다. 도 6 의 예에서, 포인트 클라우드 생성기(616)는 센서(604)에 의해 생성된 신호(614)에 기초하여 포인트 클라우드를 생성할 수 있다. 레인지-파인딩 시스템(600) 및/또는 포인트 클라우드 생성기(616)는 데이터 소스(104)(도 1)의 일부를 형성할 수 있다. 그러므로, 레인지-파인딩 시스템(600)에 의해 생성된 포인트 클라우드는 본 개시의 기법들 중 임의의 것에 따라 인코딩 및/또는 디코딩될 수도 있다.
도 7 은 본 개시의 하나 이상의 기법들이 사용될 수도 있는 예시적인 차량 기반 시나리오를 예시한 개념도이다. 도 7 의 예에서, 차량(700)은 레인지-파인딩 시스템(702)을 포함한다. 레인지-파인딩 시스템(702)은 도 7과 관련하여 논의된 방식으로 구현될 수도 있다. 도 7의 예에서는 도시하지 않았지만, 차량(700)은 또한 데이터 소스(104)(도 1)와 같은 데이터 소스, 및 G-PCC 인코더(200)(도 1)와 같은 G-PCC 인코더를 포함할 수도 있다. 도 7 의 예에서, 레인지-파인딩 시스템(702)는 보행자(706) 또는 도로에 있는 다른 오브젝트를 반사하는 레이저 빔(704)을 방출한다. 차량 (700) 의 데이터 소스는 레인지-파인딩 시스템 (702) 에 의해 생성된 신호들에 기초하여 포인트 클라우드를 생성할 수도 있다. 차량(700)의 G-PCC 인코더는 포인트 클라우드를 인코딩하여 지오메트리 비트스트림 (도 2) 및 속성 비트스트림 (도 2) 과 같은 비트스트림(708)을 생성할 수도 있다. 비트스트림들 (708) 은 G-PCC 인코더에 의해 얻어진 인코딩되지 않은 포인트 클라우드보다 훨씬 더 적은 비트들을 포함할 수도 있다.
차량(700)의 출력 인터페이스(예를 들어, 출력 인터페이스(108)(도 1)는 하나 이상의 다른 디바이스에 비트스트림(708)을 송신할 수도 있다. 비트스트림들 (808) 은 G-PCC 인코더에 의해 얻어진 인코딩되지 않은 포인트 클라우드보다 훨씬 더 적은 비트들을 포함할 수도 있다. 따라서, 차량 (700) 은 인코딩되지 않은 포인트 클라우드 데이터보다 더 빠르게 비트스트림들 (708) 을 다른 디바이스들로 송신 가능할 수도 있다. 부가적으로, 비트스트림들 (708) 은 더 적은 데이터 저장 용량을 요구할 수도 있다.
도 7 의 예에서, 차량 (700) 은 비트스트림들 (708) 을 다른 차량 (710) 에 송신할 수도 있다. 차량(710)은 G-PCC 디코더(300)(도 1)와 같은 G-PCC 디코더를 포함할 수도 있다. 차량 (710) 의 G-PCC 디코더는 포인트 클라우드를 재구성하기 위해 비트스트림들 (708) 을 디코딩할 수도 있다. 차량 (710) 은 다양한 목적들을 위해 재구성된 포인트 클라우드를 사용할 수도 있다. 예를 들어, 차량 (710) 은 재구성된 포인트 클라우드에 기초하여, 보행자들 (706) 이 차량 (700) 전방의 도로에 있음을 결정하고, 따라서, 예컨대, 차량 (710) 의 운전자가 보행자들 (706) 이 도로에 있음을 인식하기 전이라도, 감속을 시작할 수도 있다. 따라서, 일부 예들에 있어서, 차량 (710) 은 재구성된 포인트 클라우드에 기초하여 자율 내비게이션 동작을 수행할 수도 있다.
추가적으로 또는 대안적으로, 차량(700)은 비트스트림(708)을 서버 시스템(712)으로 전송할 수 있다. 서버 시스템 (712) 은 다양한 목적들을 위해 비트스트림들 (708) 을 사용할 수도 있다. 예를 들어, 서버 시스템 (712) 은 포인트 클라우드들의 후속 재구성을 위해 비트스트림들 (708) 을 저장할 수도 있다. 이 예에 있어서, 서버 시스템 (712) 은 자율 주행 시스템을 트레이닝하기 위해 다른 데이터 (예컨대, 차량 (700) 에 의해 생성된 차량 원격측정 데이터) 와 함께 포인트 클라우드들을 사용할 수도 있다. 다른 예에 있어서, 서버 시스템 (712) 은 (예컨대, 차량 (700) 이 보행자들 (706) 과 충돌하는 경우) 포렌식 충돌 조사들을 위한 후속 재구성을 위해 비트스트림들 (708) 을 저장할 수도 있다.
도 8 는 본 개시의 하나 이상의 기법들이 사용될 수도 있는 예시적인 확장 현실 시스템을 예시한 개념도이다. 확장 현실(XR)은 증강 현실(AR), 혼합 현실(MR) 및 가상 현실(VR)을 포함하는 다양한 기술을 포괄하는 데 사용되는 용어이다. 도 8 의 예에서, 사용자(800)는 제 1 위치(802)에 위치된다. 사용자 (800) 는 XR 헤드셋 (804) 을 착용한다. XR 헤드셋 (804) 에 대한 대안으로서, 사용자 (800) 는 모바일 디바이스 (예컨대, 모바일 폰, 태블릿 컴퓨터 등) 를 사용할 수도 있다. XR 헤드셋(804)은, 위치(802)에서의 오브젝트들(806) 상의 포인트들의 포지션을 검출하는 레인지 파인딩 시스템과 같은 깊이 검출 센서를 포함한다. XR 헤드셋(804)의 데이터 소스는, 위치(802)에서의 오브젝트들(806)의 포인트 클라우드 표현을 생성하기 위해 깊이 검출 센서에 의해 생성된 신호들을 사용할 수도 있다. XR 헤드셋(804)은 비트스트림(808)을 생성하기 위해 포인트 클라우드를 인코딩하도록 구성된 G-PCC 인코더(예를 들어, 도 1의 G-PCC 인코더(200))를 포함할 수도 있다.
XR 헤드셋(804)은 제 2 위치 (814)에서 사용자(812)에 의해 착용된 XR 헤드셋(810)으로 (예를 들어, 인터넷과 같은 네트워크를 통해) 비트스트림들(808)을 송신할 수도 있다. XR 헤드셋 (810) 은 포인트 클라우드를 재구성하기 위해 비트스트림들 (808) 을 디코딩할 수도 있다. XR 헤드셋 (810) 은, 위치 (802) 에서의 오브젝트들 (806) 을 표현하는 XR 시각화 (예컨대, AR, MR, VR 시각화) 를 생성하기 위해 포인트 클라우드를 사용할 수도 있다. 따라서, XR 헤드셋(810)이 VR 시각화를 생성하는 때와 같은 일부 예들에서, 사용자(812)는 위치(802)의 3D 몰입 경험(3D immersive experience)을 가질 수도 있다. 일부 예들에서, XR 헤드셋(810)은 재구성된 포인트 클라우드에 기초하여 가상 오브젝트의 포지션을 결정할 수도 있다. 예를 들어, XR 헤드셋(810)은 재구성된 포인트 클라우드에 기초하여 환경(예를 들어, 위치(802))이 평평한 표면을 포함한다고 결정하고, 그 다음 가상 오브젝트(예를 들어, 만화 캐릭터)가 그 평평한 표면 상에 포지셔닝되어야 한다고 결정할 수 있다. XR 헤드셋(810)은 가상 오브젝트가 상기 결정된 포지션에 있는 XR 시각화를 생성할 수도 있다. 예를 들어, XR 헤드셋(810)은 평평한 표면 상에 앉아 있는 만화 캐릭터를 보여줄 수도 있다.
도 9 은 본 개시의 하나 이상의 기법들이 사용될 수도 있는 예시적인 모바일 디바이스 시스템을 예시한 개념도이다. 도 9 의 예에서, 모바일 폰 또는 태블릿 컴퓨터와 같은 모바일 디바이스(900)는 모바일 디바이스(900)의 환경에서 오브젝트(902) 상의 포인트의 포지션을 검출하는, LIDAR 시스템과 같은 레인지 파인딩 시스템을 포함한다. 모바일 디바이스(900)의 데이터 소스는 깊이 검출 센서에 의해 생성된 신호를 사용하여 오브젝트들(902)의 포인트 클라우드 표현을 생성할 수도 있다. 모바일 디바이스(900)는 비트스트림(904)을 생성하기 위해 포인트 클라우드를 인코딩하도록 구성된 G-PCC 인코더(예를 들어, 도 1의 G-PCC 인코더(200))를 포함할 수도 있다. 도 9 의 예에서, 모바일 디바이스 (900) 는 서버 시스템 또는 다른 모바일 디바이스와 같은 원격 디바이스 (906) 에 비트스트림들을 송신할 수도 있다. 원격 디바이스(906)는 포인트 클라우드를 재구성하기 위해 비트스트림들(904)을 디코딩할 수도 있다. 원격 디바이스(906)은 포인트 클라우드를 다양한 용도로 사용할 수도 있다. 예를 들어, 원격 디바이스(906)는 모바일 디바이스(900)의 환경의 맵을 생성하기 위해 포인트 클라우드를 사용할 수도 있다. 예를 들어, 원격 디바이스(906)는 재구성된 포인트 클라우드에 기초하여 건물의 내부의 맵을 생성할 수도 있다. 다른 예에서, 원격 디바이스(906)는 포인트 클라우드에 기초하여 이미저리(imagery)(예를 들어, 컴퓨터 그래픽스)를 생성할 수도 있다. 예를 들어, 원격 디바이스(906)는 포인트 클라우드의 포인트들을 폴리곤들의 버텍스(vertex)들로서 사용하고, 포인트들의 컬러 속성들을 폴리곤들을 셰이딩하기 위한 기초로서 사용할 수도 있다. 일부 예들에서, 원격 디바이스(906)는 복원된 포인트 클라우드를 안면 인식 또는 다른 보안 애플리케이션들을 위해 사용할 수도 있다.
도 10a 및 도 10b는 빈(bin) n 에서의 이 프로세스의 예들을 도시한다. 도 10a 의 예 (201) 에서, 빈 n 에서의 레인지는 특정 컨텍스트 상태 (σ) 을 고려할 때 LPS 의 확률 (p σ ) 에 의해 주어지는 RangeLPS 및 RangeMPS 를 포함한다. 예 (201) 는 빈 n 의 값이 MPS와 동일할 때 빈 n+1 에서의 레인지의 업데이트를 나타낸다. 이 예에서, 로우(low)는 동일하게 유지하지만, 빈 n+1 에서의 레인지의 값은 빈 n 에서의 RangeMPS 의 값으로 감소된다. 도 10b 의 예 (203) 는 빈 n 의 값이 MPS 와 같지 않을 때 (즉, LPS 와 같을 때) 빈 n+1 에서 레인지의 업데이트를 나타낸다. 이 예에서, 로우는 빈 n 에서 RangeLPS 의 더 낮은 레인지 값으로 이동된다. 또한, 빈 n+1 에서의 레인지의 값은 빈 n 에서의 RangeLPS 의 값으로 감소된다.
일부 예에서, 레인지는 9 비트들로 표현되고 로우는 10 비트들로 표현될 수도 있다. 레인지 및 로우 값들을 충분한 정밀도로 유지하기 위한 재정규화 (renormalization) 프로세스가 존재한다. 레인지가 256 보다 적을 때마다 재정규화가 발생한다. 따라서 레인지는 재정규화 후 항상 256 보다 크거나 같다. 레인지 및 로우의 값들에 따라, BAC 는 비트스트림에, '0' 또는 '1'을 출력하거나, 또는 미래의 출력들을 위해 유지하기 위해 (BO: bits-outstanding 라고 불리는) 내부 변수를 업데이트한다. 도 11 은 레인지에 의존하는 BAC 출력의 예들을 도시한다. 예를 들어, 레인지 및 로우가 특정 임계치 (예를 들어, 512) 초과일 때 비트스트림에 '1' 이 출력된다. 레인지 및 로우가 특정 임계치 (예를 들어, 512) 미만일 때, '0’ 이 비트스트림에 출력된다. 레인지와 하한이 특정 임계치들 사이에 있을 때 비트스트림에 아무것도 출력되지 않는다. 대신에, BO 값이 증분되고, 다음 빈이 인코딩된다.
위에서 논의한 바와 같이, 높은 압축 효율을 제공하기 위해 산술 코딩 방법이 사용될 수도 있다. 이것은 먼저 이진화라 불리는 프로세스를 사용하여 비 이진 신택스 엘리먼트를 이진 표현(예: 0, 1)으로 변환하는 것에 의해 달성된다. 결과적인 변환된 항목은 빈(bin) 또는 빈-스트링(bin-string) 으로 불린다. 다음으로 이들 빈 또는 빈 스트링은 산술 코딩 프로세스에 공급된다. 도 11은 예시적인 CABAC(context adaptive binary arithmetic coding) 인코딩 스테이지를 예시한다. 예시적인 CABAC 인코딩 스테이지는 이를테면, 도 2의 G-PCC 인코더(200)의 산술 인코딩 유닛(214) 및/또는 산술 인코딩 유닛(226)에 의해 G-PCC 인코더에서 구현될 수도 있다.
G-PCC 의 일부 예에서, CABAC(context-adaptive binary arithmetic coding)는 이진화 프로세스를 통해 을 생성하는데 사용될 수도 있다. 각각의 코딩된 빈 값에 대해, 적절한 컨텍스트 모델 (context model)이 선택된다. 이들 컨텍스트 모델은 빈 확률 값에 기초하여 각각의 값을 출력 비트로 인코딩하는 데 사용된다. CABAC 엔진은 빈이 0 또는 1일 확률이 동일할 때 컨텍스트 모델링 및 빈 인코딩을 바이패스한다. 이것은 아래에 논의된 바이패스 코딩 스테이지이다. 그렇지 않으면, 빈 값이 인코딩될 때 모델이 적절한 컨텍스트 모델이 지정되고 모델들은 빈 값의 확률에 기초한다. 인코더가 더 많은 빈을 인코딩함에 따라 컨텍스트가 조정된다. 마지막으로, 컨텍스트 코딩된 빈 값 또는 미가공(raw) 비트스트림이 송신되거나 또는 그 밖의 방법으로 디코더에 제공된다.
도 12 은 본 개시의 기법들에 따라 CABAC 를 수행하도록 구성될 수도 있는 예시적인 산술 인코딩 유닛 (214) 의 블록도이다. 신택스 엘리먼트 (1180) 는 산술 인코딩 유닛 (214) 에 입력된다. 신택스 엘리먼트가 이미 이진 값 신택스 엘리먼트 (예컨대, 0 및 1 의 값만을 갖는 플래그 또는 다른 신택스 엘리먼트) 인 경우, 이진화의 단계는 스킵될 수도 있다. 신택스 엘리먼트가 비 이진 값의 신택스 엘리먼트 (예를 들어, 1 또는 0 이외의 값들을 가질 수도 있는 신택스 엘리먼트) 인 경우, 비 이진 값의 신택스 엘리먼트는 이진화기 (1200) 에 의해 이진화된다. 이진화기 (1200) 는 이진 결정들 (binary decisions) 의 시퀀스로의 비 이진 값의 신택스 엘리먼트의 맵핑을 수행한다. 이들 이진 결정은 종종 "빈 (bin)"이라고 불린다. 예를 들어, 변환 계수 레벨들에 대해, 레벨의 값은 연속적인 빈들로 분해될 수도 있으며, 각각의 빈은 계수 레벨의 절대 값이 어떤 값보다 큰지 여부를 나타낸다. 예를 들어, 빈 0 (때때로 유의 플래그로 지칭됨) 은 변환 계수 레벨의 절대 값이 0 보다 큰지 아닌지 여부를 나타낸다. 빈 1 은 변환 계수 레벨의 절대 값이 1 보다 큰지 아닌지 등을 나타낸다. 각각의 비 이진 값의 신택스 엘리먼트에 대해 고유한 맵핑이 개발될 수도 있다.
이진화기 (1200) 에 의해 생성된 각각의 빈은 산술 인코딩 유닛 (214) 의 이진 산술 코딩 측에 공급된다. 즉, 비 이진 값의 신택스 엘리먼트들의 미리 결정된 세트에 대해, 각각의 빈 타입 (예를 들어, 빈 0) 은 다음 빈 타입 (예를 들어, 빈 1) 전에 코딩된다. 코딩은 레귤러 모드 (regular mode) 또는 바이패스 모드 (bypass mode) 중 일방에서 수행될 수도 있다. 바이패스 모드에서, 바이패스 인코딩 엔진 (1260) 은 고정 확률 모델을 사용하여, 예를 들어, Golomb-Rice 또는 지수 Golomb 코딩을 사용하여, 산술 코딩을 수행한다. 바이패스 모드는 일반적으로 보다 예측가능한 신택스 엘리먼트들에 사용된다.
레귤러 모드에서의 코딩은 CABAC 을 수행하는 것을 포함할 수도 있다. 레귤러 모드 CABAC 는, 이전에 코딩된 빈들의 값들이 주어지면 빈 값의 확률이 예측 가능한 빈 값들을 코딩하기 위한 것이다. 빈이 LPS 일 확률은 컨텍스트 모델러 (1220) 에 의해 결정된다. 컨텍스트 모델러 (1220) 는 빈 값 및 컨텍스트에 대한 확률 상태 (예를 들어, LPS의 값 및 LPS의 발생 확률을 포함하는 확률 상태 σ) 를 출력한다. 컨텍스트는 일련의 빈들에 대한 초기 컨텍스트일 수도 있거나, 또는 이전에 코딩된 빈들의 코딩된 값들에 기초하여 결정될 수도 있다. 컨텍스트의 식별은 변수 ctxInc 의 값(이전 컨텍스트에 적용할 증분을 나타내는 ctxInc 의 값과 같은 컨텍스트 증분)에 기초하여 표현되거나 및/또는 결정될 수도 있다. 전술된 바와 같이, 컨텍스트 모델러는 수신된 빈이 MPS 또는 LPS 였는지 여부에 기초하여 상태를 업데이트할 수도 있다. 컨텍스트 및 확률 상태 σ 가 컨텍스트 모델러 (1220) 에 의해 결정된 후, 레귤러 인코딩 엔진 (1240) 은 빈 값에 대해 BAC 를 수행한다.
도 13 은 본 개시의 기법들에 따라 CABAC 를 수행하도록 구성될 수도 있는 예시적인 산술 디코딩 유닛 (302) 의 블록도이다. 도 13 의 산술 디코딩 유닛 (302) 은 도 12 에서 설명된 산술 인코딩 유닛 (214) 과 역의 방식으로 CABAC 를 수행한다. 비트스트림 (2180) 으로부터의 코딩된 비트들은 산술 디코딩 유닛 (302) 에 입력된다. 코딩된 비트들이 레귤러 모드 또는 바이패스 모드를 사용하여 엔트로피 코딩되었는지 여부에 기초하여, 컨텍스트 모델러 (2200) 또는 바이패스 디코딩 엔진 (2220) 중 일방에 코딩된 비트들이 공급된다. 코딩된 비트들이 바이패스 모드에서 코딩된 경우에, 바이패스 디코딩 엔진은 예를 들어 비 이진 신택스 엘리먼트들의 빈들 또는 이진 값의 신택스 엘리먼트들을 취출하기 위해 Golomb-Rice 또는 지수 Golomb 디코딩을 사용할 것이다.
코딩된 비트들이 레귤러 모드에서 코딩된 경우에, 컨텍스트 모델러 (2200) 는 코딩된 비트들에 대한 확률 모델을 결정할 수도 있고, 레귤러 디코딩 엔진 (2240) 은 코딩된 비트들을 디코딩하여 비 이진 값의 신택스 엘리먼트들의 빈들 (또는 이진 값인 경우 신택스 엘리먼트들 자체) 을 생성할 수도 있다. 컨텍스트 및 확률 상태 σ 가 컨텍스트 모델러 (2200) 에 의해 결정된 후, 레귤러 디코딩 엔진 (2240) 은 빈 값을 디코딩하기 위해 BAC 를 수행한다. 즉, 정규 디코딩 엔진 (2240) 은 컨텍스트의 확률 상태를 결정하고, 이전에 코딩된 빈들 및 현재 레인지에 기초하여 빈 값을 디코딩할 수도 있다. 빈을 디코딩한 후, 컨텍스트 모델러 (2200) 는 윈도우 사이즈 및 디코딩된 빈의 값에 기초하여 컨텍스트의 확률 상태를 업데이트할 수도 있다.
도 14 는 본 개시의 하나 이상의 기법들에 따른, 현재 예측 트리 노드를 인코딩하기 위한 예시적인 방법을 예시한 플로우차트이다. 현재 예측 트리 노드(PTN)는 포인트 클라우드에 포함될 수도 있다. G-PCC 인코더 (200) (도 1 및 도 2) 에 대해 설명되었지만, 다른 디바이스들이 도 14과 유사한 방법을 수행하도록 구성될 수도 있다는 것이 이해되야 한다. 예를 들어, G-PCC 디코더(300)(도 1 및 3)와 같은 G-PCC 디코더는 도 14의 그것에 대해 상보적인 방법을 수행할 수도 있다 (예를 들어, 인코딩과 반대로 디코딩할 수도 있다).
G-PCC 인코더(200)는 포인트 클라우드의 현재 예측 트리 노드(PTN)를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻을 수도 있다(1402). 위에 논의된 바처럼, G-PCC에서 예측 지오메트리 코딩을 위해 각도 모드를 사용할 때, G-PCC 인코더 (200)는
Figure pct00109
도메인에서 예측을 수행할 수도 있다. 반올림에서의 오류로 인해,
Figure pct00110
에서의 코딩은 손실이 발생할 수도 있다. 일부 예들에서, 이 손실은 데카르트 도메인에 있을 수도 있는 잔차(residual)들의 제2 세트(2차 잔차라고도 한다)를 코딩함으로써 감소되거나 제거될 수도 있다. 예를 들어, 현재 PTN은 3개의 2차 잔차
Figure pct00111
를 포함할 수도 있으며, 그 중 하나 이상이 도 14의 기법을 사용하여 인코딩될 수도 있다.
G-PCC 인코더(200)는 2차 잔차의 값을 인코딩할 수도 있다. 2차 잔차의 값을 인코딩하기 위해, G-PCC 인코더(200)는 CABAC(context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 인코딩 (1404) 하고; 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 신택스 엘리먼트의 서픽스 빈을 인코딩 (1406) 할 수도 있다. 예를 들어, G-PCC 인코더(200)의 산술 인코딩 유닛(214)은 0과 a-1 사이의 컨텍스트 인덱스(ctxIdx)를 갖는 컨텍스트를 사용하여 ptn_sec_residual_abs_minus2 신택스 엘리먼트의 프리픽스 빈을 인코딩하고 aa+b-1 사이의 컨텍스트 인덱스(ctxIdx)를 갖는 컨텍스트를 사용하여 ptn_sec_residual_abs_minus2[ k ] 신택스 엘리먼트의 서픽스 빈을 인코딩할 수도 있다. 일부 예에서, a 는 5 일 수 있고 b 는 4 일 수도 있다.
일부 예에서, 2차 잔차 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트에 더하여, G-PCC 인코더(200)는 2차 잔차 값을 지정하는 하나 이상의 다른 신택스 엘리먼트를 인코딩할 수도 있다. 일례로서, G-PCC 인코더(200)는 2차 잔차의 값이 0 인지 여부를 지정하는 값을 갖는 신택스 엘리먼트(예: ptn_sec_residual_eq0_flag)를 인코딩할 수도 있다. 다른 예로서, 2차 잔차의 값이 0 이 아닌 경우, G-PCC 인코더(200)는 2차 잔차의 값의 부호를 지정하는 값을 갖는 신택스 엘리먼트 (예: ptn_sec_residual_sign_flag), 및 2차 잔차의 값이 1보다 큰지 여부를 지정하는 값을 갖는 신택스 엘리먼트(예: ptn_sec_residual_eq1_flag)를 인코딩할 수도 있다.
그러나, 본 개시의 하나 이상의 기법에 따라 위에서 논의된 바와 같이, G-PCC 인코더(200)는, 2차 잔차의 절대 값이 17보다 큰 경우에도 2차 잔차의 절대 값 마이너스 17 을 지정하는 신택스 엘리먼트 (예: ptn_sec_residual_abs_minus17)를 인코딩하는 것을 피할 수도 있다. 2차 잔차의 절대값 마이너스 17 을 지정하는 신택스 엘리먼트를 인코딩하지 않고 2차 잔차의 절대값 마이너스 2 를 지정하는 신택스 엘리먼트의 프리픽스 및 서픽스를 컨텍스트 코딩함으로써, G-PCC 인코더(200)는 2차 잔차를 시그널링하는데 사용되는 컨텍스트 및/또는 컨텍스트 코딩된 빈의 수를 감소시킬 수도 있다. 이와 같이, 본 개시의 기법은 포인트 클라우드 코딩의 계산 복잡성을 감소시킬 수 있다.
본 개시의 기법은 2차 잔차를 넘어서는 시그널링에 적용 가능할 수도 있다. 예를 들어, G-PCC 인코더(200)는 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 파이 승수의 값을 획득 (1408) 하고 파이 승수 값의 절대 값 마이너스 9를 지정하는 값을 갖는 신택스 엘리먼트(예를 들어, ptn_phi_mult_abs_minus9)를 적어도 인코딩하는 것에 의해 파이 승수의 값을 인코딩 (1410) 할 수도 있다. 그러나, 2차 잔차와 유사하게, G-PCC 인코더(200)는 (예를 들어, 파이 승수의 절대값이 17보다 큰 경우에도) 파이 승수의 절대값 마이너스 17을 지정하는 신택스 엘리먼트를 인코딩하는 것을 피할 수도 있다.
전술한 바와 같이, 일부 예에서, G-PCC 인코더는 PTN 의 직접적인 자식 노드의 수를 시그널링할 수도 있다. 예를 들어, G-PCC 인코더(200)는 포인트 클라우드를 나타내는 지오메트리 예측 트리에 존재하는 현재 예측 트리 노드의 직접 자식 노드의 수를 나타내는 신택스 엘리먼트(예를 들어, Ptn_child_cnt)를 인코딩할 수도 있다. 일부 예에서, G-PCC 인코더(200)는 신택스 엘리먼트를 인코딩(예를 들어, 이진화)하기 위해 고정 길이 코딩을 활용할 수도 있다. 예를 들어, G-PCC 인코더(200)는 직접적인 자식 노드의 수를 나타내는 신택스 엘리먼트를 인코딩하기 위해 다음 표를 활용할 수도 있다.
Figure pct00112
그러나, 일부 예에서 고정 길이 코딩을 활용하는 것은 바람직하지 않을 수도 있다. 예를 들어, 자식 노드 수의 확률 분포는 더 많은 PTN 이 0, 2 또는 3개의 자식 노드를 갖는 것보다는 하나의 자식 노드를 갖는 것을 초래할 수도 있다. 본 개시의 하나 이상의 기법에 따라, G-PCC 인코더(200)는, 가변 길이 코딩을 이용하여, 포인트 클라우드를 나타내는 지오메트리 예측 트리에 존재하는 현재 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 신택스 엘리먼트(예를 들어, Ptn_child_cnt)를 인코딩 (1412) 할 수도 있다. 예를 들어, G-PCC 인코더(200)는 직접적인 자식 노드의 수를 나타내는 신택스 엘리먼트를 인코딩하기 위해 다음 표를 활용할 수도 있다.
Figure pct00113
상기 표에서 알 수 있는 바와 같이, 직접적인 자식 노드의 수를 나타내는 신택스 엘리먼트를 가변 길이 코딩하는 것은 직접적인 자식 노드의 수가 0인 경우보다 직접적인 자식 노드의 수가 1인 경우에 더 짧은 코드워드를 활용하는 것을 포함할 수도 있다(예를 들어, 자식 노드의 수가 1인 경우에 코드 워드 "0"을 사용하는 것 대 직접적인 자식 노드의 수가 0 인 경우에 코드 워드 "10"을 사용하는 것).
도 15 는 본 개시의 하나 이상의 기법들에 따른, 현재 예측 트리 노드를 디코딩하기 위한 예시적인 방법을 예시한 플로우차트이다. 현재 예측 트리 노드(PTN)는 포인트 클라우드에 포함될 수도 있다. G-PCC 디코더 (300) (도 1 및 도 3) 에 대해 설명되었지만, 다른 디바이스들이 도 15과 유사한 방법을 수행하도록 구성될 수도 있다는 것이 이해되야 한다. 예를 들어, G-PCC 인코더(200)(도 1 및 2)와 같은 G-PCC 인코더는 도 15의 그것에 대해 상보적인 방법을 수행 (예를 들어, GRU (216) 에 의해 수행되는 재구성 루프에서와 같이, 디코딩과 반대로 인코딩) 할 수도 있다.
G-PCC 디코더(300)는 포인트 클라우드의 현재 예측 트리 노드 포지션의 예측 지오메트리 코딩을 수행하기 위한 예측 모드를, 미리 정의된 복수의 예측 모드 중에서, 선택할 수도 있다. 전술한 바와 같이, 복수의 예측 모드는 적어도: 영 예측 모드 및 델타 예측 모드를 포함할 수도 있다. 일부 예에서, G-PCC 디코더(300)는 신택스 엘리먼트의 값에 기초하여 예측 모드를 선택할 수도 있다. 예를 들어, 지오메트리 산술 디코더 유닛(302)은 어느 예측 모드가 선택되어야 하는지를 지정하는 값을 갖는 ptn_pred_mode 신택스 엘리먼트를 디코딩할 수도 있다.
영 예측 모드를 선택하는 것에 응답하여(1502), G-PCC 디코더(300)는 현재 PTN 의 포지션을 결정하기 위해 영 예측을 수행할 수도 있다. 영 예측을 수행하기 위해, G-PCC 디코더 (300) 는 현재 예측 트리 노드의 부모 노드의 반경, 방위각 및 레이저 인덱스를 결정할 수도 있다(1504). 예를 들어, G-PCC 디코더(300)는 (예를 들어, 이전에 G-PCC 디코더(300)에 의해 결정된 바와 같이) 메모리로부터 부모 노드의 반경, 방위각 및 레이저 인덱스를 얻을 수도 있다.
G-PCC 디코더 (300) 는 현재 예측 트리 노드의 예측된 포지션의 방위각 및 레이저 인덱스를 부모 노드의 방위각 및 레이저 인덱스로 추론할 수도 있다 (1506). 예를 들어, G-PCC 디코더(300)는 부모 노드의 방위각 및 레이저 인덱스를 현재 노드의 예측된 포지션의 방위각 및 레이저 인덱스로 복사할 수도 있다.
G-PCC 디코더(300)는 예측된 포지션의 반경을 최소 반경 값으로 추론할 수도 있다(1508). 예를 들어, G-PCC 디코더(300)는 예측된 포지션의 반경을 항상 최소 반경 값으로 설정할 수도 있다. 일부 예에서, 최소 반경 값은 항상 0일 수도 있다. 일부 예에서, 최소 반경 값은 0보다 클 수도 있다. 예를 들어, G-PCC 디코더(300)는 (예를 들어, 슬라이스 헤더로부터) 최소 반경 값을 지정하는 신택스 엘리먼트를 디코딩할 수도 있다.
영 예측의 수행을 완료하기 위해, G-PCC 디코더(300)는, 현재 예측 트리 노드의 예측된 포지션에 기초하여, 현재 예측 트리 노드의 포지션을 결정할 수도 있다(1510). 예를 들어, G-PCC 디코더(300)는 현재 예측 트리 노드의 예측된 포지션의 반경 값과 현재 예측 트리 노드의 포지션의 반경 값 사이의 차이를 나타내는 잔차 반경 값을 얻을 수도 있다. 선택된 모드가 영 예측 모드인 경우와 같은 일부 예들에서, G-PCC 디코더(300)는 잔차 반경 값의 부호가 양이라고 추론할 수도 있다(예를 들어, 그리고 부호가 양인지 음인지를 시그널링해야 하는 것을 피할 수도 있다). G-PCC 디코더(300)는 최소 반경 값(예를 들어, 현재 PTN의 예측된 포지션의 반경 값)에 잔차 반경 값을 더하여 현재 PTN의 포지션의 반경 값을 얻을 수도 있다. G-PCC 디코더(300)는 유사하게 다른 성분(예를 들어, 방위각 및 레이저 인덱스)에 대한 잔차를 얻고 더할 수도 있다.
일부 예에서, G-PCC 디코더(300)는 포인트 클라우드를 생성하는 데 사용되는 레이저의 양에 기초하여 디코딩을 수정할 수도 있다. 예를 들어, G-PCC 디코더(300)는 포인트 클라우드를 나타내는 LIDAR(Light Detection and Ranging) 데이터를 캡처하는 데 사용되는 레이저의 양을 결정하고 (1512); 레이저의 양이 1이라는 결정에 응답하여, 포인트 클라우드에 있는 모든 노드에 대한 레이저 인덱스를 동일한 값(예를 들어, 0의 레이저 인덱스 값)으로 추론할 수도 있다(1514). 이러한 방식으로, G-PCC 디코더(300)는 레이저 인덱스를 시그널링 및/또는 예측해야 하는 것을 피할 수도 있다. 이와 같이, 본 개시의 기술은 포인트 클라우드를 표현하는 데 필요한 비트 수를 감소시키거나 및/또는 포인트 클라우드 코딩 복잡성을 감소시킬 수도 있다.
다음의 넘버링된 조항들은 본 개시의 하나 이상의 양태들을 예시할 수도 있다:
조항 1A. 포인트 클라우드를 프로세싱하는 방법으로서, 포인트 클라우드의 지오메트리 코딩을 위한 2차 잔차의 값을 얻는 단계로서, 그 값은 17보다 큰, 상기 값을 얻는 단계; 및 2차 잔차의 값 마이너스 17을 지정하는 신택스 엘리먼트를 코딩하지 않고 2차 잔차 값을 코딩하는 단계를 포함하는, 포인트 클라우드를 프로세싱하는 방법.
조항 2A. 조항 1A 에 있어서, 상기 신택스 엘리먼트는 ptn_sec_residual_abs_minus17 신택스 엘리먼트를 포함하는, 포인트 클라우드를 프로세싱하는 방법.
조항 3A. 조항 1A 또는 2A 에서, 포인트 클라우드의 지오메트리 코딩을 위한 파이 승수의 값을 얻는 단계로서, 파이 승수의 값은 17보다 큰, 상기 파이 승수의 값을 얻는 단계; 및 파이 승수 값 마이너스 17을 지정하는 신택스 엘리먼트를 코딩하지 않고 파이 승수의 값을 코딩하는 단계를 더 포함하는, 포인트 클라우드를 프로세싱하는 방법.
조항 4A. 조항 3A 에 있어서, 파이 승수의 값 마이너스 17 을 지정하는 신택스 엘리먼트는 ptn_phi_mult_abs_minus17 신택스 엘리먼트를 포함하는, 포인트 클라우드를 프로세싱하는 방법.
조항 5A. 조항 3A 또는 조항 4A 에 있어서, 파이 승수의 값 마이너스 9 를 지정하는 신택스 엘리먼트를 코딩하는 단계를 더 포함하는, 포인트 클라우드를 프로세싱하는 방법.
조항 6A. 조항 1A-5A 중 어느 것에 있어서, 2차 잔차의 값을 코딩하는 단계는 a 프리픽스 컨텍스트 및 b 서픽스 컨텍스트와 함께 지수 Golomb 코딩을 사용하여, 2차 잔차의 값 마이너스 N 을 지정하는 신택스 엘리먼트의 비트를 코딩하는 단계를 포함하는, 포인트 클라우드를 프로세싱하는 방법.
조항 7A. 조항 6A 에 있어서, N 은 2 인, 포인트 클라우드를 프로세싱하는 방법.
조항 8A. 조항 6A 또는 7A 에서, a 는 5 인, 포인트 클라우드를 프로세싱하는 방법.
조항 9A. 조항 6A-8A 중 어느 것에 있어서, b 는 4 인, 포인트 클라우드를 프로세싱하는 방법.
조항 1B. 포인트 클라우드를 프로세싱하는 방법으로서, 가변 길이 코딩을 이용하여, 포인트 클라우드를 나타내는 지오메트리 예측 트리에 존재하는 현재 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 신택스 엘리먼트를 코딩하는 단계; 및 가변 길이 코딩을 이용하여, 현재 예측 트리 노드와 연관된 포지션을 예측하는 데 사용되는 모드를 나타내는 신택스 엘리먼트를 코딩하는 단계를 포함하는, 포인트 클라우드를 프로세싱하는 방법.
조항 2B. 조항 1B 에 있어서, 지오메트리 예측 트리에 존재하는 현재 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 신택스 엘리먼트는 ptn_child_cnt 신택스 엘리먼트를 포함하는, 포인트 클라우드를 프로세싱하는 방법.
조항 3B. 조항 1B 또는 2B 에 있어서, 현재 예측 트리 노드와 연관된 포지션을 예측하는 데 사용되는 모드를 나타내는 신택스 엘리먼트는 ptn_pred_mode 신택스 엘리먼트를 포함하는, 포인트 클라우드를 프로세싱하는 방법.
조항 1C. 포인트 클라우드를 프로세싱하는 방법으로서, 포인트 클라우드를 나타내는 LIDAR(Light Detection and Ranging) 데이터를 캡처하는 데 단일 레이저가 사용되었음을 결정하는 것에 응답하여, 단일 레이저의 레이저 인덱스 값을 시그널링하는 것을 삼가하는(refraining from) 단계를 포함하는, 포인트 클라우드를 프로세싱하는 방법.
조항 1D. 포인트 클라우드를 프로세싱하는 방법으로서, 부모 이웃의 방위각, 레이저 인덱스, 및 부호 추론에 기초하여 포인트 클라우드의 영 예측을 수행하는 단계를 포함하는, 포인트 클라우드를 프로세싱하는 방법.
조항 1E. 포인트 클라우드를 인코딩하는 방법으로서, 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻는 단계; 및 2차 잔차의 값을 인코딩하는 단계를 포함하고, 상기 값을 인코딩하는 단계는 CABAC(context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈(prefix bin)을 인코딩하는 것; 및 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 신택스 엘리먼트의 서픽스 빈(suffix bin)을 인코딩하는 것을 포함하는, 포인트 클라우드를 인코딩하는 방법.
조항 2E. 조항 1E 에 있어서, 상기 신택스 엘리먼트는 ptn_sec_residual_abs_minus2 신택스 엘리먼트를 포함하는, 포인트 클라우드를 인코딩하는 방법.
조항 3E. 조항 1E-2E 중 어느 것에 있어서, 2차 잔차의 절대 값은 17보다 크고, 2차 잔차의 값을 인코딩하는 단계는 2차 잔차의 절대 값 마이너스 17을 지정하는 신택스 엘리먼트를 인코딩하는 단계를 포함하지 않는, 포인트 클라우드를 인코딩하는 방법.
조항 4E. 조항 1E-3E 중 어느 것에 있어서, CABAC 컨텍스트의 제 1 세트는 0 과 a-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하고, CABAC 컨텍스트의 제 2 세트는 aa+b-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하는, 포인트 클라우드를 인코딩하는 방법.
조항 5E. 조항 4E 에 있어서, a 는 5이고 b 는 4인, 포인트 클라우드를 인코딩하는 방법.
조항 6E. 조항 1E-5E 중 어느 것에 있어서, 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 2차 잔차의 값을 인코딩하는 단계는: 2차 잔차의 값이 0 인지 여부를 지정하는 값을 갖는 제 2 신택스 엘리먼트를 인코딩하는 단계; 2차 잔차의 값이 0이 아닌 경우: 2차 잔차 값의 부호를 지정하는 값을 갖는 제 3 신택스 엘리먼트를 인코딩하는 단계; 및 2차 잔차의 값이 1보다 더 큰지 여부를 지정하는 값을 갖는 제 4 신택스 엘리먼트를 인코딩하는 단계; 2차 잔차의 값이 1보다 더 큰 경우, 제 1 신택스 엘리먼트를 인코딩하는 단계를 더 포함하는, 포인트 클라우드를 인코딩하는 방법.
조항 7E. 조항 1E-6E 중 어느 것에 있어서, 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 방법은: 포인트 클라우드의 제 2 예측 트리 노드를 지오메트리 코딩하기 위한 파이 승수의 값을 얻는 단계; 및 파이 승수의 값을 인코딩하는 단계를 더 포함하고, 파이 승수의 값을 인코딩하는 단계는 파이 승수의 값의 절대 값 마이너스 9 를 지정하는 값을 갖는 제 5 신택스 엘리먼트를 인코딩하는 단계를 포함하는, 포인트 클라우드를 인코딩하는 방법.
조항 8E. 조항 7E 에 있어서, 파이 승수의 절대 값은 17보다 크고, 파이 승수의 값을 인코딩하는 단계는 파이 승수의 값 마이너스 17을 지정하는 신택스 엘리먼트를 인코딩하는 단계를 포함하지 않는, 포인트 클라우드를 인코딩하는 방법.
조항 9E. 조항 1E-8E 중 어느 것에 있어서, 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 방법은: 가변 길이 코딩을 이용하여, 포인트 클라우드를 나타내는 지오메트리 예측 트리에 존재하는 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 값을 갖는 제 6 신택스 엘리먼트를 인코딩하는 단계를 더 포함하는, 포인트 클라우드를 인코딩하는 방법.
조항 10E. 조항 9E 에 있어서, 지오메트리 예측 트리에 존재하는 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 제 6 신택스 엘리먼트는 ptn_child_cnt 신택스 엘리먼트를 포함하는, 포인트 클라우드를 인코딩하는 방법.
조항 11E. 조항 9E 에 있어서, 가변 길이 코딩을 사용하여 제 6 신택스 엘리먼트를 인코딩하는 단계는 직접적인 자식 노드의 수가 0인 경우보다 직접적인 자식 노드의 수가 1인 경우에 더 짧은 코드워드를 활용하는 단계를 포함하는, 포인트 클라우드를 인코딩하는 방법.
조항 12E. 포인트 클라우드를 디코딩하는 방법으로서, 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻는 단계; 및 2차 잔차의 값을 디코딩하는 단계를 포함하고, 값을 인코딩하는 단계는 CABAC(context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 디코딩하는 것; 및 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 사용하여, 신택스 엘리먼트의 서픽스 빈을 디코딩하는 것을 포함하는, 포인트 클라우드를 디코딩하는 방법.
조항 13E. 조항 12E 에 있어서, 상기 신택스 엘리먼트는 ptn_sec_residual_abs_minus2 신택스 엘리먼트를 포함하는, 포인트 클라우드를 디코딩하는 방법.
조항 14E. 조항 12E-13E 중 어느 것에 있어서, 2차 잔차의 절대 값은 17보다 크고, 2차 잔차의 값을 디코딩하는 단계는 2차 잔차의 절대 값 마이너스 17을 지정하는 신택스 엘리먼트를 디코딩하는 단계를 포함하지 않는, 포인트 클라우드를 디코딩하는 방법.
조항 15E. 조항 12E-14E 중 어느 것에 있어서, CABAC 컨텍스트의 제 1 세트는 0 과 a-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하고, CABAC 컨텍스트의 제 2 세트는 aa+b-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하는, 포인트 클라우드를 디코딩하는 방법.
조항 16E. 조항 15E 에 있어서, a 는 5이고 b 는 4인, 포인트 클라우드를 디코딩하는 방법.
조항 17E. 조항 12E-16E 중 어느 것에 있어서, 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 2차 잔차의 값을 디코딩하는 단계는: 2차 잔차의 값이 0 인지 여부를 지정하는 값을 갖는 제 2 신택스 엘리먼트를 디코딩하는 단계; 2차 잔차의 값이 0이 아닌 경우: 2차 잔차 값의 부호를 지정하는 값을 갖는 제 3 신택스 엘리먼트를 디코딩하는 단계; 및 2차 잔차의 값이 1보다 더 큰지 여부를 지정하는 값을 갖는 제 4 신택스 엘리먼트를 디코딩하는 단계; 2차 잔차의 값이 1보다 더 큰 경우, 제 1 신택스 엘리먼트를 디코딩하는 단계를 더 포함하는, 포인트 클라우드를 디코딩하는 방법.
조항 18E. 조항 12E-17E 중 어느 것에 있어서, 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 방법은: 포인트 클라우드의 제 2 예측 트리 노드를 지오메트리 코딩하기 위한 파이 승수의 값을 얻는 단계; 및 파이 승수의 값을 디코딩하는 단계를 더 포함하고, 파이 승수의 값을 디코딩하는 단계는 파이 승수의 값의 절대 값 마이너스 9 를 지정하는 값을 갖는 제 5 신택스 엘리먼트를 디코딩하는 단계를 포함하는, 포인트 클라우드를 디코딩하는 방법.
조항 19E. 조항 18E 에 있어서, 파이 승수의 절대 값은 17보다 크고, 파이 승수의 값을 디코딩하는 단계는 파이 승수의 값 마이너스 17을 지정하는 신택스 엘리먼트를 디코딩하는 단계를 포함하지 않는, 포인트 클라우드를 디코딩하는 방법.
조항 20E. 조항 12E-19E 중 어느 것에 있어서, 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 방법은: 가변 길이 코딩을 이용하여, 포인트 클라우드를 나타내는 지오메트리 예측 트리에 존재하는 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 값을 갖는 제 6 신택스 엘리먼트를 디코딩하는 단계를 더 포함하는, 포인트 클라우드를 디코딩하는 방법.
조항 21E. 조항 20E 에 있어서, 지오메트리 예측 트리에 존재하는 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 제 6 신택스 엘리먼트는 ptn_child_cnt 신택스 엘리먼트를 포함하는, 포인트 클라우드를 디코딩하는 방법.
조항 22E. 조항 20E 에 있어서, 가변 길이 코딩을 사용하여 제 6 신택스 엘리먼트를 디코딩하는 단계는 직접적인 자식 노드의 수가 0인 경우보다 직접적인 자식 노드의 수가 1인 경우에 더 짧은 코드워드를 활용하는 단계를 포함하는, 포인트 클라우드를 디코딩하는 방법.
조항 23E. 포인트 클라우드를 인코딩하기 위한 디바이스로서, 포인트 클라우드의 적어도 일부를 저장하도록 구성된 메모리; 및 회로부에 구현된 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들: 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻고; 2차 잔차의 값을 인코딩하도록 구성되고, 상기 값을 인코딩하기 위해, 하나 이상의 프로세서들은 CABAC (context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 인코딩하고; 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 사용하여, 신택스 엘리먼트의 서픽스 빈을 인코딩하도록 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 24E. 조항 23E 에 있어서, 상기 신택스 엘리먼트는 ptn_sec_residual_abs_minus2 신택스 엘리먼트를 포함하는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 25E. 조항 23E-24E 중 어느 것에 있어서, 2차 잔차의 절대 값은 17보다 크고, 2차 잔차의 값을 인코딩하기 위해, 하나 이상의 프로세서들은 2차 잔차의 절대 값 마이너스 17을 지정하는 신택스 엘리먼트를 인코딩하도록 구성되지 않는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 26E. 조항 23E-25E 중 어느 것에 있어서, CABAC 컨텍스트의 제 1 세트는 0 과 a-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하고, CABAC 컨텍스트의 제 2 세트는 aa+b-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 27E. 조항 26E 에 있어서, a 는 5이고 b 는 4인, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 28E. 조항 23E-27E 중 어느 것에 있어서, 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 추가로 2차 잔차의 값을 인코딩하기 위해, 하나 이상의 프로세서들은: 2차 잔차의 값이 0 인지 여부를 지정하는 값을 갖는 제 2 신택스 엘리먼트를 인코딩하고; 2차 잔차의 값이 0이 아닌 경우: 2차 잔차 값의 부호를 지정하는 값을 갖는 제 3 신택스 엘리먼트를 인코딩하고; 2차 잔차의 값이 1보다 더 큰지 여부를 지정하는 값을 갖는 제 4 신택스 엘리먼트를 인코딩하고; 2차 잔차의 값이 1보다 더 큰 경우, 제 1 신택스 엘리먼트를 인코딩하도록 구성된, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 29E. 조항 23E-29E 중 어느 것에 있어서, 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 하나 이상의 프로세서들은 추가로: 포인트 클라우드의 제 2 예측 트리 노드를 지오메트리 코딩하기 위한 파이 승수의 값을 얻고; 파이 승수의 값을 인코딩하도록 구성되고, 파이 승수의 값을 인코딩하기 위해, 하나 이상의 프로세서들은 파이 승수의 값의 절대 값 마이너스 9 를 지정하는 값을 갖는 제 5 신택스 엘리먼트를 인코딩하도록 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 30E. 조항 29E 에 있어서, 파이 승수의 절대 값은 17보다 크고, 파이 승수의 값을 인코딩하기 위해, 하나 이상의 프로세서들은 파이 승수의 값 마이너스 17을 지정하는 신택스 엘리먼트를 인코딩하도록 구성되지 않는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 31E. 조항 23E-30E 중 어느 것에 있어서, 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 하나 이상의 프로세서들은 추가로: 가변 길이 코딩을 이용하여, 포인트 클라우드를 나타내는 지오메트리 예측 트리에 존재하는 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 값을 갖는 제 6 신택스 엘리먼트를 인코딩하도록 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 32E. 조항 31E 에 있어서, 지오메트리 예측 트리에 존재하는 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 제 6 신택스 엘리먼트는 ptn_child_cnt 신택스 엘리먼트를 포함하는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 33E. 조항 31E 에 있어서, 가변 길이 코딩을 사용하여 제 6 신택스 엘리먼트를 인코딩하기 위해, 하나 이상의 프로세서들은 직접적인 자식 노드의 수가 0인 경우보다 직접적인 자식 노드의 수가 1인 경우에 더 짧은 코드워드를 활용하도록 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 34E. 포인트 클라우드를 디코딩하기 위한 디바이스로서, 포인트 클라우드의 적어도 일부를 저장하도록 구성된 메모리; 및 회로부에 구현된 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들: 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻고; 2차 잔차의 값을 디코딩하도록 구성되고, 상기 값을 디코딩하기 위해, 하나 이상의 프로세서들은 CABAC (context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 디코딩하고; 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 사용하여, 신택스 엘리먼트의 서픽스 빈을 디코딩하도록 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 35E. 조항 34E 에 있어서, 상기 신택스 엘리먼트는 ptn_sec_residual_abs_minus2 신택스 엘리먼트를 포함하는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 36E. 조항 34E-35E 중 어느 것에 있어서, 2차 잔차의 절대 값은 17보다 크고, 2차 잔차의 값을 디코딩하기 위해, 하나 이상의 프로세서들은 2차 잔차의 절대 값 마이너스 17을 지정하는 신택스 엘리먼트를 디코딩하도록 구성되지 않는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 37E. 조항 34E-36E 중 어느 것에 있어서, CABAC 컨텍스트의 제 1 세트는 0 과 a-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하고, CABAC 컨텍스트의 제 2 세트는 aa+b-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 38E. 조항 37E 에 있어서, a 는 5이고 b 는 4인, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 39E. 조항 34E-38E 중 어느 것에 있어서, 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 추가로 2차 잔차의 값을 디코딩하기 위해, 하나 이상의 프로세서들은: 2차 잔차의 값이 0 인지 여부를 지정하는 값을 갖는 제 2 신택스 엘리먼트를 디코딩하고; 2차 잔차의 값이 0이 아닌 경우: 2차 잔차 값의 부호를 지정하는 값을 갖는 제 3 신택스 엘리먼트를 디코딩하고; 2차 잔차의 값이 1보다 더 큰지 여부를 지정하는 값을 갖는 제 4 신택스 엘리먼트를 디코딩하고; 2차 잔차의 값이 1보다 더 큰 경우, 제 1 신택스 엘리먼트를 디코딩하도록 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 40E. 조항 34E-39E 중 어느 것에 있어서, 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 하나 이상의 프로세서들은 추가로: 포인트 클라우드의 제 2 예측 트리 노드를 지오메트리 코딩하기 위한 파이 승수의 값을 얻고; 파이 승수의 값을 디코딩하도록 구성되고, 파이 승수의 값을 디코딩하기 위해, 하나 이상의 프로세서들은 파이 승수의 값의 절대 값 마이너스 9 를 지정하는 값을 갖는 제 5 신택스 엘리먼트를 디코딩하도록 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 41E. 조항 34E-40E 중 어느 것에 있어서, 파이 승수의 절대 값은 17보다 크고, 파이 승수의 값을 디코딩하기 위해, 하나 이상의 프로세서들은 파이 승수의 값 마이너스 17을 지정하는 신택스 엘리먼트를 디코딩하도록 구성되지 않는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 42E. 조항 34E-41E 중 어느 것에 있어서, 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 하나 이상의 프로세서들은 추가로: 가변 길이 코딩을 이용하여, 포인트 클라우드를 나타내는 지오메트리 예측 트리에 존재하는 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 값을 갖는 제 6 신택스 엘리먼트를 디코딩하도록 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 43E. 조항 42E 에 있어서, 지오메트리 예측 트리에 존재하는 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 제 6 신택스 엘리먼트는 ptn_child_cnt 신택스 엘리먼트를 포함하는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 44E. 조항 42E 에 있어서, 가변 길이 코딩을 사용하여 제 6 신택스 엘리먼트를 디코딩하기 위해, 하나 이상의 프로세서들은 직접적인 자식 노드의 수가 0인 경우보다 직접적인 자식 노드의 수가 1인 경우에 더 짧은 코드워드를 활용하도록 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 45E. 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 명령들은, 실행될 때, 포인트 클라우드 인코더의 하나 이상의 프로세서들로 하여금: 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻고; 2차 잔차의 값을 인코딩하게 하고, 하나 이상의 프로세서로 하여금 값을 인코딩하게 하는 명령들은 하나 이상의 프로세서로 하여금 CABAC (context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 인코딩하게 하고; 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 신택스 엘리먼트의 서픽스 빈을 인코딩하게 하는 명령들을 포함하는, 컴퓨터 판독가능 저장 매체.
조항 46E. 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 명령들은, 실행될 때, 포인트 클라우드 디코더의 하나 이상의 프로세서들로 하여금: 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻게 하고; 2차 잔차의 값을 디코딩하게 하고, 하나 이상의 프로세서로 하여금 값을 디코딩하게 하는 명령들은 하나 이상의 프로세서로 하여금 CABAC (context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 디코딩하게 하고; 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 신택스 엘리먼트의 서픽스 빈을 디코딩하게 하는 명령들을 포함하는, 컴퓨터 판독가능 저장 매체.
조항 1F. 포인트 클라우드를 디코딩하는 방법으로서, 복수의 미리 정의된 예측 모드로부터, 포인트 클라우드의 현재 예측 트리 노드의 포지션의 예측 지오메트리 코딩을 수행하기 위한 예측 모드를 선택하는 단계로서, 복수의 예측 모드는 적어도: 영 예측 모드, 및 델타 예측 모드를 포함하는, 상기 예측 모드를 선택하는 단계; 영 예측 모드를 선택하는 것에 응답하여: 현재 예측 트리 노드의 부모 노드의 반경, 방위각 및 레이저 인덱스를 결정하는 단계; 현재 예측 트리 노드의 예측된 포지션의 방위각 및 레이저 인덱스를 부모 노드의 방위각 및 레이저 인덱스로 추론하는 단계; 최소 반경 값으로 예측된 포지션의 반경을 추론하는 단계로서, 상기 최소 반경 값은 부모 노드의 반경과 상이한, 상기 반경을 추론하는 단계; 및 현재 예측 트리 노드의 예측된 포지션에 기초하여, 현재 예측 트리 노드의 포지션을 결정하는 단계를 포함하는, 포인트 클라우드를 디코딩하는 방법.
조항 2F. 조항 1F 에 있어서, 델타 예측 모드를 선택하는 것에 응답하여: 현재 예측 트리 노드의 예측된 포지션의 반경, 방위각 및 레이저 인덱스를 부모 노드의 반경, 방위각 및 레이저 인덱스로 추론하는 단계를 더 포함하는, 포인트 클라우드를 디코딩하는 방법.
조항 3F. 조항 1F-2F 중 어느 것에 있어서, 최소 반경 값은 0 인, 포인트 클라우드를 디코딩하는 방법.
조항 4F. 조항 1F-3F 중 어느 것에 있어서, 최소 반경 값은 0보다 큰, 포인트 클라우드를 디코딩하는 방법.
조항 5F. 조항 1F-4F 중 어느 것에 있어서, 예측된 포지션에 기초하여 현재 노드의 포지션을 결정하는 단계는 현재 예측 트리 노드의 예측된 포지션의 반경 값과 현재 예측 트리 노드의 포지션의 반경 값 사이의 차이를 나타내는 잔차 반경 값을 얻는 단계를 포함하는, 포인트 클라우드를 디코딩하는 방법.
조항 6F. 조항 5F 에 있어서, 잔차 반경 값을 얻는 단계는 영 예측 모드를 선택하는 것에 응답하여, 잔차 반경 값의 부호를 양으로 추론하는 단계를 포함하는, 포인트 클라우드를 디코딩하는 방법.
조항 7F. 조항 1F-6F 중 어느 것에 있어서, 포인트 클라우드를 나타내는 LIDAR (light detection and ranging) 데이터를 캡처하는 데 사용되는 레이저의 양을 결정하는 단계; 및 레이저의 양이 1이라는 결정에 응답하여, 포인트 클라우드에 있는 모든 노드에 대한 레이저 인덱스를 동일한 값으로 추론하는 단계를 더 포함하는, 포인트 클라우드를 디코딩하는 방법.
조항 8F. 조항 1F-7F 중 어느 것에 있어서, 예측 모드를 선택하는 단계는 선택된 예측 모드를 나타내는 값을 갖는 신택스 엘리먼트를 디코딩하는 단계를 포함하는, 포인트 클라우드를 디코딩하는 방법.
조항 9F. 포인트 클라우드를 인코딩하는 방법으로서, 복수의 미리 정의된 예측 모드로부터, 포인트 클라우드의 현재 예측 트리 노드의 포지션의 예측 지오메트리 코딩을 수행하기 위한 예측 모드를 선택하는 단계로서, 복수의 예측 모드는 적어도: 영 예측 모드, 및 델타 예측 모드를 포함하는, 상기 예측 모드를 선택하는 단계; 선택 모드가 영 예측 모드인 경우: 현재 예측 트리 노드의 부모 노드의 반경, 방위각 및 레이저 인덱스를 결정하는 단계; 현재 예측 트리 노드의 예측된 포지션의 방위각 및 레이저 인덱스를 부모 노드의 방위각 및 레이저 인덱스로 추론하는 단계; 최소 반경 값으로 예측된 포지션의 반경을 추론하는 단계로서, 상기 최소 반경 값은 부모 노드의 반경과 상이한, 상기 반경을 추론하는 단계; 및 현재 예측 트리 노드의 예측된 포지션에 기초하여, 현재 예측 트리 노드의 포지션을 결정하는 단계를 포함하는, 포인트 클라우드를 인코딩하는 방법.
조항 10F. 조항 9F 에 있어서, 델타 예측 모드를 선택하는 것에 응답하여: 현재 예측 트리 노드의 예측된 포지션의 반경, 방위각 및 레이저 인덱스를 부모 노드의 반경, 방위각 및 레이저 인덱스로 추론하는 단계를 더 포함하는, 포인트 클라우드를 인코딩하는 방법.
조항 11F. 조항 9F-10F 중 어느 것에 있어서, 최소 반경 값은 0 인, 포인트 클라우드를 인코딩하는 방법.
조항 12F. 조항 9F-11F 중 어느 것에 있어서, 최소 반경 값은 0보다 큰, 포인트 클라우드를 인코딩하는 방법.
조항 13F. 조항 9F-12F 중 어느 것에 있어서, 예측된 포지션에 기초하여 현재 노드의 포지션을 결정하는 단계는 현재 예측 트리 노드의 예측된 포지션의 반경 값과 현재 예측 트리 노드의 포지션의 반경 값 사이의 차이를 나타내는 잔차 반경 값을 얻는 단계를 포함하는, 포인트 클라우드를 인코딩하는 방법.
조항 14F. 조항 13F 에 있어서, 잔차 반경 값을 얻는 단계는 선택된 모드가 영 예측 모드인 경우에, 잔차 반경 값의 부호를 양으로 추론하는 단계를 포함하는, 포인트 클라우드를 인코딩하는 방법.
조항 15F. 조항 9F-14F 중 어느 것에 있어서, 포인트 클라우드를 나타내는 LIDAR (light detection and ranging) 데이터를 캡처하는 데 사용되는 레이저의 양을 결정하는 단계; 및 레이저의 양이 1이라는 결정에 응답하여, 포인트 클라우드에 있는 모든 노드에 대한 레이저 인덱스를 동일한 값으로 추론하는 단계를 더 포함하는, 포인트 클라우드를 인코딩하는 방법.
조항 16F. 조항 9F-15F 중 어느 것에 있어서, 예측 모드를 선택하는 단계는 선택된 예측 모드를 나타내는 값을 갖는 신택스 엘리먼트를 인코딩하는 단계를 포함하는, 포인트 클라우드를 인코딩하는 방법.
조항 17F. 포인트 클라우드를 디코딩하기 위한 디바이스로서, 포인트 클라우드의 적어도 일부를 저장하도록 구성된 메모리; 및 회로부에 구현된 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들은: 복수의 미리 정의된 예측 모드로부터, 포인트 클라우드의 현재 예측 트리 노드의 포지션의 예측 지오메트리 코딩을 수행하기 위한 예측 모드를 선택하는 것으로서, 복수의 예측 모드는 적어도: 영 예측 모드, 및 델타 예측 모드를 포함하는, 상기 예측 모드를 선택하고; 영 예측 모드를 선택하는 것에 응답하여: 현재 예측 트리 노드의 부모 노드의 반경, 방위각 및 레이저 인덱스를 결정하고; 현재 예측 트리 노드의 예측된 포지션의 방위각 및 레이저 인덱스를 부모 노드의 방위각 및 레이저 인덱스로 추론하고; 최소 반경 값으로 예측된 포지션의 반경을 추론하는 것으로서, 상기 최소 반경 값은 부모 노드의 반경과 상이한, 상기 반경을 추론하고; 현재 예측 트리 노드의 예측된 포지션에 기초하여, 현재 예측 트리 노드의 포지션을 결정하도록 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 18F. 조항 17F 에 있어서, 하나 이상의 프로세서들은 델타 예측 모드를 선택하는 것에 응답하여: 현재 예측 트리 노드의 예측된 포지션의 반경, 방위각 및 레이저 인덱스를 부모 노드의 반경, 방위각 및 레이저 인덱스로 추론하도록 추가로 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 19F. 조항 17F-18F 중 어느 것에 있어서, 최소 반경 값은 0 인, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 20F. 조항 17F-19F 중 어느 것에 있어서, 최소 반경 값은 0보다 큰,포인트 클라우드를 디코딩하기 위한 디바이스.
조항 21F. 조항 17F-20F 중 어느 것에 있어서, 예측된 포지션에 기초하여 현재 노드의 포지션을 결정하기 위하여, 하나 이상의 프로세서들은 현재 예측 트리 노드의 예측된 포지션의 반경 값과 현재 예측 트리 노드의 포지션의 반경 값 사이의 차이를 나타내는 잔차 반경 값을 얻도록 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 22F. 조항 21F 에 있어서, 잔차 반경 값을 얻기 위하여, 하나 이상의 프로세서들은 영 예측 모드를 선택하는 것에 응답하여, 잔차 반경 값의 부호를 양으로 추론하도록 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 23F. 조항 17F-22F 중 어느 것에 있어서, 하나 이상의 프로세서들은 포인트 클라우드를 나타내는 LIDAR (light detection and ranging) 데이터를 캡처하는 데 사용되는 레이저의 양을 결정하고; 레이저의 양이 1이라는 결정에 응답하여, 포인트 클라우드에 있는 모든 노드에 대한 레이저 인덱스를 동일한 값으로 추론하도록 추가로 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 24F. 조항 17F-23F 중 어느 것에 있어서, 예측 모드를 선택하기 위해, 하나 이상의 프로세서들은 선택된 예측 모드를 나타내는 값을 갖는 신택스 엘리먼트를 디코딩하도록 추가로 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
조항 25F. 포인트 클라우드를 인코딩하기 위한 디바이스로서, 포인트 클라우드의 적어도 일부를 저장하도록 구성된 메모리; 및 회로부에 구현된 하나 이상의 프로세서들을 포함하고, 하나 이상의 프로세서들: 복수의 미리 정의된 예측 모드로부터, 포인트 클라우드의 현재 예측 트리 노드의 포지션의 예측 지오메트리 코딩을 수행하기 위한 예측 모드를 선택하는 것으로서, 복수의 예측 모드는 적어도: 영 예측 모드, 및 델타 예측 모드를 포함하는, 상기 예측 모드를 선택하고; 선택 모드가 영 예측 모드인 경우: 현재 예측 트리 노드의 부모 노드의 반경, 방위각 및 레이저 인덱스를 결정하고; 현재 예측 트리 노드의 예측된 포지션의 방위각 및 레이저 인덱스를 부모 노드의 방위각 및 레이저 인덱스로 추론하고; 최소 반경 값으로 예측된 포지션의 반경을 추론하는 것으로서, 상기 최소 반경 값은 부모 노드의 반경과 상이한, 상기 반경을 추론하고; 현재 예측 트리 노드의 예측된 포지션에 기초하여, 현재 예측 트리 노드의 포지션을 결정하도록 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 26F. 조항 25F 에 있어서, 하나 이상의 프로세서들은 델타 예측 모드를 선택하는 것에 응답하여: 현재 예측 트리 노드의 예측된 포지션의 반경, 방위각 및 레이저 인덱스를 부모 노드의 반경, 방위각 및 레이저 인덱스로 추론하도록 추가로 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 27F. 조항 25F-26F 중 어느 것에 있어서, 최소 반경 값은 0 인, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 28F. 조항 25F-27F 중 어느 것에 있어서, 최소 반경 값은 0보다 큰, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 29F. 조항 25F-28F 중 어느 것에 있어서, 예측된 포지션에 기초하여 현재 노드의 포지션을 결정하기 위하여, 하나 이상의 프로세서들은 현재 예측 트리 노드의 예측된 포지션의 반경 값과 현재 예측 트리 노드의 포지션의 반경 값 사이의 차이를 나타내는 잔차 반경 값을 얻도록 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 30F. 조항 29F 에 있어서, 잔차 반경 값을 얻기 위하여, 하나 이상의 프로세서들은 영 예측 모드를 선택하는 것에 응답하여, 잔차 반경 값의 부호를 양으로 추론하도록 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 31F. 조항 25F-30F 중 어느 것에 있어서, 하나 이상의 프로세서들은 포인트 클라우드를 나타내는 LIDAR (light detection and ranging) 데이터를 캡처하는 데 사용되는 레이저의 양을 결정하고; 레이저의 양이 1이라는 결정에 응답하여, 포인트 클라우드에 있는 모든 노드에 대한 레이저 인덱스를 동일한 값으로 추론하도록 추가로 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 32F. 조항 25F-31F 중 어느 것에 있어서, 예측 모드를 선택하기 위해, 하나 이상의 프로세서들은 선택된 예측 모드를 나타내는 값을 갖는 신택스 엘리먼트를 인코딩하도록 추가로 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
조항 33F. 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 명령들은, 실행될 때, 포인트 클라우드 디코딩 디바이스의 하나 이상의 프로세서들로 하여금: 복수의 미리 정의된 예측 모드로부터, 포인트 클라우드의 현재 예측 트리 노드의 포지션의 예측 지오메트리 코딩을 수행하기 위한 예측 모드를 선택하는 것으로서, 복수의 예측 모드는 적어도: 영 예측 모드, 및 델타 예측 모드를 포함하는, 상기 예측 모드를 선택하게 하고; 영 예측 모드를 선택하는 것에 응답하여: 현재 예측 트리 노드의 부모 노드의 반경, 방위각 및 레이저 인덱스를 결정하게 하고; 현재 예측 트리 노드의 예측된 포지션의 방위각 및 레이저 인덱스를 부모 노드의 방위각 및 레이저 인덱스로 추론하게 하고; 최소 반경 값으로 예측된 포지션의 반경을 추론하게 하는 것으로서, 상기 최소 반경 값은 부모 노드의 반경과 상이한, 상기 반경을 추론하게 하고; 현재 예측 트리 노드의 예측된 포지션에 기초하여, 현재 예측 트리 노드의 포지션을 결정하게 하는, 컴퓨터 판독가능 저장 매체.
조항 34F. 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 명령들은, 실행될 때, 포인트 클라우드 인코딩 디바이스의 하나 이상의 프로세서들로 하여금: 복수의 미리 정의된 예측 모드로부터, 포인트 클라우드의 현재 예측 트리 노드의 포지션의 예측 지오메트리 코딩을 수행하기 위한 예측 모드를 선택하게 하는 것으로서, 복수의 예측 모드는 적어도: 영 예측 모드, 및 델타 예측 모드를 포함하는, 상기 예측 모드를 선택하게 하고; 선택된 예측 모드가 영 예측 모드인 경우: 현재 예측 트리 노드의 부모 노드의 반경, 방위각 및 레이저 인덱스를 결정하게 하고; 현재 예측 트리 노드의 예측된 포지션의 방위각 및 레이저 인덱스를 부모 노드의 방위각 및 레이저 인덱스로 추론하게 하고; 최소 반경 값으로 예측된 포지션의 반경을 추론하게 하는 것으로서, 상기 최소 반경 값은 부모 노드의 반경과 상이한, 상기 반경을 추론하게 하고; 현재 예측 트리 노드의 예측된 포지션에 기초하여, 현재 예측 트리 노드의 포지션을 결정하게 하는, 컴퓨터 판독가능 저장 매체.
조항 1Z. 포인트 클라우드를 프로세싱하기 위한 디바이스로서, 상기 디바이스는 조항들 1A-1F 중 어느 것의 방법을 수행하기 위한 하나 이상의 수단을 포함하는, 포인트 클라우드를 프로세싱하기 위한 디바이스.
조항 2Z. 조항 1Z 에 있어서, 하나 이상의 수단은 회로부에서 구현되는 하나 이상의 프로세서들을 포함하는, 포인트 클라우드를 프로세싱하기 위한 디바이스.
조항 3Z. 조항 1Z 또는 2Z 중 어느 것에 있어서, 포인트 클라우드를 나타내는 데이터를 저장하기 위한 메모리를 더 포함하는, 포인트 클라우드를 프로세싱하기 위한 디바이스.
조항 4Z. 조항 1Z-3Z 중 어느 것에 있어서, 디바이스는 디코더를 포함하는, 포인트 클라우드를 프로세싱하기 위한 디바이스.
조항 5Z. 조항 1Z-4Z 중 어느 것에 있어서, 디바이스는 인코더를 포함하는, 포인트 클라우드를 프로세싱하기 위한 디바이스.
조항 6Z. 조항 1Z-5Z 중 어느 것에 있어서, 포인트 클라우드를 생성하기 위한 디바이스를 더 포함하는, 포인트 클라우드를 프로세싱하기 위한 디바이스.
조항 7Z. 조항 1Z-6Z 중 어느 것에 있어서, 포인트 클라우드에 기초하여 이미저리(imagery)를 제시하기 위한 디스플레이를 더 포함하는, 포인트 클라우드를 프로세싱하기 위한 디바이스.
조항 8Z. 명령들을 저장한 컴퓨터 판독가능 저장 매체로서, 명령들은 실행될 때, 하나 이상의 프로세서로 하여금, 조항들 1A-1F 중 어느 것의 방법을 수행하게 하는, 컴퓨터 판독가능 저장 매체.
본 개시의 다양한 양태들에서의 예는 개별적으로 또는 임의의 조합으로 사용될 수도 있다.
예에 따라, 여기에 기재된 기법 중 어느 것의 특정 행위들 또는 이벤트들이 상이한 시퀀스에서 수행될 수 있거나, 추가될 수 있거나, 병합될 수 있거나, 또는 전부 생략될 수 있다 (예를 들어, 모든 설명된 행위들 또는 이벤트들이 기법의 실시를 위해 필요한 것은 아니다) 는 것이 인식되야 한다. 또한, 특정 예들에서, 행위들 또는 이벤트들은, 예를 들어, 순차적이기 보다는 멀티스레드 프로세싱, 인터럽트 프로세싱 또는 멀티플 프로세서들을 통해, 동시적으로 수행될 수도 있다.
하나 이상의 예에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다.  소프트웨어로 구현되면, 그 기능들은 컴퓨터 판독가능 매체 상의 하나 이상의 명령 또는 코드로서 저장되거나 송신될 수도 있고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체는, 예를 들면, 통신 프로토콜에 따라, 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체 또는 데이터 저장 매체와 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체를 포함할 수도 있다. 이런 방식으로, 컴퓨터 판독가능 매체는 일반적으로, (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 캐리어 파와 같은 통신 매체에 대응할 수도 있다.  데이터 저장 매체는, 본 개시에서 설명된 기술들의 구현을 위해 명령들, 코드 및/또는 데이터 구조들을 취출하기 위하여 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다.  컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
비한정적 예로서, 이러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장, 자기 디스크 저장 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 명령 또는 데이터 구조의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다.  또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 칭해진다. 예를 들어, 명령들이 동축 케이블, 광섬유 케이블, 연선 (twisted pair), 디지털 가입자 라인 (DSL), 또는 적외선, 전파 (radio), 및 마이크로파와 같은 무선 기술을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되면, 그 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 전파, 및 마이크로파와 같은 무선 기술은 매체의 정의 내에 포함된다. 하지만, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체는 접속, 캐리어 파, 신호 또는 다른 일시적 매체를 포함하는 것이 아니라, 대신에 비일시적, 유형의 저장 매체에 관한 것이 이해되야 한다. 여기에 사용된, 디스크 (disk) 및 디스크 (disc) 는 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, DVD (digital versatile disc), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크 (disk) 는 보통 데이터를 자기적으로 재생하지만, 디스크 (disc) 는 레이저를 이용하여 광학적으로 데이터를 재생한다. 또한, 상기의 조합은 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 프로세서, 예컨대 하나 이상의 디지털 신호 프로세서들 (DSP들), 범용 마이크로프로세서들, 주문형 집적 회로들 (ASIC들), 필드 프로그래밍가능 게이트 어레이들 (FPGA들), 또는 다른 동등한 집적 또는 이산 로직 회로에 의해 실행될 수도 있다. 이에 따라, 본 명세서에서 사용된 바와 같은 용어들 "프로세서” 및 “프로세싱 회로부" 는 임의의 전술한 구조들 또는 본 명세서에서 설명된 기법들의 구현에 적합한 임의의 다른 구조를 지칭할 수도 있다. 또한, 일부 양태들에 있어서, 본 명세서에서 설명된 기능성은 인코딩 및 디코딩을 위해 구성되거나 또는 결합된 코덱에서 통합된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있다. 또한, 그 기법들은 하나 이상의 회로 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
이 개시의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 IC 들의 세트 (예를 들어, 칩셋) 를 포함하는 광범위한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들, 또는 유닛들은 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시에서 설명되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 요구하는 것은 아니다. 오히려, 전술된 바처럼, 다양한 유닛들이 코덱 하드웨어 유닛으로 결합되거나 또는 적합한 소프트웨어 및/또는 펌웨어와 함께, 전술된 하나 이상의 프로세서들을 포함하는 연동적인 (interoperative) 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
다양한 예들이 기술되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (46)

  1. 포인트 클라우드를 인코딩하는 방법으로서,
    상기 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻는 단계; 및
    상기 2차 잔차의 값을 인코딩하는 단계를 포함하고, 상기 값을 인코딩하는 단계는
    CABAC(context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 상기 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈(prefix bin)을 인코딩하는 단계; 및
    상기 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 상기 신택스 엘리먼트의 서픽스 빈(suffix bin)을 인코딩하는 단계를 포함하는, 포인트 클라우드를 인코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 신택스 엘리먼트는 ptn_sec_residual_abs_minus2 신택스 엘리먼트를 포함하는, 포인트 클라우드를 인코딩하는 방법.
  3. 제 1 항에 있어서,
    2차 잔차의 절대 값은 17보다 크고, 상기 2차 잔차의 값을 인코딩하는 단계는 상기 2차 잔차의 절대 값 마이너스 17을 지정하는 신택스 엘리먼트를 인코딩하는 단계를 포함하지 않는, 포인트 클라우드를 인코딩하는 방법.
  4. 제 1 항에 있어서,
    상기 CABAC 컨텍스트의 제 1 세트는 0 과 a-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하고, 상기 CABAC 컨텍스트의 제 2 세트는 aa+b-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하는, 포인트 클라우드를 인코딩하는 방법.
  5. 제 4 항에 있어서,
    a 는 5이고 b 는 4인, 포인트 클라우드를 인코딩하는 방법.
  6. 제 1 항에 있어서,
    상기 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 2차 잔차의 값을 인코딩하는 단계는
    상기 2차 잔차의 값이 0 인지 여부를 지정하는 값을 갖는 제 2 신택스 엘리먼트를 인코딩하는 단계;
    상기 2차 잔차의 값이 0이 아닌 경우:
    상기 2차 잔차 값의 부호를 지정하는 값을 갖는 제 3 신택스 엘리먼트를 인코딩하는 단계; 및
    상기 2차 잔차의 값이 1보다 더 큰지 여부를 지정하는 값을 갖는 제 4 신택스 엘리먼트를 인코딩하는 단계;
    상기 2차 잔차의 값이 1보다 더 큰 경우, 상기 제 1 신택스 엘리먼트를 인코딩하는 단계를 더 포함하는, 포인트 클라우드를 인코딩하는 방법.
  7. 제 1 항에 있어서,
    상기 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 상기 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 방법은
    상기 포인트 클라우드의 제 2 예측 트리 노드를 지오메트리 코딩하기 위한 파이 승수의 값을 얻는 단계; 및
    상기 파이 승수의 값을 인코딩하는 단계를 더 포함하고, 상기 파이 승수의 값을 인코딩하는 단계는
    상기 파이 승수의 값의 절대 값 마이너스 9 를 지정하는 값을 갖는 제 5 신택스 엘리먼트를 인코딩하는 단계를 포함하는, 포인트 클라우드를 인코딩하는 방법.
  8. 제 7 항에 있어서,
    상기 파이 승수의 절대 값은 17보다 크고, 상기 파이 승수의 값을 인코딩하는 단계는 상기 파이 승수의 값 마이너스 17을 지정하는 신택스 엘리먼트를 인코딩하는 단계를 포함하지 않는, 포인트 클라우드를 인코딩하는 방법.
  9. 제 1 항에 있어서,
    상기 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 상기 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 방법은
    가변 길이 코딩을 이용하여, 상기 포인트 클라우드를 나타내는 지오메트리 예측 트리에 존재하는 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 값을 갖는 제 6 신택스 엘리먼트를 인코딩하는 단계를 더 포함하는, 포인트 클라우드를 인코딩하는 방법.
  10. 제 9 항에 있어서,
    상기 지오메트리 예측 트리에 존재하는 상기 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 상기 제 6 신택스 엘리먼트는 ptn_child_cnt 신택스 엘리먼트를 포함하는, 포인트 클라우드를 인코딩하는 방법.
  11. 제 9 항에 있어서,
    가변 길이 코딩을 사용하여 상기 제 6 신택스 엘리먼트를 인코딩하는 단계는 상기 직접적인 자식 노드의 수가 0인 경우보다 상기 직접적인 자식 노드의 수가 1인 경우에 더 짧은 코드워드를 활용하는 단계를 포함하는, 포인트 클라우드를 인코딩하는 방법.
  12. 포인트 클라우드를 디코딩하는 방법으로서,
    상기 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻는 단계; 및
    상기 2차 잔차의 값을 디코딩하는 단계를 포함하고, 상기 값을 인코딩하는 단계는
    CABAC(context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 상기 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 디코딩하는 단계; 및
    상기 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 사용하여, 상기 신택스 엘리먼트의 서픽스 빈을 디코딩하는 단계를 포함하는, 포인트 클라우드를 디코딩하는 방법.
  13. 제 12 항에 있어서,
    상기 신택스 엘리먼트는 ptn_sec_residual_abs_minus2 신택스 엘리먼트를 포함하는, 포인트 클라우드를 디코딩하는 방법.
  14. 제 12 항에 있어서,
    상기 2차 잔차의 절대 값은 17보다 크고, 상기 2차 잔차의 값을 디코딩하는 단계는 상기 2차 잔차의 절대 값 마이너스 17을 지정하는 신택스 엘리먼트를 디코딩하는 단계를 포함하지 않는, 포인트 클라우드를 디코딩하는 방법.
  15. 제 12 항에 있어서,
    상기 CABAC 컨텍스트의 제 1 세트는 0 과 a-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하고, 상기 CABAC 컨텍스트의 제 2 세트는 aa+b-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하는, 포인트 클라우드를 디코딩하는 방법.
  16. 제 15 항에 있어서,
    a 는 5이고 b 는 4인, 포인트 클라우드를 디코딩하는 방법.
  17. 제 12 항에 있어서,
    상기 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 2차 잔차의 값을 디코딩하는 단계는
    상기 2차 잔차의 값이 0 인지 여부를 지정하는 값을 갖는 제 2 신택스 엘리먼트를 디코딩하는 단계;
    상기 2차 잔차의 값이 0이 아닌 경우:
    상기 2차 잔차 값의 부호를 지정하는 값을 갖는 제 3 신택스 엘리먼트를 디코딩하는 단계; 및
    상기 2차 잔차의 값이 1보다 더 큰지 여부를 지정하는 값을 갖는 제 4 신택스 엘리먼트를 디코딩하는 단계;
    상기 2차 잔차의 값이 1보다 더 큰 경우, 상기 제 1 신택스 엘리먼트를 디코딩하는 단계를 더 포함하는, 포인트 클라우드를 디코딩하는 방법.
  18. 제 12 항에 있어서,
    상기 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 상기 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 방법은
    상기 포인트 클라우드의 제 2 예측 트리 노드를 지오메트리 코딩하기 위한 파이 승수의 값을 얻는 단계; 및
    상기 파이 승수의 값을 디코딩하는 단계를 더 포함하고, 상기 파이 승수의 값을 디코딩하는 단계는
    상기 파이 승수의 값의 절대 값 마이너스 9 를 지정하는 값을 갖는 제 5 신택스 엘리먼트를 디코딩하는 단계를 포함하는, 포인트 클라우드를 디코딩하는 방법.
  19. 제 18 항에 있어서,
    상기 파이 승수의 절대 값은 17보다 크고, 상기 파이 승수의 값을 디코딩하는 단계는 상기 파이 승수의 값 마이너스 17을 지정하는 신택스 엘리먼트를 디코딩하는 단계를 포함하지 않는, 포인트 클라우드를 디코딩하는 방법.
  20. 제 12 항에 있어서,
    상기 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 상기 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 방법은
    가변 길이 코딩을 이용하여, 상기 포인트 클라우드를 나타내는 지오메트리 예측 트리에 존재하는 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 값을 갖는 제 6 신택스 엘리먼트를 디코딩하는 단계를 더 포함하는, 포인트 클라우드를 디코딩하는 방법.
  21. 제 20 항에 있어서,
    상기 지오메트리 예측 트리에 존재하는 상기 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 상기 제 6 신택스 엘리먼트는 ptn_child_cnt 신택스 엘리먼트를 포함하는, 포인트 클라우드를 디코딩하는 방법.
  22. 제 20 항에 있어서,
    가변 길이 코딩을 사용하여 상기 제 6 신택스 엘리먼트를 디코딩하는 단계는 상기 직접적인 자식 노드의 수가 0인 경우보다 상기 직접적인 자식 노드의 수가 1인 경우에 더 짧은 코드워드를 활용하는 단계를 포함하는, 포인트 클라우드를 디코딩하는 방법.
  23. 포인트 클라우드를 인코딩하기 위한 디바이스로서,
    상기 포인트 클라우드의 적어도 일부를 저장하도록 구성된 메모리; 및
    회로부에 구현된 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은
    상기 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻고;
    상기 2차 잔차의 값을 인코딩하도록 구성되고, 상기 값을 인코딩하기 위해, 상기 하나 이상의 프로세서들은
    CABAC (context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 상기 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 인코딩하고;
    상기 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 상기 신택스 엘리먼트의 서픽스 빈을 인코딩하도록 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
  24. 제 23 항에 있어서,
    상기 신택스 엘리먼트는 ptn_sec_residual_abs_minus2 신택스 엘리먼트를 포함하는, 포인트 클라우드를 인코딩하기 위한 디바이스.
  25. 제 23 항에 있어서,
    상기 2차 잔차의 절대 값은 17보다 크고, 상기 2차 잔차의 값을 인코딩하기 위해, 상기 하나 이상의 프로세서들은 상기 2차 잔차의 절대 값 마이너스 17을 지정하는 신택스 엘리먼트를 인코딩하도록 구성되지 않는, 포인트 클라우드를 인코딩하기 위한 디바이스.
  26. 제 23 항에 있어서,
    상기 CABAC 컨텍스트의 제 1 세트는 0 과 a-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하고, 상기 CABAC 컨텍스트의 제 2 세트는 aa+b-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하는, 포인트 클라우드를 인코딩하기 위한 디바이스.
  27. 제 26 항에 있어서,
    a 는 5이고 b 는 4인, 포인트 클라우드를 인코딩하기 위한 디바이스.
  28. 제 23 항에 있어서,
    상기 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 추가로 상기 2차 잔차의 값을 인코딩하기 위해, 상기 하나 이상의 프로세서들은:
    상기 2차 잔차의 값이 0 인지 여부를 지정하는 값을 갖는 제 2 신택스 엘리먼트를 인코딩하고;
    상기 2차 잔차의 값이 0이 아닌 경우:
    상기 2차 잔차 값의 부호를 지정하는 값을 갖는 제 3 신택스 엘리먼트를 인코딩하고;
    상기 2차 잔차의 값이 1보다 더 큰지 여부를 지정하는 값을 갖는 제 4 신택스 엘리먼트를 인코딩하고;
    상기 2차 잔차의 값이 1보다 더 큰 경우, 상기 제 1 신택스 엘리먼트를 인코딩하도록 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
  29. 제 23 항에 있어서,
    상기 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 상기 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 하나 이상의 프로세서들은 추가로:
    상기 포인트 클라우드의 제 2 예측 트리 노드를 지오메트리 코딩하기 위한 파이 승수의 값을 얻고;
    상기 파이 승수의 값을 인코딩하도록 구성되고, 상기 파이 승수의 값을 인코딩하기 위해, 상기 하나 이상의 프로세서들은
    상기 파이 승수의 값의 절대 값 마이너스 9 를 지정하는 값을 갖는 제 5 신택스 엘리먼트를 인코딩하도록 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
  30. 제 29 항에 있어서,
    상기 파이 승수의 절대 값은 17보다 크고, 상기 파이 승수의 값을 인코딩하기 위해, 상기 하나 이상의 프로세서들은 상기 파이 승수의 값 마이너스 17을 지정하는 신택스 엘리먼트를 인코딩하도록 구성되지 않는, 포인트 클라우드를 인코딩하기 위한 디바이스.
  31. 제 23 항에 있어서,
    상기 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 상기 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 하나 이상의 프로세서들은 추가로:
    가변 길이 코딩을 이용하여, 상기 포인트 클라우드를 나타내는 지오메트리 예측 트리에 존재하는 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 값을 갖는 제 6 신택스 엘리먼트를 인코딩하도록 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
  32. 제 31 항에 있어서,
    상기 지오메트리 예측 트리에 존재하는 상기 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 상기 제 6 신택스 엘리먼트는 ptn_child_cnt 신택스 엘리먼트를 포함하는, 포인트 클라우드를 인코딩하기 위한 디바이스.
  33. 제 31 항에 있어서,
    가변 길이 코딩을 사용하여 상기 제 6 신택스 엘리먼트를 인코딩하기 위해, 상기 하나 이상의 프로세서들은 상기 직접적인 자식 노드의 수가 0인 경우보다 상기 직접적인 자식 노드의 수가 1인 경우에 더 짧은 코드워드를 활용하도록 구성되는, 포인트 클라우드를 인코딩하기 위한 디바이스.
  34. 포인트 클라우드를 디코딩하기 위한 디바이스로서,
    상기 포인트 클라우드의 적어도 일부를 저장하도록 구성된 메모리; 및
    회로부에 구현된 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은:
    상기 포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻고;
    상기 2차 잔차의 값을 디코딩하도록 구성되고, 상기 값을 디코딩하기 위해, 상기 하나 이상의 프로세서들은
    CABAC (context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 상기 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 디코딩하고;
    상기 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 사용하여, 상기 신택스 엘리먼트의 서픽스 빈을 디코딩하도록 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
  35. 제 34 항에 있어서,
    상기 신택스 엘리먼트는 ptn_sec_residual_abs_minus2 신택스 엘리먼트를 포함하는, 포인트 클라우드를 디코딩하기 위한 디바이스.
  36. 제 34 항에 있어서,
    상기 2차 잔차의 절대 값은 17보다 크고, 상기 2차 잔차의 값을 디코딩하기 위해, 상기 하나 이상의 프로세서들은 상기 2차 잔차의 절대 값 마이너스 17을 지정하는 신택스 엘리먼트를 디코딩하도록 구성되지 않는, 포인트 클라우드를 디코딩하기 위한 디바이스.
  37. 제 34 항에 있어서,
    상기 CABAC 컨텍스트의 제 1 세트는 0 과 a-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하고, 상기 CABAC 컨텍스트의 제 2 세트는 aa+b-1 사이의 컨텍스트 인덱스를 갖는 CABAC 컨텍스트를 포함하는, 포인트 클라우드를 디코딩하기 위한 디바이스.
  38. 제 37 항에 있어서,
    a 는 5이고 b 는 4인, 포인트 클라우드를 디코딩하기 위한 디바이스.
  39. 제 34 항에 있어서,
    상기 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 추가로 상기 2차 잔차의 값을 디코딩하기 위해, 상기 하나 이상의 프로세서들은:
    상기 2차 잔차의 값이 0 인지 여부를 지정하는 값을 갖는 제 2 신택스 엘리먼트를 디코딩하고;
    상기 2차 잔차의 값이 0이 아닌 경우:
    상기 2차 잔차 값의 부호를 지정하는 값을 갖는 제 3 신택스 엘리먼트를 디코딩하고;
    상기 2차 잔차의 값이 1보다 더 큰지 여부를 지정하는 값을 갖는 제 4 신택스 엘리먼트를 디코딩하고;
    상기 2차 잔차의 값이 1보다 더 큰 경우, 상기 제 1 신택스 엘리먼트를 디코딩하도록 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
  40. 제 34 항에 있어서,
    상기 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 상기 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 하나 이상의 프로세서들은 추가로:
    상기 포인트 클라우드의 제 2 예측 트리 노드를 지오메트리 코딩하기 위한 파이 승수의 값을 얻고;
    상기 파이 승수의 값을 디코딩하도록 구성되고, 상기 파이 승수의 값을 디코딩하기 위해, 상기 하나 이상의 프로세서들은
    상기 파이 승수의 값의 절대 값 마이너스 9 를 지정하는 값을 갖는 제 5 신택스 엘리먼트를 디코딩하도록 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
  41. 제 40 항에 있어서,
    상기 파이 승수의 절대 값은 17보다 크고, 상기 파이 승수의 값을 디코딩하기 위해, 상기 하나 이상의 프로세서들은 상기 파이 승수의 값 마이너스 17을 지정하는 신택스 엘리먼트를 디코딩하도록 구성되지 않는, 포인트 클라우드를 디코딩하기 위한 디바이스.
  42. 제 34 항에 있어서,
    상기 현재 예측 트리 노드는 제 1 예측 트리 노드이고, 상기 신택스 엘리먼트는 제 1 신택스 엘리먼트를 포함하고, 상기 하나 이상의 프로세서들은 추가로:
    가변 길이 코딩을 이용하여, 상기 포인트 클라우드를 나타내는 지오메트리 예측 트리에 존재하는 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 값을 갖는 제 6 신택스 엘리먼트를 디코딩하도록 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
  43. 제 42 항에 있어서,
    상기 지오메트리 예측 트리에 존재하는 상기 제 2 예측 트리 노드의 직접적인 자식 노드의 수를 나타내는 상기 제 6 신택스 엘리먼트는 ptn_child_cnt 신택스 엘리먼트를 포함하는, 포인트 클라우드를 디코딩하기 위한 디바이스.
  44. 제 42 항에 있어서,
    가변 길이 코딩을 사용하여 상기 제 6 신택스 엘리먼트를 디코딩하기 위해, 상기 하나 이상의 프로세서들은 상기 직접적인 자식 노드의 수가 0인 경우보다 상기 직접적인 자식 노드의 수가 1인 경우에 더 짧은 코드워드를 활용하도록 구성되는, 포인트 클라우드를 디코딩하기 위한 디바이스.
  45. 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 명령들은
    실행될 때, 포인트 클라우드 인코더의 하나 이상의 프로세서들로 하여금:
    포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻게 하고;
    상기 2차 잔차의 값을 인코딩하게 하고, 상기 하나 이상의 프로세서들로 하여금 상기 값을 인코딩하게 하는 명령들은 상기 하나 이상의 프로세서들로 하여금
    CABAC (context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 상기 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 인코딩하게 하고;
    상기 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 상기 신택스 엘리먼트의 서픽스 빈을 인코딩하게 하는 명령들을 포함하는, 컴퓨터 판독가능 저장 매체.
  46. 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 명령들은
    실행될 때, 포인트 클라우드 디코더의 하나 이상의 프로세서들로 하여금:
    포인트 클라우드의 현재 예측 트리 노드를 지오메트리 코딩하기 위한 2차 잔차의 값을 얻게 하고;
    상기 2차 잔차의 값을 디코딩하게 하고, 상기 하나 이상의 프로세서들로 하여금 상기 값을 디코딩하게 하는 명령들은 상기 하나 이상의 프로세서들로 하여금
    CABAC (context-adaptive binary arithmetic coding) 컨텍스트의 제 1 세트를 이용하여, 상기 2차 잔차의 값의 절대 값 마이너스 2 를 지정하는 값을 갖는 신택스 엘리먼트의 프리픽스 빈을 디코딩하게 하고;
    상기 컨텍스트의 제 1 세트와 상이한 CABAC 컨텍스트의 제 2 세트를 이용하여, 상기 신택스 엘리먼트의 서픽스 빈을 디코딩하게 하는 명령들을 포함하는, 컴퓨터 판독가능 저장 매체.
KR1020237010881A 2020-10-07 2021-09-28 G-pcc 에서의 예측 지오메트리 코딩 KR20230081704A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US202063088831P 2020-10-07 2020-10-07
US63/088,831 2020-10-07
US202063114317P 2020-11-16 2020-11-16
US63/114,317 2020-11-16
US17/449,003 US11875541B2 (en) 2020-10-07 2021-09-27 Predictive geometry coding in G-PCC
US17/449,003 2021-09-27
PCT/US2021/052366 WO2022076198A1 (en) 2020-10-07 2021-09-28 Predictive geometry coding in g-pcc

Publications (1)

Publication Number Publication Date
KR20230081704A true KR20230081704A (ko) 2023-06-07

Family

ID=80931561

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237010881A KR20230081704A (ko) 2020-10-07 2021-09-28 G-pcc 에서의 예측 지오메트리 코딩
KR1020237010882A KR20230081705A (ko) 2020-10-07 2021-09-28 G-pcc 에서의 예측 지오메트리 코딩

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020237010882A KR20230081705A (ko) 2020-10-07 2021-09-28 G-pcc 에서의 예측 지오메트리 코딩

Country Status (8)

Country Link
US (2) US11935270B2 (ko)
EP (2) EP4226628A1 (ko)
JP (2) JP2023545699A (ko)
KR (2) KR20230081704A (ko)
CN (2) CN116325756A (ko)
BR (2) BR112023005737A2 (ko)
TW (2) TW202220442A (ko)
WO (2) WO2022076197A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11935270B2 (en) 2020-10-07 2024-03-19 Qualcomm Incorporated Predictive geometry coding in G-PCC
CN118540450A (zh) * 2021-05-26 2024-08-23 荣耀终端有限公司 一种点云深度信息的预测编解码方法及装置
WO2023211097A1 (ko) * 2022-04-24 2023-11-02 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2023244585A1 (en) * 2022-06-13 2023-12-21 Innopeak Technology, Inc. Geometry point cloud coding system and method
CN115131449A (zh) * 2022-06-18 2022-09-30 腾讯科技(深圳)有限公司 点云处理方法、装置及计算机设备、存储介质
WO2024049147A1 (ko) * 2022-08-30 2024-03-07 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2024065408A1 (zh) * 2022-09-29 2024-04-04 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质
GB2623372A (en) * 2022-10-14 2024-04-17 Canon Kk Method and apparatus for compression and encoding of 3D dynamic point cloud
US20240144543A1 (en) * 2022-10-17 2024-05-02 Qualcomm Incorporated Predictive geometry coding of point cloud
WO2024119419A1 (zh) * 2022-12-07 2024-06-13 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质
GB2626029A (en) * 2023-01-06 2024-07-10 Canon Kk Enhanced method for point cloud compression
CN118338006A (zh) * 2023-01-11 2024-07-12 维沃移动通信有限公司 变换系数编码方法、变换系数解码方法及终端
WO2024212043A1 (zh) * 2023-04-10 2024-10-17 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质
JP2024152166A (ja) * 2023-04-14 2024-10-25 Kddi株式会社 点群復号装置、点群復号方法及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020055869A1 (en) * 2018-09-14 2020-03-19 Futurewei Technologies, Inc. Improved attribute layers and signaling in point cloud coding
JP7480791B2 (ja) * 2019-06-27 2024-05-10 ホアウェイ・テクノロジーズ・カンパニー・リミテッド V-pcc用の仮想参照デコーダ
CA3163862A1 (en) * 2020-01-06 2021-04-01 Jeffrey Moguillansky Signaling camera parameters in point cloud coding
KR102659806B1 (ko) * 2020-01-14 2024-04-22 후아웨이 테크놀러지 컴퍼니 리미티드 V-pcc용 스케일링 파라미터
US11580672B2 (en) 2020-04-08 2023-02-14 Qualcomm Incorporated Angular mode simplification for geometry-based point cloud compression
US12033360B2 (en) 2020-10-05 2024-07-09 Qualcomm Incorporated Clipping laser indices in predictive geometry coding for point cloud compression
US11935270B2 (en) * 2020-10-07 2024-03-19 Qualcomm Incorporated Predictive geometry coding in G-PCC
CN114913252A (zh) 2021-02-08 2022-08-16 荣耀终端有限公司 点云数据的预处理方法及点云几何编解码方法、装置
EP4072145A1 (en) 2021-04-09 2022-10-12 Beijing Xiaomi Mobile Software Co., Ltd. Method and apparatus of encoding/decoding point cloud geometry data captured by a spinning sensors head
US20230105931A1 (en) 2021-10-04 2023-04-06 Qualcomm Incorporated Inter prediction coding with radius interpolation for predictive geometry-based point cloud compression

Also Published As

Publication number Publication date
TW202220442A (zh) 2022-05-16
JP2023545699A (ja) 2023-10-31
CN116325756A (zh) 2023-06-23
US20220108491A1 (en) 2022-04-07
TW202222075A (zh) 2022-06-01
US11875541B2 (en) 2024-01-16
JP2023545700A (ja) 2023-10-31
BR112023005737A2 (pt) 2023-05-02
WO2022076198A1 (en) 2022-04-14
CN116325749A (zh) 2023-06-23
EP4226628A1 (en) 2023-08-16
BR112023005746A2 (pt) 2023-05-02
WO2022076197A1 (en) 2022-04-14
EP4226627A1 (en) 2023-08-16
US20220108484A1 (en) 2022-04-07
US11935270B2 (en) 2024-03-19
KR20230081705A (ko) 2023-06-07

Similar Documents

Publication Publication Date Title
US11935270B2 (en) Predictive geometry coding in G-PCC
KR20230020418A (ko) G-pcc 에서의 속성 잔차 코딩
KR20230027048A (ko) 지오메트리-기반 포인트 클라우드 압축을 위한 속성 파라미터 코딩
WO2021207376A1 (en) Predictor index signaling for predicting transform in geometry-based point cloud compression
US20240312067A1 (en) Clipping laser indices in predictive geometry coding for point cloud compression
KR20220165245A (ko) 지오메트리 기반 포인트 클라우드 압축 (g-pcc) 을 위한 2 차 컴포넌트 속성 코딩
US11869220B2 (en) Scaling of quantization parameter values in geometry-based point cloud compression (G-PCC)
KR20230084490A (ko) 지오메트리 포인트 클라우드 압축 (g-pcc) 에서의 레이저 회전에 대한 하이 레벨 신택스
KR20230170908A (ko) 인터 예측을 사용한 지오메트리 포인트 클라우드 압축 (gpcc) 평면 모드의 성능 개선
KR20220164700A (ko) 지오메트리 기반 포인트 클라우드 압축을 위한 트라이수프 신택스 시그널링
US20230342984A1 (en) Inter prediction in point cloud compression
US12003768B2 (en) Residual coding for geometry point cloud compression
US20240357115A1 (en) Entropy continuation and dependent frame entropy coding in point cloud compression
US20240348832A1 (en) Predictive geometry coding for point cloud compression
US20240314358A1 (en) Residual coding for geometry point cloud compression
WO2024226507A1 (en) Entropy continuation and dependent frame entropy coding in point cloud compression
TW202425645A (zh) 點雲的預測幾何編碼
WO2023201022A1 (en) Occupancy coding using inter prediction with octree occupancy coding based on dynamic optimal binary coder with update on the fly (obuf) in geometry-based point cloud compression

Legal Events

Date Code Title Description
A201 Request for examination