KR20230131878A - 포인트 클라우드 프로세싱을 위한 장치 및 방법 - Google Patents

포인트 클라우드 프로세싱을 위한 장치 및 방법 Download PDF

Info

Publication number
KR20230131878A
KR20230131878A KR1020237026519A KR20237026519A KR20230131878A KR 20230131878 A KR20230131878 A KR 20230131878A KR 1020237026519 A KR1020237026519 A KR 1020237026519A KR 20237026519 A KR20237026519 A KR 20237026519A KR 20230131878 A KR20230131878 A KR 20230131878A
Authority
KR
South Korea
Prior art keywords
current node
tree
block
node
point cloud
Prior art date
Application number
KR1020237026519A
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 KR20230131878A publication Critical patent/KR20230131878A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

포인트 클라우드 정보를 프로세싱하기 위한 방법, 장치 또는 시스템은 3D 포인트 클라우드 데이터의 무손실 압축/압축해제를 위해 옥트리들에 걸쳐 학습된 심층 엔트로피 모델을 수반할 수 있고, 여기서 자가 감독 압축/압축해제는 트리 구조화된 조건부 엔트로피 모델에 대해 동작하고 트리 구조로부터의 글로벌 토폴로지뿐만 아니라 로컬 이웃으로부터의 정보를 활용하는 적응적 엔트로피 코더를 수반한다.

Description

포인트 클라우드 프로세싱을 위한 장치 및 방법
본 개시내용은 포인트 클라우드 프로세싱을 수반한다.
포인트 클라우드는 자율 주행, 로봇 공학, AR/VR, 토목 공학, 컴퓨터 그래픽으로부터, 애니메이션/영화 산업까지 여러 비즈니스 영역들에 걸쳐 보편적인 데이터 포맷이다. 3D LIDAR 센서들이 자율 주행 자동차들에 배치되었고, Velodyne Velabit, Apple iPad Pro 2020 및 Intel RealSense LIDAR 카메라 L515로부터 적당한 LIDAR 센서들이 입수가능하다. 감지 기술들의 커다란 발전에 따라, 3D 포인트 클라우드 데이터는 더욱 더 실용적이 되고, 언급된 애플리케이션들에서 궁극적인 인에이블러(enabler)가 될 것으로 예상된다.
더욱이, 포인트 클라우드들은 다수의 이동 객체들을 포함하는 동일한 장면의 순차적 스캔을 표현할 수 있다. 그들은 정적 장면 또는 정적 객체들로부터 캡처된 정적 포인트 클라우드들에 비교되는 동적 포인트 클라우드들로 불린다. 동적 포인트 클라우드들은 전형적으로, 프레임들로 조직화되며, 이때 상이한 프레임들은 상이한 시간에 캡처된다.
자동차 산업 및 자율주행 자동차는 포인트 클라우드들이 사용될 수 있는 영역들이다. 자율주행 자동차들은 그들의 환경을 "탐색(probe)"하여 그들의 인접 환경의 현실에 기초하여 양호한 주행 결정들을 하게 할 수 있어야 한다. LIDAR들과 같은 전형적인 센서들은 퍼셉션 엔진(perception engine)에 의해 사용되는 (동적) 포인트 클라우드들을 생성한다. 이러한 포인트 클라우드들은 인간의 눈으로 볼 수 있도록 의도된 것이 아니고, 그들은 전형적으로 희소하고, 반드시 컬러화될 필요는 없으며, 높은 캡처 빈도로 인해 동적이다. 그들은 LIDAR에 의해 제공되는 반사율과 같은 다른 속성들을 가질 수 있는데, 그 이유는 이러한 속성이 감지된 객체의 재료를 나타내고 결정을 하는 데 도움을 줄 수 있기 때문이다.
가상 현실(VR) 및 몰입형 세계들이 많은 사람들에 의해, 즉, 단지 2D 평면 비디오가 아니라, 비디오의 미래로서 예견된다. 기본 아이디어는, 뷰어(viewer)가 뷰어 앞의 가상 세계만을 볼 수 있는 표준 TV와는 대조적으로, 뷰어를 주변 환경에 몰입시키는 것이다. 환경에서의 뷰어의 자유도에 따라 몰입감(immersivity)에는 몇 가지 그라데이션(gradation)들이 있다. 포인트 클라우드는 VR 세계들을 배포하기에 양호한 포맷 후보이다. 그들은 정적 또는 동적일 수 있고, 전형적으로는, 말하자면 한 번에 수백만 개의 포인트들을 넘지 않는, 평균 크기의 것들이다.
포인트 클라우드들은 또한, 문화 유산/건물들과 같은 다양한 목적들을 위해 사용될 수 있는데, 여기에서 조각상들 또는 건물들과 같은 객체들은, 그것을 보내거나 또는 방문하지 않고서 객체의 공간 구성을 공유하기 위해 3D로 스캐닝된다. 또한, 이는 객체가 파괴될 수 있는 경우, 예컨대, 지진에 의해 사원이 파괴되는 경우에 대비하여, 객체에 대한 지식을 보존하는 것을 보장하기 위한 방식이다. 그러한 포인트 클라우드들은 전형적으로, 정적이고, 컬러화되고 거대하다.
다른 사용 사례는 지형학 및 지도 제작에 있으며, 여기서 3D 표현들을 사용하면 맵들이 평면에 제한되지 않을 수 있고 부조 특징(relief feature)들을 포함할 수 있다. 구글 맵(Google Map)들은 3D 맵들의 일례이지만, 포인트 클라우드들 대신에 메시(mesh)들을 사용한다. 그럼에도 불구하고, 포인트 클라우드들은 3D 맵들에 적합한 데이터 포맷일 수 있고, 그러한 포인트 클라우드들은 전형적으로 정적이고, 컬러화되고, 큰 데이터 세트들이다.
포인트 클라우드들을 통한 세계 모델링 및 감지는, 위에서 논의된 것들과 같은 다양한 애플리케이션들을 가능하게 하거나 진보시키는 데 유용할 수 있는, 3D 세계에 관한 지식을 기계들이 그들 주위에서 얻을 수 있게 하기 위해 사용될 수 있다.
대체적으로, 일 실시예의 적어도 일례는 3D 포인트 클라우드 데이터의 무손실 압축을 위해, 트리 구조, 예컨대, 옥트리(octree)들에 걸쳐 학습된 심층(deep) 엔트로피 모델을 수반한다. 대체적으로, 일 실시예의 적어도 일례는 트리 구조화된 조건부 엔트로피 모델에 대해 동작하는 적응적 엔트로피 코더에 기초한 자가 감독(self-supervised) 압축을 수반할 수 있다. 글로벌 토폴로지뿐만 아니라 로컬 이웃으로부터의 정보가 트리 구조로부터 활용될 수 있다. 대체적으로, 일 실시예의 적어도 일례는 병렬 프로세싱을 용이하게 할 수 있고, 예컨대, 요구된 계산 및 시간 리소스들을 감소시킬 수 있는 블록 기반 압축 방식을 수반할 수 있다. 리소스 요건들의 그러한 감소는 조밀한 대규모 포인트 클라우드들을 프로세싱하는 것과 같은 애플리케이션들에 유용할 수 있다.
대체적으로, 일 실시예의 적어도 일례는 장치를 수반할 수 있으며, 장치는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 포인트 클라우드를 표현하는 압축된 데이터를 포함하는 인코딩된 비트스트림을 수신하도록 - 압축된 데이터는 트리 구조에 기초하여 압축됨 -; 및 인코딩된 비트스트림을 디코딩하도록 구성되고, 인코딩된 비트스트림을 디코딩하는 것은, 적어도 하나의 프로세서가 추가로, 트리의 적어도 하나의 노드에 대해, 트리 구조의 루트 노드로부터 시작하여: 트리 구조의 현재 노드에 대해 비트스트림으로부터 데이터를 획득하고; 현재 노드에 대한 디폴트 콘텍스트를 초기화하고; 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이용가능한 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보(feature information)에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 점유 심볼 분포에 기초하여 적응적 엔트로피 디코더를 사용하여 현재 노드에 대한 점유 심볼을 디코딩하도록; 및 트리 구조의 적어도 하나의 노드에 대한 디코딩된 점유 심볼에 기초하여 확장된 트리를 결정하도록 구성되는 것을 포함한다.
대체적으로, 일 실시예의 적어도 일례는 방법을 수반할 수 있으며, 방법은, 포인트 클라우드를 표현하는 압축된 데이터를 포함하는 인코딩된 비트스트림을 수신하는 단계 - 압축된 데이터는 트리 구조에 기초하여 압축됨 -; 및 인코딩된 비트스트림을 디코딩하는 단계를 포함하고, 디코딩하는 단계는, 트리의 적어도 하나의 노드에 대해, 트리의 루트 노드로부터 시작하여: 트리의 현재 노드에 대해 비트스트림으로부터 데이터를 획득하고; 현재 노드에 대한 디폴트 콘텍스트를 초기화하고; 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이용가능한 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 그리고 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 점유 심볼 분포에 기초하여 적응적 엔트로피 디코더를 사용하여 현재 노드에 대한 점유 심볼을 디코딩하는 단계; 및 트리 구조의 적어도 하나의 노드에 대한 디코딩된 점유 심볼에 기초하여 확장된 트리를 결정하는 단계를 포함한다.
대체적으로, 일 실시예의 적어도 일례는 장치를 수반할 수 있으며, 장치는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 포인트 클라우드를 표현하는 데이터를 압축하도록; 및 압축된 데이터를 포함하는 조합된 인코딩된 비트스트림을 제공하도록 구성되고, 데이터를 압축하도록 구성되는 적어도 하나의 프로세서는, 적어도 하나의 프로세서가 추가로, 포인트 클라우드를 표현하는 데이터에 포함된 원시 포인트 클라우드 기하구조 데이터를 트리 표현으로 변환하도록; 트리 내의 모든 노드들에 대한 콘텍스트를 초기화하도록; 트리의 적어도 하나의 노드에 대해, 트리 구조의 루트 노드로부터 시작하여: 트리 내의 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 예측된 점유 분포에 기초하여 적응적 엔트로피 인코더를 사용하여 현재 노드를 표현하는 인코딩된 비트스트림으로 현재 노드에 대한 점유 심볼을 인코딩하도록; 및 각각의 노드를 표현하는 인코딩된 비트스트림들을 조합하여 조합된 인코딩된 비트스트림을 형성하도록 - 조합된 인코딩된 비트스트림은 트리를 표현함 - 구성되는 것을 포함한다.
대체적으로, 일 실시예의 적어도 일례는 방법을 수반할 수 있으며, 방법은, 포인트 클라우드를 표현하는 데이터를 압축하는 단계; 및 압축된 데이터를 포함하는 조합된 인코딩된 비트스트림을 제공하는 단계를 포함하고, 압축하는 단계는, 포인트 클라우드를 표현하는 데이터에 포함된 원시 포인트 클라우드 기하구조 데이터를 트리 표현으로 변환하는 단계; 트리 내의 모든 노드들에 대한 콘텍스트를 초기화하는 단계; 트리의 적어도 하나의 노드에 대해, 트리 구조의 루트 노드로부터 시작하여: 트리 내의 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 예측된 점유 분포에 기초하여 적응적 엔트로피 인코더를 사용하여 현재 노드를 표현하는 인코딩된 비트스트림으로 현재 노드에 대한 점유 심볼을 인코딩하는 단계; 및 각각의 노드를 표현하는 인코딩된 비트스트림들을 조합하여 조합된 인코딩된 비트스트림을 형성하는 단계 - 조합된 인코딩된 비트스트림은 트리를 표현함 - 를 포함한다.
대체적으로, 일 실시예의 적어도 일례는 장치를 수반할 수 있으며, 장치는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 포인트 클라우드를 표현하는 압축된 데이터를 포함하는 인코딩된 비트스트림을 수신하도록 - 압축된 데이터는 블록 기반 트리 구조에 기초하여 압축됨 -; 및 인코딩된 비트스트림을 디코딩하도록 구성되고, 인코딩된 비트스트림을 디코딩하는 것은, 적어도 하나의 프로세서가 추가로, 인코딩된 비트스트림으로부터 파티셔닝 비트스트림 및 하나 이상의 블록 비트스트림들 둘 모두를 획득하도록; 파티셔닝 비트스트림을 디코딩하여 포인트 클라우드 데이터의 블록 구조를 표시하는 얕은 파티션(shallow partition)을 복구하도록 - 블록 구조 내의 블록들 각각은 트리 구조에 기초하여 압축된 포인트 클라우드를 표현하는 데이터의 일부분을 포함함 -; 각각의 블록에 대해, 블록 비트스트림을, 블록과 연관된 트리 구조의 적어도 하나의 노드에 대해, 트리 구조의 루트 노드로부터 시작하여: 트리 구조의 현재 노드에 대해 비트스트림으로부터 데이터를 획득하고; 현재 노드에 대한 디폴트 콘텍스트를 초기화하고; 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이용가능한 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 점유 심볼 분포에 기초하여 적응적 엔트로피 디코더를 사용하여 현재 노드에 대한 점유 심볼을 디코딩함으로써; 및 트리 구조의 적어도 하나의 노드에 대한 디코딩된 점유 심볼에 기초하여 블록에 대한 확장된 트리를 결정함으로써, 압축해제하도록; 및 각각의 블록에 대한 확장된 트리를 조합하여 포인트 클라우드에 대한 확장된 트리를 제공하도록 구성되는 것을 포함한다.
대체적으로, 일 실시예의 적어도 일례는 방법을 수반할 수 있으며, 방법은, 포인트 클라우드를 표현하는 압축된 데이터를 포함하는 인코딩된 비트스트림을 수신하는 단계 - 압축된 데이터는 블록 기반 트리 구조에 기초하여 압축됨 -; 및 인코딩된 비트스트림을 디코딩하는 단계를 포함하고, 디코딩하는 단계는, 인코딩된 비트스트림으로부터 파티셔닝 비트스트림 및 하나 이상의 블록 비트스트림들 둘 모두를 획득하는 단계; 파티셔닝 비트스트림을 디코딩하여 포인트 클라우드 데이터의 블록 구조를 표시하는 얕은 파티션을 복구하는 단계 - 블록들 각각은 트리 구조에 기초하여 압축된 포인트 클라우드를 표현하는 데이터의 일부분을 포함함 -; 각각의 블록에 대해, 블록 비트스트림을, 블록과 연관된 트리 구조의 적어도 하나의 노드에 대해, 트리 구조의 루트 노드로부터 시작하여: 트리 구조의 현재 노드에 대해 비트스트림으로부터 데이터를 획득하고; 현재 노드에 대한 디폴트 콘텍스트를 초기화하고; 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이용가능한 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 점유 심볼 분포에 기초하여 적응적 엔트로피 디코더를 사용하여 현재 노드에 대한 점유 심볼을 디코딩함으로써; 및 트리 구조의 적어도 하나의 노드에 대한 디코딩된 점유 심볼에 기초하여 블록에 대한 확장된 트리를 결정함으로써, 압축해제하는 단계; 및 각각의 블록에 대한 확장된 트리를 조합하여 포인트 클라우드에 대한 확장된 트리를 제공하는 단계를 포함한다.
대체적으로, 일 실시예의 적어도 일례는 장치를 수반할 수 있으며, 장치는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 포인트 클라우드를 표현하는 데이터를 압축하도록; 및 압축된 데이터를 포함하는 조합된 인코딩된 비트스트림을 제공하도록 구성되고, 데이터를 압축하도록 구성되는 적어도 하나의 프로세서는, 적어도 하나의 프로세서가 추가로, 포인트 클라우드를 표현하는 데이터에 포함된 원시 포인트 클라우드 기하구조 데이터를 얕은 트리 구조에 기초하여 데이터의 블록들로 변환하도록; 데이터의 각각의 블록에 대한 원점을 시프트하여 각각의 블록 내의 데이터의 원래 좌표들을 로컬 블록 좌표들로 시프트하도록; 각각의 블록을 별개의 트리 구조로 변환하도록; 각각의 블록 내의 모든 노드들에 대한 콘텍스트를 초기화하도록; 각각의 블록의 데이터를, 블록의 트리의 적어도 하나의 노드에 대해, 트리 구조의 루트 노드로부터 시작하여: 트리 내의 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 예측된 점유 분포에 기초하여 적응적 엔트로피 인코더를 사용하여 현재 노드를 표현하는 인코딩된 비트스트림으로 현재 노드에 대한 점유 심볼을 인코딩함으로써, 압축하도록; 블록의 각각의 노드를 표현하는 인코딩된 비트스트림들을 조합하여 블록의 트리 구조를 표현하는 블록에 대한 인코딩된 비트스트림을 형성하도록; 및 각각의 블록에 대한 인코딩된 비트스트림들 및 얕은 트리 구조에 관한 정보를 조합하여 조합된 인코딩된 비트 스트림을 형성하도록 구성되는 것을 포함한다.
대체적으로, 일 실시예의 적어도 일례는 방법을 수반할 수 있으며, 방법은, 포인트 클라우드를 표현하는 데이터를 압축하는 단계; 및 압축된 데이터를 포함하는 조합된 인코딩된 비트스트림을 제공하는 단계를 포함하고, 데이터를 압축하는 단계는, 포인트 클라우드를 표현하는 데이터에 포함된 원시 포인트 클라우드 기하구조 데이터를 얕은 트리 구조에 기초하여 데이터의 블록들로 변환하는 단계; 데이터의 각각의 블록에 대한 원점을 시프트하여 각각의 블록 내의 데이터의 원래 좌표들을 로컬 블록 좌표들로 시프트하는 단계; 각각의 블록을 별개의 트리 구조로 변환하는 단계;
각각의 블록 내의 모든 노드들에 대한 콘텍스트를 초기화하는 단계; 각각의 블록의 데이터를, 블록의 트리의 적어도 하나의 노드에 대해, 트리 구조의 루트 노드로부터 시작하여: 트리 내의 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 예측된 점유 분포에 기초하여 적응적 엔트로피 인코더를 사용하여 현재 노드를 표현하는 인코딩된 비트스트림으로 현재 노드에 대한 점유 심볼을 인코딩함으로써, 압축하는 단계; 블록의 트리의 각각의 노드를 표현하는 인코딩된 비트스트림들을 조합하여 블록의 트리 구조를 표현하는 블록에 대한 인코딩된 비트스트림을 형성하는 단계; 및 각각의 블록에 대한 인코딩된 비트스트림들 및 얕은 트리 구조에 관한 정보를 조합하여 인코딩된 조합된 비트 스트림을 형성하는 단계를 포함한다.
대체적으로, 일 실시예의 다른 예는 압축된 포인트 클라우드 정보를 포함하도록 포맷화된 비트스트림 또는 신호를 수반할 수 있으며, 여기서 포인트 클라우드 정보는 본 개시내용에 따른 방법들의 실시예들의 예들 중 임의의 하나 이상에 기초하여 프로세싱함으로써 인코딩된다.
대체적으로, 실시예들의 하나 이상의 다른 예들은 또한, 본 명세서에 기술된 방법들 또는 장치에 따라 비디오 데이터와 같은 픽처 정보를 인코딩 또는 디코딩하기 위한 명령어들이 저장된 컴퓨터 판독가능 저장 매체, 예컨대, 비휘발성 컴퓨터 판독가능 저장 매체를 제공할 수 있다. 하나 이상의 실시예들은 또한, 본 명세서에 기술된 방법들 또는 장치에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체를 제공할 수 있다. 하나 이상의 실시예들은 또한, 본 명세서에 기술된 방법들 또는 장치에 따라 생성된 비트스트림 또는 신호를 송신 또는 수신하기 위한 방법들 및 장치를 제공할 수 있다.
상기는 본 개시내용의 일부 태양들에 대한 기본적인 이해를 제공하기 위해 본 발명 주제의 단순화된 요약을 제시한다. 이러한 발명의 내용은 본 발명 주제의 광범위한 개요가 아니다. 이는 실시예들의 핵심/중요한 요소들을 식별하거나 주제의 범주를 기술하는 것으로 의도되지 않는다. 그것의 유일한 목적은, 하기에 제공되는 더 상세한 설명에 대한 서두로서 단순화된 형태로 주제의 일부 개념들을 제시하는 것이다.
본 개시내용은 첨부 도면들과 함께 하기의 상세한 설명을 고려함으로써 더 잘 이해될 수 있다.
도 1은 본 개시내용에 따른 트리 엔트로피 인코더의 일 실시예의 일례를 예시한다.
도 2는 본 개시내용에 따른 트리 엔트로피 디코더의 일 실시예의 일례를 예시한다.
도 3은 본 개시내용에 따른 학습 기반 심층 엔트로피 실시예의 일례를 예시한다.
도 4는 본 개시내용에 따른 인코딩의 맥락에서 제1 실시예의 일례를 블록도 형태로 예시한다.
도 5는 본 개시내용에 따른 인코딩의 맥락에서 일 실시예의 다른 예를 블록도 형태로 예시한다.
도 6은 본 개시내용에 따른 인코딩의 맥락에서 일 실시예의 다른 예를 블록도 형태로 예시한다.
도 7은 본 개시내용에 따른 인코딩의 맥락에서 일 실시예의 다른 예를 블록도 형태로 예시한다.
도 8은 본 개시내용에 따른 인코딩의 맥락에서 일 실시예의 다른 예를 블록도 형태로 예시한다.
도 9는 본 개시내용에 따른 인코딩의 맥락에서 일 실시예의 다른 예를 블록도 형태로 예시한다.
도 10은 본 개시내용에 따른 디코딩의 맥락에서 일 실시예의 일례를 블록도 형태로 예시한다.
도 11은 본 개시내용에 따른 하나 이상의 태양들, 실시예들, 또는 특징들을 구현하기에 적합한 장치 또는 디바이스 또는 시스템의 일 실시예의 일례를 블록도 형태로 예시한다.
도 12는 본 개시내용에 따른 일 실시예의 다른 예를 흐름도 형태로 예시한다.
도 13은 본 개시내용에 따른 일 실시예의 다른 예를 흐름도 형태로 예시한다.
도면은 본 개시내용에 따른 다양한 태양들, 특징들 및 실시예들의 예들을 예시하기 위한 목적을 위한 것이고 반드시 유일한 가능한 구성들인 것은 아님을 이해하여야 한다. 다양한 도면들 전체에 걸쳐, 유사한 참조 지정자들은 동일한 또는 유사한 특징부들을 지칭한다.
3D 포인트 클라우드 데이터는 객체들 또는 장면들의 표면들 상의 본질적으로 별개의 샘플들이다. 포인트 샘플들로 실제 세계를 완전히 표현하기 위해, 실제로, 매우 많은 수의 포인트들을 요구할 수 있다. 예를 들어, 전형적인 VR 몰입형 장면은 수백만 개의 포인트들을 포함하는 한편, 포인트 클라우드들은 전형적으로 수억 개의 포인트들을 포함한다. 따라서, 그러한 대규모 포인트 클라우드들의 프로세싱은, 특히, 제한된 계산 능력을 갖는 소비자 디바이스들, 예컨대, 스마트폰, 태블릿, 및 자동차 내비게이션 시스템의 경우, 계산 비용이 많이 든다.
포인트 클라우드 데이터는 또한, 예컨대, 5G 네트워크를 통한 커넥티드 자동차들, 및 몰입형 통신(VR/AR) 간에, 네트워크 트래픽의 많은 부분을 소비할 수 있다. 포인트 클라우드 이해 및 통신은 효율적인 표현 포맷들을 초래할 수 있다. 원시 포인트 클라우드 데이터의 적절한 관리 또는 처리, 예컨대, 데이터의 적절한 조직화 및 프로세싱은, 세계 모델링 및 감지와 같은 애플리케이션들을 가능하게 하거나 용이하게 하는 것을 포함하는 목적들에 유용할 수 있다.
포인트 클라우드 상의 임의의 종류의 프로세싱 또는 추론을 위한 첫 번째 단계는 효율적인 저장 방법론들을 갖는 것이다. 입력 포인트 클라우드를 적당한 계산 비용으로 저장하고 프로세싱하기 위해, 하나의 솔루션은 그것을 먼저 다운샘플링하는 것이며, 여기서 다운샘플링된 포인트 클라우드는 훨씬 더 적은 포인트들을 가지면서 입력 포인트 클라우드의 기하구조를 요약한다. 다운샘플링된 포인트 클라우드는 이어서, 추가 소비를 위해 후속 기계 태스크에 공급된다. 그러나, 저장 공간의 추가 감소는, 무손실 압축을 위해 엔트로피 코딩 기법들을 통해 (원래 또는 다운샘플링된) 원시 포인트 클라우드 데이터를 비트스트림으로 변환함으로써 달성될 수 있다. 더 양호한 엔트로피 모델들은 더 작은 비트스트림을 초래하고, 따라서 더 효율적인 압축을 초래한다. 추가적으로, 엔트로피 모델들은 또한, 엔트로피 인코더가 압축하는 동안 태스크 특정 정보를 유지할 수 있게 하는 다운스트림 태스크들과 페어링될 수 있다.
감지 양식들로부터의 원시 데이터는 효율적으로 저장되어야 하는 수십만 개의 포인트들을 포함하는 포인트 클라우드 데이터를 생성한다. 대체적으로, 일 실시예의 적어도 일례는 옥트리들에 걸쳐 학습된 심층 엔트로피 모델을 통해 포인트 클라우드 압축(point cloud compression, PCC)에 기초하여 효율적인 저장을 어드레싱하는 것을 수반할 수 있으며, 이는 트리의 깊이 또는 입력 포인트 클라우드의 양자화 레벨을 변화시킴으로써 세부사항들의 레벨을 통제하여 높은 레벨의 압축 성능을 제공한다.
PCC는 포인트 클라우드 내에 포함된 객체(들)의 표면 매니폴드를 간결하게 표현하는 문제를 수반할 수 있다. 다양한 접근법들이 가능하다. 예를 들어, 입력 도메인에서의 PCC는 기저 표면 매니폴드를 표현하는 신규한 키 포인트들을 선택하거나 생성함으로써 원시 포인트 클라우드를 다운샘플링하는 것을 수반한다. 그러나, 입력 도메인에서의 PCC는, 입력 도메인에 유지되도록 제한되므로 낮은 압축 레이트들에만 적합하며, 추가 다운스트림 프로세싱을 위해 포인트 클라우드들을 요약하는 데 주로 사용된다. 키 포인트들 대신에, 프리미티브 도메인에서의 PCC는 기저 객체 매니폴드를 밀접하게 따르도록 생성되는 프리미티브들(규칙적인 기하학적 2D/3D 형상들)을 사용한다. 변환 도메인에서의 PCC는, 원시 포인트 클라우드 데이터가 먼저 학습 기반 또는 고전적 방법들을 통해 다른 도메인으로 변환되고, 이어서 새로운 도메인에서의 이러한 표현이 더 효율적인 압축을 획득하기 위해 압축될 때의 경우를 수반한다. 대체적으로, 본 개시내용에 따른 일 실시예의 적어도 일례는, 원시 포인트 클라우드 데이터 또는 포인트 클라우드의 다른 표현 중 어느 하나가 적응적 학습 기반 또는 고전적 방법들 중 어느 하나를 통해 엔트로피 코딩되는 엔트로피 코딩을 통한 PCC를 수반한다.
대체적으로, 본 개시내용에 따른 일 실시예의 적어도 일례는 엔트로피 코딩을 통해 포인트 클라우드 정보를 프로세싱하는 것을 수반할 수 있고, 일 실시예의 적어도 일례는 학습된 계층적 엔트로피 모델들을 수반할 수 있다. 현재 계층적 레벨에서 인접한 이웃 정보를 활용하는 학습된 계층적 엔트로피 모델에 더하여, 일 실시예의 적어도 일례는 상위 계층적 레벨에서 이용가능한 글로벌 정보를 사용하는 것을 수반할 수 있다. 추가의 세부사항들이 후술된다.
깊이 센서들로부터 획득된 전형적인 원시 3D 포인트 클라우드들은 많은 수의 포인트들을 포함한다. 대체적으로, 본 명세서에 기술된 일 실시예의 적어도 일례는 포인트 클라우드들과 연관된 매우 큰 데이터 세트일 수 있는 것을 효율적으로 저장하고 송신하는 것을 수반할 수 있다. 본 명세서에 기술된 적어도 하나의 실시예는, 후속 기계 태스크들(예컨대, 분류, 세그먼트화 등)을 위한 것뿐만 아니라 독립형 방법으로서 포인트 압축을 수행하는 것을 수반할 수 있다. 대체적으로, 일 실시예의 적어도 일례는 포인트 클라우드 기하구조 데이터뿐만 아니라 무손실 압축을 수반할 수 있다. 색상 또는 반사율과 같은 다른 특징들에 관한 데이터는 또한, 본 명세서에 기술된 실시예들의 하나 이상의 예들에 기초하여 프로세싱될 수 있다. 예를 들어, 색상 또는 반사율과 같은 다른 특징들은 기하구조 좌표들과 같은 데이터와 유사한 것으로 가정될 수 있고, 트리 구조를 따라 유사한 코어스 투 파인(coarse to fine)(계층적) 표현을 나타낼 수 있다. 따라서, 엔트로피 코더를 수반하는 본 명세서에 기술된 실시예들의 하나 이상의 예들이 그러한 특징들의 분포를 예측하고 그에 따라 그들의 코딩 성능을 부스팅하기 위해 적용될 수 있다. 예를 들어, 일 실시예의 적어도 일례는 기하구조를 위한 하나의 빌드(build)와는 별개의 모델일 수 있는 색상 또는 반사율을 위해 구축된 심층 엔트로피 모델을 수반할 수 있다. 일 실시예의 적어도 하나의 다른 예에서, 심층 엔트로피 모델이 공유될 수 있다. 대체적으로, 본 명세서에 기술된 실시예들의 하나 이상의 예들은 학습 기반 심층 엔트로피 모델들을 수반할 수 있다.
대체적으로, 인코딩 방법의 일 실시예의 적어도 일례가 도 1에 예시되어 있고, 다음과 같이 기술될 수 있다. 포인트 클라우드 인코딩 시스템에 대해, N개의 포인트들을 갖는 입력 포인트 클라우드 X가 먼저 프로세싱/변환될 수 있다. 예를 들어, 그것은 소정 정밀도까지 양자화되어, 그 결과 M개의 포인트들이 생성될 수 있다. 이러한 M개의 포인트들은 이어서, 소정의 특정된 트리 깊이까지 트리 표현으로 추가로 변환된다. 다양한 트리 표현들 또는 구조들이 사용될 수 있다. 예를 들어, 포인트들은 옥트리 표현, 또는 kd-트리 표현, 또는 쿼드트리 플러스 이진 트리(quadtree plus binary tree, QTBT) 표현, 또는 예측 트리 표현 등으로 변환될 수 있다.
옥트리 표현은 3D 공간에서 포지션들을 분할하고 표현하기 위한 간단한 방식이며, 여기서 전체 포인트 클라우드를 포함하는 큐브는 8개의 서브큐브들로 세분된다. 이어서, 점유 코드 또는 점유 심볼로 불리는 8-비트 코드가 1-비트 값을 각각의 서브큐브와 연관시킴으로써 생성된다. 그것은 서브큐브가 포인트들을 포함하는지(즉, 값 1을 가짐) 또는 포함하지 않는지(즉, 값 0을 가짐)를 표시하는 것이다. 이러한 분할 프로세스는 트리를 형성하기 위해 재귀적으로 수행되며, 여기서 하나 초과의 포인트를 갖는 서브큐브들만이 추가로 분할된다. 옥트리 표현과 유사하게, QTBT는 또한 3D 공간을 재귀적으로 분할하지만 쿼드트리 또는 이진 트리를 사용하여 더 유연한 분할을 허용한다. 그것은 희소 분포된 포인트 클라우드들을 표현하는 데 특히 유용하다. 3D 공간을 재귀적으로 분할하는 옥트리 및 QTBT와는 달리, 예측 트리는 3D 포인트 클라우드 내의 3D 포인트들 간의 예측 구조를 정의한다. 예측 트리를 사용한 기하구조 코딩은, 예를 들어, PCC에서 LiDAR 시퀀스와 같은 콘텐츠들에 유익할 수 있다. 이러한 변환 단계에 의해, 원시 포인트 클라우드 기하구조의 압축이 트리 표현의 압축이 된다는 것에 주목한다.
설명의 용이함을 위해, 하기의 설명은 주로 옥트리 표현을 참조할 것이다. 그러나, 옥트리 표현의 맥락에서 본 명세서에 기술된 실시예들, 특징들, 원리들 등의 예들이 또한 다른 유형들의 트리 표현들에 적용가능함이 당업자에게 용이하게 명백할 것이다. 원래 포인트 클라우드가 트리 구조, 예컨대, 옥트리로 변환되는 경우, 일 실시예의 적어도 일례는 트리 내의 모든 노드들에 대한 점유 심볼 분포들을 예측하기 위해 심층 학습 기반 조건부 트리 구조화된 엔트로피 모델을 수반한다. 이러한 조건부 엔트로피 모델은 노드별 방식으로 동작하고, 그의 콘텍스트 및 트리 내의 이웃 노드들로부터의 특징들에 따라 노드의 점유 심볼 분포를 제공한다. 트리 구조는 깊이 우선(depth-first) 또는 너비 우선(breadth-first) 순회를 사용하여 횡단될 수 있다.
노드의 점유 심볼은 그의 8개의 자식 노드들 각각의 이진 점유를 지칭하고, 8-비트 이진 자식 점유들로부터 8-비트 정수로서 표현될 수 있다. 주어진 노드의 콘텍스트는 예를 들어: 예컨대, 8-비트 정수로서의, 부모 노드의 점유율(occupancy), 주어진 노드의 옥트리 깊이/레벨, 주어진 노드의 옥탄트(octant), 및 현재 노드의 공간적 포지션(spatial position)과 같은 정보를 포함한다. 이어서, 조건부 심볼 분포는 각각의 노드 점유를 압축하여 비트스트림을 생성하는 무손실 적응적 엔트로피 코더에 공급된다.
대체적으로, 디코딩 방법 또는 장치의 적어도 일례가 도 2에 예시되어 있다. 도 2에서, 포인트 클라우드의 압축된 비트스트림이 주어지면, 디코딩은 먼저 루트 노드에 대한 디폴트 콘텍스트를 생성함으로써 시작된다. 이어서, 심층 엔트로피 모델은 루트 노드의 디폴트 콘텍스트를 사용하여 점유 심볼 분포를 생성한다. 적응적 엔트로피 디코더는 이러한 분포를 루트 노드에 대응하는 비트스트림의 부분과 함께 사용하여 루트 점유 심볼을 디코딩한다. 루트 노드의 모든 자식의 콘텍스트는 이제 초기화될 수 있고, 동일한 절차가 전체 트리 구조를 확장하고 디코딩하기 위해 여러 번 반복될 수 있다. 전체 트리가 디코딩된 후에, 그것은 재구성된 포인트 클라우드를 획득하기 위해 다시 변환된다.
대체적으로, 일 실시예의 적어도 일례는 점유 심볼 분포를 예측하기 위해 심층 엔트로피 모델을 적용하는 것을 수반할 수 있다. 그러나, 부모 노드들로부터의 로컬 정보로 분포를 예측하는 것에 더하여, 일 실시예의 적어도 일례는 이용가능한 더 많은 글로벌 정보를 활용하는 것을 수반할 수 있다. 예를 들어, 현재 노드의 점유 심볼 분포를 예측할 때, 하나 이상의 형제(sibling) 노드들로부터 뿐만 아니라 하나 이상의 조상 노드들로부터의 정보가 활용될 수 있다.
대체적으로, 본 개시내용에 따른 심층 엔트로피 모델의 적어도 일례가 도 3에 예시되어 있다. 도 3의 예에서, 옥트리 구조를 프로세싱하는 것은 심층 조건부 트리 구조화된 엔트로피 모델을 학습하는 것에 기초할 수 있다. 이러한 조건부 엔트로피 모델은 노드별 방식으로 동작한다. 동작은 직렬일 수 있거나 또는 동작은 병렬화될 수 있다. 동작은 하나 이상의 형제 노드들 및 하나 이상의 조상 노드들을 포함하여, 그의 이웃 노드들 및 그의 콘텍스트에 따라 노드의 점유 심볼에 대한 확률 분포를 예측한다. 이어서, 이러한 조건부 점유 심볼 분포는 트리 구조를 압축하거나 압축해제하기 위해 적응적 엔트로피 인코더 또는 디코더 중 어느 하나에 의해 추가로 사용된다.
대체적으로, 일 실시예의 적어도 일례는 수많은 개별 포인트 클라우드들을 포함하는 포인트 클라우드 데이터세트의 옥트리 표현을 사용하여 심층 엔트로피 모델을 훈련시키는 것을 수반한다. 이어서, 모델은 입력으로서 각각의 노드의 콘텍스트 및 그의 이웃들로부터의 특징들을 취하고, 조건부 점유 심볼 분포를 출력한다. 이어서, i-번째 노드에 대한 크로스 엔트로피 손실은
로서 계산된다. 여기서 는 i-번째 노드의 원-핫(one-hot) 인코딩된 실측 자료 심볼들의 벡터이고, 는 i-번째 노드에 대한 심볼들의 예측된 분포의 벡터를 표현한다. 네트워크는 자가 감독 방식으로 모든 옥트리들에서의 모든 노드들에 걸쳐 이러한 손실을 최소화하도록 훈련된다.
포인트 클라우드 압축은, 하나의 입력 정밀도를 통해서만 훈련하고 그 훈련된 모델을 사용하여 수개의 상이한 입력 정밀도들로 포인트 클라우드들을 압축하는 것에 기초하여 발생할 수 있다. 그러나, 이러한 절차는 차선일 수 있고, 훈련 단계 동안 직면하지 않은 입력 정밀도들에 대한 불량한 압축 성능을 초래할 수 있다. 대체적으로, 일 실시예의 적어도 일례는 입력의 여러 양자화된 버전들뿐만 아니라 설정된 최고 기하구조 정밀도로 모델을 훈련시키는 것에 기초하여 여러 레벨들의 정밀도로 잘 수행하는 것을 가능하게 한다. 이는 더 강건한 훈련을 초래하고, 모델에 대한 더 양호한 일반화를 제공한다.
포인트 클라우드의 정밀도에 더하여, 또한 중요한 것은 포인트 클라우드 내의 포인트들의 분포이다. 상이한 획득 양식들이 원시 포인트 클라우드에서 포인트들의 상당히 상이한 분포들을 초래함에 따라, 일 실시예의 적어도 일례는 높은 압축 레이트들이 요구될 때, 하나의 종류의 데이터, 예컨대, LiDAR, 또는 VR/AR 데이터에 대해 특별히 모델을 훈련시키는 것을 수반할 수 있다. 그러나, 여러 상이한 종류들의 데이터세트들에 걸쳐 평균적으로 잘 수행하는 보다 일반적인 모델이 요구되는 경우, 상이한 유형들의 데이터세트들이 하나로 조합될 수 있고, 이어서 모델은 이러한 조합된 데이터세트에 대해 훈련될 수 있다. 대체적으로, 일 실시예의 적어도 일례는 타깃 애플리케이션 및 타깃 압축 성능에 적응가능한 훈련을 수반한다.
다음은 인코더에서 심층 엔트로피 코딩 모듈을 수반하는 실시예들의 다양한 예들을 기술한다. 그러나, 기술된 실시예들, 예컨대, 심층 엔트로피 모듈의 기술된 실시예들은 대응하는 디코더에서 또한 적용될 수 있다.
대체적으로, 적어도 하나의 실시예는 옥트리-구조화된 학습된 조건부 엔트로피 모델을 수반할 수 있다. 예를 들어, 적어도 하나의 실시예는 모든 형제 노드들의 점유 심볼들을 동시에 예측하기 위해 형제 노드들의 심층 특징들을 통합하는 조건부 엔트로피 모델을 수반할 수 있다. 즉, 형제들로부터의 이웃 정보가 완전히 활용될 수 있다. 더 상세히, 주어진 노드i의 콘텍스트를 벡터 로서 표현된다고 하자. 또한, 여러 연접된 다층 퍼셉트론(Multilayer Perceptron, MLP) 모듈들을 포함하는 심층 신경 네트워크를 고려하며, 여기서 k-번째 MLP 모듈은 MLP(k)로 표시된다. 이어서, 특정 노드의 초기 심층 특징은 로서 획득된다. 병렬로 획득될 수 있는 각각의 노드에 대한 이러한 초기 특징으로 시작하여, 후속 심층 특징들이 (또한 병렬로) 로서 획득될 수 있으며, 여기서 는 MLP(k-1)로부터 주어진 i-번째 노드의 부모 노드의 심층 특징이다. 여기서, 각각의 MLP(k)가 모든 노드들 사이에 공유됨에 주목해야 한다. MLP(K)로 표시된 최종 MLP는, 로서 모든 형제 노드들의 심층 특징들로부터 구성되는 추가적인 심층 특징을 입력으로서 취하므로 특별하며, 여기서 MLP(sib)는 먼저 i-번째 노드(그 자신을 포함함)의 각각의 형제 노드의 심층 특징들에 대해 개별적으로 동작하고, 이어서 풀링 함수(예컨대, max(.))가 각각의 차원의 생성된 특징들에 대해 동작하여 입력 특징들과 동일한 길이의 전체 조합된 심층 특징을 생성한다. 이러한 방식으로, i-번째 노드의 최종 심층 특징은 로서 획득된다. 이어서, 이러한 최종 특징은 선형 층 그리고 이어서 소프트맥스를 통과하여, 256개의 가능한 8-비트 점유 심볼들 각각에 대한 256-차원 벡터의 확률들을 생성한다.
심층 엔트로피 코딩 배열의 일 실시예의 일례가 인코더에서 도 4에 도시되어 있다. 도면에서, "특징 추출기"는 MLP(0)을 지칭하고, "형제 특징 추출기"는 MLP(sib)를 나타내는 한편, 나머지 MLP들은 "특징 집계기(Feature Aggregator)"에서 함께 번들링된다. 일례로서, 도 4에 예시된 실시예는 다음과 같은 아키텍처에 기초할 수 있다. 첫 번째 MLP는 128-차원 숨겨진 특징들을 갖는 5 층 깊이이다. 모든 숨겨진 MLP들은 3개의 잔차 층들 및 동일한 128-차원 숨겨진 특징들을 포함한다. 추가적인 MLP(sib)는 128-차원 숨겨진 특징을 또한 갖는 단일 층 MLP이다. 최종 선형 층은 256-차원 출력, 및 뒤이어 소프트맥스를 생성하여 256-차원 확률 벡터를 생성한다. 모든 MLP들에서의 층들은 정규화 없이, 선형 층들, 및 뒤이어 ReLU이다.
본 개시내용에 따른 심층 엔트로피 모델의 하나 이상의 예들이 노드별로 동작하고 조상 노드들로부터의 심층 특징들을 사용하지만, 인코딩 프로세스 동안, 각각의 MLP는 모든 노드들에 대해 병렬로 실행될 수 있다. 이는 조상들로부터 사용되는 심층 특징들이 이전의 MLP 모듈의 출력이기 때문이다. 그러나, 디코딩 동안 심층 엔트로피 모델을 사용하는 동안, 조상 노드들은 옥트리를 아래로 이동하기 전에 디코딩되어야 한다. 따라서, 디코딩은 형제 노드들에 대해서만 병렬로 동작할 수 있다. 즉, 본 개시내용의 실시예들의 하나 이상의 예들은 인코딩 동안 모든 노드들에 걸쳐 병렬로 동작할 수 있고, 디코딩 동안, 형제 노드들에 대해서만 병렬로 동작할 수 있다.
심층 엔트로피 코딩 배열의 일 실시예의 다른 예가 인코더의 맥락에서 도 5에 도시되어 있다. 도 5의 예는 옥트리-구조화된 학습된 조건부 엔트로피 모델에 기초한 일 실시예를 예시한다. 더 구체적으로, 도 5는 조상 노드들, 예컨대, 부모 노드들의 심층 특징들이 사용되는 방식으로 도 4의 실시예와는 상이한 일 실시예의 일례를 예시한다. 단지 부모 노드의 심층 특징을 사용하는 대신, 도 5의 예에서, MLP(sib)(모든 형제들의 특징들을 수집하는 데 이전에 사용됨)는 동일한 조부모 노드 하의 부모 노드 및 그의 형제들 모두의 심층 특징을 수집한다. 이는, MLP가 공유되고 있음에 따라 요구되는 추가적인 파라미터들 없이도 부모 레벨로부터 더 많은 정보를 포함하는 더 풍부한 심층 특징들을 생성한다.
심층 엔트로피 코딩 배열의 일 실시예의 다른 예가 인코더의 맥락에서 도 6에 도시되어 있다. 도 6의 예는 옥트리-구조화된 학습된 조건부 엔트로피 모델에 기초한 일 실시예의 다른 예를 예시한다. 도 6의 예에서, 훨씬 더 풍부한 특징들이 예컨대, 단지 부모의 형제들 대신에 부모 레벨과 같은 조상 레벨에 있는 모든 노드들로부터의 특징들을 활용함으로써, 조상들로부터 추출될 수 있다. 더 높은 레벨에 있는 모든 노드들로부터의 특징들을 활용하면, 포인트 클라우드를 포함하는 객체의 코어스 글로벌 토폴로지를 표현하는 특징 벡터가 생성된다. 더 높은 레벨에 있는 모든 노드들로부터의 특징들의 이러한 집계는 본 명세서에서 "글로벌 특징(global feature)"으로 지칭된다.
심층 엔트로피 코딩 배열의 일 실시예의 다른 예가 인코더의 맥락에서 도 7에 도시되어 있다. 도 7의 예는 옥트리-구조화된 학습된 조건부 엔트로피 모델에 기초한 일 실시예의 다른 예를 예시한다. 도 7의 예에서, 특정 노드의 모든 형제들로부터의 심층 특징들을 수집하는 MLP 및 부모 레벨에 있는 모든 노드들로부터의 특징들을 수집하는 MLP는 상이한 스케일들로 동작한다. 하나는 이웃 내의 로컬 정보를 프로세싱하고, 다른 하나는 글로벌 매니폴드 형상으로부터 정보를 추출한다. 스케일들의 이러한 차이로 인해, 별개의 MLP(pa)가 부모 레벨에서 특징들을 수집하기 위해 도입된다. 도 7에서, MLP(pa) 는 "글로벌 특징 추출기"로 지칭된다.
심층 엔트로피 코딩 배열의 일 실시예의 다른 예가 인코더의 맥락에서 도 8에 도시되어 있다. 도 8의 예는 옥트리-구조화된 학습된 조건부 엔트로피 모델에 기초한 일 실시예의 다른 예를 예시한다. 그러나, 도 8의 예는 복잡성-감소된 배열을 제공한다. 실시예들의 하나 이상의 선행 예들, 예컨대, 도 6 및 도 7에 예시된 실시예들의 예들은 계산에서 인접한 부모 레벨로부터의 모든 노드들을 수반하는 것에 기초하여 포인트 클라우드의 글로벌 특징들을 획득하는 것을 수반할 수 있다. 이는 트리 구조에서 더 깊이 들어갈 때 높은 계산 비용으로 이어질 수 있다. 반면에, 하나의 층을 더 깊이 들어감으로써 글로벌 특징들을 생성하는 데 있어서의 추가 이점은 소정의 트리 층, 예컨대, 층 k에 도달한 후에 다소 제한될 수 있다. 따라서, 도 8의 예는 층 k를 사용하여 k+1보다 더 깊은 모든 층들에 대한 글로벌 특징들을 생성하는 것을 제공한다. 일례로서, 총 깊이가 6과 동일할 때 k는 4로 설정되고; 총 깊이가 12와 동일할 때 k는 10으로 설정된다. 층 k의 결정 또는 식별은 예를 들어, 계산 리소스들과 같은 리소스들의 이용가능성 및/또는 특정 애플리케이션 및/또는 비용-편익 분석에 기초할 수 있다.
심층 엔트로피 코딩 배열의 일 실시예의 다른 예는 옥트리 이외의 트리 표현 또는 구조 또는 배열에 기초하여, 본 명세서에 기술된 것들 중 임의의 것과 같은 실시예, 예컨대, 도 4 내지 도 8의 실시예들의 예들을 수반할 수 있다. 예를 들어, 원시 포인트 클라우드 데이터를 옥트리 구조로 변환하기보다는, 일 실시예의 적어도 일례는 kd-트리, 또는 쿼드트리 플러스 이진 트리(QTBT), 또는 예측 트리 등과 같은 다른 트리 표현들 또는 구조들의 사용을 수반할 수 있다.
심층 엔트로피 코딩 배열의 일 실시예의 다른 예가 인코더의 맥락에서 도 9에 그리고 디코더의 맥락에서 도 10에 예시되어 있다. 본 명세서에 기술된 실시예들의 하나 이상의 다른 예들은 전체 포인트 클라우드를 단일 옥트리 표현으로 변환하고 이어서 이러한 옥트리를 무손실로 압축하는 것을 수반할 수 있다. 그러나, 이러한 절차는 포인트 클라우드에서의 포인트들의 밀도 및 기하구조 데이터 정밀도가 증가함에 따라 점점 더 시간 소모적이고 계산 비용이 많이 들게 된다. 또한, 원시 데이터를 옥트리 표현으로 변환하는 프로세스는 시간도 더 오래 걸린다. 이러한 문제를 다루기 위한 접근법의 일례로서, 도 9에 예시된 일 실시예의 예는 원시 포인트 클라우드를 얕은 트리 구조, 예컨대, 옥트리를 통해 블록들로 변환하여, 각각의 블록 내의 데이터 포인트들을 (각각의 블록에 대한 원점을 시프트함으로써) 원래 좌표들로부터 로컬 블록 좌표들로 가져오고, 최종적으로 각각의 블록 데이터를 별개의 트리 구조, 예컨대, 옥트리로 변환하는 것을 수반한다. 이러한 절차를 사용하면, 각각의 블록은 각각의 블록에 대해 더 빨리 그리고 병렬로 트리 구조, 예컨대, 옥트리로 변환될 수 있는 포인트 클라우드의 더 작은 부분을 포함한다. 무손실 압축 및 압축해제 후에, 각각의 블록으로부터의 복구된 포인트들은 조합되고 원래 좌표들로 되돌아간다. 블록 파티셔닝에 관한 얕은 트리 구조, 예컨대 옥트리로부터의 보조 정보는 또한, 균일한 엔트로피 코딩을 사용하여 압축되고 비트스트림에 추가된다. 도 10은 블록 기반 실시예의 기술된 예에 기초한 디코딩 배열의 일례를 예시한다.
도 12 및 도 13은 본 명세서에 기술된 하나 이상의 실시예들의 하나 이상의 태양들 또는 특징들에 따른 실시예들의 다른 예들을 예시한다. 도 12에 예시된 일 실시예의 예에서, 1200에서의 동작은 포인트 클라우드를 표현하는 데이터를 수신하고, 데이터를 압축하고, 1260에서 조합되어 포인트 클라우드를 표현하는 압축된 데이터를 포함하는 인코딩된 비트스트림을 생성하는 인코딩된 비트스트림들을 제공한다. 1200에서의 동작에 관하여 더 상세하게는, 1210에서, 원시 포인트 클라우드 기하구조 데이터가 트리 표현, 예컨대, 옥트리 구조로 변환된다. 1220에서의 동작은 트리 내의 모든 노드들에 대한 콘텍스트를 초기화한다. 1230 내지 1250에서의 동작들은 루트 노드로 시작하여 트리 구조 내의 모든 노드에 대해 반복적으로 반복된다. 1230에서, 현재 노드에 대한 점유 심볼 분포가 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이용가능한 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 그리고 학습 기반 엔트로피 모델을 사용하여 예측된다. 1240에서의 동작은 예측된 점유 심볼 분포에 기초하여 적응적 엔트로피 인코더를 사용하여 현재 노드를 표현하는 인코딩된 비트스트림으로 현재 노드에 대한 점유 심볼을 인코딩한다. 1250에서, 현재 노드가 트리 구조의 마지막 또는 최종 노드인지, 즉 모든 노드들이 프로세싱되었는지를 결정하기 위한 체크가 이루어진다. 그렇지 않은 경우(1250에서 "아니오"), 동작은 1230으로 복귀하고, 여기서 프로세싱되지 않은 노드가 현재 노드가 되고 1230 및 1240을 통해 프로세싱된다. 1250에서 현재 노드가 마지막 노드인 경우(1250에서 "예"), 동작은 1260에서 계속되며, 여기서 각각의 노드를 표현하는 인코딩된 비트스트림들은 조합되어 트리를 표현하는 조합된 인코딩된 비트스트림을 형성한다. 도 12의 실시예의 결과는 포인트 클라우드를 표현하는 압축 데이터를 포함하는 인코딩된 비트스트림이다.
도 13은, 인코딩된 비트스트림이 도 12에 예시되고 전술된 것과 같은 인코더 실시예에 의해 생성되었던, 포인트 클라우드를 표현하는 압축된 데이터를 포함하는 인코딩된 비트스트림을 디코딩하기에 적합한 디코더의 일 실시예의 일례를 예시한다. 도 13에 예시된 일 실시예의 예에서, 1300에서의 동작은, 포인트 클라우드를 표현하고 옥트리와 같은 트리 구조에 기초하여 압축된 데이터를 포함하는 인코딩된 비트스트림을 수신 및 디코딩한다. 1300으로부터의 디코딩된 출력은 트리 구조의 각각의 노드에 대한 디코딩된 점유 심볼에 기초하여 확장된 트리를 결정하기 위해 1360에서 프로세싱된다. 확장된 트리는 디코딩된 포인트 클라우드 정보를 표현한다. 더 상세하게, 1300에서의 동작은 루트 노드에서 시작하여 트리 구조 내의 모든 노드들에 대해 1310 내지 1350을 반복적으로 반복하는 것을 포함한다. 1310에서, 데이터가 트리 구조의 현재 노드에 대한 인코딩된 비트스트림으로부터 획득되고, 뒤이어 1320에서, 현재 노드에 대한 디폴트 콘텍스트가 초기화된다. 1330에서, 현재 노드에 대한 점유 심볼 분포가 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이용가능한 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 그리고 학습 기반 엔트로피 모델을 사용하여 예측된다. 1240에서의 동작은 예측된 점유 심볼 분포에 기초하여 적응적 엔트로피 디코더를 사용하여 현재 노드에 대한 점유 심볼을 디코딩한다. 1350에서, 현재 노드가 트리 구조의 마지막 또는 최종 노드인지, 즉, 모든 노드들이 프로세싱되었는지를 결정하기 위한 체크가 이루어진다. 그렇지 않은 경우(1350에서 "아니오"), 동작은 1310으로 복귀하고, 여기서 프로세싱되지 않은 노드가 현재 노드가 되고 1310 내지 1440을 통해 프로세싱된다. 1350에서, 현재 노드가 마지막 노드인 경우(1350에서 "예"), 동작은 1360에서 계속되며, 여기서 확장된 트리가 트리 구조의 각각의 노드에 대한 디코딩된 점유 심볼에 기초하여 결정된다. 도 13의 실시예의 결과는 포인트 클라우드를 표현하는 디코딩된 정보이다.
도 11은 본 명세서에 기술된 실시예들의 예들 중 하나 이상을 구현하기에 적합한 시스템의 일례의 블록도를 예시한다. 도 11의 시스템(1000)은 후술되는 다양한 컴포넌트들을 포함하는 디바이스로서 구현될 수 있고, 본 문헌에 기술된 실시예들, 특징들 등의 예들 중 하나 이상을 수행하거나 구현하도록 구성된다. 그러한 디바이스들의 예들은, 다양한 전자 디바이스들, 예컨대 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 멀티미디어 셋톱 박스, 디지털 텔레비전 수신기, 개인용 비디오 녹화 시스템, 커넥티드 가전, 및 서버를 포함하지만, 이들로 제한되지 않는다. 시스템(1000)의 요소들은, 단독으로 또는 조합하여, 단일 집적 회로(IC), 다수의 IC들, 및/또는 별개의 컴포넌트들에서 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(1000)의 프로세싱 및 인코더/디코더 요소들은 다수의 IC들 및/또는 별개의 컴포넌트들에 걸쳐 분산된다. 다양한 실시예들에서, 시스템(1000)은, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해 하나 이상의 다른 시스템들, 또는 다른 전자 디바이스들에 통신가능하게 커플링된다. 대체적으로, 시스템(1000)은 본 문헌에 기술된 실시예들, 특징들 등의 예들 중 하나 이상을 구현하도록 구성된다.
시스템(1000)은, 예를 들어, 본 문헌에 기술된 다양한 태양들을 구현하기 위해 그 내부에 로딩된 명령어들을 실행하도록 구성된 적어도 하나의 프로세서(1010)를 포함한다. 프로세서(1010)는 내장된 메모리, 입력 출력 인터페이스, 및 당업계에 알려진 바와 같은 다양한 다른 회로부들을 포함할 수 있다. 시스템(1000)은 적어도 하나의 메모리(1020)(예컨대, 휘발성 메모리 디바이스, 및/또는 비휘발성 메모리 디바이스)를 포함한다. 시스템(1000)은 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리(Electrically Erasable Programmable Read-Only Memory, EEPROM), 판독 전용 메모리(ROM), 프로그래밍가능 판독 전용 메모리(Programmable Read-Only Memory, PROM), 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(Dynamic Random Access Memory, DRAM), 정적 랜덤 액세스 메모리(Static Random Access Memory, SRAM), 플래시, 자기 디스크 드라이브 및/또는 광학 디스크 드라이브를 포함하지만 이에 제한되지 않는 비휘발성 메모리 및/또는 휘발성 메모리를 포함할 수 있는 저장 디바이스(1040)를 포함한다. 저장 디바이스(1040)는 비제한적인 예들로서, 내부 저장 디바이스, 부착된 저장 디바이스(분리가능한 저장 디바이스 및 분리가능하지 않은 저장 디바이스를 포함함), 및/또는 네트워크 액세스가능한 저장 디바이스를 포함할 수 있다.
시스템(1000)은, 예를 들어, 인코딩된 비디오 또는 디코딩된 비디오를 제공하기 위해 데이터를 프로세싱하도록 구성된 인코더/디코더 모듈(1030)을 포함하고, 인코더/디코더 모듈(1030)은 자체 프로세서 및 메모리를 포함할 수 있다. 인코더/디코더 모듈(1030)은 인코딩 및/또는 디코딩 기능들을 수행하기 위해 디바이스에 포함될 수 있는 모듈(들)을 나타낸다. 알려진 바와 같이, 디바이스는 인코딩 및 디코딩 모듈들 중 하나 또는 둘 모두를 포함할 수 있다. 추가적으로, 인코더/디코더 모듈(1030)은 시스템(1000)의 별개의 요소로서 구현될 수 있거나, 또는 당업자에게 알려진 바와 같은 하드웨어와 소프트웨어의 조합으로서 프로세서(1010) 내에 통합될 수 있다.
예컨대 본 문헌에 기술된 실시예들, 특징들 등의 하나 이상의 예들을 수행하거나 또는 구현하기 위해 프로세서(1010) 또는 인코더/디코더(1030) 상에 로딩될 프로그램 코드는 저장 디바이스(1040)에 저장될 수 있고, 후속적으로, 프로세서(1010)에 의한 실행을 위해 메모리(1020) 상에 로딩될 수 있다. 다양한 실시예들에 따르면, 프로세서(1010), 메모리(1020), 저장 디바이스(1040), 및 인코더/디코더 모듈(1030) 중 하나 이상은 본 문헌에 기술된 프로세스들의 수행 동안 다양한 항목들 중 하나 이상을 저장할 수 있다. 그러한 저장된 항목들은 입력 비디오, 디코딩된 비디오 또는 디코딩된 비디오의 일부들, 비트스트림, 행렬들, 변수들, 및 식들, 공식들, 연산들 및 연산 로직의 프로세싱으로부터의 중간 또는 최종 결과들을 포함할 수 있지만, 이들로 제한되지 않는다.
일부 실시예들에서, 프로세서(1010) 및/또는 인코더/디코더 모듈(1030) 내부의 메모리는 명령어들을 저장하고, 인코딩 또는 디코딩 동안 필요한 프로세싱을 위한 작업 메모리를 제공하는 데 사용된다. 그러나, 다른 실시예들에서, 프로세싱 디바이스(예를 들어, 프로세싱 디바이스는 프로세서(1010) 또는 인코더/디코더 모듈(1030) 중 어느 하나일 수 있음) 외부의 메모리가 이러한 기능들 중 하나 이상에 사용된다. 외부 메모리는 메모리(1020) 및/또는 저장 디바이스(1040), 예를 들어, 동적 휘발성 메모리 및/또는 비휘발성 플래시 메모리일 수 있다. 일부 실시예들에서, 외부 비휘발성 플래시 메모리는 예를 들어, 텔레비전의 운영 체제를 저장하는 데 사용된다. 적어도 하나의 실시예에서, RAM과 같은 고속 외부 동적 휘발성 메모리는 MPEG-2(MPEG는 Moving Picture Experts Group을 지칭하고, MPEG-2는 또한 ISO/IEC 13818로도 지칭되고, 13818-1은 또한 H.222로도 알려져 있고, 13818-2는 또한 H.262로도 알려져 있음), HEVC(HEVC는 High Efficiency Video Coding을 지칭하고, H.265 및 MPEG-H Part 2로도 알려져 있음), 또는 VVC(Versatile Video Coding, JVET(Joint Video Experts Team)에서 개발 중인 새로운 표준)와 같은 비디오 코딩 및 디코딩 동작들을 위한 작업 메모리로 사용된다.
시스템(1000)의 요소들에 대한 입력은 블록(1130)에 표시된 바와 같은 다양한 입력 디바이스들을 통해 제공될 수 있다. 그러한 입력 디바이스들은, (i) 예를 들어 브로드캐스터(broadcaster)에 의해 공중무선통신으로 송신된 무선 주파수(RF) 신호를 수신하는 RF 부분, (ii) 컴포넌트(COMP) 입력 단자(또는 COMP 입력 단자들의 세트), (iii) 범용 직렬 버스(USB) 입력 단자, 및/또는 (iv) 고화질 멀티미디어 인터페이스(High Definition Multimedia Interface, HDMI) 입력 단자를 포함하지만, 이들로 제한되지 않는다. 도 3에 도시되지 않은 다른 예들은 복합 비디오를 포함한다.
다양한 실시예들에서, 블록(1130)의 입력 디바이스들은 당업계에 알려진 바와 같은 연관된 각자의 입력 프로세싱 요소들을 갖는다. 예를 들어, RF 부분은, (i) 원하는 주파수를 선택하는 것(신호를 선택하는 것, 또는 신호를 주파수들의 대역으로 대역 제한하는 것으로도 지칭됨), (ii) 선택된 신호를 하향변환(downconvert)하는 것, (iii) (예를 들어) 소정 실시예들에서 채널로 지칭될 수 있는 신호 주파수 대역을 선택하기 위해 주파수들의 더 좁은 대역으로 다시 대역-제한하는 것, (iv) 하향변환되고 대역-제한된 신호를 복조하는 것, (v) 에러 정정을 수행하는 것, 및 (vi) 데이터 패킷들의 원하는 스트림을 선택하기 위해 역다중화하는 것에 적합한 요소들과 연관될 수 있다. 다양한 실시예들의 RF 부분은 이러한 기능들을 수행하기 위한 하나 이상의 요소들, 예를 들어 주파수 선택기들, 신호 선택기들, 대역-제한기들, 채널 선택기들, 필터들, 하향변환기들, 복조기들, 에러 정정기들, 및 역다중화기들을 포함한다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예를 들어, 중간 주파수 또는 근거리 기저대역 주파수)로 또는 기저대역으로 하향변환하는 것을 포함하여 이러한 다양한 기능들을 수행하는 튜너를 포함할 수 있다. 하나의 셋톱 박스 실시예에서, RF 부분 및 그의 연관된 입력 프로세싱 요소는 유선(예를 들어, 케이블) 매체를 통해 송신된 RF 신호를 수신하고, 필터링하고, 하향변환하고 다시 원하는 주파수 대역으로 필터링함으로써 주파수 선택을 수행한다. 다양한 실시예들은 전술한(및 다른) 요소들의 순서를 재배열하고, 이들 요소들 중 일부를 제거하고/하거나 유사하거나 상이한 기능들을 수행하는 다른 요소들을 추가한다. 요소들을 추가하는 것은, 예를 들어, 증폭기들 및 아날로그-디지털 변환기를 삽입하는 것과 같이, 기존 요소들 사이에 요소들을 삽입하는 것을 포함할 수 있다. 다양한 실시예들에서, RF 부분은 안테나를 포함한다.
또한, USB 및/또는 HDMI 단자들은 시스템(1000)을 USB 및/또는 HDMI 접속부들을 통해 다른 전자 디바이스들에 접속하기 위한 각자의 인터페이스 프로세서들을 포함할 수 있다. 입력 프로세싱의 다양한 태양들, 예를 들어, 리드-솔로몬(Reed-Solomon) 에러 정정은 필요에 따라, 예를 들어, 별개의 입력 프로세싱 IC 내에서 또는 프로세서(1010) 내에서 구현될 수 있다는 것이 이해되어야 한다. 유사하게, USB 또는 HDMI 인터페이스 프로세싱의 태양들은 필요에 따라, 별개의 인터페이스 IC들 내에서 또는 프로세서(1010) 내에서 구현될 수 있다. 복조되고, 에러 정정되고, 역다중화된 스트림은, 출력 디바이스 상의 프레젠테이션을 위해 필요에 따라 데이터스트림을 프로세싱하기 위해, 예를 들어, 프로세서(1010), 및 메모리 및 저장 요소들과 조합하여 동작하는 인코더/디코더(1030)를 포함하는 다양한 프로세싱 요소들에 제공된다.
시스템(1000)의 다양한 요소들이 통합된 하우징 내에 제공될 수 있으며, 통합된 하우징 내에서, 다양한 요소들은 적합한 접속 배열(1140), 예를 들어, 인터-IC(I2C) 버스, 배선, 및 인쇄 회로 기판을 포함하는, 당업계에 알려진 바와 같은 내부 버스를 사용하여 상호접속되고 그들 사이에서 데이터를 송신할 수 있다.
시스템(1000)은 통신 채널(1060)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(1050)를 포함한다. 통신 인터페이스(1050)는 통신 채널(1060)을 통해 데이터를 송신하도록 그리고 수신하도록 구성된 송수신기를 포함할 수 있지만, 이에 제한되지 않는다. 통신 인터페이스(1050)는 모뎀 또는 네트워크 카드를 포함할 수 있지만 이에 제한되지 않으며, 통신 채널(1060)은 예를 들어 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는, 다양한 실시예들에서, Wi-Fi 네트워크, 예를 들어 IEEE 802.11(IEEE는 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers)를 지칭함)과 같은 무선 네트워크를 사용하여, 시스템(1000)에 스트리밍되거나 또는 달리 제공된다. 이러한 실시예들의 Wi-Fi 신호는 Wi-Fi 통신들에 대해 적응된 통신 채널(1060) 및 통신 인터페이스(1050)를 통해 수신된다. 이들 실시예들의 통신 채널(1060)은 전형적으로, 스트리밍 응용들 및 다른 오버-더-탑 통신을 허용하기 위한 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 접속된다. 다른 실시예들은 입력 블록(1130)의 HDMI 접속을 통해 데이터를 전달하는 셋톱 박스를 사용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 또 다른 실시예들은 입력 블록(1130)의 RF 접속을 사용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 전술한 바와 같이, 다양한 실시예들은 비-스트리밍 방식으로 데이터를 제공한다. 또한, 다양한 실시예들은 Wi-Fi 이외의 무선 네트워크들, 예를 들어 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
시스템(1000)은 디스플레이(1100), 스피커들(1110), 및 다른 주변 디바이스들(1120)을 포함하는 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다. 다양한 실시예들의 디스플레이(1100)는, 예를 들어, 터치스크린 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 커브드(curved) 디스플레이, 및/또는 폴더블(foldable) 디스플레이 중 하나 이상을 포함한다. 디스플레이(1100)는 텔레비전, 태블릿, 랩톱, 휴대폰(모바일 폰), 또는 다른 디바이스를 위한 것일 수 있다. 디스플레이(1100)는 또한 (예를 들어, 스마트 폰에서와 같이) 다른 컴포넌트들과 통합될 수 있거나, 또는 별개일 수 있다(예를 들어, 랩톱을 위한 외부 모니터). 실시예들의 다양한 예들에서, 다른 주변 디바이스들(1120)은 독립형 디지털 비디오 디스크(또는 디지털 다기능 디스크)(두 용어들 모두에 대해, DVR), 디스크 플레이어, 스테레오 시스템 및/또는 조명 시스템 중 하나 이상을 포함한다. 다양한 실시예들은 시스템(1000)의 출력에 기초하여 기능을 제공하는 하나 이상의 주변 디바이스들(1120)을 사용한다. 예를 들어, 디스크 플레이어는 시스템(1000)의 출력을 재생하는 기능을 수행한다.
다양한 실시예들에서, 제어 신호들은, 시그널링, 예컨대, AV.Link, CEC(Consumer Electronics Control), 또는 사용자 개입이 있거나 또는 개입 없이 디바이스 대 디바이스 제어를 가능하게 하는 다른 통신 프로토콜들을 사용하여 시스템(1000)과 디스플레이(1100), 스피커들(1110), 또는 다른 주변 디바이스들(1120) 사이에서 통신된다. 출력 디바이스들은 각자의 인터페이스들(1070, 1080, 1090)을 통해 전용 접속들을 거쳐 시스템(1000)에 통신가능하게 커플링될 수 있다. 대안적으로, 출력 디바이스들은 통신 인터페이스(1050)를 통해 통신 채널(1060)을 사용하여 시스템(1000)에 접속될 수 있다. 디스플레이(1100) 및 스피커들(1110)은, 예를 들어, 텔레비전과 같은 전자 디바이스에서 시스템(1000)의 다른 컴포넌트들과 단일 유닛으로 통합될 수 있다. 다양한 실시예들에서, 디스플레이 인터페이스(1070)는, 예를 들어, 타이밍 제어기(T Con) 칩과 같은 디스플레이 드라이버를 포함한다.
디스플레이(1100) 및 스피커(1110)는 대안적으로, 예를 들어, 입력(1130)의 RF 부분이 별개의 셋톱 박스의 일부인 경우, 다른 컴포넌트들 중 하나 이상과 별개일 수 있다. 디스플레이(1100) 및 스피커들(1110)이 외부 컴포넌트들인 다양한 실시예들에서, 출력 신호는, 예를 들어, HDMI 포트들, USB 포트들, 또는 COMP 출력들을 포함하는 전용 출력 접속들을 통해 제공될 수 있다.
실시예들은 프로세서(1010)에 의해 또는 하드웨어에 의해 구현되는 컴퓨터 소프트웨어에 의해, 또는 하드웨어와 소프트웨어의 조합에 의해 수행될 수 있다. 비제한적인 예로서, 실시예들은 하나 이상의 집적 회로들에 의해 구현될 수 있다. 메모리(1020)는 기술적 환경에 적절한 임의의 유형의 것일 수 있고, 비제한적인 예들로서, 광학 메모리 디바이스, 자기 메모리 디바이스, 반도체 기반 메모리 디바이스, 고정 메모리, 및 착탈식 메모리와 같은 임의의 적절한 데이터 저장 기술을 사용하여 구현될 수 있다. 프로세서(1010)는 기술적 환경에 적절한 임의의 유형의 것일 수 있고, 비제한적인 예들로서, 마이크로프로세서들, 범용 컴퓨터들, 특수 목적 컴퓨터들, 및 멀티-코어 아키텍처에 기반한 프로세서들 중 하나 이상을 포괄할 수 있다.
다양한 일반화된, 그리고 특화된 실시예들이 또한 본 개시내용 전체에 걸쳐 지지되고 고려된다. 본 개시내용에 따른 실시예들의 예들은 하기를 포함하지만 이에 제한되지 않는다.
대체적으로, 일 실시예의 적어도 일례는 3D 포인트 클라우드 데이터의 무손실 압축을 위해 트리 구조, 예컨대 옥트리들에 걸쳐 학습된 심층 엔트로피 모델을 수반할 수 있다. 대체적으로, 일 실시예의 적어도 일례는 트리 구조화된 조건부 엔트로피 모델에 대해 동작하는 적응적 엔트로피 코더에 기초한 자가 감독 압축을 수반할 수 있다. 글로벌 토폴로지뿐만 아니라 로컬 이웃으로부터의 정보가 트리 구조로부터 활용될 수 있다. 대체적으로, 일 실시예의 적어도 일례는 병렬 프로세싱을 용이하게 할 수 있고, 예컨대, 요구된 계산 및 시간 리소스들을 감소시킬 수 있는 블록 기반 압축 방식을 수반할 수 있다. 리소스 요건들의 그러한 감소는 조밀한 대규모 포인트 클라우드들을 프로세싱하는 것과 같은 애플리케이션들에 유용할 수 있다.
대체적으로, 일 실시예의 적어도 일례는 장치를 수반할 수 있으며, 장치는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 포인트 클라우드를 표현하는 압축된 데이터를 포함하는 인코딩된 비트스트림을 수신하도록 - 압축된 데이터는 트리 구조에 기초하여 압축됨 -; 및 인코딩된 비트스트림을 디코딩하도록 구성되고, 인코딩된 비트스트림을 디코딩하는 것은, 적어도 하나의 프로세서가 추가로, 트리의 각각의 노드에 대해, 트리 구조의 루트 노드로부터 시작하여: 트리 구조의 현재 노드에 대해 비트스트림으로부터 데이터를 획득하고; 현재 노드에 대한 디폴트 콘텍스트를 초기화하고; 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이용가능한 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 점유 심볼 분포에 기초하여 적응적 엔트로피 디코더를 사용하여 현재 노드에 대한 점유 심볼을 디코딩하도록; 및 트리 구조의 각각의 노드에 대한 디코딩된 점유 심볼에 기초하여 확장된 트리를 결정하도록 구성되는 것을 포함한다.
대체적으로, 일 실시예의 적어도 일례는 방법을 수반할 수 있으며, 방법은, 포인트 클라우드를 표현하는 압축된 데이터를 포함하는 인코딩된 비트스트림을 수신하는 단계 - 압축된 데이터는 트리 구조에 기초하여 압축됨 -; 및 인코딩된 비트스트림을 디코딩하는 단계를 포함하고, 디코딩하는 단계는, 트리의 각각의 노드에 대해, 트리의 루트 노드로부터 시작하여:
트리의 현재 노드에 대해 비트스트림으로부터 데이터를 획득하고; 현재 노드에 대한 디폴트 콘텍스트를 초기화하고; 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이용가능한 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 그리고 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 점유 심볼 분포에 기초하여 적응적 엔트로피 디코더를 사용하여 현재 노드에 대한 점유 심볼을 디코딩하는 단계; 및 트리 구조의 각각의 노드에 대한 디코딩된 점유 심볼에 기초하여 확장된 트리를 결정하는 단계를 포함한다.
대체적으로, 일 실시예의 적어도 일례는 장치를 수반할 수 있으며, 장치는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 포인트 클라우드를 표현하는 데이터를 압축하도록; 및 압축된 데이터를 포함하는 조합된 인코딩된 비트스트림을 제공하도록 구성되고, 데이터를 압축하도록 구성되는 적어도 하나의 프로세서는, 적어도 하나의 프로세서가 추가로, 포인트 클라우드를 표현하는 데이터에 포함된 원시 포인트 클라우드 기하구조 데이터를 트리 표현으로 변환하도록; 트리 내의 모든 노드들에 대한 콘텍스트를 초기화하도록; 트리의 각각의 노드에 대해, 트리 구조의 루트 노드로부터 시작하여: 트리 내의 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 예측된 점유 분포에 기초하여 적응적 엔트로피 인코더를 사용하여 현재 노드를 표현하는 인코딩된 비트스트림으로 현재 노드에 대한 점유 심볼을 인코딩하도록; 및 각각의 노드를 표현하는 인코딩된 비트스트림들을 조합하여 조합된 인코딩된 비트스트림을 형성하도록 - 조합된 인코딩된 비트스트림은 트리를 표현함 - 구성되는 것을 포함한다.
대체적으로, 일 실시예의 적어도 일례는 방법을 수반할 수 있으며, 방법은, 포인트 클라우드를 표현하는 데이터를 압축하는 단계; 및 압축된 데이터를 포함하는 조합된 인코딩된 비트스트림을 제공하는 단계를 포함하고, 압축하는 단계는, 포인트 클라우드를 표현하는 데이터에 포함된 원시 포인트 클라우드 기하구조 데이터를 트리 표현으로 변환하는 단계; 트리 내의 모든 노드들에 대한 콘텍스트를 초기화하는 단계; 트리의 각각의 노드에 대해, 트리 구조의 루트 노드로부터 시작하여: 트리 내의 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 예측된 점유 분포에 기초하여 적응적 엔트로피 인코더를 사용하여 현재 노드를 표현하는 인코딩된 비트스트림으로 현재 노드에 대한 점유 심볼을 인코딩하는 단계; 및 각각의 노드를 표현하는 인코딩된 비트스트림들을 조합하여 조합된 인코딩된 비트스트림을 형성하는 단계 - 조합된 인코딩된 비트스트림은 트리를 표현함 - 를 포함한다.
대체적으로, 일 실시예의 적어도 일례는 장치를 수반할 수 있으며, 장치는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 포인트 클라우드를 표현하는 압축된 데이터를 포함하는 인코딩된 비트스트림을 수신하도록 - 압축된 데이터는 블록 기반 트리 구조에 기초하여 압축됨 -; 및 인코딩된 비트스트림을 디코딩하도록 구성되고, 인코딩된 비트스트림을 디코딩하는 것은, 적어도 하나의 프로세서가 추가로, 인코딩된 비트스트림으로부터 파티셔닝 비트스트림 및 하나 이상의 블록 비트스트림들 둘 모두를 획득하도록; 파티셔닝 비트스트림을 디코딩하여 포인트 클라우드 데이터의 블록 구조를 표시하는 얕은 파티션을 복구하도록 - 블록 구조 내의 블록들 각각은 트리 구조에 기초하여 압축된 포인트 클라우드를 표현하는 데이터의 일부분을 포함함 -; 각각의 블록에 대해, 블록 비트스트림을, 블록과 연관된 트리 구조의 각각의 노드에 대해, 트리 구조의 루트 노드로부터 시작하여: 트리 구조의 현재 노드에 대해 비트스트림으로부터 데이터를 획득하고; 현재 노드에 대한 디폴트 콘텍스트를 초기화하고; 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이용가능한 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 점유 심볼 분포에 기초하여 적응적 엔트로피 디코더를 사용하여 현재 노드에 대한 점유 심볼을 디코딩함으로써; 및 트리 구조의 각각의 노드에 대한 디코딩된 점유 심볼에 기초하여 블록에 대한 확장된 트리를 결정함으로써, 압축해제하도록; 및 각각의 블록에 대한 확장된 트리를 조합하여 포인트 클라우드에 대한 확장된 트리를 제공하도록 구성되는 것을 포함한다.
대체적으로, 일 실시예의 적어도 일례는 방법을 수반할 수 있으며, 방법은, 포인트 클라우드를 표현하는 압축된 데이터를 포함하는 인코딩된 비트스트림을 수신하는 단계 - 압축된 데이터는 블록 기반 트리 구조에 기초하여 압축됨 -; 및 인코딩된 비트스트림을 디코딩하는 단계를 포함하고, 디코딩하는 단계는, 인코딩된 비트스트림으로부터 파티셔닝 비트스트림 및 하나 이상의 블록 비트스트림들 둘 모두를 획득하는 단계; 파티셔닝 비트스트림을 디코딩하여 포인트 클라우드 데이터의 블록 구조를 표시하는 얕은 파티션을 복구하는 단계 - 블록들 각각은 트리 구조에 기초하여 압축된 포인트 클라우드를 표현하는 데이터의 일부분을 포함함 -; 각각의 블록에 대해, 블록 비트스트림을, 블록과 연관된 트리 구조의 각각의 노드에 대해, 트리 구조의 루트 노드로부터 시작하여: 트리 구조의 현재 노드에 대해 비트스트림으로부터 데이터를 획득하고; 현재 노드에 대한 디폴트 콘텍스트를 초기화하고;
현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이용가능한 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 점유 심볼 분포에 기초하여 적응적 엔트로피 디코더를 사용하여 현재 노드에 대한 점유 심볼을 디코딩함으로써; 및 트리 구조의 각각의 노드에 대한 디코딩된 점유 심볼에 기초하여 블록에 대한 확장된 트리를 결정함으로써, 압축해제하는 단계; 및 각각의 블록에 대한 확장된 트리를 조합하여 포인트 클라우드에 대한 확장된 트리를 제공하는 단계를 포함한다.
대체적으로, 일 실시예의 적어도 일례는 장치를 수반할 수 있으며, 장치는 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는, 포인트 클라우드를 표현하는 데이터를 압축하도록; 및 압축된 데이터를 포함하는 조합된 인코딩된 비트스트림을 제공하도록 구성되고, 데이터를 압축하도록 구성되는 적어도 하나의 프로세서는, 적어도 하나의 프로세서가 추가로, 포인트 클라우드를 표현하는 데이터에 포함된 원시 포인트 클라우드 기하구조 데이터를 얕은 트리 구조에 기초하여 데이터의 블록들로 변환하도록; 데이터의 각각의 블록에 대한 원점을 시프트하여 각각의 블록 내의 데이터의 원래 좌표들을 로컬 블록 좌표들로 시프트하도록; 각각의 블록을 별개의 트리 구조로 변환하도록; 각각의 블록 내의 모든 노드들에 대한 콘텍스트를 초기화하도록; 각각의 블록의 데이터를, 블록의 트리의 각각의 노드에 대해, 트리 구조의 루트 노드로부터 시작하여: 트리 내의 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 예측된 점유 분포에 기초하여 적응적 엔트로피 인코더를 사용하여 현재 노드를 표현하는 인코딩된 비트스트림으로 현재 노드에 대한 점유 심볼을 인코딩함으로써, 압축하도록; 블록의 각각의 노드를 표현하는 인코딩된 비트스트림들을 조합하여 블록의 트리 구조를 표현하는 블록에 대한 인코딩된 비트스트림을 형성하도록; 및 각각의 블록에 대한 인코딩된 비트스트림들 및 얕은 트리 구조에 관한 정보를 조합하여 조합된 인코딩된 비트스트림을 형성하도록 구성되는 것을 포함한다.
대체적으로, 일 실시예의 적어도 일례는 방법을 수반할 수 있으며, 방법은, 포인트 클라우드를 표현하는 데이터를 압축하는 단계; 및 압축된 데이터를 포함하는 조합된 인코딩된 비트스트림을 제공하는 단계를 포함하고, 데이터를 압축하는 단계는, 포인트 클라우드를 표현하는 데이터에 포함된 원시 포인트 클라우드 기하구조 데이터를 얕은 트리 구조에 기초하여 데이터의 블록들로 변환하는 단계; 데이터의 각각의 블록에 대한 원점을 시프트하여 각각의 블록 내의 데이터의 원래 좌표들을 로컬 블록 좌표들로 시프트하는 단계; 각각의 블록을 별개의 트리 구조로 변환하는 단계;
각각의 블록 내의 모든 노드들에 대한 콘텍스트를 초기화하는 단계; 각각의 블록의 데이터를, 블록의 트리의 각각의 노드에 대해, 트리 구조의 루트 노드로부터 시작하여: 트리 내의 현재 노드에 대한 점유 심볼 분포를, 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이웃 노드들로부터의 그리고 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및 예측된 점유 분포에 기초하여 적응적 엔트로피 인코더를 사용하여 현재 노드를 표현하는 인코딩된 비트스트림으로 현재 노드에 대한 점유 심볼을 인코딩함으로써, 압축하는 단계; 블록의 트리의 각각의 노드를 표현하는 인코딩된 비트스트림들을 조합하여 블록의 트리 구조를 표현하는 블록에 대한 인코딩된 비트스트림을 형성하는 단계; 및 각각의 블록에 대한 인코딩된 비트스트림들 및 얕은 트리 구조에 관한 정보를 조합하여 인코딩된 조합된 비트스트림을 형성하는 단계를 포함한다.
대체적으로, 일 실시예의 적어도 일례는 포인트 클라우드 정보의 트리 표현을 수반하는 방법 또는 장치를 수반할 수 있으며, 여기서 트리 표현은 옥트리 또는 kd-트리 또는 쿼드트리-이진 트리(QTBT) 또는 예측 트리 중 하나를 포함한다.
대체적으로, 일 실시예의 적어도 일례는 본 명세서에 기술된 바와 같이 포인트 클라우드 정보의 트리 표현을 프로세싱하는 적어도 하나의 프로세서를 수반하는 장치를 수반할 수 있으며, 여기서 적어도 하나의 프로세서는 직렬로 또는 병렬로 트리 내의 모든 노드들에 대한 점유 심볼 분포를 예측하도록 구성될 수 있다.
대체적으로, 일 실시예의 적어도 일례는 트리 표현에 기초하여 포인트 클라우드 정보를 프로세싱하는 방법을 수반할 수 있으며, 여기서 방법은 직렬로 또는 병렬로 트리 내의 모든 노드들에 대한 점유 심볼 분포를 예측하는 단계를 포함할 수 있다.
대체적으로, 일 실시예의 적어도 일례는 본 명세서에 기술된 바와 같은 장치 또는 방법을 수반할 수 있으며, 여기서 학습 기반 엔트로피 모델은 현재 노드의 형제들에 사용되는 동일한 학습 기반 모델을 통해 조상 또는 부모 노드의 하나 이상의 형제 노드들의 하나 이상의 심층 특징들을 사용하여, 점유 심볼 분포들을 예측한다.
대체적으로, 일 실시예의 적어도 일례는 본 명세서에 기술된 바와 같은 장치 또는 방법을 수반할 수 있으며, 여기서 학습 기반 엔트로피 모델은 현재 노드의 형제들에 사용되는 동일한 학습 기반 모델을 통해 조상 또는 부모 레벨에 있는 모든 노드들의 하나 이상의 심층 특징들을 사용하여, 점유 심볼 분포들을 예측한다.
대체적으로, 일 실시예의 적어도 일례는 본 명세서에 기술된 바와 같은 장치 또는 방법을 수반할 수 있으며, 여기서 학습 기반 엔트로피 모델은 별개의 학습 기반 모델을 통해 조상 또는 부모 레벨에 있는 모든 노드들의 하나 이상의 심층 특징들을 사용하여, 점유 심볼 분포들을 예측한다.
대체적으로, 일 실시예의 적어도 일례는, 학습 기반 엔트로피 모델을 사용하여 현재 노드에 대한 점유 심볼 분포를 예측하는 것에 기초하여 트리 구조로서 표현되는 포인트 클라우드 정보를 인코딩 및/또는 디코딩하는 것을 제공하는 본 명세서에 기술된 것과 같은 장치 또는 방법을 수반할 수 있으며, 여기서 학습 기반 모델은 현재 노드의 형제들에 사용되는 것과 동일한 학습 기반 모델 또는 현재 노드의 형제들에 사용되는 것과는 별개의 또는 상이한 학습 기반 모델 중 어느 하나를 통해 현재 노드와 연관된 조상 또는 부모 레벨 k에 있는 모든 노드들의 심층 특징들을 k+1보다 더 깊은 모든 층들에 대해 사용한다.
대체적으로, 일 실시예의 적어도 일례는 본 명세서에 기술된 바와 같은 장치 또는 방법을 수반할 수 있으며, 여기서 구조의 노드와 연관된 콘텍스트는 조상 또는 부모 노드의 점유율, 연관된 노드의 트리 구조 내의 깊이 또는 레벨, 연관된 노드의 옥탄트, 및 연관된 노드의 공간적 포지션을 포함한다.
대체적으로, 일 실시예의 다른 예는 압축된 포인트 클라우드 정보를 포함하도록 포맷화된 비트스트림 또는 신호를 수반할 수 있으며, 여기서 포인트 클라우드 정보는 본 개시내용에 따른 방법들의 실시예들의 예들 중 임의의 하나 이상에 기초하여 프로세싱함으로써 인코딩된다.
대체적으로, 실시예들의 하나 이상의 다른 예들은 또한, 본 명세서에 기술된 방법들 또는 장치에 따라 비디오 데이터와 같은 픽처 정보를 인코딩 또는 디코딩하기 위한 명령어들이 저장된 컴퓨터 판독가능 저장 매체, 예컨대, 비휘발성 컴퓨터 판독가능 저장 매체를 제공할 수 있다. 하나 이상의 실시예들은 또한, 본 명세서에 기술된 방법들 또는 장치에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체를 제공할 수 있다. 하나 이상의 실시예들은 또한, 본 명세서에 기술된 방법들 또는 장치에 따라 생성된 비트스트림 또는 신호를 송신 또는 수신하기 위한 방법들 및 장치를 제공할 수 있다.
도구들, 특징들, 모델들, 접근법들 등을 포함하여, 실시예들의 다양한 예들이 본 명세서에 기술된다. 이러한 예들 중 많은 예들이 특이성을 갖고서 기술되며, 적어도, 개별 특성들을 보여주기 위해, 종종, 제한적으로 들릴 수 있는 방식으로 기술된다. 그러나, 이는 설명의 명확성을 위한 것이며, 그들 태양들의 응용 또는 범주를 제한하지 않는다. 실제로, 상이한 모든 태양들이 조합되고 상호교환되어 추가의 태양들을 제공할 수 있다.
대체적으로, 본 명세서에 기술되고 고려되는 실시예들의 예들은 많은 상이한 형태들로 구현될 수 있다. 전술된 도 11은 일 실시예의 일례를 제공하지만, 다른 실시예들이 고려되고, 도 11의 논의는 가능한 실시예들 또는 구현예들의 폭을 제한하지 않는다.
본 명세서에 기술된 실시예들의 하나 이상의 예들의 적어도 하나의 태양은 대체적으로 포인트 클라우드 압축 또는 인코딩 및 압축해제 또는 디코딩에 관한 것이고, 적어도 하나의 다른 태양은 대체적으로 생성된 또는 인코딩된 비트스트림을 송신하는 것에 관한 것이다. 이들 및 다른 태양들은 기술된 방법들 중 임의의 방법에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들이 저장된 방법, 장치, 컴퓨터 판독가능 저장 매체, 및/또는 기술된 방법들 중 임의의 방법에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체와 같은 다양한 실시예들에서 구현될 수 있다.
다양한 방법들이 본 명세서에 기술되고, 각각의 방법은 기술된 방법을 달성하기 위한 하나 이상의 단계들 또는 액션들을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않는 한, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 수정되거나 조합될 수 있다.
다양한 수치 값들, 예컨대 층들의 수 또는 MLP들의 깊이 또는 숨겨진 특징들의 치수가 본 출원에서 사용된다. 특정 값들은 예시적인 목적들을 위한 것이며, 기술된 태양들은 이들 특정 값들로 제한되지 않는다.
다양한 구현예들이 디코딩을 수반한다. 본 출원에서 사용되는 바와 같이, "디코딩"은 예를 들어, 수신된 인코딩된 시퀀스에 대해 수행되어, 예컨대, 디스플레이에 적합한 최종 출력을 생성하는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 전형적으로 디코더에 의해 수행되는 프로세스들, 예를 들어, 엔트로피 디코딩, 역 양자화, 역 변환 등 중 하나 이상을 포함한다. 다양한 실시예들에서, 그러한 프로세스들은 또한, 또는 대안적으로, 본 출원에 기술된 다양한 구현예들의 디코더에 의해 수행되는 프로세스들을 포함한다.
추가 예들로서, 하나의 실시예에서, "디코딩"은 엔트로피 디코딩만을 지칭하고, 다른 실시예에서, "디코딩"은 디코딩의 상이한 형태를 지칭할 수 있고, 또 다른 실시예에서, "디코딩"은 엔트로피 디코딩 및 상이한 형태의 디코딩의 조합을 지칭할 수 있다. 어구 "디코딩 프로세스"가 동작들의 서브세트를 구체적으로 나타내기 위한 것인지, 또는 대체적으로 보다 광의의 디코딩 프로세스를 나타내기 위한 것인지 여부는 특정 설명들의 맥락에 기초하여 명확할 것이며, 당업자에 의해 잘 이해될 것으로 여겨진다.
다양한 구현예들이 인코딩을 수반한다. "디코딩"에 대한 상기 논의와 유사한 방식으로, 본 출원에서 사용되는 바와 같은 "인코딩"은, 예를 들어 입력 비디오 시퀀스에 대해 수행되어 인코딩된 비트스트림을 생성하는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 전형적으로 인코더에 의해 수행되는 프로세스들, 예를 들어, 파티셔닝, 변환, 양자화, 엔트로피 인코딩 등 중 하나 이상을 포함한다.
추가 예들로서, 하나의 실시예에서, "인코딩"은 단지 엔트로피 인코딩만을 지칭하고, 다른 실시예에서, "인코딩"은 상이한 형태의 인코딩을 지칭할 수 있고, 또 다른 실시예에서, "인코딩"은 엔트로피 인코딩 및 상이한 형태의 인코딩의 조합을 지칭할 수 있다. 어구 "인코딩 프로세스"가 동작들의 서브세트를 구체적으로 나타내기 위한 것인지, 또는 대체적으로 보다 광의의 인코딩 프로세스를 나타내기 위한 것인지 여부는 특정 설명들의 맥락에 기초하여 명확할 것이며, 당업자에 의해 잘 이해될 것으로 여겨진다.
도면이 흐름도로서 제시될 때, 그것은 또한 대응하는 장치의 블록도를 제공한다는 것을 이해해야 한다. 유사하게, 도면이 블록도로서 제시될 때, 그것은 또한 대응하는 방법/프로세스의 흐름도를 제공한다는 것을 이해해야 한다.
대체적으로, 본 명세서에 기술된 실시예들, 구현예들, 특징들 등의 예들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호에서 구현될 수 있다. 구현예의 단일 형태의 맥락에서 논의된다 하더라도(예를 들어, 방법으로서만 논의됨), 논의된 특징들의 구현예는 다른 형태들(예를 들어, 장치 또는 프로그램)에서 구현될 수 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법들의 하나 이상의 예들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래밍가능 로직 디바이스를 포함하는, 대체적으로 프로세싱 디바이스들을 지칭하는, 예를 들어, 프로세서에서 구현될 수 있다. 프로세서들은 또한, 예를 들어, 컴퓨터들, 휴대들, 휴대용/개인 디지털 어시스턴트들("PDA들"), 및 최종 사용자들 사이의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다. 또한, 본 명세서에서 용어 "프로세서"의 사용은 하나의 프로세서 또는 하나 초과의 프로세서의 다양한 구성들을 광범위하게 포괄하도록 의도된다.
"하나의 실시예" 또는 "일 실시예" 또는 "하나의 구현예" 또는 "일 구현예"뿐만 아니라 그의 다른 변형들에 대한 언급은, 실시예와 관련하여 기술된 특정 특징, 구조, 특성 등이 적어도 하나의 실시예에 포함됨을 의미한다. 따라서, 본 출원 전반에 걸친 다양한 곳에서 나타나는 어구 "하나의 실시예에서" 또는 "일 실시예에서" 또는 "하나의 구현예에서" 또는 "일 구현예에서"뿐만 아니라 임의의 다른 변형들의 출현들이 반드시 모두 동일한 실시예를 언급하는 것은 아니다.
또한, 본 출원은 다양한 피스들의 정보들을 "결정하는 것"을 언급할 수 있다. 정보를 결정하는 것은, 예를 들어 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 메모리로부터 정보를 검색하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 피스들의 정보에 "액세스하는 것"을 언급할 수 있다. 정보에 액세스하는 것은, 예를 들어 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 이동하는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 피스들의 정보를 "수신하는 것"을 언급할 수 있다. 수신하는 것은 "액세스하는 것"과 마찬가지로 광의의 용어인 것으로 의도된다. 정보를 수신하는 것은, 예를 들어, 정보에 액세스하는 것, 또는 (예를 들어, 메모리로부터) 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 전형적으로, 예를 들어 정보를 저장하는 동작, 정보를 프로세싱하는 동작, 정보를 송신하는 동작, 정보를 이동하는 동작, 정보를 복사하는 동작, 정보를 소거하는 동작, 정보를 계산하는 동작, 정보를 결정하는 동작, 정보를 예측하는 동작, 또는 정보를 추정하는 동작 동안 어떤 방식으로든 수반된다.
예를 들어 다음의 "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나"의 경우들에서 "/", "및/또는", 및 "적어도 하나" 중 임의의 것의 사용은 제1 열거된 옵션(A) 단독의 선택, 또는 제2 열거된 옵션(B) 단독의 선택, 또는 옵션들(A 및 B) 둘 모두의 선택을 포함하도록 의도됨을 이해해야 한다. 또 다른 예로서, "A, B 및/또는 C" 및 "A, B 및 C 중 적어도 하나"의 경우들에서, 그러한 어구는 제1 열거된 옵션(A) 단독의 선택, 또는 제2 열거된 옵션(B) 단독의 선택, 또는 제3 열거된 옵션(C) 단독의 선택, 또는 제1 및 제2 열거된 옵션들(A 및 B) 단독의 선택, 또는 제1 및 제3 열거된 옵션들(A 및 C) 단독의 선택, 또는 제2 및 제3 열거된 옵션들(B 및 C) 단독의 선택, 또는 3개의 모든 옵션들(A, B 및 C)의 선택을 포함하도록 의도된다. 이는, 본 명세서에 기술된 바와 같은 많은 항목들에 대해, 본 명세서 및 관련 분야의 당업자에게 명백한 바와 같이 확장될 수 있다.
당업자에게 명백한 바와 같이, 구현예들은, 예를 들어 저장되거나 송신될 수 있는 정보를 반송하도록 포맷화된 다양한 신호들을 생성할 수 있다. 예를 들어, 정보는 방법을 수행하기 위한 명령어들, 또는 기술된 구현예들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 기술된 실시예의 비트스트림을 전달하도록 포맷화될 수 있다. 그러한 신호는, 예를 들어, 전자기파로서(예를 들어, 스펙트럼의 무선 주파수 부분을 사용함) 또는 기저대역 신호로서 포맷화될 수 있다. 포맷화는, 예를 들어, 데이터 스트림을 인코딩하는 것, 및 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 반송하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는, 알려진 바와 같이, 다양한 상이한 유선 또는 무선 링크들을 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체 상에 저장될 수 있다.
다양한 실시예들이 본 명세서에 기술된다. 이러한 실시예들의 특징들은 다양한 청구항 카테고리들 및 유형들에 걸쳐 단독으로 또는 임의의 조합으로 제공될 수 있다. 또한, 실시예들은 다양한 청구항 카테고리들 및 유형들에 걸쳐 단독으로 또는 임의의 조합으로 다음의 특징들, 디바이스들, 또는 태양들 중 하나 이상을 포함할 수 있다:
현재 노드로부터의 콘텍스트 정보 및 이용가능한 이웃 노드들 및 하나 이상의 조상 노드들로부터의 특징 정보를 사용하는 학습 기반 엔트로피 모델을 사용하여 현재 노드에 대한 점유 심볼 분포를 예측하는 것에 기초하여 트리 구조로서 표현되는 포인트 클라우드 정보를 인코딩 및/또는 디코딩하는 것을 제공함;
현재 노드의 형제들에 사용되는 동일한 학습 기반 모델을 통해 현재 노드의 조상 또는 부모 노드의 형제 노드들의 심층 특징들을 사용하는 학습 기반 엔트로피 모델을 사용하여 현재 노드에 대한 점유 심볼 분포를 예측하는 것에 기초하여 트리 구조로서 표현되는 포인트 클라우드 정보를 인코딩 및/또는 디코딩하는 것을 제공함;
현재 노드와 연관된 조상 또는 부모 레벨에 있는 모든 노드들의 심층 특징들을 사용하는 학습 기반 엔트로피 모델을 사용하여 현재 노드에 대한 점유 심볼 분포를 예측하는 것에 기초하여 트리 구조로서 표현되는 포인트 클라우드 정보를 인코딩 및/또는 디코딩하는 것을 제공함;
현재 노드의 형제들에 사용되는 동일한 학습 기반 모델을 통해 현재 노드와 연관된 조상 또는 부모 레벨에 있는 모든 노드들의 심층 특징들을 사용하는 학습 기반 엔트로피 모델을 사용하여 현재 노드에 대한 점유 심볼 분포를 예측하는 것에 기초하여 트리 구조로서 표현되는 포인트 클라우드 정보를 인코딩 및/또는 디코딩하는 것을 제공함;
현재 노드의 형제들에 사용되는 것과는 별개의 또는 상이한 학습 기반 모델을 통해 현재 노드와 연관된 조상 또는 부모 레벨에 있는 모든 노드들의 심층 특징들을 사용하는 학습 기반 엔트로피 모델을 사용하여 현재 노드에 대한 점유 심볼 분포를 예측하는 것에 기초하여 트리 구조로서 표현되는 포인트 클라우드 정보를 인코딩 및/또는 디코딩하는 것을 제공함;
현재 노드의 형제들에 사용되는 것과 동일한 학습 기반 모델 또는 현재 노드의 형제들에 사용되는 것과는 별개의 또는 상이한 학습 기반 모델 중 어느 하나를 통해 현재 노드와 연관된 조상 또는 부모 레벨 k에 있는 모든 노드들의 심층 특징들을 k+1보다 더 깊은 모든 층들에 대해 사용하는 학습 기반 엔트로피 모델을 사용하여 현재 노드에 대한 점유 심볼 분포를 예측하는 것에 기초하여 트리 구조로서 표현되는 포인트 클라우드 정보를 인코딩 및/또는 디코딩하는 것을 제공함;
얕은 파티셔닝에 기초하여 블록들로 파티셔닝된 블록 기반 트리 구조로서 표현되는 포인트 클라우드 정보를 인코딩 및/또는 디코딩하는 것을 제공함 - 인코딩되거나 디코딩된 비트스트림은 얕은 파티셔닝을 표시하는 파티셔닝 비트스트림 및 각각의 블록 내의 포인트 클라우드 정보를 표현하는 블록 비트스트림을 포함하는 조합된 비트스트림을 포함함 -;
포인트 클라우드 정보의 트리 표현을 수반하는 포인트 클라우드 정보를 인코딩 및/또는 디코딩하는 것을 제공함 - 트리 표현은 옥트리 또는 kd-트리 또는 쿼드트리-이진 트리(QTBT) 또는 예측 트리 중 하나를 포함함 -;
직렬로 또는 병렬로 트리 내의 모든 노드들에 대한 점유 심볼 분포를 예측하는 것에 기초하여 트리 구조로서 표현되는 포인트 클라우드 정보를 인코딩 및/또는 디코딩하는 것을 제공함;
디코더가 인코더에 의해 사용된 것에 대응하는 방식으로 동작할 수 있게 하는 신택스 요소들을 신호 또는 비트스트림에 삽입하는 것을 제공함;
인코더 및/또는 디코더가 본 명세서에 기술된 바와 같이, 단독으로 또는 임의의 조합으로, 실시예들, 특징들 또는 엔티티들 중 임의의 것에 따라 인코딩 및/또는 디코딩을 제공할 수 있게 하는 신택스 요소들을 신호 또는 비트스트림에 삽입하는 것을 제공함.
이러한 신택스 요소들에 기초하여, 디코더에서 적용하기 위해 본 명세서에 기술된 바와 같이, 단독으로 또는 임의의 조합으로, 특징들 또는 엔티티들을 선택하는 것을 제공함;
기술된 신택스 요소들 또는 이들의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호를 생성 및/또는 송신 및/또는 수신 및/또는 디코딩하는 것을 제공함;
기술된 실시예들 중 임의의 것에 따라 비트스트림을 생성 및/또는 송신 및/또는 수신 및/또는 디코딩하는 것을 제공함;
기술된 실시예들 중 임의의 것에 따른 방법, 프로세스, 장치, 명령어들을 저장하는 매체, 데이터를 저장하는 매체, 또는 신호;
본 명세서에 기술된 바와 같이, 단독으로 또는 임의의 조합으로, 실시예들, 특징들, 또는 엔티티들 중 임의의 것에 따라 인코딩 및/또는 디코딩을 적용하는 것을 제공하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스;
본 명세서에 기술된 바와 같이, 단독으로 또는 임의의 조합으로, 실시예들, 특징들 또는 엔티티들 중 임의의 것에 따라 인코딩 및/또는 디코딩을 수행하고, 생성된 이미지를 (예컨대, 모니터, 스크린, 또는 다른 유형의 디스플레이를 사용하여) 디스플레이하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스;
포인트 클라우드 정보를 포함하는 신호를 수신하기 위해 채널을 (예컨대, 동조기를 사용하여) 동조시키고, 본 명세서에 기술된 바와 같이, 단독으로 또는 임의의 조합으로, 실시예들, 특징들 또는 엔티티들 중 임의의 것에 따라 인코딩 및/또는 디코딩을 수행하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스;
포인트 클라우드 정보를 포함하는 신호를 공중무선통신으로 (예컨대, 안테나를 사용하여) 수신하고, 본 명세서에 기술된 바와 같이, 단독으로 또는 임의의 조합으로, 실시예들, 특징들 또는 엔티티들 중 임의의 것에 따라 인코딩 및/또는 디코딩을 수행하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스;
컴퓨터에 의해 실행될 때, 본 명세서에 기술된 바와 같이, 단독으로 또는 임의의 조합으로, 실시예들, 특징들 또는 엔티티들 중 임의의 것에 따라 인코딩 및/또는 디코딩하는 프로그램 코드를 저장하는 컴퓨터 프로그램 제품.
명령어들을 실행하는 컴퓨터로 하여금, 본 명세서에 기술된 바와 같이, 단독으로 또는 임의의 조합으로, 실시예들, 특징들 또는 엔티티들 중 임의의 것에 따라 인코딩 및/또는 디코딩을 구현하게 하는 실행가능 프로그램 명령어들을 포함하는 비일시적 컴퓨터 판독가능 매체.

Claims (22)

  1. 장치로서,
    적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,
    포인트 클라우드를 표현하는 압축된 데이터를 포함하는 인코딩된 비트스트림을 수신하도록 - 상기 압축된 데이터는 트리 구조에 기초하여 압축됨 -; 및
    상기 인코딩된 비트스트림을 디코딩하도록 구성되고, 상기 인코딩된 비트스트림을 디코딩하는 것은, 상기 적어도 하나의 프로세서가 추가로,
    상기 트리 구조의 루트 노드로부터 시작하여;
    상기 트리 구조의 현재 노드에 대해 상기 비트스트림으로부터 데이터를 획득하고;
    상기 현재 노드에 대한 디폴트 콘텍스트를 초기화하고;
    상기 현재 노드에 대한 점유 심볼 분포를, 상기 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이용가능한 이웃 노드들로부터의 그리고 상기 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보(feature information)에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및
    상기 점유 심볼 분포에 기초하여 적응적 엔트로피 디코더를 사용하여 상기 현재 노드에 대한 점유 심볼을 디코딩하도록, 및,
    상기 트리 구조의 적어도 하나의 노드에 대한 상기 디코딩된 점유 심볼에 기초하여 확장된 트리를 결정하도록 구성되는 것을 포함하는, 장치.
  2. 방법으로서,
    포인트 클라우드를 표현하는 압축된 데이터를 포함하는 인코딩된 비트스트림을 수신하는 단계 - 상기 압축된 데이터는 트리 구조에 기초하여 압축됨 -; 및
    상기 인코딩된 비트스트림을 디코딩하는 단계를 포함하고, 상기 디코딩하는 단계는,
    트리의 루트 노드로부터 시작하여:
    상기 트리의 현재 노드에 대해 상기 비트스트림으로부터 데이터를 획득하고;
    상기 현재 노드에 대한 디폴트 콘텍스트를 초기화하고;
    상기 현재 노드에 대한 점유 심볼 분포를, 상기 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이용가능한 이웃 노드들로부터의 그리고 상기 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및
    상기 점유 심볼 분포에 기초하여 적응적 엔트로피 디코더를 사용하여 상기 현재 노드에 대한 점유 심볼을 디코딩하는 단계, 및
    상기 트리 구조의 적어도 하나의 노드에 대한 상기 디코딩된 점유 심볼에 기초하여 확장된 트리를 결정하는 단계를 포함하는, 방법.
  3. 장치로서,
    적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,
    포인트 클라우드를 표현하는 데이터를 압축하도록; 및
    상기 압축된 데이터를 포함하는 조합된 인코딩된 비트스트림을 제공하도록 구성되고, 상기 데이터를 압축하도록 구성되는 상기 적어도 하나의 프로세서는, 상기 적어도 하나의 프로세서가 추가로,
    상기 포인트 클라우드를 표현하는 상기 데이터에 포함된 원시 포인트 클라우드 기하구조 데이터를 트리 표현으로 변환하도록;
    트리 내의 모든 노드들에 대한 콘텍스트를 초기화하도록;
    트리 구조의 루트 노드로부터 시작하여:
    상기 트리 내의 현재 노드에 대한 점유 심볼 분포를, 상기 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이웃 노드들로부터의 그리고 상기 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및
    상기 예측된 점유 분포에 기초하여 적응적 엔트로피 인코더를 사용하여 상기 현재 노드를 표현하는 인코딩된 비트스트림으로 상기 현재 노드에 대한 점유 심볼을 인코딩하도록, 및
    각각의 노드를 표현하는 상기 인코딩된 비트스트림들을 조합하여 상기 조합된 인코딩된 비트스트림을 형성하도록 - 상기 조합된 인코딩된 비트스트림은 상기 트리를 표현함 - 구성되는 것을 포함하는, 장치.
  4. 방법으로서,
    포인트 클라우드를 표현하는 데이터를 압축하는 단계; 및
    상기 압축된 데이터를 포함하는 조합된 인코딩된 비트스트림을 제공하는 단계를 포함하고, 상기 압축하는 단계는,
    상기 포인트 클라우드를 표현하는 상기 데이터에 포함된 원시 포인트 클라우드 기하구조 데이터를 트리 표현으로 변환하는 단계;
    트리 내의 모든 노드들에 대한 콘텍스트를 초기화하는 단계;
    트리 구조의 루트 노드로부터 시작하여:
    상기 트리 내의 현재 노드에 대한 점유 심볼 분포를, 상기 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이웃 노드들로부터의 그리고 상기 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및
    상기 예측된 점유 분포에 기초하여 적응적 엔트로피 인코더를 사용하여 상기 현재 노드를 표현하는 인코딩된 비트스트림으로 상기 현재 노드에 대한 점유 심볼을 인코딩하는 단계, 및
    각각의 노드를 표현하는 상기 인코딩된 비트스트림들을 조합하여 상기 조합된 인코딩된 비트스트림을 형성하는 단계 - 상기 조합된 인코딩된 비트스트림은 상기 트리를 표현함 - 를 포함하는, 방법.
  5. 장치로서,
    적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,
    포인트 클라우드를 표현하는 압축된 데이터를 포함하는 인코딩된 비트스트림을 수신하도록 - 상기 압축된 데이터는 블록 기반 트리 구조에 기초하여 압축됨 -; 및
    상기 인코딩된 비트스트림을 디코딩하도록 구성되고, 상기 인코딩된 비트스트림을 디코딩하는 것은, 상기 적어도 하나의 프로세서가 추가로,
    상기 인코딩된 비트스트림으로부터 파티셔닝 비트스트림 및 하나 이상의 블록 비트스트림들 둘 모두를 획득하도록;
    상기 파티셔닝 비트스트림을 디코딩하여 포인트 클라우드 데이터의 블록 구조를 표시하는 얕은 파티션(shallow partition)을 복구하도록 - 상기 블록 구조 내의 블록들 각각은 상기 트리 구조에 기초하여 압축된 상기 포인트 클라우드를 표현하는 상기 데이터의 일부분을 포함함 -;
    각각의 블록에 대해, 상기 블록 비트스트림을,
    상기 트리 구조의 루트 노드로부터 시작하여:
    상기 블록과 연관된 상기 트리 구조의 현재 노드에 대해 상기 비트스트림으로부터 데이터를 획득하고;
    상기 현재 노드에 대한 디폴트 콘텍스트를 초기화하고;
    상기 현재 노드에 대한 점유 심볼 분포를, 상기 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이용가능한 이웃 노드들로부터의 그리고 상기 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및
    상기 점유 심볼 분포에 기초하여 적응적 엔트로피 디코더를 사용하여 상기 현재 노드에 대한 점유 심볼을 디코딩함으로써, 및
    상기 트리 구조의 적어도 하나의 노드에 대한 상기 디코딩된 점유 심볼에 기초하여 상기 블록에 대한 확장된 트리를 결정함으로써, 압축해제하도록; 및
    각각의 블록에 대한 상기 확장된 트리를 조합하여 상기 포인트 클라우드에 대한 확장된 트리를 제공하도록 구성되는 것을 포함하는, 장치.
  6. 방법으로서,
    포인트 클라우드를 표현하는 압축된 데이터를 포함하는 인코딩된 비트스트림을 수신하는 단계 - 상기 압축된 데이터는 블록 기반 트리 구조에 기초하여 압축됨 -; 및
    상기 인코딩된 비트스트림을 디코딩하는 단계를 포함하고, 상기 디코딩하는 단계는,
    상기 인코딩된 비트스트림으로부터 파티셔닝 비트스트림 및 하나 이상의 블록 비트스트림들 둘 모두를 획득하는 단계;
    상기 파티셔닝 비트스트림을 디코딩하여 포인트 클라우드 데이터의 블록 구조를 표시하는 얕은 파티션을 복구하는 단계 - 블록들 각각은 상기 트리 구조에 기초하여 압축된 상기 포인트 클라우드를 표현하는 상기 데이터의 일부분을 포함함 -;
    각각의 블록에 대해, 상기 블록 비트스트림을,
    상기 트리 구조의 루트 노드로부터 시작하여:
    상기 블록과 연관된 상기 트리 구조의 현재 노드에 대해 상기 비트스트림으로부터 데이터를 획득하고;
    상기 현재 노드에 대한 디폴트 콘텍스트를 초기화하고;
    상기 현재 노드에 대한 점유 심볼 분포를, 상기 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이용가능한 이웃 노드들로부터의 그리고 상기 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및
    상기 점유 심볼 분포에 기초하여 적응적 엔트로피 디코더를 사용하여 상기 현재 노드에 대한 점유 심볼을 디코딩함으로써, 및
    상기 트리 구조의 적어도 하나의 노드에 대한 상기 디코딩된 점유 심볼에 기초하여 상기 블록에 대한 확장된 트리를 결정함으로써, 압축해제하는 단계; 및
    각각의 블록에 대한 상기 확장된 트리를 조합하여 상기 포인트 클라우드에 대한 확장된 트리를 제공하는 단계를 포함하는, 방법.
  7. 장치로서,
    적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는,
    포인트 클라우드를 표현하는 데이터를 압축하도록; 및
    상기 압축된 데이터를 포함하는 조합된 인코딩된 비트스트림을 제공하도록 구성되고, 상기 데이터를 압축하도록 구성되는 상기 적어도 하나의 프로세서는, 상기 적어도 하나의 프로세서가 추가로,
    상기 포인트 클라우드를 표현하는 상기 데이터에 포함된 원시 포인트 클라우드 기하구조 데이터를 얕은 트리 구조에 기초하여 데이터의 블록들로 변환하도록;
    데이터의 각각의 블록에 대한 원점을 시프트하여 각각의 블록 내의 데이터의 원래 좌표들을 로컬 블록 좌표들로 시프트하도록;
    각각의 블록을 별개의 트리 구조로 변환하도록;
    각각의 블록 내의 모든 노드들에 대한 콘텍스트를 초기화하도록;
    각각의 블록의 상기 데이터를,
    상기 블록과 연관된 상기 트리 구조의 루트 노드로부터 시작하여:
    트리 내의 현재 노드에 대한 점유 심볼 분포를, 상기 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이웃 노드들로부터의 그리고 상기 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및
    상기 예측된 점유 분포에 기초하여 적응적 엔트로피 인코더를 사용하여 상기 현재 노드를 표현하는 인코딩된 비트스트림으로 상기 현재 노드에 대한 점유 심볼을 인코딩함으로써, 압축하도록,
    상기 블록의 각각의 노드를 표현하는 상기 인코딩된 비트스트림들을 조합하여 상기 블록의 상기 트리 구조를 표현하는 상기 블록에 대한 인코딩된 비트스트림을 형성하도록; 및
    각각의 블록에 대한 상기 인코딩된 비트스트림들 및 상기 얕은 트리 구조에 관한 정보를 조합하여 상기 조합된 인코딩된 비트스트림을 형성하도록 구성되는 것을 포함하는, 장치.
  8. 방법으로서,
    포인트 클라우드를 표현하는 데이터를 압축하는 단계; 및
    상기 압축된 데이터를 포함하는 조합된 인코딩된 비트스트림을 제공하는 단계를 포함하고, 상기 데이터를 압축하는 단계는,
    상기 포인트 클라우드를 표현하는 상기 데이터에 포함된 원시 포인트 클라우드 기하구조 데이터를 얕은 트리 구조에 기초하여 데이터의 블록들로 변환하는 단계;
    데이터의 각각의 블록에 대한 원점을 시프트하여 각각의 블록 내의 데이터의 원래 좌표들을 로컬 블록 좌표들로 시프트하는 단계;
    각각의 블록을 별개의 트리 구조로 변환하는 단계;
    각각의 블록 내의 모든 노드들에 대한 콘텍스트를 초기화하는 단계;
    각각의 블록의 상기 데이터를,
    상기 블록과 연관된 상기 트리 구조의 루트 노드로부터 시작하여:
    트리 내의 현재 노드에 대한 점유 심볼 분포를, 상기 현재 노드로부터의 콘텍스트 정보 및 하나 이상의 이웃 노드들로부터의 그리고 상기 현재 노드의 하나 이상의 조상 노드들로부터의 특징 정보에 기초하여 학습 기반 엔트로피 모델을 사용하여 예측하고; 및
    상기 예측된 점유 분포에 기초하여 적응적 엔트로피 인코더를 사용하여 상기 현재 노드를 표현하는 인코딩된 비트스트림으로 상기 현재 노드에 대한 점유 심볼을 인코딩함으로써, 압축하는 단계,
    상기 블록의 상기 트리의 각각의 노드를 표현하는 상기 인코딩된 비트스트림들을 조합하여 상기 블록의 상기 트리 구조를 표현하는 상기 블록에 대한 인코딩된 비트스트림을 형성하는 단계; 및
    각각의 블록에 대한 상기 인코딩된 비트스트림들 및 상기 얕은 트리 구조에 관한 정보를 조합하여 인코딩된 조합된 비트스트림을 형성하는 단계를 포함하는, 방법.
  9. 제1항, 제3항, 제5항 또는 제7항의 장치, 또는 제2항, 제4항, 제6항 또는 제8항의 방법에 있어서, 상기 트리 표현은 옥트리 또는 kd-트리 또는 쿼드트리-이진 트리(quad tree-binary tree, QTBT) 또는 예측 트리 중 하나를 포함하는, 장치 또는 방법.
  10. 제1항, 제3항, 제5항, 제7항 또는 제9항 중 어느 한 항에 있어서, 상기 점유 심볼 분포들을 예측하도록 구성되는 상기 적어도 하나의 프로세서는, 상기 적어도 하나의 프로세서가 추가로, 직렬로 또는 병렬로 상기 트리 내의 모든 노드들에 대한 상기 점유 심볼 분포를 예측하도록 구성되는 것을 추가로 포함하는, 장치.
  11. 제2항, 제4항, 제6항, 제8항, 또는 제9항 중 어느 한 항에 있어서, 상기 점유 심볼 분포들을 예측하는 단계는 직렬로 또는 병렬로 상기 트리 내의 모든 노드들에 대한 상기 점유 심볼 분포를 예측하는 단계를 포함하는, 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 학습 기반 엔트로피 모델은 상기 현재 노드의 형제들에 사용되는 동일한 학습 기반 모델을 통해 상기 하나 이상의 조상 노드들의 하나 이상의 형제 노드들의 하나 이상의 심층 특징(deep feature)들을 사용하여, 상기 점유 심볼 분포들을 예측하는, 장치 또는 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 학습 기반 엔트로피 모델은 상기 현재 노드의 형제들에 사용되는 동일한 학습 기반 모델을 통해 하나 이상의 조상 레벨들에 있는 모든 노드들의 하나 이상의 심층 특징들을 사용하여, 상기 점유 심볼 분포들을 예측하는, 장치 또는 방법.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서, 상기 학습 기반 엔트로피 모델은 별개의 학습 기반 모델을 통해 하나 이상의 조상 레벨들에 있는 모든 노드들의 하나 이상의 심층 특징들을 사용하여, 상기 점유 심볼 분포들을 예측하는, 장치 또는 방법.
  15. 제13항 또는 제14항에 있어서, 상기 학습 기반 모델은 상기 현재 노드와 연관된 부모 레벨 k에 있는 모든 노드들의 하나 이상의 심층 특징들을 k+1보다 더 깊은 모든 층들에 대해 사용하는, 방법 또는 장치.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서, 상기 트리 구조의 노드와 연관된 상기 콘텍스트는, 부모 노드의 점유율(occupancy), 상기 연관된 노드의 상기 트리 구조 내의 깊이 또는 레벨, 상기 연관된 노드의 옥탄트(octant), 및 상기 연관된 노드의 공간적 포지션(spatial position)을 포함하는, 방법 또는 장치.
  17. 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 제2항, 제4항, 제6항, 제8항, 제9항, 또는 제11항 내지 제16항 중 어느 한 항에 따른 방법을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램 제품.
  18. 실행가능 프로그램 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은, 상기 명령어들을 실행시키는 컴퓨터로 하여금, 제2항, 제4항, 제6항, 제8항, 제9항, 또는 제11항 내지 제16항 중 어느 한 항에 따른 방법을 수행하게 하는, 비일시적 컴퓨터 판독가능 매체.
  19. 제4항 또는 제8항, 또는 제4항 또는 제8항으로부터 종속하는 제9항 또는 제11항 내지 제16항 중 어느 한 항의 방법에 따라 압축된 포인트 클라우드를 표현하는 데이터를 포함하는 신호.
  20. 제4항 또는 제8항, 또는 제4항 또는 제8항으로부터 종속하는 제9항 또는 제11항 내지 제16항 중 어느 한 항의 방법에 따라 압축된 포인트 클라우드를 표현하는 데이터를 포함하도록 포맷화된, 비트스트림.
  21. 디바이스로서,
    제1항, 제3항, 제5항, 제7항, 제9항, 제10항, 또는 제12항 내지 제16항 중 어느 한 항에 따른 장치; 및
    (i) 이미지 정보를 표현하는 데이터를 포함하는 신호를 수신하도록 구성된 안테나, (ii) 상기 수신된 신호를 상기 이미지 정보를 표현하는 상기 데이터를 포함하는 주파수들의 대역으로 제한하도록 구성된 대역 제한기, 및 (iii) 상기 이미지 정보로부터 이미지를 디스플레이하도록 구성된 디스플레이 중 적어도 하나를 포함하는, 디바이스.
  22. 제21항에 있어서, 상기 디바이스는 텔레비전, 텔레비전 신호 수신기, 셋톱 박스, 게이트웨이 디바이스, 모바일 디바이스, 휴대폰, 태블릿, 컴퓨터, 랩톱, 또는 다른 전자 디바이스 중 하나를 포함하는, 디바이스.
KR1020237026519A 2021-01-11 2022-01-10 포인트 클라우드 프로세싱을 위한 장치 및 방법 KR20230131878A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163135775P 2021-01-11 2021-01-11
US63/135,775 2021-01-11
PCT/US2022/011764 WO2022150680A1 (en) 2021-01-11 2022-01-10 Apparatus and method for point cloud processing

Publications (1)

Publication Number Publication Date
KR20230131878A true KR20230131878A (ko) 2023-09-14

Family

ID=80123287

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237026519A KR20230131878A (ko) 2021-01-11 2022-01-10 포인트 클라우드 프로세싱을 위한 장치 및 방법

Country Status (5)

Country Link
US (1) US20240078715A1 (ko)
EP (1) EP4275354A1 (ko)
KR (1) KR20230131878A (ko)
CN (1) CN116803082A (ko)
WO (1) WO2022150680A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11676310B2 (en) * 2019-11-16 2023-06-13 Uatc, Llc System and methods for encoding octree structured point cloud data using an entropy model
CA3233818A1 (en) * 2021-10-05 2023-04-13 Interdigital Vc Holdings, Inc. Method and apparatus for point cloud compression using hybrid deep entropy coding
WO2024081133A1 (en) * 2022-10-13 2024-04-18 Interdigital Vc Holdings, Inc. Sparse tensor-based bitwise deep octree coding
WO2024086154A1 (en) * 2022-10-18 2024-04-25 Interdigital Patent Holdings, Inc. Tree-based deep entropy model for point cloud compression
CN117014633B (zh) * 2023-10-07 2024-04-05 深圳大学 一种跨模态数据压缩方法、装置、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4213096A1 (en) * 2018-01-18 2023-07-19 BlackBerry Limited Methods and devices for entropy coding point clouds
WO2020146571A1 (en) * 2019-01-09 2020-07-16 Tencent America LLC Method and apparatus for dynamic point cloud partition packing
US11122102B2 (en) * 2019-07-03 2021-09-14 Lg Electronics Inc. Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus and point cloud data reception method

Also Published As

Publication number Publication date
EP4275354A1 (en) 2023-11-15
US20240078715A1 (en) 2024-03-07
WO2022150680A1 (en) 2022-07-14
CN116803082A (zh) 2023-09-22

Similar Documents

Publication Publication Date Title
US11308651B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20240078715A1 (en) Apparatus and method for point cloud processing
US11328440B2 (en) Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method
KR20210040273A (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US20230164353A1 (en) Point cloud data processing device and processing method
US20230059625A1 (en) Transform-based image coding method and apparatus therefor
WO2023132919A1 (en) Scalable framework for point cloud compression
US20220383552A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20220337872A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
EP4340363A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
US20230154052A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
WO2023113917A1 (en) Hybrid framework for point cloud compression
WO2023059727A1 (en) Method and apparatus for point cloud compression using hybrid deep entropy coding
EP4325853A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20240020885A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
US20240062428A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
US20230232042A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2023081009A1 (en) State summarization for binary voxel grid coding
EP4330920A1 (en) Learning-based point cloud compression via tearing transform
US20230334719A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230316584A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
WO2023091260A1 (en) Outlier grouping based point cloud compression
EP4152264A1 (en) Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor
EP4360053A1 (en) Learning-based point cloud compression via unfolding of 3d point clouds
WO2023081007A1 (en) Learning-based point cloud compression via adaptive point generation