KR101986282B1 - 반복 구조 검색 기반의 3d 모델 압축을 위한 방법 및 장치 - Google Patents
반복 구조 검색 기반의 3d 모델 압축을 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR101986282B1 KR101986282B1 KR1020147029076A KR20147029076A KR101986282B1 KR 101986282 B1 KR101986282 B1 KR 101986282B1 KR 1020147029076 A KR1020147029076 A KR 1020147029076A KR 20147029076 A KR20147029076 A KR 20147029076A KR 101986282 B1 KR101986282 B1 KR 101986282B1
- Authority
- KR
- South Korea
- Prior art keywords
- instance
- pattern
- scale
- model
- quantization
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Processing Or Creating Images (AREA)
Abstract
3D 모델은 “패턴-인스턴스”표현을 사용하여 모델링될 수 있으며, 여기서, 인스턴스 성분은 패턴의 변환(예를 들면, 회전, 변형, 및 스케일링)으로서 표현될 수 있다. 압축 효율을 향상시키기 위하여, 인스턴스의 변환을 위한 회전 부분 및 변형 부분의 양자화 파라미터는 해당하는 패턴을 엔코딩하기 위해 사용되는 양자화 파라미터에 기초하여 결정될 수 있다. 구체적으로, 회전 부분에 대한 양자화 파라미터는 인스턴스의 사이즈에 의존할 수 있고, 변형 부분에 대한 양자화 파라미터는 변형의 스케일에 의존할 수 있다. 즉, 큰 인스턴스는 회전 부분에 대한 미세한 양자화 파라미터를 사용할 수 있다. 따라서, 패턴, 변환의 변형 부분, 및 변환의 회전 부분을 압축함으로써 야기되는 양자화 에러들이 유사한 레벨에 있도록, 양자화 파라미터가 결정된다.
Description
본 출원은 본 명세서에 참고로서 포함되어 있는 2012년 4월 19일자로 출원된 국제 특허 출원 번호 PCT/CN2012/074388의 이익을 주장한다.
본 발명은 3D 모델을 표현하는 비트스트림을 생성하기 위한 방법 및 장치와, 그 비트스트림을 디코딩하기 위한 방법 및 장치에 관한 것이다.
실제 응용에 있어서, 많은 3D 모델은 다수의 접속된 성분들로 구성된다. 이러한 다중 성분 3D 모델은, 도 1에 도시된 것처럼, 다양한 변환으로 많은 반복 구조를 일반적으로 포함한다.
입력 모델에 있어 반복 구조의 장점을 이용하는 다중-성분 3D 모델에 대한 효율적인 압축 알고리즘은 공지되어 있다. 3D 모델의 반복 구조는 다양한 위치, 방향, 및 스케일링 요소에서 발견된다. 이때, 3D 모델은 "패턴-인스턴스" 표현으로 구성된다. 패턴은 해당하는 반복 구조의 대표적인 형상을 나타내기 위해 사용된다. 반복 구조에 속하는 성분은 해당하는 패턴의 인스턴스로서 표시되고, 패턴 ID와, 예를 들어, 패턴에 대해서 반영, 변형, 회전 및 가능한 스케일링과 같은 변환 정보에 의해 표현될 수 있다. 인스턴스 변환 정보는 예를 들어, 반영 부분, 변형 부분, 회전 부분, 및 가능한 스케일링 부분으로 구성될 수 있다. 고유 성분으로서 지칭되는 반복되지 않는 3D 모델의 일부 성분이 있을 수 있다.
구체적으로 본 명세서에서 참고로서 포함되어 있고, K. Cai, W. Jiang, 및 T. Luo(PCT/CN2012/070877, 대리인 문서 번호 PA120001)에 의한 명칭이 "에러 제어 가능한 반복 구조 검색 기반 압축을 위한 시스템 및 방법"인 공동 소유의 PCT 출원은 인스턴스 성분들 간의 중복을 줄이고, 따라서, 압축 효율을 개선하기 위하여 3D 모델에서의 반복 구조를 식별하기 위한 방법 및 장치를 개시한다.
본 발명은 3D 엔코더의 레이트-왜곡 성능을 고려하여 3D 인스턴스 성분에 대한 변환 정보를 효율적으로 양자화하기 위한 방법 및 장치를 제공하기 위한 것이다.
본 발명은 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법을 제공하며, 이 방법은, 3D 모델과 연관된 패턴을 엔코딩하기 위해 사용되는 제 1 양자화 파라미터를 액세스하는 단계, 패턴의 인스턴스의 스케일과 패턴의 스케일을 결정하는 단계로서, 인스턴스는 패턴의 변환으로서 표현되는, 스케일을 결정하는 단계, 제 1 양자화 파라미터, 인스턴스의 스케일, 및 패턴의 스케일에 따라 인스턴스에 대한 변환의 회전 부분의 제 2 양자화 파라미터를 결정하는 단계, 및 아래에 설명되는 제 2 양자화 파라미터에 따라 인스턴스에 대한 변환의 회전 부분의 엔코딩 또는 디코딩을 수행하는 단계를 포함한다. 본 발명은 또한 그 단계들을 수행하기 위한 장치를 제공한다.
또한, 본 발명은 상술한 방법에 따른 비트스트림을 생성 또는 디코딩하기 위한 명령어가 저장된 컴퓨터 판독 가능한 저장 매체를 제공한다.
또한, 본 발명은 상술한 방법에 따라 생성된 비트스트림이 저장된 컴퓨터 판독 가능한 저장 매체를 제공한다.
본 발명에 따라, 3D 엔코더의 레이트-왜곡 성능을 고려하여 3D 인스턴스 성분에 대한 변환 정보를 효율적으로 양자화하기 위한 방법 및 장치를 제공한다.
도 1은 많은 접속 성분들과 반복 구조를 갖는 예시적인 3D 모델을 도시한 도면,
도 2a는 패턴을 묘사하는 그림을 이용한 예를 도시한 도면,
도 2b는 해당하는 인스턴스 및 재구성된 인스턴스를 묘사하는 그림을 이용한 예를 도시한 도면,
도 2c는 해당하는 인스턴스와, 회전 파라미터의 재구성 오류를 갖는 인스턴스를 묘사하는 그림을 이용한 예를 도시한 도면,
도 3은 본 발명의 실시예에 따라, 3D 모델의 패턴 및 인스턴스를 엔코딩하기 위한 예를 도시하는 흐름도,
도 4는 본 발명의 실시예에 따라, 3D 모델의 패턴 및 인스턴스를 디코딩하기 위한 예를 도시하는 흐름도,
도 5는 본 발명의 실시예에 따른 3D 모델의 예시적인 엔코더를 도시한 도면,
도 6은 본 발명의 실시예에 따른 3D 모델의 예시적인 디코더를 도시한 도면, 및
도 7은 본 발명의 실시예에 따라, 비트스트림 구조를 묘사한 예를 도시한 도면.
도 2a는 패턴을 묘사하는 그림을 이용한 예를 도시한 도면,
도 2b는 해당하는 인스턴스 및 재구성된 인스턴스를 묘사하는 그림을 이용한 예를 도시한 도면,
도 2c는 해당하는 인스턴스와, 회전 파라미터의 재구성 오류를 갖는 인스턴스를 묘사하는 그림을 이용한 예를 도시한 도면,
도 3은 본 발명의 실시예에 따라, 3D 모델의 패턴 및 인스턴스를 엔코딩하기 위한 예를 도시하는 흐름도,
도 4는 본 발명의 실시예에 따라, 3D 모델의 패턴 및 인스턴스를 디코딩하기 위한 예를 도시하는 흐름도,
도 5는 본 발명의 실시예에 따른 3D 모델의 예시적인 엔코더를 도시한 도면,
도 6은 본 발명의 실시예에 따른 3D 모델의 예시적인 디코더를 도시한 도면, 및
도 7은 본 발명의 실시예에 따라, 비트스트림 구조를 묘사한 예를 도시한 도면.
도 1에 도시된 것처럼, 3D 모델의 많은 반복 구조가 있을 수 있다. 3D 모델을 효율적으로 엔코딩하기 위하여, 반복 구조는 패턴 및 인스턴스로 구성될 수 있는데, 여기서, 인스턴스는, 예를 들어 변형, 회전, 및 스케일링과 같은 정보를 포함하는 패턴 ID 및 변환 매트릭스를 사용하여, 해당 패턴의 변환으로서 표현될 수 있다.
인스턴스가 패턴 ID 및 변환 매트릭스로 표현될 때, 패턴 ID 및 변환 매트릭스는 인스턴스를 압축할 때 압축되어야 한다. 따라서, 인스턴스는 패턴 ID 및 디코딩된 변환 매트릭스를 통해 재구성될 수 있는데, 즉, 인스턴스는 패턴 ID에 의해 색인된 디코딩된 패턴의 변환(디코딩된 변환 매트릭스로부터)으로서 재구성될 수 있다.
도 2a 및 도 2b는 2D 표현에서 예시적인 성분을 도시하며, 여기서, 성분(210 및 220)은 패턴이며, 성분(230 및 250)(실선)은 압축될 원래의 인스턴스이고, 성분(240 및 260)(점선)은 재구성된 인스턴스이다. 특히, 인스턴스(230 및 250)는 패턴(210 및 220)의 변환(즉, 회전 및 변형)된 버전으로서 각각 표현될 수 있다. 도 2b에 있어서, 원래의 인스턴스와 재구성된 인스턴스 사이에는, 변형 및 회전 양자화 모두에 의해 야기되는 에러가 존재한다. 예시의 목적으로, 도 2c에는 단지 회전 에러를 갖는 인스턴스(270 및 280)를 제공한다.
도 2c의 예에 있어서. 회전의 양자화는, 원래 인스턴스와 재구성된 인스턴스 사이의 차이를 일으키는 약 5°의 에러를 도입한다. 도 2c에서 알 수 있는 것처럼, 회전 에러(각도 측정으로)는 인스턴스(230 및 250)에 대해서 유사하지만, 회전 양자화에 의해 야기된 정점 좌표 에러(즉, 정점 변화, 예를 들어, 도 2c에서 A에서 A"까지, 그리고, B에서 B"까지, 원래의 인스턴스와 재구성된 인스턴스 사이)는 두 인스턴스 사이에서 상당히 변화하고, 인스턴스(250)는 훨씬 더 큰 정점 좌표 에러를 갖는다. 결과적으로, 동일한 양자화가 다양한 사이즈를 갖는 인스턴스에 대해 사용된다면, 재구성된 성분의 품질은 일치하지 않을 수 있는데, 예를 들어, 큰 인스턴스는 작은 인스턴스보다 낮은 재구성 품질을 가질 수 있다.
본 발명은 3D 엔코더의 레이트-왜곡 성능을 고려하여 3D 인스턴스 성분에 대한 변환 정보를 효율적으로 양자화하기 위한 방법 및 장치를 제공한다. 한 예시적인 실시예에 있어서, 최대 허용 왜곡을 고려하여, 인스턴스의 회전 부분 및 변형 부분에 대한 양자화 파라미터가 결정되어, 레이트-왜곡 성능이 향상된다. 이하, 양자화 비트의 수가 예시적인 양자화 파라미터로서 사용된다. 본 발명은 양자화 스텝 사이즈와 같은 다른 양자화 파라미터가 사용될 때 적용될 수 있다.
변환의 스케일링 부분이 무손실(lossless) 부동 소수점 코덱에 의해 압축될 수 있기 때문에, 변환의 스케일링 부분은 다음 설명에 포함되지 않는다.
발견된 "패턴-인스턴스" 표현에 기초하여, 원래의 인스턴스의 정점(v)은 다음 수학식 1로 표현될 수 있고,
여기서, p는 해당 패턴의 v의 해당 정점이고, R 및 T는 각각 패턴과 인스턴스 사이의 회전 매트릭스 및 변형 벡터이다.
v, vd의 디코딩된 위치는 다음 수학식 2로서 계산될 수 있고,
여기서, pd는 p의 디코딩된 위치이고, Rd 및 Td는 각각 디코딩된 회전 매트릭스 및 디코딩 변형 벡터이다.
이때, 정점(v)에 대한 압축에 의한 왜곡은 다음과 같이 계산될 수 있다.
수학적 이론에 기초하여, 다음이 유추될 수 있고,
회전 매트릭스가 양자화 비트의 동일한 수를 사용하여 양자화될 수 있는 Eular 각도(α, β, γ)에 의해 표현된다고 가정하면,
이며, 여기서, 는 α, β 및 γ에 대한 양자화 에러의 상한이다. 수학식 5는 다른 표현 또는 상이한 양자화 파라미터가 각도(α, β, γ)에 사용될 때 적응될 수 있다. 수학식 5를 사용하여, 수학식 4는 다음과 같이 되며,
QB_Pattern으로서 패턴을 엔코딩하기 위해 사용된 양자화 비트의 수를 나타내고, QB_Translation으로서 변형을 엔코딩하기 위한 양자화 비트의 수를 나타낸다면, 는 다음과 같이 계산될 수 있다.
여기서, Pattern_Scal 및 Translation_Scal는 각각 패턴 정점 및 변형의 경계 박스의 스케일이다. 한 예에서, Translation_Scal은 모든 인스턴스의 모든 변형의 최대 및 최소 가능 값들 사이의 차이로서 측정될 수 있고, Pattern_Scal은 모든 패턴을 포함하는 경계 박스의 대각선 거리로서 측정될 수 있다. 다른 예에 있어서, Pattern_Scal은 x, y, 및 z 치수의 최대값으로서 측정될 수 있다.
본 발명의 목표 중 하나는 최대 코딩 에러를 제어하면서 비트를 할당하기 위한 것이다. 최대 허용 코딩 에러가 MaxErr이고, 수학식 6은 다음의 부등식을 만족한다고 가정한다.
한 실시예에 있어서, 단순화를 위해, 모든 패턴은 양자화 비트의 동일 수를 사용하고, 모든 인스턴스 변형은 양자화 비트의 동일 수를 사용한다고 가정한다. 따라서, 패턴에 대한 양자화 에러는 다음을 만족하고,
인스턴스 변형에 대한 양자화 에러는 다음을 만족할 수 있다.
양자화 에러에 대한 상한이 수학식 8 및 수학식 9에서 추정된 이후에, 패턴 정점 및 인스턴스 변형의 경계 박스의 스케일에 기초하여 양자화 비트의 수를 추정할 수 있다.
한 단순화된 예시적인 실시예에 있어서, 두 상한이 동일하고, 따라서, 수학식 8 및 수학식 9에 따라, 인스턴스 변형이 패턴과 동일한 양자화 비트의 수를 사용할 수 있다고 가정한다.
다른 예시적인 실시예에 있어서, 패턴의 경계 박스와 인스턴스의 경계 박스 사이의 스케일 차이가 고려된다. 임을 가정하면, 변형 부분에 대한 양자화 비트 수가 다음과 같이 계산될 수 있다.
파라미터 Translation_Scal는 비트스트림에 전송될 수 있고, 엔코더 및 디코더 모두에서 사용할 수 있게 되어, 수학식 10은 엔코더 및 디코더 모두에서 사용될 수 있다. 수학식 10에 따라, 모든 인스턴스 변형은 패턴의 스케일과 인스턴스 변형 사이의 비율에 관련된 동일한 양자화 파라미터를 사용한다.
도 2에서 설명한 것처럼, 동일한 회전 양자화 에러(각도 측정에서)는 큰 성분에서 큰 정점 변화의 원인이 될 수 있다. 따라서, 회전 정보에 대한 양자화 파라미터는 인스턴스의 사이즈에 따라 적응적으로 양자화될 수 있다. 예를 들어, 비트의 많은 수 또는 작은 양자화 스텝 사이즈와 같은 미세한 양자화 파라미터는 큰 인스턴스의 회전 부분을 양자화하기 위해 사용될 수 있다.
회전 양자화 에러에 의해 야기되는 정점 좌표 에러는 다음 수학식 11을 만족할 수 있다.
즉, i번째 인스턴스 성분의 회전 양자화 에러의 상한은 다음 수학식 12로서 추정될 수 있고,
여기서, HalfScali는 i번째 인스턴스 성분의 절반 스케일(즉, 인스턴스의 경계 박스의 대각선 거리의 절반)이다. 한 실시예에 있어서, HalfScali는 해당 재구성된 패턴으로부터 추정될 수 있다. 엔코더 및 디코더 모두에 의해 액세스될 수 있는 재구성된 패턴을 사용하여 HalfScali를 추정함으로써, 회전 부분에 대한 양자화 파라미터는 디코더에서 계산될 수 있고, 따라서, 엔코더는 비트스트림에 회전 부분에 대한 양자화 파라미터를 명시적으로 표시할 필요가 없다. 는 수학식 12로부터 상이하게 추정될 수 있다. 예를 들어, 엄격한 근사치가 수학식 5에서 추정될 때, 수학식 7 및 수학식 11, 뿐만 아니라 수학식 12는 그에 따라 갱신될 수 있다.
압축 이전에, 모든 패턴은 세계 좌표 시스템과 함께 정렬된다. 이때, 모든 패턴은 동일한 양자화 파라미터를 사용하여 함께 엔코딩될 수 있다. 패턴의 위치 및 방향은 엔코딩 비트스트림에 또한 엔코딩 및 기록된다. 패턴(QB_Pattern)을 엔코딩하기 위한 양자화 비트의 수를 사용하여, i번째 인스턴스(QB_Roti)의 회전 부분에 대한 양자화 비트의 수는 다음과 같은 회전 각도 및 패턴 정점의 경계 박스의 스케일에 기초하여 계산될 수 있고,
여기서, angle_Scal은 회전 각도의 스케일이다. 한 예에 있어서, angle_Scal은 모든 인스턴스 회전의 최대 및 최소 가능 각도들 사이의 차이로서 측정될 수 있다. 다른 예에 있어서는 angle_Scal를 2π로 설정한다.
Pattern_scal은 모든 패턴의 경계 박스의 사이즈로서 측정되고, 각각의 Eular 각도의 가능한 값은 0~2π이고, 수학식 13은 다음과 같이 된다고 가정한다.
즉, 인스턴스가 클 때(즉, HalfScali가 클 때), 인스턴스에 대한 양자화 비트의 수(QP_Roti)는 큰 것으로 결정된다. 따라서, 본 발명에 따라, 더 큰 인스턴스는 그 회전 부분에 대한 더 미세한 양자화를 얻는다.
여기서, 수학식 14에서, 변환에는 스케일링이 부분이 없는 것으로 가정한다. 수학식 14는 회전 각도의 스케일이 변할 때 그에 따라 조정되어야 하고, 변환의 스케일링 부분이 고려되거나, 패턴 및 인스턴스의 사이즈가 상이하게 측정된다.
상술한 바와 같이, 인스턴스의 변환 매트릭스의 변형 부분 및 회전 부분에 대한 양자화 파라미터는 압축 효율을 개선하기 위하여, 패턴을 엔코딩하기 위해 사용되는 양자화 파라미터에 기초하여 결정될 수 있다. 한 예시적인 실시예에 있어서, 패턴(QB_ Pattern)을 엔코딩하기 위해 사용된 양자화 비트의 수는 비트스트림에 표시될 수 있고, 인스턴스의 변환 매트릭스의 변형 부분은 아마도 수학식 10을 사용하여 계산될 수 있고, 회전 부분에 대한 양자화 비트의 수는 수학식 14를 사용하여 계산될 수 있다.
다른 예시적인 실시예에 있어서, 패턴 정점의 재구성 에러의 상한, 인스턴스 변형 및 인스턴스 회전은 동일하다고 가정하는데, 즉,
여기서, 는 전체 모델의 양자화 에러의 상한이고, 는 모든 패턴의 양자화 에러의 상한이다. 결과적으로, 패턴을 엔코딩하기 위한 양자화 비트의 수는 다음과 같이 전체 3D 입력 모델의 양자화 비트의 수로부터 계산될 수 있고,
여기서, QB_EntireModel은 전체 3D 입력 모델에 대한 양자화 비트의 수이고, EntireModel_Scal은 전체 3D 입력 모델의 사이즈를 반영한다.
상기에서, Pattern_Scal은 3D 모델에서 모든 패턴을 사용하여 측정될 수 있다. 다른 실시예에 있어서, 패턴은 별도로 압축되고, 동일한 패턴의 인스턴스는 함께 압축된다. 모든 패턴은 동일한 양자화 파라미터를 사용할 수 있다. 또한, 수학식 10 및 수학식 13에서 Pattern_Scal은 해당 패턴의 경계 박스의 스케일에 대응하고, 수학식 10에서 Translation_Scal 및 수학식 13에서 angle_Scal은 각각 변형의 스케일 및 현재 패턴의 인스턴스의 회전 각도에 대응한다.
도 3은 3D 모델의 인스턴스 및 패턴을 엔코딩하기 위한 예시적인 방법(300)을 도시한다. 방법(300)은 단계(305)에서 시작한다. 단계(310)에서, 3D 모델 데이터가 입력되어 초기화가 실행된다. 품질 파라미터와 같은 부가적인 데이터, 패턴을 엔코딩하기 위한 양자화 파라미터는 또한 입력되거나 또는 입력으로부터 유추될 수 있다. 한 예시적인 실시예에 있어서, 초기화 단계는 반복 구조를 패턴 및 인스턴스로 구성할 수 있고, 인스턴스에 대한 변환 매트릭스를 생성할 수 있다. 단계(320)에서, 패턴은 재구성된 패턴을 형성하기 위해 엔코딩된다. 단계(350)에서, 패턴, 변형, 회전의 스케일이 결정된다. 예를 들어, 패턴(Pattern_scal)의 스케일은 모든 패턴을 포함하는 경계 박스의 대각선 거리로서 측정될 수 있고, 변형(Translation_Scal)의 스케일은 메타데이터로부터 획득될 수 있고, 비트스트림에 전송되며, 회전 스케일(angle_scal)은 각도 표현에 기초하여 결정될 수 있으며, 예를 들어, angle_scal은 Eular 표현이 사용될 때 2π로 설정된다.
단계(360)에서, 인스턴스 성분에 대한 변환 매트릭스의 변형 부분에 대한 양자화 파라미터는 예를 들어, 수학식 10을 사용하여 결정될 수 있다. 변환 매트릭스의 회전 부분에 대한 양자화 파라미터는 예를 들어 수학식 14를 사용하여 결정될 수 있다. 다음에, 인스턴스에 대한 변환 매트릭스는 단계(370)에서 엔코딩된다. 단계(380)에서, 더 많은 인스턴스가 처리되어야 할 필요가 있는지의 여부를 확인한다. 더 많은 인스턴스가 처리되어야 한다면, 제어는 단계(350)로 복귀한다. 그렇지 않으면, 제어는 종료 단계(399)로 전달된다.
도 4는 3D 모델의 인스턴스 및 패턴을 디코딩하기 위한 예시적인 방법(400)을 도시한다. 방법(400)의 입력은 비트스트림, 예를 들어, 방법(300)을 사용하여 생성된 비트스트림을 포함할 수 있다. 방법(400)은 단계(405)에서 시작한다. 단계(410)에서, 초기화가 실행되고, 예를 들어, 패턴을 엔코딩하기 위해 사용되는 양자화 파라미터는 입력 비트스트림으로부터 얻어진다.
패턴은 단계(420)에서 디코딩된다. 단계(435)에서, 패턴, 변형, 및 회전의 스케일이 결정된다. 단계(440)에서, 인스턴스 성분에 대한 변환 매트릭스의 변형 부분 및/또는 회전 부분에 대한 양자화 파라미터가 결정될 수 있다. 변환 매트릭스는 단계(450)에서 디코딩된다. 다음에, 인스턴스는 단계(460)에서, 예를 들어, 해당 재구성된 패턴 및 디코딩된 변환 매트릭스를 사용하여 재구성된다. 단계(470)에서, 더 많은 인스턴스가 처리되어야 할 필요가 있는지를 확인한다. 긍정인 경우, 제어는 단계(435)로 복귀되고, 그렇지 않은 경우, 제어는 종료 단계(499)로 전달된다.
인스턴스를 적절히 디코딩하기 위하여, 패턴, 변형, 및 회전의 스케일을 결정하고, 양자화 파라미터를 계산하는 해당 방법은 엔코더 및 디코더에서 사용되어야 한다는 것을 주목한다. 예를 들어, 방법(300)에 의해 생성된 비트스트림은 방법(400)에 입력으로서 사용되고, 단계(435 및 440)는 각각 단계(350 및 360)에 대응할 것이다.
도 3 및 도 4에 있어서, 3D 모델에서 모든 패턴은 인스턴스 이전에 엔코딩 또는 디코딩된다. 다른 실시예에 있어서, 각각의 패턴의 엔코딩/디코딩 이후에, 해당 인스턴스의 엔코딩/디코딩이 이어진다.
상기에서, 양자화 비트의 수를 할당하는 방법이 최대 허용 에러가 주어진 상태에서 설명되었다. 다른 한편, 수학식 7은 레이트 제어를 위해, 즉, 디코딩된 3D 모델의 품질을 최적화하기 위하여 비트의 수가 주어진 상태에서 양자화 파라미터를 결정하기 위해 또한 사용될 수 있다.
압축된 패턴의 비트의 수에서 측정된 사이즈가 다음과 같이 계산될 수 있고,
여기서, Pattern_Ver_Num 및 Pattern_Tri_Num은 각각 정점의 수 및 모든 패턴의 삼각형의 수이고, Cpv 및 Cpt는, 예를 들어, 엔트로피 엔코딩의 압축 비율을 카운팅하기 위해 사용된 미리 결정된 값이다. 한 구현에 있어서, Cpv= 0.2이고, Cpt= 3이다. 압축된 인스턴스의 사이즈는 다음과 같이 계산될 수 있고,
여기서, Cinsta는 미리 결정된 값이다. 압축된 고유 성분에 대한 사이즈는 다음과 같이 계산될 수 있고,
여기서, QB_UniComp는 고유 성분을 엔코딩하기 위한 양자화 비트의 수이고, UniComp_Ver_Num 및 UniComp_Tri_Num은 각각 정점의 수 및 고유 성분이 삼각형의 수이다. 한 예시적인 실시예에 있어서, 이고, QB_UniComp은 다음과 같이 계산될 수 있고,
여기서, UniComp_Scal은 고유 부분의 경계 박스의 스케일이다. 고유 성분의 변형에 대한 양자화 비트는 다음과 같이 계산될 수 있고,
여기서, UniComp_Transl_Scal은 모든 고유 성분의 모든 변형의 경계 박스의 스케일이다.
다음에, 압축된 3D 모델의 전체 사이즈는 다음과 같이 계산될 수 있다.
수학식 10, 수학식 14 및 수학식 19에 기초하여, QB_Translation, QB_Roti 또는 QB_UniComp는 QB_Pattern의 함수로서 획득될 수 있다. 다음에, 수학식 10, 수학식 14, 및 수학식 16 내지 수학식 19에 따라, Compr_Pattern, Compr_insta, 또는 Compr_UniComp는 QB_Pattern의 함수로서 표현될 수 있다. 또한, 수학식 20을 사용하여, 압축된 3D 모델 Compr_EntireModel 및 QB_Pattern의 전체 사이즈 사이의 관계가 얻어질 수 있다. 이어서, 예측되는 압축된 모델 사이즈 Compr_Model가 주어지면, QB_Pattern이 결정될 수 있다. QB_Pattern으로부터, 코딩 에러 MaxErr의 상한이 을 사용하여 계산될 수 있다.
도 5는 예시적인 3D 모델 엔코더(500)의 블럭도를 도시한다. 장치(500)의 입력은 3D 모델, 3D 모델을 엔코딩하기 위한 품질 파라미터, 및 다른 메타데이터를 포함할 수 있다. 먼저, 3D 모델은 패턴, 인스턴스 및 고유 성분에 대해서 3D 모델을 출력하는 반복 구조 검색 모듈(510)을 통과한다. 패턴 엔코더(520)는 패턴을 압축하기 위해 채용되고, 고유 성분 엔코더(550)는 고유 성분을 엔코딩하기 위해 채용된다. 인스턴스에 대해서, 인스턴스 성분 정보는 사용자가 선택한 모드에 기초하여 엔코딩된다. 인스턴스 정보 그룹 모드가 선택되면, 인스턴스 정보는 그룹화 인스턴스 정보 엔코더(540)를 이용하여 엔코딩되고, 그렇지 않으면, 기본 인스턴스 정보 엔코더(530)를 이용하여 엔코딩된다. 엔코딩된 성분은 반복 구조 검증기(560)에서 더 검증된다. 엔코딩된 성분이 품질 요구 조건을 충족시키지 않으면, 고유 성분 엔코더(550)를 사용하여 엔코딩될 것이다. 패턴에 대한 비트스트림, 인스턴스, 및 고유 성분은 비트스트림 어셈블러(570)에서 조립된다.
압축 효율을 개선하기 위하여, 원래의 3D 모델의 모든 성분은 성분의 중심이 정렬되도록 변형될 수 있다. 중심의 변형은 압축되고 비트스트림에 표시될 필요가 있다. 레이트-왜곡 성능은 성분의 경계 박스가 훨씬 작게 될 수 있고(대부분의 경우에), 적은 수의 양자화 비트가 동일한 코딩 에러에 필요하기 때문에, 개선될 수 있다.
또한, 패턴은 성분의 중심을 원점으로 변형함으로써 생성될 수 있고, 원래의 성분은 인스턴스로서 간주될 수 있다. 압축 효율을 개선하기 위하여, 패턴 성분(패턴에 해당하는 성분)에 대해서, 단지 변형은 압축된 비트스트림에서 표시된다. 패턴-인스턴스 표현으로부터 얻어진 비트레이트를 보장하기 위해 반복 구조가 없거나 충분하지 않은 경우, 입력 3D 모델의 모든 성분은 고유 성분으로서 간주될 수 있다.
도 6은 예시적인 3D 모델 디코더(600)의 블록도를 도시한다. 장치(600)의 입력은 3D 모델의 비트스트림, 예를 들어, 엔코더(500)에 의해 생성된 비트스트림을 포함할 수 있다. 압축된 비트스트림에서 패턴에 관련된 정보는 패턴 디코더(620)에 의해 디코딩된다. 고유 성분에 관련된 정보는 고유 성분 디코더(650)에 의해 디코딩된다. 또한, 인스턴스 정보의 디코딩은 사용자가 선택한 모드에 의존한다. 인스턴스 정보 그룹 모드가 선택되면, 인스턴스 정보는 그룹화 인스턴스 정보 디코더(640)를 사용하여 디코딩되고, 그렇지 않으면, 기본 인스턴스 정보 디코더(630)를 사용하여 디코딩된다. 디코딩된 패턴, 인스턴스 정보 및 고유 성분은 재구성되어 모델 재구성 모듈(660)에서 출력 3D 모델을 생성한다.
도 7은 압축된 비트스트림을 생성하기 위한 예시적인 방법(700)을 도시한다. 비트스트림은 압축된 스트림을 디코딩하기 위해 필요한 모든 정보를 포함하는 헤더 버퍼(PB3DMC_stream_header, 710)로 시작한다. 정보는,
● 원래의 모델에서 고유 부분이 있는지의 여부,
● 원래의 모델에서 적어도 하나의 반복 구조가 있는지의 여부,
● "그룹화 인스턴스 변환 모드" 또는 "기본 인스턴스 변환 모드" 가 이 비트스트림에 사용되는지의 여부,
● 원래의 3D 모델에 관한 정보,
● 인스턴스가 가질 수 있는 속성의 유형에 관한 정보,
● 형상을 압축하기 위해 사용되는 3D 모델 압축 방법, 및
● 모든 3D 객체(필요하다면, 패턴 및 다른 부분)의 연결 및 특성을 포함할 수 있다.
원래의 모델에서 고유 부분 및 반복 구조가 없는 경우(uni_part_bit == 0 && repeat_struc_bit == 0), 비트스트림의 나머지 부분은 PB3DMC_stream_header에 표시되는 3D 모델 압축 방법을 사용하여 압축된 입력 3D 모델(730)이다. 그렇지 않은 경우에, 비트스트림에서 다음 부분은 일부가 있는 경우(740)에 모든 고유 성분의 압축된 결과이다(745). 적어도 하나의 반복 구조가 있는 경우(750), 다음 데이터 필드는 모든 패턴의 압축된 결과이다(760). 어느 인스턴스 변환 패킹 모드가 비트스트림에 선택되는가(770)에 따라, compr_insta_grouped_data(780) 또는 compr_insta_elementary_data(785)가 비트스트림에서 다음 부분이다.
표 1에서, 헤더에 대한 예시적인 구문과 의미가 본 발명의 원리에 대해 설명되어 있다. 일부 데이터 필드가 3DMC 확장[w11455, Final text of ISO/IEC 14496-16 4th Edition, MPEG-3DGC, 93th MPEG meeting, 2011-02]의 비트스트림 정의로부터 선택되었음을 주목한다.
표 1
ver _ num: 이 32 비트 부호가 없는 정수는 전체 3D 모델의 정점의 수를 포함한다. 이 값은 디코딩된 3D 모델을 검증하는 데 사용될 수 있다.
tri _ num: 이 32 비트 부호가 없는 정수는 전체 3D 모델의 삼각형의 수를 포함한다. 이 값은 디코딩된 3D 모델을 검증하는 데 사용될 수 있다.
default _ coord _ bbox: 이 1-비트 부호가 없는 정수는 디폴트 경계 박스가 전체 3D 모델의 형상에 사용되었는지 여부를 나타낸다. 0은 다른 경계 박스를 사용하는 것을 의미하고, 1은 디폴트 경계 박스를 사용하는 것을 의미한다. 디폴트 경계 박스는 xmin=0.0, ymin=0.0, zmin=0.0, xmax=1.0, ymax=1.0, 및 zmax=1.0으로서 정의된다.
coord _ bbox: 이 데이터 필드는 전체 3D 모델의 형상의 경계 박스를 포함한다. 형상의 경계 박스는 (xmin, ymin, zmin, xmax, ymax, zmax)에 의해 정의된다.
QP _ coord: 이 5 비트 부호가 없는 정수는 3D 모델 형상의 품질 파라미터를 나타낸다. QP_coord의 최소값은 3이고, 최대값은 31이다. QP_coord는 수학식 10에서 QB_Pattern에 대응할 수 있거나, 또는 수학식 15에서 QB_EntireModel에 대응할 수 있다.
normal binding: 이 2-비트 부호가 없는 정수는 3D 모델에 법선의 결합을 나타낸다. 허용값은 다음 표에 설명되어 있다.
default _ normal _ bbox: 이 1-비트 부호가 없는 정수는 항상 ‘0’이 되어야 하며, 이는 기본 경계 박스가 전체 3D 모델의 법선에 사용되는 것을 나타낸다. 법선의 디폴트 경계 박스는 nxmin=0.0, nymin=0.0, nzmin=0.0, nxmax=1.0, nymax=1.0, 및 nzmax=1.0으로서 정의된다.
QP _ normal: 이 5-비트 부호가 없는 정수는 3D 모델 형상의 품질 파라미터를 나타낸다. QP_normal의 최소값은 3이고, 최대값은 31이다.
color binding: 이 2-비트 부호가 없는 정수는 3D 모델에 색상의 결합을 나타낸다. 다음 표는 허용값을 나타낸다.
default _ color _ bbox: 이 1-비트 부호가 없는 정수는 디폴트 경계 박스가 전체 3D 모델의 색상에 사용되었는지 여부를 나타낸다. 0은 다른 경계 박스를 사용하는 것을 의미하고, 1은 디폴트 경계 박스를 사용하는 것을 의미한다. 디폴트 경계 박스는 rmin=0.0, gmin=0.0, bmin=0.0, rmax=1.0, gmax=1.0, 및 bmax=1.0으로서 정의된다.
color _ bbox: 이 데이터 필드는 전체 3D 모델의 색상의 경계 박스를 포함한다. 색상 경계 박스는 (rmin, gmin, bmin, rmax, gmax, bmax)에 의해 정의된다.
QP _ color: 이 5-비트의 부호가 없는 정수는 색상의 품질 파라미터를 나타낸다. QP_color의 최소값은 3이고, 최대값은 31이다.
multi _ texCoord _ num: 이 5-비트 부호가 없는 정수는 정점/모서리에 대한 텍스처 좌표의 수를 제공한다.
texCoord _ binding: 이 2-비트 부호가 없는 정수는 3D 모델에의 텍스처 좌표의 결합을 나타낸다. 다음 표는 허용값을 나타낸다.
default _ texCoord _ bbox: 이 1-비트 부호가 없는 정수는 디폴트 경계 박스가 텍스처 좌표에 사용되었는지 여부를 나타낸다. 0은 다른 경계 박스를 사용하는 것을 의미하고, 1은 디폴트 경계 박스를 사용하는 것을 의미한다. 디폴트 경계 박스는 umin=0.0, vmin=0.0, umax=1.0, 및 vmax=1.0으로서 정의된다.
texCoord _ bbox: 이 데이터 필드는 전체 3D 모델의 텍스처 좌표의 경계 박스를 포함한다. 텍스처 좌표 경계 박스는 (umin, vmin, umax, vmax)에 의해 정의된다.
QP _ texCoord: 이 5-비트의 부호가 없는 정수는 텍스처 좌표의 품질 파라미터를 나타낸다. QP_texCoord의 최소값은 3이고, 최대값은 31이다.
multi _ attribute _ num: 이 5-비트 부호가 없는 정수는 정점/면/모서리에 대한 속성의 수를 나타낸다.
attribute _ binding: 이 2-비트 부호가 없는 정수는 3D 모델에 대한 속성의 결합을 나타낸다. 다음 표는 허용값을 나타낸다.
default _ attribute _ bbox: 이 1-비트 부호가 없는 정수는 디폴트 경계 박스가 속성에 사용되었는지의 여부를 나타낸다. 0은 다른 경계 박스를 사용하는 것을 의미하고, 1은 디폴트 경계 박스를 사용하는 것을 의미한다. 디폴트 경계 박스는 attribute_min[1..attribute_dim]=0.0, attribute_max[1..attribute_dim]=1.0로서 정의된다.
attribute _ bbox: 이 데이터 필드는 속성의 경계 박스를 포함한다. 텍스처 좌표 경계 박스는 (attribute_min[1..attribute_dim], attribute_max[1..attribute_dim])에 의해 정의된다.
QP _ attribute: 이 5-비트 부호가 없는 정수는 속성의 품질 파라미터를 나타낸다. QP_attribute의 최소값은 3이고, 최대값은 31이다.
표 2에서, 고유 부분에 대한 예시적인 구문 및 의미가 본 발명에 대해 설명되어 있다.
표 2
compr _ uni _ comp _ data: 이 데이터 필드는 3d_model_compr_mode로 표시되는 압축 방법에 의해 엔코딩된 모든 고유 성분의 압축된 형상, 연결 및 특성을 포함한다. 모든 고유 성분은 압축 이전에 원점으로 변형된다.
compr _ uni _ comp _ transl: 이 데이터 필드는 모든 고유 성분에 대한 압축된 변형 벡터를 포함한다. 고유 성분 변형 벡터는 제 1 양자화 및 이후에 엔트로피 코딩에 의해 압축된다. 이 데이터 필드는 compr_uni_comp_data를 갖는 고유 성분의 동일한 순서를 사용한다.
bit _ num _ uni _ comp _ transl (): 이 함수는 QP_coord에 기초하여 각각의 고유 성분 변형 벡터를 양자화하기 위해 사용되는 비트 수를 계산한다.
표 3에서 반복 구조의 예시적인 구문과 의미가 본 발명에 대해 설명되어 있다.
표 3
compr _ Pattern _ data: 이 데이터 필드는 3d_model_compr_mode로 표시되는 압축 방법에 의해 엔코딩되는 압축된 형상, 모든 패턴의 연결 및 특성을 포함한다.
compr _ Pattern _ transl: 이 데이터 필드는 모든 패턴 성분에 대한 압축된 변형 벡터를 포함한다. 패턴 변형 벡터는 제 1 양자화 및 이후의 엔트로피 코딩에 의해 압축된다. 이 데이터 필드는 compr_pattern_data의 패턴의 동일한 순서를 사용한다.
compr _ insta _ elementary _ data: 이 데이터 필드는 "기본 인스턴스 변환 모드"를 사용하여 모든 인스턴스에 대한 압축된 변환 데이터를 포함한다. 이는 바이트 정렬되는 방식으로 압축된다.
compr _ insta _ grouped _ data: 이 데이터 필드는 "그룹화 인스턴스 변환 모드"를 사용하여 모든 인스턴스에 대한 압축된 변환 데이터를 포함한다. 이는 바이트 정렬되는 방식으로 압축된다.
bit _ num _p attern _ transl (): 이 함수는 QP_coord에 기초하여 각각의 패턴 성분의 변형 벡터를 양자화하기 위해 사용되는 비트 수를 계산한다.
표 4에서, 인스턴스에 대한 예시적인 구문과 의미가 본 발명에 대해 설명되어 있다.
표 4
insta _ transl _ bbox: 이 데이터 필드는 양자화가 인스턴스 변형 정보를 압축할 때 사용될 수 있도록 모든 변형 벡터의 경계 박스를 포함한다. 이 경계 박스는 insta_transl_xmin, insta_transl_ymin, insta_transl_zmin, insta_transl_xmax, insta_transl_ymax, insta_transl_zmax에 의해 정의된다.
compr _ elem _ insta _ patternID: 이 데이터 필드는 i번째 인스턴스의 압축된 패턴 ID를 포함한다.
elem _ insta _ filp _ flag: 이 1-비트 부호가 없는 정수는 i번째 인스턴스가 해당 패턴과 비교하여 반전(flipped)되었는지의 여부를 나타낸다. 반전된 인스턴스는 인스턴스 삼각형 법선이 해당 패턴 삼각형의 반대 방향으로 있는 것을 의미한다. 0은 i번째 인스턴스가 반전되지 않았다는 것을 의미하고, 1은 i번째 인스턴스가 반전되었음을 의미한다.
elem _ insta _ reflection _ flag: 이 1-비트 부호가 없는 정수는 i번째 인스턴스의 변환이 반영을 포함하는지의 여부를 나타낸다. 0은 i번째 인스턴스의 변환이 반영을 포함하지 않았다는 것을 의미하고, 1은 i번째 인스턴스의 변환이 반영을 포함한다는 것을 의미한다.
elem _ insta _ attribute _ header: 이 데이터 필드는 i번째 인스턴스의 속성 헤더를 포함한다.
compr _ elem _ insta _ transl: 이 데이터 필드는 i번째 인스턴스의 압축된 변형 벡터를 포함한다.
compr _ elem _ insta _ rotat _ spherical: 이 데이터 필드는 구형 모드에서 i번째 인스턴스의 압축된 회전 변환을 포함한다.
compr _ elem _ insta _ scaling: 이 데이터 필드는 i번째 인스턴스의 압축된 스케일링 요소를 포함한다.
compr _ elem _ insta _ error _ compen _ data: 이 데이터 필드는 i번째 인스턴스의 압축된 코딩 에러 보상 데이터를 포함한다.
compr _ elem _ insta _ attribute _ data: 이 데이터 필드는 i번째 인스턴스의 압축된 속성 데이터를 포함한다.
bit _ num _ insta _ transl (): 이 함수는 QP_coord에 기초하여 인스턴스 변형 벡터를 양자화하기 위해 사용되는 비트의 수를 계산한다.
need _ error _ compensation (): 이 함수는 i번째 인스턴스의 코딩 에러가 보상될 필요성이 있는지의 여부를 판정한다.
bit _ num _ vertex _ coding _ error (): 이 함수는 QP_coord에 기초하여 i번째 인스턴스의 각각의 정점의 코딩 에러를 양자화하기 위해 사용되는 비트의 수를 적응적으로 계산한다.
표 5에서, 회전 각도에 대한 예시적인 구문과 의미가 본 발명에 대해 설명되어 있다. 구면 모드에서 i번째 인스턴스의 회전은 3개의 각도: 알파, 베타 및 감마에 의해 표시된다.
표 5
compr _ elem _ insta _ rotat _ alpha: 이 데이터 필드는 i번째 인스턴스의 회전의 압축된 알파를 포함한다.
compr _ elem _ insta _ rotat _ beta: 이 데이터 필드는 i번째 인스턴스의 회전의 압축된 베타를 포함한다.
compr _ elem _ insta _ rotat _ gamma: 이 데이터 필드는 i번째 인스턴스의 회전의 압축된 감마를 포함한다.
bit _ num _ rotat _ alpha (): 이 함수는 해당 패턴의 스케일 및 QP_coord에 기초하여 i번째 인스턴스의 회전의 알파 값에 대한 비트의 수를 적응적으로 계산한다.
bit _ num _ rotat _ beta (): 이 함수는 해당 패턴의 스케일 및 QP_coord에 기초하여 i번째 인스턴스의 회전의 베타 값에 대한 비트의 수를 계산한다.
bit _ num _ rotat _ gamma (): 이 함수는 해당 패턴의 스케일 및 QP_coord에 기초하여 i번째 인스턴스의 회전의 감마값에 대한 비트의 수를 계산한다.
본 명세서에 기재된 구현은 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. 심지어 단일 형태의 구현(예를 들어, 방법으로만 설명)의 컨텍스트에서 설명되었지만, 설명한 기능의 구현은 다른 형태(예를 들어, 장치 또는 프로그램)로 구현될 수도 있다. 한 장치는, 예를 들어, 적당한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그램 가능한 논리 디바이스를 포함하는 처리 디바이스를 일반적으로 지칭하는 프로세서와 같은 장치로 구현될 수 있다. 또한, 프로세서들은, 예를 들어, 컴퓨터, 셀 폰, 휴대용/개인용 디지털 어시스턴트("PDAs"), 및 단말 사용자들 간의 정보의 통신을 용이하게 하는 다른 디바이스와 같은 통신 디바이스를 포함한다.
"한 실시예" 또는 "실시예" 또는 "하나의 구현" 또는 본 원리의 "구현", 뿐만 아니라 이들의 다른 변형의 참조는 실시예와 함께 기재된 특정한 기능, 구조, 특성 등이 본 원리의 적어도 한 실시예에 포함된다는 것을 의미한다. 따라서, 명세서 전반에 걸쳐 다양한 곳에 나타나는 "한 실시예에서", 또는 "실시예에서", 또는 "한 구현에서", 또는 "구현에서"라는 문구의 출현뿐만 아니라 임의의 다른 변형의 출현이 반드시 동일한 실시예 모두를 참조하는 것은 아니다.
추가적으로, 본 응용 또는 그 청구범위는 정보의 다양한 부분을 "결정하는"을 참조할 수 있다. 정보를 결정하는 것은, 예를 들어, 정보를 추정하고, 정보를 계산하고, 정보를 예측하고, 또는 메모리로부터 정보를 검색하는 것을 하나 이상 포함할 수 있다.
또한, 본 응용 또는 그 청구 범위는 정보의 다양한 부분을 "액세스하는"을 참조할 수 있다. 정보를 액세스하는 것은, 예를 들어, 정보를 수신하고, (예를 들어, 메모리로부터) 정보를 검색하고, 정보를 저장하고, 정보를 처리하고, 정보를 전송하고, 정보를 이동시키고, 정보를 복사하고, 정보를 소거하고, 정보를 계산하고, 정보를 결정하고, 정보를 예측하고, 정보를 추정하는 것을 하나 이상 포함할 수 있다.
추가적으로, 본 응용 또는 그 청구 범위는 정보의 다양한 부분들을 "수신하는 것"을 지칭할 수 있다. 수신하는 것은 "액세스하는 것"과 같이, 폭넓은 용어인 것으로 의도된다. 정보를 수신하는 것은, 예를 들어 정보를 액세스하는 것, 또는 (예를 들어, 메모리로부터) 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 일반적으로, 예를 들어 정보를 저장하는 것, 정보를 처리하는 것, 정보를 전송하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 소거하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것과 같은 작동 동안에, 하나의 방식 또는 또 다른 방식으로 수반된다.
본 기술의 숙련된 사람에게 명백한 것처럼, 구현은 예를 들어, 저장 또는 전송될 수 있는 정보를 운반하도록 포맷된 다양한 신호를 생성할 수 있다. 정보는 예를 들어, 방법을 실행하기 위한 명령어, 또는 기재된 구현 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 기재된 실시예의 비트스트림을 운반하도록 신호가 포맷될 수 있다. 이러한 신호는, 예를 들어, 전자기파(예를 들어, 스펙트럼의 무선 주파수 부분을 사용) 또는 기저 대역 신호로서 포맷될 수 있다. 이러한 포맷은, 예를 들어, 데이터 스트림을 엔코딩하고, 엔코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함한다. 신호가 운반할 수 있는 정보는, 예를 들어, 아날로그 또는 디지털 정보가 될 수 있다. 이 신호는 공지된 것과 같은 다양한 상이한 유선 또는 무선 링크를 통해 전송될 수 있다. 신호는 프로세서-판독 가능한 매체에 저장될 수 있다.
510: 반복 구조 검색 모듈
520: 패턴 엔코더
530: 기본 인스턴스 정보 엔코더
540: 그룹화 인스턴스 정보 엔코더
550: 고유 성분 엔코더
560: 반복 구조 검증기
570: 비트스트림 어셈블러
520: 패턴 엔코더
530: 기본 인스턴스 정보 엔코더
540: 그룹화 인스턴스 정보 엔코더
550: 고유 성분 엔코더
560: 반복 구조 검증기
570: 비트스트림 어셈블러
Claims (12)
- 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법으로서,
3D 모델과 연관된 패턴을 엔코딩하기 위해 사용되는 제 1 양자화 파라미터를 액세스하는 단계(310, 410),
패턴의 인스턴스의 스케일과 패턴의 스케일을 결정하는 단계(350, 435)로서, 인스턴스는 패턴의 변환으로서 표현되는, 스케일을 결정하는 단계(350, 435),
제 1 양자화 파라미터, 인스턴스의 스케일, 및 패턴의 스케일에 따라 인스턴스에 대한 변환의 회전 부분의 제 2 양자화 파라미터를 결정하는 단계(360, 440), 및
제 2 양자화 파라미터에 따라 인스턴스에 대한 변환의 회전 부분의 엔코딩 또는 디코딩을 수행하는 단계(370, 450)를 포함하는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 제 1 항에 있어서,
제 2 양자화 파라미터는 인스턴스의 스케일과 패턴의 스케일 사이의 비율에 따라 결정되는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 제 1 항에 있어서,
인스턴스에 대한 회전 부분의 스케일을 결정하는 단계를 더 포함하고, 제 2 양자화 파라미터는 인스턴스에 대한 회전 부분의 스케일에 따라 더 결정되는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 제 1 항에 있어서,
패턴의 스케일은 3D 모델의 모든 패턴의 경계 박스의 대각선 거리에 따라 결정되는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 제 1 항에 있어서,
인스턴스의 스케일은 인스턴스의 경계 박스의 대각선 거리에 따라 결정되는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 제 1 항에 있어서,
인스턴스에 대한 변환의 변형 부분의 스케일을 결정하는 단계, 및
제 1 양자화 파라미터, 변형 부분의 스케일, 및 패턴의 스케일에 따라 변형 부분에 대한 제 3 양자화 파라미터를 결정하는 단계를 더 포함하는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 제 6 항에 있어서,
변형 부분에 대한 제 3 양자화 파라미터는 변형 부분의 스케일과 패턴의 스케일 사이의 비율에 따라 결정되는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 제 1 항에 있어서,
패턴, 변환의 회전 부분, 및 변환의 변형 부분을 엔코딩함으로써 야기되는 양자화 에러들은 동일한 것을 특징으로 하는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 제 1 항에 있어서,
패턴을 엔코딩하기 위해 사용되는 제 1 양자화 파라미터는 3D 모델의 스케일 및 패턴의 스케일 중 적어도 하나에 따라 결정되는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 제 1 항 내지 제 9 항 중 어느 한 항에 따른 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 수단을 포함하는 장치(500, 600).
- 제 1 항 내지 제 9 항 중 어느 한 항에 따른 비트스트림을 생성 또는 디코딩하기 위한 명령어가 저장된 컴퓨터 판독 가능한 저장 매체.
- 제 1 항 내지 제 9 항 중 어느 한 항에 따라 생성된 비트스트림이 저장된 컴퓨터 판독 가능한 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2012/074388 | 2012-04-19 | ||
CN2012074388 | 2012-04-19 | ||
PCT/CN2012/087937 WO2013155859A1 (en) | 2012-04-19 | 2012-12-29 | Method and apparatus for repetitive structure discovery based 3d model compression |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150008070A KR20150008070A (ko) | 2015-01-21 |
KR101986282B1 true KR101986282B1 (ko) | 2019-06-05 |
Family
ID=49382874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147029076A KR101986282B1 (ko) | 2012-04-19 | 2012-12-29 | 반복 구조 검색 기반의 3d 모델 압축을 위한 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9928615B2 (ko) |
EP (1) | EP2839434A4 (ko) |
JP (1) | JP6093847B2 (ko) |
KR (1) | KR101986282B1 (ko) |
BR (1) | BR112014026044A2 (ko) |
WO (1) | WO2013155859A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9866840B2 (en) | 2013-01-10 | 2018-01-09 | Thomson Licensing | Method and apparatus for vertex error correction |
US9794565B2 (en) | 2013-08-26 | 2017-10-17 | Thomson Licensing | Bit allocation scheme for repetitive structure discovery based 3D model compression |
US11151748B2 (en) | 2018-07-13 | 2021-10-19 | Electronics And Telecommunications Research Institute | 3D point cloud data encoding/decoding method and apparatus |
US10762668B2 (en) | 2018-12-28 | 2020-09-01 | Intel Corporation | Context-aware compression with quantization of hierarchical transform matrices |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6438266B1 (en) | 1998-08-27 | 2002-08-20 | Lucent Technologies Inc. | Encoding images of 3-D objects with improved rendering time and transmission processes |
US20090080516A1 (en) | 2005-01-14 | 2009-03-26 | Eun Young Chang | Method of encoding and decoding texture coordinates in three-dimensional mesh information for effective texture mapping |
WO2010149492A1 (en) | 2009-06-23 | 2010-12-29 | Thomson Licensing | Compression of 3d meshes with repeated patterns |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990002045A (ko) | 1997-06-18 | 1999-01-15 | 양승택 | 예측 잉여신호 벡터 양자화를 이용한 3차원 그래픽 모델의 정점 위치 다단계 압축 방법 |
JP3431534B2 (ja) * | 1999-05-26 | 2003-07-28 | 株式会社ナムコ | ゲームシステム及び情報記憶媒体 |
JP3513562B2 (ja) * | 2000-04-20 | 2004-03-31 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 形状解析システム、3次元形状モデルの差分検出システム、類似形状検索システム、形状解析方法及び記憶媒体 |
US7184071B2 (en) | 2002-08-23 | 2007-02-27 | University Of Maryland | Method of three-dimensional object reconstruction from a video sequence using a generic model |
KR100511719B1 (ko) | 2003-07-08 | 2005-09-02 | 재단법인서울대학교산학협력재단 | 비율-왜곡 최적화를 이용한 3차원 노말 메쉬 데이터 압축장치 |
WO2006075895A1 (en) | 2005-01-14 | 2006-07-20 | Electronics And Telecommunications Research Institute | Method of encoding and decoding texture coordinates in three-dimensional mesh information for effective texture mapping |
US8462149B2 (en) | 2008-04-18 | 2013-06-11 | Electronics And Telecommunications Research Institute | Method and apparatus for real time 3D mesh compression, based on quanitzation |
EP2214315A1 (en) | 2009-01-30 | 2010-08-04 | Thomson Licensing | Method and device for encoding a bit sequence |
EP2261859A1 (en) * | 2009-06-10 | 2010-12-15 | Thomson Licensing | Method for encoding/decoding a 3D mesh model that comprises one or more components |
-
2012
- 2012-12-29 EP EP12874815.9A patent/EP2839434A4/en not_active Withdrawn
- 2012-12-29 WO PCT/CN2012/087937 patent/WO2013155859A1/en active Application Filing
- 2012-12-29 US US14/391,563 patent/US9928615B2/en active Active
- 2012-12-29 JP JP2015506078A patent/JP6093847B2/ja active Active
- 2012-12-29 KR KR1020147029076A patent/KR101986282B1/ko active IP Right Grant
- 2012-12-29 BR BR112014026044A patent/BR112014026044A2/pt active Search and Examination
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6438266B1 (en) | 1998-08-27 | 2002-08-20 | Lucent Technologies Inc. | Encoding images of 3-D objects with improved rendering time and transmission processes |
US20090080516A1 (en) | 2005-01-14 | 2009-03-26 | Eun Young Chang | Method of encoding and decoding texture coordinates in three-dimensional mesh information for effective texture mapping |
WO2010149492A1 (en) | 2009-06-23 | 2010-12-29 | Thomson Licensing | Compression of 3d meshes with repeated patterns |
Non-Patent Citations (1)
Title |
---|
Exploiting repeated patterns for efficient compression of massive models |
Also Published As
Publication number | Publication date |
---|---|
JP2015520886A (ja) | 2015-07-23 |
EP2839434A4 (en) | 2015-12-16 |
BR112014026044A2 (pt) | 2017-06-27 |
EP2839434A1 (en) | 2015-02-25 |
US9928615B2 (en) | 2018-03-27 |
JP6093847B2 (ja) | 2017-03-08 |
KR20150008070A (ko) | 2015-01-21 |
WO2013155859A1 (en) | 2013-10-24 |
US20150084954A1 (en) | 2015-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Isenburg et al. | Compressing polygon mesh geometry with parallelogram prediction | |
JP6246233B2 (ja) | 頂点誤差訂正のための方法および装置 | |
KR101986282B1 (ko) | 반복 구조 검색 기반의 3d 모델 압축을 위한 방법 및 장치 | |
KR102002654B1 (ko) | 반복 구조를 갖는 3d 모델을 위한 비트스트림을 인코딩하고 디코딩하는 시스템 및 방법 | |
GB2561824A (en) | Encoding and decoding of geometry data in a 3D model based on evaluated regularity of the model | |
AU2012283580A1 (en) | System and method for encoding and decoding a bitstream for a 3D model having repetitive structure | |
KR101883532B1 (ko) | 반복적인 구조 발견 기반 3d 모델 압축의 비트스트림을 생성하기 위한 방법 및 장치 | |
GB2551387A (en) | Improved encoding and decoding of geometry data in 3D mesh models | |
CN104303210B (zh) | 用于基于重复结构探索的三维模型压缩的方法及装置 | |
KR101060593B1 (ko) | 3차원 메쉬 데이터의 양자화 및 역양자화 방법 | |
CN116233426B (zh) | 属性量化、反量化方法、装置及设备 | |
US20240282011A1 (en) | Fix-point implementation of mesh codec | |
WO2024148573A1 (zh) | 编解码方法、编码器、解码器以及存储介质 | |
KR20240113803A (ko) | 포인트 클라우드 코딩을 위한 방법, 장치 및 매체 | |
WO2024163690A2 (en) | Visual volumetric video-based coding method, encoder and decoder | |
CN118678093A (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 |