JP3719728B2 - テクスチャ・マッピングの方法及びテクスチャ・マッピング装置 - Google Patents
テクスチャ・マッピングの方法及びテクスチャ・マッピング装置 Download PDFInfo
- Publication number
- JP3719728B2 JP3719728B2 JP29603994A JP29603994A JP3719728B2 JP 3719728 B2 JP3719728 B2 JP 3719728B2 JP 29603994 A JP29603994 A JP 29603994A JP 29603994 A JP29603994 A JP 29603994A JP 3719728 B2 JP3719728 B2 JP 3719728B2
- Authority
- JP
- Japan
- Prior art keywords
- texture
- level
- sampling
- texel
- interpolation
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000013507 mapping Methods 0.000 title claims description 25
- 238000000034 method Methods 0.000 title claims description 21
- 238000005070 sampling Methods 0.000 claims description 72
- 238000001914 filtration Methods 0.000 claims description 50
- 230000015654 memory Effects 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 34
- 230000006835 compression Effects 0.000 claims description 5
- 238000007906 compression Methods 0.000 claims description 5
- 239000013598 vector Substances 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims description 4
- 230000014509 gene expression Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 6
- 230000009466 transformation Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- OVSKIKFHRZPJSS-UHFFFAOYSA-N 2,4-D Chemical compound OC(=O)COC1=CC=C(Cl)C=C1Cl OVSKIKFHRZPJSS-UHFFFAOYSA-N 0.000 description 1
- 241000135164 Timea Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Description
【産業上の利用分野】
本発明は、コンピュータ・グラフィックスにおいて、テクスチャマッピングを行う際に問題となるエイリアシングについて、その発生が起こらずかつテクスチャの模様の精細度をできるだけ落さないテクスチャ・マッピングの方法及びその装置に関するものである。
【0002】
【従来の技術】
コンピュータグラフィックスにおいて、データベース上に格納され仮定された三次元の視覚対象物を構成する多角形面上に必要な模様を付して、仮定された指定の視点から見た二次元画像として表示を行なう方法がある。視覚対象物を構成する多角形(「ポリゴン」という)面上の必要な模様は、テクスチャ(texture )と呼ばれ、複雑で不均一な色や輝度のパターンを言う。各ポリゴンは、一枚一枚の平面で構成され、データベース上の平面を視点から見た情景になるように平行回転移動をして表示されるため、テクスチャを与えない場合は、海面や地面などは単なる青あるいは茶色の平面として表示される。
【0003】
テクスチャの基本単位として、テクスチャ・パターンがあり、テクスチャの一波長を表わす。1パターンの模様は例えば256×256のドット(テクスチャの場合、これをテクセル(texel )=テクスチャ・エレメントという)で表わす。これに対して、テクスチャ・パターンの情報を格納するメモリにテクスチャ・パターン・メモリがある。
【0004】
テクスチャの発生原理は、通常のポリゴンとは逆の経路で、ディスプレイ上の各画素を予めパターンがストアされているテクスチャ・パターン・メモリ(texture patern memory )のアドレスへ対応させることによっている。この操作を「マッピング」と呼ぶ。
【0005】
精細な画像をCRTに表示しようとすると本来の画像と異なった画像になってしまうことがある。たとえば、CRTの画素数以上に細かい格子模様や放射状の模様を表示しようとするとモアレ縞が現われる。
【0006】
これがエイリアシングと呼ばれる現象であり、そのメカニズムはナイキストのサンプリング定理により説明することができる。すなわち、表現しようとする画像をサンプリングにより正確に表示するには画像の持っている空間周波数の2倍(ナイキスト周波数)以上でサンプリングしなければならない。また、逆にいえばCRTの持っている空間周波数(すなわち分解能)の1/2以下の空間周波数しか持たない画像だけがエイリアシングなしにCRTに表示することができる。
【0007】
従って、エイリアシングを防止するには、表示しようとする画像がCRTの空間周波数の1/2以下の周波数成分しか持たないように帯域制限してから、すなわちフィルタリングしてからCRTに表示する必要がある。
【0008】
テクスチャすなわち模様をCRTに表示するとき、その模様を仮定した視点からどれくらい離れて見たときに生じる映像であるかによって表示すべき画像のもつ空間周波数(CRT上での)帯域(cut−off周波数(しゃ断周波数))は異なる。すなわち、仮定する視点が情景の面に形成された模様を見る場合、遠方から見た映像は模様が細かく見え、従って高いcut−off周波数を持ち、近くから見た映像は模様が粗く見え、従って低いcut−off周波数を持つ。また、模様を正面から見るか斜めから見るかによってもcut−off周波数は異なる。
【0009】
テクスチャをエイリアシングなく正確に表示するにはサンプリング点ごとに視点からの距離及び見込む角度によって定まるサンプリング周波数(、すなわち模様の細かさあるいは粗さによる空間周波数、)の1/2以上の周波数成分を持たないように、テクスチャをフィルタリングした映像をCRTに表示しなければならない。
【0010】
フィルタリングは非常に処理時間がかかるので予めテクスチャを数段階の周波数帯域を持つようフィルタリングした数種類のテクスチャ・パターンを用意しておき、サンプリング点のサンプリング周波数を計算し、その周波数に対応した周波数成分を持つテクスチャ・パターンを用いてマッピングを行うMIPMAP法が一般に用いられる。
【0011】
MIPMAP法を具体的に説明する。
【0012】
マッピングすべきテクスチャ・パターンを2n ×2n のテクスチャ・パターン・メモリに格納しておく。このとき、このテクスチャ・パターン・メモリに格納できるテクスチャ・パターンの周波数帯域は直流成分から2n-1 である(ただし、波長の単位はテクスチャ・パターンの全体の幅を1とする。)。すなわち、テクスチャ・パターンのcut−off周波数ft は2n-1 である。
【0013】
これをcut−off周波数が2n-2 ,…,20 となるようにフィルタリングしたテクスチャ・パターンを予め用意しテクスチャ・パターン・メモリに格納しておく。それぞれのテクスチャ・パターン又はメモリをLOD(Level of Detail ;詳細度レベル)n−1,…,0のテクスチャ・パターン又はテクスチャ・パターン・メモリという。
【0014】
従って、ピクセル(xs ,ys )にテクスチャをマッピングするとき、テクスチャ座標系におけるサンプリング周波数をfs とするとcut−off周波数がfs /2以下のテクスチャ・パターンをマッピングしなければならない。さらに具体的に説明すると、詳細度レベル(LOD)が
【0015】
【数5】
【0016】
のテクスチャ・パターン・メモリのテクスチャ・パターンをマッピングすればエイリアシングは起こらないことになる。(ここで、
【0017】
【数6】
【0018】
は、
【0019】
【数7】
式(3)
x−1<I≦x
【0020】
なる関係を満たす整数Iとする。)
【0021】
しかし、これだけではテクスチャ・パターンは詳細度レベル(LOD)が離散的にしか用意されておらず、マッピングされたテクスチャの模様が不連続になるので、詳細度レベル(LOD)が
【0022】
【数8】
【0023】
と
【0024】
【数9】
【0025】
の二つのテクスチャ・パターンからテクスチャ値(テクスチャの色の濃淡を表現する値)を計算しlog2(fs/2)の小数部により線形補間が行われる。
【0026】
上記の方式に基づいた装置の構成を図2に示す。
【0027】
図2において、21は、CRT上のピクセル《r》s と変換マトリクスTteと∂Z-1/∂《r》s を入力して、テクスチャ座標系におけるサンプリング周波数を計算するレベル計算部であって、具体的にはサンプリング周波数の2を底とする対数(これをサンプリング・レベルといい、以後単にレベルという)l及びその近似値(整数部)L並びにその差(小数部)γを計算する。(なお、《a》は、大きさaのベクトルを意味し、以下この明細書においてベクトル表記を《 》を用いた場合と、肉太の場合とで併用して表わす場合がある。)レベル計算部21における処理内容を式(6)に示す。
【0028】
【数10】
【0029】
但し、《e》1 ,《e》2 (,《e》3 )は基底ベクトルであり、
【0030】
【数11】
【0031】
たとえば、
【0032】
【数12】
【0033】
である。
【0034】
22はCRT上のピクセル《r》s =(xs ,ys )t にマッピングすべきテクセル位置《r》t (テクスチャからCRTスクリーンへのマッピングにおける《r》s の逆像、換言すればテクスチャ座標系におけるサンプリングポイントであり、正規化されている。)を計算するテクセル位置計算部であって、処理内容を式(9)に示す。(なお、前記(xs ,ys )t は転置行列である。)
【0035】
【数13】
【0036】
式(9)において、Tteは視点座標系からテクスチャ座標系への変換マトリクスであって図示しない幾何計算装置(仮定する三次元情景の各ポリゴンの位置関係を求める装置)においてソフトウェアで計算される。
【0037】
(xs ,ys )t =ピクセル位置(単位ピクセル)。
【0038】
Zs :視点からスクリーン(CRT画面)までの距離をピクセル単位で表わしたもの。
【0039】
npxl :スキャンライン当りのピクセル数。
【0040】
φFOV :水平視野角。
【0041】
Zr はポリゴンの参照点(reference point ;通常、スクリーン上のポリゴンの最も上の頂点にとる)の奥行である。
【0042】
《r》srは参照点のスクリーン上の位置である。
【0043】
《n》e tはポリゴンの視点座標系における法線ベクトルの転置行列、de は視点座標系原点からポリゴンまでの距離を表わす。
【0044】
Zr -1,∂Z-1/∂《r》s ,《r》srは幾何計算装置で計算される。
【0045】
《r》eot :視点座標系におけるテクスチャ座標系の原点。幾何計算機で計算される。
【0046】
23はテクスチャがマッピングされる面上の《r》s に対応する点までの奥行きZ(実際にはその逆数)を計算するZ-1計算部である。その処理内容を式(10)に示す。
【0047】
【数14】
【0048】
式(10)において、
【0049】
Zr -1,∂Z-1/∂《r》s ,《r》sr
【0050】
は幾何計算装置(図示しない)でソフトウェアで計算される。
【0051】
24はテクスチャ・パターン・メモリから読み出すべきテクセル・アドレスをテクセル位置計算部22のテクスチャ値《r》t とレベル計算部21のレベルlの近似値Lとにより計算するテクセル・アドレス計算部であって、処理内容を式(11)に示す。
【0052】
【数15】
【0053】
式(11)において、《a》f ,《a》c はそれぞれ次段のテクスャ・パターン・メモリ25のテクセル・アドレスであり、テクセル・アドレス《a》f は精細なレベル(fine level)、テクセル・アドレス《a》c は粗いレベル(coarse level)のためのものである。式(6)によりレベルlを計算するとたとえば“4.6…”のように小数が出るので切り上げた“5”が精細なレベル、切り下げた“4”が粗いレベルである。《r》t は正規化(すなわち、0.0〜1.0の範囲の値をとる)されているので、2L+1 《r》t によりテクセル・アドレスを計算する。その整数部をメモリ・アドレスとする。また、(αf ,βf )t 、(αc ,βc )t は、それぞれ精細なレベル及び粗いレベルに関するテクセル・アドレスのx,y成分の小数部である。
【0054】
25は、cut−off周波数を数段階に圧縮した数種類のテクスチャ・パターンを偶数レベルのパターン・メモリと奇数レベルパターン・メモリを別バンクにして記憶しておくテクスャ・パターン・メモリであり、レベル計算部21のレベルの近似値Lとテクセル・アドレス計算部24のテクセル・アドレス《a》f ,《a》c によりテクスチャ・パターンの値がテクセル値として《t》f ,《t》c が読み出される。テクセル値《t》f ,《t》c は《r》t についてそれを囲む4点(テクセル)の精細(添字f )、粗(添字c )のものであり、次の式(12)で示される。
【0055】
【数16】
【0056】
(tL ,tL+1 はレベルL,L+1のテクスチャ・マップ・メモリ25のテクセル値であり、アドレス《a》f ,《a》f +《e》1 ,…,《a》c ,《a》c +《e》1 によりアドレスされる。)
【0057】
テクセル・アドレス《a》f は精細なレベル(fine level)、テクセル・アドレス《a》c は粗いレベル(coarse level)のためのものである。レベル計算部21においてレベルlが計算されるが、これは連続値をとる(実際には計算機の能力により小数点以下の適当な桁数を有する。)。一方、テクスチャ・パターン・メモリは離散的な有限個である。従って、式(6)で計算されたlレベルlの近似値Lを求めそのレベルをはさむ上下(精細側と粗側)の2つのレベルに対応したテクスチャ・マップ・メモリを備えている。テクスチャ・パターン・メモリ25を偶数レベルのパターン・メモリと奇数レベルのパターン・メモリとの別バンクに分けて、精細なレベルと粗いレベルのテクスチャ値《t》f ,《t》c を並列に読み出せるようしている。例えば、図3に示すように、偶数バンク3251は、レベル0の下側(lower:粗レベル)、レベル1の上側(upper:精細レベル)、レベル2の下側、…、レベル8の下側、奇数バンク3252は、レベル0の上側、レベル1の下側、レベル2の上側、…、レベル8の上側を格納する。これら2つのテクスチャ・マップ・メモリ25から読み出したテクスチャ値を内挿により最終的なテクスチャ値を計算する。
【0058】
26,27はテクセル位置計算部22で計算されたテクセル位置《r》t に対応する精細(fine)及び粗(coarse)のテクスチャ値《t》f ,《t》c を、まわりのテクセル値から線形補間により計算するパターン内補間部である。パターン内補間により、レベル(L+1)のテクスチャ値(tf )とレベル(L)のテクスチャ値(tc )から内挿により、テクセル位置《r》t に対応するテクスチャ値を求める。処理内容を式(13)、式(14)に示す。
【0059】
【数17】
【0060】
【数18】
【0061】
28は前記パターン内補間部26及び27でパターン内補間の計算をした精細(fine)及び粗(coarse)レベルのテクスチャ値tf ,tc からレベル計算部21のレベルの小数部γによって線形補間によりピクセル《r》s にマッピングすべきテクスチャ値t(《r》s )を計算するレベル間補間部である。処理内容を式(15)に示す。
【0062】
【数19】
【0063】
【発明が解決しようとする課題】
空間周波数はたとえば縦方向と横方向とで異なるが、MIPMAPでは予め用意しておく各LODのテクスチャ・パターンは各方向ともに同じ帯域にフィルタリングされており、またLODはレベルがより低い方向のサンプリング周波数を基に計算される。そのため、図4のような平な地表面上のテクスチャを浅い角度で見た(例えばA線上)とき、左右方向の空間周波数は高くなり模様も、より精細に見えるべきであるところ、奥行き方向のサンプリング周波数は低くなり、それに伴って左右方向も奥行方向と同様に低い周波数のcut−off周波数でフィルタリングされたぼやけた模様しか見えない欠点があった。
【0064】
この発明は、上記のような問題点を解消するためになされたものであり、テクスチャ・パターンをx方向及びy方向にそれぞれ独立にフィルタリングし、テクスチャ・パターンのテクスチャ値をx方向及びy方向にそれぞれ独立に補間したテクスチャ値を得るテクスチャ・マッピングの方法及び装置を提供することを目的とする。
【0065】
【課題を解決するための手段】
上記課題を解決するため本発明に係るテクスチャ・マッピングの方法は、表示装置のピクセル上にテクスチャ・パターンを対応させるテクスチャ・マッピングの方法において、採用すべきテクスチャ・パターンのx方向及びy方向のサンプリングレベル(lx,ly)を得るとともに、前記サンプリングレベルが近似される段階的なサンプリングレベル(L)を得て、前記サンプリングレベル(L)に対応するとともにMIPMAP手法によりx方向及びy方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンを、前記段階的なサンプリングレベル(L)と前記x方向及びy方向のサンプリングレベル(lx,ly)とのレベル差(γx,γy)による帯域圧縮でx方向及びy方向にそれぞれ独立に内挿関数を用いてフィルタリングするとともに、テクセル位置(《r》t)と前記段階的なサンプリングレベル(L)とからテクセル位置に対応するアドレスと当該アドレスに対して所定の規則で近似したテクセル・アドレスとの差によるx方向及びy方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をx方向及びy方向にそれぞれ独立に補間して前記フィルタリングと補間を同時に行うものである。
【0066】
表示装置のピクセル上にテクスチャ・パターンを対応させるテクスチャ・マッピングのためのテクスチャ・マッピング装置において、採用すべきテクスチャ・パターンのx方向及びy方向のサンプリングレベル(lx,ly)と、前記サンプリングレベルが近似される段階的なサンプリングレベル(L)と、前記サンプリングレベルとx方向及びy方向のサンプリングレベルとの差によるレベル差を計算するレベル計算部と、表示装置のピクセル位置により当該ピクセル上にマッピングすべきテクセル位置を計算するテクセル位置計算部と、前記レベル計算部からの段階的なサンプリングレベルと前記テクセル位置計算部からのテクセル位置とにより前記テクスチャ・パターンにおけるテクセル位置に対応するアドレスに対して所定の規則で近似したテクセル・アドレスと、前記アドレスとテクセル・アドレスとの差によるx方向及びy方向の補間係数とを計算するテクセル・アドレス計算部と、複数のサンプリングレベルに対応するとともにMIPMAP手法によりx方向及びy方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンが予め格納され、前記レベル計算部からの段階的なサンプリングレベルと前記テクセル・アドレス計算部からのテクセル・アドレスにより読み出されるテクスチャ・パターン・メモリと、前記テクスチャ・パターン・メモリから読み出された段階的に圧縮されたテクスチャ・パターンを前記レベル計算部からのレベル差による帯域圧縮でx方向及びy方向にそれぞれ独立に内挿関数を用いてフィルタリングするとともに、前記テクセル・アドレス計算部からのx方向及びy方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をx方向及びy方向にそれぞれ独立に補間して、フィルタリングと補間を同時に行うフィルタリング及び補間部とを有する。また、フィルタリング及び補間部を関数テーブルにより構成することができる。
【0067】
上記方法及び装置において、テクスチャ・パターンを段階的に圧縮するときのフィルタの周波数特性、及び当該段階的に圧縮されたテクスチャ・パターンをフィルタリングするフィルタの周波数特性が、
【数20】
で与えられ、内挿関数Gi(i=0,1,…,N−1)を
【数21】
で定める誤差εを最小にするように定める。但し、fはフィルタ関数の空間周波数、f s はサンプリング周波数、Nは任意形状のフィルタ関数を離散的に近似するための区分数、α(α<1)は誤差εの評価における重みである。
【0068】
【作用】
テクスチャ・マッピングの方法において、次のように作用する。
【0069】
まず、採用すべきテクスチャ・パターンのx方向及びy方向のサンプリングレベル(lx,ly)を得るとともに、前記サンプリングレベルが近似される段階的なサンプリングレベル(L)を得る。この段階的なサンプリングレベル(L)と前記x方向及びy方向のサンプリングレベル(lx,ly)とのレベル差(γx,γy)を得る。テクセル位置(《r》t)と前記段階的なサンプリングレベル(L)とによる定まるテクセル位置に対応するアドレスと当該アドレスに対して所定の規則で近似したテクセル・アドレス《a》との差(ξ,η)を得る。サンプリングレベル(L)に対応する段階的に圧縮されたテクスチャ・パターンを、レベル差(γx,γy)による帯域圧縮でx方向及びy方向にそれぞれ独立にフィルタリングするとともに、アドレス差(ξ,η)によるx方向及びy方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をx方向及びy方向にそれぞれ独立に補間する。すなわち、前記フィルタリングと補間を同時に、しかも最適に行う。
【0070】
テクスチャ・マッピング装置において、次のように作用する。
【0071】
レベル計算部は、採用すべきテクスチャ・パターンのx方向及びy方向のサンプリングレベル(lx ,ly )と、前記サンプリングレベルが近似される段階的なサンプリングレベル(L)と、前記サンプリングレベルとx方向及びy方向のサンプリングレベルとの差によるレベル差を計算する。
【0072】
テクセル位置計算部は、表示装置のピクセル上にマッピングすべきテクセル位置をピクセル位置により計算する。
【0073】
テクセル・アドレス計算部は、前記レベル計算部からの段階的なサンプリングレベルと前記テクセル位置計算部からのテクセル位置とにより前記テクスチャ・パターンにおけるテクセル位置に対応するアドレスに対して所定の規則で近似したテクセル・アドレスと、前記アドレスとテクセル・アドレスとの差によるx方向及びy方向の補間係数とを計算する。
【0074】
テクスチャ・パターン・メモリは、複数のサンプリングレベルに対応するとともにMIPMAP手法によりx方向及びy方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンが予め格納され、前記レベル計算部からの段階的なサンプリングレベルと前記テクセル・アドレス計算部からのテクセル・アドレスにより読み出される。
【0075】
フィルタリング及び補間部は、前記テクスチャ・パターン・メモリから読み出された段階的に圧縮されたテクスチャ・パターンを前記レベル計算部からのレベル差による帯域圧縮でx方向及びy方向にそれぞれ独立にフィルタリングするとともに、前記テクセル・アドレス計算部からのx方向及びy方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をx方向及びy方向にそれぞれ独立に補間する。すなわち、前記フィルタリングと補間を同時に、しかも最適に行う。
【0076】
上記方法及び装置において、内挿関数により最適なフィルタが与えられる。
【0077】
【実施例】
実施例を図により説明する。図1は実施例の機能ブロック図である。図1において、11はレベル計算回路であって、使用できる最もLODの高いテクスチャ・パターンの段階的なレベルLとそのテクスチャ・パターンから帯域圧縮すべきx方向及びy方向のcut−off周波数(L相対の)を定めるためのレベル差γx ,γy を得る。
【0078】
12はテクセル位置計算部であって、従来の技術として図2に示したテクセル位置計算部22と同様のものである。13はZ-1計算部であって従来技術として図2に示したZ-1計算部23と同様のものである。14はテクセル・アドレス計算部であって、テクセル位置《r》t に対応するレベルLにおけるテクセル・アドレスを計算する。15はテクスチャ・パターン・メモリであって、偶数レベルのパターン・メモリと奇数レベルのパターン・メモリを別バンクにする必要がないことを除けば従来の技術として説明したものと同様である。16はx方向及びy方向を独立にフィルタリングし、テクセル位置に対応するテクスチャ値を計算するとともに補間するフィルタリング及び補間部である。
【0079】
レベル計算部11において、CRT上のピクセル《r》s と変換マトリクスTteと∂Z-1/∂《r》s を入力して、採用すべきテクスチャ・パターンのx方向及びy方向のサンプリングレベル(lx ,ly )と、前記サンプリングレベルが近似される段階的なサンプリングレベル(L)と、前記サンプリングレベルとx方向及びy方向のサンプリングレベルとの差によるレベル差γx ,γy を式(16)により計算する。
【0080】
【数22】
【0081】
(ここで、
【0082】
【数23】
【0083】
は、
【0084】
【数24】
式(18)
x≦I<x+1
【0085】
なる関係を満たす整数Iとする。)
【0086】
テクセル位置計算部12は、従来の技術と同様に式(9)に従って、CRT上のピクセル《r》s =(xs ,ys )t にマッピングすべきテクセル位置、《r》t (テクスチャからCRTスクリーンへのマッピングにおける《r》s の逆像、換言すればテクスチャ座標系におけるサンプリングポイント)を計算する。
【0087】
Z-1計算部13は、従来の技術と同様に式(10)に従って、テクスチャがマッピングされる面上の《r》s に対応する点までの奥行きZ(実際にはその逆数)を計算する。
【0088】
テクセル・アドレス計算部14は、上記レベル計算部11で計算される段階的な近似レベルLとテクセル位置計算部12で計算されるテクセル位置《r》t とにより、採用されたテクスチャ・パターンにおけるテクセル位置《r》t に対応するアドレスに対して所定の規則で近似したテクセル・アドレスと、前記アドレスとテクセル・アドレスとの差によるx方向及びy方向の補間係数ξ,ηとを式(19)により計算する。
【0089】
【数25】
【0090】
(ξ,η)t は転置行列である。
【0091】
テクスチャ・パターン・メモリ15は、段階的なレベルに対応するとともにMIPMAP手法によりx方向及びy方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンを格納していて、レベル計算機11で計算されたレベルLが格納されるメモリ部分からテクセル・アドレス計算部14で計算されたテクセル・アドレスでアドレスされ、テクセル位置《r》tを囲む4×4(一般的には
【0092】
【数26】
)テクセル《t》すなわち
【0093】
【数27】
式(21)
《t》={t(i,j)|i,j=−2〜1}
【0094】
を読み出してくる。
【0095】
フィルタリング及び補間部16は、上記4×4テクセル《t》とレベル計算部11で計算されたレベル差γx,γyと、テクセル・アドレス計算部14で計算された近似したテクセル・アドレスと前記近似したアドレスとテクセル・アドレスとの差によるx方向及びy方向の補間係数(ξ,η)とからフィルタリングと補間を同時に行い、ピクセル《r》sにマッピングすべきテクスチャ値t(《r》s)を計算する。
【0096】
ここで、フィルタリング及び補間部16におけるフィルタリングについて説明する。
【0097】
本発明においては、テクスチャ・マッピングは可能な限り高いLODの、すなわち精細なテクスチャ・パターンを用いて、x方向及びy方向(又はそれらを45°回転した方向)にそれぞれ独立に内挿関数(又は重み関数)を用いてフィルタリングすることによって、サンプリング周波数の高い方向の模様を、より低い方向のサンプリング周波数に影響されることなく精細に表示しようとするものである。
【0098】
内挿関数(又は重み関数)g(ξ)は厳密には次式で与えられる。
【0099】
【数28】
式(22)
g(ξ)=sin(πξ)/πξ
【0100】
しかし、sin(πξ)/πξは0への収束が悪くフィルタリングの積分範囲が広く、そのため回路が大きくなるため一般にはある程度の誤差を許容し、次式が用いられる。
【0101】
【数29】
【0102】
この発明においては、比較的厳密でかつ0への収束の早い重み関数として、cut−off周波数以上の領域のスペクトル密度が0で、かつそのインパルス・レスポンスg(t)の2乗にt=0から離れるに従って大きくなる重みを付けた関数を−∞から+∞まで積分したものをエラーとし、そのエラーが最小になるようなg(t)を用いる。詳細は次式で決まる重み関数を用いるものとする。求めるフィルタの周波数特性を次式で表わす。
【0103】
【数30】
【0104】
但し、fはフィルタ関数の空間周波数、f s はサンプリング周波数、Nは任意形状のフィルタ関数を離散的に近似するための区分数である。
Gi(i=0,1,…,N−1)を次式で定める誤差εを最小にするように定める。なお、次式(25)において、α(α<1)は誤差εの評価における重みである。
【0105】
【数31】
【0106】
εは次のように書き直すことができる。
【0107】
【数32】
【0108】
簡単のため、次の条件のもとで説明する。
【0109】
【数33】
【0110】
【数34】
式(28)
ΔL=1
【0111】
式(28)のΔLは、段階的なレベルLについて、各隣接するレベルの差である。
【0112】
図5は図1におけるフィルタリング及び補間部16の内部構成を説明するブロック図である。フィルタリング及び補間部16は4×4テクセルのうち4個のテクスチャtL を入力し、γx でフィルタリング及びξで補間する4個のフィルタリング・ユニット51,52,53,54とそれらの出力を入力し、γy でフィルタリング及びηで補間するフィルタリング・ユニット55とを備える。
【0113】
図6は図5における各フィルタリング・ユニット(例えば51を示すが他も同様)の内部構成を示すブロック図である。フィルタリング・ユニット51は4個のフィルタリング・ブロック60,61,62,63と、3個の加算器64,65,66を備える。各フィルタリング・ブロック60,61,62,63のそれぞれは、フィルタリング・ユニット51に入力するテクスチャ値tL (−2,−2),tL (−1,−2),tL (0,−2),tL (1,−2)のそれぞれを入力し、フィルタリング・ブロック6i(i=0,1,2,3)は次の式(29)による計算結果を予め格納してある関数テーブルを引くことによってフィルタリングと補間を実行する。この場合、γはγx で計算するが、図5のフィルタリング・ユニット55におけるフィルタリング・ブロックでは、γx に代えてγy を入力し、ξに代えてηを入力してそれらに基づいて計算する。関数テーブルとしてのフィルタリング・ブロック6iは、LSIで構成することができ、重み関数を種々の形状にした計算結果をオフラインで計算してテーブルに格納しておくことにより、任意の形状にした重み関数でフィルタリングを実行させることができる。
【0114】
【数35】
【0115】
補間は、1次元で説明すると、f(ξ)のサンプル値fi が次のように与えられているとき、fi からf(ξ)を求めることである。f(ξ)及びg(ξ)がある条件を満たすとき、f(ξ)は次式で与えられる。
【0116】
【数36】
【0117】
また、1次元の場合、ある信号f(ξ)を特性G(f)のフィルタでフィルタリングして信号h(ξ)を得るということは次式で表わされる処理を行うことである。
【数37】
【0118】
なお、g(ξ)はG(f)のインパルスレスポンスである。
【0119】
ディジタル的(離散的)には
【0120】
【数38】
【0121】
次に、f(ξ)をG(f)のα(<1.0)倍に帯域圧縮するには、次の式による処理になる。
【0122】
【数39】
【0123】
従って、フィルタリング(帯域圧縮)と補間を同時に行うには次式によることになる。
【0124】
【数40】
【0125】
これは図5のフィルタリング・ユニット51,52,53,54,55すなわち図6のフィルタリング・ブロック60,61,62,63の関数テーブルを引くことによって実行される。
【0126】
式(29)と式(34)とにおいて、次のように対応する。
【0127】
【表1】
【0128】
【発明の効果】
以上のように、この発明によればx方向とy方向を独立に帯域圧縮するのでサンプリング周波数の低い方向に影響されることなく、サンプリング周波数の高い方向の模様をより詳細に表示することができる。
【0129】
また、1レベルのテクスチャ・パターンからテクスチャ値を計算するのでテクスチャ・パターン・メモリを偶数レベルと奇数レベルの二つのバンクで構成する必要がない。
【0130】
フィルタリング及び内挿は関数テーブルにより行うので高速で、かつ重み関数を任意の形状にすることができる。また、同一構成のフィルタリング・ユニットを複数回路使用するのでLSI化しやすい。
【0131】
重み関数は必要に応じて最適化し、関数テーブルの内容を変えることにより、より精度を上げることができる。
【図面の簡単な説明】
【図1】実施例の機能ブロック図である。
【図2】従来のテクスチャ・マッピング装置のブロック図である。
【図3】従来の技術のテクスチャ・パターン・メモリのバンク及びその格納状態を説明する図である。
【図4】模様の見え方を説明する図である。
【図5】フィルタリング及び補間部の内部構成を説明するブロック図である。
【図6】フィルタリング・ユニットの内部構成を示すブロック図である。
【符号の説明】
12…テクセル位置計算部、13…Z-1計算部、14…テクセル・アドレス計算部、15…テクスチャ・パターン・メモリ、16…フィルタリング及び補間部、51,52,53,54…フィルタリング・ユニット、55…フィルタリング・ユニット、60,61,62,63…フィルタリング・ブロック、64,65,66…加算器。
Claims (5)
- 表示装置のピクセル上にテクスチャ・パターンを対応させるテクスチャ・マッピングの方法において、採用すべきテクスチャ・パターンのx方向及びy方向のサンプリングレベル(lx,ly)を得るとともに、前記サンプリングレベルが近似される段階的なサンプリングレベル(L)を得て、前記サンプリングレベル(L)に対応するとともにMIPMAP手法によりx方向及びy方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンを、前記段階的なサンプリングレベル(L)と前記x方向及びy方向のサンプリングレベル(lx,ly)とのレベル差(γx,γy)による帯域圧縮でx方向及びy方向にそれぞれ独立に内挿関数を用いてフィルタリングするとともに、テクセル位置(ベクトルrt)と前記段階的なサンプリングレベル(L)とによる定まるテクセル位置に対応するアドレスと当該アドレスに対して所定の規則で近似したテクセル・アドレスとの差によるx方向及びy方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をx方向及びy方向にそれぞれ独立に補間して前記フィルタリングと補間を同時に行うことを特徴とするテクスチャ・マッピングの方法。
- 表示装置のピクセル上にテクスチャ・パターンを対応させるテクスチャ・マッピングのためのテクスチャ・マッピング装置において、
採用すべきテクスチャ・パターンのx方向及びy方向のサンプリングレベル(lx,ly)と、前記サンプリングレベルが近似される段階的なサンプリングレベル(L)と、前記サンプリングレベルとx方向及びy方向のサンプリングレベルとの差によるレベル差を計算するレベル計算部と、
表示装置のピクセル位置により当該ピクセル上にマッピングすべきテクセル位置を計算するテクセル位置計算部と、
前記レベル計算部からの段階的なサンプリングレベルと前記テクセル位置計算部からのテクセル位置とにより前記テクスチャ・パターンにおけるテクセル位置に対応するアドレスに対して所定の規則で近似したテクセル・アドレスと、前記アドレスとテクセル・アドレスとの差によるx方向及びy方向の補間係数とを計算するテクセル・アドレス計算部と、
複数のサンプリングレベルに対応するとともにMIPMAP手法によりx方向及びy方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンが予め格納され、前記レベル計算部からの段階的なサンプリングレベルと前記テクセル・アドレス計算部からのテクセル・アドレスにより読み出されるテクスチャ・パターン・メモリと、
前記テクスチャ・パターン・メモリから読み出された段階的に圧縮されたテクスチャ・パターンを前記レベル計算部からのレベル差による帯域圧縮でx方向及びy方向にそれぞれ独立に内挿関数を用いてフィルタリングするとともに、前記テクセル・アドレス計算部からのx方向及びy方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をx方向及びy方向にそれぞれ独立に補間して、フィルタリングと補間を同時に行うフィルタリング及び補間部とを有することを特徴とするテクスチャ・マッピング装置。 - フィルタリング及び補間部が関数テーブルにより構成されることを特徴とする請求項3記載のテクスチャ・マッピング装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29603994A JP3719728B2 (ja) | 1994-11-07 | 1994-11-07 | テクスチャ・マッピングの方法及びテクスチャ・マッピング装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29603994A JP3719728B2 (ja) | 1994-11-07 | 1994-11-07 | テクスチャ・マッピングの方法及びテクスチャ・マッピング装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08138080A JPH08138080A (ja) | 1996-05-31 |
JP3719728B2 true JP3719728B2 (ja) | 2005-11-24 |
Family
ID=17828317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29603994A Expired - Fee Related JP3719728B2 (ja) | 1994-11-07 | 1994-11-07 | テクスチャ・マッピングの方法及びテクスチャ・マッピング装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3719728B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6052127A (en) * | 1996-12-30 | 2000-04-18 | Cirrus Logic, Inc. | Circuit for determining non-homogenous second order perspective texture mapping coordinates using linear interpolation |
-
1994
- 1994-11-07 JP JP29603994A patent/JP3719728B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08138080A (ja) | 1996-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7432936B2 (en) | Texture data anti-aliasing method and apparatus | |
US6496608B1 (en) | Image data interpolation system and method | |
JP4522996B2 (ja) | テクスチャマッピングにおける適応リサンプリングのためのシステム | |
EP1792281B1 (en) | Method and system for anti-aliasing by pixel sampling | |
US5877771A (en) | Method and apparatus for supersampling based on the local rate of change in texture | |
US8149235B2 (en) | System and method for upscaling low-resolution images | |
JPH04222074A (ja) | テクスチャマッピングのための傾斜計算方法 | |
US20080055338A1 (en) | Multi-stage edge-directed image scaling | |
Strengert et al. | Pyramid methods in GPU-based image processing | |
US7324107B2 (en) | Single level MIP filtering algorithm for anisotropic texturing | |
EP1616303B1 (en) | Efficient bump mapping using height maps | |
US20100245374A1 (en) | Method and apparatus for angular invariant texture level of detail generation | |
TWI288891B (en) | Texture filtering using a programmable table filter to improve computer graphics performance | |
US20040174378A1 (en) | Automatic gain control, brightness compression, and super-intensity samples | |
EP2059900A1 (en) | Image scaling method | |
EP1058912B1 (en) | Subsampled texture edge antialiasing | |
JP3719728B2 (ja) | テクスチャ・マッピングの方法及びテクスチャ・マッピング装置 | |
JP5388780B2 (ja) | 画像処理装置、画像処理方法、および画像処理プログラム | |
Schowengerdt et al. | Topics in the two-dimensional sampling and reconstruction of images | |
JP3940434B2 (ja) | テクセルキャッシュを使用した画像テクスチャマッピング | |
JPH06301792A (ja) | テクスチャマッピング装置 | |
Lin et al. | Hardware Adaptive High‐Order Interpolation for Real‐Time Graphics | |
Popescu et al. | Forward rasterization | |
US7454320B1 (en) | System and method for calculating partial differential equations in a hardware graphics pipeline | |
Horbelt et al. | Texture mapping by successive refinement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050304 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050516 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050712 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050901 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050906 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080916 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090916 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100916 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110916 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |