(57)【要約】【課題】  タッチ操作が可能な情報処理装置において、一時的にユーザの意図とは異なる数のタッチ点が装置に検出されてしまう場合に、検出されているタッチ点の数に基づいた操作が認識されると、ユーザにとっては意図に反した誤動作となってしまうことがある。【解決手段】  上記課題を解決するため、本発明の実施例は、操作面をタッチすることによりシングルタッチ操作およびマルチタッチ操作を行うことが可能な情報処理装置であって、操作面にタッチされた１又は複数のタッチ点を検出し、前記タッチ点に関する情報を、シングルタッチ操作、マルチタッチ操作の指示として認識し、前記検出されたタッチ点が１点である場合には以前のタッチ点から増加して１点が検出されているのか、以前のタッチ点から減少して１点が検出されているのかを特定し、前記特定の結果に基づいて、前記タッチ点に関する情報をシングルタッチ操作の指示として認識することを特徴とする。【選択図】  図４
2014021829.tif 000002
【特許請求の範囲】
【請求項１】
操作面をタッチすることによりシングルタッチ操作およびマルチタッチ操作を行うことが可能な情報処理装置であって、
前記操作面にタッチされた１又は複数のタッチ点を検出する検出手段と、
前記タッチ点に関する情報を、シングルタッチ操作、マルチタッチ操作の指示として認識する認識手段とを備え、
前記認識手段は、前記検出手段で検出されたタッチ点が１点である場合には、以前のタッチ点から増加して１点が検出されているのか、以前のタッチ点から減少して１点が検出されているのかを特定し、前記特定の結果に基づいて、前記タッチ点に関する情報をシングルタッチ操作の指示として認識することを特徴とする情報処理装置。
【請求項２】
前記認識手段は、前記検出手段で検出されたタッチ点が、以前のタッチ点から増加して１点が検出されている場合には、第１の条件を満たしているか否かに基づいて、前記シングルタッチ操作の指示であるか否かを認識し、
以前のタッチ点から減少して１点が検出されている場合には、第２の条件を満たしているか否かに基づいて、前記シングルタッチ操作の指示であるか否かを認識することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の条件および第２の条件の少なくとも一方は、
前記検出手段によって検出されたタッチ点が１になってからの経過時間の長さが、閾値以上であるという条件であることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第１の条件および第２の条件の少なくとも一方は、
前記検出手段が検出したタッチ点が移動した距離の大きさが、閾値以上であるという条件であることを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記第１の条件および第２の条件の少なくとも一方は、
前記検出手段によって検出されたタッチ点が１になってから、前記認識手段によって前記シングルタッチ操作が認識された回数が、閾値以上であるという条件であることを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記第１の条件および第２の条件の少なくとも一方は、
前記検出手段によって検出されたタッチ点が１になる前後において、前記検出手段によって検出されたタッチ点の移動方向の角度が、閾値以上異なるという条件であることを特徴とする請求項２に記載の情報処理装置。
【請求項７】
前記タッチ点に関する情報とは、前記検出手段で検出されたタッチ点の位置に基づく情報であることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記認識手段は、
前記検出手段で検出されたタッチ点が、以前のタッチ点から減少して１点が検出されている場合には、前記タッチ点に関する情報をシングルタッチ操作の指示として認識しないことを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記認識手段は、
前記検出手段で検出されたタッチ点が、以前のタッチ点から増加して１点が検出されている場合には、前記タッチ点に関する情報をシングルタッチ操作の指示として認識することを特徴とする請求項１又は８に記載の情報処理装置。
【請求項１０】
前記情報処理装置は、シングルタッチ操作、および２点のタッチによる第１のマルチタッチ操作、および３点以上のタッチによる第２のマルチタッチ操作の実行が可能であり、
前記認識手段は、
前記検出手段で検出されたタッチ点が、以前のタッチ点から増加して２点検出されているか、以前のタッチ点から減少して２点検出されているかを特定し、前記特定の結果に基づいて、検出手段で検出されたタッチ点に関する情報を前記第１のマルチタッチ操作の指示として認識することを特徴とする請求項１に記載の情報処理装置。
【請求項１１】
コンピュータに読み込ませ実行させることで、請求項１乃至１０に記載された情報処理装置として動作させるためのプログラム。
【請求項１２】
請求項１１のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項１３】
操作面をタッチすることによりシングルタッチ操作およびマルチタッチ操作を行うことが可能な情報処理装置の制御方法であって、
検出手段により、操作面にタッチされた１又は複数のタッチ点を検出する検出工程と、
認識手段により、前記タッチ点に関する情報を、シングルタッチ操作、マルチタッチ操作の指示として認識する認識工程とを備え、
前記認識工程では、前記検出工程において検出されたタッチ点が１点である場合には、以前のタッチ点から増加して１点が検出されているのか、以前のタッチ点から減少して１点が検出されているのかを特定し、前記特定の結果に基づいて、前記タッチ点に関する情報をシングルタッチ操作の指示として認識することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチ操作を認識する技術に関する。
【背景技術】
【０００２】
近年、画面の複数点がタッチされたことを検知し、そのタッチ点の動きに対応する操作を実行する技術が知られている。このような複数点をタッチすることによる操作は、マルチタッチ操作と呼ばれる。
特許文献１では、画面に接触した２本の指の距離を変更せずに一方向へ移動するドラッグ操作により、画面のスクロール操作を行う。この操作での画面のスクロール量は、１本の指でドラッグ操作した場合の２倍の量に設定される。すなわち、ユーザがタッチ点の数を変更することでスクロール量を変更できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２２７８５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１のように、マルチタッチ操作を行える装置において、例えば１点をタッチした場合と２点をタッチした場合とでは、操作内容に変化が生じることがある。
しかしながら、ユーザは、複数の指を画面に同時に接触させる、あるいは接触していた指を同時に離すとは限らない。例えば２点のタッチを行おうとしたつもりであっても、最初に１点をタッチした後に、次の１点をタッチしてしまう場合も有り得る。
また、近年では、画面に接触していなくても、近接している指を検出してタッチとして認識するタッチパネルも利用されているため、ユーザが画面に触れているつもりがなくても、装置にタッチ点を検出されることも有り得る。
また、ユーザがタッチ操作を始める場合には、シングルタッチとマルチタッチの両方が実行される可能性があるが、いったんマルチタッチで操作をした後には、マルチタッチのタッチ点を減らしつつ継続してシングルタッチを実行することは少ない。
本発明は上記課題に鑑みてなされたものであり、マルチタッチ操作が可能な装置において、検出するタッチ点の変動による誤動作を低減することを主な目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明の実施例は、操作面をタッチすることによりシングルタッチ操作およびマルチタッチ操作を行うことが可能な情報処理装置であって、操作面にタッチされた１又は複数のタッチ点を検出する検出手段と、前記タッチ点に関する情報を、シングルタッチ操作、マルチタッチ操作の指示として認識する認識手段とを備え、前記認識手段は、前記検出手段で検出されたタッチ点が１点である場合には、以前のタッチ点から増加して１点が検出されているのか、以前のタッチ点から減少して１点が検出されているのかを特定し、前記特定の結果に基づいて、前記タッチ点に関する情報をシングルタッチ操作の指示として認識することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、マルチタッチ操作が可能な装置において、検出するタッチ点の変動による誤動作を低減することができる。
【図面の簡単な説明】
【０００７】
【図１】情報処理装置のハードウェア及び機能の構成を示す図
【図２】情報処理装置のメインの処理の流れの一例を示すフローチャート
【図３】情報処理装置が実行するタッチ点検出処理の流れの一例を示すフローチャート
【図４】情報処理装置が実行するタッチ状態特定処理の流れの一例を示すフローチャート
【図５】情報処理装置が実行する操作認識処理の流れの一例を示す
【図６】情報処理装置の２点以下のタッチ点で操作するタッチ状態遷移図
【図７】情報処理装置の３点以下のタッチ点で操作するタッチ状態遷移図
【図８】情報処理装置の２点以下のタッチ点で操作する簡易版のタッチ状態遷移図
【図９】ユーザが行うタッチ操作の一例を示す図
【図１０】タッチ操作におけるタッチ点の位置の推移の一例を示す図
【図１１】タッチ操作におけるタッチ点の位置の推移の一例を示す図
【図１２】タッチ操作におけるタッチ点の位置の推移の一例を示す図
【発明を実施するための形態】
【０００８】
以下、本実施例を実施するための形態について、図面を参照しながら説明する。なお、以下で説明する実施例は、本実施例を具体的に実施した場合の一例を示すものであり、これに限るものではない。
【０００９】
＜実施例１＞
ここで、一般的な情報処理装置において、マルチタッチ操作が行われる際に検出されるタッチ点の数の推移を説明する。ユーザがタッチパネルディスプレイ１０８上の操作面をタッチして行うタッチ操作を認識する際には、タッチパネルから１点ずつ通知されるタッチ点の情報を情報処理装置が順次取得し、タッチ点の点数や位置や移動した軌跡を、タッチ操作の指示として認識する。２点をタッチするマルチタッチ操作の開始時には、まず、操作面で検出されているタッチ点の数は０点から１点、１点から２点と変化し、２点が検出されている状態で操作が行われる。逆に操作後は、操作面で検出されているタッチ点の数は２点から１点、１点から０点とタッチ点が検出されることになる。マルチタッチ操作を行おうとしているユーザにとっては、０点から２点へ推移する途中の、１点がタッチされている状態の間に、装置がシングルタッチ操作として認識した場合、ユーザにとって想定外の動作が実行されることとなる。ここでマルチタッチ操作は、例えば、２点のタッチ点の間隔を一定に保ちつつ平行に動かすマルチドラッグ操作、複数のタッチ点の間の距離を変化させるピンチ操作、複数のタッチ点を回転させるローテート操作等であり、限定されない。
【００１０】
第１の実施例では、Ｎ点のタッチ点が検出された場合に、以前のタッチ点から増加してＮ点が検出されているのか、以前のタッチ点から減少してＮ点が検出されているのかを特定する。そして、上記特定の結果に基づいてＮ点のタッチ点によるタッチ操作の指示を認識する。
【００１１】
以下では、マルチタッチ操作が行える基本的な一例として、情報処理装置が、１点あるいは２点のタッチ点による操作の指示を認識する例を説明する。この場合のマルチタッチとは２点をタッチした場合を言う。本実施例では操作に利用されるタッチ点の上限は２点である。すなわち、ユーザが３点以上をタッチした場合であっても、所定の基準（例えば、先に検出された２点、画面中央に近い２点などを選択する等）によって２点が操作対象のタッチ点として検出される。
【００１２】
以下、本実施例では、ユーザがタッチパネルディスプレイ１０８上で指を動かすタッチ操作によって、表示されている画像に対する操作を行う例を説明する。
【００１３】
図１（ａ）は、本実施例に係る情報処理装置１００のハードウェア構成の一例を示す図である。ＣＰＵ１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、各種処理のための演算や論理判断などを行い、システムバス１１０に接続された各構成要素を制御する。この情報処理装置１００には、プログラムメモリとデータメモリを含むメモリが搭載されている。ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２は、プログラムメモリであって、後述する各種処理手順を含むＣＰＵによる制御のためのプログラムを格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３であり、ＣＰＵ１０１の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。外部記憶装置１０９などからＲＡＭ１０３にプログラムをロードすることで、プログラムメモリを実現しても構わない。ＨＤ１０４は、本実施例に係るデータやプログラムを記憶しておくためのハードディスクである。本実施例では、これらのＨＤ１０４には、複数の画像データが格納されている。同様の役割を果たし、入出力インタフェース１０７を介して接続される外部記憶装置１０９を用いてもよい。ここで、外部記憶装置１０９は、例えば、メディア（プログラム記憶媒体）と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ、ＭＯ、フラッシュメモリ等が知られている。また、外部記憶装置１０９は、ネットワークで接続されたサーバ装置などであってもよい。本実施例において必要な情報は、ＲＡＭ１０３やＨＤ１０４、外部記憶装置１０９に保持される。入力インタフェース１０５は、ポインティングデバイスなどの入力装置から出力された信号を取得する。出力インタフェース１０６は、液晶ディスプレイ、テレビモニタ等の表示部を有する出力装置に対して、後述する各種の処理を実行した結果の出力を制御する信号を出力する。本実施例において、入力装置であるタッチパネルと出力装置であるディスプレイ装置は、情報処理装置１００に一体化したタッチパネルディスプレイ１０８を使用する。ただし、情報処理装置１００に接続された外部装置であってもかまわない。本実施例で用いられる入力装置としてのタッチパネルディスプレイ１０８は、静電容量方式のものを使用する。さらに、本実施例では、通常モードと高感度モードの２つのモードでタッチパネルディスプレイ１０８を動作させることができる。通常モードでは、ユーザによるタッチを検出する操作面に設けられたタッチセンサを走査し、ユーザによって接触されている点、あるいは接触が離された点を１点ずつ検出する度に順次タッチイベントとして情報処理装置１００に通知する。一方、高感度モードでは、タッチセンサの感度が強くなり、タッチパネルディスプレイ１０８表面に非接触でも、近接する指はタッチ点として検出される。ただし、タッチパネルの方式は静電容量方式に限らず、例えば電磁誘導や光センサなどのデバイスを利用し、ユーザと操作面との接触あるいは近接を検知するものであっても構わない。
【００１４】
図１（ｂ）は、本実施例に係る情報処理装置１００の機能構成を示す機能ブロック図である。
【００１５】
まず、本実施例の情報処理装置１００は、検出部１１１、操作情報取得部１１３、タッチ点数取得部１１４、特定部１１５、認識部１１６、表示制御部１１７を有する。これらの各機能部は、ＣＰＵ１０１がＲＯＭ１０２に格納されたプログラムをＲＡＭ１０３に展開し、実行することで実現されている。さらに、本実施例の情報処理装置１００が有する保持部１１２はＲＡＭ１０３の機能部であり、記憶部１１８はＨＤ１０４の機能部である。ただし、本発明は、これらの機能部をハードウェアで実現する情報処理装置によっても同様に実現可能である。以下、各要素について説明する。
【００１６】
検出部１１１は、タッチパネルディスプレイ１０８から通知されるタッチイベントの情報を受信し、解析することで、ユーザがタッチしているタッチ点を検出する。本実施例において、タッチイベントはユーザがタッチパネルディスプレイ１０８をタッチしていること、あるいはタッチを離したことを示す。さらに、タッチイベントが発生したタッチパネルディスプレイ１０８の操作面におけるタッチ点の位置を示す位置情報、そしてタッチイベントが検出された時刻（検出時刻）が含まれる。検出部１１１は、タッチ点の位置を示す座標情報と、検出時刻とをタッチ点のＩＤに関連付け、タッチ点毎に保持部１１２に保持させる。ＩＤを利用することで、同一のタッチ点を識別することができる。本実施例では、タッチ点が検出された順番とＩＤを対応させる。すなわち、１点目に検出されたタッチ点に１、２点目に検出されたタッチ点に２というＩＤを割り当てて管理する。
【００１７】
操作情報取得部１１３は、保持部１１２に保持されたタッチ点の位置情報に基づいて、同一のＩＤのタッチ点の移動距離や移動方向、複数のタッチ点の間の距離とその変化量等を示す操作情報を取得する。
【００１８】
タッチ点数取得部１１４は、検出されているタッチ点の数を取得する。本実施例では、保持部１１２に保持されたタッチ点のＩＤの数を参照することで、タッチ点の数を取得することができる。
【００１９】
特定部１１５は、その時点でのタッチ点の状態を特定する。本実施例では、最新のタッチイベントが検出された時点でのタッチ点の状態が「タッチなし状態」、「マルチタッチ状態」、「シングルタッチ状態」、「２ｔｏ１移行状態」、「０ｔｏ１移行状態」のうちのいずれであるかを特定する。そして、特定された状態を示す情報を保持する。
【００２０】
本実施例では、「タッチなし状態」は、タッチ点が検出されていない状態を示す。また、「２ｔｏ１移行状態」は、２点のタッチ点が減少して１点が検出されている状態であることを示す。「０ｔｏ１移行状態」は、タッチ点が検出されていない状態から増加して１点のタッチ点が検出されている状態であることを示す。「シングルタッチ状態」は、検出されている１点のタッチ点によるシングルタッチ操作を認識する状態を示す。「２ｔｏ１移行状態」と「０ｔｏ１移行状態」では、それぞれ異なる移行条件が満たされた場合に「シングルタッチ状態」に遷移する。このように、本実施例では、検出されているタッチ点が１点である場合には、以前からタッチ点から増加して１点が検出されているのか、減少して１点が検出されているのかを特定する。そして、特定結果に基づいて、シングルタッチ操作を認識する。「マルチタッチ状態」は、２点のタッチ点が検出されている状態であることを示し、マルチタッチ操作を認識する。
【００２１】
認識部１１６は、特定部１１５の特定結果と、タッチパネルディスプレイ１０８から情報処理装置１００に入力されたタッチ点の操作情報を、ユーザが行ったタッチ操作の指示として認識する。本実施例では、操作情報取得部１１３が取得した操作情報が、予め記憶されたタッチ操作の指示を認識するための条件を満たすか否かを判定し、認識条件が満たされた場合に、該当するタッチ操作の指示として認識する。その際、タッチ状態毎に、認識可能な操作が異なる。本実施例では、現在のタッチ状態が「タッチなし状態」、「２ｔｏ１移行状態」、「０ｔｏ１移行状態」のいずれかであると特定した場合には、操作コマンドを認識しない。そして、「マルチタッチ状態」であると特定した場合には、取得した操作情報を、予め記憶している複数のマルチタッチ操作それぞれの認識条件と比較し、条件に最も合うマルチタッチ操作の指示として認識する。そして「シングルタッチ状態」にあると特定した場合には、取得した操作情報を、予め記憶しているシングルタッチ操作の認識条件と比較し、条件に最も合うシングルタッチ操作の指示として認識する。
【００２２】
表示制御部１１７は、タッチパネルディスプレイ１０８である出力装置に表示させる表示画像を生成し、出力する。タッチパネルディスプレイ１０８に表示される画像は、例えば、作成日時の順にソートされた複数の画像データのうちの１枚である。ただし、ソート順はこれに限らない。表示制御部１１７は、認識部１１６が認識したタッチ操作に応じて、タッチパネルディスプレイ１０８に表示される画像を制御する。
【００２３】
保持部１１２は、検出部１１１、操作情報取得部１１３、タッチ点数取得部１１４、特定部１１５が処理する情報を保持する。
【００２４】
記憶部１１８は、タッチパネルディスプレイ１０８に表示させて閲覧することが可能な複数の画像データを記憶している。本実施例では、これらの画像データは作成された日時順に記憶されている。
【００２５】
本実施例では、ユーザのタッチ操作が行われる前には、ディスプレイ１０８に記憶部１１８に記憶された複数の画像データのうちの少なくとも１つが表示されている。ユーザがタッチパネルディスプレイ１０８上で１点のタッチ点を移動させた場合、その時点で表示されている画像が、タッチ点の移動に追従して移動する。そして、左右方向に所定の距離以上動かされたことに応じて、表示されていた画像の前後に記憶されている画像が表示される。これに対し、ユーザが２点のタッチ点の間の距離を変更せずに、同時にタッチパネルディスプレイ１０８上を左右方向に移動させた場合、その時表示されている画像の１０枚前、あるいは１０枚後に記憶されている画像が表示される。例えば、ユーザが２本の指でタッチパネル１０８をタッチし、そのタッチ点を右に移動した場合、表示されていた画像より１０枚前に記憶されている画像が表示される。以下、ユーザが２本の指でタッチパネルディスプレイ１０８に触れ、２点のタッチ点間の距離を変えずに左右に動かして１０枚前後の画像を表示させる操作をマルチドラッグ操作、１本の指で表示画像を動かす操作をムーブ操作と記載して区別する。従って、表示制御部１１７は、認識部１１６によって、ムーブ操作が認識された場合には、タッチ点の移動に基づき、記憶部１１８に記憶された複数の画像データのうち、表示されている画像の前または後の画像データを表示させるための表示画像を生成する。また、認識部１１６によって、マルチドラッグ操作が認識された場合には、２点のタッチ点の移動方向に基づき、記憶部１１８に記憶された複数の画像データのうち、表示されている画像の１０枚前または後の画像データを表示させるための表示画像を生成する。さらに、認識部１１６によって、ピンチ操作が認識された場合、２点のタッチ点間の距離変化量に応じて、ユーザが操作する前の表示画像を拡大あるいは縮小した表示画像を生成する。その他、認識部１１６が認識したシングルタッチ操作、マルチタッチ操作に応じた表示制御が実行される。
【００２６】
図２は、情報処理装置１００が実行するメイン処理の流れを示すフローチャートである。本実施例、記憶部１１８に記憶されている画像データの少なくとも１枚がタッチパネルディスプレイ１０８に表示されたことに応じて、図２のフローチャートの処理が開始されるものとする。
【００２７】
まず、ステップＳ２０１では、検出部１１１が、タッチ点を検出する。検出部１１１が、タッチパネルディスプレイ１０８から通知されるタッチイベントを解析し、タッチ点のＩＤ、タッチ点の位置座標、タッチ点の検出時刻、タッチ点の移動距離、タッチ点の移動方向を、取得して保持部１１２に保持する。
【００２８】
ステップＳ２０２では、特定部１１５が、情報処理装置１００のタッチ状態を特定する。本実施例では、取得したタッチ点の情報から、その時点でのタッチ状態が「タッチなし状態」、「マルチタッチ状態」、「シングルタッチ状態」、「２ｔｏ１移行状態」、「０ｔｏ１移行状態」のうちのいずれであるかを特定する。
【００２９】
ステップＳ２０３では、認識部１１６が、タッチ操作を認識する。認識部１１６は、ステップＳ２０２において特定されたタッチ状態と、ステップＳ２０１で検出されたタッチ点の位置や移動量等の操作情報を、タッチ操作の指示として認識する。
【００３０】
ステップＳ２０４では、表示制御部１１７が、認識部１１６によって認識されたタッチ操作による操作結果を表示するための表示画像を生成し、タッチパネルディスプレイ１０８に出力する。
【００３１】
次に、ステップＳ２０１〜２０４の各ステップにおいて実行される処理の詳細を、フローチャートを参照しながら説明する。
【００３２】
図３は、ステップＳ２０１において実行される、タッチ点検出処理の流れを示すフローチャートである。
【００３３】
まず、ステップＳ３０１において、検出部１１１は、タッチパネルディスプレイ１０８から通知されたタッチイベントが「ＴＯＵＣＨ」であるか否かを判定する。本実施例において用いるタッチパネルディスプレイ１０８は、タッチされていることを検出したときにはタッチイベントとして「ＴＯＵＣＨ」を、検出されていたタッチが離されたときにはタッチイベントとして「ＲＥＬＥＡＳＥ」を通知する。通知されたタッチイベントが「ＴＯＵＣＨ」だと判定された場合（ステップＳ３０１でＹＥＳ）には、ステップＳ３０３に進む。通知されたタッチイベントがタッチではない、すなわち「ＲＥＬＥＡＳＥ」であると判定された場合（ステップＳ３０１でＮＯ）には、ステップＳ３０２に進む。なお、タッチパネルディスプレイ１０８は、操作面９０１上に格子上に張り巡らされたタッチセンサ（不図示）を、端から走査し、タッチされていることを検知したタッチセンサが存在した場合に、タッチイベントを通知する。従って、複数の点がタッチされている場合にも、タッチイベントは１点ずつ通知される。
【００３４】
ステップＳ３０２では、検出部１１１が、保持部１１２に保持されていた情報のうち、「ＲＥＬＥＡＳＥ」が検出されたタッチ点に対応するＩＤに関連付けられていた情報を、ＩＤとともに削除する。
【００３５】
一方、ステップＳ３０３では、検出部１１１が、「ＴＯＵＣＨ」が検出されたタッチ点と同じＩＤのタッチ点が既に検出されているか否かを判定する。検出部１１１は、保持部１１２に保持された情報を参照し、対応するＩＤが含まれているかを判定する。同じＩＤのタッチ点が既に検出されていると判定された場合（ステップＳ３０３でＹＥＳ）には、処理はステップＳ３０６に進み、同じＩＤのタッチ点が検出されていないと判定された場合（ステップＳ３０３でＮＯ）には、ステップＳ３０４に進む。
【００３６】
ステップＳ３０４において、検出部１１１は、「ＴＯＵＣＨ」が検出されたタッチ点のＩＤ、座標、検出時刻の情報を保持部１１２に保持されている情報に新規追加する。その後、ＩＤの数からタッチ数を算出し、保持する。
【００３７】
ステップＳ３０５では、タッチ点数取得部１１４が、保持部１１２に保持された情報を参照し、タッチ点のＩＤの数を、そのとき検出されているタッチ点の数として取得し、保持部１１２に保持する。このとき、タッチ点の数が前回の処理と異なる場合には、前回までのタッチ点の数を、変化前のタッチ点の数として保持するとともに、タッチ点数が変化した時刻を示す情報を保持する。既に、前回のタッチ点の数に関する情報が保持されている場合には、最新の変化に関する情報に更新する。以下、保持部１１２に保持される前回のタッチ点の数に関する情報を、タッチ点数の変化履歴と言う。
【００３８】
ステップＳ３０６では、検出部１１１が、保持部１１２に保持されている情報に、「ＴＯＵＣＨ」が検出されたタッチ点と同じＩＤに、最新の座標と検出時刻の情報を追加して、保持部１１２に保持されている情報を更新する。これにより、本実施例では、「ＲＥＬＥＡＳＥ」イベントが検出され、ステップＳ３０２においてタッチ情報が削除されるまで、同じＩＤのタッチ点の座標と検出時刻が蓄積されていく。
【００３９】
また、タッチ点数が２点以上の場合、タッチ点間の距離および距離の変化を取得する。そして、同様に、取得したタッチ点間の距離の情報も、当該タッチ点のＩＤに関連付けて保持部１１２に保持する。これにより、本実施例では、「ＲＥＬＥＡＳＥ」イベントが検出され、ステップＳ３０２においてタッチ点に関する情報が削除されるまで、関連付けられたＩＤのタッチ点が移動する度に、そのタッチ点間の距離および距離の変化を示す情報が蓄積されていく。
【００４０】
ステップＳ３０７では、操作情報取得部１１３が、タッチ点の移動方向と移動距離を取得する。まず、移動方向を取得するため、保持部１１２に保持されている情報から得られる前回のタッチ点の位置情報を基準とし、今回検出されたタッチ点の位置に向かう移動ベクトルを生成する。そして、この生成された移動ベクトルと、予め定められた基準軸とが成す角度を求め、移動方向とする。この移動方向を移動方向とする。例えば、基準軸を後述する操作例における操作面９０１のＹ軸とすると、上方向が０°、下方向が１８０°、右方向が９０°、左方向が２７０°となる。
【００４１】
次に、移動距離を取得するためには、基準点の位置と今回「ＴＯＵＣＨ」が検出されたタッチ点と位置の間の距離を求める。本実施例において、基準点は、最初に当該タッチ点が初めてタッチされた点として定めた後、タッチ点数が変わった時、ムーブが認識された時、マルチドラッグが認識された時に、前回更新されたタッチ点の位置に変更する。操作情報取得部１１３は、このように「ＴＯＵＣＨ」が検出されたタッチ点について取得した移動方向と移動距離の情報を、当該タッチ点のＩＤに関連付けて保持部１１２に保持する。これにより、本実施例では、「ＲＥＬＥＡＳＥ」イベントが検出され、ステップＳ３０２においてタッチ点に関する情報が削除されるまで、同じＩＤのタッチ点が移動する度に、その移動方向と移動距離を示す情報が蓄積されていく。
【００４２】
次に、図４は、ステップＳ２０２において実行される、情報処置装置１００のタッチ状態の特定処理の流れを示すフローチャートである。
【００４３】
まず、ステップＳ４０１では、タッチ点数取得部１１３が、タッチパネルディスプレイ１０８において検出されているタッチ点数が、０点であるか否かを判定する。本実施例では、タッチ点数取得部１１３が、上述したステップＳ３０５において保持部１１２に保持されたタッチ点数の情報を参照し、０であるか否かを判定する。タッチ点数が０点だと判定された場合（ステップＳ４０１でＹＥＳ）には、ステップＳ４０２に進む。タッチ点数が０点ではないと判定された場合（ステップＳ４０１でＮＯ）には、ステップＳ４０３に進む。
【００４４】
ステップＳ４０２では、特定部１１５が、情報処理装置１００のタッチ状態は「タッチなし状態」であると特定し、「タッチなし状態」を示す情報を保持する。
【００４５】
ステップＳ４０３では、タッチ点数取得部１１３が、記憶されているタッチ点数を参照し、タッチパネルで検出されているタッチ点数が、２点であるか否かを判定する。本実施例では、タッチ点数取得部１１３が、上述したステップＳ３０５において保持部１１２に保持されたタッチ点数の情報を参照し、２であるか否かを判定する。タッチ点数が２点だと判定された場合（ステップＳ４０３でＹＥＳ）には、ステップＳ４０４に進む。タッチ点数が２点ではないと判定された場合（ステップＳ４０３でＮＯ）には、ステップＳ４０５に進む。
【００４６】
ステップＳ４０４では、特定部１１５が、情報処理装置１００のタッチ状態は「マルチタッチ状態」であると特定し、「マルチタッチ状態」を示す情報を保持する。
【００４７】
ステップＳ４０５では、タッチ点数取得部１１３が、タッチパネルディスプレイ１０８において検出されているタッチ点数が、１点であるか否かを判定する。タッチ点数取得部１１３は、上述したステップＳ３０５において保持部１１２に保持されたタッチ点数の情報を参照し、１であるか否かを判定する。タッチ点数が１点だと判定された場合（ステップＳ４０５でＹＥＳ）には、ステップＳ４０６に進む。タッチ点数が１点ではない場合（ステップＳ４０５でＮＯ）には、終了に進む。
【００４８】
ステップＳ４０６では、特定部１１５が、タッチパネルディスプレイ１０８上で検出されているタッチ点が以前の状態から増加して、０点から１点に変化したか否かを判定する。本実施例では、タッチ点数取得部１１３が、上述したステップＳ３０５において保持部１１２に保持された、タッチ点数の変化履歴を参照し、タッチ点数が１点になる前が０点であったか否かを判定する。タッチ点数が以前の０点から１点に変化したと判定された場合（ステップＳ４０６でＹＥＳ）には、ステップＳ４０７に進む。タッチ点数が以前の０点から１点に変化していないと判定された場合（ステップＳ４０６でＮＯ）には、ステップＳ４１０に進む。
【００４９】
ステップＳ４０７では、特定部１１５が、情報処理装置１００のタッチ状態は「０ｔｏ１移行状態」であると特定し、「０ｔｏ１移行状態」を示す情報を保持する。
【００５０】
そして、ステップＳ４０８では、特定部１１５が、検出されているタッチ点の状態が「移行条件１」を満たすか否かを判定する。特定部１１５は、保持部１１２に保持されているタッチ点の検出時刻と、座標を参照し、それらが「移行条件１」を満たすか否かを判定する。「移行条件１」とは、「０ｔｏ１移行状態」にある情報処理装置１００が、検出されている１点のタッチ点によるシングルタッチ操作を認識すべきか否かを判定するための条件である。タッチ点の状態が「移行条件１」を満たす場合、本実施例では、ユーザが１点のタッチ点での操作を行おうとしているとみなす。
【００５１】
ここで、「移行条件１」である３つの条件を説明する。
【００５２】
１つ目は、タッチ点数が０点から１点に変わった時からの経過時間の長さが、閾値Ａ以上であるという条件である。なお、閾値Ａは、時間の長さの閾値である。従って、特定部１１５は、ステップＳ３０５で保持した、タッチ点数が変化した時刻の情報を参照し、今回ステップＳ３０１でタッチイベント「ＴＯＵＣＨ」が検出された検出時刻までの経過時間を求める。そして、求めた経過時間が予め定められた閾値Ａ以上か否かを判定し、閾値Ａ以上の場合に、移行条件１を満たすと判定する。例えば、閾値Ａは０．３秒である。
【００５３】
２つ目は、タッチ点数が０点から１点に変わった時からのタッチ点の移動距離が、閾値Ｂ以上であるという条件である。なお、閾値Ｂは、距離の大きさの閾値である。従って、特定部１１５は、ステップＳ３０５で保持された、タッチ点の数が変化した時点でのタッチ点の位置から、同じＩＤのタッチ点の最新の検出位置までの移動距離を参照する。そして、所定の閾値Ｂ閾値以上か否かを判定し、閾値Ｂ以上の場合に、移行条件１を満たすと判定する。例えば、閾値Ｂは２０ドットである。
【００５４】
３つ目は、タッチ点数が０点から１点に変わった後、シングルタッチ操作が認識された回数が閾値Ｃ以上であるという条件である。なお、閾値Ｃは、回数の多さの閾値である。本実施例では、ステップＳ４０９において、シングルタッチ状態が検出される度にその回数をカウントする。従って、特定部１１５は、検出されているタッチ点が０点から１点に変化した時刻以降、シングルタッチ操作が認識された回数が、所定の閾値Ｃ以上か否かを判定し、閾値Ｃ以上の場合に、移行条件１を満たすと判定する。例えば、閾値Ｃは２回である。
【００５５】
ステップＳ４０８では、上述した３つの条件のいずれか１つを満たす場合に、「移行条件１」が満たされたと判定する。ただし、どれか１つの条件が満たされるか否かを判定してもよいし、一部の条件を組み合せて判定してもよい。ただし、３つ目のシングルタッチの操作が認識された回数に関する条件だけを使用する場合には、ステップＳ４０７で「シングルタッチ状態」であると特定し、具体的な操作を認識してその回数をカウントする。そして、移行条件１が満たされなかった場合（ステップＳ４０８でＮＯ）に、「０ｔｏ１移行状態」と特定する。このようにすることで、シングルタッチ操作が認識された回数が閾値Ｃ以上にならないという問題が発生しない。この場合、ステップＳ５０４では、ステップＳ４０７で認識したシングルタッチ操作の結果を用いる。タッチ点の状態が、移行条件１を満たすと判定された場合（ステップＳ４０８でＹＥＳ）には、ステップＳ４０９に進む。一方、移行条件１を満たさない場合（ステップＳ４０８でＮＯ）には、処理を終了する。
【００５６】
そして、ステップＳ４０９では、特定部１１５が、情報処理装置１００のタッチ状態は「シングルタッチ状態」であると特定し、「シングルタッチ状態」を示す情報を保持する。それとともに、タッチ点数取得部１１４がタッチ点数の変化履歴を削除する。
【００５７】
次に、ステップＳ４１０では、特定部１１５は、タッチパネルディスプレイ１０８上で検出されているタッチ点が以前の状態から減少して、２点から１点に変化したか否かを判定する。タッチ点数取得部１１３は、上述したステップＳ３０５において保持部１１２に保持された、タッチ点数の変化履歴を参照し、タッチ点数が１点になる前が２点であったか否かを判定する。タッチ点数が以前の２点から１点に変わったと判定された場合（ステップＳ４１０でＹＥＳ）には、ステップＳ４１１に進む。タッチ点数が以前の２点から１点に変わってないと判定された場合、（ステップＳ４１０でＮＯ）には、今回のタッチ状態特定処理では、タッチ状態の特定を行わずに終了に進む。例えば、前回のタッチ状態特定処理で「シングルタッチ状態」であると特定され、シングルタッチ操作が継続されているような場合が該当する。
【００５８】
ステップＳ４１１では、特定部１１５が、情報処理装置１００のタッチ状態は「２ｔｏ１移行状態」であると特定し、「２ｔｏ１移行状態」を示す情報を保持する。
【００５９】
そして、ステップＳ４１２においては、特定部１１５が、検出されているタッチ点の状態に応じて、「移行条件２」の内容を調整する。「移行条件２」とは、「２ｔｏ１移行状態」にある情報処理装置１００が、検出されている１点のタッチ点によるシングルタッチ操作を認識すべきか否かを判定するための条件である。タッチ点の状態が「移行条件２」を満たす場合、ユーザが１点のタッチ点での操作を行おうとしているとみなす。
【００６０】
ここで、「移行条件２」である４つの条件を説明する。
【００６１】
１つ目は、タッチ点数が２点から１点に変わった時からの経過時間が、閾値Ｄ以上であるという条件である。なお、閾値Ｄは、時間の長さの閾値である。従って、特定部１１５は、ステップＳ３０５で保持した、タッチ点数が変化した時刻の情報を参照し、今回ステップＳ３０１でタッチイベント「ＴＯＵＣＨ」が検出された検出時刻までの経過時間を求める。そして、求めた経過時間が予め定められた閾値Ｄ以上か否かを判定し、閾値Ｄ以上の場合に、移行条件２を満たすと判定する。ステップＳ４１２の調整を行う前の状態では、閾値Ｄは１秒である。
【００６２】
２つ目は、タッチ点数が２点から１点に変わった時からのタッチ点の移動距離が、閾値Ｅ以上であるという条件である。なお、閾値Ｅは、距離の大きさの閾値である。従って、特定部１１５は、ステップＳ３０５で保持された、タッチ点の数が変化した時点でのタッチ点の位置から、同じＩＤのタッチ点の最新の検出位置までの移動距離を参照する。そして、所定の閾値Ｅ閾値以上か否かを判定し、閾値Ｅ以上の場合に、移行条件２を満たすと判定する。ステップＳ４１１の調整を行う前の状態では、本実施例における閾値Ｅは４０ドットである。
【００６３】
３つ目は、タッチ点数が２点から１点に変わった後、シングルタッチ操作が認識された回数が閾値Ｆ以上であるという条件である。なお、閾値Ｆは、回数の多さの閾値である。ステップＳ４０９において、シングルタッチ状態が検出される度にその回数をカウントする。従って、特定部１１５は、検出されているタッチ点が２点から１点に変化した時刻以降、シングルタッチ操作が認識された回数が、所定の閾値Ｆ以上か否かを判定し、閾値Ｆ以上の場合に、移行条件２を満たすと判定する。ステップＳ４１２の調整を行う前の状態では、閾値Ｆは５回である。
【００６４】
４つ目は、タッチ点数が２点から１点に変化した前後での、タッチ点の移動方向を示す角度が閾値Ｇ以上異なるという条件である。なお、閾値Ｇは、角度の大きさの閾値である。特定部１１５は、保持部１１２に保持されているタッチ点が変化した時刻の前後における、タッチ点の移動方向を参照し、比較する。そして、比較した結果、絶対値で計算した角度差が移動方向を示す角度が閾値Ｇ以上ことなる場合に、移行条件２を満たすと判定する。例えば、閾値Ｇは４５°である。なお、絶対値での計算に限定せず、閾値Ｇを±４５°として計算してもよい。
【００６５】
ここで、「移行条件１」において用いる閾値Ａ、Ｂ、Ｃと、「移行条件２」において用いる閾値Ｄ、Ｅ、Ｆとでは、「移行条件２」の閾値Ｄ、Ｅ、Ｆの方が大きい。ユーザがタッチ操作を始めようとしてタッチ点を増加させる時と、ユーザがマルチタッチ操作を終えてタッチ点を減少させる時とでは、一般的に、後者の方がよりユーザがタッチパネルディスプレイ１０８に触れているタッチ点の数を意識しない傾向がある。従って、検出されるタッチ点を減少した際には、ユーザの意図と異なる数のタッチ点が検出される可能性が高いため、誤動作が発生し易くなる場合がある。従って、タッチ点が減少した場合には、操作を認識するための条件を厳しくすることにより、より精度よく誤動作を低減することができる。一方で、ユーザが操作を行うためにタッチ点を増加させた可能性が高い場合には、比較的緩い条件によって、操作を認識するか否かを判定することにより、速やかにタッチ操作へ応答することができる。従って、誤動作を改善しつつ、操作に対する応答性を維持し、ユーザの操作性の低下を防ぐことができる。
【００６６】
ステップＳ４１２では、操作性を維持しつつ、誤動作を低減する効果を高めるために、移行条件２の３つの閾値Ｄ、Ｅ、Ｆを調整する。ここで、本実施例における調整方法を２つ説明する。
【００６７】
１つ目は、タッチ点数が変化する直前の、タッチ点の移動速度に基づいて、上記の３つ閾値を調整する方法である。まず、タッチ点の移動速度が大きい場合について説明する。マルチタッチ操作が終了し、徐々にタッチ点が減少していく状態（以下状態Ａ）において、ユーザが「同じ距離」タッチ点を動かすのであれば、タッチ点が移動する「時間は短く」なる。同様に状態Ａにおいて、ユーザが「同じ時間」タッチ点を動かすのであれば、「移動距離は大きく」なる。同様に状態Ａにおいて、ユーザが「同じ時間」タッチ点を動かすのであれば、移動距離が大きくなる。従って、一定周期で検出しているタッチ点の移動距離が、距離の閾値を超えてシングルタッチ状態であると特定される「回数は大きく」なる。従って、時間の長さの閾値Ｄを１秒から０．５秒、距離の大きさの閾値Ｅを５０ドットから１００ドット、シングルタッチ操作が認識された回数の閾値Ｆを５回から１０回に変更するという調整を行う。
【００６８】
次に、タッチ点の移動速度が小さい場合について説明する。状態Ａにおいて、ユーザが「同じ距離」タッチ点を動かすのであれば、タッチ点が移動する「時間は長く」なる。同様に状態Ａにおいて、ユーザが「同じ時間」タッチ点を動かすのであれば、「移動距離は小さく」なる。同様に状態Ａにおいて、ユーザが「同じ時間」タッチ点を動かすのであれば、移動距離が小さくなる。従って、一定周期で検出しているタッチ点の移動距離が、距離の閾値を超えてシングルタッチ状態であると特定される「回数は小さく」なる。従って、閾値Ｄを１秒から２秒、閾値Ｅを５０ドットから３０ドット、閾値Ｆを５回から３回に変更するという調整を行う。
【００６９】
ユーザの操作が「同じ距離」か「同じ時間」かは、ユーザ毎の癖によるものであり一意に限定できず、ユーザ毎に適切な調整方法を実施することが好ましい。
【００７０】
２つ目は、タッチ点数が変化する前に認識されていたタッチ操作に基づいて、上記の３つ閾値を調整する方法である。まず、複数のタッチ点の移動方向が同じであるため、操作の勢いが強いマルチドラッグが、タッチ点数が変化する前に認識されている場合について説明する。状態Ａにおいて、操作の勢いが強い場合は、タッチ点が移動する時間が短くなり、一方タッチ点が移動する距離が大きくなり、操作が認識される回数も大きくなる傾向がある。従って、時間の長さの閾値Ｄを１秒から０．７秒、距離の大きさの閾値Ｅを５０ドットから７０ドット、操作が認識される回数の閾値Ｆを５回から７回に変更するという調整を行う。
【００７１】
次に、複数のタッチ点の移動方向が異なり、操作の勢いが比較的弱いピンチやローテートが、タッチ点数が変化する前に認識されている場合について説明する。状態Ａにおいて、操作の勢いが小さい場合は、タッチ点が移動する時間が大きくなり、一方タッチ点が移動する距離が小さくなり、操作が認識される回数も小さくなる傾向がある。従って、閾値Ｄを１秒から１．５秒、閾値Ｅを５０ドットから４０ドット、閾値Ｆを５回から４回に変更するという調整を行う。
【００７２】
上記操作の傾向は、ユーザ毎の癖によるものであり一意に限定できず、ユーザ毎に適切な調整方法を実施することが好ましい。
【００７３】
なお、上述した閾値の調整処理（ステップＳ４１２）は、省略されてもよい。省略せずに処理を行う場合には、調整後の閾値も、移行条件１で用いる閾値Ａ、Ｂ、Ｃよりも大きくする。つまり、調整後の移行条件２は、移行条件１よりも厳しくなるように定める。上記いずれかの方法で移行条件２の閾値を定め、ステップＳ４１３に進む。
【００７４】
ステップＳ４１３では、特定部１１５が、検出されているタッチ点の状態が、上述した「移行条件２」を満たすか否かを判定する。特定部１１５は、保持部１１２に保持されているタッチ点の検出時刻と、座標を参照し、それらが「移行条件２」を満たすか否かを判定する。「移行条件２」とは、情報処理装置１００が、検出されている１点のタッチ点によるシングルタッチ操作を認識すべきか否かを判定するための条件である。
【００７５】
本実施例のステップＳ４１２では、上述した４つの条件のいずれか１つを満たす場合に、「移行条件２」が満たされたと判定する。ただし、どれか１つの条件が満たされるか否かを判定してもよいし、一部の条件を組み合せて判定してもよい。ただし、３つ目のシングルタッチの操作が認識された回数に関する条件だけを使用する場合には、ステップＳ４１１で「シングルタッチ状態」であると特定し、具体的な操作を認識してその回数をカウントする。そして、移行条件２が満たされなかった場合（ステップＳ４１３でＮＯ）に、「２ｔｏ１移行状態」と特定する。このようにすることで、シングルタッチ操作が認識された回数が閾値Ｆ以上にならないという問題が発生しない。この場合、ステップＳ５０４では、ステップＳ４１１で認識したシングルタッチ操作の結果を用いる。タッチ点の状態が、移行条件２を満たすと判定された場合（ステップＳ４１３でＹＥＳ）には、ステップＳ４０９に進む。一方、移行条件２を満たさないと判定された場合（ステップＳ４１３でＮＯ）には、タッチ状態判定処理を終了する。
【００７６】
次に、図５は、ステップＳ２０３において実行される、タッチ操作の認識処理の流れを示すフローチャートである。本実施例では、ステップＳ２０２におけるタッチ状態特定処理の特定結果に基づいて、シングルタッチ操作あるいはマルチタッチ操作が認識される。
【００７７】
まず、ステップＳ５０１では、認識部１１６が、保持された情報を参照し、タッチ状態特定処理で特定された状態が「マルチタッチ状態」であるか否かを判定する。「マルチタッチ状態」であると判定された場合（ステップＳ５０１でＹＥＳ）には、ステップＳ５０２に進む。「マルチタッチ状態」ではないと判定された場合（ステップＳ５０１でＮＯ）には、ステップＳ５０３に進む。
【００７８】
ステップＳ５０２では、認識部１１６が、マルチタッチ操作を認識する。具体的には、認識部１１６は、ステップＳ３０７で取得された操作情報を、予め記憶されたマルチタッチ操作の認識条件と比較し、条件に合うマルチタッチ操作の指示として認識する。例えば、２点のタッチ点の間の距離が略一定に保たれたまま、同じ移動方向に移動されている場合には、マルチドラッグ操作を認識する。また、２点のタッチ点の間の距離が、前回検出時よりも拡大するように、あるいは縮小するように移動されていた場合には、ピンチ操作を認識する。認識部１１６がマルチタッチ操作を認識したら、処理は終了する。
【００７９】
ステップＳ５０３では、認識部１１６が、保持された情報を参照し、タッチ状態特定処理で特定された状態が「シングルタッチ状態」であるか否かを判定する。「シングルタッチ状態」であると判定された場合（ステップＳ５０３でＹＥＳ）には、ステップＳ５０４に進む。「シングルタッチ状態」ではないと判定された場合（ステップＳ５０３でＮＯ）には、処理は終了する。本実施例では、「タッチなし状態」、「０ｔｏ１移行状態」、「２ｔｏ１移行状態」にある情報処理装置１００では、タッチ操作を認識しないため、ステップＳ５０３においてＮＯの判定がなされる。
【００８０】
ステップＳ５０４では、認識部１１６が、シングルタッチ操作を認識する。本実施例では、「シングルタッチ状態」においてはムーブの操作を認識する。認識部１１６は、ステップＳ３０７で取得された操作情報を、ムーブ操作の認識条件と比較する。ムーブ操作の認識条件は、タッチ点数が１点で、任意の閾値以上の距離をタッチ点が移動することである。操作情報が認識条件に合う場合、操作情報がムーブ操作の指示として認識され処理は終了する。
【００８１】
以上が情報処理装置１００が実行する処理の流れである。このように本実施例では、検出されているタッチ点数が１点の場合、タッチ点数が移行する途中である可能性が高い「移行状態」にあるとみなし、所定の条件を満たすか否かに応じて、シングルタッチ操作を認識するべきか否かを決定する。従って、ユーザがタッチ操作を開始するとき、あるいは終了するときに、ユーザが意図していないシングルタッチ操作が実行される誤動作を低減できる。それとともに、シングルタッチによる操作を行いたいユーザの操作性を維持することができる。
【００８２】
図６は、ユーザが０から２点でタッチ操作を行う場合の、タッチ状態の状態遷移を示す状態遷移図である。
【００８３】
まず、ユーザが操作してない場合、情報処理装置１００のタッチ状態は「タッチなし状態」である。この状態において、１点のタッチ点が検出されると「０ｔｏ１移行状態」に移行する。また、「０ｔｏ１移行状態」において、１点のタッチ点がリリースされると、「タッチなし状態」に移行する。「０ｔｏ１移行状態」において、移行条件１が満たされると、シングルタッチ状態に移行する。「０ｔｏ１移行状態」において、さらに１点のタッチ点が検出されると「マルチタッチ状態」に移行する。次に、「マルチタッチ状態」において、１点のタッチ点がリリースされると「２ｔｏ１移行状態」に移行する。次に、「２ｔｏ１移行状態」において、１点のタッチ点がリリースされると「タッチなし状態」に移行する。また、「２ｔｏ１移行状態」において、移行条件２が満たされると、「シングルタッチ状態」に移行する。「２ｔｏ１移行状態」において、さらに１点のタッチ点が検出されるとマルチタッチ状態に移行する。
【００８４】
本実施例では、マルチタッチ操作は２点のタッチ点によって構成される操作を挙げて説明したが、３点以上のタッチ点が用いられる場合にも適応可能である。例えば、図７は、ユーザが０から３点でタッチ操作を行う場合の、タッチ点の状態遷移を示す。ここでは、図６との差異を説明する。「マルチタッチ３状態」では、３点のタッチ点で構成されるマルチタッチ操作が可能であり、２点のタッチ点で構成されるマルチタッチ操作が可能な「マルチタッチ２状態」と区別される。さらに、「１ｔｏ２移行状態」と「３ｔｏ２移行状態」という２つの移行状態が追加される。「１ｔｏ２移行状態」では、移行条件３が満たされた場合にのみ、「マルチタッチ２状態」に遷移する。一方、「３ｔｏ２移行状態」では、移行条件４が満たされた場合にのみ、「マルチタッチ２状態」に遷移し、２点のタッチ点によるマルチタッチ操作が認識される。移行条件が満たされない場合には、タッチ点数が移行する途中である可能性が高いため、操作は認識されない。このとき、タッチ点が増加して２点になった「１ｔｏ２移行状態」における移行条件３と、タッチ点が減少して２点になった「３ｔｏ２移行状態」における移行条件４では、移行条件４の方が厳しい。これは、タッチ点が減少したときは、より多くのタッチ点数によって構成されるマルチタッチ操作が終了してタッチが離される途中であり、操作が意図されていない可能性が高いためである。同様にして、本実施例は、０からＮ点までのタッチ操作が行われる情報処理装置１００に適応させることもできる。
【００８５】
また、図８には、実施例１の変形例として、ユーザが０から２点でタッチ操作を行う場合の、タッチ状態の状態遷移を示す。変形例では、１点のタッチのみが検出されている「２ｔｏ１移行状態」から、移行条件を満たすことによって「シングルタッチ状態」へ移行する遷移を設けない。そして、０点から１点になった場合は、「シングルタッチ状態」に移行し、シングルタッチ操作を認識する。上述したように、ユーザがタッチ操作を始めようとしてタッチ点を増加させる時と、ユーザがマルチタッチ操作を終えてタッチ点を減少させる時とでは、一般的に、後者の方がよりユーザがタッチパネルディスプレイ１０８に触れていることを意識しない傾向がある。従って、タッチ点が減少して１点になったときは、マルチタッチ操作が終了してタッチが離される途中であり、シングルタッチ操作が意図されていない可能性が高い。そのため実施例１の変形例では、タッチ点が２点から１点に減少した場合には、操作を認識せず、０点から１点に増加した場合には、シングルタッチ操作を認識する。このような構成によっても、ユーザが意図していないシングルタッチ操作が実行される誤動作を低減するという効果を奏する。
【００８６】
（操作例）
以下、図面を参照して実施例１の情報処理装置１００にタッチ操作を入力する具体的な操作例を説明する。
【００８７】
図９は、実施例１に係る情報処理装置１００の操作の一例であり、情報処理装置１００の操作面９０１に対し、ユーザが操作を入力している様子を示す。操作面９０１はディスプレイ上にタッチパネルが併設されたタッチパネルディスプレイ１０８で構成され、ユーザによるタッチをタッチパネルで検知可能な領域である。本実施例では、操作面９０１全体を、向かって左下を原点とした座標平面、横方向をＸ軸、縦方向をＹ軸として、ユーザにタッチされたタッチ点の位置を示す座標情報を検出する。ここでは、２本の指９０２、９０３を操作面９０１に接触させ、矢印９０４に示す方向に移動することでマルチドラック操作を行う様子を図示している。また、１本の指９０２のみを操作面９０１に接触させ、横方向に移動することでムーブ操作についても、後述する。
【００８８】
（操作例１）
図１０（ａ）は、ユーザが１本の指をタッチして横に動かすムーブ操作を行った場合に、情報処理装置１００が取得するタッチ点の位置の推移の一例である操作例１を示す図である。タッチ点Ａ１〜Ａ５は、操作面９０１においてユーザの指がタッチしたタッチ点が移動した位置の推移を示す。最初にユーザの指９０２が操作面９０１にタッチした位置を、タッチ点Ａ１とする。次に、ユーザが指９０２を横に移動する。移動後にタッチしている位置がタッチ点Ａ２に対応する。さらに、同様に指を横に移動し、タッチしている位置がタッチ点Ａ３、Ａ４となる。最後に、タッチ点Ａ５に対応する位置で、ユーザが指９０２をタッチパネルから離す。
【００８９】
以下、この一連の操作に従って、本実施例の情報処理装置１００の動作を説明する。なお、操作例１では、タッチパネルディスプレイ１０８は、２０ミリ秒毎に操作面９０１上のタッチセンサを走査し、検出されたタッチイベントを１点ずつ順次検出部１１１に通知する。
【００９０】
まず、ユーザが最初に操作面９０１にタッチした状態で、タッチパネルディスプレイ１０８からタッチ点Ａ１のタッチイベント「ＴＯＵＣＨ」が通知される。情報処理装置１００では、ステップＳ２０１のタッチ点検出処理において、検出部１１１によりタッチ点Ａ１が新たにタッチされたことが検出される（ステップＳ３０１）。そして、ＩＤが１、位置座標が（１０，１００）、検出時刻が０ミリ秒という情報が、保持部１１２に保持される（ステップＳ３０４）。さらに、タッチ点数取得部１１４が、検出されているＩＤの数からタッチ点数が１点であると取得し（ステップＳ３０５）、初めて検出されたタッチ点のため移動距離は０ドットと保持する（ステップＳ３０７）。
【００９１】
次にステップＳ２０２のタッチ状態特定処理では、特定部１１５が保持されている情報を参照し、タッチ状態を特定する。この時点では、タッチ点数が１点で、タッチ点数が０点から１点に変化している（ステップＳ４０６でＹＥＳ）。さらに、移行条件１を満たしていないので（ステップＳ４０８でＮＯ）、タッチ状態は「０ｔｏ１移行状態」と特定される（ステップＳ４０７）。
【００９２】
ステップＳ２０３のタッチ操作認識処理では、認識部１１６が、保持部１１２に保持されている情報を参照し、タッチ操作を認識する。この時点では、タッチ状態は「０ｔｏ１移行状態」であるため、特定処理を行わず処理を終了する（ステップＳ５０１、ステップＳ５０３でＮＯ）。
【００９３】
ステップＳ２０４では、表示制御部１１７が、タッチ操作による操作結果を表示する。この時点では、認識されたタッチ操作がないため、表示を変更しない。
【００９４】
同様に、まずタッチパネルからタッチ点Ａ２のタッチイベント「ＴＯＵＣＨ」が通知される。情報処理装置１００では、検出部１１１によりタッチ点Ａ２が検出される（ステップＳ３０１）。そして、ＩＤが１、位置座標が（２０，１００）、検出時刻が２０ミリ秒、タッチ点数が１という情報を、保持部１１２に保持する（ステップＳ３０６）。さらに、移動距離を２０−１０＝１０ドットと求め、保持する（ステップＳ３０７）。この時点では、タッチ点数が１点で、タッチ点数が０点から１点変化した履歴には変更はない（ステップＳ４０６でＹＥＳ）。また、タッチ点数が変化してからの経過時間は２０ｍｓ、タッチ点の移動距離は１０ドット、シングルタッチの検出回数は０回で、移行条件１を満たさない。よって、タッチ状態は「０ｔｏ１移行状態」のままである（ステップＳ４０８でＮＯ）。従って、タッチ操作の認識を行わず処理を終了する（ステップＳ５０１、ステップＳ５０３でＮＯ）。認識されたタッチ操作がないため、表示を変更しない（ステップＳ２０４）。
【００９５】
次に、タッチパネルからタッチ点Ａ３のタッチイベント「ＴＯＵＣＨ」が通知され、検出部１１１によりタッチ点Ａ３が検出される（ステップＳ３０１）。そして、ＩＤが１、位置座標が（３０，１００）、検出時刻が４０ミリ秒、タッチ点数が１という情報を取得し、保持部１１２に保持させる（ステップＳ３０６）。さらに、タッチ点の移動距離を３０−１０＝２０ドットと求め、保持する（ステップＳ３０７）。この時点では、タッチ点数が１点で、タッチ点数が０点から１点変化した状態であることに変更はない（ステップＳ４０６でＹＥＳ）ため、まず特定部１１５は、タッチ状態は「０ｔｏ１移行状態」であると特定する（ステップＳ４０７）。一方、移動距離は２０ドットとなることによって、移行条件１が満たされる（ステップＳ４０８でＹＥＳ）。よって、特定部１１５によって、タッチ状態は「シングルタッチ状態」に移行したと特定され、タッチ点数の変化履歴が削除される（ステップＳ４０９）。次に、認識部１１６は、タッチ状態が「シングルタッチ状態」であるため、シングルタッチ操作の認識処理を実行する。操作例１での、ムーブ操作の認識条件は１０ドット以上の移動とする。Ｘ軸方向に２０ドット移動しているため、ムーブと認識する（ステップＳ５０４）。ディスプレイに画像全体が表示されている状態で、右方向にムーブ操作が入力されているので、表示制御部１１７によって、表示されている画像がスクロールされ、前の画像が表示されるような表示画像が出力される（ステップＳ２０４）。
【００９６】
次に、タッチパネルからタッチ点Ａ４のタッチイベント「ＴＯＵＣＨ」が通知され、検出部１１１によりタッチ点Ａ４が検出される（ステップＳ３０１）。そして、ＩＤが１、位置座標が（４０，１００）、検出時刻が６０ミリ秒、タッチ点数が１という情報を取得し、保持部１１２に保持させる（ステップＳ３０６）。さらに、タッチ点の移動距離を４０−３０＝１０ドットと求め、保持する（ステップＳ３０７）。このとき、ムーブ操作が認識された時点で、移動距離を求める基準点がＡ１からＡ３に変更される。タッチ状態特定部が保持されている情報を参照し、タッチ状態を特定する。この時点では、タッチ点数が１点で、タッチ点数の履歴がないので（ステップＳ４０６、ステップＳ４１０でＮＯ）、タッチ状態はシングルタッチ状態のままである（ステップＳ５０３でＹＥＳ）。従って、認識部１１６が、シングルタッチ操作の認識処理を実行する。Ｘ軸方向に１０ドット移動しているため、ムーブと認識する。ムーブを通知する（ステップＳ５０４）。タッチ点Ａ４と同様に、タッチ操作がムーブと認識され、ディスプレイに画像全体が表示されている状態のため、表示制御部１１７によって、表示されている画像がスクロールされ、前の画像が表示されるような表示画像が出力される（ステップＳ２０４）。
【００９７】
次に、タッチパネルからタッチ点Ａ５のタッチイベント「ＲＥＬＥＡＳＥ」が通知され、検出部１１１により保持部１１２に保持されていたうちＩＤが１のタッチ点の情報を削除する（ステップＳ３０２）。特定部１１５は、保持されている情報を参照し、タッチ状態を特定する。この時点では、タッチ点数が０点となるので、タッチ状態は「タッチなし状態」であると特定される（ステップＳ４０２）。さらに、「タッチなし状態」であるため、認識部１１６はタッチ操作を認識せず、処理を終了する（ステップＳ５０３でＮＯ）。また、認識されたタッチ操作がないため、表示を変更しない（ステップＳ２０４）。
【００９８】
以上が、ユーザがシングルタッチによるムーブ操作を行う場合の具体例を示す操作例１である。このように本実施例では、タッチ点数が以前の０点から増加して１点になった場合、「移行条件１」を満たすことで、シングルタッチ操作が認識される。従って、シングルタッチによる操作を行いたいユーザの操作性を欠くことなく、誤動作を低減することができる。
【００９９】
（操作例２）
次に、図１０（ｂ）は、ユーザが２本の指をタッチして横に動かすマルチドラッグ操作を行う操作例２において、情報処理装置１００が取得するタッチ点の位置の推移の一例を示す図である。タッチ点Ａ１〜Ａ７、Ｂ１〜Ｂ３は、操作面９０１においてユーザの指がタッチした位置の座標を示し、操作例１と同様、横方向をＸ軸、縦方向をＹ軸とする。最初にユーザの指９０２が操作面９０１にタッチした位置が、タッチ点Ａ１とする。次に、ユーザが指９０２を横に移動し、タッチ点がＡ２〜Ａ６まで移動する。最後に、ユーザが指９０２をタッチパネルから離した位置が、タッチ点Ａ７となる。さらに、ユーザのもう一方の指９０３が操作面９０１にタッチした位置が、タッチ点Ｂ１とする。同様に、ユーザが指９０３を横に移動し、タッチ点がＢ２に移動し、タッチ点Ｂ３の位置で指９０３をタッチパネルから離す。
【０１００】
以下、この一連の操作に従って、情報処理装置１００の動作を説明する。
【０１０１】
まず、タッチパネルからタッチ点Ａ１のタッチイベント「ＴＯＵＣＨ」が通知され、検出部１１１によって、タッチ点Ａ１が新たにタッチされたことが検出される。そして、ＩＤが１、位置座標が（１０，１５０）、検出時刻が０ミリ秒という情報が保持される（ステップＳ３０４）。さらに、タッチ点数取得部１１４が、ＩＤの数からタッチ点数１を取得し、タッチ点数が０点から１点に変更した変化履歴を保持する（ステップＳ３０５）。また、初めて検出されたタッチ点のため、操作情報取得部１１３は、移動距離は０ドットと保持する（ステップＳ３０７）。この時、タッチ点数が１点で、タッチ点数が０点から１点変化し、移行条件１を満たしていないので、特定部１１５は、タッチ状態は「０ｔｏ１移行状態」であると特定する（ステップＳ４０８でＮＯ）。また、認識部１１６は、タッチ状態が「０ｔｏ１移行状態」であるため、特定処理を行わず処理を終了する（ステップＳ５０３でＮＯ）。この時点では、認識されたタッチ操作がないため、表示を変更しない（ステップＳ２０４）。
【０１０２】
次に、タッチパネルからタッチ点Ａ２のタッチイベント「ＴＯＵＣＨ」が通知され、検出部１１１によって、タッチ点Ａ２が検出される。そして、タッチ点Ａ２について、ＩＤが１、位置座標が（２０，１５０）、検出時刻が２０ミリ秒、タッチ点数が１という情報が保持される（ステップＳ３０６）。さらに、移動距離を２０−１０＝１０ドットと、タッチ点の移動方向を求める。例えば、Ｙ軸を基準とし、時計回りに移動方向を求めると、移動方向は９０°となる（ステップＳ３０７）。この時点では、タッチ点数が１点で、タッチ点数が０点から１点変化した履歴が保持されており、移動距離は１０ドットであり、移行条件１を満たさない（ステップＳ４０８でＮＯ）。よって、タッチ状態は「０ｔｏ１移行状態」のままである（ステップＳ４０７）。認識部１１６は、特定されたタッチ状態が「０ｔｏ１移行状態」であるため、タッチ操作を認識しない（ステップＳ５０１、ステップＳ５０３でＮＯ）。さらに、認識されたタッチ操作がないため、表示画像は変更されない（ステップＳ２０４）。
【０１０３】
次に、タッチパネルからタッチ点Ｂ１のタッチイベント「ＴＯＵＣＨ」が通知され、検出部１１１によって、新たにタッチ点Ｂ１が検出される。そして、ＩＤが２、位置座標が（２０，５０）、検出時刻が２５ミリ秒という情報を取得し、保持する。さらに、タッチ点数取得部１１４は、ＩＤの数からタッチ点数２を取得し、タッチ点数が１点から２点に変更した履歴を保持する（ステップＳ３０５）。また、初めて検出されたタッチ点のため、移動距離は０ドットと移動方向はなし、タッチ点Ａ２との２点間の距離は１００ドットであるという操作情報が取得される（ステップＳ３０７）。この時点では、タッチ点数が２点のため、特定部１１５は、情報処理装置１００のタッチ状態は「マルチタッチ状態」であると特定する（ステップＳ４０４）。認識部１１６は、タッチ状態が「マルチタッチ状態」であるため、マルチタッチ操作の認識を行う（ステップＳ５０２）。本実施例では、マルチタッチ操作としてマルチドラッグ操作の認識条件、およびピンチ操作の認識条件と、ステップＳ３０７で取得された操作情報を比較する。タッチ点Ｂ１が検出された時点では、いずれの認識条件も満たされないため、マルチタッチ操作の認識結果はない。認識されたタッチ操作がないため、表示内容も変更されない（ステップＳ２０４）。なお、操作例２においては、マルチドラッグ操作の認識条件として、２点のタッチ点間の距離が略一定に保たれたまま同一の方向に１０ドット以上移動されたか否かを判定する。また、ピンチ操作の認識条件として、２点のタッチ点間の距離が前回から±１０ドット以上変化したか否かを判定する。
【０１０４】
次に、タッチパネルからタッチ点Ａ３のタッチイベント「ＴＯＵＣＨ」が通知され、検出部１１１によって、タッチ点Ａ３が検出される。そして、ＩＤが１、位置座標が（３０，１５０）、検出時刻が４０ミリ秒、タッチ点数が２という情報が保持される（ステップＳ３０６）。同じＩＤのタッチ点が既に検出されているため、タッチ点数には変更がなく、２点のままである。さらに、移動距離は３０−２０＝１０ドット、移動方向９０°を求め、さらにタッチ点Ａ３とタッチ点Ｂ１との距離は、１０１ドットを求め、保持する（ステップＳ３０７）。この時、タッチ点数が２点のため（ステップＳ４０３でＹＥＳ）、タッチ状態はマルチタッチ状態のままである（ステップＳ４０４）。認識部１１６は、タッチ状態が「マルチタッチ状態」のため、マルチタッチ操作の認識処理を実行する。ここで、２点のタッチ点の移動方向が異なるため、マルチドラッグ操作ではない。また、２点のタッチ点の距離の変化量（絶対値）は１０１−１００＝１ドットなので、ピンチ操作でもない。よって、マルチタッチ操作は認識されない。認識されたタッチ操作がないため、表示内容も変更されない（ステップＳ２０４）。
【０１０５】
次に、タッチパネルからタッチ点Ｂ２のタッチイベント「ＴＯＵＣＨ」が通知され、検出部１１１によって、タッチ点Ｂ２が検出される。そして、ＩＤが２、位置座標が（３０，５０）、検出時刻が４５ミリ秒という情報を取得し、保持部に保持される（ステップＳ３０６）。同じＩＤのタッチ点が既に検出されているため、タッチ点数には変更がなく、２点のままである。さらに、移動距離を３０−２０＝１０ドット、移動方向９０°、タッチ点Ａ３とタッチ点Ｂ２の２点間の距離は１００ドットを取得し、それぞれを保持する。特定部１１５は、タッチ点数が２点のため、タッチ状態は「マルチタッチ状態」であると特定する（ステップＳ４０４）。認識部１１６は、「マルチタッチ状態」であるため、マルチタッチ操作の認識処理を実行する。このとき、ＩＤが１のタッチ点（Ａ３）と、ＩＤが２のタッチ点（Ｂ２）で取得された移動方向が、ともに９０°であり、同じ方向となる。さらに、タッチ点Ｂ２で取得された移動距離は１０ドットと、マルチドラッグ操作の認識条件を満たすため、認識部１１６は、マルチドラッグ操作を認識する。表示制御部１１７は、マルチドラッグ操作による操作結果を表示する。ここでは、ディスプレイ１０８に画像全体が表示されている状態で、マルチドラッグ操作が右方向に入力されているので、画像をスクロールし、１０枚前に記憶されている画像を表示する表示画像が生成され、出力される（ステップＳ２０４）。
【０１０６】
次に、タッチパネルからタッチ点Ａ４のタッチイベント「ＴＯＵＣＨ」が通知され、検出部１１１によって、タッチ点Ａ４が検出される。そして、ＩＤが１、位置座標が（４０，１５０）、検出時刻が６０ミリ秒という情報が保持される（ステップＳ３０６）。同じＩＤのタッチ点が既に検出されているため、タッチ点数には変更がなく、２点のままである。さらに、移動距離を４０−３０＝１０ドットと求め、保持する。ただし、マルチドラッグ操作が認識された時点で、移動距離を求める基準点がＡ１からＡ３に変更される。さらに、移動方向を９０°、２点間の距離を１０１ドットと求め、それぞれの情報が保持される（ステップＳ３０７）。特定部１１５は、タッチ点数が２点のため、タッチ状態は引き続き「マルチタッチ状態」であると特定する。認識部１１６は、ＩＤが１のタッチ点（Ａ４）とＩＤが２のタッチ点（Ｂ２）の移動方向が同じであり、タッチ点Ａ３について取得された最新の移動距離は１０ドットと、マルチドラッグ操作の認識条件を満たすため、マルチドラッグ操作を認識する。表示制御部１１７は、マルチドラッグ操作が右方向に入力されているので、画像をスクロールし、１０枚前に記憶されている画像を表示する表示画像が生成され、出力される（ステップＳ２０４）。
【０１０７】
次に、タッチパネルからタッチ点Ｂ３のタッチイベント「ＲＥＬＥＡＳＥ」が通知され、検出部１１１によって、ユーザが、ＩＤが２のタッチ点のタッチを離したことが検出される。そして、検出部１１１は、保持部１１２に保持されている情報から、ＩＤが２のタッチ点に関する情報を削除する。特定部１１５は、タッチ点数が１点で、タッチ点数が２点から１点変化し（ステップ４１０でＹＥＳ）、移行条件２を満たしていない（ステップＳ４１３でＮＯ）ので、タッチ状態は「２ｔｏ１移行状態」と特定する（ステップＳ４１１）。タッチ状態が「２ｔｏ１移行状態」のため、認識部１１６は、タッチ操作を認識しない（ステップＳ５０１、ステップＳ５０３でＮＯ）。認識されたタッチ操作がないため、表示制御部１１７は、表示内容を変更しない。
【０１０８】
次に、タッチパネルからタッチ点Ａ５のタッチイベント「ＴＯＵＣＨ」が通知され、検出部１１１によって、タッチ点Ａ５が検出される。そして、ＩＤが１、位置座標が（５０，１５０）、検出時刻が８０ミリ秒という情報が保持される（ステップＳ３０６）。同じＩＤのタッチ点が既に検出されているため、タッチ点数には変更がなく、１点のままである。さらに、タッチ点Ａ５について、移動距離は５０−４０＝１０ドット、移動方向は９０°であるとの操作情報求め、保持する（ステップＳ３０７）。この時点では、タッチ点数が１点で、タッチ点数が２点から１点変化した履歴が保持され、移動距離は１０ドットのため移行条件２を満たさない（ステップＳ４１３でＮＯ）。よって、特定部１１５は、タッチ状態は「２ｔｏ１移行状態」であると特定する（ステップＳ４１１）。タッチ状態が「２ｔｏ１移行状態」のため、認識部１１６は、タッチ操作を認識しない（ステップＳ５０１、ステップＳ５０３でＮＯ）。認識されたタッチ操作がないため、表示制御部１１７は、表示内容を変更しない（ステップＳ２０４）。
【０１０９】
次に、タッチパネルからタッチ点Ａ６のタッチイベント「ＴＯＵＣＨ」が通知され、検出部１１１によって、タッチ点Ａ６が検出される。そして、ＩＤが１、位置座標が（６０，１５０）、検出時刻が１００ミリ秒という情報が保持される（ステップＳ３０６）。同じＩＤのタッチ点が既に検出されているため、タッチ点数には変更がなく、１点のままである。さらに、操作情報取得部１１３は、移動距離は９０４０＝２０ドット、移動方向は９０°と求め、操作情報を保持する（ステップＳ３０７）。この時点では、タッチ点数が１点で、タッチ点数が２点から１点変化した履歴が保持され、移動距離は２０ドットのため移行条件２を満たさない。（ステップＳ４１３でＮＯ）。よって、特定部１１５は、タッチ状態は「２ｔｏ１移行状態」であると特定する（ステップＳ４１１）。タッチ状態が「２ｔｏ１移行状態」のため、認識部１１６は、タッチ操作を認識しない（ステップＳ５０２、ステップＳ５０３でＮＯ）。認識されたタッチ操作がないため、表示制御部１１７は、表示内容を変更しない（ステップＳ２０４）。
【０１１０】
次に、タッチパネルからタッチ点Ａ７のタッチイベント「ＲＥＬＥＡＳＥ」が通知され、検出部１１１により保持部１１２に保持されていたうちＩＤが１のタッチ点の情報を削除する（ステップＳ３０２）。特定部１１５は、保持されている情報を参照し、タッチ状態を特定する。この時点では、タッチ点数が０点となるので、タッチ状態は「タッチなし状態」であると特定される（ステップＳ４０２）。さらに、「タッチなし状態」であるため、認識部１１６はタッチ操作を認識せず、処理を終了する（ステップＳ５０３でＮＯ）。また、認識されたタッチ操作がないため、表示を変更しない（ステップＳ２０４）。
【０１１１】
以上が、ユーザがマルチドラッグ操作を行う場合の具体例を示す操作例２である。このように本実施例では、マルチタッチ操作を行う前後に、タッチ点数が１点のみ検出されてしまう状態においては、シングルタッチ操作を認識しない。従って、ユーザがタッチ操作を開始するとき、あるいは終了するときに、複数の指を動かすタイミングがずれたとしても、ユーザが意図していないシングルタッチ操作が認識されることによる誤動作を低減できる。
【０１１２】
（操作例３）
次に、図１１（ａ）は、ユーザが２本の指をタッチして横に動かすマルチドラッグ操作を行った後に、片方のタッチによって継続してムーブ操作を行う操作例３において、情報処理装置１００が取得するタッチ点の位置の推移の一例を示す図である。タッチ点Ａ１〜Ａ７、Ｂ１〜Ｂ３は、操作面９０１においてユーザの指がタッチした位置の座標を示し、横方向をＸ軸、縦方向をＹ軸とする。最初にユーザの指９０２が操作面９０１にタッチした位置が、タッチ点Ａ１とする。次に、ユーザが指９０２を横に移動し、タッチ点がＡ２〜Ａ７まで移動する。さらに、ユーザのもう一方の指９０３が操作面９０１にタッチした位置が、タッチ点Ｂ１とする。同様に、ユーザが指９０３を横に移動し、タッチ点がＢ２に移動し、タッチ点Ｂ３で指９０３をタッチパネルから離す。
【０１１３】
以下、この一連の操作に従って、本実施例の情報処理装置１００の動作を説明する。ただし、操作例１・操作例２と共通する処理ステップの詳細は省略し、異なる点を中心に説明する。
【０１１４】
まず、タッチパネルからタッチ点Ａ１のタッチイベント「ＴＯＵＣＨ」が通知される。検出部１１１は、タッチ点Ａ１について、ＩＤが１、位置座標が（１０，１５０）、検出時刻が０ミリ秒という情報を保持する。さらに、タッチ点数取得部１１４は、ＩＤの数からタッチ点数１を取得し、タッチ点数が０点から１点に変更した履歴を保持する。また、初めて検出されたタッチ点のため、操作情報取得部１１３は、移動距離０ドットを取得する。特定部１１５は、タッチ情報を参照し、タッチ点数が１点で、タッチ点数が０点から１点変化し、移行条件１を満たしていないので、タッチ状態は「０ｔｏ１移行状態」であると特定する。この時点では、タッチ状態は０ｔｏ１移行状態であるため、認識部１１６は、特定処理を行わず処理を終了する。認識されたタッチ操作がないため、表示内容は変更されない。
【０１１５】
次に、タッチパネルからタッチ点Ｂ１のタッチイベント「ＴＯＵＣＨ」が通知される。検出部１１１は、タッチ点Ｂ１について、ＩＤが２、位置座標が（１０，５０）、検出時刻が５ミリ秒という情報を保持する。さらに、タッチ点数取得部１１４は、ＩＤの数からタッチ点数２を取得し、タッチ点数が１点から２点に変更した履歴を保持する。また、初めて検出されたＩＤが２のタッチ点のため、操作情報取得部１１３は、移動距離０ドットを取得する。さらに、タッチ点Ａ１とタッチ点Ｂ１との距離１００ドットを取得し、保持する。
【０１１６】
この時、タッチ点数が２点のため、特定部１１５は、タッチ状態は「マルチタッチ状態」であると特定する。従って、認識部１１６は、マルチタッチ操作の認識を行う。ただし、この時点では、取得された操作情報がマルチドラッグ操作、およびピンチ操作の認識条件を満たさないため、操作は認識されない。なお、各操作の認識条件は、操作例２と同一である。認識されたタッチ操作がないため、表示内容は変更されない。
【０１１７】
次に、タッチパネルからタッチ点Ａ２のタッチイベント「ＴＯＵＣＨ」が通知される。検出部１１１は、タッチ点Ａ２について、ＩＤが１、位置座標が（２０，１５０）、検出時刻が２０ミリ秒という情報を保持する。同じＩＤのタッチ点が既に検出されているため、タッチ点数には変更がなく、２点のままである。さらに、操作情報取得部１１３は、タッチ点Ａ１からタッチ点Ａ２までの移動距離２０−１０＝１０ドット、移動方向９０°、タッチ点Ａ２とタッチ点Ｂ１との間の距離１０１ドット取得し、保持する。特定部１１５は、タッチ点数が２点のため、タッチ状態は引き続き「マルチタッチ状態」であると特定する。従って、認識部１１６は、マルチタッチ操作を認識する。ただし、この時、取得された操作情報がマルチドラッグ操作、およびピンチ操作の認識条件を満たさないため、操作は認識されない。
【０１１８】
認識されたタッチ操作がないため、表示を変更しない。
【０１１９】
次に、タッチパネルからタッチ点Ｂ２のタッチイベントが「ＴＯＵＣＨ」が通知される。検出部１１１は、タッチ点Ｂ２について、ＩＤが２、位置座標が（２０，５０）、検出時刻が２５ミリ秒という情報を保持する。同じＩＤのタッチ点が既に検出されているため、タッチ点数には変更がなく、２点のままである。さらに、操作情報取得部１１３は、移動距離２０−１０＝１０ドット、移動方向は９０°、タッチ点Ａ２とタッチ点Ｂ２との間の距離１００ドット取得し、保持する。特定部１１５は、タッチ点数が２点のため、タッチ状態は「マルチタッチ状態」であると特定する。従って、認識部１１６は、タッチ点Ａ２とタッチ点Ｂ２での移動方向が同じであり、タッチ点Ｂ２での移動距離は１０ドットと閾値以上のため、マルチドラッグ操作を認識する。表示制御部１１７は、ディスプレイ１０８に画像全体が表示されている状態で、マルチドラッグ操作が右方向に入力されているので、画像をスクロールし、１０枚前に記憶された画像を表示するための表示画像を生成し、出力する。
【０１２０】
次に、タッチパネルからタッチ点Ａ３のタッチイベントが通知「ＴＯＵＣＨ」が通知される。検出部１１１は、タッチ点Ａ３について、ＩＤが１、位置座標が（３０，１５０）、検出時刻が４０ミリ秒という情報を保持する。同じＩＤのタッチ点が既に検出されているため、タッチ点数には変更がなく、２点のままである。さらに、操作情報取得部１１３は、タッチ点Ａ２からタッチ点Ａ３までの移動距離３０−２０＝１０ドット、移動方向９０°、タッチ点Ａ３とタッチ点Ｂ２との間の距離１０１ドット取得し、保持する。特定部１１５は、タッチ点数が２点のため、タッチ状態は引き続き「マルチタッチ状態」であると特定する。認識部１１６は、タッチ点Ａ３とタッチ点Ｂ２での移動方向が同じであり、タッチ点Ａ３での移動距離は１０ドットと閾値以上のため、マルチドラッグ操作を認識する。表示制御部１１７は、ディスプレイ１０８に画像全体が表示されている状態で、マルチドラッグ操作が右方向に入力されているので、画像をスクロールし、１０枚前に記憶された画像を表示するための表示画像を生成し、出力する。
【０１２１】
次に、タッチパネルからタッチ点Ｂ３のタッチイベント「ＲＥＬＥＡＳＥ」が通知され、検出部１１１によって、ユーザが、ＩＤが２のタッチ点のタッチを離したことが検出される。そして、検出部１１１は、保持部１１２に保持されている情報から、ＩＤが２のタッチ点に関する情報を削除する。特定部１１５は、タッチ状態は「２ｔｏ１移行状態」と特定する。タッチ状態が「２ｔｏ１移行状態」のため、認識部１１６は、タッチ操作を認識しない。認識されたタッチ操作がないため、表示制御部１１７は、表示内容を変更しない。
【０１２２】
続いて、タッチ点Ａ４、及びタッチ点Ａ５のタッチイベント「ＴＯＵＣＨ」が検出される。このとき、情報処理装置１００において実行される処理は、操作例２におけるタッチ点Ａ５、及びタッチ点Ａ６の検出時の処理と共通するため、詳細な説明を省略する。
【０１２３】
図１１（ａ）に示されるタッチ点Ａ６のタッチイベント「ＴＯＵＣＨ」が通知されると、検出部１１１は、タッチ点Ａ６について、ＩＤが１、位置座標が（７０，１５０）、検出時刻が１００ミリ秒という情報を保持する。同じＩＤのタッチ点が既に検出されているため、タッチ点数には変更がなく、１点のままである。操作情報取得部１１３は、タッチ点Ａ３からタッチ点Ａ６の移動距離７０−３０＝４０ドットを求め、保持する。ここで、特定部１１５は、タッチ点数が２点から１点に変化した履歴を保持した状態にあり、かつ求めた移動距離４０ドットが移行条件２を満たすため、タッチ状態は「シングルタッチ状態」であると特定し、タッチ点数の変化履歴を削除する。従って、認識部１１６は、シングルタッチ操作の認識条件と、取得した操作情報を比較する。本実施例では、ムーブ操作の認識条件として、１点のタッチ点が１０ドット以上移動したか否かを判定する。ここでは、ＩＤが１のタッチ点（Ａ６）がＸ軸方向に４０ドット移動しているため、ムーブと認識する。表示制御部１１７は、ディスプレイに画像全体が表示されている状態で、右方向のムーブ操作が認識されたため、画像をスクロールし、１枚前に記憶されている画像を表示する。
【０１２４】
次に、タッチパネルからタッチ点Ａ７のタッチイベント「ＴＯＵＣＨ」が通知され，同様の処理により、シングルタッチによるムーブ操作が認識される。
【０１２５】
以上が、ユーザが２本の指をタッチして横に動かすマルチドラッグ操作を行った後に、片方のタッチによって継続してムーブ操作を行う操作例３である。このように本実施例では、マルチタッチ操作が行われた後に、タッチ点数が１点に減った場合には、「移行条件２」が満たされるか否かを判定して、特定結果に基づく認識処理を行う。
【０１２６】
（操作例４）
次に、図１１（ｂ）は、ユーザが２本の指をタッチして横に動かすマルチドラッグ操作中に、１点がリリースされ、その後にマルチドラッグ操作が継続される操作例４において、情報処理装置１００が取得するタッチ点の位置の推移の一例を示す図である。タッチ点Ａ１〜Ａ７、Ｂ１〜Ｂ６は、操作面９０１においてユーザの指がタッチした位置の座標を示し、横方向をＸ軸、縦方向をＹ軸とする。最初にユーザの指９０２が操作面９０１にタッチした位置が、タッチ点Ａ１とする。次に、ユーザが指９０２を横に移動し、タッチ点がＡ２〜Ａ７まで移動する。さらに、ユーザのもう一方の指９０３が操作面９０１にタッチした位置が、タッチ点Ｂ１とする。同様に、ユーザが指９０３を横に移動し、タッチ点がＢ２に移動し、タッチ点Ｂ３で指９０３がタッチパネルから離れる。その後、指９０３が操作面９０１に再度タッチされた位置がタッチ点Ｂ４となる。さらにユーザが指９０３を横に移動し、タッチ点Ｂ５〜Ｂ６となる。
【０１２７】
以下、この一連の操作に従って、本実施例の情報処理装置１００の動作を説明する。ただし、情報処理装置１００においてタッチ点Ａ１、Ｂ１、Ａ２、Ｂ２、Ａ３、Ｂ３、Ａ４、Ａ５のタッチイベントが検出される際に実行される処理は、上述した操作例３と共通するため、説明を省略し、操作例３と異なる点を中心に説明する。
【０１２８】
タッチパネルからタッチ点Ｂ４のタッチイベント「ＴＯＵＣＨ」が通知されると、検出部１１１は、ＩＤが２、位置座標が（５０，５０）、検出時刻が８５ミリ秒という情報を取得し、保持する。さらに、タッチ点数取得部１１４は、ＩＤの数からタッチ点数２を取得し、タッチ点数が１点から２点に変更した履歴を保持する。また、初めて検出されたＩＤが２のタッチ点になるため、操作情報取得部１１３は、移動距離０ドット、移動方向はなし、タッチ点Ａ５とタッチ点Ｂ４の２点間の距離１００ドットを取得して、それぞれの情報を保持する。特定部１１５は、タッチ点数が２点のため、タッチ状態は「マルチタッチ状態」であると特定する。認識部１１６は、マルチタッチ操作の認識条件が満たされないため、この時点では、マルチタッチ操作を認識しない。従って、表示内容も変化しない。
【０１２９】
次に、タッチパネルからタッチ点Ａ６のタッチイベント「ＴＯＵＣＨ」が通知されると、ＩＤが１、位置座標が（６０，１５０）、検出時刻が１００ミリ秒、タッチ点数が２という情報、保持部１１２に保持される。さらに、タッチ点数が変わったので基準点が変更され、操作情報取得部１１３によって、タッチ点Ａ５からタッチ点Ａ６への移動距離６０−５０＝１０ドット、移動方向９０°、タッチ点Ａ６とタッチ点Ｂ４との間の距離１０１ドットが求められ、保持される。この時点でも、継続してタッチ状態は「マルチタッチ状態」であるが、マルチタッチ操作の認識条件が満たされないため、この時点では、マルチタッチ操作を認識しない。従って、表示内容も変化しない。
【０１３０】
次に、タッチパネルからタッチ点Ｂ５のタッチイベント「ＴＯＵＣＨ」が通知されると、ＩＤが２、位置座標が（６０，５０）、検出時刻が１０５ミリ秒という情報が、保持部１１２に保持される。同じＩＤのタッチ点が既に検出されているため、タッチ点数には変更がなく、２点のままである。さらに、操作情報として、タッチ点Ｂ４からタッチ点Ｂ５への移動距離６０−５０＝１０ドット、移動方向は９０°、タッチ点Ａ６とタッチ点Ｂ５の間の距離１００が取得され、保持される。この時、特定部１１５は、タッチ状態は「マルチタッチ状態」であると特定する。そして、認識部１１６は、タッチ点Ｂ５とタッチ点Ａ６での移動方向が同じであり、タッチ点Ｂ５での移動距離は１０ドットと閾値以上のため、マルチドラッグ操作を認識する。表示制御部１１７は、ディスプレイ１０８に画像全体が表示されている状態で、マルチドラッグ操作が右方向に入力されているので、画像をスクロールし、１０枚前に記憶された画像を表示するための表示画像を生成し、出力する。
【０１３１】
以降、タッチ点Ａ７、タッチ点Ｂ６のタッチイベント「ＴＯＵＣＨ」が通知される度に、同様にマルチドラッグ操作が認識される。
【０１３２】
以上が、ユーザが２本の指をタッチして横に動かすマルチドラッグ操作中に、１点がリリースされ、その後にマルチドラッグ操作が継続される操作例４である。このように本実施例では、マルチタッチ操作が行われている途中に、片方のタッチ点が検出されない状況が発生した場合は、「移行条件２」が満たされるか否かを判定して、結果に基づく認識処理を行う。従って、意図されないシングルタッチ操作が認識される誤動作を低減することができる。
【０１３３】
（操作例５）
図１２は、ユーザが２本の指をタッチして広げるピンチ操作を行った後にムーブ操作を行う操作例５において、情報処理装置１００が取得するタッチ点の位置の推移の一例を示す図である。タッチ点Ａ１〜Ａ５、Ｂ１〜Ｂ３は、操作面９０１においてユーザの指がタッチした位置の座標を示し、横方向をＸ軸、縦方向をＹ軸とする。最初にユーザの指９０２が操作面９０１にタッチした位置が、タッチ点Ａ１とする。次に、ユーザが指９０２を横に移動し、タッチ点がＡ２〜Ａ５まで移動する。さらに、ユーザのもう一方の指９０３が操作面９０１にタッチした位置が、タッチ点Ｂ１とする。同様に、ユーザが指９０３を横に移動し、タッチ点がＢ２に移動し、タッチ点Ｂ３で指９０３をタッチパネルから離す。
【０１３４】
以下、この一連の操作に従って、本実施例の情報処理装置１００の動作を説明する。
【０１３５】
まず、タッチパネルからタッチ点Ａ１のタッチイベント「ＴＯＵＣＨ」が通知される。検出部１１１は、タッチ点Ａ１について、ＩＤが１、位置座標が（６０，１００）、検出時刻が０ミリ秒という情報を保持する。さらに、タッチ点数取得部１１４は、ＩＤの数からタッチ点数１を取得し、タッチ点数が０点から１点に変更した履歴を保持する。また、初めて検出されたタッチ点のため、操作情報取得部１１３は、移動距離０ドットを取得する。特定部１１５は、タッチ情報を参照し、タッチ点数が１点で、タッチ点数が０点から１点変化し、移行条件１を満たしていないので、タッチ状態は「０ｔｏ１移行状態」であると特定する。この時点では、タッチ状態は０ｔｏ１移行状態であるため、認識部１１６は、特定処理を行わず処理を終了する。認識されたタッチ操作がないため、表示内容は変更されない。
【０１３６】
次に、タッチパネルからタッチ点Ｂ１のタッチイベント「ＴＯＵＣＨ」が通知される。検出部１１１は、タッチ点Ｂ１について、ＩＤが２、位置座標が（４０，１００）、検出時刻が５ミリ秒という情報を保持する。さらに、タッチ点数取得部１１４は、ＩＤの数からタッチ点数２を取得する。また、初めて検出されたＩＤが２のタッチ点のため、操作情報取得部１１３は、移動距離０ドットを取得する。さらに、タッチ点Ａ１とタッチ点Ｂ１との距離２０ドットを取得し、保持する。この時、タッチ点数が２点のため、特定部１１５は、タッチ状態は「マルチタッチ状態」であると特定する。従って、認識部１１６は、マルチタッチ操作の認識を行う。ただし、この時点では、取得された操作情報がマルチドラッグ操作、およびピンチ操作の認識条件を満たさないため、操作は認識されない。なお、各操作の認識条件は、操作例２と同一である。認識されたタッチ操作がないため、表示内容は変更されない。
【０１３７】
次に、タッチパネルからタッチ点Ａ２のタッチイベント「ＴＯＵＣＨ」が通知される。検出部１１１は、タッチ点Ａ２について、ＩＤが１、位置座標が（７０，１００）、検出時刻が２０ミリ秒という情報を保持する。同じＩＤのタッチ点が既に検出されているため、タッチ点数には変更がなく、２点のままである。さらに、操作情報取得部１１３は、タッチ点Ａ１からタッチ点Ａ２までの移動距離１０ドット、移動方向９０°、タッチ点Ａ２とタッチ点Ｂ１との間の距離３０ドット取得し、保持する。特定部１１５は、タッチ点数が２点のため、タッチ状態は引き続き「マルチタッチ状態」であると特定する。この時、２点のタッチ点の移動方向が異なり、かつ２点の間の距離の変化量は２０−１０＝１０ドットであるため、ピンチ操作の認識条件を満たす。従って、認識部１１６は、ピンチ操作を認識する。表示制御手段１１８は、ディスプレイに画像全体が表示されている状態で、ピンチ操作が入力されているので、表示されている画像を拡大して、その一部を表示するための表示画像を生成し、出力する。
【０１３８】
次に、タッチパネルからタッチ点Ｂ２のタッチイベント「ＴＯＵＣＨ」が通知される。検出部１１１は、タッチ点Ｂ２について、ＩＤが２、位置座標が（３０，１００）、検出時刻が２５ミリ秒という情報を保持する。同じＩＤのタッチ点が既に検出されているため、タッチ点数には変更がなく、２点のままである。さらに、操作情報取得部１１３は、タッチ点Ｂ１からタッチ点Ｂ２までの移動距離１０ドット、移動方向２７０°、タッチ点Ａ２とタッチ点Ｂ２との間の距離４０ドット取得し、保持する。特定部１１５は、タッチ点数が２点のため、タッチ状態は引き続き「マルチタッチ状態」であると特定する。この時、２点のタッチ点の移動方向が異なり、かつ２点の間の距離の変化量は４０−３０＝１０ドットであるため、ピンチ操作の認識条件を満たす。従って、認識部１１６は、ピンチ操作を認識する。表示制御手段１１８は、ディスプレイに画像全体が表示されている状態で、ピンチ操作が入力されているので、表示されている画像を拡大して、その一部を表示するための表示画像を生成し、出力する。
【０１３９】
次に、タッチパネルからタッチ点Ａ３のタッチイベント「ＴＯＵＣＨ」が通知される。検出部１１１は、タッチ点Ａ３について、ＩＤが１、位置座標が（８０，１００）、検出時刻が４０ミリ秒という情報を保持する。同じＩＤのタッチ点が既に検出されているため、タッチ点数には変更がなく、２点のままである。さらに、操作情報取得部１１３は、タッチ点Ａ２からタッチ点Ａ３までの移動距離１０ドット、移動方向９０°、タッチ点Ａ３とタッチ点Ｂ２との間の距離５０ドット取得し、保持する。特定部１１５は、タッチ点数が２点のため、タッチ状態は引き続き「マルチタッチ状態」であると特定する。この時、２点のタッチ点の移動方向が異なり、かつ２点の間の距離の変化量は５０−４０＝１０ドットであるため、ピンチ操作の認識条件を満たす。従って、認識部１１６は、ピンチ操作を認識する。表示制御手段１１８は、ディスプレイに画像全体が表示されている状態で、ピンチ操作が入力されているので、表示されている画像を拡大して、その一部を表示するための表示画像を生成し、出力する。
【０１４０】
次に、タッチパネルからタッチ点Ｂ３のタッチイベント「ＲＥＬＥＡＳＥ」が通知され、検出部１１１によって、ユーザが、ＩＤが２のタッチ点のタッチを離したことが検出される。そして、検出部１１１は、保持部１１２に保持されている情報から、ＩＤが２のタッチ点に関する情報を削除する。特定部１１５は、タッチ点が２点から１点に減少し、かつ、移行条件２は満たされていないため、タッチ状態は「２ｔｏ１移行状態」と特定する。タッチ状態が「２ｔｏ１移行状態」のため、認識部１１６は、タッチ操作を認識しない。認識されたタッチ操作がないため、表示制御部１１７は、表示内容を変更しない。
【０１４１】
次に、タッチパネルからタッチ点Ａ４のタッチイベント「ＴＯＵＣＨ」が通知され、検出部１１１は、タッチ点Ａ６について、ＩＤが１、位置座標が（８０，１１０）、検出時刻が６０ミリ秒という情報を保持する。同じＩＤのタッチ点が既に検出されているため、タッチ点数には変更がなく、１点のままである。操作情報取得部１１３は、タッチ点Ａ３からタッチ点Ａ４の移動距離１０ドット、移動方向０°を取得し、保持する。ここで、特定部１１５は、タッチ点数が２点から１点に変化した履歴を保持した状態にある。さらに、前回ＩＤが１のタッチ点（Ａ３）を検出した時の移動方向と４５°以上異なることから、移行条件２を満たすため、タッチ状態は「シングルタッチ状態」であると特定し、保持していたタッチ点数の変化履歴を削除する。従って、認識部１１６は、シングルタッチ操作の認識条件と、取得した操作情報を比較する。本実施例では、ＩＤが１のタッチ点（Ａ４）がＹ軸方向に１０ドット移動しているため、ムーブ操作の認識条件を満たす。従って、認識部１１６はムーブ操作を認識する。表示制御部１１７は、ディスプレイに画像全体が表示されている状態で、上方向にムーブ操作が入力されているので、画像の表示されている位置を下に移動する表示画像を出力する。
【０１４２】
以降、タッチ点Ａ５タッチイベント「ＴＯＵＣＨ」が通知される度に、同様にムーブ操作が認識される。
【０１４３】
以上が、ユーザが２本の指の間隔を広げるピンチ操作を行った後に、片方のタッチによって継続してムーブ操作を行う操作例５である。このように本実施例では、マルチタッチ操作が行われた後に、タッチ点数が１点に減った場合は、「移行条件２」が満たされるか否かを判定して、結果に基づく認識処理を行う。
【０１４４】
なお、操作例１〜５では、シングルタッチ操作はムーブ操作を例に挙げて説明したが、これに限らない。例えば、画面を軽くはじくように指を動かすフリック操作にも同様に本発明を適用できる。また、マルチタッチ操作はマルチドラッグ、ピンチを例に挙げて説明したが、ローテートにも同様に本発明を適用できる。
【０１４５】
＜その他の実施例＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014021829.tif 000003
【図２】
2014021829.tif 000004
【図３】
2014021829.tif 000005
【図４】
2014021829.tif 000006
【図５】
2014021829.tif 000007
【図６】
2014021829.tif 000008
【図７】
2014021829.tif 000009
【図８】
2014021829.tif 000010
【図９】
2014021829.tif 000011
【図１０】
2014021829.tif 000012
【図１１】
2014021829.tif 000013
【図１２】
2014021829.tif 000014