(57)【要約】【課題】  本発明は、同じ操作が繰り返しされている状況であっても、ユーザの入力を意図に沿った操作種別として特定することを主な目的とする。【解決手段】  本発明は、上記課題を解決するため、入力された注目情報と直前に入力された操作に関する情報とに基づいて、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあるか否かを判定し（Ｓ２０３）、前記注目情報により予め設定された所定の条件が満たされたことに応じて、前記注目情報に基づいて入力された操作を特定する（Ｓ２０６）際に、前記判定において、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定された場合には、前記特定において、前記注目情報に基づいて入力された操作が、前記直前に入力された操作と同じ種別の操作であると特定するための条件を、前記所定の条件よりも満たされやすい条件に設定する設定する（Ｓ２０４）。【選択図】  図２
2015018325.tif 000002
【特許請求の範囲】
【請求項１】
入力された操作の種別に応じた処理を実行する情報処理装置であって、
入力された注目情報と直前に入力された操作に関する情報とに基づいて、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあるか否かを判定する判定手段と、
前記注目情報により予め設定された所定の条件が満たされたことに応じて、前記注目情報に基づいて入力された操作を特定する特定手段と、
前記判定手段により、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定された場合には、前記特定手段が、前記注目情報に基づいて入力された操作が、前記直前に入力された操作と同じ種別の操作であると特定するための条件を、前記所定の条件よりも満たされやすい条件に設定する設定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記所定の条件とは、前記注目情報に基づいて取得される値が、前記操作の種別毎に設定された所定の基準値を超えるという条件であって、
前記設定手段は、
前記判定手段により、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定された場合、前記注目情報に基づいて取得される値が、前記所定の基準値よりも低い基準値を超えるという条件を、前記注目情報に基づいて入力された操作が、前記直前に入力された操作と同じ種別の操作であると特定されるための条件として、前記所定の条件よりも満たされやすい条件を設定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、前記直前に入力された操作の種別が特定されてから所定の時間の間に、前記注目情報が検出された場合に、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記注目情報として、入力された位置情報を検出する検出手段を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記判定手段は、前記直前に入力された操作の種別が特定されてから初めて前記検出手段が検出した位置情報が、特定の領域に含まれる位置の情報である場合に、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記特定の領域には、前記直前に入力された操作の入力が開始された時に前記検出手段が検出した位置が含まれる
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記検出手段は、入力領域上のユーザによってタッチされたタッチ位置の情報を検出する手段であって、
前記特定の領域は、前記入力領域の一部の領域であることを特徴とする請求項４乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記直前に入力された操作がマルチタッチ操作であった場合には、
前記特定の領域は、前記直前に入力されたマルチタッチ操作の入力が開始された時に前記検出手段が検出した複数のタッチ位置をそれぞれ含む複数の領域である
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記判定手段は、前記直前に入力された操作がマルチタッチ操作であった場合には、
前記特定の領域である複数の領域のそれぞれが、前記直前に入力されたマルチタッチ操作の種別が特定されてから初めて前記検出手段が検出した複数のタッチ位置の少なくともいずれか１つを含む場合に、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記判定手段は、前記直前に入力された操作がフリック操作であった場合には、
前記注目情報に基づいて判定される入力方向が、前記直前に入力されたフリック操作の方向と同じ方向である場合に、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定することを特徴とする請求項７乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記特定手段は、さらに前記直前に入力された操作と同じ種別の操作が繰り返された回数に対応する条件が満たされることに応じて、前記注目情報に基づいて入力された操作が、前記直前に入力された操作と同じ種別の操作であると特定することを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記判定手段により、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定される場合には、前記直前に入力された操作と同じ種別の操作が繰り返された回数に対応する条件で、前記特定手段によって特定された操作に対応する処理を出力装置に実行させる出力制御手段を更に備えることを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
入力された操作の種別に応じた処理を実行する情報処理装置の制御方法であって、
判定手段により、入力された注目情報と直前に入力された操作に関する情報とに基づいて、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する判定工程と、
特定手段により、前記注目情報により予め設定された所定の条件が満たされたことに応じて、前記注目情報に基づいて入力された操作を特定する特定工程と、
設定手段により、前記判定工程において前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定された場合には、前記特定手段が、前記注目情報に基づいて入力された操作が、前記直前に入力された操作と同じ種別の操作であると特定するための条件を、前記所定の条件よりも満たされやすい条件に設定する設定工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項１４】
コンピュータに読み込ませ実行させることで、前記コンピュータを請求項１乃至１３のいずれか１項に記載された情報処理装置の各手段として動作させるためのプログラム。
【請求項１５】
請求項１４のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に対して入力された操作を特定する技術に関する。
【背景技術】
【０００２】
近年、ユーザの指あるいはスタイラスなどの操作オブジェクトによりタッチパネル等の入力部がタッチされた位置のＸ，Ｙ座標値に基づいてタッチ操作を認識し、そのタッチ操作に応じた各種処理を実行するタッチ入力機器が普及している。よく知られたタッチ操作の種別の１つに、フリック（タッチパネル表面を弾くようにしてタッチした指を離す操作）がある。フリックの入力に対しては、フリックのスピードや方向に合わせて表示部に表示された表示画像がスクロールされる、あるいは表示画像が順次切り替えられる、といった機能が知られている。ユーザは、スクロール量を増やしたい場合や表示画像の切り替えを繰り返したい場合には、連続して複数回フリックを入力する。
特許文献１では、一定時間内に繰り返しフリックが入力された場合に、１回のフリック操作に応じた表示画像のスクロール量を大きくすることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１６８８９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
フリックを繰り返し入力する場合、ユーザは後続するフリックを雑に入力する傾向があり、タッチ操作がフリックであると特定されるための基準が満たされないことがある。基準が満たされない場合、ユーザはフリックを意図した入力を行ったにも関わらず、フリックに応じた処理が実行されないため、誤動作であると感じられてしまうことがある。本発明は上記課題に鑑みてなされたものであり、同じ操作が繰り返しされている状況であっても、ユーザの入力を意図に沿った操作種別として特定することを主な目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明は、入力された注目情報と直前に入力された操作に関する情報とに基づいて、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあるか否かを判定する判定手段と、前記注目情報により予め設定された所定の条件が満たされたことに応じて、前記注目情報に基づいて入力された操作を特定する特定手段と、前記判定手段により、前記直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定された場合には、前記特定手段が、前記注目情報に基づいて入力された操作が、前記直前に入力された操作と同じ種別の操作であると特定するための条件を、前記所定の条件よりも満たされやすい条件に設定する設定手段とを備えることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、同じ操作が繰り返しされている状況であっても、ユーザの入力を意図に沿った操作種別として特定することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】情報処理装置のハードウェア構成及び機能構成の一例を示す図
【図２】ユーザの操作を特定するメイン処理と、ユーザのタッチ入力を検出する処理の一例を示すフローチャート
【図３】シングルタッチ操作の繰り返しを判定する処理の一例を示すフローチャート
【図４】繰り返し回数に応じて基準値を調整する処理と、操作種別がフリック操作であることを特定する処理の一例を示すフローチャート
【図５】マルチタッチ操作の繰り返しが可能な情報処理装置が実行する、シングルタッチ操作の繰り返しを判定する処理の一例を示すフローチャート
【図６】マルチタッチ操作の繰り返しを判定する処理の一例を示すフローチャート
【図７】操作種別がマルチドラッグ操作であることを特定する処理の一例を示すフローチャート
【図８】操作種別がピンチ操作であることを特定する処理、操作種別がローテート操作であることを特定する処理の一例を示すフローチャート
【図９】操作の繰り返し回数と各操作種別の基準値の対応の一例を示す表
【図１０】検出されるタッチ位置に基づいてフリック操作の繰り返しが判定される様子の一例を示す図
【図１１】検出されるタッチ位置に基づいてマルチタッチ操作の繰り返しが判定される様子の一例を示す図
【発明を実施するための形態】
【０００８】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施の具体例を示すにすぎない。
【０００９】
＜第１の実施形態＞
本実施形態では、タッチ操作を認識可能な情報処理装置１００に対して、入力情報が何らかの基準値を超えるか否かに基づいて操作種別が特定されるタッチ操作が、繰り返し入力されるやすい状況にあることを判定した上でタッチ操作の種別を特定する例を説明する。特に、ユーザが入力領域（タッチパネル表面等）の１箇所を指でタッチしたまま動かすことで行うシングルタッチ操作が繰り返される場合を想定する。なお、入力情報が何らかの基準値を超えるか否かに基づいて操作種別が特定されるシングルタッチ操作とは、例えばフリックである。フリックは、ユーザが指でタッチパネルをタッチしてから指を離すまでに、タッチ位置を移動させた距離に基づいて取得される、単位時間当たりの移動量が、所定の値を超えることに基づいて特定されることが多い。
【００１０】
図１（ａ）を参照して、本発明に係る情報処理装置１００のハードウェア構成の一例について説明する。情報処理装置１００は、バス１０１、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、入力Ｉ／Ｆ１０５、出力Ｉ／Ｆ１０６、入出力Ｉ／Ｆ１０７、及びタッチパネルディスプレイ１１１と記憶装置１０８とを備える。
【００１１】
ＣＰＵ１０２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、各種処理のための演算や論理判断などを行い、システムバス１０１に接続された各構成要素を制御する。この情報処理装置１００には、プログラムメモリとデータメモリを含むメモリが搭載されている。
【００１２】
ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３は、プログラムメモリであって、後述するフローチャートに示す各種処理手順を含むＣＰＵ１０２による制御のためのプログラムを格納する。
【００１３】
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０４であり、ＣＰＵ１０２の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。記憶装置１０８などからＲＡＭ１０４にプログラムをロードすることで、プログラムメモリを実現しても構わない。
【００１４】
入力Ｉ／Ｆ１０５は、ポインティングデバイスなどの入力装置１０９を制御し、入力装置１０９から出力された信号を取得する。ポインティングデバイスは、例えば、マウス、トラックボール、タッチパネル等が使用可能である。また例えば各種センサを利用して、検出対象の三次元位置を検出するシステムを使用してもよい。
【００１５】
出力Ｉ／Ｆ１０６は、液晶ディスプレイ、テレビモニタ。液晶プロジェクタ等の表示出力部を有する出力装置１１０に対して、後述する各種の処理を実行した結果の出力を制御する信号を出力する。
【００１６】
本実施形態において、入力装置１０９であるタッチパネルと出力装置１１０であるディスプレイ装置は、情報処理装置１００に一体化したタッチパネルディスプレイ１１１を使用するものとする。ただし、これらは情報処理装置１００に接続された外部装置であってもよく、それぞれが独立した装置であってもかまわない。なお、本実施形態で用いられる入力装置としてのタッチパネルディスプレイ１１１からは、ユーザによってタッチされていること、あるいはタッチが離された点を検出したことを示す信号が、タッチイベントとして情報処理装置１００に通知される。その際、タッチを検出する領域が走査されることによって順次検出されたタッチイベントを、入力Ｉ／Ｆ１０５が１点ずつ取得する。本実施形態において用いるタッチパネルディスプレイ１１１は、タッチされていることを検出したときにはタッチイベントとして「ＴＯＵＣＨ」を、検出されていたタッチが離されたときにはタッチイベントとして「ＲＥＬＥＡＳＥ」を通知する。タッチパネルは静電容量方式のものを使用するとし、ユーザとパネル表面との接触面のうち、１点の座標をタッチ位置として特定してタッチイベントと共に通知する。ただし、タッチパネルの方式は静電容量方式に限らない。
【００１７】
入出力Ｉ／Ｆ１０７を介して接続される記憶装置１０８は、本実施形態に係るデータやプログラムを記憶しておくためのハードディスクドライブ等の記憶装置である。記憶装置１０８は、外部から接続された外部記憶装置として構成としてもよい。例えば、メディア（記録媒体）と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ、ＭＯ、フラッシュメモリ等が知られている。また、記憶装置１０８は、ネットワークで接続されたサーバ装置などであってもよい。本実施形態において必要な情報は、ＲＡＭ１０４や記憶装置１０８に保持される。
【００１８】
以下では、特に断らない限り、既に説明した図を用いて説明されたものには同一の符号を付し、その説明を省略する。
【００１９】
図１（ｂ）は情報処理装置１００の機能構成の一例を示すブロック図である。情報処理装置１００は、検出部１２１、判定部１２２、取得部１２３、条件設定部１２４、特定部１２５、領域設定部１２６、記憶部１２７、表示制御部１２８とを備える。これらの各機能部は、ＣＰＵ１０２が、ＲＯＭ１０３に格納されたプログラムをＲＡＭ１０４に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、上記ＣＰＵ１０２を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【００２０】
検出部１２１は、入力Ｉ／Ｆ１０５、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４等によって構成され、入力装置１０９から出力された信号を所定時間毎に検出する。本実施形態では、２０ｍｓ毎に検出を繰り返すとする。本実施形態では、検出される信号には、タッチイベントの情報、ユーザによって入力された位置を示す情報が含まれる。以下では、検出部１２１が検出した信号により示される情報を「注目情報」と呼ぶ。検出部１２１は、検出した位置を示す情報と、位置の入力が検出された時刻（検出時刻）とをタッチ位置のＩＤに関連付けて保持する。ＩＤを利用することで、同一のタッチ位置を識別することができる。従って、検出部１２１は、同じＩＤのタッチ位置に関する情報を取得する度に、ＲＡＭ１０４が保持する注目情報を順次更新する。ＩＤにはタッチ位置が検出された順番を関連させることで、検出されるタッチ位置の数が複数である場合に管理がしやすくなる。検出部１２１は、注目情報をＲＡＭ１０４に保持し適宜更新していく。
【００２１】
判定部１２２は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４等によって構成され、検出部１２１が検出した注目情報と、直前に入力された操作に関する情報とに基づいて、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する。直前に入力された操作とは、その時点において、最後に操作種別が特定された操作を示す。本実施形態の判定部１２２は、直前に入力された操作の種別が特定されてから所定の時間内に、新たにタッチ位置の情報が検出され、かつ、当該新たに検出されたタッチ位置が、特定の範囲に含まれる場合、同じ種別の操作が繰り返されやすい状況にあると判定する。ここで用いられる特定の範囲とは、直前に入力された操作の入力が開始されたタッチ位置が含まれる一部の範囲であって、領域設定部１２６がタッチパネルの入力領域上で、同じ種別の操作が入力され易い特定の範囲として設定するものである。以下では、この特定の範囲を「入力開始領域」と言う。なお、判定部１２２は、さらに区別すべき操作種別に合わせて判定基準を加えることもできる。
【００２２】
取得部１２３は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４等によって構成され、検出部１２１が検出した注目情報に基づいて、タッチ位置の移動に関する情報を取得する。例えば、ユーザがタッチパネルディスプレイ１１１に触れたまま指を移動させた後、指をタッチパネルディスプレイ１１１から離したときの移動距離、タッチ位置の移動距離から導かれる単位時間あたりの移動量等である。なお、以下この明細書では、ユーザが指をタッチパネルディスプレイ１１１から離すことを「リリースする」と表現する。取得部１２３は、取得した情報を特定部１２５に通知する。
【００２３】
条件設定部１２４は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４等によって構成され、判定部１２２により、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定されたことに応じ、入力された操作の種別を特定するための条件を設定する。このとき、操作種別毎に予め設定された所定の条件よりも満たされやすい条件を設定する。本実施形態において、操作の種別とは、情報処理装置１００が実行可能な処理に対応付けて予め記憶されたタッチ操作の種類である。情報処理装置１００は、入力された操作の種別に応じた処理を実行する。本実施形態では、操作の種別を特定するための条件とは、取得部１２３によって取得される情報が示す値が、前記操作の種別毎に設定された所定の基準値を超えるという条件である。本実施形態では、後述する特定部１２５が、入力された操作種別を特定したことに応じて、ＲＡＭ１０４に入力された操作の種別を示す情報を保持する。従って、条件設定部１２４は、保持されている情報を参照することで、どの種別の操作の基準値を設定するかを判断する。例えば、フリックに対して設定される所定の条件とは、タッチアップされるまでのタッチ位置の移動距離に基づく、単位時間あたりの移動量が所定の基準値を超えることである。なお、単位時間あたりの移動量を移動スピードとして扱っても同じである。条件設定部１２４は、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定されたことに応じて、所定の基準値よりも低い値となるように基準値を調整された値を、記憶部１２７に記憶された情報を参照することによって取得し条件を設定する。条件設定部１２４は、設定した条件、すなわち調整した基準値を特定部１２５に通知する。
【００２４】
特定部１２５は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４等によって構成され、取得部１２３が取得した情報と、記憶部１２７に記憶された所定の条件、あるいは条件設定部１２４が設定した条件とに基づいて、入力された操作の種別を特定する。本実施形態では、判定部１２２が直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定した場合、条件設定部１２４が設定した基準値を用いた条件を用いて特定を行う。一方で、判定部１２２が直前に入力された操作と同じ種別の操作が繰り返されやすい状況にはない判定した場合、記憶部１２７に記憶された所定の基準値を用いた条件を用いて特定を行う。また、記憶部１２７に記憶されている、他の種別の操作を特定するために設定された条件が満たされた場合には、満たされた条件に対応する他の種別の操作が入力されたと特定する。また、特定部１２５は、直前に入力された操作の種別を示す情報をＲＡＭ１０４に保持し、表示制御部１２８に通知する。
【００２５】
領域設定部１２６は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４等によって構成され、判定部１２２が直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあるるかを判定するのに利用する「入力開始領域」を設定する。本実施形態では、直前に入力された操作の開始位置を含む所定の大きさの範囲を「入力開始領域」として設定し、判定部１２２に通知する。
【００２６】
記憶部１２７は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４等によって構成され、情報処理装置１００が実行可能な複数の処理と、それらの処理の実行を指示する複数のタッチ操作の種別とを予め対応付けた情報を記憶している。また、各タッチ操作の種別を特定するための所定の条件と、所定の条件の判定に用いる所定の基準値（初期値）を関連付けて記憶している。また、各種別の操作が繰り返される場合に、繰り返し回数に対応して条件設定部１２４が設定する基準値の値を示す情報を記憶している。
【００２７】
表示制御部１２８は、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、出力Ｉ／Ｆ１０７等によって構成され、特定部１２５によって特定された操作の種別に対応する処理を実行し、実行結果を反映した表示画像を生成して出力装置１１０に出力する。
【００２８】
図２（ａ）は情報処理装置１００のメイン処理の一例を示すフローチャートである。本実施形態では、情報処理装置の電源が投入され起動され、タッチ操作の入力が可能な状態になったことに応じて図２（ａ）のフローチャートが起動される。ただし、フリック等特定のタッチ操作の受付が可能な特定のアプリケーション（画像の閲覧やＷＥＢブラウザ等）が実行されたことにおうじて起動されるようにしてもよい。
【００２９】
ステップＳ２０１では、検出部１２１は、ユーザの入力に基づく情報を検出する。本実施形態では、タッチパネルディスプレイ１１１から出力される信号に基づいて、タッチイベント、タッチされた位置を示す情報、タッチ位置を検出した時刻の情報を検出する。そして本実施形態では、ステップＳ２０１が実行された時に検出された情報を注目情報という。本実施形態では、検出部１２１は、所定時間毎にタッチパネルディスプレイ１１１からの信号を受け付けており、以降の処理ステップが実行されている間にも、所定時間毎に検出部１２１により注目情報が検出され、情報が蓄積されている。ステップＳ２０１のより詳細な処理の内容は図２（ｂ）のフローチャートを参照して後述する。
【００３０】
ステップＳ２０２では、判定部１２２が、検出部１２１によって検出された注目情報と、直前に入力された操作に関する情報とに基づいて、直前に入力された操作と同じ種別の操作が繰り返され状況にあるかを判定する。直前に入力された操作とは、この時点までの時間において、最後に操作種別が特定された操作を示す。本実施形態では、注目情報の入力が、直前に入力された操作の終了後直ぐに入力され、かつ、直前に入力された操作が開始された位置から開始された入力であるとみなせる場合に、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する。上記のような入力であるとみなせなければ、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にはないと判定される。ステップＳ２０２のより詳細な処理の内容は図３のフローチャートを参照して後述する。
【００３１】
ステップＳ２０３では、ステップＳ２０２において、判定部１２２が、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあるかと判定する。直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定された場合（ステップＳ２０２でＹＥＳ）には、ステップＳ２０３に進む。一方、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にはないと判定された場合（ステップＳ２０２でＮＯ）には、ステップＳ２０４に進む。
【００３２】
ステップＳ２０４では、条件設定部１２４が、直前に入力された操作種別の操作に関する条件を設定する。本実施形態では、条件設定部１２４は、記憶部１２７に記憶されている情報を取得することで、入力された操作を当該種別の操作を特定するために予め設定された所定の条件とは異なる条件を設定する。ステップＳ２０４のより詳細な処理の内容は図４（ａ）のフローチャートを参照して後述する。
【００３３】
ステップＳ２０５では、特定部１２５が、注目情報に基づいて取得される情報が、入力された操作が、直前に入力された操作と同じ種別の操作であると特定するための条件を満たすか否かを判定する。ステップＳ２０３において、同じ種別の操作が繰り返しされやすい状況にはない判定された場合には、記憶部１２７に記憶された所定の条件に基づいて判定が行われる。一方、ステップＳ２０３において、同じ種別の操作が繰り返しされやすい状況にあると判定された場合には、ステップＳ２０４において設定された条件に基づいて判定が行われる。条件が満たされると判定された場合（ステップＳ２０５でＹＥＳ）には、ステップＳ２０６に進む。一方条件が満たされないと判定された場合（ステップＳ２０５でＮＯ）には、メイン処理を終了する。特定部１２５は、メイン処理が終了された後で、記憶部１２７に記憶された他の条件が満たされた場合には、入力された操作は他の操作であると特定することができる。
【００３４】
ステップＳ２０６では、特定部１２５が、注目情報に基づいて入力される操作は、直前に入力された操作と同じ種別の操作であると特定する。そして、表示制御部１２８は、特定された操作に対応する処理の結果が反映された表示画像を生成し、タッチパネルディスプレイ１１１に出力する。ステップＳ２０５、ステップＳ２０６のより詳細な処理の内容は、図４（ｂ）のフローチャートを参照して後述する。
【００３５】
以下、各ステップの詳細な内容を、フローチャートを参照して説明する。
【００３６】
図２（ｂ）は、ステップＳ２０１において実行される、注目情報を取得する処理の詳細を示すフローチャートである。
【００３７】
まず、ステップＳ２１１において、検出部１２１は、タッチパネルから通知されたタッチイベントが「ＴＯＵＣＨ」であるか否かを判定する。通知されたタッチイベントが「ＴＯＵＣＨ」だと判定された場合（ステップＳ２１１でＹＥＳ）には、ステップＳ２１３に進む。通知されたタッチイベントが「ＴＯＵＣＨ」ではない、すなわち「ＲＥＬＥＡＳＥ」であった場合（ステップＳ２１１でＮＯ）には、ステップＳ２１２に進む。
【００３８】
ステップＳ２１２では、検出部１２１が、ＲＡＭ１０４に保持されていた情報のうち、「ＲＥＬＥＡＳＥ」が検出されたタッチ位置に対応するＩＤに関連付けられていた情報に、タッチ位置がリリースされたことを示す情報を付加する。例えば、リリースフラグを「ＴＲＵＥ」とする。
【００３９】
一方、ステップＳ２１３では、検出部１２１が、「ＴＯＵＣＨ」が検出されたタッチ位置と同じＩＤのタッチ位置が既に検出されているか否かを判定する。検出部１２１は、ＲＡＭ１０４に保持された情報を参照し、対応するＩＤが含まれているかを判定する。同じＩＤのタッチ位置が既に検出されていると判定された場合（ステップＳ２１３でＹＥＳ）には、処理はステップＳ２１５に進み、同じＩＤのタッチ位置が検出されていないと判定された場合（ステップＳ２１３でＮＯ）には、ステップＳ２１４に進む。
【００４０】
ステップＳ２１４において、検出部１２１は、「ＴＯＵＣＨ」が検出されたタッチ位置のＩＤ、座標、検出時刻の情報をＲＡＭ１０４に保持されている情報に新規追加する。この際、ＲＡＭ１０４では、タッチ位置が新たに検出されたことを示す情報を保持する。例えば、新規検出フラグを「ＴＲＵＥ」とする。
【００４１】
ステップＳ２１５では、ＲＡＭ１０４に保持されている情報のうち、「ＴＯＵＣＨ」が検出されたタッチ位置と同じＩＤの座標、検出時刻の情報を更新する。このとき、新規検出フラグが「ＴＲＵＥ」である情報は上書きせず、同じＩＤのタッチ位置の最新の情報として別途記憶する。それ以降に繰り返される処理で、最新の位置情報を上書きして更新し、図２（ａ）の処理にリターンする。本実施形態では、所定の距離未満の移動が検出された場合、そのタッチ位置は、移動していない、すなわち停止しているものとして処理される。
【００４２】
なお、ＲＡＭ１０４に蓄積されている注目情報は、これらの注目情報に基づくタッチ操作の種別が特定された時点で、初期化される。その際、後述するように、特定部１２５により、一部の注目情報は、直前に入力された操作に関する情報に変換されて保持される。
【００４３】
また、本実施形態では、タッチを検出したときにはタッチイベントとして「ＴＯＵＣＨ」を、検出されていたタッチ位置が解除されたときにはタッチイベントとして「ＲＥＬＥＡＳＥ」が通知されるタッチパネル１０９を用いたが、これに限らない。例えば、新たに入力領域がタッチされた場合には「ＴＯＵＣＨ＿ＤＯＷＮ」、既に検出されていたＩＤのタッチ位置の移動が検出された場合には「ＭＯＶＥ」、離された時には「ＴＯＵＣＨ＿ＵＰ」をタッチイベントとして通知するものでもよい。この場合、「ＴＯＵＣＨ＿ＤＯＷＮ」が通知された場合には、ＲＡＭ１０４に保持される情報を新規追加して新規検出フラグを「ＴＲＵＥ」とし、「ＭＯＶＥ」が通知された場合には同じＩＤの情報を最新の情報を更新する。そして、「ＴＯＵＣＨ＿ＵＰ」が通知された場合には、同じＩＤの情報を削除すればよい。
【００４４】
このように、情報処理装置１００は、タッチパネルディスプレイ１１１で検出されている複数のタッチ位置をＩＤによって識別して情報を管理する。従って、例えばユーザが複数の指によって入力領域上の複数個所を同時にタッチしている場合、複数のタッチ位置それぞれに異なるＩＤを付してそれぞれの動きを検出することができる。
【００４５】
次に、図３のフローチャートを参照して、ステップＳ２０２で実行される、繰り返し判定処理の詳細を説明する。本実施形態では、注目情報の入力が、直前に入力された操作の終了後直ぐに入力され、かつ、直前に入力された操作が開始された位置から開始された入力であるとみなせる場合に、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する。従って、少なくとも、新たに入力される操作が開始された最初のタッチ位置に関する情報が注目情報として検出された段階で判定処理を開始することができる。
【００４６】
ステップＳ３０１では、判定部１２２が、直前に入力された操作に関する情報を取得する。本実施形態では、後述するように、特定部１２５が、入力された操作の種別を特定した場合には、ＲＡＭ１０４に、特定した操作の種別、種別の特定がなされた時刻、特定した操作が開始された位置等の情報を、直前に入力された操作に関する情報として保持する。また、領域設定部１２６が、特定した操作が開始された位置を含む特定の範囲を、同じ種別の操作が入力され易い範囲である「入力開始領域」として設定し、その範囲を示す情報をＲＡＭ１０４に保持する。従って、判定部１２２は、ステップＳ３０１において、ＲＡＭ１０４から必要な情報を読み出す。
【００４７】
ステップＳ３０２では、判定部１２２が、直前に入力された操作の種別が特定されてから所定の時間の間に、前記注目情報が検出されたか否かを判定する。判定部１２２は、検出部１２１が検出した注目情報のうち、検出時刻に関する情報と、ステップＳ３０１において取得した、直前に入力された操作に関する情報のうち、種別の特定がなされた時刻の情報とを参照し、判定を行う。本実施形態では、一例として、所定の時間は５００ｍｓであるとする。つまり、判定部１２２は、直前に入力された操作の種別の特定がなされた時刻から５００ｍｓの間に、注目情報が検出されているか否かを判定する。直前に入力された操作の種別が特定されてから所定の時間の間に、前記注目情報が検出されたと判定された場合（ステップＳ３０２でＹＥＳ）は、ステップＳ３０３に進む。一方、直前に入力された操作の種別が特定されてから所定の時間の間に、前記注目情報が検出されていないと判定された場合（ステップＳ３０２でＮＯ）は、ステップＳ３０６に進む。
【００４８】
次にステップＳ３０３において、判定部１２２は、設定されている「入力開始領域」に含まれる位置から入力が開始されたか否かを判定する。判定部１２２は、検出部１２１が検出した注目情報のうち、新規検出フラグが「ＴＲＵＥ」である位置情報と、ステップＳ３０１において取得した、直前に入力された操作に関する情報のうち、「入力開始領域」の情報とを参照し、判定を行う。本実施形態では、一例として、「入力開始領域」は、直前に入力された操作の開始位置を中心とする半径５０ｄｏｔの円内であるとする。つまり、判定部１２２は、新規検出フラグが「ＴＲＵＥ」とされたタッチ位置が、直前に入力された操作の開始位置を中心とする半径５０ｄｏｔの円内に含まれているか否かを判定する。「入力開始領域」に含まれる位置から入力が開始されたと判定された場合（ステップＳ３０３でＹＥＳ）は、ステップＳ３０４に進む。一方、「入力開始領域」に含まれる位置から入力が開始されていないと判定された場合（ステップＳ３０３でＮＯ）は、ステップＳ３０６に進む。
【００４９】
ステップＳ３０４では、判定部１２２が、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定する。そして、直前に入力された操作と同じ種別の操作が繰り返されやすい、すなわち同じ種別の操作が繰り返される可能性が高いと判定されていることを示す情報をＲＡＭ１０４に保持する。例えば、繰り返し判定フラグを「ＴＲＵＥ」とする。
【００５０】
ステップＳ３０５では、判定部１２２がＲＡＭ１０４に保持している繰り返し回数の値をインクリメントし、メイン処理にリターンする。
【００５１】
一方、ステップＳ３０６では、判定部１２２が、ＲＡＭ１０４に保持している繰り返し回数の値を０とする。
【００５２】
ステップＳ３０７では、判定部１２２が、直前に入力された操作と同じ種別の操作であると特定するための条件となる基準値を初期化する。本実施形態では、操作の種別を特定するための条件とは、注目情報に基づいて取得される値が、操作の種別毎に設定される基準値を超えるという条件である。ステップＳ３０７では、この時点までに同じ種別の操作がこれまでに繰り返し行われており、ステップＳ２０４において条件を設定する処理（基準値を調整する処理）によって変更された基準値が設定されていたとしても、それを初期化する。すなわち、ＲＡＭ１０４上で基準値として設定されている情報を削除する。処理が完了したら、メインの処理にリターンする。
【００５３】
次に、図４（ａ）のフローチャートを参照して、ステップＳ２０４で実行される、繰り返し判定処理の詳細を説明する。
【００５４】
ステップＳ４０１では、条件設定部１２４が、直前に入力された操作の種別を取得する。本実施形態では、特定部１２５が、入力された操作の種別を特定したことに応じてＲＡＭ１０４に記憶した情報のうち、操作の種別を示す情報を読み出す。
【００５５】
ステップＳ４０２では、条件設定部１２４が、直前に入力された操作の種別と、繰り返し回数とに対応する基準値を設定する。本実施形態では、予め記憶部１２７に、各種別の操作が繰り返される場合に、その繰り返し回数に対応して調整される基準値の値を示す情報が記憶されている。図８（ａ）は、フリック操作の種別に関して、繰り返し回数と設定される基準値とが対応付けられた情報の一例である。例えば、繰り返し回数が１回の場合、フリック特定の基準値である単位時間あたりの移動量は「２０」となる。なお、単位は［ｄｏｔ／２０ｍｓ］に相当する。この場合は、注目情報から導かれるタッチ位置の単位時間あたりの移動量が２０ｄｏｔを超えた場合に、注目情報に基づいて入力される操作の種別はフリックと特定されることを意味する。また繰り返し回数が２回の場合、基準値は「１０」、繰り返し回数が３回以上続いた場合、基準値は「５」と設定される。つまり、繰り返し回数が多くなるほど、フリック特定の基準値は小さい値となり、フリックが特定され易くなる。
【００５６】
従って、条件設定部１２４は、記憶部１２７に記憶されている情報を参照し、ステップＳ４０１で特定された操作種別と、ステップＳ２０３の処理においてカウントされた繰り返し回数とに対応する基準値を読み出し、設定する。すなわち、基準値として特定部１２５に通知する。処理が完了したら、メインの処理にリターンする。
【００５７】
次に、図４（ｂ）のフローチャートを参照して、ステップＳ２０４で実行される、繰り返し判定処理の詳細を説明する。
【００５８】
なお、ここからはユーザが入力領域の１箇所を指でタッチしたまま動かすことで行うシングルタッチ操作の一例として、フリック操作が繰り返し入力される場合を想定する。つまり、ステップＳ４０１において、直前に入力された操作はフリックであると特定されたものとする。ただし、本実施形態は、フリック操作に限らず、入力情報が何らかの基準値を超えるか否かに基づいて操作種別が特定されるシングルタッチ操作が、繰り返し入力される場合に適応することが可能である。
【００５９】
図４（ｂ）は、直前に入力された操作がフリックと特定された場合に、ステップＳ２０４で実行される、繰り返し判定処理の一例である。本実施形態では、各種別の特定に用いられるフローチャートに示す処理は、予め記憶部１２７に記憶されており、直前に入力された操作が特定されたことに応じて読みだされ、実行される。
【００６０】
ステップＳ４１１では、特定部１２５が、検出部１２１が所定時間毎に検出する注目情報に基づいて、タッチ位置がリリースされたかを判定する。タッチ位置がリリースされたと判定された場合（ステップＳ４１１でＹＥＳ）には、ステップＳ４１２に進む。タッチ位置がリリースされていないと判定された場合（ステップＳ４１１でＮＯ）には、ステップＳ４１１を繰り返し、リリースされるのを待つ。
【００６１】
ステップＳ４１２では、特定部１２５が、ＲＡＭ１０４に保持されている注目情報に基づいて、最後に検出されていたタッチ位置について、タッチが開始されてからリリースされるまでの移動に関する情報を取得する。フリック操作の場合には、タッチ位置の単位時間あたりの移動量を示す情報を取得する。本実施形態では、まず、リリースフラグが「ＴＲＵＥ」であるＩＤのタッチ位置について、新規検出フラグが「ＴＲＵＥ」である位置情報と、最後に検出された位置を示す位置情報との間隔が、当該タッチ位置の移動距離として取得される。また、取得した移動距離を、新規検出フラグが「ＴＲＵＥ」である検出時刻と、最後に検出されたタッチ位置の検出時刻とから、入力にかかった時間が、移動時間として取得される。ただし、計算を簡単にするため、移動時間は、検出部１２１が注目情報の検出を行う所定の時間間隔を単位時間とするとよい。そして、移動距離を移動時間で割ることにより、単位時間あたりのタッチ位置の移動量が取得される。
【００６２】
ステップＳ４１３では、取得されたタッチが開始されてからリリースされるまでの単位時間あたりの移動量が、基準値を超えるか否かを判定する。このとき、ステップＳ４０２において、条件設定部１２４が基準値を設定していない場合には、記憶部１２７に記憶されている所定の基準値を読み出して使用する。ステップＳ４０２において、条件設定部１２４が基準値を設定した場合には、通知された基準値を使用する。単位時間あたりの移動量が基準値を超えると判定された場合（ステップＳ４１３でＹＥＳ）には、ステップＳ４１４に進む。一方で、単位時間あたりの移動量が基準値を超えないと判定された場合（ステップＳ４１３でＮＯ）には、メイン処理にリターンする。そして、メイン処理が終了する。
【００６３】
一方、ステップＳ４１４では、特定部１２５が、注目情報に基づいて入力された操作が、フリック操作であると特定する。
【００６４】
ステップＳ４１５では、表示制御手段１２８が、フリック操作に対応する処理を実行した結果を反映した表示画像を生成し、出力装置１１０に出力する。従って、フリック操作に応じて表示画像のスクロール、あるいは表示画像の切り替えなどの処理が実行され、ユーザにフィードバックされる。その際には、検出部１２１によってＲＡＭ１０４に保持されている注目情報を利用して、フリックの方向や操作量を特定し、出力に反映する。
【００６５】
ステップＳ４１６では、特定部１２５が、今回特定したフリック操作の情報を、直前に入力された操作に関する情報としてＲＡＭ１０４に保持する。本実施形態では、特定した操作の種別、種別の特定がなされた時刻、特定した操作が開始された位置等の情報を、直前に入力された操作に関する情報として保持する。
【００６６】
ステップＳ４１７では、領域設定部１２６が、タッチパネルディスプレイ１１１の入力領域上で、今回特定された操作と同じ種別の操作が入力され易い特定の範囲である「入力開始領域」を設定する。具体的には、ＲＡＭ１０４に保持されている注目情報のうち、新規検出フラグが「ＴＲＵＥ」である位置情報を取得し、その位置が含まれる範囲を特定する。例えば、取得したタッチ位置を中心とする半径が５０ｄｏｔの円を「入力開始領域」とする。そして、検出部１２１によってＲＡＭ１０４に蓄積されていた注目情報を初期化する。
【００６７】
ここで、図１０を参照して、直前に入力された操作が開始された位置の情報に基づいて設定される、「入力開始領域」の具体例を説明する。図１０（ａ）の領域１０００は、直前に入力された操作がフリックであった場合の、入力開始位置に基づいて設定された「入力開始領域」を表している。この「入力開始領域」の範囲は、直前に入力されたフリック操作の開始位置１００１から半径５０ｄｏｔの円内である。ただし、例えば直前に入力されたフリックの開始位置である位置１００１からＸ座標、Ｙ座標共に±５０ｄｏｔの範囲等の特定方法を用いてもよい。また、本実施形態では５０ｄｏｔとしているが、この値は自由に変更することが可能である。また、タッチパネルディスプレイ１１１の大きさに基づいて「入力開始領域」の大きさを決定するようにしてもよい。図１０（ａ）の場合、注目情報に基づいて入力される今回の操作の開始位置１００３は、領域１０００の内部に含まれる。従って、同じ種別の操作が繰り返される可能性は高いと考えられる（ステップＳ４０３でＹＥＳ）。一方、図１０（ｂ）では、注目情報に基づいて入力される今回の操作の開始位置１００３が領域１００の外から開始されている。従って、本実施形態では、同じ種別の操作が繰り返される可能性は低いとみなし、同じ種別の操作が繰り返されやすい状況にはないと判定する（ステップＳ４０３でＮＯ）。
【００６８】
以上が、本実施形態において、入力情報が何らかの基準値を超えるか否かに基づいて操作種別が特定されるタッチ操作が、繰り返し入力されやすい状況にあるかを判定した上でタッチ操作の種別を特定する処理である。
【００６９】
なお、本実施形態では繰り返し回数に応じて基準値を段階的に異ならせたが、これは一例であり、これに限らない。例えば、前回にフリックと判定された時間から次の入力が開始されるまでの時間に応じてフリック特定の基準値を調整してもよい。この場合、前回からの経過時間が短いほど次回もフリックが行われる可能性が高いと判断し、フリック特定の基準値を小さい値に調整する。
【００７０】
また、本実施形態の判定部１２２は、直前に入力された操作の種別が特定されてから直ぐに次の入力が開始されたかを判定する処理と、入力開始領域で次の入力が開始されたかを判定する処理との２段階の判定を行った。ただし、新たに入力される操作が、入力開始領域内から開始されたかを判定する処理は省略も可能である。一般的に、同じ種別の操作を繰り返すことでユーザの入力が雑になる傾向が生じる理由は、操作と操作の間隔が短いために、高速で指を動かすためである可能性が高い。従って、少なくとも、直前に入力された操作の種別が特定されてから直ぐに次の入力が開始されたかを判定する処理を行うことで、操作が繰り返されることでユーザの入力が雑となり、タッチ位置の移動量が不十分になるなどの課題は解決することができる。ただし、入力開始領域で次の入力が開始されたかを判定する処理を加えることで、より精度の良い判定が可能となる。ユーザが、直前の操作の直後に、直前の操作と開始位置に指を戻すという行為を行った場合、同じ種別の操作を繰り返す可能性が高いと考えられるためである。
【００７１】
なお、第１の実施形態は、フリック操作が繰り返されることを例に挙げて説明した。フリック操作は、シングルタッチ操作の中でも、特に繰り返し入力される場面が多い。本実施形態は、このように、特に課題が生じやすい操作に対してのみ、実行されるようにしてもよい。その場合には、例えば、繰り返し判定処理に、操作種別毎に適切な判定ステップを加えることも可能となる。例えば、フリック操作の場合、同じフリック操作であっても、入力の方向が異なれば、異なる処理の表示コマンドに対応付けられている場合がある。従って、ステップＳ３０３の後に、判定部１２２によって、注目情報に基づいて、入力されている操作の方向を取得し、直前に入力された操作の入力方向と略同一な方向の入力か否かを判定する処理ステップを加える。こうすることで、例えば右向きのフリック、左向きのフリックを区別した上で、直前に入力された操作と同じ種別の操作が繰り返されるかをより精度良く判定することができる。ただし、注目情報に基づいて新たに入力される操作の入力方向を算出するためには、少なくとも２点分の位置情報を検出している必要がある。
【００７２】
例えば、上述した図１０（ａ）のように、位置１００１から位置１００２に向かう直前に入力されたフリック操作の方向と、位置１００３から位置１００４に向かう注目情報に基づいて入力された操作の方向との角度の差が、所定の角度以内かを判定する。所定の角度を４５°とすると、角度の差が４５°以内であれば、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定するステップＳ３０４に進む。角度の差が４５°を超えていれば、ステップＳ３０７に進む。なお、入力の方向の算出は、注目情報に含まれる２点のタッチ位置の座標情報と、アークタンジェントを用いて行う。タッチパネルディスプレイ１１１に触れた際の座標（Ｘ１、Ｙ１）、離す直前の座標（Ｘ２、Ｙ２）とすると、ＴＡＮθ＝（Ｙ２−Ｙ１）／（Ｘ２−Ｘ１）を計算し、入力方向であるθを算出する。ここで、Ｙ２−Ｙ１の値が負である場合は、Ｙ軸に対して負の方向にユーザ操作が行われている為、入力方向に１８０°を加算する。
【００７３】
入力方向の算出の具体例について図１０（ａ）を例にして説明する。図１０（ａ）は、ユーザ操作の一例を示す図である。位置１００３は入力の開始位置を表しており、位置１００４は終了位置を表している。例えば、位置１００３の座標が（１００、５００）、位置１００４の座標が（３００、５００）であった場合、ＴＡＮθ＝（５００−５００）／（３００−１００）＝０となり、θ＝０°となる。つまり、この場合入力方向は０°と求められる。ここで、図１０（ｃ）は４５°以内で入力されていない場合の一例である。位置１００７は入力の開始位置を表し、位置１００８は終了位置を表している。例えば、位置１００７の座標が（１００，５００）、位置１００８の座標が（２００、８００）であった場合、ＴＡＮθ＝（８００−５００）／（２００−１００）＝３となり、θ＝７１°となる。つまり、この場合、入力方向は７１°である。また、上述した通り前回のフリックである位置１００１から位置１００２の入力方向は０°である。従って、０°から７１°と前回のフリックの方向から４５°を超えた入力方向である為、同一な方向の入力ではないと判定する。
【００７４】
このように、例えば同じフリックでも方向が異なるなど、区別することが求められる操作種別に適切な判定処理を加えることで、より精度良く判定を行うことができる。
【００７５】
本実施形態では、操作の開始の検出時刻、入力開始位置、入力方向を使って、同じ種別の操作が繰り返されやすい状況にあるか否かを判定する例を示した。操作の開始の検出時刻、入力開始位置を用いる場合、新たな注目情報を取得した段階で、速やかに判定処理を行うことができる。ただし、判定方法はこれらに限らない。例えば、直前に入力された操作との入力スピードの差が所定の範囲内であれば、同じ種別の操作が繰り返される可能性が高いとみなすこともできる。また、直前に入力された操作よりも前の操作の開始時刻を取得し、一定の時間間隔で入力が開始されていれば、同じ種別の操作が繰り返される可能性が高いとみなすこともできる。
【００７６】
このように、第１の実施形態では、直前に入力された操作と同じ種別の操作が繰り返し入力される可能性が高いとみなされる状況では、直前に入力された操作と同じ種別の操作を特定するための条件を異ならせる。それにより、繰り返し入力される可能性が低いとみなされる場合よりも、入力された操作が直前に入力された操作と同じ種別の操作であると特定されやすくなる。従って、ユーザが操作を繰り返すうちに入力が雑になり、移動量が不十分になったとしても、ユーザの意図に沿った操作が認識され易くなる。つまり、ユーザにとっての誤動作を軽減することができる。特に本実施形態では、同じ種別の操作が繰り返された回数に応じて、条件の厳しさ（基準値の大きさ）を変化させるので、繰り返し回数が多くなり、入力が雑になり易いほど、入力された操作が直前に入力された操作と同じ種別の操作であると特定され易くなる。また、直前に入力された操作と同じ種別の操作を特定する条件が満たされない場合には、通常通り他の操作が入力されたことが特定される所定の条件が満たされることに応じ、直前に入力された操作以外の様々な操作に対応する処理が実行される。
【００７７】
次に、第１の実施形態に適応することが可能な変形例を説明する。
【００７８】
＜変形例１＞
第１の実施形態では、同じ種別の操作が繰り返された回数に応じて、次に入力される操作が、直前に入力された操作と同じ種別の操作であると特定されるための基準を異ならせた。
【００７９】
それに対し、変形例１では、繰り返し回数が一定回数を超えた場合、操作種別を特定する。つまり、同じ種別の操作が繰り返されやすいと判定された時点で、直前に入力された操作と同じ種別の操作に対応する処理の実行を開始する。以下では、第１の実施形態と同様に、フリック操作が繰り返される場合を例にして説明する。
【００８０】
変形例１における、ハードウェアの構成は、第１の実施形態の図１（ａ）と同様である。また、機能構成も判定部１２２と特定部１２５の処理内容を除いて同様であるため、異なる点のみを説明する。
【００８１】
変形例１の判定部１２２は、第１の実施形態における処理に加えて、更に、直前に入力された操作と同じ種別の操作が繰り返されやすい状況にあると判定した場合には、同じ種別の繰り返し回数が所定の回数以上であるかを判定する。そして、所定の回数以上である場合には、同じ種別の操作が繰り返されるそれを特定部１２５に通知する。
【００８２】
変形例１の特定部１２５は、判定部１２２から、同じ種別の繰り返し回数が所定の回数以上であるという通知を受けた場合、注目情報に基づいて取得される情報が条件を満たすか否かの判定を省略して、入力された操作を直前と同じ種別の操作であると特定する。
【００８３】
変形例１の情報処理装置も、基本的には、第１の実施形態と同様、図２（ａ）のフローチャートに従ってメイン処理を実行する。
【００８４】
ただし、繰り返し判定処理（ステップＳ２０２）において、判定部１２２が、繰り返し回数をインクリメントした後、更に、同じ種別の繰り返し回数が所定の回数以上であるか否かを判定する処理を加える。そして、繰り返し回数が所定の回数以上であると判定された場合には、ＲＡＭ１０４において多回数連続フラグを「ＴＲＵＥ」としてメイン処理にリターンする。特定部１２５は、多回数連続フラグを参照することで、判定結果を取得することができる。一方、繰り返し回数が所定の回数以上ではないと判定された場合には、そのままメイン処理にリターンする。
【００８５】
そして、特定部１２５は、ステップＳ４１２において、タッチ位置の移動に関する情報を取得する前に、ＲＡＭ１０４を参照し、多回数連続フラグが「ＴＲＵＥ」か否かを判定する。多回数連続フラグが「ＴＲＵＥ」である場合には、ステップＳ４１２、ステップＳ４１３の処理を省略し、ステップＳ４１４において、入力された操作はフリック操作であると特定する。以下の処理は、第１の実施形態に準ずる。
【００８６】
例えば、所定の繰り返し回数が４回であるとすると、変形例１により、ユーザが既に４回フリックを繰り返した後、５回目からは直前のフリックの終了後直ぐ、直前のフリックの開始位置付近をタッチした段階で、フリックが入力されたことが特定される。ここでは一例として、繰り返し回数が４回以上であるかどうかを判定したが、これは一例であり、これに限らない。
【００８７】
変形例１によれば、同じ種別の操作が多回数繰り返されている場合は、ユーザがタッチを開始した時点で情報処理装置からのフィードバックが行われる。例えば、フリックを繰り返す場合には、途中からはタップ（タッチパネル上をタッチして移動させずに離す）だけで、フリックと同じ結果を得ることができるため、より容易な操作が可能となる。そしてより速やかに、所望とする結果を得ることができる。
【００８８】
＜変形例２＞
第１の実施形態では、直前に入力された操作が開始された位置に基づいて「入力開始領域」を設定し、新たな操作の入力が「入力開始領域」に含まれる位置から開始されたか否かを判定した。また、右方向のフリック、左方向のフリック等を区別する必要がある場合には、同じ種別の操作が繰り返されやすい状況にあると判定する判断要素の１つとして、入力方向が類似するか否かを判断した。
【００８９】
それに対し、変形例２では、直前に入力された操作が終了された位置に基づいて「入力開始領域」を設定し、新たな操作の入力が「入力開始領域」に含まれる位置から開始されたか否かを判定する。これは、ユーザが逆方向の操作を交互に繰り返すことを想定した場合、ユーザは直前の操作を終了した位置から次の操作を開始する傾向があるためである。以下では、第１の実施形態と同様に、フリック操作が繰り返される場合例にして説明する。
【００９０】
変形例２における、ハードウェアの構成は、第１の実施形態の図１（ａ）と同様である。また、機能構成も領域設定部１２６の処理内容を除いて同様であるため、異なる点のみを説明する。
【００９１】
変形例２の領域設定部１２６は、特定部１２５によって、注目座標に基づいて入力された操作の種別が特定されたことに応じて、当該操作が終了した位置を含む特定の範囲を「入力開始領域」として設定する。具体的には、ＲＡＭ１０４に保持されている注目情報のうち、最後に検出されたタッチ位置を含む範囲を特定する。
【００９２】
変形例２の情報処理装置１００が実行する処理は、第１の実施形態について説明した各フローチャートの処理に準ずるため、説明を省略する。
【００９３】
ここで、図１０（ｄ）を用いて、変形例２における「入力開始領域」の具体例を説明する。図１０（ｄ）の位置１００１、位置１００２は、図１０及び図１０（ｃ）と同様、直前に入力されたフリックの開始位置と終了位置を示している。領域１００９は、変形例２の領域設定部１２６によって設定される「入力開始領域」である。このように、変形例２の「入力開始領域」は、直前に入力されたフリックに終了位置（ユーザの指がリリースされた位置）である位置１００４から半径５０ｄｏｔの円が示す領域となる。また、第１の実施形態と同様に、一定の範囲を終了座標から半径５０ｄｏｔの円状の範囲としているがこれに限らない。例えば、終了座標からＸ座標、Ｙ座標共に±５０ｄｏｔの範囲としてもよい。また、本実施形態では５０ｄｏｔとしているが、この値は自由に変更することが可能である。また、タッチパネルディスプレイ１１１の大きさ等から「入力開始領域」の大きさを決めてもよい。
【００９４】
以上のように、変形例２では、逆方向の操作が交互に繰り返し入力される場面において、繰り返されやすいかを判定するため、直前に入力された操作の終了位置に基づいて「入力開始領域」を設定する。ただし、直前に入力された操作の終了位置を利用するのは一例である。例えば、第１の実施形態のように、直前に入力された操作の開始位置に基づいて定まる「入力開始領域」を、直前に入力された操作の操作方向側に拡張するような処理を行ってもよい。また、その際、操作のスピードに応じて拡張させる範囲の大きさ、あるいは最初に設定される領域の大きさを変更してもよい。
【００９５】
変形例２により、ユーザが逆方向の操作を交互に繰り返すうちに入力が雑になり、移動量が不十分になったとしても、意図に沿った操作が認識され易くなる。
【００９６】
＜変形例３＞
「入力開始領域」を設定するため、第１の実施形態では、直前に入力された操作の開始位置、第１の実施形態の変形例２では、直前に入力された操作の終了位置を利用した。ただし、「入力開始領域」を設定する基準となる位置情報は、これらに限らない。例えば、繰り返し入力されている同じ種別の操作が開始された位置の平均座標に基づいて「入力開始領域」を設定することもできる。また例えば、連続操作された２回分の操作の入力開始位置の差分から判定領域を設定してもよい。
【００９７】
例えばスクロール等により表示画像の内容が変わった場合、表示画像の内容（例えばブラウザであればハイパーリンクの位置）などの影響で、フリックのためのタッチ入力を開始することができない部分が生じることがある。変形例３のように、既に何度か繰り返された操作の情報を使って「入力開始領域」を設定すれば、ユーザが操作を開始する位置を変動させても、その誤差を吸収した判断が可能になる。
【００９８】
＜第２の実施形態＞
本実施形態においてもタッチ操作を認識可能な情報処理装置１００に対して、入力情報が何らかの基準値を超えるか否かに基づいて操作種別が特定されるタッチ操作が、繰り返し入力されやすいことを判定した上でタッチ操作の種別を特定する例を説明する。ただし、第２の実施形態では、シングルタッチ操作に加えて、ユーザが入力領域の複数個所を同時にタッチしたまま動かすことで行うマルチタッチ操作が繰り返される場合を考慮した例を示す。入力情報が何らかの基準値を超えるか否かに基づいて操作種別が特定されるマルチタッチ操作とは、例えばマルチドラッグ、ピンチ、ローテート等と呼ばれるものがある。ここでマルチドラッグとは、２点のタッチ位置が同時に平行移動される（２点のタッチ位置の間の距離が一定に保たれたまま、同方向に移動される）移動距離が、所定の基準値を超えたことによって特定される。マルチドラッグは、例えばディスプレイに表示される表示画像を、特定の画像に変更させる処理に対する指示操作とされる。また、ピンチとは、２点のタッチ位置の間の距離の変化量が、所定の基準値を超えることに応じて特定される。ピンチは、例えば２点間の距離の変化量に応じて、ディスプレイに表示される表示画像を拡大（あるいは縮小）させる処理に対する指示操作とされる。また、ローテートは、２点のタッチ位置結ぶ直線がなす角度の、タッチ位置の移動前後での変化量が、所定の基準値を超えることに応じて特定される。ローテートは、例えば角度の変化量に応じて、ディスプレイに表示される表示画像を回転させる処理に対する指示操作とされる。第２の実施形態では、マルチタッチ操作を繰り返し入力することで、ユーザの入力が雑となり、タッチ位置の移動量等が不十分となってしまう課題を鑑み、同じ種別のマルチタッチ操作が繰り返されやすい状況かを判定した場合に条件を変化させ操作の種別を特定する。
【００９９】
第２の実施形態における、ハードウェアの構成は、第１の実施形態の図１（ａ）と同様である。ただし、タッチパネルディスプレイ１１１は、複数のタッチ位置の入力を同時に検出可能であり、上述したように、ＩＤを利用して複数のタッチを識別するものである。
【０１００】
第２の実施形態の情報処理装置１００の機能構成は判定部１２２と領域設定部１２６の処理内容を除いて同様であるため、異なる点のみを説明する。
【０１０１】
変形例２の判定部１２２も、第１の実施形態と同様に、直前に入力された操作の種別が特定されてから直ぐに次の入力が開始されたかを判定する処理と、入力開始領域で次の入力が開始されたかを判定する処理との２段階の判定を行う。ただし、直前に入力された操作がマルチタッチ操作であった場合には、入力開始領域で次の入力が開始されたかを判定する処理において、複数設定されている「入力開始領域」のそれぞれが、次の入力の開始位置を少なくとも１つ含むことを判定する。
【０１０２】
変形例２の領域設定部１２６は、特定部１２５により、入力されたマルチタッチ操作の種別が特定された場合には、当該マルチタッチ操作に使用された複数のタッチ位置の全てについて、入力開始位置を含む所定の範囲を「入力開始領域」として設定する。そして、各「入力開始領域」の範囲を示す情報を識別可能なＩＤと関連付けてＲＡＭ１０４に保持する。
【０１０３】
ここで検出部１２１によって検出されるタッチ位置のＩＤは、タッチ位置が検出された順番に対応付けられている。例えば、ユーザが直前に人差し指と中指を使用してマルチタッチ操作を入力した時、人差し指によってタッチされた位置がＩＤ＝１、中指によってタッチされた位置入力がＩＤ＝２と検出されたとする。しかし、ユーザが次に同じ種別の操作を入力しようとしても、必ずしも同じ順番でタッチ位置が検出されるとは限らない。つまり、２回目には、中指によってタッチされた位置入力がＩＤ＝１、人差し指によってタッチされた位置がＩＤ＝２と検出されることもある。従って、マルチタッチ操作が繰り返されやすい状況にあるかを判定する場合には、タッチ位置のＩＤに関わらず、直前のマルチタッチ操作の複数のタッチ開始位置に基づく「入力開始領域」のいずれかに含まれることが条件となる。
【０１０４】
第２の実施形態の情報処理装置も、基本的には、第１の実施形態と同様、図２（ａ）のフローチャートに従ってメイン処理を実行する。
【０１０５】
ただし、繰り返し判定処理（ステップＳ２０２）においては、図５に示すフローチャートが呼び出され、処理される。
【０１０６】
図５のフローチャートを参照して、第２の実施形態において実行される繰り返し判定処理を説明する。
【０１０７】
まず、ステップＳ５０１では、判定部１２２が、直前に入力された操作に関する情報を、ＲＡＭ１０４から読み出して取得する。図３のフローチャートのステップＳ３０１と同じ処理に当たる。
【０１０８】
ステップＳ５０２では、判定部１２２が、取得した情報に基づいて、直前に入力された操作はマルチタッチ操作であったかを判定する。直前に入力された操作はマルチタッチ操作であったと判定された場合（ステップＳ５０２でＹＥＳ）には、ステップＳ５０３に進む。直前に入力された操作はマルチタッチ操作ではない、すなわちシングルタッチ操作であると判定された場合（ステップＳ５０２でＮＯ）には、ステップＳ５０５に進む。
【０１０９】
ステップＳ５０３では、判定部１２２が、検出されているタッチ位置は複数か否かを判定する。本実施形態では、検出部１２１がＲＡＭ１０４に保持している注目情報のうち、タッチ位置のＩＤの情報を参照することで、検出されているタッチ位置がいくつであるかがわかる。従って、判定部１２２はＲＡＭ１０４の情報を参照して判定を行う。検出されているタッチ位置は複数であると判定される（ステップＳ５０３でＹＥＳ）には、ステップＳ５０４に進む。検出されているタッチ位置は複数ではないと判定された場合には、ステップＳ５０６に進む。なお、検出されているタッチ位置が複数ではないと判定するのは、１点目のタッチ位置が検出されてから一定時間の間に２点目のタッチ位置が検出されない場合とする。一定時間以内の間であれば、２点目の入力を待つ。
【０１１０】
ステップＳ５０４では、直前に入力されたマルチタッチ操作と同じ操作が繰り返されやすい状況下を判定する処理が実行される。詳細な内容は図６のフローチャートを用いて後述する。
【０１１１】
ステップＳ５０５では、直前に入力されたシングルタッチ操作と同じ操作が繰り返されやすい状況下を判定する処理が実行される。ステップＳ５０５では、上述した図３のフローチャートに従って、処理が実行される。ここでは説明を省略する。
【０１１２】
一方、処理がステップＳ５０６に進んでいる場合、直前に入力された操作がマルチタッチ操作であるのに対し、検出されているタッチ位置は１つである。つまり、シングルタッチ操作である可能性が高く、マルチタッチ操作が繰り返される可能性は低いと考えられる。従って、ステップＳ５０６において、判定部１２２はＲＡＭ１０４に保持している繰り返し回数の値を０とする。そして、ステップＳ５０７では、判定部１２２が、直前に入力された操作と同じ種別の操作であると特定するための条件となる基準値を初期化する。ステップＳ５０６とステップＳ５０７で実行される処理は、図３のフローチャートのステップＳ３０６とステップＳ３０７で実行される処理と同じである。
【０１１３】
次に、図６のフローチャートを参照して、ステップＳ５０４で実行される、マルチタッチ操作の繰り返し判定処理の詳細を説明する。ただし、第１の実施形態で説明したシングルタッチ操作の繰り返し判定処理と同じ処理ステップに関しては同じ番号を付し、詳細な説明は省略する。
【０１１４】
マルチタッチ操作の場合でも、注目情報の入力が、直前に入力された操作の終了後直ぐに入力され、かつ、直前に入力された操作が開始された位置から開始された入力であるとみなせる場合に、直前に入力された操作と同じ種別の操作が繰り返されやすいと判定する。従って、少なくとも、新たに入力される操作が開始された最初のタッチ位置に関する情報が注目情報として検出された段階で推判定処理を開始することができる。
【０１１５】
第２の実施形態では、ステップＳ５０１において、直前に入力された操作に関する情報が取得されている。従って、マルチタッチ操作の判定処理では、まずステップＳ３０２において、判定部１２２が、直前に入力された操作の種別が特定されてから所定の時間の間に、前記注目情報が検出されたか否かを判定する。直前に入力された操作の種別が特定されてから所定の時間の間に、注目情報が検出されたと判定された場合（ステップＳ３０２でＹＥＳ）は、ステップＳ６０１に進む。一方、直前に入力された操作の種別が特定されてから所定の時間の間に、前記注目情報が検出されていないと判定された場合（ステップＳ３０２でＮＯ）は、ステップＳ３０６に進む。
【０１１６】
ステップＳ６０１では、判定部１２２が、検出部１２１によって検出されている複数のタッチ位置のうち、１つのタッチ位置を選択する。本実施形態では、ＲＡＭ１０４に保持されている注目情報のうち、タッチ位置を識別するＩＤを１つ選択する。ただし、ステップＳ６０２の処理が実行されるのが２回目以降の場合には、前回までに選択されていないＩＤのうちから１つを選択する。
【０１１７】
ステップＳ６０２では、判定部１２２が、選択したタッチ位置の入力は、入力開始領域のいずれかで入力が開始されたか否かを判定する。本実施形態では、まず、選択されたＩＤに関連付けられてＲＡＭ１０４に保持されている情報のうち、検出開始フラグが「ＴＲＵＥ」であるタッチ位置の座標情報を取得する。そして、領域設定部１２６が設定した複数の「入力開始領域」のうちのいずれかに含まれる位置を示すか否かを判定する。選択したタッチ位置の入力は、入力開始領域のいずれかで入力が開始されたと判定された場合（ステップＳ６０２でＹＥＳ）は、ステップＳ６０３に進む。一方、選択したタッチ位置の入力は、入力開始領域のいずれかで入力が開始されていないと判定された場合（ステップＳ６０２でＮＯ）は、ステップＳ３０６に進む。
【０１１８】
ステップＳ６０３では、判定部１２２が、選択されたタッチ位置と、当該タッチ位置の入力が開始された「入力開始領域」とを対応付けてＲＡＭ１０４に情報を保持する。本実施形態では、タッチ位置と「入力開始領域」とにそれぞれＩＤが付与されているため、ＩＤ同士を対応付ける。なお、複数の「入力開始領域」は、互いに重なる場合があるため、必ずしも１対１の関係に対応づけられるとは限らない。１つのタッチ位置について、複数の「入力開始領域」が対応づけられる場合もある。
【０１１９】
ステップＳ６０４では、判定部１２２が、検出されている全てのタッチ位置についてステップＳ６０２の判定処理が終了したか否かを判定する。全てのタッチ位置についてステップＳ６０２の判定処理が終了したと判定された場合（ステップＳ６０４でＹＥＳ）は、ステップＳ６０５に進む。一方、選択したタッチ位置の入力は、全てのタッチ位置についてステップＳ６０２の判定処理が終了していないと判定された場合（ステップＳ６０４でＮＯ）は、ステップＳ６０１に戻って処理を繰り返す。
【０１２０】
ステップＳ６０５では、判定部１２２が、全ての入力開始領域に少なくとも１つのタッチ位置が対応付けられているかを判定する。同じ種別のマルチタッチ操作が繰り返されやすいかを判定するためには、全ての「入力開始領域」において、少なくとも１つのタッチ位置の入力が開始されている必要がある。「入力開始領域」のうちに１つでも、その中から入力が開始されるタッチ位置が無い領域が存在する場合は、直前に入力されたマルチタッチ操作と、新たに入力が開始されたマルチタッチ操作の開始位置は大きく異なることを意味するからである。従って、直前に入力されたマルチタッチ操作と同じ種別の操作が繰り返されやすいと判定するため、本実施形態では、全ての入力開始領域に少なくとも１つのタッチ位置が対応付けられているかを、ＲＡＭ１０４に保持された対応付け情報を参照して、判定する。全ての入力開始領域に少なくとも１つのタッチ位置が対応付けられていると判定された場合（ステップＳ６０５でＹＥＳ）は、ステップＳ３０４に進む。一方、全ての入力開始領域に少なくとも１つのタッチ位置が対応付けられてないと判定された場合（ステップＳ６０５でＮＯ）は、ステップＳ３０６に戻って処理を繰り返す。
【０１２１】
ステップＳ３０４〜ステップＳ３０７において実行される処理は、第１の実施形態と同じため、説明は省略する。処理が完了したら、メインの処理にリターンする。
【０１２２】
第２の実施形態においても、繰り返し判定結果に応じて、操作の種別を特定する条件を設定する処理（ステップＳ２０４）は、図４（ａ）に示すフローチャートが呼び出され、処理される。ここからは、ステップＳ４０１において特定される直前に入力された操作の種別毎に説明する。
【０１２３】
（マルチドラッグの場合）
まず、ステップＳ４０１において、直前に入力された操作はマルチドラッグであると特定されたものとする。この場合、ステップＳ４０２では、マルチドラッグ操作に関して、繰り返し回数に対応する基準値が設定される。図８（ｂ）は、マルチドラッグ操作の種別に関して、繰り返し回数と設定される基準値とが対応付けられた情報の一例である。マルチドラッグ操作が特定されるための所定の条件は、２つのタッチ位置の間の距離が略一定のまま移動した移動距離が、所定の基準値を超えることである。例えば、繰り返し回数が１回の場合、マルチドラッグ操作が特定されるための基準値である移動距離は「２０」となる。なお、単位は［ｄｏｔ］に相当する。この場合は、注目情報から導かれるタッチ位置の移動距離が２０ｄｏｔを超えた場合に、注目情報に基づいて入力される操作の種別はマルチドラッグと特定されることを意味する。また繰り返し回数が２回の場合、基準値は「１０」、繰り返し回数が３回以上続いた場合、基準値は「５」と設定される。つまり、繰り返し回数が多くなるほど、マルチドラッグ操作が特定されるための基準値は小さい値となり、マルチドラッグが特定され易くなる。
【０１２４】
ここからは、直前に入力された操作はマルチドラッグであるとして、以降の処理（ステップＳ２０５、ステップＳ２０６）を説明する。図７は、入力された操作が、マルチドラッグ操作が繰り返し入力されることを特定する処理の一例を示すフローチャートである。
【０１２５】
ステップＳ７０１では、特定部１２５が、２つのタッチ位置のタッチ開始から移動に関する情報を取得する。本実施形態では、検出部１２１がＲＡＭ１０４に蓄積している注目情報のうち、２つのタッチ位置が移動した移動距離と、移動前後における２つのタッチ位置の間の距離の情報を取得する。なお、検出部１２１によって検出されているタッチ位置が３つ以上であった場合には、そのうち検出時刻が早い２つについての情報を取得するとする。
【０１２６】
ステップＳ７０２では、特定部１２５が、取得された情報に基づいて、２点間の距離が略一定のまま移動した移動距離が基準値を超えるかを判定する。このとき、ステップＳ４０２において、条件設定部１２４が基準値を設定していない場合には、記憶部１２７に記憶されている所定の基準値を読み出して使用する。ステップＳ４０２において、条件設定部１２４が基準値を設定した場合には、通知された基準値を使用する。単位時間あたりの移動量が基準値を超えると判定された場合（ステップＳ７０２でＹＥＳ）には、ステップＳ７０３に進む。一方で、単位時間あたりの移動量が基準値を超えないと判定された場合（ステップＳ７０２でＮＯ）には、メイン処理にリターンする。そして、メイン処理が終了する。
【０１２７】
ステップＳ７０３では、特定部１２５が、注目情報に基づいて入力された操作が、マルチドラッグ操作であると特定する。
【０１２８】
ステップＳ７０４では、表示制御手段１２８が、マルチドラッグ操作に対応する処理を実行した結果を反映した表示画像を生成し、出力装置１１０に出力する。例えば、特定の法則に従って表示画像が変更され、ユーザにフィードバックされる。その際には、検出部１２１によってＲＡＭ１０４に保持されている注目情報を利用して、マルチドラッグの方向や操作量を特定し、出力に反映する。
【０１２９】
ステップＳ７０５では、特定部１２５が、検出部１２１が所定時間毎に検出する注目情報に基づいて、タッチ位置がリリースされたかを判定する。タッチ位置がリリースされたと判定された場合（ステップＳ７０５でＹＥＳ）には、ステップＳ７０６に進む。タッチ位置がリリースされていないと判定された場合（ステップＳ７０５でＮＯ）には、ステップＳ７０４に戻り、タッチ位置がリリースされるまで、マルチドラッグに対応する処理を実行し続ける。
【０１３０】
ステップＳ７０６では、特定部１２５が、今回特定したマルチドラッグ操作の情報を、直前に入力された操作に関する情報としてＲＡＭ１０４に保持する。本実施形態では、特定した操作の種別、種別の特定がなされた時刻、特定した操作が開始された複数のタッチ位置等の情報を、直前に入力された操作に関する情報として保持する。
【０１３１】
ステップＳ７０７では、領域設定部１２６が、タッチパネルディスプレイ１１１の入力領域上で、今回特定された操作と同じ種別の操作が入力され易い特定の範囲である「入力開始領域」を設定する。その際、複数のタッチ位置のそれぞれに基づいて、複数の「入力開始領域」を設定する。具体的には、ＲＡＭ１０４保持されている注目情報のうち、新規検出フラグが「ＴＲＵＥ」である２つの位置情報を取得し、それぞれの位置が含まれる２つの領域を特定する。例えば、各タッチ位置を中心とする半径が５０ｄｏｔの円を「入力開始領域」とする。そして、検出部１２１によってＲＡＭ１０４に蓄積されていた注目情報を初期化する。
【０１３２】
ここで、図１１（ａ）を参照して、直前に入力されたマルチタッチ操作が開始された位置の情報に基づいて設定される、「入力開始領域」の具体例を説明する。図１１（ａ）の位置１１０２はＩＤ＝１のタッチ位置の入力開始位置、位置１１０３はＩＤ＝２のタッチ位置の入力開始位置を表している。図１１では、ＩＤ＝１のタッチ位置を黒い丸、ＩＤ＝２のタッチ位置を黒い星型で表現する。位置１１０４、位置１１０５はそれぞれのタッチ位置が移動したことにより、入力操作がマルチドラッグと特定された時点のタッチを表している。また、領域１１００は位置１１０２に基づいて設定された「第１の入力開始領域」を表しており、領域１１０１は位置１１０３に基づいて設定された「第２の入力開始領域」を表している。各「入力開始領域」は、タッチ入力の開始位置を中心とする半径５０ｄｏｔの領域として定められている。ただし、第１の実施形態と同様、半径５０ｄｏｔの円に限らず他の方法で領域を定めてもよい。
【０１３３】
図１１（ｂ）〜（ｄ）は、図１１（ａ）に示したマルチドラッグ操作の種別が特定された後、次に入力されたマルチタッチの開始位置を示す。
【０１３４】
図１１（ｂ）では、ＩＤ＝１のタッチ位置１１０６が「第１の入力開始領域」内から開始されている、ＩＤ＝２のタッチ位置１１０７が「第２の入力開始領域」内から開始されている。また、図１１（ｃ）では、ＩＤ＝１のタッチ位置１１０９が「第２の入力開始領域」内から開始されている、ＩＤ＝２のタッチ位置１１０８が「第１の入力開始領域」内から開始されている。図１１（ｂ）と（ｃ）の場合はいずれも、各タッチ位置がいずれかの「入力開始領域」に含まれ、かつ、全ての「入力開始領域」に少なくとも１つのタッチ位置が対応するので、直前に入力されたマルチタッチ操作と同じ種別の操作が繰り返されやすいと判定される。
【０１３５】
図１１（ｄ）の場合は、ＩＤ＝２のタッチ位置１１１１は「第２の入力開始領域」内から開始されているが、ＩＤ＝１のタッチ位置の入力開始位置１１１０が「第１の入力開始領域」の外から開始している。従って、判定部１２２により、同じ種別の操作が繰り返されやすい状況にはないと判定される。
【０１３６】
以上、マルチドラッグを例に挙げて、マルチタッチ操作が繰り返し入力されやすい状況にあると判定した上で、入力される操作が繰り返されている操作と同じ種別の操作であると特定するための条件を制御する処理を説明した。
【０１３７】
（ピンチの場合）
次に、ステップＳ４０１において、直前に入力された操作はピンチであると特定された場合を説明する。この場合、ステップＳ４０２では、ピンチ操作に関して、繰り返し回数に対応する基準値が設定される。図８（ｃ）は、ピンチ操作の種別に関して、繰り返し回数と設定される基準値とが対応付けられた情報の一例である。ピンチ操作が特定されるための所定の条件は、２点のタッチ位置の間の距離の変化量が、所定の基準値を超えることである。例えば、繰り返し回数が１回の場合、ピンチ操作が特定されるための基準値である２点のタッチ位置の間の距離の変化量は「２０」となる。なお、単位は［ｄｏｔ］に相当する。この場合は、注目情報から導かれる２点のタッチ位置の間の距離の変化量が２０ｄｏｔを超えた場合に、注目情報に基づいて入力される操作の種別はピンチと特定されることを意味する。ピンチの場合も、フリック、マルチドラッグと同様、繰り返し回数が多くなるほど、ピンチ操作が特定されるための基準値は小さい値となり、ピンチが特定され易くなる。
【０１３８】
ここからは、直前に入力された操作はピンチであるとして、以降の処理（ステップＳ２０５、ステップＳ２０６）を図８（ａ）のフローチャートを参照して説明する。ただし、マルチドラッグの場合の図７に準じる処理に関しては説明を省略する。
【０１３９】
図８（ａ）のフローチャートでは、ステップＳ７０１において、移動に関する情報として２点のタッチ位置の間の距離の変化量を取得する。
【０１４０】
そして、ステップＳ８０１では、特定部１２５が、２点間の距離の変化量が基準値を超えるかを判定する。２点間の距離の変化量が基準値を超えると判定された場合（ステップＳ８０１でＹＥＳ）には、ステップＳ８０２に進む。一方で、２点間の距離の変化量が基準値を超えないと判定された場合（ステップＳ８０１でＮＯ）には、メイン処理にリターンする。そして、メイン処理が終了する。
【０１４１】
ステップＳ８０２では、特定部１２５が、注目情報に基づいて入力された操作が、ピンチ操作であると特定する。
【０１４２】
ステップＳ８０３では、表示制御手段１２８が、ピンチ操作に対応する処理を実行した結果を反映した表示画像を生成し、出力装置１１０に出力する。例えば、２点間の距離の変化量に応じて、ディスプレイに表示される表示画像を拡大（あるいは縮小）され、ユーザにフィードバックされる。その際には、検出部１２１によってＲＡＭ１０４に保持されている注目情報を利用して、マルチドラッグの方向や操作量を特定し、出力に反映する。
【０１４３】
ステップＳ８０４では、特定部１２５が、今回特定したピンチ操作の情報を、直前に入力された操作に関する情報としてＲＡＭ１０４に保持する。本実施形態では、特定した操作の種別、種別の特定がなされた時刻、特定した操作が開始された複数のタッチ位置等の情報を、直前に入力された操作に関する情報として保持する。
【０１４４】
以上が、ステップＳ４０１で、直前に入力された操作がピンチ操作であると特定された場合に実行される処理の詳細である。
【０１４５】
第２の実施形態の処理により、ユーザがピンチ操作を繰り返しているうちに、入力が雑になり、ピンチ操作の操作量として検出される２点のタッチ位置の変化量が不十分となった場合でも、入力された操作がピンチ操作であると特定することができるようになる。しかし、ピンチ操作の操作量として検出される２点のタッチ位置の変化量が不十分となった場合、ピンチ操作が入力できたとしても、それに対する出力がユーザの意図に沿わない場合がある。例えばピンチに対応する処理が表示画像の拡大であった場合、出力された表示画像の拡大率が、ユーザが意図した拡大率より小さい場合がある。従って、特定された操作がピンチ操作であった場合には、ステップＳ４０２で繰り返し回数に応じて基準値を小さくするのと同時に、ピンチに対応する処理におけるパラメータを補正してもよい。
【０１４６】
図９（ｅ）は、繰り返し回数と、設定されるパラメータの一例である拡大率の補正倍率を対応付けた情報の一例である。繰り返し回数が０の場合、２点のタッチ位置の間の距離の変化率と、表示画像の拡大率は一致させることが一般的に行われている。例えば、２点のタッチ位置の間の距離の初期値が２００ｄｏｔで、タッチ位置の移動後４００ｄｏｔに変化した場合、拡大率は２倍となる。それに対し、第２の実施形態では、繰り返し回数が１回であれば、変化量から導かれ拡大率２倍に、更に補正値の１．２を掛け、２．４倍の拡大率で表示画像を拡大する。さらに、以下同様に、繰り返し回数が２回であれば、拡大率は２倍×１．５で３．０倍、繰り返し回数が３回以上であれば、拡大率は２倍×２．０で４．０倍となる。これにより、２点のタッチ位置の間の距離の変化が不十分な場合でも、表示画像の拡大率が補正され、ユーザの意図に沿ったフィードバックを返すことが可能となる。
【０１４７】
以上、ピンチを例に挙げて、マルチタッチ操作が繰り返し入力されやすい状況にあることを判定した上で、入力される操作が繰り返されている操作と同じ種別の操作であると特定するための条件を制御する処理を説明した。
【０１４８】
（ローテートの場合）
ステップＳ４０１において、直前に入力された操作はローテートであると特定された場合も同様である。この場合、ステップＳ４０２では、ローテート操作に関して、繰り返し回数に対応する基準値が設定される。ローテート操作が特定されるための所定の条件は、２点のタッチ位置を結ぶ直線がなす角度の、タッチ位置の移動前後での変化量が、所定の基準値を超えることである。ローテートの場合も、フリック、マルチドラッグ、ピンチと同様、繰り返し回数が多くなるほど、ローテート操作が特定されるための基準値は小さい値となり、ローテートが特定され易くなる。
【０１４９】
直前に入力された操作がローテートである場合、ステップＳ２０５、ステップＳ２０６で実行される処理は、マルチドラッグおよび図８のピンチの場合に準じるので詳細な説明を省略する。
【０１５０】
ローテート操作の場合は、特定部１２５によって、２点のタッチ位置を結ぶ直線がなす角度の、タッチ位置の移動前後での変化量を取得され、取得した変化量が、基準値を超える場合には、入力された操作はローテートであると特定される。そして、出力制御部１２８により、ローテート操作に応じて回転された表示画像が生成され、出力装置１１０に出力される。
【０１５１】
また、ローテートの場合も、ピンチと同様に、繰り返し回数に応じて、基準値だけでなく、出力処理に用いられるパラメータを設定することができる。ローテートによる表示画像の回転の場合でも、ユーザが操作を繰り返しているうちに、入力が雑になり、タッチ位置の移動が不十分となった場合、それに対する出力がユーザの意図に沿わない場合があるからである。ローテートの場合には、表示画像の回転量を、繰り返し回数に応じて補正する。
【０１５２】
以上、ローテートを例に挙げて、マルチタッチ操作が繰り返し入力されやすい状況にあることを判定した上で、入力される操作が繰り返されている操作と同じ種別の操作であると特定するための条件を制御する処理を説明した。
【０１５３】
このように、第２の実施形態では、直前に入力された操作がマルチタッチ操作である場合も考慮して、同じ種別の操作が繰り返し入力される可能性が高いとみなされる状況では、直前に入力された操作と同じ種別の操作を特定するための条件を異ならせる。特にマルチタッチ操作を構成する複数のタッチ位置が、どのような順番で検出された場合でも、正確に繰り返されやすさを判定することができる。それにより、繰り返し入力される可能性が低いとみなされる場合よりも、入力された操作が直前に入力された操作と同じ種別の操作であると特定されやすくなる。従って、ユーザが操作を繰り返すうちに入力が雑になり、タッチ位置を移動させる量が不十分になったとしても、ユーザの意図に沿った操作が認識され易くなる。つまり、ユーザにとっての誤動作を軽減することができる。また、第２の実施形態においても、同じ種別の操作が繰り返された回数に応じて、条件の厳しさ（基準値の大きさ）を変化させる。従って、繰り返し回数が多くなり、入力が雑になり易いほど、入力された操作が直前に入力された操作と同じ種別の操作であると特定され易くなる。また、直前に入力された操作と同じ種別の操作を特定する条件が満たされない場合には、通常通り他の操作が入力されたことが特定される所定の条件が満たされることに応じ、直前に入力された操作以外の様々な操作に対応する処理が実行される。
【０１５４】
なお、本実施形態では２点のタッチ位置についての情報を用いて処理を行う例にして説明しているが、３点以上についても同じ処理を行うことができる。
【０１５５】
なお、マルチタッチ操作が繰り返される場合でも、第１の実施形態と同様、繰り返し回数が一定回数を超えた場合、同じ種別の操作が繰り返されやすいと判定された時点で、入力操作は直前に入力された操作と同じ種別であると特定する変形例を適応可能である。
【０１５６】
この変形により、同じ種別の操作が多回数繰り返されている場合は、ユーザがタッチを開始した時点で情報処理装置からのフィードバックが行われるので、ユーザは速やかに、所望とする結果を得ることができる。
【０１５７】
また、マルチタッチ操作が繰り返される場合でも、第１の実施形態と同様、直前に入力された操作が終了された位置に基づいて「入力開始領域」を設定する変形例を適応可能である。この場合にも、複数の「入力開始領域」が設定され、全ての「入力開始領域」が、注目情報として検出される複数のタッチ位置のいずれかを含むことによって、同じ種別のマルチタッチ操作が繰り返されやすい状況にあると判定する。この変形により、ユーザが逆方向のマルチタッチ操作を交互に繰り返す場合に入力が雑になり、移動量が不十分になったとしても、意図に沿った操作が認識され易くなる。
【０１５８】
また、マルチタッチ操作が繰り返される場合でも、第１の実施形態と同様、「入力開始領域」を設定する基準となる位置情報を、繰り返し入力されている同じ種別の操作が開始された位置の平均座標とする変形例を適応することができる。また、「入力開始領域」を設定する基準となる位置情報を、連続操作された２回分の操作の入力開始位置の差分から判定領域を設定してもよい。このような変形により、表示画像の内容などの影響で、タッチ入力を開始することができない部分が生じても、ユーザが操作を開始する位置を変動させても、その誤差を吸収した判断が可能になる。
【０１５９】
＜その他の実施形態＞
なお、本発明はタッチパネルへのタッチ操作による入力に限られず、ユーザによる同じ種別の入力操作を複数回連続して認識可能な場合に適用可能である。この場合にも、検出した注目情報に基づいて、直前に入力された操作と同じ種別の操作が繰り返されやすい判定される場合には、注目情報に基づいて入力される次の操作が直前に入力された操作と同じ種別の操作であると特定され易くなるように条件を変更する。ユーザによる入力操作とは、操作ボタンを押す動作でも良いし、ジェスチャ入力を行うための人間の動作であっても良い。また入力された操作の種別に対応して実行される処理は、例えば、画像を表示するための描画処理であっても良いし、音声出力などであっても良い。
【０１６０】
また、本発明は、以下の処理に移行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１６１】
１２１  検出部
１２２  判定部
１２３  取得部
１２４  条件設定部
１２５  特定部
１２６  領域設定部
１２８  表示制御部
【図１】
2015018325.tif 000003
【図２】
2015018325.tif 000004
【図３】
2015018325.tif 000005
【図４】
2015018325.tif 000006
【図５】
2015018325.tif 000007
【図６】
2015018325.tif 000008
【図７】
2015018325.tif 000009
【図８】
2015018325.tif 000010
【図９】
2015018325.tif 000011
【図１０】
2015018325.tif 000012
【図１１】
2015018325.tif 000013