(58)【調査した分野】(Int.Cl.,DB名)
前記入力装置は、コンピューティング装置とは物理的に別個であり、かつ前記コンピューティング装置から通信可能に取外し可能である入力装置を含む、請求項1に記載の方法。
前記分析することは、前記のユーザによる該ユーザの意図を示すための別のオプション又はボタン選択がない場合に、前記ユーザ入力の意図を自動的に分類するように前記力情報を分析することを含む、請求項1に記載の方法。
前記圧力感知可能キーボード入力装置は、コンピューティング装置とは物理的に別個であり、かつ前記コンピューティング装置から通信可能に取外し可能である入力装置を含む、請求項5に記載の方法。
入力装置であって、該入力装置の共通入力領域へのユーザ入力に関する力情報を取得するように構成され、前記力情報は前記ユーザ入力によって加えられた圧力を示す、入力装置と、
動作を実施する1つ以上のモジュールであって、前記動作は、
前記ユーザ入力の意図を2つ以上の意図のうち1つとして分類するように前記力情報を分析する動作であって、前記2つ以上の意図は、キー押打とマウスクリックとを含み、前記分析する動作は、前記ユーザ入力として加えられた圧力が開始閾値量に上昇したときに始まり、かつ前記ユーザ入力として加えられた圧力が極小又は停止閾値量に下降したときに終わる初期インパクト時間間隔を定義することを含む、動作と、
力の急な上昇の後に力の急な低下が続くことを前記ユーザ入力が含むことに応答して、前記ユーザ入力の意図をキー押打として分類する動作であって、力の前記急な上昇と前記急な低下とは前記初期インパクト時間間隔の間に生じる、動作と、
マウスクリックの特性に一致する力情報に応答して、前記ユーザ入力の意図をマウスクリックとして分類する動作と、
を含む、モジュールと、
を含み、
前記分析する動作は、前記ユーザ入力として加えられた圧力が前記開始閾値量に上昇したときに始まり、かつ前記ユーザ入力として加えられた圧力がさらなる停止閾値量に下降したときに終わるさらなる時間間隔を定義することと、前記さらなる時間間隔の間に前記ユーザ入力として加えられた最大の力を識別することとをさらに含み、
前記ユーザ入力の意図をマウスクリックとして分類する動作は、前記さらなる時間間隔の間に前記ユーザ入力として加えられた前記最大の力が前記さらなる時間間隔の始まりの少なくともある閾値量の時間後に加えられた場合に、前記ユーザ入力の意図をマウスクリックとして分類することを含む、
装置。
前記ユーザ入力として加えられた圧力は、前記初期インパクト時間間隔の間に極大の力に上昇し、力の前記急な上昇の後に力の前記急な低下が続くことは、前記ユーザ入力として加えられた圧力が前記初期インパクト時間間隔の始めのある閾量の時間内に前記極大の力に上昇することと、前記初期インパクト時間間隔の終わりにおける前記ユーザ入力として加えられた圧力が前記極大の力の特定パーセンテージより小さいこととを含む、請求項7に記載の装置。
【発明を実施するための形態】
【0009】
概要
ユーザ入力手法の意図の分類が説明される。種々の種類のユーザ入力が、入力装置のキーボードを介して、ユーザにより提供されることができる。これらの種々の種類のユーザ入力には、例えば、キー押打(key strikes)、マルチタッチインタラクション及び/又はマウスクリックを含む。圧力感知可能キーボードに加えられる圧力に関する力情報と圧力が加えられる1又は複数の位置とが、種々の種類のユーザ入力の1つとして、ユーザ入力の意図を分類するために使用される。他の種類のキーボード(例えば、容量性及び/又は抵抗性システム)に対するユーザ入力の接触領域に関する接触情報と接触領域が生じる1又は複数の位置とが、同様にして、種々の種類のユーザ入力の1つとしてユーザ入力の意図を分類するために使用されることができる。
【0010】
下記議論において、本明細書に説明される手法を採用することができる一例示的な環境が最初に説明される。次いで、この例示的な環境と他の環境とにおいて実行されることができる例示的な手順が説明される。その結果として、例示的な手順の実行は例示的な環境に制限されず、例示的な環境は例示的な手順の実行に制限されない。
【0011】
例示的な環境及び手順
図1は、本明細書に説明される手法を実施する一例示的な入力装置100の図である。図示されている例において、入力装置100は、QWERTY配置のキーを有するキーボードとして構成されているが、他の配置のキーも同様に考えられる。さらに、ゲームコントローラ、リモート制御装置、楽器を模倣した構成などの、他の非従来型の構成も同様に考えられる。したがって、入力装置100と入力装置100に組み込まれたキーとは、様々な異なる機能性をサポートするための様々な異なる構成をとることができる。
【0012】
入力装置100は、マルチユース装置であり、種々の種類のユーザ入力をサポートする。マルチタッチインタラクション、キー押打、マウスクリックなどのユーザ入力は、様々な異なる意図を有することができる。入力装置100は、キーボードなどの共通の入力領域において、これらの種々の種類のユーザ入力をサポートする。例えば、ユーザは、キーボード上で“q”、“w”及び“e”をタッチすることができ、これらのタッチの意図は、文字“q”、“w”及び“e”を選択するキー押打であると判定されることができる。ユーザはさらに、キーボード上でキー“q”、“w”及び“e”にわたってユーザ自身の指をスワイプすることができ、このスワイプの意図は、マルチタッチインタラクション又はシングルフィンガーモーション(single finger motion)であると判定されることができる。この、ユーザ入力の意図の判定が、以下でより詳細に論じられる。
【0013】
入力装置100は、コンピューティング装置102に通信可能に結合されることができる。入力装置100は、コンピューティング装置102から物理的に離れていてもよく、様々な従来からの通信メカニズムのうち任意のものを介してコンピューティング装置102と通信することができる。例えば、入力装置100は、無線接続を介して、有線接続を介して、装置100と102とが互いに接触する通信接触を介してなどで、コンピューティング装置と通信することができる。
【0014】
コンピューティング装置102は、十分なメモリ及びプロセッサリソースを備えたフルのリソース装置から、限られたメモリ及び/又はプロセッサリソースを備えた低リソース装置に及ぶことができる。コンピューティング装置102はさらに、コンピューティング装置102に1又は複数のオペレーションを実行させるソフトウェアに関連し得る。様々な実施例において、コンピューティング装置102は、コンピュータ104用、モバイル106用及びテレビジョン108用など、様々な種々の構成を仮定することができる。これらの構成の各々は、種々の構造及び能力を一般に有し得る装置を含み、したがって、コンピューティング装置102は、種々の装置分類のうち1又は複数に従って構成されることができる。
【0015】
例えば、コンピューティング装置102は、パーソナルコンピュータ、デスクトップコンピュータ、マルチ画面コンピュータ、ラップトップコンピュータ、ネットブックなどを含むコンピュータ104の分類の装置として実施されることができる。コンピューティング装置102はさらに、モバイルフォン、ポータブル音楽プレーヤ、ポータブルゲーム用装置、タブレット型コンピュータ、マルチ画面コンピュータなどのモバイル装置を含むモバイル106の分類の装置として実施されることができる。コンピューティング装置102はさらに、カジュアルなビューイング環境において一般により大きな画面を有し、あるいはそれに接続された装置を含むテレビジョン108の分類の装置として実施されることができる。これらの装置には、テレビジョン、セットトップボックス、ゲーム用コンソールなどを含む。
【0016】
コンピューティング装置102はさらに、入力/出力モジュール110を含む。入力/出力モジュール110は、入力の処理とコンピューティング装置102の出力のレンダリングとに関する機能性を代表する。入力装置100のキーに対応する機能に関する入力、入力装置100を通じて認識されたマルチタッチインタラクション又はシングルフィンガーモーションであり、かつこのマルチタッチインタラクション又はシングルフィンガーモーションに対応するオペレーションを実行させる入力などの、様々な種々の入力を、入力/出力モジュール110が処理することができる。したがって、入力/出力モジュール110は、キー押下、マルチタッチインタラクション、シングルフィンガーモーションなどを含む入力の種類間の区分を認識及び活用することによって、様々な種々の入力手法をサポートすることができる。
【0017】
別法として、入力装置100は、コンピューティング装置の一部として含まれることができる。
図2は、本明細書に説明される手法を採用する一例示的なコンピューティング装置202の図である。コンピューティング装置202は、
図1のコンピューティング装置102と同様に、様々な種々の構成をとることができる。例えば、コンピューティング装置202は、モバイルフォン、タブレット型コンピュータなどのモバイル利用に対して構成されることができる。コンピューティング装置202は、
図1の入力/出力モジュール110に類似する入力/出力モジュール204をさらに含むことができ、コンピューティング装置202に1又は複数のオペレーションを実行させるソフトウェアにさらに関連し得る。
【0018】
コンピューティング装置202は、ディスプレイ装置206を含み、ディスプレイ装置206を介して、ディスプレイモードにおいて、種々のデータ及び情報を表示することができる。ディスプレイ装置206は、様々なディスプレイ技術を使用することができる。これらのディスプレイ技術には、例えば、液晶(LCD)ディスプレイ技術、発光ダイオード(LED)ディスプレイ技術、有機発光ダイオード(OLED)ディスプレイ技術、プラズマディスプレイ技術などを含むことができる。ディスプレイ技術の例が本明細書において論じられているが、他のディスプレイ技術も同様に考えられる。
【0019】
ディスプレイ装置206は、タッチスクリーンディスプレイとすることができ、様々なユーザ入力が、ユーザがディスプレイ装置206をタッチすることによって提供されることができる。コンピューティング装置202はさらに、仮想キーボードが表示されるキーボードモードをサポートする。
図3は、コンピューティング装置202が仮想キーボード302を表示している図である。仮想キーボード302は、マルチユース装置であり、
図1の入力装置100のキーボードに類似する様々な種類のユーザ入力をサポートする。しかしながら、キーボード302は、物理的に離れた装置ではなく、コンピューティング装置202の一部である仮想キーボードである。したがって、ディスプレイ装置206はさらに、コンピューティング装置202における入力装置としての機能を果たす。
【0020】
入力装置に対するユーザ入力(例えば、
図1の入力装置100及び/又は
図2のディスプレイ装置206)が、入力装置の入力感知コンポーネントによって感知される。入力装置は、様々な異なる入力感知技術を使用することができる。これらの入力感知技術には、圧力又は力を感知する圧力感知可能システムを含むことができる。これらの入力感知技術にはさらに、タッチを感知する容量性システム及び/又は抵抗性システムを含むことができる。これらの入力感知技術にはさらに、センサ・イン・ピクセル(SIP)システム、赤外線システム、光学イメージングシステムなどの、ディスプレイ装置の表面をタッチする(又はそれに近い)オブジェクトからの光の反射又は途絶を感知する光学ベースの画像を含むことができる。表面音響波システム、音響パルス認識システム、分散信号システムなどの、他の種類の入力感知技術も同様に使用されることができる。入力感知技術の例が本明細書において論じられているが、他の入力感知技術も同様に考えられる。
【0021】
ユーザが特定の時点でキーボードにタッチしたことに応答して、入力感知コンポーネントは、この特定の時点にタッチされた位置を判定する。入力感知コンポーネントの様々なモジュールが、タッチされた位置を特定するために種々のアルゴリズム又は手法を使用することができ、これらのアルゴリズム又は手法は、使用される個別の入力感知技術に基づいて変化してよい。圧力感知可能入力感知コンポーネントについて、これらの様々なモジュールはさらに、タッチされた位置に加えられた圧力の量を特定する。他の種類の入力感知コンポーネントについて、これらの様々なモジュールはさらに、タッチされた領域(接触領域)を特定する。
【0022】
タッチされた位置の判定は、毎秒1000回などの様々な頻度において判定されることができるが、他のサンプリング頻度が考えられる。タッチの位置の判定がなされる頻度は、ユーザ入力が種々のユーザ意図の特徴に一致するかどうかを特定するのに十分であることに留意されたい。例えば、毎秒1000回というサンプリング頻度は、ユーザ入力がキー押打意図の特徴に一致するかどうかを判定するのに十分である可能性があり、一方、より低いサンプリング頻度(例えば、毎秒100回)は、キー押打意図の特徴に一致するかどうかを特定するのに十分でない可能性がある。したがって、本明細書に論じられる入力感知コンポーネントとは対照的に、タッチされた位置を低頻度で判定する多くの入力感知コンポーネントは、ユーザ入力がいくつかの意図の特徴に一致するかどうかを判定できないことになる。
【0023】
入力感知コンポーネントは、ユーザの手の指、スタイラス、ペンなどの、オブジェクトのタッチを検出し、あるいは感知する。本明細書における、ユーザ入力手法の意図の分類の議論は、ユーザ入力がユーザの指によって提供されることに言及する(したがって、タッチもまた指のインパクトと呼ばれる)が、このユーザ入力は、別法して、ユーザにより制御されるスタイラス又は他のオブジェクトによって提供されることができる。
【0024】
図4A及び
図4Bは、一例示的な入力装置400を例示的なユーザ入力とともに示す。入力装置400は、例えば、
図1の入力装置100及び/又は
図3のディスプレイ装置206とすることができる。入力装置400は、マルチユース装置であり、様々な種類のユーザ入力をサポートする。これらの複数種類のユーザ入力が、同時にサポートされる。例えば、入力装置400にはキーボードを含むことができ、ユーザはこのキーボード上で種々の種類の入力を提供することができ、本明細書に論じられる手法が使用されてユーザ入力の意図を自動的に判定することができる。
【0025】
したがって、入力装置400をタッチすることには、キー押打、マウスクリック、シングルフィンガーモーション又はマルチタッチインタラクションなどの、種々のユーザ意図を有することができるが、他の意図又は種類のユーザ入力も同様に考えられる。キー押打は、キーパッド上の特定のキーについてのユーザ選択を参照し、キーボードの種々の位置が種々のキーに関連付けられる。マウスクリックは、マウスに一般に関連付けられているボタン又はトラックパッドのボタンの押下を参照する。マルチタッチインタラクションは、ユーザがコンピューティング装置の1又は複数の機能を開始するために(例えば、ユーザの指のうち複数の指を用いて)複数の位置を同時にタッチすることを参照する。マルチタッチインタラクションにはさらに、ユーザの指のうち1又は複数によってとられるモーション又は経路を含むことができる。例えば、マルチタッチインタラクションは、1又は複数の特定方向にユーザの指をスライドすること、ユーザの指が1又は複数の特定の文字又はシンボルをトレースすることなどとなり得る。シングルフィンガーモーションは、カーソル、ポインタ又は他のオブジェクトを動かす(例えば、アイコン、ファイルなどがドラッグされる)ため、又はコンピューティング装置の1又は複数の機能を開始するために、ユーザの指によりとられるモーション又は経路を参照する。シングルフィンガーモーション意図とマルチタッチインタラクション意図とは、これらは典型的には(マルチタッチインタラクションに関しては常にではないが)ユーザの指による動きを含むため、動き意図と呼ぶこともできる。
【0026】
図4Aは、一例示的なユーザ入力を示し、このユーザ入力の意図は、文字“d”のキー押打又はマウスクリックである。ユーザ入力の意図がキー押打であったのか又はマウスクリックであったのかは、以下で論じられるとおり、キー押打の特徴とマウスクリックの特徴とに基づくなどして、種々の方法で判定されることができる。
【0027】
図4Bは、一例示的なユーザ入力を示し、このユーザ入力の意図は、左から右へ移動するシングルフィンガーモーションである。ユーザの指の終端位置が、破線の輪郭線の手を用いて示されている。ユーザ入力の意図がシングルフィンガーモーションであったのかどうかは、以下でより詳細に論じられるとおり、タッチが進んだ距離及び/又はタッチの速度に基づくなどして、種々の方法で判定されることができる。
【0028】
図4A及び
図4Bに示されるとおり、双方のユーザ入力は、文字“d”に対応するキーボードの位置をタッチすることによって始まる。しかしながら、ユーザの意図(例えば、キー押打又はマルチタッチインタラクション)が、本明細書に論じられる手法を用いて判定されることができる。ユーザは、ユーザ自身の意図(例えば、ユーザがキー押打の入力を所望するのか、あるいはマルチタッチインタラクションの入力を所望するのか)を示すにあたり、いずれのボタンも押下する必要がなく、あるいはいずれのメニューオプションも選択する必要がない。むしろ、ユーザは単純にユーザ自身の入力を提供することができ、本明細書に論じられる手法がその入力の意図を自動的に判定する。
【0029】
ユーザ入力の意図を分類するため、例えば、ユーザ入力をキー押打又は他の種類の入力として分類するために、上記で論じられたような1又は複数のセンサにより感知されるタッチと、このタッチの1又は複数の位置とが使用される。ユーザ入力は、ユーザによる、入力装置の1又は複数の部分のタッチを参照する。タッチは、上記で論じられたように、タッチを特徴付けるのに十分な頻度でサンプリングされる密集した配列の圧力センサを用いて感知されることができる。タッチは、別法として、容量性センサを用いて感知されることができ、このインパクトは、指が表面に合ってから跳ね返るときの結合における急速な変化に留意することによって、間接的に感知される。使用されるセンサの種類にかかわらず、タッチの位置は、タッチが生じた領域におけるセンサからのデータに基づいて(例えば、補間によって)、容易に判定されることができる。
【0030】
タッチは、(使用される入力感知技術が圧力感知可能システムを含む状況における)関連する力情報、又は(他の入力感知技術が使用される状況における)接触情報を有することができる。力情報は、ユーザがキーボードにタッチしたときに加えられる圧力を参照する。接触情報は、ユーザがキーボードにタッチしたときにタッチされる領域(ユーザの指又は他のオブジェクトによってタッチされたタッチパッド又はタッチスクリーンの部分、ユーザの指又は他のオブジェクトにより反射される光の量など)を参照する。
【0031】
下記の議論において、ユーザ入力手法の意図を分類することが、力情報と圧力感知可能装置であるユーザ入力装置とを参照して論じられる。しかしながら、ユーザ入力手法の意図を分類することは、別法として、上記で論じられたような他の種類のセンサを用いて実施されることができる。こうした状況において、力情報を使用してユーザ入力の意図を分類するのではなく、接触情報を使用してユーザ入力の意図を分類する。接触情報を使用するとき、接触領域は、下記で論じられる圧力と同様に扱われる。
【0032】
図5は、本明細書に論じられる手法を採用するように動作可能な、一例示的な実施例におけるシステム500の図である。システム500は、タッチ情報収集モジュール502と入力分類モジュール504とを含む。システム500は、例えば、入力装置100に、並びに/又は
図1のコンピューティング装置102若しくは
図2及び
図3のコンピューティング装置202に実装されることができる。したがって、例えば、モジュール502は、入力装置100に実装されることができ、モジュール504はコンピューティング装置102に実装されることができ、モジュール502及び504の双方が入力装置に実装されることができるなどする。
【0033】
タッチ情報収集モジュール502は、上記で論じられたように入力感知コンポーネントによって感知される、ある時間にわたりユーザの指により加えられた圧力の量の指標(又は、別法として、上記で論じられたように、ある時間にわたる接触情報)とある時間にわたるタッチの位置とを取得する。モジュール502は、入力装置のキーボードへのユーザ入力に関するタッチ情報506を取得する(例えば、受信する、あるいは生成する)。タッチ情報506は、タッチの特徴とタッチの位置とを特定する。こうしたタッチの特徴と位置とには、例えば、タッチのサイズ(例えば、タッチされた領域の量)、ある時間にわたるタッチのサイズの変化、タッチの形状(例えば、地理的な形状、又はタッチされた領域の輪郭)、ある時間にわたるタッチの形状の変化、ある時間にわたるタッチの位置、ある時間にわたるタッチの圧力の変化、タッチの動き(タッチされる方向及び位置)、タッチの速度、タッチの加速度、タッチが進む距離などを含むことができる。
【0034】
タッチ情報506に基づいて、入力分類モジュール504は、ユーザ入力の意図を分類し、そして、入力意図分類508を出力し、あるいはその他の方法で利用可能にする。さらに、タッチ情報506などの追加情報が、入力意図分類508と共に出力され、あるいはその他の方法で利用可能にされることができる。ユーザ入力の意図は、以下で論じられるとおり、例えば、キー押打、マルチタッチインタラクション、マウスクリックなどであり得る。その後、入力意図分類508を1又は複数の他のモジュールが使用して、ユーザ入力に基づいて適切な措置をとることができる。例えば、意図がキー押打である場合、ユーザによりユーザ入力として押下された位置に関連付けられたキーが、ユーザがこのキーを選択したものとして記録される。別の例として、意図がマルチタッチインタラクションである場合、どのマルチタッチインタラクションがユーザにより入力され、どの対応する措置がとられたのかを判定するために、タッチ情報が使用される。
【0035】
概して、ユーザ入力の意図は、タッチ情報506に基づいて分類される。ある時間にわたりユーザの指により加えられた力と、随意的に、この力が加えられた1又は複数の位置とが、入力分類モジュール504によりサポートされる種々の意図の特徴を考慮して分析される。特定の意図の特徴に一致するユーザ入力が、この特定の意図として分類され、一方、特定の意図の特徴に一致しないユーザ入力は、この特定の意図として分類されない。
【0036】
1又は複数の実施形態において、ユーザ入力の意図が、キー押打、シングルフィンガーモーション、マルチタッチインタラクション又は他の入力として分類されることができる。ユーザ入力が、キー押打、シングルフィンガーモーション、マルチタッチインタラクションのうち1又は複数の特徴と比較される。ユーザ入力がキー押打の特徴に一致する場合、ユーザ入力の意図はキー押打として分類され、ユーザ入力がシングルフィンガーモーションの特徴に一致する場合、ユーザ入力の意図はシングルフィンガーモーションとして分類され、ユーザ入力がマルチタッチインタラクションの特徴に一致する場合、ユーザ入力の意図はマルチタッチインタラクションとして分類される。
【0037】
さらに、ユーザ入力がいずれの特定の意図(例えば、キー押打、シングルフィンガーモーション、マルチタッチインタラクションなど)の特徴にも一致しない場合、ユーザ入力の意図は「他の」意図として分類される。他の意図は、いくつかの他の種類の意図、典型的には、システム500によりフィルタで除外される意図を指す。「他の」入力として分類され得るこうしたユーザ入力の例が、キーボード上で休んでいるユーザの手、センサ雑音、装置が揺らされることなどであり得る。したがって、入力分類モジュール504は、キーボードへのユーザ入力の種々の意図を区別することができるだけでなく、モジュール504は、この同じキーボードへの、コンピューティング装置により作用される入力装置へのユーザ入力であることが意図されないユーザ入力を、フィルタで除外することもできる。
【0038】
ユーザ入力意図は、意図に対してある時間にわたりユーザの指により加えられる力を示す力グラフ形状によって、特徴付けられることができる。種々のユーザ入力意図が、種々の関連する力グラフ形状を有することができ、入力分類モジュール504は、これらの種々の力グラフ形状を維持し、ユーザ入力をこれらの種々の力グラフ形状と比較することができる。(タッチ情報506により特徴付けられるような、)意図に対する力グラフ形状に一致するユーザ入力が、この特定の意図であるとして分類される。ユーザ入力が特定の力グラフ形状に一致するかどうかは、様々な種々の方法で判定されることができる。例えば、力グラフが、ユーザ入力に関して取得されたタッチ情報に基づいて生成されることができ、生成された力グラフは、1又は複数の維持されている力グラフ形状と比較されることができる。生成された力グラフ形状が特定の維持されている力グラフ形状に合致する場合、ユーザ入力は、特定の維持されている力グラフ形状に関連付けられた意図に一致する。2つのグラフ形状が合致するかどうかは、様々な公開の及び/又は専売のグラフ又は形状マッチング手法を用いて判定されることができる。
【0039】
ユーザ入力をキー押打又は他の種類の入力(例えば、マルチタッチインタラクション又はシングルフィンガーモーション)として分類するために、タッチの存続時間にわたる特定のキーボードタッチの振る舞いが使用されることができる。タッチの存続時間は、ユーザの指が表面をタッチしていると感知されたときに始まり、ユーザの指が表面にタッチしているともはや感知されなくなったときに終わる時間間隔を参照する。ユーザの指は、タッチの存続時間の間、ほぼ静止している場合があり(例えば、キー押打に対して典型的であり得る)、あるいはタッチの存続時間の間、キーパッドにわたって移動する場合がある(例えば、マルチタッチインタラクション及びシングルフィンガーモーションに対して典型的であり得る)。
【0040】
ユーザ入力の意図は、タッチが少なくとも閾値距離を進むことに応答して、動きとして分類されることができる。この閾値距離は、固定された距離(例えば、1.5インチ)又は相対的な距離(例えば、キーボードの幅の10%)とすることができる。タッチの進みは、タッチの存続時間の間にいくつかの経路に沿って移動された間に、ユーザの指により移動された距離を参照する。複数のタッチが同時に感知された場合、ユーザ入力の意図はマルチタッチインタラクションとして分類されることができ、一方、シングルタッチが特定の時点において感知された場合、この特定の時点におけるユーザ入力の意図は、シングルフィンガーモーションとして分類されることができる。
【0041】
ユーザ入力の意図はさらに、タッチが少なくとも閾値速度と短い存続時間(例えば、閾値未満)とを有することに応答して、動きとして分類されることができる。タッチの存続時間の閾値は0.25秒とすることができるが、他の閾値が考えられる。タッチの速度は、タッチの存続期間の間にいくつかの経路に沿って移動された間にユーザの指によって移動された距離を、タッチの存続時間の時間間隔で除算したものを参照する。例えば、速度は4インチ/秒とすることができるが、他の速度が考えられる。複数のタッチが同時に感知された場合、ユーザ入力の意図は、マルチタッチインタラクションとして分類されることができ、一方、シングルタッチのみが特定時点において感知された場合、この特定時点におけるユーザ入力の意図は、シングルフィンガーモーションとして分類されることができる。
【0042】
概して、キー押打(タップとも呼ぶ)は、力の急な上昇の後に指が表面から跳ね返るときの力の急な低下が続くことによって特徴付けられ、場合により、これに続いて、指の残りの運動量がキーボードの表面に向かい続けることによる力の上昇が再びある。タッチの圧力は、ある時間にわたり分析され、キー押打のこれらの特徴に基づいて、ユーザ入力は、キー押打か又はいくつかの他の種類の入力(例えば、マルチタッチインタラクション)かのいずれかとして分類される。これらの特徴に一致するユーザ入力はキー押打として分類され、これらの特徴に一致しないユーザ入力は他の種類のユーザ入力として分類される。ユーザ入力が複数のタッチを同時に含む場合、各タッチがキー押打の特徴に一致し、かつこのタッチが特定の位置(例えば、「シフト」キー、「コントロール」キー、「オルト」キーなどの、キーボード上の修飾キーに対応する位置)に対するものである場合には、ユーザ入力は複数のキー押打として分類されることができる。別法として、ユーザ入力が複数のタッチを同時に含む場合、ユーザ入力は、キー押打ではなくいくつかの他の種類の入力として分類される。
【0043】
キー押打のこれらの特徴は、ユーザ入力の意図がキー押打と「他の」意図(例えば、ユーザがキーボード上でユーザ自身の手を休めていること)とにおいて区別されることを可能にすることに留意されたい。キー押打は、ある時間にわたりユーザの指により加えられた力を示す特定の力グラフ形状によって特徴付けられる。ユーザがキーを押打することを意図する場合、その入力はこの特定の力グラフ形状に一致し、ユーザがキーボード上でユーザ自身の手を休めることを意図する場合、その入力はこの特定の力グラフ形状に一致しない。したがって、キー押打意図かあるいは「他の」意図かが、ユーザ入力がこの特定の力グラフ形状に一致するかどうかに基づいて、容易に判定されることができる。
【0044】
キー押打の特徴には、さらに、時間的情報を含むことができる。例えば、キー押打の特徴には、タッチが、同一の位置におけるものである(移動しない)こと、又は閾値量未満(例えば、キーボード上の一キーの幅又は高さ未満であるが、他の閾値量が考えられる)を移動する位置を有することを、含むことができる。
【0045】
図6は、ある時間にわたるタッチの圧力のグラフの一例600を表す。垂直軸が圧力又は力(例えば、グラム単位)であり、水平軸が時間(例えば、ミリ秒単位)である。線602は、ある時間にわたりタッチとして加えられた圧力を表す。ある時間にわたりタッチとして加えられた圧力を分析して、加えられた圧力がキー押打の特徴に一致するかどうかを判定することができる。
【0046】
圧力の分析において、初期インパクト時間間隔が判定されることができ、この初期インパクト時間間隔は、タッチとして加えられた圧力が開始閾値量に上昇する(例えば、開始閾値量以上になる)ときに始まる時間の間隔である。この開始閾値量は、200グラムとすることができるが、他の開始閾値量が考えられる。この時間間隔は、タッチとして加えられた圧力が(例えば、指の残りの運動量がキーボードの表面に向かい続けるという理由で)再び上昇する前に極小に達したとき、又はタッチとして加えられた圧力が停止閾値量に下降する(例えば、停止閾値量以下となる)ときに、終了する。この停止閾値量は、開始閾値量と同一(例えば、200グラム)か、又はより少ない量(例えば、100グラム)にすることができるが、停止閾値量に対する他の値が考えられる。したがって、初期インパクト時間間隔は、種々のユーザ入力に対して異なることができる。
【0047】
例600に、初期インパクト時間間隔604が示されている。初期インパクト時間間隔は、タッチとして加えられた圧力が開始閾値量に上昇するところの時点606において始まり、タッチとして加えられた圧力が再び上昇する前に極小に下降するところの時点608において終了する。
【0048】
さらに、圧力の分析において、最大力が特定されることができる。この最大力は、初期インパクト時間間隔604の間、及びタッチとして加えられた圧力が開始閾値量に上昇した後の、タッチとして加えられた圧力の極大を参照する。例600において、最大力は時点610におけるものである。
【0049】
この初期インパクト時間間隔と最大力とを所与として、加えられた圧力がキー押打の特徴に一致するかどうかを判定するために、様々なルール又は基準が適用される。これらのルール又は基準には、初期インパクト基準、最大力基準及び/又は初期インパクト終了力基準を含むことができる。
【0050】
初期インパクト基準は、初期インパクト時間間隔の間隔を参照し、初期インパクト時間間隔が特定の時間範囲の中にあることを示す。この特定の時間範囲は、例えば、5ミリ秒(ms)と25msとの間とすることができるが、他の時間範囲が考えられる。したがって、例えば、初期インパクト時間間隔は、タッチとして加えられた圧力をキー押打の特徴に当てはめるために、少なくとも5msであり、かつ25ms以下となる。
【0051】
最大力基準は、初期インパクト時間間隔の範囲内で、最大力が生じるときを参照する。最大力基準は、最大力が12msなどの閾値時間量の範囲内で生じるものであることを示すが、他の時間量もまた考えらえれる。最大力基準はさらに、最大力が初期インパクト時間間隔の最後の部分において生じないものであることを示す。この最後の部分は、初期インパクト時間間隔の最後の3分の1とすることができるが、他の部分が考えられる。したがって、例えば、最大力は、タッチとして加えられた圧力をキー押打の特徴に当てはめるために、初期インパクト時間間隔の最初の12msの範囲内で生じるものであり、初期インパクト時間間隔の最後の1/3の範囲内では生じないものとなる。
【0052】
初期インパクト終了力基準は、初期インパクト時間間隔の終了におけるタッチの圧力を参照する。初期インパクト終了力基準は、初期インパクト時間間隔の終了におけるタッチの圧力が最大力のうち特定パーセンテージ未満であることを示す。この特定パーセンテージは、80%とすることができるが、他のパーセンテージが考えられる。別法として、初期インパクト終了力基準は、最大力が素早く(閾値時間量の範囲内で)達せられることに応答して、タッチの圧力が最大力のうち別の特定パーセンテージ未満であることを示すことができる。この別の特定パーセンテージは90%とすることができ、閾値時間量は5msとすることができるが、他のパーセンテージと閾値時間量とが考えらえる。したがって、例えば、タッチとして加えられた圧力をキー押打の特徴に当てはめるために、初期インパクト時間間隔の終了においてタッチの圧力は最大力の80%未満となり、あるいは、最大力が5ms以内に達成された場合にタッチの圧力は最大力の90%未満となる。
【0053】
初期インパクト基準、最大力基準及び初期インパクト終了力基準がすべてキー押打の特徴に一致する場合、タッチとして加えられた圧力はキー押打の特徴に一致し、ユーザ入力はキー押打として分類される。しかしながら、初期インパクト基準、最大力基準及び初期インパクト終了力基準のうち1又は複数がキー押打の特徴に一致しない場合、タッチとして加えられた圧力はキー押打の特徴に一致せず、ユーザ入力はキー押打として分類されない。
【0054】
キー押打の特徴が上記で論じられている。他の種類の入力の特徴もまた維持されることができる。タッチの圧力をある時間にわたり分析し、ユーザ入力が別の種類の入力の特徴に一致するかどうかに関して判定を行うことができる。別の種類の入力の特徴に一致するユーザ入力が、上記他の種類の入力として分類され、一方、上記他の種類の入力の特徴に一致しないユーザ入力は、上記他の種類の入力として分類されない。
【0055】
例えば、マウスクリックは、力のゆっくりとした上昇の後に指が表面から跳ね返るときの急な力の低下が続くことによって特徴付けられる。タッチの圧力がある時間にわたり分析され、マウスクリックのこれらの特徴に基づいて、ユーザ入力は、マウスクリックか又はいくつかの他の種類の入力(例えば、キー押打)かのいずれかとして分類される。これらの特徴に一致するユーザ入力はマウスクリックとして分類され、これらの特徴に一致しないユーザ入力は、他の種類のユーザ入力として分類される。
【0056】
マウスクリックの特徴には、さらに、時間的情報を含むことができる。例えば、マウスクリックの特徴には、タッチが、同一の位置におけるものである(移動しない)こと、又は閾値量(例えば、0.25インチだが、他の閾値量が考えられる)未満を移動する位置を有することを、含むことができる。
【0057】
図7は、ある時間にわたるタッチの圧力のグラフの一例700を表す。垂直軸が圧力又は力(例えば、グラム単位)であり、水平軸が時間(例えば、ミリ秒単位)である。線702が、ある時間にわたるタッチとして加えられた圧力を表す。ある時間にわたるタッチとして加えられた圧力を分析して、加えられた圧力がマウスクリックの特徴に一致するかどうかを判定することができる。
【0058】
圧力の分析において、タッチ時間間隔が定められることができ、このタッチ時間間隔は、タッチとして加えられた圧力が開始閾値量に上昇する(例えば、開始閾値量以上になる)ときに始まる時間の間隔である。この開始閾値量は200グラムとすることができるが、他の開始閾値量が考えられる。この時間間隔は、タッチとして加えられた圧力が停止閾値量に下降する(例えば、停止閾値量以下になる)ときに終了する。この停止閾値量は、開始閾値量(200グラム)と同一か、又はより少ない量(例えば、100グラム)とすることができるが、停止閾値量に対する他の値が考えられる。
【0059】
例700において、タッチ時間間隔704が示されている。タッチ時間間隔は、タッチとして加えられた圧力が開始閾値量に上昇するところの時点706において始まり、タッチとして加えられた圧力が停止閾値量に下降するところの時点708において終了する。
【0060】
さらに、圧力の分析において、最大力が特定されることができる。この最大力は、タッチ時間間隔704の間、及びタッチとして加えられた圧力が開始閾値量に上昇した後の、タッチとして加えられた圧力の極大を参照する。例700において、最大力は時点710におけるものである。
【0061】
このタッチ時間間隔及び/又は最大力を所与として、加えられた圧力がマウスクリックの特徴に一致するかどうかを判定するために、様々なルール又は基準が適用される。これらのルール又は基準には、最大力がいつ生じるかを指すルール又は基準を含むことができる。ルール又は基準は、最大力が、タッチとして加えられた圧力が開始閾値量に上昇してから少なくとも閾値時間量(例えば25msだが、他の時間量もまた考えられる)後に生じるものであることを示すことができる。ルール又は基準は、最大力がタッチ時間間隔の始めの部分に生じるものではないことを示すことができる。この始めの部分は、タッチ時間間隔のうち前半とすることができるが、他の部分が考えられる。したがって、例えば、ルール又は基準は、タッチとして加えられた圧力をマウスクリックの特徴に当てはめるために、最大力がタッチ時間間隔が始まってから少なくとも25ms後に生じるものであり、かつタッチ時間間隔の前半の中で生じるものではないことを、示すことができる。
【0062】
上記で示されたとおり、本明細書において、力情報と圧力感知可能入力装置であるユーザ入力装置とを参照して論じられているが、ユーザ入力手法の意図の分類は、別法として、他の種類のセンサと入力感知技術とを用いて実施されることができる。こうした状況において、ユーザ入力により加えられた圧力を用いてユーザ入力の意図を分類するのではなく、ユーザ入力の接触領域(ユーザの指又は他のオブジェクトによりタッチされたタッチパッド又はタッチスクリーンの部分、ユーザの指又は他のオブジェクトにより反射された光の量など)を用いてユーザ入力の意図を分類することができる。接触領域(例えば、ミリメートル又は他の単位で測定される)は、上記で論じられた圧力と同様に扱われる。例えば、
図5を参照すると、キー押打は、接触領域における急な上昇の後に表面をタッチしている指又は他のオブジェクトが表面から跳ね返るときの接触領域における急な低下が続くことによって特徴付けられ、場合により、これに続いて、キーボードの表面をタッチしている指又は他のオブジェクトの残りの運動量がこの表面に向かい続けることによる接触領域における上昇が再びある。
【0063】
図8は、1又は複数の実施形態に従う、本明細書に説明される手法を実施するための一例示的なプロセス800を示すフローチャートである。プロセス800は、
図5の入力分類モジュール504などの入力分類モジュールによって実行され、ソフトウェア、ファームウェア、ハードウェア又はこれらの組み合わせにおいて実装されることができる。プロセス800は、一組の動作として示されており、様々な動作のオペレーションを実行することについて、示されている順序に限定されない。プロセス800は、本明細書に説明される手法を実施するための一例示的なプロセスであり、本明細書に説明される手法を実施することについてのさらなる議論が、種々の図面を参照して本明細書に含まれる。
【0064】
プロセス800において、入力装置へのユーザ入力に関するタッチ情報が取得される(動作802)。このタッチ情報は、上記で論じられたとおり、圧力感知可能入力装置又は他の種類の入力装置(例えば、容量性又は抵抗性)から取得されることができる。
【0065】
取得されたタッチ情報に基づいて、ユーザ入力の意図が、キー押打又は他の種類の入力であるとして分類される(動作804)。分類は、上記で論じられたとおり、キー押打又は他の種類の入力の特徴に基づいて実行される。上記で論じられたとおり、マルチタッチインタラクション、シングルフィンガーモーション及びマウスクリックなどの様々な他の種類の入力を、ユーザ入力として受信することができる。
【0066】
ユーザ入力の分類の指標が出力される(動作806)。この分類を1又は複数の他のモジュール(例えば、
図1のコンピューティング装置102のもの)が使用してユーザ入力に基づいた適切な措置をとることができる。この分類は、例えば、
図1の入力装置104及び/又はコンピューティング装置102の1又は複数のモジュールに対して出力されることができる。
【0067】
図9は、1又は複数の実施形態に従う、本明細書に説明される手法を実施するための別の例示的なプロセス900を示すフローチャートである。プロセス900は、
図5の入力分類モジュール504などの入力分類モジュールによって実行され、ソフトウェア、ファームウェア、ハードウェア又はこれらの組み合わせにおいて実装されることができる。プロセス900は、一組の動作として示されており、様々な動作のオペレーションを実行することについて、示されている順序に限定されない。プロセス900は、本明細書に説明される手法を実施するための一例示的なプロセスであり、本明細書に説明される手法を実施することについてのさらなる議論が、種々の図面を参照して本明細書に含まれる。
【0068】
プロセス900において、ユーザ入力が受信される(例えば、ユーザがキーボードにタッチする)とき、そのタッチが閾値距離を進んだかどうかに関してチェックが行われる(動作902)。この閾値距離は、上記で論じられたとおり、1.5インチ、又はキーボードの幅の10%などの、固定された距離又は相対的な距離とすることができる。
【0069】
このタッチが閾値距離(例えば、少なくとも閾値距離、閾値距離以上など)を進んだ場合、タッチは動きとして分類される(動作904)。動きは、例えば、上記で論じられたとおり、シングルフィンガーモーション又はマルチタッチインタラクションとすることができる。動きがシングルフィンガーモーションであるか又はマルチタッチインタラクションであるかを、種々の方法で判定することができる。例えば、タッチの時間の間、複数のタッチ(例えば、複数の指)が同時に感知された場合、動きはマルチタッチインタラクションであり、一方、タッチの時間の間、単一のタッチ(例えば、一本指又はシングルフィンガー)だけが感知された場合、動きはシングルフィンガーモーションである。別の例として、入力装置がマルチタッチインタラクションをサポートしない(又は、サポートしないモードで動作している)場合、動きはシングルフィンガーモーションである。別の例として、入力装置がシングルフィンガーモーションをサポートしない(又は、サポートしないモードで動作している)場合、動きはマルチタッチインタラクションである。
【0070】
しかしながら、タッチが閾値距離を進まなかった場合、タッチの存続時間が閾値量未満であるかどうかに関して、チェックが行われる(動作906)。タッチの存続時間が閾値量未満(例えば、0.25秒未満)である場合、タッチが閾値速度を有するかどうかに関して、チェックが行われる(動作908)。この閾値速度は、上記で論じられたとおり、例えば、4インチ/秒又は他の速度とすることができる。タッチが閾値速度(例えば、少なくとも閾値速度、閾値速度以上など)を有する場合、タッチは動きとして分類される(動作904)。動きは、上記で論じられたとおり、例えば、シングルフィンガーモーション又はマルチタッチインタラクションであり得る。
【0071】
しかしながら、タッチの存続時間が閾値量以上である場合、あるいはタッチが閾値速度を有していない場合、初期インパクト基準が満たされるかどうかに関して、チェックが行われる(動作910)。初期インパクト基準は、上記で論じられたとおり、初期インパクト時間間隔が特定時間範囲(例えば、少なくとも5m、かつ25ms以下)以内である場合に満たされる。
【0072】
初期インパクト基準が満たされない場合、タッチは、動きにもキー押打にも分類されない(動作912)。こうした状況において、タッチは、いくつかのデフォルト入力(例えば、ユーザがキーボード上でユーザ自身の指を休めている)として解釈されることができ、あるいは別法として、ユーザ入力の意図(例えば、上記で論じられたように、マウスクリック)を判定するためにさらに分析されることができる。
【0073】
しかしながら、初期インパクト基準が満たされる場合、最大力基準が満たされるかどうかに関して、チェックが行われる(動作914)。最大力基準は、上記で論じられたとおり、最大力が初期インパクト時間間隔の特定部分の間に(例えば、初期インパクト時間間隔の最初の12ms以内、又は初期インパクト時間間隔の最初の2/3の間に)生じる場合に満たされる。
【0074】
最大力基準が満たされない場合、タッチは、動きにもキー押打にも分類されない(動作912)。
【0075】
しかしながら、最大力基準が満たされる場合、初期インパクト終了力基準が満たされるかどうかに関して、チェックが行われる(動作916)。初期インパクト終了力基準は、上記で論じられたとおり、初期インパクト時間間隔の終わりにおけるキーへの圧力が最大力のうち特定パーセンテージ未満(例えば、最大力の80%、又は、最大力が初期インパクト時間間隔の最初の5msにおいて生じた場合、最大力のうち90%未満)である場合に満たされる。
【0076】
初期インパクト終了力基準が満たされない場合、タッチは、動きにもキー押打にも分類されない(動作912)。しかしながら、初期インパクト終了基準が満たされる場合、タッチはキー押打として分類される(動作918)。
【0077】
例示的なシステム及び装置
図10は、一例示的なシステムを概して1000において示し、この例示的なシステムは、本明細書に説明される様々な手法を実施することができる1又は複数のコンピューティングシステム及び/又は装置の代表である一例示的なコンピューティング装置1002を含む。コンピューティング装置1002は、例えば、ユーザの1又は複数の手により掴まれ、運ばれるように形成及びサイズ設定されたハウジングの使用を通じたモバイル構成をとるように構成されることができ、図示されているコンピューティング装置1002の例には、モバイルフォン、モバイルゲーム、音楽装置及びタブレット型コンピュータを含むが、他の例もまた考えられる。
【0078】
図示されている例示的なコンピューティング装置1002には、処理システム1004、1又は複数のコンピュータ読取可能媒体1006、及び互いに通信可能に結合された1又は複数のI/Oインタフェース1008を含む。図示されていないが、コンピューティング装置1002はさらに、システムバス、又は様々なコンポーネントを互いに結合する他のデータ及びコマンド転送システムを含むことができる。システムバスには、メモリバス若しくはメモリコントローラ、ペリフェラルバス、ユニバーサルシリアルバス、及び/又は様々なバスアーキテクチャのうち任意のものを活用するプロセッサ若しくはローカルバスなどの種々のバス構造のうち、任意の1つ又は組み合わせを含むことができる。制御線及びデータ線などの、様々な他の例もまた考えられる。
【0079】
処理システム1004は、ハードウェアを用いて1又は複数のオペレーションを実行する機能性の代表である。したがって、処理システム1004は、プロセッサ、機能ブロックなどとして構成されることができるハードウェア要素1010を含むものとして図示されている。これには、特定用途向け集積回路、又は1若しくは複数の半導体を用いて形成される他の論理デバイスとしての、ハードウェアにおける実装を含むことができる。ハードウェア要素1010は、これらを形成する材料又はこれらの内部で採用される処理メカニズムによって限定されない。例えば、プロセッサは、(1又は複数の)半導体及び/又はトランジスタ(例えば、電子集積回路(IC))から成り得る。こうした文脈において、プロセッサ実行可能命令が、電子的に実行可能な命令であり得る。
【0080】
コンピュータ読取可能記憶媒体1006は、メモリ/記憶装置1012を含むものとして図示されている。メモリ/記憶装置1012は、1又は複数のコンピュータ読取可能媒体に関連付けられたメモリ/記憶装置容量を表す。メモリ/記憶装置コンポーネント1012には、揮発性媒体(ランダムアクセスメモリ(RAM)など)及び/又は不揮発性媒体(読取専用メモリ(ROM)、フラッシュメモリ、光ディスク、磁気ディスクなど)を含むことができる。メモリ/記憶装置コンポーネント1012には、固定された媒体(例えば、RAM、ROM、固定されたハードドライブなど)と取り外し可能媒体(例えば、フラッシュメモリ、取り外し可能ハードドライブ、光ディスクなど)とを含むことができる。コンピュータ読取可能媒体1006は、以下でさらに説明される様々な他の方法で構成されることができる。
【0081】
(1又は複数の)入力/出力インタフェース1008は、ユーザがコンピューティング装置1002にコマンド及び情報を入力することを可能にし、さらに、様々な入力/出力装置を用いてユーザ及び/又は他のコンポーネント若しくは装置に情報が提示されることを可能にする機能性の代表である。入力装置の例には、キーボード、カーソル制御装置(例えば、マウス)、マイクロフォン、スキャナ、タッチ機能性(例えば、物理的タッチを検出するように構成された容量性又は他のセンサ)、カメラ(例えば、可視波長又は赤外周波数などの不可視波長を採用して、タッチに含まれないジェスチャとして動きを認識することができる)などを含む。出力装置の例には、ディスプレイ装置(例えば、モニタ又はプロジェクタ)、スピーカ、プリンタ、ネットワークカード、触覚性応答装置などを含む。したがって、コンピューティング装置1002は、様々な方法でユーザインタラクションをサポートするように構成されることができる。
【0082】
コンピューティング装置1002はさらに、入力装置1014に通信可能かつ物理的に結合されるものとして図示されており、入力装置1014は、コンピューティング装置1002から物理的かつ通信可能に取り外し可能である。この方法において、様々な種々の入力装置が、広く様々な構成を有するコンピューティング装置1002に結合されて、広く様々な機能性をサポートすることができる。この例において、入力装置1014には、1又は複数のキー1016を含み、キー1016は、圧力感知可能キー、タッチパッド又はタッチスクリーン上のキー、機械的に切り替えられるキーなどとして構成されることができる。
【0083】
入力装置1014はさらに、1又は複数のモジュール1018を含むものとして図示されており、モジュール1018は、様々な機能性をサポートするように構成されることができる。1又は複数のモジュール1018は、例えば、キー1016から受信されたアナログ及び/又はデジタル信号を処理するように構成されて、キーストロークが意図されていたかどうかを判定し、入力が休んでいる圧力を示すかどうかを判定し、コンピューティング装置1002とのオペレーションに関して入力装置1014の認証をサポートし、ユーザ入力の意図を分類することができるなどする。モジュール1018には、例えば、
図5の入力分類モジュール504を含むことができる。
【0084】
入力装置1014は、コンピューティング装置1002とは別個のものとして図示されているが、別法として、上記で論じられたとおり、コンピューティング装置1002の一部として含まれることができる。こうした状況において、キー1016とモジュール1018とは、コンピューティング装置1002の一部として含まれる。追加的に、こうした状況において、キー1016は、仮想キーボードのキー及び/又は非仮想キーボード(例えば、圧力感知可能入力装置)のキーであってよい。
【0085】
様々な手法が、ソフトウェア、ハードウェア要素又はプログラムモジュールの一般的な文脈の中で、本明細書において説明され得る。一般に、こうしたモジュールには、特定のタスクを実行し、あるいは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、要素、コンポーネント、データ構造などを含む。本明細書において使用される用語「モジュール」、「機能性」及び「コンポーネント」は、概して、ソフトウェア、ファームウェア、ハードウェア又はこれらの組み合わせを表す。本明細書に説明される手法の特性はプラットフォーム非依存であり、様々なプロセッサを有する様々な市販のコンピューティングプラットフォーム上でこれら手法を実施できることを意味する。
【0086】
説明されたモジュール及び手法の実施例は、何らかの形態のコンピュータ読取可能媒体上に記憶されることができ、あるいはこれを通じて送信されることができる。コンピュータ読取可能媒体には、コンピューティング装置1002がアクセスすることができる様々な媒体を含むことができる。限定ではなく例として、コンピュータ読取可能媒体には、「コンピュータ読取可能記憶媒体」と「コンピュータ読取可能信号媒体」とを含むことができる。
【0087】
「コンピュータ読取可能記憶媒体」は、単なる信号送信、搬送波又は信号自体とは対照的に、情報の持続的な及び/又は非一時的な記憶を可能にする媒体及び/又は装置を指し得る。したがって、コンピュータ読取可能記憶媒体は、非信号担体(bearing)媒体を指す。コンピュータ読取可能記憶媒体には、コンピュータ読取可能命令、データ構造、プログラムモジュール、論理要素/回路又は他のデータなどの情報の記憶に適した方法又は技術において実装された揮発性及び不揮発性の、取外し可能及び取外し不能の、媒体及び/又は記憶装置などのハードウェアを含む。コンピュータ読取可能記憶媒体の例には、これらに限定されないが、RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)若しくは他の光記憶装置、ハードディスク、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は、所望される情報を記憶するのに適し、かつコンピュータがアクセスできる他の記憶装置、有形媒体若しくは製造品を含むことができる。
【0088】
「コンピュータ読取可能信号媒体」は、ネットワークなどを介して、コンピューティング装置1002のハードウェアに命令を送信するように構成された信号担体媒体を指し得る。信号媒体は、通常、搬送波、データ信号又は他のトランスポートメカニズムなどの変調されたデータ信号の中に、コンピュータ読取可能命令、データ構造、プログラムモジュール又は他のデータを具現化することができる。信号媒体は、さらに、任意の情報配信媒体を含む。用語「変調されたデータ信号」は、信号の特徴のうち1又は複数を、この信号の中に情報を符号化するように設定又は変更させて有する信号を意味する。限定ではなく例として、通信媒体には、有線ネットワーク又は直接有線接続などの有線媒体と、音響、RF、赤外線及び他の無線媒体などの無線媒体とを含む。
【0089】
これまでに説明したとおり、ハードウェア要素1010とコンピュータ読取可能媒体1006とは、ハードウェア形態で実装されるモジュール、プログラマブルデバイスロジック及び/又は固定のデバイスロジックの代表であり、これらモジュール、プログラマブルデバイスロジック及び/又は固定のデバイスロジックは、いくつかの実施形態において採用されて、1又は複数の命令を実行するなどの、本明細書に説明される手法の少なくともいくつかの態様を実施することができる。ハードウェアには、集積回路又はオンチップシステム、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、複合プログラマブル論理デバイス(CPLD)、及びシリコン又は他のハードウェアにおける他の実装のコンポーネントを含むことができる。この文脈において、ハードウェアは、命令により定義されたプログラムタスク及び/又はハードウェアにより具現化されたロジックを実行する処理装置としても、実行のために命令を記憶するように活用されるハードウェア、例えば、これまでに説明されたコンピュータ読取可能記憶媒体としても、動作することができる。
【0090】
さらに、前述の組み合わせを採用して、本明細書に説明される様々な手法を実施することができる。したがって、ソフトウェア、ハードウェア又は実行可能モジュールは、何らかの形態のコンピュータ読取可能記憶媒体上に具現化された1若しくは複数の命令及び/若しくはロジックとして、並びに/又は1若しくは複数のハードウェア要素1010によって、実装することができる。コンピューティング装置1002は、ソフトウェア及び/又はハードウェアモジュールに対応する特定の命令及び/又は機能を実施するように構成することができる。したがって、コンピューティング装置1002によってソフトウェアとして実行可能であるモジュールの実装は、少なくとも部分的にハードウェアにおいて、例えば、コンピュータ読取可能記憶媒体及び/又は処理システム1002のハードウェア要素1010の利用を通じて、達成することができる。この命令及び/又は機能は、本明細書に説明される手法、モジュール及び例を実施するように1又は複数の製造品(例えば、1又は複数のコンピューティング装置1002及び/又は処理システム1004)によって実行可能/動作可能であり得る。
【0091】
結び
例示的な実施例が、構造特性及び/又は方法論的動作に固有の言語で説明されてきたが、添付の請求項に定義される実装例は必ずしも説明された固有の特性又は動作に限定されないことを理解されたい。むしろ、固有の特性及び動作は、請求された特性を実施するための例示的な形態として開示されるものである。