(57)【特許請求の範囲】
【請求項１】
方法であって、
デバイスの非一時的コンピュータ可読記憶媒体に実装されたロジックによって、ユーザによって保持されるデバイスの領域を決定すること、
前記ロジックによって、前記デバイスのタッチ感知領域内でのユーザによるタッチ・ジェスチャの位置と、ユーザによって保持されたデバイスの決定した領域からタッチ位置の距離とを決定すること、
前記ロジックによって、前記デバイス上に予めロードされている複数の所定のオフセットのうちの１つを、前記タッチ感知領域内の前記タッチ・ジェスチャの位置および決定した距離に基づいて前記タッチ・ジェスチャに関して選択することであって、前記複数の所定のオフセットは、前記デバイスの少なくとも１つの物理的特徴に特有であり、前記複数の所定のオフセットは、前記少なくとも１つの物理的特徴を有するデバイスの複数のユーザによる使用法に関するデバイス特有の経験的データから取得される、前記選択すること、
前記ロジックによって、選択した所定のオフセットを前記タッチ・ジェスチャの位置に適用して、ユーザによって意図されるタッチ入力を決定することを備える、方法。
【請求項２】
前記複数の所定のオフセットのそれぞれが、前記デバイスの前記タッチ感知領域内の位置に対応する、請求項１に記載の方法。
【請求項３】
前記複数の所定のオフセットのそれぞれが、水平または垂直成分を有する、請求項１または２に記載の方法。
【請求項４】
前記デバイスが前記ユーザによって保持されるとき、前記垂直成分が、前記ユーザによって保持された前記デバイスの領域からの前記タッチ・ジェスチャの決定した位置の距離に少なくとも部分的に基づく、請求項３に記載の方法。
【請求項５】
前記複数の所定のオフセットのうちの少なくとも１つが、
前記デバイスの向き、
前記デバイスが経験した動き、
前記デバイスを保持するためにユーザによって使用された手、および
前記タッチ・ジェスチャを行うためにユーザによって使用された１本もしくは複数の指
のうちの１つまたは複数に関する、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記ロジックによって、タッチ入力を決定するための前記デバイス上に予めロードされた前記所定のオフセットの使用を含む第１のタッチ・モード、前記ユーザによる前記デバイスの使用法に適用される機械学習から導き出される他の所定のオフセットの使用を含む第２のモード、前記第１のタッチ・モードと前記第２のモードの両方で使用されるオフセットの使用を含む第３のタッチ・モードの複数のタッチ・モード間で、前記デバイスを切り替えるための入力を受け取ること、
該入力に応答して、前記複数のタッチ・モードのうちの１つから前記複数のタッチ・モードのうちの別の１つへ切り替えをすること、をさらに備える、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記第２のモードの前記複数の所定のオフセットのうちの少なくとも１つが、
前記デバイスの向き、
前記デバイスが経験した動き、
前記デバイスを保持するためにユーザによって使用された手、および
前記タッチ・ジェスチャを行うためにユーザによって使用された１本もしくは複数の指のうちの１つまたは複数を含む、請求項６に記載の方法。
【請求項８】
１つまたは複数の非一時的コンピュータ可読記憶媒体であって、
実行されたときに、
ユーザによって保持されるデバイスの領域を決定すること、
デバイスのタッチ感知領域内でのユーザによるタッチ・ジェスチャの位置と、ユーザによって保持されたデバイスの決定した領域からタッチ位置の距離とを決定すること、
前記デバイス上に予めロードされている複数の所定のオフセットのうちの１つを、前記タッチ感知領域内のタッチ・ジェスチャの位置および決定した距離に基づいて前記タッチ・ジェスチャに関して選択することであって、前記複数の所定のオフセットは、前記デバイスの少なくとも１つの物理的特徴に特有であり、前記複数の所定のオフセットは、前記少なくとも１つの物理的特徴を有するデバイスの複数のユーザによる使用法に関するデバイス特有の経験的データから取得される、前記選択すること、
選択した所定のオフセットを前記タッチ・ジェスチャの位置に適用して、ユーザによって意図されるタッチ入力を決定することを実施するように動作可能であるソフトウェアを実装する１つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項９】
前記複数の所定のオフセットのそれぞれが、前記デバイスの前記タッチ感知領域内の位置に対応する、請求項８に記載の１つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１０】
前記複数の所定のオフセットのそれぞれが、水平または垂直成分を含む、請求項８または９に記載の１つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１１】
ユーザによって前記デバイスが保持された場合、前記垂直成分は、前記ユーザによって保持されたデバイスの領域から前記タッチ・ジェスチャの決定した位置の距離に少なくとも部分的に基づく、請求項１０に記載の１つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記複数の所定のオフセットのうちの少なくとも１つが、
前記デバイスの向き、
前記デバイスが経験した動き、
前記デバイスを保持するためにユーザによって使用された手、および
前記タッチ・ジェスチャを行うためにユーザによって使用された１本もしくは複数の指
のうちの１つまたは複数を含む、請求項８〜１０のいずれか１項に記載の１つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記ソフトウェアが、前記実行されたときに、
タッチ入力を決定するための前記デバイス上に予めロードされた前記所定のオフセットの使用を含む第１のタッチ・モード、前記ユーザによる前記デバイスの使用法に適用される機械学習から導き出される他の所定のオフセットの使用を含む第２のモード、前記第１のタッチ・モードと前記第２のモードの両方で使用されるオフセットの使用を含む第３のタッチ・モードの複数のタッチ・モード間で、前記デバイスを切り替えるための入力を受け取り、
該入力に応答して、前記複数のタッチ・モードのうちの１つから前記複数のタッチ・モードのうちの別の１つへ切り替えをするようにさらに動作可能である、請求項８〜１２のいずれか１項に記載の１つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１４】
第２のモードの前記複数の所定のオフセットのうちの少なくとも１つが、
前記デバイスの向き、
前記デバイスが経験した動き、
前記デバイスを保持するためにユーザによって使用された手、および
前記タッチ・ジェスチャを行うためにユーザによって使用された１本もしくは複数の指のうちの１つまたは複数に関する、請求項１３に記載の１つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１５】
システムであって、
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサに結合され、前記１つまたは複数のプロセッサによって実行可能な命令を備えるメモリと
を備えるシステムであって、
前記１つまたは複数のプロセッサは、前記命令を実行したときに、
ユーザによって保持されるデバイスの領域を決定すること、
デバイスのタッチ感知領域内でのユーザによるタッチ・ジェスチャの位置と、決定されたユーザによって保持されたデバイスの領域からタッチ位置の距離とを決定すること、
前記デバイス上に予めロードされている複数の所定のオフセットのうちの１つを、前記タッチ感知領域内のタッチ・ジェスチャの位置および決定した距離に基づいて前記タッチ・ジェスチャに関して選択することであって、前記複数の所定のオフセットは、前記デバイスの少なくとも１つの物理的特徴に特有であり、前記複数の所定のオフセットは、前記少なくとも１つの物理的特徴を有するデバイスの複数のユーザによる使用法に関するデバイス特有の経験的データから取得される、前記選択すること、
選択した所定のオフセットを前記タッチ・ジェスチャの位置に適用して、ユーザによって意図されるタッチ入力を決定することを実施するように動作可能である、システム。
【請求項１６】
前記オフセットが、前記デバイスの前記タッチ感知領域内の位置に対応する、請求項１５に記載のシステム。
【請求項１７】
前記複数の所定のオフセットのそれぞれが、水平または垂直成分を有する、請求項１５または１６に記載のシステム。
【請求項１８】
前記複数の所定のオフセットのうちの少なくとも１つが、
前記デバイスの向き、
前記デバイスが経験した動き、
前記デバイスを保持するためにユーザによって使用された手、および
前記タッチ・ジェスチャを行うためにユーザによって使用された１本もしくは複数の指のうちの１つまたは複数を含む、請求項１５〜１７のいずれか１項に記載のシステム。
【請求項１９】
前記１つまたは複数のプロセッサは、前記命令が実行されたときに、
タッチ入力を決定するための前記デバイス上に予めロードされた前記所定のオフセットの使用を含む第１のタッチ・モード、前記ユーザによる前記デバイスの使用法に適用される機械学習から導き出される他の所定のオフセットの使用を含む第２のモード、前記第１のタッチ・モードと前記第２のモードの両方で使用されるオフセットの使用を含む第３のタッチ・モードの複数のタッチ・モード間で、前記デバイスを切り替えるための入力を受け取り、
該入力に応答して、前記複数のタッチ・モードのうちの１つから前記複数のタッチ・モードのうちの別の１つへ切り替えをするようにさらに動作可能である、請求項１５〜１８のいずれか１項に記載のシステム。
【請求項２０】
第２のモードの前記複数の所定のオフセットのうちの少なくとも１つが、
前記デバイスの向き、
前記デバイスが経験した動き、
前記デバイスを保持するためにユーザによって使用された手、および
前記タッチ・ジェスチャを行うためにユーザによって使用された１本もしくは複数の指のうちの１つまたは複数に関する、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にタッチ感知デバイスに関する、方法、記憶媒体およびシステムに関する。
【背景技術】
【０００２】
タッチ・センサは、たとえば、表示画面上に重ね合わされたタッチ・センサのタッチ感知領域内の（ユーザの指やスタイラスなどの）物体の接触または近接の存在および位置を検出することができる。タッチ感知ディスプレイ・アプリケーションでは、タッチ・センサは、ユーザが、マウスまたはタッチ・パッドを用いて間接的にではなく、直接的に画面上に表示されたものと対話するのを可能にし得る。タッチ・センサは、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、携帯情報端末（ＰＤＡ）、スマートフォン、衛星ナビゲーション・デバイス、ポータブル・メディア・プレイヤ、ポータブル・ゲーム・コンソール、キオスク・コンピュータ、ＰＯＳデバイス、または他の適切なデバイスに取り付けられてよく、あるいはそれらの一部として提供されてもよい。家庭用電化製品または他の器具の制御パネルが、タッチ・センサを含むことがある。
【０００３】
いくつかの異なるタイプのタッチ・センサが存在し、たとえば、抵抗性タッチ・スクリーン、表面弾性波タッチ・スクリーン、静電容量式タッチ・スクリーンなどがある。本明細書では、タッチ・センサへの言及は、適切な場合、タッチ・スクリーンを含むことができ、逆も同様である。静電容量式タッチ・スクリーンの場合、静電容量式タッチ・スクリーンの表面に接触または近接した物体の位置でタッチ・スクリーン内にキャパシタンスの変化が発生する。タッチ・センサ・コントローラは、キャパシタンスの変化を処理して、タッチ・スクリーン上のキャパシタンスの変化の位置（たとえば、座標）を決定することができる。
【発明の概要】
【課題を解決するための手段】
【０００４】
請求項１に記載の実施形態によれば、方法は、デバイスのコンピュータ可読非一時的記憶媒体に具現化されたロジックによって、デバイスのタッチ感知領域内でのユーザによるタッチ・ジェスチャの位置を決定することと、ロジックによって、デバイスに特有であり、複数のユーザによるデバイスの使用法に関するデバイス特有の経験的データから導き出され、デバイス上に予めロードされている複数の所定のオフセットのうちの１つを、タッチ感知領域内のタッチ・ジェスチャの位置に基づいてタッチ・ジェスチャに関して選択することと、ロジックによって、選択した所定のオフセットをタッチ・ジェスチャの位置に適用して、ユーザによって意図されるタッチ入力を決定することと、を備える。
【０００５】
好ましい実施形態では、所定のオフセットのそれぞれが、デバイスのタッチ感知領域内の位置に対応する。
さらなる好ましい実施形態では、所定のオフセットのそれぞれが、水平または垂直成分を有する。特に、デバイスがユーザによって保持されるとき、垂直成分が、ユーザによって保持されたデバイスの領域からのタッチ・ジェスチャの決定した位置の距離に少なくとも部分的に基づく。
【０００６】
さらなる実施形態では、方法は、ロジックによって、タッチ入力を決定するためのデバイス上に予めロードされた所定のオフセットの使用を含む第１のタッチ・モード、ユーザによるデバイスの使用法に適用される機械学習から導き出される他の所定のオフセットの使用を含む第２のモード、第１のモードと第２のモードの両方で使用されるオフセットの使用を含む第３のタッチ・モードの複数のタッチ・モード間で、デバイスを切り替えるための入力を受け取ることと、入力に応答して、タッチ・モードのうちの１つからタッチ・モードのうちの別の１つへ切り替えをすることと、を含む。
【０００７】
すべての実施形態において、所定のオフセットのうちの少なくとも１つが、好ましくは、デバイスの向き、デバイスが経験した動き、デバイスを保持するためにユーザによって使用された手、またはタッチ・ジェスチャを行うためにユーザによって使用された１本もしくは複数の指のうちの１つまたは複数に関する。
【０００８】
請求項８によれば、実行されたときに本発明による方法を実施するように動作可能なソフトウェアを具現化する、１つまたは複数のコンピュータ可読非一時的記憶媒体が提供される。
【０００９】
さらなる実施形態では、デバイスのタッチ感知領域内でのユーザによるタッチ・ジェスチャの位置を決定し、デバイスに特有であり、複数のユーザによるデバイスの使用法に関するデバイス特有の経験的データから導き出され、デバイス上に予めロードされている複数の所定のオフセットのうちの１つを、タッチ感知領域内のタッチ・ジェスチャの位置に基づいてタッチ・ジェスチャに関して選択し、選択した所定のオフセットをタッチ・ジェスチャの位置に適用して、ユーザによって意図されるタッチ入力を決定するように、実行されたときに動作可能であるソフトウェアを具現化する１つまたは複数のコンピュータ可読非一時的記憶媒体が提供される。
【００１０】
請求項９に記載の本発明の実施形態によるシステムは、１つまたは複数のプロセッサと、プロセッサに結合されプロセッサによって実行可能な命令を備えるメモリと、からなり、プロセッサは、命令を実行したときに、デバイスのタッチ感知領域内でのユーザによるタッチ・ジェスチャの位置を決定し、デバイスに特有であり、複数のユーザによるデバイスの使用法に関するデバイス特有の経験的データから導き出され、デバイス上に予めロードされている複数の所定のオフセットのうちの１つを、タッチ感知領域内のタッチ・ジェスチャの位置に基づいてタッチ・ジェスチャに関して選択し、選択した所定のオフセットをタッチ・ジェスチャの位置に適用して、ユーザによって意図されるタッチ入力を決定するように動作可能である。
【００１１】
好ましい実施形態では、プロセッサは、命令を実行したときに、タッチ入力を決定するためのデバイス上に予めロードされた所定のオフセットの使用を含む第１のタッチ・モード、ユーザによるデバイスの使用法に適用される機械学習から導き出される他の所定のオフセットの使用を含む第２のモード、第１のモードと第２のモードの両方で使用されるオフセットの使用を含む第３のタッチ・モードの複数のタッチ・モード間で、デバイスを切り替えるための入力を受け取り、入力に応答して、タッチ・モードのうちの１つからタッチ・モードのうちの別の１つへ切り替えをするようにさらに動作可能である。
【００１２】
上記方法のすべての実施形態および特徴は、媒体およびシステムの請求項で同様に請求可能であり、逆も同様である。
【図面の簡単な説明】
【００１３】
【図１Ａ】例示的パーソナル・コンピューティング・デバイスを示す図。
【図１Ｂ】例示的パーソナル・コンピューティング・デバイスを示す図。
【図２】パーソナル・コンピューティング・デバイス上の情報およびアプリケーションのための例示的ソフトウェア・アーキテクチャを示す図。
【図３】タッチ感知デバイス上のタッチ・ジェスチャに適用される例示的オフセットを示す図。
【図４】タッチ感知デバイス上のタッチ・ジェスチャに適用される例示的オフセットを示す図。
【図５】タッチ・ジェスチャの解決された位置にオフセットを適用するための例示的方法を示す図。
【図６】特定の実施形態を実施するための例示的コンピュータ・システムを示す図。
【発明を実施するための形態】
【００１４】
図１Ａは、例示的パーソナル・コンピューティング・デバイス１００を示す。特定の実施形態では、パーソナル・コンピューティング・デバイス１００は、プロセッサ１１０、メモリ１２０、通信構成要素１３０（たとえば、ワイヤレス通信のためのアンテナおよび通信インターフェース）、１つまたは複数の入力および／もしくは出力（Ｉ／Ｏ）構成要素ならびに／またはインターフェース１４０、ならびに１つまたは複数のセンサ１５０からなり得る。特定の実施形態では、１つまたは複数のＩ／Ｏ構成要素および／またはインターフェース１４０が、１つまたは複数のセンサ１５０を組み込むことができる。特定の実施形態では、パーソナル・コンピューティング・デバイス１００は、図６および関連する記述で説明されるように、コンピュータ・システムおよび／またはその要素からなり得る。
【００１５】
特定の実施形態では、モバイル・デバイスなどのパーソナル・コンピューティング・デバイスが、たとえば、限定としてではなく、モバイル電子デバイスの表面にユーザが（たとえば、１本または複数の指を使用して）タッチしていることを検出するための（たとえば、デバイスのディスプレイ、デバイスの背面、および／またはデバイスの１つもしくは複数の側縁部に配置された）タッチ・センサ、パーソナル・コンピューティング・デバイス１００が移動しているかどうか、および移動の速度を検出するための加速度計、パーソナル・コンピューティング・デバイス１００の近くの温度の変化を測定するための温度計、パーソナル・コンピューティング・デバイス１００の別の物体（たとえば、手、机、または他の物体）に対する近接を検出するための近接センサ、パーソナル・コンピューティング・デバイス１００の周囲の環境光を測定するための光センサ、パーソナル・コンピューティング・デバイス１００の近くの物体（たとえば、景色、人々、バーコード、ＱＲコード（登録商標）など）のデジタル静止画像および／または動画を取り込むための撮像センサ（たとえば、カメラ）、モバイル電子デバイスの（たとえば、緯度および経度としての）位置を決定するための位置センサ（たとえば、全地球測位システム（ＧＰＳ））、近接近範囲内の通信ネットワーク（たとえば、近距離無線通信（ＮＦＣ）、ブルートゥース、ＲＦＩＤ、赤外線）を検出するためのセンサ、化学センサ、パーソナル・コンピューティング・デバイス１００のユーザの生体計測ベース（たとえば、指紋、掌静脈パターン、掌形、虹彩／網膜、ＤＮＡ、顔、声、嗅覚、汗）の認証のための生体センサなど、種々のタイプのセンサ１５０を含むことができる。本開示は、モバイル電子デバイスが任意の適用可能なタイプのセンサを含み得ることを企図している。センサは、種々のタイプのセンサ・データを提供することができ、それらのデータは、所与の時間におけるモバイル電子デバイスに関するユーザの意図を決定するために分析され得る。
【００１６】
特定の実施形態では、センサ・ハブ（sensors hub）１６０を、パーソナル・コンピューティング・デバイス１００に随意に含むことができる。センサ１５０は、センサ・ハブ１６０に接続することができ、センサ・ハブ１６０は、センサ１５０を制御し、センサ１５０に対する電力を管理し、センサ入力を処理し、センサ・データを集約し、あるセンサ機能を実行する低電力消費プロセッサであり得る。さらに、特定の実施形態では、いくつかのタイプのセンサ１５０をコントローラ１７０に接続することができる。この場合、センサ・ハブ１６０がコントローラ１７０に接続されて、コントローラ１７０がセンサ１５０に接続され得る。代替的に、特定の実施形態では、センサ１５０を管理するためにセンサ・ハブ１６０の代わりにセンサ・モニタがあってもよい。
【００１７】
特定の実施形態では、前面に加えて、パーソナル・コンピューティング・デバイス１００は、生体認証を行うための１つまたは複数のセンサを有することができる。そのようなセンサは、パーソナル・コンピューティング・デバイス１００の任意の表面に配置することができる。例示的実施形態では、ユーザの手がパーソナル・コンピューティング・デバイス１００を掴むためにそれにタッチすると、タッチ・センサはユーザの指紋または掌静脈パターンを取り込むことができる。例示的実施形態では、ユーザがパーソナル・コンピューティング・デバイス１００のスクリーンを見ているときに、カメラが顔認識を行うためにユーザの顔の画像を取り込むことができる。例示的実施形態では、ユーザがパーソナル・コンピューティング・デバイス１００のスクリーンを見ているときに、赤外線スキャナがユーザの虹彩および／または網膜をスキャンすることができる。例示的実施形態では、ユーザがパーソナル・コンピューティング・デバイス１００と接触または近接近したときに、化学および／または嗅覚センサがユーザについての関連データを取り込むことができる。特定の実施形態では、パーソナル・コンピューティング・デバイス１００を利用するユーザの識別（ｉｄｅｎｔｉｔｙ）に関する状態の変化があることを検出すると、パーソナル・コンピューティング・デバイス１００は、それ自体によって、または他のタイプのセンサ表示との組合せで、それ自体が共有されていることを決定することができる。
【００１８】
特定の実施形態では、前面に加えて、パーソナル・コンピューティング・デバイス１００は、左側面および右側面にタッチ・センサを有することができる。パーソナル・コンピューティング・デバイス１００は、任意で、背面、上面、底面側にタッチ・センサを有してもよい。これにより、ユーザの手がパーソナル・コンピューティング・デバイス１００を掴むためにそれに触れたとき、タッチ・センサは、ユーザの指または掌がパーソナル・コンピューティング・デバイス１００に触れていることを検出することができる。特定の実施形態では、パーソナル・コンピューティング・デバイス１００にユーザが触れることに関する状態の変化があることを検出すると、パーソナル・コンピューティング・デバイス１００は、それ自体によって、または他のタイプのセンサ表示との組合せによって、それ自体が共有されていることを決定することができる。
【００１９】
特定の実施形態では、パーソナル・コンピューティング・デバイス１００は、左側面および右側面のタッチ・センサに加えてまたはそれらの代わりに、加速度計を有することができる。加速度計により提供されるセンサ・データは、静止位置、たとえば、テーブルもしくは机、陳列棚の上から、または誰かの手もしくは誰かのバッグの中から、パーソナル・コンピューティング・デバイス１００を新しいユーザが取り上げたかどうかを推定するために使用することもできる。ユーザがパーソナル・コンピューティング・デバイス１００を取り上げてユーザの顔の前に持ってくると、パーソナル・コンピューティング・デバイス１００の移動速度に比較的急激な増大があり得る。このデバイスの移動速度の変化は、加速度計によって供給されるセンサ・データに基づいて検出することができる。特定の実施形態では、このデバイスの移動速度に大幅な増大があることを検出すると、パーソナル・コンピューティング・デバイス１００は、それ自体によって、または他のタイプのセンサ表示との組合せによって、それ自体が共有されていることを決定することができる。
【００２０】
特定の実施形態では、パーソナル・コンピューティング・デバイス１００は、左側面および右側面のタッチ・センサに加えてまたはそれらの代わりに、ジャイロメータを有することができる。ジャイロメータは、ジャイロスコープとしても知られ、１つまたは複数の軸に沿って向きを測定するためのデバイスである。特定の実施形態では、ジャイロメータは、パーソナル・コンピューティング・デバイス１００の向きを測定するために使用することができる。パーソナル・コンピューティング・デバイス１００は、棚またはユーザのバッグに収納されているとき、ほとんど１つの向きに留まる可能性がある。しかしながら、ユーザがパーソナル・コンピューティング・デバイス１００を掴んで持ち上げる、かつ／または移動してユーザの顔の前に持ってくるように近づけるとき、パーソナル・コンピューティング・デバイス１００の向きに比較的急激な変化があり得る。パーソナル・コンピューティング・デバイス１００の向きは、ジャイロメータによって検出および測定することができる。パーソナル・コンピューティング・デバイス１００の向きが大きく変化した場合、特定の実施形態では、パーソナル・コンピューティング・デバイス１００の向きの大きな変化があることを検出すると、パーソナル・コンピューティング・デバイス１００は、それ自体によって、または他のタイプのセンサ表示との組合せによって、それ自体が共有されていることを決定することができる。
【００２１】
特定の実施形態では、パーソナル・コンピューティング・デバイス１００は、光センサを有することができる。パーソナル・コンピューティング・デバイス１００は、ユーザのポケットまたはケースに収納されているとき、パーソナル・コンピューティング・デバイス１００の周囲は比較的暗い。他方、ユーザがパーソナル・コンピューティング・デバイス１００を自身のポケットから取り出すと、特に日中または十分に明るい領域では、パーソナル・コンピューティング・デバイス１００の周囲は比較的明るいことがある。光センサによって供給されるセンサ・データは、パーソナル・コンピューティング・デバイス１００の周囲の環境光レベルの大きな変化が発生したときを検出するために分析され得る。特定の実施形態では、パーソナル・コンピューティング・デバイス１００の周囲の環境光レベルの大幅な増大があることを検出すると、パーソナル・コンピューティング・デバイス１００は、それ自体によって、または他のタイプのセンサ表示との組合せによって、それ自体が共有されていることを決定することができる。
【００２２】
特定の実施形態では、パーソナル・コンピューティング・デバイス１００は、近接センサを有することができる。近接センサによって供給されるセンサ・データは、パーソナル・コンピューティング・デバイス１００がユーザの手などの特定の物体に対して近接近したときを検出するために分析され得る。たとえば、モバイル・デバイス１００は、その背面側に配置された赤外線ＬＥＤ（発光ダイオード）１９０（すなわち近接センサ）を有することができる。ユーザがそのようなモバイル・デバイスをその手に保持したとき、ユーザの手の掌が赤外線ＬＥＤ１９０を覆うことが可能である。結果として、赤外線ＬＥＤ１９０が、ユーザの手がモバイル・デバイス１００に近接近したときを検出することができる。特定の実施形態では、パーソナル・コンピューティング・デバイス１００がユーザの手に近接近したことを検出すると、パーソナル・コンピューティング・デバイス１００は、それ自体によって、または他のタイプのセンサ表示との組合せによって、それ自体が共有されていることを決定することができる。
【００２３】
パーソナル・コンピューティング・デバイス１００は、任意の数の種々のタイプのセンサを有することが可能であり、これらのセンサは、異なるタイプのセンサ・データを供給することができる。センサ・データの個々のタイプの異なる組合せが、パーソナル・コンピューティング・デバイス１００に対するユーザの現在の意図（たとえば、ユーザが実際に自身のポケットからパーソナル・コンピューティング・デバイス１００を取り出して使用しようとしているかどうか）を検出し推定するように一緒に使用されてもよい。場合によっては、複数のタイプのセンサ・データを組み合わせて使用することで、単一のタイプのセンサ・データのみを使用するよりも、所与の時間におけるパーソナル・コンピューティング・デバイス１００に対するユーザの意図のより正確な従ってより良い推定を得ることができる。とはいえ、単一のタイプのセンサ・データ（たとえば、タッチ・センサ・データ）を使用してユーザの意図を推定することは可能である。
【００２４】
図１Ｂは、パーソナル・コンピューティング・デバイス１００の外観を示す。パーソナル・コンピューティング・デバイス１００は、概して６つの面、すなわち、前面、背面、上面、底面、左側面、および右側面を有する。タッチ・センサは、パーソナル・コンピューティング・デバイス１００の６つの面のいずれの面のどの場所に配置されてもよい。たとえば、図１Ｂでは、タッチ・センサ１８０Ａを組み込んだタッチ・スクリーンが、パーソナル・コンピューティング・デバイス１００の前面に配置される。タッチ・スクリーンは、パーソナル・コンピューティング・デバイス１００のための入力／出力（Ｉ／Ｏ）構成要素として機能することができる。加えて、タッチ・センサ１８０Ｂおよび１８０Ｃがそれぞれ、パーソナル・コンピューティング・デバイス１００の左側面および右側面に配置される。タッチ・センサ１８０Ｂおよび１８０Ｃは、ユーザの手がパーソナル・コンピューティング・デバイス１００の側面に触れていることを検出することができる。特定の実施形態では、タッチ・センサ１８０Ａ、１８０Ｂ、１８０Ｃは、抵抗性、静電容量式、および／または誘導性のタッチ・センサを使用して実装することができる。タッチ・センサ１８０Ａ、１８０Ｂ、１８０Ｃの電極は、薄い固形の材料片または薄いワイヤ・メッシュに配置され得る。静電容量式タッチ・センサの場合、２つのタイプの電極、すなわち送信および受信があり得る。これらの電極は、コントローラ（たとえば、図１Ａに示すコントローラ１７０）に接続することができ、このコントローラは、電気パルスで送信電極を駆動し、ユーザのタッチによって引き起こされた受信電極からのキャパシタンスの変化を測定して、ユーザのタッチの位置を検出するように設計されたマイクロチップとすることができる。
【００２５】
もちろん、パーソナル・コンピューティング・デバイス１００は１例にすぎない。実際、デバイスは任意の数の側面を有することができ、本開示は任意の数の側面を有するデバイスを企図している。タッチ・センサは、デバイスのいずれの側面に配置されてもよい。
【００２６】
特定の実施形態では、パーソナル・コンピューティング・デバイス１００は、その背面側に配置された近接センサ１９０（たとえば赤外線ＬＥＤ）を有することができる。近接センサ１９０は、その近接、すなわちパーソナル・コンピューティング・デバイス１００の別の物体に対する近接を決定するためのセンサ・データを供給する能力を有することができる。
【００２７】
図２は、パーソナル・コンピューティング・デバイス１００上の情報およびアプリケーションのための例示的ソフトウェア・アーキテクチャ２００を示す。特定の実施形態では、ソフトウェア・アーキテクチャ２００は、ソフトウェア２１０および（１つまたは複数の）データ・ストア２２０を含み得る。特定の実施形態では、アプリケーション・データ・キャッシュ２２０および／またはプロファイル・データ・ストア２２０および／または別のデータ・ストア２２０にパーソナル情報を記憶することができる。特定の実施形態では、１つまたは複数のソフトウェア・アプリケーションがパーソナル・コンピューティング・デバイス１００上で実行され得る。特定の実施形態では、それらは、サーバ上でホストされるウェブ・ベースのアプリケーションとすることができる。たとえば、ウェブ・ベースのアプリケーションは、ＵＲＩ（ユニフォーム・リソース・アイデンティファイア）またはＵＲＬ（ユニフォーム・リソース・ロケータ）に関連付けることができる。パーソナル・コンピューティング・デバイス１００から、ユーザは、（たとえば、ウェブ・ブラウザを使用して）ウェブ・ベースのアプリケーションにその関連するＵＲＩまたはＵＲＬを介してアクセスすることができる。あるいは、他の実施形態では、それらはパーソナル・コンピューティング・デバイス１００にインストールされて存在するネイティブ・アプリケーションとすることができる。したがって、ソフトウェア２１０は、任意の数のアプリケーション・ユーザ・インターフェース２３０およびアプリケーション機能２４０を含んでもよい。たとえば、あるアプリケーション（たとえば、Ｇｏｏｇｌｅ  Ｍａｐｓ（登録商標））は、デバイス・ユーザが、地図の表示、アドレスおよびビジネスの検索、および道順の取得をすることを可能にすることができ、第２のアプリケーションは、デバイス・ユーザが、電子メールの読取り、送信、および受信をすることを可能にすることができ、第３のアプリケーション（たとえば、ウェブ・ブラウザ）は、デバイス・ユーザが、インターネットの閲覧および検索をすることを可能にすることができ、第４のアプリケーションは、デバイス・ユーザが、パーソナル・コンピューティング・デバイス１００を使用して写真を撮るまたはビデオを録画することを可能にすることができ、第５のアプリケーションは、デバイス・ユーザが、ＶｏＩＰおよび／またはセルラ・ネットワーク・コールの受信および開始をすることを可能にすることができるなどである。各アプリケーションは１つまたは複数の特有の機能性を有し、これらの機能性を実装するソフトウェア（たとえば、１つまたは複数のソフトウェア・モジュール）は、アプリケーション機能２４０に含まれ得る。各アプリケーションはまた、ユーザがアプリケーションと対話することを可能にするユーザ・インターフェースを有することができ、アプリケーション・ユーザ・インターフェースを実装するソフトウェアは、アプリケーション・ユーザ・インターフェース２３０に含まれ得る。特定の実施形態では、アプリケーションの機能性は、ＪａｖａＳｃｒｉｐｔ（登録商標）、Ｊａｖａ（登録商標）、Ｃ、または他の適切なプログラミング言語を使用し���実装することができる。特定の実施形態では、アプリケーションのユーザ・インターフェースは、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）、ＪａｖａＳｃｒｉｐｔ（登録商標）、Ｊａｖａ（登録商標）、または他の適切なプログラミング言語を使用して実装することができる。
【００２８】
アプリケーションの実行中、デバイス・ユーザは、そのユーザ・インターフェースを介してアプリケーションと対話することができる。たとえば、ユーザは、種々の表示（たとえば、ウェブ・ページ）においてアプリケーションに入力を与えることができる。同様に、アプリケーションの出力は、種々の表示（たとえば、ウェブ・ページ）でユーザに提示することができる。特定の実施形態では、ユーザが特定の表示（たとえば、特定のウェブ・ページ）を介してアプリケーションに入力を与えると、たとえば、１つまたは複数のアプリケーション・ユーザ・インターフェース２３０によって、イベント（たとえば、入力イベント）が生成され得る。各入力イベントはアプリケーション機能２４０に転送されてよく、あるいはアプリケーション機能２４０がそのように生成された入力イベントをリッスン（listen）してもよい。アプリケーション機能２４０が入力イベントを受け取ると、アプリケーション機能２４０における該当するソフトウェア・モジュールがイベントを処理するために呼び出され得る。加えて、オペレーティング・システム２５０および／または（たとえば図１Ａ〜１Ｂに説明されるような）ハードウェアによって提供される特定の機能性も呼び出され得る。たとえば、パーソナル・コンピューティング・デバイス１００を用いてユーザがボタンを押して写真を撮ることの結果としてイベントが生成された場合、生の画像データを画像ファイル（たとえば、ＪＰＧまたはＧＩＦ）に変換し、画像ファイルをパーソナル・コンピューティング・デバイス１００のストレージ２２０に記憶するために、対応する画像処理モジュールを呼び出すことができる。別の例として、ユーザがインスタント・メッセージを作成するためにアイコンを選択することの結果としてイベントが生成された場合、対応するショート・メッセージ・サービス（ＳＭＳ）モジュールを、ユーザがメッセージを作成および送信することを可能にするために呼び出すことができる。
【００２９】
特定の実施形態では、アプリケーションの出力がユーザに提示される準備ができているとき、イベント（たとえば、出力イベント）が、たとえば、アプリケーション機能２４０またはオペレーティング・システム２５０におけるソフトウェア・モジュールによって生成され得る。各出力イベントはアプリケーション・ユーザ・インターフェース２３０に転送されてよく、あるいはアプリケーション・ユーザ・インターフェース２３０がそのように生成された出力イベントをリッスンしてもよい。アプリケーションのユーザ・インターフェースは、適切なプログラミング言語（たとえば、ＨＴＭＬ、ＪａｖａＳｃｒｉｐｔ（登録商標）、またはＪａｖａ（登録商標））を使用して実装することができる。
【００３０】
特定の実施形態では、タッチ感知デバイスが、そのデバイスのタッチ感知領域との接触を検出することができる。この接触は、１つまたは複数のタッチ・ジェスチャを含むことができ、それにより、ユーザが、デバイス、またはデバイス上でホストされもしくはデバイスによって実行されるコンテンツ、アプリケーションなどと対話する。タッチ・ジェスチャには、任意の適切な接触または一連の接触が含まれ、たとえば、限定としてではなく、タッチ感知領域を１本または複数の指でタップすること、タッチ感知領域を１本または複数の指で押圧すること、タッチ感知領域を横切って１本または複数の指をスワイプさせること、タッチ感知領域上で２本以上の指を離すまたはくっつけること、あるいはこれらの任意の適切な組合せが含まれる。
【００３１】
タッチ感知デバイスにおけるソフトウェア、ハードウェア、または両方は、デバイスのタッチ感知領域上でタッチ・ジェスチャがどこで発生したかを検出することができる。限定ではなく例として、静電容量式タッチ・スクリーンは、電荷、キャパシタンス、電圧、電流、またはタッチ・ジェスチャが行われた１つもしくは複数の位置における任意の適切な電磁信号の変化を検出することができる。これらの電子信号は、ハードウェアまたはソフトウェアの任意の適切な組合せを使用して、任意の適切な電磁信号へ変換、処理、または修正され、図１Ａの１つまたは複数のプロセッサ１１０、センサ１５０、メモリ１２０などの任意の適切なハードウェア、これらの任意の要素によって実行されるソフトウェア、あるいはこれらの任意の適切な組合せによって、検出、記憶、または修正され得る。本明細書では、タッチ・ジェスチャに関係するまたはタッチ・ジェスチャによって作成された１つまたは複数の信号を検出することは、検出された信号を、タッチ・ジェスチャが発生したタッチ感知領域上の位置として解決することも含み得る。位置は、極座標またはデカルト座標などの任意の適切な尺度に分解する、または表現することが可能であり、任意の適切な固定または相対基準点に対して測定することが可能である。本開示は、検出された信号の形態、検出された信号に対して行われる処理、タッチ感知領域に対するタッチ・ジェスチャの位置を表す形式、およびこれらの機能を実行するハードウェアまたはソフトウェアの具体例を示しているが、本出願は、タッチ感知領域においてタッチ・ジェスチャを検出し、検出された信号を処理または記憶し、どこでタッチ感知ジェスチャが発生したかを定義するタッチ感知領域上の位置を解決する任意の適切な方法あるいはそれが可能なハードウェアまたはソフトウェアを企図している。
【００３２】
特定の実施形態では、１つまたは複数のオフセットが、タッチ感知領域に対して行われたタッチ・ジェスチャの解決された位置に適用され得る。オフセットは、任意の適切な次元（（１つまたは複数の）次元に対応する（１つまたは複数の）任意の適切な方向を含む）で、解決された位置に適用可能であり、または任意の適切な量で、解決された位置をオフセットすることができる。オフセットの量および次元は、一定、または任意の適切な変数の関数とすることができる。限定ではなく例として、適用されるオフセットの量、次元、または両方は、ユーザがデバイスを保持するために使用している手、タッチ・ジェスチャを行うために使用される手、（１つもしくは複数の）指、または（１つもしくは複数の）物体、デバイスの向き、ユーザまたは任意の他の適切な箇所に対するデバイスの角度、ユーザまたは別の適切な所定の領域に対するタッチ・ジェスチャの近接、タッチ・ジェスチャの発生の前、最中、または後にデバイスが経験した動き、デバイスを使用する特定のユーザ、デバイスの物理的特性（たとえば、使用されるタッチ感知技術のタイプ、デバイスまたはタッチ感知領域の物理的寸法、タッチ・ジェスチャを検出、処理、および／または解決するために使用されるハードウェアまたはソフトウェアなど）、あるいはこれらの任意の適切な組合せの関数としてもよい。１例として、タッチ・ジェスチャに対するオフセットは、ユーザによって保持されるデバイスの領域などのデバイスの特定の位置または領域からのタッチ・ジェスチャが発生する距離に応じて変わることがある。追加的にまたは代わりに、オフセットは、デバイスの向きに部分的に応じて変わることがある。これらの例は、図３〜４に示されている。図３の例では、デバイス３００は、タッチ感知領域３１０上の特定の位置、たとえば位置Ｌ１で、タッチ・ジェスチャが行われたと決定する。ユーザが縁部３２０の近くでデバイス３００を保持している場合、またはデバイスが矢印３３０が垂直に見えるように配向される場合、デバイスは、デバイスの縁部３２０からタッチ・ジェスチャの位置の距離の関数として変化するオフセットを適用することができる。たとえば、位置Ｌ１で行われたタッチ・ジェスチャは、垂直オフセットＯ１がタッチ・ジェスチャに適用され、位置Ｌ３で行われたタッチ・ジェスチャは、オフセットＯ３がタッチ・ジェスチャに適用されることが可能である。図３に示すように、オフセットＯ１、Ｏ２、およびＯ３の量は、タッチ・ジェスチャがデバイスの縁部３２０から遠くなるに従って増大することが可能である。水平オフセットＯ４は、Ｌ４などのタッチ・ジェスチャの位置に適用することができる。オフセットＯ１、Ｏ２、Ｏ３、およびＯ４は、タッチ感知領域３１０において触れられたいずれの位置についても均一であってよく、触れられた水平方向の位置の関数として変化してもよく、触れられた垂直方向の位置の関数として変化してもよく、あるいは、これらの任意の適切な組合せとしてもよい。
【００３３】
図４は、タッチ感知領域４１０を有する例示的デバイス４００を示す。例示的デバイス４００は、タッチ・ジェスチャがタッチ感知領域４１０上の特定の位置、たとえば、位置Ｌ５で行われたことを決定する。ユーザが縁部４２０の近くでデバイス４００を保持している場合、またはデバイスが矢印４３０が垂直に見えるように配向される場合、デバイスは、デバイスの縁部４２０からタッチ・ジェスチャの位置の距離の関数として変化するオフセットを適用することができる。たとえば、位置Ｌ５で行われたタッチ・ジェスチャは、垂直オフセットＯ５がタッチ・ジェスチャに適用され、位置Ｌ７で行われたタッチ・ジェスチャは、オフセットＯ７がタッチ・ジェスチャに適用されることが可能である。図４に示すように、オフセットＯ５、Ｏ６、およびＯ７の量は、タッチ・ジェスチャがデバイスの縁部４２０から遠くなるに従って増大することが可能である。水平オフセットＯ８は、Ｌ８などのタッチ・ジェスチャの位置に適用することができる。オフセットＯ５、Ｏ６、Ｏ７、およびＯ８は、タッチ感知領域４１０において触れられたいずれの位置に対しても均一であってよく、触れられた水平方向の位置の関数として変化してもよく、触れられた垂直方向の位置の関数として変化してもよく、あるいは、これらの任意の適切な組合せとしてもよい。特定の実施形態では、オフセットＯ５、Ｏ６、Ｏ７、およびＯ８は、量または次元が異なっていてもよく、あるいは、図３に示したオフセットＯ１、Ｏ２、Ｏ３、およびＯ４と異なる変数に依存してもよい特定の実施形態では、オフセットＯ５、Ｏ６、Ｏ７、およびＯ８は、図３に示したオフセットＯ１、Ｏ２、Ｏ３、およびＯ４と同じ変数に依存することができる。特定の実施形態では、オフセットＯ４およびＯ８は同一とすることができる。特定の実施形態では、オフセットＯ５、Ｏ６、Ｏ７、およびＯ８ならびに図３に示したオフセットＯ１、Ｏ２、Ｏ３、およびＯ４は、タッチ・ジェスチャを行うために使用される（１つまたは複数の）指に基づいて変化することができる。たとえば、オフセットは、タッチ・ジェスチャが人差し指でなく親指により行われると、量または次元が変わることがある。本開示は、適用されるオフセットのタイプ、およびオフセットの量または次元が依存し得る変数の具体的例を示しているが、本開示は、任意の適切な変数に依存する任意の適切なタイプのオフセットを企図している。
【００３４】
特定の実施形態では、１つまたは複数のオフセットが、デバイス上で、たとえばデバイスの永久メモリ要素またはマイクロコントローラ・ロジック（microcontroller logic）などで、ハードコード（hard-coded）され得る。特定の実施形態では、ハードコードされたオフセット（hard-coded offsets）は、オフセットが対応するタッチ・ジェスチャのすべてのインスタンスに適用することができる。特定の実施形態では、ハードコードされたオフセットは、ユーザによって変更不可であってもよく、デバイスに対するファームウェア更新によってのみ変更可能であってもよく、あるいはユーザによって自由に変更可能であってもよい。特定の実施形態では、デバイスまたはデバイス上のソフトウェアが、１つまたは複数のオフセットをタッチ・ジェスチャにその時点でまたはタッチ・ジェスチャが行われたすぐ後に適用するかどうかを決定することができる。たとえば、オフセットをタッチ・ジェスチャに適用するかどうかは、タッチ・ジェスチャが行われる前、最中、またはすぐ後の（上述のようなオフセットが依存し得る任意の変数などの）状況に応じて決めることができる。そのようなオフセットは、ユーザによって変更不可であってもよく、デバイスに対するファームウェア更新によってのみ変更可能であってもよく、あるいはユーザによって自由に変更可能であってもよい。本開示は、いつデバイスまたはデバイス上のソフトウェアがオフセットを対応するタッチ・ジェスチャに適用するかを決定する具体例を示しているが、本開示は、いつオフセットが適用されるべきかをデバイスまたはデバイス上のソフトウェアが決定する任意の適切な方法を企図している。
【００３５】
特定の実施形態では、オフセットは、デバイスのメモリ要素、またはデバイスに関連付けられた他の適切な電子記憶媒体に記憶することができる。特定の実施形態では、オフセットは、デバイスによってアクセス可能な１つまたは複数のサーバに記憶することができる。特定の実施形態では、オフセットは、ユーザが最初にデバイスを使用する前にデバイスに予めロードすることができる。たとえば、デバイスに予めロードされるオフセットは、物理的寸法、重量、厚さ、製造者などのデバイスの物理的特性、デバイスまたはデバイス内の特定の構成要素の品質、あるいは、デバイス内のプロセッサ、センサ、マイクロコントローラ、または構成要素のタイプに関する場合がある。特定の実施形態では、オフセットは、デバイス全体としての物理的特性に関する場合がある。オフセットは、デバイスの１つまたは複数のユーザの指定位置でのタッチ・ジェスチャを行う能力を試験し、タッチ・ジェスチャに適用するために適切なオフセットに関するデータを収集することにより、決定され得る。そのデータは、任意の適切な方法、たとえば、テスト・ユーザのグループ全体またはユーザの（たとえばハンドサイズごとの）サブグループに対して適用されるオフセットを平均するなどによって、編成され処理され得る。限定ではなく例として、試験は、タッチ感知領域上の指定位置をタップすることを含むことがある。タップされた位置と指定位置との差が、タッピング・タッチ・ジェスチャに対するオフセットとして記憶され得る。デバイスは、試験期間中に明確に試験されていない位置に対してタッピング・ジェスチャが行われたときに適用するための適切なオフセットを推定する、任意の適切な機能または統計的方法を使用してもよい。試験期間から決定されたオフセットのタイプ、オフセットの量、およびオフセットを適用するときを定義する条件は、デバイスの商用ユーザが最初に使用する前にデバイスにロードすることができる。本開示は、オフセットが決定されデバイスに予めロードされ得る異なる方法の具体例を説明しているが、本開示は、オフセットを決定しデバイスに予めロードする任意の適切な方法を企図している。
【００３６】
特定の実施形態では、１つまたは複数のオフセットが、デバイスまたはデバイスのユーザによってダウンロードされ得る。上述の例を続けると、さらなる試験により、既存のオフセットに対する追加のオフセットまたは調整（refinement）が適切であることが明らかにされた場合、デバイスは、更新されたオフセットを自動的にダウンロードする、またはユーザに更新をダウンロードするのを促すことができる。特定の実施形態では、ユーザは、１つまたは複数のタッチ・ジェスチャに対応する１つまたは複数のオフセットをアップロードまたはダウンロードすることができる。たとえば、ユーザは、特定のゲームにおけるタッチ・ジェスチャなどの特定のデバイスまたは特定のアプリケーションに関して別のユーザが作成したオフセットをダウンロードすることができる。特定の実施形態では、ユーザは、特定のデバイス、アプリケーション、タッチ・ジェスチャにより使用するため、またはデバイスが特定の種類もしくは程度の動きを経験しているときなどの任意の適切な状況で使用するため、１つまたは複数のオフセットを作成または編集することができる。ユーザは、オフセットが適用されるべきとき、およびオフセットの程度が依存する任意の変数を含むオフセットが適用されるべき量および次元を指定することによって、そのような作成または編集をすることができる。特定の実施形態では、ユーザがデバイスを使用するときに機械学習の能力を有するデバイスによって、オフセットを作成するか、または既存のオフセットを編集することができる。たとえば、ユーザは、タッチ・ジェスチャによって意図する機能性をトリガする前に、（たとえば、タッチ感知領域に表示されたオブジェクトを選択しようと試みることにより）複数回のタッチ・ジェスチャを行う場合がある。デバイスは、複数の試みを記録し、失敗したタッチ・ジェスチャに適用されるときに意図された機能性をもたらすことになるオフセットを作成することができる。デバイスは、行われたタッチ・ジェスチャのタイプ、タッチ・ジェスチャを補正するために必要なオフセット、タッチ・ジェスチャに伴う（デバイスの動きなどの）状況、および、記録された情報に基づいてオフセットを作成または編集するための任意の他の適切なデータを記録し分析することができる。特定の実施形態では、ユーザまたはデバイスによって開始される試験段階中にオフセットが作成または編集され得る。たとえば、限定としではなく、ユーザは、タッチ・ジェスチャのすべてまたは特定の部分に対する試験を定期的に開始することを選択してもよく、試験の結果は、オフセットの作成または編集のために使用することができる。限定ではなく例として、試験は、タッチ感知領域上の指定位置をタップすることを含むことがある。タップされた位置と指定位置との差が、タッピング・タッチ・ジェスチャに対するオフセットとして記憶され得る。デバイスは、試験期間中に明確に試験されていない位置に対してタッピング・ジェスチャが行われたときに適用するための適切なオフセットを推定する、任意の適切な機能または統計的方法を使用してもよい。上述の開示では、ユーザまたはデバイスが、タッチ・ジェスチャに対するオフセットについてアクセス、記憶、作��、または編集する具体例を説明しているが、本開示は、タッチ・ジェスチャに対するオフセットについてアクセス、記憶、作成、または編集する任意の適切な方法あるいはそれが可能なハードウェアまたはソフトウェアを企図している。
【００３７】
特定の実施形態では、特定のタッチ・ジェスチャについて、２つ以上のオフセットが、デバイスに使用可能である、またはデバイスによって適用されることがある。１例として、デバイスは、ユーザがデバイスを最初に使用する前に１つまたは複数のオフセットをデバイスに予めロードすることができる。また、ユーザは、そのユーザがデバイスを使用するときに適用されるべきオフセットを含む１つまたは複数のプロファイルを作成してもよい。特定の実施形態では、上述の両方のタイプのオフセットをタッチ・ジェスチャに適用することができる。特定の実施形態では、一方のタイプのオフセットのみをタッチ・ジェスチャに適用することができる。上述の例は、２つのタイプのオフセットを同時に使用すること、または２つのタイプのオフセットの間で選択することを説明しているが、本開示は、任意の適切な数のオフセットを同時に使用すること、または適用または無視するオフセットの任意の適切な組合せを選択することを企図している。特定の実施形態では、ユーザは、特定の期間または使用セッションに、特定のアプリケーションまたはアプリケーションのセットを使用する間に、あるいは特定のタッチ・ジェスチャに対して、ユーザが無期限に適用したいオフセットまたはオフセットのタイプを選択することができる。１例として、ユーザは、デバイスが動きまたは特定のタイプの動きを経験している間のみ、ゲームなど特定のアプリケーションの期間中のみ、あるいは複数の指によるスワイプなど特定のタッチ・ジェスチャに対してのみに適用されるユーザ作成オフセットを選択することができる。特定の実施形態では、デバイスは、タッチ・ジェスチャに適用されるオフセットのタイプにアクセスし、タッチ・ジェスチャに適用することが適切となるオフセットのみを選択することができる。たとえば、特定のユーザが、そのユーザに特有のオフセットのセットを有効にすることができる。ユーザが、第２のユーザにデバイスを使用することを許可し、第２のユーザが、元のユーザに属さないとデバイスが検出するアプリケーションにサインインし、または元のユーザに属さないとデバイスが検出するデータにアクセスする場合、デバイスは、元のユーザのオフセットを自動的に無効にするか、または現在のユーザが元のユーザのオフセットを無効にしたいかどうかを現在のユーザに問い合わせることができる。また、デバイスは、第２のユーザがデバイスを使用していることを検出したとき、第２のユーザに関係するオフセットのセットを有効にすることもできる。本開示は、デバイスまたはユーザが種々のオフセットのセットをいつどのように有効または無効にすることができるかの具体例を説明しているが、本開示は、オフセットを有効または無効にする任意の適切な方法あるいはそれが可能なハードウェアまたはソフトウェアを企図している。
【００３８】
図５は、タッチ・ジェスチャの解決された位置にオフセットを適用するための例示的方法を示す。この方法は、デバイスのタッチ感知領域に対して行われたタッチ・ジェスチャが検出される、工程５００から開始する。工程５０２で、検出されたタッチ・ジェスチャの１つまたは複数の位置が決定される。工程５０４で、１つまたは複数のオフセットが、タッチ・ジェスチャの（１つまたは複数の）解決された位置に適用すべく選択される。工程５０６で、選択されたオフセットがタッチ・ジェスチャの解決された（１つまたは複数の）位置に適用され、この時点で本方法が終了し得る。特定の実施形態では、必要に応じて図５の方法の工程を繰り返すことができる。さらに、本開示は、図５の方法の特定の工程が特定の順序で行われるものとして説明し図示しているが、本開示は、図５の方法の任意の適切な工程が任意の適切な順序で行われることを企図する。さらに、本開示は、特定の構成要素、デバイス、またはシステムが図５の方法の特定の工程を実施することを説明し図示しているが、本開示は、図５の方法の任意の適切な工程を実施する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組合せを企図する。
【００３９】
図６は、例示的コンピュータ・システム６００を示す。特定の実施形態では、１つまたは複数のコンピュータ・システム６００が、本明細書に説明または図示される１つまたは複数の方法の１つまたは複数の工程を実行する。特定の実施形態では、１つまたは複数のコンピュータ・システム６００が、本明細書に説明または図示される機能性を提供する。特定の実施形態では、１つまたは複数のコンピュータ・システム６００上で実行されているソフトウェアが、本明細書に説明または図示される１つまたは複数の方法の１つまたは複数の工程を実行し、あるいは本明細書に説明または図示される機能性を提供する。特定の実施形態は、１つまたは複数のコンピュータ・システム６００の１つまたは複数の部分を含む。
【００４０】
本開示は、任意の適切な数のコンピュータ・システム６００を企図している。本開示は、任意の適切な物理的形態をとるコンピュータ・システム６００を企図している。限定ではなく例として、コンピュータ・システム６００は、組込みコンピュータ・システム、システム・オン・チップ（ＳＯＣ）、シングルボード・コンピュータ・システム（ＳＢＣ）（たとえば、コンピュータ・オン・モジュール（ＣＯＭ）またはシステム・オン・モジュール（ＳＯＭ）など）、デスクトップ・コンピュータ・システム、ラップトップまたはノートブック・コンピュータ・システム、インタラクティブ・キオスク、メインフレーム、コンピュータ・システムのメッシュ、携帯電話、携帯情報端末（ＰＤＡ）、サーバ、タブレット・コンピュータ・システム、あるいはこれらの２つ以上の組合せであってよい。コンピュータ・システム６００は、適宜、１つまたは複数のコンピュータ・システム６００を含み、一体型または分散型であり、複数の位置にまたがり、複数のマシンにまたがり、複数のデータセンタにまたがり、あるいは、１つまたは複数のネットワーク内に１つまたは複数のクラウド構成要素を含み得るクラウド内に存在することができる。１つまたは複数のコンピュータ・システム６００は、適宜、実質的な空間的または時間的制限なしに、本明細書に説明または図示される１つまたは複数の方法の１つまたは複数の工程を実行することができる。限定ではなく例として、１つまたは複数のコンピュータ・システム６００は、リアルタイムまたはバッチ・モードで、本明細書に説明または図示される１つまたは複数の方法の１つまたは複数の工程を実行することができる。１つまたは複数のコンピュータ・システム６００は、適宜、異なる時点または異なる位置において、本明細書に説明または図示される１つまたは複数の方法の１つまたは複数の工程を実行することができる。
【００４１】
特定の実施形態では、コンピュータ・システム６００は、プロセッサ６０２、メモリ６０４、ストレージ６０６、入力／出力（Ｉ／Ｏ）インターフェース６０８、通信インターフェース６１０、およびバス６１２を含む。本開示は、特定の配置で特定の数の特定の構成要素を有する特定のコンピュータ・システムを説明し図示しているが、本開示は、任意の適切な配置で任意の適切な数の任意の適切な構成要素を有する任意の適切なコンピュータ・システムを企図している。
【００４２】
特定の実施形態では、プロセッサ６０２は、コンピュータ・プログラムを構成する命令などの命令を実行するためのハードウェアを含む。限定ではなく例として、命令を実行するために、プロセッサ６０２は、内部レジスタ、内部キャッシュ、メモリ６０４、またはストレージ６０６から命令を取り出し（またはフェッチし）、それらの命令を復号して実行し、次いで、１つまたは複数の結果を、内部レジスタ、内部キャッシュ、メモリ６０４、またはストレージ６０６に書き込むことができる。特定の実施形態では、プロセッサ６０２は、データ、命令、またはアドレス用の１つまたは複数の内部キャッシュを含むことができる。本開示は、特定のプロセッサを説明し図示しているが、本開示は、任意の適切なプロセッサを企図している。
【００４３】
特定の実施形態では、メモリ６０４は、プロセッサ６０２が実行する命令またはプロセッサ６０２が操作するデータを記憶するためのメイン・メモリを含む。限定ではなく例として、コンピュータ・システム６００は、ストレージ６０６または別のソース（たとえば、別のコンピュータ・システム６００など）から命令をメモリ６０４にロードすることができる。次いで、プロセッサ６０２は、命令をメモリ６０４から内部レジスタまたは内部キャッシュにロードすることができる。命令を実行するために、プロセッサ６０２は、命令を内部レジスタまたは内部キャッシュから取り出して復号することができる。命令の実行中もしくは実行後に、プロセッサ６０２は、（中間結果もしくは最終結果であり得る）１つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込むことができる。次いで、プロセッサ６０２は、これらの結果のうちの１つまたは複数をメモリ６０４に書き込むことができる。特定の実施形態では、プロセッサ６０２は、（ストレージ６０６または他の場所ではなく）１つまたは複数の内部レジスタもしくは内部キャッシュまたはメモリ６０４にある命令のみを実行し、（ストレージ６０６または他の場所ではなく）１つまたは複数の内部レジスタもしくは内部キャッシュまたはメモリ６０４にあるデータのみを操作する。１つまたは複数のメモリ・バス（それぞれアドレス・バスおよびデータ・バスを含み得る）は、プロセッサ６０２をメモリ６０４に結合することができる。バス６１２は、後述するように、１つまたは複数のメモリ・バスを含んでいてもよい。特定の実施形態では、１つまたは複数のメモリ管理ユニット（ＭＭＵ）が、プロセッサ６０２とメモリ６０４との間に存在し、プロセッサ６０２によって要求されたメモリ６０４へのアクセスを容易にする。本開示は、特定のメモリを説明し図示しているが、本開示は、任意の適切なメモリを企図している。
【００４４】
特定の実施形態では、ストレージ６０６は、データまたは命令用の大容量ストレージを含む。ストレージ６０６は、適宜、取り外し可能または取り外し不可能な（すなわち固定）媒体を含むことができる。ストレージ６０６は、適宜、コンピュータ・システム６００の内部または外部とすることができる。特定の実施形態では、ストレージ６０６は、不揮発性のソリッド・ステート・メモリである。ストレージ６０６は、適宜、１つまたは複数のストレージ６０６を含むことができる。本開示は、特定のストレージを説明し図示しているが、本開示は、任意の適切なストレージを企図している。
【００４５】
特定の実施形態では、Ｉ／Ｏインターフェース６０８は、コンピュータ・システム６００と１つまたは複数のＩ／Ｏデバイスとの間の通信のための１つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、または両方を含む。コンピュータ・システム６００は、適宜、これらのＩ／Ｏデバイスのうちの１つまたは複数を含むことができる。これらのＩ／Ｏデバイスのうちの１つまたは複数により、人とコンピュータ・システム６００の間の通信が可能になる。限定ではなく例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロホン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なＩ／Ｏデバイス、またはこれらの２つ以上の組合せを含み得る。Ｉ／Ｏデバイスは、１つまたは複数のセンサを含むことができる。本開示は、任意の適切なＩ／Ｏデバイス、およびそれらの任意の適切なＩ／Ｏインターフェース６０８を企図している。Ｉ／Ｏインターフェース６０８は、適宜、プロセッサ６０２がこれらのＩ／Ｏデバイスのうちの１つまたは複数を駆動することを可能にする、１つまたは複数のデバイスまたはソフトウェア・ドライバを含むことができる。Ｉ／Ｏインターフェース６０８は、適宜、１つまたは複数のＩ／Ｏインターフェース６０８を含むことができる。本開示は、特定のＩ／Ｏインターフェースを説明し図示しているが、本開示は、任意の適切なＩ／Ｏインターフェースを企図している。
【００４６】
特定の実施形態では、通信インターフェース６１０は、コンピュータ・システム６００と１つもしくは複数の他のコンピュータ・システム６００または１つもしくは複数のネットワークとの間の通信（たとえば、パケット・ベースの通信など）のための１つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、または両方を含む。限定ではなく例として、通信インターフェース６１０は、イーサネット（登録商標）または他の有線ベースのネットワークと通信するためのネットワーク・インターフェース・コントローラ（ＮＩＣ）またはネットワーク・アダプタ、あるいはＷｉ−Ｆｉネットワークなどのワイヤレス・ネットワークと通信するためのワイヤレスＮＩＣ（ＷＮＩＣ）またはワイヤレス・アダプタを含むことができる。本開示は、任意の適切なネットワーク、およびそのための任意の適切な通信インターフェース６１０を企図している。本開示は、特定の通信インターフェースを説明し図示しているが、本開示は、任意の適切な通信インターフェースを企図している。
【００４７】
特定の実施形態では、バス６１２は、コンピュータ・システム６００の構成要素を互いに結合するハードウェア、ソフトウェア、または両方を含む。本開示は、特定のバスを説明し図示しているが、本開示は、任意の適切なバスまたは相互接続を企図している。
【００４８】
本明細書では、１つまたは複数のコンピュータ可読非一時的記憶媒体は、１つまたは複数の半導体ベースまたは他の集積回路（ＩＣ）（たとえば、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）もしくは特定用途向けＩＣ（ＡＳＩＣ）など）、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスク・ドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）・ディスク、フロッピー・ディスク・ドライブ（ＦＤＤ）、磁気テープ、ソリッド・ステート・ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュア・デジタル（ＳＥＣＵＲＥ  ＤＩＧＩＴＡＬ）カードまたはドライブ、任意の他の適切なコンピュータ可読非一時的記憶媒体、あるいはこれらの２つ以上の任意の適切な組合せを適宜に含み得る。コンピュータ可読非一時的記憶媒体は、適宜、揮発性、不揮発性、または揮発性と不揮発性の組合せとすることができる。
【００４９】
本明細書で、「または」は、明示的にまたは文脈で別段の指示がない限り、包含的であり排他的ではない。したがって、本明細書で、「ＡまたはＢ」は、明示的にまたは文脈で別段の指示がない限り、「Ａ、Ｂ、または両方」を意味する。さらに、「および」は、明示的にまたは文脈で別段の指示がない限り、共同と個別の両方である。したがって、本明細書で、「ＡおよびＢ」は、明示的にまたは文脈で別段の指示がない限り、「共同的または個別的にＡとＢ」を意味する。
【００５０】
本開示は、当業者が理解するであろう本明細書の例示的実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。さらに、本開示は、本明細書のそれぞれの実施形態が特定の構成要素、要素、機能、動作、または工程を含むものとして説明し図示しているが、これらの実施形態のいずれも、当業者が理解するであろう本明細書のいずれかの箇所に説明されまたは図示される任意の構成要素、要素、機能、動作、または工程の任意の組合せまたは置換を含み得る。さらに、特定の機能を、実施するように適合され、実施するように配置され、実施する能力を有し、実施するように構成され、実施可能にされ、実施するように動作可能であり、または実施するように作用する装置、システム、または装置もしくはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適合され、配置され、能力を有し、構成され、可能にされ、動作可能であり、または作用する限り、それまたはその特定の機能が有効にされ、オンにされ、またはロック解除されているかどうかに関わらず、その装置、システム、構成要素を包含する。
【図１Ｂ】
0005965072.tif 000002
【図３】
0005965072.tif 000003
【図４】
0005965072.tif 000004
【図１Ａ】
0005965072.tif 000005
【図２】
0005965072.tif 000006
【図５】
0005965072.tif 000007
【図６】
0005965072.tif 000008