(57)【特許請求の範囲】
【請求項１】
表示装置のピクセル上にテクスチャ・パターンを対応させるテクスチャ・マッピングの方法において、採用すべきテクスチャ・パターンのｘ方向及びｙ方向のサンプリングレベル（ｌｘ，ｌｙ）を得るとともに、前記サンプリングレベルが近似される段階的なサンプリングレベル（Ｌ）を得て、前記サンプリングレベル（Ｌ）に対応するとともにＭＩＰＭＡＰ手法によりｘ方向及びｙ方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンを、前記段階的なサンプリングレベル（Ｌ）と前記ｘ方向及びｙ方向のサンプリングレベル（ｌｘ，ｌｙ）とのレベル差（γｘ，γｙ）による帯域圧縮でｘ方向及びｙ方向にそれぞれ独立に内挿関数を用いてフィルタリングするとともに、テクセル位置（ベクトルｒｔ）と前記段階的なサンプリングレベル（Ｌ）とによる定まるテクセル位置に対応するアドレスと当該アドレスに対して所定の規則で近似したテクセル・アドレスとの差によるｘ方向及びｙ方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をｘ方向及びｙ方向にそれぞれ独立に補間して前記フィルタリングと補間を同時に行うことを特徴とするテクスチャ・マッピングの方法。
【請求項２】
テクスチャ・パターンを段階的に圧縮するときのフィルタの周波数特性、及び当該段階的に圧縮されたテクスチャ・パターンをフィルタリングするフィルタの周波数特性が、
【数１】
0003719728.tif 000034
で与えられ、内挿関数Ｇｉ（ｉ＝０，１，…，Ｎ−１）を
【数２】
0003719728.tif 000035
で定める誤差εを最小にするように定める（但し、ｆはフィルタ関数の空間周波数、ｆｓはサンプリング周波数、Ｎは任意形状のフィルタ関数を離散的に近似するための区分数、α（α＜１）は誤差εの評価における重み）ことを特徴とする請求項１記載のテクスチャ・マッピングの方法。
【請求項３】
表示装置のピクセル上にテクスチャ・パターンを対応させるテクスチャ・マッピングのためのテクスチャ・マッピング装置において、
採用すべきテクスチャ・パターンのｘ方向及びｙ方向のサンプリングレベル（ｌｘ，ｌｙ）と、前記サンプリングレベルが近似される段階的なサンプリングレベル（Ｌ）と、前記サンプリングレベルとｘ方向及びｙ方向のサンプリングレベルとの差によるレベル差を計算するレベル計算部と、
表示装置のピクセル位置により当該ピクセル上にマッピングすべきテクセル位置を計算するテクセル位置計算部と、
前記レベル計算部からの段階的なサンプリングレベルと前記テクセル位置計算部からのテクセル位置とにより前記テクスチャ・パターンにおけるテクセル位置に対応するアドレスに対して所定の規則で近似したテクセル・アドレスと、前記アドレスとテクセル・アドレスとの差によるｘ方向及びｙ方向の補間係数とを計算するテクセル・アドレス計算部と、
複数のサンプリングレベルに対応するとともにＭＩＰＭＡＰ手法によりｘ方向及びｙ方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンが予め格納され、前記レベル計算部からの段階的なサンプリングレベルと前記テクセル・アドレス計算部からのテクセル・アドレスにより読み出されるテクスチャ・パターン・メモリと、
前記テクスチャ・パターン・メモリから読み出された段階的に圧縮されたテクスチャ・パターンを前記レベル計算部からのレベル差による帯域圧縮でｘ方向及びｙ方向にそれぞれ独立に内挿関数を用いてフィルタリングするとともに、前記テクセル・アドレス計算部からのｘ方向及びｙ方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をｘ方向及びｙ方向にそれぞれ独立に補間して、フィルタリングと補間を同時に行うフィルタリング及び補間部とを有することを特徴とするテクスチャ・マッピング装置。
【請求項４】
テクスチャ・パターン・メモリに格納されるテクスチャ・パターンを段階的に圧縮するときのフィルタの周波数特性、及び当該段階的に圧縮されたテクスチャ・パターンをフィルタリング及び補間部においてフィルタリングするフィルタの周波数特性が、
【数３】
0003719728.tif 000036
で与えられ、内挿関数Ｇｉ（ｉ＝０，１，…，Ｎ−１）を
【数４】
0003719728.tif 000037
で定める誤差εを最小にするように定める（但し、ｆはフィルタ関数の空間周波数、ｆｓはサンプリング周波数、Ｎは任意形状のフィルタ関数を離散的に近似するための区分数、α（α＜１）は誤差εの評価における重み）ことを特徴とする請求項３記載のテクスチャ・マッピング装置。
【請求項５】
フィルタリング及び補間部が関数テーブルにより構成されることを特徴とする請求項３記載のテクスチャ・マッピング装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、コンピュータ・グラフィックスにおいて、テクスチャマッピングを行う際に問題となるエイリアシングについて、その発生が起こらずかつテクスチャの模様の精細度をできるだけ落さないテクスチャ・マッピングの方法及びその装置に関するものである。
【０００２】
【従来の技術】
コンピュータグラフィックスにおいて、データベース上に格納され仮定された三次元の視覚対象物を構成する多角形面上に必要な模様を付して、仮定された指定の視点から見た二次元画像として表示を行なう方法がある。視覚対象物を構成する多角形（「ポリゴン」という）面上の必要な模様は、テクスチャ（texture ）と呼ばれ、複雑で不均一な色や輝度のパターンを言う。各ポリゴンは、一枚一枚の平面で構成され、データベース上の平面を視点から見た情景になるように平行回転移動をして表示されるため、テクスチャを与えない場合は、海面や地面などは単なる青あるいは茶色の平面として表示される。
【０００３】
テクスチャの基本単位として、テクスチャ・パターンがあり、テクスチャの一波長を表わす。１パターンの模様は例えば２５６×２５６のドット（テクスチャの場合、これをテクセル（texel ）＝テクスチャ・エレメントという）で表わす。これに対して、テクスチャ・パターンの情報を格納するメモリにテクスチャ・パターン・メモリがある。
【０００４】
テクスチャの発生原理は、通常のポリゴンとは逆の経路で、ディスプレイ上の各画素を予めパターンがストアされているテクスチャ・パターン・メモリ(texture patern memory )のアドレスへ対応させることによっている。この操作を「マッピング」と呼ぶ。
【０００５】
精細な画像をＣＲＴに表示しようとすると本来の画像と異なった画像になってしまうことがある。たとえば、ＣＲＴの画素数以上に細かい格子模様や放射状の模様を表示しようとするとモアレ縞が現われる。
【０００６】
これがエイリアシングと呼ばれる現象であり、そのメカニズムはナイキストのサンプリング定理により説明することができる。すなわち、表現しようとする画像をサンプリングにより正確に表示するには画像の持っている空間周波数の２倍（ナイキスト周波数）以上でサンプリングしなければならない。また、逆にいえばＣＲＴの持っている空間周波数（すなわち分解能）の１／２以下の空間周波数しか持たない画像だけがエイリアシングなしにＣＲＴに表示することができる。
【０００７】
従って、エイリアシングを防止するには、表示しようとする画像がＣＲＴの空間周波数の１／２以下の周波数成分しか持たないように帯域制限してから、すなわちフィルタリングしてからＣＲＴに表示する必要がある。
【０００８】
テクスチャすなわち模様をＣＲＴに表示するとき、その模様を仮定した視点からどれくらい離れて見たときに生じる映像であるかによって表示すべき画像のもつ空間周波数（ＣＲＴ上での）帯域（ｃｕｔ−ｏｆｆ周波数（しゃ断周波数））は異なる。すなわち、仮定する視点が情景の面に形成された模様を見る場合、遠方から見た映像は模様が細かく見え、従って高いｃｕｔ−ｏｆｆ周波数を持ち、近くから見た映像は模様が粗く見え、従って低いｃｕｔ−ｏｆｆ周波数を持つ。また、模様を正面から見るか斜めから見るかによってもｃｕｔ−ｏｆｆ周波数は異なる。
【０００９】
テクスチャをエイリアシングなく正確に表示するにはサンプリング点ごとに視点からの距離及び見込む角度によって定まるサンプリング周波数（、すなわち模様の細かさあるいは粗さによる空間周波数、）の１／２以上の周波数成分を持たないように、テクスチャをフィルタリングした映像をＣＲＴに表示しなければならない。
【００１０】
フィルタリングは非常に処理時間がかかるので予めテクスチャを数段階の周波数帯域を持つようフィルタリングした数種類のテクスチャ・パターンを用意しておき、サンプリング点のサンプリング周波数を計算し、その周波数に対応した周波数成分を持つテクスチャ・パターンを用いてマッピングを行うＭＩＰＭＡＰ法が一般に用いられる。
【００１１】
ＭＩＰＭＡＰ法を具体的に説明する。
【００１２】
マッピングすべきテクスチャ・パターンを２n ×２n のテクスチャ・パターン・メモリに格納しておく。このとき、このテクスチャ・パターン・メモリに格納できるテクスチャ・パターンの周波数帯域は直流成分から２n-1 である（ただし、波長の単位はテクスチャ・パターンの全体の幅を１とする。）。すなわち、テクスチャ・パターンのｃｕｔ−ｏｆｆ周波数ｆt は２n-1 である。
【００１３】
これをｃｕｔ−ｏｆｆ周波数が２n-2 ，…，２0 となるようにフィルタリングしたテクスチャ・パターンを予め用意しテクスチャ・パターン・メモリに格納しておく。それぞれのテクスチャ・パターン又はメモリをＬＯＤ（Level of Detail ；詳細度レベル）ｎ−１，…，０のテクスチャ・パターン又はテクスチャ・パターン・メモリという。
【００１４】
従って、ピクセル（ｘs ，ｙs ）にテクスチャをマッピングするとき、テクスチャ座標系におけるサンプリング周波数をｆs とするとｃｕｔ−ｏｆｆ周波数がｆs ／２以下のテクスチャ・パターンをマッピングしなければならない。さらに具体的に説明すると、詳細度レベル（ＬＯＤ）が
【００１５】
【数５】
0003719728.tif 000002
【００１６】
のテクスチャ・パターン・メモリのテクスチャ・パターンをマッピングすればエイリアシングは起こらないことになる。（ここで、
【００１７】
【数６】
0003719728.tif 000003
【００１８】
は、
【００１９】
【数７】
式（３）
ｘ−１＜Ｉ≦ｘ
【００２０】
なる関係を満たす整数Ｉとする。）
【００２１】
しかし、これだけではテクスチャ・パターンは詳細度レベル（ＬＯＤ）が離散的にしか用意されておらず、マッピングされたテクスチャの模様が不連続になるので、詳細度レベル（ＬＯＤ）が
【００２２】
【数８】
0003719728.tif 000004
【００２３】
と
【００２４】
【数９】
0003719728.tif 000005
【００２５】
の二つのテクスチャ・パターンからテクスチャ値（テクスチャの色の濃淡を表現する値）を計算しｌｏｇ2（ｆs／２）の小数部により線形補間が行われる。
【００２６】
上記の方式に基づいた装置の構成を図２に示す。
【００２７】
図２において、２１は、ＣＲＴ上のピクセル《ｒ》s と変換マトリクスＴteと∂Ｚ-1／∂《ｒ》s を入力して、テクスチャ座標系におけるサンプリング周波数を計算するレベル計算部であって、具体的にはサンプリング周波数の２を底とする対数（これをサンプリング・レベルといい、以後単にレベルという）ｌ及びその近似値（整数部）Ｌ並びにその差（小数部）γを計算する。（なお、《ａ》は、大きさａのベクトルを意味し、以下この明細書においてベクトル表記を《  》を用いた場合と、肉太の場合とで併用して表わす場合がある。）レベル計算部２１における処理内容を式（６）に示す。
【００２８】
【数１０】
0003719728.tif 000006
【００２９】
但し、《ｅ》1 ，《ｅ》2 （，《ｅ》3 ）は基底ベクトルであり、
【００３０】
【数１１】
0003719728.tif 000007
【００３１】
たとえば、
【００３２】
【数１２】
0003719728.tif 000008
【００３３】
である。
【００３４】
２２はＣＲＴ上のピクセル《ｒ》s ＝（ｘs ，ｙs ）t にマッピングすべきテクセル位置《ｒ》t （テクスチャからＣＲＴスクリーンへのマッピングにおける《ｒ》s の逆像、換言すればテクスチャ座標系におけるサンプリングポイントであり、正規化されている。）を計算するテクセル位置計算部であって、処理内容を式（９）に示す。（なお、前記（ｘs ，ｙs ）t は転置行列である。）
【００３５】
【数１３】
0003719728.tif 000009
【００３６】
式（９）において、Ｔteは視点座標系からテクスチャ座標系への変換マトリクスであって図示しない幾何計算装置（仮定する三次元情景の各ポリゴンの位置関係を求める装置）においてソフトウェアで計算される。
【００３７】
（ｘs ，ｙs ）t ＝ピクセル位置（単位ピクセル）。
【００３８】
Ｚs ：視点からスクリーン（ＣＲＴ画面）までの距離をピクセル単位で表わしたもの。
【００３９】
ｎpxl ：スキャンライン当りのピクセル数。
【００４０】
φFOV ：水平視野角。
【００４１】
Ｚr はポリゴンの参照点（reference point ；通常、スクリーン上のポリゴンの最も上の頂点にとる）の奥行である。
【００４２】
《ｒ》srは参照点のスクリーン上の位置である。
【００４３】
《ｎ》etはポリゴンの視点座標系における法線ベクトルの転置行列、ｄe は視点座標系原点からポリゴンまでの距離を表わす。
【００４４】
Ｚr-1，∂Ｚ-1／∂《ｒ》s ，《ｒ》srは幾何計算装置で計算される。
【００４５】
《ｒ》eot ：視点座標系におけるテクスチャ座標系の原点。幾何計算機で計算される。
【００４６】
２３はテクスチャがマッピングされる面上の《ｒ》s に対応する点までの奥行きＺ（実際にはその逆数）を計算するＺ-1計算部である。その処理内容を式（１０）に示す。
【００４７】
【数１４】
0003719728.tif 000010
【００４８】
式（１０）において、
【００４９】
Ｚr-1，∂Ｚ-1／∂《ｒ》s ，《ｒ》sr
【００５０】
は幾何計算装置（図示しない）でソフトウェアで計算される。
【００５１】
２４はテクスチャ・パターン・メモリから読み出すべきテクセル・アドレスをテクセル位置計算部２２のテクスチャ値《ｒ》t とレベル計算部２１のレベルｌの近似値Ｌとにより計算するテクセル・アドレス計算部であって、処理内容を式（１１）に示す。
【００５２】
【数１５】
0003719728.tif 000011
【００５３】
式（１１）において、《ａ》f ，《ａ》c はそれぞれ次段のテクスャ・パターン・メモリ２５のテクセル・アドレスであり、テクセル・アドレス《ａ》f は精細なレベル（fine level）、テクセル・アドレス《ａ》c は粗いレベル（coarse level）のためのものである。式（６）によりレベルｌを計算するとたとえば“４．６…”のように小数が出るので切り上げた“５”が精細なレベル、切り下げた“４”が粗いレベルである。《ｒ》t は正規化（すなわち、０．０〜１．０の範囲の値をとる）されているので、２L+1 《ｒ》t によりテクセル・アドレスを計算する。その整数部をメモリ・アドレスとする。また、（αf ，βf ）t 、（αc ，βc ）t は、それぞれ精細なレベル及び粗いレベルに関するテクセル・アドレスのｘ，ｙ成分の小数部である。
【００５４】
２５は、ｃｕｔ−ｏｆｆ周波数を数段階に圧縮した数種類のテクスチャ・パターンを偶数レベルのパターン・メモリと奇数レベルパターン・メモリを別バンクにして記憶しておくテクスャ・パターン・メモリであり、レベル計算部２１のレベルの近似値Ｌとテクセル・アドレス計算部２４のテクセル・アドレス《ａ》f ，《ａ》c によりテクスチャ・パターンの値がテクセル値として《ｔ》f ，《ｔ》c が読み出される。テクセル値《ｔ》f ，《ｔ》c は《ｒ》t についてそれを囲む４点（テクセル）の精細（添字f ）、粗（添字c ）のものであり、次の式（１２）で示される。
【００５５】
【数１６】
0003719728.tif 000012
【００５６】
（ｔL ，ｔL+1 はレベルＬ，Ｌ＋１のテクスチャ・マップ・メモリ２５のテクセル値であり、アドレス《ａ》f ，《ａ》f ＋《ｅ》1 ，…，《ａ》c ，《ａ》c ＋《ｅ》1 によりアドレスされる。）
【００５７】
テクセル・アドレス《ａ》f は精細なレベル（fine level）、テクセル・アドレス《ａ》c は粗いレベル（coarse level）のためのものである。レベル計算部２１においてレベルｌが計算されるが、これは連続値をとる（実際には計算機の能力により小数点以下の適当な桁数を有する。）。一方、テクスチャ・パターン・メモリは離散的な有限個である。従って、式（６）で計算されたｌレベルｌの近似値Ｌを求めそのレベルをはさむ上下（精細側と粗側）の２つのレベルに対応したテクスチャ・マップ・メモリを備えている。テクスチャ・パターン・メモリ２５を偶数レベルのパターン・メモリと奇数レベルのパターン・メモリとの別バンクに分けて、精細なレベルと粗いレベルのテクスチャ値《ｔ》f ，《ｔ》c を並列に読み出せるようしている。例えば、図３に示すように、偶数バンク３２５１は、レベル０の下側（ｌｏｗｅｒ：粗レベル）、レベル１の上側（ｕｐｐｅｒ：精細レベル）、レベル２の下側、…、レベル８の下側、奇数バンク３２５２は、レベル０の上側、レベル１の下側、レベル２の上側、…、レベル８の上側を格納する。これら２つのテクスチャ・マップ・メモリ２５から読み出したテクスチャ値を内挿により最終的なテクスチャ値を計算する。
【００５８】
２６，２７はテクセル位置計算部２２で計算されたテクセル位置《ｒ》t に対応する精細（fine）及び粗（coarse）のテクスチャ値《ｔ》f ，《ｔ》c を、まわりのテクセル値から線形補間により計算するパターン内補間部である。パターン内補間により、レベル（Ｌ＋１）のテクスチャ値（ｔf ）とレベル（Ｌ）のテクスチャ値（ｔc ）から内挿により、テクセル位置《ｒ》t に対応するテクスチャ値を求める。処理内容を式（１３）、式（１４）に示す。
【００５９】
【数１７】
0003719728.tif 000013
【００６０】
【数１８】
0003719728.tif 000014
【００６１】
２８は前記パターン内補間部２６及び２７でパターン内補間の計算をした精細（fine）及び粗（coarse）レベルのテクスチャ値ｔf ，ｔc からレベル計算部２１のレベルの小数部γによって線形補間によりピクセル《ｒ》s にマッピングすべきテクスチャ値ｔ（《ｒ》s ）を計算するレベル間補間部である。処理内容を式（１５）に示す。
【００６２】
【数１９】
0003719728.tif 000015
【００６３】
【発明が解決しようとする課題】
空間周波数はたとえば縦方向と横方向とで異なるが、ＭＩＰＭＡＰでは予め用意しておく各ＬＯＤのテクスチャ・パターンは各方向ともに同じ帯域にフィルタリングされており、またＬＯＤはレベルがより低い方向のサンプリング周波数を基に計算される。そのため、図４のような平な地表面上のテクスチャを浅い角度で見た（例えばＡ線上）とき、左右方向の空間周波数は高くなり模様も、より精細に見えるべきであるところ、奥行き方向のサンプリング周波数は低くなり、それに伴って左右方向も奥行方向と同様に低い周波数のｃｕｔ−ｏｆｆ周波数でフィルタリングされたぼやけた模様しか見えない欠点があった。
【００６４】
この発明は、上記のような問題点を解消するためになされたものであり、テクスチャ・パターンをｘ方向及びｙ方向にそれぞれ独立にフィルタリングし、テクスチャ・パターンのテクスチャ値をｘ方向及びｙ方向にそれぞれ独立に補間したテクスチャ値を得るテクスチャ・マッピングの方法及び装置を提供することを目的とする。
【００６５】
【課題を解決するための手段】
上記課題を解決するため本発明に係るテクスチャ・マッピングの方法は、表示装置のピクセル上にテクスチャ・パターンを対応させるテクスチャ・マッピングの方法において、採用すべきテクスチャ・パターンのｘ方向及びｙ方向のサンプリングレベル（ｌｘ，ｌｙ）を得るとともに、前記サンプリングレベルが近似される段階的なサンプリングレベル（Ｌ）を得て、前記サンプリングレベル（Ｌ）に対応するとともにＭＩＰＭＡＰ手法によりｘ方向及びｙ方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンを、前記段階的なサンプリングレベル（Ｌ）と前記ｘ方向及びｙ方向のサンプリングレベル（ｌｘ，ｌｙ）とのレベル差（γｘ，γｙ）による帯域圧縮でｘ方向及びｙ方向にそれぞれ独立に内挿関数を用いてフィルタリングするとともに、テクセル位置（《ｒ》ｔ）と前記段階的なサンプリングレベル（Ｌ）とからテクセル位置に対応するアドレスと当該アドレスに対して所定の規則で近似したテクセル・アドレスとの差によるｘ方向及びｙ方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をｘ方向及びｙ方向にそれぞれ独立に補間して前記フィルタリングと補間を同時に行うものである。
【００６６】
表示装置のピクセル上にテクスチャ・パターンを対応させるテクスチャ・マッピングのためのテクスチャ・マッピング装置において、採用すべきテクスチャ・パターンのｘ方向及びｙ方向のサンプリングレベル（ｌｘ，ｌｙ）と、前記サンプリングレベルが近似される段階的なサンプリングレベル（Ｌ）と、前記サンプリングレベルとｘ方向及びｙ方向のサンプリングレベルとの差によるレベル差を計算するレベル計算部と、表示装置のピクセル位置により当該ピクセル上にマッピングすべきテクセル位置を計算するテクセル位置計算部と、前記レベル計算部からの段階的なサンプリングレベルと前記テクセル位置計算部からのテクセル位置とにより前記テクスチャ・パターンにおけるテクセル位置に対応するアドレスに対して所定の規則で近似したテクセル・アドレスと、前記アドレスとテクセル・アドレスとの差によるｘ方向及びｙ方向の補間係数とを計算するテクセル・アドレス計算部と、複数のサンプリングレベルに対応するとともにＭＩＰＭＡＰ手法によりｘ方向及びｙ方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンが予め格納され、前記レベル計算部からの段階的なサンプリングレベルと前記テクセル・アドレス計算部からのテクセル・アドレスにより読み出されるテクスチャ・パターン・メモリと、前記テクスチャ・パターン・メモリから読み出された段階的に圧縮されたテクスチャ・パターンを前記レベル計算部からのレベル差による帯域圧縮でｘ方向及びｙ方向にそれぞれ独立に内挿関数を用いてフィルタリングするとともに、前記テクセル・アドレス計算部からのｘ方向及びｙ方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をｘ方向及びｙ方向にそれぞれ独立に補間して、フィルタリングと補間を同時に行うフィルタリング及び補間部とを有する。また、フィルタリング及び補間部を関数テーブルにより構成することができる。
【００６７】
上記方法及び装置において、テクスチャ・パターンを段階的に圧縮するときのフィルタの周波数特性、及び当該段階的に圧縮されたテクスチャ・パターンをフィルタリングするフィルタの周波数特性が、
【数２０】
0003719728.tif 000016
で与えられ、内挿関数Ｇｉ（ｉ＝０，１，…，Ｎ−１）を
【数２１】
0003719728.tif 000017
で定める誤差εを最小にするように定める。但し、ｆはフィルタ関数の空間周波数、ｆｓはサンプリング周波数、Ｎは任意形状のフィルタ関数を離散的に近似するための区分数、α（α＜１）は誤差εの評価における重みである。
【００６８】
【作用】
テクスチャ・マッピングの方法において、次のように作用する。
【００６９】
まず、採用すべきテクスチャ・パターンのｘ方向及びｙ方向のサンプリングレベル（ｌｘ，ｌｙ）を得るとともに、前記サンプリングレベルが近似される段階的なサンプリングレベル（Ｌ）を得る。この段階的なサンプリングレベル（Ｌ）と前記ｘ方向及びｙ方向のサンプリングレベル（ｌｘ，ｌｙ）とのレベル差（γｘ，γｙ）を得る。テクセル位置（《ｒ》ｔ）と前記段階的なサンプリングレベル（Ｌ）とによる定まるテクセル位置に対応するアドレスと当該アドレスに対して所定の規則で近似したテクセル・アドレス《ａ》との差（ξ，η）を得る。サンプリングレベル（Ｌ）に対応する段階的に圧縮されたテクスチャ・パターンを、レベル差（γｘ，γｙ）による帯域圧縮でｘ方向及びｙ方向にそれぞれ独立にフィルタリングするとともに、アドレス差（ξ，η）によるｘ方向及びｙ方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をｘ方向及びｙ方向にそれぞれ独立に補間する。すなわち、前記フィルタリングと補間を同時に、しかも最適に行う。
【００７０】
テクスチャ・マッピング装置において、次のように作用する。
【００７１】
レベル計算部は、採用すべきテクスチャ・パターンのｘ方向及びｙ方向のサンプリングレベル（ｌx ，ｌy ）と、前記サンプリングレベルが近似される段階的なサンプリングレベル（Ｌ）と、前記サンプリングレベルとｘ方向及びｙ方向のサンプリングレベルとの差によるレベル差を計算する。
【００７２】
テクセル位置計算部は、表示装置のピクセル上にマッピングすべきテクセル位置をピクセル位置により計算する。
【００７３】
テクセル・アドレス計算部は、前記レベル計算部からの段階的なサンプリングレベルと前記テクセル位置計算部からのテクセル位置とにより前記テクスチャ・パターンにおけるテクセル位置に対応するアドレスに対して所定の規則で近似したテクセル・アドレスと、前記アドレスとテクセル・アドレスとの差によるｘ方向及びｙ方向の補間係数とを計算する。
【００７４】
テクスチャ・パターン・メモリは、複数のサンプリングレベルに対応するとともにＭＩＰＭＡＰ手法によりｘ方向及びｙ方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンが予め格納され、前記レベル計算部からの段階的なサンプリングレベルと前記テクセル・アドレス計算部からのテクセル・アドレスにより読み出される。
【００７５】
フィルタリング及び補間部は、前記テクスチャ・パターン・メモリから読み出された段階的に圧縮されたテクスチャ・パターンを前記レベル計算部からのレベル差による帯域圧縮でｘ方向及びｙ方向にそれぞれ独立にフィルタリングするとともに、前記テクセル・アドレス計算部からのｘ方向及びｙ方向の補間係数で、前記テクスチャ・パターンのテクスチャ値をｘ方向及びｙ方向にそれぞれ独立に補間する。すなわち、前記フィルタリングと補間を同時に、しかも最適に行う。
【００７６】
上記方法及び装置において、内挿関数により最適なフィルタが与えられる。
【００７７】
【実施例】
実施例を図により説明する。図１は実施例の機能ブロック図である。図１において、１１はレベル計算回路であって、使用できる最もＬＯＤの高いテクスチャ・パターンの段階的なレベルＬとそのテクスチャ・パターンから帯域圧縮すべきｘ方向及びｙ方向のｃｕｔ−ｏｆｆ周波数（Ｌ相対の）を定めるためのレベル差γx ，γy を得る。
【００７８】
１２はテクセル位置計算部であって、従来の技術として図２に示したテクセル位置計算部２２と同様のものである。１３はＺ-1計算部であって従来技術として図２に示したＺ-1計算部２３と同様のものである。１４はテクセル・アドレス計算部であって、テクセル位置《ｒ》t に対応するレベルＬにおけるテクセル・アドレスを計算する。１５はテクスチャ・パターン・メモリであって、偶数レベルのパターン・メモリと奇数レベルのパターン・メモリを別バンクにする必要がないことを除けば従来の技術として説明したものと同様である。１６はｘ方向及びｙ方向を独立にフィルタリングし、テクセル位置に対応するテクスチャ値を計算するとともに補間するフィルタリング及び補間部である。
【００７９】
レベル計算部１１において、ＣＲＴ上のピクセル《ｒ》s と変換マトリクスＴteと∂Ｚ-1／∂《ｒ》s を入力して、採用すべきテクスチャ・パターンのｘ方向及びｙ方向のサンプリングレベル（ｌx ，ｌy ）と、前記サンプリングレベルが近似される段階的なサンプリングレベル（Ｌ）と、前記サンプリングレベルとｘ方向及びｙ方向のサンプリングレベルとの差によるレベル差γx ，γy を式（１６）により計算する。
【００８０】
【数２２】
0003719728.tif 000018
【００８１】
（ここで、
【００８２】
【数２３】
0003719728.tif 000019
【００８３】
は、
【００８４】
【数２４】
式（１８）
ｘ≦Ｉ＜ｘ＋１
【００８５】
なる関係を満たす整数Ｉとする。）
【００８６】
テクセル位置計算部１２は、従来の技術と同様に式（９）に従って、ＣＲＴ上のピクセル《ｒ》s ＝（ｘs ，ｙs ）t にマッピングすべきテクセル位置、《ｒ》t （テクスチャからＣＲＴスクリーンへのマッピングにおける《ｒ》s の逆像、換言すればテクスチャ座標系におけるサンプリングポイント）を計算する。
【００８７】
Ｚ-1計算部１３は、従来の技術と同様に式（１０）に従って、テクスチャがマッピングされる面上の《ｒ》s に対応する点までの奥行きＺ（実際にはその逆数）を計算する。
【００８８】
テクセル・アドレス計算部１４は、上記レベル計算部１１で計算される段階的な近似レベルＬとテクセル位置計算部１２で計算されるテクセル位置《ｒ》t とにより、採用されたテクスチャ・パターンにおけるテクセル位置《ｒ》t に対応するアドレスに対して所定の規則で近似したテクセル・アドレスと、前記アドレスとテクセル・アドレスとの差によるｘ方向及びｙ方向の補間係数ξ，ηとを式（１９）により計算する。
【００８９】
【数２５】
0003719728.tif 000020
【００９０】
（ξ，η）t は転置行列である。
【００９１】
テクスチャ・パターン・メモリ１５は、段階的なレベルに対応するとともにＭＩＰＭＡＰ手法によりｘ方向及びｙ方向に共通に等方的に段階的に圧縮されたテクスチャ・パターンを格納していて、レベル計算機１１で計算されたレベルＬが格納されるメモリ部分からテクセル・アドレス計算部１４で計算されたテクセル・アドレスでアドレスされ、テクセル位置《ｒ》ｔを囲む４×４（一般的には
【００９２】
【数２６】
0003719728.tif 000021
）テクセル《ｔ》すなわち
【００９３】
【数２７】
式（２１）
《ｔ》＝｛ｔ（ｉ，ｊ）｜ｉ，ｊ＝−２〜１｝
【００９４】
を読み出してくる。
【００９５】
フィルタリング及び補間部１６は、上記４×４テクセル《ｔ》とレベル計算部１１で計算されたレベル差γｘ，γｙと、テクセル・アドレス計算部１４で計算された近似したテクセル・アドレスと前記近似したアドレスとテクセル・アドレスとの差によるｘ方向及びｙ方向の補間係数（ξ，η）とからフィルタリングと補間を同時に行い、ピクセル《ｒ》ｓにマッピングすべきテクスチャ値ｔ（《ｒ》ｓ）を計算する。
【００９６】
ここで、フィルタリング及び補間部１６におけるフィルタリングについて説明する。
【００９７】
本発明においては、テクスチャ・マッピングは可能な限り高いＬＯＤの、すなわち精細なテクスチャ・パターンを用いて、ｘ方向及びｙ方向（又はそれらを４５°回転した方向）にそれぞれ独立に内挿関数（又は重み関数）を用いてフィルタリングすることによって、サンプリング周波数の高い方向の模様を、より低い方向のサンプリング周波数に影響されることなく精細に表示しようとするものである。
【００９８】
内挿関数（又は重み関数）ｇ（ξ）は厳密には次式で与えられる。
【００９９】
【数２８】
式（２２）
ｇ（ξ）＝ｓｉｎ（πξ）／πξ
【０１００】
しかし、ｓｉｎ（πξ）／πξは０への収束が悪くフィルタリングの積分範囲が広く、そのため回路が大きくなるため一般にはある程度の誤差を許容し、次式が用いられる。
【０１０１】
【数２９】
0003719728.tif 000022
【０１０２】
この発明においては、比較的厳密でかつ０への収束の早い重み関数として、ｃｕｔ−ｏｆｆ周波数以上の領域のスペクトル密度が０で、かつそのインパルス・レスポンスｇ（ｔ）の２乗にｔ＝０から離れるに従って大きくなる重みを付けた関数を−∞から＋∞まで積分したものをエラーとし、そのエラーが最小になるようなｇ（ｔ）を用いる。詳細は次式で決まる重み関数を用いるものとする。求めるフィルタの周波数特性を次式で表わす。
【０１０３】
【数３０】
0003719728.tif 000023
【０１０４】
但し、ｆはフィルタ関数の空間周波数、ｆｓはサンプリング周波数、Ｎは任意形状のフィルタ関数を離散的に近似するための区分数である。
Ｇｉ（ｉ＝０，１，…，Ｎ−１）を次式で定める誤差εを最小にするように定める。なお、次式（２５）において、α（α＜１）は誤差εの評価における重みである。
【０１０５】
【数３１】
0003719728.tif 000024
【０１０６】
εは次のように書き直すことができる。
【０１０７】
【数３２】
0003719728.tif 000025
【０１０８】
簡単のため、次の条件のもとで説明する。
【０１０９】
【数３３】
0003719728.tif 000026
【０１１０】
【数３４】
式（２８）
ΔＬ＝１
【０１１１】
式（２８）のΔＬは、段階的なレベルＬについて、各隣接するレベルの差である。
【０１１２】
図５は図１におけるフィルタリング及び補間部１６の内部構成を説明するブロック図である。フィルタリング及び補間部１６は４×４テクセルのうち４個のテクスチャｔL を入力し、γx でフィルタリング及びξで補間する４個のフィルタリング・ユニット５１，５２，５３，５４とそれらの出力を入力し、γy でフィルタリング及びηで補間するフィルタリング・ユニット５５とを備える。
【０１１３】
図６は図５における各フィルタリング・ユニット（例えば５１を示すが他も同様）の内部構成を示すブロック図である。フィルタリング・ユニット５１は４個のフィルタリング・ブロック６０，６１，６２，６３と、３個の加算器６４，６５，６６を備える。各フィルタリング・ブロック６０，６１，６２，６３のそれぞれは、フィルタリング・ユニット５１に入力するテクスチャ値ｔL （−２，−２），ｔL （−１，−２），ｔL （０，−２），ｔL （１，−２）のそれぞれを入力し、フィルタリング・ブロック６ｉ（ｉ＝０，１，２，３）は次の式（２９）による計算結果を予め格納してある関数テーブルを引くことによってフィルタリングと補間を実行する。この場合、γはγx で計算するが、図５のフィルタリング・ユニット５５におけるフィルタリング・ブロックでは、γx に代えてγy を入力し、ξに代えてηを入力してそれらに基づいて計算する。関数テーブルとしてのフィルタリング・ブロック６ｉは、ＬＳＩで構成することができ、重み関数を種々の形状にした計算結果をオフラインで計算してテーブルに格納しておくことにより、任意の形状にした重み関数でフィルタリングを実行させることができる。
【０１１４】
【数３５】
0003719728.tif 000027
【０１１５】
補間は、１次元で説明すると、ｆ（ξ）のサンプル値ｆi が次のように与えられているとき、ｆi からｆ（ξ）を求めることである。ｆ（ξ）及びｇ（ξ）がある条件を満たすとき、ｆ（ξ）は次式で与えられる。
【０１１６】
【数３６】
0003719728.tif 000028
【０１１７】
また、１次元の場合、ある信号ｆ（ξ）を特性Ｇ（ｆ）のフィルタでフィルタリングして信号ｈ（ξ）を得るということは次式で表わされる処理を行うことである。
【数３７】
0003719728.tif 000029
【０１１８】
なお、ｇ（ξ）はＧ（ｆ）のインパルスレスポンスである。
【０１１９】
ディジタル的（離散的）には
【０１２０】
【数３８】
0003719728.tif 000030
【０１２１】
次に、ｆ（ξ）をＧ（ｆ）のα（＜１．０）倍に帯域圧縮するには、次の式による処理になる。
【０１２２】
【数３９】
0003719728.tif 000031
【０１２３】
従って、フィルタリング（帯域圧縮）と補間を同時に行うには次式によることになる。
【０１２４】
【数４０】
0003719728.tif 000032
【０１２５】
これは図５のフィルタリング・ユニット５１，５２，５３，５４，５５すなわち図６のフィルタリング・ブロック６０，６１，６２，６３の関数テーブルを引くことによって実行される。
【０１２６】
式（２９）と式（３４）とにおいて、次のように対応する。
【０１２７】
【表１】
0003719728.tif 000033
【０１２８】
【発明の効果】
以上のように、この発明によればｘ方向とｙ方向を独立に帯域圧縮するのでサンプリング周波数の低い方向に影響されることなく、サンプリング周波数の高い方向の模様をより詳細に表示することができる。
【０１２９】
また、１レベルのテクスチャ・パターンからテクスチャ値を計算するのでテクスチャ・パターン・メモリを偶数レベルと奇数レベルの二つのバンクで構成する必要がない。
【０１３０】
フィルタリング及び内挿は関数テーブルにより行うので高速で、かつ重み関数を任意の形状にすることができる。また、同一構成のフィルタリング・ユニットを複数回路使用するのでＬＳＩ化しやすい。
【０１３１】
重み関数は必要に応じて最適化し、関数テーブルの内容を変えることにより、より精度を上げることができる。
【図面の簡単な説明】
【図１】実施例の機能ブロック図である。
【図２】従来のテクスチャ・マッピング装置のブロック図である。
【図３】従来の技術のテクスチャ・パターン・メモリのバンク及びその格納状態を説明する図である。
【図４】模様の見え方を説明する図である。
【図５】フィルタリング及び補間部の内部構成を説明するブロック図である。
【図６】フィルタリング・ユニットの内部構成を示すブロック図である。
【符号の説明】
１２…テクセル位置計算部、１３…Ｚ-1計算部、１４…テクセル・アドレス計算部、１５…テクスチャ・パターン・メモリ、１６…フィルタリング及び補間部、５１，５２，５３，５４…フィルタリング・ユニット、５５…フィルタリング・ユニット、６０，６１，６２，６３…フィルタリング・ブロック、６４，６５，６６…加算器。
【図１】
0003719728.tif 000038
【図２】
0003719728.tif 000039
【図３】
0003719728.tif 000040
【図４】
0003719728.tif 000041
【図５】
0003719728.tif 000042
【図６】
0003719728.tif 000043