KR101883532B1 - 반복적인 구조 발견 기반 3d 모델 압축의 비트스트림을 생성하기 위한 방법 및 장치 - Google Patents

반복적인 구조 발견 기반 3d 모델 압축의 비트스트림을 생성하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR101883532B1
KR101883532B1 KR1020147013613A KR20147013613A KR101883532B1 KR 101883532 B1 KR101883532 B1 KR 101883532B1 KR 1020147013613 A KR1020147013613 A KR 1020147013613A KR 20147013613 A KR20147013613 A KR 20147013613A KR 101883532 B1 KR101883532 B1 KR 101883532B1
Authority
KR
South Korea
Prior art keywords
information
pattern
bitstream
data
instance
Prior art date
Application number
KR1020147013613A
Other languages
English (en)
Other versions
KR20140096070A (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 KR20140096070A publication Critical patent/KR20140096070A/ko
Application granted granted Critical
Publication of KR101883532B1 publication Critical patent/KR101883532B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

3D 모델을 표현하는 비트스트림을 생성하기 위한 방법과 장치, 및 이를 처리하기 위한 방법 및 장치에 관한 것이다. 3D 모델은 '패턴-인스턴스(pattern-instance)' 표현을 사용하여 모델링되고, 패턴은 반복적인 구조의 대표적인 기하학적 구조이며, 반복적인 구조에 속하는 연결된 컴포넌트들은 상응하는 패턴의 인스턴스라고 지칭된다. 반복적인 구조들과 그들의 변환들 및 특성들의 발견 후, 본 실시예들은 제1 포맷 또는 제2 포맷으로 비트스트림의 생성을 제공한다. 제1 포맷에서, 패턴 아이디 및 그와 연관된 변환 및 특성 정보는 비트스트림으로 함께 그룹화되고, 제2 포맷에서는, 정보 유형에 따라 패턴아이디, 변환 특성 및 특성 정보가 함께 그룹화된다.

Description

반복적인 구조 발견 기반 3D 모델 압축의 비트스트림을 생성하기 위한 방법 및 장치{METHOD AND APPARATUS FOR GENERATING A BITSTREAM OF REPETITIVE STRUCTURE DISCOVERY BASED 3D MODEL COMPRESSION}
본 발명은 3D 모델 압축 알고리즘에 기초한 반복적인 구조 발견의 비트스트림 신택스(syntax) 및 시맨틱스(semantics), 3D 모델을 나타내는 비트스트림을 생성하기 위한 방법과 장치, 및 이를 처리하는 방법과 장치에 관한 것이다.
실현 가능한 응용들에서, 여러 3D 모델들은 많은 수의 연결된 컴포넌트들로 구성된다. 그리고 이러한 다중-연결된 3D 모델들은 보통, 도면에 도시된 바와 같이 다양한 변형들로 반복적인 구조들을 많이 포함한다. 이런 종류의 3D 모델들을 위한 효율적인 압축 방법들은 반복적인 구조들에 존재하는 불필요한 중복(redundancy)을 추출해낼 수 있어야 한다.
본 발명의 소유자는 K.Cai, Y.JIN과 Z.Chen에 의한, 소규모 내지 중형의 많은 연결된 컴포넌트들로 구성되고, 다양한 위치들, 스케일들 및 방향들에서 반복하는 기하학적 특징들을 갖는 3D 모델들의 압축 방법을 교시하고, 이러한 교시는 본 명세서에 명확하게 참조로 포함되는 "대형 3D 엔지니어링 모델들을 위한 효율적인 압축 기법(Efficient Compression Scheme for Large 3D Engineering Models" 명칭을 가진 PCT 출원(WO2010149492)을 공동 소유한다. 이 방법은 다양한 위치들, 방향들 및 스케일링 인자들에서 반복되는 구조들을 발견한다. 그 후, 3D 모델은 "패턴-인스턴스(Pattern-instance)" 표현으로 체계화된다. 패턴은 상응하는 반복적인 구조의 대표적인 기하학적 구조(geometry)이다. 반복적인 구조에 속한 연결된 컴포넌트들은 상응하는 패턴의 인스턴스들로 지칭되고, 그것들의 변환, 즉 패턴에 관한 위치들, 방향들 및 가능한 스케일링 인자들로 표현된다. 인스턴스의 방향은 데카르트 좌표계(Cartesian coordinate system)에서 (x0, y0, z0) 및 (x1, y1, z1)로 표현되는 두 개의 직교하는 축들로 표현되거나, 구면 좌표계에서 (알파, 감마, 베타)로 표현된다.
또한 본 발명의 소유자는 K. Cai, W. Jiang과 J. Tian에 의한, 인스턴스 변환 데이터 압축을 위한 두 가지 모드를 교시하는 "반복적인 구조 발견 기반의 3D 모델 압축 알고리즘의 비트스트림 신택스 및 시맨틱스(Bitstream Syntax and Semantics of Repetitive Structure Discovery Based 3D Model Compression Algorithm)" 라는 명칭의 PCT 출원(PCT/CN2011/076991)을 공동 소유한다.
그러나, 노멀(normal), 색상 및 텍스쳐 좌표들과 같은 3D 모델 특성들을 처리할 수 있고, 인스턴스들의 변환이 반사 변환(reflection transformation)을 포함하는 인스턴스들을 압축할 수 있는 방법 및 장치를 제공할 필요가 존재한다.
따라서 본 원리들은 노멀, 색상 및 텍스쳐 좌표들과 같은 3D 모델 특성들을 압축하고, 인스턴스들의 변환이 반사 변환을 포함하는 인스턴스들을 압축하며, 이러한 정보를 포함하는 비트스트림을 생성하는데 사용될 수 있는 방법 및 장치를 제공한다.
본 원리들은 3D 모델을 표현하는 비트스트림을 생성하기 위한 방법을 제공하며, 그 방법은, 일부 구조들과 연관된 패턴의 인스턴스들과 관련되고, 각 패턴과 연관된 패턴 식별자(pattern identifier) 및 변환 정보를 포함하는 정보를 엑세스하는 단계 및 이하에서 기술되는 바와 같이 제1 포맷 및 제2 포맷 중 하나로 비트스트림에 배치된 패턴 식별자 및 패턴 변환 데이터를 포함하는 인스턴스를 나타내는 비트스트림을 생성하는 단계를 포함한다. 본 원리들은 또한 이러한 단계들을 수행하기 위한 장치를 제공한다. 비트스트림은 또한 복수의 패턴들과 연관된 정보 및 제1 포맷 및 제2 포맷 중 어느 하나로 복수의 패턴들과 연관된 각 정보를 포함할 수 있다.
본 원리들은 3D 모델을 표현하는 비트스트림을 처리하기 위한 방법을 제공하며, 그 방법은, 비트스트림이 이하에서 기술되는 바와 같이 제1 포맷 또는 제2 포맷으로, 구조와 연관된 패턴의 인스턴스와 관련되고, 패턴과 연관된 변형 정보 및 패턴 식별자를 포함하는 정보를 포함하는지 여부를 결정하는 단계, 상기 결정 단계에 응답하여 패턴과 연관된 패턴 식별자와 변환 정보를 액세스하는 단계, 3D 모델 데이터를 생성하기 위해 패턴 식별자와 변환 정보를 디코딩하는 단계를 포함하는 방법을 포함한다. 또한, 본 원리들은 상술한 단계들을 수행하기 위한 장치를 제공한다. 비트스트림은 또한 복수의 패턴들과 연관된 정보 및 제1 포맷 및 제2 포맷 중 어느 하나로 복수의 패턴들과 연관된 각 정보를 포함할 수 있다.
또한 본 원리들은 상술한 방법들에 따라 비트스트림을 생성하거나 처리하기 위한 명령어들이 저장된 컴퓨터 판독가능 저장 매체를 제공한다.
또한 본 원리들은 상술한 방법에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체를 제공한다.
도 1은 다수의 연결된 컴포넌트들과 반복적인 구조들을 갖는 예시적인 3D 모델들을 도시하는 도면.
도 2는 반복적인 구조 발견 기반의 압축 알고리즘, A3DMC에 기초하여 비트스트림의 구조를 결정하는 단계들을 포함하는 예시적인 프로세스를 도시하는 도면.
도 3은 본 원리들과 관련된 예시적인 인코더를 도시하는 도면.
도 4는 본 원리들과 관련된 예시적인 디코더를 도시하는 도면.
반복적인 구조 발견 동안 오직 기하학적 구조만이 점검된다. 하나의 인스턴스는 특성 데이터를 상응하는 패턴과 공유하거나 고유의 특성 데이터를 가질 수 있다. 인스턴스가 패턴과 특성들을 공유하지 않으면, 인스턴스의 특성들은 개별적으로 압축될 것이다.
인스턴스 변환은 네 가지 부분들 즉, 반사(reflection) 부분, 회전(rotation) 부분, 병진(translation) 부분 및 가능한 스케일링(scaling) 부분으로 분할될 수 있다. 네 가지 부분들은 개별적으로 압축된다.
모든 패턴들은 더 많은 비트레이트의 절약을 달성하기 위하여 함께 압축된다. 디코딩 동안, 인스턴스들의 복구 전에 패턴들은 서로 분리될 필요가 있다.
도 3과 도 4는 본 원리들의 태양들을 구현하기에 적합한 예시적인 인코더와 디코더를 도시한다. 인코더와 디코더의 세부사항들은 출원인이 공동 소유하는 PCT 출원 WO2010149492 및 PCT/CN2011/076991에서 제공되며, 그 내용들은 본 출원에 참조로써 명시적으로 포함된다. 당해 기술 분야에서 통상의 지식을 가진 자들이 인식하는 바와 같이, 코덱(CODEC)은 3D 렌더링이 요구되는 다양한 환경들에 융통성을 제공하기 위하여 하드웨어, 소프트웨어 또는 펌웨어, 또는 이러한 양식들의 조합들로 구현될 수 있다. 그 중에서도, ASICs(Application specific integrated circuits), 프로그램가능한 어레이 논리 회로들(programmable array logic circuits), 개별 반도체 회로들(discrete semiconductor circuits) 및 프로그램가능한 디지털 신호 프로세싱 회로들(programmable digital signal processing circuits), 컴퓨터 판독가능 매체, 전이(transitory) 또는 비전이(non-transitory)가 본 발명을 구현하기 위하여 이용될 수 있다. 이러한 모든 것들은 본 발명의 가능한 구현들의 제한 없는 예들이며 다른 실시예들이 실현 가능할 수 있다는 것을 인식할 것이다.
두 가지 인스턴스 압축 모드
비트스트림이 모든 인스턴스 데이터를 내장하기를 원하지만, 또한 그것이 효율적이고, 때때로 비트스트림 크기나 디코딩 효율성 또는 에러 내성(error resilience)이 가장 중요한 몇몇 응용예들을 다룰 수 있기를 원한다.
따라서, 비트스트림 내의 하나의 인스턴스의 데이터, 즉 (예를 들어, 패턴 압축 데이터 스트림에 있는 패턴의 실제 위치가 되는 아이디로서 제1 패턴에 대해서 1, 제2 패턴에 대해서는 2와 같은) 패턴 아이디, 반사 변환 부분(F), 병진 변환 부분(T), 회전 변환 부분(R) 및 그것의 스케일링 변환 부분(S)을 어떻게 넣는지에 대해 두 가지 옵션을 제안한다. 양자 모두 각기 장단점을 가지고 있다.
옵션 (A) 기본적인 인스턴스 데이터 모드(elementary instance data mode) (ID, F, T, R, S, ID, F, T, R, S...): 이러한 모드를 사용하여, 하나의 인스턴스의 패턴 아이디, 반사 변환 부분, 병진 변환 부분, 회전 변환 부분 및 스케일링 변환 부분이 비트스트림에 채워진다(pack together).
장점:
- 에러에 강하다. 디코더는 일부 인스턴스들의 변환의 손실로부터 복구할 수 있다.
- 온라인 디코딩. 압축된 비트스트림의 실질적인 판독 동안 인스턴스들이 차례로 디코딩될 수 있음을 의미한다. 압축된 비트스트림 전체의 판독이 끝나기를 기다릴 필요가 없다.
- 더 빠른 코덱 속도.
- 코덱은 버퍼를 필요로 하지 않는다.
단점:
- 상대적으로 더 큰 압축된 3D 모델의 크기.
옵션 (B) 그룹화된 인스턴스 데이터 모드(grouped instance data mode) (ID, ID, F, F, T, T, R, R, S, S): 이러한 모드를 사용하여 정보 유형에 기초하여 정보가 함께 그룹화되는데, 즉 하나의 인스턴스의 패턴 아이디, 반사 변환 부분, 병진 변환 부분, 회전 변환 부분 및 스케일링 변환 부분이 비트스트림에 채워진다.
장점:
- 상대적으로 더 작은 압축된 3D 모델의 크기 .
단점 :
- 디코더가 더 이상 에러에 강하지 않다.
- 오프라인 디코딩. 이것은 압축된 비트스트림 전체의 판독이 끝난 후에야 디코더가 디코딩을 시작할 수 있다는 것을 의미한다.
- 더 느린 코덱 속도.
- 버퍼가 필요하다.
본 비트스트림의 정의는 위 두 가지 옵션들을 모두 포함할 것이다. 그렇다면, 사용자들은 그들의 응용들에 더 잘 맞는 하나를 선택할 수 있다. 특정 구현은 두 개의 인스턴스 데이터 모드들 중 오직 하나를 구현하도록 선택할 수 있다. 이 경우, 비트스트림 정의는 그에 따라 변해야 한다. 세부사항을 위해 "비트스트림 신택스 및 시맨틱스(Bitstream syntax and semantics)" 부분을 참조하면 된다.
인스턴스들은 원본 컴포넌트와 패턴 및 인스턴스 변환으로부터 복구된 컴포넌트 간의 거리로 정의되는 더 큰 디코딩 에러를 가질 수 있기 때문에, 비트스트림의 dlfqn 데이터 필드들은 디코딩된 3D 모델의 품질을 보장하기 위해 압축된 인스턴스 디코딩 에러를 표시하도록 정의된다. 인스턴스의 디코딩 에러를 압축할지 여부는, 예를 들어 품질 요구조건에 기초한다.
인스턴스 변환의 압축
아래에 도시된 바와 같이, 인스턴스 변환은 네 가지 부분들, 즉 반사 부분(Refle), 회전 부분(Rotat), 병진 부분(Transl), 및 가능한 스케일링(scaling) 부분으로 분할될 수 있다.
Figure 112014047610175-pct00001
예를 들어 W. Jiang, K. Cai, 와 T. Luo에 의한 "반사 대칭 기반의 3D 모델 압축을 위한 방법 및 장치(Method and Apparatus for Reflective Symmetry Based 3D Model Compression)" 라는 제목의 PCT 출원에 기술된 바와 같이, 반사 부분은 1-비트 플래그로 표현될 수 있다.
회전 부분은 3×3 행렬이다. 회전 부분의 세 개의 열들 (또는 행들) 은 단위 직교 벡터들이다. 가끔씩 디코딩 효율성 또는 디코딩 에러가 가장 문제되는 몇몇 응용들을 다루기 위해서, 회전 부분을 어떻게 압축하는지에 대한 두 가지 옵션들을 제안한다. 두 가지 모두 장단점을 가지고 있다.
옵션 (A) 데카르트 모드. 데카르트 좌표계에서, 회전 부분은 두 개의 직교하는 축들, (x0, y0, z0) 및 (x1, y1, z1)로 표현될 수 있고, 예컨대, W. Jiang, K. Cai와 J. Tian에 의한 "방향 축들의 인코딩에서 조건적인 에러 수정(Conditional Error Correction in Orientation AX's Encoding)"이라는 제목의 PCT 출원(PCT/CN2011/077277)에 기술된 바와 같이 압축될 수 있다.
장점:
- 보다 빠른 코덱 속도.
단점:
- 상대적으로 덜 정확한 디코딩된 3D 모델.
옵션 (B) 구면 모드. 이 모드를 사용하여, 회전 부분은, 예컨대, Greg Slaubaugh의 1999년도 보고서인 "회전 행렬로부터 오일러 각들의 계산(Computing Euler Angles from a Rotation matrix)"에 의해 오일러 각도(알파, 베타, 감마)로 전환될 수 있고, 예컨대, W. Jiang, K. Cai와 J. Tian에 의한 "방향 인코딩(Orientation Encoding)"이라는 명칭의 PCT 출원(PCT/CN2011/077271)에 기술된 바와 같이 압축될 수도 있다.
장점:
- 보다 정확한 디코딩된 3D 모델.
단점:
- 상대적으로 더 느린 코덱 속도.
본 비트스트림의 정의는 상기 두 가지 옵션들을 모두 포함할 것이다. 그렇다면 사용자들은 그들의 응용들에 더 잘 맞는 하나를 선택할 수 있다. 특정 구현은 두 개의 인스턴스 회전 압축 모드들 중 오직 하나를 구현하도록 선택할 것이다. 이 경우, 비트스트림 정의는 그에 따라 변해야 한다. 세부 사항을 위해 "비트스트림 신택스 및 시맨틱스" 부분을 참조하면 된다.
병진 부분은 벡터 (x, y, z)(가상 병진 벡터(pseudo translation vector))로 표현된다. 그룹화된 인스턴스 변환 모드를 사용하는 동안, 모든 가상 인스턴스 병진 벡터들은, 예컨대, W. Jiang, K. Cai와 Z. Chen에 의한 "옥트리 압축을 위한 모델 적응 엔트로피 코딩(A Model Adaptive Entropy Coding for Octree Compression)"이라는 제목의 PCT 출원(PCT/CN2011/077279)에 기술된 방법을 사용하여, 옥트리(OT; octree) 분해 기반의 압축 알고리즘에 의해 압축되는데, 위 출원은 옥트리 데이터 구조에서 모든 가상 인스턴스 병진 벡터들의 바운딩 박스를 회귀적으로 세분한다. 자식 노드(child node)가 비어있지 않은지 여부를 나타내기 위해 1-비트 플래그를 사용하는, 8-비트 길이의 점유 코드(occupancy code)에 의해 각 옥트리 노드의 세분을 표현한다. 옥트리를 기술하는 점유 코드 시퀀스는 처음 옥트리를 횡단하는 폭에 의해 생성된다. 점유 코드 시퀀스를 여러 간격들로 분할하고, 상이한 확률 모델들로 압축함으로써, 점유 코드 시퀀스를 압축한다. 인스턴스들은 복제 병진 벡터들(duplicate translation vectors)로 불리는 매우 근접한 가상 병진 벡터들을 가질 수 있기 때문에, 비트스트림의 몇몇 데이터 필드들은 복제 병진 벡터들을 표시하도록 정의된다.
스케일링 부분은 인스턴스의 일정한 스케일링 인자 S에 의해 표현되고, 예를 들어 2005년 7월 Computer-Aided Design 제 37권 제8호 869 내지 877면의 M. Isenburg 등의 "예측된 부동-소수점 기하 구조의 무손실 압축(Lossless Compression of Predicted Floating-Point Geometry)"에 의한 부동 소수점 숫자들에 대한 무손실 압축 알고리즘으로 압축된다.
인스턴스 특성들의 압축
현실적인 응용들에서, 기하학적 구조 외에, 3D 모델들은 보통 노멀, 색상, 텍스쳐 좌표들과 같은 다양한 특성들을 갖는다. 인스턴스들이 패턴들의 동일한 특성들을 갖도록 요구하는 것은 발견될 수 있는 반복적인 구조들의 개수를 제한하고 A3DMC의 압축률을 감소시킬 것이다. 따라서, 반복적인 구조 발견 동안 오직 기하학적 구조만을 점검할 것이고, 인스턴스는 상응하는 패턴들의 특성들과 상이한 특성들을 가질 수 있다.
기본적인 인스턴스 데이터 모드가 사용될 때, 하나의 데이터 필드는 비트스트림으로부터 인스턴스의 특성들을 어떻게 얻을지 표시하도록 정의된다.
A 경우: 인스턴스는 패턴 특성 데이터를 공유하고 그 특성들을 표현하기 위해 데이터 필드들을 필요로 하지 않는다.
B 경우: 인스턴스는 자신의 특성들을 갖고 비트스트림에 그 특성들을 표현하기 위해 별도의 데이터 필드들을 필요로 한다.
하나의 인스턴스의 특성 데이터(P)는 인스턴스의 다른 데이터 즉, (ID, F, T, R, S, P, ID, F, T, R, S, P...)에 후속한다. 그룹화된 인스턴스 데이터 모드가 사용되는 경우, 모든 인스턴스들은 패턴 특성 데이터를 공유하거나, 자신의 특성 데이터를 가져야 한다. 비트스트림의 인스턴스 데이터 부분은 (ID, ID, F, F, T, T, R, R, S, S, P, P)와 같다. ISO/IEC 14496-16과 동일한 3D 모델 특성 데이터 필드 정의를 사용한다.
압축된 비트스트림의 일반적인 구조
반복적인 구조 발견 기반의 압축 알고리즘, A3DMC의 압축된 비트스트림의 일반적인 구조의 분해가 도 2에 도시된다. 비트스트림은 헤더 버퍼 (A3DMC_stream_header)로 시작하는데, 헤더 버퍼는 압축된 스트림을 디코딩하기 위한 모든 필요한 정보인, 원본 모델에 적어도 하나의 반복적인 구조가 존재하는지 여부에 대한 정보, 모든 3D 오브젝트들(패턴들 및 필요한 경우, 다른 부분들)의 특성들, 연결성 및 기하 구조를 압축하기 위해 사용되는 3D 모델 압축 방법, 비트스트림에서 "그룹화된 인스턴스 변환 모드" 또는 "기본적인 인스턴스 변환 모드"가 사용되었는지 여부에 대한 정보, (고유 부분으로 언급되는) 반복적이지 않은 원본 모델의 일부 부분들이 존재하는지 여부에 대한 정보, 인스턴스 디코딩 에러가 보정될 수 있는지 여부에 대한 정보, 인스턴스가 가질 수 있는 특성들의 유형에 대한 정보 등을 포함한다.
원본 모델에 반복적인 구조가 없는 경우(repeat_struc_bit != 1), 비트스트림의 나머지 부분은 A3DMC_stream_header에 표시된 3D 모델 압축 방법을 사용하여 압축된 입력 3D 모델이다. 그렇지 않다면, 비트스트림에 있는 다음 부분은 모든 패턴들의 압축된 결과이다. 이 비트스트림에서 어떤 인스턴스 변환 패킹 모드(packing mode)가 선택되었는지에 따라, 비트스트림에 있는 다음 부분은 compr_insta_grouped_data 또는 compr_insta_elementary_data이다. 원본 3D 모델에 고유 부분이 있으면, compr_uni_part_data가 부가된다. 그렇지 않다면, 비트스트림은 종료한다.
비트스트림 신택스 시맨틱스
신택스 함수들, 카테고리들 및 기술어(descriptors)의 규격
이미 SC3DMC 규격에서 사용되는 신택스 함수들, 카테고리들 및 기술어들에 부가하여, 또한 다음의 두 가지를 사용할 것이다:
f(n): 각 부호에 대하여 (왼쪽부터 오른쪽으로 작성되는) n 비트를 사용하여 고정된 길이로 코딩된 비트 스트링. n은 각 부호의 코드 길이에 의존한다.
ec(v): 가능한 경우 구성 부호들(configuration symbols)을 포함하는 엔트로피-코딩된 (예를 들어, 산술 코딩된) 신택스 요소.
비트스트림 신택스 시맨틱스
A3DMC_ stream 클래스
신택스
Figure 112014047610175-pct00002
시맨틱스
A3DMC_ stream _ header: 헤드 버퍼를 포함한다.
A3DMC_ stream _ data: 데이터 버퍼를 포함한다.
A3DMC_ stream _ header 클래스
신택스
Figure 112014047610175-pct00003
시맨틱스
repeat _ struc _ bit: 3D 모델에 특정한 양 이상의 반복적인 구조들이 존재하는지 여부를 나타내는 부호없는 1-비트 정수. 반복적인 구조들이 없는 경우 0이며 반복적인 구조들이 있는 경우 1.
3d_ model _ compr _ mode: 반복적인 구조들을 포함하지 않는 경우, 패턴, 고유 부분 및 원본 3D 모델 자체를 압축하기 위해 사용되는 3D 모델 압축 방법을 나타내는 부호없는 2-비트 정수.
Figure 112014047610175-pct00004
QP: 품질 파라미터를 나타내는 5-비트의 부호없는 정수. QP의 최소값은 3이며 최대 값은 31이다.
pattern _ num: 모든 패턴들의 개수가 255보다 작은 경우 모든 패턴들의 개수를 나타내는 부호없는 8-비트 정수. pattern_num의 최소 값은 1이다.
pattern _ num _2: 모든 패턴들의 개수가 255보다 작지 않은 경우 모든 패턴들의 개수를 나타내는 부호없는 16-비트 정수. 이 경우, 총 패턴 개수는 (pattern_num_2 + 255)이다.
instance _ num: 모든 인스턴스들의 개수가 65535보다 작은 경우 모든 인스턴스들의 개수를 나타내는 부호없는 16-비트 정수. instance_num의 최소값은 1이다.
instance _ num _2: 모든 인스턴스들의 개수가 65535보다 작지 않은 경우 모든 인스턴스들의 개수를 나타내는 부호없는 32-비트 정수. 이 경우, 총 인스턴스 개수는 (instance_num_2 + 65535) 이다.
insta _ trans _ mode _ bit: 비트스트림에 "그룹화된 인스턴스 변환 모드" 또는 "기본적인 인스턴스 변환 모드"가 사용되었는지 여부를 나타내는 부호없는 1-비트 정수. "그룹화된 인스턴스 변환 모드"에 대해서는 0이고 "기본적인 인스턴스 변환 모드"에 대해서는 1이다.
insta _ rotat _ mode _ bit: 인스턴스 회전 변환의 인코딩 모드를 나타내는 부호없는 1-비트 정수. 구면 모드에 대해서는 0이고, 데카르트 모드에 대해서는 1이다.
use _ scaling _ bit: 인스턴스 변환이 스케일링 인자들을 포함하는지 여부를 나타내는 부호없는 1-비트 정수. 인스턴스 변환에 스케일링 인자가 포함되어 있는 경우 1이고, 그렇지 않은 경우 0이다. 대부분의 인스턴스들의 스케일링 인자가 1.0이면 인스턴스 변환은 스케일링 인자를 포함하지 않는다. 그렇다면 모든 인스턴스들은 상응하는 패턴과 동일한 크기를 가져야 한다.
uni _ part _ bit: 원본 3D 모델에 고유 부분이 있는지 여부를 나타내는 부호없는 1-비트 정수. 0은 고유 부분이 없음을 의미하고 1은 고유 부분이 있음을 의미한다. 만약 uni_part_bit가 0과 같으면, 이는 또한 패턴 인스턴스 압축 데이터의 직후에 비트스트림의 끝에 도달했다는 것을 의미한다.
error _ compensate _ enable _ bit: 비트스트림에 있는 몇몇 인스턴스들에 대하여 압축된 디코딩 에러의 데이터 필드들이 있는지 여부를 나타내는 부호없는 1-비트 정수. 0은 비트스트림에 있는 몇몇 인스턴스들의 압축된 디코딩 에러의 데이터 필드가 없는 경우를 의미하며 1은 비트스트림에 있는 인스턴스들의 압축된 디코딩 에러의 데이터 필드들이 있음을 의미한다.
property _ enable _ bits: 각 비트가 상응하는 특성(예를 들어, 노멀, 색상, 텍스쳐 좌표)이 인코딩 되었는지 여부를 표시하는 4-비트 플래그. 0은 상응하는 특성이 인코딩되지 않았음을 의미하고 1은 인코딩되었음을 의미한다. 비트들 및 특성들 간의 관계가 다음 표에 나타난다.
Figure 112014047610175-pct00005
A3DMC_ stream _ data 클래스
신택스
Figure 112014047610175-pct00006
시맨틱스
compr _ repeat _ struc _ data: 반복적인 구조들을 포함하는 압축된 3D 모델을 포함한다.
compr _3d_ model _ data: 반복적인 구조들을 포함하지 않고, 3d_model_compr_mode에 의해 표시되는 압축 방법에 의해 인코딩되는 압축된 3D 모델을 포함한다.
compr _ repeat _ struc _ data 클래스
신택스
Figure 112014047610175-pct00007
시맨틱스
compr _ pattern _ data: 3d_model_compr_mode에 의해 표시되는 압축 방법에 의해 인코딩된 모든 패턴들의 압축된 기하학적 구조, 연결성 및 특성들을 포함한다.
compr _ insta _ elementary _ data: "기본적인 인스턴스 변환 모드"를 사용하여 압축된 모든 패턴 인스턴스들에 대한 인스턴스 변환 데이터를 포함한다. 바이트 정렬된(byte aligned) 방식으로 압축된다.
compr _ insta _ grouped _ data: "그룹화된 인스턴스 변환 모드"를 사용하여 압축된 모든 패턴 인스턴스들에 대한 인스턴스 변환 데이터를 포함한다. 바이트 정렬된 방식으로 압축된다.
compr _ uni _ part _ data: 3d_model_compr_mode에 의해 표시되는 압축 방법에 의해 인코딩된 압축된 고유 부분 데이터를 포함한다.
compr _ insta _ elementary _ data 클래스
신택스
Figure 112014047610175-pct00008
시맨틱스
insta_transl_bbox: 인스턴스 병진 정보를 압축할 때 양자화가 사용될 수 있도록 병진 벡터 데이터의 최소값 및 최대값을 포함한다.
compr _ elem _ insta _ patternID: i 번째 인스턴스의 압축된 패턴 아이디를 포함한다.
elem _ insta _ share _ pattern _ property _ bit: 부호없는 1-비트 정수는 i 번째 인스턴스가 상응하는 패턴과 특성들을 공유하는지 여부를 나타낸다. 0은 i 번째 인스턴스가 상응하는 패턴과 특성들을 공유하지 않으며, 특성들이 압축될 필요가 있음을 의미한다. 1은 i 번째 인스턴스가 상응하는 패턴과 특성들을 공유함을 의미한다.
elem _ insta _ reflection _ flag: i 번째 인스턴스의 변환이 반사를 포함하는지 여부를 나타내는 부호없는 1-비트 정수이다. 0은 i 번째 인스턴스의 변환이 반사를 포함하지 않음을 의미하고 1은 i 번째 인스턴스의 변환이 반사를 포함함을 의미한다.
compr_elem_insta_transl: i 번째 인스턴스의 압축된 병진 벡터를 포함한다.
compr _ elem _ insta _ rotat _ cartesian: 데카르트 모드에서 i 번째 인스턴스의 압축된 회전 변환을 포함한다.
compr _ elem _ insta _ rotat _ spherical: 구면 모드에서 i 번째 인스턴스의 압축된 회전 변환을 포함한다.
compr _ elem _ insta _ scaling: i 번째 인스턴스의 압축된 스케일링 인자를 포함한다.
compr _ elem _ insta _ normal _ header: i 번째 인스턴스의 압축된 노멀의 헤더를 포함한다. 세부적인 정의를 위해서 ISO/IEC 14496-16 5.2.1.3을 참조한다.
compr _ elem _ insta _ normal _ data: i 번째 인스턴스의 압축된 노멀을 포함한다. 세부적인 정의를 위해서 ISO/IEC 14496-16 5.2.1.3을 참조한다.
compr _ elem _ insta _ color _ header: i 번째 인스턴스의 압축된 색상의 헤더를 포함한다. 세부적인 정의를 위해서 ISO/IEC 14496-16 5.2.1.3을 참조한다.
compr _ elem _ insta _ color _ data: i 번째 인스턴스의 압축된 색상을 포함한다. 세부적인 정의를 위해서 ISO/IEC 14496-16 5.2.1.3을 참조한다.
compr _ elem _ insta _ texcoord _ header: i 번째 인스턴스의 압축된 텍스쳐 좌표들의 헤더를 포함한다. 세부적인 정의를 위해서 ISO/IEC 14496-16 5.2.1.3을 참조한다.
compr _ elem _ insta _ texcoord _ data: i 번째 인스턴스의 압축된 텍스쳐 좌표들을 포함한다. 세부적인 정의를 위해서 ISO/IEC 14496-16 5.2.1.3을 참조한다.
elem _ insta _ error _ compensate _ flag: 부호없는 1-비트 정수가 비트스트림의 다음 부분이 i 번째 인스턴스의 압축된 디코딩 에러인지 여부를 나타낸다. 0은 비트스트림의 다음 부분이 i 번째 인스턴스의 압축된 디코딩 에러가 아님을 의미하고, 1은 비트스트림의 다음 부분이 i 번째 인스턴스의 압축된 디코딩 에러임을 의미한다.
compr _ elem _ insta _ error _ compen _ header: i 번째 인스턴스의 압축된 디코딩 에러의 헤더를 포함한다.
compr _ elem _ insta _ error _ compen _ data: i 번째 인스턴스의 압축된 디코딩 에러를 포함한다.
bit_num_insta_transl(): QP에 기초하여 각각의 가상 인스턴스 병진 벡터에 대해 비트의 수를 계산한다.
compr _ elem _ insta _ rotat _ cartesian 클래스
신택스
Figure 112014047610175-pct00009
시맨틱스
데카르트 모드에 있는 i 번째 인스턴스의 회전 변환은 두 개의 직교 축 (x0. y0.z0) 및 (x1, y1, z1)로 표현된다.
compr _ elem _ insta _ rotat _x0: i 번째 인스턴스의 회전의 압축된 x0를 포함한다.
compr _ elem _ insta _ rotat _ y0: i 번째 인스턴스의 회전의 압축된 y0를 포함한다.
elem _ insta _ rotat _ z0 _ sgn: x0 와 y0를 사용하여 z0를 계산하기 위해 필요한 z0의 부호를 나타내는 부호없는 1-비트 정수이다. 0은 "-" 그리고 1은 "+"를 의미한다.
compr _ ith _ insta _ orient _ z0 _ res: 부정확할 개연성이 있는 계산된 z0의 압축된 레지듀얼(compressed residual)을 포함한다.
compr _ elem _ insta _ rotat _w: x0 및 y0에 따라 x1, y1 또는 z1일 수 있는 i 번째 인스턴스의 회전의 압축된 세 번째 좌표 v를 포함한다.
elem _ insta _ rotat _ sgn _v: x0, y0, z0 및 w를 사용하여 v를 계산하기 위해 필요한, w에 따라 x1 또는 y1일 수 있는 다섯 번째 좌표 v의 부호를 나타내는 부호없는 1-비트 정수이다. 0은 "-" 그리고 1은 "+"를 의미한다.
compr _ elem _ insta _ rotat _ z1 _ res: 부정확할 개연성이 있는 계산된 z1의 압축된 레지듀얼을 포함한다.
need_compensate_z0(): i 번째 인스턴스의 회전의 계산된 z0이 보정될 필요가 있는지 여부를 결정한다. i 번째 인스턴스의 회전의 계산된 z0이 보정될 필요가 있으면 참을 리턴하고 i 번째 인스턴스의 회전의 계산된 z0이 보정될 필요가 없으면 거짓을 리턴한다.
need_compensate_z1(): i 번째 인스턴스의 회전의 계산된 z1이 보정될 필요가 있는지 여부를 결정한다. w가 z1이 아니고 i 번째 인스턴스의 회전의 계산된 z1이 보정될 필요가 있으면 참을 리턴한다. w가 z1이고 i 번째 인스턴스의 회전의 계산된 z1이 보정될 필요가 없으면 거짓을 리턴한다.
bit_num_rotat_cartesian(): QP에 기초하여 데카르트 좌표 계에서 각각의 회전 값에 대한 비트 수를 계산한다.
bit_num_rotat_res_cartesian(): QP에 기초하여 데카르트 좌표 계에서 각각의 회전 레지듀얼 값에 대한 비트 수를 계산한다.
compr _ elem _ insta _ rotat _ spherical 클래스
신택스
Figure 112014047610175-pct00010
시맨틱스
구면 모드에서 i 번째 인스턴스의 회전은 3개의 각도들, 알파, 베타 및 감마로 표현된다.
compr _ elem _ insta _ rotat _ alpha: i 번째 인스턴스의 회전의 압축된 알파를 포함한다.
compr _ elem _ insta _ rotat _ beta: i 번째 인스턴스의 회전의 압축된 베타를 포함한다.
compr _ elem _ insta _ rotat _ gamma: i 번째 인스턴스의 회전의 압축된 감마를 포함한다.
bit _ num _ rotat _ alpha (): QP에 기초하여 각각의 알파 값에 대한 비트의 수를 계산한다.
bit _ num _ rotat _ beta (): QP에 기초하여 각각의 베타 값에 대한 비트의 수를 계산한다.
bit _ num _ rotat _ gamma (): QP에 기초하여 각각의 감마 값에 대한 비트의 수를 계산한다.
compr _ insta _ grouped _ data 클래스
신택스
Figure 112014047610175-pct00011
시맨틱스
compr _ insta _ patternID _ header: 모든 인스턴스들의 압축된 패턴 아이디들에 대한 16-비트 헤더이다. patternID_data를 코딩하기 위해 압축된 비트스트림의 길이를 자동적으로 결정하는 엔트로피 코덱 또는 고정-길이 코덱을 사용할 때에는 이 데이터 필드가 사용되지 않는다.
compr _ insta _ patternID _ data: 모든 인스턴스들의 압축된 패턴 아이디들을 포함한다.
insta _ reflection _ flag _ data: 모든 인스턴스들의 반사 플래그들을 포함한다. 바이트 정렬된 방식으로 압축된다.
compr_insta_transl_header: 모든 인스턴스들의 압축된 병진 벡터들에 대한 16-비트의 헤더이다. transl_data를 코딩하기 위해 압축된 비트스트림의 길이를 자동적으로 결정하는 엔트로피 코덱 또는 고정-길이 코덱을 사용할 때에는 이 데이터 필드가 사용되지 않는다.
compr_insta_transl_data: 모든 인스턴스들의 압축된 가상 병진 벡터들을 포함한다. 4.9에 완전하게 기술되어 있다.
compr _ insta _ rotat _ header: 모든 인스턴스들의 압축된 회전 변환 부분들에 대한 16-비트의 헤더이다. rotat_data를 코딩하기 위해 압축된 비트스트림의 길이를 자동적으로 결정하는 엔트로피 코덱 또는 고정-길이 코덱을 사용할 때에는 이 데이터 필드가 사용되지 않는다.
compr _ insta _ rotat _ data: 모든 인스턴스들의 압축된 회전 변환 부분들을 포함한다. 바이트 정렬된 방식으로 압축되었다. 4.10에 완전하게 기술되어 있다.
compr _ insta _ scaling _ header: 모든 인스턴스들의 압축된 스케일링 인자들에 대한 16-비트의 헤더이다. scaling_data를 코딩하기 위해 압축된 비트스트림의 길이를 자동적으로 결정하는 엔트로피 코덱을 사용할 때에는 이 데이터 필드가 사용되지 않는다.
compr _ insta _ scaling _ data: 모든 인스턴스들의 압축된 스케일링 인자들을 포함한다.
insta _ share _ pattern _ property _ bit: 모든 인스턴스들이 패턴들과 특성들을 공유하는지 여부를 나타내는 부호없는 1-비트의 정수이다. 0은 모든 인스턴스들이 패턴들과 특성들을 공유하지 않음을 의미하고, 그들의 특성들은 압축된다. 1은 모든 인스턴스들이 패턴들과 특성들을 공유함을 의미한다.
compr _ insta _ normal _ header: 모든 인스턴스들의 압축된 노멀의 헤더를 포함한다. 세부적인 정의를 위해서 ISO/IEC 14496-16 5.2.1.3을 참조한다.
compr _ insta _ normal _ data: 모든 인스턴스들의 압축된 노멀을 포함한다. 세부적인 정의를 위해서 ISO/IEC 14496-16 5.2.1.3을 참조한다.
compr _ insta _ color _ header: 모든 인스턴스들의 압축된 색상의 헤더를 포함한다. 세부적인 정의를 위해서 ISO/IEC 14496-16 5.2.1.3을 참조한다.
compr _ insta _ color _ data: 모든 인스턴스들의 압축된 색상을 포함한다. 세부적인 정의를 위해서 ISO/IEC 14496-16 5.2.1.3을 참조한다.
compr _ insta _ texcoord _ header: 모든 인스턴스들의 압축된 텍스쳐 좌표들의 헤더를 포함한다. 세부적인 정의를 위해서 ISO/IEC 14496-16 5.2.1.3을 참조한다.
compr _ insta _ texcoord _ data: 모든 인스턴스들의 압축된 텍스쳐 좌표들을 포함한다. 세부적인 정의를 위해서 ISO/IEC 14496-16 5.2.1.3을 참조한다.
insta _ error _ compen _ flag _ data: 모든 인스턴스들의 elem_insta_error_compensate_flag를 포함한다.
compr _ elem _ insta _ error _ compen _ header: i 번째 인스턴스의 압축된 디코딩 에러의 헤더를 포함한다.
compr _ elem _ insta _ error _ compen _ data: i 번째 인스턴스의 압축된 디코딩 에러를 포함한다.
compr _ insta _ transl _ data 클래스
신택스
Figure 112014047610175-pct00012
시맨틱스
num _ node: 옥트리 노드의 수를 나타내는 부호없는 16-비트의 정수이다.
num_dupli_leaf: 복제 단말 노드들(duplicate leaf nodes)로 불리는 복제 인스턴스 병진 벡터들을 포함하는 옥트리 단말 노드의 수를 나타내는 8-비트의 부호없는 정수이다.
dupli _ leaf _ id: 옥트리의 제1 횡단 시퀀스 폭에 있는 i 번째 복제 단말 노드의 인덱스를 포함한다.
num_dupli_insta_transl: i 번째 복제 옥트리 단말 노드에 해당하는 복제 인스턴스 병진 벡터들의 수를 나타내는 4-비트의 부호없는 정수이다.
num _ interval _ bound: 전체 옥트리 점유 코드 시퀀스의 간격 경계들의 수를 나타내는 8-비트의 부호없는 정수이다.
reserved _ bits: 바이트 정렬의 목적을 위해 예비할당된 몇몇의 ISO 비트들을 포함한다.
interval _ bound _ id: i 번째 간격 경계의 인덱스를 포함한다.
occup _ p0 _ symbols: 알파벳의 전체 집합으로 압축된 옥트리 노드들의 점유 코드들을 포함한다.
occup _ p1 _ symbols: 알파벳의 서브 집합으로 압축된 옥트리 노드들의 점유 코드들을 포함한다.
compr _ insta _ rotat _ data 클래스
신택스
Figure 112014047610175-pct00013
두 가지 인스턴스 데이터 패킹 모드들 중 하나만을 구현하도록 구현을 선택할 수 있다. 이 경우, A3DMC_stream_header 내의 insta_trans_elem_bit는 비트스트림 정의로부터 제거되어야 한다. 기본적인 인스턴스 데이터 모드가 구현에 의해 선택되면, compr_insta_grouped_data는 비트스트림 정의로부터 제거되어야 한다. 만약 그룹화된 인스턴스 데이터 모드가 구현에 의하여 선택되면 compr_insta_elemetary_data는 비트스트림 정의로부터 제거되어야 한다.
두 가지 인스턴스 회전 압축 모드들 중 하나만을 구현하도록 구현을 선택할 수 있다. 이 경우, A3DMC_stream_header 내의 insta_rota_mode_bit는 비트스트림 정의로부터 제거되어야 한다. 인스턴스 회전을 압축하기 위해 데카르트 모드가 구현에 의해 선택되면, compr_elem_insta_rotat_spherical은 비트스트림 정의로부터 제거되어야 한다. 만약 구면 모드가 구현에 의하여 선택되면 compr_elem_insta_rotat_cartesian은 비트스트림 정의로부터 제거되어야 한다.
구현은 모든 인스턴스들의 압축된 패턴 아이디들, 병진 변환 부분들, 회전 변환 부분들 및 스케일링 인자들에 대하여 비트스트림에 헤더를 포함하지 않도록 선택할 수 있다. 이 경우, compr_insta_patternID_header, compr_insta_transl_header, compr_insta_rotat_header 및 compr_insta_scaling_header는 비트스트림 정의로부터 제거되어야 한다.
따라서, 본 원리들에 따르면, 반복적인 구조 발견을 사용하여 3D 모델이 표현되고 노멀, 색상 및 텍스쳐 좌표들과 같은 3D 모델 특성들을 다루고, 반사 변환을 포함하는 변환을 갖는 인스턴스들을 압축하기 위해서 상기 기술된 신택스에 따라 비트스트림이 생성되고 인코딩된다. 모델 데이터가 액세스되고, 패턴 아이디 및 변환 정보와 특성 정보가 결정된다. 패턴 아이디, 변환 정보, 및 특성 정보는 상기 기술된 포맷들 중 하나에 따라서 함께 그룹화되어 3D 모델을 나타내는 비트스트림을 생성한다.
무엇보다도, 본 원리들은 다음의 특징들 및 이점들을 제공한다:
1. 반복적인 구조 발견 기반의 압축 알고리즘의 압축된 비트스트림 신택스 및 시맨틱스;
2. 비트스트림에서 양자 모두 가능한 기본적인 인스턴스 또는 그룹화된 인스턴스 데이터 옵션들을 갖는 솔루션;
3. 상응하는 패턴 특성 데이터 또는 상응하는 데이터 필드들로 부터 인스턴스 특성 데이터를 얻기에 적합한 디코더;
4. 품질 요구 조건에 따라 인스턴스들의 디코딩 에러를 압축하기에 적합한 인코더;
5. 디코딩된 패턴 및 디코딩된 인스턴스 변환으로부터 복구된 컴포넌트들에 압축해제된 디코딩 에러를 더함으로써 최종 인스턴스 컴포넌트들을 얻기에 적합한 디코더;
6. 모든 패턴들을 함께 압축하기에 적합한 인코더;
7. 인스턴스들을 복구하기 전에 패턴들을 분리하기에 적합한 디코더;
8. 인스턴스 변환의 네 가지 부분들, 즉 반사, 회전, 병진 및 가능한 스케일링 부분들을 개별적으로 압축하기에 적합한 인코더;
9. 두 개의 직교 축들 또는 오일러 각들로 하나의 인스턴스 변환의 회전 부분의 압축; 및
도 4에 도시된 바와 같이, 상응하는 디코딩된 반사, 병진, 회전 및 가능한 스케일링 부분들로부터 인스턴스의 변환 행렬을 복구하기에 적합한 디코더.
본 명세서에 기술된 구현들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호에 구현될 수 있다. 한 가지 형식의 구현의 맥락으로 설명되었다 할지라도 (예를 들어, 오직 방법으로만 설명되었다 할지라도), 기술된 특징들의 구현은 다른 형식들로 (예를 들어, 장치 또는 프로그램으로) 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어에 구현될 수 있다. 방법들은 예를 들어, 프로세서와 같은 장치에 구현될 수 있고, 프로세서는 예를 들어 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그램가능한 로직 디바이스를 포함하는 프로세싱 디바이스를 일반적으로 지칭한다. 또한 프로세서들은 예를 들어, 컴퓨터들, 휴대폰들, PDAs(portable/personal digital assistants), 및 최종-사용자들(end-users) 간의 정보 통신을 촉진하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
본 원리들의 "일 실시예" 또는 "실시예" 또는 "하나의 구현" 또는 "구현" 이라는 언급 및 그들의 다른 변형들은, 실시예와 관련하여 앞서 기술된 특정한 특징, 구조, 특성 등이 본 원리들의 적어도 하나의 실시예에 포함되어 있음을 의미한다. 따라서, 본 명세서 전체에 걸쳐 다양한 곳에서 등장하는 "하나의 실시예에서" 또는 "실시예에서" 또는 "하나의 구현에서" 또는 "구현에서" 라는 구절들의 존재 및 다른 변형들은 반드시 동일한 실시예를 지칭하는 것은 아니다.
부가적으로, 본 출원 또는 그 청구항들은 정보의 다양한 일부들을 "결정하는" 것을 지칭할 수 있다. 정보를 결정하는 것은, 예를 들어 정보의 평가, 정보의 계산, 정보의 예측 또는 메모리로부터 정보의 검색 중 하나 이상을 포함할 수 있다.
더 나아가, 본 출원 또는 그 청구항들은 정보의 다양한 일부들을 "액세스하는" 것을 지칭할 수 있다. 정보를 액세스하는 것은 예를 들어, 정보의 수신, (예를 들면, 메모리로부터) 정보의 검색, 정보의 저장, 정보의 처리, 정보의 송신, 정보의 이동, 정보의 복사, 정보의 삭제, 정보의 계산, 정보의 결정, 정보의 예측 또는 정보의 평가 중 하나 이상을 포함할 수 있다.
부가적으로, 본 출원 또는 그 청구항들은 정보의 다양한 일부들을 "수신하는" 것을 지칭할 수 있다. 수신하는 것은 "액세스하는 것"과 마찬가지로, 넓은 용어를 의도한다. 정보의 수신은 예를 들어, 정보의 액세스, 또는 (예를 들면, 메모리로부터) 정보의 검색 중 하나 이상을 포함할 수 있다. 더 나아가, "수신하는" 것은 전형적으로 하나의 방식 또는 다른 방식으로, 예를 들면 정보의 저장, 정보의 처리, 정보의 송신, 정보의 이동, 정보의 복사, 정보의 삭제, 정보의 계산, 정보의 결정, 정보의 예측, 또는 정보의 평가와 같은 동작들 동안 연관되어 있다.
당해 기술 분야에서 통상의 지식을 가진 자에게 명확한 바와 같이, 구현들은 예를 들어, 저장 또는 송신될 정보를 운반하도록 포맷팅된 다양한 신호들을 생성할 수 있다. 정보는 예를 들어, 방법을 수행하기 위한 명령들, 또는 기술된 구현들 중 하나에 의해 생산된 데이터를 포함할 수 있다. 예를 들어, 기술된 실시예의 신택스를 쓰기 또는 판독하기 위한 규칙들을 데이터로써 운반하기 위해, 또는 기술된 실시예에 의해 기록된 실제 신택스-값들을 데이터로써 운반하도록 신호를 포맷팅할 수 있다. 그러한 신호는 예를 들어, (예컨대, 스펙트럼의 무선 주파수 부분을 사용하여) 전자기파 또는 기저대역 신호(baseband signal)로 포맷팅할 수 있다. 포맷팅은 예를 들어, 데이터 스트림의 인코딩 및 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 운반하는 정보는 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 알려진 바와 같이 신호는 다른 다양한 유선 또는 무선 링크들을 통해 송신될 수 있다. 신호는 프로세서-판독가능 매체에 저장될 수 있다.

Claims (29)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 3D 모델을 표현하는 비트스트림을 생성하기 위한 방법으로서,
    구조의 각각의 패턴들 및 인스턴스들에 관련된 정보에 액세스하는 단계 - 상기 정보는, 각각의 패턴과 연관되는, 상기 구조 내의 인스턴스의 위치를 나타내는, 각각의 패턴 식별자 및 변환 정보를 포함함 -; 및
    상기 비트스트림에 상기 정보를 패킹하기 위한 모드를 나타내는 제1 표시자를 갖는 헤더 부분, 및 패턴 데이터와 인스턴스 데이터를 포함하는 데이터 부분을 포함하는 비트스트림을 생성하는 단계 - 상기 인스턴스 데이터는, 상기 비트스트림에 배치되는 패턴 식별자들 및 변환 정보를 포함하고, 상기 제1 표시자는, 상기 정보가 제1 패킹 포맷 및 제2 패킹 포맷 중 하나로 상기 비트스트림에 패킹되는 것을 표시하고, 상기 제1 패킹 포맷은 상기 패턴 식별자들 각각과 그들 각각의 변환 정보를 함께 그룹화하는 것을 포함하고, 상기 제2 패킹 포맷은, 상기 패턴 식별자들을 함께 그리고 상기 변환 정보를 함께 그룹화하는 것을 포함함 -
    를 포함하는, 방법.
  5. 제4항에 있어서,
    상기 변환 정보는 반사 부분, 병진(translation) 부분, 회전 부분 및 스케일링 부분 중 적어도 하나를 포함하는, 방법.
  6. 삭제
  7. 제4항에 있어서,
    상기 패턴들 각각과 연관된 특성 정보에 액세스하는 단계를 더 포함하는, 방법.
  8. 제7항에 있어서,
    상기 특성 정보는 노멀(normal), 색상 및 텍스쳐 좌표들 중 적어도 하나를 포함하는, 방법.
  9. 삭제
  10. 3D 모델을 표현하는 비트스트림을 생성하기 위한 장치로서,
    구조의 각각의 패턴들 및 인스턴스들에 관련된 정보에 액세스하는 수단 - 상기 정보는, 각각의 패턴과 연관되는, 상기 구조 내의 인스턴스의 위치를 나타내는, 각각의 패턴 식별자 및 변환 정보를 포함함 -; 및
    상기 비트스트림에 상기 정보를 패킹하기 위한 모드를 나타내는 제1 표시자를 갖는 헤더 부분, 및 패턴 데이터와 인스턴스 데이터를 포함하는 데이터 부분을 포함하는 비트스트림을 생성하는 수단 - 상기 인스턴스 데이터는, 상기 비트스트림에 배치되는 패턴 식별자들 및 변환 정보를 포함하고, 상기 제1 표시자는, 상기 정보가 제1 패킹 포맷 및 제2 패킹 포맷 중 하나로 상기 비트스트림에 패킹되는 것을 표시하고, 상기 제1 패킹 포맷은 상기 패턴 식별자들 각각과 그들 각각의 변환 정보를 함께 그룹화하는 것을 포함하고, 상기 제2 패킹 포맷은, 상기 패턴 식별자들을 함께 그리고 상기 변환 정보를 함께 그룹화하는 것을 포함함 -
    을 포함하는, 장치.
  11. 제10항에 있어서,
    상기 변환 정보는 반사 부분, 병진 부분, 회전 부분 및 스케일링 부분 중 적어도 하나를 포함하는, 장치.
  12. 삭제
  13. 제10항에 있어서,
    상기 액세스하는 수단은 상기 패턴들 각각과 특성 정보를 연관시키는, 장치.
  14. 제13항에 있어서,
    상기 특성 정보는 노멀, 색상 및 텍스쳐 좌표들 중 적어도 하나를 포함하는, 장치.
  15. 삭제
  16. 3D 모델을 표현하는 비트스트림을 처리하기 위한 방법으로서,
    구조의 각각의 패턴들 및 인스턴스들에 관련된 정보를 상기 비트스트림이 포함하는지를 판정하는 단계 - 상기 정보는, 제1 패킹 포맷 또는 제2 패킹 포맷으로, 각각의 패턴과 연관되는, 상기 구조 내의 인스턴스의 위치를 나타내는, 패턴 식별자 및 변환 정보를 포함함 -;
    상기 판정하는 것에 응답하여, 상기 패턴과 연관된 상기 패턴 식별자 및 상기 변환 정보에 액세스하는 단계; 및
    상기 패턴 식별자 및 각각의 변환 정보를 디코딩하여, 3D 모델 데이터를 생성하는 단계 - 상기 비트스트림은 상기 비트스트림에 상기 정보를 패킹하기 위한 모드를 나타내는 제1 표시자를 갖는 헤더 부분, 및 패턴 데이터와 인스턴스 데이터를 포함하는 데이터 부분을 포함하고, 상기 인스턴스 데이터는 패턴 식별자들 및 변환 정보를 포함하고, 상기 제1 표시자는, 상기 정보가 상기 제1 패킹 포맷 및 상기 제2 패킹 포맷 중 하나로 상기 비트스트림에 패킹되는 것을 표시하고, 상기 제1 패킹 포맷은 상기 패턴 식별자들 각각과 그들 각각의 변환 정보를 함께 그룹화하는 것을 포함하고, 상기 제2 패킹 포맷은, 상기 패턴 식별자들을 함께 그리고 상기 변환 정보를 함께 그룹화하는 것을 포함함 -
    를 포함하는, 방법.
  17. 제16항에 있어서,
    상기 변환 정보는 반사 부분, 병진 부분, 회전 부분 및 스케일링 부분 중 적어도 하나를 포함하는, 방법.
  18. 삭제
  19. 제16항에 있어서,
    상기 패턴들 각각과 연관된 특성 정보에 액세스하는 단계를 더 포함하는, 방법.
  20. 제19항에 있어서,
    상기 특성 정보는 노멀, 색상 및 텍스쳐 좌표들 중 적어도 하나를 포함하는, 방법.
  21. 삭제
  22. 3D 모델을 표현하는 비트스트림을 처리하기 위한 장치로서,
    구조의 각각의 패턴들 및 인스턴스들에 관련된 정보를 상기 비트스트림이 포함하는지를 판정하는 수단 - 상기 정보는, 제1 패킹 포맷 또는 제2 패킹 포맷으로, 각각의 패턴과 연관되는, 상기 구조 내의 인스턴스의 위치를 나타내는, 패턴 식별자 및 변환 정보를 포함함 -;
    상기 판정하는 것에 응답하여, 상기 패턴과 연관된 상기 패턴 식별자 및 상기 변환 정보에 액세스하는 수단; 및
    상기 패턴 식별자 및 각각의 변환 정보를 디코딩하여, 3D 모델 데이터를 생성하는 수단 - 상기 비트스트림은 상기 비트스트림에 상기 정보를 패킹하기 위한 모드를 나타내는 제1 표시자를 갖는 헤더 부분, 및 패턴 데이터와 인스턴스 데이터를 포함하는 데이터 부분을 포함하고, 상기 인스턴스 데이터는 패턴 식별자들 및 변환 정보를 포함하고, 상기 제1 표시자는, 상기 정보가 상기 제1 패킹 포맷 및 상기 제2 패킹 포맷 중 하나로 상기 비트스트림에 패킹되는 것을 표시하고, 상기 제1 패킹 포맷은 상기 패턴 식별자들 각각과 그들 각각의 변환 정보를 함께 그룹화하는 것을 포함하고, 상기 제2 패킹 포맷은, 상기 패턴 식별자들을 함께 그리고 상기 변환 정보를 함께 그룹화하는 것을 포함함 -
    을 포함하는, 장치.
  23. 제22항에 있어서,
    상기 변환 정보는 반사 부분, 병진 부분, 회전 부분 및 스케일링 부분 중 적어도 하나를 포함하는, 장치.
  24. 삭제
  25. 제22항에 있어서,
    상기 액세스하는 수단은 상기 패턴들 각각과 연관된 특성 정보에 액세스하는, 장치.
  26. 제25항에 있어서,
    상기 특성 정보는 노멀, 색상 및 텍스쳐 좌표들 중 적어도 하나를 포함하는, 장치.
  27. 삭제
  28. 3D 모델을 표현하는 비트스트림을 처리하기 위한 명령어들이 저장되어 있는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령어들은,
    구조의 각각의 패턴들 및 인스턴스들에 관련된 정보를 상기 비트스트림이 포함하는지를 판정하는 것 - 상기 정보는, 제1 패킹 포맷 또는 제2 패킹 포맷으로, 각각의 패턴과 연관되는, 상기 구조 내의 각각의 인스턴스의 위치를 나타내는, 각각의 인스턴스와 연관된 패턴 식별자 및 변환 정보를 포함함 -;
    상기 판정하는 것에 응답하여, 상기 패턴과 연관된 상기 패턴 식별자 및 상기 변환 정보에 액세스하는 것; 및
    상기 패턴 식별자 및 각각의 변환 정보를 디코딩하여, 3D 모델 데이터를 생성하는 것 - 상기 비트스트림은 상기 비트스트림에 상기 정보를 패킹하기 위한 모드를 나타내는 제1 표시자를 갖는 헤더 부분, 및 패턴 데이터와 인스턴스 데이터를 포함하는 데이터 부분을 포함하고, 상기 인스턴스 데이터는 패턴 식별자들 및 변환 정보를 포함하고, 상기 제1 표시자는, 상기 정보가 상기 제1 패킹 포맷 및 상기 제2 패킹 포맷 중 하나로 상기 비트스트림에 패킹되는 것을 표시하고, 상기 제1 패킹 포맷은 상기 패턴 식별자들 각각과 그들 각각의 변환 정보를 함께 그룹화하는 것을 포함하고, 상기 제2 패킹 포맷은, 상기 패턴 식별자들을 함께 그리고 상기 변환 정보를 함께 그룹화하는 것을 포함함 -
    을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  29. 제4항에 따라 생성된 비트스트림이 저장되어 있는 비일시적 컴퓨터 판독가능 저장 매체.
KR1020147013613A 2011-11-25 2011-11-25 반복적인 구조 발견 기반 3d 모델 압축의 비트스트림을 생성하기 위한 방법 및 장치 KR101883532B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/082942 WO2013075329A1 (en) 2011-11-25 2011-11-25 Method and apparatus for generating a bitstream of repetitive structure discovery based 3d model compression

Publications (2)

Publication Number Publication Date
KR20140096070A KR20140096070A (ko) 2014-08-04
KR101883532B1 true KR101883532B1 (ko) 2018-07-30

Family

ID=48469024

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147013613A KR101883532B1 (ko) 2011-11-25 2011-11-25 반복적인 구조 발견 기반 3d 모델 압축의 비트스트림을 생성하기 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US9898834B2 (ko)
EP (1) EP2783509A4 (ko)
JP (1) JP5933742B2 (ko)
KR (1) KR101883532B1 (ko)
CN (1) CN103975593B (ko)
WO (1) WO2013075329A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108573519B (zh) 2017-03-14 2022-02-11 阿里巴巴集团控股有限公司 三维图形文件生成和在客户端展示三维图形的方法及装置
EP3703000A4 (en) * 2017-10-24 2020-09-23 Panasonic Intellectual Property Corporation of America THREE-DIMENSIONAL DATA CODING PROCESS, THREE-DIMENSIONAL DATA DECODING PROCESS, THREE-DIMENSIONAL DATA ENCODING DEVICE, AND TRIDIMENSIONAL DATA DECODING DEVICE
EP3836087A4 (en) * 2018-08-06 2021-09-29 Panasonic Intellectual Property Corporation of America METHOD FOR STORING THREE-DIMENSIONAL DATA, METHOD FOR COLLECTING THREE-DIMENSIONAL DATA, DEVICE FOR STORING THREE-DIMENSIONAL DATA AND DEVICE FOR COLLECTING THREE-DIMENSIONAL DATA
US11742877B2 (en) * 2021-03-31 2023-08-29 DRIC Software, Inc. File compression system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080170795A1 (en) * 2007-01-11 2008-07-17 Telefonaktiebolaget Lm Ericsson (Publ) Feature block compression/decompression

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3209140B2 (ja) 1997-04-04 2001-09-17 株式会社セガ 画像処理装置
US6272180B1 (en) * 1997-11-21 2001-08-07 Sharp Laboratories Of America, Inc. Compression and decompression of reference frames in a video decoder
EP1037134A2 (en) * 1999-03-16 2000-09-20 Matsushita Electric Industrial Co., Ltd. Virtual space control data receiving apparatus and method
US7650036B2 (en) 2003-10-16 2010-01-19 Sharp Laboratories Of America, Inc. System and method for three-dimensional video coding
WO2009088340A1 (en) 2008-01-08 2009-07-16 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive filtering
KR101520647B1 (ko) * 2008-01-21 2015-05-15 삼성전자 주식회사 3차원 메쉬 모델의 메쉬 데이터의 압축 및 복원 방법 및시스템
EP2216750A1 (en) * 2009-02-06 2010-08-11 Thomson Licensing Method and apparatus for encoding 3D mesh models, and method and apparatus for decoding encoded 3D mesh models
CN105657405B (zh) * 2009-02-19 2018-06-26 汤姆逊许可证公司 3d视频格式
KR101076876B1 (ko) * 2009-03-11 2011-10-26 경희대학교 산학협력단 블록기반 깊이정보 맵의 코딩 방법과 장치, 및 이를 이용한 3차원 비디오 코딩 방법
US8798158B2 (en) 2009-03-11 2014-08-05 Industry Academic Cooperation Foundation Of Kyung Hee University Method and apparatus for block-based depth map coding and 3D video coding method using the same
EP2261859A1 (en) 2009-06-10 2010-12-15 Thomson Licensing Method for encoding/decoding a 3D mesh model that comprises one or more components
CN102804230B (zh) 2009-06-23 2016-09-07 汤姆森特许公司 使用重复图案压缩3d网格

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080170795A1 (en) * 2007-01-11 2008-07-17 Telefonaktiebolaget Lm Ericsson (Publ) Feature block compression/decompression

Also Published As

Publication number Publication date
JP5933742B2 (ja) 2016-06-15
US20140285487A1 (en) 2014-09-25
JP2015506009A (ja) 2015-02-26
EP2783509A4 (en) 2016-06-22
US9898834B2 (en) 2018-02-20
WO2013075329A1 (en) 2013-05-30
EP2783509A1 (en) 2014-10-01
CN103975593B (zh) 2018-10-16
KR20140096070A (ko) 2014-08-04
CN103975593A (zh) 2014-08-06

Similar Documents

Publication Publication Date Title
CN113615181B (zh) 用于点云编解码的方法、装置
JP5932051B2 (ja) 予測位置復号
US9111333B2 (en) Predictive position encoding
JP5981566B2 (ja) 3dモデルを表現するビットストリームを処理するための方法及び装置
KR20160001652A (ko) 데이터 프로세싱 방법 및 디바이스
WO2013107273A1 (en) Method and apparatus for compressing texture information of three-dimensional (3d) models
KR101883532B1 (ko) 반복적인 구조 발견 기반 3d 모델 압축의 비트스트림을 생성하기 위한 방법 및 장치
KR20140096298A (ko) 복제 포인트를 갖는 공간 트리에 기초한 위치 코딩
CN105103192A (zh) 用于顶点误差校正的方法和装置
EP2786601A1 (en) Terminable spatial tree-based position coding and decoding
AU2012283580B2 (en) System and method for encoding and decoding a bitstream for a 3D model having repetitive structure
AU2012283580A1 (en) System and method for encoding and decoding a bitstream for a 3D model having repetitive structure
KR101986282B1 (ko) 반복 구조 검색 기반의 3d 모델 압축을 위한 방법 및 장치
CN115088017A (zh) 点云的树内几何量化
CN112262578A (zh) 点云属性编码方法和装置以及点云属性解码方法和装置
WO2014005415A1 (en) System and method for multi-level repetitive structure based 3d model compression
EP4233006A2 (en) Devices and methods for spatial quantization for point cloud compression
CN104303210B (zh) 用于基于重复结构探索的三维模型压缩的方法及装置
CN117354496A (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