KR20210094095A - 포인트 클라우드 인코딩 방법 및 인코더 - Google Patents

포인트 클라우드 인코딩 방법 및 인코더 Download PDF

Info

Publication number
KR20210094095A
KR20210094095A KR1020217021621A KR20217021621A KR20210094095A KR 20210094095 A KR20210094095 A KR 20210094095A KR 1020217021621 A KR1020217021621 A KR 1020217021621A KR 20217021621 A KR20217021621 A KR 20217021621A KR 20210094095 A KR20210094095 A KR 20210094095A
Authority
KR
South Korea
Prior art keywords
point cloud
grouped
subgroup
group
sub
Prior art date
Application number
KR1020217021621A
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 KR20210094095A publication Critical patent/KR20210094095A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/146Data rate or code amount at the encoder output
    • 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
    • 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/177Methods 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 group of pictures [GOP]
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20224Image subtraction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 출원의 실시 예는 포인트 클라우드 인코딩 방법 및 인코더를 개시하고, 인코딩 효율을 향상시키는 데 도움이 되는 코딩 기술 분야와 관련된다. 상기 방법은, 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하는 단계; 및 복수의 서브 그룹에 포함된 포인트 클라우드를 인코딩하는 단계를 포함하며, 상기 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하는 단계는, 코딩 대상 포인트 클라우드 그룹에서의 복수의 포인트 클라우드 프레임을 사전 그룹화하여 사전 그룹화된 서브 그룹을 획득하는 단계, 및 사전 그룹화된 서브 그룹의 특징 정보에 기반하여 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하는 단계 - 특징 정보는 사전 그룹화된 서브 그룹에서 포인트 클라우드의 점유 맵의 크기를 나타내는 데 사용됨 - 를 포함한다.

Description

포인트 클라우드 인코딩 방법 및 인코더
본 출원은, 2018년 12월 13일에 중국 국가 지적 재산 관리국에 출원되고 발명의 명칭이 "포인트 클라우드 인코딩 방법 및 인코더"인 중국 특허 출원 번호 제201811527959.5호에 대한 우선권을 주장하는 바이며, 상기 문헌의 내용은 그 전체로서 원용에 의해 본 명세서에 포함된다.
본 출원은 코딩 기술 분야에 관한 것으로, 특히 포인트 클라우드(point cloud) 코딩 방법 및 코덱에 관한 것이다.
3D 센서(예를 들어, 3D 스캐너) 기술의 지속적인 개발로 포인트 클라우드 데이터 수집이 더 편리하며, 수집된 포인트 클라우드 데이터의 규모가 더 커졌다. 따라서 포인트 클라우드 데이터를 효과적으로 인코딩하는 방법은 해결해야 할 시급한 문제이다.
본 출원의 실시 예는 인코딩 효율성을 향상시키기 위해 포인트 클라우드 인코딩 방법 및 인코더를 제공한다.
제1 측면에 따르면, 포인트 클라우드 인코딩 방법이 제공되며, 상기 포인트 클라우드 인코딩 방법은, 코딩 대상 포인트 클라우드 그룹(to-be-coded point cloud group)을 복수의 서브 그룹으로 그룹화하는 단계; 및 상기 복수의 서브 그룹에 포함된 포인트 클라우드를 인코딩하는 단계를 포함하고, 상기 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하는 단계는, 상기 코딩 대상 포인트 클라우드 그룹에서의 복수의 포인트 클라우드 프레임을 사전 그룹화하여(pre-grouping) 사전 그룹화된 서브 그룹을 획득하는 단계, 및 상기 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계 - 상기 특징 정보는 상기 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵(occupancy map)의 크기를 나타내는 데 사용됨 - 를 포함한다. 포인트 클라우드의 점유 맵의 크기는 포인트 클라우드의 깊이 맵의 크기와 텍스처 맵의 크기를 결정하며, 포인트 클라우드의 점유 맵과 깊이 맵과 텍스처 맵의 크기들은 포인트 클라우드 인코딩 프로세스에서 비디오 코딩 효율에 영향을 미치는 핵심 요인이다. 따라서, 이 기술적 솔루션에서, 코딩 대상 포인트 클라우드 그룹이 그룹화되는 서브 그룹은, 사전 그룹화된 서브그룹에서 포인트 클라우드의 점유 맵의 크기를 참조하여 결정된다. 이는 비디오 인코딩 효율을 향상시켜 포인트 클라우드 코딩 효율을 향상시키는데 도움이 된다.
가능한 설계에서, 포인트 클라우드의 점유 맵의 면적, 높이 또는 너비는 포인트 클라우드의 점유 맵의 크기를 나타내는 데 사용된다.
가능한 설계에서, 사전 그룹화된 서브 그룹의 특징 정보는, 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기(즉, 정보 1), 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기(즉, 정보 2) 및 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 면적(즉, 정보 3) 중 적어도 하나를 포함할 수 있다. 정보 1 및 정보 3은 서브 그룹에서의 포인트 클라우드의 점유 맵 크기 정보를 간접적으로 나타낼 수 있다. 정보 2는 서브 그룹에서의 포인트 클라우드의 점유 맵 크기 정보를 직접 나타낼 수 있다.
가능한 설계에서, 글로벌 점유 맵의 크기는 글로벌 점유 맵의 높이로 나타낼 수 있다. 물론, 이것은 본 출원의 구현에서 제한되지 않는다.
가능한 설계에서, 포인트 클라우드의 점유 맵의 크기는 포인트 클라우드의 점유 맵의 높이로 나타낼 수 있다. 물론, 이것은 본 출원의 구현에서 제한되지 않는다.
가능한 설계에서, 서브 그룹 결정 프로세스에서, 사전 그룹화는 일반적으로 한번 이상 수행되어야 하며(예를 들어, 사전 그룹화는 윈도 슬라이딩 방법 또는 이분법을 사용하여 수행됨), 사전 그룹화가 수행될 때마다 하나의 사전 그룹화된 서브 그룹이 결정될 수 있다. 일부 실시예에서, 특정 회에 수행된 사전 그룹화가 다시 수행되어 사전 그룹화된 서브 그룹을 다시 획득할 수 있다는 점에 유의해야 한다.
가능한 설계에서, 상기 포인트 클라우드 인코딩 방법은 글로벌 매칭 패킹 알고리즘을 사용하여 사전 그룹화된 서브 그룹의 특징 정보를 결정하는 단계를 더 포함한다.
가능한 설계에서, 상기 코딩 대상 포인트 클라우드 그룹에서의 복수의 포인트 클라우드 프레임을 사전 그룹화하여 사전 그룹화된 서브 그룹을 획득하는 단계는, 제j 포인트 클라우드 프레임을 시작점으로 사용하여, 상기 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여, 제i 사전 그룹화된 서브 그룹을 획득하는 단계 - 상기 제j 포인트 클라우드 프레임은 상기 그룹화되지 않은 포인트 클라우드에서의 제1 포인트 클라우드 프레임이며, i ≥ 1이고, i는 정수이며, j ≥ 1이고, j는 정수이며, 상기 제i 사전 그룹화된 서브 그룹은 상기 제j 포인트 클라우드 프레임부터 시작하는 하나 이상의 포인트 클라우드 프레임을 포함함 - 를 포함한다. 이에 대응하여, 상기 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계를 포함한다. 본 출원의 실시예에서, 코딩 대상 포인트 클라우드 그룹에 포함된 서브 그룹이 결정될 때, 코딩 대상 포인트 클라우드 그룹에서의 포인트 클라우드의 순서에 기반하여 다음 서브 그룹을 결정하는 기술적 솔루션이 지원된다는 것을 알 수 있다.
가능한 설계에서, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보 및 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계를 포함한다.
가능한 설계에서, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보 및 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않을 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계를 포함한다. 이러한 방식으로, 코딩 대상 포인트 클라우드 그룹에서 가능한 많은 포인트 클라우드가 미리 설정된 조건을 충족하는 서브 그룹을 형성하여, 글로벌 매칭 패킹 알고리즘을 사용하여 서브 그룹에서의 포인트 클라우드를 패킹할 때 인코딩 효율을 향상시킨다.
가능한 설계에서, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보는 상기 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기를 포함한다. 이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않을 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는, 상기 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제1 임계 값보다 작거나 같고, 상기 제(i+1) 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 상기 제1 임계 값보다 클 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계를 포함한다.
선택적으로, 상기 제1 임계 값은 미리 정의된 값(예를 들어, 고정된 값)이다. 다르게는, 상기 제1 임계 값은 후보 패킹 알고리즘(candidate packing algorithm)에 기반하여 획득된 최대 크기이면서 또한 상기 코딩 대상 포인트 클라우드 그룹에서 상기 포인트 클라우드의 점유 맵의 것인 최대 크기에 기반하여 결정된다.
가능한 설계에서, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보는 상기 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기를 포함한다. 이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않을 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는, 상기 제i 사전 그룹화된 서브 그룹에서의 대형(large-size) 포인트 클라우드의 프레임 수량이 제1 미리 설정된 수량보다 작거나 같고, 상기 제(i+1) 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드의 프레임 수량이 상기 제1 미리 설정된 수량보다 클 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계 - 상기 대형 포인트 클라우드는 점유 맵 크기가 제2 임계 값보다 크거나 같은 포인트 클라우드임 -; 또는 글로벌 매칭 패킹 알고리즘(global matching packing algorithm)을 기반으로 획득된 크기이면서 또한 상기 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기와 후보 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 상기 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기의 비율의 평균값이 제3 임계 값보다 작거나 같고, 그리고 상기 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 상기 제(i+1) 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기와 상기 후보 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 상기 제(i+1) 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기의 비율의 평균값이 상기 제3 임계 값보다 클 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계를 포함한다.
선택적으로, 상기 제2 임계 값은 미리 정의된 값(예를 들어, 고정된 값)이다. 다르게는, 상기 대형 포인트 클라우드는 상기 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 점유 맵 크기가 상기 제2 임계 값보다 크거나 같은 포인트 클라우드이고; 상기 제2 임계 값은 상기 후보 패킹 알고리즘에 기반하여 획득된 최대 크기이면서 또한 상기 코딩 대상 포인트 클라우드 그룹에서의 포인트 클라우드의 점유 맵의 것인 최대 크기에 기반하여 결정되거나, 또는 상기 후보 패킹 알고리즘을 기반으로 획득된 크기이면서 또한 현재 포인트 클라우드의 점유 맵의 것인 크기에 기반하여 결정된다.
가능한 설계에서, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보는 상기 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 글로벌 점유 맵의 크기를 포함한다. 이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보 및 상기 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는, 상기 제(i+1) 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기에 비해 제5 임계 값 보다 크거나 같게 감소될 때, 이는 제i 사전 그룹화된 서브 그룹이 서브 그룹으로 사용되는 것과 비교하여, 제(i+1) 사전 그룹화된 서브 그룹이 서브 그룹으로 사용되는 경우, 패킹이 글로벌 매칭 패킹 알고리즘을 사용하여 수행될 때 포인트 클라우드 인코딩 효율이 크게 감소함을 지시하는 것을 포함한다. 이 경우, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정된다. 이는 제i 사전 그룹화된 서브 그룹에서의 글로벌 매칭된 패치 그룹이 제(i+1) 사전 그룹화된 서브 그룹에서의 글로벌 매칭된 패치가 아닌 것을 고려하여 제안된 기술적 솔루션이다.
가능한 설계에서, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보는 상기 제i 사전 그룹화된 서브 그룹의 유니온(union) 패치 점유 맵의 면적(area)을 포함한다. 이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보 및 상기 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는, 상기 il+1) 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 총 면적이 제i 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 총 면적에 비해 제4 임계 값보다 크거나 같게 감소될 때, 이는 제i 사전 그룹화된 서브 그룹이 서브 그룹으로 사용되는 것과 비교하여, 제(i+1) 사전 그룹화된 서브 그룹이 서브 그룹으로 사용되는 경우, 패킹이 글로벌 매칭 패킹 알고리즘을 사용하여 수행될 때 포인트 클라우드 인코딩 효율이 크게 감소함을 지시하는 것을 포함한다. 이 경우, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정된다. 이는 제i 사전 그룹화된 서브 그룹에서의 글로벌 매칭된 패치 그룹이 제(i+1) 사전 그룹화된 서브 그룹에서의 글로벌 매칭된 패치가 아닌 것을 고려하여 제안된 기술적 솔루션이다.
가능한 설계에서, 상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여, 상기 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여, 제i 사전 그룹화된 서브 그룹을 획득하는 단계는, 상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여 상기 코딩 대상 포인트 클라우드 그룹에서 상기 그룹화되지 않은 포인트 클라우드에 대해 i번째로 윈도(window)를 슬라이딩하여 상기 제i 사전 그룹화된 서브 그룹을 획득하는 단계; 또는 상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여 상기 코딩 대상 포인트 클라우드 그룹에서 상기 그룹화되지 않은 포인트 클라우드에 대해 i번째로 이분법(dichotomy)을 수행하여 상기 제i 사전 그룹화된 서브 그룹을 획득하는 단계를 포함한다. 상이한 회차에 윈도를 슬라이딩하는 데 사용되는 스텝 크기(step size)는 고정되거나 가변적이다. 선택적으로, i1번째로 상기 윈도를 슬라이딩하는 데 사용되는 스텝 크기는 i2번째로 상기 윈도를 슬라이딩하는 데 사용되는 스텝 크기보다 크거나 같으며, 1 ≤ i1 < i2 ≤ i이고, i1과 i2는 모두 정수이다. 또한 선택적으로, 상기 포인트 클라우드 인코딩 방법은, 수식 N[i+1] = N[i] x c에 따라, (i+1)번째로 상기 윈도를 슬라이딩하는 데 사용되는 스텝 크기 N[i+1]을 획득하는 단계를 더 포함하고, N[i]는 i번째로 상기 윈도를 슬라이딩하는 데 사용된 스텝 크기이고, c는 상기 제i 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드의 프레임 수량에 기반하여 결정되며, 상기 대형 포인트 클라우드는 점유 맵 크기가 상기 제2 임계 값보다 크거나 같은 포인트 클라우드이다. 예를 들어, c는 다음 수식: c =(a - b)/a을 충족하며, a는 상기 제1 미리 설정된 수량이고, b는 상기 제i 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드의 프레임 수량이다.
가능한 설계에서, 상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여, 상기 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여, 제i 사전 그룹화된 서브 그룹을 획득하는 단계는, 상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여 상기 코딩 대상 포인트 클라우드 그룹에서 상기 그룹화되지 않은 포인트 클라우드에 대해 i번째로 윈도를 슬라이딩하여 상기 제i 사전 그룹화된 서브 그룹을 획득하는 단계를 포함한다. 이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않을 때, 제2 스텝 크기를 사용하여 상기 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득하는 단계 - 상기 제2 스텝 크기는 제1 스텝 크기보다 작고, 상기 제1 스텝 크기는 상기 제(i+1) 사전 그룹화된 서브 그룹이 첫 번째로 획득될 때 사용된 스텝 크기임 -; 및 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않으면, 제3 스텝 크기를 사용하여 상기 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득하고 - 상기 제3 스텝 크기는 상기 제2 스텝 크기보다 작음 -; 유추에 의해(by analogy), 상기 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득한 횟수가 미리 설정된 횟수에 도달하거나 또는 가장 최근에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 스텝 크기가 미리 설정된 스텝 크기보다 작거나 같을 때, 상기 가장 최근에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않으면, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계를 포함한다. 이러한 방식으로, 코딩 대상 포인트 클라우드 그룹에서 가능한 많은 포인트 클라우드가 미리 설정된 조건을 충족하는 서브 그룹을 형성하여, 글로벌 매칭 패킹 알고리즘을 사용하여 서브 그룹에서의 포인트 클라우드를 패킹할 때 인코딩 효율을 향상시킨다.
이에 기반하여, 선택적으로, 상기 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하는 단계는, 상기 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량 사이의 차이가 제2 미리 설정된 수량보다 작거나 같을 때, 이번에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹이 서브 그룹인 것으로 결정하는 단계; 또는 상기 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량의 차이가 제2 미리 설정된 수량보다 클 때, 제4 스텝 크기를 사용하여 제(i+2) 사전 그룹화된 서브 그룹을 획득하고 - 상기 제2 스텝 크기와 상기 제4 스텝 크기의 합은 상기 제1 스텝 크기보다 작음 -; 상기 제(i+2) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하면, 제5 스텝 크기를 사용하여 제(i+3) 사전 그룹화된 서브 그룹을 획득하며 - 상기 제2 스텝 크기와 상기 제4 스텝 크기와 상기 제5 스텝 크기의 합은 상기 제1 스텝 크기보다 작음 - ; 그리고 유추하여, 획득된 제(i+k) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량의 차이가 상기 제2 미리 설정된 수량보다 작거나 같을 때, 상기 제(i+k) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하면, 상기 제(i+k) 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계 - k ≥ 2이고, k는 정수임 - 를 포함한다. 이러한 방식으로, 코딩 대상 포인트 클라우드 그룹에서 가능한 많은 포인트 클라우드가 미리 설정된 조건을 충족하는 서브 그룹을 형성하여, 글로벌 매칭 패킹 알고리즘을 사용하여 서브 그룹에서의 포인트 클라우드를 패킹할 때 인코딩 효율을 향상시킨다.
가능한 설계에서, 상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여, 상기 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여, 제i 사전 그룹화된 서브 그룹을 획득하는 단계는, 상기 제j 포인트 클라우드 프레임을 시작점으로 하여, 상기 코딩 대상 포인트 클라우드 그룹에서 상기 그룹화되지 않은 포인트 클라우드에 대해 i번째로 이분법을 수행하여 상기 제i 사전 그룹화된 서브 그룹을 획득하는 단계를 포함한다. 이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계를 포함한다.
가능한 설계에서, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보는 상기 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기를 포함한다. 이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하는 것은, 상기 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제1 임계 값보다 작거나 같는 것; 및/또는, 상기 제(i+1) 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기와 비교하여 제5 임계 값보다 크거나 같게 감소되는 것을 포함한다.
가능한 설계에서, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보는 상기 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기를 포함한다. 이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하는 것은, 상기 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제1 임계 값보다 작거나 같는 것; 및/또는, 상기 제(i+1) 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기와 비교하여 제5 임계 값보다 크거나 같게 감소되는 것을 포함한다.
실행 가능한 구현에서, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보는 상기 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기를 포함한다. 이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하는 것은: 상기 제i 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드 프레임의 수량이 제1 미리 설정된 수량보다 작거나 같은 것 - 대형 포인트 클라우드는 점유 맵 크기가 제2 임계 값보다 크거나 같은 포인트 클라우드임 -; 또는 글로벌 매칭 패킹 알고리즘을 기반으로 획득된 크기이면서 또한 상기 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기와 후보 패킹 알고리즘을 기반으로 획득된 크기이면서 또한 상기 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기의 비율의 평균값이 제3 임계 값보다 작거나 같은 것을 포함한다. 제2 임계 값의 구현에 대해서는 전술한 설명을 참조한다.
가능한 설계에서, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보는 상기 제i 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 면적을 포함한다. 이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하는 것은, 상기 제(i+1) 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 총 면적이, 상기 제i 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 총 면적과 비교하여, 제4 임계 값보다 크거나 같게 감소되는 것을 포함한다.
전술한 것은 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하는 특정 구현을 제공함을 이해할 수 있다. 이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않는 특정 구현이 획득될 수 있으며, 제(i+k) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하는 지의 특정 구현이 획득될 수 있으며, k ≥ 1이며, k는 정수이다.
제2 측면에 따르면, 인코더가 제공되며, 상기 인코더는 그룹화 모듈 및 인코딩 모듈을 포함한다. 상기 그룹화 모듈은 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하도록 구성되며, 상기 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하는 것은, 상기 코딩 대상 포인트 클라우드 그룹에서의 복수의 포인트 클라우드 프레임을 사전 그룹화하여 사전 그룹화된 서브 그룹을 획득하고, 그리고 상기 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 것 - 상기 특징 정보는 상기 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기를 나타내는 데 사용됨 - 을 포함한다. 상기 인코딩 모듈은 상기 복수의 서브 그룹에 포함된 포인트 클라우드를 인코딩하도록 구성된다.
그룹화 모듈에 의해 수행되는 단계 또는 관련 내용에 대한 설명의 특정 구현은 제1 측면에서 설명을 참조한다. 자세한 내용은 여기에서 다시 설명되지 않는다.
제3 측면에 따르면, 포인트 클라우드 데이터 인코딩 디바이스가 제공된다. 상기 디바이스는 메모리 및 인코더를 포함할 수 있다. 상기 메모리는 포인트 클라우드 데이터를 저장하도록 구성된다. 상기 인코더는 제1 측면 또는 제1 측면의 가능한 설계 중 임의의 하나에서 제공되는 포인트 클라우드 인코딩 방법을 수행하도록 구성된다.
제4 측면에 따르면, 인코딩 디바이스가 제공되며, 상기 인코딩 디바이스는 서로 연결된 비휘발성 메모리 및 프로세서를 포함한다. 상기 프로세서는 상기 메모리에 저장된 프로그램 코드를 호출하여, 제1 측면 또는 제1 측면의 가능한 설계 중 임의의 하나에서 제공되는 포인트 클라우드 인코딩 방법의 일부 단계 또는 모든 단계를 수행한다.
제5 측면에 따르면, 인코딩 장치가 제공된다. 상기 인코딩 장치는 메모리 및 프로세서를 포함한다. 상기 메모리는 프로그램 코드를 저장하도록 구성된다. 상기 프로세서는 상기 메모리에 저장된 프로그램 코드를 호출하여, 제1 측면 또는 제1 측면의 가능한 설계 중 임의의 하나에서 제공되는 포인트 클라우드 인코딩 방법의 일부 단계 또는 모든 단계를 수행하도록 구성된다.
제6 측면에 따르면, 컴퓨터가 판독 가능한 저장 매체가 제공된다. 상기 컴퓨터가 판독 가능한 저장 매체는 프로그램 코드를 저장한다. 상기 프로그램 코드가 컴퓨터 상에서 실행될 때, 제1 측면 또는 제1 측면의 가능한 설계 중 임의의 하나에서 제공되는 포인트 클라우드 인코딩 방법의 일부 단계 또는 모든 단계가 수행된다.
제7 측면에 따르면, 컴퓨터 프로그램 제품이 제공된다. 상기 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행될 때, 상기 컴퓨터는 제1 측면 또는 제1 측면의 가능한 설계 중 임의의 하나에서 제공되는 포인트 클라우드 인코딩 방법의 일부 단계 또는 모든 단계를 수행하도록 인에이블된다.
위에 제공된 인코더, 포인트 클라우드 데이터 인코딩 디바이스, 인코딩 디바이스, 인코딩 장치, 컴퓨터가 판독 가능한 저장 매체 또는 컴퓨터 프로그램 제품의 유익한 효과에 대해서는 대응하는 제1 측면에서 제공된 방법 실시 예의 유익한 효과를 참조한다. 자세한 내용은 여기서 다시 설명하지 않는다.
도 1은 본 출원의 실시 예에 적용 가능한 예시적인 포인트 클라우드 코딩 시스템의 개략적인 블록도이다.
도 2는 본 출원의 실시 예에 적용 가능한 예시적인 인코더의 개략적인 블록도이다.
도 3은 본 출원의 실시 예에 적용 가능한 포인트 클라우드, 포인트 클라우드의 패치 및 포인트 클라우드의 점유 맵의 개략도이다.
도 4는 본 출원의 실시 예에 적용 가능한 예시적인 디코더의 개략적인 블록도이다.
도 5는 본 출원의 실시 예에 따른 포인트 클라우드 인코딩 방법의 개략적인 흐름도이다.
도 6은 본 출원의 실시 예에 따른 슬라이딩 윈도, 스텝 크기 및 사전 그룹화된 서브 그룹 간의 대응 관계의 개략도이다.
도 7은 본 출원의 실시 예에 따른 서브 그룹 결정 방법의 개략적인 흐름도이다.
도 8a는 본 출원의 실시 예에 따른 서브 그룹 결정 프로세스의 개략도이다.
도 8b는 본 출원의 실시 예에 따른 다른 서브 그룹 결정 프로세스의 개략도이다.
도 9a 및 도 9b는 본 출원의 실시 예에 따른 다른 서브 그룹 결정 방법의 개략적인 흐름도이다.
도 10은 본 출원의 실시 예에 따른 도 9a 및 도 9b에 기반한 서브 그룹 결정 방법의 프로세스의 개략도이다.
도 11a는 본 출원의 실시 예에 따른 도 9a 및 도 9b에 기반한 서브 그룹 결정 방법의 프로세스의 개략도이다.
도 11b는 본 출원의 실시 예에 따른 도 9a 및 도 9b에 기반한 서브 그룹 결정 방법의 프로세스의 개략도이다.
도 12는 본 출원의 일 실시 예에 따른 이분법과 사전 그룹화된 서브 그룹 사이의 관계의 개략도이다.
도 13은 본 출원의 실시 예에 따른 다른 서브 그룹 결정 방법의 개략적인 흐름도이다.
도 14는 본 출원의 실시 예에 따른 다른 서브 그룹 결정 방법의 개략적인 흐름도이다.
도 15는 본 출원의 실시 예에 따른 인코더의 개략적인 블록도이다.
도 16은 본 출원의 실시 예에 따른 인코딩 디바이스의 구현의 개략적인 블록도이다.
도 1은 본 출원의 실시 예에 적용 가능한 예시적인 포인트 클라우드 코딩 시스템(1)의 개략적인 블록도이다. 용어 "포인트 클라우드 코딩" 또는 "코딩"은 일반적으로 포인트 클라우드 인코딩 또는 포인트 클라우드 디코딩일 수 있다. 포인트 클라우드 코딩 시스템(1)의 인코더(100)는 본 출원에서 제공되는 임의의 포인트 클라우드 인코딩 방법에 따라 코딩 대상 포인트 클라우드(to-be-coded point cloud)를 인코딩할 수 있다. 포인트 클라우드 코딩 시스템(1)의 디코더(200)는 인코더가 사용하는 포인트 클라우드 코딩 방법에 대응하여, 본 출원에서 제공되는 포인트 클라우드 디코딩 방법에 따라 코딩 대상 포인트 클라우드를 디코딩할 수 있다.
도 1에 도시된 바와 같이, 포인트 클라우드 코딩 시스템(1)은 소스(source) 장치(10) 및 목적지(destination) 장치(20)를 포함한다. 소스 장치(10)는 인코딩된 포인트 클라우드 데이터를 생성한다. 따라서, 소스 장치(10)는 포인트 클라우드 인코딩 장치로 지칭될 수 있다. 목적지 장치(20)는 소스 장치(10)에 의해 생성된 인코딩된 포인트 클라우드 데이터를 디코딩할 수 있다. 따라서, 목적지 장치(20)는 포인트 클라우드 디코딩 장치로 지칭될 수 있다. 소스 장치(10), 목적지 장치(20) 또는 소스 장치(10) 및 목적지 장치(20) 모두의 다양한 구현 솔루션은 하나 이상의 프로세서 및 하나 이상의 프로세서에 연결된 메모리를 포함할 수 있다. 메모리는 랜덤 액세스 메모리(random access memory, RAM), 읽기 전용 메모리(read-only memory, ROM), 전기적으로 지울 수 있는 프로그래밍 가능 읽기 전용 메모리(electrically erasable programmable read-only memory, EEPROM), 플래시 메모리 또는 본 명세서에서 설명된 대로 컴퓨터에서 액세스할 수 있는 명령 또는 데이터 구조의 형태로 원하는 프로그램 코드를 저장하는 데 사용할 수 있는 기타 매체를 포함할 수 있지만, 이에 제한되지 않는다.
소스 장치(10) 및 목적지 장치(20)는 데스크톱 컴퓨터, 모바일 컴퓨팅 장치, 노트북(예를 들어, 랩톱) 컴퓨터, 태블릿 컴퓨터, 셋톱 박스, "스마트" 폰과 같은 핸드헬드 전화, 텔레비전 세트, 카메라, 디스플레이 장치, 디지털 미디어 플레이어, 비디오 게임 콘솔, 차량 탑재 컴퓨터 및 유사한 장치를 포함하는, 다양한 장치를 포함할 수 있다.
목적지 장치(20)는 링크(link)(30)를 통해 소스 장치(10)로부터 인코딩된 포인트 클라우드 데이터를 수신할 수 있다. 링크(30)는 인코딩된 포인트 클라우드 데이터를 소스 장치(10)에서 목적지 장치(20)로 이동할 수 있는 하나 이상의 매체(media) 또는 장치를 포함할 수 있다. 일 예에서, 링크(30)는 소스 장치(10)가 인코딩된 포인트 클라우드 데이터를 실시간으로 목적지 장치(20)에 직접 송신할 수 있게 하는 하나 이상의 통신 매체를 포함할 수 있다. 이 예에서, 소스 장치(10)는 통신 표준(예를 들어, 무선 통신 프로토콜)에 따라 인코딩된 포인트 클라우드 데이터를 변조하고, 변조된 포인트 클라우드 데이터를 목적지 장치(20)에 송신할 수 있다. 하나 이상의 통신 매체는 무선 및/또는 유선 통신 매체, 예를 들어 무선 주파수(radio frequency, RF) 스펙트럼 또는 하나 이상의 물리적 전송 회선(line)을 포함할 수 있다. 하나 이상의 통신 매체는 패킷 기반 네트워크의 일부를 구성할 수 있으며, 패킷 기반 네트워크는 예를 들어, 근거리 통신망, 광역 통신망 또는 글로벌 네트워크(예를 들어, 인터넷)일 수 있다. 하나 이상의 통신 매체는 라우터, 스위치, 기지국, 또는 소스 장치(10)로부터 목적지 장치(20)로의 통신을 용이하게 하는 다른 디바이스를 포함할 수 있다.
다른 일 예에서, 인코딩된 데이터는 출력 인터페이스(140)를 통해 저장 장치(40)로 출력될 수 있다. 마찬가지로, 인코딩된 포인트 클라우드 데이터는 입력 인터페이스(240)를 통해 저장 장치(40)로부터 액세스될 수 있다. 저장 장치(40)는 예를 들어, 하드 드라이브, 블루레이 디스크, 디지털 다용도 디스크(digital versatile disc, DVD), 콤팩트 디스크 읽기 전용 메모리(compact disc read-only memory, CD-ROM), 플래시 메모리, 휘발성 또는 비 휘발성 메모리 또는 인코딩된 포인트 클라우드 데이터를 저장하도록 구성된 기타 적절한 디지털 저장 매체와 같은, 복수의 분산 데이터 저장 매체 또는 로컬로 액세스되는 데이터 저장 매체 중 어느 하나를 포함할 수 있다.
다른 일 예에서, 저장 장치(40)는 소스 장치(10)에 의해 생성된 인코딩된 포인트 클라우드 데이터를 저장할 수 있는 파일 서버 또는 다른 중간 저장 장치에 대응할 수 있다. 목적지 장치(20)는 저장 장치(40)로부터 스트리밍 전송 또는 다운로드를 통해, 저장된 포인트 클라우드 데이터에 액세스할 수 있다. 파일 서버는 인코딩된 포인트 클라우드 데이터를 저장하고 인코딩된 포인트 클라우드 데이터를 목적지 장치(20)에 송신할 수 있는 임의의 유형의 서버일 수 있다. 파일 서버의 예로는 네트워크 서버(예를 들어, 웹 사이트용), 파일 전송 프로토콜(file transfer protocol, FTP) 서버, 네트워크 결합 스토리지(network attached storage, NAS) 장치 또는 로컬 디스크 드라이브가 있다. 목적지 장치(20)는 임의의 표준 데이터 연결(인터넷 연결 포함)을 통해 인코딩된 포인트 클라우드 데이터에 액세스할 수 있다. 표준 데이터 연결은 무선 채널(예를 들어, Wi-Fi 연결), 유선 연결(예를 들어, 디지털 가입자 회선(digital subscriber line, DSL) 또는 케이블 모뎀) 또는 파일 서버에 저장된 인코딩된 포인트 클라우드 데이터에 액세스하는 데 적합한 이들의 조합을 포함할 수 있다. 저장 장치(40)로부터의 인코딩된 포인트 클라우드 데이터의 전송은 스트리밍 전송, 다운로드 전송 또는 이들의 조합일 수 있다.
도 1에 기술된 포인트 클라우드 코딩 시스템(1)은 예시일 뿐이며, 본 출원의 기술은 포인트 클라우드 인코딩 장치와 포인트 클라우드 디코딩 장치 간의 임의 데이터 통신을 반드시 포함하지 않는 포인트 클라우드 코딩(예를 들어, 포인트 클라우드 인코딩 또는 포인트 클라우드 디코딩) 장치에 적용 가능하다. 또 다른 일 예에서, 데이터는 로컬 메모리로부터 검색되고, 스트리밍 방식 등으로 네트워크 상에서 전송된다. 포인트 클라우드 인코딩 장치는 데이터를 인코딩하고, 데이터를 메모리에 저장할 수 있으며, 및/또는 포인트 클라우드 디코딩 장치는 메모리에서 데이터를 검색하고 데이터를 디코딩할 수 있다. 많은 일 예에서, 데이터를 인코딩하고 메모리에 데이터를 저장하거나 및/또는 메모리로부터 데이터를 검색하고 데이터를 디코딩하면서 또한 서로 통신하지 않는 장치들이, 인코딩 및 디코딩을 수행한다.
도 1의 예에서, 소스 장치(10)는 데이터 소스(120), 인코더(100) 및 출력 인터페이스(140)를 포함한다. 일부 예들에서, 출력 인터페이스(140)는 변조기/복조기(모뎀) 및/또는 송신기(또는 송신기라고 함)를 포함할 수 있다. 데이터 소스(120)는 포인트 클라우드 캡처 장치(예를 들어, 카메라), 이전에 캡처된 포인트 클라우드 데이터를 포함하는 포인트 클라우드 아카이브(archive), 포인트 클라우드 콘텐츠 제공자로부터 포인트 클라우드 데이터를 수신하도록 구성된 포인트 클라우드 피드-인 인터페이스(feed-in interface), 및/또는 포인트 클라우드 데이터를 생성하도록 구성된 컴퓨터 그래픽 시스템 또는 포인트 클라우드 데이터의 이러한 소스의 조합을 포함할 수 있다.
인코더(100)는 데이터 소스(120)로부터의 포인트 클라우드 데이터를 인코딩할 수 있다. 일부 일 예에서, 소스 장치(10)는 인코딩된 포인트 클라우드 데이터를 출력 인터페이스(140)를 통해 목적지 장치(20)로 직접 송신한다. 다른 일 예에서, 인코딩된 포인트 클라우드 데이터는 다르게는 저장 장치(40)에 저장될 수 있으므로, 목적지 장치(20)는 디코딩 및/또는 재생을 위해 인코딩된 포인트 클라우드 데이터에 후속적으로 액세스한다.
도 1의 예에서, 목적지 장치(20)는 입력 인터페이스(240), 디코더(200) 및 디스플레이 장치(220)를 포함한다. 일부 예에서, 입력 인터페이스(240)는 수신기 및/또는 모뎀을 포함한다. 입력 인터페이스(240)는 링크(30)를 통해 및/또는 저장 장치(40)로부터 인코딩된 포인트 클라우드 데이터를 수신할 수 있다. 디스플레이 장치(220)는 목적지 장치(20)와 통합되거나 또는 목적지 장치(20) 외부에 위치할 수 있다. 일반적으로 디스플레이 장치(220)는 디코딩된 포인트 클라우드 데이터를 디스플레이한다. 복수의 유형의 디스플레이 장치(220)가 있을 수 있다. 예를 들어, 디스플레이 장치(220)는 액정 디스플레이(liquid crystal display, LCD), 플라즈마 디스플레이, 유기 발광 다이오드(organic light-emitting diode, OLED) 디스플레이 또는 다른 유형의 디스플레이 장치일 수 있다.
도 1에 도시되어 있지는 않지만, 일부 측면들에서, 인코더(100) 및 디코더(200)는 각각 오디오 인코더 및 오디오 디코더와 통합될 수 있고, 적절한 멀티플렉서-디멀티플렉서(multiplexer-demultiplexer, MUX-DEMUX) 유닛 또는 다른 하드웨어 및 소프트웨어를 포함하여, 결합된 데이터 스트림 또는 별도의 데이터 스트림에서 오디오 및 비디오의 인코딩을 처리할 수 있다. 일부 일 예에서, 적절한 경우, MUX-DEMUX 유닛은 ITU H.223 멀티플렉서 프로토콜 또는 사용자 데이터그램 프로토콜(user datagram protocol, UDP)과 같은 다른 프로토콜을 따를 수 있다.
인코더(100) 및 디코더(200)는 각각 하나 이상의 마이크로 프로세서, 디지털 신호 프로세서(digital signal processing, DSP), 주문형 집적 회로(application specific integrated circuit, ASIC), 필드 프로그래밍 가능 게이트 어레이(field-programmable gate array, FPGA), 이산 로직, 하드웨어 또는 이들의 임의의 조합과 같은 복수의 회로 중 어느 하나로 구현될 수 있다. 본 출원이 소프트웨어를 사용하여 부분적으로 구현되면, 장치는 소프트웨어에 사용되는 명령을 적절한 컴퓨터가 판독 가능한 비 휘발성 저장 매체에 저장할 수 있으며, 하나 이상의 프로세서를 사용하여 하드웨어에서 명령을 실행하여 본 출원에서의 기술을 구현할 수 있다. 전술한 콘텐츠(하드웨어, 소프트웨어, 하드웨어와 소프트웨어의 조합 등을 포함) 중 하나는 하나 이상의 프로세서로 간주될 수 있다. 인코더(100) 및 디코더(200)는 각각 하나 이상의 인코더 또는 디코더에 포함될 수 있으며, 인코더 또는 디코더는 대응하는 장치에서 결합된 인코더/디코더(코덱)의 일부로 통합될 수 있다.
본 출원에서, 인코더(100)는 일반적으로 일부 정보를 예를 들어 디코더(200)에 "시그널링(signals)" 또는 "송신(send)"하는 다른 장치로 지칭될 수 있다. 용어 "시그널링" 또는 "송신"은 일반적으로 압축된 포인트 클라우드 데이터를 디코딩하는 데 사용되는 신택스 엘리먼트(syntactic element) 및/또는 다른 데이터의 송신을 지칭할 수 있다. 전송은 실시간 또는 거의 실시간으로 발생할 수 있다. 다르게는 일정 기간 후에 통신이 발생할 수 있다. 예를 들어, 인코딩된 비트 스트림에서의 신택스 엘리먼트가 인코딩 중에 컴퓨터가 판독 가능한 저장 매체에 저장될 때 통신이 발생할 수 있으며, 디코딩 장치는 신택스 엘리먼트가 매체에 저장된 후 언제든지 신택스 엘리먼트를 검색할 수 있다.
도 2는 본 출원의 실시 예에 적용 가능한 예시적인 인코더(100)의 개략적인 블록도이다. MPEG(Moving Picture Expert Group) 포인트 클라우드 압축(Point Cloud Compression, PCC) 인코딩 프레임워크가 도 2에서 설명을 위한 예로 사용된다. 도 2의 예에서, 인코더(100)는 패치(patch) 정보 생성 모듈(101), 패킹(packing) 모듈(102), 깊이 맵(depth map) 생성 모듈(103), 텍스처(texture) 맵 생성 모듈(104), 제1 충전(filling) 모듈(105), 이미지 기반 또는 비디오 기반 인코딩 모듈(106), 점유 맵(occupancy map) 인코딩 모듈(107), 보조 정보(auxiliary information) 인코딩 모듈(108), 멀티플렉서 모듈(109) 등을 포함할 수 있다. 또한, 인코더(100)는 포인트 클라우드 필터링 모듈(110), 제2 충전 모듈(111), 포인트 클라우드 재구성(reconstruction) 모듈(112) 등을 더 포함할 수 있다. 자세한 내용은 다음과 같다:
패치 정보 생성 모듈(101)은 방법을 사용하여 포인트 클라우드의 프레임을 복수의 패치로 분할하고(partition), 생성된 패치의 관련 정보 등을 획득하도록 구성된다. 패치는 하나의 포인트 클라우드 프레임에서 일부 포인트를 포함하는 세트이다. 일반적으로 하나의 연결된 영역(region)은 하나의 패치에 대응한다. 패치의 관련 정보는 포인트 클라우드를 분할하여 획득한 패치 수량, 3차원 공간에서 각 패치의 위치 정보, 각 패치의 정규 좌표축(normal coordinate axis)의 인덱스, 각 패치가 3차원 공간에서 2차원 공간으로 투영될 때 생성되는 깊이 맵, 각 패치의 깊이 맵의 크기(예를 들어, 깊이 맵의 너비 및 높이), 각 패치가 3차원 공간에서 2차원 공간으로 투영될 때 생성되는 점유 맵(occupancy map) 등 중 적어도 하나를 포함할 수 있으나, 이에 제한되지 않는다. 포인트 클라우드를 분할하여 획득한 패치의 수량, 각 패치의 정규 좌표축 인덱스, 각 패치의 깊이 맵의 크기, 포인트 클라우드에서 각 패치의 위치 정보 및 각 패치의 점유 맵의 크기 정보와 같은 일부 관련 정보는 보조 정보로 사용될 수 있으며, 인코딩(즉, 압축 인코딩)을 위해 보조 정보 인코딩 모듈(108)에 송신된다. 각 패치의 점유 맵은 패킹을 위해 패킹 모듈(102)에 송신될 수 있다. 또한, 포인트 클라우드의 점유 맵에서 각 패치의 특정 위치, 각 패치의 깊이 맵 등에 대한 정보가 깊이 맵 생성 모듈(103)에 송신될 수 있다.
패킹 모듈(102)이 포인트 클라우드의 점유 맵을 획득한 후, 제2 충전 모듈(111)은 포인트 클라우드의 점유 맵을 채운 다음, 인코딩을 위해 포인트 클라우드의 채워진(filled) 점유 맵을 점유 맵 인코딩 모듈(107)에 송신할 수 있다. 또한, 포인트 클라우드의 점유 맵은 포인트 클라우드의 깊이 맵을 생성하기 위해 깊이 맵 생성 모듈(103)을 가이드하고(guide), 포인트 클라우드의 텍스처 맵을 생성하기 위해 텍스처 맵 생성 모듈(104)을 가이드하는데 사용될 수 있다.
도 3은 본 출원의 실시 예에 적용 가능한 포인트 클라우드, 포인트 클라우드의 패치 및 포인트 클라우드의 점유 맵의 개략도이다. 도 3의 (a)는 포인트 클라우드 프레임의 개략도이다. 도 3의 (b)는 도 3의 (a)에 기반하여 획득된 포인트 클라우드의 패치의 개략도이다. 도 3의 (c)는 도 3의 (b)에 도시된 패치를 2차원 평면에 매핑하여 획득한 패치의 점유 맵을 패킹하는 것에 의해 획득된 포인트 클라우드의 점유 맵의 개략도이다.
깊이 맵 생성 모듈(103)은 포인트 클라우드의 점유 맵과 포인트 클라우드의 각 패치의 점유 맵 및 깊이 정보를 기반으로 포인트 클라우드의 깊이 맵을 생성하고, 제1 충전 모듈(105)이 깊이 맵의 빈 픽셀을 채워서 채워진 깊이 맵을 획득하도록 생성된 깊이 맵을 제1 충전 모듈(105)에 송신하도록 구성된다.
텍스처 맵 생성 모듈(104)은 포인트 클라우드의 점유 맵과 포인트 클라우드의 각 패치의 점유 맵 및 텍스처 정보를 기반으로 포인트 클라우드의 텍스처 맵을 생성하고, 생성된 텍스처 맵을 제1 충전 모듈(105)에 송신하도록 구성되므로, 제1 충전 모듈(105)이 수신된 텍스처 맵에서 빈 픽셀을 채워서 채워진 텍스처 맵을 획득한다.
제1 충전 모듈(105)은 이미지 기반 또는 비디오 기반 인코딩을 위해, 채워진 깊이 맵 및 채워진 텍스처 맵을 이미지 기반 또는 비디오 기반 인코딩 모듈(106)에 송신한다. 후속 프로세스는 다음과 같다:
한편, 이미지 기반 또는 비디오 기반 인코딩 모듈(106), 점유 맵 인코딩 모듈(107) 및 보조 정보 인코딩 모듈(108)은 획득된 인코딩 결과(즉, 비트 스트림)를 멀티플렉서 모듈(109)에 송신하고, 멀티플렉서 모듈(109)은 인코딩 결과를 하나의 비트 스트림으로 결합하며, 비트 스트림은 출력 인터페이스(140)에 송신될 수 있다.
한편, 이미지 기반 또는 비디오 기반 인코딩 모듈(106)은 획득된 인코딩 결과(즉, 비트 스트림)를 포인트 클라우드 재구성을 위해 포인트 클라우드 재구성 모듈(112)에 송신하여, 재구성된 포인트 클라우드를 획득(즉, 포인트 클라우드의 재구성된 기하학적(geometry) 정보를 획득)한다. 구체적으로, 이미지 기반 또는 비디오 기반 인코딩 모듈(106)에 의해 획득된 인코딩된 깊이 맵에 대해 비디오 디코딩이 수행되어 포인트 클라우드의 디코딩된 깊이 맵을 획득하고, 포인트 클라우드의 재구성된 기하학적 정보는 디코딩된 깊이 맵, 포인트 클라우드의 점유 맵 및 각 패치의 보조 정보를 사용하여 획득된다. 포인트 클라우드의 기하학적 정보는 3차원 공간에서 포인트 클라우드에 있는 포인트(예를 들어, 포인트 클라우드에서의 각 포인트)의 좌표 값을 지칭한다.
선택적으로, 포인트 클라우드 재구성 모듈(112)은 추가로, 포인트 클라우드의 텍스처 정보 및 포인트 클라우드의 재구성된 기하학적 정보를 컬러링(coloring) 모듈에 송신할 수 있다. 컬러링 모듈은 재구성된 포인트 클라우드를 컬러링하여, 재구성된 포인트 클라우드의 텍스처 정보를 획득하도록 구성된다.
선택적으로, 텍스처 맵 생성 모듈(104)은 추가로, 포인트 클라우드의 재구성된 기하학적 정보를 필터링하는 것에 의해 포인트 클라우드 필터 모듈(110)에 의해 획득된 정보에 기반하여 포인트 클라우드의 텍스처 맵을 생성할 수 있다.
도 2에 도시된 인코더(100)가 단지 예일뿐인 것으로 이해될 수 있다. 특정 구현에서, 인코더(100)는 도 2에 도시된 것보다 더 많거나 더 적은 모듈을 포함할 수 있다. 이것은 본 출원의 이 실시 예에서 제한되지 않는다.
일 예에서, 본 출원의 본 실시 예에 적용될 때, 패킹 모듈(102)은 그룹화(grouping) 서브 모듈(submodule)(도시되지 않음) 및 패킹 서브 모듈(도시되지 않음)을 포함할 수 있다. 그룹화 서브 모듈은 코딩 대상 포인트 클라우드 그룹을 사전 그룹화하여(pre-group) 사전 그룹화된 서브 그룹(pre-grouped subgroup)을 획득하도록 구성된다. 패킹 서브 모듈은 미리 설정된 패킹 알고리즘(예를 들어, 글로벌 매칭(matching) 패킹 알고리즘)을 기반으로 사전 그룹화된 서브 그룹에서의 포인트 클라우드에 패치(patch)의 점유 맵을 패킹하고(pack), 패킹 프로세스에서 또는 패킹 후에 획득된 사전 그룹화된 서브 그룹의 특징 정보를 그룹화 서브 모듈에 송신하도록 구성된다. 그룹화 서브 모듈은 특징 정보를 기반으로 코딩 대상 포인트 클라우드 그룹을 그룹화한다. 대응하는 예는 다음과 같다:
일 예에서, 패킹 모듈(102)은 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화한다. 코딩 대상 포인트 클라우드 그룹을 그룹화하는 프로세스에서, 복수의 서브 그룹에 포함된 포인트 클라우드의 점유 맵이 생성되고, 포인트 클라우드의 점유 맵이 깊이 맵 생성 모듈(103), 텍스처 맵 생성 모듈(104) 및 제2 충전 모듈(111)에 송신된다. 이 경우, 포인트 클라우드의 점유 맵을 수신한 모듈과 이 모듈과 연결되거나 통신하는 모듈이 서로 협력하여 인코딩 기능을 완성한다.
다른 예에서, 패킹 모듈(102)에 의해 수행되는 그룹화 및 패킹은 서로 상대적으로 독립적이다. 이에 대응하여, 패킹 모듈(102)은 그룹화 서브 모듈(도시되지 않음) 및 패킹 서브 모듈(도시되지 않음)을 포함할 수 있다. 코딩 대상 포인트 클라우드 그룹을 그룹화한 후, 그룹화 서브 모듈은 그룹화 결과를 패킹 서브 모듈에 송신하고, 패킹 서브 모듈은 그룹화 결과를 기반으로 패킹 작동을 수행하여 복수의 서브 그룹에 포함된 포인트 클라우드의 점유 맵을 획득한다. 포인트 클라우드의 점유 맵은 깊이 맵 생성 모듈(103), 텍스처 맵 생성 모듈(104) 및 제2 충전 모듈(111)에 송신된다. 이 경우, 패킹 서브 모듈, 포인트 클라우드의 점유 맵을 수신하는 모듈, 이 모듈과 연결되거나 통신하는 모듈이 서로 협력하여 인코딩 기능을 완성한다.
도 4는 본 출원의 실시 예에 적용 가능한 예시적인 디코더(200)의 개략적인 블록도이다. MPEG PCC 디코딩 프레임워크는 도 4에서 설명을 위한 예로서 사용된다. 도 4의 예에서, 디코더(200)는 디멀티플렉서(demultiplexer) 모듈(201), 이미지 기반 또는 비디오 기반 디코딩 모듈(202), 점유 맵 디코딩 모듈(203), 보조 정보 디코딩 모듈(204), 포인트 클라우드 기하학적 정보 재구성 모듈(205), 포인트 클라우드 필터 모듈(206) 및 포인트 클라우드 텍스처 정보 재구성 모듈(207)을 포함할 수 있다. 자세한 내용은 다음과 같다:
디멀티플렉서 모듈(201)은 입력 비트 스트림(즉, 결합된 비트 스트림)을 대응하는 디코딩 모듈에 송신하도록 구성된다. 구체적으로, 인코딩된 텍스처 맵을 포함하는 비트 스트림 및 인코딩된 깊이 맵을 포함하는 비트 스트림이 이미지 기반 또는 비디오 기반 디코딩 모듈(202)에 송신되며; 인코딩된 점유 맵을 포함하는 비트 스트림이 점유 맵 디코딩 모듈(203)에 송신되고; 인코딩된 보조 정보를 포함하는 비트 스트림이 보조 정보 디코딩 모듈(204)에 송신된다.
이미지 기반 또는 비디오 기반 디코딩 모듈(202)은 수신된 인코딩된 텍스처 맵 및 인코딩된 깊이 맵을 디코딩하고; 그 다음에 디코딩을 통해 획득된 텍스처 맵 정보를 포인트 클라우드 텍스처 정보 재구성 모듈(207)에 송신하며, 디코딩을 통해 획득된 깊이 맵 정보를 포인트 클라우드 기하학적 정보 재구성 모듈(205)에 송신한다. 점유 맵 디코딩 모듈(203)은 인코딩된 점유 맵을 포함하는 수신된 비트 스트림을 디코딩하고, 디코딩을 통해 획득된 점유 맵 정보를 포인트 클라우드 기하학적 정보 재구성 모듈(205)에 송신하도록 구성된다. 보조 정보 디코딩 모듈(204)은 수신된 인코딩된 보조 정보를 디코딩하고, 디코딩을 통해 획득된 정보이면서 또한 보조 정보를 지시하는 정보를 포인트 클라우드 기하학적 정보 재구성 모듈(205)에 송신하도록 구성된다.
포인트 클라우드 기하학적 정보 재구성 모듈(205)은 수신된 점유 맵 정보 및 보조 정보에 기반하여 포인트 클라우드 기하학적 정보를 재구성하도록 구성된다. 포인트 클라우드 필터 모듈(206)에 의해 필터링된 후, 재구성된 포인트 클라우드 기하학적 정보는 포인트 클라우드 텍스처 정보 재구성 모듈(207)에 송신된다.
포인트 클라우드 텍스처 정보 재구성 모듈(207)은 포인트 클라우드의 텍스처 정보를 재구성하여 재구성된 포인트 클라우드를 획득하도록 구성된다.
도 4에 도시된 디코더(200)가 단지 예일뿐임이 이해될 수 있다. 특정 구현에서, 디코더(200)는 도 4에 도시된 것보다 더 많거나 더 적은 모듈을 포함할 수 있다. 이것은 본 출원의 이 실시 예에서 제한되지 않는다.
본 출원의 실시 예에서 제공되는 기술적 솔루션의 이해를 용이하게 하기 위해, 다음은 본 출원의 실시 예에서 사용되는 기술 및 용어를 설명한다.
앵커(anchor) 알고리즘은 패킹 알고리즘이다. 구체적으로, 포인트 클라우드 프레임의 패치는 특정 순서, 예를 들어 패치의 점유 맵의 너비/높이의 내림차순(또는 오름차순)으로 배열된다. 그런 다음, 패치의 점유 맵을 배열된 패치의 순서대로 포인트 클라우드의 점유 맵의 가용 영역(available region)에 순차적으로 삽입하여 포인트 클라우드의 점유 맵을 획득한다.
글로벌 매칭 패킹 알고리즘은 포인트 클라우드의 복수 프레임 단위로 패킹을 수행하는 패킹 알고리즘으로, 복수의 포인트 클라우드 프레임 중 어느 하나에서 글로벌 매칭된 패치(global matched patch)의 점유 맵의 위치이면서 또한 포인트 클라우드 프레임의 점유 맵 내의 위치가, 전술한 글로벌 매칭된 패치와 매칭 관계(matching relationship)를 가지는 글로벌 매칭된 패치의 점유 맵의 위치이면서 또한 글로벌 매칭된 패치가 위치되는 포인트 클라우드의 점유 맵 내의 위치에 대응한다. 구체적으로, 본 출원의 실시 예에 적용 가능한 글로벌 매칭 패킹 알고리즘은 다음 단계를 포함할 수 있다:
단계 1: 포인트 클라우드 그룹에서 글로벌 매칭된 패치를 획득한다. 포인트 클라우드 그룹은 N개의 포인트 클라우드 프레임을 포함한다. N ≥ 2이고, N은 정수이다.
포인트 클라우드 프레임에서의 글로벌 매칭된 패치는, 포인트 클라우드 프레임 내에 있는 패치이면서 또한 포인트 클라우드 그룹에서의 포인트 클라우드 프레임 이외의 각 포인트 클라우드 프레임에서 찾을 수 있는 패치와 매칭 관계를 갖는 패치이다. 또한, 패치와 매칭 관계를 갖는 패치는 글로벌 매칭된 패치이다. 패치와 매칭 관계를 갖는 패치는 타깃 패치의 매칭된 패치이며, 여기서 타깃 패치는 패치 또는 패치의 매칭된 패치이다. 선택적으로, 포인트 클라우드 프레임에 있는 패치의 다른 포인트 클라우드 프레임에서 매칭된 패치는, 다른 포인트 클라우드 프레임에 있는 패치이면서 또한 패치와의 IOU(intersection over union)가 가장 크고 그리고 미리 설정된 임계 값보다 크거나 같은, 패치일 수 있다.
임의 글로벌 매칭된 패치와 매칭 관계를 갖는 패치의 수량은 N-1이다.
단계 2: M개의 세트에 대응하는 하는 M개의 유니온(union) 패치 점유 맵(즉, 유니온 점유 맵)을 결정하며, 여기서 각 세트는 N개의 글로벌 매칭된 패치를 포함하고, N개의 글로벌 매칭된 패치는 N개의 포인트 클라우드 프레임에서 매칭 관계를 갖는 패치(또는 N개의 포인트 클라우드 프레임에서 매칭 관계를 갖는 패치)이며; 선택적으로, m번째 세트에 대응하는 유니온 패치 점유 맵은 m번째 세트에 있는 모든 글로벌 매칭된 패치의 점유 맵의 유니온 세트이며, 여기서 1 ≤ m ≤ M이고, m과 M은 모두 정수이다.
한 세트에 포함된 N개의 글로벌 매칭된 패치가 N개의 포인트 클라우드 프레임에서 매칭 관계를 갖는 패치라는 것은 다음과 같이 이해될 수 있다: N개의 글로벌 매칭된 패치 각각은 하나의 포인트 클라우드 프레임에서 왔으며(또는 속하며), 서로 다른 글로벌 매칭된 패치는 서로 다른 포인트 클라우드에서 왔으며, N개의 글로벌 매칭된 패치는 매칭 관계를 가진다.
글로벌 매칭된 패치가 속한 세트에 대응하는 유니온 패치 점유 맵은 글로벌 매칭된 패치의 점유 맵을 포함한다.
본 출원의 이 실시 예에서, 유니온 패치 점유 맵을 획득하는 데 사용되는 글로벌 매칭된 패치이면서 또한 매칭 관계를 갖는 글로벌 매칭된 패치는, "글로벌 매칭된 패치의 그룹(또는 글로벌 매칭된 패치 그룹)"으로 지칭된다는 점에 유의해야 한다. 여기서는 일반적인 설명이 제공되며, 자세한 내용은 아래에서 설명하지 않는다.
단계 3: M개의 유니온 패치 점유 맵을 패킹하여 글로벌 점유 맵(즉, 최종 점유 맵)을 획득하며, 여기서 글로벌 점유 맵은 글로벌 점유 맵에서 M개의 유니온 패치 점유 맵의 위치를 결정하는 데 사용되며, 패킹 프로세스는 글로벌 점유 맵을 업데이트하는 프로세스로 간주될 수 있다. 예를 들어, M개의 유니온 점유 맵은 최종 점유 맵을 획득하기 위해, 위에서 아래로, 왼쪽에서 오른쪽으로 글로벌 점유 맵의 사용 가능한 공간에 배열된다.
단계 4: N개의 포인트 클라우드 프레임 각각을 패킹하여 N개의 포인트 클라우드 프레임의 점유 맵을 획득하며, 여기서 n번째 포인트 프레임에서 m번째 글로벌 매칭된 패치의 점유 맵의 위치이면서 또한 n번째 포인트 클라우드 프레임의 점유 맵에 있는 위치(제1 위치)는, M개의 유니온 패치 점유 맵에서 m번째 유니온 패치 점유 맵의 위치이면서 또한 글로벌 점유 맵 내의 위치(제2 위치)에 대응하며, 1 ≤ n ≤ N이고, n은 정수이다.
제1 위치가 제2 위치에 대응한다는 것은: 제1 위치의 좌표 값이 제2 위치의 좌표 값과 동일한 것; 또는 제1 위치를 포함하는 좌표계에서 제1 위치의 좌표 값이 제2 위치를 포함하는 좌표계에서 제2 위치의 좌표 값과 실질적으로 동일한 것; 또는 제1 위치의 좌표 값이 제2 위치의 좌표 값과 상이하지만, 제2 위치를 포함하는 위치 범위가 제1 위치를 포함하는 위치 범위를 포함하는 것을 포함할 수 있다. 제1 위치의 좌표 값은 n번째 포인트 클라우드 프레임의 점유 맵에서, n번째 포인트 클라우드 프레임의 점유 맵에서의 m번째 글로벌 매칭된 패치의 점유 맵의 위치 좌표로 표현될 수 있다. 제2 위치의 좌표 값은 글로벌 점유 맵에서 m번째 유니온 패치 점유 맵의 위치 좌표로 표현될 수 있다. 제1 위치를 포함하는 위치 범위는 m번째 글로벌 매칭된 패치의 점유 맵이 점유한 영역이고, 제2 위치를 포함하는 위치 범위는 m번째 유니온 패치 점유 맵이 점유한 영역이다.
일 예에서, 전술한 글로벌 매칭 패킹 알고리즘의 특정 구현에 대한 관련 내용 및 설명에 대한 설명은 예를 들어, 출원인이 이전에 출원한 다른 특허를 참조할 수 있지만 이에 제한되지는 않는다.
본 출원의 실시 예들에서 "적어도 하나(유형)"라는 용어는 하나(유형) 이상(유형)을 포함한다. "복수(유형)"는 2개(유형) 또는 둘 이상(유형)을 의미한다. 예를 들어, A, B 및 C 중 적어도 하나는, A만 존재하는 경우, B만 존재하는 경우, C만 존재하는 경우, A와 B 모두 존재하는 경우, A와 C 모두 존재하는 경우, B와 C 모두 존재하는 경우, A, B 및 C가 존재하는 경우를 포함한다. 본 출원의 설명에서, "/"는 달리 명시되지 않는 한 "또는"을 의미한다. 예를 들어, A/B는 A 또는 B를 나타낼 수 있다. 본 명세서에서 "및/또는"은 연관된 객체를 설명하기 위한 연관 관계만을 기술하고 3개의 관계가 존재할 수 있음을 나타낸다. 예를 들어, A 및/또는 B는 A만 존재하는 경우, A와 B가 모두 존재하는 경우, 그리고 B만 존재하는 세 가지 경우를 나타낼 수 있다. "복수"'는 둘 이상을 의미한다. 또한, 본 출원의 실시 예에서 기술적 솔루션의 명확한 설명의 편의를 위해, 본 출원의 실시 예에서 "제1" 및 "제2"와 같은 용어는 기능 및 목적이 기본적으로 동일한 객체 또는 유사한 객체를 구별하는 데 사용된다. 당업자는 "제1" 및 "제2"와 같은 용어가 수량 또는 실행 시퀀스를 제한하려는 것이 아님을 이해할 수 있으며; "제1" 및 "제2"와 같은 용어는 명확한 차이를 지시하지 않는다.
앵커 알고리즘을 사용하는 것과 비교하여, 복수의 포인트 클라우드에서 매칭 관계를 갖는 패치의 점유 맵이면서 또한 글로벌 매칭 패킹 알고리즘을 사용하여 패킹을 통해 획득된 점유 맵은, 패치가 위치되는 포인트 클라우드 점유 맵에서의 위치에 대응함을 알 수 있다. 이는 포인트 클라우드 코딩 성능을 개선하는 데 도움이 된다. 그러나, 포인트 클라우드의 점유 맵의 크기이면서 또한 글로벌 매칭 패킹 알고리즘을 사용하여 획득된 크기는, 일반적으로 앵커 알고리즘을 사용하여 획득된 크기보다 크다. 이는 포인트 클라우드 코딩 성능을 저하시킨다. 이에 기반하여, 본 출원의 실시 예에서 제공되는 일부 실시 예의 기본 아이디어는 다음과 같다: 포인트 클라우드 코딩 성능에 대한 두 가지 측면의 영향이 균형을 이루므로, 코딩 대상 포인트 클라우드 그룹에 있는 서브 그룹이면서 또한 적어도 2개의 포인트 클라우드 프레임을 포함하는 서브 그룹이 글로벌 패킹 알고리즘을 기반으로 패킹될 때, 전반적인 성능이 상대적으로 높다. 여기서 앵커 알고리즘은 다른 패킹 알고리즘으로 대체될 수 있다.
본 출원의 일부 다른 실시 예에서, 복수의 패킹 알고리즘의 코딩 성능은 비교할 필요가 없다. 대신, 코딩 대상 포인트 클라우드 그룹은 하나의 패킹 알고리즘을 기반으로 직접 그룹화된다. 패킹 알고리즘은 예를 들어 글로벌 매칭 패킹 알고리즘이지만, 이에 제한되지 않는다.
다음은 본 출원의 실시 예에서 제공되는 포인트 클라우드 인코딩 방법을 설명한다. 도 1에 도시된 포인트 클라우드 코딩 시스템을 참조하면, 임의의 다음의 포인트 클라우드 인코딩 방법은 포인트 클라우드 코딩 시스템에서 소스 장치(10)에 의해 수행될 수 있으며, 보다 구체적으로 소스 장치(10)에서 인코더(100)에 의해 수행될 수 있음을 유의한다.
도 5는 본 출원의 실시 예에 따른 포인트 클라우드 인코딩 방법의 개략적인 흐름도이다. 상기 방법은 다음 단계를 포함할 수 있다.
S101: 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하며, 여기서 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하는 것은, 코딩 대상 포인트 클라우드 그룹에서의 복수의 포인트 클라우드 프레임을 그룹화하여 사전 그룹화된 서브 그룹을 획득하고, 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나임을 결정하는 것을 포함하며, 여기서 특징 정보는 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기를 나타내는 데 사용된다.
포인트 클라우드의 점유 맵의 크기 정보는 포인트 클라우드의 점유 맵의 면적(area), 높이, 너비 등일 수 있다. 포인트 클라우드의 점유 맵의 크기 정보가 점유 맵의 면적인 예를 아래에서 설명을 위해 사용한다. 여기서는 일반적인 설명이 제공되며, 자세한 내용은 아래에서 설명하지 않는다.
코딩 대상 포인트 클라우드 그룹은 복수의 포인트 클라우드 프레임을 포함하고, 복수의 포인트 클라우드 프레임은 시간적으로 연속적이거나 비 연속적일 수 있다. 예를 들어, 코딩 대상 포인트 클라우드 그룹은 하나 이상의 프레임 그룹(group of frame, GOF)일 수 있고, 하나의 GOF는 32개의 포인트 클라우드 프레임을 포함할 수 있다. 물론, 이것에 한정되지 않는다.
코딩 대상 포인트 클라우드를 그룹화하여 획득된 임의의 서브 그룹은 하나 이상의 포인트 클라우드 프레임을 포함할 수 있다. 서로 다른 서브 그룹에 포함된 포인트 클라우드 프레임의 수량은 같을(equal) 수도 있고 같지 않을 수도 있다.
사전 그룹화에 사용되는 방법은 본 출원의 이 실시 예에서 제한되지 않는다. 예를 들어, 코딩 대상 포인트 클라우드 그룹에서 복수의 포인트 클라우드 프레임은 윈도 슬라이딩(window sliding) 방법 또는 이분법(dichotomy)을 사용하여 사전 그룹화될 수 있다.
사전 그룹화된 서브 그룹에서 포인트 클라우드의 점유 맵의 크기는 글로벌 매칭 패킹 알고리즘 또는 다른 패킹 알고리즘, 예를 들어 앵커 패킹 알고리즘을 기반으로 결정될 수 있다.
사전 그룹화된 서브 그룹의 특징 정보는 사전 그룹화된 서브 그룹에서 포인트 클라우드의 점유 맵의 크기를 나타내기 위해 직접 또는 간접적으로 사용되는 정보일 수 있다. 예를 들어, 특징 정보는 다음 정보 1 내지 정보 3 중 적어도 하나를 포함할 수 있다.
정보 1은 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기이다. 선택적으로, 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기는 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 높이(height)와 너비(weight)의 곱(즉, 글로벌 점유 맵의 면적)으로 표현될 수 있다. 선택적으로, 서브 그룹 결정 프로세스에서, 서로 다른 사전 그룹화된 서브 그룹의 획득된 글로벌 점유 맵의 너비가 동일하면(same), 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기는 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 높이로 표현될 수 있다. 마찬가지로, 서브 그룹 결정 프로세스에서, 서로 다른 사전 그룹화된 서브 그룹의 획득된 글로벌 점유 맵의 높이가 동일하면, 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기는 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 너비로 표현될 수 있다. 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기는 사전 그룹화된 서브 그룹에서 각 포인트 클라우드 프레임의 점유 맵의 최소 크기를 정의하기 때문에, 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기는 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기를 사용하여 간접적으로 표현될 수 있다.
정보 2는 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기, 예를 들어 사전 그룹화된 서브 그룹에 있는 하나 이상의 프레임(예를 들어, 모든 프레임)의 점유 맵의 크기이다. 선택적으로, 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기는 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 높이와 너비의 곱(즉, 점유 맵의 면적)으로 표현될 수 있다. 선택적으로, 서브 그룹 결정 프로세스에서, 서로 다른 포인트 클라우드의 획득된 점유 맵의 너비가 동일하면, 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기는 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 높이로 표현될 수 있다. 마찬가지로, 서브 그룹 결정 프로세스에서, 서로 다른 포인트 클라우드의 획득된 점유 맵의 높이가 동일하면, 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기는 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 너비로 표현될 수 있다. 정보 2는 사전 그룹화된 서브 그룹에서 포인트 클라우드의 점유 맵의 크기를 나타내기 위해 직접 사용되는 정보이다.
정보 3은 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 면적이다. 전술한 설명으로부터 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵이 복수일 수 있음을 알 수 있다. 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 면적은 사전 그룹화된 서브 그룹의 하나 이상의(예를 들어, 모든) 유니온 패치 점유 맵의 면적일 수 있다. 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 면적(예를 들어, 총 면적)은 사전 그룹화된 서브 그룹에서의 포인트 클라우드 점유 맵의 면적을 어느 정도 반영할 수 있기 때문에, 사전 그룹화된 서브 그룹에서의 포인트 클라우드 점유 맵의 크기는 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 면적(예를 들어, 총 면적)으로 간접적으로 표현될 수 있다.
S102: 복수의 서브 그룹에 포함된 포인트 클라우드를 인코딩한다. 자세한 내용은 다음과 같다:
일부 구현에서, 그룹화된 서브 그룹을 단위로 사용하여 복수의 서브 그룹에 포함된 포인트 클라우드를 개별적으로 패킹하여, 코딩 대상 포인트 클라우드 그룹에서 각 포인트 클라우드의 점유 맵을 획득한다. 그런 다음 각 포인트 클라우드의 점유 맵을 채워 비디오 인코딩을 수행한다. 다르게는, 포인트 클라우드의 점유 맵을 가이드로 사용하여 포인트 클라우드의 깊이 맵, 포인트 클라우드의 텍스처 맵 등을 생성한다. 구체적인 프로세스의 경우, 전술한 도 2에 도시된 인코더(100)의 작동 원리에 대한 설명을 참조하거나 또는 기존 기술을 참조한다. 자세한 내용은 여기서 다시 설명하지 않는다.
일반적으로, 하나의 서브 그룹에서의 포인트 클라우드는 동일한 패킹 알고리즘을 사용하여 패킹된다. 서로 다른 서브 그룹에서의 포인트 클라우드를 패킹하는 데 사용되는 패킹 알고리즘은 동일하거나 상이할 수 있다. 이것은 본 출원의 이 실시 예에서 제한되지 않는다. 선택적으로, 사전 그룹화된 서브 그룹의 특징 정보가 글로벌 매칭 패킹 알고리즘을 기반으로 획득되고, 하나의 서브 그룹이 복수의 포인트 클라우드 프레임을 포함하면, 서브 그룹에서의 포인트 클라우드는 글로벌 매칭 패킹 알고리즘을 기반으로 패킹될 수 있다.
코딩 대상 포인트 클라우드 그룹을 그룹화하는 프로세스에서 하나 또는 일부 서브 그룹의 포인트 클라우드 점유 맵을 획득하면, S102가 수행될 때, 서브 그룹 또는 서브 그룹에서 포인트 클라우드에 대한 패킹 단계가 수행되지 않을 수 있음을 유의해야 한다.
본 출원의 본 실시 예에서 제공되는 포인트 클라우드 인코딩 방법에서, 코딩 대상 포인트 클라우드는 사전 그룹화된 서브 그룹의 특징 정보를 참조하여 그룹화되고, 특징 정보는 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기를 나타내는 데 사용된다. 포인트 클라우드의 점유 맵의 크기는 포인트 클라우드의 깊이 맵의 크기와 텍스처 맵의 크기를 결정하며, 포인트 클라우드의 점유 맵과 깊이 맵과 텍스처 맵의 크기는, 포인트 클라우드 인코딩 프로세스에서 비디오 코딩 효율성에 영향을 미치는 주요 요인(factor)이다. 따라서, 사전 그룹화된 서브 그룹에서 포인트 클라우드의 점유 맵의 크기를 참조하여, 코딩 대상 포인트 클라우드 그룹이 그룹화되는 서브 그룹이 결정된다. 이는 비디오 인코딩 효율성을 향상시키고 이에 따라 포인트 클라우드 코딩 효율성을 향상시키는데 도움이 된다.
선택적으로, S101은 다음 단계 S101-1 내지 S101-2를 포함할 수 있다.
S101-1: 제j 포인트 클라우드 프레임을 시작점으로 사용하여, 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여, 제i 사전 그룹화된 서브 그룹을 획득하며, 여기서 제j 포인트 클라우드 프레임은 그룹화되지 않은 포인트 클라우드의 제1 포인트 클라우드 프레임이고, i ≥ 1이며, i는 정수이고; j ≥ 1이며, j는 정수이고, 제i 사전 그룹화된 서브 그룹은 제j 포인트 클라우드 프레임부터 시작하는 하나 이상의 포인트 클라우드 프레임을 포함한다.
S101-2: 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여 제i 사전 그룹화된 서브 그룹이 서브 그룹인 것으로 결정한다.
본 출원의 이 실시 예에서의 이러한 선택적인 방식으로부터, 코딩 대상 포인트 클라우드 그룹에 포함된 서브 그룹이 결정될 때 코딩 대상 포인트 클라우드 그룹에서의 포인트 클라우드의 순서에 기반하여 다음 서브 그룹을 결정하는 기술적 솔루션이 지원됨을 알 수 있다. 서브 그룹 결정 프로세스에서, 사전 그룹화는 일반적으로 한 번 이상 수행되어야 하며(예를 들어, 윈도를 한 번 이상 슬라이딩하거나 이분법을 한 번 이상 수행), 사전 그룹화가 수행될 때마다 하나의 사전 그룹화된 서브 그룹이 결정될 수 있다.
S101-1은 S101에서 "코딩 대상 포인트 클라우드 그룹에서 복수의 포인트 클라우드 프레임을 사전 그룹화하여 사전 그룹화된 서브 그룹을 획득"하는 것의 구체적인 구현이다. S101-2는 S101에서 "사전 그룹화된 서브 그룹의 특징 정보에 기반하여 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정"하는 것의 특정 구현이다.
다음은 독자의 이해를 돕기 위해, 윈도를 슬라이딩하여 사전 그룹화를 구현하는 프로세스의 몇 가지 용어를 간략하게 설명한다.
윈도를 한 번 슬라이딩하면 하나 이상의 포인트 클라우드 프레임을 선회할(circle) 수 있다. 본 출원의 이 실시 예에서, "서브 그룹 결정 프로세스에서, i = 1일 때, i번째로 윈도를 슬라이딩하여 선회되는 포인트 클라우드 프레임의 수량은 i번째에 윈도를 슬라이딩하는 데 사용되는 스텝 크기에 1을 더한 것과 같으며; 또는 i≥2일 때, i번째로 윈도를 슬라이딩하여 선회되는 포인트 클라우드 프레임의 수량이 i번째로 윈도를 슬라이딩하는 데 사용된 스텝 크기와 같다"는 예를 사용하여 설명한다. 본 출원의 이 실시 예에서, "i ≥ 1일 때, i번째로 윈도를 슬라이딩하여 선회되는 포인트 클라우드 프레임의 수량이 i번째로 윈도를 슬라이딩하는 데 사용된 스텝 크기와 같은" 경우는 제외되지 않는다. 이 경우, 당업자는 아래의 용어 설명을 바탕으로 창의적인 노력없이, 이 경우에 적용 가능한 대응하는 용어를 획득할 수 있다고 합리적으로 추론할 수 있다.
서로 다른 회에 윈도를 슬라이딩하는 데 사용되는 스텝 크기는 같거나 같지 않을 수 있다.
i번째로 윈도를 슬라이딩하는 것은 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드의 제1 포인트 클라우드 프레임부터 i 스텝 크기를 슬라이딩하는 프로세스이며, 여기서 i 스텝 크기에서의 t번째 스텝 크기는 윈도를 t번째로 슬라이딩하는 데 사용되는 스텝 크기이며, 1 ≤ t ≤ i이고, t는 정수이다. 일반적으로 i ≥ 2일 때, i번째로 윈도를 슬라이딩하는 것은 코딩 대상 포인트 클라우드 그룹에서 선회된 포인트 클라우드의 마지막 프레임에서 시작하여 한 스텝 크기를 슬라이딩하는 것으로 간주될 수 있으며, 스텝 크기는 i번째로 윈도를 슬라이딩하는 데 사용되는 스텝 크기임을 이해할 수 있다.
제i 사전 그룹화된 서브 그룹은 윈도를 첫 번째 내지 i번째로 슬라이딩하여 선회된 포인트 클라우드를 포함하는 세트이다. 일반적으로, 제i 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량은, 윈도를 첫 번째 내지 i번째로 슬라이딩하는 데 사용된 스텝 크기의 합에 1을 더한 것과 같다.
도 6은 본 출원의 실시 예에 따른 슬라이딩 윈도, 스텝 크기 및 사전 그룹화된 서브 그룹 간의 대응 관계(correspondence)에 대한 개략도이다. 도 6에서, 코딩 대상 포인트 클라우드 그룹은 포인트 클라우드 1 내지 포인트 클라우드 32를 포함한다. 도 6의 직사각형 상자는 포인트 클라우드 프레임을 나타내고, 직사각형 상자의 숫자는 포인트 클라우드의 수를 나타낸다. 윈도를 슬라이딩할 때마다 사용되는 스텝 크기는 3이다. 다시 말해서, 윈도를 한 번 슬라이딩하는 것에 의해, 3개의 포인트 클라우드 프레임이 선회될 수 있다. 또한, 그룹화된 서브 그룹은 서브 그룹 1과 서브 그룹 2이고, 서브 그룹 1은 포인트 클라우드 1 내지 포인트 클라우드 4를 포함하는 세트이고, 서브 그룹 2는 포인트 클라우드 5를 포함하는 세트이다. 이를 기반으로, 서브 그룹 3을 결정하는 프로세스에서, 포인트 클라우드 6을 시작점으로 사용하여 윈도를 첫 번째로 슬라이딩한 후 선회된 포인트 클라우드가 포인트 클라우드 6 내지 포인트 클라우드 9가 된다. 이 경우, 획득된 제1 사전 그룹화된 서브 그룹은 포인트 클라우드 6 내지 포인트 클라우드 9를 포함하는 세트이다. 포인트 클라우드 6을 시작점으로 사용하여 두 번째로 윈도를 슬라이딩하는 것은, 첫 번째로 윈도를 슬라이딩하여 선회되는 포인트 클라우드의 마지막 포인트 클라우드 프레임(즉, 포인트 클라우드 9)부터 한 스텝 크기로 슬라이딩하는 것이다. 따라서, 윈도를 두 번째로 슬라이딩한 후 선회된 포인트 클라우드는 포인트 클라우드 6 내지 포인트 클라우드 12이다. 이 경우, 획득된 제2 사전 그룹화된 서브 그룹은 포인트 클라우드 6 내지 포인트 클라우드 12를 포함하는 세트이다.
서로 다른 서브 그룹 결정 프로세스에서, i의 초기 값은 항상 1이다. 달리 설명하지 않는 한, 본 출원의 이 실시 예에서 설명된 i번째로 윈도를 슬라이딩하는 것은 서브 그룹 결정 프로세스에서 i번째로 윈도를 슬라이딩하는 것이다. 마찬가지로, 제i 사전 그룹화된 서브 그룹은 서브 그룹 결정 프로세스에서 i번째로 사전 그룹화된 서브 그룹이다. 여기서는 일반적인 설명이 제공되며, 자세한 내용은 아래에서 설명하지 않는다.
다음은 특정 예를 사용하여, 본 출원의 이 실시 예에서 제공되는 윈도 슬라이딩 방법을 사용하여 사전 그룹화가 구현될 때 코딩 대상 포인트 클라우드 그룹에서 서브 그룹을 결정하는 방법을 설명한다. 자세한 내용은 이하의 실시 예 1 또는 실시 예 2를 참조한다.
실시 예 1
도 7은 본 출원의 실시 예에 따른 서브 그룹 결정 방법의 개략적인 흐름도이다. 도 7에 도시된 방법은 다음 단계를 포함한다.
S201: 제j 포인트 클라우드 프레임을 시작점으로 사용하여 윈도를 첫 번째로 슬라이딩하여 제1 사전 그룹화된 서브 그룹을 획득하며, 구체적으로 첫 번째로 윈도를 슬라이딩하여 선회된 포인트 클라우드를 포함하는 세트가 제1 사전 그룹화된 그룹으로 사용되며; 제j 포인트 클라우드 프레임은 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드의 제1 포인트 클라우드 프레임이다.
1≤j≤J이고, J는 코딩 대상 포인트 클라우드 그룹에 포함된 포인트 클라우드 프레임의 수량이다. 도 7에 도시된 방법은 코딩 대상 포인트 클라우드의 제1 서브 그룹을 결정하는 데 사용되며, j는 1과 같다. 도 7에 도시된 방법은 코딩 대상 포인트 클라우드의 제2 서브 그룹 또는 제2 서브 그룹 이후의 임의의 서브 그룹을 결정하는 데 사용되며, j는 제1 서브 그룹 내지 제(i-1) 서브 그룹에 포함된 포인트 클라우드 프레임의 수량의 합에 1을 더한 것과 같다.
S202: 제1 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하는지를 판정한다.
그렇지 않으면 S203이 수행된다. 그렇다면 S204가 수행된다.
S203: 제1 사전 그룹화된 서브 그룹의 제1 포인트 클라우드 프레임을 제1 서브 그룹으로 사용한다.
S203이 수행된 후 프로세스가 종료된다.
예를 들어, 도 6을 참조하면, 서브 그룹 2가 하나의 포인트 클라우드 프레임을 포함하는 세트인 것으로부터: 서브 그룹 2를 결정하는 프로세스에서, 획득된 제1 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 5 내지 포인트 클라우드 8을 포함하는 세트)이 미리 설정된 조건을 충족하지 않음을 알 수 있다.
S204: 윈도를 (i+1)번째로 슬라이딩하여 제(i+1) 사전 그룹화된 서브 그룹을 획득하며, 구체적으로, 윈도를 첫 번째 내지 (i+1)번째로 슬라이딩하여 선회된 포인트 클라우드를 포함하는 세트가 제(i+1) 사전 그룹화된 그룹으로 사용된다.
i ≥ 1이고, i는 정수이다. i의 초기 값은 1이다.
S205: 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하는지를 판정한다.
그렇다면 S206이 수행된다. 그렇지 않으면 S207이 수행된다.
S206: i+2를 i+1에 할당한다. S206이 수행된 후, 수행을 위해 S204가 리턴된다.
S207: 제i 사전 그룹화된 서브 그룹인 것으로 결정한다.
이 실시 예에서 S204는 제i 사전 그룹화된 서브 그룹을 획득하기 위해 i번째로 윈도를 슬라이딩하는 것으로 대체될 수 있다는 점에 유의해야 하며, i ≥ 2이고 i는 정수이다. i의 초기 값은 2이다. 이 경우, S205는 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하는지를 판정하는 것으로 대체될 수 있으며: S206은 i+1을 i에 할당하는 것으로 대체될 수 있고; 그리고 S207은 제(i-1) 사전 그룹화된 서브 그룹이 서브 그룹인 것으로 결정하는 것으로 대체될 수 있다.
예를 들어, 도 6을 참조하면, 서브 그룹 3을 결정하는 프로세스에서, 제j 포인트 클라우드 프레임은 구체적으로 포인트 클라우드 6이다. 제2 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 윈도를 세 번째로 슬라이딩하여, 제3 사전 그룹화된 서브 그룹을 획득한다. 제3 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않으면, 제2 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 6 내지 포인트 클라우드 12를 포함하는 세트)이 서브 그룹 3으로 사용된다.
다른 예를 들어, 도 6을 참조하면, 윈도를 슬라이딩할 때마다 사용되는 스텝 크기는 3이라고 가정한다. 이 경우, 서브 그룹 1이 4개의 포인트 클라우드 프레임을 포함하는 세트인 것으로부터, 서브 그룹 1을 결정하는 프로세스에서, 획득된 제1 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 1 내지 포인트 클라우드 4를 포함하는 세트)이 미리 설정된 조건을 충족하고, 획득된 제2 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 1 내지 포인트 클라우드 7을 포함하는 세트)이 미리 설정된 조건을 충족하지 않음을 알 수 있다.
실시 예 1에서, 상이한 때에 윈도를 슬라이딩하는 데 사용되는 스텝 크기는 같거나 같지 않을 수 있다.
선택적으로, i1번째로 윈도를 슬라이딩하는 데 사용되는 스텝 크기는 i2번째로 윈도를 슬라이딩하는 데 사용되는 스텝 크기보다 크거나 같으며, 여기서 1 ≤ i1 < i12 ≤ i이고, i1과 i2는 모두 정수이다. 다시 말해서, 본 출원의 이 실시 예에서, 서브 그룹 결정 프로세스에서, 윈도를 나중에 슬라이딩하는데 사용되는 스텝 크기가 윈도를 더 일찍 슬라이딩하는데 사용되는 스텝 크기보다 크거나 같은 기술적 솔루션이 지원된다. 자세한 내용은 다음과 같다:
일부 구현에서, 매번 윈도를 슬라이딩하는 데 사용되는 스텝 크기는 동일하다. 다시 말해서, 윈도는 고정된 스텝 크기로 슬라이딩된다. 선택적으로, 고정된 스텝 크기는 1일 수 있다. 이 경우, 코딩 대상 포인트 클라우드 그룹이 그래뉼래러티(granularity)로서 포인트 클라우드를 기반으로 그룹화될 때 그룹화 결과가 더 정확해질 수 있다. 선택적으로, 고정된 스텝 크기는 다르게는 1보다 큰 값일 수 있다. 코딩 대상 포인트 클라우드 그룹, 예를 들어 GOF에서 연속된 복수의 포인트 클라우드 프레임의 특징 유사성이 상대적으로 높기 때문에, 상대적으로 큰 스텝 크기는 그룹화 프로세스에서 컴퓨팅 복잡성을 줄일 수 있다.
일부 다른 구현에서, 윈도를 적어도 두 번 슬라이딩하는 데 사용되는 스텝 크기들은 같지 않으며, 나중에 윈도를 슬라이딩하는 데 사용되는 스텝 크기는 윈도를 더 일찍 슬라이딩하는 데 사용되는 스텝 크기보다 크거나 같다. 다시 말해서, 윈도가 고정되지 않은 스텝 크기로 슬라이딩된다. 이러한 방식으로, 그룹화 프로세스에서 계산 복잡성과 그룹화 결과의 정밀도의 균형을 맞추기 위해 적절한 스텝 크기가 선택된다. 이는 전체 그룹화 성능을 향상시키고 인코딩 성능을 더욱 향상시키는데 도움이 된다. 선택적으로, (i+1)번째로 윈도를 슬라이딩하는 데 사용되는 스텝 크기 N[i+1]은 수식 N[i+1] = N[i] × c에 따라 획득된다. N[i]는 i번째로 윈도를 슬라이딩하는 데 사용되는 스텝 크기이고, c는 제i 사전 그룹화된 서브 그룹에서 대형(large-size) 포인트 클라우드의 프레임 수량에 따라 결정된다. 다시 말해서, 윈도를 연속으로 두 번 슬라이딩하는 프로세스에서, 윈도를 더 일찍 슬라이딩하는 데 사용되는 스텝 크기를 사용하여 나중에 윈도를 슬라이딩하는 데 사용되는 스텝 크기를 결정한다. 또한, 선택적으로 c =(a - b)/a이며, 여기서 a는 제1 미리 설정된 수량이고, b는 제i 사전 그룹화된 서브 그룹에서 대형 포인트 클라우드의 프레임 수량이다. 물론, 이것은 본 출원의 이 실시 예에서 제한되지 않는다.
특정 구현에서, 상이한 때에 윈도를 슬라이딩하는 데 사용되는 스텝 크기가 고정되어 있는지 여부, 스텝 크기가 고정되지 않을 때 스텝 크기를 결정하는 방법 등이 미리 정의될 수 있음을 이해할 수 있다.
S201 내지 S207은 코딩 대상 포인트 클라우드 그룹이 그룹화되는 복수의 서브 그룹을 획득하기 위해 복수회 수행된다. S201 내지 S207은 코딩 대상 포인트 클라우드에서 서브 그룹을 결정하는 일반적인 방법으로 간주될 수 있다. 실제 구현에서는 다음과 같은 특수한 사례가 있을 수 있다.
사례 1: S201 내지 S207의 설명으로부터 제i 사전 그룹화된 서브 그룹의 특징 정보가 조건을 충족할 때, 윈도를 (i+1)번째로 슬라이딩해야 함을 알 수 있다. 그러나, 이 경우, 선회되지 않은 포인트 클라우드가 코딩 대상 포인트 클라우드 그룹에 남아 있지 않은 경우가 있을 수 있다. 다시 말해서, 제i 사전 그룹화된 서브 그룹에 포함된 마지막 포인트 클라우드 프레임이 코딩 대상 포인트 클라우드 그룹에서의 마지막 포인트 클라우드 프레임이다. 이 경우, 제i 사전 그룹화된 서브 그룹은 코딩 대상 포인트 클라우드의 마지막 서브 그룹인 것으로 결정될 수 있다.
예를 들어, 도 8a를 참조하면, 코딩 대상 포인트 클라우드 그룹은 포인트 클라우드 1 내지 포인트 클라우드 32를 포함하고, 그룹화된 서브 그룹은 서브 그룹 1 내지 서브 그룹 6인 것으로 가정한다. 이 경우, 서브 그룹 7을 결정하는 프로세스에서, S201 내지 S207의 설명에 기반하여 제3 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 제4 사전 그룹화된 서브 그룹을 획득해야 한다. 이 경우, 코딩 대상 포인트 클라우드 그룹에는 선회되지 않은 포인트 클라우드가 남아 있지 않기 때문에, 제3 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 23 내지 포인트 클라우드 32를 포함하는 세트)을 서브 그룹 7로 사용할 수 있다.
사례 2: (i+1)번째로 윈도를 슬라이딩하는 프로세스에서, (i+1)번째로 윈도를 슬라이딩하는 데 사용되는 스텝 크기가, 코딩 대상 포인트 클라우드 그룹에서 선회되지 않은 포인트 클라우드 프레임의 수량보다 클 수 있다. 이 경우, 제i 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 코딩 대상 포인트 클라우드 그룹에서 선회되지 않은 포인트 클라우드는 제(i+1) 사전 그룹화된 서브 그룹으로 사용될 수 있다.
예를 들어, 도 8b를 참조하면, 코딩 대상 포인트 클라우드 그룹은 포인트 클라우드 1 내지 포인트 클라우드 32를 포함하고, 그룹화된 서브 그룹은 서브 그룹 1 내지 서브 그룹 6인 것으로 가정한다. 이 경우, 서브 그룹 7을 결정하는 프로세스에서, S201 내지 S207의 설명에 기반하여 제3 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 제4 사전 그룹화된 서브 그룹을 획득해야 한다. 이 경우, 윈도를 네 번째로 슬라이딩하는 데 사용되는 스텝 크기(즉, 3)가 코딩 대상 포인트 클라우드 그룹에서 선회되지 않은 포인트 클라우드 프레임(즉, 포인트 클라우드 31 내지 포인트 클라우드 32)의 수량(즉, 2)보다 크기 때문에, 포인트 클라우드 21 내지 포인트 클라우드 33는 제4 사전 그룹화된 서브 그룹으로 사용될 수 있다.
실시 예 2
실시 예 2와 실시 예 1의 차이점은 i≥2일 때 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보는 미리 설정된 조건을 충족하지 않으면, 더 작은 스텝 크기를 사용하여 제(i+1) 사전 그룹화된 그룹을 다시 획득한다는 것이다. 본 실시 예는 제(i+1) 사전 그룹화된 서브 그룹이 획득될 때 사용되는 스텝 크기가 1보다 큰 시나리오에 적용된다. 이 실시 예에서 제공되는 방법의 흐름도는 도 9a 및 도 9b에 도시될 수 있다. 구체적으로, 실시 예 1의 S207은 다음 단계 S207A 내지 S207C로 대체될 수 있다.
S207A: 제2 스텝 크기를 사용하여 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득하며, 제2 스텝 크기는 제1 스텝 크기보다 작고, 제1 스텝 크기는 제(i+1) 사전 그룹화된 서브 그룹이 획득될 때 사용된 스텝 크기이다.
제(i+1) 사전 그룹화된 서브 그룹을 다시 획득하는 프로세스는, 제i 사전 그룹화된 서브 그룹에서의 마지막 포인트 클라우드 프레임으로 리턴(또는 롤백(rolling back))하고, 마지막 프레임을 시작점으로 사용하여 제2 스텝 크기를 슬라이딩하는 프로세스로 이해될 수 있다.
S207B: 제2 스텝 크기를 사용하여 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않으면, 제3 스텝 크기를 사용하여 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득하며, 여기서 제3 스텝 크기는 제2 스텝 크기보다 작으며; 다시 말해서, 매번 다시 획득되는 제i 사전 그룹화된 서브 그룹의 스텝 크기는 이전 회에 다시 획득된 제i 사전 그룹화된 서브 그룹의 스텝 크기보다 작으며; 유추에 의해(by analogy), 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득한 횟수가 미리 설정된 횟수에 도달하거나 또는 가장 최근에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 스텝 크기가 미리 설정된 스텝 크기(예를 들어, 1)보다 작거나 같을 때, 가장 최근에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않으면, 제i 사전 그룹화된 서브 그룹은 서브 그룹인 것으로 결정된다.
예를 들어, 도 10을 참조하면, 서브 그룹 3을 결정하는 프로세스에서, 제1 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 9 내지 포인트 클라우드 15를 포함하는 세트)의 특징 정보가 미리 설정된 조건을 충족하고, 제2 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 9 내지 포인트 클라우드 21을 포함하는 세트)의 특징 정보가 미리 설정된 조건을 충족하지 않고, 제1 스텝 크기는 6인 것으로 가정한다. 이 경우, 포인트 클라우드 9 내지 포인트 클라우드 p를 포함하는 사전 그룹화된 서브 그룹의 특징 정보는 조건을 충족할 수 있으며, 여기서 15 < p < 21이고, p는 정수이다. 따라서, 제2 스텝 크기(예를 들어, 3)를 사용하여 제2 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 9 내지 포인트 클라우드 18을 포함하는 세트)을 다시 획득한다. 다시 획득된 제2 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않으면, 포인트 클라우드 9 내지 포인트 클라우드 q를 포함하는 서브 그룹의 특징 정보는 미리 설정된 조건을 충족할 수 있으며, 15 < q < 18이고, 여기서 q는 정수이다. 따라서, 제3 스텝 크기(예를 들어, 1)를 사용하여 제2 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 9 내지 포인트 클라우드 16을 포함하는 세트)을 다시 획득한다. 이 다시 획득된 제2 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않고, 제2 사전 그룹화된 서브 그룹을 다시 획득한 횟수가 미리 설정된 횟수에 도달하거나 또는 가장 최근에 다시 획득된 제2 사전 그룹화된 서브 그룹의 스텝 크기가 미리 설정된 스텝 크기보다 작거나 같은 것으로 가정한다. 이 경우, 제1 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 9 내지 포인트 클라우드 15를 포함하는 세트)이 서브 그룹 3으로 사용된다.
한 번에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 다음 단계 S207C가 수행될 수 있음을 이해할 수 있다.
S207C: 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량 사이의 차이가, 제2 미리 설정된 수량보다 작거나 같을 때, 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹이 서브 그룹인 것으로 결정한다.
예를 들어, 도 11a를 참조하면, 서브 그룹 3을 결정하는 프로세스에서, 다시 획득된 제2 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 9 내지 포인트 클라우드 18을 포함하는 세트)의 특징 정보가 미리 설정된 조건을 충족하는 것으로 가정한다. 이 경우, 포인트 클라우드 9 내지 포인트 클라우드 d를 포함하는 서브 그룹의 특징 정보는 미리 설정된 조건을 충족할 수 있으며, 여기서 18 < d < 21이고, d는 정수이다. 이 경우, 제2 미리 설정된 수량은 3이라고 가정한다. 다시 획득된 제2 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제2 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량 사이의 차이(즉, 3)가 제2 미리 설정된 수량과 같기 때문에, 다시 획득된 제2 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 9 내지 포인트 클라우드 18을 포함하는 세트)이 서브 그룹으로 사용된다.
다시 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량 사이의 차이가 제2 미리 설정된 수량보다 클 때, 제(i+2) 사전 그룹화된 서브 그룹이 제4 스텝 크기를 사용하여 획득되며, 여기서 제2 스텝 크기와 제4 스텝 크기의 합은 제1 스텝 크기보다 작다. 제(i+2) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 제5 스텝 크기를 사용하여 제(i+3) 사전 그룹화된 서브 그룹이 획득되며, 여기서 제2 스텝 크기와 제4 스텝 크기와 제5 스텝 크기의 합이 제1 스텝 크기보다 작다. 다시 말해서, 제(i+k) 사전 그룹화된 서브 그룹을 획득하는 데 사용되는 스텝 크기와 제(i+k-1) 사전 그룹화된 서브 그룹을 획득하는 데 사용되는 스텝 크기와 제(i+k-2) 사전 그룹화된 서브 그룹을 획득하는 데 사용되는 스텝 크기와, .., 제(i+2) 사전 그룹화된 서브 그룹을 획득하는 데 사용되는 스텝 크기와 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득하는 데 사용되는 스텝 크기의 합이, 첫 번째로 제(i+1) 사전 그룹화된 서브 그룹을 획득하는 데 사용되는 스텝 크기보다 작다. 유추에 의해, 획득된 제(i+k) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량 사이의 차이가 제2 미리 설정된 수량보다 작거나 같을 때, 제(i+k) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 제(i+k) 사전 그룹화된 서브 그룹이 서브 그룹으로 결정되며, 여기서 k ≥ 2이고, k는 정수이다.
예를 들어, 도 11b를 참조하면, 서브 그룹 3을 결정하는 프로세스에서, 다시 획득된 제2 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 9 내지 포인트 클라우드 18을 포함하는 세트)의 특징 정보가 미리 설정된 조건을 충족하는 것으로 가정한다. 이 경우, 포인트 클라우드 9 내지 포인트 클라우드 d를 포함하는 서브 그룹의 특징 정보는 미리 설정된 조건을 충족할 수 있으며, 여기서, 18 < d < 21이고, d는 정수이다. 이 경우, 제2 미리 설정된 수량은 1이라고 가정한다. 제3 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제2 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량 사이의 차이(즉, 1)가 제2 미리 설정된 수량과 같기 때문에, 제3 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 9 내지 포인트 클라우드 21을 포함하는 세트)이 서브 그룹으로 사용된다.
제(i+k) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않으면, 제(i+k) 사전 그룹화된 서브 그룹이 다시 획득됨을 이해할 수 있다. 후속 단계는 S207B 및/또는 S207C를 참조한다.
충돌이 발생하지 않을 때, 실시 예 1의 관련 내용에 대한 설명이 실시 예 2에도 적용될 수 있음을 이해할 수 있다. 예를 들어, 실시 예 1의 사례 1 및 사례 2의 처리 방식이 실시 예 2에 적용될 수 있다. 다른 예로서, 실시 예 1의 스텝 크기 결정 방법이 실시 예 2에 적용될 수 있다.
본 실시 예에서 제공되는 서브 그룹 결정 방법은 코딩 대상 포인트 클라우드 그룹에서 가능한 많은 포인트 클라우드가 슬라이딩 윈도의 스텝 크기가 1보다 클 때 미리 설정된 조건을 충족하는 서브 그룹을 형성할 수 있도록 돕는다. 하나의 서브 그룹이 적어도 2개의 포인트 클라우드 프레임을 포함할 때, 포인트 클라우드에서 매칭 관계를 갖는 패치의 점유 맵이면서 또한 글로벌 매칭 패킹 알고리즘을 사용하여 획득된 점유 맵이, 패치가 위치된 포인트 클라우드의 점유 맵에서의 위치에 대응한다. 이것은 인코딩 성능을 향상시킬 수 있다. 따라서, 본 실시 예에서 제공되는 솔루션에 따르면, 글로벌 매칭 패킹 알고리즘을 사용하여 서브 그룹에서의 포인트 클라우드를 패킹할 때 인코딩 효율을 향상시키기 위해, 가능한한 많은 포인트 클라우드가 미리 설정된 조건을 충족하는 서브 그룹을 형성한다.
다음은 독자의 이해를 돕기 위해 이분법을 사용하여 사전 그룹화를 구현하는 프로세스의 몇 가지 용어를 간략하게 설명한다:
서브 그룹 분할 지점(partition point)은 인접한 2개의 서브 그룹의 분할 지점을 의미한다. 코딩 대상 포인트 클라우드 그룹을 그룹화하는 본질은 코딩 대상 포인트 클라우드 그룹에서 서브 그룹 분할 지점을 찾는 것임을 이해할 수 있다.
이분법의 중간 지점(middle point)은 이분법이 대상으로 하는(targeted) 시퀀스에서 복수의 객체(object) 중 중간 객체이다. 예를 들어, 시퀀스에 포함된 객체의 수는 각각 x 내지 y이고, 1 ≤ x이고, x와 y 모두 정수라고 가정한다. 이 경우, 이분법의 중간 지점은
Figure pct00001
로 넘버링된 객체 또는
Figure pct00002
로 넘버링된 객체이다.
Figure pct00003
는 라운딩 다운(rounding down)을 지시하고,
Figure pct00004
는 라운딩 업(rounding up)을 지시한다. 현재 이분법에 의해 대상이 되는 객체 중 중간 지점 이전의 객체는 현재 이분법을 사용하여 획득된 객체의 전반부(first half)라고 하고, 중간 지점 이후의 객체는 현재 이분법을 사용하여 획득된 객체의 후반부(second half)라고 한다.
제j 포인트 클라우드 프레임을 시작점으로 사용하여, 제i 사전 그룹화된 서브 그룹은 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드에 대해 이분법을 수행하는 것에 의해 획득된다. 예를 들어, 이분법을 사용하여 획득된 포인트 클라우드의 전반부를 제i 사전 그룹화된 서브 그룹으로 사용할 수 있다. 이것은 본 출원의 이 실시 예에서 설명을 위한 예로서 사용된다. 물론, 이것은 본 출원의 이 실시 예에서 제한되지 않는다. 제j 포인트 클라우드 프레임은 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드의 제1 포인트 클라우드 프레임이다.
제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 제(i+1) 사전 그룹화된 서브 그룹은 제i 사전 그룹화된 서브 그룹과 (i+1)번째로 이분법을 수행하여 획득된 포인트 클라우드의 전반부를 포함하는 세트이다.
제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않으면, 제(i+1) 사전 그룹화된 서브 그룹은 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 전반부를 포함하는 세트이다.
도 12의 (a) 및 도 12의 (b)는 본 출원의 일 실시 예에 따른 이분법과 사전 그룹화된 서브 그룹 사이의 관계의 개략도이다. 도 12의 (a) 및 도 12의 (b)는 코딩 대상 포인트 클라우드 그룹이 포인트 클라우드 1 내지 포인트 클라우드 32를 포함하는 예를 사용하여 설명된다. 구체적으로, 포인트 클라우드 1 내지 포인트 클라우드 32에 대해 이분법을 수행하여 제1 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 1 내지 포인트 클라우드 16을 포함하는 세트)을 획득한다. 제1 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 도 12의 (a)에 도시된 바와 같이, 포인트 클라우드 16 내지 포인트 클라우드 32에 대해 이분법을 수행하여 제2 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 1 내지 포인트 클라우드 24를 포함하는 세트)을 획득한다. 제1 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않으면, 도 12의 (b)에 도시된 바와 같이, 포인트 클라우드 1 내지 포인트 클라우드 16에 대해 이분법을 수행하여 제2 사전 그룹화된 서브 그룹(즉, 포인트 클라우드 1 내지 포인트 클라우드 7을 포함하는 세트)을 획득한다.
다음은 본 출원의 이 실시 예에서 제공되는, 이분법을 사용하여 사전 그룹화가 구현될 때 코딩 대상 포인트 클라우드 그룹에서 서브 그룹을 결정하는 방법을 설명하기 위해 특정 예를 사용한다. 자세한 내용은 이하의 실시 예 3 또는 실시 예 4를 참조한다.
실시 예 3
도 13은 본 출원의 실시 예에 따른 서브 그룹 결정 방법의 개략적인 흐름도이다. 도 13에 도시된 방법은 다음 단계를 포함한다.
S301: j번째 프레임을 시작점으로 사용하여 첫 번째로 이분법을 수행하여 제1 사전 그룹화된 서브 그룹을 획득하며, 여기서 1 ≤ j ≤ J이고, J는 코딩 대상 포인트 클라우드 그룹에 포함된 포인트 클라우드 프레임의 수량이다.
S302: 제1 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하는지를 판정한다.
만약 그렇다면, 이는 결정될 분할 지점이 현재 이분법을 사용하여 획득된 포인트 클라우드의 후반부에 있음을 지시하며, S303을 수행한다.
만약 그렇지 않다면, 이는 결정될 분할 지점이 현재 이분법을 사용하여 획득된 포인트 클라우드의 전반부에 있음을 지시하며, S304를 수행한다.
S303: 두 번째로 이분법을 수행하여 제2 사전 그룹화된 서브 그룹을 획득한다. 제2 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족하면, 세 번째로 이분법을 수행한다. 다시 말해서, 현재 이분법을 사용하여 획득한 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족할 때 다음 번 이분법을 수행한다. 이분법은 이 규칙에 따라 수행되며, 후속 구현은 다음과 같을 수 있다:
구현 1: 이분법을 계속할 수 없을 때까지 가장 최근에 이분법을 수행하여 획득된 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족하면, 그룹화되지 않은 모든 코딩 대상 포인트 클라우드가 서브 그룹으로 사용된다.
구현 2: (i+1)번째로 이분법을 수행하여 획득된 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않으면, i번째로 이분법을 수행하여 획득된 제i 사전 그룹화된 서브 그룹이 서브 그룹으로 사용되며, 여기서 i ≥ 1이고, i는 정수이다.
S304: 두 번째로 이분법을 수행하여 제2 사전 그룹화된 서브 그룹을 획득한다. 제2 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족하지 않으면, 세 번째로 이분법을 수행한다. 다시 말해서, 현재의 이분법을 사용하여 획득된 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족하지 못할 때, 다음 번 이분법을 수행한다. 이분법은 이 규칙에 따라 수행되며, 후속 구현은 다음과 같을 수 있다:
구현 1: 이분법을 계속할 수 없을 때까지 가장 최근에 이분법을 수행하여 획득된 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족하지 않으면, 그룹화되지 않은 코딩 대상 포인트 클라우드에서의 제1 포인트 클라우드 프레임이 서브 그룹으로 사용된다.
구현 2: 이분법을 계속할 수 없을 때까지 가장 최근에 이분법을 수행하여 획득된 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족하면, 가장 최근에 획득한 사전 그룹화된 서브 그룹이 서브 그룹으로 사용된다.
구현 3: (i+1)번째로 이분법을 수행하여 획득된 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면 (i+2)번째로 이분법을 수행하고, 그리고 (i+2)번째로 이분법을 수행하여 획득된 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면 (i+3)번째로 이분법이 수행된다. 다시 말해서, 이번에 미리 설정된 조건이 충족될 때 다음 번에 이분법이 수행된다. 이분법은 이 규칙에 따라 수행된다. 이분법을 계속할 수 없을 때까지 가장 최근에 이분법을 수행하여 획득된 사전 그룹화된 서브 그룹이 여전히 미리 설정된 조건을 충족하면, 가장 최근에 획득한 사전 그룹화된 서브 그룹을 서브 그룹으로 사용한다. 이번에 이분법을 수행하여 획득된 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족하지 않으면, 이전에 이분법을 수행하여 획득된 사전 그룹화된 서브 그룹을 서브 그룹으로 사용한다.
본 실시 예에서 제공되는 서브 그룹 결정 방법은 코딩 대상 포인트 클라우드 그룹에서 가능한 많은 포인트 클라우드가 미리 설정된 조건을 충족하는 서브 그룹을 형성할 수 있도록 돕는다. 이와 같이 글로벌 매칭 패킹 알고리즘을 사용하여 서브 그룹의 포인트 클라우드를 패킹할 때 인코딩 효율이 향상된다.
실시 예 4
도 14는 본 출원의 실시 예에 따른 서브 그룹 결정 방법의 개략적인 흐름도이다. 도 14에 도시된 방법은 다음 단계를 포함한다.
S401: j번째 프레임을 시작점으로 사용하여 첫 번째로 이분법을 수행하여 제1 사전 그룹화된 서브 그룹을 획득하며, 여기서 1 ≤ j ≤ J이고, J는 코딩 대상 포인트 클라우드 그룹에 포함된 포인트 클라우드 프레임의 수량이다.
S402: 제1 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하는지를 판정한다.
그렇다면 S403이 수행된다. 그렇지 않으면 S404가 수행된다.
S403: 제1 사전 그룹화된 서브 그룹을 서브 그룹으로 사용한다.
S404: 두 번째로 이분법을 수행하여 제2 사전 그룹화된 서브 그룹을 획득하며; 제2 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않으면, 세 번째로 이분법을 수행하여 제3 사전 그룹화된 서브 그룹을 획득하며, 다시 말해서, 현재 이분법을 사용하여 획득된 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족하지 않을 때 다음 번 이분법을 수행하고, 이분법은 이 규칙에 따라 수행되고, 후속 구현은 다음과 같을 수 있다:
구현 1: 이분법을 계속할 수 없을 때까지 가장 최근에 이분법을 수행하여 획득된 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족하지 않으면, 그룹화되지 않은 코딩 대상 포인트 클라우드에서의 제1 포인트 클라우드 프레임이 서브 그룹으로 사용된다.
구현 2: (i+1)번째로 이분법을 수행하여 획득된 제(i+1) 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족하면, 제(i+1) 사전 그룹화된 서브 그룹이 서브 그룹으로 사용되며, i ≥ 1이고, i는 정수이다.
본 실시 예에서 제공되는 서브 그룹 결정 방법에 따르면, 복수회 이분법을 수행하여 획득된 복수의 사전 그룹화된 서브 그룹 중 미리 설정된 조건을 충족하는 제1 사전 그룹화된 서브 그룹이, 서브 그룹으로 사용된다. 윈도 슬라이딩 방법을 사용한 사전 그룹화 방법과 달리, 이분법을 사용하여 사전 그룹화를 통해 획득된 사전 그룹화 서브 그룹이 미리 설정된 조건을 충족하면, 사전 그룹화 서브 그룹이 이미 비교적 많은 수량의 포인트 클라우드를 포함하고 있는 것으로 간주할 수 있다. 따라서, 글로벌 매칭 패킹 알고리즘을 사용하여 서브 그룹의 포인트 클라우드를 패킹할 때 인코딩 효율이 향상된다.
실시 예 3 및 실시 예 4에서 설명된 "이분법을 계속할 수 없다"는 임의의 종류는: 이분법이 대상으로 하는 객체(구체적으로, 포인트 클라우드)의 수량이 1일 때, 이분법을 수행할 없으며; 또는 이분법을 수행한 횟수가 미리 설정된 임계 값에 도달할 때 이분법을 계속할 수 없는 것을 포함할 수 있다. 이분법이 대상으로 하는 객체의 수량이 1일 때 이분법을 수행할 수 없는 것은: 이분법이 대상으로 하는 객체(구체적으로는 포인트 클라우드)의 수량이 미리 설정된 임계값보다 작거나 같을 때 이분법을 계속할 수 없는 것으로, 확장될 수 있다.
실시 예 1 내지 실시 예 4에서 설명된 임의의 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족하는지에 대해서는, 다음 설명을 참조한다. 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고 제(i+1) 사전 그룹화된 특징 정보를 충족하지 않을 때 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정되는 예가 아래에서 설명을 위해 사용된다. 또한, 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족하는지 여부에 대한 다음 설명에 포함되는 "사전 그룹화된 서브 그룹"은 예를 들어 윈도 슬라이딩 방법 또는 이분법을 사용하여 획득할 수 있음을 이해할 수 있다.
선택적으로, 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않을 때, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정되는 것은, 다음의 방식 중 적어도 하나의 방식으로 구현될 수 있다.
방식 1: 제i 사전 그룹화된 서브 그룹의 특징 정보가 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기를 포함하면, 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제1 임계 값보다 작거나 같고, 제(i+1) 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제1 임계 값보다 클 때, 제i 사전 그룹화된 서브 그룹이 서브 그룹인 것으로 결정된다.
글로벌 점유 맵은 하나 이상의 유니온 패치 점유 맵을 패킹하여 획득된 것으로 간주되며, 유니온 패치 점유 맵은 사전 그룹화된 서브 그룹에서의 글로벌 매칭된 패치 그룹의 유니온이다. 따라서, 사전 그룹화된 서브 그룹에서의 포인트 클라우드 프레임의 수량이 증가할수록 글로벌 매칭된 패치 그룹에서의 패치의 수량이 증가하고, 글로벌 매칭된 패치 그룹에 대응하는 유니온 패치 점유 맵의 면적이 증가한다. 결과적으로, 글로벌 점유 맵의 크기가 증가한다. 따라서 이 접근 방식이 제안된다. 이 접근 방식에 기반하여, 서브 그룹의 글로벌 점유 맵은 제1 임계 값 내에서 제한된다. 이는 서브 그룹 내 포인트 클라우드의 점유 맵의 크기를 간접적으로 반영하여 인코딩 효율성을 향상시킬 수 있다.
서로 다른 파라미터가 글로벌 점유 맵의 크기를 나타내는 데 사용될 때, 제1 임계 값의 의미가 서로 다르다는 것을 이해할 수 있다. 예를 들어, 글로벌 점유 맵의 크기를 글로벌 점유 맵의 높이와 너비의 곱으로 표현할 때, 제1 임계 값은 서브 그룹의 글로벌 점유 맵 면적의 최대 허용 값을 나타낸다. 다른 예로, 글로벌 점유 맵의 높이를 사용하여 글로벌 점유 맵의 크기를 표현할 때, 제1 임계 값은 서브 그룹의 글로벌 점유 맵 높이의 최대 허용 값을 나타낸다.
일 구현에서, 제1 임계 값은 미리 정의된 값, 예를 들어 미리 정의된 경험적 값이다. 예를 들어, 제1 임계 값이 서브 그룹의 글로벌 점유 맵 높이의 최대 허용 값을 나타낼 때, 제1 임계 값은 1280 픽셀일 수 있다.
다른 구현에서, 제1 임계 값은 후보 패킹 알고리즘을 기반으로 획득된 최대 크기이면서 또한 코딩 대상 포인트 클라우드 그룹에서 포인트 클라우드(예를 들어, 각 포인트 클라우드)의 점유 맵의 것인 최대 크기를 기반으로 결정된다. 후보 패킹 알고리즘은 글로벌 매칭 패킹 알고리즘 이외의 다른 패킹 알고리즘, 예를 들어 앵커 패킹 알고리즘일 수 있다. 예를 들어, 제1 임계 값은 H × w1이다. H는 코딩 대상 포인트 클라우드 그룹에서 포인트 클라우드의 점유 맵 높이의 앵커 패킹 알고리즘과 같은 후보 알고리즘을 기반으로 획득된 최대 값이고, w1은 상수이다. w1은 글로벌 매칭 패킹 알고리즘과 후보 패킹 알고리즘이 비디오 코딩 효율에 미치는 영향에 기반하여 결정될 수 있다. 선택적으로 w1 ∈(0.5, 1.5)이다. 물론, 이것에 한정되지 않는다.
방식 2: 제i 사전 그룹화된 서브 그룹의 특징 정보가 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기를 포함하면, 다음과 같은 방식 2-1 및/또는 방식 2-2가 수행된다.
방식 2-1: 제i 사전 그룹화된 서브 그룹에서의 대형(large-size) 포인트 클라우드의 프레임 수량이 제1 미리 설정된 수량보다 작거나 같고, 제(i+1) 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드의 프레임 수량이 제1 미리 설정된 수량보다 클 때, 제i 사전 그룹화된 서브 그룹이 서브 그룹으로 결정되며, 여기서 대형 포인트 클라우드는 점유 맵 크기가 제2 임계 값보다 크거나 같은 포인트 클라우드이다. 여기에서 점유 맵은 임의의 패킹 알고리즘에 기반하여 포인트 클라우드를 패킹하는 것에 의해 획득된 포인트 클라우드 프레임의 점유 맵일 수 있다.
제1 미리 설정된 수량은 미리 정의된 값, 예를 들어 미리 정의된 경험적 값, 예를 들어 4일 수 있다. 제1 미리 설정된 수량이 1이면, 방식 2-1은 다음과 같이 대체될 수 있음을 이해할 수 있다: 제i 사전 그룹화된 서브 그룹이 대형 포인트 클라우드를 포함하지 않고, 제(i+1) 사전 그룹화된 서브 그룹이 대형 포인트 클라우드를 포함할 때, 제i 사전 그룹화된 서브 그룹이 서브 그룹인 것으로 결정된다.
서로 다른 파라미터가 포인트 클라우드의 점유 맵의 크기를 나타내는 데 사용될 때, 제2 임계 값의 의미가 서로 다르다는 것을 이해할 수 있다. 예를 들어, 포인트 클라우드의 점유 맵의 크기를 포인트 클라우드의 점유 맵의 높이와 너비의 곱으로 표현할 때, 제2 임계 값은 서브 그룹에서의 포인트 클라우드의 점유 맵 면적의 최대 허용 값을 나타낸다. 또 다른 예로, 포인트 클라우드의 점유 맵의 높이를 사용하여 포인트 클라우드의 점유 맵의 크기를 표현할 때, 제2 임계 값은 서브 그룹에서의 포인트 클라우드의 점유 맵 높이의 최대 허용 값을 나타낸다.
일 구현에서, 제2 임계 값은 미리 정의된 값, 예를 들어 미리 정의된 경험적 값이다. 예를 들어, 포인트 클라우드의 점유 맵의 높이와 너비를 곱하여 포인트 클라우드의 점유 맵의 크기를 표현할 때, 제2 임계 값은 1280 픽셀일 수 있다.
다른 구현에서, 대형 포인트 클라우드는 구체적으로, 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 점유 맵 크기가 제2 임계 값보다 크거나 같은 포인트 클라우드이다.
이 경우, 선택적으로, 제2 임계 값은 후보 패킹 알고리즘에 기반하여 획득된 최대 크기이면서 또한 코딩 대상 포인트 클라우드 그룹에서의 포인트 클라우드의 점유 맵의 것인 최대 크기에 기반하여 결정될 수 있다. 후보 패킹 알고리즘은 글로벌 매칭 패킹 알고리즘 이외의 다른 패킹 알고리즘, 예를 들어, 앵커 패킹 알고리즘이다. 예를 들어 NHi,u ≥ Hmax × w2일 때, 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 u번째 프레임은 대형 포인트 클라우드인 것으로 간주되고, u≥1이고, u는 정수이다. NHi,u는 제i 사전 그룹화된 서브 그룹에서 포인트 클라우드의 u번째 프레임의 점유 맵의 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 높이이고; Hmax는 코딩 대상 포인트 클라우드 그룹에서 포인트 클라우드의 점유 맵의 앵커 패킹 알고리즘과 같은 후보 패킹 알고리즘을 기반으로 획득된 높이의 최대 값이며; w2는 상수이다. 선택적으로, w2 ∈(0.5, 1.5)이다. 물론, 이것에 한정되지 않는다. 포인트 클라우드 프레임의 점유 맵의 크기는 포인트 클라우드 프레임이 위치한 서브 그룹의 글로벌 점유 맵의 크기보다 크거나 같기 때문에, 추가 선택적으로 w1 < w2이다. 예를 들어, w1은 w2보다 약간 작다.
선택적으로, 제2 임계 값은 후보 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 현재 포인트 클라우드의 점유 맵의 것인 크기에 기반하여 결정될 수 있다. 후보 패킹 알고리즘은 글로벌 매칭 패킹 알고리즘이 아닌 다른 패킹 알고리즘, 예를 들어, 앵커 알고리즘이다. 예를 들어, NHi,u ≥ Hi,u × w3이다. NHi,u는 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 u번째 프레임의 점유 맵의 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 높이이며; Hi,u는 제i 사전 그룹화된 서브 그룹에서 포인트 클라우드의 u번째 프레임의 점유 맵의 앵커 패킹 알고리즘과 같은 후보 패킹 알고리즘에 기반하여 획득된 높이이고; w3은 상수이다. 선택적으로, w3 ∈(0.5, 3.0)이다. 또한, 선택적으로 w3은 w2보다 크다.
방식 2-2: 글로벌 매칭 패킹 알고리즘을 기반으로 획득된 크기이면서 또한 제i 사전 그룹화된 서브 그룹의 포인트 클라우드 점유 맵의 것인 크기와 후보 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기의 비율의 평균값이, 제3 임계 값보다 작거나 같고, 그리고 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 제(i+1) 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기와 후보 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 제(i+1) 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기의 비율의 평균값이, 제3 임계 값보다 클 때, 제i 사전 그룹화된 서브 그룹이 서브 그룹인 것으로 결정된다.
후보 패킹 알고리즘은 글로벌 매칭 패킹 알고리즘 이외의 다른 패킹 알고리즘, 예를 들어 앵커 패킹 알고리즘일 수 있다. 예를 들어, sum(NHi,u/Hi,u)/frameCnti ≤ 제3 임계 값이고, sum(NHi+1,v/Hi+1,v)/frameCnti+1 > 제3 임계 값이다. sun()은 합산 연산(summation operation)을 지시한다. NHi,u는 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 u번째 프레임의 점유 맵의 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 높이이고; Hi,u는 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 u번째 프레임의 점유 맵의 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 높이이며; frameCnti는 제i 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량이고; u ≥ 1이고, u는 정수이다. NHi+1,v는 제(i+1) 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 v번째 프레임의 점유 맵의 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 높이이고; Hi+1,v는 제(i+1) 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 v번째 프레임의 점유 맵의 글로벌 매칭 패킹 알고리즘을 기반으로 획득된 높이이며; frameCnti+1은 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량이고; v ≥ 1이고, v는 정수이다.
선택적으로, 제3 임계 값은 미리 정의된 값이다. 선택적으로, 제3 임계 값은 1보다 큰 값, 예를 들어, 1.2이다.
또한, 선택적으로, 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여 제i 사전 그룹화된 서브 그룹이 서브 그룹이라고 결정하는 것은 다음의 방식 A 또는 방식 B를 포함할 수 있다:
방식 A: 제(i+1) 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기에 비해 제5 임계 값보가 크거나 같은 정도로 감소될 때, 이는 제i 사전 그룹화된 서브 그룹을 서브 그룹으로 사용하는 것과 비교하여, 제(i+1) 사전 그룹화된 서브 그룹을 서브 그룹으로 사용하는 경우, 패킹이 글로벌 매칭 패킹 알고리즘을 사용하여 수행될 때 포인트 클라우드 인코딩 효율성이 크게 감소함을 지시한다. 이 경우, 제i 사전 그룹화된 서브 그룹은 복수의 서브 그룹 중 하나인 것으로 결정된다.
제i 사전 그룹화된 서브 그룹의 글로벌 매칭된 패치가 여전히 제(i+1) 서브 그룹의 글로벌 매칭된 패치이면, 제(i+1) 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기보다 크거나 같음을 이해할 수 있다. 그러나, 제i 사전 그룹화된 서브 그룹에서의 글로벌 매칭된 패치 그룹이 제(i+1) 사전 그룹화된 서브 그룹에서의 글로벌 매칭된 패치가 아닌 경우가 있을 수 있다. 이 경우, 이로 인해 제(i+1) 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기보다 작게 될 수 있다. 이러한 이유를 고려하여 이 방식이 제안된다.
방식 B: 제i 사전 그룹화된 서브 그룹의 특징 정보는 제i 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 면적을 포함한다. 이에 대응하여, 제(i+1) 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 총 면적(total area)이 제i 사전 그룹화된 서브 그룹에서의 유니온 패치 점유 맵의 총 면적에 비해 제4 임계 값보다 크거나 같게 감소될 때, 이는 제i 사전 그룹화된 서브 그룹이 서브 그룹으로 사용되는 것에 비교하여, 제(i+1) 사전 그룹화된 서브 그룹이 서브 그룹으로 사용되는 경우, 패킹이 글로벌 매칭 패킹 알고리즘을 사용하여 수행될 때 포인트 클라우드 인코딩 효율이 크게 감소함을 지시한다. 이 경우, 제i 사전 그룹화된 서브 그룹이 서브 그룹인 것으로 결정된다. 방식에 대한 관련 설명은 방식 A의 관련 설명을 참조한다. 자세한 내용은 여기서 다시 설명하지 않는다.
전술한 내용은 주로 방법 관점에서 본 출원의 실시 예에서 제공되는 솔루션을 설명한다. 전술한 기능을 구현하기 위해 대응하는 기능을 수행하기 위한 대응하는 하드웨어 구조 및/또는 소프트웨어 모듈이 포함된다. 당업자는 본 명세서에 개시된 실시 예에서 설명된 예의 유닛 및 알고리즘 단계와 조합하여, 본 출원이 하드웨어 또는 하드웨어와 컴퓨터 소프트웨어의 조합에 의해 구현될 수 있다는 것을 쉽게 인식해야 한다. 기능이 하드웨어에 의해 수행되는지 또는 컴퓨터 소프트웨어에 의해 구동되는 하드웨어에 의해 수행되는지는 특정 애플리케이션과 기술적 솔루션의 설계 제약에 따라 다르다. 당업자는 각각의 특정 애플리케이션에 대해 설명된 기능을 구현하기 위해 상이한 방법을 사용할 수 있지만, 구현이 본 출원의 범위를 벗어나는 것으로 간주되어서는 안된다.
본 출원의 실시 예에서, 인코더는 전술한 방법 예에 기반하여 기능 모듈로 그룹화될 수 있다. 예를 들어, 각 기능 모듈은 대응하는 기능에 기반한 분할을 통해 획득될 수 있거나 둘 이상의 기능이 하나의 처리 모듈에 통합될 수 있다. 통합된 모듈은 하드웨어 형태로 구현될 수도 있고, 또는 소프트웨어 기능 모듈 형태로 구현될 수도 있다. 본 출원의 실시 예에서, 모듈 분할은 예이며 단지 논리 기능 분할이라는 점에 유의해야 한다. 실제 구현에는 다른 분할 방식이 있을 수 있다.
도 15는 본 출원의 실시 예에 따른 인코더(150)의 개략적인 블록도이다. 인코더(150)는 그룹화 모듈(grouping module)(1501) 및 인코딩 모듈(1502)을 포함한다.
일 예에서, 그룹화 모듈(1501)은 도 2의 패킹 모듈(102)에 대응할 수 있다. 예를 들어, 패킹 프로세스는 코딩 대상 포인트 클라우드 그룹을 그룹화하는 프로세스를 포함할 수 있다. 예를 들어, 코딩 대상 포인트 클라우드 그룹을 그룹화하는 프로세스에서, 복수의 서브 그룹에 포함된 포인트 클라우드의 점유 맵이 생성된다. 이에 대응하여, 인코딩 모듈(1502)은 도 2의 하나 이상의 모듈의 조합에 대응할 수 있다. 예를 들어, 인코딩 모듈(1502)은 포인트 클라우드의 점유 맵을 수신하는 도 2의 모듈(예를 들어, 깊이 맵 생성 모듈(103), 텍스처 맵 생성 모듈(104) 및 제2 충전 모듈(111))과 이 모듈과 통신하는 모듈에 대응할 수 있다.
다른 일 예에서, 그룹화 모듈(1501)은 도 2의 패킹 모듈(102) 내의 그룹화 서브 모듈에 대응할 수 있다. 예를 들어, 그룹화 프로세스와 패킹 프로세스는 상대적으로 서로 독립적이다. 이에 대응하여, 인코딩 모듈(1502)은 도 2의 하나 이상의 모듈의 조합에 대응할 수 있다. 예를 들어, 인코딩 모듈(1502)은 도 2의 패킹 모듈(102)의 패킹 서브 모듈, 서브 그룹에 포함된 포인트 클라우드의 점유 맵을 수신하는 모듈(예를 들어, 깊이 맵 생성 모듈(103), 텍스처 맵 생성 모듈(104) 및 제2 충전 모듈(111)) 및 이 모듈과 통신하는 모듈에 대응할 수 있다.
구체적인 인코딩 기능에 대해서는 종래의 기술 또는 전술한 도 2에 도시된 인코더의 원리 설명을 참조한다. 자세한 내용은 여기서 다시 설명하지 않는다.
실행 가능한 구현에서, 그룹화 모듈(1501)은 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하도록 구성되며, 여기서 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하는 것은, 코딩 대상 포인트 클라우드 그룹에서의 복수의 포인트 클라우드 프레임을 사전 그룹화하여, 사전 그룹화된 서브 그룹을 획득하고, 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나임을 결정하는 것 - 특징 정보는 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기를 나타내는 데 사용됨 - 을 포함한다. 인코딩 모듈(1502)은 복수의 서브 그룹에 포함된 포인트 클라우드를 인코딩하도록 구성된다. 예를 들어, 도 5를 참조하면, 그룹화 모듈(1501)은 S101을 수행하도록 구성될 수 있고, 인코딩 모듈(1502)은 S102를 수행하도록 구성될 수 있다.
실행 가능한 구현에서, 코딩 대상 포인트 클라우드 그룹에서의 복수의 포인트 클라우드 프레임을 사전 그룹화하여 사전 그룹화된 서브 그룹을 획득하는 측면에서, 그룹화 모듈(1501)은 구체적으로, 제j 포인트 클라우드 프레임을 시작점으로 사용하여, 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여, 제i 사전 그룹화된 서브 그룹을 획득하도록 구성되며, 여기서 제j 포인트 클라우드 프레임은 그룹화되지 않은 포인트 클라우드의 제1 포인트 클라우드 프레임이며; i ≥ 1이고, i는 정수이며; j ≥ 1이고, j는 정수이며; 그리고 제i 사전 그룹화된 서브 그룹은 제j 포인트 클라우드 프레임부터 시작하는 하나 이상의 포인트 클라우드 프레임을 포함한다. 이에 대응하여, 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하는 측면에서, 그룹화 모듈(1501)은 구체적으로, 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하도록 구성된다.
실행 가능한 구현에서, 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하는 측면에서, 그룹화 모듈(1501)은 구체적으로, 제i 사전 그룹화된 서브 그룹의 특징 정보 및 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하도록 구성된다.
실행 가능한 구현에서, 제i 사전 그룹화된 서브 그룹의 특징 정보 및 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하는 측면에서, 그룹화 모듈(1501)은 구체적으로, 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않을 때, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하도록 구성된다. 예를 들어, 도 7을 참조하면, 그룹화 모듈(1501)은 S207을 수행하도록 구성될 수 있다. 다른 예를 들어, 도 13을 참조하면, 그룹화 모듈(1501)은 S303 및 S304의 일부 단계를 수행하도록 구성될 수 있다.
실행 가능한 구현에서, 제1 임계 값은 미리 정의된 값이다. 다르게는, 제1 임계 값은 후보 패킹 알고리즘에 기반하여 획득된 최대 크기이면서 또한 코딩 대상 포인트 클라우드 그룹에서의 포인트 클라우드의 점유 맵의 것인 최대 크기에 기반하여 결정된다.
실행 가능한 구현에서, 제i 사전 그룹화된 서브 그룹의 특징 정보는 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기를 포함한다. 이에 대응하여, 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않을 때, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하는 측면에서, 그룹화 모듈(1501)은 구체적으로, 제i 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드 프레임의 수량이 제1 미리 설정된 수량보다 작거나 같고, 제(i+1) 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드 프레임의 수량이 제1 미리 설정된 수량보다 클 때, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하고 - 대형 포인트 클라우드는 점유 맵 크기가 제2 임계 값보다 크거나 같은 포인트 클라우드임 -; 또는 글로벌 매칭 패킹 알고리즘을 기반으로 획득된 크기이면서 또한 제i 사전 그룹화된 서브 그룹의 포인트 클라우드 점유 맵의 것인 크기와 후보 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기의 비율의 평균값이, 제3 임계 값보다 작거나 같고, 그리고 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 제(i+1) 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기와 후보 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 제(i+1) 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기의 비율의 평균값이, 제3 임계 값보다 클 때, 제i 사전 그룹화된 서브 그룹이 서브 그룹인 것으로 결정하도록 구성된다.
실행 가능한 구현에서, 제2 임계 값은 미리 정의된 값이다. 다르게는, 대형 포인트 클라우드는 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 점유 맵 크기가 제2 임계 값보다 크거나 같은 포인트 클라우드이고; 제2 임계 값은 후보 패킹 알고리즘에 기반하여 획득된 최대 크기이면서 또한 코딩 대상 포인트 클라우드 그룹에서의 포인트 클라우드의 점유 맵의 것인 최대 크기에 기반하여 결정되거나, 또는 후보 패킹 알고리즘을 기반으로 획득된 크기이면서 또한 현재 포인트 클라우드의 점유 맵의 것인 크기에 기반하여 결정된다.
실행 가능한 구현에서, 제i 사전 그룹화된 서브 그룹의 특징 정보는 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기를 포함한다. 이에 대응하여, 제i 사전 그룹화된 서브 그룹의 특징 정보 및 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하는 측면에서, 그룹화 모듈(1501)은 구체적으로, 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제1 임계 값보다 작거나 같고, 제(i+1) 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제1 임계 값보다 클 때, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하거나; 또는 제(i+1) 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기와 비교하여 제5 임계 값보다 크거나 같게 감소될 때, 제i 사전 그룹화된 서브 그룹은 복수의 서브 그룹 중 하나인 것으로 결정하도록 구성된다.
실행 가능한 구현에서, 제i 사전 그룹화된 서브 그룹의 특징 정보는 제i 사전 그룹화된 서브 그룹의 유니온 포인트 클라우드 블록 패치 점유 맵의 면적을 포함한다. 제i 사전 그룹화된 서브 그룹의 특징 정보 및 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하는 측면에서, 그룹화 모듈(1501)은 구체적으로, 제(i+1) 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 총 면적이 제i 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 총 면적과 비교하여 제4 임계 값보다 크거나 같게 감소될 때, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하도록 구성된다.
실행 가능한 구현에서, 제j 포인트 클라우드 프레임을 시작점으로 사용하여, 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여 제i 사전 그룹화된 서브 그룹을 획득하는 측면에서, 그룹화 모듈(1501)은 구체적으로, 제j 포인트 클라우드 프레임을 시작점으로 사용하여 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드에 대해 i번째로 윈도를 슬라이딩하여, 제i 사전 그룹화된 서브 그룹을 획득하거나; 또는, 제j 포인트 클라우드 프레임을 시작점으로 사용하여, 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드에 대해 i번째로 이분법을 수행하여 제i 사전 그룹화된 서브 그룹을 획득하도록 구성된다.
실행 가능한 구현에서, i1번째로 윈도를 슬라이딩하는 데 사용되는 스텝 크기는 i2번째로 윈도를 슬라이딩하는 데 사용되는 스텝 크기보다 크거나 같으며, 1 ≤ i1 < i2 ≤ i 이고, i1 및 i2 둘 다 정수이다.
실행 가능한 구현에서, 그룹화 모듈(1501)은 추가로, 수식 N[i+1] = N[i] × c에 따라 (i+1)번째로 윈도를 슬라이딩하는 데 사용되는 스텝 크기 N[i+1]을 획득하도록 구성되며, 여기서 N[i]는 i번째로 윈도를 슬라이딩하는 데 사용되는 스텝 크기이고, c는 제i 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드 프레임의 수량에 기반하여 결정되며, 대형 포인트 클라우드는 점유 맵 크기가 제2 임계 값보다 크거나 같은 포인트 클라우드이다.
실행 가능한 구현에서 c는 다음 수식: c (a - b)/a을 충족하며, 여기서 a는 제1 미리 설정된 수량이고, b는 제i 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드 프레임의 수량이다.
실행 가능한 구현에서, 제j 포인트 클라우드 프레임을 시작점으로 사용하여 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여 제i 사전 그룹화된 서브 그룹을 획득하는 측면에서, 그룹화 모듈(1501)은 구체적으로, 제j 포인트 클라우드 프레임을 시작점으로 사용하여 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드에 대해 i번째로 윈도를 슬라이딩하여 제i 사전 그룹화된 서브 그룹을 획득하도록 구성된다. 이에 대응하여, 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하는 측면에서, 그룹화 모듈(1501)은 구체적으로, 제i 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않을 때, 제2 스텝 크기를 사용하여 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득하고 - 제2 스텝 크기는 제1 스텝 크기보다 작고, 제1 스텝 크기는 제(i+1) 사전 그룹화된 서브 그룹이 첫 번째로 획득될 때 사용되는 스텝 크기임 -; 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않으면, 제3 스텝 크기를 사용하여 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득하며 - 제3 스텝 크기는 제2 스텝 크기보다 작음 -; 유추에 의해, 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득한 횟수가 미리 설정된 횟수에 도달하거나 또는 가장 최근에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 스텝 크기가 미리 설정된 스텝 크기보다 작거나 같을 때, 가장 최근에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하지 않으면, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하도록 구성된다. 예를 들어, 도 9a 및 도 9b를 참조하면, 그룹화 모듈(1501)은 S207A 및 S207B를 수행하도록 구성될 수 있다.
실행 가능한 구현에서, 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하는 측면에서, 그룹화 모듈(1501)은 구체적으로, 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량 사이의 차이가, 제2 미리 설정된 수량보다 작거나 같을 때, 이번에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹이 서브 그룹인 것으로 결정하거나; 또는 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량 사이의 차이가 제2 미리 설정된 수량보다 클 때, 제4 스텝 크기를 사용하여 제(i+2) 사전 그룹화된 서브 그룹을 획득하며 - 제2 스텝 크기와 제4 스텝 크기의 합은 제1 스텝 크기보다 작음 -; 제(i+2) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 제5 스텝 크기를 사용하여 제(i+3) 사전 그룹화된 서브 그룹을 획득하며 - 제2 스텝 크기와 제4 스텝 크기와 제5 스텝 크기의 합은 제1 스텝 크기보다 작음 -; 그리고 유추하여, 획득된 제(i+k) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량 사이의 차이가 제2 미리 설정된 수량보다 작거나 같을 때, 제(i+k) 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 제(i+k) 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하도록 구성되며, 여기서 k ≥ 2이고, k는 정수이다. 예를 들어, 도 9a 및 도 9b를 참조하면, 그룹화 모듈(1501)은 S207C를 수행하도록 구성될 수 있다.
실행 가능한 구현에서, 제j 포인트 클라우드 프레임을 시작점으로 사용하여 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여 제i 사전 그룹화된 서브 그룹을 획득하는 측면에서, 그룹화 모듈(1501)은 구체적으로, 제j 포인트 클라우드 프레임을 시작점으로 사용하여 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드에 대해 i번째로 이분법을 수행하여, 제i 사전 그룹화된 서브 그룹을 획득하도록 구성된다. 이에 대응하여, 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하는 측면에서, 그룹화 모듈(1501)은 구체적으로, 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 제i 사전 그룹화된 서브 그룹이 복수의 서브 그룹 중 하나인 것으로 결정하도록 구성된다. 예를 들어, 도 14를 참조하면, 그룹화 모듈(1501)은 S403 및 S404의 일부 단계를 수행하도록 구성될 수 있다.
실행 가능한 구현에서, 제i 사전 그룹화된 서브 그룹의 특징 정보는 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기를 포함한다. 이에 대응하여, 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하는 것은: 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제1 임계 값보다 작거나 같은 것; 및/또는, 제(i+1) 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기와 비교하여 제5 임계 값보다 크거나 같게 감소되는 것을 포함한다.
실행 가능한 구현에서, 제i 사전 그룹화된 서브 그룹의 특징 정보는 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기를 포함한다. 이에 대응하여, 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하는 것은: 제i 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드 프레임의 수량이 제1 미리 설정된 수량보다 작거나 같은 것 - 대형 포인트 클라우드는 점유 맵 크기가 제2 임계 값보다 크거나 같은 포인트 클라우드임 -; 또는 글로벌 매칭 패킹 알고리즘을 기반으로 획득된 크기이면서 또한 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기와 후보 패킹 알고리즘을 기반으로 획득된 크기이면서 또한 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기의 비율의 평균값이 제3 임계 값보다 작거나 같은 것을 포함한다. 제2 임계 값의 구현에 대해서는 전술한 설명을 참조한다.
실행 가능한 구현에서, 제i 사전 그룹화된 서브 그룹의 특징 정보는 제i 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 면적을 포함한다. 이에 대응하여, 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하는 것은, 제(i+1) 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 총 면적이, 제i 사전 그룹화된 서브 그룹의 유니온 패치 점유 맵의 총 면적과 비교하여, 제4 임계 값보다 크거나 같게 감소되는 것을 포함한다.
충돌이 발생하지 않는 경우, 전술한 임의의 복수의 실행 가능한 구현에서 일부 또는 모든 특징 정보가 조합되어 새로운 기술적 솔루션을 구성할 수 있음을 이해할 수 있다. 예를 들어, 제i 사전 그룹화된 서브 그룹이 미리 설정된 조건을 충족하는지 여부를 결정하는 방법은 전술한 대응하는 실행 가능 구현을 참조한다.
본 출원의 이 실시 예에서 인코더의 모듈은 본 출원에서 대응하는 포인트 클라우드 인코딩 방법에 포함된 다양한 실행 단계를 구현하는 기능적 엔티티, 즉 본 출원에서 포인트 클라우드 인코딩 방법의 모든 단계 및 이러한 단계의 확장 및 변형을 구현하는 기능적 엔티티임을 이해할 수 있다. 간결함을 위해 자세한 내용은 본 명세서에서 다시 설명하지 않는다.
도 16은 본 출원의 실시 예에 따른 인코딩 디바이스(160)의 구현의 개략적인 블록도이다. 인코딩 디바이스(160)는 프로세서(1610), 메모리(1630) 및 버스 시스템(1650)을 포함할 수 있다. 프로세서(1610)는 버스 시스템(1650)을 통해 메모리(1630)에 연결된다. 메모리(1630)는 명령을 저장하도록 구성된다. 프로세서(1610)는 메모리(1630)에 저장된 명령을 실행하여 본 출원에서 설명된 다양한 포인트 클라우드 인코딩 방법을 수행하도록 구성된다. 반복을 피하기 위해 자세한 내용은 여기서 다시 설명하지 않는다.
본 출원의 이 실시 예에서, 프로세서(1610)는 중앙 처리 유닛(central processing unit, CPU)일 수 있거나, 또는 프로세서(1610)는 다른 범용 프로세서, DSP, ASIC, FPGA 또는 다른 프로그램 가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직 디바이스, 이산 하드웨어 구성 요소 등일 수 있다. 범용 프로세서는 마이크로프로세서일 수 있거나, 프로세서는 임의의 통상적인 프로세서 등일 수 있다.
메모리(1630)는 ROM 디바이스 또는 RAM 디바이스를 포함할 수 있다. 임의의 다른 적절한 유형의 저장 디바이스가 다르게는 메모리(1630)로서 사용될 수 있다. 메모리(1630)는 버스 시스템(1650)을 통해 프로세서(1610)에 의해 액세스되는 코드 및 데이터(1631)를 포함할 수 있다. 메모리(1630)는 운영 체제(1633) 및 애플리케이션(1635)을 더 포함할 수 있다. 애플리케이션(1635)은 프로세서(1610)가 본 출원에서 설명된 포인트 클라우드 인코딩을 수행할 수 있게 하는 적어도 하나의 프로그램을 포함한다. 예를 들어, 애플리케이션(1635)은 애플리케이션 1 내지 애플리케이션 N을 포함할 수 있고, 본 출원에서 설명하는 포인트 클라우드 인코딩 방법을 수행하는 포인트 클라우드 인코딩 애플리케이션을 더 포함할 수 있다.
버스 시스템(1650)은 데이터 버스 외에 전력 버스, 제어 버스, 상태 신호 버스 등을 더 포함할 수 있다. 그러나, 명확한 설명을 위해, 도면에서 다양한 유형의 버스가 버스 시스템(1650)으로 표시된다.
선택적으로, 인코딩 디바이스(160)는 하나 이상의 출력 디바이스, 예를 들어 디스플레이(1670)를 더 포함할 수 있다. 일 예에서, 디스플레이(1670)는 디스플레이와 터치 입력을 감지하도록 동작 가능한 터치 감지 유닛을 결합하는 터치 감지 디스플레이일 수 있다. 디스플레이(1670)는 버스(1650)를 통해 프로세서(1610)와 연결될 수 있다.
당업자는 본 명세서에 개시되고 설명된 다양한 예시적인 로직 블록, 모듈 및 알고리즘 단계를 참조하여 설명된 기능이 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합에 의해 구현될 수 있음을 이해할 수 있다. 실시 예가 소프트웨어에 의해 구현되면, 예시적인 논리 블록, 모듈 및 단계를 참조하여 설명된 기능은, 하나 이상의 명령 또는 코드로 컴퓨터가 판독 가능한 매체에 저장되거나 송신될 수 있으며 하드웨어 기반 처리 유닛에 의해 실행될 수 있다. 컴퓨터가 판독 가능한 매체는 데이터 저장 매체와 같은 유형의 매체에 대응하는 컴퓨터가 판독 가능한 저장 매체, 또는 컴퓨터 프로그램을 한 장소에서 다른 장소로의 전달을 용이하게 하는 임의의 매체를 포함하는 통신 매체(예를 들어, 통신 프로토콜에 따라)를 포함할 수 있다. 이러한 방식으로, 컴퓨터가 판독 가능한 매체는 일반적으로 (1) 비 일시적 유형의 컴퓨터가 판독 가능한 저장 매체, 또는 (2) 신호 또는 캐리어와 같은 통신 매체에 대응할 수 있다. 데이터 저장 매체는 본 출원에서 설명된 기술을 구현하기 위한 명령, 코드 및/또는 데이터 구조를 검색하기 위해 하나 이상의 컴퓨터 또는 하나 이상의 프로세서에 의해 액세스될 수 있는 임의의 사용 가능한 매체일 수 있다. 컴퓨터 프로그램 제품은 컴퓨터가 판독 가능한 매체를 포함할 수 있다.
제한이 아닌 예시에서, 이러한 컴퓨터가 판독 가능한 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 컴팩트 디스크 저장 장치, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 플래시 메모리, 또는 원하는 프로그램 코드를 명령 또는 데이터 구조의 형태로 저장하는 데 사용할 수 있으면서 또한 컴퓨터에서 액세스할 수 있는 기타 매체를 포함할 수 있다. 또한, 모든 연결을 컴퓨터가 판독 가능한 매체라고 한다. 예를 들어 웹 사이트, 서버 또는 다른 원격 소스에서 동축 케이블, 광섬유, 트위스트 페어(twisted pair), DSL(digital subscriber line) 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술을 통해 명령이 전송되면, 동축 케이블, 광섬유, 트위스트 페어, DSL 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술이 매체의 정의에 포함된다. 그러나, 컴퓨터가 판독 가능한 저장 매체 및 데이터 저장 매체는 연결, 캐리어, 신호 또는 다른 일시적인 매체를 포함하지 않고, 실제로 비 일시적 유형의 저장 매체를 의미함을 이해해야 한다. 본 명세서에서 사용되는 디스크(disk) 및 디스크(disc)는 CD(compact disc), 레이저 디스크(disc), 광 디스크(disc), DVD 및 Blu-ray 디스크(disc)를 포함한다. 디스크(disk)는 일반적으로 데이터를 자기적으로 재생하는 반면 디스크(disc)는 레이저를 사용하여 데이터를 광학적으로 재생한다. 전술한 항목의 조합도 컴퓨터가 판독 가능한 매체의 범위에 포함되어야 한다.
명령은 하나 이상의 DSP(digital signal processor), 범용 마이크로 프로세서, ASIC(application-specific integrated circuits), FPGA(field programmable gate arrays) 또는 기타 동등한 통합된 또는 이산 로직 회로와 같은 하나 이상의 프로세서에 의해 실행될 수 있다. 따라서, 본 명세서에서 사용되는 "프로세서"라는 용어는 전술한 구조 또는 본 명세서에서 설명하는 기술의 구현에 적용될 수 있는 다른 구조를 지칭할 수 있다. 또한, 일부 측면에서, 본 명세서에 설명된 예시적인 로직 블록, 모듈 및 단계를 참조하여 설명된 기능은, 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈 내에 제공될 수 있거나, 조합된 코덱으로 통합될 수 있다. 또한, 기술은 모두 하나 이상의 회로 또는 로직 엘리먼트에서 구현될 수 있다. 일 예에서, 인코더(100) 및 디코더(200)의 다양한 설명 로직 블록, 유닛 및 모듈은 대응하는 회로 디바이스 또는 로직 엘리먼트로 이해될 수 있다.
본 출원의 기술은 무선 핸드셋, 집적 회로(integrated circuit, IC) 또는 IC 세트(예를 들어, 칩셋)를 포함하는 다양한 장치 또는 디바이스에서 구현될 수 있다. 개시된 기술을 수행하도록 구성된 장치의 기능적 측면을 강조하기 위해 본 출원에서 다양한 구성 요소, 모듈 또는 유닛이 설명되지만, 반드시 상이한 하드웨어 유닛에 의해 구현되는 것은 아니다. 위에서 설명된 바와 같이, 다양한 유닛은 적절한 소프트웨어 및/또는 펌웨어와 결합하여 코덱 하드웨어 유닛으로 조합될 수 있거나, 상호 운용 가능한 하드웨어 유닛(위에서 설명된 하나 이상의 프로세서 포함)에 의해 제공될 수 있다.
전술한 설명은 본 출원의 특정 구현의 예일뿐이며 본 출원의 보호 범위를 제한하려는 의도는 없다. 본 출원에 개시된 기술 범위 내에서 당업자에 의해 용이하게 파악되는 임의의 변형 또는 대체는 본 출원의 보호 범위 내에 속한다. 따라서, 본 출원의 보호 범위는 청구 범위의 보호 범위에 따른다.

Claims (30)

  1. 포인트 클라우드 인코딩 방법으로서,
    코딩 대상 포인트 클라우드 그룹(to-be-coded point cloud group)을 복수의 서브 그룹으로 그룹화하는 단계; 및
    상기 복수의 서브 그룹에 포함된 포인트 클라우드를 인코딩하는 단계
    를 포함하고,
    상기 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하는 단계는,
    상기 코딩 대상 포인트 클라우드 그룹에서의 복수의 포인트 클라우드 프레임을 사전 그룹화하여(pre-grouping) 사전 그룹화된 서브 그룹을 획득하는 단계, 및
    상기 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계 - 상기 특징 정보는 상기 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵(occupancy map)의 크기를 나타내는 데 사용됨 -
    를 포함하는, 포인트 클라우드 인코딩 방법.
  2. 제1항에 있어서,
    상기 코딩 대상 포인트 클라우드 그룹에서의 복수의 포인트 클라우드 프레임을 사전 그룹화하여 사전 그룹화된 서브 그룹을 획득하는 단계는,
    제j 포인트 클라우드 프레임을 시작점으로 사용하여, 상기 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여, 제i 사전 그룹화된 서브 그룹을 획득하는 단계 - 상기 제j 포인트 클라우드 프레임은 상기 그룹화되지 않은 포인트 클라우드에서의 제1 포인트 클라우드 프레임이며, i ≥ 1이고, i는 정수이며, j ≥ 1이고, j는 정수이며, 상기 제i 사전 그룹화된 서브 그룹은 상기 제j 포인트 클라우드 프레임부터 시작하는 하나 이상의 포인트 클라우드 프레임을 포함함 -
    를 포함하고,
    이에 대응하여, 상기 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는,
    상기 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계
    를 포함하는, 포인트 클라우드 인코딩 방법.
  3. 제2항에 있어서,
    상기 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는,
    상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않을 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계
    를 포함하는, 포인트 클라우드 인코딩 방법.
  4. 제3항에 있어서,
    상기 제i 사전 그룹화된 서브 그룹의 특징 정보는 상기 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기를 포함하고,
    이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않을 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는,
    상기 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제1 임계 값보다 작거나 같고, 상기 제(i+1) 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 상기 제1 임계 값보다 클 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계
    를 포함하는, 포인트 클라우드 인코딩 방법.
  5. 제4항에 있어서,
    상기 제1 임계 값은 미리 정의된 값이거나, 또는
    상기 제1 임계 값은 후보 패킹 알고리즘(candidate packing algorithm)에 기반하여 획득된 최대 크기이면서 또한 상기 코딩 대상 포인트 클라우드 그룹에서 상기 포인트 클라우드의 점유 맵의 것인 최대 크기에 기반하여 결정되는, 포인트 클라우드 인코딩 방법.
  6. 제3항에 있어서,
    상기 제i 사전 그룹화된 서브 그룹의 특징 정보는 상기 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기를 포함하고,
    이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않을 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는,
    상기 제i 사전 그룹화된 서브 그룹에서의 대형(large-size) 포인트 클라우드의 프레임 수량이 제1 미리 설정된 수량보다 작거나 같고, 상기 제(i+1) 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드의 프레임 수량이 상기 제1 미리 설정된 수량보다 클 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계 - 상기 대형 포인트 클라우드는 점유 맵 크기가 제2 임계 값보다 크거나 같은 포인트 클라우드임 -; 또는
    글로벌 매칭 패킹 알고리즘(global matching packing algorithm)을 기반으로 획득된 크기이면서 또한 상기 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기와 후보 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 상기 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기의 비율의 평균값이 제3 임계 값보다 작거나 같고, 그리고 상기 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 상기 제(i+1) 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기와 상기 후보 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 상기 제(i+1) 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기의 비율의 평균값이 상기 제3 임계 값보다 클 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계
    를 포함하는, 포인트 클라우드 인코딩 방법.
  7. 제6항에 있어서,
    상기 제2 임계 값은 미리 정의된 값이고, 또는
    상기 대형 포인트 클라우드는 상기 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 점유 맵 크기가 상기 제2 임계 값보다 크거나 같은 포인트 클라우드이고; 상기 제2 임계 값은 상기 후보 패킹 알고리즘에 기반하여 획득된 최대 크기이면서 또한 상기 코딩 대상 포인트 클라우드 그룹에서의 포인트 클라우드의 점유 맵의 것인 최대 크기에 기반하여 결정되거나, 또는 상기 후보 패킹 알고리즘을 기반으로 획득된 크기이면서 또한 현재 포인트 클라우드의 점유 맵의 것인 크기에 기반하여 결정되는, 포인트 클라우드 인코딩 방법.
  8. 제2항 내지 제7항 중 어느 한 항에 있어서,
    상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여, 상기 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여, 제i 사전 그룹화된 서브 그룹을 획득하는 단계는,
    상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여 상기 코딩 대상 포인트 클라우드 그룹에서 상기 그룹화되지 않은 포인트 클라우드에 대해 i번째로 윈도(window)를 슬라이딩하여 상기 제i 사전 그룹화된 서브 그룹을 획득하는 단계; 또는
    상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여 상기 코딩 대상 포인트 클라우드 그룹에서 상기 그룹화되지 않은 포인트 클라우드에 대해 i번째로 이분법(dichotomy)을 수행하여 상기 제i 사전 그룹화된 서브 그룹을 획득하는 단계
    를 포함하는, 포인트 클라우드 인코딩 방법.
  9. 제8항에 있어서,
    i1번째로 상기 윈도를 슬라이딩하는 데 사용되는 스텝 크기(step size)는 i2번째로 상기 윈도를 슬라이딩하는 데 사용되는 스텝 크기보다 크거나 같으며, 1 ≤ i1 < i2 ≤ i이고, i1과 i2는 모두 정수인, 포인트 클라우드 인코딩 방법.
  10. 제9항에 있어서,
    상기 포인트 클라우드 인코딩 방법은,
    수식 N[i+1] = N[i] × c에 따라, (i+1)번째로 상기 윈도를 슬라이딩하는 데 사용되는 스텝 크기 N[i+1]을 획득하는 단계
    를 더 포함하고,
    N[i]는 i번째로 상기 윈도를 슬라이딩하는 데 사용된 스텝 크기이고, c는 상기 제i 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드의 프레임 수량에 기반하여 결정되며, 상기 대형 포인트 클라우드는 점유 맵 크기가 상기 제2 임계 값보다 크거나 같은 포인트 클라우드인, 포인트 클라우드 인코딩 방법.
  11. 제10항에 있어서,
    c는 다음 수식:
    c =(a - b)/a
    을 충족하며, a는 상기 제1 미리 설정된 수량이고, b는 상기 제i 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드의 프레임 수량인, 포인트 클라우드 인코딩 방법.
  12. 제2항에 있어서,
    상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여, 상기 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여, 제i 사전 그룹화된 서브 그룹을 획득하는 단계는,
    상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여 상기 코딩 대상 포인트 클라우드 그룹에서 상기 그룹화되지 않은 포인트 클라우드에 대해 i번째로 윈도를 슬라이딩하여 상기 제i 사전 그룹화된 서브 그룹을 획득하는 단계
    를 포함하고,
    이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는,
    상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않을 때, 제2 스텝 크기를 사용하여 상기 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득하는 단계 - 상기 제2 스텝 크기는 제1 스텝 크기보다 작고, 상기 제1 스텝 크기는 상기 제(i+1) 사전 그룹화된 서브 그룹이 첫 번째로 획득될 때 사용된 스텝 크기임 -; 및
    다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않으면, 제3 스텝 크기를 사용하여 상기 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득하고 - 상기 제3 스텝 크기는 상기 제2 스텝 크기보다 작음 -; 유추에 의해(by analogy), 상기 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득한 횟수가 미리 설정된 횟수에 도달하거나 또는 가장 최근에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 스텝 크기가 미리 설정된 스텝 크기보다 작거나 같을 때, 상기 가장 최근에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않으면, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계
    를 포함하는, 포인트 클라우드 인코딩 방법.
  13. 제12항에 있어서,
    상기 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하는 단계는,
    상기 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량 사이의 차이가 제2 미리 설정된 수량보다 작거나 같을 때, 이번에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹이 서브 그룹인 것으로 결정하는 단계; 또는
    상기 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량의 차이가 제2 미리 설정된 수량보다 클 때, 제4 스텝 크기를 사용하여 제(i+2) 사전 그룹화된 서브 그룹을 획득하고 - 상기 제2 스텝 크기와 상기 제4 스텝 크기의 합은 상기 제1 스텝 크기보다 작음 -; 상기 제(i+2) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하면, 제5 스텝 크기를 사용하여 제(i+3) 사전 그룹화된 서브 그룹을 획득하며 - 상기 제2 스텝 크기와 상기 제4 스텝 크기와 상기 제5 스텝 크기의 합은 상기 제1 스텝 크기보다 작음 - ; 그리고 유추하여, 획득된 제(i+k) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량의 차이가 상기 제2 미리 설정된 수량보다 작거나 같을 때, 상기 제(i+k) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하면, 상기 제(i+k) 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계 - k ≥ 2이고, k는 정수임 -
    를 포함하는, 포인트 클라우드 인코딩 방법.
  14. 제2항에 있어서,
    상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여, 상기 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여, 제i 사전 그룹화된 서브 그룹을 획득하는 단계는,
    상기 제j 포인트 클라우드 프레임을 시작점으로 하여, 상기 코딩 대상 포인트 클라우드 그룹에서 상기 그룹화되지 않은 포인트 클라우드에 대해 i번째로 이분법을 수행하여 상기 제i 사전 그룹화된 서브 그룹을 획득하는 단계
    를 포함하고,
    이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계는,
    상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 단계
    를 포함하는, 포인트 클라우드 인코딩 방법.
  15. 인코더로서,
    포인트 클라우드 인코딩 방법으로서,
    코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하도록 - 상기 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하는 것은, 상기 코딩 대상 포인트 클라우드 그룹에서의 복수의 포인트 클라우드 프레임을 사전 그룹화하여 사전 그룹화된 서브 그룹을 획득하고, 그리고 상기 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 것 - 상기 특징 정보는 상기 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기를 나타내는 데 사용됨 - 구성된 그룹화 모듈; 및
    상기 복수의 서브 그룹에 포함된 포인트 클라우드를 인코딩하도록 구성된 인코딩 모듈
    을 포함하는 인코더.
  16. 제15항에 있어서,
    상기 코딩 대상 포인트 클라우드 그룹에서의 복수의 포인트 클라우드 프레임을 사전 그룹화하여 사전 그룹화된 서브 그룹을 획득하는 측면에서, 상기 그룹화 모듈은 구체적으로,
    제j 포인트 클라우드 프레임을 시작점으로 사용하여, 상기 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여, 제i 사전 그룹화된 서브 그룹을 획득하도록 - 상기 제j 포인트 클라우드 프레임은 상기 그룹화되지 않은 포인트 클라우드에서의 제1 포인트 클라우드 프레임이며, i ≥ 1이고, i는 정수이며, j ≥ 1이고, j는 정수이며, 상기 제i 사전 그룹화된 서브 그룹은 상기 제j 포인트 클라우드 프레임부터 시작하는 하나 이상의 포인트 클라우드 프레임을 포함함 - 구성되고,
    이에 대응하여, 상기 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 측면에서, 상기 그룹화 모듈은 구체적으로,
    상기 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하도록 구성되는, 인코더.
  17. 제16항에 있어서,
    상기 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 측면에서, 상기 그룹화 모듈은 구체적으로,
    상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않을 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하도록 구성되는, 인코더.
  18. 제17항에 있어서,
    상기 제i 사전 그룹화된 서브 그룹의 특징 정보는 상기 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기를 포함하고, 그리고,
    이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않을 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 측면에서, 상기 그룹화 모듈은 구체적으로,
    상기 제i 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 제1 임계 값보다 작거나 같고, 상기 제(i+1) 사전 그룹화된 서브 그룹의 글로벌 점유 맵의 크기가 상기 제1 임계 값보다 클 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하도록 구성되는, 인코더.
  19. 제18항에 있어서,
    상기 제1 임계 값은 미리 정의된 값이거나, 또는
    상기 제1 임계 값은 후보 패킹 알고리즘에 기반하여 획득된 최대 크기이면서 또한 상기 코딩 대상 포인트 클라우드 그룹에서 상기 포인트 클라우드의 점유 맵의 것인 최대 크기에 기반하여 결정되는, 인코더
  20. 제17항에 있어서,
    상기 제i 사전 그룹화된 서브 그룹의 특징 정보는 상기 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 크기를 포함하고, 그리고,
    이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않을 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 측면에서, 상기 그룹화 모듈은 구체적으로,
    상기 제i 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드의 프레임 수량이 제1 미리 설정된 수량보다 작거나 같고, 상기 제(i+1) 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드의 프레임 수량이 상기 제1 미리 설정된 수량보다 클 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하거나 - 상기 대형 포인트 클라우드는 점유 맵 크기가 제2 임계 값보다 크거나 같은 포인트 클라우드임 -; 또는
    글로벌 매칭 패킹 알고리즘을 기반으로 획득된 크기이면서 또한 상기 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기와 후보 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 상기 제i 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기의 비율의 평균값이 제3 임계 값보다 작거나 같고, 그리고 상기 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 상기 제(i+1) 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기와 상기 후보 패킹 알고리즘에 기반하여 획득된 크기이면서 또한 상기 제(i+1) 사전 그룹화된 서브 그룹에서의 포인트 클라우드의 점유 맵의 것인 크기의 비율의 평균값이 상기 제3 임계 값보다 클 때, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하도록 구성되는, 인코더.
  21. 제20항에 있어서,
    상기 제2 임계 값은 미리 정의된 값이고, 또는
    상기 대형 포인트 클라우드는 상기 글로벌 매칭 패킹 알고리즘에 기반하여 획득된 점유 맵 크기가 상기 제2 임계 값보다 크거나 같은 포인트 클라우드이고; 상기 제2 임계 값은 상기 후보 패킹 알고리즘에 기반하여 획득된 최대 크기이면서 또한 상기 코딩 대상 포인트 클라우드 그룹에서의 포인트 클라우드의 점유 맵의 것인 최대 크기에 기반하여 결정되거나, 또는 상기 후보 패킹 알고리즘을 기반으로 획득된 크기이면서 또한 현재 포인트 클라우드의 점유 맵의 것인 크기에 기반하여 결정되는, 인코더.
  22. 제16항 내지 제21항 중 어느 한 항에 있어서,
    상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여, 상기 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여, 제i 사전 그룹화된 서브 그룹을 획득하는 측면에서, 상기 그룹화 모듈은 구체적으로,
    상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여 상기 코딩 대상 포인트 클라우드 그룹에서 상기 그룹화되지 않은 포인트 클라우드에 대해 i번째로 윈도를 슬라이딩하여 상기 제i 사전 그룹화된 서브 그룹을 획득하거나; 또는
    상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여 상기 코딩 대상 포인트 클라우드 그룹에서 상기 그룹화되지 않은 포인트 클라우드에 대해 i번째로 이분법을 수행하여 상기 제i 사전 그룹화된 서브 그룹을 획득하도록 구성되는, 인코더.
  23. 제22항에 있어서,
    i1번째로 상기 윈도를 슬라이딩하는 데 사용되는 스텝 크기(step size)는 i2번째로 상기 윈도를 슬라이딩하는 데 사용되는 스텝 크기보다 크거나 같으며, 1 ≤ i1 < i2 ≤ i이고, i1과 i2는 모두 정수인, 인코더.
  24. 제23항에 있어서,
    상기 그룹화 모듈은 추가로,
    수식 N[i+1] = N[i] x c에 따라, (i+1)번째로 상기 윈도를 슬라이딩하는 데 사용되는 스텝 크기 N[i+1]을 획득하도록 구성되고,
    N[i]는 i번째로 상기 윈도를 슬라이딩하는 데 사용된 스텝 크기이고, c는 상기 제i 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드의 프레임 수량에 기반하여 결정되며, 상기 대형 포인트 클라우드는 점유 맵 크기가 상기 제2 임계 값보다 크거나 같은 포인트 클라우드인, 인코더.
  25. 제24항에 있어서,
    c는 다음 수식:
    c =(a - b)/a
    을 충족하며, a는 상기 제1 미리 설정된 수량이고, b는 상기 제i 사전 그룹화된 서브 그룹에서의 대형 포인트 클라우드의 프레임 수량인, 인코더.
  26. 제16항에 있어서,
    상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여, 상기 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여, 제i 사전 그룹화된 서브 그룹을 획득하는 측면에서, 상기 그룹화 모듈은 구체적으로,
    상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여 상기 코딩 대상 포인트 클라우드 그룹에서 상기 그룹화되지 않은 포인트 클라우드에 대해 i번째로 윈도를 슬라이딩하여 상기 제i 사전 그룹화된 서브 그룹을 획득하도록 구성되고,
    이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 측면에서, 상기 그룹화 모듈은 구체적으로,
    상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하고, 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않을 때, 제2 스텝 크기를 사용하여 상기 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득하고 - 상기 제2 스텝 크기는 제1 스텝 크기보다 작고, 상기 제1 스텝 크기는 상기 제(i+1) 사전 그룹화된 서브 그룹이 첫 번째로 획득될 때 사용된 스텝 크기임 -; 및
    다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않으면, 제3 스텝 크기를 사용하여 상기 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득하며 - 상기 제3 스텝 크기는 상기 제2 스텝 크기보다 작음 -; 유추에 의해, 상기 제(i+1) 사전 그룹화된 서브 그룹을 다시 획득한 횟수가 미리 설정된 횟수에 도달하거나 또는 가장 최근에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 스텝 크기가 미리 설정된 스텝 크기보다 작거나 같을 때, 상기 가장 최근에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하지 않으면, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하도록 구성되는, 인코더.
  27. 제26항에 있어서,
    상기 코딩 대상 포인트 클라우드 그룹을 복수의 서브 그룹으로 그룹화하는 측면에서, 상기 그룹화 모듈은 구체적으로,
    상기 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량 사이의 차이가 제2 미리 설정된 수량보다 작거나 같을 때, 이번에 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹이 서브 그룹인 것으로 결정하거나; 또는
    상기 다시 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량의 차이가 제2 미리 설정된 수량보다 클 때, 제4 스텝 크기를 사용하여 제(i+2) 사전 그룹화된 서브 그룹을 획득하고 - 상기 제2 스텝 크기와 상기 제4 스텝 크기의 합은 상기 제1 스텝 크기보다 작음 -; 상기 제(i+2) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하면, 제5 스텝 크기를 사용하여 제(i+3) 사전 그룹화된 서브 그룹을 획득하며 - 상기 제2 스텝 크기와 상기 제4 스텝 크기와 상기 제5 스텝 크기의 합은 상기 제1 스텝 크기보다 작음 - ; 그리고 유추하여, 획득된 제(i+k) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량과 첫 번째로 획득된 제(i+1) 사전 그룹화된 서브 그룹에 포함된 포인트 클라우드 프레임의 수량의 차이가 상기 제2 미리 설정된 수량보다 작거나 같을 때, 상기 제(i+k) 사전 그룹화된 서브 그룹의 특징 정보가 상기 미리 설정된 조건을 충족하면, 상기 제(i+k) 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하도록 - k ≥ 2이고, k는 정수임 - 구성되는, 인코더.
  28. 제16항에 있어서,
    상기 제j 포인트 클라우드 프레임을 시작점으로 사용하여, 상기 코딩 대상 포인트 클라우드 그룹에서 그룹화되지 않은 포인트 클라우드를 i번째로 사전 그룹화하여, 제i 사전 그룹화된 서브 그룹을 획득하는 측면에서, 상기 그룹화 모듈은 구체적으로,
    상기 제j 포인트 클라우드 프레임을 시작점으로 하여, 상기 코딩 대상 포인트 클라우드 그룹에서 상기 그룹화되지 않은 포인트 클라우드에 대해 i번째로 이분법을 수행하여 상기 제i 사전 그룹화된 서브 그룹을 획득하도록 구성되고,
    이에 대응하여, 상기 제i 사전 그룹화된 서브 그룹의 특징 정보에 기반하여, 상기 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하는 측면에서, 상기 그룹화 모듈은 구체적으로,
    상기 제i 사전 그룹화된 서브 그룹의 특징 정보가 미리 설정된 조건을 충족하면, 상기 제i 사전 그룹화된 서브 그룹이 상기 복수의 서브 그룹 중 하나인 것으로 결정하도록 구성되는, 인코더.
  29. 인코딩 장치로서,
    상기 인코딩 장치는 메모리 및 프로세서를 포함하고,
    상기 메모리는 프로그램 코드를 저장하도록 구성되고, 상기 프로세서는 상기 프로그램 코드를 호출하여, 제1항 내지 제14항 중 어느 한 항에 따른 포인트 클라우드 인코딩 방법을 수행하도록 구성되는, 인코딩 장치.
  30. 프로그램 코드를 포함하는, 컴퓨터가 판독 가능한 저장 매체로서,
    상기 프로그램 코드가 컴퓨터 상에서 실행될 때, 제1항 내지 제14항 중 어느 한 항에 따른 포인트 클라우드 인코딩 방법이 수행되는, 컴퓨터가 판독 가능한 저장 매체.
KR1020217021621A 2018-12-13 2019-12-11 포인트 클라우드 인코딩 방법 및 인코더 KR20210094095A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201811527959.5 2018-12-13
CN201811527959.5A CN111327897B (zh) 2018-12-13 2018-12-13 点云编码方法和编码器
PCT/CN2019/124615 WO2020119725A1 (zh) 2018-12-13 2019-12-11 点云编码方法和编码器

Publications (1)

Publication Number Publication Date
KR20210094095A true KR20210094095A (ko) 2021-07-28

Family

ID=71075856

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217021621A KR20210094095A (ko) 2018-12-13 2019-12-11 포인트 클라우드 인코딩 방법 및 인코더

Country Status (7)

Country Link
US (1) US11935269B2 (ko)
EP (1) EP3890320A4 (ko)
JP (1) JP7271671B2 (ko)
KR (1) KR20210094095A (ko)
CN (1) CN111327897B (ko)
MX (1) MX2021007046A (ko)
WO (1) WO2020119725A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023153758A1 (ko) * 2022-02-08 2023-08-17 엘지전자 주식회사 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114596196A (zh) * 2022-03-04 2022-06-07 北京百度网讯科技有限公司 点云数据的滤波方法和装置、设备以及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002010259A (ja) 2000-06-21 2002-01-11 Mitsubishi Electric Corp 画像符号化装置及び画像符号化方法及び画像符号化プログラムを記録した記録媒体
US10482196B2 (en) * 2016-02-26 2019-11-19 Nvidia Corporation Modeling point cloud data using hierarchies of Gaussian mixture models
US10694210B2 (en) * 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
CN106407408B (zh) 2016-09-22 2019-08-16 北京数字绿土科技有限公司 一种海量点云数据的空间索引构建方法及装置
US11300964B2 (en) * 2016-12-20 2022-04-12 Korea Advanced Institute Of Science And Technology Method and system for updating occupancy map for a robotic system
US11514613B2 (en) * 2017-03-16 2022-11-29 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
US10306212B2 (en) * 2017-03-31 2019-05-28 Verizon Patent And Licensing Inc. Methods and systems for capturing a plurality of three-dimensional sub-frames for use in forming a volumetric frame of a real-world scene
EP3399757A1 (en) 2017-05-04 2018-11-07 Thomson Licensing Method and apparatus to encode and decode two-dimension point clouds
US10699444B2 (en) * 2017-11-22 2020-06-30 Apple Inc Point cloud occupancy map compression
CN108335335B (zh) 2018-02-11 2019-06-21 北京大学深圳研究生院 一种基于增强图变换的点云属性压缩方法
EP3772853B1 (en) 2018-04-09 2024-06-19 Huawei Technologies Co., Ltd. Method and device for point cloud coding
CN108632621B (zh) * 2018-05-09 2019-07-02 北京大学深圳研究生院 一种基于层次划分的点云属性压缩方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023153758A1 (ko) * 2022-02-08 2023-08-17 엘지전자 주식회사 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 수신 방법 및 포인트 클라우드 데이터 수신 장치

Also Published As

Publication number Publication date
CN111327897B (zh) 2022-01-14
JP2022513484A (ja) 2022-02-08
JP7271671B2 (ja) 2023-05-11
CN111327897A (zh) 2020-06-23
US11935269B2 (en) 2024-03-19
EP3890320A1 (en) 2021-10-06
US20210304444A1 (en) 2021-09-30
MX2021007046A (es) 2021-10-22
WO2020119725A1 (zh) 2020-06-18
EP3890320A4 (en) 2022-01-26

Similar Documents

Publication Publication Date Title
EP3772853B1 (en) Method and device for point cloud coding
CN111327902B (zh) 点云的编解码方法及装置
CN110662087B (zh) 点云编解码方法和编解码器
US11388442B2 (en) Point cloud encoding method, point cloud decoding method, encoder, and decoder
US20210201540A1 (en) Point cloud encoding method and encoder
WO2020151496A1 (zh) 点云的编解码方法及装置
US20220321912A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN111435551B (zh) 点云滤波方法、装置及存储介质
US20210304444A1 (en) Point Cloud Encoding Method and Encoder
WO2022121650A1 (zh) 点云属性的预测方法、编码器、解码器及存储介质
US20220007037A1 (en) Point cloud encoding method and apparatus, point cloud decoding method and apparatus, and storage medium
WO2020057338A1 (zh) 点云编码方法和编码器
WO2022257528A1 (zh) 点云属性的预测方法、装置及相关设备
US20240137558A1 (en) Vertex motion vector predictor coding for vertex mesh (v-mesh)
US20240236362A9 (en) Vertex motion vector predictor coding for vertex mesh (v-mesh)
CN112017292A (zh) 网格译码方法和装置
EP3079081A1 (en) Method and device for coding the coordinates of a set of points

Legal Events

Date Code Title Description
E902 Notification of reason for refusal