【新規性喪失の例外の表示】特許法第30条第2項適用 平成25年3月11日、下記ウェブサイトにて公開した。 アドレス:http://git.chromium.org/gitweb/?p=chromiumos/platform/gestures.git;a=blob;f=src/immediate_interpreter.cc;h=321c8393ca0c4ee11086a3b5a85c584f3fc929ea;hb=HEAD#I1838
(58)【調査した分野】(Int.Cl.,DB名)
命令を格納した非一時的なコンピュータ可読記憶媒体であって、前記命令は、少なくとも1つのプロセッサにより実行されると、触覚入力デバイスを含むコンピューティングシステムに少なくとも、
前記触覚入力デバイスの単一のドーム型スイッチにおいて押下を検出させ、前記単一のドーム型スイッチは、前記触覚入力デバイスの表面の下の領域の大半を占めており、
前記触覚入力デバイスの前記単一のドーム型スイッチにおいて前記押下を検出させた後、前記触覚入力デバイスにおける接触の回数を検出させ、前記検出された各接触は、持続時間と移動距離とに対応付けられており、
前記触覚入力デバイスにおいて前記接触の回数を検出させた後、前記触覚入力デバイス上で検出された接触の回数、前記検出された接触の持続時間、及び前記検出された接触の移動距離に基づき、処理する入力の種類を決定させるように構成されている、非一時的なコンピュータ可読記憶媒体。
前記命令は、前記コンピューティングシステムに、前記触覚入力デバイス上で検出された接触の回数、前記検出された接触の持続時間、及び前記検出された接触が前記触覚入力デバイスにわたって移動しているかに基づき、左クリック又は右クリックを処理するかを決定させるように構成されている、請求項1記載の非一時的なコンピュータ可読記憶媒体。
前記命令は、前記コンピューティングシステムに、前記触覚入力デバイス上で検出された接触の回数、前記検出された接触間の少なくとも1つの距離、前記検出された接触の持続時間、及び前記検出された接触が前記触覚入力デバイスにわたって移動しているかに基づき、左クリック、ミドルクリック、又は右クリックを処理するかを決定させるように構成されている、請求項1記載の非一時的なコンピュータ可読記憶媒体。
前記命令は、前記コンピューティングシステムに、前記触覚入力デバイス上で検出された接触の回数、前記検出された接触の持続時間、前記検出された接触の移動距離、及び前記検出された接触間の距離に基づき、処理する入力の種類を決定させるように構成されている、請求項1記載の非一時的なコンピュータ可読記憶媒体。
命令を格納した非一時的なコンピュータ可読記憶媒体であって、前記命令は、少なくとも1つのプロセッサにより実行されると、触覚入力デバイスを含むコンピューティングシステムに少なくとも:
前記触覚入力デバイスにおいて、2つの接触を検出させ、
前記触覚入力デバイスにおいて前記2つの接触を検出させた後、検出された前記2つの接触のうち一方のみが少なくともしきい値距離だけ前記触覚入力デバイスにわたって移動した場合、入力の種類が第1の入力の種類であると決定させ、
前記触覚入力デバイスにおいて前記2つの接触を検出させた後、前記検出された接触のいずれも少なくともしきい値距離だけ前記触覚入力デバイスにわたって移動していない場合、又は前記検出された接触の両方が少なくとも前記しきい値距離だけ前記触覚入力デバイスにわたって移動した場合に、
前記2つの検出された接触が互いにしきい値距離内にあれば、前記入力の種類が第2の入力の種類であると決定させ、及び
前記2回の検出された接触が互いに前記しきい値距離内になければ、前記入力の種類が前記第1の入力の種類であると決定させるように構成されている、非一時的なコンピュータ可読記憶媒体。
前記第3の検出された接触が意図しない接触であるかの決定は、前記第3の検出された接触が親指であるかを決定することを含む、請求項8記載の非一時的なコンピュータ可読記憶媒体。
命令を格納した非一時的なコンピュータ可読記憶媒体であって、前記命令は、少なくとも1つのプロセッサにより実行されると、触覚入力デバイスを含むコンピューティングシステムに少なくとも、
前記触覚入力デバイス上で、少なくとも1つの接触を検出させ、
前記少なくとも1つの接触を検出させた後、前記少なくとも1つの接触が前記触覚入力デバイスにわたって移動しているかを決定させ、
前記少なくとも1つの接触が前記触覚入力デバイスにわたって移動している場合、前記少なくとも1つの接触が前記触覚入力デバイスにわたって移動していることに基づいて、前記少なくとも1つの接触を第1の種類に分類させ、
前記少なくとも1つの接触が前記触覚入力デバイスにわたって移動していない場合、前記少なくとも1つの接触が現在時刻から少なくともしきい値時間前に前記触覚入力デバイスとの接触を開始したかを決定させ、
前記少なくとも1つの接触が現在時刻から少なくとも前記しきい値時間前に前記触覚入力デバイスとの接触を開始しており、かつ前記触覚入力デバイスにわたって移動していないと決定された場合、前記少なくとも1つの接触を第2の種類に分類させ、
前記少なくとも1つの接触が現在時刻から前記しきい値時間前、又はこれより後に前記触覚入力デバイスとの接触を開始しており、かつ前記触覚入力デバイスにわたって移動していないと決定された場合、前記少なくとも1つの接触を第3の種類に分類させる、一時的なコンピュータ可読記憶媒体。
前記触覚入力デバイスへの接触の開始が現在時刻から少なくとも前記しきい値時間前であり、さらに前記触覚入力デバイスにわたって移動していないと決定されたことに基づき、又は前記コンピューティングシステムによる、前記少なくとも1つの接触は親指の接触であるという決定に基づき、前記少なくとも1つの接触は前記第2の種類に分類される、請求項13記載の非一時的なコンピュータ可読記憶媒体。
前記少なくとも1つの接触の決定された分類及び前記触覚入力デバイス上の他の接触の回数、各接触の経過時間、並びに前記各接触が前記触覚入力デバイスにわたって移動しているかに基づき、処理する入力の種類を決定することをさらに含む、請求項18記載のコンピュータで実施される方法。
【発明を実施するための形態】
【0036】
様々な図面における同様の参照符号は、同様の要素を示す。
(詳細な説明)
【0037】
トラックパッド、タッチパッド、又はタッチスクリーンなどを含み、コンピューティングデバイスに用いられる触覚入力デバイスは、当該コンピューティングデバイスとやり取りを行い、その動作を制御するのに用いることができる。触覚入力デバイスは、ユーザが触覚入力デバイスの上面上に接触した際に、コンピューティングデバイス内に電気信号をトリガするように構成可能である。触覚入力デバイスは入力を受け、マウス入力をシミュレートした信号をコンピューティングデバイスに与える。例えば、ユーザは1本以上の指、或いは場合によって拳や手の一部を、触覚入力デバイスの上面にわたってスライドさせること又は動かすことでマウスの動きをシミュレートし、コンピューティングデバイスに当該コンピューティングデバイスのディスプレイ上に表示されたカーソルを動かさせる。また、ユーザは、1本又は複数本の指で触覚入力デバイスをタップして、マウスのクリックをシミュレートしてもよい。例えば、触覚入力デバイスは、1本指タップを左クリックと認識し、2本指タップを右クリックと認識し、さらに、触覚入力デバイス、及び/又はコンピューティングデバイスがミドルクリックを認識及び/又は処理するかに応じて、3本指タップをミドルクリック又は左クリックのいずれかと認識してもよい。
【0038】
本明細書中で用いられるように、図中の平面図への参照は、入力デバイスを使用中のユーザから見た図を参照する。例えば、平面図は、ユーザが触覚入力デバイスの上面に接触してコンピューティングデバイス内の動作を開始できるようにコンピューティングデバイス内に配置された触覚入力デバイスの図を示してもよい。
【0039】
図1Aは一実施例にかかる、触覚入力デバイス110を含むコンピューティングデバイス100の図である。コンピューティングデバイス100は、コンピューティングデバイス100のベース104に触覚入力デバイス110が内蔵されたラップトップ又はノートブックコンピュータ、触覚入力デバイスが取り付けられたデスクトップコンピュータ、或いは触覚入力デバイスが接続された任意のコンピューティングデバイスを含んでもよい。
図1Aに示す例では、コンピューティングデバイス100は蓋102とベース104とを含む。蓋102はディスプレイ112を含んでもよく、これは、例えば、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、又は他の種類の電子視覚ディスプレイデバイスである。ディスプレイ112は視覚出力を与える出力デバイスとしてのみ機能してもよく、或いは、タッチスクリーンの例では、入力を受けて触覚入力デバイスとして機能してもよい。本明細書に記載の機能又は処理はいずれも、ベース104に内蔵された触覚入力デバイス110、或いは、タッチスクリーンとして用いる場合には、ディスプレイ112に対して行われてよい。ベース104は、他の構成要素のうち、触覚入力デバイス110、ハウジング106及びキーボード108を含んでよい。
【0040】
触覚入力デバイス110は、センサ(
図1Bに示す)、及びユーザによる入力(例えば、タッチ、スワイプ、スクロール、ドラッグ、クリック、ホールド、タップ、又はこれら入力の組み合わせなど)を受けるように構成された上面(
図1Bに示す)を含んでよい。センサは、ユーザが触覚入力デバイス110の上面に接触して入力を行うことで作動可能にでき、コンピューティングデバイス100内で電気信号のやり取りすることができる。センサは、例えば、難燃クラス4(FR3)のプリント回路基板である。ドーム型スイッチ、粘着シート、及びケーブルなどの他の要素(図示せず)をコンピューティングデバイス100に一体的に設け、触覚入力デバイス110又はキーボード108を介したユーザからの入力を処理してもよい。コンピューティングデバイス100のディスプレイ112に示される種々の要素は、触覚入力デバイス110又はキーボード108上における接触の様々な動きに基づいて更新ができる。実施例では、ディスプレイ112がタッチスクリーンである場合など、触覚入力デバイスはディスプレイ112に含まれてもよい。
【0041】
触覚入力デバイス110などの触覚入力デバイスは、コンピューティングデバイス100などの内蔵型ポータブルラップトップコンピュータで用いてもよく、コンピュータ付近に平らな面を必要としない。触覚入力デバイス110はキーボード108の近くに配置してもよい。触覚入力デバイスの機能は、タッチパッド内蔵のキーボード、スタンドアロンワイヤレスタッチパッド、及びモバイルデバイスなどで、デスクトップコンピュータに対しても利用可能であり、以下に
図8を参照してさらに詳細に説明する。
【0042】
本明細書に記載の入力デバイスの構成要素(例えば、108、110)は、同様の構成要素に対して用いられるプラスチック、金属、ガラス、セラミックなどの様々な異なる材料によって形成することができる。例えば、触覚入力デバイス110及びベース部材104の表面は、それぞれ少なくともその一部をステンレス鋼材料(例えば、SUS301やSUS304)などの絶縁性材料、及び/又は導電性材料で形成してもよい。
【0043】
図1Bは、一実施例にかかる、触覚入力デバイス110及び関連の構成要素の図である。この例では、触覚入力デバイス110は、表面114と、センサ116と、マイクロコントローラ118と、バス120と、カーネルドライバ122と、ジェスチャライブラリ124とを有し、アプリケーション126に入力を供給する。
【0044】
表面114は、ユーザが接触して作動させ、コンピューティングデバイス100内に電気的応答をトリガするように構成可能である。表面114は、センサ116に動作的に接続されてもよい。センサ116は、ユーザが触覚入力デバイス110の上面114上で入力(例えば、タッチ、スワイプ、又は1回以上のクリック)を行うことで作動する。センサ116は、例えば、難燃クラス4(FR4)のプリント回路基板である。センサ116は、容量、圧力、及び/又は抵抗の値及び/又は変化を検出してもよい。
【0045】
触覚入力デバイス110はボタン117を含んでもよい。ボタン117はドーム型スイッチとすることができ、表面114、及び/又はセンサ116下の領域の大半を占めてよい。ボタン117はドーム形状、楕円形、及び/又は凸面状であり、ユーザ側の上方位置に向けてよい。ボタン117は、ユーザが圧力を加えて下向きに押した際に下方へ押下され、さらにユーザが圧力を解除した際に押下位置から
図1Bに示す上昇位置へ戻ることのできる柔軟性を有してもよい。ユーザは、触覚入力デバイス110の表面114上を押してボタン117を押下することにより、ボタン117に接続されたスイッチ119を作動させてもよい。スイッチ119は、ボタン117がユーザに押された及び/又は押下された際に作動する電気機械スイッチを含んでもよい。マイクロコントローラ118は、ボタン117の押下、及び/又は触覚入力デバイス110の表面114の押下を検出してもよい。
【0046】
マイクロコントローラ118はセンサ116に動作的に接続されてもよい。マイクロコントローラ118は埋め込み式のマイクロコントローラチップでもよく、例えば読み取り専用ファームウェアを含んでもよい。マイクロコントローラ118はプロセッサコア、メモリ、及びプログラマブル入出力周辺装置を備えた単一の集積回路を含んでもよい。バス120はPS/2、I2C、SPI、WSB又は他のバスでもよい。バス120はマイクロコントローラ118に動作的に接続されてもよく、また、カーネルドライバ122とやり取りを行ってもよい。カーネルドライバ122はファームウェアを含んでもよく、さらに、ジェスチャライブラリ124を含んでも、及び/又はジェスチャライブラリ124と通信を行ってもよい。
【0047】
ジェスチャライブラリ124は、触覚入力デバイス110への入力(マルチタッチジェスチャ、及び/又はタップや接触など)の処理に用いることのできる実行可能なコード、データタイプ、機能及び他のファイル(JAVASCRIPTファイルなど)を含んでもよい。ジェスチャライブラリ124は、カーネルドライバ122、バス120、コントローラ118、センサ116、及び表面114と組み合わせて、本明細書に記載の様々な処理及び機能を実現してもよい。ジェスチャライブラリ124は、例えば、左クリック、右クリック、又はミドルクリックなどの入力の種類を決定し、検出された接触を解釈する。ジェスチャライブラリ124は、解釈された入力を1つ以上のアプリケーション126に渡す。1つ以上のアプリケーション126は、例えば、オペレーティングシステム、ウェブブラウザ、文書処理アプリケーション、又はゲームなどを含んでもよいが、これらの例に限定されるものではない。
【0048】
図1Cは、一実施例にかかる、ジェスチャライブラリ124によって受けた入力を示す図である。ジェスチャライブラリ124は、マイクロコントローラ118(
図1Bに示す)、バス120(
図1Bに示す)、及びカーネルドライバ122(
図1Bに示す)を介してセンサ116(
図1Bに示す)で検出された接触150A、150B、及び150Cに基づいて、入力を受ける。センサ116は、接触150A、150B、及び150Cを、ユーザの表面114へのタップ及び/又は接触に基づいて検出してもよい。接触150A、150B、及び150Cはそれぞれ触覚入力デバイス110との接触を表わす。触覚入力デバイス110は、例えば、センサ116の特定の領域における容量の変化により、各接触を検出する。
図1Cでは3回の接触150A、150B、及び150Cが示されているが、ジェスチャライブラリ124では任意の回数の接触150A、150B、及び150Cを受けてよい。例えば、様々な例に従って、1回のみの接触、2回の接触、3回の接触、4回の接触、又は5回以上の接触を該ジェスチャライブラリで受けることができる。
【0049】
接触150A、150B、及び150Cはそれぞれ特定のフレーム又はタイムスロットにおいてセンサ116で検出された接触を表わしてもよい。接触150A、150B、及び150Cは触覚入力デバイス110(
図1Cには示さず)及び/又はコンピューティングデバイス100(
図1Cには示さず)によって検出され、及び/又は先のフレーム又はタイムスロットで処理された接触に対応付けてもよい。例えば、触覚入力デバイス110、及び/又はコンピューティングデバイス100は、先の接触と同一又は近隣の位置で検出された接触をユーザによる触覚入力デバイス110の表面114への同一の接触と決定してもよい。
【0050】
ジェスチャライブラリ124で受ける接触150A、150B、及び150Cはそれぞれ対応付けられたデータを含んでよい。接触150A、150B、及び150Cは、例えば、それぞれ対応付けられたデータを含む構造として、ソフトウェアによって実現してもよい。例えば、ジェスチャライブラリ124によって受ける接触150A、150B、及び150Cはそれぞれ経過時間152A、152B、及び152C、移動距離154A、154B、及び154C、並びに位置156A、156B、及び156Cを含む、及び/又はこれらに対応付けられてもよい。位置156A、156B、及び156Cは、例えば、センサ116及び/又はマイクロコントローラ118などのハードウェアデバイスによりジェスチャライブラリ124に与えてもよく、これによりジェスチャライブラリ124は位置の計算を行う必要がない。
【0051】
経過時間152A、152B、及び152Cは、触覚入力デバイス110が接触150A、150B、及び150Cを最初に検出してからの時間を表わしてもよい。触覚入力デバイス110は、例えば、接触150A、150B、及び150Cは先の接触に対応付けられている、及び/又は、先に検出された指又は接触と同一の指又は接触に基づく、と決定してもよい。経過時間152A、152B、及び152Cは、例えば、現在又は直近の時刻と、指又は他の物体が最初に触覚入力デバイス110に接触し、触覚入力デバイス110が最初に指を検出した時刻との差を示してもよい。また、経過時間152A、152B、及び152Cは、指又は他の物体が触覚入力デバイス110に接触した時間の長さでもよい。
【0052】
接触150A、150B、及び150Cはそれぞれ距離154A、154B、及び154Cを含んでもよく、又はこれらに対応付けられてもよい。距離154A、154B、及び154Cは、パラメータとしてジェスチャライブラリ124に与えてもよく、或いは、ジェスチャライブラリ124によって、接触150A、150B、及び150Cの位置を、接触150A、150B、及び150Cに対応付けられた先の接触の位置と比較することで決定してもよい。距離154A、154B、及び154Cは、接触が移動した距離、現在の時刻又は現在のフレームにおける接触150A、150B、及び150Cの位置と、直前の時刻又はフレームにおける対応する接触の位置との差、又は現在の時刻又は現在のフレームにおける接触150A、150B、及び150Cの位置と、ユーザが最初に自分の指又は他の物体を触覚入力デバイス110の表面114に置いた際の、接触150A、150B、及び150Cに対応付けられた最初又は第1の接触の位置との差を表わしてもよい。
【0053】
接触150A、150B、及び150Cはそれぞれ位置156A、156B又は156Cを含んでもよく、又はこれらに対応付けられてもよい。位置156A、156B、及び156Cは、接触150A、150B、及び150Cが検出されたセンサ116上の位置又は場所を含んでもよく、触覚入力デバイス110の表面114上の位置に対応してもよい。接触の位置156A、156B、及び156Cは、例えば、x座標及びy座標を含んでもよく、及び/又はこれらに対応付けられてもよい。
【0054】
ジェスチャライブラリ124は、接触150A、150B、及び150Cが、シングルタップ、ダブルタップ、又はトリプルタップジェスチャの一部として意図されたタップであるのかを、接触150A、150B、及び150Cの位置156A、156B、及び156Cに部分的に基づいて決定する。例えば、ジェスチャライブラリ124は、互いに近すぎる又は互いに離れすぎた2回の接触150A、150B、及び150Cを、ダブルタップ又はトリプルタップジェスチャの一部として意図されたものではないと決定する。また、ジェスチャライブラリ124は、表面114及び/又はセンサ116の所定の部分内の位置156A、156B、及び156Cにある接触150A、150B、及び150Cについて、意図しないものであり、触覚入力デバイス110への親指又は手のひらの接触から生じた可能性があると決定してもよい。ジェスチャライブラリ124は、例えば、表面114及び/又はセンサ116上の位置を、ユーザの指による意図的なタップによる接触を受ける及び/又は検出する可能性の高いプライマリ領域と、ユーザの親指又は手のひらの不注意なタッチを受ける及び/又は検出する可能性の高い減衰領域とに分割してもよい。プライマリ領域及び減衰領域を、
図2A及び
図2Bを参照して以下に説明する。
【0055】
ジェスチャライブラリ124は、入力の種類158を、検出された接触150A、150B、及び150Cの数、並びに接触150A、150B、及び150Cのそれぞれの経過時間152A、152B、及び152Cと、距離154A、154B、及び154Cと、位置156A、156B、及び156Cとに基づいて決定してもよい。一実施例では、決定した入力の種類158は、左クリック、右クリック、又はミドルクリックを含んでよい。ジェスチャライブラリ124は、決定した入力の種類158をアプリケーション126(
図1Cには示さず)に渡してもよい。
【0056】
図2Aは、一実施例にかかる、触覚入力デバイス110の表面114の領域を示す図である。表面114は、ユーザから不注意によるタッチを受ける可能性の高い又は低い複数の領域を含んでよい。この例では、表面114を、上部のプライマリ領域202と、下部の減衰領域204とに分割してもよい。
【0057】
プライマリ領域202は、減衰領域204よりもキーボード108(
図2Aには示さず)に近い、例えば、上部のインチやセンチメートル、又はその他の表面114に定義された部分を含んでもよい。減衰領域204は、プライマリ領域202ではない、プライマリ領域202以外の表面114の領域であってもよい。減衰領域204は、検出された接触150A、150B、及び150C(
図2Aには示さず)が、ユーザが不注意で表面114を自分の親指でこすって生じたものである可能性の高い領域であってもよい。また、ユーザは、触覚入力デバイス110の表面114上を意識的に親指で押すことで、例えば表面114下のボタン117を押して、スイッチ119を作動させてもよい。通常ユーザは自分の親指が他の指よりもキーボード108から離れるように触覚入力デバイスに自分の手を置くため、減衰領域204はキーボード108から離してもよい。通常ユーザは意図して自分の指を表面114に置き、親指を表面114に置くことは限られていることから、プライマリ領域202は減衰領域204よりも大きい表面面積を有してもよい。
【0058】
図2Bは、他の実施例にかかる、触覚入力デバイス110の表面114の領域を示す図である。この例では、表面114は、
図2Aに示され、同図を参照して説明されたプライマリ領域202と同様に、通常ユーザが意図して接触するプライマリ領域208と、
図2Bに示され、同図を参照して説明された減衰領域204と同様に、ユーザの手のひら又は親指の不注意な接触を受ける減衰領域206とを含む。この例では、減衰領域206を表面114の周縁上に配置してもよく、不注意な接触を受ける可能性のある位置の候補を含んでもよい。減衰領域206は、外側のインチやセンチメートル、又はその他の表面114に定義された部分を含んでもよい。プライマリ領域208は、表面114の内側に配置してもよい。
【0059】
図2A及び
図2Bには、プライマリ領域202及び208と衰領域204及び206とは長方形として示されているが、プライマリ領域202及び208と減衰領域204及び206とは楕円形や円形、又は他の任意の形状などどのような形状でもよく、ユーザが領域を意図的に指で接触した、又は手のひらや親指で不注意に接触したと決定ができればよい。センサ116は、表面114のプライマリ及び減衰領域202、204、206、及び208に対応するプライマリ及び減衰領域202、204、206、及び208を含んでもよい。
【0060】
図3A、
図3B、
図3C、
図3D、
図3E、
図3F、
図3G、
図3H、
図3I、
図3J、
図3K、及び
図3Lは、ユーザが触覚入力デバイス110の表面114上に様々な指を置く様子と、触覚入力デバイス110のセンサ116がタッチする指を接触として検出する様子を示し、当該接触は、
図1Cに示され、同図を参照して説明された接触150A、150B、及び150Cとしてジェスチャライブラリ124に渡してよい。これらの図には、
図2Aに示され、同図を参照して説明されたプライマリ領域202と減衰領域204とが示されているが、本明細書に記載の技術は、任意の形式で分割された触覚入力デバイス110、又はプライマリ及び減衰ゾーンに分割されていない触覚入力デバイスに対しても適用可能である。これらは、
図4、
図5、
図6及び
図7を参照して説明される方法、機能及び/又は工程を示すための例示に過ぎない。
【0061】
図3Aは、ユーザが自分の人差し指302を表面114のプライマリ領域202に置いた様子を示す図である。ユーザは、スワイプ又はタップのいずれかを意図して自分の人差し指302を表面114のプライマリ領域202に置いたと考えてもよい。
【0062】
図3Bは、ユーザの人差し指302(
図3Bには示さず)に対応する接触315の位置を示すセンサ116の図である。この例では、接触352はセンサ116のプライマリ領域202で検出される。センサ116は接触352をセンサ116のプライマリ領域202に位置する単一の接触として検出してもよい。
【0063】
図3B、
図3D、
図3F、
図3H、
図3J、及び
図3Lに示すグリッドによるセンサ116の特定の図示は例示に過ぎない。例えば、センサ116は、8行及び5列など、任意の行及び列を有してもよく、さらに他の形状(例えば、円形)に形成されてもよい。センサ116は、列及び行の交点におけるセンサポイントのように、いくつのセンサを有してもよい。センサポイントは、互いに任意の距離(数ミリメートルなど)だけ離して配置し、触覚入力を検知するように設計が可能である。センサ116は、触覚入力デバイス110の表面114上における指の存在、及び/又は圧力を示す容量値及び/又は容量値の変化を読み取ってもよい。また、センサ116は、圧力又は抵抗の値を読み取ってもよい。後続の図面に示す、フィンガーパッドであり得る接触352、354、356、358、及び360は、ユーザが入力デバイス110上に指を置いた際のセンサ116上での位置を表してもよい。
【0064】
図3Cは、ユーザが自分の人差し指302及び中指304を表面114のプライマリ領域202に置いた様子を示す図である。ユーザは、スワイプ又はタップのいずれかを意図して自分の人差し指302及び中指304を表面114のプライマリ領域202に置いたと考えてもよい。
【0065】
図3Dは、ユーザの人差し指302及び中指304に対応する接触352及び354を示すセンサ116の図である。この例では、2回の接触352及び354は両方センサ116のプライマリ領域202で検出される。接触352はユーザの人差し指302に対応し、接触354はユーザの中指304に対応する。センサ116は、接触352及び354をセンサ116のプライマリ領域202に位置する2回の接触として検出してもよい。
【0066】
図3Eは、ユーザが自分の人差し指302及び中指304を表面114のプライマリ領域202に置き、さらに自分の親指310を表面114の減衰領域204に置いた様子を示す図である。ユーザは、スワイプ又はタップのいずれかを意図して自分の人差し指302及び中指304を表面114のプライマリ領域202に置き、さらに不注意から自分の親指310で減衰領域204にタッチ又は接触したものと考えてもよい。
【0067】
図3Fは、ユーザの人差し指302、中指304及び親指310に対応する接触352、354及び360を示すセンサ116の図である。この例では、センサ116は、センサ116のプライマリ領域202おいて接触352及び354を検出し、センサ116の減衰領域204において接触360を検出する。センサ116は、接触352、354及び360をセンサ116のプライマリ領域202に位置する2回の接触、並びに減衰領域204に位置する1回の接触として検出してもよい。
【0068】
図3Gは、ユーザが自分の人差し指302、中指304、及び薬指306を表面114のプライマリ領域202に置いた様子を示す図である。ユーザは、スワイプ又はタップのいずれかを意図して自分の人差し指302、中指304、及び薬指306を表面114のプライマリ領域202に置いたものと考えてもよい。また、ユーザは、表面114に自分の指302、304及び306を置いて表面114下のボタン117を押下してもよい。
【0069】
図3Hは、ユーザの人差し指302、中指304、及び薬指306に対応する接触352、354、及び356を示すセンサ116の図である。この例では、センサ116は、プライマリ領域202において接触352、354及び356を検出する。センサ116は、接触352、354及び356をセンサのプライマリ領域202に位置する3回の接触として検出してもよい。
【0070】
図3Iは、ユーザが自分の人差し指302、中指304、及び薬指306を表面114のプライマリ領域202に置き、さらに自分の親指310を表面114の減衰領域204に置いて表面114に接触した様子を示す図である。ユーザは、スワイプ又はタップのいずれかを意図して自分の人差し指302、中指304、及び薬指306を表面114のプライマリ領域202に置き、さらに不注意から自分の親指310で減衰領域204に接触したものと考えてもよい。
【0071】
図3Jは、ユーザの人差し指302、中指304、薬指306、及び親指310に対応する接触352、354、356、及び360を示すセンサ116の図である。この例では、センサ116はプライマリ領域202において接触352、354及び356を検出し、減衰領域204において接触360を検出する。センサ116は接触352、354及び356をプライマリ領域202に位置する3回の接触、並びに減衰領域304における1回の接触として検出してもよい。
【0072】
図3Kは、ユーザが自分の人差し指302、中指304、薬指306、及び小指308で、表面114の上部領域202において表面114に接触した様子を示す図である。ユーザは、スワイプ又はタップのいずれかを意図して自分の人差し指302、中指304、及び薬指306を表面114のプライマリ領域202に置き、さらに不注意から自分の小指308でプライマリ領域202に接触したものと考えてもよい。
【0073】
図3Lは、ユーザの人差し指302、中指304、薬指306、及び小指358に対応する接触を示すセンサ116の図である。この例では、センサ116はセンサ116のプライマリ領域202において接触352、354、356、及び358を検出する。センサ116は、接触352、354、356、及び358をセンサ116のプライマリ領域202に位置する4回の接触として検出してもよい。
【0074】
図4は、一実施例にかかる、接触の種類を決定する方法を示すフローチャートである。この方法は、ジェスチャライブラリ124、又は触覚入力デバイス110の構成要素の任意の組み合わせによって実行してもよい。種類を決定するための接触は、
図1Cに示され、同図を参照して説明された接触150A、150B、及び150Cのいずれを含んでもよく、及び/又は
図1B及び1D、1F、1H、1J、又は1Lに示され、同図を参照して説明された接触352、354、356、358、及び360のいずれを含んでもよい。この方法は、接触が第1の種類、第2の種類、又は第3の種類のいずれであるかを、当該接触が移動したか、及び当該接触の経過時間に基づいて決定してもよい。
【0075】
一実施例では、第1の種類を「ホット」、第2の種類を「コールド」、及び第3の種類を「新しい」としてもよい。一実施例では、接触は、触覚入力デバイス110、表面114、及び/又はセンサ116をわたっての移動に基づいて「ホット」に分類又は決定される。現在時刻から少なくともしきい値時間前に触覚入力デバイス110、表面114、及び/又はセンサ116に接触を開始し、さらに触覚入力デバイス110、110、表面114、及び/又はセンサ116にわたる移動の無い接触は、「コールド」に分類又は決定してよい。触覚入力デバイス110、表面114、及び/又はセンサ116への接触の開始が現在時刻からしきい値時間前、又はこれより後であり、さらに触覚入力デバイス110、表面114、及び/又はセンサ116にわたる移動の無い接触は、「新しい」に分類又は決定してよい。
【0076】
図4に示す例では、ジェスチャライブラリ124が接触を検出してもよい(402)。接触は、触覚入力デバイス110のセンサ116での容量又は抵抗の変化、若しくは圧力の上昇に基づいて検出してもよい。接触は、
図1Cに示した経過時間152A、152B、及び152C、距離154A、154B、及び154C、及び/又は位置156A、156B、及び156Cなどのデータを含んでもよい。ジェスチャライブラリ124は、ユーザによるボタン117の押下、スイッチ119の起動、及び/又はマイクロコントローラ118による触覚入力デバイス110の押下の検出に応じて、接触を検出する(402)ことを含む方法を開始してもよい。一実施例に従って、ボタン117の押下、スイッチ119の起動、及び/又は押下の検出は、
図4に示す方法を開始してもよく、及び/又はスワイプ又はスクロールのジェスチャは認識されない、又は行えないことを示してもよい。
【0077】
ジェスチャライブラリ124は接触が移動したかを決定してもよい(404)。接触が移動したかについての決定は、接触の現在の位置と前回の位置とを比較することにより、又は当該接触に対応付けられた距離154A、154B又は154Cをしきい値と比較することにより行ってもよい。例えば、接触が移動した距離がしきい値を超える場合、当該接触は移動したと決定してもよい。接触が移動した場合、当該接触は「ホット」とみなすことができる(406)。
【0078】
接触が移動していない場合、ジェスチャライブラリ124は当該接触の経過時間が経過時間しきい値を上回るかを決定する(408)。接触の経過時間は、センサ116が当該接触を最初に検出してからの時間を表わしてもよい。接触の経過時間を経過時間しきい値と比較してもよい。接触の経過時間がしきい値と一致する、又はしきい値を超える場合、ジェスチャライブラリ124は、ジェスチャライブラリ124が(404)で移動していないと決定した接触を「コールド」としてもよい(410)。接触の経過時間がしきい値と一致しない、又はしきい値を超えない場合、ジェスチャライブラリ124は接触を「新しい」としてもよい(412)。ジェスチャライブラリ124が接触を移動していない(404)、及び経過時間しきい値を超えていない(408)と決定した場合、ジェスチャライブラリ124は接触を「新しい」としてもよい(412)。
【0079】
図5は、一実施例にかかる、入力の種類を決定する方法を示すフローチャートである。この方法は、ジェスチャライブラリ124、又は触覚入力デバイス110の構成要素の任意の組み合わせによって実行してもよい。この方法は、クリックが左クリック、右クリック、又はミドルクリックであるかを決定するなど、入力の種類の決定を含んでもよい。左クリック、右クリック、及びミドルクリックはそれぞれ第1の入力の種類、第2の入力の種類、及び第3の入力の種類の例示に過ぎない。
【0080】
図5に示す方法は、センサ116、及び/又はジェスチャライブラリ124で検出された指の本数又は接触の回数を決定することを含んでもよい。指の本数又は接触の回数は、接触がどのように処理されるかを決定し、例えば、ジェスチャライブラリ124が接触を左クリックと認識すべきか、右クリックと認識すべきか、又はミドルクリックと決定すべきかを決定する。一実施例に従って、ボタン117の押下、スイッチ119の作動、及び/又は押下の検出は、
図5に示す方法を開始してもよく、及び/又は、スワイプ又はスクロールのジェスチャは認識されない、又は行えないことを示してもよい。
【0081】
本方法は、接触を受けることを含んでもよい(502)。本方法は、例えば、接触150A、150B、150C、352、354、356、358、及び360(
図5には示さず)、又は、任意の回数の接触を受けてよい。
図5に示す方法に従って、ユーザによるボタン117の押下、スイッチ119の起動、及び/又はマイクロコントローラ118による触覚入力デバイス110の押下の検出に応じて、接触を受ける、及び/又は認識してもよい。
【0082】
一実施例では、ジェスチャライブラリ124は、接触を受ける間(502)、手のひらを除外してもよい。カーネルドライバ122、及び/又はジェスチャライブラリ124は、接触が手のひらによるものであるかを決定し、当該手のひらの接触を除外する機能を備えてもよい。カーネルドライバ122、及び/又はジェスチャライブラリ124は、例えば、減衰領域204及び206(
図5には示さず)で受けた接触に一部基づいて、手のひらの接触であると決定する。そして、ジェスチャライブラリ124は、残りの接触を処理する。
【0083】
ジェスチャライブラリ124は、接触が1回のみ又は指が1本のみであるかを決定する(504)。本方法は、例えば、接触の回数をカウントする。
図3A及び3Bには、1回のみの接触が検出される例が示されている。接触が1回のみである場合、触覚入力デバイス110は当該接触を左クリック又は第1の入力の種類と決定してよい(506)。
【0084】
ジェスチャライブラリ124が接触が指1本のみを含むものではないと決定した場合、ジェスチャライブラリ124はそれぞれの指を分類する(508)。ジェスチャライブラリ124は、例えば、
図4を参照して上述したように、指を「ホット」、「コールド」、又は「新しい」として分類する。
【0085】
この分類は各接触又は指について行ってよい。ジェスチャライブラリ124が各接触又は指を分類した後(508)、ジェスチャライブラリ124は各種類の接触の回数を決定する(510)。ジェスチャライブラリ124は、例えば、何回の接触が「ホット」か、何回の接触が「コールド」か、及び何回の接触が「新しい」かを決定する。
【0086】
ジェスチャライブラリ124は、手のひらを除外した後、接触又は指が、2本の指又は2回の接触を含むかを決定する(512)。
図3C及び3Dに、2回の接触が検出される例を示す。2回の接触が検出される他の例として、指がプライマリ領域202及び208で表面114に接触し、親指が減衰領域204及び206で表面114に接触する場合がある。ジェスチャライブラリ124が接触又は指が2回の接触を含むと決定した場合、該ジェスチャライブラリは、2回の接触に基づいて入力の種類(例えば、左クリック、右クリック、又はミドルクリック)を決定する(514)。2回の接触に基づく決定(514)は
図6に示されるとともに、同図を参照して説明される。
【0087】
ジェスチャライブラリ124が2本の指又は2回の接触ではないと決定し、さらに、接触は1回のみではないという先の決定に基づいて(504)、3本以上の指又は3回以上の接触があったと決定すると、ジェスチャライブラリ124は、3回以上の接触又は3本以上の指について入力の種類を決定する(516)。
図3E、
図3F、
図3G、
図3H、
図3I、
図3J、
図3K、及び
図3Lに、3回以上の接触の場合の例を示す。ジェスチャライブラリ124による3回以上の接触又は3本以上の指に基づく入力の種類の決定(516)は、
図7に示されるとともに、同図を参照して説明される。
【0088】
図6は、一実施例にかかる、2回の接触に基づいて入力の種類を決定する方法を示す図である。この方法は、ジェスチャライブラリ124(
図6には示さず)、又は触覚入力デバイス110(
図6には示さず)の構成要素の任意の組み合わせによって実行してもよい。
【0089】
ジェスチャライブラリ124は、2回の接触又は2本の指のうち、一方が「ホット」であり、他方が「コールド」、又は「新しい」であるかを決定してもよい(602)。接触の一方が「ホット」であり、他方が「コールド」、又は「新しい」である場合、「ホット」方の接触又は指は移動していると考えられ、「コールド」若しくは「新しい」方の接触又は指は、タップ又はクリックと見なされ、この入力は第1の種類又は左クリックと決定してもよい(604)。
【0090】
ジェスチャライブラリ124が2本の指又は2回の接触の一方の指又は接触が「ホット」であり、他方が「コールド」又は「新しい」であると決定しない場合、ジェスチャライブラリ124は当該指又は接触が互いに最少しきい値よりも近いかを決定してもよい(606)。
図3Bを参照すると、2回の接触352及び354が示されている。ジェスチャライブラリ124又は触覚入力デバイス110の他の構成要素は、x値の差の二乗及びy値の差の二乗の平方根をとることにより、2回の接触352と354との間の距離を決定してもよい。或いは、ジェスチャライブラリ124は、位置156A、156B、及び156Cをパラメータとして受けて、距離値を返す距離関数を呼び出してもよい。
【0091】
ジェスチャライブラリ124が接触352及び354は最少のしきい値よりも近いと決定した場合、ジェスチャライブラリ124は、接触352及び354は2本の別々の指を表わすものではない、又は右クリックを意図したものではないとのいずれかの決定を下し、そしてジェスチャライブラリは入力の種類を第1の入力の種類又は左クリックと認識してもよい(608)。
【0092】
ジェスチャライブラリ124が接触又は指が最少しきい値よりも近くない、又は最少しきい値よりも離れていると決定した場合、ジェスチャライブラリ124は、接触がほぼ同時に開始した、及び/又は指がほぼ同時にタッチしたと決定してもよい(610)。指は、例えば、2回の接触間で最初の接触の時刻を比較することにより、又は2回の接触間で経過時間を比較することにより、ほぼ同時のタッチであったと決定してもよい。ジェスチャライブラリ124は、指又は接触の最初の接触時刻、及び/又は経過時間が互いにしきい値時間差内であった場合、指又は接触がほぼ同時のタッチであったとしてもよい。指がほぼ同時にタッチした場合、ユーザは右クリックを行うために意図して触覚入力デバイス110に接触したものと考えられ、本方法は、入力デバイス、又は前記第2の入力の種類、若しくは右クリックを決定することを含んでもよい(612)。
【0093】
ジェスチャライブラリ124が、接触が開始しなかった、又は指はほぼ同時にはタッチしなかったと決定した場合、ジェスチャライブラリ124は、一方の接触及び/又は指が「コールド」であり、減衰ゾーン204及び206にあるかを決定する(614)。接触及び/又は指の一方が「コールド」であり、減衰ゾーンにある場合、ジェスチャライブラリ124は、接触及び/又は指を親指として、当該接触及び/又は指を接触回数にカウントしない。ジェスチャライブラリ124が、接触及び/又は指が親指であり、接触の回数にカウントしないと決定した場合、ジェスチャライブラリ124は、他方の接触のみを単一の接触として考慮する。当該単一の接触に基づき、ジェスチャライブラリ124は、入力の種類を第1の種類又は左クリックと決定してもよい(616)。
【0094】
ジェスチャライブラリ124が接触の1つが「コールド」であり減衰ゾーンにある、及び/又は親指であると決定しない場合、ジェスチャライブラリ124は、接触及び/又は指が一緒に移動しているかを決定してもよい(618)。ジェスチャライブラリ124は、「ホット」又は移動中である両方の接触に基づいて、2回の接触及び/又は指が一緒に移動中であるかを決定してもよい。接触及び/又は指の両方が移動中である場合、ジェスチャライブラリ124は、ユーザがスワイプをしていると決定し、入力の種類が第2の種類又は右クリックであると決定してよい(620)。ジェスチャライブラリ124が接触及び/又は指は一緒に移動していないと決定した場合、ジェスチャライブラリ124は、接触及び/又は指は別々の入力であると決定し、入力の種類は前記第1の入力の種類又は左クリックと決定してよい(622)。
【0095】
図7は、一実施例にかかる、3回以上の接触に基づいて入力の種類を決定する方法を示す図である。この方法は、ジェスチャライブラリ124(
図7には示さず)、又は触覚入力デバイス110(
図7には示さず)の構成要素の任意の組み合わせによって実行してもよい。ジェスチャライブラリ124は、3つ以上の接触のうち1つの入力のみが「新しい」であったと決定してもよい(702)。ジェスチャライブラリ124は、3つ以上の接触のうちの1つを「コールド」と決定し、残りの接触をすべて「ホット」と決定してもよい(710)。
【0096】
ジェスチャライブラリ124は1回の接触のみが「新しい」である、又は1回の接触が「コールド」であり、その他は「ホット」であると決定し、ジェスチャライブラリ124は、「新しい」接触及び/又は指、又は「コールド」接触及び/又は指のいずれかが減衰ゾーン204及び206にあったかを決定してもよい(704)。「新しい」又は「コールド」接触及び/又は指が減衰ゾーン204及び206にある場合、ジェスチャライブラリ124、は「新しい」又は「コールド」接触及び/又は指を親指としてよい。
図3E、
図3F、
図3I、及び
図3Jに、減衰領域204及び206で接触が検出される例を示す。ジェスチャライブラリ124が「新しい」、又は「コールド」接触及び/又は指を親指とする場合、ジェスチャライブラリ124は、親指以外の残りの接触及び/又は指に基づいて、若しくは接触の回数から1を引いた数に基づいて、入力の種類を決定してもよい(706)。一実施例では、ジェスチャライブラリ124は、残りの単一の接触を左クリックと認識し、残りの2回の接触を右クリックと認識し、さらに、ミドルクリックが認識されるかに応じて、残りの3回の接触をミドルクリック又は左クリックと認識してよい。
【0097】
ジェスチャライブラリ124が「新しい」又は「コールド」接触及び/又は指を親指としない場合、ジェスチャライブラリ124は、入力の種類を左クリックと決定してよい(708)。
図3G、
図3H、
図3K、及び
図3Lに、触覚入力デバイス110が3回以上の接触を検出し、これらの接触のいずれも減衰領域204又は206になく、さらに該ジェスチャライブラリがいずれの接触も親指としない例を示す。
【0098】
ジェスチャライブラリ124が、1回の接触が「新しい」である、又は1回が「コールド」であり、他はすべて「ホット」であるとのいずれの決定もしない場合、ジェスチャライブラリ124は、接触がすべて「新しい」であるか決定してもよい(712)。ジェスチャライブラリ124がすべての接触を「新しい」と決定した場合、ジェスチャライブラリ124は、すべての接触が同一の領域にあるかを決定してよい(714)。ジェスチャライブラリ124は、例えば、すべての接触がプライマリ領域202及び208にあるか、又はすべての接触が減衰領域204及び206にあるかを決定してよい。
図3G、
図3H、
図3K、及び
図3Lに、すべての接触がプライマリ領域202及び208の同一領域にある例を示す。すべての接触が同一領域にある場合、ジェスチャライブラリ124は、ユーザが触覚入力デバイス110に接触したすべての指で意図して触覚入力デバイス110に接触したと決定し、入力の種類については、ミドルクリック又は左クリックを示す3つの指など、接触の回数(716)に基づいて決定してもよい。
【0099】
ジェスチャライブラリ124がすべての接触が「新しい」、又はすべての接触が同一の領域にあると決定しない場合、ジェスチャライブラリ124は最も近い接触のペアを決定してもよい(718)。例えば、
図3F、
図3H、
図3J、又は
図3Lのいずれかの例においてジェスチャライブラリ124が接触を処理する場合、ジェスチャライブラリは可能な各接触ペアを調べ、どのペアで二者間の距離が最少であるかを決定してよい。
【0100】
最も近い接触ペアを求めた(718)後、ジェスチャライブラリ124は、最も近い接触のペアが同一のジェスチャの一部と考えられる程近いかを決定する(720)。ジェスチャライブラリ124は、最も近いペアが十分に近いかを、当該ペア間の距離を求めることにより決定する(720)。距離は、x方向の差の二乗及びy方向の差の二乗に基づいて、又は最も近い接触の位置をパラメータとして受けて、距離値を返す距離関数を呼び出すことにより、決定してもよい。最も近い接触間の距離をしきい値と比較し、最も近いペアが十分に近いかを決定してもよい。
【0101】
最も近いペアが十分に近い場合、ジェスチャライブラリ124は、当該最も近いペアから離れすぎた指の本数に基づいて、別個の指の本数を決定する。例えば、残りの接触を、最も近いペアの内の近い方の接触と比較して、この距離をしきい値と比較してもよい。ジェスチャライブラリ124は、最も近いペア以外の接触のいくつがしきい値よりも遠いかを決定し、しきい値よりも離れた接触を別々の指としてもよい。
【0102】
一実施例において、最も近いペアが十分に近い場合、ジェスチャライブラリ124は、最も近いペア以外の接触の位置を所望の位置に対して比較することにより、別個の指の本数を決定する。ジェスチャライブラリ124は、例えば、2箇所の所望の位置を、最も近いペアを通過する線を引き、最も近いペアの両端から所定の距離をおいて当該直線状に所望位置を置くことにより決定してもよい。ジェスチャライブラリ124は、最も近いペア以外の接触の位置を所望の位置に対して比較する。ジェスチャライブラリ124は、例えば、最も近いペア以外の接触について、所望の位置からの距離を決定する。距離が十分に大きい場合、又はしきい値を超える場合、接触を別の指とし、別個の指の本数にカウントしてもよい。
【0103】
最も近いペアが十分に近くない場合、ジェスチャライブラリ124は、減衰領域204及び206における指の本数に基づいて、別個の指の本数を決定する(724)。ジェスチャライブラリ124は、減衰領域204及び206における接触の回数を決定し、これは、例えば、親指を含んでもよい。例えば、
図3G、
図3H、
図3K、及び
図3Lに、接触のいずれも減衰領域204及び206にない例を示し、
図3E、
図3F、
図3I、及び
図3Jに、接触の内の1つが減衰領域204及び206にある例を示す。
【0104】
ジェスチャライブラリ124が最も近いペアから離れすぎた接触の回数(722)、又は減衰ゾーン204における接触の回数(724)のいずれかに基づいて別個の接触の回数を決定した後、ジェスチャライブラリ124はすべての接触が互いに隣り合っているかを決定してもよい(726)。ジェスチャライブラリ124は、例えば、第3の接触が最も近いペアの内いずれかの接触に対して十分に近いかを決定し、さらに、第4の接触がある場合、第4の接触が第3の接触、又は最も近いペアの内のいずれかの接触に対して十分に近いかを決定することにより、すべての接触が互いに隣り合うかを決定しもよい。接触が互いに十分に近い場合、ジェスチャライブラリ124は、ユーザが意図してほぼ同時の接触を行ったと決定し、さらに、該ジェスチャライブラリは、ミドルクリック又は左クリックを示す3回の接触などの接触の回数に基づいて、入力の種類を決定してもよい(728)。
【0105】
接触が共に十分に近くない場合、ジェスチャライブラリ124は別個の接触が親指のみを含むかを決定してもよい(730)。別個の接触が親指のみを含むとジェスチャライブラリ124が決定した場合、ジェスチャライブラリ124は、(722)又は(724)のいずれかにおいて決定した別個の接触の回数(732)に基づいて、入力の種類を決定してもよい。
【0106】
別個の接触が親指のみを含むものではないとジェスチャライブラリ124が決定した場合、ジェスチャライブラリ124は、全体の接触回数に基づいて、入力の種類を決定してもよい(734)。全体の接触回数は、例えば、いくつの接触が少なくとも他の1つのしきい値距離内にあるかを決定することで、決定してもよい。ジェスチャライブラリ124は、例えば、1回の接触を左クリックと認識し、2回の接触を右クリックと認識し、3回以上の接触をミドルクリック又は左クリックと認識することで、入力の種類を決定してもよい。
【0107】
図8に、本明細書に記載の技術と共に用いることのできる、汎用コンピュータデバイス800、及び汎用モバイルコンピュータデバイス850の例を示す。コンピューティングデバイス800は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、及びその他の適切なコンピュータなどの、デジタルコンピュータの様々な形態を表すことが意図される。コンピューティングデバイス850は、携帯情報端末、携帯電話、スマートフォン、及びその他の同様のコンピューティングデバイスなど、モバイルデバイスの様々な形態を表すことが意図される。本明細書において示される構成要素、それらの接続及び関係、並びにそれらの機能は例示的なものに過ぎないことを意味しており、本明細書において説明される及び/又は特許請求の範囲に記載される本発明の実施態様を限定することを意味してはいない。
【0108】
コンピューティングデバイス800は、プロセッサ802と、メモリ804と、記憶デバイス806と、メモリ804に接続される高速インターフェイス808と、高速拡張端子810と、低速バス814及び記憶デバイス806に接続される低速インターフェイス812とを含む。構成要素802、804、806、808、810、及び812は各々、様々なバスを用いて相互に接続されており、共通のマザーボード上で、又は必要に応じてその他の方法で取り付けてもよい。プロセッサ802は、メモリ804内又は記憶デバイス806上に格納された命令を含む、コンピューティングデバイス800内で実行するための命令を処理し、GUI用のグラフィック情報を、高速インターフェイス808に接続されたディスプレイ816などの外部の入出力デバイス上に表示する。他の実施態様において、複数のプロセッサ及び/又は複数のバスを、必要に応じて、複数のメモリ及び複数のタイプのメモリと共に用いてもよい。また、複数のコンピューティングデバイス800を、必要な操作の一部を提供する各デバイス(例えば、サーババンク、ブレードサーバのグループ、又はマルチプロセッサシステムなど)と接続してもよい。
【0109】
メモリ804はコンピューティングデバイス800内の情報を格納する。一実施態様では、メモリ804は揮発性メモリユニット(複数可)である。他の実施態様では、メモリ804は不揮発性メモリユニット(複数可)である。また、メモリ804は、磁気又は光ディスクなど、別の形式のコンピュータ可読媒体であってもよい。
【0110】
記憶デバイス806は、コンピューティングデバイス800の大容量ストレージを提供することができる。一実施態様において、記憶デバイス806は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、又はテープデバイス、フラッシュメモリ又は他の同様のソリッドステートメモリデバイス、若しくはストレージ領域ネットワーク又は他の構成におけるデバイスを含むデバイスのアレイなどのコンピュータ可読媒体である、又は当該媒体を含む。コンピュータプログラム製品は、情報キャリアにおいて有形に具現化されてもよい。また、コンピュータプログラム製品は、実装時に、上述のような1つ以上の方法を実行する命令を含んでもよい。情報キャリアは、メモリ804、記憶デバイス806、又はプロセッサ802上のメモリなど、コンピュータ又は機械可読の媒体である。
【0111】
高速コントローラ808はコンピューティングデバイス800の帯域幅集約的な操作を管理し、低速コントローラ812は低帯域幅集約的な操作を管理する。このような機能の割り当ては、例示的なものに過ぎない。一実施態様において、高速コントローラ808は、メモリ804、ディスプレイ816(例えば、グラフィックスプロセッサ又はアクセラレータを介して)、及び様々な拡張カード(図示せず)を受け入れ可能な高速拡張ポート810に接続される。実施態様において、低速コントローラ812は、記憶デバイス806、及び低速拡張ポート814に接続される。様々な通信ポート(例えば、USB、ブルートゥース、イーサネット、無線イーサネット)を含む低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つ以上の入出力デバイスに接続してもよく、若しくは、例えば、ネットワークアダプタを介してスイッチ又はルータなどのネットワーキングデバイスに接続してもよい。
【0112】
コンピューティングデバイス800は、
図8に示されるように、複数の様々な形式で実現してもよい。例えば、標準サーバ820として実現してもよく、又はそのようなサーバのグループとして複数回実現してもよい。また、コンピューティングデバイス800は、ラックサーバシステム824の一部として実現してもよい。加えて、ラップトップコンピュータ822などのパーソナルコンピュータにおいて実現してもよい。或いは、コンピューティングデバイス800からの構成要素は、デバイス850などのモバイルデバイス(図示せず)の他の構成要素と組み合わせてもよい。そのようなデバイスはそれぞれコンピューティングデバイス800及び850を1つ以上含むことができ、システム全体を、相互に通信する複数のコンピューティングデバイス800及び850で構成してもよい。
【0113】
コンピューティングデバイス850は、プロセッサ852、メモリ864、ディスプレイ854などの入出力(I/O)デバイス、通信インターフェイス866、及び送受信機868などの他の構成要素を含む。また、デバイス850は、追加のストレージを提供するために、マイクロドライブ又は他のデバイスなどの記憶デバイスを備えてもよい。構成要素850、852、864、854、866、及び868はそれぞれ様々なバスを用いて互いに接続されており、いくつかの構成要素は、共通のマザーボード上で、又は必要に応じてその他の方法で取り付けてもよい。
【0114】
プロセッサ852は、メモリ864内に格納されている命令を含むコンピューティングデバイス850内の命令を実行することができる。プロセッサは、別個の複数のアナログ及びデジタルプロセッサを含むチップを有するチップセットとして実現してもよい。プロセッサは、例えば、ユーザインターフェイス、デバイス850によって実行されるアプリケーション、及びデバイス850による無線通信の制御など、デバイス850のその他の構成要素の協調を提供することができる。
【0115】
プロセッサ852は、ディスプレイ854に接続された制御インターフェイス858及びディスプレイインターフェイス856を介して、ユーザと通信することができる。ディスプレイ854は、例えば、TFT LCD(薄膜トランジスタ液晶ディスプレイ(Thin-Film-Transistor Liquid Crystal Display))又はOLED(有機発光ダイオード(Organic Light Emitting Diode))ディスプレイ、若しくは他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス856は、ユーザに対し、ディスプレイ854にグラフィック又は他の情報を示すための適切な回路を備えてもよい。制御インターフェイス858は、ユーザからコマンドを受信して、これらをプロセッサ852にサブミットするために変換することができる。加えて、外部インターフェイス862は、デバイス850が他のデバイスと近隣エリア通信を行えるように、プロセッサ852と通信可能に設けてもよい。外部インターフェイス862は、例えば、一部の実施態様において有線通信を行うため、又は他の実施態様において無線通信を行うために提供してもよく、複数のインターフェイスを用いてもよい。
【0116】
メモリ864は、コンピューティングデバイス850内の情報を格納する。メモリ864は、コンピュータ可読媒体(複数可)、揮発性メモリユニット(複数可)、又は不揮発性メモリユニット(複数可)のうちの1つ以上として実現してもよい。また、拡張メモリ874は、例えば、SIMM(Single In Line Memory Module)カードインターフェイスを含む拡張インターフェイス872を介してデバイス850に接続して設けてもよい。そのような拡張メモリ874は、デバイス850のための追加の記憶領域を設ける、又はデバイス850のアプリケーションや他の情報を格納することができる。特に、拡張メモリ874は、上述のプロセスを実行する、又は補足するための命令や機密保護情報を含んでもよい。したがって、例えば、拡張メモリ874は、デバイス850のセキュリティモジュールとして提供してもよく、デバイス850の安全な使用を可能にする命令でプログラミングしてもよい。加えて、ハッキング不可能な方法でSIMMカード上に識別情報を配置するなどして、機密保護アプリケーションを追加情報と共にSIMMカードを介して提供してもよい。
【0117】
例えば、メモリは、後段で説明されるように、フラッシュメモリ及び/又はNVRAMメモリを含むことができる。一実施態様において、コンピュータプログラム製品は、情報キャリアにおいて有形に具現される。コンピュータプログラム製品は、実装時、上述のような1つ以上の方法を実行する命令を含む。情報キャリアは、例えば、送受信機868や外部インターフェイス862などを介して受信される、メモリ864、拡張メモリ874、又はプロセッサ852上のメモリなどのコンピュータ又は機械可読の媒体である。
【0118】
デバイス850は、必要に応じてデジタル信号処理回路を備え得る通信インターフェイス866を介して、無線通信を行うことができる。通信インターフェイス866は、GSMボイスコール、SMS、EMS、又はMMSメッセージング、CDMA、TDMA、PDC、WCDMA、CDMA2000、又はGPRSなどの、様々なモード又はプロトコルによる通信を可能にできる。そのような通信は、例えば、無線周波数送受信機868を介して行ってもよい。加えて、近距離通信は、ブルートゥース、WiFi又は他の送受信機(図示せず)を用いて行ってもよい。加えて、GPS(全地球測位システム(Global Positioning System))受信機モジュール870は、ナビゲーション及び位置に関する追加の無線データをデバイス850に提供することができ、このデータはデバイス850で稼働するアプリケーションに適宜用いてよい。
【0119】
また、デバイス850は、ユーザから口頭で情報を受けてそれを使用可能なデジタル情報に変換することのできるオーディオコーデック860を用いることで、音声によるやり取りが可能である。同様に、オーディオコーデック860は、例えばデバイス850のハンドセットなどのスピーカーを介して、ユーザに対して可聴音を生成することができる。そのような音は、音声電話コールからの音、録音された音(例えば、ボイスメッセージ、音楽ファイルなど)、又はデバイス850で稼働するアプリケーションにより生成された音を含んでもよい。
【0120】
コンピューティングデバイス850は、
図8に示されるように、多数の様々な形式で実現してもよい。例えば、コンピューティングデバイス850は、携帯電話880として実現してもよい。また、コンピューティングデバイス850は、スマートフォン882、携帯情報端末、又は他の同様のモバイルデバイスの一部として実現してもよい。
【0121】
本明細書に記載の様々な技術の実施態様は、デジタル電子回路、又はコンピュータハードウェア、ファームウェア、ソフトウェア、或いはこれらの組み合わせにおいて実現してもよい。実施態様は、コンピュータプログラム製品、即ち、機械可読の記憶デバイスなどの情報キャリアで有形に具現されるコンピュータプログラムとして、例えば、プログラマブルプロセッサ、コンピュータ、又は複数のコンピュータなどのデータ処理装置の操作により実行されるように、又は同操作を制御するように、実現してもよい。非一時的なコンピュータ可読記憶媒体は、同媒体に格納され、少なくとも1つのプロセッサによる実行時にコンピューティングシステムに本明細書に記載の機能及び処理のいずれかの組み合わせを実行させるよう構成された命令を含んでもよい。上述のコンピュータプログラムなどのコンピュータプログラムは、コンパイル又は翻訳された言語を含む、任意の形式のプログラミング言語による記述が可能であり、スタンドアロンプログラム又はモジュールとして、構成要素、サブルーチン又はコンピューティング環境での使用に適した他のユニットを含む、任意の形式で配備してよい。コンピュータプログラムは、1つのコンピュータ上、若しくは、1箇所に配置された、又は複数箇所にわたって分配され、通信ネットワークにより相互に接続された複数のコンピュータ上で実行するように配置してもよい。
【0122】
方法のステップは、入力データを操作して出力を生成することにより機能を実現するコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサにより行ってもよい。また、方法のステップは、特殊目的の論理回路、例えばFPGA(フィールド・プログラマブル・ゲートアレイ)、或いはASIC(アプリケーション固有の集積回路)によって行ってもよく、装置をこれらの論理回路として実現してもよい。
【0123】
コンピュータプログラムの実行に適したプロセッサは、例示として、汎用及び特殊目的マイクロプロセッサの両方と、任意の種類のデジタルコンピュータの1つ以上のプロセッサとを含む。一般的に、プロセッサは、読み取り専用メモリ、又はランダムアクセスメモリ、或いはその両方から命令及びデータを受信する。コンピュータの要素は、命令を実行するための少なくとも1つのプロセッサと、命令及びデータを格納するための1つ以上のメモリデバイスとを含んでよい。一般的に、コンピュータは、例えば、磁気ディスク、光磁気ディスク、又は光ディスクなど、データを格納するための大容量記憶デバイスを1つ以上含んでもよく、これらのデバイスからのデータの受信、又はこれらのデバイスへのデータの転送の一方或いは両方を行うように動作的に接続されてもよい。コンピュータプログラム命令及びデータを実行するのに適した情報キャリアは、例示として、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス、例えば内部ハードディスク又はリムーバブルディスクなどの磁気ディスク、光磁気ディスク、並びにCD-ROM及びDVD-ROMディスクなど、すべての形式の不揮発性メモリを含む。当該プロセッサ及びメモリは、特殊目的の論理回路によって補完する、又は当該回路内に組み込むことができる。
【0124】
ユーザとのやり取りを可能にするため、実施態様は、ユーザに情報を表示するためのブラウン管(CRT)や液晶表示(LCD)モニタなどの表示デバイス、及びユーザがコンピュータへの入力を行うことのできる、キーボード、並びにマウスやトラックボールなどのポインティングデバイスを有するコンピュータ上で実現してもよい。ユーザとのやり取りを可能にするには他の種類のデバイスを用いてもよく、例えば、ユーザへのフィードバックは、例えば視覚フィードバック、聴覚フィードバック、及び触覚フィードバックなど任意の形式の感覚フィードバックとしてもよく、ユーザからの入力は、聴覚、会話又は触覚入力を含む任意の形式で受信することができる。
【0125】
実施態様は、例えばデータサーバなどのバックエンド構成要素を含むか、例えばアプリケーションサーバなどのミドルウェア構成要素を含むか、又は、例えばユーザが実施態様とやり取りのできるグラフィカルユーザインターフェイスやウェブブラウザを有するクライアントコンピュータなどのフロントエンド構成要素を含むか、或いは、そのようなバックエンド、ミドルウェア、又はフロントエンド構成要素の任意の組み合わせを含むコンピューティングシステムとして実現してもよい。構成要素は、例えば通信ネットワークなどのデジタルデータ通信の任意の形式又は媒体によって相互に接続されてもよい。通信ネットワークの例には、ローカルエリアネットワーク(LAN)や、例えばインターネットなどのワイドエリアネットワーク(WAN)が含まれる。
【0126】
説明された実施態様の特定の特徴は本明細書に記載のように示されたが、当業者には多数の修正、代替、変更、及び等価が考案されよう。したがって、添付の特許請求の範囲は、すべてのそのような修正及び変更を、実施態様の範囲内に含まれるものとして扱うことが意図されていることを理解されたい。