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

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

▶ バンジー, インコーポレイテッドの特許一覧

<>
  • 特表-仮想化物理的コントローラ 図1
  • 特表-仮想化物理的コントローラ 図2A
  • 特表-仮想化物理的コントローラ 図2B
  • 特表-仮想化物理的コントローラ 図2C
  • 特表-仮想化物理的コントローラ 図3
  • 特表-仮想化物理的コントローラ 図4
  • 特表-仮想化物理的コントローラ 図5
  • 特表-仮想化物理的コントローラ 図6
  • 特表-仮想化物理的コントローラ 図7
  • 特表-仮想化物理的コントローラ 図8
  • 特表-仮想化物理的コントローラ 図9
  • 特表-仮想化物理的コントローラ 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-05
(54)【発明の名称】仮想化物理的コントローラ
(51)【国際特許分類】
   G06F 3/04886 20220101AFI20240227BHJP
   A63F 13/2145 20140101ALI20240227BHJP
   A63F 13/426 20140101ALI20240227BHJP
   A63F 13/285 20140101ALI20240227BHJP
   A63F 13/24 20140101ALI20240227BHJP
【FI】
G06F3/04886
A63F13/2145
A63F13/426
A63F13/285
A63F13/24
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023554301
(86)(22)【出願日】2022-03-08
(85)【翻訳文提出日】2023-10-26
(86)【国際出願番号】 US2022019240
(87)【国際公開番号】W WO2022192178
(87)【国際公開日】2022-09-15
(31)【優先権主張番号】63/158,951
(32)【優先日】2021-03-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.HDMI
(71)【出願人】
【識別番号】511214439
【氏名又は名称】バンジー, インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ペン,グレゴリー
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA08
5E555AA12
5E555AA76
5E555BA04
5E555BA20
5E555BB04
5E555BB20
5E555BC04
5E555BC21
5E555CA13
5E555CB08
5E555CB12
5E555CC01
5E555DA21
5E555DA24
5E555FA00
(57)【要約】
本明細書では、仮想化物理的コントローラを実装するための技法が記載される。これらの技法は、ユーザデバイスのタッチスクリーンディスプレイ上で1つ又は複数のユーザ入力を受信することを含んでもよく、ユーザ入力は、一次入力領域を定義することができる第1のタッチ、及び一次入力領域に隣接して配列された又は複数の二次入力領域を定義することができる、第1からオフセットされた1つ又は複数の二次タッチを含む。入力領域は、構成データ内のそれぞれの入力機構又はコマンドに関連付けられる。構成データが実装される間、タッチスクリーンディスプレイはタッチを監視し、構成された領域におけるタッチ入力を検出し、及びタッチに応答して各入力機構又はコマンドの起動データを生成することができる。入力領域の位置及び形状は、タッチスクリーンディスプレイ上でタッチ入力が監視されるにつれて反復的に再定義され得る。
【特許請求の範囲】
【請求項1】
ユーザから、2つ以上の入力機構に関連付けられる、ユーザデバイスのタッチスクリーンディスプレイ上の位置を示す入力を受信することであって、前記入力が、前記タッチスクリーンディスプレイ上の第1のタッチ、及び前記第1のタッチからオフセットされた1つ又は複数の第2のタッチを含む、ことと、
構成データにおいて、前記第1のタッチの第1の位置に基づいて、一次入力領域を定義することと、
前記構成データにおいて、前記第1のタッチに対する前記1つ又は複数の第2のタッチの相対位置に少なくとも部分的に基づいて、前記一次入力領域のまわりに放射状に配列された1つ又は複数の二次入力領域を定義することと、
前記構成データにおいて、(a)前記一次入力領域及び前記1つ又は複数の二次入力領域と、(b)前記2つ以上の入力機構のうちのそれぞれの入力機構との間の関連付けを保存することと、
前記構成データが実装されることを決定することと、
前記構成データが実装されることが決定されると、
前記タッチスクリーンディスプレイ上のタッチ入力を監視することと、
前記1つ又は複数の領域内のタッチ入力を検出することと、
前記2つ以上の入力機構のうちのそれぞれの入力機構に関して起動データを生成することと、
によって前記構成データを実装することと、
を含む、方法。
【請求項2】
前記1つ又は複数の領域内で前記入力が検出されると、前記ユーザにフィードバックを提供することをさらに含む、請求項1に記載の方法。
【請求項3】
前記フィードバックがハプティック信号、聴覚的信号、又は視覚的信号の少なくとも1つを含む、請求項2に記載の方法。
【請求項4】
実行されるソフトウェアアプリケーション、前記ユーザのアイデンティティ、又は前記ソフトウェアアプリケーションにおいてプレイされているキャラクターのうちの少なくとも1つに少なくとも部分的に基づいて、前記構成データが実装されると決定される、請求項1に記載の方法。
【請求項5】
前記構成データが、前記1つ又は複数の入力機構のうちの単一の入力機構に関連付けられた複数の別個の領域を含む、請求項1に記載の方法。
【請求項6】
前記1つ又は複数の二次入力領域が、前記一次入力領域と、又は追加の二次入力領域とオーバーラップする、請求項1に記載の方法。
【請求項7】
前記タッチ入力が前記オーバーラップ内に位置することが検出されると、前記入力機構のうちの前記少なくとも2つのそれぞれに関する起動データが生成される、請求項6に記載の方法。
【請求項8】
前記ユーザから受信した前記入力が、自然な把持で前記ユーザデバイスを把持した前記ユーザによる前記タッチスクリーンディスプレイに対するタッチを含む、請求項1に記載の方法。
【請求項9】
前記ユーザから受信した前記入力が、前記ユーザが1つ又は複数の入力機構を前記タッチスクリーンディスプレイ上の前記それぞれの1つ又は複数の位置にドラッグアンドドロップしたという指標を含む、請求項1に記載の方法。
【請求項10】
プロセッサと、
前記プロセッサを用いて実行されると、少なくとも、
ユーザデバイスのユーザから、2つ以上の入力機構に関連付けられるタッチスクリーンディスプレイ上の2つ以上の位置を示す入力を受信することであって、前記入力が、前記タッチスクリーンディスプレイ上の第1のタッチ、及び前記第1のタッチからオフセットされた1つ又は複数の第2のタッチを含む、ことと、
構成データにおいて、前記第1のタッチの第1の位置に基づいて、一次入力領域を定義することと、
前記構成データにおいて、前記第1のタッチに対する前記1つ又は複数の第2のタッチの相対位置に少なくとも部分的に基づいて、前記一次入力領域のまわりに放射状に配列された1つ又は複数の二次入力領域を定義することと、
前記構成データにおいて、(a)前記一次入力領域及び二次入力領域と、(b)前記2つ以上の入力機構のうちのそれぞれの一次入力機構及び1つ又は複数のそれぞれの二次入力機構との間の関連付けを保存することと、
前記構成データが実装されることを決定することと、
前記構成データが実装されることが決定されると、
前記タッチスクリーンディスプレイ上のタッチ入力を監視することと、
前記1つ又は複数の領域内のタッチ入力を検出することと、
前記1つ又は複数の入力機構のうちのそれぞれの入力機構に関して起動データを生成することと、
によって前記構成データを実装することと、
を前記ユーザデバイスに行わせる命令を包含するメモリと、
を備えたユーザデバイス。
【請求項11】
前記ユーザデバイスがゲーム機と通信するように構成され、前記起動データが前記ゲーム機に送信される、請求項10に記載のユーザデバイス。
【請求項12】
前記命令がさらに、前記タッチ入力を使用状況データとして前記ユーザデバイスに保存させ、前記構成データが前記使用状況データに基づいて更新される、請求項10に記載のユーザデバイス。
【請求項13】
前記構成データを更新することが、前記使用状況データに基づいて分布データを生成することと、前記分布データに基づいて前記入力機構に関連付けられた前記1つ又は複数の位置を更新することと、を含み、前記分布データが、前記ユーザデバイスの前記ユーザからのタッチ入力を反復的にサンプリングすることによって生成される、請求項12に記載のユーザデバイス。
【請求項14】
前記入力機構に関連付けられた前記1つ又は複数の位置を更新することが、前記生成された分布データを中心とするように前記一次入力領域の第1の場所を更新することと、前記二次入力領域の少なくとも1つの第2の場所を更新することと、を含む、請求項13に記載のユーザデバイス。
【請求項15】
前記1つ又は複数の二次領域のサイズ又は形状の少なくとも1つが、前記分布データに基づいて更新される、請求項13に記載のユーザデバイス。
【請求項16】
前記1つ又は複数の位置と前記分布データの中心との間の距離が閾値距離より大きい場合に、前記構成データが更新される、請求項13に記載のユーザデバイス。
【請求項17】
前記命令がさらに、タッチデータに関連付けられた移動に基づいて、前記タッチ入力がスワイプ動作を含むことを前記ユーザデバイスに検出させる、請求項10に記載のユーザデバイス。
【請求項18】
実行時に、
ユーザから、2つ以上の入力機構に関連付けられるタッチスクリーンディスプレイ上の2つ以上の位置を示す入力を受信することと、
前記入力に基づいて、2つ以上の入力領域を定義することであって、前記2つ以上の入力領域が、少なくとも、第1のタッチの第1の位置に基づいた一次入力領域と、第2のタッチの第2の位置に基づいた、前記一次入力領域のまわりに放射状に配列された1つ又は複数の二次入力領域と、を含む、ことと、
構成データにおいて、前記2つ以上の領域のそれぞれ1つと、前記2つ以上の入力機構のうちのそれぞれの入力機構との間のそれぞれの関連付けを保存することと、
前記構成データが実装されることを決定することと、
前記構成データが実装されることが決定されると、
前記タッチスクリーンディスプレイ上のタッチ入力を監視することと、
前記1つ又は複数の領域内のタッチ入力を検出することと、
前記1つ又は複数の入力機構のうちのそれぞれの入力機構に関して起動データを生成することと、
によって前記構成データを実装することと、
を含む行為を1つ又は複数のコンピューティングデバイスに集合的に行わせるコンピュータ実行可能命令を集合的に保存する非一時的コンピュータ可読媒体。
【請求項19】
前記構成データが実装されることを決定することが、ユーザデバイス上で実行されるソフトウェアアプリケーションによって、アプリケーションプログラミングインタフェースを介して前記構成データを実装する要求を受信することを含む、請求項18に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記構成データが、前記ユーザデバイス上で実行される前記ソフトウェアアプリケーション上に提示されるグラフィカルオーバーレイを介して実装される、請求項19に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
背景
[0001] コンピュータ及びビデオゲーム、及び汎用オペレーティングシステムによって使用されるような最新のコンピュータコントローラシステムは、スクリーン上に表示されたオブジェクトの移動を指示するために様々な技法を採用している。既知の技法には、マウス、指向棒(directional nub)、タッチパッド、ペン、ゲームコントローラ、又はジョイスティックなどの外部制御デバイスを使用して、方向ベクトルを生成すること、又はポインタ若しくはレチクルなどのスクリーン上のオブジェクトを移動させる位置を指定すること、又はユーザの視点の移動を生じさせることが含まれる。
【0002】
[0002] いくつかの技法は、入力のパラメータ(例えば、外部デバイスが移動する速度に基づくポインタの加速度)に応答して、スクリーン上のオブジェクトの挙動を変更することによってスクリーン上のオブジェクトの移動を向上させるために、外部デバイスの移動の速度を測定することによって、追加の洗練層を採用することができる。タッチ操作対応デバイスは、外部制御デバイスの挙動をシミュレートするやり方で入力を受け付けるように構成することもできる。しかしながら、タッチ操作対応デバイスの制御スキームは、物理的コントローラで達成されている触感及び応答性には及ばない傾向があり、この技術分野におけるさらなる開発が必要とされている。
【0003】
[0003] 現存のゲームにおいて、いくつかのタッチ操作対応制御スキームが提示されているが、多くのユーザにとって、物理的なビデオゲームコントローラでゲームをプレイすることから、物理的なボタンを備えたフラットスクリーンデバイスでゲームをプレイすることへの移行は、満足のいくものではない。ユーザは、どのボタンを押下しているかを確認するために自分の手を見る必要なしに、よく設計された物理的コントローラに対する入力の提供の仕方をすぐに学ぶことができる。
【0004】
[0004] 物理的コントローラは、見ることなくマッスルメモリーによって隣接するボタンをトリガすることを簡単にする「静止時(resting)」の手及び親指の位置に最適化されており、並びにコントロール部がどこにあるか、及びどの入力が使用されたかを決定することを簡単にする触感を有している。機械的コントロール部がない場合、タッチ操作対応制御スキームの改良が必要とされる。
【発明の概要】
【0005】
概要
[0005] 本明細書では、仮想化物理的コントローラを実装するための技法が提供される。つまり、物理的ハードウェアコントローラを使用して一般的に行われることを、ソフトウェアを使用して再現するコントローラである。仮想化物理的コントローラは、ユーザデバイス(携帯電話など)のタッチスクリーンディスプレイに表示されるいくらかのボタンを介して実装することができる。
【0006】
[0006] 一実施形態では、ユーザデバイスによって行われる方法が開示され、この方法は、ユーザから、1つ又は複数の入力機構と関連付けられる、タッチスクリーンディスプレイ上の1つ又は複数の位置を示す入力を受信することと、構成データにおいて、タッチスクリーンディスプレイ上の1つ又は複数の位置に対応する1つ又は複数の領域と、1つ又は複数の入力機構のうちのそれぞれの入力機構との間の関連付けを保存することと、構成データが実装されることを決定することと、構成データが実装されることが決定されると、タッチスクリーンディスプレイ上のタッチ入力を監視することと、1つ又は複数の領域内のタッチ入力を検出することと、1つ又は複数の入力機構のうちのそれぞれの入力機構に関して起動データを生成することと、によって構成データを実装することと、を含む。
【0007】
[0007] ある実施形態は、プロセッサと、プロセッサを用いて実行されると、少なくとも、コントローラコンピューティングデバイスのユーザから、1つ又は複数の入力機構に関連付けられる、タッチスクリーンディスプレイ上の1つ又は複数の位置を示す入力を受信することと、構成データにおいて、タッチスクリーンディスプレイ上の1つ又は複数の位置に対応する1つ又は複数の領域と、1つ又は複数の入力機構のうちのそれぞれの入力機構との間の関連付けを保存することと、構成データが実装されることを決定することと、構成データが実装されることが決定されると、タッチスクリーンディスプレイ上のタッチ入力を監視することと、1つ又は複数の領域内のタッチ入力を検出することと、1つ又は複数の入力機構のうちのそれぞれの入力機構に関して起動データを生成することと、によって構成データを実装することと、をコンピューティングデバイスに行わせる命令を含むメモリと、を備えたコンピューティングシステムに向けられる。
【0008】
[0008] ある実施形態は、実行時に、ユーザから、1つ又は複数の入力機構と関連付けられる、タッチスクリーンディスプレイ上の1つ又は複数の位置を示す入力を受信することと、構成データにおいて、タッチスクリーンディスプレイ上の1つ又は複数の位置に対応する1つ又は複数の領域と、1つ又は複数の入力機構のうちのそれぞれの入力機構との間の関連付けを保存することと、構成データが実装されることを決定することと、構成データが実装されることが決定されると、タッチスクリーンディスプレイ上のタッチ入力を監視することと、1つ又は複数の領域内のタッチ入力を検出することと、1つ又は複数の入力機構のうちのそれぞれの入力機構に関して起動データを生成することと、によって構成データを実装することと、を含む行為を1つ又は複数のコンピューティングデバイスに集合的に行わせるコンピュータ実行可能命令を集合的に保存する非一時的コンピュータ可読媒体に向けられる。
【0009】
[0009] ある実施形態は、入力機構又はコマンドに関連付けられる、ユーザデバイスのタッチスクリーンディスプレイ上の1つ又は複数のユーザ入力を受信することに向けられており、ユーザ入力は、一次入力領域を定義することができる第1のタッチ、及び第1からオフセットされた1つ又は複数の二次タッチを含む。構成データにおいて、一次入力領域に隣接して、又は一次入力領域のまわりに放射状に配列された1つ又は複数の二次入力領域が、少なくとも部分的に、第1に対する1つ又は複数の二次タッチの相対位置に基づいて定義され、さらに、タッチ間の距離、メモリに保存された入力領域のプリセットパターン、又はユーザ構成入力に基づいて定義されてもよい。したがって、一次入力領域の位置又は中心は、第1のタッチに基づいて決定することができ、二次入力領域の位置は、その後のタッチに基づいて決定することができ、一次入力領域及び二次入力領域の相対的なサイズ及び形状は、初期データ(例えば、選択されたアバター又はキャラクター)から得られるコンテキスト内で、タッチの相対位置によって決定することができる。入力領域は、構成データにおいて、それぞれの入力機構又はコマンドに関連付けられる。構成データが実装される間、タッチスクリーンディスプレイはタッチを監視し、構成された領域におけるタッチ入力を検出し、及びタッチに応答して各入力機構又はコマンドの起動データを生成することができる。入力領域の位置及び形状は、タッチスクリーンディスプレイ上でタッチ入力が監視されるにつれて反復的に再定義され得る。
【0010】
[0010] 上述したことは、他の特徴及び実施形態と共に、以下の明細書、特許請求の範囲、及び添付図面を参照することにより、より明らかになるであろう。本特許の対象となる本発明の実施形態は、本概要ではなく、以下の特許請求の範囲によって定義される。本概要は、本発明の様々な態様の高レベルの要約であり、以下の「詳細な説明」のセクションにおいてさらに記載される概念の一部を紹介するものである。本概要は、特許請求される主題の重要な特徴又は本質的な特徴を識別することを意図したものではなく、特許請求される主題の範囲を決定するために単独で使用されることを意図したものでもない。主題は、本特許明細書全体、任意の又はすべての図面、及び各請求項の適切な部分を参照して理解されるものとする。
【0011】
図面の簡単な説明
[0011] 添付の図を参照して詳細な説明を明記する。図において、参照番号の左端の1つ又は複数の桁は、参照番号が最初に現れる図を識別する。異なる図における同じ参照番号の使用は、類似又は同一の物又は特徴を示す。
【図面の簡単な説明】
【0012】
図1】[0012]本開示の様々な実施形態に従った、仮想コントローラを使用できるサービス環境を示す簡略化されたシステム図である。
図2A】[0013]実施形態に従って実装され得る第1の例示的なボタン構成を描いている。
図2B】[0014]実施形態に従って実装され得る第2の例示的なボタン構成を描いている。
図2C】[0015]実施形態に従って実装され得る第3の例示的なボタン構成を描いている。
図3】[0016]実施形態に従って仮想化物理的コントローラの実装をサポートするコンピューティングシステムアーキテクチャの様々な構成要素を示すブロック図である。
図4】[0017]実施形態に従って仮想化物理的コントローラの構成及び実装を行うためのプロセスのグラフィックイラストを描いている。
図5】[0018]いくつかの実施形態に従って実装され得る仮想コントローラ構成の様々な例のグラフィックイラストを描いている。
図6】[0019]実施形態に従って仮想コントローラ構成を調整するためのプロセスのグラフィックイラストを描いている。
図7】[0020]実施形態に従って、別個のクライアントデバイス用のコントローラとして使用され得る、ユーザデバイスに実装された仮想コントローラのイラストを描いている。
図8】[0021]実施形態に従って、仮想コントローラにおいてボタン押下を検知するための例示的なプロセスフローを示すフロー図を描いている。
図9】[0022]様々な実施形態に従って、仮想コントローラの一次ボタンの場所及び補助ボタンの場所を適合させるための例示的なプロセスフローを示すフロー図を描いている。
図10】[0023]実施形態に従って仮想化物理的コントローラの生成及び実装を行うための例示的なプロセスフローを示すフロー図を描いている。
【発明を実施するための形態】
【0013】
詳細な説明
[0024] 以下の記載では、様々な実施形態について記載する。説明目的で、実施形態の十分な理解を提供するために、具体的な構成及び詳細が明記される。しかしながら、これらの具体的な詳細がなくても実施形態を実施することができることも当業者には明らかであろう。さらに、記載される実施形態を不明瞭にしないために、周知の特徴が省略又は簡略化される場合がある。
【0014】
[0025] 本明細書の実施形態は、入力機構(例えば、物理的ビデオゲームコントローラのボタン)の感触及び機能性をフラットスクリーンデバイス上でシミュレートするための技法に向けられている。開示された方法は、ユーザの好み、操作されている特定のアプリケーション(例えば、ゲーム)、ユーザによる実際の使用状況、又はユーザによって操作されている特定のキャラクター若しくはアバターに基づいて、ボタンのスクリーン上のレイアウトをカスタマイズするために使用することもできる。これらの技法は、ユーザが個人の好み又は快適さに基づいてボタンレイアウトのパラメータをカスタマイズすることを可能にすることによって、さらに拡張することができる。
【0015】
[0026] 本開示の実施形態は、従来のシステムに勝る多くの利点を提供する。多くの従来のシステムが入力機構をタッチスクリーンデバイスに適合させることを試みてきたが、この技術分野には依然として多くの問題が残っている。例えば、コントローラを横切って親指をスライドさせ、ボタンの盛り上がったエッジを感じることによる身体的感覚の変化がなければ、ユーザは、フラットスクリーンを見ることなく、ボタンがそこにあることをどのようにして知るのだろうか?ユーザがフラットスクリーンのボタンを押したときに物理的ボタンの触覚的な「クリック」がなければ、ユーザは、押したことをどのようにして知るのだろうか?物理的コントローラは、見ることなくマッスルメモリーによって隣接するボタンをトリガすることを簡単にする「静止時」の手及び親指の位置に対して最適化されている。フラットスクリーンデバイスにおいてこれをいかにして達成するのか?
【0016】
[0027] タッチスクリーンデバイスに実装された一部のゲームは、右手の親指でアクセスできる(例えば、簡単に、右手の親指を移動させてスクリーン上のボタンに当てることができる)仮想ボタンレイアウトを有することによって、これらの問題のいくつかを解決しようとしているが、ボタンの配置を見ること、及び周辺視野を使って親指が意図したボタンに接触していることを確認することに頼っている(又は、ユーザは、ボタン押下をトリガすることを意図してスクリーンをタッチしているが、実際には入力が提供されていないことに気づき、手を調整する)。
【0017】
[0028] 一部のゲームは、プレイヤーがスクリーン上のボタンの場所及びサイズをカスタマイズして、ユーザが手のサイズに合ったレイアウトを設定することを簡単にすることを可能にするが、それでもやはり、プレイヤーが周辺視野を使ってボタンの場所を決定することに頼っており、ボタン押下が生じたことを示すフィードバックは限られている。
【0018】
[0029] 対照的に、本開示の実施形態は、ユーザが指定されたボタン領域において入力を提供したときにボタンが「押下された」(ユーザがボタン領域にタッチして離したときに「押下された」のとは対照的に)と登録することを伴う。ボタンが押下されると、システムは、ハプティックフィードバックを提供し、アイコンのグラフィック表現を変更し、及び/又は音声効果を再生することができる。これは、ユーザが、親指の位置を見ることなく、フラットスクリーンを横切って右手の親指をスライドさせることができ、並びにハプティックフィードバック及び音声によってボタンをトリガしたときを知ることができることを意味する。この通知スキームと併せて、ユーザが制御しているアプリケーション(例えばゲーム)又はキャラクターにカスタムして、ボタンのレイアウトを配列することができる。
【0019】
[0030] 例えば、いくつかの実施形態では、「一次ボタン」がタッチスクリーン領域の自然の中心にわたって位置決めされ、ユーザが見ることなく放射状に親指をスライドさせることができる隣接するボタンによって少なくとも部分的に取り囲まれる。一次ボタンは、キャラクターの主能力に関連付けられてもよく、すなわち、ユーザが親指を置いたり、又は繰り返しタップしたりすることが予期されるボタンであり、放射状に配列された二次ボタンは、使用頻度が低い、又は主能力と併せて使用される補助的又は二次的なスキルに対応し得る。使用時に、持ち上げて、又は持ち上げずに、ユーザが親指を一次ボタンから隣接するボタンにスライドさせると、ボタン押下がトリガされ、前のボタンは解除され、ユーザは、ボタンをトリガしたことを知るための物理的、聴覚的、及び視覚的フィードバックを得る。重要なことに、複数のキャラクターを使用できるゲームの場合、コントロール部の感触を改変することなく、異なるキャラクターが選択されたときに、ボタンスキームは自動的に変わることができる。例えば、一次スキルは、中央のままで、補助ボタンは使用時のキャラクターの選択に応答して変わることができる。
【0020】
[0031] 図1は、本開示の様々な実施形態に従った、仮想コントローラを使用できるサービス環境100を示す簡略化されたシステム図である。サービス環境100は、少なくとも1つのサーバ101を含み、このサーバ101は、少なくとも1つのプロセッサ103と、サービス環境の動作を容易にするソフトウェア命令として保存する非一時的メモリ105とを含む。サーバ101は、ネットワーク121(例えば、インターネット又はローカルネットワーク)を介して、一般的にはそれぞれのローカルユーザネットワーク131、141(例えば、消費者又は商用ローカルエリアネットワーク、WIFIネットワークなど)と連携して動作する任意の適切な数のユーザ所有クライアントデバイス133、143と接続される。
【0021】
[0032] サーバ101は、任意の適切な数の制御サービス111、例えば、サーバ101とクライアントデバイス133、143との間のネットワークを監視する独自のプロセッサ113及びメモリ115を備えたネットワーク接続されたコンピューティングシステムにも接続することができる。いくつかの実施形態では、サーバ101は、商業規模で動作する1つ又は複数のサーバ、例えば、データセンタ又はサーバファームであってもよい。クライアントデバイス133、143は、消費者向けパーソナルコンピュータ、ビデオゲームコンソール、ローカルスクリーン上で提示するためにサーバ101からビデオコンテンツをストリーミングするように動作可能なシンクライアントデバイス、又はスマートフォン、又はタブレットなどのモバイルデバイスを含み得るが、これらに限定されない。クライアントデバイス133、143は、任意の適切な数のコントローラ、例えば、コントローラ135、137、145、147に接続することができる。
【0022】
[0033] 各コントローラ(例えば、コントローラ135)は、それぞれのクライアントデバイス133と通信するための接続性ハードウェア及びプロトコルを備えたハードウェアデバイス(例えば、コンソール専用コントローラ、クロスコンパチブルコントローラ、又は仮想コントローラ)であってもよい。いくつかの実施形態によれば、コントローラ135は、シンクライアントデバイス又はタッチスクリーンデバイスで動作する仮想化コントローラ、例えば、タッチスクリーンスマートフォン、タブレット、又はタッチ操作対応パネルを備えたコンソール様のコントローラでシミュレートされるコントローラであってもよい。例えば、クライアントデバイス133がシンクライアントデバイス又はモバイルデバイスである、いくつかのさらなる実施形態によれば、コントローラ135は、クライアントデバイスに内蔵された仮想化コントロール部を備えたタッチスクリーンであってもよい。或いは、クライアントデバイス133がシンクライアントデバイスである場合でも、コントローラ135は、クライアントデバイスと物理的に又は無線で接続するように構成されたハードウェアコントローラであってもよい。いくつかの実施形態によれば、クライアントデバイス133及びサーバ101は、同じハードウェア上で動作することができ、例えば、クライアントデバイスは、サーバ上の仮想インスタンスとして走る。
【0023】
[0034] 本明細書に記載される方法は、図1に記載したサービス環境100などのサービス環境と併せて、クライアントデバイスに対して実装することができる。さらに、これらの方法は、アバターの向き及び移動の両方を制御する仮想コントローラをスクリーン上で任意に配置する状況下で機能することができる。
【0024】
[0035] 明瞭化のために、ある数の構成要素が図1に示されている。しかしながら、本開示の実施形態は、2つ以上の各構成要素を含み得ることが理解される。加えて、本開示のいくつかの実施形態は、図1に示される構成要素のすべてよりも少ないか、又はそれよりも多い構成要素を含み得る。加えて、図1の構成要素は、任意の適切な通信プロトコルを使用して、任意の適切な通信媒体(インターネットを含む)を介して通信してもよい。
【0025】
[0036] 図2A~2Cは、様々な実施形態に従って、ビデオゲームシステム233と通信する仮想コントローラ235を採用する制御スキームに対応する例示的なボタン構成200a~cを示す。表示されたボタン配列257は、タッチスクリーンインタフェース251を利用するゲームにおいて、異なるキャラクターによって変わることができる。
【0026】
[0037] 図2Aは、実施形態に従って実装され得る第1の例示的なボタン構成を描いている。図2Aに示すような第1の構成200aでは、スクリーン251の左側に移動領域255が存在し、スクリーンの右側にボタン配列257が表示されているが、左右の構成が取り替えられてもよいことが理解されるだろう。
【0027】
[0038] この例では、一次ボタン259は、特に、仮想コントローラ235がハンドル253又は類似の人間工学的特徴を含む実施形態では、ユーザの親指の場所に関して、タッチスクリーン251に対して人間工学的に中央の場所に位置する。一次ボタン259は、一次ボタンの入力領域によって少なくとも部分的に定義される可視キュー(すなわち、投影されたボタン)を含み得る入力領域を指すが、一次ボタンの入力領域は、あらゆるスクリーン上のキューにおいて目に見えるものを超えて広がってもよい。いくつかの実施形態では、一次ボタンは、スクリーン上で目に見えない場合がある。
【0028】
[0039] 二次入力領域に対応する二次ボタン261は、一次ボタン259の周囲で、あるパターンに配列されるが、一次ボタンと同様に、二次ボタンの視覚的キューは、その入力領域に直接対応しない場合がある。すなわち、視覚的キューの正確な境界は、対応する入力領域と合致する場合があり、又はわずかにオフセットされる場合がある。二次ボタン261の入力領域は、ユーザに表示されない境界263によって区切られてもよい。いくつかの実施形態では、二次入力領域は、一次ボタンの場所から外側に放射状に広がる。追加の入力領域が、一次ボタンからさらに遠く離れて積み重ねられてもよい。
【0029】
[0040] 図2Bは、実施形態に従って実装され得る第2の例示的なボタン構成を描いている。図2Bには、図2Aと同じ番号付けがなされた同じ要素が、ボタンの数、サイジング、及び場所の微妙なバリエーションを有して示されている。
【0030】
[0041] 一部のケースでは、一次ボタン259は、(例えば、図2A及び図2Bの両方に示されるように)いくつかの補助ボタン261の「中央」にあってもよい。一次ボタン259の特定の位置、サイズ、及び/又は形状は、本明細書に記載される技法に従って修正されてもよい。
【0031】
[0042] 図2Cは、実施形態に従って実装され得る第3の例示的なボタン構成を描いている。図2Cに描かれているように、一部の他のケースでは、一次ボタンは、タッチスクリーン251の角を占め、タッチスクリーン251の内部に向かって位置決めされた放射状の二次ボタン261を有してもよい。いずれにせよ、ボタンの場所、サイジング、及び数は、状況に基づいて異ならせることができる。例えば、ボタンの場所、サイジング、及び数は、個々のゲームキャラクターの移動セットに対応するように、又は全く異なるゲームのニーズを満たすように異ならせることもできる。
【0032】
[0043] 図3は、実施形態に従って仮想化物理的コントローラの実装をサポートするコンピューティングシステムアーキテクチャの様々な構成要素を示すブロック図である。システムアーキテクチャは、少なくとも1つのコントローラ302を含んでもよい。いくつかの実施形態では、コントローラ302は、図1に関して記載したサーバ101の一例でもよい1つ又は複数のサーバ304と通信し得る。いくつかの実施形態では、1つ又は複数のサーバ101は、コントローラ302のバックエンドサポートを提供することができる。例えば、コントローラ302によって行われるとして記載した処理の少なくとも一部は、一部のケースでは、代わりにサーバ101によって行われてもよい。いくつかの実施形態では、コントローラ302は、クライアントデバイス306と通信してもよい。クライアントデバイス306は、上記で図1に関連して記載したように、クライアントデバイス133又は143の一例であってもよい。いくつかの実施形態では、クライアントデバイス306は、ディスプレイデバイス308とさらに通信してもよい。本明細書に記載される各構成要素は、ネットワーク310を介した接続によって通信してもよい。
【0033】
[0044] コントローラ302は、本明細書に記載される動作の少なくとも一部を行うように構成され、及びユーザがソフトウェアアプリケーションとインタラクトできるように構成された、任意の適切なコンピューティングデバイスを含み得る。いくつかの実施形態では、コントローラは、タッチスクリーン機能を有するモバイルデバイス(例えば、スマートフォン又はタブレット)であってもよい。コントローラ302は、通信インタフェース312、1つ又は複数のプロセッサ314、メモリ316、及びハードウェア318を含んでもよい。通信インタフェース312は、コントローラ302が他のネットワーク化デバイスにデータを送信し、及び他のネットワーク化デバイスからデータを受信することを可能にする無線及び/又は有線通信構成要素を含んでもよい。ハードウェア318は、追加のユーザインタフェース、データ通信、又はデータストレージハードウェアを含んでもよい。例えば、ユーザインタフェースは、少なくとも1つの出力デバイス320(例えば、視覚ディスプレイ、音声スピーカ、及び/又はハプティックフィードバックデバイス)、並びに1つ又は複数のデータ入力デバイス322を含んでもよい。データ入力デバイス322は、キーパッド、キーボード、マウスデバイス、ジェスチャーを受け付けるタッチスクリーン、マイクロホン、声又は発話認識デバイス、及び任意の他の適切なデバイスのうちの1つ又は複数の組み合わせを含み得るが、これらに限定されない。
【0034】
[0045] メモリ316は、コンピュータストレージ媒体などのコンピュータ可読媒体を用いて実装されてもよい。コンピュータ可読媒体には、少なくとも2種類のコンピュータ可読媒体、つまりコンピュータストレージ媒体及び通信媒体が含まれる。コンピュータストレージ媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報を保存するための任意の方法又は技術で実装された、任意の適切な揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体が含まれる。コンピュータストレージ媒体には、RAM、DRAM、ROM、EEPROM、フラッシュメモリ、若しくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)、若しくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、若しくは他の磁気ストレージデバイス、又はコンピューティングデバイスによるアクセスのために情報を保存するために使用できる任意の他の非伝送媒体が含まれるが、これらに限定されない。対照的に、通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを、搬送波などの変調データ信号、又は他の伝送機構で具現化することができる。
【0035】
[0046] コントローラの1つ又は複数のプロセッサ314及びメモリ316は、1つ又は複数のソフトウェアモジュール及びデータストアを含む機能性を実装することができる。このようなソフトウェアモジュールは、特定のタスクを行うため、又は特定のデータタイプを実装するためにプロセッサ314によって実行されるルーチン、プログラム命令、オブジェクト、及び/又はデータ構造を含み得る。特に、メモリ316は、仮想化コントローラの入力機構の構成情報の維持及び実装を行うように構成されたモジュール(例えば、構成管理モジュール324)を含んでもよい。
【0036】
[0047] 加えて、メモリ316は、様々なデータストアを含み得る。例えば、メモリ316は、状況に基づいて仮想化コントローラの構成に関するデータ(例えば、構成データ326)を維持することができる。いくつかの実施形態では、メモリは、仮想化コントローラとのユーザインタラクションに関するデータ(例えば、使用状況データ328)をさらに含んでもよい。
【0037】
[0048] 構成管理モジュール324は、プロセッサ314と連携して、コントローラ302上に提示されるユーザインタフェース内の1つ又は複数の入力機構の配列に関連する構成情報の生成及び管理を行うように構成されてもよい。いくつかの実施形態では、構成管理モジュールは、特定の入力機構(例えば、ボタン)に関連付けられるタッチスクリーンディスプレイ上の位置を示す入力をユーザから受信するように構成されてもよい。一部のケースでは、ユーザは、コントローラを保持し、親指又は他の指をユーザにとって快適な位置に移動させ、そのポイントでタッチスクリーンディスプレイをタッチするように促され得る。タッチスクリーンディスプレイ上のユーザのタッチを検知すると、構成管理モジュールは、タッチの場所を特定の入力機構に関連付けるように構成されてもよい。同様のプロセスが、いくらかの入力機構のそれぞれについて行われてもよい。構成管理モジュールが各入力機構の入力場所データを収集すると、その場所データは、構成データとしてメモリ316内に保存され得る。一部のケースでは、コントローラにおいて保存された構成データは、特定のユーザ、ソフトウェアアプリケーション、又はアバターに固有のものであり得る。
【0038】
[0049] いくつかの実施形態では、構成管理モジュールは、アプリケーションプログラミングインタフェース(API)を介して(例えば、実行されたソフトウェアアプリケーションによって)呼び出される場合がある。一部のケースでは、仮想コントローラ構成の実装に固有の情報は、APIへの呼び出しにより、ソフトウェアアプリケーションから構成管理モジュール324に渡され得る。ゲームなどのソフトウェアアプリケーションと共に使用するためにコントローラを起動すると、構成管理モジュール324は、適当な入力機構構成の識別及び実装を行うように構成されてもよい。いくつかの実施形態では、このような実装は、実行中のソフトウェアアプリケーション、(例えば、ユーザログインなどによって識別される)コントローラを現在使用しているユーザ、及び/又はソフトウェアアプリケーションに固有の1つ若しくは複数の条件(例えば、特定のキャラクター又はアバターがプレイされている)のある組み合わせに固有であり得る。構成を実装するために、構成管理モジュール324は、タッチがある場所で検出されると、構成管理モジュールがその場所に割り当てられた1つ又は複数の入力機構に対応する入力を生成するように、タッチスクリーン内のエリアを特定の入力機構に割り当ててもよい。このような入力は、その後、(例えば、APIを介して)ソフトウェアアプリケーションに中継されてもよい。一部のケースでは、起動された入力機構に対応する起動データが生成され、その起動データは、ソフトウェアアプリケーションに中継される。
【0039】
[0050] いくつかの実施形態では、特定の入力機構の選択に応答して生成される起動データは、ユーザが入力機構をどのように、又はどの程度起動したかに関する情報を含み得る。例えば、ユーザによるタッチが入力機構に割り当てられた領域内で生じ、その後、タッチが移動すると決定された場合、構成管理モジュールは、そのタッチがスワイプ動作であると決定することができる。生成された起動データは、スワイプ動作、及びスワイプ動作の距離、スワイプの方向、スワイプの終了場所、又は任意の他の適切な情報を示し得る。いくつかの実施形態では、スワイプが入力機構に関連付けられた領域内で開始された場合、スワイプがその領域の外側で継続されたとしても、スワイプ動作は、入力機構に関連付けられ続けることができる。
【0040】
[0051] いくつかの実施形態では、構成管理モジュールは、構成データを更新するようにさらに構成されてもよい。一部のケースでは、そのような更新は、ユーザの要求に応じて行われ得る。他のケースでは、そのような更新は自動的に行われ得る。例えば、特定の仮想コントローラ構成が実装されると、構成管理モジュールは、コントローラを操作するユーザによって入力されたタッチ入力を監視し得る。これらのタッチ入力は、入力機構の現在の場所が適当であるか否かを評価するために、経時的に集約されてもよい。これは、以下で図6に関してより詳細に記載される。
【0041】
[0052] サーバ304は、それに起因する動作の少なくとも一部を行うように構成された任意のコンピューティングデバイスを含んでもよい。サーバ304は、1つ又は複数の汎用コンピュータ、特殊サーバコンピュータ(例として、PC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント式サーバなどを含む)、サーバファーム、サーバクラスタ、又は任意の他の適当な配列及び/又は組み合わせから成ってもよい。サーバ304は、仮想オペレーティングシステムを走らせる1つ若しくは複数の仮想マシン、又はコンピュータの仮想ストレージデバイスを維持するために仮想化することができる論理ストレージデバイスの1つ若しくは複数の柔軟なプールなどの仮想化を伴う他のコンピューティングアーキテクチャを含み得る。例えば、サーバ304は、クラウドでホストされる仮想マシン又はソフトウェアコンテナの形態の仮想コンピューティングデバイスを含み得る。
【0042】
[0053] クライアントデバイス306は、コントローラ302からの入力を受信し、その入力に基づいてアクションを行うように構成された任意の適切なコンピューティングデバイスを含み得る。いくつかの実施形態では、クライアントデバイスは、いくらかのコントローラからの入力を受信することができるゲーム機などのゲーミングシステムであってもよく、各コントローラは、ソフトウェアアプリケーション(例えば、コンピュータゲーム)内でアバター又はキャラクターを制御するために使用することができる。
【0043】
[0054] 図4は、実施形態に従って仮想化物理的コントローラの構成及び実装を行うためのプロセスのグラフィックイラストを描いている。特に、図4は、ユーザデバイス402に関する構成データを入力すること、ユーザデバイス404上の様々な入力機構に入力された場所を割り当てることによって構成データを生成すること、及びユーザデバイス406に関する生成された構成データを使用して仮想化物理的コントローラを実装することに関連するグラフィックイラストを描いている。
【0044】
[0055] 402に描かれるように、構成データは、ユーザデバイスのユーザから受信した入力から生成され得る。いくつかの実施形態では、入力は、構成に追加される入力機構に関連付けられた識別子(例えば、ボタン名)の指標を含み得る。例えば、ユーザは、ユーザデバイスのスクリーン上でユーザに提示されたボタンのリストからボタンを選択することができる。構成データに追加される入力機構が識別されると、受信したユーザ入力に基づいて、位置データをその入力機構に割り当てることができる。いくつかの実施形態では、ユーザは、タッチスクリーンディスプレイ内の位置を選択するためのプロンプト408を提供される。これらの実施形態では、プロンプトが表示されると、ユーザは、識別された入力機構と関連付けることを望む位置410においてタッチスクリーンにタッチすることによって応答することができる。他の実施形態では、ユーザは、特定のボタンのグラフィックイラストを、ユーザがボタンと関連付けたいタッチスクリーン上の場所にドラッグアンドドロップするように求められてもよい。
【0045】
[0056] 404に描かれるように、いくつかの入力機構のそれぞれは、タッチスクリーンディスプレイ上に位置する領域412に割り当てられ得る。いくつかの実施形態では、サイズ及び/又は形状も、入力機構のための領域のそれぞれに割り当てられ得る。一部のケースでは、結果として得られる構成が同じ入力機構の複数のインスタンスを含み得るように、入力機構が複数の異なる領域に割り当てられ得ることに留意されたい。加えて、実装された構成内でオーバーラップする領域内のエリアを選択することによって、2つ以上の入力機構のそれぞれがトリガされ得るように、2つ以上の入力機構がオーバーラップする領域に割り当てられてもよい。
【0046】
[0057] 406に描かれるように、生成された構成は、実行されたソフトウェアアプリケーションに対して実装され得る。例えば、ゲームなどのソフトウェアアプリケーションが実行されると、仮想コントローラが、ユーザデバイス上でインスタンス化され得る。この例では、ソフトウェアアプリケーションは、実装される仮想コントローラに関連付けられたAPIを呼び出すことができる。APIに対する呼び出しは、実装される特定の仮想コントローラ構成を識別するために使用される情報を含み得る。いくつかの実施形態では、これは、ソフトウェアアプリケーションの提示の上に、ユーザデバイス上のグラフィカルオーバーレイをインスタンス化することを伴い得る。いくつかの実施形態では、406(A)に描かれるように、入力機構又はそれらに対応する領域の視覚的表現は、ユーザに見えなくされてもよい。他の実施形態では、406(B)に描かれるように、入力機構又はそれらに対応する領域の視覚的表現414は、ユーザに見えるようにされてもよい。
【0047】
[0058] 実装されると、ユーザデバイスに提供される入力は、1つ又は複数の入力機構がいつ起動されたかを決定するために監視され得る。いくつかの実施形態では、これは、ユーザから入力されたタッチデータを監視すること、及びそのタッチデータの場所が1つ又は複数の入力機構に関連付けられた領域内にあるか否かを決定することを伴い得る。一部のケースでは、ユーザは、入力機構に関連付けられた1つ又は複数の領域内でスクリーンを指でタッチすることができる。一部のケースでは、ユーザは、指でスクリーンをタッチし、入力機構に関連付けられた1つ又は複数の領域を横切って指をドラッグすることができる。入力機構が選択されたことを検出すると、仮想コントローラは、ユーザに入力機構の選択を示すフィードバックを提供するように構成されてもよい。例えば、仮想コントローラは、仮想コントローラのユーザに対して、聴覚的(例えば、可聴音)フィードバック、視覚的フィードバック、又はハプティックフィードバックを提供することができる。一部のケースでは、ユーザに提供されるフィードバックは、選択された入力機構のアイデンティティに基づいて異なり得る。仮想コントローラはさらに、どの入力機構が選択されたかに基づいて、及びそれらの入力機構が選択されたときに、ソフトウェアアプリケーションにユーザ入力を提供するように構成されてもよい。
【0048】
[0059] 図5は、いくつかの実施形態に従って実装され得る仮想コントローラ構成の様々な例のグラフィックイラストを描いている。描かれている例では、第1の例示的コントローラ502は、1つ又は複数の入力機構の複数のインスタンスを有する仮想コントローラを実装するように描かれている。加えて、第2の例示的コントローラ504は、オーバーラップする異なる入力機構に関連付けられた2つの領域を有する仮想コントローラを実装するように描かれている。
【0049】
[0060] 前述のように、保存された仮想コントローラ構成データは、タッチスクリーンディスプレイ上に位置するいくらかの領域といくらかの入力機構との間の相関関係のマッピングを含み得る。いくつかの実施形態では、1つ又は複数の入力機構が、タッチスクリーンディスプレイ上の複数の異なる別個の領域にマッピングされてもよい。よって、仮想制御構成が本明細書に記載されるように実装される場合、単一の入力機構の複数のインスタンス(例えば、506)が、タッチスクリーンディスプレイ上の異なる場所で表示され得る。特に、入力機構の異なるインスタンスの各々は、それらに対応する場所において実装されてもよい。描かれている仮想コントローラの例では、ユーザは、タッチスクリーンディスプレイを第1の場所508(A)においてタッチし、指を第2の場所508(B)にドラッグすることができる。この例では、第1の場所508(A)と第2の場所508(B)との間の各入力機構は、ユーザの指がそれぞれの入力機構に関連付けられた領域に入るときに起動され得る。このようにして入力機構が起動されるときに、その入力機構に固有の信号が生成され、及び実行中のソフトウェアアプリケーションに提供され、ソフトウェアアプリケーションは、次にその信号を解釈することができる。
【0050】
[0061] 単一の入力機構の複数のインスタンスを含むことが可能な仮想化物理的コントローラの実施形態は、従来のコントローラに勝る大きな利点を提供し得ることに留意されたい。例えば、入力機構の複数のインスタンスを一列に配置することができるユーザは、複数のインスタンスをタップする代わりに、それらのインスタンスを横切ってスワイプすることができる。別の例では、ユーザが直線に沿って2つの異なる入力機構のインスタンスを交互に置く場合、その直線に沿ってスワイプすることにより、一般的には2つの異なるボタンを交互にタップすることを必要とする入力が生成されることになる。これらの例では、このようにして入力機構の複数のインスタンスを実装することにより、コントローラの操作がより簡単になり得るとともに、障害者によるコントローラの使用が容易になり得ることに留意されたい。
【0051】
[0062] いくつかの実施形態では、仮想コントローラ構成は、オーバーラップする異なる入力機構に関連付けられた1つ又は複数の領域を含み得る。例えば、第1の入力機構に関連付けられた入力領域510は、第2の入力機構に関連付けられた入力領域512とオーバーラップし得る。この例では、エリア514は、2つの領域間のオーバーラップから生じ得る。ユーザがエリア514内でタッチスクリーンディスプレイにタッチしたことを検出すると、第1及び第2の入力機構の各々が同時に起動され得る。これもまた、一般的には、物理的コントローラが同じ結果を達成するために2つのボタンが同時に押されることを必要とするため、そのような物理的コントローラよりも有利であることに留意されたい。
【0052】
[0063] 図6は、実施形態に従って仮想コントローラ構成を調整するためのプロセスのグラフィックイラストを描いている。プロセス600は、仮想コントローラが実装され得るユーザデバイス602(A~C)の一連の画像上に描かれている。仮想コントローラ構成データは、入力機構に関連付けられた領域604の指標を含み得る。
【0053】
[0064] いくつかの実施形態では、仮想コントローラ構成データは、様々な時点で調整又は更新され得る。いくつかの実施形態では、仮想コントローラ構成データは、更新要求を受信すると更新され得る。いくつかの実施形態では、仮想構成データは、更新が行われるべきであると決定されると、自動的に(例えば、人とのインタラクションなしに)更新され得る。
【0054】
[0065] いくつかの実施形態では、ある期間にわたって、ユーザデバイス602(A)上の仮想化物理的コントローラの操作中にユーザによって提供されたユーザタッチ場所入力に関する情報を含む使用状況データ606が維持されてもよい。このような使用状況データ606は、特定の入力機構とインタラクトするときにユーザがタッチしたタッチスクリーンディスプレイ上の場所に対応する場所を含み得る。
【0055】
[0066] いくつかの実施形態では、ユーザデバイス602(B)上の領域全体にわたるユーザのタッチ確率の分布を表す使用状況分布608を生成するために、使用状況データが集約されてもよい。このような使用状況分布608は、入力機構を起動させようとするときにユーザがタッチスクリーンディスプレイにタッチする可能性が最も高い場所を中心とすることができる。
【0056】
[0067] いくつかの実施形態では、使用状況分布608の中心と領域604の中心との間の距離を決定することができる。これらの実施形態では、決定された距離が閾値距離より大きい場合、領域604の場所を移動させるために仮想コントローラ構成データを更新すべきであるとの決定が下され得る。領域の場所が更新されるべきであるとの決定が下されると、領域604は、使用状況分布610を中心とするように移動され得る。構成データにおいて示される領域の他の態様が、このようにして更新されてもよいことに留意されたい。例えば、領域のサイズ及び/又は形状は、そのような領域の位置に加えて、又はそのような領域の位置の代わりに更新されてもよい。
【0057】
[0068] 本明細書に記載する技法を使用して、仮想コントローラ構成データ内に保存された入力機構に関連付けられた領域の場所は、ユーザの仮想コントローラの使用状況の変化に応じて更新され得る。例えば、ユーザが成長するにつれて、ユーザデバイス上のユーザの手の配置が変化する場合があり、様々な領域の場所も更新される必要がある場合がある。
【0058】
[0069] 図7は、実施形態に従って、別個のクライアントデバイス用のコントローラとして使用され得る、ユーザデバイスに実装された仮想コントローラのイラストを描いている。システム700に描かれているように、仮想化物理的コントローラを実装したユーザデバイス702は、ゲーム機などのクライアントデバイス704と通信することができる。いくつかの実施形態では、クライアントデバイス704は、テレビなどのディスプレイデバイス706とさらに通信することができる。
【0059】
[0070] いくつかの実施形態では、デバイス発見プロセスが、ユーザデバイスによって行われてもよい。このようなプロセスが行われると、ユーザデバイスは、クライアントデバイスを発見することができ、ユーザデバイス702とクライアントデバイス704との間に通信セッションを確立することができる。いくつかの実施形態では、クライアントデバイス704は、両者間のインタラクションを容易にするソフトウェアアプリケーションを取得するようにユーザデバイスに指示してもよい。例えば、クライアントデバイスは、ユーザデバイスとの通信を確立すると、クライアントデバイスに関連付けられたソフトウェアアプリケーションをダウンロードするようにユーザデバイスに指示することができる。その後、ユーザデバイスとクライアントデバイスとの間の通信は、そのソフトウェアアプリケーションによって容易にされ得る。
【0060】
[0071] 実施形態では、仮想化物理的コントローラは、ユーザデバイスでインスタンス化されると、タッチスクリーンディスプレイを介してユーザから受信した入力をクライアントデバイスに伝達するために使用され得る。その後、その入力は、クライアントデバイス上で実行されるビデオゲームのキャラクターを制御するために使用され得る。
【0061】
[0072] 図8は、図2A図2Cに記載の仮想コントローラにおいてボタン押下を検知するための例示的なプロセスフロー800を示すフロー図を描いている。プロセス800は、図1に示すサービス環境100を含むがこれに限定されない、任意の適切なサービス環境で行われ得る。
【0062】
[0073] 様々な実施形態に従って、プロセス800は、801において、一次ボタン領域内のタッチを検知することによって、タッチスクリーンデバイスの一次ボタン領域内の第1のユーザ入力を検出することを含む。次に、システムは、802において、第1のユーザ入力の検出に応答して、第1のハプティック、聴覚的、若しくは視覚的信号(又はそれらの任意の適切な組み合わせ)を生成することができる。タッチスクリーンデバイスの二次ボタン領域内の第2のユーザ入力は、803において、タッチがタッチスクリーンデバイスの一次ボタン領域から二次ボタン領域に移動したことを検知することによって検出することができ、これによってシステムは、804において、第2のユーザ入力の検出に応答して、第2のハプティック、聴覚的、又は視覚的信号を生成することができる。第1及び第2のユーザ入力は、805において、ゲーミングシステムに通信されるコマンドとして登録される。
【0063】
[0074] 様々な実施形態によれば、一次ボタン領域は、ユーザが仮想化コントローラを保持しているときにユーザの親指が置かれる自然な場所に配列され、二次ボタン領域は、一次ボタン領域の周囲に放射状に配列された複数の補助ボタン領域のうちの1つを含む。しかしながら、領域の正確な位置決めは、以下のように、ユーザの手に適合するように修正することもできる。
【0064】
[0075] 図9は、様々な実施形態に従って、仮想コントローラの一次ボタンの場所及び補助ボタンの場所を適合させるための例示的なプロセスフロー900を示すフロー図を描いている。プロセス900は、図1に示すサービス環境100を含むがこれに限定されない、任意の適切なサービス環境で行われ得る。例えば、プロセス900は、901において、ユーザが親指を自然な場所に配置することによって第1の訓練タッチを生成することを要求する、ユーザに提示するための第1の命令をシステムが生成することを含む。ユーザによる第1の訓練タッチの検出に応答して、システムは、902において、ユーザによって選択された自然な場所に基づいて一次ボタン領域の場所を設定することができる。システムは、903において、ユーザが親指を自然な場所とは異なる第2の場所(例えば、二次ボタンの場所)に配置することによって第2の訓練タッチを生成することを要求する、ユーザに提示するための第2の命令を生成することができる。ユーザによる第2の訓練タッチの検出に応答して、システムは、次に、904において、二次ボタン領域の場所を設定することができる。
【0065】
[0076] システムは、ユーザが見る必要性を最小限に抑える制御スキームが達成されるまで、上記のように繰り返される較正要求に基づいて、補助ボタンの位置、サイズ、及び場所(すなわち、制御スキームの「広がり」)を改良することができる。したがって、ボタンの位置決め及びサイジングは、ユーザがスクリーンを見ずに自然な場所に制御用の親指又は指をスクリーン上に配置するように命令され、次に自然な場所から1つ又は複数の方向に補助ボタンの数に対応したパターンで制御用の親指又は指を移動させるように命令される訓練モジュールを介して、部分的に(少なくとも最初は)決定され得る。「自然な」場所における1回又は複数回の押下は、一次ボタンの中心を定義するようモジュールに命令し、補助的な場所における1回又は複数回の押下は、一次ボタンのエッジ、ひいては補助ボタンに対応する領域を定義するようにモジュールに命令する。
【0066】
[0077] いくつかの実施形態では、ユーザによる仮想化コントローラの操作中に、ユーザのタッチ入力が経時的に監視されてもよい。例えば、タッチ入力が入力機構のうちの1つ又は複数に関連して受信されるたびに、そのタッチ入力の場所が記録される。各入力機構に関連付けられたタッチ入力場所のサンプルを使用して、上記の図6に関して記載したように、それぞれの入力機構に関連付けられた領域の更新及び/又は定義を行うことができる。一部のケースでは、各入力機構に関連付けられた領域は、コントローラが使用されるときに(例えば、ユーザインタラクションなしに)自動的に更新され得る。このような使用は、コントローラが訓練状態で操作されていない場合でも、コントローラの操作中に生じ得る。
【0067】
[0078] 図10は、実施形態に従って仮想化物理的コントローラの生成及び実装を行うための例示的なプロセスフロー1000を示すフロー図を描いている。プロセス1000は、製品の製品戦略の生成及び提供を行うように構成されたコンピューティングデバイスによって行われてもよい。例えば、プロセス1000は、上記の図1に関して記載した操作最適化プラットフォーム104などの操作最適化プラットフォームによって行われてもよい。
【0068】
[0079] 1002において、プロセス1000は、タッチスクリーンディスプレイ上の1つ又は複数の位置を示す入力をユーザから受信することを含み、1つ又は複数の位置は、入力機構に関連付けられることが意図される。いくつかの実施形態では、ユーザから受信した入力は、自然な把持でユーザデバイスを把持したユーザによるタッチスクリーンディスプレイに対するタッチを含む。いくつかの実施形態では、ユーザから受信した入力は、ユーザが1つ又は複数の入力機構をタッチスクリーンディスプレイ上のそれぞれの1つ又は複数の位置にドラッグアンドドロップしたという指標を含む。いくつかの実施形態では、入力機構に関連付けられた領域に関連して保存される位置に関する情報に加えて、領域のサイズ、配向、及び/又は形状に関する情報も保存され得る。
【0069】
[0080] 1004において、プロセス1000は、第1のタッチの第1の位置に基づいて一次入力領域を定義することを含む。いくつかの実施形態では、第1のタッチの第1の位置は、ユーザの親指又は指が快適に届くことができるタッチスクリーンデバイス上の位置に位置し得る。
【0070】
[0081] 1006において、プロセス1000は、第1のタッチに対する1つ又は複数の第2のタッチの相対位置に少なくとも部分的に基づいて、1つ又は複数の二次入力領域を定義することを含む。いくつかの実施形態では、1つ又は複数の二次入力領域は、一次入力領域のまわりに放射状に配列されてもよい。いくつかの実施形態では、1つ又は複数の第2のタッチは、第1の位置の中心から所定の距離に配列されてもよい。
【0071】
[0082] 1008において、プロセス1000は、示された位置に対応する領域と対応する入力機構との間の関連付けを構成データにおいて保存することを含む。いくつかの実施形態では、構成データは、1つ又は複数の入力機構のうちの単一の入力機構に関連付けられた複数の別個の領域を含む。いくつかの実施形態では、構成データ内の1つ又は複数の入力機構のうちの少なくとも2つに関連付けられた1つ又は複数の領域は、オーバーラップしてもよい。このようなケースでは、タッチ入力がオーバーラップ内に位置することが検出されると、少なくとも2つの入力機構のそれぞれに対する入力が生成される。
【0072】
[0083] 1010において、プロセス1000は、構成データが実装されることを決定することを含む。いくつかの実施形態において、構成データは、実行されるソフトウェアアプリケーション、ユーザのアイデンティティ、又はソフトウェアアプリケーションにおいてプレイされているキャラクターのうちの少なくとも1つに少なくとも部分的に基づいて、実装されると決定される。いくつかの実施形態では、構成データが実装されることを決定することは、ユーザデバイス上で実行されるソフトウェアアプリケーションによって、アプリケーションプログラミングインタフェースを介して構成データを実装する要求を受信することを含む。これらの実施形態において、構成データは、ユーザデバイスで実行されるソフトウェアアプリケーション上に提示されるグラフィカルオーバーレイを介して実装されてもよい。
【0073】
[0084] 1012において、プロセス1000は、構成データに従って仮想化物理的コントローラを実装することを含む。これは、タッチスクリーンディスプレイ上のタッチ入力を監視すること、1つ又は複数の領域内のタッチ入力を検出すること、及び1つ又は複数の入力機構のうちの少なくとも1つのそれぞれの入力機構に対応する入力を生成することを伴い得る。起動データは、特定の入力機構の起動時に生成されることが意図された任意のデータであってもよい。例えば、特定のボタンがユーザによって押されたか、又は他の方法で起動されたと決定されると、そのボタンの識別子を含む起動データが生成されてもよい。いくつかの実施形態では、タッチデータに関連付けられた移動に基づいて、タッチ入力がスワイプ動作を含むとの決定が下され得る。これらの実施形態では、起動データは、スワイプ動作の距離、スワイプの方向、又はスワイプの終了場所に関する情報をさらに含み得る。
【0074】
[0085] いくつかの実施形態では、プロセス1000は、1つ又は複数の領域内でタッチ入力を検出したときに、ユーザにフィードバックを提供することをさらに含む。このようなフィードバックは、ハプティック信号、聴覚的信号、又は視覚的信号の任意の組み合わせを含んでもよい。一部のケースでは、フィードバックは、ユーザのタッチが入力機構に関連付けられた領域内で検出されるとすぐに(ユーザがタッチを解除したときとは対照的に)提供されてもよい。
【0075】
[0086] いくつかの実施形態では、プロセス1000はさらに、(例えば、人のインタラクションなしに)構成データを自動的に更新することを伴い得る。そのような実施形態では、タッチ入力は、集約され、及び/又は使用状況データとして保存されてもよい。構成データを更新することは、使用状況データに基づいて分布データを生成すること、及び分布データに基づいて入力機構に関連付けられた1つ又は複数の位置を更新することを伴い得る。いくつかの実施形態において、入力機構に関連付けられた1つ又は複数の位置は、生成された分布データを中心とするように更新される。いくつかの実施形態では、1つ又は複数の位置と分布データの中心との間の距離が閾値距離より大きい場合に、構成データが更新される。
【0076】
[0087] 本明細書に記載する方法は、仮想コントローラ、すなわち、たやすくカスタマイズされたコントローラのボタンレイアウトを提供するためにタッチスクリーン又はタッチスクリーン様の機能性を使用するコントローラに向けられている。いくつかの実施形態によれば、タッチスクリーンは、ゲーム機、パーソナルコンピュータ、タブレット、スマートフォン、シンクライアントデバイス(例えば、スクリーンにプラグ接続されたUSB又はHDMIデバイス)のようなゲーミングデバイスとインタフェースする物理的なハンドヘルドコントローラの少なくとも一部である。いくつかの実施形態によれば、タッチスクリーンは、ゲーム機、パーソナルコンピュータ、タブレット、スマートフォン、シンクライアントデバイス(例えば、スクリーンにプラグ接続されたUSB又はHDMIデバイス)のようなゲーミングデバイスとインタフェースするコントローラの主要な特徴である。いくつかの実施形態によれば、コントローラは、モバイルデバイス又はタブレットを、ゲーム機、パーソナルコンピュータ、シンクライアントデバイス(例えば、スクリーンにプラグ接続されたUSB若しくはHDMIデバイス)、又は他の適切なゲーミングデバイスのようなゲーミングデバイスに接続するイネーブリングソフトウェアと併せて、モバイルデバイス又はタブレットで作られている。いくつかのさらなる実施形態によれば、タッチスクリーンは、ゲーム機、パーソナルコンピュータ、タブレット、又はスマートフォンのようなゲーミングデバイスのタッチ操作対応スクリーンである。
【0077】
[0088] 本明細書及び図面は、制限的な意味ではなく例示的な意味で扱われるものである。しかしながら、特許請求の範囲に明記された本開示の広義の精神及び範囲から逸脱することなく、様々な修正及び変更がそれらになされ得ることは明らかであろう。
【0078】
[0089] 他のバリエーションは、本開示の精神の範囲内である。したがって、開示された技法は様々な修正及び代替的な構築の影響を受けやすいが、それらの特定の例示された実施形態が図面に示され、上記で詳細に記載されている。しかしながら、本発明を開示された特定の1つ又は複数の形態に限定する意図はなく、逆に、添付の特許請求の範囲に定義された本発明の精神及び範囲内に入るすべての修正、代替的な構築、及び均等物を対象とする意図があることを理解されたい。
【0079】
[0090] 開示の実施形態を記載する文脈における(特に、以下の特許請求の範囲の文脈における)、「1つの(a)」、「1つの(an)」、及び「その(the)」という用語、並びに類似の指示物の使用は、本明細書において別段の指示がない限り、又は文脈によって明らかに矛盾しない限り、単数形及び複数形の両方を対象とするものと解釈されるものである。「備える(comprising)」、「有する(having)」、「含む(including)」、及び「包含する(containing)」という用語は、特に断りのない限り、オープンエンドな用語(すなわち、「含むが、限定されない」という意味)として解釈されるものである。「接続された」という用語は、たとえ何かが介在していても、その一部又は全部が内部に包含される、取り付けられている、又は接合されていると解釈されるものである。本明細書における値の範囲の記述は、本明細書において別段の指示がない限り、単に、範囲内に入る各個別の値を個別に参照する略記法としての役割を果たすことを意図したものであり、各個別の値は、本明細書において個別に記述されているかのように本明細書に組み込まれる。本明細書に記載されるすべての方法は、本明細書において別段の指示がない限り、又は文脈によって明らかに矛盾しない限り、任意の適切な順序で行うことができる。本明細書に提供されるあらゆる例、又は例示的文言(例えば、「~などの」)の使用は、単に本発明の実施形態の理解をより容易にすることを意図したものであり、別段の請求がない限り、本発明の範囲を限定するものではない。本明細書中のいかなる文言も、非請求要素が本発明の実施に必須であることを示すものとして解釈されるべきではない。
【0080】
[0091] 本発明を実施するための、本発明者らに公知のベストモードを含む、本開示の好ましい実施形態を本明細書に記載する。これらの好ましい実施形態のバリエーションは、前述の記載を読めば、当業者には明らかとなり得る。本発明者らは、当業者がそのようなバリエーションを適宜採用することを予期し、本発明者らは、本明細書に具体的に記載した以外の方法で本発明が実施されることを意図している。よって、本発明は、適用法令によって許容される、本明細書に添付された特許請求の範囲に明記された主題のすべての修正及び均等物を含む。また、それらのすべての可能なバリエーションにおける上記の要素の任意の組み合わせは、本明細書において別段の指示がない限り、又は文脈によって明らかに矛盾しない限り、本発明に包含される。
【0081】
[0092] 以下では、本発明の態様の理解を容易にするために、さらなる例が記載される。
【0082】
[0093] 例A.ユーザから、2つ以上の入力機構に関連付けられる、ユーザデバイスのタッチスクリーンディスプレイ上の位置を示す入力を受信することであって、入力が、タッチスクリーンディスプレイ上の第1のタッチ、及び第1のタッチからオフセットされた1つ又は複数の第2のタッチを含む、ことと、
構成データにおいて、第1のタッチの第1の位置に基づいて、一次入力領域を定義することと、構成データにおいて、第1のタッチに対する1つ又は複数の第2のタッチの相対位置に少なくとも部分的に基づいて、一次入力領域のまわりに放射状に配列された1つ又は複数の二次入力領域を定義することと、
構成データにおいて、(a)一次入力領域及び1つ又は複数の二次入力領域と、(b)2つ以上の入力機構のうちのそれぞれの入力機構との間の関連付けを保存することと、
構成データが実装されることを決定することと、
構成データが実装されることが決定されると、
タッチスクリーンディスプレイ上のタッチ入力を監視することと、
1つ又は複数の領域内のタッチ入力を検出することと、
2つ以上の入力機構のうちのそれぞれの入力機構に関して起動データを生成することと、
によって構成データを実装することと、
を含む、方法。
【0083】
[0094] 例B.1つ又は複数の領域内で入力が検出されると、ユーザにフィードバックを提供することをさらに含む、先行する例に記載の方法。
【0084】
[0095] 例C.フィードバックがハプティック信号、聴覚的信号、又は視覚的信号の少なくとも1つを含む、先行する例に記載の方法。
【0085】
[0096] 例D.実行されるソフトウェアアプリケーション、ユーザのアイデンティティ、又はソフトウェアアプリケーションにおいてプレイされているキャラクターのうちの少なくとも1つに少なくとも部分的に基づいて、構成データが実装されると決定される、先行する例の何れか1つに記載の方法。
【0086】
[0097] 例E.構成データが、1つ又は複数の入力機構のうちの単一の入力機構に関連付けられた複数の別個の領域を含む、先行する例の何れか1つに記載の方法。
【0087】
[0098] 例F.1つ又は複数の二次入力領域が、一次入力領域と、又は追加の二次入力領域とオーバーラップする、先行する例の何れか1つに記載の方法。
【0088】
[0099] 例G.タッチ入力がオーバーラップ内に位置することが検出されると、入力機構のうちの少なくとも2つのそれぞれに関する起動データが生成される、先行する例の何れか1つに記載の方法。
【0089】
[00100] 例H.ユーザから受信した入力が、自然な把持でユーザデバイスを把持したユーザによるタッチスクリーンディスプレイに対するタッチを含む、先行する例の何れか1つに記載の方法。
【0090】
[00101] 例I.ユーザから受信した入力が、ユーザが1つ又は複数の入力機構をタッチスクリーンディスプレイ上のそれぞれの1つ又は複数の位置にドラッグアンドドロップしたという指標を含む、先行する例の何れか1つに記載の方法。
【0091】
[00102] 例J.
プロセッサと、
プロセッサを用いて実行されると、少なくとも、
ユーザデバイスのユーザから、2つ以上の入力機構に関連付けられるタッチスクリーンディスプレイ上の2つ以上の位置を示す入力を受信することであって、入力が、タッチスクリーンディスプレイ上の第1のタッチ、及び第1のタッチからオフセットされた1つ又は複数の第2のタッチを含む、ことと、
構成データにおいて、第1のタッチの第1の位置に基づいて、一次入力領域を定義することと、
構成データにおいて、第1のタッチに対する1つ又は複数の第2のタッチの相対位置に少なくとも部分的に基づいて、一次入力領域のまわりに放射状に配列された1つ又は複数の二次入力領域を定義することと、
構成データにおいて、(a)一次及び二次入力領域と、(b)2つ以上の入力機構のうちのそれぞれの一次入力機構及び1つ又は複数のそれぞれの二次入力機構との間の関連付けを保存することと、
構成データが実装されることを決定することと、
構成データが実装されることが決定されると、
タッチスクリーンディスプレイ上のタッチ入力を監視することと、
1つ又は複数の領域内のタッチ入力を検出することと、
1つ又は複数の入力機構のうちのそれぞれの入力機構に関して起動データを生成することと、
によって構成データを実装することと、
をユーザデバイスに行わせる命令を包含するメモリと、
を備えたユーザデバイス。
【0092】
[00103] 例K.ユーザデバイスがゲーム機と通信するように構成され、起動データがゲーム機に送信される、先行する例の何れか1つに記載のユーザデバイス。
【0093】
[00104] 例L.命令がさらに、タッチ入力を使用状況データとしてユーザデバイスに保存させ、構成データが使用状況データに基づいて更新される、先行する例の何れか1つに記載のユーザデバイス。
【0094】
[00105] 例M.構成データを更新することが、使用状況データに基づいて分布データを生成することと、分布データに基づいて入力機構に関連付けられた1つ又は複数の位置を更新することと、を含み、分布データが、ユーザデバイスのユーザからのタッチ入力を反復的にサンプリングすることによって生成される、先行する例の何れか1つに記載のユーザデバイス。
【0095】
[00106] 例N.入力機構に関連付けられた1つ又は複数の位置を更新することが、生成された分布データを中心とするように一次入力領域の第1の場所を更新することと、二次入力領域の少なくとも1つの第2の場所を更新することと、を含む、先行する例の何れか1つに記載のユーザデバイス。
【0096】
[00107] 例O.1つ又は複数の二次領域のサイズ又は形状の少なくとも1つが、分布データに基づいて更新される、先行する例の何れか1つに記載のユーザデバイス。
【0097】
[00108] 例P.1つ又は複数の位置と分布データの中心との間の距離が閾値距離より大きい場合に、構成データが更新される、先行する例の何れか1つに記載のユーザデバイス。
【0098】
[00109] 例Q.命令がさらに、タッチデータに関連付けられた移動に基づいて、タッチ入力がスワイプ動作を含むことをユーザデバイスに検出させる、先行する例の何れか1つに記載のユーザデバイス。
【0099】
[00110] 例R.実行時に、
ユーザから、2つ以上の入力機構に関連付けられるタッチスクリーンディスプレイ上の2つ以上の位置を示す入力を受信することと、
入力に基づいて、2つ以上の入力領域を定義することであって、2つ以上の入力領域が、少なくとも、第1のタッチの第1の位置に基づいた一次入力領域と、第2のタッチの第2の位置に基づいた、一次入力領域のまわりに放射状に配列された1つ又は複数の二次入力領域と、を含む、ことと、
構成データにおいて、2つ以上の領域のうちのそれぞれと、2つ以上の入力機構のうちのそれぞれの入力機構との間のそれぞれの関連付けを保存することと、
構成データが実装されることを決定することと、
構成データが実装されることが決定されると、
タッチスクリーンディスプレイ上のタッチ入力を監視することと、
1つ又は複数の領域内のタッチ入力を検出することと、
1つ又は複数の入力機構のうちのそれぞれの入力機構に関して起動データを生成することと、
によって構成データを実装することと、
を含む行為を1つ又は複数のコンピューティングデバイスに集合的に行わせるコンピュータ実行可能命令を集合的に保存する非一時的コンピュータ可読媒体。
【0100】
[00111] 例S.構成データが実装されることを決定することが、ユーザデバイス上で実行されるソフトウェアアプリケーションによって、アプリケーションプログラミングインタフェースを介して構成データを実装する要求を受信することを含む、先行する例の何れか1つに記載の非一時的コンピュータ可読媒体。
【0101】
[00112] 例T.構成データが、ユーザデバイス上で実行されるソフトウェアアプリケーション上に提示されるグラフィカルオーバーレイを介して実装される、先行する例の何れか1つに記載の非一時的コンピュータ可読媒体。
【0102】
結論
[00113] 主題は、特徴及び方法論的行為に特有の言語で記載されているが、添付の特許請求の範囲に定義される主題は、必ずしも本明細書に記載される特定の特徴又は行為に限定されないことを理解されたい。より正確に言えば、特定の特徴及び行為は、一連の特許請求の範囲の請求項を実装する例示的な形態として開示されるものである。
図1
図2A
図2B
図2C
図3
図4
図5
図6
図7
図8
図9
図10
【手続補正書】
【提出日】2023-10-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザから、2つ以上の入力機構に関連付けられる、ユーザデバイスのタッチスクリーンディスプレイ上の位置を示す入力を受信することであって、前記入力が、前記タッチスクリーンディスプレイ上の第1のタッチ、及び前記第1のタッチからオフセットされた1つ又は複数の第2のタッチを含む、ことと、
構成データにおいて、前記第1のタッチの第1の位置に基づいて、一次入力領域を定義することと、
前記構成データにおいて、前記第1のタッチに対する前記1つ又は複数の第2のタッチの相対位置に少なくとも部分的に基づいて、前記一次入力領域のまわりに放射状に配列された1つ又は複数の二次入力領域を定義することと、
前記構成データにおいて、(a)前記一次入力領域及び前記1つ又は複数の二次入力領域と、(b)前記2つ以上の入力機構のうちのそれぞれの入力機構との間の関連付けを保存することと、
前記構成データが実装されることを決定することと、
前記構成データが実装されることが決定されると、
前記タッチスクリーンディスプレイ上のタッチ入力を監視することと、
前記1つ又は複数の領域内のタッチ入力を検出することと、
前記2つ以上の入力機構のうちのそれぞれの入力機構に関して起動データを生成することと、
によって前記構成データを実装することと、
を含む、方法。
【請求項2】
前記1つ又は複数の領域内で前記入力が検出されると、前記ユーザにフィードバックを提供することをさらに含み、
前記フィードバックが、ハプティック信号、聴覚的信号、又は視覚的信号の少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
実行されるソフトウェアアプリケーション、前記ユーザのアイデンティティ、又は前記ソフトウェアアプリケーションにおいてプレイされているキャラクターのうちの少なくとも1つに少なくとも部分的に基づいて、前記構成データが実装されると決定される、請求項1に記載の方法。
【請求項4】
前記構成データが、前記1つ又は複数の入力機構のうちの単一の入力機構に関連付けられた複数の別個の領域を含む、請求項1に記載の方法。
【請求項5】
前記1つ又は複数の二次入力領域が、前記一次入力領域と、又は追加の二次入力領域とオーバーラップし、及び
前記タッチ入力が前記オーバーラップ内に位置することが検出されると、前記入力機構のうちの前記少なくとも2つのそれぞれに関する起動データが生成される、請求項1に記載の方法。
【請求項6】
前記ユーザから受信した前記入力が、自然な把持で前記ユーザデバイスを把持した前記ユーザによる前記タッチスクリーンディスプレイに対するタッチを含む、請求項1に記載の方法。
【請求項7】
前記ユーザから受信した前記入力が、前記ユーザが1つ又は複数の入力機構を前記タッチスクリーンディスプレイ上の前記それぞれの1つ又は複数の位置にドラッグアンドドロップしたという指標を含む、請求項1に記載の方法。
【請求項8】
プロセッサと、
前記プロセッサを用いて実行されると、少なくとも、
ユーザデバイスのユーザから、2つ以上の入力機構に関連付けられるタッチスクリーンディスプレイ上の2つ以上の位置を示す入力を受信することであって、前記入力が、前記タッチスクリーンディスプレイ上の第1のタッチ、及び前記第1のタッチからオフセットされた1つ又は複数の第2のタッチを含む、ことと、
構成データにおいて、前記第1のタッチの第1の位置に基づいて、一次入力領域を定義することと、
前記構成データにおいて、前記第1のタッチに対する前記1つ又は複数の第2のタッチの相対位置に少なくとも部分的に基づいて、前記一次入力領域のまわりに放射状に配列された1つ又は複数の二次入力領域を定義することと、
前記構成データにおいて、(a)前記一次入力領域及び二次入力領域と、(b)前記2つ以上の入力機構のうちのそれぞれの一次入力機構及び1つ又は複数のそれぞれの二次入力機構との間の関連付けを保存することと、
前記構成データが実装されることを決定することと、
前記構成データが実装されることが決定されると、
前記タッチスクリーンディスプレイ上のタッチ入力を監視することと、
前記1つ又は複数の領域内のタッチ入力を検出することと、
前記1つ又は複数の入力機構のうちのそれぞれの入力機構に関して起動データを生成することと、
によって前記構成データを実装することと、
を前記ユーザデバイスに行わせる命令を包含するメモリと、
を備えたユーザデバイス。
【請求項9】
前記ユーザデバイスがゲーム機と通信するように構成され、前記起動データが前記ゲーム機に送信される、請求項8に記載のユーザデバイス。
【請求項10】
前記命令がさらに、前記タッチ入力を使用状況データとして前記ユーザデバイスに保存させ、前記構成データが前記使用状況データに基づいて更新され、及び
前記構成データを更新することが、前記使用状況データに基づいて分布データを生成することと、前記分布データに基づいて前記入力機構に関連付けられた前記1つ又は複数の位置を更新することと、を含み、前記分布データが、前記ユーザデバイスの前記ユーザからのタッチ入力を反復的にサンプリングすることによって生成される、請求項8に記載のユーザデバイス。
【請求項11】
前記入力機構に関連付けられた前記1つ又は複数の位置を更新することが、前記生成された分布データを中心とするように前記一次入力領域の第1の場所を更新することと、前記二次入力領域の少なくとも1つの第2の場所を更新することと、を含む、請求項10に記載のユーザデバイス。
【請求項12】
前記1つ又は複数の二次領域のサイズ又は形状の少なくとも1つが、前記分布データに基づいて更新され、及び
前記1つ又は複数の位置と前記分布データの中心との間の距離が閾値距離より大きい場合に、前記構成データが更新される、請求項10に記載のユーザデバイス。
【請求項13】
前記命令がさらに、タッチデータに関連付けられた移動に基づいて、前記タッチ入力がスワイプ動作を含むことを前記ユーザデバイスに検出させる、請求項8に記載のユーザデバイス。
【請求項14】
実行時に、
ユーザから、2つ以上の入力機構に関連付けられるタッチスクリーンディスプレイ上の2つ以上の位置を示す入力を受信することと、
前記入力に基づいて、2つ以上の入力領域を定義することであって、前記2つ以上の入力領域が、少なくとも、第1のタッチの第1の位置に基づいた一次入力領域と、第2のタッチの第2の位置に基づいた、前記一次入力領域のまわりに放射状に配列された1つ又は複数の二次入力領域と、を含む、ことと、
構成データにおいて、前記2つ以上の領域のそれぞれ1つと、前記2つ以上の入力機構のうちのそれぞれの入力機構との間のそれぞれの関連付けを保存することと、
前記構成データが実装されることを決定することと、
前記構成データが実装されることが決定されると、
前記タッチスクリーンディスプレイ上のタッチ入力を監視することと、
前記1つ又は複数の領域内のタッチ入力を検出することと、
前記1つ又は複数の入力機構のうちのそれぞれの入力機構に関して起動データを生成することと、
によって前記構成データを実装することと、
を含む行為を1つ又は複数のコンピューティングデバイスに集合的に行わせるコンピュータ実行可能命令を集合的に保存する非一時的コンピュータ可読媒体。
【請求項15】
前記構成データが実装されることを決定することが、ユーザデバイス上で実行されるソフトウェアアプリケーションによって、アプリケーションプログラミングインタフェースを介して前記構成データを実装する要求を受信することを含み、及び
前記構成データが、前記ユーザデバイス上で実行される前記ソフトウェアアプリケーション上に提示されるグラフィカルオーバーレイを介して実装される、請求項14に記載の非一時的コンピュータ可読媒体。
【国際調査報告】