JP3719728B2 - テクスチャ・マッピングの方法及びテクスチャ・マッピング装置 - Google Patents

テクスチャ・マッピングの方法及びテクスチャ・マッピング装置 Download PDF

Info

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
Application number
JP29603994A
Other languages
English (en)
Other versions
JPH08138080A (ja
Inventor
景範 梶原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Precision Co Ltd
Original Assignee
Mitsubishi Precision Co Ltd
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 Mitsubishi Precision Co Ltd filed Critical Mitsubishi Precision Co Ltd
Priority to JP29603994A priority Critical patent/JP3719728B2/ja
Publication of JPH08138080A publication Critical patent/JPH08138080A/ja
Application granted granted Critical
Publication of JP3719728B2 publication Critical patent/JP3719728B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling 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

【0001】
【産業上の利用分野】
本発明は、コンピュータ・グラフィックスにおいて、テクスチャマッピングを行う際に問題となるエイリアシングについて、その発生が起こらずかつテクスチャの模様の精細度をできるだけ落さないテクスチャ・マッピングの方法及びその装置に関するものである。
【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】
Figure 0003719728
【0016】
のテクスチャ・パターン・メモリのテクスチャ・パターンをマッピングすればエイリアシングは起こらないことになる。(ここで、
【0017】
【数6】
Figure 0003719728
【0018】
は、
【0019】
【数7】
式(3)
x−1<I≦x
【0020】
なる関係を満たす整数Iとする。)
【0021】
しかし、これだけではテクスチャ・パターンは詳細度レベル(LOD)が離散的にしか用意されておらず、マッピングされたテクスチャの模様が不連続になるので、詳細度レベル(LOD)が
【0022】
【数8】
Figure 0003719728
【0023】

【0024】
【数9】
Figure 0003719728
【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】
Figure 0003719728
【0029】
但し、《e》1 ,《e》2 (,《e》3 )は基底ベクトルであり、
【0030】
【数11】
Figure 0003719728
【0031】
たとえば、
【0032】
【数12】
Figure 0003719728
【0033】
である。
【0034】
22はCRT上のピクセル《r》s =(xs ,yst にマッピングすべきテクセル位置《r》t (テクスチャからCRTスクリーンへのマッピングにおける《r》s の逆像、換言すればテクスチャ座標系におけるサンプリングポイントであり、正規化されている。)を計算するテクセル位置計算部であって、処理内容を式(9)に示す。(なお、前記(xs ,yst は転置行列である。)
【0035】
【数13】
Figure 0003719728
【0036】
式(9)において、Tteは視点座標系からテクスチャ座標系への変換マトリクスであって図示しない幾何計算装置(仮定する三次元情景の各ポリゴンの位置関係を求める装置)においてソフトウェアで計算される。
【0037】
(xs ,yst =ピクセル位置(単位ピクセル)。
【0038】
s :視点からスクリーン(CRT画面)までの距離をピクセル単位で表わしたもの。
【0039】
pxl :スキャンライン当りのピクセル数。
【0040】
φFOV :水平視野角。
【0041】
r はポリゴンの参照点(reference point ;通常、スクリーン上のポリゴンの最も上の頂点にとる)の奥行である。
【0042】
《r》srは参照点のスクリーン上の位置である。
【0043】
《n》e tはポリゴンの視点座標系における法線ベクトルの転置行列、de は視点座標系原点からポリゴンまでの距離を表わす。
【0044】
r -1,∂Z-1/∂《r》s ,《r》srは幾何計算装置で計算される。
【0045】
《r》eot :視点座標系におけるテクスチャ座標系の原点。幾何計算機で計算される。
【0046】
23はテクスチャがマッピングされる面上の《r》s に対応する点までの奥行きZ(実際にはその逆数)を計算するZ-1計算部である。その処理内容を式(10)に示す。
【0047】
【数14】
Figure 0003719728
【0048】
式(10)において、
【0049】
r -1,∂Z-1/∂《r》s ,《r》sr
【0050】
は幾何計算装置(図示しない)でソフトウェアで計算される。
【0051】
24はテクスチャ・パターン・メモリから読み出すべきテクセル・アドレスをテクセル位置計算部22のテクスチャ値《r》t とレベル計算部21のレベルlの近似値Lとにより計算するテクセル・アドレス計算部であって、処理内容を式(11)に示す。
【0052】
【数15】
Figure 0003719728
【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 ,βft 、(αc ,βct は、それぞれ精細なレベル及び粗いレベルに関するテクセル・アドレスの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】
Figure 0003719728
【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】
Figure 0003719728
【0060】
【数18】
Figure 0003719728
【0061】
28は前記パターン内補間部26及び27でパターン内補間の計算をした精細(fine)及び粗(coarse)レベルのテクスチャ値tf ,tc からレベル計算部21のレベルの小数部γによって線形補間によりピクセル《r》s にマッピングすべきテクスチャ値t(《r》s )を計算するレベル間補間部である。処理内容を式(15)に示す。
【0062】
【数19】
Figure 0003719728
【0063】
【発明が解決しようとする課題】
空間周波数はたとえば縦方向と横方向とで異なるが、MIPMAPでは予め用意しておく各LODのテクスチャ・パターンは各方向ともに同じ帯域にフィルタリングされており、またLODはレベルがより低い方向のサンプリング周波数を基に計算される。そのため、図4のような平な地表面上のテクスチャを浅い角度で見た(例えばA線上)とき、左右方向の空間周波数は高くなり模様も、より精細に見えるべきであるところ、奥行き方向のサンプリング周波数は低くなり、それに伴って左右方向も奥行方向と同様に低い周波数のcut−off周波数でフィルタリングされたぼやけた模様しか見えない欠点があった。
【0064】
この発明は、上記のような問題点を解消するためになされたものであり、テクスチャ・パターンをx方向及びy方向にそれぞれ独立にフィルタリングし、テクスチャ・パターンのテクスチャ値をx方向及びy方向にそれぞれ独立に補間したテクスチャ値を得るテクスチャ・マッピングの方法及び装置を提供することを目的とする。
【0065】
【課題を解決するための手段】
上記課題を解決するため本発明に係るテクスチャ・マッピングの方法は、表示装置のピクセル上にテクスチャ・パターンを対応させるテクスチャ・マッピングの方法において、採用すべきテクスチャ・パターンのx方向及びy方向のサンプリングレベル(l,l)を得るとともに、前記サンプリングレベルが近似される段階的なサンプリングレベル(L)を得て、前記サンプリングレベル(L)に対応するとともにMIPMAP手法によりx方向及びy方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンを、前記段階的なサンプリングレベル(L)と前記x方向及びy方向のサンプリングレベル(l,l)とのレベル差(γ,γ)による帯域圧縮でx方向及びy方向にそれぞれ独立に内挿関数を用いてフィルタリングするとともに、テクセル位置(《r》)と前記段階的なサンプリングレベル(L)とからテクセル位置に対応するアドレスと当該アドレスに対して所定の規則で近似したテクセル・アドレスとの差によるx方向及びy方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をx方向及びy方向にそれぞれ独立に補間して前記フィルタリングと補間を同時に行うものである。
【0066】
表示装置のピクセル上にテクスチャ・パターンを対応させるテクスチャ・マッピングのためのテクスチャ・マッピング装置において、採用すべきテクスチャ・パターンのx方向及びy方向のサンプリングレベル(l,l)と、前記サンプリングレベルが近似される段階的なサンプリングレベル(L)と、前記サンプリングレベルとx方向及びy方向のサンプリングレベルとの差によるレベル差を計算するレベル計算部と、表示装置のピクセル位置により当該ピクセル上にマッピングすべきテクセル位置を計算するテクセル位置計算部と、前記レベル計算部からの段階的なサンプリングレベルと前記テクセル位置計算部からのテクセル位置とにより前記テクスチャ・パターンにおけるテクセル位置に対応するアドレスに対して所定の規則で近似したテクセル・アドレスと、前記アドレスとテクセル・アドレスとの差によるx方向及びy方向の補間係数とを計算するテクセル・アドレス計算部と、複数のサンプリングレベルに対応するとともにMIPMAP手法によりx方向及びy方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンが予め格納され、前記レベル計算部からの段階的なサンプリングレベルと前記テクセル・アドレス計算部からのテクセル・アドレスにより読み出されるテクスチャ・パターン・メモリと、前記テクスチャ・パターン・メモリから読み出された段階的に圧縮されたテクスチャ・パターンを前記レベル計算部からのレベル差による帯域圧縮でx方向及びy方向にそれぞれ独立に内挿関数を用いてフィルタリングするとともに、前記テクセル・アドレス計算部からのx方向及びy方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をx方向及びy方向にそれぞれ独立に補間して、フィルタリングと補間を同時に行うフィルタリング及び補間部とを有する。また、フィルタリング及び補間部を関数テーブルにより構成することができる。
【0067】
上記方法及び装置において、テクスチャ・パターンを段階的に圧縮するときのフィルタの周波数特性、及び当該段階的に圧縮されたテクスチャ・パターンをフィルタリングするフィルタの周波数特性が、
【数20】
Figure 0003719728
で与えられ、内挿関数G(i=0,1,…,N−1)を
【数21】
Figure 0003719728
で定める誤差εを最小にするように定める。但し、fはフィルタ関数の空間周波数、f はサンプリング周波数、Nは任意形状のフィルタ関数を離散的に近似するための区分数、α(α<1)は誤差εの評価における重みである。
【0068】
【作用】
テクスチャ・マッピングの方法において、次のように作用する。
【0069】
まず、採用すべきテクスチャ・パターンのx方向及びy方向のサンプリングレベル(l,l)を得るとともに、前記サンプリングレベルが近似される段階的なサンプリングレベル(L)を得る。この段階的なサンプリングレベル(L)と前記x方向及びy方向のサンプリングレベル(l,l)とのレベル差(γ,γ)を得る。テクセル位置(《r》)と前記段階的なサンプリングレベル(L)とによる定まるテクセル位置に対応するアドレスと当該アドレスに対して所定の規則で近似したテクセル・アドレス《a》との差(ξ,η)を得る。サンプリングレベル(L)に対応する段階的に圧縮されたテクスチャ・パターンを、レベル差(γ,γ)による帯域圧縮で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】
Figure 0003719728
【0081】
(ここで、
【0082】
【数23】
Figure 0003719728
【0083】
は、
【0084】
【数24】
式(18)
x≦I<x+1
【0085】
なる関係を満たす整数Iとする。)
【0086】
テクセル位置計算部12は、従来の技術と同様に式(9)に従って、CRT上のピクセル《r》s =(xs ,yst にマッピングすべきテクセル位置、《r》t (テクスチャからCRTスクリーンへのマッピングにおける《r》s の逆像、換言すればテクスチャ座標系におけるサンプリングポイント)を計算する。
【0087】
-1計算部13は、従来の技術と同様に式(10)に従って、テクスチャがマッピングされる面上の《r》s に対応する点までの奥行きZ(実際にはその逆数)を計算する。
【0088】
テクセル・アドレス計算部14は、上記レベル計算部11で計算される段階的な近似レベルLとテクセル位置計算部12で計算されるテクセル位置《r》t とにより、採用されたテクスチャ・パターンにおけるテクセル位置《r》t に対応するアドレスに対して所定の規則で近似したテクセル・アドレスと、前記アドレスとテクセル・アドレスとの差によるx方向及びy方向の補間係数ξ,ηとを式(19)により計算する。
【0089】
【数25】
Figure 0003719728
【0090】
(ξ,η)t は転置行列である。
【0091】
テクスチャ・パターン・メモリ15は、段階的なレベルに対応するとともにMIPMAP手法によりx方向及びy方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンを格納していて、レベル計算機11で計算されたレベルLが格納されるメモリ部分からテクセル・アドレス計算部14で計算されたテクセル・アドレスでアドレスされ、テクセル位置《r》を囲む4×4(一般的には
【0092】
【数26】
Figure 0003719728
)テクセル《t》すなわち
【0093】
【数27】
式(21)
《t》={t(i,j)|i,j=−2〜1}
【0094】
を読み出してくる。
【0095】
フィルタリング及び補間部16は、上記4×4テクセル《t》とレベル計算部11で計算されたレベル差γ,γと、テクセル・アドレス計算部14で計算された近似したテクセル・アドレスと前記近似したアドレスとテクセル・アドレスとの差によるx方向及びy方向の補間係数(ξ,η)とからフィルタリングと補間を同時に行い、ピクセル《r》にマッピングすべきテクスチャ値t(《r》)を計算する。
【0096】
ここで、フィルタリング及び補間部16におけるフィルタリングについて説明する。
【0097】
本発明においては、テクスチャ・マッピングは可能な限り高いLODの、すなわち精細なテクスチャ・パターンを用いて、x方向及びy方向(又はそれらを45°回転した方向)にそれぞれ独立に内挿関数(又は重み関数)を用いてフィルタリングすることによって、サンプリング周波数の高い方向の模様を、より低い方向のサンプリング周波数に影響されることなく精細に表示しようとするものである。
【0098】
内挿関数(又は重み関数)g(ξ)は厳密には次式で与えられる。
【0099】
【数28】
式(22)
g(ξ)=sin(πξ)/πξ
【0100】
しかし、sin(πξ)/πξは0への収束が悪くフィルタリングの積分範囲が広く、そのため回路が大きくなるため一般にはある程度の誤差を許容し、次式が用いられる。
【0101】
【数29】
Figure 0003719728
【0102】
この発明においては、比較的厳密でかつ0への収束の早い重み関数として、cut−off周波数以上の領域のスペクトル密度が0で、かつそのインパルス・レスポンスg(t)の2乗にt=0から離れるに従って大きくなる重みを付けた関数を−∞から+∞まで積分したものをエラーとし、そのエラーが最小になるようなg(t)を用いる。詳細は次式で決まる重み関数を用いるものとする。求めるフィルタの周波数特性を次式で表わす。
【0103】
【数30】
Figure 0003719728
【0104】
但し、fはフィルタ関数の空間周波数、f はサンプリング周波数、Nは任意形状のフィルタ関数を離散的に近似するための区分数である。
(i=0,1,…,N−1)を次式で定める誤差εを最小にするように定める。なお、次式(25)において、α(α<1)は誤差εの評価における重みである。
【0105】
【数31】
Figure 0003719728
【0106】
εは次のように書き直すことができる。
【0107】
【数32】
Figure 0003719728
【0108】
簡単のため、次の条件のもとで説明する。
【0109】
【数33】
Figure 0003719728
【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】
Figure 0003719728
【0115】
補間は、1次元で説明すると、f(ξ)のサンプル値fi が次のように与えられているとき、fi からf(ξ)を求めることである。f(ξ)及びg(ξ)がある条件を満たすとき、f(ξ)は次式で与えられる。
【0116】
【数36】
Figure 0003719728
【0117】
また、1次元の場合、ある信号f(ξ)を特性G(f)のフィルタでフィルタリングして信号h(ξ)を得るということは次式で表わされる処理を行うことである。
【数37】
Figure 0003719728
【0118】
なお、g(ξ)はG(f)のインパルスレスポンスである。
【0119】
ディジタル的(離散的)には
【0120】
【数38】
Figure 0003719728
【0121】
次に、f(ξ)をG(f)のα(<1.0)倍に帯域圧縮するには、次の式による処理になる。
【0122】
【数39】
Figure 0003719728
【0123】
従って、フィルタリング(帯域圧縮)と補間を同時に行うには次式によることになる。
【0124】
【数40】
Figure 0003719728
【0125】
これは図5のフィルタリング・ユニット51,52,53,54,55すなわち図6のフィルタリング・ブロック60,61,62,63の関数テーブルを引くことによって実行される。
【0126】
式(29)と式(34)とにおいて、次のように対応する。
【0127】
【表1】
Figure 0003719728
【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)

  1. 表示装置のピクセル上にテクスチャ・パターンを対応させるテクスチャ・マッピングの方法において、採用すべきテクスチャ・パターンのx方向及びy方向のサンプリングレベル(l,l)を得るとともに、前記サンプリングレベルが近似される段階的なサンプリングレベル(L)を得て、前記サンプリングレベル(L)に対応するとともにMIPMAP手法によりx方向及びy方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンを、前記段階的なサンプリングレベル(L)と前記x方向及びy方向のサンプリングレベル(l,l)とのレベル差(γ,γ)による帯域圧縮でx方向及びy方向にそれぞれ独立に内挿関数を用いてフィルタリングするとともに、テクセル位置(ベクトルr)と前記段階的なサンプリングレベル(L)とによる定まるテクセル位置に対応するアドレスと当該アドレスに対して所定の規則で近似したテクセル・アドレスとの差によるx方向及びy方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をx方向及びy方向にそれぞれ独立に補間して前記フィルタリングと補間を同時に行うことを特徴とするテクスチャ・マッピングの方法。
  2. テクスチャ・パターンを段階的に圧縮するときのフィルタの周波数特性、及び当該段階的に圧縮されたテクスチャ・パターンをフィルタリングするフィルタの周波数特性が、
    Figure 0003719728
    で与えられ、内挿関数G(i=0,1,…,N−1)を
    Figure 0003719728
    で定める誤差εを最小にするように定める(但し、fはフィルタ関数の空間周波数、f はサンプリング周波数、Nは任意形状のフィルタ関数を離散的に近似するための区分数、α(α<1)は誤差εの評価における重み)ことを特徴とする請求項1記載のテクスチャ・マッピングの方法。
  3. 表示装置のピクセル上にテクスチャ・パターンを対応させるテクスチャ・マッピングのためのテクスチャ・マッピング装置において、
    採用すべきテクスチャ・パターンのx方向及びy方向のサンプリングレベル(l,l)と、前記サンプリングレベルが近似される段階的なサンプリングレベル(L)と、前記サンプリングレベルとx方向及びy方向のサンプリングレベルとの差によるレベル差を計算するレベル計算部と、
    表示装置のピクセル位置により当該ピクセル上にマッピングすべきテクセル位置を計算するテクセル位置計算部と、
    前記レベル計算部からの段階的なサンプリングレベルと前記テクセル位置計算部からのテクセル位置とにより前記テクスチャ・パターンにおけるテクセル位置に対応するアドレスに対して所定の規則で近似したテクセル・アドレスと、前記アドレスとテクセル・アドレスとの差によるx方向及びy方向の補間係数とを計算するテクセル・アドレス計算部と、
    複数のサンプリングレベルに対応するとともにMIPMAP手法によりx方向及びy方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンが予め格納され、前記レベル計算部からの段階的なサンプリングレベルと前記テクセル・アドレス計算部からのテクセル・アドレスにより読み出されるテクスチャ・パターン・メモリと、
    前記テクスチャ・パターン・メモリから読み出された段階的に圧縮されたテクスチャ・パターンを前記レベル計算部からのレベル差による帯域圧縮でx方向及びy方向にそれぞれ独立に内挿関数を用いてフィルタリングするとともに、前記テクセル・アドレス計算部からのx方向及びy方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をx方向及びy方向にそれぞれ独立に補間して、フィルタリングと補間を同時に行うフィルタリング及び補間部とを有することを特徴とするテクスチャ・マッピング装置。
  4. テクスチャ・パターン・メモリに格納されるテクスチャ・パターンを段階的に圧縮するときのフィルタの周波数特性、及び当該段階的に圧縮されたテクスチャ・パターンをフィルタリング及び補間部においてフィルタリングするフィルタの周波数特性が、
    Figure 0003719728
    で与えられ、内挿関数G(i=0,1,…,N−1)を
    Figure 0003719728
    で定める誤差εを最小にするように定める(但し、fはフィルタ関数の空間周波数、f はサンプリング周波数、Nは任意形状のフィルタ関数を離散的に近似するための区分数、α(α<1)は誤差εの評価における重み)ことを特徴とする請求項3記載のテクスチャ・マッピング装置。
  5. フィルタリング及び補間部が関数テーブルにより構成されることを特徴とする請求項記載のテクスチャ・マッピング装置。
JP29603994A 1994-11-07 1994-11-07 テクスチャ・マッピングの方法及びテクスチャ・マッピング装置 Expired - Fee Related JP3719728B2 (ja)

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)

* Cited by examiner, † Cited by third party
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

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