コンピュータデバイスであって、ユーザの手の位置及び/または動きを検出するように構成されているセンサを含むマルチタッチセンサ式ディスプレイと、前記ディスプレイ上に表示されるグラフィカルユーザインタフェースであって、複数の実行可能タッチ入力を含んでいる状態を有するグラフィカルユーザインタフェースと、前記検出されたユーザの手の位置及び/または動き、並びに前記複数の実行可能ユーザ入力に基づいて1または複数の予測タッチ入力を演算するように構成されたタッチイベント予測モジュールと、前記予測タッチ入力の各々に関する事前処理データを生成し、前記ユーザから受信した前記予測タッチ入力の1つと合致する実際のタッチ入力の検出において、前記実際のタッチ入力に対する前記事前処理データを前記グラフィカルユーザインタフェース上に表示させるように構成された事前処理モジュールと、を含むことを特徴とするコンピュータデバイス。前記事前処理モジュールは予測タッチイベントにおいて表示されるべきデータをキャッシュにプリロードするように、及び/または予測タッチイベントに対する事前演算を実行するように構成され、前記タッチイベント予測モジュールは、前記予測ユーザ入力の各々が選択される推定可能性を、以前の使用データに基づいて演算し、かつより高い選択可能性を有する1または複数の予測ユーザ入力に事前処理リソースを割り当てて他の予測ユーザ入力の事前処理をせずに済ませるように前記事前処理モジュールに指示するように構成された統計エンジンを含むことを特徴とする請求項1に記載のコンピュータデバイス。前記センサは、インピクセル光学センサ、容量式タッチセンサ、抵抗式タッチセンサ、圧力センサ、または赤外線センサであり、前記センサは、前記手が前記ディスプレイの表面から離間している場合に前記手の位置及び/または動きを検出するように構成されており、前記センサは、前記手の1または複数の指及び/または前記手によって保持されているスタイラスペンの位置及び/または動きを検出するように構成されていることを特徴とする請求項1に記載のコンピュータデバイス。前記タッチイベント予測モジュール及び前記事前処理モジュールは、プログラムをオペレーティングシステムに前記コンピュータデバイス上で機能的にリンクさせるアプリケーションプログラムインタフェースの一部であることを特徴とする請求項1に記載のコンピュータデバイス。前記コンピュータデバイスは、前記予測タッチ入力を前記ユーザに表示するように構成されており、前記表示は、前記予測タッチ入力のユーザフィードバックを提供するために前記グラフィカルユーザインタフェースの部分を明るくする、色を変更する、徐々に消す及び/または非表示にする変化を含むことを特徴とする請求項1に記載のコンピュータデバイス。演算方法であって、コンピュータデバイスのタッチセンサ式ディスプレイ上に複数の実行可能なタッチ入力を有する状態を含むグラフィカルユーザインタフェースを表示することと、前記コンピュータデバイスのセンサを介してユーザの手の位置及び/または動きを検出することと、前記検出されたユーザの手の位置及び/または動き、並びに複数の実行可能なタッチ入力を有する前記ユーザインタフェースの前記状態に基づいて、1または複数の予測タッチ入力を演算することと、前記予測タッチ入力の各々に関するデータを事前処理することと、前記予測タッチ入力のうちの1つに合致する実際のタッチ入力を検出することと、前記実際のタッチ入力に対して前記グラフィカルユーザインタフェース上に前記事前処理されたデータを表示することとを含むことを特徴とする方法。前記データを事前処理することは、前記予測タッチイベントの各々の実行において表示されるべきデータをキャッシュ内にプリロードすることと、前記予測タッチイベントの各々に対する事前演算を実行することとを含むことを特徴とする請求項6に記載の方法。前記予測ユーザ入力が選択される推定可能性を以前の使用データに基づいて演算することと、より高い可能性を有する予測ユーザ入力に関するデータの事前処理を実行して、より低い可能性を有する予測ユーザ入力の事前処理をせずに済ますこととを含み、前記1または複数の予測タッチ入力を演算すること及び前記予測ユーザ入力の各々に関するデータを事前処理することは、前記コンピュータデバイス上でプログラムをオペレーティングシステムに機能的にリンクさせるアプリケーションプログラムインタフェースによって少なくとも部分的に実行されることを特徴とする請求項6に記載の方法。前記検出することは、インピクセル光学センサ、容量式タッチセンサ、抵抗式タッチセンサ、及び赤外線センサからなるグループから選択されるセンサによって実行され、前記ユーザの手の位置及び/または動きを検出することは、前記手が前記ディスプレイの表面から離間している場合に前記手の位置及び/または動きを検出することと、前記手の1または複数の指の位置及び/もしくは動き、または前記手によって保持されているスタイラスペンの位置及び/もしくは動きを検出することとをさらに含むことを特徴とする請求項6に記載の方法。前記ディスプレイ上の前記予測タッチ入力を前記ユーザに表示することをさらに含み、前記表示は、前記予測タッチ入力のユーザフィードバックを提供するために前記グラフィカルユーザインタフェースの部分を明るくする、色を変更する、徐々に消す及び/または非表示にする変化を含むことを特徴とする請求項6に記載の方法。図1は、1または複数のタッチイベントの予測のために構成されたコンピュータデバイス10の1つの実施形態を示している。ユーザがタッチ入力を行う用意をしている際に、ユーザの手5は、コンピュータデバイス10のタッチセンサ式ディスプレイ12に接近する。タッチセンサ式ディスプレイ12は、以下に説明する様々な検出技術を用いて、ユーザの手5がディスプレイの表面からギャップ14だけ離間していてもユーザの手5を検出するように構成される。ディスプレイ12から見て、手はディスプレイ12上において検出される影16を投げかけるように見え得る。コンピュータデバイスは、手の位置及び動きを解釈して、発生するであろう1または複数の予測されるタッチ入力予測タッチ入力の予測を生成し、その後、予測されたタッチ入力のうちの1つをユーザが実際に実行した際に遅延を減少するように事前処理を行うよう構成されている。結果として、予測タッチ入力に対するコンピュータデバイスの応答時間を向上することができ、コンピュータデバイスのユーザ経験が向上し、例えば、ユーザがさらに迅速にコンピュータタスクを終了させて他者との交流を再開することが可能になる。図2に示すように、コンピュータデバイス10は、ユーザの手5の手の位置20及び/または手の動き22を検出するように構成されたセンサ18を含むマルチタッチセンサ式ディスプレイ12を通常含んでいる。いくつかの実施形態において、センサ18は、手5がディスプレイ12に接触している場合の実際タッチ入力48、及び同様に手がディスプレイの表面からある距離をもって離間している場合の手の位置及び/または動きを示す離間入力46を検出するように構成されていてもよい。いくつかの実施形態において、センサ18は、手全体と同様に、手の1または複数の指の位置及び動作を検出してそれらを区別するように構成されていてもよい。さらに、センサを、手に保持されているスタイラスペンの位置または動きを検出し、かつ手からスタイラスペンを区別するように構成できる。センサ18は、1または複数の様々なタイプのセンサを用いることができる。例えば、センサ18は、インピクセルinpixel光学センサ、容量式タッチセンサ、抵抗式タッチセンサ、赤外線センサ、圧力センサ、または他のタイプのセンサであるかまたはこれらの1または複数を含んでいてもよい。センサ18はディスプレイ12内に一体化されるか、または破線で示されているようにディスプレイ12と別に形成されてもよい。例えば、容量式、抵抗式及びインピクセルセンサは、通常はディスプレイに一体化され、カメラ等の光学センサは、ディスプレイと別個に形成されてディスプレイ上方の領域の視野に向けられる。コンピュータデバイス10は、大容量記憶装置24内に保存されており、メモリ28の一部を用いてプロセッサ26を介して実行され、センサ18から受信したセンサ入力30を処理して、ディスプレイ12において表示するために処理結果を出力する1または複数のプログラム及びモジュールを含む。プロセッサ26、メモリ28及び大容量記憶装置24は、1または複数のデータバス29を介して、互いに及びディスプレイ12と通信できる。様々なプロセッサ、メモリ及び大容量記憶装置構成を使用できる。いくつかの実施形態において、例えば、コンピュータデバイスは、携帯電話及び/またはタブレットコンピュータデバイスとして構成され、メモリ及び大容量記憶装置は両方とも半導体とすることもできる。他の実施形態において、例えば、コンピュータデバイスは、ラップトップコンピュータ、デスクトップコンピュータ、テーブルトップコンピュータ、キオスクコンピュータ等であってもよく、大容量記憶装置はハードドライブでもよい。大容量記憶装置24に保存されているプログラム32は、ディスプレイ12におけるグラフィカルユーザインタフェースGUI36を生成して表示するように構成されたグラフィカルユーザインタフェースモジュール34を含むアプリケーションプログラム、オペレーティングシステムコンポーネント、または他のプログラムとすることができる。グラフィカルユーザインタフェースは、複数の実行可能なタッチ入力を含む状態38を通常は含んでいる。図1に示されている例において、ディスプレイ12に表示されているGUI36は、タイルパターンで配されている複数の選択可能アイコンを含んでいる。アイコンの各々は、実行可能なタッチ入力をユーザに対して表示している。1または複数の実行可能なタッチ入力を各々が表示する、ボタン、プルダウンメニュー、スライダ、スクロールバー、ハイパーリンク、リスト、ラジオボタン等、多数の他のGUI構成がとられ得る。コンピュータデバイス10は、大容量記憶装置24に保存されているタッチイベント予測モジュール40をさらに含む。実行の際に、タッチイベント予測モジュール40は、検出されたユーザの手の位置20及び/または手の動き22、並びに複数の実行可能なユーザ入力を伴うGUI36の状態38に基づいて1または複数の予測タッチ入力42を演算するように構成されている。通常、タッチイベント予測モジュール40は、ディスプレイ12からギャップ14だけ離間している手の離間入力46から、検出された手の位置20及び手の動き22に基づいて予測タッチ入力42を演算する。コンピューティングデバイス10は、大容量記憶装置24に保存されている事前処理モジュール44をさらに含んでいる。事前処理モジュール44は、予測タッチ入力42の各々に対して事前処理データ54を生成するように構成されている。例えば、事前処理モジュール44は、予測されたタッチイベントの実現時に表示されるようにかつ/または予測タッチイベントに対する事前演算52を実行するために、データをプリロードキャッシュ50にプリロードするように構成されていてもよい。ディスプレイ12へのユーザの手の接触による、予測タッチ入力48のうちの1つと合致するユーザによる実際のタッチ入力48の検出の際に、事前処理モジュール44は、実際のタッチ入力48に対して事前処理データがグラフィカルユーザインタフェースに表示されるように構成されている。実際のタッチイベントを、1つの実施形態においてタッチイベント予測モジュールによって検出することができ、また、他の実施形態において別個のジェスチャ認識モジュールによって検出することができることが理解されるだろう。事前処理モジュールは、例えば、事前処理データ54が利用可能なプログラム32と通信し、タッチイベント予測モジュールによって、あるいは上記したジェスチャ認識モジュールによって実際のタッチイベントが知らされた後に、プログラムが予定の場所から事前処理データを取得して表示することを可能とすることによって、事前処理データ54を表示させることができる。図示されている実施形態において、タッチイベント予測モジュールは、統計エンジン56を含む。統計エンジン56は、以前の使用データに基づいて予測ユーザ入力48の各々が選択される推定可能性58を演算し、事前処理モジュールに、プリロードキャッシュ50及び事前演算52のためのロジック等の事前処理リソースを、選択可能性の高い1または複数の予測ユーザ入力48に割り当てて、他の予測ユーザ入力48の事前処理をせずに済ますように命令するように構成される。以前の使用データを、例えば、コンピュータデバイスの個々のユーザに関して、またはコンピュータデバイスの全てのユーザに関して演算できる、またはコンピュータネットワークを介して中央データベースからダウンロードされた広範囲のユーザグループに関する集計された使用統計とすることができる。タッチイベント予測モジュールの予測エンジン60を、離間入力46の手の位置20及び手の動き22をセンサ18から受信し、GUI状態38情報をGUIモジュール34から受信し、かつ可能性を統計エンジン56から受信して、発生の推定可能性に従ってランク付けされた予測タッチ入力42のランクリストを演算するように構成することができる。事前処理モジュールは、コンピュータデバイス上の利用可能なメモリ及びプロセッサ使用率を分析して、実行可能な事前処理動作に対する利用可能なリソース閾値を判定し、利用可能リソース閾値に達するまでランクリストにおける予測タッチ入力のサブセットに対する事前処理データ54を生成することを選択してもよい。この態様において、コンピュータデバイス10に過負荷を与えずにリソースの効率的な利用がなされ得る。コンピュータデバイスが、様々なプログラムがオペレーティングシステムリソースと通信してこれを利用するために用いられるアプリケーションプログラムインタフェースを含むオペレーティングシステムを含むことができることが理解されるだろう。従って、1つの実施形態において、タッチイベント予測モジュール40及び事前処理モジュール44は、コンピュータデバイスにおいてプログラムをオペレーティングシステムに機能的にリンクさせるアプリケーションプログラムインタフェースの一部とすることができる。他の実施形態において、タッチイベント予測モジュール40及び事前処理モジュール44は、コンピュータデバイス10においてユーザセッションに亘るバックグラウンドにおいて実行されるサービス等の実行可能プログラムである。図3には、コンピュータデバイス10のディスプレイ12から離間してディスプレイ12の上方に表されている第1の手の動きとともにコンピュータデバイス10が示されている。手5は、人差し指が伸びた状態で、かつ右から左へ、5で示されている第1の位置から5Aで示されている第2の位置に移動している状態で示されている。破線で示されているタイル状のウインドウ枠の全てがGUI36における実行可能なタッチ入力である別個の選択可能アイコンを表しているのに対して、伸びた人差し指を伴う手のこの右から左の動きの検出において、人差し指が一番左の2つのアイコンを選択する可能性が高くかつGUI36上の残りの実行可能な入力を通り過ぎて動いたために、図示されているように、タッチイベント予測モジュール40を、一番左の2つのアイコンが予測タッチ入力42であると判定するように構成することができる。図4には、コンピュータデバイス10のディスプレイ12から離間してディスプレイ12上に表されている第2の手の動きとともにコンピュータデバイス10が示されている。手5の指は、伸びておりかつ左から右へ、5で示されている手の指の第1の位置から5Aで示されている手の指の第2の位置へ移動しているように示されている。伸びた指のこの左から右への動きの検出において、伸びている人差し指が一番右の2つのアイコンを選択する可能性が高くかつGUI36上の残りの実行可能な入力を通り過ぎて動いたために、図示されているように、タッチイベント予測モジュール40を、一番右の2つのアイコンが予測タッチ入力42であると判定するように構成することができる。図5には、コンピュータデバイス10のディスプレイ12から離間してディスプレイ12上に表されている第3の手の動きとともにコンピュータデバイス10が示されている。手5は、ディスプレイに向かって下方に曲げられ、右から左へ、5に示されている第1の位置から5Aに示されている第2の位置まで移動しているように示されている。右から左に移動してきてこの位置に停止してホバリングしている手の検出において、タッチイベント予測モジュール40を、手が左手であること、人差し指及び中指が選択アイコンに関与する可能性が高く、人差し指と中指が予測タッチ入力42として示される3つのアイコン上に配されていることを判定するように構成できる。残りの実行可能な入力は、人差し指及び中指の到達範囲外にある。従って、残りの3つの実行可能な入力は、予測タッチ入力42と判定されない。図6には、コンピュータデバイス10のディスプレイ12から離間してディスプレイ12上に表されている第4の手の動きとともにコンピュータデバイス10が示されている。この図において、伸びた指はディスプレイ12に、紙面に対して垂直に接近している。手の指によって投じられた影は、5に示されるように手の指の第1の位置において大きく広がって示され、5Aに示されるように手の指の第2の位置においてシャープにかつ小さく示されている。ディスプレイに対する手のこの垂直な移動の検出において、他の実行可能なユーザ入力が選択される可能性が低いために、図示されているように、タッチイベント予測モジュール40を、手の第2の位置の直下のアイコンのみが予測タッチ入力42であると判定するように構成することができる。いくつかの実施形態において、予測タッチ入力は、ディスプレイ上の表示を通したフィードバックとしてユーザに提供され得る。例えば、予測タッチ入力であると判定された1または複数のアイコンは、ディスプレイにおいて他のアイコンよりも明るくされかつ/または他のアイコンと色が変えられてもよい。他の例において、予測タッチ入力であると判定された1または複数のアイコンが可視状態にされて他のアイコンがディスプレイから徐々に消されるかまたは非表示にされてもよい。アイコンは、手の動き例えば、図3-6に示されている第1、第2、第3及び/または第4の手の動きに対応してリアルタイムで可逆的な表示を提供してもよい。この態様にて、ユーザが予測タッチ入力に関連するフィードバックを受けてもよい。図7は、コンピュータデバイスにおける1または複数のタッチイベントの予測の方法100の1つの実施形態を表すフロー図である。方法100を、上述のコンピュータデバイス10のソフトウェア及びハードウェアコンポーネントによって、または他の適切なハードウェア及びソフトウェアコンポーネントによって実行できることが理解されるだろう。方法100は、符号102において、コンピュータデバイスのマルチタッチセンサ式ディスプレイ等のタッチセンサ式ディスプレイ上の複数の実行可能なタッチ入力を有する状態を含むグラフィカルユーザインタフェースの表示を含む。符号104において、本方法は、コンピュータデバイスのセンサを介したユーザの手の位置及び/または動きの検出を含む。例えば、この検出を、上述したようなインピクセル光学センサ、容量式タッチセンサ、抵抗式タッチセンサ及び赤外線センサを含むグループから選択されたセンサによって実行できる。あるいは、他のセンサ技術を使用できる。符号106において示されているように、ユーザの手の位置及び/または動きの検出は、手がディスプレイの表面からある距離離間している場合における、手の位置及び/または動きの検出をさらに含むことができる。さらに、符号108において示されているように、ユーザの手の位置及び/または動きの検出は、1または複数の手の指の位置及び動きの検出をさらに含むことができる。これは、本方法において、右手と左手の間の差異、手の個々の指の間の差異を区別することを可能にすることができ、この方法は、人差し指と中指の位置及び予測される動きを判定する場合に有用であり、タッチ入力を実行する可能性が最も高いと見なすことができる。さらに、いくつかの実施形態において、符号110において示されているように、ユーザの手の位置及び/または動きの検出は、手によって保持されているスタイラスペンの位置または動きの検出をさらに含むことができ、この検出を、予測入力のさらに正確な予測に使用することができる。符号112において、この方法は、検出されたユーザの手の位置及び/または動き、並びに複数の実行可能なタッチ入力を有するユーザインタフェースの状態に基づいた1または複数のタッチ入力の演算をさらに含むことができる。この演算を、以下に詳細に説明するように、予測エンジンによって実行することができ、かつ以前の使用データに基づくことができる。符号116において、この方法は、予測タッチ入力の各々に対するデータの事前処理を含んでもよい。符号118に示されているように、データの事前処理は、予測タッチイベントの各々の実行において表示されるべきデータのキャッシュ内へのプリロードを含むことができる。さらに、符号120に示されているように、データの事前処理は、予測タッチイベントの各々に対する事前演算の実行を含むことができる。符号116おける事前処理から生成された事前処理データは、リクエストプログラムと通信可能な既知の場所に保存され、プログラムが後に事前処理データにアクセスして事前処理データを表示することができる。符号124において、この方法は、予測タッチ入力のうちの1つと合致する実際のタッチ入力の検出を含んでもよい。実際のタッチ入力は、通常は、ユーザによって、手の指及び/または掌がディスプレイの表面へ接触することによって入力されるジェスチャである。この検出は、上述の予測モジュールによって実行されるか、または代替的にコンピュータデバイス10上で実行される独立したジェスチャ認識モジュールによって実行されてもよい。符号126において、この方法は、実際のタッチ入力に対するグラフィカルユーザインタフェース上の事前処理データの表示を含む。事前処理データの表示を、事前処理データが既知の場所において利用可能でありかつ表示する準備ができているという事前処理モジュールからの通信を受信した後に、グラフィカルユーザインタフェースを表示するプログラムのグラフィカルユーザインタフェースモジュールによって実行することができる。事前処理データの表示によって、遅延を低減することができる。すなわち、GUI要素のユーザ選択とディスプレイ上の順次データの表示との間のラグが低減され、ユーザ経験の向上という付随の利点が得られる。いくつかの実施形態において、方法100は、上述のように、符号114において、予測ユーザ入力の各々が選択される推定可能性の演算であって以前の使用データに基づいた演算を含むことができ、符号122において、より高い可能性を伴う予測ユーザ入力に対するデータの事前処理を実行して、より低い可能性を伴う予測ユーザ入力の事前処理をせずに済ますことを含むことができる。いくつかの実施形態において、方法100は、ユーザへの予測タッチ入力の表示を任意に含むことができる。この表示は、上述のように、ユーザのタッチ予測に応答して、GUIの部分を明るくする、色を変化させる、徐々に消す及び/または非表示にする変化を含むことができる。符号112における1または複数のタッチ入力の演算ステップ、符号114における推定可能性の演算ステップ、及び/または符号116における予測タッチ入力の各々に対するデータの事前処理ステップを、上述のように、プログラムをオペレーティングシステムへコンピュータデバイス上で機能的にリンクさせているアプリケーションプログラムインタフェースによって全体としてまたは少なくとも部分的に実行することができることが理解されるだろう。上述のシステム及び方法を、コンピュータデバイス上のタッチセンサ式ディスプレイのグラフィカルユーザインタフェースとのユーザインタラクションuserinteractionにおける遅延を低減するために使用することができ、それによってタスクのさらに迅速な完了を可能にしてユーザ経験を向上させることができる。用語モジュール、プログラム及びエンジンは、本明細書において、コンピュータデバイスのプロセッサによって実行される際に1または複数の特定の機能を実行するソフトウェアをいう。これらの用語は、例えば、実行可能ファイル、データファイル、ライブラリ、ドライバ、スクリプト、データベースレコードの各々またはこれらのグループ包含するように意図されている。本明細書に記載されている実施形態は、これらのモジュール、プログラム及びエンジンの構成の一例を示しているが、本明細書に記載されている機能が異なる構成のソフトウェアコンポーネントによって達成されてもよいことが理解されるべきである。数値的な変更が可能であるので、本明細書に記載されている構成及び/またはアプローチは、例示的な性質のものであり、これらの特定の実施形態または実施例は、限定的な意味ではないことが理解されるべきである。本明細書に記載されている特定の動作または方法は、多数の処理戦略の1または複数を表していてもよい。よって、記載されている様々な動作は、記載されている順序で、他の順序で、もしくは並列で実行されてもよく、いくつかの場合において省略されてもよい。同様に、上述の処理の順序は変更されてもよい。本開示の発明の内容は、本明細書に開示されている様々な処理、システム及び構成、並びに他の特徴、機能、動作、及び/または特性の新規かつ非自明な組み合わせ及び下位組み合わせの全て、及びこれらの全ての均等範囲を含んでいる。