(57)【特許請求の範囲】
【請求項１】
コンピュータグラフィックスのオブジェクトを構成するための三角形状のポリゴンのデータを取り込むステップと、
上記ポリゴンの大きさを所定の閾値と比較するステップと、
上記閾値を超えるポリゴンの最長辺を検出し、上記最長辺上の所定の点と当該最長辺に対向する頂点とを結ぶ線分により当該ポリゴンを分割するステップと、
上記閾値を超えないポリゴンをピクセル化するステップとを
コンピュータに実行させるための画像処理プログラムであって、
上記分割のステップでは、上記ポリゴンの各辺をそれぞれ斜辺とする三つの直角三角形を求め、それら三つの直角三角形のうち直角頂点を共有する二辺を加算した値が最大となる直角三角形を選択し、上記選択された直角三角形の斜辺を上記ポリゴンの最長辺として検出することを特徴とする画像処理プログラム。
【請求項２】
請求項１記載の画像処理プログラムであって、
上記分割のステップでは、上記ポリゴンの最長辺の中点を上記所定の点とすることを特徴とする画像処理プログラム。
【請求項３】
請求項１又は請求項２記載の画像処理プログラムであって、
上記ピクセル化のステップでは、ポリゴンのピクセル化を並列的に行うことを特徴とする画像処理プログラム。
【請求項４】
コンピュータグラフィックスのオブジェクトを構成するための三角形状のポリゴンのデータを取り込むステップと、
上記ポリゴンの大きさを所定の閾値と比較するステップと、
上記閾値を超えるポリゴンを分割するステップと、
上記閾値を超えないポリゴンをピクセル化するステップとを
コンピュータに実行させるための画像処理プログラムであって、
上記分割のステップでは、上記ポリゴンの各辺をそれぞれ斜辺とする三つの直角三角形を求め、それら三つの直角三角形のうち直角頂点を共有する二辺を加算した値が最大となる直角三角形を選択し、上記選択された直角三角形の斜辺を上記ポリゴンの最長辺として検出することを特徴とする画像処理プログラム。
【請求項５】
コンピュータグラフィックスのオブジェクトを構成するための三角形状のポリゴンのデータを取り込むポリゴン取り込み部と、
上記ポリゴンの大きさを所定の閾値と比較する比較部と、
上記閾値を超えるポリゴンの最長辺を検出し、上記最長辺の中点と当該最長辺に対向する頂点とを結ぶ線分により当該ポリゴンを分割する分割部と、
上記閾値を超えないポリゴンをピクセル化するピクセル化部とを備える画像処理装置であって、
上記分割部では、上記ポリゴンの各辺をそれぞれ斜辺とする三つの直角三角形を求め、それら三つの直角三角形のうち直角頂点を共有する二辺を加算した値が最大となる直角三角形を選択し、上記選択された直角三角形の斜辺を上記ポリゴンの最長辺として検出することを特徴とする画像処理装置。
【請求項６】
コンピュータグラフィックスのオブジェクトを構成するための三角形状のポリゴンのデータを取り込むステップと、
上記ポリゴンの大きさを所定の閾値と比較するステップと、
上記閾値を超えるポリゴンを分割するステップと、
上記閾値を超えないポリゴンをピクセル化するステップとを
コンピュータに実行させるための画像処理プログラムを記録した記録媒体であって、
上記分割のステップでは、上記ポリゴンの各辺をそれぞれ斜辺とする三つの直角三角形を求め、それら三つの直角三角形のうち直角頂点を共有する二辺を加算した値が最大となる直角三角形を選択し、上記選択された直角三角形の斜辺を上記ポリゴンの最長辺として検出することを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項７】
コンピュータグラフィックスのオブジェクトを構成するための三角形状のポリゴンのデータを取り込むステップと、
上記ポリゴンの大きさを所定の閾値と比較するステップと、
上記閾値を超えるポリゴンの最長辺を検出し、上記最長辺上の所定の点と当該最長辺に対向する頂点とを結ぶ線分により当該ポリゴンを分割するステップと
上記閾値を超えないポリゴンをピクセル化するステップとを
コンピュータに実行させるための画像処理プログラムを記録した記録媒体であって、
上記分割のステップでは、上記ポリゴンの各辺をそれぞれ斜辺とする三つの直角三角形を求め、それら三つの直角三角形のうち直角頂点を共有する二辺を加算した値が最大となる直角三角形を選択し、上記選択された直角三角形の斜辺を上記ポリゴンの最長辺として検出することを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項８】
コンピュータグラフィックスのオブジェクトを構成するための三角形状のポリゴンのデータを取り込み、
上記ポリゴンの大きさを所定の閾値と比較し、
上記閾値を超えるポリゴンを分割し、
上記閾値を超えないポリゴンをピクセル化する画像処理方法であって、
上記ポリゴンの分割では、上記ポリゴンの各辺をそれぞれ斜辺とする三つの直角三角形を求め、それら三つの直角三角形のうち直角頂点を共有する二辺を加算した値が最大となる直角三角形を選択し、上記選択された直角三角形の斜辺を上記ポリゴンの最長辺として検出することを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元画像情報からテレビジョンモニタ装置などの２次元スクリーン上へ描画する２次元画像情報を生成する画像処理プログラム、画像処理プログラムを記録した記録媒体、画像処理装置及び方法に関する。
【０００２】
【従来の技術】
近年のテレビゲーム機やパーソナルコンピュータは、プロセッサやメモリ等の高集積化、高速化等が進んでおり、その結果として、３次元画像情報から精細且つリアリティ性の高い２次元画像をリアルタイムに生成して２次元スクリーン上に描画することが可能となっている。
【０００３】
また、現在の画像処理システムは、殆どのものがポリゴン単位での描画処理を基本にして２次元画像を生成している。現在の画像処理システムが、２次元画像の生成にポリゴン描画処理を用いるのは、ポリゴンのデータが多角形の頂点単位で表されるデータであり容易にコントロールできること、ポリゴンデータからピクセルデータへの変換は描画面に対する頂点の線形補間処理により実現でき、メモリアクセスや演算にローカリティがあるため高速な処理が可能であること、線形補間処理の際に例えばＤＤＡ（Digital  Differential  Analyzer）を用いることでその演算の殆どを加算で済ますことができ、現在実装可能な回路規模でも充分効果的なリアルタイム描画を実現できること、などの理由による。
【０００４】
２次元画像を生成する処理は、データ形式の変遷の観点から見た場合、以下のようになる。
【０００５】
先ず、ワールド座標系のポリゴンデータは、座標変換処理，クリッピング（Clipping）処理，ライティング（Lighting）処理等のジオメトリ（Geometry）演算処理が施される。そのジオメトリ演算処理後のポリゴンデータは、投影変換処理により、スクリーン座標系のポリゴンデータに変換される。そのスクリーン座標系のポリゴンデータは、レンダリング処理により、スクリーン上のピクセルデータに変換（ピクセル化）される。その後、ピクセルデータは、２次元スクリーン上に表示するためのスクリーンデータに変換される。このスクリーンデータは、テレビジョンモニタ装置に送られ、２次元スクリーン上に２次元画像として表示される。
【０００６】
【発明が解決しようとする課題】
ところで、ポリゴンデータは頂点単位のデータである。一方、ピクセルデータはピクセル単位のデータである。つまりこれら双方の処理単位は互いに異なっている。このため、ポリゴンデータからピクセルデータへ変換する時に、データ処理が滞り、演算回路が効率良く動作できなくなることが多々ある。具体的に説明すると、レンダリング処理は、ポリゴンの面積に直接影響を受ける処理である。このため、大面積ポリゴンのピクセル化の処理時間は長くなり、小面積ポリゴンのピクセル化の処理時間は短くなる。これに対して、ジオメトリ演算処理や投影変換処理は、ポリゴンの面積によらない頂点単位の演算処理である。このため、ジオメトリ演算処理や投影変換処理は、大面積ポリゴンと小面積ポリゴンの何れであっても略々同じ所要時間で実行できる。これらのことから、例えば大面積ポリゴンの次に小面積ポリゴンを描画するような場合、小面積ポリゴンに対するジオメトリ演算処理や投影変換処理は、レンダリング処理での大面積ポリゴンのピクセル化の処理が終了するまで休止状態になされてしまう。
【０００７】
また、レンダリング処理を行う従来の演算回路は、１ポリゴンについて１処理サイクル当たり複数ピクセルを生成するものが主流になっている。そして、そのピクセル数は、ハードウェアに依存し、固定数となされている。その一方で、小面積ポリゴンは、レンダリング処理を行ってもハードウェアに依存した固定のピクセル数を満たさないものであることが少なくない。したがって、固定ピクセル数を満たさない小面積ポリゴンが増加した場合、演算回路の処理効率が低下し、その結果、ピクセルフィルレートも減少してしまう。
【０００８】
以上のことから、画像処理システムは、ジオメトリ演算やセットアップ処理とレンダリング処理（ピクセル化処理）のための回路構成，性能比率（性能差）などにより、描画面に対して最も効率の良い処理を行えるポリゴンの大きさが、略々一意に決まっていると言える。特に、従来の画像処理システムは、比較的大面積のポリゴンを効率良く描画できるように設定されている。すなわちこのことを言い換えると、従来の画像処理システムは、効率の良い処理を行える大きさ以外のポリゴンについては効率的な処理ができていないことを意味している。
【０００９】
一方で、今後、描画モデルは複雑化し、またレンダリングも多様化していくと考えられる。このように、描画モデルの複雑化やレンダリングの多様化が進むと、ポリゴンの面積は必然的に小さくなり、また小面積ポリゴンの数が著しく増加し、さらにそれらポリゴンの頂点に掛かるパラメータも増加すると予測される。またそれに伴い、画像処理システムは、ピクセルフィルレートを大幅に上げなければならなくなると予想される。
【００１０】
上述のように、多数の小面積ポリゴンを効率良く処理するためには、画像処理システムは、ピクセル化処理を高速化し、ポリゴンのスループットを上げなければならなくなる。また、ピクセルフィルレートを上げるためには、画像処理システムは、より広い面積のポリゴンを同時に描画しなければならなくなる。しかしながら、従来の画像処理システムは、これらの双方の要求を同時に満足させること、つまり多数の小面積ポリゴンを高速に処理すると共にピクセルフィルレートも上げるようなことは困難である。なお、それら双方の要求を満足させようとした場合、従来の画像処理システムは、高価かつ巨大なＤＤＡを多数備えたものでなければならなくなり、コスト及び回路規模の観点から非現実的である。
【００１１】
本発明は、このような課題に鑑みてなされたものであり、回路構成の大型化やコストの大幅な上昇を伴うことなく、多数の小面積ポリゴンを効率良く処理でき、また、ポリゴンの大きさに処理が影響されることもなく、さらにピクセルフィルレートを上げることも可能とする画像処理プログラム、画像処理プログラムを記録した記録媒体、画像処理装置及び方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明は、ポリゴンの大きさを所定の閾値と比較し、上記閾値を超える三角形状のポリゴンの最長辺を検出し、その最長辺上の所定の点と当該最長辺に対向する頂点とを結ぶ線分により当該ポリゴンを分割し、上記閾値を超えないポリゴンをピクセル化する。特に、上記所定の点は、ポリゴンの最長辺の中点とする。
【００１３】
すなわち、本発明は、上記閾値を超えるポリゴンについては、上記最長辺の中点とその最長辺に対向する頂点とを結ぶ線分で分割する。そして、その分割は、ポリゴンの大きさが上記閾値の範囲内に収束するまで再帰的に行われる。ここで、上記閾値は、例えばピクセル化のための演算レンジに相当する。言い換えると、本発明は、ピクセル化のための演算レンジをある程度小さく限定することで、ピクセル化の処理を行うための構成を、小型化可能として並列度を高め易くする。同時に、本発明は、上記再帰的な分割を行うことで、上記閾値を超えるポリゴンを、上記演算レンジが小さく限定されたピクセル化処理に最適な大きさのポリゴンに収束させる。このように、本発明は、上記閾値を超えるポリゴンを再帰的に分割することで、どのような大きさのポリゴンであっても、ピクセル化処理の演算レンジに最適な大きさへ収束させることができ、さらに、ピクセル化処理を並列化することで、ポリゴンのスループットを上げ、ピクセルフィルレートも大幅に向上させている。
【００１５】
【発明の実施の形態】
図１を用いて、本発明にかかるポリゴンのピクセル化処理の概要を説明する。
【００１６】
３次元画像情報から２次元画像を生成する場合において、大面積ポリゴンＰｌはその数が少ない。一方、小面積ポリゴンＰｓはその数が多い。また描画モデルがより精巧になれば、小面積ポリゴンＰｓはその数が増加すると考えられる。したがって、小面積ポリゴンＰｓに合わせてピクセル化処理の演算レンジ（ピクセル化の処理ビット長）をある程度小さくし、さらに処理を並列化すれば、処理パフォーマンスを高めることができると考えられる。ただし、ピクセル化処理の演算レンジを小面積ポリゴンＰｓに合わせてしまうと、上記演算レンジを超える大面積ポリゴンＰｌの処理はできなくなる。
【００１７】
そこで、本実施の形態の画像処理装置は、ピクセル化処理の演算レンジをある程度小さく限定しておき、演算レンジの範囲内のポリゴン（小面積ポリゴンＰｓ）については、そのままピクセル化処理する。一方、演算レンジを超えるポリゴン（大面積ポリゴンＰｌ）の場合、本実施の形態の画像処理装置は、その大面積ポリゴンＰｌを、演算レンジに収まる大きさまで分割（ポリゴン分割処理Ｄ）する。そして、画像処理装置は、上記小面積ポリゴンＰｓと、ポリゴン分割処理Ｄにより得られた各小面積ポリゴンＰｄに対して、ピクセル化処理を実行する。これにより、ピクセル化処理は、どのような大きさのポリゴンに対しても行え、無駄の少ない効率的な処理となる。また、ピクセル化処理は、演算レンジが小さく限定されているため、簡略化した小型の構成で実現でき、並列化も容易となる。
【００１８】
また、本実施の形態では、後述するように、ポリゴンの最も長い稜線の中点とそれに対向する頂点とを結ぶ線分により当該ポリゴンを分割するようにしており、さらにその分割を再帰的に行うことで、ポリゴンの３辺の長さが均等に近づくようにして、ポリゴン全体をピクセル化処理の演算レンジに最適な大きさにしている。
【００１９】
すなわち、本実施の形態の画像処理装置は、ピクセル化処理の演算レンジを小さく限定することで、ピクセル化処理の負荷を軽減すると共に、並列処理の多重度を上げている。また、本実施の形態の画像処理装置は、大面積ポリゴンＰｌをピクセル化処理の演算レンジに最適な大きさの小面積ポリゴンＰｄへ分割し、並列化したピクセル化処理ＰＸを行うことで、無駄の少ない効率的なピクセル化処理を実現し、ピクセルフィルレートを高めている。
【００２０】
［構成例］
図２は、ピクセル化処理を実行するための具体的構成例を示す。ピクセル化処理は、例えばディジタルシグナルプロセッサ（ＤＳＰ）若しくはグラフィックプロセッサ（ＧＰ）等のハードウェア構成により実現できる。また、ピクセル化処理は、ソフトウェア（コンピュータが実行可能なアプリケーションプログラム）により実現することも可能である。図２は、ピクセル化処理を実現するＤＳＰやＧＰの内部処理ユニットを示している。なお、ソフトウェアによりピクセル化処理を実現する場合、アプリケーションプログラムは、図２の各構成要素に相当するプログラムステップを含むものとなる。そして、パーソナルコンピュータ等の情報処理装置のＣＰＵは、そのアプリケーションプログラムに基づいて動作する。
【００２１】
図２において、情報格納部３２は、ポリゴンなどの図形情報（頂点座標値，ＲＧＢの頂点カラー値，マップ座標値，ベクトル値などの頂点情報や頂点連結情報）を格納する。なお、図形情報は、例えばＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ、半導体メモリ等の各種記録媒体や、有線或いは無線による通信媒体，伝送媒体等を介して取り込まれたものである。
【００２２】
ジオメトリ演算部３１は、情報格納部３２に格納された図形情報を読み出し、その図形情報に対して、いわゆるアフィン変換、スクリーン座標への投影変換、頂点に対する光源処理などを行う。投影変換後の図形情報（ポリゴンデータ）は、レンダリング部３３へ送られる。
【００２３】
レンダリング部３３は、ポリゴンをスクリーン上に描画するための演算処理を行う部分であり、ジオメトリ演算部３１から送られてきたポリゴンデータをピクセル化する。レンダリング部３３は、大別して、ポリゴンセットアップ部４１と、ピクセル演算部４２と、フレームバッファリング部４６とからなる。
【００２４】
ポリゴンセットアップ部４１は、ジオメトリ演算部３１から送られてくるポリゴンデータの取り込みとそのバッファリングを行う。そして、ポリゴンセットアップ部４１は、ストリップ（strip)状やファン(fan)状などのポリゴンメッシュ構造を独立ポリゴンに変換し、ピクセル演算部４２に送出する。また、ポリゴンセットアップ部４１は、エリア選択（area  culling）やバック選択（back  culling）などを行って不要なポリゴンを廃棄することも行う。不要なポリゴンの廃棄は、後段のピクセル演算部４２で行われる処理の効率を上げるために行われる。
【００２５】
ピクセル演算部４２は、前述の図１で説明した演算レンジに応じて大面積ポリゴンを分割する処理とピクセル化の並列処理とを行う。当該ピクセル演算部４２は、エリアサイズ比較部４３、ポリゴン分割部４４、ピクセル化部４５を備えている。
【００２６】
ピクセル演算部４２は、先ず、ポリゴンセットアップ部４１から送られてきたポリゴンデータを、エリアサイズ比較部４３に投入する。エリアサイズ比較部４３は、ポリゴンの大きさが演算レンジの範囲内に入るか否か判定する。そして、エリアサイズ比較部４３は、演算レンジの範囲内に入るポリゴンのデータをピクセル化部４５へ送り、一方、演算レンジの範囲を超えるポリゴンのデータをポリゴン分割部４４へ送る。なお、エリアサイズ比較部４３の具体的な構成及び動作は後述する。
【００２７】
ポリゴン分割部４４は、演算レンジの範囲を超えるポリゴンを例えば２分割して二片のポリゴンを再構築する。この分割後の二片のポリゴンデータはエリアサイズ比較部４３へ送られ、大きさが再判定される。その再判定において演算レンジの範囲を超えていると判定された場合、ポリゴン分割部４４は、そのポリゴンをさらに２分割する。すなわち、ピクセル演算部４２は、演算レンジの範囲を超えるポリゴンを再帰的に分割することにより、前記大面積ポリゴンＰｌを演算レンジの範囲内に入る小面積ポリゴンＰｄに変換する。なお、ポリゴン分割部４４の具体的な構成及び動作については後述する。
【００２８】
分割により演算レンジの範囲内に収束したポリゴンのデータ、若しくは、当初より演算レンジの範囲内に収まっていたポリゴンのデータは、エリアサイズ比較部４３からピクセル化部４５へ送られる。
【００２９】
ピクセル化部４５は、ポリゴンデータをラスタデータすなわちピクセルデータ（各ピクセルのカラー値）へ変換し、フレームバッファリング部４６へ送る。なお、ピクセル化部４５は、ポリゴンデータの頂点カラー値の補間やマップ座標値の取得などにより、各ピクセルのカラー値を生成する。当該ピクセル化部４５は、ｘ軸方向とｙ軸方向の演算レンジが同等となされると共に、その演算レンジが小さく限定された処理部を複数並列化して構成されている。すなわち、ピクセル化部４５は、ｘ軸方向とｙ軸方向の演算レンジに差を設けず、かつその演算レンジを小さく限定することで各構成を簡易にし、また並列処理の多重度を上げることで、効率的な処理を行えるものとなされている。
【００３０】
フレームバッファリング部４６は、テレビジョンモニタ装置等のディスプレイ（スクリーン）３５に対応したメモリ空間上に、各ピクセルのカラー値を書き込む。そして、メモリ空間上に形成されたフレーム単位のスクリーンデータは、ディスプレイコントロール部３４からの要求に応じて読み出される。
【００３１】
ディスプレイコントロール部３４は、テレビジョンモニタ装置の水平同期信号、垂直同期信号などを生成すると共に、そのモニタ装置の表示タイミングに応じて、フレームバッファリング部４６からピクセルのカラー値をライン状に順次取り出す。当該取り出されたカラー値は、テレビジョンモニタ装置等のディスプレイ３５上に２次元画像として表示される。
【００３２】
［エリアサイズ比較部の詳細な動作及び構成］
次に、図３及び図４を用いて、エリアサイズ比較部４３の動作及び構成を説明する。以下の説明は、ポリゴンが演算レンジの範囲内に入るか否かの判定と、その判定結果に応じた転送先の変更（選択）の処理にかかる情報の流れを主に述べている。
【００３３】
図３において、ポリゴンセットアップ部４１からのポリゴンデータは、エリアサイズ比較部４３の入力部５１へ投入される。また、ポリゴン分割部４４からのポリゴンデータは、入力部５２へ投入される。
【００３４】
ここで、ポリゴンは、各頂点座標値が図４に示すＶａ（Ｖax，Ｖay），Ｖｂ（Ｖbx，Ｖby），Ｖｃ（Ｖcx，Ｖcy）で表される三角形ポリゴンＰ０であるとする。頂点座標部５３は、三角形ポリゴンＰ０の各頂点座標値のうちのｘ座標値Ｖax，Ｖbx，Ｖcxを取り出す。一方、頂点座標部５４は、三角形ポリゴンＰ０の各頂点座標値のうちのｙ座標値Ｖay，Ｖby，Ｖcyを取り出す。ｘ座標値Ｖax，Ｖbx，Ｖcx、及びｙ座標値Ｖay，Ｖby，Ｖcyは、投入されたポリゴンデータと共に、それぞれ対応する最大・最小選択部５５，５６へ送られる。
【００３５】
最大・最小選択部５５は、式（１），（２）により、ｘ座標値Ｖax，Ｖbx，Ｖcxのうちの最大ｘ座標値Ｖxmaxと最小ｘ座標値Ｖxminを求める。
【００３６】
Ｖxmax＝max（Ｖax，Ｖbx，Ｖcx）        (1)
Ｖxmin＝min（Ｖax，Ｖbx，Ｖcx）        (2)
また、最大・最小選択部５６は、式（３），（４）により、ｙ座標値Ｖay，Ｖby，Ｖcyのうちの最大ｙ座標値Ｖymaxと最小ｙ座標値Ｖyminを求める。
【００３７】
Ｖymax＝max（Ｖay，Ｖby，Ｖcy）        (3)
Ｖymin＝min（Ｖay，Ｖby，Ｖcy）        (4)
図４の例の場合、最大ｘ座標値ＶxmaxはＶcxとなり、最小ｘ座標値ＶxminはＶax、最大ｙ座標値ＶymaxはＶay、最小ｙ座標値ＶyminはＶbxとなる。なお、最大・最小選択部５５，５６で求めた最大及び最小の座標値は、スクリーン座標に対する三角形ポリゴンＰ０のオフセット座標成分に相当する。
【００３８】
これら最大ｘ座標値Ｖxmax、最小ｘ座標値Ｖxmin、最大ｙ座標値Ｖymax、最小ｙ座標値Ｖyminは、ポリゴンデータと共に、それぞれ対応する差分演算部５７，５８へ送られる。
【００３９】
差分演算部５７は、式（５）により、最大ｘ座標値Ｖxmaxと最小ｘ座標値Ｖxminの差分を求める。すなわち、差分演算部５７は、三角形ポリゴンＰ０の各頂点を含む四角形（図中点線で示すバウンダリボックスＢＢ）のｘ軸方向の辺の長さＷｘを求める。なお、バウンダリボックスＢＢの縦辺はスクリーンのｘ軸に対して平行な辺であり、横辺はスクリーンのｙ軸に対して平行な辺である。
【００４０】
Ｗｘ＝Ｖxmax−Ｖxmin                  (5)
また、差分演算部５８は、式（６）により、最大ｙ座標値Ｖymaxと最小ｙ座標値Ｖyminの差分を求める。すなわち差分演算部５８は、バウンダリボックスＢＢのｙ軸方向の辺の長さＷｙを求める。
【００４１】
Ｗｙ＝Ｖymax−Ｖymin                  (6)
なお、この図３の構成は、最大・最小選択部５５，５６により最大及び最小の座標値を求め、さらに差分演算部５７，５８により差分を求めて、投入ポリゴンのデータをオフセットと差分で表すことにより、後のピクセル化に使用されるデータビット長を最小化している。これにより、後段のピクセル化部４５は、演算処理が軽減され、回路も簡素化可能となる。
【００４２】
差分演算部５７，５８の演算により得られた各長さＷｘ，Ｗｙは、差分比較部５９へ送られる。一方、差分演算部５７，５８を介したポリゴンデータは、出力選択部６０へ送られる。
【００４３】
差分比較部５９は、式（７）により、それら各辺の長さＷｘ，Ｗｙを、ピクセル化部４５の演算レンジに相当する所定の閾値RANGEと比較し、その比較結果を出力選択部６０へ送る。差分比較部５９は、長さＷｘとＷｙの何れか一方が閾値RANGEより大きい時、その旨を示す信号を出力選択部６０へ送る。一方、差分比較部５９は、長さＷｘとＷｙが両方ともに閾値RANGEより小さいことを示している時、その旨を示す信号を出力選択部６０へ送る。
【００４４】
出力選択部６０は、式（７）により、差分比較部５９での比較結果に応じて、ポリゴンデータを出力部６１からポリゴン分割部４４へ送るか、又は、出力部６２を介してピクセル化部４５へ送るかの出力選択を行う。出力選択部６０は、長さＷｘとＷｙの何れか一方でも閾値RANGEより大きい時、ポリゴンデータをポリゴン分割部４４へ送る。一方、出力選択部６０は、長さＷｘとＷｙが両方ともに閾値RANGEより小さいことを示している時、ポリゴンデータをピクセル化部４５へ送る。
【００４５】
if((Ｗｘ＞RANGE)||(Ｗｙ＞RANGE))
ポリゴン分割部();
else
ピクセル化部();                (7)
なお、エリアサイズ比較部４３の回路構成は、大小比較器や差分演算器、スイッチなどの非常に簡易な構成により実現できる。したがって、エリアサイズ比較部４３の回路構成は、コストを上昇させたり構成を大型化させることなく、容易に並列化できる。また、並列化されたエリアサイズ比較部４３は、ポリゴンセットアップ部４１からのポリゴンデータと、ポリゴン分割部４４からの分割ポリゴンデータを、競合すること無く処理することができる。したがって、並列化されたエリアサイズ比較部４３は、特に、新たな投入ポリゴンデータの処理を待たせてしまう事態を回避することが可能となる。
【００４６】
［ポリゴン分割部の詳細な動作及び構成］
図５〜図８を用いて、図２のポリゴン分割部４４の動作及び構成を説明する。
【００４７】
図５において、ポリゴン分割部４４の入力部７１には、エリアサイズ比較部４３から送られてきたポリゴンデータが入力される。上記入力されたポリゴンデータは、頂点座標部７２〜７７と出力選択部９０，ポリゴン再構築部９３へ送られる。
【００４８】
レジスタ等からなる頂点座標部７２は、例えば図６に示す三角形ポリゴンＰ０の各頂点座標値Ｖａ（Ｖax，Ｖay），Ｖｂ（Ｖbx，Ｖby），Ｖｃ（Ｖcx，Ｖcy）のうち、頂点座標値Ｖａ（Ｖax，Ｖay）のｘ座標値Ｖaxを取り出す。頂点座標部７３は、頂点座標値Ｖａ（Ｖax，Ｖay）のｙ座標値Ｖayを取り出す。頂点座標部７４は、頂点座標値Ｖｂ（Ｖbx，Ｖby）のｘ座標値Ｖbxを取り出す。頂点座標部７５は、頂点座標値Ｖｂ（Ｖbx，Ｖby）のｙ座標値Ｖbyを取り出す。頂点座標部７６は、頂点座標値Ｖｃ（Ｖcx，Ｖcy）のｘ座標値Ｖcxを取り出す。頂点座標部７７は、頂点座標値Ｖｃ（Ｖcx，Ｖcy）のｙ座標値Ｖcyを取り出す。頂点座標部７２により取り出されたｘ座標値Ｖaxは、最小値選択部７８及び８０へ送られる。頂点座標部７３により取り出されたｙ座標値Ｖayは、最小値選択部７８及び８０へ送られる。頂点座標部７４により取り出されたｘ座標値は、最小値選択部７８及び７９へ送られる。頂点座標部７５により取り出されたｙ座標値Ｖbyは、最小値選択部７８及び７９へ送られる。頂点座標部７６により取り出されたｘ座標値Ｖcxは、最小値選択部７９及び８０へ送られる。頂点座標部７７により取り出されたｙ座標値Ｖcyは、最小値選択部７９及び８０へ送られる。
【００４９】
最小値選択部７８は、頂点座標部７２と７４から供給されたｘ座標値ＶaxとＶbxの何れか小さい方を選択する。また、最小値選択部７８は、頂点座標部７３と７５から供給されたｙ座標値ＶayとＶbyの何れか小さい方を選択する。最小値選択部７９は、頂点座標部７４と７６から供給されたｘ座標値ＶbxとＶcxの何れか小さい方を選択する。また、最小値選択部７９は、頂点座標部７５と７７から供給されたｙ座標値ＶbyとＶcyの何れか小さい方を選択する。最小値選択部８０は、頂点座標部７２と７６から供給されたｘ座標値ＶaxとＶcxの何れか小さい方を選択する。また、最小値選択部８０は、頂点座標部７３と７７から供給されたｙ座標値ＶayとＶcyの何れか小さい方を選択する。なお、図６の例の場合、最小値選択部７８はｘ座標値Ｖaxとｙ座標値Ｖbyを選択する。最小値選択部７９はｘ座標値Ｖbxとｙ座標値Ｖbyを選択する。最小値選択部８０はｘ座標値Ｖaxとｙ座標値Ｖcyを選択する。
【００５０】
最小値選択部７８は、前段の頂点座標部７２，７３，７４，７５から供給された各ｘ，ｙ座標値をそのまま出力選択部８７，９０及び幅演算部８１へ送る。また、最小値選択部７８は、何れの座標値を選択したのかを示す情報を、幅演算部８１に送る。最小値選択部７９は、前段の頂点座標部７４，７５，７６，７７から供給された各ｘ，ｙ座標値をそのまま出力選択部８７，９０及び幅演算部８２へ送る。また、最小値選択部７９は、何れの座標値を選択したのかを示す情報を、幅演算部８２に送る。最小値選択部８０は、前段の頂点座標部７２，７３，７６，７７から供給された各ｘ，ｙ座標値をそのまま出力選択部８７，９０及び幅演算部８３へ送る。また、最小値選択部８０は、何れの座標値を選択したのかを示す情報を、幅演算部８３に送る。
【００５１】
幅演算部８１は、最小値選択部７８が選択したｘ座標値Ｖaxをｘ座標値Ｖbxから減算することにより図６中の幅Ｘｂを求める。また、幅演算部８１は、最小値選択部７８が選択したｙ座標値Ｖbyをｙ座標値Ｖayから減算することにより図６中の幅Ｙｂを求める。幅演算部８２は、最小値選択部７９が選択したｘ座標値Ｖbxをｘ座標値Ｖcxから減算することにより図６中の幅Ｘｃを求める。また、幅演算部８２は、最小値選択部７９が選択したｙ座標値Ｖbyをｙ座標値Ｖcyから減算することにより図６中の幅Ｙｃを求める。幅演算部８３は、最小値選択部８０が選択したｘ座標値Ｖaxをｘ座標値Ｖcxから減算することにより図６中の幅Ｘａを求める。また、幅演算部８３は、最小値選択部８０が選択したｙ座標値Ｖcyをｙ座標値Ｖayから減算することにより図６中の幅Ｙａを求める。つまり、最小値選択部７８〜８０は、それぞれ併設された幅演算部８１〜８３でマイナスの値が得られないようするために、上述した小さい方の座標値を求めている。幅演算部８１は、各幅ＸｂとＹｂを、稜線演算部８４へ送る。幅演算部８２は、各幅ＸｃとＹｃを、稜線演算部８５へ送る。幅演算部８３は、各幅ＸａとＹａを、稜線演算部８６へ送る。
【００５２】
これら稜線演算部８４〜８６では、三角形ポリゴンＰ０の各稜線（各辺）を、簡易的に幅ＸｂとＹｂ、ＸｃとＹｃ、ＸａとＹａの合計の値として求める。すなわち、稜線演算部８４では、幅演算部８１から得られた幅Ｘｂ，Ｙｂを用い、下記式（８）に示すようにして図６の三角形ポリゴンＰ０の稜線Ｅｂを求める。
【００５３】
Ｅｂ＝Ｘｂ＋Ｙｂ                        (8)
また、稜線演算部８５では、幅演算部８２から得られた幅Ｘｃ，Ｙｃを用い、下記式（９）に示すようにして図６の稜線Ｅｃを求める。
【００５４】
Ｅｃ＝Ｘｃ＋Ｙｃ                        (9)
同様に、稜線演算部８６では、幅演算部８３から得られた幅Ｘａ，Ｙａを用い、下記式（１０）に示すようにして図６の稜線Ｅａを求める。
【００５５】
Ｅａ＝Ｘａ＋Ｙａ                        (10)
これら各稜線演算部８４〜８６により得られた各稜線Ｅｂ，Ｅｃ，Ｅａは最長稜線選択部８９へ送られる。
【００５６】
最長稜線選択部８９は、各稜線演算部８４〜８６より得られた各稜線Ｅｂ，Ｅｃ，Ｅａのうち最長の稜線を選択し、出力選択部８７，９０で行われる出力選択の制御信号を生成する。なお、図６の例の場合、当該最長稜線選択部８９は、稜線Ｅｂを選択する。
【００５７】
出力選択部８７は、最長稜線選択部８９からの制御信号に基づいて、最小値選択部７８〜８０より供給された各ｘ，ｙ座標値のうち、最長の稜線Ｅｂを構成する各頂点座標値Ｖａ（Ｖax，Ｖay），Ｖｂ（Ｖbx，Ｖby）を選択して出力する。出力選択部８７から出力された頂点座標値Ｖａ（Ｖax，Ｖay），Ｖｂ（Ｖbx，Ｖby）は、座標演算部８８に送られる。
【００５８】
座標演算部８８は、図７に示すように、出力選択部８７から得られた頂点座標値Ｖａ（Ｖax，Ｖay）とＶｂ（Ｖbx，Ｖby）の中点座標値であるＶｄ（Ｖdx，Ｖdy）を求め、当該中点座標値Ｖｄ（Ｖdx，Ｖdy）を頂点情報演算部９１へ送る。なお、当該座標値演算部８８は、複数ビット値で表される座標値を１ビット右シフトすることにより、中点座標値を求める。
【００５９】
また、出力選択部９０は、最小値選択部７８〜８０より供給された各ｘ，ｙ座標値と、最長稜線選択部８９からの制御信号とに基づいて、入力部７１から送られてきたポリゴンデータから、頂点座標値Ｖａ（Ｖax，Ｖay），Ｖｂ（Ｖbx，Ｖby）に対応するパラメータを選択出力する。当該選択された頂点座標値Ｖａ（Ｖax，Ｖay），Ｖｂ（Ｖbx，Ｖby）に対応するパラメータは、頂点情報演算部９１へ送られる。
【００６０】
頂点情報演算部９１は、図７に示すように、出力選択部９０から得られた頂点座標値Ｖａ（Ｖax，Ｖay）及びＶｂ（Ｖbx，Ｖby）に対応する中点パラメータを求め、当該中点パラメータをパースペクティブ補正部９２へ送る。
【００６１】
パースペクティブ補正部９２は、中点パラメータの値を、ｚ値を使用して補正し、その補正後のパラメータをポリゴン再構築部９３へ送る。
【００６２】
ポリゴン再構築部９３は、入力部７１から供給されたポリゴンデータと、パースペクティブ補正部９２から供給された補正後のパラメータとを使用して、図８に示す２分割されたポリゴンＰ１，Ｐ２を構成する。すなわち、この図８に示すポリゴンＰ１，Ｐ２は、図６に示したポリゴンＰ０を、その最長稜線Ｅｂの中点座標値Ｖｄ（Ｖdx，Ｖdy）と頂点座標値Ｖｃ（Ｖcx，Ｖcy）との間で分割したポリゴンである。これらポリゴンＰ１，Ｐ２は、出力部９４を介して、再びエリアサイズ比較部４３へ送られる。
【００６３】
なお、エリアサイズ比較部４３において、ポリゴンＰ１，Ｐ２が演算レンジを超える大きさのポリゴンであると判定された場合、これらポリゴンＰ１，Ｐ２は、再度ポリゴン分割部４４の入力部７１へ入力される。この場合、ポリゴンＰ１は、各頂点座標値がＶa1（Ｖax1，Ｖay1），Ｖb1（Ｖbx1，Ｖby1），Ｖc1（Ｖcx1，Ｖcy1）となされ、また各稜線がＥa1，Ｅb1，Ｅc1となされて上述の処理がなされる。ポリゴンＰ２は、各頂点座標値がＶa2（Ｖax2，Ｖay2），Ｖb2（Ｖbx2，Ｖby2），Ｖc2（Ｖcx2，Ｖcy2）となされ、また各稜線がＥa2，Ｅb2，Ｅc2となされて上述の処理がなされる。
【００６４】
このように、ピクセル演算部４２は、ポリゴンの分割を再帰的に行うことで、最終的に、演算レンジの範囲内に入るポリゴンを得る。
【００６５】
上述したように、ポリゴン分割部４４は、三角形ポリゴンの３つの稜線（図６の稜線Ｅｂ，Ｅｃ，Ｅａ）のうちで最も長い稜線を選出し、その最長稜線の中点とそれに対向する頂点とを結んで新たな稜線とし、その稜線を共有する２つのポリゴンを生成することで、ポリゴン分割を実現している。また、ピクセル演算部４２は、ピクセル化部４５の演算レンジを超える大きさのポリゴンを再帰的に分割する。これにより、演算レンジを超える三角形ポリゴンは、その大きさが順次小さくなると共に３辺の長さが均等に近づくようになり、ピクセル化部４５の演算レンジに対して最適で且つ最も処理効率の良い大きさに収束することになる。つまり、再帰的分割により得られるポリゴンは、前記ピクセル化部４５の演算レンジを略々有効に使用できるものとなる。なお、本実施の形態では、三角形ポリゴン全体がなるべく小さくなるように分割（３辺が均等に近づくように分割）しているため、上記演算レンジを超える大きさのポリゴンをピクセル化部４５の演算レンジ（処理ビット長）の範囲内に収束させるまでの再帰回数（大面積ポリゴンの分割回数）は、最も多く見積もっても、（元ポリゴン頂点のビット長−ピクセル化部の処理ビット長）×２回の分割で良い。また、ポリゴンの２分割を行うための構成は、固定小数点演算、不動小数点演算の何れの演算器であっても良く、非常に単純に実現できる。元の投入ポリゴンの大きさが大きいほど分割回数は増加することになるが、面積が大きいポリゴンは元々その数が少ないため、全体としての処理時間が影響を受けることは無い。
【００６６】
以上説明したように、図２の構成は、ピクセル化部４５の演算レンジ（処理ビット長）を限定し、その演算レンジの範囲内のポリゴンについてはそのままピクセル化部４５で処理する。一方、その演算レンジを超えるポリゴンは、ポリゴン分割部４４で再帰的に分割されて、当該演算レンジに収められてからピクセル化部４５で処理される。すなわち、図２の構成は、ピクセル演算部４２において、三角形ポリゴンを再帰的に分割してピクセル化の演算レンジ内に収束させると共に、ピクセル化部４５において、処理を並列的に実行している。これにより、図２の構成は、どのような大きさのポリゴンでもピクセル化処理が可能となり、また、無駄の少ない効率的で且つ並列化による高速なピクセル化処理を実現でき、その結果、ピクセルフィルレートを高めることも可能である。
【００６７】
なお、ピクセル化のための演算レンジがｘ軸方向とｙ軸方向で同等の場合に、上述のように再帰的な分割を行って３辺の長さを均等に近づけた三角形ポリゴン（演算レンジに対して全体がなるべく小さくなるように分割されたポリゴン）をピクセル化することは、実際の計算シミュレーション等により、処理効率の上で最も好ましいことが確認されている。
【００６８】
［具体的適用例］
次に、図１に示したピクセル化処理は、例えば図９に示すテレビゲーム機のグラフィックプロセッサユニット（ＧＰＵ）１０１で行われる画像処理に適用できる。
【００６９】
図９に示すテレビゲーム機は、メインＣＰＵ１００と、グラフィックプロセッサユニット（ＧＰＵ）１０１と、ＩＯプロセッサ（ＩＯＰ）１０４と、光ディスク再生部１１２と、メインメモリ１０５と、ＭＡＳＫ−ＲＯＭ１０６と、サウンドプロセッサユニット（ＳＰＵ）１０８とを基本構成として備える。メインＣＰＵ１００は、テレビゲームを実現するゲームアプリケーションプログラム等の各種プログラムに基づいて、信号処理や内部構成要素の制御を行う。ＧＰＵ１０１は、前述したピクセル化処理を含む画像処理を行う。ＩＯＰ１０４は、外部と装置内部との間のインターフェイス処理や下位互換性を保つための処理を行う。光ディスク再生部１１２は、アプリケーションプログラムやマルチメディアデータが記録されているＤＶＤやＣＤ等の光ディスクの再生を行う。メインメモリ１０５は、メインＣＰＵ１００のワークエリアや光ディスクから読み出されたデータを一時的に格納するバッファとして機能する。ＭＡＳＫ−ＲＯＭ１０６は、主にメインＣＰＵ１００やＩＯＰ１０４が実行するオペレーティングシステムプログラムを格納している。ＳＰＵ１０８は、音声信号処理を行う。
【００７０】
また、このテレビゲーム機は、ＣＤ／ＤＶＤディジタルシグナルプロセッサ（ＤＳＰ）１１０と、ドライバ１１１と、メカコントローラ１０９と、カード型コネクタ（ＰＣカードスロット）１０７も有している。ＤＳＰ１１０は、光ディスク再生部１１２によりＣＤ或いはＤＶＤから読み出されてＲＦアンプ１１３で増幅されたディスク再生信号に対して、例えば誤り訂正処理（ＣＩＲＣ処理）や伸張復号化処理等を施すことにより、それらＣＤ或いはＤＶＤに記録されたデータを再生（復元）する。ドライバ１１１及びメカコントローラ１０９は、光ディスク再生部１１２のスピンドルモータの回転制御、光ピックアップのフォーカス／トラッキング制御、ディスクトレイのローディング制御等を行う。カード型コネクタ１０７は、例えば通信カードや外付けのハードディスクドライブ等の接続ポートである。
【００７１】
これらの各部は、主にバスライン１０２，１０３等を介してそれぞれ相互に接続されている。なお、メインＣＰＵ１００とＧＰＵ１０１は、専用バスで接続されている。また、メインＣＰＵ１００とＩＯＰ１０４はＳＢＵＳにより接続されている。ＩＯＰ１０４とＤＳＰ１１０、ＭＡＳＫ−ＲＯＭ１０６、ＳＰＵ１０８、カード型コネクタ１０７は、ＳＳＢＵＳにより接続されている。
【００７２】
メインＣＰＵ１００は、ＭＡＳＫ−ＲＯＭ１０６に記憶されているメインＣＰＵ用のオペレーティングシステムプログラムを実行することにより、当該ゲーム機２の全動作を制御する。また、メインＣＰＵ１００は、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の光ディスクから読み出されてメインメモリ１０５にロードされたり、通信ネットワークを介してダウンロードされた、ゲームアプリケーションプログラム等を実行し、ゲームの動作等を制御する。
【００７３】
ＩＯＰ１０４は、ＭＡＳＫ−ＲＯＭ１０６に記憶されているＩＯプロセッサ用のオペレーティングシステムプログラムを実行することにより、ゲームプレイヤーの操作に応じたコントローラ２０からの信号やゲームの設定等を記憶するメモリカード２６からのデータの入出力、その他、ＵＳＢ接続端子５やＩＥＥＥ１３９４接続端子６、図示しないＰＣカードスロット等におけるデータの入出力を制御する。
【００７４】
ＧＰＵ１０１は、座標変換等の処理を行うジオメトリトランスファエンジンの機能と、レンダリングプロセッサの機能とを有し、メインＣＰＵ１００からの描画指示に従ってピクセル化処理を含む描画を行い、描画された画像を図示しないフレームバッファに格納する。すなわち例えば、光ディスクに記録されているアプリケーションプログラムがテレビゲームのように所謂３次元（３Ｄ）グラフィックを利用するものである場合、当該ＧＰＵ１０１は、ジオメトリ演算処理により、３次元オブジェクトを構成するためのポリゴンの座標計算等を行い、さらに、レンダリング処理により、この３次元オブジェクトを仮想的なカメラで撮影することにより得られる画像を生成するための諸計算、すなわち透視変換を行い、最終的に得られた画像データをフレームバッファ上へ書き込む。そして、ＧＰＵ１０１は、この作成した画像に対応するビデオ信号を出力する。
【００７５】
ＳＰＵ１０８は、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）復号機能、オーディオ信号再生機能、信号変調機能等を備えている。ＡＤＰＣＭ復号機能とは、適応予測符号化された音響データを復号する機能である。オーディオ信号再生機能とは、当該ＳＰＵ１０８に内蔵或いは外付けされた図示しないサウンドバッファに記憶されている波形データを読み出すことで、効果音等のオーディオ信号を再生して出力する機能である。信号変調機能とは、サウンドバッファに記憶されている波形データを変調させて様々な音波形データを生成する機能である。すなわち、ＳＰＵ１０８は、メインＣＰＵ１００からの指示に基づいて、サウンドバッファに記憶されている波形データから、楽音や効果音等のオーディオ信号を発生する、いわゆるサンプリング音源としても動作する。
【００７６】
以上のような構成を有するテレビゲーム機は、例えば電源が投入されると、ＭＡＳＫ−ＲＯＭ１０６からメインＣＰＵ用及びＩＯＰ用のオペレーティングシステムプログラムが読み出される。メインＣＰＵ１００とＩＯＰ１０４は、それぞれ対応したオペレーティングシステムプログラムを実行する。これにより、メインＣＰＵ１００は、テレビゲーム機の各部を統括的に制御する。また、ＩＯＰ１０４は、コントローラ２０やメモリカード２６等との間の信号の入出力を制御する。また、メインＣＰＵ１００は、オペレーティングシステムプログラムを実行すると、動作確認等の初期化処理を行った後、光ディスク再生部１１２を制御して、光ディスクに記録されているゲーム等のアプリケーションプログラムを読み出し、メインメモリ１０５にロードした後、そのゲームアプリケーションプログラムを実行する。このゲームアプリケーションプログラムの実行により、メインＣＰＵ１００は、ＩＯＰ１０４を介してコントローラ２０から受け付けたゲームプレイヤーの指示に応じて、ＧＰＵ１０１やＳＰＵ１０８を制御し、画像の表示や効果音、楽音の発生を制御する。
【００７７】
なお、上述した実施の形態の説明は、本発明の一例である。このため、本発明は上述した実施の形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんである。例えば、ポリゴンの分割は、２分割だけでなく、３以上の複数分割であってもよい。このようにポリゴンを一度に複数分割すれば、再帰回数は削減可能となる。また、ポリゴンが四角形以上の多角形である場合、本実施の形態の画像処理装置は、そのポリゴンを分割して三角形ポリゴンを生成し、その三角形ポリゴンに対して上述した閾値の比較や再帰的分割等を行っても良い。
【００７８】
【発明の効果】
本発明は、ポリゴンの大きさを所定の閾値と比較し、上記閾値を超える三角形状のポリゴンの最長辺を検出し、その最長辺の中点と当該最長辺に対向する頂点とを結ぶ線分により当該ポリゴンを分割して、上記閾値を超えないポリゴンを３辺の長さが均等に近づくようにしてピクセル化の演算レンジ内に収束させると共に、ピクセル化の処理の演算レンジを小さく限定しつつ処理の並列度を高めることで、回路構成の大型化やコストの大幅な上昇を伴うことなく、多数の小面積ポリゴンを効率良くピクセル化できると同時に、ピクセル化処理を並列化し易くなり、ピクセルフィルレートを上げることも可能となる。
【図面の簡単な説明】
【図１】ピクセル化処理の概念説明に用いる図である。
【図２】ピクセル化処理をＤＳＰやＧＰ若しくはソフトウェア的に実現する場合の処理の説明に用いる図である。
【図３】エリアサイズ比較処理の説明に用いる図である。
【図４】エリアサイズ比較処理の説明に用いる三角形ポリゴンの一例を示す図である。
【図５】ポリゴン分割処理の説明に用いる図である。
【図６】ポリゴン分割処理の説明に用いる三角形ポリゴンの一例を示す図である。
【図７】三角形ポリゴンの最長稜線とその中点の説明に用いる図である。
【図８】分割後のポリゴンの説明に用いる図である。
【図９】ピクセル化処理をテレビゲーム機のＧＰＵに適用した具体的構成例を示すブロック図である。
【符号の説明】
Ｐｌ…大面積ポリゴン、Ｐｓ，Ｐｄ…小面積ポリゴン、Ｄ…ポリゴン分割処理、ＰＸピクセル化処理、３１…ジオメトリ演算部、３２…情報格納部、３３…レンダリング部、３４…ディスプレイコントロール部、３５…表示部、４１…ポリゴンセットアップ部、４２…ピクセル演算部、４３…エリアサイズ比較部、４４…ポリゴン分割部、４５…ピクセル化部、４６…フレームバッファリング部、５３，５４，７２〜７７…頂点座標部、５５，５６…最大・最小選択部、５７，５８…差分演算部、５９…差分比較部、６０，８７，９０…出力選択部、７８〜８０…最小値選択部、８１〜８３…幅演算部、８４〜８６…稜線演算部、８８…座標演算部、８９…最長稜線選択部、９１…頂点情報演算部、９２…パースペクティブ補正部、９３…ポリゴン再構築部
【図１】
0003638568.tif 000002
【図２】
0003638568.tif 000003
【図３】
0003638568.tif 000004
【図４】
0003638568.tif 000005
【図５】
0003638568.tif 000006
【図６】
0003638568.tif 000007
【図７】
0003638568.tif 000008
【図８】
0003638568.tif 000009
【図９】
0003638568.tif 000010