(57)【要約】  二つ以上の三次元レンダリング画面を実質的に同時に表示するシステムと方法を提供する。前記方法は、三次元モデルから投影画のステレオペアを生成するステップと、表示モード情報を受け取るステップと、前記表示モード情報に従って前記投影画のステレオペアを加工して出力データストリームを生成するステップと、各データストリームを適切な表示装置に分配するステップと、を含む。本発明の実施例において、前記方法は、レンダリングエンジンと、伝達可能に前記レンダリングエンジンに接続されたポストシーンプロセッサと、伝達可能に前記ポストシーンプロセッサに接続されたシーン分配器と、伝達可能に前記ポストシーンプロセッサに接続された１以上の表示装置とを用いて実行され、動作中、前記レンダリングエンジンは、三次元モデルの二次元投影画を生成し、前記ポストシーンプロセッサは、前記投影画を加工して種々のフォーマットで表示できるようにする。本発明の実施例において、三次元レンダリングの２画面は、それぞれ立体的であり、互いに反転することが可能である。本発明の実施例において、相対的に反転した画面の一つは、対話型コンソール上に表示可能であり、他方は隣接したデスクトップコンソール上に表示可能である。
2008522270.tif 000002
【特許請求の範囲】
【請求項１】
三次元モデルからプロジェクションのステレオペアを生成するステップと、
表示モード情報を受け取るステップと、
プロジェクションの前記ステレオペアを、前記表示モード情報に応じて加工して出力データストリームを生成するステップと、
各データストリームを適切な表示装置に分配するステップとからなる三次元レンダリングの二つ以上のビューを実質的に同時に表示する方法。
【請求項２】
前記表示モードが、自動ステレオディスプレイ、アナグリフィックステレオディスプレイ、反射装置のディスプレイ、ステレオモニターディスプレイの中の少なくとも二つを含むことを特徴とする請求項１記載の方法。
【請求項３】
前記表示モード情報が、シーン分配器に記憶され、前記シーン分配器の動作時に、表示モードリクエストをポストシーンプロセッサに送ることを特徴とする請求項１記載の方法。
【請求項４】
前記出力データストリームが、垂直インターレースされた左右のチャンネルと、アナグリフィックステレオと、ページ反転ステレオを含むことを特徴とする請求項１記載の方法。
【請求項５】
レンダリングエンジンと、
前記レンダリングエンジンと伝達可能に接続されたポストシーンプロセッサと、
前記ポストシーンプロセッサと伝達可能に接続された一つ以上の表示装置と、からなる三次元レンダリングの２以上のビューを実質的に同時に表示するシステムであって、
動作時に、前記レンダリングエンジンは三次元モデルの二次元プロジェクションを生成し、前記ポストシーンプロセッサは、種々の形式のディスプレイのために前記プロジェクションを加工することを特徴とするシステム。
【請求項６】
前記レンダリングエンジンがステレオディスプレイのために一対のステレオプロジェクションを生成することを特徴とする請求項５記載のシステム。
【請求項７】
前記シーン分配器が、各ビューに関連した表示パラメータを記憶する構成となっていることを特徴とする請求項５記載のシステム。
【請求項８】
前記シーン分配器が、前記ポストシーンプロセッサから一つ以上の表示装置の要求に合致したデータストリームを要求することを特徴とする請求項５記載のシステム。
【請求項９】
画面メモリーを複数の等しい面積の領域に分割するステップと、
各領域に一つのイメージを割り当てるステップと、
各イメージを一つの表示装置に割り当てるステップと、
定義された表示パラメータに従って各イメージを加工するステップと、
割り当てられた画面メモリーに記憶された各イメージを割り当てられた表示装置上で表示するステップとからなる、一つのボリュームレンダリングの複合ビューを表示する方法。
【請求項１０】
前記ボリュームレンダリングが二つのビューを有することを特徴とする請求項９記載の方法。
【請求項１１】
前記二つのビューが互いにステレオ映像であり、一つは反転してミラーに表示し、もう一つは非反転でモニタに表示するものであることを特徴とする請求項１０記載の方法。
【請求項１２】
反転したデータストリームが双方向コンソールに送られ、非反転のデータストリームが前記双方向コンソールに隣接したデスクトップコンソールに送られることを特徴とする請求項１１記載の方法。
【請求項１３】
コンピュータが読み取り可能なプログラムコードを内蔵するコンピュータが利用可能な媒体を備えたコンピュータプログラム製品であって、
前記コンピュータが読み取り可能なプログラムコードは、コンピュータに、
三次元モデルからプロジェクションのステレオペアを生成させ、
表示モード情報を受け取らせ、
前記表示モード情報に従って前記プロジェクションのステレオペアを加工させて出力データストリームを生成させ、
各データストリームを適切な表示装置に分配させるための手段を備えることを特徴とするコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、双方向三次元視覚化システムを対象とし、より詳細には、単一3次元レンダリングからリアルタイムに複数画面に表示するためのシステムと方法を対象とする。
【背景技術】
【０００２】
ボリュームレンダリングは、ユーザーが例えば何百ものスライス画像から作成された人体の一部の三次元モデルといった三次元データを双方向視覚化することを可能にする。前記３次元双方向視覚化システムにおいて、ユーザーは前記モデル内を自由に移動することができ、前記モデルを触診するかの如く操作することができる。前記操作は、しばしば手動操作装置によって制御され、ユーザーが3次元データの一部を「掴む」ことを可能にしており、例えば本当に生きている人体の組織、例えば肝臓、心臓、又は脳と関連する対象物を、移動、回転、修正、穴あけしたり、外科的な手術予定データを付け加えたりすることができる。前記手で触れる双方向性のための設備のおかげで、ユーザーは、「リーチイン」タイプの双方向性を望む傾向があるが、彼らの手が双方向インターフェースを制御する動作は、彼らが実際に三次元ボディに手が届き、彼らが見ている組織を物理的に操作するかのように感じられる。
【０００３】
図１は、この種の双方向性を示している。図の１１０では、モニタ上に三次元画像が見えている。ユーザーは「リーチイン」してそれを操作したいが、もちろん表示スクリーンの表面によって排除される。
【０００４】
この問題を解決するため、いくつかの双方向3次元視覚化システムでは、表示画像をミラー上に投影している。この解決策は、シンガポールのVolume Interactions Pte Ltd.社によって開発されたDextroscope（登録商標）によって実施されている。この解決策は、図１の１２０と１３０に示されている。それを参照して、１２０は、ユーザーがミラーを通して反射された表示モニターからの画像を見ている状態を示す。前記ミラーは、座った時のユーザーの胴体と頭とほぼ同じ位置に置かれている。反射像を見ることで、ユーザーはミラーの後ろに手を置くことができ、これによって表示された3次元モデルと共に「リーチイン」タイプの双方向性を体験できる。この方法は、単一のユーザーに対して良く機能するが、しばしば三次元データ視覚化セットにおいて、一人のユーザーがデータを操作し、一人以上の同僚がそばに立って操作を見ている場合がある。これは、例えば困難な外科的問題を解決するために、状況を説明する場合や、共同の努力をする場合において一般的であり、指導医師は、視覚化の専門家に、コンソールの前に座って三次元データを操作し、種々の外科的アプローチの結果を視覚化することを求める。
【０００５】
複数のグループが操作されたデータを見ようとする場合に、上述のミラー法には限界がある。それは、図の１１０に示すようにユーザーが表示モニターの正面に座っている場合と同じ向きになるように、正確に画像をミラー上に投影しようとすると、画像はモニタ上で反転する必要がある。従って、モニタ１０とミラー１２０に表示される画像を同じ向きにするために、ミラー１２０で反射されるモニタ、反転した画像を投影する必要があり、一回ミラー１２０で反射されれば、１１０に示された非反転画像と同じ画像となる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
図１の画像１３０に、この技術の問題点を示す。双方向コンソール１０１は、モニタ表示された実際の画像の反射像を示す。この反射像は、適切な向きを向いている。デスクトップ補助モニタ１０２は、双方向コンソール１０１の上部にあるモニタに表示されるものと同じ画像を示す。デスクトップモニタ１０２の画像は、コンソール１０１のミラーに見えるものに対して反転しており、見る者に対して有益でない、非双方向のデスクトップ作業空間になっている。
【０００７】
この問題を解決するために、双方向コンソール１０１とデスクトップモニタ１０２の両方が、同じ向きに表示することが必要である。問題をより深刻なものとしているのは、いくつかの双方向三次元視覚化システムは、ユーザーに深さ方向の手掛かりを与えるために、視覚化モデルの立体投影を利用していることである。立体視覚化の利用は、三次元モデルを実際に操作するユーザーの感覚を増大させるので、「リーチイン」タイプの双方向性に対し、ユーザーが直感的に必要と認識することを増幅させる。しかし、デスクトップ画面で見ている人達にとって、上下逆に表示された平面画像を追うことよりも、上下逆に存在する立体画像を視覚的に理解することの方が困難であることが多い。従って、技術的な利益もまた、反転画像の有益性に対する矛盾を増大させ、反転画像問題を悪化させる。さらに、単にVGAビデオスプリッターを使用するだけでは、この問題を解決することができない。通常のVGAビデオスプリッターは、単に入力信号を二つに分裂する。この装置は、例えば１つ以上の軸でミラーリングをするといった、高度な信号操作はできない。さらに、すべてのスプリットしたビデオの信号品質が劣化する。
【０００８】
その代わりに、例えばテレプロンプターシステムで利用されている一軸上で反転することのできるより巧妙なビデオコンバータがあるが、それらはサポートする垂直周波数と画面解像度との両方の制限を受ける。一般に、サポートされる最大の垂直周波数は８５Hzである。残念ながら、ステレオシーンは、フリッカーを避けるために垂直周波数９０Hzか、それ以上で見ることが必要である。
【０００９】
垂直周波数又はリフレッシュレートとしてより知られているものは、ヘルツ単位で測定される。これは、一秒あたりに表示されるフレーム数を意味する。一つのフレームから次までの間に著しい遅延があったときに、フリッカーが生じる。この間隔は、肉眼で感知できるものである。人のフリッカーに対する感受性は、像の明るさによって変化するが、平均的には、フリッカーの認知度は、４０Hzかそれ以上で受け入れるレベルにまで落ちる。目にとって最適のリフレッシュレートは、５０〜６０Hzである。従って、立体視のためには、リフレッシュレートは少なくとも５０×２＝１００Hz必要である。
【００１０】
高性能ビデオコンバータは、要求によって垂直周波数が制限されている。コンバータへの入力としては、より高いリフレッシュレートへの要求は無く、８５Hz以下のリフレッシュレートである。テレプロンプター（下を参照）は、立体視を必要としない。テレプロンプターは、ニュースキャスターにセリフを教えるために、文字を表示する。テレプロンプターシステムの例として図１Aを示す。そこでは、画面が垂直に（X軸まわりに）反転しているのがわかる。
【００１１】
この問題に対する他の可能性のある解決策は、Ｘ又はＹ軸回りに画面を反転可能なアクティブステレオプロジェクターにステレオＶＧＡ信号を送ることと、前記信号をモニタ送るか又は画面上に投影することである。このようなプロジェクタは、高価（かつ重くかさばっている）か、その装置自体の解像度で制限されている（例えば、ＩｎｆｏｃｕｓＤｅｐｔｈＱプロジェクタは８００×６００しかない）。
【００１２】
理論的には、１２０Ｈｚ以上の入力ステレオＶＧＡ信号を反転して、同じ周波数で出力できるビデオコンバータをカスタムメイドすればよいが、このようなカスタムメイドは高価であり実用的ではない。
【００１３】
上記可能な解決策は、全体として非現実的か、大掛かりなものになるか、法外に高価であるとすれば、必要とされるものは、同じリアルタイム三次元レンダリングをマルチビューで表示する方法であって、各ビューは、それぞれ異なる表示パラメータを満足し、ユーザーが必要とするものである。
【課題を解決するための手段】
【００１４】
本発明の実施例において、各三次元立体場面とリアルタイム表現と対話性とが維持される複合ビューが提供される。さらに、このようなシステム例は、取り扱いやすく、配置が容易で、比較的安価である。
【００１５】
本発明の実施例において、単一の（三次元又は二次元）レンダリングから、リアルタイムに（独立的に平面的および又は立体的な）複合ビューを生成するシステムが提供できる。このようなビューは、任意の後処理とディスプレイの最適化によって、相対的に反転像を必要に応じて出力できる。
【発明の効果】
【００１６】
本発明の実施例において、三次元立体場面は歪めることなく保存でき、システムは遅延なくリアルタイムに双方向で動作し、これらの機能を達成するために大掛かりな装置は必要としない。さらに、カスタマイズされたコンバータは不要であるため、このような実施は経済的である。
【００１７】
本発明の実施例において、立体像のペアは、ユーザーの必要に応じて後から処理でき、それによって立体像のペアは、垂直又は水平方向に反転できる。平面モードも立体モードも、同時にサポートされ、（ページ反転、アナグリフ、自動立体視等の）ハイブリッド立体モードも、ひとつのシステムで同時にサポートされる。
【００１８】
さらに、ステレオペアを少人数のクライアントにデータネットワークを通して送ることができ、代替的な立体視モードで実現できる。本発明に係るシステムの例は、デスクトップと双方向コンソールの両方に開放され、一度デスクトップ上に正しい向きで表示されれば、一人のユーザーが例えばDextroscope（登録商標）（後述する代表的な三次元双方向視覚化システム）上のオブジェクトを双方向に取り扱い、別のユーザーが同じ三次元モデルをデスクトップ画像を介して、例えばマウスや他の入力デバイスを用いて双方向に取り扱う。これは、双方向操作のない単なる観察者としてのデスクトップユーザーに比べてかなりの進歩である。
【発明を実施するための最良の形態】
【００１９】
[システム汎用性概観]
図３は、本発明の実施例に係る代表的なシステムレベルの図である。動作において、データは図の左から右に向かって流れる。
【００２０】
図３を参照して、３１０でレンダリングのためのデータは、レンダリングエンジン３２０に入力される。レンダリングエンジン３２０から、例えばCRT３３０、自動立体視液晶３４０、又は平面視プロジェクタ３５０といった複合ディスプレイ出力にデータは移動する。このように、本発明の実施例において、データセットは一度レンダリングされ、同時に複合ディスプレイ上に表示される。
【００２１】
図４は、本発明の実施例に係るプロセスフローである。まず４０１でデータは例えばモデルから投影像のステレオペアを計算するレンダリングエンジン４１０に入力される。
【００２２】
既知のように、およそ６〜７センチメートル離れた人間の目は、脳に2枚のわずかに異なるイメージを提供する。このように、ステレオペアは２つの異なる視点から見た2枚のイメージで構成される。脳は、立体の知覚によって、深さの感覚を得るようにステレオペアを合成する。
【００２３】
投影は、三次元世界をマッピングする過程であって、その中のオブジェクトは、二次元イメージ上にある。透視投影において、三次元世界から来た仮想光線は、視点を通り、二次元投影面上にマップされる。これは、例えば図４Ａに示すピンホールカメラモデルに類似している。目はそれぞれわずかに異なる視点から見るために、異なる投影画面を有する。
【００２４】
投影像のステレオペアを計算した後、レンダリングエンジン４１０は、左右イメージL411,R412をそれぞれ出力する。左右のイメージ４１１，４１２はポストシーンプロセッサ４２０に入力される。ポストシーンプロセッサ４２０は、例えばイメージのステレオペアを加工して様々なユーザーの要求を満たすように、シーン分配器４５０に蓄える。
【００２５】
ポストシーンプロセッサ４２０から、例えば異なる方式で加工したイメージのステレオペアを含む複合データストリームが出力される。例えば、４３１で左右イメージの垂直インターレースシーンが、シーン分配器に出力される。同様に、イメージのステレオペアは４３２でカラーアナグリフィックステレオに変換され、シーン分配器に出力される。最後に、例えば４３３で、裏返しのシーンが出力され、４３４で４３３と同じシーンが裏返しされずに出力される。
【００２６】
従って、図４に示すように、以下の代表的な出力がポストシーンプロセッサで生成される。
【００２７】
［４３１−左右画像の垂直インターレーシング］これは、図４Bに示すレンチキュラーレンズ技術に基づいた自動立体視モニタ立体視効果を得るために採用する形式である。
【００２８】
［４３２−アナグリフィックステレオ］最終イメージはRGBである。左側視野の情報は、赤チャンネルでエンコードされ、右側視野の情報は、緑と青のチャンネルでエンコードされる。赤−水色／赤−緑の眼鏡をかけると、赤いフィルタを付けた左目は赤チャンネルでエンコードされた情報を見て、水色フィルタを付けた右目は右側視野の情報を見る。アナグリフィックステレオは、三次元映画で一般的に用いられている。
【００２９】
［４３３と４３４−ページ反転ステレオ］これは、左右チャンネルが交互にフレームに現れるものである。例えば、Dextroscope（登録商標）は、ページ反転ステレオ又は垂直インターレーシングステレオのどちらかを用いることができる。どちらのタイプのステレオも、シャッター付き眼鏡を必要とする。垂直インターレーシングパターンは、図４Aで用いられているものと同様であるが、レンチキュラーレンズ技術は含まれていない。垂直インターレーシングは、立体視を実現するために、水平方向解像度の半分を犠牲にしている。一方で、ページ反転は、両目に対してフルスクリーン解像度を提供する。このように、ページ反転はより良質の立体視を提供する。
【００３０】
上述の代表的な立体視出力形式の大きな差異は、４３１がユーザーが見るために眼鏡を必要としないのに対して、４３２は赤―水色／赤−緑の眼鏡を、４３３と４３４はシャッター眼鏡を必要とすることである。
【００３１】
同じイメージのステレオペアの種々の出力４３１〜４３４を提供することで、種々のディスプレイと接続されたシーン分配器４５０は、適切な入力４３１〜４３４を適切なディスプレイ４６１〜４６４に送る。このように、例えば左右イメージの垂直インターレース４３１がシーン分配器４５０によって自動立体視ディスプレイ４６１に送られる。同様に、アナグリフィックステレオ４３２のために変換されたシーンが、シーン分配器４５０によってLCD４６２に送られる。最後に、反転と非反転のデータストリームからなる出力ストリーム４３３、４３４が、それぞれDextroscope（登録商標）タイプの装置に送られ、そこで反転データストリームは、双方向コンソール４６３のミラー上に投射され、非反転データストリームが補助のデスクトップコンソール４６４に送られて、双方向コンソールのユーザーの同僚が見ることができるようにしている。最後に、アナグリフィックデータストリーム４３２又は非反転データストリーム４３４は、代替的に通常の又は立体視のプロジェクタ４６５に送られて、複数の人間が見ることができるようにする。
【００３２】
［Nvidia Quadro FXカードを備えたワークステーションを用いた実施例］
図５に、二つの異なるディスプレイ出力に送られる単一のレンダリングを含む本発明の実施例に係る実施の例を示す。一つのディスプレイ出力５４１は、平面的で直立しており、即ち非反転であり、もう一つのディスプレイ出力は、アナグリフィック赤―緑立体視ディスプレイ用である。示された実施例は、例えばNvidia Quadro FXカードを有するワークステーションで用いられる。
【００３３】
図５を参照して、グラフィックスカード５００とシーン分配器５２０の内部で生じる処理と、その結果としての出力５４１、５４２を示す。
【００３４】
グラフィックスカード５００内には、レンダリングエンジン５０１とポストシーンプロセッサ５１０がある。レンダリングエンジン５０１は、入力されたデータから一つの左側イメージと一つの右側イメージとを生成する。このような入力データは、例えば図４の４０１や図３の３１０である。左側と右側のイメージは、例えば図４のようにレンダリングエンジンによってポストシーンプロセッサに出力され、そこで左側イメージと右側イメージとは、アナグリフィック、垂直反転、平面データストリームの各々に変換される。
【００３５】
これらの二つのデータストリームは、例えばグラフィックカードからグラフィックカードの外部のシーン分配器に出力されて、そこで加工されたイメージのステレオペアを受け取り、グラフィックカードに戻して、適切なディスプレイに出力する。このように、例えばシーン分配器５２０は、双方向コンソール出力のためのイメージ、即ちアナグリフィックや垂直反転データストリームを要求し、それらを出力ポート５３２を介して双方向コンソール出力５４２に送る。同様に、シーン分配器５２０は、デスクトップ出力５４１のためのイメージ、即ち平面イメージを要求し、それを出力ポート５３１を介してデスクトップ出力５４１へ送る。
【００３６】
図６は、どのように１０２４×１５３６の画面を、本発明の実施例に係る２つの異なるビューに配分しているかを示している。ここで例えば画面領域６１０は、二つの１０２４×７６８の解像度のサブ画面領域に分割され、そのうちのひとつ６２０は、双方向コンソールにおいてミラーを介して反転イメージを生成するために用いられ、他のサブ画面６３０は、デスクトップモニタの垂直イメージを生成するために用いられる。
【００３７】
図４には、種々の可能な出力データストリームが示されているが、これらはすべて同時にサポートされる必要がないことに注意すべきである。３又は４つのビューがグラフィックカード上のディスプレイチャンネル入力に対して可能である。現在のところ、しかし、グラフィックスカードは、一般的に２チャンネルの入力のみ可能である。
【００３８】
このように、２チャンネルグラフィックカードを用いて、実施例のシステムは以下のデータストリームセットを有する。
双方向コンソール    −  ページ反転／アクティブステレオ
デスクトップコンソール     −  平面視
双方向コンソール    −  ページ反転／アクティブステレオ
デスクトップコンソール     −  アナグリフステレオ
双方向コンソール    −  アナグリフステレオ
デスクトップコンソール     −  ページ反転／アクティブステレオ
双方向コンソール    −  アナグリフステレオ
デスクトップコンソール     −  平面視
【００３９】
図６は、二つの出力データストリームと対応しており、例えば一つが反転、もう一つが非反転である。二つ以上の出力データストリームを収容するために、より多くの画面領域が利用できる。しかし、これはもし所望の画面解像度がステレオ視に必要なリフレッシュレートにおいてサポートされた場合のみ役に立つ。このように、単にビデオカードのメモリーの問題ではなく、ビデオカードの構成の問題であり、ディスプレイ出力装置（モニターやプロジェクタ）がその構成をサポートするかどうかの問題である。ビデオカードのサポートする画面解像度には限界があり、リフレッシュレートもまた大きな役割を有する。例えば、１２０Hzで２０４８×２０４８は、現在の技術において実用的ではない。
【００４０】
［一つのステレオペアを用いたNvidla Quadro FXカードを装備した三次元双方向視覚化システムの実施例］
［初期化］
１．  垂直方向にスパンを有する適切な画面領域を設定する（垂直方向に限定されるものではなく、水平方向や他の組み合わせであっても良い）。例えば１０２４×１５３６で１２０Hzのデスクトップ。
２．  オフスクリーンの画素バッファの、一つは左側イメージ、もう一つは右側イメージのための生成。
３．  二次元構造イメージとして使用されるためのオフスクリーン画素バッファの設定。
４．  デスクトップと双方向コンソールの両方のためのウインドウの生成。
【００４１】
二次元構造イメージとして使用されることは、最新式のグラフィックスカードの能力に関係している。かつては、オフスクリーンレンダリングをするためには、一般的にフレームバッファ内で使用する前に、オフスクリーンレンダリングを二次元構造として結びつけることが必要であり、これには時間を要した。最新式のグラフィックスカードは、オフスクリーン画素バッファを、ニ次元構造として直ちに用いるに適した形式でフレームバッファに割り当てることを可能にしている。それはすでにフレームバッファメモリ内に常駐しているため、時間のかかるメインメモリからグラフィックスメモリへの移動を必要でないものにしている。
【００４２】
［（レンダリングエンジンにおける）左側と右側イメージのためのレンダリング］
１．  左目のために画素バッファを作動する。
２．  左目のためにプロジェクションマトリックスを設定する。
３．  左目のためにモデルビューマトリックスを設定する。
４．  左目のためのシーンを画素バッファにレンダリングする。
５．  右目のために画素バッファを作動する。
６．  右目のためにプロジェクションマトリックスを設定する。
７．  右目のためにモデルビューマトリックスを設定する。
８．  右目のためのシーンを画素バッファにレンダリングする。
９．  イメージ操作（イメージ反転、グレースケール変換等）のために、左と右両方のイメージをポストプロセッサに送る。
１０．最終イメージをシーン分配器に送る。
１１．ディスプレイ出力に出力する。
【００４３】
図４Aに示すように、プロジェクションマトリックスは、４×４のマトリックスで、三次元のシーンが二次元投影面上にマッピングされる。それが、左目、右目のそれぞれのためにプロジェクションマトリックスを設ける理由である（上記２、３参照）。モデル／ビューマトリックス（上記３、７参照）は、三次元シーンを視空間に変換する。この空間において、視点は原点に位置する。
【００４４】
［一つの完全なステレオシーン（左と右）を表示するための擬似コードの例］
本発明の実施例において、一つの完全なステレオシーンを実施するために、例えば以下の擬似コードが用いられる。
// 双方向コンソールウインドウのためのディスプレイループ
Foreach Display frame do
{      
switch (DisplayMode)
{
//see Display Sub-routines
case pageflipping stereo : DisplayStereoPageFlipping
case red green stereo : DisplayStereoRedGreen
case mono : DisplayStereoMono
}
}
【００４５】
// デスクトップウインドウのためのディスプレイループ
Foreach Display frame do
{
Set up orthogonal projection
switch (DisplayMode)
{
case pagefiipping stereo : PasteTextureStereoPageFlipping (mirror yes)
case red green stereo : PasteTextureStereoRedGreen (mirror yes)
case mono : PasteTextureMono (mirror yes)
}
}
【００４６】
ここで、orthogonal projectionは、三次元オブジェクトを二次元で表現する手段に関する。それには、オブジェクトの中心回りに90度回転させた観点から、オブジェクトの複合ビューを用いている。同様な意味合いで、前記ビューは、オブジェクトをその中心回りに90度回転させることで得られたと言える。これは、観察者に深さ方向の感覚を与えるものではない。厚みを見るのは、図７に示すように、遠近法に拠らない。三次元双方向視覚化システムは、一般的に本質的に透視投影を利用するものであるが、ここでは生地イメージが画面上に平坦に貼り付けられるように、単に正射投影が設定されている。
【００４７】
プログラム内のmirror yesは、イメージの反転が望ましいという指示に関連している。図２の実施例や、図４の４３３、４３４において、双方向コンソールのイメージは、レンダリングされた最初のイメージであって、デスクトップコンソールのイメージは、実際に反転されたイメージである。
【００４８】
// ディスプレイ  サブルーチン
DisplayMono
{
foreach eye [left]
{
SetCurrentBuffer(pixelbuffer[eye])
SetProjection Matrix(eye)
SetModelViewMatrix(eye)
RenderScene(eye)
SetCurrentBuffer(framebuffer)
Set Orthogonal projection.
Bind pixelbuffer[eye] as texture
PasteTextureMono(mirror no)    //  mirror no == not to flip
Release pixelbuffer[eye] as texture.
}
}
【００４９】
上記擬似コードの実施例において、framebufferは、グラフィックスレンダリングを実施するために割り当てられたビデオカード内のメモリースペースに関する。pixelbufferは、画面外の領域に関し、画面上の表示を意味しない。CurrentBufferは、続いて起こる描画コマンドが影響を及ぼす目標とするバッファを特定する。フローは以下のようになる。pixelbufferがCurrentBufferとして作成され、シーンは、画面上で視認されないこのバッファ内にレンダリングされる。次に、framebufferがCurrentBufferとして作成され、pixelbufferはframebufferに貼り付けられるテクスチャとして使用される。従って次に画面上に見えるものは、framebufferから導出される。
【００５０】
DisplayStereoRedGreen
{
SetCurrentBuffer(pixelbuffer[left])
foreach eye [ left, right]
{
SetProjectJonMatrix(eye)
SetModelViewMatrix(eye)
RenderScene(eye)
}
SetCurrentBuffer(framebuffer)
Set Orthogonal projection.
Bind pixelbuffer[left] as texture
Convert texture to grayscale.
PasteTextureMono(mirror no)
Release pixelbuffer[left] as texture.
}
【００５１】
DisplayStereoPageFlipping
{
foreach eye [ left, right]
{
SetCurrentBuffer(pixelbuffer[eye])
RenderScene(eye)
SetCurrentBuffer(framebuffer[eye])
Set Orthogonal projection.
Bind pixelbuffer[eye] as texture
PasteTextureStereoPageFlipping(mirror no)
Release pixelbuffer[eye] as texture.
)
}
【００５２】
本発明は、図２に示すように、デスクトップモニタで正しい向きで立体的に見るという基本的な目標を解決する方法を与えるものである。この解決策を開発するにあたり、ソフトウエアで解決することが現実的であることが判った。与えられた一般的なグラフィックスカードのハードウエアの能力で、テクスチャをレンダリングすることは、シーンを２度レンダリングする必要が無いので、可能性の高い解法である。さらに、このようなテクスチャは、上述のように、複合ステレオモードの柔軟性を増す。
【００５３】
従って、従来技術においてこの問題を解決するために、ソフトウエアで二つの異なるイメージを二つの異なるモニタ描画することが必要であった。これは、論理的な画面領域を二つのモニタ割り当てることを意味した。もし垂直スパンが選択された場合（本発明の実施例においては、水平スパンも選択可能であるが）、中規模のＬＣＤモニタデスクトップコンソールとして容易に用いることができる。ＣＲＴとＬＣＤの組み合わせは、１０２４×１５３６（７６８＋７６８）で１２０Ｈｚ（垂直スパン）で可能であるが、２０４８×７６８で１２０Ｈｚ（水平スパン）は、おそらく不可能である。より高価なハイエンドＬＣＤモニタ水平スパンの場合に必要であり、代替的な実施例において望まれる。
本発明の実施例においては、ハードウエア（グラフィックスカード）と同様にソフトウエアも利用して、既知の技術を利用してレンダリングスピードを最適化することが望ましい。
【００５４】
［システム構成例］
本発明は、データプロセッサ上で実行するソフトウエアに実装できるし、一つ以上の専用チップ内のハードウエアに実装できるし、又はこれらの組み合わせに実装できる。システム構成例としては、例えば、立体視ディスプレイ、データプロセッサ、双方向ディスプレイのコントロールコマンドや機能が割り当てられた一つ以上のインターフェース、一つ以上のメモリーや記憶装置と、グラフィックプロセッサと関連したシステムが含まれる。例えば、RadioDexter（登録商標）のソフトウエアを走らせるシンガポールのVolume Interactions Pte Ltd社のDextroscope（登録商標）やDextrobeam（登録商標）のシステム、その他類似の又は機能的に等価な三次元データセット双方向視覚化システムは、本発明の方法が容易に実施できるシステムである。本発明の実施例は、先行技術から既知の適切なデータプロセッサで実行できる命令のソフトウエアプログラムのモジュールとして実施できる。ソフトウエアプログラム例は、例えばハードドライブやフラッシュメモリやメモリスティックや光学記録メディアといった従来から既知の記憶装置に保存できる。このようなプログラムが適切なデータプロセッサのCPUからアクセスされ、実行されると、本発明の実施例に示したように、三次元データディスプレイ上にチューブ状構造の三次元コンピュータモデルが表示される上述の方法が実施される。
【００５５】
前述した実施形態は本発明の代表的な形態を示したに過ぎず、本発明は、実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。
【図面の簡単な説明】
【００５６】
【図１】従来のディスプレイと、ミラープロジェクションディスプレイと、それらの組み合わせの上の互いに反転したレンダリング画像を示す図である。
【図１Ａ】軸回りに反転した画像を示す図である。
【図２】本発明の実施例に係る同じ向きに表示された複数のビューを備えた図１の組み合わせの物理的セットアップを示す図である。
【図３】本発明の実施例に係る代表的なシステムレベルの概念図である。
【図４】本発明の実施例に係るプロセスフロー図である。
【図４Ａ】3次元オブジェクトの2次元投影を生成する図である。
【図４Ｂ】垂直インターレーシングの例である。
【図５】本発明の実施例に係る実施の例である。
【図６】本発明の実施例に係る画面領域の構成と分割である。
【図７】直交投影の例である。
【図４Ａ】
2008522270.tif 000003
【図４Ｂ】
2008522270.tif 000004
【図６】
2008522270.tif 000005
【図１】
2008522270.tif 000006
【図１Ａ】
2008522270.tif 000007
【図２】
2008522270.tif 000008
【図３】
2008522270.tif 000009
【図４】
2008522270.tif 000010
【図５】
2008522270.tif 000011
【図７】
2008522270.tif 000012
【国際調査報告】
2008522270.tif 000013
2008522270.tif 000014