KR20230079188A - 포인트 클라우드 레이어링 방법 및 디코더, 인코더, 저장 매체 - Google Patents

포인트 클라우드 레이어링 방법 및 디코더, 인코더, 저장 매체 Download PDF

Info

Publication number
KR20230079188A
KR20230079188A KR1020237014820A KR20237014820A KR20230079188A KR 20230079188 A KR20230079188 A KR 20230079188A KR 1020237014820 A KR1020237014820 A KR 1020237014820A KR 20237014820 A KR20237014820 A KR 20237014820A KR 20230079188 A KR20230079188 A KR 20230079188A
Authority
KR
South Korea
Prior art keywords
value
point cloud
determining
bit stream
parameter
Prior art date
Application number
KR1020237014820A
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 KR20230079188A publication Critical patent/KR20230079188A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

본 출원의 일 예시적인 실시예는 포인트 클라우드 레이어링 방법을 개시하고, 상기 방법은 디코더에 적용되며, 포인트 클라우드 비트 스트림을 수신하는 단계 - 상기 포인트 클라우드 비트 스트림은 상기 포인트 클라우드 비트 스트림의 기하 정보와 속성 정보를 포함함 - ; 상기 포인트 클라우드 비트 스트림에 포함된 제1 신텍스 요소의 최대 허용값을 결정하는 단계; 상기 포인트 클라우드 비트 스트림을 파싱하고, 상기 최대 허용값에 따라, 상기 제1 신텍스 요소의 값을 결정하는 단계; 상기 제1 신텍스 요소의 값에 따라, 상기 속성 정보를 디코딩하는 과정에서의 디테일 레벨의 개수를 결정하는 단계; 및 상기 디테일 레벨의 개수와 상기 기하 정보에 따라, 상기 속성 정보에 대해 디코딩을 수행하여, 상기 포인트 클라우드 비트 스트림 재구축 포인트 클라우드를 획득하는 단계를 포함한다. 본 출원의 일 예시적인 실시예는 또한 인코더, 디코더 및 저장 매체를 동시에 제공한다.

Description

포인트 클라우드 레이어링 방법 및 디코더, 인코더, 저장 매체
본 출원은 비디오 코딩 분야에 관한 것으로서, 포인트 클라우드 레이어링 방법 및 디코더, 인코더, 저장 매체에 관한 것이지만 이에 한정되지 않는다.
관련 기술에 있어서, 포인트 클라우드 속성 디테일 레벨(Level of Detail, LOD) 분할의 과정에서, 사용자가 수동으로 LOD에 대한 분할 계층수를 설정한다. 포인트 클라우드의 기하 기반의 포인트 클라우드 압축 코딩(Geometry-based Point Cloud Compression, G-PCC) 프레임워크의 일반적인 테스트 조건에 있어서, 일반적으로 LOD의 분할 계층수를 하나의 비교적 큰 수로 설정하므로, 설정값과 실제의 분할 계층수가 부합되지 않는 것을 초래한다.
이를 고려하여, 본 출원의 일 예시적인 실시예는 관련 기술에서 존재하는 적어도 하나의 문제를 해결하기 위해 포인트 클라우드 레이어링 방법 및 디코더, 인코더, 저장 매체를 제공한다.
본 출원의 일 예시적인 실시예의 기술 방안은 아래와 같이 구현된다.
제1 측면에 있어서, 본 출원의 일 예시적인 실시예는 포인트 클라우드 레이어링 방법을 제공하고, 디코더에 적용되며, 상기 방법은,
포인트 클라우드 비트 스트림을 수신하는 단계 - 상기 포인트 클라우드 비트 스트림은, 상기 포인트 클라우드 비트 스트림의 기하 정보와 속성 정보를 포함함 - ;
상기 포인트 클라우드 비트 스트림에 포함되는 제1 신텍스 요소의 최대 허용값을 결정하는 단계;
상기 포인트 클라우드 비트 스트림을 파싱하고, 상기 최대 허용값에 따라, 상기 제1 신텍스 요소의 값을 결정하는 단계;
상기 제1 신텍스 요소의 값에 따라, 상기 속성 정보를 디코딩하는 과정에서의 디테일 레벨의 개수를 결정하는 단계; 및
상기 디테일 레벨의 개수와 상기 기하 정보에 따라, 상기 속성 정보에 대해 디코딩을 수행하여, 상기 포인트 클라우드 비트 스트림의 재구축 포인트 클라우드를 획득하는 단계를 포함한다.
제2 측면에 있어서, 본 출원의 일 예시적인 실시예는 포인트 클라우드 레이어링 방법을 제공하고, 인코더에 적용되며, 상기 방법은,
포인트 클라우드의 기하 정보와 속성 정보를 획득하는 단계;
제1 신텍스 요소의 최대 허용값을 결정하는 단계 - 상기 제1 신텍스 요소는 상기 포인트 클라우드의 속성 정보에 대해 인코딩을 수행하는 과정에서의 디테일 레벨의 개수를 나타냄 - ;
상기 최대 허용값과 상기 포인트 클라우드의 기하 정보에 따라, 상기 포인트 클라우드에 대해 디테일 레벨 분할을 수행하여, 상기 제1 신텍스 요소의 값을 결정하는 단계;
상기 포인트 클라우드에 대한 디테일 레벨 분할에 따라, 상기 포인트 클라우드에 대해 인코딩을 수행하여, 비트 스트림을 생성하는 단계; 및
상기 제1 신텍스 요소의 값에 대해 인코딩을 수행하여, 인코딩 비트를 비트 스트림에 기입하는 단계를 포함한다.
제3 측면에 있어서, 본 출원의 실시예는 디코더를 제공하고, 상기 디코더는,
포인트 클라우드 비트 스트림을 수신하기 위한 제1 수신 모듈 - 상기 포인트 클라우드 비트 스트림은, 상기 포인트 클라우드 비트 스트림의 기하 정보와 속성 정보를 포함함 - ;
상기 포인트 클라우드 비트 스트림에 포함되는 제1 신텍스 요소의 최대 허용값을 결정하기 위한 제1 결정 모듈;
상기 포인트 클라우드 비트 스트림을 파싱하고, 상기 최대 허용값에 따라, 상기 제1 신텍스 요소의 값을 결정하기 위한 제1 파싱 모듈;
상기 제1 신텍스 요소의 값에 따라, 상기 속성 정보를 디코딩하는 과정에서의 디테일 레벨의 개수를 결정하기 위한 제2 결정 모듈; 및
상기 디테일 레벨의 개수와 상기 기하 정보에 따라, 상기 속성 정보에 대해 디코딩을 수행하여, 상기 포인트 클라우드 비트 스트림의 재구축 포인트 클라우드를 획득하기 위한 제1 디코딩 모듈을 포함한다.
제4 측면에 있어서, 본 출원의 실시예는 인코더를 제공하고,
포인트 클라우드의 기하 정보와 속성 정보를 획득하기 위한 제1 획득 모듈;
제1 신텍스 요소의 최대 허용값을 결정하기 위한 제1 결정 모듈 - 상기 제1 신텍스 요소는 상기 포인트 클라우드의 속성 정보에 대해 인코딩을 수행하는 과정에서의 디테일 레벨의 개수를 나타냄 - ;
상기 최대 허용값과 상기 포인트 클라우드의 기하 정보에 따라, 상기 포인트 클라우드에 대해 디테일 레벨 분할을 수행하여, 상기 제1 신텍스 요소의 값을 결정하기 위한 제1 분할 모듈;
상기 포인트 클라우드에 대한 디테일 레벨 분할에 따라, 상기 포인트 클라우드에 대해 인코딩을 수행하여, 비트 스트림을 생성하기 위한 제1 인코딩 모듈; 및
상기 제1 신텍스 요소의 값에 대해 인코딩을 수행하여, 인코딩 비트를 비트 스트림에 기입하기 위한 제2 인코딩 모듈을 포함한다.
제5 측면에 있어서, 본 출원의 실시예는 디코더를 제공하고,
제2 메모리 및 제2 프로세서를 포함하며;
상기 제2 메모리에는 제2 프로세서에서 작동 가능한 컴퓨터 프로그램이 저장되고, 상기 제2 프로세서는 상기 프로그램을 실행할 때 제1 측면의 상기 포인트 클라우드 레이어링 방법을 구현한다.
제3 측면에 있어서, 본 출원의 실시예는 인코더를 제공하고,
제1 메모리와 제1 프로세서를 포함하며;
상기 제1 메모리에는 제1 프로세서에서 작동 가능한 컴퓨터 프로그램이 저장되고, 상기 제1 프로세서는 상기 프로그램을 실행할 때 제2 측면의 상기 포인트 클라우드 레이어링 방법을 구현한다.
본 출원의 일 예시적인 실시예는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 저장 매체를 제공하고, 상기 컴퓨터 프로그램이 프로세서에 의해 실행될 때 상기 포인트 클라우드 레이어링 방법에서의 단계를 구현한다.
도 1a는 본 출원의 일 예시적인 실시예의 포인트 클라우드 레이어링 방법의 구현 흐름 예시도이다.
도 1b는 본 출원의 일 예시적인 실시예에서 제공하는 포인트 클라우드 레이어링 방법의 다른 구현 흐름 예시도이다.
도 2a는 본 출원의 실시예에서 제공하는 포인트 클라우드 레이어링 방법의 흐름 예시도이다.
도 2b는 본 출원의 일 예시적인 실시예에서 제공하는 포인트 클라우드 레이어링 방법의 다른 구현 흐름 예시도이다.
도 3은 본 출원의 일 예시적인 실시예의 포인트 클라우드 압축 인코딩 흐름 예시도이다.
도 4는 본 출원의 일 예시적인 실시예에서 LOD 분할의 구현 흐름 예시도이다.
도 5는 본 출원의 일 예시적인 실시예에서 제공하는 모튼 코드에 따라 LOD 분할을 수행하는 구조 예시도이다.
도 6은 본 출원의 일 예시적인 실시예의 거리에 따라 LOD 분할을 수행하는 구조 예시도이다.
도 7a는 본 출원의 실시예의 디코더의 하드웨어 구조 예시도이다.
도 7b는 본 출원의 실시예의 다른 디코더의 하드웨어 구조 예시도이다.
도 8a는 본 출원의 실시예의 인코더의 하드웨어 구조 예시도이다.
도 8b는 본 출원의 실시예의 다른 인코더의 하드웨어 구조 예시도이다.
아래에, 본 출원의 일 예시적인 실시예에서의 도면을 결합하여 본 출원의 일 예시적인 실시예에서의 기술방안을 명확하고 완전하게 설명한다.
본 출원의 일 예시적인 실시예는 포인트 클라우드 레이어링 방법을 제기하고, 상기 방법은 전방 촬영 또는 후방 촬영 기능을 구비하는 모바일 기기에 적용되고, 상기 모바일 기기는 다양한 형태로 실시될 수 있다. 예를 들어, 본 출원의 일 예시적인 실시예에서 설명된 모바일 기기는 휴대폰, 태블릿 컴퓨터, 랩 톱 컴퓨터, 개인용 정보 단말(Personal Digital Assistant, PDA) 등을 포함할 수 있다. 또한, 상기 방법에 의해 구현되는 기능은 모바일 기기에서의 프로세서가 프로그램 코드를 호출하는 것을 통해 구현될 수 있고, 물론 프로그램 코드는 컴퓨터 저장 매체에 저장될 수 있으며, 이로부터 알다시피, 상기 모바일 기기는 적어도 프로세서 및 저장 매체를 포함한다.
본 출원의 실시예는 포인트 클라우드 레이어링 방법을 제공하고, 상기 방법은 비디오 디코딩 기기, 즉 디코더에 적용된다. 상기 방법에 의해 구현된 기능은 비디오 디코딩 기기에서의 프로세서가 프로그램 코드를 호출하는 것을 통해 구현될 수 있고, 물론 프로그램 코드는 컴퓨터 저장 매체에 저장될 수 있으며, 이로부터 알다시피, 상기 비디오 디코딩 기기는 적어도 프로세서 및 저장 매체를 포함한다. 도 1a를 참조하면, 도 1a는 본 출원의 일 예시적인 실시예의 포인트 클라우드 레이어링 방법의 구현 흐름 예시도이고, 도 1a를 결합하여 아래에 설명한다.
단계 S101에 있어서, 포인트 클라우드 비트 스트림을 수신한다.
여기서, 포인트 클라우드 비트 스트림은 상기 포인트 클라우드의 기하 정보(geometry)와 속성 정보(Attribute)를 포함한다. 포인트 클라우드 비트 스트림은 예를 들어, 3차원 비디오를 형성하기 위한 포인트 클라우드 데이터 등과 같은 레이어링을 수행해야 하는 포인트 클라우드 데이터로 이해할 수 있다. 포인트 클라우드 데이터에 대해 레이어링을 수행하는 방식은 모튼 코드에 따라 구현될 수 있고, 또한 샘플링 거리에 따라 구현될 수 있다. 단계 S101에 있어서, 포인트 클라우드 비트 스트림의 기하 정보는, 포인트 클라우드 법선 벡터, 곡률, 포인트 클라우드 밀도, 포인트 클라우드 표면의 거칠기, 포인트 클라우드 중심, 포인트 클라우드 가중 중심, 포인트 클라우드 공분산 및 포인트 클라우드 교차 공분산 등을 포함한다. 속성 정보는, 입력 포인트 클라우드의 분할 거리의 제곱, 분할 총 계층수, 컬러 공간의 정보, 공간 해상도, 포인트 위치의 정밀도 및 표면 법선 벡터 등을 포함한다.
일부 가능한 실시형태에 있어서, 모튼 코드에 따라 포인트 클라우드 데이터에 대한 LOD 레이어링의 수행을 구현하는 과정은 아래와 같다.
먼저, 변수
Figure pct00001
가 원래의 입력 포인트 클라우드를 저장하는 것으로 가정하면, 변수
Figure pct00002
는 각 포인트와 관련되는 모튼 값이다. 또한, D0과 ρ를 각각 두 명의 사용자에 의해 설정된 초기 파라미터로 설정하여, LOD 거리 임계값을 분할하는 파라미터로 사용하기 위한 것이고, 여기서, ρ>1이다. 여기서, 모튼 코드를 계산하는 구체적인 방법의 설명은 아래와 같고, 각 컴포넌트에 대한 d 비트 이진수로 나타내는 3차원 좌표에서, 그의 세 개의 컴포넌트는 아래의 공식 (1)에 도시된 바와 같다.
Figure pct00003
공식 (1);
여기서,
Figure pct00004
는 각각 x, y, z의 가장 높은 위치
Figure pct00005
에서부터 가장 낮은 위치
Figure pct00006
에 대응되는 이진수 값이다. 모튼 코드 M은 x, y, z에 대해 가장 높은 위치에서 시작하여, x1, y1, z1를 가장 낮은 위치까지 순차적으로 교차 배열하는 것이고, M의 계산 공식은 아래의 공식 (2)에 도시된 바와 같다.
Figure pct00007
공식 (2);
여기서,
Figure pct00008
는 각각 M의 가장 높은 위치
Figure pct00009
로부터 가장 낮은 위치
Figure pct00010
까지의 값이다. 포인트 클라우드에서의 각 포인트의 모튼 코드 M을 얻은 후, 포인트 클라우드에서의 포인트를 모튼 코드에 따라 작은 것으로부터 큰 것으로의 순서로 배열한다. 변수 I에는 모든 포인트의 인덱스가 저장되고, 상기 알고리즘은 끊임없이 반복되며, k 번째 반복일 때, LODk에 속하는 포인트는 LOD0으로부터 제LODk-1층에서 최근접 이웃을 찾는다. 상기 알고리즘의 구체적인 과정은 아래와 같다.
먼저, 샘플링 거리
Figure pct00011
를 초기화하고;
다음, k 번째 반복일 때, k=0,1...N-1(N은 LOD 분할의 총 계층수임)이다. 변수 L(k)는 k 번째 층 LOD에 속하는 포인트를 저장하고, 변수 O(k)는 LODk 층보다 더 높은 포인트 집합에 속한다. 여기서, L(k)와 O(k)의 계산 단계는 아래와 같다.
첫 번째 단계에 있어서, 먼저, O(k)와 L(k)는 초기화되고;
여기서, L(k)는 공집합으로 초기화되고; O(k)는 공집합으로 초기화된다.
두 번째 단계에 있어서, 매번의 반복은 변수 I에 저장된 포인트의 인덱스에 따라 순회한다. 매번의 순회는 모두 현재 포인트로부터 집합 O(k)까지에서의 일정 범위 내의 모든 포인트의 거리를 계산한다. 현재 포인트에 대응되는 모튼 순서값에 따라, 집합 O(k)의 하나의 검색 범위 SR1 내에서(SR1은 모튼 순서에 따른 검색 범위를 나타내고, 일반적으로 8, 16, 64임) 검색하고, 상기 범위 내에서 현재 포인트 거리까지의 거리가 임계값 dl보다 작은 것을 검색하면, 현재의 포인트를 집합 L(k)에 추가하고, 그렇지 않은 경우 집합 O(k)에 추가한다.
세 번째 단계에 있어서, 매번의 반복 과정에서, 집합 L(k)와 O(K)는 각각 계산을 수행하고, O(k)에서의 포인트는 집합 L(k)에서의 포인트의 예측 포인트로 사용되며, 이로써, 포인트 클라우드 데이터에 대한 LOD 레이어링의 수행을 구현한다. 집합 R(k)=L(k)/L(k-1)이라면, 여기서 R(k)는 LOD(k-1)와 LOD(k) 집합의 차이나는 부분의 포인트 집합을 나타낸다.
다른 가능한 실시형태에 있어서, 샘플링 거리에 따라 포인트 클라우드 데이터에 대한 LOD 레이어링의 수행을 구현하는 과정은 아래와 같다.
LOD의 생성 과정은 사용자에 의해 설정된 한 그룹의 상이한 거리 임계값
Figure pct00012
을 통해 원래의 입력 포인트 클라우드를 상이한 세분화 수준
Figure pct00013
으로 분할하는 것이다. 유의해야 할 것은, 상기 거리 임계값
Figure pct00014
은 두 개의 조건을 만족해야 하며, 즉,
Figure pct00015
을 만족해야 한다.
상기 LOD의 분할 과정은 결정된 것이며, 포인트 클라우드 기하 재구축 이후에 작업되며, 이때 포인트 클라우드의 기하 좌표 정보를 얻을 수 있다. 상기 LOD를 분할하는 과정은 포인트 클라우드의 인코딩 및 디코딩측에 동시에 적용되고, LOD 분할의 구체적인 과정은 아래와 같다.
1) 먼저, 모든 포인트를 "방문하지 않았음"의 포인트 집합으로 표기하고, "방문했었음"의 포인트 집합인 V를 빈 집합으로 초기화한다.
2) 상기 알고리즘 과정은 끊임없이 반복된다. 매번 반복
Figure pct00016
에 대응되는 세분화 레벨
Figure pct00017
의 생성 단계는 아래와 같다.
첫 번째 단계에 있어서, 상기 알고리즘 반복은 모든 포인트를 순회하고;
두 번째 단계에 있어서, 현재의 포인트가 이미 순회되었으면, 상기 포인트를 무시하며;
세 번째 단계에 있어서, 그렇지 않은 경우, 상기 포인트로부터 집합 V까지의 가장 가까운 거리 D를 계산하고;
네 번째 단계에 있어서, 상기 가장 가까운 거리 D가 임계값
Figure pct00018
보다 크거나 같으면, 상기 포인트를 세분화 레벨
Figure pct00019
와 V에 추가하며;
다섯 번째 단계에 있어서, 상기 과정은 모든 포인트가 순회될 때까지 끊임없이 반복된다.
3)
Figure pct00020
번째 LOD 집합, 즉
Figure pct00021
는 세분화 레벨
Figure pct00022
에서의 포인트를 병합하는 것을 통해 얻는다.
상기 과정은 모든 LOD가 생성되거나 또는 모든 포인트가 모두 순회될 때까지 끊임없이 반복되며, 이와 같이 포인트 클라우드 데이터에 대한 LOD 레이어링을 구현한다.
단계 S102에 있어서, 포인트 클라우드 비트 스트림에 포함되는 제1 신텍스 요소의 최대 허용값을 결정한다.
여기서, 최대 허용값은 속성 인코딩의 세부 정도 레벨을 지정하기 위한 것이고, 0부터 X까지의 범위 내에 있을 수 있고, X는 양의 정수이다. 포인트 클라우드 비트 스트림의 프로파일(Profile), 티어(Tier) 또는 레벨(Level)을 참조하는 것을 통해, 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 최대 허용값을 결정할 수 있다. 또는 최대 허용값을 상수로 설정하고, 상기 상수에 따라 포인트 클라우드 비트 스트림에 대해 LOD 레이어링을 수행한다.
단계 S103에 있어서, 포인트 클라우드 비트 스트림을 파싱하고, 최대 허용값에 따라, 제1 신텍스 요소의 값을 결정한다.
여기서, 포인트 클라우드 비트 스트림에 대해 파싱을 수행하여, 상기 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 최대 허용값을 획득한다. 다음, 포인트 클라우드 비트 스트림의 프로파일(Profile), 티어(Tier) 또는 레벨(Level)을 참조하는 것을 통해, 최대 허용값으로부터 제1 신텍스 요소의 값을 결정하고, 또는 제1 신텍스 요소의 값을 상수로 설정하고, 즉 상기 상수에 따라 포인트 클라우드 비트 스트림에 대해 LOD 레이어링을 수행할 수 있다.
일부 가능한 실시형태에 있어서, 제1 신텍스 요소의 값을 결정하는 과정은 아래의 두 가지 방식을 통해 구현될 수 있다.
방식 1에 있어서, 먼저, 상기 포인트 클라우드 비트 스트림을 파싱하여, 적합성(Conformance) 파라미터를 획득한다.
여기서, 적합성 파라미터는 상기 포인트 클라우드 비트 스트림의 자체 속성을 나타내기 위한 것이고, 적어도 프로파일, 티어, 레벨 중 하나의 파라미터를 포함한다.
다음, 기설정된 상기 적합성 파라미터와 상기 최대 허용값 사이의 대응 관계에 따라, 상기 최대 허용값을 결정한다.
여기서, 적합성 파라미터와 상기 최대 허용값 사이의 대응 관계는, 기설정된 대응 관계로서, 프로파일, 티어 및 레벨과 최대 허용값 사이의 대응 관계를 포함한다. 하나의 구체적인 예에 있어서, 레벨을 상, 중, 하 세 개의 등급으로 분할하여, 상이한 등급이 상이한 최대 허용값에 대응되도록 설정하고, 등급이 클수록 대응되는 최대 허용값이 더욱 크고, 예를 들어, 상위 등급에 대응되는 최대 허용값이 31이고, 중급 등급에 대응되는 최대 허용값이 21이며, 하위 등급에 대응되는 최대 허용값이 16이면, 프로파일 및 레벨과 최대 허용값 사이의 대응 관계도 이와 같이 설정될 수 있다. 이와 같이, 적합성 파라미터와 상기 최대 허용값 사이의 대응 관계에 따라, 최대 허용값을 결정할 수 있다.
방식 2에 있어서, 최대 허용값을 기설정된 상수 값으로 설정하고, 여기서, 상수값은 0보다 큰 정수이다.
일부 가능한 실시형태에 있어서, 상수 값은 0보다 크고, 기설정된 임계값보다 작거나 같은 정수이다. 하나의 구체적인 예에 있어서, 기설정된 임계값은 31일 수 있고, 다른 실시예에 있어서, 기설정된 임계값은 다른 값일 수도 있으며, 예를 들어, 6, 7, 8, 16, 21, 32 또는 64 등일 수 있다.
단계 S104에 있어서, 상기 제1 신텍스 요소의 값에 따라, 상기 속성 정보를 디코딩하는 과정에서의 디테일 레벨의 개수를 결정한다.
여기서, 제1 신텍스 요소의 값을 설정한 후, 상기 값에서 1을 뺀 수를, 포인트 클라우드 속성 정보를 디코딩하는 과정에서의 디테일 레벨의 개수로 사용할 수 있다.
일부 실시예에 있어서, 제1 신텍스 요소의 값을 결정한 후, 먼저, 상기 포인트 클라우드 비트 스트림의 모튼 코드 집합을 획득하고; 일부 가능한 구현형태에 있어서, 먼저, 검색될 포인트 클라우드 데이터를 획득하며; 예를 들어, 3차원 비디오를 형성하기 위한 포인트 클라우드 데이터 등이다. 다음, 상기 포인트 클라우드 데이터의 모튼 코드를 결정하고; 예를 들어, 먼저 포인트 클라우드 데이터의 이진법 인코딩 데이터 스트림을 결정하고, 다음 상기 이진법 인코딩 데이터 스트림에 따라, 포인트 클라우드 데이터의 모튼 코드를 결정할 수 있다. 마지막으로, 상기 포인트 클라우드 데이터의 모튼 코드를 오름순에 따라 배열하여, 복수 개의 모튼 코드를 포함하는 상기 모튼 코드 집합을 얻는다. 다른 실시예에 있어서, 포인트 클라우드 데이터의 모튼 코드를 내림순에 따라 배열하여, 복수 개의 모튼 코드를 포함하는 상기 모튼 코드 집합을 얻을 수도 있고; 또한, 포인트 클라우드 데이터의 모튼 코드를 임의의 특정된 순서(예를 들어, 임의로 설정된, 중간 부분이 가장 크고, 양측으로 순차적으로 감소되는 순서 등)에 따라 배열하여, 모튼 코드 집합을 얻을 수도 있다. 다음, 상기 모튼 코드 집합과 상기 기하 정보에 따라, 상기 최대 허용값 범위 내에서, 상기 제1 신텍스 요소의 값을 결정하고; 마지막으로, 상기 제1 신텍스 요소의 값에 따라, 상기 포인트 클라우드에 대해 디테일 레벨 분할을 수행한다.
단계 S105에 있어서, 디테일 레벨의 개수와 포인트 클라우드의 기하 정보에 따라, 속성 정보에 대해 디코딩을 수행하여, 포인트 클라우드의 재구축 포인트 클라우드를 얻는다.
여기서, 디테일 레벨의 개수는, 포인트 클라우드에 대해 LOD 레이어링을 수행하는 계층수로 이해할 수 있고, 상기 계층수와 포인트 클라우드의 기하 정보를 종합적으로 고려하는 것을 통해, 포인트 클라우드의 속성 정보에 대해 디코딩만 수행하여, 포인트 클라우드 재구축을 구현한다. 일부 가능한 실시형태에 있어서, 먼저, 디테일 레벨의 개수와 포인트 클라우드의 기하 정보에 따라, 포인트 클라우드에서의 하나 또는 복수 개의 디테일 레벨의 재구축값을 결정한다. 다음, 상기 하나 또는 복수 개의 디테일 레벨의 재구축값에 따라, 포인트 클라우드의 재구축 포인트 클라우드를 획득한다. 예를 들어, 상기 디테일 레벨의 개수와 상기 포인트 클라우드의 기하 정보에 따라, 상기 포인트 클라우드에 대해 디테일 레벨 분할을 수행하여, 하나 또는 복수 개의 디테일 레벨의 재구축값을 획득한다. 일 예시적인 실시예에 있어서, 디코더가 포인트 클라우드 재구축을 수행할 때, 비트 스트림으로부터, n 개의 슬라이스에서의 각 슬라이스 교점 위치 정보 및 n 개의 슬라이스에 대응되는 포인트 클라우드 정보를 파싱할 수 있으므로, 포인트 클라우드 모델을 재구축할 때, n 개의 슬라이스에서의 각 슬라이스 교점 위치 정보와 n 개의 슬라이스에 대응되는 포인트 클라우드 정보에 따라, 포인트 클라우드 모델의 재구축을 수행할 수 있다.
본 출원의 일 예시적인 실시예에 있어서, 포인트 클라우드의 기하 정보와 속성 정보를 획득하는 것을 통해, 제1 신텍스 요소의 최대 허용값을 결정하고, 다음, 최대 허용값과 포인트 클라우드의 기하 정보에 따라, 제1 신텍스 요소의 값을 결정하며; 마지막으로, 포인트 클라우드에 대한 디테일 레벨 분할에 따라, 포인트 클라우드에 대해 인코딩을 수행하고; 제1 신텍스 요소의 값에 대해 인코딩을 수행하여, 인코딩 비트를 비트 스트림에 기입한다. 이와 같이, 포인트 클라우드 데이터의 기하 정보와 속성 정보에 따라, 자체 적응적으로 상기 포인트 클라우드 데이터 최대 허용값을 결정함으로써, 포인트 클라우드 데이터에 대해 레이어링을 수행하는 제1 신텍스 요소의 값을 범위를 규정함으로써, 인코딩측과 디코딩측에서 사용자에 의해 설정된 LOD 분할 계층수에 대해 검사를 수행하여, 사용자에 의해 설정된 분할 계층수와 실제 분할 계층수의 일치성을 증가할 수 있다.
일부 실시예에 있어서, 제1 신텍스 요소의 값을 결정한 후, 즉 단계 S103 이후, 상기 방법은 아래의 과정을 더 포함한다.
먼저, 상기 포인트 클라우드 비트 스트림의 모튼 코드 집합을 획득하고; 일부 가능한 실시형태에 있어서, 먼저, 검색될 포인트 클라우드 데이터를 획득하며; 예를 들어, 3차원 비디오를 형성하기 위한 포인트 클라우드 데이터 등을 획득한다. 다음, 상기 포인트 클라우드 데이터의 모튼 코드를 결정하고; 예를 들어, 먼저 포인트 클라우드 데이터의 이진법 인코딩 데이터 스트림을 결정하고, 다음 상기 이진법 인코딩 데이터 스트림에 따라, 포인트 클라우드 데이터의 모튼 코드를 결정할 수 있다. 마지막으로, 상기 포인트 클라우드 데이터의 모튼 코드를 오름순에 따라 배열하여, 복수 개의 모튼 코드를 포함하는 상기 모튼 코드 집합을 얻는다. 다른 실시예에 있어서, 포인트 클라우드 데이터의 모튼 코드를 내림순에 따라 배열하여, 복수 개의 모튼 코드를 포함하는 상기 모튼 코드 집합을 얻을 수도 있고; 또한, 포인트 클라우드 데이터의 모튼 코드를 임의의 특정된 순서(예를 들어, 임의로 설정된, 중간 부분이 가장 크고, 양측으로 순차적으로 감소되는 순서 등)에 따라 배열하여, 모튼 코드 집합을 얻을 수도 있다. 다음, 상기 모튼 코드 집합과 상기 기하 정보에 따라, 상기 최대 허용값 범위 내에서, 상기 제1 신텍스 요소의 값을 결정하고; 마지막으로, 상기 제1 신텍스 요소의 값에 따라, 상기 포인트 클라우드에 대해 디테일 레벨 분할을 수행한다.
일부 실시예에 있어서, 모튼 코드에 따라 LOD 분할을 구현한 경우, 포인트 클라우드 데이터의 속성 정보에 따라 자체 적응적으로 포인트 클라우드 데이터에 대해 레이어링을 수행하는 최대 허용값을 결정할 수 있고, 즉 단계 S102는, 아래의 단계를 통해 구현될 수 있으며, 도 1b를 참조하면, 도 1b는 본 출원의 일 예시적인 실시예에서 제공하는 포인트 클라우드 레이어링 방법의 다른 구현 흐름 예시도이며, 아래와 같이 설명한다.
단계 S121에 있어서, 상기 포인트 클라우드 비트 스트림을 파싱하여, 루트 노드의 길이, 너비, 높이의 값을 결정한다.
여기서, 루트 노드는 포인트 클라우드에서 가장 깊은 노드를 나타내고, 바운딩 박스로 나타낼 수 있다.
일부 가능한 실시형태에 있어서, 상기 포인트 클라우드 비트 스트림에 포함된 기하 정보를 파싱하여, 상기 루트 노드의 길이, 너비와 높이의 값을 결정한다. 예를 들어, 상기 기하 정보에서의 유닛 헤더 정보를 파싱하여, 상기 루트 노드의 길이, 너비와 높이의 값을 결정한다. 따라서, 인코딩측에서, 루트 노드의 길이, 너비와 높이의 값을 인코딩하여 기하 정보에서의 유닛 헤더 정보(여기서, 유닛 헤더 정보는 geometry_data_unit_ header( )로 나타낼 수 있음)에 기입하므로, 디코딩측에서 기하 정보에서의 유닛 헤더 정보를 파싱하는 것을 통해, 상기 루트 노드의 길이, 너비와 높이의 값을 결정할 수 있다. 여기서, 인코더에서 상기 포인트 클라우드의 기하 정보에 따라, 상기 포인트 클라우드의 바운딩 박스를 결정하고, 바운딩 박스에 따라, 상기 포인트 클라우드의 루트 노드를 결정하여, 상기 포인트 클라우드의 루트 노드의 길이, 너비와 높이의 값을 얻고, 얻은 포인트 클라우드의 루트 노드의 길이, 너비와 높이의 값을 비트 스트림으로 인코딩하여 유닛 헤더 정보에 기입한다.
단계 S122에 있어서, 상기 포인트 클라우드 비트 스트림을 파싱하여, 우측 시프트 제1 파라미터의 값을 결정한다.
여기서, 포인트 클라우드의 기하 정보에 따라, 포인트 클라우드가 레이어링을 수행하는 우측 시프트 제1 파라미터의 값을 결정하고, 예를 들어, 사용자에 의해 입력된 초기 샘플링 거리이다. 일부 가능한 실시형태에 있어서, 포인트 클라우드 비트 스트림을 파싱하는 것을 통해, 포인트 클라우드의 초기 샘플링 거리를 결정하고, 상기 초기 샘플링 거리를 우측 시프트 제1 파라미터의 값으로 설정한다. 초기 샘플링 거리는 사용자에 의해 설정된 것일 수 있고, 포인트 클라우드의 속성 정보에 따라 설정된 것일 수도 있다.
단계 S123에 있어서, 우측 시프트 제1 파라미터의 값과 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 최대 허용값을 결정한다.
여기서, 샘플링 거리에 따른 포인트 클라우드 데이터에 대한 LOD 레이어링 구현이든지, 모튼 코드에 따른 포인트 클라우드 데이터에 대한 LOD 레이어링 구현이든지를 막론하고, 포인트 클라우드의 속성 정보를 종합적으로 고려하여 포인트 클라우드 데이터에 대해 레이어링을 수행하는 제N 층을 결정하고, 제N 층과 타깃 길이 사이의 관계를 판단하는 것을 통해, 최대 허용값을 설정한다.
일부 가능한 실시형태에 있어서, 포인트 클라우드 비트 스트림에 대해 분할을 수행하는 최대 허용값을 결정하는 단계는, 아래의 두 가지 구현 방식을 포함한다.
방식 1에 있어서, 모튼 코드에 따라 포인트 클라우드 데이터에 대한 LOD 레이어링 수행을 구현하는 방식은, 아래의 단계를 통해 구현될 수 있다.
첫 번째 단계에 있어서, 루트 노드 차원의 최대값을 루트 노드의 길이, 너비와 높이인 세 개의 값에서의 최대값으로 설정한다.
여기서, 루트 노드의 길이, 너비와 높이인 세 개의 값에서의 최대값(gbh.maxRootNodeDimLog2)을, 루트 노드 차원의 최대값으로 설정한다. 속성 정보에 포함된, 포인트 클라우드 초기 분할 거리, 분할 총 계층수와 컬러 공간의 변환 등 파라미터를 통해, 포인트 클라우드에 대해 처리를 수행하여, 제N 층의 노드의 크기를 최종적으로 결정하고, 제N 층의 노드의 크기와 루트 노드의 크기 사이의 차이값이 비교적 작거나 같으면, 제N 층이 위치하는 계층수를, 최대 허용값으로 결정한다.
상기 단계에 있어서, 모튼 코드에 따른 LOD 분할을 구현하는 시나리오에서, 제N 층의 노드의 크기와 루트 노드의 크기 사이의 크기 관계를 비교하는 것을 통해, 자체 적응적으로 최대 LOD의 분할 가능한 계층수를 결정하여, 신텍스 요소(lifting_num_detail_levels_minus1)의 범위를 명확하게 규정한다.
두 번째 단계에 있어서, 상기 포인트 클라우드 비트 스트림을 파싱하여, 우측 시프트 제2 파라미터의 값을 결정한다.
여기서, 우측 시프트 제2 파라미터의 값은, 우측 시프트 제1 파라미터의 값에 대한 파인 튜닝(fine tuning) 값으로 이해할 수 있고, 포인트 클라우드 비트 스트림을 파싱하는 것을 통해, 각 블록의 초기 샘플링 거리를 결정하고, 구해하여, 초기 샘플링 거리 합값과 우측 시프트 제1 파라미터를 서로 감하면, 우측 시프트 제2 파라미터의 값을 얻을 수 있다. 일부 가능한 실시형태에 있어서, 포인트 클라우드 데이터에 대해 인코딩을 수행할 때, 먼저, 포인트 클라우드 데이터를 복수 개의 작은 모듈로 분할하고, 다음, 기하 정보에서, 포인트 클라우드 중의 각 블록의 초기 샘플링 거리를 결정하고, 복수 개의 모듈의 초기 샘플링 거리를 구해하여, 초기 샘플링 거리 합값과 우측 시프트 제1 파라미터의 차이값을, 우측 시프트 제2 파라미터로 결정하며, 즉 우측 시프트 제2 파라미터는 우측 시프트 제1 파라미터에 대해 미세 조정을 수행한 조정 값으로 이해할 수 있다.
세 번째 단계에 있어서, 상기 루트 노드 차원의 최대값과 상기 우측 시프트 제1 파라미터 및 상기 우측 시프트 제2 파라미터의 차이값을 상기 최대 허용값으로 설정한다.
여기서, 우측 시프트 제1 파라미터와 우측 시프트 제2 파라미터를 구해하고, 예를 들어, 입력된 초기 분할 거리와 분할 총 계층수에 따라, 포인트 클라우드에 대해 계산을 수행하여, 상기 초기 샘플링 거리 합값을 결정한다. 본 출원의 일 예시적인 실시예에 있어서, 우측 시프트 제1 파라미터 aps.dist2와 입력 포인트 클라우드에 따라 계산하여 우측 시프트 제2 파라미터 abh.attr_dist2_delta를 얻고, 다음, aps.dist2 와 abh.attr_dist2_delta에 따라 계산하여 초기 우측 시프트 비트 shiftbits0을 얻는다.
일부 가능한 실시형태에 있어서, 아래의 과정을 통해 최대 허용값을 결정할 수 있다.
단계 A에 있어서, 속성 정보의 헤더 파일 함수를 결정한다.
여기서, 속성 정보에 포함된 입력 파라미터(예를 들어, 클라우드 초기 분할 거리, 분할 총 계층수와 컬러 공간의 변환 등)에 따라, 포인트 클라우드 데이터에 대해 처리를 수행하여, 상기 헤더 파일 함수를 얻는다(예를 들어, abh.attr_dist2_delta를 얻음). 상기 헤더 파일 함수는 포인트 클라우드 데이터의 속성 파라미터를 나타내기 위한 것이다.
단계 B에 있어서, 헤더 파일 함수의 값과 속성 정보에 대응되는 파라미터 값을 서로 가하여, 초기 샘플링 거리 합값을 얻는다.
여기서, abh.attr_dist2_delta의 값(우측 시프트 제2 파라미터에 대응되는 값)과 속성 정보에 대응되는 파라미터 값을 서로 가하여, 가하여 얻은 결과를 초기 우측 시프트 비트로 사용한다. 이와 같이, 입력된 속성 정보에 따라 포인트 클라우드 데이터에 대해 처리를 수행함으로써, 포인트 클라우드에 대해 분할을 수행할 때의 초기 우측 시프트 비트를 결정한다.
단계 C에 있어서, 루트 노드 차원의 최대값과 상기 초기 샘플링 거리 합값을 서로 감하여, 최대 허용값을 얻는다.
여기서, 단계 C는 아래의 과정을 통해 구현될 수 있다.
단계 C1에 있어서, 초기 샘플링 거리 합값에 따라, 포인트 클라우드에 대해 분할을 수행하는 제N 층이 속하는 노드를 결정한다.
여기서, N은 2보다 크거나 같은 정수이고; 초기 우측 시프트 비트를 얻은 기초 위에, 한 층을 분할할 때마다, 초기 우측 시프트 비트는 1 증가되고, 대응되는 리프 노드의 크기는 2배 증가된다. 예를 들어, 초기 우측 시프트 비트는 shiftbits0이고, 대응되는 노드의 크기는
Figure pct00023
이며, 한 층을 분할할 때마다, shiftbits0+1되고, 대응되는 리프 노드는 이전 층 노드의 2배로 증가되므로; 제N 층까지 분할하였을 때, 우측 시프트 비트 shiftbits = shiftbits0 +(N-1)이고, 제N 층이 속하는 노드의 크기는
Figure pct00024
이다.
일부 가능한 실시형태에 있어서, 제N 층이 속하는 노드를 결정하는 과정은 아래와 같다.
먼저, 초기 우측 시프트 비트와 기설정된 베이스에 따라, 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 초기 층이 속하는 노드의 사이즈 정보를 결정한다.
여기서, 기설정된 베이스를 베이스로, 초기 우측 시프트 비트를 인덱스로 사용하고, 얻은 결과를 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 초기 층이 속하는 노드의 크기로 사용하며; 예를 들어, 2를 베이스로, shiftbits0을 초기 우측 시프트 비트로 하면, 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 초기 층이 속하는 노드의 크기는
Figure pct00025
이다.
다음, 제N 층과 초기 층 사이의 차이나는 계층수 차이값을 결정한다.
여기서, 초기 층이 1이면, 차이값은 N-1이다.
다시, 계층수 차이값에 따라 초기 층이 속하는 노드의 사이즈 정보에 대해 조절을 수행하여, 조절된 사이즈 정보를 얻는다.
여기서, 초기 우측 시프트 비트의 기초 위에, 계층수 차이값과 가하면, 제N 층 우측 시프트의 비트를 얻을 수 있고, 제N 층 우측 시프트의 비트를 채택하여 초기 층이 속하는 노드의 크기에 대해 조절을 수행함으로써, 조절된 사이즈 정보를 얻는다. 예를 들어, 계층수 차이값이 N-1이면, 제N 층 우측 시프트의 비트는 shiftbits0+(N-1)이고, 이에 따라,
Figure pct00026
의 기초 위에,
Figure pct00027
배 증가함으로써, 조절된 사이즈 정보
Figure pct00028
를 얻는다.
마지막으로, 조절된 사이즈 정보에 따라, 제N 층이 속하는 노드를 결정한다.
여기서, 상기 조절된 사이즈 정보를, 제N 층이 속하는 노드의 크기로 사용한다. 예를 들어,
Figure pct00029
를 제N 층이 속하는 노드의 크기로 사용한다.
단계 C2에 있어서, 제N 층이 속하는 노드와 루트 노드에 따라, 최대 허용값을 결정한다.
여기서, 제N 층이 속하는 노드의 사이즈와 루트 노드의 사이즈 사이의 크기 관계를 비교하는 것을 통해, 계층수의 최대값을 결정한다.
일부 가능한 실시형태에 있어서, 제N 층이 속하는 노드와 루트 노드에 따라, 최대 허용값을 결정하는 단계는, 아래의 과정을 통해 구현될 수 있다.
먼저, 루트 노드의 사이즈 정보를 결정한다.
여기서, 루트 노드의 사이즈 정보는 바운딩 박스에서 가장 긴 변의 길이이다.
다음, 조절된 사이즈 정보와 루트 노드의 사이즈 정보 사이의 제1 차이값을 결정한다.
여기서, 조절된 사이즈 정보와 루트 노드의 사이즈 정보 사이의 크기를 비교하고, 루트 노드의 사이즈 정보와 조절된 사이즈 정보를 서로 감하여, 제1 차이값을 얻는다. 예를 들어, 조절된 사이즈 정보가
Figure pct00030
이고, 루트 노드의 사이즈 정보가
Figure pct00031
이면, 제1 차이값은
Figure pct00032
이다.
마지막으로, 제1 차이값이 제1 기설정된 임계값보다 작거나 같으면, 제N 층에 대응되는 계층수를 최대 허용값으로 결정한다.
여기서, 제1 기설정된 임계값은 0에 접근한 정수이고, 제1 차이값이 0에 접근한 경우, 제N 층이 속하는 노드의 크기와 루트 노드의 크기가 매우 접근하는 것을 설명함으로써, 제N 층에 대응되는 계층수가 이미 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 최대 계층수인 것을 설명하며, 이와 같이, 속하는 노드의 크기와 루트 노드의 크기가 매우 접근한 제N 층에 대응되는 계층수를, 최대 허용값으로 사용하여, 포인트 클라우드의 속성 정보에 따라 자체 적응적으로 신텍스 요소 lifting_num_detail_levels_minus1의 범위를 설정하는 것을 구현한다.
방식 1에 있어서, 입력된 포인트 클라우드의 속성 파라미터 세트를 채택하여 포인트 클라우드 데이터에 대해 처리를 수행함으로써, 포인트 클라우드의 초기 우측 시프트 비트를 결정하고; 초기 우측 시프트 비트의 기초 위에, 초기 분할층에 대응되는 노드의 크기를 결정하며; 다음, 한 층을 분할할 때마다, 초기 우측 시프트 비트는 증가되고, 분할층에 대응되는 노드의 크기도 증가됨으로써, 제N 층 우측 시프트의 비트 및 제N층에 대응되는 노드의 크기를 결정할 수 있으며, 마지막으로, 제N 층 노드의 크기와 타깃 길이 사이의 크기 관계를 비교하는 것을 통해, 최대 허용값을 설정한다.
방식 2에 있어서, 샘플링 거리에 따라 포인트 클라우드에 대한 LOD 레이어링 수행을 구현하는 방식에서, 먼저, 속성 정보에서의 초기 샘플링 거리와 인접한 두 개의 층의 샘플링 거리의 비율을 결합하여, 제N 층의 샘플링 거리를 결정하고; 다음, 제N 층의 샘플링 거리와 타깃 길이 사이의 크기 관계를 비교하는 것을 통해, 최대 허용값을 설정하는 단계는, 아래의 단계를 통해 구현될 수 있다.
단계 A에 있어서, 상기 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 루트 노드 대각선의 거리의 값을 결정한다.
여기서, 바운딩 박스에서 길이가 가장 긴 대각선의 길이를 타깃 길이로 결정한다. 포인트 클라우드 비트 스트림의 속성 정보에서의 루트 노드의 크기에 따라, 바운딩 박스에서 서로 수직되는 세 개의 변의 길이를 결정하고, 이러한 세 개의 변의 길이에 따라, 바운딩 박스에서 두 개의 거리가 가장 먼 정점 사이의 길이를 결정하며, 즉 가장 긴 대각선의 길이를 결정함으로써, 타깃 길이를 얻는다. 구체적인 예에 있어서, 루트 노드의 사이즈가
Figure pct00033
이면, 세 개의 변의 길이는 각각
Figure pct00034
(k=0, 1, 2)이다.
단계 B에 있어서, 상기 루트 노드 대각선의 거리의 값과 상기 우측 시프트 제1 파라미터 값에 따라, 상기 최대 허용값을 결정한다.
일부 가능한 실시형태에 있어서, 단계 B는 아래의 단계를 통해 구현될 수 있다.
단계 B1에 있어서, 제1 비율값을 결정한다.
여기서, 제1 비율값은 상기 루트 노드 대각선의 거리의 값과 상기 우측 시프트 제1 파라미터 값의 산술 제곱근 사이의 비율값이다. 예를 들어, 제1층과 제2층의 샘플링 거리 사이의 비율값이다. 본 출원의 일 예시적인 실시예에 있어서, 각 인접한 두 층 사이의 샘플링 거리 사이의 비율값이 동일하도록 설정할 수 있고, 예를 들어, 모두 P일 수 있다. 다른 실시예에 있어서, 또한, 각 인접한 두 층 사이의 샘플링 거리 사이의 비율값을 상이하게 설정할 수 있다.
단계 B2에 있어서, 제1 비율값의 대수값을 결정한다.
여기서, 제1 비율값의 대수값은 제N 층의 샘플링 거리로 이해할 수 있고, 바운딩 박스에서 가장 긴 대각선의 길이와 제1 비율값에 따라, 제N 층의 샘플링 거리를 결정할 수 있다. 예를 들어, 초기 샘플링 거리의 기초 위에 제1 비율값을 곱하면, 다음 층의 샘플링 거리를 결정할 수 있으며, 이와 같이 유추하면, 제N 층의 샘플링 거리를 결정할 수 있다.
일부 가능한 실시형태에 있어서, 포인트 클라우드 비트 스트림을 파싱하는 것을 통해, 인접한 디테일 레벨의 샘플링 거리 사이의 제1 비율값을 결정하고, 포인트 클라우드의 기하 정보 중 포인트 클라우드 좌표의 희소 경우에 따라, 제1 비율값을 설정한다. 상기 제1 비율값은 임의의 1보다 큰 수로 설정하여, 포인트 클라우드에 대해 레이어링을 수행하는 과정에서, 포인트 클라우드에 대한 수집은 계층수가 증가함에 따라, 층별로 희소해지는 것을 보장할 수 있다.
단계 B3에 있어서, 상기 대수값을 상기 최대 허용값으로 결정한다.
여기서, 상기 대수값에 대응되는 베이스를 디테일 레벨에 인접한 샘플링 거리 사이의 비율값으로 설정한다. 일부 실시예에 있어서, 제N 층의 샘플링 거리와 바운딩 박스에서 가장 긴 대각선의 길이의 크기를 비교하는 것을 통해, 제N 층의 샘플링 거리와 바운딩 박스에서 가장 긴 대각선의 길이가 매우 접근하면, 제N 층이 포인트 클라우드에 대해 레이어링을 수행하는 마지막 층인 것을 설명하며, 제N 층에 대응되는 계층수가 최대 허용값인 것을 설명한다.
일부 예시적인 실시예에 있어서, 거리에 따라 LOD 분할을 구현하는 경우, 바운딩 박스의 가장 긴 대각선을 통해 최대 허용값을 설정할 수 있고, 아래의 과정을 통해 구현할 수 있다.
첫 번째 단계에 있어서, 바운딩 박스에서 서로 수직되는 세 개의 변의 길이를 결정한다.
여기서, 바운딩 박스가 입방체인 경우, 바운딩 박스에서 서로 수직되는 세 개의 변을 입방체의 길이, 너비, 높이로 이해할 수 있다.
두 번째 단계에 있어서, 세 개의 변의 길이에 따라, 가장 긴 대각선의 길이를 결정한다.
여기서, 이런 세 개의 변의 길이가 각각
Figure pct00035
(k=0, 1, 2)이면, 피타고라스의 정리에 따라, 가장 긴 대각선의 길이는
Figure pct00036
이다.
상기 첫 번째 단계와 두 번째 단계를 통해 거리에 따라 LOD에 대한 분할 수행을 구현할 때, 바운딩 박스에서 서로 수직되는 세 개의 변의 길이를 채택하여, 가장 긴 대각선의 길이를 결정하면, 타깃 길이를 얻을 수 있고, 최대 허용값을 설정하기 위한 것이다.
일부 예시적인 실시예에 있어서, 거리에 따라 LOD 분할을 구현하는 경우, 인접한 두 개의 층의 샘플링 거리와 샘플링 거리 비율값을 통해, 제N 층의 샘플링 거리를 결정할 수 있고, 아래의 과정을 통해 구현할 수 있다.
첫 번째 단계에 있어서, 적어도 두 개의 인접한 두 개의 층의 샘플링 거리를 획득하고, 샘플링 거리 집합을 얻는다.
여기서, 속성 정보에 포함되는 초기 샘플링 거리와 총 샘플링 계층수를 분석하는 것을 통해, 복수 개의 인접 층의 샘플링 거리를 결정한다. 예를 들어, 제1층과 제2층 샘플링 거리, 제3층과 제4층의 샘플링 거리, 제5층과 제6층의 샘플링 거리 등을 각각 획득하여, 샘플링 거리 집합을 구성한다. 즉, 상기 샘플링 거리 집합에는 복수 개의 인접 층의 샘플링 거리가 포함된다.
두 번째 단계에 있어서, 샘플링 거리 집합에서 인접한 두 개의 층의 샘플링 거리 사이의 비율값을 결정하여, 기설정된 샘플링 거리 비율값을 얻는다.
여기서, 샘플링 거리 집합에서 인접한 두 개의 층의 샘플링 거리의 비율값을 구함으로써, 인접한 두 개의 층 사이의 샘플링 거리의 비율을 얻는다. 본 출원의 일 예시적인 실시예에 있어서, 각 인접한 두 개의 층 사이의 샘플링 거리의 비율이 동일하면, 상기 동일한 비율값을 기설정된 샘플링 거리 비율값으로 사용한다. 상기 기설정된 거리 비율값은, 이와 같이 인접한 두 개의 층의 샘플링 거리의 비율값을 구하는 것을 통해 얻을 수 있고, 또한, 사전에 설정된 것일 수도 있다.
세 번째 단계에 있어서, 기설정된 샘플링 거리 비율값과 속성 정보에서의 초기 샘플링 거리에 따라, 제N 층의 샘플링 거리를 결정한다.
여기서, 먼저, 제N 층과 속성 정보에서의 초기 샘플링 거리에 대응되는 층 사이의 계층수 차이값을 결정하고, 다음, 계층수 차이값과 기설정된 샘플링 거리 비율값을 곱하며, 마지막으로, 곱 결과와 타깃 길이를 곱하여 제N 층의 샘플링 거리를 얻을 수 있다. 예를 들어, 제N 층과 초기 샘플링 거리에 대응되는 층 사이의 계층수 차이값이 N-1이고, 기설정된 샘플링 거리 비율값이 P이면, 제N 층의 샘플링 거리는
Figure pct00037
이다.
본 출원의 일 예시적인 실시예에 있어서, 속성 정보에서 인접한 두 개의 층의 샘플링 거리를 획득하는 것을 통해, 샘플링 거리 비율값을 결정하고, 초기 샘플링 거리와 결합하여, 제N 층의 샘플링 거리를 결정하며; 이와 같이, 거리에 따라 LOD 분할을 구현하는 경우, 각 층의 샘플링 거리를 결정함으로써, 최대 허용값을 설정할 수 있다.
일부 예시적인 실시예에 있어서, 거리에 따라 LOD 분할을 구현하는 경우, 제N 층의 샘플링 거리와 타깃 길이 사이의 관계를 판단하는 것을 통해, 최대 허용값을 설정할 수 있고, 아래의 과정을 통해 구현할 수 있다.
첫 번째 단계에 있어서, 제N 층의 샘플링 거리와 타깃 길이 사이의 제2 차이값을 결정한다.
여기서, 제N 층의 샘플링 거리와 바운딩 박스의 가장 긴 대각선 사이의 차이값을 결정하여, 제2 차이값을 얻는다. 예를 들어, 제N 층의 샘플링 거리가
Figure pct00038
이고, 바운딩 박스의 가장 긴 대각선이
Figure pct00039
이면, 제2 차이값은
Figure pct00040
이다.
두 번째 단계에 있어서, 제2 차이값이 제2 기설정된 임계값보다 작거나 같으면, 제N 층에 대응되는 계층수를 상기 최대 허용값으로 결정한다.
여기서, 제2 기설정된 임계값은 0에 가까운 정수이고, 제1 기설정된 임계값과 동일하거나 상이할 수 있다. 제2 차이값이 제2 기설정된 임계값보다 작거나 같으면, 제N 층의 샘플링 거리와 바운딩 박스의 가장 긴 대각선의 길이가 매우 접근하는 것을 설명함으로써, 제N 층이 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 마지막 층인 것을 설명함으로써, 제N층에 대응되는 계층수를 최대 허용값으로 사용할 수 있다.
방식 2에 있어서, 먼저, 수신된 설정 명령어에 응답하여, 최대 허용값 범위 내에서, 제1 신텍스 요소의 값을 결정한다. 즉, 사용자에 의해 입력된 계층수 설정 수행 명령어가 수신되었을 때, 상기 최대 허용값 내에서, 하나의 계층수를 선택하여 제1 신텍스 요소의 값으로 사용할 수 있고; 예를 들어, 최대 허용값이 [0, 20]이면, 18을 선택하여 제1 신텍스 요소의 값으로 사용할 수 있다. 다음, 제1 신텍스 요소의 값에 따라, 포인트 클라우드에 대해 분할을 수행한다. 이와 같이, 본 출원의 일 예시적인 실시예에 있어서, 포인트 클라우드 데이터의 기하 정보와 속성 정보에 따라, 자체 적응적으로 상기 포인트 클라우드 데이터의 최대 분할 가능 계층수를 결정함으로써, 포인트 클라우드 데이터에 대해 레이어링을 수행하는 최대 허용값을 규정함으로써, 인코딩측과 디코딩측에서 사용자에 의해 설정된 LOD 분할 계층수에 대해 검사를 수행할 수 있어, 사용자에 의해 설정된 분할 계층수와 실제 분할 계층수의 일치성을 증가시킬 수 있다.
일부 예시적인 실시예에 있어서, 포인트 클라우드 데이터에 대해 레이어링을 수행하는 최대 허용값을 설정한 후, 인코딩측과 디코딩측에서 사용자에 의해 설정된 LOD 분할 계층수에 대해 검사를 수행할 수 있어, 시스템의 일치성을 증가시킬 수 있고, 상기 최대 허용값에 따라, 상기 포인트 클라우드 비트 스트림에 대해 분할을 수행한 후, 상기 방법은 아래의 단계를 더 포함한다.
첫 번째 단계에 있어서, 입력된 포인트 클라우드에 대해 레이어링을 수행하는 기설정된 계층수를 획득한다.
여기서, 인코딩측 또는 디코딩측에서, 사용자가 포인트 클라우드에 대해 레이어링을 수행할 때, 사용자가 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 기설정된 계층수를 획득할 수 있다. 예를 들어, 사용자에 의해 설정된 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 기설정된 계층수는 30이다.
두 번째 단계에 있어서, 최대 허용값에 따라, 기설정된 계층수의 합법성을 결정한다.
여기서, 기설정된 계층수가 최대 허용값 내에 위치하는지 여부를 판단하고, 기설정된 계층수가 최대 허용값 내에 위치하면, 상기 기설정된 계층수가 합법적인 것으로 결정하고, 즉 상기 기설정된 계층수는 사용 가능하며, 기설정된 계층수가 최대 허용값 내에 위치하지 않으면, 상기 기설정된 계층수가 비합법적인 것으로 결정하며, 즉 상기 기설정된 계층수는 사용 불가능하다. 구체적인 예에 있어서, 기설정된 계층수가 30이고, 최대 허용값이 21이면, 기설정된 계층수가 합법적이지 않은 것을 설명한다.
세 번째 단계에 있어서, 기설정된 계층수의 합법성이 기설정된 계층수가 최대 허용값보다 작거나 같은 것을 나타내면, 기설정된 계층수에 따라 포인트 클라우드에 대해 레이어링을 수행한다.
여기서, 기설정된 계층수가 최대 허용값보다 작거나 같으면, 기설정된 계층수가 최대 허용값 내에 위치하면, 기설정된 계층수가 사용 가능한 것을 설명하므로, 상기 기설정된 계층수에 따라 포인트 클라우드에 대해 레이어링을 수행할 수 있다. 이와 같이, 인코딩측과 디코딩측에서 사용자에 의해 설정된 LOD 분할 계층수에 대해 검사를 수행할 수 있음으로써, 사용자에 의해 설정된 소망 LOD 분할 계층수와 실제 LOD 분할 계층수의 일치성을 향상시킬 수 있다.
본 출원의 실시예는 포인트 클라우드 레이어링 방법을 제공하고, 상기 방법은 비디오 코딩 기기에 적용되며, 즉 인코더에 적용된다. 상기 방법에 의해 구현된 기능은 비디오 인코딩 기기에서의 프로세서가 프로그램 코드를 호출하는 것을 통해 구현될 수 있으며, 물론 프로그램 코드는 컴퓨터 저장 매체에 저장될 수 있으며, 이로부터 알다시피, 상기 비디오 인코딩 기기는 프로세서 및 저장 매체를 적어도 포함한다. 도 2a를 참조하면, 도 2a는 본 출원의 실시예에서 제공하는 포인트 클라우드 레이어링 방법의 흐름 예시도이다. 도 2a에 도시된 바와 같이, 상기 방법은 아래의 단계를 포함할 수 있다.
단계 S201에 있어서, 포인트 클라우드의 기하 정보와 속성 정보를 획득한다.
여기서, 포인트 클라우드 비트 스트림은 예를 들어, 3차원 비디오를 형성하기 위한 포인트 클라우드 데이터 등과 같은 레이어링을 수행해야 하는 포인트 클라우드 데이터로 이해할 수 있다. 포인트 클라우드 데이터에 대해 레이어링을 수행하는 방식은 모튼 코드에 따라 구현될 수 있고, 샘플링 거리에 따라 구현될 수도 있다. 단계 S101에 있어서, 포인트 클라우드 비트 스트림의 기하 정보는, 포인트 클라우드 법선 벡터, 곡률, 포인트 클라우드 밀도, 포인트 클라우드 표면의 거칠기, 포인트 클라우드 중심, 포인트 클라우드 가중 중심, 포인트 클라우드 공분산 및 포인트 클라우드 교차 공분산 등을 포함한다. 속성 정보는, 입력 포인트 클라우드의 분할 거리의 제곱, 분할 총 계층수, 컬러 공간의 정보, 공간 해상도, 포인트 위치의 정밀도 및 표면 법선 벡터 등을 포함한다.
일부 가능한 실시형태에 있어서, 모튼 코드에 따라 포인트 클라우드 데이터에 대한 LOD 레이어링의 수행을 구현하는 과정은 아래와 같다.
변수
Figure pct00041
가 원래의 입력 포인트 클라우드를 저장하면, 변수
Figure pct00042
는 각 포인트와 관련되는 모튼 값이다. 또한, D0과 ρ를 각각 두 명의 사용자에 의해 설정된 초기 파라미터로 설정하여, LOD 거리 임계값을 분할하는 파라미터로 사용하며, 여기서, ρ>1이다. 여기서, 모튼 코드를 계산하는 구체적인 방법의 설명은 아래와 같고, 각 컴포넌트에 대해 d 비트 이진수로 나타내는 3차원 좌표의 경우, 그의 세 개의 컴포넌트는 상기 공식(1)로 나타낼 수 있다.
모튼 코드 M은 x, y, z에 대해 가장 높은 위치에서 시작하여, x1, y1, z1를 가장 낮은 위치까지 순차적으로 교차 배열하는 것이고, M의 계산 공식은 상기 공식(2)에 도시된 바와 같다.
포인트 클라우드에서의 각 포인트의 모튼 코드 M을 얻은 후, 포인트 클라우드에서의 포인트를 모튼 코드에 따라 작은 것으로부터 큰 것으로의 순서로 배열을 수행한다. 변수 I에는 모든 포인트의 인덱스가 저장되고, 상기 알고리즘은 끊임없이 반복되며, k 번째 반복될 때, LODk에 속하는 포인트는 LOD0으로부터 제LODk-1층까지에서 가장 접근한 이웃을 찾는다. 상기 알고리즘의 구체적인 과정은 아래와 같다.
먼저, 샘플링 거리
Figure pct00043
를 초기화하고;
다음, k 번째 반복될 때, k=0,1...N-1(N은 LOD 분할의 총 계층수임)이다. 변수 L(k)는 k 번째 층 LOD에 속하는 포인트를 저장하고, 변수 O(k)는 LODk 층보다 더 높은 포인트 집합에 속한다. 여기서, L(k)와 O(k)의 계산 단계는 아래와 같다.
첫 번째 단계에 있어서, O(k)와 L(k)에 대해 초기화를 수행하고;
여기서, L(k)는 공집합으로 초기화되고; O(k)는 공집합으로 초기화된다.
두 번째 단계에 있어서, 매번의 반복은 변수 I에 저장된 포인트의 인덱스에 따라 순회한다. 매번의 순회는 모두 현재 포인트로부터 집합 O(k)까지에서의 일정 범위 내의 모든 포인트의 거리를 계산한다. 현재 포인트에 대응되는 모튼 순서값에 따라, 집합 O(k)의 하나의 검색 범위 SR1 내에서(SR1은 모튼 순서에 따른 검색 범위를 나타내고, 일반적으로 8, 16, 64임) 검색하고, 상기 범위 내에서 현재 포인트 거리까지의 거리가 임계값 dl보다 작은 것을 검색하면, 현재의 포인트를 집합 L(k)에 추가하고, 그렇지 않은 경우 집합 O(k)에 추가한다.
세 번째 단계에 있어서, 매번의 반복 과정에서, 집합 L(k)와 O(K)는 각각 계산을 수행하고, O(k)에서의 포인트는 집합 L(k)에서의 포인트의 예측 포인트로 사용되며, 이로써, 포인트 클라우드 데이터에 대한 LOD 레이어링의 수행을 구현한다. 집합 R(k)=L(k)/L(k-1)이면, 여기서 R(k)는 LOD(k-1)와 LOD(k) 집합의 차이나는 부분의 포인트 집합을 나타낸다.
다른 가능한 실시형태에 있어서, 샘플링 거리에 따라 포인트 클라우드 데이터에 대한 LOD 레이어링의 수행을 구현하는 과정은 아래와 같다.
LOD의 생성 과정은 한 그룹의 사용자에 의해 설정된 상이한 거리 임계값
Figure pct00044
을 통해 원래의 입력 포인트 클라우드를 상이한 세분화 레벨
Figure pct00045
으로 분할한다. 유의해야 할 것은, 상기 거리 임계값
Figure pct00046
은 두 개의 조건을 만족해야 하며, 즉,
Figure pct00047
을 만족해야 한다.
상기 LOD의 분할 과정은 결정된 것이며, 포인트 클라우드 기하 재구축 이후에 결정되며, 이때 포인트 클라우드의 기하 좌표 정보를 얻을 수 있다. 상기 LOD를 분할하는 과정은 포인트 클라우드의 인코딩측 및 디코딩측에 동시에 적용되고, LOD 분할의 구체적인 과정은 아래와 같다.
1) 먼저, 모든 포인트를 "방문하지 않았음"의 포인트 집합으로 표시하고, "방문하였음"의 포인트의 집합을 V로 표시하고 빈 집합으로 초기화한다.
2) 상기 알고리즘 과정은 끊임없이 반복된다. 매번 반복
Figure pct00048
에 대응되는 세분화 레벨
Figure pct00049
의 생성 단계는 아래와 같다.
첫 번째 단계에 있어서, 상기 알고리즘 반복은 모든 포인트를 순회하고;
두 번째 단계에 있어서, 현재의 포인트가 이미 순회되었으면, 상기 포인트를 무시하며;
세 번째 단계에 있어서, 그렇지 않은 경우, 상기 포인트로부터 집합 V까지의 가장 가까운 거리 D를 계산하고;
네 번째 단계에 있어서, 상기 가장 가까운 거리 D가 임계값
Figure pct00050
보다 크거나 같으면, 상기 포인트를 세분화 레벨
Figure pct00051
와 V에 추가하며;
다섯 번째 단계에 있어서, 상기 과정은 모든 포인트가 순회될 때까지 끊임없이 반복된다,
3)
Figure pct00052
번째 LOD 집합,
Figure pct00053
은 세분화 레벨
Figure pct00054
에서의 포인트를 병합하는 것을 통해 얻는다.
4) 상기 과정은 모든 LOD가 생성되거나 모든 포인트가 모두 순회될 때까지 끊임없이 반복되며, 이로써 포인트 클라우드 데이터에 대한 LOD 레이어링을 구현한다.
단계 S202에 있어서, 제1 신텍스 요소의 최대 허용값을 결정한다.
여기서, 제1 신텍스 요소는 상기 포인트 클라우드의 속성 정보에 대해 인코딩을 수행하는 과정에서의 디테일 레벨의 개수를 나타낸다. 포인트 클라우드 비트 스트림의 프로파일(Profile), 티어(Tier) 또는 레벨(Level)을 참조하는 것을 통해, 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 최대 허용값을 결정할 수 있다. 또는 최대 허용값을 상수로 설정하고, 즉 상기 상수에 따라 포인트 클라우드 비트 스트림에 대해 LOD 레이어링을 수행한다.
일부 가능한 실시형태에 있어서, 최대 허용값을 결정하는 과정은 아래의 두 가지 방식을 통해 구현될 수 있다.
방식 1에 있어서, 먼저, 적합성(Conformance) 파라미터를 결정한다.
여기서, 적합성 파라미터는 상기 포인트 클라우드 비트 스트림의 자체 속성을 나타내기 위한 것이고, 적어도 프로파일, 티어, 레벨 중의 하나를 포함한다. 일부 가능한 실시형태에 있어서, 인코더의 구성 파라미터에 따라, 상기 적합성 파라미터를 설정할 수 있다. 예를 들어, 인코더의 구성 파라미터에서 레벨이 높으면, 적합성 파라미터에서의 레벨을 높은 것으로 설정하며, 마찬가지로, 인코더에서 구성 파라미터의 프로파일을 적합성 파라미터에서의 프로파일로 설정할 수 있다. 또는, 인코더에서 구성 파라미터의 티어를 적합성 파라미터에서의 티어로 설정한다. 적합성 파라미터의 설정의 경우, 또한, 세션 협상 과정에 따라 결정된 파라미터로 결정할 수 있다. 예를 들어, 세션 협상 과정에서, 레벨이 높은 것으로 결정되면, 적합성 파라미터에서 레벨이 높은 것으로 설정한다.
다음, 기설정된 상기 적합성 파라미터와 상기 최대 허용값 사이의 대응 관계에 따라, 상기 최대 허용값을 결정한다.
여기서, 적합성 파라미터와 상기 최대 허용값 사이의 대응 관계는, 기설정된 대응 관계로서, 프로파일, 티어 및 레벨과 최대 허용값 사이의 대응 관계를 포함한다. 하나의 구체적인 예에 있어서, 레벨을 상, 중, 하 세 개의 등급으로 분할하여, 상이한 등급이 상이한 최대 허용값에 대응되도록 설정하고, 등급이 클수록 대응되는 최대 허용값이 더 크고, 예를 들어, 상위 등급에 대응되는 최대 허용값은 31이고, 중급 등급에 대응되는 최대 허용값은 21이며, 하위 등급에 대응되는 최대 허용값은 16이며; 프로파일 및 레벨과 최대 허용값 사이의 대응 관계도 이와 같이 설정될 수도 있다. 이와 같이, 적합성 파라미터와 상기 최대 허용값 사이의 대응 관계에 따라, 최대 허용값을 결정할 수 있다.
마지막으로, 상기 적합성 파라미터에 대해 인코딩을 수행하고, 인코딩 비트를 상기 비트 스트림에 기입한다.
방식 2에 있어서, 최대 허용값을 기설정된 상수값으로 설정하고, 여기서, 상수값은 0보다 큰 정수이다.
일부 가능한 실시형태에 있어서, 상수값은 0보다 크고, 기설정된 임계값보다 작거나 같은 정수이다. 구체적인 예에 있어서, 기설정된 임계값은 31일 수 있고, 다른 실시예에 있어서, 인코더의 구성 파라미터에 따라, 기기의 상수값에 대응될 수 있고, 인코더 자체의 고유 파라미터를, 상기 파라미터 값으로 설정할 수도 있다. 기설정된 임계값은 예를 들어, 6, 7, 8, 16, 21, 32 또는 64 등과 같이 다른 값일 수도 있다.
단계 S203에 있어서, 상기 최대 허용값과 상기 포인트 클라우드의 기하 정보에 따라, 상기 포인트 클라우드에 대해 디테일 레벨 분할을 수행하여, 상기 제1 신텍스 요소의 값을 결정한다.
여기서, 제1 신텍스 요소의 값은 상기 최대 허용값보다 크지 않다. 최대 허용값을 결정한 후, 상기 최대 허용값 범위 내에서, 포인트 클라우드의 기하 정보를 종합적으로 고려하여, 포인트 클라우드에 대해 LOD 분할을 수행함으로써, 제1 신텍스 요소의 값을 결정한다.
일부 가능한 실시형태에 있어서, 제1 신텍스 요소의 값을 결정한 후, 먼저, 상기 포인트 클라우드 비트 스트림의 모튼 코드 집합을 획득하고; 일부 가능한 실시형태에 있어서, 먼저, 검색될 포인트 클라우드 데이터를 획득하며; 예를 들어, 3차원 비디오를 형성하기 위한 포인트 클라우드 데이터 등이다. 다음, 상기 포인트 클라우드 데이터의 모튼 코드를 결정하고; 예를 들어, 먼저 포인트 클라우드 데이터의 이진법 인코딩 데이터 스트림을 결정하고, 다음 상기 이진법 인코딩 데이터 스트림에 따라, 포인트 클라우드 데이터의 모튼 코드를 결정할 수 있다. 마지막으로, 상기 포인트 클라우드 데이터의 모튼 코드를 오름순에 따라 배열하여, 복수 개의 모튼 코드를 포함하는 상기 모튼 코드 집합을 얻는다. 다른 실시예에 있어서, 포인트 클라우드 데이터의 모튼 코드를 내림순에 따라 배열하여, 복수 개의 모튼 코드를 포함하는 상기 모튼 코드 집합을 얻을 수도 있고; 또한, 포인트 클라우드 데이터의 모튼 코드를 임의의 특정된 순서(예를 들어, 임의로 설정된, 중간 부분이 가장 크고, 양측으로 순차적으로 감소되는 순서 등)에 따라 배열하여, 모튼 코드 집합을 얻을 수도 있다. 다음, 상기 모튼 코드 집합과 상기 기하 정보에 따라, 상기 최대 허용값 범위 내에서, 상기 제1 신텍스 요소의 값을 결정하고; 마지막으로, 상기 제1 신텍스 요소의 값에 따라, 상기 포인트 클라우드에 대해 디테일 레벨 분할을 수행한다.
단계 S204에 있어서, 상기 포인트 클라우드에 대한 디테일 레벨 분할에 따라, 상기 포인트 클라우드에 대해 인코딩을 수행하여, 비트 스트림을 생성한다.
여기서, 포인트 클라우드의 LOD에 대해 레이어링을 수행하는 경우, 각 층의 포인트 클라우드에 대해 인코딩을 수행한다.
단계 S205에 있어서, 상기 제1 신텍스 요소의 값에 대해 인코딩을 수행하여, 인코딩 비트를 비트 스트림에 기입한다.
여기서, 제1 신텍스 요소의 값을 결정한 후, 먼저, 상기 값이 비트 스트림에서 차지하는 비트수 N을 결정한다. 일부 가능한 실시형태에 있어서, 제1 신텍스 요소가 비트 스트림에서 대응되는 비트수 N을 부호 없는 이진수를 사용하여 최대 허용값에 수요되는 최소 비트수를 나타내는 것으로 설정한다. 예를 들어, 부호 없는 이진수를 사용하여 최대 허용값을 나타내는데 수요되는 최소 비트수가 64이면, 64를 제1 신텍스 요소가 비트 스트림에서 대응되는 비트수 N으로 설정한다. 다음, 제1 신텍스 요소의 값을 N 개의 비트로 전환하며, 즉 제1 신텍스 요소의 값을 N 개의 부호 없는 이진수에 대응되는 비트로 전환하고, N 개의 비트를 비트 스트림에 입력함으로써, 제1 신텍스 요소의 값에 대한 인코딩을 구현하고, 인코딩 비트를 비트 스트림에 기입한다.
본 출원의 일 예시적인 실시예에 있어서, 포인트 클라우드의 기하 정보와 속성 정보를 획득하는 것을 통해, 제1 신텍스 요소의 최대 허용값을 결정하고, 다음, 최대 허용값과 포인트 클라우드의 기하 정보에 따라, 제1 신텍스 요소의 값을 결정하며; 마지막으로, 포인트 클라우드에 대한 디테일 레벨 분할에 따라, 포인트 클라우드에 대해 인코딩을 수행하고; 제1 신텍스 요소의 값에 대해 인코딩을 수행하여, 인코딩 비트를 비트 스트림에 기입한다. 이로써, 포인트 클라우드 데이터의 기하 정보와 속성 정보에 따라, 자체 적응적으로 상기 포인트 클라우드 데이터 최대 허용값을 결정함으로써, 포인트 클라우드 데이터에 대해 레이어링을 수행하는 제1 신텍스 요소의 값을 범위를 규정함으로써, 인코딩측과 디코딩측에서 사용자에 의해 설정된 LOD 분할 계층수에 대해 검사를 수행할 수 있어, 사용자에 의해 설정된 분할 계층수와 실제 분할 계층수의 일치성을 증가시킬 수 있다.
일부 실시예에 있어서, 모튼 코드에 따라 LOD 분할을 구현할 경우, 포인트 클라우드 데이터의 속성 정보에 따라 자체 적응적으로 포인트 클라우드 데이터에 대해 레이어링을 수행하는 최대 허용값을 결정할 수 있고, 즉 단계 S202를 수행하고, 아래의 단계를 통해 구현될 수 있으며, 도 2b를 참조하면, 도 2b는 본 출원의 일 예시적인 실시예에서 제공하는 포인트 클라우드 레이어링 방법의 다른 구현 흐름 예시도이며, 아래와 같이 설명한다.
단계 S221에 있어서, 루트 노드의 길이, 너비와 높이의 값을 결정한다.
여기서, 루트 노드는 포인트 클라우드에서 가장 깊은 노드를 나타내고, 바운딩 박스로 나타낼 수 있다,
일부 가능한 실시형태에 있어서, 아래의 단계를 통해 구현될 수 있다.
첫 번째 단계에 있어서, 상기 포인트 클라우드의 기하 정보에 따라, 상기 포인트 클라우드의 바운딩 박스를 결정한다.
여기서, 포인트 클라우드 데이터의 포인트 클라우드 법선 벡터, 곡률, 포인트 클라우드 밀도, 포인트 클라우드 표면 거칠기, 포인트 클라우드 중심, 포인트 클라우드 가중 중심, 포인트 클라우드 공분산과 포인트 클라우드 교차 공분산 등 기하 정보에 대해 인코딩을 수행하는 것을 통해, 포인트 클라우드의 좌표 정보를 결정할 수 있고, 다음, 상기 좌표 정보에 따라 포인트 클라우드 데이터를 포위하는 입방체의 크기를 결정함으로써, 바운딩 박스의 사이즈를 얻을 수 있다. 여기서, 바운딩 박스의 사이즈는, 바운딩 박스의 길이, 너비, 높이 및 대각선의 길이 등을 포함한다.
두 번째 단계에 있어서, 바운딩 박스에 따라, 상기 포인트 클라우드의 루트 노드를 결정하여, 상기 포인트 클라우드의 루트 노드의 길이, 너비와 높이의 값을 얻는다.
여기서, 먼저, 상기 바운딩 박스 사이즈에서 기설정된 조건을 만족하는 타깃 길이를 결정하고; 예를 들어, 상기 바운딩 박스의 가장 긴 변의 길이의 사이즈를, 상기 타깃 길이로 결정한다. 기설정된 조건은 현재 포인트 클라우드에 대해 레이어링을 수행하는 방식과 매칭되는 가장 긴 사이즈로 이해할 수 있다. 예를 들어, 샘플링 거리에 따라 포인트 클라우드 데이터에 대한 LOD 레이어링을 구현하는 방식에서, 기설정된 조건은 바운딩 박스에서 가장 긴 대각선이며, 즉, 바운딩 박스에서 거리가 가장 먼 두 개의 정점 사이의 연결선이다. 모튼 코드에 따라 포인트 클라우드 데이터에 대한 LOD 레이어링을 구현하는 방식에서, 기설정된 조건은 바운딩 박스의 가장 긴 변이고, 이 변의 길이를 포인트 클라우드 비트 스트림의 루트 노드의 길이로 사용한다.
다음, 상기 타깃 길이에 따라, 상기 포인트 클라우드의 루트 노드를 생성한다. 여기서, 타깃 길이는 바운딩 박스에서 가장 긴 변의 길이고, 상기 가장 긴 변에 따라 하나의 입방체를 구성하며, 상기 입방체를 포인트 클라우드의 루트 노드로 사용하며, 즉 상기 포인트 클라우드에서 가장 큰 노드로 사용한다. 예를 들어, 바운딩 박스에서 가장 긴 변의 길이가
Figure pct00055
이면, 이에 따라, 루트 노드의 크기도
Figure pct00056
이다. 바운딩 박스 크기를 획득하는 것을 통해, 그 중 가장 긴 변에 따라 구성된 입방체를, 포인트 클라우드의 루트 노드로 사용함으로써, 상기 포인트 클라우드에 대해 레이어링을 수행할 수 있는 가장 큰 노드로 결정한다.
단계 S222에 있어서, 상기 포인트 클라우드의 기하 정보에 따라, 우측 시프트 제1 파라미터의 값을 결정한다.
여기서, 포인트 클라우드의 기하 정보에 따라, 포인트 클라우드가 레이어링을 수행하는 우측 시프트 제1 파라미터의 값을 결정하고, 예를 들어, 사용자에 의해 입력된 초기 샘플링 거리이다. 일부 가능한 실시형태에 있어서, 기하 정보에 있어서, 포인트 클라우드의 초기 샘플링 거리를 결정하고, 상기 초기 샘플링 거리를 우측 시프트 제1 파라미터의 값으로 설정한다. 초기 샘플링 거리는 사용자에 의해 설정된 것일 수 있고, 포인트 클라우드의 속성 정보에 따라 설정된 것일 수도 있다.
단계 S223에 있어서, 우측 시프트 제1 파라미터의 값과 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 최대 허용값을 결정한다.
여기서, 샘플링 거리에 따른 포인트 클라우드 데이터에 대한 LOD 레이어링 구현이든지, 모튼 코드에 따른 포인트 클라우드 데이터에 대한 LOD 레이어링 구현이든지를 막론하고, 포인트 클라우드의 속성 정보를 종합적으로 고려하여 포인트 클라우드 데이터에 대해 레이어링을 수행하는 제N 층을 결정하고, 제N 층과 타깃 길이 사이의 관계를 판단하는 것을 통해, 최대 허용값을 설정한다.
일부 가능한 실시형태에 있어서, 포인트 클라우드에 대해 분할을 수행하는 최대 허용값을 결정하는 단계는, 아래의 두 가지 실시형태를 포함한다.
방식 1에 있어서, 모튼 코드에 따라 포인트 클라우드 데이터에 대해 LOD 레이어링 수행을 구현하는 방식은, 아래의 단계를 통해 구현될 수 있다.
첫 번째 단계에 있어서, 루트 노드 차원의 최대값을 루트 노드의 길이, 너비와 높이 세 개의 값에서의 최대값으로 설정한다.
여기서, 속성 정보에 포함된, 포인트 클라우드 초기 분할 거리, 분할 총 계층수와 컬러 공간의 변환 등 파라미터를 통해, 포인트 클라우드에 대해 처리를 수행하여, 마지막으로 제N 층의 노드의 크기를 결정하고, 제N 층의 노드의 크기와 루트 노드의 크기 사이의 차이값이 비교적 작거나, 동일하면, 제N 층이 위치하는 계층수를, 최대 허용값으로 결정한다.
상기 단계에 있어서, 모튼 코드에 따라 LOD 분할을 구현하는 시나리오에서, 제N 층의 노드의 크기와 루트 노드의 크기 사이의 크기 관계를 비교하는 것을 통해, 자체 적응적으로 최대 LOD 분할 가능 계층수를 결정하여, 신텍스 요소 lifting_num_detail_levels_minus1의 범위를 명확하게 규정한다.
두 번째 단계에 있어서, 상기 포인트 클라우드의 기하 정보에 따라, 우측 시프트 제2 파라미터의 값을 결정한다.
여기서, 우측 시프트 제2 파라미터의 값은, 우측 시프트 제1 파라미터의 값에 대한 파인 튜닝 값으로 이해할 수 있고, 입력 포인트 클라우드에 대해 복수 개의 모듈로 세분화한 후, 각 블록의 초기 샘플링 거리를 결정하고, 구해하며, 초기 샘플링 거리 합값과 우측 시프트 제1 파라미터를 서로 감하면, 우측 시프트 제2 파라미터의 값을 얻을 수 있다. 일부 가능한 실시형태에 있어서, 포인트 클라우드 데이터에 대해 인코딩을 수행할 때, 먼저, 포인트 클라우드 데이터를 복수 개의 작은 모듈로 분할하고, 다음, 기하 정보에서, 포인트 클라우드 중의 각 블록의 초기 샘플링 거리를 결정하고, 복수 개의 모듈의 초기 샘플링 거리를 구해하여, 초기 샘플링 거리 합값과 우측 시프트 제1 파라미터의 차이값을, 우측 시프트 제2 파라미터로 결정하며, 즉 우측 시프트 제2 파라미터는 우측 시프트 제1 파라미터에 대해 미세 조정을 수행한 조정 값으로 이해할 수 있다.
세 번째 단계에 있어서, 상기 루트 노드 차원의 최대값과 상기 우측 시프트 제1 파라미터 및 상기 우측 시프트 제2 파라미터의 차이값을 상기 최대 허용값으로 설정한다.
여기서, 우측 시프트 제1 파라미터와 우측 시프트 제2 파라미터를 구해하고, 예를 들어, 입력된 초기 분할 거리와 분할 총 계층수에 따라, 포인트 클라우드에 대해 계산을 수행하여, 상기 초기 샘플링 거리 합값을 결정한다. 본 출원의 일 예시적인 실시예에 있어서, 우측 시프트 제1 파라미터 aps.dist2와 입력 포인트 클라우드에 따라 계산하여 우측 시프트 제2 파라미터 abh.attr_dist2_delta를 얻고, 다음, aps.dist2 와 abh.attr_dist2_delta에 따라 계산하여 초기 우측 시프트 비트 shiftbits0을 얻는다.
일부 가능한 실시형태에 있어서, 아래의 과정을 통해 최대 허용값을 결정할 수 있다.
단계 A에 있어서, 속성 정보의 헤더 파일 함수를 결정한다.
여기서, 속성 정보에 포함된 입력 파라미터(예를 들어, 클라우드 초기 분할 거리, 분할 총 계층수와 컬러 공간의 변환 등)에 따라, 포인트 클라우드 데이터에 대해 처리를 수행하여, 상기 헤더 파일 함수(예를 들어, abh.attr_dist2_delta를 얻음)를 얻는다. 상기 헤더 파일 함수는 포인트 클라우드 데이터의 속성 파라미터를 나타내기 위한 것이다.
단계 B에 있어서, 헤더 파일 함수의 값과 속성 정보에 대응되는 파라미터 값을 서로 가하여, 초기 샘플링 거리 합값을 얻는다.
여기서, abh.attr_dist2_delta의 값(우측 시프트 제2 파라미터에 대응되는 값)과 속성 정보에 대응되는 파라미터 값을 서로 가하여, 가하여 얻은 결과를 초기 우측 시프트 비트로 사용한다. 이와 같이, 입력된 속성 정보에 따라 포인트 클라우드 데이터에 대해 처리를 수행함으로써, 포인트 클라우드에 대해 분할을 수행할 때의 초기 우측 시프트 비트를 결정한다.
단계 C에 있어서, 루트 노드 차원의 최대값과 상기 초기 샘플링 거리 합값을 서로 감하여, 최대 허용값을 얻는다.
여기서, 단계 C는 아래의 과정을 통해 구현될 수 있다.
단계 C1에 있어서, 초기 샘플링 거리 합값에 따라, 포인트 클라우드에 대해 분할을 수행하는 제N 층이 속하는 노드를 결정한다.
여기서, N은 2보다 크거나 같은 정수이고; 초기 우측 시프트 비트를 얻은 기초 위에, 한 층을 분할할 때마다, 초기 우측 시프트 비트는 1 증가되고, 대응되는 리프 노드의 크기는 2배 증가된다. 예를 들어, 초기 우측 시프트 비트는 shiftbits0이고, 대응되는 노드의 크기는
Figure pct00057
이며, 한 층을 분할할 때마다, shiftbits0+1되고, 대응되는 리프 노드는 이전 층 노드의 2배로 증가되므로; 제N 층까지 분할하였을 때, 우측 시프트 비트 shiftbits = shiftbits0 +(N-1)이고, 제N 층이 속하는 노드의 크기는
Figure pct00058
이다.
일부 가능한 실시형태에 있어서, 제N층이 속하는 노드를 결정하는 과정은 아래와 같다.
먼저, 초기 우측 시프트 비트와 기설정된 베이스에 따라, 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 초기 층이 속하는 노드의 사이즈 정보를 결정한다.
여기서, 기설정된 베이스를 베이스로, 초기 우측 시프트 비트를 인덱스로 사용하고, 얻은 결과를 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 초기 층이 속하는 노드의 크기로 사용하며; 예를 들어, 2를 베이스로, shiftbits0을 초기 우측 시프트 비트로 하면, 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 초기 층이 속하는 노드의 크기는
Figure pct00059
이다.
다음, 제N 층과 초기 층 사이의 차이나는 계층수 차이값을 결정한다.
여기서, 초기 층이 1이면, 차이값은 N-1이다.
다시, 계층수 차이값에 따라 초기 층이 속하는 노드의 사이즈 정보에 대해 조절을 수행하여, 조절된 사이즈 정보를 얻는다.
여기서, 초기 우측 시프트 비트의 기초 위에, 계층수 차이값과 서로 가하면, 제N 층 우측 시프트의 비트를 얻을 수 있고, 제N 층 우측 시프트의 비트를 채택하여 초기 층이 속하는 노드의 크기에 대해 조절을 수행함으로써, 조절된 사이즈 정보를 얻는다. 예를 들어, 계층수 차이값이 N-1이면, 제N 층 우측 시프트의 비트는 shiftbits0+(N-1)이고, 이에 따라,
Figure pct00060
의 기초 위에,
Figure pct00061
배 증가됨으로써, 조절된 사이즈 정보
Figure pct00062
를 얻는다.
마지막으로, 조절된 사이즈 정보에 따라, 제N층이 속하는 노드를 결정한다.
여기서, 상기 조절된 사이즈 정보를, 제N층이 속하는 노드의 크기로 사용한다. 예를 들어,
Figure pct00063
를 제N층이 속하는 노드의 크기로 사용한다.
단계 C2에 있어서, 제N층이 속하는 노드와 루트 노드에 따라, 최대 허용값을 결정한다.
여기서, 제N층이 속하는 노드의 사이즈와 루트 노드의 사이즈 사이의 크기 관계를 비교하는 것을 통해, 계층수의 최대값을 결정한다.
일부 가능한 실시형태에 있어서, 제N층이 속하는 노드와 루트 노드에 따라, 최대 허용값을 결정하는 단계는, 아래의 과정을 통해 구현될 수 있다.
먼저, 루트 노드의 사이즈 정보를 결정한다.
여기서, 루트 노드의 사이즈 정보는 바운딩 박스에서 가장 긴 변의 길이이다.
다음, 조절된 사이즈 정보와 루트 노드의 사이즈 정보 사이의 제1 차이값을 결정한다.
여기서, 조절된 사이즈 정보와 루트 노드의 사이즈 정보 사이의 크기를 비교하고, 루트 노드의 사이즈 정보와 조절된 사이즈 정보를 서로 감하여, 제1 차이값을 얻는다. 예를 들어, 조절된 사이즈 정보가
Figure pct00064
이고, 루트 노드의 사이즈 정보가
Figure pct00065
이면, 제1 차이값은
Figure pct00066
이다.
마지막으로, 제1 차이값이 제1 기설정된 임계값보다 작거나 같으면, 제N 층에 대응되는 계층수를 최대 허용값으로 결정한다.
여기서, 제1 기설정된 임계값은 0에 접근한 정수이고, 제1 차이값이 0에 접근한 경우, 제N층이 속하는 노드의 크기와 루트 노드의 크기가 아주 접근하는 것을 설명함으로써, 제N층에 대응되는 계층수가 이미 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 최대 계층수인 것을 설명하며, 이와 같이, 속하는 노드의 크기와 루트 노드의 크기가 매우 접근하는 제N층에 대응되는 계층수를, 최대 허용값으로 사용하여, 포인트 클라우드의 속성 정보에 따라 자체 적응적으로 신텍스 요소 lifting_num_detail_levels_minus1의 범위를 설정하는 것을 구현한다.
방식 1에 있어서, 입력된 포인트 클라우드의 속성 파라미터 세트를 채택하여 포인트 클라우드 데이터에 대해 처리를 수행함으로써, 포인트 클라우드의 초기 우측 시프트 비트를 결정하고; 초기 우측 시프트 비트의 기초 위에, 초기 분할층에 대응되는 노드의 크기를 결정하며; 다음, 한 층을 분할할 때마다, 초기 우측 시프트 비트는 증가되고, 분할층에 대응되는 노드의 크기도 증가됨으로써, 제N층 우측 시프트의 비트 및 제N층에 대응되는 노드의 크기를 결정할 수 있으며, 마지막으로, 제N층 노드의 크기와 타깃 길이 사이의 크기 관계를 비교하는 것을 통해, 최대 허용값을 설정한다.
방식 2에 있어서, 샘플링 거리에 따라 포인트 클라우드 데이터에 대한 LOD 레이어링을 수행하는 방식에서, 먼저, 속성 정보에서의 초기 샘플링 거리와 인접한 두 개의 층의 샘플링 거리의 비율을 결합하여, 제N층의 샘플링 거리를 결정하고; 다음, 제N층의 샘플링 거리와 타깃 길이 사이의 크기 관계를 비교하는 것을 통해, 최대 허용값을 설정하는 단계는, 아래의 단계를 통해 구현될 수 있다.
단계 A에 있어서, 상기 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 루트 노드 대각선의 거리의 값을 결정한다.
여기서, 바운딩 박스에서 길이가 가장 긴 대각선의 길이를 타깃 길이로 결정한다. 포인트 클라우드 비트 스트림의 속성 정보에서의 루트 노드의 크기에 따라, 바운딩 박스에서 서로 수직되는 세 개의 변의 길이를 결정하고, 이러한 세 개의 변의 길이에 따라, 바운딩 박스에서 두 개의 거리가 가장 먼 정점 사이의 길이를 결정하며, 즉 가장 긴 대각선의 길이를 결정함으로써, 타깃 길이를 얻는다. 구체적인 예에 있어서, 루트 노드의 사이즈가
Figure pct00067
이면, 세 개의 변의 길이는 각각
Figure pct00068
(k=0, 1, 2)이다.
단계 B에 있어서, 상기 루트 노드 대각선의 거리의 값과 상기 우측 시프트 제1 파라미터 값에 따라, 상기 최대 허용값을 결정한다.
일부 가능한 실시형태에 있어서, 단계 B는 아래의 단계를 통해 구현될 수 있다.
단계 B1에 있어서, 제1 비율값을 결정한다.
여기서, 제1 비율값은 상기 루트 노드 대각선의 거리의 값과 상기 우측 시프트 제1 파라미터 값의 산술 제곱근 사이의 비율값이다. 예를 들어, 제1층과 제2층의 샘플링 거리 사이의 비율값이다. 본 출원의 일 예시적인 실시예에 있어서, 각 인접한 두 층 사이의 샘플링 거리 사이의 비율값이 동일하게 설정할 수 있고, 예를 들어, 모두 P일 수 있다. 다른 실시예에 있어서, 또한, 각 인접한 두 층 사이의 샘플링 거리 사이의 비율값을 상이하게 설정할 수 있다.
단계 B2에 있어서, 제1 비율값의 대수값을 결정한다.
여기서, 제1 비율값의 대수값은 제N층의 샘플링 거리로 이해할 수 있고, 바운딩 박스에서 가장 긴 대각선의 길이와 제1 비율값에 따라, 제N층의 샘플링 거리를 결정할 수 있다. 예를 들어, 초기 샘플링 거리의 기초 위에 제1 비율값을 곱하면, 다음 층의 샘플링 거리를 결정할 수 있으며, 이와 같이 유추하면, 제N층의 샘플링 거리를 결정할 수 있다.
일부 가능한 실시형태에 있어서, 포인트 클라우드의 기하 정보에 따라, 인접한 디테일 레벨의 샘플링 거리 사이의 제1 비율값을 결정하고, 포인트 클라우드의 기하 정보에서의 포인트 클라우드 좌표의 희소 경우에 따라, 제1 비율값을 설정한다. 상기 제1 비율값은 임의의 1보다 큰 수로 설정하여, 포인트 클라우드에 대해 레이어링을 수행하는 과정에서, 포인트 클라우드에 대한 수집은 계층수가 증가됨에 따라, 층별로 희소해지는 것을 보장할 수 있다.
단계 B3에 있어서, 상기 대수값을 상기 최대 허용값으로 결정한다.
여기서, 상기 대수값에 대응되는 베이스를 디테일 레벨에 인접한 샘플링 거리 사이의 비율값으로 설정한다. 일부 실시예에 있어서, 제N층의 샘플링 거리와 바운딩 박스에서 가장 긴 대각선의 길이의 크기를 비교하는 것을 통해, 제N층의 샘플링 거리와 바운딩 박스에서 가장 긴 대각선의 길이가 매우 접근하면, 제N층이 포인트 클라우드에 대해 레이어링을 수행하는 마지막 층인 것을 설명하며, 제N층에 대응되는 계층수가 최대 허용값인 것을 설명한다.
일부 예시적인 실시예에 있어서, 거리에 따라 LOD 분할을 구현하는 경우, 바운딩 박스의 가장 긴 대각선을 통해 최대 허용값을 설정할 수 있고, 아래의 과정을 통해 구현할 수 있다.
첫 번째 단계에 있어서, 바운딩 박스에서 서로 수직되는 세 개의 변의 길이를 결정한다.
여기서, 바운딩 박스가 입방체인 경우, 바운딩 박스에서 서로 수직되는 세 개의 변을 입방체의 길이, 너비, 높이로 이해할 수 있다.
두 번째 단계에 있어서, 세 개의 변의 길이에 따라, 가장 긴 대각선의 길이를 결정한다.
여기서, 이런 세 개의 변의 길이가 각각
Figure pct00069
(k=0, 1, 2)이면, 피타고라스의 정리에 따라, 가장 긴 대각선의 길이는
Figure pct00070
이다.
상기 첫 번째 단계와 두 번째 단계를 통해 거리에 따라 LOD에 대한 분할 수행을 구현할 때, 바운딩 박스에서 서로 수직되는 세 개의 변의 길이를 채택하여, 가장 긴 대각선의 길이를 결정하면, 타깃 길이를 얻을 수 있고, 최대 허용값을 설정하기 위한 것이다.
일부 예시적인 실시예에 있어서, 거리에 따라 LOD 분할을 구현하는 경우, 인접한 두 개의 층의 샘플링 거리와 샘플링 거리 비율값을 통해, 제N층의 샘플링 거리를 결정할 수 있고, 아래의 과정을 통해 구현할 수 있다.
첫 번째 단계에 있어서, 적어도 두 개의 인접한 두 개의 층의 샘플링 거리를 획득하고, 샘플링 거리 집합을 얻는다.
여기서, 속성 정보에 포함되는 초기 샘플링 거리와 총 샘플링 계층수를 분석하는 것을 통해, 복수 개의 인접 층의 샘플링 거리를 결정한다. 예를 들어, 제1층과 제2층의 샘플링 거리, 제3층과 제4층의 샘플링 거리, 제5층과 제6층의 샘플링 거리 등을 각각 획득하여, 샘플링 거리 집합을 구성한다. 즉, 상기 샘플링 거리 집합에는 복수 개의 인접 층의 샘플링 거리가 포함된다.
두 번째 단계에 있어서, 샘플링 거리 집합에서 인접한 두 개의 층의 샘플링 거리 사이의 비율값을 결정하여, 기설정된 샘플링 거리 비율값을 얻는다.
여기서, 샘플링 거리 집합에서 인접한 두 개의 층의 샘플링 거리에 대해 비율값을 구함으로써, 인접한 두 개의 층 사이의 샘플링 거리의 비율을 얻는다. 본 출원의 일 예시적인 실시예에 있어서, 각 인접한 두 개의 층 사이의 샘플링 거리의 비율이 동일하면, 상기 동일한 비율값을 기설정된 샘플링 거리 비율값으로 사용한다. 상기 기설정된 거리 비율값은, 이와 같이 인접한 두 개의 층의 샘플링 거리에 대한 비율값을 구하는 것을 통해 얻을 수 있고, 또한, 사전에 설정된 것일 수도 있다.
세 번째 단계에 있어서, 기설정된 샘플링 거리 비율값과 속성 정보에서의 초기 샘플링 거리에 따라, 제N층의 샘플링 거리를 결정한다.
여기서, 먼저, 제N층과 속성 정보에서의 초기 샘플링 거리에 대응되는 층 사이의 계층수 차이값을 결정하고, 다음, 계층수 차이값과 기설정된 샘플링 거리 비율값을 곱하며, 마지막으로, 제곱 결과와 타깃 길이를 곱하여 제N층의 샘플링 거리를 얻을 수 있다. 예를 들어, 제N층과 초기 샘플링 거리에 대응되는 층 사이의 계층수 차이값이 N-1이고, 기설정된 샘플링 거리 비율값이 P이면, 제N층의 샘플링 거리는
Figure pct00071
이다.
본 출원의 일 예시적인 실시예에 있어서, 속성 정보에서 인접한 두 개의 층의 샘플링 거리를 획득하는 것을 통해, 샘플링 거리 비율값을 결정하고, 초기 샘플링 거리와 결합하여, 제N층의 샘플링 거리를 결정하며; 이와 같이, 거리에 따라 LOD 분할을 구현하는 경우, 각 층의 샘플링 거리를 결정함으로써, 최대 허용값을 설정할 수 있다.
일부 예시적인 실시예에 있어서, 거리에 따라 LOD 분할을 구현하는 경우, 제N층의 샘플링 거리와 타깃 길이 사이의 관계를 판단하는 것을 통해, 최대 허용값을 설정할 수 있고, 아래의 과정을 통해 구현할 수 있다.
첫 번째 단계에 있어서, 제N층의 샘플링 거리와 타깃 길이 사이의 제2 차이값을 결정한다.
여기서, 제N층의 샘플링 거리와 바운딩 박스의 가장 긴 대각선 사이의 차이값을 결정하여, 제2 차이값을 얻는다. 예를 들어, 제N층의 샘플링 거리가
Figure pct00072
이고, 바운딩 박스의 가장 긴 대각선이
Figure pct00073
이면, 제2 차이값은
Figure pct00074
이다.
두 번째 단계에 있어서, 제2 차이값이 제2 기설정된 임계값보다 작거나 같으면, 제N층에 대응되는 계층수를 상기 최대 허용값으로 결정한다.
여기서, 제2 기설정된 임계값은 0에 접근한 정수이고, 제1 기설정된 임계값과 동일하거나 상이할 수 있다. 제2 차이값이 제2 기설정된 임계값보다 작거나 같으면, 제N층의 샘플링 거리와 바운딩 박스의 가장 긴 대각선의 길이가 매우 접근하는 것을 설명함으로써, 제N층이 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 마지막 층인 것을 설명함으로써, 제N층에 대응되는 계층수를 최대 허용값으로 사용할 수 있다.
방식 2에 있어서, 먼저, 수신된 설정 명령어에 응답하여, 최대 허용값 범위 내에서, 제1 신텍스 요소의 값을 결정한다. 즉, 사용자에 의해 입력된 계층수 설정 수행 명령어가 수신되었을 때, 상기 최대 허용값 내에서, 하나의 계층수를 선택하여 제1 신텍스 요소의 값으로 사용할 수 있고; 예를 들어, 최대 허용값이 [0, 20]이면, 18을 선택하여 제1 신텍스 요소의 값으로 사용할 수 있다. 다음, 제1 신텍스 요소의 값에 따라, 포인트 클라우드에 대해 분할을 수행한다. 이와 같이, 본 출원의 일 예시적인 실시예에 있어서, 포인트 클라우드 데이터의 기하 정보와 속성 정보에 따라, 자체 적응적으로 상기 포인트 클라우드 데이터의 최대 분할 가능한 계층수를 결정함으로써, 포인트 클라우드 데이터에 대해 레이어링을 수행하는 최대 허용값을 규정함으로써, 인코딩측과 디코딩측에서 사용자에 의해 설정된 LOD 분할 계층수에 대해 검사를 수행할 수 있어서, 사용자에 의해 설정된 분할 계층수와 실제 분할 계층수의 일치성을 증가시킬 수 있다.
일부 예시적인 실시예에 있어서, 포인트 클라우드 데이터에 대해 레이어링을 수행하는 최대 허용값을 설정한 후, 인코딩측과 디코딩측에서 사용자에 의해 설정된 LOD 분할 계층수에 대해 검사를 수행할 수 있어, 시스템의 일치성을 증가시킬 수 있고, 상기 최대 허용값에 따라, 상기 포인트 클라우드 비트 스트림에 대해 분할을 수행한 후, 상기 방법은 아래의 과정을 더 포함한다.
첫 번째 단계에 있어서, 입력된 포인트 클라우드에 대해 레이어링을 수행하는 기설정된 계층수를 획득한다.
여기서, 인코딩측 또는 디코딩측에서, 사용자가 포인트 클라우드에 대해 레이어링을 수행할 때, 사용자가 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 기설정된 계층수를 획득할 수 있다. 예를 들어, 사용자에 의해 설정된 포인트 클라우드 비트 스트림에 대해 레이어링을 수행하는 기설정된 계층수는 30이다.
두 번째 단계에 있어서, 최대 허용값에 따라, 기설정된 계층수의 합법성을 결정한다.
여기서, 기설정된 계층수가 최대 허용값 내에 위치하는지 여부를 판단하고, 기설정된 계층수가 최대 허용값 내에 위치하면, 상기 기설정된 계층수가 합법적인 것으로 결정하고, 즉 상기 기설정된 계층수는 사용 가능하며, 기설정된 계층수가 최대 허용값 내에 위치하지 않으면, 상기 기설정된 계층수가 비합법적인 것으로 결정하며, 즉 상기 기설정된 계층수는 사용 불가능하다. 구체적인 예에 있어서, 기설정된 계층수가 30이고, 최대 허용값이 21이면, 기설정된 계층수가 합법적이지 않은 것을 설명한다.
세 번째 단계에 있어서, 기설정된 계층수의 합법성이 기설정된 계층수가 최대 허용값보다 작거나 같은 것을 나타내면, 기설정된 계층수에 따라 포인트 클라우드에 대해 레이어링을 수행한다.
여기서, 기설정된 계층수가 최대 허용값보다 작거나 같으면, 기설정된 계층수가 최대 허용값 내에 위치하면, 기설정된 계층수가 사용 가능한 것을 설명하므로, 상기 기설정된 계층수에 따라 포인트 클라우드에 대해 레이어링을 수행할 수 있다. 이와 같이, 인코딩측과 디코딩측에서 사용자에 의해 설정된 LOD 분할 계층수에 대해 검사를 수행할 수 있음으로써, 사용자에 의해 설정된 기대 LOD 분할 계층수와 실제 LOD 분할 계층수의 일치성을 향상시킬 수 있다.
일부 실시예에 있어서, 포인트 클라우드의 압축 인코딩 흐름은 도 3에 도시된 바와 같고, 도 3은 본 출원의 일 예시적인 실시예의 포인트 클라우드 압축 인코딩 흐름 예시도이며, 도 3에 도시된 단계를 결합하여 아래의 설명을 수행한다.
단계 S301에 있어서, 포인트 클라우드를 기하 정보와 각 포인트에 대응되는 속성 정보로 분할한다.
여기서, 포인트 클라우드가 기하 기반의 포인트 클라우드 압축 인코딩(Geometry-based Point Cloud Compression, G-PCC) 인코더 프레임워크에서, 포인트 클라우드의 기하 정보와 각 포인트에 대응되는 속성 정보는 각각 분리하여 인코딩을 수행한다.
단계 S302에 있어서, 기하 정보에 대해 좌표 전환을 수행한다.
여기서, 기하 정보에 대해 좌표 전환을 수행하여, 포인트 클라우드가 모두 하나의 바운딩 박스(bounding box)에 포함되게 한다.
단계 S303에 있어서, 좌표 전환 후의 기하 정보에 대해 복셀화를 수행한다.
여기서, 좌표 전환 후의 기하 정보에 대해 복셀화를 수행하는 것은, 좌표 전환 후의 기하 정보에 대해 양자화를 수행하는 것으로 이해할 수 있고, 이때의 양자화는 주로 스케일링의 역할을 하며, 양자화는 정수를 취하므로, 부분 포인트의 기하 정보를 동일하게 하고, 파라미터에 따라 반복점을 제거할지 여부를 결정하며, 양자화와 중복점을 제거한다.
단계 S304에 있어서, 바운딩 박스에 대해 옥트리 분할을 수행한다.
여기서, bounding box에 대해 옥트리 분할을 수행한다. 옥트리에 따른 기하 정보 인코딩 프레임워크에서, 바운딩 박스를 여덟 개의 서브 입방체로 팔등분하고, 비어 있지 않은(포인트 클라우드에서의 포인트를 포함함) 서브 입방체에 대해, 분할하여 얻은 리프 노드가 1x1x1인 유닛 입방체일 때까지 계속하여 팔등분을 수행하고, 분할을 멈추며, 리프 노드에서의 포인트에 대해 인코딩을 수행하여, 이진 비트 스트림을 생성한다.
단계 S305에 있어서, 리프 노드에 대해 산술 인코딩을 수행하여, 복수 개의 교점을 얻는다.
여기서, 리프 노드에 대해 표면 피팅을 수행하여, 얻은 기하 정보의 이진 비트 스트림에 대해 기하 재구축을 수행하는데 사용된다. 트라이 앵글 수프(triangle soup, trisoup)에 따른 기하 정보 인코딩 프레임워크에서, 마찬가지로 먼저 옥트리 분할을 수행해야 하지만, 옥트리에 따른 기하 정보 인코딩과 구별하기 위해, 상기 방법은 포인트 클라우드를 레벨 별로 변의 길이가 1Х1Х1인 유닛 입방체로 분할할 필요가 없고, 서브 블록(block)의 변의 길이가 W일 때까지 분할하고 분할을 멈추며, 각 서브 블록에서 포인트 클라우드의 분포로 형성된 표면에 따라, 상기 표면과 서브 블록의 20 개의 변으로 생성된 최대로 12 개의 교점(vertex)을 얻는다. 순차적으로 각 서브 블록의 교점 좌표를 인코딩하여, 이진 비트 스트림을 생성한다.
단계 S306에 있어서, 각 서브 블록의 교점 좌표에 대해 인코딩을 수행하여, 이진 비트 스트림을 생성한다.
여기서, 각 서브 블록의 교점 좌표에 대해 인코딩을 수행하여, 기하 비트 스트림을 생성한다.
상기 단계 S301 내지 단계 S306은 기하 정보에 대한 인코딩 과정을 완료하고, 기하 인코딩을 완료한 후, 기하 정보에 대해 재구축을 수행하며, 단계 S307에 진입한다.
단계 S307에 있어서, 기하 정보에 대해 재구축을 수행한다.
여기서, 기하 정보에 대해 재구축을 수행하는 것은, 이미 인코딩된 비트 스트림에 대해 디코딩을 수행하고, 디코딩된 기하 정보, 즉, 재구축된 기하 정보를 다시 얻는 것으로 이해할 수 있다.
본 출원의 일 예시적인 실시예에 있어서, 속성 인코딩은 주로 컬러 정보에 대해 수행된다.
단계 S308에 있어서, 속성 정보에서의 컬러 정보를 RGB 컬러 공간으로부터 YUV 컬러 공간으로 전환한다.
단계 S309에 있어서, 재구축된 기하 정보를 이용하여 포인트 클라우드를 새롭게 착색하여, 인코딩되지 않은 속성 정보와 재구축된 기하 정보가 대응되게 한다.
여기서, 컬러 정보 인코딩에 있어서, 주로 두 가지의 변화 방법이 있는데, 첫 번째는 디테일 레벨 분할 모듈(LOD)(310)을 생성하는 과정에서, LOD 분할에 의존하는 거리에 따른 변환 향상의 구현이고, 두 번째는 영역 자체 적응 레이어링 변환(Region Adaptive Hierarchal Transform, RAHT)(311)을 직접 수행하는 것이며, 이러한 두 가지의 방법은 모두 컬러 정보를 공간 영역으로부터 주파수 영역으로 전환하며, 변환을 통해 고주파 계수와 저주파 계수를 얻는다. 마지막으로 계수에 대해 양자화를 수행하고 인코딩하여, 이진 비트 스트림을 생성한다.
단계 S312에 있어서, 컬러 정보를 공간 영역으로부터 주파수 영역으로 전환하여, 고주파 계수와 저주파 계수를 얻고 양자화를 수행한다.
단계 S313에 있어서, 양자화된 결과에 대해 산술 인코딩을 수행한다.
단계 S314에 있어서, 산술 인코딩의 결과에 따라, 속성 비트 스트림을 생성한다.
상기 단계 S308 내지 단계 S314는 속성 정보에 대해 인코딩을 수행하는 과정을 구현하고, 속성 정보의 인코딩은 세 가지 모드로 나뉘며, 예측 모드, 향상 모드와 RAHT 모드로 나뉜다. 예측 모드와 향상 모드의 경우, 포인트 클라우드에 대해 LOD 분할을 수행해야 한다. LOD는 특정 방식에 따라 포인트 클라우드를 일련의 증강 층과 세부 층으로 분할하는 것이고, 도 4에 도시된 바와 같이, 도 4는 본 출원의 일 예시적인 실시예에서 LOD 분할을 수행하는 구현 흐름 예시도이며, 도 4를 결합하여 아래의 설명을 수행한다.
포인트 집합(401)(LOD1)의 경우, 포인트 클라우드 세부 정보를 나타내는 집합 A1과, 포인트 클라우드 골격 정보를 나타내는 포인트 집합(402)(LOD2)으로 분할하고; 다음, 포인트 집합(402)의 경우, 포인트 클라우드 세부 정보를 나타내는 집합 A2와, 포인트 클라우드의 골격 정보를 나타내는 포인트 집합(403)(LOD3)으로 분할한다.
관련 기술에 있어서, LOD의 분할 계층수에 대해 규정하지 않으며, 사용자에 의해 수동으로 설정되지만, 동시에 LOD 분할 계층수의 범위도 규정되지 않는다. G-PCC의 일반적인 테스트 조건에서 종종 LOD의 분할 계층수를 하나의 비교적 큰 수로 설정하여, 설정값과 실제 분할 계층수가 자주 부합되지 않는 것을 초래한다.
이에 따라, 본 출원의 일 예시적인 실시예는 포인트 클라우드 레이어링 방법을 제공하고, 신텍스 요소 lifting_num_detail_levels_minus1 파라미터의 최대 범위에 대해 한정하며, lifting_num_detail_levels_minus1 최대값 MAX_minus1을 정의하고, 그의 구간은 0부터 MAX_minus1이다.
도 5는 본 출원의 일 예시적인 실시예에서 제공하는 모튼 코드에 따라 LOD 분할을 수행하는 구조 예시도이고, 도 5에 결합하여 아래의 설명을 수행한다.
도 5에서 프레임 501은 포인트 클라우드의 바운딩 박스를 나타내고, 점선 502는 바운딩 박스의 가장 긴 변을 변의 길이로 하는 입방체이다.
일부 실시예에 있어서, 포인트 클라우드의 압축 과정에 있어서, 기하 정보에 따른 인코딩은 포인트 클라우드의 바운딩 박스 크기를 얻을 수 있고, 가장 긴 변에 따라 구성된 입방체는, 포인트 클라우드의 루트 노드이다.
일부 가능한 실시형태에 있어서, 모튼 코드에 따른 우측 시프트의 LOD 생성 과정에 있어서, 먼저 aps.dist2와 입력 포인트 클라우드에 따라 abh.attr_dist2_delta를 계산하여 얻고, 다음 aps.dist2와 abh.attr_dist2_delta에 따라 초기 우측 시프트 비트 shiftbits0을 계산하여 얻으며, 공식(3)에 도시된 바와 같이,
Figure pct00075
공식 (3);
여기서, 첫 번째 우측 시프트 비트 shiftbits는 shiftbits0이고, 대응되는 노드 크기는
Figure pct00076
이며, 도 5에서의 A로 나타낸다. 이어서, LOD 분할을 수행할 때, 한 층을 분할할 때마다, shiftbits는 1이 추가되고; 1비트씩 우측으로 이동할 때마다, 노드의 변의 길이는 이전 층 노드의 2배로 증가되며, 도 5에서의 2A로 나타낸다.
제N층까지 분할하였을 때,
Figure pct00077
이고, 이때의 노드 크기는
Figure pct00078
이다. 본 출원의 일 예시적인 실시예에 있어서, LOD 분할 종료 조건은, 루트 노드까지 분할하였을 때, LOD 분할을 종료하고, 이때 루트 노드 크기는
Figure pct00079
이며, 공식(4)를 얻을 수 있음으로써,
Figure pct00080
공식 (4);
공식 (5)를 얻을 수 있고,
Figure pct00081
공식 (5);
따라서 LOD 최대의 분할 계층수는 max(N)이며 공식 (6)에 도시된 바와 같이,
Figure pct00082
공식 (6);
Lifting_num_detail_levels_minus1의 경우, 최대값은 max(N)-1이어야 하며, 공식 (7)에 도시된 바와 같이,
Figure pct00083
공식 (7);
공식 (7)에 따라, lifting_num_detail_levels_minus1의 범위를
Figure pct00084
로 나타낼 수 있다.
본 출원의 일 예시적인 실시예에 있어서, 포인트 클라우드 내용에 따라 자체 적응적으로 최대 LOD 분할 가능 계층수를 계산하여, 신텍스 요소 lifting_num_detail_levels_minus1의 범위를 명확하게 규정하여, 인코딩측과 디코딩측에서 사용자에 의해 설정된 levelOfDetailCount 파라미터(LOD 분할 계층수)에 대해 검사를 수행할 수 있어, 시스템의 일치성을 증가시킨다.
일부 실시예에 있어서, 거리에 따른 LOD 분할의 시나리오에서, LOD 분할을 설정하는 최대 계층수의 과정은 도 6에 도시된 바와 같고, 도 6은 본 출원의 일 예시적인 실시예에서 거리에 따라 LOD 분할을 수행하는 구조 예시도이고, 도 6에 결합하여 아래의 설명을 수행한다.
거리에 따른 LOD 분할 방식의 경우, 포인트 클라우드의 가장 먼 두 개의 포인트의 거리를 찾고, 바운딩 박스(601)에 따라 포인트 클라우드에서 가장 먼 두 개의 포인트(포인트 602와 포인트 603)의 거리를 근접하게 계산할 수 있고, 포인트 602와 포인트 603 사이의 거리를 바운딩 박스의 대각선의 길이로 사용하고, 바운딩 박스의 세 개의 변 x, y 및 z는 각각
Figure pct00085
(여기서, k=0, 1 또는 2임)이고, 이론적으로 가장 먼 두 개의 포인트의 거리를 maxDist로 설정하고 공식 (8)에 도시된 바와 같다.
Figure pct00086
공식 (8);
공식 (8)에 있어서, 초기 샘플링 거리를 D1로 설정하고, 인접한 두 개의 층의 샘플링 거리의 비율을 P로 설정하면, 제N층의 샘플링 거리는
Figure pct00087
로 나타낼 수 있다.
분할 계층수 N의 경우,
Figure pct00088
이므로,
Figure pct00089
이다.
신텍스 요소 lifting_num_detail_levels_minus1의 경우, 최대값 MAX_minus1는 max(N)-1이어야 하고, 공식 (9)로 나타낼 수 있으며,
Figure pct00090
공식 (9);
여기서,
Figure pct00091
이고, 이에 따라, MAX_minus1은 공식 (10)으로 나타낼 수 있고,
Figure pct00092
공식 (10);
본 출원의 일 예시적인 실시예에 있어서, 포인트 클라우드의 내용에 따라 자체 적응적으로 최대 LOD 분할 가능한 계층수를 계산하여, 신텍스 요소 lifting_num_detail_levels_minus1의 범위를 명확하게 규정함으로써, 인코딩측에서 사용자에 의해 설정된 LOD 분할 계층수에 대해 검사를 수행할 수 있어, 사용자에 의해 설정된 소망 LOD 분할 계층수와 실제 LOD 분할 계층수의 일치성을 향상시킬 수 있다.
도 7a에 도시된 바와 같이, 본 출원의 실시예는 디코더(1)를 제공하고,
포인트 클라우드 비트 스트림을 수신하기 위한 제1 수신 모듈(701) - 상기 포인트 클라우드 비트 스트림은, 상기 포인트 클라우드 비트 스트림의 기하 정보와 속성 정보를 포함함 - ;
상기 포인트 클라우드 비트 스트림에 포함된 제1 신텍스 요소의 최대 허용값을 결정하기 위한 제1 결정 모듈(702);
상기 포인트 클라우드 비트 스트림을 파싱하고, 상기 최대 허용값에 따라, 상기 제1 신텍스 요소의 값을 결정하기 위한 제1 파싱 모듈(703);
상기 제1 신텍스 요소의 값에 따라, 상기 속성 정보를 디코딩하는 과정에서의 디테일 레벨의 개수를 결정하기 위한 제2 결정 모듈(704); 및
상기 디테일 레벨의 개수와 상기 기하 정보에 따라, 상기 속성 정보에 대해 디코딩을 수행하여, 상기 포인트 클라우드 비트 스트림의 재구축 포인트 클라우드를 획득하기 위한 제1 디코딩 모듈(705)을 포함한다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(702)은 또한, 상기 포인트 클라우드 비트 스트림을 파싱하여, 적합성 파라미터를 획득하고; 상기 적합성 파라미터와 상기 최대 허용값 사이의 대응 관계에 따라, 상기 최대 허용값을 결정하기 위한 것이며; 여기서, 상기 적합성 파라미터는 프로파일, 티어와 레벨 중 적어도 하나를 포함한다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(702)은 또한, 상기 최대 허용값을 기설정된 상수값으로 설정하기 위한 것이며, 여기서, 상기 상수값은 0보다 큰 정수이다.
본 출원의 일부 실시예에 있어서, 상기 상수값은 0보다 크고, 기설정된 임계값보다 작거나 같은 정수인 것을 더 포함한다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(702)은 또한, 상기 포인트 클라우드 비트 스트림을 파싱하여, 루트 노드의 길이, 너비와 높이의 값을 결정하며; 상기 포인트 클라우드 비트 스트림을 파싱하여, 우측 시프트 제1 파라미터의 값을 결정하고; 상기 우측 시프트 제1 파라미터의 값과 상기 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 최대 허용값을 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 파싱 모듈(703)은 또한, 상기 포인트 클라우드 비트 스트림을 파싱하여, 상기 포인트 클라우드 비트 스트림을 나타내기 위한 초기 샘플링 거리를 결정하며; 상기 초기 샘플링 거리를, 상기 우측 시프트 제1 파라미터의 값으로 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(702)은 또한,
상기 포인트 클라우드 비트 스트림에 포함된 기하 정보를 파싱하여, 상기 루트 노드의 길이, 너비와 높이의 값을 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(702)은 또한,
상기 기하 정보에서의 유닛 헤더 정보를 파싱하여, 상기 루트 노드의 길이, 너비와 높이의 값을 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(702)은 또한, 상기 루트 노드 차원의 최대값을 상기 루트 노드의 길이, 너비 및 높이인 세 개의 값에서의 최대값으로 설정하고; 상기 포인트 클라우드 비트 스트림을 파싱하여, 우측 시프트 제2 파라미터의 값을 결정하며; 상기 최대 허용값을 상기 루트 노드 차원의 최대값과 상기 우측 시프트 제1 파라미터 및 상기 우측 시프트 제2 파라미터의 차이값으로 설정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(702)은 또한, 상기 포인트 클라우드 비트 스트림을 파싱하여, 상기 포인트 클라우드 비트 스트림 중 각 블록의 초기 샘플링 거리를 결정하며; 상기 각 블록의 초기 샘플링 거리의 합을 계산하여, 초기 샘플링 거리 합값을 얻고; 상기 초기 샘플링 거리 합값과 상기 우측 시프트 제1 파라미터의 차이값을, 상기 우측 시프트 제2 파라미터로 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(702)은 또한, 상기 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 루트 노드 대각선의 거리의 값을 결정하고; 상기 루트 노드 대각선의 거리의 값과 상기 우측 시프트 제1 파라미터 값에 따라, 상기 최대 허용값을 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(702)은 또한, 제1 비율값을 결정하고 - 상기 제1 비율값은 상기 루트 노드 대각선의 거리의 값과 상기 우측 시프트 제1 파라미터 값의 산술 제곱근 사이의 비율값임 - ; 상기 제1 비율값의 대수값을 결정하고; 상기 대수값을 상기 최대 허용값으로 결정하기 위한 것이며, 여기서, 상기 대수값에 대응되는 베이스를 인접한 디테일 레벨의 샘플링 거리 사이의 비율값으로 설정한다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(702)은 또한, 상기 포인트 클라우드를 파싱하여, 상기 인접한 디테일 레벨의 샘플링 거리 사이의 상기 제1 비율값을 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(702)은 또한, 상기 최대 허용값에 따라, 상기 제1 신텍스 요소가 비트 스트림에서 대응되는 비트수 N을 결정하고; 상기 포인트 클라우드 비트 스트림으로부터 N 개의 비트를 판독하고, 상기 N 개의 비트를 상기 제1 신텍스 요소의 값으로 전환하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(702)은 또한, 부호 없는 이진수를 사용하여 상기 최대 허용값이 수요되는 최소 비트수를 나타내는 것으로 결정하고; 상기 최소 비트수를, 상기 비트수 N으로 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(702)은 또한, 상기 제1 신텍스 요소의 값을 상기 N 개의 비트의 부호 없는 이진수에 대응되는 값으로 설정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(702)은 또한, 상기 제1 신텍스 요소의 값과 상기 최대 허용값 사이의 크기를 비교하고; 상기 제1 신텍스 요소의 값이 상기 최대 허용값보다 클 때, 이상 오류 보고 정보를 생성하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 제1 디코딩 모듈(705)은 또한, 상기 디테일 레벨의 개수와 상기 기하 정보에 따라, 상기 포인트 클라우드 비트 스트림 중 하나 또는 복수 개의 디테일 레벨의 재구축값을 결정하고; 상기 하나 또는 복수 개의 디테일 레벨의 재구축값에 따라, 상기 포인트 클라우드의 재구축 포인트 클라우드를 획득하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 제1 디코딩 모듈(705)은 또한,
상기 디테일 레벨의 개수와 상기 기하 정보에 따라, 상기 포인트 클라우드 비트 스트림에 대해 디테일 레벨 분할을 수행하여, 상기 하나 또는 복수 개의 디테일 레벨의 재구축값을 획득하기 위한 것이다.
실제 응용에 있어서, 도 7b에 도시된 바와 같이, 본 출원의 실시예는 디코더를 더 제공하고, 제1 메모리(721)와 제1 프로세서(722)를 포함하고; 상기 제1 메모리(721)에는 제1 프로세서(722)에서 작동 가능한 컴퓨터 프로그램이 저장되고, 상기 제1 프로세서(722)가 상기 프로그램을 실행할 때 디코더측의 포인트 클라우드 레이어링 방법을 구현한다.
도 8a에 도시된 바와 같이, 본 출원의 실시예는 인코더(2)를 제공하고,
포인트 클라우드의 기하 정보와 속성 정보를 획득하기 위한 제1 획득 모듈(801);
제1 신텍스 요소의 최대 허용값을 결정하기 위한 제1 결정 모듈(802) - 상기 제1 신텍스 요소는 상기 포인트 클라우드의 속성 정보에 대해 인코딩을 수행하는 과정에서 디테일 레벨의 개수를 나타냄 - ;
상기 최대 허용값과 상기 포인트 클라우드의 기하 정보에 따라, 상기 포인트 클라우드에 대해 디테일 레벨 분할을 수행하여, 상기 제1 신텍스 요소의 값을 결정하기 위한 제1 분할 모듈(803);
상기 포인트 클라우드에 대한 디테일 레벨 분할에 따라, 상기 포인트 클라우드에 대해 인코딩을 수행하여, 비트 스트림을 생성하기 위한 제1 인코딩 모듈(804); 및
상기 제1 신텍스 요소의 값에 대해 인코딩을 수행하여, 인코딩 비트를 비트 스트림에 기입하기 위한 제2 인코딩 모듈(805)을 포함한다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 상기 포인트 클라우드의 적합성 파라미터를 결정하고 - 상기 적합성 파라미터는 프로파일, 티어와 레벨 중 적어도 하나를 포함함 - ; 상기 적합성 파라미터와 상기 최대 허용값 사이의 대응 관계에 따라, 상기 최대 허용값을 결정하며; 상기 적합성 파라미터에 대해 인코딩을 수행하여, 인코딩 비트를 상기 비트 스트림에 기입하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 인코더의 구성 파라미터에 따라, 상기 적합성 파라미터를 설정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 세션 협상 과정 중 결정된 파라미터에 따라, 상기 적합성 파라미터를 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 상기 최대 허용값을 기설정된 상수값으로 결정하기 위한 것이며, 여기서, 상기 상수값은 0보다 큰 정수이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 상기 인코더의 구성 파라미터에 따라, 상기 기설정된 상수값을 설정하기 위한 것이고, 상기 상수값은 0보다 크고, 기설정된 임계값보다 작거나 같은 정수이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 루트 노드의 길이, 너비와 높이의 값을 결정하고; 상기 포인트 클라우드의 기하 정보에 따라, 우측 시프트 제1 파라미터의 값을 결정하며; 상기 우측 시프트 제1 파라미터의 값과 상기 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 최대 허용값을 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 상기 기하 정보에서, 상기 포인트 클라우드를 나타내기 위한 초기 샘플링 거리를 결정하고; 상기 초기 샘플링 거리를, 상기 우측 시프트 제1 파라미터의 값으로 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 상기 포인트 클라우드의 기하 정보에 따라, 상기 포인트 클라우드의 바운딩 박스를 결정하고; 상기 바운딩 박스에 따라, 상기 포인트 클라우드의 루트 노드를 결정하여, 상기 포인트 클라우드의 루트 노드의 길이, 너비와 높이의 값을 얻기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은, 또한, 상기 바운딩 박스 사이즈 중 기설정된 조건을 만족하는 타깃 길이를 결정하고; 상기 타깃 길이에 따라, 상기 포인트 클라우드의 루트 노드를 생성하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 상기 바운딩 박스의 가장 긴 변의 길이의 사이즈를, 상기 타깃 길이로 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 상기 루트 노드의 길이, 너비와 높이의 값에 대해 인코딩을 수행하여, 인코딩 비트를 상기 비트 스트림에 기입하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 상기 인코딩 비트를 상기 비트 스트림에서의 기하 데이터 유닛 헤더 정보에 기입하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 상기 루트 노드의 길이, 너비 및 높이인 세 개의 값에서의 최대값을 상기 루트 노드 차원의 최대값으로 설정하고; 상기 포인트 클라우드의 기하 정보에 따라, 우측 시프트 제2 파라미터의 값을 결정하며; 상기 루트 노드 차원의 최대값과 상기 우측 시프트 제1 파라미터 및 상기 우측 시프트 제2 파라미터의 차이값을 상기 최대 허용값으로 설정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 상기 기하 정보에서, 상기 포인트 클라우드 중 각 블록의 초기 샘플링 거리를 결정하고; 상기 각 블록의 초기 샘플링 거리의 합을 계산하여, 초기 샘플링 거리 합값을 얻고; 상기 초기 샘플링 거리 합값과 상기 우측 시프트 제1 파라미터의 차이값을, 상기 우측 시프트 제2 파라미터로 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 상기 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 루트 노드 대각선의 거리의 값을 결정하고; 상기 루트 노드 대각선의 거리의 값과 상기 우측 시프트 제1 파라미터 값에 따라, 상기 최대 허용값을 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 제1 비율값을 결정하고 - 상기 제1 비율값은 상기 루트 노드 대각선의 거리의 값과 상기 우측 시프트 제1 파라미터 값의 산술 제곱근 사이의 비율값임 - ; 상기 제1 비율값의 대수값을 계산하여, 상기 최대 허용값을 상기 대수값으로 설정하기 위한 것이며, 여기서, 상기 대수값을 계산하는 연산에서, 베이스를 인접한 디테일 레벨의 샘플링 거리의 비율값으로 설정한다.
본 출원의 일부 실시예에 있어서, 상기 제1 인코딩 모듈(804)은 또한, 상기 포인트 클라우드의 기하 정보에 따라, 상기 인접한 디테일 레벨의 샘플링 거리 사이의 상기 제1 비율값을 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 상기 최대 허용값에 따라, 상기 제1 신텍스 요소가 비트 스트림에서 차지하는 비트수 N을 결정하고; 상기 제1 신텍스 요소의 값을 N 개의 비트로 전환하고, 상기 N 개의 비트를 상기 비트 스트림에 기입하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 부호 없는 이진수를 사용하여 상기 최대 허용값이 수요되는 최소 비트수를 나타내는 것으로 결정하고; 상기 최소 비트수를, 상기 비트수 N으로 결정하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 결정 모듈(802)은 또한, 상기 제1 신텍스 요소의 값을 상기 N 개의 부호 없는 이진수에 대응되는 비트로 전환하기 위한 것이다.
본 출원의 일부 실시예에 있어서, 상기 제1 신텍스 요소의 값은 상기 최대 허용값보다 크지 않다.
본 출원의 일부 실시예에 있어서, 제1 분할 모듈(803)은 또한, 상기 포인트 클라우드의 모튼 코드 집합을 획득하고; 상기 모튼 코드 집합과 상기 기하 정보에 따라, 상기 최대 허용값 범위 내에서, 상기 제1 신텍스 요소의 값을 결정하고; 상기 제1 신텍스 요소의 값에 따라, 상기 포인트 클라우드에 대해 디테일 레벨 분할을 수행하기 위한 것이다.
실제 응용에 있어서, 도 8b에 도시된 바와 같이, 본 출원의 실시예는 인코더를 더 제공하고,
제2 메모리(821) 및 제2 프로세서(822)를 포함하며;
상기 제2 메모리(821)에는 제2 프로세서(822)에서 작동 가능한 컴퓨터 프로그램이 저장되고, 상기 제2 프로세서(822)가 상기 프로그램을 실행할 때 디코더측의 포인트 클라우드 레이어링 방법을 구현한다.
이상의 장치 실시예의 설명은, 상기 방법 실시예의 설명과 유사한 것으로서, 방법 실시예와 유사한 유익한 효과를 갖는다. 본 출원의 장치 실시예에서 미개시한 기술적인 세부 사항은, 본 출원의 방법 실시예의 설명을 참조하여 이해할 수 있다.
상응하게, 본 출원의 실시예는 저장 매체를 제공하고, 컴퓨터 프로그램을 저장하며, 상기 컴퓨터 프로그램이 제1 프로세서에 의해 실행될 때, 인코더의 포인트 클라우드 레이어링 방법을 구현하고; 또는, 상기 컴퓨터 프로그램이 제2 프로세서에 의해 실행될 때, 디코더의 포인트 클라우드 레이어링 방법을 구현한다.
여기서 설명해야 할 것은, 이상의 저장 매체 및 장치 실시예의 설명은, 상기 방법 실시예의 설명과 유사하게, 방법 실시예와 유사한 유익한 효과를 구비한다. 본 출원의 저장 매체 및 장치 실시예에서 미개시한 기술적인 세부 사항은, 본 출원의 방법 실시예의 설명을 참조하여 이해할 수 있다.
이상의 설명은 다만 본 출원의 실시 형태일 뿐이고, 본 출원의 보호 범위는 이에 한정되지 않으며, 본 출원이 속하는 기술 분야의 통상의 기술자라면, 본 출원에서 개시된 기술적 범위 내의 변화 또는 교체가 모두 본 출원의 보호 범위 내에 속해야 함을 쉽게 알 수 있을 것이다. 따라서, 본 출원의 보호범위는 청구범위의 보호범위를 기준으로 해야 한다.
본 출원의 일 예시적인 실시예에서의 포인트 클라우드 레이어링 방법은, 포인트 클라우드 비트 스트림을 수신하는 단계 - 상기 포인트 클라우드 비트 스트림은 상기 포인트 클라우드 비트 스트림의 기하 정보와 속성 정보를 포함함 - ; 상기 포인트 클라우드 비트 스트림에 포함된 제1 신텍스 요소의 최대 허용값을 결정하는 단계; 상기 포인트 클라우드 비트 스트림을 파싱하여, 상기 최대 허용값에 따라, 상기 제1 신텍스 요소의 값을 결정하는 단계; 상기 제1 신텍스 요소의 값에 따라, 상기 속성 정보를 디코딩하는 과정에서의 디테일 레벨의 개수를 결정하는 단계; 및 상기 디테일 레벨의 개수와 상기 기하 정보에 따라, 상기 속성 정보에 대해 디코딩을 수행하여, 상기 포인트 클라우드 비트 스트림 재구축 포인트 클라우드를 결정하는 단계를 포함한다.

Claims (48)

  1. 포인트 클라우드 레이어링 방법으로서,
    디코더에 적용되고, 상기 포인트 클라우드 레이어링 방법은,
    포인트 클라우드 비트 스트림을 수신하는 단계 - 상기 포인트 클라우드 비트 스트림은, 상기 포인트 클라우드 비트 스트림의 기하 정보와 속성 정보를 포함함 - ;
    상기 포인트 클라우드 비트 스트림에 포함되는 제1 신텍스 요소의 최대 허용값을 결정하는 단계;
    상기 포인트 클라우드 비트 스트림을 파싱하고, 상기 최대 허용값에 따라, 상기 제1 신텍스 요소의 값을 결정하는 단계;
    상기 제1 신텍스 요소의 값에 따라, 상기 속성 정보를 디코딩하는 과정에서의 디테일 레벨의 개수를 결정하는 단계; 및
    상기 디테일 레벨의 개수와 상기 기하 정보에 따라, 상기 속성 정보에 대해 디코딩을 수행하여, 상기 포인트 클라우드 비트 스트림의 재구축 포인트 클라우드를 획득하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  2. 제1항에 있어서,
    상기 포인트 클라우드 비트 스트림에 포함된 제1 신텍스 요소의 최대 허용값을 결정하는 단계는,
    상기 포인트 클라우드 비트 스트림을 파싱하여, 적합성 파라미터를 획득하는 단계 - 상기 적합성 파라미터는 프로파일, 티어 및 레벨 중 적어도 하나를 포함함 - ; 및
    기설정된 상기 적합성 파라미터와 상기 최대 허용값 사이의 대응 관계에 따라, 상기 최대 허용값을 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  3. 제1항에 있어서,
    상기 포인트 클라우드 비트 스트림에 포함된 제1 신텍스 요소의 최대 허용값을 결정하는 단계는,
    상기 최대 허용값을 기설정된 상수값으로 결정하는 단계를 포함하고,
    상기 상수값은 0보다 큰 정수인 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  4. 제3항에 있어서,
    상기 상수값은 0보다 크고, 기설정된 임계값보다 작거나 같은 정수인 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  5. 제1항에 있어서,
    상기 비트 스트림에 포함된 제1 신텍스 요소의 최대 허용값을 결정하는 단계는,
    상기 포인트 클라우드 비트 스트림을 파싱하여, 루트 노드의 길이, 너비와 높이의 값을 결정하는 단계;
    상기 포인트 클라우드 비트 스트림을 파싱하여, 우측 시프트 제1 파라미터의 값을 결정하는 단계; 및
    상기 우측 시프트 제1 파라미터의 값과 상기 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 최대 허용값을 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  6. 제5항에 있어서,
    상기 포인트 클라우드 비트 스트림을 파싱하여, 우측 시프트 제1 파라미터의 값을 결정하는 단계는,
    상기 포인트 클라우드 비트 스트림을 파싱하여, 상기 포인트 클라우드 비트 스트림을 나타내기 위한 초기 샘플링 거리를 결정하는 단계; 및
    상기 초기 샘플링 거리를, 상기 우측 시프트 제1 파라미터의 값으로 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  7. 제5항에 있어서,
    상기 포인트 클라우드 비트 스트림을 파싱하여, 루트 노드의 길이, 너비와 높이의 값을 결정하는 단계는,
    상기 포인트 클라우드 비트 스트림에 포함된 기하 정보를 파싱하여, 상기 루트 노드의 길이, 너비와 높이의 값을 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  8. 제7항에 있어서,
    상기 포인트 클라우드 비트 스트림의 기하 정보를 파싱하여, 루트 노드의 길이, 너비와 높이의 값을 결정하는 단계는,
    상기 기하 정보에서의 유닛 헤더 정보를 파싱하여, 상기 루트 노드의 길이, 너비와 높이의 값을 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  9. 제5항에 있어서,
    상기 우측 시프트 제1 파라미터의 값과 상기 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 최대 허용값을 결정하는 단계는,
    상기 루트 노드 차원의 최대값을 상기 루트 노드의 길이, 너비와 높이인 세 개의 값에서의 최대값으로 설정하는 단계;
    상기 포인트 클라우드 비트 스트림을 파싱하여, 우측 시프트 제2 파라미터의 값을 결정하는 단계; 및
    상기 최대 허용값을 상기 루트 노드 차원의 최대값과 상기 우측 시프트 제1 파라미터 및 상기 우측 시프트 제2 파라미터의 차이값으로 설정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  10. 제9항에 있어서,
    상기 포인트 클라우드 비트 스트림을 파싱하여, 우측 시프트 제2 파라미터의 값을 결정하는 단계는,
    상기 포인트 클라우드 비트 스트림을 파싱하여, 상기 포인트 클라우드 비트 스트림 중 각 블록의 초기 샘플링 거리를 결정하는 단계;
    상기 각 블록의 초기 샘플링 거리의 합을 계산하여, 초기 샘플링 거리 합값을 얻는 단계; 및
    상기 초기 샘플링 거리 합값과 상기 우측 시프트 제1 파라미터의 차이값을, 상기 우측 시프트 제2 파라미터로 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  11. 제5항에 있어서,
    상기 우측 시프트 제1 파라미터의 값과 상기 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 최대 허용값을 결정하는 단계는,
    상기 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 루트 노드 대각선의 거리의 값을 결정하는 단계; 및
    상기 루트 노드 대각선의 거리의 값과 상기 우측 시프트 제1 파라미터 값에 따라, 상기 최대 허용값을 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  12. 제11항에 있어서,
    상기 루트 노드 대각선의 거리의 값과 상기 우측 시프트 제1 파라미터 값에 따라, 상기 최대 허용값을 결정하는 단계는,
    제1 비율값을 결정하는 단계 - 상기 제1 비율값은 상기 루트 노드 대각선의 거리의 값과 상기 우측 시프트 제1 파라미터 값의 산술 제곱근 사이의 비율값임 - ;
    상기 제1 비율값의 대수값을 결정하는 단계; 및
    상기 대수값을 상기 최대 허용값으로 결정하는 단계를 포함하고,
    상기 대수값에 대응되는 베이스를 인접한 디테일 레벨의 샘플링 거리 사이의 비율값으로 설정하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  13. 제12항에 있어서,
    상기 제1 비율값을 결정하는 단계는,
    상 포인트 클라우드를 파싱하여, 상기 인접한 디테일 레벨의 샘플링 거리 사이의 상기 제1 비율값을 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  14. 제1항에 있어서,
    상기 포인트 클라우드 비트 스트림을 파싱하고, 상기 최대 허용값에 따라, 상기 제1 신텍스 요소의 값을 결정하는 단계는,
    상기 최대 허용값에 따라, 상기 제1 신텍스 요소가 비트 스트림에서 대응되는 비트수 N을 결정하는 단계; 및
    상기 포인트 클라우드 비트 스트림으로부터 N 개의 비트를 판독하고, 상기 N 개의 비트를 상기 제1 신텍스 요소의 값으로 전환하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  15. 제14항에 있어서,
    상기 최대 허용값에 따라, 상기 제1 신텍스 요소가 비트 스트림에서 대응되는 비트수 N을 결정하는 단계는,
    부호 없는 이진수를 사용하여 상기 최대 허용값에 수요되는 최소 비트수를 나타내는 것으로 결정하는 단계; 및
    상기 최소 비트수를, 상기 비트수 N으로 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  16. 제14항에 있어서,
    상기 포인트 클라우드 비트 스트림으로부터 N 개의 비트를 판독하고, 상기 N 개의 비트를 상기 제1 신텍스 요소의 값으로 전환하는 단계는,
    상기 제1 신텍스 요소의 값을 상기 N 개의 비트의 부호 없는 이진수에 대응되는 값으로 설정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  17. 제1항에 있어서,
    상기 포인트 클라우드 비트 스트림을 파싱하고, 상기 최대 허용값에 따라, 상기 제1 신텍스 요소의 값을 결정하는 단계는,
    상기 제1 신텍스 요소의 값과 상기 최대 허용값 사이의 크기를 비교하는 단계; 및
    상기 제1 신텍스 요소의 값이 상기 최대 허용값보다 클 때, 이상 오류 보고 정보를 생성하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  18. 제1항에 있어서,
    상기 디테일 레벨의 개수와 상기 기하 정보에 따라, 상기 속성 정보에 대해 디코딩을 수행하여, 상기 포인트 클라우드 비트 스트림의 재구축 포인트 클라우드를 획득하는 단계는,
    상기 디테일 레벨의 개수와 상기 기하 정보에 따라, 상기 포인트 클라우드 비트 스트림 중 하나 또는 복수 개의 디테일 레벨의 재구축값을 결정하는 단계; 및
    상기 하나 또는 복수 개의 디테일 레벨의 재구축값에 따라, 상기 포인트 클라우드의 재구축 포인트 클라우드를 획득하는 단계를 포함하는 하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  19. 제18항에 있어서,
    상기 디테일 레벨의 개수와 상기 기하 정보에 따라, 상기 포인트 클라우드 비트 스트림 중 하나 또는 복수 개의 디테일 레벨의 재구축값을 결정하는 단계는,
    상기 디테일 레벨의 개수와 상기 기하 정보에 따라, 상기 포인트 클라우드 비트 스트림에 대해 디테일 레벨 분할을 수행하여, 상기 하나 또는 복수 개의 디테일 레벨의 재구축값을 획득하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  20. 포인트 클라우드 레이어링 방법으로서,
    인코더에 적용되고, 상기 포인트 클라우드 레이어링 방법은,
    포인트 클라우드의 기하 정보와 속성 정보를 획득하는 단계;
    제1 신텍스 요소의 최대 허용값을 결정하는 단계 - 상기 제1 신텍스 요소는 상기 포인트 클라우드의 속성 정보에 대해 인코딩을 수행하는 과정에서의 디테일 레벨의 개수를 나타냄 - ;
    상기 최대 허용값과 상기 포인트 클라우드의 기하 정보에 따라, 상기 포인트 클라우드에 대해 디테일 레벨 분할을 수행하여, 상기 제1 신텍스 요소의 값을 결정하는 단계;
    상기 포인트 클라우드에 대한 디테일 레벨 분할에 따라, 상기 포인트 클라우드에 대해 인코딩을 수행하여, 비트 스트림을 생성하는 단계; 및
    상기 제1 신텍스 요소의 값에 대해 인코딩을 수행하여, 인코딩 비트를 비트 스트림에 기입하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  21. 제20항에 있어서,
    상기 제1 신텍스 요소의 최대 허용값을 결정하는 단계는,
    상기 포인트 클라우드의 적합성 파라미터를 결정하는 단계 - 상기 적합성 파라미터는 프로파일, 티어와 레벨 중 적어도 하나를 포함함 - ;
    기설정된 상기 적합성 파라미터와 상기 최대 허용값 사이의 대응 관계에 따라, 상기 최대 허용값을 결정하는 단계; 및
    상기 적합성 파라미터에 대해 인코딩을 수행하여, 인코딩 비트를 상기 비트 스트림에 기입하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  22. 제21항에 있어서,
    상기 포인트 클라우드의 적합성 파라미터를 결정하는 단계는,
    인코더의 구성 파라미터에 따라, 상기 적합성 파라미터를 설정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  23. 제21항에 있어서,
    상기 포인트 클라우드의 적합성 파라미터를 결정하는 단계는,
    세션 협상 과정 중 결정된 파라미터에 따라, 상기 적합성 파라미터를 설정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  24. 제20항에 있어서,
    상기 비트 스트림에 포함된 제1 신텍스 요소의 최대 허용값을 결정하는 단계는,
    상기 최대 허용값을 기설정된 상수값으로 결정하는 단계를 포함하고, 상기 상수값은 0보다 큰 정수인 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  25. 제24항에 있어서,
    상기 최대 허용값을 기설정된 상수값으로 설정하는 단계는,
    상기 인코더의 구성 파라미터에 따라, 상기 기설정된 상수값을 설정하는 단계를 더 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  26. 제24항에 있어서,
    상기 상수값은 0보다 크고, 기설정된 임계값보다 작거나 같은 정수인 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  27. 제20항에 있어서,
    상기 제1 신텍스 요소의 최대 허용값을 결정하는 단계는,
    루트 노드의 길이, 너비와 높이의 값을 결정하는 단계;
    상기 포인트 클라우드의 기하 정보에 따라, 우측 시프트 제1 파라미터의 값을 결정하는 단계; 및
    상기 우측 시프트 제1 파라미터의 값과 상기 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 최대 허용값을 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  28. 제27항에 있어서,
    상기 포인트 클라우드의 기하 정보에 따라, 우측 시프트 제1 파라미터의 값을 결정하는 단계는,
    상기 기하 정보에서, 상기 포인트 클라우드를 나타내기 위한 초기 샘플링 거리를 결정하는 단계; 및
    상기 초기 샘플링 거리를, 상기 우측 시프트 제1 파라미터의 값으로 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  29. 제27항에 있어서,
    상기 루트 노드의 길이, 너비와 높이의 값을 결정하는 단계는,
    상기 포인트 클라우드의 기하 정보에 따라, 상기 포인트 클라우드의 바운딩 박스를 결정하는 단계; 및
    상기 바운딩 박스에 따라, 상기 포인트 클라우드의 루트 노드를 결정하여, 상기 포인트 클라우드의 루트 노드의 길이, 너비와 높이의 값을 얻는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  30. 제29항에 있어서,
    상기 바운딩 박스에 따라, 상기 포인트 클라우드의 루트 노드를 결정하는 단계는,
    상기 바운딩 박스 사이즈 중 기설정된 조건을 만족하는 타깃 길이를 결정하는 단계; 및
    상기 타깃 길이에 따라, 상기 포인트 클라우드의 루트 노드를 생성하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  31. 제30항에 있어서,
    상기 바운딩 박스 사이즈 중 기설정된 조건을 만족하는 타깃 길이를 결정하는 단계는,
    상기 바운딩 박스의 가장 긴 변의 사이즈를, 상기 타깃 길이로 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  32. 제27항에 있어서,
    상기 포인트 클라우드 레이어링 방법은,
    상기 루트 노드의 길이, 너비와 높이의 값에 대해 인코딩을 수행하여, 인코딩 비트를 상기 비트 스트림에 기입하는 단계를 더 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  33. 제32항에 있어서,
    상기 포인트 클라우드 레이어링 방법은,
    상기 인코딩 비트를 상기 비트 스트림에서의 기하 데이터 유닛 헤더 정보에 기입하는 단계를 더 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  34. 제27항에 있어서,
    상기 우측 시프트 제1 파라미터의 값과 상기 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 최대 허용값을 결정하는 단계는,
    상기 루트 노드의 길이, 너비와 높이인 세 개의 값에서의 최대값을 상기 루트 노드 차원의 최대값으로 설정하는 단계;
    상기 포인트 클라우드의 기하 정보에 따라, 우측 시프트 제2 파라미터의 값을 결정하는 단계; 및
    상기 루트 노드 차원의 최대값과 상기 우측 시프트 제1 파라미터 및 상기 우측 시프트 제2 파라미터의 차이값을 상기 최대 허용값으로 설정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  35. 제27항에 있어서,
    상기 포인트 클라우드의 기하 정보에 따라, 우측 시프트 제2 파라미터의 값을 결정하는 단계는,
    상기 기하 정보에서, 상기 포인트 클라우드 중 각 블록의 초기 샘플링 거리를 결정하는 단계;
    상기 각 블록의 초기 샘플링 거리의 합을 계산하여, 초기 샘플링 거리 합값을 얻는 단계; 및
    상기 초기 샘플링 거리 합값과 상기 우측 시프트 제1 파라미터의 차이값을, 상기 우측 시프트 제2 파라미터로 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  36. 제27항에 있어서,
    상기 우측 시프트 제1 파라미터의 값과 상기 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 최대 허용값을 결정하는 단계는,
    상기 루트 노드의 길이, 너비와 높이의 값에 따라, 상기 루트 노드 대각선의 거리의 값을 결정하는 단계; 및
    상기 루트 노드 대각선의 거리의 값과 상기 우측 시프트 제1 파라미터 값에 따라, 상기 최대 허용값을 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  37. 제36항에 있어서,
    상기 루트 노드 대각선의 거리의 값과 상기 우측 시프트 제1 파라미터 값에 따라, 상기 최대 허용값을 결정하는 단계는,
    제1 비율값을 결정하는 단계 - 상기 제1 비율값은 상기 루트 노드 대각선의 거리의 값과 상기 우측 시프트 제1 파라미터 값의 산술 제곱근 사이의 비율값임 - ; 및
    상기 제1 비율값의 대수값을 계산하여, 상기 최대 허용값을 상기 대수값으로 설정하는 단계를 포함하고,
    상기 대수값을 계산하는 연산에서, 베이스를 인접한 디테일 레벨의 샘플링 거리의 비율값으로 설정하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  38. 제37항에 있어서,
    상기 포인트 클라우드 레이어링 방법은,
    상기 포인트 클라우드의 기하 정보에 따라, 상기 인접한 디테일 레벨의 샘플링 거리 사이의 상기 제1 비율값을 결정하는 단계를 더 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  39. 제20항에 있어서,
    상기 제1 신텍스 요소의 값에 대해 인코딩을 수행하여, 인코딩 비트를 비트 스트림에 기입하는 단계는,
    상기 최대 허용값에 따라, 상기 제1 신텍스 요소가 비트 스트림에서 차지하는 비트수 N을 결정하는 단계; 및
    상기 제1 신텍스 요소의 값을 N 개의 비트로 전환하고, 상기 N 개의 비트를 상기 비트 스트림에 기입하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  40. 제39항에 있어서,
    상기 최대 허용값에 따라, 상기 제1 신텍스 요소가 비트 스트림에서 대응되는 비트수 N을 결정하는 단계는,
    부호 없는 이진수를 사용하여 상기 최대 허용값에 수요되는 최소 비트수를 나타내는 것으로 결정하는 단계; 및
    상기 최소 비트수를, 상기 비트수 N으로 결정하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  41. 제40항에 있어서,
    상기 제1 신텍스 요소의 값을 N 개의 비트로 전환하는 단계는,
    상기 제1 신텍스 요소의 값을 상기 N 개의 부호 없는 이진수에 대응되는 비트로 전환하는 단계를 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  42. 제20항에 있어서,
    상기 제1 신텍스 요소의 값은 상기 최대 허용값보다 크지 않은 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  43. 제20항 또는 제42항에 있어서,
    상기 최대 허용값과 상기 포인트 클라우드의 기하 정보에 따라, 상기 포인트 클라우드에 대해 디테일 레벨 분할을 수행하여, 상기 제1 신텍스 요소의 값을 결정한 후, 상기 포인트 클라우드 레이어링 방법은,
    상기 포인트 클라우드의 모튼 코드 집합을 획득하는 단계;
    상기 모튼 코드 집합과 상기 기하 정보에 따라, 상기 최대 허용값 범위 내에서, 상기 제1 신텍스 요소의 값을 결정하는 단계; 및
    상기 제1 신텍스 요소의 값에 따라, 상기 포인트 클라우드에 대해 디테일 레벨 분할을 수행하는 단계를 더 포함하는 것을 특징으로 하는, 포인트 클라우드 레이어링 방법.
  44. 디코더로서,
    포인트 클라우드 비트 스트림을 수신하기 위한 제1 수신 모듈 - 상기 포인트 클라우드 비트 스트림은, 상기 포인트 클라우드 비트 스트림의 기하 정보와 속성 정보를 포함함 - ;
    상기 포인트 클라우드 비트 스트림에 포함되는 제1 신텍스 요소의 최대 허용값을 결정하기 위한 제1 결정 모듈;
    상기 포인트 클라우드 비트 스트림을 파싱하고, 상기 최대 허용값에 따라, 상기 제1 신텍스 요소의 값을 결정하기 위한 제1 파싱 모듈;
    상기 제1 신텍스 요소의 값에 따라, 상기 속성 정보를 디코딩하는 과정에서의 디테일 레벨의 개수를 결정하기 위한 제2 결정 모듈; 및
    상기 디테일 레벨의 개수와 상기 기하 정보에 따라, 상기 속성 정보에 대해 디코딩을 수행하여, 상기 포인트 클라우드 비트 스트림의 재구축 포인트 클라우드를 획득하기 위한 제1 디코딩 모듈을 포함하는 것을 특징으로 하는, 디코더.
  45. 인코더로서,
    포인트 클라우드의 기하 정보와 속성 정보를 획득하기 위한 제1 획득 모듈;
    제1 신텍스 요소의 최대 허용값을 결정하기 위한 제1 결정 모듈 - 상기 제1 신텍스 요소는 상기 포인트 클라우드의 속성 정보에 대해 인코딩을 수행하는 과정에서의 디테일 레벨의 개수를 나타냄 - ;
    상기 최대 허용값과 상기 포인트 클라우드의 기하 정보에 따라, 상기 포인트 클라우드에 대해 디테일 레벨 분할을 수행하여, 상기 제1 신텍스 요소의 값을 결정하기 위한 제1 분할 모듈;
    상기 포인트 클라우드에 대한 디테일 레벨 분할에 따라, 상기 포인트 클라우드에 대해 인코딩을 수행하여, 비트 스트림을 생성하기 위한 제1 인코딩 모듈; 및
    상기 제1 신텍스 요소의 값에 대해 인코딩을 수행하여, 인코딩 비트를 비트 스트림에 기입하기 위한 제2 인코딩 모듈을 포함하는 것을 특징으로 하는, 인코더.
  46. 디코더로서,
    제2 메모리 및 제2 프로세서를 포함하며;
    상기 제2 메모리에는 제2 프로세서에서 작동 가능한 컴퓨터 프로그램이 저장되고, 상기 제2 프로세서는 상기 프로그램을 실행할 때 제1항 내지 제19항 중 어느 한 항에 따른 포인트 클라우드 레이어링 방법을 구현하는 것을 특징으로 하는, 디코더.
  47. 인코더로서,
    제1 메모리와 제1 프로세서를 포함하며;
    상기 제1 메모리에는 제1 프로세서에서 작동 가능한 컴퓨터 프로그램이 저장되고, 상기 제1 프로세서는 상기 프로그램을 실행할 때 제20항 내지 제43항 중 어느 한 항에 따른 포인트 클라우드 레이어링 방법을 구현하는 것을 특징으로 하는, 인코더.
  48. 저장 매체로서,
    컴퓨터 프로그램을 저장하고, 상기 컴퓨터 프로그램이 제1 프로세서에 의해 실행될 때, 제1항 내지 제19항 중 어느 한 항에 따른 포인트 클라우드 레이어링 방법을 구현하고; 또는,
    상기 컴퓨터 프로그램이 제2 프로세서에 의해 실행될 때, 제20항 내지 제43항 중 어느 한 항에 따른 포인트 클라우드 레이어링 방법을 구현하는 것을 특징으로 하는, 저장 매체.
KR1020237014820A 2020-09-30 2020-09-30 포인트 클라우드 레이어링 방법 및 디코더, 인코더, 저장 매체 KR20230079188A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/119707 WO2022067790A1 (zh) 2020-09-30 2020-09-30 一种点云分层方法及解码器、编码器、存储介质

Publications (1)

Publication Number Publication Date
KR20230079188A true KR20230079188A (ko) 2023-06-05

Family

ID=80949480

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237014820A KR20230079188A (ko) 2020-09-30 2020-09-30 포인트 클라우드 레이어링 방법 및 디코더, 인코더, 저장 매체

Country Status (5)

Country Link
US (1) US11983905B2 (ko)
JP (1) JP7520223B2 (ko)
KR (1) KR20230079188A (ko)
CN (2) CN116261856A (ko)
WO (1) WO2022067790A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115063459B (zh) * 2022-08-09 2022-11-04 苏州立创致恒电子科技有限公司 点云配准方法及装置、全景点云融合方法及***
CN115175248B (zh) * 2022-09-06 2023-01-24 北京智芯微电子科技有限公司 用于通信***的定点数据压缩、解压方法、装置及设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6331826B1 (en) * 2000-01-04 2001-12-18 International Business Machines Corporation Method for providing an improved run-length encoding algorithm for data compression
CN103077549B (zh) 2012-10-24 2016-12-21 华南理工大学 一种基于kd树的实时大规模地形可视化实现方法
US20140198097A1 (en) 2013-01-16 2014-07-17 Microsoft Corporation Continuous and dynamic level of detail for efficient point cloud object rendering
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
CN108470374B (zh) * 2018-04-08 2022-03-25 中煤航测遥感集团有限公司 海量点云数据处理方法及装置
WO2019235587A1 (ja) 2018-06-08 2019-12-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN109257604B (zh) * 2018-11-20 2020-11-27 山东大学 一种基于tmc3点云编码器的颜色属性编码方法
CA3134855A1 (en) * 2019-06-26 2020-12-30 Tencent America LLC Implicit quadtree or binary-tree geometry partition for point cloud coding
US20220366610A1 (en) 2019-07-02 2022-11-17 Lg Electronics Inc. Point cloud data processing method and apparatus
CN110418135B (zh) * 2019-08-05 2022-05-27 北京大学深圳研究生院 一种基于邻居的权重优化的点云帧内预测方法及设备
US11350132B2 (en) * 2020-01-08 2022-05-31 Qualcomm Incorporated High level syntax for geometry-based point cloud compression
CN111641984B (zh) 2020-05-28 2022-11-04 哲库科技(北京)有限公司 一种小区选择方法及终端、存储介质

Also Published As

Publication number Publication date
WO2022067790A1 (zh) 2022-04-07
JP7520223B2 (ja) 2024-07-22
JP2023549447A (ja) 2023-11-27
CN116261856A (zh) 2023-06-13
CN116744013A (zh) 2023-09-12
US20230237705A1 (en) 2023-07-27
US11983905B2 (en) 2024-05-14

Similar Documents

Publication Publication Date Title
CN108335335B (zh) 一种基于增强图变换的点云属性压缩方法
JP7386337B2 (ja) 分割方法、符号器、復号器及びコンピュータ記憶媒体
US11936909B2 (en) Prediction method, encoder, decoder, and computer storage medium
US11983905B2 (en) Methods for level partition of point cloud, and decoder
WO2013067673A1 (en) Predictive position decoding
US11258458B2 (en) Methods and devices for lossy coding of point cloud occupancy
US20220329833A1 (en) Nearest neighbor search method, apparatus, device, and storage medium
US20230101072A1 (en) Nearest neighbour search method, encoder, decoder and storage medium
CN112385222B (zh) 点云处理的方法与装置
WO2022120594A1 (zh) 点云编解码方法、编码器、解码器及计算机存储介质
US20240257404A1 (en) Methods for level partition of point cloud, and decoder
WO2022067782A1 (zh) 一种点云数据的层次划分方法、编码器及存储介质
WO2022217611A1 (zh) 编解码方法及相关设备、存储介质
WO2023155045A1 (zh) 预测的方法和装置、编码器、解码器和编解码***
WO2021138785A1 (zh) 划分方法、编码器、解码器及计算机存储介质
Lincoln et al. Plane-Tree Low-Bitrate Mesh Compression
Daribo et al. Curve-based representation of point cloud for efficient compression
CN116233468A (zh) 点云解码方法、点云编码方法、装置、设备、介质及产品
CN116458158A (zh) 帧内预测方法及装置、编解码器、设备、存储介质
Kouno et al. Compression of 3-D Polygon Mesh Geometry Data by Wavelets with Structuring Surrounding Vertices Remeshing
Peng et al. Progressive lossless 3D mesh encoder with octree-based space partitioning