特許第6231618号(P6231618)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ フェイスブック,インク.の特許一覧

特許6231618特にタッチ・ジェスチャ・オフセットに関する、方法、記憶媒体およびシステム
<>
  • 特許6231618-特にタッチ・ジェスチャ・オフセットに関する、方法、記憶媒体およびシステム 図000002
  • 特許6231618-特にタッチ・ジェスチャ・オフセットに関する、方法、記憶媒体およびシステム 図000003
  • 特許6231618-特にタッチ・ジェスチャ・オフセットに関する、方法、記憶媒体およびシステム 図000004
  • 特許6231618-特にタッチ・ジェスチャ・オフセットに関する、方法、記憶媒体およびシステム 図000005
  • 特許6231618-特にタッチ・ジェスチャ・オフセットに関する、方法、記憶媒体およびシステム 図000006
  • 特許6231618-特にタッチ・ジェスチャ・オフセットに関する、方法、記憶媒体およびシステム 図000007
  • 特許6231618-特にタッチ・ジェスチャ・オフセットに関する、方法、記憶媒体およびシステム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6231618
(24)【登録日】2017年10月27日
(45)【発行日】2017年11月15日
(54)【発明の名称】特にタッチ・ジェスチャ・オフセットに関する、方法、記憶媒体およびシステム
(51)【国際特許分類】
   G06F 3/041 20060101AFI20171106BHJP
【FI】
   G06F3/041 595
   G06F3/041 534
   G06F3/041 520
【請求項の数】17
【全頁数】20
(21)【出願番号】特願2016-130142(P2016-130142)
(22)【出願日】2016年6月30日
(62)【分割の表示】特願2015-525451(P2015-525451)の分割
【原出願日】2013年7月22日
(65)【公開番号】特開2016-186808(P2016-186808A)
(43)【公開日】2016年10月27日
【審査請求日】2016年7月29日
(31)【優先権主張番号】13/562,031
(32)【優先日】2012年7月30日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】フェイスブック,インク.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】タビー、マジド
(72)【発明者】
【氏名】ブリッジ、ヘンリー
(72)【発明者】
【氏名】ハウザー、ジャスパー リード
【審査官】 松田 岳士
(56)【参考文献】
【文献】 特開2012−108647(JP,A)
【文献】 特開2010−213169(JP,A)
【文献】 特開2010−250695(JP,A)
【文献】 特開2010−128566(JP,A)
【文献】 米国特許出願公開第2010/0188371(US,A1)
【文献】 国際公開第2012/021417(WO,A1)
【文献】 特開2010−198290(JP,A)
【文献】 特開2010−257230(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/03−3/0489
(57)【特許請求の範囲】
【請求項1】
方法であって、
デバイスに関連付けられた1つまたは複数のプロセッサによって、前記デバイスの1つまたは複数のタッチ感知領域を用いて、ユーザがデバイスを保持するデバイスの1つまたは複数の領域を決定すること、
前記1つまたは複数のプロセッサによって、前記デバイスの初期タッチ感知領域内でのユーザによるタッチ・ジェスチャの位置と、前記タッチ・ジェスチャを実行するように使用された物体の種類とを判定すること、
前記1つまたは複数のプロセッサによって、前記デバイスの初期タッチ感知領域内でのユーザによるタッチ・ジェスチャの位置と、前記物体の種類とに基づいて、前記タッチ・ジェスチャに対して複数の所定のオフセットのうちの1つを選択すること、
前記1つまたは複数のプロセッサによって、選択した所定のオフセットを前記タッチ・ジェスチャの位置に適用して、ユーザによって意図されるタッチ入力を決定すること、を備え
前記複数の所定のオフセットは、前記デバイスの少なくとも1つの物理的特徴に特有であり、
前記少なくとも1つの物理的特徴は、ユーザがデバイスを保持するデバイスの1つまたは複数の領域のうちの少なくとも1つに関連付けられる、方法。
【請求項2】
前記タッチ・ジェスチャを実行するように使用された物体の種類を判定することは、
前記タッチ・ジェスチャが、ユーザの親指若しくは人差し指、またはスタイラスで実行されたかどうかを判定することを含む、請求項1に記載の方法。
【請求項3】
前記複数の所定のオフセットは、少なくとも1つの物理的特徴を有する複数のユーザによる前記デバイスの使用法に関するデバイス特有の経験的データから取得される、請求項に記載の方法。
【請求項4】
前記複数の所定のオフセットのそれぞれが、前記デバイスの初期タッチ感知領域内の位置に対応する、請求項1に記載の方法。
【請求項5】
前記複数の所定のオフセットのそれぞれが、水平または垂直成分を有する、請求項1に記載の方法。
【請求項6】
前記デバイスが前記ユーザによって保持されるとき、前記垂直成分が、前記ユーザによって保持された前記デバイスの領域からの前記タッチ・ジェスチャの決定した位置の距離に少なくとも部分的に基づく、請求項に記載の方法。
【請求項7】
前記複数の所定のオフセットのうちの少なくとも1つが、
前記デバイスの向き、
前記デバイスが経験した動き、
前記デバイスを保持するためにユーザによって使用された手、および
前記タッチ・ジェスチャを行うためにユーザによって使用された1本もしくは複数の指のうちの1つまたは複数に関する、請求項1に記載の方法。
【請求項8】
前記1つまたは複数のプロセッサによって、タッチ入力を決定するための前記デバイス上に予めロードされた前記所定のオフセットの使用を含む第1のタッチ・モード、前記ユーザによる前記デバイスの使用法に適用される機械学習から導き出される他の所定のオフセットの使用を含む第2のモード、前記第1のタッチ・モードと前記第2のモードの両方で使用されるオフセットの使用を含む第3のタッチ・モードの複数のタッチ・モード間で、前記デバイスを切り替えるための入力を受け取ること、
該入力に応答して、前記複数のタッチ・モードのうちの1つから前記複数のタッチ・モードのうちの別の1つへ切り替えをすること、をさらに備える請求項1に記載の方法。
【請求項9】
1つまたは複数の非一時的コンピュータ可読記憶媒体であって、
実行されたときに、
デバイスの1つまたは複数のタッチ感知領域を用いて、ユーザがデバイスを保持するデバイスの1つまたは複数の領域を決定すること、
デバイスの初期タッチ感知領域内でのユーザによるタッチ・ジェスチャの位置と、前記タッチ・ジェスチャを実行するように使用された物体の種類とを判定すること、
前記デバイスの初期タッチ感知領域内でのユーザによるタッチ・ジェスチャの位置と、前記物体の種類とに基づいて、前記タッチ・ジェスチャに対して複数の所定のオフセットのうちの1つを選択すること、
選択した所定のオフセットを前記タッチ・ジェスチャの位置に適用して、ユーザによって意図されるタッチ入力を決定すること、を実行するように動作可能であるソフトウェアを実装し、
前記複数の所定のオフセットは、前記デバイスの少なくとも1つの物理的特徴に特有であり、
前記少なくとも1つの物理的特徴は、ユーザがデバイスを保持するデバイスの1つまたは複数の領域のうちの少なくとも1つに関連付けられる、1つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項10】
前記タッチ・ジェスチャを実行するように使用された物体の種類を判定することは、
前記タッチ・ジェスチャが、ユーザの親指若しくは人差し指、またはスタイラスで実行されたかどうかを判定することを含む、請求項に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項11】
前記複数の所定のオフセットは、少なくとも1つの物理的特徴を有する複数のユーザによる前記デバイスの使用法に関するデバイス特有の経験的データから取得される、請求項に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項12】
前記複数の所定のオフセットのそれぞれが、前記デバイスの初期タッチ感知領域内の位置に対応する、請求項に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項13】
前記複数の所定のオフセットのそれぞれが、水平または垂直成分を含む、請求項に記載の1つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項14】
システムであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに結合され、前記1つまたは複数のプロセッサによって実行可能な命令を備えるメモリと
を備えるシステムであって、
前記1つまたは複数のプロセッサは、前記命令を実行したときに、
デバイスの1つまたは複数のタッチ感知領域を用いて、ユーザがデバイスを保持するデバイスの領域を決定すること、
デバイスの初期タッチ感知領域内でのユーザによるタッチ・ジェスチャの位置と、前記タッチ・ジェスチャを実行するように使用された物体の種類とを判定すること、
前記デバイスの初期タッチ感知領域内でのユーザによるタッチ・ジェスチャの位置と、前記物体の種類とに基づいて、前記タッチ・ジェスチャに対して複数の所定のオフセットのうちの1つを選択すること、
選択した所定のオフセットを前記タッチ・ジェスチャの位置に適用して、ユーザによって意図されるタッチ入力を決定すること、を実行するように動作可能であ
前記複数の所定のオフセットは、前記デバイスの少なくとも1つの物理的特徴に特有であり、
前記少なくとも1つの物理的特徴は、ユーザがデバイスを保持するデバイスの1つまたは複数の領域のうちの少なくとも1つに関連付けられる、システム。
【請求項15】
前記タッチ・ジェスチャを実行するように使用された物体の種類を判定することは、
前記タッチ・ジェスチャが、ユーザの親指若しくは人差し指、またはスタイラスで実行されたかどうかを判定することを含む、請求項14に記載のシステム。
【請求項16】
前記複数の所定のオフセットは、少なくとも1つの物理的特徴を有する複数のユーザによる前記デバイスの使用法に関するデバイス特有の経験的データから取得される、請求項14に記載のシステム。
【請求項17】
前記複数の所定のオフセットのそれぞれが、前記デバイスの初期タッチ感知領域内の位置に対応する、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般にタッチ感知デバイスに関する、方法、記憶媒体およびシステムに関する。
【背景技術】
【0002】
タッチ・センサは、たとえば、表示画面上に重ね合わされたタッチ・センサのタッチ感知領域内の(ユーザの指やスタイラスなどの)物体の接触または近接の存在および位置を検出することができる。タッチ感知ディスプレイ・アプリケーションでは、タッチ・センサは、ユーザが、マウスまたはタッチ・パッドを用いて間接的にではなく、直接的に画面上に表示されたものと対話するのを可能にし得る。タッチ・センサは、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、携帯情報端末(PDA)、スマートフォン、衛星ナビゲーション・デバイス、ポータブル・メディア・プレイヤ、ポータブル・ゲーム・コンソール、キオスク・コンピュータ、POSデバイス、または他の適切なデバイスに取り付けられてよく、あるいはそれらの一部として提供されてもよい。家庭用電化製品または他の器具の制御パネルが、タッチ・センサを含むことがある。
【0003】
いくつかの異なるタイプのタッチ・センサが存在し、たとえば、抵抗性タッチ・スクリーン、表面弾性波タッチ・スクリーン、静電容量式タッチ・スクリーンなどがある。本明細書では、タッチ・センサへの言及は、適切な場合、タッチ・スクリーンを含むことができ、逆も同様である。静電容量式タッチ・スクリーンの場合、静電容量式タッチ・スクリーンの表面に接触または近接した物体の位置でタッチ・スクリーン内にキャパシタンスの変化が発生する。タッチ・センサ・コントローラは、キャパシタンスの変化を処理して、タッチ・スクリーン上のキャパシタンスの変化の位置(たとえば、座標)を決定することができる。
【発明の概要】
【課題を解決するための手段】
【0004】
請求項1に記載の実施形態によれば、方法は、デバイスのコンピュータ可読非一時的記憶媒体に具現化されたロジックによって、デバイスのタッチ感知領域内でのユーザによるタッチ・ジェスチャの位置を決定することと、ロジックによって、デバイスに特有であり、複数のユーザによるデバイスの使用法に関するデバイス特有の経験的データから導き出され、デバイス上に予めロードされている複数の所定のオフセットのうちの1つを、タッチ感知領域内のタッチ・ジェスチャの位置に基づいてタッチ・ジェスチャに関して選択することと、ロジックによって、選択した所定のオフセットをタッチ・ジェスチャの位置に適用して、ユーザによって意図されるタッチ入力を決定することと、を備える。
【0005】
好ましい実施形態では、所定のオフセットのそれぞれが、デバイスのタッチ感知領域内の位置に対応する。
さらなる好ましい実施形態では、所定のオフセットのそれぞれが、水平または垂直成分を有する。特に、デバイスがユーザによって保持されるとき、垂直成分が、ユーザによって保持されたデバイスの領域からのタッチ・ジェスチャの決定した位置の距離に少なくとも部分的に基づく。
【0006】
さらなる実施形態では、方法は、ロジックによって、タッチ入力を決定するためのデバイス上に予めロードされた所定のオフセットの使用を含む第1のタッチ・モード、ユーザによるデバイスの使用法に適用される機械学習から導き出される他の所定のオフセットの使用を含む第2のモード、第1のモードと第2のモードの両方で使用されるオフセットの使用を含む第3のタッチ・モードの複数のタッチ・モード間で、デバイスを切り替えるための入力を受け取ることと、入力に応答して、タッチ・モードのうちの1つからタッチ・モードのうちの別の1つへ切り替えをすることと、を含む。
【0007】
すべての実施形態において、所定のオフセットのうちの少なくとも1つが、好ましくは、デバイスの向き、デバイスが経験した動き、デバイスを保持するためにユーザによって使用された手、またはタッチ・ジェスチャを行うためにユーザによって使用された1本もしくは複数の指のうちの1つまたは複数に関する。
【0008】
請求項8によれば、実行されたときに本発明による方法を実施するように動作可能なソフトウェアを具現化する、1つまたは複数のコンピュータ可読非一時的記憶媒体が提供される。
【0009】
さらなる実施形態では、デバイスのタッチ感知領域内でのユーザによるタッチ・ジェスチャの位置を決定し、デバイスに特有であり、複数のユーザによるデバイスの使用法に関するデバイス特有の経験的データから導き出され、デバイス上に予めロードされている複数の所定のオフセットのうちの1つを、タッチ感知領域内のタッチ・ジェスチャの位置に基づいてタッチ・ジェスチャに関して選択し、選択した所定のオフセットをタッチ・ジェスチャの位置に適用して、ユーザによって意図されるタッチ入力を決定するように、実行されたときに動作可能であるソフトウェアを具現化する1つまたは複数のコンピュータ可読非一時的記憶媒体が提供される。
【0010】
請求項9に記載の本発明の実施形態によるシステムは、1つまたは複数のプロセッサと、プロセッサに結合されプロセッサによって実行可能な命令を備えるメモリと、からなり、プロセッサは、命令を実行したときに、デバイスのタッチ感知領域内でのユーザによるタッチ・ジェスチャの位置を決定し、デバイスに特有であり、複数のユーザによるデバイスの使用法に関するデバイス特有の経験的データから導き出され、デバイス上に予めロードされている複数の所定のオフセットのうちの1つを、タッチ感知領域内のタッチ・ジェスチャの位置に基づいてタッチ・ジェスチャに関して選択し、選択した所定のオフセットをタッチ・ジェスチャの位置に適用して、ユーザによって意図されるタッチ入力を決定するように動作可能である。
【0011】
好ましい実施形態では、プロセッサは、命令を実行したときに、タッチ入力を決定するためのデバイス上に予めロードされた所定のオフセットの使用を含む第1のタッチ・モード、ユーザによるデバイスの使用法に適用される機械学習から導き出される他の所定のオフセットの使用を含む第2のモード、第1のモードと第2のモードの両方で使用されるオフセットの使用を含む第3のタッチ・モードの複数のタッチ・モード間で、デバイスを切り替えるための入力を受け取り、入力に応答して、タッチ・モードのうちの1つからタッチ・モードのうちの別の1つへ切り替えをするようにさらに動作可能である。
【0012】
上記方法のすべての実施形態および特徴は、媒体およびシステムの請求項で同様に請求可能であり、逆も同様である。
【図面の簡単な説明】
【0013】
図1A】例示的パーソナル・コンピューティング・デバイスを示す図。
図1B】例示的パーソナル・コンピューティング・デバイスを示す図。
図2】パーソナル・コンピューティング・デバイス上の情報およびアプリケーションのための例示的ソフトウェア・アーキテクチャを示す図。
図3】タッチ感知デバイス上のタッチ・ジェスチャに適用される例示的オフセットを示す図。
図4】タッチ感知デバイス上のタッチ・ジェスチャに適用される例示的オフセットを示す図。
図5】タッチ・ジェスチャの解決された位置にオフセットを適用するための例示的方法を示す図。
図6】特定の実施形態を実施するための例示的コンピュータ・システムを示す図。
【発明を実施するための形態】
【0014】
図1Aは、例示的パーソナル・コンピューティング・デバイス100を示す。特定の実施形態では、パーソナル・コンピューティング・デバイス100は、プロセッサ110、メモリ120、通信構成要素130(たとえば、ワイヤレス通信のためのアンテナおよび通信インターフェース)、1つまたは複数の入力および/もしくは出力(I/O)構成要素ならびに/またはインターフェース140、ならびに1つまたは複数のセンサ150からなり得る。特定の実施形態では、1つまたは複数のI/O構成要素および/またはインターフェース140が、1つまたは複数のセンサ150を組み込むことができる。特定の実施形態では、パーソナル・コンピューティング・デバイス100は、図6および関連する記述で説明されるように、コンピュータ・システムおよび/またはその要素からなり得る。
【0015】
特定の実施形態では、モバイル・デバイスなどのパーソナル・コンピューティング・デバイスが、たとえば、限定としてではなく、モバイル電子デバイスの表面にユーザが(たとえば、1本または複数の指を使用して)タッチしていることを検出するための(たとえば、デバイスのディスプレイ、デバイスの背面、および/またはデバイスの1つもしくは複数の側縁部に配置された)タッチ・センサ、パーソナル・コンピューティング・デバイス100が移動しているかどうか、および移動の速度を検出するための加速度計、パーソナル・コンピューティング・デバイス100の近くの温度の変化を測定するための温度計、パーソナル・コンピューティング・デバイス100の別の物体(たとえば、手、机、または他の物体)に対する近接を検出するための近接センサ、パーソナル・コンピューティング・デバイス100の周囲の環境光を測定するための光センサ、パーソナル・コンピューティング・デバイス100の近くの物体(たとえば、景色、人々、バーコード、QRコード(登録商標)など)のデジタル静止画像および/または動画を取り込むための撮像センサ(たとえば、カメラ)、モバイル電子デバイスの(たとえば、緯度および経度としての)位置を決定するための位置センサ(たとえば、全地球測位システム(GPS))、近接近範囲内の通信ネットワーク(たとえば、近距離無線通信(NFC)、ブルートゥース、RFID、赤外線)を検出するためのセンサ、化学センサ、パーソナル・コンピューティング・デバイス100のユーザの生体計測ベース(たとえば、指紋、掌静脈パターン、掌形、虹彩/網膜、DNA、顔、声、嗅覚、汗)の認証のための生体センサなど、種々のタイプのセンサ150を含むことができる。本開示は、モバイル電子デバイスが任意の適用可能なタイプのセンサを含み得ることを企図している。センサは、種々のタイプのセンサ・データを提供することができ、それらのデータは、所与の時間におけるモバイル電子デバイスに関するユーザの意図を決定するために分析され得る。
【0016】
特定の実施形態では、センサ・ハブ(sensors hub)160を、パーソナル・コンピューティング・デバイス100に随意に含むことができる。センサ150は、センサ・ハブ160に接続することができ、センサ・ハブ160は、センサ150を制御し、センサ150に対する電力を管理し、センサ入力を処理し、センサ・データを集約し、あるセンサ機能を実行する低電力消費プロセッサであり得る。さらに、特定の実施形態では、いくつかのタイプのセンサ150をコントローラ170に接続することができる。この場合、センサ・ハブ160がコントローラ170に接続されて、コントローラ170がセンサ150に接続され得る。代替的に、特定の実施形態では、センサ150を管理するためにセンサ・ハブ160の代わりにセンサ・モニタがあってもよい。
【0017】
特定の実施形態では、前面に加えて、パーソナル・コンピューティング・デバイス100は、生体認証を行うための1つまたは複数のセンサを有することができる。そのようなセンサは、パーソナル・コンピューティング・デバイス100の任意の表面に配置することができる。例示的実施形態では、ユーザの手がパーソナル・コンピューティング・デバイス100を掴むためにそれにタッチすると、タッチ・センサはユーザの指紋または掌静脈パターンを取り込むことができる。例示的実施形態では、ユーザがパーソナル・コンピューティング・デバイス100のスクリーンを見ているときに、カメラが顔認識を行うためにユーザの顔の画像を取り込むことができる。例示的実施形態では、ユーザがパーソナル・コンピューティング・デバイス100のスクリーンを見ているときに、赤外線スキャナがユーザの虹彩および/または網膜をスキャンすることができる。例示的実施形態では、ユーザがパーソナル・コンピューティング・デバイス100と接触または近接近したときに、化学および/または嗅覚センサがユーザについての関連データを取り込むことができる。特定の実施形態では、パーソナル・コンピューティング・デバイス100を利用するユーザの識別(identity)に関する状態の変化があることを検出すると、パーソナル・コンピューティング・デバイス100は、それ自体によって、または他のタイプのセンサ表示との組合せで、それ自体が共有されていることを決定することができる。
【0018】
特定の実施形態では、前面に加えて、パーソナル・コンピューティング・デバイス100は、左側面および右側面にタッチ・センサを有することができる。パーソナル・コンピューティング・デバイス100は、任意で、背面、上面、底面側にタッチ・センサを有してもよい。これにより、ユーザの手がパーソナル・コンピューティング・デバイス100を掴むためにそれに触れたとき、タッチ・センサは、ユーザの指または掌がパーソナル・コンピューティング・デバイス100に触れていることを検出することができる。特定の実施形態では、パーソナル・コンピューティング・デバイス100にユーザが触れることに関する状態の変化があることを検出すると、パーソナル・コンピューティング・デバイス100は、それ自体によって、または他のタイプのセンサ表示との組合せによって、それ自体が共有されていることを決定することができる。
【0019】
特定の実施形態では、パーソナル・コンピューティング・デバイス100は、左側面および右側面のタッチ・センサに加えてまたはそれらの代わりに、加速度計を有することができる。加速度計により提供されるセンサ・データは、静止位置、たとえば、テーブルもしくは机、陳列棚の上から、または誰かの手もしくは誰かのバッグの中から、パーソナル・コンピューティング・デバイス100を新しいユーザが取り上げたかどうかを推定するために使用することもできる。ユーザがパーソナル・コンピューティング・デバイス100を取り上げてユーザの顔の前に持ってくると、パーソナル・コンピューティング・デバイス100の移動速度に比較的急激な増大があり得る。このデバイスの移動速度の変化は、加速度計によって供給されるセンサ・データに基づいて検出することができる。特定の実施形態では、このデバイスの移動速度に大幅な増大があることを検出すると、パーソナル・コンピューティング・デバイス100は、それ自体によって、または他のタイプのセンサ表示との組合せによって、それ自体が共有されていることを決定することができる。
【0020】
特定の実施形態では、パーソナル・コンピューティング・デバイス100は、左側面および右側面のタッチ・センサに加えてまたはそれらの代わりに、ジャイロメータを有することができる。ジャイロメータは、ジャイロスコープとしても知られ、1つまたは複数の軸に沿って向きを測定するためのデバイスである。特定の実施形態では、ジャイロメータは、パーソナル・コンピューティング・デバイス100の向きを測定するために使用することができる。パーソナル・コンピューティング・デバイス100は、棚またはユーザのバッグに収納されているとき、ほとんど1つの向きに留まる可能性がある。しかしながら、ユーザがパーソナル・コンピューティング・デバイス100を掴んで持ち上げる、かつ/または移動してユーザの顔の前に持ってくるように近づけるとき、パーソナル・コンピューティング・デバイス100の向きに比較的急激な変化があり得る。パーソナル・コンピューティング・デバイス100の向きは、ジャイロメータによって検出および測定することができる。パーソナル・コンピューティング・デバイス100の向きが大きく変化した場合、特定の実施形態では、パーソナル・コンピューティング・デバイス100の向きの大きな変化があることを検出すると、パーソナル・コンピューティング・デバイス100は、それ自体によって、または他のタイプのセンサ表示との組合せによって、それ自体が共有されていることを決定することができる。
【0021】
特定の実施形態では、パーソナル・コンピューティング・デバイス100は、光センサを有することができる。パーソナル・コンピューティング・デバイス100は、ユーザのポケットまたはケースに収納されているとき、パーソナル・コンピューティング・デバイス100の周囲は比較的暗い。他方、ユーザがパーソナル・コンピューティング・デバイス100を自身のポケットから取り出すと、特に日中または十分に明るい領域では、パーソナル・コンピューティング・デバイス100の周囲は比較的明るいことがある。光センサによって供給されるセンサ・データは、パーソナル・コンピューティング・デバイス100の周囲の環境光レベルの大きな変化が発生したときを検出するために分析され得る。特定の実施形態では、パーソナル・コンピューティング・デバイス100の周囲の環境光レベルの大幅な増大があることを検出すると、パーソナル・コンピューティング・デバイス100は、それ自体によって、または他のタイプのセンサ表示との組合せによって、それ自体が共有されていることを決定することができる。
【0022】
特定の実施形態では、パーソナル・コンピューティング・デバイス100は、近接センサを有することができる。近接センサによって供給されるセンサ・データは、パーソナル・コンピューティング・デバイス100がユーザの手などの特定の物体に対して近接近したときを検出するために分析され得る。たとえば、モバイル・デバイス100は、その背面側に配置された赤外線LED(発光ダイオード)190(すなわち近接センサ)を有することができる。ユーザがそのようなモバイル・デバイスをその手に保持したとき、ユーザの手の掌が赤外線LED190を覆うことが可能である。結果として、赤外線LED190が、ユーザの手がモバイル・デバイス100に近接近したときを検出することができる。特定の実施形態では、パーソナル・コンピューティング・デバイス100がユーザの手に近接近したことを検出すると、パーソナル・コンピューティング・デバイス100は、それ自体によって、または他のタイプのセンサ表示との組合せによって、それ自体が共有されていることを決定することができる。
【0023】
パーソナル・コンピューティング・デバイス100は、任意の数の種々のタイプのセンサを有することが可能であり、これらのセンサは、異なるタイプのセンサ・データを供給することができる。センサ・データの個々のタイプの異なる組合せが、パーソナル・コンピューティング・デバイス100に対するユーザの現在の意図(たとえば、ユーザが実際に自身のポケットからパーソナル・コンピューティング・デバイス100を取り出して使用しようとしているかどうか)を検出し推定するように一緒に使用されてもよい。場合によっては、複数のタイプのセンサ・データを組み合わせて使用することで、単一のタイプのセンサ・データのみを使用するよりも、所与の時間におけるパーソナル・コンピューティング・デバイス100に対するユーザの意図のより正確な従ってより良い推定を得ることができる。とはいえ、単一のタイプのセンサ・データ(たとえば、タッチ・センサ・データ)を使用してユーザの意図を推定することは可能である。
【0024】
図1Bは、パーソナル・コンピューティング・デバイス100の外観を示す。パーソナル・コンピューティング・デバイス100は、概して6つの面、すなわち、前面、背面、上面、底面、左側面、および右側面を有する。タッチ・センサは、パーソナル・コンピューティング・デバイス100の6つの面のいずれの面のどの場所に配置されてもよい。たとえば、図1Bでは、タッチ・センサ180Aを組み込んだタッチ・スクリーンが、パーソナル・コンピューティング・デバイス100の前面に配置される。タッチ・スクリーンは、パーソナル・コンピューティング・デバイス100のための入力/出力(I/O)構成要素として機能することができる。加えて、タッチ・センサ180Bおよび180Cがそれぞれ、パーソナル・コンピューティング・デバイス100の左側面および右側面に配置される。タッチ・センサ180Bおよび180Cは、ユーザの手がパーソナル・コンピューティング・デバイス100の側面に触れていることを検出することができる。特定の実施形態では、タッチ・センサ180A、180B、180Cは、抵抗性、静電容量式、および/または誘導性のタッチ・センサを使用して実装することができる。タッチ・センサ180A、180B、180Cの電極は、薄い固形の材料片または薄いワイヤ・メッシュに配置され得る。静電容量式タッチ・センサの場合、2つのタイプの電極、すなわち送信および受信があり得る。これらの電極は、コントローラ(たとえば、図1Aに示すコントローラ170)に接続することができ、このコントローラは、電気パルスで送信電極を駆動し、ユーザのタッチによって引き起こされた受信電極からのキャパシタンスの変化を測定して、ユーザのタッチの位置を検出するように設計されたマイクロチップとすることができる。
【0025】
もちろん、パーソナル・コンピューティング・デバイス100は1例にすぎない。実際、デバイスは任意の数の側面を有することができ、本開示は任意の数の側面を有するデバイスを企図している。タッチ・センサは、デバイスのいずれの側面に配置されてもよい。
【0026】
特定の実施形態では、パーソナル・コンピューティング・デバイス100は、その背面側に配置された近接センサ190(たとえば赤外線LED)を有することができる。近接センサ190は、その近接、すなわちパーソナル・コンピューティング・デバイス100の別の物体に対する近接を決定するためのセンサ・データを供給する能力を有することができる。
【0027】
図2は、パーソナル・コンピューティング・デバイス100上の情報およびアプリケーションのための例示的ソフトウェア・アーキテクチャ200を示す。特定の実施形態では、ソフトウェア・アーキテクチャ200は、ソフトウェア210および(1つまたは複数の)データ・ストア220を含み得る。特定の実施形態では、アプリケーション・データ・キャッシュ220および/またはプロファイル・データ・ストア220および/または別のデータ・ストア220にパーソナル情報を記憶することができる。特定の実施形態では、1つまたは複数のソフトウェア・アプリケーションがパーソナル・コンピューティング・デバイス100上で実行され得る。特定の実施形態では、それらは、サーバ上でホストされるウェブ・ベースのアプリケーションとすることができる。たとえば、ウェブ・ベースのアプリケーションは、URI(ユニフォーム・リソース・アイデンティファイア)またはURL(ユニフォーム・リソース・ロケータ)に関連付けることができる。パーソナル・コンピューティング・デバイス100から、ユーザは、(たとえば、ウェブ・ブラウザを使用して)ウェブ・ベースのアプリケーションにその関連するURIまたはURLを介してアクセスすることができる。あるいは、他の実施形態では、それらはパーソナル・コンピューティング・デバイス100にインストールされて存在するネイティブ・アプリケーションとすることができる。したがって、ソフトウェア210は、任意の数のアプリケーション・ユーザ・インターフェース230およびアプリケーション機能240を含んでもよい。たとえば、あるアプリケーション(たとえば、Google Maps(登録商標))は、デバイス・ユーザが、地図の表示、アドレスおよびビジネスの検索、および道順の取得をすることを可能にすることができ、第2のアプリケーションは、デバイス
・ユーザが、電子メールの読取り、送信、および受信をすることを可能にすることができ、第3のアプリケーション(たとえば、ウェブ・ブラウザ)は、デバイス・ユーザが、インターネットの閲覧および検索をすることを可能にすることができ、第4のアプリケーションは、デバイス・ユーザが、パーソナル・コンピューティング・デバイス100を使用して写真を撮るまたはビデオを録画することを可能にすることができ、第5のアプリケーションは、デバイス・ユーザが、VoIPおよび/またはセルラ・ネットワーク・コールの受信および開始をすることを可能にすることができるなどである。各アプリケーションは1つまたは複数の特有の機能性を有し、これらの機能性を実装するソフトウェア(たとえば、1つまたは複数のソフトウェア・モジュール)は、アプリケーション機能240に含まれ得る。各アプリケーションはまた、ユーザがアプリケーションと対話することを可能にするユーザ・インターフェースを有することができ、アプリケーション・ユーザ・インターフェースを実装するソフトウェアは、アプリケーション・ユーザ・インターフェース230に含まれ得る。特定の実施形態では、アプリケーションの機能性は、JavaScript(登録商標)、Java(登録商標)、C、または他の適切なプログラミング言語を使用して実装することができる。特定の実施形態では、アプリケーションのユーザ・インターフェースは、ハイパーテキスト・マークアップ言語(HTML)、JavaScript(登録商標)、Java(登録商標)、または他の適切なプログラミング言語を使用して実装することができる。
【0028】
アプリケーションの実行中、デバイス・ユーザは、そのユーザ・インターフェースを介してアプリケーションと対話することができる。たとえば、ユーザは、種々の表示(たとえば、ウェブ・ページ)においてアプリケーションに入力を与えることができる。同様に、アプリケーションの出力は、種々の表示(たとえば、ウェブ・ページ)でユーザに提示することができる。特定の実施形態では、ユーザが特定の表示(たとえば、特定のウェブ・ページ)を介してアプリケーションに入力を与えると、たとえば、1つまたは複数のアプリケーション・ユーザ・インターフェース230によって、イベント(たとえば、入力イベント)が生成され得る。各入力イベントはアプリケーション機能240に転送されてよく、あるいはアプリケーション機能240がそのように生成された入力イベントをリッスン(listen)してもよい。アプリケーション機能240が入力イベントを受け取ると、アプリケーション機能240における該当するソフトウェア・モジュールがイベントを処理するために呼び出され得る。加えて、オペレーティング・システム250および/または(たとえば図1A〜1Bに説明されるような)ハードウェアによって提供される特定の機能性も呼び出され得る。たとえば、パーソナル・コンピューティング・デバイス100を用いてユーザがボタンを押して写真を撮ることの結果としてイベントが生成された場合、生の画像データを画像ファイル(たとえば、JPGまたはGIF)に変換し、画像ファイルをパーソナル・コンピューティング・デバイス100のストレージ220に記憶するために、対応する画像処理モジュールを呼び出すことができる。別の例として、ユーザがインスタント・メッセージを作成するためにアイコンを選択することの結果としてイベントが生成された場合、対応するショート・メッセージ・サービス(SMS)モジュールを、ユーザがメッセージを作成および送信することを可能にするために呼び出すことができる。
【0029】
特定の実施形態では、アプリケーションの出力がユーザに提示される準備ができているとき、イベント(たとえば、出力イベント)が、たとえば、アプリケーション機能240またはオペレーティング・システム250におけるソフトウェア・モジュールによって生成され得る。各出力イベントはアプリケーション・ユーザ・インターフェース230に転送されてよく、あるいはアプリケーション・ユーザ・インターフェース230がそのように生成された出力イベントをリッスンしてもよい。アプリケーションのユーザ・インターフェースは、適切なプログラミング言語(たとえば、HTML、JavaScript(登録商標)、またはJava(登録商標))を使用して実装することができる。
【0030】
特定の実施形態では、タッチ感知デバイスが、そのデバイスのタッチ感知領域との接触を検出することができる。この接触は、1つまたは複数のタッチ・ジェスチャを含むことができ、それにより、ユーザが、デバイス、またはデバイス上でホストされもしくはデバイスによって実行されるコンテンツ、アプリケーションなどと対話する。タッチ・ジェスチャには、任意の適切な接触または一連の接触が含まれ、たとえば、限定としてではなく、タッチ感知領域を1本または複数の指でタップすること、タッチ感知領域を1本または複数の指で押圧すること、タッチ感知領域を横切って1本または複数の指をスワイプさせること、タッチ感知領域上で2本以上の指を離すまたはくっつけること、あるいはこれらの任意の適切な組合せが含まれる。
【0031】
タッチ感知デバイスにおけるソフトウェア、ハードウェア、または両方は、デバイスのタッチ感知領域上でタッチ・ジェスチャがどこで発生したかを検出することができる。限定ではなく例として、静電容量式タッチ・スクリーンは、電荷、キャパシタンス、電圧、電流、またはタッチ・ジェスチャが行われた1つもしくは複数の位置における任意の適切な電磁信号の変化を検出することができる。これらの電子信号は、ハードウェアまたはソフトウェアの任意の適切な組合せを使用して、任意の適切な電磁信号へ変換、処理、または修正され、図1Aの1つまたは複数のプロセッサ110、センサ150、メモリ120などの任意の適切なハードウェア、これらの任意の要素によって実行されるソフトウェア、あるいはこれらの任意の適切な組合せによって、検出、記憶、または修正され得る。本明細書では、タッチ・ジェスチャに関係するまたはタッチ・ジェスチャによって作成された1つまたは複数の信号を検出することは、検出された信号を、タッチ・ジェスチャが発生したタッチ感知領域上の位置として解決することも含み得る。位置は、極座標またはデカルト座標などの任意の適切な尺度に分解する、または表現することが可能であり、任意の適切な固定または相対基準点に対して測定することが可能である。本開示は、検出された信号の形態、検出された信号に対して行われる処理、タッチ感知領域に対するタッチ・ジェスチャの位置を表す形式、およびこれらの機能を実行するハードウェアまたはソフトウェアの具体例を示しているが、本出願は、タッチ感知領域においてタッチ・ジェスチャを検出し、検出された信号を処理または記憶し、どこでタッチ感知ジェスチャが発生したかを定義するタッチ感知領域上の位置を解決する任意の適切な方法あるいはそれが可能なハードウェアまたはソフトウェアを企図している。
【0032】
特定の実施形態では、1つまたは複数のオフセットが、タッチ感知領域に対して行われたタッチ・ジェスチャの解決された位置に適用され得る。オフセットは、任意の適切な次元((1つまたは複数の)次元に対応する(1つまたは複数の)任意の適切な方向を含む)で、解決された位置に適用可能であり、または任意の適切な量で、解決された位置をオフセットすることができる。オフセットの量および次元は、一定、または任意の適切な変数の関数とすることができる。限定ではなく例として、適用されるオフセットの量、次元、または両方は、ユーザがデバイスを保持するために使用している手、タッチ・ジェスチャを行うために使用される手、(1つもしくは複数の)指、または(1つもしくは複数の)物体、デバイスの向き、ユーザまたは任意の他の適切な箇所に対するデバイスの角度、ユーザまたは別の適切な所定の領域に対するタッチ・ジェスチャの近接、タッチ・ジェスチャの発生の前、最中、または後にデバイスが経験した動き、デバイスを使用する特定のユーザ、デバイスの物理的特性(たとえば、使用されるタッチ感知技術のタイプ、デバイスまたはタッチ感知領域の物理的寸法、タッチ・ジェスチャを検出、処理、および/または解決するために使用されるハードウェアまたはソフトウェアなど)、あるいはこれらの任意の適切な組合せの関数としてもよい。1例として、タッチ・ジェスチャに対するオフセットは、ユーザによって保持されるデバイスの領域などのデバイスの特定の位置または領域からのタッチ・ジェスチャが発生する距離に応じて変わることがある。追加的にまたは代わりに、オフセットは、デバイスの向きに部分的に応じて変わることがある。これらの例は、図3〜4に示されている。図3の例では、デバイス300は、タッチ感知領域310上の特定の位置、たとえば位置Lで、タッチ・ジェスチャが行われたと決定する。ユーザが縁部320の近くでデバイス300を保持している場合、またはデバイスが矢印330が垂直に見えるように配向される場合、デバイスは、デバイスの縁部320からタッチ・ジェスチャの位置の距離の関数として変化するオフセットを適用することができる。たとえば、位置Lで行われたタッチ・ジェスチャは、垂直オフセットOがタッチ・ジェスチャに適用され、位置Lで行われたタッチ・ジェスチャは、オフセットOがタッチ・ジェスチャに適用されることが可能である。図3に示すように、オフセットO、O、およびOの量は、タッチ・ジェスチャがデバイスの縁部320から遠くなるに従って増大することが可能である。水平オフセットOは、Lなどのタッチ・ジェスチャの位置に適用することができる。オフセットO、O、O、およびOは、タッチ感知領域310において触れられたいずれの位置についても均一であってよく、触れられた水平方向の位置の関数として変化してもよく、触れられた垂直方向の位置の関数として変化してもよく、あるいは、これらの任意の適切な組合せとしてもよい。
【0033】
図4は、タッチ感知領域410を有する例示的デバイス400を示す。例示的デバイス400は、タッチ・ジェスチャがタッチ感知領域410上の特定の位置、たとえば、位置L5で行われたことを決定する。ユーザが縁部420の近くでデバイス400を保持している場合、またはデバイスが矢印430が垂直に見えるように配向される場合、デバイスは、デバイスの縁部420からタッチ・ジェスチャの位置の距離の関数として変化するオフセットを適用することができる。たとえば、位置Lで行われたタッチ・ジェスチャは、垂直オフセットOがタッチ・ジェスチャに適用され、位置Lで行われたタッチ・ジェスチャは、オフセットOがタッチ・ジェスチャに適用されることが可能である。図4に示すように、オフセットO、O、およびOの量は、タッチ・ジェスチャがデバイスの縁部420から遠くなるに従って増大することが可能である。水平オフセットOは、Lなどのタッチ・ジェスチャの位置に適用することができる。オフセットO、O、O、およびOは、タッチ感知領域410において触れられたいずれの位置に対しても均一であってよく、触れられた水平方向の位置の関数として変化してもよく、触れられた垂直方向の位置の関数として変化してもよく、あるいは、これらの任意の適切な組合せとしてもよい。特定の実施形態では、オフセットO、O、O、およびOは、量または次元が異なっていてもよく、あるいは、図3に示したオフセットO、O、O、およびOと異なる変数に依存してもよい特定の実施形態では、オフセットO、O、O、およびOは、図3に示したオフセットO、O、O、およびOと同じ変数に依存することができる。特定の実施形態では、オフセットOおよびOは同一とすることができる。特定の実施形態では、オフセットO、O、O、およびOならびに図3に示したオフセットO、O、O、およびOは、タッチ・ジェスチャを行うために使用される(1つまたは複数の)指に基づいて変化することができる。たとえば、オフセットは、タッチ・ジェスチャが人差し指でなく親指により行われると、量または次元が変わることがある。本開示は、適用されるオフセットのタイプ、およびオフセットの量または次元が依存し得る変数の具体的例を示しているが、本開示は、任意の適切な変数に依存する任意の適切なタイプのオフセットを企図している。
【0034】
特定の実施形態では、1つまたは複数のオフセットが、デバイス上で、たとえばデバイスの永久メモリ要素またはマイクロコントローラ・ロジック(microcontroller logic)
などで、ハードコード(hard-coded)され得る。特定の実施形態では、ハードコードされたオフセット(hard-coded offsets)は、オフセットが対応するタッチ・ジェスチャのすべてのインスタンスに適用することができる。特定の実施形態では、ハードコードされたオフセットは、ユーザによって変更不可であってもよく、デバイスに対するファームウェア更新によってのみ変更可能であってもよく、あるいはユーザによって自由に変更可能であってもよい。特定の実施形態では、デバイスまたはデバイス上のソフトウェアが、1つまたは複数のオフセットをタッチ・ジェスチャにその時点でまたはタッチ・ジェスチャが行われたすぐ後に適用するかどうかを決定することができる。たとえば、オフセットをタッチ・ジェスチャに適用するかどうかは、タッチ・ジェスチャが行われる前、最中、またはすぐ後の(上述のようなオフセットが依存し得る任意の変数などの)状況に応じて決めることができる。そのようなオフセットは、ユーザによって変更不可であってもよく、デバイスに対するファームウェア更新によってのみ変更可能であってもよく、あるいはユーザによって自由に変更可能であってもよい。本開示は、いつデバイスまたはデバイス上のソフトウェアがオフセットを対応するタッチ・ジェスチャに適用するかを決定する具体例を示しているが、本開示は、いつオフセットが適用されるべきかをデバイスまたはデバイス上のソフトウェアが決定する任意の適切な方法を企図している。
【0035】
特定の実施形態では、オフセットは、デバイスのメモリ要素、またはデバイスに関連付けられた他の適切な電子記憶媒体に記憶することができる。特定の実施形態では、オフセットは、デバイスによってアクセス可能な1つまたは複数のサーバに記憶することができる。特定の実施形態では、オフセットは、ユーザが最初にデバイスを使用する前にデバイスに予めロードすることができる。たとえば、デバイスに予めロードされるオフセットは、物理的寸法、重量、厚さ、製造者などのデバイスの物理的特性、デバイスまたはデバイス内の特定の構成要素の品質、あるいは、デバイス内のプロセッサ、センサ、マイクロコントローラ、または構成要素のタイプに関する場合がある。特定の実施形態では、オフセットは、デバイス全体としての物理的特性に関する場合がある。オフセットは、デバイスの1つまたは複数のユーザの指定位置でのタッチ・ジェスチャを行う能力を試験し、タッチ・ジェスチャに適用するために適切なオフセットに関するデータを収集することにより、決定され得る。そのデータは、任意の適切な方法、たとえば、テスト・ユーザのグループ全体またはユーザの(たとえばハンドサイズごとの)サブグループに対して適用されるオフセットを平均するなどによって、編成され処理され得る。限定ではなく例として、試験は、タッチ感知領域上の指定位置をタップすることを含むことがある。タップされた位置と指定位置との差が、タッピング・タッチ・ジェスチャに対するオフセットとして記憶され得る。デバイスは、試験期間中に明確に試験されていない位置に対してタッピング・ジェスチャが行われたときに適用するための適切なオフセットを推定する、任意の適切な機能または統計的方法を使用してもよい。試験期間から決定されたオフセットのタイプ、オフセットの量、およびオフセットを適用するときを定義する条件は、デバイスの商用ユーザが最初に使用する前にデバイスにロードすることができる。本開示は、オフセットが決定されデバイスに予めロードされ得る異なる方法の具体例を説明しているが、本開示は、オフセットを決定しデバイスに予めロードする任意の適切な方法を企図している。
【0036】
特定の実施形態では、1つまたは複数のオフセットが、デバイスまたはデバイスのユーザによってダウンロードされ得る。上述の例を続けると、さらなる試験により、既存のオフセットに対する追加のオフセットまたは調整(refinement)が適切であることが明らかにされた場合、デバイスは、更新されたオフセットを自動的にダウンロードする、またはユーザに更新をダウンロードするのを促すことができる。特定の実施形態では、ユーザは、1つまたは複数のタッチ・ジェスチャに対応する1つまたは複数のオフセットをアップロードまたはダウンロードすることができる。たとえば、ユーザは、特定のゲームにおけるタッチ・ジェスチャなどの特定のデバイスまたは特定のアプリケーションに関して別のユーザが作成したオフセットをダウンロードすることができる。特定の実施形態では、ユーザは、特定のデバイス、アプリケーション、タッチ・ジェスチャにより使用するため、またはデバイスが特定の種類もしくは程度の動きを経験しているときなどの任意の適切な状況で使用するため、1つまたは複数のオフセットを作成または編集することができる。ユーザは、オフセットが適用されるべきとき、およびオフセットの程度が依存する任意の変数を含むオフセットが適用されるべき量および次元を指定することによって、そのような作成または編集をすることができる。特定の実施形態では、ユーザがデバイスを使用するときに機械学習の能力を有するデバイスによって、オフセットを作成するか、または既存のオフセットを編集することができる。たとえば、ユーザは、タッチ・ジェスチャによって意図する機能性をトリガする前に、(たとえば、タッチ感知領域に表示されたオブジェクトを選択しようと試みることにより)複数回のタッチ・ジェスチャを行う場合がある。デバイスは、複数の試みを記録し、失敗したタッチ・ジェスチャに適用されるときに意図された機能性をもたらすことになるオフセットを作成することができる。デバイスは、行われたタッチ・ジェスチャのタイプ、タッチ・ジェスチャを補正するために必要なオフセット、タッチ・ジェスチャに伴う(デバイスの動きなどの)状況、および、記録された情報に基づいてオフセットを作成または編集するための任意の他の適切なデータを記録し分析することができる。特定の実施形態では、ユーザまたはデバイスによって開始される試験段階中にオフセットが作成または編集され得る。たとえば、限定としではなく、ユーザは、タッチ・ジェスチャのすべてまたは特定の部分に対する試験を定期的に開始することを選択してもよく、試験の結果は、オフセットの作成または編集のために使用することができる。限定ではなく例として、試験は、タッチ感知領域上の指定位置をタップすることを含むことがある。タップされた位置と指定位置との差が、タッピング・タッチ・ジェスチャに対するオフセットとして記憶され得る。デバイスは、試験期間中に明確に試験されていない位置に対してタッピング・ジェスチャが行われたときに適用するための適切なオフセットを推定する、任意の適切な機能または統計的方法を使用してもよい。上述の開示では、ユーザまたはデバイスが、タッチ・ジェスチャに対するオフセットについてアクセス、記憶、作成、または編集する具体例を説明しているが、本開示は、タッチ・ジェスチャに対するオフセットについてアクセス、記憶、作成、または編集する任意の適切な方法あるいはそれが可能なハードウェアまたはソフトウェアを企図している。
【0037】
特定の実施形態では、特定のタッチ・ジェスチャについて、2つ以上のオフセットが、デバイスに使用可能である、またはデバイスによって適用されることがある。1例として、デバイスは、ユーザがデバイスを最初に使用する前に1つまたは複数のオフセットをデバイスに予めロードすることができる。また、ユーザは、そのユーザがデバイスを使用するときに適用されるべきオフセットを含む1つまたは複数のプロファイルを作成してもよい。特定の実施形態では、上述の両方のタイプのオフセットをタッチ・ジェスチャに適用することができる。特定の実施形態では、一方のタイプのオフセットのみをタッチ・ジェスチャに適用することができる。上述の例は、2つのタイプのオフセットを同時に使用すること、または2つのタイプのオフセットの間で選択することを説明しているが、本開示は、任意の適切な数のオフセットを同時に使用すること、または適用または無視するオフセットの任意の適切な組合せを選択することを企図している。特定の実施形態では、ユーザは、特定の期間または使用セッションに、特定のアプリケーションまたはアプリケーションのセットを使用する間に、あるいは特定のタッチ・ジェスチャに対して、ユーザが無期限に適用したいオフセットまたはオフセットのタイプを選択することができる。1例として、ユーザは、デバイスが動きまたは特定のタイプの動きを経験している間のみ、ゲームなど特定のアプリケーションの期間中のみ、あるいは複数の指によるスワイプなど特定のタッチ・ジェスチャに対してのみに適用されるユーザ作成オフセットを選択することができる。特定の実施形態では、デバイスは、タッチ・ジェスチャに適用されるオフセットのタイプにアクセスし、タッチ・ジェスチャに適用することが適切となるオフセットのみを選択することができる。たとえば、特定のユーザが、そのユーザに特有のオフセットのセットを有効にすることができる。ユーザが、第2のユーザにデバイスを使用することを許可し、第2のユーザが、元のユーザに属さないとデバイスが検出するアプリケーションにサインインし、または元のユーザに属さないとデバイスが検出するデータにアクセスする場合、デバイスは、元のユーザのオフセットを自動的に無効にするか、または現在のユーザが元のユーザのオフセットを無効にしたいかどうかを現在のユーザに問い合わせることができる。また、デバイスは、第2のユーザがデバイスを使用していることを検出したとき、第2のユーザに関係するオフセットのセットを有効にすることもできる。本開示は、デバイスまたはユーザが種々のオフセットのセットをいつどのように有効または無効にすることができるかの具体例を説明しているが、本開示は、オフセットを有効または無効にする任意の適切な方法あるいはそれが可能なハードウェアまたはソフトウェアを企図している。
【0038】
図5は、タッチ・ジェスチャの解決された位置にオフセットを適用するための例示的方法を示す。この方法は、デバイスのタッチ感知領域に対して行われたタッチ・ジェスチャが検出される、工程500から開始する。工程502で、検出されたタッチ・ジェスチャの1つまたは複数の位置が決定される。工程504で、1つまたは複数のオフセットが、タッチ・ジェスチャの(1つまたは複数の)解決された位置に適用すべく選択される。工程506で、選択されたオフセットがタッチ・ジェスチャの解決された(1つまたは複数の)位置に適用され、この時点で本方法が終了し得る。特定の実施形態では、必要に応じて図5の方法の工程を繰り返すことができる。さらに、本開示は、図5の方法の特定の工程が特定の順序で行われるものとして説明し図示しているが、本開示は、図5の方法の任意の適切な工程が任意の適切な順序で行われることを企図する。さらに、本開示は、特定の構成要素、デバイス、またはシステムが図5の方法の特定の工程を実施することを説明し図示しているが、本開示は、図5の方法の任意の適切な工程を実施する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組合せを企図する。
【0039】
図6は、例示的コンピュータ・システム600を示す。特定の実施形態では、1つまたは複数のコンピュータ・システム600が、本明細書に説明または図示される1つまたは複数の方法の1つまたは複数の工程を実行する。特定の実施形態では、1つまたは複数のコンピュータ・システム600が、本明細書に説明または図示される機能性を提供する。特定の実施形態では、1つまたは複数のコンピュータ・システム600上で実行されているソフトウェアが、本明細書に説明または図示される1つまたは複数の方法の1つまたは複数の工程を実行し、あるいは本明細書に説明または図示される機能性を提供する。特定の実施形態は、1つまたは複数のコンピュータ・システム600の1つまたは複数の部分を含む。
【0040】
本開示は、任意の適切な数のコンピュータ・システム600を企図している。本開示は、任意の適切な物理的形態をとるコンピュータ・システム600を企図している。限定ではなく例として、コンピュータ・システム600は、組込みコンピュータ・システム、システム・オン・チップ(SOC)、シングルボード・コンピュータ・システム(SBC)(たとえば、コンピュータ・オン・モジュール(COM)またはシステム・オン・モジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップまたはノートブック・コンピュータ・システム、インタラクティブ・キオスク、メインフレーム、コンピュータ・システムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、あるいはこれらの2つ以上の組合せであってよい。コンピュータ・システム600は、適宜、1つまたは複数のコンピュータ・システム600を含み、一体型または分散型であり、複数の位置にまたがり、複数のマシンにまたがり、複数のデータセンタにまたがり、あるいは、1つまたは複数のネットワーク内に1つまたは複数のクラウド構成要素を含み得るクラウド内に存在することができる。1つまたは複数のコンピュータ・システム600は、適宜、実質的な空間的または時間的制限なしに、本明細書に説明または図示される1つまたは複数の方法の1つまたは複数の工程を実行することができる。限定ではなく例として、1つまたは複数のコンピュータ・システム600は、リアルタイムまたはバッチ・モードで、本明細書に説明または図示される1つまたは複数の方法の1つまたは複数の工程を実行することができる。1つまたは複数のコンピュータ・システム600は、適宜、異なる時点または異なる位置において、本明細書に説明または図示される1つまたは複数の方法の1つまたは複数の工程を実行することができる。
【0041】
特定の実施形態では、コンピュータ・システム600は、プロセッサ602、メモリ604、ストレージ606、入力/出力(I/O)インターフェース608、通信インターフェース610、およびバス612を含む。本開示は、特定の配置で特定の数の特定の構成要素を有する特定のコンピュータ・システムを説明し図示しているが、本開示は、任意の適切な配置で任意の適切な数の任意の適切な構成要素を有する任意の適切なコンピュータ・システムを企図している。
【0042】
特定の実施形態では、プロセッサ602は、コンピュータ・プログラムを構成する命令などの命令を実行するためのハードウェアを含む。限定ではなく例として、命令を実行するために、プロセッサ602は、内部レジスタ、内部キャッシュ、メモリ604、またはストレージ606から命令を取り出し(またはフェッチし)、それらの命令を復号して実行し、次いで、1つまたは複数の結果を、内部レジスタ、内部キャッシュ、メモリ604、またはストレージ606に書き込むことができる。特定の実施形態では、プロセッサ602は、データ、命令、またはアドレス用の1つまたは複数の内部キャッシュを含むことができる。本開示は、特定のプロセッサを説明し図示しているが、本開示は、任意の適切なプロセッサを企図している。
【0043】
特定の実施形態では、メモリ604は、プロセッサ602が実行する命令またはプロセッサ602が操作するデータを記憶するためのメイン・メモリを含む。限定ではなく例として、コンピュータ・システム600は、ストレージ606または別のソース(たとえば、別のコンピュータ・システム600など)から命令をメモリ604にロードすることができる。次いで、プロセッサ602は、命令をメモリ604から内部レジスタまたは内部キャッシュにロードすることができる。命令を実行するために、プロセッサ602は、命令を内部レジスタまたは内部キャッシュから取り出して復号することができる。命令の実行中もしくは実行後に、プロセッサ602は、(中間結果もしくは最終結果であり得る)1つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込むことができる。次いで、プロセッサ602は、これらの結果のうちの1つまたは複数をメモリ604に書き込むことができる。特定の実施形態では、プロセッサ602は、(ストレージ606または他の場所ではなく)1つまたは複数の内部レジスタもしくは内部キャッシュまたはメモリ604にある命令のみを実行し、(ストレージ606または他の場所ではなく)1つまたは複数の内部レジスタもしくは内部キャッシュまたはメモリ604にあるデータのみを操作する。1つまたは複数のメモリ・バス(それぞれアドレス・バスおよびデータ・バスを含み得る)は、プロセッサ602をメモリ604に結合することができる。バス612は、後述するように、1つまたは複数のメモリ・バスを含んでいてもよい。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ602とメモリ604との間に存在し、プロセッサ602によって要求されたメモリ604へのアクセスを容易にする。本開示は、特定のメモリを説明し図示しているが、本開示は、任意の適切なメモリを企図している。
【0044】
特定の実施形態では、ストレージ606は、データまたは命令用の大容量ストレージを含む。ストレージ606は、適宜、取り外し可能または取り外し不可能な(すなわち固定)媒体を含むことができる。ストレージ606は、適宜、コンピュータ・システム600の内部または外部とすることができる。特定の実施形態では、ストレージ606は、不揮発性のソリッド・ステート・メモリである。ストレージ606は、適宜、1つまたは複数のストレージ606を含むことができる。本開示は、特定のストレージを説明し図示しているが、本開示は、任意の適切なストレージを企図している。
【0045】
特定の実施形態では、I/Oインターフェース608は、コンピュータ・システム600と1つまたは複数のI/Oデバイスとの間の通信のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、または両方を含む。コンピュータ・システム600は、適宜、これらのI/Oデバイスのうちの1つまたは複数を含むことができる。これらのI/Oデバイスのうちの1つまたは複数により、人とコンピュータ・システム600の間の通信が可能になる。限定ではなく例として、I/Oデバイスは、キーボード、キーパッド、マイクロホン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なI/Oデバイス、またはこれらの2つ以上の組合せを含み得る。I/Oデバイスは、1つまたは複数のセンサを含むことができる。本開示は、任意の適切なI/Oデバイス、およびそれらの任意の適切なI/Oインターフェース608を企図している。I/Oインターフェース608は、適宜、プロセッサ602がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする、1つまたは複数のデバイスまたはソフトウェア・ドライバを含むことができる。I/Oインターフェース608は、適宜、1つまたは複数のI/Oインターフェース608を含むことができる。本開示は、特定のI/Oインターフェースを説明し図示しているが、本開示は、任意の適切なI/Oインターフェースを企図している。
【0046】
特定の実施形態では、通信インターフェース610は、コンピュータ・システム600と1つもしくは複数の他のコンピュータ・システム600または1つもしくは複数のネットワークとの間の通信(たとえば、パケット・ベースの通信など)のための1つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、または両方を含む。限定ではなく例として、通信インターフェース610は、イーサネット(登録商標)または他の有線ベースのネットワークと通信するためのネットワーク・インターフェース・コントローラ(NIC)またはネットワーク・アダプタ、あるいはWi−Fiネットワークなどのワイヤレス・ネットワークと通信するためのワイヤレスNIC(WNIC)またはワイヤレス・アダプタを含むことができる。本開示は、任意の適切なネットワーク、およびそのための任意の適切な通信インターフェース610を企図している。本開示は、特定の通信インターフェースを説明し図示しているが、本開示は、任意の適切な通信インターフェースを企図している。
【0047】
特定の実施形態では、バス612は、コンピュータ・システム600の構成要素を互いに結合するハードウェア、ソフトウェア、または両方を含む。本開示は、特定のバスを説明し図示しているが、本開示は、任意の適切なバスまたは相互接続を企図している。
【0048】
本明細書では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、1つまたは複数の半導体ベースまたは他の集積回路(IC)(たとえば、フィールド・プログラマブル・ゲート・アレイ(FPGA)もしくは特定用途向けIC(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)・ディスク、フロッピー・ディスク・ドライブ(FDD)、磁気テープ、ソリッド・ステート・ドライブ(SSD)、RAMドライブ、セキュア・デジタル(SECURE DIGITAL)カードまたはドライブ、任意の他の適切なコンピュータ可読非一時的記憶媒体、あるいはこれらの2つ以上の任意の適切な組合せを適宜に含み得る。コンピュータ可読非一時的記憶媒体は、適宜、揮発性、不揮発性、または揮発性と不揮発性の組合せとすることができる。
【0049】
本明細書で、「または」は、明示的にまたは文脈で別段の指示がない限り、包含的であり排他的ではない。したがって、本明細書で、「AまたはB」は、明示的にまたは文脈で別段の指示がない限り、「A、B、または両方」を意味する。さらに、「および」は、明示的にまたは文脈で別段の指示がない限り、共同と個別の両方である。したがって、本明細書で、「AおよびB」は、明示的にまたは文脈で別段の指示がない限り、「共同的または個別的にAとB」を意味する。
【0050】
本開示は、当業者が理解するであろう本明細書の例示的実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。さらに、本開示は、本明細書のそれぞれの実施形態が特定の構成要素、要素、機能、動作、または工程を含むものとして説明し図示しているが、これらの実施形態のいずれも、当業者が理解するであろう本明細書のいずれかの箇所に説明されまたは図示される任意の構成要素、要素、機能、動作、または工程の任意の組合せまたは置換を含み得る。さらに、特定の機能を、実施するように適合され、実施するように配置され、実施する能力を有し、実施するように構成され、実施可能にされ、実施するように動作可能であり、または実施するように作用する装置、システム、または装置もしくはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適合され、配置され、能力を有し、構成され、可能にされ、動作可能であり、または作用する限り、それまたはその特定の機能が有効にされ、オンにされ、またはロック解除されているかどうかに関わらず、その装置、システム、構成要素を包含する。
図1A
図1B
図2
図3
図4
図5
図6