(57)【要約】【課題】立体画像表示システムにおいて、システム全体の低コスト化と、右眼用および左眼用の視差画像生成の高速化を両立することである。【解決手段】ポリゴンの分割手段と前記分割手段によって生成された複数の小ポリゴンの各々について右眼用画像と左眼用画像を時分割で描画する描画手段とを備え、前記描画手段はテクスチャデータを一時的に記憶する記憶手段を備え、前記小ポリゴンに対するテクスチャマッピング処理において、前記記憶手段が保持するテクスチャデータの右眼用画像および左眼用画像における再利用率が増加するように前記分割手段が細分割を行う構成とした。【選択図】図１
2006331062.tif 000002
【特許請求の範囲】
【請求項１】
立体視用の右眼用画像と左眼用画像を生成する立体画像生成方法であって、
表示対象物の３次元モデルデータを構成するポリゴンの各々について細分割を行う分割手段と、前記分割手段によって生成された複数の小ポリゴンの各々について前記右眼用画像および前記左眼用画像を時分割で描画する描画手段とを備え、前記描画手段は前記小ポリゴンにテクスチャを貼り付けるテクスチャマッピング手段と、テクスチャデータを一時的に記憶する記憶手段とを備え、
前記テクスチャマッピング手段における前記小ポリゴンに対するテクスチャマッピング処理において、前記記憶手段が保持するテクスチャデータの前記右眼用画像および前記左眼用画像における再利用率が増加するように前記分割手段が細分割を行うことを特徴とする立体画像生成方法。
【請求項２】
前記ポリゴンに貼り付けられるテクスチャデータの面積と、前記記憶手段が保持できるテクスチャデータの面積の比に依存して、前記分割手段が細分割条件を決定することを特徴とする請求項１記載の立体画像生成方法。
【請求項３】
前記小ポリゴンに貼り付けられるテクスチャデータの面積と、前記記憶手段の更新単位に相当するテクスチャデータの面積が同程度の大きさになるまで、前記分割手段が細分割を繰り返すことを特徴とする請求項１記載の立体画像生成方法。
【請求項４】
立体視用の右眼用画像と左眼用画像を生成する立体画像生成装置であって、
表示対象物の３次元モデルデータを構成するポリゴンの各々について細分割を行う分割処理部と、前記分割処理部によって生成された複数の小ポリゴンの各々について前記右眼用画像および前記左眼用画像を時分割で描画するラスタライザとを備え、前記ラスタライザは前記小ポリゴンにテクスチャを貼り付けるテクスチャマッピング処理部と、テクスチャデータを一時的に記憶するテクスチャキャッシュとを備え、
前記テクスチャマッピング処理部における前記小ポリゴンに対するテクスチャマッピング処理において、前記テクスチャキャッシュが保持するテクスチャデータの、前記右眼用画像および前記左眼用画像における再利用率が増加するように前記分割処理部が細分割を行うことを特徴とする立体画像生成装置。
【請求項５】
前記ポリゴンに貼り付けられるテクスチャデータの面積と、前記テクスチャキャッシュが保持できるテクスチャデータの面積の比に依存して、前記分割処理部が細分割条件を決定することを特徴とする請求項４記載の立体画像生成装置。
【請求項６】
前記小ポリゴンに貼り付けられるテクスチャデータの面積と、前記テクスチャキャッシュの更新単位に相当するテクスチャデータの面積が同程度の大きさになるまで、前記分割処理部が細分割を繰り返すことを特徴とする請求項４記載の立体画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューターグラフィックスを用いた立体画像生成技術に関し、特に左右両眼のそれぞれの視点から見た視差画像を高速に生成する方法、およびこれを用いた立体画像生成装置に関する。
【背景技術】
【０００２】
一般的な立体画像表示システムでは、右眼に対しては右眼を視点として描かれた画像が、左眼に対しては左眼を視点として描かれた画像が個別に提示される。通常、このような右眼および左眼を視点とした２つの画像（以下、右眼用画像および左眼用画像と表記する）において、視点から遠い位置にあるオブジェクトは、両眼からの視線がほぼ平行であって見え方がほぼ同じであるので、ほぼ同じ位置に描画される。一方、視点から近い位置にあるオブジェクトは、両眼からの視線が非平行であって見え方が異なるので、互いにずれた位置に描画される。このような視差のある画像（以下、視差画像と表記する）を右眼および左眼それぞれで見るとき、観測者はオブジェクトに対して遠近感を知覚する。
【０００３】
視差画像の生成に関しては、左右２台のカメラを用いて被写体を撮影する写実的手法と、コンピュータグラフィックス技術を用いて左右両眼を視点とするモデルデータの視野変換によって視差画像を生成する仮想的手法があるが、本発明は特に後者に関するものである。
【０００４】
一般的なコンピュータグラフィックスでは、３次元空間内に定義されたオブジェクトを複数のポリゴン（多角形）の集合によって表現する。ポリゴンとしては通常、最も簡単な三角形が用いられることが多い。オブジェクトを構成している各ポリゴンは、ベクトルや行列などの数学的手法を用いて、それ自身が持つオブジェクト座標から、観測者の視点の位置を基準とした３次元座標、すなわち視野座標へと座標変換が行われる。さらにディスプレイ装置へ表示するために、前記視野座標で表現されたポリゴンを２次元平面へ透視投影するための座標変換（透視変換）が行われる。これら一連の座標変換が行われた後の最終的なポリゴンの位置データは、ディスプレイに対して垂直な方向（Ｚ軸）への視点からの距離を表すＺ値と、ディスプレイ面内での位置座標を表すＸ値およびＹ値となる。
【０００５】
各ポリゴンを構成する画素の色値の決定方法に関しては、前記視野座標において仮想的な光源が配置され、この光源からポリゴンを構成する各頂点に照射される光の強度を物理的に計算し、さらにそれらの値からポリゴン内のラスタライズ過程において各画素位置における光の強度を線形補間によって求める方法がある。あるいは、もう一つの方法として、ポリゴン表面にテクスチャと呼ばれる、物体表面の質感や特殊な模様などを表す画像を貼り付ける方法がある。この場合には、座標変換前のオブジェクト座標の段階で、オブジェクトを構成するポリゴンの各頂点に対して位置座標の他にテクスチャ座標が与えられる。そして前述の光強度の場合と同様に、ポリゴンのラスタライズ過程において各画素位置ごとに前記テクスチャ座標が線形補間され、求められたテクスチャ座標に応じて前記画素の色値が決定される。
【０００６】
以上のような手続きによって、特定の視点から見たグラフィックス画像を生成することができるが、前述のような立体視のための視差画像を生成するためには、前記視点の位置を右眼および左眼のそれぞれの位置に置き換え、同一のオブジェクトを２回描画することによって、右眼用画像および左眼用画像を生成することが可能である。
【０００７】
高価なシステムでは、上記のようなグラフィックス描画装置を２つ備え、各々において右眼用画像および左眼用画像を同時に生成することにより高速化が可能である。しかしながら、システム全体のコストが高くなってしまうという欠点がある。例えば特許文献１に、ディスプレイリストの読み込み部を共通化し、座標変換部以降を並列化して高速化する方法が開示されている。
【０００８】
一方、廉価なシステムでは、グラフィックス描画装置が１つしか存在しないため、右眼用画像および左眼用画像を時分割で生成する必要がある。この場合、当然、描画時間が長くなってしまう。この課題を解決する１つの方法が、例えば特許文献２に開示されている。特許文献２では、入力段にポリゴンデータを記憶しておくバッファと、右眼用および左眼用の座標変換行列を同時に記憶しておくメモリとを備え、ポリゴンごとに時分割で前記左右の座標変換行列を切り替えて適用することにより、ポリゴン単位で右眼用画像と左眼用画像を切り替えながら描画する方法が開示されている。この方法は、１フレーム単位で右眼用画像と左眼用画像の描画を切り替える方法に比べて、ポリゴンデータの入力が１回で済み、データバスバンド幅を節約できるという利点がある。したがって、描画速度が多少高速になる。しかしながら、システム全体の描画速度を決定づける要因は、ポリゴンデータの入力によるデータバスバンド幅だけではなく、フレームバッファやテクスチャバッファのアクセスによるデータバスバンド幅にも起因しているため、描画速度がそれほど大きく改善されるわけではない。
【特許文献１】特開平１０−２３２９５３号公報（第８頁、図１）
【特許文献２】特開平１１−７３５２３号公報（第２５頁、図７）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記のように、立体視に必要な右眼用画像および左眼用画像を高速に生成するために、グラフィックス描画装置を並列化すれば、システム全体のコストが高くなってしまうという課題がある。一方、グラフィックス描画装置を並列化せずに、単一のグラフィックス描画装置によりポリゴン単位で右眼用画像および左眼用画像を切り替えながら時分割で描画する方法では、コストの上昇が抑えられ、かつポリゴンの入力が１回ずつで済むのでデータバスバンド幅が小さくなって全体として多少の処理速度の向上が見込まれる。しかしながら、その他のデータバスバンド幅、例えば、フレームバッファやテクスチャバッファのアクセスに起因するデータバスバンド幅は依然として大きく、描画速度が遅いという課題が完全に解決されるわけではない。以下に、特にテクスチャバッファのアクセスによって描画速度が低下している理由を、図３を参照しながら詳細に説明する。
【００１０】
図３は、右眼用画像３０１および左眼用画像３０２において、三角形３０３および三角形３０４を時分割で描画される様子を示している。三角形３０３および三角形３０４はもともとは同じ三角形であるが、それぞれ右眼および左眼を視点とした座標変換が適用され、視差の分だけわずかに位置が異なっている。なお、三角形３０３および三角形３０４にはテクスチャが貼り付けられている。図３には図示していないグラフィックス描画装置によって、まず最初に右眼用画像３０１の三角形３０３が描画されるものとする。このとき、前記グラフィックス描画装置は三角形３０３を例えば図中の矢印ＳＲのようにラスタライズし、テクスチャを参照しながら描画していく。次に、前記グラフィックス描画装置は左眼用画像３０２を生成するため三角形３０４を右眼用画像３０１と同様の方法で、矢印ＳＬのようにラスタライズし、テクスチャを参照しながら描画する。
【００１１】
上記のテクスチャ参照に関して、一般的なグラフィックス描画装置は、高速アクセスが可能なテクスチャキャッシュを備えている場合が多い。前記テクスチャキャッシュ内に、三角形に貼り付けるためのテクスチャデータが存在する場合には、すぐさまテクスチャキャッシュを参照して画素にテクスチャを貼り付けることができる。逆にテクスチャデータがテクスチャキャッシュに存在しない場合には、テクスチャキャッシュよりも低速な外部メモリにアクセスし、テクスチャキャッシュに一度読み込んでから画素にテクスチャを貼り付けなければならない。ここで、描画速度の遅延が生じる。
【００１２】
なお、テクスチャキャッシュが保持できるテクスチャサイズは有限であって、グラフィックス描画装置自体のコストに直結する要素であるため、ユーザーが実際に使用したいテクスチャサイズに比べて、遥かに小さなテクスチャキャッシュしか現実には実装されていないケースが少なくない。したがって、実際のところは、外部メモリからテクスチャキャッシュへの読み込みが頻発して、描画速度が遅くなっているという課題がある。
【００１３】
立体画像表示システムの場合、前記グラフィックス描画装置が右眼用画像を描画した後に続けて左眼用画像を描画する際に、ほとんど同じテクスチャを参照するにも拘わらず、テクスチャキャッシュにはもうすでに必要なテクスチャデータが存在せず、すなわちキャッシュがミスし、外部メモリへのアクセスが発生して描画速度が遅くなっている。以上のことを踏まえ、本発明が解決しようとする課題は、立体画像表示システム全体の低コスト化と描画速度の高速化の両立を達成することである。
【課題を解決するための手段】
【００１４】
上記の課題を解決するために、本発明では以下の手段を講じた。すなわち、立体視用の右眼用画像と左眼用画像を生成する場合において、表示対象物の３次元モデルデータを構成するポリゴンの各々について細分割を行う分割手段と、前記分割手段によって生成された複数の小ポリゴンの各々について前記右眼用画像および前記左眼用画像を時分割で描画する描画手段とを備え、前記描画手段は前記小ポリゴンにテクスチャを貼り付けるテクスチャマッピング手段と、テクスチャデータを一時的に記憶する記憶手段とを備え、前記テクスチャマッピング手段における前記小ポリゴンに対するテクスチャマッピング処理において、前記記憶手段が保持するテクスチャデータの前記右眼用画像および前記左眼用画像における再利用率が増加するように前記分割手段が細分割を行う構成とした。
【００１５】
また、前記ポリゴンに貼り付けられるテクスチャデータの面積と、前記記憶手段が保持できるテクスチャデータの面積の比に依存して、前記分割手段が細分割条件を決定する構成とした。
【００１６】
さらに、前記小ポリゴンに貼り付けられるテクスチャデータの面積と、前記記憶手段の更新単位に相当するテクスチャデータの面積が同程度の大きさになるまで、前記分割手段が細分割を繰り返す構成とした。
【発明の効果】
【００１７】
本発明によれば、低コストで、かつ右眼用画像と左眼用画像を高速に描画可能な立体画像表示システムを提供することが可能である。さらに本発明によれば、立体画像のデータ量を多くして表現力を高めたり、動きに切れのある、滑らかな立体動画を視聴者に提供できるという効果がある。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１９】
（実施の形態１）
図１において、１０１は現在描画しようとしている三角形である。三角形１０１には分割処理が適用され、分割された複数の三角形１０２を得る。このとき、三角形を分割する際の条件、例えば、分割するための新しい頂点の位置座標、あるいはどこまで細かく分割するかといった条件は、入力される三角形の大きさや貼り付けられるテクスチャのサイズなどに対応させて決定される。
【００２０】
次に、前記分割された三角形１０２のうち、最初に描画すべき三角形Ａを構成する頂点について右眼を視点とした座標変換が行われ、三角形ＡＲの位置座標が求められる。その後、ラスタライズ処理によって前記三角形ＡＲの内部にあるすべての画素についてテクスチャマッピングが適用され、最終的に右眼用画像を保持する描画領域に書き込まれる。次に、前記三角形ＡＲと同様にして、前記三角形Ａを構成する頂点について左眼を視点とした座標変換を行うことによって三角形ＡＬの位置座標が求められ、ラスタライズ処理によって前記三角形ＡＬの内部にあるすべての画素についてテクスチャマッピングが適用され、最終的に左眼用画像を保持する描画領域に書き込まれる。なお言うまでもないが、描画順序を逆にして、先に左眼用画像に対して三角形ＡＬを描画してから、その後で右眼用画像に対して三角形ＡＲを描画するようにしても良い。
【００２１】
次に、前記分割された三角形１０２のうち、三角形Ａに隣接する三角形Ｂが描画すべき対象となる。三角形Ｂも三角形Ａと同様に、まず右眼を視点とした座標変換およびラスタライズを行った後、左眼を視点とした座標変換およびラスタライズを行うのであるが、ここで、三角形Ａおよび三角形Ｂの間で共有されている頂点に関しては、特に座標変換を２回ずつ行う必要はなく、三角形Ａの座標変換によって得られた頂点の位置座標を三角形Ｂにおいても再利用するような構成にした方が処理が高速である。
【００２２】
以降、前記分割された三角形１０２の残りの三角形についても同様に描画され、前記分割された三角形１０２が右眼用画像および左眼用画像に対して交互に順次塗られていき、最終的に右眼用画像１０３および左眼用画像１０４を得る。ここまでが入力される１個の三角形に対する一連の処理である。複数の三角形を描画する場合も同様に、構成される三角形の各々に対して前記三角形１０１と同様の処理が繰り返し適用されることによって、最終的な右眼用画像１０３および左眼用画像１０４を得ることができる。
【００２３】
以上のように、入力される三角形を細かく分割し、分割された三角形ごとに右眼用画像および左眼用画像を時分割で描画するようにすれば、テクスチャマッピングの際にテクスチャキャッシュに格納されているテクスチャデータを再利用する確率が極めて高くなり、したがって低速な外部メモリへのアクセスが低減するのでデータバスバンド幅が低減され、描画速度が格段に高速になる。
【００２４】
（実施の形態２）
図２に、本実施の形態における立体画像生成装置の構成を示す。図２において、２０１はポリゴン入力部、２０２は分割処理部、２０３は分割処理用メモリ、２０４は頂点処理部、２０５は左右座標変換に用いられる変換係数用メモリ、２０６は左右座標変換後の頂点データバッファ、２０７はセットアップ処理部、２０８はラスタライザ、２０９はテクスチャキャッシュ制御部、２１０はテクスチャキャッシュメモリ、２１１はメモリコントローラ、２１２はテクスチャバッファ、２１３はフレームバッファである。なお、本実施の形態では、テクスチャバッファ２１２とフレームバッファ２１３を便宜上、区別したが、これらが１つのメモリ上に配置されていても良い。以下に、ポリゴン入力部２０１にポリゴンが１つ入力された場合における各ブロックの動作について説明する。
【００２５】
ポリゴン入力部２０１に入力されたポリゴンデータは、分割処理部２０２によってポリゴンの分割が行われる。このとき、分割処理用メモリ２０３には分割処理中の一時データや分割処理後の頂点データが格納される。このとき、ポリゴンを分割する際の条件、例えば、分割するための新しい頂点の位置座標、あるいはどこまで細かく分割するかといった条件は、ポリゴンの大きさや貼り付けられるテクスチャのサイズなどに対応させて決定するのが好ましい。１つのポリゴンについて分割処理が完了すると、分割処理用メモリ２０３上にある分割処理後の頂点データは、頂点処理部２０４へ送られる。
【００２６】
頂点処理部２０４では、まず変換係数用メモリ２０５から右眼を視点としたときの座標変換係数を読み出し、前記分割処理後の頂点データに対して座標変換を適用する。そして、座標変換の結果を左右座標変換後の頂点データバッファ２０６に格納する。（なお、頂点処理部では必要に応じて光源に対する照度計算を行っても良い。）次に、前記頂点データバッファ２０６に１個のポリゴンを構成する頂点データがすべて揃った段階（三角形の場合は３つの頂点データが揃った段階）で、セットアップ処理部２０７は、ラスタライザ２０８がラスタライズ処理するのに必要な描画パラメータ（例えば、ポリゴンの辺の傾きや、テクスチャ座標のＸ方向増分やＹ方向増分など）を計算する。ラスタライザ２０８は、セットアップ処理部２０７からの前記描画パラメータを用いてポリゴン内部を画素単位で走査し、各画素位置におけるテクスチャ座標を求め、前記テクスチャ座標に対応するテクスチャデータをテクスチャキャッシュ制御部２０９に要求する。テクスチャキャッシュ制御部２０９は、ラスタライザ２０８が要求するテクスチャデータがテクスチャキャッシュメモリ２１０内に存在していれば、すぐさまそれを読み出してラスタライザ２０８に返す。もし存在しなければ、テクスチャキャッシュ制御部２０９はメモリコントローラ２１１を通じて、テクスチャバッファ２１２から必要なテクスチャデータを読み込んでテクスチャキャッシュメモリ２１０を更新するとともに、要求されたテクスチャデータをラスタライザ２０８に返す。ラスタライザ２０８は得られたテクスチャデータを画素に貼り付け、メモリコントローラ２１１を通してフレームバッファ２１３の右眼用画像領域に書き込む。以上が右眼用画像に対する処理である。
【００２７】
上記の右眼用画像に対する処理に続けて、同様に左眼用画像に対する処理を行う（勿論、先に左眼用画像に対する処理を行っても良い）。頂点処理部２０４は、変換係数用メモリ２０５から左眼を視点としたときの座標変換係数を読み出し、前記分割処理後の頂点データに対して座標変換を適用し、結果を頂点データバッファ２０６に格納する。以降、セットアップ処理部２０７、ラスタライザ２０８、テクスチャキャッシュ制御部２０９における各動作は、右眼用画像の場合と全く同様であり、最終的な画素値がフレームバッファ２１３の左眼用画像領域に書き込まれる。ただし、ここで特筆すべき点は、ラスタライザ２０８がテクスチャキャッシュ制御部２０９に対してテクスチャデータを要求するとき、テクスチャキャッシュメモリ２１０内に前記テクスチャデータが存在している確率は極めて高いということである。なぜなら、入力されたポリゴンは、分割処理部２０２によって細かく分割されているため、上記の右眼用画像に対する処理において使用されたテクスチャデータが、テクスチャキャッシュメモリ２１０から追い出されずに残っている可能性が高く、したがって左眼用画像に対する処理においても再利用される可能性が高いからである。
【００２８】
以上のように、本実施の形態によって、右眼用画像および左眼用画像を描画する際の高速化が可能である。なお、複数のポリゴンが入力される場合においても上記と全く同様に動作することが可能なので、描画速度の高速化が同様に期待できる。
【産業上の利用可能性】
【００２９】
本発明は、立体画像表示システムを搭載するさまざまな電子機器、例えば、携帯電話、ＰＤＡ、デジタルテレビ、カーナビゲーションシステム、家庭用ゲーム機、パーソナルコンピュータ等において利用可能である。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施の形態１における立体画像生成方法を示す図
【図２】本発明の実施の形態２における立体画像生成装置を示す図
【図３】従来技術における立体画像生成方法を説明するための図
【符号の説明】
【００３１】
１０１    入力される三角形
１０２    分割された三角形
１０３，３０１    右眼用画像
１０４，３０２    左眼用画像
２０１    ポリゴン入力部
２０２    分割処理部
２０３    分割処理用メモリ
２０４    頂点処理部
２０５    変換係数用メモリ
２０６    頂点データバッファ
２０７    セットアップ処理部
２０８    ラスタライザ
２０９    テクスチャキャッシュ制御部
２１０    テクスチャキャッシュメモリ
２１１    メモリコントローラ
２１２    テクスチャバッファ
２１３    フレームバッファ
３０３，３０４    描画された三角形
Ａ，ＡＲ，ＡＬ，Ｂ    分割された三角形
ＳＲ，ＳＬ    走査方向を示す矢印
【図１】
2006331062.tif 000003
【図２】
2006331062.tif 000004
【図３】
2006331062.tif 000005