(57)【要約】【課題】コンピュータグラフィックスによる３次元図形描画手法により両眼視差方式の立体視画像データを生成する際に、右視野画像生成用の右視野領域および左視野画像用の左視野領域に包含される物体が異ならないように処理して、表示させる物体の表現内容を限定することなく、インタラクティブに視線を動作させる。【解決手段】ジオメトリ演算手段１１によって、物体座標から右視野画像用および左視野画像用の表示座標へ座標変換を行う際に、共通領域クリッピング判定部１１４ａによって、右視野領域および左視野領域に共に包含される第３の領域２３を定義し、この第３の領域２３に表示させようとする物体（ポリゴン）が包含されるか否かを判定し、第３の領域２３に完全に包含される物体のみを表示させる。また、表示対象物体が第３の領域２３に一部のみ包含される場合には、包含される部分のみを切り出して表示させる。【選択図】  図１
2007141156.tif 000002
【特許請求の範囲】
【請求項１】
両視点視差方式の立体視画像データを生成する画像データ生成手段を有する立体視画像装置において、
該画像データ生成手段は、一方視点視野画像データ生成用の一方視野領域および他方視点視野画像データ生成用の他方視野領域に共通な共通視野領域内に表示対象物体のデータが包含されているか否かを判定するクリッピング判定部を有し、該クリッピング判定部の判定結果に基づいて該共通視野領域内の該表示対象物体のみを表示対象として該立体視画像データを生成する立体視画像装置。
【請求項２】
前記クリッピング判定部を含み、入力される両視点間の距離情報およびシーンデータを用いて、該クリッピング判定部の判定結果に基づいて前記共通視野領域内の表示対象物体のみを表示対象として、前記一方視野領域用のジオメトリ演算と前記他方視野領域用のジオメトリ演算とを交互または同時に実施することにより、該一方視野領域用のポリゴンリストおよび該他方視野領域用のポリゴンリストを生成するジオメトリ演算手段を前記画像データ生成手段に備えた請求項１に記載の立体視画像装置。
【請求項３】
前記ジオメトリ演算手段は、前記表示対象物体の一部のみが前記共通視野領域内に包含されていると前記クリッピング判定部が判定した場合に、該表示対象物体の一部のみを表示対象として切り出すクリッピング処理部を有する請求項２に記載の立体視画像装置。
【請求項４】
前記画像データ生成手段は、前記立体視画像データとして、前記一方視野領域用のポリゴンリストから一方視野用画像データを生成すると共に、前記他方視野領域用のポリゴンリストから他方視野用画像データを生成するピクセル演算手段を更に備えた請求項２に記載の立体視画像装置。
【請求項５】
前記クリッピング判定部は、前記シーンデータから投影座標に変換された頂点がポリゴン毎に供給されて、遠側面、近側面、右側面、左側面、上側面および下側面の６つの側面で囲まれた共通視野領域に対して、該ポリゴンを構成する各線分の両端の頂点が外側に存在するか内側に存在するかを判定する請求項１または２に記載の立体視画像装置。
【請求項６】
前記クリッピング判定部は、前記ポリゴンを構成する全ての線分の両端に位置する頂点が前記共通視野領域の外側に存在すると判定した場合には、そのポリゴンを構成する全ての頂点に関するデータを破棄し、該ポリゴンを構成する全ての線分の両端に位置する頂点が該共通視野領域の内側に存在すると判定した場合には、そのポリゴンを構成する全ての頂点に関するデータを表示対象とする請求項１、２および５のいずれかに記載の立体視画像装置。
【請求項７】
前記クリッピング処理部は、前記ポリゴンを構成する各線分の両端に位置する頂点が前記共通視野領域の境界面に対して外側と内側とにそれぞれ存在すると前記クリッピング判定部が判定した場合には、表示対象として、そのポリゴンを構成する線分およびその頂点に対して、該共通視野領域の外側に存在する部分のみを切り取って破棄し、該共通視野領域の外側に存在する頂点をその線分と該共通視野領域の境界面との交点により置換する請求項３に記載の立体視画像装置。
【請求項８】
両視点視差方式の立体視画像データを生成する画像データ生成ステップを有する立体視画像データ生成方法において、
該画像データ生成ステップは、一方視点視野画像データ生成用の一方視野領域および他方視点視野画像データ生成用の他方視野領域に共通な共通視野領域内に表示対象物体のデータが包含されているか否かを判定するクリッピング判定ステップを有し、該クリッピング判定ステップの判定結果に基づいて該共通視野領域内の該表示対象物体のみを表示対象として該立体視画像データを生成する立体視画像データ生成方法。
【請求項９】
前記クリッピング判定ステップを含み、入力される両視点間の距離情報およびシーンデータを用いて、該クリッピング判定ステップで判定した判定結果に基づいて前記共通視野領域内の表示対象物体のみを表示対象として、前記一方視野領域用のジオメトリ演算と前記他方視野領域用のジオメトリ演算とを交互または同時に実施することにより、該一方視野領域用のポリゴンリストおよび該他方視野領域用のポリゴンリストを生成するジオメトリ演算ステップを前記画像データ生成ステップに有する請求項８に記載の立体視画像データ生成方法。
【請求項１０】
前記ジオメトリ演算ステップは、前記表示対象物体の一部のみが前記共通視野領域内に包含されていると前記クリッピング判定ステップで判定された場合に、該表示対象物体の一部のみを表示対象として切り出すクリッピング処理ステップを有する請求項９に記載の立体視画像データ生成方法。
【請求項１１】
前記画像データ生成ステップは、前記立体視画像データとして、前記一方視野領域用のポリゴンリストから一方視野用画像データを生成すると共に、前記他方視野領域用のポリゴンリストから他方視野用画像データを生成するピクセル演算ステップをさらに備えた請求項９に記載の立体視画像データ生成方法。
【請求項１２】
前記クリッピング判定ステップは、前記シーンデータから投影座標に変換された頂点がポリゴン毎に供給されて、遠側面、近側面、右側面、左側面、上側面および下側面の６つの側面で囲まれた共通視野領域に対して、該ポリゴンを構成する各線分の両端の頂点が外側に存在するか内側に存在するかを判定する請求項８または９に記載の立体視画像データ生成方法。
【請求項１３】
前記クリッピング判定ステップは、前記ポリゴンを構成する全ての線分の両端に位置する頂点が前記共通視野領域の外側に存在すると判定した場合には、そのポリゴンを構成する全ての頂点に関するデータを破棄し、該ポリゴンを構成する全ての線分の両端に位置する頂点が該共通視野領域の内側に存在すると判定した場合には、そのポリゴンを構成する全ての頂点に関するデータを表示対象とする請求項８、９および１２のいずれかに記載の立体視画像データ生成方法。
【請求項１４】
前記クリッピング処理ステップは、前記ポリゴンを構成する各線分の両端に位置する頂点が前記共通視野領域の境界面に対して外側と内側とにそれぞれ存在すると前記クリッピング判定ステップで判定した場合には、表示対象として、そのポリゴンを構成する線分およびその頂点に対して、該共通視野領域の外側に存在する部分のみを切り取って破棄し、該共通視野領域の外側に存在する頂点をその線分と該共通視野領域の境界面との交点により置換する請求項１０に記載の立体視画像データ生成方法。
【請求項１５】
請求項１〜７のいずれかに記載の立体視画像装置を表示部に用いたゲーム装置。
【請求項１６】
請求項１〜７のいずれかに記載の立体視画像装置を用いて立体視画像を映写する立体視画像映写装置。
【請求項１７】
請求項８〜１４のいずれかに記載の立体視画像データ生成方法の各ステップをコンピュータに実行させるための制御プログラム。
【請求項１８】
請求項１７に記載の制御プログラムを記録したコンピュータ読み出し可能な可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータグラフィックスによる３次元図形描画手法を利用して、両眼視差方式の立体視画像データを生成する立体視画像装置、これを表示部に用いたゲーム装置、これを用いて立体視画像を映写する立体視画像映写装置、この立体視画像装置を用いた立体視画像データ生成方法、この立体視画像データ生成方法の各処理をコンピュータに実行させるための制御プログラムおよびこれを記録したコンピュータ読み取り可能な可読記録媒体に関する。
【背景技術】
【０００２】
従来のコンピュータグラフィックスによる３次元図形描画手法では、三角形や四角形などのポリゴン（多角形）を三次元座標上に配置することによって、表示画面上に人物や物体などが表される。この３次元図形描画手法を用いて、左視野画像と右視野画像で視差を設けた両眼視差方式の立体視画像データを生成して表示画面上に立体視画像を得る場合には、右視野画像および左視野画像用に２系統の画像生成装置が用いられるかまたは、１系統の画像生成装置により右視野画像および左視野画像の各画像データを交互に生成する。この１系統の画像生成装置により右視野画像および左視野画像の各画像を交互に生成する場合を図４に示している。
【０００３】
図４は、コンピュータグラフィックスによる３次元図形描画手法を用いた従来の立体視画像装置の構成例を示すブロック図である。
【０００４】
図４において、従来の立体視画像装置５０は、座標変換などが行われてポリゴンリストを得るジオメトリ演算部５１と、ジオメトリ演算部５１からのポリゴンリストを記憶するポリゴンリストメモリ５２と、ポリゴンリストを用いて、ピクセル毎の立体視画像データを生成するピクセル演算部５３と、ピクセル演算部５３からのピクセル毎の立体視画像データを記憶するピクセルメモリ５４と、陰面消去処理に用いる３Ｄの奥行きを示すデプス値を記憶するデプス値メモリ５５とを有している。
【０００５】
ジオメトリ演算部５１は、コマンド処理部５１１と、マトリクス演算部５１２と、頂点輝度計算部５１３と、クリッピング判定部５１４と、クリッピング処理部５１５と、透視除算部５１６と、ビューポート変換部５１７と、ポリゴンリスト出力部５１８とを有している。
【０００６】
コマンド処理部５１１は、両視点距離情報およびシーンデータが入力されてコマンド処理が為されて、シーンデータなどから、表示させようとする各シーンにおける視野領域を定義する視野変換行列、投影変換行列、光源情報、物体を構成するポリゴンのモデリング変換行列、ポリゴンの属性、ポリゴンを構成する頂点の物体座標における座標値、法線ベクトルおよび材質属性などの各種情報が決定される。
【０００７】
マトリクス演算部５１２は、入力投影変換行列をカレント投影変換行列として得、入力視野変換行列をカレントモデリング変換行列として得、入力されたポリゴンのモデリング変換行列を順次乗算した結果をカレント法線行列およびカレントモデリング変換行列として得、視野変換行列とカレントモデリング変換行列の乗算結果をカレントモデリング変換行列として得、カレント投影変換行列およびカレントモデリング変換行列のいずれか一方が更新された場合に、カレント投影変換行列とカレントモデリング変換行列との乗算結果をカレントマトリクスとして保持する。
【０００８】
頂点輝度計算部５１３は、入力された頂点の法線ベクトルがカレント法線行列により座標変換され、その頂点の材質属性を使用して頂点の光源色を計算する。また、頂点輝度計算部５１３では、入力された頂点の物体座標を、カレントマトリクスにより投影座標に変換する。
【０００９】
クリッピング判定部５１４は、この投影座標において、視野領域に対して、ポリゴンを構成する各線分の両端の頂点が外側に存在するか否かが判定され、この判定の結果に応じて、ポリゴンを構成する全ての頂点に関するデータが、破棄されるか、クリッピング処理部５１５によって処理されるかまたは透視除算部５１６によって処理される。
【００１０】
クリッピング処理部５１５は、ポリゴンを構成する全ての頂点が、視野領域の境界面を含んで視野領域の内側に存在するように、ポリゴンを構成する線分毎に、視野領域の外側に存在する部分がある場合には、視野領域の外側に存在する部分が切り取られる。
【００１１】
透視除算部５１６は、ポリゴンを構成する頂点の透視除算処理が実施される。
【００１２】
ビューポート変換部５１７は、ポリゴンを構成する頂点のビューポート変換処理が実施される。
【００１３】
ポリゴンリスト出力部５１８は、ポリゴンを構成する頂点のうち、最大のｙ座標値および最小のｙ座標値が算出され、最大ｙ座標値をインデックスとするリストが生成されて、ポリゴンの最小ｙ座標値、ポリゴン属性およびポリゴンを構成する頂点データと共に、ポリゴンリストとしてポリゴンリストメモリ５２に出力される。
【００１４】
ピクセル演算部５３は、ポリゴンリスト入力部５３１と、ポリゴンエッジ計算部５３２と、ピクセル処理部５３３とを有している。
【００１５】
ポリゴンリスト入力部５３１は、このポリゴンリストを、ポリゴンリストメモリ５２から入手して、表示すべきスキャンライン上に存在するポリゴンを検索する。
【００１６】
ポリゴンエッジ計算部５３２は、検索されたスキャンラインとポリゴンを構成する左右のエッジの線分との交点の座標および光源色を、その線分の両端に位置する頂点の座標および頂点の光源色から補間により算出する。
【００１７】
ピクセル処理部５３３は、算出されたスキャンライン上の左右のエッジ間に存在する各ピクセル毎のデプス値および光源色を、左右のエッジのデプス値および光源色から補間により算出する。
【００１８】
上記構成により、まず、コマンド処理部５１１に両視点距離情報およびシーンデータが入力されてコマンド処理が為される。コマンド処理部５１１によりシーンデータから、表示させようとする各シーンにおける視野領域を定義する視野変換行列、投影変換行列、光源情報、物体を構成するポリゴンのモデリング変換行列、ポリゴンの属性、ポリゴンを構成する頂点の物体座標における座標値、法線ベクトルおよび材質属性などの各種情報が決定される。
【００１９】
次に、マトリクス演算部５１２では、入力される投影変換行列をカレント投影変換行列として保持し、入力される視野変換行列をカレントモデリング変換行列として保持し（この「カレント」は現在の新しいことを示している）、以降、順次入力されるポリゴンのモデリング変換行列を順次乗算した結果をカレント法線行列およびカレントモデリング変換行列として保持すると共に、視野変換行列とカレントモデリング変換行列との乗算結果をカレントモデリング変換行列として保持し、カレント投影変換行列およびカレントモデリング変換行列のいずれか一方が更新された場合には、カレント投影変換行列とカレントモデリング変換行列との乗算結果をカレントマトリクスとして保持する。
【００２０】
さらに、入力されたポリゴンの頂点の法線ベクトルをカレント法線行列により座標変換し、頂点輝度計算部５１３で、その頂点の材質属性を使用してポリゴンの頂点の光源色を計算する。また、入力された頂点の物体座標は、頂点輝度計算部５１３で、カレントマトリクスにより投影座標に変換する。この投影座標に変換されたポリゴンの頂点情報を、ポリゴン毎にクリッピング判定部５１４に順次送る。
【００２１】
クリッピング判定部５１４では、この投影座標において、視野領域における遠側面、近側面、右側面、左側面、上側面および下側面の６つの側面で囲まれる視野領域に対して、ポリゴンを構成する各線分の両端の頂点が、この視野領域の外側に存在するか内側に存在するかを判定する。
【００２２】
この判定の結果において、ポリゴンを構成する全ての線分の両端に位置する頂点が、視野領域の外側に存在するとクリッピング判定部５１４が判定した場合には、そのポリゴンを構成する全ての頂点に関するデータを破棄する。また、ポリゴンを構成する各線分のいずれか一つの両端に位置する頂点が、視野領域の境界面に対して外側と内側とに存在するとクリッピング判定部５１４が判定した場合には、そのポリゴンを構成する全ての頂点に関するデータがクリッピング処理部５１５に送られる。さらに、ポリゴンを構成する全ての頂点が視野領域の内側に存在するとクリッピング判定部５１４が判定した場合には、そのポリゴンを構成する全ての頂点に関するデータは、クリッピング処理部５１５をバイパスして透視除算部５１６に送られる。
【００２３】
このクリッピング処理部５１５に入力された、ポリゴンを構成する頂点に関するデータは、ポリゴンを構成する線分毎に、視野領域の外側に存在する部分がある場合にはその部分を切り取って破棄する。視野領域の外側に存在する頂点は、その線分と視野領域の境界面との交点により置換される。この際に、新しい頂点の光源色は、線分の両端に位置する頂点の光源色から補間により計算される。
【００２４】
このように、クリッピング処理部５１５において、ポリゴンを構成する全ての線分がクリッピング処理された後、ポリゴンを構成する全ての頂点は、境界面を含んで視野領域の内側に存在することになり、透視除算部５１６に送られる。
【００２５】
この透視除算部５１６では、ポリゴンを構成する頂点の透視除算処理が実施され、ビューポート変換部５１７に送られる。
【００２６】
このビューポート変換部５１７では、ポリゴンを構成する頂点のビューポート変換処理が実施され、ポリゴンリスト出力部５１８に送られる。
【００２７】
さらに、ポリゴンリスト出力部５１８では、ポリゴンを構成する頂点のうち、最大のｙ座標値および最小のｙ座標値を算出し、最大ｙ座標値をインデックスとするリストを生成し、ポリゴンの最小ｙ座標値、ポリゴン属性およびポリゴンを構成する頂点データと共に、ポリゴンリストメモリ５２に出力して書き込む。
【００２８】
次に、このピクセル演算部５３において、このポリゴンリストを、ポリゴンリストメモリ５２からポリゴンリスト入力部５３１に入力して、表示するべきスキャンライン上に存在するポリゴンが検索される。
【００２９】
ポリゴンエッジ計算部５３２では、検索されたスキャンラインとポリゴンを構成する左右のエッジの線分との交点の座標および光源色が、その線分の両端に位置する頂点の座標および頂点の光源色から補間により算出される。
【００３０】
ピクセル処理部５３３では、ポリゴンエッジ計算部５３２で算出されたスキャンライン上の左右のエッジ間に存在する各ピクセル毎のデプス値および光源色が、左右のエッジのデプス値および光源色から補間により算出される。この算出されたピクセルのデプス値が、シーン作成に先立って予め最大値で初期化されたデプス値メモリ５５における当該ピクセルのｘ座標に対応するアドレスの値と比較される。算出されたピクセルのデプス値がデプス値メモリ５５のアドレス値よりも小さい場合には、デプス値メモリ５５の当該アドレスに算出されたピクセルのデプス値が書き込まれると共に、ピクセルメモリ５４の当該ピクセルのｘ座標に対応するアドレスに算出されたピクセルのカラー値が書き込まれる。
【００３１】
一方、算出されたピクセルのデプス値がデプス値メモリ５５のアドレス値と同じであるか当該アドレス値よりも大きい場合には、算出されたピクセルのデータは破棄される。
【００３２】
以上の処理によって、スキャンライン毎にデプス値によって陰面消去処理されたシーンの立体視画像データが生成される。
【００３３】
図５は、図４の立体視画像装置５０において、使用される視野座標における視野領域およびこれに描画されるポリゴンの事例を示す模式図である。
【００３４】
図５では、視野座標６１の原点を視点６２として、ｍｚ軸の負の方向に視野領域６３が定義されている。各々の物体座標により定義されたポリゴン６４，６５はそれぞれ、座標変換によって視野座標６１に変換される。
【００３５】
図６は、図５の視野座標について、ｍｙ軸に対する負の方向を見た平面図である。
【００３６】
図６にハッチングで示すように、視野領域６３は、左側面６６Ａ、右側面６６Ｂ、遠側面６７Ａおよび近側面６７Ｂによって設定される。このポリゴン６４は、視野領域６３の内部と外部にまたがっているため、右側面６６Ｂよりも外側に位置する部分が切り取られて破棄される。また、ポリゴン６５は、その全部がこの視野領域６３の外側に位置するため、視点６２から見えないポリゴンとして破棄される。
【００３７】
この場合の座標変換は、以下のように実行される。
【００３８】
物体座標（ｘ，ｙ，ｚ）において定義されたポリゴンの各頂点の座標は、下記の式１（物体座標から視野座標への変換式）に示す行列演算によって、視野座標（ｍｘ，ｍｙ，ｍｚ，ｍｗ）に座標変換される。下記の式１による行列演算には、例えば、下記の式１−１（ｘ軸まわりの回転式）、式１−２（ｙ軸まわりの回転式）および式１−３（ｚ軸まわりの回転式）に各々示すｘ軸、ｙ軸およびｚ軸を中心とする角度αによる回転、下記の式１−４に示す拡大縮小率（ｓｘ，ｓｙ，ｓｚ）による拡大縮小、並びに下記の式１−５に示す移動量（ｄｘ，ｄｙ，ｄｚ）による平行移動などの各行列演算式が一般的に用いられている。なお、ｗは視点からの距離を示している。
【００３９】
【数１】
2007141156.tif 000003
【００４０】
【数２】
2007141156.tif 000004
視野座標に変換された各頂点の座標は、下記の式２（投影座標への変換式）に示す行列変換により、投影座標（ｐｘ，ｐｙ，ｐｚ，ｐｗ）に座標変換される。下記の式２による行列演算には、例えば、左右対称の視野錐台を用いた透視変換の場合、下記の式２−１に示す変換行列式が用いられる。
【００４１】
【数３】
2007141156.tif 000005
上記式２−１において、ｆｏｖｘはｘ方向の画角の１／２、ｆｏｖｙはｙ方向の画角の
１／２、ｆは視点から遠側面までの距離、ｎは視点から近側面までの距離を示している。
【００４２】
投影座標に変換された各頂点の座標は、下記の式３（表示座標への変換式）に示す行列変換により、表示座標（ｓｘ，ｓｙ，ｓｚ，ｓｗ）に座標変換される。下記式３による行列演算には、例えば、下記の式３−１に示す変換行列式が用いられる。
【００４３】
【数４】
2007141156.tif 000006
以上の座標変換によって、物体座標（ｘ，ｙ，ｚ）において定義されたポリゴンの各頂点が、表示座標（ｓｘ，ｓｙ，ｓｚ，ｓｗ）に座標変換される。
【００４４】
表示座標に変換された各ポリゴンの頂点は、下記の式４−１、式４−２および式４−３の各条件式を全て満足するか否かによって、視野領域内に含まれるか否かが判定される。各ポリゴンの頂点の表示座標が式４−１、式４−２および式４−３の各条件式を全て満足する場合には、視野領域内に含まれると判定される。上記判定において、各ポリゴンの頂点の少なくとも一つが式４−１、式４−２および式４−３の各条件式を満足しない場合には、クリッピング処理が実施され、全ての条件式を満足するように新しい頂点が生成される。
【００４５】
【数５】
2007141156.tif 000007
その後、上記式４−１、式４−２および式４−３の全ての条件式を満足する各ポリゴンの頂点は、下記の式５の透視除算処理により、正規座標（ｖｘ，ｖｙ，ｖｚ）に変換された後、ビューポート変換処理によりスクリーン座標（ｖｓｘ，ｖｓｙ，ｖｓｚ）に変換される。
【００４６】
【数６】
2007141156.tif 000008
スクリーン座標に変換されたポリゴンの各頂点の情報を用いて、ピクセル演算部５３によって、ポリゴンのシェーディング処理が実施され、立体視表示用の画像データが生成される。
【００４７】
上記従来の立体視画像装置５０を用いて、右視野画像および左視野画像の各画像を交互に生成することによって、両眼視差方式の立体視画像を生成することができる。また、上記従来の立体視画像装置５０を、右視野画像および左視野画像用に２系統使用して、両眼視差方式の立体視画像を生成することもできる。これを図７に示している。
【００４８】
図７は、図４の立体視画像装置５０を、右視野画像および左視野画像用に２系統使用して、両眼視差方式の立体視画像を生成する従来の立体視画像装置の構成例を示すブロック図である。
【００４９】
図７において、従来の立体視画像装置５０Ａは、右視野画像データ生成用として、ジオメトリ演算部５１Ｒと、ポリゴンリストメモリ５２Ｒと、ピクセル演算部５３Ｒと、ピクセルメモリ５４Ｒとを有し、左視野画像データ生成用として、ジオメトリ演算部５１Ｌと、ポリゴンリストメモリ５２Ｌと、ピクセル演算部５３Ｌと、ピクセルメモリ５４Ｌとを有している。
【００５０】
右視野画像用シーンデータと左視野画像用シーンデータとしては、透視変換用の視野錐台を左右の視点間の距離だけｍｘ軸に沿って左右に平行移動したものを、右視野画像用および左視野画像用の各視野錐台として用いる。この右視野画像用および左視野画像用の各視野錐台を用いて投影変換を実施することにより、右視野画像用および左視野画像用の頂点の表示座標が生成される。
【００５１】
例えば特許文献１には、装置構成を簡素化し、全体として計算量を低減するために、ジオメトリ演算部およびピクセル演算部が左右の画像用に共通化された立体視画像装置が開示されている。
【特許文献１】特開平７−２００８７０号公報
【発明の開示】
【発明が解決しようとする課題】
【００５２】
上記従来のコンピュータグラフィックスによる３次元図形描画手法を用いて、両眼視差方式の立体視画像データを生成して表示画面上に立体視画像を表示させることは容易である。
【００５３】
しかしながら、右視野画像生成用の右視野領域に包含される表示対象物体および左視野画像用の左視野領域に包含される表示対象物体は、一般に異なっている。よって、右視野画像生成用の右視野領域または左視野画像用の左視野領域の一方のみに包含される表示対象物体を、各々が包含される視野画像にのみ表示させると、一方の視野領域にのみ表示される表示対象物体は、立体視されにくい。
【００５４】
このため、上記従来の構成では、立体視用に予め想定された表示対象物体を、正面の限られた範囲（視野領域）で動作させたり、視線の動作範囲を限定したりする必要があり、表示させる表示対象物体の表現内容が限定されたり、インタラクティブに視線を動作させることが困難であるという問題があった。
【００５５】
本発明は、上記従来の問題を解決するもので、コンピュータグラフィックスによる３次元図形描画手法により両眼視差方式の立体視画像データを生成する際に、右視野画像データ生成用の右視野領域および左視野画像データ生成用の左視野領域に包含される表示対象物体が異ならないように処理することにより、表示させる物体の表現内容を限定することなく、インタラクティブに視線を動作させることができる立体視画像装置、これを表示部に用いたゲーム装置、これを用いて立体視画像を映写する立体視画像映写装置、この立体視画像装置を用いた立体視画像データ生成方法、この立体視画像データ生成方法の各処理ステップをコンピュータに実行させるための制御プログラムおよびこれを記録したコンピュータ読み取り可能な可読記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００５６】
本発明の立体視画像装置は、両視点視差方式の立体視画像データを生成する画像データ生成手段を有する立体視画像装置において、
該画像データ生成手段は、一方視点視野画像データ生成用の一方視野領域および他方視点視野画像データ生成用の他方視野領域に共通な共通視野領域内に表示対象物体のデータが包含されているか否かを判定するクリッピング判定部を有し、該クリッピング判定部の判定結果に基づいて該共通視野領域内の該表示対象物体のみを表示対象として該立体視画像データを生成するものであり、そのことにより上記目的が達成される。
【００５７】
また、好ましくは、本発明の立体視画像装置において、前記クリッピング判定部を含み、入力される両視点間の距離情報およびシーンデータを用いて、該クリッピング判定部の判定結果に基づいて前記共通視野領域内の表示対象物体のみを表示対象として、前記一方視野領域用のジオメトリ演算と前記他方視野領域用のジオメトリ演算とを交互または同時に実施することにより、該一方視野領域用のポリゴンリストおよび該他方視野領域用のポリゴンリストを生成するジオメトリ演算手段を前記画像データ生成手段に備えている。
【００５８】
さらに、好ましくは、本発明の立体視画像装置におけるジオメトリ演算手段は、前記表示対象物体の一部のみが前記共通視野領域内に包含されていると前記クリッピング判定部が判定した場合に、該表示対象物体の一部のみを表示対象として切り出すクリッピング処理部を有する。
【００５９】
さらに、好ましくは、本発明の立体視画像装置における画像データ生成手段は、前記立体視画像データとして、前記一方視野領域用のポリゴンリストから一方視野用画像データを生成すると共に、前記他方視野領域用のポリゴンリストから他方視野用画像データを生成するピクセル演算手段を更に備えている。
【００６０】
さらに、好ましくは、本発明の立体視画像装置におけるクリッピング判定部は、前記シーンデータから投影座標に変換された頂点がポリゴン毎に供給されて、遠側面、近側面、右側面、左側面、上側面および下側面の６つの側面で囲まれた共通視野領域に対して、該ポリゴンを構成する各線分の両端の頂点が外側に存在するか内側に存在するかを判定する。
【００６１】
さらに、好ましくは、本発明の立体視画像装置におけるクリッピング判定部は、前記ポリゴンを構成する全ての線分の両端に位置する頂点が前記共通視野領域の外側に存在すると判定した場合には、そのポリゴンを構成する全ての頂点に関するデータを破棄し、該ポリゴンを構成する全ての線分の両端に位置する頂点が該共通視野領域の内側に存在すると判定した場合には、そのポリゴンを構成する全ての頂点に関するデータを表示対象とする。
【００６２】
さらに、好ましくは、本発明の立体視画像装置におけるクリッピング処理部は、前記ポリゴンを構成する各線分の両端に位置する頂点が前記共通視野領域の境界面に対して外側と内側とにそれぞれ存在すると前記クリッピング判定部が判定した場合には、表示対象として、そのポリゴンを構成する線分およびその頂点に対して、該共通視野領域の外側に存在する部分のみを切り取って破棄し、該共通視野領域の外側に存在する頂点をその線分と該共通視野領域の境界面との交点により置換する。
【００６３】
本発明のゲーム装置は、本発明の上記立体視画像装置を表示部に用いたものであり、そのことにより上記目的が達成される。
【００６４】
本発明の立体視画像映写装置は、本発明の上記立体視画像装置を用いて立体視画像を映写するものであり、そのことにより上記目的が達成される。
【００６５】
本発明の立体視画像データ生成方法は、両視点視差方式の立体視画像データを生成する画像データ生成ステップを有する立体視画像データ生成方法において、該画像データ生成ステップは、一方視点視野画像データ生成用の一方視野領域および他方視点視野画像データ生成用の他方視野領域に共通な共通視野領域内に表示対象物体のデータが包含されているか否かを判定するクリッピング判定ステップを有し、該クリッピング判定ステップの判定結果に基づいて該共通視野領域内の該表示対象物体のみを表示対象として該立体視画像データを生成するものであり、そのことにより上記目的が達成される。
【００６６】
また、好ましくは、本発明の立体視画像データ生成方法において、前記クリッピング判定ステップを含み、入力される両視点間の距離情報およびシーンデータを用いて、該クリッピング判定ステップで判定した判定結果に基づいて前記共通視野領域内の表示対象物体のみを表示対象として、前記一方視野領域用のジオメトリ演算と前記他方視野領域用のジオメトリ演算とを交互または同時に実施することにより、該一方視野領域用のポリゴンリストおよび該他方視野領域用のポリゴンリストを生成するジオメトリ演算ステップを前記画像データ生成ステップに有する。
【００６７】
さらに、好ましくは、本発明の立体視画像データ生成方法におけるジオメトリ演算ステップは、前記表示対象物体の一部のみが前記共通視野領域内に包含されていると前記クリッピング判定ステップで判定された場合に、該表示対象物体の一部のみを表示対象として切り出すクリッピング処理ステップを有する。
【００６８】
さらに、好ましくは、本発明の立体視画像データ生成方法における画像データ生成ステップは、前記立体視画像データとして、前記一方視野領域用のポリゴンリストから一方視野用画像データを生成すると共に、前記他方視野領域用のポリゴンリストから他方視野用画像データを生成するピクセル演算ステップをさらに備えている。
【００６９】
さらに、好ましくは、本発明の立体視画像データ生成方法におけるクリッピング判定ステップは、前記シーンデータから投影座標に変換された頂点がポリゴン毎に供給されて、遠側面、近側面、右側面、左側面、上側面および下側面の６つの側面で囲まれた共通視野領域に対して、該ポリゴンを構成する各線分の両端の頂点が外側に存在するか内側に存在するかを判定する。
【００７０】
さらに、好ましくは、本発明の立体視画像データ生成方法におけるクリッピング判定ステップは、前記ポリゴンを構成する全ての線分の両端に位置する頂点が前記共通視野領域の外側に存在すると判定した場合には、そのポリゴンを構成する全ての頂点に関するデータを破棄し、該ポリゴンを構成する全ての線分の両端に位置する頂点が該共通視野領域の内側に存在すると判定した場合には、そのポリゴンを構成する全ての頂点に関するデータを表示対象とする。
【００７１】
さらに、好ましくは、本発明の立体視画像データ生成方法におけるクリッピング処理ステップは、前記ポリゴンを構成する各線分の両端に位置する頂点が該共通視野領域の境界面に対して外側と内側とにそれぞれ存在すると前記クリッピング判定ステップで判定した場合には、表示対象として、そのポリゴンを構成する線分およびその頂点に対して、該共通視野領域の外側に存在する部分のみを切り取って破棄し、該共通視野領域の外側に存在する頂点をその線分と該共通視野領域の境界面との交点により置換する。
【００７２】
本発明の制御プログラムは、本発明の上記立体視画像データ生成方法の各ステップをコンピュータに実行させるためのものであり、そのことにより上記目的が達成される。
【００７３】
本発明の可読記録媒体は、本発明の上記制御プログラムを記録したコンピュータ読み出し可能なものであり、そのことにより上記目的が達成される。
【００７４】
上記構成により、以下に、本発明の作用について説明する。
【００７５】
本発明にあっては、コンピュータグラフィックスによる３次元図形描画手法において、物体座標から一方視点視野画像データ生成用（右視野画像生成用）および他方視点視野画像データ生成用（左視野画像生成用）の表示座標へ座標変換を行って両視点視差方式（左右視点視差方式）の立体視画像データを生成する際に、一方視野領域（右視野領域）および他方視野領域（左視野領域）に共に包含される第３の視野領域として共通視野領域を定義し、この視野領域内に表示させようとする表示対象物体（ポリゴン）が包含されているか否かを判定する。
【００７６】
この判定結果を元に共通視野領域内の表示対象物体のみを表示対象とすることにより、右視野画像生成用の右視野領域および左視野画像生成用の左視野領域に包含される表示対象物体が異ならないように表示処理することが可能となる。これによって、表示させる表示対象物体の表現内容を限定することなく、インタラクティブに視線を動作させることが可能となる。
【発明の効果】
【００７７】
以上により、本発明によれば、従来のコンピュータグラフィックスによる３次元図形描画手法を用いて、立体視用に予め想定された表示対象物体を、従来のように正面の限られた範囲で動作させたり、視線の動作範囲を限定したりする必要がなく、表示させる物体の表現内容を限定することなく、インタラクティブに視線を動作させることができる。
【発明を実施するための最良の形態】
【００７８】
以下に、本発明の立体視画像装置および立体視画像データ生成方法の実施形態について、図面を参照しながら説明する。
【００７９】
図１は、本発明の実施形態に係る立体視画像装置の要部構成例を示すブロック図である。
【００８０】
図１において、本実施形態の立体視画像装置１０は、座標変換などが行われてポリゴンリストを得るジオメトリ演算手段としてのジオメトリ演算手段１１と、ジオメトリ演算手段１１からのポリゴンリストを記憶する右視野画像用のポリゴンリストメモリ１２Ｒおよび左視野画像用のポリゴンリストメモリ１２Ｌと、ポリゴンリストを用いて、ピクセル毎（画素毎）の画像データを生成するピクセル演算手段としての右視野画像用のピクセル演算手段１３Ｒおよび左視野画像用のピクセル演算手段１３Ｌと、ピクセル演算手段１３Ｒまたは１３Ｌからのピクセル毎の立体視用の画像データを記憶する右視野画像用のピクセルメモリ１４Ｒおよび左視野画像用のピクセルメモリ１４Ｌとを有している。これらのジオメトリ演算手段およびピクセル演算手段により、両視点視差方式の立体視用の画像データを生成する画像データ生成手段が構成されている。
【００８１】
ジオメトリ演算手段１１は、コマンド処理部１１１と、マトリクス演算部１１２と、頂点輝度計算部１１３と、共通領域クリッピング判定部１１４ａを有するクリッピング判定部１１４と、クリッピング処理部１１５と、透視除算部１１６と、ビューポート変換部１１７と、ポリゴンリスト出力部１１８とを有しており、入力される左右の両視点間の距離情報およびシーンデータを用いて、クリッピング判定部１１４の判定結果に基づいて共通視野領域内の表示対象物体のみを表示対象として、一方視野領域用（右視野領域用）のジオメトリ演算と他方視野領域用（左視野領域用）のジオメトリ演算とを交互に実施することにより、右視野領域用のポリゴンリストおよび左視野領域用のポリゴンリストを生成する。
【００８２】
コマンド処理部１１１は、左右の視点間の距離情報およびシーンデータが入力されてコマンド処理が為される。
【００８３】
マトリクス演算部１１２は、入力投影変換行列をカレント投影変換行列として得、入力視野変換行列をカレントモデリング変換行列として得、入力されたポリゴンのモデリング変換行列を順次乗算した結果をカレント法線行列およびカレントモデリング変換行列として得、視野変換行列とカレントモデリング変換行列の乗算結果をカレントモデリング変換行列として得、カレント投影変換行列およびカレントモデリング変換行列のいずれか一方が更新された場合に、カレント投影変換行列とカレントモデリング変換行列との乗算結果をカレントマトリクスとして保持する。
【００８４】
頂点輝度計算部１１３は、入力された頂点の法線ベクトルがカレント法線行列により座標変換され、その頂点の材質属性を使用して頂点の光源色を計算する。また、頂点輝度計算部５１３では、入力された頂点の物体座標を、カレントマトリクスにより投影座標に変換する。
【００８５】
クリッピング判定部１１４は、投影座標に変換された頂点がポリゴン毎に供給されて、遠側面、近側面、右側面、左側面、上側面および下側面の６つの側面で囲まれた共通視野領域、即ち、右視野領域または左視野領域との両領域に共通に包含される第３の領域としての共通視野領域に対して、表示対象物体のデータとして、ポリゴンを構成する各線分の両端の頂点が外側に存在するか内側に存在するかを判定する。クリッピング判定部１１４は、このポリゴンを構成する全ての線分の両端に位置する頂点が共通視野領域の外側に存在すると判定した場合には、そのポリゴンを構成する全ての頂点に関するデータを破棄し、ポリゴンを構成する全ての線分の両端に位置する頂点が共通視野領域の内側に存在すると判定した場合には、そのポリゴンを構成する全ての頂点に関するデータを表示対象として、クリッピング処理部１１５をバイパスして透視除算部１１６に出力するように制御が為される。
【００８６】
クリッピング処理部１１５は、ポリゴンを構成する全ての頂点が、両領域に共通に包含される第３の領域（共通視野領域）の境界面を含んで第３の領域の内側に存在するように、ポリゴンを構成する線分毎に、この第３の領域の外側に存在する部分がある場合には切り取られて破棄される。即ち、クリッピング処理部１１５は、表示対象物体の一部のみが第３の領域（共通視野領域）内に包含されているとクリッピング判定部１１４が判定した場合に、この表示対象物体の一部のみ（共通視野領域内にある表示対象物体）を表示対象として切り出す。この表示対象としての切り出し処理は、ポリゴンを構成する線分およびその頂点に対して、共通視野領域の外側に存在する部分のみを切り取って破棄し、共通視野領域の外側に存在する頂点をその線分と該共通視野領域の境界面との交点により置換することにより行う。
【００８７】
透視除算部１１６は、ポリゴンを構成する頂点の透視除算処理を実施する。
【００８８】
ビューポート変換部１１７は、ポリゴンを構成する頂点のビューポート変換処理を実施する。
【００８９】
ポリゴンリスト出力部１１８は、ポリゴンを構成する頂点のうち、最大のｙ座標値および最小のｙ座標値を算出し、最大ｙ座標値をインデックスとするリストを生成し、ポリゴンの最小ｙ座標値、ポリゴン属性およびポリゴンを構成する頂点データと共に、ポリゴンリストメモリ１２Ｒまたはポリゴンリストメモリ１２Ｌに出力して書き込む。
【００９０】
次に、右視野用のピクセル演算手段１３Ｒは、ポリゴンリスト入力部１３１Ｒと、ポリゴンエッジ計算部１３２Ｒと、ピクセル処理部１３３Ｒとを有しており、立体視用の画像データとして、右視野領域用のポリゴンリストから右視野用画像データを生成する。また、左視野用のピクセル演算手段１３Ｌは、ポリゴンリスト入力部１３１Ｌと、ポリゴンエッジ計算部１３２Ｌと、ピクセル処理部１３３Ｌとを有しており、立体視用の画像データとして、左視野領域用のポリゴンリストから左視野用画像データを生成する。
【００９１】
ポリゴンリスト入力部１３１Ｒおよび１３１Ｌはそれぞれ、この右視野用または左視野用のポリゴンリストを、ポリゴンリストメモリ１２Ｒまたは１２Ｌから入手して、表示すべきスキャンライン上に存在するポリゴンを検索する。
【００９２】
ポリゴンエッジ計算部１３２Ｒおよび１３２Ｌはそれぞれ、検索されたスキャンラインとポリゴンを構成する左右のエッジの線分との交点の座標および光源色を、その線分の両端に位置する頂点の座標および頂点の光源色から補間により算出する。
【００９３】
ピクセル処理部１３３Ｒおよび１３３Ｌはそれぞれ、算出されたスキャンライン上の左右のエッジ間に存在する各ピクセル毎のデプス値（値が大きいほど遠くにある３Ｄの奥行きを示す値）および光源色を、左右のエッジのデプス値および光源色から補間により算出する。
【００９４】
上記構成により、ジオメトリ演算手段１１では、コマンド処理部１１１に、左右の視点間の距離情報およびシーンデータが入力されて、右視野用のジオメトリ演算と左視野用のジオメトリ演算とが交互に実施される。コマンド処理部１１１では、シーンデータなどから、表示させようとするシーンにおける視野領域を定義する視野変換行列と、入力される投影変換行列、光源情報と、物体を構成するポリゴンのモデリング変換行列と、ポリゴンの属性と、ポリゴンを構成する頂点の物体座標における座標値と、頂点の法線ベクトルと、頂点の材質属性などの各種情報が決定される。この視野領域には、右視野領域または左視野領域と、これらの両領域に共通に包含される共通視野領域である第３の領域とが含まれている。
【００９５】
まず、マトリクス演算部１１２では、入力される投影変換行列がカレント投影変換行列として保持され（この「カレント」は現在の新しいという意味である）、入力される視野変換行列がカレントモデリング変換行列として保持され、以降、順次入力されるポリゴンのモデリング変換行列を順次乗算した結果がカレント法線行列およびカレントモデリング変換行列として保持されると共に、視野変換行列とカレントモデリング変換行列との乗算結果をカレントモデリング変換行列として保持し、カレント投影変換行列およびカレントモデリング変換行列のいずれか一方が更新された場合には、カレント投影変換行列とカレントモデリング変換行列との乗算結果をカレントマトリクスとして保持する。
【００９６】
さらに、入力されたポリゴンの頂点の法線ベクトルをカレント法線行列により座標変換し、頂点輝度計算部１１３で、その頂点の材質属性を使用してポリゴンの頂点の光源色を計算する。また、入力された頂点の物体座標は、頂点輝度計算部１１３で、カレントマトリクスにより投影座標に変換する。この投影座標に変換されたポリゴンの頂点情報を、ポリゴン毎に次のクリッピング判定部１１４に順次送る。
【００９７】
ここまでの各処理は、従来の立体視画像装置の場合と同様であるが、本実施形態では、次のクリッピング判定部１１４による処理以降が異なっている。
【００９８】
クリッピング判定部１１４では、遠側面、近側面、右側面、左側面、上側面および下側面の６つの側面で囲まれた右視野領域（または左視野領域）に対して、ポリゴンを構成する各線分の両端の頂点が、外側に存在するかまたは内側に存在するかを判定する。このとき、これに加えて、共通領域クリッピング判定部１１４ａでは、右視野領域および左視野領域に共通に包含される共通視野領域である第３の領域に対して、ポリゴンを構成する各線分の両端の頂点が、外側に存在するかまたは内側に存在するかを判定する。なお、クリッピング判定部１１４の判定機能としては、共通領域クリッピング判定部１１４ａによる判定処理（ポリゴンの共通視野領域に対する判定処理）だけを行ってもよいが、ここでは、その動作説明として、ポリゴンの右視野領域（または左視野領域）に対する既存の判定処理と、ポリゴンの共通視野領域に対する判定処理との両方を行った場合について説明する。いずれも結果は同様である。
【００９９】
この判定の結果として、例えば、ポリゴンを構成する全ての線分の両端の頂点が、右視野領域（または左視野領域）の外側に存在すると判定された場合には、そのポリゴンを構成する全ての頂点に関するデータを破棄する。
【０１００】
また、ポリゴンを構成する各線分の両端に位置する頂点が、右視野領域（または左視野領域）の境界面に対して外側と内側との両方に存在すると判定された場合には、そのポリゴンを構成する全ての頂点に関するデータがクリッピング処理部１１５に送る。ただし、共通領域クリッピング判定部１１４ａによる判定の結果、ポリゴンを構成する全ての線分の両端の頂点が、第３の領域の外側に存在すると判定された場合には、そのポリゴンを構成する全ての頂点に関するデータを破棄する。
【０１０１】
さらに、ポリゴンを構成する全ての頂点が右視野領域（または左視野領域）の内側に存在すると判定された場合には、そのポリゴンを構成する全ての頂点に関するデータは、クリッピング処理部１１５をバイパスして、次の透視除算部１１６に送る。ただし、共通領域クリッピング判定部１１４ａによる判定の結果、ポリゴンを構成する全ての線分の両端の頂点が、第３の領域の外側に存在すると判定された場合には、そのポリゴンを構成する全ての頂点に関するデータを破棄する。また、共通領域クリッピング判定部１１４ａによる判定の結果、ポリゴンを構成する各線分の両端に位置する頂点が、第３の領域の境界面に対して外側と内側とにそれぞれ存在すると判定された場合には、そのポリゴンを構成する全ての頂点に関するデータをクリッピング処理部１１５に送る。
【０１０２】
クリッピング処理部１１５に入力された、ポリゴンを構成する頂点に関するデータは、ポリゴンを構成する線分毎に、右視野領域（または左視野領域）の外側に存在する部分がある場合には切り取られて破棄される。このとき、右視野領域（または左視野領域）の外側に存在する頂点は、その線分と視野領域の境界面との交点により置換される。さらに、ポリゴンを構成する頂点に関するデータは、ポリゴンを構成する線分毎に、右視野領域および左視野領域に共通に包含される第３の領域の外側に存在する部分がある場合にも切り取られて破棄される。このときにも、この第３の領域の外側に存在する頂点は、その線分と第３の領域の境界面との交点により置換される。この際に、新しい頂点の光源色は、線分の両端に位置する頂点の光源色から補間により計算される。
【０１０３】
クリッピング処理部１１５において、ポリゴンを構成する全ての線分がクリッピング処理された後、ポリゴンを構成する全ての頂点は、境界面を含んで右視野領域（または左視野領域）の内側に存在することになり、透視除算部１１６に送られる。このとき、右視野用領域および左視野領域のいずれにおいても、共通に包含される第３の領域では、ポリゴンを構成する全ての頂点として同じものが生成されている。
【０１０４】
さらに、透視除算部１１６では、ポリゴンを構成する頂点の透視除算処理を実施して、ビューポート変換部１１７に送る。
【０１０５】
さらに、ビューポート変換部１１７では、ポリゴンを構成する頂点のビューポート変換処理を実施して、ポリゴンリスト出力部１１８に送る。
【０１０６】
さらに、ポリゴンリスト出力部１１８では、ポリゴンを構成する頂点のうち、最大のｙ座標値および最小のｙ座標値を算出し、最大ｙ座標値をインデックスとするリストを生成する。ポリゴンの最小ｙ座標値、ポリゴン属性およびポリゴンを構成する頂点データと共に、右視野画像の場合にはポリゴンリストメモリ１２Ｒに出力して書き込み、また、左視野画像の場合にはポリゴンリストメモリ１２Ｌに出力して書き込む。
【０１０７】
次に、ピクセル演算手段１３Ｒおよび１３Ｌではそれぞれ、右視野用および左視野用の各ポリゴンリストがそれぞれ、ポリゴンリストメモリ１２Ｒまたはポリゴンリストメモリ１２Ｌから読み込まれて、それぞれ、右視野用および左視野用の画像データを生成する。それぞれの画像データは、右視野用のピクセルメモリ１４Ｒおよび左視野用のピクセルメモリ１４Ｌにそれぞれ出力されて書き込まれる。
【０１０８】
以下に、右視野用のピクセル演算手段１３Ｒの処理について説明を行うが、左視野用のピクセル演算手段１３Ｌの処理についても、右視野用ピクセル演算手段１３Ｒの処理の場合と同様であるため、ここではその説明を省略する。
【０１０９】
右視野用のピクセル演算部１２Ｒにおいて、右視野用のピクセルメモリ１４Ｒ内のポリゴンリストは、ポリゴンリスト入力部１３１Ｒに入力されて、表示すべきスキャンライン上に存在するポリゴンを検索する。
【０１１０】
さらに、ポリゴンエッジ計算部１３２Ｒでは、検索されたスキャンラインとポリゴンを構成する左右のエッジの線分との交点の座標および光源色を、線分の両端に位置する頂点の座標および頂点の光源色から補間により算出する。
【０１１１】
さらに、ピクセル処理部１３３Ｒでは、ポリゴンエッジ計算部１３２Ｒで算出されたスキャンライン上の左右のエッジ間に存在する各ピクセル毎のデプス値および光源色を、左右のエッジのデプス値および光源色から補間により算出する。この算出されたピクセルのデプス値が、シーン作成に先立って予め最大値で初期化された図示しないデプス値メモリにおける当該ピクセルのｘ座標に対応するアドレスの値と比較する。この算出されたピクセルのデプス値がデプス値メモリのアドレス値よりも小さい場合には、デプス値メモリの当該アドレスに算出されたピクセルのデプス値が書き込まれると共に、ピクセルメモリ１４Ｒの当該ピクセルのｘ座標に対応するアドレスに算出されたピクセルのカラー値を書き込む。一方、算出されたピクセルのデプス値がデプス値メモリのアドレス値と同じであるか当該アドレス値よりも大きい場合には、算出されたピクセルのデータを破棄する。
【０１１２】
以上の処理によって、スキャンライン毎にデプス値によって陰面消去処理したシーンの画像データを生成して表示画面上に画像表示する。
【０１１３】
図２は、図１の立体視画像装置で使用される視野座標における視野領域および描画されるポリゴンの事例を示す模式図である。
【０１１４】
図２において、視野座標２１の原点を中心として両側に右視点２２Ｒおよび左視点２２Ｌが配置され、ｍｚ軸の負の方向に右視野領域２３Ｒ、左視野領域２３Ｌ、およびこれらの両視野領域２３Ｒおよび２３Ｌに共通に包含された第３の領域２３が定義されている。各々の物体座標により定義されたポリゴン２４およびポリゴン２５は、座標変換によって視野座標２１に変換される。
【０１１５】
図３は、図２の視野座標についてｍｙ軸に対する負の方向を見た図である。
【０１１６】
図３において、左右の視点間の距離を２×Ｄ、ｘ方向の画角を２×ｆｏｖｘ、ｙ方向の画角を２×ｆｏｖｙ、視点から遠側面２７Ａまでの距離をｆ，視点から近側面２７Ｂまでの距離をｎとすると、視野座標２１のｍｘ軸上の右視点２２Ｒ（Ｄ，０，０）からｍｚ軸に対する負の方向に、右視野用として、左側面２６Ａ、右側面２６Ｂ、遠側面２７Ａおよび近側面２７Ｂによって囲まれる右視野領域２３Ｒが形成されている。また、視野座標２１のｍｘ軸上の左視点２２Ｌ（−Ｄ，０，０）からｍｚ軸に対する負の方向に、左視野用として、左側面２６Ｃ、右側面２６Ｄ、遠側面２７Ａおよび近側面２７Ｂによって囲まれる左視野領域２３Ｌが形成されている。本実施形態において、クリッピング処理のための投影変換には、右視野用として下記の式６−１、左視野用として下記の式６−２が用いられる。
【０１１７】
【数７】
2007141156.tif 000009
さらに、図３にハッチングで示すように、右視野領域２３Ｒおよび左視野領域２３Ｌに共通に包含される第３の領域２３として、左側面２６Ａ、右側面２６Ｄ、遠側面２７Ａ、近側面２７Ｂで囲まれる視野領域が定義される。この第３の領域２３に対しては、下記の式６−３の変換式によって透視変換が実行されて、クリッピング処理が実行される。
【０１１８】
【数８】
2007141156.tif 000010
ここで、従来の立体視画像装置の場合と、本実施形態の立体視画像装置１０の場合とを比較して説明する。
【０１１９】
従来の立体視画像装置によりクリッピング処理を行う場合には、左視野画像において、図３に示すポリゴン２４は、左側面２６Ｃ、右側面２６Ｄ、遠側面２７Ａおよび近側面２７Ｂによって囲まれる左視野領域２３Ｌの外側に位置するため、左視点２２Ｌからは見えないポリゴンとして破棄する。また、ポリゴン２５は、視野領域２３Ｌの内部と外部にまたがっているため、右側面２６Ｄよりも外側に位置する部分（ポリゴン２５の一部）を切り取って破棄する。一方、右視野画像において、図３に示すポリゴン２４は、左側面２６Ａ、右側面２６Ｂ、遠側面２７Ａおよび近側面２７Ｂによって囲まれる右視野領域２３Ｒの外側に位置するため、右視点２２Ｒからは見えないポリゴンとして破棄する。また、ポリゴン２５は、右視野領域２３Ｒの内部に包含されるため、右視点２２Ｒから全てが見えるポリゴンとして残る。
【０１２０】
このように、従来の立体視画像装置の場合には、左視野画像と右視野画像とで、画像上に存在するポリゴンが異なっており、そのポリゴンによって構成される物体が立体視されにくくなるという問題があった。
【０１２１】
これに対して、本実施形態の立体視画像装置１０では、右視野領域と左視野領域に共通に包含される共通視野領域である第３の領域２３として、図３に示す左側面２６Ａ、右側面２６Ｄ、遠側面２７Ａ、近側面２７Ｂで囲まれる領域が定義されており、この第３の領域２３に対してクリッピング処理が実施される。これによって、ポリゴン２４は、第３の領域２３の外側に位置するため、見えないポリゴンとして破棄する。また、ポリゴン２５は、第３の領域２３の内部と外部にまたがっているため、右側面２６Ｄよりも外側に位置する部分を切り取って破棄する。
【０１２２】
上記共通視野領域である第３の領域２３に対してクリッピング処理が実施された後、右視野用の視野座標および左視野用の左視野座標において、透視除算による透視変換処理を実施することによって、左視野画像データと右視野画像データに存在するポリゴンが異なることなく、左右の両視点から見た透視変換画像を生成することができる。
【０１２３】
以上により、本実施形態によれば、ジオメトリ演算手段１１によって、物体座標から右視野画像用および左視野画像用の表示座標へ座標変換を行う際に、共通領域クリッピング判定部１１４ａによって、右視野領域および左視野領域に共に包含される共通視野領域である第３の領域２３を定義し、この第３の領域２３に表示させようとする表示対象物体（ポリゴン）が包含されるか否かを判定し、第３の領域２３に完全に包含される表示対象物体のみを表示させる。また、この表示対象物体が第３の領域２３に一部のみ包含される場合には、包含される部分のみを切り出して表示させる。これによって、コンピュータグラフィックスによる３次元図形描画手法により両眼視差方式の立体視画像データを生成する際に、右視野画像データ生成用の右視野領域および左視野画像データ生成用の左視野領域に包含される表示対象物体が異ならないように処理できて、表示させる表示対象物体の表現内容を限定することなく、インタラクティブに視線を動作させることができる。
【０１２４】
なお、本実施形態では、左視野画像と右視野画像とで視差を設けた両眼視差方式の立体視画像データを生成して表示画面上に立体視画像を表示する場合に、ジオメトリ演算手段１１では、１系統の画像生成装置により右視野画像および左視野画像の各画像データを交互に生成するようにし、ポリゴンリストメモリ１２Ｒ，１２Ｌおよびピクセル演算手段１３Ｒ，１３Ｌでは、右視野画像用および左視野画像用に２系統設けたが、これに限らず、図４のように１系統の画像生成装置により右視野画像および左視野画像の各画像データを交互に生成して表示画面上に表示する構成や、図７のように右視野画像用および左視野画像用に２系統の画像生成装置を設けて、右視野画像および左視野画像の各画像データを同時に生成して表示画面上に表示する構成としてもよい。
【０１２５】
また、本実施形態では、特に説明しなかったが、本発明の立体視画像装置１０はハードウェアで構成することもできるし、ソフトウェアで構成することもできる。本発明の立体視画像装置１０は各種のキャラクタを３Ｄで表示画面上に立体表示させて、対戦ゲーム、スポーツゲームおよび音楽ゲームなどの各種ゲームを行うゲーム装置の表示部に内蔵することができる。本発明の立体視画像装置１０をソフトウェアで構成する場合には、ゲーム装置本体に、全体の制御を行う制御手段（立体画像処理部）としてのＣＰＵ（中央演算処理装置）と、この立体視画像データ生成方法の各処理ステップをコンピュータ（ＣＰＵ）に実行させるための立体視画像データ生成プログラム（制御プログラム）や各種ゲームを実行するためのゲームプログラムが記録されたコンピュータ（ＣＰＵ）読み出し可能な可読記録媒体（記憶手段）としてのＲＯＭと、このＲＯＭから本発明の制御プログラムやゲームプログラムが読み出され、ワークメモリとして働く記憶手段としてのＲＡＭと、ＣＰＵにより生成された立体視用の各画像データを表示画像処理して所定の表示画面上に３Ｄの立体画像を表示可能とする液晶表示装置などの表示部とを有している。
【０１２６】
この制御プログラムが記録されたコンピュータ読み取り可能な可読記録媒体としては、ハードディスク、光ディスク、磁気ディスクおよびＩＣメモリなどで構成することができる。これは、携帯自在な光ディスク、磁気ディスクおよびＩＣメモリなどであってもよい。また、この携帯自在な光ディスク、磁気ディスクおよびＩＣメモリなどから本発明の立体視画像装置１０内のハードディスク、光ディスク、磁気ディスクおよびＩＣメモリなどの記憶手段に制御プログラムおよびゲームプログラムがインストールされるように構成してもよいし、インターネットやイントラネット（サーバ装置）を介して、本発明の立体視画像装置１０内のハードディスク、光ディスク、磁気ディスクおよびＩＣメモリなどの記憶手段に制御プログラムおよびゲームプログラムがインストールされるように構成してもよい。
【０１２７】
この場合、ＣＰＵ（制御部）は、ゲームなどの表示画面の進行に合わせて（制御プログラムおよびゲームプログラムに基づいて）、入力される左右視点間の距離情報およびシーンデータを用いて、クリッピング判定手段（クリッピング判定ステップ）およびクリッピング処理手段（クリッピング処理ステップ）により表示対象処理をして、右視野領域用のジオメトリ演算と左視野領域用のジオメトリ演算とを交互または同時に実施し、右視野領域用のポリゴンリストおよび右視野領域用のポリゴンリストを生成するジオメトリ演算手段１１と、立体視画像データとして、この右視野領域用のポリゴンリストから右視野用画像データを生成すると共に、この左視野領域用のポリゴンリストから左視野用画像データを生成するピクセル演算手段（ピクセル演算ステップ）１３Ｒ，１３Ｌとの各機能を順次実行することにより表示画面上に立体画像を表示させることができる。このようなゲーム装置の他に、立体視画像をバーチャルリアリティで映写する立体視画像映写装置などの映画装置にも本発明の立体視画像装置を適用することができる。
【０１２８】
このクリッピング判定手段（クリッピング判定ステップ）は、立体視画像データを生成する際に、右視点視野画像データ生成用の右視野領域および左視点視野画像データ生成用の左視野領域に共通な共通視野領域（第３の領域２３）に表示対象物体が包含されるか否かを判定し、このクリッピング処理手段（クリッピング処理ステップ）は、この共通視野領域（第３の領域２３）に包含される表示対象物体のみを表示対象として座標変換処理する。
【０１２９】
このジオメトリ演算手段（ジオメトリ演算ステップ）としては、制御プログラムに基づいて、
左右視点間の距離情報が入力されると共にシーンデータが入力されてコマンド処理が為され、このシーンデータなどから、表示させようとするシーンの視野領域を定義する視野変換行列と、投影変換行列と、光源情報と、表示対象物体を構成するポリゴンのモデリング変換行列およびその属性と、ポリゴンを構成する頂点の物体座標における座標値および法線ベクトルと、材質属性データを決定するコマンド処理手段（コマンド処理ステップ）と、
入力される投影変換行列がカレント投影変換行列として保持され、入力される視野変換行列がカレントモデリング変換行列として保持され、以降、順次入力されるポリゴンのモデリング変換行列を順次乗算した結果がカレント法線行列およびカレントモデリング変換行列として保持されると共に、視野変換行列とカレントモデリング変換行列との乗算結果がカレントモデリング変換行列として保持され、カレント投影変換行列およびカレントモデリング変換行列のいずれか一方が更新された場合に、カレント投影変換行列とカレントモデリング変換行列との乗算結果がカレントマトリクスとして保持されるマトリクス演算手段（マトリクス演算ステップ）と、
入力された頂点の法線ベクトルをカレント法線行列により座標変換し、頂点の材質属性を用いて頂点の光源色を計算すると共に、入力された頂点の物体座標をカレントマトリクス情報により投影座標に変換する頂点輝度計算手段（頂点輝度計算ステップ）と、
投影座標に変換された頂点がポリゴン毎に供給されて、遠側面、近側面、右側面、左側面、上側面および下側面の６つの側面で構成される共通視野領域（第３の領域）に対して、ポリゴンを構成する各線分の両端の頂点が外側に存在するか内側に存在するかを判定し、ポリゴンを構成する全ての線分の両端に位置する頂点が視野領域の外側に存在すると判定された場合には、そのポリゴンを構成する全ての頂点に関するデータを破棄するクリッピング判定手段（クリッピング判定ステップ）と、
このクリッピング判定手段によってポリゴンを構成する各線分の両端に位置する頂点が共通視野領域の境界面に対して外側と内側とに存在すると判定された場合に、そのポリゴンを構成する全ての頂点に対して、ポリゴンを構成する線分毎に、共通視野領域の外側に存在する部分を切り取って破棄し、共通視野領域の外側に存在する頂点をその線分とその共通視野領域の境界面との交点により置換するクリッピング処理を施すクリッピング処理手段（クリッピング処理ステップ）と、
このクリッピング判定手段によってポリゴンを構成する全ての頂点が共通視野領域の内側に存在すると判定された場合に、そのポリゴンを構成する全ての頂点に対して透視除算を実施すると共に、クリッピング処理手段によってクリッピング処理が施されたポリゴンに対しても、そのポリゴンを構成する全ての頂点に対して透視除算を実施する透視除算手段（透視除算ステップ）と、
このポリゴンを構成する頂点のビューポート変換を実施するビューポート変換手段（ビューポート変換ステップ）と、
このポリゴンを構成する頂点のうち、最大のｙ座標値および最小のｙ座標値を算出し、最大ｙ座標値をインデックスとするリストを生成しながら、ポリゴンの最小ｙ座標値をポリゴン属性および、ポリゴンを構成する頂点データと共に出力するポリゴンリスト出力手段（ポリゴンリスト出力ステップ）との各機能を実行するものであり、
このクリッピング判定手段は、ポリゴンを構成する全ての線分の両端に位置する頂点が共通視野領域（第３の領域２３）の外側に存在すると判定した場合には、そのポリゴンを構成する全ての頂点に関するデータを破棄し、また、ポリゴンを構成する各線分の両端に位置する頂点が共通視野領域（第３の領域２３）の境界面に対して外側と内側とに存在すると判定した場合には、そのポリゴンを構成する全ての頂点に関するデータをクリッピング処理手段に送り、さらには、ポリゴンを構成する全ての頂点が視野領域の内側に存在すると判定した場合には、そのポリゴンを構成する全ての頂点に関するデータをクリッピング処理手段をバイパスして透視除算手段に直に送るように制御が為される。
【０１３０】
また、ピクセル演算手段（ピクセル演算ステップ）としては、制御プログラムに基づいて、
ポリゴンリストが入力されて、表示すべきスキャンライン上に存在するポリゴンを検索するポリゴンリスト入力手段（ポリゴンリスト入力ステップ）と、
スキャンラインとポリゴンを構成する左右のエッジの線分との交点の座標および光源色を、ポリゴンを構成する線分の両端の頂点の座標および頂点の光源色から補間により算出するポリゴンエッジ計算手段（ポリゴンエッジ計算ステップ）と、
算出されたスキャンライン上の左右のエッジ間の各ピクセルに対して、各ピクセル毎のデプス値および光源色を、左右のエッジのデプス値および光源色から補間により算出し、算出されたピクセルのデプス値によって陰面消去処理を行うピクセル処理手段（ピクセル処理ステップ）との各機能を実行する。
【０１３１】
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
【産業上の利用可能性】
【０１３２】
本発明は、コンピューターグラフィックスによる３次元図形描画手法を利用して、両眼視差方式の立体視画像データを生成する立体視画像装置、これを用いたゲーム装置、これを用いて立体視画像を映写する立体視画像映写装置、この立体視画像装置を用いた立体視画像データ生成方法、この立体視画像データ生成方法の各処理をコンピュータに実行させるための制御プログラムおよびこれを記録したコンピュータ読み取り可能な可読記録媒体の分野において、立体視用に予め想定された物体を正面の限られた範囲で動作させたり、視線の動作範囲を限定したりする必要がなく、表示させる物体の表現内容を限定することなく、インタラクティブに視線を動作させることができる。
【図面の簡単な説明】
【０１３３】
【図１】本発明の実施形態に係る立体視画像装置の要部構成例を示すブロック図である。
【図２】図１の立体視画像装置で使用される視野座標における視野領域およびこれに描画されるポリゴンの事例を示す模式図である。
【図３】図２の視野座標についてｍｙ軸に対する負の方向を見た平面図である。
【図４】コンピュータグラフィックスによる３次元図形描画手法を用いた従来の立体視画像装置の構成例を示すブロック図である。
【図５】図４の立体視画像装置において、使用される視野座標における視野領域およびこれに描画されるポリゴンの事例を示す模式図である。
【図６】図５の視野座標について、ｍｙ軸に対する負の方向を見た平面図である。
【図７】図４の立体視画像装置を、右視野画像および左視野画像用に２系統使用して、両眼視差方式の立体視画像を生成する従来の立体視画像装置の構成例を示すブロック図である。
【符号の説明】
【０１３４】
１０  立体視画像装置
１１  ジオメトリ演算手段
１１１  コマンド処理部
１１２  マトリクス演算部
１１３  頂点輝度計算部
１１４  クリッピング判定部
１１４ａ  共通領域クリッピング判定部
１１５  クリッピング処理部
１１６  透視除算部
１１７  ビューポート変換部
１１８  ポリゴンリスト出力部
１２Ｒ、１２Ｌ  ポリゴンリストメモリ
１３Ｒ、１３Ｌ  ピクセル演算手段
１３１Ｒ、１３１Ｌ  ポリゴンリスト入力部
１３２Ｒ、１３２Ｌ  ポリゴンエッジ計算部
１３３Ｒ、１３３Ｌ  ピクセル処理部
１４Ｒ、１４Ｌ  ピクセルメモリ
２１  視野座標
２２Ｒ  右視点（一方視点）
２２Ｌ  左視点（他方視点）
２３  第３の領域（共通視野領域）
２３Ｒ  右視野領域（一方視野領域）
２３Ｌ  左視野領域（他方視野領域）
２４、２５  ポリゴン
２６Ａ、２６Ｃ  左側面
２６Ｂ、２６Ｄ  右側面
２７Ａ  遠側面
２７Ｂ  近側面
【図１】
2007141156.tif 000011
【図２】
2007141156.tif 000012
【図３】
2007141156.tif 000013
【図４】
2007141156.tif 000014
【図５】
2007141156.tif 000015
【図６】
2007141156.tif 000016
【図７】
2007141156.tif 000017