(57)【要約】  三次元環境操作のためのシステムおよび方法を開示する。ベクトル外挿器は、入力を三次元空間に外挿して、三次元ベクトル外挿を構築するよう構成されている。パースペクティブロケータは、三次元ベクトル外挿に基づいてビューイングパースペクティブを再配置するよう構成されている。【選択図】図１０
2014511534.tif 000002
【特許請求の範囲】
【請求項１】
第１入力を受信するユーザインタフェースと、
第１入力を三次元空間に外挿して、第１三次元ベクトル外挿を提供するベクトル外挿器と、
第１三次元ベクトル外挿に基づいて計算した第２三次元ベクトル外挿に基づいてビューイングパースペクティブを再配置するパースペクティブロケータと、
を含む多入力三次元環境装置。
【請求項２】
ユーザインタフェースが、タッチセンサー式画面を含む、請求項１に記載の多入力三次元環境装置。
【請求項３】
第１入力が、タッチを含む、請求項１に記載の多入力三次元環境装置。
【請求項４】
ベクトル外挿器が、第１入力の位置がユーザインタフェース上で移動する際に、三次元空間における第１点をユーザインタフェース上の第１入力の位置の下方に保つ仮想カメラの視錐台を決定する、請求項１に記載の多入力三次元環境装置。
【請求項５】
ベクトル外挿器が、第２入力位置を三次元空間に外装して、第２三次元ベクトル外挿を提供する、請求項１に記載の多入力三次元環境装置。
【請求項６】
パースペクティブロケータが、第２三次元ベクトル外挿に基づいて三次元仮想環境を操作する、請求項５に記載の多入力三次元環境装置。
【請求項７】
入力を三次元空間に外挿して、三次元ベクトル外挿を提供するよう動作可能なベクトル外挿器と、
三次元ベクトル外挿に基づいてビューイングパースペクティブを再配置するよう動作可能なパースペクティブロケータと、
を含む三次元環境操作システム。
【請求項８】
入力を受信するよう動作可能なインタフェースをさらに含む、請求項７に記載のシステム。
【請求項９】
インタフェースが、タッチセンサー式画面、マウスおよびジェスチャに基づく装置からなる群から選択される少なくとも１つのインタフェースを含む、請求項８に記載のシステム。
【請求項１０】
入力が、タッチを含む、請求項７に記載のシステム。
【請求項１１】
ベクトル外挿器が、入力の位置がインタフェース上で移動する際に、仮想タッチ点をインタフェース上の入力の位置の下方に保つための仮想カメラの視錐台を決定するようさらに動作可能である、請求項７に記載のシステム。
【請求項１２】
視錐台が、仮想カメラの仮想方向および仮想カメラの仮想位置からなる群から選択される少なくとも１つの特徴を含む、請求項１１に記載のシステム。
【請求項１３】
パースペクティブロケータが、三次元ベクトル外挿に基づいて三次元仮想環境を操作するようさらに動作可能である、請求項７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、一般に、視聴システムおよび方法に関する。より詳細には、本開示の実施形態は、双方向視聴システムおよび方法に関する。
【背景技術】
【０００２】
軍用の地図作製、ビデオゲームおよびコンピュータゲーム、医用可視化ならびにユーザインタフェースといった数多くの用途分野は、三次元（３‐Ｄ）環境を利用している。一般に、三次元環境は、立体物、オブジェクトの集合、領域または空間の単眼視野または立体透視図をもたらす。
【発明の概要】
【０００３】
三次元環境の操作のためのシステムおよび方法を開示する。ベクトル外挿器は、入力を三次元空間に外挿して、三次元ベクトル外挿を提供する。パースペクティブロケータは、三次元ベクトル外挿に基づいてビューイングパースペクティブを再配置する。
【０００４】
ある実施形態において、多入力三次元環境ナビゲーションのための方法は、第１入力を三次元空間に外挿して、第１三次元ベクトル外挿を提供する。該方法は、第１三次元外挿に基づいて計算された第２三次元ベクトル外挿に基づいてビューイングパースペクティブをさらに再配置する。該方法は、ユーザインタフェース上で第１入力を受信することをさらに含んでもよい。また、該方法の第１入力は、タッチを含んでもよい。該方法はまた、第１入力の位置がユーザインタフェース上で移動する際に、三次元空間における第１点をユーザインタフェース上の第１入力の位置の下方に保つための仮想カメラの視錐台を決定することをさらに含んでもよい。該方法はまた、ユーザインタフェース上の第２入力位置へのユーザインタフェース上の第１入力の第１位置の再配置を受信することをさらに含んでもよい。該方法は、第２入力位置を三次元空間に外挿して、第２三次元ベクトル外挿を提供することをさらに含んでもよい。該方法は、第２三次元ベクトル外挿に基づいて三次元仮想構造を操作することをさらに含んでもよい。
【０００５】
別の実施形態において、多入力三次元環境装置は、第１入力を受信するインタフェースを含む。該装置は、第１入力を第１三次元空間に外挿して、三次元ベクトル外挿を提供するベクトル外挿器をさらに含む。該装置はまた、第１三次元ベクトル外挿に基づいて計算された第２三次元ベクトル外挿に基づいてビューイングパースペクティブを再配置するパースペクティブロケータを含む。
【０００６】
さらに別の実施形態において、三次元環境操作システムは、入力を三次元空間に外挿して、三次元ベクトル外挿を提供するよう動作可能なベクトル外挿器を含む。該システムは、三次元ベクトル外挿に基づいてビューイングパースペクティブを再配置するよう動作可能なパースペクティブロケータをさらに含む。
【０００７】
本概要は、詳細な説明において下でさらに説明する一通りの概念を簡潔に紹介するために提供する。本概要は、請求される主題の鍵となる特徴または本質的な特徴を特定するよう意図されても、請求される主題の範囲の決定の助けとして用いるよう意図されてもいない。
【図面の簡単な説明】
【０００８】
本開示の実施形態のより完全な理解は、複数の図面を通して同様の参照番号が同様の構成要素を指す以下の図とともに考慮されると、詳細な説明および請求項に言及することにより導き出すことができる。図は、本開示の広さ、範囲、規模または適用可能性を限定することなく本開示の理解を促進するために提供している。図面は、必ずしも一定の尺度では作成していない。
【図１】図１は、第１の場所における二次元環境ナビゲーションの一例を示している。
【図２】図２は、マルチタッチのピンチジェスチャを用いて拡大されたビューを示す第２の場所における図１の二次元環境ナビゲーションの一例を示している。
【図３】図３は、本開示のある実施形態に係る第１の場所における三次元環境ナビゲーションの一例を示している。
【図４】図４は、本開示のある実施形態に係る第２の場所における図３の三次元環境ナビゲーションの一例を示している。
【図５】図５は、本開示のある実施形態に係る第１の場所における三次元環境ナビゲーションの一例を示している。
【図６】図６は、本開示のある実施形態に係る第２の場所における図５の三次元環境ナビゲーションの一例を示している。
【図７】図７は、本開示のある実施形態に係るマルチタッチの三次元環境ナビゲーションシステムの機能ブロック図の一例を示している。
【図８】図８は、本開示のある実施形態に係るマルチタッチの三次元環境ナビゲーションプロセスを示すフローチャートの一例を示している。
【図９】図９は、本開示のある実施形態に係る三次元環境における２点マルチタッチの一例を示している。
【図１０】図１０は、本開示のある実施形態に係る三次元環境におけるマルチタッチのインタフェースからの２点ベクトル外挿の一例を示している。
【図１１】図１１は、本開示のある実施形態に係るマルチタッチのインタフェース上の新たな位置への２点タッチ位置変更の一例を示している。
【図１２】図１２は、本開示のある実施形態に係る図１１の新たな位置からの２点ベクトル外挿の一例を示している。
【発明を実施するための形態】
【０００９】
以下の詳細な説明は、本来は例示的なものであり、本開示または本開示の実施形態の用途および使用を限定するよう意図されてはいない。特定の装置、技法および用途の説明は、例としてのみ提供している。ここに説明する実施例に対する修正は、当業者にとって容易に明らかとなるであろうし、ここに規定する一般的原理は、本開示の精神および範囲から逸脱することなく他の実施例および用途に適用可能である。本開示は、請求項と一致した範囲を与えられるべきであり、ここに説明され示される実施例に限定されるべきではない。
【００１０】
本開示の実施形態は、機能的かつ／または論理的なブロック構成要素およびさまざまな処理工程の観点からここに説明可能である。そのようなブロック構成要素は、規定の機能を実行するよう構成されたあらゆる数のハードウェア、ソフトウェアおよび／またはファームウェア構成要素により実現可能であることは理解されたい。簡潔にするために、三次元ソフトウェアシミュレーション、タッチセンサー式画面、撮像技法、仮想カメラ位置の演算処理、三次元モデル生成、人間と機械の相互作用、および、システム（と該システムの個々の動作構成要素）のその他の機能的側面に関する従来の技法ならびに構成要素は、ここでは詳細に説明しないことがある。これに加えて、当業者は、本開示の実施形態がさまざまなハードウェアおよびソフトウェアとともに実施可能であること、ならびに、ここに説明する実施形態が本開示の単なる実施形態の例に過ぎないことを理解するであろう。
【００１１】
本開示の実施形態は、実用的かつ非限定的な用途、すなわち、景観シミュレーションに関連してここに説明する。ただし、本開示の実施形態は、そのような景観シミュレーション用途に限定されず、ここに説明する技法はまた、その他の用途においても利用可能である。例えば限定はされないが、実施形態は、戦闘情報センター、水中ナビゲーション、建築、鉱山および石油工学、電子ゲーム、科学的可視化、ユーザインタフェース、アーキテクチャモデルとの対話、コンピュータ支援製図システムまたは三次元モデルとして表されるあらゆる環境などに適用可能であってもよい。そのうえ、本開示の実施形態は、例えば限定はされないが、地上地形、建物、草木およびその他の物理的構造物を含む仮想訓練設備を通じての航行に適用可能である。
【００１２】
本説明を読んだ後で当業者にとって明らかとなるであろうように、以下は、本開示の実施例および実施形態であり、かつ、これら実施例にしたがって動作することに限定はされない。本開示の例示的実施形態の範囲を逸脱することなく、他の実施形態が利用可能であり、かつ、構造的変更が可能である。
【００１３】
本開示の実施形態は、マルチタッチインタフェースを用いて三次元環境内を航行する直感的な手法を提供する。所望の「感覚」とは、表示されている三次元モデルと対話する人物が、まるで目にしている実際のモデルを操作しているかのように感じることである。これは、三次元モデルおよびマルチタッチ表面上の物理的タッチ点を用いて、三次元モデル上の元の位置／点を求めることにより達成される。三次元モデル上の元の位置／点は、タッチ点（例えば、図１０における二次元タッチ点ＡおよびＢ）が、元々交差していた点（例えば、図１０における仮想タッチ点Ｐ０およびＰ１）において交差する場所である。次いで、タッチ点がマルチタッチ表面上であちこちにドラッグされる際、三次元モデルは、元々交差していた点をこれらタッチ点の下に保つよう操作される。このようにして、三次元環境のビューは、下でより詳細に説明するように、各指／入力の下の三次元モデル上の元の位置／点が、マルチタッチ表面上で移動させられる際にその指／入力の下にとどまるように操作される。
【００１４】
既存の解決法とは対照的に、本開示の実施形態の重要な部分は、三次元モデルおよびタッチ点をともに用いて、三次元モデルのビューを操作する手法である。三次元モデルのビューは、操作者の指／入力の下の三次元モデル上にタッチされる元の位置が、マルチタッチ表面上で移動させられる際にその指／入力の下にとどまるように操作される。既存の解決法は、ビューを操作するための制約として実際の三次元環境を用いずに、マルチタッチ対話に応答してビューの相対的移動を行うことにより三次元モデルのビューを操作してもよい。一例として、マルチタッチ表面上で左から右へ動かし、タッチ移動の各インチに対して１度ずつビューを回転させることが挙げられる。
【００１５】
マルチタッチ表面に対する既存の解決法は、二次元（２‐Ｄ）環境内でのナビゲーションを可能とする。対照的に、本開示の実施形態は、三次元仮想環境における使用のために二次元ナビゲーションジェスチャを拡張する。このようにして、マルチタッチ表面上で１本および／または多指／多入力直感的ジェスチャの組を用いることにより、操作者／利用者は、既存の解決法により提供される二次元環境内よりむしろ三次元仮想環境内で航行することができる。利用者がマルチタッチ表面上のある点をタッチすると、本開示のある実施形態に係るシステムは、三次元仮想環境のコンテンツを用いて、三次元仮想環境内において利用者がタッチしている三次元仮想空間内の三次元位置を求める。三次元仮想空間におけるこれらの三次元位置（三次元の点）を用いて、システムは、利用者のタッチ／ジェスチャを、平行移動、回転およびズームナビゲーションに変換することにより、これら三次元位置と関連付けながらシーンを航行する。例えば、１本の指によるパンは、タッチされている三次元の点が常に指／入力装置の下にとどまるように、三次元仮想環境を変換することとなる。本文献において、タッチ点および位置は、置き換えて用いてもよい。
【００１６】
図１は、第１の場所における二次元環境ナビゲーション１００の一例を示している。表示部１１０（例えば、マルチタッチインタフェース）は、地図１０２を含む。第１タッチは、第１タッチ点１０４上で行われ、第２タッチは、第２タッチ点１０８上で行われる。起動インジケータ１０６は、第１タッチ点１０４と第２タッチ点１０８との両方の存在を示し、これにより、二次元地図ナビゲーションモードを起動する。二次元地図ナビゲーションモードにおいて、第１タッチ点１０４および第２タッチ点１０８の少なくとも一方を用いて、地図１０２を操作することができる。第１タッチ点１０４および第２タッチ点１０８はまた、ピンチジェスチャにおいて用いて、第１タッチ点１０４および第２タッチ点１０８を共通の中心点へ向かって、または、該中心点から離間して移動させることができる。平行移動には１回のタッチが必要であり、従来の場合の２回のタッチはピンチジェスチャであり、これが、第１タッチ点１０４および第２タッチ点１０８が共通の中心点へ向かって、または、該中心点から離間していくことを大まかに暗示もする。
【００１７】
マルチタッチインタフェースは、画像がレンダリングされる表面と、物理的なタッチを感知することができる装置とを含む。レンダリング表面は、散光表面上に画像を投射するプロジェクタ、または、液晶表示装置（ＬＣＤ）もしくはプラズマモニタなどの非投射型表示システムにより実施可能である。物理的なタッチを感知することができる装置は、例えば限定はされないが、カメラによるシステム、容量タッチスクリーン、または、撮像表面上の物理的なタッチ／入力の物理的位置を感知可能なその他の技術を含んでもよい。
【００１８】
図２は、拡大されたビューを示す第２の場所２００における図１の二次元環境ナビゲーション１００の一例を示している。表示部２１０は、ズームされた地図のビュー２０２において図１の地図１０２を含む。第１タッチ点１０４から第１の移動したタッチ点２０４へ第１タッチを移動させ、かつ、第２タッチ点１０８から第２の移動したタッチ点２０８へ第２タッチを移動させることにより、ズームされた地図のビュー２０２に対して比例的にズームを行う。ズームされた地図のビュー２０２の操作は、第１タッチまたは第２タッチのいずれかが解放されるまで続けてもよい。
【００１９】
三次元環境は、三次元の物理的空間の仮想表現である。三次元環境は、概して、三次元空間内に位置する多角形として表現される。これらの多角形は、建物よび地球地形といった対象物を近似するよう配置されており、かつ、コンピュータの表示部上にレンダリングされる際に臨場感を持たせて見えるよう概して色および質感が付されている。
【００２０】
三次元環境のビューは、三次元環境がレンダリングされる三次元環境内に設置された仮想カメラの場所、向きおよび錐台（視錐台）を含む。レンダリングは、プロジェクタまたはコンピュータ画面といった二次元表面上の表示部に適した二次元平面に三次元環境を対応付ける。ビューの錐台は、シーン（例えば、地図）がレンダリングされる正投影または透視投影である。この透視投影は、仮想カメラの視野またはズームとして概念化可能である。錐台はまた、仮想立体と交差する２つの平行な平面間に存在する仮想立体（例えば、円錐または角錐）のある部分でもある。錐台は、表示画面上で見える三次元領域を記述するためにコンピュータグラフィックスにおいて一般に用いられる。
【００２１】
図３は、本開示のある実施形態に係る第１の場所における三次元環境ナビゲーション３００の一例を示している。表示部３１０（例えば、マルチタッチインタフェース）は、地図３０２を含む。第１タッチは、第１タッチ点３０４上で行われ、第２タッチは、第２タッチ点３０８上で行われる。起動インジケータ３０６は、第１タッチ点３０４と第２タッチ点３０８との両方の存在を示し、これにより、地図三次元操作モードを起動する。地図三次元操作モードにおいて、第１タッチ点３０４および第２タッチ点３０８は、三次元で地図３０２を操作するために用いられる。操作は、例えば限定はされないが、三次元回転、三次元平行移動、三次元サイズ変更などを含んでもよい。
【００２２】
本実施例における地図３０２は、単純かつ平坦な矩形であるので、操作は、地図３０２を地図３０２の表面と同じ平面に保つ。本実施例では地図３０２が操作対象物として用いられているが、限定はされないがコンピュータ支援設計（ＣＡＤ）オブジェクト、ゲーム環境、数学的構造、模擬自然環境などといったあらゆる視対象を操作対象物として用いてもよい。
【００２３】
図４は、本開示のある実施形態に係る第２の場所４００における三次元環境ナビゲーション３００の一例を示している。表示部４１０は、操作されたビュー４０２において地図３０２（図３）を含む。第１タッチ点３０４から第１の移動したタッチ点４０４へ第１タッチを移動させ、かつ、第２タッチ点３０８から第２の移動したタッチ点４０８へ第２タッチを移動させることにより、操作対象物（地図３０２）のビューに対して操作を行い、これにより操作されたビュー４０２を生成する。起動インジケータ４０６は、第１の移動したタッチ点４０４と第２の移動したタッチ点４０８との両方の存在を示す。操作されたビュー４０２は、例えば限定はされないが、地図３０２の三次元回転、三次元平行移動、三次元サイズ変更などを含む。操作されたビュー４０２の操作は、第１タッチまたは第２タッチのいずれかが解放されるまで続けてもよい。
【００２４】
図５は、本開示のある実施形態に係る第１の場所における三次元環境ナビゲーション５００の一例を示している。表示部５１０は、地図５０２を含む。第１タッチは、第１タッチ点５０４上で行われ、第２タッチは、第２タッチ点５０８上で行われる。起動インジケータ５０６は、第１タッチ点５０４と第２タッチ点５０８との両方の存在を示し、これにより、地図三次元操作モードを起動する。地図三次元操作モードにおいて、第１タッチ点５０４および第２タッチ点５０８は、三次元で地図５０２を操作するために用いることができる。操作は、例えば限定はされないが、三次元回転、三次元平行移動、三次元サイズ変更などを含んでもよい。
【００２５】
図６は、本開示のある実施形態に係る第２の場所６００における図５の三次元環境ナビゲーションの一例を示している。表示部６１０は、操作されたビュー６０２において地図５０２を含む。第１タッチ点５０４から第１の移動したタッチ点６０４へ第１タッチを移動させ、かつ、第２タッチ点５０８から第２の移動したタッチ点６０８へ第２タッチを移動させることにより、操作されたビュー６０２に対して操作を行う。操作されたビュー６０２は、地図５０２の三次元回転、三次元平行移動および三次元サイズ変更を含む。操作されたビュー６０２の操作は、第１タッチまたは第２タッチのいずれかが解放されるまで続けてもよい。操作後、利用者の指／入力の下の三次元モデル上の位置は、利用者の指／入力の下にとどまる。このようにして、図８の説明に関連して下でより詳細に説明するように、三次元仮想環境における使用のために二次元ナビゲーションジェスチャが拡張される。
【００２６】
図７は、本開示のある実施形態に係るマルチタッチ三次元環境ナビゲーションシステム７００（システム７００）の一例を示している。システム７００は、１本指および／または多指直感的ジェスチャの組を用いることにより、操作者／利用者が三次元でシーン内を航行することができる。
【００２７】
システム７００は、例えば限定はされないが、デスクトップ、ラップトップ型またはノート型コンピュータ、携帯型コンピュータデバイス（ＰＤＡ、携帯電話、パームトップ機など）、メインフレーム、サーバー、クライアント、または、所与の用途または環境に望ましいか適切である可能性のあるあらゆる種類の他の特殊用途もしくは汎用コンピュータデバイスを含んでもよい。システム７００は一般に、プロセッサ７０２と、メモリ７０４と、データベース７０６と、ベクトル外挿器７０８と、パースペクティブロケータ７１０と、インタフェース７１２とを含む。これらの構成要素は、ネットワークバス７１６を介して互いに結合され、かつ、通信してもよい。
【００２８】
プロセッサ７０２は、システム７００の動作に関連付けられた機能、技法および処理タスクを実行するよう構成されている処理論理を含む。特に、処理論理は、ここに説明するシステム７００をサポートするよう構成されている。例えば、プロセッサ７０２は、インタフェース７１２、ベクトル外挿器７０８およびパースペクティブロケータ７１０を制御して、図８の説明に関連して下でより詳細に説明するように、三次元仮想環境における使用のためにインタフェース７１２により受信した二次元ナビゲーションジェスチャ／入力を拡張する。
【００２９】
プロセッサ７０２はまた、データベース７０６に保存されているデータにアクセスして、システム７００の機能をサポートする。このようにして、プロセッサ７０２は、１本指のパン／入力を可能とすることにより、タッチ／起動されている三次元の点が常に指／入力の下にとどまるように三次元環境を変換する。データは、例えば限定はされないが、タッチされているオブジェクトの座標、現在の仮想カメラ位置、仮想カメラベクトル外挿情報、三次元多角形の場所、三次元多角形がともに接続されている様子、画像質感データ、質感メタデータ、三次元環境内に表示されている地形表現（例えば、建物、木々、地面、地図）などを含んでもよい。
【００３０】
プロセッサ７０２は、ここに説明する機能を行うよう設計された汎用プロセッサ、連想記憶装置、デジタルシグナルプロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、あらゆる適切なプログラマブル論理装置、個別ゲートもしくはトランジスタ論理、個別ハードウェア部品、または、それらのあらゆる組み合わせにより実施または実現可能である。このようにして、プロセッサは、マイクロプロセッサ、コントローラ、マイクロコントローラ、状態機械などとして実現してもよい。プロセッサはまた、コンピュータデバイスの組み合わせ、例えば、デジタルシグナルプロセッサとマイクロプロセッサ、複数のマイクロプロセッサ、デジタルシグナルプロセッサコアとともに１つ以上のマイクロプロセッサの組み合わせまたはその他あらゆるそのような構成として実施してもよい。
【００３１】
メモリ７０４は、システム７００の動作をサポートするようフォーマットされたメモリを有するデータ記憶領域であってもよい。メモリ７０４は、下で説明するような手法でシステム７００の機能性をサポートするために必要に応じてデータを保存、維持および提供するよう構成されている。実用的な実施形態において、メモリ７０４は、例えば限定はされないが、不揮発性記憶装置（不揮発性半導体メモリ、ハードディスク装置、光ディスク装置など）、ランダムアクセス記憶装置（例えば、ＳＲＡＭ、ＤＲＡＭ）または当該技術において知られているその他あらゆる形態の記憶媒体を含んでもよい。
【００３２】
メモリ７０４は、プロセッサ７０２に結合され、かつ、例えば限定はされないが、データベース７０６などを保存するよう構成されていてもよい。また、メモリ７０４は、データベース７０６などを更新するための表を含む動的更新データベースを表していてもよい。メモリ７０４はまた、プロセッサ７０２により実行されるコンピュータプログラム、オペレーティングシステム、アプリケーションプログラム、プログラムの実行に用いられる仮のデータなどを保存してもよい。メモリ７０４は、プロセッサ７０２がメモリ７０４から情報を読み取り、かつ、メモリ７０４へ情報を書き込むことができるように、プロセッサ７０２に結合されていてもよい。一例として、プロセッサ７０２およびメモリ７０４は、それぞれ特定用途向け集積回路（ＡＳＩＣ）内にあってもよい。メモリ７０４はまた、プロセッサ７０２に組み込まれていてもよい。ある実施形態において、メモリ７０４は、プロセッサ７０２により実行されることとなる命令の実行中に一時的変数またはその他の中間情報を保存するためのキャッシュメモリを含んでもよい。メモリ７０４は、データベース７０６を含む。
【００３３】
データベース７０６は、例えば限定はされないが、階層型データベース、地形データベース、ネットワークデータベース、リレーショナルデータベース、オブジェクト指向データベースなどを含んでもよい。データベース７０６は、例えば限定はされないが、システム７００において用いてもよい座標、アルゴリズム、方法論などを保存するよう動作可能である。データベース７０６は、さまざまに用いてもよく、例えば限定はされないが、利用者がどこで地形領域にタッチしたかを求める地形データベースなどとともに交差試験を行うために、現在の仮想カメラ位置および仮想カメラベクトル外挿情報をベクトルとして用いてもよい。
【００３４】
ベクトル外挿器７０８は、下でより詳細に説明するように、タッチを三次元空間に外挿して、三次元ベクトル外挿を提供する。
【００３５】
パースペクティブロケータ７１０は、下でより詳細に説明するように、三次元ベクトル外挿に基づいてビューイングパースペクティブを再配置する。
【００３６】
インタフェース７１２（ユーザインタフェース）は、システム７００の操作者／利用者と通信する。インタフェース７１２はまた、インターネットウェブページインタフェースを提供してもよい。インタフェース７１２は、下でより詳細に説明するように、例えば限定はされないが、地図に対するインタフェース、三次元環境に対するインタフェースなどを含んでもよい。
【００３７】
インタフェース７１２は、タッチセンサー式画面７１４などのマルチタッチ表面をさらに含んでもよい。利用者がタッチセンサー式画面７１４上の二次元の点にタッチすると、システム７００は、三次元仮想環境のコンテンツを用いて、三次元仮想環境内において利用者がタッチしている三次元仮想空間内の三次元位置を求める。三次元仮想空間におけるこれらの三次元位置（三次元の点）を用いて、システム７００は、利用者のタッチ／ジェスチャを、平行移動、回転およびズームナビゲーションに変換することにより、これら三次元位置と関連付けながらシーンを航行する。例えば、上で触れたように、１本の指によるパンは、タッチセンサー式画面７１４上でタッチされている三次元の点が常にタッチ／入力位置の下にとどまるように、三次元仮想環境を変換することとなる。
【００３８】
タッチセンサー式画面７１４は、例えば限定はされないが、プラズマディスプレイパネル（ＰＤＰ）、液晶ディスプレイ（ＬＣＤ）、反射型液晶素子（ＬＣＯＳ）ディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、強誘電性ＬＣＤディスプレイ、電界放出ディスプレイ（ＦＥＤ）、電子発光ディスプレイ（ＥＬＤ）、前方ベクトル外挿ディスプレイ、後方ベクトル外挿ディスプレイ、および、デジタルマイクロミラーデバイス（ＤＭＤ）ディスプレイまたは回折格子ライトバルブ（ＧＬＶ）ディスプレイといった微小電気機械装置（ＭＥＭ）ディスプレイ、陰極線管（ＣＲＴ）などを含んでもよい。タッチセンサー式画面は、有機電子発光（ＯＥＬ）ディスプレイおよび有機発光ダイオード（ＯＬＥＤ）ディスプレイならびに発光ポリマーディスプレイなどといった有機ディスプレイ技術をさらに含んでもよい。
【００３９】
図８は、本開示のある実施形態に係るマルチタッチの／多入力三次元環境ナビゲーションプロセス８００を示すフローチャートの一例を示している。プロセス８００に関連して行われるさまざまなタスクは、機械的に、ソフトウェア、ハードウェア、ファームウェア、プロセスの方法を行うためのコンピュータ実行可能な命令を有するコンピュータ読み取り可能な媒体またはそれらのあらゆる組み合わせにより行われてもよい。プロセス８００は、あらゆる数の追加または代替のタスクを含んでもよいこと、図８に示しているタスクは、図示されている順序で行われる必要はないこと、および、プロセス８００は、ここで詳細には説明しない追加の機能性を有するより包括的な手順またはプロセスに組み込まれてもよいことは理解されたい。
【００４０】
例示目的で、プロセス８００の以下の説明は、図３〜図７と関連して上で触れた構成要素に言及することがある。実用的な実施形態において、プロセス８００の部分は、プロセッサ７０２、メモリ７０４、データベース７０６、ベクトル外挿器７０８、パースペクティブロケータ７１０、インタフェース７１２およびネットワークバス７１６といったシステム７００の種々の構成要素により行われてもよい。プロセス８００は、図３〜図７に示した実施形態と同様の機能、材料および構造物を有していてもよい。したがって、共通の特徴、機能および構成要素は、ここでは重複して説明しないことがある。
【００４１】
図９〜図１２と関連してプロセス８００を下で説明する。図９は、本開示のある実施形態に係る三次元環境９００における２点のマルチタッチの一例を示している。図１０は、本開示のある実施形態に係る三次元環境１０００におけるインタフェース７１２からの２点ベクトル外挿の一例を示している。図１１は、本開示のある実施形態に係るタッチセンサー式画面７１４上での２点タッチ位置ＡおよびＢのそれぞれ新たな位置ＸおよびＹへの変化の一例を示している。図１２は、本開示のある実施形態に係る図１１の新たな位置ＸおよびＹからの２点ベクトル外挿の一例を示している。
【００４２】
プロセス８００は、インタフェース７１２（ユーザインタフェース）上の第１タッチを受信することにより開始してもよい（タスク８０２）。例えば、図９に示したように、インタフェース７１２のタッチセンサー式画面７１４上にシーン９０２をレンダリングし、インタフェース７１２により各二次元タッチ点／位置ＡおよびＢといった第１タッチの二次元位置を取得する。プロセス８００は、２つの二次元タッチ点ＡおよびＢにおいて第１タッチを用いてシーン９０２の三次元ビューを操作するためのプロセスの一例であるが、プロセス８００はまた、１つ以上の二次元タッチ点において１つ以上のタッチを用いてシーン９０２のビューを操作するために用いることもできる。
【００４３】
タッチセンサー式画面７１４上のタッチを用いるが、インタフェース７１２は、タッチを受信することには限定されない。あるいは、例えば限定はされないが、（例えば、いくつかのオペレーティングシステムはポインタ入力を組み合わせて、単一のポインタを移動させることがあるので、２つのマウスの各々の位置を個々に読み取る適切なソフトウェアを有する）２つのマウス、ジェスチャに基づく装置の起動などといったあらゆる１つ以上の入力源を用いることにより、入力をインタフェース７１２へ送信してもよい。
【００４４】
プロセス８００は、ベクトル外挿器７０８が、二次元タッチ点ＡおよびＢにおける第１タッチ／入力を三次元環境（三次元空間）に外挿して、第１三次元ベクトル外挿を提供することにより継続してもよい（タスク８０４）。例えば、図１０に示すように、ビュー１００６（ビューイングパースペクティブ１００６）の場所、向きおよび錐台１００２を用いて、カメラ位置Ｃ０に基づいてビュー１００６をレンダリングし、かつ、二次元タッチ点ＡおよびＢをシーン９０２に外挿する。このようにして、二次元タッチ点ＡおよびＢをシーン９０２に外挿して、錐台１００２の境界上にベクトルＶ０およびＶ１を含む第１三次元ベクトル外挿を作る。上で触れたように、錐台は、仮想立体と交差している２つの平行な平面間に存在する仮想立体（例えば、円錐または角錐）のある部分である。錐台は、画面上で見える三次元領域を記述するためにコンピュータグラフィックスにおいて一般に用いられる。
【００４５】
プロセス８００は、インタフェース７１２が、第１三次元ベクトル外挿に基づいて少なくとも１つの仮想タッチ点（Ｐ０およびＰ１）を三次元環境１０００上に配置することにより継続してもよい（タスク８０６）。このようにして、図１０に示すように、ベクトルＶ０およびＶ１を三次元環境１０００と交差させて、ベクトルＶ０およびＶ１の終点にそれぞれ対応する仮想タッチ点Ｐ０およびＰ１を作る。本実施例において、仮想タッチ点Ｐ０およびＰ１は、地面１００４上の位置である。プロセス８００は、インタフェース７１２が、インタフェース７１２上の第２入力位置（ＸおよびＹ）へのインタフェース７１２上の第１入力の第１位置（ＡおよびＢ）の再配置を受信することにより継続してもよい（タスク８０８）。このようにして、インタフェース７１２は、インタフェース７１２から第１入力（元々取り込まれた二次元タッチ点／第１位置ＡおよびＢ）の新たな二次元位置（第２入力位置ＸおよびＹ）を取得する。元々取り込まれた二次元タッチ点ＡおよびＢは、タッチ点が引き上げられずむしろドラッグされる連続したドラッグ動作として、元々取り込まれた二次元タッチ点ＡおよびＢからそれらの新たな二次元タッチ点／第２入力位置ＸおよびＹへとそれぞれ追跡される。同様に、マウスによりクリックおよびドラッグ動作を行ってもよい。
【００４６】
プロセス８００は、第２入力位置ＸおよびＹを三次元空間に外挿して、第２三次元ベクトル外挿を提供することにより継続してもよい（タスク８１０）。例えば、図１２に示すように、ビュー１２０４の視錐台１２０２を用いて、新たな二次元タッチ点／第２入力位置ＸおよびＹをシーン９０２にベクトル外挿することにより、新たなベクトルＶ２およびＶ３を含む第２三次元ベクトル外挿を作る。新たなベクトルＶ２およびＶ３は、新たな二次元タッチ点／第２入力位置ＸおよびＹにそれぞれ対応する第１の組の終点と、仮想タッチ点Ｐ０およびＰ１にそれぞれ対応する第２の組の終点とを含む。上で取り上げたように、仮想タッチ点Ｐ０およびＰ１は、ベクトルＶ０およびＶ１の第１三次元ベクトル外挿の終点に対応する。このようにして、第２三次元ベクトル外挿は、第１三次元ベクトル外挿に基づいて計算する。
【００４７】
プロセス８００は、タッチ／入力の位置がユーザインタフェース７１２上で移動する際に、三次元空間内のある点（例えば、仮想タッチ点Ｐ０およびＰ１）をユーザインタフェース上の第１タッチ／入力の位置（例えば、第１位置／タッチ点（ＡおよびＢ）および第２入力位置／新たな二次元タッチ点（ＸおよびＹ））の下方に保つ（すなわち、二次元インタフェース上のある点が、三次元環境内のある点のビューをカバーする）ための仮想カメラの視錐台１２０２を決定することにより継続してもよい（タスク８１２）。視錐台１２０２／１００２の特徴は、例えば限定はされないが、仮想カメラの仮想方向、仮想カメラの仮想位置などを含んでもよい。仮想タッチ点Ｐ０およびＰ１、ベクトルＶ２およびＶ３およびビューの固有（錐台）特性の制約を鑑みて、ベクトルＶ２およびＶ３が仮想タッチ点Ｐ０およびＰ１と交差するように新たな仮想カメラ位置Ｃ１を演算することにより、仮想タッチ点（例えば、仮想タッチ点Ｐ０およびＰ１）をタッチされた位置（例えば、第１位置／タッチ点（ＡおよびＢ）および第２入力位置／新たな二次元タッチ点（ＸおよびＹ））の下に保つ。
【００４８】
制約の組を鑑みて新たな仮想カメラ位置Ｃ１といったカメラ位置（ビューイングパースペクティブ）を演算することは、限定はされないが、線形計画法、コレスキー分解、ＬＵ分解などといった方法により解決してもよい。場合によっては、これらの制約のみでは固有のカメラ位置の解決に十分ではないことがあるので、カメラの場所および／または向きに対するさらなる制約を追加可能である。上記実施例において、地面１００４からの高さおよびカメラのロールは、元のカメラ位置Ｃ０から持ち越して、新たな仮想カメラ位置Ｃ１を制約する助けとしてもよい。
【００４９】
プロセス８００は、パースペクティブロケータ７１０が、第１三次元ベクトル外挿に基づいて計算された第２三次元ベクトル外挿に基づいてビューイングパースペクティブ（ビュー１２０４）を再配置することにより継続してもよい（タスク８１４）。利用者は、第２三次元ベクトル外挿に基づいて限定はされないが地形、ＣＡＤ図面、ゲーム空間などといった三次元仮想構造を操作してもよい。
【００５０】
上で説明したさまざまな実施形態において、２つの二次元タッチ点ＡおよびＢは、三次元仮想環境における使用のためにインタフェース７１２により受信される二次元ナビゲーションジェスチャ／入力を拡張する一例として用いられている。しかしながら、その他の実施形態では、１つ以上の二次元タッチ点を用いることができる。例えば、新たな位置へドラッグされる単一の二次元タッチ点は、値Ｐ０およびＶ２を作ることにより、元のカメラ位置Ｃ０および／または向きからの追加の等式の制約が新たなカメラ位置Ｃ１および向きのための制約等式を固有に解決することを要求することができる。この例として、元のカメラ位置Ｃ０からの完全な向きおよび地面１００４からの高さを用いることにより、新たなカメラ位置が地面１００４に対して垂直に平行移動のみすることができてもよい。別の例として、３つ以上の二次元タッチ点は、新たなカメラ位置Ｃ１に対する解決法をさらに制約する助けとすることにより、元のカメラからより数の少ないパラメータが持ち越されることを要求することができる。
【００５１】
このように、三次元ナビゲーションにおける使用のための二次元ナビゲーションジェスチャを拡張するためのシステムおよび方法を提供する。
【００５２】
上の説明は、構成要素または結節点または特徴が、ともに「接続」または「結合」されていると言及している。ここで用いられているように、特に明記した場合を除いて、「接続」は、１つの構成要素／結節点／特徴が別の構成要素／結節点／特徴と必ずしも機械的にではなく直接接合されて（または直接連通して）いることを意味する。同様に、特に明記した場合を除いて、「結合」は、１つの構成要素／結節点／特徴が別の構成要素／結節点／特徴と必ずしも機械的にではなく直接または間接接合されて（または直接または間接連通して）いることを意味する。したがって、図３〜図７および図９〜図１２は構成要素の例示的配置を描写しているが、本開示の実施形態において追加の介在構成要素、装置、特徴または構成部品が存在していてもよい。
【００５３】
本文献において用いられている語および表現ならびにそれらの変形は、特に明記した場合を除いて、限定するのではなく対照的に制約のないものとして解釈すべきである。前述のものの例として、「含む（including）」という語は、「限定はされないが、含む」などを意味するとして読むべきであり、「例（example）」という語は、取り上げられている項目の網羅的または限定的な羅列ではなく例示的事例を提供するために用いられ、かつ、「従来の」、「伝統的な」、「通常の」、「標準の」、「知られている」といった形容詞および類似の意味の語は、説明されている項目を所与の期間または所与の時点で入手可能な項目に限定するものとして解釈すべできはないが、その代わりに、現在または未来のあらゆる時点で入手可能または知られている可能性のある従来の、伝統的な、通常のまたは標準の技術を包含するものとして読むべきである。
【００５４】
同様に、接続詞「および」により結び付いている一群の項目は、それらの項目の各々すべてが該群に存在することを要求するとして読むべきではなく、むしろ、特に明記した場合を除いて「および／または」として読むべきである。同様に、接続詞「または」により結び付いている一群の項目は、その群の中での相互排他性を要求するとして読むべきではなく、むしろ、特に明記した場合を除いて「および／または」としてまた読むべきである。さらに、本開示の項目、構成要素または構成部品は単数形で説明または請求されていることがあるが、単数形への限定が特に明記されている場合を除いて複数形は本開示の範囲内であると考えられている。場合によっては「１つ以上の」、「少なくとも」、「限定はされないが」などの範囲を広げる言葉および表現またはその他の類似表現の存在は、そのような範囲を広げる表現がない場合はより狭いケースが意図または要求されるという意味に解釈すべきではない。
【図１】
2014511534.tif 000003
【図２】
2014511534.tif 000004
【図３】
2014511534.tif 000005
【図４】
2014511534.tif 000006
【図５】
2014511534.tif 000007
【図６】
2014511534.tif 000008
【図７】
2014511534.tif 000009
【図８】
2014511534.tif 000010
【図９】
2014511534.tif 000011
【図１０】
2014511534.tif 000012
【図１１】
2014511534.tif 000013
【図１２】
2014511534.tif 000014
【国際調査報告】
2014511534.tif 000015
2014511534.tif 000016
2014511534.tif 000017