KR20230023667A - 포인트 클라우드의 인코딩 및 디코딩 방법 - Google Patents
포인트 클라우드의 인코딩 및 디코딩 방법 Download PDFInfo
- Publication number
- KR20230023667A KR20230023667A KR1020227046121A KR20227046121A KR20230023667A KR 20230023667 A KR20230023667 A KR 20230023667A KR 1020227046121 A KR1020227046121 A KR 1020227046121A KR 20227046121 A KR20227046121 A KR 20227046121A KR 20230023667 A KR20230023667 A KR 20230023667A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- parent
- current
- nodes
- point cloud
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3066—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/18—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/184—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
포인트 클라우드의 속성을 인코딩 및 디코딩하는 방법뿐만 아니라 인코더 및 디코더. 포인트 클라우드의 지오메트리는 포인트 클라우드를 포함하는 체적 공간을 복셀 기반 구조의 노드와 각각 연관된 서브 볼륨으로 재귀적으로 분할함으로써 부모-자식 관계를 갖는 복수의 노드가 있는 복셀 기반 구조로 표현되며, 압축된 포인트 클라우드 데이터의 비트스트림을 생성하도록 포인트 클라우드의 포인트 속성을 인코딩하는 방법으로서, 이 방법은 하기 단계들을 포함한다: 현재 노드의 속성에 지역 적응형 계층 변환(RAHT)를 적용하여 실제 변환 계수를 결정하는 단계; 현재 부모 노드와, 현재 노드와 면 또는 에지를 공유하는 노드의 제1 집합의 각 노드와의 속성 차이를 결정하는 단계로서, 현재 부모 노드가 현재 노드의 부모 노드인, 속성 차이를 결정하는 단계; 차이에 따라 부모 노드의 제1 집합으로부터 제2 집합을 선택하는 단계로서, 바람직하게는 부모 노드의 제2 집합이 현재 부모 노드를 포함하는 선택 단계; 부모 노드의 제2 집합의 속성에 따라 현재 노드의 속성에 대한 예측값을 결정하는 단계; 현재 노드의 속성 예측값에 RAHT를 적용하여 예측 변환 계수를 결정하는 단계; 실제 변환 계수와 예측 변환 계수로부터 잔차를 결정하는 단계; 및 비트스트림에 대한 포인트 클라우드 속성의 인코딩된 데이터를 생성하기 위해 잔차를 인코딩하는 단계를 포함하는, 포인트 클라우드의 포인트 속성을 인코딩하는 방법.
Description
본 출원은 일반적으로 포인트 클라우드의 포인트 속성의 압축에 관한 것이며, 바람직하게는 본 출원은 인코딩 및 디코딩 방법뿐만 아니라 포인트 클라우드 속성의 개선된 코딩을 위한 인코더 및 디코더에 관한 것이다.
3D 메시(mesh)의 대안으로, 3D 포인트 클라우드가 최근 3D 미디어 정보의 대중적인 표현으로 등장하였다. 포인트 클라우드 데이터와 연관된 사용 사례는 매우 다양하며 다음을 포함한다:
- 영화 제작의 3D 자산,
- 실시간 3D 몰입형 텔레프레즌스(telepresence) 또는 VR 애플리케이션을 위한 3D 자산,
- 3D 자유 시점(viewpoint) 비디오(예를 들어, 스포츠 관람용),
- 지리 정보 시스템(지도 제작),
- 문화유산(취약한 자산을 디지털 형식으로 저장),
- 자율주행(환경의 대규모 3D 매핑)...
포인트 클라우드는 3D 공간의 일련의 점(points)으로, 각각 연관된 속성, 예를 들어 색상, 재료 특성 등이 있다. 포인트 클라우드는 객체나 장면을 이러한 포인트의 구성으로 재구축하는 데 사용될 수 있다. 그들은 다양한 설정에서 여러 대의 카메라와 깊이 센서를 사용하여 캡처될 수 있으며, 재구축된 장면을 사실적으로 표현하기 위해 수천에서 수십억 개의 포인트로 구성될 수 있다.
포인트 클라우드의 각 포인트에 대해, 해당 위치(보통 32 비트 또는 64 비트의 부동(floating) 포인트로 코딩된 X, Y, Z 정보) 및 속성(일반적으로 24비트로 코딩된 적어도 RGB 색상)을 저장할 필요가 있다. 때때로 포인트 클라우드에 수십억 개의 포인트가 있는 경우, 포인트 클라우드의 원시 데이터가 몇 기가바이트의 데이터가 될 수 있음을 쉽게 이해할 수 있다. 따라서 포인트 클라우드를 표현하는 데 필요한 데이터의 양을 줄이기 위해 압축 기술이 절실히 필요하다.
포인트 클라우드 압축을 위해 다음과 같은 두 개의 상이한 접근 방식이 개발되었다:
첫째, 비디오 기반 포인트 클라우드 압축(Video based Point Cloud Compression, VPCC) 접근 방식에서, 포인트 클라우드가 3 개의 상이한 축 X, Y, Z 및 상이한 깊이에서 다중 프로젝션을 수행하여 모든 포인트가 하나의 투사된 이미지에 존재하도록 압축된다. 그 다음, 투사된 이미지는 (중복을 제거하기 위해) 패치(patch)로 처리되고, 추가 메타데이터(metadata)가 픽셀 위치를 공간의 포인트 위치로 변환하는 데 사용되는 최종 픽처(picture)로 재배열된다. 압축은 전통적인 이미지/비디오 MPEG 인코더를 사용하여 수행된다. 이 접근 방식의 장점은 기존 코더를 재사용하고 자연스럽게 동적 포인트 클라우드(비디오 코더 사용)를 지원하는 것이지만, 이는 부족한 포인트 클라우드에는 거의 사용할 수 없으며, 포인트 클라우드 전용 방법으로 압축 게인(gain)이 더 높을 것으로 예상된다.
둘째, 지오메트리 기반 포인트 클라우드 압축(Geometry based Point Cloud Compression, GPCC) 방식에서는, 포인트 위치(일반적으로 지오메트리라고 함)와 각 점의 속성(색상, 투명도 등)이 별도로 코딩된다. 지오메트리를 코딩하기 위해, 옥트리 구조가 사용된다. 전체 포인트 클라우드는 각 서브 큐브가 단일 포인트만을 포함할 때까지 계속해서 8 개의 서브 큐브로 분할되는 큐브에 맞춰진다. 따라서 포인트의 위치는 모든 노드에서 점유 정보 트리로 대체된다.
속성은 지역 적응형 계층 변환(Region-Adaptive Hierarchal Transform, RAHT)에 의해 코딩될 수 있다. RAHT는, 예를 들어 US 10,223,810 B2에 공지되어 있으며, 복셀(voxel) 로케이션의 Morton 코드에 의해 규정된 계층 구조에 대한 2점 변환이다. 옥트리의 깊이에서 아래로부터 위로, 예를 들어 옥트리의 리프(leaves)들로부터 루트(root)까지 재귀적으로 수행된다. 트리의 각 깊이에서 각 노드에서 반복된다. 각 노드에 대해 세 방향으로 반복된다. 여기서, DC 계수 또는 고역 통과 계수는 다음 단계를 위해 유지되는 반면, AC 계수 또는 저역 통과 계수는 양자화되어 비트스트림(bitstream)으로 인코딩된다.
본 발명의 목적은 포인트 클라우드 속성의 향상된 압축을 제공하는 인코더 및 디코더뿐만 아니라 효율적인 인코딩 및 디코딩 방법을 제공하는 데 있다.
발명의 개요
본 개시 내용의 양태에서, 압축된 포인트 클라우드 데이터의 비트스트림을 생성하도록 포인트 클라우드의 포인트 속성을 인코딩하는 방법이 제공되고, 여기서 포인트 클라우드의 지오메트리는 포인트 클라우드를 포함하는 체적 공간을 복셀 기반 구조의 노드와 각각 연관된 서브 볼륨으로 재귀적으로 분할함으로써 부모-자식 관계를 갖는 복수의 노드가 있는 복셀 기반 구조로 표현되며, 이 방법은 다음 단계들을 포함한다:
현재 노드의 속성에 지역 적응형 계층 변환(RAHT)를 적용하여 실제 변환 계수를 결정하는 단계;
현재 부모 노드와, 현재 노드와 면 또는 에지(edge)를 공유하는 노드의 제1 집합의 각 노드와의 속성 차이를 결정하는 단계로서, 현재 부모 노드가 현재 노드의 부모 노드인, 속성 차이를 결정하는 단계;
차이에 따라 부모 노드의 제1 집합으로부터 제2 집합을 선택하는 단계로서, 바람직하게는 부모 노드의 제2 집합이 현재 부모 노드를 포함하는 선택 단계;
부모 노드의 제2 집합의 속성에 따라 현재 노드의 속성에 대한 예측값을 결정하는 단계;
현재 노드의 속성 예측값에 RAHT를 적용하여 예측 변환 계수를 결정하는 단계;
실제 변환 계수와 예측 변환 계수로부터 잔차를 결정하는 단계; 및
비트스트림에 대한 포인트 클라우드 속성의 인코딩된 데이터를 생성하기 위해 잔차를 인코딩하는 단계.
여기서, 인코딩될 현재 노드를 인코딩하기 위해, 현재 노드의 속성에 RAHT를 적용하여 실제 변환 계수를 결정한다. 또한, 디코딩될 현재 노드의 속성에 대한 예측값을 결정하고, 예측값에 다시 RAHT를 적용하여 현재 노드의 속성에 대한 예측 변환계수를 결정한다.
예측된 변환 계수 및 실제 변환 계수로부터 잔차가 결정되고, 잔차는 바람직하게는 포인트 속성의 인코딩된 데이터를 생성하기 위해 비트스트림으로의 엔트로피 인코딩에 의해 포함된다.
여기서, 현재 노드의 속성의 예측값을 결정하기 위해, 현재 부모 노드로서 표시되는 현재 노드의 부모 노드와, 코딩될 현재 노드와 면 또는 에지를 공유하는 노드의 제1 집합의 각 노드와의 속성 차이가 결정된다. 여기서, 현재 노드와 면 또는 에지를 공유하는 노드의 집합은 항상 6 개의 노드를 포함한다. 6 개 노드의 집합으로부터, 결정된 차이에 따라 제2 집합이 선택된다. 바람직하게는, 현재의 부모 노드도 제2 집합에 포함된다. 따라서, 제2 집합은 현재 노드(트리 구조에서 레벨 D에 있음)의 속성에 대한 예측값을 예측하기 위해 1 내지 7 개의 부모 노드(트리 구조에서 레벨 D-1에 있음)를 포함할 수 있다. 예측값으로부터, 예측 변환 계수는 RAHT를 적용하여 결정되며, 여기서 예측 변환 계수는 현재 노드의 속성에 대한 잔차를 결정하는 데 사용된다.
여기서, 트리 구조에서 점유된 각 노드에 대한 잔차를 결정하기 위해, 점유된 각 노드에 대해 트리의 루트로부터 리프들까지 전술한 단계를 반복한다. 그 다음, 잔차가 인코딩되고 바람직하게는 비트스트림으로 엔트로피 인코딩된다.
따라서, 예측값을 결정하기 위해, 현재 노드와 면 또는 에지를 공유하는 모든 부모 노드가 항상 고려되는 것은 아니다. 부모 노드의 제1 집합에서 부모 노드만이 부모 노드의 제1 집합의 각각의 부모 노드와 현재 부모 노드와의 사이의 속성 차이에 따라 고려된다. 따라서, 부모 노드의 제1 집합의 모든 부모 노드와 현재 부모 노드가 선택될 필요는 없다. 그 결과, 특히 부모 노드에 상당한 변동이 있는 경우, 향상된 예측값을 결정할 수 있다. 그 다음, 예측값을 예측하기 위해 차이에 따라 현재 노드의 속성의 실제 값으로부터 너무 많이 벗어나는 부모 노드를 제외한다.
따라서, 현재 노드의 속성에 대한 예측값은 현재 노드의 속성에 대한 원래 값 또는 실제 값에 더 가깝고, 그에 따라 잔차가 줄어든다. 그러므로, 더 적은 잔차가 속성 코딩의 효율성을 향상시키는 비트스트림에 포함되어야 한다.
바람직하게는, 현재 부모 노드와, 노드의 제1 집합의 각 노드의 속성 차이를 결정하는 단계는 다음 단계들을 포함한다:
모든 노드에 걸쳐 속성의 균질성(homogeneity)을 정량화 하기 위해 부모 노드의 제1 집합에서 각각의 부모 노드와 현재 부모 노드 중의 최대 차이를 결정하는 단계;
제1 임계값을 제공하는 단계; 및
최대 차이가 제1 임계값보다 적은 경우(즉, 속성 값이 모든 노드들 사이에서 상당히 균질한(homogeneous) 경우), 부모 노드의 제1 집합의 모든 부모 노드를 선택하는 단계.
따라서 노드의 제1 집합에서 각각의 부모 노드와 현재 노드 중 최대 차이가 제공된 제1 임계값보다 적은 경우, 개개의 부모 노드는 포인트 클라우드에서 균일한 영역에 속하는 것으로 나타나므로 모두 제2 집합에 속하도록 선택되어, 현재 노드의 속성 예측값을 예측하는 데 사용될 수 있다. 따라서, 포인트 클라우드의 균일한 영역에서는, 현재 부모 노드뿐만 아니라 현재 노드와 면 또는 에지를 공유하는 모든 부모 노드가 예측값을 예측하는 데 사용된다.
바람직하게는, 현재 부모 노드와, 노드의 제1 집합의 각 노드와의 속성 차이를 결정하는 단계는 다음 단계를 포함한다:
모든 노드에 걸친 속성 값의 이질성(heterogeneity)을 정량화하기 위해, 부모 노드의 제1 집합에서 각각의 부모 노드와 현재 부모 노드의 차이를 결정하는 단계;
제2 임계값을 제공하는 단계; 및
개개의 차이가 제2 임계값보다 적은 경우, 부모 노드의 제1 집합의 부모 노드를 선택하는 단계.
따라서 부모 노드의 제1 집합에서 각 노드(i)에 대해, 차이 가 결정되고 제2 임계값과 비교된다. 특정 노드(i)에 대한 차이가 제2 임계값보다 적은 경우, 이 노드는 제2 집합에 속하도록 선택되고, 현재 노드의 속성 예측값을 예측하는 데 고려된다. 따라서 너무 많이 다르지 않은, 즉 주어진 제2 임계값 보다 큰 노드만이 선택된다. 따라서, 특히 포인트 클라우드의 속성의 불균질한 영역에서, 편차 속성을 갖는 부모 노드는 따라서 현재 노드의 속성의 예측값을 결정할 때 제외된다. 이에 따라 현재 노드의 속성에 대한 예측값과 실제 값 사이의 편차가 줄어들어, 보다 정확한 예측값을 제공함으로써 비트스트림에 코딩되는 잔차를 줄일 수 있다.
바람직하게는, 제1 임계값은 고정되어 있고, 인코더 및 디코더에 의해 알려져 있다. 대안으로 또는 추가로, 제2 임계값은 고정된다. 따라서, 제1 임계값 및/또는 제2 임계값은 인코더 또는 디코더에서 구현될 수 있고, 비트스트림으로 코딩될 필요가 없다.
바람직하게는, 제1 임계값은 완전한 포인트 클라우드의 속성 분포에 따라 결정된다. 따라서 포인트 클라우드 내 속성의 보다 균일한 분포를 위해, 제1 임계값이 더 낮을 수 있다. 대안으로 또는 추가적으로, 제2 임계값은 완전한 포인트 클라우드 내의 속성 분포에 따라 결정된다. 여기서, 제1 임계값 및/또는 제2 임계값은 각 포인트 클라우드에 대한 비트스트림에, 예를 들어 메타데이터에 포함될 수 있다. 따라서 제1 임계값 및/또는 제2 임계값은 완전한 포인트 클라우드에 대해 고정되지만, 두 개의 후속 포인트 클라우드 사이에는 다를 수 있다.
바람직하게는, 제1 임계값 및/또는 제2 임계값은 부모 노드의 제1 집합에 따라 결정된다. 따라서, 각각의 현재 노드에 대해, 개개의 제1 임계값 및/또는 개별 제2 임계값이 결정될 수 있고, 따라서 현재 노드 주변 속성의 특정 변동에 적응될 수 있다. 여기서, 제1 임계값 및/또는 제2 임계값은 디코딩을 위해 인코더로부터 디코더로 전달될 비트스트림에 포함될 수 있다.
바람직하게는, 제1 임계값 및/또는 제2 임계값은 부모 노드의 제1 집합에 따라 결정되고, 제1 임계값 또는 제2 임계값에 대한 상이한 값이 부모 노드의 제1 집합의 서브트리에 할당될 때까지, 모든 서브노드에 의해 승계된다(inherited). 따라서, 각각의 부모 노드에 대해, 개별 제1 임계값 및/또는 개별 제2 임계값이 결정될 수 있고, 따라서 현재 노드 주변 속성의 특정 변동에 적응될 수 있다. 여기서, 제1 임계값 및/또는 제2 임계값은 관련된 서브트리의 상단에서 디코딩하기 위해 인코더로부터 디코더로 전달되거나 이러한 서브트리의 상단에 있지 않은 노드에 대해 승계되는(따라서 비트스트림에 포함되지 않음) 비트스트림에 포함될 수 있다.
바람직하게는, 제2 임계값은 제1 임계값의 백분율이다. 따라서, 제1 임계값이 증가하면, 그에 따라 제1 임계값의 백분율인 제2 임계값도 증가한다. 여기서 백분율은 고정될 수 있고, 완전한 포인트 클라우드 내의 속성 분포에 따라 결정되거나 부모 노드의 제1 집합 내의 속성 분포에 따라 결정될 수 있다. 따라서, 제1 임계값 또는 제2 임계값은 개개의 백분율과 함께 인코더로부터 디코더로 전달될 비트스트림에 포함된다.
바람직하게는, 제1 임계값 및/또는 제2 임계값은 현재 노드의 속성과 제1 부모 노드 집합의 부모 노드의 속성 사이의 비율에 따라 결정된다. 여기서, 부모 노드의 제1 집합의 부모 노드 속성의 평균값, 최대값, 최소값 중 하나가 결정되고 비율에 대해 고려된다. 대안으로, 현재 노드의 속성과 부모 노드의 제1 집합의 부모 노드의 각각의 속성 사이의 비율은 제1 임계값 및/또는 제2 임계값을 결정하기 위해 이용된다.
바람직하게는, 제1 임계값 및/또는 제2 임계값은 비트스트림에 포함된다.
바람직하게는, 제1 임계값 및/또는 제2 임계값은 제1 및/또는 제2 임계값이 사용될 복셀 기반 구조의 적어도 하나의 서브트리의 상단에서만 비트스트림에 포함되며, 그리고 다른 제1 또는 제2 임계값의 명시적 신호전달(signaling)이 없는 서브트리의 모든 노드에 의해 승계된다. 따라서, 제1 임계값 및 제2 임계값은 업데이트된 경우에만 비트스트림에 포함되며 업데이트되지 않는 한 서브트리에 대해 유효하다. 비트스트림에서 제1 또는 제2 임계값을 신호전달함으로써 제1 임계값 및/또는 제2 임계값이 업데이트되는 경우, 새로운 서브트리가 업데이트된 임계값으로 시작한다.
바람직하게는, 제1 임계값과 제2 임계값은 동일하다. 대안으로, 제1 임계값과 제2 임계값은 상이하다.
본 개시 내용의 양태에서, 재구축된 포인트 클라우드에 포인트의 속성을 생성하기 위해 압축된 포인트 클라우드 데이터의 비트스트림을 디코딩하는 방법이 제공되며, 여기서 포인트 클라우드의 지오메트리가 포인트 클라우드를 포함하는 체적 공간을 복셀 기반 구조의 노드와 각각 연관된 서브 볼륨으로 재귀적으로 분할함으로써 부모-자식 관계를 갖는 복수의 노드가 있는 복셀 기반 구조로 표현되고, 이 방법은 다음 단계들을 포함한다:
비트스트림으로부터 포인트 클라우드의 현재 노드 속성의 잔차를 디코딩하는 단계;
현재 부모 노드와, 현재 노드와 면 또는 에지를 공유하는 노드의 제1 집합의 각 노드와의 속성 차이를 결정하는 단계로서, 현재 부모 노드가 현재 노드의 부모 노드인, 속성 차이 결정 단계;
차이에 따라 부모 노드의 제1 집합으로부터 제2 집합을 선택하는 단계로서, 바람직하게는 현재 노드의 제2 집합이 현재 부모 노드를 포함하는, 제2 집합 선택 단계;
부모 노드의 제2 집합의 속성에 따라 현재 노드의 속성에 대한 예측값을 결정하는 단계;
현재 노드의 속성 예측값에 RAHT를 적용함으로써 예측 변환 계수를 결정하는 단계; 및
역 RAHT를 적용함으로써 잔차 및 예측 변환 계수로부터 현재 노드의 속성을 결정하는 단계.
바람직하게는, 디코딩 방법은 인코딩 방법과 관련하여 상술한 기능에 따라 더 구축된다. 이러한 기능은 디코딩 방법과 자유롭게 조합될 수 있다.
본 개시 내용의 일 양태에서는, 압축된 포인트 클라우드 데이터의 비트스트림을 생성하도록 포인트 클라우드를 인코딩하기 위한 인코더가 제공되고, 여기서 포인트 클라우드의 지오메트리가 포인트 클라우드를 포함하는 체적 공간을 옥트리 기반 구조의 노드와 각각 연관된 서브 볼륨으로 재귀적으로 각각 분할함으로써 부모-자식 관계를 갖는 복수의 노드가 있는 옥트리 기반 구조로 표현되고, 이 인코더는 다음을 포함한다:
프로세서; 및
메모리 저장 장치에서, 실행될 때, 프로세서로 하여금, 인코딩 및 디코딩에 대해 상술한 방법에 따른 방법을 수행하도록 하는 프로세서에 의해 실행 가능한 명령이 저장되는 메모리 저장 장치.
본 개시 내용의 일 양태에서는, 재구축된 포인트 클라우드를 생성하기 위해 압축된 포인트 클라우드 데이터의 비트스트림을 디코딩하는 디코더가 제공되고, 여기서 포인트 클라우드의 지오메트리가 포인트 클라우드를 포함하는 체적 공간을 옥트리 기반 구조의 노드와 각각 연관된 서브 볼륨으로 재귀적으로 각각 분할함으로써 부모-자식 관계를 갖는 복수의 노드가 있는 옥트리 기반 구조로 표현되고, 이 디코더는 다음을 포함한다:
프로세서; 및
메모리 저장 장치로서, 실행될 때, 프로세서로 하여금 상술한 디코딩 방법을 수행하도록 하는, 프로세서에 의해 실행 가능한 명령이 저장되는 메모리 저장 장치.
본 개시 내용의 일 양태에서는, 프로세서에 의해 실행될 때, 프로세서로 하여금 인코딩 및/또는 디코딩의 상술한 방법을 수행하게 하는 프로세서 실행 명령을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체가 제공된다.
이하, 예로서 본 출원의 예시적인 실시예를 도시하는 첨부 도면을 참조하여 설명한다.
도 1은 본 발명에 따른 인코딩 방법의 일 실시형태이다.
도 2는 본 발명에 따른 디코딩 방법의 일 실시형태이다.
도 3은 본 발명에 따른 인코딩 단계의 일 예이다.
도 4는 본 발명에 따른 디코딩 단계의 일 예이다.
도 5는 본 발명에 따라 예측값을 결정하기 위한 일 예이다.
도 6은 본 발명의 상세한 실시형태이다.
도 7은 본 발명의 상세한 실시형태이다.
도 8은 인코더 장치의 개략도이다.
도 9는 디코더 장치의 개략도이다.
도 1은 본 발명에 따른 인코딩 방법의 일 실시형태이다.
도 2는 본 발명에 따른 디코딩 방법의 일 실시형태이다.
도 3은 본 발명에 따른 인코딩 단계의 일 예이다.
도 4는 본 발명에 따른 디코딩 단계의 일 예이다.
도 5는 본 발명에 따라 예측값을 결정하기 위한 일 예이다.
도 6은 본 발명의 상세한 실시형태이다.
도 7은 본 발명의 상세한 실시형태이다.
도 8은 인코더 장치의 개략도이다.
도 9는 디코더 장치의 개략도이다.
본 출원은 포인트 클라우드에서 포인트의 속성을 인코딩 및 디코딩하는 방법과, 포인트 클라우드에서 포인트의 속성을 인코딩 및 디코딩하기 위한 인코더 및 디코더를 설명한다.
본 발명은 압축된 포인트 클라우드 데이터의 비트스트림을 생성하도록 포인트 클라우드의 포인트 속성을 인코딩하는 방법에 관한 것으로, 여기서 포인트 클라우드의 지오메트리는 포인트 클라우드를 포함하는 체적 공간을 복셀 기반 구조의 노드와 각각 연관된 서브 볼륨으로 재귀적으로 분할함으로써 부모-자식 관계를 갖는 복수의 노드가 있는 복셀 기반 구조로 표현되며, 이 방법은 다음 단계를 포함한다:
현재 노드의 속성에 RAHT를 적용하여 실제 변환 계수를 결정하는 단계;
현재 부모 노드와, 현재 노드와 면 또는 에지를 공유하는 노드의 제1 집합의 각 노드와의 속성 차이를 결정하는 단계로서, 현재 부모 노드가 현재 노드의 부모 노드인, 속성 차이를 결정하는 단계;
차이에 따라 부모 노드의 제1 집합으로부터 제2 집합을 선택하는 단계로서, 바람직하게는 부모 노드의 제2 집합이 현재 부모 노드를 포함하는 선택 단계;
부모 노드의 제2 집합의 속성에 따라 현재 노드의 속성에 대한 예측값을 결정하는 단계;
현재 노드의 속성 예측값에 RAHT를 적용하여 예측 변환 계수를 결정하는 단계;
실제 변환 계수와 예측 변환 계수로부터 잔차를 결정하는 단계; 및
비트스트림에 대한 포인트 클라우드 속성의 인코딩된 데이터를 생성하기 위해 잔차를 인코딩하는 단계.
본 출원의 다른 양태 및 특징은 첨부된 도면과 함께 하기 실시예의 설명을 검토함으로써 당업자에 의해 이해될 것이다.
이하의 설명에서, 때때로 "노드" 및 "서브 볼륨"이라는 용어는 상호교환적으로 사용될 수 있다. 노드가 서브 볼륨과 연관되어 있음을 알 수 있다. 노드는 내부 노드 또는 리프(leaf) 노드일 수 있는 트리의 특정 포인트이다. 서브 볼륨은 노드가 나타내는 경계가 있는 물리적 공간이다. "볼륨"이라는 용어는 포인트 클라우드를 포함하기 위해 규정된 가장 큰 경계 공간을 나타내는 데 사용될 수 있다. 볼륨은 포인트 클라우드 데이터를 코딩하도록 상호 접속된 노드의 트리 구조를 구축하기 위해 재귀적으로 서브 볼륨으로 나누어진다. 또한, "부모 노드"라는 용어는 트리의 다음 상위 수준에 있는 노드를 지칭한다. 노드는 트리에서 레벨 또는 깊이 D에 있을 수 있지만, 부모 노드는 레벨 또는 깊이 D-1에 있는 노드이다.
포인트 클라우드는 3차원 좌표계에서 포인트의 집합이다. 포인트는 종종 하나 이상의 객체의 외부 표면을 나타내기 위한 것이다. 각 포인트는 3차원 좌표계에서 로케이션(위치)을 갖는다. 위치는 3개의 좌표(X, Y, Z)로 표시될 수 있으며, 직교(Cartesian) 또는 기타 좌표계일 수 있다. 포인트는 R, G, B 또는 Y, Cb, Cr과 같은 경우에 따라 세 가지 구성요소 값일 수도 있는 색상과 같은 다른 연관된 속성을 가질 수 있다. 다른 연관된 속성에는 포인트 클라우드 데이터에 대해 원하는 애플리케이션에 따라 투명도, 반사율, 법선 벡터 등이 포함될 수 있다.
포인트 클라우드는 정적이거나 동적일 수 있다. 예를 들어 객체 또는 토포그래피의 상세한 스캔 또는 매핑은 정적 포인트 클라우드 데이터일 수 있다. 머신 비전(machine-vision) 목적을 위한 환경의 LiDAR 기반 스캐닝은, 예를 들어 볼륨을 연속적으로 스캔할 때마다, 포인트 클라우드(적어도 잠재적으로)가 시간이 지남에 따라 변한다는 점에서 동적일 수 있다. 따라서 동적 포인트 클라우드는 포인트 클라우드의 시계열(time-ordered) 시퀀스이다.
포인트 클라우드 데이터는 몇 가지 예를 제공하기 위해 보존(역사적 또는 문화적 대상 스캔), 매핑, 머신 비전(예를 들어, 자율 또는 반자율 자동차) 및 가상 현실 시스템을 포함한 여러 애플리케이션에서 사용될 수 있다. 머신 비전과 같은 애플리케이션을 위한 동적 포인트 클라우드 데이터는 보존 목적의 정적 포인트 클라우드 데이터와 상당히 다를 수 있다. 예를 들어 자동차 비전은 일반적으로 캡처 빈도가 높은 LiDAR(또는 유사) 센서를 통해 얻은 상대적으로 낮은 해상도, 무색 및 매우 동적인 포인트 클라우드를 포함한다. 이러한 포인트 클라우드의 목적은 사람이 소비하거나 보기 위한 것이 아니라 의사 결정 프로세스에서 머신(machine) 객체 감지/분류를 위한 것이다. 예를 들어 일반적인 LiDAR 프레임에는 수만 개 정도의 포인트가 포함되는 반면, 고품질 가상 현실 애플리케이션에는 수백만 개의 포인트가 필요하다. 계산 속도가 증가하고 새로운 애플리케이션이 발견됨으로써, 시간이 지남에 따라 더 높은 해상도의 데이터에 대한 수요가 있을 것으로 예상할 수 있다.
포인트 클라우드 데이터는 유용하지만, 이러한 포인트 클라우드의 속성 및 지오메트리, 즉 인코딩 및 디코딩 프로세스의 효과적이고 효율적인 압축이 부족하여 채택 및 전개를 방해할 수 있다.
포인트 클라우드 데이터를 코딩하는 보다 일반적인 메커니즘 중 하나는 트리 기반 구조를 사용하는 것이다. 트리 기반 구조에서, 포인트 클라우드의 경계 3차원 볼륨은 재귀적으로 서브 볼륨으로 나누어진다. 트리의 노드는 서브 볼륨에 해당한다. 서브 볼륨을 추가로 분할할지 여부에 대한 결정은 트리의 해상도 및/또는 서브 볼륨에 포함된 포인트가 있는지 여부를 기반으로 할 수 있다. 리프 노드에는 연관된 서브 볼륨에 포인트가 포함되어 있는지 여부를 나타내는 점유 플래그가 있을 수 있다. 분할 플래그는 노드에 자식 노드가 있는지 여부(즉, 현재 볼륨이 서브 볼륨으로 더 분할되었는지 여부)를 통지할 수 있다. 이러한 플래그는 경우에 따라 엔트로피 코딩될 수 있으며, 경우에 따라 예측 코딩이 사용될 수 있다. 통상적으로 사용되는 트리 구조는 옥트리이다. 이 구조에서 볼륨/서브 볼륨은 모두 큐브이며, 서브 볼륨을 분할할 때마다 8 개의 추가 서브 볼륨/서브 큐브가 생성된다.
포인트 클라우드를 코딩하도록 옥트리를 생성하기 위한 기본 프로세스는 다음을 포함할 수 있다:
좌표계에서 포인트 클라우드를 포함하는 경계 볼륨(큐브)으로 시작한다.
1. 볼륨을 8 개의 서브 볼륨(8 개의 서브 큐브)으로 분할한다.
2. 각 서브 볼륨에 대해, 서브 볼륨이 비어 있는 경우 서브 볼륨을 0으로 표시하고, 적어도 하나의 포인트가 있는 경우 1로 표시한다.
3. 1로 표시된 모든 서브 볼륨에 대해, 최대 분할 깊이에 도달할 때까지 해당 서브 볼륨을 분할하려면 (2)를 반복한다. 그리고
4. 최대 깊이의 모든 리프 서브 볼륨(서브 큐브)에 대해, 리프 큐브가 비어 있지 않으면 1로 표시하고 그렇지 않으면 0으로 표시한다.
트리는 각 노드의 점유 패턴을 나타내는 비트의 시퀀스를 생성하기 위해 미리 규정된 순서(폭 우선 또는 깊이 우선, 그리고 각각의 분할된 서브 볼륨 내의 스캔 패턴/순서에 따름)로 트래버스될 수 있다.
위에서 언급한 바와 같이, 포인트 클라우드의 포인트는 속성을 포함할 수 있다. 이러한 속성은 포인트 클라우드의 지오메트리 코딩으로부터 독립적으로 코딩된다. 따라서, 점유된 각 노드, 즉 포인트 클라우드의 적어도 하나의 포인트를 포함하는 노드는 포인트 클라우드의 속성을 추가로 지정하기 위해 하나 이상의 속성과 연관된다.
본 발명은 포인트 클라우드의 포인트 속성을 인코딩하는 방법을 제공한다. 이 방법은 도 1에 도시되어 있다.
압축된 포인트 클라우드 데이터의 비트스트림을 생성하기 위한 포인트 클라우드의 포인트 속성을 인코딩하는 방법이 제공되며, 여기서 포인트 클라우드의 지오메트리는 포인트 클라우드를 포함하는 체적 공간을 복셀 기반 구조의 노드와 각각 연관된 서브 볼륨으로 재귀적으로 분할함으로써 부모-자식 관계를 갖는 복수의 노드가 있는 복셀 기반 구조로 표현되며, 이 방법은 다음 단계를 포함한다:
현재 노드의 속성에 지역 적응형 계층 변환(Region-Adaptive Hierarchal Transform, RAHT)을 적용하여 진정한 변환 계수를 결정하는 단계(S01);
현재 부모 노드와, 현재 노드와 면 또는 에지를 공유하는 노드의 제1 집합의 각 노드와의 속성 차이를 결정하는 단계로서, 현재 부모 노드가 현재 노드의 부모 노드인, 속성 차이를 결정하는 단계(S02);
차이에 따라 부모 노드의 제1 집합으로부터 제2 집합을 선택하는 단계로서, 바람직하게는 부모 노드의 제2 집합은 현재 부모 노드를 포함하는 선택 단계(S03);
부모 노드의 제2 집합의 속성에 따라 현재 노드의 속성에 대한 예측값을 결정하는 단계(S04);
현재 노드의 속성 예측값에 RAHT를 적용함으로써 예측 변환 계수를 결정하는 단계(S05);
실제 변환 계수 및 예측 변환 계수로부터 잔차를 결정하는 단계(S06); 및
비트스트림에 대한 포인트 클라우드 속성의 인코딩된 데이터를 생성하기 위해 잔차를 인코딩하는 단계(S07).
현재 노드의 속성을 인코딩하는 방법을 예시하는 도 3을 참조한다. 도 3의 예에서, 특정 개수의 점유 노드(10)가 옥트리 구조(12)의 레벨 D에 묘사되어 있다. 음영 처리되지 않은 큐브는 점유되지 않은 노드와 관련된다. 여기서, 예를 들어 현재 노드(14)의 속성은 현재 단계에서 비트스트림으로 인코딩될 것이다. 여기서, 도 3의 a)에서 점유된 노드는 실제 속성으로 표현된다. 도 3의 a)의 이러한 실제 속성은 단계(S01)에 따라 실제 변환 계수를 얻기 위해 RAHT에 의해 변환된다. RAHT는 예를 들어 US 10,223,810 B2에서 공지되어 있으며, 따라서 그 전체가 참고로 포함된다. 여기서, 도 3의 a)에서 다른 부모 노드는 명확성을 위해 생략된 레벨 D에서 추가로 점유된 노드를 포함할 수 있다.
또한, 도 3의 b)에 따르면, 현재 부모 노드(18)의 이웃 부모 노드(16)가 고려되며, 여기서 현재 부모 노드(18)는 인코딩될 현재 노드(14)를 포함한다. 따라서, 도 3의 b)에서, 비어 있지 않은, 즉 포인트 클라우드의 적어도 하나의 포인트를 포함하는 인접한 부모 노드(16)만이 음영 처리된다. 일반적으로, 현재 부모 노드(18)와 면을 공유하는 6 개의 이웃 부모 노드와 현재 부모 노드(18)와 에지를 공유하는 12 개의 이웃 부모 노드가 있다. 이러한 노드 중 하나, 이러한 노드 중 둘 이상, 또는 이러한 모든 노드가 비어 있거나 또는 포인트 클라우드의 한 포인트를 포함할 수 있으므로, 비어 있지 않을 수 있다. 여기서, 현재 부모 노드(18)와 이웃 부모 노드(16)는 트리 구조에서 깊이 D-1에 있다.
단계(S02)에 따르면, 현재 부모 노드(18)와 점유된 이웃 부모 노드의 속성 간의 차이가 결정된다. 그러나, 현재 부모 노드(18)와 이웃 부모 노드(16)의 속성 차이는 각 현재 및 점유된 이웃 부모 노드(16) 각각에 대해 계산되지 않는다. 부모 노드의 제1 집합은 트리 구조에서 깊이 D에서 현재 노드(14)와 면 또는 에지를 공유하는 이웃 부모 노드(16)만을 포함한다. 따라서, 부모 노드의 제1 집합은, 이러한 부모 노드 모두가 현재 부모 노드(18) 자체를 포함하는 포인트 클라우드의 포인트에 의해 점유되는 경우, 최대 7 개의 부모 노드를 포함할 수 있다. 도 3의 예에서, 현재 노드(14)에 대해, 제1 집합은 3 개의 이웃 부모 노드(20)를 포함한다(여기서, 현재 부모 노드(18) 뒤에 이웃 부모 노드(16)가 비어 있다고 가정함).
현재 부모 노드(18)와 제1 집합의 부모 노드(20)의 속성 간의 결정된 차이로부터, 결정된 차이에 따라 제2 집합이 선택된다. 또한, 현재 부모 노드(18)도 제2 집합에 포함된다. 도 3의 예에서 제2 집합은 속성의 차이에 따라 1 내지 4 개의 노드를 포함할 수 있다.
단계(S04)에 따르면, 현재 노드(14)의 속성에 대한 예측값은 부모 노드의 제2 집합의 속성에 따라 결정된다. 여기서, 도 4는 2D에서 예측값을 결정하는 단계의 실시형태를 도시한다. 2D의 예에서, 부모 노드의 제2 집합은 현재 부모 노드를 포함하여 4 개의 부모 노드만을 포함할 수 있다. 도 4의 예에서 현재 노드(14)의 속성의 예측값을 결정하기 위해, 현재 노드(14)의 현재 부모 노드(24)를 포함하여 현재 노드(14)와 에지 또는 면을 공유하는 모든 이웃 부모 노드(22)가 고려된다. 제2 집합의 부모 노드(22, 24)의 속성(ak)으로부터, 다음 식에 따라 현재 노드(14)의 예측값, 에 대해 가중 예측이 이루어진다:
상기 식에서, dk는 현재 노드(14)의 중심과 각각의 부모 노드(22, 24)의 중심 사이의 거리를 나타낸다. 위에서 언급한 바와 같이, 도 4에서, 제2 집합의 모든 부모 노드가 고려된다. 그러나 고려되는 부모 노드의 수는 적을 수 있다.
도 3을 다시 참조하면, 도 3의 c)에는 현재 노드(14)의 예측값이 표시되어 있다. 여기서, 현재 부모 노드(18)의 기타 점유된 노드(10)에 대해 전술한 단계가 반복된다. 따라서, 도 3의 c)에 나타낸 바와 같이, 현재 부모 노드(18)의 깊이 D에서 각 점유된 노드(10)에 대해 예측값이 결정되었다. 각 예측값은 현재 부모 노드(18) 내의 각각의 점유된 노드(10)에 대한 예측 변환 계수를 얻기 위해 RAHT를 적용함으로써 변환된다.
예측 변환 계수 및 실제 변환 계수로부터, 단계 S06에 따라 현재 노드(14)를 포함하는 각 노드에 대해 잔차가 결정된다. 잔차는 단계 S07에 따라 비트스트림에 대한 속성의 인코딩된 데이터를 생성하기 위해 엔트로피 인코딩된다.
따라서, 현재 부모 노드(18)와, 현재 노드(14)와 면 또는 에지를 공유하는 이웃 부모 노드(20)와의 차이에 따라, 서로 충분히 작은 편차를 갖는 제2 집합에서 상기 이웃 부모 노드(20)만이 선택된다. 이로써 각각의 노드에 대한 잔차가 줄어들어, 속성을 비트스트림으로 인코딩하는 효율성이 향상된다.
예를 들어, 도 3의 b)에서, 이웃 부모 노드(25)가 현재 노드(14)의 색상과 다른 색상의 포인트 클라우드 영역에 속하는 경우, 이러한 이웃 부모 노드를 예측값 결정 단계에 포함시키면 인코딩할 잔차가 증가하는 예측 실패를 초래할 수 있다. 따라서, 이 예에서, 부모 노드의 제1 집합으로부터의 이웃 부모 노드(24)는 제2 집합에 포함되도록 선택되지 않을 것이고, 따라서 이들 부모 노드(24)의 속성은 전술한 바와 같이 가중 예측에서 고려되지 않을 것이다.
본 발명은 포인트 클라우드의 포인트 속성을 디코딩하는 방법을 제공한다. 이 방법은 도 2에 도시되어 있다.
재구축된 포인트 클라우드에 포인트의 속성을 생성하기 위해 압축된 포인트 클라우드 데이터의 비트스트림을 디코딩하는 방법이 제공되고, 여기서 포인트 클라우드의 지오메트리가 포인트 클라우드를 포함하는 체적 공간을 복셀 기반 구조의 노드와 각각 연관된 서브 볼륨으로 재귀적으로 분할함으로써 부모-자식 관계를 갖는 복수의 노드가 있는 복셀 기반 구조로 표현되고, 이 방법은 다음 단계를 포함한다:
비트스트림으로부터 포인트 클라우드의 현재 노드 속성의 잔차를 디코딩하는 단계(S10);
현재 부모 노드와, 현재 노드와 면 또는 에지를 공유하는 노드의 제1 집합의 각 노드와의 속성 차이를 결정하는 단계로서, 상기 현재 부모 노드가 현재 노드의 부모 노드인, 속성 차이를 결정하는 단계(S11);
차이에 따라 부모 노드의 제1 집합으로부터 제2 집합을 선택하는 단계로서, 바람직하게는 현재 노드의 제2 집합이 현재 부모 노드를 포함하는, 제2 집합을 선택하는 단계(S12);
부모 노드의 제2 집합의 속성에 따라 현재 노드의 속성에 대한 예측값을 결정하는 단계(S13);
현재 노드의 속성 예측값에 RAHT를 적용함으로써 예측 변환 계수를 결정하는 단계(S14); 및
역 RAHT를 적용함으로써 잔차 및 예측 변환 계수로부터 현재 노드의 속성을 결정하는 단계(S14).
포인트 클라우드에서 현재 포인트의 속성을 획득하기 위해 비트스트림을 디코딩하는 방법의 단계는 도 4의 d)에 표시된 잔차가 디코딩된 비트스트림에 의해 제공되는 도 4에 추가로 묘사된다. 이러한 잔차는 도 4의 b) 및 c)에 묘사된 예측이 위에서 설명한 개개의 인코딩 단계와 동일한 예측값과 조합된다. 여기서 디코딩은 루트로부터 리프까지 수행된다는 점에 유의해야 한다. 따라서, 현재 노드(14)와 면 또는 에지를 공유하는 깊이 D-1의 부모 노드의 속성은 이미 공지되어 있다.
RAHT에 의해 변환된 예측값과 비트스트림을 디코딩하여 제공되는 잔차로부터, 역 RAHT에 의해 현재 노드(14)의 속성이 얻어진다.
상세한 실시형태를 나타내는 도 6을 참조한다. 여기서, 현재 부모 노드와, 노드의 제1 집합에서 각 노드와의 속성 차이를 결정하는 것은 다음 단계를 포함한다:
부모 노드의 제1 집합에서 각각의 부모 노드와 현재 부모 노드 사이의 최대 차이를 결정하는 단계(S21);
제1 임계값을 제공하는 단계(S22); 및
최대 차이가 제1 임계값보다 적은 경우, 부모 노드의 제1 집합의 모든 부모 노드를 선택하는 단계(S23).
따라서, 부모 노드와 현재 부모 노드의 제1 집합에서 각각의 부모 노드 중의 최대 차이를 결정함으로써, 포인트 클라우드에서 고려되는 볼륨의 균질성이 결정된다. 따라서, 그 차이가 제1 임계값보다 적다면, 현재 노드(14)의 속성의 예측값을 예측하기 위해 속성이 모두 고려될 만큼 균질하다.
도 7을 참조하여 상세한 실시예를 설명한다. 여기서, 현재 부모 노드와, 노드의 제1 집합에서 각 노드와의 속성 차이를 결정하는 것은 다음 단계를 포함한다:
부모 노드의 제1 집합에서 각 부모 노드와 현재 부모 노드 간의 차이를 결정하는 단계(S31);
제2 임계값을 제공하는 단계(S32); 및
개개의 차이가 제2 임계값보다 적은 경우, 부모 노드의 제1 집합의 부모 노드를 선택하는 단계(S33).
특히, 포인트 클라우드의 고려된 볼륨에서 속성의 균질성, 즉 부모 노드의 제1 집합에서 각각의 현재 노드 간의 최대 차이가 제1 임계값을 초과하는 경우, 부모 노드의 제1 집합에서 각각의 부모 노드()의 속성() 및 현재 노드의 속성 ()에 대한 차이()가 결정되며, 여기서 = - 이다. 여기서, 부모 노드의 제1 집합에서 이 부모 노드들은 가 제2 임계값보다 적은 부모 노드가 선택된다.
물론, 각각의 부모 노드와 부모 노드의 제1 집합 및 현재 부모 노드 사이의 차이를 결정하고, 부모 노드의 제1 집합의 부모 노드를 선택하기 위해 이 차이를 제2 임계값과 비교하는 것은, 이전에 설명한 바와 같이, 고려된 볼륨에서 속성의 동질성 결정과 독립적으로 사용될 수 있다.
일 실시형태에서 제1 임계값이 고정된다. 따라서 고정된 제1 임계값은 인코더 및 디코더에 의해 알려져 있으며 전달된 비트스트림에 포함될 필요가 없다.
일 실시형태에서 제2 임계값이 고정된다. 따라서 고정된 제2 임계값은 인코더 및 디코더에 의해 알려져 있으며 전달된 비트스트림에 포함될 필요가 없다.
일 실시형태에서, 제1 임계값은 인코더로부터 디코더로 전달될 비트스트림에 포함된다.
일 실시형태에서, 제2 임계값은 인코더로부터 디코더로 전달될 비트스트림에 포함된다.
일 실시형태에서, 제1 임계값은 완전한 포인트 클라우드 내의 속성 분포에 따라 결정된다. 따라서 속성의 불균질한 분포에 대해, 제1 임계값이 그에 따라 적응될 수 있다. 여기서, 결정된 제1 임계값은 예를 들어 메타데이터 내부로 비트스트림으로 인코딩된 포인트 클라우드당 한 번만 전달될 필요가 있다.
일 실시형태에서, 제2 임계값은 완전한 포인트 클라우드 내의 속성 분포에 따라 결정된다. 따라서 속성의 불균질한 분포에 대해, 제2 임계값이 적절하게 조정될 수 있다. 여기서 결정된 제2 임계값은 예를 들어 메타데이터 내부로 비트스트림으로 인코딩된 포인트 클라우드당 한 번만 전달될 필요가 있다.
일 실시형태에서, 제1 임계값은 부모 노드의 제1 집합에 따라 결정된다. 따라서, 제1 임계값은 부모 노드의 제1 집합의 부모 노드 중에서 속성 분포에 따라 개별적으로 적응될 수 있다. 이 경우, 충분한 결과를 제공하기 위해, 각 노드의 예측 단계에 대한 개별 임계값이 개별적으로 제공되고 그에 따라 적응될 수 있다. 대안으로, 제1 임계값은 현재 부모 노드의 속성과 비교하여 제1 집합에서 속성의 평균값에 따라 결정될 수 있다. 대안으로, 제1 임계값은 현재 부모 노드의 속성과 비교하여 제1 집합의 속성의 최소값 또는 최대값에 따라 결정될 수 있다. 여기서 제1 임계값은 인코더로부터 디코더로 전달되는 비트스트림에 포함될 필요가 있다.
일 실시형태에서, 제2 임계값은 부모 노드의 제1 집합에 따라 결정된다. 따라서, 제2 임계값은 부모 노드의 제1 집합에서 부모 노드 중에 속성 분포에 따라 개별적으로 적응될 수 있다. 이 경우, 충분한 결과를 제공하기 위해, 각 노드의 예측 단계에 대한 개개의 임계값이 개별적으로 제공되고, 그에 따라 적응될 수 있다. 대안으로, 제2 임계값은 현재 부모 노드의 속성과 비교하여 제1 집합의 속성의 평균값에 따라 결정될 수 있다. 대안으로, 제2 임계값은 현재 부모 노드의 속성과 비교하여 제1 집합의 속성의 최소값 또는 최대값에 따라 결정될 수 있다. 여기서 제2 임계값은 인코더에서 디코더로 전달되는 비트스트림에 포함되어야 한다.
일 실시형태에서, 제1 임계값 및/또는 제2 임계값은 부모 노드의 제1 집합에 따라 결정되고 제1 임계값 또는 제2 임계값에 대한 상이한 값이 부모 노드의 제1 집합의 서브트리에 할당될 때까지 모든 서브노드에 의해 승계된다. 따라서, 각각의 현재 노드에 대해, 개별 제1 임계값 및/또는 개별 제2 임계값이 결정될 수 있고, 따라서 현재 노드 주변 속성의 특정 변화에 적응될 수 있다. 여기서, 제1 임계값 및/또는 제2 임계값은 관련된 서브트리의 상단에서 디코딩하기 위해 인코더로부터 디코더로 전달되거나 이러한 서브트리의 상단에 있지 않은 노드에 대해 승계되는(따라서 비트스트림에 포함되지 않음) 비트스트림에 포함될 수 있다.
일 실시형태에서, 제2 임계값은 제1 임계값의 백분율이다. 따라서, 제1 임계값이 증가하면, 그에 따라 제1 임계값의 백분율인 제2 임계값도 증가한다. 여기서 백분율은 고정되고, 완전한 포인트 클라우드 내의 속성 분포에 따라 결정되거나, 또는 부모 노드의 제1 집합 내의 속성 분포에 따라 결정될 수 있다. 여기서, 제1 임계값은 비트스트림과 백분율에 포함된다. 제1 임계값 또는 백분율이 고정된 경우, 이 정보를 전달할 필요가 없으므로 나머지만 포함되어야 한다.
일 실시형태에서, 제1 임계값과 제2 임계값은 동일하도록 설정된다. 또 다른 실시형태에서, 제1 임계값과 제2 임계값은 상이하다.
일 실시형태에서, 제1 임계값은 현재 노드의 속성과 부모 노드의 제1 집합에서의 부모 노드의 속성 사이의 비율에 따라 결정된다. 여기서 이 비율은 부모 노드의 제1 집합에서 속성의 평균값, 최대값 또는 최소값에 따라 결정될 수 있다. 대안으로, 제1 임계값은 부모 노드의 제1 집합에서 각각의 부모 노드에 대해, 현재 부모 노드와 부모 노드의 제1 집합 개개의 부모 노드의 속성 비율로서 개별적으로 결정될 수 있다.
일 실시형태에서, 제2 임계값은 현재 노드의 속성과 부모 노드의 제1 집합의 특허 노드 속성 사이의 비율에 따라 결정된다. 여기서, 이 비율은 부모 노드의 제1 집합에서 속성의 평균값, 최대값 또는 최소값에 따라 결정될 수 있다. 대안으로, 제2 임계값은 현재 부모 노드의 제1 집합에서 각각의 부모 노드에 대해, 현재 부모 노드와 부모 노드의 제1 집합 개개의 부모 노드의 속성 비율로서 개별적으로 결정될 수 있다.
상이한 실시형태는 자유롭게 조합될 수 있다. 특히, 제1 임계값 및 제2 임계값의 상이한 정의는 상기 실시형태로부터 자유롭게 선택될 수 있고, 특정 애플리케이션의 요구에 맞춰질 수 있다.
따라서, 본 발명에서는 코딩될 현재 노드에 대한 예측값을 예측할 때 속성 분포/편차를 고려한다. 따라서 가능한 모든 정보가 고려되지는 않는다. 대신에 코딩될 현재 노드의 속성과 충분히 유사한 예측값을 결정하기 위해 그러한 정보만이 고려된다. 따라서 예측 오류가 줄어들고, 포인트 클라우드 내 속성 분포의 불균질성이 잘 고려되어 예측 오류가 증가하지 않는다. 결과적으로, 감소된 예측 오류로 인해 잔차도 감소하여, 이러한 잔차를 포인트 클라우드의 비트스트림으로 인코딩하는 효율성이 증가한다.
따라서 포인트 클라우드의 속성을 인코딩하기 위한 이전의 인코딩 방법과 관련하여 적어도 1 %의 상당한 데이터 감소가 달성될 수 있다.
표 1은 C1 시험 조건에서의 결과를 나타낸다.
루마 | 크로마 Cb | 크로마 Cr | 반사율 | |
Cat-A 시퀀스 | -0.7% | -0.8% | -0.9% | N/A |
Cat3-융합 시퀀스 | -2.8% | -1.9% | -1.8% | -1.0% |
평균값 | -1.0% | -0.9% | -1.0% | -1.0% |
표 2는 C2 시험 조건에서의 결과를 나타낸다.
루마 | 크로마 Cb | 크로마 Cr | 반사율 | |
Cat-A 시퀀스 | -0.7% | -0.5% | -0.5% | N/A |
Cat3-융합 시퀀스 | -1.1% | -1.3% | -1.3% | -0.7% |
평균값 | -0.7% | -0.6% | -0.6% | -0.7% |
위의 표에 표시된 시뮬레이션은 모든 시퀀스에서 두 임계값, 즉 제1 임계값과 제2 임계값에 대해 고정된 값을 사용하여 최신 TMC13v10 플랫폼에서 실행되었다.
도 8을 참조하면, 인코더(1100)의 예시적인 실시형태의 단순화된 블록도를 도시한다. 인코더(1100)는 프로세서(1102) 및 메모리 저장 장치(1104)를 포함한다. 메모리 저장 장치(1104)는 실행될 때 프로세서(1102)로 하여금 본 명세서에 설명된 것과 같은 동작을 수행하게 하는 명령을 포함하는 컴퓨터 프로그램 또는 애플리케이션을 저장할 수 있다. 예를 들어, 명령은 본 명세서에 설명된 방법에 따라 인코딩된 비트스트림을 인코딩하고 출력할 수 있다. 명령은 콤팩트 디스크, 플래시 메모리 장치, 랜덤 액세스 메모리, 하드 드라이브 등과 같은 비일시적 컴퓨터 판독 가능 매체에 저장될 수 있음을 이해할 것이다. 명령이 실행될 때, 프로세서(1102)는 설명된 프로세스(들)를 구현하는 특수 목적 프로세서로서 동작하도록 명령에 지정된 동작 및 기능을 수행한다. 그러한 프로세서는 일부 예에서 "프로세서 회로(circuit)" 또는 "프로세서 회로망(circuitry)"으로 지칭될 수 있다.
도 9를 참조하면, 디코더(1200)의 예시적인 실시형태의 단순화된 블록도를 도시한다. 디코더(1200)는 프로세서(1202) 및 메모리 저장 장치(1204)를 포함한다. 메모리 저장 장치(1204)는 실행될 때 프로세서(1202)로 하여금 본 명세서에 설명된 것과 같은 동작을 수행하게 하는 명령을 포함하는 컴퓨터 프로그램 또는 애플리케이션을 포함할 수 있다. 명령은 콤팩트 디스크, 플래시 메모리 장치, 랜덤 액세스 메모리, 하드 드라이브 등과 같은 컴퓨터 판독 가능 매체에 저장될 수 있음을 이해할 것이다. 명령이 실행될 때, 프로세서(1202)는 설명된 프로세스(들) 및 방법을 구현하는 특수 목적 프로세서로서 동작하도록 명령에 지정된 동작 및 기능을 수행한다. 그러한 프로세서는 일부 예에서 "프로세서 회로" 또는 "프로세서 회로망"으로 지칭될 수 있다.
본 출원에 따른 디코더 및/또는 인코더는 서버, 적합하게 프로그래밍된 범용 컴퓨터, 머신 비전 시스템 및 모바일 장치를 포함하지만, 이에 제한되지 않는, 다수의 컴퓨팅 장치에서 구현될 수 있음을 이해할 것이다. 디코더 또는 인코더는 본 명세서에 기술된 기능을 수행하기 위해 프로세서 또는 프로세서들을 구성하기 위한 명령을 포함하는 소프트웨어에 의해 구현될 수 있다. 소프트웨어 명령은 CD, RAM, ROM, 플래시 메모리 등을 포함하는 임의의 적절한 비일시적 컴퓨터 판독 가능 메모리에 저장될 수 있다.
본 명세서에 기술된 디코더 및/또는 인코더 및 모듈, 루틴, 프로세스, 스레드(thread), 또는 인코더 또는 디코더를 구성하기 위한 기술된 방법/프로세스를 구현하는 기타 소프트웨어 구성요소는 표준 컴퓨터 프로그래밍 기술 및 언어를 사용하여 실현될 수 있음을 이해할 것이다. 본 출원은 특정 프로세서, 컴퓨터 언어, 컴퓨터 프로그래밍 규칙, 데이터 구조, 기타 그러한 구현 세부 사항에 제한되지 않는다. 당업자는 기술된 프로세스가 휘발성 또는 비 휘발성 메모리에 저장된 컴퓨터 실행 가능 코드의 일부로서, 애플리케이션 주문형 집적회로(application-specific integrated chip, ASIC) 등의 일부로서 구현될 수 있음을 인식할 것이다.
본 출원은 또한 본 출원에 따른 인코딩 프로세스의 애플리케이션을 통해 생성된 데이터를 인코딩하는 컴퓨터 판독 가능 신호를 제공한다.
설명된 실시형태의 특정 적용 및 수정이 이루어질 수 있다. 그러므로 이상에서 기술한 실시형태는 예시적인 것이며 한정적이 아닌 것으로 간주되어야 한다. 특히, 실시형태들은 서로 자유롭게 조합될 수 있다.
10, 16, 1100: 인코더
14: 비트스트림
18: 컨텍스트 모델 20, 1200: 디코더
22, 24: 부모 노드 25: 이웃 부모 노드
1102, 1202: 프로세서 1104, 1204: 메모리 저장 장치
18: 컨텍스트 모델 20, 1200: 디코더
22, 24: 부모 노드 25: 이웃 부모 노드
1102, 1202: 프로세서 1104, 1204: 메모리 저장 장치
Claims (15)
- 포인트 클라우드의 지오메트리가 상기 포인트 클라우드를 포함하는 체적 공간을 복셀 기반 구조의 노드와 각각 연관된 서브 볼륨으로 재귀적으로 분할함으로써 부모-자식 관계를 갖는 복수의 노드가 있는 상기 복셀 기반 구조로 표현되며, 압축된 포인트 클라우드 데이터의 비트스트림을 생성하도록 상기 포인트 클라우드의 포인트 속성을 인코딩하는 방법으로서,
현재 노드의 속성에 지역 적응형 계층 변환(RAHT)를 적용하여 실제 변환 계수를 결정하는 단계;
현재 부모 노드와, 상기 현재 노드와 면 또는 에지를 공유하는 노드의 제1 집합의 각 노드와의 속성 차이를 결정하는 단계로서, 상기 현재 부모 노드가 상기 현재 노드의 부모 노드인, 속성 차이를 결정하는 단계;
상기 차이에 따라 상기 부모 노드의 제1 집합으로부터 제2 집합을 선택하는 단계로서, 바람직하게는 상기 부모 노드의 제2 집합이 상기 현재 부모 노드를 포함하는, 제2 집합 선택 단계;
상기 부모 노드의 제2 집합의 속성에 따라 상기 현재 노드의 속성에 대한 예측값을 결정하는 단계;
상기 현재 노드의 속성 예측값에 RAHT를 적용하여 예측 변환 계수를 결정하는 단계;
상기 실제 변환 계수와 상기 예측 변환 계수로부터 잔차를 결정하는 단계; 및
상기 비트스트림에 대한 상기 포인트 클라우드 속성의 인코딩된 데이터를 생성하기 위해 잔차를 인코딩하는 단계
를 포함하는, 포인트 클라우드의 포인트 속성을 인코딩하는 방법. - 포인트 클라우드의 지오메트리가 상기 포인트 클라우드를 포함하는 체적 공간을 복셀 기반 구조의 노드와 각각 연관된 서브 볼륨으로 재귀적으로 분할함으로써 부모-자식 관계를 갖는 복수의 노드가 있는 상기 복셀 기반 구조로 표현되고, 재구축된 포인트 클라우드에 포인트의 속성을 생성하기 위해 압축된 포인트 클라우드 데이터의 비트스트림을 디코딩하는 방법으로서,
상기 비트스트림으로부터 상기 포인트 클라우드의 현재 노드 속성의 잔차를 디코딩하는 단계;
현재 부모 노드와, 상기 현재 노드와 면 또는 에지를 공유하는 노드의 제1 집합의 각 노드와의 속성 차이를 결정하는 단계로서, 상기 현재 부모 노드가 상기 현재 노드의 부모 노드인, 속성 차이를 결정하는 단계;
상기 차이에 따라 상기 부모 노드의 제1 집합으로부터 제2 집합을 선택하는 단계로서, 바람직하게는 상기 현재 노드의 제2 집합은 상기 현재 부모 노드를 포함하는, 상기 제2 집합을 선택하는 단계;
상기 부모 노드의 제2 집합의 속성에 따라 상기 현재 노드의 속성에 대한 예측값을 결정하는 단계;
상기 현재 노드의 속성 예측값에 RAHT를 적용하여 예측 변환 계수를 결정하는 단계; 및
역 RAHT를 적용하여 상기 잔차 및 상기 예측 변환 계수로부터 상기 현재 노드의 속성을 결정하는 단계
를 포함하는, 비트스트림의 디코딩 방법. - 제1 항 또는 제2 항에 있어서,
상기 현재 부모 노드와, 노드의 제1 집합의 각 노드의 속성 차이를 결정하는 단계는,
상기 부모 노드의 제1 집합에서 각각의 부모 노드와 상기 현재 부모 노드 중의 최대 차이를 결정하는 단계;
제1 임계값을 제공하는 단계; 및
상기 최대 차이가 제1 임계값보다 적은 경우, 상기 부모 노드의 제1 집합의 모든 부모 노드를 선택하는 단계
를 포함하는 것을 특징으로 하는 방법. - 제1 항 내지 제3 항 중 어느 한 항에 있어서,
상기 현재 부모 노드와 노드의 제1 집합의 각 노드와의 속성 차이를 결정하는 단계는,
상기 부모 노드의 제1 집합에서 각각의 부모 노드와 상기 현재 부모 노드 사이의 차이를 결정하는 단계; 및
개개의 차이가 제2 임계값보다 적은 경우, 상기 부모 노드의 제1 집합의 부모 노드를 선택하는 단계
를 포함하는 것을 특징으로 하는 방법. - 제1 항 내지 제4 항 중 어느 한 항에 있어서,
상기 제1 임계값 및/또는 상기 제2 임계값이 고정되는 것을 특징으로 하는 방법. - 제1 항 내지 제5 항 중 어느 한 항에 있어서,
상기 제1 임계값 및/또는 상기 제2 임계값이 완전한 포인트 클라우드 내의 속성 분포에 따라 결정되는 것을 특징으로 하는 방법. - 제1 항 내지 제6 항 중 어느 한 항에 있어서,
상기 제1 임계값 및/또는 상기 제2 임계값이 상기 부모 노드의 제1 집합에 따라 결정되는 것을 특징으로 하는 방법. - 제 1항 내지 제 7항 중 어느 한 항에 있어서,
상기 제2 임계값이 상기 제1 임계값의 백분율인 것을 특징으로 하는 방법. - 제1 항 내지 제8 항 중 어느 한 항에 있어서,
상기 제1 임계값 및 상기 제2 임계값이 동일하거나 상이한 것을 특징으로 하는 방법. - 제1 항 내지 제9 항 중 어느 한 항에 있어서,
상기 제1 임계값 및/또는 상기 제2 임계값이 상기 현재 노드의 속성과 상기 부모 노드의 제1 집합의 부모 노드의 속성 간의 비율에 따라 결정되는 것을 특징으로 하는 방법. - 제1 항 내지 제9 항 중 어느 한 항에 있어서,
상기 제1 임계값 및/또는 상기 제2 임계값이 상기 비트스트림에 포함되는 것을 특징으로 하는 방법. - 제11 항에 있어서,
상기 제1 임계값 및/또는 상기 제2 임계값은, 상기 제1 및/또는 제2 임계값이 사용되어야 하는 적어도 하나의 서브트리의 상부에서만 상기 비트스트림에 포함되고, 또 다른 제1 또는 제2 임계값의 명시적 신호전달이 없는 서브트리의 모든 노드에 의해 승계되는 것을 특징으로 하는 방법. - 포인트 클라우드의 지오메트리가 상기 포인트 클라우드를 포함하는 체적 공간을 복셀 기반 구조의 노드와 각각 연관된 서브 볼륨으로 재귀적으로 각각 분할함으로써 부모-자식 관계를 갖는 복수의 노드가 있는 상기 복셀 기반 구조에 의해 표현되고, 압축된 포인트 클라우드 데이터의 비트스트림을 생성하도록 포인트 클라우드의 포인트의 속성을 인코딩하기 위한 인코더로서,
프로세서; 및
메모리 저장 장치에서, 실행될 때, 프로세서로 하여금, 제1 항, 및 제1 항의 종속항인 제3 항 내지 제11 항 중 어느 한 항에 따른 방법을 수행하도록 하는 프로세서에 의해 실행 가능한 명령이 저장되는 메모리 저장 장치
를 포함하는 인코더. - 포인트 클라우드의 지오메트리가 상기 포인트 클라우드를 포함하는 체적 공간을 복셀 기반 구조의 노드와 각각 연관된 서브 볼륨으로 재귀적으로 각각 분할함으로써 부모-자식 관계를 갖는 복수의 노드가 있는 상기 복셀 기반 구조로 표현되고, 재구축된 포인트 클라우드의 포인트 속성을 생성하도록 압축된 포인트 클라우드 데이터의 비트스트림을 디코딩하는 디코더로서,
프로세서; 및
메모리 저장 장치로서, 실행될 때, 프로세서로 하여금 제2 항 내지 제11 항 중 어느 한 항에 따른 방법을 수행하도록 하는, 상기 프로세서에 의해 실행 가능한 명령이 저장되는 메모리 저장 장치
를 포함하는 디코더. - 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제1 항 내지 제11 항 중 어느 한 항에 따른 방법을 수행하게 하는 프로세서 실행 명령을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/098272 WO2021258374A1 (en) | 2020-06-24 | 2020-06-24 | Method for encoding and decoding a point cloud |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230023667A true KR20230023667A (ko) | 2023-02-17 |
Family
ID=72560447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227046121A KR20230023667A (ko) | 2020-06-24 | 2020-06-24 | 포인트 클라우드의 인코딩 및 디코딩 방법 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20230267651A1 (ko) |
EP (1) | EP3929873A1 (ko) |
JP (1) | JP7425899B2 (ko) |
KR (1) | KR20230023667A (ko) |
CN (1) | CN112385236B (ko) |
BR (1) | BR112022026363A2 (ko) |
WO (1) | WO2021258374A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115412716B (zh) * | 2021-05-26 | 2024-06-04 | 荣耀终端有限公司 | 一种点云坐标转换残差的编解码方法及装置 |
EP4160925A1 (en) * | 2021-09-30 | 2023-04-05 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus of encoding/decoding point cloud geometry data sensed by at least one sensor |
WO2023080606A1 (ko) * | 2021-11-03 | 2023-05-11 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
CN116233435A (zh) * | 2021-12-03 | 2023-06-06 | 维沃移动通信有限公司 | 点云编码方法、解码方法、装置及电子设备 |
EP4199362A1 (en) * | 2021-12-20 | 2023-06-21 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus of encoding/decoding sensed point cloud geometry data |
EP4220561A1 (en) * | 2022-02-01 | 2023-08-02 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and apparatus of encoding/decoding a slice of point cloud data |
WO2023155045A1 (zh) * | 2022-02-15 | 2023-08-24 | 上海交通大学 | 预测的方法和装置、编码器、解码器和编解码*** |
WO2024051617A1 (en) * | 2022-09-09 | 2024-03-14 | Douyin Vision Co., Ltd. | Method, apparatus, and medium for point cloud coding |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10223810B2 (en) | 2016-05-28 | 2019-03-05 | Microsoft Technology Licensing, Llc | Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression |
US10694210B2 (en) * | 2016-05-28 | 2020-06-23 | Microsoft Technology Licensing, Llc | Scalable point cloud compression with transform, and corresponding decompression |
EP3553747B1 (en) * | 2018-04-09 | 2021-09-01 | BlackBerry Limited | Methods and devices for predictive coding of point clouds |
US10904564B2 (en) * | 2018-07-10 | 2021-01-26 | Tencent America LLC | Method and apparatus for video coding |
CN110418135B (zh) * | 2019-08-05 | 2022-05-27 | 北京大学深圳研究生院 | 一种基于邻居的权重优化的点云帧内预测方法及设备 |
CN110572655B (zh) * | 2019-09-30 | 2023-01-10 | 北京大学深圳研究生院 | 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备 |
CN111145090B (zh) * | 2019-11-29 | 2023-04-25 | 鹏城实验室 | 一种点云属性编码方法、解码方法、编码设备及解码设备 |
-
2020
- 2020-06-24 BR BR112022026363A patent/BR112022026363A2/pt unknown
- 2020-06-24 WO PCT/CN2020/098272 patent/WO2021258374A1/en active Application Filing
- 2020-06-24 CN CN202080003877.XA patent/CN112385236B/zh active Active
- 2020-06-24 US US18/001,962 patent/US20230267651A1/en active Pending
- 2020-06-24 KR KR1020227046121A patent/KR20230023667A/ko active Search and Examination
- 2020-06-24 JP JP2022578799A patent/JP7425899B2/ja active Active
- 2020-09-17 EP EP20196648.8A patent/EP3929873A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN112385236B (zh) | 2022-07-15 |
US20230267651A1 (en) | 2023-08-24 |
EP3929873A1 (en) | 2021-12-29 |
WO2021258374A1 (en) | 2021-12-30 |
CN112385236A (zh) | 2021-02-19 |
BR112022026363A2 (pt) | 2023-01-17 |
JP2023530365A (ja) | 2023-07-14 |
JP7425899B2 (ja) | 2024-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20230023667A (ko) | 포인트 클라우드의 인코딩 및 디코딩 방법 | |
US20240078714A1 (en) | Methods and devices for entropy coding point clouds | |
US11310525B2 (en) | Predictor-copy coding mode for coding of point clouds | |
US11361472B2 (en) | Methods and devices for neighbourhood-based occupancy prediction in point cloud compression | |
CN112438049B (zh) | 编码和解码方法、编码器、解码器以及存储介质 | |
KR20200141065A (ko) | 포인트 클라우드의 이진 엔트로피 코딩을 위한 방법 및 장치 | |
EP3896657B1 (en) | Method and apparatus for processing a point cloud | |
KR20220027869A (ko) | 팔진트리 기반 포인트 클라우드 코딩에서의 평면 모드에 대한 컨텍스트 결정 | |
US20230048381A1 (en) | Context determination for planar mode in octree-based point cloud coding | |
WO2022073156A1 (en) | Method of encoding and decoding, encoder, decoder and software | |
CN117581537A (zh) | 用于对点云进行编码和解码的方法 | |
RU2800579C1 (ru) | Способ кодирования и декодирования облака точек | |
WO2023056677A1 (en) | Method of encoding and decoding, encoder, decoder and software for encoding and decoding a point cloud | |
KR102690193B1 (ko) | 포인트 클라우드의 이진 엔트로피 코딩 방법 및 디바이스 | |
KR102690197B1 (ko) | 포인트 클라우드의 이진 엔트로피 코딩 방법 및 디바이스 | |
WO2024031586A1 (en) | Method for encoding and decoding a 3d point cloud, encoder, decoder | |
WO2024082145A1 (en) | Method for encoding and decoding a point cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |