KR20210142713A - 포인트 클라우드 압축을 위한 변환 계수들의 알파벳-파티션 코딩을 위한 기술들 및 장치들 - Google Patents

포인트 클라우드 압축을 위한 변환 계수들의 알파벳-파티션 코딩을 위한 기술들 및 장치들 Download PDF

Info

Publication number
KR20210142713A
KR20210142713A KR1020217034386A KR20217034386A KR20210142713A KR 20210142713 A KR20210142713 A KR 20210142713A KR 1020217034386 A KR1020217034386 A KR 1020217034386A KR 20217034386 A KR20217034386 A KR 20217034386A KR 20210142713 A KR20210142713 A KR 20210142713A
Authority
KR
South Korea
Prior art keywords
index values
transform coefficients
symbol
alphabet
values
Prior art date
Application number
KR1020217034386A
Other languages
English (en)
Other versions
KR102584519B1 (ko
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 KR20210142713A publication Critical patent/KR20210142713A/ko
Application granted granted Critical
Publication of KR102584519B1 publication Critical patent/KR102584519B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/2163Partitioning the feature space
    • G06K9/6261
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4084Scaling of whole images or parts thereof, e.g. expanding or contracting in the transform domain, e.g. fast Fourier transform [FFT] domain scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/10Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being negative
    • 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/18Methods 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 set of transform coefficients
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

포인트 클라우드 계수 코딩을 위한 방법, 장치, 및 컴퓨터 판독가능한 매체가 제공된다. 포인트 클라우드 데이터와 연관된 변환 계수들은 세트-인덱스 값들과 심볼-인덱스 값들로 분해되며, 심볼-인덱스 값들은 세트 내에서의 변환 계수들의 위치를 명시한다. 분해된 변환 계수들은 세트-인덱스 값들과 심볼-인덱스 값들에 기초하여 하나 이상의 세트로 파티셔닝된다. 파티셔닝된 변환 계수들의 세트-인덱스 값들은 엔트로피-코딩되고, 파티셔닝된 변환 계수들의 심볼-인덱스 값들은 바이패스-코딩된다. 포인트 클라우드 데이터는 엔트로피-코딩된 심볼-인덱스 값들과 바이패스-코딩된 세트-인덱스 값들에 기초하여 압축된다.

Description

포인트 클라우드 압축을 위한 변환 계수들의 알파벳-파티션 코딩을 위한 기술들 및 장치들
관련 출원의 상호참조
본 출원은, 그 전체 내용이 참조에 의해 본 명세서에 포함되는 2020년 1월 9일 출원된 미국 가출원 제62/958,839호 및 제62/958,846호와, 2020년 12월 3일 출원된 미국 특허 출원 제17/110,691호의 우선권을 주장한다.
실시예들에 따른 방법들 및 장치들은, 그래프-기반의 포인트 클라우드 압축(graph-based point cloud compression)(G-PCC)에 관한 것으로, 더 구체적으로는 포인트 클라우드 계수 코딩을 위한 방법 및 장치에 관한 것이다.
세상에 대한 진보된 3차원(3D) 표현들은 더욱 몰입감 있는 형태들의 상호작용 및 소통을 가능케하고, 또한 머신들이 우리의 세상을 이해, 해석 및 네비게이트하는 것을 허용한다. 3D 포인트 클라우드는 이러한 정보의 표현을 가능케하는 것으로 등장했다. 포인트 클라우드 데이터와 연관된 다수의 이용 사례가 식별되었으며, 포인트 클라우드 표현 및 압축에 대한 대응하는 요건들이 개발되었다. 예를 들어, 포인트 클라우드들은 물체 검출 및 위치파악을 위해 자율 주행에서 이용될 수 있다. 포인트 클라우드들은 맵핑을 위해 지리 정보 시스템(GIS)들에서도 이용될 수 있으며, 문화 유산 객체들 및 모음들을 시각화하고 보관하기 위해 문화 유산에서도 이용될 수 있다.
포인트 클라우드는 3D 공간에서의 포인트들의 세트이고, 각각은 연관된 속성들, 예를 들어, 컬러, 재료 속성들 등을 갖는다. 포인트 클라우드들은 이러한 포인트들의 합성으로서 물체나 장면을 복원하는데 이용될 수 있다. 이들은 다양한 설정의 복수의 카메라, 깊이 센서 또는 Lidar 센서를 이용하여 캡처될 수 있으며, 복원된 장면들을 사실적으로 나타내기 위해 수천 내지 최대 수십억개의 포인트로 구성될 수 있다.
포인트 클라우드를 나타내는 데이터의 양을 감소시키기 위해서는 압축 기술들이 필요하다. 따라서, 실시간 통신 및 6 자유도(six degrees of freedom)(6DoF) 가상 현실에 이용하기 위한 포인트 클라우드들의 유손실 압축을 위한 기술들이 필요하다. 또한, 자율 주행 및 문화 유산 응용들 등의 위한 동적 맵핑의 정황에서 무손실 포인트 클라우드 압축을 위한 기술이 모색되고 있다. MPEG(Moving Picture Experts Group)은, 예컨대 컬러들 및 반사율, 확장가능/프로그레시브 코딩, 시간 경과에 따라 캡처된 포인트 클라우드 시퀀스의 코딩, 및 포인트 클라우드 서브세트들에 대한 랜덤 액세스와 같은, 지오메트리와 속성들의 압축을 해결하는 표준에 관한 연구를 시작했다.
도 1a는 G-PCC에서 LoD(levels of detail)를 생성하는 방법을 나타내는 도면이다.
도 1a를 참조하면, 현재의 G-PCC 속성 코딩에서, 각각의 3D 포인트(예를 들어, P0-P9)의 LoD(즉, 그룹)는 각각의 3D 포인트의 거리에 기초하여 생성된 다음, 각각의 LoD에서의 3D 포인트들의 속성 값들은, 3D 포인트들의 원래 순서(105) 대신에 LoD 기반의 순서(110)로 예측을 적용함으로써 인코딩된다. 예를 들어, 3D 포인트 P2의 속성 값은, 3D 포인트 P2 이전에 인코딩되거나 디코딩된 3D 포인트들 P0, P5, P4의 거리 기반의 가중 평균값을 계산함으로써 예측된다.
G-PCC에서 현재의 앵커 방법은 다음과 같이 진행한다.
먼저, 3D 포인트의 이웃의 변동성이 계산되어 이웃 값들이 얼마나 상이한지를 체크라고, 변동성이 임계값보다 낮다면, 거리 기반의 가중 평균 예측 계산은, 현재의 포인트 i의 최근접 이웃들의 거리들에 기초한 선형 보간 프로세스를 이용하여, 속성 값들
Figure pct00001
을 예측함으로써 수행된다.
Figure pct00002
을 현재의 포인트 i의 한 세트의 k-최근접 이웃들이라고 하고,
Figure pct00003
을 그들의 디코딩된/복원된 속성 값들이라고 하고,
Figure pct00004
을 현재의 포인트 i까지의 그들의 거리들이라고 하자. 예측된 속성 값
Figure pct00005
는 다음과 같이 주어진다:
Figure pct00006
(방정식 1)
모든 포인트 클라우드의 기하학적 위치들은 속성들이 코딩될 때 이미 이용가능하다는 점에 유의한다. 또한, 이웃 포인트들은 그들의 복원된 속성 값들과 함께, 동일한 방식으로 각각의 포인트에 대한 최근접 이웃 검색을 용이화하는데 이용되는 k-차원 트리 구조로서 인코더 및 디코더 양쪽 모두에서 이용가능하다.
둘째, 변동성이 임계값보다 높다면, 레이트-왜곡 최적화된(rate-distortion optimized)(RDO) 예측기 선택이 수행된다. LoD 생성시 이웃 포인트 검색의 결과에 기초하여 복수의 예측기 후보 또는 후보 예측 값이 생성된다. 예를 들어, 3D 포인트 P2의 속성 값이 예측을 이용하여 인코딩될 때, 3D 포인트 P2로부터 3D 포인트들 P0, P5, P4 각각까지의 거리들의 가중 평균값은 0과 동일한 예측기 인덱스로 설정된다. 그 다음, 3D 포인트 P2에서 최근접 이웃 포인트 P4까지의 거리는 1과 동일한 예측기 인덱스로 설정된다. 또한, 3D 포인트 P2로부터 각각 그 다음으로 최근접 이웃 포인트들 P5 및 P0까지의 거리들은, 아래의 표 1에 표시된 바와 같이 2 및 3과 동일한 예측기 인덱스들로 설정된다.
표 1: 속성 코딩을 위한 예측기 후보의 샘플
Figure pct00007
예측기 후보들을 생성한 후, 레이트-왜곡 최적화 절차를 적용함으로써 최상의 예측기가 선택되고, 선택된 예측기 인덱스는 TU(truncated unary) 코드에 맵핑되며, 그 빈(bin)들은 산술적으로 인코딩된다. 더 짧은 TU 코드는 표 1에서 더 작은 예측기 인덱스에 할당될 것이라는 점에 유의한다.
예측기 후보들 MaxNumCand의 최대 수가 정의되고 속성 헤더 내에 인코딩된다. 현재의 구현에서, 예측기 후보 MaxNumCand의 최대 수는 numberOfNearestNeighborsInPrediction + 1과 동일하게 설정되고, 절삭된 단항 2진화와 함께 예측기 인덱스들을 인코딩 및 디코딩하는데 이용된다.
G-PCC에서 속성 코딩을 위한 리프팅 변환은 전술된 예측 변환이 상단에 구축된다. 예측 방식과 리프팅 방식 사이의 주요 차이점은 업데이트 연산자의 도입이다.
도 1b는 G-PCC에서 P/U(Prediction/Update)-리프팅을 위한 아키텍처의 도면이다. 리프팅에서 예측 및 업데이트 단계들을 용이화하기 위해, 분해의 각각의 스테이지에서 신호를 2개 세트의 높은 상관관계로 분할해야 한다. G-PCC에서의 리프팅 방식에서, 분할은, 레벨들 사이에서 이러한 높은 상관관계가 예상되고 각각의 레벨은 최근접 이웃 검색에 의해 불균일한 포인트 클라우드들을 구조화된 데이터로 조직화하도록 구성되는 LoD 구조를 활용함으로써 수행된다. 레벨 N에서의 P/U 분해 단계는, 상세 신호 D(N-1) 및 근사 신호 A(N-1)를 생성하며, 이것은 D(N-2) 및 A(N-2)로 더 분해된다. 이 단계는, 베이스 계층 근사 신호 A(1)가 획득될 때까지 반복적으로 적용된다.
결과적으로, LOD(N), ..., LOD(1)로 구성된 입력 속성 신호 자체를 코딩하는 것 대신에, 리프팅 방식에서는 D(N-1), D(N-2), ..., D(1), A(1)을 코딩하는 것으로 끝맺는다. 효율적인 P/U 단계들의 적용은, 종종, D(N-1), …, D(1)에서 저밀도 부대역들 "계수들"로 이어짐으로써, 변환 코딩 이득 이점을 제공한다는 점에 유의한다.
현재, 예측 변환을 위한 전술된 거리 기반의 가중 평균 예측이, 리프팅에서의 예측 단계를 위해 G-PCC에서의 앵커 방법으로서 이용된다.
G-PCC에서의 속성 코딩을 위한 예측 및 리프팅에서, 더 많은 이웃 속성 샘플들은 더 양호한 예측을 제공할 수 있으므로 이웃 속성 샘플들의 가용성은 압축 효율성에 대해 중요하다. 예측을 위한 이웃들이 충분하지 않은 경우, 압축 효율성이 손상될 수 있다.
G-PCC에서 속성 코딩을 위한 또 다른 유형의 변환은 영역 적응형 계층적 변환(Region Adaptive Hierarchical Transform)(RAHT)일 수 있다. RAHT 및 그 역은 복셀 위치들의 모턴(Morton) 코드들에 의해 정의된 계층에 관해 수행될 수 있다. d-비트 음이 아닌 정수 좌표들 x, y, 및 z의 모턴 코드는, x, y, 및 z의 비트들을 인터리빙함으로써 획득될 수 있는 3d-비트 음이 아닌 정수일 수 있다. 음이 아닌 d-비트 정수 좌표들
Figure pct00008
(방정식 2)
(여기서,
Figure pct00009
Figure pct00010
(고차) 내지
Figure pct00011
(저차)일 때 x, y, z의 비트들일 수 있음)
의 모턴 코드 M = morton(x, y, z)은 음이 아닌 3d-비트 정수이다.
Figure pct00012
(방정식 3)
여기서,
Figure pct00013
Figure pct00014
(고차) 내지
Figure pct00015
(저차)일 때 M의 비트들이다.
Figure pct00016
은 M의
Figure pct00017
-비트 접두사를 나타낸다. m은 이러한 접두사이다. 레벨
Figure pct00018
에 있는 블록은,
Figure pct00019
인 경우, 모든 포인트
Figure pct00020
의 세트이도록 접두사 m을 이용하여 정의될 수 있다. 레벨
Figure pct00021
에 있는 2개의 블록은 그들이 동일한
Figure pct00022
-비트 접두사를 가진다면 형제 블록들(sibling blocks)일 수 있다. 레벨
Figure pct00023
에 있는 2개의 형제 블록의 연합(union)은 그들의 부모 블록이라 불리는 레벨
Figure pct00024
에 있는 블록일 수 있다.
시퀀스
Figure pct00025
의 영역 적응형 하르 변환(Region Adaptive Haar Transform), 및 그 역은, 베이스 케이스(base case) 및 재귀 함수(recursive function)를 포함할 수 있다. 베이스 케이스의 경우, An은 포인트의 속성일 수 있고, Tn은 그 변환일 수 있으며, 여기서, Tn = An. 재귀 함수의 경우, 2개의 형제 블록과 그들의 부모 블록이 있을 수 있다.
Figure pct00026
Figure pct00027
은 증가하는 모턴 순서로 나열된 형제 블록들에서의 포인트
Figure pct00028
의 속성일 수 있고,
Figure pct00029
Figure pct00030
은 그들 각각의 변환일 수 있다. 유사하게,
Figure pct00031
은 증가하는 모턴 순서로 나열된 그들의 부모 블록들 내의 모든 포인트
Figure pct00032
의 속성들일 수 있고,
Figure pct00033
은 그 변환일 수 있다. 그 다음,
Figure pct00034
(방정식 4)
Figure pct00035
(방정식 5)
Figure pct00036
(방정식 6)
여기서
Figure pct00037
이고,
Figure pct00038
이다. (방정식 7)
부모 블록의 변환은 2개의 형제 블록의 연결(concatenation)일 수 있지만, 2개의 형제 블록의 변환들의 첫 번째(DC) 성분들은 그들의 가중된 합과 차이로 대체될 수 있다는 예외가 존재하며, 역으로, 2개의 형제 블록의 변환들은 부모 블록의 변환의 첫번째 부분과 마지막 부분으로부터 복사될 수 있지만, 2개의 형제 블록 변환들의 DC 성분들은 그들의 가중된 차이와 합
Figure pct00039
(방정식 8)
Figure pct00040
(방정식 9)
으로 대체될 수 있다는 예외가 존재한다.
변환된 속성 계수들을 효율적으로 코딩하기 위하여, N(예를 들어, 32)개의 가장 빈번한 계수 심볼들을 추적할 수 있는 적응형 조회 테이블(A-LUT) 및 마지막의 상이한 관찰된 M(예를 들어, 16)개의 계수 심볼들을 추적할 수 있는 캐시(cache)가 이용될 수 있다. A-LUT는, 사용자가 제공한 N개의 심볼로 초기화되거나 유사한 클래스의 포인트 클라우드들의 통계에 기초하여 오프라인으로 계산될 수 있다. 캐시는, 사용자가 제공한 M개의 심볼로 초기화되거나 유사한 클래스의 포인트 클라우드들의 통계에 기초하여 오프라인으로 계산될 수 있다. 심볼 S가 인코딩될 때, S가 A-LUT에 있는지의 여부를 나타내는 2진 정보가 인코딩될 수 있다. S가 A-LUT에 있는 경우, A-LUT 내의 S의 인덱스는 2진 산술 인코더를 이용함으로써 인코딩될 수 있다. A-LUT 내의 심볼 S의 발생 횟수는 1씩 증가될 수 있다. S가 A-LUT에 있지 않은 경우, S가 캐시에 있는지의 여부를 나타내는 2진 정보가 인코딩될 수 있다. S가 캐시에 있는 경우, 그 인덱스의 2진 표현은 2진 산술 인코더를 이용함으로써 인코딩될 수 있다. S가 캐시에 있지 않다면, S의 2진 표현은 2진 산술 인코더를 이용함으로써 인코딩될 수 있다. 심볼 S가 캐시에 추가될 수 있고 캐시에서 가장 오래된 심볼은 제거된다.
실시예들에 따르면, 포인트 클라우드 계수 코딩의 방법은 적어도 하나의 프로세서에 의해 수행되고, 포인트 클라우드 데이터와 연관된 변환 계수들을 세트-인덱스 값들 및 심볼-인덱스 값들로 분해하는 단계를 포함하며, 심볼-인덱스 값은 세트에서의 변환 계수의 위치를 명시한다. 분해된 변환 계수들은 세트-인덱스 값들 및 심볼-인덱스 값들에 기초하여 하나 이상의 세트로 파티셔닝(partition)될 수 있다. 파티셔닝된 변환 계수들의 세트-인덱스 값들은 엔트로피-코딩될 수 있고, 파티셔닝된 변환 계수들의 심볼-인덱스 값들은 바이패스-코딩될 수 있다. 포인트 클라우드 데이터는, 엔트로피-코딩된 세트-인덱스 값들 및 바이패스-코딩된 심볼-인덱스 값들에 기초하여 압축될 수 있다.
실시예들에 따르면, 포인트 클라우드 계수 코딩을 위한 장치는 컴퓨터 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리, 및 적어도 하나의 메모리에 액세스하고 컴퓨터 프로그램 코드에 따라 동작하도록 구성된 적어도 하나의 프로세서를 포함한다. 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서로 하여금, 포인트 클라우드 데이터와 연관된 변환 계수들을 세트-인덱스 값들 및 심볼-인덱스 값들로 분해하는 단계를 포함할 수 있는 방법을 실행하게 하도록 구성된 코드를 포함하며, 여기서, 심볼-인덱스 값은 세트 내에서의 변환 계수의 위치를 명시한다. 분해된 변환 계수들은 세트-인덱스 값들 및 심볼-인덱스 값들에 기초하여 하나 이상의 세트로 파티셔닝될 수 있다. 파티셔닝된 변환 계수들의 세트-인덱스 값들은 엔트로피-코딩될 수 있고, 파티셔닝된 변환 계수들의 심볼-인덱스 값들은 바이패스-코딩될 수 있다. 포인트 클라우드 데이터는, 엔트로피-코딩된 세트-인덱스 값들 및 바이패스-코딩된 심볼-인덱스 값들에 기초하여 압축될 수 있다.
실시예들에 따르면, 비일시적인 컴퓨터 판독가능한 저장 매체는, 적어도 하나의 프로세서로 하여금, 포인트 클라우드 데이터와 연관된 변환 계수들을 세트-인덱스 값들 및 심볼-인덱스 값들로 분해하게 하는 명령어들을 저장하며, 여기서 심볼-인덱스 값은 세트 내에서의 변환 계수의 위치를 명시한다. 분해된 변환 계수들은 세트-인덱스 값들 및 심볼-인덱스 값들에 기초하여 하나 이상의 세트로 파티셔닝될 수 있다. 파티셔닝된 변환 계수들의 세트-인덱스 값들은 엔트로피-코딩될 수 있고, 파티셔닝된 변환 계수들의 심볼-인덱스 값들은 바이패스-코딩될 수 있다. 포인트 클라우드 데이터는, 엔트로피-코딩된 세트-인덱스 값들 및 바이패스-코딩된 심볼-인덱스 값들에 기초하여 압축될 수 있다.
도 1a는 G-PCC에서 LoD를 생성하는 방법을 나타내는 도면이다.
도 1b는 G-PCC에서 P/U-리프팅을 위한 아키텍처의 도면이다.
도 2는 실시예들에 따른 통신 시스템의 블록도이다.
도 3은 실시예들에 따른 환경 내의 G-PCC 압축기 및 G-PCC 압축해제기의 배치의 도면이다.
도 4는 실시예들에 따른 G-PCC 압축기의 기능 블록도이다.
도 5는 실시예들에 따른 G-PCC 압축해제기의 기능 블록도이다.
도 6은 실시예들에 따른 포인트 클라우드 계수 코딩 방법을 나타내는 플로차트이다.
도 7은 실시예들에 따른 포인트 클라우드 계수 코딩을 위한 장치의 블록도이다.
도 8은 실시예들을 구현하기에 적합한 컴퓨터 시스템의 도면이다.
여기서 설명된 실시예들은 포인트 클라우드 계수 코딩을 위한 방법 및 장치를 제공한다. 상세하게는, Lifting, Predicting-Transform, 및 RAHT로부터의 변환 계수들의 코딩은, 심볼 값의 빈도-정렬된 조회 테이블 인덱스 코딩, 캐시-인덱스 코딩, 및 직접 코딩에 의해 수행될 수 있다. 사실상, 이들은, 1바이트 코드워드들을 커버하는 많은(전형적으로 아마도 32개 내지 최대 256개) 엔트리들을 갖는 복수의 조회 테이블과 캐시들을 요구할 수 있다. 이들 조회 테이블과 캐시는 정기적인 업데이트들을 추가로 필요로 할 수 있고, 그 빈도는 계산 요구사항 및 코딩 효율성 측면에서 상이한 절충들을 암시할 수 있다. 따라서, 알파벳-파티셔닝 및 알파벳-파티션 정보의 코딩을 통해 복잡성/메모리 및 압축 효율성 절충들의 측면에서 G-PCC에서의 속성들에 대한 변환 계수들의 코딩을 개선하는 것이 유리할 수 있다.
도 2는 실시예들에 따른 통신 시스템(200)의 블록도이다. 통신 시스템(200)은 네트워크(250)를 통해 접속된 적어도 2개의 단말기(210 및 220)를 포함할 수 있다. 데이터의 단방향 전송을 위해, 제1 단말기(210)는 네트워크(250)를 통해 제2 단말기(220)로의 전송을 위해 한 로컬 위치의 포인트 클라우드 데이터를 코딩할 수 있다. 제2 단말기(220)는 네트워크(250)로부터 제1 단말기(210)의 코딩된 포인트 클라우드 데이터를 수신하고, 코딩된 포인트 클라우드 데이터를 디코딩하고, 디코딩된 포인트 클라우드 데이터를 디스플레이할 수 있다. 단방향 데이터 전송은 미디어 서빙 애플리케이션들 등에서 일반적일 수 있다.
도 2는, 예를 들어 화상 회의 동안 발생할 수 있는 코딩된 포인트 클라우드 데이터의 양방향 전송을 지원하기 위해 제공된 제2 쌍의 단말기들(230 및 240)을 추가로 도시한다. 데이터의 양방향 전송을 위해, 각각의 단말기(230 또는 240)는 네트워크(250)를 통해 다른 단말기로 전송하기 위한 한 로컬 위치에서 캡처된 포인트 클라우드 데이터를 코딩할 수 있다. 또한, 각각의 단말기(230 또는 240)는 다른 단말기에 의해 전송된 코딩된 포인트 클라우드 데이터를 수신하고, 코딩된 포인트 클라우드 데이터를 디코딩하고, 디코딩된 포인트 클라우드 데이터를 로컬 디스플레이 디바이스에서 디스플레이할 수 있다.
도 2에서, 단말기들(210-240)은, 서버들, 개인용 컴퓨터들 및 스마트폰들로서 예시될 수 있지만, 실시예들의 원리는 이것으로 제한되는 것은 아니다. 실시예들은, 랩탑 컴퓨터들, 태블릿 컴퓨터들, 미디어 플레이어들 및/또는 전용 화상 회의 장비에서 그 응용성을 발견한다. 네트워크(250)는, 예를 들어 유선 및/또는 무선 통신 네트워크들을 포함한, 단말기들(210-240) 사이에서 코딩된 포인트 클라우드 데이터를 전달하는 임의의 수의 네트워크를 나타낸다. 통신 네트워크(250)는 회선 교환형 및/또는 패킷 교환형 채널에서 데이터를 교환할 수 있다. 대표적인 네트워크들은, 통신 네트워크들, 근거리 통신망들, 광역 네트워크들 및/또는 인터넷을 포함한다. 본 논의의 목적을 위해, 네트워크(250)의 아키텍처 및 토폴로지는, 이하에서 설명되지 않는 한, 실시예들의 동작에 대해 중요하지 않을 수 있다.
도 3은, 실시예들에 따른 환경 내의 G-PCC 압축기(303) 및 G-PCC 압축해제기(310)의 배치의 도면이다. 개시된 주제는, 예를 들어 화상 회의, 디지털 TV, CD, DVD, 메모리 스틱 등을 포함한 디지털 미디어 상에서의 압축된 포인트 클라우드 데이터의 저장 등을 포함한, 다른 포인트 클라우드 가능형 응용들에 동등하게 적용될 수 있다.
스트리밍 시스템(300)은, 예를 들어 압축되지 않은 포인트 클라우드 데이터(302)를 생성하는, 예를 들어 디지털 카메라 등의 포인트 클라우드 소스(301)를 포함할 수 있는 캡처 서브시스템(313)을 포함할 수 있다. 더 높은 데이터 볼륨을 갖는 포인트 클라우드 데이터(302)는 포인트 클라우드 소스(301)에 결합된 G-PCC 압축기(303)에 의해 처리될 수 있다. G-PCC 압축기(303)는, 아래에서 더 상세히 설명되는 바와 같이 개시된 주제의 양태들을 가능케하거나 구현하기 위해 하드웨어, 소프트웨어, 또는 이들의 조합을 포함할 수 있다. 더 낮은 데이터 볼륨을 갖는 인코딩된 포인트 클라우드 데이터(304)는 미래의 이용을 위해 스트리밍 서버(305)에 저장될 수 있다. 하나 이상의 스트리밍 클라이언트(306 및 308)는, 인코딩된 포인트 클라우드 데이터(304)의 사본들(307 및 309)을 회수하기 위해 스트리밍 서버(305)에 액세스할 수 있다. 클라이언트(306)는, 인코딩된 포인트 클라우드 데이터의 인입 사본(307)을 디코딩하여, 디스플레이(312) 또는 다른 렌더링 디바이스(미도시) 상에서 렌더링될 수 있는 송출 포인트 클라우드 데이터(311)를 생성하는 G-PCC 압축해제기(310)를 포함할 수 있다. 일부 스트리밍 시스템에서, 인코딩된 포인트 클라우드 데이터(304, 307 및 309)는 비디오 코딩/압축 표준들에 따라 인코딩될 수 있다. 이들 표준의 예는, MPEG에 의해 G-PCC용으로 개발 중인 표준들을 포함한다.
도 4는 실시예들에 따른 G-PCC 압축기(303)의 기능 블록도이다.
도 4에 도시된 바와 같이, G-PCC 압축기(303)는 양자화기(405), 포인트 제거 모듈(410), 옥트리 인코더(415), 속성 전달 모듈(420), LoD 생성기(425), 예측 모듈(430), 양자화기(435) 및 산술 코더(440)를 포함한다.
양자화기(405)는 입력 포인트 클라우드에서의 포인트들의 위치들을 수신한다. 위치들은 (x, y, z) 좌표들일 수 있다. 양자화기(405)는 또한, 예를 들어, 스케일링 알고리즘 및/또는 시프팅 알고리즘을 이용하여 수신된 위치들을 양자화한다.
포인트 제거 모듈(410)은 양자화기(405)로부터 양자화된 위치들을 수신하고, 수신된 양자화된 위치들로부터 중복 위치들을 제거하거나 필터링한다.
옥트리 인코더(415)는 포인트 제거 모듈(410)로부터 필터링된 위치들을 수신하고, 옥트리 인코딩 알고리즘을 이용하여, 수신된 필터링된 위치들을 입력 포인트 클라우드를 나타내는 옥트리의 점유 심볼들로 인코딩한다. 옥트리에 대응하는 입력 포인트 클라우드의 경계 박스는 임의의 3D 형상, 예를 들어 큐브일 수 있다.
옥트리 인코더(415)는 또한, 필터링된 위치들의 인코딩에 기초하여, 수신된 필터링된 위치들을 재정렬한다.
속성 전달 모듈(420)은 입력 포인트 클라우드에서의 포인트들의 속성들을 수신한다. 속성들은, 예를 들어 각각의 포인트의 컬러 또는 RGB 값 및/또는 반사율을 포함할 수 있다. 속성 전달 모듈(420)은 또한, 옥트리 인코더(415)로부터 재정렬된 위치들을 수신한다.
속성 전달 모듈(420)은 또한, 수신된 재정렬된 위치들에 기초하여 수신된 속성들을 업데이트한다. 예를 들어, 속성 전달 모듈(420)은 수신된 속성들에 관해 전처리 알고리즘들 중 하나 이상을 수행할 수 있으며, 전처리 알고리즘들은, 예를 들어, 수신된 속성들에 대한 가중치 부여 및 평균화와, 수신된 속성들로부터의 추가 속성들의 보간을 포함한다. 속성 전달 모듈(420)은 또한, 업데이트된 속성들을 예측 모듈(430)에 전달한다.
LoD 생성기(425)는 옥트리 인코더(415)로부터 재정렬된 위치들을 수신하고, 수신된 재정렬된 위치들에 대응하는 포인트들 각각의 LoD를 획득한다. 각각의 LoD는 포인트들의 그룹인 것으로 간주될 수 있으며, 포인트들 각각의 거리에 기초하여 획득될 수 있다. 예를 들어, 도 1a에 도시된 바와 같이, 포인트들 P0, P5, P4 및 P2는 LoD LOD0에 있을 수 있고, 포인트들 P0, P5, P4, P2, P1, P6 및 P3은 LoD LOD1에 있을 수 있으며, 포인트들 P0, P5, P4, P2, P1, P6, P3, P9, P8 및 P7은 LoD LOD2에 있을 수 있다.
예측 모듈(430)은 속성 전달 모듈(420)로부터 전달된 속성들을 수신하고, LoD 생성기(425)로부터 포인트들 각각의 획득된 LoD를 수신한다. 예측 모듈(430)은, 포인트들 각각의 수신 LoD에 기초하여 순서대로 수신된 속성들에 예측 알고리즘을 적용함으로써 수신된 속성들 각각의 예측 잔차들(값들)을 획득한다. 예측 알고리즘은, 예를 들어, 보간, 가중 평균 계산, 최근접 이웃 알고리즘, RDO와 같은, 다양한 예측 알고리즘 중에서 임의의 것을 포함할 수 있다.
예를 들어, 도 1a에 도시된 바와 같이, LoD LOD0에 포함된 포인트들 P0, P5, P4, 및 P2의 수신된 속성들 각각의 예측 잔차들은, LoD들 LOD1 및 LOD2에 각각 포함된 포인트들 P1, P6, P3, P9, P8 및 P7의 수신된 속성들의 것들보다 앞서 먼저 획득될 수 있다. 포인트 P2의 수신된 속성들의 예측 잔차들은, 포인트들 P0, P5 및 P4의 가중 평균에 기초하여 거리를 계산함으로써 획득될 수 있다.
양자화기(435)는 예측 모듈(430)로부터 획득된 예측 잔차들을 수신하고, 예를 들어, 스케일링 알고리즘 및/또는 시프팅 알고리즘을 이용하여 수신된 예측 잔차들을 양자화한다.
산술 코더(440)는 옥트리 인코더(415)로부터 점유 심볼들을 수신하고, 양자화기(435)로부터 양자화된 예측 잔차들을 수신한다. 산술 코더(440)는 수신된 점유 심볼들 및 양자화된 예측 잔차들에 관해 산술 코딩을 수행하여 압축된 비트스트림을 획득한다. 산술 코딩은, 예를 들어 컨텍스트 적응형 2진 산술 코딩과 같은, 다양한 엔트로피 인코딩 알고리즘들 중 임의의 것을 포함할 수 있다.
도 5는 실시예들에 따른 G-PCC 압축해제기(310)의 기능 블록도이다.
도 5에 도시된 바와 같이, G-PCC 압축해제기(310)는, 산술 디코더(505), 옥트리 디코더(510), 역 양자화기(515), LoD 생성기(520), 역 양자화기(525), 및 역 예측 모듈(530)을 포함한다.
산술 디코더(505)는, G-PCC 압축기(303)로부터 압축된 비트스트림을 수신하고, 수신된 압축된 비트스트림에 관해 산술 디코딩을 수행하여 점유 심볼들 및 양자화된 예측 잔차들을 획득한다. 산술 디코딩은, 예를 들어, 컨텍스트 적응형 2진 산술 디코딩과 같은, 다양한 엔트로피 디코딩 알고리즘들 중 임의의 것을 포함할 수 있다.
옥트리 디코더(510)는 산술 디코더(505)로부터 획득된 점유 심볼들을 수신하고, 옥트리 디코딩 알고리즘을 이용하여, 수신된 점유 심볼들을 양자화된 위치들로 디코딩한다.
역양자화기(515)는 옥트리 디코더(510)로부터 양자화된 위치들을 수신하고, 예를 들어, 스케일링 알고리즘 및/또는 시프팅 알고리즘을 이용하여, 수신된 양자화된 위치들을 역양자화하여, 입력 포인트 클라우드에서의 포인트들의 복원된 위치들을 획득한다.
LoD 생성기(520)는 옥트리 디코더(510)로부터 양자화된 위치들을 수신하고, 수신된 양자화된 위치들에 대응하는 포인트들 각각의 LoD를 획득한다.
역 양자화기(525)는 획득된 양자화된 예측 잔차들을 수신하고, 예를 들어 스케일링 알고리즘 및/또는 시프팅 알고리즘을 이용하여, 수신된 양자화된 예측 잔차들을 역 양자화하여 복원된 예측 잔차들을 획득한다.
역 예측 모듈(530)은 역 양자화기(525)로부터 획득된 복원된 예측 잔차들을 수신하고, LoD 생성기(520)로부터 포인트들 각각의 획득된 LoD를 수신한다. 역 예측 모듈(530)은, 포인트들 각각의 수신 LoD에 기초하여 순서대로 수신된 복원된 예측 잔차들에 예측 알고리즘을 적용함으로써 수신된 복원된 예측 잔차들 각각의 복원된 속성들을 획득한다. 예측 알고리즘은, 예를 들어, 보간, 가중 평균 계산, 최근접 이웃 알고리즘, RDO와 같은, 다양한 예측 알고리즘 중에서 임의의 것을 포함할 수 있다. 복원된 속성들은 입력 포인트 클라우드 내의 포인트들이다.
포인트 클라우드 계수 코딩을 위한 방법 및 장치가 이제 상세히 설명될 것이다. 이러한 방법 및 장치는, 전술된 G-PCC 압축기(303), 즉, 예측 모듈(430)에서 구현될 수 있다. 이 방법 및 장치는, G-PCC 압축해제기(310), 즉, 역 예측 모듈(530)에서도 구현될 수 있다.
변환 계수들의 알파벳-파티셔닝
변환된 계수들 또는 그들의 8비트 부분들은, 조회 테이블(예를 들어, 전술된 A-LUT)을 이용하거나 256개의 심볼을 통한 바이패스-코딩을 이용하여 인코딩될 수 있다. 8비트 계수 값은, 세트 내에서의 계수 값의 정확한 위치를 명시할 수 있는 세트-인덱스 및 세트 내부의 심볼-인덱스로 분해될 수 있다. 예를 들어, 인덱스 값들은 조회 테이블들 내에서의 또는 캐시 내에서의 위치들에 대응할 수 있다. 256개의 가능한 계수 값들은, 아래의 표 2에서 기술된 바와 같이 N개의 세트로 그룹화될 수 있다.
표 2: 계수 값들의 알파벳- 파티셔닝의
Figure pct00041
하나 이상의 실시예에서, 오프라인 훈련은, 파티션의 수(N)가 주어질 때 계수 값들의 파티셔닝을 설계하도록 수행될 수 있다. 알파벳-파티션 경계 값들은 명시적으로 시그널링될 수 있다. 대안으로서, 인코더와 디코더 사이에서 공유되는 복수의 알파벳-파티션 유형이 주어질 때 연관된 경계 값들을 갖는 특정한 알파벳-파티션을 나타내기 위해 인덱스가 시그널링될 수 있다. 코딩 효율을 향상시키기 위해, 더 빈번한 심볼들이 더 낮은 인덱스들 및 더 작은 크기들을 갖는 세트들에 속하도록 파티션이 설계될 수 있고, 그 반대의 경우도 마찬가지임을 이해할 수 있을 것이다.
하나 이상의 실시예에서, 캐시 또는 빈도-분류 기반의 LUT는 계수 값들의 빈도들을 내림차순으로 추적하는데 이용될 수 있다. 알파벳-파티션을 형성함에 있어서, 계수 값들 그 자체 대신에 상기 캐시 또는 LUT 내의 인덱스들을 이용함으로써 더 빈번한 계수 값들에 더 낮은 세트-인덱스들이 할당될 수 있고, 그 반대의 경우도 마찬가지이다. 이 프로세스는 인코더와 디코더 양쪽 모두에서 즉석으로 수행될 수 있다.
알파벳-파티션 정보의 코딩
도출된 세트-인덱스들은 다양한 방식으로 엔트로피-코딩될 수 있는 반면, 동반되는 심볼-인덱스들은, 세트 내부의 심볼 분포가 합리적으로 균일할 것으로 예상될 때 간단히 바이패스-코딩될 수 있다.
하나 이상의 실시예에서, 도출된 세트-인덱스들은 다중-심볼 산술 코딩 또는 다른 유형들의 컨텍스트-기반의 2진 산술 코딩에 의해 코딩된다. 계수들의 상이한 특성들을 더 양호하게 활용하기 위해 상이한 알파벳-파티셔닝이 이용될 수 있다.
하나 이상의 실시예에서, 더 높은 LOD 계층은 리프팅/예측 분해의 결과로서 더 작은 계수들을 가질 수 있기 때문에, 리프팅/예측 계수들의 상이한 LOD(level-of-detail) 계층들에 대해 상이한 알파벳-파티셔닝이 이용될 수 있다.
하나 이상의 실시예에서, 더 높은 QP들은 더 작은 양자화된 계수들을 생성하는 경향이 있고 그 반대의 경우도 마찬가지이기 때문에, 상이한 양자화 파라미터(QP)들에 대해 상이한 알파벳-파티셔닝이 이용될 수 있다.
하나 이상의 실시예에서, 강화 계층들(즉, 복원된 신호를 더 작은 QP 레벨로 정교화하기 위해 추가된 계층들)은 계수들간 상관의 측면에서 노이즈가 더 많거나 무작위 성향을 가질 수 있기 때문에 SNR-확장가능 코딩을 위한 더 세분화된 확장성(granular scalability)의 상이한 계층들에 대해 상이한 알파벳-파티셔닝이 이용될 수 있다.
하나 이상의 실시예에서, SNR-확장가능 코딩의 경우 더 낮은 양자화-레벨 계층들에서의 대응하는 위치들로부터의 복원된 샘플들의 값들 또는 값들의 함수에 따라 상이한 알파벳-파티셔닝이 이용될 수 있다. 예를 들어, 더 낮은 계층들에서 0 또는 매우 작은 복원된 값들을 갖는 영역들은 반대 경향을 갖는 영역들과는 상이한 계수 특성들을 가질 수 있는 가능성이 있을 수 있다.
하나 이상의 실시예에서, 동일한 양자화 레벨에서 더 낮은 LOD들에서의 대응하는 위치들로부터의 복원된 샘플들의 값들 또는 값들의 함수에 따라 상이한 알파벳-파티셔닝이 이용될 수 있다. 대응하는 위치들로부터의 이들 샘플들은, GPCC에서의 LOD 구축시에 최근접-이웃 검색의 결과로서 이용가능할 수 있다. 이들 샘플들은 디코더에서 뿐만 아니라 G-PCC의 변환 기술들에서 LOD별 복원의 결과로서 이용가능할 수 있다는 것을 이해할 수 있을 것이다.
도 6은, 실시예들에 따른, 포인트 클라우드 계수 코딩의 방법(600)을 나타내는 플로차트이다. 일부 구현에서, 도 6의 하나 이상의 프로세스 블록은 G-PCC 압축해제기(310)에 의해 수행될 수 있다. 일부 구현에서, 도 6의 하나 이상의 프로세스 블록은, G-PCC 압축기(303)와 같은, G-PCC 압축해제기(310)로부터 분리되거나 이를 포함하는 또 다른 디바이스 또는 디바이스 그룹에 의해 수행될 수 있다.
도 6을 참조하면, 제1 블록 610에서, 방법(600)은 포인트 클라우드 데이터와 연관된 변환 계수들을 세트-인덱스 값들 및 심볼-인덱스 값들로 분해하는 단계를 포함하고, 심볼-인덱스 값은 세트 내에서의 변환 계수들의 위치들을 명시한다.
제2 블록 620에서, 방법(600)은 세트-인덱스 값들 및 심볼-인덱스 값들에 기초하여 분해된 변환 계수들을 하나 이상의 세트로 파티셔닝하는 단계를 포함한다.
제3 블록 630에서, 방법(600)은 파티셔닝된 변환 계수들의 세트-인덱스 값들을 엔트로피-코딩하는 단계를 포함한다.
제4 블록 640에서, 방법(600)은 파티셔닝된 변환 계수들의 심볼-인덱스 값들을 바이패스-코딩하는 단계를 포함한다.
제5 블록 650에서, 방법(600)은, 엔트로피-코딩된 세트-인덱스 값들 및 바이패스-코딩된 심볼-인덱스 값들에 기초하여 포인트 클라우드 데이터를 압축하는 단계를 포함한다.
도 6은 방법(600)의 예시적인 블록들을 도시하지만, 일부 구현에서, 방법(600)은 도 6에 도시된 것들보다 추가적인 블록들, 더 적은 블록들, 상이한 블록들, 또는 상이하게 배열된 블록들을 포함할 수 있다. 추가적으로, 또는 대안으로서, 방법(600)의 블록들 중 2개 이상이 병렬로 수행될 수 있다.
또한, 제안된 방법들은 처리 회로(예를 들어, 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있다. 예에서, 하나 이상의 프로세서는, 제안된 방법들 중 하나 이상을 수행하기 위해 비일시적인 컴퓨터 판독가능한 매체에 저장된 프로그램을 실행한다.
도 7은 실시예들에 따른 포인트 클라우드 계수 코딩을 위한 장치(700)의 블록도이다.
도 7을 참조하면, 장치(700)는, 분해 코드(710), 파티셔닝 코드(720), 엔트로피-코딩 코드(730) 및 바이패스-코딩 코드(740)를 포함한다.
분해 코드(710)는, 적어도 하나의 프로세서로 하여금, 포인트 클라우드 데이터와 연관된 변환 계수들을 세트-인덱스 값들 및 심볼-인덱스 값들로 분해하게 하도록 구성되고, 심볼-인덱스 값들은 세트 내에서의 변환 계수들의 위치들을 명시한다.
파티션 코드(720)는, 적어도 하나의 프로세서로 하여금, 세트-인덱스 값들 및 심볼-인덱스 값들에 기초하여 분해된 변환 계수들을 하나 이상의 세트로 파티셔닝하게 하도록 구성된다.
엔트로피-코딩 코드(730)는, 적어도 하나의 프로세서로 하여금, 파티셔닝된 변환 계수들의 세트-인덱스 값들을 엔트로피-코딩하게 하도록 구성된다.
바이패스-코딩 코드(740)는, 적어도 하나의 프로세서로 하여금, 파티셔닝된 변환 계수들의 심볼-인덱스 값들을 바이패스-코딩하게 하도록 구성된다.
압축 코드(750)는, 적어도 하나의 프로세서로 하여금, 엔트로피-코딩된 세트-인덱스 값들 및 바이패스-코딩된 심볼-인덱스 값들에 기초하여 포인트 클라우드 데이터를 압축하게 하도록 구성된다.
도 8은 실시예들을 구현하기에 적합한 컴퓨터 시스템(800)의 도면이다.
컴퓨터 소프트웨어는, 컴퓨터 중앙 처리 유닛(CPU)들, 그래픽 처리 유닛(GPU)들 등에 의해, 직접, 또는 인터프리팅을 통해, 마이크로-코드 실행을 통해서 등에 의해 실행될 수 있는 명령어들을 포함한 코드를 생성하기 위해, 어셈블리, 컴파일, 링킹 또는 그 유사한 메커니즘들에 종속될 수 있는 임의의 적절한 머신 코드 또는 컴퓨터 언어를 이용하여 코딩될 수 있다.
명령어들은, 예를 들어 개인용 컴퓨터들, 태블릿 컴퓨터들, 서버들, 스마트폰들, 게임 디바이스들, 사물 인터넷 디바이스들 등을 포함한, 다양한 유형의 컴퓨터 또는 컴포넌트에서 실행될 수 있다.
컴퓨터 시스템(800)에 대해 도 8에 도시된 컴포넌트들은 본질적으로 예이며 실시예들을 구현하는 컴퓨터 소프트웨어의 이용 또는 기능의 범위에 대한 어떠한 제한도 암시하기 위한 의도가 아니다. 또한 컴포넌트들의 구성이 컴퓨터 시스템(800)의 실시예들에 예시된 컴포넌트들 중 어느 하나 또는 조합과 관련된 임의의 종속성 또는 요구사항을 갖는 것으로 해석되어서도 안 된다.
컴퓨터 시스템(800)은 소정의 휴먼 인터페이스 입력 디바이스들을 포함할 수 있다. 이러한 휴먼 인터페이스 입력 디바이스는, 예를 들어 촉각 입력(키스트로크들, 스와이프들, 데이터 글러브 움직임들 등), 오디오 입력(음성, 박수 등), 시각적 입력(제스처들 등), 후각 입력(미도시)을 통해 한 명 이상의 인간 사용자에 의한 입력에 응답할 수 있다. 휴먼 인터페이스 디바이스들은, 오디오(음성, 음악, 주변 소리 등), 이미지들(스캔된 이미지들, 스틸 이미지 카메라로부터 획득된 사진 이미지들 등), 비디오(2차원 비디오, 입체 비디오를 포함하는 3차원 비디오 등) 등의, 인간에 의한 의식적 입력에 반드시 직접 관련될 필요는 없는 소정의 미디어를 캡처하는데에도 이용될 수 있다.
입력 휴먼 인터페이스 디바이스들은, 키보드(801), 마우스(802), 트랙패드(803), 터치스크린(810), 조이스틱(805), 마이크로폰(806), 스캐너(807), 및 카메라(808) 중 하나 이상(각각 하나만 도시됨)을 포함할 수 있다.
컴퓨터 시스템(800)은 또한, 소정의 휴먼 인터페이스 출력 디바이스들을 포함할 수 있다. 이러한 휴먼 인터페이스 출력 디바이스들은, 예를 들어 촉각 출력, 소리, 빛 및 냄새/미각을 통해 한 명 이상의 인간 사용자의 감각을 자극할 수 있다. 이러한 휴먼 인터페이스 출력 디바이스들은, 촉각적 출력 디바이스들(예를 들어, 터치스크린(810) 또는 조이스틱(805)에 의한 촉각 피드백이지만 입력 디바이스들로서 역할하지 않는 촉각 피드백 디바이스들도 있을 수 있음), 오디오 출력 디바이스들(스피커(809), 헤드폰(미도시) 등), 시각적 출력 디바이스들(음극선관(CRT) 스크린들, 액정 디스플레이(LCD) 스크린들, 플라즈마 스크린들, 유기 발광 다이오드(OLED) 스크린들을 포함하는 스크린(810), 각각은 터치스크린 입력 능력이 있거나 없음, 각각은 촉각 피드백 능력이 있거나 없음 ― 그 일부는 입체 출력, 가상 현실 안경(미도시), 홀로그래픽 디스플레이들 및 스모크 탱크(미도시) 등의 수단을 통해 2차원 시각적 출력 또는 3차원 이상의 출력을 출력할 수 있음), 및 프린터(미도시)를 포함할 수 있다. 그래픽 어댑터(850)는 이미지들을 생성하여 터치스크린(810)에 출력한다.
컴퓨터 시스템(800)은 또한, 인간 액세스가능한 저장 디바이스들과, CD/DVD 또는 이와 유사한 매체(821)를 갖는 CD/DVD ROM/RW 드라이브(820), 썸 드라이브(822), 이동식 하드 드라이브 또는 솔리드 스테이트 드라이브(823), 테이프 및 플로피 디스크(미도시) 등의 레거시 자기 매체, 보안 동글(미도시) 등의 전문화된 ROM/ASIC/PLD 기반의 디바이스들 등을 포함한, 광학 매체 등의 그들의 연관된 매체를 포함할 수 있다.
본 기술분야의 통상의 기술자라면 또한, 본 개시된 주제와 관련하여 사용되는 용어 "컴퓨터 판독가능한 매체"는, 전송 매체, 캐리어 파들, 또는 다른 일시적 신호들을 포함하지 않는다는 것을 이해해야 한다.
컴퓨터 시스템(800)은 또한 하나 이상의 통신 네트워크(855)에 대한 인터페이스(들)를 포함할 수 있다. 통신 네트워크(855)는, 예를 들어, 무선, 유선, 광학적일 수 있다. 네트워크(855)는 또한, 로컬, 광역, 대도시권, 차량 및 산업, 실시간, 지연 허용 등일 수 있다. 네트워크(855)의 예들은, 이더넷, 무선 LAN들, GSM(global systems for mobile communications), 3세대(3G), 4세대(4G), 5세대(5G), LTE(Long-Term Evolution) 등을 포함하는 셀룰러 네트워크들, 케이블 TV, 위성 TV, 지상파 방송 TV를 포함하는 TV 유선 또는 무선 광역 디지털 네트워크, CANBus를 포함하는 차량 및 산업용 등의 근거리 통신망들을 포함한다. 네트워크(855)는 일반적으로 소정의 범용 데이터 포트들 또는 주변 버스들(849)(예를 들어, 컴퓨터 시스템(800)의 USB(universal serial bus) 포트들 등)에 부착된 외부 네트워크 인터페이스 어댑터들을 요구한다; 다른 것들은, 일반적으로, 후술되는 바와 같이 시스템 버스, 예를 들어, PC 컴퓨터 시스템 내로의 Ethernet 인터페이스 및/또는 스마트폰 컴퓨터 시스템 내로의 셀룰러 네트워크 인터페이스를 포함한 네트워크 인터페이스(854)로의 부착에 의해 컴퓨터 시스템(800)의 코어에 통합된다. 이들 네트워크(855) 중 임의의 것을 이용하여, 컴퓨터 시스템(800)은 다른 엔티티들과 통신할 수 있다. 이러한 통신은, 단방향이거나, 수신 전용(예를 들어, 방송 TV)이거나, 단방향 전송 전용(예를 들어, 소정의 CANbus 디바이스들에 대한 CANbus)이거나, 또는 예를 들어 로컬 또는 광역 디지털 네트워크들을 이용한 다른 컴퓨터 시스템들과의 양방향일 수 있다. 소정의 프로토콜들 및 프로토콜 스택들은 전술된 바와 같이 이들 네트워크(855) 및 네트워크 인터페이스들(854) 각각에서 이용될 수 있다.
전술된 휴먼 인터페이스 디바이스들, 인간이 액세스할 수 있는 저장 디바이스들, 및 네트워크 인터페이스들(854)은 컴퓨터 시스템(800)의 코어(840)에 부착될 수 있다.
코어(840)는, 하나 이상의 중앙 처리 유닛(CPU)(841), 그래픽 처리 유닛(GPU)(842), FPGA(Field Programmable Gate Areas)(843) 형태의 전문화된 프로그램가능한 처리 유닛, 소정의 작업들을 위한 하드웨어 가속기(844) 등을 포함할 수 있다. 이들 디바이스들은, 판독 전용 메모리(ROM)(845), 랜덤 액세스 메모리(RAM)(846), 사용자가 액세스할 수 없는 내부 하드 드라이브들, 솔리드 스테이트 드라이브(SSD)들 등의 내부 대용량 스토리지(847)와 함께, 시스템 버스(848)를 접속될 수 있다. 일부 컴퓨터 시스템에서, 시스템 버스(848)는, 추가적인 CPU들, GPU 등에 의한 확장을 가능케하는 하나 이상의 물리적 플러그의 형태로 액세스할 수 있다. 주변 디바이스들은 코어의 시스템 버스(848)에 직접 부착되거나, 주변 버스(849)를 통해 부착될 수 있다. 주변 버스를 위한 아키텍처들은 PCI(peripheral component interconnect), USB 등을 포함한다.
CPU들(841), GPU들(842), FPGA들(843), 및 하드웨어 가속기들(844)은, 조합하여 전술된 컴퓨터 코드를 구성할 수 있는 소정의 명령어들을 실행할 수 있다. 그 컴퓨터 코드는 ROM(845) 또는 RAM(846)에 저장될 수 있다. 임시 데이터도 역시 RAM(846)에 저장될 수 있는 반면, 영구 데이터는 예를 들어 내부 대용량 스토리지(847)에 저장될 수 있다. 임의의 메모리 디바이스로의 빠른 저장 및 회수는, CPU(841), GPU(842), 내부 대용량 스토리지(847), ROM(845), RAM(846) 등과 밀접하게 연관될 수 있는 캐시 메모리의 이용을 통해 가능하게 될 수 있다.
컴퓨터 판독가능 매체는 다양한 컴퓨터-구현된 동작을 수행하기 위한 컴퓨터 코드를 가질 수 있다. 매체 및 컴퓨터 코드는 실시예들의 목적을 위해 특별히 설계되고 구성된 것일 수 있거나, 이들은, 컴퓨터 소프트웨어 기술분야의 기술자들에게 널리 공지되고 이용가능한 종류일 수 있다.
제한이 아닌 예로서, 아키텍처를 갖는 컴퓨터 시스템(800), 특히 코어(840)는 하나 이상의 유형의 컴퓨터 판독가능한 매체에 구현된 소프트웨어를 실행하는 (CPU들, GPU들, FPGA, 가속기들 등을 포함한) 프로세서(들)의 결과로서 기능을 제공할 수 있다. 이러한 컴퓨터 판독가능한 매체는, 코어-내부 대용량 스토리지(847) 또는 ROM(845) 등의 비일시적인 성질을 갖는 코어(840)의 소정 스토리지 뿐만 아니라, 위에서 도입된 바와 같은 사용자 액세스가능한 대용량 스토리지와 연관된 매체일 수 있다. 다양한 실시예들을 구현하는 소프트웨어는 이러한 디바이스들에 저장되고 코어(840)에 의해 실행될 수 있다. 컴퓨터 판독가능한 매체는, 특정한 수요에 따라 하나 이상의 메모리 디바이스 또는 칩을 포함할 수 있다. 소프트웨어는, 코어(840) 및 특히 (CPU, GPU, FPGA 등을 포함한) 내부의 프로세서들이 RAM(846)에 저장된 데이터 구조들을 정의하고 소프트웨어에 의해 정의된 프로세스들 따라 이러한 데이터 구조들을 수정하는 것을 포함한, 여기서 설명된 특정한 프로세스들 또는 특정한 프로세스들의 특정한 부분들을 실행하게 할 수 있다. 추가로 또는 대안으로서, 컴퓨터 시스템은, 여기서 설명된 특정한 프로세스들 또는 특정한 프로세스들의 특정한 부분들을 실행하는 소프트웨어를 대신하여 또는 이와 함께 동작할 수 있는, 회로(예를 들어, 하드웨어 가속기(844))로 구현된 하드와이어드 또는 다른 방식으로 구현된 로직의 결과로서 기능을 제공할 수 있다. 소프트웨어에 대한 참조는 로직을 포함할 수 있으며, 적절하다면, 그 반대의 경우도 마찬가지이다. 컴퓨터 판독가능한 매체에 대한 언급은, 적절한 경우, 실행을 위한 소프트웨어를 저장하는 회로(집적 회로(IC) 등), 실행을 위한 로직을 구현하는 회로, 또는 양쪽 모두를 포함할 수 있다. 실시예들은 하드웨어와 소프트웨어의 임의의 적절한 조합을 포함한다.
본 개시내용은 수개의 실시예들을 설명하였지만, 본 개시내용의 범위 내에 속하는, 변경들, 치환들, 및 다양한 대체 균등물이 있다. 따라서, 본 기술분야의 통상의 기술자라면, 본 명세서에 명시적으로 도시되거나 설명되지는 않았더라도, 본 개시내용의 원리를 구현하고 그에 따라 그 사상과 범위 내에 속하는, 수많은 시스템 및 방법을 고안할 수 있다는 것을 이해할 것이다.

Claims (20)

  1. 포인트 클라우드 계수 코딩의 방법으로서 ― 상기 방법은 적어도 하나의 프로세서에 의해 수행됨 ―,
    포인트 클라우드 데이터와 연관된 변환 계수들을 세트-인덱스 값들 및 심볼-인덱스 값들로 분해하는 단계 ― 상기 심볼-인덱스 값은 세트 내에서의 상기 변환 계수들의 위치를 명시함 ―;
    상기 분해된 변환 계수들을 상기 세트-인덱스 값들 및 심볼-인덱스 값들에 기초하여 하나 이상의 세트로 파티셔닝하는 단계;
    상기 파티셔닝된 변환 계수들의 세트-인덱스 값들을 엔트로피-코딩하는 단계;
    상기 파티셔닝된 변환 계수들의 심볼-인덱스 값들을 바이패스-코딩하는 단계; 및
    상기 엔트로피-코딩된 세트-인덱스 값들 및 상기 바이패스-코딩된 심볼-인덱스 값들에 기초하여, 상기 포인트 클라우드 데이터를 압축하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 변환 계수들과 연관된 빈도 값들은 캐시 또는 빈도-정렬 기반의 조회 테이블(frequency-sorting based lookup table)에 내림차순으로 저장되고, 가장 낮은 세트-인덱스 값은 가장 큰 빈도 값을 갖는 변환 계수에 할당되는, 방법.
  3. 제1항에 있어서, 상기 심볼-인덱스 값들 및 상기 세트-인덱스 값들은 인코더와 디코더 사이에서 공유되는 하나 이상의 알파벳-파티션 유형에 기초하여, 연관된 경계 값들을 갖는 알파벳-파티션을 나타내도록 시그널링되는, 방법.
  4. 제3항에 있어서, 상기 하나 이상의 알파벳-파티셔닝 유형은 상기 변환 계수들에 대응하는 하나 이상의 세부 레벨 계층(level-of-detail layer)에 이용되는, 방법.
  5. 제3항에 있어서, 상기 하나 이상의 알파벳-파티셔닝 유형은 상기 변환 계수들의 양자화에 기초한 하나 이상의 양자화 파라미터에 이용되는, 방법.
  6. 제3항에 있어서, 상기 하나 이상의 알파벳-파티셔닝 유형은 상기 변환 계수들 사이의 상관에 기초한 신호 대 잡음비-확장가능 코딩을 위한 확장성(scalability)의 하나 이상의 계층에 이용되는, 방법.
  7. 제1항에 있어서, 상기 인덱스-세트 값들은 다중-심볼 산술 코딩에 의해 코딩되는, 방법.
  8. 포인트 클라우드 계수 코딩을 위한 장치로서,
    컴퓨터 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리; 및
    상기 적어도 하나의 메모리에 액세스하고 상기 컴퓨터 프로그램 코드에 따라 동작하도록 구성된 적어도 하나의 프로세서
    를 포함하고, 상기 컴퓨터 프로그램 코드는:
    상기 적어도 하나의 프로세서로 하여금, 포인트 클라우드 데이터와 연관된 변환 계수들을 세트-인덱스 값들 및 심볼-인덱스 값들로 분해하게 하도록 구성된 분해 코드 ― 상기 심볼-인덱스 값은 세트 내에서의 상기 변환 계수들의 위치를 명시함 ―;
    상기 적어도 하나의 프로세서로 하여금, 상기 세트-인덱스 값들 및 상기 심볼-인덱스 값들에 기초하여 상기 분해된 변환 계수들을 하나 이상의 세트로 파티셔닝하게 하도록 구성된 파티셔닝 코드;
    상기 적어도 하나의 프로세서로 하여금, 상기 파티셔닝된 변환 계수들의 세트-인덱스 값들을 엔트로피 코딩하게 하도록 구성된 엔트로피-코딩 코드;
    상기 적어도 하나의 프로세서로 하여금, 상기 파티셔닝된 변환 계수들의 심볼-인덱스 값들을 바이패스-코딩하게 하도록 구성된 바이패스-코딩 코드; 및
    상기 적어도 하나의 프로세서로 하여금, 상기 엔트로피-코딩된 세트-인덱스 값들 및 상기 바이패스-코딩된 심볼-인덱스 값들에 기초하여 상기 포인트 클라우드 데이터를 압축하게 하도록 구성된 압축 코드
    를 포함하는, 장치.
  9. 제8항에 있어서, 상기 변환 계수들과 연관된 빈도 값들은 캐시 또는 빈도-정렬 기반의 조회 테이블에 내림차순으로 저장되고, 가장 낮은 세트-인덱스 값은 가장 큰 빈도 값을 갖는 변환 계수에 할당되는, 장치.
  10. 제8항에 있어서, 상기 심볼-인덱스 값들 및 상기 세트-인덱스 값들은 인코더와 디코더 사이에서 공유되는 하나 이상의 알파벳-파티션 유형에 기초하여, 연관된 경계 값들을 갖는 알파벳-파티션을 나타내도록 시그널링되는, 장치.
  11. 제10항에 있어서, 상기 하나 이상의 알파벳-파티셔닝 유형은 상기 변환 계수들에 대응하는 하나 이상의 세부 레벨 계층에 이용되는, 장치.
  12. 제10항에 있어서, 상기 하나 이상의 알파벳-파티셔닝 유형은 상기 변환 계수들의 양자화에 기초한 하나 이상의 양자화 파라미터에 이용되는, 장치.
  13. 제10항에 있어서, 상기 하나 이상의 알파벳-파티셔닝 유형은 상기 변환 계수들 사이의 상관에 기초한 신호 대 잡음비-확장가능 코딩을 위한 확장성의 하나 이상의 계층에 이용되는, 장치.
  14. 제8항에 있어서, 상기 인덱스-세트 값들은 다중-심볼 산술 코딩에 의해 코딩되는, 장치.
  15. 명령어들을 저장한 비일시적인 컴퓨터-판독가능한 저장 매체로서, 상기 명령어들은 적어도 하나의 프로세서로 하여금:
    포인트 클라우드 데이터와 연관된 변환 계수들을 세트-인덱스 값들 및 심볼-인덱스 값들로 분해하게 하고 ― 상기 심볼-인덱스 값은 세트 내에서의 상기 변환 계수의 위치를 명시함 ―;
    상기 분해된 변환 계수들을 상기 세트-인덱스 값들 및 심볼-인덱스 값들에 기초하여 하나 이상의 세트로 파티셔닝하게 하고;
    상기 파티셔닝된 변환 계수들의 세트-인덱스 값들을 엔트로피-코딩하게 하고;
    상기 파티셔닝된 변환 계수들의 심볼-인덱스 값들을 바이패스-코딩하게 하고;
    상기 엔트로피-코딩된 세트-인덱스 값들 및 상기 바이패스-코딩된 심볼-인덱스 값들에 기초하여, 상기 포인트 클라우드 데이터를 압축하게 하도록
    구성되는, 컴퓨터-판독가능한 매체.
  16. 제15항에 있어서, 상기 변환 계수들과 연관된 빈도 값들은 캐시 또는 빈도-정렬 기반의 조회 테이블에 내림차순으로 저장되고, 가장 낮은 세트-인덱스 값은 가장 큰 빈도 값을 갖는 변환 계수에 할당되는, 컴퓨터-판독가능한 매체.
  17. 제15항에 있어서, 상기 심볼-인덱스 값들 및 상기 세트-인덱스 값들은 인코더와 디코더 사이에서 공유되는 하나 이상의 알파벳-파티션 유형에 기초하여, 연관된 경계 값들을 갖는 알파벳-파티션을 나타내도록 시그널링되는, 컴퓨터-판독가능한 매체.
  18. 제17항에 있어서, 상기 하나 이상의 알파벳-파티셔닝 유형은 상기 변환 계수들에 대응하는 하나 이상의 세부 레벨 계층에 이용되는, 컴퓨터-판독가능한 매체.
  19. 제17항에 있어서, 상기 하나 이상의 알파벳-파티셔닝 유형은 상기 변환 계수들의 양자화에 기초한 하나 이상의 양자화 파라미터에 이용되는, 컴퓨터-판독가능한 매체.
  20. 제17항에 있어서, 상기 하나 이상의 알파벳-파티셔닝 유형은 상기 변환 계수들 사이의 상관에 기초한 신호 대 잡음비-확장가능 코딩을 위한 확장성의 하나 이상의 계층에 이용되는, 컴퓨터-판독가능한 매체.
KR1020217034386A 2020-01-09 2021-01-07 포인트 클라우드 압축을 위한 변환 계수들의 알파벳-파티션 코딩을 위한 기술들 및 장치들 KR102584519B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US202062958846P 2020-01-09 2020-01-09
US202062958839P 2020-01-09 2020-01-09
US62/958,846 2020-01-09
US62/958,839 2020-01-09
US17/110,691 2020-12-03
US17/110,691 US11373276B2 (en) 2020-01-09 2020-12-03 Techniques and apparatus for alphabet-partition coding of transform coefficients for point cloud compression
PCT/US2021/012527 WO2021142141A1 (en) 2020-01-09 2021-01-07 Techniques and apparatus for alphabet-partition coding of transform coefficients for point cloud compression

Publications (2)

Publication Number Publication Date
KR20210142713A true KR20210142713A (ko) 2021-11-25
KR102584519B1 KR102584519B1 (ko) 2023-10-05

Family

ID=76760591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217034386A KR102584519B1 (ko) 2020-01-09 2021-01-07 포인트 클라우드 압축을 위한 변환 계수들의 알파벳-파티션 코딩을 위한 기술들 및 장치들

Country Status (10)

Country Link
US (4) US11373276B2 (ko)
EP (1) EP3921943A4 (ko)
JP (1) JP7246515B2 (ko)
KR (1) KR102584519B1 (ko)
CN (1) CN114026789A (ko)
AU (1) AU2021206683B2 (ko)
CA (1) CA3138065C (ko)
RU (1) RU2769460C1 (ko)
SG (1) SG11202111724XA (ko)
WO (1) WO2021142141A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020256308A1 (ko) * 2019-06-21 2020-12-24 엘지전자 주식회사 포인트 클라우드 데이터 처리 장치 및 방법
CN112188199B (zh) * 2019-07-03 2024-05-10 腾讯美国有限责任公司 自适应点云属性编码的方法、装置、电子设备和存储介质
CN114467119A (zh) * 2019-10-09 2022-05-10 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置及三维数据解码装置
US11551334B2 (en) * 2020-01-09 2023-01-10 Tencent America LLC Techniques and apparatus for coarse granularity scalable lifting for point-cloud attribute coding
US11924428B2 (en) * 2020-06-24 2024-03-05 Qualcomm Incorporated Scale factor for quantization parameter values in geometry-based point cloud compression
CN118743224A (zh) * 2022-01-12 2024-10-01 Lg电子株式会社 点云数据发送方法、点云数据发送装置、点云数据接收方法及点云数据接收装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007021616A2 (en) * 2005-08-12 2007-02-22 Microsoft Corporation Adaptive coding and decoding of wide-range coefficients

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2523348B (en) * 2014-02-20 2016-03-30 Gurulogic Microsystems Oy Encoder, decoder and method
US9734595B2 (en) 2014-09-24 2017-08-15 University of Maribor Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds
WO2016119726A1 (en) * 2015-01-30 2016-08-04 Mediatek Inc. Method and apparatus for entropy coding of source samples with large alphabet
US10694210B2 (en) 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
US20180053324A1 (en) * 2016-08-19 2018-02-22 Mitsubishi Electric Research Laboratories, Inc. Method for Predictive Coding of Point Cloud Geometries
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US10861196B2 (en) * 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US10681388B2 (en) * 2018-01-30 2020-06-09 Google Llc Compression of occupancy or indicator grids
US11010928B2 (en) * 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US10964102B2 (en) 2018-07-09 2021-03-30 Sony Corporation Adaptive sub-band based coding of hierarchical transform coefficients of three-dimensional point cloud
US10708627B2 (en) * 2019-03-04 2020-07-07 Intel Corporation Volumetric video compression with motion history
US10587286B1 (en) * 2019-03-18 2020-03-10 Blackberry Limited Methods and devices for handling equiprobable symbols in entropy coding
US10924751B2 (en) * 2019-03-18 2021-02-16 Tencent America LLC Data unit and parameter set design for point cloud coding
US11461932B2 (en) * 2019-06-11 2022-10-04 Tencent America LLC Method and apparatus for point cloud compression
US11514610B2 (en) * 2019-08-14 2022-11-29 Tencent America LLC Method and apparatus for point cloud coding
US11409998B2 (en) * 2019-10-02 2022-08-09 Apple Inc. Trimming search space for nearest neighbor determinations in point cloud compression
US11398833B2 (en) * 2019-10-02 2022-07-26 Apple Inc. Low-latency encoding using a bypass sub-stream and an entropy encoded sub-stream

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007021616A2 (en) * 2005-08-12 2007-02-22 Microsoft Corporation Adaptive coding and decoding of wide-range coefficients

Also Published As

Publication number Publication date
CA3138065C (en) 2024-02-20
AU2021206683A1 (en) 2021-11-18
US20220292639A1 (en) 2022-09-15
AU2021206683B2 (en) 2023-01-12
WO2021142141A1 (en) 2021-07-15
RU2769460C1 (ru) 2022-03-31
US11373276B2 (en) 2022-06-28
US20230090878A1 (en) 2023-03-23
US20220148132A1 (en) 2022-05-12
CN114026789A (zh) 2022-02-08
US11544819B2 (en) 2023-01-03
EP3921943A1 (en) 2021-12-15
CA3138065A1 (en) 2021-07-15
JP2022528526A (ja) 2022-06-14
EP3921943A4 (en) 2022-04-13
SG11202111724XA (en) 2021-11-29
US11657542B2 (en) 2023-05-23
US20210217136A1 (en) 2021-07-15
KR102584519B1 (ko) 2023-10-05
JP7246515B2 (ja) 2023-03-27
US11651521B2 (en) 2023-05-16

Similar Documents

Publication Publication Date Title
EP3861755B1 (en) Techniques and apparatus for weighted-median prediction for point-cloud attribute coding
JP7384520B2 (ja) フレーム間点群属性コーディングのための方法、装置及びコンピュータ・プログラム
JP7263521B2 (ja) インターフレーム点群属性符号化のための方法並びにその、装置およびコンピュータプログラム
JP7261300B2 (ja) 適応ポイントクラウド属性コーディングのための方法、装置、及びコンピュータプログラム
AU2021206683B2 (en) Techniques and apparatus for alphabet-partition coding of transform coefficients for point cloud compression
CN113632142B (zh) 点云编解码的方法和装置
US11551334B2 (en) Techniques and apparatus for coarse granularity scalable lifting for point-cloud attribute coding
CN115336243A (zh) 基于哈尔的点云编码方法和装置
KR20210136082A (ko) 포인트 클라우드 속성 코딩을 위한 채널간 예측 및 변환을 위한 기술들 및 장치
US11983907B2 (en) Techniques and apparatus for explicit quad-tree and binary-tree partitioning for geometry coding
CN113115019B (zh) 视频编解码方法、装置、计算机设备及存储介质
CN112188216B (zh) 视频数据的编码方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant