KR102002654B1 - 반복 구조를 갖는 3d 모델을 위한 비트스트림을 인코딩하고 디코딩하는 시스템 및 방법 - Google Patents

반복 구조를 갖는 3d 모델을 위한 비트스트림을 인코딩하고 디코딩하는 시스템 및 방법 Download PDF

Info

Publication number
KR102002654B1
KR102002654B1 KR1020137035136A KR20137035136A KR102002654B1 KR 102002654 B1 KR102002654 B1 KR 102002654B1 KR 1020137035136 A KR1020137035136 A KR 1020137035136A KR 20137035136 A KR20137035136 A KR 20137035136A KR 102002654 B1 KR102002654 B1 KR 102002654B1
Authority
KR
South Korea
Prior art keywords
instance
information
bitstream
mode
data
Prior art date
Application number
KR1020137035136A
Other languages
English (en)
Other versions
KR20140037897A (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 KR20140037897A publication Critical patent/KR20140037897A/ko
Application granted granted Critical
Publication of KR102002654B1 publication Critical patent/KR102002654B1/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Generation (AREA)

Abstract

일반적으로, 3D 메쉬는 3개의 유형의 데이터, 즉 연결 데이터, 기하학적 데이터 및 특성 데이터로 나타난다. 인코딩된 3D 메쉬 모델은 비트스트림으로 표현, 송신 및/또는 저장될 수 있다. 비트스트림은 모든 변환 데이터를 매립하지만, 이것은 때때로 비트스트림 사이즈 또는 디코딩 효율 또는 에러 탄성이 가장 중요한 경우에는 효율적이고 여러 응용을 처리할 수 있다. 그리하여, 하나의 인스턴스의 변환 데이터, 즉 위치, 배향 및 스케일링 팩터를 비트스트림에 배치하는 방법에 대한 2개의 모드 옵션이 개시된다. 제1 모드에서, 하나의 인스턴스의 위치, 배향 및 있을 수 있는 스케일링 팩터는 비트스트림에 함께 패킹된다. 제2 모드에서, 모든 인스턴스의 변환 데이터 유형, 예를 들어, 위치, 배향 또는 있을 수 있는 스케일링 팩터는 비트스트림에 데이터 유형에 따라 함께 패킹된다.

Description

반복 구조를 갖는 3D 모델을 위한 비트스트림을 인코딩하고 디코딩하는 시스템 및 방법{SYSTEM AND METHOD FOR ENCODING AND DECODING A BITSTREAM FOR A 3D MODEL HAVING REPETITIVE STRUCTURE}
본 발명은 반복 구조 발견에 기반한 3D 모델 압축 알고리즘의 비트스트림의 구문 및 의미, 이를 인코딩하는 방법 및 장치, 그리고 이를 디코딩하는 방법 및 장치에 관한 것이다.
실제적인 응용에서, 많은 3D 모델은 다수의 연결된 성분(component)으로 구성된다. 그리고 이들 다중 연결된 3D 모델은 통상적으로 도 1에 도시된 바와 같이 여러 변환에서 많은 반복 구조를 포함한다. 이런 종류의 3D 모델을 위한 효율적인 압축 방법은 반복 구조에 존재하는 리던던시(redundancy)를 추출할 수 있어야 한다.
입력 모델에서 반복 구조를 발견하는 것을 이용하는 것에 의한 다중 연결된 3D 모델을 위한 효율적인 압축 알고리즘은, 전체 내용이 본 명세서에 참조 문헌으로 병합된 WO 2010149492(출원일; 2010년 6월 9일, Thomson Licensing에 양도, 발명의 명칭: "Efficient Compression Scheme for Large 3D Engineering Models")에 제안되어 있다. 이 알고리즘은 여러 위치, 배향 및 스케일링 팩터(scaling factor)에서 반복하는 구조를 발견한다. 이후 3D 모델은 "패턴-인스턴스" 표현(pattern-instance representation)으로 구성된다. 패턴은 대응하는 반복 구조의 대표적인 기하학적 형상이다. 반복 구조에 속하는 연결된 성분은 대응하는 패턴의 인스턴스라고 지칭되고, 패턴에 대한 변환 데이터, 즉 위치, 배향 및 있을 수 있는 스케일링 팩터로 표현된다. 인스턴스의 배향은 직교 좌표계(Cartesian coordinate system)에서 (x0, y0, z0) 및 (x1, y1, z1), 또는 구 좌표계(spherical coordinate system)에서 (알파, 베타, 감마)로 표현되는 2개의 직교 축으로 표현된다.
MPEG-3DGC에 의해 제공되는 정적 3D 모델 압축 알고리즘보다 효율적인 것으로 밝혀진 반복 구조 발견에 기반한 압축 알고리즘에 관한 압축된 비트스트림의 구문 및 의미가 개시된다. 본 반복 구조 발견에 기반한 압축 알고리즘의 개시된 압축된 비트스트림의 구문 및 의미는 예를 들어, MPEG에 적용가능하다.
본 발명은 압축된 비트스트림의 구문 및 의미에 관한 것이다.
본 발명은 또한 반복 구조를 갖는 3D 모델을 위한 비트스트림을 인코딩 및 디코딩하는 시스템 및 방법을 제공한다.
본 방법을 사용하는 장치는 아래에 설명된다.
본 발명은 또한 컴퓨터로 하여금 반복 구조를 갖는 3D 모델을 위한 비트스트림을 인코딩 또는 디코딩하는 대응하는 단계를 포함하는 방법을 수행하게 하는 실행가능한 명령을 구비하는 컴퓨터 판독가능한 매체를 제공한다.
도 1은 다수의 연결된 성분 및 반복 구조를 갖는 예시적인 3D 모델을 도시한 도면;
도 2는 본 발명에 따라 3DMC 압축된 비트스트림의 구조를 처리하는 방법을 도시한 도면;
도 3은 본 발명의 원리에 따라 3D 모델의 예시적인 인코더를 도시한 도면;
도 4는 본 발명의 원리에 따라 3D 모델의 예시적인 디코더를 도시한 도면.
3차원(3D) 메쉬(mesh)는 비디오 게임, 엔지니어링 설계, 전자 상거래, 가상 현실, 및 건축 및 과학적 시각화와 같은 3D 물체를 표현하는 데 여러 응용에서 널리 사용되고 있다. 통상적으로 원시적인 표현(raw representation)은 다량의 데이터를 요구한다. 그러나, 대부분의 응용은 저장 또는 송신을 위한 콤팩트한 3D 메쉬 표현을 선호한다. 일반적으로, 3D 메쉬는 3개의 유형의 데이터, 즉 연결 데이터, 기하학적 데이터 및 특성 데이터로 표현된다. 연결 데이터는, 정점, 기하학적 데이터 지정 정점 위치, 및 특성 데이터 지정 속성, 예를 들어, 일반 벡터, 물질의 반사율 및 텍스처 좌표(texture coordinate) 사이에 인접도 관계(adjacency relationship)를 기술한다. 대부분의 3D 압축 알고리즘은 연결 데이터 및 기하학적 데이터를 별도로 압축한다. 기하학적 데이터의 코딩 순서는 하부 연결 코딩에 의해 결정된다. 기하학적 데이터는 통상적으로 3개의 주요 단계, 즉 양자화 단계, 예측 단계 및 통계적 인코딩 단계에 의하여 압축된다. 3D 메쉬 특성 데이터는 통상적으로 유사한 방식으로 압축된다.
본 발명은 대규모 3D 엔지니어링 모델을 위한 효율적인 압축 방법에 관한 것이다. 이러한 모델은 종종 여러 파티션(partition), 소위 "연결된 성분"으로 구성된다. 기하학적 특징 패턴을 반복하는 표현에서 리던던시는 하나의 기하학적 패턴의 인스턴스와 균등한(예를 들어, 위치, 사이즈의 정규화 후에) 모든 연결된 성분을 고려하는 것에 의해 감소될 수 있다. 균등한 성분은 클러스터링(clustered)될 수 있다. 클러스터는 3D 모델의 단지 일부만 또는 모든 성분을 나타날 수 있다. 이후 각 연결된 성분은 대응하는 기하학적 패턴(또는 클러스터링 클래스)의 영숫자 식별자(alphanumeric identifier)와 같은 식별자 및 기하학적 패턴으로부터 성분을 재구성할 수 있는 변환 정보에 의해 표현될 수 있다. 이 변환 정보는 예시적으로 스케일 팩터, 평균(mean)(또는 중심), 배향 축(또는 및 각각 회전 정보), 또는 이동 정보(shift information) 중 하나 이상을 포함할 수 있다. 원리적으로, 또한 다른 것들도 가능하다.
인코딩된 모델은 비트스트림으로 표현, 송신 및/또는 저장될 수 있다.
비트스트림에 모든 변환 데이터를 매립(embed)하기를 원하지만, 또한 이것이 때때로 비트스트림 사이즈 또는 디코딩 효율 또는 에러 탄성(error resilience)이 가장 중요한 경우에 효율적이고 여러 응용을 처리하기를 원한다.
그리하여, 2개의 옵션이 하나의 인스턴스의 변환 데이터, 즉 그 위치, 배향 및 스케일링 팩터를 비트스트림에 배치하는 방식에 대해 개시된다. 이들 중 둘 모두는 고유한 장점을 구비한다. 이들 둘 모두의 적응적 조합이 특히 유리하다.
옵션(A)은 그룹화된 인스턴스 변환 모드라고 지칭된다: 이 모드를 사용하면, 하나의 인스턴스의 위치, 배향 및 있을 수 있는 스케일링 팩터는 비트스트림에 함께 패킹된다.
옵션(A)의 장점은 다음과 같다:
● 이것은 에러에 탄성적이다. 디코더는 일부 인스턴스의 변환을 누락시키는 것으로부터 복구(recovered)될 수 있다.
● 온-라인 디코딩. 이것은 인스턴스가 압축된 비트스트림을 판독하는 동안 하나씩 디코딩될 수 있다는 것을 의미한다. 전체 압축된 비트스트림의 판독이 완료하기를 기다릴 필요가 없다.
● 더 높은 코덱 속도.
● 코덱은 버퍼를 요구하지 않는다(또는 단지 매우 작은 버퍼만을 요구한다).
옵션(B)은 별도의 인스턴스 변환 모드라고 지칭된다: 모든 인스턴스의 위치, 배향 또는 있을 수 있는 스케일링 팩터는 비트스트림에 함께 패킹된다. 다시 말해, 하나의 인스턴스의 위치, 배향 및 있을 수 있는 스케일링 팩터는 비트스트림에 별도로 패킹된다.
옵션(B)의 장점은 다음과 같다:
● 옵션(A)에 비해 더 작은 압축된 3D 모델 사이즈.
옵션(B)을 사용하는 디코더는 다음 특징을 더 구비한다.
● 디코더는 에러에 탄성적이지 않다.
● 오프-라인 디코딩. 이것은 디코더가 전체 압축된 비트스트림을 판독한 후에만 디코딩을 시작할 수 있다는 것을 의미한다.
● 더 낮은 코덱 속도.
● 버퍼가 필요하다.
본 비트스트림 정의는 상기 2개의 옵션(A) 및 (B)을 모두 포함한다. 이후 유저, 또는 자동 제어는 하나 이상의 애플리케이션에 더 적합한 것을 선택할 수 있다.
본 반복 구조 발견에 기반한 압축 알고리즘(A3DMC)의 압축된 비트스트림의 일반적인 구조는 도 2에 도시된 바와 같다.
비트스트림은, 압축된 스트림을 디코딩하는데 필요한 모든 정보, 즉 원래의 모델에서 반복 구조가 있는지의 여부, 패턴 및 다른 부분을 압축하는데 사용되는 3D 모델 압축 방법이 필요한지의 여부, "그룹화된 인스턴스 변환 모드" 또는 "별도의 인스턴스 변환 모드" 중 어느 것이 이 비트스트림에 사용되는지의 여부, 반복 구조 (고유한 부분)에 포함되지 않는 원래의 모델의 일부 부분이 있는지의 여부 등을 포함하는 헤더 버퍼(A3DMC_stream_header)에서 시작한다.
원래의 모델(repeat_struc_bit != 1)에 반복 구조가 없다면, 비트스트림의 좌측 부분(예를 들어 시작부)은 A3DMC_stream_header에 나타난 3D 모델 압축 방법을 사용하여 압축된 입력 3D 모델이다. 그렇지 않으면, 비트스트림에서 그 다음 부분은 모든 패턴의 압축된 결과이다. 인스턴스 변환 패킹 모드가 이 비트스트림에서 선택된 것에 따라, compr_insta_grouped_data 또는 compr_insta_separate_data는 비트스트림에서 그 다음 부분이다. 원래의 3D 모델에서 고유한 부분이 있다면, compr_uni_part_data가 부착된다. 그렇지 않으면, 비트스트림이 종료된다.
A3DMC의 압축된 비트스트림의 구문 및 의미는 다음과 같이 상세히 설명된다.
비트스트림의 구문 및 의미
구문 함수, 카테고리, 및 설명자의 상세
f(n): 기록된 n개의 비트를 사용하는 고정된 패턴 비트 스트링(좌측에서 우측으로). n은 각 심볼에 대한 코드 길이에 좌우된다.
ec(v): 있을 수 있는 구성 심볼을 포함하는 엔트로피-코딩된(예를 들어, 산술 코딩된) 구문 요소.
A3DMC_Stream 클래스
Figure 112013121172215-pct00001
A3DMC_stream_header: 헤더 버퍼를 포함한다.
A3DMC_steam_data: 데이터 버퍼를 포함한다.
A3DMC_stream_header 클래스
Figure 112013121172215-pct00002
repeat_struc_bit: 3D 모델에서 반복 구조가 있는지의 여부를 나타내는 1-비트 부호 없는 정수. 0은 반복 구조가 없는 것을 의미하고, 1은 반복 구조를 의미한다.
3d_model_compr_mode: 반복 구조가 없다면 패턴, 고유한 부분 및 원래의 3D 모델을 압축하는데 사용되는 3D 모델 압축 방법을 나타내는 2-비트 부호 없는 정수.
Figure 112013121172215-pct00003
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_group_bit: "그룹화된 인스턴스 변환 모드" 또는 "별도의 인스턴스 변환 모드"가 이 비트스트림에 사용되는지의 여부를 나타내는 1-비트 부호 없는 정수. "별도의 인스턴스 변환 모드"에 대해서는 0이고, "그룹화된 인스턴스 변환 모드"에 대해서는 1이다.
insta_orient_mode_bit: 인스턴스 배향의 인코딩 모드를 나타내는 1-비트 부호 없는 정수. 0은 구 모드(spherical mode)를 의미하고, 1은 직교 모드(Cartesian mode)를 의미한다.
use_scaling_bit: 인스턴스 변환이 스케일링 팩터를 포함하는지의 여부를 나타내는 1-비트 부호 없는 정수. 스케일링 팩터가 인스턴스 변환에 포함되는 경우 0이고, 포함되지 않은 경우 1이다.
uni_part_bit: 원래의 3D 모델에서 고유한 부분이 있는지의 여부를 나타내는 1-비트 부호 없는 정수. 0은 고유한 부분이 없는 것을 의미하고, 1은 고유한 부분이 있는 것을 의미한다.
reserved_bits: 항상 0000이고 바이트 정렬에 사용되는 4-비트 부호 없는 정수.
A3DMC_stream_data 클래스
Figure 112013121172215-pct00004
compr_repeat_struc_data: 반복 구조를 포함하는 압축된 3d 모델을 포함한다.
compr_3d_model_data: 반복 구조를 구비하지 않고 3d_model_compr_mode에 의해 나타난 압축 방법에 의해 인코딩된 압축된 3d 모델을 포함한다.
compr_repeat_struc_data 클래스
Figure 112013121172215-pct00005
compr_pattern_data: 3d_model_compr_mode에 의해 나타난 압축 방법에 의해 인코딩된 모든 패턴의 압축된 패턴 데이터를 포함한다.
compr_insta_grouped_data: "그룹화된 인스턴스 변환 모드"를 사용하여 압축된 인스턴스 변환 데이터 를 포함한다.
compr_insta_separate_data: "별도의 인스턴스 변환 모드"를 사용하여 압축된 인스턴스 변환 데이터를 포함한다.
compr_uni_part_data: 3d_model_compr_mode에 의해 나타난 압축 방법에 의해 인코딩된 압축된 고유한 부분 데이터를 포함한다.
compr_insta_grouped_data 클래스
Figure 112013121172215-pct00006
compr_ith_insta_patternlD: i번째 인스턴스의 압축된 패턴 ID을 포함한다.
compr_ith_insta_position: i번째 인스턴스의 압축된 위치를 포함한다.
compr_ith_insta_orient_cartesian: 직교 모드에서 i번째 인스턴스의 압축된 배향을 포함한다.
compr_ith_insta_orient_spherical: 구 모드에서 i번째 인스턴스의 압축된 배향을 포함한다.
compr_ith_insta_scaling: i번째 인스턴스의 압축된 스케일링 팩터를 포함한다.
bit_num_insta_position(): QP에 기초하여 각 인스턴스 위치 값에 대한 비트의 수를 연산한다.
compr_ith_insta_orient_cartesian 클래스
Figure 112013121172215-pct00007
직교 모드에서 i번째 인스턴스의 배향은 2직교 축(x0, y0, z0) 및 (x1, y1, z1)에 의해 표현된다.
compr_ith_insta_orient_x0: i번째 인스턴스의 배향의 압축된 x0을 포함한다.
compr_ith_insta_orient_y0: i번째 인스턴스의 배향의 압축된 y0을 포함한다.
compr_ith_insta_orient_z0_sgn: x0 및 y0을 사용하여 z0를 계산하는데 필요한 z0의 부호를 나타내는 1-비트 부호 없는 정수. "-"에 대해서는 0이고, "+"에 대해서는 1이다.
compr_ith_insta_orient_z0_res: (z0 - 컴퓨터_z0())에 의해 계산된 z0의 압축된 잔류값을 포함한다.
compr_ith_insta_orient_z1: i번째 인스턴스의 배향의 압축된 z1을 포함한다.
ith_insta_orient_x1_sgn: x0, y0을 사용하여 x1을 계산하는데 필요한 x1의 부호를 나타내는 1-비트 부호 없는 정수. "-"에 대해서는 0이고, "+"에 대해서는 1이다.
ith_insta_orient_y1_sgn: x0, y0를 사용하여 y1을 계산하는데 필요한 y1의 부호를 나타내는 1-비트 부호 없는 정수. "-"에 대해서는 0이고, "+"에 대해서는 1이다.
compr_ith_insta_orient_x1: i번째 인스턴스의 배향의 압축된 x1을 포함한다.
compr_ith_insta_orient_y1: i번째 인스턴스의 배향의 압축된 y1을 포함한다.
ith_insta_orient_delta_sgn: x0, y0, z0 및 y1 또는 x1을 사용하여 x1 또는 y1을 계산하는데 필요한 부호를 나타내는 1-비트 부호 없는 정수. "-"에 대해서는 0이고 "+"에 대해서는 1이다.
compr_ith_insta_orient_z1_res: (z1 - 컴퓨터_z1())에 의해 계산된 z1의 압축된 잔류값을 포함한다.
threshold: 압축 필드에서 널리 수용된 임계값.
compute_z0(): x0, y0 및 z0 부호를 사용하여 i번째 인스턴스의 z0을 연산한다.
bit_num_orient_cartesian(): QP에 기초하여 직교 좌표계에서 각 배향 값에 대해 비트의 수를 연산한다.
bit_num_orient_res_cartesian(): QP에 기초하여 직교 좌표계에서 각 배향 잔류값 값에 대해 비트의 수를 연산한다.
compute_z1(): x0, y0, z0, x1 및 y1을 사용하여 i번째 인스턴스의 z1을 연산한다.
compr_ith_insta_orient_spherical 클래스
Figure 112013121172215-pct00008
구 모드에서 i번째 인스턴스의 배향은 3개의 각도, 알파, 베타 및 감마에 의해 표현된다.
compr_ith_insta_orient_alpha: i번째 인스턴스의 배향의 압축된 알파를 포함한다.
compr_ith_insta_orient_beta: i번째 인스턴스의 배향의 압축된 베타를 포함한다.
compr_ith_insta_orient_gamma: i번째 인스턴스의 배향의 압축된 감마를 포함한다.
compr_ith_insta_orient_res: i번째 인스턴스의 배향의 직교 좌표계에서 압축된 잔류값을 포함한다.
bit_num_orient_alpha(): QP에 기초하여 각 알파 값에 대한 비트의 수를 연산한다.
bit_num_orient_beta(): QP에 기초하여 각 베타 값에 대한 비트의 수를 연산한다
bit_num_orient_gamma(): QP에 기초하여 각 감마 값에 대한 비트의 수를 연산한다
need_correction(): 대규모 에러, 참에서 리턴(return true); 또는 거짓에서 리턴(return false)을 초래할 수 있는 에지 조건이 있는 경우 배향을 체크한다.
compr_insta_separate_data 클래스
Figure 112013121172215-pct00009
compr_insta_patternlD_length: 모든 인스턴스의 압축된 패턴 ID의 길이를 나타내는 32-비트 부호 없는 정수를 포함한다.
compr_insta_patternlD_data: 모든 인스턴스의 압축된 패턴 ID를 포함한다.
compr_insta_position_length: 모든 인스턴스의 압축된 위치의 길이를 나타내는 32-비트 부호 없는 정수를 포함한다.
compr_insta_position_data: 모든 인스턴스의 압축된 위치를 포함한다.
compr_insta_orient_length: 모든 인스턴스의 압축된 배향의 길이를 나타내는 32-비트 부호 없는 정수를 포함한다.
compr_insta_orient_data: 모든 인스턴스의 압축된 배향을 포함한다.
compr_insta_scaling_length: 모든 인스턴스의 압축된 스케일링 팩터의 길이를 나타내는 32-비트 부호 없는 정수를 포함한다.
compr_insta_scaling_data: 모든 인스턴스의 압축된 스케일링 팩터를 포함한다.
compr_ins_position_data 클래스
Figure 112013121172215-pct00010
insta_position_bbox: 모든 인스턴스 위치의 바운딩 박스를 포함한다.
config_n0_symbols: n0 일반 옥트리(ordinary octree) 구성 심볼을 포함한다.
config_n1_symbols: n1 일반 옥트리 구성 심볼을 포함한다.
config_n2_symbols: n2 일반 옥트리 구성 심볼을 포함한다.
compr_insta_orient_data 클래스
Figure 112013121172215-pct00011
추가적으로, 전술된 비트스트림은 또한 MPEG-3DGC [w11455]에 의해 정의된 SC3DMC 비트스트림과 같은 다른 비트스트림에 매립될 수 있다. 여기서는 이 솔루션의 가능한 실시예이다.
다음과 같은 SC3DMCStreamHeader의 인코딩 모드의 ISO 예비된 값(3)을 사용한다([w11455]의 원래의 테이블(53) 참조).
Figure 112013121172215-pct00012
이제 다음과 같이 [w11455]에 정의된 SC3DMCStream을 수정한다.
Figure 112013121172215-pct00013
A3DMC_stream_header_SC3DMC 클래스
Figure 112013121172215-pct00014
reserved_bits_first: 항상 0인 1 비트 부호 없는 정수. 이것은 바이트 정렬을 위한 것이다.
특히, 본 발명은,
1. 본 반복 구조 발견에 기반한 압축 알고리즘의 압축된 비트스트림의 구문 및 의미
2. 비트스트림에서 가능한 별도의 인스턴스 또는 그룹화된 인스턴스 변환 데이터 옵션을 구비하는 솔루션.
3. 기존의 SC3DMC 비트스트림에서 현재 비트스트림을 제안하는 가능한 실시예에 관한 것이다.
도 3은 예시적인 3D 모델 인코더(300)의 블록도를 도시한다. 장치(300)의 입력은 3D 모델 및 다른 메타데이터를 인코딩하는 3D 모델 품질 파라미터를 포함할 수 있다. 3D 모델은 제일 먼저 반복 구조 발견 모듈(310)을 수행하고, 이 모듈은 패턴, 인스턴스 및 고유한 성분 면에서 3D 모델을 출력한다. 패턴 인코더(320)는 패턴을 압축하는데 사용되고, 고유한 성분 인코더(350)는 유한 성분을 인코딩하는데 사용된다. 인스턴스에 대해, 인스턴스 성분 정보는 유저-선택된 모드에 기초하여 인코딩된다. 인스턴스 정보 그룹 모드가 선택되면, 인스턴스 정보는 그룹화된 인스턴스 정보 인코더(340)를 사용하여 인코딩되고; 그렇지 않다면, 이것은 기본 인스턴스 정보 인코더(330)를 사용하여 인코딩된다. 인코딩된 성분은 반복 구조 검증기(360)에서 더 검증된다. 인코딩된 성분이 품질 요구조건을 충족하지 않는다면, 이 성분은 고유한 성분 인코더(350)를 사용하여 인코딩될 수 있다. 패턴, 인스턴스, 및 고유한 성분에 대한 비트스트림은 비트스트림 조립기(370)에서 조립된다.
도 4는 예시적인 3D 모델 디코더(400)의 블록도를 도시한다. 장치(400)의 입력은 3D 모델의 비트스트림, 예를 들어, 인코더(300)에 의해 생성된 비트스트림을 포함할 수 있다. 압축된 비트스트림에서 패턴과 관련된 정보는 패턴 디코더(420)에 의해 디코딩된다. 고유한 성분과 관련된 정보는 고유한 성분 디코더(450)에 의해 디코딩된다. 인스턴스 정보의 디코딩은 또한 유저-선택된 모드에 좌우된다. 인스턴스 정보 그룹 모드가 선택되면, 인스턴스 정보는 그룹화된 인스턴스 정보 디코더(440)를 사용하여 디코딩되고; 그렇지 않은 경우, 이 정보는 기본 인스턴스 정보 디코더(430)를 사용하여 디코딩된다. 디코딩된 패턴, 인스턴스 정보 및 고유한 성분은 모델 재구성 모듈(460)에서 출력 3D 모델을 생성하도록 재구성된다.
본 명세서에 설명된 구현예는 예를 들어, 방법 또는 공정, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. 단일 형태의 구현예의 상황에서만 설명되었으나(예를 들어, 방법으로서만 설명되었으나), 설명된 특징의 구현예는 또한 다른 형태(예를 들어, 장치 또는 프로그램)로 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 방법은 일반적으로, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그래밍가능한 논리 디바이스를 포함하는 처리 디바이스를 말하는, 예를 들어, 프로세서와 같은, 예를 들어, 장치에서 구현될 수 있다.
프로세서는, 또한 예를 들어, 컴퓨터, 셀폰, 휴대용/퍼스널 디지털 어시스턴트("PDA"), 및 최종-유저들 사이에 정보 통신을 제공하는 다른 디바이스와 같은 통신 디바이스를 포함한다.
본 발명의 원리의 "일 실시예" 또는 "실시예" 또는 "일 구현예" 또는 "구현예" 및 이들의 다른 변형어는, 실시예와 관련하여 기술된 특정 특징, 구조, 특성 등이 본 발명의 원리의 적어도 일 실시예에 포함되어 있는 것을 의미한다. 따라서, 본 명세서 전체에 걸쳐 여러 곳에 나타나는 "일 실시예에서" 또는 "실시예에서" 또는 "일 구현예에서" 또는 "구현예에서" 라는 어구 및 임의의 다른 변형어는 모두 동일한 실시예를 말하는 것은 아니다.
이 기술 분야에 통상의 지식을 가진 자에게는 명백한 바와 같이, 구현은 예를 들어, 저장되거나 송신될 수 있는 정보를 운반하도록 포맷된 여러 신호를 생성할 수 있다. 정보는 예를 들어, 방법을 수행하는 명령, 또는 데이터 설명된 구현들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 비트스트림을 운반하도록 포맷될 수 있다. 이러한 신호는 예를 들어, 전자기파(예를 들어, 스펙트럼의 무선 주파수 부분을 사용하는) 또는 기저대역 신호로 포맷될 수 있다. 포맷은, 예를 들어, 데이터 스트림을 인코딩하는 것 및 인코딩된 데이터 스트림을 반송파로 변조하는 것을 포함할 수 있다. 신호가 운반하는 정보는 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 알려진 바와 같이 여러 상이한 유선 또는 무선 링크를 통해 송신될 수 있다. 이 신호는 프로세서-판독가능한 매체에 저장될 수 있다.
원리적으로, 개시된 발명은 또한 다른 데이터 압축 영역에 적용될 수도 있다. 본 발명은 고유한 비트스트림 포맷을 초래한다.
비트스트림은 모두 변환 데이터를 내장하고 있지만, 이 비트스트림은 때때로 비트스트림 사이즈 또는 디코딩 효율 또는 에러 탄성이 가장 중요한 경우 효율적이고 여러 응용을 처리할 수 있다. 그러므로, 2개의 모드 옵션은 하나의 인스턴스의 변환 데이터, 즉 그 위치, 배향 및 스케일링 팩터를 비트스트림에 배치하는 방법에 대해 개시되었다. 제1 모드(옵션 A)에서, 하나의 인스턴스의 위치, 배향 및 있을 수 있는 스케일링 팩터는 비트스트림에 함께 패킹된다. 제2 모드(옵션 B)에서, 모든 인스턴스의 위치, 배향 또는 있을 수 있는 스케일링 팩터는 비트스트림에 함께 패킹된다.
본 발명은 순전히 예시로서 설명된 것이어서 본 발명의 범위를 벗어남이 없이 여러 변형이 이루어질 수 있는 것으로 이해된다.
상세한 설명 및 (적절한 경우) 청구범위 및 도면에 개시된 각 특징은 독립적으로 또는 임의의 적절한 조합으로 제공될 수 있다. 특징은 적절한 경우 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 연결은 적용가능한 경우 무선 연결 또는 집적 연결이든 또는 간접 연결이든 상관없이 유선 연결로 구현될 수 있다. 청구범위에 나타나는 참조 부호는 단지 참조로서 언급된 것일 뿐 청구범위에 영향을 미치는 것으로 해석되어서는 안 된다.
참조 문헌
Figure 112013121172215-pct00015

Claims (20)

  1. 3D 모델을 나타내는 비트스트림을 인코딩 또는 디코딩하는 방법으로서,
    상기 3D 모델과 연관된 복수의 인스턴스 정보에 액세스하는 단계; 및
    제1 및 제2 모드 중 하나의 모드에서 비트스트림 내 송신을 위한 복수의 패턴 정보를 인코딩 또는 디코딩하는 단계를 포함하되,
    각 인스턴스는 대응하는 패턴 및 변환 데이터와 연관되며,
    상기 제1 모드에서, 각 해당 인스턴스와 연관된 변환 정보는 인스턴스에 기초하여 각 인스턴스와 함께 상기 비트스트림에서 그룹화되고, 상기 제2 모드에서, 상기 변환 정보는 변환 정보 유형에 기초하여 상기 비트스트림에서 그룹화되는 것인, 3D 모델을 나타내는 비트스트림을 인코딩 또는 디코딩하는 방법.
  2. 제1항에 있어서, 지시자 비트를 사용하여 상기 인스턴스 정보가 상기 제1 모드에서 그룹화되어 있는지 또는 상기 제2 모드에서 그룹화되어 있는지를 결정하는 단계를 더 포함하는, 3D 모델을 나타내는 비트스트림을 인코딩 또는 디코딩하는 방법.
  3. 제2항에 있어서, 상기 변환 데이터의 유형은 위치, 배향(orientation) 및 스케일링 팩터(scaling factor) 데이터 중 하나 이상을 포함하는 것인, 3D 모델을 나타내는 비트스트림을 인코딩 또는 디코딩하는 방법.
  4. 제3항에 있어서, 상기 인스턴스 정보에 후속하는 상기 3D 모델의 고유한 부분과 관련된 데이터를 인코딩 또는 디코딩하는 단계를 더 포함하는, 3D 모델을 나타내는 비트스트림을 인코딩 또는 디코딩하는 방법.
  5. 제3항에 있어서, 상기 비트스트림은 상기 제1 및 제2 모드의 적응적 조합을 사용하여 인코딩 또는 디코딩되고, 상기 인스턴스 정보 중 선택된 정보는 상기 제1 모드를 사용하여 인코딩 또는 디코딩되며, 상기 인스턴스 정보 중 선택된 다른 정보는 상기 제2 모드를 사용하여 인코딩 또는 디코딩되는 것인, 3D 모델을 나타내는 비트스트림을 인코딩 또는 디코딩하는 방법.
  6. 3D 모델을 나타내는 비트스트림을 인코딩하는 인코더로서,
    상기 3D 모델에서 패턴을 포함하는 반복 구조, 및 각 패턴 및 변환 데이터와 연관된 인스턴스를 발견하는 모듈; 및
    제1 및 제2 모드 중 하나의 모드에서 비트스트림에 있는 인스턴스 정보를 인코딩하는 모듈을 포함하되,
    상기 제1 모드에서, 각 해당 인스턴스와 연관된 변환 정보는 인스턴스에 기초하여 상기 각 인스턴스와 함께 상기 비트스트림에서 그룹화되고, 상기 제2 모드에서, 상기 변환 정보는 변환 정보 유형에 기초하여 상기 비트스트림에서 그룹화되는 것인 인코더.
  7. 제6항에 있어서, 상기 인코딩하는 모듈은 상기 인스턴스 정보가 상기 제1 모드에서 그룹화되어 있는지 또는 상기 제2 모드에서 그룹화되어 있는지를 결정하는 지시자 비트를 포함하는 것인 인코더.
  8. 제7항에 있어서, 상기 변환 데이터의 유형은 위치, 배향 및 스케일링 팩터 데이터 중 하나 이상을 포함하는 것인 인코더.
  9. 제8항에 있어서, 상기 인코딩하는 모듈은 상기 인스턴스 정보에 후속하는 상기 3D 모델의 고유한 부분과 관련된 데이터를 더 포함하는 것인 인코더.
  10. 제8항에 있어서, 상기 인코딩하는 모듈은 상기 제1 및 제2 모드의 적응적 조합을 사용하여 상기 비트스트림을 인코딩하고, 상기 인스턴스 정보 중 선택된 정보는 상기 제1 모드를 사용하여 인코딩되며, 상기 인스턴스 정보 중 선택된 다른 정보는 상기 제2 모드를 사용하여 인코딩되는 것인 인코더.
  11. 3D 모델을 나타내는 비트스트림을 디코딩하는 디코더로서,
    대응하는 패턴 및 변환 데이터와 연관된 인스턴스 정보를 포함하는 비트스트림에 액세스하는 모듈; 및
    제1 및 제2 모드 중 하나의 모드에서 비트스트림에 있는 상기 인스턴스 정보를 디코딩하는 모듈을 포함하되,
    상기 제1 모드에서, 각 해당 인스턴스와 연관된 변환 정보는 인스턴스에 기초하여 각 인스턴스와 상기 비트스트림에서 그룹화되고, 상기 제2 모드에서, 상기 변환 정보는 변환 정보 유형에 기초하여 상기 비트스트림에서 그룹화되는 것인 디코더.
  12. 제11항에 있어서, 상기 디코딩하는 모듈은 지시자 비트에 기초하여 상기 인스턴스 정보가 상기 제1 모드에서 그룹화되어 있는지 또는 상기 제2 모드에서 그룹화되어 있는지의 여부를 결정하는 것인 디코더.
  13. 제12항에 있어서, 상기 변환 데이터의 유형은 위치, 배향 및 스케일링 팩터 데이터를 포함하는 것인 디코더.
  14. 제13항에 있어서, 상기 디코딩하는 모듈은 상기 인스턴스 정보에 후속하는 상기 3D 모델의 고유한 부분과 관련된 데이터를 더 디코딩하는 것인 디코더.
  15. 제13항에 있어서, 상기 디코딩하는 모듈은 상기 제1 및 제2 모드의 적응적 조합을 사용하여 상기 비트스트림을 디코딩하고, 상기 인스턴스 정보 중 선택된 정보는 상기 제1 모드를 사용하여 디코딩되며, 상기 인스턴스 정보 중 선택된 다른 정보는 상기 제2 모드를 사용하여 디코딩되는 것인 디코더.
  16. 3D 모델을 나타내는 비트스트림을 저장하는 컴퓨터 판독가능 매체로서,
    상기 비트스트림은 대응하는 패턴 및 변환 데이터와 연관된 인스턴스 정보를 포함하되;
    상기 인스턴스 정보는 제1 및 제2 모드 중 하나의 모드에서 상기 비트스트림에 포함되어 있고, 상기 제1 모드에서, 각 해당 인스턴스와 연관된 변환 정보는 인스턴스에 기초하여 상기 각 인스턴스와 함께 상기 비트스트림에서 그룹화되며, 상기 제2 모드에서, 상기 변환 정보는 변환 정보 유형에 기초하여 상기 비트스트림에서 그룹화되는 것인, 3D 모델을 나타내는 비트스트림을 저장하는 컴퓨터 판독가능 매체.
  17. 제16항에 있어서, 상기 비트스트림은 상기 인스턴스 정보가 상기 제1 모드에서 그룹화되어 있는지 또는 상기 제2 모드에서 그룹화되어 있는지의 여부를 나타내는 지시자 비트를 포함하는 것인, 3D 모델을 나타내는 비트스트림을 저장하는 컴퓨터 판독가능 매체.
  18. 제17항에 있어서, 상기 변환 데이터의 유형은 위치, 배향 및 스케일링 팩터 데이터를 포함하는 것인, 3D 모델을 나타내는 비트스트림을 저장하는 컴퓨터 판독가능 매체.
  19. 제18항에 있어서, 상기 비트스트림은 상기 인스턴스 정보에 후속하는 상기 3D 모델의 고유한 부분과 관련된 데이터를 더 포함하는 것인, 3D 모델을 나타내는 비트스트림을 저장하는 컴퓨터 판독가능 매체.
  20. 제18항에 있어서, 상기 비트스트림은 상기 제1 및 제2 모드의 적응적 조합을 포함하며, 상기 인스턴스 정보 중 선택된 정보는 상기 제1 모드를 사용하여 인코딩 또는 디코딩되고, 상기 인스턴스 정보 중 선택된 다른 정보는 상기 제2 모드를 사용하여 인코딩 또는 디코딩되는 것인, 3D 모델을 나타내는 비트스트림을 저장하는 컴퓨터 판독가능 매체.
KR1020137035136A 2011-07-08 2012-07-06 반복 구조를 갖는 3d 모델을 위한 비트스트림을 인코딩하고 디코딩하는 시스템 및 방법 KR102002654B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2011/076991 2011-07-08
CN2011076991 2011-07-08
PCT/CN2012/078301 WO2013007171A1 (en) 2011-07-08 2012-07-06 System and method for encoding and decoding a bitstream for a 3d model having repetitive structure

Publications (2)

Publication Number Publication Date
KR20140037897A KR20140037897A (ko) 2014-03-27
KR102002654B1 true KR102002654B1 (ko) 2019-07-23

Family

ID=47505518

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137035136A KR102002654B1 (ko) 2011-07-08 2012-07-06 반복 구조를 갖는 3d 모델을 위한 비트스트림을 인코딩하고 디코딩하는 시스템 및 방법

Country Status (7)

Country Link
US (1) US20140160241A1 (ko)
EP (1) EP2730089A4 (ko)
JP (1) JP6085597B2 (ko)
KR (1) KR102002654B1 (ko)
AU (1) AU2012283580B2 (ko)
BR (1) BR112013031367A2 (ko)
WO (1) WO2013007171A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9438891B2 (en) * 2014-03-13 2016-09-06 Seiko Epson Corporation Holocam systems and methods
US10055857B2 (en) * 2014-08-29 2018-08-21 Ati Technologies Ulc Extension of the MPEG/SC3DMC standard to polygon meshes
US10726521B2 (en) * 2018-04-17 2020-07-28 Google Llc Dynamic adaptation of device interfaces in a voice-based system
JP7436364B2 (ja) * 2018-08-03 2024-02-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN112513938A (zh) 2018-08-06 2021-03-16 松下电器(美国)知识产权公司 三维数据保存方法、三维数据获得方法、三维数据保存装置以及三维数据获得装置
US11225028B2 (en) 2019-11-14 2022-01-18 NEXA3D Inc. Methods of representing three dimensional articles to be produced using additive manufacturing processes in digital file formats

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010149492A1 (en) 2009-06-23 2010-12-29 Thomson Licensing Compression of 3d meshes with repeated patterns

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6668091B1 (en) * 1998-10-02 2003-12-23 Samsung Electronics Co., Ltd. 3D mesh coding/decoding method
CA2557533A1 (en) * 2004-02-27 2005-09-09 Td Vision Corporation S.A. De C.V. Method and system for digital coding 3d stereoscopic video images
CN102577442B (zh) * 2009-10-15 2015-06-03 汤姆森特许公司 编码网格模型的方法和装置、编码的网格模型、以及解码网格模型的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010149492A1 (en) 2009-06-23 2010-12-29 Thomson Licensing Compression of 3d meshes with repeated patterns

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CAI KANGYING et al., "MPEG98 proposal A3DMC Bitstream", 2011.11.28.-12.2.

Also Published As

Publication number Publication date
JP6085597B2 (ja) 2017-02-22
BR112013031367A2 (pt) 2017-03-01
JP2014518421A (ja) 2014-07-28
EP2730089A1 (en) 2014-05-14
US20140160241A1 (en) 2014-06-12
KR20140037897A (ko) 2014-03-27
WO2013007171A1 (en) 2013-01-17
EP2730089A4 (en) 2015-06-17
AU2012283580B2 (en) 2017-05-04

Similar Documents

Publication Publication Date Title
JP5932051B2 (ja) 予測位置復号
KR102002654B1 (ko) 반복 구조를 갖는 3d 모델을 위한 비트스트림을 인코딩하고 디코딩하는 시스템 및 방법
US9111333B2 (en) Predictive position encoding
JP5981566B2 (ja) 3dモデルを表現するビットストリームを処理するための方法及び装置
JP4579987B2 (ja) 時間的に変わるグラフィックモデルを表すデータストリームの符号化方法
JP5033261B2 (ja) 共有頂点情報を用いた低複雑度3次元メッシュ圧縮装置及び方法
US10003794B2 (en) Terminable spatial tree-based position coding and decoding
EP2943936B1 (en) Method and apparatus for vertex error correction
AU2012283580A1 (en) System and method for encoding and decoding a bitstream for a 3D model having repetitive structure
KR101986282B1 (ko) 반복 구조 검색 기반의 3d 모델 압축을 위한 방법 및 장치
KR101883532B1 (ko) 반복적인 구조 발견 기반 3d 모델 압축의 비트스트림을 생성하기 위한 방법 및 장치
CN103688548A (zh) 为具有重复结构的三维模型编码和解码位流的系统及方法
CN104303210B (zh) 用于基于重复结构探索的三维模型压缩的方法及装置
CN103748615A (zh) 用于对连接分量的取向向量进行编码的方法和设备、相应的解码方法和设备、以及携带这种已编码数据的存储介质

Legal Events

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