(57)【要約】【課題】高品位の画像を表示できるようにする。【解決手段】拡大テクスチャを生成するとき、初期値の画素を四隅に配置して、その中心の画素を演算により求める。このとき、演算される画素値を４つの画素の平均値と揺らぎ成分の合成として求める。揺らぎ成分は、各画素からの距離と乱数との積に比例させる。新たに生成された中心の画素を水平方向または垂直方向にそれぞれ配置して、そのとき中心に位置する画素を同様に生成する。【選択図】図４
2006155672.tif 000002
【特許請求の範囲】
【請求項１】
所定の基準となる第１の画素を設定する設定手段と、
前記第１の画素に対応する第２乃至第４の画素を、前記第１の画素から水平方向、垂直方向、または斜め方向に、所定の距離だけ離れた位置に配置する配置手段と、
前記第１乃至第４の画素から所定の距離だけ離れている所定の位置の他の画素を、前記第１乃至第４の画素と、前記距離から演算する演算手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記演算手段は、前記第１乃至第４の画素から、その中心に位置する第５の画素を演算する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記演算手段は、前記第１乃至第４の画素の平均値に、乱数と前記距離により規定される値を加算して、前記第５の画素を演算する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記演算手段は、前記第５の画素に対応する第６または第７の画素を、前記第５の画素から水平方向に、所定の距離だけ離れた位置に配置する水平配置手段と、
前記第１の画素、第４の画素、第５の画素、および第６の画素から、その中心に位置する第８の画素を演算するとともに、前記第２の画素、第３の画素、第５の画素、および第７の画素から、その中心に位置する第９の画素を演算する水平演算手段と
をさらに備えることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記演算手段は、前記第５の画素に対応する第１０または第１１の画素を、前記第５の画素から垂直方向に、所定の距離だけ離れた位置に配置する垂直配置手段と、
前記第１の画素、第２の画素、第５の画素、および第１０の画素から、その中心に位置する第１２の画素を演算するとともに、前記第３の画素、第４の画素、第５の画素、および第１１の画素から、その中心に位置する第１３の画素を演算する垂直演算手段と
をさらに備えることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
所定の基準となる第１の画素を設定する設定ステップと、
前記第１の画素に対応する第２乃至第４の画素を、前記第１の画素から水平方向、垂直方向、または斜め方向に、所定の距離だけ離れた位置に配置する配置ステップと、
前記第１乃至第４の画素から所定の距離だけ離れている所定の位置の他の画素を、前記第１乃至第４の画素と、前記距離から演算する演算ステップと
を備えることを特徴とする画像処理方法。
【請求項７】
オリジナルのテクスチャを提供する第１の提供手段と、
前記オリジナルのテクスチャを拡大した拡大テクスチャを修整する修整テクスチャを提供する第２の提供手段と、
前記第１の提供手段の提供するオリジナルのテクスチャ、または前記第２の提供手段の提供する修整テクスチャを用いて、表示する画像のビットマップデータを描画する描画手段と
を備えることを特徴とするレンダリング装置。
【請求項８】
前記修整テクスチャは、平均値が０となる符号付きカラーデータを有する
ことを特徴とする請求項７に記載のレンダリング装置。
【請求項９】
前記修整テクスチャは、平均値が０となる加算用のカラーデータと減算用のカラーデータを有する
ことを特徴とする請求項７に記載のレンダリング装置。
【請求項１０】
前記修整テクスチャは、ブレンディング後のデスティネーションカラーの平均値が、ブレンディング前と同一となるように、その値が０と、１より大きい所定の値との間の所定の値をとるαパターンを有する
ことを特徴とする請求項７に記載のレンダリング装置。
【請求項１１】
オリジナルのテクスチャを提供する第１の提供ステップと、
前記オリジナルのテクスチャを拡大した拡大テクスチャを修整する修整テクスチャを提供する第２の提供ステップと、
前記第１の提供ステップの提供するオリジナルのテクスチャ、または前記第２の提供ステップの提供する修整テクスチャを用いて、表示する画像のビットマップデータを描画する描画ステップと
を備えることを特徴とするレンダリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、並びにレンダリング装置および方法に関し、特に、より高品位の画像を表示することができるようにした画像処理装置および方法、並びにレンダリング装置および方法に関する。
【背景技術】
【０００２】
図１６は、コンピュータゲーム装置におけるレンダリングの例を表している。この例においては、奥行き方向に伸びる床１０２上に、オブジェクト１００とオブジェクト１０１が表示されている。オブジェクト１００は、近い位置に配置され、オブジェクト１０１は、遠い位置に配置されている。
【０００３】
床１０２を所定のテクスチャで表示するために、オリジナルテクスチャと、それを縮小したMIP-MAPテクスチャが予め用意されている。
【０００４】
そして、例えば床１０２の遠方のポリゴンＰ11は、例えばMIP-MAPテクスチャの中の、所定の縮小率のテクスチャＴEで表示される。また、床１０２の中間の位置に位置するポリゴンＰ12は、オリジナルテクスチャのテクスチャＴFで表示される。床１０２の最も手前のポリゴンＰ13には、オリジナルテクスチャのうちの所定のテクスチャＴGが所定の拡大率で拡大して表示される。
【０００５】
このように、床１０２に所望のテクスチャを表示することで、リアルな画像とすることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、テクスチャマッピングされたポリゴンは、オリジナルテクスチャより拡大されると、画質が劣化する課題があった。例えば、拡大処理を画素を大きくすることで行うと（ポイントサンプリングすると）、画像がモザイク状となる。また、拡大処理をバイリニア補間で行うと、補間のため画像がぼける課題があった。
【０００７】
さらに、バイリニア補間の方がポイントサンプリングに較べて比較的良好の画像を得ることができるが、拡大処理は、より近景の画像ほど大きな拡大率で行われることになるため、近景ほどぼけた、コントラストの小さな画像となる。その結果、図１６に示すように、近景に等倍のオブジェクト１００が位置すると、このオブジェクト１００は、テクスチャマッピングを利用していないため、鮮明な画像となっているのに対して、ほぼ同位置に位置する床１０２の画像が、ぼけた画像となってしまい、全体的に矛盾のある画像となり、見るものに違和感を与える結果となっていた。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、より高品位の画像を表示できるようにするものである。
【課題を解決するための手段】
【０００９】
請求項１に記載の画像処理装置は、所定の基準となる第１の画素を設定する設定手段と、第１の画素に対応する第２乃至第４の画素を、第１の画素から水平方向、垂直方向、または斜め方向に、所定の距離だけ離れた位置に配置する配置手段と、第１乃至第４の画素から所定の距離だけ離れている所定の位置の他の画素を、第１乃至第４の画素と、距離から演算する演算手段とを備えることを特徴とする。
【００１０】
請求項６に記載の画像処理方法は、所定の基準となる第１の画素を設定する設定ステップと、第１の画素に対応する第２乃至第４の画素を、第１の画素から水平方向、垂直方向、または斜め方向に、所定の距離だけ離れた位置に配置する配置ステップと、第１乃至第４の画素から所定の距離だけ離れている所定の位置の他の画素を、第１乃至第４の画素と、距離から演算する演算ステップとを備えることを特徴とする。
【００１１】
請求項７に記載のレンダリング装置は、オリジナルのテクスチャを提供する第１の提供手段と、オリジナルのテクスチャを拡大した拡大テクスチャを修整する修整テクスチャを提供する第２の提供手段と、第１の提供手段の提供するオリジナルのテクスチャ、または第２の提供手段の提供する修整テクスチャを用いて、表示する画像のビットマップデータを描画する描画手段とを備えることを特徴とする。
【００１２】
請求項１１に記載のレンダリング方法は、オリジナルのテクスチャを提供する第１の提供ステップと、オリジナルのテクスチャを拡大した拡大テクスチャを修整する修整テクスチャを提供する第２の提供ステップと、第１の提供ステップの提供するオリジナルのテクスチャ、または第２の提供ステップの提供する修整テクスチャを用いて、表示する画像のビットマップデータを描画する描画ステップとを備えることを特徴とする。
【００１３】
請求項１に記載の画像処理装置および請求項６に記載の画像処理方法においては、第１の画素に対応する第２乃至第４の画素が、第１の画素から水平方向、垂直方向、または斜め方向に、所定の距離だけ離れた位置に配置される。そして、第１乃至第４の画素から所定の距離だけ離れている所定の位置の他の画素が、第１乃至第４の画素と、それらとの距離から演算される。
【００１４】
請求項７に記載のレンダリング装置および請求項１１に記載のレンダリング方法においては、オリジナルのテクスチャまたは修整テクスチャを用いて、描画が行われる。
【発明を実施するための最良の形態】
【００１５】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態（但し一例）を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段を記載したものに限定することを意味するものではない。
【００１６】
請求項１に記載の画像処理装置は、所定の基準となる第１の画素を設定する設定手段（例えば図３のステップＳ１）と、第１の画素に対応する第２乃至第４の画素を、第１の画素から水平方向、垂直方向、または斜め方向に、所定の距離だけ離れた位置に配置する配置手段（例えば図３のステップＳ２）と、第１乃至第４の画素から所定の距離だけ離れている所定の位置の他の画素を、第１乃至第４の画素と、距離から演算する演算手段（例えば図３のステップＳ３）とを備えることを特徴とする。
【００１７】
請求項４に記載の画像処理装置は、演算手段は、第５の画素に対応する第６または第７の画素を、第５の画素から水平方向に、所定の距離だけ離れた位置に配置する水平配置手段（例えば図３のステップＳ４）と、第１の画素、第４の画素、第５の画素、および第６の画素から、その中心に位置する第８の画素を演算するとともに、第２の画素、第３の画素、第５の画素、および第７の画素から、その中心に位置する第９の画素を演算する水平演算手段（例えば図３のステップＳ５）とをさらに備えることを特徴とする。
【００１８】
請求項５に記載の画像処理装置は、演算手段は、第５の画素に対応する第１０または第１１の画素を、第５の画素から垂直方向に、所定の距離だけ離れた位置に配置する垂直配置手段（例えば図３のステップＳ６）と、第１の画素、第２の画素、第５の画素、および第１０の画素から、その中心に位置する第１２の画素を演算するとともに、第３の画素、第４の画素、第５の画素、および第１１の画素から、その中心に位置する第１３の画素を演算する垂直演算手段（例えば図３のステップＳ７）とをさらに備えることを特徴とする。
【００１９】
請求項７に記載のレンダリング装置は、オリジナルのテクスチャを提供する第１の提供手段（例えば図１２のテクスチャ領域７２Ｂの領域７２Ｂ2）と、オリジナルのテクスチャを拡大した拡大テクスチャを修整する修整テクスチャを提供する第２の提供手段（例えば図１２のテクスチャ領域７２Ｂの領域７２Ｂ3）と、第１の提供手段の提供するオリジナルのテクスチャ、または第２の提供手段の提供する修整テクスチャを用いて、表示する画像のビットマップデータを描画する描画手段（例えば図２のグラフィックプロセッサ７１）とを備えることを特徴とする。
【００２０】
図１は、本発明の画像処理装置を応用したコンピュータゲーム装置の構成例を示すブロック図であり、このコンピュータゲーム装置は、３次元グラフィックス機能と動画再生機能とを備えている。
【００２１】
このコンピュータゲーム装置は、メインバス１０と、サブバス２０とからなる２つのシステムバスを備える構成を有している。これらメインバス１０と、サブバス２０との間のデータのやり取りは、バスコントローラ３０により制御される。
【００２２】
そして、メインバス１０には、メインCPU１１、メインメモリ１２、画像伸長デコード部１３、前処理部１４、描画処理部１５、および、メインのDMAコントローラ１６が接続されている。描画処理部１５には、処理用メモリ１７が接続されている。また、この描画処理部１５は表示データ用のフレームバッファ（フレームメモリ）と、Ｄ／Ａ変換回路を含み、この描画処理部１５からのアナログビデオ信号がビデオ出力端子１８に出力される。図示しないが、このビデオ出力端子１８は、表示装置としての例えばCRTディスプレイに接続される。
【００２３】
サブバス２０には、サブCPU２１、サブメモリ２２、ブートROM２３、サブのDMAコントローラ２４、音声処理用プロセッサ２５、入力部２６、補助記憶装置部２７、および、拡張用の通信インタフェース部２８が接続されている。補助記憶装置部２７は、この例ではCD-ROMデコーダ４１とCD-ROMドライバ４２を備える。ブートROM２３には、ゲーム機としての立ち上げを行うためのプログラムが格納されている。また、音声処理用プロセッサ２５に対しては、音声処理用メモリ２５Ｍが接続されている。そして、この音声処理用プロセッサ２５はＤ／Ａ変換回路を備え、アナログ音声信号を音声出力端子２９に出力する。
【００２４】
そして、補助記憶装置部２７は、CD-ROMドライバ４２に装填されたCD-ROMディスク６に記録されているアプリケーションプログラム（例えばゲームのプログラム）やデータをデコードする。CD-ROMディスク６には、例えば離散コサイン変換(DCT)を用いたMPEG２方式により画像圧縮された動画や静止画の画像データや、ポリゴンを修飾するためのテクスチャ画像の画像データも記録されている。また、CD-ROMディスク６のアプリケーションプログラムには、ポリゴン描画命令が含まれている。
【００２５】
入力部２６は、コントロールパッド２６Ａ、ビデオ信号の入力端子２６Ｂ、および、音声信号の入力端子２６Ｃを備えるものである。
【００２６】
メインCPU１１は、メインバス１０側の各部の管理および制御を行う。また、このメインCPU１１は、物体を多数のポリゴンの集まりとして描画する場合の処理の一部を行う。メインCPU１１は、１画面分の描画画像を生成するための描画命令列をメインメモリ１２上に作成する。メインCPU１１とメインバス１０とのデータのやり取りは、データをパケット形式にしてパケット単位に行い、バースト転送を可能にしている。
【００２７】
メインメモリ１２は、動画や静止画の画像データに対しては、圧縮された画像データのメモリ領域と、伸長デコード処理された伸長画像データのメモリ領域とを備えている。また、メインメモリ１２は、描画命令列などのグラフィックスデータのメモリ領域（これをパケットバッファという）を備える。このパケットバッファは、メインCPU１１による描画命令列の設定と、描画命令列の描画処理部１５への転送とに使用される。
【００２８】
画像伸長デコード部１３は、CD-ROMディスク６から再生され、メインメモリ１２に転送された圧縮動画データやメインメモリ１２上の圧縮されたテクスチャパターンデータの伸長処理を行うもので、この例では、MPEG２の画像圧縮方式を採用するので、それに対応したデコーダの構成を有している。
【００２９】
この画像伸長デコード部１３の出力段には、瞬時の、つまりほぼリアルタイムでの可逆圧縮／伸長が可能で、圧縮率が例えば１／４乃至１／２程度の瞬時圧縮部５０が設けられている。また、この例の画像伸長デコード部１３は、その出力画像データの出力形式として、画像データの各画素の値を再量子化して出力する第１の出力データ形式（以下、この第１の出力データ形式をダイレクトカラー形式という）と、前記各画素を、予め定められた限定された数の再現色の中の、当該画素の色が近似する色を示すインデックスデータに変換して出力する第２の出力データ形式（以下、この第２の出力データ形式をインデックスカラー形式という）とを、描画処理部１５での処理に適合させて選択可能としている。
【００３０】
描画処理部１５は、メインメモリ１２から転送されてくる描画命令を実行して、その結果をフレームメモリ（図２のVRAM７２）に書き込む。フレームメモリから読み出された画像データは、Ｄ／Ａ変換器を介してビデオ出力端子１８に出力され、CRTなどの画像モニタ装置の画面に表示される。
【００３１】
なお、描画処理部１５は、メインメモリ１２から受け取る画像データの出力形式がインデックスカラー形式の場合にあっては、各画素データをインデックスデータから対応する代表色データに変換する処理を行う。このために、描画処理部１５は、インデックスデータと代表色データとの変換テーブルであるCLUT(ColorLook Up Table)を格納できるようにしている。
【００３２】
前処理部１４は、CPUを備えるプロセッサの構成とされるもので、メインCPU１１の処理の一部を分担することができるようにするものである。例えばポリゴンデータを、表示のための２次元座標データに変換する処理も、この前処理部１４が行う場合がある。
【００３３】
そして、この例では、前処理部１４とメインバス１０との間に、瞬時圧縮部５０による瞬時圧縮を解凍する瞬時解凍部６０が設けられる。
【００３４】
次に、このゲーム装置の基本的な処理について以下に、簡単に説明する。
【００３５】
図１のコンピュータゲーム装置に電源が投入され、ゲーム装置本体１にCD-ROMディスク６が装填されると、ブートROM２３の、ゲームを実行するためのいわゆる初期化処理をするためのプログラムが、サブCPU２１により実行される。すると、CD-ROMディスク６の記録データが次のようにして取り込まれる。
【００３６】
すなわち、補助記憶装置部２７においては、CD-ROMディスク６から、圧縮画像データ、描画命令およびメインCPU１１が実行するプログラムが、CD-ROMドライバ４２、CD-ROMデコーダ４１を介して読み出され、サブDMAコントローラ２４によってサブメモリ２２に一旦ロードされる。
【００３７】
そして、このサブメモリ２２に取り込まれたデータは、サブDMAコントローラ２４およびバスコントローラ３０、さらにはメインDMAコントローラ１６によってメインメモリ１２に転送される。なお、サブCPU２１は、描画処理部１５のフレームに対して直接的にアクセスできるように構成されており、このサブCPU２１によっても表示画像内容の変更が、描画処理部１５の制御とは離れて可能とされている。
【００３８】
図２は、描画処理部１５の基本的な構成例を表している。この描画処理部１５は、グラフィックプロセッサ７１、VRAM７２、およびCRTコントローラ７３より構成されている。グラフィックプロセッサ７１は、図３のフローチャートを参照して後述するフラクタル生成アルゴリズムを実行するプログラムを内蔵している。VRAM７２は、テクスチャ素材を記録する領域７２Ａ、生成されたテクスチャが描画される領域７２Ｂ、図示せぬCRTに出力するビットマップデータが交互に描画される領域７２Ｃ，７２Ｄを有している。
【００３９】
グラフィックプロセッサ７１は、メインメモリ１２からの描画命令を実行して、領域７２Ｃまたは領域７２Ｄに、交互にビットマップデータを描画する。領域７２Ｃにビットマップデータが新たに書き込まれているとき、領域７２Ｄに既に書き込まれているビットマップデータが読み出され、CRTコントローラ７３からCRTに出力され、表示される。領域７２Ｃへの描画が完了すると、今度は領域７２Ｃからビットマップデータが読み出され、CRTコントローラ７３を介して、CRTに出力され、表示される。そして、このとき、領域７２Ｄに新たな画像が描画される。このように、領域７２Ｃと領域７２Ｄは、書き込みと読み出しの動作が交互に行われる。
【００４０】
テクスチャ領域７２Ｂには、図１６に示した場合と同様に、オリジナルテクスチャとMIP-MAPテクスチャが記憶されており、適宜所定のものが読み出され、領域７２Ｃまたは７２Ｄに描画される。グラフィックプロセッサ７１は、テクスチャを拡大する必要がある場合、内蔵するフラクタル生成アルゴリズムを用いて、フラクタルを生成し、テクスチャ素材領域７２Ａの所定の領域に記憶させる。
【００４１】
次に、このアルゴリズムを図３を参照して説明する。最初にステップＳ１において、グラフィックプロセッサ７１は、所定の画素データを初期値として設定する。また、このとき、フラクタル生成するテクスチャの大きさに対応する距離Ｌが初期設定される。
【００４２】
次に、ステップＳ２に進み、グラフィックプロセッサ７１は、所定の位置にラップラウンドイメージを設定する処理を行う。すなわち、図４（Ａ）に示すように、ステップＳ１で設定した初期値の画素を画素１とするとき、水平方向に距離Ｌだけ離れた位置の画素２、垂直方向に距離Ｌだけ離れた位置の画素４、および画素２から距離Ｌだけ垂直方向に離れた位置（画素４から水平方向に距離Ｌだけ離れた位置）の画素３として、画素１の初期値と同一の値を設定する。
【００４３】
次に、ステップＳ３に進み、ステップＳ２で設定した４つの画素（すなわち、画素１乃至画素４）から、その中心の画素の値を演算する。
【００４４】
すなわち、図４（Ｂ）に示すように、画素１乃至画素４の中心に位置する画素５の値を演算する。この画素５の値ｈは、次式で表される。
ｈ＝（ｄｔ１＋ｄｔ２＋ｄｔ３＋ｄｔ４）／４＋ｑ×ＲＴＤ×ｈｓｔｅｐ
【００４５】
なお、上記式において、ｄｔ１乃至ｄｔ４は、画素１乃至画素４の値を意味し、ｑは、発生された乱数を表し、ＲＴＤは、２1/2を表し、ｈｓｔｅｐは、距離（いまの場合、Ｌ／２）を表している。
【００４６】
すなわち、画素５の値ｈは、画素１乃至画素４の平均値に揺らぎ成分を加算して生成されている。この揺らぎ成分は、−１．０から１．０の間の乱数ｑと、画素１乃至画素４から画素５までの距離ＲＴＤ×ｈｓｔｅｐ（２1/2・Ｌ／２）に比例するように規定されている。これにより、自己相似性が実現され、フラクタル演算ができるようになされている。
【００４７】
次に、ステップＳ４に進み、グラフィックプロセッサ７１は、水平方向に対して、ラップラウンドイメージを設定する処理を実行する。すなわち、図４（Ｃ）に示すように、画素５から水平方向に距離Ｌだけ離れた位置の画素６、または画素７として、画素５と同一の値を設定する。
【００４８】
次に、ステップＳ５に進み、新たな４点の中心に配置されている画素データをフラクタル演算する処理を実行する。すなわち、画素１、画素４、画素５、および画素６の中心に位置する画素８のデータが演算されるとともに、画素２、画素３、画素５、および画素７の中心に位置する画素９の画素値が求められる。
【００４９】
この場合、例えば画素８の画素１、画素４、画素５、および画素６からの距離は、Ｌ／２であるため、次式から演算される。
ｈ＝（ｄｔ１＋ｄｔ４＋ｄｔ５＋ｄｔ６）／４＋ｑ×ｈｓｔｅｐ
【００５０】
次に、ステップＳ６に進み、グラフィックプロセッサ７１は、垂直方向に対して、ラップラウンドイメージを設定する。すなわち、図４（Ｄ）に示すように、画素５から垂直方向に距離Ｌだけ離れた位置の画素１０または画素１１に、画素５と同一の値の画素を設定する。
【００５１】
次に、ステップＳ７に進み、新たに生成された４点の中心の画素データをフラクタル演算する処理が実行される。
【００５２】
すなわち、図４（Ｄ）に示すように、画素１、画素２、画素５、および画素１０の中心に位置する画素１２の値と、画素３、画素４、画素５、および画素１１の中心に位置する画素１３の値が演算される。
【００５３】
この場合における例えば画素１２の値は、次式で演算される。
ｈ＝（ｄｔ１＋ｄｔ２＋ｄｔ５＋ｄｔ１０）／４＋ｑ×ｈｓｔｅｐ
【００５４】
次に、ステップＳ８に進み、全ての画素データを生成したか否かを判定し、まだ生成していない画素データが残っている場合には、ステップＳ２に戻り、同様の処理が繰り返し実行される。
【００５５】
例えば、図４（Ｄ）に示すように、画素１乃至画素５、画素８、画素９、画素１２、および画素１３を生成した後、さらにより近接した位置の画素を求める場合には、例えば画素１、画素１２、画素５、および画素８の４つの画素を選択し、その中心の画素を求め、さらに、水平方向、または垂直方向に中心の画素をラップラウンドして、新たな画素データを演算する。
【００５６】
以上のような処理を必要な回数繰り返すことで、所定の大きさの拡大テクスチャを生成することができる。
【００５７】
図５乃至図６は、以上のフラクタル生成アルゴリズムのより具体的なプログラムを表している。
【００５８】
以上のようにして生成した単位のテクスチャを複数個配列して、より大きなテクスチャを構成したとしても、各単位のテクスチャとの境界部が視認されてしまうようなことがない。すなわち、図７に示すように、生成した１つの単位としてのテクスチャの４つの角の画素データは、いずれも同一（図７の表示例の場合、Ａ）となっている。従って、これを上下左右方向に配列したとしても、各単位の境界部分に配置される画素データは、実質的に同一のデータであるから、その境界部が視認されるようなことがない。
【００５９】
これに対して、図８に示すように、四隅に配置する画素を初期値と異なる値にすると、そのようにして生成された単位のテクスチャを複数個配列すると、各単位の境界部に配置される画素データがそれぞれ異なるものとなり、境界部が目立つものとなる。本願においては、上述したように、フラクタルパターンをサイクリックに生成するようにしたので、これが防止される。
【００６０】
図９は、以上のようにして生成したサイクリックテクスチャをさらに合成して、新たなサイクリックテクスチャを生成する様子を示している。同図に示すように、テクスチャＴ1乃至Ｔ3が、単位のサイクリックテクスチャを複数個配列することで生成されている。テクスチャＴ4は、テクスチャＴ1とＴ3を合成して生成されている。テクスチャＴ5は、テクスチャＴ2とＴ3を合成して生成されており、また、テクスチャＴ6は、テクスチャＴ1乃至Ｔ3を合成して生成されている。
【００６１】
なお、このような２以上のテクスチャを合成して１つのテクスチャを生成する場合、各テクスチャの位相をずらすことで、微妙に異なる多くの種類のテクスチャを生成することができる。
【００６２】
なお、位相をずらす処理は、読み出しまたは書き込みアドレスをずらすことで実現することができる。
【００６３】
図１０の表示例においては、テクスチャＴ11が、テクスチャＴ1とテクスチャＴ3をそれぞれ異なる拡大率（縮小率）で合成して生成されている。同様に、テクスチャＴ12は、Ｔ2とＴ3を異なる拡大率（縮小率）で合成して生成され、テクスチャＴ13は、テクスチャＴ1乃至Ｔ3を、それぞれ異なる拡大率（縮小率）で合成することで、生成されている。このように、簡単なサイクリックパターンで、拡大率（縮小率）の最小公倍数の大きさのパターンを合成することができる。
【００６４】
さらに、図１１に示すように、サイクリックテクスチャＴ21とα値により制御された抜き型の画像Ｔ22とを合成して、合成テクスチャＴ23を生成するようにすると、より複雑なテクスチャパターンを合成することができる。
【００６５】
なお、α＝０の画素は、実質的に透明な画素を表し、α＝１の画素は、透明でない画素を表している。
【００６６】
以上のようにして、サイクリックテクスチャを生成すると、画像のモザイク模様あるいはボケを防止することができる。
【００６７】
次に、拡大テクスチャをより細密化する方法について、図１２を参照して説明する。
【００６８】
すなわち、この場合、図１２に示すように、VRAM７２のテクスチャ領域７２Ｂの領域７２Ｂ2にオリジナルテクスチャを記憶させるとともに、領域７２Ｂ1にMIP-MAPテクスチャを記憶させる。そして、上述した場合と同様にして、例えば床１０２の遠景のポリゴンＰ1は、対応する縮小率のテクスチャＴAを用いて表現する。また、中景のポリゴンＰ2は、オリジナルテクスチャＴBを用いて表現する。近景のポリゴンＰ3は、例えばオリジナルテクスチャＴCを拡大して表現する。以上の処理は、従来における場合と同様であるが、拡大テクスチャをより細密化するために、さらに、拡大テクスチャについては次のような修整処理を施す。
【００６９】
すなわち、テクスチャ領域７２Ｂの領域７２Ｂ3には、拡大用修整テクスチャが記憶される。拡大テクスチャには、その拡大率に応じて、その拡大用修整テクスチャがさらにブレンディングされる。例えば、ポリゴンＰ3には、対応する拡大率の拡大用修整テクスチャＴDがブレンディングされる。
【００７０】
拡大用修整テクスチャとしては、例えば図１３に示すように、符号付きカラーデータで、平均値が０となるように変化するテクスチャが記憶されている。その結果、例えばポリゴンＰ3のテクスチャは、この拡大用修整テクスチャで修整（モジュレーション）されるため、より変化に富んだテクスチャとなる。但し、その変化の平均は０となっているため、隣接するポリゴンとの調和が図られ、１つのポリゴンだけが他のポリゴンから浮き出て見えるようなことが防止されている。
【００７１】
このような効果を出すには、例えば図１４に示すように、拡大用修整テクスチャを、加算用のカラーデータと減算用のカラーデータとで構成し、加算用のカラーデータと減算用のカラーデータの和が０となるようにしておいてもよい。
【００７２】
あるいはまた、図１５に示すように、通常、０と１の間の値であるαブレンディングにおけるαの値を、１以上の値をも取り入れるものとし、このαの値で拡大用修整テクスチャを規定するようにしてもよい。この場合においても、デスティネーションカラーの平均値がブレンディング前と同一になるようにαの値が設定される。すなわち、デスティネーションカラーの値をＤｓＣｏｌｏｒとするとき、次式に示すような内挿処理が行われる。
ＤｓＣｏｌｏｒ×α＋ＳｃＣｏｌｏｒ×（１−α）
【００７３】
なお、ＳｃＣｏｌｏｒは、ソースカラーを表す。
【００７４】
以上の如く、請求項１に記載の画像処理装置および請求項６に記載の画像処理方法によれば、第２乃至第４の画素を、第１の画素に対応して設定し、第１乃至第４の画素から所定の距離だけ離れている所定の位置の他の画素を、第１乃至第４の画素と、その距離から演算するようにしたので、生成した画像を配列した場合においても、その境目が見えない大きな画像をさらに生成することが可能となる。
【００７５】
請求項７に記載のレンダリング装置および請求項１１に記載のレンダリング方法によれば、拡大テクスチャを修整する修整テクスチャを用いて、ビットマップデータを描画するようにしたので、拡大テクスチャが他のオブジェクトとの画像とともに表示されたような場合において、違和感のある画像となるのを防止することができる。
【図面の簡単な説明】
【００７６】
【図１】本発明の画像処理装置を応用したコンピュータゲーム装置の構成例を示すブロック図である。
【図２】図１の描画処理部１５の構成例を示すブロック図である。
【図３】図２の構成例の動作を説明するフローチャートである。
【図４】図３の処理を説明する図である。
【図５】フラクタル生成アルゴリズムを適用したプログラムの具体的例を示す図である。
【図６】フラクタル生成アルゴリズムを適用したプログラムの具体的例を示す図である。
【図７】テクスチャを複数個配列した状態を説明する図である。
【図８】テクスチャを複数個配列した状態を説明する図である。
【図９】テクスチャの合成を説明する図である。
【図１０】テクスチャの合成を説明する図である。
【図１１】テクスチャの合成を説明する図である。
【図１２】拡大用修整テクスチャを説明する図である。
【図１３】拡大用修整テクスチャを表現する例を示す図である。
【図１４】拡大用修整テクスチャを表現する例を示す図である。
【図１５】拡大用修整テクスチャを表現する例を示す図である。
【図１６】従来のテクスチャマッピングを説明する図である。
【符号の説明】
【００７７】
１１ メインCPU， １２ メインメモリ， １４ 前処理部， １５ 描画処理部， ７１ グラフィックプロセッサ， ７２ VRAM， ７３ CRTコントローラ， ７２Ａ乃至７２Ｄ 領域
【図１】
2006155672.tif 000003
【図２】
2006155672.tif 000004
【図３】
2006155672.tif 000005
【図４】
2006155672.tif 000006
【図５】
2006155672.tif 000007
【図６】
2006155672.tif 000008
【図７】
2006155672.tif 000009
【図８】
2006155672.tif 000010
【図９】
2006155672.tif 000011
【図１０】
2006155672.tif 000012
【図１１】
2006155672.tif 000013
【図１２】
2006155672.tif 000014
【図１３】
2006155672.tif 000015
【図１４】
2006155672.tif 000016
【図１５】
2006155672.tif 000017
【図１６】
2006155672.tif 000018
【手続補正書】
【提出日】平成18年3月23日(2006.3.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オリジナルのテクスチャを提供する第１の提供手段と、
前記オリジナルのテクスチャを拡大した拡大テクスチャを修正する修正テクスチャを提供する第２の提供手段と、
前記第１の提供手段の提供するオリジナルのテクスチャ、または前記第２の提供手段の提供する修正テクスチャを用いて、表示する画像のビットマップデータを描画する描画手段と
を備えることを特徴とするレンダリング装置。
【請求項２】
前記修正テクスチャは、平均値が０となる符合付きカラーデータを有する
ことを特徴とする請求項１に記載のレンダリング装置。
【請求項３】
前記修正テクスチャは、平均値が０となる加算用のカラーデータと減算用のカラーデータを有する
ことを特徴とする請求項１に記載のレンダリング装置。
【請求項４】
前記修正テクスチャは、ブレンディング後のデスティネーションカラーの平均値が、ブレンディング前と同一となるように、その値が０と、１より大きい所定の値との間の所定の値をとるαパターンを有する
ことを特徴とする請求項１に記載のレンダリング装置。
【請求項５】
オリジナルのテクスチャを提供する第１の提供ステップと、
前記オリジナルのテクスチャを拡大した拡大テクスチャを修正する修正テクスチャを提供する第２の提供ステップと、
前記第１の提供ステップの提供するオリジナルのテクスチャ、または前記第２の提供ステップの提供する修正テクスチャを用いて、表示する画像のビットマップデータを描画する描画ステップと
を備えることを特徴とするレンダリング方法。