(57)【要約】  【課題】  様々な立体表示デバイスのそれぞれに対応した立体画像の生成処理を容易に行えるようにする。  【解決手段】  立体画像生成プログラムは、立体画像の立体視に使用される立体表示デバイスに関するデバイス情報を取得する情報取得ステップＳ５００と、該デバイス情報に応じて、該立体表示デバイスに対応した立体画像の生成処理に用いるデバイス対応プログラムを取得するプログラム取得ステップＳ４００と、複数の視点画像を取得する画像取得ステップＳ４０４と、該複数の視点画像とデバイス対応プログラムとを用いて立体画像を生成する画像生成ステップＳ４０５とを有する。  【選択図】  図４
2006140553.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
立体画像の立体視に使用される立体表示デバイスに関するデバイス情報を取得する情報取得ステップと、
前記デバイス情報に応じて、該立体表示デバイスに対応した前記立体画像の生成処理に用いるデバイス対応プログラムを取得するプログラム取得ステップと、
複数の視点画像を取得する画像取得ステップと、
前記取得された複数の視点画像およびデバイス対応プログラムを用いて前記立体画像を生成する画像生成ステップとを含む処理を実行させるためのコンピュータプログラムであることを特徴とする立体画像生成プログラム。
【請求項２】
該立体画像生成プログラムは、プログラムの変更が可能なグラフィックス・プロセッシング・ユニットを有するコンピュータにより実行され、
前記画像生成ステップは、前記コンピュータに、前記取得されたデバイス対応プログラムを前記グラフィックス・プロセッシング・ユニットに設定させることを特徴とする請求項１に記載の立体画像生成プログラム。
【請求項３】
前記画像取得ステップは、前記コンピュータに、前記立体表示デバイスの立体表示に関するパラメータ情報に基づいて前記複数の視点画像を取得させることを特徴とする請求項１又は２に記載の立体画像生成プログラム。
【請求項４】
前記画像取得ステップは、前記コンピュータに、コンピュータグラフィクスにおける三次元モデル情報に基づいて前記複数の視点画像を生成させることを特徴とする請求項１から３のいずれか１つに記載の立体画像生成プログラム。
【請求項５】
前記デバイス情報は、前記立体表示デバイスの立体表示方式および視点数を示す情報を少なくとも含むことを特徴とする請求項１から４のいずれか１つに記載の立体画像生成プログラム。
【請求項６】
立体画像の立体視に使用される立体表示デバイスに関するデバイス情報を取得する情報取得手段と、
該デバイス情報に応じて、該立体表示デバイスに対応した前記立体画像の生成処理に用いるデバイス対応プログラムを取得するプログラム取得手段と、
複数の視点画像を取得する画像取得手段と、
前記取得された複数の視点画像およびデバイス対応プログラムを用いて前記立体画像を生成する画像生成手段とを有することを特徴とする立体画像生成装置。
【請求項７】
前記画像生成手段は、プログラムの変更が可能なグラフィックス・プロセッシング・ユニットを有し、
前記画像生成手段は、前記取得されたデバイス対応プログラムを前記グラフィックス・プロセッシング・ユニットに設定することを特徴とする請求項６に記載の立体画像生成装置。
【請求項８】
請求項５に記載の立体画像生成装置と、
該立体画像生成装置により生成された立体画像の立体視を行わせる立体表示デバイスとを有することを特徴とする立体表示システム。
【請求項９】
立体画像の立体視に使用される立体表示デバイスに関するデバイス情報を取得する情報取得ステップと、
該デバイス情報に応じて、該立体表示デバイスに対応した前記立体画像の生成処理に用いるデバイス対応プログラムを取得するプログラム取得ステップと、
複数の視点画像を取得する画像取得ステップと、
前記取得された複数の視点画像およびデバイス対応プログラムを用いて前記立体画像を生成する画像生成ステップとを有することを特徴とする立体画像生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の視点画像に基づいて、立体表示デバイスを用いて立体視が可能な立体画像を生成するコンピュータプログラム、装置および方法に関するものである。
【背景技術】
【０００２】
従来、立体画像を表示する手法として様々な方式が開発されているが、最近では、立体視域を広げ、滑らかな運動視差を提示可能としたいわゆる多眼式立体表示方式が検討されており、さらに、観察者の瞳に２つ以上の視差画像を同時に提示可能な超多眼立体表示を実現する立体表示方式も提案されている（例えば、非特許文献１参照）。
【０００３】
上述した立体表示方式では、いずれも複数の視点位置で取得あるいは生成された画像（視点画像）をもとに、特定の光学系に対応した画素配列を有する立体画像を合成し、その立体画像を該特定の光学系を介して観察することで立体像を知覚することができるようにするものである。特定の光学系としては、レンチキュラー板やパララクスバリアを用いて立体画像上の各視点に対応した画素からの光を特定の視点に導くものが一般的である。
【０００４】
ここで、レンチキュラー板を利用した立体表示デバイスに表示される立体画像の生成手法について、図１１および図１２を用いて説明する。
【０００５】
図１１には、４台のカメラ１１０〜１１３を用いて４つの視点画像を取得している様子を示している。４台のカメラ１１０〜１１３は、その光学中心が基線１１４上に並び、かつ互いに平行視（撮影光軸が平行）となるよう所定の間隔（基線長）を空けて配置されている。
【０００６】
今、ｊ番目の視点の画素値をＰｊｍｎ（ただし、ｍ、ｎはそれぞれ水平、垂直方向の画素配列のインデックス）としたとき、ｊ番目の画像データは以下のような二次元配列として表される。
【０００７】
Ｐｊ１１Ｐｊ２１Ｐｊ３１・・・・
Ｐｊ１２Ｐｊ２２Ｐｊ３２・・・・
Ｐｊ１３Ｐｊ２３Ｐｊ３３・・・・
そして、レンチキュラー板を用いて観察するための立体画像は、それぞれの視点画像を垂直方向に延びる１画素ライン毎に短冊状に分解し、これらの画素ラインを、同一画素を含む４つの画素ラインごとに視点位置の配置順とは逆の順で並べたものに相当する。従って、立体画像は以下に示すようなストライプ状の画像となる。
【０００８】
Ｐ４１１Ｐ３１１Ｐ２１１Ｐ１１１Ｐ４２１Ｐ３２１Ｐ２２１Ｐ１２１Ｐ４３１Ｐ３３１Ｐ２３１Ｐ１３１・・
Ｐ４１２Ｐ３１２Ｐ２１２Ｐ１１２Ｐ４２２Ｐ３２２Ｐ２２２Ｐ１２２Ｐ４３２Ｐ３３２Ｐ２３２Ｐ１３２・・
Ｐ４１３Ｐ３１３Ｐ２１３Ｐ１１３Ｐ４２３Ｐ３２３Ｐ２２３Ｐ１２３Ｐ４３３Ｐ３３３Ｐ２３３Ｐ１３３・・
なお、図１１において最も左側の視点１（図１１の〈１〉：図には丸囲み数字で示す）に対応する視点画像の画素ラインは、４つの視点画像の画素ラインのうち最も右側に配置され、最も右側の視点４（図１１の〈４〉）に対応する視点画像の画素ラインは最も左側に配置される。このように視点画像（画素ライン）の並び順を視点位置の並び順と逆にするのは、レンチキュラー板の１ピッチ内で画像が左右逆に提示されるためである。
【０００９】
このようにして作成された立体画像を、図１２に示すようにディスプレイ１２００に表示し、レンチキュラー板１２０１を介して見ることで、立体像を観察することが可能となる。
【００１０】
なお、視点画像を撮影するカメラは４台に限らず、１台のカメラを順次移動させて複数の視点画像を撮影する場合もある。また、本出願人が特許文献１等にて提案しているように、ステレオアダプタを装着したカメラによって一対のステレオ画像を入力し、そのステレオ画像間での対応点抽出結果から奥行きを表す視差マップを作成し、該視差マップを利用してフォワードマッピングすることで、撮影していない視点位置に対応する新規視点画像を作成するようにしてもよい。そして、これらいずれの方法によって得られた複数の視点画像を用いても立体画像を生成することができる。
【００１１】
また、本出願人が特許文献２で提案している立体表示デバイスを用いる場合の立体画像について、図１３を用いて説明する。この立体表示デバイスは、ディスプレイ１３０と、ディスプレイ１３０の前面に配置された横レンチキュラーレンズ１３１と、この横レンチキュラーレンズ１３１の前面に配置されたパララクスバリアとしてのマスク１３２とが、ディスプレイ１３０から観察位置１３３に向かってこの順番で配置されて構成される。
【００１２】
ここで、視点数を９視点とした場合に、ディスプレイ１３０の各画素にどのように原画像を表示するかを図１４に示す。画素の配列方法は、画素の各水平列（以下、画素水平列という）に９視点に対応するＤ１からＤ９までの画素をこの順で循環的に繰り返し配置し、画素水平列が垂直方向に１列異なるごとに３画素分だけＤ１からＤ９までの画素の水平方向位置がずれ、かつ垂直方向に３列置きごとに同じ画素配列となるようにしている。
【００１３】
これにより、図中に点線１４１で囲んだ、Ｄ１からＤ９までの９個の画素を３個（行）×３個（列）のマトリクス状に配置した画素ブロックが形成され、この画素ブロックを垂直方向および水平方向に複数配置した形にディスプレイ１３０の表示画像が形成されている。そして、これら複数の画素ブロックのそれぞれにおける１つずつの画素（つまりは、Ｄ１の画素群、Ｄ２の画素群、Ｄ３の画素群、Ｄ４の画素群、Ｄ５の画素群、Ｄ６の画素群、Ｄ７の画素群、Ｄ８の画素群およびＤ９の画素群）を用いて上記９視点に対応する９個の画像が表示される。
【００１４】
このように作成された表示画像（立体画像）がディスプレイ１３０に表示されるが、横レンチキュラーレンズ１３１ならびにマスク１３２が存在することで、Ｅ１〜Ｅ９の各観察位置１３３では、各観察位置に対応する画素からの光束のみが到達する。これにより、９視点からの立体画像観察を行うことが可能となる。
【非特許文献１】梶木、吉川、本田、“収束化光源（ＦＬＡ）による超多眼立体ディスプレイ”、三次元画像コンファレンス９６論文集、ｐｐ１０８−１１３、１９９６
【特許文献１】特開２００１−３４６２２６号公報（段落００５３〜００７９等）
【特許文献２】特開２００４−００７５６６号公報（段落００１５〜００２９等）
【発明の開示】
【発明が解決しようとする課題】
【００１５】
上述したように、多眼式立体表示デバイスに表示させる立体画像は、該デバイスの表示方式、視点数等の仕様に対応する画素配列を持つ必要がある。このため、従来の立体画像表示システムにおいては、複数の視点画像からそのシステムの立体表示デバイスに対応した画素配列を持つ立体画像を生成するための専用プログラムのみ搭載していた。
【００１６】
しかしながら、観察者において、仕様が異なる様々な立体表示デバイスの中から用途等に応じて自由に立体表示デバイスを選択できるにもかかわらず、システムとして特定の立体表示デバイスに対応した立体画像しか生成できないのでは、立体観察の自由度が制限されてしまう。
【００１７】
本発明は、様々な立体表示デバイスのそれぞれに対応した立体画像の生成処理を容易に行えるようにした立体画像生成プログラム、装置および方法を提供することを目的の１つとしている。
【課題を解決するための手段】
【００１８】
上記の目的を達成するための１つの観点としての本発明の立体画像生成プログラムおよび方法（さらには装置）は、立体画像の立体視に使用される立体表示デバイスに関するデバイス情報を取得する情報取得ステップ（情報取得手段）と、該デバイス情報に応じて、該立体表示デバイスに対応した立体画像の生成処理に用いるデバイス対応プログラムを取得するプログラム取得ステップ（プログラム取得手段）と、複数の視点画像を取得する画像取得ステップ（画像取得手段）と、該取得された複数の視点画像およびデバイス対応プログラムを用いて立体画像を生成する画像生成ステップ（画像生成手段）とを有する。
【発明の効果】
【００１９】
本発明によれば、使用する立体表示デバイスに関するデバイス情報に応じて取得したデバイス対応プログラムを用いて、該立体表示デバイスに対応した立体画像を生成するため、様々な立体表示デバイスを自由に選択することができる立体画像表示システムを構築することができる。
【００２０】
また、取得したデバイス対応プログラムをプログラム可能なグラフィックス・プロセッシング・ユニットに設定して立体画像を生成するようにすれば、より高速な立体画像の生成処理を実行することができる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照しながら本発明の実施例について説明する。
【実施例１】
【００２２】
図１には、本発明の実施例１である立体画像生成装置を用いた立体画像表示システムの構成を示している。
【００２３】
立体画像生成装置１０は、異なる視点位置で取得（撮影）された複数の視点画像（多視点画像）を合成して、該装置に接続されている（すなわち、立体像提示に用いる）多眼式立体表示デバイス１１に対応した画素配列を有する立体画像を生成する。
【００２４】
操作入力装置１２は、使用者の操作に応じて立体画像生成装置１０に対して操作コマンドを出力する。立体表示デバイス１１は、立体画像生成装置１０で生成された立体画像を表示して、立体像を提示する。なお、立体表示デバイス１１は、図１２や図１３にて示したように、ディスプレイとレンチキュラー板やパララクスバリア（マスク）等を含む光学系とを有するディスプレイ装置のほか、印刷された立体画像に重ね合わせることで立体像を提示する光学部材をも含む。
【００２５】
次に、立体画像生成装置１０の内部構成について図１を用いて説明する。多視点画像記憶部１０１は、複数の異なる視点位置で撮影された二次元画像のデータが記憶されているほか、撮影位置などの撮影条件を示すデータも記憶されている。
【００２６】
立体画像表示制御部（画像取得手段および画像生成手段）１０２は、多眼式立体表示デバイス１１に対応した立体画像の生成を行うための多視点画像の選択や立体画像の生成制御を行う。表示デバイス識別部（情報取得手段）１０３は、立体画像生成装置１０に接続されている多眼式立体表示デバイス１１に関するデバイス情報（これについては後述する）を取得し、これに基づいて該立体表示デバイス１１の識別したり、該デバイスに固有の立体表示パラメータ情報を取得したりする。
【００２７】
立体画像生成プログラム取得部（プログラム取得手段）１０４は、表示デバイス識別部１０３において特定された多眼式立体表示デバイス１１に対応するデバイス対応コンピュータプログラムである画像合成プログラムを画像合成プログラム記憶部１０５から取得する。
【００２８】
立体画像生成部１０６は、立体画像表示制御部１０２によって取得された多視点画像を、画像合成プログラム取得部１０４によって取得された画像合成プログラムを用いて合成処理することで立体画像を生成する。立体画像生成部１０６は、生成した立体画像を多眼式立体表示デバイス１１に転送し、立体画像を表示させる。なお、立体表示デバイス１１が前述した光学部材である場合には、立体画像生成部１０６は、生成した立体画像をプリンタに転送し、印刷させる。
【００２９】
次に、立体画像生成部１０６の構成について説明する。多視点画像一時記憶部１０６１は、立体画像表示制御部１０２にて選択された多視点画像を一時的に記憶しておく記憶領域である。画像合成部１０６２は、画像合成プログラム取得部１０４で取得された画像合成プログラムを実行し、多視点画像一時記憶部１０６１に記憶されている多視点画像から所定の画素の情報を取得して立体画像における特定の画素の情報として設定することにより立体画像を生成する。
【００３０】
立体画像一時記憶部１０６３は、画像合成部１０６２で生成された立体画像を一時的に記憶し、立体画像全体が生成された後に該立体画像を多眼式立体表示デバイス１０２へ転送する。
【００３１】
次に、図２を用いて本実施例の立体画像生成装置１０における物理的な構成について説明する。立体画像生成装置１０は、例えば、汎用パーソナルコンピュータ２００で構成される。具体的には、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、キーボード２０４およびマウス２０５と、これらのインターフェース（Ｉ／Ｆ）２０６と、多眼式立体表示デバイス１１の動作を制御する表示コントローラ２０８と、ハードディスク（ＨＤ）２０９およびフロッピー（登録商標）ディスク（ＦＤ）２１０と、ディスクコントローラ２１１と、ネットワークコントローラ２１２とが、システムバス２１３を介して互いに通信可能に接続された構成を有する。
【００３２】
システムバス２１３は、ネットワークコントローラ２１２を介してインターネット、イーサネット（登録商標）およびＬＡＮ等のネットワーク２１４に接続されている。
【００３３】
ＣＰＵ２０１は、ＲＯＭ２０２或いはＨＤ２０９に記憶されたコンピュータプログラム又はＦＤ２１０より供給されたコンピュータプログラムを実行することで、システムバス２１３に接続された各構成部を統括的に制御する。すなわち、ＣＰＵ２０１は、所定の処理プログラムをＲＯＭ２０２、ＨＤ２０９又はＦＤ２１０から読み出して実行することで、本実施例での各機能を実現するための制御を行う。ＲＡＭ２０３は、ＣＰＵ２０１の主記憶装置或いはワークエリアなどとして機能する。
【００３４】
図１における多視点画像記憶部１０１および画像合成プログラム記憶部１０５は、ＲＯＭ２０２、ＨＤ２０９、ＦＤ２１０又はネットワーク２１４を介してデータを取得する。立体画像表示制御部１０２、表示デバイス識別部１０３および画像合成プログラム取得部１０４の機能は、ＣＰＵ２０１がプログラムを実行することで実現される。
また、操作入力装置１２は、キーボード２０４およびマウス２０５によって実現される。Ｉ／Ｆ２０６はキーボード２０４やマウス２０５のようなポインティングデバイスなどから入力された信号のシステムバス２１３への供給を制御する。
【００３５】
表示コントローラ２０８は、内部的にプログラム可能なＧＰＵ（グラフィックス・プロセッシング・ユニット）２０８２と、テクスチャメモリ領域２０８１と、表示用画像を一時的に保持するフレームバッファ２０８３とを有し、後述する立体画像生成プログラムに従って、ＣＰＵ２０１との連携により、多視点画像から立体画像を生成し、多眼式立体表示デバイス１１に立体画像を表示させる。立体画像生成装置１０における立体画像生成部１０６は、この表示コントローラ２０８によって構成される。
【００３６】
ディスクコントローラ２１１は、ブートプログラムや種々のアプリケーションプログラムのほか、編集ファイル、ユーザーファイルおよびネットワークの管理プログラム、さらに上記立体画像生成プログラムや処理プログラムなどを記憶するＨＤ２０９およびＦＤ２１０とのアクセスを制御する。
【００３７】
ネットワークコントローラ２１２は、ネットワーク２１４上の機器と双方向にデータをやり取りする。
【００３８】
以上の各構成部の動作により、立体画像を生成することが可能となる。なお、図１において、立体画像生成装置１０と操作入力装置１２とはＵＳＢなどのインターフェースを用いて接続され、立体画像生成装置１０と立体表示デバイス１１とは、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ Ｉｎｔｅｒｆａｃｅ）などの映像インターフェースを介して接続される。
【００３９】
次に、図３を用いてＧＰＵ２０８２の構成を説明する。ＧＰＵは、３ＤＣＧ（コンピュータグラフィクス）の処理を高速化するために専用に作成された処理装置であるが、本実施例で用いるＧＰＵ２０８２はその処理内容をプログラム可能なものである。
【００４０】
図３には、ＧＰＵ２０８２の概略構成を示している。頂点処理部３００は、ＣＧデータの頂点情報（座標情報、法線情報など）の演算を行う。具体的には、３Ｄモデルを三次元シーン中に配置するワールド変換や、視点位置やカメラ位置に対する変換などを行う。
【００４１】
ラスタライズ部３０１は、頂点処理部３００で変換された結果のスクリーン（最終的な画像データ）へのラスタライズを行う。
【００４２】
画素処理部３０２は、ラスタライズされた画素に対してテクスチャサンプラー３０３によってテクスチャ画像からサンプリングされた色情報の設定を行い、最終的に合成部３０４にて複数回実施された処理の結果を合成する。
【００４３】
頂点処理部３００や画素処理部３０２が複数存在するのは、一般的なＧＰＵはＳＩＭＤ（Ｓｉｎｇｌｅ Ｉｎｓｔｒｕｃｔｉｏｎ Ｍｕｌｔｉｐｌｅ Ｄａｔａ）タイプの演算処理装置であり、１命令で複数データを扱える並列処理回路が実装されている。
【００４４】
図３では、頂点処理部３００による２つの頂点処理と、画素処理部３０２による４つの画素処理（テクスチャサンプリング）の並列処理が実行可能であることを示している。このような頂点処理部や画素処理部の処理内容を外部からプログラム可能とすることにより、３ＤＣＧの表現力が向上する。
【００４５】
次に、図４、図５および図６に示したフローチャートを用いて、立体画像生成装置１０のＧＰＵ２０８２における処理の流れを説明する。この処理は、上述した立体画像生成プログラムに従って実行される。
【００４６】
まず、ステップＳ４００では、立体画像生成装置１０に接続された多眼式立体表示デバイス１１に対応した画像合成プログラム、例えば図１４において説明した立体表示デバイスに対応したマトリクス状の画素配列に多視点画像の画素を並び替える処理を行うプログラムを取得する。この処理は、一般的なオペレーティングシステム（ＯＳ）で提供されているプラグアンドプレイ機能を利用することができる。
【００４７】
このステップＳ４００における具体的な処理の流れを、図５を用いて説明する。まず、ステップＳ５００において、接続されている立体表示デバイス１１に関するデバイス情報を取得する。ここで、デバイス情報は、立体表示デバイス１１の表示方式や視点数等の仕様（諸元）を表す情報である。具体的には、立体表示デバイス１１のメーカーを表すベンダーコードや型式を表すシリアル番号、解像度や垂直走査信号の周波数などを示すＥＤＩＤ（Ｅｘｔｅｎｄｅｄ Ｄｉｓｐｌａｙ Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ Ｄａｔａ）に相当するデバイス識別情報と、立体表示デバイス１１に固有の立体表示に関するパラメータである視点（画像）数、基線長（視点間隔）、画角又は画面サイズ、撮影条件、提示可能な最大／最小の視差量等のパラメータ情報とを含む。このようなデバイス情報は、プラグアンドプレイ機能を利用して取得することができる。
【００４８】
次に、ステップＳ５０１では、ステップＳ５００で取得したデバイス情報に基づいて、現在接続されている立体表示デバイス１１に対応する画像合成プログラムが、図１に示した画像合成プログラム記憶部１０５内に存在するか否かを検索する。この検索に用いられるデバイス情報は、上述したデバイス識別情報のみでもよいし、デバイス識別情報とパラメータ情報の両方であってもよい。
【００４９】
立体表示デバイス１１に対応する画像合成プログラムが存在する場合には、ステップＳ５０３に進み、画像合成プログラム記憶部１０５から画像合成プログラムを取得する。
【００５０】
また、画像合成プログラム記憶部１０５内に立体表示デバイス１１に対応する画像合成プログラムが存在しない場合は、ステップＳ５０４およびステップＳ５０５において、画像合成プログラムが存在しないことを使用者に警告し、画像合成プログラムの入手手段を選択させる。画像合成プログラムの入手手段としては、ＦＤ／ＣＤ−ＲＯＭなどの記録メディアを指定したり、インターネットワークを介して立体表示デバイスのメーカーなどから入手したりする等の手段がある。そして、ステップＳ５０３において、使用者が選択した入手手段により画像合成プログラムを取得する。
【００５１】
次に、ステップＳ５０６では、ステップＳ５０３で取得した画像合成プログラムがステップＳ５００でデバイス識別情報を取得した立体表示デバイスに適合しているか否かを確認し、適合している場合は正常終了とし、適合していない場合は失敗として、本フローチャートを終了し、ステップＳ４０１に進む。
【００５２】
ステップＳ４０１では、立体画像生成プログラムが取得できたか否かを判定し、取得できた場合はステップＳ４０２へ進み、取得できない場合はその旨を利用者に提示して本フローチャートを終了する。
【００５３】
次に、ステップＳ４０２では、ステップＳ４００（ステップＳ５００）で取得した立体表示デバイス１１に固有のパラメータ情報を、立体表示デバイス１１に対応した立体画像を合成するために必要な視点画像を取得するための合成情報として設定する。
【００５４】
次に、ステップＳ４０３において、ステップＳ４００（ステップＳ５０３）で取得した画像合成プログラムを、図２に示した表示コントローラ２０８のＧＰＵ２０８２に設定する。
【００５５】
次にステップＳ４０４において、ステップＳ４０２にて取得したパラメータ情報（合成情報）に基づいて、図１に示した多視点画像記憶部１０１に記憶されている多視点画像から立体表示デバイス１１に対応した立体画像を生成するために必要な視点画像を取得（選択）する。この場合において、適当な視点間隔に対応する視点画像が存在しないときは、それに最も近い視点画像を選択してもよいし、また、特許文献１に示した視点画像の補間技術を用いることもできる。具体的には、撮影により取得された２つの視点画像における各画素間の対応関係より両視差画像間の視差を算出し、その視差の情報をフォワードマップすることで、撮影されていない視点位置での視点画像を補間生成する。
【００５６】
次に、ステップＳ４０５においては、ステップＳ４０３において設定した画像合成プログラムと、ステップＳ４０４で選択した多視点画像とを用いて立体画像を生成する。この処理は、ＣＰＵ２０１および表示コントローラ２０８（ＧＰＵ２０８２）との連携によって実行される。具体的には、表示コントローラ２０８上の３ＤＣＧ向けのテクスチャメモリ領域２０８１を多視点画像の一時記憶領域として利用し、図３で説明したテクスチャサンプラー機能を利用して立体画像を生成する。
【００５７】
ここで、図６を用いてＣＰＵ２０１と表示コントローラ２０８（ＧＰＵ２０８２）における処理の連携およびその流れについて説明する。
【００５８】
ステップＳ６００では、表示コントローラ２０８の性能の１つである該表示コントローラ２０８へ転送可能なテクスチャ数を取得し、その値を変数（ＭａｘＮｕｍＴｅｘｔｕｒｅ）へセットする。また、図３で述べたよう、並列にテクスチャをサンプリングできる数を表すテクスチャパイプライン数を、転送可能なテクスチャ数として利用してもよい。
【００５９】
次に、ステップＳ６０１では、合成すべき視点画像数（ＮｕｍＶｉｅｗｓ）およびテクスチャ用カウンタ（ｎＴｅｘ）のそれぞれの変数を初期化する。
【００６０】
次に、ステップＳ６０２において、図４のステップＳ４０４で収集された多視点画像の全てに対応し、所定の３ＤＣＧに適合したテクスチャ（図示せず）をＲＡＭ２０３に作成する。
【００６１】
次に、ステップＳ６０３では、繰り返し処理を行うための諸変数を初期化する。
【００６２】
さらに、ステップＳ６０４、Ｓ６０５、Ｓ６０６では、表示コントローラ２０８へ転送可能な多視点画像に関してステップＳ６０２で作成したテクスチャのうち、転送可能な分のみ転送する。
【００６３】
次に、ステップＳ６０７においては、表示コントローラ２０８内のテクスチャメモリ領域２０８１に転送したテクスチャの所定の座標位置からサンプリングを行う。これは、図３に示したようなＧＰＵを利用している場合は、前述した通り、並列にテクスチャデータがサンプリングされる。このとき、実際にどの視点位置の画像データのどの画素からサンプリングすればよいのかは、図３におけるステップＳ４００において、立体表示デバイス１１に適合したサンプリング位置などを記述した画像合成プログラム内に記述されており、該表示デバイス１１の表示方式と視点位置とによって一意に決定される。サンプリングしたテクスチャデータは、表示コントローラ２０８のフレームバッファ２０８３に書き込まれる。
【００６４】
次に、ステップＳ６０８においては、残りの多視点画像のテクスチャが存在するか否かを判定し、存在する場合はステップＳ６０９において変数の更新をした後、ステップＳ６０４に移行して処理を繰り返す。こうして、立体画像を作成し、全ての多視点画像のテクスチャについてサンプリングを行った後、この処理フローを終了する。
【００６５】
次に、図４のステップＳ４０７に戻り、表示コントローラ２０８のフレームバッファ２０８１に書き込まれた立体画像を、立体画像生成装置１０に接続されている立体表示デバイス１１へ転送する。これにより、立体表示デバイス１１に立体画像が表示され、観察者は所定の観察位置において立体像を観察することが可能となる。
【００６６】
また、立体画像を動画像として表示させる場合は、動画表示か静止画表示かを判断するステップＳ４０８を設け、動画表示の場合にステップＳ４０５へ戻り、次に表示すべき立体画像の生成に必要な多視点画像の収集および該立体画像の生成、表示を繰り返すことで、動画像を表示することが可能となる。
【００６７】
なお、立体表示デバイス１１が印刷された立体画像に重ね合わせる光学部材である場合には、ステップＳ４０７において、生成した立体画像をプリンタに転送し、該立体画像を印刷させる。
【００６８】
ここで、図６で説明した処理の流れでは、複数の多視点画像をテクスチャとして表示コントローラ２０８へ転送し、画像合成プログラムを実行することで立体画像を生成することは可能であるが、これ以外にも多視点画像のうち１つの画像をテクスチャとして転送し、その１つの画像から必要な画素を並列にサンプリングし、これを多視点画像の全てについて繰り返すことでも実現可能である。
【００６９】
これを図１０に模式的に示している。図１０（ａ）は、先に説明した複数の多視点画像１０００を転送し、サンプリングすることで立体画像を生成する場合を示している。また、図１０（ｂ）は、１画像１００１毎に転送し、該１画像を並列にサンプリングする場合を示している。図１０（ｂ）の構成は、テクスチャメモリ容量が少なかったり、多視点画像を構成する１画像の容量が大きかったりする場合にも対応可能である。
【００７０】
以上説明したように、本実施例では、プログラム可能なＧＰＵ２０２８を有する表示コントローラ２０８を用い、使用する多眼式立体表示デバイス１１に対応した画像合成プログラムをＧＰＵ２０２８に設定する。そして、多視点画像を適宜表示コントローラ２０８に転送し、ＣＰＵ２０１およびＧＰＵ２０８２との連携によって立体表示デバイス１１に対応した立体画像を高速に生成する。
【００７１】
また、本実施例によれば、レンチキュラー方式、パララックスバリア方式、蝿の目方式など、様々な表示方式の立体表示ディスプレイを用いる場合であっても、図４のフローチャートに示したように、立体画像生成プログラムの一部である画像合成プログラムを、表示方式等を含む仕様に対応したものに動的に変更することが可能であるため、立体画像生成プログラム本体を変更することなく、立体表示デバイスの仕様に適した立体画像を生成することが可能となる。
【実施例２】
【００７２】
本発明においては、三次元コンピュータグラフィックス（以下、３ＤＣＧと略する）上で用いられる三次元モデルを利用して、立体画像を合成するための多視点画像を取得することも可能である。以下、実施例１との相違点を中心として本発明の実施例２について説明する。
【００７３】
図７には、本実施例の立体表示システムの構成を示している。なお、図１および図２に示した実施例１のシステムと共通する構成部には、実施例１と同符号を付す。
【００７４】
本実施例の立体表示システムは、立体画像生成装置７０と、多眼式立体表示デバイス１１と、操作入力装置１２とにより構成されている。
【００７５】
また、立体画像生成装置７０は、三次元モデル記憶部７０１と、三次元シーン管理部７０２と、表示デバイス識別部１０３と、画像合成プラグラム取得部１０４と、画像合成プログラム記憶部１０５と、立体画像生成部１０６とから構成されている。
【００７６】
三次元モデル記憶部７０１には、３ＤＣＧに描画される三次元モデルデータ（頂点座標情報、法線情報、色情報、テクスチャ座標、テクスチャ）が登録されている。
【００７７】
三次元シーン管理部７０２は、三次元モデル記憶部７０１に記憶されているＣＧモデルデータを所定の三次元シーン空間内に配置し、仮想カメラや仮想光源等を含む三次元シーン全体の管理を行う。それ以外の機能ブロックにおける処理は実施例１と同様である。
【００７８】
次に、図８のフローチャートを用いて、本実施例における立体画像生成装置７０の処理の流れを説明する。本処理は、立体画像生成プログラムに従って、図２に示すＣＰＵ２０１とＧＰＵ２０８２との連携により実行される。
【００７９】
図８において、ステップＳ８００、Ｓ８０１およびＳ８０２は、図４のステップＳ４００、Ｓ４０１およびＳ４０２と同様である。
【００８０】
ステップＳ８０３では、ステップＳ８０２において取得した、立体表示デバイス１１の立体表示に関するパラメータ情報のうち、視点位置情報などに基づいて、仮想カメラが三次元シーンにおいてどの位置で画像をレンダリングすればよいのいか等のレンダリング条件を算出する。
【００８１】
次に、ステップＳ８０４においては、必要であれば三次元シーンを更新する。最初のステップでは、三次元モデルの移動はないのでそのまま処理を進める。
【００８２】
次に、ステップＳ８０５では、ステップＳ８０３で算出したレンダリング条件に基づいて、複数の視点位置に対応した画像（視点画像）のレンダリングを行う。このレンダリングを行った結果は、図２の表示コントローラ２０８のテクスチャメモリ領域２０８１に格納されるか、その容量が少なければ、図２のＲＡＭ２０２に格納される。
【００８３】
ステップＳ８０７、Ｓ８０８、Ｓ８０９、Ｓ８１０およびＳ８１１はそれぞれ、図４に示したステップＳ４０３、Ｓ４０４、Ｓ４０５、Ｓ４０６、Ｓ４０７およびＳ４０８と同様である。
【００８４】
上記の処理を実行することで、３ＤＣＧを用いた場合においても、ＣＰＵ２０１およびＧＰＵ２０８２との連携によって、立体表示デバイス１０１に対応した立体画像を高速に生成することができる。
【００８５】
なお、上記図８のステップＳ８０６において、立体画像の生成に必要な多視点画像を一度にレンダリングする場合を説明したが、必ずしもこのような処理を行う必要はなく、図９に示すような処理に変更することも可能である。図９のフローチャートは図８のフローチャートと基本的に同じであり、ここではその差異についてのみ説明する。
【００８６】
まず、ステップＳ９０５において、多視点画像をレンダリング（描画）するために必要なシーン描画用プログラムをＧＰＵ２０８２に設定する。
【００８７】
次に、ステップＳ９０６において、三次元シーンをレンダリングするために必要な視点数分の多視点画像をレンダリングする。
【００８８】
次に、ステップＳ９０７において、ＧＰＵ２０８２にステップＳ９００で取得した画像合成プログラムを設定し、ステップＳ９０８では、ステップＳ８０６でレンダリングした視点画像を、合成する多視点画像として設定する。
【００８９】
次に、ステップＳ９０９において、ステップＳ９０７で設定した画像合成プログラムによってレンダリングした視点画像からのみサンプリングを行い、表示コントローラ２０８のフレームバッファ２０８３にサンプリング結果をコピーする。
【００９０】
上記ステップＳ９０５〜Ｓ９０９の処理を必要な視点数分だけ繰り返すことにより、フレームバッファ２０８３に立体画像が生成される。そして、ステップＳ９１１で、該立体画像が多眼式立体表示デバイス１１に転送される。
【００９１】
このような処理の流れにすることで、多視点画像の描画用プログラムと画像合成プログラムとが頻繁に変更され、処理速度の低下が懸念されるが、表示コントローラ２０８におけるテクスチャメモリ領域２０８１が少ない場合においても、レンダリング画像がＲＡＭ２０２に転送されることによる著しい処理速度の低下を防ぐことが可能となる。
【００９２】
以上説明したように、上記各実施例によれば、撮影により取得された多視点画像あるいは３Ｄコンピュータグラフィックスで生成された多視点画像から、使用する立体表示デバイスに対応する立体画像を高速に生成することができる。また、使用する立体表示デバイスが、立体表示方式等の仕様が異なる立体表示デバイスに変更された場合においても、自動的に変更後の立体表示デバイスに対応した立体画像を生成することができる。
【００９３】
また、多視点画像の全ての中から一部の画像を表示コントローラに設定し、部分的に立体画像を生成し、この処理を多視点画像の全てについて行うことで立体画像全体を生成したり、多視点画像を生成するためのプログラムと画像合成プログラム（デバイス対応プログラム）とを交互に用いて立体画像を生成したりすることにより、表示コントローラ上の多視点画像記憶に用いるテクスチャメモリ容量が少ない場合においても、様々な立体表示デバイスに対応することが可能となる。
【００９４】
なお、表示コントローラに関する情報（最大テクスチャメモリ容量、テクスチャサンプルパイプライン数、フレームメモリ容量等）も基準として画像合成プログラムを取得するようにしてもよい。
【００９５】
また、本発明の立体画像生成装置は、上述した実施例のように１つの装置で構成される場合に限定されず、複数の装置からシステムとして構成されていてもよい。
【００９６】
また、本発明の立体画像生成プログラムは、それ自体がＯＳ（基本ソフト：オペレーションシステム）とは別個のアプリケーションソフトウェアとして存在する場合に限らず、ＯＳの一部又は全部の機能を利用するものであってもよい。
【図面の簡単な説明】
【００９７】
【図１】本発明の実施例１に係る立体表示システムの構成を示すブロック図。
【図２】実施例１に係る立体画像生成装置の構成を示すブロック図。
【図３】実施例１に係る立体画像生成装置に用いられるＧＰＵの構成を示すブロック図。
【図４】実施例１に係る立体画像生成装置の処理全体を示すフローチャート。
【図５】実施例１に係る立体画像生成装置における立体画像生成処理を示すフローチャート。
【図６】実施例１に係る立体画像生成装置におけるＣＰＵとＧＰＵとの処理の連携を示すフローチャート。
【図７】本発明の実施例２に係る立体表示システムの構成を示すブロック図。
【図８】実施例２に係る立体画像生成装置の処理全体を示すフローチャート。
【図９】実施例２に係る立体画像生成装置の処理の変形例を示すフローチャート。
【図１０】実施例１において、表示コントローラに設定する多視点画像の設定方法を説明する模式図。
【図１１】従来の多視点画像の取得方法を説明する模式図。
【図１２】従来の立体表示デバイスの構成を示す模式図。
【図１３】従来の立体表示デバイスの構成を示す模式図。
【図１４】従来の立体表示デバイスにおける画素配列を示す図。
【符号の説明】
【００９８】
１０，７０  立体画像生成装置
１１  多眼式立体表示デバイス
１２  操作入力装置
２０８  表示コントローラ
【図１】
2006140553.tif 000003
【図２】
2006140553.tif 000004
【図３】
2006140553.tif 000005
【図４】
2006140553.tif 000006
【図５】
2006140553.tif 000007
【図６】
2006140553.tif 000008
【図７】
2006140553.tif 000009
【図８】
2006140553.tif 000010
【図９】
2006140553.tif 000011
【図１０】
2006140553.tif 000012
【図１１】
2006140553.tif 000013
【図１２】
2006140553.tif 000014
【図１３】
2006140553.tif 000015
【図１４】
2006140553.tif 000016