【文献】
谷川智洋(外5名),「全周カメラシステムによる没入型ディスプレイのための3次元アバタの研究」,日本バーチャルリアリティ学会論文誌,日本,日本バーチャルリアリティ学会,2003年12月31日,Vol.8, N0.4,第389〜397頁,ISSN:1344-011X
【文献】
野田真一(外3名),「実時間計測と動的パターン照明による光学シースルー型複合現実感ディスプレイ」,日本バーチャルリアリティ学会論文誌,日本,日本バーチャルリアリティ学会,1999年12月31日,Vol.4, No.4,第665〜670頁,ISSN:1344-011X
【文献】
服部桂,「人工現実感の世界」,日本,株式会社工業調査会,1991年 5月15日,初版,第168〜177頁,ISBN:4-7693-5046-5
(58)【調査した分野】(Int.Cl.,DB名)
遠隔没入型環境におけるローカルの状況設定システムであって、前記遠隔没入型環境は遠隔没入型セッションの参加者間に対話を提供し、前記ローカルの状況設定システムは、
前記ローカルの状況設定システムに関連付けられたローカルの参加者を表すローカルのカメラ情報を取り込むように構成された撮影機能と、
ローカル処理システムであって、
前記ローカルのカメラ情報およびリモートの入力情報に基づいて3次元のシーン情報を作成し、前記リモートの入力情報は、前記ローカルの状況設定システムとは地理的に異なる位置で作動するリモートの設定状況システムに対してローカルである少なくとも1人のリモートの参加者に関連付けられた少なくとも1つのリモートの処理システムから提供され、前記リモートの入力情報は、前記少なくとも1つのリモートの処理システムによって識別された物体に関連付けられた情報に対応し、
ローカルの入力情報の少なくとも一部を前記少なくとも1つのリモートの処理システムに転送し、前記ローカルの入力情報は、前記ローカル処理システムによって識別された物体に関連付けられた情報に対応する、ように構成されたローカル処理システムと、
前記3次元のシーン情報に基づいて3次元の仮想空間を提示するように構成されたミラー機能であって、前記3次元の仮想空間は、前記参加者が物理的に同じ場所にいて鏡を見ているかのように前記参加者のうち少なくとも一部の参加者を示す、ミラー機能とを備え、
前記遠隔没入型環境は、任意のトリガ要因に基づいて、遠隔没入型セッション中に参加者の仮想像を配置する順序を動的に変更し、
前記遠隔没入型環境は、前記参加者の選択に応じて、前記仮想空間から前記参加者自身の仮想像を除くことを可能とする、ローカルの状況設定システム。
前記ミラー機能が、前記3次元のシーン情報を受け取りその情報に基づいて前記ローカルの参加者および少なくとも1人のリモートの参加者の仮想像を提示するように構成された表示装置を備える請求項4に記載のローカルの状況設定システム。
前記ローカル処理システムは、前記ローカルの参加者が、前記ミラー機能によって提示される仮想像と対話することを可能にする機能を含む請求項4に記載のローカルの状況設定システム。
前記ローカルの状況設定システムは、前記ローカルの参加者が物理的物体を置く物理的な作業空間を含み、前記仮想像は、前記物理的物体の仮想対応物である請求項8に記載のローカルの状況設定システム。
前記遠隔没入型セッションの間に前記ローカルの参加者によって識別された情報を受け取り、特定の参加者の情報を提供するように構成された管理モジュールをさらに備え、
前記ローカル処理システムは、前記ミラー機能を使用する前記特定の参加者の情報を提供するように構成されている請求項4に記載のローカルの状況設定システム。
前記ミラー機能が、前記遠隔没入型セッションの2人以上の参加者の仮想像を提示するために手持ち型の表示装置を使用する請求項4に記載のローカルの状況設定システム。
前記ローカル処理システムは、前記ローカル処理システムによって識別された物体の補助位置情報を集めるように構成され、前記補助位置情報は、前記物体の位置決めデバイスの少なくとも1つによって生成され、実空間において前記物体にタグが貼り付けられる、請求項1に記載の遠隔没入型環境。
【発明を実施するための形態】
【0014】
[0023] 本開示および図では、同様の構成要素および特徴を参照するために一貫して同じ参照符号を使用する。100番台の符号は
図1に最初に出現する特徴を指し、200番台の符号は
図2に最初に出現する特徴を指し、300番台の符号は
図3に最初に出現する特徴を指し、以下同様である。
【0015】
[0024] 本開示は以下のような構成になっている。項Aでは、鏡のメタファを使用した遠隔没入型環境の概要を述べ、より具体的には、この項では遠隔没入型セッションの参加者にもたらされる体験に焦点を当てる。項Bでは、項Aで紹介した環境の例示的な実装を説明する。項Cでは、項AおよびBで説明した概念および機能の例示的な変形例と拡張例を述べる。項Dでは、項A〜Cの機能の動作を説明する例示的な方法を述べる。そして、項Eでは、項A〜Dで説明した機能の態様を実装するために使用できる例示的なコンピューティング機能を説明する。
【0016】
[0025] 前置きとして、図の一部は、機能、モジュール、機能、要素等様々な呼び方をする1つまたは複数の構造的構成要素の文脈で概念を説明する。図に示す各種構成要素は、物理的な有形の機構、例えばソフトウェア、ハードウェア(例えばチップで実装される論理機能)、ファームウェア等、および/またはそれらの組み合わせにより、任意の方式で実装することができる。一例では、図で各種構成要素を別々の単位に分けて示す場合は、実際の実装でそれらに対応する個別の物理的な有形の構成要素を使用することを反映している場合がある。それに代えて、またはそれに加えて、図に示す単一の構成要素を複数個の実際の物理的な構成要素によって実装してもよい。それに代えて、またはそれに加えて、図で2つ以上の別々の構成要素を示すことが、単一の実際の物理的構成要素によって行われる異なる機能を表す場合もある。そして、下記で説明する
図10は、各図に示される機能の例示的な物理的実装の1つに関する追加的な詳細事項を提供する。
【0017】
[0026] 他の図は、フローチャートの形態で概念を説明する。フローチャートの形態では、特定の動作は、特定の順序で行われる個別のブロックを構成するものとして説明される。これらの実装は例示的なものであり、制限的なものではない。本明細書に記載される特定のブロックはまとめて1つの動作として行うことができ、特定のブロックは複数の構成要素ブロックに分割することができ、特定のブロックは本明細書で例示する順序とは異なる順序で行うことができる(ブロックを並列的に行うことを含む)。フローチャートに示すブロックは、物理的な有形の機構、例えばソフトウェア、ハードウェア(例えばチップで実装される論理機能)、ファームウェア等、および/またはそれらの組み合わせにより、任意の方式で実装することができる。
【0018】
[0027] 用語に関して、「〜ように構成される」という表現は、任意種の物理的な有形の機能を構築して、特定される動作を行うことが可能なすべての方式を包含する。機能は、例えばソフトウェア、ハードウェア(例えばチップで実装される論理機能)、ファームウェア等、および/またはそれらの組み合わせを使用して動作を行うように構成することができる。
【0019】
[0028] 用語「論理」は、ある作業を行うための物理的な有形の機能をいずれも包含する。例えば、フローチャートに示される各動作は、その動作を行う論理構成要素に対応する。動作は、例えばソフトウェア、ハードウェア(例えばチップで実装される論理機能)、ファームウェア等、および/またはそれらの組み合わせを使用して行うことができる。コンピューティングシステムで実装される場合、論理構成要素は、実装の方式に関係なく、そのコンピューティングシステムの物理的な一部である電気部品に相当する。
【0020】
[0029] クレーム中の表現「〜する手段(means for)」は、使用される場合、米国特許法第112条、第6段落の条項を援用するものとする。この特定の表現以外の他の文言は上記法の上記箇所の条項を援用しない。
【0021】
[0030] 以下の説明では1つまたは複数の特徴を「任意選択の」と特定する場合がある。その種の言及は、任意選択と見なすことができる特徴を余すところなく示すものとは解釈すべきではなく、すなわち、文章中で明確に特定されなくとも他の特徴を任意選択と見なせる可能性がある。最後に、用語「例示の」または「例示的な」は、多数存在し得る実装のうちの1つの実装を意味する。
A.例示的な参加者の体験
【0022】
[0031] この項では、鏡のメタファを使用して動作する遠隔没入型環境の概要を述べる。より具体的には、この項では、各参加者にもたらされる体験の種類を主に説明することにより遠隔没入型環境を紹介する。項B〜D(下記)では、この体験を実装することができる各種方式に関する詳細を提供する。
【0023】
[0032]
図1から始めると、
図1は、参加者P
1、参加者P
2、および参加者P
3と表される3人の参加者に遠隔没入型体験を提供する遠隔没入型環境100の概要を示す。ただし、環境100は、2人のみ、または4人以上の参加者を伴う遠隔没入型セッションを提供することができる。各参加者は、他の2人の参加者とは異なる地理的場所で動作する。すなわち、参加者P
1は場所L
1で動作し、参加者P
2は場所L
2で動作し、参加者P
3は場所L
3で動作する等である。任意の特定の場所から見て環境100を説明する時に、その場所にいる参加者をローカルの参加者と呼び、一方その他の参加者をリモートの参加者と呼ぶ。さらに、ローカルの状況設定とは、ローカルの参加者に関連付けられた特定の場所で提供される機能を指す。リモートの状況設定は、リモートの参加者に関連付けられた場所で提供される機能を指す。
【0024】
[0033] 各場所は、他の場所からどの距離だけ離れていてもよい。例えば、一例では、2人の参加者が同じ建物の別々の部屋を占めている場合や、構内環境で別々の建物にいる場合等、2人の参加者が比較的互いの近くにいる場合がある。別の例では、異なる州、県、または国にいる場合等、2人の参加者が離れている場合がある。
図1は、3人の参加者(P
1、P
2、P
3)の全員が現実空間104をほぼ占めていると示すことで、3人の参加者の図示を簡略化している。現実空間は、物理的な存在物(例えば人々や物理的物体等)を含んでいる空間である。
【0025】
[0034] 環境100はミラー機能106を使用して3次元の仮想空間108を提示する。仮想空間108は、鏡のメタファを使用して参加者102の仮想像110を提供する。鏡のメタファは、実際には参加者が別々の場所(例えば場所L
1、L
2、L
3)にいるにも関わらず、参加者全員が同じ物理的場所にいて同じ鏡を見ているという印象を各参加者に与える。すなわち、各参加者は、ミラー機能106によって生成される仮想空間108に仮想像V
1、V
2、およびV
3を見る。仮想像V
1は、現実の参加者P
1の仮想的な対応物である。仮想像V
2は、現実の参加者P
2の仮想的な対応物である。そして、仮想像V
3は、現実の参加者P
3の仮想的な対応物である。(ただし、下記で説明するように、各参加者から見た仮想空間108は、その他の参加者に見える空間といくつかの点で異なる場合もある。例えば、構成の設定に基づいて、ローカルの参加者が仮想空間108から自身の仮想像を除くことを選択することができる)。
【0026】
[0035]
図1は、環境100が、参加者P
2が参加者P
1とP
3の間にいるという印象、例えば参加者P
1が参加者P
2の左におり、参加者P
3が参加者P
2の右にいるという印象を与えるように仮想像110を配置していることを示す。ただし、この仮想像110の順序を決める方式は変更することができる。例えば、環境100は、任意の方式で順番を割り当てるか、任意の1つまたは複数の要因を使用して順番を選択することができる。例えば、環境100は、参加者の順序に関する好みに基づいて順序を割り当てることができる。あるいは、環境100は、各参加者がセッションに加わった時間的な順序等に基づいて順序を割り当ててもよい。さらに、環境100は、任意のトリガ要因に基づいて、遠隔没入型セッション中に参加者の順序を動的に変えてもよい。
【0027】
[0036]
図1の例では、仮想像(V
1、V
2、およびV
3)は、想定ミラー面に写った像に相当する。したがって、これらの仮想像を仮想鏡映物体と呼ぶことができ、仮想空間108全体を仮想鏡映空間と呼ぶことができる。項Dでは、仮想空間108が、ミラー面に映った像ではなく、ミラー面の前に置かれた物体に関連付けられた仮想像も含む例を述べる。これらの仮想像を仮想実在物体と呼ぶことができ、これらの物体を提供する仮想空間の部分を仮想実在空間と呼ぶことができる。それぞれの仮想実在物体は仮想の鏡映像である対応物を有し、場合によっては現実の物理的な対応物を有する。ただし、説明を簡略にするために、以下の説明では、はじめは、すべての仮想像はミラー面の前に置かれた物体の表現ではなく、ミラー面上の鏡映像に対応すると想定する。
【0028】
[0037]
図2は、(
図1の)環境がローカルの第1の参加者202にもたらす遠隔没入型体験を示す。この遠隔没入型セッションは2人のみの参加者を伴うが、上記で指摘したようにセッションは3人以上の人物を伴う場合もある。もう一方の(リモートの)参加者をここでは第2の参加者と呼ぶ。
【0029】
[0038] より具体的には、
図2は、第1の参加者のローカルの状況設定の視点から見た第1の参加者202の体験を表している。その設定では、第1の参加者202は現実空間204の中に立ち、環境100によって作り出される仮想空間206を見ている。仮想空間206は、第1の参加者202の仮想像208および第2の参加者の仮想像210を示す。
【0030】
[0039] 図には示さないが、第2の参加者は、自身のローカルの状況設定によって提供される現実空間の中に立っているように描写することができる。そして第1の参加者202と同様に、第2の参加者は環境100によって作り出される仮想空間を見ているように描写することができる。その仮想空間は、第1の参加者202の仮想像208ならびに第2の参加者の仮想像210を含む。すなわち、一構成では、第1の参加者202は第2の参加者と同じ仮想空間を見ることができる。
【0031】
[0040] 別の構成では、第1の参加者202によって見られる仮想空間206は、第2の参加者によって見られる仮想空間と1つまたは複数の点で異なる場合がある。例えば、上記のように、第1の参加者は、仮想空間206から自身の仮想像208を除くことを選択することができ、同様に第2の参加者も自身の仮想空間から自身の仮想像210を除くことを選択することができる。この自分の鏡映像を除く能力は、環境が鏡のメタファをどのように実装するかに応じて様々な度合いで利用できる選択肢であることに留意されたい。例えば、
図4の環境400(下記で説明する)は、
図3の環境300(下記で説明する)よりも容易にこの選択肢に対応することができる。
【0032】
[0041] 高レベルの視点から見ると、仮想空間206は、2人の参加者が同じ部屋の中に並んで立っているという印象を与える。例えば、仮想空間206は、第2の参加者は物理的には第1の参加者202に対して全く異なる地理的場所にいるのにも関わらず、第2の参加者が第1の参加者202から見て第1の参加者202のすぐ左に立っているという錯覚を作り出す。また、仮想空間206は現実空間204の反転した(すなわち鏡に映った)バージョンを提示することにも留意されたい。
【0033】
[0042] さらに、第1の参加者202の仮想像208は、第2の参加者の仮想像210とほぼ同じ大きさである。しかし、環境100は、それに代えて、参加者の(その他の参加者の大きさと比べて)縮小または拡大した仮想像を表示することもできる。それに代えて、またはそれに加えて、環境100は、現在発言している参加者の周りに光るオーラを提示する、または発言中の参加者を指すグラフィックの矢印を表示する等により、仮想空間206内で任意の参加者を強調するグラフィック効果を使用することができる。
【0034】
[0043] 環境100は他の機能も提供することができ、そのうちいくつかを以下に挙げる。
【0035】
[0044] (a)仮想的な物体の操作。
図2は、ローカルの状況設定の現実空間204が、第1の参加者202がその中で現実の物体を操作できる作業空間を含むことを示している。例えば、第1の参加者202が物理的な台212の上に本物のボール214を置いている。作業空間は、第1の参加者202が例えば自分の手や他の身体部分で1つまたは複数の物体を能動的に操作することができる空間も包含することができる。例えば、第1の参加者202は左手に長方形の物体216を持っている。より具体的には、第1の参加者202は、第2の参加者に見せるかのように、仮想空間206の表面の方に向かって長方形の物体216を差し出している。単なる代表的な事例の1つとして、長方形の物体216がスマートフォンまたは何らかの他の手持ち型の電子機器に相当すると想定する。ただし、長方形の物体216は任意の物理的物体に相当する可能性がある。
【0036】
[0045] 同様にして、第2の参加者が動作するリモートの状況設定は、第2の参加者が物理的な物体に作用することができる作業空間を含む。例えば、その作業空間は、ローカルの状況設定の物理的な台212の対応物である物理的な台を含むことができる。下記で説明するように、第2の参加者は自身の台に別の長方形の物体を置いている。
【0037】
[0046] 環境100は、物理的な物体に対応する仮想的な物体も作り出す。これらの仮想的な物体は、それぞれの仮想空間に仮想像として現れる。例えば、環境100は、物理的な台212の仮想的な対応物である仮想的な台218を作り出す。環境100は、本物のボール214の仮想的な対応物である仮想的なボール220を作り出す。仮想的なボール220は、仮想空間206では仮想的な台218の上にあるように見えることに留意されたい。環境100は、物理的な長方形の物体216の仮想的な対応物である仮想的な長方形の物体222も作り出す。第1の参加者202の仮想像208は、仮想的な長方形の物体222を持っている人物を描写することに留意されたい。そして最後に、環境100は、これも仮想的な台218の上にある別の仮想的な長方形の物体224を作り出す。この仮想的な長方形の物体224は、第2の参加者が自身の物理的な台(図示せず)に置く物理的な長方形の物体(図示せず)の仮想的な対応物である。環境100は適切な処理を提供して、どの参加者に提示される仮想空間も仮想的な台218を1つだけ含むようにして、例えば、異なる状況設定にある複数の物理的な台が複数の重複する仮想的な台を生じさせないようにする。この機能に対応するために、各状況設定は、全く同じように構築され全く同じように配置された物理的な台を含むことができる。
【0038】
[0047] 上記で説明した仮想的な物体は各々、環境100の現実空間に現れる物理的な物体を反映している。例えば、仮想的な台218の上にある仮想的な物体はそれぞれ、第1の参加者の状況設定の物理的な台212または第2の参加者の状況設定の物理的な台の上に、対応する物理的な物体を有する。環境100は、環境100によって画定される現実空間に物理的な対応物を持たない仮想的な物体を生成することもできる。仮想的な物体は、純粋仮想物体と呼ぶことができる。例えば、環境100は、仮想的な長方形の物体222の上にあるように見える仮想的なボール226を提示している。この仮想的なボール226は、どの現実空間にも物理的な対応物を持たない。
【0039】
[0048] 一実装では、環境100は、仮想的なボール226に物理的な特性を割り当てる物理シミュレーションエンジンを含む。物理シミュレーションエンジンは、例えば仮想的なボール226の動きをニュートンの法則に従わせることにより、それが本物の物理的なボールであるかのように仮想的なボール226の動きをモデル化することもできる。一事例では、その後、第1の参加者202が、長方形の物体216を動かして長方形の物体216の上で物理的なボールをバランスのとれた状態に保とうとするのとほぼ同じようにして、物理的な長方形の物体216を動かして、仮想的な長方形の物体222の上で仮想的なボール226をバランスのとれた状態に保とうとすることができる。ここでもこれは代表例に過ぎず、他の実装では、任意種類の純粋仮想物体を提示することができ、その仮想的な物体に現実的および/または架空の動態を割り当てることができる。
【0040】
[0049] 参加者は互いと共同して仮想的な物体に作用することもできる。例えば、
図2では、第2の参加者が仮想的な長方形の物体222を指さしているのが示される。例えば、第2の参加者は、仮想的な長方形の物体222に関する発言をしている可能性がある。自分が言いたいことを伝える助けとして、第2の参加者は、特定の時点で話題にしている仮想的な長方形の物体222のちょうどその部分を指さすことができる。
【0041】
[0050] 参加者はいずれも、どの仮想的な物体でも操作することができる。例えば、一事例では、第2の参加者が、第1の参加者202によって仮想的な長方形の物体222の上でバランスがとられている仮想的なボール226に向かって手を伸ばしてつかむことができる。そして第2の参加者は仮想的なボール226を好きなように操ることができる。第2の参加者は、仮想空間に現れる自分の仮想像210を観察することによりその動作を実行することができる。すなわち、第2の参加者は、自分の仮想像210の動きをガイドとして使用して、自分の本物の手をどのように動かしたらよいかを判断することができる。
【0042】
[0051] 上記の種の操作を行うために、環境100は、環境100の現実空間にある物理的な存在物の位置を追跡する追跡機能を使用することができる。例えば、環境100は、各参加者の手および/または頭部および/または目および/または全身の動きを追跡することができる。環境100は、環境100の現実空間に現れる非生物物体の場所も追跡することができる。その追跡動作により追跡情報が生成される。環境100は、追跡情報を使用して仮想的な物体を制御することができ、例えば、第2の参加者の仮想的な手228(仮想空間206内で第1の場所を有する)で、仮想的なボール226(仮想空間206内で第2の場所を有する)を正確につかめるようにする。
【0043】
[0052] 特定の一事例では、参加者は、ミラー機能106の表面に対してほぼ直交する方向に仮想的な物体を動かすこともでき、例えば仮想的な物体をその直交方向に引き寄せる、または押しやることができる。後に説明するように、環境100は、仮想空間内の物体を奥行きを持った3次元の存在物としてモデル化することでこの動作を行うことができる。
【0044】
[0053] (b)仮想空間におけるコンテンツの提示。環境100は、参加者がミラー機能106の「表面」にメモを付加できるようにすることができる。例えば、第1の参加者202がスタイラス、指、または何らかの他の道具を使用して、ミラー機能106の表面にメモ230を書く。環境100は、そのメモ230を、各参加者から見て正しい方向に流れるように、例えば英語の場合は左から右に流れるように提示することができる。そして、任意の参加者がメモ230を任意の形で操作することができ、例えば、メモ230を編集する、仮想空間内でメモ230の場所を移動する、メモ230の大きさを変える、メモ230を消す、メモ230をデータストアに保存する、メモ230を印刷すること等ができる。
【0045】
[0054] 環境100は、仮想空間内に提示するために参加者が文書や他のデジタルコンテンツを取得できるようにしてもよい。例えば、第1の参加者202が保存場所から文書232を取り出し、環境100にその文書をミラー機能106の「ミラー面」に掲示するように指示している。文書が仮想空間内に提示されると、どの参加者でも文書232を任意の方式で操作することができ、例えば、文書232の中を移動して見る、文書232を編集する、文書232にハイライトやコメントを付加する、仮想空間内で文書232の場所を移動する、文書232を削除する、文書232の大きさを変える、文書232を印刷すること等ができる。
【0046】
[0055] より一般的には、環境100は、共有される作業空間の壁面のメタファを使用して上記機能を実装し、その場合はミラー面が壁面を構成する。参加者は、壁面の前に並んで立っているかのように壁面と対話する。参加者は、壁面に書き込みをする、壁面に文書を掲示する、または壁面表面の他の特徴を変化させることができる。仮想的な壁面に付加される情報は、一般に参加者指定情報と呼ぶことができる。
【0047】
[0056] (c)仮想空間における制御機能の提示。環境100は、仮想空間内に制御機能を表示することもできる。例えば、
図2は、環境100がミラー機能106の「ミラー面」に制御機能234を提示する例を示している。各参加者は、制御機能234と対話して用途に固有の機能を行うことができる。例えば、制御機能234は、任意種類のグラフィック制御機能に対応することができ、そのような機能には、任意種類の1つまたは複数のメニュー、1つまたは複数のボタン、1つまたは複数のスライドバー、1つまたは複数のノブ、1つまたは複数のチェックボックスもしくはラジオボタン等、またはそれらの組み合わせ等がある。参加者は、これらのようなグラフィック機能を操作して、対話型体験の態様を制御することができる。例えば、ローカルの参加者は、制御機能と対話して、リモートの参加者各々の声が自身に提示される音量を調節することができる。
【0048】
[0057] 上記の環境100はいくつかの潜在的な利益を有する。潜在的な利益の1つによると、環境100は、何人の参加者にも対応することができる共有仮想空間を生成する。言い換えると、環境100は、基礎となる鏡のメタファの原理から逸脱することなく、何人の参加者に対しても良好に規模を合わせることができる。
【0049】
[0058] 別の潜在的な利益によると、環境100は、基礎となる鏡のメタファの原理から逸脱することなく、仮想的な物体を共同して操作するための理解しやすく、容易に使用できるフレームワークを提供する。
【0050】
[0059] 別の潜在的な利益によると、環境100は、自分がリモートの参加者に対してどのように見えるかをローカルの参加者に示すための利便で自然な機構を提供する。例えば、一構成設定では、第1の参加者202に見える仮想空間206は、第2の参加者に見える仮想空間と全く同じに見える。したがって、第1の参加者202は、自身の見え方(仮想像208での見え方)が、第2の参加者に見える自身の仮想像と同じまたは同様であることを合理的に確信することができる。
【0051】
[0060] 別の潜在的な利益によると、環境100は、例えば上記の共有される壁面のメタファを使用して、ミラー機能106の「ミラー面」にメモ、文書、および他のコンテンツを掲示するための分かりやすく、使いやすい技術を提供する。
【0052】
[0061] 上記の潜在的な利益は例として挙げたものであり、限定ではない。他の実装はさらに他の利益をもたらす可能性がある。他の実装は上記特徴の1つまたは複数を欠く場合もある。
B.例示的実装
【0053】
[0062]
図3は、上記機能の第1の実装を表す環境300を示す。環境300は、一般に、複数の参加者それぞれによって使用するための状況設定の組を提供する。すなわち、環境300は、参加者P
1に第1の状況設定302を提供し、参加者P
2に第2の状況設定304を提供し、参加者P
3に第3の状況設定306を提供し、参加者P
nにn番目の状況設定308を提供する。各状況設定は異なる地理的場所にある。
図2は、第1の状況設定302の例示的な編成を示す。
図3には明示しないが、他の状況設定(304、306、...308)も全く同じ編成および動作の方式を有することができる。
【0054】
[0063] 状況設定302は、参加者P
1の表現を生成するための撮影機能310を含む。一例では、撮影機能310は、任意の1つまたは複数の種類の1つまたは複数のカメラを含む。例えば、撮影機能310は、参加者P
1および現実空間にある物理的な物体を含む、状況設定302の現実空間の奥行き画像を構築するために使用できる情報を生成する1つまたは複数のカメラを含むことができる。奥行き画像は、参照点(例えばカメラの位置)と現実空間内の各位置との間の距離を定義する。状況設定302は、構造化光技術、飛行時間技術、立体視技術等、またはそれらの組み合わせ等の任意の技術を使用して奥行き画像を生成することができる。
【0055】
[0064] 例えば、状況設定302は、ワシントン州レドモンドのMicrosoft Corporationから提供されるKinect(商標)装置を使用して、現実空間の奥行き画像を生成することができる。一実装では、Kinect(商標)装置は構造化光技術を使用して奥行き画像を生成する。この手法では、撮影機能310は、パターンを持った光を現実空間に投影する(その光が「構造化光」に相当する)。構造化光は現実空間にある物体に当たる。物体は様々な形状を持つ3次元の表面を有し、その形状が構造化光のパターンを歪ませる。そして、撮影機能310は、構造化光によって照明された現実空間内の物体を撮影する。次いで、奥行き判定機能により、撮影された像を、歪んでいないパターンに関連付けられた参照画像と比較する。奥行き判定機能は、その比較の結果を使用して、参照点と現実空間内の各点との間の距離を推測する。
【0056】
[0065] それに加えて、またはそれに代えて、撮影機能310は、現実空間を表すビデオ画像情報を生成する1つまたは複数のビデオカメラを含むことができる。すなわち、ビデオ画像情報は、現実空間にある物体のカラー(例えばRGB)の表現を提供することができる。
【0057】
[0066] 一般に、本明細書では撮影機能310を「ローカルのカメラ情報」を生成するものと表現する。ローカルのカメラ情報は、撮影機能310から得られる未処理の情報を含んでよく、例えば奥行き画像を構築するために使用される情報および/またはビデオ画像情報等を含む。
【0058】
[0067] ローカル処理システム312は、ローカルの撮影機能310からローカルのカメラ情報を受け取る。ローカル処理システム312は、各リモートの状況設定(304、306、...308)からリモートの入力情報も受け取る。リモートの入力情報は、リモートの状況設定(304、306、308)に存在する物体に関する情報を含むことができる。例えば、この情報は、リモートのカメラ情報および/または3次元(3D)の物体情報を含むことができる。下記で説明するように、状況設定の3D物体情報は、その状況設定から提供されるカメラ情報に基づいて生成される、その状況設定の現実空間にある物体の3次元表現に相当する。
【0059】
[0068] ローカル処理システム312は、また、ローカルの入力情報をリモートの状況設定(304、306、...308)それぞれに転送する。ローカルの入力情報は、リモートの入力情報のインスタンスに相当するものである。すなわち、ローカルの入力情報は、ローカルの状況設定302にある物体に関する情報を提供することができ、例えば、未処理のローカルのカメラ情報および/またはローカル処理システム312で生成されるローカルの3D物体情報を含む。ローカルの3D物体情報は、状況設定302のローカルの現実空間にある物体の3次元表現を提供する。
【0060】
[0069] ローカル処理システム312は、ローカルのカメラ情報およびリモートの入力情報に基づいて3Dシーン情報を生成する。
図5(下記で説明する)は、ローカル処理システム312がこの作業を行う方式の1つを示す。概説すると、ローカル処理システム312は、まず、ローカルのカメラ情報に基づき、ローカルの状況設定302に関連付けられた現実空間の3次元表現を作成することができる。それにより、上記で紹介した用語で言う、ローカルの状況設定302に対応するローカルの3D物体情報が得られる。次いで、ローカル処理システム312は、ローカルの状況設定302のローカルの3D物体情報を、それに対応するリモートの状況設定(304、306、...308)の3D物体情報のインスタンスと組み合わせることができる。より具体的には、この組み合わせで、
図1および
図2に関して説明した鏡のメタファに沿った共通の視点(および座標系)に個々のインスタンスを投影する。ローカル処理システム312は、作成する3Dシーン情報に、参加者によって作成されたメモや、参加者によって掲示された文書、制御機能等の補助的情報を組み込むこともできる。そして、ローカル処理システム312は、生成された3Dシーン情報をミラー機能314に送る。
【0061】
[0070]
図3に示す第1の実装では、ミラー機能314は、表示装置318の前(すなわち、参加者P
1の場所に対して「前」)に位置する物理的な半透明ミラー316を含む。半透明ミラー316は、半透明ミラー316の前にあるすべての物体の鏡映像を提示する。それと同時に、半透明ミラー316では、参加者P
1が半透明ミラー316の後ろに置かれた物体(現実の物体または仮想の物体)を見ることができる。
【0062】
[0071] 表示装置318は、ローカル処理システム312から提供される3Dシーン情報を受け取る。その情報に基づいて、表示装置は、1つまたは複数の仮想像が取り込まれた3次元の仮想空間を表示する。表示装置318は、LCDディスプレイ等任意のディスプレイ技術を使用して実装することができる。別の実装では、表示装置318は、立体表示装置として、または立体情報を任意の表面(壁面等)に投射する3次元投影装置として実装することができる。参加者P
1は、シャッター眼鏡等を使用してそのような立体ディスプレイの出力を見ることができ、それにより、仮想空間内の物体が奥行きの次元を持つという印象を与える。
【0063】
[0072] より具体的には、半透明ミラー316は、参加者P
1の仮想像320を、例えばミラーの表面に通常の鏡映像として提示することができる。表示装置318は、参加者P
2の仮想像322および仮想的な物体324を提示する。仮想的な物体324は、例えば、
図2の仮想的なボール226に相当する。第1の参加者P
1は、第1の参加者P
1が第2の参加者P
2の隣に立っているように見えるミラー機能314を見ることにより、合成された仮想的なシーン326を知覚する。第1の参加者P
1はさらに、自分が手に持っている仮想的な物体324を操作しているように知覚する。
【0064】
[0073] 状況設定302は、表示装置318の、半透明ミラー316の表面の鏡映像に対して適切な場所に仮想像を表示することにより、上記の効果を作り出す。例えば、状況設定302は、仮想的な物体324を第1の参加者の手の中に配置するために、半透明ミラー316上における参加者P
1の仮想像320の場所を求めることができる。この方式の動作は、状況設定302が、現実空間内の物理的な存在物の場所と、それに対応する半透明ミラー316の表面における仮想像の位置とを把握していることを前提とする。状況設定302はこの知識を種々の方式で得ることができる。一事例では、参加者P
1は、動きを状況設定302の現実空間内の所定領域に制限するように要求される場合がある。その場合、状況設定302は、仮想像320が半透明ミラー316の表面上の所定の場所に現れることを大まかに想定することができる。別の実装では、状況設定302は、例えば参加者P
1の手または参加者P
1の全身を追跡することにより、状況設定302の現実空間内の参加者P
1の場所を任意の粒度で追跡する追跡機能を含むことができる。状況設定302は、追跡情報に基づいて、半透明ミラー316の表面上の仮想像320の場所を求めることができる。さらに他の技術を使用して、現実空間にある物理的な存在物の場所と、それに対応する半透明ミラー316の表面における仮想像の場所を求めることができる。
【0065】
[0074] 状況設定302は、半透明ミラー316の表面に現れる像の大きさに合わせて拡大縮小された仮想像を、表示装置318に提示するために生成することもできる。一事例では、d
1の距離だけ参加者P
1が半透明ミラー316から離れており、d
2の距離だけ半透明ミラー316が表示装置318から離れている。参加者P
1は、ミラーに映った自分の仮想像320が2×d
1の奥行きで出現しているように知覚する。状況設定302は、現実の第1の参加者P
1から見て、第1の参加者P
1の仮想像320と同じ大きさに見えるように第2の参加者P
2の仮想像322を提示することができる。一事例では、状況設定302は、d
1をd
2とほぼ等しくすることによってこの結果を実現することができる。限定ではないが、例えばd
1とd
2の両方を約3フィートに等しくすることができる。
【0066】
[0075] ミラー機能314の構成は各種方式で変えることができる。例えば、別の実装では、表示装置318は、半透明ミラー316の裏面に対して同一平面となるように配置することができる。状況設定302は、その代替の配置に合わせて、表示装置318に提示する仮想像を拡大縮小する方式を変更することができる。
【0067】
[0076] ワイドエリアネットワーク(例えばインターネット)、ローカルエリアネットワーク、二地点間接続等、またはそれらの組み合わせ等の任意種の通信機構328が状況設定(302、304、306、...308)間を結合することができる。
【0068】
[0077]
図4は、上記の遠隔没入型体験を実装することができる別の環境400を示す。環境400は、
図4のミラー機能402が
図3のミラー機能314と異なる点を除いて、
図3の環境300と同じ構成要素を有する。
【0069】
[0078] 要約すると、
図4は、第1の参加者P
1が使用するローカルの状況設定404を示す。ローカルの状況設定404は、通信機構412を介して他の状況設定(406、408、...410)に結合されている。リモートの参加者は、それぞれの他の状況設定(406、408、...410)と対話する。
図4は、ローカルの状況設定404の例示的な編成を示し、
図4には明示しないが他の状況設定(406、408、...410)も同様の編成と動作の方式を有する。
【0070】
[0079] 状況設定404は、ローカルのカメラ情報を生成するための撮影機能414を含む。上記で説明したように、ローカルのカメラ情報は、状況設定404の現実空間の奥行き画像を構築するために使用することができる情報を含むことができる。それに加えて、またはそれに代えて、ローカルのカメラ情報はビデオ画像情報を含んでもよい。ローカル処理システム416は、ローカルの撮影機能414からローカルのカメラ情報を受け取り、併せて各リモートの状況設定(406、408、...410)からリモートの入力情報のインスタンスを受け取る。その入力情報に基づいて、ローカル処理システム416は、ミラー機能402に提示する3Dシーン情報を生成する。
【0071】
[0080] この実施形態では、ミラー機能402が表示装置418を含み、半透明ミラーは使用しない。表示装置418が、第1の参加者P
1に提示される仮想空間のすべての態様を表示する。すなわち、表示装置418は、第1の参加者P
1の仮想的な対応物である仮想像420、および第2の参加者P
2の仮想的な対応物である仮想像422を提示する。表示装置418は仮想的な物体424も提示する。この仮想像の集まりにより知覚される仮想的なシーン426が作り出され、この仮想的なシーン426の中では第2の参加者P
2は第1の参加者P
1の隣に立っているように見え、第1の参加者P
1は手に持っている仮想的な物体424を操作しているように見える。
【0072】
[0081]
図4の実装では、ミラー機能402の「表面」は表示装置418の表面に相当する。それに対して、
図3の実装では、ミラー機能314の「表面」は半透明ミラー316の表面に相当する。
【0073】
[0082] ローカル処理システム416は、各種の状況設定から提供される3D物体情報の各種インスタンスをまとめ、投影し、拡大縮小することにより、3Dシーン情報を作成することができる。ローカル処理システム416は3Dシーン情報を生成する際に追跡情報も考慮することができる。例えば、ローカル処理システム416は、追跡情報に依拠して、参加者が仮想的な物体を操作する時の参加者の手の位置を求めることができる。
【0074】
[0083]
図3にも
図4にも明示しないが、各ローカルの状況設定は、リモートの参加者の声等、各リモートの状況設定で生成される音声を提示するためのスピーカを含むこともできる。各ローカルの状況設定は、ローカルの参加者の声等、ローカルの状況設定で生成される音声を検出するためのマイクロフォンを含むこともできる。各ローカルの状況設定は、マイクロフォンで生成されたオーディオ情報を、例えばリモートの状況設定に転送する上記のローカルの入力情報の一部として、他のリモートの状況設定に転送することができる。
【0075】
[0084]
図5は、
図3または
図4で3次元(3D)シーン情報を提供するために使用することができるローカル処理システム500の一実装を示す。すなわち、1つの解釈では、ローカル処理システム500は
図3に示すローカル処理システム312に対応する。別の解釈では、ローカル処理システム500は、
図4に示すローカル処理システム416に対応する。ローカル処理システム312はいくつかの点でローカル処理システム416と異なる場合があるが、
図5は主にこれら2つの実装間の機能の共通点に着目している。
【0076】
[0085] ローカル画像構築モジュール502は、状況設定のローカルのカメラ機能(310または414)からローカルのカメラ情報を受け取る。次いで、ローカル画像構築モジュール502は、ローカルのカメラ情報に基づいて3D物体情報を形成する。最初の工程として、ローカルの画像構築モジュール502は、カメラ情報の各インスタンスを単一の座標空間に変換することができる。すなわち、状況設定はローカルの参加者周囲の異なる場所に複数のカメラを備えることにより、異なる視点からローカルの参加者の表現を捉える。各カメラは、それぞれ別個のカメラ情報のインスタンスを生成する。ローカル画像構築モジュール502は、例えばカメラ情報の各インスタンスに適切な座標変換を適用することにより、カメラ情報の異なるインスタンスを併合して、現実空間内にある物体の単一の合成表現を得ることができる。
【0077】
[0086] そして、ローカル画像構築モジュール502は、統合されたカメラ情報によって得られた奥行き情報を処理して、ローカルの3D物体情報を生成することができる。限定ではないが、代表的な方式の一例では、ローカル画像構築モジュール502は奥行き情報を使用して、状況設定の現実空間にある物体の3Dメッシュを作成することができる。各3Dメッシュは、例えば、奥行き情報中の頂点で定義される複数の三角形で構成された、現実空間内の物体のワイヤフレームモデルにたとえることができる。そして、ローカル画像構築モジュール502は、3Dメッシュにビデオ情報を適用することができる。すなわち、一実装では、ローカル画像構築モジュール502は、ビデオ情報を、身体に皮膚を貼り付けるように3Dメッシュに「貼る」ことができるテクスチャとして扱う。
【0078】
[0087] 追跡モジュール504は、状況設定に関連付けられた現実空間における各種物体の位置を追跡することができる。追跡モジュール504は、1つまたは複数の技術を使用してこの作業を行うことができる。一例では、追跡モジュール504は、上記のKinect(商標)装置を使用して、各参加者の身体をスケルトン、すなわち線分で互いにつながれた関節の集まりとして表現する。そして、追跡モジュール504は、参加者が現実空間内を移動するのに従って、そのスケルトンの関節の動きを追跡することができる。それに代えて、またはそれに加えて、追跡モジュール504は、頭部運動技術を使用して参加者の頭部の動きを追跡することもできる。それに代えて、またはそれに加えて、追跡モジュール504は、視線認識技術を使用して参加者の視線を追跡してもよい。
【0079】
[0088] 上記例では、追跡モジュール504は、上記のローカルのカメラ情報に基づいて現実空間内の物体の動きを追跡する。それに代えて、またはそれに加えて、追跡モジュール504は、現実空間内の物体の位置を明らかにする補助情報を収集することもできる。例えば
図2に示す事例を考えたい。
図2の事例では、第1の参加者202が現実空間204の中で動かす長方形の物体216がスマートフォン等に対応する。スマートフォンは、通例、ジャイロスコープおよび/または加速度計等の1つまたは複数の位置判定装置を備える。これらの装置が、スマートフォンの相対的な場所を示す位置情報を提供する。追跡モジュール504は、これらの装置から位置情報を受け取り、その情報を、スケルトン追跡システムから得られる位置情報と組み合わせることができる。その結果得られる位置情報は、スケルトン追跡システムから得られる位置データだけを使用する場合と比べて、向上した精度で参加者の手(長方形の物体216を把持する)の場所を定義することができる。
【0080】
[0089] それに代えて、またはそれに加えて、状況設定の現実空間にある物体に補助的なタグを取り付けることもできる。例えば、参加者の手および頭部、ならびに現実空間内にある各物理的な物体にRFタグを取り付けることができる。追跡モジュール504は、これらのタグから取得される補助的な位置情報を受け取ることができる。
【0081】
[0090] 上記の追跡技術は例として挙げたものであり、限定ではない。他の実装では、現実空間における身体および他の物体の位置を判定するために他の技術を使用することができる。さらに、ローカル処理システム500は、例えばローカル処理システム500の実装とローカル処理システム500が使用されるモードに応じて、追跡情報を様々に異なる程度利用することができることに留意されたい。場合によっては、ローカル処理システム500は追跡情報を全く利用しないか、最小限だけ使用することもある。
【0082】
[0091] 例えば、ローカル処理システム500が
図4の環境400で使用され、その目的が単に、参加者の像を仮想空間内で相互に横並びの関係で提示することであるとする。さらに、それぞれの参加者は、その参加者の状況設定の現実空間内で所定の領域に存在することが予想されるとする。ローカル処理システム500は、例えば各参加者の手の正確な追跡を行うことなく、所望の仮想空間を生成することができる。
【0083】
[0092] 転送モジュール506は、ローカルの入力情報を、遠隔没入型セッションの他のリモートの参加者に転送する。上記で説明したように、ローカルの入力情報は、例えば、ローカルの状況設定から得られる未処理のカメラ情報および/またはローカルの画像構築モジュール502から得られる処理済みのローカルの3D物体情報に相当する。転送モジュール506は、ローカルの入力情報を転送するために任意の技術を使用することができ、そのような技術には、転送モジュール506がリモートの状況設定に関連付けられた異なる複数の宛先にローカルの入力情報を一斉通信する多重化技術等がある。
【0084】
[0093] 画像作成モジュール508は、画像構築モジュール502から3D物体情報を受け取ると共に、様々なリモートの状況設定からリモートの3D物体情報のインスタンスを受け取る。その情報に基づいて、画像作成モジュール508は、ミラー機能(314または402)の表示装置(318または418)に出力する3Dシーン情報を生成する。
【0085】
[0094] 画像作成モジュール508は、それぞれ異なる機能を行う複数の下位モジュールを含む(または含むものと概念化する)ことができる。画像変換モジュール510は、3D物体情報の各インスタンスを、モデル化される想定ミラーに関連付けられた共通の座標空間に変換する。画像変換モジュール510は、3D物体情報の各種インスタンスに適切な拡大縮小処理を適用することもできる。任意選択の物理シミュレーションエンジン512は、
図2に関連して説明した仮想的なボール226等、仮想的なシーンにある仮想的な物体にシミュレーション効果を適用することができる。画像集約モジュール514は、1つのシーンの種々の部分を集約して、統合された3Dシーン情報にすることができる。
【0086】
[0095] 物理シミュレーションエンジン512は、少なくとも部分的に周知のシミュレーションアルゴリズムに依拠して、現実的または非現実的な形で3Dの仮想的な物体を操作することができ、そのようなアルゴリズムには、剛体力学や軟体力学等を考慮するモデルが含まれる。例示的な周知の物理シミュレータには、カリフォルニア州サンタクララのNvidia Corporationから提供されるPhysX、アイルランド、ダブリンのHavokから提供されるHavok Physics、Julio JerezおよびAlain Sueroにより生み出されたNewton Game Dynamics等がある。
【0087】
[0096] 補助機能管理モジュール516(簡略のために「管理モジュール)と呼ぶ)は、3Dシーン情報に付加することが可能な補助的情報を供給する。例えば、管理モジュール516は、ローカルの参加者がミラー機能(314、402)の表面に書き込みをしたことを知らせる書き込み情報をミラー機能(314、402)から受け取ることができる。そして、管理モジュール516は、その書き込み情報を画像作成モジュール508に転送し、画像作成モジュール508でその情報を作成される3Dシーンに組み込むことができる。項Aで触れたように、どの参加者でも、仮想空間に付加されたメモと任意の形で対話することができる。管理モジュール516はその対話を管理することもできる。
【0088】
[0097] より具体的には、
図4の場合には、表示装置418がタッチ感知型の表面を含むことができる。表示装置418は、参加者が例えばスタイラス、指、または何らかの他の道具を使用してタッチ感知型の表面と対話すると、書き込み情報を生成することができる。それに代えて、またはそれに加えて、表示装置418の前および/または後ろにカメラを配置して、表示装置418とのローカルの参加者の対話を検出し、その結果書き込み情報を生成することもできる。同様に、
図3の場合には、半透明ミラー316がタッチ感知型の表面を含み、参加者がその表面に触れると表面が書き込み情報を生成することができる。それに代えて、またはそれに加えて、半透明ミラー316の前および/または後ろにカメラを配置して、半透明ミラー316とのローカルの参加者の対話を検出し、その結果書き込み情報を生成することもできる。あるいは、
図3の状況設定302が半透明ミラー316の前に別個の透明部材(図示せず)を備えて、その上にローカルの参加者が書き込みをすることができ、その結果状況設定302が書き込み情報を生成することもできる。それに代えて、またはそれに加えて、ローカルの参加者は、これらに限定されないが、キーパッド、マウス装置、音声認識機構等の他の入力機構を使用してメモを提供することもできる。
【0089】
[0098] 管理モジュール516は、文書の取得および操作も管理することができる。例えば、管理モジュール516は、任意の入力機構を使用したローカルの参加者からの指示を受け取ることができる。そして、管理モジュール516は、その指示で指定される文書を取り出すことができる。例えば、ローカルの参加者が「『納税申告書2012年』を取り出して」と音声指示を言うか、またはローカルの参加者が他の入力機構を通じてこの指示を入力すると、「納税申告書2012年」という名前のファイルに対応する表計算文書を取り出す。そして、環境が、遠隔没入型セッションのどの参加者でも上記の項Aで説明したような方式でその文書を操作できるようにする。
【0090】
[0099] 管理モジュール516は、
図2に示す代表的な制御機能234等、仮想空間内に任意種の制御機能も表示することができる。管理モジュール516は、ローカルの参加者が制御機能と対話したことを検出し、その後参加者の対話に基づいて適切な動作を取ることもできる。
【0091】
[0100] 上記の管理機能は例として挙げたものであり、限定ではない。管理モジュール516は、他の実装ではさらに他の機能を行うことができる。
【0092】
[0101] 画像作成モジュール508は、任意選択のグラフィックライブラリ518からグラフィック情報を受け取ることもできる。例えば、グラフィックライブラリ518は、
図2に示す仮想的なボール226等、各種の一般的な物体に関連付けられた3D物体情報のインスタンスを保持することができる。動作中、画像作成モジュール508は、作り出そうとしている3Dシーンがグラフィックライブラリ518で記述される仮想的な物体を含むかどうかを判断することができる。含む場合、画像作成モジュール508は、グラフィックライブラリ518から3D物体情報の該当するインスタンスを取り出し、作り出そうとするシーンにそれを組み込む。
【0093】
[0102]
図5は、画像作成モジュール508がローカルの参加者から各種の構成命令を受け取ることも示している。例えば、ローカルの参加者は、
図4のミラー機能402が自分の仮想像(例えば仮想的な鏡映像)を表示装置418に表示するか否かを指定することができる。参加者が表示しないことを指定した場合、その結果作り出される仮想的空間は、ローカルの参加者の仮想的な表現を除外する。しかし、その他の参加者にはローカルの参加者の仮想像がそれでもなお見える。ローカルの参加者は、リモートの参加者の声の音量を調節する、参加者が仮想空間に出現する順序を指定する等の他の構成命令を提供することができる。
C.例示的な変形例および拡張例
【0094】
[0103] この項では、項AおよびBで述べた概念および機能の各種変形例および拡張例に関する詳細を述べる。
【0095】
[0104]
図6は、
図1〜
図5に示した概念の第1の変形例を示す。すなわち、
図3および
図4の例では、ミラー機能(314、402)は、平面状の表示面を有する表示装置(318、418)を使用する。対して、
図6は、曲面状の表示面を有する表示装置602を有するミラー機能を示す。例えば、表示装置602は、半円形の表面、放物線状の表面等を有する。ローカルの参加者604は、表示装置602の曲面状の表面の中心またはその近傍に位置する視点から、表示装置602に提示されるコンテンツを観察することができる。より具体的には、参加者の状況設定のローカル処理システムは、ユーザが平面状の鏡の前に互いに隣り合って立っているかのように、3Dシーン情報を計算し続けることができる。しかし、
図6の実装では、ローカル処理システムは、その3Dシーン情報を曲面状の表面を有する表示装置602に提示する。3Dシーン情報は、任意選択により、ローカルの参加者の仮想像を含んでも除いてもよい。
【0096】
[0105]
図6の構成は、ローカルの参加者604に、自分が円形のテーブルの真ん中近くに座っているかのように、リモートの参加者が自分を囲んで並んでいるという印象を与える。ローカルの参加者604は、多数の参加者がいる事例でこのような提示を有用と感じる場合があり、すなわち、この構成では、線状の配置と比べてローカルの参加者604がリモートの参加者をより効果的に観察することができる。さらに、ローカルの参加者604は、自分の頭(または体全体)を回転させて異なる参加者に話しかけることができる。この回転は、リモートの参加者がローカルの参加者604の前に線状に並んでいる場合と比べてより明瞭である可能性がある。この態様は、リモートの参加者に対するローカルの参加者604の注目の方向をより効率的に示すことによって、対話を向上させることができる。
【0097】
[0106]
図7は、
図1〜
図5に示した概念の別の変形例を示す。すなわち、
図3および
図4の例では、ミラー機能(314、402)は比較的大型の表示装置(318、418)を使用する。例えば、表示装置(318、418)は、遠隔没入型セッションの各参加者の実物大の仮想像を表示できる大きさにすることができる。しかし、ミラー機能の表示装置は任意の大きさであってよく、参加者の仮想像は任意の方式で拡大縮小することができる。例えば、
図7は、携帯型(例えば手持ち型)の表示装置702を使用して遠隔没入型セッションの参加者の仮想像を表示するミラー機能を示す。表示装置702は、上記と同じ鏡のメタファを使用して各参加者の縮小したバージョンを表示する。表示装置702は、例えば、スマートフォン、電子書籍リーダー装置、携帯型ゲーム機、タブレットコンピューティング装置、携帯情報端末装置、ラップトップコンピューティング装置、ネットブック型のコンピューティング装置等のうち任意のものに相当する。
【0098】
[0107] 表示装置702は、参加者の1人または複数が移動している動的な環境を含む任意の環境で遠隔没入型体験をもたらすことができる。
図7は、例えば、車両704の内部における表示装置702の例示的な使用を示す。ローカルの参加者706は例えば車両704の運転者に相当する。運転者は、車両704のダッシュボード、例えば制御盤708の上方に表示装置702を取り付けることができる。表示装置702は、従来の電源コード710を介して車両704から、および/または装置内の内部バッテリ電源から電力を受け取ることができる。車両704の内部は、例えば車内の様々な場所に配置された1つまたは複数のカメラを備えることにより、撮影機能も備えることができる。表示装置702がそのようなカメラ712を1台備えることができる。バックミラーが別のカメラ714を備えることができる。撮影機能は、例えば車両内部の奥行き画像を生成するために使用できる情報を、ビデオ画像情報と共に提供することにより、上記のようにしてローカルの参加者706の表現を提供する。
【0099】
[0108] 一例では、遠隔没入型セッションのリモートの参加者が、別の車両、または自宅もしくは職場、または他の場所にいることができる。別の例では、「リモート」参加者の少なくとも一部が車両704自体、例えば車両704の後部座席にいる場合もある。ローカルの参加者706は、頭の向きを変えて後部座席にいる参加者と話をするよりも、表示装置702を介して後部座席の参加者と会話をする方が便利であると感じる可能性がある。現地司法の法律が許す場合には、ローカルの参加者706は運転をしながら上記技術を使用して遠隔没入型セッションに参加することができ、法規がその種の行為を許さない場合は、ローカルの参加者706は車両が動いていない時にセッションを行うことができる。他の事例では、ローカルの参加者706が表示装置702をその取り付け台から外し、歩きながら、または他の場所で、遠隔没入型セッションを続けることができる。
【0100】
[0109] 最後に明確にするために述べると、
図3〜
図5は、ローカル処理システム(312、416、500)によって提供されるすべての処理がローカルの状況設定で行われる例を示す。それに代えて、その処理の少なくとも一部をリモートのクラウドコンピューティング機能等のリモートの処理機能に委託することもできる。この実装は、上記のモバイルの事例、例えば表示装置702の処理能力が限られる可能性がある場合に特に有用である可能性がある。
【0101】
[0110]
図8は、
図1〜
図5に示した概念の別の変形例を示す。より具体的には、
図1および
図2の例では、環境100は、鏡映仮想像110を含む仮想空間108を作り出す。すなわち、仮想空間108内の仮想像110は、ミラー機能106によって生成される、現実空間104にある現実の存在物の鏡映像に相当する。別の実装では、仮想空間108を拡張して、現実空間104にある現実の存在物と、ミラー機能106によって生成される鏡映像の両方の仮想的表現を提示することができる。現実の存在物の仮想的表現を本明細書では、例えば仮想実在参加者、仮想実在物体等のように仮想実在存在物と呼ぶ。鏡映像の仮想的表現は、例えば仮想鏡映参加者、仮想鏡映物体等のように仮想鏡映存在物と呼ぶ。
図2の仮想空間206に示される各存在物は、仮想鏡映参加者、または仮想鏡映物体、または純粋仮想物体を構成する。純粋仮想物体は、仮想的なボール226のように、環境100のどの現実空間にも現実の対応物を持たない。
【0102】
[0111]
図8では、第1の参加者802および第2の参加者が環境100の変更を加えたバージョンを使用して遠隔没入型セッションに参加している。すなわち、第1の参加者802は、ローカルの状況設定804を使用して第1の場所で動作する。その設定は、第1の参加者802に関連付けられた現実空間806を提供する。現在、第1の参加者802は左手に長方形の物体808を持って、第2の参加者がよく見られるようにそれを提示している。第2の参加者は、第1の場所に対して遠隔にある第2の場所で動作する。第2の参加者はリモートの状況設定(図示せず)を使用する。現在、第2の参加者は、第1の参加者802が持っている長方形の物体808を指でさしている。
【0103】
[0112]
図8は、第1の参加者802から見た遠隔没入型体験を示す。すなわち、環境100は、
図2の仮想空間206と同様の仮想鏡映空間810をもたらす。仮想鏡映空間810は、第1の参加者802の仮想鏡映像812、第2の参加者の仮想鏡映像814、長方形の物体808に対応する仮想鏡映の長方形の物体816、および第1の参加者802が作業空間内の台に置く本物のボール(図示せず)に対応する仮想鏡映ボール818を含む。
【0104】
[0113] また、環境100は、想定ミラーの前に立っている存在物を表す仮想実在空間820を作り出すことができる(ここでは反対に仮想鏡映空間810が想定ミラーに現れる鏡映像に対応する)。仮想実在空間820は、第1の参加者802の任意選択の仮想実在像822、第2の参加者の仮想実在像824、現実の長方形の物体808に対応する仮想実在の長方形の物体826、および第1の参加者802が作業空間内の台に置く本物のボール(図示せず)に対応する仮想実在のボール828を含む。別の構成では、環境100は、第1の参加者802に関連付けられた仮想実在像822を省略することができる。さらに、様々な仮想実在像は現実空間にある現実の存在物の完全なバージョンに対応することに留意されたい。ただし、環境100は、現実の存在物の部分的な表現を表す仮想実在像を表示することもでき、例えば想定ミラーから所定の距離内にある現実の存在物の部分だけを表示し、例えばこの例では第1および第2の参加者の腕と手だけを表示することができる。
【0105】
[0114] 全体として考えると、環境100は、仮想実在空間820および仮想鏡映空間810から構成される仮想空間830をもたらす。この仮想空間830は、項Aの例と比較して、ローカルの第1の参加者802により高い没入感をもたらすことができる。例えば、項Aの例のように、第1の参加者802は、第2の参加者の仮想鏡映像814の動きを見ることによって第2の参加者の行動を観察することができる。それに加えて、またはそれに代えて、
図8の実装では、第1の参加者802は、仮想実在像824の動きを見ることによって第2の参加者の行動を観察することもできる。すなわち、第1の参加者802は、頭をわずかに左に回転させて、第2の参加者が鏡の前でどのように振る舞っているかを観察するか、かつ/または想定ミラー自体を見ることにより観察することができる。
【0106】
[0115]
図8の作業空間は、すべての現実の状況設定において現実の作業空間の台に置かれたすべての物体を集約することができる。すなわち、仮想鏡映空間810は、想定ミラーの表面に見えているそれら物体の表現を含む。仮想実在空間820は、物理的な作業空間の台に置かれているこれらの物体の直接の表現を含む。
【0107】
[0116] さらに、どの参加者もどの空間にある仮想的な物体に作用することができることに留意されたい。例えば、項Aの例のように、参加者は、仮想鏡映空間810に現れる仮想鏡映物体に作用し続けることができる。それに加えて、またはそれに代えて、
図8の実装を使用すると、参加者は、仮想実在空間820に現れる仮想実在物体に作用することができる。参加者がこれらの仮想空間の一方に変化を起こすと、環境100は、対応する仮想空間にそれに対応する変化を生成することができる。例えば、ユーザが仮想鏡映空間810の中で仮想鏡映ボールを動かすと、環境100は、仮想実在空間820内で対応する仮想実在ボールの対応する動きを作り出すことができる。
【0108】
[0117]
図8の付加的な機能は各種方式で実装することができる。第1の方式では、環境100が、例えば
図3に示す実装または
図4に示す実装を使用して、上記の要領で仮想鏡映空間810を提供し続けることができる。すなわち、環境100は、(1)カメラ情報を取り込み、(2)カメラ情報を3D物体の集まりに変換し、(3)3D物体をまとめて3Dシーン情報にすることができる。3Dシーン情報のこの第1のインスタンスは、想定ミラーに映った鏡映像の視点から3D物体を投影する。
【0109】
[0118] ローカルの状況設定804(ローカルの第1の参加者802に関連付けられる)は、ミラー機能832を使用して3Dシーン情報の第1のインスタンスを提示することができる。例えば、ミラー機能832は、
図3または
図4で説明したミラー機能(314、402)、または何らかの他の実装を使用して実装することができる。ミラー機能832の表面は、想定ミラーの表面を定義し続ける。
【0110】
[0119] また、ローカルの状況設定804は、同じ3D物体を別の視点、すなわち仮想実在空間820内の仮想存在物の視点から投射することにより、3Dシーン情報の第2のインスタンスを作成することができる。言い換えると、この動作は、新しい3D物体を作成することは伴わず、既存の3D物体を新しい視点から投影して3Dシーン情報の別のインスタンスを作成するものである。
【0111】
[0120] そして、ローカルの状況設定804は、1つまたは複数の補助的な表示装置を使用して3Dシーン情報の第2のインスタンスを投影することができる。例えば、第1の参加者802の左にある第2の表示装置834が、例えば仮想実在像824を表示することにより、第1の参加者802の左に参加者の仮想的表現を提示することができる。第1の参加者802の右にある第3の表示装置836が、第1の参加者802の右側に参加者の仮想的表現を提示することができる(この例ではその方向には参加者はいない)。表示装置(834、836)は、LCD表示装置や立体表示装置等に相当することができる。
【0112】
[0121] 別の例では、立体プロジェクタ表示装置を第1の参加者802の上方に配置することができる。その装置で、第1の参加者802の左右の領域を含む第1の参加者802の周辺の領域に3Dシーンを投影することができる。第1の参加者802は、シャッター眼鏡または何らかの他の機構を使用して、生成された3Dシーンを見ることができる。仮想空間830の提示にはさらに他の方法が可能である。
【0113】
[0122] 環境100は、上記のようにして仮想的な物体の操作を実装することができる。すなわち、環境100は、追跡技術を使用して環境100の現実空間内にある物体の位置を判定することができる。環境100は、その知識を使用して、参加者が任意の形で仮想的な物体の操作を試みるとそれを正確に判定することができる。
【0114】
[0123] 第2の実装では、環境100は、単一の表示装置を使用して仮想空間830のすべての態様を提示することができる。言い換えると、その単一の表示装置で、仮想鏡映空間810に関連付けられたすべての存在物および仮想実在空間820に関連付けられたすべての存在物を含む、仮想空間830に関連付けられた完全なシーンを提示する。単一の表示装置は、LCDディスプレイ、立体ディスプレイ、立体プロジェクタ等に相当することができる。環境100はその3Dシーンをどの視点から提示することもできる。例えば、
図8の描写では、表示装置は、仮想実在参加者の背後にある疑似的なカメラ位置から3Dシーンを提示している。さらに、環境100は、各ローカルの参加者が、遠隔没入セッション中に3Dシーンが提示される視点、および3Dシーンに含める物体の種類を動的に選択できるようにしてもよい。
【0115】
[0124] この単一ディスプレイの実装では、ローカルの参加者はそれぞれ、自分が参加者の一人である没入型セッションの「外側」にいる観察者として振る舞う。単一の表示装置は、想定ミラーの表面を描写することができる。ただし、表示装置自体の表面は、その想定ミラーの表面には対応しなくなる可能性がある。これは、各参加者がセッションをセッションの「内側」から観察し、ミラー機能832の表面が想定ミラーの表面を定義する、最初に述べた実装と対照的である。
【0116】
[0125] 第3の実装では、環境100は、
図4に示す構成を使用して、例えば単一の表示装置を使用して、仮想鏡映空間810内に像を提示することができる。また、その同じ表示装置が、仮想実在空間820内の像の少なくとも一部を提示することができる。例えば、実際の第1の参加者802の視点を考えられたい。第1の参加者802は仮想鏡映空間810にあるすべての像を見ることができる。また、第2の参加者の(仮想実在像824の)少なくとも仮想実在の前腕(仮想鏡映長方形の物体816を指さしている)と、仮想実在ボール828も見ることができる。任意選択の構成の1つでは、第1の参加者802は自分自身の仮想実在の前腕(仮想実在像822の一部)と、仮想実在長方形の物体826も見ることができる。言い換えると、表示装置は、鏡映像と、ミラー面の前に現れるシーンの少なくとも一部との両方を捉える。表示装置は、LCDディスプレイ、立体ディスプレイ、立体プロジェクタ等、上記の任意の方式で実装することができる。立体ディスプレイ機構は、観察者がミラー面の前に見える物体と仮想鏡映物体とを区別しやすくするため、この実施形態では特に効果的である可能性がある。
【0117】
[0126]
図8に関して述べた概念のさらに他の実装が可能である。
D.例示的プロセス
【0118】
[0127]
図9は、
図5のローカル処理システム500の「視点」から上記の環境の動作の一方式を説明する手順900を示す。ローカル処理システム500の動作の基礎となる原理についてはすでに項Aで説明したので、この項では特定の動作は要約して述べる。
【0119】
[0128] ブロック902で、ローカル処理システム500がローカルの撮影機能(310、414)からローカルのカメラ情報を受け取る。この情報は、遠隔没入型セッションのローカルの参加者の見え方、およびローカルの状況設定の現実空間にある他の物体を表す。
【0120】
[0129] ブロック904で、ローカル処理システム500がローカルのカメラ情報に基づいて3D物体情報を生成する。この動作は、奥行き情報を使用してローカルの状況設定の現実空間にある各物体の3Dメッシュを生成し、次いでビデオ情報をテクスチャとしてその3Dメッシュに適用することを伴う場合がある。
【0121】
[0130] ブロック906で、ローカル処理システム500が、ローカルの入力情報を、それぞれのリモートの状況設定に備わるリモートの処理システムそれぞれに転送する。ローカルの入力情報は、未処理のローカルのカメラ情報(ブロック902で受け取られる)および/または処理済みの3D物体情報(ブロック904で得られる)等、ローカル処理システム500によって識別された物体に関する情報を含むことができる。
【0122】
[0131] ブロック908で、ローカル処理システム500が、各リモートの状況設定のリモートの処理システムそれぞれからリモートの入力情報を受け取る。ローカルの入力情報と同様に、リモートの入力情報は、未処理のリモートのカメラ情報および/または処理済みのリモートの3D物体情報等、リモートの処理システムによって識別された物体に関する情報に対応することができる。
【0123】
[0132] ブロック910で、ローカル処理システム500は、ローカルの3D物体情報およびリモートの入力情報に基づいて3Dシーン情報を作成することができる。この作成動作は、個別の3D物体を共通の座標空間に投影し、3Dシーンの様々な部分に適切な拡大縮小処理を行うことを含むことができる。この作成動作は、書き込み情報、取り出された文書、制御機能等の補助情報を3Dシーンに組み込むことも含む場合がある。
【0124】
[0133] ブロック912で、ローカル処理システム500が、例えば
図3のミラー機能314(物理的な半透明ミラー316を使用する)、または
図4のミラー機能402(物理的な半透明ミラーを使用しない)を使用して、3Dシーン情報をローカルのミラー機能に提供する。ミラー機能(314、402)は、参加者が物理的に同じ場所にいて鏡を見ているかのように、参加者のうち少なくとも一部の参加者を示す3次元の仮想空間を作成する。
【0125】
[0134] 別の実装では、ブロック910は、
図8の仮想実在空間820にある仮想実在物体を表す3Dシーン情報の別のインスタンスを生成することを伴う場合もある。ブロック912は、その3Dシーン情報の第2のインスタンスを項Dで説明した要領で提示することを伴う場合がある。
E.代表的なコンピューティング機能
【0126】
[0135]
図10は、上記機能の任意の態様を実装するために使用できる例示的なコンピューティング機能1000を示す。例えば、コンピューティング機能1000を使用して、各ローカルの状況設定によって提供される各ローカル処理システム500の任意の態様を実装することができる。一例では、コンピューティング機能1000は、1つまたは複数の処理装置を含む任意種類のコンピューティング装置に相当する。すべての場合に、コンピューティング機能1000は、1つまたは複数の物理的な有形の処理機構を表す。
【0127】
[0136] コンピューティング機能1000は、RAM1002およびROM1004、ならびに1つまたは複数の処理装置1006(例えば1つまたは複数のCPUおよび/または1つまたは複数のGPU等)等の揮発性および不揮発性メモリを含むことができる。コンピューティング機能1000は、任意選択により、ハードディスクモジュール、光ディスクモジュール等の各種媒体装置1008も含む。コンピューティング機能1000は、処理装置1006がメモリ(例えばRAM1002、ROM1004、またはその他)に保持されている命令を実行すると、上記の各種動作を行うことができる。
【0128】
[0137] より一般的には、命令および他の情報は、これらに限定されないが、静的メモリ記憶装置、磁気記憶装置、光学記憶装置等を含む、任意のコンピュータ読取り可能媒体1010に記憶することができる。用語「コンピュータ読取り可能媒体」は複数の記憶装置も包含する。多くの場合、コンピュータ読取り可能媒体1010は、何らかの形態の物理的かつ有形の存在物を表す。用語「コンピュータ読取り可能媒体」は、伝搬信号、例えば物理的な経路および/または空気もしくは他の無線媒体を介して送信または受信される信号等も包含する。ただし、特定の用語「コンピュータ読取り可能記憶媒体」および「コンピュータ読取り可能媒体装置」は伝搬信号は本質的に明確に除外し、一方、すべての他の形態のコンピュータ読取り可能媒体を含む。
【0129】
[0138] コンピューティング機能1000は、(入力装置1014を介して)各種入力を受け取り、(出力装置を介して)各種出力を提供する入出力モジュール1012も含む。例示的な入力装置には、キーボード装置、マウス入力装置、タッチ画面入力装置、ジェスチャ入力装置、音声認識機構、撮影機構、追跡機構等がある。特定の出力機構の1つは、提示装置1016を含むことができ、この装置は上記のミラー機能(314、402)の一構成要素に相当することができる。コンピューティング機能1000は、1つまたは複数の通信経路1022を介して他の装置(例えば他の状況設定に備えられる)とデータを交換するための1つまたは複数のネットワークインターフェース1020も含むことができる。1つまたは複数の通信バス1024が上記の構成要素同士を通信的に結合する。
【0130】
[0139] 通信経路1022は、ローカルエリアネットワーク、ワイドエリアネットワーク(例えばインターネット)等、またはそれらの組み合わせにより、任意の方式で実装することができる。通信経路1022は、任意のプロトコルまたはプロトコルの組み合わせによって制御される、配線リンク、ワイヤレスリンク、ルータ、ゲートウェイ機能、ネームサーバ等の組み合わせを含むことができる。
【0131】
[0140] それに代えて、またはそれに加えて、先行する項で説明した機能はいずれも、少なくとも部分的に、1つまたは複数のハードウェア論理構成要素によって行うこともできる。例えば、限定ではないが、コンピューティング機能は、利用者書き換え可能ゲートアレイ(FPGA)、特定用途集積回路(ASIC)、特定用途標準製品(ASSP)、システムオンチップシステム(SOC)、複雑プログラム可能論理デバイス(CPLD)等、の1つまたは複数を使用して実装することができる。
【0132】
[0141] 最後に、本明細書の説明は、例示的な課題や問題の文脈で各種概念を説明した箇所がある。そのような説明は、他の者が本明細書に述べられているように課題や問題を認識および/または特定したと認めるものではない。さらに、クレームに記載の主題は、取り上げた課題/問題のいずれかまたはすべてを解決する実装に制限されない。
【0133】
[0142] 主題は、構造的特徴および/または方法論的動作に固有の文言で説明したが、添付の特許請求の範囲に定義される主題は必ずしも上記の特定の特徴または動作に限定されないことを理解されたい。むしろ、上記の特定の特徴または動作は、特許請求の範囲を実施する例示的形態として開示される。