KR20140097210A - 종결가능한 공간 트리-기반의 위치 코딩 및 디코딩 - Google Patents

종결가능한 공간 트리-기반의 위치 코딩 및 디코딩 Download PDF

Info

Publication number
KR20140097210A
KR20140097210A KR1020147014001A KR20147014001A KR20140097210A KR 20140097210 A KR20140097210 A KR 20140097210A KR 1020147014001 A KR1020147014001 A KR 1020147014001A KR 20147014001 A KR20147014001 A KR 20147014001A KR 20140097210 A KR20140097210 A KR 20140097210A
Authority
KR
South Korea
Prior art keywords
cell
sub
point
cells
spatial
Prior art date
Application number
KR1020147014001A
Other languages
English (en)
Other versions
KR102014309B1 (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 KR20140097210A publication Critical patent/KR20140097210A/ko
Application granted granted Critical
Publication of KR102014309B1 publication Critical patent/KR102014309B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components

Landscapes

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

Abstract

본 발명은 종결가능한 공간 트리 기반의 위치 코딩 및 디코딩 방법과 상응하는 코딩 및 디코딩 장치를 제공한다. 인코딩 방법은 입력 공간 포인트들의 주변에 셀을 구축하는 단계, 셀을 상이한 레이어들로의 서브-셀로 회귀적으로 분할하는 단계 및 각 서브-셀 내에 공간 포인트가 있는지 여부를 나타내는 부호를 각 서브-셀에 할당하는 단계를 포함한다. 본 방법은 서브-셀이 오직 하나의 포인트를 포함하고 서브-셀의 중심 포인트와 서브-셀에 포함된 포인트 간의 거리가 허용된 최대 에러보다 작은 경우 더 이상의 서브-셀의 분할을 종료하는 단계를 더 포함한다.

Description

종결가능한 공간 트리-기반의 위치 코딩 및 디코딩{TERMINABLE SPATIAL TREE-BASED POSITION CODING AND DECODING}
본 발명은 일반적으로 삼차원(3D) 모델들에 관한 것이다. 특히, 본 발명은 종결가능한 공간 트리-기반의 위치 코딩 및 디코딩 방법과 이에 상응하는 코딩 및 디코딩 장치에 관한 것이다.
알파벳 또는 부호 집합으로부터 선택된 부호들의 시퀀스는 엔트로피 코딩에 의해 압축될 수 있다. 엔트로피 코딩 엔진은 통계 모델, 예를 들어 부호들의 분포 확률에 기초하여 부호들에 대해 코드워드들을 할당한다. 보통, 더 자주 사용되는 부호들은 적은 비트들로 엔트로피 코딩되며 더 드물게 발생하는 부호들은 많은 비트들로 엔트로피 코딩된다.
엔트로피 코딩은 수십 년간 연구되어 왔다. 기본적으로, 호프만 코딩(Huffman coding)과 같은 VLC(variable length coding), 산술 코딩(arithmetic coding), 그리고 LZ(Lempel-Ziv) 압축 또는 LZW(Lempel-Ziv-Welch) 압축과 같은 사전-기반 압축(dictionary-based compression)의 세 가지 유형의 엔트로피 코딩 방법들이 있다.
VLC 코드들은 각 부호를 표현하기 위해서 정수 개의 비트를 사용한다. 호프만 코딩이 가장 널리 사용되는 VLC 방법이다. 이것은 낮은 확률을 갖는 부호에 더 많은 비트들을 할당하는 반면, 높은 확률을 갖는 부호에 더 적은 비트들을 할당한다. 호프만 코딩은 각 부호의 확률이 1/2의 정수 제곱일 때 최적이다. 산술 코딩은 각 부호가 엔트로피에 더 가까이 접근할 수 있도록 각 부호에 분수 비트들을 할당한다. 호프만 코딩 및 산술 코딩은 예를 들어 JPEG, MPEG-2, H.264/AVC와 같은 현존하는 이미지/비디오 압축 표준들에 널리 사용되고 있다. LZ 또는 LZW는 테이블 엔트리들이 반복되는 데이터의 스트링들을 대신하여 대체되는 테이블 기반의 압축 모델을 이용한다. 대부분의 LZ 방법들에서, 테이블은 앞선 입력 데이터로부터 동적으로 생성된다. 사전기반 알고리즘은 예를 들어 GIF, Zip, PNG 표준들에 쓰이고 있다.
공간 트리 기반의 접근들은 수밀 3D 모델들 및 랜덤 포인트 위치들의 꼭지점 위치들과 같은 기하학적 데이터를 압축하기 위해 사용될 수 있다. 그들은 옥트리(octree) 또는 k-d 트리로 입력 공간 포인트들을 조직한다. 트리는 순회되고(traversed) 트리 복구를 위해 필요한 정보가 저장된다.
초기에, 3D 모델의 모든 포인트들의 주변에 바운딩 박스가 구축된다. 모든 3D 포인트들의 바운딩 박스는 처음에 하나의 셀로 간주된다. 공간 트리를 만들기 위해서, 각 비어있지 않은 셀이 오직 하나의 정점을 포함하고 정점 위치의 충분히 정확한 복원을 가능하게 하도록 충분히 작아질 때까지 셀이 회귀적으로 세분된다. 정점 위치들이 상응하는 셀들의 중심 좌표들로부터 복구됨으로써, 공간 트리 기반의 알고리즘들은 단일-해상도 압축 알고리즘들과 동일한 압축 비율로 다중-해상도 압축을 달성할 수 있다.
k-d 트리 기반의 접근에서는, 셀이 두 개의 자식 셀들(child cells)로 세분되고 두 자식 셀들 중 하나의 정점들의 개수가 도 1에서 보여지는 바와 같이 각 반복에서 인코딩된다. 부모 셀(parent cell)이 p개의 정점들을 포함하면, 자식 셀들 중 하나의 정점들의 개수는 산술 코더로 log2(p+1) 비트들을 사용하여 인코딩될 수 있다.
한편으로는, 옥트리 기반의 접근은 각 반복에서 비어있지 않은 셀을 여덟 개의 자식 셀들로 세분한다. 표현의 용이함을 위해 도 2 및 도 3에 쿼드트리를 기술하는 2D의 예시들이 보여진다. 순회 순서들은 화살표들로 표시되었다. 인코딩을 위하여, 현재 부모 셀이 미리 정의된 순서로 횡단되는 네 개의 자식 셀들로 분열되고, 자식 셀 당 하나의 비트는 자식 셀들 내에 포인트가 있는지 여부를 나타낸다. 예를 들어, 도 2에서 제1 부모 셀 및 제2 부모 셀이 화살표들로 보여지는 것처럼 횡단 되고, 비어있지 않은 자식 셀들은 회색으로 채색된다. 제1 부모 셀의 자식 셀들(210, 211, 212, 213)은 제1 시퀀스 1010으로 표현된다. 이번 순회의 제1 자식 셀(210) 및 제3 자식 셀(212)이 비어있지 않으므로 (즉, 하나 이상의 포인트들을 포함하므로), 그것들은 '1'로 나타내어 진다. 제2 자식 셀(211) 및 제4 자식 셀(213)은 비어있으므로 (즉 포인트들을 포함하지 않으므로) '0'으로 나타내어 진다. 도 3은 상이한 순회를 사용한 동일한 셀들과 결과 시퀀스들을 보여준다.
도 4는 옥트리 설계에서 부모 셀 및 자식 셀들을 보여준다. 옥트리 설계에서는, 부모 셀이 여덟 개의 자식 셀들(40, ..., 46)(셀(42)의 왼쪽 아래 뒤에 있는 하나의 가려진 자식 셀은 도시되지 않았다)로 분열된다. 가능한 순회 순서는 좌-우, 상-하 및 앞-뒤일 수 있고 결과적으로 셀들의 순회 시퀀스는 40-41-42-43-44-45-42의 왼쪽 아래 뒤의 가려진 셀-46 이다. 상응하여, 옥트리 경우에서는 비어있지 않은 자식 셀 배열은 8 비트 이진법들로 표시되어, 비어있는 자식 셀들과 비어있지 않는 자식 셀들의 255가지의 가능한 모든 조합을 커버한다. 비어있지 않은 자식 셀들의 개수에 대한 별도의 인코딩은 요구되지 않는다. 표 1은 시퀀스의 예시이다.
Figure pct00001
부모 셀 내 자식 셀들의 특정한 순회 순서는 본 실시예들과 그리 큰 관련이 없다는 것에 유의한다. 원칙적으로, 본 실시예들에서 어떠한 순회 순서도 사용될 수 있다. 이하에서는, 자식 셀 배열을 표현하기 위해 사용된 비트들의 스트링은 부호(symbol)로 가정된다. 표 1의 예시에서, 각 부호에 대하여 8비트가 사용되었다. 다른 구현들에서는, 부호에 있는 비트들의 개수가 다를 수 있다. 예를 들어, 쿼드트리에 대한 자식 셀 배열을 표현하는데 4-비트 스트링이 사용되고, 따라서 도 2의 예에 있는 부호의 비트의 개수는 4이다.
도 5는 옥트리 구조의 예시를 보여준다. 각 노드는 부호와 연관되고 각 레이어는 트리 표현의 일 정밀도에 상응한다. 초기 셀은 여덟 개의 셀들로 분할된다. 자식 셀들 1, 2, 5, 6, 7은 더 많은 정점들을 포함하고 자식 셀들 3, 4, 및 8은 비어있어, 그 결과 제0 레이어에서 자식 셀 배열을 표현하기 위해 8-비트 부호 11001110(510)이 발생한다. 각 비어있지 않는 자식 셀들은 더 분할되고 상응하는 자식 셀 배열들은 제1 레이어에 표현된다. 비어있지 않은 셀들 각각이 오직 하나의 정점을 포함할 때까지 세분이 계속된다.
상기 접근들은 수밀 3D 모델들의 정점 위치들을 표현하기 위해 제안되었다. 무작위로 분포된 포인트들을 표현할 때는, 예측하는 방식이 실효성이 없게 될 수 있다. 따라서, 위치 코딩을 하기 위해서 복잡성 및 견고성을 고려하여 공간 트리의 기본적인 방법을 도입하는 것이 바람직하다. 쿼드트리를 예로 들면, 비어있지 않은 서브-셀 배열은 4-비트 2진수들로 표시되어 모든 15개의 조합들을 커버한다. 그리고 비어있지 않은 자식 셀들 T의 개수는 따라서 더 이상 필요하지 않다.
도 6은 종래 기술에서 쿼드트리를 만드는 원리를 도시하는 예시적인 다이어그램이다.
도 6a는 쿼드트리 구축의 순회 순서를 보여주는 예시적인 다이어그램이다. 순회 순서들은 화살표들로 표시되었다. 인코딩을 위해서, 현재 부모 셀이 도 6a에 도시된 바와 같이 미리 정의된 순서로 순회되는 네 개의 자식 셀들로 분열된다.
도 6b는 2D 공간의 계층적 분할을 나타내는 예시적인 다이어그램이다. 도 6b에 도시된 바와 같이, 작은 검정 정사각형들은 코딩되어야 하는 포인트들을 표시한다. 평면은 동일한 크기의 4개의 서브-셀들로 분할된다. 각 서브-셀이 적어도 하나의 포인트를 포함하고 있으므로, 상응하는 비어있지 않은 서브-셀 배열은 1111 이다. 각 서브-셀은 4개의 서브-셀들로 더 분할되고 비어있지 않은 서브-셀 배열은 인코딩된다. 도 6b에서, 도 2b에 있는 서브-셀 "TL"의 오직 오른쪽 맨 아래의 자식 셀만이 포인트를 포함한다. 따라서, 상응하는 비어있지 않은 서브-셀 배열은 0010 이다. 셀들은 반복적으로 분할되고 비어있지 않은 서브-셀 배열은 인코딩된다. 쿼드트리가 도 6c와 같이 구축되었고 각 레이어는 하나의 분할 반복에 상응한다.
도 7은 도 6에 있는 쿼드트리를 만드는 프로세스의 흐름도를 도시하는 예시적인 다이어그램이다.
도 7에서 도시된 바와 같이, 레이어 l의 k번째 셀을 표시하는 셀 Cl ,k가 세분된다. 가장 깊은 레이어에 있는 모든 서브-셀이 최대 하나의 포인트를 포함하고, 서브-셀의 중심 포인트 cl ,k와 각 서브-셀 내의 포인트 vl ,k 간의 거리(dist(vl ,k, cl,k))가 허용된 최대 에러 th보다 작다는 두 가지 조건이 충족되었을 때, 인코더에 의해 세분이 종료된다.
허용된 최대 에러 th는 사용자의 품질 요구에 따라 정해질 수 있다.
도 7에서 도시된 바와 같이, 레이어 l에 있는 모든 서브-셀들이 상기 두 가지 조건들을 모두 만족시킬 경우에만, 프로세스는 다음 레이어 l+1을 세분한다.
도 7에 도시된 상기 메커니즘은 고르게 분포된 포인트들에 잘 적용된다. 그러나, 만약 모델의 공간 포인트들이 고르게 분포되어있지 않고 몇몇 포인트들이 서로 매우 근접한 경우에는, 상기 메커니즘은 코딩 효율성에 문제가 있을 수 있다. 도 8은 고르지 않게 분포된 포인트들의 경우를 도시하는 예시적인 다이어그램이다. 도 8에서 도시된 바와 같이, 포인트 좌표들의 허용된 최대 에러가 0.125라고 가정하면, 대부분의 포인트들에 대해서는 두 번의 세분이면 충분하지만 검정 정사각형들로 표현된 극도로 근접한 두 포인트들이 제외된다. 이는 상기 첫 번째 조건이 상기 두 포인트들에 대해서 만족될 수 없기 때문이다. 따라서, 다른 포인트들의 세분이 계속되어야 하고 그 결과 도 9의 쿼드트리가 구축된다. 도 9에서 점선 블록으로 나타낸 노드들은 사실상 쓸모없다는 것이 이해될 수 있다. 그러므로, 이 경우에는 코딩이 비효율적이다.
본 발명의 한 가지 측면에 의하면, 입력 공간 포인트들을 공간 트리 구조로 인코딩하는 방법이 제공된다. 본 방법은 입력 공간 포인트들의 주변에 셀을 구축하는 단계, 상기 셀을 다른 레이어들로의 서브-셀들로 회귀적으로 분할(recursively devide)하는 단계 및 상기 서브-셀 내에 공간 포인트가 있는지 여부를 나타내는 부호를 각 서브-셀에 대하여 할당하는 단계를 포함한다. 본 방법은 서브-셀이 오직 하나의 포인트를 포함하고 서브-셀의 중심 포인트와 서브-셀 내에 있는 포인트 간의 거리가 허용된 최대 에러보다 작으면 더 이상의 서브-셀의 분할을 종료하는 단계를 더 포함한다.
본 발명의 한 가지 측면에 의하면, 공간 트리 구조의 비트스트림을 디코딩 하는 방법이 제공된다. 본 방법은 공간 트리 구조의 셀들을 다른 레이어들에서 서브-셀들로 회귀적으로 분할하면서 종료 코딩 모드(terminal coding mode)가 비트스트림에 인가되었는지 결정하기 위해 비트스트림의 모드 정보를 디코딩하는 단계를 포함한다. 방법은 서브-셀에 대한 종료 코드(termination code)가 디코딩되거나 서브-셀의 분할이 최대 분할 레이어에 도달하면 서브-셀의 추가 분할을 종료하는 단계를 더 포함한다.
본 발명의 한 가지 측면에 의하면, 입력 공간 포인트들을 공간 트리 구조로 인코딩하는 인코더가 제공된다. 인코더는 데이터를 수신하고 인코딩된 신호를 생성한다. 인코더는 입력 공간 포인트들의 주변에 셀을 구축하고 상기 셀을 상이한 레이어들로의 서브-셀들로 회귀적으로 분할하며 각 서브-셀 내에 공간 포인트가 있는지 여부를 나타내는 부호를 각 서브-셀에 할당하고 서브-셀이 오직 하나의 포인트를 포함하고 서브-셀의 중심 포인트와 서브-셀에 포함된 포인트 간의 거리가 허용된 최대 에러보다 작은 경우, 서브-셀의 추가 분할을 종료하는 연산들을 수행하도록 조정된다.
본 발명의 한 가지 측면에 의하면, 공간 트리 구조의 비트스트림을 디코딩하기 위한 디코더가 제공된다. 디코더는 인코딩된 신호를 수신하고 공간 트리 구조를 생성한다. 디코더는 종료 코딩 모드가 비트스트림에 인가되었는지 여부를 결정하기 위해서 비트스트림의 모드 정보를 디코딩하고, 다른 레이어들에서 공간 트리 구조의 셀들을 서브-셀들로 회귀적으로 분할하는 연산들을 수행하도록 조정된다. 방법은 서브-셀이 오직 하나의 포인트를 포함하는 경우, 서브-셀에 대한 종료 코드가 디코딩되거나 또는 서브-셀의 분할이 최대 분할 레이어에 도달하면 서브-셀의 더 이상의 분할을 종료하는 단계를 더 포함한다.
이어지는 본 발명의 상세한 기술에서 본 발명의 더 많은 측면들 및 이점들이 발견될 수 있음이 이해될 것이다.
첨부된 도면들은 실시예들의 원리들을 설명하기 위한 기술들과 더불어 본 발명의 실시예들의 부가적인 이해를 제공하기 위해 포함되었다. 본 발명은 상기 실시예들로 제한되지 않는다.
도 1은 2D의 경우에서 k-d 트리 기반 기하학적 코딩의 원리를 도시하는 예시적인 다이어그램.
도 2 및 도 3은 2D의 경우에서 쿼드트리 기반 기하학적 코딩의 도시하는 예시적인 다이어그램.
도 4는 셀 파티션을 도시하는 예시적인 다이어그램.
도 5는 예시적인 옥트리를 도시하는 예시적인 다이어그램.
도 6은 종래 기술에서 쿼드트리를 만드는 원리를 도시하는 예시적인 다이어그램.
도 7은 종래 기술에서 공간 트리 생성의 원리를 도시하는 예시적인 다이어그램.
도 8은 고르지 않게 분포된 포인트들의 경우를 도시하는 예시적인 다이어그램.
도 9는 도 8의 경우에 대하여 도 7의 방법으로 구축된 쿼드트리를 도시하는 예시적인 다이어그램.
도 10은 본 발명의 실시예에 따른 종결가능한 공간 기반의 엔트로피 코딩의 공간 트리 구축 프로세스에서 입력 부호 데이터 집합의 클러스터링을 도시하는 예시적인 다이어그램.
도 11은 본 발명의 실시예에 따른 종결가능한 공간 트리 기반의 엔트로피 코딩의 흐름도를 도시하는 예시적인 다이어그램.
도 12는 도 8의 고르지 않게 분포된 포인트들의 경우에 대하여 도 11의 방법에 의해 구축된 쿼드트리를 도시하는 예시적인 다이어그램.
도 13은 본 발명의 실시예에 따른 종결가능한 공간 트리 기반의 엔트로피 코딩의 흐름도를 도시하는 예시적인 다이어그램.
도 14는 도 8의 고르지 않게 분포된 포인트들의 경우에 대하여 도 13의 방법에 의해 구축된 쿼드트리를 도시하는 예시적인 다이어그램.
도 15는 종료 코딩 모드가 활성화되는지 여부를 분석하기 위한 기초로서, 완전히 구축된 공간 트리를 도시하는 예시적인 다이어그램.
도 16은 본 발명의 실시예에 따른 종결가능한 공간 트리 기반의 엔트로피 디코딩의 흐름도를 도시하는 예시적인 다이어그램.
도 17은 본 발명의 원리들에 따른 위치 코딩을 포함하는 디바이스의 예시적인 실시예의 블록 다이어그램.
도 18은 본 발명의 원리들에 따른 위치 디코딩을 포함하는 디바이스의 예시적인 실시예의 블록 다이어그램.
본 발명의 실시예는 도면들과 함께 상세히 기술될 것이다. 다음의 기술에서, 알려진 기능들 및 배열들의 몇몇 상세한 기술들은 간결성을 위하여 생략하였다.
위에서 기술된 통상적인 공간 트리 기반의 엔트로피 코딩에서의 문제점을 고려하여, 본 발명의 실시예는 종결가능한 공간 기반의 엔트로피 코딩(terminable spatial tree based entropy coding)을 제공한다. 본 발명의 실시예에 따르면, 입력 부호 집합에 대한 트리 구축의 셀 세분 동안에 서브-셀이 오직 하나의 포인트를 포함하고, 서브-셀의 중심 포인트와 서브-셀 내에 포함된 포인트 간의 거리가 허용된 최대 에러보다 작다는 두 가지 조건이 만족되면, 서브-셀과 동일한 레이어에 있는 다른 서브-셀들과 관계없이, 서브-셀의 세분이 종료된다.
본 발명의 실시예에 따르면, 세분의 종료는 입력 부호 집합에 대한 트리 구축의 셀 세분 동안에 레이어에 있는 각 서브-셀에 대하여 개별적으로 세분의 종료가 결정된다. 실시예에 따르면, 서브-셀의 세분은, 동일한 레이어에 있는 다른 서브-셀들의 영향을 받지 않고 적절한 때에 종료될 수 있다. 그러므로, 입력 부호 집합에 고르지 않게 분포된 공간 포인트들이 포함된 경우에서도 코딩 효율성이 개선될 수 있다.
본 발명의 실시예에 따르면, 서브-셀의 세분이 종료되어야 할 필요가 있다고 결정될 때, 구축된 트리에 있는 서브-셀에 상응하는 노드의 자식(child of the node)으로서 종료 코드(terminal code)가 덧붙여진다. 종료 코드가 노드에 덧붙여지면, 노드의 자식들은 인코딩되지 않을 것이고 따라서 비트 손실(bit cost)을 피할 수 있다는 것은 당해 기술 분야에서 통상의 지식을 가진 자에게 인지될 수 있다.
다음으로, 본 발명의 실시예에 대하여 상세하게 기술될 것이다.
도 10은 본 발명의 실시예에 따른 종결가능한 공간 기반의 엔트로피 코딩의 공간 트리 구축 프로세스에서 입력 부호 데이터 집합의 클러스터링을 도시하는 예시적인 다이어그램이다.
도 10에서 도시된 바와 같이, 입력 부호 집합의 포인트들은 우선 그들의 공간 위치들에 따라 클러스터화된다. 각 클러스터는 공간적으로 군집된 포인트들의 집합을 포함한다. 각 클러스터는 그에 속한 모든 포인트들을 하나의 옥트리로 조직함으로써 압축된다. 클러스터의 모든 포인트들의 주변에 바운딩 박스가 구축된다. 처음에는 바운딩 박스가 하나의 셀로 간주된다. 셀은 공간 트리를 만들기 위해 회귀적으로 세분된다. 이 점에 있어서 상세한 기술은 이미 위의 배경 기술의 도입부에서 제공되었고 여기에서는 생략한다.
도 11은 본 발명의 실시예에 따른 종결가능한 공간 트리 기반의 엔트로피 코딩의 흐름도를 도시하는 예시적인 다이어그램이다. 도 11에 도시된 바와 같이, 레이어 l의 k 번째 셀을 표시하는 셀 Cl ,k는 세분된다. 셀 Cl ,k가 오직 하나의 포인트를 포함하고 셀 Cl ,k의 중심 포인트 cl ,k와 셀 Cl ,k 내의 포인트 vl ,k 간의 거리가 허용된 최대 에러 th보다 작다는 두 가지 조건이 모두 충족되면 l 레이어의 k 번째 셀의 세분은 인코더에 의해 종료된다.
도 11에 도시된 바와 같이, 레이어에 있는 셀 세분의 종료는 개별적으로 결정된다. 즉, 셀 Cl ,k와 셀 Cl ,k+1에 대해서 세분이 종료될 필요가 있는지 여부는 서로의 영향을 받지 않고 각각 결정된다.
도 7에 도시된 통상적인 코딩 방법에 의해 구축된 도 9의 쿼드트리 구조와 비교하여, 본 방명의 실시예의 방법 발명에 의해 구축된 도 12의 쿼드트리 구조는 도 8의 불필요한 부호들을 더 이상 가지고 있지 않다. 검정색 삼각형으로 표현되는 도 8의 오른쪽 아래 포인트는 상부-레이어의 셀의 중심 포인트와 충분히 가까워 종료 조건을 충족시키기 때문에 도 12에 도시된 바와 같이, 도 9의 쿼드트리에 있는 제2 레이어의 "0010"은 종료 코드 "T"로 교체되었다. 따라서 이 포인트를 포함하는 서브-셀은 더 이상 세분될 필요가 없다.
위에 기술된 본 발명의 실시예에 따르면, 세분의 종료는 레이어에 있는 각 서브-셀들에 대하여 개별적으로 결정된다. 세분이 종료되어야 한다고 결정된 경우, 종료 코드는 구축된 트리에 있는 서브-셀에 상응하는 노드의 자식으로 덧붙여진다. 위의 실시예는 종료 코드들로 구성되는 하나의 부가적인 레이어를 유발하여 코딩 효율성을 제한할 수 있다.
코딩 효율성을 더욱 개선하기 위해서, 종료 코드가 모든 세분의 종료들에 대해 덧붙여지는 것이 아닌 본 발명의 또 다른 실시예가 제공된다. 이 실시예에 따르면, 요구되는 코딩 정확도를 보장할 수 있는 최대 세분 레이어가 결정된다. 트리 구축 접근의 셀 세분 동안, 서브-셀이 오직 하나의 포인트를 포함하고 서브-셀의 중심 포인트와 서브-셀 내의 포인트 간의 거리가 허용된 최대 에러보다 작은 경우, 세분을 종료하지만 최대 세분 레이어에 닿으면 종료 코드를 덧붙이지 못하도록 결정된다.
도 13은 본 발명의 실시예에 따른 종결가능한 공간 기반의 엔트로피 코딩의 흐름도를 도시하는 예시적인 다이어그램이다.
도 13에서 보여지는 바와 같이, 단계(S1301)에서, 각 옥트리에 대해서 서브-셀이 오직 하나의 포인트를 포함하는지 여부가 결정된다.
단계(S1301)의 결정 결과가 "아니오" 인 경우, 본 방법은 세분이 계속되는 단계(S1303)으로 진행할 것이다. 그리고 다음 단계(S1305)에서, 세분의 레이어 개수 l이 증가할 것이다.
단계(S1301)의 결정 결과가 "예" 인 경우, 단계(S1307)에서 서브-셀의 중심 포인트와 서브-셀 내의 포인트 간의 좌표 차이가 결정되고 허용된 최대 에러와 비교될 것이다.
단계(S1307)에서 상기 차이가 그 단계에서 허용되는 최대 에러 이상인 것으로 결정되면, 프로세스는 세분이 계속되는 단계(S1303)로 간다.
단계(S1307)에서 상기 차이가 허용된 최대 에러보다 작은 것으로 결정되면, 프로세스는 레이어 개수 l이 코딩의 정밀성 필요조건을 충족시키는 최대 레이어 개수에 도달했는지 여부를 결정하는 단계(S1309)로 간다. 도 13의 실시예에서, 최대 레이어 개수는 허용된 최대 에러의 함수로 정해진다. 즉, l<-log2th 인지 여부가 결정되며 th는 허용된 최대 에러를 의미한다.
단계(S1309)의 결정 결과가 "예"인 경우, 단계(S1311)에서 서브-셀에 상응하는 노드의 자식으로서 종료 코드가 덧붙여진다. 다음의 단계(S1313)에서, 레이어에 처리되지 않은 셀들이 더 있는지 여부가 결정된다.
단계(S1309)의 결정 결과가 "아니오"인 경우, 세분이 결정되지만 종료 코드가 덧붙여지지 않고 프로세스는 이 레이어에 처리되지 않은 셀들이 더 있는지 여부를 결정하기 위해 단계(S1313)로 간다.
본 발명의 실시예에 따르면, 서브-셀이 오직 하나의 포인트를 포함할 때 서브-셀의 중심 포인트와 서브-셀 내의 실제 포인트 간의 좌표 차이에 기초하여 종결가능한 코드(terminable code)를 덧붙임으로써 서브-셀의 세분이 종료된다. 오버헤드를 피하기 위해서, 세분이 정밀도를 보장하는 레이어에 도달한 경우 종료 코드가 덧붙여지지 않는다.
도 14는 도 8의 고르지 않게 분포된 포인트들의 경우에 대해서, 도 13에 기술된 공간 기반의 엔트로피 코딩으로 구축된 쿼드트리 구조를 도시하는 예시적인 다이어그램이다.
도 14에 도시된 바와 같이, 두 번의 세분 후에 정밀도가 필요조건을 이미 만족했기 때문에, 제2 레이어에서 "0010" 및 "0100" 노드들의 아래에 자식 "T"를 덧붙이는 것은 불필요하다.
특히 알파벳에 속한 요소들이 적은 경우, 예를 들어 옥트리의 아래 부분에 대한 알파벳에 오직 여덟 개의 부호들이 있을 때, 원본 부호들 집합에 종료 부호를 부가하면 오버헤드가 발생할 것이다. 본 발명의 실시예에 따른 방법은 통상적인 접근과 함께 사용될 수 있는 후보 모드, 즉 종결가능한 모드일 수 있다. 이 모드의 효율성은 트리 구축 동안 평가될 수 있고, 이에 기초하여 종결가능한 모드를 활성화할 수 있는지 여부에 대한 결정을 할 수 있다.
도 15는 종료 코딩 모드를 활성화할 수 있는지 여부를 분석하기 위한 기초로서 완전히 구축된 공간 트리를 도시하는 예시적인 다이어그램이다. 종료 코드를 어디에 덧붙일지는 코덱에 의해서 알려져야 한다. 종결가능한 모드가 활성화되면, 도 15에 도시된 점선 블록 내의 모든 부호들은 생략될 수 있다. 그러나, 종료 코드를 포함하기 때문에 통상 부호들의 엔트로피가 증가하는 대가가 발생한다. 종결가능한 모드가 활성화된, 종료 코드의 백분율이 10%보다 큰 레이어(레이어 R)로부터 종결가능한 모드가 비활성화된, 종료 코드가 존재할 수 있는 가장 깊은 레이어(레이어 S)까지 부호들의 통계를 얻는다.
Figure pct00002
종결가능한 모드가 비활성화될 때, 이 부분에서 부호들의 총 개수가 m0 이고 부호 i(1≤i≤n, n은 원본 알파벳의 사이즈)의 확률이 pi라고 가정하면, 하나의 노드에 대한 부호의 엔트로피는 다음과 같이 계산된다.
Figure pct00003
예측된 비트 비용은
Figure pct00004
이다.
종결가능한 모드가 활성화될 때, 부호들의 총 개수는 m1이 되고 부호 i(0≤i≤n, 'i=0'은 종료 코드를 표시한다)의 확률이 qi면, 하나의 노드에 대한 부호의 엔트로피는 다음과 같이 계산된다.
Figure pct00005
예측된 비트 비용은
Figure pct00006
이다.
만약 c0 > c1 이면, 종결가능한 모드는 활성화될 것이다. 그렇지 않으면, 종결가능한 모드는 비활성화 된다.
모드 정보에 대한 1-비트 플래그가 비트스트림 내에 포함될 수 있다.
포인트 위치들을 디코딩하기 위해서, 공간 트리는 레이어 별로 복원된다. 첫째로, 1-비트 플래그를 디코딩함으로써 모드 정보가 습득된다. 엔트로피 디코더의 초기 확률 모델은 상기 모드에 따라 결정된다. 맨 위의 레이어가 완성되면, 디코더는 제2 레이어의 새로 디코딩된 부호들을 어디에 덧붙일 것인지를 인지한다. 정밀도 필요조건이 충족되어야 하는 레이어 (S+1)에 도달할 때까지, 레이어들이 잇따라서 완성된다. 만약 레이어 (S+1)에 다수의 "1"들, 예를 들면 "0110"을 가지는 노드가 있으면, 그것은 자식들을 가져야 한다. 코덱은 그러한 노드들의 자식들로 덧붙이기 위하여 필요한 개수의 부호들을 디코딩한다. 이 프로세스는 모든 단말 노드(leaf node)들이 오직 하나의 "1"을 가지거나 종료 코드를 가질 때까지 계속된다.
도 16은 본 발명의 실시예에 따른 종결가능한 공간 트리 기반의 엔트로피 디코딩의 흐름도를 도시하는 예시적인 다이어그램이다.
도 16에 도시된 바와 같이, 단계(S1601)에서 모드 플래그, 예컨대 위에 기술된 1-비트 플래그기 디코딩되어, 종료 모드(terminal mode)가 가능한지 아닌지 여부를 결정한다. 예를 들어 종료 모드가 가능함을 표시하는 모드 플래그 "1"을 얻게 되면, 프로세스는 비어있지 않은 자식 셀 Cl ,k의 하나의 코드가 디코딩되는 단계(S1603)로 간다.
다음 단계(S1605)에서는, 종료 코드가 얻게 되었는지 결정된다. 단계(S1605)의 결정 결과가 "아니오"이면, 단계(S1607)에서 셀 Cl ,k가 세분된다. 단계(S1605)의 결정 결과가 "예"이면, 프로세스는 셀 Cl ,k의 세분이 생략되고 그 레이어의 다른 셀 Cl ,k+1을 처리하기 시작하는 단계(S1609)로 간다.
다음 단계(S1611)에서는, 레이어에 처리되지 않은 셀들이 더 있는지 결정된다. 단계(S16011)의 결정 결과가 "예"이면, 프로세스는 단계(S1603)로 되돌아간다. 단계(S16011)의 결정 결과가 "아니오"이면, 프로세스는 공간 트리의 가장 아래에 있는 레이어에 도달했는지 여부 - 정밀도 필요조건이 보장될 수 있다는 것을 의미한다 - 를 결정하는 단계(S1613)로 간다. 단계(S1613)의 결정 결과가 "아니오"이면, 단계(S1603)부터 다음 레이어에 있는 셀들을 처리하기 시작한다. 단계(S16013)의 결정 결과가 "예"이면, 프로세스는 디코딩되어야 할 비어있지 않은 서브-셀을 하나 보다 많이 포함하는 셀들이 있는지 결정하는 단계(S1615)로 간다. 단계(S16013)의 결정 결과가 "아니오"이면, 디코딩 프로세스는 멈춘다. 그렇지 않으면, 단계(S1603)부터 다음 레이어의 셀들을 처리하기 시작한다.
도 17은 본 발명의 원리에 따른 위치 코딩을 포함하는 디바이스의 예시적인 실시예의 블록 다이어그램이다. 도 17을 참조하면, 데이터 송신 시스템 또는 장치(1700)가 보여지며, 상기 기술된 특성들 및 원리들이 여기에 적용될 수 있다. 데이터 송신 시스템 또는 장치(1700)는 예를 들어 위성, 케이블, 전화선 또는 지상파 방송과 같은 다양한 미디어 중 하나를 사용하여 신호를 송신하기 위한, 예컨대 헤드-엔드(head-end) 송신 시스템 일수도 있다. 또는, 아니면 대안적으로 데이터 송신 시스템 또는 장치(1700)는 예를 들어, 저장용 신호를 제공하기 위하여 사용될 수도 있다. 송신은 인터넷 또는 다른 네트워크를 통하여 제공될 수 있다. 데이터 송신 시스템 또는 장치(1700)는 예를 들어 비디오 컨텐츠나 3D 메쉬 모델들과 같은 다른 컨텐츠를 생성하고 전달할 수 있다.
데이터 송신 시스템 또는 장치(1700)는 프로세서(1705)로부터 처리된 데이터 및 여타 정보를 수신한다. 일 실시예에서, 프로세서(1705)는 부호들의 시퀀스들을 생성하기 위해서 3D 메쉬 모델들의 기하학적 데이터를 처리한다. 프로세서(1705)는 또한 예를 들어, 옥트리 트리 데이터 구조가 어떻게 부분들 및 여타 정보로 분할되는지를 나타내는 메타데이터를 1000에 제공할 수 있다.
데이터 송신 시스템 또는 장치(1700)는 인코더(1710)와, 인코딩된 신호를 송신할 수 있는 송신기(1715)를 포함한다. 인코더(1710)는 프로세서(1705)로부터 데이터 정보를 수신한다. 인코더(1710)는 인코딩된 신호(들)를 생성한다. 인코더(1710)의 엔트로피 인코딩 엔진은 예를 들어, 산술 코더 또는 호프만 코더일 수 있다.
인코더(1710)는 예를 들어, 다양한 정보의 조각들을 수신하고 저장 또는 송신을 위하여 이들을 구조적 포맷으로 모으는 집합 유닛(assembly unit)을 포함하며 서브-모듈들을 포함할 수 있다. 다양한 정보의 조각들은 예컨대, 코딩된 또는 코딩되지 않은 비디오, 그리고 예를 들면 서브스트림 길이 지표(substream length indicator) 또는 문법 요소들(syntax elements)과 같은 코딩된 요소 또는 코딩되지 않은 요소들을 포함할 수 있다. 몇몇 실시예들에서는, 인코더(1710)는 프로세서(1005)를 포함하며 따라서 프로세서(1705)의 연산들을 수행한다. 인코더(1710)는 도 11 및 도 13에 관하여 상기 기술된 원리들에 따라서 연산한다.
송신기(1715)는 인코딩된 신호(들)를 인코더(1710)로부터 수신하고 인코딩된 신호(들)를 하나 이상의 출력 신호들로 송신한다. 송신기(1715)는 예를 들어, 인코딩된 그림들 및/또는 그와 관련된 정보를 표현하는 하나 이상의 비트스트림들을 갖는 프로그램 신호들을 송신하기 위해 조정될 수 있다. 전형적인 송신기들은 예를 들어, 하나 이상의 에러 정정 코딩 제공하기, 신호에 데이터를 인터리빙하기(interleaving), 신호 에너지를 랜덤화하기, 그리고 모듈레이터(1720)를 사용하여 하나 이상의 캐리어들로 신호를 모듈레이팅하기와 같은 기능들을 수행한다. 송신기(1715)는 안테나(도시되지 않음)를 포함하거나 또는 그와 인터페이싱할 수 있다. 더욱이, 송신기(1015)의 구현은 모듈레이터(1720)로 제한될 수 있다.
데이터 송신 시스템 또는 장치(1700)는 또한 저장 유닛(1725)과 통신가능하게 연결될 수 있다. 일 실시예에서, 저장 유닛(1725)은 인코더(1710)에 연결되고, 인코더(1710)로부터 인코딩된 비트스트림을 저장한다. 또 다른 실시예에서, 저장 유닛(1725)은 송신기(1715)와 연결되고 송신기(1715)로부터의 비트스트림을 저장한다. 송신기(1015)로부터의 비트스트림은, 예를 들어 송신기(1715)에 의해 부가적으로 처리된 하나 이상의 인코딩된 비트스트림들을 포함할 수 있다. 저장 유닛(1725)은 상이한 실시예들에서, 표준 DVD, 블루-레이 디스크, 하드 드라이브, 또는 다른 동등한 몇몇 저장 디바이스 중 하나 이상이다.
도 18은 본 발명의 원리에 따른 위치 디코딩을 포함하는 디바이스의 예시적인 실시예의 블록 다이어그램이다. 도 18을 참조하면, 상기 기술된 특징들 및 원리들이 적용될 수 있는 데이터 수신 시스템 또는 장치(1800)가 보여진다. 데이터 수신 시스템 또는 장치(1800)는 저장 디바이스, 위성, 케이블, 전화선, 또는 지상파 방송과 같은 다양한 미디어들을 통해 신호들을 수신하도록 설정될 수 있다. 신호들은 인터넷 또는 다른 몇몇의 네트워크들을 통해 수신될 수 있다.
데이터 수신 시스템 및 장치(1800)는, 예컨대 인코딩된 비디오를 수신하고 디스플레이(예를 들어 사용자에게 디스플레이), 프로세싱, 또는 저장을 위해 디코딩된 비디오 신호들을 제공하는, 예컨대 휴대폰, 컴퓨터, 셋-톱 박스, 텔레비전, 또는 다른 디바이스일 수 있다. 데이터 수신 장치(1800)는 또한 영화관 관객을 위해 렌더링하기 위한 신호를 수신하는 영화관에 있는 장비일 수도 있다. 따라서, 데이터 수신 시스템 또는 장치(1800)는 그것의 출력을 예를 들어, 텔레비전의 스크린, 컴퓨터 모니터, 컴퓨터(저장, 프로세싱 또는 디스플레이용), 또는 다른 몇몇 동등한 저장, 프로세싱, 또는 디스플레이 디바이스에 제공할 수 있다.
데이터 수신 시스템 또는 장치(1800)는, 예를 들어 3D 메쉬 모델들을 포함하는 데이터 정보를 수신하고 처리할 수 있다. 데이터 수신 시스템 또는 장치(1800)는 예를 들어, 본 발명의 실시예들에 기술된 신호들과 같은 인코딩된 신호를 수신하기 위한 수신기(1805)를 포함한다. 수신기(1805)는 예를 들어, 3D 메쉬 모델들 및/또는 텍스쳐 이미지들, 또는 도 17의 데이터 송신 시스템(1700)으로부터의 신호 출력 중 하나 이상을 제공하는 신호를 수신할 수 있다.
수신기(1805)는 예를 들어, 인코딩된 그림들을 표현하는 다수의 비트스트림들을 갖는 프로그램 신호를 수신하도록 조정될 수 있다. 전형적인 수신기들은 컨대, 모듈레이팅되고 인코딩된 데이터 신호를 수신하기, 디모듈레이터(1110)를 사용하여 하나 이상의 캐리어들로부터의 데이터 신호를 디모듈레이팅하기, 신호 에너지에 대한 랜덤화 해제하기, 신호 내의 데이터를 디인터리브하기, 신호의 에러-정정 디코딩하기 중 하나 이상과 같은 기능들을 수행할 수 있다. 수신기(1105)는 안테나(도시되지 않음)를 포함하거나 또는 그와 인터페이싱 할 수 있다. 수신기(1105)의 구현들은 디모듈레이터(1810)로 제한될 수 있다.
데이터 수신 시스템 및 장치(1800)는 디코더(1815)를 포함한다. 수신기(1805)는 수신된 신호를 디코더(1815)에 제공한다. 수신기(1805)에 의해 디코더(1815)에 제공된 신호는 하나 이상의 인코딩된 비트스트림들을 포함할 수 있다. 디코더(1815)는 예를 들어, 비디오 정보를 포함하는 디코딩된 비디오 신호들과 같은 디코딩된 신호를 출력한다. 디코더(1815)는 도 16과 관련하여 위에서 기술된 원리들에 따라 동작한다.
또한 데이터 수신 시스템 또는 장치(1800)는 저장 유닛(1820)과 통신가능하게 연결된다. 일 실시예에서, 저장 유닛(1820)은 수신기(1805)에 연결되고, 수신기(1805)는 저장 유닛(1820)으로부터 비트스트림을 엑세스한다. 또 다른 실시예에서, 저장 유닛(1820)은 디코더(1815)에 연결되고, 디코더(1815)는 저장 유닛(1820)으로부터의 비트스트림을 엑세스한다. 다른 실시예들에서는 엑세스 된 저장 유닛(1820)으로부터의 비트스트림은 하나 이상의 인코딩된 비트스트림들을 포함한다. 다른 실시예들에서 저장 유닛(1820)은 표준 DVD, 블루-레이 디스크, 하드 드라이브, 또는 몇몇 다른 동등한 저장 디바이스이다.
일 실시예에서, 디코더(1815)로부터의 출력 데이터가 프로세서(1825)에 제공된다. 일 실시예에서, 프로세서(1825)는 3D 메쉬 모델 복원을 수행하도록 설정된다. 몇몇 실시예들에서는, 디코더(1815)가 프로세서(1825)를 포함하고, 따라서 프로세서(1825)의 연산들을 수행한다. 다른 실시예들에서는, 프로세서(1825)가 예컨대, 셋-톱 박스, 텔레비전 또는 다른 장비(영화관에 있는 디바이스, 장치)와 같은 다운스트림 디바이스의 일부이다.
특정한 특징들 및 측면들을 가진 하나 이상의 실시예들이 제공된다. 특히, 엔트로피 인코딩과 디코딩에 관련된 여러 가지 실시예들이 제공된다. 예측 위치 엔트로피 인코딩 및 디코딩은 예를 들어, 3D 메쉬의 기하학적 데이터, 랜덤 2D 좌표들, 그리고 다양한 통계특성을 갖는 데이터 소스에 대한 압축과 같은 다양한 응용들을 허용할 수 있다. 그러나, 이러한 실시예들의 변형과 부가적인 응용들이 예상되고 본 발명의 범위 내에서, 기술된 실시예들의 특징들과 측면들은 다른 실시예들에 맞도록 조정될 수 있다.
본 발명은 다양한 유형의 하드웨어, 소프트웨어, 펌웨어, 특수 용도의 프로세서들, 또는 이들의 조합에 구현될 수 있다는 것이 이해되어야 한다. 바람직하게, 본 발명은 하드웨어와 소프트웨어의 조합으로서 구현된다. 더욱이, 소프트웨어는 바람직하게는 프로그램 저장 디바이스에 유형적으로 구체화된 응용 프로그램으로서 구현된다. 응용 프로그램은 임의의 적절한 아키텍쳐를 포함하는 기계에 업로드되고 그에 의해 실행될 수 있다. 바람직하게, 기계는 CPU(central processing units), RAM(random access memory), 그리고 I/O(input/output) 인터페이스(들)와 같은 하드웨어를 하나 이상 가진 컴퓨터 플랫폼 상에 구현된다. 컴퓨터 플랫폼은 또한 운영 체제(operating system)과 마이크로명령어 코드(microinstruction code)를 포함한다. 본 명세서에 개시된 다양한 프로세스들과 기능들은 운영 체제를 경유하여 실행되는 마이크로명령어 코드의 일부이거나 또는 응용 프로그램의 일부 (또는 이들의 조합)일 수 있다. 부가적으로, 다양한 다른 부가적인 디바이스들이, 부가적인 데이터 저장 디바이스와 프린팅 디바이스와 같은 컴퓨터 플랫폼에 접속될 수 있다.
첨부된 도면들에 기술된 구성하는 시스템 컴포넌트들과 방법 단계들의 일부는 바람직하게는 소프트웨어에서 구현되기 때문에, 시스템 컴포넌트 (또는 프로세스 단계들) 간의 실제 접속들은 본 발명이 프로그램되는 방식에 따라 다를 수 있다는 점이 더 이해되어야 한다. 본 명세서에 개시된 발명을 고려해볼 때, 당해 관련 기술 분야에서 통상의 지식을 가진 자는 본 발명과, 이와 유사한 실시예들 또는 배열들을 예상할 수 있을 것이다.

Claims (10)

  1. 공간 트리 구조에 의해 입력 공간 포인트들을 인코딩하는 방법으로서,
    상기 입력 공간 포인트들의 주변에 셀을 구축하는 단계;
    상기 셀을 상이한 레이어들로의 서브-셀들로 회귀적으로 분할하는(recursively dividing) 단계; 및
    각 서브-셀 내에 어느 포인트들이 있는지 여부를 나타내는 부호를 각 서브-셀에 할당하는 단계
    를 포함하고,
    상기 서브-셀이 오직 하나의 포인트를 포함하고 상기 서브-셀의 중심 포인트와 상기 서브-셀 내에 포함된 포인트 간의 거리가 허용된 최대 에러보다 작은 경우, 서브-셀의 추가 분할을 종료하는 단계를 더 포함하는 것을 특징으로 하는, 방법.
  2. 제1항에 있어서,
    상기 허용된 최대 에러는 사용자들의 품질 요구에 의존하여 정해지는, 방법.
  3. 제1항 또는 제2항에 있어서,
    최대 분할 레이어(maximal division layer)의 기능으로 상기 공간 트리 구조에 있는 상기 서브-셀에 상응하는 노드의 자식(child of the node)으로 종료 코드(termination code)를 덧붙임으로써 서브-셀의 상기 분할을 종료할 것인지 여부를 결정하는 단계를 더 포함하는, 방법.
  4. 제3항에 있어서,
    상기 분할이 분할 레이어의 최대 개수에 도달하지 않았을 때, 상기 공간 트리 구조에 있는 상기 서브-셀에 상응하는 노드의 자식으로 종료 코드를 덧붙임으로써 서브-셀의 상기 분할이 종료되는, 방법.
  5. 제3항에 있어서,
    상기 분할이 최대 분할 레이어에 도달했을 때, 상기 공간 트리 구조에 있는 상기 서브-셀에 상응하는 노드의 자식으로 종료 코드를 덧붙이지 않고 상기 서브-셀의 상기 분할을 종료하는, 방법.
  6. 제3항 내지 제5항에 있어서,
    상기 방법을 사용하지 않는 경우와 비교하는 엔트로피 예측의 기능으로, 상기 방법을 이용 가능하게 할 것인지 여부를 결정하는 것을 더 포함하는, 방법.
  7. 공간 트리 구조의 비트스트림을 디코딩하는 방법으로서,
    종료 코딩 모드가 상기 비트스트림에 적용되었는지 결정하기 위해 상기 비트스트림의 모드 정보를 디코딩하는 단계;
    상기 공간 트리 구조의 셀을 상이한 레이어들로의 서브-셀들로 회귀적으로 분할하는 단계를 포함하며,
    상기-서브 셀이 오직 하나의 포인트를 포함하고, 상기 서브-셀에 대한 종료 코드가 디코딩되거나 상기 서브-셀의 분할이 분할 레이어들의 최대 개수에 도달하면 서브-셀의 추가 분할을 종료하는 것을 더 포함하는 것을 특징으로 하는, 방법.
  8. 제7항에 있어서,
    상기 모드 정보는 상기 비트스트림의 처음 부분에 있는 1 비트 플래그인, 방법.
  9. 공간 트리 구조로 입력 공간 포인트들을 인코딩하는 인코더로서,
    상기 인코더는 데이터를 수신하고 인코딩된 신호를 생성하며,
    상기 입력 공간 포인트들 주변에 셀을 구축하는 연산;
    상기 셀을 상이한 레이어들로의 서브-셀들로 회귀적으로 분할하는 연산;
    각 서브-셀 내에 공간 포인트가 있는지 여부를 나타내는 부호를 각 서브-셀에 할당하는 연산; 및
    서브-셀이 오직 하나의 포인트를 포함하고 상기 서브-셀의 중심 포인트와 상기 서브-셀 내에 포함된 포인트 간의 거리가 허용된 최대 에러보다 작은 경우, 상기 서브-셀의 추가 분할을 종료하는 연산
    을 수행하도록 조정된 인코더.
  10. 공간 트리 구조의 비트스트림을 디코딩하는 디코더로서,
    상기 디코더는 인코딩된 신호를 수신하고 공간 트리 구조를 생성하며,
    종료 코딩 모드가 상기 비트스트림에 적용되었는지 결정하기 위해서 상기 비트스트림의 모드 정보를 디코딩하는 연산; 및
    상기 공간 트리 구조의 셀을 상이한 레이어들로의 서브-셀들로 회귀적으로 분할하는 연산
    을 수행하도록 조정되고,
    상기 서브-셀이 오직 하나의 포인트를 포함하고 상기 서브-셀의 종료 코드가 디코딩되거나 상기 서브-셀의 분할이 분할 레이어들의 최대 개수에 도달하면 상기 서브-셀의 추가 분할을 종료하는 것을 더 포함하는 것을 특징으로 하는, 디코더.
KR1020147014001A 2011-11-28 2012-11-22 종결가능한 공간 트리-기반의 위치 코딩 및 디코딩 KR102014309B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2011/083035 2011-11-28
CN2011083035 2011-11-28
PCT/CN2012/085081 WO2013078958A1 (en) 2011-11-28 2012-11-22 Terminable spatial tree-based position coding and decoding

Publications (2)

Publication Number Publication Date
KR20140097210A true KR20140097210A (ko) 2014-08-06
KR102014309B1 KR102014309B1 (ko) 2019-08-26

Family

ID=48534671

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147014001A KR102014309B1 (ko) 2011-11-28 2012-11-22 종결가능한 공간 트리-기반의 위치 코딩 및 디코딩

Country Status (9)

Country Link
US (1) US10003794B2 (ko)
EP (1) EP2786601A4 (ko)
JP (1) JP6178798B2 (ko)
KR (1) KR102014309B1 (ko)
AU (1) AU2012344426B2 (ko)
BR (1) BR112014011585A2 (ko)
HK (1) HK1201115A1 (ko)
TW (1) TWI534760B (ko)
WO (1) WO2013078958A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200062194A (ko) * 2017-10-05 2020-06-03 소니 주식회사 정보 처리 장치 및 방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6826368B2 (ja) * 2016-01-14 2021-02-03 キヤノン株式会社 符号化装置及びその制御方法
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
CN110832550B (zh) * 2017-07-10 2023-10-13 索尼公司 信息处理装置和方法
EP3474233A1 (en) * 2017-10-19 2019-04-24 Thomson Licensing A method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object
US11632560B2 (en) * 2017-12-06 2023-04-18 V-Nova International Limited Methods and apparatuses for encoding and decoding a bytestream
WO2019182102A1 (ja) * 2018-03-23 2019-09-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN112740277A (zh) * 2018-09-28 2021-04-30 索尼公司 图像处理装置和图像处理方法
EP3935581A4 (en) 2019-03-04 2022-11-30 Iocurrents, Inc. DATA COMPRESSION AND COMMUNICATION USING MACHINE LEARNING

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007503060A (ja) * 2003-08-18 2007-02-15 フォヴィア インコーポレイテッド 適応直接ボリュームレンダリングの方法及びシステム
US20090202160A1 (en) * 2008-02-13 2009-08-13 Samsung Electronics Co., Ltd. Method for coding and decoding 3d data implemented as a mesh model
WO2011044713A1 (en) * 2009-10-15 2011-04-21 Thomson Licensing Method and apparatus for encoding a mesh model, encoded mesh model, and method and apparatus for decoding a mesh model

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7659894B2 (en) * 2000-06-19 2010-02-09 Mental Images Gmbh Terminating spatial partition hierarchies by a priori bounding memory
US6868420B2 (en) * 2002-07-31 2005-03-15 Mitsubishi Electric Research Laboratories, Inc. Method for traversing quadtrees, octrees, and N-dimensional bi-trees
US8497860B2 (en) * 2003-02-20 2013-07-30 Binary Simplex, Inc. Spatial decomposition methods using bit manipulation
JP2008098970A (ja) 2006-10-12 2008-04-24 Matsushita Electric Ind Co Ltd デジタル放送受信システム
CN1946180B (zh) 2006-10-27 2010-05-12 北京航空航天大学 一种基于Octree的三维模型压缩编码方法
US7940279B2 (en) 2007-03-27 2011-05-10 Utah State University System and method for rendering of texel imagery
EP2446419B1 (en) 2009-06-23 2021-04-07 InterDigital VC Holdings, Inc. Compression of 3d meshes with repeated patterns
CN101661631B (zh) 2009-09-27 2012-05-23 大连民族学院 基于局部最小生成树的点模型快速无损压缩处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007503060A (ja) * 2003-08-18 2007-02-15 フォヴィア インコーポレイテッド 適応直接ボリュームレンダリングの方法及びシステム
US20090202160A1 (en) * 2008-02-13 2009-08-13 Samsung Electronics Co., Ltd. Method for coding and decoding 3d data implemented as a mesh model
WO2011044713A1 (en) * 2009-10-15 2011-04-21 Thomson Licensing Method and apparatus for encoding a mesh model, encoded mesh model, and method and apparatus for decoding a mesh model

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200062194A (ko) * 2017-10-05 2020-06-03 소니 주식회사 정보 처리 장치 및 방법

Also Published As

Publication number Publication date
KR102014309B1 (ko) 2019-08-26
AU2012344426B2 (en) 2017-04-06
US20140307770A1 (en) 2014-10-16
JP2015502100A (ja) 2015-01-19
AU2012344426A8 (en) 2014-06-19
US10003794B2 (en) 2018-06-19
JP6178798B2 (ja) 2017-08-09
EP2786601A1 (en) 2014-10-08
BR112014011585A2 (pt) 2017-05-30
TWI534760B (zh) 2016-05-21
TW201322187A (zh) 2013-06-01
AU2012344426A1 (en) 2014-04-24
WO2013078958A1 (en) 2013-06-06
EP2786601A4 (en) 2016-06-22
HK1201115A1 (en) 2015-08-21

Similar Documents

Publication Publication Date Title
US11057645B2 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
KR102014309B1 (ko) 종결가능한 공간 트리-기반의 위치 코딩 및 디코딩
KR101924249B1 (ko) 계위적 엔트로피 인코딩 및 디코딩
US11882303B2 (en) Apparatus and method for processing point cloud data
KR102609776B1 (ko) 포인트 클라우드 데이터 처리 방법 및 장치
KR20210134049A (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
JP5932051B2 (ja) 予測位置復号
US20220343548A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
JP2015504545A (ja) 予測位置符号化
JP2020517191A (ja) ビデオ信号をエントロピエンコード、デコードする方法及び装置
JP5993024B2 (ja) 重複点を伴う空間木に基づく位置符号化
US20220321912A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230171431A1 (en) Device for transmitting point cloud data, method for transmitting point cloud data, device for receiving point cloud data, and method for receiving point cloud data
US20230334703A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN103999490B (zh) 可终止的基于空间树的位置编码和解码的方法和装置
US20220351421A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230377203A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230386088A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20230281878A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device and point cloud data reception method
US20230412837A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
US20230206510A1 (en) Point cloud data processing device and processing method
US20240020885A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
CN116033186A (zh) 一种点云数据处理方法、装置、设备以及介质
CN115733990A (zh) 点云编解码方法、设备及存储介质

Legal Events

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