(57)【要約】【課題】使い勝手の改善に寄与することができる立体画像表示システム及び立体画像表示プログラムを提供する。【解決手段】ＯｐｅｎＧＬ中間層インターフェースドライバ１２は、ＯｐｅｎＧＬインターフェース１１ａからの座標データをＶＲビューワ１５に供給する。ＶＲビューワ１５は、６自由度センサ４０を介して入力される視点位置情報に応じてＯｐｅｎＧＬ中間層インターフェースドライバ１２からの座標データから左眼画像と右眼画像の画像データを生成し、ＰＣｂ５０，ＰＣｃ６０に供給する。【選択図】      図１
2005011275.tif 000002
【特許請求の範囲】
【請求項１】
表示対象を構成するポリゴンの３次元座標を示すデータ（座標データ）を出力するアプリケーションプログラムから前記座標データを取得するデータ入力手段と、
視点を示すデータ（視点データ）を入力する視点入力手段と、
該視点入力手段が入力した視点データに応じて前記座標データから複数の立体表示データを生成する表示データ生成手段と
を備えることを特徴とする立体画像表示システム。
【請求項２】
表示対象を構成するポリゴンの３次元座標を示すデータ（座標データ）を出力するアプリケーションプログラムから前記座標データを取得するステップと、
視点を示すデータ（視点データ）を入力するステップと、
該入力した視点データに応じて前記座標データから複数の立体表示データを生成するステップと
を有することを特徴とする立体画像表示プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は立体画像の表示に用いる立体画像表示システム及び立体画像表示プログラムに関する。
【０００２】
【従来の技術】
３次元構造物を立体表示し、視点移動に伴って立体画像の表示を変更することにより、看者に仮想現実感を生じさせるＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ：仮想現実）システムとして、例えば本願出願人による“ＳｗｉｎｇＢｏａｒｄ”が知られている（例えば非特許文献１参照。）。
【０００３】
３次元ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）システムでは、例えば設計中の３次元モデルを表示する視点の変換等の機能を有するものが知られている（例えば特許文献１参照。）。このような３次元ＣＡＤシステムのうちのあるものでは、３次元モデルの座標演算結果をレンダリング等を行うハードウェアに提供する部分のインターフェースとしてＯｐｅｎＧＬ（商標）を用いたものも知られている。
【０００４】
【非特許文献１】
谷前  太基、「普及型ＶＲシステム“ＳｗｉｎｇＢｏａｒｄ”のご紹介」、［ｏｎｌｉｎｅ］、平成１５年、クボタグラフィックス、［平成１５年６月１８日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｖｉｚ−ｊｏｕｒｎａｌ．ｋｇｔ．ｃｏ．ｊｐ／ｔｏｐｉｃｓ／ｆｉａｔｌｕｘ．ｈｔｍｌ＞
【特許文献１】
特開２００１−３４７９２号公報（第６−７頁、第５−１３図）
【０００５】
【発明が解決しようとする課題】
従来のＶＲシステムでは、３次元モデルの記述言語としてＶＲＭＬ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のデータ形式を用いており、３次元ＣＡＤシステムではＤＸＦ形式等のデータ形式を用いている。
【０００６】
このため、上述の３次元ＣＡＤシステムによって生成した３次元モデルをＶＲシステムによって表示させようとすると、データ形式を変換してＶＲシステムに入力する必要がある。
【０００７】
このため、例えば３次元ＣＡＤシステムで３次元モデルの変更を行ったような場合には、再度、データ形式の変換を行ってＶＲシステムに入力する必要があり、使い勝手の面で改善の余地があった。
【０００８】
本発明は、上述のような課題に鑑み、使い勝手の改善に寄与することができる立体画像表示システム及び立体画像表示プログラムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明に係る立体画像表示システムは、表示対象を構成するポリゴンの３次元座標を示すデータ（座標データ）を出力するアプリケーションプログラムから座標データを取得するデータ入力手段と、視点を示すデータ（視点データ）を入力する視点入力手段と、視点入力手段が入力した視点データに応じて座標データから複数の立体表示データを生成する表示データ生成手段とを備えることを特徴とする。
【００１０】
また、本発明に係る立体画像表示プログラムは、表示対象を構成するポリゴンの３次元座標を示すデータ（座標データ）を出力するアプリケーションプログラムから座標データを取得するステップと、視点を示すデータ（視点データ）を入力するステップと、入力した視点データに応じて座標データから複数の立体表示データを生成するステップとを有することを特徴とする。
【００１１】
【発明の実施の形態】
（構成）
本発明の一実施形態に係る立体画像表示システムは、例えば図１に示すように、アプリケーション等を実行させるパーソナルコンピュータ等の情報処理装置（以下、単にＰＣという。）ａ１０と、アプリケーション等による表示に用いる表示装置２０と、ユーザによる操作を入力するジョイスティック３０と、ヘッドトラッキングデータを入力する６自由度センサ４０と、左眼用の画像データの生成等を実行するＰＣｂ５０と、右眼用の画像データの生成等を実行するＰＣｃ６０と、立体画像を表示する立体表示装置７０と、ユーザが使用する偏光グラス８０とを備えている。
【００１２】
ＰＣａ１０は、ＣＡＤ／ＣＡＥ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ  ／  Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｅｎｇｉｎｅｅｒｉｎｇ）等の汎用のアプリケーション１１と、アプリケーション１１からの表示対象物を構成するポリゴンの座標等の座標データを取得するＯｐｅｎＧＬ中間層インターフェースドライバ１２と、ＯｐｅｎＧＬ中間層インターフェースドライバ１２からの座標データ及び変換行列等に応じてグラフィックスカード１４による描画処理を制御するＯｐｅｎＧＬインターフェースドライバ１３と、ジョイスティック３０及び６自由度センサ４０からの入力と立体表示装置７０と偏光グラス８０の位置関係等に応じて左眼画像と右眼画像の視差に相当する変換行列の演算等の処理を行うＶＲビューワ１５とを備えている。
【００１３】
アプリケーション１１は、３次元モデルを生成するのに例えば上述のＣＡＤ／ＣＡＥを用いており、３次元モデルの表示データの出力インターフェースとして例えばＯｐｅｎＧＬ（ＯｐｅｎＧＬインターフェース１１ａ）を用いている。このアプリケーション１１の出力は、従来のシステムでは、ＯｐｅｎＧＬインターフェースドライバ１３に直接供給され、実際に表示画面２１に表示する画像の画像データを生成するハードウェア、すなわちグラフィックスカード１４に転送される。これに対し、この立体画像表示システムでは、アプリケーション１１の出力は、ＯｐｅｎＧＬ中間層インターフェースドライバ１２を介してＯｐｅｎＧＬインターフェースドライバ１３に供給されると共に、ＶＲビューワ１５にも供給されるようになっている。
【００１４】
ＯｐｅｎＧＬ中間層インターフェースドライバ１２は、ＯｐｅｎＧＬインターフェース１１ａによるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）コールをフックして、その内容（座標データ等）をＡＰＩバッファとして蓄積し、ＶＲビューワ１５に供給する。
【００１５】
ＯｐｅｎＧＬ中間層インターフェースドライバ１２が得た座標データ等の中には、ＶＲビューワ１５に必要でないものもあるため、ＶＲビューワ１５は、ＯｐｅｎＧＬ中間層インターフェースドライバ１２からの座標データ等の中から必要なもの（例えば表示対象物の座標データ）を選択する。また、ＶＲビューワ１５は、ジョイスティック３０を介して入力されるユーザからの指示、６自由度センサ４０を介して入力されるヘッドトラッキング情報（視点位置情報）に応じて表示対象物を立体表示するための左右両眼用の変換行列（透視変換行列・座標変換行列）を計算し、左眼用の変換行列と表示対象物の座標データをＰＣｂ５０に供給し、右眼用の変換行列と表示対象物の座標データをＰＣｃ６０に供給する。
【００１６】
ジョイスティック３０は、例えば、Ｌｏｇｉｔｅｃｈ社のＭａｇｅｌｌａｎ３Ｄ等の３次元座標を入力できるポインティングデバイスを用いることができる。また、６自由度センサ４０は、例えば表示画面７１の前面に設置された磁石による磁界を検出する３つの磁気センサ４１と、各磁気センサ４１が検出する磁界の強度に応じて６自由度（上述の図２中のｘ軸，ｙ軸，ｚ軸の座標と各軸に対する回転角）の検出を行う位置検出部４２とを備えている。各磁気センサ４１は、例えば偏光グラス８０に装着されている。
【００１７】
上述の立体表示装置７０，偏光グラス８０，６自由度センサ４０等は、例えばフィアラックス社の“ＳｗｉｎｇＢｏａｒｄ”によって実現することができる。
【００１８】
ＰＣａ１０と、ＰＣｂ５０及びＰＣｃ６０は、例えばＩＥＥＥ８０２．３等のネットワークで接続されており、ＶＲビューワ１５からＰＣｂ５０，ＰＣｃ６０宛てのデータはこのネットワーク経由で供給されるようになっている。
【００１９】
ところで、ＶＲビューワ１５からの変換行列と座標データ等をそのままの状態で転送すると転送量が多くなってリアルタイムレンダリングのボトルネックとなる可能性がある。このため、ＰＣｂ５０，ＰＣｃ６０に供給するデータはリアルタイムで圧縮して供給し、チャネル毎描画モジュール５１，チャネル毎描画モジュール６１側でリアルタイムで伸張して描画処理に用いるようにしている。
【００２０】
ＶＲビューワ１５からの変換行列と座標データ等のデータサイズが大きい場合には、このように圧縮してＰＣｂ５０，ＰＣｃ６０に供給することにより処理の高速性に寄与することができるが、本発明では圧縮処理は必須ではなく、リアルタイム性の要求が厳しくない場合あるいは変換行列と座標データのサイズがそれほど大きくない場合等には圧縮しないでそのままＰＣｂ５０，ＰＣｃ６０に供給するようにしてもよい。
【００２１】
また、ＰＣｂ５０は、ＶＲビューワ１５から供給される視点位置情報に応じた透視変換行列・座標変換行列と表示対象物のもともとの座標データ等に応じて左眼画像の描画を行うチャネル毎描画モジュール５１と、このチャネル毎描画モジュール５１の出力に応じてグラフィックスカード５３による描画処理を制御するＯｐｅｎＧＬインターフェースドライバ５２とを備えている。
【００２２】
同様に、ＰＣｂ６０は、ＶＲビューワ１５から供給される視点位置情報に応じた透視変換行列・座標変換行列と表示対象物のもともとの座標データ等に応じて右眼画像の描画を行うチャネル毎描画モジュール６１と、このチャネル毎描画モジュール６１の出力に応じてグラフィックスカード６３による描画処理を制御するＯｐｅｎＧＬインターフェースドライバ６２とを備えている。
【００２３】
立体表示装置７０は、例えば図２に示すように、垂直方向に対して傾斜した表示画面７１を有している。この表示画面７１には、例えば２系統の偏光方向が異なるプロジェクターによる映像が投影される。各々の映像の偏光は、偏光グラス８０の左グラス８１又は右グラス８２のいずれか一方のみを透過することができるようになっている。従って、グラフィックスカード５３とグラフィックスカード６３によって各々のプロジェクターを駆動すれば、左眼画像と右眼画像が表示画面７１に表示され、偏光グラス８０を介して表示画面７１を見ることによって立体画像として認識することができる。
【００２４】
（動作）
アプリケーション１１は、例えば図３に示すように、表示画面２１上のウィンドウ２２内に、表示対象物２５の頂点２６，２８、線２７，２９及び視点２３等を示す画像を表示させる。この状態で、アイコン２４の指示等のユーザの操作によって、頂点２６，２８の移動等の処理を行うことができるようになっている。
【００２５】
このように指定した表示対象物２５の立体表示が指示されると、図４に示す処理が開始され、ＶＲビューワ１５は、まず、ＯｐｅｎＧＬ中間層インターフェースドライバ１２からの座標情報（ポリゴン情報）を取り込む（Ｓ１）。
【００２６】
ＯｐｅｎＧＬ中間層インターフェースドライバ１２が取得する情報は、具体的には、表示対象物２５を構成するポリゴンの頂点の座標，ポリゴンの色，テキスチャ，シェーディング方法等を示す情報である。ＶＲビューワ１５は、これらの情報から表示対象物２５の形状等を認識することができる。
【００２７】
この後、ＶＲビューワ１５は、６自由度センサ４０からの視点位置情報を取り込み（Ｓ２）、取り込んだ視点位置情報と立体表示装置７０の配置等に応じて、左眼画像，右眼画像のチャネル毎に変換行列（透視変換行列・透視変換行列）を求め（Ｓ３）、求めた変換行列と表示対象物の座標データをＰＣｂ５０，ＰＣｃ６０に供給する。
【００２８】
ＰＣｂ５０，ＰＣｃ６０は、ＶＲビューワ１５から供給された変換行列と座標データに応じて各々表示画面７１に左眼画像９１，右眼画像９２を表示させる。
【００２９】
ユーザから終了が指示されていなければ、ＶＲビューワ１５は、６自由度センサ４０からの視点位置情報を監視し（Ｓ４〜Ｓ２）、視点位置情報に応じて立体画像の表示を継続する。
【００３０】
これにより、例えばユーザが移動して視点が変化すると、移動した視点に応じた立体画像が表示画面７１に表示され、ユーザは、仮想現実感を感じることができる。具体的には、例えば図５に示すような画像が表示された状態で、右方向に移動すると、表示画面７１に表示される画像は図６に示すように変化し、左眼画像９１と右眼画像９２の相対位置と形状が変化し、ユーザは表示対象物の右側面に回りこんだような感覚を得る。
【００３１】
また、例えば図５に示す状態からユーザが後ろに下がると、図７に示すように、左眼画像９１と右眼画像９２が小さくなると共に、これらの間の視差が小さくなって、ユーザは表示対象物から離れたような感覚を得る。
【００３２】
また、例えばユーザが表示画面２１を見ながら、表示対象物の頂点を移動すると、ＯｐｅｎＧＬ中間層インターフェースドライバ１２からＶＲビューワ１５に供給される座標データが更新されて、移動した頂点の座標が表示画面７１に表示される立体画像にリアルタイムに反映される。
【００３３】
（透視変換・座標変換詳細）
ＶＲビューワ１５が行う透視変換行列・座標変換行列の計算は、具体的には、例えば上述のようにＯｐｅｎＧＬ中間層インターフェースドライバ１２から取得した表示対象物が図８中の符号１００に示す位置にあるとして、表示対象物を構成するポリゴンを視点（左グラス８１，右グラス８２に対応する位置）の位置から表示画面７１上に投影することによって行う。
【００３４】
これにより、例えば表示対象物が同図中の符号１００に対応する断面を有する直方体である場合には、視点が同図中の符号Ａの位置にある場合には、表示画面７１上に同図中の符号１０１で示される画像が表示され、視点Ａから見た画像は同図中に符号１１１で示すようになる。この状態で、視点が符号Ｂの位置に移動すると、直方体の側面に回りこむと同時に視点から表示対象物（この場合は直方体）までの距離が近くなるため、表示画面７１上には符号１０２で示される画像が表示される。この場合では、表示画面７１上には、符号１０２で示す画像の左側の境界線は右側の境界線より大きく表示されるが、視点Ｂからは視点Ｂと表示画面７１の間の距離に応じた大きさで見えるため、視点Ｂから見た符号１０２の画像は、例えば符号１１２に示すような形状になる。
【００３５】
ＶＲビューワ１５は、上述のような処理を左グラス８１の視点と右グラス８２の視点について行い、処理結果を各々チャネル毎描画モジュール５１，５２に供給する。これにより、左眼の位置と右眼の位置に応じた画像データが生成されて表示画面７１に表示され、立体画像として表示される。
【００３６】
（効果）
上述のように、この立体画像表示システムでは、出力インターフェースとしてＯｐｅｎＧＬを備えるＣＡＤ／ＣＡＥ等の汎用のアプリケーションの出力をそのまま用いてユーザの視点の変化に応じた立体画像の表示を行うことができる。
【００３７】
また、従来の立体画像表示システムでは、汎用のアプリケーションの出力はデータ形式を変換した後に使用していたため、アプリケーションのデータを変更した際等には、再度データ形式の変換を行ってから立体画像の表示を行う必要があった。これに対し、この立体画像表示システムでは、アプリケーション側で表示対象物の変形等を行うと、この変形がＶＲビューワ１５による表示画像にも反映されるため、設計から表示までの作業を連続的に行うことができ、使い勝手の向上に寄与することができる。
【００３８】
また、データ形式の変換は完全ではない場合もあり、不完全なデータ形式の変換によって問題が生じる可能性があるが、この立体画像表示システムでは、アプリケーション側のデータ変換を行わないため、データ形式の変換に伴う互換性等の問題を避けることができる。
【００３９】
さらに、アプリケーションにおいて実装されている例えば視点の変換，変形等の機能はそのまま立体画像の表示に用いることができるため、ＶＲシステム側に機能を実装する場合に比較して実装を容易に行うことができる。
【００４０】
以上により、この立体画像表示システムは、使い勝手の改善に寄与することができる。
【００４１】
（変形例）
上述の説明では、アプリケーションの出力インターフェースとしてＯｐｅｎＧＬ（商標）を用いた例について説明したが、Ｄｉｒｅｃｔ３Ｄ（商標）等の他の出力インターフェースを用いている場合にも、ＯｐｅｎＧＬ中間層インターフェースドライバ１２，ＯｐｅｎＧＬインターフェースドライバ１３等の実装を変更すれば、上述の実施形態と同様に本発明を適用することができる。
【００４２】
また、上述の説明では、偏光グラス８０によって左眼画像と右眼画像の画像を分離する構成について説明したが、例えば表示画面７１自体に所定の指向性を持たせて複数の画像を表示し得るように構成すれば偏光グラス８０を用いないで立体画像の表示を行うことができる。この場合は、表示画面７１に３系統以上の画像を表示させることも可能であるため、ＰＣｂ５０，ＰＣｃ６０に加えて、表示させる画像の系統の数に対応するＰＣを設けるようにしてもよい。
【００４３】
また、上述の説明では、１系統の画像を生成するのに１台のＰＣを用いた例について説明したが、１系統の画像を複数のＰＣによって生成するようにしてもよい。これにより、各ＰＣにおける画像の生成の処理負荷が低減し、リアルタイム性の向上あるいは画像の高精細化を実現させることができるようになる。
【００４４】
【発明の効果】
本発明では、表示対象を構成するポリゴンの３次元座標を示すデータ（座標データ）を出力するアプリケーションプログラムから座標データを取得し、視点を示すデータ（視点データ）に応じて座標データから複数の立体表示データを生成することにより、使い勝手の改善に寄与することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る立体画像表示システムの構成を示す図である。
【図２】前記立体画像表示システムを構成する立体表示装置の外観を示す図である。
【図３】前記立体画像表示システムを構成する表示装置に表示される画像の例を示す図である。
【図４】前記立体画像表示システムを構成するＶＲビューワによる制御の例を示すフローチャートである。
【図５】前記立体画像表示システムを構成する立体表示装置に表示される画像の例を示す図である。
【図６】前記立体画像表示システムを構成する立体表示装置に表示される画像の例を示す図である。
【図７】前記立体画像表示システムを構成する立体表示装置に表示される画像の例を示す図である。
【図８】前記立体画像表示システムによる立体画像の表示を概念的に示す図である。
【符号の説明】
１１…アプリケーション，１１ａ…ＯｐｅｎＧＬインターフェース，１２…ＯｐｅｎＧＬ中間層インターフェースドライバ，１５…ＶＲビューワ，４０…６自由度センサ，８０…偏光グラス
【図１】
2005011275.tif 000003
【図２】
2005011275.tif 000004
【図３】
2005011275.tif 000005
【図４】
2005011275.tif 000006
【図５】
2005011275.tif 000007
【図６】
2005011275.tif 000008
【図７】
2005011275.tif 000009
【図８】
2005011275.tif 000010