KR20140116114A - 3차원 (3d) 모델들의 텍스처 정보를 압축하는 방법 및 장치 - Google Patents

3차원 (3d) 모델들의 텍스처 정보를 압축하는 방법 및 장치 Download PDF

Info

Publication number
KR20140116114A
KR20140116114A KR1020147019905A KR20147019905A KR20140116114A KR 20140116114 A KR20140116114 A KR 20140116114A KR 1020147019905 A KR1020147019905 A KR 1020147019905A KR 20147019905 A KR20147019905 A KR 20147019905A KR 20140116114 A KR20140116114 A KR 20140116114A
Authority
KR
South Korea
Prior art keywords
instance
texture
pattern
model
patch
Prior art date
Application number
KR1020147019905A
Other languages
English (en)
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 KR20140116114A publication Critical patent/KR20140116114A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • 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
    • 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
    • H04N19/23Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic

Abstract

3D 모델은 "패턴-인스턴스" 표현을 이용하여 모델링될 수 있다. 정점들 및 삼각형들을 기술하기 위해, 인스턴스의 특성들, 예를 들어, 텍스처, 컬러 및 법선이 패턴에서의 순서에 대응하도록 조정된다. 인스턴스의 텍스처는 대응하는 패턴의 텍스처와의 유사성에 의존하여 인코딩된다. 인스턴스 텍스처가 패턴 텍스처와 동일하거나 거의 동일할 경우, 인스턴스 텍스처는 인코딩되지 않고, 패턴 텍스처는 인스턴스 텍스처를 재구성하는데 이용될 것이다. 인스턴스 텍스처가 패턴 텍스처와 유사한 경우, 인스턴스 텍스처는 패턴 텍스처로부터 예측적으로 인코딩되며, 즉, 인스턴스 텍스처와 패턴 텍스처 간의 차이가 인코딩되고, 인스턴스 텍스처가 패턴 텍스처와 차이의 조합으로서 결정된다.

Description

3차원 (3D) 모델들의 텍스처 정보를 압축하는 방법 및 장치{METHOD AND APPARATUS FOR COMPRESSING TEXTURE INFORMATION OF THREE-DIMENSIONAL (3D) MODELS}
관련 출원들
본 특허출원은 2012년 1월 21일자로 출원된 중국 PCT 특허출원 PCT/CN2012/070703호 및 2012년 4월 19일자로 출원된 중국 PCT 특허출원 PCT/CN2012/074356호로부터의 우선권의 이점을 주장하고, 이들 출원들은 본 명세서에 참조로 통합된다.
기술분야
본 발명은 3D 모델을 나타내는 비트스트림을 생성하는 방법 및 장치, 그리고 그 비트스트림을 디코딩하는 방법 및 장치에 관한 것이다.
실제 애플리케이션들에 있어서, 다수의 3D 모델들은 다수의 접속된 컴포넌트들로 이루어진다. 이들 멀티-컴포넌트 3D 모델들은 통상적으로, 도 1에 도시된 바와 같이, 다양한 변환들에 있어서 다수의 반복적인 구조들을 포함한다.
입력 모델들에 있어서 반복적인 구조들을 이용하는 멀티-컴포넌트 3D 모델들에 대한 압축 알고리즘들이 공지되어 있다. 3D 모델의 반복적인 구조들은 다양한 포지션들, 배향들, 및 스케일링 팩터들에서 발견된다. 그 후, 3D 모델은 "패턴-인스턴스(pattern-instance)" 표현으로 구성된다. 패턴은 대응하는 반복적인 구조의 대표적인 지오메트리를 표시하는데 사용된다. 반복적인 구조에 속하는 컴포넌트들은 대응하는 패턴의 인스턴스들로서 표시되고, 패턴 ID 및 변환 정보, 예를 들어, 패턴에 대한 반사, 병진(translation), 회전 및 가능한 스케일링(scaling)에 의해 표현될 수 있다. 인스턴스 변환 정보는, 예를 들어, 반사 파트, 병진 파트, 회전 파트, 및 가능한 스케일링 파트로 편성(organize)될 수 있다. 반복적이지 않은 3D 모델들의 일부 컴포넌트들이 존재할 수도 있으며, 이는 고유 컴포넌트들로서 지칭된다.
K. Cai, Y.Jin, 및 Z. Chen에 의한 "Efficient compression scheme for large 3D engineering models"인 명칭의 공동 소유된 PCT 출원(PCT/EP10/058048, 대리인 사건번호 제PA090039호) - 그 출원의 교시들은 본 명세서에 참조로 구체적으로 통합됨 - 은 다양한 포지션들, 스케일들, 및 배향들에서 반복하는 지오메트릭 피처들을 갖는 3D 모델들의 압축 방법을 개시한다.
K. Cai, W. Jiang, 및 J. Tian에 의한 "Bitstream syntax and semantics of repetitive structure discovery based 3D model compression algorithm"인 명칭의 다른 공동 소유된 PCT 출원(PCT/CN2011/076991, 대리인 사건번호 제PA110044호) - 그 출원의 교시들은 본 명세서에 참조로 구체적으로 통합됨 - 은 인스턴스 변환 정보를 압축하는 2개의 모드들을 개시한다.
K. Cai, W. Jiang, 및 J. Tian에 의한 "Method and apparatus for generating a bitstream of repetitive structure discovery based 3D model compression"인 명칭의 다른 공동 소유된 PCT 출원(PCT/CN2011/082942, 대리인 사건번호 제PA110067호) - 그 출원의 교시들은 본 명세서에 참조로 구체적으로 통합됨 - 은 2개의 인스턴스 압축 모드들, 즉, 요소적인 인스턴스 데이터 모드 및 그룹화된 인스턴스 데이터 모드를 개시한다.
K. Cai, W. Jiang, 및 T. Luo에 의한 "System and method for error controllable repetitive structure discovery based compression"인 명칭의 다른 공동 소유된 PCT 출원(PCT/CN2012/070877, 대리인 사건번호 제PA120001호) - 그 출원의 교시들은 본 명세서에 참조로 구체적으로 통합됨 - 은, 인스턴스 컴포넌트들 중의 리던던시를 감소하고 따라서 압축 효율을 개선하기 위해 3D 모델들에 있어서 반복적인 구조들을 식별하는 방법 및 장치를 개시한다.
본 원리들은 3D 모델을 나타내는 비트스트림을 디코딩하는 방법을 제공하고, 이 방법은 패턴의 인스턴스가 패턴의 특성을 사용하는지 여부를 비트스트림으로부터 결정하는 단계 - 패턴은 3D 모델의 구조와 연관되고 인스턴스는 패턴의 변환으로서 표현됨 -; 및 패턴의 특성에 응답하여 인스턴스의 특성을 결정하는 단계를 포함하며, 인스턴스의 특성은, 하기에 설명되는 바와 같이, 텍스처, 텍스처 좌표, 컬러, 및 법선(normal) 중 하나에 대응한다. 본 원리들은 또한 이들 단계들을 수행하는 장치를 제공한다.
본 원리들은 또한 3D 모델을 나타내는 비트스트림을 생성하는 방법을 제공하고, 이 방법은 패턴의 인스턴스에 액세스하는 단계 - 패턴은 3D 모델의 구조와 연관되고 인스턴스는 패턴의 변환으로서 표현됨 -; 및 인스턴스의 특성이 패턴의 특성을 이용하여 인코딩되는지 여부를 비트스트림에 표시하는 단계를 포함하며, 인스턴스의 특성은, 하기에 설명되는 바와 같이, 텍스처, 텍스처 좌표, 컬러, 및 법선 중 하나에 대응한다. 본 원리들은 또한 이들 단계들을 수행하는 장치를 제공한다.
본 원리들은 또한 3D 모델을 나타내는 비트스트림을 생성하는 방법을 제공하고, 이 방법은 구조와 연관된 패턴에 있어서 제1면에서의 정점들의 순서를 결정하는 단계; 복수의 특성 세트들에 액세스하는 단계 - 복수의 특성 세트들 중 각각의 특성 세트는 패턴의 인스턴스에 있어서 제2면에서의 대응하는 정점과 연관됨 -; 및 하기에서 설명되는 바와 같이, 결정된 순서에 응답하여 복수의 특성 세트들을 순서화하는(ordering) 단계를 포함한다. 본 원리들은 또한 이들 단계들을 수행하는 장치를 제공한다.
본 원리들은 또한, 상기 설명된 방법들에 따라 비트스트림을 생성하거나 디코딩하는 명령들이 저장된 컴퓨터 판독가능 저장 매체를 제공한다.
본 원리들은 또한, 상기 설명된 방법들에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체를 제공한다.
도 1은 다수의 컴포넌트들 및 반복적인 구조들을 갖는 예시적인 3D 모델들을 도시한다.
도 2a는 패턴 및 인스턴스를 도시한 도식예이고, 도 2b는 패턴 및 인스턴스에 대한 텍스처 이미지들을 도시한 도식예이다.
도 3a는 인스턴스 삼각형들과 패턴 삼각형들 간의 일대일 대응 없이 인스턴스 정점들과 패턴 정점들 간의 일대일 대응을 도시한 도식예이고, 도 3b는 인스턴스가 패턴에 대해 플립(flip)됨을 도시한 도식예이다.
도 4는 본 원리들의 실시예에 따른, 3D 모델들을 인코딩하기 위한 일 예를 도시한 플로우 다이어그램이다.
본 원리들의 실시예에 따라, 도 5a는 패턴 및 인스턴스를 도시한 다른 도식예이고, 도 5b는 조정 전 인스턴스에 대한 텍스처 좌표들의 리스트이며, 도 5c는 조정 후 인스턴스에 대한 텍스처 좌표들의 리스트이다.
도 6a 및 도 6b는 3D 모델에 대한 텍스처 이미지의 2개 부분들을 도시한 도식예들이다.
도 7은 본 원리들의 실시예에 따른, 인스턴스에 대한 텍스처 패치의 패턴에 대한 대응하는 텍스처 패치와의 유사성을 결정하기 위한 일 예를 도시한 플로우 다이어그램이다.
도 8은 본 원리들의 실시예에 따른, 텍스처 코딩 모드들을 결정하기 위한 일 예를 도시한 플로우 다이어그램이다.
도 9는 본 원리들의 실시예에 따른, 텍스처 이미지를 디코딩하기 위한 일 예를 도시한 플로우 다이어그램이다.
본 원리들의 실시예에 따라, 도 10a는 텍스처 이미지를 도시한 도식예이고, 도 10b 및 도 10c는 처리된 텍스처 이미지들을 도시한 도식예를 도시한다.
도 11은 본 원리들의 하나 이상의 구현들로 사용될 수 있는 인코더의 일 예를 도시한 블록도이다.
도 12는 본 원리들의 하나 이상의 구현들로 사용될 수 있는 디코더의 일 예를 도시한 블록도이다.
도 13은 본 원리들의 하나 이상의 구현들로 사용될 수 있는 데이터 처리 시스템의 일 예를 도시한 블록도이다.
도 14는 본 원리들의 하나 이상의 구현들로 사용될 수 있는 데이터 처리 시스템의 다른 예를 도시한 블록도이다.
도 1에 도시된 바와 같이, 3D 모델들에 있어서 다수의 반복적인 구조들이 존재할 수 있다. 3D 모델들을 효율적으로 인코딩하기 위해, 반복적인 구조들이 패턴들 및 인스턴스들로 편성될 수 있으며, 여기서, 인스턴스는, 예를 들어, 대응하는 패턴의 패턴 ID, 및 병진, 회전, 및 스케일링에 대한 정보를 포함하는 변환 행렬(transformation matrix)을 이용하여 대응하는 패턴의 변환(transformation)으로서 표현된다.
인스턴스가 패턴 ID 및 변환 행렬에 의해 표현될 경우, 패턴 ID 및 변환 행렬은, 인스턴스를 압축할 때에 압축되어야 한다. 결과적으로, 인스턴스는 패턴 ID 및 디코딩된 변환 행렬을 통해 재구성될 수 있으며, 즉, 인스턴스는 패턴 ID에 의해 인덱싱되는 디코딩된 패턴의 (디코딩된 변환 행렬로부터의) 변환으로서 재구성될 수도 있다.
텍스처링된 3D 모델을 표현하기 위해, 하나 이상의 텍스처 이미지들이 지오메트리와 함께 송신될 수도 있다. 3D 모델의 각각의 면은 텍스처 이미지(들)의 특정 영역에 대응한다. 각각의 정점에 대한 텍스처 이미지(들)에서의 대응하는 좌표들은 매핑 관계를 나타내기 위해 인코딩된다.
인코딩 텍스처가 통상 3D 모델들의 인코딩 지오메트리 및 접속보다 훨씬 더 많은 비트들을 사용하기 때문에, 텍스처 정보가 효율적으로 압축되게 하는 것이 바람직하다. 본 원리들은, 반복적인 텍스처들 사이의 리던던시를 활용함으로써 3D 모델들의 텍스처 정보를 효율적으로 압축하는 방법 및 장치를 제공한다.
도 2a는 예시적인 패턴(201) 및 예시적인 인스턴스(202)를 도시한다. 각각의 정점 또는 면은 인덱스에 의해 표시된다. 예를 들어, 패턴에 있어서의 면(240)은 인덱스(T6)에 의해 표시되고, 그 3개의 정점들은 인덱스들(V13, V12, 및 V14)에 의해 표시된다. 인스턴스에 있어서의 대응하는 면(245)은 인덱스(T20)에 의해 표시되고, 그 3개의 정점들은 인덱스들(V12, V8, 및 V3)에 의해 표시된다. 패턴과 인스턴스가 정렬될 때 서로 실질적으로 중첩하는 경우, 패턴에 있어서의 면 또는 정점은 인스턴스에 있어서의 면 또는 정점에 대응하고, 그 역도 성립함을 나타낸다. 대응하는 면들 또는 정점들에 대한 인덱스들은 패턴 및 인스턴스에 대해 상이함을 유의한다. 도 2b는 패턴(201) 및 인스턴스(202)에 대해 각각 예시적인 텍스처 이미지들(203 및 204)을 도시한다.
3D 모델은, 모든 정점 좌표들로 이루어지는 정점 테이블(V0, V1, V2, ...) 및 정점 테이블에서의 모든 삼각형의 정점 인덱스들로 이루어지는 삼각형 테이블(TO, T1, T2, ...)에 의해 표현될 수 있다. 더욱이, 각각의 정점 및 삼각형은 법선, 컬러, 및 텍스처 좌표와 같은 하나 이상의 특성들을 가질 수 있다. 이들 정점 특성들 및 삼각형 특성들은 대응하는 테이블에 있어서의 정점들 및 삼각형들에 첨부(attach)될 수도 있거나, 또는 정점/삼각형 테이블에서의 동일한 정점/삼각형 순서를 따르는 부가적인 정점/삼각형 특성 테이블들에 저장될 수도 있다.
표 1은 정점들, 텍스처 좌표들, 법선들, 및 면들에 대한 정의들을 포함하는 예시적인 3D 메시 파일을 도시한다.
Figure pct00001
표 1에 도시된 바와 같이, 텍스처 좌표 인덱스들은, 면을 정의할 경우에 텍스처 좌표들을 명시하기 위해 사용될 수 있다. 면 정의들의 블록에 있어서, 포맷은 정점 인덱스/텍스처 좌표 인덱스/법선 인덱스이다. 삼각형이 면을 표현하는데 사용될 경우, 각각의 면은 3-튜플의 텍스처 좌표 인덱스들을 갖는다. 이들 튜플들 모두가 리스트를 형성한다.
패턴과 인스턴스 간의 대응은 일대일 정점 대응에 기초할 수도 있으며, 이는 KD 트리 탐색과 같은 최근접 이웃 탐색 알고리즘에 의해 형성될 수 있다. 인스턴스 정점들 및 삼각형들의 특성들이 또한 반복적인 구조들에 기초하여 압축될 경우, 삼각형들 간의 대응이 또한 고려되어야 한다.
도 3a에 도시된 바와 같은 일 예에 있어서, 인스턴스 정점들과 패턴 정점들 간에 일대일 대응이 존재한다(Vpi는 Vii에 대응함). 하지만, 인스턴스 삼각형들과 패턴 삼각형들 간에는 일대일 대응이 존재하지 않는다. 삼각형들 간의 대응 없이, 패턴 특성들에 기초하여 인스턴스 삼각형 특성들을 압축하는 것은 어려울 수도 있다.
따라서, 인스턴스들과 대응하는 패턴들 간의 일대일 정점 대응 이외에, 일 인스턴스는 또한 대응하는 패턴과 일대일 삼각형 대응을 가질 것이며, 이는 일대일 정점 대응과 부합한다. 일 인스턴스의 모든 삼각형들은, 패턴이 인스턴스 컴포넌트와 정렬된 후 그 대응하는 패턴과 반대의 법선들을 가질 수 있으며, 이는 인스턴스 및 패턴이 서로에 대해 플립됨을 의미한다. 도 3b에 도시된 바와 같이, 삼각형(Tpi)은 Tii에 대응하지만, Tpi 및 Tii는 상이한 배향들(즉, 대향 법선들)을 갖는다.
패턴 및 인스턴스들이 반복적인 구조들에 대응함에 따라, 인스턴스들의 지오메트리 정보를 인코딩하기 위해 패턴의 지오메트리를 재사용하는 것이 가능할 수도 있다. 본 실시예들에 있어서는, 다른 특성들, 예를 들어, 텍스처 및 법선(이에 한정되지 않음) 간의 유사성을 추가로 조사한다. 패턴과 인스턴스들 간의 리던던시를 제거하기 위해, 인스턴스들을 인코딩하기 전에 인스턴스들의 표현을 전처리할 수도 있다.
도 4는 3D 모델을 인코딩하는 예시적인 방법(400)을 도시한다. 방법(400)에 있어서, 3D 모델 데이터(예를 들어, 지오메트리, 텍스처 좌표, 및 텍스처 이미지)가 단계 410에서 입력된다. 단계 420에서, 3D 모델 내의 컴포넌트들이 패턴들 및 인스턴스들로 편성된다. 단계 430에서, 패턴들과 인스턴스들 간의 정점 및 삼각형 대응들을 형성하고 인스턴스 컴포넌트들의 표현을 전처리한다. 후속적으로, 단계 440에서, 3D 모델이 인코딩된다. 구체적으로, 패턴들의 특성들은 인스턴스들을 인코딩하기 위해 재사용될 수 있다.
다음에서, 전처리하는 단계(430) 및 인코딩하는 단계(440)는 더 상세히 설명된다.
전처리
Figure pct00002
표 2는, 도 2a에 모두 도시된 패턴(201)과 인스턴스(202) 사이의 정점들과 삼각형들 간의 대응을 도시한다. 즉, 비록 패턴 및 인스턴스가 유사한 구조에 대응하더라도, 3D 메시 파일들에서의 그 표현들은 상이하다.
인스턴스의 텍스처를 인코딩하기 위해, 일 실시예에 있어서, 패턴의 지오메트리에 기초하여, 인스턴스의 초기 텍스처 이미지에 있어서 대응하는 삼각형들을 재배열함으로써 새로운 텍스처 이미지가 생성될 수 있다. 이러한 재배열 동안, 패턴의 텍스처 좌표들이 사용될 것이다. 즉, 매핑은 인스턴스의 텍스처 좌표들로부터 패턴의 텍스처 좌표들로의 변환으로부터 도출된다. 결과적으로, 인스턴스는, 텍스처 이미지를 제외하고, 패턴으로부터 텍스처 관련 데이터를 사용할 수도 있다.
다른 실시예에 있어서, 새로운 텍스처 이미지를 생성하지 않고도 텍스처 좌표들 및 인덱스들을 처리한다. 텍스처 좌표들은, 먼저, 패턴의 정점 및 삼각형 순서들에 따라 재순서화될 수도 있다. 일단 순수하게 지오메트릭 정보에 기초한 반복적인 구조가 식별되었으면, 이 정보는 텍스처 데이터를 처리하는데 사용될 수 있다.
재순서화의 예가 도 5a 내지 도 5c에 도시된다. 먼저, 패턴과 인스턴스 간의 정점 대응이, 예를 들어, 최근접 이웃 탐색에 의해 식별될 수도 있다. 일단 정점 대응을 알면, 삼각형 대응이 획득될 수 있다. 그 후, 모든 정점들 및 삼각형들에 대해 이 절차를 실시하고, 표 2에 도시된 바와 같은 대응 테이블을 획득한다. 정점 대응 및 삼각형 대응은 일대일이 될 필요가 있음을 유의한다. 예를 들어, 패턴(201)에서의 정점(210)(정점 인덱스(V13))은 인스턴스(202)에서의 정점(215)(정점 인덱스(V12))에 대응하고, 패턴에서의 면/삼각형(240)(면 인덱스(T6))은 인스턴스에서의 면/삼각형(245)(면 인덱스(T20))에 대응한다. 하나의 예시적인 실시예에 있어서, 패턴에서의 면(T6)은 T6: V12/TEX_12 V13/TEX_13 V14/TEX_14로서 기술되고, 인스턴스에서의 면(T20)은 T20: V3/TEX_3 V8/TEX_8 V12/TEX_12로서 기술된다. 정점 인덱스/텍스처 좌표 인덱스는 여기서 면을 표현하는데 사용됨을 유의한다(즉, 법선 인덱스는 도시되지 않는다).
도 5b 및 도 5c는, 각각, 조정 전후에 예시적인 텍스처 좌표들을 도시한다. 조정 전, 인스턴스에 대한 면 정의들은 인스턴스의 정점 인덱스들 및 삼각형 인덱스들에 기초한다. 조정 후, 인스턴스는 대응하는 패턴의 정점 인덱스들 및 삼각형의 순서를 사용한다. 결과적으로, T20: V3/TEX_3 V8/TEX_8 V12/TEX_12은 T6: V12/TEX_8 V13/TEX_12 V14/TEX_3으로 변경될 것이다. 따라서, 인스턴스에서의 면(245)에 대한 텍스처 좌표들은 (도 5b에 도시된 바와 같은) TEX_3, TEX_8, TEX_12로부터 (도 5c에 도시된 바와 같은) TEX_8, TEX_12, TEX_3로 된다. 컬러들 및 법선들과 같은 다른 특성들이 고려될 경우, 이들은 또한 유사한 방식으로 재순서화될 필요가 있다.
인코딩
전처리 이후, 패턴의 특성(예를 들어, 텍스처, 법선)이 인스턴스 특성을 효율적으로 인코딩하도록 사용될 수 있다. 일 실시예에 있어서, 본 원리들은 패턴 및 인스턴스의 텍스처들 간의 유사성을 검사한다. 패턴 및 인스턴스의 텍스처 좌표들이 동일하면, 즉, 인스턴스가 패턴과 동일한 텍스처를 사용하면, 어떠한 텍스처도 인스턴스를 위해 인코딩되지 않는다. 대신, 인스턴스를 재구성할 경우 패턴의 텍스처를 복사할 것을 디코더에게 통지하기 위해, 플래그가 비트스트림에 기입된다. 패턴 및 인스턴스들의 텍스처 좌표들이 상이하면, 텍스처 이미지들에서의 대응하는 영역들의 콘텐츠가 패턴과 인스턴스 사이에서 비교된다. 콘텐츠가 상이하면, 인스턴스의 텍스처 좌표가 인코딩된다. 콘텐츠가 동일하거나 거의 동일하면, 인스턴스에 대응하는 영역이 텍스처 이미지들로부터 제거되고, 디코더는, 인스턴스를 재구성할 경우에 패턴의 텍스처를 복사한다.
콘텐츠가 어느 정도 유사하면, 패턴과 인스턴스 간의 차이 이미지가 생성되고, 텍스처 이미지들에서의 인스턴스에 대응하는 영역이 차이 이미지로 대체되며, 차이 이미지를 인스턴스 텍스처에 부가함으로써, 인스턴스에 대한 텍스처를 생성할 것을 디코더에게 통지하기 위해, 플래그가 비트스트림에 기입된다. 결과적으로, 인스턴스의 텍스처는 텍스처 이미지의 리던던시를 활용하기 위해 패턴의 텍스처로부터 예측적으로 인코딩된다.
텍스처 특성에 부가하여, 인스턴스의 다른 특성들, 예를 들어, 법선들 및 컬러들(이에 한정되지 않음)은 대응하는 패턴 특성들과 동일하거나 유사할 수 있다. 텍스처와 유사하게, 인스턴스의 이들 특성들은 패턴의 특성들로부터 예측될 수 있으며, 그 특성들 대신 예측 에러들이 인코딩된다. 다음에서, 인스턴스를 인코딩할 경우 패턴과 인스턴스 간의 유사성을 어떻게 이용할 수 있는지를 예시하기 위해 텍스처를 일 예로서 사용한다.
텍스처 특성을 효율적으로 인코딩하기 위해, 4개의 텍스처 코딩 모드들이 텍스처 표현에 대해 정의된다:
모드 1: 패턴 및 인스턴스의 텍스처 좌표들이 동일하다. 이 모드에 있어서, 인스턴스의 텍스처 좌표들이나 텍스처 콘텐츠는 코딩되지 않는다.
모드 2: 패턴 및 인스턴스의 텍스처 좌표들은 상이하고 텍스처들의 콘텐츠는 동일하거나 거의 동일하다. 이 모드에 있어서, 인스턴스의 텍스처 좌표들은 코딩되지만 텍스처 콘텐츠는 스킵된다.
모드 3: 패턴 및 인스턴스의 텍스처 좌표들은 상이하고 텍스처들의 콘텐츠는 유사하다. 이 모드에 있어서, 인스턴스의 텍스처 좌표들은 코딩되고, 패턴과 인스턴스 간의 텍스처 차이가 코딩된다. 결과적으로, 압축은 패턴 텍스처로부터 인스턴스 텍스처를 예측하는 것으로부터 이점을 얻는다.
모드 4: 패턴 및 인스턴스의 텍스처 좌표들, 그리고 텍스처의 콘텐츠가 상이하다. 이 모드에 있어서, 인스턴스의 텍스처 좌표들 및 텍스처 콘텐츠는 정상적으로 코딩된다.
도 6a 및 도 6b는 토끼의 눈에 대응하는 3D 모델에 대한 텍스처 이미지의 부분들을 도시한다. 도 6a에서의 눈은 도 6b에서의 눈과 상당히 유사하며, 하나의 눈을 사용하여 다른 눈을 표현하는 것이 가능하다. 예시의 목적으로, 이들 2개의 눈들은 2개의 컴포넌트들(A 및 B)에 속한다고 가정하며, 여기서, 컴포넌트 B는 패턴 A의 인스턴스이고, 문제는 B의 텍스처가 A의 텍스처에 의해 표현될 수 있는지 여부를 판정하는 것이다.
B의 텍스처가 A의 텍스처에 의해 표현될 수 있는지 여부와 어떻게 표현될 수 있는지를 결정하기 위해, 컴포넌트들의 표면들 상의 모든 텍스처들을 비교하는 대신, 패치의 단위에서의 텍스처들을 비교한다. 패치는, 3D 모델 상의 인접한 삼각형들의 세트에 대응하는 텍스처 이미지 내의 영역이다. 패치는, 컴포넌트의 하나 이상의 삼각형들을 포함할 수 있다. 정확하게 얼마나 많은 삼각형들이 패치에 있는지는 입력 3D 모델에 의존할 수 있다.
도 7은, 인스턴스에 대한 텍스처 패치의 패턴에 대한 대응하는 텍스처 패치와의 유사성을 결정하는 예시적인 방법(700)을 도시한다. 방법(700)은 초기화 단계 705로 시작한다. 초기화 단계는 텍스처 이미지들을 다수의 패치들로 분할할 수도 있으며, 각각의 패치는 하나 이상의 컴포넌트들의 일부에 대응하며, 그 ID들이 기록될 수 있다. 방법(700)에 있어서는, 패치가 모든 인스턴스들에 대한 패턴과 동일하거나 거의 동일함을 나타내기 위해 "제거" 플래그를 사용하고, 패치가 패턴과 유사함을 나타내기 위해 "대체" 플래그를 사용한다. 초기화 단계에서, "제거" 및 "대체" 플래그들 양자는 0으로 설정된다.
단계 710에서, 패치가 패턴 또는 고유 컴포넌트의 일부의 텍스처를 표현하는지를 체크한다. 예이면, 제어는 종료 단계 799로 전달된다. 그렇지 않으면, 방법(700)은 텍스처 패치를 검사하도록 진행하며, 텍스처가 패치에 의해 (부분적으로) 표현되는 모든 인스턴스를 체크한다.
단계 720에서, 특정 매칭 기준, 예를 들어, 평균 제곱 오차(mean square error; MSE)를 사용하여 텍스처 패치를, 그 패턴에 의해 사용된 대응하는 패치와 비교한다. 단계 730에서, 인스턴스 텍스처와 패턴 텍스처 간의 상관(correlation)을 체크한다. 텍스처들이 고도로 상관되면(예를 들어, MSE<threshold0), 인스턴스 텍스처는 패턴 텍스트와 동일하거나 거의 동일한 것으로서 고려되고 또한 패턴 텍스처에 의해 표현될 수 있다. 그 후, 단계 750에서, "제거" 플래그는 1로 설정되고(즉, 패치는 제거되는 것으로서 태깅됨), 텍스처 좌표들은, 예를 들어, 인스턴스 텍스처와 패턴 텍스처 간의 상대적인 포지션에 따라 인스턴스의 텍스처 좌표들을 이동함으로써 업데이트될 수 있다. 텍스처가 적당히 상관되면(예를 들어, threshold0≤MSE<threshold1), 단계 740에서, 인스턴스가 오직 하나의 패치를 갖는지 여부를 체크한다. 아니오이면, 단계 770으로 진행한다. 그렇지 않으면, 단계 745에서, "대체" 플래그가 1인지 여부(즉, 패치가 대체되는 것으로서 태깅됨)를 체크한다. 예이면, 단계 770으로 진행한다. 그렇지 않으면, "대체" 플래그를 1로 설정하고 "제거" 플래그를 -1로 설정한다. 텍스처들 간의 상관이 낮으면(예를 들어, threshold1 ≤ MSE), 단계 770으로 진행한다.
단계 775에서, 텍스처 패치에 대응하는 더 많은 인스턴스들이 존재하는지 여부를 체크한다. 예이면, 제어는 720으로 리턴된다. 그렇지 않으면, 패치를 사용한 모든 인스턴스들이 종료될 경우, 단계 780에서, "대체" 플래그가 1인지 여부를 체크한다. 예이면, 패치는 패턴 텍스처와 인스턴스 텍스처 간의 차이로 대체된다(785). 그렇지 않으면, 제어는 종료 단계 799로 전달된다.
제거되는 것으로서 태깅된 패치에 대한 2개의 대안적인 동작들이 존재할 수 있다.
(1). 텍스처 패치가 텍스처 이미지들로부터 물리적으로 제거되고 텍스처 좌표들이 업데이트되고, 따라서, 더 작은 텍스처 이미지가 발생한다. 텍스처 이미지들로부터 일부 영역들을 제거함으로써, 텍스처 이미지들의 사이즈가 감소될 수 있고, 따라서, 텍스처 이미지들이 더 효율적으로 압축될 수 있다.
(2). 텍스처 패치의 콘텐츠가 공동화(void)되고, 예를 들어, 패치에서의 모든 픽셀은 특정 컬러값(예를 들어, 흑색 또는 회색)으로 설정된다.
개별 패치들이 처리된 이후, 예를 들어, 도 8에 도시된 방법(800)으로서, 인스턴스들에 대한 텍스처가 인코딩될 필요가 있는지 여부를 판정할 수 있다. 패치가 제거되거나 대체될 경우, 대응하는 텍스처 좌표들은 패턴의 텍스처 패치에 대한 값들로 업데이트된다.
인스턴스의 모든 텍스처 좌표들이 패턴과 동일하면(810), 단계 840에서, 모드 플래그를, 패턴 및 인스턴스가 텍스처들을 공유함을 나타내는 '00'(모드 1)으로 설정한다. 패치들의 일부가 차이로 대체되면(820), 단계 830에서, 모드 플래그를 '10'(모드 3)으로 설정한다. 그렇지 않으면, 단계 835에서, 모드 플래그를 '01'(모드들 2 및 4)로 설정한다. 단계 850에서, 모든 인스턴스들이 처리되었는지 여부를 체크한다. 단계 860에서, 임의의 패치가 1로 설정된 "제거" 플래그를 갖는지 여부를 체크한다. 예이면, 패치들은 텍스처 이미지에서 재배열되고, 전체 3D 모델의 텍스처 좌표들이 업데이트된다(870). 모드 플래그는 비트스트림에서 시그널링되고, 모드 플래그가 '00'이 아니면 텍스처 좌표들이 송신된다(880). 상이한 비트 스트링들이 모드를 나타내는데 사용될 수 있음을 유의한다.
도 9는 인스턴스들의 텍스처를 디코딩하는 예시적인 방법(900)을 도시한다. 각각의 인스턴스에 대해, 단계 910에서, 모드 플래그를 디코딩한다. 그 후, 방법(900)은 모드 플래그에 따라 진행한다(920).
모드 플래그가 '00'이면, 전체 인스턴스에 대한 패턴의 텍스처를 사용한다(940).
모드 플래그가 '01'이면, 단계 930에서 텍스처 좌표들을 디코딩하고, 단계 935에서, 디코딩된 텍스처 좌표들에 따라 텍스처 패치를 찾는다.
모드 플래그가 '10'이면, 단계 950에서 텍스처 좌표들을 디코딩하고, 단계 955에서, 텍스처 좌표들에 따라 텍스처 이미지를 복사한다. 그 후, 단계 960에서, 패턴으로부터 텍스처 이미지를 부가함으로써 인스턴스 텍스처를 업데이트한다. 방법(900)은 단계 999에서 종료한다.
도 10a는 입력으로서 사용된 예시적인 텍스처 이미지이고, 도 10b 및 도 10c는, 예를 들어, 방법들(700 및 800)을 사용하여 처리한 이후의 예시적인 텍스처 이미지들이다. 도 10b에 있어서, 제거되는 것으로 태깅된 패치들은 회색 블록들로 대체된다. 도 10c에 있어서, 제거되는 것으로 태깅된 패치들이 텍스처 이미지로부터 물리적으로 제거된다. 도 10b로부터 볼 수 있는 바와 같이, 제거된 텍스처 패치들에 대응하는 텍스처 이미지에 있어서의 다수의 회색 영역들이 존재한다. 도 10c에 있어서, 패치들이 재배열되고, 즉, 회색 패치들이 제거되고 나머지 텍스처 패치들이 함께 놓여서, 훨씬 더 작은 텍스처 이미지가 발생한다. 양자의 경우들에 있어서, 압축될 더 적은 정보가 존재하고, 따라서, 텍스처 이미지의 압축 효율을 개선할 수 있다.
표 3에 있어서, 예시적인 신택스 및 시맨틱들이 본 원리들을 위해 예시된다. 각각의 인스턴스에 대해, 그 텍스처의 압축 모드, 및 필요하다면 텍스처 좌표 데이터를 나타낸다.
Figure pct00003
compr_elem_insta_texture_header는 모드 플래그이다. 그 특정 의미가 표 4에 나타내어진다. "공유" 모드는 도 9에 있어서 모드 '00'에 대응하고, "no_pred" 모드는 도 9에 있어서 모드 '01'에 대응하며, "texture_residual" 모드는 도 9에 있어서 모드 '10'에 대응함을 유의한다.
Figure pct00004
compr_elem_insta_texcoord_data는 모드가 "no_pred" 또는 "texture_residual"이라면 정점들의 모든 텍스처 좌표들을 포함한다. 모드가 "공유"라면 널일 것이다.
도 11은 예시적인 3D 모델 인코더(1100)의 블록도를 도시한다. 일 실시예에 있어서, 방법들(700 및 800)은 인코더(1100)에서 사용될 수도 있다. 장치(1100)의 입력은 3D 모델, 3D 모델을 인코딩하기 위한 품질 파라미터, 및 다른 메타데이터를 포함할 수도 있다. 3D 모델은, 먼저, 반복적인 구조 발견 모듈(1110)을 통과하며, 이는 패턴들, 인스턴스들 및 고유 컴포넌트들의 관점에서 3D 모델을 출력한다. 패턴 인코더(1120)는 패턴들을 압축하는데 채용되고, 고유 컴포넌트 인코더(1150)는 고유 컴포넌트들을 인코딩하는데 채용된다. 인스턴스들에 대해, 인스턴스 컴포넌트 정보는 사용자 선택식 모드(user-selected mode)에 기초하여 인코딩된다. 인스턴스 정보 그룹 모드가 선택되면, 인스턴스 정보는 그룹화된 인스턴스 정보 인코더(1140)를 이용하여 인코딩되고; 그렇지 않으면, 요소적인 인스턴스 정보 인코더(1130)를 이용하여 인코딩된다. 인코딩된 컴포넌트들은 반복적인 구조 검증기(1160)에서 추가로 검증된다. 인코딩된 컴포넌트가 그 품질 요건을 충족하지 않으면, 고유 컴포넌트 인코더(1150)를 이용하여 인코딩될 것이다. 패턴들, 인스턴스들, 및 고유 컴포넌트들에 대한 비트스트림들은 비트스트림 어셈블러(1170)에서 어셈블된다.
도 12는 예시적인 3D 모델 디코더(1200)의 블록도를 도시한다. 일 실시예에 있어서, 방법(900)은 디코더(1200)에서 사용될 수도 있다. 장치(1200)의 입력은 3D 모델의 비트스트림, 예를 들어, 방법들(700 및 800)에 의해 생성된 비트스트림을 포함할 수도 있다. 압축된 비트스트림에서의 패턴들과 관련된 정보는 패턴 디코더(1220)에 의해 디코딩된다. 고유 컴포넌트들과 관련된 정보는 고유 컴포넌트 디코더(1250)에 의해 디코딩된다. 인스턴스 정보의 디코딩은 또한, 사용자 선택식 모드에 의존한다. 인스턴스 정보 그룹 모드가 선택되면, 인스턴스 정보는 그룹화된 인스턴스 정보 디코더(1240)를 이용하여 디코딩되고; 그렇지 않으면, 요소적인 인스턴스 정보 디코더(1230)를 이용하여 디코딩된다. 디코딩된 패턴들, 인스턴스 정보 및 고유 컴포넌트들은 모델 재구성 모듈(1260)에서 출력 디코딩된 3D 모델을 생성하기 위해 재구성된다.
이제, 도 13을 참조하면, 상기 설명된 특징들 및 원리들이 적용될 수도 있는 데이터 송신 시스템 또는 장치(1300)가 도시된다. 데이터 송신 시스템 또는 장치(1300)는, 예를 들어, 위성, 케이블, 전화 회선, 또는 지상 방송과 같은 다양한 미디어 중 임의의 미디어를 이용하여 신호를 송신하는, 예를 들어, 헤드-엔드 또는 송신 시스템일 수도 있다. 데이터 송신 시스템 또는 장치(1300)는 또한, 또는 대안적으로, 예를 들어, 저장을 위한 신호를 제공하도록 사용될 수도 있다. 송신은 인터넷 또는 일부 다른 네트워크를 거쳐서 제공될 수도 있다. 데이터 송신 시스템 또는 장치(1300)는, 예를 들어, 비디오 콘텐츠 및 예를 들어 3D 모델들과 같은 다른 콘텐츠를 생성 및 전달하는 것이 가능하다.
데이터 송신 시스템 또는 장치(1300)는 처리된 데이터 및 다른 정보를 프로세서(1301)로부터 수신한다. 일 구현에 있어서, 프로세서(1301)는 3D 모델들의 지오메트리 데이터를 처리하여 "패턴-인스턴스" 표현을 생성한다. 프로세서(1301)는 또한, 예를 들어, 패턴 ID 및 변환을 표시하는 메타데이터를 1300에 제공할 수도 있다.
데이터 송신 시스템 또는 장치(1300)는 인코더(1302), 및 인코딩된 신호를 송신하는 것이 가능한 송신기(1304)를 포함한다. 인코더(1302)는 프로세서(1301)로부터 데이터 정보를 수신한다. 인코더(1302)는 인코딩된 신호(들)를 생성한다.
인코더(1302)는, 예를 들어, 다양한 피스들의 정보를 저장 또는 송신을 위한 구조화된 포맷으로 수신 및 어셈블하는 어셈블리 유닛을 포함한 서브-모듈들을 포함할 수도 있다. 다양한 피스들의 정보는 예를 들어 코딩된 또는 코딩되지 않은 비디오, 및 예를 들어 서브스트림 길이 표시자 및 신택스 엘리먼트들과 같은 코딩된 또는 코딩되지 않은 엘리먼트들을 포함할 수도 있다. 일부 구현들에 있어서, 인코더(1302)는 프로세서(1301)를 포함하고, 따라서, 프로세서(1301)의 동작들을 수행한다.
송신기(1304)는 인코더(1302)로부터 인코딩된 신호(들)를 수신하고, 인코딩된 신호(들)를 하나 이상의 출력 신호들로 송신한다. 송신기(1304)는, 예를 들어, 인코딩된 화상들 및/또는 그와 관련된 정보를 표현하는 하나 이상의 비트스트림들을 갖는 프로그램 신호를 송신하도록 구성될 수 있다. 통상적인 송신기들은, 예를 들어, 에러 정정 코딩을 제공하는 것, 신호에 있어서 데이터를 인터리빙하는 것, 신호에 있어서 에너지를 랜덤화하는 것, 및 변조기(1306)를 이용하여 신호를 하나 이상의 캐리어들 상으로 변조하는 것 중 하나 이상과 같은 기능들을 수행한다. 송신기(1304)는 안테나(도시 안됨)를 포함하거나 안테나와 인터페이스할 수도 있다. 추가로, 송신기(1304)의 구현들은 변조기(1306)에 한정될 수도 있다.
데이터 송신 시스템 또는 장치(1300)는 또한 저장 유닛(1308)에 통신가능하게 연결된다. 일 구현에 있어서, 저장 유닛(1308)은 인코더(1302)에 연결되고, 인코더(1302)로부터의 인코딩된 비트스트림을 저장한다. 다른 구현에 있어서, 저장 유닛(1308)은 송신기(1304)에 연결되고, 송신기(1304)로부터의 비트스트림을 저장한다. 송신기(1304)로부터의 비트스트림은, 예를 들어, 송신기(1304)에 의해 추가로 처리되었던 하나 이상의 인코딩된 비트스트림들을 포함할 수도 있다. 상이한 구현들에 있어서, 저장 유닛(1308)은 표준 DVD, 블루-레이 디스크, 하드 드라이브, 또는 일부 다른 저장 디바이스 중 하나 이상이다.
이제, 도 14를 참조하면, 상기 설명된 특징들 및 원리들이 적용될 수도 있는 데이터 수신 시스템 또는 장치(1400)가 도시된다. 데이터 수신 시스템 또는 장치(1400)는, 예를 들어, 저장 디바이스, 위성, 케이블, 전화 회선, 또는 지상 방송과 같은 다양한 미디어를 거쳐서 신호들을 수신하도록 구성될 수 있다. 신호들은 인터넷 또는 일부 다른 네트워크를 거쳐서 수신될 수 있다.
데이터 수신 시스템 또는 장치(1400)는, 인코딩된 비디오를 수신하고 디스플레이(예를 들어, 사용자로의 디스플레이)를 위해, 처리를 위해, 또는 저장을 위해 예를 들어 디코딩된 비디오 신호를 제공하는 예를 들어, 휴대 전화, 컴퓨터, 셋탑 박스, 텔레비전, 또는 다른 디바이스일 수 있다. 따라서, 데이터 수신 시스템 또는 장치(1400)는 그 출력을, 예를 들어, 텔레비전의 스크린, 컴퓨터 모니터, (저장, 처리, 또는 디스플레이를 위한) 컴퓨터, 또는 일부 다른 저장, 처리, 또는 디스플레이 디바이스에 제공할 수도 있다.
데이터 수신 시스템 또는 장치(1400)는 데이터 정보를 수신 및 처리하는 것이 가능하고, 데이터 정보는 예를 들어 3D 모델들을 포함할 수 있다. 데이터 수신 시스템 또는 장치(1400)는, 예를 들어, 본 출원의 구현들에서 설명된 신호들과 같은 인코딩된 신호를 수신하는 수신기(1402)를 포함한다. 수신기(1402)는, 예를 들어, 3D 모델들 및/또는 텍스처 이미지들 중 하나 이상을 제공하는 신호, 또는 도 12의 데이터 송신 시스템(1200)으로부터 출력된 신호를 수신할 수도 있다.
수신기(1402)는, 예를 들어, 인코딩된 화상들을 표현하는 복수의 비트스트림들을 갖는 프로그램 신호를 수신하도록 구성될 수 있다. 통상적인 수신기들은, 예를 들어, 변조된 및 인코딩된 데이터 신호를 수신하는 것, 복조기(1404)를 이용하여 하나 이상의 캐리어들로부터 데이터 신호를 복조하는 것, 신호에 있어서 에너지를 랜덤화 해제(de-randomizing)하는 것, 신호에 있어서 데이터를 디인터리빙(de-interleaving)하는 것, 및 신호를 에러 정정 디코딩하는 것 중 하나 이상과 같은 기능들을 수행한다. 수신기(1402)는 안테나(도시 안됨)를 포함하거나 안테나와 인터페이스할 수도 있다. 수신기(1402)의 구현들은 복조기(1404)에 한정될 수 있다.
데이터 수신 시스템 또는 장치(1400)는 디코더(1406)를 포함한다. 수신기(1402)는 수신된 신호를 디코더(1406)에 제공한다. 수신기(1402)에 의해 디코더(1406)에 제공된 신호는 하나 이상의 인코딩된 비트스트림들을 포함할 수도 있다. 디코더(1406)는, 예를 들어, 비디오 정보를 포함하는 디코딩된 비디오 신호들과 같은 디코딩된 신호를 출력한다. 디코더(1406)는, 예를 들어, 도 12에서 기술된 디코더(1200)일 수도 있다.
데이터 수신 시스템 또는 장치(1400)는 또한 저장 유닛(1407)에 통신가능하게 연결된다. 일 구현에 있어서, 저장 유닛(1407)은 수신기(1402)에 연결되고, 수신기(1402)는 저장 유닛(1407)으로부터의 비트스트림에 액세스한다. 다른 구현에 있어서, 저장 유닛(1407)은 디코더(1406)에 연결되고, 디코더(1406)는 저장 유닛(1407)으로부터의 비트스트림에 액세스한다. 상이한 구현들에 있어서, 저장 유닛(1407)으로부터 액세스된 비트스트림은 하나 이상의 인코딩된 비트스트림들을 포함한다. 상이한 구현들에 있어서, 저장 유닛(1407)은 표준 DVD, 블루-레이 디스크, 하드 드라이브, 또는 일부 다른 저장 디바이스 중 하나 이상이다.
일 구현에 있어서, 디코더(1406)로부터의 출력 데이터는 프로세서(1408)에 제공된다. 일 구현에 있어서, 프로세서(1408)는 3D 모델 재구성을 수행하기 위해 구성된 프로세서이다. 일부 구현들에 있어서, 디코더(1406)는 프로세서(1408)를 포함하고, 따라서, 프로세서(1408)의 동작들을 수행한다. 다른 구현들에 있어서, 프로세서(1408)는, 예를 들어, 셋탑 박스 또는 텔레비전과 같은 다운스트림 디바이스의 부분이다.
따라서, 특정한 특징들 및 양태들을 갖는 하나 이상의 구현들을 제공한다. 특히, 3D 모델 인코딩 및 디코딩에 관한 수개의 구현들을 제공한다. 3D 모델 인코딩 및 디코딩은, 예를 들어, 비디오 게이밍, 가상 현실, 및 과학적 시각화와 같은 다양한 애플리케이션들을 허용할 수도 있다. 하지만, 이들 구현들 및 부가적인 애플리케이션들의 변형예들은 본 개시 내로 고려되며, 설명된 구현들의 특징들 및 양태들은 다른 구현들에 대해 적응될 수도 있다.
본 출원에서 설명된 수개의 구현들 및 특징들은 MPEG 3DGC 표준 및 그 확장물들의 컨텍스트에서 이용될 수도 있다. 부가적으로, 이들 구현들 및 특징들은 (기존의 또는 장래의)다른 표준의 컨텍스트에서, 또는 표준과 관련되지 않은 컨텍스트에서 이용될 수도 있다.
본 명세서에서 설명된 구현들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호에서 구현될 수도 있다. 단일 형태의 구현의 컨텍스트에서만 논의되더라도(예를 들어, 오직 방법으로서만 논의되더라도), 논의된 특징들의 구현은 또한 다른 형태들(예를 들어, 장치 또는 프로그램)에서 구현될 수도 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어에서 구현될 수도 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래머블 로직 디바이스를 포함하여, 일반적으로 처리 디바이스들을 지칭하는 예를 들어 프로세서와 같은 장치에서 예를 들어 구현될 수도 있다. 프로세서들은 또한, 예를 들어, 컴퓨터들, 휴대 전화들, 휴대용/개인용 디지털 보조기들("PDAs"), 및 최종 사용자들 간의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
본 원리들의 "일 실시예" 또는 "실시예" 또는 "일 구현" 또는 "구현"뿐 아니라 그의 다른 변형예들에 대한 참조는 실시예와 관련하여 설명된 특정한 특징, 구조, 특성 등이 본 원리들의 적어도 하나의 실시예에 포함됨을 의미한다. 따라서, 본 명세서 전반에 걸친 다양한 곳에서 나타나는 어구 "일 실시예에 있어서" 또는 "실시예에 있어서" 또는 "일 구현에 있어서" 또는 "구현에 있어서"뿐 아니라 임의의 다른 변형예들의 출현은 반드시 모두 동일한 실시예를 참조하는 것은 아니다.
부가적으로, 본 출원 또는 그 청구항은 다양한 피스들의 정보를 "결정하는" 것을 참조할 수도 있다. 정보를 결정하는 것은, 예를 들어, 정보를 추정하는 것, 정보를 산출하는 것, 정보를 예측하는 것, 또는 메모리로부터 정보를 검색하는 것 중 하나 이상을 포함할 수도 있다.
추가로, 본 출원 또는 그 청구항은 다양한 피스들의 정보에 "액세스하는" 것을 참조할 수도 있다. 정보에 액세스하는 것은, 예를 들어, 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 처리하는 것, 정보를 송신하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 삭제하는 것, 정보를 산출하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수도 있다.
부가적으로, 본 출원 또는 그 청구항은 다양한 피스들의 정보를 "수신하는" 것을 참조할 수도 있다. 수신하는 것은, "액세스하는 것"과 함께, 넓은 용어인 것으로 의도된다. 정보를 수신하는 것은, 예를 들어, 정보에 액세스하는 것 또는 (예를 들어, 메모리로부터) 정보를 검색하는 것 중 하나 이상을 포함할 수도 있다. 추가로, "수신하는 것"은, 예를 들어, 정보를 저장하는 것, 정보를 처리하는 것, 정보를 송신하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 삭제하는 것, 정보를 산출하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것과 같은 동작들 동안 하나의 방식 또는 다른 방식에서 통상적으로 관련된다.
당업자에게 명백한 바와 같이, 구현들은, 예를 들어, 저장되거나 송신될 수도 있는 정보를 반송하도록 포맷팅된 다양한 신호들을 생성할 수도 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령들, 또는 설명된 구현들 중 하나에 의해 생성된 데이터를 포함할 수도 있다. 예를 들어, 신호는 설명된 실시예의 비트스트림을 반송하기 위해 포맷팅될 수도 있다. 그러한 신호는, 예를 들어, (예를 들어, 스펙트럼의 무선 주파수 부분을 사용하는)전자기파로서 또는 기저대역 신호로서 포맷팅될 수도 있다. 포맷팅은, 예를 들어, 데이터 스트림을 인코딩하는 것 및 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수도 있다. 신호가 반송하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수도 있다. 공지된 바와 같이, 신호는 다양한 서로 다른 유선 또는 무선 링크들을 거쳐서 송신될 수도 있다. 신호는 프로세서 판독가능 매체 상에 저장될 수도 있다.

Claims (14)

  1. 3D 모델을 나타내는 비트스트림을 디코딩하는 방법으로서,
    패턴의 인스턴스(instance)가 상기 패턴의 특성을 사용하는지 여부를 상기 비트스트림으로부터 결정하는 단계(910) - 상기 패턴은 상기 3D 모델의 구조와 연관되고 상기 인스턴스는 상기 패턴의 변환(transformation)으로서 표현됨 -; 및
    상기 패턴의 특성에 응답하여 상기 인스턴스의 특성을 결정하는 단계(935, 960)
    를 포함하며,
    상기 인스턴스의 특성은 텍스처, 텍스처 좌표(texture coordinate), 컬러(color), 및 법선(normal) 중 하나에 대응하는, 3D 모델을 나타내는 비트스트림을 디코딩하는 방법.
  2. 제1항에 있어서,
    상기 인스턴스의 특성과 상기 패턴의 특성 간의 차이를 상기 비트스트림으로부터 결정하는 단계(955)를 더 포함하고,
    상기 인스턴스의 특성을 결정하는 단계는, 추가로, 상기 인스턴스의 특성과 상기 패턴의 특성 간의 상기 결정된 차이에 응답하는, 3D 모델을 나타내는 비트스트림을 디코딩하는 방법.
  3. 3D 모델을 나타내는 비트스트림을 생성하는 방법으로서,
    패턴의 인스턴스에 액세스하는 단계 - 상기 패턴은 상기 3D 모델의 구조와 연관되고 상기 인스턴스는 상기 패턴의 변환으로서 표현됨 -; 및
    상기 인스턴스의 특성이 상기 패턴의 특성을 이용하여 인코딩되는지 여부를 상기 비트스트림에 표시하는 단계(830, 835, 840)
    를 포함하며,
    상기 인스턴스의 특성은 텍스처, 텍스처 좌표, 컬러, 및 법선 중 하나에 대응하는, 3D 모델을 나타내는 비트스트림을 생성하는 방법.
  4. 제3항에 있어서,
    상기 인스턴스의 특성과 상기 패턴의 특성 간의 차이를 결정하는 단계(785); 및
    상기 인스턴스의 특성과 상기 패턴의 특성 간의 차이를 상기 비트스트림에 표시하는 단계를 더 포함하는, 3D 모델을 나타내는 비트스트림을 생성하는 방법.
  5. 제3항에 있어서,
    상기 텍스처에 대응하는 상기 인스턴스의 특성은,
    상기 인스턴스의 텍스처 패치(texture patch)와 상기 패턴의 대응하는 텍스처 패치 간의 상관(correlation)을 결정하는 단계(730); 및
    상기 인스턴스의 텍스처 패치가 상기 패턴의 대응하는 텍스처 패치를 이용하여 인코딩될지 여부를 결정하는 단계를 더 포함하는, 3D 모델을 나타내는 비트스트림을 생성하는 방법.
  6. 제5항에 있어서,
    상기 인스턴스의 텍스처 패치는, 상기 인스턴스의 텍스처 패치가 상기 패턴의 대응하는 텍스처 패치와 동일하거나 거의 동일한 것으로 결정되면 텍스처 이미지로부터 제거되는, 3D 모델을 나타내는 비트스트림을 생성하는 방법.
  7. 제5항에 있어서,
    상기 인스턴스의 텍스처 패치의 콘텐츠는, 상기 인스턴스의 텍스처 패치가 상기 패턴의 대응하는 텍스처 패치와 동일하거나 거의 동일한 것으로 결정되면 공동화(void)되는, 3D 모델을 나타내는 비트스트림을 생성하는 방법.
  8. 제5항에 있어서,
    상기 인스턴스의 텍스처 패치는, 상기 3D 모델 상의 인접한 삼각형들의 세트에 대응하는 텍스처 이미지 내의 영역인, 3D 모델을 나타내는 비트스트림을 생성하는 방법.
  9. 3D 모델을 나타내는 비트스트림을 생성하는 방법으로서,
    구조와 연관된 패턴에 있어서 제1면에서의 정점들의 순서를 결정하는 단계;
    복수의 특성 세트들에 액세스하는 단계 - 상기 복수의 특성 세트들 중 각각의 특성 세트는 상기 패턴의 인스턴스에 있어서 제2면에서의 대응하는 정점과 연관됨 -; 및
    상기 결정된 순서에 응답하여 상기 복수의 특성 세트들을 순서화하는 단계(430)
    를 포함하는, 3D 모델을 나타내는 비트스트림을 생성하는 방법.
  10. 제9항에 있어서,
    상기 패턴에서의 상기 제1면에 대응하는 상기 인스턴스에서의 상기 제2면을 결정하는 단계(430)를 더 포함하는, 3D 모델을 나타내는 비트스트림을 생성하는 방법.
  11. 제9항에 있어서,
    제1의 상기 복수의 특성 세트들 중 각각의 특성 세트는 텍스처 좌표, 텍스처 이미지, 컬러, 및 법선 중 적어도 하나를 포함하는, 3D 모델을 나타내는 비트스트림을 생성하는 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 따라 비트스트림을 생성하거나 디코딩하는 수단을 포함하는, 장치.
  13. 제1항 내지 제11항 중 어느 한 항에 따라 비트스트림을 생성하거나 디코딩하기 위한 명령들이 저장된, 컴퓨터 판독가능 저장 매체.
  14. 제3항 내지 제11항 중 어느 한 항에 따라 생성된 비트스트림이 저장된, 컴퓨터 판독가능 저장 매체.
KR1020147019905A 2012-01-21 2012-12-29 3차원 (3d) 모델들의 텍스처 정보를 압축하는 방법 및 장치 KR20140116114A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CNPCT/CN2012/070703 2012-01-21
CN2012070703 2012-01-21
CN2012074356 2012-04-19
CNPCT/CN2012/074356 2012-04-19
PCT/CN2012/087935 WO2013107273A1 (en) 2012-01-21 2012-12-29 Method and apparatus for compressing texture information of three-dimensional (3d) models

Publications (1)

Publication Number Publication Date
KR20140116114A true KR20140116114A (ko) 2014-10-01

Family

ID=48798603

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147019905A KR20140116114A (ko) 2012-01-21 2012-12-29 3차원 (3d) 모델들의 텍스처 정보를 압축하는 방법 및 장치

Country Status (5)

Country Link
US (1) US9979948B2 (ko)
EP (1) EP2805307B1 (ko)
JP (1) JP2015512072A (ko)
KR (1) KR20140116114A (ko)
WO (1) WO2013107273A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2530103B (en) * 2014-09-15 2018-10-17 Samsung Electronics Co Ltd Rendering geometric shapes
EP3018630A3 (en) * 2014-09-15 2018-05-16 Samsung Electronics Co., Ltd. Display method and apparatus for rendering repeated geometric shapes
CN105894551B (zh) * 2016-03-31 2020-02-14 百度在线网络技术(北京)有限公司 图像绘制方法及装置
GB2560319B (en) 2017-03-06 2020-09-02 Canon Kk Improved encoding and decoding of texture mapping data in textured 3D mesh models
US11818401B2 (en) 2017-09-14 2023-11-14 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US11113845B2 (en) 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
JP7182863B2 (ja) 2017-11-02 2022-12-05 キヤノン株式会社 情報生成装置、情報処理装置、制御方法、プログラム、及びデータ構造
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US11017566B1 (en) 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
US11202098B2 (en) 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
US11367224B2 (en) 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
US11823421B2 (en) * 2019-03-14 2023-11-21 Nokia Technologies Oy Signalling of metadata for volumetric video
US11711544B2 (en) 2019-07-02 2023-07-25 Apple Inc. Point cloud compression with supplemental information messages
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
US11798196B2 (en) * 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes
US11742877B2 (en) * 2021-03-31 2023-08-29 DRIC Software, Inc. File compression system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1023406A (ja) 1996-07-05 1998-01-23 Matsushita Electric Ind Co Ltd 基準化可能な輪郭符号化における2方向頂点予測方法
US6148026A (en) * 1997-01-08 2000-11-14 At&T Corp. Mesh node coding to enable object based functionalities within a motion compensated transform video coder
US6668091B1 (en) 1998-10-02 2003-12-23 Samsung Electronics Co., Ltd. 3D mesh coding/decoding method
JP4758013B2 (ja) 2000-03-14 2011-08-24 三星電子株式会社 三次元シーンのノード処理方法及びその装置
US7606435B1 (en) 2002-02-21 2009-10-20 At&T Intellectual Property Ii, L.P. System and method for encoding and decoding using texture replacement
US7145562B2 (en) 2004-05-03 2006-12-05 Microsoft Corporation Integration of three dimensional scene hierarchy into two dimensional compositing system
KR100747489B1 (ko) 2005-04-13 2007-08-08 한국전자통신연구원 3차원 메쉬 정보의 부호화/복호화 방법 및 장치
KR101334173B1 (ko) 2006-01-11 2013-11-28 삼성전자주식회사 그래픽 데이터 부호화 및 복호화 방법과 장치
US7853092B2 (en) 2007-01-11 2010-12-14 Telefonaktiebolaget Lm Ericsson (Publ) Feature block compression/decompression
WO2010149492A1 (en) * 2009-06-23 2010-12-29 Thomson Licensing Compression of 3d meshes with repeated patterns
CN101626509B (zh) 2009-08-10 2011-02-02 北京工业大学 三维网格编码、解码方法及编码、解码装置
KR101637624B1 (ko) 2009-10-15 2016-07-07 톰슨 라이센싱 메시 모델을 인코딩하는 방법 및 장치, 인코딩된 메시 모델, 그리고 메시 모델을 디코딩하는 방법 및 장치
WO2011088595A1 (en) 2010-01-25 2011-07-28 Thomson Licensing Method for encoding normals of a 3d mesh model, method for decoding normals of a 3d mesh model, encoder and decoder
WO2012000132A1 (en) 2010-06-30 2012-01-05 Thomson Broadband R & D (Beijing) Co., Ltd. Method and apparatus for detecting repetitive structures in 3d mesh models
US8736603B2 (en) * 2011-11-02 2014-05-27 Visual Technology Services Limited Compression of texture rendered wire mesh models

Also Published As

Publication number Publication date
JP2015512072A (ja) 2015-04-23
WO2013107273A1 (en) 2013-07-25
US9979948B2 (en) 2018-05-22
EP2805307A1 (en) 2014-11-26
EP2805307B1 (en) 2024-04-24
US20140334717A1 (en) 2014-11-13
EP2805307A4 (en) 2016-07-06

Similar Documents

Publication Publication Date Title
US9979948B2 (en) Method and apparatus for compressing texture information of three-dimensional (3D) models
JP5981566B2 (ja) 3dモデルを表現するビットストリームを処理するための方法及び装置
CN111512342A (zh) 在点云压缩中处理重复点的方法和装置
JP2015504545A (ja) 予測位置符号化
KR102014309B1 (ko) 종결가능한 공간 트리-기반의 위치 코딩 및 디코딩
KR102645508B1 (ko) Haar 기반 포인트 클라우드 코딩을 위한 방법 및 장치
KR20210136082A (ko) 포인트 클라우드 속성 코딩을 위한 채널간 예측 및 변환을 위한 기술들 및 장치
US20150237323A1 (en) 3d video representation using information embedding
CN104094317A (zh) 用于压缩三维模型的纹理信息的方法及装置
CN114598883A (zh) 点云属性的预测方法、编码器、解码器及存储介质
CN116636214A (zh) 点云编解码方法与系统、及点云编码器与点云解码器
US20220191544A1 (en) Radiative Transfer Signalling For Immersive Video
US20220239946A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
KR101958844B1 (ko) 3d 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법 및 장치
US20240135594A1 (en) Adaptive geometry filtering for mesh compression
US20230040484A1 (en) Fast patch generation for video based point cloud coding
US20230319293A1 (en) Triangulation methods with boundary information for dynamic mesh compression
WO2024081393A1 (en) Adaptive geometry filtering for mesh compression
CN116438797A (zh) 点云编解码方法与系统、及点云编码器与点云解码器
CN115914651A (zh) 点云编解码方法、装置、设备及存储介质
CN115733990A (zh) 点云编解码方法、设备及存储介质

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid