(57)【特許請求の範囲】
【請求項１】
３次元コンピュータグラフィックスのためのモーションブラー画像描画方法において、
３次元モデルを２次元に投影したときの画像における処理対象となる三角形の３つの頂点の２次元座標値及び各頂点の属性情報を、２つの時刻についてそれぞれ入力する第１のステップと、
前記２次元の画像の画素座標軸と時間軸とから構成される３次元空間において、前記入力された６つの頂点により構成される三角柱構造を、３つの三角錐構造に分割する第２のステップと、
各々の前記三角錐ごとに、前記６つの頂点のうち当該三角錐を構成する４つの頂点についての前記２次元座標値及び前記属性情報並びに前記２つの時刻に基づく前記３次元空間での線形処理によってモーションブラー画像のための描画情報を求める第３のステップとを有し、
前記第３のステップにおける前記三角錐についての前記線形処理の各々では、
前記２次元の画像上の各画素ごとに、前記３次元空間の時間軸上の１または複数のサンプリング時刻を求め、
前記２次元の画像上の各画素の各サンプリング時刻ごとに、求められた前記サンプリング時刻により定まる前記３次元空間におけるサンプリング点が当該三角錐の内部に存在するか否かによって描画情報を求めるべきか否かを判定するとともに、求めるべきと判定された画素およびそのサンプリング時刻について、当該三角錐を構成する４つの頂点の前記属性情報を前記３次元空間で線形補間処理することによってモーションブラー画像のための描画情報を求めることを特徴とするモーションブラー画像描画方法。
【請求項２】
前記２次元の画像上の各画素が複数のサブ画素から構成されている場合に、当該画素の全部または一部のサブ画素についてそれぞれ前記線形処理を行って求められた前記描画情報に基づいて、当該画素の画素情報を求めることを特徴とする請求項１に記載のモーションブラー画像描画方法。
【請求項３】
モーションブラー画像を描画する機能を有する描画装置において、
３次元モデルを２次元に投影したときの画像における処理対象となる三角形の３つの頂点の２次元座標値及び各頂点の属性情報を、２つの時刻についてそれぞれ入力する入力手段と、
前記２次元の画像の画素座標軸と時間軸とから構成される３次元空間において、前記入力された６つの頂点により構成される三角柱構造を、３つの三角錐構造に分割する分割手段と、
各々の前記三角錐ごとに、前記６つの頂点のうち当該三角錐を構成する４つの頂点についての前記２次元座標値及び前記属性情報並びに前記２つの時刻に基づく前記３次元空間での線形処理によってモーションブラー画像のための描画情報を求める線形処理手段とを備え、
前記線形処理手段は、１つの前記三角錐について、
前記２次元の画像上の各画素ごとに、前記３次元空間の時間軸上の１または複数のサンプリング時刻を求め、
前記２次元の画像上の各画素の各サンプリング時刻ごとに、求められた前記サンプリング時刻により定まる前記３次元空間におけるサンプリング点が当該三角錐の内部に存在するか否かによって描画情報を求めるべきか否かを判定するとともに、求めるべきと判定された画素およびそのサンプリング時刻について、当該三角錐を構成する４つの頂点の前記属性情報を前記３次元空間で線形補間処理することによってモーションブラー画像のための描画情報を求めることを特徴とする描画装置。
【請求項４】
前記線形処理手段は、前記２次元の画像上の各画素が複数のサブ画素から構成されている場合に、当該画素の全部または一部のサブ画素についてそれぞれ前記線形処理を行って求められた前記描画情報に基づいて、当該画素の画素情報を求めることを特徴とする請求項３に記載の描画装置。
【請求項５】
前記線形処理手段は、
所望のモーションブラー画像の画質を付与するための配列データを用いて前記サンプリング時刻を求める手段と、
前記配列データの内容を外部から書き込み可能とし、及び又は複数種類存在する前記配列データのいずれを用いるかを外部から指定可能とするための手段を含むことを特徴とする請求項３または４に記載の描画装置。
【請求項６】
前記線形処理手段は、
所望のモーションブラー画像の画質を付与するための関数を用いて前記サンプリング時刻を求める手段と、
前記関数の係数データを外部から書き込み可能とし、及び又は複数種類存在する前記関数のいずれを用いるかを外部から指定可能とするための手段を含むことを特徴とする請求項３または４に記載の描画装置。
【請求項７】
前記線形処理手段は、
前記線形補間処理によって各画素の描画情報を求める際に、
２次元の画像の画素座標軸方向の項については、既に値が求められた画素をもとに差分を利用して他の画素の値を求めていくことを特徴とする請求項３ないし６のいずれか１項に記載の描画装置。
【請求項８】
前記線形処理手段は、
前記線形補間処理によって各画素の描画情報を求める際に、
時間軸方向の項については、予め求められた値テーブルを用いて値を求めていくことを特徴とする請求項３ないし６のいずれか１項に記載の描画装置。
【請求項９】
前記線形処理手段は、
前記線形補間処理によって各画素の描画情報を求める際に、
２次元の画像の画素座標軸方向の項については、既に値が求められた画素をもとに差分を利用して他の画素の値を求めていくとともに、時間軸方向の項については、予め求められた値テーブルを用いて値を求めていくことを特徴とする請求項３ないし６のいずれか１項に記載の描画装置。
【請求項１０】
前記線形処理手段を複数備え、
複数の三角錐に対する処理を並列に実行することを特徴とする請求項３ないし９のいずれか１項に記載の描画装置。
【請求項１１】
前記線形処理手段は、描画対象となるオブジェクトのポリゴンとしてＮ角形（Ｎは４以上）の情報が与えられた場合には、該Ｎ角形を（Ｎ−２）個の三角形に分割し、これによって得られた三角形を処理単位として、前記３つの三角錐構造への分割を行うことを特徴とする請求項３ないし１０のいずれか１項に記載の描画装置。
【請求項１２】
３次元コンピュータグラフィックスのためのプログラムを記録したコンピュータ読取り可能な記録媒体であって、
３次元モデルを２次元に投影したときの画像における処理対象となる三角形の３つの頂点の２次元座標値及び各頂点の属性情報を、２つの時刻についてそれぞれ入力させ、
前記２次元の画像の画素座標軸と時間軸とから構成される３次元空間において、前記入力された６つの頂点により構成される三角柱構造を、３つの三角錐構造に分割させ、
各々の前記三角錐ごとに、前記６つの頂点のうち当該三角錐を構成する４つの頂点についての前記２次元座標値及び前記属性情報並びに前記２つの時刻に基づく前記３次元空間での線形処理によってモーションブラー画像のための描画情報を求めさせるためのプログラムであるとともに、
前記三角錐についての前記線形処理の各々では、
前記２次元の画像上の各画素ごとに、前記３次元空間の時間軸上の１または複数のサンプリング時刻を求めさせ、
前記２次元の画像上の各画素の各サンプリング時刻ごとに、求められた前記サンプリング時刻により定まる前記３次元空間におけるサンプリング点が当該三角錐の内部に存在するか否かによって描画情報を求めるべきか否かを判定するとともに、求めるべきと判定された画素およびそのサンプリング時刻について、当該三角錐を構成する４つの頂点の前記属性情報を前記３次元空間で線形補間処理することによってモーションブラー画像のための描画情報を求めさせるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元コンピュータグラフィックス（ＣＧ）においてリアルタイムに高品位なモーションブラー画像を描画するためのモーションブラー画像描画方法及び描画装置に関する。
【０００２】
【従来の技術】
３次元コンピュータグラフィックス（ＣＧ）は、年々、その応用に広がりを見せており、様々な分野で利用され、様々な効果を上げている。３次元ＣＧの利用形態には、大きく分けて、予め十分な時間を使って３次元ＣＧ処理を行うことが可能なもの（例えば３次元ＣＧを利用した映像コンテンツ等の製作時）と、リアルタイムでの３次元ＣＧ処理が必要となるもの（例えばゲームやシミュレーション等のソフトの実行時）とがある。
【０００３】
リアルタイム３次元ＣＧでは、通常は予め３次元空間を構成する各々のオブジェクト（例えば背景などの静止物体や人物などの移動物体等の種々の物体）を形作るポリゴン（三角形や多角形）の形状情報あるいは色情報等を含む各種データが用意されている。
ここで、３次元モデルの持つ絶対的な座標系をワールド座標系と呼ぶものとする。各オブジェクトのポリゴンの頂点座標は、例えば、モデルとしては当該オブジェクトに固有の（ローカル）座標系で与えられ、変換処理によってワールド座標系に変換される。静止オブジェクトは最初からワールド座標系で表現することができる。また、ディスプレイ上の表示画面をスクリーンと呼び、その座標系をスクリーン座標系と呼ぶものとする。ワールド座標系にあるオブジェクトは、（ある視点で規定される）スクリーン座標系に投影されて描画される。
【０００４】
描画時に、概略的には、
（１）あるタイミングでのワールド座標系における各オブジェクトの配置等を（必要に応じてオブジェクトに加工等を加えた上で）計算し、
（２）オブジェクトの各ポリゴンの各頂点のワールド座標系での３次元座標値をスクリーン座標系に投影したときの２次元座標値に変換するとともに、各頂点の色情報を計算し、
（３）該スクリーン座標系での各ポリゴンの各頂点の２次元座標値および各頂点の奥行きに関する情報や色に関する情報などの属性情報をもとに描画データを計算して、１画面分の画像を生成する。
（４）生成された画像は、例えばＤ／Ａコンバータによってビデオ信号に変換するなどしてテレビ画面等に出力される。
【０００５】
これらの処理がある時間間隔で繰り返し行われることによって、３次元ＣＧによる動画が映出される。また、ユーザがコントローラ等を使って視点を操作しあるいは視点を決定するもととなる特定の登場人物の位置を移動させることによって、３次元モデルを所望の位置、角度から眺め、あるいは３次元モデル中を移動するような映像が得られる。
【０００６】
さて、上記のように一般にリアルタイム・コンピュータ・グラフィックス装置では、ある時間間隔で静止画像を描画し、それを連続に見せることでアニメーションとしている。静止画像を速い速度で連続して表示することで、人間の目には動画像として認識させている。しかし、この方法では、速い動きの物体を描画した場合、隣接画面間で同一物体の位置が大きく異なっていることが人間に知覚できてしまう。そのため、スムーズな動きではなく、ストロボ投影したような動きに見えてしまう。
【０００７】
動きの速い物体を高品位に描画する技術として、「モーションブラー」と呼ばれる残像効果を描画する手法がある。モーションブラーは、映画などリアルタイムに画像を計算する必要のないコンピュータグラフィックスでは非常に多く用いられている。しかし、従来のリアルタイム・コンピュータ・グラフィックス装置では、限られた時間内に画像を計算しなくてはならないため、モーションブラーは用いられなかった。
【０００８】
近年の高性能リアルタイム・コンピュータ・グラフィックス装置で用いられ始めている方法は、「マルチパス・レンダリング」と呼ばれる手法で、１フレーム時間内をさらに細分化した複数の時刻の静止画像を計算して求め、それらを１枚の画面内に重ね合わせる方法である。これは、いわば１フレーム時間中に複数回のストロボを発光させるものと考えられる。この方法では、１フレーム時間中のストロボの回数を多くするほど、画質を良くすることができる。
【０００９】
しかし、この手法では、座標変換などを含めたすべてのグラフィックス処理がストロボの回数だけ必要になるとともに、描画に必要な演算もストロボ回数に比例して多くなるという欠点がある。実際には、１フレーム時間内あたり２，３回程度のストロボが使用可能であるが、これでは、物体の境界や端辺が画像に現れ、滑らかなモーションブラー画像とはならず、十分な効果を得ることができない。
【００１０】
【発明が解決しようとする課題】
リアルタイム・コンピュータグラフィックスで、よりスピード感や躍動感や臨場感のある動画像を生成するためには、残像効果を計算するモーションブラー技術は重要である。
【００１１】
しかし、従来技術の「マルチパス・レンダリング」では、ＣＰＵ９１および座標変換照光計算装置９３による座標変換処理を含めてすべてのグラフィックス処理の演算量が増加し、またそれほど高品位なモーションブラーは計算できない。
【００１２】
本発明は、上記事情を考慮してなされたもので、より少ない演算量の描画処理でより高品位なモーションブラーを描画可能とするモーションブラー画像描画方法及び描画装置を提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明は、３次元コンピュータグラフィックスのためのモーションブラー画像描画方法において、３次元モデルを２次元に投影したときの画像における処理対象となる三角形の３つの頂点の２次元座標値及び各頂点の属性情報を、２つの時刻についてそれぞれ入力する第１のステップと、前記２次元の画像の画素座標軸と時間軸とから構成される３次元空間において、前記入力された６つの頂点により構成される三角柱構造を、３つの三角錐構造に分割する第２のステップと、各々の前記三角錐ごとに、前記６つの頂点のうち当該三角錐を構成する４つの頂点についての前記２次元座標値及び前記属性情報並びに前記２つの時刻に基づく前記３次元空間での線形処理によってモーションブラー画像のための描画情報を求める第３のステップとを有し、前記第３のステップにおける前記三角錐についての前記線形処理の各々では、前記２次元の画像上の各画素ごとに、前記３次元空間の時間軸上の１または複数のサンプリング時刻を求め、前記２次元の画像上の各画素の各サンプリング時刻ごとに、求められた前記サンプリング時刻により定まる前記３次元空間におけるサンプリング点が当該三角錐の内部に存在するか否かによって描画情報を求めるべきか否かを判定するとともに、求めるべきと判定された画素およびそのサンプリング時刻について、当該三角錐を構成する４つの頂点の前記属性情報を前記３次元空間で線形補間処理することによってモーションブラー画像のための描画情報を求めることを特徴とする。
また、本発明は、モーションブラー画像を描画する機能を有する描画装置において、３次元モデルを２次元に投影したときの画像における処理対象となる三角形の３つの頂点の２次元座標値及び各頂点の属性情報を、２つの時刻についてそれぞれ入力する入力手段と、前記２次元の画像の画素座標軸と時間軸とから構成される３次元空間において、前記入力された６つの頂点により構成される三角柱構造を、３つの三角錐構造に分割する分割手段と、各々の前記三角錐ごとに、前記６つの頂点のうち当該三角錐を構成する４つの頂点についての前記２次元座標値及び前記属性情報並びに前記２つの時刻に基づく前記３次元空間での線形処理によってモーションブラー画像のための描画情報を求める線形処理手段とを備え、前記線形処理手段は、１つの前記三角錐について、前記２次元の画像上の各画素ごとに、前記３次元空間の時間軸上の１または複数のサンプリング時刻を求め、前記２次元の画像上の各画素の各サンプリング時刻ごとに、求められた前記サンプリング時刻により定まる前記３次元空間におけるサンプリング点が当該三角錐の内部に存在するか否かによって描画情報を求めるべきか否かを判定するとともに、求めるべきと判定された画素およびそのサンプリング時刻について、当該三角錐を構成する４つの頂点の前記属性情報を前記３次元空間で線形補間処理することによってモーションブラー画像のための描画情報を求めることを特徴とする。
【００１５】
好ましくは、前記三角錐についての前記線形処理の各々では、前記２次元の画像上の各画素ごとに、前記３次元空間の時間軸上の１または複数のサンプリング時刻を求め、前記２次元の画像上の各画素の各サンプリング時刻ごとに、求められた前記サンプリング時刻により定まる前記３次元空間におけるサンプリング点が当該三角錐の内部に存在するか否かによって描画情報を求めるべきか否かを判定するとともに、求めるべきと判定された画素およびそのサンプリング時刻について、当該三角錐を構成する４つの頂点の前記属性情報を前記３次元空間で線形補間処理することによってモーションブラー画像のための描画情報を求めるようにしてもよい。
【００１６】
好ましくは、前記線形処理手段は、配列データあるいは関数を用いて前記サンプリング時刻を求める手段と、前記配列データの内容あるいは関数の係数データを外部から書き込み可能とし、及び又は複数種類存在する前記配列データあるいは関数のいずれを用いるかを外部から指定可能とするための手段を含むようにしてもよい。これによって、所望のモーションブラー画像の画質を実現することができる。
【００１７】
また、好ましくは、前記線形処理手段は、前記線形補間処理によって各画素の描画情報を求める際に、２次元の画像の画素座標軸方向の項については、既に値が求められた画素をもとに差分を利用して他の画素の値を求め、及び又は時間軸方向の項については、予め求められた値テーブルを用いて値を求めていくようにしてもよい。これによって、演算量を減らすことができる（かけ算を省くことも可能になる）。
【００１８】
また、好ましくは、線形処理手段を複数備え、複数の三角錐に対する処理を並列に実行するようにしてもよい。
【００１９】
また、好ましくは、描画対象となるオブジェクトのポリゴンとしてＮ角形（Ｎは４以上）の情報が与えられた場合には、該Ｎ角形を（Ｎ−２）個の三角形に分割し、これによって得られた三角形を処理単位として、前記３つの三角錐構造への分割を行うようにしてもよい。
【００２０】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
【００２１】
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための（あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための）プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【００２２】
本発明によれば、スクリーン座標に投影されたオブジェクトを構成する三角形についての２つの時刻における頂点情報に基づく線形処理を行って画像の描画情報を求めるようにしたので、少ない演算量で高品位なモーションブラー画像を描画することが可能になる。
【００２３】
また、本発明によれば、従来の三角形描画装置と異なり、２つの時刻における頂点から、その時刻の間の変化をスムーズに描画するために、２つの時刻の三角形の頂点情報から構成される三角柱構造を３つの三角錐に分割し、それぞれの三角錐に対して線形処理することで高速に残像効果を描画することができる。
また、３つの三角錐に対する線形処理を並列に行うことで、より高速に残像効果を描画することができる。
また、従来のフィルター型モーションブラー技術では、三角形座標だけを補間できたが、本発明によれば、他の属性情報の時間的変化も補間することができる。
【００２４】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【００２５】
図１に、本実施形態に係る描画処理システムの全体構成例を示す。
【００２６】
このシステムは、高品位なモーションブラー画像を描画することを可能としたことを特徴とするものである。
【００２７】
このシステムは、例えば、リアルタイム３次元ＣＧ機能を持ついわゆるゲーム機等の専用機として構成することも可能であるし、ソフトウェアを汎用の計算機上で実行する形で構成することも可能である。また、いずれの場合においても、必要な処理をすべてソフトウェアで実現することもその一部又は全部をハードウェアで構成することも可能である。
【００２８】
図１に示されるように、このシステムでは、低速バス９７にコントローラ９８１、ＤＶＤドライブ９８２、ハードディスクドライブ９８３、通信ユニット９８４が接続されるとともに、バス・ブリッジ９６を介してＣＰＵ９１が接続されている。
【００２９】
図１において、例えば、ＤＶＤドライブ９８２にセットされる媒体（ＤＶＤ）に、ゲームなどのアプリケーションソフトウェア（プログラム部分や、３次元モデルにおける例えば静止物体や登場人物などのオブジェクトを形作るポリゴン（三角形や多角形）の形状情報、色情報等の各種データ）などの３次元ＣＧ用データ部分などを含む）等が格納されている。あるいは、例えば通信ユニット９８４によりネットワークを介して取得したアプリケーションソフトウェア等がハードディスク９８３に格納されている。
【００３０】
このアプリケーションソフトウェア等の全部または必要な部分は予めまたは必要なタイミングでメインメモリ９２にロードされ、ＣＰＵ９１はメインメモリ９２の内容に基づいて処理を進めていく。その際、３次元空間を構成するオブジェクトに関する各種データは、必要に応じて加工、変換などが施され、ワールド座標系での３次元座標値を持つデータとして、座標変換照光計算装置９３に送られる。
座標変換照光計算装置９３では、オブジェクトの各ポリゴンの各頂点のワールド座標系での３次元座標値から（ある視点で規定される）スクリーン座標系に投影したときの２次元座標値への変換や、各頂点の色情報の計算などを行い、これらデータは描画装置１に送られる。
描画装置１では、該スクリーン座標系での各ポリゴンの各頂点の２次元座標値および各頂点の奥行きに関する情報や色に関する情報などの属性情報をもとに描画データを計算して、１画面分の画像を生成する。
生成された画像は、例えばＤ／Ａコンバータ９４によってビデオ信号９５に変換するなどしてディスプレイ（図示せず）に出力される。
【００３１】
これらの処理がある時間間隔で繰り返し行われることによって、３次元ＣＧによる動画が映出される。また、ユーザがコントローラ１等を使って視点を操作しあるいは視点を決定するもととなる特定の登場人物の位置を移動させることによって、３次元モデルを所望の位置、角度から眺め、あるいは３次元モデル中を移動するような映像が得られる。
【００３２】
なお、データの入出力手段として、ＤＶＤドライブ９８２とハードディスクドライブ９８３と通信ユニット９８４のうち一部のみが接続されることもある。また、ＤＶＤドライブ９８２とハードディスクドライブ９８３と通信ユニット９８４の全部若しくは一部に加えて又はそれらに代えて、他のドライブあるいはインタフェースなどが接続されることもある。
また、ユーザ操作のための入力手段として、コントローラ９８１に加えて又はこれに代えて、キーボードやマウス等の入出力デバイスが接続されることもある。
また、ディスプレイは、当該システムと一体化された専用ディスプレイであってもよいし、ＴＶ受信機のテレビ画面であってもよいし、コンピュータ用のディスプレイであってもよい。
また、座標変換照光計算装置９３は、ハードウェアで実現する方法と、ソフトウェアで実現する方法とがある。ソフトウェアで実現する場合には、座標変換照光計算装置９３のためのＣＰＵをＣＰＵ９１とは別に専用に１または複数設けるのが望ましい。もちろん、ＣＰＵ９１の能力が高ければ、兼用することもできる。描画装置１についても同様である。また、座標変換照光計算装置９３と描画装置１をソフトウェアで実現する場合に、それらのためのＣＰＵをＣＰＵ９１とは別に１または複数設けるようにすることも可能である。
また、本システムには、映像に同期した音声等の再生処理のためのハードウェア・ソフトウェアやスピーカなどが搭載されることもある。
【００３３】
なお、以下では、モーションブラーに関する処理を中心に本実施形態を詳しく説明していくが、本システムにおいて、モーションブラー以外の所望の３次元ＣＧ処理を併せて行うことももちろん可能である。
【００３４】
まず、「時間」と「動画像生成」の概念について説明する。
【００３５】
画像を表示する間隔を「フレーム」と呼ぶ。フィルム画像では、１フレームに、１／２４秒が用いられるが、ＴＶへの画像を出力する描画装置では、通常、１フレームは、１／３０秒または１／６０秒が用いられる。各フレームについて、１枚の表示画像を作成して表示する処理を連続することで動画像が表示される。
【００３６】
一般に、３次元コンピュータグラフィックスの描画装置は、３次元モデルをポリゴン（三角形や多角形）の集合として表し、各ポリゴンの頂点に関する情報を読み込む。本実施形態では、モーションブラーさせたいポリゴンについては、該ポリゴンの各頂点について、２つの時刻の頂点情報（頂点のスクリーン座標系における座標値と、色情報や奥行き情報等の属性情報）を読み込む。２つの時刻の例としては、フレームの開始時刻と終了時刻、または現在のフレームの開始時刻と次のフレームの開始時刻がある。以下では、一例として、ある時刻ｔi の画像を生成する際に、モーションブラーさせたいポリゴンについては、その時刻ｔにおける頂点情報と、その１フレーム時間前の時刻ｔi-1 における頂点情報とを用いるものとする。
【００３７】
描画装置１のための十分なメモリが確保できないことを想定する場合には、描画装置１がある時刻ｔi の画像を生成する際に、座標変換照光計算装置９３から描画装置１へ、時刻ｔi における頂点情報と時刻ｔi-1 における頂点情報とをそれぞれ生成して渡すようにすればよい。
なお、当該時刻の画面におけるモーションブラーさせたいポリゴンの有無にかかわらず、座標変換照光計算装置９３から描画装置１へ２つの時刻分の情報を渡すようにして構わない。ただし、モーションブラーさせたいポリゴンがないときには、座標変換照光計算装置９３から描画装置１へ当該１つの時刻分の情報を渡すようにする方法も可能である。あるいは、モーションブラーさせたいポリゴンについてのみ、座標変換照光計算装置９３から描画装置１へ、１フレーム時間前の時刻における頂点情報を渡すようにする方法も可能である。
先頭画面（時刻ｔ1 とする）の画像を生成する際には（その前の時刻のデータがないので）座標変換照光計算装置９３から描画装置１へ当該時刻ｔ1 の頂点情報を渡し、モーションブラーさせたいポリゴンがないものとして扱えばよい。また、当該時刻ｔ1 の頂点情報を１フレーム時間前の時刻における頂点情報として渡す方法も可能である。
描画装置１のための十分なメモリが確保できることを想定する場合には、座標変換照光計算装置９３から描画装置１へは時刻ｔi における頂点情報を渡し、描画装置１側では少なくともその１フレーム時間前の時刻ｔi-1 における頂点情報をメモリに一時記憶しておくようにすればよい。
本実施形態では前者の場合を例にとって説明する。
【００３８】
ある時刻の画像においてモーションブラーを行うか否かの指示は、オブジェクトごとに行われるものとする。この指示の情報は、アプリケーション等に含まれており、例えばオブジェクトの属性情報として付加されていて、実行時には、メインメモリ９２に格納されている。
また、モーションブラーの内容（モード）を複数種類のうちから可能とし、いずれのモードを使用するかを指定できるようにしてもよい。このモードは、画面を単位として指定するようにしてもよいし、画面の一部分を単位として指定するようにしてもよいし、オブジェクトを単位として指定するようにしてもよいし、オブジェクト群を単位として指定するようにしてもよいし、その他にも種々の方法がある。モーションブラーのモードは、後述するように例えば変換テーブルや変換関数の内容を変えることによって、異ならせることができるが、モーションブラーを行う場合におけるそのモードの指定の仕方としては、例えば、予め複数種類の変換テーブルや変換関数を持っておいて、どの変換テーブルや変換関数を使用するかを指定するようにしてもよいし、予め変換テーブルや変換関数を持たずに、変換テーブルや変換関数のデータを与えることによって指定するようにしてもよいし、そのいずれも可能とするようにしてもよい。モーションブラーのモードを指定するための情報も、アプリケーション等に含まれており、実行時には、メインメモリ９２に格納されている。
【００３９】
さらに、ユーザ（例えば当該ゲームをする人）によるモーションブラーに関する設定や指示を可能としてもよい。例えば、アプリケーション等の全体に対するモーションブラーのＯＮ／ＯＦＦ設定、モーションブラーの効果の強弱等の調整に関する設定、モーションブラーのモードの嗜好に関する設定など、種々の設定が考えられる。このような場合、モーションブラーに関する処理は、ユーザ設定をも加味して行う処理となる。もちろん、映像の場面に応じて、ユーザ設定を加味するか否かを予め設定しておき、この設定に従って制御することも可能である。
【００４０】
図２に、本実施形態の描画装置１の第１の構成例を示す。
この描画装置１は、頂点データ入力部１０、線形処理部２０、画像メモリ３０を備えている。
頂点データ入力部１０は、３次元モデルの頂点情報を読み込む（入力部）。また、後述するように三角錐への分割を行う（分割部）。
線形処理部２０は、線形処理を行って描画情報を求め、画像メモリへの描画を行う。
画像メモリ３０は、画像データを保持し、映像出力へ画像データを出力する。本実施形態では、詳しくは後述するように、モーションブラーのための処理を三角形の単位で行い、モーションブラーすべき１つの三角形の描画処理のために線形処理部２０による線形処理を３回行うことになる（与えられた２つの時刻での三角形の計６個の頂点のスクリーン座標及び時間軸上の座標から形成される三角柱構造を３つの三角錐構造に分割し、その各々の三角錐ごとに処理を行う）。
【００４１】
図３に、本実施形態に係る描画装置の第２の構成例を示す。
図３は、３つの線形処理部２０を持つことで、線形処理を並列に行うことを可能にしたものである。
この場合、例えば、ある三角形ａに対する３つの処理ａ１，ａ２，ａ３を行い、次の三角形ｂに対する３つの処理ｂ１，ｂ２，ｂ３を行い、その次の三角形ｃに対する３つの処理ｃ１，ｃ２，ｃ３を行う、…、というように並列処理することができる。また、例えば、最初に、処理ａ１，ｂ１，ｃ１、次に、処理ａ２，ｂ２，ｃ２、次に、処理ａ３，ｂ３，ｃ３というバッチ的な並列処理も可能である。また、例えば、処理ａ３，ｂ２，ｃ１、処理ｄ１，ｂ３，ｃ２、処理ｄ２，ｅ１，ｃ３、処理ｄ３，ｅ２，ｆ１というパイプライン的な並列処理も可能である。
もちろん、他の並列処理方法も可能である。
【００４２】
図４に、本実施形態に係る描画装置の第３の構成例を示す。
【００４３】
図４は、２つの線形処理部２０を持つことで、線形処理を並列に行うことを可能にしたものである。
この場合、例えば、処理ａ１，ａ２を行い、次に、処理ａ３を行い、次に、処理ｂ１，ｂ２を行い、次に、処理ｂ３を行い、…、というように並列処理することも、処理ａ１，ａ２、処理ａ３，ｂ１、処理ｂ２，ｂ３、というように並列処理することも、処理ａ１，ｂ１、処理ａ２，ｂ２、処理ａ３，ｂ３、というように並列処理することも可能である。
もちろん、他の並列処理方法も可能である。
【００４４】
また、４以上の線形処理部２０を持つ第４の構成例ももちろん可能である。この場合にも、種々の並列処理方法が可能である。
【００４５】
図５に、本実施形態に係る描画装置の第４の構成例を示す。
これまでの例における１つの頂点データ入力部と１または２以上の線形処理部とのセットを複数セット設けても良い（図５は、１セットに３つの線形処理部を含む場合を例示している）。
【００４６】
図６に、本実施形態に係る描画装置の第５の構成例を示す。
【００４７】
第５の構成例は、第４の構成例において、画像メモリを複数セット設けたものである（図６は、１セットに３つの線形処理部を含む場合を例示している）。
この場合に、複数のセットに役割を分担させるようにしてもよい。例えば、４セット設けた場合に、各セットには、スクリーンの全領域のうちの左上、右上、右下または左下のいずれか１／４部分を担当させる（各セットの画像メモリには、スクリーンの全領域のうちの担当する１／４部分の画像が書き込まれる；各セットの画像メモリは、スクリーンの全領域の１／４に相当するサイズで構わない）。また、例えば、複数設けた各セットには、オブジェクトを単位として処理を分担させる（各セットの画像メモリはスクリーンの全領域をカバーするサイズであるが、各セットの画像メモリには、担当するオブジェクトの画像が書き込まれる）。この場合、複数の画像メモリの画像が合成されて、１つの画像として出力される。
【００４８】
以下では、描画装置１の処理の流れについて説明する。
【００４９】
頂点データ入力部１０には、３次元モデルを構成する各ポリゴン（三角形もしくは多角形）を構成する各頂点の頂点情報が２つの時刻について入力される。なお、ポリゴンがＮ角形（Ｎは４以上）である場合には、該Ｎ角形を（Ｎ−２）個の三角形に分割し、各三角形について処理が行われることになる。
【００５０】
各頂点の頂点座標は、ＣＰＵ９１および座標変換照光計算装置９３によって、座標変換および照光処理がされて、スクリーン座標系に投影された三角形もしくは多角形に関するものである。
【００５１】
図７に示すように、一つの静止三角形は、３つの頂点（Ｐ０，Ｐ１，Ｐ２）で構成される。各頂点の頂点情報は、頂点のディスプレイ画面上での座表系に対応する２次元のスクリーン座表系での（Ｘ，Ｙ）座標値と、その頂点の各種属性値からなる。各種属性値は、例えば、奥行き方向のＺ座標値またはＷ座標値、霧の濃度を示すＦＯＧ値、色を表す色値（例えば、Ｒ，Ｇ，Ｂ，Ａ値）、テクスチュア座標値（Ｓ，Ｔ，Ｑ）などである。
【００５２】
図８に、描画装置１の頂点データ入力部の処理の流れの一例を示す。なお、ステップＳ１０６〜Ｓ１０８の処理は前述したように描画装置１の構成に応じて適宜並列的に処理され得るものである。
【００５３】
頂点データ入力部１０は、多角形も複数の三角形に分解して処理するので、一つの三角形を構成する３つの頂点が揃うまで（ステップＳ１０２）、各頂点の頂点情報を読み込む（ステップＳ１０１）。
【００５４】
一つの三角形を構成する３つの頂点が揃ったならば（ステップＳ１０２）、与えられた三角形をモーションブラーすべきか否か判断し（ステップＳ１０３）、モーションブラーしない場合には、通常通り、静止三角形として描画するための処理を行う（ステップＳ１０４）。
【００５５】
さて、モーションブラーをすると判断された場合には、その三角形の３つの頂点についての２つの時刻での頂点情報、すなわち６つの頂点情報を与える。
【００５６】
図９に示すように、この６つの頂点（Ｐ０Ｔ０，Ｐ１Ｔ０，Ｐ２Ｔ０），（Ｐ０Ｔ１，Ｐ１Ｔ１，Ｐ２Ｔ１）は、２次元のスクリーン座標系に時間軸Ｔを加えた三次元空間の中の三角柱構造とみることができる。
【００５７】
頂点データ入力部１０では、この三角柱構造を、線形処理が容易な三角錐（ｔｅｔｒａｈｅｄｒｏｎ）構造に分割する（ステップＳ１０５）。
【００５８】
図９の三角錐構造は、図１０に示すように切断線を加えることで、図１１（ａ）〜（ｃ）に示すように、３つの三角錐Ｔｅ０，Ｔｅ１，Ｔｅ２に分割できる。ここで、
三角錐Ｔｅ０＝（Ｐ０Ｔ０，Ｐ１Ｔ０，Ｐ２Ｔ０，Ｐ０Ｔ１）
三角錐Ｔｅ１＝（Ｐ１Ｔ０，Ｐ２Ｔ０，Ｐ０Ｔ１，Ｐ２Ｔ１）
三角錐Ｔｅ２＝（Ｐ１Ｔ０，Ｐ０Ｔ１，Ｐ１Ｔ１，Ｐ２Ｔ１）
である。
【００５９】
頂点データ入力部１０は、図２のように線形処理部２０が１個ある構成では、３つの三角錐構造を順次、線形処理部２０に送る（ステップＳ１０６〜１０８）。
図３のように、線形処理部２０が３個ある構成では、処理スケジュールに応じて例えば３つの三角錐構造を同時に線形処理部２０に送る（ステップＳ１０６〜１０８）。
また、その他の構成例の場合でも、線形処理部２０の個数や前述したような処理スケジュールに応じて、３つの三角錐構造を順次にあるいは同時に線形処理部２０に送る（ステップＳ１０６〜１０８）。
【００６０】
線形処理部２０では、与えられた三角錐に対して線形処理を用いた描画処理を行う。
【００６１】
ここで、モーションブラーする場合の処理について説明する前に、モーションブラーしない場合の処理について説明する。
【００６２】
スクリーン座標上に投影された静止三角形を描画する際には、その三角形に含まれる画素を描画することになるために、ある画素（ｘ，ｙ）がその三角形に含まれるかどうかの判定を行う必要がある。この判定は、その三角形を構成する３辺をそれぞれ境界とする３つの線形式に画素（ｘ，ｙ）を代入して、結果の符号によって行うことができる。
これらの３つの線形式は、例えば図７において、
頂点Ｐ０，Ｐ１を通る境界２を表す式、
頂点Ｐ１，Ｐ２を通る境界０を表す式、
頂点Ｐ２，Ｐ０を通る境界１を表す式
である。
調査する画素（ｘ，ｙ）が各境界のどちら側にあるかを線形式で求めることで、画素（ｘ，ｙ）が三角形の内側かどうかが判定される。
【００６３】
三角形内部の画素（ｘ，ｙ）の色等の属性値は、その三角形を構成する３つの頂点の属性値を線形補間して求められる。
【００６４】
これらは、どれも下記のようなｘとｙについての線形式となる。
Ｄ（ｘ，ｙ）＝Ｄ０＋ｄＤ／ｄｘ・ｘ＋ｄＤ／ｄｙ・ｙ
この線形式の線形補間係数は、
Ｄ０        ：  原点での初期値
ｄＤ／ｄｘ  ：  Ｘ方向の増加係数、または傾き値
ｄＤ／ｄｙ  ：  Ｙ方向の増加係数、または傾き値
である。
【００６５】
各線形補間係数については、上記の式に、３頂点（Ｐ０，Ｐ１，Ｐ２）についての座標値ｘ，ｙとその属性値Ｄ（ｘ，ｙ）を代入して得られる３つの式の連立１次方程式を解くことで求められる。
【００６６】
このように、モーションブラーしない三角形では、線形補間係数を求め、ＤＤＡ（Ｄｉｇｉｔａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ａｎａｌｙｓｉｓ）で線形補間しながら描画する。
【００６７】
さて、モーションブラーする三角形では、この方式を拡張したものとして、時間軸を加えた３次元の空間、すなわちスクリーン座標軸に時間軸を加えた（Ｘ，Ｙ，Ｔ）空間内について線形式を立てる。
【００６８】
あるサンプリング点（ｘ，ｙ，ｔ）を（画素（ｘ，ｙ）に）描画すべきかどうかは、その（ｘ，ｙ，ｔ）が三角錐の内部にあるかどうかで判断される。
【００６９】
なお、後述する例では、スクリーン座標上の各画素の座標値ｘ，ｙによって該画素についてのサンプリング時刻ｔを決定するので、各画素（ｘ，ｙ）を該サンプリング時刻ｔについて描画するか否かが、サンプリング点（ｘ，ｙ，ｔ）が三角錐の内部にあるかどうかによって、判断されることになる。また、この場合、１つのサンプリング時刻ｔについてのサンプリング点（ｘ，ｙ，ｔ）は、３つの三角錐のいずれか唯一のものの内部に属するか、またはいずれの三角錐にも属さないかのいずれかである。前者の場合には、該当する三角錐を受け持つ線形処理部２０によって処理がなされて描画され、後者の場合には当該画素は当該三角形については描画されないことになる。また、各画素（ｘ，ｙ）について、唯一のサンプリング点を用いる方法と、２以上の同一個数のサンプリング点を用いる方法と、画素に応じてサンプリング点数を決める方法などが可能である。１つの画素について複数のサンプリング点による属性値を得た場合には、それらについて、画像メモリに書き込み、後に、平均またはフィルタリングなどの処理を施すことになる。
【００７０】
サンプリング点（ｘ，ｙ，ｔ）が三角錐の内部にあるかどうかは、当該三角錐を構成する４つの面をそれぞれ境界とする４つの線形式に、サンプリング点（ｘ，ｙ，ｔ）を代入して、結果の符号で判定される。
これら４つの線形方程式は、例えば図１２の三角錐において、
頂点Ｐ０Ｔ０，Ｐ１Ｔ０，Ｐ２Ｔ０を通る面を境界として表す式、
頂点Ｐ０Ｔ０，Ｐ１Ｔ０，Ｐ０Ｔ１を通る面を境界として表す式、
頂点Ｐ１Ｔ０，Ｐ２Ｔ０，Ｐ０Ｔ１を通る面を境界として表す式、
頂点Ｐ２Ｔ０，Ｐ０Ｔ０，Ｐ０Ｔ１を通る面を境界として表す式
である。
【００７１】
三角錐の内部の点（ｘ，ｙ，ｔ）での色等の属性値Ｄすなわち画素（ｘ，ｙ）における当該サンプリング時刻ｔついての属性値Ｄは、その三角錐を構成する４つの頂点の属性値を線形補間して求める。すなわち、本実施形態では、属性値Ｄを求めるのに当該三角柱の６つの頂点についての属性値を用いて線形補間するのではなく、点（ｘ，ｙ，ｔ）が属する三角錐を構成する３つの頂点を用いることによって、処理量を単純化して実装を容易にしている。
【００７２】
静止三角形の時と同様に、これらはどれも下記のようなｘとｙとｔについての線形式となる。
Ｄ（ｘ，ｙ，ｔ）＝Ｄ０＋ｄＤ／ｄｘ・ｘ＋ｄＤ／ｄｙ・ｙ＋ｄＤ／ｄｔ・ｔ
この線形式の線形補間係数は、
Ｄ０        ：  原点での初期値
ｄＤ／ｄｘ  ：  Ｘ方向の増加係数、または傾き値
ｄＤ／ｄｙ  ：  Ｙ方向の増加係数、または傾き値
ｄＤ／ｄｔ  ：  時間軸Ｔ方向の増加係数、または傾き値
である。
【００７３】
線形補間係数は、上記の式に４頂点についての座標値ｘ，ｙとその属性値Ｄ（ｘ，ｙ，ｔ）を代入して得られる４つの式の連立１次方程式を解くことで求められる。
【００７４】
図１３に、描画装置１の線形処理部における処理の流れの一例を示す。なお、それぞれの三角錐についての処理は独立である（したがって、線形処理部２０が複数ある構成の場合には、並列処理が可能になる）。
【００７５】
線形処理部２０では、まず、前述したように、各境界を表す式と各属性値の線形式について、線形補間係数を求める（ステップＳ２０１）。
【００７６】
次に、画像メモリ３０（または３２）に対して、静止三角形もしくはモーションブラー三角形について、画素単位での塗りつぶし処理を行う。
【００７７】
ところで、１つの画素について（画素内の）１点のサンプリングによる属性値の決定でもモーションブラーを計算できる（ただし、ざらざらとした画質となることがある）。一般に、より高品位な画像を計算するためには、１つの画素について、画素内の複数のサンプリング点（ｓｘ，ｓｙ）でサンプリングを行い、その結果のそれぞれのサンプリング点での色情報等の属性値を、画像メモリに書き込み、後に、平均またはフィルタリング処理して画素の属性値とするようにするとよい。この場合、画像メモリには画素単位よりも詳しいサブピクセル点単位の情報が記録されるが、その格納方法は特に限定されない。また、一つの画素中のサンプリング点（ｓｘ，ｓｙ）を定める方法も特に限定されず、各種サンプリング方法に対応できる。
【００７８】
なお、画素内について複数のサンプリング位置を用いるとともに、画素内のサンプリング位置の全部又は一部についてさらに時間的に複数のサンプリング点を用いることも可能であり、この場合には、得られたすべての属性値を平均またはフィルタリング処理すればよい。
【００７９】
ここでは、画素内の複数点のサンプリングの一例として、画素を２次元のメッシュに分割し、サンプリングを行う例について説明する。
【００８０】
図１４は、１つの画素を４×４のサブピクセルに分割し、それらをサンプリング点とした画像メモリ３０の例である。
【００８１】
図１５は、図１２の三角錐を図１４の画像メモリ３０に投影している様子を示す。図１２の三角錐Ｔｅ０を例にとって、これについてサンプリングで描画する流れを説明する。
【００８２】
なお、ここでは、ＤＤＡによるクラスタライズを拡張した手法による場合を例とって説明するが、それ以外の方法、例えば各サンプリングごとに方程式に（ｓｘ，ｓｙ，ｓｔ）を代入して値を求める直接評価手法等を用いることももちろん可能である。
【００８３】
三角錐Ｔｅ０について、画素単位の塗りつぶし処理の対象となる範囲は、Ｔｅ０を構成する４点をＸＹ平面に投影したエリアである。
【００８４】
図１５のように、四角形になった場合には、２つの三角形エリア、すなわち
Ａｒｅａ１＝（Ｐ０Ｔ０，Ｐ１Ｔ０，Ｐ２Ｔ０）
Ａｒｅａ２＝（Ｐ０Ｔ０，Ｐ２Ｔ０，Ｐ０Ｔ１）
に分割して、それぞれに以下の処理を行う（ステップＳ２０２）。
【００８５】
画素単位の塗りつぶし処理は、三角形が覆うエリアを判定しながら、Ｘ方向およびＹ方向へのサブサンプリング単位に進みながら繰り返す処理となる（ステップＳ２０３，Ｓ２０４）。
【００８６】
各サンプリング点（ｓｘ、ｓｙ）について、サンプリング時刻ｓｔを求める（ステップＳ２０５）。
【００８７】
サンプリング時刻ｓｔは、次のように、ｓｘ，ｓｙを用いて、ある手段Ｆ｛｝により決定される。
ｓｔ＝Ｆ｛ｓｘ，ｓｙ｝
ここで、Ｆ｛｝は、ｓｔが与えられた２つの時刻の間の時刻となり、また、隣接するサンプリング点でなるべく異なるような分布で、ｓｔを定める手段である。ここでは、一例として、ある時刻ｔi の画像を生成する際に、モーションブラーさせたいポリゴンについては、その時刻ｔにおける頂点情報と、その１フレーム時間前の時刻ｔi-1 における頂点情報とを用いるものとしているので、ｓｔは、ｔi-1 〜ｔi の範囲の値となる。
【００８８】
このｓｔが各サンプリング点で同一でないことで（ストロボのタイミングを異ならせるような効果に相当する）、モーションブラー画像が計算できる。なお、すべてのｓｘ，ｓｙについてｓｔが同一であるとｓｔに対応する位置に描画された静止三角形になる（ｓｔ＝ｔi ならば当該時刻ｔi におけるもともとの画像になる）。
【００８９】
手段Ｆ｛｝の実装は、サンプリング点（ｓｘ，ｓｙ）に対して一意に決まるもので、例えば演算回路または２次元配列もしくは１次元配列で実現される（ハードウェアでもソフトウェアでも実現可能である）。
【００９０】
ここで、Ｆ｛｝のいくつかの例を示す。
（１）ｓｘ，ｓｙを入力とする関数を用いる方法
ｓｔ＝ｆｎｃＡ（ｓｘ，ｓｙ）
（２）ｓｘ，ｓｙから２次元配列のテーブルを引く方法
ｓｔ＝ａｒｒａｙ［ｓｘ］［ｓｙ］
（３）ｓｘ，ｓｙを関数で変換した後、２次元配列のテーブルを引く方法
ｓｔ＝ａｒｒａｙ［ｆｎｃＡ（ｓｘ）］［ｆｎｃＢ（ｓｙ）］
（４）ｓｘ，ｓｙを入力とする関数である値を定め、それを用いて１次元配列のテーブルを引く方法
ｓｔ＝ａｒｒａｙ［ｆｎｃＡ（ｓｘ，ｓｙ）］
（５）その他のバリエーション
ｓｔ＝ｆｎｃＡ（ａｒｒａｙ［ｓｘ］，ａｒｒａｙ［ｓｙ］）
ｓｔ＝ｆｎｃＡ（ａｒｒａｙ［ｓｘ］［ｓｙ］）
なお、上記の他にも種々の形態が考えられる。
【００９１】
また、１つのＦ｛｝によってスクリーンの全画素領域をカバーする構成と、１つのＦ｛｝によってスクリーンの縦１／ｎ、横ｍ／１の部分領域をカバーし、該Ｆ｛｝をｎ×ｍ個の部分領域について同様に適用する構成などが考えられる。また、後者の場合に、複数の内容の異なるＦ｛｝を用意して、部分領域ごとに選択的に使用することも可能であり、また、この場合に、複数のＦ｛｝の画素カバー範囲を異ならせるようにすることも可能である。
【００９２】
また、前述したように、一組のｓｘ，ｓｙから複数の時刻を定め、それぞれについて以下の処理を行うことでさらに高画質とすることも可能である。
【００９３】
ここでは、一例として、一組のｓｘ，ｓｙに対して一つのｓｔ＝ｆ（ｓｘ，ｓｙ）が定まるものとして説明する。
【００９４】
ところで、サンプリング点（ｓｘ，ｓｙ）に対するサンプリング時刻ｓｔの分布を変えることで、生成される画像の印象を代えることができる。Ｆ｛｝に関数を用いる場合には、関数の係数値を外部から入力する手段を持つことで、利用者がサンプリング時刻の分布を変化させることができ、画質を変えることができる。Ｆ｛｝に２次元や１次元の配列テーブルを用いる場合は、テーブルの値を外部から入力する手段を持つことで、利用者が任意のサンプリング時刻の分布を指定することができ、画質を変えることができる。
【００９５】
ここで、図１６を参照しながら、サンプリング点（ｓｘ，ｓｙ）と、サンプリング時刻ｓｔと、属性値Ｄの関係について説明する。
【００９６】
図１６（ａ）は、（Ｘ，Ｙ，Ｔ）空間における処理対象となる三角柱をＸ−Ｔ平面に投影して示したものである。図１６（ｂ）は、（Ｘ，Ｙ，Ｔ）空間における処理対象となる三角柱をＸ−Ｙ平面に投影して示したものである。これらは、ｔi-1 においてスクリーン左側に位置する三角形が、ｔi においてスクリーン右側に移動した例を示している（説明を簡単にするためのＸ軸方向に平行移動したものとしている）。ここで、図１６（ａ）の各々の一点鎖線矢印の先端は、当該一点鎖線矢印の図１６（ａ）における該当するＸ座標値および図１６（ｂ）に示すＹ＝ｙj のＹ座標値（三角柱の）を持つ画素またはサブピクセルに対するサンプリング時刻ｓｔを表している。
【００９７】
図１６（ａ）において、一点鎖線矢印の先端が六角柱の内部（３つの三角錐のうちのいずれかの内部）に存在する場合には、その画素またはサブピクセルについては、属性値が計算される。すなわち、当該サンプリング点（ｓｘ，ｓｙ，ｓｔ）の属する三角錐を担当する線形処理部によって、該三角錐の４つの頂点に関する情報に基づいて、属性値の線形補間が行われる。一方、一点鎖線矢印の先端が六角柱の内部（３つの三角錐のうちのいずれかの内部）に存在しない場合には、その画素またはサブピクセルについては、属性値の線形補間は行われない。
【００９８】
図１７に、図１６における三角柱を構成する１つの三角錐の部分について、図１６と同様の図を示す。
【００９９】
各サンプリング点（ｓｘ，ｓｙ）に対するサンプリング時刻ｓｔ（図１６の一点鎖線矢印の先端位置）の分布を適宜設定することによって、モーションブラーの画質を変化させることができる。
【０１００】
モーションブラーの画質の例には、以下のものがある。
【０１０１】
（１）ｓｔを一様な分布とすることで、全体的に残像が強く残り、動きを強く感じる画像となる。
（２）ｓｔとしてフレーム時間の中点（例えば、（ｔi-1 ＋ｔi ）／２）の分布を多くすることで、物体のディテールを見せつつ動きを感じさせる画像となる。
（３）ｓｔとしてフレーム時間の後半（例えば、（ｔi-1 ＋ｔi ）／２〜ｔi ）の分布を多くすることで、物体の移動が尾を引いて見える画像となる。
（４）すべてのｓｔを同じ時刻にすることで、モーションブラー効果を止めることができる。
上記以外にも様々な内容のモーションブラーが可能である。
【０１０２】
例えば、ｔi-1 において図１８（ａ）のようにスクリーンの左下に三角形が位置し、これがｔi において図１８（ｂ）のようにスクリーンの右上に移動したものとして、図１８（ｃ）に上記の（１）の例を説明するための図を、図１８（ｄ）に上記の（２）の例を説明するための図を、図１８（ｅ）に上記の（３）の例を説明するための図を示す。
【０１０３】
なお、この場合、モーションブラーの有無を指示する代わりに、モーションブラーしないものポリゴンについては、すべてのｓｔをｔi とするように指示することも可能である。
【０１０４】
次に、サンプリング点（ｓｘ，ｓｙ，ｓｔ）が、（対象となっているもともとの三角柱を分割して出来た３つの三角錐のうちの自身が担当する）三角錐に含まれるかどうかを、４つの境界を表す式を用いてテストする（ステップＳ２０６）。
【０１０５】
サンプリング点（ｓｘ，ｓｙ，ｓｔ）が三角錐に含まれないと判断された場合は、以下の属性値の計算と画像メモリへの書き込みはスキップされる。
【０１０６】
サンプリング点（ｓｘ，ｓｙ，ｓｔ）が三角錐に含まれると判断された場合には、各サンプリング点（ｓｘ，ｓｙ，ｓｔ）について、その点で属性値を求める（ステップＳ２０７）。
【０１０７】
属性値Ｄを求める式は、
Ｄ（ｓｘ，ｓｙ，ｓｔ）＝Ｄ０＋ｄＤ／ｄｘ・ｓｘ＋ｄＤ／ｄｙ・ｓｙ＋ｄＤ／ｄｔ・ｓｔ
となる。
【０１０８】
ＤＤＡを用いた場合は、Ｘ方向とＹ方向に関する項は、ＤＤＡにおる増分インクリメントで求められる。例えば、Ｘ方向にスキャンする場合には、先に計算したＸ方向隣接点での値を用いて、それにＸ方向増分を加えることで、少ない演算量でＤを求められる。
Ｄ（ｓｘ，ｓｙ，ｓｔ）
＝（Ｄ０＋ｄＤ／ｄｘ・ｓｘ＋ｄＤ／ｄｙ・ｓｙ）＋ｄＤ／ｄｔ・ｓｔ
＝Ｄ（ｓｘ−１，ｓｙ，ｓｔ）＋ｄＤ／ｄｘ＋ｄＤ／ｄｔ・ｓｔ
また、時間軸方向の項については、Ｆ｛｝によって得られたｓｔを離散的に扱うことにより、画素単位の塗りつぶし処理を行う前に、各ｄｔに対応した値テーブルｄｔ＿ｔａｂｌｅを求めて、それを利用することによって、少ない演算量でＤを求めることができる。
Ｄ（ｓｘ，ｓｙ，ｓｔ）
＝（Ｄ０＋ｄＤ／ｄｘ・ｓｘ＋ｄＤ／ｄｙ・ｓｙ）＋ｄＤ／ｄｔ・ｓｔ
＝（Ｄ０＋ｄＤ／ｄｘ・ｓｘ＋ｄＤ／ｄｙ・ｓｙ）＋ｄｔ＿ｔａｂｌｅ［ｓｔ］
これとＤＤＡを組み合わせると、
Ｄ（ｓｘ，ｓｙ，ｓｔ）＝Ｄ（ｓｘ−１，ｓｙ，ｓｔ）＋ｄＤ／ｄｘ＋ｄｔ＿ｔａｂｌｅ［ｓｔ］
となり、かけ算を用いずに、属性値を計算することができる。
【０１０９】
このようにして求められた各属性値から、通常の方法と同様に、必要に応じてテクスチャマッピングを行い、スクリーン上でのサンプリング点（ｓｘ，ｓｙ）に書き込むサブ画素情報を決定し、必要に応じて画像メモリにある情報を用いた隠面消去やαブレンドを行い、必要に応じて画像メモリに画素情報を書き込む（ステップＳ２０８）。
【０１１０】
以上の処理を、三角形が覆うエリアについて、Ｘ方向およびＹ方向への画素単位の処理を繰り返し行い、三角形の描画を終了する（ステップＳ２０９，Ｓ２１０）。
【０１１１】
このようにして、三角錐を投影した一つの三角形部分の描画が終わり、三角錐の投影が四角形の場合は、もう一つの三角形部分についても同様の処理をすることで、一つの三角錐に対する描画が終了する。
【０１１２】
これを３つの三角錐について行うことで、一つのモーションブラー三角形の描画が完了する。
【０１１３】
以上のように本実施形態よれば、２つの時刻だけの３次元モデルデータを計算して、描画装置に送ることで、従来のマルチパスレンダリングと比較して、少ない演算量で高品位なモーションブラー画像を描画することが可能になる。また、映像の種類によっては、１秒間のフレーム数を減少させて描画しても、残像効果により、躍動感のある画像を提供可能となる。
【０１１４】
なお、以上の各機能は、ソフトウェアとしても実現可能である。
【０１１５】
また、本実施形態は、コンピュータに所定の手段を実行させるための（あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための）プログラムを記録したコンピュータ読取り可能な記録媒体としても実施することもできる。
【０１１６】
なお、実施形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
また、各々の部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
また、本実施形態は、個別装置としての発明、システム全体としての発明、個別装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
【０１１７】
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
【０１１８】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【０１１９】
【発明の効果】
本発明によれば、スクリーン座標に投影されたオブジェクトを構成する三角形についての２つの時刻における頂点情報に基づく線形処理を行って画像の描画情報を求めるようにしたので、少ない演算量で高品位なモーションブラー画像を描画することが可能になる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る描画処理システムの全体構成例を示す図
【図２】同実施形態に係る描画装置の構成例を示す図
【図３】同実施形態に係る描画装置の構成例を示す図
【図４】同実施形態に係る描画装置の構成例を示す図
【図５】同実施形態に係る描画装置の構成例を示す図
【図６】同実施形態に係る描画装置の構成例を示す
【図７】同実施形態における静止三角形の例を示す図
【図８】同実施形態に係る描画装置の頂点データ入力部の処理手順の一例を示すフローチャート
【図９】同実施形態におけるモーションブラー三角形により構成される三角柱構造の例を示す図
【図１０】同実施形態におけるモーションブラー三角形を３つの三角錐に分割する切断線の例を示す図
【図１１】同実施形態におけるモーションブラー三角形を３つの三角錐に分割した例を示す図
【図１２】同実施形態における一つの三角錐構造の例を示す図
【図１３】同実施形態に係る描画装置の線形処理部の処理手順の一例を示すフローチャート
【図１４】同実施形態における画像メモリで構成される画素とサブピクセルの例を示す図
【図１５】同実施形態における画像メモリへ投影された一つの三角錐の例を示す図
【図１６】同実施形態に係る描画装置におけるサンプリングに関して説明するための図
【図１７】同実施形態に係る描画装置におけるサンプリングに関して説明するための図
【図１８】同実施形態に係る描画装置におけるモーションブラーの種類について説明するための図
【符号の説明】
１…描画装置
１０…頂点データ入力部
２０…線形処理部
３０，３２…画像メモリ
９１…ＣＰＵ
９２…メインメモリ
９３…座標変換照光計算装置
９４…Ｄ／Ａコンバータ
９６…バス・ブリッジ
９７…低速バス
９８１…コントローラ
９８２…ＤＶＤドライブ
９８３…ハードディスクドライブ
９８４…通信ユニット
【図１】
0004071422.tif 000002
【図２】
0004071422.tif 000003
【図３】
0004071422.tif 000004
【図４】
0004071422.tif 000005
【図５】
0004071422.tif 000006
【図６】
0004071422.tif 000007
【図７】
0004071422.tif 000008
【図８】
0004071422.tif 000009
【図９】
0004071422.tif 000010
【図１０】
0004071422.tif 000011
【図１１】
0004071422.tif 000012
【図１２】
0004071422.tif 000013
【図１３】
0004071422.tif 000014
【図１４】
0004071422.tif 000015
【図１５】
0004071422.tif 000016
【図１６】
0004071422.tif 000017
【図１７】
0004071422.tif 000018
【図１８】
0004071422.tif 000019