説明

仮想環境と物理的オブジェクトとの間の対話を可能にするための方法およびシステム

【課題】オブジェクトと仮想環境ディスプレイとの間の対話を円滑にする。
【解決手段】対話型テーブルが、物理的オブジェクトが上に置かれるディスプレイ表面を有する。対話型テーブル内部のカメラが、物理的オブジェクトから反射された赤外(IR)光線に応答して、ディスプレイ表面上の物理的オブジェクトの位置が判定されることを可能にし、物理的オブジェクトが、ディスプレイ表面上に表示された仮想環境の一部として見えるようにする。例えば、物理的オブジェクトは、自走式であり、ディスプレイ表面上を動き回ること、あるいは光またはサウンドを発すること、または振動することが可能である。物理的オブジェクトは、ユーザまたはプロセッサによって制御されることが可能である。対話型テーブルは、ディスプレイ表面上の物理的オブジェクトを介してイメージを投影して、イメージがオブジェクトの一部として見えるようにすることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、表面上に表示された仮想環境とディスプレイ表面上に置かれたオブジェクトとの間で対話が行われる方法および装置に関し、より具体的には、ディスプレイ表面上に表示されたグラフィックイメージと、ディスプレイ表面上に置かれた、またはディスプレイ表面近くに配置された受動的および/または能動的なオブジェクトとの間の対話を円滑にすることに関する。
【背景技術】
【0002】
仮想環境は、通常、ゲームコンソール上、パーソナルコンピュータ上、および他のタイプのコンピューティングデバイス上で行われる電子ゲームにおいても、その他のタイプのアプリケーションにおいても使用される。ユーザは、普通、仮想オブジェクトが特定の仕方で動くように、または仮想環境を生じさせるソフトウェアプログラムによって定義された他の何らかのアクションまたは機能を実行するようにさせる、マウス、ジョイスティック、ホイール(wheel)、ゲームパッド、トラックボール、または他のユーザ入力デバイスを操作することにより、仮想環境内のオブジェクトと対話する。仮想環境内のオブジェクトとのユーザ対話の効果は、一般に、ディスプレイで可視である。例えば、ユーザは、仮想環境において表示された宇宙船またはレースカーなどの仮想オブジェクトを制御して、仮想オブジェクトが何らかのタスクを実行するようにしていることが可能である。ユーザによって制御される仮想オブジェクトが別の仮想オブジェクトを攻撃した場合、仮想オブジェクトは、ディスプレイ上で破壊を示すグラフィックイメージによって示されるとおり、「破壊される」ことが可能である。一部のゲームでは、ゲームコンソールまたはゲームコンピュータが、ユーザのタスクをサポートして、またはユーザのタスクの完了を妨害するように、環境内の他の仮想オブジェクトを制御することが可能である。以上のように、仮想環境内の仮想オブジェクト間の対話は、周知である。
【0003】
別の形態のユーザ入力は、ユーザの指またはスタイラスの接触に応答するディスプレイを使用する。タッチ応答ディスプレイは、圧力によってアクティブ化される(pressure activated)こと、静電容量に応答すること、磁界強度が変化すること、表面弾性波を使用すること、またはディスプレイ上の指またはスタイラスの位置を示す他の変数に応答することが可能である。別のタイプのタッチセンシティブ(touch sensitive)ディスプレイは、スクリーンに触れる指またはスタイラスの位置を検出することができるように、ディスプレイスクリーンの周囲に間隔を開けて置かれた複数の光センサを含む。以上のタッチセンシティブディスプレイの1つを使用して、ユーザは、表示された仮想オブジェクトをより直接的に制御することができる。例えば、ユーザは、表示された仮想オブジェクトに触れて、そのオブジェクトを選択し、そのオブジェクトをタッチセンシティブディスプレイ上の新たな位置にドラッグすることができる。
【0004】
ただし、ほとんどのそのようなタッチセンシティブディスプレイにおいて、応答は、あるポイントにおける指またはスタイラスの接触に対してだけである。ユーザにより豊かな体験を提供することが可能な、仮想環境との別のタイプの対話が存在する。ゲームなどの仮想環境は、しばしば、スクリーン上に表示された仮想オブジェクトを含むが、仮想環境が、ディスプレイ表面上に置かれた物理的オブジェクトにも応答することが望ましい。ほとんどの従来技術のタッチセンシティブディスプレイでは、指またはスタイラスは、実際に仮想環境内にある物理的オブジェクトとして扱われず、代わりに、スクリーン上で選択を行う、または要素をドラッグしてまわるのに使用される、単なる代替のタイプのポインティングデバイスである。ディスプレイ表面上に置かれた物理的オブジェクトに対して真に対話的であるには、ディスプレイ表面は、ディスプレイ表面上で複数の物理的オブジェクトがどこに置かれているかも検出することができるとともに、ユーザに異なる対話体験をそれぞれが提供することが可能な、異なるタイプの物理的オブジェクトも検出することができなければならない。しかし、従来のタッチセンシティブディスプレイにおいて使用される静電容量タイプ、電磁タイプ、光タイプ、またはその他のタイプのセンサは、通常、ディスプレイに触れている複数の指またはオブジェクトの位置を一度に同時に検出することができず、このため、ディスプレイ上に置かれた複数の異なるタイプの物理的オブジェクトの位置、またはそれぞれの異なるタイプを検出することができない。従来技術のこれらの接触感知(touch−sensing)システムは、一般に、複数の接触ポイントを検出することができず、ディスプレイ表面に近接した、または接触しているオブジェクトの形状を検出することができない。複数の接触ポイントを検出することができる静電容量式、または抵抗式、または表面弾性波式の感知ディスプレイ表面でも、適切な解像度でディスプレイ表面上のオブジェクトをイメージングすることができない。これらのタイプの従来技術のシステムは、ディスプレイ表面上に置かれた複数の異なるオブジェクトの間で各オブジェクトを識別するのに使用することができるオブジェクト上のパターン、または詳細な形状を検出することができない。
【0005】
従来の技術において開発された別のアプローチは、水平ディスプレイスクリーンの上方の側部に取り付けられたカメラ群を使用して、ディスプレイスクリーンに触れるユーザの指、または他のオブジェクトのイメージを視覚的にキャプチャする。この複数のカメラを取り付ける構成は、明らかに、大方の人々が住宅環境で使用することを所望するような小型のシステムではない。さらに、ディスプレイ表面上の、またはディスプレイ表面に近接したオブジェクトに応答する際の、このタイプのマルチカメラシステムの精度は、オブジェクト群、ならびに3次元空間内のオブジェクト群の位置を視覚的に認識するのにシステムで使用されるソフトウェアの能力に依存する。さらに、カメラの1つによる1つのビューは介在するオブジェクトによって妨げられることがある。
【0006】
以上に説明したタイプのタッチセンシティブディスプレイに固有の問題の多くに対処するため、MIT Media Labにおいて、metaDESKという、ユーザインタフェースプラットフォームが開発された(非特許文献1参照)。metaDESKは、2次元の地理的情報を表示するのに使用される水平に近いグラフィカル面(graphical surface)を含む。グラフィカル面の上方には、3次元の地理的情報を表示するのに使用するための「アクティブなレンズ」の役割をするアームマウント式のフラットパネルディスプレイが配置される。デスクユニット内部(すなわち、グラフィカル面より下)のコンピュータビジョンシステムが、赤外線(IR)ランプ、IRカメラ、ビデオカメラ、ビデオプロジェクタ、およびミラーを含む。ミラーは、グラフィカルディスプレイ表面の下面上にプロジェクタによって投影されたグラフィカルイメージを反映する。IRカメラは、グラフィカル面上に置かれた「ファイコン(phicon)」と呼ばれる受動的オブジェクトの底面上で提供される特徴的なパターンを検出することができる。磁界位置センサおよび電気接触センサも、metaDESKに含まれる。例えば、IRカメラが、「グレートドーム(Great Dome)ファイコン」の底面に印加された(可視光にはトランスペアレントな)IRパターンを検出したことに応答して、グレートドームファイコンが位置する、グレートドームの実際の位置が地図の中に位置付けられて、MITキャンパスの地図がグラフィカル面上に表示される。グラフィカル面上でグレートドームファイコンを動かすことにより、ユーザによるファイコンの動きに対応して地図を回転させる、または平行移動させることで、表示された地図が操作される。上記の論文は、グラフィカルディスプレイ表面で使用されるオブジェクトまたはファイコンのすべてが、受動的であり、したがって、ディスプレイシステムは、特定のグラフィカルイメージを生成することで単にファイコンに応答するが、ファイコン自体は、仮想環境に応答しないことを述べている。
【0007】
ディスプレイ上のオブジェクトを感知することに対する類似のアプローチが、株式会社ソニーコンピューターサイエンス研究所のレキモトジュンが、他の人々と共同で出版したいくつかの論文で開示されている。これらの論文は、「HoloWall」および「HoloTable」を簡単に説明しており、「HoloWall」と「HoloTable」はともに、IR光線を使用して、背面映写されたイメージが見えるディスプレイ表面に近接した、または接触するオブジェクトを検出する。HoloWallにおいて垂直であり、HoloTableにおいて水平である背面映写パネルは、半透明な拡散パネルであり、したがって、オブジェクトは、パネルに接近し、パネルに接触するにつれ、より明確に見えるようになる。このように検出されるオブジェクトは、ユーザの指または手、あるいは他のオブジェクトであることが可能である。しかし、ディスプレイパネルの表面上に能動的なオブジェクトが置かれて、スクリーン上に表示される仮想環境との対話に関わる何らかの能動的な機能を実行することは、全く説明されていない。
【0008】
仮想環境内で、ディスプレイ表面上に置かれた物理的オブジェクトと仮想環境内の仮想オブジェクトとの間の対話を可能にし、あるタイプの物理的オブジェクトが、表示されている仮想環境に能動的で知覚できる形で応答できるようにすることが望ましい。理想的には、対話は、タッチセンシティブスクリーン上で仮想オブジェクトを単に選択し、動かすのに物理的オブジェクトを使用することをはるかに凌ぐべきである。ディスプレイ表面上に置かれる一部のタイプのオブジェクトは、受動的であり、ユーザの手によってディスプレイ表面上で動かされることしかできないが、他のタイプの物理的オブジェクトは、アクティブであり、対話的な形で仮想環境に応答することができなければならない。例えば、何らかのタイプの乗り物のように見える物理的オブジェクトが、ユーザによって拾い上げられ、異なる位置に移動されることなしに、ディスプレイ表面上で動くことができれば、好ましい。このため、オブジェクト上の車輪を駆動するように結合された小型電気モータを含む物理的オブジェクトが、ユーザ、または仮想環境を生じさせるコンピューティングデバイスによって、ディスプレイ表面上を動きまわり、ディスプレイ表面上に表示された仮想オブジェクト群と対話するようにさせられることが可能である。また、異なるタイプの能動的なオブジェクトにおいて他のタイプの能動的な諸機能を使用して、表示されている仮想環境に応答することも望ましい。
【0009】
物理的オブジェクトと表示された仮想環境内の仮想オブジェクトの間の対話は、異なる形態をとることも可能である。例えば、ディスプレイ表面上に物理的オブジェクトを配置し、仮想環境を実行しているソフトウェアプログラムに物理的オブジェクト、および物理的オブジェクトの位置を認識させた後、仮想環境内の仮想オブジェクトを動かす際に、物理的オブジェクトの存在に応答させることができることが望ましい。また、仮想環境が、ユーザによって生じさせられた、仮想環境内の物理的オブジェクトの位置の変化に応答することも可能である。このため、ユーザが、物理的オブジェクトを動かして、ディスプレイ表面上で物理的オブジェクトの位置または向きを変えた場合、これに応答して、仮想環境ソフトウェアプログラムは、仮想環境ソフトウェアによって生じさせられるサウンドの音量などの、仮想環境に関連する何らかの機能、パラメータ、または特徴を変更することにより、応答することが可能である。
【0010】
ディスプレイ表面に対する物理的オブジェクトの接触の変化する範囲(area)および位置を感知することにより、好ましくは、表示された仮想環境との対応する対話ももたらされる。例えば、物理的オブジェクトが、変化する圧力で形状を変える場合、ディスプレイ表面上のオブジェクトをユーザが動かすことにより、ディスプレイ表面と接触しているオブジェクトの変化する形状を表す、ディスプレイにおける対応するストローク(stroke)がもたらされなければならない。ディスプレイ表面上の物理的オブジェクトと、ディスプレイ表面上に表示されたグラフィックイメージおよび仮想環境の間における以上、およびその他の形態の対話により、はるかに楽しい現実感のある体験がユーザに提供されることが可能である。
【先行技術文献】
【非特許文献】
【0011】
【非特許文献1】Brygg Ullmer and Hiroshi Ishii, "The metaDESK: Models and Prototypes for Tangible User Interfaces", Proceedings of UIST 10/1997:14-17
【発明の概要】
【発明が解決しようとする課題】
【0012】
従来のシステムには上述したようにさらなる改善が望まれている。
【0013】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、オブジェクトと仮想環境ディスプレイとの間の対話を円滑にする、仮想環境と物理的オブジェクトとの間の対話を可能にするための方法およびシステムを提供することにある。
【課題を解決するための手段】
【0014】
本発明は、物理的オブジェクトの現実世界と、仮想オブジェクトおよびグラフィックイメージがディスプレイスクリーン上に表示される仮想環境の間の区別を曖昧にすることを可能にする。この結果を実現するのに、テーブルトップの中央部分として形成されたディスプレイ表面を含む対話型ディスプレイが開発されている。仮想環境が下側から投影され、ディスプレイ表面上で見られる。ディスプレイ表面上に配置されたあらゆる物理的オブジェクトが、ディスプレイ表面の下に配置され、物理的オブジェクトから反射されるIR光線に応答するIRカメラによって光学的に検出されることが可能である。物理的オブジェクトが、カメラを使用して特定の位置で検出されると、表示されている仮想環境またはグラフィックイメージを制御するソフトウェアプログラムが、あたかも物理的オブジェクトが仮想環境内に含まれているかのように、物理的オブジェクトと仮想環境の間の対話を円滑にする。ディスプレイ表面の上に配置された物理的オブジェクトのタイプに依存して、対話は、2つの異なるモードで行われることが可能である。具体的には、第1のモードでは、表示された仮想環境は、ディスプレイ表面上の物理的オブジェクトの存在に応答する。第2のモードでは、物理的オブジェクトは、表示された仮想環境に応答し、特に、ディスプレイ表面上に表示された仮想環境またはグラフィックイメージの変化に応答する。
【0015】
ディスプレイ表面に対する物理的オブジェクトのあらゆる動きが、ディスプレイ表面上の物理的オブジェクトの位置の変化を感知することによって追跡される。したがって、物理的オブジェクトに対する応答には、ディスプレイ表面に対する物理的オブジェクトの動きに応答して、仮想環境内のパラメータの値を変更することが含まれることが可能である。
【0016】
物理的オブジェクトに対する応答は、物理的オブジェクトとの仮想環境内の仮想オブジェクトの対話によって実施されることも可能である。このため、例えば、仮想オブジェクトは、ディスプレイ表面上に物理的オブジェクトが配置されている仮想環境内の領域を通過することが妨げられることが可能である。物理的オブジェクトが仮想環境内の壁を表す場合、仮想環境を表示するソフトウェアプログラムによって制御される自動車に相当する仮想オブジェクトが、ディスプレイスクリーン上の物理的オブジェクトの位置にある壁から離れるようにハンドルを切り、壁に衝突することを回避するようにさせられる。この方法は、ディスプレイ表面上の特定の位置にある物理的オブジェクトのサイズと形状の少なくともどちらかを検出して、仮想環境内の物理的オブジェクトに対する事前定義された応答を可能にすることもできる。
【0017】
また、この方法は、物理的オブジェクトから反射されたIR光線に基づき、物理的オブジェクトを識別することもできる。例えば、反射されるIR光線は、ディスプレイ表面の下に配置されたIRカメラによって光学的に検出される事前定義されたパターンで符号化されていることが可能である。物理的オブジェクトは、ユーザが知覚できる能動的機能を全く実行しない受動的オブジェクトであることも、能動的機能を実行する能動的オブジェクトであることも可能である。能動的オブジェクトは、能動的オブジェクトが能動的機能を実行するようにさせる、特定の光信号などの、仮想環境内で生成された信号を検出することが可能である。
【0018】
能動的機能には、光を放出すること、またはトーンを生成すること、または振動すること、またはディスプレイ表面上の能動的オブジェクトの動きなどの、1つまたは複数の異なるタイプの知覚できる条件を生成することが含まれることが可能である。可動の能動的オブジェクトは、ディスプレイ表面上で自らを動かし、仮想環境と対話することができる。例えば、能動的オブジェクトは、電気モータがおもちゃの戦車上のトレッド(tread)を駆動してディスプレイ表面上を動き回る無線操縦式(RC)のおもちゃの戦車であることが可能である。あるいは、おもちゃの戦車は、代わりに、ディスプレイ表面の下に配置されたIR発光ダイオード(LED)などの、IR源からのIR光線を変調することにより、あるいはディスプレイ表面上で見られる表示を生成するために使用されるイメージ源によって生成される可視光の可視光パルスまたは変調によって制御されてもよい。上記、およびその他のタイプの能動的オブジェクトの場合、能動的オブジェクトの能動的機能は、ユーザによって制御されること、あるいは代替として、仮想環境を生成するソフトウェアプログラムによって制御されることが可能である。電力が、バッテリ、または充電されたキャパシタによって能動的オブジェクトに供給されて、能動的オブジェクトが、ある能動的機能を実行できるようにすることが可能である。このため、ソフトウェアを実行するコンピューティングデバイスが、能動的オブジェクトを制御することができ、能動的オブジェクトは、仮想オブジェクトの動作に影響を与え、ユーザにさらに影響を与えることができ、その逆も同様である。多くの異なる対話のシナリオも、明らかに容易に想像できる。
【0019】
受動的オブジェクトと仮想環境の間で、他のタイプの対話が可能である。例えば、物理的オブジェクトに固有であり、物理的オブジェクトを介して見えるイメージが、物理的オブジェクトが配置されたディスプレイ表面上に投影されることが可能である。すると、投影されたイメージは、物理的オブジェクトを介して可視であり、物理的オブジェクトの一部として現れる。というのは、この投影されたイメージは、ディスプレイ表面上で受動的オブジェクトが動かされるにつれ、動き回るからである。
【0020】
この方法において、物理的オブジェクトの位置は判定されるので、仮想オブジェクトと物理的オブジェクトとの間で視覚的干渉を避けるように選択されたディスプレイ表面上の位置に、仮想エンティティを表示することができる。仮想エンティティは、仮想オブジェクトまたは情報を含む。好ましくは、物理的オブジェクトに対する干渉を避けるように仮想エンティティを選択的に表示することができる、複数の優先順位付けされた位置、または順序付けされた位置が判定される。物理的エンティティに対する干渉を避け、最高の優先順位を有する位置が、仮想エンティティの表示のために選択される。また、この方法は、好ましくは、仮想エンティティを視覚的に認識する特定のユーザの位置も判定して、その特定のユーザが仮想エンティティを容易に視覚的に認識することを可能にするように選択された位置に、仮想エンティティが方向付けられ、表示されるようにする。その位置は、物理的オブジェクトと仮想エンティティの間の視覚的干渉を避けるように選択される。仮想エンティティを、最高優先順位の位置で物理的オブジェクトに対する干渉なしに表示することができない場合、仮想エンティティのサイズを縮小して、物理的オブジェクトに対する干渉を避けることができる。
【0021】
本発明の別の態様は、本方法のステップを実行するためのマシン実行可能命令が格納された記憶媒体を対象とする。
【0022】
本発明のさらに別の態様は、仮想環境と物理的オブジェクトとの間の対話を可能にするためのシステムを対象とする。システムは、仮想環境が表示されるディスプレイ表面を含む対話型ディスプレイ、およびディスプレイ表面上に置かれた物理的オブジェクトを検出するためのセンサを含む。プロセッサが、対話型ディスプレイ、ならびにマシン命令が格納されたメモリに結合される。プロセッサによって実行されると、マシン命令は、プロセッサが、以上に説明した方法のステップと全体的に合致する複数の機能を実行するようにさせる。
【0023】
本発明の以上の態様、および付随する利点の多くは、添付の図面と併せて解釈される以下の詳細な説明を参照して本発明がよりよく理解されるにつれ、より容易に認識されるようになろう。
【発明の効果】
【0024】
本発明によれば、オブジェクトと仮想環境ディスプレイとの間の対話を円滑にする効果を奏する。
【図面の簡単な説明】
【0025】
【図1】本発明を適用できる実施形態の、入力データおよび出力データを処理するのに適した全般的に従来のコンピューティングデバイスまたはパーソナルコンピュータ(PC)を示す機能ブロック図である。
【図2】本発明を適用できる実施形態の、対話型テーブルのハードウェアコンポーネント群、対話型テーブル内部の光が通る経路、テーブルの表面の上および上方に配置された典型的なオブジェクト群を示す対話型テーブルの内部の図である。
【図3】本発明を適用できる実施形態の、ディスプレイ表面上の物理的オブジェクトとディスプレイ表面上にイメージングされた仮想オブジェクトとの間の視覚的干渉を避ける際に実行されるロジックステップを示す流れ図である。
【図4】本発明を適用できる実施形態の、能動的物理的オブジェクトが、どのように感知され、対話型ディスプレイ上に表示された仮想環境と対話するかを示す機能ブロックダイアグラムの図である。
【図5】本発明を適用できる実施形態の、能動的物理的オブジェクトが、どのように対話型ディスプレイ上に表示された仮想環境と対話するかを示す機能ブロックダイアグラムの図である。
【図6】本発明を適用できる実施形態の、どのように本発明を、スタンドアロンパーソナルコンピュータ、または他のコンピューティングデバイスに結合された対話型ディスプレイとして実施することができるかを示すブロック図である。
【図7】本発明を適用できる実施形態の、複数の受動的オブジェクトおよび能動的オブジェクトを仮想環境との対話に関して示すディスプレイ表面の等角投影図である。
【図8】本発明を適用できる実施形態の、どのように仮想エンティティ、すなわち、質問カードが、ゲームボードの中央に置かれた複数のプレーヤの駒(player piece)からの視覚的干渉を避けるように、ゲームボードの隅近くの位置に表示されるかを示す、「TRIVIAL PURSUIT」ゲームに関する典型的な仮想環境ゲームボードを示す図である。
【図9】本発明を適用できる実施形態の、図8で質問カードが表示された位置辺りでディスプレイ表面上に配置されたプレーヤの駒の干渉を避けるように、異なる位置で質問カード(サイズが縮小された)が表示された、図8に示したゲームボードのさらなる例を示す図である。
【図10】本発明を適用できる実施形態の、ゲームのプレー中に物理的オブジェクト(すなわち、プレーヤの駒)が存在する可能性がある可能な位置をホイールハブ(wheel hub)が表し、プレーヤの駒による視覚的干渉を避けるように仮想エンティティ(すなわち、質問カード)を表示することができる位置の優先順位付けされたリスト、図8および図9からのゲームボードのホイールハブ部分を示す図である。
【図11】本発明を適用できる実施形態の、ディスプレイ表面を介して透明ブロック群の底部に投影された文字を示し、子供の綴りプログラムにおいて語を綴るように固有符号化パターンで識別される透明ブロック群を並べ替えることができるようにする、ディスプレイ表面の一部分を示す等角投影図である。
【図12】本発明を適用できる実施形態の、能動的オブジェクト内部のエネルギー源が、どのように充電ステーション(power charging station)によって充電されることが可能であるかを示す図である。
【発明を実施するための形態】
【0026】
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。
【0027】
本発明を実施するための典型的なシステム
図1を参照し、本発明の様々な部分を実施するのに適した典型的なシステムを説明する。システムは、プロセッサ21、システムメモリ22、およびシステムバス23を備えた、従来のPC(personal computer)20の形態の汎用コンピューティングデバイスを含む。システムバスは、システムメモリを含む様々なシステムコンポーネントをプロセッサ21に結合し、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含め、いくつかのタイプのバス構造のいずれであることも可能である。システムメモリは、読み取り専用メモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含む。スタートアップ中などに、PC20内部の要素間で情報を転送するのを助ける基本ルーチンを含む、BIOS(Basic Input/Output System)26が、ROM24の中に格納される。PC20は、ハードディスク(図示せず)に対して読み取りおよび書き込みを行うためのハードディスクドライブ27、リムーバブルな磁気ディスク29に対して読み取りまたは書き込みを行うための磁気ディスクドライブ28、およびCD−ROM(compact disk−read only memory)または他の光媒体などの、リムーバブルな光ディスク31に対して読み取りまたは書き込みを行うための光ディスクドライブ30をさらに含む。ハードディスクドライブ27、磁気ディスクドライブ28、および光ディスクドライブ30は、それぞれ、ハードディスクドライブインタフェース32、磁気ディスクドライブインタフェース33、および光ディスクドライブインタフェース34でシステムバス23に接続される。以上のドライブ、および関連するコンピュータ可読媒体により、コンピュータ可読マシン命令、データ構造、プログラムモジュール、およびその他のデータの不揮発性ストレージが、PC20に提供される。本明細書で説明する典型的な環境は、ハードディスク、リムーバブルな磁気ディスク29、およびリムーバブルな光ディスク31を使用するが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク(DVD)、ベルヌーイカートリッジ、RAM、ROMなどの、コンピュータがアクセスすることができるデータおよびマシン命令を格納することができる、他のタイプのコンピュータ可読媒体も典型的な動作環境で使用できることが、当業者には認識されよう。
【0028】
オペレーティングシステム35、1つまたは複数のアプリケーションプログラム36、その他のプログラムモジュール群37、およびプログラムデータ38を含め、いくつかのプログラムモジュールが、ハードディスク、磁気ディスク29、光ディスク31、ROM24、またはRAM25に格納されることが可能である。ユーザは、キーボード40やポインティングデバイス42などの入力デバイス群を介して、コマンドおよび情報をPC20に入力することができ、制御入力を与えることができる。ポインティングデバイス42には、マウス、スタイラス、ワイヤレスリモコン、または他のポインタが含まれることが可能であるが、本発明に関連して、そのような従来のポインティングデバイス群は、省くことができる。というのは、ユーザは、入力および制御のために対話型ディスプレイを使用することができるからである。以下に使用する「マウス」という用語は、スクリーン上でカーソルの位置を制御するのに役立つ、実質的にあらゆるポインティングデバイスを包含するものとする。その他の入力デバイス群(図示せず)には、マイク、ジョイスティック、触覚(haptic)ジョイスティック、ヨーク(yoke)、フットペダル、ゲームパッド、衛星パラボラアンテナ、スキャナなどが含まれることが可能である。以上、およびその他の入出力(I/O)デバイス群は、しばしば、システムバス23に結合されたI/Oインタフェース46を介してプロセッサ21に接続される。I/Oインタフェースという用語は、シリアルポート、パラレルポート、ゲームポート、キーボードポート、および/またはユニバーサルシリアルバス(USB)として具体的に使用される各インタフェースを包含するものとする。システムバス23は、カメラインタフェース59にも接続され、インタフェース59は、対話型ディスプレイ60に結合されて、以下に説明するとおり、ディスプレイ60内部に含まれるデジタルビデオカメラから信号を受け取る。デジタルビデオカメラは、代わりに、USBバージョン2.0ポートなどの、適切なシリアルI/Oポートに結合してもよい。オプションとして、モニタ47を、ビデオアダプタ48などの適切なインタフェースを介して、システムバス23に接続することができるが、本発明の対話型ディスプレイは、情報の表示および入力のため、およびソフトウェアアプリケーション群の制御のために、はるかに豊かな表示、およびユーザとの対話を提供することができ、したがって、ビデオアダプタに結合される。モニタに加え、PCは、しばしば、スピーカ(図示していない、サウンドカードまたは他のオーディオインタフェースを介して)やプリンタなどの、他の周辺出力デバイス(図示せず)にも結合される。PC20は、PCが能動的オブジェクトと通信することを可能にするピアツーピア(例えば、Bluetooth(商標))システム(図示せず)を介して、ディスプレイ表面上に置かれた能動的オブジェクト群に結合できることも企図されている。代替として、コントローラを、適切なI/Oポートを介してPCに結合することもでき、コントローラは、以下に説明するとおり、対話型テーブル内部に含まれるソースによって生成される、可視またはIRの光信号を介することも含め、適切な有線リンク、RF(radio frequency)リンク、または他のタイプの無線リンクを介して、1つまたは複数の能動的オブジェクトに結合することができる。
【0029】
本発明は、単一のマシン上で実施することができるが、PC20は、リモートコンピュータ49のような、1つまたは複数のリモートコンピュータに対する論理接続を使用するネットワーク化された環境においても動作することができる。リモートコンピュータ49は、別のPC、サーバ(通常、全体的にPC20とほぼ同様に構成される)、ルータ、ネットワークPC、ピアデバイス、若しくはサテライトまたは他の一般的なネットワークノードであることが可能であり、通常、PC20に関連して前述した要素の多く、またはすべてを含むが、外部メモリ記憶装置50だけを図1に示している。図1に示した論理接続は、ローカルエリアネットワーク(LAN)51およびワイドエリアネットワーク(WAN)52を含む。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的である。
【0030】
LANネットワーキング環境で使用される場合、PC20は、ネットワークインタフェースまたはネットワークアダプタ53を介してLAN51に接続される。WANネットワーキング環境で使用される場合、PC20は、通常、インターネットなどのWAN52を介して通信を確立するために、モデム54、またはケーブルモデム、デジタル加入者線(DLS)インタフェース、またはISDN(Integrated Services Digital Network)インタフェースなどの他の手段を含む。内部にあることも、外部にあることも可能なモデム54は、システムバス23に接続されるか、またはI/Oデバイスインタフェース46を介して、すなわち、シリアルポートを介して、このバスに結合される。ネットワーク化された環境では、PC20に関連して示したプログラムモジュール群、またはプログラムモジュール群の諸部分は、リモートメモリ記憶装置の中に格納することができる。図示したネットワークは、典型的であり、無線通信や広帯域ネットワークリンクなどの、コンピュータ間で通信リンクを確立する他の手段も使用できることが認められよう。
【0031】
典型的な対話型テーブル
図2に、フレーム62内にPC20を含み、コンピュータのための光入力デバイスと光出力デバイスの両方の役割をする典型的な対話型テーブル60を示す。対話型テーブルのこの破断図では、グラフィックイメージを表示するために使用される光線が、全般的に、点線(dotted line)を使用して示される一方で、ディスプレイ表面64aの上、または少し上方のオブジェクト群を感知するために使用される赤外(IR)光線が、破線(dash line)を使用して示される。ディスプレイ表面64aは、対話型テーブルのテーブル表面64の範囲内に置かれる。テーブル表面の周囲(perimeter)は、ユーザの腕、あるいはディスプレイ表面64a上に表示されるグラフィックイメージまたは仮想環境と対話するのにまだ使用されていない他のオブジェクト群を支承するのに役立つが、明らかに必須ではない。
【0032】
IR光線源66は、好ましくは、複数のIR発光ダイオード(LED)を含み、フレーム62の内側に取り付けられる。IR光線源66によって生じさせられたIR光線は、破線78a、78b、および78cで示すとおり、ディスプレイ表面64aの下面に向けて上方に向けられる。IR光線源66のIR光線は、ベラム(vellum)、または光拡散特性を有する他の適切な材料のシートを含む、テーブルの半透明レイヤ64bを透過した後、ディスプレイ表面上の、またはディスプレイ表面近くのあらゆるオブジェクトから反射される。透明なプラスチックなどの透明の材料のシートを使用して、必要な場合、半透明レイヤ64bとして使用される光を拡散させる材料を支えることができる。1つだけのIR源66を示しているが、複数のそのようなIR源をフレーム62の内側の周囲に離間した位置で取り付けて、ディスプレイ表面64aの均等な照射を実証する(prove)こともできることが認められよう。IR源によって生じさせられる赤外線は、次のことが可能である。すなわち、
・破線78aで示すとおり、オブジェクトを全く照射せずに、テーブル表面を透過して出ること、
・破線78bで示すとおり、テーブル表面上のオブジェクトを照射すること、または
・破線78cで示すとおり、テーブル表面から上方に短い距離であるが、テーブル表面には触れていないオブジェクトを照射することである。
【0033】
ディスプレイ表面64aの上方のオブジェクトには、ディスプレイ表面の上に置かれている「接触」オブジェクト76a、ならびにディスプレイ表面に近接しているが、実際に接触はしていない「ホバー(hover)」オブジェクト76bが含まれる。ディスプレイ表面の下で半透明レイヤ64bを使用して、ディスプレイ表面を透過するIR光線を拡散させることの結果として、オブジェクトがディスプレイ表面64aの上面に接近するにつれ、オブジェクトによって反射されるIR光線の量は、オブジェクトがディスプレイ表面64aに実際に接触した場合に達せられる最大レベルまで増加する。
【0034】
デジタルビデオカメラ68が、ディスプレイ表面64aの上方に置かれた接触オブジェクトまたはホバーオブジェクトから反射されたIR光線を受け取るのに適切な位置で、ディスプレイ表面64aの下のフレーム62に取り付けられる。デジタルビデオカメラ68は、IR光線だけを透過させ、点線84aに沿ってディスプレイ表面64aを透過する周辺可視光を遮るIR透過フィルタ86aを備える。IR源66とデジタルビデオカメラとの間にバフル(baffle)79が配置されて、IR源から直接に放出されたIR光線がデジタルビデオカメラに入るのを防止する。というのは、そのデジタルビデオカメラが、ディスプレイ表面64aから上方に短い距離の、またはディスプレイ表面64aに接触するオブジェクト群から反射されたIR光線に応答する出力信号を生成することが重要だからである。ミラー72b(図2)からの2次反射の結果として生じさせられる鏡面反射を避けるため、または直接のIR光線がビジョンシステムに達するのを避けるため、それらのIR LEDの位置を選択する際に注意が払われた。それらの鏡面反射および直接IR光線は、ディスプレイ表面上のオブジェクト群を感知することを妨げるデッドスポット(dead spot)をビジョンシステムにおいて生じさせる可能性がある。デジタルビデオカメラ68は、ディスプレイ表面64aを透過し、対話型ディスプレイの内部に入る周辺光(例えば、点線84aで示した経路に沿っても伝わる周辺IR光線)に含まれるIR光線にも応答することが認識されよう。
【0035】
テーブル表面の上、または上方のオブジェクト群から反射されるIR光線は、次のことが可能である。すなわち、
・破線80aおよび80bで示すとおり、反射されて半透明レイヤ64bを透過して戻り、IR透過フィルタ86aを透過し、デジタルビデオカメラ68のレンズ群に入ること、または
・破線80cで示すとおり、デジタルビデオカメラ68のレンズ群に入らずに、対話型ディスプレイ内部の他の内側面(interior surface)によって反射されるか、または吸収されることである。
【0036】
半透明レイヤ64bは、入射するIR光線と反射されたIR光線をともに拡散させる。このため、前述したとおり、ディスプレイ表面64aにより近い「ホバー」オブジェクト群は、ディスプレイ表面からより遠くに離れた同一の反射率のオブジェクト群より多くのIR光線をデジタルビデオカメラ68に反射して戻す。デジタルビデオカメラ68は、カメラ68のイメージングフィールド内の「接触」オブジェクト群または「ホバー」オブジェクト群から反射された赤外線を感知し、その反射されたIR光線のイメージ群に対応するデジタル信号を生成し、この信号が、それぞれのそのようなオブジェクトの位置、ならびにオプションとして、そのオブジェクトのサイズ、向き、および形状を判定する処理のためにPC20に入力される。オブジェクトの一部分(ユーザの前腕など)がテーブルの上方にある一方で、別の部分(ユーザの指など)は、ディスプレイ表面に接触していることも可能であることに留意されたい。さらに、オブジェクトは、オブジェクトの底面上に、そのオブジェクト、またはそのオブジェクトがメンバである関連するオブジェクトのクラスに固有であるIR光線反射パターンまたはIR光線反射コード(例えば、バーコード)を含むことも可能である。したがって、デジタルビデオカメラ68からのイメージング信号は、オブジェクトの反射パターンから反射されたIR光線に基づき、そのような特定のオブジェクトを検出することとならんで、オブジェクトの向きを判定することのためにも使用することができる。
【0037】
PC20は、図2に示すとおり、対話型テーブル60と一体になっていることも、そうではなく、図6の実施形態で示すとおり、対話型テーブルの外部にあることも可能である。図6では、対話型テーブル182が、データケーブル186を介して外部PC184(前述したとおり、オプションのモニタを含む)に接続されている。対話型テーブルは、外部PC184、あるいはセットトップボックス、ビデオゲーム、ラップトップコンピュータ、またはメディアコンピュータなどの、他の何らかのタイプのコンピューティングデバイスに接続される場合、入出力デバイスを含む。外部PC184を対話型テーブル182に接続するデータケーブル186は、PC184上のUSB2.0ポート、IEEE(Institute of Electrical and Electronics Engineers(米電気電子学会))1394(またはFirewire)ポート、またはイーサネット(登録商標)ポートに結合することができる。無線接続の速度が向上するにつれ、対話型テーブルは、高速無線接続を介して、または他の何らかの適切な有線または無線のデータ通信リンクを介してPC184などのコンピューティングデバイスに接続することが可能であることも企図されている。対話型ディスプレイの一部として内部に含められるか、外部に含められるかに関わらず、PCは、デジタルビデオカメラ68からのデジタルイメージを処理するためのアルゴリズムを実行し、対話型テーブル60のより直観的なユーザインタフェース機能を有利に使用するように設計されたソフトウェアアプリケーション群を実行するとともに、そのような機能を利用するように特に設計されていないが、それでも、対話型テーブルの入力能力および出力能力を使用することができる他のソフトウェアアプリケーション群も実行する。
【0038】
対話型テーブル(前述した実施形態のいずれでも)の重要で強力な特徴は、ゲームまたは他のソフトウェアアプリケーション群に関するグラフィックイメージまたは仮想環境を表示することができ、ディスプレイ表面64a上に見られるグラフィックイメージまたは仮想環境と、ディスプレイ表面の上に置かれた、またはディスプレイ表面から少し上方に浮いたオブジェクト群の間の対話を可能にすることができることである。
【0039】
図2を再び参照すると、対話型テーブル60は、ディスプレイ表面64a上にグラフィックイメージ、仮想環境、またはテキスト情報を表示するのに使用されるビデオプロジェクタ70を含む。ビデオプロジェクタは、好ましくは、少なくとも640×480ピクセルの解像度を有する、LCD(液晶ディスプレイ)、またはDLP(digital light processor(デジタルライトプロセッサ))ディスプレイタイプ、またはLCoS(liquid crystal on silicon)ディスプレイタイプを含む。IRカットフィルタ86bが、ビデオプロジェクタ70のプロジェクタレンズの前方に取り付けられて、ビデオプロジェクタによって放出されたIR光線が、対話型テーブルの内部に入り、ディスプレイ表面64aの上、または上方のオブジェクトから反射されたIR光線に干渉するのを防止する。第1のミラーアセンブリ72aが、プロジェクタレンズから点線の経路82aに沿ってフレーム62における透明な開口90aを透過して伝わる、投射された光を方向付け、その投射された光が、第2のミラーアセンブリ72b上に入射するようにする。第2のミラーアセンブリ72bは、投射された光を半透明レイヤ64b上に反射し、レイヤ64bは、投影されたイメージが、表示(viewing)のためにディスプレイ表面64a上で焦点が合って見えるように、プロジェクタレンズの焦点に位置する。
【0040】
アラインメントデバイス74aおよび74bが提供され、第1のミラーアセンブリおよび第2のミラーアセンブリの角度を調整して、ディスプレイ表面上に投影されたイメージが、ディスプレイ表面と揃っていることを確実にするためのネジ棒と回転可能な調整ナット群74cを含む。投影されたイメージを所望の方向に向けることに加え、これら2つのミラーアセンブリの使用は、プロジェクタ70と半透明レイヤ64bの間でより長い経路を提供し、より重要なことには、対話型ディスプレイテーブルの所望のサイズおよび形状を実現することに役立ち、対話型ディスプレイテーブルが大き過ぎず、ユーザがテーブルの隣に快適に座ることを可能にするサイズと形状であるようにする。
【0041】
仮想環境内における物理的オブジェクトと仮想オブジェクトとの間の対話
図4の機能ブロックダイアグラム130は、本発明に従って、受動的な物理的オブジェクト136が、どのようにユーザおよび仮想環境と対話するかを示す。(本明細書では、「受動的な物理的オブジェクト」という用語を時として短縮して、単に「受動的オブジェクト」と呼ぶ)この図に示すとおり、ユーザ132は、受動的な物理的オブジェクト136をディスプレイ134上、またはその近くに置くことができる。ディスプレイ表面上の受動的な物理的オブジェクト136の存在は、感知機能138によって検出され、この機能138は、受動的な物理的オブジェクトがディスプレイ134の上に置かれている、またはすぐ上方に位置している場合、対話型テーブル60内部で、受動的な物理的オブジェクトの底部から反射されたIR光線を検出するデジタルビデオカメラ68によって実行される。受動的な物理的オブジェクトを示す信号は、CPU(central processing unit)によって実行されるソフトウェアに供給されて仮想環境140を生成し、仮想環境が、受動的な物理的オブジェクトの存在を認識し、その存在に応答することができるようにする。図4には示していないが、ディスプレイ134の上で、またはすぐ上方に物理的オブジェクトを位置付ける、またはそこで動かすことに加え、ユーザ132は、キーボード、ポインティングデバイスを介して、または単に仮想環境と対話することにより、例えば、メニュー項目を選択することなどにより、他のソースの入力を仮想環境140に提供することができる。仮想環境140は、ディスプレイ134にイメージングされるので、仮想環境を生成するソフトウェアプログラムは、仮想環境内の仮想オブジェクト群が、物理的オブジェクト136の存在に応答するとともに、物理的オブジェクトの位置、向き、サイズ、ならびに物理的オブジェクトを一意に識別する物理的オブジェクト上に含まれる符号化された情報にも応答する、または共通クラス内の一群の物理的オブジェクトの1つとして物理的オブジェクト136の存在に応答するようにさせることができる。ユーザ、受動的な物理的オブジェクト、および仮想環境の間で行われることが可能な対話のタイプの例を以下に説明する。
【0042】
図5の機能ブロックダイアグラム150の機能図は、能動的な物理的オブジェクト154が、どのように仮想環境内の表示されたイメージ156と対話するかを示す。(本明細書では、「能動的な物理的オブジェクト」という用語をときとして短縮して、単に「能動的オブジェクト」と呼ぶ。)能動的な物理的オブジェクト154は、ユーザが知覚できる1つまたは複数の能動的機能を実行することができる物理的オブジェクトであり、したがって、各能動的オブジェクトとユーザの間には、通常、双方向の対話が存在することが可能である。能動的オブジェクト154は、ディスプレイ134上に置かれた場合、またはディスプレイのすぐ上方で「ホバリング(hover)」させられた場合に検出される。能動的オブジェクト154を感知するのに、ディスプレイ134の上に、またはすぐ上方に配置された能動的オブジェクトから反射されたIR光線が、感知システム138によって検出され、システム138は、前述したとおり、好適実施形態では、IR感知デジタルビデオカメラを含む。感知システムによって生成された信号は、デジタル化され、ディスプレイ表面上の能動的オブジェクトの位置、およびオプションとして、形状、向き、ならびに能動的オブジェクトを識別するように能動的オブジェクト上で提供される特定の符号化された情報が、仮想環境140を生成するCPUに提供される。この場合も、ユーザ132は、仮想環境の表示されたイメージと対話するとともに、能動的オブジェクト群154とも対話する。ただし、ユーザは、単にディスプレイ表面上の特定の位置に能動的オブジェクトを配置することを超えて能動的オブジェクト154と対話することもできる。例えば、能動的オブジェクトが自走式の車である場合、ユーザ132は、能動的オブジェクト154に接続されたRC(remote control)デバイス、または別のタイプのコントローラを使用して、方向、速度、ならびにその車が実行することができるその他の能動的機能を制御することができる。能動的オブジェクト154は、ディスプレイ134と対話することができる。というのは、ディスプレイ上で仮想環境140のグラフィックイメージを生成するソフトウェアは、能動的オブジェクト群154を制御する信号も生成することができるからである。好ましくは、能動的オブジェクトの制御は、PCに結合されたコントローラを介して行われ、PCが、オブジェクトのユーザによる制御にいくつかの制限を差し挟むことができ、オブジェクトがテーブル上の、またはテーブルから外れた他の受動的オブジェクトまたは能動的オブジェクトと不適切に対話するように能動的な物理的オブジェクトをユーザが制御するのを防止することができるようにしなければならない。例えば、PCは、ユーザが、能動的オブジェクトをディスプレイ表面から外れるように走行させる、または能動的オブジェクトを使用して、ソフトウェア仮想環境の規則内でそのように動かされることになっていない受動的オブジェクトを動かすのを防止することができる。
【0043】
前述したとおり、あるタイプの能動的な物理的オブジェクトが行うことができる1つの形態の能動的機能は、ディスプレイ表面上で動き回ることである。ただし、能動的オブジェクト154は、ユーザ132が知覚できる他の能動的機能も実施することができる。例えば、能動的オブジェクト154は、仮想環境内の諸条件に応答して、光を放出することができ、場合により、1つまたは複数の異なる光を放出することができる。同様に、能動的オブジェクト154は、場合により、表示されている仮想環境内の仮想オブジェクトまたは他のグラフィックイメージのステータスに依存して異なるピッチの、可聴の信号またはトーンを生成することができる。可聴のトーンを生成する代りに、能動的オブジェクト154は、振動することも可能である。能動的機能の以上の例のそれぞれにおいて、能動的オブジェクト154は、仮想環境と対話し、したがって、能動的オブジェクトは、仮想環境の一部分であるように見え、別個の分離したエンティティではないように見える。
【0044】
表示された仮想環境は、能動的オブジェクト群154、ならびに能動的オブジェクト群154がいくつかの異なる形で実施する能動的機能を、制御することができる。仮想環境内で、IRビデオカメラを使用して「ループを閉じ」、オブジェクトの制御された動きの誤りを、制御理論における標準の技術を使用して訂正することができるようにする。例えば、PCのユーザは、ディスプレイ表面上を直線で動くように能動的オブジェクトを制御することを、ビジョンシステムフィードバックを利用することなく、能動的オブジェクト上のモータ群がそのような正確な制御ができない可能性があっても、行うことができる。ブロック160で示すとおり、仮想環境(または仮想環境を生成するCPU)は、能動的オブジェクトが応答し、表示されたイメージの一部である光を使用して能動的オブジェクトと通信すること、あるいはRF信号を生成して、またはIR光線、または他の何らかの信号を使用して、能動的オブジェクトと通信することができる。このため、仮想環境が、ディスプレイ表面上で動き回る可視光の点を含む場合、能動的オブジェクト154は、表示されたイメージを生成するソフトウェアアプリケーションプログラムによって制御されるその光の点を実際上、追うことができる。対話型ディスプレイを使用して行われるゲームでは、仮想環境を生成するCPUが、1つまたは複数の能動的オブジェクトを制御することが可能な一方で、ユーザは、他の能動的オブジェクトを制御する。能動的オブジェクトは、受動的オブジェクトとしても機能することが可能である。というのは、ディスプレイ表面上に能動的オブジェクトが単に存在することにより、その位置に能動的な物理的オブジェクトが単に存在することに、仮想環境が適切に応答するようにさせられることが可能だからである。
【0045】
いくつかの例が、受動的オブジェクトと仮想環境の間、および能動的オブジェクトと仮想環境の間でどのように様々な対話が行われることが可能であるかを示すのに役立つ可能性がある。例えば、ユーザが、ピンボールゲームレイアウトがディスプレイ表面上に現れる仮想環境を含む、ピンボールゲーム(pinball arcade game)を行っている場合、ユーザは、ディスプレイ表面上に現れるピンボールゲームイメージ内のバンパ(bumper)として構成される受動的オブジェクトを配置することができる。ピンボールを表す仮想オブジェクトが放たれ、ユーザによって配置されたバンパに「当たった」場合、仮想イメージは、はね返るようにさせられ、仮想の光の明滅が、仮想環境によって生成されるサウンドとともに現れるようにさせられる。ユーザが、バンパの役割をする受動的オブジェクトの位置を変えた場合、仮想ゲーム環境は、受動的オブジェクトの新たな位置および向きを感知し、ピンボールが、バンパの新たな位置でバンパに「当たる」ことの応答は、やはり事前定義された応答をもたらす。
【0046】
次に、ユーザが、仮想環境として表示されたピンボールゲームボード上に円形のバンパを表す能動的オブジェクトを配置した場合、異なるタイプの応答が生成されることが可能である。仮想ピンボールが円形のバンパに「当たった」場合、仮想環境は、能動的オブジェクトの下で光信号を生成することが可能であり、その信号に能動的オブジェクトは、振動して、能動的オブジェクト内部に含まれる光源から光のパルスを生成すること、および/または事前定義された鳴り響くサウンドを生成することで応答する。仮想環境は、ピンボールが能動的エージェントに当たった場合に、能動的オブジェクトの下で他の視覚的な照明の効果または点滅を生成することもできる。
【0047】
ピンボールは、能動的オブジェクトまたは受動的オブジェクトに「当たった」際のピンボールの動きに適切な方向および力で、ピンボールゲームの仮想環境内で動くようにさせて、仮想ピンボールが、物理の法則で定義される方向で物理的オブジェクトからはね返るようにすることができる。能動的オブジェクトに点灯させる、またはサウンドを発するようにさせる、または振動させるのに、仮想環境は、仮想オブジェクトが能動的オブジェクトに衝突した時点で、能動的オブジェクトの下面上のレセプタ(receptor)に可視光線またはIR光線のパルスを向けて、能動的オブジェクトが、能動的機能を実施するようにさせることができる。さらに、仮想環境内で能動的オブジェクトに伝送される光信号は、能動的オブジェクトが、能動的オブジェクトの下面上に配置されたセンサによって受け取られる特定のコードシーケンスに依存して、異なる能動的機能を実行するようにさせるように符号化することができる。
【0048】
図7は、物理的オブジェクトがディスプレイ表面192上に置かれた場合に仮想イメージ190と対話することができる、いくつかの異なる物理的オブジェクトを示す。図7に示すとおり、受動的オブジェクト194aが、仮想環境内の壁を表す。別のタイプの受動的オブジェクトが、ノブ(knob)またはリニアパッドなどのユーザインタフェースコントロールを表し、このコントロールが、物理的オブジェクトを回転させる、またはスライドさせることによりユーザによって動かされて、仮想環境の物理的パラメータが変更される。音量レベルなど、ほとんどあらゆるパラメータが、このように調整されることが可能であり、受動的オブジェクトの動きを使用して、複数のメニュー項目の1つを選択することができる。他の受動的オブジェクトには、ディスプレイ表面192と接触させられ、表面上で引かれた場合、ディスプレイ表面に押し付けられるオブジェクトに印加される圧力の関数として、太さ、およびその他の諸特性が変化するストロークを表す対応するイメージが、仮想環境によって表示されるようにする、オブジェクトが含まれる。ストロークの諸特性は、ディスプレイ表面に接触するオブジェクトの面積に応答して変化する。描画(drawing)ソフトウェアプログラム群でやはり役立つのが、スタイラスを表す受動的オブジェクトであり、したがって、ユーザは、単に受動的オブジェクトをディスプレイ表面上で動かすことにより、受動的オブジェクトを使用して描画を行うことができる。同様に、受動的オブジェクトは、ディスプレイ表面上に表示されたイメージの諸部分を、表示されたイメージのその部分の上で消しゴム(eraser)を動かすことによって削除することができる消しゴムであることが可能である。
【0049】
図7の戦車194bが、光の点196aがディスプレイ表面192上を動き回るのにつれ、その光の点196aの後を追うのが示される。光の点に応答するため、タンク194bは、点196aを生成するために使用される光の波長に応答する光レセプタ(別個に図示せず)を含む。代替として、戦車194bは、RC戦車194eと同様に、仮想環境ソフトウェアプログラムによって送信されるRF信号を使用して制御されることも可能である。
【0050】
この例では、ユーザは、戦車194eの行路に受動的オブジェクト194aを配置しており、オブジェクト194aは、仮想環境において実際の戦車を止める重厚な壁を表す。仮想環境は、受動的オブジェクト194aの検出に応答し、オブジェクト194aの形状、位置、および向きに応答する。受動的オブジェクト194aは、受動的オブジェクト194aの位置が感知される仮想環境内の場所における壁を表すので、仮想環境は、戦車194eが、仮想環境内で受動的オブジェクト194aによって占められる領域を通って前進することを許さない。このため、壁を表す受動的オブジェクトは、仮想環境によって制御される物理的オブジェクト194eの動きに影響を与える仮想環境の一部分として扱われる。
【0051】
物理的オブジェクトは、戦車194bによって発射された砲弾196cなどの仮想オブジェクトに応答することもできる。そのような砲弾が当たったことに応答して、仮想の爆発196dが、戦車194eのまわりに目立つように現れるようにして、仮想の砲弾が戦車に当たったことを示すことができる。
【0052】
能動的オブジェクト194cおよび194dは、RFコントロールまたは有線コントロール(図示せず)を使用するユーザによって、あるいはRFコントロール、IR光信号がディスプレイ表面192上に投射されると、能動的オブジェクト上の光センサが応答するパルスIR光信号源、または可視光線196bを使用する仮想環境により、やはり制御される、自動車、または他の乗り物に相当する。以上の信号のいずれを使用しても、能動的オブジェクト194cがディスプレイ表面192上で動く方向を制御することができる。
【0053】
電力が能動的オブジェクトに通電することを要求する諸機能を実行する能動的オブジェクト194b、194c、194d、および194eは、通常、充電可能な(または充電可能でない)バッテリを含むか、または容量充電(capacitive charge)電源を使用する(最低限の電力量だけしか要さない場合)。図12は、AC電源電圧302に結合され、AC電源電圧を適切な電荷信号(charge signal)に変換して、電荷を能動的オブジェクト304に送る典型的な充電ステーション300を示し、オブジェクト304は、電気エネルギーを使用してオブジェクト304の能動的機能を実行する。充電可能なバッテリ、または代替として、容量充電ストレージが、電動の(powered)能動的オブジェクト304内部に含まれる。代替として、充電ステーション300自体、能動的オブジェクト内部のエネルギー源に充電するために使用されるバッテリを含むことが可能である。このため、能動的オブジェクトは、充電ステーション300に結合されて、対話型ディスプレイ上の能動的オブジェクトの使用の合間に充電を受ける。
【0054】
まだ説明していない、本発明で使用される受動的オブジェクトの別の特徴は、表示されたイメージの特定の部分を、受動的オブジェクトが占めるディスプレイ表面上に投影して、表示されたイメージのその部分が、受動的オブジェクトの一部であるように、すなわち、あたかも受動的オブジェクトの底面に付けられているかのように見えるようにすることができることである。図11は、子供の綴りゲームがその特徴を使用する、単純な例を示す。この例では、ディスプレイ表面64a上に投影される仮想環境は、「ここに語を綴りなさい(Spell Word Here)」、すなわち、表示された線の上に語を綴りなさいという、ユーザに対する命令を含む。ディスプレイ表面64a上に散乱しているのが、透明なプラスチック材で作られ、受動的オブジェクトのそれぞれの下面にIR符号化されたパターン(人間の目に見えない)が印加されている、複数の受動的オブジェクト220である。そのようなパターンの例を1つの受動的オブジェクト上に示す。このため、各受動的オブジェクト220は、綴りゲームプログラムの制御の下でディスプレイ表面上のイメージの一部分として投影された文字群が、受動的オブジェクト220のそれぞれに関連付けられるように、一意に識別されることが可能である。この単純な例では示していないが、綴りプログラムは、子供のユーザが、示された線の上に受動的オブジェクト群220を含むブロック群を適切な順序で並べて、「RAKE(熊手)」という語を綴ろうと試みるように、熊手のピクチャを表示することも可能である。ユーザが、各ブロックをディスプレイ表面64a上で方々にスライドさせるのにつれ、受動的オブジェクトの下面上に投影された対応する文字が、その受動的オブジェクトとともに動き、受動的オブジェクトがディスプレイ表面上で回され、動かされるのに応じて、受動的オブジェクトの向きを保つ。この技術を使用する別の例は、パズルイメージの諸部分が、ディスプレイ表面上に置かれた受動的オブジェクト群の上に投影されるようにする、ソフトウェアアプリケーションに関連する。ユーザは、各受動的オブジェクトを、したがって、その受動的オブジェクト上に投影されたイメージの部分を、他の受動的オブジェクト、ならびにイメージの他の受動的オブジェクトに対応する部分とリンクして、パズルが表す完成されたイメージを形成することにより、パズルを完成させるように受動的オブジェクトを選択的に並べることができる。また、イメージは、ビデオイメージ、または静的でないイメージであることも可能である。
【0055】
物理的オブジェクトと、仮想環境内に表示された仮想オブジェクトとの間の別の対話は、仮想オブジェクトの少なくとも一部分が、ユーザまたはソフトウェアによってディスプレイ表面上に配置された物理的オブジェクトによって覆い隠される場合、仮想オブジェクトの表示を避けることに関する。物理的オブジェクトは、透明ではないものと想定する。仮想オブジェクトの表示と、ボード上に配置された物理的オブジェクトとの間の干渉により、仮想環境は、物理的オブジェクトの位置およびサイズを認識することが要求される。ディスプレイ表面上で動かされている、またはディスプレイ表面上に置かれている物理的オブジェクトに対する干渉を避けるだけでなく、仮想表示の他の諸態様に対する干渉も避けるように、仮想オブジェクトを表示するための優先順位付けされた位置リストを作成することが、一般に、好ましい。
【0056】
図8、図9、および図10は、どのように本発明のこの態様が実施されるかを示す例である。この例では、仮想環境200は、TRIVIAL PURSUIT(商標)ゲームボードの表示を表す。ゲーム内の各プレーヤの進行状況(progress)が、物理的オブジェクトの位置で示される。このため、物理的オブジェクトは、異なるプレーヤにそれぞれが割り当てられた、プレーヤの駒202、204、または208を表す。図8に示すとおり、プレーヤの駒202および204は、概して、仮想環境200としてのホイール様の表示の中心、またはハブに位置する。各プレーヤの順番になると、ディスプレイ表面上に仮想環境200を生成するソフトウェアプログラムが、現在、順番になっているプレーヤに仮想の質問カード206を表示し、その質問に対するプレーヤの応答を求めて、プレーヤの駒がゲーム内で前進することができるかどうかを判定する。現在のプレーヤが、図8に示すとおり、仮想表示200の南西の隅に隣接して物理的に位置しているものと想定すると、質問カード206を表示するための最高優先順位の位置は、仮想表示の南西の隅である。この位置が最高優先順位を有するのは、この位置により、この表示位置の隣のプレーヤが、質問カード上の質問を容易に読むことが可能になるからである。質問カード206は、仮想オブジェクトであるため、仮想表示200を生成するソフトウェアプログラムは、異なる優先順位付けされた位置で質問カードを選択的に表示することができる。このケースでは、最高優先順位を有する南西の位置が選択され、使用される。というのは、仮想環境ゲームボードの中心またはハブに配置されたプレーヤの駒202または204に対して全く干渉しないからである。
【0057】
しかし、図9では、現在、仮想環境の南西のスポーク(spoke)上に置かれているプレーヤの駒208により、質問カードに相当する仮想オブジェクトが、図8で使用した南西の位置に表示されることが除外される。実際、質問カードに応答する必要があるプレーヤに比較的近い、優先順位付けされた位置、または順序付けられた位置のいずれも、選択可能ではない。このケースでは、質問カードに相当する仮想オブジェクト206’が表示されるが、仮想オブジェクト206’は、仮想オブジェクト206と比べてサイズが小さく、質問カードと、ディスプレイ表面上に置かれた物理的オブジェクト群の間で全く干渉を生じさせることなしに、ディスプレイ表面上の2番目に高い優先順位の位置で表示されることが可能である。
【0058】
図10は、質問カードを含む仮想オブジェクトを表示することが可能なオプションの位置の優先順位付けされたリスト、または順序付けされたリストを判定する際、Trivial Pursuitゲームで使用されるハブ−ホイールデザインの幾何学的形状が、仮想オブジェクトの表示位置の優先順位付けされたリストを作成するのに考慮されることを示す。というのは、ディスプレイ表面上に物理的に置かれるプレーヤの駒は、ボードデザインの縁(rim)、スポーク、またはハブの上だけに置くことができるからである。したがって、ディスプレイ表面上で仮想環境を生成するのに使用されるそれぞれの異なるソフトウェアアプリケーションに関して、異なる基準が、仮想オブジェクトを表示することができる位置の優先順位付けされたリストの判定に影響を与えることが、明白であろう。
【0059】
図3の流れ図100は、ディスプレイ表面上に置かれた物理的オブジェクト群に対する干渉を避けるのに、どこに仮想オブジェクトを表示するかを判定する際に使用されるロジックステップを示す。開始ブロック102の後、ステップ104が、仮想オブジェクトの表示のための可能な位置の順序付けされたリストを作成することを可能にする。図10に関連して既に述べたとおり、優先順位付けされたリストは、例えば、図10に示したとおり、仮想オブジェクトと対話するユーザの位置とならび、物理的オブジェクト群が配置される可能性のある位置を定義する可能性が高い、仮想環境のレイアウトも考慮するように順序付けられることが可能である。さらに、優先順位付けは、仮想オブジェクトが、重要な情報が隠されることなしに、物理的オブジェクトによって覆い隠されることが可能な諸部分を含む可能性があることも考慮に入れることができる。例えば、仮想の質問カードの周囲の境界は、仮想の質問カードを読むユーザの能力に影響を与えることなしに、覆い隠されることも可能である。次に、ステップ106が、例えば、対話型ディスプレイ内部に含まれるデジタルビデオカメラによって受け取られた、反射されたIR光線に基づき、ディスプレイ表面上の1つまたは複数の物理的オブジェクトの位置を確認する。
【0060】
次に、ステップ108が、優先順位付けされたリスト内の各位置に関して、仮想オブジェクトがそこに表示されるべきであるかどうかを判定する。ステップ110で、プログラムは、仮想オブジェクトが表示される際に、仮想オブジェクトがプレーヤの方を向くように方向付ける。次に、判定ステップ112により、仮想オブジェクトに少なくとも部分的に干渉するように、ディスプレイ表面上でその位置に配置された物理的オブジェクトが存在するかどうかが判定される。存在する場合、ステップ114が、仮想オブジェクトのサイズを変更して、仮想オブジェクトがより小さくなるようにするか、または代替として、物理的オブジェクトの周囲に合うように仮想オブジェクトのサイズまたは形状を変更することにより、仮想オブジェクトを再フォーマットする。次に再び、判定ステップ116により、サイズ変更された、または再フォーマットされた仮想オブジェクトを覆い隠す物理的オブジェクトが存在するかどうかが判定される。存在する場合、ロジックは、ステップ118に進み、可能な位置の優先順位付けされたリスト内、または順序付けされたリスト内の次の位置が評価される。判定ステップ112における判定、または判定ステップ116における判定が否定であった場合、ロジックは、ステップ120に進み、ロジックが判定ブロック112から来た場合には、元のサイズで、ロジックが判定ブロック116から来た場合には、より小さいサイズ(または変更されたフォーマット)で、仮想オブジェクトを現在の位置に配置する。判定ブロック116に対する肯定応答の後、ステップ118は、ステップ110に戻り、順序付けされたリスト内の次の位置に関してプロセスを繰り返す。判定ブロック120で、仮想オブジェクトがディスプレイ表面上に置かれる(すなわち、表示される)と、ロジックは、ステップ122で完了する。優先順位付けされた位置リストを使用する前述したロジックは、単に典型的であり、ディスプレイ表面上に置かれている物理的オブジェクト群に対する干渉を避けるように仮想イメージ群を表示するための、他の制約を満足させる技術、または最適化技術を代わりに使用することもできることが、理解されよう。
【0061】
本発明は、本発明を実施する好適な形態に関連して説明してきたが、添付の特許請求の範囲の範囲内で多数の変更形態を実施することもできることが、当業者には理解されよう。したがって、本発明の範囲が、以上の説明によって限定されることは全く意図されず、代わりに、添付の特許請求の範囲を参照することによって完全に規定されるものとする。
【符号の説明】
【0062】
130、150 機能ブロックダイアグラム
132 ユーザ
134 ディスプレイ
136 受動的な物理的オブジェクト
138 感知機能
140 仮想環境
154 能動的な物理的オブジェクト
160 ブロック

【特許請求の範囲】
【請求項1】
ディスプレイ表面上に仮想エンティティを表示する際に、該ディスプレイ表面上に配置された物理的オブジェクトと対話するための方法であって、
(a)前記物理的オブジェクトが前記ディスプレイ表面上に配置された位置、および前記物理的オブジェクトによって覆い隠される前記ディスプレイ表面の領域を感知するステップと、
(b)選択された位置が、前記仮想エンティティと前記ディスプレイ表面上に配置された前記物理的エンティティの間で視覚的干渉を生じさせないように、前記仮想エンティティを表示するための該位置を自動的に選択するステップと、
(c)選択された前記位置に前記仮想エンティティを表示するステップと
を備えることを特徴とする方法。
【請求項2】
前記ディスプレイ表面上に表示される前記仮想エンティティを視覚的に認識することを意図するユーザによる前記仮想エンティティの視覚的認識を促すように、前記仮想エンティティの向きを判定するステップをさらに備えることを特徴とする請求項1に記載の方法。
【請求項3】
前記仮想エンティティを表示するための前記位置を自動的に選択する際に、優先順位付けされた位置リストを適用するステップをさらに備えることを特徴とする請求項1に記載の方法。
【請求項4】
(a)前記ディスプレイ表面上に表示される前記仮想エンティティを視覚的に認識することを意図するユーザによる前記仮想エンティティの視覚的認識を促すように、前記仮想エンティティの向きを判定するステップと、
(b)判定された前記仮想エンティティの前記向きの関数として前記優先順位付けされたリストを作成するステップと
をさらに備えることを特徴とする請求項2に記載の方法。
【請求項5】
前記物理的オブジェクトが前記ディスプレイ表面上の前記仮想エンティティの前記表示に視覚的に干渉することなしに、前記仮想エンティティを前記可能な位置のいずれにも表示することができない場合、
(a)前記仮想エンティティのサイズを変更して該仮想エンティティのサイズを縮小するステップと、
(b)サイズが縮小された前記仮想エンティティが、選択された位置で前記ディスプレイ表面上に表示された場合、前記物理的オブジェクトが該仮想エンティティに視覚的に干渉しないように選択された該位置で、サイズが縮小された前記仮想エンティティを表示するステップと
をさらに備えることを特徴とする請求項1に記載の方法。
【請求項6】
前記物理的オブジェクトが前記ディスプレイ表面上の前記仮想エンティティの前記表示に視覚的に干渉することなしに、前記仮想エンティティを前記可能な位置のいずれにも表示することができない場合、
(a)前記仮想エンティティを再フォーマットして該仮想エンティティの形状とサイズのどちらかを変更するステップと、
(b)変更された前記仮想エンティティが、選択された位置で前記ディスプレイ表面上に表示された場合、前記物理的オブジェクトが前記仮想エンティティに視覚的に干渉しないように選択された該位置で、変更された前記仮想エンティティを表示するステップと
をさらに備えることを特徴とする請求項1に記載の方法。
【請求項7】
前記仮想エンティティは、
(a)仮想オブジェクトと、
(b)情報
のどちらかを含むことを特徴とする請求項1に記載の方法。
【請求項8】
請求項1に記載のステップを実行するためのマシン実行可能命令を格納することを特徴とする記憶媒体。
【請求項9】
ディスプレイ表面上に仮想エンティティを表示する際に該ディスプレイ表面上に配置された物理的オブジェクトに視覚的に干渉するのを回避するシステムであって、
(a)(i)前記仮想環境が表示される前記ディスプレイ表面と、
(ii)前記ディスプレイ表面上に置かれた前記物理的オブジェクトを検出するためのセンサと
を含む対話型ディスプレイと、
(b)前記対話型ディスプレイに結合されたプロセッサと、
(c)前記プロセッサに結合され、前記プロセッサによって実行されると、前記プロセッサが複数の機能を実行するようにさせるマシン命令を格納するメモリであって、該複数の機能は、
(i)前記物理的オブジェクトが前記ディスプレイ表面上に配置された位置、および前記物理的オブジェクトによって覆い隠された前記ディスプレイ表面の領域を感知するために前記センサを使用する機能と、
(ii)選択された位置が、前記仮想エンティティと前記ディスプレイ表面上に配置された前記物理的オブジェクトとの間で視覚的干渉を生じさせないように、前記仮想エンティティを表示するための該位置を自動的に選択する機能と、
(iii)前記仮想エンティティを選択された前記位置で表示する機能と
を含むメモリと
を備えたことを特徴とするシステム。
【請求項10】
前記マシン命令はさらに、前記プロセッサに、前記ディスプレイ表面上に表示される前記仮想エンティティを視覚的に認識することを意図するユーザによる前記仮想エンティティの視覚的認識を促すように、前記仮想エンティティの向きを判定させることを特徴とする請求項9に記載のシステム。
【請求項11】
前記マシン命令はさらに、前記プロセッサに、前記仮想エンティティを表示するための前記位置を自動的に選択する際に、前記仮想エンティティを表示するための可能な位置の優先順位付けされたリストを使用させることを特徴とする請求項9に記載のシステム。
【請求項12】
前記マシン命令はさらに、前記プロセッサが、
(a)前記ディスプレイ表面上に表示される前記仮想エンティティを視覚的に認識することを意図するユーザによる前記仮想エンティティの視覚的認識を促すように、前記仮想エンティティの向きを判定し、
(b)判定された前記仮想エンティティの前記向きの関数として前記優先順位付けされたリストを作成する
ようにさせることを特徴とする請求項11に記載のシステム。
【請求項13】
前記物理的オブジェクトが前記ディスプレイ表面上の前記仮想エンティティの前記表示に視覚的に干渉することなしに、前記仮想エンティティを前記可能な位置のいずれにも表示することができない場合、前記マシン命令はさらに、前記プロセッサが、
(a)前記仮想エンティティのサイズを変更して該仮想エンティティのサイズを縮小し、
(b)サイズが縮小された前記仮想エンティティが前記選択された位置で前記ディスプレイ表面上に表示された場合、前記物理的オブジェクトが該仮想エンティティに視覚的に干渉しないように、サイズが縮小された前記仮想エンティティを表示する
ようにさせることを特徴とする請求項9に記載のシステム。
【請求項14】
前記物理的オブジェクトが前記ディスプレイ表面上の前記仮想エンティティの前記表示に視覚的に干渉することなしに、前記仮想エンティティを前記可能な位置のいずれにも表示することができない場合、前記マシン命令はさらに、前記プロセッサが、
(a)前記仮想エンティティを再フォーマットして該仮想エンティティの形状とサイズの少なくともどちらかを変更し、
(b)変更された前記仮想エンティティが前記選択された位置で前記ディスプレイ表面上に表示された場合、前記物理的オブジェクトが前記仮想エンティティに視覚的に干渉しないように、変更された前記仮想エンティティを表示する
ようにさせることを特徴とする請求項9に記載のシステム。
【請求項15】
前記仮想エンティティは、
(a)仮想オブジェクトと、
(b)情報
のどちらかを含むことを特徴とする請求項9に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−69111(P2012−69111A)
【公開日】平成24年4月5日(2012.4.5)
【国際特許分類】
【出願番号】特願2011−200893(P2011−200893)
【出願日】平成23年9月14日(2011.9.14)
【分割の表示】特願2005−134420(P2005−134420)の分割
【原出願日】平成17年5月2日(2005.5.2)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】