KR101958844B1 - 3d 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법 및 장치 - Google Patents
3d 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR101958844B1 KR101958844B1 KR1020147028909A KR20147028909A KR101958844B1 KR 101958844 B1 KR101958844 B1 KR 101958844B1 KR 1020147028909 A KR1020147028909 A KR 1020147028909A KR 20147028909 A KR20147028909 A KR 20147028909A KR 101958844 B1 KR101958844 B1 KR 101958844B1
- Authority
- KR
- South Korea
- Prior art keywords
- instance
- vertex
- error
- quantization parameter
- quantization
- Prior art date
Links
Images
Classifications
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/62—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding by frequency transforming in three dimensions
-
- 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
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Abstract
3D 모델은 패턴-인스턴스 표현을 이용하여 모델링될 수 있고, 인스턴스 컴포넌트는 패턴의 변환(예를 들면, 회전, 평행이동, 스케일링)으로서 표현될 수 있다. 회전 정보를 인코딩할 때, 양자화 오차들이 도입될 수 있고, 이는 인스턴스의 상이한 버텍스들에 있어서 상이한 버텍스 좌표 오차들을 유발한다. 버텍스 좌표 오차들을 효율적으로 보상하기 위해, 버텍스의 버텍스 좌표 오차에 대하여 상한이 추정될 수 있다. 상한에 기초하여, 코덱은 버텍스의 버텍스 좌표 오차가 보상될 필요가 있는지를 판정하고, 보상이 필요하다면, 버텍스 좌표 오차를 보상하기 위한 양자화 파라미터를 결정한다. 인코더 및 디코더 둘 다에서 상한이 추정될 수 있고, 따라서 버텍스 좌표 오차 보상이 이용되는지를 지시하기 위해, 또는 버텍스 좌표 오차에 대한 양자화 파라미터를 지시하기 위해 명시적인 시그널링이 필요 없다.
Description
본 발명은 3D 모델을 표현하는 비트스트림을 생성하는 방법 및 장치와, 그것을 디코딩하는 방법 및 장치에 관한 것이다.
실제 응용들에 있어서, 많은 3D 모델들은 다수의 연결된 컴포넌트들로 구성된다. 도 1에 도시된 바와 같이, 일반적으로 이러한 복수-컴포넌트 3D 모델들은 다양한 변환들로 많은 반복 구조들을 포함한다.
입력 모델들에서 반복 구조들을 활용함으로써, 복수-컴포넌트 3D 모델들(PB3DMC)에 대해 효율적인 압축 알고리즘을 제공했다. 3D 모델의 반복 구조들은 다양한 위치들, 방향들, 및 스케일링 팩터들(scaling factors)에서 발견된다. 그 후 3D 모델은 "패턴-인스턴스(pattern-instance)" 표현으로 편성된다. 패턴은 대응하는 반복 구조의 대표적인 기하구조를 지시하기 위해 사용된다. 반복 구조에 속하는 연결된 컴포넌트들은 대응하는 패턴의 인스턴스들로서 지시되고, 예를 들면, 패턴에 대한 반사, 평행이동(translation), 회전, 및 가능한 스케일링 등 변환 정보와, 패턴 ID에 의해 표현될 수 있다. 이 인스턴스 변환 정보는, 예를 들어, 반사부, 평행이동부, 회전부, 및 가능한 스케일링부로 편성될 수 있다. 반복적이지 않은 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)에서, 인스턴스 변환 정보를 압축하기 위한 두 개의 모드가 개시되고, 그것의 교시는 본 명세서에 참조되어 구체적으로 포함된다.
K. Cai, W. Jiang, 및 T. Luo에 의한 "System and method for error controllable repetitive structure discovery based compression"이란 제목의, 또 다른 공통으로 소유한 PCT 출원(PCT/CN2012/070877, 대리인 사건 번호 PA120001)에서, 인스턴스 컴포넌트들 중의 리던던시(redundancy)를 줄이고, 그에 따라 압축 효율을 향상시키기 위해 3D 모델에서 반복 구조들을 식별하기 위한 방법 및 장치가 개시되고, 그것의 교시는 본 명세서에 참조되어 구체적으로 포함된다.
본 원리들은 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하는 방법을 제공하고, 이 방법은 후술하는 바와 같이, 패턴의 인스턴스에 대응하는 재구성된 인스턴스를 액세스하는 단계 - 패턴은 3D 모델의 구조와 연관되고 인스턴스는 패턴의 변환으로서 표현됨 -; 변환의 회전부를 양자화하기 위해 사용되는 제1 양자화 파라미터를 액세스하는 단계 - 재구성된 인스턴스는 제1 양자화 파라미터에 응답하여 결정됨 -; 및 재구성된 인스턴스의 대응하는 버텍스와 재구성된 인스턴스의 회전 중심 사이의 거리, 및 제1 양자화 파라미터 중 적어도 하나에 응답하여 인스턴스의 버텍스와 재구성된 인스턴스의 대응하는 버텍스 사이의 버텍스 좌표 오차의 인코딩 또는 디코딩을 수행하는 단계를 포함한다. 본 원리들은 또한 이 단계들을 수행하는 장치를 제공한다.
본 원리들은 또한 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하는 방법을 제공하고, 이 방법은 후술하는 바와 같이, 패턴의 인스턴스에 대응하는 재구성된 인스턴스를 액세스하는 단계 - 패턴은 3D 모델의 구조와 연관되고 인스턴스는 패턴의 변환으로서 표현됨 -; 변환의 회전부를 양자화하기 위해 사용되는 제1 양자화 파라미터를 액세스하는 단계 - 재구성된 인스턴스는 제1 양자화 파라미터에 응답하여 결정됨 -; 재구성된 인스턴스의 대응하는 버텍스와 재구성된 인스턴스의 회전 중심 사이의 거리, 및 제1 양자화 파라미터 중 적어도 하나에 응답하여 인스턴스의 버텍스와 재구성된 인스턴스의 대응하는 버텍스 사이의 버텍스 좌표 오차의 상한을 추정하는 단계; 및 버텍스 좌표 오차의 상한에 응답하여 버텍스 좌표 오차의 인코딩 또는 디코딩을 수행하는 단계를 포함한다. 본 원리들은 또한 이 단계들을 수행하는 장치를 제공한다.
본 원리들은 또한 전술한 방법들에 따라 비트스트림을 생성 또는 디코딩하기 위한 명령들이 저장되어 있는 컴퓨터 판독가능 저장 매체를 제공한다.
본 원리들은 또한 전술한 방법들에 따라 생성된 비트스트림이 저장되어 있는 컴퓨터 판독가능 저장 매체를 제공한다.
도 1은 다수의 연결된 컴포넌트들과 반복 구조를 갖는 예시적인 3D 모델들을 나타낸다.
도 2a는 패턴들을 묘사하는 그림 예들을 나타내고, 도 2b는 해당 인스턴스들 및 재구성된 인스턴스들을 묘사하는 그림 예들을 나타낸다.
도 3은 본 원리들의 실시예에 따라, 3D 모델의 인스턴스를 인코딩하기 위한 예를 도시하는 흐름도이다.
도 4는 본 원리들의 실시예에 따라, 3D 모델의 인스턴스를 디코딩하기 위한 예를 도시하는 흐름도이다.
도 5는 본 원리들의 실시예에 따라, 회전부의 양자화에 의해 유발되는 버텍스 좌표 오차를 묘사하는 그림 예이다.
도 6은 본 원리들에 따른 예시적인 인스턴스 인코더를 나타낸다.
도 7은 본 원리들에 따른 예시적인 인스턴스 디코더를 나타낸다.
도 8은 본 원리들에 따른 3D 모델들의 예시적인 인코더를 나타낸다.
도 9는 본 원리들에 따른 3D 모델들의 예시적인 디코더를 나타낸다.
도 10은 본 원리들의 하나 이상의 구현에 사용될 수 있는 데이터 처리 시스템의 예를 도시하는 블록도이다.
도 11은 본 원리들의 하나 이상의 구현에 사용될 수 있는 데이터 처리 시스템의 다른 예를 도시하는 블록도이다.
도 2a는 패턴들을 묘사하는 그림 예들을 나타내고, 도 2b는 해당 인스턴스들 및 재구성된 인스턴스들을 묘사하는 그림 예들을 나타낸다.
도 3은 본 원리들의 실시예에 따라, 3D 모델의 인스턴스를 인코딩하기 위한 예를 도시하는 흐름도이다.
도 4는 본 원리들의 실시예에 따라, 3D 모델의 인스턴스를 디코딩하기 위한 예를 도시하는 흐름도이다.
도 5는 본 원리들의 실시예에 따라, 회전부의 양자화에 의해 유발되는 버텍스 좌표 오차를 묘사하는 그림 예이다.
도 6은 본 원리들에 따른 예시적인 인스턴스 인코더를 나타낸다.
도 7은 본 원리들에 따른 예시적인 인스턴스 디코더를 나타낸다.
도 8은 본 원리들에 따른 3D 모델들의 예시적인 인코더를 나타낸다.
도 9는 본 원리들에 따른 3D 모델들의 예시적인 디코더를 나타낸다.
도 10은 본 원리들의 하나 이상의 구현에 사용될 수 있는 데이터 처리 시스템의 예를 도시하는 블록도이다.
도 11은 본 원리들의 하나 이상의 구현에 사용될 수 있는 데이터 처리 시스템의 다른 예를 도시하는 블록도이다.
도 1에 도시된 바와 같이, 3D 모델들에 있어서 많은 반복 구조들이 있을 수 있다. 효율적으로 3D 모델들을 인코딩하기 위해, 반복 구조들은 패턴들 및 인스턴스들로 편성될 수 있고, 인스턴스는 예를 들면, 평행이동, 회전, 및 스케일링 등 정보를 포함하는 변환 행렬, 및 패턴 ID를 이용하여, 대응하는 패턴의 변환으로서 표현될 수 있다.
인스턴스가 패턴 ID 및 변환 행렬에 의해 표현될 때, 패턴 ID 및 변환 행렬은 인스턴스를 압축할 때 압축될 것이다. 결과적으로, 인스턴스는 패턴 ID 및 디코딩된 변환 행렬을 통해 재구성될 수 있고, 즉, 인스턴스는 패턴 ID에 의해 인덱싱되는(indexed) 디코딩된 패턴의 (디코딩된 변환 행렬로부터의) 변환으로서 재구성될 수 있다. 일 실시예에서, 변환 행렬을 인코딩할 때, 변환 행렬의 회전부는, 예를 들어, 일정한 비트 수를 이용하여, 양자화될 수 있다. 양자화시에 도입되는 손실 때문에, 디코딩된 회전부는 원래 회전부와는 상이할 수 있다.
도 2a 및 도 2b는 2D 표현의 예시적인 컴포넌트들을 도시하고, 컴포넌트들(210, 220)은 패턴들이고, 컴포넌트들(250, 270)(실선들)은 압축될 원래의 인스턴스들이고, 컴포넌트들(260, 280)(점선들)은 재구성되는 인스턴스들이다. 특히, 인스턴스들(250, 270)은 각각 패턴들(210, 220)의 변환된(즉, 회전되고 평행이동된) 버전들로서 표현될 수 있다.
도 2b의 예들에서, 회전의 양자화는 약 5°의 오차를 도입하므로, 원래 인스턴스들과 복원된 인스턴스들 간의 차이들을 유발한다. 도 2b에서 알 수 있는 바와 같이, (각도에 있어서의) 회전 오차들은 인스턴스들(250, 270)에 있어서 유사하지만, 회전 양자화에 의해 유발되는 버텍스 좌표 오차들(즉, 원래 인스턴스들과 재구성된 인스턴스들 간의, 예를 들면, 도 2b의 A로부터 A'으로, B로부터 B'으로의 버텍스 시프트들)이 양방의 인스턴스들 간에 크게 다르고, 인스턴스(270)는 훨씬 더 큰 버텍스 좌표 오차들을 갖는다. 따라서, 재구성된 컴포넌트들의 품질은 예를 들면, 일관적이지 않을 수 있고, 예를 들면, 더 큰 인스턴스가 더 작은 인스턴스보다 더 낮은 재구성 품질을 가질 수 있다.
본 원리들은 회전 양자화에 의해 유발된 버텍스 좌표 오차들을 효율적으로 보상하기 위한 방법 및 장치를 제공한다. 일 실시예에서, 회전 정보는 인스턴스의 크기에 따라 적응적으로 양자화될 수 있다. 예를 들어, 더 많은 비트 수 또는 더 작은 양자화 스텝 폭 등 더 미세한 양자화 파라미터가 더 큰 인스턴스의 회전부를 양자화하기 위해 사용될 수 있다.
컴포넌트에 있어서 상이한 버텍스들이 동일한 회전 오차에 의해 유발되는 상이한 버텍스 좌표 오차들을 가지기 때문에, 더 미세한 양자화 파라미터만을 사용하는 것이 항상 양호한 해결책이 되는 것은 아닐 수 있다. 인스턴스(270)를 예로서 사용하면, 버텍스 B 및 C는 인코딩될 필요가 있을 수 있는 더 큰 버텍스 좌표 오차들을 갖지만, 버텍스 D 및 E는 가깝게 재구성되고 그들의 버텍스 좌표 오차들은 인코딩될 필요가 없을 수 있다. 버텍스들 B와 C의 정확한 재구성을 위해 충분히 미세한 양자화 파라미터를 갖기 위해, 버텍스들 D와 E는 필요보다 더 높은 정확도로 재구성되기 쉽고, 즉, 버텍스들 D와 E에 불필요하게 어느 정도의 비트들이 소비된다.
다른 실시예에서, 3D 컴포넌트의 버텍스들이 상이한 버텍스 좌표 오차들을 가질 수 있다는 것을 인식하여, 본 원리들은 버텍스 좌표 오차들을 적응적으로 보상한다. 인스턴스의 회전 중심으로부터 버텍스가 멀수록, 버텍스 좌표 오차가 더 커질 수 있다는 것이 관찰된다. 즉, 버텍스 좌표 오차가 인코딩될 필요가 있는지는 버텍스와 회전 중심 간의 거리에 의존할 수 있다. 따라서, 버텍스 좌표 오차가 보상될 필요가 있는지에 대한 결정은 버텍스마다 다를 수 있다.
도 3은 3D 모델의 인스턴스를 인코딩하기 위한 예시적인 방법(300)을 도시한다. 방법(300)은 단계 305에서 시작한다. 단계 310에서, 3D 모델 데이터가 입력되고 초기화가 수행된다. 품질 파라미터, 최대 허용 가능한 버텍스 좌표 오차, 변환 행렬의 평행이동부 및 회전부에 대한 회전 파라미터들 등 추가의 데이터가 또한 입력될 수 있거나 또는 입력으로부터 추론될 수 있다. 예시적인 일 실시예에서, 초기화 단계는 반복 구조들을 패턴들 및 인스턴스들로 편성할 수 있고, 인스턴스들에 대한 변환 행렬들을 생성할 수 있고, 재구성된 패턴들을 형성하기 위해 패턴들을 인코딩할 수 있다. 인코딩될 특정 인스턴스(C로서 지시됨)에 있어서, 대응하는 원래 패턴, 재구성된 패턴, 및 변환 행렬은 P, P', 및 T로서 각각 지시된다. 인스턴스가 패턴의 변환으로서 즉, C = TP로서 정확하게 표현될 수 있다. 대안적으로, 패턴의 변환은, 어떤 상황들 하에서 인스턴스의 근사치일 수 있고, 즉, C TP일 수 있다.
변환 행렬(T)은 단계 320에서 인코딩된다. 그 후 인코딩된 변환 행렬은 단계 330에서 T'으로서 디코딩된다. 인스턴스는 예를 들면, 대응하는 재구성된 패턴 및 디코딩된 변환 행렬(C' = T'P')을 이용하여, 단계 340에서 재구성된다. 재구성된 인스턴스에 대해, 방법(300)은 인스턴스의 개별 버텍스가 인코딩될 필요가 있는 큰 버텍스 좌표 오차를 가질 수 있는지를 검사하기 위해 진행한다.
단계 345에서, eest ,i로서 지시되는 버텍스 i의 버텍스 좌표 오차의 상한이 추정된다. 실제 버텍스 좌표 오차가 아니라 버텍스 좌표 오차의 상한을 이용함으로써, 본 원리들은 인코더 및 디코더 둘 다가 버텍스가 버텍스 좌표 오차를 보상할 필요가 있는지에 대해 동일한 결정을 할 수 있게 한다.
단계 350에서, eest ,i가 임계값, 예를 들어, 입력으로부터 수신된 최대 허용 가능한 오차 또는 입력 파라미터들로부터 추정된 임계값을 초과하는지를 검사한다. eest ,i가 임계값을 초과하면, 재구성된 인스턴스의 버텍스(Vi')와 원래의 인스턴스의 대응하는 버텍스(Vi) 간의 실제 버텍스 좌표 오차(Ei)가 예를 들어, Ei = Vi - Vi'로서 단계 355에서 산출된다. 버텍스 좌표 오차를 인코딩하기 위해, 양자화 파라미터가 단계 360에서 추정된다. 버텍스 좌표 오차는 단계 365에서 양자화되고 그 후 단계 370에서 엔트로피 코딩된다. 그렇지 않고, eest ,i가 임계값을 초과하지 않으면, 버텍스 좌표 오차가 인코딩되지 않고, 제어는 단계 380으로 진행된다.
단계 380에서 처리될 필요가 있는 버텍스가 더 있는지를 검사한다. 더 많은 버텍스가 처리될 것이라면, 제어가 단계 345로 복귀된다. 그렇지 않으면, 제어는 종료 단계 399로 진행된다.
방법(300)의 단계들은 조정될 수 있다. 일 실시예에서, 단계 360은 단계 355 전에 실시될 수 있다. 다른 실시예에서는, 단계 345에서, 버텍스 좌표 오차들의 상한들은 처리될 모든 버텍스들에 대해 추정되고, 상한들의 최대값 eest , max = max(eest,1, ..., eest ,i, ...)가 산출되고, eest ,i는 인스턴스의 버텍스 i의 추정된 상한을 지시한다. eest , max < eth이면, 고려 중인 모든 버텍스 좌표 오차들은 임계값보다 작고, 어떤 버텍스 오차도 인코딩될 필요가 없다. 따라서, 단계 350 내지 단계 380은 생략될 수 있다. 그렇지 않고, eest , max >= eth이면, 어떤 버텍스들은 임계값을 초과하는 버텍스 좌표 오차를 가질 것이고, 단계 350 내지 단계 380이 실행될 수 있다. 단계들 355 내지 370은 버텍스 보정 또는 버텍스 오차 보상 단계들로서 지칭될 수 있다.
도 4는 3D 모델의 인스턴스를 디코딩하기 위한 예시적인 방법(400)을 도시한다. 방법(400)의 입력은 비트스트림, 예를 들어, 방법(300)을 이용하여 생성된 비트스트림을 포함할 수 있다. 추가 데이터 예를 들면, 디코딩될 인스턴스에 대응하는 재구성된 패턴(Ρ')이 또한 입력으로서 포함될 수 있다. 방법(400)은 단계 405에서 시작한다. 단계 410에서, 초기화가 수행되고, 예를 들어, 변환 행렬에 대한 양자화 파라미터들이 입력 비트스트림으로부터 유도된다.
단계 415에서 변환 행렬은 T'으로서 디코딩된다. 단계 420에서 인스턴스는 예를 들면, 대응하는 재구성된 패턴 및 디코딩된 변환 행렬(C' = T'P')을 이용하여 C'으로서 재구성된다. 단계 425에서, 버텍스 i의 버텍스 좌표 오차의 상한 (eest ,i)이 추정된다.
단계 430에서, eest ,i가 임계값을 초과하는지 여부를 검사한다. eest ,i가 임계값을 초과하면, 단계 440에서, 양자화 파라미터 예를 들면, 양자화 비트의 수(nq)가 추정된다. 단계 450에서 인코딩된 버텍스 좌표 오차가 디코딩되고, 예를 들면, 비트스트림으로부터 nq 개의 비트가 디코딩된다. 그 후 단계 460에서 버텍스 좌표 오차가 Ei'으로 역양자화된다. 단계 470에서, 역양자화된 버텍스 좌표 오차(Ei')는 단계 420에서 처음 재구성된 인스턴스의 대응하는 버텍스(Vi')를 예를 들어, Vi" = Vi'+ Ei'로서 보상하기 위해 이용된다. 즉, 재구성된 인스턴스들의 버텍스가 보정된다.
그렇지 않고, eest ,i가 임계값을 초과하지 않는다면, 버텍스 좌표 오차는 인코딩되지 않고, 제어는 단계 480으로 진행된다. 단계 480에서, 처리될 필요가 있는 버텍스가 더 있는지를 검사한다. 그렇다면, 제어가 단계 425로 복귀한다. 그렇지 않으면, 제어는 종료 단계 499로 진행된다.
적절하게 인스턴스를 디코딩하기 위해, 버텍스 좌표 오차(eest ,i)의 상한을 추정하고, 양자화 파라미터를 추정하는 동일한 방법들, 동일한 임계값이 인코더 및 디코더에서 사용되어야 한다는 것을 유의한다. 예를 들어, 방법(300)에 의해 생성된 비트스트림이 방법(400)에 입력으로서 이용될 때, 단계 425 및 단계 440은 단계 345 및 단계 360에 각각 대응해야 하고, 단계 430 및 단계 350에서 이용된 임계값(eth)의 값들은 동일해야 한다.
하기에서, 버텍스에 대한 버텍스 좌표 오차의 상한을 추정(345, 425)하고 버텍스에 대한 양자화 파라미터를 결정(360, 440)하는 예시적인 실시예들이 논의된다.
버텍스
좌표 오차의 상한의 추정
패턴으로부터 인스턴스로의 회전은 세 개의 각도 {Ψ, θ, φ}, 예를 들면, 에 의해 표현될 수 있다. 일 실시예에서, Ψ, θ, 및 φ는 n, n-1, 및 n개의 비트로 각각 양자화되어, 회전 각도들이 동일한 범위의 양자화 오차들을 갖게 되고, 즉, ΔΨ, Δθ, 및 Δφ가 모두 에 들어오게 되고, ΔΨ, Δθ, 및 Δφ는 각각 Ψ, θ, 및 φ의 양자화 오차들이다. 각도들은 상이한 범위들에 있을 수 있고, 다른 양의 양자화 비트를 이용할 수 있다. 기하학적 특성을 이용하여, 버텍스 좌표 오차의 상한이 유도될 수 있다.
컴포넌트의 회전은 반지름이 버텍스와 컴포넌트의 회전 중심 사이의 거리인, 구(sphere)상에서 그것의 버텍스들 각각을 이동시키는 것으로서 간주될 수 있다. 도 5는 버텍스가 상이한 위치에서 재구성될 수 있는 방법을 묘사하는 2D 그림 예를 나타낸다. 이 예에서, 포인트 O는 컴포넌트의 회전 중심이고, 포인트 A는 컴포넌트의 버텍스이고, 버텍스 A는 양자화 오차 Δα로 인해 위치 A1에서 재구성된다. A와 A1 사이의 직선 거리 |AA1|이 A와 A1 사이의 구형 거리 보다 작다고, 즉, 이라고 추정될 수 있다.
회전 중심이 원점이라고 가정하고, 버텍스 A의 좌표들이 (x, y, z)로 주어진다면, 회전 양자화에 의해 유발되는 버텍스 시프트 (|ΑΑ1|)는 다음과 같이 계산될 수 있다.
즉, 회전 양자화에 의해 유발되는 버텍스 i의 버텍스 좌표 오차의 상한은 다음과 같이 추정될 수 있다:
여기서 ri는 버텍스 i와 재구성된 인스턴스의 회전 중심 사이의 거리이고, rmax는 버텍스들과 재구성된 인스턴스의 회전 중심 사이의 가장 먼 거리이다. 또한 상한은 다른 양자화 파라미터들이 회전 각도들에 대해 사용될 때 유도될 수 있다. 기타 기하학적 또는 수학적 특성들이 엄격한 상한을 유도하기 위해 더 이용될 수 있다.
회전 양자화에 의해 유발되는 버텍스 좌표 오차가 인코더 및 디코더 둘 다에서 가용적인 정보에 기초하여 인코딩 또는 디코딩될 필요가 있는지를 판정함으로써, 버텍스 좌표 오차가 인코딩되는지를 지시하기 위해 비트스트림에서 명시적인 시그널링 비트들이 필요 없으므로, 압축 효율을 향상시킬 수 있다.
버텍스
좌표 오차에 대한 양자화 파라미터의 결정
버텍스 i에 대한 버텍스 좌표 오차의 추정된 상한(eest ,i)이 주어지면, 양자화 파라미터가 유도될 수 있다. 일 실시예에서, 양자화 파라미터는, 버텍스 좌표 오차에 대한 양자화 스텝 폭이 평행이동부에 대한 것과 유사하도록 선택될 수 있다. 양자화 비트 수(Qres ,i)가 양자화 파라미터로서 추정될 경우에, Qres ,i는 다음과 같이 산출될 수 있다:
여기서 Qtranslation은 변환 행렬의 평행이동부에 대한 양자화 비트 수이며, Range는 평행이동의 동적 범위(dynamic range)이다. 인 경우, Qres ,i는 0으로 설정될 수 있고, 버텍스 i에 대한 버텍스 좌표 오차는 인코딩되지 않는다.
Qres ,i는 수학식 3과는 상이하게 산출될 수 있는데, 예를 들면, 다음과 같다.
Qres ,i = 0이면, 버텍스 i에 대한 버텍스 좌표 오차는 인코딩되지 않는다.
수학식 3과 수학식 4에서, 양자화 파라미터 Qres ,i는, 버텍스 좌표 오차에 대한 양자화 스텝 폭이 변환 행렬의 평행이동부에 대한 것과 유사하도록 선택된다. 다른 예들에서, 양자화 파라미터 Qres ,i는 버텍스 좌표 오차에 대한 양자화 스텝 폭이 패턴 기하구조의 양자화에 대한 것과 유사하도록 선택될 수 있다.
다른 실시예에서, 양자화 파라미터는 양자화 스텝 폭이 최대 허용 가능한 오차 또는 임계값(eth)과 유사하게 되도록 선택될 수 있다. 즉, 양자화 비트 수는 다음과 같이 산출될 수 있다:
Qres ,i는 또한 수학식 3 내지 수학식 5와는 상이하게 산출될 수 있다. 예를 들어, Qres ,i는 수학식 3 내지 수학식 5에서 산출된 값들로부터 상수에 의해 오프셋 또는 스케일링될 수 있다.
버텍스 i가 Vi = {xi, yi, zi}에 위치하고 재구성된 버텍스 i가 Vi' = {xi', yi', zi'}에 위치한다고 가정하면, 버텍스 좌표 오차는 다음과 같이 산출될 수 있다:
예로서 Ex ,i를 이용하여, 양자화 또는 역양자화가 수행될 수 있는 방법을 설명한다.
오차들의 범위[-eest ,i, eest ,i]가 주어지면, 양자화 스텝 폭은 다음과 같이 산출될 수 있다:
양자화 스텝 폭을 이용하여, 버텍스 좌표 오차 Ex ,i가 다음과 같은 양자화 오차로 양자화될 수 있다:
디코더에서, 양자화된 오차 eq는 다음과 같은 역양자화된 오차 Ex , i'로 역양자화될 수 있다:
마찬가지로, 다른 축들을 따라 버텍스 좌표 오차가 양자화 또는 역양자화될 수 있다. 상기에서는, 균일한 양자화 방식이 사용된다. 다른 양자화 방식들도 양자화 또는 역양자화를 위해 사용될 수 있다.
다른 실시예에서, 다른 축들(즉, Ex ,i, Ey ,i, Ez ,i)을 따라 버텍스 좌표 오차들이 상이할 수 있고, 그들이 다르게 양자화될 수 있다는 것을 고려한다. 예를 들어, 수학식 1의 |ΑΑ1|은 세 개의 축들에 투영될 수 있고, 그에 따라 각각의 축을 따라 좌표 오차의 상한이 산출될 수 있고, 따라서 각각의 축을 따른 좌표 오차에 대한 양자화 파라미터는 상이할 수 있다. 예를 들어, 좌표 오차에 대한 상한은 다음과 같이 각각의 개별 축에 대해 결정될 수 있다:
따라서, 양자화 비트들은 각각의 축에 대해 각각 결정될 수 있다. 인코더 및 디코더 둘 다에 가용적인 정보에 기초하여, 예를 들어, 양자화 스텝 폭 또는 양자화 비트 수 등 양자화 파라미터를 결정함으로써, 버텍스 좌표 오차에 대하여 양자화 파라미터에 대한 명시적인 정보가 비트스트림에서 필요 없으므로, 압축 효율을 더욱 향상시킬 수 있다.
도 6은 예시적인 인스턴스 인코더(600)의 블록도를 도시한다. 장치(600)의 입력은 인코딩될 인스턴스(C), 대응하는 패턴(P), 및 재구성된 패턴(Ρ'), 변환 행렬 T, 품질 파라미터, 및 변환 행렬에 대한 양자화 파라미터를 포함할 수 있다.
변환 행렬 인코더(610)는 예를 들어, 변환 행렬의 상이한 부분들에 대한 양자화 파라미터들에 기초하여, 변환 행렬 T를 인코딩한다. 변환 행렬 디코더(630)는 인코더(610)의 출력을 디코딩하여 재구성된 변환 행렬 T'을 구한다. 대응하는 재구성된 패턴 P' 및 T'을 이용하여, 인스턴스는 3D 컴포넌트 재구성 모듈(640)에서 C' = T'P'으로서 재구성될 수 있다. 가산기(670)는 원래의 인스턴스와 재구성된 인스턴스 간의 차이들을 예를 들면, E = C - C'으로서 구한다.
재구성된 인스턴스 및 변환 행렬에 대한 입력 양자화 파라미터들에 기초하여, 버텍스 좌표 오차 추정기(650)는 예를 들어, 수학식 2를 이용하여 버텍스 좌표 오차의 상한(eest)을 추정한다. 상한(eest)이 임계값을 초과하면, 버텍스 좌표 오차 양자화 파라미터 추정기(660)는 버텍스 좌표 오차 인코더(680)에서 버텍스 좌표 오차를 양자화하기 위한 양자화 파라미터를 추정한다. 변환 행렬 인코더(610) 및 버텍스 좌표 오차 인코더(680)의 출력들은 비트스트림 어셈블러(620)에 의해 비트스트림으로 조립되는데, 이 비트스트림은 3D 모델의 전체 비트스트림을 형성하기 위해 패턴 또는 다른 컴포넌트들을 나타내는 다른 비트스트림들과 결합될 수 있다.
도 7은 예시적인 인스턴스 디코더(700)의 블록도를 도시한다. 장치(700)의 입력은 인스턴스(C)에 대응하는 비트스트림, 예를 들어, 방법(300)에 따라 또는 인코더(600)에 의해 생성되는 비트스트림, 및 대응하는 재구성된 패턴(P')을 포함할 수 있다. 엔트로피 디코더(710)는 예를 들어, 변환 행렬에 사용되는 양자화 파라미터들 및 양자화된 버텍스 좌표 오차들을 얻기 위해 비트스트림을 엔트로피 디코딩한다.
변환 행렬 디코더(720)는 예를 들어, 변환 행렬의 상이한 부분들에 대한 양자화 파라미터들에 기초하여, 변환 행렬 T'을 재구성한다. 대응하는 재구성된 패턴 P'과 T'을 이용하여, 인스턴스는 3D 컴포넌트 재구성 모듈(730)에서 C' = T'P'으로서 재구성될 수 있다.
재구성된 인스턴스 및 변환 행렬에 대한 양자화 파라미터들에 기초하여, 버텍스 좌표 오차 추정기(740)는 예를 들어, 수학식 2를 사용하여, 버텍스 좌표 오차의 상한(eest)을 추정한다. 상한(eest)이 임계값을 초과하면, 버텍스 좌표 오차 양자화 파라미터 추정기(750)는 버텍스 좌표 오차 디코더(760)에서 버텍스 좌표 오차를 디코딩하기 위해 사용될 양자화 파라미터를 추정한다. 디코딩된 버텍스 좌표 오차들 E'은 3D 컴포넌트 재구성 모듈(730)에서 처음 재구성된 인스턴스를 리파인(refine)하기 위해 사용된다. 특히, 가산기(770)는 디코딩된 좌표 오차들(E')과 처음 재구성된 인스턴스(C')를, 예를 들어, C"= C'+ E'으로서 합산한다. 일반적으로 C"은 처음 재구성된 인스턴스(C')보다 원래 인스턴스의 보다 정확한 표현을 제공한다.
도 8은 예시적인 3D 모델 인코더(800)의 블록도를 도시한다. 장치(800)의 입력은 3D 모델, 3D 모델을 인코딩하기 위한 품질 파라미터, 및 기타 메타데이터를 포함할 수 있다. 3D 모델은 먼저 반복 구조 검색 모듈(810)을 거치고, 이 모듈은 패턴들, 인스턴스들, 및 고유 컴포넌트들에 관하여 3D 모델을 출력한다. 패턴 인코더(820)가 패턴들을 압축하는 데 이용되고 고유 컴포넌트 인코더(850)가 고유 컴포넌트들을 인코딩하는 데 이용된다. 인스턴스들에 대해, 인스턴스 컴포넌트 정보가 유저 선택 모드에 기초하여 인코딩된다. 인스턴스 정보 그룹 모드가 선택되면, 인스턴스 정보가 그룹화된 인스턴스 정보 인코더(840)를 사용하여 인코딩된다; 그렇지 않으면, 그것은 기본 인스턴스 정보 인코더(830)를 사용하여 인코딩된다. 인스턴스 인코더(600)는 인코더(830 또는 840)에서 사용될 수 있다. 인코딩된 컴포넌트들은 반복 구조 검증기(860)에서 더 검증된다. 인코딩된 컴포넌트가 그의 품질 요건을 충족시키지 않는다면, 그것은 고유 컴포넌트 인코더(850)를 사용하여 인코딩될 것이다. 패턴들, 인스턴스들, 및 고유 컴포넌트들에 대한 비트스트림들은 비트스트림 어셈블러(870)에서 조립된다.
도 9는 예시적인 3D 모델 디코더(900)의 블록도를 도시한다. 장치(900)의 입력은 3D 모델의 비트스트림 예를 들면, 인코더(800)에 의해 생성된 비트스트림을 포함할 수 있다. 압축된 비트스트림에 있어서 패턴들에 관련된 정보는 패턴 디코더(920)에 의해 디코딩된다. 고유 컴포넌트들에 관련된 정보는 고유 컴포넌트 디코더(950)에 의해 디코딩된다. 인스턴스 정보의 디코딩은 또한 유저-선택 모드에 의존한다. 인스턴스 정보 그룹 모드가 선택되면, 인스턴스 정보는 그룹화된 인스턴스 정보 디코더(940)를 이용하여 디코딩된다; 그렇지 않으면, 그것은 기본 인스턴스 정보 디코더(930)를 이용하여 디코딩된다. 인스턴스 디코더(700)는 디코더(930 또는 940)에서 사용될 수 있다. 디코딩된 패턴들, 인스턴스 정보, 및 고유 컴포넌트들은 모델 재구성 모듈(960)에서 출력 3D 모델을 생성하기 위해 재구성된다.
도 10을 참조하면, 전술한 특징들 및 원리들이 적용될 수 있는, 데이터 전송 시스템(1000)이 도시되어 있다. 데이터 전송 시스템(1000)은 예를 들어, 위성, 케이블, 전화선, 또는 지상파 방송 등 각종 매체 중 임의의 것을 이용하여 신호를 송신하는 헤드-엔드 또는 전송 시스템일 수 있다. 데이터 전송 시스템(1000)은 또한 저장을 위해 신호를 제공하기 위해 사용될 수 있다. 전송은 인터넷 또는 어떤 다른 네트워크를 통해 제공될 수 있다. 데이터 전송 시스템(1000)은 예를 들어, 비디오 콘텐츠 및 3D 모델들 등 다른 콘텐츠를 생성 및 전달할 수 있다.
데이터 전송 시스템(1000)은 프로세서(1001)로부터 처리된 데이터 및 다른 정보를 수신한다. 일 실시예에서, 프로세서(1001)는 3D 모델을 생성한다. 프로세서(1001)는 또한 예를 들어, 3D 모델들이 어떤 품질로 인코딩되어야 하는지를 지시하는 메타 데이터를 데이터 전송 시스템(1000)에 제공할 수 있다.
데이터 전송 시스템 또는 장치(1000)는 인코더(1002), 및 인코딩된 신호를 송신할 수 있는 송신기(1004)를 포함한다. 인코더(1002)는 프로세서(1001)로부터 데이터 정보를 수신한다. 인코더(1002)는 인코딩된 신호(들)를 생성한다. 인코더(1002)의 엔트로피 인코딩 엔진은 예를 들면, 산술 코딩(arithmetic coding) 또는 허프만 코딩(Huffman coding)일 수 있다. 그러면 인코더(1002)는 예를 들어, 도 8에서 전술한 인코더(800)일 수 있다.
인코더(1202)는 예를 들면, 각종 정보를 수신하고 저장 또는 전송을 위해 구조화된 포맷으로 조립하기 위한 어셈블리 유닛을 포함하는 서브-모듈들을 포함할 수 있다. 각종 정보는 예를 들면, 코딩된 또는 코딩되지 않은 비디오, 및 코딩된 또는 코딩되지 않은 요소들을 포함할 수 있다. 어떤 구현들에서, 인코더(1202)는 프로세서(1201)를 포함하고, 따라서 프로세서(1201)의 동작을 수행한다.
송신기(1204)는 인코더(1202)로부터 인코딩된 신호(들)를 수신하고, 인코딩된 신호(들)를 하나 이상의 출력 신호에서 송신한다. 송신기(1204)는 예를 들어, 인코딩된 화상들 및/또는 이와 관련된 정보를 나타내는 하나 이상의 비트스트림을 갖는 프로그램 신호를 송신하도록 적응될 수 있다. 전형적인 송신기들은 예를 들면, 에러 정정 코딩 제공, 신호에서의 데이터의 인터리빙, 신호에서의 에너지의 랜덤화, 및, 변조기(1206)를 사용하여 하나 이상의 캐리어에의 신호의 변조 중 하나 이상 등의 기능들을 수행한다. 송신기(1204)는 안테나(도시되지 않음) 또는 안테나와의 인터페이스를 포함할 수 있다. 또한, 송신기(1204)의 구현들은 변조기(1206)에 한정될 수 있다.
데이터 전송 시스템(1200)은 또한 저장 유닛(1208)에 통신 가능하게 연결된다. 일 실시예에서, 저장 유닛(1208)은 인코더(1202)에 결합되고, 인코더(1202)로부터의 인코딩된 비트스트림을 저장한다. 다른 구현에서, 저장 유닛(1208)은 송신기(1204)에 결합되고, 송신기(1204)로부터의 비트스트림을 저장한다. 송신기(1204)로부터의 비트스트림은 예를 들어, 송신기(1204)에 의해 더 처리된 하나 이상의 인코딩된 비트스트림을 포함할 수 있다. 다른 구현들에서, 저장 유닛(1208)은 표준 DVD, Blu-Ray 디스크, 하드 드라이브 또는 어떤 다른 저장 장치를 중 하나 이상이다.
도 11을 참조하면, 전술한 특징들 및 원리들이 적용될 수 있는 데이터 수신 시스템(1100)이 도시된다. 데이터 수신 시스템(1100)은 예를 들어, 저장 디바이스, 위성, 케이블, 전화선, 또는 지상파 방송 등 각종 매체를 통해 신호들을 수신하도록 구성될 수 있다. 신호들은 인터넷 또는 어떤 다른 네트워크를 통해 수신될 수 있다.
데이터 수신 시스템(1100)은 예를 들어, 셀-폰, 컴퓨터, 셋-탑 박스, 텔레비전, 또는 인코딩된 비디오를 수신하고 예를 들어, 표시(예를 들어, 유저에의 표시)용, 처리용, 또는 저장용의 디코딩된 비디오 신호를 제공하는 다른 디바이스일 수 있다. 따라서, 데이터 수신 시스템(1100)은 예를 들어, 텔레비전의 스크린, 컴퓨터 모니터, 컴퓨터(저장, 처리, 또는 표시용), 또는 어떤 다른 저장, 처리, 또는 표시 디바이스에 그것의 출력을 제공할 수 있다.
데이터 수신 시스템(1100)은 데이터 정보를 수신 및 처리할 수 있고, 데이터 정보는 예를 들어, 3D 모델들을 포함할 수 있다. 데이터 수신 시스템 또는 장치(1100)는 예를 들면, 본 출원의 구현들에서 설명되는 신호들 등 인코딩된 신호를 수신하기 위한 수신기(1102)를 포함한다. 수신기(1102)는 예를 들어, 하나 이상의 3D 모델을 제공하는 신호, 또는 도 10의 데이터 전송 시스템(1000)으로부터 출력되는 신호를 수신할 수 있다.
수신기(1102)는 예를 들어, 인코딩된 화상들 또는 3D 모델들을 표현하는 복수 개의 비트스트림을 갖는 프로그램 신호를 수신하도록 구성될 수 있다. 전형적인 수신기들은 예를 들어, 변조되고 인코딩된 데이터 신호의 수신, 복조기(1104)를 사용하여 하나 이상의 캐리어로부터의 데이터 신호의 복조, 신호에서의 에너지의 디-랜덤화(de-randomizing), 신호에서의 데이터의 디-인터리빙(de-interleaving), 및 신호의 에러 정정 디코딩 중 하나 이상 등 기능들을 수행한다. 수신기(1102)는 안테나(도시되지 않음) 또는 안테나와의 인터페이스를 포함할 수 있다. 수신기(1102)의 구현들은 복조기(1104)에 한정될 수 있다.
데이터 수신 시스템(1100)은 디코더(1106)를 포함한다. 수신기(1102)는 수신된 신호를 디코더(1106)에 제공한다. 수신기(1102)에 의해 디코더(1106)에 제공된 신호는 하나 이상의 인코딩된 비트스트림을 포함할 수 있다. 디코더(1106)는 예를 들면 비디오 정보 또는 3D 모델들을 포함한 디코딩된 비디오 신호 등 디코딩된 신호를 출력한다. 디코더(1106)는 예를 들어, 도 9에 설명된 디코더(900)일 수 있다.
데이터 수신 시스템 또는 장치(1100)는 또한 통신가능하게 저장 유닛(1107)에 연결된다. 일 구현에서, 저장 유닛(1107)은 수신기(1102)에 연결되고, 수신기(1102)는 저장 유닛(1107)으로부터의 비트스트림에 액세스한다. 다른 구현에서는, 저장 유닛(1107)은 디코더(1106)에 연결되고, 디코더(1106)는 저장 유닛(1107)으로부터의 비트스트림에 액세스한다. 저장 유닛(1107)으로부터 액세스된 비트스트림은, 다른 구현들에 있어서, 하나 이상의 인코딩된 비트스트림을 포함한다. 저장 유닛(1107)은 다른 구현들에 있어서, 표준 DVD, Blu-Ray 디스크, 하드 드라이브, 또는 어떤 다른 저장 디바이스 중 하나 이상이다.
일 구현에서, 디코더(1106)로부터의 출력 데이터는 프로세서(1108)에 제공된다. 프로세서(1108)는, 일 구현에서, 3D 모델 재구성을 수행하기 위해 구성된 프로세서이다. 어떤 구현들에 있어서, 디코더(1106)는 프로세서(1108)를 포함하므로, 프로세서(1108)의 동작을 수행한다. 다른 구현들에서, 프로세서(1108)는 예를 들면, 셋톱 박스 또는 텔레비전 등 다운스트림 디바이스(downstream device)의 일부이다.
본 명세서에 기재된 구현들은 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림 또는 신호로 구현될 수 있다. 구현에 있어서 신호 형태의 맥락에서만 논의되었지만(예를 들어, 방법으로서만 논의됨), 논의된 특징들의 구현은 다른 형태들(예를 들어, 장치 또는 프로그램)로 또한 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 예를 들어, 방법들은 일반적으로 예를 들면, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그램가능 로직 디바이스를 포함하는 프로세싱 디바이스들을 지칭하는 예를 들어, 프로세서 등 장치에서 구현될 수 있다. 프로세서들은 또한 예를 들면, 컴퓨터, 셀폰, 휴대용/개인 휴대 정보 단말기(personal digital assistants: "PDAs"), 및 말단 유저들 사이의 정보의 통신을 용이하게 하는 다른 디바이스들 등 통신 디바이스들도 포함한다.
본 원리들의 "일 실시예" 또는 "실시예" 또는 "일 구현" 또는 "구현"뿐만 아니라 그것들의 다른 변형들에 대한 참조는 실시예와 관련하여 설명된 특정 특징, 구조, 및 특성 등이 본 원리들의 적어도 일 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전반에 걸쳐 여러 개소들에서 나타나는 "일 실시예에서", 또는 "실시예에서", 또는 "일 구현에서", 또는 "구현에서"라는 문구뿐만 아니라 임의의 다른 변형들의 등장은 반드시 모두 동일한 실시예를 참조하는 것은 아니다.
또한, 본 출원 또는 그것의 청구항들은 다양한 정보를 "결정"하는 것을 언급할 수 있다. 정보를 결정하는 것은 예를 들어, 정보의 추정, 정보의 산출, 정보의 예측, 또는 메모리로부터 정보의 검색 중 하나 이상을 포함할 수 있다.
또한, 본 출원 또는 그것의 청구항들은 각종 정보의 "액세스"를 언급할 수 있다. 정보의 "액세스"는 예를 들어, 정보의 수신, (예를 들어, 메모리로부터의) 정보의 검색, 정보의 저장, 정보의 처리, 정보의 송신, 정보의 이동, 정보의 복사, 정보의 소거, 정보의 산출, 정보의 결정, 정보의 예측, 또는 정보의 추정 중 하나 이상을 포함할 수 있다.
또한, 본 출원 또는 그것의 청구항들은 각종 정보의 "수신"을 언급할 수 있다. "액세스"와 마찬가지로, "수신"은 광범위한 용어로 의도된다. 정보의 수신은 예를 들어, 정보의 액세스, 또는 (예를 들어, 메모리로부터의) 정보의 검색 중 하나 이상을 포함할 수 있다. 또한, "수신"은 예를 들어, 정보의 저장, 정보의 처리, 정보의 송신, 정보의 이동, 정보의 복사, 정보의 소거, 정보의 산출, 정보의 결정, 정보의 예측, 또는 정보의 추정 등의 동작 동안 어떻게든 관련될 수 있다.
당업자에게 자명한 바와 같이, 구현들은 예를 들어, 저장 또는 송신될 수 있는 정보를 반송하기 위해 포맷화된 각종 신호들을 생성할 수 있다. 정보는 예를 들어, 방법을 수행하기 위한 명령어들 또는 전술한 구현들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 비트스트림을 반송하도록 포맷화될 수 있다. 그러한 신호는 (예를 들어, 무선 주파수 스펙트럼의 일부를 사용하는) 예를 들어, 전자파로서 또는 기저대역 신호로서 포맷화될 수 있다. 포맷화는 예를 들어, 데이터 스트림의 인코딩, 및 인코딩된 데이터 스트림에 의한 캐리어의 변조를 포함할 수 있다. 신호가 반송하는 정보는 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 공지된 바와 같이, 신호는 각종 상이한 유선 또는 무선 링크를 통해 전송될 수 있다. 신호는 프로세서-판독가능 매체에 저장될 수 있다.
Claims (30)
- 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법으로서,
패턴의 인스턴스에 대응하는 재구성된 인스턴스에 액세스하는 단계(340, 420) - 상기 패턴은 상기 3D 모델의 구조와 연관되고, 상기 인스턴스는 상기 패턴의 변환으로서 표현됨 -;
상기 변환의 회전부(rotation part)를 양자화하기 위해 사용되는 제1 양자화 파라미터에 액세스하는 단계(310, 410) - 상기 재구성된 인스턴스는 상기 제1 양자화 파라미터에 응답하여 결정됨 -;
(1) 상기 제1 양자화 파라미터 및 (2) 상기 재구성된 인스턴스의 대응하는 버텍스와 상기 재구성된 인스턴스의 회전 중심 사이의 거리 중 적어도 하나에 응답하여, 상기 인스턴스의 버텍스와 상기 재구성된 인스턴스의 대응하는 버텍스 사이의 버텍스 좌표 오차의 상한을 추정하는 단계;
상기 추정된 상한에 응답하여 상기 버텍스 좌표 오차를 양자화하기 위한 제2 양자화 파라미터를 결정하는 단계; 및
상기 제2 양자화 파라미터에 기초하여, 상기 인스턴스의 버텍스와 상기 재구성된 인스턴스의 대응하는 버텍스 사이의 버텍스 좌표 오차의 인코딩 또는 디코딩을 수행하는 단계(350, 430)
를 포함하는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 제1항에 있어서,
상기 수행하는 단계는, (1) 상기 제1 양자화 파라미터 및 (2) 상기 재구성된 인스턴스의 대응하는 버텍스와 상기 재구성된 인스턴스의 회전 중심 사이의 거리 중 적어도 하나에 응답하여, 상기 버텍스 좌표 오차가 인코딩 또는 디코딩될 필요가 있는지를 결정하는 단계(350, 430)를 포함하는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 제1항에 있어서,
상기 제2 양자화 파라미터는 최대 허용 가능한 오차에 추가로 응답하여 결정되는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 제8항에 있어서,
상기 최대 허용 가능한 오차는, 상기 변환의 평행이동부(translation part)의 양자화 또는 상기 패턴의 기하구조의 양자화와 연관된 양자화 오차에 응답하여 결정되는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 제9항에 있어서,
상기 변환의 평행이동부의 양자화와 연관된 양자화 오차는, 상기 평행이동부의 양자화를 위한 제3 양자화 파라미터 및 상기 평행이동부에 대한 범위에 응답하여 결정되는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 삭제
- 제1항에 있어서,
상기 인스턴스의 버텍스와 상기 재구성된 인스턴스의 대응하는 버텍스 사이의 버텍스 좌표 오차를 결정하는 단계(355);
상기 제2 양자화 파라미터에 응답하여 상기 결정된 버텍스 좌표 오차를 양자화하여, 양자화된 오차를 형성하는 단계(365); 및
상기 양자화된 오차를 상기 비트스트림으로 인코딩하는 단계(370)
를 더 포함하는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 제1항에 있어서,
상기 비트스트림으로부터 상기 인스턴스의 버텍스와 상기 재구성된 인스턴스의 대응하는 버텍스 사이의 버텍스 좌표 오차를 결정하는 단계(450);
상기 제2 양자화 파라미터에 응답하여 상기 결정된 버텍스 좌표 오차를 역양자화하여, 역양자화된 오차를 형성하는 단계(460); 및
상기 역양자화된 오차에 응답하여 상기 재구성된 인스턴스를 리파인(refining)하는 단계(470)
를 더 포함하는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법. - 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 장치(800, 900)로서,
패턴의 인스턴스에 대응하는 재구성된 인스턴스를 재구성하는 3D 컴포넌트 재구성 모듈(640, 730) - 상기 패턴은 상기 3D 모델의 구조와 연관되고, 상기 인스턴스는 상기 패턴의 변환으로서 표현되고, 상기 재구성은 상기 변환의 회전부를 양자화하기 위해 사용되는 제1 양자화 파라미터에 응답하여 이루어짐 -;
(1) 상기 제1 양자화 파라미터 및 (2) 상기 재구성된 인스턴스의 대응하는 버텍스와 상기 재구성된 인스턴스의 회전 중심 사이의 거리 중 적어도 하나에 응답하여, 특정 축을 따라, 상기 인스턴스의 버텍스와 상기 재구성된 인스턴스의 대응하는 버텍스 사이의 버텍스 좌표 오차의 상한을 추정하는 버텍스 좌표 오차 추정기(650, 740);
상기 특정 축을 따른 상기 버텍스 좌표 오차에 대한 추정된 상한에 응답하여 상기 특정 축을 따른 상기 버텍스 좌표 오차를 양자화하기 위한 제2 양자화 파라미터를 결정하는 버텍스 좌표 오차 양자화 파라미터 추정기(660, 750); 및
상기 제2 양자화 파라미터에 기초하여, 상기 인스턴스의 버텍스와 상기 재구성된 인스턴스의 대응하는 버텍스 사이의 버텍스 좌표 오차를 각각 인코딩 또는 디코딩하는 버텍스 좌표 오차 인코더(680) 또는 버텍스 좌표 오차 디코더(760)
를 포함하는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 장치. - 제15항에 있어서,
상기 버텍스 좌표 오차 추정기(650, 740)는, 상기 제1 양자화 파라미터, 및 상기 재구성된 인스턴스의 대응하는 버텍스와 상기 재구성된 인스턴스의 회전 중심 사이의 거리 중 적어도 하나에 응답하여, 상기 버텍스 좌표 오차가 인코딩 또는 디코딩될 필요가 있는지를 결정하는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 장치. - 삭제
- 삭제
- 삭제
- 삭제
- 제15항에 있어서,
상기 제2 양자화 파라미터는 최대 허용 가능한 오차에 추가로 응답하여 결정되는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 장치. - 제22항에 있어서,
상기 버텍스 좌표 오차 양자화 파라미터 추정기(660, 750)는, 상기 변환의 평행이동부의 양자화 또는 상기 패턴의 기하구조의 양자화와 연관된 양자화 오차에 응답하여 상기 최대 허용 가능한 오차를 결정하는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 장치. - 제23항에 있어서,
상기 버텍스 좌표 오차 양자화 파라미터 추정기(660, 750)는, 상기 변환의 평행이동부의 양자화를 위한 제3 양자화 파라미터 및 상기 평행이동부에 대한 범위에 응답하여 상기 평행이동부의 양자화와 연관된 양자화 오차를 결정하는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 장치. - 삭제
- 제15항에 있어서,
상기 인스턴스의 버텍스와 상기 재구성된 인스턴스의 대응하는 버텍스 사이의 버텍스 좌표 오차를 결정하는 가산기(670); 및
상기 제2 양자화 파라미터에 응답하여 상기 결정된 버텍스 좌표 오차를 인코딩하는 버텍스 좌표 오차 인코더(680)
를 더 포함하는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 장치. - 제15항에 있어서,
상기 비트스트림으로부터 상기 인스턴스의 버텍스와 상기 재구성된 인스턴스의 대응하는 버텍스 사이의 버텍스 좌표 오차를 결정하는 엔트로피 디코더(710);
상기 제2 양자화 파라미터에 응답하여 상기 결정된 버텍스 좌표 오차를 디코딩하여, 역양자화된 오차를 형성하는 버텍스 좌표 오차 디코더(760); 및
상기 역양자화된 오차에 응답하여 상기 재구성된 인스턴스를 리파인하는 가산기(770)
를 더 포함하는, 3D 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 장치. - 삭제
- 삭제
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/074286 WO2013155687A1 (en) | 2012-04-18 | 2012-04-18 | Vertex correction method and apparatus for rotated three-dimensional (3d) components |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140146611A KR20140146611A (ko) | 2014-12-26 |
KR101958844B1 true KR101958844B1 (ko) | 2019-03-18 |
Family
ID=49382806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147028909A KR101958844B1 (ko) | 2012-04-18 | 2012-04-18 | 3d 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법 및 장치 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9621924B2 (ko) |
EP (1) | EP2839439B1 (ko) |
JP (1) | JP6019215B2 (ko) |
KR (1) | KR101958844B1 (ko) |
CN (1) | CN104221057B (ko) |
BR (1) | BR112014025640B1 (ko) |
WO (1) | WO2013155687A1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6246233B2 (ja) * | 2013-01-10 | 2017-12-13 | トムソン ライセンシングThomson Licensing | 頂点誤差訂正のための方法および装置 |
EP4250235A1 (en) * | 2022-03-25 | 2023-09-27 | Beijing Xiaomi Mobile Software Co., Ltd. | Encoding/decoding positions of points of a point cloud emcompassed in a cuboid volume |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5905502A (en) | 1995-08-04 | 1999-05-18 | Sun Microsystems, Inc. | Compression of three-dimensional graphics data using a generalized triangle mesh format utilizing a mesh buffer |
US6075901A (en) | 1998-12-04 | 2000-06-13 | France Telecom | Method and system for predictive encoding of arrays of data |
US6204854B1 (en) | 1998-12-04 | 2001-03-20 | France Telecom | Method and system for encoding rotations and normals in 3D generated scenes |
US20030081849A1 (en) | 2001-07-16 | 2003-05-01 | Smith Joshua Edward | Method and system for creating seamless textured three dimensional models of objects |
US6891535B2 (en) | 2001-03-16 | 2005-05-10 | Mitsubishi Electric Research Labs, Inc. | System and method for modeling graphics objects |
US6947045B1 (en) | 2002-07-19 | 2005-09-20 | At&T Corporation | Coding of animated 3-D wireframe models for internet streaming applications: methods, systems and program products |
US20070216711A1 (en) | 2006-03-14 | 2007-09-20 | Microsoft Corporation Microsoft Patent Group | Abstracting transform representations in a graphics API |
US7289868B2 (en) | 2005-08-22 | 2007-10-30 | Hewlett-Packard Development Company, L.P. | System and method for calculating a shift value between pattern instances |
US20080031325A1 (en) | 2006-08-03 | 2008-02-07 | Yingyong Qi | Mesh-based video compression with domain transformation |
US20090184956A1 (en) | 2008-01-21 | 2009-07-23 | Samsung Electronics Co., Ltd. | Method, medium, and system for compressing and decoding mesh data in three-dimensional mesh model |
US20110285708A1 (en) | 2009-02-06 | 2011-11-24 | Qu Qing Chen | Method and apparatus for encoding 3d mesh models, and method and apparatus for decoding encoded 3d mesh models |
US20120075302A1 (en) | 2009-06-10 | 2012-03-29 | Thomson Licensing Llc | Method for encoding/decoding a 3d mesh model that comprises one or more components |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5736987A (en) * | 1996-03-19 | 1998-04-07 | Microsoft Corporation | Compression of graphic data normals |
US5870220A (en) * | 1996-07-12 | 1999-02-09 | Real-Time Geometry Corporation | Portable 3-D scanning system and method for rapid shape digitizing and adaptive mesh generation |
KR19990002045A (ko) | 1997-06-18 | 1999-01-15 | 양승택 | 예측 잉여신호 벡터 양자화를 이용한 3차원 그래픽 모델의 정점 위치 다단계 압축 방법 |
JP2909625B1 (ja) * | 1998-06-17 | 1999-06-23 | 株式会社超高速ネットワーク・コンピュータ技術研究所 | 三次元動画データ圧縮方法および三次元動画データ転送方法 |
AU5484100A (en) | 1999-06-30 | 2001-01-22 | Intel Corporation | 3d image coding |
KR100292803B1 (ko) | 1999-07-06 | 2001-06-15 | 정선종 | 3차원 메쉬모델의 정점위치 압축방법 및 장치 |
JP2001231037A (ja) | 2000-02-17 | 2001-08-24 | Casio Comput Co Ltd | 画像処理システム、画像処理装置、及び記憶媒体 |
JP2004102834A (ja) | 2002-09-11 | 2004-04-02 | Ricoh Co Ltd | 三角形メッシュのデータ構造、三角形メッシュデータ圧縮方法および伸張方法、プログラム、記録媒体およびシステム |
KR20060088136A (ko) * | 2005-02-01 | 2006-08-04 | (주) 써니그라피 | 3차원 사각 메쉬의 연결 정보 데이터 단순 압축및 해제의 기술. |
JP2006277772A (ja) * | 2006-07-10 | 2006-10-12 | Sony Computer Entertainment Inc | 情報処理装置、情報処理方法、情報処理プログラム、記録媒体、及び情報提供装置 |
CN101511017B (zh) * | 2009-03-20 | 2011-02-09 | 西安电子科技大学 | 基于网格的立体视频空间可分级编码器及其编码方法 |
WO2010149492A1 (en) * | 2009-06-23 | 2010-12-29 | Thomson Licensing | Compression of 3d meshes with repeated patterns |
CN101666625B (zh) * | 2009-09-30 | 2012-08-08 | 长春理工大学 | 畸变误差无模型校正方法 |
KR101637624B1 (ko) * | 2009-10-15 | 2016-07-07 | 톰슨 라이센싱 | 메시 모델을 인코딩하는 방법 및 장치, 인코딩된 메시 모델, 그리고 메시 모델을 디코딩하는 방법 및 장치 |
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 |
JP5735114B2 (ja) * | 2010-09-30 | 2015-06-17 | トムソン ライセンシングThomson Licensing | エンコード方法、エンコード装置、デコード方法及びデコード装置 |
CN102509339B (zh) | 2011-10-10 | 2014-04-02 | 武汉大学 | 一种带纹理约束的三维模型顶点聚类简化方法 |
US8736603B2 (en) * | 2011-11-02 | 2014-05-27 | Visual Technology Services Limited | Compression of texture rendered wire mesh models |
WO2013113170A1 (en) | 2012-02-03 | 2013-08-08 | Thomson Licensing | System and method for error controllable repetitive structure discovery based compression |
-
2012
- 2012-04-18 KR KR1020147028909A patent/KR101958844B1/ko active IP Right Grant
- 2012-04-18 US US14/390,546 patent/US9621924B2/en active Active
- 2012-04-18 WO PCT/CN2012/074286 patent/WO2013155687A1/en active Application Filing
- 2012-04-18 BR BR112014025640-3A patent/BR112014025640B1/pt active IP Right Grant
- 2012-04-18 JP JP2015506063A patent/JP6019215B2/ja active Active
- 2012-04-18 CN CN201280072401.7A patent/CN104221057B/zh active Active
- 2012-04-18 EP EP12874800.1A patent/EP2839439B1/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5905502A (en) | 1995-08-04 | 1999-05-18 | Sun Microsystems, Inc. | Compression of three-dimensional graphics data using a generalized triangle mesh format utilizing a mesh buffer |
US6075901A (en) | 1998-12-04 | 2000-06-13 | France Telecom | Method and system for predictive encoding of arrays of data |
US6204854B1 (en) | 1998-12-04 | 2001-03-20 | France Telecom | Method and system for encoding rotations and normals in 3D generated scenes |
US6891535B2 (en) | 2001-03-16 | 2005-05-10 | Mitsubishi Electric Research Labs, Inc. | System and method for modeling graphics objects |
US20030081849A1 (en) | 2001-07-16 | 2003-05-01 | Smith Joshua Edward | Method and system for creating seamless textured three dimensional models of objects |
US6947045B1 (en) | 2002-07-19 | 2005-09-20 | At&T Corporation | Coding of animated 3-D wireframe models for internet streaming applications: methods, systems and program products |
US7289868B2 (en) | 2005-08-22 | 2007-10-30 | Hewlett-Packard Development Company, L.P. | System and method for calculating a shift value between pattern instances |
US20070216711A1 (en) | 2006-03-14 | 2007-09-20 | Microsoft Corporation Microsoft Patent Group | Abstracting transform representations in a graphics API |
US20080031325A1 (en) | 2006-08-03 | 2008-02-07 | Yingyong Qi | Mesh-based video compression with domain transformation |
US20090184956A1 (en) | 2008-01-21 | 2009-07-23 | Samsung Electronics Co., Ltd. | Method, medium, and system for compressing and decoding mesh data in three-dimensional mesh model |
US8310480B2 (en) | 2008-01-21 | 2012-11-13 | Samsung Electronics Co., Ltd. | Method, medium, and system for compressing and decoding mesh data in three-dimensional mesh model |
US20110285708A1 (en) | 2009-02-06 | 2011-11-24 | Qu Qing Chen | Method and apparatus for encoding 3d mesh models, and method and apparatus for decoding encoded 3d mesh models |
US20120075302A1 (en) | 2009-06-10 | 2012-03-29 | Thomson Licensing Llc | Method for encoding/decoding a 3d mesh model that comprises one or more components |
Also Published As
Publication number | Publication date |
---|---|
US20150055882A1 (en) | 2015-02-26 |
EP2839439B1 (en) | 2024-02-28 |
CN104221057A (zh) | 2014-12-17 |
CN104221057B (zh) | 2018-01-02 |
JP6019215B2 (ja) | 2016-11-02 |
JP2015520885A (ja) | 2015-07-23 |
KR20140146611A (ko) | 2014-12-26 |
WO2013155687A1 (en) | 2013-10-24 |
EP2839439A1 (en) | 2015-02-25 |
BR112014025640B1 (pt) | 2021-08-10 |
US9621924B2 (en) | 2017-04-11 |
BR112014025640A2 (pt) | 2017-06-20 |
EP2839439A4 (en) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11727548B2 (en) | Method and apparatus for encoding and decoding HDR images | |
US9930329B2 (en) | Video encoding and decoding based on image refinement | |
KR20140116114A (ko) | 3차원 (3d) 모델들의 텍스처 정보를 압축하는 방법 및 장치 | |
EP2943936B1 (en) | Method and apparatus for vertex error correction | |
KR101958844B1 (ko) | 3d 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법 및 장치 | |
JP6093847B2 (ja) | 反復構造の発見に基づく3dモデル圧縮のための方法及び装置 | |
EP2927865A1 (en) | Method and apparatus for encoding and decoding HDR images |
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 |