(57)【要約】  仮想現実環境においてテレポートおよびスケール変更するためのシステムにおいて、ユーザは、第１のスケールで体験する第１の仮想位置から、第２のスケールで体験する第２の仮想位置へテレポートし得る。ユーザは、ハンドヘルド電子デバイスを介した１つの外部入力により、新たな第２の仮想位置および新たな第２のスケールを選択し得る。その結果ユーザは、電子デバイスのトリガ動作の解放時に、新たに選択したスケールで新たに選択した第２の仮想位置へテレポートし得る。
2019502178.tif 000002
【特許請求の範囲】
【請求項１】
仮想環境に対する第１の仮想スケールでの閲覧用に、前記仮想環境における第１の仮想位置の仮想レンダリングを表示するステップと、
第２の仮想位置の選択と、前記第２の仮想位置の閲覧用の第２の仮想スケールの選択との入力を受け付けるステップとを含み、前記第１の仮想スケールと前記第２の仮想スケールとは異なっており、
前記入力を受け付けた後に、前記第２の仮想スケールで前記第２の仮想位置にテレポートするステップを含む、方法。
【請求項２】
前記入力を受け付けるステップは、
入力デバイスの操作を検出するステップと、
前記入力デバイスから前記第２の仮想位置に向けられた仮想ビームの部分の位置に基づいて、前記第２の仮想位置の前記選択を検出するステップと、
前記入力デバイスのスケール変更動作、および前記仮想ビームの対応する動作を検出するステップとを含み、前記入力デバイスの前記スケール変更動作は前記第２の仮想スケールの選択に対応している、請求項１に記載の方法。
【請求項３】
前記第２の仮想スケールで前記第２の仮想位置にテレポートするステップは、
前記第２の仮想位置の前記選択および前記第２の仮想スケールの前記選択を検出した後に、前記入力デバイスの前記操作の解放を検出するステップと、
前記入力デバイスの前記操作の前記検出された解放に応答して、前記第２の仮想スケールで前記第２の仮想位置にテレポートするステップとを含む、請求項２に記載の方法。
【請求項４】
前記入力デバイスを操作するステップは、前記第２の仮想位置および前記第２の仮想スケールが選択されるまでは前記入力デバイスの前記操作を解放せずに前記入力デバイスの前記操作を維持するステップを含む、請求項３に記載の方法。
【請求項５】
前記第２の仮想スケールで前記第２の仮想位置にテレポートするステップは、前記入力デバイスの前記操作の解放時に同時に前記第２の仮想スケールで前記第２の仮想位置にテレポートするステップを含む、請求項４に記載の方法。
【請求項６】
前記入力デバイスは、ハンドヘルド電子デバイスのトリガ、前記ハンドヘルド電子デバイスのタッチセンシティブ面、前記ハンドヘルド電子デバイスのボタン、前記ハンドヘルド電子デバイスのジョイスティック、または前記ハンドヘルド電子デバイスのトグルスイッチのうちの少なくとも１つを含む、請求項５に記載の方法。
【請求項７】
前記第２の仮想位置の前記選択および前記仮想スケールの前記選択を検出した後、かつ、前記入力デバイスの前記操作の前記解放を検出する前に、前記入力デバイスの取消し動作と、前記第２の仮想位置から離れる方向への前記仮想ビームの対応する動作とを検出するステップと、
前記検出された前記入力デバイスの取消し動作および前記仮想ビームの対応する動作に応答して、前記第２の仮想位置および前記第２の仮想スケールの選択を取消すステップとをさらに含む、請求項３に記載の方法。
【請求項８】
前記入力デバイスの取消し動作と前記仮想ビームの対応する動作とを検出するステップは、予め設定された閾値を上回る前記入力デバイスの動作を検出するステップを含む、請求項７に記載の方法。
【請求項９】
前記予め設定された閾値を上回る前記入力デバイスの動作を検出するステップは、予め設定された角度距離よりも大きい前記入力デバイスの動作を検出するステップを含む、請求項８に記載の方法。
【請求項１０】
前記入力デバイスの物理的動作を検出するステップは、前記第２のスケールの前記選択に対応する前記入力デバイスの第１の動作を検出するステップを含み、前記第１の動作を検出するステップは、
前記仮想ビームの前記部分の初期仮想位置に対応する前記入力デバイスの初期位置を検出するステップと、
前記仮想ビームの前記部分の前記初期仮想位置から上方向への仮想動作に対応し、かつ前記第１の仮想スケールから前記第２の仮想スケールへの仮想スケールの拡大に対応する、前記入力デバイスの前記初期位置から上方向への第１の物理的動作を検出するステップ、または
前記仮想ビームの前記部分の前記初期仮想位置から下方向への仮想動作に対応し、かつ前記第１の仮想スケールから前記第２の仮想スケールへの仮想スケールの縮小に対応する、前記入力デバイスの前記初期位置から下方向への第２の物理的動作を検出するステップ
のうちの少なくとも１つとを含む、請求項２に記載の方法。
【請求項１１】
前記入力デバイスの物理的動作を検出するステップは、前記選択された第２の仮想位置に対するテレポート到着位置のシフトに対応する前記入力デバイスの第３の物理的動作を検出するステップを含み、前記第３の物理的動作を検出するステップは、
前記ビームの前記部分の横方向への仮想シフトに対応する前記入力デバイスの物理的動作を検出するステップ、または
前記ビームの前記部分の前方向および後方向への仮想シフトに対応する前記入力デバイスの物理的動作を検出するステップ、
のうちの少なくとも１つと、
前記検出された前記入力デバイスの第３の物理的動作および前記ビームの前記部分の対応する仮想シフトに基づいて、前記選択された第２の仮想位置に対して前記テレポート到着位置をシフトするステップとを含む、請求項１０に記載の方法。
【請求項１２】
前記第２の仮想スケールで前記第２の仮想位置にテレポートするステップは、
前記第２の仮想位置の前記選択を検出した後に、前記入力デバイスの前記操作デバイスの前記操作の解放を検出し、前記第２の仮想スケールの前記選択を検出し、前記テレポート到着位置をシフトするステップと、
前記入力デバイスの前記操作デバイスの前記操作の前記検出された解放に応答して、前記第２の仮想スケールかつ前記シフトしたテレポート到着位置で、前記第２の仮想位置にテレポートするステップとを含む、請求項１１に記載の方法。
【請求項１３】
前記第２の仮想スケールかつ前記シフトしたテレポート到着位置で前記第２の仮想位置にテレポートするステップは、同時に前記第２の仮想スケールかつ前記シフトしたテレポート到着位置で前記第２の仮想位置にテレポートするステップとを含む、請求項１２に記載の方法。
【請求項１４】
仮想環境を生成するように構成されたコンピューティングデバイスを備えるシステムであって、前記コンピューティングデバイスは、
実行可能な命令を格納するメモリと、
前記コンピューティングデバイスに、
前記仮想環境において第１の仮想スケールでの閲覧用に前記仮想環境の第１の仮想位置の仮想レンダリングを表示すること、
前記仮想環境における第２の仮想位置の選択と、前記第２の仮想位置の閲覧用の第２の仮想スケールの選択とを示す入力を受け付けること、および
前記入力を受け付けた後に、前記第２の仮想スケールで前記第２の仮想位置にテレポートすること
を行なわせるための前記命令を実行するように構成されたプロセッサとを含む、システム。
【請求項１５】
前記プロセッサは前記入力を検出するように構成され、
前記入力は、前記コンピューティングデバイスに動作可能に結合されたハンドヘルド電子デバイスにおいて受け付けられ、
前記入力は、前記ハンドヘルド電子デバイスの入力デバイスの操作を含む、請求項１４に記載のシステム。
【請求項１６】
前記入力を検出することはさらに、
前記入力デバイスの前記操作に応答して生成される仮想ビームの部分を検出することを含み、前記仮想ビームの前記検出された部分は、前記第２の仮想位置の前記選択に対応しており、
前記入力を検出することはさらに、
前記第２の仮想スケールの前記選択に対応する前記仮想ビームの前記部分の仮想動作を検出することを含む、請求項１５に記載のシステム。
【請求項１７】
前記仮想ビームの前記部分の前記検出された仮想動作は、
前記第１の仮想スケールから前記第２の仮想スケールへの仮想スケールの拡大に対応する前記仮想ビームの前記部分の上方向への仮想動作、もしくは
前記第１の仮想スケールから前記第２の仮想スケールへの仮想スケールの縮小に対応する前記仮想ビームの前記部分の下方向への仮想動作
のうちの少なくとも１つを含む前記仮想ビームの前記部分の第１の仮想動作、または
前記仮想ビームの前記部分の横方向への仮想動作、もしくは
前記仮想ビームの前記部分の前方向および後方向への仮想動作
のうちの少なくとも１つを含み、前記選択された第２の仮想位置に対するテレポート到着位置の仮想シフトに対応する前記仮想ビームの前記部分の第２の仮想動作
のうちの少なくとも１つを含む、請求項１６に記載のシステム。
【請求項１８】
前記プロセッサは、さらに前記コンピューティングデバイスに、
前記第２の仮想位置の前記選択および前記仮想スケールの前記選択を検出した後、かつ、前記入力に応答して前記第２の仮想位置にテレポートする前に、前記入力デバイスの取消し動作と、前記仮想ビームの前記部分の前記第２の仮想位置から離れる方向への対応する動作とを検出すること、および
前記検出された前記入力デバイスの取消し動作および前記仮想ビームの前記部分の対応する動作に応答して、前記第２の仮想位置および前記第２の仮想スケールの選択を取消すこと
を行なわせるための前記命令を実行するように構成されている、請求項１６に記載のシステム。
【請求項１９】
前記入力デバイスの前記取消し動作、および前記仮想ビームの前記部分の対応する動作は、予め設定された角度距離よりも大きい前記入力デバイスの動作の検出を含む、請求項１８に記載のシステム。
【請求項２０】
前記入力デバイスは、前記ハンドヘルド電子デバイスのトリガ、前記ハンドヘルド電子デバイスのボタン、前記ハンドヘルド電子デバイスのジョイスティック、前記ハンドヘルド電子デバイスのトグルスイッチ、または前記ハンドヘルド電子デバイスのタッチセンシティブ面のうちの少なくとも１つを含む、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１５年１２月３日に出願された米国仮出願第６２／２６２，４５１号に基づく優先権を主張する２０１６年１２月２日に出願された米国出願第１５／３６８，１９１号の継続出願でありそれに基づく優先権を主張する。これらの開示を本明細書に引用により援用する。
【０００２】
本願は、その開示を本明細書に引用により援用する２０１５年１２月３日に出願された米国仮出願第６２／２６２，４５１号に基づく優先権を主張する。
【０００３】
分野
本明細書は、概して、仮想現実環境におけるテレポーテーションおよびスケール変更に関する。
【背景技術】
【０００４】
背景
拡張現実（augmented reality：ＡＲ）システムおよび／または仮想現実（virtual reality：ＶＲ）システムは、３次元（３Ｄ）没入型仮想環境を生成することができる。ユーザは、この仮想環境を、さまざまな電子デバイスとの対話を通して体験し得る。これらの電子デバイスは、たとえば、ディスプレイを含むヘルメットまたはその他のヘッドマウントデバイス、ユーザがディスプレイ装置を見るときに用いる眼鏡またはゴーグル、センサが装着された手袋、センサを含む外部ハンドヘルドデバイス、およびその他のこのような電子デバイス等を含む。仮想環境に没入すると、ユーザは身体の動きおよび／または電子デバイスの操作によって仮想環境の中を移動し、仮想環境の他の領域にテレポートし得る。これによりユーザは、仮想環境と対話し、仮想環境との対話を個人専用にする。
【発明の概要】
【課題を解決するための手段】
【０００５】
概要
一局面において、方法は、仮想環境に対する第１の仮想スケールでの閲覧用に、仮想環境における第１の仮想位置の仮想レンダリングを表示するステップと、第２の仮想位置の選択と、第２の仮想位置の閲覧用の第２の仮想スケールの選択との入力を受け付けるステップとを含み得る。第１の仮想スケールと第２の仮想スケールとは異なっている。方法はさらに、入力を受け付けた後に、第２の仮想スケールで第２の仮想位置にテレポートするステップを含み得る。
【０００６】
別の局面において、システムは、仮想環境を生成するように構成されたコンピューティングデバイスを備え得る。コンピューティングデバイスは、実行可能な命令を格納するメモリと、命令を実行するように構成されたプロセッサとを含む。命令の実行は、コンピューティングデバイスに、仮想環境において第１の仮想スケールでの閲覧用に仮想環境の第１の仮想位置の仮想レンダリングを表示すること、仮想環境における第２の仮想位置の選択と、第２の仮想位置の閲覧用の第２の仮想スケールの選択とを示す入力を受け付けること、および入力を受け付けた後に、第２の仮想スケールで第２の仮想位置にテレポートすることを行なわせ得る。
【０００７】
１つ以上の実装例の詳細を、添付の図面および以下の説明に記載する。その他の特徴は、明細書、図面、および特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【０００８】
【図１】本明細書に記載の例示的な実装例に従う、ヘッドマウントディスプレイデバイスおよびハンドヘルド電子デバイスを含む仮想現実システムの一実装例を示す図である。
【図２Ａ】本明細書に記載の実装例に従う、ヘッドマウントディスプレイデバイスの一例の斜視図である。
【図２Ｂ】本明細書に記載の実装例に従う、ヘッドマウントディスプレイデバイスの一例の斜視図である。
【図３】本明細書に記載の実装例に従う、ヘッドマウント電子デバイスおよびハンドヘルド電子デバイスのブロック図である。
【図４Ａ】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を示す第三者ビューを示す図である。
【図４Ｂ】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を示す第三者ビューを示す図である。
【図４Ｃ】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を示す第三者ビューを示す図である。
【図４Ｄ】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を示す第三者ビューを示す図である。
【図５Ａ】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を示す第三者ビューを示す図である。
【図５Ｂ】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を示す第三者ビューを示す図である。
【図５Ｃ】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を示す第三者ビューを示す図である。
【図５Ｄ】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を示す第三者ビューを示す図である。
【図５Ｅ】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を示す第三者ビューを示す図である。
【図５Ｆ】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を示す第三者ビューを示す図である。
【図６Ａ】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を示す第三者ビューを示す図である。
【図６Ｂ】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を示す第三者ビューを示す図である。
【図６Ｃ】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を示す第三者ビューを示す図である。
【図６Ｄ】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を示す第三者ビューを示す図である。
【図７】本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポートの方法のフローチャートである。
【図８】本明細書に記載の手法を実現するために使用することが可能なコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す。
【発明を実施するための形態】
【０００９】
詳細な説明
たとえばヘッドマウントディスプレイ（head mounted display：ＨＭＤ）デバイスを装着し、拡張現実および／または仮想現実環境に没入しているユーザは、さまざまな異なる種類の入力によって仮想環境を探検し、仮想環境における仮想オブジェクトおよび仮想特徴等と対話することができる。これらの入力は、たとえば、ＨＭＤから分離した電子デバイスの操作（たとえば、電子デバイスおよび／またはＨＭＤから発せられた仮想光線または仮想ビーム等）、電子デバイスおよび／またはＨＭＤの動き、および、電子デバイスおよび／またはＨＭＤのタッチセンシティブ面上になされたタッチ等を含む物理的な対話、および／または、手／腕のジェスチャー、頭の動き、および／または頭および／または方向付けられた視線等を含み得る。ユーザは、これらの各種の対話のうちの１つ以上を実施することにより、たとえば仮想環境の中を移動し、仮想環境の第１の領域から仮想環境の第２の領域へ、または第１の仮想環境から第２の仮想環境へ移動、遷移、またはテレポートする等、仮想環境における特定の動作を実行することができる。
【００１０】
本明細書に記載の実装例に従うシステムおよび方法は、仮想環境の第１の仮想領域から仮想環境の第２の仮想領域へ、および／または第１の仮想環境から第２の仮想環境へのテレポーテーションを容易にし得る。本明細書では、テレポートは、第１の仮想位置の代わりに第２の仮想位置のレンダリングを仮想環境において表示することを含む。本明細書に記載の実装例に従うシステムおよび方法により、ユーザは、第１の仮想領域から第２の仮想領域へ、または第１の仮想環境から第２の仮想環境へ移動しつつ、ユーザに対する仮想環境のスケール（仮想スケールと称する場合もある）を調整し、かつ、それに対応した遠近感でスケール変更することも可能である。このスケール変更および対応する遠近感の変化は、たとえば、仮想環境の要素に対するユーザのサイズの知覚的拡大、および／または仮想環境の要素のサイズの縮小（および対応する遠近感の変化）、または、仮想環境の要素に対するユーザのサイズの知覚的縮小、および／または仮想環境の要素のサイズの拡大（および対応する遠近感の変化）を含み得る。スケール変更は、この知覚的サイズの変化に加えて、外観および遠近感が変化しても意図された比率が維持されるように、ユーザの目の間の仮想距離の変化に基づく調整を行なうことも含み得る。
【００１１】
このように、ユーザは、選択されてスケール変更されたサイズおよび／または遠近感で、第２の仮想領域または第２の仮想環境に到達し得る。これによりユーザは、１つの動作で、選択されてスケール変更された遠近感および／またはサイズで、仮想環境の第１の仮想領域から第２の仮想領域へ、または第１の仮想環境から第２の仮想環境への実質的に切れ目のない遷移を体験することができる。すなわち、ユーザが第２の仮想領域または第２の仮想位置、およびスケール変更された遠近感および／またはサイズを選択すると、１つのコマンド（たとえば、コントローラの操作デバイスの操作等）によって、ユーザの仮想位置および仮想遠近感に関して仮想環境において選択された変化が引き起こされる。これにより、ユーザには、実質的に瞬間的な動きであるという感覚が与えられる。
【００１２】
図１に示す例示的な実装例では、ＨＭＤ１００を装着しているユーザがポータブルハンドヘルド電子デバイス１０２を持っている。ハンドヘルド電子デバイス１０２はたとえば、ＨＭＤ１００によって生成され、たとえばＨＭＤ１００のディスプレイ上でユーザに対して表示された仮想環境における対話のためにＨＭＤ１００とペアリングおよび通信し得るコントローラ、スマートフォン、ジョイスティック、または別のポータブルハンドヘルド電子デバイスであり得る。ハンドヘルド電子デバイス１０２は、たとえば、有線接続、または、たとえばＷｉＦｉ（登録商標）接続もしくはＢｌｕｅｔｏｏｔｈ（登録商標）接続を介した無線接続により、ＨＭＤ１００と動作可能に結合またはペアリングされてもよい。このようなハンドヘルド電子デバイス１０２およびＨＭＤ１００のペアリングまたは動作可能な結合は、ハンドヘルド電子デバイス１０２とＨＭＤ１００との間の通信、およびハンドヘルド電子デバイス１０２とＨＭＤ１００との間のデータのやり取りを提供し得る。これによりハンドヘルド電子デバイス１０２は、ＨＭＤ１００によって生成された没入型仮想環境において対話するためにＨＭＤ１００と通信するコントローラとして機能することが可能である。すなわち、たとえば、ハンドヘルド電子デバイス１０２から仮想オブジェクトへ選択のために向けられた仮想ビームまたは仮想光線、および／またはハンドヘルド電子デバイス１０２のタッチ面上で受け付けられた入力、および／またはハンドヘルド電子デバイス１０２の動き等のハンドヘルド電子デバイス１０２の操作は、ＨＭＤ１００によって生成および表示された仮想環境における対応の選択、動き、または他の種類の対話に変換され得る。これは、たとえば現在の仮想環境から選択された移動先の仮想環境へのユーザのテレポーテーションを含んでもよく、いくつかの実装例では、選択された移動先の仮想環境へのテレポーテーションに合わせた、ユーザ選択に基づくユーザの遠近感または知覚的サイズのスケール変更を含んでもよい。
【００１３】
図１に示す例示的な実装例は、ＨＭＤ１００と通信する１つのハンドヘルド電子デバイス１０２を含む。ハンドヘルド電子デバイス１０２は、ＨＭＤ１００とデータをやり取りし、ＨＭＤ１００によって生成された仮想環境における特徴、要素、およびオブジェクト等と対話するためのものである。しかしながら、いくつかの実装例では、２つ以上のハンドヘルド電子デバイス１０２がＨＭＤ１００に動作可能に結合され、ＨＭＤ１００と通信してもよく、仮想環境における対話のために一緒にまたは別々に動作し得る。
【００１４】
図２Ａおよび図２Ｂは、たとえば、ユーザによって装着される図１のＨＭＤ１００のような、ＨＭＤの一例の斜視図である。ＨＭＤ１００は、フレーム１２０に結合された筐体１１０を含んでもよく、たとえばヘッドフォンに搭載されたスピーカを含む音声出力装置１３０がフレーム１２０に結合されている。図２Ｂにおいて、筐体１１０の前部１１０ａは、筐体１１０に収容されている部品の一部が見えるように、筐体１１０の基部１１０ｂから離れる方向に回転させている。ディスプレイ１４０が筐体１１０の前部１１０ａの内面側に搭載されてもよい。レンズ１５０が、筐体１１０の内部において、前部１１０ａが筐体１１０の基部１１０ｂに対して閉じられた位置にあるときにユーザの目とディスプレイ１４０との間に来るように搭載されてもよい。いくつかの実装例において、ＨＭＤ１００は、各種センサを含む検知システム１６０と、ＨＭＤ１００の操作を容易にするプロセッサ１９０および各種制御システム装置を含む制御システム１７０とを備えてもよい。
【００１５】
いくつかの実装例において、ＨＭＤ１００は、たとえば静止画および動画を取込むための画像センサおよび／または光センサを含むカメラ１８０を含んでもよい。カメラ１８０によって取込まれた画像は、現実世界、または仮想環境に対する物理環境におけるユーザおよび／またはハンドヘルド電子デバイス１０２の物理的位置を追跡するのを助けるために使用されてもよく、および／または、パススルーモードにおいてディスプレイ１４０上でユーザに対して表示されてもよい。これによりユーザは、現実世界、物理環境の様相に関して状況を認識することができ、および／または、ＨＭＤ１００を外すことなく、そうでなければＨＭＤ１００の構成を変更して筐体１１０をユーザの視線から外れるように移動させることなく、一時的に仮想環境から離れて物理環境に戻ることができる。
【００１６】
いくつかの実装例では、ＨＭＤ１００は、ユーザの視線を検出および追跡するための視線追跡装置１６５を含んでもよい。視線追跡装置１６５は、ユーザの目（たとえば、瞳孔等のユーザの目の特定の部分）の画像を取込み、ユーザの視線の方向および動きを検出および追跡するために、たとえば１つまたは複数の画像センサ１６５Ａを含んでもよい。いくつかの実装例では、ＨＭＤ１００は、検出された視線が、仮想環境における対応の対話に変換されるユーザ入力として処理されるように構成されてもよい。
【００１７】
図３に、拡張および／または仮想現実環境におけるテレポーテーションおよびスケール変更を提供するシステムのブロック図を示す。システムは、第２の電子デバイス３０２と通信する第１の電子デバイス３００を含んでもよい。第１の電子デバイス３００は、たとえば図１、図２Ａ、および図２Ｂに関して上述した、仮想環境を生成および表示するＨＭＤであってもよい。第２の電子デバイス３０２は、たとえば図１に関して上述した、第１の電子デバイス３００によって生成および表示された仮想環境とのユーザ対話を容易にするために第１の電子デバイス３００と通信するハンドヘルド電子デバイスであってもよい。
【００１８】
第１の電子デバイス３００は、図２Ａおよび図２Ｂに示す検知システム１６０および制御システム１７０とそれぞれ同様であり得る検知システム３６０および制御システム３７０を含んでもよい。検知システム３６０は、たとえば光センサ、音声センサ、画像センサ、距離／近接センサ、および／または他のセンサを含む１つ以上の各種センサ、および／または、ユーザの視線を検出および追跡するように位置付けられた、たとえば画像センサ（たとえば、図２Ｂに示す視線追跡装置１６５等）を含む各種組合せのセンサを含んでもよい。制御システム３７０は、たとえば、電源／停止制御装置、音声およびビデオ制御装置、光学制御装置、遷移制御装置、および／またはその他のこのような装置および／または装置の各種組合わせを含んでもよい。検知システム３６０および／または制御システム３７０は、具体的な実装例に応じて、より多くのまたはより少ない装置を含んでもよい。検知システム３６０および／または制御システム３７０に含まれる要素は、たとえば、図２Ａおよび図２Ｂに示されるＨＭＤ１００以外のＨＭＤの内部で、異なる物理的構成（たとえば異なる物理的位置）を有してもよい。また、第１の電子デバイス３００は、検知システム３６０および制御システム３７０と通信するプロセッサ３９０と、メモリ３８０と、第１の電子デバイス３００と別の外部装置（たとえば、第２の電子デバイス３０２等）との間の通信を提供する通信モジュール３５０と、を含んでもよい。
【００１９】
第２の電子デバイス３０２は、当該第２の電子デバイス３０２と別の外部装置（たとえば、第１の電子デバイス３００等）との間の通信を提供する通信モジュール３０６を含んでもよい。第１の電子デバイス３００と第２の電子デバイス３０２との間のデータのやり取りを提供することに加えて、通信モジュール３０６は、上述のような仮想光線または仮想ビームを発するように構成されてもよい。第２の電子デバイス３０２は、検知システム３０４を含んでもよい。検知システム３０４は、たとえば、例としてカメラおよびマイクに含まれるもののような画像センサおよび音声センサと、慣性測定部と、ハンドヘルド電子デバイス、コントローラ、またはスマートフォンのタッチセンシティブ面に含まれるもののようなタッチセンサと、その他のこのようなセンサおよび／またはセンサの各種組合わせとを含んでもよい。プロセッサ３０９は、第２の電子デバイス３０２の検知システム３０４およびコントローラ３０５と通信し得る。コントローラ３０５は、メモリ３０８にアクセスすることができ、第２の電子デバイス３０２の全体の動作を制御する。
【００２０】
仮想現実システムの例示的な実装例を図４Ａ〜図４Ｄおよび図５Ａ〜図５Ｆに示す。この仮想現実システムの実装例により、ユーザが第１の仮想位置から第２の仮想位置へテレポートし、同時に、ユーザが新たに選択したスケールに従って第２の仮想位置のユーザの遠近感または見え方をスケール変更するように、仮想環境の仮想要素に対するユーザの遠近感および／または知覚的サイズをスケール変更することが可能になる。図４Ａ〜図４Ｄおよび図５Ａ〜図５Ｆは、たとえば、たとえばＨＭＤ１００のディスプレイ１４０上でユーザが閲覧する、ＨＭＤ１００によって生成された仮想特徴／仮想オブジェクト／仮想要素（たとえば、橋、および水等）を含む仮想環境の光景を含むユーザの第三者ビューを示す。これらの要素は、たとえばＨＭＤ１００内のディスプレイ１４０上でユーザによって閲覧され得る。これらの仮想オブジェクトの表示は、説明および図示を単に分かり易くするために、ＨＭＤ１００とは別に図４Ａ〜図４Ｄおよび図５Ａ〜図５Ｆで示す。
【００２１】
図４Ａに示すように、第１の仮想位置Ａに位置付けられたユーザは、ハンドヘルド電子デバイス１０２上の制御機構を操作し得る。ハンドヘルド電子デバイス１０２上でユーザにより操作される制御機構は、ハンドヘルド電子デバイス１０２上に設けられる多数の各種制御機構、たとえば、トリガ、ボタン、つまみ、トグル、スイッチ、ジョイスティック、および／またはタッチセンシティブ面等のうちのいずれであってもよい。単に説明および図示を分かり易くするために、ハンドヘルド電子デバイス１０２上でユーザにより操作される制御機構を、以下ではトリガと称する。
【００２２】
トリガの操作により、ハンドヘルド電子デバイス１０２から第２の仮想位置Ｂへ、仮想ビーム４００が外方に向けられ得る。テレポーテーションのために選択される第２の仮想位置Ｂに仮想ビーム４００が交わるように、ユーザはハンドヘルド電子デバイス１０２を動かし得る。図４Ｂに示すように、仮想ビーム４００と選択される仮想オブジェクトとの間の交点４００Ｂ（この例では第２の仮想位置Ｂ）は、たとえば、仮想ビームと選択された第２の仮想位置Ｂとの間の交点における仮想ビーム４００の終端４００Ｂまたは終点４００Ｂによって表わされ得る。これは、ユーザが第１の仮想位置Ａから第２の仮想位置Ｂへのテレポートを望んでいることを示す。以下において、単に説明および図示を分かり易くするために、仮想ビーム４００と選択される仮想オブジェクトとの間の交点領域を仮想終点４００Ｂと称する。しかしながら、選択される仮想オブジェクトと交わる仮想ビーム４００の任意の指定部分の検出、および／または、選択される仮想オブジェクトの所定の近接範囲内の仮想ビーム４００の任意の指定部分の検出を、仮想オブジェクトの選択および操作のための入力とみなしてもよい。図４Ｂに示すように、システムは、第２の仮想位置Ｂに向けられた仮想ビーム４００に加えて、仮想環境における仮想要素に対するユーザの現在のサイズまたはユーザの現在のスケールでユーザの仮想視覚表示４１０を生成してもよい。
【００２３】
図４Ｃに示すように、たとえばハンドヘルド電子デバイス１０２を上方または＋Ｙ方向に動かすことによって、またはトリガを上方または＋Ｙ方向に操作することによって、トリガを操作し続けてハンドヘルド電子デバイス１０２を操作することにより、ユーザは、たとえば、第２の仮想位置Ｂへのテレポーテーション時に体験するサイズ、スケール、または遠近感に調整（たとえば、拡大）され得る。このように、ユーザがスケールを調整するためにハンドヘルド電子デバイス１０２を操作し続ける際、ユーザがハンドヘルド電子デバイス１０２を動かした通りにユーザの視覚表示４１０のサイズが拡大し、図４Ｃに示すような相対スケールの視覚表示がユーザに提供され得る。このように、ユーザが所望の第２の仮想位置Ｂおよび所望の第２のスケールを選択し、次いでトリガを解放すると、システムは、図４Ｄに示すように遠近感が拡大スケールに調整された状態で、ユーザを第２の仮想位置Ｂにテレポートさせることができる。
【００２４】
同様に、図５Ａに示すように、第１の仮想位置Ａに位置付けられたユーザは、ハンドヘルド電子デバイス１０２上でトリガまたは他の制御機構を操作し得る。トリガの操作によって仮想ビーム４００が生成され、ユーザは、仮想ビーム４００の終端４００Ｂが第２の仮想位置Ｂに向けられるように、仮想ビーム４００を方向付け得る。図５Ｂに示すように、システムは、第２の仮想位置Ｂに向けられた仮想ビーム４００に加えて、ユーザの現在のサイズまたはスケールでユーザの視覚表示４１０を生成してもよい。図５Ｃに示すように、トリガを操作し続け、ハンドヘルド電子デバイス１０２を下方または−Ｙ方向に動かすことによって、またはトリガを下方または−Ｙ方向に操作することによって、第２の仮想位置Ｂにおける仮想特徴に対するユーザのサイズもしくはスケールが縮小され、または遠近感が調整され得る。ユーザの視覚表示４１０のサイズは、ユーザがハンドヘルド電子デバイス１０２を動かした通りに縮小され、図５Ｃに示すような相対スケールの視覚表示がユーザに提供される。このように、ユーザが所望の第２の仮想位置Ｂおよび所望の第２のスケールを選択し、次いでトリガを解放すると、システムは、図５Ｄに示すように遠近感が縮小スケールに調整された状態で、ユーザを仮想位置Ｂにテレポートさせることができる。
【００２５】
図４Ａ〜図４Ｄおよび図５Ａ〜図５Ｄに示す例では、仮想ビーム４００をハンドヘルド電子デバイス１０２から外方に向け、次いで、終点４００Ｂを第２の仮想位置Ｂに位置付けるように仮想ビーム４００を動かすとともに、ハンドヘルド電子デバイスの物理的な動きによってスケールの拡大／縮小を達成する。しかしながら、いくつかの実装例では、たとえばＨＭＤ１００等の別の基準点から仮想ビーム４００を外方に向けることによって第２の仮想位置Ｂの選択を達成してもよく、および／またはユーザの視線入力を用いて第２の仮想位置Ｂを選択してもよく、および／またはその他のこのような選択入力態様でもよい。
【００２６】
図４Ａ〜図４Ｄおよび図５Ａ〜図５Ｄに示す例では、ユーザは上方向／＋Ｙ方向および／または下方向／−Ｙ方向へのハンドヘルド電子デバイス１０２の物理的な動きを適用することにより、所望のスケールの拡大および／または縮小を指示する。しかしながらこれは、スケール調整をもたらすために適用され得るハンドヘルド電子デバイス１０２の操作の一例にすぎない。たとえばいくつかの実装例において、ユーザは、ハンドヘルド電子デバイス１０２のタッチ面上にドラッグ入力を適用することによって所望のスケールの拡大または縮小を指示してもよく、および／または、ハンドヘルド電子デバイス１０２上のトグル、スライド、または矢印スイッチを操作することによって所望のスケールの拡大または縮小を指示してもよく、またはその他のこのようなハンドヘルド電子デバイス１０２の操作であってもよい。
【００２７】
図４Ａ〜図４Ｄおよび図５Ａ〜図５Ｄに示す例では、第２の仮想位置に対するユーザの視覚表示４１０は、選択されたテレポート位置におけるスケール変更されたサイズ／遠近感でのユーザの影という形態である。しかしながら、いくつかの実装例において、スケールの視覚インジケータは、たとえばサイズが拡大／縮小するバー、および仮想測定装置に沿ったカーソルの動き等の、他の方法で提供されてもよい。さらに、図４Ａ〜図４Ｄおよび図５Ａ〜図５Ｄに示す例では、選択されたテレポート位置に対してユーザのサイズがスケール変更される。しかしながら、いくつかの実装例では、ユーザのサイズは同じままの状態で、環境がスケール変更されてもよい。これにより、実質的に同様の作用が提供される。
【００２８】
テレポートした状態（図４Ｄに示すように仮想環境に対して拡大したユーザスケール、および図５Ｄに示すように仮想環境に対して縮小したユーザスケール）において、ユーザの視覚体験は、単にズームアウト（図４Ｄに示す拡大ユーザスケールの場合）またはズームイン（図５Ｄに示す縮小ユーザスケールの場合）だけではない。そうではなく、このようにユーザのスケールまたは遠近感が拡大および縮小される際に、仮想位置のユーザの全体の遠近感が調整される。すなわち、仮想位置におけるオブジェクトの、スケール変更された遠近感でのユーザへの見え方は、空間属性、すなわちオブジェクトに対する目の位置に関連した寸法に基づく。たとえば、拡大ユーザスケールでは、第２の仮想位置Ｂにおける仮想オブジェクト（たとえば図４Ｄにおける橋）の外観は、ユーザのサイズの拡大に対応して実質的にサイズが縮小したようにユーザには見えて、ユーザの目の間の仮想距離の増加に基づくスケール調整も行なわれる。同様に、縮小ユーザスケールでは、第２の仮想位置Ｂにおける仮想オブジェクト（たとえば図５Ｄにおける橋）の外観は、ユーザのサイズの縮小に対応して実質的にサイズが拡大したようにユーザには見えて、ユーザの目の間の仮想距離の減少に基づくスケール調整も行なわれる。
【００２９】
このように、単にズームインまたはズームアウトするのではなく空間属性に基づいてスケール変更することによって、ユーザが体験する仮想位置における、より現実に即した仮想オブジェクトの遠近感が提供される。さらに、スケール変更されたユーザサイズおよび遠近感も加味した仮想位置へのテレポーテーションにより、第１の仮想位置Ａから第２の仮想位置Ｂへの比較的切れ目のないテレポーテーションが提供され得る。これにより、仮想環境におけるユーザの体験が向上する。
【００３０】
いくつかの実装例では、ユーザは、第２の仮想位置Ｂの初期選択の後、かつ第２の仮想位置Ｂへのテレポートの前に、第２の仮想位置Ｂにおける到着位置をシフトまたは調整するように選択してもよい。たとえば図５Ｅに示すように、図５Ｃに示すように所望の量だけユーザのスケールを縮小（または、図４Ｃに示すように所望の量だけユーザのスケールを拡大）させた後、かつトリガを解放して調整後のユーザスケールで第２の仮想位置Ｂにテレポートする前に、ユーザは、ハンドヘルド電子デバイス１０２を左または右、すなわち±Ｘ方向に動かすことによって（またはハンドヘルド電子デバイス１０２の別の制御機構を同様に操作することによって）、たとえば、仮想位置Ｂによって示される位置の左または右、すなわち±Ｘ方向にテレポート到着位置をシフトまたは調整してもよい。同様に、図５Ｅに示すように、トリガを解放して第２の仮想位置Ｂにテレポートする前に、ユーザは、ハンドヘルド電子デバイス１０２を前方向および／または後方向、すなわち±Ｚ方向に動かすことによって（またはハンドヘルド電子デバイス１０２の別の制御機構を同様に操作することによって）、前方向および／または後方向、すなわち±Ｚ方向にテレポート到着位置をシフトまたは調整してもよい。上述のようにユーザがハンドヘルド電子デバイス１０２を±Ｘ方向および／または±Ｚ方向に動かすことによって所望の通りにテレポート到着位置を調整すると、トリガの解放によって、ユーザは第２の仮想位置Ｂへ、スケール変更されたユーザサイズで、かつシフトしたテレポート到着位置でテレポートされ得る。
【００３１】
いくつかの状況では、図４Ｂおよび図５Ｂに示すように、ユーザはハンドヘルド電子デバイス１０２から仮想位置Ｂへ仮想ビーム４００を向け（または、ＨＭＤ１００から第２の仮想位置Ｂへ仮想ビーム４００を向け、または上述のように別の方法で第２の仮想位置Ｂを選択し）、第１の仮想位置Ａから第２の仮想位置Ｂへテレポートするための入力としてトリガを操作した後に、第２の仮想位置Ｂへのテレポートを望まない旨を決定する場合がある。上述の実装例では、トリガ（またはハンドヘルド電子デバイス１０２の他の操作／制御機構）をこの時点で解放したとすると、この時点までのユーザの入力に関係する第２の仮想位置Ｂへのテレポートのためのコマンドを取消すための機構がなければ、ユーザは第１の仮想位置Ａから第２の仮想位置Ｂへ自動的にテレポートされるであろう。いくつかの実装例では、特定の動き、たとえば、予め設定された閾値よりも大きい特定の距離または角度だけ仮想ビーム４００／終点４００Ｂを動かすハンドヘルド電子デバイス１０２の動きにより、第１の仮想位置Ａから第２の仮想位置Ｂへのテレポーテーションが行なわれる前に初期テレポートコマンドを取消させてもよい。
【００３２】
たとえば、図５Ｆに示すように、テレポーテーションのために第２の仮想位置Ｂを選択した後（図４Ｂおよび図５Ｂに図示）であって、該当する場合はスケールの任意の調整を施した後（図４Ｃおよび図５Ｃに図示）、かつトリガ（または他の操作機構）を解放し、(該当する場合は)調整後のスケールで第２の仮想位置Ｂへテレポートする前に、ユーザはハンドヘルド電子デバイス１０２を移動、シフト、または回転させることにより、仮想ビーム４００／終点４００Ｂを、予め設定された距離または角度の分だけ選択仮想位置Ｂから離れさせてもよい。予め設定された距離、角度、または閾値を上回る距離または角度の動きにより、ユーザによる第２の仮想位置Ｂの選択が取消され得る。これにより、たとえば電子デバイス１０２の動きを検出する以外の追加の制御機構を設ける必要なしに、ユーザが取消し動作を利用できるという利点がある。
【００３３】
たとえば、いくつかの実装例において、ユーザは、ハンドヘルド電子デバイス１０２および仮想ビーム４００を予め設定された角度θよりも大きい角度距離だけ移動、シフト、または回転させることにより、仮想ビーム４００を第２の仮想位置Ｂから離れる方向に向けてもよい。いくつかの実装例では、上述のようなテレポート到着位置をシフトするための入力との重複を回避するために、初期テレポーテーション選択の取消しを指示するための角度θは、たとえば４５°以上であってもよい。いくつかの実装例では、角度θは４５°未満であってもよい。
【００３４】
いくつかの実装例では、上述のように選択された第２の仮想位置Ｂへテレポートするためのユーザのコマンドの開始を取消すことは、第２の仮想位置Ｂが選択された方法に対応する方法で行なわれてもよい。たとえば、第２の仮想位置Ｂに向けられた視線に基づいて、またはＨＭＤ１００から外方に向けられた仮想ビームによって第２の仮想位置Ｂが選択されるいくつかの実装例では、予め設定された閾値よりも大きい頭の動き、シフト、または回転により、第２の仮想位置Ｂへのテレポートのための初期コマンドが取消されてもよい。
【００３５】
図４Ａ〜図４Ｄおよび図５Ａ〜図５Ｆに関連して上述した地域ビュー（terrain view）におけるテレポーテーションおよびスケール変更に関係する原理は、宇宙ビュー（space view）におけるテレポーテーションおよびスケール変更にも同様に適用され得る。たとえば、図６Ａに示すように、宇宙から見た地球の仮想レンダリングが、たとえばＨＭＤ１００のディスプレイ１４０上でユーザに提示されてもよい。ユーザは、ハンドヘルド電子デバイス１０２から地球の仮想レンダリングへ仮想ビーム４００を向け、選択した仮想位置Ｂに終点４００Ｂを位置付け、ハンドヘルド電子デバイス１０２のトリガ(または他の制御機構)を操作することによって第２の仮想位置Ｂを選択してもよい。本明細書において「仮想レンダリング」という用語は、仮想環境における位置のレンダリングを意味する。
【００３６】
この宇宙ビュー構成において、テレポーテーションのために選択された仮想環境に対するユーザの相対スケールまたは遠近感の視覚表示４１０は、たとえば円形または円盤形、または他の形状または表現によって表わされ得る。図６Ｂに示すように、ユーザはトリガを押し続けながらハンドヘルド電子デバイス１０２および仮想ビーム４００を第１の方向に移動または回転させることによって、ユーザの相対スケールを調整（たとえば縮小）してもよく、それに対応して視覚表示４１０が縮小し得る。この例では、ユーザスケールの縮小は、ユーザスケールの視覚表示４１０のサイズまたは面積の縮小に反映され得る。トリガが解放されると、システムは、図６Ｃに示すように、縮小されたユーザスケールまたは遠近感で選択仮想位置Ｂにユーザをテレポートさせ得る。（図６Ｂに示す縮小ユーザスケールではなく）拡大ユーザスケールでの仮想位置Ｂへのテレポーテーションも、同様の方法で行なわれ得る。これは、たとえば、トリガを解放して選択仮想位置Ｂへのテレポートを行なう前に、図６Ｂに示す方向とは反対の方向へハンドヘルド電子デバイス１０２および仮想ビーム４００を移動または回転させることにより、ユーザスケールの視覚表示４１０のサイズを縮小ではなく拡大させることによって、達成され得る。
【００３７】
上述したものと同様に、図６Ｄに示すように、第２の仮想位置Ｂを選択した後（図６Ａに図示）、かつトリガを解放して第２の仮想位置Ｂにテレポートする前に、ユーザは、ハンドヘルド電子デバイス１０２および仮想ビーム４００をたとえば予め設定された角度θよりも大きい角度距離の分だけ仮想位置Ｂから離れる方向にシフト、回転、または他の方法で動かすことによって、選択したテレポーテーションを取消してもよい。
【００３８】
本明細書に記載の実装例に従う、拡張および／または仮想現実環境におけるテレポートの方法を図７に示す。現在の仮想位置から新たに選択された仮想位置へテレポートするためのユーザ入力またはコマンドの開始を示す、新たな仮想位置の選択が検出されると(ブロック７１０)、新たに選択された仮想位置に対するユーザ遠近感および／またはユーザスケールを調整（たとえば、拡大および／または縮小）するためのコマンドが受信されたか否かが判定され得る(ブロック７２０)。ユーザの遠近感および／またはスケールを調整するためのコマンドが受信された場合、相対的な遠近感および／またはスケールが、受信されたコマンドに従って拡大および／または縮小され得る(ブロック７３０)。新たな仮想位置の選択、および新たに選択された仮想位置に対するユーザ遠近感および／またはスケールを拡大および／または縮小するためのコマンドの検出は、図４Ａ〜図４Ｄ、図５Ａ〜図５Ｆ、および図６Ａ〜図６Ｄに関連して上述したように行なわれ得る。ユーザが相対的な遠近感および／またはスケールを調整するためのコマンドの入力を完了し、調整された遠近感および／またはスケールで新たに選択された仮想位置へテレポートするためのコマンド（たとえば、トリガの解放、またはハンドヘルド電子デバイスおよび／またはＨＭＤの他の操作等）が検出された後(ブロック７４０)、システムは、新たに選択されたユーザ遠近感および／またはスケールで、新たに選択された仮想位置へユーザをテレポートさせ得る(ブロック７５０)。テレポートおよび／またはスケール変更のためのコマンドが検出されない場合、新たな仮想位置の選択が取消されたか否かが判定される(ブロック７４５)。新たに選択された仮想位置にテレポートするためのコマンドの取消しの検出は、図５Ｆおよび図６Ｄに関連して上述したように行なわれ得る。この処理は、仮想現実体験が終了したと判定されるまで行なわれ得る(ブロック７６０)。
【００３９】
図８は、本明細書に記載の手法とともに使用し得る汎用コンピュータデバイス８００および汎用モバイルコンピュータデバイス８５０の一例を示す。コンピューティングデバイス８００は、ラップトップ、デスクトップ、タブレット、ワークステーション、携帯情報端末、テレビ、サーバ、ブレードサーバ、メインフレーム、およびその他適切なコンピューティングデバイス等の、さまざまな形態のデジタルコンピュータを代表することを意図している。コンピューティングデバイス８５０は、携帯情報端末、携帯電話、スマートフォン、およびその他同様のコンピューティングデバイス等の、さまざまな形態のモバイルデバイスを代表することを意図している。本明細書に示される構成要素、それらの接続および関係、ならびに機能は、専ら例示を意図しているのであって、本明細書において記載されているおよび／またはクレームされている発明の実現を限定することを意図しているのではない。
【００４０】
コンピューティングデバイス８００は、プロセッサ８０２と、メモリ８０４と、記憶装置８０６と、メモリ８０４および高速拡張ポート８１０に接続している高速インターフェイス８０８と、低速バス８１４および記憶装置８０６に接続している低速インターフェイス８１２とを含む。プロセッサ８０２は半導体ベースのプロセッサでもよい。メモリ８０４は半導体ベースのメモリでもよい。コンポーネント８０２、８０４、８０６、８０８、８１０、および８１２の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。プロセッサ８０２は、コンピューティングデバイス８００内で実行される命令を処理可能であり、これらの命令は、ＧＵＩのためのグラフィック情報を、高速インターフェイス８０８に結合されたディスプレイ８１６等の外部入出力デバイス上に表示するために、メモリ８０４内または記憶装置８０６上に格納された命令を含む。他の実装例では、複数のプロセッサおよび／または複数のバスが、複数のメモリおよび複数のタイプのメモリとともに適宜使用されてもよい。加えて、複数のコンピューティングデバイス８００が接続されてもよく、各デバイスは（たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして）必要な動作の一部を提供する。
【００４１】
メモリ８０４は、情報をコンピューティングデバイス８００内に格納する。一実装例では、メモリ８０４は１つまたは複数の揮発性メモリユニットである。別の実装例では、メモリ８０４は１つまたは複数の不揮発性メモリユニットである。また、メモリ８０４は、磁気ディスクまたは光ディスクといった別の形態のコンピュータ読取可能媒体であってもよい。
【００４２】
記憶装置８０６は、コンピューティングデバイス８００のための大容量記憶を提供可能である。一実装例では、記憶装置８０６は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイといった、コンピュータ読取可能媒体であってもよく、または当該コンピュータ読取可能媒体を含んでいてもよい。コンピュータプログラムプロダクトが情報担体において有形に具体化され得る。また、コンピュータプログラムプロダクトは、実行されると上述のような１つ以上の方法を行なう命令を含んでいてもよい。情報担体は、メモリ８０４、記憶装置８０６、またはプロセッサ８０２上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体である。
【００４３】
高速コントローラ８０８はコンピューティングデバイス８００のための帯域幅集約的な動作を管理し、一方、低速コントローラ８１２はより低い帯域幅集約的な動作を管理する。機能のそのような割当ては例示にすぎない。一実装例では、高速コントローラ８０８は、メモリ８０４、ディスプレイ８１６に（たとえば、グラフィックスプロセッサまたはアクセラレータを介して）、および、さまざまな拡張カード（図示せず）を受け付け得る高速拡張ポート８１０に結合される。この実装例では、低速コントローラ８１２は、記憶装置８０６および低速拡張ポート８１４に結合される。さまざまな通信ポート（たとえば、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ、イーサネット（登録商標）、無線イーサネット）を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナ等の１つ以上の入出力デバイスに、または、スイッチもしくはルータ等のネットワーキングデバイスに、たとえばネットワークアダプタを介して結合されてもよい。
【００４４】
コンピューティングデバイス８００は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、標準サーバ８２０として、またはそのようなサーバのグループで複数回実現されてもよい。それはまた、ラックサーバシステム８２４の一部として実現されてもよい。加えて、それは、ラップトップコンピュータ８２２等のパーソナルコンピュータにおいて実現されてもよい。これに代えて、コンピューティングデバイス８００からのコンポーネントは、デバイス８５０等のモバイルデバイス（図示せず）における他のコンポーネントと組合されてもよい。そのようなデバイスの各々は、コンピューティングデバイス８００、８５０のうちの１つ以上を含んでいてもよく、システム全体が、互いに通信する複数のコンピューティングデバイス８００、８５０で構成されてもよい。
【００４５】
コンピューティングデバイス８５０は、数あるコンポーネントの中でも特に、プロセッサ８５２と、メモリ８６４と、ディスプレイ８５４等の入出力デバイスと、通信インターフェイス８６６と、トランシーバ８６８とを含む。また、デバイス８５０には、追加の記憶容量を提供するために、マイクロドライブまたは他のデバイス等の記憶装置が設けられてもよい。コンポーネント８５０、８５２、８６４、８５４、８６６、および８６８の各々は、さまざまなバスを使用して相互接続されており、当該コンポーネントのうちのいくつかは、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。
【００４６】
プロセッサ８５２は、メモリ８６４に格納された命令を含む、コンピューティングデバイス８５０内の命令を実行可能である。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイス、デバイス８５０が実行するアプリケーション、およびデバイス８５０による無線通信の制御といった、デバイス８５０の他のコンポーネント同士の連携を提供してもよい。
【００４７】
プロセッサ８５２は、ディスプレイ８５４に結合された制御インターフェイス８５８およびディスプレイインターフェイス８５６を介してユーザと通信してもよい。ディスプレイ８５４は、たとえば、ＴＦＴ  ＬＣＤ（Thin-Film-Transistor Liquid Crystal Display：薄膜トランジスタ液晶ディスプレイ）、またはＯＬＥＤ（Organic Light Emitting Diode：有機発光ダイオード）ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス８５６は、ディスプレイ８５４を駆動してグラフィカル情報および他の情報をユーザに提示するための適切な回路を含んでいてもよい。制御インターフェイス８５８は、ユーザからコマンドを受信し、それらをプロセッサ８５２に送出するために変換してもよい。加えて、デバイス８５０と他のデバイスとの近接エリア通信を可能にするように、外部インターフェイス８６２がプロセッサ８５２と通信した状態で設けられてもよい。外部インターフェイス８６２は、たとえば、ある実装例では有線通信を提供し、他の実装例では無線通信を提供してもよく、複数のインターフェイスも使用されてもよい。
【００４８】
メモリ８６４は、情報をコンピューティングデバイス８５０内に格納する。メモリ８６４は、１つもしくは複数のコンピュータ読取可能媒体、１つもしくは複数の揮発性メモリユニット、または、１つもしくは複数の不揮発性メモリユニットの１つ以上として実現され得る。拡張メモリ８７４も設けられ、拡張インターフェイス８７２を介してデバイス８５０に接続されてもよく、拡張インターフェイス８７２は、たとえばＳＩＭＭ（Single In Line Memory Module）カードインターフェイスを含んでいてもよい。そのような拡張メモリ８７４は、デバイス８５０に余分の格納スペースを提供してもよく、または、デバイス８５０のためのアプリケーションまたは他の情報も格納してもよい。具体的には、拡張メモリ８７４は、上述のプロセスを実行または補足するための命令を含んでいてもよく、安全のための情報も含んでいてもよい。このため、たとえば、拡張メモリ８７４はデバイス８５０のためのセキュリティモジュールとして設けられてもよく、デバイス８５０の安全な使用を許可する命令でプログラミングされてもよい。加えて、ハッキング不可能な態様でＳＩＭＭカード上に識別情報を乗せるといったように、安全のためのアプリケーションが追加情報とともにＳＩＭＭカードを介して提供されてもよい。
【００４９】
メモリはたとえば、以下に説明されるようなフラッシュメモリおよび／またはＮＶＲＡＭメモリを含んでいてもよい。一実装例では、コンピュータプログラムプロダクトが情報担体において有形に具体化される。コンピュータプログラムプロダクトは、実行されると上述のような１つ以上の方法を実行する命令を含む。情報担体は、メモリ８６４、拡張メモリ８７４、またはプロセッサ８５２上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体であり、たとえばトランシーバ８６８または外部インターフェイス８６２を通して受信され得る。
【００５０】
デバイス８５０は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス８６６を介して無線通信してもよい。通信インターフェイス８６６は、とりわけ、ＧＳＭ（登録商標）音声通話、ＳＭＳ、ＥＭＳ、またはＭＭＳメッセージング、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ（登録商標）、ＣＤＭＡ２０００、またはＧＰＲＳといった、さまざまなモードまたはプロトコル下での通信を提供してもよい。そのような通信は、たとえば無線周波数トランシーバ８６８を介して生じてもよい。加えて、Ｂｌｕｅｔｏｏｔｈ、Ｗｉ−Ｆｉ、または他のそのようなトランシーバ（図示せず）等を使用して、短距離通信が生じてもよい。加えて、ＧＰＳ（Global Positioning System：全地球測位システム）レシーバモジュール８７０が、追加のナビゲーション関連および位置関連無線データをデバイス８５０に提供してもよく、当該データは、デバイス８５０上で実行されるアプリケーションによって適宜使用されてもよい。
【００５１】
また、デバイス８５０は、ユーザから口頭情報を受信してそれを使用可能なデジタル情報に変換し得る音声コーデック８６０を使用して、音声通信してもよい。また、音声コーデック８６０は、たとえばデバイス８５０のハンドセットにおいて、スピーカを介すなどして、ユーザに聞こえる音を生成してもよい。そのような音は、音声電話からの音を含んでいてもよく、録音された音（たとえば、音声メッセージ、音楽ファイル等）を含んでいてもよく、デバイス８５０上で動作するアプリケーションが生成する音も含んでいてもよい。
【００５２】
コンピューティングデバイス８５０は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、携帯電話８８０として実現されてもよい。それはまた、スマートフォン８８２、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
【００５３】
ここに説明されたシステムおよび手法のさまざまな実装例は、デジタル電子回路、集積回路、特別設計のＡＳＩＣ（application specific integrated circuit：特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組合わせで実現され得る。これらのさまざまな実装例は、少なくとも１つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および／または解釈可能な１つ以上のコンピュータプログラムにおける実装例を含んでいてもよく、当該プロセッサは専用であっても汎用であってもよく、ストレージシステム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信するとともに、これらにデータおよび命令を送信するように結合されてもよい。
【００５４】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても公知）は、プログラマブルプロセッサのための機械命令を含んでおり、高レベル手続き型および／またはオブジェクト指向プログラミング言語で、および／またはアセンブリ／機械言語で実現され得る。ここに使用されるように、「機械読取可能媒体」「コンピュータ読取可能媒体」という用語は、機械命令および／またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラムプロダクト、装置および／またはデバイス（たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス（Programmable Logic Device：ＰＬＤ））を指し、機械命令を機械読取可能信号として受信する機械読取可能媒体を含む。「機械読取可能信号」という用語は、機械命令および／またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【００５５】
ユーザとの対話を提供するために、ここに説明されたシステムおよび手法は、情報をユーザに表示するためのディスプレイデバイス（たとえば、ＣＲＴ（cathode ray tube：陰極線管）またはＬＣＤ（liquid crystal display：液晶ディスプレイ）モニタ）と、ユーザが入力をコンピュータに提供できるようにするキーボードおよびポインティングデバイス（たとえば、マウスまたはトラックボール）とを有するコンピュータ上で実現され得る。他の種類のデバイスを使用してユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック（たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック）であってもよく、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。
【００５６】
ここに説明されたシステムおよび手法は、（たとえばデータサーバとしての）バックエンドコンポーネントを含む、またはミドルウェアコンポーネント（たとえばアプリケーションサーバ）を含む、またはフロントエンドコンポーネント（たとえば、ユーザが本明細書で説明されたシステムおよび手法の実装例と対話できるようにするグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータ）を含む、またはそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合わせを含む、コンピューティングシステムにおいて実現され得る。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信（たとえば通信ネットワーク）によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク（local area network：ＬＡＮ）、ワイドエリアネットワーク（wide area network：ＷＡＮ）、およびインターネットを含む。
【００５７】
コンピューティングシステムは、クライアントおよびサーバを含んでもよい。クライアントおよびサーバは一般に互いにリモートであり、典型的には通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されて互いにクライアント−サーバ関係を有するコンピュータプログラムによって生じる。
【００５８】
多くの実装例を説明してきた。しかしながら、本発明の精神および範囲から逸脱することなくさまざまな変更がなされ得ることが理解されるであろう。
【００５９】
加えて、図面に示す論理フローは、所望の結果を達成するために、図示された特定の順序または順番を必要としない。加えて、説明されたフローに他のステップが提供されてもよく、または当該フローからステップが除去されてもよく、説明されたシステムに他のコンポーネントが追加されてもよく、または当該システムから除去されてもよい。したがって、下記の請求項の範囲には他の実装例も含まれる。
【００６０】
本明細書に記載のさまざまな手法の実装例は、デジタル電子回路において、またはコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、またはこれらの組合わせにおいて実現されてもよい。実装例は、コンピュータプログラムプロダクトとして実現されてもよい。すなわち実装例は、データ処理装置（たとえば、プログラマブルプロセッサ、または１つもしくは複数のコンピュータ）による処理のための、またはその動作を制御するための、たとえば機械読取可能記憶装置（コンピュータ読取可能媒体）等の情報担体において有形に具体化されたコンピュータプログラムとして実現されてもよい。よって、コンピュータ読取可能記憶媒体は、実行されるとプロセッサ（たとえばホストデバイスのプロセッサ、クライアントデバイスのプロセッサ）にプロセスを実行させる命令を格納するように構成されてもよい。
【００６１】
上記コンピュータプログラムのようなコンピュータプログラムは、コンパイルまたは翻訳された言語を含むプログラミング言語の形態で記述することができ、スタンドアロンプログラム、またはモジュール、コンポーネント、サブルーチン、または計算環境で使用するのに適したその他のユニットを含む任意の形態でデプロイすることができる。コンピュータプログラムは、デプロイされ、１つのコンピュータ上で、または、１つの場所にあるまたは複数の場所に分散し通信ネットワークによって相互に接続された複数のコンピュータ上で処理されてもよい。
【００６２】
方法ステップは、コンピュータプログラムを実行して入力データを処理し出力を生成することによって機能を実行する１つ以上のプログラマブルプロセッサによって実行されてもよい。また、方法ステップは、専用論理回路、たとえばＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）によって実行されてもよく、装置は、上記専用論理回路として実現されてもよい。
【００６３】
コンピュータプログラムの処理に適したプロセッサは、一例として、汎用および専用マイクロプロセッサ、ならびに、任意の種類のデジタルコンピュータの任意の１つ以上のプロセッサを含む。一般的に、プロセッサは、命令とデータを、読取専用メモリまたはランダムアクセスメモリまたはこれら双方から受信する。コンピュータの構成要素は、命令を実行するための少なくとも１つのプロセッサと、命令およびデータを格納するための１つ以上のメモリデバイスとを含んでもよい。また、一般的にコンピュータは、データを格納するための１つ以上の大容量記憶装置（たとえば、磁気ディスク、光磁気ディスクもしくは光ディスク）を含んでもよく、または、データを受信、もしくは送信、もしくはその両方を行なうために上記大容量記憶装置に動作可能に結合されてもよい。コンピュータプログラム命令およびデータを具体化するのに適した情報担体は、一例として、半導体メモリデバイス（たとえば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイス）、磁気ディスク（たとえば、内部ハードディスクまたはリムーバブルディスク）、光磁気ディスク、ならびにＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクを含む、すべての形態の不揮発性メモリを含む。プロセッサおよびメモリは、専用論理回路が追加されてもよく、専用論理回路に内蔵されてもよい。
【００６４】
ユーザとの対話を提供するために、実装例は、情報をユーザに表示するためのディスプレイデバイス（たとえば、陰極線管（ＣＲＴ）、発光ダイオード（ＬＥＤ）または液晶ディスプレイ（ＬＣＤ）モニタ）と、ユーザが入力をコンピュータに提供できるようにするキーボードおよびポインティングデバイス（たとえば、マウスまたはトラックボール）とを有するコンピュータ上で実現され得る。他の種類のデバイスを使用してユーザとの対話を提供することもできる。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック（たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック）であってもよく、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。
【００６５】
実装例は、（たとえばデータサーバとしての）バックエンドコンポーネントを含む、またはミドルウェアコンポーネント（たとえばアプリケーションサーバ）を含む、またはフロントエンドコンポーネント（たとえば、ユーザが実装例と対話できるようにするグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータ）を含む、またはそのようなバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントの任意の組合わせを含む、コンピューティングシステムにおいて実現され得る。コンポーネントは、任意の形態または媒体のデジタルデータ通信（たとえば通信ネットワーク）によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク（ＬＡＮ）およびワイドエリアネットワーク（ＷＡＮ）、たとえばインターネットを含む。
【００６６】
その他の実装例を以下の例において要約する。
例１：仮想環境に対する第１の仮想スケールでの閲覧用に、仮想環境における第１の仮想位置の仮想レンダリングを表示するステップと、第２の仮想位置の選択と、第２の仮想位置の閲覧用の第２の仮想スケールの選択との入力を受け付けるステップとを含み、第１の仮想スケールと第２の仮想スケールとは異なっており、入力を受け付けた後に、第２の仮想スケールで第２の仮想位置にテレポートするステップを含む、方法。
【００６７】
例２：例１の方法において、入力を受け付けるステップは、入力デバイスの操作を検出するステップと、入力デバイスから第２の仮想位置に向けられた仮想ビームの部分の位置に基づいて、第２の仮想位置の選択を検出するステップと、入力デバイスのスケール変更動作、および仮想ビームの対応する動作を検出するステップとを含み、入力デバイスのスケール変更動作は第２の仮想スケールの選択に対応している。
【００６８】
例３：例２の方法において、第２の仮想スケールで第２の仮想位置にテレポートするステップは、第２の仮想位置の選択および第２の仮想スケールの選択を検出した後に、入力デバイスの操作の解放を検出するステップと、入力デバイスの操作の検出された解放に応答して、第２の仮想スケールで第２の仮想位置にテレポートするステップとを含む。
【００６９】
例４：例３の方法において、入力デバイスを操作するステップは、第２の仮想位置および第２の仮想スケールが選択されるまでは入力デバイスの操作を解放せずに入力デバイスの操作を維持するステップを含む。
【００７０】
例５：例４の方法において、第２の仮想スケールで第２の仮想位置にテレポートするステップは、入力デバイスの操作の解放時に同時に第２の仮想スケールで第２の仮想位置にテレポートするステップを含む。
【００７１】
例６：例２〜例５のうちの１つの例の方法において、入力デバイスは、ハンドヘルド電子デバイスのトリガ、ハンドヘルド電子デバイスのタッチセンシティブ面、ハンドヘルド電子デバイスのボタン、ハンドヘルド電子デバイスのジョイスティック、またはハンドヘルド電子デバイスのトグルスイッチのうちの少なくとも１つを含む。
【００７２】
例７：例３の方法において、第２の仮想位置の選択および仮想スケールの選択を検出した後、かつ、入力デバイスの操作の解放を検出する前に、入力デバイスの取消し動作と、第２の仮想位置から離れる方向への仮想ビームの対応する動作とを検出するステップと、検出された入力デバイスの取消し動作および仮想ビームの対応する動作に応答して、第２の仮想位置および第２の仮想スケールの選択を取消すステップとをさらに含む。
【００７３】
例８：例７の方法において、入力デバイスの取消し動作と仮想ビームの対応する動作とを検出するステップは、予め設定された閾値を上回る入力デバイスの動作を検出するステップを含む。
【００７４】
例９：例８の方法において、予め設定された閾値を上回る入力デバイスの動作を検出するステップは、予め設定された角度距離よりも大きい入力デバイスの動作を検出するステップを含む。
【００７５】
例１０：例２の方法において、入力デバイスの物理的動作を検出するステップは、第２のスケールの選択に対応する入力デバイスの第１の動作を検出するステップを含み、第１の動作を検出するステップは、仮想ビームの上記部分の初期仮想位置に対応する入力デバイスの初期位置を検出するステップと、仮想ビームの上記部分の初期仮想位置から上方向への仮想動作に対応し、かつ第１の仮想スケールから第２の仮想スケールへの仮想スケールの拡大に対応する、入力デバイスの初期位置から上方向への第１の物理的動作を検出するステップ、または仮想ビームの上記部分の初期仮想位置から下方向への仮想動作に対応し、かつ第１の仮想スケールから第２の仮想スケールへの仮想スケールの縮小に対応する、入力デバイスの初期位置から下方向への第２の物理的動作を検出するステップのうちの少なくとも１つとを含む。
【００７６】
例１１：例１０の方法において、入力デバイスの物理的動作を検出するステップは、選択された第２の仮想位置に対するテレポート到着位置のシフトに対応する入力デバイスの第３の物理的動作を検出するステップを含み、第３の物理的動作を検出するステップは、ビームの部分の横方向への仮想シフトに対応する入力デバイスの物理的動作を検出するステップ、またはビームの部分の前方向および後方向への仮想シフトに対応する入力デバイスの物理的動作を検出するステップ、のうちの少なくとも１つと、検出された入力デバイスの第３の物理的動作およびビームの部分の対応する仮想シフトに基づいて、選択された第２の仮想位置に対してテレポート到着位置をシフトするステップとを含む。
【００７７】
例１２：例１１の方法において、第２の仮想スケールで第２の仮想位置にテレポートするステップは、第２の仮想位置の選択を検出した後に、入力デバイスの操作デバイスの操作の解放を検出し、第２の仮想スケールの選択を検出し、テレポート到着位置をシフトするステップと、入力デバイスの操作デバイスの操作の検出された解放に応答して、第２の仮想スケールかつシフトしたテレポート到着位置で、第２の仮想位置にテレポートするステップとを含む。
【００７８】
例１３：例１２の方法において、第２の仮想スケールかつシフトしたテレポート到着位置で第２の仮想位置にテレポートするステップは、同時に第２の仮想スケールかつシフトしたテレポート到着位置で第２の仮想位置にテレポートするステップとを含む。
【００７９】
例１４：仮想環境を生成するように構成されたコンピューティングデバイスを備えるシステムであって、コンピューティングデバイスは、実行可能な命令を格納するメモリと、コンピューティングデバイスに、仮想環境において第１の仮想スケールでの閲覧用に仮想環境の第１の仮想位置の仮想レンダリングを表示すること、仮想環境における第２の仮想位置の選択と、第２の仮想位置の閲覧用の第２の仮想スケールの選択とを示す入力を受け付けること、および入力を受け付けた後に、第２の仮想スケールで第２の仮想位置にテレポートすることを行なわせるための命令を実行するように構成されたプロセッサとを含む、システム。
【００８０】
例１５：例１４のシステムにおいて、プロセッサは入力を検出するように構成され、入力は、コンピューティングデバイスに動作可能に結合されたハンドヘルド電子デバイスにおいて受け付けられ、入力は、ハンドヘルド電子デバイスの入力デバイスの操作を含む。
【００８１】
例１６：例１５のシステムにおいて、入力を検出することはさらに、入力デバイスの操作に応答して生成される仮想ビームの部分を検出することを含み、仮想ビームの検出された部分は、第２の仮想位置の選択に対応しており、入力を検出することはさらに、第２の仮想スケールの選択に対応する仮想ビームの上記部分の仮想動作を検出することを含む。
【００８２】
例１７：例１６のシステムにおいて、仮想ビームの上記部分の検出された仮想動作は、第１の仮想スケールから第２の仮想スケールへの仮想スケールの拡大に対応する仮想ビームの上記部分の上方向への仮想動作、もしくは、第１の仮想スケールから第２の仮想スケールへの仮想スケールの縮小に対応する仮想ビームの上記部分の下方向への仮想動作のうちの少なくとも１つを含む仮想ビームの上記部分の第１の仮想動作、または、仮想ビームの上記部分の横方向への仮想動作、もしくは、仮想ビームの上記部分の前方向および後方向への仮想動作のうちの少なくとも１つを含み、選択された第２の仮想位置に対するテレポート到着位置の仮想シフトに対応する仮想ビームの上記部分の第２の仮想動作のうちの少なくとも１つを含む。
【００８３】
例１８：例１６または例１７のシステムにおいて、プロセッサは、さらにコンピューティングデバイスに、第２の仮想位置の選択および仮想スケールの選択を検出した後、かつ、入力に応答して第２の仮想位置にテレポートする前に、入力デバイスの取消し動作と、仮想ビームの上記部分の第２の仮想位置から離れる方向への対応する動作とを検出すること、および検出された入力デバイスの取消し動作および仮想ビームの上記部分の対応する動作に応答して、第２の仮想位置および第２の仮想スケールの選択を取消すことを行なわせるための命令を実行するように構成されている。
【００８４】
例１９：例１８のシステムにおいて、入力デバイスの取消し動作、および仮想ビームの上記部分の対応する動作は、予め設定された角度距離よりも大きい入力デバイスの動作の検出を含む。
【００８５】
例２０：例１５〜例１９のうちの１つの例のシステムにおいて、入力デバイスは、ハンドヘルド電子デバイスのトリガ、ハンドヘルド電子デバイスのボタン、ハンドヘルド電子デバイスのジョイスティック、ハンドヘルド電子デバイスのトグルスイッチ、またはハンドヘルド電子デバイスのタッチセンシティブ面のうちの少なくとも１つを含む。
【００８６】
本明細書に記載の通り、記載されている実装例の特定の特徴を説明してきたが、ここで、当業者は、数多くの変形、代替形、変更、および均等物に想到するであろう。したがって、以下の請求項が、実装例の範囲に含まれるすべてのこのような変形および変更をカバーすることを意図していることが、理解されるであろう。これらの実装例は限定ではなく専ら例示を目的として示されており形態および詳細事項にさまざまな変更を加えることができることが、理解されるべきである。本明細書に記載の装置および／または方法はいずれの部分も、相互に相容れない組合わせを除いて、任意の組合わせが可能である。本明細書に記載の実装例は、記載されているさまざまな実装例の機能、構成要素および／または特徴の、さまざまな組合わせおよび／または下位の組合わせを含み得る。
【図１】
2019502178.tif 000003
【図２Ａ】
2019502178.tif 000004
【図２Ｂ】
2019502178.tif 000005
【図３】
2019502178.tif 000006
【図４Ａ】
2019502178.tif 000007
【図４Ｂ】
2019502178.tif 000008
【図４Ｃ】
2019502178.tif 000009
【図４Ｄ】
2019502178.tif 000010
【図５Ａ】
2019502178.tif 000011
【図５Ｂ】
2019502178.tif 000012
【図５Ｃ】
2019502178.tif 000013
【図５Ｄ】
2019502178.tif 000014
【図５Ｅ】
2019502178.tif 000015
【図５Ｆ】
2019502178.tif 000016
【図６Ａ】
2019502178.tif 000017
【図６Ｂ】
2019502178.tif 000018
【図６Ｃ】
2019502178.tif 000019
【図６Ｄ】
2019502178.tif 000020
【図７】
2019502178.tif 000021
【図８】
2019502178.tif 000022
【手続補正書】
【提出日】平成30年5月28日(2018.5.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
仮想環境に対する第１の仮想スケールでの閲覧用に、前記仮想環境における第１の仮想位置の仮想レンダリングを表示するステップと、
第２の仮想位置の選択と、前記第２の仮想位置の閲覧用の第２の仮想スケールの選択との入力を受け付けるステップとを含み、前記第１の仮想スケールと前記第２の仮想スケールとは異なっており、
前記入力を受け付けた後に、前記第２の仮想スケールで前記第２の仮想位置にテレポートするステップを含む、方法。
【請求項２】
前記入力を受け付けるステップは、
入力デバイスの操作を検出するステップと、
前記入力デバイスから前記第２の仮想位置に向けられた仮想ビームの部分の位置に基づいて、前記第２の仮想位置の前記選択を検出するステップと、
前記入力デバイスのスケール変更動作、および前記仮想ビームの対応する動作を検出するステップとを含み、前記入力デバイスの前記スケール変更動作は前記第２の仮想スケールの選択に対応している、請求項１に記載の方法。
【請求項３】
前記第２の仮想スケールで前記第２の仮想位置にテレポートするステップは、
前記第２の仮想位置の前記選択および前記第２の仮想スケールの前記選択を検出した後に、前記入力デバイスの前記操作の解放を検出するステップと、
前記入力デバイスの前記操作の前記検出された解放に応答して、前記第２の仮想スケールで前記第２の仮想位置にテレポートするステップとを含む、請求項２に記載の方法。
【請求項４】
前記入力デバイスを操作するステップは、前記第２の仮想位置および前記第２の仮想スケールが選択されるまでは前記入力デバイスの前記操作を解放せずに前記入力デバイスの前記操作を維持するステップを含む、請求項２または３に記載の方法。
【請求項５】
前記第２の仮想スケールで前記第２の仮想位置にテレポートするステップは、前記入力デバイスの前記操作の解放時に同時に前記第２の仮想スケールで前記第２の仮想位置にテレポートするステップを含む、請求項２〜４のいずれか１項に記載の方法。
【請求項６】
前記入力デバイスは、ハンドヘルド電子デバイスのトリガ、前記ハンドヘルド電子デバイスのタッチセンシティブ面、前記ハンドヘルド電子デバイスのボタン、前記ハンドヘルド電子デバイスのジョイスティック、または前記ハンドヘルド電子デバイスのトグルスイッチのうちの少なくとも１つを含む、請求項２〜５のいずれか１項に記載の方法。
【請求項７】
前記第２の仮想位置の前記選択および前記仮想スケールの前記選択を検出した後、かつ、前記入力デバイスの前記操作の前記解放を検出する前に、前記入力デバイスの取消し動作と、前記第２の仮想位置から離れる方向への前記仮想ビームの対応する動作とを検出するステップと、
前記検出された前記入力デバイスの取消し動作および前記仮想ビームの対応する動作に応答して、前記第２の仮想位置および前記第２の仮想スケールの選択を取消すステップとをさらに含む、請求項３に記載の方法。
【請求項８】
前記入力デバイスの取消し動作と前記仮想ビームの対応する動作とを検出するステップは、予め設定された閾値を上回る前記入力デバイスの動作を検出するステップを含む、請求項７に記載の方法。
【請求項９】
前記予め設定された閾値を上回る前記入力デバイスの動作を検出するステップは、予め設定された角度距離よりも大きい前記入力デバイスの動作を検出するステップを含む、請求項８に記載の方法。
【請求項１０】
前記入力デバイスの物理的動作を検出するステップは、前記第２のスケールの前記選択に対応する前記入力デバイスの第１の動作を検出するステップを含み、前記第１の動作を検出するステップは、
前記仮想ビームの前記部分の初期仮想位置に対応する前記入力デバイスの初期位置を検出するステップと、
前記仮想ビームの前記部分の前記初期仮想位置から上方向への仮想動作に対応し、かつ前記第１の仮想スケールから前記第２の仮想スケールへの仮想スケールの拡大に対応する、前記入力デバイスの前記初期位置から上方向への第１の物理的動作を検出するステップ、または
前記仮想ビームの前記部分の前記初期仮想位置から下方向への仮想動作に対応し、かつ前記第１の仮想スケールから前記第２の仮想スケールへの仮想スケールの縮小に対応する、前記入力デバイスの前記初期位置から下方向への第２の物理的動作を検出するステップ
のうちの少なくとも１つとを含む、請求項２に記載の方法。
【請求項１１】
前記入力デバイスの物理的動作を検出するステップは、前記選択された第２の仮想位置に対するテレポート到着位置のシフトに対応する前記入力デバイスの第３の物理的動作を検出するステップを含み、前記第３の物理的動作を検出するステップは、
前記ビームの前記部分の横方向への仮想シフトに対応する前記入力デバイスの物理的動作を検出するステップ、または
前記ビームの前記部分の前方向および後方向への仮想シフトに対応する前記入力デバイスの物理的動作を検出するステップ、
のうちの少なくとも１つと、
前記検出された前記入力デバイスの第３の物理的動作および前記ビームの前記部分の対応する仮想シフトに基づいて、前記選択された第２の仮想位置に対して前記テレポート到着位置をシフトするステップとを含む、請求項１０に記載の方法。
【請求項１２】
前記第２の仮想スケールで前記第２の仮想位置にテレポートするステップは、
前記第２の仮想位置の前記選択を検出した後に、前記入力デバイスの前記操作デバイスの前記操作の解放を検出し、前記第２の仮想スケールの前記選択を検出し、前記テレポート到着位置をシフトするステップと、
前記入力デバイスの前記操作デバイスの前記操作の前記検出された解放に応答して、前記第２の仮想スケールかつ前記シフトしたテレポート到着位置で、前記第２の仮想位置にテレポートするステップとを含む、請求項１１に記載の方法。
【請求項１３】
前記第２の仮想スケールかつ前記シフトしたテレポート到着位置で前記第２の仮想位置にテレポートするステップは、同時に前記第２の仮想スケールかつ前記シフトしたテレポート到着位置で前記第２の仮想位置にテレポートするステップとを含む、請求項１２に記載の方法。
【請求項１４】
仮想環境を生成するように構成されたコンピューティングデバイスを備えるシステムであって、前記コンピューティングデバイスは、
実行可能な命令を格納するメモリと、
前記コンピューティングデバイスに、
前記仮想環境において第１の仮想スケールでの閲覧用に前記仮想環境の第１の仮想位置の仮想レンダリングを表示すること、
前記仮想環境における第２の仮想位置の選択と、前記第２の仮想位置の閲覧用の第２の仮想スケールの選択とを示す入力を受け付けること、および
前記入力を受け付けた後に、前記第２の仮想スケールで前記第２の仮想位置にテレポートすること
を行なわせるための前記命令を実行するように構成されたプロセッサとを含む、システム。
【請求項１５】
前記プロセッサは前記入力を検出するように構成され、
前記入力は、前記コンピューティングデバイスに動作可能に結合されたハンドヘルド電子デバイスにおいて受け付けられ、
前記入力は、前記ハンドヘルド電子デバイスの入力デバイスの操作を含む、請求項１４に記載のシステム。
【請求項１６】
前記入力を検出することはさらに、
前記入力デバイスの前記操作に応答して生成される仮想ビームの部分を検出することを含み、前記仮想ビームの前記検出された部分は、前記第２の仮想位置の前記選択に対応しており、
前記入力を検出することはさらに、
前記第２の仮想スケールの前記選択に対応する前記仮想ビームの前記部分の仮想動作を検出することを含む、請求項１５に記載のシステム。
【請求項１７】
前記仮想ビームの前記部分の前記検出された仮想動作は、
前記第１の仮想スケールから前記第２の仮想スケールへの仮想スケールの拡大に対応する前記仮想ビームの前記部分の上方向への仮想動作、もしくは
前記第１の仮想スケールから前記第２の仮想スケールへの仮想スケールの縮小に対応する前記仮想ビームの前記部分の下方向への仮想動作
のうちの少なくとも１つを含む前記仮想ビームの前記部分の第１の仮想動作、または
前記仮想ビームの前記部分の横方向への仮想動作、もしくは
前記仮想ビームの前記部分の前方向および後方向への仮想動作
のうちの少なくとも１つを含み、前記選択された第２の仮想位置に対するテレポート到着位置の仮想シフトに対応する前記仮想ビームの前記部分の第２の仮想動作
のうちの少なくとも１つを含む、請求項１６に記載のシステム。
【請求項１８】
前記プロセッサは、さらに前記コンピューティングデバイスに、
前記第２の仮想位置の前記選択および前記仮想スケールの前記選択を検出した後、かつ、前記入力に応答して前記第２の仮想位置にテレポートする前に、前記入力デバイスの取消し動作と、前記仮想ビームの前記部分の前記第２の仮想位置から離れる方向への対応する動作とを検出すること、および
前記検出された前記入力デバイスの取消し動作および前記仮想ビームの前記部分の対応する動作に応答して、前記第２の仮想位置および前記第２の仮想スケールの選択を取消すこと
を行なわせるための前記命令を実行するように構成されている、請求項１６または１７に記載のシステム。
【請求項１９】
前記入力デバイスの前記取消し動作、および前記仮想ビームの前記部分の対応する動作は、予め設定された角度距離よりも大きい前記入力デバイスの動作の検出を含む、請求項１８に記載のシステム。
【請求項２０】
前記入力デバイスは、前記ハンドヘルド電子デバイスのトリガ、前記ハンドヘルド電子デバイスのボタン、前記ハンドヘルド電子デバイスのジョイスティック、前記ハンドヘルド電子デバイスのトグルスイッチ、または前記ハンドヘルド電子デバイスのタッチセンシティブ面のうちの少なくとも１つを含む、請求項１５〜１９のいずれか１項に記載のシステム。
【請求項２１】
コンピュータによって実行されるプログラムであって、前記プログラムは、前記コンピュータに、請求項１〜１４のいずれか１項に記載の方法を実行させる、プログラム。
【国際調査報告】
2019502178.tif 000023
2019502178.tif 000024