IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特表2024-536679ホスト同期化された伝送を利用するアクセサリデバイス通信
<>
  • 特表-ホスト同期化された伝送を利用するアクセサリデバイス通信 図1
  • 特表-ホスト同期化された伝送を利用するアクセサリデバイス通信 図2
  • 特表-ホスト同期化された伝送を利用するアクセサリデバイス通信 図3
  • 特表-ホスト同期化された伝送を利用するアクセサリデバイス通信 図4
  • 特表-ホスト同期化された伝送を利用するアクセサリデバイス通信 図5
  • 特表-ホスト同期化された伝送を利用するアクセサリデバイス通信 図6
  • 特表-ホスト同期化された伝送を利用するアクセサリデバイス通信 図7
  • 特表-ホスト同期化された伝送を利用するアクセサリデバイス通信 図8
  • 特表-ホスト同期化された伝送を利用するアクセサリデバイス通信 図9
  • 特表-ホスト同期化された伝送を利用するアクセサリデバイス通信 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-08
(54)【発明の名称】ホスト同期化された伝送を利用するアクセサリデバイス通信
(51)【国際特許分類】
   H04W 72/1268 20230101AFI20241001BHJP
   H04W 76/10 20180101ALI20241001BHJP
   H04W 72/0453 20230101ALI20241001BHJP
【FI】
H04W72/1268
H04W76/10
H04W72/0453
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024506517
(86)(22)【出願日】2022-08-24
(85)【翻訳文提出日】2024-02-01
(86)【国際出願番号】 US2022041285
(87)【国際公開番号】W WO2023048883
(87)【国際公開日】2023-03-30
(31)【優先権主張番号】17/480,817
(32)【優先日】2021-09-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【弁理士】
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】レア,ペリー ビクター
(72)【発明者】
【氏名】チンタラプディ,クリシュナ カント
(72)【発明者】
【氏名】ランタ,スティーブン ウィリアム
(72)【発明者】
【氏名】ナランカ,ゴパラ シュリハリ
(72)【発明者】
【氏名】アデルマン,スタンリー ウィリアム
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA13
5K067AA14
5K067DD11
5K067EE02
5K067EE10
(57)【要約】
ホストデバイスは、プロセッサと、プロセッサとデータ通信する無線通信デバイスと、プロセッサとデータ通信するハードウェア記憶デバイスと、を含む。ハードウェア記憶デバイスは、そこに記憶された命令を有し、命令は、プロセッサによって実行されるときに、ホストデバイスに、アクセサリデバイスとの間で無線データチャネルを確立することと、無線データチャネルを20MHz未満の帯域幅を有するリソースユニットに割り当てることと、を行わせる。命令はさらに、ホストデバイスに、アクセサリデバイスにトリガ信号を送信することと、トリガ信号に応答して、アクセサリデバイスから状態データを受信することと、を行わせる。
【特許請求の範囲】
【請求項1】
アクセサリデバイスとホストデバイスとの間の無線通信を管理する方法であって、
前記ホストデバイスにおいて、
アクセサリデバイスとの間で無線データチャネルを確立することと、
前記無線データチャネルを、20MHz未満の帯域幅を有するリソースユニットに割り当てることと、
前記アクセサリデバイスにトリガ信号を送信することと、
前記トリガ信号に応答して、前記アクセサリデバイスから状態データを受信することと、を含む、方法。
【請求項2】
前記トリガ信号は、8ミリ秒以下の時間間隔で送信される、請求項1に記載の方法。
【請求項3】
前記トリガ信号は、可変時間間隔で送信される、請求項1又は2に記載の方法。
【請求項4】
前記ホストデバイスは、ビデオゲーム環境をレンダリングし、前記トリガ信号は、前記ホストデバイスのレンダリングフレームレートに少なくとも部分的に基づいた時間間隔で送信される、請求項1又は2に記載の方法。
【請求項5】
前記トリガ信号は、ゲーム音声データを含む、請求項1又は2に記載の方法。
【請求項6】
複数のアクセサリデバイスとホストデバイスとの間の無線通信を管理する方法であって、
前記ホストデバイスにおいて、
第1のアクセサリデバイスとの間で第1の無線データチャネルを確立することと、
第2のアクセサリデバイスとの間で第2の無線データチャネルを確立することと、
前記第1の無線データチャネルを、20MHz未満の帯域幅を有する第1のリソースユニットに少なくとも割り当てることと、
前記第2の無線データチャネルを、20MHz未満の帯域幅を有する第2のリソースユニットに少なくとも割り当てることと、
前記第1のアクセサリデバイス及び前記第2のアクセサリデバイスにトリガ信号を同時に送信することと、
前記トリガ信号に応答して、前記第1のアクセサリデバイスからの第1の応答信号と、前記第2のアクセサリデバイスからの第2の応答信号とを同時に受信することと、を含む、方法。
【請求項7】
前記トリガ信号は、ゲーム音声データを含む前記第1のアクセサリデバイス及び前記第2のアクセサリデバイスの両方への下りリンク伝送の一部である、請求項6に記載の方法。
【請求項8】
前記トリガ信号は、触覚データを含む前記第1のアクセサリデバイス及び前記第2のアクセサリデバイスの両方への下りリンク伝送の一部である、請求項6又は7に記載の方法。
【請求項9】
トリガ信号間隔よりも大きい音声間隔でゲーム音声下りリンクを前記アクセサリデバイスに送信することをさらに含む、請求項6又は7に記載の方法。
【請求項10】
前記第1の応答信号及び前記第2の応答信号の少なくとも一方は、前記ゲーム音声下りリンクに応答して、チャット音声データを含む、請求項9に記載の方法。
【請求項11】
前記第1の無線データチャネル及び前記第2の無線データチャネルの少なくとも1つでの競合を検出することと、
前記競合するチャネルをパンクチャすることと、をさらに含む、請求項6又は7に記載の方法。
【請求項12】
前記第1のアクセサリデバイスとの間で前記第1の無線データチャネルを再確立することと、
前記第2のアクセサリデバイスとの間で前記第2の無線データチャネルを再確立することと、
前記第1の無線データチャネルを、前記第1のリソースユニット未満の帯域幅を有する第3のリソースユニットに割り当てることと、
前記第2の無線データチャネルを、前記第2のリソースユニット未満の帯域幅を有する第4のリソースユニットに割り当てることと、をさらに含む、請求項11に記載の方法。
【請求項13】
前記第3のリソースユニットは、10MHz未満である、請求項12に記載の方法。
【請求項14】
前記第1の無線データチャネルは、前記第2の無線データチャネルとは異なる帯域幅を有する、請求項6又は7に記載の方法。
【請求項15】
前記第1の応答信号及び前記第2の応答信号の少なくとも1つは、複数の離散的入力イベントからの離散的イベントデータを含む、請求項6又は7に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
アクセサリデバイスは、ホストデバイスと通信して、ホストアプリケーションと情報を送受信する。複数のアクセサリデバイスにより、複数のユーザが同時にホストデバイスと対話することが可能とすることができる。複数のアクセサリデバイスがホストデバイスと通信するときに、遅延と干渉が発生する可能性がある。
【発明の概要】
【0002】
いくつかの実施形態では、ホストデバイスは、プロセッサと、プロセッサとデータ通信する無線通信デバイスと、プロセッサとデータ通信するハードウェア記憶デバイスと、を含む。ハードウェア記憶デバイスは、そこに記憶された命令を有し、命令は、プロセッサによって実行されるときに、ホストデバイスに、アクセサリデバイスとの間で無線データチャネルを確立することと、無線データチャネルを20MHz未満の帯域幅を有するリソースユニットに割り当てることと、を行わせる。命令はさらに、ホストデバイスに、アクセサリデバイスにトリガ信号を送信することと、トリガ信号に応答して、アクセサリデバイスから状態データを受信することと、を行わせる。
【0003】
いくつかの実施形態では、アクセサリデバイスとホストデバイスとの間の無線通信を管理する方法は、ホストデバイスにおいて、アクセサリデバイスとの間で無線データチャネルを確立することと、無線データチャネルを、20MHz未満の帯域幅を有するリソースユニットに割り当てることと、アクセサリデバイスにトリガ信号を送信することと、トリガ信号に応答して、アクセサリデバイスから状態データを受信することと、を含む。
【0004】
いくつかの実施形態では、複数のアクセサリデバイスとホストデバイスとの間の無線通信を管理する方法は、ホストデバイスにおいて、第1のアクセサリデバイスとの間で第1の無線データチャネルを確立することと、第2のアクセサリデバイスとの間で第2の無線データチャネルを確立することと、第1の無線データチャネルを、20MHz未満の帯域幅を有する第1のリソースユニットに少なくとも割り当てることと、第2の無線データチャネルを、20MHz未満の帯域幅を有する第2のリソースユニットに割り当てることと、第1のアクセサリデバイス及び第2のアクセサリデバイスにトリガ信号を同時に送信することと、トリガ信号に応答して、第1のアクセサリデバイスからの第1の応答信号と、第2のアクセサリデバイスからの第2の応答信号とを同時に受信することと、を含む。
【0005】
この概要は、詳細な説明において以下にさらに記載される概念の選択を単純化された形態で導入するために提供される。この概要は、特許請求の範囲に記載された主題の主要な特徴又は本質的な特徴を識別することを意図しない。
【0006】
追加的な特徴及び利点は、以下の説明において記載され、一部は、説明から明らかでありか、又は本明細書における教示の実施によって分かってもよい。本開示の特徴及び利点は、添付の特許請求の範囲において特に指摘された機器及び組み合わせによって実現及び取得されてもよい。本開示の特徴は、以下の説明及び添付の特許請求の範囲からより十分に明らかになるか、又は以下に記載する本開示の実施によって分かってもよい。
【図面の簡単な説明】
【0007】
本開示の上記及び他の特徴が取得され得る方式を記載するために、添付の図面に例示されるその具体的な実施形態を参照することによって、より特定の説明が与えられるだろう。よりよく理解するために、様々な添付図面を通して、同様の要素は同様の参照番号によって示されている。図面のいくつかは、概念の概略的又は誇張された表現であってもよいが、図面の少なくともいくつかは、一定の縮尺で描かれてもよい。図面がいくつかの例示的な実施形態を描写することを理解すると、実施形態は、添付図面の使用を通して、さらなる特異性及び詳細を伴って記載及び説明される。
【0008】
図1】本開示の少なくともいくつかの実施形態による、無線通信システムの概略図である。
図2】本開示の少なくともいくつかの実施形態による、アクセサリデバイスの概略図である。
図3】本開示の少なくともいくつかの実施形態による、無線通信チャネルの概略図である。
図4】本開示の少なくともいくつかの実施形態による、ホストデバイス及びアクセサリデバイスのシステム図である。
図5】本開示の少なくともいくつかの実施形態による、ネットワークトポロジ図である。
図6】本開示の少なくともいくつかの実施形態による、異なる通信タイミングを例示する。
図7】本開示の少なくともいくつかの実施形態による、リソースユニット割り当ての一例を例示する。
図8】本開示の少なくともいくつかの実施形態による、データチャネル割り当てをバックオフする方法を例示するフローチャートである。
図9】本開示の少なくともいくつかの実施形態による、ホストデバイスとのアクセサリデバイス通信を例示するタイミングチャートである。
図10】本開示の少なくともいくつかの実施形態による、動的レイテンシ入力タイミングを例示するタイミングチャートである。
【発明を実施するための形態】
【0009】
本開示は、一般に、1つ以上のアクセサリデバイスとホストデバイスとの間でデータを通信するためのシステム及び方法に関する。アクセサリデバイスは、無線通信を介してホストデバイスとデータを通信する電子デバイスである。ユーザは、アクセサリデバイスと対話して、ホストデバイスに入力を提供し、及び/又はホストデバイスから情報を受信する。例えば、ゲームコントローラのようなアクセサリデバイスは、1つ以上のボタン、スイッチ、スティックなどについてユーザからの手動入力を受信し、状態データをホストデバイスに中継してもよい。別の例では、ヘッドセットなどのアクセサリデバイスは、ホストデバイスから音声データを受信し、ユーザに音声サウンドを再生してもよい。少なくとも1つの例では、アクセサリデバイスは、状態データ(ユーザ入力に関連する)とチャット音声データ(ゲームコントローラによって収集される)の両方をホストデバイスに伝送し、アクセサリデバイスによってユーザのために後で生成され得るゲーム触覚データをホストデバイスから受信するゲームコントローラである。
【0010】
図1は、ホストデバイス104と通信するアクセサリデバイス102-1、102-2の例示的なシステム100を例示する。アクセサリデバイス102-1、102-2は、異なる通信方法及びそれらの異なる通信方法のために記憶されたデータチャネルパーソナリティを使用して、複数のホストデバイス104と無線通信するように構成されてもよい。ゲームコントローラ、スピーカ、ヘッドセット、キーボード、ジョイスティック、他のヒューマンインタフェースデバイス(HID)などの複数のアクセサリデバイスは、ホストデバイスとペアリングし、時間多重化によってホストデバイスと通信するための帯域幅を共有する。
【0011】
いくつかの実施形態では、アクセサリデバイス202は、ハードウェア記憶デバイス208と通信するプロセッサ206を含む。ハードウェア記憶デバイス208は、その上に命令を記憶してもよい任意の非一時的なコンピュータ可読媒体とすることができる。ハードウェア記憶デバイス208は、任意のタイプの固体メモリ、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)などの揮発性メモリ、プログラム可能ROM(PROM)、消去可能PROM(EPROM)、EEPROMを含む読み出し専用メモリ(ROM)などの不揮発性メモリ、磁気テープのような磁気記憶媒体、ハードディスクドライブなどのプラテンベースの記憶デバイス、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、ブルーレイディスク、他の光媒体などの光媒体、USBドライブなどのリムーバブルメディア、内部SATA若しくは不揮発性メモリエクスプレス(NVMe)スタイルのNANDフラッシュメモリなどの非リムーバブルメディア、又は任意の他の非一時的な記憶媒体であってもよい。ハードウェア記憶デバイス208は、そこに記憶された命令を含み、命令は、プロセッサ206によって実行されるときに、アクセサリデバイス202に、本明細書に記載の任意の方法又は方法の一部を実行させる。ハードウェア記憶デバイス208又は別のハードウェア記憶デバイスは、少なくとも1つのデータチャネルパーソナリティを記憶している。
【0012】
アクセサリデバイス202は、ホストデバイス及び/又は制御デバイスへのデータの無線伝送及び受信を可能にする802.11 ax無線周波数(RF)トランシーバのような無線通信装置210をさらに含む。いくつかの実施形態では、アクセサリデバイス202は、異なるホストデバイス及び/又は制御デバイスと通信するために異なる周波数又は電力レベルで通信を提供する複数の無線通信デバイス210を有する。
【0013】
データチャネルは、状態データ、音声データ、及びアクセサリデバイス202とホストデバイスとの間の他の頻繁な通信の通信を提供する。いくつかの実施形態では、アクセサリデバイス202は、データチャネルパーソナリティを変更するためにアクセサリデバイスに命令を提供する制御アプリケーションと、制御チャネルを介して通信する。いくつかの実施形態では、制御チャネルは、現在又は利用可能な記憶されたデータチャネルパーソナリティ、アクセサリデバイス202の現在のバッテリ状態、RSSI信号強度、他の機能などの他のデバイス情報を制御アプリケーションにブロードキャストしてもよい。いくつかの実施形態では、アクセサリデバイスは、データチャネルパーソナリティを選択、循環、又はその他の方法で変更するために、アクセサリデバイス上にローカルに少なくとも1つの入力機構212を有する。制御チャネルを有する実施形態では、制御チャネルは、レイテンシ耐性データ伝送の通信を可能にし、一方、データチャネルは、レイテンシクリティカルな情報を処理する。データチャネルがレイテンシクリティカルな情報を処理する際に、追加のアクセサリデバイスが帯域幅を共有すると、時間多重化のために伝送に遅延を引き起こすことがある。
【0014】
ここで、図3を参照すると、いくつかの実施形態では、システム300は、データチャネル314によってホストデバイス304と通信し、第1の制御チャネル318-1を介して制御デバイス316と通信するアクセサリデバイス302を含む。他の制御チャネル318-2、318-3は、さらに、システム300のデバイス間でデバイス情報を通信又は共有して、レイテンシクリティカルな情報を、可能な限り最小の干渉及び/又は遅延でデータチャネル314を介して送信することを可能にしてもよい。例えば、アクセサリデバイス302とホストデバイス304との間の第2の制御チャネル318-2は、アクセサリデバイス302とホストデバイス304との間のデバイスヘルス及びデバイス状態情報の通信を可能にしてもよい。制御デバイス316とホストデバイス304との間の第3の制御チャネル318-3は、制御デバイス316とホストデバイス304との間のデバイスヘルス及びデバイス状態情報の通信を可能にしてもよい。
【0015】
データチャネル314は、アクセサリデバイス302とホストデバイス304との間のリアルタイム又は実質的にリアルタイムの通信を含み、ユーザが、ゲームコンソール(例えば、MICROSOFT XBOX、SONY PLAYSTATION、NINTENDO SWITCH)上で実行されるゲームアプリケーションなど、ホストデバイス304によって実行されるホストアプリケーションと対話することを可能にする。ホストアプリケーションは、ホストデバイス304上でネイティブに実行されてもよい。ホストアプリケーションは、クラウドサーバ上で実行され、アクセサリデバイスがデータチャネルを有するアクセスポイント(ホストデバイス)を介してアクセスされるストリーミングゲームアプリケーションであってもよい。例えば、ゲームコントローラは、コントローラ状態データをデータチャネル314を介してホストデバイス304に伝送して、ホストデバイス304上で実行されるか、又はホストデバイス117を介してアクセスされるゲームアプリケーションと対話してもよい。他の例では、ヘッドセットは、ゲーム環境内の音を表すために、データチャネル314を介してホストデバイス304から音声データを受信してもよい。さらに他の例では、ヘッドセットが接続されたゲームコントローラは、データチャネル314を介して、ヘッドセットからゲームコントローラを介してホストデバイス304にチャット音声データを伝送してもよい。いくつかの実施形態では、データチャネル314は、少なくとも2ミリ秒ごとに、アクセサリデバイス302とホストデバイス304との間でデータを伝送することを可能にする。
【0016】
制御チャネル318-1、318-2、318-3は、非レイテンシクリティカルな情報が、アクセサリデバイス302と制御アプリケーション又はデバイス316との間で伝送されることを可能にしてもよい。いくつかの実施形態では、制御デバイス316は、ホストデバイスとは異なる。例えば、制御デバイス316は、制御チャネル318-1を介してアクセサリデバイス302と通信するユーザのスマートフォンであってもよく、一方、アクセサリデバイス302は、データチャネル314を介してゲームコンソールなどのホストデバイス304と通信する。いくつかの実施形態では、制御デバイス316はホストデバイス304であり、制御アプリケーションは、アクセサリデバイス302がデータチャネル314を介して通信するホストアプリケーションとは異なる。例えば、ゲームコントローラは、データチャネルを介してPC上で実行されるゲームアプリケーションと通信し、一方、データチャネルとは独立した制御チャネルを介してPC上で実行される制御アプリケーションと通信してもよい。このような例では、制御アプリケーション内のアクセサリデバイスに対して異なるデータチャネルパーソナリティを選択することは、アクセサリデバイスに、異なるホストデバイスとの新しいデータチャネルを確立するように指示する。
【0017】
次に図4を参照すると、アクセサリ無線部420を介してアクセサリデバイス402と通信するホストデバイス404(例えば、ゲームコンソール)を有するシステム400の実施形態が例示されている。ホストデバイス404はまた、ネットワーク無線部426を介してアクセスポイント424を介してネットワーク422とデータ通信を行う。ホストデバイス404のメインプロセッサ又はメインSOC428は、PCIe(Peripheral Component Interconnect Express)又は別のハードウェア接続規格を介して、ネットワーク無線部426及びアクセサリ無線部420に間接的に接続される。
【0018】
低電力無線制御ASIC430は、通常動作するときに非透過的なブリッジトポロジを使用してPCIeパススルーを提供するデバイスである。低電力状態(例えば、調整待機)では、メインSOC428は電源オフとなり、ネットワーク制御は低電力無線制御ASIC430によって管理される。この状態では、PCIeリンクは、メインSOC428へのパススルーとして使用されず、むしろ低電力無線制御ASIC430が、すべてのネットワーク接続性を管理する。低電力無線制御ASIC430は、ネットワーク機能性が維持されることを確保しながら、ウェイクイベントを管理し、ネットワークトラフィックをフィルタリングしてもよい。低電力無線制御ASIC430は、プロセッサ及び内蔵SRAM又は他のメモリを使用して、特定のイベントに応答し、メインSOC428をウェイクさせるのに十分なネットワーク機能性をホストしてもよい。低電力モードの間、アクセサリ無線部420は、低電力無線制御ASIC430によって管理されなくてもよい。低電力状態のコンソールをアクセサリデバイス402からウェイクさせることは、アクセサリ無線部420がアクセサリデバイス402からのウェイク信号又はビーコンに応答し、次いで、インバンド又はアウトオブバンド信号432を介してメインSOC428にウェイクするように警告することに依存する。
【0019】
いくつかの実施形態では、ホストデバイス402は、アクセサリデバイス402(及びその無線通信デバイス)とホストデバイス404のアクセサリ無線部420との間にデータチャネル414を確立する。いくつかの実施形態では、制御チャネル418も、アクセサリ無線部420を使用して確立される。データチャネル414は、アクセサリデバイス402とホストデバイス404との間でレイテンシに敏感な情報を搬送して、ホストデバイス404上で実行される(又はホストデバイス117を介してアクセスされる)ホストアプリケーションとの応答性のある没入型の対話をユーザに提供する。例えば、いくつかのゲームコンソール又はパーソナルコンピュータは、ゲームアプリケーション及びそのゲーム環境を120フレーム/秒以上のフレームレートでレンダリングすることができる。このような例では、各フレームは8.33ミリ秒(ms)しか続かない。別の例では、60FPSでレンダリングされるゲーム環境は、16.67msのフレーム時間を有する。したがって、データチャネル414を介した通信の遅延により、ゲーム環境の意図された状態の後に入力が受信される可能性がある。特定の例では、ユーザ入力の通信における30msの遅延により、ユーザがボタンを押した後、2~3フレーム後にユーザ入力がホストデバイス404に到達する可能性がある。
【0020】
時間多重化を使用する従来のシステムでは、データチャネル414の周波数を使用する追加のデバイスは、データの伝送を遅くするデータチャネル414上のトラフィック又は輻輳を引き起こす可能性がある。例えば、データチャネルのための帯域幅をアクセサリ無線部420と共有する複数のアクセサリデバイスは、追加の遅延を引き起こす可能性がある。他の例では、システム400の一部ではない同じ周波数でブロードキャストするデバイス又は無線部は、通信において追加の遅延を引き起こす可能性がある。
【0021】
図5は、ネットワークトポロジのためのハブスポークモデルの実施形態を例示する。システム500のハブスポークモデルは、各アクセサリデバイス502-1、502-2、502-3、502-4、502-5、502-6、502-7、502-8に対してホストデバイス504と異なるデータチャネルを確立することを必要とする。他の実施形態では、メッシュタイプのネットワークは、アクセサリデバイスが別のアクセサリデバイス(ヘッドセットへのノードリレーとして活動するゲームコントローラなど)へのノードリレーとして活動することを可能にする。メッシュは、メッシュルーティング、メッシュセキュリティ、及びメッシュ信頼性にレイテンシと複雑性をもたらす。メッシュはまた、予測可能で持続的な帯域幅のサービス品質を複雑にします。しかし、ハブスポークモデルは、ホストデバイス504と通信するために多くの個別データチャネルを導入する。ゲームコンソールは、ローカル又は「カウチ」マルチプレイヤーイベントの例では、小さなエリアに位置する最大8つのアクセサリデバイス502-1、502-2、502-3、502-4、502-5、502-6、502-7、502-8と通信することがある。このような例では、従来の時間ベースの多重化又はウェイト・トゥ・トーク通信は、遅延を導入する可能性があり、この遅延は、周波数を共有するアクセサリデバイスの数と共に増加する。
【0022】
図6-1は、アクセサリデバイス602-1、602-2、602-3の各々が、他のすべてのアクセサリデバイスとは異なる時間にホストデバイスと通信する、時間ベースの多重化の一例を例示する。したがって、各アクセサリデバイスは、音声及び/又はユーザ入力に関する遅延に敏感な情報をデータチャネル上で伝送するために待機しなければならない。逆に、図6-2は、各アクセサリデバイス602-1、602-2、602-3が別のアクセサリデバイスと同時にサブキャリア上で伝送することを可能にする複数のサブキャリア又はリソースユニット(RU)に利用可能な帯域幅を分割して割り当てることによって、同じアクセサリデバイス602-1、602-2、602-3がホストデバイスと遅延なく自由に通信する一例を例示する。例えば、第1のアクセサリデバイス602-1は、アナログスティックの位置のアナログ状態データを、第2のアクセサリデバイス602-2が音声データを伝送するのと同時に伝送することができる。第1のアクセサリデバイス602-1及び第3のアクセサリデバイス602-3は、その後、デジタルボタン状態データを同時に伝送する。従来の状態データの逐次伝送とは異なり、第1のアクセサリデバイス602-1と第3のアクセサリデバイス602-3を使用する両プレイヤーが、同時にデータを伝送する。競争ゲームをプレイするときに、データの逐次伝送は、特定のプレイヤーに対してシステム上の利点又は欠点を引き起こす可能性がある。
【0023】
いくつかの実施形態では、等しい帯域幅又はサブキャリアの数が、各アクセサリデバイスに割り当てられる。他の実施形態では、帯域幅の量又はサブキャリアの数は、アクセサリデバイスのタイプ及び/又は伝送されるデータのタイプに少なくとも部分的に基づいて、アクセサリデバイス間で異なることができる。例えば、図6-2では、第1のアクセサリデバイス602-1は、ゲームコントローラボタンの状態データをブロードキャストするために単一のサブキャリアを割り当て、第2のアクセサリデバイス602-2には、ヘッドセットからの音声情報を通信するために6つのサブキャリアが割り当てられる。いくつかの実施形態では、割り当てられたサブキャリアは、アクセサリデバイス602-1、602-2、602-3のうちの少なくとも1つに対して固定される。いくつかの実施形態では、割り当てられたサブキャリアは、通信されるデータのタイプに基づいて動的に割り当てられる。例えば、第2のアクセサリデバイス602-2には、最初に、ホストデバイスからゲーム音声を受信するために6つのサブキャリアが割り当てられ、一方、第2のアクセサリデバイス602-2には、後に、第2のアクセサリデバイス602-2からホストデバイスに低品質のチャット音声をブロードキャストするために単一のサブキャリアが割り当てられる。
【0024】
直交周波数分割多元接続(OFDMA)を有効にするときに、コントローラのレイテンシと全体的な共存の問題を改善することができる。OFDMAは、複数のユーザ又はアクセサリデバイスがスペクトルを効率的に共有することを可能にする。Wi-Fi 5及び他のWi-Fi標準プロトコルで使用されるレガシー直交周波数分割多重(OFDM)技術は、周波数空間の時分割多重を使用し、単一のアクセサリデバイスのチャネル容量全体を消費したが、OFDMAは、すべてのデータを同時に伝送するために、個々の伝送を異なるサブキャリア又はRUに局所化する。
【0025】
OFDMによって引き起される特定のプレイヤーに対するシステム上の利点又は欠点に対処するために、ユーザがボタンを押下したとき(又はアナログスティック又はトリガの位置が測定されたとき)にユーザ入力をタイムスタンプ記録し、すべての伝送が受信されるまですべての入力を遅延させるシステムもある。しかしながら、ホストデバイスにおいてすべての入力を遅延させて入力を一緒に処理すると、すべての入力が、ユーザがボタンを押下したときに入力したフレームからさらに遅延されるので、ユーザが知覚する入力ラグがより大きくなる。言い換えれば、ゲームコンソールに入力を送信するコントローラが多ければ多いほど、プレイヤーには入力がより遅延されたように感じられる。ローカルマルチプレイヤーとそれが生み出す社会環境を奨励し、支援するためには、ゲームのパフォーマンスと入力応答時間は、可能な限り高速でありながら、可能な限り公平かつ同時であるべきである。
【0026】
従来、OFDMAは、複数のデバイスが、他のデバイスの伝送タイミングをあまり考慮せずに、特定の帯域幅を介して通信することを可能にする。例えば、各デバイスは、他のデバイスと競合することなく、いつでも帯域幅内の指定されたサブキャリア又はRU上でデータを伝送及び/又は受信することができる。しかしながら、コントローラからのデータ(例えば、状態データ、音声データ)の瞬時の準備及び伝送は、バッテリ寿命に悪影響を及ぼす。本開示によるシステム及び方法は、OFDMAを使用して、ホストデバイスにおいて均一かつ同時の通信タイミングを確立することによって、アクセサリデバイス間の同期を強制する。これにより、より一貫性のある、より公正なゲームプレイ体験をユーザに提供することができる。
【0027】
いくつかの実施形態では、ホストデバイスは、各アクセサリデバイスに、使用されるサブキャリアのセットを割り当てる役割を担う。802.11n/ac OFDM物理層仕様(PHY)は、312.5Hzでの各サブキャリアの幅を規定している。20MHzチャネルは、52の搬送データ、4つのパイロット、及び8つのガードバンド(ヌル)を有する64のサブキャリアから構成される。OFDMAは、サブキャリア幅を78.125KHzに低減し、20MHzチャネルに256のサブキャリアとする。これらのサブキャリアは、データに対して234、8つのパイロット、3つのダイレクトカレント、11のガードバンドに分割される。
【0028】
これらのサブキャリア又はRUは、チャネル幅に応じて、26のサブキャリア(又はトーン)から2x996トーンまでの範囲である。いくつかの実施形態では、コントローラハードウェアは、設計を20MHzチャネルに制限する。いくつかの実施形態では、ハードウェアが256QAMしか許容しない(1024 QAMは許容しない)ため、コントローラハードウェアは、総チャネル容量を114.7 Mb/sに制限する。
【0029】
いくつかの実施形態では、コントローラ又は他のアクセサリデバイスは、20MHzチャネル幅に基づく。しかし、他の実施形態は、160MHz幅を含むより大きなチャネル幅を処理してもよい。RUは、接続されているクライアントアクセサリ又はSTAの数に依存する。
【0030】
図7(FIG.7-1~FIG.7-4)は、チャネルをサブチャネルに分割する一例を例示する。いくつかの実施形態では、アクセサリ無線部は、チャネル帯域幅の80MHz全体をサポートするが、コントローラは、20MHzチャネルのみをサポートしてもよい。これは、FIG.7-1に例示するように、最大4つのコントローラ又はアクセサリが連続する80MHz帯域幅を共有できることを意味する。
【0031】
FIG.7-1は、最適な使用ケースを例示しているが、衝突が発生し、チャネル又はサブチャネルに競合が存在するイベントが依然として存在し得る。FIG.7-2は、4つの20MHzサブチャネルのうちの3つが、クリアな空域を体験し、衝突又は競合なしに機能する一例である。コントローラ1、コントローラ3、及びコントローラ4は、トリガ信号に応答して、同時に伝送し、一方、コントローラ2は、第2のサブチャネル上の空間で競合する。コントローラ2は、次の利用可能な時間に伝送する。この戦略では、コンソール無線部とコントローラ無線部の両方に使用可能な最大のチャネル容量が割り当てられますが、いくつかのプレイヤーだけに平等で公正な体験が提供される。競合がある場合、FIG.7-3に例示するように、ホストデバイスが40MHzチャネルを4つの10MHzサブチャネルに再ネゴシエートするなど、様々なバックオフ戦略を組み込むことができる。ホストデバイス内のアクセサリ無線部の利用可能な帯域幅の半分のみを使用する一方で、各アクセサリデバイス(例えば、コントローラ)には、利用可能な周波数内で等しい帯域幅が割り当てられる。同様に、FIG.7-4は、5MHzのサブチャネルを4つのコントローラの各々に割り当てるためのチャネルのさらなる分割のさらに別の例を例示する。
【0032】
ホストデバイスがこのようなバックオフ戦略を採用するプロセスのフローチャートが図8に例示される。より広いチャネル(20MHz)からバックオフする方法は、チャネル競合、ドロップアウト、リトライ、及びパケット損失の要因に基づいてもよい。
【0033】
方法834は、836において、ホストデバイスが、2.4GHz又は5GHz空間のいずれかで利用可能な(例えば、そこで検出されたトラフィックなしに)単一の80MHzチャネルを見つけようとすることを含む。ホストデバイスが利用可能な80MHzチャネルを見つけることに成功した場合、方法834は、840において、20MHzサブチャネル又はRUを最大4つのアクセサリデバイスに割り当てることを含む。842において、競合が検出又は発生しない限り、コントローラには、80MHz空間内の20MHzサブチャネルが割り当てられたままになる。842において、競合が検出されるときに、方法834は、844において、複数のサブチャネルが競合なしにブロードキャストすることができるかどうかを判定することを含む。複数のサブチャネルがブロードキャストすることができる場合、方法834は、846において、競合するサブチャネルがパンクチャされ、後の時間にリトライする間、競合しないサブチャネルが同時伝送を通してデータを伝送することを可能にすることを含む。
【0034】
いくつかの実施形態では、848において、アクセサリデバイスは、他のサブチャネルが同時にブロードキャストすることができなくなるまで、割り当てられた20MHzサブチャネルを使用し続ける。試行回数が制限に達するときに、方法834は、850において、20MHzの割り当てをリトライすることを含んでもよいし、方法834は、852において、ホストデバイスに、2.4GHz又は5GHz空間のいずれかで単一の40MHzチャネルを見つけることを試行させることによって進んでもよい。ホストデバイスが利用可能な40MHzチャネルを見つけることに成功した場合、方法834は、854において、10MHzサブチャネル又はRUを最大4つのアクセサリデバイスに割り当てることを含む。856において、競合が検出又は発生しない限り、コントローラには、40MHz空間内の10MHzサブチャネルが割り当てられたままになる。856において、競合が検出されるときに、方法834は、858において、複数のサブチャネルが競合なしにブロードキャストすることができるかどうかを判定することを含む。複数のサブチャネルがブロードキャストすることができる場合、方法834は、860において、競合するサブチャネルがパンクチャされ、後の時間にリトライする間、競合しないサブチャネルが同時伝送を通してデータを伝送することを可能にすることを含む。
【0035】
いくつかの実施形態では、862において、アクセサリデバイスは、他のサブチャネルが同時にブロードキャストすることができなくなるまで、割り当てられた10MHzサブチャネルを使用し続ける。試行回数が制限に達するときに、方法834は、864において、10MHzの割り当てをリトライすることを含んでもよいし、方法834は、866において、ホストデバイスに、2.4GHz又は5GHz空間のいずれかで単一の20MHzチャネルを見つけることを試行させることによって進んでもよい。ホストデバイスが利用可能な20MHzチャネルを見つけることに成功した場合、方法834は、868において、5MHzサブチャネル又はRUを最大4つのアクセサリデバイスに割り当てることを含む。870において、競合が検出又は発生しない限り、コントローラには、40MHz空間内の10MHzサブチャネルが割り当てられたままになる。870において、競合が検出されるときに、方法834は、872において、複数のサブチャネルが競合なしにブロードキャストすることができるかどうかを判定することを含む。複数のサブチャネルがブロードキャストすることができる場合、方法834は、874において、競合するサブチャネルがパンクチャされ、後の時間にリトライする間、競合しないサブチャネルが同時伝送を通してデータを伝送することを可能にすることを含む。
【0036】
図9は、複数のアクセサリデバイスとホストデバイスとの通信タイミングの実施形態を例示するタイミングチャートである。アクセサリデバイス伝送は、デバイスの名称と共にインラインで例示され、ホストデバイス伝送は、アクセサリデバイス伝送を参照するために最下行に示される。いくつかの実施形態では、ホストデバイスは、OFDMA同期のトリガとして機能する。例えば、ホストデバイスは、アクセサリデバイスからの応答をトリガし同期させるトリガ信号976又はトリガフレームをアクセサリデバイスに送ってもよい。いくつかの実施形態では、トリガ信号は2ms毎に提供される。いくつかの実施形態では、トリガ信号のタイミング又は間隔は、図10に関連してより詳細に記載されるように、ビデオフレーム978間のタイミング又は間隔に少なくとも部分的に基づく。
【0037】
いくつかの実施形態では、トリガ信号976は、2つの利点を提供する。トリガ信号976は、公正かつ没入型のゲームプレイのために、すべてのアクセサリデバイスがユーザ入力と状態データを同時に伝送するように、アクセサリデバイスからの応答伝送を同期させる。いくつかの実施形態では、アクセサリデバイスは、トリガ信号976間で少なくとも部分的にスリープすることができ、Wi-Fiベースの通信がより少ない電力を消費することを可能にし、無線バッテリのランタイムを延長する。例えば、処理能力又はデバイス記憶装置の少なくともいくつかは、トリガ信号976間でスリープしてもよい。図9に例示される実施形態では、フレーム時間は、16.667msであり、トリガ信号976は、ビデオフレーム978間で約2ms間隔でホストデバイスによって伝送される。
【0038】
デジタルボタン押下などのユーザからの離散的入力イベント980は、アクセサリデバイスの入力ボタンによって受信されてもよい。離散的入力イベント980に関連する離散的イベントデータ982は、キャッシュされ、受信された次のトリガ信号976に応答して、1つ以上のパケットを含む応答信号984で伝送される。いくつかの実施形態では、複数の離散的入力イベント980がトリガフレーム976間で受信され、応答信号984で伝送される離散的イベントデータ982は、複数の離散的入力イベント980からのデータを含む。いくつかの実施形態では、離散的入力イベント980は、離散的イベントデータ982がアクセサリデバイスへの入力の順序を反映することを確保するために、離散的イベントデータ982においてタイムスタンプ記録される。例えば、図9の例示的な実施形態は、トリガフレーム976間に2ms間隔を有するが、35msなどのより長い間隔は、複数の離散的入力イベント980のための時間を可能にする。このような例では、離散的入力イベント980の順序は、格闘ゲームジャンルで使用されるモーションコマンドなど、ホストデバイス及び/又はホストアプリケーションに対するユーザ入力の意味を変えることがある。他の実施形態では、離散的入力イベント980は、タイムスタンプ記録なしで応答信号984において伝送され、トリガ信号976の間隔内でユーザによって入力された離散的入力イベント980の同時入力に近似してもよい。例えば、2msの時間期間内に発生する一連の離散的入力イベント980は、ユーザによる同時入力であることを意図したものと合理的に考えられてもよい。したがって、各応答信号984内で離散的入力イベント980をタイムスタンプ記録することは、応答信号984のタイムスタンプを超えて不要であってもよい。
【0039】
いくつかの実施形態では、応答信号984は、アクセサリデバイスからの他の状態データを含む。例えば、アクセサリデバイスは、アクセサリデバイスのアナログ入力機構(例えば、アナログスティック、アナログトリガ、回転ダイヤル)の位置及び/又は状態を表すアナログデータ986に関連する状態データの1つ以上のパケットを伝送してもよい。いくつかの実施形態では、応答信号984は、アクセサリデバイスによって受信され、ホストデバイスにブロードキャストされるチャット音声データ988を含む。ホストデバイスは、応答信号984を受信した後、受信を確認する肯定応答信号990を伝送してもよい。
【0040】
離散的入力イベント980及びアナログ測定値は、次のトリガフレーム976の受信時に伝送されるものとして記載されているが、他のよりレイテンシ耐性通信が、ホストデバイスとアクセサリデバイスとの間で異なる間隔で発生してもよい。例えば、ゲーム音声データ及び/又は触覚データ(例えば、ランブルモータデータ)を含むホストデバイスからアクセサリデバイスへの下りリンク伝送992は、トリガ信号間隔よりも長い間隔で伝送してもよい。図9に例示される実施形態では、音声下りリンク間隔は約8msであり、触覚下りリンク間隔は、ほぼビデオフレームタイミングである。いくつかの実施形態では、下りリンク間隔は、トリガ信号間隔よりも大きい。いくつかの実施形態では、下りリンク間隔は、トリガ信号間隔の倍数である。下りリンクは、トリガ信号を含んでもよい。下りリンク伝送は、トリガ信号区間で終了して、通信タイミングを維持してもよい。
【0041】
より具体的には、説明された各イベントは、図9に例示されている。イベント1は、デジタルボタン入力である。いくつかの例では、トリガ又はデジタル入力ボタンは、コントローラ上にイベントを生成し、それによってコントローラがウェイクし、伝送のために1つ以上のパケットを準備する。この場合、デバウンスされて登録された複数のボタンなどのデータが伝送のために集約される。図9に例示される第1のイベント1では、単一のコントローラがイベントを生成するため、OFDMAサブチャネル通信は使用されなくてもよい。他の実施形態では、OFDMAサブチャネル通信は、図の後の第2のイベント1に示されるように、複数のコントローラとの上りストリームデータに使用することができる。
【0042】
イベント2は、コントローラの状態データを有する音声入出力である。この例では、コントローラに下りストリームで送られるゲーム音声データは明示的であり、8msの音声下りリンク間隔に基づいて事前にスケジュールされる。ホストデバイスはトリガ信号を送信し、続いてゲーム音声データの4つのチャネルを各アクセサリデバイスに配信する。下りリンク伝送は、OFDMAサブチャネル通信を利用し、データは並列に送られる。トリガフレームは、追加の帯域幅を保持するために、ゲーム音声データと結合及び集約される。ヘッドセットからのチャット音声データは、ダウンストリームデータが、前のトリガ信号間隔で準備された任意の離散的イベントデータと共に配信された直後に送られる。
【0043】
イベント3は、コントローラに送信される触覚データ及びゲーム音声データを含む。この例では、触覚データは、33.334msごとに送信される。これは、アクセサリデバイスにダウンストリームで送られるゲーム音声データが、触覚データとして下りリンク間隔の半分で送信されることを示唆する。触覚データは、音声データと集約され、その33.334ms期間中に送られる。
【0044】
いくつかの実施形態では、アクセサリデバイス通信タイミングは、ビデオフレームタイミングに基づいて動的である。DLIは、コントローラ伝送をビデオフレームに位置合わせするための動的なレイテンシ調整をサポートする方法である。コントローラからデータが利用可能になるとすぐにすべてのデータを送信するのではなく(離散的な入力イベントなど)、伝送データは、アクセサリデバイスとホストデバイスとの間で判定されたネゴシエートされた間隔でのみ送られる。データをすぐに送信すると、バッテリ寿命が75~80%短縮することができる。例示的なDLIタイミングが図10に例示される。
【0045】
DLIは、ユーザ入力1094が、フレーム時間1096におけるビデオフレームのレンダリングと位置合わせされることを可能にする。DLIは、離散的イベントデータを受信したときに、入力を送信するのに必要なだけ入力をタイムスタンプ記録することを含む。ユーザは、一度に単一フレーム内の情報に反応又は応答することしかできず、ホストデバイスは、一度に1フレームのゲーム環境をレンダリングすることしかできないので、いくつかの実施形態では、単一フレーム時間1096内に複数のユーザ入力1094をホストデバイスに送信することは余計である。
【0046】
これを達成するために、DLIは、ホストデバイスが、ビデオフレームのタイミングに基づいてアクセサリデバイスからの到着イベントを微調整することを可能にする。アクセサリデバイスはまた、アクセサリデバイスクロックに基づいて、すべての離散的入力イベントをタイムスタンプする。ホストデバイスがアクセサリデバイスからの入力を見るときに、ホストデバイスは、アクセサリデバイスの内部クロック値がビデオフレームに対して何であるかを判定することができる。次いで、ホストデバイスは、アクセサリデバイスが特定のフレームタイミングを標的にすることを要求し、必要に応じて次のレポートタイミングを順方向又は逆方向に調整することができる。ホストは伝送タイムスタンプを評価して、入力が遅れて送られたために遅れて到着したのか、又は何らかの他の干渉のために遅れて到着したのかを判断し、考慮することができる。
【0047】
いくつかの実施形態では、ゲームアプリケーションの特定の条件又は部分におけるフレームタイミングに関するデータを収集することによって、フレームタイミングに基づいて通信タイミングを積極的に調整することができる。例えば、ゲームのいくつかの部分は、既知のフレーム時間(例えば、カットシーンの場合は30FPS、インタラクティブゲームプレイの場合は60FPS)で、又はメモリ遷移中の既知の又は測定された低下中にレンダリングされることが期待されてもよい。例えば、いくつかのゲームアプリケーションは、プレイヤーがゲーム環境のある連続部分から別の連続部分に移動するときに、FPSの減少及びそれに関連するフレーム時間の増加を体験することがある。システムメモリ内のキャッシュされた情報の変更は、ホストデバイスが通信タイミングを積極的に変えることができる予測可能なイベントを生成することができる。いくつかの実施形態では、ホストデバイスは、フレーム時間の変更がいつ起こるかを予測するために、フレーム時間の既知の変動から学習する機械学習モデルを使用する別のコンピューティングデバイスを使用するか、又はそれと通信することができる。
【0048】
本開示によるMLモデルは、未知の関数を近似するために、訓練入力に基づいて調整(例えば、訓練)され得るコンピュータアルゴリズム又はモデル(例えば、分類モデル、回帰モデル、言語モデル、オブジェクト検出モデル)を指す。例えば、機械学習モデルは、複雑な関数を学習して近似し、機械学習モデルに提供される複数の入力に基づいて出力を生成する、ニューラルネットワーク又は他の機械学習アルゴリズム若しくはアーキテクチャを指してもよい。いくつかの実装では、本明細書に記載される機械学習システム、モデル、又はニューラルネットワークは、人工ニューラルネットワークである。いくつかの実装では、本明細書に記載される機械学習システム、モデル、又はニューラルネットワークは、畳み込みニューラルネットワークである。いくつかの実装では、本明細書に記載される機械学習システム、モデル、又はニューラルネットワークは、リカレントニューラルネットワークである。少なくとも1つの実装では、本明細書に記載される機械学習システム、モデル、又はニューラルネットワークは、ベイズ分類器である。本明細書で使用される場合、「機械学習システム」は、対応する入力に基づいて1つ以上の出力を協調的に生成する1つ以上の機械学習モデルを指してもよい。例えば、機械学習システムは、異なる種類の情報又は入力を考慮する複数の離散的な機械学習コンポーネントを有する任意のシステムアーキテクチャを指してもよい。少なくとも1つの実施形態において、MLモデルは、複数の既知のユーザ行動及び/又は既知のアクセサリデバイス使用情報を使用して訓練される、教師あり又は半教師ありモデルである。
【0049】
産業上の利用可能性
本開示は、一般に、1つ以上のアクセサリデバイスとホストデバイスとの間でデータを通信するためのシステム及び方法に関する。アクセサリデバイスは、無線通信を介してホストデバイスとデータを通信する電子デバイスである。ユーザは、アクセサリデバイスと対話して、ホストデバイスに入力を提供し、及び/又はホストデバイスから情報を受信する。例えば、ゲームコントローラのようなアクセサリデバイスは、1つ以上のボタン、スイッチ、スティックなどについてユーザからの手動入力を受信し、状態データをホストデバイスに中継してもよい。別の例では、ヘッドセットなどのアクセサリデバイスは、ホストデバイスから音声データを受信し、ユーザに音声サウンドを再生してもよい。少なくとも1つの例では、アクセサリデバイスは、状態データ(ユーザ入力に関連する)とチャット音声データ(ゲームコントローラによって収集される)の両方をホストデバイスに伝送し、アクセサリデバイスによってユーザのために後で生成され得るゲーム触覚データをホストデバイスから受信するゲームコントローラである。
【0050】
いくつかの実施形態では、システムは、ホストデバイスと通信するアクセサリデバイスを含む。アクセサリデバイスは、異なる通信方法及びそれらの異なる通信方法のために記憶されたデータチャネルパーソナリティを使用して、複数のホストデバイスと無線通信するように構成されてもよい。ゲームコントローラ、スピーカ、ヘッドセット、キーボード、ジョイスティック、他のヒューマンインタフェースデバイス(HID)などの複数のアクセサリデバイスは、ホストデバイスとペアリングし、時間多重化によってホストデバイスと通信するための帯域幅を共有する。
【0051】
いくつかの実施形態では、アクセサリデバイスは、ハードウェア記憶デバイスと通信するプロセッサを含む。ハードウェア記憶デバイスは、その上に命令を記憶してもよい任意の非一時的なコンピュータ可読媒体とすることができる。ハードウェア記憶デバイスは、任意のタイプの固体メモリ、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)などの揮発性メモリ、プログラム可能ROM(PROM)、消去可能PROM(EPROM)、EEPROMを含む読み出し専用メモリ(ROM)などの不揮発性メモリ、磁気テープのような磁気記憶媒体、ハードディスクドライブなどのプラテンベースの記憶デバイス、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、ブルーレイディスク、他の光媒体などの光媒体、USBドライブなどのリムーバブルメディア、内部SATA若しくは不揮発性メモリエクスプレス(NVMe)スタイルのNANDフラッシュメモリなどの非リムーバブルメディア、又は任意の他の非一時的な記憶媒体であってもよい。ハードウェア記憶デバイスは、そこに記憶された命令を含み、命令は、プロセッサによって実行されるときに、アクセサリデバイスに、本明細書に記載される任意の方法又は方法の一部を実行させる。ハードウェア記憶デバイス208又は別のハードウェア記憶デバイスは、少なくとも1つのデータチャネルパーソナリティを記憶している。
【0052】
アクセサリデバイスは、ホストデバイス及び/又は制御デバイスへのデータの無線伝送及び受信を可能にする802.11 ax無線周波数(RF)トランシーバのような無線通信装置をさらに含む。いくつかの実施形態では、アクセサリデバイスは、異なるホストデバイス及び/又は制御デバイスと通信するために異なる周波数又は電力レベルで通信を提供する複数の無線通信デバイスを有する。
【0053】
データチャネルは、状態データ、音声データ、及びアクセサリデバイスとホストデバイスとの間の他の頻繁な通信の通信を提供する。いくつかの実施形態では、アクセサリデバイスは、データチャネルパーソナリティを変更するためにアクセサリデバイスに命令を提供する制御アプリケーションと、制御チャネルを介して通信する。いくつかの実施形態では、制御チャネルは、現在又は利用可能な記憶されたデータチャネルパーソナリティ、アクセサリデバイスの現在のバッテリ状態、RSSI信号強度、他の機能などの他のデバイス情報を制御アプリケーションにブロードキャストしてもよい。いくつかの実施形態では、アクセサリデバイスは、データチャネルパーソナリティを選択、循環、又はその他の方法で変更するために、アクセサリデバイス上にローカルに少なくとも1つの入力機構を有する。制御チャネルを有する実施形態では、制御チャネルは、レイテンシ耐性データ伝送の通信を可能にし、一方、データチャネルは、レイテンシクリティカルな情報を処理する。データチャネルがレイテンシクリティカルな情報を処理する際に、追加のアクセサリデバイスが帯域幅を共有すると、時間多重化のために伝送に遅延を引き起こすことがある。
【0054】
いくつかの実施形態では、システムは、データチャネルによってホストデバイスと通信し、第1を介して制御デバイスと通信するアクセサリデバイスを含む。他の制御チャネルは、さらに、システムのデバイス間でデバイス情報を通信又は共有して、レイテンシクリティカルな情報を、可能な限り最小の干渉及び/又は遅延でデータチャネルを介して送信することを可能にしてもよい。例えば、アクセサリデバイスとホストデバイスとの間の第2は、アクセサリデバイスとホストデバイスとの間のデバイスヘルス及びデバイス状態情報の通信を可能にしてもよい。制御デバイスとホストデバイスとの間の第3の制御チャネルは、制御デバイスとホストデバイスとの間のデバイスヘルス及びデバイス状態情報の通信を可能にしてもよい。
【0055】
データチャネルは、アクセサリデバイスとホストデバイスとの間のリアルタイム又は実質的にリアルタイムの通信を含み、ユーザが、ゲームコンソール(例えば、MICROSOFT XBOX、SONY PLAYSTATION、NINTENDO SWITCH)上で実行されるゲームアプリケーションなど、ホストデバイスによって実行されるホストアプリケーションと対話することを可能にする。ホストアプリケーションは、ホストデバイス304上でネイティブに実行されてもよい。ホストアプリケーションは、クラウドサーバ上で実行され、アクセサリデバイスがデータチャネルを有するアクセスポイント(ホストデバイス)を介してアクセスされるストリーミングゲームアプリケーションであってもよい。例えば、ゲームコントローラは、コントローラ状態データをデータチャネルを介してホストデバイスに伝送して、ホストデバイス上で実行されるか、又はホストデバイス117を介してアクセスされるゲームアプリケーションと対話してもよい。他の例では、ヘッドセットは、ゲーム環境内の音を表すために、データチャネルを介してホストデバイスから音声データを受信してもよい。さらに他の例では、ヘッドセットが接続されたゲームコントローラは、データチャネルを介して、ヘッドセットからゲームコントローラを介してホストデバイスにチャット音声データを伝送してもよい。いくつかの実施形態では、データチャネルは、少なくとも2ミリ(ms)秒ごとに、アクセサリデバイスとホストデバイスとの間でデータを伝送することを可能にする。
【0056】
制御チャネルは、非レイテンシクリティカルな情報が、アクセサリデバイスと制御アプリケーション又はデバイスとの間で伝送されることを可能にしてもよい。いくつかの実施形態では、制御デバイスは、ホストデバイスとは異なる。例えば、制御デバイスは、制御チャネルを介してアクセサリデバイスと通信するユーザのスマートフォンであってもよく、一方、アクセサリデバイスは、データチャネルを介してゲームコンソールなどのホストデバイスと通信する。いくつかの実施形態では、制御デバイスはホストデバイスであり、制御アプリケーションは、アクセサリデバイスがデータチャネルを介して通信するホストアプリケーションとは異なる。例えば、ゲームコントローラは、データチャネルを介してPC上で実行されるゲームアプリケーションと通信し、一方、データチャネルとは独立した制御チャネルを介してPC上で実行される制御アプリケーションと通信してもよい。このような例では、制御アプリケーション内のアクセサリデバイスに対して異なるデータチャネルパーソナリティを選択することは、アクセサリデバイスに、異なるホストデバイスとの新しいデータチャネルを確立するように指示する。
【0057】
いくつかの実施形態では、システムは、アクセサリ無線部を介してアクセサリデバイスと通信するホストデバイス(例えば、ゲームコンソール)を含む。ホストデバイスはまた、ネットワーク無線部を介してアクセスポイントを介してネットワークとデータ通信を行う。ホストデバイスのメインプロセッサ又はメインSOCは、PCIe(Peripheral Component Interconnect Express)又は別のハードウェア接続規格を介して、ネットワーク無線部及びアクセサリ無線部に間接的に接続される。
【0058】
低電力無線制御ASICは、通常動作するときに非透過的なブリッジトポロジを使用してPCIeパススルーを提供するデバイスである。低電力状態(例えば、調整待機)では、メインSOCは電源オフとなり、ネットワーク制御は低電力無線制御ASICによって管理される。この状態では、PCIeリンクは、メインSOCへのパススルーとして使用されず、むしろ低電力無線制御ASICが、すべてのネットワーク接続性を管理する。低電力無線制御ASICは、ネットワーク機能性が維持されることを確保しながら、ウェイクイベントを管理し、ネットワークトラフィックをフィルタリングしてもよい。低電力無線制御ASICは、プロセッサ及び内蔵SRAM又は他のメモリを使用して、特定のイベントに応答し、メインSOCをウェイクさせるのに十分なネットワーク機能性をホストしてもよい。低電力モードの間、アクセサリ無線部は、低電力無線制御ASICによって管理されなくてもよい。低電力状態のコンソールをアクセサリデバイスからウェイクさせることは、アクセサリ無線部がアクセサリデバイスからのウェイク信号又はビーコンに応答し、次いで、インバンド又はアウトオブバンド信号を介してメインSOC428にウェイクするように警告することに依存する。
【0059】
いくつかの実施形態では、ホストデバイスは、アクセサリデバイス(及びその無線通信デバイス)とホストデバイスのアクセサリ無線部との間にデータチャネルを確立する。いくつかの実施形態では、制御チャネルも、アクセサリ無線部を使用して確立される。データチャネルは、アクセサリデバイスとホストデバイスとの間でレイテンシに敏感な情報を搬送して、ホストデバイス上で実行される(又はホストデバイス117を介してアクセスされる)ホストアプリケーションとの応答性のある没入型の対話をユーザに提供する。例えば、いくつかのゲームコンソール又はパーソナルコンピュータは、ゲームアプリケーション及びそのゲーム環境を120フレーム/秒(FPS)以上のフレームレートでレンダリングすることができる。このような例では、各フレームは8.33ミリ秒(ms)しか続かない。別の例では、60FPSでレンダリングされるゲーム環境は、16.67msのフレーム時間を有する。したがって、データチャネルを介した通信の遅延により、ゲーム環境の意図された状態の後に入力が受信される可能性がある。特定の例では、ユーザ入力の通信における30msの遅延により、ユーザがボタンを押した後、2~3フレーム後にユーザ入力がホストデバイスに到達する可能性がある。
【0060】
時間多重化を使用する従来のシステムでは、データチャネルの周波数を使用する追加のデバイスが、データの伝送を遅くするデータチャネル上のトラフィック又は輻輳を引き起こす可能性がある。例えば、データチャネルのための帯域幅をアクセサリ無線部と共有する複数のアクセサリデバイスは、追加の遅延を引き起こす可能性がある。他の例では、システムの一部ではない同じ周波数でブロードキャストするデバイス又は無線部は、通信において追加の遅延を引き起こす可能性がある。
【0061】
システムのためのハブスポークネットワークトポロジは、ホストデバイスとの間で各アクセサリデバイスに対して異なるデータチャネルを確立する必要がある。他の実施形態では、メッシュタイプのネットワークは、アクセサリデバイスが別のアクセサリデバイス(ヘッドセットへのノードリレーとして活動するゲームコントローラなど)へのノードリレーとして活動することを可能にする。メッシュは、メッシュルーティング、メッシュセキュリティ、及びメッシュ信頼性にレイテンシと複雑性をもたらす。メッシュはまた、予測可能で持続的な帯域幅のサービス品質を複雑にします。しかし、ハブスポークモデルは、ホストデバイスと通信するために多くの個別データチャネルを導入する。ゲームコンソールは、ローカル又は「カウチ」マルチプレイヤーイベントの例では、小さなエリアに位置する最大8つのアクセサリデバイスと通信することがある。このような例では、従来の時間ベースの多重化又はウェイト・トゥ・トーク通信は、遅延を導入する可能性があり、この遅延は、周波数を共有するアクセサリデバイスの数と共に増加する。
【0062】
いくつかの例では、時間ベースの多重化により、アクセサリデバイスは、すべての他のアクセサリデバイスとは異なる時間にホストデバイスと通信する。したがって、各アクセサリデバイスは、音声及び/又はユーザ入力に関する遅延に敏感な情報をデータチャネル上で伝送するために待機しなければならない。逆に、各アクセサリデバイスが別のアクセサリデバイスと同時にサブキャリア上で伝送することを可能にする複数のサブキャリア又はリソースユニット(RU)に利用可能な帯域幅を分割して割り当てることによって、同じアクセサリデバイスがホストデバイスと遅延なく自由に通信してもよい。例えば、第1のアクセサリデバイスは、アナログスティックの位置のアナログ状態データを、第2のアクセスデバイスが音声データを伝送するのと同時に伝送することができる。第1のアクセサリデバイス及び第3のアクセサリデバイスは、その後、デジタルボタン状態データを同時に伝送する。従来の状態データの逐次伝送とは異なり、第1のアクセサリデバイスと第3のアクセサリデバイスを使用する両プレイヤーが、同時にデータを伝送する。競争ゲームをプレイするときに、データの逐次伝送は、特定のプレイヤーに対してシステム上の利点又は欠点を引き起こす可能性がある。
【0063】
いくつかの実施形態では、等しい帯域幅又はサブキャリアの数が、各アクセサリデバイスに割り当てられる。他の実施形態では、帯域幅の量又はサブキャリアの数は、アクセサリデバイスのタイプ及び/又は伝送されるデータのタイプに少なくとも部分的に基づいて、アクセサリデバイス間で異なることができる。例えば、第1のアクセサリデバイス及び/又はホストデバイスは、ゲームコントローラボタンの状態データをブロードキャストするために単一のサブキャリアを割り当て、第2のアクセサリデバイスには、ヘッドセットからの音声情報を通信するために6つのサブキャリアが割り当てられる。いくつかの実施形態では、割り当てられたサブキャリアは、アクセサリデバイスのうちの少なくとも1つに対して固定される。いくつかの実施形態では、割り当てられたサブキャリアは、通信されるデータのタイプに基づいて動的に割り当てられる。例えば、第2のアクセサリデバイスには、最初に、ホストデバイスからゲーム音声を受信するために6つのサブキャリアが割り当てられ、一方、第2のアクセサリデバイスには、後に、第2のアクセサリデバイスからホストデバイスに低品質のチャット音声をブロードキャストするために単一のサブキャリアが割り当てられる。
【0064】
直交周波数分割多元接続(OFDMA)を有効にするときに、コントローラのレイテンシと全体的な共存の問題を改善することができる。OFDMAは、複数のユーザ又はアクセサリデバイスがスペクトルを効率的に共有することを可能にする。Wi-Fi 5及び他のWi-Fi標準プロトコルで使用される直交周波数分割多重(OFDM)技術は、周波数空間の時分割多重を使用し、単一のアクセサリデバイスのチャネル容量全体を消費したが、OFDMAは、すべてのデータを同時に伝送するために、個々の伝送を異なるサブキャリア又はRUに局所化する。
【0065】
OFDMによって引き起される特定のプレイヤーに対するシステム上の利点又は欠点に対処するために、ユーザがボタンを押下したとき(又はアナログスティック又はトリガの位置が測定されたとき)にユーザ入力をタイムスタンプ記録し、すべての伝送が受信されるまですべての入力を遅延させるシステムもある。しかしながら、ホストデバイスにおいてすべての入力を遅延させて入力を一緒に処理すると、すべての入力が、ユーザがボタンを押下したときに入力したフレームからさらに遅延されるので、ユーザが知覚する入力ラグがより大きくなる。言い換えれば、ゲームコンソールに入力を送信するコントローラが多ければ多いほど、プレイヤーには入力がより遅延されたように感じられる。ローカルマルチプレイヤーとそれが生み出す社会環境を奨励し、支援するためには、ゲームのパフォーマンスと入力応答時間は、可能な限り高速でありながら、可能な限り公平かつ同時であるべきである。
【0066】
従来、OFDMAは、複数のデバイスが、他のデバイスの伝送タイミングをあまり考慮せずに、特定の帯域幅を介して通信することを可能にする。例えば、各デバイスは、他のデバイスと競合することなく、いつでも帯域幅内の指定されたサブキャリア又はRU上でデータを伝送及び/又は受信することができる。しかしながら、コントローラからのデータ(例えば、状態データ、音声データ)の瞬時の準備及び伝送は、バッテリ寿命に悪影響を及ぼす。本開示によるシステム及び方法は、OFDMAを使用して、ホストデバイスにおいて均一かつ同時の通信タイミングを確立することによって、アクセサリデバイス間の同期を強制する。これにより、より一貫性のある、より公正なゲームプレイ体験をユーザに提供することができる。
【0067】
いくつかの実施形態では、ホストデバイスは、各アクセサリデバイスに、使用されるサブキャリアのセットを割り当てる役割を担う。802.11n/ac OFDM物理層仕様(PHY)は、312.5Hzでの各サブキャリアの幅を規定している。20MHzチャネルは、52の搬送データ、4つのパイロット、及び8つのガードバンド(ヌル)を有する64のサブキャリアから構成される。OFDMAは、サブキャリア幅を78.125KHzに低減し、20MHzチャネルに256のサブキャリアとする。これらのサブキャリアは、データに対して234、8つのパイロット、3つのダイレクトカレント、11のガードバンドに分割される。
【0068】
これらのサブキャリア又はRUは、チャネル幅に応じて、26のサブキャリア(又はトーン)から2x996トーンまでの範囲である。いくつかの実施形態では、コントローラハードウェアは、設計を20MHzチャネルに制限する。いくつかの実施形態では、ハードウェアが256QAMしか許容しない(1024 QAMは許容しない)ため、コントローラハードウェアは、総チャネル容量を114.7 Mb/sに制限する。
【0069】
いくつかの実施形態では、コントローラ又は他のアクセサリデバイスは、20MHzチャネル幅に基づく。しかし、他の実施形態は、160MHz幅を含むより大きなチャネル幅を処理してもよい。RUは、接続されているクライアントアクセサリ又はSTAの数に依存する。
【0070】
いくつかの実施形態では、アクセサリ無線部は、チャネル帯域幅の80MHz全体をサポートするが、コントローラは、20MHzチャネルのみをサポートしてもよい。これは、最大4つのコントローラ又はアクセサリが連続する80MHz帯域幅を共有できることを意味する。
【0071】
これは、最適な使用ケースを例示しているが、衝突が発生し、チャネル又はサブチャネルに競合が存在するイベントが依然として存在し得る。例えば、4つの20MHzサブチャネルのうちの3つが、クリアな空域を経験してもよく、衝突又は競合なしに機能する。コントローラ1、コントローラ3、及びコントローラ4は、トリガ信号に応答して、同時に伝送し、一方、コントローラ2は、第2のサブチャネル上の空間で競合する。コントローラ2は、次の利用可能な時間に伝送する。この戦略では、コンソール無線部とコントローラ無線部の両方に使用可能な最大のチャネル容量が割り当てられますが、いくつかのプレイヤーだけに平等で公正な体験が提供される。競合がある場合、ホストデバイスが40MHzチャネルを4つの10MHzサブチャネルに再ネゴシエートするなど、様々なバックオフ戦略を組み込むことができる。ホストデバイス内のアクセサリ無線部の利用可能な帯域幅の半分のみを使用する一方で、各アクセサリデバイス(例えば、コントローラ)には、利用可能な周波数内で等しい帯域幅が割り当てられる。
【0072】
より広いチャネル(20MHz)からバックオフする方法は、チャネル競合、ドロップアウト、リトライ、及びパケット損失の要因に基づいてもよい。いくつかの実施形態では、方法は、ホストデバイスが、2.4GHz又は5GHz空間のいずれかで利用可能な(例えば、そこで検出されたトラフィックなしに)単一の80MHzチャネルを見つけようとすることを含む。ホストデバイスが利用可能な80MHzチャネルを見つけることに成功した場合、方法は、20MHzサブチャネル又はRUを最大4つのアクセサリデバイスに割り当てることを含む。競合が検出又は発生しない限り、コントローラには、80MHz空間内の20MHzサブチャネルが割り当てられたままになる。競合が検出されるときに、方法は、複数のサブチャネルが競合なしにブロードキャストすることができるかどうかを判定することを含む。複数のサブチャネルがブロードキャストすることができる場合、方法は、競合するサブチャネルがパンクチャされ、後の時間にリトライする間、競合しないサブチャネルが同時伝送を通してデータを伝送することを可能にすることを含む。
【0073】
いくつかの実施形態では、848において、アクセサリデバイスは、他のサブチャネルが同時にブロードキャストすることができなくなるまで、割り当てられた20MHzサブチャネルを使用し続ける。試行回数が制限に達するときに、方法は、20MHzの割り当てをリトライすることを含んでもよいし、方法は、ホストデバイスに、2.4GHz又は5GHz空間のいずれかで単一の40MHzチャネルを見つけることを試行させることによって進んでもよい。ホストデバイスが利用可能な40MHzチャネルを見つけることに成功した場合、方法は、10MHzサブチャネル又はRUを最大4つのアクセサリデバイスに割り当てることを含む。競合が検出又は発生しない限り、コントローラには、40MHz空間内の10MHzサブチャネルが割り当てられたままになる。競合が検出されるときに、方法は、複数のサブチャネルが競合なしにブロードキャストすることができるかどうかを判定することを含む。複数のサブチャネルがブロードキャストすることができる場合、方法は、競合するサブチャネルがパンクチャされ、後の時間にリトライする間、競合しないサブチャネルが同時伝送を通してデータを伝送することを可能にすることを含む。
【0074】
いくつかの実施形態では、アクセサリデバイスは、他のサブチャネルが同時にブロードキャストすることができなくなるまで、割り当てられた10MHzサブチャネルを使用し続ける。試行回数が制限に達するときに、方法は、10MHzの割り当てをリトライすることを含んでもよいし、方法は、ホストデバイスに、2.4GHz又は5GHz空間のいずれかで単一の20MHzチャネルを見つけることを試行させることによって進んでもよい。ホストデバイスが利用可能な20MHzチャネルを見つけることに成功した場合、方法は、5MHzサブチャネル又はRUを最大4つのアクセサリデバイスに割り当てることを含む。競合が検出又は発生しない限り、コントローラには、40MHz空間内の10MHzサブチャネルが割り当てられたままになる。競合が検出されるときに、方法は、複数のサブチャネルが競合なしにブロードキャストすることができるかどうかを判定することを含む。複数のサブチャネルがブロードキャストすることができる場合、方法は、競合するサブチャネルがパンクチャされ、後の時間にリトライする間、競合しないサブチャネルが同時伝送を通してデータを伝送することを可能にすることを含む。
【0075】
いくつかの実施形態では、ホストデバイスは、OFDMA同期のトリガとして機能する。例えば、ホストデバイスは、アクセサリデバイスからの応答をトリガし同期させるトリガ信号又はトリガフレームをアクセサリデバイスに送ってもよい。いくつかの実施形態では、トリガ信号は2ms毎に提供される。いくつかの実施形態では、トリガ信号のタイミング又は間隔は、ビデオフレーム間のタイミング又は間隔に少なくとも部分的に基づく。
【0076】
いくつかの実施形態では、トリガ信号は、2つの利点を提供する。トリガ信号は、公正かつ没入型のゲームプレイのために、すべてのアクセサリデバイスがユーザ入力と状態データを同時に伝送するように、アクセサリデバイスからの応答伝送を同期させる。いくつかの実施形態では、アクセサリデバイスは、トリガ信号間で少なくとも部分的にスリープすることができ、Wi-Fiベースの通信がより少ない電力を消費することを可能にし、無線バッテリのランタイムを延長する。例えば、処理能力又はデバイス記憶装置の少なくともいくつかは、トリガ信号間でスリープしてもよい。いくつかの実施形態では、フレーム時間は、16.667msであり、トリガ信号は、ビデオフレーム間で約2ms間隔でホストデバイスによって伝送される。
【0077】
デジタルボタン押下などのユーザからの離散的入力イベントは、アクセサリデバイスの入力ボタンによって受信されてもよい。離散的入力イベントに関連する離散的イベントデータは、キャッシュされ、受信された次のトリガ信号に応答して、1つ以上のパケットを含む応答信号で伝送される。いくつかの実施形態では、複数の離散的入力イベントがトリガフレーム間で受信され、応答信号で伝送される離散的イベントデータは、複数の離散的入力イベントからのデータを含む。いくつかの実施形態では、離散的入力イベントは、離散的イベントデータがアクセサリデバイスへの入力の順序を反映することを確保するために、離散的イベントデータにおいてタイムスタンプ記録される。例えば、35msなどの長い間隔は、複数の離散的入力イベントのための時間を可能にする。このような例では、離散的入力イベントの順序は、格闘ゲームジャンルで使用されるモーションコマンドなど、ホストデバイス及び/又はホストアプリケーションに対するユーザ入力の意味を変えることがある。他の実施形態では、離散的入力イベントは、タイムスタンプ記録なしで応答信号において伝送され、トリガ信号の間隔内でユーザによって入力された離散的入力イベントの同時入力に近似してもよい。例えば、2msの時間期間内に発生する一連の離散的入力イベントは、ユーザによる同時入力であることを意図したものと合理的に考えられてもよい。したがって、各応答信号内で離散的入力イベントをタイムスタンプ記録することは、応答信号のタイムスタンプを超えて不要であってもよい。
【0078】
いくつかの実施形態では、応答信号は、アクセサリデバイスからの他の状態データを含む。例えば、アクセサリデバイスは、アクセサリデバイスのアナログ入力機構(例えば、アナログスティック、アナログトリガ、回転ダイヤル)の位置及び/又は状態を表すアナログデータに関連する状態データの1つ以上のパケットを伝送してもよい。いくつかの実施形態では、応答信号は、アクセサリデバイスによって受信され、ホストデバイスにブロードキャストされるチャット音声データを含む。ホストデバイスは、応答信号を受信した後、受信を確認する肯定応答信号を伝送してもよい。
【0079】
離散的入力イベント及びアナログ測定値は、次のトリガフレームの受信時に伝送されるものとして記載されているが、他のよりレイテンシ耐性通信が、ホストデバイスとアクセサリデバイスとの間で異なる間隔で発生してもよい。例えば、ゲーム音声データ及び/又は触覚データ(例えば、ランブルモータデータ)を含むホストデバイスからアクセサリデバイスへの下りリンク伝送は、トリガ信号間隔よりも長い間隔で伝送してもよい。いくつかの実施形態では、音声下りリンク間隔は約8msであり、触覚下りリンク間隔は、ほぼビデオフレームタイミングである。いくつかの実施形態では、下りリンク間隔は、トリガ信号間隔よりも大きい。いくつかの実施形態では、下りリンク間隔は、トリガ信号間隔の倍数である。下りリンクは、トリガ信号を含んでもよい。下りリンク伝送は、トリガ信号区間で終了して、通信タイミングを維持してもよい。
【0080】
いくつかの実施形態では、アクセサリデバイス通信タイミングは、ビデオフレームタイミングに基づいて動的である。動的レイテンシインプット(DLI)は、コントローラ伝送をビデオフレームに位置合わせするための動的なレイテンシ調整をサポートする方法である。コントローラからデータが利用可能になるとすぐにすべてのデータを送信するのではなく(離散的な入力イベントなど)、伝送データは、アクセサリデバイスとホストデバイスとの間で判定されたネゴシエートされた間隔でのみ送られる。データをすぐに送信すると、バッテリ寿命が75~80%短縮することができる。
【0081】
DLIは、ユーザ入力が、フレーム時間におけるビデオフレームのレンダリングと位置合わせされることを可能にする。DLIは、離散的イベントデータを受信したときに、入力を送信するのに必要なだけ入力をタイムスタンプ記録することを含む。ユーザは、一度に単一フレーム内の情報に反応又は応答することしかできず、ホストデバイスは、一度に1フレームのゲーム環境をレンダリングすることしかできないので、いくつかの実施形態では、単一フレーム時間内に複数のユーザ入力をホストデバイスに送信することは余計である。
【0082】
これを達成するために、DLIは、ホストデバイスが、ビデオフレームのタイミングに基づいてアクセサリデバイスからの到着イベントを微調整することを可能にする。アクセサリデバイスはまた、アクセサリデバイスクロックに基づいて、すべての離散的入力イベントをタイムスタンプする。ホストデバイスがアクセサリデバイスからの入力を見るときに、ホストデバイスは、アクセサリデバイスの内部クロック値がビデオフレームに対して何であるかを判定することができる。次いで、ホストデバイスは、アクセサリデバイスが特定のフレームタイミングを標的にすることを要求し、必要に応じて次のレポートタイミングを順方向又は逆方向に調整することができる。ホストは伝送タイムスタンプを評価して、入力が遅れて送られたために遅れて到着したのか、又は何らかの他の干渉のために遅れて到着したのかを判断し、考慮することができる。
【0083】
いくつかの実施形態では、ゲームアプリケーションの特定の条件又は部分におけるフレームタイミングに関するデータを収集することによって、フレームタイミングに基づいて通信タイミングを積極的に調整することができる。例えば、ゲームのいくつかの部分は、既知のフレーム時間(例えば、カットシーンの場合は30FPS、インタラクティブゲームプレイの場合は60FPS)で、又はメモリ遷移中の既知の又は測定された低下中にレンダリングされることが期待されてもよい。例えば、いくつかのゲームアプリケーションは、プレイヤーがゲーム環境のある連続部分から別の連続部分に移動するときに、FPSの減少及びそれに関連するフレーム時間の増加を経験することがある。システムメモリ内のキャッシュされた情報の変更は、ホストデバイスが通信タイミングを積極的に変えることができる予測可能なイベントを生成することができる。いくつかの実施形態では、ホストデバイスは、フレーム時間の変更がいつ起こるかを予測するために、フレーム時間の既知の変動から学習する機械学習モデルを使用する別のコンピューティングデバイスを使用するか、又はそれと通信することができる。
【0084】
本開示によるMLモデルは、未知の関数を近似するために、訓練入力に基づいて調整(例えば、訓練)され得るコンピュータアルゴリズム又はモデル(例えば、分類モデル、回帰モデル、言語モデル、オブジェクト検出モデル)を指す。例えば、機械学習モデルは、複雑な関数を学習して近似し、機械学習モデルに提供される複数の入力に基づいて出力を生成する、ニューラルネットワーク又は他の機械学習アルゴリズム若しくはアーキテクチャを指してもよい。いくつかの実装では、本明細書に記載される機械学習システム、モデル、又はニューラルネットワークは、人工ニューラルネットワークである。いくつかの実装では、本明細書に記載される機械学習システム、モデル、又はニューラルネットワークは、畳み込みニューラルネットワークである。いくつかの実装では、本明細書に記載される機械学習システム、モデル、又はニューラルネットワークは、リカレントニューラルネットワークである。少なくとも1つの実装では、本明細書に記載される機械学習システム、モデル、又はニューラルネットワークは、ベイズ分類器である。本明細書で使用される場合、「機械学習システム」は、対応する入力に基づいて1つ以上の出力を協調的に生成する1つ以上の機械学習モデルを指してもよい。例えば、機械学習システムは、異なる種類の情報又は入力を考慮する複数の離散的な機械学習コンポーネントを有する任意のシステムアーキテクチャを指してもよい。少なくとも1つの実施形態において、MLモデルは、複数の既知のユーザ行動及び/又は既知のアクセサリデバイス使用情報を使用して訓練される、教師あり又は半教師ありモデルである。
【0085】
本開示は、少なくとも以下のセクションに提供される実施例に従って、1つ以上のアクセサリデバイスとホストデバイスとの間でデータを通信するためのシステム及び方法に関する。
【0086】
[A1]いくつかの実施形態では、ホストデバイスは、プロセッサと、プロセッサとデータ通信する無線通信デバイスと、プロセッサとデータ通信するハードウェア記憶デバイスと、を含む。ハードウェア記憶デバイスは、そこに記憶された命令を有し、命令は、プロセッサによって実行されるときに、ホストデバイスに、アクセサリデバイスとの間で無線データチャネルを確立することと、無線データチャネルを20MHz未満の帯域幅を有するリソースユニットに割り当てることと、を行わせる。命令はさらに、ホストデバイスに、アクセサリデバイスにトリガ信号を送信することと、トリガ信号に応答して、アクセサリデバイスから状態データを受信することと、を行わせる。
【0087】
[A2]いくつかの実施形態では、[A1]の命令は、2ミリ秒以下の時間周期でトリガ信号を することをさらに含む。
【0088】
[A3]いくつかの実施形態では、[A1]又は[A2]のシステムは、アクセサリデバイスを含む。アクセサリデバイスは、プロセッサと、プロセッサとデータ通信する無線通信デバイスと、プロセッサとデータ通信するハードウェア記憶デバイスと、を含む。ハードウェア記憶デバイスは、そこに記憶されたアクセサリ命令を有し、アクセサリ命令は、プロセッサによって実行されるときに、アクセサリデバイスに、アクセサリデバイスへのユーザ入力を記録することと、ユーザ入力に少なくとも部分的に基づいて状態データを有する1つ以上のパケットを準備することと、トリガ信号を受信することと、トリガ信号を受信することに応答して、状態データをホストデバイスに伝送することと、を行わせる。
【0089】
[A4]いくつかの実施形態では、[A3]のアクセサリ命令は、状態データを伝送した後にスリープモードに入るアクセサリデバイスの少なくとも一部分を含む。
【0090】
[A5]いくつかの実施形態では、[A3]又は[A4]のアクセサリ命令は、トリガ信号の前の時間間隔内の複数のユーザ入力を記録することと、パケット内の時間間隔内の複数のユーザ入力をバッチ処理することと、をさらに含む。
【0091】
[B1]いくつかの実施形態では、アクセサリデバイスとホストデバイスとの間の無線通信を管理する方法は、ホストデバイスにおいて、アクセサリデバイスとの間で無線データチャネルを確立することと、無線データチャネルを、20MHz未満の帯域幅を有するリソースユニットに割り当てることと、アクセサリデバイスにトリガ信号を送信することと、トリガ信号に応答して、アクセサリデバイスから状態データを受信することと、を含む。
【0092】
[B2]いくつかの実施形態では、[B1]のトリガ信号は、8ミリ秒以下の時間間隔で送信される。
【0093】
[B3]いくつかの実施形態では、[B1]のトリガ信号は、可変時間間隔で送信される。
【0094】
[B4]いくつかの実施形態では、[B1]のホストデバイスは、ビデオゲーム環境をレンダリングし、トリガ信号は、ホストデバイスのレンダリングフレームレートに少なくとも部分的に基づいた時間間隔で送信される。
【0095】
[B5]いくつかの実施形態では、[B1]~[B4]のいずれかのトリガ信号は、ゲーム音声データを含む。
【0096】
[C1]いくつかの実施形態では、複数のアクセサリデバイスとホストデバイスとの間の無線通信を管理する方法は、ホストデバイスにおいて、第1のアクセサリデバイスとの間で第1の無線データチャネルを確立することと、第2のアクセサリデバイスとの間で第2の無線データチャネルを確立することと、第1の無線データチャネルを、20MHz未満の帯域幅を有する第1のリソースユニットに少なくとも割り当てることと、第2の無線データチャネルを、20MHz未満の帯域幅を有する第2のリソースユニットに割り当てることと、第1のアクセサリデバイス及び第2のアクセサリデバイスにトリガ信号を同時に送信することと、トリガ信号に応答して、第1のアクセサリデバイスからの第1の応答信号と、第2のアクセサリデバイスからの第2の応答信号とを同時に受信することと、を含む。
【0097】
[C2]いくつかの実施形態では、[C1]のトリガ信号は、ゲーム音声データを含む第1のアクセサリデバイス及び第2のアクセサリデバイスの両方への下りリンク伝送の一部である。
【0098】
[C3]いくつかの実施形態では、[C1]のトリガ信号は、触覚データを含む第1のアクセサリデバイス及び第2のアクセサリデバイスの両方への下りリンク伝送の一部である。
【0099】
[C4]いくつかの実施形態では、[C1]~[C3]のいずれかの方法は、トリガ信号間隔よりも大きい音声間隔でゲーム音声下りリンクをアクセサリデバイスに送信することをさらに含む。
【0100】
[C5]いくつかの実施形態では、[C4]の第1の応答信号及び第2の応答信号のうちの少なくとも1つは、ゲーム音声下りリンクに応答して、チャット音声データを含む。
【0101】
[C6]いくつかの実施形態では、[C1]~[C5]のいずれかの方法は、第1の無線データチャネル及び第2の無線データチャネルのうちの少なくとも1つでの競合を検出することと、競合するチャネルをパンクチャすることと、をさらに含む。
【0102】
[C7]いくつかの実施形態では、[C6]の方法は、第1のアクセサリデバイスとの間で第1の無線データチャネルを再確立することと、第2のアクセサリデバイスとの間で第2の無線データチャネルを再確立することと、第1の無線データチャネルを、第1のリソースユニット未満の帯域幅を有する第3のリソースユニットに割り当てることと、第2の無線データチャネルを、第2のリソースユニット未満の帯域幅を有する第4のリソースユニットに割り当てることと、をさらに含む。
【0103】
[C8]いくつかの実施形態では、[C7]の第3のリソースユニットは、10MHz未満である。
【0104】
[C9]いくつかの実施形態では、[C1]~[C8]のいずれかの第1のデータチャネルは、第2のデータチャネルとは異なる帯域幅を有する。
【0105】
[C10]いくつかの実施形態では、[C1]~[C9]のいずれかの第1の応答信号及び第2の応答信号のうちの少なくとも1つは、複数の離散的入力イベントからの離散的イベントデータを含む。
【0106】
冠詞「a」、「an」、及び「the」は、前述の説明において要素のうちの1つ以上が存在することを意味することを意図している。「含む(comprising)」、「含む(including)」、及び「有する(having)」は、包括的であることを意図しており、列挙された要素以外の追加の要素が存在し得ることを意味する。追加的に、本開示の「一実施形態」又は「実施形態」への言及は、列挙された特徴も組み込んだ追加の実施形態の存在を排除するものとして解釈されることを意図しないことを理解されたい。例えば、本明細書における実施形態に関連して説明される任意の要素は、本明細書に説明される任意の他の実施形態の任意の要素と組み合わされてもよい。本明細書において記載される数、パーセンテージ、比率、又は他の値は、その値、及び本開示の実施形態に包含される当業者によって理解されるように、記載される値の「約」又は「ほぼ」である他の値も含むことを意図している。したがって、記載される値は、所望の機能を実行するか、又は所望の結果を達成するために、記載された値に少なくとも十分に近い値を包含するのに十分に広く解釈されるべきである。記載される値は、少なくとも、好適な製造又は生産プロセスにおいて予想される変動を含み、記載された値の5%以内、1%以内、0.1%以内、又は0.01%以内の値を含んでもよい。
【0107】
当業者は、本開示を考慮して、同等の構成が本開示の範囲から逸脱しないこと、並びに本開示の範囲から逸脱することなく、本明細書に開示された実施形態に対して様々な変更、置換、及び改変がなされ得ることを理解すべきである。機能的な「ミーンズ・プラス・ファンクション」節を含む同等の構成は、同じ方式で動作する構造的同等物と、同じ機能を提供する同等の構造の両方を含む、列挙された機能を実行するものとして本明細書に説明される構成をカバーすることを意図している。「~のための手段」という語が関連する機能と共に現れる請求項を除き、任意の請求項に対してミーンズ・プラス・ファンクション又はその他の機能的請求項を伴わないことが出願人の明示的意図である。特許請求の範囲の意味及び範囲内に入る実施形態に対する各追加、削除及び修正は、特許請求の範囲に包含される。
【0108】
前述の説明における任意の方向又は参照フレームは、相対的な方向又は移動にすぎないと理解されたい。例えば、「前」及び「後」、「上」及び「下」、又は「左」及び「右」への参照は、関連する要素の相対的な位置又は移動を説明しているにすぎない。
【0109】
本開示は、その特徴から逸脱することなく、他の特定の形態で実施されてもよい。説明される実施形態は、例示的なものであり、かつ限定的なものではないと考えられる。したがって、本開示の範囲は、前述の説明ではなく、添付の特許請求の範囲によって示される。請求項の意味及び同等性の範囲内に入る変更は、その範囲内に包含される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
【国際調査報告】