KR20220164490A - 지오메트리 기반 포인트 클라우드 압축을 위한 하이-레벨 신택스 설계 - Google Patents

지오메트리 기반 포인트 클라우드 압축을 위한 하이-레벨 신택스 설계 Download PDF

Info

Publication number
KR20220164490A
KR20220164490A KR1020227033279A KR20227033279A KR20220164490A KR 20220164490 A KR20220164490 A KR 20220164490A KR 1020227033279 A KR1020227033279 A KR 1020227033279A KR 20227033279 A KR20227033279 A KR 20227033279A KR 20220164490 A KR20220164490 A KR 20220164490A
Authority
KR
South Korea
Prior art keywords
slice
point cloud
attribute
cloud data
syntax element
Prior art date
Application number
KR1020227033279A
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 KR20220164490A publication Critical patent/KR20220164490A/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • 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

Landscapes

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

Abstract

포인트 클라우드 데이터를 디코딩하기 위한 예시적인 디바이스는, 포인트 클라우드 데이터를 저장하도록 구성된 메모리 및 회로에서 구현되고 메모리에 커플링된 하나 이상의 프로세서들을 포함한다. 그 하나 이상의 프로세서들은, 영역 박스의 치수들을 결정하고 슬라이스 경계 박스의 치수들을 결정하도록 구성된다. 그 하나 이상의 프로세서들은 또한, 슬라이스 경계 박스와 연관된 포인트 클라우드 데이터의 슬라이스를 디코딩하도록 구성된다. 영역 박스의 치수들은 슬라이스 경계 박스의 치수들을 초과하지 않도록 제약된다.

Description

지오메트리 기반 포인트 클라우드 압축을 위한 하이-레벨 신택스 설계
이 출원은, 2020년 4월 7일자로 출원된 미국 가특허출원 제 63/006,660 호, 2020년 4월 15일자로 출원된 미국 가특허출원 제 63/010,550 호, 및 2020년 4월 22일자로 출원된 미국 가특허출원 제 63/013,971 호에 대해 우선권을 주장하고, 이들 각각의 전체 내용들은 참조에 의해 본원에 통합된다. 2021년 4월 6일자로 출원된 미국 출원 제 17/223,789 호는 2020년 4월 7일자로 출원된 미국 가특허출원 제 63/006,660 호, 2020년 4월 15일자로 출원된 미국 가특허출원 제 63/010,550 호, 및 2020년 4월 22일자로 출원된 미국 가특허출원 제 63/013,971 호의 이익을 주장한다.
기술 분야
본 발명은 포인트 클라우드 인코딩 및 디코딩에 관한 것이다.
요약
일반적으로, 본 개시물은 지오메트리 기반 포인트 클라우드 압축 (geometry-based point cloud compression; G-PCC) 을 위한 하이-레벨 신택스 설계 (high-level syntax design) 를 위한 여러 기법들을 설명한다. 이러한 기법들은 G-PCC 코딩에서의 다수의 잠재적인 문제점들을 해결할 수도 있다.
일 예에서, 본 개시는 영역 박스(region box)의 치수들(dimensions)을 결정하는 단계, 슬라이스 경계 박스(slice bounding box)의 치수들을 결정하는 단계, 및 슬라이스 경계 박스와 연관된 포인트 클라우드 데이터(point cloud data)의 슬라이스를 디코딩하는 단계를 포함하는, 포인트 클라우드 데이터를 디코딩하는 방법을 기술하며, 여기서, 영역 박스의 치수들은 슬라이스 경계 박스의 치수들을 초과하지 않도록 제약된다.
다른 예에서, 본 개시는 포인트 클라우드 데이터를 디코딩하는 방법을 기술하고, 그 방법은, 포인트 클라우드 데이터의 프레임과 연관된 제 1 지오메트리 슬라이스(geometry slice)의 제 1 슬라이스 식별자(identifier; ID)를 결정하는 단꼐, 포인트 클라우드 데이터의 프레임과 연관된 제 2 지오메트리 슬라이스의 제 2 슬라이스 ID를 결정하는 단계, 제 2 슬라이스 ID가 제 1 슬라이스 ID와 동일한 것에 기초하여, 제 1 슬라이스와 동일한 콘텐츠를 포함하도록 제 2 슬라이스를 결정하는 단꼐, 및 그 제 1 슬라이스 ID에 기초하여 포인트 클라우드 데이터를 디코딩하는 단계를 포함한다.
다른 예에서, 본 개시는 포인트 클라우드 데이터를 디코딩하는 방법을 기술하고, 그 방법은, 속성(attribute)의 속성 차원(attribute dimension)이 1보다 큰지 여부를 결정하는 단계, 속성의 속성 차원이 1 보다 큰 것에 기초하여, 델타 양자화 파라미터(delta quantization parameter)를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱(parsing)하는 단계, 그 델타 양자화 파라미터에 기초하여 포인트 클라우드 데이터를 디코딩하는 단계를 포함한다.
다른 예에서, 본 개시는 포인트 클라우드 데이터를 저장하도록 구성된 메모리, 및 회로에서 구현되고 메모리에 통신가능하게 커플링된 하나 이상의 프로세서들을 포함하는 디바이스를 기술하며, 그 하나 이상의 프로세서들은, 영역 박스의 치수들을 결정하고, 슬라이스 경계 박스의 치수들을 결정하며, 그리고 슬라이스 경계 박스와 연관된 포인트 클라우드 데이터의 슬라이스를 디코딩하도록 구성되고, 여기서 영역 박스의 치수들은 슬라이스 경계 박스의 치수들을 초과하지 않도록 제약된다.
다른 예에서, 본 개시는 포인트 클라우드 데이터를 저장하도록 구성된 메모리, 및 회로에 구현되고 메모리에 통신가능하게 커플링된 하나 이상의 프로세서들을 포함하는 디바이스를 기술하며, 그 하나 이상의 프로세서들은, 포인트 클라우드 데이터의 프레임과 연관된 제 1 지오메트리 슬라이스의 제 1 슬라이스 식별자(ID)를 결정하고, 포인트 클라우드 데이터의 프레임과 연관된 제 2 지오메트리 슬라이스의 제 2 슬라이스 ID를 결정하고, 제 2 슬라이스 ID가 제 1 슬라이스 ID와 동일한 것에 기초하여, 제 1 슬라이스와 동일한 콘텐츠를 포함하도록 제 2 슬라이스를 결정하고, 그리고 제 1 슬라이스 ID에 기초하여 포인트 클라우드 데이터를 디코딩하도록 구성된다.
다른 예에서, 본 개시는 포인트 클라우드 데이터를 저장하도록 구성된 메모리, 및 회로에 구현되고 메모리에 통신가능하게 커플링된 하나 이상의 프로세서들을 포함하는 디바이스를 기술하며, 그 하나 이상의 프로세서들은, 속성의 속성 차원이 1 보다 큰지 여부를 결정하고, 속성의 속성 차원이 1 보다 큰 것에 기초하여, 델타 양자화 파라미터를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하며, 그리고, 그 델타 양자화 파라미터에 기초하여 포인트 클라우드 데이터를 디코딩하도록 구성된다.
하나 이상의 예들의 상세들이 첨부 도면들 및 이하의 설명에서 전개된다. 다른 특징들, 목적들, 및 이점들은 설명, 도면들, 및 청구항들로부터 명백할 것이다.
도면들의 간단한 설명
도 1 은 본 개시의 기법들을 수행할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템을 나타내는 블록도이다.
도 2 는 예시적인 지오메트리 포인트 클라우드 압축 (G-PCC) 인코더를 나타내는 블록도이다.
도 3 은 예시적인 G-PCC 디코더를 나타내는 블록도이다.
도 4 는 예시적인 LoD(Level of Details) 생성 프로세스를 나타내는 개념도이다.
도 5 는 LoD를 사용하는 예시적인 가능한 포인트 예측을 예시하는 개념도이다.
도 6 은 상이한 LoD 를 갖는 G-PCC 디코딩의 일 예를 예시하는 개념도이다.
도 7 은 본 개시에 따른 예시적인 영역 박스 및 슬라이스 경계 박스 기법들의 흐름도이다.
도 8 은 본 개시에 따른 예시적인 슬라이스 식별자 기법들의 흐름도이다.
도 9 는 본 개시에 따른 델타 양자화 파라미터 기법들의 일 예를 예시하는 흐름도이다.
상세한 설명
지오메트리 기반 포인트 클라우드 압축(G-PCC)을 위한 특정 초안 표준들에서, 하이-레벨 신택스와 관련된 문제들이 존재할 수도 있다. 예를 들어, 영역 박스의 치수들은 영역을 포함하는 슬라이스의 치수들을 초과할 수도 있다. 이러한 경우에, 슬라이스의 치수들을 초과할 수도 있는 영역 폭, 높이, 및 깊이를 시그널링하는 것은 슬라이스 경계 박스를 초과하는 슬라이스 내의 포인트들이 없기 때문에 값을 추가하지 않을 수도 있다. 이는 시그널링 오버헤드를 불필요하게 증가시키고 G-PCC 인코더 및 G-PCC 디코더 양자 모두에 대해 프로세싱 전력을 낭비할 수도 있다.
다른 예에서, 트리수프(trisoup) 노드의 사이즈를 나타내는 신택스 엘리먼트의 범위에 대한 제한이 없을 수도 있다. 이 신택스 엘리먼트가 슬라이스의 치수들을 초과할 때, 이것은 최대 지오메트리 옥트리 깊이를 나타내는 변수의 네거티브 값들의 생성을 초래할 수도 있으며, 이는 이 조건이 디코딩 에러들을 초래할 수도 있기 때문에 바람직하지 않을 수도 있다.
다른 예에서, 지오메트리 슬라이스에 할당될 수도 있는 슬라이스 ID에 대한 제한은 없다. 예를 들어, 포인트 클라우드 프레임 내의 2개의 상이한 지오메트리 슬라이스들은, 그것들이 상이한 콘텐츠를 포함하는 경우에도, 동일한 슬라이스 ID를 할당받을 수도 있다. 이는 이러한 조건이 디코딩 에러들을 야기할 수도 있는 모호성들을 초래할 수도 있기 때문에 바람직하지 않을 수도 있다.
다른 예에서, 일부 파라미터들은 1-차원적 속성 (one-dimensional attribute) 에 적용가능하지 않다. 그러나, 파라미터들은 여전히 존재할 수도 있고, 여전히 시그널링될 필요가 있을 수도 있다. 이는 시그널링 오버헤드의 불필요한 증가 및 G-PCC 인코더 및 G-PCC 디코더 양자 모두에 대한 프로세싱 전력의 낭비를 초래할 수도 있다.
다른 예에서, 각각의 슬라이스는 델타 양자화 파라미터가 적용될 수도 있는 하나의 영역만을 특정할 수 있을 수도 있다. 델타 양자화 파라미터가 적용될 수도 있는 복수의 영역들을 갖는 유연성을 가능하게 하는 것이 더 바람직할 수도 있다. 델타 양자화 파라미터가 적용될 수도 있는 하나의 단일 영역을 특정하는 능력을 갖는 것만이 효율적인 방식으로 및/또는 포인트 클라우드의 지각적 품질(perceptual quality)을 고려하는 방식으로 포인트 클라우드를 코딩하는 선택을 제약(constrain)할 수도 있다.
다른 예에서, 지오메트리 슬라이스 헤더에서 지오메트리 파라미터 세트 ID 의 값 범위에 대한 제한(restriction)이 없을 수도 있는 반면, 지오메트리 파라미터 세트에서 지오메트리 파라미터 세트 ID 의 값 범위에 대한 제한이 있을 수도 있다. 이 조건은 지오메트리 슬라이스 헤더에서의 지오메트리 파라미터 세트 ID의 값이 지오메트리 파라미터 세트에서의 지오메트리 파라미터 세트 ID의 값보다 큰 경우에 G-PCC 인코더 및 G-PCC 디코더 양자 모두에서 시그널링 오버헤드의 불필요한 증가 및 프로세싱 전력의 낭비를 초래할 수도 있다. 이러한 조건은 또한 디코딩 에러들을 야기할 수도 있는 모호성들을 초래할 수도 있다.
또 다른 예에서, 속성 슬라이스 헤더에서 속성 파라미터 세트 ID 의 값 범위에 대한 제한이 없을 수도 있는 반면, 속성 파라미터 세트에서 속성 파라미터 세트 ID 의 값 범위에 대한 제한이 있을 수도 있다. 이 조건은 속성 슬라이스 헤더에서의 속성 파라미터 세트 ID의 값이 속성 파라미터 세트에서의 속성 파라미터 세트 ID의 값보다 큰 경우에 G-PCC 인코더 및 G-PCC 디코더 양자 모두에서 시그널링 오버헤드의 불필요한 증가 및 프로세싱 전력의 낭비를 초래할 수도 있다. 이러한 조건은 또한 디코딩 에러들을 야기할 수도 있는 모호성들을 초래할 수도 있다.
본 개시의 기법들에 따르면, G-PCC 코딩을 갖는 하이-레벨 신택스 설계에서의 상기 문제점들 및 다른 문제점들은 아래에서 더 상세히 논의되는 바와 같이 해결될 수도 있다. 이러한 문제점들을 해결함으로써, 시그널링 오버헤드가 감소될 수도 있고, 프로세싱 전력이 절약될 수도 있고, 디코딩 에러들이 감소될 수도 있고, 및/또는 디코더에서의 포인트 클라우드의 더 양호한 재생성이 달성될 수도 있다.
도 1 은 본 개시의 기법들을 수행할 수도 있는 예시적인 인코딩 및 디코딩 시스템을 나타내는 블록도이다. 본 개시의 기술들은 일반적으로 포인트 클라우드 데이터를 코딩 (인코딩 및/또는 디코딩) 하는 것과 관련된다. 일반적으로, 포인트 클라우드 데이터는 포인트 클라우드를 프로세싱하기 위한 임의의 데이터를 포함한다. 코딩은 포인트 클라우드 데이터를 압축 및/또는 압축해제하는데 있어 효율적일 수도 있다.
도 1 에 도시된 바와 같이, 시스템 (100) 은 소스 디바이스 (102) 및 목적지 디바이스 (116) 를 포함한다. 소스 디바이스(102)는 목적지 디바이스(116)에 의해 디코딩될 인코딩된 포인트 클라우드 데이터를 제공한다. 특히, 도 1 의 예에서, 소스 디바이스 (102) 는 컴퓨터 판독가능 매체 (110) 를 통해 목적지 디바이스 (116)에 포인트 클라우드 데이터를 제공한다. 소스 디바이스 (102) 및 목적지 디바이스 (116) 는 데스크탑 컴퓨터들, 노트북 (즉, 랩탑) 컴퓨터들, 태블릿 컴퓨터들, 셋-탑 박스들, 전화기 핸드셋들, 예를 들어 스마트폰들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 비디오 스트리밍 디바이스, 지상 또는 해상 비히클, 스페이스크래프트, 에어크래프트, 로봇, LIDAR 디바이스, 위성 등을 포함한, 광범위한 디바이스들 중 임의의 것을 포함할 수도 있다. 일부 경우들에서, 소스 디바이스 (102) 및 목적지 디바이스 (116) 는 무선 통신을 위해 장비될 수도 있다.
도 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) 는 수신된 송신 신호를 복조할 수도 있다. 통신 매체는 임의의 무선 또는 유선 통신 매체, 이를 테면 라디오 주파수 (radio frequency; 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 (Long-Term Evolution), 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)는 지오메트리 포인트 클라우드 압축 (G-PCC) 표준의 비디오 포인트 클라우드 압축 (V-PCC) 표준과 같은 코딩 표준에 따라 동작할 수도 있다. 본 개시는 일반적으로 데이터를 인코딩 또는 디코딩하는 프로세스를 포함하기 위해 픽처들의 코딩 (예를 들어, 인코딩 및 디코딩) 을 언급할 수도 있다. 인코딩된 비트스트림은 일반적으로 코딩 결정들 (예를 들어, 코딩 모드들) 을 나타내는 신택스 엘리먼트들에 대한 일련의 값들을 포함한다.
본 개시는 일반적으로 신택스 엘리먼트들과 같은, 소정의 정보를 "시그널링(signaling)” 하는 것을 언급할 수도 있다. 용어 “시그널링” 은 일반적으로 인코딩된 데이터를 디코딩하는데 사용된 신택스 엘리먼트들 및/또는 다른 데이터에 대한 값들의 통신을 지칭할 수도 있다. 즉, G-PCC 인코더 (200) 는 비트스트림에서 신택스 엘리먼트들에 대한 값들을 시그널링할 수도 있다. 일반적으로, 시그널링은 비트스트림에서 값을 생성하는 것을 지칭한다. 상기 언급된 바와 같이, 소스 디바이스 (102) 는 목적지 디바이스 (116) 에 의한 추후 취출을 위해 저장 디바이스 (112) 에 신택스 엘리먼트들을 저장할 때 발생할 수도 있는 바와 같은, 비실시간으로, 또는 실질적으로 실시간으로 비트스트림을 목적지 디바이스 (116) 로 전송할 수도 있다.
ISO/IEC MPEG(JTC 1/SC 29/WG 11)은 현재 접근법들을 크게 뛰어넘는 압축 성능을 가진 포인트 클라우드 코딩 기술의 표준화에 대한 잠재적 필요성을 연구하고 있으며, 표준 생성을 목표로 할 것이다. 그 그룹은 3-차원 그래픽 팀 (3DG) 으로서 알려진 공동 작업에서, 이 분야의 전문가들이 제안하는 압축 기술 설계를 평가하기 위해, 이 탐사 활동을 함께 진행하고 있다.
포인트 클라우드 압축 활동들은 2개의 상이한 접근법들로 분류된다. 제 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 w19088, Brussels, Belgium, January 2020 에서 입수 가능하며, 코덱에 대한 설명은 G-PCC Codec Description v6, ISO/IEC JTC1/SC29/WG11 w19091, 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 데이터에 대해, 압축된 지오메트리는 통상적으로 루트로부터 개별적인 복셀들의 리프 레벨 아래로 완전하게 옥트리로서 표현된다. 카테고리 1 데이터에 대해, 압축된 지오메트리는 프루닝된 옥트리 (즉, 루프로부터 복셀들보다 더 큰 블록들의 리프 레벨 아래로의 옥트리) 플러스 프루닝된 옥트리의 각각의 리프 내에서 표면을 근사화하는 모델로 통상적으로 표현된다. 이러한 식으로, 양쪽 카테고리 1 및 3 데이터는 옥트리 코딩 메카니즘을 공유할 수도 있는 한편, 카테고리 1 데이터는 또한 표면 모델과 각각의 리프 내에서 복셀들을 근사화할 수도 있다. 사용된 표면 모델은 블록당 1-10개의 삼각형들을 포함하는 삼각측량이며, 그 결과 삼각형 수프 (triangle soup) 를 초래한다. 따라서, 카테고리 1 지오메트리 코덱은 Trisoup 지오메트리 코덱으로 알려져 있는 한편 카테고리 3 지오메트리 코덱은 Octree 지오메트리 코덱으로 알려져 있다.
옥트리의 각각의 노드에서, 점유는 그것의 자식 노드들(최대 8개의 노드들) 중 하나 이상에 대해 (추론되지 않을 때) 시그널링된다. (a) 현재 옥트리 노드와 페이스를 공유하는 노드들, (b) 현재 옥트리 노드와 페이스, 에지 또는 정점을 공유하는 노드들 등을 포함하는 다수의 이웃들이 특정된다. 각각의 이웃 내에서, 노드 및/또는 그것의 자식들의 점유는 현재 노드 또는 그것의 자식들의 점유를 예측하는데 사용될 수도 있다. 옥트리의 특정 노드들에 드물게 팝퓰레이팅되는 포인트들에 대해, 코덱은 또한 포인트의 3D 포지션이 직접 인코딩되는 직접 코딩 모드를 지원한다. 직접 모드가 시그널링됨을 표시하기 위해 플래그가 시그널링될 수도 있다. 가장 낮은 레벨에서, 옥트리 노드/리프 노드와 연관된 포인트들의 수가 또한 코딩될 수도 있다.
일단 지오메트리가 코딩되면 지오메트리 포인트들에 대응하는 속성들이 코딩됩니다. 하나의 재구성된/디코딩된 지오메트리 포인트에 대응하는 다수의 속성 포인트들이 존재하는 경우, 재구성된 포인트를 대표하는 속성 값이 도출될 수도 있다.
G-PCC에는 영역 적응적 계층적 변환 (Region Adaptive Hierarchical Transform; RAHT) 코딩, 보간-기반 계층적 최근접-이웃 예측 (예측 변환 (Predicting Transform)), 및 업데이트/리프팅 스텝을 갖는 보간-기반 계층적 최근접-이웃 예측 (리프팅 변환 (Lifting Transform)) 의 3 개의 속성 코딩 방법들이 존재한다. 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), 지오메트리 재구성 유닛 (216), RAHT 유닛 (218), LOD 생성 유닛 (220), 리프팅 유닛 (222), 계수 양자화 유닛 (224), 및 산술 인코딩 유닛 (226) 을 포함할 수도 있다.
도 2의 예에 도시된 바와 같이, G-PCC 인코더(200)는 포지션들의 세트 및 속성들의 세트를 수신할 수도 있다. 포지션들은 포인트 클라우드 내의 포인트들의 좌표를 포함할 수도 있다. 속성들은 포인트 클라우드 내의 포인트들과 연관된 컬러들과 같은 포인트 클라우드 내의 포인트들에 대한 정보를 포함할 수도 있다.
좌표 변환 유닛(202)은 포인트들의 좌표들에 변환을 적용하여 초기 도메인으로부터 변환 도메인으로 좌표들을 변환할 수도 있다. 본 발명은 변환된 좌표들을 변환 좌표들로 지칭할 수도 있다. 컬러 변환 유닛 (204) 은 속성들의 컬러 정보를 상이한 도메인으로 변환하기 위해 변환을 적용할 수도 있다. 예를 들어, 컬러 변환 유닛 (204) 은 컬러 정보를 RGB 컬러 공간으로부터 YCbCr 컬러 공간으로 변환할 수도 있다.
또한, 도 2의 예에서, 복셀화 유닛(206)은 변환 좌표들을 복셀화할 수도 있다. 변환 좌표들의 복셀화는 포인트 클라우드의 일부 포인트들을 양자화하여 제거하는 것을 포함할 수도 있다. 즉, 포인트 클라우드의 다수의 포인트들은 단일 "복셀" 내에 포함될 수도 있고, 그 후, 이는 일부 관점에서 하나의 포인트로서 취급될 수도 있다. 또한, 옥트리 분석 유닛(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) 는 지오메트리 비트스트림 및 속성 비트스트림을 획득할 수도 있다. G-PCC 디코더 (300) 의 지오메트리 산술 디코딩 유닛 (302) 은 산술 디코딩 (예를 들어, CABAC (Context-Adaptive Binary Arithmetic Coding) 또는 산술 디코딩의 다른 유형) 을 지오메트리 비트스트림에서의 신택스 엘리먼트들에 적용할 수도 있다. 이와 유사하게, 속성 산술 디코딩 유닛 (304) 은 속성 비트스트림에서 신택스 엘리먼트들에 산술 디코딩을 적용할 수도 있다.
옥트리 합성 유닛 (306) 은 지오메트리 비트스트림으로부터 파싱된 신택스 엘리먼트들에 기초하여 옥트리를 합성할 수도 있다. 표면 근사화가 지오메트리 비트스트림에서 사용되는 경우, 표면 근사화 합성 유닛 (310) 은 지오메트리 비트스트림으로부터 파싱된 신택스 엘리먼트에 기초하여 그리고 옥트리에 기초하여 표면 모델을 결정할 수도 있다.
또한, 지오메트리 재구성 유닛 (312) 은 포인트 클라우드 내의 포인트들의 좌표들을 결정하기 위해 재구성을 수행할 수도 있다. 역 변환 좌표 유닛 (320) 은 포인트 클라우드에서의 포인트들의 복원된 좌표들 (위치들) 을 변환 도메인으로부터 초기 도메인으로 다시 컨버팅하기 위하여 복원된 좌표에 역 변환을 적용할 수도 있다.
추가적으로, 도 3 의 예에서, 역 양자화 유닛 (308) 은 속성 값들을 역 양자화할 수도 있다. 속성 값들은 속성 비트스트림으로부터 획득된 신택스 엘리먼트들에 기초할 수도 있다 (예를 들어, 속성 산술 디코딩 유닛 (304)에 의해 디코딩된 신택스 엘리먼트들을 포함함).
속성 값들이 어떻게 인코딩되는지에 따라, RAHT 유닛 (314) 은 역 양자화된 속성 값들에 기초하여, 포인트 클라우드의 포인트들에 대한 컬러 값들을 결정하기 위해 RAHT 코딩을 수행할 수도 있다. 대안적으로, LoD 생성 유닛 (316) 및 역 리프팅 유닛 (318) 은 디테일의 레벨 기반 기법을 사용하여 포인트 클라우드의 포인트들에 대한 컬러 값들을 결정할 수도 있다.
또한, 도 3 의 예에서, 역 변환 컬러 유닛 (322) 은 컬러 값들에 역 컬러 변환을 적용할 수도 있다. 역 컬러 변환은 G-PCC 인코더 (200) 의 컬러 변환 유닛 (204) 에 의해 적용된 컬러 변환의 역일 수도 있다. 예를 들어, 컬러 변환 유닛 (204) 은 컬러 정보를 RGB 컬러 공간으로부터 YCbCr 컬러 공간으로 변환할 수도 있다. 따라서, 역 컬러 변환 유닛(322)은 YCbCr 컬러 공간에서 RGB 컬러 공간으로 컬러 정보를 변환할 수도 있다.
도 2 및 도 3 의 여러 유닛들은 G-PCC 인코더 (200) 및 G-PCC 디코더 (300) 에 의해 수행된 동작들을 이해하는 것을 보조하기 위해 예시된다. 그 유닛들은 고정 기능 회로들, 프로그래밍가능 회로들, 또는 이들의 조합으로서 구현될 수도 있다. 고정 기능 회로들은 특정 기능성을 제공하는 회로들을 지칭하며, 수행될 수 있는 동작들에 대해 미리설정된다. 프로그래밍가능 회로들은 다양한 태스크들을 수행하도록 프로그래밍될 수 있는 회로들을 지칭하고, 수행될 수 있는 동작들에서 유연한 기능성을 제공한다. 예를 들어, 프로그래밍가능 회로들은, 프로그래밍가능 회로들이 소프트웨어 또는 펌웨어의 명령들에 의해 정의된 방식으로 동작하게 하는 소프트웨어 또는 펌웨어를 실행할 수도 있다. 고정 기능 회로들은 (예를 들어, 파라미터들을 수신하거나 또는 파라미터들을 출력하기 위해) 소프트웨어 명령들을 실행할 수도 있지만, 고정 기능 회로들이 수행하는 동작들의 타입들은 일반적으로 불변이다. 일부 예들에서, 유닛들의 하나 이상은 별개의 회로 블록들 (고정 기능 또는 프로그래밍가능) 일 수도 있고, 일부 예들에서, 유닛들의 하나 이상은 집적 회로들일 수도 있다.
G-PCC에서의 비-규범적 양자화 및 스케일링이 이제 설명된다. 원래의 포인트 클라우드는 부동 소수점 포맷 또는 매우 높은 비트 심도로 표현될 수도 있다. 복셀화 유닛(206)은 특정 비트 심도에서 입력 포인트 클라우드를 양자화하고 복셀화할 수도 있다. G-PCC 인코더(200)는 복셀화를 목적으로 양자화를 적용할 수도 있고, 스케일링은 주로 애플리케이션 특정 물리적 공간(예를 들어, 물리적 차원)에서 디코딩된 포인트 클라우드의 (예를 들어, 복셀 단위의) 맵핑을 위해, 예를 들어, G-PCC 디코더(300)에 의해 디코더 측에서 수행될 수도 있다. G-PCC 디코더 (300) 는 신택스 엘리먼트들 sps_source_scale_factor_numerator_minus1 및 sps_source_scale_factor_denominator_minus1 을 이용하여 G-PCC 인코더 (200)에 의해 시그널링되는 이 동작에 대한 스케일 값을 사용할 수도 있다. 양자화 프로세스는 (인코딩 이전의) 전처리 단계이고 스케일링 프로세스는 (디코딩 이후의) 후처리 단계이므로 전체 코딩 프로세스에 영향을 미치지 않는다. 오히려, 양자화 프로세스 및 스케일링 프로세스는 본질적으로 비규범적이다.
Figure pct00001
본 개시의 목적들을 위해, 인코더 측(예를 들어, G-PCC 인코더(200))에서, 비-규범 양자화 이전의 포인트 클라우드는 "양자화되지 않은 포인트 클라우드"로 지칭될 것이고, 비-규범 양자화 이후의 포인트 클라우드는 "양자화된 포인트 클라우드"로 지칭될 것이다. 이러한 양자화는 인코딩 또는 디코딩 프로세스의 일부로서 G-PCC 코덱에 의해 행해질 수도 있는 양자화와 관련되지 않는다. 유사하게, G-PCC 디코더(예를 들어, G-PCC 디코더(300))의 출력은 양자화된 포인트 클라우드로 지칭되고; 디코더 측에서의 임의의 비-규범적 스케일링의 출력은 비양자화된 포인트 클라우드로 지칭된다. G-PCC 디코더(예를 들어, G-PCC 디코더(300))의 출력은 규범적 스케일링 동작들의 결과일 수도 있다는 것에 다시 유의한다.
G-PCC에서의 경계 박스들이 이제 설명된다. 이미지들 및 비디오에서의 픽처 폭 및 높이의 관념과 유사하게, 포인트 클라우드들은 또한, 포인트 클라우드 내의 모든 포인트들이 경계 박스 내에 존재하는 것으로 간주되는 경계 박스의 관념을 갖는다. 즉, 경계 박스는 포인트 클라우드의 모든 포인트들을 포함하도록 정의된다.
이제 소스 경계 박스에 대해 설명한다. 포인트 클라우드의 캡처 또는 생성 시에, 포인트 클라우드의 모든 포인트들을 캡처하기 위해 경계 박스가 특정될 수도 있다. 예를 들어, 소스 디바이스(102)는 경계 박스를 특정할 수도 있다. 이러한 경계 박스는 소스 경계 박스로 지칭될 수도 있다. G-PCC에서, 소스 경계 박스를 나타낼 수도 있는 시퀀스 파라미터 세트 (SPS) 경계 박스 신택스 엘리먼트 (예컨대, seq_bounding_box_present_flag) 가 특정된다. 본 개시의 목적을 위해, SPS 경계 박스는 소스 경계 박스로 지칭될 수도 있다. G-PCC에서는 소스 경계 박스를 기술하기 위해 사용되는 유닛들이 정의되어 있지 않다. 따라서, 주어진 애플리케이션은 이들 유닛들을 결정할 수도 있다. SPS 경계 박스와 연관된 신택스 및 시맨틱스들이 아래에 제공된다.
(이러한 거동이 G-PCC 표준에서 정의되지 않기 때문에) G-PCC 디코더 (300) 의 출력이 (sps_source_scale_factor_numerator_minus1 및 sps_source_scale_factor_denominator_minus1 로부터 도출된) 소스 스케일 팩터를 사용하여 스케일링될 것이고 이러한 (비-규범적) 스케일링의 출력이 SPS 경계 박스 내에 포함되는 것으로 가정된다. 예를 들어, 애플리케이션, 별개의 디바이스, 또는 G-PCC 디코더 디바이스 자체는 G-PCC 디코더 (300) 의 출력을 스케일링할 수도 있다. 일부 예들에서, G-PCC 디코더 (300) 는 스케일 팩터 신택스 엘리먼트들을 파싱할 수도 있다. 다른 예들에서, 애플리케이션 또는 별개의 디바이스는 스케일 팩터 신택스 엘리먼트들을 파싱할 수도 있다.
소스 경계 박스 관련 신택스
Figure pct00002
Figure pct00003
소스 경계 박스 관련 시맨틱스는 다음과 같다.
1 과 동일한 main _profile_compatibility_ 23bits flag 는 비트스트림이 메인 프로파일을 따르도록 지정하며, 0 과 동일한 main_profile_compatibility_flag 는 비트스트림이 메인 프로파일 이외의 프로파일을 따르도록 지정한다.
reserved_profile_compatibility_22 는 이 사양의 이러한 버전을 따르는 비트스트림들에서 0 과 동일할 것이다. reserved_profile_compatibility_22bits 에 대한 다른 값들은 ISO/IEC에 의한 장래의 사용을 위해 예비된다. 디코더들은 reserved_profile_compatibility_2bits 의 값을 무시할 것이다.
1 과 동일한 unique_point_positions_constraint_flag 는 현재 SPS를 참조하는 각각의 포인트 클라우드 프레임에서, 모든 출력 포인트들이 고유한 포지션들을 가짐을 표시하고, 0과 동일한 unique_point_positions_constraint_flag는 현재 SPS를 참조하는 임의의 포인트 클라우드 프레임에서, 2개 이상의 출력 포인트들이 동일한 포지션을 가질 수도 있음을 표시한다.
주 - 예를 들어 모든 포인트들이 각 슬라이스들 [sic] 에서 고유한 경우에도 프레임에서 서로 다른 슬라이스들의 포인트들이 중첩할 수도 있다. 이 경우 unique_point_positions_constraint_flag는 0으로 설정되어야 한다.
level_idc 는 비트스트림이 부록 A에 특정된 바와 같이 준수하는 레벨을 나타낸다. 비트스트림들은 부록 A에 특정된 값들 이외의 level_idc의 값들을 포함하지 않을 것이다. level_idc의 다른 값들은 ISO/IEC에 의한 장래의 사용을 위해 예비된다.
sps _ seq _parameter_set_id 는 다른 신택스 엘리먼트들에 의한 참조를 위해 SPS에 대한 식별자를 제공한다. sps_seq_parameter_set_id 의 값은 이 사양의 이 버전을 준수하는 비트스트림들에서 0 일 것이다. sps_seq_parameter_set_id에 대해 0 이외의 값은 ISO/IEC에 의한 장래의 사용을 위해 예비된다.
1 과 동일한 sps _bounding_box_present_flag 는 경계 박스를 나타내고, 0 과 동일한 sps_bounding_box_present_flag 는 경계 박스가 정의되지 않은 것을 나타낸다.
sps _bounding_box_offset_x, sps _bounding_box_ offset_y, 및 sps_bounding_box_offset_z는 데카르트 좌표들에서 소스 경계 박스의 정량화된 x, y, 및 z 오프셋들을 나타낸다. 존재하지 않을 때, sps_bounding_box_offset_x, sps_bounding_box_offset_y, 및 sps_bounding_box_offset_z의 값들은 각각 0인 것으로 추론된다.
sps _bounding_box_offset_ log2 _scale은 정량화된 x, y 및 z 소스 경계 박스 오프셋들을 스케일링하기 위한 스케일링 팩터를 나타낸다. 존재하지 않을 때, sps_bounding_box_offset_log2_scale의 값은 0인 것으로 추론된다.
sps _bounding_box_size_width, sps _bounding_box_size_height, sps_bounding_box_size_depth 는 데카르트 좌표에서 소스 경계 박스의 폭, 높이 및 깊이를 나타낸다.
sps _source_scale_factor_numerator_ minus1 plus 1은 소스 포인트 클라우드의 스케일 팩터 분자를 나타낸다.
sps _source_scale_factor_denominator_ minus1 plus 1은 소스 포인트 클라우드의 스케일 팩터 분모를 나타낸다.
이제 타일 경계 박스에 대해 설명한다. 소스 경계 박스 이외에, G-PCC는 또한 타일 경계 박스들을 특정한다. 타일 경계 박스들은 타일의 포인트들과 연관된다. 타일 경계 박스들은 tile_inventory() 신택스에서 시그널링된다. 각각의 tile_inventory() 신택스 구조는 tile_frame_idx에 의해 규정된 프레임과 연관된다.
타일 인벤토리 신택스
Figure pct00004
Figure pct00005
타일 인벤토리 시맨틱스는 다음과 같다:
num _tiles_ minus1 plus 1 은 타일 인벤토리에 존재하는 타일 경계 박스들의 수를 특정한다.
tile_bounding_box_offset_x [ i ], tile_bounding_box_offset_y [ i ] 및 tile_bounding_box_offset_z [ i ] 는 데카르트 좌표에서 i 번째 타일의 x, y 및 z 오프셋을 나타낸다.
tile_bounding_box_size_width [ i ], tile_bounding_box_size_height [ i ], 및 tile _bounding_box_size_ depth [ i ] 는 데카르트 좌표에서 i 번째 타일의 폭, 높이 및 깊이를 나타낸다.
이제 슬라이스 경계 박스에 대해 설명합니다. 슬라이스들에 대해 경계 박스가 명시적으로 특정되지 않지만, 슬라이스 내의 포인트들을 포함하는 박스가 특정될 수도 있다. 슬라이스 경계 박스의 사양은 슬라이스 경계 박스의 하나의 코너 및 슬라이스 경계 박스의 폭, 높이 및 깊이를 특정하는 슬라이스 원점을 포함한다.
지오메트리 파라미터 세트 (Geometry parameter set; GPS) 는 명시적 슬라이스 원점이 슬라이스들에 대해 시그널링되는지 여부의 표시를 포함한다. 명시적 슬라이스 원점이 존재하는 경우, G-PCC 인코더 (200) 는 GPS 또는 지오메트리 슬라이스 헤더 (GSH)에서 연관된 스케일 값을 시그널링할 수도 있다. 명시적 슬라이스 원점이 시그널링되지 않을 때, G-PCC 디코더 (300) 는 슬라이스 원점이 (0, 0, 0) 과 동일한 것으로 추론한다. 슬라이스 경계 박스 신택스가 아래에 나타내어진다.
슬라이스 (경계) 박스 관련 신택스
Figure pct00006
Figure pct00007
Figure pct00008
슬라이스(경계) 박스 관련 시맨틱스가 이제 설명된다. 다음은 지오메트리 파라미터 세트의 관련 신택스 엘리먼트들의 시맨틱스이다.
gps_ geom _parameter_set_id 는 다른 신택스 엘리먼트들에 의한 참조를 위해 GPS에 대한 식별자를 제공한다. gps_seq_parameter_set_id 의 값은 포함적 0 내지 15 까지의 범위에 있을 것이다.
gps_ seq _parameter_set_id는 활성 SPS에 대한 sps_seq_parameter_set_id의 값을 특정한다. gps_seq_parameter_set_id 의 값은 포함적 0 내지 15 까지의 범위에 있을 것이다.
1과 동일한 gps_box_present_flag 는 추가적인 경계 박스 정보가 현재 GPS 를 참조하는 지오메트리 헤더에서 제공되는 것을 특정한다. 0 과 동일한 gps_bounding_box_present_flag 는 추가적인 경계 박스 정보가 지오메트리 헤더에서 시그널링되지 않는 것을 특정한다.
1 과 동일한 gps_gsh_box_log2_scale_present_flag는 gsh_box_log2_scale이 현재 GPS를 참조하는 각 지오메트리 슬라이스 헤더에서 시그널링되는 것을 특정하고, 0과 동일한 gps_gsh_box_log2_scale_present_flag는 gsh_box_log2_scale이 각 지오메트리 슬라이스 헤더에서 시그널링되지 않고 모든 슬라이스들에 대한 공통 스케일이 현재 GPS의 gps_gsh_box_log2_scale에서 시그널링되는 것을 특정한다.
gps_ gsh _box_ log2 _scale 은 현재 GPS 를 참조하는 모든 슬라이스들에 대한 경계 박스 원점의 공통 스케일 팩터를 나타낸다.
다음은 지오메트리 슬라이스 헤더에 있는 관련 신택스 엘리먼트의 시맨틱스이다 .
gsh _geometry_parameter_set_id는 활성 GPS의 gps_geom_parameter_set_id의 값을 특정한다.
gsh _tile_id 는 GSH에 의해 참조되는 타일 id 의 값을 특정한다. gsh_tile_id 의 값은 포함적 0 내지 XX 까지의 범위에 있을 것이다.
gsh _slice_id 는 다른 신택스 엘리먼트들에 의한 참조를 위해 슬라이스 헤더를 식별한다. gsh_slice_id 의 값은 포함적 0 내지 XX 까지의 범위에 있을 것이다.
frame_ idx 는 log2_max_frame_idx + 명목 프레임 넘버 카운터의 1 최하위 비트들을 특정한다. frame_idx의 상이한 값들을 갖는 연속적인 슬라이스들은 상이한 출력 포인트 클라우드 프레임들의 부분들을 형성한다. 개재 프레임 경계 마커 데이터 유닛 없이 frame_idx의 동일한 값들을 갖는 연속적인 슬라이스들은 동일한 출력 포인트 클라우드 프레임의 부분들을 형성한다.
gsh _ num _points 는 슬라이스 내의 코딩된 포인트들의 최대 수를 특정한다. gsh_num_points가 슬라이스에서의 디코딩된 포인트들의 수보다 크거나 같다는 것은 비트스트림 적합성의 요건이다.
gsh _box_ log2 _scale은 슬라이스에 대한 경계 박스 원점의 스케일링 팩터를 특정한다.
gsh _box_origin_x 는 gsh_box_log2_scale 값에 의해 스케일링되는 경계 박스 원점의 x 값을 특정한다.
gsh _box_origin_y는 gsh_box_log2_scale 값에 의해 스케일링되는 경계 박스 원점의 y 값을 특정한다.
gsh _box_origin_z는 gsh_box_log2_scale 값에 의해 스케일링되는 경계 박스 원점의 z 값을 특정한다.
slice_origin_x, slice_origin_y 및 slice_origin_z 변수는 다음과 같이 도출된다:
gps_gsh_box_log2_scale_present_flag가 0과 동일한 경우,
originScale 이 gsh_box_log2_scale과 동일하도록 설정된다.
그렇지 않으면( gps_gsh_box_log2_scale_present_flag 가 1과 동일함),
originScale이 gps_gsh_box_log2_scale과 동일하도록 설정된다.
gps_box_present_flag 가 0 과 동일한 경우,
slice_origin_x 및 slice_origin_y 및 slice_origin_z 의 값은 0 인 것으로 추론된다.
그렇지 않으면(gps_box_present_flag가 1과 같음), 다음이 적용된다:
slice_origin_x = gsh_box_origin_x << originScale
slice_origin_y = gsh_box_origin_x << originScale
slice_origin_z = gsh_box_origin_x << originScale
gsh _ log2 _max_ nodesize _x 는 x 차원에서의 경계 박스 사이즈, 즉 다음과 같이 디코딩 프로세스에서 사용되는 MaxNodesizeXLog2 를 특정한다.
MaxNodeSizeXLog2 = gsh_log2_max_nodesize_x
MaxNodeSizeX = 1 << MaxNodeSizeXLog2
gsh _ log2 _max_ nodesize _y_minus_x 는 y 차원에서의 경계 박스 사이즈, 즉 다음과 같이 디코딩 프로세스에서 사용되는 MaxNodesizeYLog2 를 특정한다:
MaxNodeSizeYLog2 = gsh_log2_max_nodesize_y_minus_x + MaxNodeSizeXLog2.
MaxNodeSizeY = 1 << MaxNodeSizeYLog2.
gsh _ log2 _max_ nodesize _z_minus_y 는 z 차원에서의 경계 박스 사이즈, 즉 다음과 같이 디코딩 프로세스에서 사용되는 MaxNodesizeZLog2 를 특정한다.
MaxNodeSizeZLog2 = gsh_log2_max_nodesize_z_minus_y + MaxNodeSizeYLog2
MaxNodeSizeZ = 1 << MaxNodeSizeZLog2
gps_implicit_geom_partition_flag가 1과 동일한 경우, gsh_log2_max_nodesize는 다음과 같이 도출된다.
gsh_log2_max_nodesize = max{ MaxNodeSizeXLog2, MaxNodeSizeYLog2, MaxNodeSizeZLog2}
gsh _ log2 _max_ nodesize 는 gps_implicit_geom_partition_flag가 0과 같을 때 루트 지오메트리 노드의 사이즈를 특정한다. 변수 MaxNodeSize 및 MaxGeometryOctreeDepth는 다음과 같이 도출된다.***
MaxNodeSize = 1 << gsh_log2_max_nodesize
MaxGeometryOctreeDepth = gsh_log2_max_nodesize -
log2_trisoup_node_size
변수 K와 M은 그러면 다음과 같이 업데이트된다.
gsh_log2_min_nodesize = min{ MaxNodeSizeXLog2, MaxNodeSizeYLog2, MaxNodeSizeZLog2}
if (K > (gsh_log2_max_nodesize - gsh_log2_min_nodesize))
K = gsh_log2_max_nodesize - gsh_log2_min_nodesize;
if (M > gsh_log2_min_nodesize)
M = gsh_log2_min_nodesize;
if (gsh_log2_max_nodesize == gsh_log2_min_nodesize)
M = 0;
if (log2_trisoup_node_size != 0) {
K = gsh_log2_max_nodesize - gsh_log2_min_nodesize;
M = 0;
}
영역 박스들이 이제 설명된다. 위에서 특정된 경계 박스들에 부가하여, G-PCC는 또한 포인트 클라우드의 특정 영역의 속성들에 대한 수정된 QP 값을 표시하기 위해 사용되는 영역 박스의 시그널링을 지원한다. 통상적으로, 속성과 연관된 QP 값은 (속성 파라미터 세트에서의 일부 신택스 엘리먼트들에 추가하여) 속성 슬라이스 헤더에서 특정될 수도 있다. 그러나, 포인트 클라우드의 특정 영역들은 슬라이스의 나머지와 상이할 수도 있는 고유한 특성들을 가질 수도 있다. 예를 들어, 슬라이스의 더 조밀한 영역은 더 미세한 표현 (더 낮은 QP) 을 사용하여 코딩될 수도 있거나 슬라이스의 더 희소한 영역은 더 거친 표현 (더 높은 QP) 을 사용하여 코딩될 수도 있다. 영역 박스는 슬라이스의 특정 영역의 속성들에 대해 상이한 QP 를 지정하는데 유용할 수도 있다. 영역 박스 관련 신택스는 다음과 같다.
영역 박스 관련 신택스
Figure pct00009
Figure pct00010
영역 박스 관련된 시맨틱스는 다음과 같다:
ash_ attr _parameter_set_id 는 활성 APS 의 aps_attr_parameter_set_id 의 값을 특정한다.
ash_ attr _ sps _ attr _ idx 는 활성 SPS에 설정된 속성의 순서를 특정한다. ash_attr_sps_attr_idx 의 값은 활성 SPS에서 0 내지 sps_num_attribute_sets 의 범위에 있을 것이다.
ash_ attr _ geom _slice_id 는 활성 지오메트리 슬라이스 헤더의 gsh_slice_id 값을 특정한다.
1 과 동일한 ash_ attr _layer_ qp _delta_present_flag 는 ash_attr_layer_qp_delta_luma 및 ash_attr_layer_qp_delta_chroma 신택스 엘리먼트들이 현재 ASH에 존재함을 특정하며, 0과 동일한 ash_attr_layer_qp_delta_present_flag는 ash_attr_layer_qp_delta_luma 및 ash_attr_layer_qp_delta_chroma 신택스 엘리먼트들이 현재 ASH에 존재하지 않음을 특정한다.
ash_ attr _ num _layer_ qp _ minus1 플러스 1은 ash_attr_qp_delta_luma 및 ash_attr_qp_delta_chroma가 시그널링되는 층의 수를 특정한다. ash_attr_num_layer_qp 가 시그널링되지 않을 때, ash_attr_num_layer_qp 의 값은 0 인 것으로 추론된다. NumLayerQp 의 값은 다음과 같이 도출된다:
NumLayerQp = num_layer_qp_minus1 + 1
ash_ attr _ qp _delta_ luma 는 활성 속성 파라미터 세트에서 초기 슬라이스 qp 로부터 루마 델타 qp 를 특정한다. ash_attr_qp_delta_luma 가 시그널링되지 않을 때, ash_attr_qp_delta_luma 의 값은 0 인 것으로 추론된다.
ash_ attr _ qp _delta_ chroma 는 활성 속성 파라미터 세트에서 초기 슬라이스 qp 로부터 크로마 델타 qp 를 특정한다. ash_attr_qp_delta_chroma 가 시그널링되지 않을 때, ash_attr_qp_delta_chroma 의 값은 0 인 것으로 추론된다.
변수들 InitialSliceQpY 및 InitialSliceQpC 는 다음과 같이 도출된다:
InitialSliceQpY = aps_attrattr_initial_qp + ash_attr_qp_delta_luma
InitialSliceQpC = aps_attrattr_initial_qp + aps_attr_chroma_qp_offset + ash_attr_qp_delta_chroma
ash_ attr _layer_ qp _delta_ luma 는 각각의 계층에서 InitialSliceQpY 로부터 루마 델타 qp 를 특정한다. ash_attr_layer_qp_delta_luma 가 시그널링되지 않을 때, ash_attr_layer_qp_delta_luma 의 값은 0 인 것으로 추론된다.
ash_ attr _layer_ qp _delta_ chroma 는 각각의 계층에서 InitialSliceQpC 로부터 크로마 델타 qp 를 특정한다. ash_attr_layer_qp_delta_chroma 가 시그널링되지 않을 때, ash_attr_layer_qp_delta_chroma의 값은 0 인 것으로 추론된다.
변수 SliceQpY[ i ] 및 SliceQpC[ i ] (i = 0...NumLayerQPNumQPLayer - 1) 는 다음과 같이 도출된다:
for ( i = 0; i < NumLayerQPNumQPLayer; i++) {
SliceQpY[ i ] = InitialSliceQpY + ash_attr_layer_qp_delta_luma[ i ]
SliceQpC[ i ] = InitialSliceQpC + ash_attr_layer_qp_delta_chroma[ i ]
}
1 과 동일한 ash_ attr _region_ qp _delta_present_flag는 ash_attr_region_qp_delta 및 영역 경계 박스 원점 및 사이즈가 현재 ASH에 존재함을 나타내고, 0과 동일한 ash_attr_region_qp_delta_present_flag는 ash_attr_region_qp_delta 및 영역 경계 박스 원점 및 사이즈가 현재 ASH에 존재하지 않음을 나타낸다.
ash_ attr _ qp _region_box_origin_x는 slice_origin_x에 대한 영역 경계 박스의 x 오프셋을 나타낸다. 존재하지 않을 때, ash_attr_qp_region_box_origin_x의 값은 0인 것으로 추론된다.
ash_ attr _ qp _region_box_origin_y는 slice_origin_y에 대한 영역 경계 박스의 y 오프셋을 나타낸다. 존재하지 않을 때, ash_attr_qp_region_box_origin_y의 값은 0인 것으로 추론된다.
ash_ attr _ qp _region_box_origin_z는 slice_origin_z에 대한 영역 경계 박스의 z 오프셋을 나타낸다. 존재하지 않을 때, ash_attr_qp_region_box_origin_z의 값은 0인 것으로 추론된다.
영역 박스 원점을 특정하는 변수 RegionboxX, RegionboxY 및 RegionboxZ는 각각 ash_attr_qp_region_box_origin_x, ash_attr_qp_region_box_origin_y 및 ash_attr_qp_region_box_origin_z와 동일하게 설정된다.
ash_ attr _ qp _region_box_size_width 는 영역 경계 박스의 폭을 나타낸다. 존재하지 않을 때, ash_attr_qp_region_box_size_width의 값은 0인 것으로 추론된다.
ash_ attr _ qp _region_box_size_height 는 영역 경계 박스의 높이를 나타낸다. 존재하지 않을 때, ash_attr_qp_region_box_size_height의 값은 0인 것으로 추론된다.
ash_ attr _ qp _region_box_size_depth는 영역 경계 박스의 깊이를 나타낸다. 존재하지 않을 때, ash_attr_qp_region_box_size_depth의 값은 0인 것으로 추론된다.
영역 박스 사이즈를 특정하는 변수 RegionboxWidth, RegionboxHeight 및 RegionboxDepth는 각각 ash_attr_qp_region_box_size_width, ash_attr_qp_region_box_size_height 및 ash_attr_qp_region_box_size_depth와 동일하게 설정된다.
ash_ attr _region_ qp _delta는 ash_attr_qp_region_box에 의해 특정된 영역의 SliceQpY[i] 및 SliceQpC[i] (i = 0...NumLayerQPNumQPLayer - 1)로부터의 델타 qp를 특정한다. 존재하지 않을 때, ash_attr_region_qp_delta의 값은 0인 것으로 추론된다.
영역 박스 델타 양자화 파라미터를 특정하는 변수 RegionboxDeltaQp 는 ash_attr_region_qp_delta 와 동일하게 설정된다.
이제 시퀀스 파라미터 세트(SPS)에서의 속성 특정 파라미터 시그널링이 설명된다. G-PCC 인코더(200)는 sps_num_attribute_sets로 명명된 신택스 엘리먼트를 이용하여, SPS에서 포인트 클라우드와 연관된 속성들의 수를 시그널링할 수도 있다. 각각의 속성에 대해, G-PCC 인코더 (200) 는 SPS에서 비트-심도, 2차 비트-심도, 속성 차원, 속성 타입 (컬러, 반사율, 프레임인덱스 등) 및 컬러 공간 관련 정보와 같은 몇몇 속성 특정 파라미터들을 시그널링할 수도 있다. 대응하는 신택스 및 시맨틱스는 다음과 같다.
Figure pct00011
Figure pct00012
attribute_dimension_ minus1 [ i ] plus 1 은 i번째 속성의 컴포넌트들의 수를 특정한다.
attribute_instance_id [ i ] 는 i번째 속성의 인스턴스 id를 특정한다.
주 - attribute_label_four_bytes 값을 갖는 2개 이상의 속성이 비트스트림에 있는 경우 attribute_instance_id 의 값은 속성을 식별한다. 예를 들어, 그것은 상이한 뷰 포인트로부터 다수의 컬러를 갖는 포인트 클라우드에 유용하다.
attribute_ bitdepth _ minus1 [   i   ] plus 1은 i번째 속성 신호(들)의 제 1 컴포넌트에 대한 비트심도를 특정한다.
attribute_secondary_ bitdepth _ minus1 [   i   ] plus 1은 i번째 속성 신호(들)의 세컨더리 컴포넌트에 대한 비트심도를 특정한다.
attribute_ cicp _color_primaries [ i ] 는 i번째 속성의 컬러 속성 소스 프라이머리들의 색도 좌표들을 나타낸다. 시맨틱스는 ISO/IEC 23091-2의 코드 포인트 ColorPrimaries에 지정된 것과 같다.
attribute_ cicp _transfer_characteristics [   i ] 는 0 내지 1의 공칭 실수치 범위를 갖는 소스 입력 선형 광학 강도(L c)의 함수로서 컬러 속성의 기준 광전 전달 특성 함수를 나타내거나 또는 0 내지 1의 공칭 실수치 범위를 갖는 출력 선형 광학 강도(L o)의 함수로서 기준 전자 광학 전달 특성 함수의 역수를 나타낸다. 시맨틱스는 ISO/IEC 23091-2의 코드 포인트 TransferCharacteristics에 지정된 것과 같다.
attribute_ cicp _matrix_ coeffs [ i ] 는 녹색, 청색 및 적색, 또는 Y, Z 및 X 프라이머리들로부터 루마 및 크로마 신호들을 도출하는데 사용되는 매트릭스 계수들을 기술한다. 시맨틱스는 ISO/IEC 23091-2의 코드 포인트 MatrixCoefficients에 지정된 것과 같다.
attribute_ cicp _video_full_range_flag [ i ] 는 E'Y, E'PB, 및 E'PR 또는 E'R, E'G, 및 E'B 실수치 컴포넌트 신호들로부터 유도되는 바와 같은 루마 및 크로마 신호들의 블랙 레벨 및 범위를 나타낸다. 시맨틱스는 ISO/IEC 23091-2의 코드 포인트 VideoFullRangeFlag에 지정된 것과 같다.
1 과 동일한 known_attribute_label_flag [ i ] 은 i 번째 속성에 대해 시그널링된 known_attribute_label 을 특정하며, 0 과 동일한 known_attribute_label_flag [ i ] 은 i 번째 속성에 대해 시그널링된 attribute_label_four_bytes 를 특정한다.
0 과 동일한 known_attribute_label [ i ] 은 속성이 컬러임을 나타낸다. 1 과 동일한 known_attribute_label[ i ] 은 속성이 반사율임을 나타낸다. 2 와 동일한 known_attribute_label[ i ] 은 속성이 프레임 인덱스임을 나타낸다.
attribute_label_four_bytes [ i ] 는 4바이트 코드를 가진 알려진 속성 타입을 나타낸다. 7.1은 지원되는 속성들의 리스트 및 attribute_label_four_bytes[ i ]와의 관계를 기술한다.
테이블 7.1 ― attribute_label_four_bytes
attribute_label_four_bytes[ i ] 속성 타입
0 컬러
1 반사율
2 프레임 인덱스
3 재료 ID
4 투명도
5 정상
6…255 예비
256...0xffffffff 특정되지 않음
이제 속성 파라미터 세트(APS)가 설명된다. G-PCC 신택스는 각각의 속성에 대한 별개의 파라미터 세트의 시그널링을 허용한다. 예를 들어, 하나의 포인트 클라우드가 포인트 클라우드와 연관된 2개의 상이한 속성들, 예를 들어 컬러 및 반사율을 갖는 경우, 각각의 속성은 그들 자신의 APS를 가질 수도 있다. APS 는 속성 양자화 파라미터들 (초기 qp, qp 오프셋들 등), 상세 레벨 (LoD) 생성-특정 파라미터들, 및/또는 속성 코딩을 위한 코딩 툴들에 관한 정보를 포함한다.
상세 레벨(LoD) 구조는 전체 포인트 클라우드가 모든 정제 레벨들의 합집합으로 표현되는 방식으로, 사용자에 의해 특정된 유클리드 거리들의 세트
Figure pct00013
에 따라, 포인트 클라우드를 정제 레벨들로 지칭되는 포인트들의 비중첩 서브세트들
Figure pct00014
로 분할한다. 상세 레벨 (LoD) l,
Figure pct00015
은 정제 레벨들
Figure pct00016
의 합집합을 취함으로써 획득된다:
·
Figure pct00017
·
Figure pct00018
·
Figure pct00019
·
Figure pct00020
는 전체 포인트 클라우드를 나타낸다.
도 4 는 예시적인 LoD(Level of Details) 생성 프로세스를 나타내는 개념도이다. 포인트 클라우드 내의 포인트들의 원래 순서(400)가 도 4에 도시된다. LoD에 의해, 포인트들의 순서는 LoD 기반 순서(402)에 나타낸 바와 같이 변할 수도 있다. 예를 들어, LoD0 는 P0, P5, P4 및 P2를 포함한다. LoD1 은 P0, P5, P4, P2, P1, P6 및 P3을 포함한다. LOD2 는 도 4의 예의 전체 포인트 클라우드인 P0, P5, P4, P2, P1, P6, P3, P9, P8, 및 P7을 포함한다.
따라서, LoD 생성은 포인트 클라우드의 속성 정보에 대한 스케일러블 표현을 제공하며, 여기서 LoD 레벨을 증가시키는 것은 속성 정보의 상세들의 점진적인 증가를 초래한다. 부가적으로, G-PCC 디코더(300)는 LoD 순서로 속성 디코딩을 수행하고, 예를 들어, LoD 0(R0) 내의 제 1 모든 포인트들이 디코딩되고, 그 다음 정제 레벨 R 1 에 대응하는 포인트들이 LoD1 을 생성하기 위해 디코딩되고, 이 프로세스는 추가로 모든 LoD를 점진적으로 생성하기 위해 계속될 수도 있다. 이러한 이유로, LoD 계층에서의 포인트는 도 5에 도시된 바와 같이 이전의 LoD 계층(들)에서의 포인트들로부터 또는, 적용가능하다면, 동일한 정제 레벨(예를 들어, EnableReferingSameLoD = 1)에서의 이미 디코딩된 포인트들로부터 예측될 수 있다.
도 5 는 LoD를 사용하는 가능한 포인트 예측을 예시하는 개념도이다. 포인트 클라우드 내의 포인트들의 원래 순서(500)가 도시된다. 추가적으로, LoD 기반 순서(502)가 도시된다. LoD에 있어서, 포인트 P4는, 포인트 P4가 LoD1 에 있는 포인트 P6 이전에 디코딩되는 LoD0 내에 있기 때문에, 포인트 P6 을 예측하는데 사용될 수도 있다. EnableReferingSameLoD = 1이면, 포인트 P1은 포인트 P6을 예측하는데 사용될 수도 있는데, 이는 포인트 P1이 포인트 P6 이전에 디코딩되기 때문이다. 그러나, EnableReferingSameLoD = 0이면, 포인트 P1은 포인트 P6을 예측하는데 사용되지 않을 수도 있다.
공간적 스케일러빌러티(scalability)를 갖는 것과 같이 LoD 생성을 사용함으로써, 더 적은 디코더 복잡도를 갖는 썸네일로서 더 낮은 해상도의 포인트 클라우드에 액세스하고 및/또는 더 적은 대역폭을 사용하는 것이 가능할 수도 있다. 공간적 스케일러빌러티가 필요할 때, 더 낮은 지오메트리 및 대응하는 속성 비트스트림을 조화된 방식으로 디코딩하는 것이 바람직할 수도 있다.
도 6은 상이한 LoD들을 갖는 G-PCC 디코딩을 도시하는 개념도이다. 예를 들어, 풀 해상도 포인트 클라우드(642)를 생성하기 위해, G-PCC 디코더(300)는 지오메트리 비트스트림(620) 및 속성 비트스트림(622) 둘 모두에서 높은 LoD(예를 들어, LoD(606) 및 LoD(608))를 이용할 수도 있다. 저해상도 포인트 클라우드 (632) 를 생성하기 위해, G-PCC 디코더 (300) 는 부분 옥트리 비트스트림 (610) 및 부분 리프팅 비트스트림 (612)에서 더 낮은 LoD (예를 들어, LoD (602) 및 LoD (604)) 를 이용할 수도 있다.
조화된 공간적 스케일러빌러티를 달성하기 위해, 속성 디코더(예를 들어, 도 3의 속성 산술 디코딩 유닛(304))는 부분적으로 디코딩된 옥트리 비트스트림(예를 들어, 부분 옥트리 비트스트림(610))으로부터 저해상도 지오메트리 포인트 클라우드(예를 들어, 저해상도 포인트 클라우드(632))를 디코딩하도록 확장될 수도 있으며, 여기서 저해상도 지오메트리 포인트 클라우드 내의 포인트의 디코딩된 포지션은 INT(pos/2k)*2k 로서 양자화된다.
본 문서에서 개시되는 하나 이상의 예시들은 독립적으로 또는 결합되어 적용될 수도 있다.
이제 영역 박스 치수에 대한 제약들이 설명된다. G-PCC 표준 초안의 영역 박스의 시맨틱스는 영역 박스가 그 영역을 포함하는 슬라이스의 치수들을 초과하도록 허용한다. G-PCC 인코더 (200) 는, 영역 폭, 높이 및 깊이를 시그널링할 때, 지수 골롬 코딩을 사용할 수도 있다. 슬라이스 치수들을 초과하는 이들 신택스 엘리먼트들에 대한 값들을 시그널링하는 G-PCC 인코더 (200) 는 슬라이스 경계 박스 외부에 있는 슬라이스에 속하는 포인트들이 없기 때문에 G-PCC 디코더 (300)에 어떠한 이점도 제공하지 않을 수도 있다. 또한, 슬라이스 경계 박스의 형상은 규칙적인 입방체/정육면체이고, 따라서, 슬라이스 경계 박스보다 더 큰 영역을 시그널링하는 G-PCC 인코더 (200)에서 이점이 없을 수도 있다. 이것은 또한, 영역 박스의 원점이 또한 슬라이스 내에 포함되어야 하기 때문에 영역 박스의 원점에 적용된다.
더욱이, 영역 박스 치수들의 시그널링은 폭, 높이, 또는 깊이의 시그널링이 0 과 동일하도록 허용한다. 그러나, 이들 엘리먼트들 중 임의의 엘리먼트가 0으로서 시그널링되면, G-PCC 초안 표준은 그 영역이 비어 있는 것으로 간주한다.
본 개시의 기법들에 따르면, 영역 박스가 슬라이스 치수들, 또는 더 구체적으로, 슬라이스 경계 박스 치수들을 초과하지 않도록 제약들이 추가될 수도 있다. 예를 들어, G-PCC 디코더 (300) 는 영역 박스의 치수들을 결정할 수도 있다. G-PCC 디코더 (300) 는 슬라이스 경계 박스의 치수들을 결정할 수도 있다. G-PCC 디코더(300)는 슬라이스 경계 박스와 연관된 포인트 클라우드 데이터의 슬라이스를 디코딩할 수도 있다. 영역 박스의 치수는 슬라이스 경계 박스의 치수를 초과하지 않도록 제약될 수도 있다.
일부 예들에서, 원점 영역 박스가 슬라이스 내에 포함되도록 제약들이 추가된다. 다른 예들에서, 영역 박스 내의 어떠한 포인트도 슬라이스 외부에 또는 구체적으로 슬라이스 경계 박스 외부에 있지 않도록 제약들이 추가된다.
일부 예들에서, 영역 박스 폭, 높이 및 깊이의 시그널링은 이들 영역 박스 속성들 중 임의의 것에 대해 0의 값이 허용되지 않도록 수정된다. 즉, G-PCC 인코더 (200) 는 영역 박스 폭, 높이 또는 깊이에 대해 0 의 값을 시그널링하지 않을 수도 있다.
일 예에서, 영역 박스의 신택스 엘리먼트들의 시맨틱스는 영역 박스 원점 또는 영역 박스가 슬라이스 치수들을 초과하지 않도록 업데이트된다. 초안 G-PCC 표준 ISO/IEC JTC 1/SC 29/WG 11 N18887로부터 변경의 시작은 <CHANGE>로 표시되고, 변경의 끝은 </CHANGE>로 표시된다. 초안 G-PCC 표준으로부터의 삭제 시작은 <DELETE>로 표시되고 삭제 종료는 </DELETE>로 표시된다.
1 과 동일한 ash_ attr _region_ qp _delta_present_flag는 ash_attr_region_qp_delta 및 영역 경계 박스 원점 및 사이즈가 현재 ASH에 존재함을 나타내고, 0과 동일한 ash_attr_region_qp_delta_present_flag는 ash_attr_region_qp_delta 및 영역 경계 박스 원점 및 사이즈가 현재 ASH에 존재하지 않음을 나타낸다.
ash_ attr _ qp _region_box_origin_x는 slice_origin_x에 대한 영역 경계 박스의 x 오프셋을 나타낸다. 존재하지 않을 때, ash_attr_qp_region_box_origin_x의 값은 0인 것으로 추론된다.
ash_ attr _ qp _region_box_origin_y는 slice_origin_y에 대한 영역 경계 박스의 y 오프셋을 나타낸다. 존재하지 않을 때, ash_attr_qp_region_box_origin_y의 값은 0인 것으로 추론된다.
ash_ attr _ qp _region_box_origin_z는 slice_origin_z에 대한 영역 경계 박스의 z 오프셋을 나타낸다. 존재하지 않을 때, ash_attr_qp_region_box_origin_z의 값은 0인 것으로 추론된다.
영역 박스 원점을 특정하는 변수 RegionboxX, RegionboxY 및 RegionboxZ는 각각 ash_attr_qp_region_box_origin_x, ash_attr_qp_region_box_origin_y 및 ash_attr_qp_region_box_origin_z와 동일하게 설정된다.
ash_ attr _ qp _region_box_size_width<CHANGE>_ minus1 plus 1 </CHANGE> 은 영역 경계 박스의 폭을 나타낸다. 존재하지 않을 때, ash_attr_qp_region_box_size_width<CHANGE>_minus1 </CHANGE> 의 값은 <CHANGE> -1 </CHANGE> <DELETE> 0 </DELETE> 인 것으로 추론된다.
ash_ attr _ qp _region_box_size_height<CHANGE>_ minus1 plus 1</CHANGE>는 영역 경계 박스의 높이를 나타낸다. 존재하지 않을 때, ash_attr_qp_region_box_size_height<CHANGE>_minus1 </CHANGE> 의 값은 <CHANGE> -1 </CHANGE> <DELETE> 0 </DELETE> 인 것으로 추론된다.
ash_ attr _ qp _region_box_size_depth<CHANGE>_ minus1 plus 1</CHANGE>는 영역 경계 박스의 깊이를 나타낸다. 존재하지 않을 때, ash_attr_qp_region_box_size_depth<CHANGE>_minus1 </CHANGE> 의 값은 <CHANGE> -1 </CHANGE> <DELETE> 0 </DELETE> 인 것으로 추론된다.
영역 박스 사이즈를 특정하는 변수 RegionboxWidth, RegionboxHeight 및 RegionboxDepth는 각각 ash_attr_qp_region_box_size_width, ash_attr_qp_region_box_size_height 및 ash_attr_qp_region_box_size_depth와 동일하게 설정된다.
<CHANGE> 다음의 조건들이 모두 적용되는 것은 비트스트림 적합성의 요건이다:
gps_implicit_geom_partition_flag 가 1 과 동일한 경우, (RegionboxX + RegionboxWidth), (RegionboxY + RegionboxHeight) 및 (RegionBoxZ + RegionboxDepth) 의 값은 각각 슬라이스의 MaxNodeSizeX, MaxNodeSizeY 및 MaxNodeSizeZ 를 초과하지 않을 것이다.
그렇지 않으면 (gps_implicit_geom_partition_flag가 0과 동일함), (RegionboxX + RegionboxWidth), (RegionboxY + RegionboxHeight) 및 (RegionBoxZ + RegionboxDepth) 각각의 값은 MaxNodeSize를 초과하지 않는다. </CHANGE>
ash_ attr _region_ qp _delta는 ash_attr_qp_region_box에 의해 특정된 영역의 SliceQpY[i] 및 SliceQpC[i] (i = 0...NumLayerQPNumQPLayer - 1)로부터의 델타 qp를 특정한다. 존재하지 않을 때, ash_attr_region_qp_delta의 값은 0인 것으로 추론된다.
영역 박스 델타 양자화 파라미터를 특정하는 변수 RegionboxDeltaQp 는 ash_attr_region_qp_delta 와 동일하게 설정된다.
하나의 예에서, 다음의 제약들이 또한 추가될 수도 있다: 다음의 조건들 모두가 적용되는 것은 비트스트림 적합성의 요건이다:
gps_implicit_geom_partition_flag 가 1 과 동일하면, RegionboxX, RegionboxY 및 RegionBoxZ 의 값은 각각 슬라이스의 MaxNodeSizeX, MaxNodeSizeY 및 MaxNodeSizeZ 를 초과하지 않을 것이다.
그렇지 않으면(gps_implicit_geom_partition_flag가 0과 동일함), RegionboxX, RegionboxY 및 RegionBoxZ 각각의 값은 MaxNodeSize를 초과하지 않을 것이다.
tile_inventory() 신택스 및 tile_id의 유효성의 존재가 이제 설명된다. 지오메트리 슬라이스 헤더는 슬라이스와 연관된 타일의 식별자를 참조하는 신택스 엘리먼트 tile_id 를 포함한다. 타일 정보는 tile_inventory()에서 제공되며, 이는 신택스 엘리먼트 frame_idx 를 포함한다. frame_idx는 동일한 frame_idx를 갖는 특정 프레임과 tile_inventory()를 연관시키는데 사용될 수도 있다. 그러나, tile_inventory()가 특정 프레임에 대해 존재할 수도 있다는 보장은 없다. 또한, G-PCC 인코더 (200) 가 고정된 비트 심도로 frame_idx 를 시그널링할 때, 하나보다 많은 프레임이 동일한 frame_idx 와 연관될 수도 있다. tile_inventory()와 특정 프레임의 연관성은 불명확하다. 또한, 슬라이스가 tile_id를 참조하는 경우, tile_id의 값은 유효 범위에 속해야 한다.
본 개시의 기법들에 따르면, tile_inventory() 신택스가 각각의 프레임과 연관되어야 한다는 것을 특정하는 제약이 추가될 수도 있다. 예를 들어, G-PCC 인코더 (200) 는 tile_inventory() 신택스를 각각의 프레임과 연관시킬 수도 있다. 일 예에서, tile_inventory() 신택스가, 예를 들어, G-PCC 인코더 (200)에 의해, 각각의 포인트 클라우드 프레임으로 시그널링된다는 제약이 추가된다. 다른 예에서, 프레임 인덱스를 갖는 각각의 프레임이 등가 프레임 인덱스 값을 갖는 tile_inventory()와 연관되도록 도출이 추가된다. 예를 들어, G-PCC 디코더 (300) 는 프레임 인덱스를 갖는 각각의 프레임과 동등한 프레임 인덱스 값을 갖는 tile_inventory() 사이의 연관을 도출할 수도 있다.
일부 예들에서, 지오메트리 슬라이스 헤더에서의 tile_id 의 값 범위가 0 내지 N (포함적) 의 범위에 있도록 제약이 추가되고, 여기서 N 의 값은 프레임과 연관된 tile_inventory() 신택스에서 시그널링된 타일들의 수보다 하나 작다.
일부 예들에서, tile_inventory() 신택스가 프레임에 대해 시그널링/연관되지 않을 때, gsh_tile_id 의 값이 프레임의 모든 슬라이스들에 대해 0 과 동일하도록 제약이 추가된다. 예를 들어, G-PCC 디코더 (300) 는 (예를 들어, tile_inventory() 신택스가 프레임에 대해 시그널링/연관되지 않을 때) gsh_tile_id 의 값을 프레임의 모든 슬라이스들에 대해 0 과 동일하게 설정할 수도 있다.
대안적으로, tile_inventory()가 프레임에 대해 시그널링/연관되지 않을 때, gsh_tile_id는 무시되도록 특정될 수도 있거나, 비트스트림들은 디코더들, 예를 들어, G-PCC 디코더 (300)에 의해 비준수/무시되도록 특정될 수도 있다.
일 예에서, tile_id 는 슬라이스 헤더 신택스에 포함되지 않는다.
일 예에서, 프레임과 연관된 tile_inventory()는 각각의 타일과 연관된 하나 이상의 슬라이스 ID들을 포함할 수도 있다. 예를 들어, 타일 인벤토리에서 특정된 각각의 타일에 대해, 타일과 연관된 슬라이스들을 특정하는 슬라이스 ID들의 리스트가 시그널링될 수도 있다.
일 예에서, 타일 인벤토리 시맨틱스에 대해 다음과 같은 변경들이 이루어진다. 일부 예들에서, 제약은 또한 코덱의 다른 부분에서 추가될 수도 있다. G-PCC 표준 초안의 변경 시작 부분은 <CHANGE>로, 변경 종료 부분은 <CHANGE>로 표시된다.
num _tiles_ minus1 plus 1 은 타일 인벤토리에 존재하는 타일 경계 박스들의 수를 특정한다.
tile_bounding_box_offset_x [ i ], tile_bounding_box_offset_y [ i ] 및 tile_bounding_box_offset_z [ i ] 는 데카르트 좌표에서 i 번째 타일의 x, y 및 z 오프셋을 나타낸다.
tile_bounding_box_size_width [ i ], tile_bounding_box_size_height [ i ], 및 tile _bounding_box_size_ depth [ i ] 는 데카르트 좌표에서 i 번째 타일의 폭, 높이 및 깊이를 나타낸다.
<CHANGE> tile_inventory() 신택스가 포인트 클라우드에서의 각각의 프레임에 대해 존재하는 것은 비트스트림 적합성의 요건이다. </CHANGE>
대안적으로, 다음의 제약이 추가될 수도 있다: tile_inventory() 신택스가 포인트 클라우드에서의 각각의 프레임과 연관된다는 것은 비트스트림 적합성의 요건이고; 연관된 프레임은 또한 연관된 프레임 인덱스 frame_idx를 갖는다.
지오메트리 슬라이스 헤더 시맨틱스에 대해 다음과 같은 변경들이 이루어질 수도 있다. G-PCC 표준 초안의 변경 시작 부분은 <CHANGE>로, 변경 종료 부분은 <CHANGE>로 표시된다.
gsh_tile_id 는 GSH에 의해 참조되는 타일 id 의 값을 특정한다. gsh_tile_id 의 값은 포함적 0 내지 <CHANGE> num_tiles_minus1 </CHANGE> 까지의 범위에 있을 것이다.
타일 내의 다수의 지오메트리 슬라이스들이 이제 설명된다. 각각의 타일은 하나 이상의 슬라이스들에서 코딩될 수도 있다. 슬라이스 경계 박스는 슬라이스 원점과 슬라이스 박스 치수를 사용하여 특정된다. 그러나, 슬라이스 원점의, 예를 들어, G-PCC 인코더 (200)에 의한 시그널링은 신택스 엘리먼트 gps_box_present_flag 의 값에 대해 컨디셔닝된다. gps_box_present_flag 가 0 과 동일한 경우, 슬라이스 원점은 G-PCC 디코더 (300)에 의해 (0, 0, 0) 과 동일한 것으로 추론된다. 하나 이상의 지오메트리 슬라이스가 타일에 존재할 때, gps_box_present_flag를 0으로 설정하는 것은 바람직하지 않을 수도 있는 동일한 원점을 갖는 다수의 슬라이스들을 초래할 것이다.
본 개시의 기법들에 따르면, 일부 예들에서, 다수의 슬라이스들이 프레임과 연관된 타일에 존재할 때, G-PCC 인코더 (200) 가 슬라이스 원점과 연관된 하나 이상의 신택스 엘리먼트들을 시그널링할 수도 있고 G-PCC 디코더 (300) 가 하나 이상의 신택스 엘리먼트들을 파싱할 수도 있도록 제약이 추가될 수도 있다. 이 제약은 명시적 시그널링 제약 또는 간접 비트스트림 적합성 제약일 수도 있다.
다른 예에서, G-PCC 인코더(200)는 포인트 클라우드에 대해 특정될 수도 있는 규범적 경계 박스에 대해 슬라이스 원점을 시그널링할 수도 있고, G-PCC 디코더(300)는 슬라이스 원점을 파싱할 수도 있다. 규범적 경계 박스(normative bounding box)는 포인트 클라우드 내의 모든 재구성된 포인트들을 포함하도록 특정된 박스일 수도 있다. 일부 예들에서, 규범적 경계 박스는 포인트 클라우드 프레임의 모든 재구성된 포인트들을 포함하는 그러한 가장 작은 박스이다. 일부 예들에서, 규범적 경계 박스는 비트스트림에서 특정되거나 (예를 들어, 시그널링되거나) 또는 예를 들어 G-PCC 디코더 (300)에 의해 다른 신택스 엘리먼트들로부터 도출된다.
예를 들어, 규범적 경계 박스는 경계 박스 원점 및 경계 박스 치수(폭, 높이, 깊이) 중 하나 이상에 의해 특정될 수도 있다.
일 예에서, 다음의 제약이 시맨틱스에 추가될 수도 있다:
gsh_slice_id 의 상이한 값들을 갖는 임의의 2 개의 지오메트리 슬라이스들이 포인트 클라우드 프레임의 특정 타일에 대해 존재할 때, gps_box_present_flag 의 값이 1 과 동일할 것이라는 것이 비트스트림 적합성의 요건이다.
대안적으로, 다음의 제약이 시맨틱스에 추가될 수도 있다:
타일 ID 및 프레임 인덱스가 2개의 슬라이스들에 대해 동일하도록 gsh_slice_id의 상이한 값들을 갖는 2개의 지오메트리 슬라이스들이 존재하는 경우, gps_box_present_flag의 값이 2개의 슬라이스들에 의해 참조되는 GPS에 대해 1과 동일할 것이 비트스트림 적합성의 요건이다.
대안적으로, gps_box_present_flag는 2개의 상이한 지오메트리 슬라이스들이 프레임에 존재할 때 1로 제약된다.
예를 들어, 다음의 제약이 시맨틱스에 추가될 수도 있다: gsh_slice_id 의 상이한 값들을 갖는 임의의 2 개의 지오메트리 슬라이스들이 포인트 클라우드 프레임에 대해 존재할 때, gps_box_present_flag 의 값이 1 과 동일할 것이라는 것이 비트스트림 적합성의 요건이다.
트리수프 노드 사이즈 범위가 이제 설명된다. 트리수프 코딩이 포인트 클라우드에서의 포지션들을 코딩하기 위해 사용될 때, G-PCC 인코더 (200) 는 신택스 엘리먼트 log2_trisoup_node_size 를 사용하여 G-PCC 디코더 (300)에 트리수프 코딩 모드로 코딩되는 노드들의 사이즈를 특정한다. G-PCC 인코더 (200) 는 GPS에서 이 신택스 엘리먼트를 시그널링할 수도 있고 G-PCC 디코더 (300) 는 이 신택스 엘리먼트를 파싱할 수도 있다. 시맨틱스는 다음과 같다:
log2 _ trisoup _node_size 는 삼각형 노드들의 사이즈로서 변수 TrisoupNodeSize 를 다음과 같이 특정한다.
TrisoupNodeSize = 1 << log2_trisoup_node_size
log2_trisoup_node_size 가 0 과 동일할 때, 지오메트리 비트스트림은 옥트리 코딩 신택스만을 포함한다. log2_trisoup_node_size 가 0 보다 클 때, 비트스트림 적합성의 요건은 다음과 같다:
- inferred_direct_coding_mode_enabled_flag 가 0 과 동일해야 하고,
- unique_geometry_points_flag는 1과 동일해야 한다.
트리수프 코딩이 사용될 때, 슬라이스가 특정 노드 사이즈까지 QTBT 또는 옥트리를 사용하여 디코딩되고 후속적으로 트리수프 코딩을 사용하기 때문에, 이 신택스 엘리먼트는 또한 최대 옥트리 코딩 깊이를 결정하는데 사용될 수도 있다. 이는 다음과 같이 시맨틱스에서 기술된다:
gsh _ log2 _max_ nodesize _x 는 x 차원에서의 경계 박스 사이즈, 즉 다음과 같이 디코딩 프로세스에서 사용되는 MaxNodesizeXLog2 를 특정한다.
MaxNodeSizeXLog2 = gsh_log2_max_nodesize_x
MaxNodeSizeX = 1 << MaxNodeSizeXLog2
gsh _ log2 _max_ nodesize _y_minus_x 는 y 차원에서의 경계 박스 사이즈, 즉 다음과 같이 디코딩 프로세스에서 사용되는 MaxNodesizeYLog2 를 특정한다:
MaxNodeSizeYLog2 = gsh_log2_max_nodesize_y_minus_x + MaxNodeSizeXLog2.
MaxNodeSizeY = 1 << MaxNodeSizeYLog2.
gsh _ log2 _max_ nodesize _z_minus_y 는 z 차원에서의 경계 박스 사이즈, 즉 다음과 같이 디코딩 프로세스에서 사용되는 MaxNodesizeZLog2 를 특정한다.
MaxNodeSizeZLog2 = gsh_log2_max_nodesize_z_minus_y + MaxNodeSizeYLog2
MaxNodeSizeZ = 1 << MaxNodeSizeZLog2
gps_implicit_geom_partition_flag가 1과 동일한 경우, gsh_log2_max_nodesize는 다음과 같이 도출된다.
gsh_log2_max_nodesize = max{ MaxNodeSizeXLog2, MaxNodeSizeYLog2, MaxNodeSizeZLog2}
gsh _ log2 _max_ nodesize는 gps_implicit_geom_partition_flag가 0과 같을 때 루트 지오메트리 노드의 사이즈를 특정한다. 변수 MaxNodeSize 및 MaxGeometryOctreeDepth는 다음과 같이 도출된다.
MaxNodeSize = 1 << gsh_log2_max_nodesize
MaxGeometryOctreeDepth = gsh_log2_max_nodesize - log2_trisoup_node_size
변수 K와 M은 그러면 다음과 같이 업데이트된다.
gsh_log2_min_nodesize = min{ MaxNodeSizeXLog2, MaxNodeSizeYLog2, MaxNodeSizeZLog2}
if (K > (gsh_log2_max_nodesize - gsh_log2_min_nodesize))
K = gsh_log2_max_nodesize - gsh_log2_min_nodesize;
if (M > gsh_log2_min_nodesize)
M = gsh_log2_min_nodesize;
if (gsh_log2_max_nodesize == gsh_log2_min_nodesize)
M = 0;
if (log2_trisoup_node_size != 0) {
K = gsh_log2_max_nodesize - gsh_log2_min_nodesize;
M = 0;
}
G-PCC 표준 초안에서는 log2_trisoup_node_size의 범위에 제한이 없다. log2_trisoup_node_size 의 값이 슬라이스 치수들을 초과할 때, G-PCC 디코더 (300) 는 바람직하지 않을 수도 있는 MaxGeometryOctreeDepth 의 음의 값들을 도출할 수도 있다. 슬라이스 치수보다 큰 log2_trisoup_node_size 의 값을 시그널링하는 것 또한 비효율적이다.
본 개시의 기법들에 따르면, 일부 예들에서, log2_trisoup_node_size 의 값이 슬라이스 치수들을 초과하지 않도록 제한되도록 제약이 추가될 수도 있다. 일 예에서, 다음의 제약이 지오메트리 슬라이스 헤더 시맨틱스들에 추가된다: gsh_log2_max_nodesize 의 값이 log2_trisoup_node_size 의 값보다 크거나 같을 것이라는 것이 비트스트림 적합성의 요건이다. 대안적으로, 다음의 제약이 지오메트리 슬라이스 헤더 시맨틱스들에서 부가될 수도 있다: gps_implicit_geom_partition_flag 가 1 과 동일할 때 log2_trisoup_node_size 의 값이 min (gsh_log2_max_nodesize_x, gsh_log2_max_nodesize_y, gsh_log2_max_nodesize_z) 보다 작거나 같아야 하고, 그렇지 않으면 gsh_log2_max_nodesize 보다 크거나 같아야 하는 것은 비트스트림 적합성의 요건이다.
이제 지오메트리 슬라이스 ID의 고유성에 대해 설명한다. 포인트 클라우드 프레임은 하나 초과의 슬라이스와 연관될 수도 있고, 각각의 슬라이스는 (지오메트리 슬라이스 헤더를 포함하는) 지오메트리 슬라이스와 연관될 수도 있다. 지오메트리 슬라이스는 식별자 gsh_slice_id를 갖는다. G-PCC 인코더 (200) 가 속성 슬라이스들을 시그널링할 때, 슬라이스들은 속성 슬라이스와 연관된 지오메트리 슬라이스의 ID 를 포함한다. 이 신택스 엘리먼트 ash_attr_geom_slice_id 는 속성 슬라이스 헤더에서 시그널링된다.
현재, 지오메트리 슬라이스에 할당될 수도 있는 슬라이스 ID에는 제한이 없다. 하나보다 많은 지오메트리 슬라이스가 gsh_slice_id 의 동일한 값을 가지면, 속성 슬라이스가 슬라이스 ID 의 그 특정 값을 갖는 지오메트리 슬라이스를 참조할 때 모호성이 있을 수도 있다. 이러한 거동은 바람직하지 않을 수도 있고, G-PCC 디코더(300)가 포인트 클라우드 데이터를 디코딩하려고 시도할 때 문제들(예를 들어, 디코딩 에러들)을 야기할 수도 있다.
본 개시의 기법들에 따르면, 일부 예들에서, 프레임과 연관된 2 개의 지오메트리 슬라이스들이 동일한 슬라이스 ID 를 가질 때, 지오메트리 슬라이스들의 콘텐츠가 동일하도록 제약이 추가될 수도 있다. 이 제약조건은 프레임 내에서 슬라이스의 반복을 허용한다. 대안적으로, 프레임과 연관된 어떠한 2개의 지오메트리 슬라이스들도 슬라이스 ID의 동일한 값을 갖지 않도록 제약이 추가될 수도 있다. 일 예에서, 다음의 제약이 지오메트리 슬라이스 헤더 시맨틱스들에서 부가될 수도 있다: 프레임과 연관되고 gsh_slice_id 의 동일한 값을 갖는 임의의 2 개의 지오메트리 슬라이스들에 대해, 2 개의 지오메트리 슬라이스들의 콘텐츠가 동일할 것이라는 것이 비트스트림 적합성의 요건이다. 프레임의 임의의 지오메트리 슬라이스들이 gsh_slice_id 의 동일한 값을 가질 때, 2개의 지오메트리 슬라이스들의 콘텐츠는 동일할 것이다.
예를 들어, G-PCC 디코더(300)는 포인트 클라우드 데이터의 프레임과 연관된 제 1 지오메트리 슬라이스의 제 1 슬라이스 식별자(ID)를 결정할 수도 있다. G-PCC 디코더(300)는 포인트 클라우드 데이터의 프레임과 연관된 제 2 지오메트리 슬라이스의 제 2 슬라이스 ID를 결정할 수도 있다. 제 2 슬라이스 ID 가 제 1 슬라이스 ID 와 동일한 것에 기초하여, G-PCC 디코더 (300) 는 제 1 슬라이스와 동일한 콘텐츠를 포함하도록 제 2 슬라이스를 결정할 수도 있다. G-PCC 디코더(300)는 제 1 슬라이스 ID에 기초하여 포인트 클라우드 데이터를 디코딩할 수도 있다.
다른 예에서, 다음의 제약이 추가될 수도 있다: 프레임과 연관되는 2 개의 지오메트리 슬라이스들이 gsh_slice_id 의 동일한 값을 갖지 않는다는 것이 비트스트림 적합성의 요건이다. 일부 예들에서, 슬라이스 ID 는 gsh_slice_id 및 tile_id 양자의 조합 또는 함수로서 정의될 수도 있다. 예를 들어, 상기 제약들 중 하나는 다음과 같이 수정될 수도 있다: 임의의 2개의 지오메트리 슬라이스들이 프레임과 연관되고, gsh_slice_id의 동일한 값을 갖고, gsh_tile_id의 동일한 값을 가질 때, 2개의 지오메트리 슬라이스들의 콘텐츠가 동일할 것이라는 것이 비트스트림 적합성의 요건이다.
포인트들에 대한 고유 포지션들이 이제 설명된다. G-PCC에서, 포인트 클라우드 내의 복셀(고유 포지션과 연관됨)은 하나 이상의 포인트들과 연관될 수도 있다. 일부 애플리케이션들에서, 복셀들이 오직 하나의 포인트만을 포함하도록 제한하거나 복셀들이 오직 하나의 포인트만을 포함하는지 여부를 표시하는 것이 바람직할 수도 있다. 소스 포인트 클라우드가 복셀(또는 포지션)과 연관된 하나 초과의 포인트를 가질 수도 있을 때, 복셀들 내의 포인트들은 (평균화 또는 다른 수단들, 및 단일 포인트에 대해 재컬러링되거나 재계산된 속성들에 의해) 결합되어 복셀에 대한 하나의 포인트를 생성할 수도 있다. 그 다음, G-PCC 비트스트림은 복셀이 단지 하나의 포인트만을 갖는다는 것을 표시할 수도 있다. 이 표시와 연관되는 G-PCC에서의 2 개의 신택스 엘리먼트들이 있다.
1) SPS에서의 신택스 엘리먼트 unique_point_positions_constraint_flag는 포인트 클라우드에서의 각각의 포지션이 비-고유 포인트(즉, 2개 이상의 포인트들)를 갖는지 여부를 특정한다. 이 신택스 엘리먼트의 시맨틱스는 다음과 같다:
1 과 동일한 unique_point_positions_constraint_flag 는 현재 SPS를 참조하는 각각의 포인트 클라우드 프레임에서, 모든 출력 포인트들이 고유한 포지션들을 가짐을 표시하고, 0과 동일한 unique_point_positions_constraint_flag는 현재 SPS를 참조하는 임의의 포인트 클라우드 프레임에서, 2개 이상의 출력 포인트들이 동일한 포지션을 가질 수도 있음을 표시한다.
2) GPS에서의 신택스 엘리먼트 unique_geometry_points_flag는 슬라이스 내의 임의의 복셀이 비-고유 포인트를 갖는지 여부를 특정한다. 이 신택스 엘리먼트의 시맨틱스는 다음과 같다:
1 과 동일한 unique_geometry_points_flag 는 현재 GPS를 참조하는 모든 슬라이스들에서 모든 출력 포인트들이 슬라이스 내에서 고유한 포지션들을 가짐을 나타내고, 0과 동일한 unique_geometry_points_flag는 현재 GPS를 참조하는 모든 슬라이스들에서 출력 포인트들 중 2개 이상이 슬라이스 내에서 동일한 포지션들을 가질 수도 있음을 나타낸다
unique_point_positions_constraint_flag가 1과 동일할 때, 포인트 클라우드의 모든 포인트들은 고유 포인트와 연관된다. 그러나, G-PCC 인코더 (200) 는 - unique_point_positions_constraint_flag 의 시그널링과 모순되는 - 심지어 이러한 경우들에서도 0 과 동일한 비트스트림 unique_geometry_points_flag에서 시그널링하도록 허용된다 (이는 2 개 이상의 출력 포인트들이 동일한 포지션과 연관될 수도 있음을 나타낸다). 이것은 디코더, 예를 들어, G-PCC 디코더 (300)에 의한 비트스트림 비적합성 또는 비적합한 거동을 초래할 수도 있다.
본 개시의 기법들에 따르면, 일부 예들에서, 포인트 클라우드에서의 모든 포인트들이 고유한 포인트와 연관되는 것으로 표시될 때, 예를 들어, 슬라이스들이 동일한 포지션과 연관된 2개의 포인트들을 포함하지 않도록 제약이 추가될 수도 있다. 그러한 경우들에서, 슬라이스들이 동일한 포지션과 연관된 2개의 포인트들을 포함할 수도 있다는 것을 특정하는 표시를 시그널링하거나 그 외에 제공하는 것이 또한 금지될 수도 있다. 일부 예들에서, 포인트 클라우드에서의 포인트들의 포지션이 고유하다고 특정될 때, 하나 이상의 양자화/스케일링 방법들은 디스에이블될 수도 있고, G-PCC 인코더 (200) 는 연관된 신택스 엘리먼트들을 시그널링하지 않을 수도 있다.
일 예에서, 다음의 제약이 GPS 의 시맨틱스에 추가될 수도 있다: unique_points_positions_constraint_flag 가 1 과 동일할 때, unique_geometry_points_flag 의 값이 0 과 동일하지 않을 것이라는 것이 비트스트림 적합성의 요건이다. 일 예에서, 제약은 다음과 같이 표현될 수도 있다: (연관된 GPS에서의) unique_geometry_points_flag가 임의의 슬라이스에 대해 0과 동일할 때, (연관된 SPS에서의) unique_points_positions_constraint_flag의 값은 1과 동일하지 않을 것이라는 비트스트림 적합성의 요건이다.
SPS에서의 속성 특정 파라미터 시그널링에 대한 조건들이 이제 설명된다.
첫째로, G-PCC 인코더 (200) 는 각각의 속성에 대해 4 개의 상이한 신택스 파라미터들: attribute_cicp_color_primaries[ i ], attribute_cicp_transfer_characteristics[ i ], attribute_cicp_matrix_coeffs[ i ], 및 attribute_cicp_video_full_range[ i ] 를 시그널링할 수도 있지만, 그것들은 컬러 속성에만 적용가능하다.
둘째, known_attribute_label_flag, known_attribute_label 및 attribute_label_four_byte의 시맨틱스에 따라, G-PCC 인코더(200)는 다수의 방식들로 일부 속성들을 시그널링할 수도 있다. 예를 들어, 다음 중 어느 하나를 사용함으로써 컬러 속성이 표시될 수 있다:
a. Known_attribute_label_flag[i]= 1, known_attribute_label[i] = 0 (ue(v)), 또는
b. Known_attribute_label_flag[i]= 0, attribute_label_four_bytes[i] = 0 (u(32))
유사하게, 시그널링의 다수의 방식들은 반사율 및 프레임인덱스 속성들에도 적용된다. 시그널링의 이러한 다수의 방식들은 중복성 시그널링을 초래할 수도 있으며, 이는 비효율적이다.
본 개시의 기법들에 따르면, 일부 예들에서, G-PCC 인코더 (200) 는 컬러 속성들에 대해서만 4 개의 상이한 컬러 관련 신택스 엘리먼트들 (클러스터 반복 최근접 포인트 (Cluster Iterative Closest Point; CICP) 파라미터들) 을 시그널링한다. G-PCC 디코더 (300) 는 이들 신택스 엘리먼트들을 파싱할 수도 있다. 컬러 속성들은 RGB, YCbCr, YCoCg, ICtCp, 또는 임의의 다른 컬러 공간 표현 중 하나 이상을 포함할 수도 있다. 이들 신택스 엘리먼트들의 시그널링은 속성 라벨/타입(예를 들어, RGB, YCbCr 등)의 하나 이상의 값들에 대해 컨디셔닝될 수도 있다.
다른 예에서, G-PCC 인코더 (200) 는 CICP 파라미터들 중 하나 이상이 속성에 대해 시그널링되는지 여부를 특정하기 위해 신택스 엘리먼트를 시그널링한다. G-PCC 디코더 (300) 는 이 신택스 엘리먼트를 파싱할 수도 있다. CICP 파라미터들이 시그널링되지 않을 때, 이들은 미리 결정된 디폴트 값인 것으로 추론될 수도 있다. 예를 들어, CICP 파라미터들이 시그널링되지 않을 때, G-PCC 디코더 (300) 는 CICP 파라미터들을 디폴트 값인 것으로 추론할 수도 있다.
중복성을 제거하기 위해, 2개의 대안적인 접근법들 중 하나가 사용될 수도 있다:
1. known_attribute_label_flag가 0 일 때, attribute_label_four_bytes는 컬러, 반사율 및 프레임 인덱스와 같은 알려진 속성들을 포함하지 않아야 한다.
2. known_attribute_label_flag 및 known_attribute_label 신택스 엘리먼트들을 제거하여 각 속성이 attribute_label_four_bytes 를 사용하여서만 표현되도록 한다.
G-PCC 표준 초안의 변경 시작 부분은 <CHANGE>로, 변경 종료 부분은 <CHANGE>로 표시된다.
Figure pct00021
일 예(실시예 1)에서, G-PCC 초안 표준에 대한 다음과 같은 변경들이 이루어질 수도 있다. G-PCC 표준 초안의 변경 시작 부분은 <CHANGE>로, 변경 종료 부분은 <CHANGE>로 표시된다.
1 과 동일한 known_attribute_label_flag [ i ] 은 i 번째 속성에 대해 시그널링된 known_attribute_label 을 특정하며, 0 과 동일한 known_attribute_label_flag [ i ] 은 i 번째 속성에 대해 시그널링된 attribute_label_four_bytes 를 특정한다.
0 과 동일한 known_attribute_label [ i ] 은 속성이 컬러임을 나타낸다. 1 과 동일한 known_attribute_label[ i ] 은 속성이 반사율임을 나타낸다. 2 와 동일한 known_attribute_label[ i ] 은 속성이 프레임 인덱스임을 나타낸다.
attribute_label_four_bytes [ i ] 는 <CHANGE> 4바이트 코드를 가진 나머지 미지의 속성 타입을 나타낸다.</CHANGE> 테이블 7.1은 지원되는 속성들의 리스트와 attribute_label_four_bytes[ i ]와의 그것들의 관계를 기술한다.
테이블 7.1 ― attribute_label_four_bytes
attribute_label_four_bytes[ i ] 속성 타입
<CHANGE>0 투명도
1 정상
2…255 예비
256...0xffffffff 지정되지 않음 </CHANGE>
Figure pct00022
다른 예에서, G-PCC 초안 표준에 대한 다음의 변경들이 이루어질 수도 있다. G-PCC 표준 초안의 변경 시작 부분은 <CHANGE>로, 변경 종료 부분은 <CHANGE>로 표시된다.
Figure pct00023
다른 예에서, attribute_label_four_bytes의 시맨틱스는 다음과 같이 특정될 수도 있고, 삭제들의 시작은 <DELETE>에 의해 마킹되고 삭제들의 종료는 </DELETE>에 의해 마킹되며 다른 변경들의 시작은 <CHANGE>에 의해 마킹되고 추가들의 종료는 </CHANGE>에 의해 마킹된다:
attribute_label_four_bytes [ i ] 는 <CHANGE> known_attribute_label_flag가 0 과 동일할 때 </CHANGE> 4바이트 코드를 갖는 <DELETE> 알려진 </DELETE> 속성 타입을 나타낸다. 아래 테이블은 지원되는 속성들의 리스트와 attribute_label_four_bytes[ i ]와의 관계를 기술한다.
attribute_label_four_bytes[ i ] 속성 타입
<DELETE>0 <DELETE>컬러
1 반사율
2 프레임 인덱스</DELETE>
3</DELETE><CHANGE>0 재료 ID
1 투명도
2 정상
3</CHANGE>...255 예비
256...0xffffffff 특정되지 않음
고유 속성 라벨은 다음과 같이 특정될 수도 있다:
AttributeLabel = attribute_label_four_bytes + N
여기서 N은 특정된 알려진 속성 라벨들의 수이다(위의 예에서는 3).
다른 예 (실시예 2)에서, CICP 파라미터들의 시그널링은 플래그 attribute_cicp_params_present_flag[]에 의해 제어될 수도 있다. flag 의 값이 0 과 동일할 때, G-PCC 인코더 (200) 는 CICP 를 시그널링하지 않을 수도 있다.
Figure pct00024
Figure pct00025
<CHANGE > 1 과 동일한 attribute_ cicp _ params _present_flag [ i ] 은 신택스 엘리먼트들 attribute_cicp_color_primaries[ i ], attribute_cicp_transfer_characteristics[ i ], attribute_cicp_matrix_coeffs[ i ] 및 attribute_cicp_video_full_range_flag[ i ] 가 i 번째 속성 세트에 대해 시그널링됨을 특정한다. 0 과 동일한 attribute_cicp_params_present_flag[ i ] 은 신택스 엘리먼트들 attribute_cicp_color_primaries[ i ], attribute_cicp_transfer_characteristics[ i ], attribute_cicp_matrix_coeffs[ i ] 및 attribute_cicp_video_full_range_flag[ i ] 가 i 번째 속성 세트에 대해 시그널링되지 않음을 특정한다. </CHANGE>
CICP 파라미터들이 컬러 속성들에 대해서만 필요하다고 결정되면, 플래그는 시그널링될 필요가 없고 오히려 known_attribute_label[] 또는 attribute_label_four_bytes[] 가 CICP 파라미터들의 존재를 컨디셔닝하기 위해 사용될 수도 있다. 이러한 방법에 대해, 속성 라벨들의 시그널링은 CICP 파라미터들 전에 이루어질 수도 있다.
이제 속성 파라미터 세트(APS) 및 속성 슬라이스 헤더(ASH)에서의 속성-관련 파라미터들의 일반적인 표현이 설명된다. APS와 ASH는 모두 모든 속성들에 대해 적용가능하다. 실제로, 각각의 속성은, 앞서 설명된 바와 같이, 그들 자신의 APS 및 ASH를 가질 수도 있다. 그러나, APS 및 ASH 양자는 주로 양자화/스케일링 파라미터들을 위한 _*_luma*, 및 *_chroma_* 로 명명된 신택스 엘리먼트들을 포함하며, 이는, 이하에 나타낸 바와 같이, 의미적으로 일치하지 않는다.
추가적으로, APS에서, 일부 파라미터들은 (반사율과 같은) 1차원 속성에 적용가능하지 않다. 이들 파라미터들은 여전히 존재할 수도 있고 (예를 들어, G-PCC 인코더 (200)에 의해) 여전히 시그널링될 필요가 있을 수도 있다. 이러한 파라미터들을 효과적으로 디스에이블하는 시그널링 값들은 하나의 솔루션이다. 그러나, (G-PCC 디코더 (300) 와 같은) 디코더들이 강건한 디코딩을 보장하기 위해 모든 가능한 값들을 핸들링해야 할 수도 있기 때문에 이것은 비트스트림 적합성 체크에 부담을 줄 수도 있다.
APS 및 ASH 신택스 엘리먼트들은 다음과 같다:
Figure pct00026
Figure pct00027
Figure pct00028
Figure pct00029
본 개시의 기법들에 따르면, 일부 예들에서, 시맨틱 일관성을 위해, *_luma_* 및 *_chroma_* 는 각각 *_* (NULL) 및 *_secondary_* 로 대체될 수도 있다. 이 경우 신택스 엘리먼트의 이름만 변경되고 기능적 의미는 변경되지 않는다. 추가적으로, G-PCC 인코더 (200) 는 속성 차원이 1 보다 큰지 여부를 APS에서 시그널링할 수도 있으며, 이는 불필요한 신택스 엘리먼트들의 존재를 제거할 수도 있다. (주 - ASH에서는 SPS로부터 속성 차원이 읽혀질 수 있으므로 이러한 메커니즘이 이미 적용되었다. 그러나, APS에 대해, 파라미터 세트들 사이의 종속성을 초래할 것이므로, SPS로부터 동일한 정보가 판독될 수 없고, 이는 바람직하지 않을 수도 있다. G-PCC 인코더 (200) 는 APS 속성 차원이 1 보다 큰지 여부를 플래그로서 시그널링할 수도 있다.
일부 예들에서, 플래그의 값이 속성에 대해 시그널링된 속성 차원들의 수의 값과 모순되지 않을 것이라는 조건이 추가될 수도 있다 (예를 들어, 플래그가 1과 동일한 경우, 플래그는 속성에 대한 하나 초과의 차원이 존재함을 표시하고; 그러면 플래그는 속성들의 수가 1보다 작거나 같을 때 1과 동일하지 않을 것이다).
일 예에서, 플래그 aps_attr_dimension_gt1은 속성 차원이 1보다 클 때 1과 같아야 한다.) 일 예에서, 2차 델타 QP (예를 들어, ash_attr_qp_delta_secondary) 를 나타내는 신택스 엘리먼트의 시그널링은 1 보다 큰 속성 차원들의 수에 대해 컨디셔닝될 수도 있다. 예를 들어, G-PCC 디코더 (300) 는 속성의 속성 차원이 1 보다 큰지 여부를 결정할 수도 있다. 속성 차원이 1 보다 큰 것에 기초하여, G-PCC 디코더 (300) 는 델타 양자화 파라미터를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱할 수도 있다. G-PCC 디코더(300)는 델타 양자화 파라미터에 기초하여 포인트 클라우드 데이터를 디코딩할 수도 있다.
G-PCC 초안 표준에 대하여 다음과 같은 변경이 이루어질 수도 있다. G-PCC 표준 초안의 변경 시작 부분은 <CHANGE>로, 변경 종료 부분은 <CHANGE>로 표시된다.
Figure pct00030
Figure pct00031
Figure pct00032
Figure pct00033
region_qp_delta_signaling이 이제 설명된다. ASH에서, region_qp_delta 가 존재하는지 여부를 나타내는 플래그, 및 region_qp_delta 값을 나타내는 다른 신택스 엘리먼트가 존재한다. 그러나, region_qp_delta_present_flag가 참이면, region_qp_delta의 값은 0이 아니어야 한다.
부가적으로, 초안 G-PCC 표준에 따르면, 각각의 슬라이스는 델타 QP가 사용될 수 있는 하나의 영역만을 특정할 수 있다. 그러나, 아마도 그러한 영역을 하나만 갖는 것 대신에 여러 개를 가질 가능성을 허용하는 것이 더 유연할 것이다. 그러한 영역들의 경계 박스들은 중첩될 수도 있거나 중첩되지 않을 수도 있다. 이 경우, 포인트는 (중첩하는 경우에) 다수의 경계 박스들에 속할 수도 있고, 최저 영역 인덱스의 델타 qp 가 사용될 수도 있거나, 대안적으로 가장 가까운 이웃 포인트의 델타 qp 가 사용될 수도 있다.
본 개시의 기법들에 따르면, 일 예에서, G-PCC 인코더 (200) 가 region_qp_delta 를 시그널링하는 대신에, G-PCC 인코더 (200) 는 region_qp_delta_abs_minus1 (크기) 및 region_qp_delta_sign 을 시그널링할 수도 있다. G-PCC 초안 표준에 대하여 다음과 같은 변경이 이루어질 수도 있다. G-PCC 표준 초안의 변경 시작 부분은 <CHANGE>로, 변경 종료 부분은 <CHANGE>로 표시된다.
Figure pct00034
Figure pct00035
다른 예에서, ash_attr_num_regions_qp_delta는 deltaQP가 적용될 영역들의 수를 특정한다. ash_attr_num_regions_qp_delta 의 값은 0 내지 N (포함적) 의 범위에 있을 수도 있고, 여기서 N 은 미리 결정된 값 (예를 들어, 4 또는 8) 일 수도 있다. G-PCC 초안 표준에 대하여 다음과 같은 변경이 이루어질 수도 있다. G-PCC 표준 초안의 변경 시작 부분은 <CHANGE>로, 변경 종료 부분은 <CHANGE>로 표시된다.
Figure pct00036
다수의 속성들을 갖는 포인트 클라우드를 코딩할 때의 LoD 파라미터들이 이제 설명된다. 공간 확장성이 필요한 경우 lifting_scalibility_enabled_flag는 모든 속성에 대해 참이어야 한다. G-PCC 표준 초안에서, 이 플래그는 각각의 속성에 대해 독립적으로 코딩되며, 이는 매번 이 요건을 반드시 따를 필요는 없다. 또한, 결론으로서, 양 속성들은 동일한 변환, 예를 들어 리프팅 변환, 예를 들어 attr_coding_type==2를 사용해야 한다. 이러한 제한은 G-PCC 표준 초안에도 존재하지 않는다.
또한, 통상적인 사용 경우들에서, LoD 생성 파라미터들은 (G-PCC 공통 테스트 조건들에서와 같이) 모든 속성들에 걸쳐 공유되지만, G-PCC 인코더(200)는 각각의 속성에 대해 개별적으로 LoD 생성 파라미터들을 시그널링할 수도 있다. 이러한 파라미터들을 다수 회 시그널링하는 것은, 이것이 통상적인 사용 사례들에 대한 비트 버짓을 증가시키기 때문에 비효율적이다.
본 개시의 기법들에 따르면, 일 예에서, 적용가능하다면 LoD 파라미터들을 공유하는 수단을 제공하기 위해, G-PCC 인코더 (200) 가 공통 LoD 파라미터들을 정의할 수도 있는 공통 LoD 파라미터 세트 (CPS) 가 정의될 수도 있다. APS 레벨에서, 속성들이 상이한 LoD 파라미터들을 사용할 필요가 있다면, G-PCC 인코더 (200) 는 공통 LoD 파라미터들을 오버라이드할 수도 있다. G-PCC 초안 표준에 대하여 다음과 같은 변경이 이루어질 수도 있다. G-PCC 표준 초안의 변경 시작 부분은 <CHANGE>로, 변경 종료 부분은 <CHANGE>로 표시된다.
Figure pct00037
Figure pct00038
Figure pct00039
Figure pct00040
오버라이드 플래그가 APS에 존재하지 않을 때, G-PCC 디코더 (300) 는 대응하는 파라미터들이 대응하는 CPS 파라미터와 동일하다고 결정할 수도 있다. 또한, 속성 코딩 타입 및 리프팅 스케일러빌리티 인에이블 플래그는 상이한 속성들의 APS 및 CPS에 대해 동일해야 한다.
상기 나열된 CPS의 신택스 엘리먼트의 시맨틱스는 현재 APS에 정의된 것과 유사하며 CPS를 참조하는 모든 속성에 적용된다.
일 예에서, G-PCC 인코더 (200) 는 특정 속성에 대응하는 CPS 를 특정하기 위해 APS 또는 ASH에서 CPS ID 를 시그널링할 수도 있다. G-PCC 디코더(300)는 CPS ID를 파싱할 수도 있다. 다른 예에서, G-PCC 인코더 (200) 는 aps_lod_parameters_override_flag 가 0 과 동일할 때에만 APS에서 CPS ID 를 시그널링할 수도 있다.
일부 예들에서, aps_lod_parameters_override_flag 의 시그널링은 G-PCC 인코더 (200) 가 SPS에서 시그널링할 수도 있는 상위 레벨 표시 (예를 들어, aps_lod_parameters_override_present_flag)에 의해 제어될 수도 있다. aps_lod_parameters_override_fla g 가 시그널링되지 않는다는 것을 상위 레벨 표시가 특정할 때, G-PCC 인코더 (200) 는 APS에서 APS LoD 파라미터들을 명시적으로 시그널링하지 않을 수도 있다. G-PCC 디코더(300)는 속성에 사용될 CPS로부터 APS LoD 파라미터들을 도출할 수도 있다.
다른 예에서, G-PCC 인코더(200)는 포인트 클라우드의 속성들에 대한 LoD 정보를 포함할 것으로 예상되는 LoD 속성 파라미터 세트를 시그널링할 수도 있다. G-PCC 디코더(300)는 LoD 정보를 파싱할 수도 있다. attr_coding_type = 2 (예측 리프팅)로 코딩되는 임의의 속성에 대해 리프팅 스케일러빌리티가 사용되는 경우, attr_coding_type = 2 (예측 리프팅)로 코딩되는 모든 속성은 리프팅 스케일러빌리티로 코딩될 수도 있다. 파라미터 세트는 속성 슬라이스 헤더에 의해 참조될 수도 있다. APS에 대한 변경 및 초안 G-PCC 표준에 설정된 새로운 LoD 파라미터는 아래에 명시되어 있으며, 변경들은 <CHANGE>와 </CHANGE> 사이에 나타내어지고 삭제들은 <DELETE>와 </DELETE> 사이에 나타내어진다.
Figure pct00041
Figure pct00042
Figure pct00043
<CHANGE> aps _ lod _parameter_set_id 는 활성 LoD 파라미터 세트에 대한 aps_lod_parameter_set_id 의 값을 특정한다. aps_lod_parameter_set_id 의 값은 포함적 0 내지 15 까지의 범위에 있을 것이다.
attr_coding_type이 1과 동일할 때, aps_common_lod_parameter_set_id에 의해 참조되는 LoD 파라미터 세트에서의 lifting_scalability_enabled_flag의 값은 0과 동일할 것이다.
2개 이상의 속성들이 2와 동일한 attr_coding_type을 갖는 각각의 APS를 참조하는 경우, lifting_scalability_enabled_flag의 값은 각각의 APS의 aps_lod_parameter_set_id에 의해 참조되는 LoD 파라미터 세트들에 대해 동일할 것이다. </CHANGE>
대안적으로, 다음의 제약이 초안 G-PCC 표준에 추가될 수도 있다: lifting_scalability_enabled_flag의 값은 포인트 클라우드의 모든 속성들에 대해 동일할 것이다.
Figure pct00044
Figure pct00045
LoD 파라미터 세트에서의 모든 신택스 엘리먼트들의 시맨틱스는, 그것들이 LoD 파라미터 세트를 참조하는 속성들에 적용되는 것을 제외하고는, APS 의 것과 동일할 수도 있다. 기타 변경 사항은 다음과 같다.
<CHANGE> lod_parameter_set_id는 다른 신택스 엘리먼트들에 의한 참조를 위해 LPS에 대한 식별자를 제공한다. lod_parameter_set_id 의 값은 포함적 0 내지 15 까지의 범위에 있을 것이다.
0과 동일한 lps_extension_flag는 lps_extension_data_flag 신택스 엘리먼트들이 LPS 신택스 구조에 존재하지 않음을 특정한다. lps_extension_flag 는 이 사양의 이 버전에 따르는 비트스트림들에서 0 과 동일할 것이다. lps_extension_flag에 대한 1 의 값은 ISO/IEC에 의한 장래의 사용을 위해 예비된다. 디코더들은 LPS 신택스 구조에서 lps_extension_flag에 대해 값 1을 뒤따르는 모든 lps_extension_data_flag 신택스 엘리먼트들을 무시할 것이다.
lps_extension_data_flag는 임의의 값을 가질 수도 있다. 그것의 존재 및 값은 이 사양의 이 버전에서 특정된 프로파일들에 대한 디코더 적합성에 영향을 미치지 않는다. 이 사양의 이 버전을 따르는 디코더들은 모든 lps_extension_data_flag 신택스 엘리먼트들을 무시할 것이다. </CHANGE>
이제 파라미터 세트를 참조하는 지오메트리 슬라이스들에 대해 설명한다. 초안 G-PCC 표준에서, 지오메트리 슬라이스는 슬라이스가 참조하는 GPS의 ID인 gsh_geometry_parameter_set_id를 포함한다. gsh_geometry_parameter_set_ID의 값 범위에는 제한이 없다. gps_geom_parameter_set_id (GSH 보다는 GPS에서의 별개의 신택스 엘리먼트) 의 값은 포함적 0 내지 15 까지의 범위에 있다.
또한, 포인트 클라우드 프레임/타일에서의 각각의 지오메트리 슬라이스는 임의의 GPS 를 참조하는 것이 허용된다 (프레임/타일에서의 각각의 지오메트리 슬라이스는 gsh_geometry_parameter_set_id 의 임의의 유효한 값을 시그널링할 수도 있기 때문이다) 그러한 유연성이 필요할 수도 있는 일부 특수한 사용 사례가 있을 수도 있지만, 대부분의 통상적인 경우에 그러한 유연성을 갖는 것은 타당하지 않다. 이러한 유연성은 또한 디코더들 (예를 들어, G-PCC 디코더 (300)) 로 하여금 모든 가능한 조합들 (동일한 프레임에 의해 참조될 수도 있는 상이한 GPS들에서의 GPS 신택스 엘리먼트들에 대한 상이한 값들) 을 테스트하기 위해 적합성 체크들을 수행하게 한다. 이는 디코더 제조자들의 비용을 증가시킨다.
본 개시의 기법들에 따르면, 일 예에서, gsh_geometry_parameter_set_id 의 값이 포함적 0 내지 15 까지의 범위에 있을 것이라는 제한이 추가될 수도 있다. 예를 들어, G-PCC 인코더 (200) 는 포함적 0 내지 15 까지의 범위 내의 gsh_geometry_parameter_set_id 의 값을 인코딩할 수도 있다.
일부 예들에서, 하나보다 많은 지오메트리 슬라이스가 타일에 존재할 때, 각각의 이러한 슬라이스가 동일한 GPS 를 참조할 것이라는 제한이 추가될 수도 있다. 일 예에서, 하나보다 많은 지오메트리 슬라이스가 프레임에 존재할 때, 각각의 이러한 슬라이스가 동일한 GPS 를 참조할 것이라는 제한이 추가될 수도 있다. 다른 예에서, 하나 초과의 지오메트리 슬라이스가 포인트 클라우드 시퀀스/비트스트림에 존재할 때, 각각의 그러한 슬라이스가 동일한 GPS를 참조한다는 제한이 추가될 수도 있다. G-PCC 인코더 (200) 는 이들 제한들을 적용할 수도 있다.
일 예에서, gsh_geometry_parameter_set_id의 값 범위가 특정되고, 동일한 프레임의 지오메트리 슬라이스들은 동일한 GPS를 참조하도록 제한된다.
gsh_geometry_parameter_set_id 는 활성 GPS 의 gps_geom_parameter_set_id 의 값을 특정한다. <CHANGE> gsh_geometry_parameter_set_id 의 값은 포함적 0 내지 15 의 범위에 있을 것이다.
하나 이상의 지오메트리 슬라이스가 프레임과 연관될 때, gsh_geometry_parameter_set_id 의 값은 프레임과 연관된 모든 지오메트리 슬라이스들에 대해 동일할 것이다. </CHANGE>
대안적으로, 다음이 초안 G-PCC 표준에 추가될 수도 있다: 하나 이상의 지오메트리 슬라이스가 타일과 연관될 때, gsh_geometry_parameter_set_id 의 값은 타일과 연관된 모든 지오메트리 슬라이스들에 대해 동일할 것이다.
이제 파라미터 세트를 참조하는 속성 슬라이스들에 대해 설명한다. 초안 G-PCC 표준에서, 속성 슬라이스는 슬라이스가 참조하는 APS 의 식별자인 ash_attr_parameter_set_id 를 포함한다. ash_attr_parameter_set_ID의 값 범위에는 제한이 없다. aps_attr_parameter_set_id (ASH 보다는 APS에서의 별개의 신택스 엘리먼트) 의 값은 포함적 0 내지 15 까지의 범위에 있다.
더욱이, 초안 G-PCC 표준에 따르면, 포인트 클라우드 프레임/타일에서의 (특정 속성의) 각각의 속성 슬라이스는 임의의 APS를 참조하는 것이 허용된다 (이는 프레임/타일에서의 각각의 속성 슬라이스가 ash_attr_parameter_set_id 의 임의의 유효 값을 시그널링할 수도 있기 때문이다). 그러한 유연성이 필요할 수도 있는 일부 특수한 사용 사례가 있을 수도 있지만, 대부분의 통상적인 경우에 그러한 유연성을 갖는 것은 타당하지 않다. 이러한 유연성은 또한 (G-PCC 디코더 (300) 와 같은) 디코더들로 하여금 모든 가능한 조합들 (동일한 프레임에 의해 참조될 수도 있는 상이한 APS들에서의 APS 신택스 엘리먼트들에 대한 상이한 값들) 을 테스트하기 위해 적합성 체크들을 수행하게 한다. 이는 디코더 제조자들의 비용을 증가시킨다.
본 개시의 기법들에 따르면, 일 예에서, ash_attr_parameter_set_id 의 값이 포함적 0 내지 15 까지의 범위에 있을 것이라는 제한이 추가될 수도 있다. 예를 들어, G-PCC 인코더 (200) 는 ash_attr_parameter_set_id 의 값을 0 내지 15 의 범위 내에 있도록 인코딩할 수도 있다.
동일한 속성(예를 들어, ash_attr_sps_attr_idx)의 하나 초과의 속성 슬라이스가 타일에 존재할 때, 각각의 그러한 슬라이스가 동일한 GPS를 지칭한다는 제한이 추가될 수도 있다. 일 예에서, 프레임에서 동일한 속성 (예를 들어, ash_attr_sps_attr_idx) 의 하나보다 많은 속성 슬라이스가 존재할 때, 각각의 그러한 슬라이스가 동일한 GPS 를 지칭한다는 제한이 추가될 수도 있다. 다른 예에서, 포인트 클라우드 시퀀스/비트스트림에서 동일한 속성(예를 들어, ash_attr_sps_attr_idx)의 하나보다 많은 속성 슬라이스가 존재할 때, 각각의 그러한 슬라이스가 동일한 GPS를 참조한다는 제한이 추가될 수도 있다. G-PCC 인코더 (200) 는 이들 제한들을 적용할 수도 있다.
일 예에서, ash_attr_parameter_set_id 의 값 범위가 특정되고, 동일한 프레임의 (동일한 속성 타입 또는 인덱스의) 속성 슬라이스들은 동일한 APS 를 참조하도록 제한된다.
ash_attr_parameter_set_id 는 활성 APS 의 aps_attr_parameter_set_id 의 값을 특정한다. ash_attr_parameter_set_id 의 값은 포함적 0 내지 15 까지의 범위에 있을 것이다.
<CHANGE> 하나보다 많은 속성 슬라이스가 프레임과 연관될 때, ash_attr_parameter_set_id의 값은 ash_attr_sps_attr_idx의 동일한 값을 갖는 프레임과 연관된 모든 속성 슬라이스들에 대해 동일할 것이다. </CHANGE>
대안적으로, 다음과 같은 것들이 초안 G-PCC 표준에 추가될 수도 있다: 하나 초과의 속성 슬라이스가 타일과 연관될 때, ash_attr_parameter_set_id의 값은, ash_attr_sps_attr_idx의 동일한 값을 갖는 타일과 연관된 모든 속성 슬라이스들에 대해 동일할 것이다.
도 7 은 본 개시에 따른 예시적인 영역 박스 및 슬라이스 경계 박스 기법들의 흐름도이다. G-PCC 디코더 (300) 는 영역 박스의 치수들을 결정할 수도 있다 (700). 예를 들어, G-PCC 디코더 (300) 는 영역 박스의 치수들을 나타내는 신택스 엘리먼트(들)를 파싱할 수도 있다. G-PCC 디코더 (300) 는 슬라이스 경계 박스의 치수들을 결정할 수도 있다 (702). 예를 들어, G-PCC 디코더 (300) 는 슬라이스 경계 박스의 치수들을 나타내는 신택스 엘리먼트(들)를 파싱할 수도 있다. G-PCC 디코더(300)는 슬라이스 경계 박스와 연관된 포인트 클라우드 데이터의 슬라이스를 디코딩할 수도 있다 (704). 예를 들어, G-PCC 디코더 (300) 는 슬라이스 경계 박스 내의 슬라이스를 디코딩할 수도 있다. 영역 경계 박스의 치수들은 슬라이스 경계 박스의 치수들을 초과하지 않도록 제약될 수도 있다. 예를 들어, 영역 경계 박스의 치수들이 슬라이스 경계 박스의 치수들을 초과하지 않는 것이 비트스트림 적합성의 요건일 수도 있다. 일부 예들에서, 영역 박스의 치수들은 영역 박스 내의 어떠한 포인트도 슬라이스 경계 박스 외부에 있지 않도록 제약된다.
도 8 은 본 개시에 따른 예시적인 슬라이스 식별자 기법들의 흐름도이다. G-PCC 디코더(300)는 포인트 클라우드 데이터의 프레임과 연관된 제 1 지오메트리 슬라이스의 제 1 슬라이스 ID를 결정할 수도 있다(800). 예를 들어, G-PCC 디코더 (300) 는 프레임의 제 1 지오메트리 슬라이스의 제 1 슬라이스 ID 를 나타내는 신택스 엘리먼트를 파싱할 수도 있다. G-PCC 디코더(300)는 포인트 클라우드 데이터의 프레임과 연관된 제 2 지오메트리 슬라이스의 제 2 슬라이스 ID를 결정할 수도 있다 (802). 예를 들어, G-PCC 디코더 (300) 는 프레임의 제 2 지오메트리 슬라이스의 제 2 슬라이스 ID 를 나타내는 신택스 엘리먼트를 파싱할 수도 있다. 제 2 슬라이스 ID 가 제 1 슬라이스 ID 와 동일한 것에 기초하여, G-PCC 디코더 (300) 는 제 1 슬라이스와 동일한 콘텐츠를 포함하도록 제 2 슬라이스를 결정할 수도 있다 (804). 예를 들어, 포인트 클라우드 데이터의 프레임의 제 1 지오메트리 슬라이스가 프레임의 제 2 지오메트리 슬라이스와 동일한 슬라이스 ID를 갖는 경우, 제 1 지오메트리 슬라이스 및 제 2 지오메트리 슬라이스의 콘텐츠가 동일하다는 것이 비트스트림 적합성의 요건일 수도 있다. G-PCC 디코더(300)는 제 1 슬라이스 ID에 기초하여 포인트 클라우드 데이터를 디코딩할 수도 있다 (806) 예를 들어, G-PCC 디코더 (300) 는 제 1 슬라이드 ID에 기초하여 제 1 지오메트리 슬라이스 및 제 2 지오메트리 슬라이스 양자를 디코딩할 수도 있다.
도 9 는 본 개시에 따른 델타 양자화 파라미터 기법들의 일 예를 예시하는 흐름도이다. G-PCC 디코더(300)는 속성의 속성 차원이 1보다 큰지 여부를 결정할 수도 있다(900). 예를 들어, G-PCC 디코더 (300) 는 속성 차원이 시퀀스 파라미터 세트에서 1보다 큰지 여부를 표시하는 신택스 엘리먼트를 파싱할 수도 있다. 속성 차원이 1 보다 큰 것에 기초하여, G-PCC 디코더 (300) 는 델타 양자화 파라미터를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱할 수도 있다 (902). 예를 들어, G-PCC 디코더 (300) 는 속성 슬라이스 헤더에서 ash_attr_qp_delta_secondary (또는 ash_attr_qp_delta_chroma) 를 파싱할 수도 있다. G-PCC 디코더(300)는 델타 양자화 파라미터에 기초하여 포인트 클라우드 데이터를 디코딩할 수도 있다 (904). 일부 예들에서, 속성 차원이 1 보다 큰지 여부를 결정하는 것의 일부로서, G-PCC 디코더 (300) 는 시퀀스 파라미터 세트에서 신택스 엘리먼트를 파싱할 수도 있다.
일부 예들에서, G-PCC 디코더 (300) 는 슬라이스 치수를 결정하고, 트리수프 코딩 모드로 코딩된 노드의 사이즈를 표시하는 트리수프 노드 사이즈 신택스 엘리먼트를 파싱하고, 노드의 사이즈에 기초하여 포인트 클라우드 데이터를 디코딩할 수도 있다. 이들 예들에서, 트리수프 노드 사이즈 신택스 엘리먼트의 값은 슬라이스 치수를 초과하지 않도록 제약될 수도 있다.
일부 예들에서, G-PCC 디코더(300)는 델타 양자화 파라미터가 적용될 영역들의 수를 표시하는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하고, 영역들의 수에 기초하여 포인트 클라우드 데이터를 디코딩할 수도 있다. 이들 예들에서, 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 N 의 범위 내에서 제약될 수도 있고, 여기서 N 은 미리 결정된 값, 예컨대 4 또는 8 또는 일부 다른 값이다. 영역들의 수는 지수 골롬 코드 (예를 들어, ue(v)) 를 이용하여 코딩될 수도 있다.
일부 예들에서, G-PCC 디코더 (300) 는 지오메트리 파라미터 세트 식별자를 나타내는 지오메트리 슬라이스 헤더 신택스 엘리먼트를 파싱할 수도 있다. 이들 예들에서, 지오메트리 슬라이스 헤더 신택스 엘리먼트의 값은 포함적 0 내지 15 까지의 범위에 있도록 제한된다. 일부 예들에서, G-PCC 디코더는 지오메트리 파라미터 세트 식별자에 의해 식별된 지오메트리 파라미터 세트에 추가로 기초하여 포인트 클라우드 데이터를 디코딩할 수도 있다.
일부 예들에서, G-PCC 디코더 (300) 는 속성 파라미터 세트 식별자를 표시하는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱할 수도 있다. 이들 예들에서, 속성 슬라이스 헤더 신택스 엘리먼트의 값은 포함적 0 내지 15 까지의 범위에 있도록 제한될 수도 있다. 일부 예들에서, G-PCC 디코더는 속성 파라미터 세트 식별자에 의해 식별된 속성 파라미터 세트에 추가로 기초하여 포인트 클라우드 데이터를 디코딩할 수도 있다.
본 개시의 다음의 양태들에서의 예들은 개별적으로 또는 임의의 조합으로 사용될 수도 있다.
본 개시는 다음의 예들을 포함한다.
조항 1. 포인트 클라우드 데이터를 코딩하는 방법으로서, 슬라이스 경계 박스의 치수들을 초과하지 않도록 영역 박스를 제약하는 단계; 및 상기 슬라이스 경계 박스와 연관된 상기 포인트 클라우드 데이터의 슬라이스를 코딩하는 단계를 포함하는, 방법.
조항 2. 조항 1의 방법에 있어서, 상기 영역 박스를 제약하는 단계는 상기 영역 박스 내의 어떠한 포인트도 상기 슬라이스 경계 박스 외부에 있지 않도록 상기 영역 박스를 제약하는 단계를 포함하는, 방법.
조항 3. 조항 1 또는 조항 2 의 방법에 있어서, 상기 영역 박스의 폭, 높이 또는 깊이에 대해 0의 값을 시그널링하는 것을 억제하는 단계를 더 포함하는, 방법.
조항 4. 포인트 클라우드 데이터를 코딩하는 방법으로서, tile_inventory() 신택스 엘리먼트를 상기 포인트 클라우드 데이터의 프레임과 연관시키는 단계; 및
tile_inventory() 신택스 엘리먼트에 기초하여 상기 프레임을 코딩하는 단계를 포함하는, 방법.
조항 5. 조항 4의 방법에 있어서, tile_inventory() 신택스 엘리먼트를 시그널링하는 단계를 더 포함하는, 방법.
조항 6. 조항 4의 방법에 있어서, 상기 tile_inventory() 신택스 엘리먼트를 상기 프레임과 연관시키는 단계는, 상기 프레임과 연관된 프레임 인덱스가 상기 tile_inventory() 신택스 엘리먼트와 동등한 값을 갖는지 여부를 결정하는 단계; 및 상기 tile_inventory() 신택스 엘리먼트와 동등한 값을 갖는 상기 프레임 인덱스에 기초하여, 상기 tile_inventory() 신택스 엘리먼트를 상기 프레임과 연관시키는 단계를 포함하는, 방법.
조항 7. 조항 4 내지 조항 6의 임의의 조합의 방법에 있어서, 지오메트리 슬라이스 헤더에서의 tile_id의 값을 0 내지 N의 범위 내에 있도록 제약하는 단계를 더 포함하고, 여기서, N 의 값은 프레임과 연관된 tile_inventory() 신택스 엘리먼트에서 시그널링된 타일들의 수보다 하나 적은, 방법.
조항 8. 포인트 클라우드 데이터를 코딩하는 방법으로서, 상기 방법은:
프레임과 연관된 타일에 다수의 슬라이스들이 존재하는지 여부를 결정하는 단계; 타일에 다수의 슬라이스들이 존재하는 것에 기초하여, 하나 이상의 신택스 엘리먼트들을 결정하는 단계; 및 신택스 엘리먼트들에 기초하여 포인트 클라우드 데이터를 코딩하는 단계를 포함하는, 방법.
조항 9. 조항 8의 방법에 있어서, 2개의 지오메트리 슬라이스들이 타일에 대한 gsh_slice_id의 상이한 값들을 갖는지 여부를 결정하는 단계; 및 gsh_slice_id의 상이한 값들을 갖는 2개의 지오메트리 슬라이스들에 기초하여, gps_box_present_flag의 값을 1로 결정하는 단계를 더 포함하는, 방법.
조항 10. 조항 8의 방법에 있어서, 2개의 지오메트리 슬라이스들이 gsh_slice_id의 상이한 값들 및 동일한 타일 ID 및 동일한 프레임 인덱스를 갖는지 여부를 결정하는 단계; 및 상기 2개의 지오메트리 슬라이스들이 gsh_slice_id의 상이한 값들 및 동일한 타일 ID 및 동일한 프레임 인덱스를 갖는 것에 기초하여, gps_box_present_flag의 값을 1로 결정하는 단계를 더 포함하는, 방법.
조항 11. 포인트 클라우드 데이터의 코딩 방법으로서, 상기 방법은: 슬라이스 치수를 결정하는 단계; 상기 슬라이스 치수를 초과하지 않도록 log2_trisoup_node_size 의 값을 제한하는 단계; 및 상기 log2_trisoup_node_size 에 기초하여 상기 포인트 클라우드 데이터를 코딩하는 단계를 포함하는, 방법.
조항 12. 조항 11의 방법에 있어서, gsh_log2_max_nodesize의 값은 log2_trisoup_node_size의 값보다 크거나 같은, 방법.
조항 13. 조항 11의 방법에 있어서, log2_trisoup_node_size 신택스 엘리먼트의 값은, gps_implicit_geom_partition_flag가 1과 동일할 때 min( gsh_log2_max_nodesize_x, gsh_log2_max_nodesize_y, gsh_log2_max_nodesize_z) 이하이고, 그렇지 않으면 gsh_log2_max_nodesize 이상인, 방법.
조항 14. 포인트 클라우드 데이터를 코딩하는 방법으로서, 상기 방법은:
포인트 클라우드 데이터의 프레임과 연관된 2개의 지오메트리 슬라이스들이 동일한 슬라이스 ID를 갖는지 여부를 결정하는 단계; 동일한 슬라이스 ID를 갖는 2개의 지오메트리 슬라이스들에 기초하여, 2개의 지오메트리 슬라이스들이 동일한 콘텐츠를 갖도록 제한하는 단계; 및 그 제한에 기초하여 포인트 클라우드 데이터를 코딩하는 단계를 포함하는, 방법.
조항 15. 포인트 클라우드 데이터를 코딩하는 방법으로서, 상기 방법은:
2개의 지오메트리 슬라이스들이 동일한 프레임과 연관되는지 여부를 결정하는 단계; 2개의 지오메트리 슬라이스들이 동일한 프레임과 연관되는 것에 기초하여, 2개의 지오메트리 슬라이스들이 슬라이스 ID의 동일한 값을 갖는 것을 제한하는 단계; 및 각각의 슬라이스 ID에 기초하여 포인트 클라우드 데이터를 코딩하는 단계를 포함하는, 방법.
조항 16. 포인트 클라우드 데이터를 코딩하는 방법으로서, 상기 방법은:
포인트 클라우드 내의 모든 포인트들이 각기의 고유 포인트와 연관되는지 여부를 결정하는 단계; 포인트 클라우드 내의 모든 포인트들이 각기의 고유 포인트와 연관되는 것에 기초하여, 슬라이스들이 동일한 포지션과 연관된 2개의 포인트들을 포함하는 것을 제한하는 단계; 및
그 제한에 기초하여 포인트 클라우드 데이터를 코딩하는 단계를 포함하는, 방법.
조항 17. 조항 16의 방법에 있어서, 동일한 포지션과 연관된 2개의 포인트들을 포함하는 슬라이스들을 나타내는 신택스 엘리먼트의 시그널링을 제한하는 단계를 더 포함하는, 방법.
조항 18. 포인트 클라우드 데이터를 코딩하는 방법으로서, 상기 방법은: 컬러 관련 신택스 엘리먼트들을 결정하는 단계; 컬러 속성들에 대해 상기 컬러 관련 신택스 엘리먼트들을 시그널링하는 단계; 다른 목적들을 위해 상기 컬러 관련 신택스 엘리먼트들을 시그널링하는 것을 억제하는 단계; 및 상기 컬러 관련 신택스 엘리먼트들에 기초하여 상기 포인트 클라우드 데이터를 코딩하는 단계를 포함하는, 방법.
조항 19. 조항 18의 방법에 있어서, known_attribute_label_flag 가 0인지 여부를 결정하는 단계; 및 known_attribute_label_flag가 0인 것에 기초하여, attribute_label_four_bytes에 알려진 속성들을 포함하지 않는 단계를 더 포함하는, 방법.
조항 20. 조항 18의 방법에 있어서, attribute_label_four_bytes 내의 각각의 속성들만을 표현하는 단계를 더 포함하는, 방법.
조항 21. 포인트 클라우드 데이터를 코딩하는 방법으로서, 상기 방법은:
속성 차원이 1보다 큰지 여부를 결정하는 단계; 속성 차원이 1보다 큰 것에 기초하여, 속성 파라미터 세트 내의 플래그를 시그널링하는 단계; 및 그 플래그에 기초하여 포인트 클라우드 데이터를 코딩하는 단계를 포함하는, 방법.
조항 22. 조항 21의 방법에 있어서, 상기 속성에 대해 시그널링된 속성 차원들의 수의 값과 모순되지 않도록 상기 플래그의 값을 제한하는 단계를 더 포함하는, 방법.
조항 23. 포인트 클라우드 데이터를 코딩하는 방법으로서, 상기 방법은: region_qp_delta를 시그널링하는 것을 억제하는 단계; region_qp_delta_abs_minus1 및 region_qp_delta_sign을 시그널링하는 단계; 및 region_qp_delta_abs_minus1 및 region_qp_delta_sign에 기초하여 상기 포인트 클라우드 데이터를 코딩하는 단계를 포함하는, 방법.
조항 24. 조항 23의 방법에 있어서, deltaQP가 적용될 영역들의 수를 결정하는 단계; 및 deltaQP가 적용될 영역들의 수를 나타내는 신택스 엘리먼트를 시그널링하는 단계를 더 포함하는, 방법.
조항 25. 포인트 클라우드 데이터를 코딩하는 방법으로서, 상기 방법은:
공통 상세 레벨 (level of detail; LoD) 파라미터 세트 (CPS) 를 제공하는 단계; LoD 신택스 엘리먼트를 결정하는 단계; 및 LoD 신택스 엘리먼트에 기초하여 포인트 클라우드 데이터를 코딩하는 단계를 포함하는, 방법.
조항 25.5 조항 25의 방법에 있어서, 2와 동일한 LoD 신택스 엘리먼트에 기초하여, 2와 동일한 LoD 신택스 엘리먼트로 코딩될 모든 속성들은 리프팅 스케일러빌리티로 코딩되는, 방법.
조항 26. 조항 25의 방법에 있어서, 오버라이드 플래그(override flag)가 속성 파라미터 세트(attribute parameter set; APS)에 존재하는지 여부를 결정하는 단계; 및 상기 오버라이드 플래그가 상기 APS에 존재하지 않는 것에 기초하여, 공통 파라미터 세트(common parameter set; CPS) 파라미터들을 대응하는 APS 파라미터들과 동일하도록 결정하는 단계를 더 포함하는, 방법.
조항 27. 조항 25 또는 조항 26 의 방법에 있어서, 속성 코딩 타입을 결정하는 단계 및 스케일러빌러티 인에이블된 플래그를 APS 및 CPS에 대해 동일하도록 리프팅하는 단계를 더 포함하는, 방법.
조항 28. 조항 25 내지 조항 27의 임의의 조합의 방법에 있어서, 속성에 대응하는 CPS를 나타내는 CPS ID를 시그널링하는 단계를 더 포함하는, 방법.
조항 29. 조항 28의 방법에 있어서, 상기 CPS ID는 APS 또는 속성 슬라이스 헤더(attribute slice header; ASH) 중 하나에 있는, 방법.
조항 30. 조항 28 또는 조항 29의 방법에 있어서, aps_lod_parameters_override_flag가 0과 동일한지 여부를 결정하는 단계; 및 aps_lod_parameters_override_flag가 0과 동일한 것에 기초하여, CPS ID를 시그널링하는 단계를 더 포함하는, 방법.
조항 31. 조항 25 내지 조항 30의 임의의 조합의 방법에 있어서, aps_lod_parameters_override_flag가 시그널링되지 않는지 여부를 결정하는 단계;
aps_lod_parameters_override_flag 가 시그널링되지 않는 것에 기초하여, APS 파라미터들을 시그널링하는 것을 억제하고; 속성과 함께 사용하기 위해 CPS 로부터 파라미터들을 도출하는 단계를 더 포함하는, 방법.
조항 31.1 포인트 클라우드 데이터를 코딩하는 방법으로서, 상기 방법은:
하나보다 많은 지오메트리 슬라이스가 타일 내에 있는지 여부를 결정하는 단계; 하나보다 많은 지오메트리 슬라이스가 타일 내에 있는 것에 기초하여, 동일한 GPS를 참조하도록 타일 내의 각각의 지오메트리 슬라이스를 제한하는 단계; 및 GPS에 기초하여 포인트 클라우드 데이터를 코딩하는 단계를 포함하는, 방법.
조항 31.2 포인트 클라우드 데이터를 코딩하는 방법으로서, 상기 방법은:
하나보다 많은 속성 슬라이스가 타일 내에 있는지 여부를 결정하는 단계; 하나보다 많은 속성 슬라이스가 타일 내에 있는 것에 기초하여, 동일한 GPS를 참조하도록 타일 내의 각각의 지오메트리 슬라이스를 제한하는 단계; 및 GPS에 기초하여 포인트 클라우드 데이터를 코딩하는 단계를 포함하는, 방법.
조항 32. 조항 1 내지 조항 31.2 중 어느 것의 방법에 있어서, 상기 포인트 클라우드를 생성하는 단계를 더 포함하는, 방법.
조항 33. 포인트 클라우드를 프로세싱하기 위한 디바이스로서, 상기 디바이스는 조항 1 내지 조항 32 중 어느 것의 방법을 수행하기 위한 하나 이상의 수단을 포함하는, 디바이스.
조항 34. 조항 33 의 디바이스에 있어서, 상기 하나 이상의 수단은 회로에서 구현되는 하나 이상의 프로세서들을 포함하는, 디바이스.
조항 35. 조항 33 또는 조항 34 중 어느 것의 디바이스에 있어서, 상기 포인트 클라우드를 나타내는 데이터를 저장하기 위한 메모리를 더 포함하는, 디바이스.
조항 36. 조항 33 내지 조항 35 중 어느 것의 디바이스에 있어서, 상기 디바이스는 디코더를 포함하는, 디바이스.
조항 37. 조항 33 내지 조항 36 중 어느 것의 디바이스에 있어서, 상기 디바이스는 인코더를 포함하는, 디바이스.
조항 38. 조항 33 내지 조항 37 중 어느 것의 디바이스에 있어서, 상기 포인트 클라우드를 생성하기 위한 디바이스를 더 포함하는, 디바이스.
조항 39. 조항 33 내지 조항 38 중 어느 것의 디바이스에 있어서, 상기 포인트 클라우드에 기초하여 이미저리(imagery)를 제공하기 위한 디스플레이를 더 포함하는, 디바이스.
조항 40. 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 명령들은 실행될 때, 하나 이상의 프로세서들로 하여금 조항들 1-32 중 임의의 것의 방법을 수행하게 하는, 컴퓨터 판독가능 저장 매체.
조항 41. 포인트 클라우드 데이터를 디코딩하는 방법으로서, 영역 박스의 치수들을 결정하는 단계; 슬라이스 경계 박스의 치수들을 결정하는 단계; 및 상기 슬라이스 경계 박스와 연관된 상기 포인트 클라우드 데이터의 슬라이스를 디코딩하는 단계를 포함하고,
여기서, 상기 영역 박스의 치수들은 상기 슬라이스 경계 박스의 치수들을 초과하지 않도록 제약되는, 방법.
조항 42. 조항 41의 방법에 있어서, 상기 영역 박스의 치수들은, 상기 영역 박스 내의 어떠한 포인트도 상기 슬라이스 경계 박스 외부에 있지 않도록 제약되는, 방법.
조항 43. 조항 41 또는 조항 42 의 방법에 있어서, 슬라이스 치수를 결정하는 단계; 트리수프 코딩 모드로 코딩된 노드의 사이즈를 나타내는 트리수프 노드 사이즈 신택스 엘리먼트를 파싱하는 단계; 및 상기 노드의 사이즈에 기초하여 포인트 클라우드 데이터를 디코딩하는 단계를 더 포함하고, 상기 트리수프 노드 사이즈 신택스 엘리먼트의 값은 상기 슬라이스 치수를 초과하지 않도록 제약되는, 방법.
조항 44. 조항 41 내지 조항 43의 임의의 조합의 방법에 있어서, 델타 양자화 파라미터가 적용될 영역들의 수를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계; 및 상기 영역들의 수에 기초하여 포인트 클라우드 데이터를 디코딩하는 단계를 더 포함하고, 상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 N의 범위 내에서 제약되고, N은 미리 결정된 값인, 방법.
조항 45. 조항 41 내지 조항 44의 임의의 조합의 방법에 있어서, 지오메트리 파라미터 세트 식별자를 표시하는 지오메트리 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계를 더 포함하고, 상기 지오메트리 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15를 포함하는 범위에 있도록 제한되고, 상기 포인트 클라우드 데이터를 디코딩하는 단계는 상기 지오메트리 파라미터 세트 식별자에 의해 식별된 지오메트리 파라미터 세트에 추가로 기초하는, 방법.
조항 46. 조항 41 내지 조항 45의 임의의 조합의 방법에 있어서, 속성 파라미터 세트 식별자를 표시하는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계를 더 포함하고, 상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15를 포함하는 범위에 있도록 제한되고, 상기 포인트 클라우드 데이터를 디코딩하는 단계는 상기 속성 파라미터 세트 식별자에 의해 식별된 속성 파라미터 세트에 추가로 기초하는, 방법.
조항 47. 포인트 클라우드 데이터를 디코딩하는 방법으로서, 상기 방법은:
포인트 클라우드 데이터의 프레임과 연관된 제 1 지오메트리 슬라이스의 제 1 슬라이스 식별자(ID)를 결정하는 단계; 포인트 클라우드 데이터의 프레임과 연관된 제 2 지오메트리 슬라이스의 제 2 슬라이스 ID를 결정하는 단계; 제 2 슬라이스 ID가 제 1 슬라이스 ID와 동일한 것에 기초하여, 제 1 슬라이스와 동일한 콘텐츠를 포함하도록 제 2 슬라이스를 결정하는 단계; 및 제 1 슬라이스 ID에 기초하여 포인트 클라우드 데이터를 디코딩하는 단계를 포함하는, 방법.
조항 48. 조항 47 의 방법에 있어서, 슬라이스 치수를 결정하는 단계; 트리수프 코딩 모드로 코딩된 노드의 사이즈를 나타내는 트리수프 노드 사이즈 신택스 엘리먼트를 파싱하는 단계; 및 상기 노드의 사이즈에 기초하여 포인트 클라우드 데이터를 디코딩하는 단계를 더 포함하고, 상기 트리수프 노드 사이즈 신택스 엘리먼트의 값은 상기 슬라이스 치수를 초과하지 않도록 제약되는, 방법.
조항 49. 조항 47 또는 조항 48 의 방법에 있어서, 델타 양자화 파라미터가 적용될 영역들의 수를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계; 및 상기 영역들의 수에 기초하여 포인트 클라우드 데이터를 디코딩하는 단계를 더 포함하고, 상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 N의 범위 내에서 제약되고, N은 미리 결정된 값인, 방법.
조항 50. 조항 47 내지 조항 49 의 임의의 조합의 방법에 있어서, 지오메트리 파라미터 세트 식별자를 표시하는 지오메트리 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계를 더 포함하고, 상기 지오메트리 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15를 포함하는 범위에 있도록 제한되고, 상기 포인트 클라우드 데이터를 디코딩하는 단계는 상기 지오메트리 파라미터 세트 식별자에 의해 식별된 지오메트리 파라미터 세트에 추가로 기초하는, 방법.
조항 51. 조항 47 내지 조항 50의 임의의 조합의 방법에 있어서, 속성 파라미터 세트 식별자를 표시하는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계를 더 포함하고, 상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15를 포함하는 범위에 있도록 제한되고, 상기 포인트 클라우드 데이터를 디코딩하는 단계는 상기 속성 파라미터 세트 식별자에 의해 식별된 속성 파라미터 세트에 추가로 기초하는, 방법.
조항 52. 포인트 클라우드 데이터를 디코딩하는 방법으로서, 상기 방법은:
속성의 속성 차원이 1보다 큰지 여부를 결정하는 단계; 속성 차원이 1보다 큰 것에 기초하여, 델타 양자화 파라미터를 표시하는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계; 및 델타 양자화 파라미터에 기초하여 포인트 클라우드 데이터를 디코딩하는 단계를 포함하는, 방법.
조항 53. 조항 52의 방법에 있어서, 상기 속성 차원이 1보다 큰지 여부를 결정하는 단계는 시퀀스 파라미터 세트에서 신택스 엘리먼트를 파싱하는 단계를 포함하는, 방법.
조항 54. 조항 52 또는 조항 53 의 방법에 있어서, 슬라이스 치수를 결정하는 단계; 트리수프 코딩 모드로 코딩된 노드의 사이즈를 나타내는 트리수프 노드 사이즈 신택스 엘리먼트를 파싱하는 단계; 및 상기 노드의 사이즈에 기초하여 포인트 클라우드 데이터를 디코딩하는 단계를 더 포함하고, 상기 트리수프 노드 사이즈 신택스 엘리먼트의 값은 상기 슬라이스 치수를 초과하지 않도록 제약되는, 방법.
조항 55. 조항 52 내지 조항 54의 임의의 조합의 방법에 있어서, 델타 양자화 파라미터가 적용될 영역들의 수를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계; 및 상기 영역들의 수에 기초하여 포인트 클라우드 데이터를 디코딩하는 단계를 더 포함하고, 상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 N의 범위 내에서 제약되고, N은 미리 결정된 값인, 방법.
조항 56. 조항 52 내지 조항 55 의 임의의 조합의 방법에 있어서, 지오메트리 파라미터 세트 식별자를 표시하는 지오메트리 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계를 더 포함하고, 상기 지오메트리 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15를 포함하는 범위에 있도록 제한되고, 상기 포인트 클라우드 데이터를 디코딩하는 단계는 상기 지오메트리 파라미터 세트 식별자에 의해 식별된 지오메트리 파라미터 세트에 추가로 기초하는, 방법.
조항 57. 조항 52 내지 조항 56의 임의의 조합의 방법에 있어서, 속성 파라미터 세트 식별자를 표시하는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계를 더 포함하고, 상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15를 포함하는 범위에 있도록 제한되고, 상기 포인트 클라우드 데이터를 디코딩하는 단계는 상기 속성 파라미터 세트 식별자에 의해 식별된 속성 파라미터 세트에 추가로 기초하는, 방법.
조항 58. 포인트 클라우드 데이터를 디코딩하기 위한 디바이스로서, 상기 디바이스는:
포인트 클라우드 데이터를 저장하도록 구성된 메모리; 및 회로로 구현되고 메모리에 결합된 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은: 영역 박스의 치수들을 결정하고; 슬라이스 경계 박스의 치수들을 결정하고; 그리고 슬라이스 경계 박스와 연관된 포인트 클라우드 데이터의 슬라이스를 디코딩하도록 구성되고, 여기서, 영역 박스의 치수들은 슬라이스 경계 박스의 치수들을 초과하지 않도록 제약되는, 디바이스.
조항 59. 조항 58의 디바이스에 있어서, 상기 영역 박스의 치수들은, 상기 영역 박스 내의 어떠한 포인트도 상기 슬라이스 경계 박스 외부에 있지 않도록 제약되는, 디바이스.
조항 60. 조항 58 또는 조항 59의 디바이스에 있어서, 상기 하나 이상의 프로세서들은 또한, 슬라이스 치수를 결정하고; 트리수프 코딩 모드로 코딩된 노드의 사이즈를 표시하는 트리수프 노드 사이즈 신택스 엘리먼트를 파싱하며;
노드의 사이즈에 기초하여 포인트 클라우드 데이터를 디코딩하도록 구성되고, 여기서 트리수프 노드 사이즈 신택스 엘리먼트의 값은 슬라이스 치수를 초과하지 않도록 제약되는, 디바이스.
조항 61. 조항 58 내지 조항 60의 임의의 조합의 디바이스에 있어서, 상기 하나 이상의 프로세서들은, 상기 델타 양자화 파라미터가 적용될 영역들의 수를 표시하는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하고; 그리고 상기 영역들의 수에 기초하여 상기 포인트 클라우드 데이터를 디코딩하도록 추가로 구성되고, 상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 N의 범위 내에서 제약되고, N은 미리 결정된 값인, 디바이스.
조항 62. 조항 58 내지 조항 61의 임의의 조합의 디바이스에 있어서, 상기 하나 이상의 프로세서들은, 지오메트리 파라미터 세트 식별자를 표시하는 지오메트리 슬라이스 헤더 신택스 엘리먼트를 파싱하도록 추가로 구성되고, 상기 지오메트리 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15를 포함하는 범위에 있도록 제한되고, 상기 하나 이상의 프로세서들은 상기 지오메트리 파라미터 세트 식별자에 의해 식별된 지오메트리 파라미터 세트에 추가로 기초하여 상기 포인트 클라우드 데이터를 디코딩하는, 디바이스.
조항 63. 조항 58 내지 조항 62의 임의의 조합의 디바이스에 있어서, 상기 하나 이상의 프로세서들은, 속성 파라미터 세트 식별자를 표시하는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하도록 추가로 구성되고, 상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15를 포함하는 범위에 있도록 제한되고, 상기 하나 이상의 프로세서들은 상기 속성 파라미터 세트 식별자에 의해 식별된 속성 파라미터 세트에 추가로 기초하여 상기 포인트 클라우드 데이터를 디코딩하는, 디바이스.
조항 64. 포인트 클라우드 데이터를 디코딩하기 위한 디바이스로서, 상기 디바이스는:
포인트 클라우드 데이터를 저장하도록 구성된 메모리; 및 회로에서 구현되고 메모리에 결합된 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은: 포인트 클라우드 데이터의 프레임과 연관된 제 1 지오메트리 슬라이스의 제 1 슬라이스 식별자(ID)를 결정하고; 포인트 클라우드 데이터의 프레임과 연관된 제 2 지오메트리 슬라이스의 제 2 슬라이스 ID를 결정하고; 제 2 슬라이스 ID가 제 1 슬라이스 ID와 동일한 것에 기초하여, 제 1 슬라이스와 동일한 콘텐츠를 포함하도록 제 2 슬라이스를 결정하고; 제 1 슬라이스 ID에 기초하여 포인트 클라우드 데이터를 디코딩하도록 구성되는, 디바이스.
조항 65. 조항 64의 디바이스에 있어서, 상기 하나 이상의 프로세서들은, 슬라이스 치수를 결정하고; 트리수프 코딩 모드로 코딩된 노드의 사이즈를 표시하는 트리수프 노드 사이즈 신택스 엘리먼트를 파싱하고; 그리고 상기 노드의 사이즈에 기초하여 상기 포인트 클라우드 데이터를 디코딩하도록 추가로 구성되고, 상기 트리수프 노드 사이즈 신택스 엘리먼트의 값은 상기 슬라이스 치수를 초과하지 않도록 제약되는, 디바이스.
조항 66. 조항 64 또는 조항 65의 디바이스에 있어서, 상기 하나 이상의 프로세서들은, 상기 델타 양자화 파라미터가 적용될 영역들의 수를 표시하는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하고; 그리고 상기 영역들의 수에 기초하여 상기 포인트 클라우드 데이터를 디코딩하도록 추가로 구성되고, 상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 N의 범위 내에서 제약되고, N은 미리 결정된 값인, 디바이스.
조항 67. 조항 64 내지 조항 66의 임의의 조합의 디바이스에 있어서, 상기 하나 이상의 프로세서들은, 지오메트리 파라미터 세트 식별자를 표시하는 지오메트리 슬라이스 헤더 신택스 엘리먼트를 파싱하도록 추가로 구성되고, 상기 신택스 엘리먼트의 값은 0 내지 15를 포함하는 범위에 있도록 제한되고, 상기 하나 이상의 프로세서들은 상기 지오메트리 파라미터 세트 식별자에 의해 식별된 지오메트리 파라미터 세트에 추가로 기초하여 상기 포인트 클라우드 데이터를 디코딩하는, 디바이스.
조항 68. 조항 64 내지 조항 67의 임의의 조합의 디바이스에 있어서, 상기 하나 이상의 프로세서들은, 속성 파라미터 세트 식별자를 표시하는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하도록 추가로 구성되고, 상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15를 포함하는 범위에 있도록 제한되고, 상기 하나 이상의 프로세서들은 상기 속성 파라미터 세트 식별자에 의해 식별된 속성 파라미터 세트에 추가로 기초하여 상기 포인트 클라우드 데이터를 디코딩하는, 디바이스.
조항 69. 포인트 클라우드 데이터를 디코딩하기 위한 디바이스로서, 상기 디바이스는:
포인트 클라우드 데이터를 저장하도록 구성된 메모리; 및 회로로 구현되고 메모리에 커플링된 하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은: 속성의 속성 차원이 1보다 큰지 여부를 결정하고; 속성 차원이 1보다 큰 것에 기초하여, 델타 양자화 파라미터를 표시하는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하고; 델타 양자화 파라미터에 기초하여 포인트 클라우드 데이터를 디코딩하도록 구성되는, 디바이스.
조항 70. 조항 69의 디바이스에 있어서, 상기 속성 차원이 1보다 큰지 여부를 결정하는 것의 일부로서, 상기 하나 이상의 프로세서들은 시퀀스 파라미터 세트에서의 신택스 엘리먼트를 파싱하도록 구성되는, 디바이스.
조항 71. 조항 69 또는 조항 70의 디바이스에 있어서, 상기 하나 이상의 프로세서들은, 슬라이스 치수를 결정하고; 트리수프 코딩 모드로 코딩된 노드의 사이즈를 표시하는 트리수프 노드 사이즈 신택스 엘리먼트를 파싱하고; 그리고 상기 노드의 사이즈에 기초하여 상기 포인트 클라우드 데이터를 디코딩하도록 추가로 구성되고, 상기 트리수프 노드 사이즈 신택스 엘리먼트의 값은 상기 슬라이스 치수를 초과하지 않도록 제약되는, 디바이스.
조항 72. 조항 69 내지 조항 71의 임의의 조합의 디바이스에 있어서, 상기 하나 이상의 프로세서들은, 상기 델타 양자화 파라미터가 적용될 영역들의 수를 표시하는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하고; 그리고 상기 영역들의 수에 기초하여 상기 포인트 클라우드 데이터를 디코딩하도록 추가로 구성되고, 상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 N의 범위 내에서 제약되고, N은 미리 결정된 값인, 디바이스.
조항 73. 조항 69 내지 조항 72의 임의의 조합의 디바이스에 있어서, 상기 하나 이상의 프로세서들은, 지오메트리 파라미터 세트 식별자를 표시하는 지오메트리 슬라이스 헤더 신택스 엘리먼트를 파싱하도록 추가로 구성되고, 상기 지오메트리 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15를 포함하는 범위에 있도록 제한되고, 상기 하나 이상의 프로세서들은 상기 지오메트리 파라미터 세트 식별자에 의해 식별된 지오메트리 파라미터 세트에 추가로 기초하여 상기 포인트 클라우드 데이터를 디코딩하는, 디바이스.
조항 74. 조항 69 내지 조항 73의 임의의 조합의 디바이스에 있어서, 상기 하나 이상의 프로세서들은, 속성 파라미터 세트 식별자를 표시하는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하도록 추가로 구성되고, 상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15를 포함하는 범위에 있도록 제한되고, 상기 하나 이상의 프로세서들은 상기 속성 파라미터 세트 식별자에 의해 식별된 속성 파라미터 세트에 추가로 기초하여 상기 포인트 클라우드 데이터를 디코딩하는, 디바이스.
예에 따라, 본원에 기술된 기법들 중 어느 것의 특정 행위들 또는 이벤트들이 상이한 시퀀스에서 수행될 수 있거나, 추가될 수도 있거나, 병합될 수도 있거나, 또는 전부 생략될 수도 있다 (예를 들어, 모든 설명된 행위들 또는 이벤트들이 기법들의 실시를 위해 필요한 것은 아니다) 는 것이 인식되야 한다. 더욱이, 특정 예들에 있어서, 행위들 또는 이벤트들은 순차적인 것보다는, 예를 들어, 다중-스레딩된 프로세싱, 인터럽트 프로세싱, 또는 다중의 프로세서들을 통해 동시에 수행될 수도 있다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 그 임의의 조합으로 구현될 수도 있다.  소프트웨어로 구현되면, 그 기능들은 컴퓨터 판독가능 매체 상의 하나 이상의 명령 또는 코드로서 저장되거나 송신될 수도 있고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체는, 데이터 저장 매체와 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체, 또는 예를 들어, 통신 프로토콜에 따라, 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체를 포함할 수도 있다. 이러한 방식으로, 컴퓨터 판독가능 매체들은 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체들 또는 (2) 신호 또는 캐리어파와 같은 통신 매체에 대응할 수도 있다.  데이터 저장 매체들은 본 개시에서 설명된 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 가용 매체들일 수도 있다.  컴퓨터 프로그램 제품이 컴퓨터 판독가능 매체를 포함할 수도 있다.
제한이 아닌 예로서, 이러한 컴퓨터 판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다.  또한, 임의의 커넥션이 컴퓨터 판독가능 매체로 적절히 명명된다. 예를 들어, 동축 케이블, 광섬유 케이블, 꼬임쌍선, 디지털 가입자 라인 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 소프트웨어가 송신되는 경우, 그 동축 케이블, 광섬유 케이블, 꼬임쌍선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 하지만, 컴퓨터 판독가능 저장 매체들 및 데이터 저장 매체들은 커넥션들, 캐리어 파들, 신호들 또는 다른 일시적 매체들을 포함하는 것이 아니라, 대신에 비일시적, 유형의 저장 매체에 관련된다는 것이 이해되야 한다. 디스크 (disk) 및 디스크 (disc) 는, 본 명세서에서 사용된 바와 같이, 콤팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다용도 디스크 (DVD), 플로피 디스크 및 블루-레이 디스크를 포함하고, 여기서 디스크 (disk) 들은 보통 데이터를 자기적으로 재생하는 한편, 디스크 (disc) 들은 레이저들로 데이터를 광학적으로 재생한다. 상기의 조합들이 또한, 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 프로세서, 이를테면 하나 이상의 DSP (digital signal processor), 범용 마이크로프로세서, ASIC (application specific integrated circuit), FPGA (field programmable logic array), 또는 다른 등가 집적 또는 이산 로직 회로에 의해 실행될 수도 있다. 이에 따라, 본 명세서에서 사용된 바와 같은 용어들 "프로세서" 및 "프로세싱 회로" 는 전술한 구조들 또는 본 명세서에서 설명된 기법들의 구현에 적합한 임의의 다른 구조 중 임의의 것을 지칭할 수도 있다. 또한, 일부 양태들에 있어서, 본 명세서에서 설명된 기능성은 인코딩 및 디코딩을 위해 구성되거나 또는 결합된 코덱에서 통합된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있다. 또한, 그 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수도 있을 것이다.
본 개시의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (예를 들어, 칩 세트) 를 포함하여, 광범위한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들, 또는 유닛들은 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시에 설명되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 필요로 하는 것은 아니다. 오히려, 상기 설명된 바와 같이, 다양한 유닛들은 코덱 하드웨어 유닛에서 결합되거나 또는 적합한 소프트웨어 및/또는 펌웨어와 함께, 상기 설명된 바와 같은 하나 이상의 프로세서들을 포함하는, 상호동작가능한 하드웨어 유닛들의 콜렉션에 의해 제공될 수도 있다.
다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (34)

  1. 포인트 클라우드 데이터를 디코딩하는 방법으로서.
    상기 방법은,
    영역 박스의 치수들을 결정하는 단계;
    슬라이스 경계 박스의 치수들을 결정하는 단계; 및
    상기 슬라이스 경계 박스와 연관된 상기 포인트 클라우드 데이터의 슬라이스를 디코딩하는 단계를 포함하고,
    상기 영역 박스의 상기 치수들은 상기 슬라이스 경계 박스의 치수들을 초과하지 않도록 제약되는, 포인트 클라우드 데이터를 디코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 영역 박스의 상기 치수들은, 상기 영역 박스 내의 어떠한 포인트도 상기 슬라이스 경계 박스 외부에 있지 않도록 제약되는, 포인트 클라우드 데이터를 디코딩하는 방법.
  3. 제 1 항에 있어서,
    슬라이스 치수를 결정하는 단계;
    트리수프 (trisoup) 코딩 모드로 코딩된 노드의 사이즈를 나타내는 트리수프 노드 사이즈 신택스 엘리먼트를 파싱하는 단계; 및
    상기 노드의 사이즈에 기초하여 상기 포인트 클라우드 데이터를 디코딩하는 단계를 더 포함하고,
    상기 트리수프 노드 사이즈 신택스 엘리먼트의 값은 상기 슬라이스 치수를 초과하지 않도록 제약되는, 포인트 클라우드 데이터를 디코딩하는 방법.
  4. 제 1 항에 있어서,
    델타 양자화 파라미터가 적용될 영역들의 수를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계; 및
    상기 영역들의 수에 기초하여 상기 포인트 클라우드 데이터를 디코딩하는 단계를 더 포함하고,
    상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 N 의 범위 내에서 제약되고, 여기서 N 은 미리 결정된 값인, 포인트 클라우드 데이터를 디코딩하는 방법.
  5. 제 1 항에 있어서,
    지오메트리 파라미터 세트 식별자를 나타내는 지오메트리 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계를 더 포함하고,
    상기 지오메트리 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15 를 포함하는 범위에 있도록 제한되고, 상기 포인트 클라우드 데이터를 디코딩하는 것은 상기 지오메트리 파라미터 세트 식별자에 의해 식별되는 지오메트리 파라미터 세트에 추가로 기초하는, 포인트 클라우드 데이터를 디코딩하는 방법.
  6. 제 1 항에 있어서,
    속성 파라미터 세트 식별자를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계를 더 포함하고,
    상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15 를 포함하는 범위에 있도록 제한되고, 상기 포인트 클라우드 데이터를 디코딩하는 것은 상기 속성 파라미터 세트 식별자에 의해 식별되는 속성 파라미터 세트에 추가로 기초하는, 포인트 클라우드 데이터를 디코딩하는 방법.
  7. 포인트 클라우드 데이터를 디코딩하는 방법으로서.
    상기 방법은,
    상기 포인트 클라우드 데이터의 프레임과 연관된 제 1 지오메트리 슬라이스의 제 1 슬라이스 식별자 (ID) 를 결정하는 단계;
    상기 포인트 클라우드 데이터의 상기 프레임과 연관된 제 2 지오메트리 슬라이스의 제 2 슬라이스 ID 를 결정하는 단계;
    상기 제 2 슬라이스 ID 가 상기 제 1 슬라이스 ID 와 동일한 것에 기초하여, 상기 제 1 슬라이스와 동일한 콘텐츠를 포함하도록 상기 제 2 슬라이스를 결정하는 단계; 및
    상기 제 1 슬라이스 ID 에 기초하여 상기 포인트 클라우드 데이터를 디코딩하는 단계를 포함하는, 포인트 클라우드 데이터를 디코딩하는 방법.
  8. 제 7 항에 있어서,
    슬라이스 치수를 결정하는 단계;
    트리수프 (trisoup) 코딩 모드로 코딩된 노드의 사이즈를 나타내는 트리수프 노드 사이즈 신택스 엘리먼트를 파싱하는 단계; 및
    상기 노드의 사이즈에 기초하여 상기 포인트 클라우드 데이터를 디코딩하는 단계를 더 포함하고,
    상기 트리수프 노드 사이즈 신택스 엘리먼트의 값은 상기 슬라이스 치수를 초과하지 않도록 제약되는, 포인트 클라우드 데이터를 디코딩하는 방법.
  9. 제 7 항에 있어서,
    델타 양자화 파라미터가 적용될 영역들의 수를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계; 및
    상기 영역들의 수에 기초하여 상기 포인트 클라우드 데이터를 디코딩하는 단계를 더 포함하고,
    상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 N 의 범위 내에서 제약되고, 여기서 N 은 미리 결정된 값인, 포인트 클라우드 데이터를 디코딩하는 방법.
  10. 제 7 항에 있어서,
    지오메트리 파라미터 세트 식별자를 나타내는 지오메트리 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계를 더 포함하고,
    상기 지오메트리 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15 를 포함하는 범위에 있도록 제한되고, 상기 포인트 클라우드 데이터를 디코딩하는 것은 상기 지오메트리 파라미터 세트 식별자에 의해 식별되는 지오메트리 파라미터 세트에 추가로 기초하는, 포인트 클라우드 데이터를 디코딩하는 방법.
  11. 제 7 항에 있어서,
    속성 파라미터 세트 식별자를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계를 더 포함하고,
    상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15 를 포함하는 범위에 있도록 제한되고, 상기 포인트 클라우드 데이터를 디코딩하는 것은 상기 속성 파라미터 세트 식별자에 의해 식별되는 속성 파라미터 세트에 추가로 기초하는, 포인트 클라우드 데이터를 디코딩하는 방법.
  12. 포인트 클라우드 데이터를 디코딩하는 방법으로서.
    상기 방법은,
    속성의 속성 차원이 1 보다 큰지 여부를 결정하는 단계;
    상기 속성 차원이 1 보다 큰 것에 기초하여, 델타 양자화 파라미터를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계; 및
    상기 델타 양자화 파라미터에 기초하여 상기 포인트 클라우드 데이터를 디코딩하는 단계를 포함하는, 포인트 클라우드 데이터를 디코딩하는 방법.
  13. 제 12 항에 있어서,
    상기 속성 차원이 1 보다 큰지 여부를 결정하는 단계는, 시퀀스 파라미터 세트에서의 신택스 엘리먼트를 파싱하는 단계를 포함하는, 포인트 클라우드 데이터를 디코딩하는 방법.
  14. 제 12 항에 있어서,
    슬라이스 치수를 결정하는 단계;
    트리수프 (trisoup) 코딩 모드로 코딩된 노드의 사이즈를 나타내는 트리수프 노드 사이즈 신택스 엘리먼트를 파싱하는 단계; 및
    상기 노드의 사이즈에 기초하여 상기 포인트 클라우드 데이터를 디코딩하는 단계를 더 포함하고,
    상기 트리수프 노드 사이즈 신택스 엘리먼트의 값은 상기 슬라이스 치수를 초과하지 않도록 제약되는, 포인트 클라우드 데이터를 디코딩하는 방법.
  15. 제 12 항에 있어서,
    상기 델타 양자화 파라미터가 적용될 영역들의 수를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계; 및
    상기 영역들의 수에 기초하여 상기 포인트 클라우드 데이터를 디코딩하는 단계를 더 포함하고,
    상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 N 의 범위 내에서 제약되고, 여기서 N 은 미리 결정된 값인, 포인트 클라우드 데이터를 디코딩하는 방법.
  16. 제 12 항에 있어서,
    지오메트리 파라미터 세트 식별자를 나타내는 지오메트리 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계를 더 포함하고,
    상기 지오메트리 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15 를 포함하는 범위에 있도록 제한되고, 상기 포인트 클라우드 데이터를 디코딩하는 것은 상기 지오메트리 파라미터 세트 식별자에 의해 식별되는 지오메트리 파라미터 세트에 추가로 기초하는, 포인트 클라우드 데이터를 디코딩하는 방법.
  17. 제 12 항에 있어서,
    속성 파라미터 세트 식별자를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하는 단계를 더 포함하고,
    상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15 를 포함하는 범위에 있도록 제한되고, 상기 포인트 클라우드 데이터를 디코딩하는 것은 상기 속성 파라미터 세트 식별자에 의해 식별되는 속성 파라미터 세트에 추가로 기초하는, 포인트 클라우드 데이터를 디코딩하는 방법.
  18. 포인트 클라우드 데이터를 디코딩하기 위한 디바이스로서,
    상기 디바이스는,
    상기 포인트 클라우드 데이터를 저장하도록 구성된 메모리; 및
    회로에서 구현되고 상기 메모리에 커플링된 하나 이상의 프로세서들을 포함하고,
    상기 하나 이상의 프로세서들은:
    영역 박스의 치수들을 결정하고;
    슬라이스 경계 박스의 치수들을 결정하며; 그리고
    상기 슬라이스 경계 박스와 연관된 상기 포인트 클라우드 데이터의 슬라이스를 디코딩하도록
    구성되며,
    상기 영역 박스의 상기 치수들은 상기 슬라이스 경계 박스의 치수들을 초과하지 않도록 제약되는, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  19. 제 18 항에 있어서,
    상기 영역 박스의 상기 치수들은, 상기 영역 박스 내의 어떠한 포인트도 상기 슬라이스 경계 박스 외부에 있지 않도록 제약되는, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  20. 제 18 항에 있어서,
    상기 하나 이상의 프로세서들은 또한:
    슬라이스 치수를 결정하고;
    트리수프 (trisoup) 코딩 모드로 코딩된 노드의 사이즈를 나타내는 트리수프 노드 사이즈 신택스 엘리먼트를 파싱하며; 그리고
    상기 노드의 사이즈에 기초하여 상기 포인트 클라우드 데이터를 디코딩하도록
    구성되고,
    상기 트리수프 노드 사이즈 신택스 엘리먼트의 값은 상기 슬라이스 치수를 초과하지 않도록 제약되는, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  21. 제 18 항에 있어서,
    상기 하나 이상의 프로세서들은 또한:
    델타 양자화 파라미터가 적용될 영역들의 수를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하고; 그리고
    상기 영역들의 수에 기초하여 상기 포인트 클라우드 데이터를 디코딩하도록
    구성되고,
    상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 N 의 범위 내에서 제약되고, 여기서 N 은 미리 결정된 값인, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  22. 제 18 항에 있어서,
    상기 하나 이상의 프로세서들은 또한,
    지오메트리 파라미터 세트 식별자를 나타내는 지오메트리 슬라이스 헤더 신택스 엘리먼트를 파싱하도록 구성되고,
    상기 지오메트리 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15 를 포함하는 범위에 있도록 제한되고, 상기 하나 이상의 프로세서들은, 상기 지오메트리 파라미터 세트 식별자에 의해 식별되는 지오메트리 파라미터 세트에 추가로 기초하여 상기 포인트 클라우드 데이터를 디코딩하는, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  23. 제 18 항에 있어서,
    상기 하나 이상의 프로세서들은 또한,
    속성 파라미터 세트 식별자를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하도록 구성되고,
    상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15 를 포함하는 범위에 있도록 제한되고, 상기 하나 이상의 프로세서들은, 상기 속성 파라미터 세트 식별자에 의해 식별되는 속성 파라미터 세트에 추가로 기초하여 상기 포인트 클라우드 데이터를 디코딩하는, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  24. 포인트 클라우드 데이터를 디코딩하기 위한 디바이스로서,
    상기 디바이스는,
    상기 포인트 클라우드 데이터를 저장하도록 구성된 메모리; 및
    회로에서 구현되고 상기 메모리에 커플링된 하나 이상의 프로세서들을 포함하고,
    상기 하나 이상의 프로세서들은:
    상기 포인트 클라우드 데이터의 프레임과 연관된 제 1 지오메트리 슬라이스의 제 1 슬라이스 식별자 (ID) 를 결정하고;
    상기 포인트 클라우드 데이터의 상기 프레임과 연관된 제 2 지오메트리 슬라이스의 제 2 슬라이스 ID 를 결정하며;
    상기 제 2 슬라이스 ID 가 상기 제 1 슬라이스 ID 와 동일한 것에 기초하여, 상기 제 1 슬라이스와 동일한 콘텐츠를 포함하도록 상기 제 2 슬라이스를 결정하고; 그리고
    상기 제 1 슬라이스 ID 에 기초하여 상기 포인트 클라우드 데이터를 디코딩하도록
    구성되는, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  25. 제 24 항에 있어서,
    상기 하나 이상의 프로세서들은 또한:
    슬라이스 치수를 결정하고;
    트리수프 (trisoup) 코딩 모드로 코딩된 노드의 사이즈를 나타내는 트리수프 노드 사이즈 신택스 엘리먼트를 파싱하며; 그리고
    상기 노드의 사이즈에 기초하여 상기 포인트 클라우드 데이터를 디코딩하도록
    구성되고,
    상기 트리수프 노드 사이즈 신택스 엘리먼트의 값은 상기 슬라이스 치수를 초과하지 않도록 제약되는, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  26. 제 24 항에 있어서,
    상기 하나 이상의 프로세서들은 또한:
    델타 양자화 파라미터가 적용될 영역들의 수를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하고; 그리고
    상기 영역들의 수에 기초하여 상기 포인트 클라우드 데이터를 디코딩하도록
    구성되고,
    상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 N 의 범위 내에서 제약되고, 여기서 N 은 미리 결정된 값인, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  27. 제 24 항에 있어서,
    상기 하나 이상의 프로세서들은 또한,
    지오메트리 파라미터 세트 식별자를 나타내는 지오메트리 슬라이스 헤더 신택스 엘리먼트를 파싱하도록 구성되고,
    상기 지오메트리 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15 를 포함하는 범위에 있도록 제한되고, 상기 하나 이상의 프로세서들은, 상기 지오메트리 파라미터 세트 식별자에 의해 식별되는 지오메트리 파라미터 세트에 추가로 기초하여 상기 포인트 클라우드 데이터를 디코딩하는, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  28. 제 24 항에 있어서,
    상기 하나 이상의 프로세서들은 또한,
    속성 파라미터 세트 식별자를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하도록 구성되고,
    상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15 를 포함하는 범위에 있도록 제한되고, 상기 하나 이상의 프로세서들은, 상기 속성 파라미터 세트 식별자에 의해 식별되는 속성 파라미터 세트에 추가로 기초하여 상기 포인트 클라우드 데이터를 디코딩하는, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  29. 포인트 클라우드 데이터를 디코딩하기 위한 디바이스로서,
    상기 디바이스는,
    상기 포인트 클라우드 데이터를 저장하도록 구성된 메모리; 및
    회로에서 구현되고 상기 메모리에 커플링된 하나 이상의 프로세서들을 포함하고,
    상기 하나 이상의 프로세서들은:
    속성의 속성 차원이 1 보다 큰지 여부를 결정하고;
    상기 속성 차원이 1 보다 큰 것에 기초하여, 델타 양자화 파라미터를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하며; 그리고
    상기 델타 양자화 파라미터에 기초하여 상기 포인트 클라우드 데이터를 디코딩하도록
    구성되는, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  30. 제 29 항에 있어서,
    상기 속성 차원이 1 보다 큰지 여부를 결정하는 것의 일부로서, 상기 하나 이상의 프로세서들은, 시퀀스 파라미터 세트에서의 신택스 엘리먼트를 파싱하도록 구성되는, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  31. 제 29 항에 있어서,
    상기 하나 이상의 프로세서들은 또한:
    슬라이스 치수를 결정하고;
    트리수프 (trisoup) 코딩 모드로 코딩된 노드의 사이즈를 나타내는 트리수프 노드 사이즈 신택스 엘리먼트를 파싱하며; 그리고
    상기 노드의 사이즈에 기초하여 상기 포인트 클라우드 데이터를 디코딩하도록
    구성되고,
    상기 트리수프 노드 사이즈 신택스 엘리먼트의 값은 상기 슬라이스 치수를 초과하지 않도록 제약되는, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  32. 제 29 항에 있어서,
    상기 하나 이상의 프로세서들은 또한:
    델타 양자화 파라미터가 적용될 영역들의 수를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하고; 그리고
    상기 영역들의 수에 기초하여 상기 포인트 클라우드 데이터를 디코딩하도록
    구성되고,
    상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 N 의 범위 내에서 제약되고, 여기서 N 은 미리 결정된 값인, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  33. 제 29 항에 있어서,
    상기 하나 이상의 프로세서들은 또한,
    지오메트리 파라미터 세트 식별자를 나타내는 지오메트리 슬라이스 헤더 신택스 엘리먼트를 파싱하도록 구성되고,
    상기 지오메트리 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15 를 포함하는 범위에 있도록 제한되고, 상기 하나 이상의 프로세서들은, 상기 지오메트리 파라미터 세트 식별자에 의해 식별되는 지오메트리 파라미터 세트에 추가로 기초하여 상기 포인트 클라우드 데이터를 디코딩하는, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
  34. 제 29 항에 있어서,
    상기 하나 이상의 프로세서들은 또한,
    속성 파라미터 세트 식별자를 나타내는 속성 슬라이스 헤더 신택스 엘리먼트를 파싱하도록 구성되고,
    상기 속성 슬라이스 헤더 신택스 엘리먼트의 값은 0 내지 15 를 포함하는 범위에 있도록 제한되고, 상기 하나 이상의 프로세서들은, 상기 속성 파라미터 세트 식별자에 의해 식별되는 속성 파라미터 세트에 추가로 기초하여 상기 포인트 클라우드 데이터를 디코딩하는, 포인트 클라우드 데이터를 디코딩하기 위한 디바이스.
KR1020227033279A 2020-04-07 2021-04-07 지오메트리 기반 포인트 클라우드 압축을 위한 하이-레벨 신택스 설계 KR20220164490A (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US202063006660P 2020-04-07 2020-04-07
US63/006,660 2020-04-07
US202063010550P 2020-04-15 2020-04-15
US63/010,550 2020-04-15
US202063013971P 2020-04-22 2020-04-22
US63/013,971 2020-04-22
US17/223,789 US11743501B2 (en) 2020-04-07 2021-04-06 High-level syntax design for geometry-based point cloud compression
US17/223,789 2021-04-06
PCT/US2021/026246 WO2021207406A2 (en) 2020-04-07 2021-04-07 High-level syntax design for geometry-based point cloud compression

Publications (1)

Publication Number Publication Date
KR20220164490A true KR20220164490A (ko) 2022-12-13

Family

ID=78007337

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227033279A KR20220164490A (ko) 2020-04-07 2021-04-07 지오메트리 기반 포인트 클라우드 압축을 위한 하이-레벨 신택스 설계

Country Status (7)

Country Link
US (2) US11743501B2 (ko)
EP (1) EP4133733A2 (ko)
KR (1) KR20220164490A (ko)
CN (1) CN115336278A (ko)
BR (1) BR112022019417A2 (ko)
TW (1) TW202143736A (ko)
WO (1) WO2021207406A2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023122628A1 (en) * 2021-12-21 2023-06-29 Bytedance Inc. Method, apparatus, and medium for point cloud coding
WO2023116731A1 (en) * 2021-12-21 2023-06-29 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for point cloud coding
CN116781913A (zh) * 2022-03-11 2023-09-19 腾讯科技(深圳)有限公司 点云媒体的编解码方法及相关产品
WO2024042909A1 (ja) * 2022-08-26 2024-02-29 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 復号方法、符号化方法、復号装置及び符号化装置
CN115866274A (zh) * 2022-09-19 2023-03-28 腾讯科技(深圳)有限公司 一种点云媒体的数据处理方法及相关设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3633621A1 (en) * 2018-10-02 2020-04-08 BlackBerry Limited Predictive coding of point clouds using multiple frames of references
US11882303B2 (en) * 2019-03-16 2024-01-23 Lg Electronics Inc. Apparatus and method for processing point cloud data
WO2020189903A1 (ko) * 2019-03-20 2020-09-24 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US12010350B2 (en) * 2019-03-22 2024-06-11 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11803986B2 (en) * 2019-08-08 2023-10-31 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method

Also Published As

Publication number Publication date
WO2021207406A2 (en) 2021-10-14
WO2021207406A3 (en) 2022-01-13
US20210321139A1 (en) 2021-10-14
CN115336278A (zh) 2022-11-11
US11743501B2 (en) 2023-08-29
EP4133733A2 (en) 2023-02-15
US20230379503A1 (en) 2023-11-23
BR112022019417A2 (pt) 2022-12-06
TW202143736A (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
US11350132B2 (en) High level syntax for geometry-based point cloud compression
US11803989B2 (en) Quantization for geometry-based point cloud compression
KR20220164490A (ko) 지오메트리 기반 포인트 클라우드 압축을 위한 하이-레벨 신택스 설계
US12002244B2 (en) Global scaling for geometry-based point cloud coding
US11729428B2 (en) Temporal scalability in geometry point cloud compression (G-PCC)
US11770562B2 (en) High-level syntax for geometry-based point cloud compression
KR20220163951A (ko) 지오메트리 기반 포인트 클라우드 압축에서 변환을 예측하기 위한 예측자 인덱스 시그널링
US20220114763A1 (en) High level syntax refinements for geometry point cloud compression (g-pcc)
KR20220164700A (ko) 지오메트리 기반 포인트 클라우드 압축을 위한 트라이수프 신택스 시그널링
JP2023533163A (ja) ジオメトリベース点群圧縮のための属性パラメータコーディング
US12026922B2 (en) Attribute parameter coding for geometry-based point cloud compression