(57)【要約】      （修正有）【課題】ユーザに画像ナビゲーション経験を提供する。【解決手段】コンピューティングデバイス120のディスプレイ122上で表示される多次元空間の第1の画像332は、空間が第1の画像へと延びる方向を示すオーバーレイライン502を備え、それによって第2の画像が第1の画像にオーバーレイラインの方向に沿って接続される。ディスプレイの一部にわたるスワイプを示すユーザ入力を受け取る。スワイプが少なくとも部分的に、ユーザが空間と相互作用できるオーバーレイラインの周りのエリアを規定する相互作用ゾーン602内で発生したときに、第1の画像と異なる画像を表示する要求をスワイプが示す。第2の画像は、スワイプおよびオーバーレイラインの方向に沿って第1の画像と第2の画像を接続する接続グラフに基づいて表示するために、選択および提供される。【選択図】図６
2020053058.tif 000002
【特許請求の範囲】
【請求項１】
多次元空間をナビゲーションする方法であって、
1つまたは複数のプロセッサによって、クライアントコンピューティングデバイスのディスプレイ上で表示するための多次元空間の第1の画像の第1の方向と、前記第1の画像の一部におけるオーバーレイシェイプとを提供するステップと、
前記1つまたは複数のプロセッサによって、前記ディスプレイ上でスワイプ入力を受け取るステップであって、前記スワイプ入力が前記ディスプレイの開始画素および終了画素によって規定される、ステップと、
前記1つまたは複数のプロセッサによって、前記開始画素および前記終了画素に基づいて、前記スワイプ入力が、相互作用ゾーンの少なくとも部分的に外側である前記ディスプレイ上で受け取られたと決定するステップであって、前記相互作用ゾーンが、前記オーバーレイシェイプの周りのエリアを規定する、ステップと、
前記1つまたは複数のプロセッサによって、前記開始画素の位置および前記終了画素の位置に基づいて、前記第1の画像の第2の方向を選択するステップであって、前記第2の方向が前記第1の方向とは異なる、ステップと、
前記1つまたは複数のプロセッサによって、前記クライアントコンピューティングデバイスの前記ディスプレイ上で表示するための前記第1の画像の前記第2の方向を提供するステップと
を含む、方法。
【請求項２】
前記スワイプ入力が、前記第1の画像とは異なる方向を表示するための要求を示すと決定するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記スワイプの前記開始画素および前記スワイプの前記終了画素に基づいて、前記スワイプ入力の向き、速度、および大きさのうちの少なくとも1つを決定するステップをさらに含み、
前記第2の方向を選択するステップが、前記向き、速度、および大きさのうちの少なくとも1つにさらに基づく、請求項1に記載の方法。
【請求項４】
前記オーバーレイシェイプが、前記多次元空間が前記第1の画像へと延びる方向を示す、請求項1に記載の方法。
【請求項５】
前記オーバーレイシェイプが、ライン、ディスク、および矢印のうちの1つである、請求項1に記載の方法。
【請求項６】
前記オーバーレイシェイプが、オーバーレイラインであり、
前記開始画素および前記終了画素に基づいて、前記スワイプ入力が、前記オーバーレイラインに垂直な閾値角度内にあると決定するステップをさらに含む、請求項5に記載の方法。
【請求項７】
前記第2の方向が、前記第1の画像の、前記第1の方向から回転またはパンされたビューのうちの少なくとも1つである、請求項1に記載の方法。
【請求項８】
前記第2の方向が、前記第1の画像の前記パンされたビューであり、前記オーバーレイシェイプが、前記ディスプレイ上の中心にあり、
前記方法が、
前記第1の画像上で表示するために第2のオーバーレイシェイプを提供するステップと、
前記ディスプレイ上で第2のオーバーレイシェイプを中心とするステップと
をさらに含む、請求項7に記載の方法。
【請求項９】
前記相互作用ゾーンの少なくとも部分的に内側にある前記クライアントコンピューティングデバイスの前記ディスプレイ上でタップ入力を受け取るステップと、
前記クライアントコンピューティングデバイスの前記ディスプレイ上で第2の画像を提供するステップと
をさらに含む、請求項1に記載の方法。
【請求項１０】
表示のために前記第1の画像と前記第2の画像との間の遷移画像を提供するステップをさらに含み、前記遷移画像が、前記第1の画像および前記第2の画像よりも詳細ではないサムネイル画像として提供される、請求項9に記載の方法。
【請求項１１】
少なくとも１つの命令またはデータを記録するように構成されたメモリと、
前記メモリに動作可能に結合された1つまたは複数のプロセッサと
を備え、前記1つまたは複数のプロセッサが、
クライアントコンピューティングデバイスのディスプレイ上で表示するための多次元空間の第1の画像の第1の方向と、前記第1の画像の一部におけるオーバーレイシェイプとを提供することと、
前記ディスプレイ上でスワイプ入力を受け取ることであって、前記スワイプ入力が前記ディスプレイの開始画素および終了画素によって規定される、受け取ることと、
前記開始画素および前記終了画素に基づいて、前記スワイプ入力が、相互作用ゾーンの少なくとも部分的に外側である前記ディスプレイ上で受け取られたと決定することであって、前記相互作用ゾーンが、前記オーバーレイシェイプの周りのエリアを規定する、決定することと、
前記開始画素の位置および前記終了画素の位置に基づいて、前記第1の画像の第2の方向を選択することであって、前記第2の方向が前記第1の方向とは異なる、選択することと、
前記クライアントコンピューティングデバイスの前記ディスプレイ上で表示するための前記第1の画像の前記第2の方向を提供することと
を行うように構成される、システム。
【請求項１２】
前記1つまたは複数のプロセッサは、前記スワイプ入力が、前記第1の画像とは異なる方向を表示するための要求を示すと決定するようにさらに構成される、請求項11に記載のシステム。
【請求項１３】
前記1つまたは複数のプロセッサは、前記スワイプの前記開始画素および前記スワイプの前記終了画素に基づいて、前記スワイプ入力の向き、速度、および大きさのうちの少なくとも1つを決定するようにさらに構成され、
前記第2の方向を選択することが、前記向き、速度、および大きさのうちの少なくとも1つにさらに基づく、請求項11に記載のシステム。
【請求項１４】
前記オーバーレイシェイプが、前記多次元空間が前記第1の画像へと延びる方向を示す、請求項11に記載のシステム。
【請求項１５】
前記第2の方向が、前記第1の画像の、前記第1の方向から回転またはパンされたビューのうちの少なくとも1つである、請求項11に記載のシステム。
【請求項１６】
前記1つまたは複数のプロセッサは、
前記相互作用ゾーンの少なくとも部分的に内側にある前記クライアントコンピューティングデバイスの前記ディスプレイ上でタップ入力を受け取ることと、
前記クライアントコンピューティングデバイスの前記ディスプレイ上で第2の画像を提供することと
をさらに行うように構成される、請求項11に記載のシステム。
【請求項１７】
前記1つまたは複数のプロセッサは、表示のために前記第1の画像と前記第2の画像との間の遷移画像を提供するようにさらに構成され、前記遷移画像が、前記第1の画像および前記第2の画像よりも詳細ではないサムネイル画像として提供される、請求項16に記載のシステム。
【請求項１８】
命令を記録した非一時的コンピュータ可読記録媒体であって、
前記命令は、1つまたは複数のプロセッサによって実行されたときに、前記1つまたは複数のプロセッサに、
クライアントコンピューティングデバイスのディスプレイ上で表示するための多次元空間の第1の画像の第1の方向と、前記第1の画像の一部におけるオーバーレイシェイプとを提供することと、
前記ディスプレイ上でスワイプ入力を受け取ることであって、前記スワイプ入力が前記ディスプレイの開始画素および終了画素によって規定される、受け取ることと、
前記開始画素および前記終了画素に基づいて、前記スワイプ入力が、相互作用ゾーンの少なくとも部分的に外側である前記ディスプレイ上で受け取られたと決定することであって、前記相互作用ゾーンが、前記オーバーレイシェイプの周りのエリアを規定する、決定することと、
前記開始画素の位置および前記終了画素の位置に基づいて、前記第1の画像の第2の方向を選択することであって、前記第2の方向が前記第1の方向とは異なる、選択することと、
前記クライアントコンピューティングデバイスの前記ディスプレイ上で表示するための前記第1の画像の前記第2の方向を提供することと
を行わせる、非一時的コンピュータ可読記録媒体。
【請求項１９】
前記命令は、前記1つまたは複数のプロセッサによって実行されたときに、前記1つまたは複数のプロセッサに、
前記スワイプ入力が、前記第1の画像とは異なる方向を表示するための要求を示すと決定することをさらに行わせる、請求項18に記載の非一時的コンピュータ可読記録媒体。
【請求項２０】
前記第2の方向が、前記第1の画像の、前記第1の方向から回転またはパンされたビューのうちの少なくとも1つである、請求項18に記載の非一時的コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連技術の相互参照
本出願は、その開示がここで参照により本明細書に組み込まれる、2015年12月17日に出願された米国特許出願第14/972,843号の継続出願である。
【背景技術】
【０００２】
ユーザが時間的または空間的になどで順番に画像を見ることを様々なシステムが可能にする。いくつかの例では、これらのシステムは、離れた場所または興味深い場所で、ナビゲーション経験を提供することができる。いくつかのシステムは、パノラマの表示された部分の縁部上でクリックすること、およびパノラマをクリックした縁部の方向に「動く」ように見せることによって、仮想世界内でユーザが回転しているようにユーザに感じさせることを可能にする。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示の一態様は、多次元空間をナビゲーションする、コンピュータ実装される方法を提供する。本方法は、1つまたは複数のプロセッサによって、クライアントコンピューティングデバイスのディスプレイ上で表示するための多次元空間の第1の画像、第1の画像の一部にわたって延び、かつ多次元空間が第1の画像へと延びる方向を示すオーバーレイラインを提供するステップであって、それによって第2の画像が前記第1の画像に前記オーバーレイラインの方向に沿って接続される、ステップと、1つまたは複数のプロセッサによって、ディスプレイの一部にわたるスワイプを示すユーザ入力を受け取るステップであって、スワイプがディスプレイの開始画素および終了画素によって規定される、ステップと、1つまたは複数のコンピューティングデバイスによって、開始画素および終了画素に基づいて、第1の画像の少なくとも部分的に相互作用ゾーン内でスワイプが発生したことを決定するステップであって、相互作用ゾーンが、ユーザが多次元空間と相互作用できるオーバーレイラインの周りのエリアを規定する、ステップと、スワイプが少なくとも部分的に相互作用ゾーン内で発生したときに、1つまたは複数のプロセッサによって、第1の画像と異なる画像を表示する要求をスワイプが示すことを決定するステップと、第1の画像と異なる画像を表示する要求をスワイプが示すときに、1つまたは複数のコンピューティングデバイスによって、スワイプの開始点、スワイプの終了点、およびオーバーレイラインの方向に沿った第1の画像と第2の画像を接続する接続グラフに基づいて第2の画像を選択するステップと、1つまたは複数のコンピューティングデバイスによって、多次元空間中の動きの感覚を提供するために、ディスプレイ上に表示するための第2の画像を提供するステップとを含む。
【０００４】
一例では、本方法はまた、第1の画像と第2の画像との間で表示するための遷移画像を提供するステップであって、遷移画像が、第1の画像および第2の画像よりも詳細ではないサムネイル画像として提供されるステップを含む。別の例では、本方法はまた、オーバーレイラインとのユーザのアクションなしに閾値の時間期間が経過した後、オーバーレイラインをフェードアウトさせる命令を提供するステップを含む。この例では、オーバーレイラインをフェードアウトさせた後に、本方法は、ディスプレイ上の第2のユーザ入力を受け取るステップと、第2のユーザ入力に応答してオーバーレイラインを再表示する命令を提供するステップとを含む。別の例では、本方法はまた、スワイプの開始画素およびスワイプの終了画素に基づいてスワイプの方向および大きさを決定するステップを含み、第2の画像を選択するステップが、方向および大きさにさらに基づく。
【０００５】
別の例では、本方法はまた、第2の画像の一部にわたって延び、かつ多次元空間が第2の画像へと延びる方向を示す第2のオーバーレイラインを第2の画像に提供するステップであって、それによって第3の画像が第2の画像に接続グラフ中の第2のオーバーレイラインの方向に沿って接続される、ステップを含む。この例では、本方法は、第2のスワイプを示す第2のユーザ入力を受け取るステップと、多次元空間が第2の画像へと延びる方向に垂直な閾値角度内に第2のスワイプがあるかを判定するステップと、多次元空間が第2の画像へと延びる方向に垂直な閾値角度内に第2のスワイプがあるときに、第2の画像の多次元空間にわたってパンするステップとを含む。あるいは、本方法はまた、第2のスワイプを示す第2のユーザ入力を受け取るステップと、多次元空間が第2の画像へと延びる方向に垂直な閾値角度内に第2のスワイプがあるかを判定するステップと、多次元空間が第2の画像へと延びる方向に垂直な閾値角度内に第2のスワイプがあるときに、第2の画像内で向きを変えるステップとを含む。別の代替形態では、本方法はまた、第2のスワイプを示す第2のユーザ入力を受け取るステップと、多次元空間が第2の画像へと延びる方向に垂直な閾値角度内に第2のスワイプがあるかを判定するステップと、多次元空間が第2の画像へと延びる方向に垂直な閾値角度内に第2のスワイプがあるときに、第2の画像から接続グラフに隣接する第2の接続グラフ上に位置する第3の画像に切り替えるステップであって、第2の画像と第3の画像が接続グラフ中に方向接続を有さないステップとを含む。この例では、本方法はまた、第2の画像での表示が、第3のオーバーレイラインであるステップを証明するステップであって、第3のオーバーレイラインが第2の画像の現在のビューに最も近い第2のナビゲーション経路を表し、第3のオーバーレイラインと第2のオーバーレイラインが、第2の画像と表示されるときに互いに交差するように第3のオーバーレイラインが提供されるステップを含む。加えて、本方法は、第2のオーバーレイラインに沿った画像から第3のオーバーレイラインに沿った画像への遷移の要求を示す第3のオーバーレイラインに沿った第2のユーザ入力を受け取るステップと、第2のユーザ入力に応答して、表示する第3の画像を提供するステップとを含み、第3の画像が接続グラフ中の第3のオーバーレイラインに沿って配置される。さらに、本方法は、接続グラフ中の画像間の接続に基づいて、第2の画像と第3の画像との間の遷移として連続して表示するための画像のセットを選択するステップと、画像のセットをディスプレイ上に表示するために提供するステップとを含む。加えて、本方法はまた、画像のセットを提供する前に、第1の接続グラフと異なる第2の接続グラフ中の画像のセットのうちの2つの画像間の接続に基づいて、少なくとも1つの画像を除去するために、画像のセットをフィルタリングするステップであって、第2の画像と第3の画像との間の遷移として表示するためフィルタリングされた画像のセットが提供されるステップを含む。
【０００６】
本開示の別の態様は、システムを提供する。本システムは、各々が1つまたは複数のプロセッサを有する、1つまたは複数のコンピューティングデバイスを含む。1つまたは複数のコンピューティングデバイスは、クライアントコンピューティングデバイスのディスプレイ上で表示するための多次元空間の第1の画像、およびオーバーレイラインの方向に沿って第1の画像に第2の画像が接続されるような、第1の画像の一部にわたって延び、かつ多次元空間が第1の画像へと延びる方向を示すオーバーレイラインを提供し、ディスプレイの一部にわたるスワイプを示すユーザ入力を受け取り、スワイプがディスプレイの開始画素および終了画素によって規定され、開始画素および終了画素に基づいて、第1の画像の少なくとも部分的に相互作用ゾーン内でスワイプが発生したことを決定し、相互作用ゾーンが、ユーザが多次元空間と相互作用できるオーバーレイラインの周りのエリアを規定し、スワイプが少なくとも部分的に相互作用ゾーン内で発生したときに、第1の画像と異なる画像を表示する要求をスワイプが示すことを決定し、第1の画像と異なる画像を表示する要求をスワイプが示すときに、スワイプの開始点、スワイプの終了点、およびオーバーレイラインの方向に沿った第1の画像と第2の画像を接続する接続グラフに基づいて第2の画像を選択し、多次元空間中の動きの感覚を提供するために、ディスプレイ上に表示するための第2の画像を提供するように構成される。
【０００７】
一例では、1つまたは複数のコンピューティングデバイスは、第1の画像と第2の画像との間で表示するための遷移画像を提供するようにさらに構成され、遷移画像が、第1の画像および第2の画像よりも詳細ではないサムネイル画像として提供される。別の例では、1つまたは複数のコンピューティングデバイスは、オーバーレイラインとのユーザのアクションなしに閾値の時間期間が経過した後、オーバーレイラインをフェードアウトさせる命令を提供するようにさらに構成される。この例では、オーバーレイラインをフェードアウトさせた後に、1つまたは複数のコンピューティングデバイスが、ディスプレイ上の第2のユーザ入力を受け取り、第2のユーザ入力に応答してオーバーレイラインを再表示する命令を提供するようにさらに構成される。別の例では、1つまたは複数のコンピューティングデバイスが、スワイプの開始画素およびスワイプの終了画素に基づいてスワイプの方向および大きさを決定するようにさらに構成され、第2の画像を選択することが、方向および大きさにさらに基づく。別の例では、1つまたは複数のコンピューティングデバイスが、第2の画像の一部にわたって延び、かつ多次元空間が第2の画像へと延びる方向を示す第2のオーバーレイラインを第2の画像に提供するようにさらに構成され、それによって第3の画像が第2の画像に接続グラフ中の第2のオーバーレイラインの方向に沿って接続される。
【０００８】
本開示のさらなる態様は、プログラムのコンピュータ可読命令が記憶される、非一時的コンピュータ可読記憶デバイスを提供する。命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに方法を実施させる。本方法は、クライアントコンピューティングデバイスのディスプレイ上で表示するための多次元空間の第1の画像、および第1の画像の一部にわたって延び、かつ多次元空間が第1の画像へと延びる方向を示すオーバーレイラインを提供するステップであって、それによって第2の画像が第1の画像にオーバーレイラインの方向に沿って接続される、ステップと、ディスプレイの一部にわたるスワイプを示すユーザ入力を受け取るステップであって、スワイプがディスプレイの開始画素および終了画素によって規定される、ステップと、開始画素および終了画素に基づいて、第1の画像の少なくとも部分的に相互作用ゾーン内でスワイプが発生したことを決定するステップであって、相互作用ゾーンが、ユーザが多次元空間と相互作用できるオーバーレイラインの周りのエリアを規定する、ステップと、スワイプが少なくとも部分的に相互作用ゾーン内で発生したときに、第1の画像と異なる画像を表示する要求をスワイプが示すことを決定するステップと、第1の画像と異なる画像を表示する要求をスワイプが示すときに、スワイプの開始点、スワイプの終了点、およびオーバーレイラインの方向に沿った第1の画像と第2の画像を接続する接続グラフに基づいて第2の画像を選択するステップと、多次元空間中の動きの感覚を提供するために、ディスプレイ上に表示するための第2の画像を提供するステップとを含む。
【図面の簡単な説明】
【０００９】
【図１】本開示の態様による例示的なシステムの機能図である。
【図２】図1の例示的なシステムの実体図である。
【図３】本開示の態様による画像およびデータの例示的な表現である。
【図４】本開示の態様による例示的な画像グラフの表現である。
【図５】本開示の態様による例示的なクライアントコンピューティングデバイスおよびスクリーンショットである。
【図６】本開示の態様による例示的なクライアントコンピューティングデバイス、スクリーンショット、およびデータの表現である。
【図７】本開示の態様による例示的なクライアントコンピューティングデバイスおよびデータの表現である。
【図８Ａ】本開示の態様によるユーザ入力の例である。
【図８Ｂ】本開示の態様によるユーザ入力の例である。
【図９】本開示の態様による例示のデータの表現である。
【図１０】本開示の態様による別の例示的なクライアントコンピューティングデバイスおよびスクリーンショットである。
【図１１】本開示の態様によるさらに例示的なクライアントコンピューティングデバイスおよびスクリーンショットである。
【図１２】本開示の態様によるさらに別の例示的なクライアントコンピューティングデバイスおよびスクリーンショットである。
【図１３】本開示の態様による別の例示のデータの表現である。
【図１４】本開示の態様によるさらなる例示のデータの表現である。
【図１５Ａ】本開示の態様による別の例示的なクライアントコンピューティングデバイスおよびスクリーンショットである。
【図１５Ｂ】本開示の態様による画像グラフの例示的な表現である。
【図１６】本開示の態様による流れ図である。
【発明を実施するための形態】
【００１０】
概略
本技術は、ユーザが第一者または第三者のビューにおける多次元環境内でナビゲーションすることを可能にするインターフェースに関する。いくつかの実施形態では、環境は、モデルに画像をマッピングすることによりレンダリングされる3次元モデル、またはこれらの画像の互いの2次元または3次元の関係を識別する情報を有する、一連の緯度経度を調べた(たとえば、向きおよび場所情報を関連付けた)画像を含む場合がある。
【００１１】
多次元空間中の「臨場感のある」動きを実現するために、インターフェースは、連続的な動き、直感的な回転、シーンを見回すこと、および前後への動きを可能にしてもよい。たとえば、タッチ制御および/または動き制御を使用して多次元空間中でユーザが「移動」してもよい方向をユーザに指示するため、参照線を表示してもよい。線に対して異なる方向にスワイプすることによって、ユーザが単に向きを変えて見回すことを試みているときと比較して、ユーザが動こうとしているときおよび方向をインターフェースが容易に認識してもよい。
【００１２】
インターフェースを提供するため、複数の緯度経度を調べた画像が利用可能でなければならない。緯度経度情報と関連付けることに加えて、画像は、1つまたは複数の画像グラフ中で互いに接続されてもよい。グラフは、画像間の場所および距離に基づく手動および自動リンク、カメラが沿って動いたときカメラによって画像が取り込まれるなどの画像が取り込まれる方式、および画像中の任意の所与の点または向きに接続するための画像のセット中の最良の画像を識別する他の方法を含む様々な技法を使用して生成されてもよい。
【００１３】
ユーザに表示するための画像を提供するため、1つまたは複数のサーバコンピューティングデバイスが、これらの1つまたは複数のグラフにアクセスしてもよい。たとえば、ユーザのクライアントコンピューティングデバイスが、場所を識別する画像の要求を送信してもよい。1つまたは複数のサーバコンピューティングデバイスは、場所に対応する画像を識別するために、1つまたは複数の画像グラフにアクセスしてもよい。この画像は、次いで、ユーザのクライアントコンピューティングデバイスに提供されてもよい。
【００１４】
画像を提供することに加えて、1つまたは複数のサーバコンピューティングデバイスは、クライアントコンピューティングデバイスに、ナビゲーション用オーバーレイを表示するための命令を提供してもよい。このオーバーレイは、画像によって表される多次元空間中でユーザが動くことができる方向をユーザに示す線として表されてもよい。線自体は、実際には、ユーザが現在見ている画像と、1つまたは複数の画像グラフ中の他の画像との間の接続に対応してもよい。例として、この線は、画像グラフ中で識別される画像を取り込むためにカメラが動いた道路に対応してもよい。
【００１５】
ユーザはここで、多次元空間を通してナビゲーションするため、線を使用してもよい。たとえば、線は、画像から1つまたは複数の画像グラフ中の異なる画像に動くための相互作用ゾーンをユーザに示唆するために使用されてもよい。ユーザが線の相互作用ゾーン内および線に対してほぼ平行または線に対して何らかの小さい角度だけ異なってスワイプする場合、ユーザのクライアントコンピューティングデバイスは、スワイプおよび画像グラフの特性にしたがう新しい画像に遷移することによって、多次元空間中で「動き」まわってもよい。他の例では、スワイプは、現在の画像内のビューを回転する、または現在の画像中でパンする要求として識別されてもよい。
【００１６】
方向、大きさ、および速度を含むスワイプの特性は、どのようにビューが変わることになるのかを規定するために使用することができる。スワイプの大きさまたは画素での長さは、ビューを前後にどれだけ遠くに動かすかを決定するために使用することができる。加えて、ビューが多次元空間を通してどれだけ速く動いて見えるかを決定するために、スワイプの速度(画素/秒)、およびスワイプの加速度さえも使用されてもよい。
【００１７】
方向は、正規化デバイス座標(NDC)で、y=z平面上に、現在のスクリーン座標および以前のスクリーン座標を逆投影(unprojecting)(2次元から3次元への変換)すること、次いでグラウンド面へと再度投影することによって決定されてもよい。このことによって、シーンの幾何学的配置または地平線と独立した予測可能な方法で、垂直なディスプレイの動きを多次元空間中の前方への動きにマッピングすることが可能となり、水平なディスプレイの動きは、多次元空間中の横方向への動きへのマップにマッピングする。
【００１８】
例として、ユーザがクライアントコンピューティングデバイスのディスプレイ上に表されるビューをタップすると、線が現れてもよい。ユーザは、次いで、ディスプレイの一部に沿ってスワイプしてもよい。スワイプの最初の場所または画素およびスワイプに沿った他の場所を使用して、スワイプの速度が決定されてもよい。スワイプが完了した、またはユーザの指がディスプレイを離れたら、新しい画像への遷移のために、新しい画像へのズームおよびフェードなどの遷移アニメーションが表示される。
【００１９】
スワイプの特性に基づいて識別される画像に到達するため、典型的にはビューが複数の画像を移動するので、これらの複数の画像の最大の解像度は、実際には表示されなくてもよい。サムネイル画像など、代わりのより低い解像度のバージョンの画像が、現在の画像と識別される画像との間の遷移の部分として表示されてもよい。実際に識別される画像が表示されるとき、この画像は、最大の解像度で表示されてもよい。このことが時間および処理電力を節約する場合がある。
【００２０】
線の不透明度、幅、色、および場所などの特性は、多次元空間をナビゲーションすることをユーザがより容易に理解することを可能にするために変えられてもよい。加えて、線と多次元空間のユーザの探査の干渉をさらに減らすために、ユーザがインターフェースと相互作用していないとき、線は示されなくてもよい。例として、ユーザがディスプレイと相互作用しているのかに基づいて、必要に応じて、線が、フェードイン、フェードアウトされてもよい。
【００２１】
いくつかの例では、2つの道路の交差点、というよりむしろ、1つまたは複数の画像グラフにおける交差部分がある場合など、接続グラフは分岐してもよい。オーバーレイを簡単で理解しやすく保つために、現在の視点から短い距離内の現在の線に直接接続される線だけが、像上にオーバーレイされて見えてもよい。1つより多い道路が互いに交差する交差点などの、これらの分岐エリアでは、ユーザは、1つの線から別のものに変えることを望む場合がある。もちろん、前に移動して、交差点の中央で90度回転するのは、不自然を感じることがある。この点に関して、2つの線との間の遷移として、いずれかの線上にない画像を表示することによって、2つの線との間の交差点のコーナーを横切るために、1つまたは複数の画像グラフが使用されてもよい。
【００２２】
本明細書に記載される特徴によって、ユーザが探査をし、一方それと同時に多次元空間の内側の特定の所定の動き経路をたどり、一方それと同時にユーザが「スタック」すること、または無効な方法で動くことを防止することを可能にする。加えて、システムは、ユーザが動こうとしているときとユーザが見回そうとしているときの違いを認識することできる。他のシステムは、これらの動きのタイプを区別するために、複数のタイプの入力を必要とする。これらのシステムは、その場所に向かって動くため、ユーザが特定の場所を指すことを必要とする場合もある。これは、多次元空間中で動くために、ユーザがスワイプすることを可能にするよりもはるかに直観的でなく、ユーザは、動きたいたびに矢印上でタップまたはクリックしなければならないために、連続的な動きを可能にしない。
【００２３】
以下の実施形態の記載および添付図面を参照して考えると、本開示のさらなる態様、特徴、および利点が理解されよう。異なる図面中の同じ参照番号が、同じまたは同様の要素を識別する場合がある。さらに、以下の記載は、限定的ではなく、本技術の範囲は、添付の請求項および等価物によって規定される。例示的な実施形態にしたがう特定のプロセスが、線形な様式で起こると図には示されるが、これは、本明細書で明示的に言及されない限り、必要条件ではない。異なるプロセスが、異なる順番で、または同時に実施されてもよい。別段に言及されない限り、ステップが追加または省略されてもよい。
【００２４】
例示的なシステム
図1および図2は、上で記載された特徴が実施される場合がある、例示的なシステム100を含む。例示的なシステム100は、本開示の範囲を限定するものとして、または本明細書に記載される特徴の有用性として考えられるべきではない。この例では、システム100は、コンピューティングデバイス110、120、130、および140、ならびに記憶システム150を含むことができる。コンピューティングデバイス110の各々は、1つまたは複数のプロセッサ112、メモリ114、および汎用コンピューティングデバイス中に一般的に存在する他の構成要素を含有することができる。コンピューティングデバイス110、120、130、および140の各々のメモリ114は、1つまたは複数のプロセッサ112によって実行することができる命令116を含む、1つまたは複数のプロセッサ112によってアクセス可能な情報を記憶することができる。
【００２５】
メモリは、プロセッサによって取り出し、操作し、または記憶することができるデータ118を含むこともできる。メモリは、ハードドライブ、メモリカード、ROM、RAM、DVD、CD-ROM、書き込み可能、および読取り専用メモリなどの、プロセッサによってアクセス可能な情報を記憶することができる任意の非一時的なタイプであることができる。
【００２６】
命令116は、1つまたは複数のプロセッサにより、機械コードなどの直接実行される、またはスクリプトなどとの間接的に実行される命令の任意のセットであることができる。この点に関し、「命令」、「アプリケーション」、「ステップ」、および「プログラム」という用語は、本明細書では交換可能に使用することができる。命令は、プロセッサによる直接処理のためのオブジェクトコード形式で、または要求に応じて解釈されるもしくは事前にコンパイルされるスクリプトもしくは独立したソースコードモジュールの集合を含む任意の他のコンピューティングデバイス用言語で記憶することができる。命令の機能、方法、およびルーチンは、下でより詳細に説明される。
【００２７】
データ118は、命令116にしたがって、1つまたは複数のプロセッサ112によって、取り出し、記憶、または変更することができる。たとえば、本明細書に記載される主題は任意の特定のデータ構造によって制限されないが、データは、コンピュータのレジスタに、多くの異なるフィールドおよびレコードを有する表としてリレーショナルデータベースに、またはXML文書に、記憶することができる。データは、限定しないが、2進数値、ASCII、またはユニコードなどの任意のコンピューティングデバイス可読形式でフォーマットすることもできる。さらに、データは、数、説明テキスト、所有権のあるコード、ポインタ、他のネットワーク上の場所など他のメモリ中に記憶されるデータへの参照、または関連するデータを計算する機能により使用される情報など、関連する情報を識別するのに十分な任意の情報を含むことができる。
【００２８】
1つまたは複数のプロセッサ112は、市販のCPUなどの任意の従来型のプロセッサであることができる。あるいは、プロセッサは、特定用途向け集積回路("ASIC")または他のハードウェアベースのプロセッサなどの専用構成要素であることができる。必要ではないが、コンピューティングデバイス110のうちの1つまたは複数が、ビデオをデコードすること、画像にビデオフレームを一致させること、ビデオを変形させること、変形したビデオをエンコードすることなどの特定のコンピューティングプロセスをより速くより効率的に実施する専用ハードウェア構成要素を含んでもよい。
【００２９】
図1は、コンピューティングデバイス110のプロセッサ、メモリ、および他の要素を同じブロック内にあるように機能的に図示するが、プロセッサ、コンピュータ、コンピューティングデバイス、またはメモリは、実際には、同じ物理的な筐体内に収納してもしなくてもよい、複数のプロセッサ、コンピュータ、コンピューティングデバイス、またはメモリを備えることができる。たとえば、メモリは、コンピューティングデバイス110のものと異なる筐体中に配置される、ハードドライブまたは他の記憶媒体であることができる。したがって、プロセッサ、コンピュータ、コンピューティングデバイス、またはメモリへの言及は、並列で動作してもしなくてもよい、プロセッサ、コンピュータ、コンピューティングデバイス、またはメモリの集合への言及を含むと理解されよう。たとえば、コンピューティングデバイス110は、負荷バランスしたサーバファーム、分散システムなどとして動作するサーバコンピューティングデバイスを含んでもよい。さらにまた、下に記載されるいくつかの機能は、単一のプロセッサを有する単一のコンピューティングデバイス上で行われるとして示されるが、本明細書に記載される主題の様々な態様は、たとえば、ネットワーク160にわたって情報を通信する複数のコンピューティングデバイスによって実施することができる。
【００３０】
コンピューティングデバイス110の各々は、ネットワーク160の異なるノードであることができ、ネットワーク160の他のノードと直接的および間接的に通信することができる。図1〜図2には少数のコンピューティングデバイスだけが描かれているが、典型的なシステムは、多数の接続されたコンピューティングデバイスを含み、各異なるコンピューティングデバイスは、ネットワーク160の異なるノードにあることができることを理解されたい。本明細書に記載されるネットワーク160および介在するノードは、様々なプロトコルおよびシステムを使用して相互接続することができ、それによって、ネットワークが、インターネット、ワールドワイドウェブ、専用イントラネット、ワイドエリアネットワーク、またはローカルネットワークの部分であることができる。ネットワークは、イーサネット(登録商標)、WiFiおよびHTTP、1つまたは複数の企業に所有権のあるプロトコル、ならびに上記の様々な組合せなどの標準的な通信プロトコルを利用することができる。上で言及したように情報が送受信されるとある種の利点が得られるが、本明細書に記載される主題の他の態様は、情報の送信の任意の特定の方式に限定されない。
【００３１】
例として、コンピューティングデバイス110の各々が、ネットワークを介して記憶システム150ならびにコンピューティングデバイス120、130、および140と通信できるウェブサーバを含むことができる。たとえば、サーバコンピューティングデバイス110のうちの1つまたは複数がネットワーク160を使用して、ユーザ220、230、または240などのユーザに、コンピューティングデバイス120、130、または140のディスプレイ122、132、または142などのディスプレイ上で情報を送信および提示してもよい。この点に関して、コンピューティングデバイス120、130、および140は、クライアントコンピューティングデバイスと考えてもよく、本明細書に記載される特徴のすべてまたは一部を実施してもよい。
【００３２】
クライアントコンピューティングデバイス120、130、および140の各々は、上に記載されるように、1つまたは複数のプロセッサ、メモリ、および命令で、サーバコンピューティングデバイス110と同様に構成してもよい。各クライアントコンピューティングデバイス120、130、または140は、ユーザ220、230、240が使用することを意図した個人用コンピューティングデバイスであってもよく、中央処理装置(CPU)、データおよび命令を記憶するメモリ(たとえば、RAMおよび内蔵ハードドライブ)、ディスプレイ122、132、または142などのディスプレイ(たとえば、スクリーンを有するモニタ、タッチスクリーン、プロジェクタ、テレビジョン、または情報を表示するように動作可能な他のデバイス)、およびユーザ入力デバイス124(たとえば、マウス、キーボード、タッチスクリーン、またはマイクロフォン)などの、個人用コンピューティングデバイスに関連して通常使用される構成要素のすべてを有してもよい。クライアントコンピューティングデバイスは、ビデオストリームを記録するためのカメラ、スピーカ、ネットワークインターフェースデバイス、およびこれらの要素を互いに接続するために使用される構成要素のすべてを含むこともできる。
【００３３】
クライアントコンピューティングデバイス120、130、および140が、各々、フルサイズの個人用コンピューティングデバイスを備えてもよいが、その代わりに、インターネットなどのネットワークを介してサーバとデータをワイヤレスで交換することが可能なモバイルコンピューティングデバイスを備えてもよい。単に例として、クライアントコンピューティングデバイス120は、モバイルフォン、またはインターネットを介して情報を得ることが可能な、ワイヤレス使用可能なPDA、タブレットPC、もしくはネットブックなどのデバイスであってもよい。別の例では、クライアントコンピューティングデバイス130は、ヘッドマウントコンピューティングシステムであってもよい。例として、ユーザは、小さいキーボード、キーパッド、マイクロフォンを使用して、カメラまたはタッチスクリーンで視覚信号を使用して、情報を入力してもよい。
【００３４】
メモリ114と同様に、記憶システム150は、ハードドライブ、メモリカード、ROM、RAM、DVD、CD-ROM、書き込み可能、および読取り専用メモリなどの、サーバコンピューティングデバイス110によってアクセス可能な情報を記憶することができる任意のタイプのコンピュータ化した記憶装置であることができる。加えて、記憶システム150は、同じまたは異なる地理的な場所に物理的に配置されてもよい、複数の異なる記憶デバイス上にデータが記憶される分散記憶システムを含んでもよい。記憶システム150は、図1に示されるようなネットワーク160を介してコンピューティングデバイスに接続されてもよく、および/または、コンピューティングデバイス110、120、130、および140(図示せず)のいずれかに直接接続されてもよい。
【００３５】
記憶システム150は、画像、ならびに、画像識別子、画像の向きおよび場所、画像を取り込んだカメラの向きおよび場所、ならびに固有のカメラ設定(焦点距離、ズームなど)などの関連情報を記憶してもよい。向きおよび場所情報と関連付けることに加えて、画像は、1つまたは複数の画像グラフ中で互いに接続されてもよい。言い換えると、任意の所与の画像から、これらの画像グラフは、その画像にどの他の画像が接続され、どの方向かを示してもよい。
【００３６】
グラフは、場所および画像間の距離に基づく手動および自動リンク、カメラが沿って動いたときカメラによって画像が取り込まれる場所などの画像が取り込まれる方式、および画像中の任意の所与の点または向きに接続するための画像のセット中の最良の画像を識別する他の方法を含む様々な技法を使用して生成されてもよい。たとえば、図3の例300に示されるように、画像は、道路302に沿って車両を操縦することによって取り込まれてもよい。この例では、道路は、複数の車線304、306、308を含む。あるとき、車線304の中で運転される車両が、とりわけ、道路302ならびに建造物330、332、334、336、338などの車両の環境における特徴を含む一連の画像310を取り込む。別のときに、車線306の中で運転され(後で、画像340と画像342との間で車線308に切り替える)同じまたは異なる車両が、一連の画像320を取り込む。一連の画像を取り込む1つまたは複数のカメラが沿って動かされたため、一連の画像が、各画像を画像が取り込まれたときのカメラの場所、画像が取り込まれたときのカメラの(たとえば、向き指示器360に対する)向き、画像が取り込まれた日時を示すタイムスタンプ情報などについての情報と関連付けてもよい。経時的で一連の画像に沿ったカメラの位置の変化は、線350、352によって、画像の対を一緒に「リンク」するために使用されてもよい。さらに、このリンク形成は、カメラの場所および向きならびに画像のタイムスタンプ情報を使用し、経時的なカメラの位置の変化に基づいて、手動または自動的に実施されてもよい。リンク形成によって、こうして、画像グラフの接続、または各隣接する画像の対間の相対的な向きを記述する情報が作られる。この例では、リンク形成の結果は、一連の画像310および画像320に対応する2つの画像グラフ、ならびに画像間の接続である。
【００３７】
グラフ自体が、異なる画像および接続を有してもよい。図4は、一連の画像グラフ410、420、450の例である。この例では、画像グラフ410および420は、道、または道路、経路などに対応する地図グリッドに沿った画像だけを表す画像および接続から、より複雑なグラフをグリッドを含むそれらの画像および接続のみのセットに分けることによって、生成されてもよい。たとえば、画像グラフ410および420は、一連の画像310および320から上で議論したように生成されてもよい。画像グラフ420は、実際には、道路302またはマップ中の道路のグリッドに関係する画像402〜画像430だけを含む。他の接続性グラフは、ここで、第1のグラフ中の画像から、第1のグラフ中のものを超える画像への接続を識別してもよい。たとえば、画像グラフ450は、画像320のシリーズの画像402、404、406、および408と、画像322のシリーズの画像442、444、446、および448との間の接続を含む。加えて、画像グラフ450は、建造物330内からの画像であってもよいが、画像320または322のいずれのシリーズにも含まれない、画像452および545との接続を含む。さらに、これらの接続は、上で議論したように、手動または自動的に描かれてもよい。
【００３８】
例示的な方法
以前に議論したように、以下の動作は、下に記載される正確な順番で実施される必要はない。むしろ、上で述べたように、様々な動作は、異なる順番で、または同時に処理されてよく、動作は、加えられても省略されてもよい。
【００３９】
例として、クライアントコンピューティングデバイスは、ユーザに画像ナビゲーション経験を提供してもよい。クライアントコンピューティングデバイスは、画像を取り出して表示するために、1つまたは複数のサーバコンピューティングデバイスと通信することによってそうしてもよい。1つまたは複数のサーバコンピューティングデバイスは、ユーザへ表示するための画像を提供するために、これらの1つまたは複数のグラフにアクセスしてもよい。たとえば、ユーザのクライアントコンピューティングデバイスが、場所を識別する画像の要求を送信してもよい。1つまたは複数のサーバコンピューティングデバイスは、場所に対応する画像を識別するために、1つまたは複数の画像グラフにアクセスしてもよい。この画像は、次いで、ユーザのクライアントコンピューティングデバイスに提供されてもよい。
【００４０】
画像を提供することに加えて、1つまたは複数のサーバコンピューティングデバイスは、クライアントコンピューティングデバイスに、ナビゲーション用オーバーレイを表示するための命令を提供してもよい。このオーバーレイは、多次元空間中でユーザが動くことができる方向をユーザに示す線として表されてもよい。たとえば、図5は、コンピューティングデバイス120のディスプレイ122上で表示される画像グラフ310の画像444の例示的なビュー500である。ここで、ユーザが動くことができる画像444への方向を示すオーバーレイライン502が提供される。線自体は、実際には、ユーザが現在見ている画像444と、画像グラフ310中の他の画像との間の接続に対応してもよい。例の中に見ることができるように、画像444は、建造物332、334、336、および338の部分を含む。
【００４１】
ユーザは、ここで、多次元空間を通してナビゲーションするため、線を使用してもよい。たとえば、線は、画像から1つまたは複数の画像グラフ中の異なる画像に動くための相互作用ゾーンをユーザに示唆するために使用されてもよい。図6の例600に示されるように、相互作用ゾーン602は、線502の外縁を超えて延びる。相互作用ゾーン602は、図6中のディスプレイ122上に表示されるが、この相互作用ゾーンは、実際には、ユーザに表示される必要はなく、ディスプレイ上の混雑を減らすために「隠され」てもよい。相互作用ゾーン602が線の外縁を超えて延びるために、このことは、ユーザが、彼または彼女の指(またはスタイラス)をスワイプすることを試みるときの誤差について、ある程度の余地を許容してもよい。たとえば、図7の例700を参照すると、エリア702がディスプレイ122に対応する。この例では、エリア702とは、相互作用ゾーン602の外側であるディスプレイ122のエリアのことをいう。さらに、これらのエリアは、必ずしもユーザに表示されなくてもよく、図7は、下の例をより明瞭に図示する目的で使用される。
【００４２】
ユーザが、線の相互作用ゾーン内で、線にほぼ平行または線に対して何らかの小さい角度差内でスワイプする場合、クライアントコンピューティングデバイスは、多次元空間中で、「動き」まわってもよい。たとえば、図8Aおよび図8Bの例800Aおよび例800Bで示されるように、ユーザは、矢印804または806の方向に、線502とほぼ平行にスワイプすることによって指(またはスタイラス)を使用して線の相互作用ゾーン602と相互作用してもよい。図9の例900に示されるように、スワイプは、線502に対して正確に平行な可能性が低いため、相互作用ゾーン602内の線502の方向からの、10度または15度などの小さい角度差(θ1)が無視され、「ほぼ」平行であると考えられてもよい。
【００４３】
図8Aに戻って、ユーザが矢印804の方向にスワイプすると、多次元空間内でユーザを動かすように見える新しい画像が表示されてもよい。たとえば、ユーザが、線502に対してほぼ平行に相互作用ゾーン602内でスワイプすることに応じて、ディスプレイが、画像グラフ310の別の画像に遷移してもよい。図10の例1000に示されるように、ディスプレイは、画像グラフ310の画像470に遷移する。この例では、ディスプレイは、ユーザを線502にほぼ沿って線304をさらに下って動かしたように見え、それによって建造物336はもはや見えない。これは、また、ユーザが、彼または彼女が2次元画像を通して見ている3次元空間内で、彼または彼女が動いているという感覚を可能にする。表示される画像の選択は、下で議論されるスワイプおよび1つまたは複数の画像グラフの特性に依存してもよい。
【００４４】
ユーザが、この相互作用ゾーン602の外側で、またはむしろ、線502から極めて多くの画素離れて、または、線に対して何らかの指定された角度差(たとえば、θ1より大きいが90-θ1未満)内でスワイプする場合に、新しい画像に遷移するよりむしろ、ユーザのクライアントコンピューティングデバイスが、現在の画像のビューの向きを変える、またはむしろ、現在の画像内のビューを回転してもよい。たとえば、ユーザが、θ1よりも大きいが90-θ1未満の角度で、ディスプレイ122の左側からディスプレイ122の右側に向かって例600のディスプレイにわたって彼または彼女の指をスワイプした場合、線502にほぼ沿って動くのではなく、ディスプレイが、画像444内で回転してもよい。図11の例1100に示されるように、ディスプレイは、画像444内の例600の位置から回転し、建造物332のより多くを表示する。これは、ユーザに、多次元空間内で前後に動くのとは反対に、彼もしくは彼女が回転した、または彼もしくは彼女の向きを変えたという感覚を与える。こうして、相互作用ゾーンは、クライアントコンピューティングデバイスに、動きまわる(すなわち、前後に動く)要求と、ユーザの向きを変える要求との間を区別することを可能にする。
【００４５】
加えて、ユーザが、相互作用ゾーン内または相互作用ゾーンの外側で、線502の方向にほぼ垂直に、または垂直から小さい角度差θ1内で(または線502の方向に平行から90-θ1未満で)スワイプする場合、これは、ユーザが、現在の画像中でパンする(横方向に動く)ことを望むことを示してもよい。たとえば、ユーザが、線502の方向に平行に90-θ1よりも大きい角度で、ディスプレイ122の左側からディスプレイ122の右側に向かって例600のディスプレイにわたって彼または彼女の指をスワイプした場合、線502にほぼ沿って動く、または画像444内で回転するのではなく、ディスプレイが、現在の画像内で、パンしてもよい。この点に関して、1つまたは複数の画像グラフにしたがって1つより多い線が存在する場合、この動きは、ビューを異なる線に実際に「ジャンプ」させてもよい。たとえば、画像444から、図12の例1200中に示されるような画像グラフ420の画像404にジャンプしてもよい。ここで、ユーザには、画像444と画像402との間で動くことによって車線304内の点から車線306内の点にパンしたように見える。この点において、画像グラフ420に対応する新しいオーバーレイ1202が、画像404と表示するために提供されてもよい。
【００４６】
方向、大きさ、および速度を含むスワイプの特性は、どのようにビューが変わることになるのかを規定するために使用することができる。たとえば、線が表示される際に、ユーザが相互作用ゾーンに沿ってスワイプする場合、その結果は、(画像グラフ内の)スワイプが開始した点に向かう方向への動きであってもよい。この点に関して、図8Aに示されるように下向きにドラッグすることによってビューを前方へと進め、図8Bに示されるように上向きにドラッグすることによってビューを後方へと進める。
【００４７】
スワイプの大きさまたは画素での長さは、ビューを前後にどれだけ遠くに動かすかを決定するために使用することができる。たとえば、スワイプが閾値の画素最小数を超えない場合、その結果、動かなくてもよい。スワイプが閾値の画素最小数を満たす場合、多次元における動きは、スワイプが超えた画素数に対応してもよい。しかし、ビューは奥行きを有するために、線が現れる平面が画像中の消滅点に向かって傾斜することになるため、画素での距離と多次元での距離の関係は、(線形とは反対に)指数関数であってもよい。この点に関して、画素での距離は、多次元空間での距離に変換されてもよい。元の画像からの多次元空間での距離に最も近い1つまたは複数の画像グラフにしたがう線に沿った画像が、ビューが遷移する画像として識別されてもよい。
【００４８】
加えて、ビューが多次元を通してどれだけ速く動いて見えるかを決定するために、スワイプの速度(画素/秒)、およびスワイプの加速度さえも使用されてもよい。たとえば、動きは、最初にスワイプの速度に対応してもよいが、この速度は、遅くなり、スワイプの大きさにしたがって識別される画像において停止してもよい。スワイプの大きさに基づいて決定される距離が2つの画像との間である場合、スワイプの速度(または加速度)が使用されて、どちらの画像をビューが遷移する画像として識別するかを決定してもよい。たとえば、速度(または加速度)が比較的速い、または何らかの閾値の速度(または加速度)よりも速い場合、元の画像からより遠い画像が選択されてもよい。同時に、速度(または加速度)が比較的遅い、または閾値の速度(または加速度)よりも遅い場合、元の画像により近い画像が選択されてもよい。さらに別の例では、速度(または加速度)が何らかの他の閾値を満たすと、それに応じて、ユーザがディスプレイをタップするまで、スワイプの速度にしたがって、1つまたは複数の画像グラフ中の線に沿った画像間を遷移することによってビューが多次元空間を通って連続的に動くように見えてもよい。このタップが、動きを停止するまで減速させても、または現在の画像もしくは1つまたは複数の画像グラフにしたがう次の画像上で直ちに停止させてもよい。さらに別の例では、線にほぼ垂直になされたスワイプの速度は、多次元を通して、線にほぼ平行になされたスワイプの同じ速度よりも遅い動きに変換されてもよい。またさらに、スワイプの速度は、どこでスワイプが起こったのかに基づいて決定されてもよい。この点に関して、速度は、これがスワイプの「平均的」スクリーン位置であるという直感にしたがって、スクリーンの底部と地平線との間のスクリーン途中の点における、メートル/画素を測定することによって決定されてもよい。そのため、ユーザが正確にこの点の上で彼または彼女の指をドラッグする場合、グラウンド面上の画素は、ユーザの指と同じ速度で動くことになる。
【００４９】
方向は、正規化デバイス座標(NDC)で、y=z平面上に、現在のスクリーン座標および以前のスクリーン座標を逆投影(unprojecting)(2次元から3次元への変換)すること、次いでグラウンド面へと再度投影することによって決定されてもよい。たとえば、図13の例1300は、グラウンド面1306に対するコンピューティングデバイス120のスクリーン1304の平面の(矢印1302により示される)相対的な方向を示す図である。これら2つの平面との間には、NDC平面1308がある。図14の例1400は、グラウンド面1306に沿った矢印1406により示される動きに対する、スクリーン1304の平面上の矢印1404により示される指のスワイプの方向を描く。ここで、ユーザの指は、スクリーン1304上の点Aでスワイプを始め、スクリーン上の点Bでスワイプを終了する。これらの点は、NDC平面1308上の対応する点B'およびA'に変換される。NDC平面から、点がグラウンド面1306上の点CおよびDに投影される。このことによって、シーンの幾何学的配置または地平線と独立した予測可能な方法で、垂直なディスプレイの動きを多次元空間中の前方への動きにマッピングし、水平なディスプレイの動きを多次元空間中の横方向への動きへのマップにマッピングすることが可能になる。
【００５０】
例として、ユーザがクライアントコンピューティングデバイスのディスプレイ上に表さ
れるビューをタップすると、線が現れてもよい。ユーザは、次いで、ディスプレイの一部に沿ってスワイプしてもよい。スワイプの最初の場所または画素およびスワイプに沿った他の場所を使用して、スワイプの速度が決定されてもよい。スワイプが完了した、またはユーザの指がディスプレイを離れたら、新しい画像への遷移のために、新しい画像へのズームおよびフェードなどの遷移アニメーションが表示される。例として、速度が閾値よりも遅いまたは閾値未満である場合、線に沿った次の画像が新しい画像として表示されてもよい。速度が閾値よりも速い場合、スワイプの終了時間およびディスプレイ上の位置が決定される。1つまたは複数の画像グラフにしたがう線に沿ったこの位置に最も近い画像が、目標の画像として識別される。この例では、目標の画像に到達するまで、線に沿った画像間の遷移アニメーションが続く。いくつかの例では、遷移アニメーションの期間に表示される画像および目標の画像は、ローカルメモリから実時間で、または、場所情報を証明すること、および遷移アニメーションが再生されているときに1つまたは複数のサーバコンピューティングデバイスから画像を要求することによって取り出されてもよい。
【００５１】
スワイプの特性に基づいて識別される画像に到達するため、典型的にはビューが複数の画像を移動するので、これらの複数の画像の最大の解像度は、実際には表示されなくてもよい。サムネイル画像など、代わりのより低い解像度のバージョンの画像が、現在の画像と識別される画像との間の遷移の部分として表示されてもよい。実際に識別される画像が表示されるとき、この画像は、最大の解像度で表示されてもよい。このことが時間および処理電力を節約する場合がある。
【００５２】
線の特性は、ユーザが多次元をより容易に理解しナビゲーションすることを可能にするために変えられてもよい。たとえば、線の不透明度は、ユーザが線の下の特徴をより多くまたは少なく見ることを可能にするために調整され、したがって多次元を視覚的に探査するユーザの能力についての線の影響を減少させてもよい。この点に関して、線の幅は、線がオーバーレイされる道路の幅に対応してもよい。同様に、線の幅および相互作用ゾーンは、線が、ディスプレイをあまりに広く取り過ぎることを防止する一方、同時にユーザが、彼または彼女の指を使用して線と相互作用することを可能にするのに十分なだけ線を太くするために、調整されてもよい。たとえば青といった線の色は、現在のビューを補完するため、または線が現在のビューから目立つことを可能にするために選択されてもよい。
【００５３】
線の場所は、1つまたは複数の画像グラフ中の接続線と常に同一である必要はない。たとえば、線が道路の幅に対応して表示される場合、1つまたは複数の画像グラフ中の対応する接続は、実際には、道路の中央を通らない場合があり、それによって、線は、1つまたは複数の画像グラフに完全には対応しない。接続線の幾何形状がジグザクであるエリアでは、接続線は、実際には、オーバーレイとしてより直線的な線に適合される場合がある。この点に関して、線は、各画像の中心を通過しない場合があるが、ビュー上にオーバーレイされたときに平滑な外観を有する場合がある。
【００５４】
いくつかの例では、2つの道路の交差点というよりむしろ、1つまたは複数の画像グラフにおける交差部分がある場合など、接続グラフは分岐してもよい。図15の例1500Aは、2つの線1502と1504が互いに交差する分岐エリアの例を描く。この例では、ユーザが一方または他方へと進むためにスワイプする場合、結果として得られる動きは、1つまたは複数の画像グラフにしたがったその所望の分岐をたどり、ビューは、ユーザが線に沿って前を向き続けるように調整する。複数の分岐を示すことによって、利用可能な動きの方向がユーザに直ちに明らかとなる。しかし、オーバーレイを簡単で理解しやすく保つために、現在の視点から短い距離内の現在の線に直接接続される線だけが像上にオーバーレイされて見えてもよい。所定の距離内のユーザが移動できる方向を指す線を使用することによって、ユーザが多次元空間中で進むことができる情報をユーザが矛盾に感じるまたは混乱することを防止してもよい。これは、複雑な幾何学的エリア、または複雑なナビゲーション選択において特に重要である。
【００５５】
1つより多い道路が互いに交差する交差点などの、これらの分岐エリアでは、ユーザは、1つの線から別のものに変えることを望む場合がある。もちろん、前に移動して、交差点の中央で90度回転するのは、不自然を感じることがある。この点に関して、遷移として、両方の線上にない画像を表示することによって、2つの線との間の交差点のコーナーを横切るために、1つまたは複数の画像グラフが使用されてもよい。図15Bは、線1512および1514が、それぞれ線1504および1502に対応する画像グラフ1500Bを描く。ここで、図15Aの例では、ディスプレイ122は、画像Gの方向における画像Eの画像を表示している。ユーザが、1502の周りの相互作用ゾーン内をスワイプした場合、これは、画像グラフ1500B上の画像Hの場所に対応することになる。この例では、分岐エリアのために、画像F、次いで画像Hではなく画像Gに遷移する代わりに、ディスプレイは、画像Eから経路1516に沿って画像Hに直接遷移して見えてもよい。あるいは、ただ1つの画像が間引かれてもよく、ディスプレイは、経路1518に沿って、画像Eから画像F、次いで画像Hへと遷移して見えてもよい。
【００５６】
線と、多次元のユーザの探査の干渉をさらに減らすために、ユーザがインターフェースと相互作用していないとき、線は示されなくてもよい。このことによって、ユーザが、すべての3Dシーンを見ることが可能になる。例として、線が見えていないときに、ユーザが、シーン中のどこかでタップしてドラッグする(または、クリックしてドラッグする、または動いてドラッグする)場合、彼または彼女は、シーンを見回すことになる。ユーザが画像上で1回タップすると、線が現れてもよい。きらめき、線の明滅、線の太さを太くし次いで細くする、または急速に線の不透明さを増減させ次いで正常の不透明さに戻すなどの効果を使用して、ユーザに線のインタラクティブな性質を示してもよい。ユーザが相互作用ゾーン内でドラッグ動作をする場合、線が見えていないときでさえも、線が現れ、画像が現れて線に沿って遷移してもよい。2秒または2秒より長いもしくは短いなどの、ディスプレイ上でクライアントコンピューティングデバイスによって受信される入力がない場合、またはディスプレイ上の単一のタップ後の1/2秒または1/2秒より長いもしくは短いなど、何らかの予め規定された時間期間後に、線は、再び消えるまでフェードされて、画像上の線の影響を減少させてもよい。
【００５７】
インターフェースは、グリッドに対応する、線に沿った画像間に加えて、他のタイプのナビゲーションをもうけてもよい。たとえば、上で言及したように、単一のタップが線を現れさせてもよい。この例では、単一のタップは、ビューを変化させなくてもよく、むしろ、ビューは、静止したままで見えてもよい。同時に、ダブルタップによって、ダブルタップの点、またはダブルタップの点近くの現在の画像に1つまたは複数の画像グラフ中で接続される画像へと、ユーザを進めてもよい。さらに、ユーザが現在、線にほとんど垂直に面していて、ユーザが線にほぼ垂直にスワイプする場合、ビューが、線に垂直のまま現れて、ユーザが道路に沿って「機銃掃射する(strafe)」ことを可能にしてもよい。加えて、挟むジェスチャーによって、実際には新しい画像へ遷移させることなく、特定の画像をズームインまたはズームアウトしてもよい。
【００５８】
上の例は、線に関係するが、多次元中のナビゲーション可能エリアの指示をユーザに提供するために、様々な他のオーバーレイが使用されてもよい。たとえば、ユーザに対し、彼または彼女が多次元を通して動くときに視覚的フィードバックを提供するために、見回すこと(向きを変えること)と多次元を通して動くこととの間で切り替えるため、トグルスイッチに加えて、またはトグルスイッチとともに、複数のスクロールバーがマップ上に配置されてもよい。別の例では、有限の線ではなく、ビューの中に横方向に溶け込むように見えるより広い線が使用されてもよい。さらに別の代替実施形態では、必ずしもシーンの中の遠くに延びるように見えない、ディスクまたは短い矢印型の指示が使用されて、相互作用ゾーンを示唆することができる。
【００５９】
図16は、サーバコンピューティングデバイス110などの1つまたは複数のサーバコンピューティングデバイスによって実施されてもよい、上に記載された様々な態様の、例示的な流れ図1600である。この例では、ブロック1602で、多次元空間の第1の画像が、クライアントコンピューティングデバイスのディスプレイ上で表示するために提供される。第1の画像は、第1の画像の一部にわたって延び、かつ多次元空間が第1の画像へと延びる方向を示すオーバーレイラインを備え、それによって第2の画像が第1の画像にオーバーレイラインの方向に沿って接続される。ブロック1604で、ディスプレイの一部にわたるスワイプを示すユーザ入力が受け取られる。スワイプは、ディスプレイの開始画素および終了画素によって規定される。ブロック1606で、開始画素および終了画素に基づいて、第1の画像の少なくとも部分的に相互作用ゾーン内でスワイプが発生したことを決定する。相互作用ゾーンは、ユーザが3次元空間と相互作用できるオーバーレイラインの周りのエリアを規定する。ブロック1608で、スワイプが少なくとも部分的に相互作用ゾーン内で発生したときに、第1の画像と異なる画像を表示する要求をスワイプが示すことを決定する。ブロック1610で、第1の画像と異なる画像を表示する要求をスワイプが示すときに、スワイプの開始点、スワイプの終了点、およびオーバーレイラインの方向に沿った第1の画像と第2の画像を接続する接続グラフに基づいて第2の画像が選択される。ブロック1612で、多次元空間中の動きの感覚を提供するために、ディスプレイ上に表示するための第2の画像が提供される。
【００６０】
上記の代替例の多くは相互に排他的ではないが、固有の利点を達成するために、様々な組合せで実装されてもよい。上に議論した特徴の、これらおよび他の変形および組合せは、請求項により規定される主題から逸脱することなく利用することができるために、実施形態の上の記載は、請求項により規定される主題の制限としてではなく、むしろ説明として考えられるべきである。例として、上述の動作は、上に記載された正確な順番で実施される必要はない。むしろ、様々なステップは、異なる順番で、または同時に処理することができる。ステップは、別段に記載されていない限り、省略することもできる。加えて、本明細書に記載される例の提供、ならびに、「〜など」、「〜を含む」などと表現される語句は、請求項の主題を特定の例に限定するものと解釈されるべきではなく、むしろ、例は、多くの可能な実施形態のうちのただ1つを説明することが意図される。さらに、異なる図面中の同じ参照番号は、同じまたは同様の要素を識別することができる。
【産業上の利用可能性】
【００６１】
本技術は、限定するものではないが、ユーザが第一者または第三者のビューにおける多次元環境内でナビゲーションすることを可能にするためのインターフェースを含む、広い産業上の利用可能性を享受する。
【符号の説明】
【００６２】
100  システム
110  コンピューティングデバイス、サーバコンピュータ
112  プロセッサ
114  メモリ
116  命令
118  データ
120  コンピューティングデバイス、クライアントコンピューティングデバイス
122  ディスプレイ
124  ユーザ入力デバイス、ユーザ入力
126  カメラ
130  コンピューティングデバイス、クライアントコンピューティングデバイス
132  ディスプレイ
140  コンピューティングデバイス、クライアントコンピューティングデバイス
142  ディスプレイ
150  記憶システム
160  ネットワーク、収集デバイス
162  カメラ
164  位置決めシステム
166  レーザ
220  ユーザ
230  ユーザ
240  ユーザ
300  例
302  道路
304  車線、線
306  車線
308  車線
310  画像、画像グラフ
320  画像
322  画像
330  建造物
332  建造物
334  建造物
336  建造物
338  建造物
340  画像
342  画像
350  線
352  線
360  向き指示器
402  画像
404  画像
406  画像
408  画像
410  画像グラフ
420  画像グラフ
430  画像
442  画像
444  画像
446  画像
448  画像
450  画像グラフ
452  画像
470  画像
500  ビュー
502  オーバーレイライン、線
545  画像
600  例
602  相互作用ゾーン
700  例
702  エリア
800A  例
800B  例
804  矢印
806  矢印
900  例
1000  例
1100  例
1200  例
1202  オーバーレイ
1300  例
1302  矢印
1304  スクリーン
1306  グラウンド面
1308  NDC平面
1400  例
1404  矢印、指
1406  矢印、動き
1500A  例
1500B  画像グラフ
1502  線
1504  線
1512  線
1514  線
1516  経路
1518  経路
1600  流れ図
【図１】
2020053058.tif 000003
【図２】
2020053058.tif 000004
【図３】
2020053058.tif 000005
【図４】
2020053058.tif 000006
【図５】
2020053058.tif 000007
【図６】
2020053058.tif 000008
【図７】
2020053058.tif 000009
【図８Ａ】
2020053058.tif 000010
【図８Ｂ】
2020053058.tif 000011
【図９】
2020053058.tif 000012
【図１０】
2020053058.tif 000013
【図１１】
2020053058.tif 000014
【図１２】
2020053058.tif 000015
【図１３】
2020053058.tif 000016
【図１４】
2020053058.tif 000017
【図１５Ａ】
2020053058.tif 000018
【図１５Ｂ】
2020053058.tif 000019
【図１６】
2020053058.tif 000020
【外国語明細書】
2020053058000001.pdf