(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-09-26
(45)【発行日】2025-10-06
(54)【発明の名称】動きに基づくナビゲーション
(51)【国際特許分類】
A63F 13/428 20140101AFI20250929BHJP
A63F 13/55 20140101ALI20250929BHJP
G06F 3/01 20060101ALI20250929BHJP
【FI】
A63F13/428
A63F13/55
G06F3/01 570
(21)【出願番号】P 2022112443
(22)【出願日】2022-07-13
【審査請求日】2025-01-07
(32)【優先日】2021-07-20
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-07-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518187455
【氏名又は名称】ソニー・インタラクティブエンタテインメント エルエルシー
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】フォルトナ、エラーナ
(72)【発明者】
【氏名】シェルドン、ジェニファー
(72)【発明者】
【氏名】カープ、サラ
【審査官】安田 明央
(56)【参考文献】
【文献】特開2010-233671(JP,A)
【文献】特表2010-533006(JP,A)
【文献】特開2011-209773(JP,A)
【文献】特開2020-013599(JP,A)
【文献】米国特許出願公開第2020/0159320(US,A1)
【文献】米国特許出願公開第2018/0043246(US,A1)
【文献】中国特許出願公開第106178496(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
A63F 9/24
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
動きに基づくナビゲーションのための方法であって、
1つまたは複数のカスタムアクションをメモリに格納することであって、前記カスタム
アクションのそれぞれは、所定のメトリックのセットに対応する物理的な動きのパターンと前記所定のメトリックのセットのための関連付けられた
、前記物理的な動きのパターンの複雑さによって決定される閾値のセットとに関連付けられている、前記格納することと、
ユーザのユーザデバイスによってキャプチャされた物理的な動きのデータを受信することであって、前記物理的な動きのデータが複数のメトリックを含む、前記受信することと、
前記受信された物理的な動きのデータのメトリックを、前記カスタムアクションの1つに対応する所定のメトリックの識別されたセットにマッピングすることであって、前記受信された物理的な動きのデータのメトリックは、物理的な動きの前記関連付けられたパターンに対応する前記所定のメトリックのセットの1つ以上とマッチングする、前記マッピングすることと、
前記所定のメトリックのセットをマッチングすることに関連付けられた前記閾値のセットに基づいて、前記ユーザが前記識別されたカスタムアクションへのアクセスを許可されているかどうかを判定することであって、
前記キャプチャされた物理的な動きが前記関連付けられた閾値
内で実行された場合、前記識別されたカスタムアクションは、前記ユーザデバイスの前記ユーザに現在関連付けられている仮想環境内で実行でき、
前記キャプチャされた物理的な動きが前記セット内の前記閾値の少なくとも1つ
を超えて実行された場合、前記識別されたカスタムアクションは、前記仮想環境内で実行が制限される、前記判定することと、を含む、方法。
【請求項2】
前記識別されたカスタムアクションに関連付けられる実世界のジェスチャを定義するユーザ入力を最初に受信することであって、前記物理的な動きのパターンは、前記ユーザ入力によって定義された前記実世界のジェスチャに関連付けられている、前記最初に受信することと、
前記対応する所定のメトリックのセットを識別するために前記受信されたユーザ入力を分析することであって、前記対応する所定のメトリックのセットは、前記識別されたカスタムアクションに関連付けて格納される、前記分析することとをさらに含む、請求項1に記載の方法。
【請求項3】
前記識別されたカスタムアクションを1つまたは複数の連絡先と共有するための要求を前記ユーザデバイスから受信することと、前記識別されたカスタムアクションに関する通知を前記連絡先に関連付けられたユーザデバイスに送信することと、をさらに含む、請求項1に記載の方法。
【請求項4】
前記識別されたカスタムアクションが、前記ユーザに関連付けられたアバターを前記仮想環境内の指定された場所にナビゲートすることを含む、請求項1に記載の方法。
【請求項5】
前記識別されたカスタムアクションが、前記仮想環境内の指定されたコンテンツ
のロックまたはロック解除のために使用される、請求項1に記載の方法。
【請求項6】
前記識別されたカスタムアクションが、前記ユーザデバイスの前記ユーザの1つまたは複数の指定された連絡先に関連付けられている、請求項1に記載の方法。
【請求項7】
前記識別されたカスタムアクションが、前記仮想環境内の通信を生成することを含む、請求項1に記載の方法。
【請求項8】
前記識別されたカスタムアクションが、前記仮想環境内の1つまたは複数の視聴覚効果に関連付けられている、請求項1に記載の方法。
【請求項9】
前記識別されたカスタムアクションの格納されたマップが、ゲームタイトル、ゲームタイトルのセット、ゲームジャンル、ゲーム開発者、ゲームコンソール、ゲームコントローラ、コントローラ修正形態のセット、ゲーム環境、及びゲーム内アクティビティのうちの少なくとも1つに固有である、請求項1に記載の方法。
【請求項10】
動きに基づくナビゲーションのためのシステムであって、
1つまたは複数のカスタムアクションを格納するメモリであって、前記カスタムアクションのそれぞれは、所定のメトリックのセットに対応する物理的な動きのパターンと前記所定のメトリックのセットのための関連付けられた
、前記物理的な動きのパターンの複雑さによって決定される閾値のセットとに関連付けられている、前記メモリと、
ユーザのユーザデバイスによってキャプチャされ、通信ネットワークを介して送信される物理的な動きのデータを受信する通信インタフェースであって、前記物理的な動きのデータが複数のメトリックを含む、前記通信インタフェースと、
メモリに格納された命令を実行するプロセッサであって、前記プロセッサは前記命令を実行して、
前記受信された物理的な動きのデータのメトリックを、前記カスタムアクションの1つに対応する所定のメトリックの識別されたセットにマッピングすることであって、前記受信された物理的な動きのデータのメトリックは、物理的な動きの前記関連付けられたパターンに対応する前記所定のメトリックのセットの1つ以上とマッチングする、前記マッピングすることと、
前記所定のメトリックのセットをマッチングすることに関連付けられた前記閾値のセットに基づいて、前記ユーザが前記識別されたカスタムアクションへのアクセスを許可されているかどうかを判定することであって、
前記キャプチャされた物理的な動きが前記関連付けられた閾値
内で実行された場合、前記識別されたカスタムアクションは、前記ユーザデバイスの前記ユーザに現在関連付けられている仮想環境内で実行でき、
前記キャプチャされた物理的な動きが前記セット内の前記閾値の少なくとも1つ
を超えて実行された場合、前記識別されたカスタムアクションは、前記仮想環境内で実行が制限される、前記判定することと、を行う、
前記プロセッサと、を含む、システム。
【請求項11】
前記通信インタフェースがさらに、前記識別されたカスタムアクションに関連付けられる実世界のジェスチャを定義するユーザ入力を最初に受信し、前記物理的な動きのパターンは、前記ユーザ入力によって定義された前記実世界のジェスチャに関連付けられており、
前記プロセッサは、命令を実行して、前記対応する所定のメトリックのセットを識別するために前記受信されたユーザ入力を分析することであって、前記対応する所定のメトリックのセットは、前記識別されたカスタムアクションに関連付けて格納される、前記分析することをさらに行う、請求項10に記載のシステム。
【請求項12】
前記通信インタフェースがさらに、前記識別されたカスタムアクションを1つまたは複数の連絡先と共有するための要求を前記ユーザデバイスから受信し、前記識別されたカスタムアクションに関する通知を前記連絡先に関連付けられたユーザデバイスに送信する、請求項10に記載のシステム。
【請求項13】
前記識別されたカスタムアクションが、前記ユーザに関連付けられたアバターを前記仮想環境内の指定された場所にナビゲートすることを含む、請求項10に記載のシステム。
【請求項14】
前記識別されたカスタムアクションが、前記仮想環境内の指定されたコンテンツ
のロックまたはロック解除のために使用される、請求項10に記載のシステム。
【請求項15】
前記識別されたカスタムアクションが、前記ユーザデバイスの前記ユーザの1つまたは複数の指定された連絡先に関連付けられている、請求項10に記載のシステム。
【請求項16】
前記識別されたカスタムアクションが、前記仮想環境内の通信を生成することを含む、請求項10に記載のシステム。
【請求項17】
前記識別されたカスタムアクションが、前記仮想環境内の1つまたは複数の視聴覚効果に関連付けられている、請求項10に記載のシステム。
【請求項18】
前記識別されたカスタムアクションの格納されたマップが、ゲームタイトル、ゲームタイトルのセット、ゲームジャンル、ゲーム開発者、ゲームコンソール、ゲームコントローラ、コントローラ修正形態のセット、ゲーム環境、及びゲーム内アクティビティのうちの少なくとも1つに固有である、請求項10に記載のシステム。
【請求項19】
動きに基づくナビゲーションのための方法を行うためにプロセッサによって実行可能な具現化されたプログラムを有する非一時的なコンピュータ可読記憶媒体であって、前記方法は、
1つまたは複数のカスタムアクションをメモリに格納することであって、前記カスタム
アクションのそれぞれは、所定のメトリックのセットに対応する物理的な動きのパターンと前記所定のメトリックのセットのための関連付けられた
、前記物理的な動きのパターンの複雑さによって決定される閾値のセットとに関連付けられている、前記格納することと、
ユーザのユーザデバイスによってキャプチャされた物理的な動きのデータを受信することであって、前記物理的な動きのデータが複数のメトリックを含む、前記受信することと、
前記受信された物理的な動きのデータのメトリックを、前記カスタムアクションの1つに対応する所定のメトリックの識別されたセットにマッピングすることであって、前記受信された物理的な動きのデータのメトリックは、物理的な動きの前記関連付けられたパターンに対応する前記所定のメトリックのセットの1つ以上とマッチングする、前記マッピングすることと、
前記所定のメトリックのセットをマッチングすることに関連付けられた前記閾値のセットに基づいて、前記ユーザが前記識別されたカスタムアクションへのアクセスを許可されているかどうかを判定することであって、
前記キャプチャされた物理的な動きが前記関連付けられた閾値
内で実行された場合、前記識別されたカスタムアクションは、前記ユーザデバイスの前記ユーザに現在関連付けられている仮想環境内で実行でき、
前記キャプチャされた物理的な動きが前記セット内の前記閾値の少なくとも1つ
を超えて実行された場合、前記識別されたカスタムアクションは、前記仮想環境内で実行が制限される、前記判定することと、を含む、非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年7月20日に出願された米国特許出願第63/223,816号の優先権利益を主張するものであり、その開示内容を参照により本明細書に援用する。
【0002】
本発明は、一般に、動きに基づくナビゲーション及びアクセスに関する。より具体的には、本発明は、仮想環境におけるユーザによる動きに基づいてナビゲーション及びアクセスを決定することに関する。
【背景技術】
【0003】
現在利用可能なデジタルコンテンツタイトルは、プレイヤーが(それぞれのアバターまたはキャラクタを介して)仮想環境内で様々なタイプのアクティビティに関与することができる様々なシナリオをサポートしている。個人でプレイする場合でも、チームでプレイする場合でも、及び/または他のプレイヤーと対戦する場合でも、そのようなコンテンツタイトルをプレイするプレイヤーには、複数の異なる場所、レベル、その他の部分を含む豊富な仮想環境が提示され得る。プレイヤーは、コントローラまたは他の入力デバイスを使用して、そのような仮想環境(及び関連する仮想オブジェクト、エンティティ、及び他のプレイヤーのアバター)をナビゲートしインタラクトできる。一部のタイトルではさらに、プレイヤー(及びその友人やその他のソーシャルコンタクト)が、仮想環境内でのそのようなインタラクションに関連するユーザ生成コンテンツを作成またはカスタマイズすることができる。
【0004】
プレイヤーは通常、1つまたは複数のタイプのゲームコントローラを使用して、自分のそれぞれのアバターまたはキャラクタを制御できる。現在、様々な構成とレイアウトで、様々なボタン、タッチパッド、センサ、マイクなどを備えた様々なコントローラ(及びコントローラ修正形態)がある。様々なタイプのゲーム内移動、操作、またはゲーム内アクションの他の練習を実行するには、ユーザ入力の様々な組み合わせ(例えば、ボタン押下のシーケンスまたは同期、タッチパッド及びその他のジェスチャ、口頭コマンド、またはその他の入力)が必要になる場合がある。異なるゲームタイトルには異なるアクティビティが含まれる場合があるため、特定の入力の組み合わせにより、ゲーム内の動きが異なる場合がある。さらに、入力の組み合わせを誤って入力すると、プレイヤーが意図したものとは異なるゲーム内アクションが発生する可能性がある。ゲームタイトル、ゲーム内アクション、及びコントローラのこのような多様性と複雑さは、プレイヤーに新しいまたはなじみのないゲームタイトル、コントローラ、またはゲームコンソールシステムが導入された場合のエントリの障壁となる。
【0005】
したがって、当技術分野では、仮想環境における動きに基づくナビゲーション及びアクセスを決定するための改善されたシステム及び方法が必要とされている。
【発明の概要】
【0006】
本発明の実施形態は、動きに基づくナビゲーションを行うためのシステム及び方法を含む。コンピューティングデバイスのメモリには、物理的な動きのパターンと閾値に関連付けられた1つまたは複数のカスタムアクションが格納される。コンピューティングデバイスと通信しているナビゲーションサーバは、ユーザのユーザデバイスによってキャプチャされた物理的な動きのデータを受信する。ナビゲーションサーバは、物理的な動きのデータを、識別されたカスタムアクションの1つにマッピングし、物理的な動きのデータは、関連付けられた閾値内の物理的な動きの関連付けられたパターンとマッチングする。ナビゲーションサーバは、ユーザが識別されたカスタムアクションへのアクセスを許可されていると判定する。
【図面の簡単な説明】
【0007】
【
図1】動きに基づくナビゲーションのためのシステムを実装することができる例示的なネットワーク環境を示す。
【
図2】動きに基づくナビゲーションのためのシステムにデータを提供するために使用され得る例示的な均一データシステム(UDS)を示す。
【
図3】動きに基づくナビゲーションのための例示的な方法を示すフローチャートである。
【
図4】動きに基づくナビゲーションを実行するために使用され得る例示的なユーザデバイスのブロック図である。
【
図5】本発明の実施形態で使用することができる例示的な電子エンターテインメントシステムのブロック図である。
【発明を実施するための形態】
【0008】
本発明の実施形態は、動きに基づくナビゲーションを行うためのシステム及び方法を含む。コンピューティングデバイスのメモリには、物理的な動きのパターンと閾値に関連付けられた1つまたは複数のカスタムアクションが格納される。コンピューティングデバイスと通信しているナビゲーションサーバは、ユーザのユーザデバイスによってキャプチャされた物理的な動きのデータを受信する。ナビゲーションサーバは、物理的な動きのデータを、識別されたカスタムアクションの1つにマッピングし、物理的な動きのデータは、関連付けられた閾値内の物理的な動きの関連付けられたパターンとマッチングする。ナビゲーションサーバは、ユーザが識別されたカスタムアクションへのアクセスを許可されていると判定する。
【0009】
図1は、動きのデータを共有するためのシステムが実装され得る例示的なネットワーク環境100を示す。ネットワーク環境100は、配信用のデジタルコンテンツ(例えば、ゲーム、他のアプリケーション及びサービス)を提供する1つまたは複数のコンテンツソースサーバ100、1つまたは複数のコンテンツプロバイダサーバアプリケーションプログラムインタフェース(API)120、コンテンツ配信ネットワークサーバ130、ナビゲーションサーバ140、及び1つまたは複数のユーザデバイス150A~150Nを含むことができる。本明細書に記述されるサーバは、ネットワーク及びメディアインタフェース、非一時的コンピュータ可読ストレージ(メモリ)、ならびにメモリに格納され得る命令を実行するための、または情報にアクセスするためのプロセッサなど、標準のハードウェアコンピューティングコンポーネントを含む、当該技術で知られている任意のタイプのサーバを含むことができる。複数のサーバの機能は、単一のサーバに統合され得る。前述のサーバ(または統合されたサーバ)のいずれも、特定のクライアント側、キャッシュまたはプロキシサーバの特性を呈し得る。これらの特性は、サーバの特定のネットワーク配置またはサーバの特定の構成に依存し得る。
【0010】
コンテンツソースサーバ110は、配信に利用可能な様々なデジタルコンテンツを維持し、提供することができる。コンテンツソースサーバ110は、そのコンテンツを、通信ネットワークを介したアクセスに対して利用可能にする任意のコンテンツプロバイダに関連付けられてよい。そのようなコンテンツは、デジタルビデオ及びゲームだけでなく、他のタイプのデジタルアプリケーション及びサービスも含むことができる。そのようなアプリケーション及びサービスは、ユーザデバイス150に提供され得る任意の様々な異なるデジタルコンテンツ及び機能を含むことができる。コンテンツソースサーバ110の例は、ダウンロード可能なコンテンツ及び/またはストリーミングコンテンツを提供するインターネットウェブサイトに関連付けられ得る。コンテンツソースサーバ110によって提供されるコンテンツは、映画、ゲーム、静的/動的コンテンツ、写真、ソーシャルメディアコンテンツ、ソーシャルメディアウェブサイトなどのような任意のタイプのマルチメディアコンテンツを含むことができる。ユーザデバイス150は、複数の異なるタイプのコンピューティングデバイスを含むことができる。いくつかの実施形態では、コンテンツデータは、コンテンツソースサーバ110からコンピューティングデバイスに送信され、次にコンテンツデータは、ユーザデバイス150による使用に適したフォーマットでコンピューティングデバイスによってレンダリングされる。
【0011】
コンテンツソースサーバ110はまた、ユーザのソーシャルコンタクトを識別するためにユーザに1つまたは複数のソーシャルメディアグラフを提供するようにプログラムされ得る、ソーシャルメディアアプリケーションに関連付けられたオンラインサーバを含み得る。これらのユーザは、ソーシャルコンタクトではないか、ユーザとソーシャルに関連付けられていない可能性があるが、ユーザと1つまたは複数のビデオゲームをプレイした可能性がある。友人リストには、各友人が所有するゲームの描写、友人のオンラインステータス(例えば、オンライン、オフライン、非アクティブなど)の識別、友人の最後のログインとその期間、友人がプレイした最後のゲームなど、ユーザの友人に関する追加情報を含めることができる。ソーシャルネットワークには、ユーザのソーシャルグラフ、投稿、写真、ビデオ、経歴情報などのデータを含むユーザデータが含まれる。
【0012】
コンテンツソースサーバ110からのコンテンツは、コンテンツプロバイダサーバAPI120によって提供することができ、これにより様々なタイプのコンテンツソースサーバ110がネットワーク環境100内の他のサーバ(例えば、ユーザデバイス150)と通信することができる。コンテンツプロバイダサーバAPI120は、コンテンツを提供するコンテンツソースサーバ110、及びユーザデバイス150の特定の言語、オペレーティングシステム、プロトコルなどに固有であってよい。複数の異なるタイプのコンテンツソースサーバ110を含むネットワーク環境100においては、同様に対応する数のコンテンツプロバイダサーバAPI120があってよく、コンテンツプロバイダサーバAPI120は、異なるユーザデバイス150にコンテンツ及び他のサービスを提供するための様々なフォーマット、変換、ならびに他のクロスデバイス及びクロスプラットフォーム通信プロセスを可能にし、異なるユーザデバイス150は、異なるオペレーティングシステム、プロトコルなどを使用して、そのようなコンテンツを処理することができる。そのように、様々な異なるユーザデバイス150に互換性のあるように、異なるフォーマットでのアプリケーション及びサービスを利用可能にすることができる。
【0013】
コンテンツプロバイダサーバAPI120は、直接またはコンテンツ配信ネットワークサーバ130を介するかのいずれかで、コンテンツソースサーバ110によってホストされるコンテンツへの、または提供されるサービスへの各々のユーザデバイス150のアクセスをさらに容易にすることができる。アクセスされたコンテンツまたはサービスに関するメタデータなどの追加情報もまた、コンテンツプロバイダサーバAPI120によってユーザデバイス150に提供され得る。以下に記載されるように、追加情報(すなわち、メタデータ)は、ユーザデバイス150に提供されるコンテンツまたはサービスに関する詳細を提供するために使用可能であってよい。いくつかの実施形態では、コンテンツソースサーバ110からコンテンツプロバイダサーバAPI120を介してユーザデバイス150に提供されるサービスは、特定のゲーム、チーム、コミュニティなどに関連付けられているチャットサービス、レーティング、及びプロファイルなど、他のコンテンツまたはサービスに関連付けられているサービスをサポートすることを含むことができる。それらのような場合には、コンテンツソースサーバ110は、コンテンツプロバイダサーバAPI120を介して互いに通信することもできる。
【0014】
コンテンツ配信ネットワークサーバ130は、ユーザデバイス150との様々なコンテンツ及びサービスコンフィグレーションを含む、コンテンツソースサーバ110からのコンテンツに関連する、リソース、ファイルなどを提供するサーバを含んでよい。コンテンツ配信ネットワークサーバ130は、特定のコンテンツまたはサービスにアクセスすることを要求するユーザデバイス150によって呼び出されることもできる。コンテンツ配信ネットワークサーバ130は、ユニバース管理サーバ、ゲームサーバ、ストリーミングメディアサーバ、ダウンロード可能なコンテンツをホストするサーバ、及び当該技術で既知の他のコンテンツ配信サーバを含んでよい。
【0015】
ナビゲーションサーバ140は、ユーザデバイス150からデータを受信することができる当技術分野で知られている任意のデータサーバを含むことができる。ナビゲーションサーバ140によってレンダリングされるコンテンツは、本質的に任意のタイプのコンピュータアプリケーション用であり得、とりわけ、ゲーム、映画、オーディオ、画像、マルチメディアなどの1つまたは複数のタイプのコンテンツを含み得る。いくつかの実施形態では、コンテンツまたはその一部は、ナビゲーションサーバ140によって生成される。いくつかの実施形態では、コンテンツまたはその一部は、コンテンツソースサーバ110からネットワーク100を介してコンピューティングデバイスにストリーミングされる。いくつかの実施形態では、コンテンツまたはその一部は、クラウドゲームインフラストラクチャからネットワーク100を介してコンピューティングデバイスにストリーミングされる。インフラストラクチャは、様々なタイプのコンテンツがネットワーク100を介してコンテンツソースサーバ110からコンピューティングデバイスに送信されるように指示することができる。
【0016】
例示的な実施形態では、ナビゲーションサーバ140は、1つまたは複数のゲームタイトルのナビゲーション制御マップを含むストアを格納またはアクセスすることができる。各ゲームタイトルは、異なるナビゲーション制御マップに関連付けることができ、これには、それぞれのゲームタイトルで利用可能なゲーム内コマンド(例えば、特定のユーザ生成コンテンツにアクセスするためのコマンド、仮想環境内の場所間のナビゲーションまたはトランスポート)に関する情報、ゲーム内コマンドが実世界のジェスチャ(例えば、カスタムジェスチャ、メニューから選択されたジェスチャ)にどのように対応するかに関する情報が含まれ得る。一部のゲームタイトルでは、関連するゲーム内環境の様々なレベル、アクティビティ、またはその他の部分で使用できるコマンドのタイプがさらに制限される場合がある。そのような制限は、UDSシステムによって生成されたアクティビティファイル(
図2に関連してさらに詳細に説明される)に保存され得、さらに、どのゲーム内コマンドが特定の実世界のジェスチャに関連付けられ得るかを識別するために使用され得る。
【0017】
様々な実世界のジェスチャ(ユーザがカスタマイズできる)は、様々なゲーム内コマンドに関連付けることができる。例えば、口頭、キーベース、またはジェスチャーコマンドの様々な組み合わせは、ユーザが特定のゲーム内コマンドを入力または開始することを望んでいることを示している場合がある。そのような実世界のジェスチャは、カメラ及び/または他のセンサ(例えば、ユーザデバイス(複数可)150の)によってキャプチャ及び特徴付けられて、ユーザが位置している実世界環境に関する画像及び/または他のセンサデータをキャプチャすることができる。例えば、カメラは、実世界で物理的なジェスチャを実行しているユーザの画像をキャプチャすることができる。カメラ(
図4に関してさらに詳細に論じられる)は、立体視ペアのカメラ、赤外線カメラ、深度カメラ、またはそれらの組み合わせなどの複数の画像キャプチャデバイスを含むように構成することができる。いくつかの実施形態では、1つまたは複数のマイクロフォン(
図4に関連してさらに詳細に説明される)を使用して、ユーザの実世界環境からの音をキャプチャすることもできる。一方、(例えば、コントローラ、モバイルデバイス、ウェアラブルデバイス、ハンドヘルドデバイスなどによる)ユーザに関連付けられた他のセンサ(例えば、加速度計、ジャイロスコープ)も、実世界のジェスチャに関するデータをキャプチャすることができる。
【0018】
そのような画像、オーディオ、及び他のセンサデータは、分析のためにナビゲーションサーバ140に提供され得る。格納されたマップを使用して、ナビゲーションサーバ140は、(所定の精度の閾値内で)実世界のジェスチャに関して受信したセンサデータを、関連するゲームタイトルの仮想環境で利用可能なゲーム内コマンドにマッチングさせることができる。いくつかの実施態様では、受信したセンサデータは、複数の利用可能なゲーム内コマンドを示すことができ、そのような場合、異なるパラメータを使用して、利用可能なゲーム内コマンドをフィルタリングすることができる。上記のように、一部のゲームタイトルでは、ゲーム環境またはゲームセッションの様々な部分で様々なゲーム内コマンドを実行できる。そのようなデータは、アクティビティファイルで提供することができ、利用可能なゲーム内コマンドをフィルタリングし、現在ユーザに関連付けられているゲーム環境またはゲームセッションの特定された部分で利用可能である可能性があるものを特定するために使用され得る。代わりに、または加えて、複数の利用可能なゲーム内コマンドに関するメニューが、ユーザによる選択のためにグラフィカルユーザインタフェースに表示され得る。
【0019】
いくつかの実施形態では、ユーザは、カスタムの実世界のジェスチャを定義し、そのようなジェスチャを特定のゲーム内コマンドにリンクしたいと思う可能性がある。ユーザデバイス150を使用して、ユーザは、実世界のジェスチャを1回または複数回実行して、実世界のジェスチャに関連する画像またはセンサデータを設定及び較正することによって、そのようなカスタマイズをパーソナルナビゲーションマップに追加することができる。特定のゲーム内コマンドは、仮想環境で使用可能なゲーム内コマンドの中から選択することができる。追加のパラメータまたは条件を定義することもできるため、特定のゲーム環境、ゲームタイトル、または現在適用可能な他のパラメータ/条件に応じて、同じ実世界のジェスチャが異なる効果をもたらすことができる。例えば、ユーザは、ユーザが生成したプライベートコンテンツへのアクセスを認証するため、またはユーザに関連付けられているアバターを識別するための秘密のハンドシェイク、友人やチームメンバーに事前定義されたメッセージを送信するための物理信号、仮想内で指定された待ち合わせ場所へのナビゲーション移動を開始するためのジェスチャ、環境、視聴覚効果を開始するためのダンスの動き、などを定義できる。
【0020】
したがって、ナビゲーションサーバ140は、実世界のジェスチャに関するデータを1つまたは複数のゲーム内コマンドにマッピングし、入力を開始するか、そうでなければ同じものをコンテンツソースサーバ110、コンテンツ配信ネットワークサーバ130、またはユーザデバイス150に通信することができる。したがって、仮想環境に積極的に関与しているユーザは、ゲームタイトルで、デフォルトでサポートされている標準の入力コマンドではなく、ジェスチャを実行することによって、カスタムコマンドを提供できる。ユーザはさらに、カスタムコマンドを様々な異なるゲーム環境に適用できるものとして定義できる。例えば、ユーザは、特定の実世界のジェスチャを、定義された友人アカウントのグループにカスタムメッセージ(例えば、「[場所]で私と会ってしてください」)を送信するためのコマンドに関連付けられているものとして定義できる。
【0021】
ユーザデバイス150は、ネットワーク環境100では内部サービスを(例えば、他のサーバに対して)提供するサーバであってもよい。そのような場合には、ユーザデバイス150は、本明細書で説明されるコンテンツソースサーバ110のうちの1つに対応することができる。代替的に、ユーザデバイス150は、任意の数の異なるゲームコンソール、モバイルデバイス、ラップトップ、及びデスクトップを含むことができるクライアントデバイスであってもよい。また、そのようなユーザデバイス150は、ダウンロードされたサービスの場合に適切であり得るメモリカードまたはディスクドライブなどであるが、これらに限定されない他の記憶媒体からデータにアクセスするように構成されてもよい。そのようなユーザデバイス150は、ネットワークインタフェース、メディアインタフェース、非一時的コンピュータ可読ストレージ(メモリ)、及び、メモリに格納され得る命令を実行するプロセッサ等であるが、これらに限定されない標準的ハードウェアコンピューティングコンポーネントを含んでもよい。また、これらのユーザデバイス150は、様々な異なるオペレーティングシステム(例えば、iOS、Android(登録商標))、アプリケーションまたはコンピューティング言語(例えば、C++、JavaScript(登録商標))を用いて実行してもよい。例示的なクライアントデバイス150は、
図5に関して本明細書で詳細に説明される。各ユーザデバイス150は、デジタルコンテンツストリームのコレクションの参加者または他のタイプの観客に関連付けられ得る。
【0022】
いくつかの実施形態では、ユーザデバイス150は、コンピューティングデバイスまたはゲームコンソールの処理ハードウェア上でローカルにゲームを実行するように構成されている。ゲームまたはコンテンツは、物理メディア形式(例えば、デジタルディスク、テープ、カード、サムドライブ、ソリッドステートチップまたはカードなど)などの任意の形式で、または通信ネットワークを介してインターネットからダウンロードすることによって取得される。いくつかの実施形態では、コンピューティングデバイスは、コンピュータネットワークを介してクラウドゲームインフラストラクチャと通信するクライアントとして機能する。クラウドゲームインフラストラクチャは、ユーザデバイス150によってプレイされているビデオゲームを維持及び実行することができる。ユーザデバイス150、コントローラ、及びカメラ(及び他のセンサ)から受信した入力は、クラウドゲームインフラストラクチャに送信することができ、これが入力を処理して、実行中のビデオゲームのゲーム状態に影響を与える。
【0023】
ビデオデータ、オーディオデータ、及び触覚フィードバックデータなどのビデオゲームからのゲームデータは、コンテンツソースサーバ110からユーザデバイス150に送信することができる。コンピュータシステムはさらに、適切なデバイスへの送信の前にゲームデータを処理してもよく、または適切なデバイスにゲームデータを直接送信してもよい。例えば、ビデオ及びオーディオストリームは、ユーザデバイス150に送信され得る。
【0024】
ユーザデバイス150はまた、ユーザデバイス150内の慣性センサから慣性センサデータを受信するように構成されたモジュールを含み得る。慣性センサデータは、ユーザデバイス150が関連付けられているユーザの動きに応じたユーザデバイス150の動きを示す。ユーザの動きは、ユーザデバイス150内に表示される仮想現実シーンに基づく。ユーザデバイス150の動きの経路は、慣性センサデータ及びユーザデバイス150の動きの速度から判定することができる。いくつかの実施形態では、ヘッドマウントディスプレイの動きの経路は、前方傾斜、後方傾斜、左傾斜、右傾斜、左頭旋回、右頭旋回、上向きの頭傾斜、下向きの頭傾斜、スクワット、ジャンプを含む一連のユーザ動作内の1つまたは複数のユーザの動きに対応する。しかしながら、他の実施形態では、ヘッドマウントディスプレイの動きの経路は、人体の動きの能力内の本質的に任意のユーザの動きに対応し得る。
【0025】
いくつかの実施形態では、ユーザデバイス150を使用して、例えば、仮想現実(VR)または拡張現実(AR)シーン内の仮想オブジェクトを操作する、例えば、つかむ、移動する、押す、引くなどすることができ、仮想オブジェクトはユーザデバイス150または別のコンピューティングデバイス、例えば、テレビ、コンピュータなどに表示される。ユーザがユーザデバイス150を装着している間に自分の手を動かすと、ゲーム内の仮想の手が動く。さらに、ゲーム内の仮想の手の指は、ユーザがユーザデバイス150を装着した状態で自分の指を動かすと動く。指の位置及び/または向きは、上記及び
図5に記載されたカメラを使用してキャプチャされた画像データから判定されて、仮想の手の指の動きを生成する。
【0026】
ユーザデバイス150のディスプレイは、仮想インタラクティブオブジェクトを備えた仮想空間または仮想環境にアバターを組み込んだ3次元シーンを生成することができる。ナビゲーションサーバ140は、ユーザデバイス150によってキャプチャされたユーザに関する視覚的及び/または距離情報を受信する。ナビゲーションサーバ140は、ユーザの動きを説明する動き情報を抽出する。動き情報は、ユーザの体内のキーポイントからなるユーザの「骨格」の動きを表すように符号化することができる。
【0027】
ユーザのアバターは、単一のデジタル画像からアニメーション化された3Dアバターに自動的に変換され得る。具体的には、ユーザは、デジタル画像または他の画像をユーザデバイス150にアップロードし、引き換えに、異なる顔の表情及び/またはアニメーションを特徴とする1つまたは複数のアバターを受け取ることができる。アバターはユーザに表示され、静止画像またはアニメーション画像(例えばGIFフォーマット)として使用される。例えば、アバターは、SMS、MMS、電子メールメッセージ、チャット(Facebook(登録商標)チャットなど)、インスタントメッセンジャー(Skypeや
Windows(登録商標)メッセンジャーなど)、ツイッター(登録商標)、ブログ、フォーラム、またはユーザの感情を表示する目的のその他の電子通信手段を介して他のユーザに送信できる。
【0028】
いくつかの実施形態では、アバターは、例えば、同じ顔の特徴、衣服、及び体型を有するユーザに現実的に基づくことができる。他の実施形態では、アバターは、例えば、ユーザの動きを有名人、映画スター、政治家、ビデオゲームのキャラクタ、または別のユーザの顔の特徴にマッピングすることによって、意図的に非現実的なものにすることができる。アバターは、現実的な要素と意図的に非現実的な要素の融合であってもよく、例えば、ユーザの顔がアバターで使用されている場合でも、アバターには異なる衣服や体型が与えられてもよい。あるいは、ユーザの体をアバターで使用することもできるが、アバターには、有名人、映画スター、政治家、ビデオゲームのキャラクタ、または別のユーザの顔を与えることができる。
【0029】
ユーザデバイス150Aは、ユーザの動き及び/または対応するアバターの動きを説明する情報を第2のユーザデバイス150Bまたはナビゲーションサーバ140に送信し、ナビゲーションサーバ140は次に、この情報を第2のユーザデバイス150に送信し、これにより第2のユーザデバイス150Bは、アバターによる正確な動きを特徴とするシーンを生成することができる。ユーザデバイス150Aは、第2のユーザの動き及び/または対応する第2のアバターの動きを説明する情報を、第2のユーザデバイス150Bから、またはナビゲーションサーバ140などの中間デバイスから受信し、次にこの情報を第2のユーザデバイス150Bから受信された際に第1のユーザデバイス150Aに送信し、これにより、第1のユーザデバイス150Aは、第2のアバターによる正確な動きを特徴とするシーンを生成することができる。
【0030】
ユーザデバイス150またはコンピューティングデバイスは、キャプチャされたときにユーザの動きの表現を生成し、アバターに、生成されたユーザの動きの表現を実行させる。ユーザデバイス150はまた、受信されたときに第2のユーザの動きの表現を生成し、第2のアバターに、第2のユーザの動きの生成された表現を実行させる。ユーザデバイス150はまた、必要に応じて、仮想空間または環境、ならびに任意の仮想インタラクティブオブジェクトを更新する。
【0031】
ユーザが、ロックされた区画、またはネットワークまたは電子記憶領域またはデータベースの制限された領域または一部などのカスタムアクションにアクセスしたい場合、ユーザは、ユーザデバイス150を使用して物理的な動きを実行する。ナビゲーションサーバ140は、格納された一連の動きの中の物理的な動きのパターンを認識し、関連するカスタムアクションを見つけることができ、ユーザデバイス150上でそのカスタムアクションを開始する。本発明の実施形態では、ユーザデバイス150は、物理的な動きのパターンの検出の成功に応答して、追加のさらなるカスタムアクションを常に開始するように設定することができる。一実施形態では、応答または確認応答信号が生成される。例えば、ユーザデバイス150は、それがリズムを首尾よくデコードしたことを示すために音(短いブザー音など)を出すことができる。別の例は、デバイスが(、図示していない振動素子を使用して)振動し得ることである。
【0032】
各カスタムジェスチャとコマンドには、様々なレベルのセキュリティまたは閾値がある。例えば、高レベルのカスタムアクションの入力を許可するには、より複雑なパターンの物理的な動きが必要であり得、低レベルのカスタムアクションの入力を許可するには、より複雑でない、またはより単純なパターンの物理的な動きが必要であり得る。より単純なパターンは、複雑なパターンよりも必要なステップと動きがより少なくなり得る。セキュリティリソース104は、異なるサービスに対して複数のレベルのセキュリティを有することができる。その場合、ユーザが保護されたリソースへのアクセスを許可され、特定のサービスを要求すると、セキュリティシステムのセキュリティトークンモジュールは、ユーザが提供したセキュリティトークンに従って、要求されたサービスへのアクセスがユーザに許可されているかどうかを判定する。
【0033】
図2は、ジェスチャに基づくスキルサーチのためのシステムにデータを提供するために使用され得る例示的な均一データシステム(UDS)200を示す。UDSによって提供されるデータに基づいて、ジェスチャベースの検索サーバ140は、ユーザが関与したゲーム内オブジェクト、エンティティ、アクティビティ、及びイベントを認識し、したがって、ゲーム内アクティビティに関連する分析及びフィルタリングをサポートすることができる。各ユーザインタラクションは、ゲーム内インタラクションのタイプ、ゲーム内環境内の場所、及びゲーム内タイムライン内の特定の時点、ならびに関連する他のプレイヤー、オブジェクト、エンティティなどの、メタデータに関連付けることができる。したがって、メタデータは、関連するアクティビティ、エンティティ、設定、結果、アクション、効果、場所、キャラクタの統計などを含んで、ゲームセッション中に発生する可能性のある様々なユーザインタラクションのいずれかについて追跡できる。このようなデータはさらに集約され、データモデルに適用され、分析の対象となり得る。そのようなUDSデータモデルを使用して、ゲームにわたって統一した方式で、コンテキスト情報を情報の各部分に割り当てることができる。
【0034】
図2に示されるように、例示的なコンソール228(例えば、ユーザデバイス150)及び例示的なサーバ218(例えば、ストリーミングサーバ220、アクティビティフィードサーバ224、ユーザ生成コンテンツ(UGC)サーバ232、及びオブジェクトサーバ226)が示されている。一例では、コンソール228は、コンテンツソースサーバ110、コンテンツ配信ネットワークサーバ130、クラウドサーバ上に、またはそれらと関連して、あるいは、サーバ218及び
図1のサーバの任意の組み合わせ上に実装され得る。例示的な実施例では、コンテンツレコーダ202は、インタラクティブコンテンツタイトル230からコンテンツリングバッファ208上にコンテンツ(例えば、メディア)を受信して記録することができる。そのようなリングバッファ208は、複数のコンテンツセグメント(例えば、v1、v2及びv3)、セグメントごとの開始時刻(例えば、V1_START_TS、V2_START_TS、V3_START_TS)、及びセグメントごとの終了時刻(例えば、V1_END_TS、V2_END_TS、V3_END_TS)を格納することができる。そのようなセグメントは、コンソール228によってメディアファイル212(例えば、MP4、WebMなど)として格納され得る。そのようなメディアファイル212を、ストレージ及びその後のストリーミングまたは使用のためにストリーミングサーバ220にアップロードすることができるが、メディアファイル212を、任意のサーバ、クラウドサーバ、任意のコンソール228、または任意のユーザデバイス150に格納することができる。そのようなセグメントごとの開始時刻及び終了時刻を、コンソール228がコンテンツタイムスタンプファイル214として格納することができる。そのようなコンテンツタイムスタンプファイル214もまた、メディアファイル212のストリーミングIDにマッチングするストリーミングIDを含むことで、コンテンツタイムスタンプファイル214をメディアファイル212に関連付けることができる。このようなコンテンツタイムスタンプファイル214を、アクティビティフィードサーバ224及び/またはUGCサーバ232にアップロードして格納することができるが、コンテンツタイムスタンプファイル214を、任意のサーバ、クラウドサーバ、任意のコンソール228、または任意のユーザデバイス150に格納することができる。
【0035】
コンテンツレコーダ202がインタラクティブコンテンツタイトル230からコンテンツを受信して記録すると同時に、オブジェクトライブラリ204は、インタラクティブコンテンツタイトル230からデータを受信し、オブジェクトレコーダ206は、データを追跡して、オブジェクトがいつ始まり、いつ終了するかを判定する。オブジェクトライブラリ204及びオブジェクトレコーダ206は、プラットフォームサーバ120、クラウドサーバ、または任意のサーバ218上に実装され得る。オブジェクトレコーダ206がオブジェクトの開始を検出すると、オブジェクトレコーダ206は、オブジェクトライブラリ204からオブジェクトデータ(例えば、オブジェクトがアクティビティであった場合、アクティビティとのユーザインタラクション、アクティビティID、アクティビティ開始時刻、アクティビティ終了時刻、アクティビティ結果、アクティビティタイプなど)を受信し、このアクティビティデータをオブジェクトリングバッファ210(例えば、ActivityID1,START_TS;ActivityID2,START_TS;ActivityID3,START_TS)に記録する。オブジェクトリングバッファ210に記録される、そのようなアクティビティデータをオブジェクトファイル216に格納することができる。そのようなオブジェクトファイル216は、アクティビティ開始時刻、アクティビティ終了時刻、アクティビティID、アクティビティ結果、アクティビティタイプ(例えば、対抗試合、クエスト、タスクなど)、アクティビティに関連するユーザまたはピアデータも含むことができる。例えば、オブジェクトファイル216は、アクティビティ中に使用されるアイテムに関するデータを格納することができる。そのようなオブジェクトファイル216をオブジェクトサーバ226に格納することができるが、オブジェクトファイル216を任意のサーバ、クラウドサーバ、任意のコンソール228、または任意のユーザデバイス130に格納することができる。
【0036】
そのようなオブジェクトデータ(例えば、オブジェクトファイル216)は、コンテンツデータ(例えば、メディアファイル212及び/またはコンテンツタイムスタンプファイル214)に関連付けられることができる。一例では、UGCサーバ232は、コンテンツタイムスタンプファイル214のストリーミングIDと、オブジェクトファイル216の対応するアクティビティIDとの間のマッチングに基づいて、コンテンツタイムスタンプファイル214を格納し、オブジェクトファイル216に関連付ける。別の例では、オブジェクトサーバ226は、オブジェクトファイル216を格納することができ、オブジェクトファイル216についてのクエリをUGCサーバ232から受信することができる。そのようなクエリは、クエリと共に送信されるコンテンツタイムスタンプファイル214のストリーミングIDにマッチングするオブジェクトファイル216のアクティビティIDを検索することによって実行され得る。さらに別の例では、コンテンツタイムスタンプファイル214の開始時刻及び終了時刻を、クエリと共に送信される対応するオブジェクトファイル216の開始時刻及び終了時刻とマッチングさせることによって、格納されたコンテンツタイムスタンプファイル214のクエリを実行することができる。そのようなオブジェクトファイル216もまた、UGCサーバ232によって、マッチングしたコンテンツタイムスタンプファイル214に関連付けられることができるが、この関連付けは、任意のサーバ、クラウドサーバ、任意のコンソール228、または任意のユーザデバイス150によって実行され得る。別の例では、オブジェクトファイル216及びコンテンツタイムスタンプファイル214は、各ファイル216、214の作成中にコンソール228によって関連付けられてもよい。
【0037】
UDS200によって生成されたアクティビティファイルは、ナビゲーションサーバ140によって提供またはアクセスされて、実世界のジェスチャに関するデータを分析、フィルタリング、及び1つまたは複数のマップ内のゲーム内コマンド/アクションとマッチングする際に使用できる。例えば、アクティビティファイルには、実世界のジェスチャが実行されたことが検出されたときに特定のアクティビティに関与している特定のプレイヤーによる特定のゲームタイトルの特定のゲームプレイセッションに関するゲームプレイデータが含まれてもよい。ナビゲーションサーバ140は、アクティビティファイルからのデータを使用して、実世界のジェスチャが実行されたときのゲームタイトル、プレイヤー、ゲーム内アクティビティ、及び他の条件を識別することができる。実世界のジェスチャが行われるそのような識別されたパラメータまたは条件は、関連性について検索結果をフィルタリングするためにナビゲーションサーバ140によって使用され得る。
【0038】
図3は、動きに基づくナビゲーションのための例示的な方法を示すフローチャートである。
図3の方法300は、CD、DVD、またはハードドライブ等の不揮発性メモリを含むがこれらに限定されない非一時的コンピュータ可読記憶媒体内の実行可能な命令として具現化され得る。記憶媒体の命令は、プロセッサ(複数可)によって実行されて、記憶媒体をホストまたはその他の方法で記憶媒体にアクセスするコンピューティングデバイスの様々なハードウェアコンポーネントに方法を実施させることができる。
図3に示したステップ(及びそれらの順序)は例示的なものであり、それらの実行順序を含むがこれに限定されない、それらの様々な代替物、均等物、または派生物を含み得る。
【0039】
ステップ310で、1つまたは複数のカスタムアクションがメモリに格納される。各カスタムアクションは、物理的な動きのパターンと閾値に関連付けられている。閾値は、カスタムアクションのレベルに対応する。カスタムアクションのレベルは、物理的な動きのパターンの複雑さによって決定される。
【0040】
ステップ320で、ユーザのユーザデバイスによってキャプチャされた物理的な動きのデータが受信される。ステップ330で、物理的な動きのデータは、識別されたカスタムアクションの1つにマッピングされる。物理的な動きのデータは、関連する閾値内の物理的な動きの関連するパターンとマッチングする。
【0041】
ステップ340で、ユーザは、識別されたカスタムアクションにアクセスすることを許可されていると判定される。次に、ユーザデバイス150は、識別されたカスタムアクションへのアクセスを提供され得る。いくつかの実施形態では、カスタムユーザジェスチャは、仮想環境内のコンテンツまたはアクションをロック及びロック解除するための認証メカニズムとして使用され得る。例えば、カスタムジェスチャは、個人または共有(チーム)コンテンツまたはアクションへのアクセスを制御する方法として、カスタム条件(例えば、指定された閾値内での動きのメトリックのマッチング)に関連付けて格納できる。そのため、カスタムジェスチャを正しく(定義された閾値内で)実行すると、特定のコンテンツまたはアクション/機能にアクセスする機能のロックを解除するコマンドが実行されることになり得る。
【0042】
いくつかの実施形態では、仮想環境内のユーザに関連付けられたアバターによる対応する動きは、次に、物理的な動きのデータに基づいてレンダリングされ得る。1人または複数の他のユーザは、そのユーザに関連付けられた1つまたは複数のソーシャルネットワークを介して検索することができ、アバターによる対応する動きは、1人または複数の他のユーザに共有することができる。
【0043】
図4は、動きに基づくナビゲーションを実行するために使用され得る例示的なユーザデバイスのブロック図である。有効な構成及び機能に応じて、
図4に示されるものより多い、または少ないコンポーネントがユーザデバイス400に含まれるか、そこから除外され得ることを理解されたい。ユーザデバイス400は、プログラム命令を実行するためのプロセッサ402を含むことができる。メモリ406は、データ格納目的で提供され、揮発性メモリ及び不揮発性メモリの両方を含むことができる。ユーザが見ることができる視覚インタフェースを提供するディスプレイ416が含まれる。ディスプレイ416は、1つの単一のディスプレイによって、または各眼のための別個のディスプレイ画面の形で画定され得る。2つのディスプレイ画面が提供されている場合、左眼と右眼のビデオコンテンツを別々に提供することが可能である。例えば、ビデオコンテンツをそれぞれの眼に個別に表示すると、仮想現実シーンの3次元コンテンツの没入型制御が向上する。
【0044】
モーション検出モジュール418は、磁力計420、加速度計424、及びジャイロスコープ426などの、様々な種類のモーションセンシティブハードウェアのうちのいずれかを含むことができる。ユーザデバイス400は、ユーザデバイス400が関連付けられているユーザの動きに従って、ユーザデバイス400の動きを示す慣性センサデータを生成するように構成された慣性センサ422を備えてもよい。磁力計420はユーザデバイス500付近の磁場の強度及び方向を測定する。いくつかの実施形態では、3つの磁力計420は、ユーザデバイス400内で使用され、世界空間ヨー角度についての絶対基準を保証する。いくつかの実施形態では、磁力計520は、±80マイクロステラの地球の磁場にわたるように設計されている。磁力計は金属の影響を受け、実際のヨーに対して単調なヨー測定を提供する。磁場は環境内の金属により歪むことがあり、これによりヨー測定に歪みが生じる。必要な場合、この歪みは、ジャイロスコープまたはカメラなどの他のセンサからの情報を用いて、較正することができる。いくつかの実施形態では、ユーザデバイス400の傾斜角及び方位角を得るために、加速度計424が磁力計420と共に使用される。
【0045】
いくつかの実施形態では、本発明はまた、ユーザの体に配置された1つまたは複数の外部慣性センサを含むことができる。本発明は、ユーザによって行われる特定の動きを判定するために、外部慣性センサデータをユーザデバイス400内の慣性センサ422から受信された慣性センサデータと比較するための動作を含み得る。
【0046】
加速度計424は、加速度及び重力誘起反力を測定するデバイスである。単軸及び多軸(例えば、6軸)モデルは、異なる方向における加速度の大きさ及び方向を検出することができる。加速度計524は、傾き、振動、及び衝撃を感知するために使用される。一実施形態では、3つの加速度計524が重力の方向を提供するために使用され、これは2つの角度(世界空間ピッチ及び世界空間ロール)の絶対基準を与える。
【0047】
ジャイロスコープ426は、角運動量の原理に基づいて、向きを測定または維持するデバイスである。一実施形態では、3つのジャイロスコープ426が、慣性感知に基づいて、それぞれの座標の軸(x、y、及びz)にわたる動きに関する情報を提供する。ジャイロスコープ426は、高速回転を検出するのに有用である。しかしながら、ジャイロスコープ426は、絶対基準が存在しないと、時間の経過と共にドリフトすることがある。これには、定期的にジャイロスコープ426をリセットする必要があり、これは、オブジェクトの視覚追跡、加速度計、磁力計などに基づく位置/向きの判定など、他の入手可能な情報を使用して行うことができる。
【0048】
ユーザデバイス400がさらされている実世界環境の画像及び画像ストリームをキャプチャするために、カメラ404が備えられている。後向きのカメラ404(ユーザがユーザデバイス400のディスプレイを見ているときに、ユーザから離れる方向に向けられる)及び前向きのカメラ404(ユーザがユーザデバイス400のディスプレイを見ているときに、ユーザの方に向けられる)を含む、複数のカメラ404を(任意選択で)ユーザデバイス400に含めることができる。いくつかの実施形態では、カメラ404は、ユーザデバイス500がさらされる実世界環境内の物体の深度情報を感知するために、ユーザデバイス400に含まれ得る。
【0049】
ユーザデバイス400には、オーディオ出力を提供するためのスピーカ412が含まれている。また、周囲環境からの音、ユーザによって行われたスピーチなどを含む、実世界環境からのオーディオをキャプチャするために、マイクロフォン414を含めることができる。
【0050】
無線ネットワーク技術を介してインターネットへのユーザデバイス400の接続を可能にするために、Wi-Fiモジュール410を含めることができる。また、ユーザデバイス400は、他のデバイスへの無線接続を可能にするために、Bluetooth(登録商標)モジュール408を含むことができる。
【0051】
図4に示されるようなユーザデバイス400の構成要素は、ユーザデバイス400に含まれ得る構成要素の例であり、ユーザデバイス400に含まれ得る可能性のある全ての構成要素を表すものではないことが理解されるべきである。例えば、様々な実施形態において、ユーザデバイス400は、
図4に示される構成要素のいくつかを含み得るか、または含まない場合がある。いくつかの実施形態では、ユーザデバイス400は、
図4に示されていない追加の構成要素を含み得る。
【0052】
例示的な実施形態では、ユーザは、カスタムの実世界のユーザジェスチャ430を、特定のゲーム内コマンドに関連付けられているものとして定義することができる。
図4に示されるように、ユーザジェスチャ430は、全身の動き、及び/またはカメラまたはセンサによってデータがキャプチャされ得る1つまたは複数の身体部分の任意の細かい運動技能の動きであり得る。定義されると、ユーザジェスチャ430に関する情報は、メモリに格納され、ナビゲーションサーバ140にアクセス可能にされて、カメラまたはセンサによって監視されている実世界環境で、後で実行される動き及びジェスチャに対して較正及びマッチングされ得る。
【0053】
ナビゲーションサーバ140は、センサデータによって特徴付けられるユーザジェスチャ430が1つまたは複数の利用可能なゲーム内コマンドに関連付けられていることを識別し得る。使用可能なゲーム内コマンドは、ジェスチャが実行された条件に関連付けられた1つまたは複数のアクティビティファイルに基づいてさらにフィルタリングできる。例えば、ジェスチャは特定のゲームプレイセッション中に実行された可能性がある。したがって、ゲーム内コマンドのフィルタリングされたサブセットは、ゲームプレイセッションのゲームタイトルに関連付けられているものとして識別され得る。したがって、ナビゲーションサーバ140は、識別された、または選択されたゲーム内移動が特定のゲーム内コマンドにマッピングされていると判定することができる。その後、ナビゲーションサーバ140は、ゲーム内環境内でコマンドを実行することができ、その結果、ナビゲーション、特定のコンテンツへのアクセスの提供、プレイヤー間通信、視聴覚効果などが、関連するコンテンツタイトル内で利用可能になる。
【0054】
図5は、本発明の実施形態で使用することができる例示的な電子エンターテインメントシステムのブロック図である。エンターテインメントシステム500は、電子ゲームコンソールであり得る。あるいは、エンターテインメントシステム500は、汎用コンピュータ、セットトップボックス、ハンドヘルドゲームデバイス、タブレットコンピューティングデバイス、モバイルコンピューティングデバイス、または、携帯電話として実装されてよい。エンターテインメントシステムは、特定のフォームファクタ、目的、または設計に応じてより多くのまたはより少ない操作構成要素を含む場合がある。
【0055】
図5のCPU510、ベクトルユニット515、グラフィックスプロセッシングユニット520、及びI/Oプロセッサ525は、システムバス585を介して通信する。さらに、
図5のCPU510は専用バス580を介してメインメモリ505と通信し、ベクトルユニット515及びグラフィックスプロセッシングユニット520は専用バス590を介して通信し得る。
図5のCPU510は、OS ROM555及びメインメモリ505に格納されたプログラムを実行する。
図5のメインメモリ505は、予め格納されたプログラム、及び光ディスク制御ユニット570を使用し、CD-ROM、DVD-ROM、または他の光ディスク(図示せず)からI/Oプロセッサ525を介して転送されたプログラムを含み得る。
図5のI/Oプロセッサ525はまた、無線または他の通信ネットワーク(例えば、4G、LTE、3G等)を介して転送されるコンテンツの導入を可能にし得る。
図5のI/Oプロセッサ525は主に、CPU510、ベクトルユニット515、グラフィックスプロセッシングユニット520、及びコントローラインタフェース535を含むエンターテインメントシステム500の様々なデバイス間のデータ交換を制御する。
【0056】
図5のグラフィックスプロセッシングユニット520は、CPU510及びベクトルユニット515から受信するグラフィックス命令を実行して、表示装置(図示せず)で表示するための画像を生成する。例えば、
図5のベクトルユニット515は、オブジェクトを三次元座標から二次元座標に変換し、二次元座標をグラフィックスプロセッシングユニット520に送信し得る。さらに、音声処理ユニット560は、命令を実行して音声信号を生成し、音声信号はスピーカ(図示せず)などのオーディオデバイスに出力される。他のデバイスは、USBインタフェース545、及び無線トランシーバなどのIEEE1394インタフェース550を介してエンターテインメントシステム500に接続されてもよく、これらは、システム500の中に、またはプロセッサなどの何らかの他の構成要素の一部として埋め込まれてもよい。
【0057】
図5のエンターテインメントシステム500のユーザは、コントローラインタフェース535を介してCPU510に命令を提供する。例えば、ユーザは、特定のゲーム情報をメモリカード540または他の非一時的なコンピュータ可読記憶媒体に格納するようにCPU510に指示するか、またはゲーム内のキャラクタに特定のアクションを実行するように指示することができる。
【0058】
本発明は、様々なエンドユーザデバイスによって動作可能であり得るアプリケーションに実装されてよい。例えば、エンドユーザデバイスは、パソコン、ホームエンターテインメントシステム(例えば、Sony PlayStation2(登録商標)またはSony PlayStation3(登録商標)またはSony PlayStation4(登録商標))、ポータブルゲームデバイス(例えば、Sony PSP(登録商標)またはSony Vita(登録商標))、または、下位ではあるが異なる製造業者のホームエンターテインメントシステムであってよい。本明細書に記載する本方法は、様々なデバイスで動作可能であることを完全に意図している。本発明はまた、本システムの実施形態が様々な発行者からの様々なタイトルにわたって利用することができるクロスタイトル中立性で実施することができる。
【0059】
本発明は、様々なデバイスを使用して動作可能であり得るアプリケーションに実装されてよい。非一時的コンピュータ可読記憶媒体は、実行のために命令を中央演算処理装置(CPU)に提供することに関与する任意の媒体(複数可)を指す。このような媒体は、光ディスクもしくは磁気ディスク及びダイナミックメモリなどの不揮発性及び揮発性媒体をそれぞれ含むがこれらに限定されない多くの形態をとることができる。非一時的コンピュータ可読媒体の一般的な形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体と、CD-ROMディスク、デジタルビデオディスク(DVD)、任意の他の光学媒体と、RAM、PROM、EPROM、FLASHEPROM、及び任意の他のメモリチップもしくはカートリッジとを含む。
【0060】
様々な形態の伝送媒体が、実行のために1つまたは複数の命令の1つまたは複数のシーケンスをCPUに伝えることに関与し得る。バスはデータをシステムRAMに伝え、CPUは、システムRAMから命令を取り出し、実行する。システムRAMによって受信された命令は、任意選択で、CPUによる実行の前または後のどちらかに固定ディスクに記憶することができる。様々な形態のストレージが、ストレージを実装するために必要なネットワークインタフェース及びネットワークトポロジと共に実装されてよい。
【0061】
本技術の上記の詳細な説明は、例示及び説明の目的で提示されている。上記詳細な説明は、包括的であることまたは本技術を開示された詳細な形態に限定することを意図するものではない。上記の教示に照らして、多くの修正形態及び変形形態が可能である。記載した実施形態は、技術の原理、その実際の適用を最も良く説明するために、且つ、様々な実施形態で、及び企図された特定の用途に適した様々な修正形態で当業者が技術を利用することを可能にするために選択された。本技術の範囲は、特許請求の範囲により定義されることが意図される。