説明

仮想環境においてオブジェクトと対話するためのシステム

【課題】仮想環境における複数ユーザの対話を容易にする方法及びシステムを提供すること。
【解決手段】三次元(3−d)の仮想環境との対話を容易にするシステムが説明される。このシステムにおいては、コントローラ装置が、3−d仮想環境と関連した情報を第1のディスプレイに提供する。さらに本システムは、少なくとも1つの携帯型電子装置を含み、この携帯型電子装置は、第2のディスプレイと、直線運動、回転運動、及び/又はジェスチャなどの、携帯型電子装置の運動を検出する3−d運動センサとを含む。この携帯型電子装置は、検出された運動をコントローラ装置に通信する。これに応答して、コントローラ装置は、3−d環境のサブセット及び関連したコンテキスト依存情報を携帯型電子装置に提供し、それらは、第2のディスプレイ上に表示される。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、複数ユーザによる三次元(3−d)仮想環境との対話を容易にするためのシステム及び技術に関する。
【背景技術】
【0002】
コンピュータ等のネットワーク化された電子装置は、ますます一般的になっている。こうしたデバイスは、ユーザ間の更なる通信、対話、及び協調を容易にする。
【0003】
ネットワーク化された電子装置の複数ユーザ間の対話は、多くの場合、仮想環境(「仮想世界」又は「仮想現実」と呼ばれることもある)を用いて容易になる。しかしながら、既存のシステム及びソフトウェア・ツールを使用する場合、これらシステム内のユーザ数が増すほど、かかる対話はより困難になり得る。例えば、複数のユーザが、仮想環境において同時に、例えばアバターなどのオブジェクトの操作を試みた場合、異なるユーザの動作と関連した対話ウィジェットが仮想環境の共通のコンテンツと一緒に表示されるため、ユーザの動作によって、ネットワーク化された電子装置上の表示が混乱状態に陥ることがある。同様に、仮想環境における一ユーザの動作が、別のユーザの動作に覆い隠されることがあるため、多数のユーザが仮想環境を用いて、共通のコンテンツを協働して編集又は修正することは困難であり得る。
【発明の概要】
【発明が解決しようとする課題】
【0004】
したがって、上記で列挙された問題なしに、仮想環境における複数ユーザの対話を容易にする方法及びシステムが必要とされる。
【課題を解決するための手段】
【0005】
本開示の一実施形態は、三次元(3−d)の環境との対話を容易にするシステムを提供する。このシステムは、3−d環境と関連した情報を格納するコントローラ装置を含む。さらに、本システムは、コントローラに結合され、3−d環境を表示する第1のディスプレイを含む。さらに、本システムは、コントローラ装置と情報を通信する少なくとも1つの携帯型電子装置を含む。この携帯型電子装置は、直線運動、回転運動、及び/又はジェスチャを含む、携帯型電子装置の運動を検出する3−d運動センサを含む。加えて、携帯型電子装置は、検出された運動に基づいて、3−dレンダリングされた3−d環境のサブセット及び関連したコンテキスト依存情報を表示する第2のディスプレイを含む。
【0006】
携帯型電子装置は、携帯電話を含むことができることを留意されたい。さらに、3−d運動センサは加速度計を含むことができる。
【0007】
幾つかの実施形態において、3−d環境は、仮想現実を含むことができる。付加的に、3−d環境のサブセットは、オブジェクトの少なくとも一部分、又はアバターの少なくとも一部分を含むことができる。
【0008】
さらに、検出された運動は、直線運動、及び/又は回転運動などの、3−d環境における運動に対応することができる。代替的に又は付加的に、検出された運動は、3−d環境におけるオブジェクト又はアバターを選択することができる。例えば、ジェスチャを用いてオブジェクトを選択することができる。
【0009】
幾つかの実施形態において、コンテキスト依存情報は、3−d環境のサブセットと関連したメニューを含む。したがって、検出された運動は、メニューをナビゲートすることに対応することができる。
【0010】
幾つかの実施形態において、システムは、ユーザと関連付けられた複数の携帯型電子装置を含む。所与の携帯型電子装置は、所与の携帯電子装置の検出された運動に基づいて、3−d環境の所与のサブセット及び関連したコンテキスト依存情報を所与のユーザに表示できることに留意されたい。さらに、第1のディスプレイ上に表示される3−d環境は、ユーザに共通の情報を含むことができる。付加的に、少なくとも2つの携帯型電子装置上に表示される3−dレンダリングされた3−d環境のサブセットは、異なるものであり得る。
【0011】
このシステムは、3−d環境における情報のユーザによる協調編集、及び/又は、3−d環境におけるユーザの協調対話を容易にすることができる。
【0012】
幾つかの実施形態において、コントローラ装置は、3−d環境において関連付けられた携帯型電子装置を介して与えられる情報の変更と関連した競合が生じた場合、関連付けられた携帯型電子装置を介して、ユーザの少なくとも2人にフィードバックを提供する。
【0013】
さらに、第2のディスプレイは、ユーザの第2のディスプレイ表面との対話に基づいて、3−dレンダリングされた3−d環境のサブセット及び関連したコンテキスト依存情報を表示する、タッチ・センシティブ・ディスプレイを含むことができる。
【0014】
付加的に、携帯型電子装置は、固有の識別子を中央コントローラに提供することができる。これに応答して、コントローラ装置は、固有の識別子に基づいて第2のディスプレイ上に表示するために、最初に、3−dレンダリングされた3−d環境のサブセット及び関連したコンテキスト依存情報を提供することができる。
【0015】
別の実施形態は、コントローラ装置によって実施することができる、3−d環境と対話するための方法を提供する。動作中、コントローラ装置は、3−d環境と関連する格納された情報にアクセスし、表示するためにその3−d環境と関連した情報を第1のディスプレイに提供する。次いで、コントローラ装置は、3−dレンダリングされた3−d環境のサブセット及び関連したコンテキスト依存情報に対する要求を携帯型電子装置から受信する。要求は、携帯型電子装置の検出された運動に基づくものとすることができ、携帯型電子装置の検出された運動は、直線運動、回転運動、及び/又はジェスチャを含むことができることに留意されたい。次に、コントローラ装置は、携帯型電子装置の第2のディスプレイに表示させるように、3−d環境のサブセット及び関連したコンテキスト依存情報を携帯型電子装置に提供する。
【0016】
別の実施形態は、本システムと共に用いるためのコンピュータ・プログラムを提供する。このコンピュータ・プログラムは、上述した動作のうちの少なくとも一部のための命令を含む。
【図面の簡単な説明】
【0017】
【図1】本開示の一実施形態によるシステムを示すブロック図である。
【図2】本開示の一実施形態による、3次元(3−d)の環境と対話するためのプロセスを示すフロー・チャートである。
【図3】本開示の一実施形態による、図1の携帯型装置のディスプレイ上に表示される情報の図面である。
【図4】本開示の一実施形態によるコンピュータ・システムを示すブロック図である。
【図5】本開示の一実施形態によるデータ構造を示すブロック図である。
【発明を実施するための形態】
【0018】
図面全体にわたって同様の参照番号が対応する部品を指すことに留意されたい。さらに、同じ部品の複数のインスタンスは、ダッシュによりインスタンスの番号とは区別される共通の接頭辞により示される。
【0019】
以下の説明は、当業者が、本開示を行ない、使用することを可能にするために提示され、特定の用途及びその要件との関連において提供される。当業者には、開示される実施形態への種々の修正が容易に明らかであり、本開示の精神及び範囲から逸脱することなく、ここに定められる一般的な原理を他の実施形態及び用途に適用することができる。したがって、本開示は、示される実施形態に限定されることを意図するものではなく、ここに開示される原理及び特徴と一致する最も広い範囲が与えられる。
【0020】
3−d仮想環境との対話を容易にするためのシステム、方法、及びコンピュータ・プログラム(例えば、ソフトウェア)の実施形態が説明される。このシステムにおいては、コントローラ装置が、3−d仮想環境と関連した情報を第1のディスプレイに提供する。さらに、このシステムは、第2のディスプレイと、例えば直線運動、回転運動、及び/又はジェスチャといった、携帯型電子装置の運動を検出する3−d運動センサとを含む、少なくとも1つの携帯型電子装置を含む。この携帯型電子装置は、検出された運動をコントローラ装置に通信する。これに応答して、コントローラ装置は、3−dレンダリングされた3−d仮想環境のサブセット及び関連したコンテキスト依存情報を携帯型電子装置に提供し、それらは、第2のディスプレイ上に表示される。
【0021】
本システムは、複数ユーザが、同時に3−d仮想環境と関連した情報を閲覧し及び/又は変更することを可能にする。具体的には、各ユーザは、自分に関係がある3−dレンダリングされた情報のサブセット、及び、関連したコンテキスト依存情報(例えばメニューなど)を見ることができる。同時に、全体の3−d仮想環境が第1のディスプレイ上に提示され、それにより、全てのユーザに情報の概要(即ち、状況の認識)が与えられる。さらに、ユーザは、第1のディスプレイ上に表示された情報を混乱させる又は覆い隠すことなく、情報のサブセットを自分の携帯型電子装置上で操作又は変更することができる。このように、本システムは、3−d仮想環境における、ユーザによる情報の協調編集、及び/又は3−d仮想環境におけるユーザの協調対話を容易にする。
【0022】
ここで、3−d仮想環境との対話を容易にするシステムの実施形態を説明する。図1は、システム100を示すブロック図を示す。このシステムは、対応する携帯型電子装置114の1又はそれ以上のユーザが、仮想空間又は仮想現実等の3−d仮想環境において、情報と対話し、これを修正し、及び/又は制御することを可能にする。具体的には、システム100のコントローラ装置110内の3−d仮想環境モジュール118が、格納された環境情報120にアクセスし、環境情報120に基づいて3−d仮想環境を生成する。次いで、3−d環境モジュール118は、信号又は命令を、通信モジュール116及びネットワーク112を介してコントローラ装置110に結合された仮想世界クライアント129に提供する。仮想世界クライアント129は、ソフトウェア・ベースのものであっても、又はソフトウェア・ベースのものであってもよく、ディスプレイ130(大型フラットスクリーン又は投影ディスプレイのような)と通信状態にある。ディスプレイ130は、次に、1又はそれ以上のユーザに3−d仮想環境を表示する。
【0023】
別個に又は同時に、ユーザは、携帯型電子装置114を用いて、3−d仮想環境と関連した情報(又は、コンテンツ)と対話し、これを操作し、及び/又は修正することができる。例えば、携帯型電子装置114−1のような携帯型電子装置114の各々は、直線運動、回転運動、及び/又はジェスチャを含む、携帯型電子装置の運動を検出する3−d運動センサ(例えば、加速度計)を含むことができる。携帯型電子装置114−1の検出された運動は、3−d仮想環境におけるオブジェクト又はアバターの運動に対応することができる。したがって、携帯型電子装置114−1のユーザは、この装置を「魔法の杖(magic wand)」として使用し、ディスプレイ130上に表示される3−d仮想環境においてオブジェクトを操作することができる。
【0024】
代替的又は付加的に、検出された運動は、携帯型電子装置114−1上に表示するために、3−d仮想環境におけるオブジェクト又はアバターを選択することができる(例えば、ジェスチャを用いてオブジェクトを選択することができる)。例えば、携帯型電子装置114−1のユーザは、この装置を動かして、1つ又はそれ以上のオブジェクト、より一般的には、3−d仮想環境における3−dレンダリングされた情報のサブセットの提示を選択又は修正することができる。ソフトウェア・アプリケーション122−1内の運動検出モジュール126−1が、携帯型電子装置114−1の検出された運動(例えば、ローカル・カーソルの操作のような)を解釈し、それに従って、3−d仮想環境における対応する情報のサブセット(オブジェクトの少なくとも一部又はアバターの少なくとも一部など)、及び関連したコンテキスト依存情報(オブジェクト又はアバターの少なくとも一部と関連したメニュー又は対話ウィジェットなど)の要求を、通信モジュール116及びネットワーク112を介して、コントローラ装置110に与えることができる。これに応答して、コントローラ装置110は、要求された情報のサブセット及び関連したコンテキスト依存情報を、携帯型電子装置114−1に提供することができる。次いで、ソフトウェア・アプリケーション122−1内の3−d表示モジュール124−1が、情報のサブセット及び関連したコンテキスト依存情報をディスプレイ128−1上に表示することができる。
【0025】
その後、ユーザは、携帯型電子装置114−1を動かすことによって、提示を操作及び/又は変更し、及び/又は、携帯型電子装置114−1上に表示される情報のサブセット及び/又は関連したコンテキスト依存情報を修正することができる。例えば、ユーザは、携帯型電子装置114−1を動かすことによって、情報のサブセットと関連したメニューをナビゲートし、かつ、メニューの中の特定のコマンドを選択することができる。
【0026】
代替的又は付加的に、ユーザは、携帯型電子装置114−1を動かすことによって、ディスプレイ128−1上のオブジェクトの向きを変更する、及び/又はオブジェクトを編集或いは変更することができる。例えば、ユーザは、携帯型電子装置114−1を動かすことによって、仮想環境における視野又は軸の向きを変更することができる。その結果として、ユーザは、仮想環境内のコンテンツと動的に「対話」することができ、その結果、ユーザの動作が、コンテンツ及びコンテンツの表示方法を修正することができる。
【0027】
これらの提示及び/又はコンテンツの変更は、ユーザがグローバル情報の更新を可能にするまで、又は、その後のユーザ・セッションが行われるまで、他の携帯型電子装置114のディスプレイ128上又はディスプレイ130上に表示することができないことに留意されたい。しかしながら、幾つかの実施形態においては、各々の携帯型電子装置114上の情報のサブセットに対してなされた変更は、リアル・タイムで、即ち、遅滞なく又はユーザの許可を待たずに、ディスプレイ130上に表示させることができる。いずれの場合も、コントローラ装置110は、同じユーザ・セッション及び/又はその後のユーザ・セッションにおいて使用するために、あらゆるユーザ特有の変更を含む情報を環境情報120内に格納又は保持することができる。
【0028】
このように、各ユーザは、対応する携帯型電子装置114を介して適切な又は自分が関心をもっている3−dレンダリングされた情報のサブセット及び関連したコンテキスト依存情報を「見る」又はこれらと対話することができる。(したがって、少なくとも2つの携帯型電子装置114上に表示された情報のサブセットは異なり得る。)さらに、ディスプレイ130上の3−d仮想環境における情報は、ユーザが、対応する携帯型電子装置114上に表示される情報のサブセットに対して行なった種々の変更により混乱状態に陥ることなく、共通の情報に関する概要(又は状況の認識)を全てのユーザに提供することができる。
【0029】
したがって、システム100内の携帯型電子装置114は、ユーザが、ディスプレイ130上の3−d仮想環境における情報及びディスプレイ128上に表示された情報のサブセットの両方を介して、同じ3−d仮想環境において、互いに、かつ、コンテンツと対話することを可能にするインターフェースを3−d仮想環境に提供することができる。
【0030】
幾つかの実施形態において、携帯型電子装置114は、いわゆる「スマート」フォンのような携帯電話を含む。しかしながら、タブレット・コンピュータ、携帯情報端末、及び/又はノートブック或いはラップトップ・コンピュータを含む、様々な携帯型電子装置を用いることができる。
【0031】
幾つかの実施形態においては、関連した携帯型電子装置を介して与えられた情報の変更に関連する競合(coflict)が3−d仮想環境において生じた場合、コントローラ装置110は、関連した携帯型電子装置を介して、ユーザのうち少なくとも2人にフィードバックを提供する。例えば、携帯電話の振動モードを用いて、これらのユーザの各々にフィードバックを提供することができる。ユーザの1人が既に別のユーザによって「制御」されているオブジェクトを操作しようと試みた場合、このユーザの携帯電話が振動し、それによって、その試み又は要求が拒否されたことを示すことができる。また、例えばユーザのアバターが3−d仮想環境内を移動している場合に、こうした触知式のフィードバックを用いて、3−d仮想環境における地形の「粗さ」の標示を提供することもできることに留意されたい。
【0032】
さらに、幾つかの実施形態において、携帯型電子装置114の各々は、固有の識別子を中央コントローラ装置110に与える。これに応答して、コントローラ装置110は、ディスプレイ128上に表示するために、最初に、3−d仮想環境のサブセット及び関連したコンテキスト依存情報を提供することができる。例えば、携帯電話からの信号は、その携帯電話を識別することができる。この識別に基づいて、システム100は、そのユーザに適切なアバターを選択し、ユーザをシステム100にログインさせることができる。
【0033】
前述の議論は、3−d仮想環境における情報を操作又は制御する方法の説明に役立つ例示として運動を使用したが、他のユーザ・インターフェース技術を用いることもできる。例えば、ディスプレイ128は、タッチ・センシティブ・ディスプレイを含むことができる。ユーザは、ディスプレイ128−1の表面に触れ、仮想ウィジェット又はアイコンを起動させることによって、携帯型電子装置114−1上に表示された3−d仮想環境のサブセット及び関連したコンテキスト依存情報、並びに、ディスプレイ130上に表示された3−d仮想環境内の情報を操作し、制御し、及び/又は修正することができる。
【0034】
付加的に、仮想環境は3−dであるが、幾つかの実施形態においては、仮想環境は二次元(2−d)である。さらに、情報又はコンテンツは、2−d(フラット・テキストのような)であってもよく、又は3−dであってもよい。例えば、図3を参照して下記に説明されるように、情報は、多数の相互に関連したコンポーネント又は互いに対して空間的関係を有するコンポーネントを含む、複雑なオブジェクトを含むことができる。より一般的には、システム100内に保持されるコンテンツは、テキスト、音声、音楽、画像、及び/又は一時的な画像情報(アニメーション・シーケンスのような)を含む、種々のデータを含むことができる。付加的に、このデータは、画像形式(Joint Photographic Experts Group規格)、動画形式(Moving Pictures Experts Group規格)、及び文書処理又は情報表示形式(カリフォルニア州San Jose所在のAdobe Systems,Inc.社からのAdobe Acrobat(商標)のような)を含む、種々の形式と互換性があるようにすることができる。コントローラ装置110は、この情報又はコンテンツを、システム100内にローカルに及び/又はリモートに格納できることに留意されたい。
【0035】
ソフトウェア・アプリケーション122は、携帯型電子装置114−1のような、それぞれの携帯型電子装置114上に常駐し、携帯型電子装置114上で実行できることに留意されたい。例えば、ソフトウェア・アプリケーション122−1は、スタンドアロン型プログラムとすることができ、又は、別のソフトウェア・アプリケーション内に埋め込むことができる。代替的に、ソフトウェア・アプリケーションは、ウェブ・ページ内に埋め込まれたソフトウェア・アプリケーション・ツールとすることができ、例えば、ソフトウェア・アプリケーションは、ウェブ・ブラウザによって提供される仮想動作環境において実行することができる。(したがって、システム100は、クライアント−サーバ・アーキテクチャを実装することができる。)例示的な一実施形態において、ソフトウェア・アプリケーション・ツールは、JavaScript(商標)(Sun Microsystems,Inc.社の商標)で書かれたソフトウェア・パッケージであり、例えば、ソフトウェア・アプリケーション・ツールは、JavaScript命令、ECMAScript(欧州コンピュータ製造工業会(Europe Computer Manufacturers Association International)により発行された仕様)、VBScript(商標)(Microsoft,Inc.社の商標)、又は他のいずれかのクライアント・サイド・スクリプト言語を含有する、プログラム又は手順を含む。別の言い方をすれば、埋め込まれたソフトウェア・アプリケーション・ツールは、JavaScript、ECMAScript命令、VBScript命令、又はウェブ・ブラウザ又は携帯型電子装置114上の別のクライアント・アプリケーションによってレンダリングするのに適した別のプログラミング言語における命令を含有する、プログラム又は手順を含むことができる。
【0036】
ここで、オペレーティング・システム100のプロセスを説明する。図2は、コントローラ装置110(図1)によって実行することができる、3−d仮想環境と対話するためのプロセス200を示すフロー・チャートを表す。動作中、コントローラ装置は、3−d環境と関連する格納された情報にアクセスし(動作210)、表示するために、3−d環境と関連した情報を第1のディスプレイに提供する(動作212)。次いで、コントローラ装置は、携帯型電子装置から、3−d環境のサブセット及び関連したコンテキスト依存情報の要求を受信する(動作214)。この要求は、携帯型電子装置の検出された運動に基づいており、検出された携帯型電子装置の運動は、直線運動、回転運動、及び/又はジェスチャを含み得ることに留意されたい。次に、コントローラ装置は、携帯型電子装置の第2のディスプレイ上に表示するために、3−d環境のサブセット及び関連したコンテキスト依存情報を携帯型電子装置に提供する(動作216)。
【0037】
幾つかの実施形態において、プロセス200は、付加的な動作又はより少ない動作を含む。例えば、動作210−216は、同じユーザ及び/又は複数ユーザの中の1又はそれ以上の他のユーザについて、随意的に何度も繰り返す(動作218)ことができる。さらに、動作の順序は変更することができ、及び/又は、2又はそれ以上の動作を組み合わせて単一の動作とすることができる。
【0038】
ここで、ソフトウェア・アプリケーション122(図1)内のユーザ・インターフェースの実施形態を説明する。図3は、ディスプレイ130上に表示される3−d仮想環境内の情報と、システム100(図1)の携帯型電子装置114のディスプレイ128上に表示される情報のサブセット及び関連したコンテキスト依存情報との図面を表す。具体的には、ディスプレイ130は、(軸線308を有する)仮想環境における複雑なオブジェクト310(複雑な機械のような)を表示する。ユーザは、携帯型電子装置114を動かすこと、及び/又はディスプレイ128の表面に触れることにより、オブジェクト312−1及び312−2のような、複雑なオブジェクト310の部分を選択することができる。
【0039】
さらに、ユーザは、ディスプレイ128上に表示された情報のサブセット及び関連したコンテキスト依存情報を操作し、制御し、及び/又は修正することができる。例えば、携帯型電子装置114−2のユーザは、この装置を動かして、関連したメニュー314−2(即ち、関連したコンテキスト依存情報)をナビゲートすることができる。このプロセスにおいて、ユーザは、ディスプレイ128−2上のオブジェクト312−2の表示を回転又は変更することができる。しかしながら、ディスプレイ130上に表示された複雑なオブジェクト310に関する共通の情報は、変更されないままにすることができる。メニュー314−2は、コンポーネント、材料組成、及び/又は改訂の履歴のような、オブジェクト312−2についての情報を含むことができる。幾つかの実施形態において、携帯型電子装置114−2のユーザは、携帯型電子装置114−2を片手で保持しながら、他方の手でオブジェクト312−2に対する修理又は作業を行うことができる。
【0040】
例示的な一実施形態において、携帯型電子装置114−1は、3−d仮想環境内のアバターと関連したコンテキスト依存メニュー314−1(又は、対話ウィジェット)を表示する。携帯型電子装置114−1のユーザがアバターを制御しているとき、アバター・パペット・ウィジェット及びメニューを表示することができる。より一般的には、ユーザが仮想世界内のオブジェクトを制御しているとき、そのオブジェクトに特有のメニュー及び/又はウィジェットを表示することができる。さらに、ユーザは、携帯型電子装置114−1を、アバター・モード(アバターを制御するために使用される)とオブジェクト・モード(仮想オブジェクトを制御するために使用される)の間で切り換えることができる。アバター・モードにおいて、ユーザは(アバターが応答する)感情表現を選択するか、或いは、運動制御又は位置を選択することができる。オブジェクト・モードにおいては、システム100(図1)は、3−d仮想環境内に3−dカーソルを表示し、これを用いてオブジェクトを選択することができる。より一般的には、これらの動作モードにおいて、携帯型電子装置114−1を仮想カーソルとして、或いは選択されたオブジェクト又はアバターのためのプロキシとして用いることができる。
【0041】
ユーザが携帯型電子装置114−1上のメニュー/ウィジェットと対話すると(例えば、携帯型電子装置114−1を動かすことによって)、(ワシントン州Bellevue所在のBluetooth SIG Inc,社からの)Bluetooth(商標)、又はInternet Protocol Suite(TCP−IP)のような通信プロトコルを用いて、コマンドが、ネットワーク112(図1)を経由して、3−d環境モジュール118(図1)に送られる。
【0042】
運動検出モジュール126(図1)は、ユーザが携帯型電子装置114を用いて3−d仮想環境内のオブジェクト及び/又はアバターを操作する間、幾つかの対話モードをサポートできることに留意されたい。幾つかの実施形態において、携帯型電子装置114−1を物理空間の1つ又はそれ以上の軸に沿って動かすことにより、対応するカーソル又はアバターが3−d仮想環境内を移動する。しかしながら、この対話モードにおいては、移動のサイズには限界が存在し得る。したがって、運動の限界は、ユーザが3−d仮想環境において直近にあるオブジェクトのみを操作できるように定めることができる。携帯型電子装置114−1がこれらの限界を超えると、アバター又はカーソルは、その方向に向かってスクロールすることができる。代替的に、携帯型電子装置114−1を傾けることにより、カーソル又はアバターが、3−d仮想環境の中を同様に移動するようにしてもよい。さらに、ユーザが3−d仮想環境を移動していくときに、その位置の2−dマップをディスプレイ128−1(図1)上に表示し、ユーザの移動に応じてこれをスクロールさせることができる。
【0043】
幾つかの実施形態において、3−d仮想環境は、携帯型電子装置114−1を操作又は動かすことによって送ることができるジェスチャ・コマンドの組に応答する。例えば、一連の迅速な水平方向のスワイプ(swipe)を、運動検出モジュール126−1(図1)によって、現在選択されている3−dオブジェクトの削除に変換することができる。同様に、蓋を外すのに似た反時計回りの回転運動を、運動検出モジュール126−1(図1)によって、「グループ解除」操作として変換し、それにより現在のオブジェクトを構成部品又は部品片に分離することができる。これらの操作が実施される間、ディスプレイ128−1を用いて、そのユーザに関連する情報を表示させ、それにより、他の用途のためにディスプレイ130上の空間を空けることができる。
【0044】
システム100(図1)の別の用途は、協調編集におけるものである。複数のユーザが同時にディスプレイ130上の3−dオブジェクトの編集を試みた場合、多数のポップアップ・メニュー、ツールバー等が同時に表示される場合がある。結果としてもたらされる混乱、及び関心のあるオブジェクトが遮蔽されてしまう可能性は、ユーザが一緒に作業することを困難にし得る。しかしながら、これらのメニュー及びツールバーを各ユーザの個別の携帯型電子装置へと移動させることにより、ディスプレイ130は、全ての3−dオブジェクト及び3−d仮想環境におけるその位置の表示をクリアすることができると同時に、ユーザには、自分の携帯型電子装置114上に自分の現在の編集タスクに関係する情報のサブセットが与えられる。
【0045】
したがって、システム100(図1)は、文書、オンライン百科事典、オンライン・ユーザ・マニュアル(「対話型」文書など)の編集、遠隔保守、遠隔訓練及び/又は遠隔外科手術等の、3−d仮想環境における情報のユーザによる協調編集を容易にすることができる。幾つかの実施形態において、協調編集は、3−dオブジェクト及び関連したテキスト情報を含む。これらの3−dオブジェクトは、所与の3−dオブジェクト内のコンポーネント間の空間画像情報、及び関連したテキスト情報と空間画像情報との間の1つ又はそれ以上の二方向リンクを含むことができる。
【0046】
別の実施形態において、ユーザがアバターを制御するとき、ディスプレイ130及び/又は1つ又はそれ以上のディスプレイ128上に、「ソーシャル・コマンド」が表示される。したがって、面倒であり得るキーボード上にタイプされた感情表現(例えば、「/笑顔」)を用いる代わりに、ユーザは、タッチスクリーン又はスクロール・ホイールを用いてそれらをクリックすることによって、又は携帯型電子装置114−1を動かすことによって、1つ又はそれ以上のソーシャル・コマンドを起動させることができる。さらに、ディスプレイ128−1上の「パペット操作」コマンドを文脈依存型(context−sensitive)とすることができるので、現在の又は予想されるユーザ・タスクに基づいて、最も適切な選択肢が表示される(例えば、ユーザが社会的交流(social interaction)の最中には感情表現のリストを表示し、ユーザがオブジェクトを選択するときにはツールのリストを表示することができる)。したがって、システム100(図1)は、3−d仮想環境におけるユーザの協調対話を容易にすることができる。
【0047】
次に、プロセス200(図2)を実施するコンピュータ・システム(図1のシステム100内に含ませることができる)の実施形態をさらに説明する。図4は、コントローラ装置110(図1)及び/又は携帯型電子装置114(図1)の所定のもの等のコンピュータ・システム400を示すブロック図を表す。コンピュータ・システム400は、1つ又はそれ以上の運動センサ408と、1つ又はそれ以上のプロセッサ410と、通信インターフェース412と、ユーザ・インターフェース414と、これらのコンポーネントを互いに結合する1つ又はそれ以上の信号ライン422とを含む。1つ又はそれ以上の処理ユニット410は、並行処理及び/又はマルチスレッド操作をサポートすることができ、通信インターフェース412は、永続的な通信接続を有することができ、1つ又はそれ以上の信号ライン422は、通信バスを構成することができることに留意されたい。さらに、ユーザ・インターフェース414は、ディスプレイ416、キーボード418、及び/又はマウスのようなポインタ420を含むことができる。
【0048】
コンピュータ・システム400内のメモリ424は、揮発性メモリ及び/又は不揮発性メモリを含むことができる。より具体的には、メモリ424は、ROM、RAM、EPROM、EEPROM、フラッシュメモリ、1つ又はそれ以上のスマート・カード、1つ又はそれ以上の磁気ディスク記憶装置、及び/又は1つ又はそれ以上の光学式記憶装置を含むことができる。メモリ424は、ハードウェア依存タスクを実行するための種々の基本的システム・サービスを取り扱うための手順(又は命令セット)を含んだオペレーティング・システム426を格納することができる。幾つかの実施形態において、オペレーティング・システム426は、リアル・タイム・オペレーティング・システムである。図4には図示されないが、幾つかの実施形態において、メモリ424は、ウェブ・ブラウザを含む。メモリ424はまた、通信手順(又は、命令セット)を、通信モジュール428内に格納することができる。これらの通信手順は、コンピュータ・システム400に対して遠隔配置されたコンピュータ、デバイス、及び/又はサーバを含む、1つ又はそれ以上のコンピュータ、デバイス、及び/又はサーバと通信するために用いることができる。
【0049】
メモリ424はまた、3−d環境モジュール118(又は、命令セット)及びソフトウェア・アプリケーション・ツール430(又は、命令セット)を含む、複数のプログラム・モジュール(又は、命令セット)を含むこともできる。さらに、ソフトウェア・アプリケーション・ツール430は、3−d表示モジュール432(又は、命令セット)、運動検出モジュール434(又は、命令セット)、及び/又は触覚式監視モジュール436(又は、命令セット)を含むことができる。これらのプログラム・モジュール(又は、命令セット)の1つ又はそれ以上は、コンピュータ・プログラム機構を構成することができることに留意されたい。
【0050】
前述のように、3−d環境モジュール118は、環境情報120にアクセスし、ディスプレイ130上に表示する3−d仮想環境を生成することができる。さらに、携帯型電子装置114(図1)上のソフトウェア・アプリケーション・ツール430のユーザは、自自分の携帯型電子装置を介して、1又はそれ以上の文書442又はオブジェクト/アバター444を操作又は制御することができる。具体的には、1つ又はそれ以上の運動センサ408(及び、関連したハードウェア・コントローラ)は、所与の携帯型電子装置の運動を検出することができる。次いで、運動検出モジュール434は、検出された運動を解釈することができる。代替的又は付加的に、触覚式監視モジュール436が、タッチ・センシティブ・ディスプレイ等のディスプレイ416とユーザとの対話を解釈することもできる。通信モジュール428を用いて、これらのモジュールは、3−d仮想環境における情報のサブセットの要求、並びに、オブジェクト/アバターA 440−1及びオブジェクト/アバターB 440−2についての関連したコンテキスト依存情報のような、関連したコンテキスト依存情報438の要求を送ることができる。
【0051】
要求に応答して、3−d環境モジュール118は、通信モジュール428を用いて、情報のサブセット及び関連したコンテキスト依存情報438を含む命令又は信号を提供することができる。次いで、3−d表示モジュール432が、ディスプレイ416上に情報のサブセット及び関連したコンテキスト依存情報438を表示することができる。次に、ユーザは、ディスプレイ130上にある共通のコンテンツを見ながら、コンテンツを操作し、制御し、及び/又は変更することができる。3−d環境モジュール118は、ユーザによる将来の使用のために、環境情報120における、あらゆる修正又は変更の記録(通信モジュール428を用いて、所与の携帯型電子装置内のソフトウェア・アプリケーション・ツール430によって、3−d環境モジュール118に送信される)を保持できることに留意されたい。
【0052】
幾つかの実施形態においては、通信モジュール428を用いて、所与の携帯型電子装置により、1つ又はそれ以上の識別子446が最初に提供される。1つ又はそれ以上の識別子446に基づいて、3−d環境モジュール118は、所与の携帯型電子装置のユーザをシステムにログインさせ、通信モジュール428を用いて、最初の所定の情報のサブセット及び関連したコンテキスト依存情報438を、所与の携帯型電子装置に与えることができる。さらに、幾つかの実施形態においては、3−d環境モジュール118は、通信モジュール428を用いて、ユーザ・インターフェース414内のコンポーネントを振動させる命令等のフィードバックを、所与の携帯型電子装置のユーザに与えることができる。例えば、それぞれの携帯型電子装置上の情報のサブセットと関連した2人のユーザの動作間に競合が生じた場合に振動するよう、コンポーネントに命令することができる。
【0053】
メモリ424内の種々のモジュールにおける命令は、高レベル手続き型言語、オブジェクト指向プログラミング言語、及び/又はアセンブリ若しくは機械言語で実装することができる。1つ又はそれ以上の処理ユニット410によって実行されるように、このプログラミング言語は、コンパイル又は解釈することができる、即ち、構成可能である又は構成することができる。
【0054】
コンピュータ・システム400は、多数の別個の品目を有するものとして示されるが、図4は、本明細書で説明される実施形態の構造上の概略ではなく、コンピュータ・システム400内に存在し得る種々の特徴の機能的説明であることを意図している。実際には、当業者により認識されるように、コンピュータ・システム400の機能は、多数の装置又はコンピュータにわたって分散させることができ、装置又はコンピュータの種々のグループが特定の機能のサブセットを実行している。幾つかの実施形態においては、コンピュータ・システム400の機能の一部又は全てを、1つ又はそれ以上の特定用途向け集積回路(ASIC)及び/又は1つ又はそれ以上のデジタル信号プロセッサ(DSP)内に実装することができる。
【0055】
コンピュータ・システム400内のコンピュータ及びサーバは、コンピュータ可読データを操作することができる、又はかかるデータをネットワーク上で2つ又はそれ以上のコンピュータ・システム間で通信することができる、パーソナル・コンピュータ、ラップトップ・コンピュータ、メインフレーム・コンピュータ、携帯型電子装置(携帯電話又はPDAのような)、サーバ及び/又はクライアント・コンピュータ(クライアント・サーバ・アーキテクチャにおける)を含む、種々の装置の1つを含むことができる。さらに、ネットワーク112(図1)は、インターネット、World Wide Web(WWW)、イントラネット、LAN、WAN、MAN、又はネットワークの組み合わせ、或いはコンピュータ・システム間の通信を可能にする他の技術を含むことができる。
【0056】
幾つかの実施形態において、システム100(図1)及び/又はコンピュータ・システム400は、より少ない又は付加的なコンポーネントを含む。さらに、2つ又はそれ以上のコンポーネントを組み合わせて単一のコンポーネントとすることができ、及び/又は1つ又はそれ以上のコンポーネントの位置を変更することもできる。さらに、当技術分野において周知のように、システム100(図1)及び/又はコンピュータ・システム400の機能は、ハードウェアにおいてより多く、ソフトウェアにおいてより少なく、或いは、ハードウェアにおいてより少なく、ソフトウェアにおいてより多く実装することができる。
【0057】
ここで、コンピュータ・システム400において用いることができるデータ構造を説明する。図5は、データ構造500を示すブロック図を表す。このデータ構造は、コンテキスト依存情報510を含むことができる。例えば、コンテキスト依存情報510−1は、コンポーネント512−1(オブジェクト又はアバターなどの)、関連したメニュー514−1、及びコマンド516−1(ソーシャル・コマンドなどの)についての識別子を含むことができる。
【0058】
幾つかの実施形態において、データ構造500は、より少ない又は付加的なコンポーネントを含む。さらに、2つ又はそれ以上のコンポーネントを組み合わせて単一のコンポーネントとすることができ、及び/又は1つ又はそれ以上のコンポーネントの位置を変更することもできる。
【0059】
本開示の実施形態の上記の説明が、例示及び説明のみを目的として提示された。これらは、網羅的であることを意図するものではなく、又は、本開示を開示された形態に限定することを意図するものでもない。したがって、当業者には、多数の修正及び変形が明らかであろう。付加的に、上記の開示は、本開示を限定することを意図するものではない。本開示の範囲は、添付の特許請求の範囲によって定められる。
【0060】
本発明の第1の態様に係るシステムは、三次元(3−d)環境と関連した情報を格納するように設定されたコントローラ装置と、前記コントローラ装置に結合され、前記3−d環境を表示するように構成された第1のディスプレイと、前記コントローラ装置と情報を通信するように構成された少なくとも1つの携帯型電子装置と、を含み、前記携帯型電子装置は、直線運動、回転運動、直線及び回転運動、又はジェスチャを含む前記携帯型電子装置の運動を検出するように構成された3−d運動センサと、前記検出された運動に基づいて、3−dレンダリングされた前記3−d環境のサブセット及び関連したコンテキスト依存情報を表示するように設定された第2のディスプレイと、を含むことを特徴とする。
【0061】
本発明の第2の態様に係るシステムは、第1の態様において、前記携帯型電子装置が、携帯電話を含むことを特徴とする。
【0062】
本発明の第3の態様に係るシステムは、第1の態様において、前記3−d運動センサが、加速度計を含むことを特徴とする。
【0063】
本発明の第4の態様に係るシステムは、第1の態様において、前記3−d環境が、仮想現実を含むことを特徴とする。
【0064】
本発明の第5の態様に係るシステムは、第1の態様において、ユーザと関連付けられた複数の携帯型電子装置をさらに含み、所与の携帯型電子装置は、前記所与の携帯型電子装置の検出された運動に基づいて、前記3−d環境の所与のサブセット及び前記関連したコンテキスト依存情報を所与のユーザに表示し、前記第1のディスプレイ上に表示される前記3−d環境は、前記ユーザに共通の情報を含むことを特徴とする。
【0065】
本発明の第6の態様に係るシステムは、第5の態様において、少なくとも2つの携帯型電子装置上に表示される前記3−d環境のサブセットが異なることを特徴とする。
【0066】
本発明の第7の態様に係るシステムは、第5の態様において、前記システムが、前記3−d環境において、前記ユーザによる前記情報の協調編集を容易にすることを特徴とする。
【0067】
本発明の第8の態様に係るシステムは、第5の態様において、前記システムが、前記3−d環境において、前記ユーザの協調対話を容易にすることを特徴とする。
【0068】
本発明の第9の態様に係るシステムは、第5の態様において、前記コントローラ装置が、前記関連付けられた携帯型電子装置を介して与えられた前記情報に対する変更と関連した競合が前記3−d環境において生じた場合、該関連付けられた携帯型電子装置を介して前記ユーザの少なくとも2人にフィードバックを提供することを特徴とする。
【0069】
本発明の第10の態様に係るシステムは、第1の態様において、前記第2のディスプレイが、タッチ・センシティブ・ディスプレイを含み、前記第2のディスプレイが、ユーザの該第2のディスプレイの表面との対話に基づいて、前記3−d環境の前記サブセット及び前記関連したコンテキスト依存情報を表示するように構成されることを特徴とする。
【0070】
本発明の第11の態様に係るシステムは、第1の態様において、前記携帯型電子装置が、固有の識別子を、前記中央コントローラに提供するように構成され、前記第2のディスプレイ上に最初に表示される前記3−d環境の前記サブセット及び前記関連したコンテキスト依存情報が、前記固有の識別子に基づくことを特徴とする。
【0071】
本発明の第12の態様に係る方法は、3−d環境と対話するための方法であって、前記3−d環境と関連する格納された情報にアクセスするステップと、前記3−d環境と関連した前記情報を第1のディスプレイに提供するステップであって、該3−d環境は前記第1のディスプレイ上に表示される、ステップと、前記3−d環境のサブセット及び関連したコンテキスト依存情報に対する要求を携帯型電子装置から受信するステップであって、前記要求は前記携帯型電子装置の検出された運動に基づいており、該携帯型電子装置の前記検出された運動は、直線運動、回転運動、直線及び回転運動、又はジェスチャを含む、ステップと、前記3−d環境の前記サブセット及び前記関連したコンテキスト依存情報を前記携帯型電子装置に提供するステップであって、該3−d環境の該サブセット及び該関連したコンテキスト依存情報は、該携帯型電子装置の第2のディスプレイに表示される、ステップと、を含むことを特徴とする。
【0072】
本発明の第13の態様に係るコンピュータ・プログラムは、システムと共に用いるためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、コンピュータ可読記憶媒体と、3−d環境との対話を容易にするように内部に埋め込まれたコンピュータ・プログラム機構とを含み、前記コンピュータ・プログラム機構は、前記3−d環境と関連する格納された情報にアクセスするための命令と、前記3−d環境と関連する情報を第1のディスプレイに提供するための命令であって、該3−d環境は前記第1のディスプレイ上に表示される、命令と、3−dレンダリングされた前記3−d環境のサブセット及び関連したコンテキスト依存情報に対する要求を携帯型電子装置から受信するための命令であって、前記要求は、前記携帯型電子装置の検出された運動に基づいており、該携帯型電子装置の前記検出された運動は、直線運動、回転運動、直線及び回転運動、又はジェスチャを含む、命令と、前記3−d環境の前記サブセット及び前記関連したコンテキスト依存情報を前記携帯型電子装置に提供するための命令であって、該3−d環境の該サブセット及び該関連したコンテキスト依存情報は、該携帯型電子装置の第2のディスプレイ上に表示される、命令と、を含むことを特徴とする。
【0073】
本発明の第14の態様に係るコンピュータ・プログラムは、第13の態様において、前記コンピュータ・プログラム機構が、ユーザと関連付けられた携帯型電子装置から、3−dレンダリングされた前記3−d環境のサブセット及び関連したコンテキスト依存情報に対する要求を受信するための命令であって、所定の携帯型電子装置からの所定の要求は前記所定の携帯型電子装置の検出された運動に基づいており、該所定の携帯型電子装置の該検出された運動が、直線運動、回転運動、直線及び回転運動、又はジェスチャを含む、命令と、前記3−d環境の前記サブセット及び前記関連したコンテキスト依存情報を、前記携帯型電子装置に提供するための命令であって、該3−d環境の該サブセット及び該関連したコンテキスト依存情報は、該携帯型電子装置の第2のディスプレイ上に表示される、命令と、を含み、前記第1のディスプレイ上に表示される前記3−d環境は、前記ユーザに共通の情報を含むことを特徴とする。
【0074】
本発明の第15の態様に係るコンピュータ・プログラムは、第14の態様において、少なくとも2つの携帯型電子装置上に表示される前記3−d環境のサブセットが異なることを特徴とする。
【0075】
本発明の第16の態様に係るコンピュータ・プログラムは、第14の態様において、前記コンピュータ・プログラム機構が、前記関連付けられた携帯型電子装置を介して与えられた前記情報に対する変更と関連した競合が前記3−d環境において生じた場合、該関連付けられた携帯型電子装置を介して前記ユーザの少なくとも2人にフィードバックを提供するための命令を含むことを特徴とする。
【符号の説明】
【0076】
100:システム
110:コントローラ装置
112:ネットワーク
114、114−1、114−2:携帯型電子装置
116:通信モジュール
118:3−d仮想環境モジュール(3−d環境モジュール)
120:環境情報
122、122−1:ソフトウェア・アプリケーション
124、124−1、432:3−d表示モジュール
126、126−1、434:運動検出モジュール
128、128−1、128−2、130、416:ディスプレイ
129:仮想世界クライアント
130:ディスプレイ
200:プロセス
308:軸
310、312、312−1、312−2:オブジェクト
314、314−1、314−2:メニュー
400:コンピュータ・システム
408:運動センサ
410:プロセッサ
412:通信インターフェース
414:ユーザ・インターフェース
418:キーボード
420:ポインタ
422:信号ライン
424:メモリ
426:オペレーティング・システム
428:通信モジュール
430:ソフトウェア・アプリケーション・ツール
436:触覚式監視モジュール
438:コンテキスト依存情報
442:文書
444:オブジェクト/アバター
446:識別子
500:データ構造
510、510−1:コンテキスト依存情報

【特許請求の範囲】
【請求項1】
三次元(3−d)環境と関連した情報を格納するように設定されたコントローラ装置と、
前記コントローラ装置に結合され、前記3−d環境を表示するように構成された第1のディスプレイと、
前記コントローラ装置と情報を通信するように構成された少なくとも1つの携帯型電子装置と、
を含み、前記携帯型電子装置は、
直線運動、回転運動、直線及び回転運動、又はジェスチャを含む前記携帯型電子装置の運動を検出するように構成された3−d運動センサと、
前記検出された運動に基づいて、3−dレンダリングされた前記3−d環境のサブセット及び関連したコンテキスト依存情報を表示するように設定された第2のディスプレイと、
を含むことを特徴とするシステム。
【請求項2】
ユーザと関連付けられた複数の携帯型電子装置をさらに含み、所与の携帯型電子装置は、前記所与の携帯型電子装置の検出された運動に基づいて、前記3−d環境の所与のサブセット及び前記関連したコンテキスト依存情報を所与のユーザに表示し、
前記第1のディスプレイ上に表示される前記3−d環境は、前記ユーザに共通の情報を含むことを特徴とする、請求項1に記載のシステム。
【請求項3】
前記システムは、前記3−d環境において、前記ユーザの協調対話を容易にすることを特徴とする、請求項2に記載のシステム。
【請求項4】
前記コントローラ装置は、前記関連付けられた携帯型電子装置を介して与えられた前記情報に対する変更と関連した競合が前記3−d環境において生じた場合、該関連付けられた携帯型電子装置を介して前記ユーザの少なくとも2人にフィードバックを提供することを特徴とする、請求項2に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−65644(P2011−65644A)
【公開日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願番号】特願2010−200582(P2010−200582)
【出願日】平成22年9月8日(2010.9.8)
【出願人】(504407000)パロ アルト リサーチ センター インコーポレイテッド (65)
【Fターム(参考)】