KR100903711B1 - 텍스처 부호화 장치, 텍스처 복호화 장치, 방법 및 프로그램을 기록한 컴퓨터 독출가능한 매체 - Google Patents

텍스처 부호화 장치, 텍스처 복호화 장치, 방법 및 프로그램을 기록한 컴퓨터 독출가능한 매체 Download PDF

Info

Publication number
KR100903711B1
KR100903711B1 KR1020077004713A KR20077004713A KR100903711B1 KR 100903711 B1 KR100903711 B1 KR 100903711B1 KR 1020077004713 A KR1020077004713 A KR 1020077004713A KR 20077004713 A KR20077004713 A KR 20077004713A KR 100903711 B1 KR100903711 B1 KR 100903711B1
Authority
KR
South Korea
Prior art keywords
data
block
texture
unit
encoded
Prior art date
Application number
KR1020077004713A
Other languages
English (en)
Other versions
KR20070069139A (ko
Inventor
마사히로 세키네
Original Assignee
가부시끼가이샤 도시바
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시끼가이샤 도시바 filed Critical 가부시끼가이샤 도시바
Publication of KR20070069139A publication Critical patent/KR20070069139A/ko
Application granted granted Critical
Publication of KR100903711B1 publication Critical patent/KR100903711B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

본 발명의 텍스처 부호화 장치는, 복수의 다른 조건으로 공급한 텍스처군의 텍스처 데이터를 취득하는 텍스처 데이터 취득부와, 상기 텍스처 데이터를, 상기 텍스처군에서 상기 조건에 대응하는 값이 어떤 제1 범위 내에 있고 또한 화소 위치가 어떤 제2 범위 내에 있는 복수의 화소 데이터를 포함하고 있는 복수의 블록 데이터로 분할하는 블록 분할부, 상기 블록 데이터의 각각을 부호화하여 복수의 부호화된 블록 데이터를 생성하는 블록 데이터 부호화부 및, 상기 부호화된 블록 데이터를 연결해서 텍스처군의 부호화 데이터를 생성하는 블록 데이터 연결부를 구비하고 있다.

Description

텍스처 부호화 장치, 텍스처 복호화 장치, 방법 및 프로그램을 기록한 컴퓨터 독출가능한 매체 {TEXTURE ENCODING APPARATUS, TEXTURE DECODING APPARATUS, METHOD, AND COMPUTER READABLE MEDIUM RECORDING PROGRAM}
본 발명은 3차원(3D) 컴퓨터 그래픽스 분야에서의 고품위 텍스처 매핑 기술을 갖춘 텍스처 부호화 장치, 텍스처 복호화 장치, 방법 및 프로그램을 기록한 컴퓨터 독출가능한 매체에 관한 것으로, 특히 복수의 조건으로 취득 또는 작성한 텍스처 데이터를 부호화하는 것에 의한 데이터량의 압축, 그래픽스 LSI 상에서 텍스처 매핑을 할 때의 텍스처 데이터의 효율적인 복호화 및 매핑을 수행하는 텍스처 부호화 장치, 텍스처 복호화 장치, 방법 및 프로그램을 기록한 컴퓨터 독출가능한 매체에 관한 것이다.
최근, 3차원 컴퓨터 그래픽스(CG) 기술이 급속히 발전하고 있고, 실제로 촬영한 영상과 착각할 정도의 리얼한 그래픽스 표현이 가능하게 되고 있다. 그렇지만, 영화나 텔레비전(TV) 등에서 제작되는 고품위 CG는 작성자(creator)의 장시간에 걸친 꾸준한 수작업에 의해 만들어져 막대한 비용을 필요로 하게 된다. 금후, 더 다양한 CG 표현이 요구되리라고 생각되는 바, 어떻게 비용을 들이지 않고 간단히 고품위 CG를 만들어 내는가가 과제로 되고 있다.
CG 표현 중에서, 특히 어려운 것이 천(cloth), 피부 또는 머리카락(털) 등의 표현이다. 이러한 부드러운 질감을 갖는 소재에 대해서는, 그 물체를 보는 방향(시점 방향) 및 빛을 조사하는 방향(광원 방향)에 의해 변화하는 물체 표면의 색변화나 물체 자신이 만들어 내는 도자(self shadow)의 표현이 매우 중요하다. 그래서 근래, 실제로 존재하는 소재를 촬영해서, 그 소재의 특성을 재현함으로써 리얼한 CG를 만들어 내는 수법이 활발히 이용되고 있다. 시점 방향 및 광원 방향에 따른 표면 질감의 표현에 관해서는, BRDF(Bi-directional Reference Distribution Function)나 BTF(Bi-directional Texture Function), PTM(Polynomial Texture Maps)으로 불리는 모델화 수법의 연구가 진행되고 있다(예를 들면 미국 특허 제6,297,834호 참조).
시점 방향이나 광원 방향에 따라 변화하는 물체 표면의 광학적 특성을, 텍스처 데이터를 이용해서 표현하려고 하는 경우, 시점 방향이나 광원 방향의 조건이 다른 대량의 텍스처 화상을 필요로 하기 때문에, 실용적인 시스템으로서 이용되고 있지 않은 것이 현상이다.
이들 수법은, 취득 데이터를 해석함으로써 함수 모델을 도출한다고 하는 어프로치(approach)를 채용하고 있다. 그렇지만, 실제로 존재하는 소재의 불규칙한 음영 변화나 휘도 변화를 함수 변환하는데는 한계가 있어, 많은 과제가 남아 있다. 데이터량이 방대하다고 하는 것은 그 중에서도 큰 문제이다.
본 발명은, 상술한 사정을 고려해서 이루어진 것으로, 데이터량을 압축할 수가 있는 텍스처 부호화 장치, 방법, 및 프로그램을 기록한 컴퓨터 독출가능한 매체를 제안하는 것, 또 부호화된 텍스처군을 이용해서 텍스처 매핑을 행할 때에, 그 복호화나 매핑을 고속으로 실현할 수 있는 텍스처 복호화 장치, 방법, 및 프로그램을 기록한 컴퓨터 독출가능한 매체을 제안하는 것을 목적으로 하고 있다.
상기한 과제를 해결하기 위해 본 발명의 제1 국면(aspect)에 따르면, 복수의 다른 조건으로 공급한 텍스처군의 텍스처 데이터를 취득하는 텍스처 데이터 취득부와,
상기 텍스처 데이터를, 상기 텍스처군에서 상기 조건에 대응하는 값이 어떤 제1 범위 내에 있고 또한 화소 위치가 어떤 제2 범위 내에 있는 복수의 화소 데이터를 포함하고 있는 복수의 블록 데이터로 분할하는 블록 분할부,
상기 블록 데이터의 각각을 부호화하여 복수의 부호화된 블록 데이터를 생성하는 블록 데이터 부호화부 및,
상기 부호화된 블록 데이터를 연결해서 텍스처군의 부호화 데이터를 생성하는 블록 데이터 연결부를 구비하는 텍스처 부호화 장치가 제공된다.
또, 본 발명의 제2 국면에 따르면, 복수의 다른 조건으로 공급한 텍스처군의 텍스처 데이터를 취득하는 텍스처 취득부와,
상기 텍스처 데이터를, 상기 텍스처군에서 상기 조건에 대응하는 값이 어떤 제1 범위 내에 있고 또한 화소 위치가 어떤 제2 범위 내에 있는 복수의 화소 데이터를 포함하고 있는 복수의 블록 데이터로 분할하는 블록 분할부,
상기 블록 데이터의 각각을 부호화하여 복수의 부호화된 블록 데이터를 생성하는 블록 데이터 부호화부,
상기 부호화된 블록 데이터의 각각의 부호화 오차를 산출하는 오차 산출부,
상기 부호화된 블록 데이터마다, 상기 산출된 부호화 오차와, 부호화 오차가 어떤 범위 내인가를 나타내는 허용조건을 비교하는 비교부 및,
상기 산출된 부호화 오차가 상기 허용조건을 만족시키는 부호화된 블록 데이터를 연결하는 블록 데이터 연결부를 구비하고,
상기 산출된 부호화 오차가 상기 허용조건을 만족시키지 않는 블록 데이터에 대해서는, 상기 블록 분할부가 그 블록 데이터를 상기 분할된 블록 데이터보다 작은 데이터량을 갖는 블록 데이터로 분할하는 텍스처 부호화 장치가 제공된다.
또, 본 발명의 제3 국면에 따르면, 복수의 다른 조건으로 공급한 텍스처군의 부호화 데이터를 취득하는 부호화 데이터 취득부와,
화소 위치를 지정하는 복수의 텍스처 좌표와 상기 조건을 지정하는 조건 파라미터를 취득하는 지정 데이터 취득부,
상기 부호화 데이터 중에서, 상기 텍스처 좌표 및 상기 조건 파라미터에 대응하는 블록 데이터를 추출하는 블록 데이터 추출부,
상기 추출된 블록 데이터를 복호화하는 블록 데이터 복호화부 및,
상기 복호화된 데이터를 기초로 복수의 화소 데이터를 산출하는 화소 데이터 산출부를 구비하는 텍스처 복호화 장치가 제공된다.
또, 본 발명의 제4 국면에 따르면, 복수의 다른 조건으로 공급한 텍스처군의 부호화 데이터를 취득하는 부호화 데이터 취득부와,
상기 부호화 데이터에 포함되는 블록의 사이즈를 고정 블록 사이즈로 변환하는 부호화 데이터 변환부,
화소 위치를 지정하는 복수의 텍스처 좌표와 상기 조건을 지정하는 조건 파라미터를 취득하는 지정 데이터 취득부,
상기 변환된 부호화 데이터 중에서, 상기 텍스처 좌표 및 상기 조건 파라미터에 대응하는 블록 데이터를 추출하는 블록 데이터 추출부,
상기 추출된 블록 데이터를 복호화하는 블록 데이터 복호화부 및,
상기 복호화된 데이터를 기초로 복수의 화소 데이터를 산출하는 화소 데이터 산출부를 구비하는 텍스처 복호화 장치가 제공된다.
도 1은 본 발명의 제1의 실시형태에 따른 텍스처 부호화 장치의 블록도.
도 2는 본 발명의 제1의 실시형태에 따른 텍스처 부호화 장치의 동작을 나타낸 플로우차트(flow chart).
도 3은 도 1의 입력부가 텍스처를 취득하는 경우의 시점 및 광원의 위치를 지시하는 각도 파라미터를 나타낸 도면.
도 4는 화소 데이터 및 대표벡터의 분포를 나타낸 도면.
도 5는 도 4에 대응하는 부호화 방법에 의해 부호화된 블록 데이터의 부호화 포맷을 나타낸 도면.
도 6은 벡터 변화량(vector difference)을 이용한 블록 데이터의 부호화를 나타낸 도면.
도 7은 도 6에 대응하는 부호화 방법에 의해 부호화된 블록 데이터의 부호화 포맷을 나타낸 도면.
도 8은 보간율을 이용한 블록 데이터의 부호화를 나타낸 도면.
도 9는 도 8에 대응하는 부호화 방법에 의해 부호화된 블록 데이터의 부호화 포맷을 나타낸 도면.
도 10은 보간을 지시할 뿐인 인덱스를 이용한 블록 데이터의 부호화를 나타낸 도면.
도 11은 도 10에 대응하는 부호화 방법에 의해 부호화된 블록 데이터의 부호화 포맷을 나타낸 도면.
도 12는 매크로 블록이나 텍스처 전체의 코드북을 이용한 블록 데이터의 부호화 포맷을 나타낸 도면.
도 13은 벡터 성분마다 분할한 블록 데이터의 부호화 포맷을 나타낸 도면.
도 14는 텍스처군의 부호화 데이터 구조를 나타낸 도면.
도 15는 도 1의 텍스처 부호화 장치의 처리의 개요를 나타낸 도면.
도 16은 도 15에 대응하는 종래의 처리의 개요를 나타낸 도면.
도 17은 도 2의 스텝 S203에서 산출되는 대표벡터의 산출방법을 나타낸 플로우차트.
도 18은 본 발명의 제2의 실시형태에 따른 텍스처 부호화 장치에 의한 블록 분할방법을 나타낸 플로우차트.
도 19는 본 발명의 제2의 실시형태에서의 부호화 오차를 이용해서 블록을 분할하는 텍스처 부호화 장치의 블록도.
도 20은 도 19의 텍스처 부호화 장치에서 사용되는 블록 지정 데이터를 포함한 부호화 데이터 구조를 나타낸 도면.
도 21은 본 발명의 제3의 실시형태에 따른 텍스처 복호화 장치의 블록도.
도 22는 도 21의 텍스처 복호화 장치의 동작을 나타낸 플로우차트.
도 23a 및 도 23b는 u와 v방향을 기준으로 한 텍스처 데이터의 배치방법을 나타낸 도면.
도 24a 및 도 24b는 θ방향을 기준으로 한 텍스처 데이터의 배치방법을 나타낸 도면.
도 25a 및 도 25b는 φ방향을 기준으로 한 텍스처 데이터의 배치방법을 나타낸 도면.
도 26a 및 도 26b는 도 24a와 도 25a의 텍스처 데이터의 배치를 약간 변경시킨 방법을 나타낸 도면.
도 27은 본 발명의 제4의 실시형태에 따른 텍스처 복호화 장치의 블록도.
도 28은 가변 블록 사이즈로부터 고정 블록 사이즈로 변환하는 상태를 나타낸 도면.
< 부호의 설명 >
101, 2101 … 입력부, 102 … 블록 분할부,
103 … 블록 데이터 부호화부, 104 … 블록 데이터 연결부,
105, 2106 … 출력부, 1901 … 부호화 오차 산출부,
1902 … 부호화 오차 비교부, 2102 … 블록 데이터 추출부,
2103 … 블록 데이터 복호화부, 2104 … 화소 데이터 산출부,
2105 … 매핑부, 2701 … 부호화 데이터 변환부.
이하, 도면을 참조하면서 본 발명의 실시형태에 따른 텍스처 부호화 장치, 텍스처 복호화 장치, 방법, 및 프로그램을 기록한 컴퓨터 독출가능한 매체에 대해 상세히 설명한다.
본 발명의 텍스처 부호화 장치, 방법, 및 프로그램을 기록한 컴퓨터 독출가능한 매체에 의하면, 데이터량을 압축할 수가 있고, 또 텍스처 복호화 장치, 방법, 및 프로그램을 기록한 컴퓨터 독출가능한 매체에 의하면, 요구하는 화소 데이터를 추출하는 처리속도도 향상시킬 수가 있다.
본 발명의 실시형태에 따른 텍스처 부호화 장치, 텍스처 복호화 장치, 방법, 및 프로그램을 기록한 컴퓨터 독출가능한 매체는, 복수의 다른 시점 및 광원 등의 조건으로 취득 혹은 작성된 텍스처군을 부호화·복호화하고, 더욱이 그래픽스 데이터에 대해 텍스처 매핑 처리를 실행하기 위한 장치이다.
또, 본 발명의 실시형태에 따른 텍스처 부호화 장치, 텍스처 복호화 장치, 방법, 및 프로그램을 기록한 컴퓨터 독출가능한 매체는, 시점 방향이나 광원 방향에 따라 변화하는 소재 표면의 텍스처 표현을 효율적으로 실현할 수 있을 뿐만 아니라, 여러 가지 조건 혹은 여러 가지 성분에 적용할 수가 있다.
여러 가지 조건으로의 적용이란, 시점 조건이나 광원 조건뿐만 아니라, 시간, 속도, 가속도, 압력, 온도, 습도 등 자연계에서의 여러 가지 조건에 따라 변화하는 신호에 대해서도 적용할 수 있다고 하는 것이다.
또, 여러 가지 성분으로의 적용이란, 화소 데이터로서 색성분을 취급할 뿐만 아니라, 법선벡터 성분이나 심도 성분, 투명도 성분, 조명효과 성분 등의 성분에 대해서도 적용할 수 있다고 하는 것이다.
(제1의 실시형태)
제1의 실시형태에서는, 텍스처 부호화 장치의 일련의 처리예를 나타낸다. 본 실시형태에서의 블록 분할부는, 고정 블록 사이즈로의 분할을 실행한다. 고정 사이즈로 분할된 블록 데이터에 대해, 여러 가지 블록 데이터 부호화 수단으로 부호화하는 처리를 구체적으로 나타낸다.
본 실시형태의 텍스처 부호화 장치의 구성에 대해 도 1을 참조해서 설명한다.
도 1에 나타낸 텍스처 부호화 장치는, 복수의 다른 조건으로 취득 혹은 작성한 텍스처군을 입력하고, 그 데이터를 화소 위치의 방향 및 조건 변화의 방향(예를 들면 광원 방향, 시점 방향)으로 블록 분할하며, 각각의 블록을 부호화하는 것이다.
본 실시형태의 텍스처 부호화 장치는, 입력부(101), 블록 분할부(102), 블록 데이터 부호화부(103), 블록 데이터 연결부(104) 및 출력부(105)를 갖추고 있다.
입력부(101)는, 복수의 다른 조건으로 취득 혹은 작성한 텍스처군의 데이터를 입력한다.
블록 분할부(102)는, 입력부(101)에 의해 입력된 텍스처군 중에서, 취득한 조건이 가깝고 또한 화소 위치가 가까운 복수의 화소 데이터를 포함하는 블록을 형성(이후 '블록화'라고 약기함)함으로써, 텍스처군의 데이터를 복수의 블록 데이터로 분할한다.
블록 데이터 부호화부(103)는, 블록 분할부(102)에 의해 분할된 각각의 블록 데이터를 부호화한다.
블록 데이터 연결부(104)는, 블록 데이터 부호화부(103)에 의해 부호화된 블록 데이터를 연결해서 텍스처군의 부호화 데이터를 생성한다.
출력부(105)는, 블록 데이터 연결부(104)에 의해 생성된 텍스처군의 부호화 데이터를 출력한다.
본 실시형태에 따른 텍스처 부호화 장치의 동작에 대해 도 2를 참조해서 설명한다.
<스텝 S201>
입력부(101)가 텍스처군의 데이터를 입력한다. 도 3에 나타낸 바와 같은 공간에서, 시점 및 광원의 위치(즉, 도 3에 나타낸 θc, φc, θℓ, φℓ)를 각각 소정 간격씩 변화시키면서 텍스처를 취득한다.
입력부(101)는, 예를 들면 아래의 표 1에 나타낸 바와 같이 각각의 각도를 변화시키면서 텍스처를 취득한다. 단위는 도(degree)이다. 이 경우, 시점 및 광 원을 모두 θ방향으로는 20° 간격으로 변화시켜 18텍스처 샘플을 취득하고, φ방향으로는 70°까지 10° 간격으로 변화시켜 8텍스처 샘플을 취득하고 있다. 따라서, 합계 20,736(=18×8×18×8)매의 텍스처가 취득된다. 만일 텍스처 사이즈가 256×256화소(24비트 컬러)이면, 그 데이터량은 약 3.8GB로 되어 버려, 텍스처 매핑에 이용하는 텍스처 소재로서 현실적으로 취급할 수 없게 되어 버린다.
Figure 112007016908230-pct00001
그래서, 예를 들면 고차원 텍스처 생성 기술 등을 이용함으로써, 작은 텍스처 데이터로 임의 사이즈의 텍스처를 표현한다고 하는 수법을 이용할 수가 있다. 이 고차원 텍스처 생성 기술에서는, 복수의 다른 조건으로 취득 혹은 작성한 텍스처군을 이용해서 각각의 조건에 대응하는 임의 사이즈의 텍스처군을 생성하고, 작은 텍스처군의 데이터를 유지하는 것만으로, 임의 사이즈의 텍스처를 재현한다. 만일 32×32화소의 텍스처 사이즈로 할 수 있게 되었다면, 그 데이터량은 약 60MB로 된다. 그렇지만, 이것으로도 텍스처 데이터를 충분히 압축할 수 있다고는 말할 수 없고, 더 한층의 압축이 필요하다.
<스텝 S202>
다음에, 블록 분할부(102)가 취득된 텍스처군을 블록으로 분할한다. 이 블록 분할 처리에서는, 각 파라미터의 수치가 가까운 화소 데이터끼리를 1개의 집합으로 생각하여 블록화를 행한다. 여기서 말하는 파라미터란, 텍스처 좌표의 횡방향을 나타내는 u나 종방향을 나타내는 v, 시점 방향의 조건을 나타내는 θc나 φc, 광원 방향의 조건을 나타내는 θℓ이나 φℓ 등과 같은 화소 데이터를 추출하기 위한 위치나 조건을 나타내는 변수를 가리킨다. 본 실시형태에서는, 6차원의 파라미터에 의해 화소 데이터를 추출할 수 있다.
즉,
(u, v, θc, φc, θℓ, φℓ)
이다.
몇 개의 화소 데이터를 1개의 블록으로 할 것인지는 자유롭게 결정할 수가 있지만, 본 실시형태에서는 어느 고정 사이즈를 갖는 블록으로 분할한다. 예를 들면, 같은 화소 위치이고 또한 θc, φc, θℓ, φℓ의 4차원에 있어서 각각 2번씩 샘플링한 화소 데이터를 1개의 블록으로 하기로 한다. 이 경우, 1개의 블록 데이터는 아래의 표 2에 나타낸 구조를 갖는다.
Figure 112007016908230-pct00002
표 2는, (u, v, θc, φc, θℓ, φℓ) = (0, 0, 0, 0, 0, 0)의 조건으로 추출되는 화소 데이터와, 이하 각 열의 조합을 만족시키는 화소 데이터를 포함하는 16개의 화소 데이터가 1개의 블록으로 되어 있는 것을 나타내고 있다. 블록 분할부(102)가 이러한 블록화를 실행함으로써, 예를 들면 20,736매의 32×32화소 사이즈의 텍스처군, 즉 21,233,664(=20,736×32×32)개의 화소 데이터가 1,327,104(=21,233,664÷16)개의 블록 데이터로 분할되게 된다.
또, 블록 분할부(102)가 실행하는 블록 분할의 수법은, u와 v의 차원, 즉 텍스처 공간의 방향으로도 블록화하는 것도 가능하다. 본 실시형태에서는, 같은 화소 위치의 화소 데이터만을 블록화하고 있다. 이것은, 같은 화소 위치에서의 부호화가 전술한 고차원 텍스처 생성 기술에 알맞기 때문이다. 이러한 분할수법이라면, 부호화 데이터인 채 각 화소의 특징을 근사적으로 조사할 수 있어 화소간의 유사성을 용이하게 조사할 수가 있다. 따라서, 텍스처군을 부호화한 후, 임의 사이즈의 텍스처를 생성하고 나서 그래픽스 데이터에 매핑하는 것도 가능하게 된다.
<스텝 S203, S204>
다음에, 블록 데이터 부호화부(103)가 각 블록 데이터를 부호화한다. 모든 블록 데이터가 부호화될 때까지 스텝 S203를 수행한다(스텝 S204). 블록 데이터의 부호화 처리에서는, 벡터 양자화를 이용해서, 예를 들면 16개의 화소 데이터(컬러 벡터 데이터)로부터 4개의 대표벡터를 산출한다. 대표벡터의 산출방법에 대해서는, 후에 도 17을 참조해서 설명하기로 한다. 이 산출방법은, 일반적으로 잘 알려져 있는 K-평균(K-means)이나 LBG 등으로 불리는 벡터 양자화의 수법을 이용하고 있다.
16개의 화소 데이터(사선의 원)가 도 4에 나타낸 바와 같은 분포를 하고 있는 경우, 벡터 양자화에 의해 흑색의 원으로 나타낸 것과 같은 대표벡터를 구할 수가 있다. 이와 같이 해서 구해진 대표벡터 <C0>, <C1>, <C2>, <C3>를 블록 내의 코드북 데이터(code book data)로 정의한다(여기서, <A>는 "벡터 A"를 나타내는 것으로 한다. 이하, 이 표기법에 따라 벡터를 표기한다). 그리고, 16개의 화소 데이터가 각각 어떤 대표벡터를 선택하는지를 나타내는 인덱스 데이터를 2비트로 표현한다.
도 5는 이렇게 해서 부호화된 블록 데이터의 포맷을 나타낸다. 규칙에 따르면, 인덱스 데이터가 "00"이면 <C0>가 선택되고, "01"이면 <C1>이 선택되며, "10"이면 <C2>가 선택되고, "11"이면 <C3>가 선택된다. 이와 같이, 인덱스 데이터의 값에 따라, 복호화할 때의 대표벡터가 선택된다. 이것이 가장 기본적인 부호화이다. 그렇지만, 이 밖에도 이하에 나타낸 바와 같은 부호화를 행할 수가 있다. 여기에서는, 5개의 예를 나타낸다.
1. <<벡터 변화량을 이용한 부호화>>
4개의 대표벡터를 구하기까지는, 위에서 설명한 수법과 마찬가지로 처리한다. 그 후, 대표벡터 중의 하나를 기준 벡터로 하고, 나머지 대표벡터를 그 기준 벡터로부터의 변화량을 나타내는 벡터로 변환한다. 그 상태를 나타낸 것이 도 6이다. 대표벡터 <C0>, <C1>, <C2>, <C3>를 구한 후에,
<S1> = <C1> - <C0>
<S2> = <C2> - <C0>
<S3> = <C3> - <C0>
에 의해 주어지는 3개의 벡터 변화량 <S1>, <S2>, <S3>를 구한다. 도 7은 이렇게 해서 계산된 대표벡터와 벡터 변화량을 코드북에 포함시켜 부호화한 것을 나타낸다. 이와 같이 해서, 벡터 변화량을 이용해 부호화하는 수법은, 시점 방향이나 광원 방향의 변화에 따라 그만큼 색의 변화가 일어나지 않는 것과 같은 소재에 대단히 유효하다. 이것은, 벡터 변화량에서는 변화량만을 표현할 수 있으면 좋고, 이를 위해 적은 비트수를 할당하는 것만으로 좋기 때문이다. 컬러 벡터의 분포에 따라서는, 대표벡터의 수와 벡터 변화량의 수의 밸런스를 바꿀 수도 있다. 또, 대표벡터 <C0>, <C1>, <C2>, <C3> 중에서 기준 벡터를 선택할 때, 벡터 변화량을 가장 작게 할 수 있는 것을 선택함으로써, 벡터 변화량에 할당하는 비트수를 더 작게 할 수가 있다.
2. <<보간율을 이용한 부호화>>
4개의 대표벡터를 구하기까지는, 위에서 설명한 수법과 마찬가지로 처리한다. 그 후, 1개의 대표벡터를, 다른 2개의 대표벡터를 보간함으로써 근사적으로 표현하기 위한 계산을 실행한다. 도 8은 구체적인 예를 나타낸다. 이 경우, <C0>, <C1>를 이용해서, <C3>의 근사적 표현을 행하기 위한 보간율의 계산을 행한다. 점 <C3>로부터 선분 <C0> <C1>에 대해 수선을 내리고, 그 다리를 점 <C3>'로 한다. 그리고, 이하와 같은 계산을 행해 보간율 r3를 도출한다.
r3 = |<C0> <C3>'| / |<C0> <C1>|
도 9는 이렇게 해서 계산된 대표벡터와 보간율을 코드북에 포함시켜 부호화한 것을 나타낸다. 이와 같이 해서, 보간율을 이용해 부호화하는 수법은, 시점 방향이나 광원 방향의 변화에 따라 선형적으로 색의 변화가 일어나는 것과 같은 소재에 대단히 유효하다. 이것은, 보간율에 의한 대표벡터의 근사를 행해도, 오차가 적어지기 때문이다. 또, 보간에 의해 근사하는 대표벡터를 선택할 때, 근사를 행해도 오차가 가장 작게 억압되는 것을 선택한다.
3. <<보간을 지시할 뿐인 인덱스를 이용한 부호화>>
16개의 화소 데이터(사선의 원)가 도 10에 나타낸 바와 같은 분포를 하고 있다고 한다. 여기서, 각 벡터 <P0>, <P1>, <P2>는 이하와 같은 조건(u, v, θc, φc, θℓ, φℓ)으로 추출할 수 있는 화소 데이터라고 한다.
<P0>: (0, 0, 0, 0, 0, 0)
<P1>: (0, 0, 0, 10, 0, 0)
<P2>: (0, 0, 0, 20, 0, 0)
즉, 벡터 <P0>, <P1>, <P2>는 시점 방향의 조건인 φc를 0°, 10°, 20°로 변화시킨 3개의 화소 데이터이다. 대표벡터를 구하기 전에 이러한 분포에 주목하면, <P1>의 컬러 벡터는 원래 필요하지 않아, <P0>와 <P2>를 이용해서 이러한 조건 파라미터를 기초로 보간에 의해 구한 것임을 알 수 있다. 따라서, <P1>은 인덱스 데이터로, 조건 파라미터를 기초로 보간하도록 지시될 뿐이고, 컬러 벡터를 재현할 수 있다. 즉,
<P1> = 0.5×<P0> + 0.5×<P2>
다만, 실제로는 <P0>, <P2>는 각각 대표벡터 <C0>, <C2>를 이용함으로써 재현된다.
도 11은 이렇게 해서 부호화된 블록 데이터의 포맷을 나타낸다. 인덱스 데이터가 "00"이면 C0가 선택되고, "01"이면 C1이 선택되며, "10"이면 C2가 선택되도록 인덱스 데이터를 할당할 수가 있다. 인덱스 데이터가 "11"이면, 조건 파라미터를 기초로 다른 화소 데이터를 보간함으로써 대표벡터가 구해진다. 이러한 수법은, 시점 방향 및 광원 방향 등의 조건의 차원을 기초로 블록화한 경우의 지극히 특징적인 부호화라고 말할 수 있다.
4. <<매크로 블록이나 텍스처 전체의 코드북을 이용한 부호화>>
이제까지 몇 가지의 부호화 방법을 설명했다. 어떤 경우에는, 블록 데이터 내에서 산출한 코드북 데이터의 일부가 주변의 블록 데이터의 일부와 공통하고 있다. 그러한 경우는, 복수의 블록 데이터에 공통하는 코드북 데이터를 설정할 수가 있다. 주위의 몇 개의 블록의 집합을 매크로 블록이라고 부르기로 한다. 그 매크로 블록은, 공통의 코드북 데이터를 갖거나, 텍스처 전체의 코드북 데이터를 가질 수가 있다. 예를 들면 어느 블록에서 대표벡터 C0, C1, C2, C3를 구했지만, C3에 관해서는 주위의 4개의 블록이 똑같이 대표벡터로서 이용하고 있다고 한다. 이 때, 도 12에서 나타낸 바와 같은 포맷으로 부호화해서, C3에 관해서는 블록 데이터로서가 아니라 매크로 블록의 코드북 데이터로서 격납한다. 이러한 부호화 방법은, 데이터량의 압축 효율이 향상되는 반면, 복호화의 속도가 저하해 버리기 때문에 주의가 필요하다.
5. <<벡터 성분마다 분할한 데이터의 부호화>>
벡터 성분마다 분할한 데이터의 부호화에 대해 도 13을 참조해서 설명한다. 각 화소의 컬러 벡터는, RGB 표색계에 한정되지 않고, 여러 가지 표색계에 의해 벡터를 표현할 수 있다. 여기에서는, 휘도 성분과 색차(色差) 성분으로 나눌 수가 있는 YUV 표색계를 예로 들어 설명한다. 시점 방향이나 시점 방향에 따라 변화하는 각 화소의 색변화는, 소재에 따라 여러 가지이다. 어떤 소재에서는, 휘도 성분의 변화가 극심하고, 색차 성분의 변화가 완만해지는 경우가 있다. 그러한 경우에는, 도 13에 나타낸 바와 같은 부호화를 수행할 수가 있다. 휘도 성분은 Y0, Y1, Y2, Y3를 사용하고, 색차 성분으로서는 UV0를 사용한다. 색차 성분에 관해서는, 블록 내에서 거의 변화하지 않기 때문에, 인덱스 데이터의 값에 관계없이 항상 UV0가 사용된다. 휘도 성분에 관해서는, 블록 내에서의 변화가 크기 때문에, 통상의 수법으로 4개의 대표벡터(이 경우는, 스칼라치)를 격납해 두고, 인덱스 데이터에 기초해서 그 중의 하나를 선택한다.
상기의 예에서 나타낸 바와 같이, 변화가 현저한 성분에 대해 많은 부호량을 할당하고, 변화가 적은 성분에 대해서는 그다지 부호량을 할당하지 않도록 함으로써, 효율적인 부호화를 실행할 수가 있다.
이상과 같이 해서, 몇 개의 부호화 포맷을 설정할 수가 있지만, 이들 부호화 방법을 적당히 조합함으로써, 더 여러 가지 부호화 포맷을 설정할 수도 있다.
부호화 포맷은, 텍스처 데이터 내에서 고정의 포맷으로 할 수도 있고, 텍스처 데이터 내에서 가변의 포맷으로 할 수도 있다. 그렇지만, 가변의 포맷으로 한 경우에는, 각 블록 데이터에서 어떠한 포맷을 이용했는가 하는 식별자가 헤더 정보로서 필요하게 된다.
<스텝 S205, S206>
다음에, 블록 데이터 연결부(104)가 부호화된 블록 데이터를 연결한다. 여러 가지 방법으로 부호화된 블록 데이터를 연결하면, 도 14에 나타낸 바와 같은 데이터 구조가 얻어진다. 부호화된 텍스처 데이터에는, 헤더 정보가 격납되어 있다. 이 헤더 정보에는, 텍스처 사이즈, 텍스처군 취득조건 및 부호화 포맷 등이 포함되어 있다. 그 다음에, 헤더 정보에 연결된 매크로 블록 데이터가 격납되어 있다. 다만, 매크로 블록마다 부호화 포맷을 변경하거나, 매크로 블록을 대표하는 코드북을 갖게 하거나 하고 있지 않은 경우에는, 매크로 블록이 아니라 블록 데이터를 직접 연결해 버려도 좋다. 매크로 블록마다 부호화 포맷이 지정되어 있는 경우에는, 매크로 블록의 시작부분에 헤더 정보를 격납한다. 매크로 블록을 대표하는 코드북을 갖게 한 경우에는, 헤더 정보의 다음에 코드북 데이터를 격납한다. 그리고, 매크로 블록 내에 존재하는 블록 데이터를 연결한다. 블록마다 포맷이 다른 경우에는, 헤더 정보를 먼저 격납하고, 다음에 코드북 데이터와 인덱스 데이터를 격납한다.
마지막으로, 이와 같이 해서 연결된 텍스처 데이터를 출력한다(스텝 S206).
도 15는 도 2를 참조해서 설명한 텍스처 부호화 장치의 처리의 개요를 나타낸다. 이 텍스처 부호화 장치의 처리와 대비시키기 위해, 종래의 텍스처 부호화 장치의 처리의 개요를 도 16에 나타낸다. 이들 도면을 비교하면 알 수 있는 바와 같이, 본 발명의 실시형태의 텍스처 부호화 장치는, 텍스처 공간의 블록화뿐만 아니라, 취득 조건의 차원도 고려해서 블록화하는 점이 특징이다. 그 결과, 본 실시형태의 텍스처 부호화 장치에 의하면, 부하가 큰 텍스처를 로드하는 회수를 통상 줄일 수가 있다.
다음에, 스텝 S203에서 산출하는 대표벡터의 산출방법에 대해 도 17을 참조해서 설명한다. 상세한 것은, 예를 들면 일본 특개 2004-104621호 공보를 참조.
초기설정(m=4, n=1,δ)(스텝 S1701) 이후의 처리에서는, 4개의 대표벡터를 산출하기 위해 클러스터링 처리를 실행한다. 클러스터를 차례차례 2부분으로 분할(이후 '2분할'이라고 약기함)해 갈 때에는, 각 클러스터의 분산을 산출하고, 분산이 큰 클러스터를 우선적으로 2분할한다(스텝 S1702). 어떤 클러스터를 2분할하기 위해, 2개의 초기 센트로이드(클러스터의 중심)를 결정한다(스텝 S1703). 센트로이드의 결정은 이하의 순서로 행한다.
1. 클러스터의 무게중심(barycenter) g를 구한다.
2. g로부터 가장 먼 요소를 d0로 한다.
3. d0로부터 가장 먼 요소를 d1으로 한다.
4. g와 d0 및 g와 d1의 각각의 1:2의 내분점을 C0, C1으로 한다.
다만, 2요소간의 거리로서는, RGB의 3차원 공간에서 유클리드(Euclid) 거리를 이용한다. 스텝 S1704로부터 스텝 S1706의 루프 처리는, 일반적으로 잘 알려진 클러스터링 알고리즘인 K-평균(K-Means)과 같은 처리를 행하고 있다.
이상의 순서에 의해, 4개의 대표벡터 <C0>, <C1>, <C2>, <C3>를 구할 수가 있다(스텝 S1710).
이상의 제1의 실시형태에 의하면, 텍스처 데이터 내에서 고정 블록 사이즈의 분할을 실시하는 경우에, 시점 방향이나 광원 방향 등의 조건에 따라 변화하는 텍스처군을 부호화함으로써, 데이터량을 압축할 수가 있다. 또, 소재의 특징에 따라 블록 분할의 수법을 변화시킴으로써, 압축 효과를 향상시킬 수가 있다.
(제2의 실시형태)
제2의 실시형태에서는, 가변 블록 사이즈로 데이터를 분할하는 텍스처 부호화 장치를 나타낸다. 특히, 블록 분할부(102)에 의해, 어떠한 수법으로 적응적으로 블록 분할되는가에 대해 설명한다.
본 실시형태에서는, 도 1에 나타낸 텍스처 부호화 장치의 블록 분할부(102)에 의한 블록 분할(스텝 S202)의 처리예를 나타낸다. 제1의 실시형태에서는, 텍스처 데이터 내에서 고정 블록 사이즈의 블록 분할을 실행했다. 이 제2의 실시형태에서는, 적응적으로 블록 사이즈를 변화시킨다. 가변 블록 분할의 수법으로서는, 예를 들면 이하에 나타낸 바와 같은 2가지 수법을 이용할 수가 있다.
1. <<분산치에 의한 가변 블록 분할수법>>
제1의 수법은, 도 1에 나타낸 장치의 구성을 변화시키지 않고 실현된다. 블록 분할부(102)는, 우선 어떠한 블록 분할을 해야 할 것인가를 조사하기 위한 처리를 실행한다. 도 18은 처리 순서의 예를 나타낸다.
우선, 텍스처군의 데이터 전체를 1개의 큰 블록 데이터로 한다(스텝 S1801). 다음에, 블록 데이터 내에 존재하는 모든 화소 데이터의 분산치를 계산한다(스텝 S1802). 그리고, 그 분산치가 미리 설정된 임계치 미만인지 어떤지를 판정한다(스텝 S1803). 스텝 S1803에서 'Yes'이면(즉, 분산치가 임계치 미만이면), 현재의 블록 분할 상태를 변화시키지 않고 블록 분할 처리를 종료한다. 스텝 S1803에서 'No'이면(즉, 분산치가 임계치 이상이면), 그 블록의 분산을 증가시키고 있는 차원을 검출한다(스텝 S1804). 구체적으로는, 각 차원의 변화에 의존하는 벡터의 변화량이 가장 큰 차원을 선택한다. 그리고, 그 차원에 있어서 블록을 2분할한다(스텝 S1805). 그 후, 다시 스텝 S1802의 처리로 되돌아간다. 분할된 모든 블록이 어떤 임계치 미만의 분산치로 된 시점에서, 처리가 종료된다.
이것이 가장 기본적인 처리방법이다. 초기 상태의 블록은 어느 정도 정해진 크기를 갖는 고정 블록으로 해도 좋다. 또, 종료 조건으로서는, 분산치의 상한이 아니라, 최소단위의 블록 사이즈를 지정해도 좋다.
2. <<부호화 오차에 의한 가변 블록 분할수법>>
제2의 수법은, 블록 분할부(102)와 블록 데이터 부호화부(103)을 이용해서 분할 방법을 결정하는 수법이다. 이 경우는, 도 1의 장치의 구성을 약간 변경할 필요가 있다. 도 19는 변경 후의 장치의 구성을 나타낸다. 도 1에 나타낸 장치와 달리, 블록 데이터 부호화부의 후단에, 부호화 오차 산출부(1901)와 부호화 오차 비교부(1902)가 추가되어 있다. 이하, 도 19에 있어서 이미 설명한 장치 부분과 같은 물건은 동일한 번호를 붙이고 그 설명을 생략한다.
부호화 오차 산출부(1901)는, 블록 데이터 부호화부(103)와 동등한 처리를 실행하여 원 데이터와 복호화 데이터의 비교에 의해 부호화 오차를 산출한다.
부호화 오차 비교부(1902)는, 부호화 오차 산출부(1901)에 의해 산출된 부호화 오차와, 부호화 오차의 허용범위를 나타내는 허용조건을 비교한다. 허용조건은, 예를 들면 부호화 오차가 어떤 임계치 미만인 것을 정의한다. 이 경우, 부호화 오차 산출부(1901)에 의해 산출된 부호화 오차가 임계치 미만인 블록은, 블록 데이터 연결부(104)로 출력된다. 부호화 오차가 임계치 이상인 블록에 관해서는, 블록 분할부(102)로 처리를 되돌린다. 즉, 블록 분할부(102)에 의해 더 작은 블록으로 분할된 후, 다시 부호화가 실행된다. 환언하면, 각 블록 데이터는 전회보다 작은 데이터량으로 되도록 분할되어 다시 부호화된다.
이상, 2가지의 가변 블록 분할수법을 설명했다. 이러한 수법에 의해 블록을 분할한 경우에는, 규칙적인 분할수법이 아니기 때문에, 어느 화소 데이터가 어느 블록에 속하고 있는지를 나타내는 "블록 지정 데이터"라는 것이 필요하다. 도 20은 블록 지정 데이터를 포함한 부호화 데이터 구조를 나타낸다. 다만, 여기에서는, 간단화를 위해 매크로 블록의 개념이나 블록 데이터 밖의 코드북 데이터를 배제하고 있다. 헤더 정보와 블록 데이터 사이에, 블록 지정 데이터가 격납되어 있다. 블록 지정 데이터에는 화소 데이터를 추출하기 위한 파라미터와 블록 데이터에 붙여진 ID번호(블록 번호)와의 대응관계를 나타내는 테이블 데이터가 격납되어 있다. 이 블록 지정 데이터는, 후술하는 제4의 실시형태에서 설명하는 가변 블록 사이즈로 부호화된 데이터를 복호화하는 처리에 있어서, 블록 데이터에 액세스하기 위한 중요한 역할을 담당하게 된다.
이상의 제2의 실시형태에 의하면, 텍스처 데이터 내에서 가변 블록 사이즈의 분할을 실시하는 경우에, 시점 방향이나 광원 방향 등의 조건에 따라 변화하는 텍스처군을 부호화함으로써, 데이터량을 압축할 수가 있다.
또, 본 발명의 제1 또는 제2의 실시형태에 따른 텍스처 부호화 장치에 의해 부호화된 텍스처군의 데이터는, 데이타베이스에 축적하는 것도 가능하고, 네트워크 상에서 공개할 수도 있다.
(제3 실시형태)
제3의 실시형태에서는, 부호화된 텍스처군의 데이터를 고정 블록 사이즈를 기초로 입력하고 있다. 입력된 부호화 데이터를 어떻게 복호화해서 그래픽스 데이터에 어떻게 매핑하는지를 나타내고 있다. 본 실시형태에서는, 텍스처 복호화 장치(매핑부를 포함한다)의 일련의 처리예를 나타낸다.
본 실시형태의 텍스처 복호화 장치에 대해 도 21을 참조해서 설명한다.
우선, 개략을 설명한다. 도 21에 나타낸 텍스처 복호화 장치는, 제1 또는 제2의 실시형태에서 설명한 텍스처 부호화 장치에 의해 부호화된 텍스처 데이터를 입력하고, 지정된 텍스처 좌표나 조건 파라미터를 기초로 특정의 화소 데이터를 복호화해서 그래픽스 데이터에 매핑하는 것이다.
텍스처 복호화 장치는, 입력부(2101), 블록 데이터 추출부(2102), 블록 데이터 복호화부(2103), 화소 데이터 산출부(2104), 매핑부(2105) 및 출력부(2106)를 갖추고 있다.
입력부(2101)는, 복수의 다른 조건으로 취득 혹은 작성한 텍스처군의 부호화 데이터를 입력한다.
블록 데이터 추출부(2102)는, 화소 위치를 지정하는 텍스처 좌표 및 조건을 지정하는 조건 파라미터를 수신하여, 입력부(2101)에 의해 입력된 부호화 데이터 중에서 지정된 데이터를 포함한 블록 데이터를 추출한다.
블록 데이터 복호화부(2103)는, 블록 데이터 추출부(2102)에 의해 추출된 블록 데이터를, 제1 또는 제2의 실시형태에서 설명한 텍스처 부호화 장치의 블록 데이터 부호화부(103)에 의해 부호화되기 전의 원 데이터(original data)로 복호화한다.
화소 데이터 산출부(2104)는, 블록 데이터 복호화부(2103)에 의해 복호화된 데이터를 기초로 화소 데이터를 산출한다.
매핑부(2105)는, 텍스처 매핑의 대상으로 되는 그래픽스 데이터 및 텍스처 매핑의 수법을 지정하는 매핑 파라미터를 수신하고, 화소 데이터 산출부(2104)에 의해 산출된 화소 데이터를 수신된 매핑 파라미터를 기초로 수신된 그래픽스 데이터에 매핑한다.
출력부(2106)는, 매핑수단에 의해 매핑된 그래픽스 데이터를 출력한다.
다음에, 도 21의 텍스처 복호화 장치의 동작에 대해 도 22를 참조해서 설명한다.
<스텝 S2201>
본 실시형태의 텍스처 복호화 장치에 있어서는, 우선 입력부(2101)가 부호화된 텍스처군의 데이터를 입력한다. 입력한 시점에서, 입력부(2101)는 부호화 데이터의 헤더 정보를 읽어내어 텍스처 사이즈, 텍스처군을 취득한 조건 및 부호화 포맷 등을 조사한다.
<스텝 S2202>
다음에, 블록 데이터 추출부(2102)가 텍스처 좌표 및 조건 파라미터를 수신한다. 이들 파라미터는, 그래픽스 데이터의 각 정점에 대해 설정된 텍스처 좌표나 카메라 위치 또는 광원 위치 등의 장면 정보로부터 얻어진다.
<스텝 S2203>
다음에, 블록 데이터 추출부(2102)가 블록 데이터를 추출한다. 본 실시형태에서는, 블록 분할은 고정 블록 사이즈를 이용해서 실행되고 있다. 따라서, 블록 데이터 추출부(2102)는 수신된 텍스처 좌표 u, v 및 조건 파라미터 θc, φc, θℓ, φℓ를 기초로 해서, 화소 데이터를 포함한 블록 데이터를 액세스할 수가 있다.
다만, 여기서 조심하지 않으면 안되는 것은, 구해진 조건 파라미터가 원래 텍스처를 취득한 조건과 딱 적합하는 것이 아닌 경우가 있다고 하는 것이다. 그러한 경우에는, 존재하는 근접한 조건의 화소 데이터를 모두 추출해서 보간할 필요가 있다. 예를 들면, θc미만의 가장 근접한 텍스처 샘플의 조건을 θc0로 정의하고, θc 이상의 가장 근접한 텍스처 샘플의 조건을 θc1으로 정의한다. 마찬가지로, φc0, φc1, θℓ0, θℓ1, φℓ0, φℓ1를 정의한다. 이러한 조건을 만족시키는 모든 화소 데이터가 추출된다. 추출해야 할 화소 데이터는, 이하의 c0로부터 c15의 16개의 화소 데이터이다.
c0 = getPixel(θc0, φc0, θℓ0, φℓ0, us, vs)
c1 = getPixel(θc0, φc0, θℓ0, φℓ1, us, vs)
c2 = getPixel(θc0, φc0, θℓ1, φℓ0, us, vs)
c3 = getPixel(θc0, φc0, θℓ1, φℓ1, us, vs)
c4 = getPixel(θc0, φc1, θℓ0, φℓ0, us, vs)
c5 = getPixel(θc0, φc1, θℓ0, φℓ1, us, vs)
c6 = getPixel(θc0, φc1, θℓ1, φℓ0, us, vs)
c7 = getPixel(θc0, φc1, θℓ1, φℓ1, us, vs)
c8 = getPixel(θc1, φc0, θℓ0, φℓ0, us, vs)
c9 = getPixel(θc1, φc0, θℓ0, φℓ1, us, vs)
c10 = getPixel(θc1, φc0, θℓ1, φℓ0, us, vs)
c11 = getPixel(θc1, φc0, θℓ1, φℓ1, us, vs)
c12 = getPixel(θc1, φc1, θℓ0, φℓ0, us, vs)
c13 = getPixel(θc1, φc1, θℓ0, φℓ1, us, vs)
c14 = getPixel(θc1, φc1, θℓ1, φℓ0, us, vs)
c15 = getPixel(θc1, φc1, θℓ1, φℓ1, us, vs)
다만, us, vs는 이 예에 있어서 입력된 텍스처 좌표이고, getPixel은 조건 파라미터와 텍스처 좌표의 6차원의 파라미터를 기초로 화소 데이터를 추출하는 함수이다. 그리고, 이 16개의 화소 데이터를 이하와 같이 보간함으로써, 최종적인 화소 데이터 c를 추출할 수가 있다.
c = (1-ε0)×(1-ε1)×(1-ε2)×(1-ε3)×c0
+ (1-ε0)×(1-ε1)×(1-ε2)× ε3 ×c1
+ (1-ε0)×(1-ε1)× ε2 ×(1-ε3)×c2
+ (1-ε0)×(1-ε1)× ε2 × ε3 ×c3
+ (1-ε0)× ε1 ×(1-ε2)×(1-ε3)×c4
+ (1-ε0)× ε1 ×(1-ε2)× ε3 ×c5
+ (1-ε0)× ε1 × ε2 ×(1-ε3)×c6
+ (1-ε0)× ε1 × ε2 × ε3 ×c7
+ ε0 ×(1-ε1)×(1-ε2)×(1-ε3)×c8
+ ε0 ×(1-ε1)×(1-ε2)× ε3 ×c9
+ ε0 ×(1-ε1)× ε2 ×(1-ε3)×c10
+ ε0 ×(1-ε1)× ε2 × ε3 ×c11
+ ε0 × ε1 ×(1-ε2)×(1-ε3)×c12
+ ε0 × ε1 ×(1-ε2)× ε3 ×c13
+ ε0 × ε1 × ε2 ×(1-ε3)×c14
+ ε0 × ε1 × ε2 × ε3 ×c15
다만, 보간율 ε0, ε1, ε2, ε3은 이하와 같이 산출된다.
ε0 = (θc-θc0) / (θc1-θc0)
ε1 = (φc-φc0) / (φc1-φc0)
ε2 = (θℓ-θℓ0) / (θℓ1-θℓ0)
ε3 = (φℓ-φℓ0) / (φℓ1-φℓ0)
상술한 바와 같이, 1개의 화소 데이터를 산출하는데, 16개의 화소 데이터를 추출해서 보간할 필요가 있다. 여기서 주목해야 할 포인트는, 본 발명의 실시형태에서 제안하고 있는 부호화 데이터는 같은 블록 데이터 내에 서로 인접한 조건의 화소 데이터를 포함하고 있다는 점이다. 따라서, 상기와 같은 16개의 화소 데이터가 모두 동일한 블록 데이터에 포함되어 있는 경우도 있다. 그 경우에는, 1개의 블록 데이터를 추출하는 것만으로, 보간된 화소 데이터를 산출할 수가 있다. 그렇지만, 경우에 따라서는, 2개∼16개의 블록 데이터를 추출해야 하는 경우도 있다. 따라서, 추출 회수를 조건 파라미터에 따라 변화시킬 필요가 있다.
일반적으로, 텍스처 로드 명령(화소 데이터 또는 블록 데이터를 추출하는 처리)의 수는, 그래픽스 LSI에서의 실행 속도에 영향을 주는 것이 알려져 있다. 가능한 한 텍스처 로드 명령의 수를 줄임으로써, 렌더링 속도를 빠르게 할 수가 있다. 따라서, 본 발명의 실시형태에서 제안하고 있는 부호화 방법은, 보다 고속의 텍스처 매핑을 실현시키기 위한 부호화 방법이다.
<스텝 S2204>
다음에, 블록 데이터 복호화부(2103)가 블록 데이터를 복호화한다. 블록 데이터를 복호화해서 특정의 화소 데이터를 추출하는 수법은, 부호화 포맷에 따라 약간 다르다. 그렇지만, 기본적으로는 추출하고자 하는 화소의 인덱스 데이터를 참조해서, 그것에 따라 복호화 방법을 결정한다. 인덱스 데이터에 의해 지시된 대표벡터를 그대로 추출하는 경우도 있고, 기준 벡터로부터 벡터 변화량의 분량만큼 변화시킨 벡터를 추출하는 경우도 있다. 또, 2개의 벡터를 보간하여 구한 벡터를 추출하는 경우도 있다. 이들 벡터는, 각각 부호화 시에 결정된 룰(rule: 규칙)에 근거해서 복호화된다.
<스텝 S2205>
다음에, 화소 데이터 산출부(2104)가 화소 데이터를 산출한다. 여기에서는, 전술한 바와 같이 16개의 화소 데이터를 상기의 계산식을 이용해서 보간한다.
<스텝 S2206, S2207, S2208>
다음에, 매핑부(2105)가 그래픽스 데이터 및 매핑 파라미터를 입력(스텝 S2206)하고, 매핑 파라미터에 따라 화소 데이터를 매핑한다(스텝 S2207). 그리고 마지막으로, 출력부(2106)가 텍스처 매핑이 끝난 그래픽스 데이터를 출력한다(스텝 S2208).
다음에, 텍스처의 배치수법에 따라 텍스처 매핑의 처리속도(렌더링 성능)가 변화하는 상태에 대해 도 23a, 도 23b, 도 24a, 도 24b, 도 25a, 도 25b, 도 26a, 도 26b를 참조해서 설명한다.
그래픽스 LSI 상에서의 렌더링 성능은, 텍스처의 배치방법에 크게 좌우된다. 본 실시형태에서는, 고차원 텍스처의 일례로서 (u, v, θc, φc, θℓ, φℓ)의 6차원 파라미터로 표현되는 텍스처를 들고 있다. 그래픽스 LSI의 메모리에 격납된 텍스처 데이터의 배치에 따라, 화소 데이터를 로드하는 회수나 하드웨어 상에 존재하는 텍스처 캐쉬에 히트하는 비율이 변화하고 있다. 또한, 렌더링 성능도 텍스처 배치에 따라 변화하고 있다. 고차원 텍스처를 부호화할 때에도, 이 점에 유의하여 블록화해서 블록 데이터를 연결할 필요가 있다. 이것은, 무압축의 고차원 텍스처에 관해서도 적용할 수 있다.
이하, 텍스처의 배치방법에 따라 어떤 차이가 보여지는지를 나타낸다. 도 23a는 u와 v방향의 변화를 일괄로 한 텍스처(이른바 통상의 텍스처)를 θ방향의 변화에 따라 타일모양으로 늘어놓고, 더욱이 그것을 φ방향의 변화에 따라 타일모양으로 늘어놓은 2차원 텍스처를 나타낸다. 이 배치방법의 경우, u와 v방향의 변화에 따른 화소 데이터는, 서로 인접한 화소 위치에 격납되어 있다. 따라서, 그래픽스 LSI의 바이 리니어(bi-linear) 기능을 이용함으로써 보간된 화소 데이터를 고속으로 추출할 수가 있다. 그렇지만, 고차원 텍스처가 생성되고, 작은 텍스처 샘플로부터 임의 사이즈의 고차원 텍스처가 표현되고 있는 경우에는, 인덱스에 의해 u와 v의 위치가 결정되는데, 반드시 연속적인 u나 v의 값이 지정된다고는 할 수 없다. 따라서, 그래픽스 LSI의 바이 리니어 기능을 이용할 수가 없다.
한편, θ나 φ방향의 변화에 따른 화소 데이터는, 떨어진 화소 위치에 격납되어 있다. 따라서, 텍스처 좌표를 계산함으로써 복수회 화소 데이터를 추출하고, 소프트웨어 상에서 보간계산을 행할 필요가 있다. 텍스처 캐쉬의 히트율에 대해 생각해 본다. 히트율은 묘화하는 프레임의 서로 인접한 화소치를 구할 때에 얼마나 가까운 텍스처 좌표가 참조되는지에 따라 결정된다. 따라서, 도 23a와 같은 배치방법의 경우는, 히트하기 쉽다. 이것은, u와 v의 방향이 서로 인접한 화소는, 대부분의 경우, 유사한 θ나 φ의 조건을 갖고 있기 때문이다.
도 23b는 u와 v방향의 변화를 일괄로 한 텍스처를 φ방향의 변화에 따라 타일모양으로 늘어놓고, 더욱이 그것을 θ방향의 변화에 따라 층(layer) 방향(높이 방향)으로 적층한 3차원 텍스처이다. 이 배치의 경우, u와 v방향의 바이 리니어에 더하여, θℓ방향의 보간도 하드웨어에 의해 행할 수가 있다. 즉 3차원 텍스처의 트리 리니어(tri-linear) 기능을 이용한 보간 계산을 실행할 수가 있다. 따라서, 도 23a에 비해 텍스처의 로드 회수를 줄일 수가 있다. 텍스처 캐쉬의 히트율에 관해서는, 도 23a와 그다지 변화는 없다. 텍스처의 로드 회수가 줄어들기 때문에, 고속으로 렌더링하는 것이 가능하게 된다.
도 24a 및 도 25a는, 각각 θ방향, φ방향의 변화를 일괄로 한 텍스처를, 각각 φ방향, θ방향의 변화에 따라 타일모양으로 늘어놓고, 더욱이 그것을 u와 v방향의 변화에 따라 타일모양으로 늘어놓은 2차원 텍스처이다. 이러한 배치방법의 경우, 각각 θ와 φ방향의 변화에 따른 화소 데이터는, 서로 인접한 화소 위치에 격납되어 있다. 따라서, 그래픽스 LSI의 바이 리니어 기능을 이용함으로써 보간된 화소 데이터를 고속으로 추출할 수가 있다. 한편, 각각 φ방향, θ방향이나 u 또는 v방향의 변화에 따른 화소 데이터는 떨어진 화소 위치에 격납되어 있다. 따라서, 텍스처 좌표의 계산을 행해 복수회 화소 데이터를 추출하고, 소프트웨어 상에서 보간계산을 행할 필요가 있다.
텍스처 캐쉬의 히트율에 관해서는, u나 v방향의 변화에 따른 화소 데이터가 떨어진 화소 위치에 격납되어 있기 때문에, 도 23에 나타낸 배치방법에 비해 좋지 않다. 그래서, 그 개선책으로서 도 26a 또는 도 26b에 나타낸 바와 같은 배치방법으로 변경하면, 텍스처 캐쉬의 히트율이 향상되고, 렌더링 성능을 높일 수가 있다. u나 v방향의 변화에 따른 타일을 보다 가까운 위치에 늘어놓고 있기 때문에, 묘화하는 프레임이 서로 인접한 화소치를 구할 때에, 보다 가까운 텍스처 좌표가 참조된다.
도 24b 및 도 25b는, 각각 θ방향, φ방향의 변화를 일괄로 한 텍스처를, u와 v방향의 변화에 따라 타일모양으로 늘어놓고, 더욱이 그것을 각각 φ방향, θ방향의 변화에 따라 층 방향(높이 방향)으로 적층한 3차원 텍스처이다. 이러한 배치의 경우, 각각 θ와 φ방향의 바이 리니어에 더하여, 각각 φℓ방향, θℓ방향의 보간도 하드웨어에 의해 행할 수가 있다. 즉, 3차원 텍스처의 트리 리니어 기능을 이용한 보간 계산을 실행할 수가 있다. 따라서, 도 24b 및 도 25b는, 도 25a 및 도 26a에 비해 텍스처의 로드 회수를 줄일 수가 있다. 텍스처 캐쉬의 히트율에 관해서는, 도 25a 및 도 26a에 비해 히트율을 높일 수가 있다. 2차원 텍스처에서는, u와 v방향의 변화에 따른 타일이 떨어진 위치에 있다. 반면에, 3차원 텍스처에서는, 층 방향(높이 방향)으로 uv가 가까워지고, 또한 θℓ 혹은 φℓ의 가까운 화소 데이터가 존재하고 있다.
상술한 바와 같이, 텍스처의 배치방법에 따라 텍스처의 로드 회수나 텍스처 캐쉬의 히트율이 변화하고, 렌더링 성능이 크게 변화한다. 이러한 성질을 고려하여, 텍스처의 배치방법을 결정해서 블록화 방법의 결정, 부호화, 블록 데이터의 연결을 실행함으로써, 보다 효율적인 고차원 텍스처 매핑을 실현할 수가 있다.
예를 들면 도 24a에서는, θc 및 θℓ방향의 2차원으로 블록화하고, 그것을 부호화함으로써, 도 24a에 나타낸 바와 같은 배치방법으로 그래픽스 LSI의 메모리 상에 부호화 데이터를 격납할 수가 있다. 매핑시에는, 하드웨어의 바이 리니어 기능을 이용할 수가 있다.
이상의 제3의 실시형태에 의하면, 고정 블록 사이즈로 부호화된 텍스처군의 데이터를 입력하는 경우에, 시점 방향이나 광원 방향 등의 조건에 따라 변화하는 텍스처군을 부호화함으로써, 그래픽스 LSI 상에서의 텍스처 매핑의 처리속도를 향상시킬 수가 있다.
(제4의 실시형태)
제4의 실시형태에서는, 가변 블록 사이즈로 부호화된 텍스처군의 데이터를 입력한 경우의 텍스처 복호화 장치(매핑부를 포함한다)의 처리에 대해 설명한다. 특히, 블록 데이터 추출부에 있어서 어떻게 해서 블록 데이터에 액세스할 수 있는지에 대해 설명한다.
본 실시형태에 따른 텍스처 복호화 장치의 동작에 대해 설명한다. 여기에서, 텍스처 복호화 장치에 포함되는 블록은 도 21과 같다. 따라서, 블록 데이터 추출부(2102)에 의해 실행되는 블록 데이터 추출(스텝 S2203)의 처리예를 설명하기로 한다.
제3의 실시형태에서는, 고정 블록 사이즈로 부호화된 텍스처 데이터를 대상으로 했다. 그렇지만, 제4의 실시형태에서는, 가변 블록 사이즈로 부호화된 텍스처 데이터를 대상으로 하고 있다. 가변 블록 사이즈로 부호화된 텍스처 데이터에 있어서, 블록 데이터에 적절히 액세스해서 추출하는 수법으로서는, 예를 들면 이하와 같은 2가지의 수법이 있다.
1. <<블록 지정 데이터를 이용한 블록 데이터 추출>>
제2의 실시형태에서 설명한 바와 같이, 가변 블록 사이즈로 부호화를 실시한 경우에는, 블록 지정 데이터가 부호화 데이터 내에 포함된다. 따라서, 텍스처 좌표 및 조건 파라미터를 입력한 후에, 블록 데이터 추출부(2102)가 그 입력한 6차원의 파라미터와 블록 지정 데이터를 대조함으로써, 어느 블록 데이터에 액세스하면 좋은지를 조사할 수가 있다. 지정된 블록 데이터에 액세스한 후의 처리는, 제3의 실시형태에서 설명한 처리와 마찬가지이다.
2. <<부호화 데이터 변환을 이용한 블록 데이터 추출>>
또 하나의 수법에서는, 부호화 데이터 변환 처리를 행하고 나서 블록 데이터 추출을 행한다. 이 경우, 도 22의 장치의 구성을 약간 변경할 필요가 있다. 도 27은 변경 후의 장치의 구성을 나타낸다. 도 27에서 도 21과 다른 장치 부분은, 부호화 데이터 변환부(2701)뿐이다. 부호화 데이터 변환부(2701)는, 블록 데이터 추출부(2102)의 전단, 또한 입력부(2101)의 후단에 설정된다.
부호화 데이터 변환부(2701)는, 가변 블록 사이즈로 부호화된 텍스처 데이터를, 고정 블록 사이즈의 부호화 데이터로 변환한다. 부호화 데이터 변환부(2701)에 있어서는, 블록 지정 데이터를 이용하여 가변 사이즈의 블록 데이터를 액세스하고 있다. 그리고, 고정 사이즈로 변환한 후에는, 블록 지정 데이터가 불필요하게 되기 때문에 삭제된다.
도 28은 가변 블록 사이즈로부터 고정 블록 사이즈로 변환하는 상태를 간단하게 나타내고 있다. 가변 사이즈로 분할된 블록보다 큰 사이즈로 변환하고자 하면, 재차 부호화 처리를 행하는 것과 동등한 계산량이 필요하게 되어 버린다. 한편, 가변 사이즈로 분할된 블록 이하의 사이즈로 변환하는 것은, 복호화 처리 정도의 간단한 계산으로 실현할 수가 있다. 따라서, 후자와 같은 변환을 행한다. 고정 사이즈의 부호화 데이터로 변환할 수 있으면, 그 이후의 처리는 제3의 실시형태에서 설명한 처리와 마찬가지이다.
가변 블록 사이즈의 부호화 데이터에서의 2가지의 블록 데이터 추출수법을 설명했다. 블록 지정 데이터를 이용한 수법에서는, 적은 데이터량으로 매핑할 수 있다고 하는 메리트가 있는 반면, 화소 처리를 할 때마다 블록 지정 데이터를 참조해야 한다고 하는 디메리트가 있다. 이것은, 불필요한 텍스처 로드 명령이 1회 증가해 버리는 것에 상당하고, 렌더링 속도에 영향을 주어 버린다.
또, 부호화 데이터 변환을 이용한 수법에서는, 그래픽스 LSI의 내부 비디오메모리에 격납하기 직전에 고정 블록 사이즈의 데이터로 변환하고 있다. 따라서, 비교적 고속의 렌더링을 행할 수가 있다. 그렇지만, 고정 블록 사이즈로 함으로써, 데이터량이 비교적 증가해 버린다고 하는 문제도 있다. 어느 쪽의 수법에 있어서도 메리트·디메리트가 있기 때문에, 텍스처 소재의 복잡도나 그래픽스 LSI의 사양에 따라 잘 구분하여 사용할 필요가 있다.
이상의 제4의 실시형태에 의하면, 가변 블록 사이즈로 부호화된 텍스처군의 데이터를 입력하는 경우에, 시점 방향이나 광원 방향 등의 조건에 따라 변화하는 텍스처군을 부호화함으로써, 그래픽스 LSI 상에서의 텍스처 매핑의 처리속도를 향상시킬 수가 있다.
또한, 본 발명은 상기 실시형태 그대로에 한정되는 것이 아니라, 실시 단계에서는 그 요지를 일탈하지 않는 범위에서 구성요소를 변형하여 구체화할 수 있다. 또, 상기 실시형태에 개시되어 있는 복수의 구성요소의 적당한 조합에 의해, 여러 가지의 발명을 형성할 수 있다. 예를 들면 실시형태에 나타낸 전 구성요소로부터 몇 개의 구성요소를 삭제해도 좋다. 더욱이, 다른 실시형태에 걸치는 구성요소를 적당 조합해도 좋다.

Claims (41)

  1. 복수의 다른 조건으로 공급한 텍스처군의 텍스처 데이터를 취득하는 텍스처 데이터 취득부와,
    상기 텍스처 데이터를, 상기 텍스처군에서 상기 조건에 대응하는 값이 어떤 제1 범위 내에 있고 또한 화소 위치가 어떤 제2 범위 내에 있는 복수의 화소 데이터를 포함하고 있는 복수의 블록 데이터로 분할하는 블록 분할부,
    상기 블록 데이터의 각각을 부호화하여 복수의 부호화된 블록 데이터를 생성하는 블록 데이터 부호화부 및,
    상기 부호화된 블록 데이터를 연결해서 텍스처군의 부호화 데이터를 생성하는 블록 데이터 연결부를 구비하는 것을 특징으로 하는 텍스처 부호화 장치.
  2. 제1항에 있어서, 상기 블록 분할부는, 복수의 상기 조건 및 상기 화소 위치가 어떤 값을 갖는 화소 데이터를 기초로 해서, 그 화소 데이터와, 그 화소 위치가 동일하고 상기 조건을 어떤 범위 내에서 변경한 일정수의 화소 데이터를 포함하고 있는 블록을 형성하는 것을 특징으로 하는 텍스처 부호화 장치.
  3. 제1항에 있어서, 상기 블록 분할부는, 상기 복수의 화소 데이터의 분산치를 산출하는 산출부와,
    각 분산치가 어떤 값보다 작은가를 결정하기 위해 각 분산치를 어떤 값과 비교하는 비교부,
    상기 어떤 값 이상의 분산치를 갖는 화소 데이터를 포함하고 있는 경우에는, 화소 데이터의 차원 중에서 상기 복수의 조건 중 하나에 대응하면서 분산치가 가장 큰 차원을 검출하는 검출부 및,
    상기 검출된 하나의 차원에서 상기 텍스처 데이터를 2분할하는 분할부를 포함하고,
    상기 산출부가 상기 2분할된 텍스처 데이터마다 분산치를 산출하는 것을 특징으로 하는 텍스처 부호화 장치.
  4. 제1항에 있어서, 상기 블록 데이터 부호화부는, 벡터 양자화에 의해 상기 블록 데이터마다 부호화하는 것을 특징으로 하는 텍스처 부호화 장치.
  5. 제1항에 있어서, 상기 블록 데이터 부호화부가, 벡터 양자화에 의해 상기 블록 데이터의 각각으로부터 복수의 대표벡터를 산출하는 벡터 산출부와,
    각 블록 데이터에 대응하는 복수의 대표벡터를 포함한 복수의 코드북 데이터와, 각 대표벡터와 각 블록 데이터 내의 각 화소 데이터의 대응관계를 나타내는 정 보인 인덱스 데이터를 작성하는 작성부를 포함하는 것을 특징으로 하는 텍스처 부호화 장치.
  6. 제1항에 있어서, 상기 블록 데이터 부호화부는, 복호화를 위한 원 데이터로서 이용되는 복수의 코드북 데이터, 및 각 화소의 복호 방법을 식별하기 위한 복수의 인덱스 데이터를 작성하는 작성부를 포함하고,
    상기 부호화된 블록 데이터가, 상기 코드북 데이터와 상기 인덱스 데이터를 포함하는 것을 특징으로 하는 텍스처 부호화 장치.
  7. 제6항에 있어서, 상기 작성부가, 상기 코드북 데이터의 각각에, 블록 데이터 내의 대표적인 화소 데이터를 나타내는 대표벡터, 어떤 대표벡터로부터의 변화량을 유지하는 벡터 변화량, 및 복수의 대표벡터를 보간하기 위한 보간율을 포함하는 것을 특징으로 하는 텍스처 부호화 장치.
  8. 제7항에 있어서, 상기 작성부가, 상기 인덱스 데이터에, 상기 대표벡터를 지시하기 위한 인덱스, 어떤 대표벡터에 상기 벡터 변화량을 가산하여 구한 벡터를 지시하기 위한 인덱스, 상기 보간율을 이용하여 구한 대표벡터의 보간 벡터를 지시 하기 위한 인덱스, 및 복호 방법을 나타내지 않고 주변의 화소 데이터로부터 보간하는 것을 지시하기 위한 인덱스를 포함하는 것을 특징으로 하는 텍스처 부호화 장치.
  9. 제5항에 있어서, 상기 블록 부호화부가, 복수의 블록을 포함한 매크로 블록, 또는 텍스처군에, 상기 코드북 데이터를 부여하는 부여부와,
    인덱스 데이터가, 블록내의 코드북 데이터에 더하여, 각 매크로 블록의 코드북 데이터와 텍스처군의 코드북 데이터 중의 하나를 이용하는 복호방법을 나타내는, 각 화소의 복수의 인덱스 데이터를 작성하는 작성부를 포함하는 것을 특징으로 하는 것을 특징으로 하는 텍스처 부호화 장치.
  10. 제5항에 있어서, 상기 블록 부호화부는, 각 화소 데이터의 벡터의 성분이 색정보, 투과도 정보, 법선벡터 정보, 심도 정보, 조명효과 정보, 그래픽스 데이터의 작성을 위한 벡터 정보 중의 하나를 포함하는 블록 데이터를 부호화하는 것을 특징으로 하는 텍스처 부호화 장치.
  11. 제10항에 있어서, 상기 블록 부호화부는, 상기 성분 중 적어도 2개의 다른 성분을 조합시켜 벡터화해서, 상기 성분의 각각의 변화의 특성에 따라, 상기 인덱스 데이터를 성분마다 할당하거나 상기 코드북 데이터를 성분마다 할당하는 것을 특징으로 하는 텍스처 부호화 장치.
  12. 제10항에 있어서, 상기 블록 부호화부는, 상기 성분 중, 어느 변화량보다 변화가 적은 성분에 대해 할당하는 부호량보다, 어느 변화량 이상으로 변화가 많은 성분에 대해 많은 부호량을 할당하는 것을 특징으로 하는 텍스처 부호화 장치.
  13. 복수의 다른 조건으로 공급한 텍스처군의 텍스처 데이터를 취득하는 텍스처 취득부와,
    상기 텍스처 데이터를, 상기 텍스처군에서 상기 조건에 대응하는 값이 어떤 제1 범위 내에 있고 또한 화소 위치가 어떤 제2 범위 내에 있는 복수의 화소 데이터를 포함하고 있는 복수의 블록 데이터로 분할하는 블록 분할부,
    상기 블록 데이터의 각각을 부호화하여 복수의 부호화된 블록 데이터를 생성하는 블록 데이터 부호화부,
    상기 부호화된 블록 데이터의 각각의 부호화 오차를 산출하는 오차 산출부,
    상기 부호화된 블록 데이터마다, 상기 산출된 부호화 오차와, 부호화 오차가 어떤 범위 내인가를 나타내는 허용조건을 비교하는 비교부 및,
    상기 산출된 부호화 오차가 상기 허용조건을 만족시키는 부호화된 블록 데이터를 연결하는 블록 데이터 연결부를 구비하고,
    상기 산출된 부호화 오차가 상기 허용조건을 만족시키지 않는 블록 데이터에 대해서는, 상기 블록 분할부가 그 블록 데이터를 상기 분할된 블록 데이터보다 작은 데이터량을 갖는 블록 데이터로 분할하는 것을 특징으로 하는 텍스처 부호화 장치.
  14. 제13항에 있어서, 상기 블록 데이터 부호화부가, 벡터 양자화에 의해 상기 블록 데이터마다 부호화하는 것을 특징으로 하는 텍스처 부호화 장치.
  15. 제13항에 있어서, 상기 블록 데이터 부호화부가, 벡터 양자화에 의해 상기 블록 데이터의 각각으로부터 복수의 대표벡터를 산출하는 벡터 산출부와,
    각 블록 데이터에 대응하는 복수의 대표벡터를 포함한 복수의 코드북 데이터와, 각 대표벡터와 각 블록 데이터 내의 각 화소 데이터의 대응관계를 나타내는 정보인 인덱스 데이터를 작성하는 작성부를 포함하는 것을 특징으로 하는 텍스처 부호화 장치.
  16. 제13항에 있어서, 상기 블록 데이터 부호화부는, 복호화를 위한 원 데이터로서 이용되는 복수의 코드북 데이터, 및 각 화소의 복호 방법을 식별하기 위한 복수의 인덱스 데이터를 작성하는 작성부를 포함하고,
    상기 부호화된 블록 데이터가, 상기 코드북 데이터와 상기 인덱스 데이터를 포함하는 것을 특징으로 하는 텍스처 부호화 장치.
  17. 제16항에 있어서, 상기 작성부가, 상기 코드북 데이터의 각각에, 블록 데이터 내의 대표적인 화소 데이터를 나타내는 대표벡터, 어떤 대표벡터로부터의 변화량을 유지하는 벡터 변화량, 및 복수의 대표벡터를 보간하기 위한 보간율을 포함하는 것을 특징으로 하는 텍스처 부호화 장치.
  18. 제17항에 있어서, 상기 작성부가, 상기 인덱스 데이터에, 상기 대표벡터를 지시하기 위한 인덱스, 어떤 대표벡터에 상기 벡터 변화량을 가산하여 구한 벡터를 지시하기 위한 인덱스, 상기 보간율을 이용하여 구한 대표벡터의 보간 벡터를 지시하기 위한 인덱스, 및 복호 방법을 나타내지 않고 주변의 화소 데이터로부터 보간하는 것을 지시하기 위한 인덱스를 포함하는 것을 특징으로 하는 텍스처 부호화 장치.
  19. 제15항에 있어서, 상기 블록 부호화부가, 복수의 블록을 포함한 매크로 블록 또는 텍스처군에, 상기 코드북 데이터를 부여하는 부여부와,
    인덱스 데이터가, 블록내의 코드북 데이터에 더하여, 각 매크로 블록의 코드북 데이터와 텍스처군의 코드북 데이터 중의 하나를 이용하는 복호방법을 나타내는, 각 화소의 복수의 인덱스 데이터를 작성하는 작성부를 포함하는 것을 특징으로 하는 것을 특징으로 하는 텍스처 부호화 장치.
  20. 제15항에 있어서, 상기 블록 부호화부는, 각 화소 데이터의 벡터의 성분이 색정보, 투과도 정보, 법선벡터 정보, 심도 정보, 조명효과 정보, 그래픽스 데이터의 작성을 위한 벡터 정보 중의 하나를 포함하는 블록 데이터를 부호화하는 것을 특징으로 하는 텍스처 부호화 장치.
  21. 제20항에 있어서, 상기 블록 부호화부는, 상기 성분 중 적어도 2개의 다른 성분을 조합시켜 벡터화해서, 상기 성분의 각각의 변화의 특성에 따라, 상기 인덱스 데이터를 성분마다 할당하거나 상기 코드북 데이터를 성분마다 할당하는 것을 특징으로 하는 텍스처 부호화 장치.
  22. 제20항에 있어서, 상기 블록 부호화부는, 상기 성분 중, 어느 변화량보다 변화가 적은 성분에 대해 할당하는 부호량보다, 어느 변화량 이상으로 변화가 많은 성분에 대해 많은 부호량을 할당하는 것을 특징으로 하는 텍스처 부호화 장치.
  23. 복수의 다른 조건으로 공급한 텍스처군의 부호화 데이터를 취득하는 부호화 데이터 취득부와,
    화소 위치를 지정하는 복수의 텍스처 좌표와 상기 조건을 지정하는 조건 파라미터를 취득하는 지정 데이터 취득부,
    상기 부호화 데이터 중에서, 상기 텍스처 좌표 및 상기 조건 파라미터에 대응하는 블록 데이터를 추출하는 블록 데이터 추출부,
    상기 추출된 블록 데이터를 복호화하는 블록 데이터 복호화부 및,
    상기 복호화된 데이터를 기초로 복수의 화소 데이터를 산출하는 화소 데이터 산출부를 구비하는 것을 특징으로 하는 텍스처 복호화 장치.
  24. 제23항에 있어서, 텍스처 매핑의 대상으로 되는 그래픽스 데이터, 및 텍스처 매핑의 수법을 지정하는 매핑 파라미터를 취득하는 취득부와,
    상기 매핑 파라미터를 참조해서 상기 화소 데이터를 상기 그래픽스 데이터에 매핑하는 매핑부 및,
    상기 매핑된 그래픽스 데이터를 출력하는 그래픽스 데이터 출력부를 더 구비하는 것을 특징으로 하는 텍스처 복호화 장치.
  25. 제23항에 있어서, 상기 부호화 데이터 취득부가, 청구항 2의 블록 분할부를 이용한 텍스처 부호화 장치에 의해 부호화된 데이터를 취득하고,
    상기 블록 데이터 추출부는, 청구항 2의 블록화에 따라 블록 데이터를 액세스하는 것을 특징으로 하는 텍스처 복호화 장치.
  26. 제23항에 있어서, 상기 부호화 데이터 취득부가, 청구항 3의 블록 분할부를 이용한 텍스처 부호화 장치에 의해 부호화된 데이터를 취득하고,
    상기 블록 데이터 추출부는, 복수의 텍스처 좌표와 조건 파라미터에 더하여, 상기 텍스처 좌표와 상기 조건 파라미터를 기초로 액세스해야 할 블록 데이터를 결정하기 위한 테이블 데이터인 블록 지정 데이터를 취득하며,
    상기 텍스처 좌표, 상기 조건 파라미터 및 상기 블록 지정 데이터에 기초해서 액세스해야 할 블록 데이터를 결정하여 블록 데이터를 추출하는 것을 특징으로 하는 텍스처 복호화 장치.
  27. 제23항에 있어서, 상기 블록 데이터 추출부는, 상기 조건을 지정하는 조건 파라미터가 부호화된 텍스처군 내의 취득 조건 또는 작성 조건과 일치하지 않는 경우에는 적어도 2개의 블록 데이터를 액세스하고, 텍스처 좌표, 상기 조건 파라미터, 및 상기 텍스처 좌표와 상기 조건 파라미터를 기초로 액세스해야 할 블록 데이터를 결정하기 위한 테이블 데이터인 블록 지정 데이터에 의해, 액세스해야 할 블록 데이터의 수를 결정해서 필요한 모든 블록 데이터를 추출하고,
    상기 부호화 데이터가 블록화되어 있는 경우에는, 상기 복수의 조건에 대응하는 화소 데이터를 추출하는 것을 특징으로 하는 텍스처 복호화 장치.
  28. 복수의 다른 조건으로 공급한 텍스처군의 부호화 데이터를 취득하는 부호화 데이터 취득부와,
    상기 부호화 데이터에 포함되는 블록의 사이즈를 고정 블록 사이즈로 변환하는 부호화 데이터 변환부,
    화소 위치를 지정하는 복수의 텍스처 좌표와 상기 조건을 지정하는 조건 파라미터를 취득하는 지정 데이터 취득부,
    상기 변환된 부호화 데이터 중에서, 상기 텍스처 좌표 및 상기 조건 파라미터에 대응하는 블록 데이터를 추출하는 블록 데이터 추출부,
    상기 추출된 블록 데이터를 복호화하는 블록 데이터 복호화부 및,
    상기 복호화된 데이터를 기초로 복수의 화소 데이터를 산출하는 화소 데이터 산출부를 구비하는 것을 특징으로 하는 텍스처 복호화 장치.
  29. 제28항에 있어서, 상기 부호화 데이터 변환부가, 청구항 3에 따라 분할된 부호화 데이터를, 청구항 2에 따라 블록화가 행해진 부호화 데이터로 변환하는 것을 특징으로 하는 텍스처 복호화 장치.
  30. 제28항에 있어서, 텍스처 매핑의 대상으로 되는 그래픽스 데이터, 및 텍스처 매핑의 수법을 지정하는 매핑 파라미터를 취득하는 취득부와,
    상기 매핑 파라미터를 참조해서 상기 화소 데이터를 상기 그래픽스 데이터에 매핑하는 매핑부 및,
    상기 매핑된 그래픽스 데이터를 출력하는 그래픽스 데이터 출력부를 더 구비하는 것을 특징으로 하는 텍스처 복호화 장치.
  31. 제28항에 있어서, 상기 부호화 데이터 취득부가, 청구항 2의 블록 분할부를 이용한 텍스처 부호화 장치에 의해 부호화된 데이터를 취득하고,
    상기 블록 데이터 추출부는, 청구항 2의 블록화에 따라 블록 데이터를 액세 스하는 것을 특징으로 하는 텍스처 복호화 장치.
  32. 제28항에 있어서, 상기 부호화 데이터 취득부가, 청구항 3의 블록 분할부를 이용한 텍스처 부호화 장치에 의해 부호화된 데이터를 취득하고,
    상기 블록 데이터 추출부는, 복수의 텍스처 좌표와 조건 파라미터에 더하여, 상기 텍스처 좌표와 상기 조건 파라미터를 기초로 액세스해야 할 블록 데이터를 결정하기 위한 테이블 데이터인 블록 지정 데이터를 취득하며,
    상기 텍스처 좌표, 상기 조건 파라미터 및 상기 블록 지정 데이터에 기초해서 액세스해야 할 블록 데이터를 결정하여 블록 데이터를 추출하는 것을 특징으로 하는 텍스처 복호화 장치.
  33. 제28항에 있어서, 상기 블록 데이터 추출부는, 상기 조건을 지정하는 조건 파라미터가 부호화된 텍스처군 내의 취득 조건 또는 작성 조건과 일치하지 않는 경우에는 적어도 2개의 블록 데이터를 액세스하고, 텍스처 좌표, 상기 조건 파라미터, 및 상기 텍스처 좌표와 상기 조건 파라미터를 기초로 액세스해야 할 블록 데이터를 결정하기 위한 테이블 데이터인 블록 지정 데이터에 의해, 액세스해야 할 블록 데이터의 수를 결정해서 필요한 모든 블록 데이터를 추출하고,
    상기 부호화 데이터가 블록화되어 있는 경우에는, 상기 복수의 조건에 대응 하는 화소 데이터를 추출하는 것을 특징으로 하는 텍스처 복호화 장치.
  34. 복수의 다른 조건으로 공급한 텍스처군의 텍스처 데이터를 취득하고,
    상기 텍스처 데이터를, 상기 텍스처군에서 상기 조건에 대응하는 값이 어떤 제1 범위 내에 있고 또한 화소 위치가 어떤 제2 범위 내에 있는 복수의 화소 데이터를 포함하고 있는 복수의 블록 데이터로 분할하며,
    상기 블록 데이터의 각각을 부호화하고,
    상기 부호화된 블록 데이터를 연결해서 텍스처군의 부호화 데이터를 생성하는 것을 특징으로 하는 텍스처 부호화 방법.
  35. 복수의 다른 조건으로 공급한 텍스처군의 텍스처 데이터를 취득하고,
    상기 텍스처 데이터를, 상기 텍스처군에서 상기 조건에 대응하는 값이 어떤 제1 범위 내에 있고 또한 화소 위치가 어떤 제2 범위 내에 있는 복수의 화소 데이터를 포함하고 있는 복수의 블록 데이터로 분할하며,
    상기 블록 데이터의 각각을 부호화하여 복수의 부호화된 블록 데이터를 생성하고,
    상기 부호화된 블록 데이터의 각각의 부호화 오차를 산출하며,
    상기 부호화된 블록 데이터마다, 상기 산출된 부호화 오차와, 부호화 오차가 어떤 범위 내인가를 나타내는 허용조건을 비교하고,
    상기 산출된 부호화 오차가 상기 허용조건을 만족시키는 부호화된 블록 데이터를 연결하며,
    상기 산출된 부호화 오차가 상기 허용조건을 만족시키지 않는 블록 데이터에 대해서는, 그 블록 데이터를 상기 분할된 블록 데이터보다 작은 데이터량을 갖는 블록 데이터로 분할하는 것을 특징으로 하는 텍스처 부호화 방법.
  36. 복수의 다른 조건으로 공급한 텍스처군의 부호화 데이터를 취득하고,
    화소 위치를 지정하는 복수의 텍스처 좌표와 상기 조건을 지정하는 조건 파라미터를 취득하며,
    상기 부호화 데이터 중에서, 상기 텍스처 좌표 및 상기 조건 파라미터에 대응하는 블록 데이터를 추출하고,
    상기 추출된 블록 데이터를 복호화하며,
    상기 복호화된 데이터를 기초로 복수의 화소 데이터를 산출하는 것을 특징으로 하는 텍스처 복호화 방법.
  37. 복수의 다른 조건으로 공급한 텍스처군의 부호화 데이터를 취득하고,
    상기 부호화 데이터에 포함되는 블록의 사이즈를 고정 블록 사이즈로 변환하 며,
    화소 위치를 지정하는 복수의 텍스처 좌표와 상기 조건을 지정하는 조건 파라미터를 취득하고,
    상기 변환된 부호화 데이터 중에서, 상기 텍스처 좌표 및 상기 조건 파라미터에 대응하는 블록 데이터를 추출하며,
    상기 추출된 블록 데이터를 복호화하고,
    상기 복호화된 데이터를 기초로 복수의 화소 데이터를 산출하는 것을 특징으로 하는 텍스처 복호화 방법.
  38. 컴퓨터를,
    복수의 다른 조건으로 공급한 텍스처군의 텍스처 데이터를 취득하도록 지시하기 위한 수단과,
    상기 텍스처 데이터를, 상기 텍스처군에서 상기 조건에 대응하는 값이 어떤 제1 범위 내에 있고 또한 화소 위치가 어떤 제2 범위 내에 있는 복수의 화소 데이터를 포함하고 있는 복수의 블록 데이터로 분할하도록 지시하기 위한 수단,
    상기 블록 데이터의 각각을 부호화하여 복수의 부호화된 블록 데이터를 생성하도록 지시하기 위한 수단 및,
    상기 부호화된 블록 데이터를 연결해서 텍스처군의 부호화 데이터를 생성하도록 지시하기 위한 수단으로서 기능시키기 위한 텍스처 부호화 프로그램을 기록한 것을 특징으로 하는 컴퓨터 독출가능한 매체.
  39. 컴퓨터를,
    복수의 다른 조건으로 공급한 텍스처군의 텍스처 데이터를 취득하도록 지시하기 위한 수단과,
    상기 텍스처 데이터를, 상기 텍스처군에서 상기 조건에 대응하는 값이 어떤 제1 범위 내에 있고 또한 화소 위치가 어떤 제2 범위 내에 있는 복수의 화소 데이터를 포함하고 있는 복수의 블록 데이터로 분할하도록 지시하기 위한 수단,
    상기 블록 데이터의 각각을 부호화하여 복수의 부호화된 블록 데이터를 생성하도록 지시하기 위한 수단,
    상기 부호화된 블록 데이터의 각각의 부호화 오차를 산출하도록 지시하기 위한 수단,
    상기 부호화된 블록 데이터마다, 상기 산출된 부호화 오차와, 부호화 오차가 어떤 범위 내인가를 나타내는 허용조건을 비교하도록 지시하기 위한 수단 및,
    상기 산출된 부호화 오차가 상기 허용조건을 만족시키는 부호화된 블록 데이터를 연결하도록 지시하기 위한 수단으로서 기능시키되,
    상기 산출된 부호화 오차가 상기 허용조건을 만족시키지 않는 블록 데이터에 대해서는, 그 블록 데이터를 상기 분할된 블록 데이터보다 작은 데이터량을 갖는 블록 데이터로 분할하는 텍스처 부호화 프로그램을 기록한 것을 특징으로 하는 컴퓨터 독출가능한 매체.
  40. 컴퓨터를,
    복수의 다른 조건으로 공급한 텍스처군의 부호화 데이터를 취득하도록 지시하기 위한 수단과,
    화소 위치를 지정하는 복수의 텍스처 좌표와 상기 조건을 지정하는 조건 파라미터를 취득하도록 지시하기 위한 수단,
    상기 부호화 데이터 중에서, 상기 텍스처 좌표 및 상기 조건 파라미터에 대응하는 블록 데이터를 추출하도록 지시하기 위한 수단,
    상기 추출된 블록 데이터를 복호화하도록 지시하기 위한 수단 및,
    상기 복호화된 데이터를 기초로 복수의 화소 데이터를 산출하도록 지시하기 위한 수단으로서 기능시키기 위한 텍스처 복호화 프로그램을 기록한 것을 특징으로 하는 컴퓨터 독출가능한 매체.
  41. 컴퓨터를,
    복수의 다른 조건으로 공급한 텍스처군의 부호화 데이터를 취득하도록 지시하기 위한 수단과,
    상기 부호화 데이터에 포함되는 블록의 사이즈를 고정 블록 사이즈로 변환하도록 지시하기 위한 수단,
    화소 위치를 지정하는 복수의 텍스처 좌표와 상기 조건을 지정하는 조건 파라미터를 취득하도록 지시하기 위한 수단,
    상기 변환된 부호화 데이터 중에서, 상기 텍스처 좌표 및 상기 조건 파라미터에 대응하는 블록 데이터를 추출하도록 지시하기 위한 수단,
    상기 추출된 블록 데이터를 복호화하도록 지시하기 위한 수단 및,
    상기 복호화된 데이터를 기초로 복수의 화소 데이터를 산출하도록 지시하기 위한 수단으로서 기능시키기 위한 텍스처 복호화 프로그램을 기록한 것을 특징으로 하는 컴퓨터 독출가능한 매체.
KR1020077004713A 2005-07-20 2006-03-24 텍스처 부호화 장치, 텍스처 복호화 장치, 방법 및 프로그램을 기록한 컴퓨터 독출가능한 매체 KR100903711B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00210318 2005-07-20
JP2005210318A JP4444180B2 (ja) 2005-07-20 2005-07-20 テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム

Publications (2)

Publication Number Publication Date
KR20070069139A KR20070069139A (ko) 2007-07-02
KR100903711B1 true KR100903711B1 (ko) 2009-06-19

Family

ID=37059896

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077004713A KR100903711B1 (ko) 2005-07-20 2006-03-24 텍스처 부호화 장치, 텍스처 복호화 장치, 방법 및 프로그램을 기록한 컴퓨터 독출가능한 매체

Country Status (6)

Country Link
US (1) US20070018994A1 (ko)
EP (1) EP1908018A1 (ko)
JP (1) JP4444180B2 (ko)
KR (1) KR100903711B1 (ko)
CN (1) CN101010699A (ko)
WO (1) WO2007010648A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013069993A1 (ko) * 2011-11-08 2013-05-16 삼성전자 주식회사 변환블록 크기에 기초한 양자화 파라미터 결정 방법 및 그 장치

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0504570D0 (en) * 2005-03-04 2005-04-13 Falanx Microsystems As Method of and apparatus for encoding data
JP4802676B2 (ja) * 2005-11-17 2011-10-26 大日本印刷株式会社 レンダリング用テクスチャデータの作成方法
JP4594892B2 (ja) * 2006-03-29 2010-12-08 株式会社東芝 テクスチャマッピング装置、方法およびプログラム
JP4224093B2 (ja) * 2006-09-25 2009-02-12 株式会社東芝 テクスチャフィルタリング装置、テクスチャマッピング装置、方法およびプログラム
JP4266233B2 (ja) * 2007-03-28 2009-05-20 株式会社東芝 テクスチャ処理装置
WO2008123823A1 (en) * 2007-04-04 2008-10-16 Telefonaktiebolaget Lm Ericsson (Publ) Vector-based image processing
US8582908B2 (en) * 2007-08-07 2013-11-12 Texas Instruments Incorporated Quantization method and apparatus
US8791951B2 (en) 2008-12-01 2014-07-29 Electronics And Telecommunications Research Institute Image synthesis apparatus and method supporting measured materials properties
KR101159162B1 (ko) 2008-12-01 2012-06-26 한국전자통신연구원 측정 재질감을 지원하는 영상 생성 장치 및 방법
RS64605B1 (sr) 2010-04-13 2023-10-31 Ge Video Compression Llc Kodiranje videa primenom podele sa više stabala na slikama
BR122020007923B1 (pt) * 2010-04-13 2021-08-03 Ge Video Compression, Llc Predição interplano
KR102166520B1 (ko) 2010-04-13 2020-10-16 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
NO2991355T3 (ko) 2010-04-13 2018-04-14
CN102231155A (zh) * 2011-06-03 2011-11-02 中国石油集团川庆钻探工程有限公司地球物理勘探公司 三维地震数据管理及组织方法
WO2013162252A1 (ko) * 2012-04-23 2013-10-31 삼성전자 주식회사 슬라이스 헤더를 이용하는 3차원 비디오 부호화 방법 및 그 장치, 3차원 비디오 복호화 방법 및 그 장치
EP2670140A1 (en) * 2012-06-01 2013-12-04 Alcatel Lucent Method and apparatus for encoding a video stream
JP5926626B2 (ja) * 2012-06-11 2016-05-25 キヤノン株式会社 画像処理装置及びその制御方法、プログラム
KR101477665B1 (ko) * 2013-04-04 2014-12-30 한국기술교육대학교 산학협력단 불균일한 텍스쳐 표면의 불량 검출방법
US9141885B2 (en) * 2013-07-29 2015-09-22 Adobe Systems Incorporated Visual pattern recognition in an image
US10332277B2 (en) 2016-04-13 2019-06-25 Samsung Electronics Co., Ltd. Low complexity optimal decimation grid selection in encoding applications
US10075716B2 (en) 2016-04-21 2018-09-11 Samsung Electronics Co., Ltd. Parallel encoding of weight refinement in ASTC image processing encoders

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001160153A (ja) * 1999-12-03 2001-06-12 Namco Ltd 画像生成システム及び情報記憶媒体
JP2004172689A (ja) * 2002-11-18 2004-06-17 Tomoyasu Kagami 本画像用画面の周囲に残像もしくは先駆画像を表示できるテレビモニタ
JP2006107456A (ja) * 2004-10-06 2006-04-20 Toshiba Corp 情報処理システムのユーザ状態あるいはデバイス状態の管理方法及び管理システム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467136A (en) * 1991-05-31 1995-11-14 Kabushiki Kaisha Toshiba Video decoder for determining a motion vector from a scaled vector and a difference vector
US5889891A (en) * 1995-11-21 1999-03-30 Regents Of The University Of California Universal codebook vector quantization with constrained storage
US6097394A (en) * 1997-04-28 2000-08-01 Board Of Trustees, Leland Stanford, Jr. University Method and system for light field rendering
US6459433B1 (en) * 1997-04-30 2002-10-01 Ati Technologies, Inc. Method and apparatus for compression of a two dimensional video object
US6762768B2 (en) * 1998-06-01 2004-07-13 Ati Technologies, Inc. Method and apparatus for rendering an object using texture variant information
US6243081B1 (en) * 1998-07-31 2001-06-05 Hewlett-Packard Company Data structure for efficient retrieval of compressed texture data from a memory system
US6298169B1 (en) * 1998-10-27 2001-10-02 Microsoft Corporation Residual vector quantization for texture pattern compression and decompression
GB2343599B (en) * 1998-11-06 2003-05-14 Videologic Ltd Texturing systems for use in three dimensional imaging systems
US6452602B1 (en) * 1999-12-13 2002-09-17 Ati International Srl Method and apparatus for storing compressed data
US6959110B1 (en) * 2000-08-17 2005-10-25 Nvidia Corporation Multi-mode texture compression algorithm
US7649947B2 (en) * 2001-06-05 2010-01-19 Qualcomm Incorporated Selective chrominance decimation for digital images
WO2003003745A1 (en) * 2001-06-29 2003-01-09 Ntt Docomo, Inc. Image encoder, image decoder, image encoding method, and image decoding method
US7136072B2 (en) * 2001-08-03 2006-11-14 Hewlett-Packard Development Company, L.P. System and method for performing texture synthesis
US6700585B2 (en) * 2001-08-03 2004-03-02 Hewlett-Packard Development Company, L.P. System and method for synthesis of parametric texture map textures
US6968092B1 (en) * 2001-08-21 2005-11-22 Cisco Systems Canada Co. System and method for reduced codebook vector quantization
JP4220182B2 (ja) * 2002-05-31 2009-02-04 株式会社東芝 高次元テクスチャ描画装置、高次元テクスチャ圧縮装置、高次元テクスチャ描画システム、高次元テクスチャ描画方法並びにプログラム
US6940511B2 (en) * 2002-06-07 2005-09-06 Telefonaktiebolaget L M Ericsson (Publ) Graphics texture processing methods, apparatus and computer program products using texture compression, block overlapping and/or texture filtering
US6891548B2 (en) * 2002-08-23 2005-05-10 Hewlett-Packard Development Company, L.P. System and method for calculating a texture-mapping gradient
JP3901644B2 (ja) * 2003-01-30 2007-04-04 株式会社東芝 テクスチャ画像圧縮装置及び方法、テクスチャ画像抽出装置及び方法、データ構造、記憶媒体
SE0401850D0 (sv) * 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
JP4282587B2 (ja) * 2004-11-16 2009-06-24 株式会社東芝 テクスチャ・マッピング装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001160153A (ja) * 1999-12-03 2001-06-12 Namco Ltd 画像生成システム及び情報記憶媒体
JP2004172689A (ja) * 2002-11-18 2004-06-17 Tomoyasu Kagami 本画像用画面の周囲に残像もしくは先駆画像を表示できるテレビモニタ
JP2006107456A (ja) * 2004-10-06 2006-04-20 Toshiba Corp 情報処理システムのユーザ状態あるいはデバイス状態の管理方法及び管理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013069993A1 (ko) * 2011-11-08 2013-05-16 삼성전자 주식회사 변환블록 크기에 기초한 양자화 파라미터 결정 방법 및 그 장치

Also Published As

Publication number Publication date
EP1908018A1 (en) 2008-04-09
JP2007026312A (ja) 2007-02-01
KR20070069139A (ko) 2007-07-02
WO2007010648A1 (en) 2007-01-25
CN101010699A (zh) 2007-08-01
JP4444180B2 (ja) 2010-03-31
US20070018994A1 (en) 2007-01-25

Similar Documents

Publication Publication Date Title
KR100903711B1 (ko) 텍스처 부호화 장치, 텍스처 복호화 장치, 방법 및 프로그램을 기록한 컴퓨터 독출가능한 매체
CN103703779B (zh) 使用次分辨率图像的图像压缩
KR102640992B1 (ko) 포인트 클라우드 프로세싱
CN109257604A (zh) 一种基于tmc3点云编码器的颜色属性编码方法
JP4759291B2 (ja) 適応的2n進ツリーの生成方法、ならびにそれを利用して3次元体積データを符号化/復号化する方法および装置
CN113574567A (zh) 点云压缩的方法和装置
JP2014039257A (ja) デコーダおよび復号方法
CN113518226A (zh) 一种基于地面分割的g-pcc点云编码改进方法
CN113795870A (zh) 用于点云属性编解码的信道间预测和变换的技术和装置
CN112042201A (zh) 用于编码/解码表示3d对象的点云的方法和装置
KR20010101112A (ko) 데이터 어레이의 예측 인코딩 방법 및 시스템
JP2001186516A (ja) 画像データの符号化復号化方法及び装置
JP2024050705A (ja) 属性情報の予測方法、エンコーダ、デコーダ及び記憶媒体
Kämpe et al. Exploiting coherence in time-varying voxel data
KR100314098B1 (ko) 주위화소값의적응임계치를이용한이진영상보간방법
KR101344627B1 (ko) 화상 식별자 추출 장치
KR20230075426A (ko) 포인트 클라우드 인코딩 및 디코딩 방법과 시스템 및 포인트 클라우드 인코더와 포인트 클라우드 디코더
Guenter et al. Motion compensated compression of computer animation frames
Alface et al. V3c-based coding of dynamic meshes
JP5307681B2 (ja) 画像符号化構造の自動生成方法,画像符号化構造の自動生成装置およびそのプログラム
KR20230146629A (ko) 메시 압축을 위한 경계 지오메트리 정보의 예측 코딩
JP2008301373A (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法
CN107770543B (zh) 多类匹配参数中按顺序递增截断值的数据压缩方法和装置
KR20210134041A (ko) 포인트 클라우드의 중간 포인트들의 프로세싱
Yang et al. Chain code-based occupancy map coding for video-based point cloud compression

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120521

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130520

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee