(57)【要約】【課題】  操作部に対するタッチパネル表面の摩擦抵抗の影響を低減し、ユーザのフリック操作の操作性を向上させることを主な目的とする。【解決手段】  上記課題を解決するため、本発明は、入力部におけるタッチ点の移動について、前記タッチ点の一連の位置情報を検出し、前記一連の位置情報のうちの２点の位置の間に相当する複数の区間について、それぞれの区間での前記タッチ点の移動を、前記タッチ点による入力操作の移動速度に反映するか否かを判定し、前記複数の区間のうち、前記入力操作としての移動速度の大きさに反映すると判定された区間での前記タッチ点の移動に関する情報に基づいて、前記入力操作の移動速度を決定することを特徴とする。【選択図】  図２
2014056487.tif 000002
【特許請求の範囲】
【請求項１】
入力部におけるタッチ点の移動について、前記タッチ点の一連の位置情報を検出する検出手段と、
前記検出手段が検出する一連の位置情報のうちの２点の位置の間に相当する複数の区間について、それぞれの区間での前記タッチ点の移動を、前記タッチ点による入力操作の移動速度に反映するか否かを判定する判定手段と、
前記複数の区間のうち、前記判定手段により、前記入力操作としての移動速度の大きさに反映すると判定された区間での前記タッチ点の移動に関する情報に基づいて、前記入力操作の移動速度を決定する決定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記判定手段は、前記入力部においてタッチ点が検出されなくなるまでの所定時間の間に前記検出手段が検出した一連の位置情報のうちの２点の位置の間に相当する複数の区間について、それぞれの区間での前記タッチ点の移動を、前記タッチ点による入力操作の移動速度に反映するか否かを判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、前記複数の区間のうち、当該区間での前記タッチ点の移動速度の大きさが、予め定められた大きさの範囲に含まれる区間を、前記タッチ点による入力操作の移動速度に反映しない候補とすることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記判定手段は、前記複数の区間のうち、当該区間での前記タッチ点の移動速度の大きさが、直前の移動の移動速度からの大きさの増加量が所定の閾値よりも大きい区間を前記タッチ点による入力操作の移動速度に反映しない候補とすることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項５】
前記判定手段は、前記複数の区間のうち、当該区間での前記タッチ点の移動速度の大きさが、前記複数の区間全てでの前記タッチ点の移動速度の平均値よりも大きく、その差が所定の閾値よりも大きい区間を前記タッチ点による入力操作の移動速度に反映しない候補とすることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項６】
前記判定手段は、前記複数の区間のうち、所定の数の区間を、前記タッチ点による入力操作の移動速度に反映しないと判定することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記判定手段は、前記タッチ点による入力操作の移動速度に反映しない候補とした区間のうち、当該区間での前記タッチ点の移動速度の大きさが上位のものから所定の数の区間を前記タッチ点による入力操作の移動速度に反映しないと判定することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
更に、前記保持手段が保持する一連の情報に含まれる移動速度の情報の数を計測する計測手段と、
前記計測手段が計測した数に応じて、前記候補として決定された区間のうち、前記タッチ点による入力操作の移動速度に反映しない区間の数を変更させる変更手段を備えることを特徴とする請求項６又は７に記載の情報処理装置。
【請求項９】
前記決定手段は、さらに、前記複数の区間のうち、当該区間での前記タッチ点の移動速度の大きさが、閾値よりも小さい区間を、区間を前記タッチ点による入力操作の移動速度に反映しないことを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記決定手段は、さらに、前記複数の区間のうち、当該区間での前記タッチ点の移動速度の大きさが、前記複数の区間全てでの前記タッチ点の移動速度の平均値より閾値以上小さい区間を、区間を前記タッチ点による入力操作の移動速度に反映しないことを特徴とする請求項５に記載の情報処理装置。
【請求項１１】
前記決定手段は、前記複数の区間のうち、少なくとも複数の区間での前記タッチ点の移動速度に基づいて、前記入力操作の移動速度を決定することを特徴とする請求項１乃至１０に記載の情報処理装置。
【請求項１２】
前記判定手段は、前記複数の区間全てでの前記タッチ点の移動速度の平均値が所定の閾値よりも大きい場合には、前記複数の区間全てを前記タッチ点による入力操作の移動速度に反映すると判定することを特徴とする請求項１に記載の情報処理装置。
【請求項１３】
前記タッチ点の移動に関する情報とは、前記タッチ点の移動速度の情報であることを特徴とする請求項１乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記決定手段が決定した前記入力操作の移動速度の大きさが、予め定められた基準の速度よりも大きい場合に、前記ユーザがフリック操作を入力したと認識し、表示画面に表示させる画像を制御する表示制御手段を更に備えることを特徴とする請求項１乃至１３のいずれか１項に情報処理装置。
【請求項１５】
前記表示制御手段は、前記フリック操作に応じて、前記判定手段が決定した移動速度で前記表示画像のスクロールを開始することを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
操作部における一連のタッチ点の移動について、時分割に移動速度を取得する取得手段と、
前記取得手段が取得する複数の移動速度を保持する保持手段と、
前記保持手段が保持している複数の移動速度から、所定の条件に基づいて除外する候補を決定する除外候補決定手段と、
前記除外候補決定手段の決定に基づいて移動速度の除外が施された後の残りの移動速度を用いて、前記ユーザによる入力操作としての移動速度を決定する移動速度決定手段と
を備えることを特徴とする情報処理装置。
【請求項１７】
前記保持手段は、前記取得手段が取得する複数の移動速度のうち、所定の数の移動速度の情報を保持することを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
コンピュータに読み込ませ実行させることで、請求項１乃至１７に記載された情報処理装置として動作させるためのプログラム。
【請求項１９】
請求項１８のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【請求項２０】
検出手段により、入力部におけるタッチ点の移動について、前記タッチ点の一連の位置情報を検出する検出工程と、
判定手段により、前記検出工程で検出した一連の位置情報のうちの２点の位置の間に相当する複数の区間について、それぞれの区間での前記タッチ点の移動を、前記タッチ点による入力操作の移動速度に反映するか否かを判定する判定工程と、
決定手段により、前記複数の区間のうち、前記判定工程で前記入力操作としての移動速度の大きさに反映すると判定された区間での前記タッチ点の移動速度に基づいて、前記入力操作の移動速度を決定する決定工程と
を有することを特徴とする情報処理装置の制御方法。
【請求項２１】
取得手段により、操作部における一連のタッチ点の移動について、時分割に移動速度を取得する取得工程と、
保持手段により、前記取得工程で取得する複数の移動速度を保持する保持工程と、
除外候補決定手段により、前記保持工程で保持している複数の移動速度から、所定の条件に基づいて除外する候補を決定する決定工程と、
移動速度決定手段により、前記除外候補決定工程での決定に基づいて移動速度の除外が施された後の残りの移動速度を用いて、前記ユーザによる入力操作としての移動速度を決定する移動速度決定工程と
を有することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザによって入力されたフリック操作を認識する技術に関する。
【背景技術】
【０００２】
近年、ユーザの指あるいはスタイラスなどの操作部によりタッチパネルがタッチされたことに応答して、タッチされた位置のＸ，Ｙ座標値を入力値として取り込み、この入力値に基づいて各種処理を実行するタッチ入力機器が普及している。
また、指あるいはスタイラスでタッチパネルの任意の位置をタッチした後、はじくように移動させながら離すことを、フリック操作という。
特許文献１には、フリック操作に応じて操作部がタッチパネルから離れる直前に検知した速度（フリック速度）と方向に基づいて、画面上に表示された画像をスクロールさせる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−１６１６２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
タッチパネルの表面には少なからず摩擦抵抗があるが、フリック操作では指等の操作部が、タッチパネルから離れようようとする際に摩擦抵抗から解放される。このように指等が摩擦抵抗から解放される一瞬だけ、操作部が移動する速度が、それまでユーザが意図的に移動させていた速度よりも速くなる場合がある。この場合に、特許文献１のようにタッチパネルから操作部が離れる直前に検知した速度をフリック速度とすると、ユーザが意図していたよりも速いフリック速度が認識され、結果として、表示画面上でのスクロールが、ユーザが意図したよりも速くなってしまう。
【０００５】
本発明は上記課題に鑑みてなされたものであり、フリック操作の操作性を向上させることを主な目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、入力部におけるタッチ点の移動について、前記タッチ点の一連の位置情報を検出する検出手段と、前記検出手段が検出する一連の位置情報のうちの２点の位置の間に相当する複数の区間について、それぞれの区間での前記タッチ点の移動を、前記タッチ点による入力操作の移動速度に反映するか否かを判定する判定手段と、前記複数の区間のうち、前記判定手段により、前記入力操作としての移動速度の大きさに反映すると判定された区間での前記タッチ点の移動に関する情報に基づいて、前記入力操作の移動速度を決定する決定手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、フリック操作の操作性が向上する。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置のハードウェア構成及び機能構成の一例を示すブロック図
【図２】フリック操作を認識する処理の流れの一例を示すフローチャート
【図３】区間判定処理の流れの一例を示すフローチャート
【図４】フリック操作が行われる際に検出される一連のタッチ点の一例を示す図
【図５】変形例１に係る情報処理装置がフリック操作を認識する処理を説明する図
【図６】フリック操作が行われる際に検出される一連のタッチ点の一例を示す図
【図７】変形例２に係る情報処理装置がフリック操作を認識する処理を説明する図
【図８】フリック操作が行われる際に検出される一連のタッチ点の一例を示す図
【図９】区間判定処理の流れの一例を示すフローチャート
【図１０】フリック操作が行われる際に検出される一連のタッチ点の情報を示す図
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００１０】
＜第１の実施形態＞
本実施形態では、フリック操作に用いられる操作部が、タッチパネルの摩擦抵抗から解放されることによる速度の変化に影響されないため、時分割でタッチ点の移動速度を取得した情報を複数保持し、その一部に基づいて入力操作としての移動速度を決定する。
【００１１】
図１（ａ）は、本実施形態に係る情報処理装置１００のハードウェア構成の一例を示す図である。ＣＰＵ１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、各種処理のための演算や論理判断などを行い、システムバス１１０に接続された各構成要素を制御する。この情報処理装置１００には、プログラムメモリとデータメモリを含むメモリが搭載されている。ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２は、プログラムメモリであって、後述する各種処理手順を含むＣＰＵによる制御のためのプログラムを格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３は、データメモリであり、ＣＰＵ１０１の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。外部記憶装置１０９などからＲＡＭ１０３にプログラムをロードすることで、プログラムメモリを実現しても構わない。ＨＤ１０４は、本実施形態に係るデータやプログラムを記憶しておくためのハードディスクである。同様の役割を果たすものとして、入出力インタフェース１０７を介して接続される外部記憶装置１０９を用いてもよい。ここで、外部記憶装置１０９は、例えば、メディア（記録媒体）と、当該メディアへのアクセスを実現するための外部記憶ドライブとで実現することができる。このようなメディアとしては、例えば、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ、ＭＯ、フラッシュメモリ等が知られている。また、外部記憶装置１０９は、ネットワークで接続されたサーバ装置などであってもよい。本実施形態において必要な情報は、ＲＡＭ１０３やＨＤ１０４、外部記憶装置１０９に保持される。入力インタフェース１０５は、ポインティングデバイスなどの入力部を制御し、入力信号を取得して情報処理装置１００へのタッチ操作を認識し、システムに通知する。出力インタフェース１０６は、液晶ディスプレイ、テレビモニタ等の表示部を有する出力部に対して、後述する各種の処理を実行した結果の出力を制御する信号を出力する。本実施形態において、入力部であるタッチパネルと出力部であるディスプレイ装置は、情報処理装置１００に一体化したタッチパネルディスプレイ１０８を使用する。ただし、情報処理装置１００に接続された外部装置であってもよく、それぞれが独立した装置であってもかまわない。尚、本実施形態では、タッチパネルは静電容量方式のものを使用するとし、ユーザの１本の指（操作部）とパネル表面との接触面のうち、１点の座標をタッチ点として特定する。ただし、タッチパネルの方式は静電容量方式に限らない。
【００１２】
図１（ｂ）は、本実施形態における情報処理装置１００の機能構成の一例を示すブロック図である。
【００１３】
まず、本実施例の情報処理装置１００は、検出部１１１、取得部１１２、判定部１１４、決定部１１５、出力制御部１１６を有する。これらの各機能部は、ＣＰＵ１０１が、ＲＯＭ１０２に格納されたプログラムをＲＡＭ１０３に展開し、後述する各フローチャートに従った処理を実行することで実現されている。さらに、本実施例の情報処理装置１００が有する保持部１１３はＲＡＭ１０３の機能部である。ただし、本発明は、これらの機能部をハードウェアで実現する情報処理装置によっても同様に実現可能である。以下、各要素について説明する。
【００１４】
検出部１１１は、入力インタフェース１０５から通知された信号に基づき、ユーザがタッチしたタッチ点に関する情報を検出する。その際、本実施形態では、入力インタフェース１０５が、入力部であるタッチパネルが検出しているタッチ点の情報を一定の間隔で参照し、タッチ点の情報を取得する毎に順次、検出部１１１に信号を通知する。検出部１１１が検出するタッチ点に関する情報には、少なくともタッチ点の一連の位置情報が含まれる。本実施形態では、さらに検出された時刻を示す情報を含む。また、タッチ点の情報を参照した際に、操作部がタッチパネルから離されてタッチ点が存在しなかった場合は、操作部がリリースされたことが検出部１１１に通知される。検出部１１１は、検出したタッチ点に関する情報を管理する。マルチタッチが可能なタッチパネルの場合、複数のタッチ点の情報を一定の間隔で参照し、１点についての情報を取得する毎に順次、検出部１１１に信号が通知される。この場合、タッチ点に関する情報には、複数のタッチ点を識別するためのＩＤが含まれる。尚、ＩＤにはタッチ点が検出された順番を関連させることで、検出されるタッチ点の数が複数である場合に管理がしやすくなる。検出部１１１は、ＩＤを基にタッチ点の最新の情報を検出し、同じＩＤのタッチ点が以前に検出されたのと異なる位置で検出された事に基づき、タッチ点が移動したこと検出することができる。
【００１５】
取得部１１２は、検出部１１１が検出したタッチ点に関する情報を参照して、保持部１１３にその一連の情報と、一連の位置情報のうちの２点の位置の間に相当する複数の区間でのタッチ点の移動に関する情報を保持する。本実施形態の取得部１１２は、タッチ点がリリースされたことに応じて、一連のタッチ点の位置情報のうち連続する２点間の区間について、２点間の距離と、検出時間の間隔の情報とから、各区間におけるタッチ点の移動の実測に基づく複数の移動速度を取得する。そして、取得部１１２は、検出部１１１が検出した一連の位置情報とともに、取得した複数の移動速度を示す情報を保持部１１３に保持する。ただし、取得部１１２は、検出部１１１でタッチ点が検出される度に、前回検出されたタッチ点の位置からの移動距離と検出間隔を用いて、該当する区間でのタッチ点の移動速度を取得しても構わない。
【００１６】
さらに、本実施形態では、リソースを削減するためと、取得する移動速度をフリック中の移動速度に限定するために、タッチ点に関する情報の数が所定の数を超える場合は、古い方から保持部１１３に保持されたタッチ点に関する情報を削除する。ただし、取得部１１２は、保持部１１３に保持する情報の量を調整せず、全ての情報を保持しても構わない。また、例えば最後に取得したタッチ点の情報、あるいは移動速度の情報の取得時刻から所定の時間より前に取得された複数の移動速度の情報を保持部１１３から削除する変形例を採用することもできる。
【００１７】
判定部１１４は、保持されているタッチ点の一連の位置情報のうちの２点の位置の間に相当する複数の区間について、それぞれの区間での前記タッチ点の移動を、入力操作の移動速度に反映するか否かを判定する。本実施形態では、所定の条件を満たす移動速度で移動した区間を、入力操作の移動速度に反映しないために、保持部１１３が保持している複数の移動速度の情報のうち所定の条件を満たす移動速度を除外する。そして、除外を施した残りの移動速度での移動に対応する区間を、入力操作の移動速度に反映するために、除外を施した残りの移動速度の情報を抽出する。本実施形態では、その際、保持部１１３が保持している複数の移動速度の情報のうち、所定の条件を満たす移動速度をまず、除外候補として決定する。すなわち、当該区間は、入力操作の移動速度に反映しない候補となる。判定部１１４は、除外候補とされた移動速度を全て除外してもよい。また、１つの条件を満たす移動速度を除外候補とし、除外候補のうち、さらにもう１つの条件を満たす情報を入力操作としての移動速度を決定するために利用する移動速度の情報から除外してもよい。第１の実施形態の判定部１１４は、移動速度の大きさが予め設定した大きさの範囲内に含まれるものを除外候補と決定する。そして、除外候補のうち、大きさが大きい方から所定の数の移動速度の情報を、入力操作としての移動速度を決定するために利用する移動速度の情報から除外する。そして、判定部１１４は、除外された移動速度でタッチ点が移動した区間を、入力操作の移動速度に反映しないと判定する。一方で、除外を施した残りの移動速度でタッチ点が移動した区間を、入力操作の移動速度に反映すると判定する。
【００１８】
なお、本実施形態では、取得部１１２が保持部１１３に保持する複数の移動速度の情報の数を調整している。従って判定部１１４は、保持されている全ての移動速度に対応する区間に対し、入力操作の移動速度に反映すると判定する処理として、移動速度が所定の除外条件を満たすか否かを判定するが、これに限らない。例えば、取得部１１２は、取得した一連の操作における移動速度の情報を全て保持する場合には、判定部１１４が新しい方から所定の数の情報だけ、もしくは所定の時間範囲内に取得された情報だけに対して除外条件を満たすか否かを判定しても良い。
【００１９】
決定部１１５は、判定部１１４にて抽出された移動速度の情報を用いて、入力された入力操作としての移動速度を決定する。本実施形態では、除外されずに抽出された全ての移動速度の平均値を、入力操作としての移動速度として決定し、表示制御部１１６に通知する。取得部１１２が取得する移動速度が実測値であるのに対し、決定部１１５が決定する移動速度は、ユーザが行った操作としての速度に相当する。本実施形態では、ユーザがフリック操作を行う場面を想定するため、以下、決定部１１５が決定するフリック操作の移動速度を「フリック速度」という。なお、本実施形態では、判定部１１４が抽出した移動速度の情報を、決定部１１５が受け取り、平均値を算出するが、判定部１１４が除外する情報を決定したことに応じて、決定部１１５が対象となる情報を抽出し、フリック速度を決定する処理を行ってもよい。
【００２０】
出力制御部１１６は、入力された操作の結果をフィードバックする為、決定部１１５が決定したフリック速度に応じたスクロール速度でスクロールされる表示画像を生成し、タッチパネルディスプレイ１０８である出力部に出力する。この時、フリック速度はスクロールの初期の速度とし、その後スクロール速度を減衰させ、最終的にはスクロールは停止するように表示制御を行う。また、フリック速度が所定の速度より遅かった場合には、フリック操作と認識せず、操作部がタッチパネルから離れてもスクロールを行わないようにすることもできる。
【００２１】
なお、本実施形態では、一連の位置情報のうちの２点の位置の間に相当する複数の区間の一例として、一連の位置情報のうち連続する２点が検出される間を一区間とする複数の区間について処理を行った。そして、複数の区間における移動に関する移動速度の情報に基づいて、その移動を入力操作の移動速度に反映するか否かを判定した。しかし、これに限らず、例えば、連続する２点の間を一区間とし、各区間での移動距離を示す情報に基づいて、各区間での移動を入力操作の移動速度に反映するか否かを判定することもできる。また例えば、等距離間隔の複数の区間を定義し、各区間でのタッチ点の移動に関し、タッチ点が一定距離を進むのにかかる移動時間の情報に基づいて、判定を行うこともできる。また、一連の位置情報のうちの２点は、連続して検出された２点に限らず、操作が開始された最初のタッチ点と最新のタッチ点等であってもよい。
【００２２】
図２は、本実施形態において、情報処理装置１００がフリック操作を認識する処理の流れの一例を示すフローチャートである。図２のフローチャートの処理は、入力インタフェース１０５からタッチパネルにおいて検出されたタッチ点の情報の通知があったことに応じて起動される。また、入力インタフェース１０５からタッチパネル等において検出されていたタッチ点が検出されなくなったことを示すリリースの通知があったことに応じても起動される。タッチ点の情報の通知及びリリースの通知は、一定の間隔で現在の状況を参照して通知される。
【００２３】
まず、ステップＳ２０１では、検出部１１１がタッチ点を検出する。検出部１１１は、タッチパネルが検出する情報に基づき、入力インタフェース１０５から通知されるタッチ点の情報を検出する。また、入力インタフェース１０５からリリースの通知があった場合は、その検出時刻に対応するタッチ点に触れていた操作部が離されたことを検出する。
【００２４】
次に、ステップＳ２０２において、取得部１１２は、ステップＳ２０１で検出部１１１が検出した最新の情報が、タッチ点がリリースされたことを示すものか否かを判定する。検出された最新の情報が、タッチ点がリリースをされたことを示すと判定された場合には（ステップＳ２０２でＹＥＳ）、処理はステップＳ２０４に進む。一方、最新の情報が、タッチ点がリリースされたことを示すものではない、すなわち操作部によるタッチが検出されていることを示すと判定された場合には（ステップＳ２０２でＮＯ）、処理ステップＳ２０３に進む。
【００２５】
ステップＳ２０３では、フリック操作は行われていないため、取得部１１２は、検出部１１１が検出したタッチ点に関する情報を保持部１１３に保持し、処理を終了する。このとき、本実施形態の取得部１１２は、上述したように、タッチ点に関する情報の取得回数が所定の回数を超える場合は、保持部１１３に保持されたタッチ点に関する一連の情報を古い方から削除する。したがって、保持部１１３には、常に最新の所定回数分のタッチ点の検出において取得された情報、すなわちタッチ点が検出されなくなるまでの所定時間の間に検出されたタッチ点の情報が保持されている。
【００２６】
なお、ステップＳ２０３で、移動速度を計算することも可能であるが、タッチ点が通知される度に移動速度を求める処理が実行されると、処理機能の負荷を上げることになるため、本実施形態では行わない。また、情報処理装置１００において、フリック操作以外のタッチ操作を認識する場合には、ステップＳ２０３の後に、例えば所定のジェスチャ操作を示す軌跡が入力されたか否かを判定する等の判定処理を実行することもできる。
【００２７】
一方、ステップＳ２０４では、取得部１１２が、保持部１１３に保持されている一連の情報を用いて、時分割にタッチ点の移動速度を取得する。本実施形態では、ある時刻にタッチ点が検出された座標と、同じタッチ点が次に検出された座標との間の距離と、検出の時間間隔を用いて、その間の移動速度を取得する。保持部１１３に時系列に沿って保持された一連のタッチ点の情報を参照し、この処理を順に実行することで、タッチ点の検出間隔毎の移動速度を取得することができる。取得部１１２は、取得した移動速度の情報を、保持部１１３に保持させる。
【００２８】
次に、ステップＳ２０５では、判定部１１４が、複数の区間の移動について、入力操作の移動速度に反映するか否かの判定処理を実行する。本実施形態では、ステップＳ２０４で取得部１１２が保持部１１３に保持した各区間での移動速度の情報に基づき、除外候補を決定し、除外候補に基づいて一部の移動速度を除外し、残った移動速度を抽出する。すなわち、除外される移動速度の区間は入力操作の移動速度に反映せず、抽出される移動速度の区間を入力操作の移動速度に反映する。ここで用いられる詳細な除外条件と、具体例は後述する。また、タッチ点の検出の時間間隔が一定でない場合には、移動速度の平均値が求められないため、判定部１１４が抽出した移動速度に対応する移動距離の合計値と、実際に検出された時間間隔の合計値を用いて、フリック速度を算出しても良い。
【００２９】
ステップＳ２０６では、決定部１１５が、判定部１１４が抽出した移動速度の合計値を、抽出された移動速度の数で割って平均値を算出し、その平均値をフリック速度として決定する。ただし、ステップＳ２０６の移動速度決定の処理では、移動速度の平均値に限らず、抽出された移動速度情報のうちの、最大値や最小値、もしくは最初や最後の移動速度に基づいて、フリック速度を決定しても構わない。
【００３０】
次に、ステップＳ２０７では、出力制御部１１６が、ステップＳ２０６で決定されたフリック速度が予め定められた基準の値より大きければフリック操作が入力されたと判定し、画面やタッチ位置を考慮してフリック操作に対応した処理を行う。例えば、本実施形態では、フリック操作のフリック速度に応じて画面表示をスクロールさせるため、スクロールされる状態を表示する表示画像を生成し、タッチパネルディスプレイ１０８に出力した後、処理は終了する。以上が、本実施形態においてユーザのフリック操作を認識する処理の流れである。
【００３１】
図３は、ステップＳ２０５で実行される移動速度の抽出処理の流れの一例を示すフローチャートである。本実施形態では、まず取得部１１２が取得した複数の移動速度の情報から、除外する対象として設定された所定の大きさの範囲（以下、除外範囲という）に含まれる移動速度を除外候補とする除外候補決定処理を行う。そして、除外候補のうち大きい方から所定の数の移動速度のみを除外対象とし、保持部１１３に保持されている複数の移動速度の情報から除外して残った速度情報を抽出する。ここでは一例として、除外候補のうち、その大きさが上位３つまでの移動速度を、除外対象として指定したい場合を説明する。図３のフローチャートの処理が実行される前に、初期値として３つ分の０という移動速度の情報が除外対象として指定され、保持部１１３に保持されている。
【００３２】
まず、ステップＳ３０１では、判定部１１４が、保持部１１３に保持されている複数の移動速度の情報のうち、先頭の情報を処理対象の速度Ａとして選択する。本実施形態では、保持部１１３において時分割に取得された移動速度の情報が時系列順に保持されているため、先頭に保持されている移動速度情報は、最も古い時間に検出された移動の移動速度である。
【００３３】
次に、ステップＳ３０２では、判定部１１４が、処理対象の速度Ａの大きさが、除外範囲内に含まれるか否かを判定する。ここで、除外範囲とは、本実施形態において、フリック速度を決定するために、積極的に利用しない速度の大きさを指定した範囲である。具体的には、操作部が、タッチパネル表面の摩擦抵抗から解放された際に検出される大きな速度が、統計的に含まれる範囲を、除外範囲として設定する。速度Ａが、除外範囲内に含まれる場合には（ステップＳ３０２でＹＥＳ）、処理はステップＳ３０３に進む。一方、速度Ａが除外範囲に含まれない場合には（ステップイＳ３０２でＮＯ）、速度Ａを除外する必要がないため、処理はステップＳ３１０に進む。
【００３４】
ステップＳ３０３では、速度Ａを、フロック速度を決定する際に利用する移動速度の情報から除外する移動速度の候補（除外候補）と決定する。
【００３５】
続くステップＳ３０４からステップＳ３０９では、判定部１１４が、保持部１１３に保持され、かつ除外範囲に含まれる移動速度情報のうち、大きいものから所定の数の速度を除外するために、速度Ａと、除外対象とされている速度との大きさの比較処理を行う。ここでは一例として、除外範囲に含まれ、かつ大きさが上位３位である移動速度を除外候補に決定する。このような処理により、ユーザが意図しているよりもフリック速度が大きく算出されてしまうことを防ぐことができる。
【００３６】
まず、ステップＳ３０４では、判定部１１４が、除外対象に決定された速度のうち、最大の速度を処理対象の速度Ｂとして選択する。ただし、初回の処理では、初期値として０を除外対象に指定しているため、０が速度Ｂとして選択される。
【００３７】
ステップＳ３０５では、判定部１１４が、速度Ａの大きさが、速度Ｂの大きさよりも大きいか否かを判定する。速度Ａの大きさが、速度Ｂの大きさよりも大きいと判定された場合には（ステップＳ３０５でＹＥＳ）、処理はステップＳ３０８に進む。速度Ａの大きさが速度Ｂ以下であると判定された場合には（ステップＳ３０５でＮＯ）、処理はステップＳ３０６に進む。
【００３８】
ステップＳ３０６では、判定部１１４が、除外対象として指定されている所定の数全ての移動速度と、速度Ａの比較を行ったか否かを判定する。今、所定の数が３である場合を説明しているので、判定部１１４は、速度Ａと３つの除外対象速度全てとの大きさの比較が完了したか否かを判定する。全ての除外対象との比較が完了したと判定された場合には（ステップＳ３０６でＹＥＳ）、処理はステップＳ３１０に進む。まだ全ての除外対象とは比較されていないと判定された場合には（ステップＳ３０６でＮＯ）、処理はステップＳ３０７に進む。
【００３９】
ステップＳ３０７では、判定部１１４が、除外対象に指定されている移動速度のうち、次に大きい除外対象速度を速度Ｂとして選択し、ステップＳ３０５の処理に戻る。
【００４０】
一方、ステップＳ３０８では、判定部１１４が、速度Ａとして選択されている移動速度を、除外対象に指定し、その情報を保持部１１３に保持する。本実施形態では、保持部１１３に保持されている複数の移動速度の情報のうち、ステップＳ３０２で判定した範囲内に含まれて、かつ大きさが上位３位までの移動速度を除外する。従って、除外対象に指定されていた速度Ｂよりも大きいと判定された速度Ａは、上位３位までに含まれる可能性が高くなるため、除外対象に指定する。
【００４１】
ステップＳ３０９では、判定部１１４が、除外対象に指定されていた移動速度のうち、最小の速度の情報１つを除外対象から外し、除外対象の速度を大きさ順にソートする。ステップＳ３０８において、速度Ａが除外対象に加えられたことにより、除外対象と指定されている移動速度のうちで最小のものは、上位３位までに含まれないことが確定する。従って、除外対象から外し、保持部１１３では、現在除外対象として指定されている３つの移動速度の情報を、大きさの順番にソートして保持する。
【００４２】
次に、ステップＳ３１０では、判定部１１４が、保持されている移動速度の情報のうち、
最後の情報まで処理が済んだか否かを判定する。最後の情報を処理したと判定された場合には（ステップＳ３１０でＹＥＳ）、処理はステップＳ３１２に進む。まだ最後の情報まで処理していないと判定された場合には（ステップＳ３１０でＮＯ）、処理はステップＳ３１１に進む。
【００４３】
ステップＳ３１１では、判定部１１４が、保持部１１３に保持されている複数の移動速度の情報のうち、次に保持されている移動速度の情報を速度Ａとして選択し、ステップＳ３０２の処理に戻る。
【００４４】
ステップＳ３１２では、判定部１１４によって、除外対象に指定された移動速度に対応する区間の移動は、入力操作の移動速度に反映しないと判定される。一方、その他の、除外対象に指定されていない移動速度に対応する区間の移動は、入力操作の移動速度に反映すると判定される。
【００４５】
ステップＳ３１３では、判定部１１４が、保持部１１３に保持された複数の移動速度の情報のうち、除外対象に指定されていない速度情報を全て抽出し、図２のフローチャートに示す処理にリターンする。なお、保持部１１３が保持している、除外対象として指定された移動速度の情報は、新たにタッチ点が検出されたと通知された時、もしくはフリック操作による表示制御が完了した時など、フリック速度が決定された後の任意のタイミングで初期値の０に戻す。
【００４６】
以上が、本実施形態のステップＳ２０５において実行される移動速度を抽出する処理である。尚、本実施形態では、所定範囲内に含まれる移動速度を除外候補とする処理（ステップＳ３０２）と、大きい方から所定の数の移動速度を除外する処理（ステップＳ３０４からステップＳ３０９）を併用したが、単独で利用しても構わない。また、本実施形態のように、所定範囲内に含まれる移動速度を除外対象とする処理（ステップＳ３０２）と、大きい順に限らず、通知された順やランダム等、所定の数だけの移動速度を除外する処理を併用することができる。このように、所定範囲内に含まれるだけでなく、所定の数に限定した移動速度を除外することで、フリック速度を決定するために十分な数の移動速度を抽出できるように調整している。除外対象となる速度の初期値を０としていることで、除外する大きさの範囲に含まれる移動速度の数が所定の数に満たない場合には、０を含む所定の数の移動速度が除外対象として指定される。従って、大きさが上位であっても、除外範囲に含まれない移動速度を除外はしない。
【００４７】
以上説明したように、本実施形態では、所定の時間間隔毎に複数取得した移動速度の中から操作部がタッチパネルとの摩擦抵抗から解放された際に発生した可能性が高い大きな移動速度を除外して、残った移動速度の情報に基づいてフリック速度を決定する。そのため、操作部がタッチパネルとの摩擦抵抗から解放されることにより、ユーザが意図したよりも大きな速度で操作部がタッチパネルから離れたとしても、ユーザが意図的に操作部を動かしていた速度に近い大きさのフリック速度を得ることができる。従って、ユーザが意図的に操作部を動かしていた移動速度を大幅に超えた大きな速度で、表示画面に表示された画像がスクロールしてしまうことを防止でき、ユーザにとって違和感の無いフリック操作を実現することができる。
【００４８】
（操作例１）
ここで、具体的に、第１の実施形態による情報処理装置１００をユーザが操作する操作例１を説明する。
【００４９】
図４は、フリック操作が行われる際に検出される一連のタッチ点の一例を示す。図４（ａ）と図４（ｂ）は、ユーザが操作部としての指４１０でフリック操作を行った際にタッチ点が移動する様子の一例であり、タッチ点の移動を座標点の軌跡として示している。特に、図４（ｂ）は、図４（ａ）を拡大したものである。タッチ点の座標は、入力領域４００の図面に向かって左上を原点とし、指４１０が触れた横方向の位置をｘ座標、縦方向の位置をｙ座標で表したものとする。単位は、タッチパネルディスプレイの画面解像度に合わせてｄｏｔとする。図４（ｃ）は、ステップＳ２０３にて保持される所定の数のタッチ点の情報について、各タッチ点のｘ座標と、各タッチ点間の移動距離、各タッチ点間の移動時間、各タッチ点間の移動速度、当該移動速度が除外されるか否かを示した表である。ｙ座標については、ｘ座標と同様の処理となるため、説明を省略する。
【００５０】
操作例１では、ユーザは直感的に指４１０を画面上ではじくことで、約８００ｄｏｔ／ｓ程度の速度が認識されることを意図したフリック操作を行った場合を想定する。ただし、ユーザが具体的な速度の値を意識している必要はない。その際に、図４（ｃ）に示すように、タッチ点４０４からタッチ点４０５の移動について移動速度２２００ｄｏｔ／ｓ、タッチ点４０６からタッチ点４０７の移動について移動速度１６００ｄｏｔ／ｓという大きな速度が検出されてしまった例である。例えば、従来行われているように、タッチ点のリリース直前に検出された移動速度をフリック速度とした場合には、１６００ｄｏｔ／ｓとなり、実際のフリック速度よりも大幅に速いフリック速度と誤認識されてしまう。
【００５１】
ここで、操作例１において設定される所定のパラメータを説明する。操作例１では、入力インタフェース１０５から２０ｍｓ毎に、タッチ点の検出情報が通知されるものとする。取得部１１２は、２０ｍｓの間の移動速度の情報を５つ取得するため、連続する６回の検出によって通知されたタッチ点の情報を保持する。これは、フリック操作が２０［ｍｓ］×６［回］＝１２０［ｍｓ］の時間の間に行われることが多いことから選ばれた値である。また、判定部１１４は、除外範囲８００ｄｏｔ／ｓ〜２５００ｄｏｔ／ｓに含まれ、かつ、大きい方から上位３位までの移動速度を、除外対象として指定する。なお、処理の開始時には、除外対象の３つの移動速度が初期値［０ｄｏｔ／ｓ，０ｄｏｔ／ｓ，０ｄｏｔ／ｓ］と設定され、保持部１１３に保持されている。さらに、操作例１の情報処理装置１００では、決定部１１５が出力したフリック速度の大きさが、閾値２００ｄｏｔ／ｓよりも大きい場合に、フリック操作が行われたと認識し、フリック速度に従って表示画面に表示された画像がスクロールされる。なお、ここでフリック速度が閾値以下の場合、ユーザがフリック操作を意図せずにタッチパネルから指４１０を離した、すなわちタッチを解除したとみなされる。
【００５２】
まず、ユーザが指４１０でタッチパネルにタッチしたことに応じ、入力インタフェース１０５からタッチ点４０１の情報が通知され、フリック操作を認識する処理（図２のフローチャート）が開始される。ステップＳ２０１では、検出部１１１がタッチ点４０１を検出する。以下、２０ｍｓ毎にタッチ点の情報が通知される度に、ステップＳ２０１において、タッチ点が検出される。ステップＳ２０２では、取得部１１２が、タッチ点４０１がステップＳ２０１において検出されているため、リリースではないと判定し、ステップＳ２０３に進む。このとき、保持部１１３に保持されている移動速度の情報の数は初期値の０となっている。ステップＳ２０３では、保持部１１３に検出されたタッチ点に関する一連の情報を保持する。保持される情報には、タッチ点４０１の位置を示す座標情報としてｘ座標＝４００、ｙ座標＝３００、検出された時刻を示す情報が含まれる。この際、タッチ点４０１はユーザがタッチを開始してから最初に検出されたタッチ点であるので、取得部１１２は、保持部１１３の記憶領域の１番目にタッチ点４０１の情報を格納し、フリック操作を認識する処理は終了する。
【００５３】
保持部１１３に保持されたタッチ点の情報の数が所定の６に達するまでは、このように、ステップＳ２０１からステップＳ２０３までの処理が繰り返され、検出された時刻の順に保持部１１３に一連のタッチ点の位置情報が保持されていく。操作例１では、タッチ点４０６の情報が保持部１１３に保持されるまでは、上述した処理の繰り返しとなるので説明を省略する。
【００５４】
次に、入力インタフェース１０５からタッチ点４０７の情報が通知されることで、図２のフローチャートの処理が開始される。ステップＳ２０３において、取得部１１２は、既に保持部１１３に保持されているタッチ点の情報が６つに達しているため、タッチ点４０７の情報を保持する際に、最も古いタッチ点４０１の情報を削除する。その際、本実施形態では、タッチ点の情報が、検出された時刻順に並ぶようにソートして記憶領域に格納する。このようにして、タッチ点４０２からタッチ点４０７のタッチ点に関する情報が保持部１１３に保持される。タッチ点４０７の後に引き続きタッチ点が移動し、新たな情報が通知された場合には、同様の処理が繰り返される。このように、本実施形態では、所定の数を超えるタッチ点の情報が取得された場合には、古い情報を削除する処理を行い、記憶領域の使用量を制御している。
【００５５】
図４（ｂ）は、タッチ点４０７の情報が通知された直後にユーザがタッチパネルから指４１０を離したことを示している。従って、タッチ点４０７の情報が通知されてから２０ｍｓ後には、入力インタフェース１０５からタッチ点がリリースされたことを示す情報が通知され、図２のフローチャートの処理が開始される。検出部１１１が、タッチ点がリリースされたことを検出し、ステップＳ２０２でＹＥＳの判定がなされることにより、処理はステップＳ２０４に進む。ステップＳ２０４において、取得部１１２が、保持部１１３に保持されている一連の情報に基づいて、連続して検出されたタッチ点間の移動速度を取得する。具体的には、まず記憶領域１番目に記憶されているタッチ点４０２と２番目に記憶されているタッチ点４０３の座標情報を参照し、移動距離を求める。求めた移動距離は、図４（ｃ）に示す通り１５ｄｏｔである。これをタッチ点の移動時間、すなわちタッチ点の通知間隔である２０ｍｓで割る事により移動速度の大きさを求めることができる。移動速度の計算式は、移動距離［ｄｏｔ］×１０００÷移動時間［ｍｓ］＝移動速度［ｄｏｔ／ｓ］とする。ここで、１０００を掛けているのは、ミリ秒を秒に変換するためである。こうすることで、小数点を切り捨てても値としての精度があまり落ちないため、計算速度を上げることができる。このようにして、タッチ点４０２とタッチ点４０３間の移動速度の大きさである７５０ｄｏｔ／ｓが取得される。同様に、タッチ点４０３とタッチ点４０４間の移動速度の大きさは８５０ｄｏｔ／ｓ、タッチ点４０４とタッチ点４０５間の移動速度の大きさは２２００ｄｏｔ／ｓ・・・と、図４（ｃ）に示すように移動速度の情報が５つ取得され、保持される。保持部１１３に情報が保持されている全てのタッチ点について、連続して検出されたタッチ点間の移動速度の取得が終わると、処理はステップＳ２０５の内部処理であるステップＳ３０１に進む。
【００５６】
ステップＳ３０１では、判定部１１４が、保持部１１３に保持されている５つの移動速度の情報のうち、先頭の情報（操作例１ではタッチ点４０２とタッチ点４０３間の移動速度）である７５０ｄｏｔ／ｓという情報を処理対象（速度Ａ）として選択する。次に、ステップＳ３０２では、判定部１１４が、７５０ｄｏｔ／ｓが、除外範囲８００ｄｏｔ／ｓ〜２５００ｄｏｔ／ｓ内に含まれるか否かを判定する。７５０ｄｏｔ／ｓは範囲外であるため、除外する必要がない。従って、処理はステップＳ３１０に進み、保持部１１３に保持されている最後の移動速度を処理していないため、ステップＳ３１１に進む。ステップ３１１では、次に保持されている移動速度の情報（操作例１ではタッチ点４０３とタッチ点４０４間の移動速度）である８５０ｄｏｔ／ｓが処理対象（速度Ａ）として選択され、ステップＳ３０２以降の処理が繰り返される。
【００５７】
移動速度８５０ｄｏｔ／ｓは除外範囲内であるため、ステップＳ３０２ではＹＥＳと判定され除外候補となり、処理がステップＳ３０４に進む。ステップＳ３０４では、判定部１１４が、除外対象に指定されている３つの速度のうち、最大の速度を処理対象（速度Ｂ）として選択する。この時点では、除外対象として初期値の０ｄｏｔ／ｓが指定されているため、０ｄｏｔ／ｓが処理対象となる。従って、判定部１１４は、速度Ａ（移動速度８５０ｄｏｔ／ｓ）が、速度Ｂ（０ｄｏｔ／ｓ）より大きいと判定する（ステップＳ３０５でＹＥＳ）。ステップＳ３０８では、判定部１１４が、速度Ａ（移動速度８５０ｄｏｔ／ｓ）を、除外対象に指定する。図４（ｃ）では、除外対象とされた移動速度を「○」で示す。ステップＳ３０９では、保持部１１３に保持されている除外対象の速度のうち、最小の速度（ここでは０ｄｏｔ／ｓ）１つを除外対象から外し、除外対象として指定されている３つの速度の情報を大きさ順にソートする。従って、保持部１１３では除外対象の速度情報が［８５０ｄｏｔ／ｓ，０ｄｏｔ／ｓ，０ｄｏｔ／ｓ］の順で保持される。そして、まだ保持されている最後の移動速度の情報まで処理を終えていないため（ステップＳ３１０でＮＯ）、次に格納される移動速度の情報（タッチ点４０４とタッチ点４０５間の移動速度）である２２００ｄｏｔ／ｓが処理対象（速度Ａ）として選択される。以降、保持部１１３に保持されている最後の移動速度の情報（操作例１ではタッチ点４０６とタッチ点４０７間の移動速度）である１６００ｄｏｔ／ｓに対する処理が終了するまで、上述した処理が繰り返される。
【００５８】
図４（ｃ）に示すように、保持部１１３が保持している５つの移動速度のうち、未処理の情報２２００ｄｏｔ／ｓ、８００ｄｏｔ／ｓ、１６００ｄｏｔ／ｓは、いずれも除外範囲に含まれる。従って、最終的に保持部１１３に保持される除外対象の速度情報は［２２００ｄｏｔ／ｓ，１６００ｄｏｔ／ｓ，８５０ｄｏｔ／ｓ］となる。
【００５９】
保持部１１３に保持されている、５つの移動速度の情報を全て処理したら（ステップＳ３１０でＹＥＳ）、ステップＳ３１３では、保持部１１３に保持されている複数の移動速度の情報のうち、  除外対象に指定されていない速度情報を抽出する。操作例１では、７５０ｄｏｔ／ｓ（タッチ点４０２とタッチ点４０３間の移動速度）と、８００ｄｏｔ／ｓ（タッチ点４０５とタッチ点４０６間の移動速度）が抽出され、図２のフローチャートに示すメインの処理にリターンする。
【００６０】
ステップＳ２０６では、決定部１１５が、判定部１１４に抽出された２つの移動速度の情報の平均値を、フリック速度として決定する。すなわち、抽出された移動速度の合計値７５０［ｄｏｔ／ｓ］＋８００［ｄｏｔ／ｓ］＝１５５０［ｄｏｔ／ｓ］を、抽出された情報の数２で割り、平均値７７５ｄｏｔ／ｓをフリック速度と決定する。
【００６１】
ステップＳ２０７では、出力制御部１１６により、決定されたフリック速度７７５ｄｏｔ／ｓが、フリック操作が行われた否かを判定するための閾値２００ｄｏｔ／ｓより大きいため、フリック操作が行われたと判定される。従って、出力制御部１１６は、フリック速度７７５ｄｏｔ／ｓに応じた速度でクロールされる表示画像を生成し、タッチパネルディスプレイ１０８に出力し、処理は終了する。
【００６２】
このような一連の処理により、操作例１では、ユーザが実際に行った約８００ｄｏｔ／ｓに近い７７５ｄｏｔ／ｓというフリック速度を得られる。
【００６３】
以上説明したように、本実施形態では、タッチ点の所定の時間間隔の間の移動速度を取得した情報を複数保持し、タッチ点がリリースされた時に、保持している複数の情報うち、所定の条件に基づいて一部を除外した速度情報に基づき、フリック速度を決定する。また、第１の実施形態では、所定の除外条件を「所定の範囲内に含まれ、かつ、大きさが大きい方から所定の数までの移動速度を除外する」とすることで、ユーザがタッチパネルから離れる直前、及び操作部の移動中にランダムに生じた大きな移動速度を除外する。これにより、操作部がタッチパネルの摩擦抵抗の影響を受け、操作部がタッチパネルから離れる直前に、意図したよりも大きな速度で移動してしまった場合でも、ユーザが意図的に指を動かしていたときの速度情報を利用して、適正なフリック速度を決定できる。従って、フリック操作の操作性を向上させることができる。
【００６４】
また、フリック操作がタッチパネルの摩擦抵抗を超える力、すなわち速い速度で行われた場合には、摩擦抵抗による突っ掛かりが無くなるため、移動速度除外処理が不要になる。従って、本実施形態では、除外範囲に上限を設けることで、速い速度でのフリック操作時には移動速度が除外されず、適正なフリック速度を決定できる。
【００６５】
なお、本実施形態では、一例としてフリック操作に応じて、表示画像をスクロール表示する例を説明したが、同様に画像やアイコンなど、タッチされていたオブジェクトをフリック操作に応じて表示画面内で移動させるような場合でも利用できる。
【００６６】
なお、本実施形態では、ｘ座標とｙ座標に対してそれぞれ別々に移動速度を取得することでベクトルとして表現できる。それにより、２乗やルートの計算が不要になるため、処理速度が向上するという効果もある。しかし、必ずしもｘ座標とｙ座標を別々に取得する必要はなく、実際に進んだ方向に対する移動速度を取得しても良い。フリック速度についても同様に、ｘ座標とｙ座標で別々に決定する必要はない。また、本実施形態では、座標の通知間隔を２０ｍｓとしているが、これより短い間隔で大量に座標が通知されるような環境では、座標を間引いて使用してもよい。
【００６７】
＜第１の実施形態の変形例１＞
第１の実施形態の変形例１では、取得されたタッチ点の情報、あるいは移動速度の情報の数に応じて除外対象とする速度情報の数を変更する。このような処理を加えることで、例えばユーザによるフリック操作の入力時間が短いなど、所定の時間間隔で通知される情報から、取得できる情報量が限られる場合でも、適正なフリック速度を決定する。
【００６８】
図１（ｃ）は情報処理装置１００の機能構成の一例を示すブロック図である。図１（ｂ）と異なる点は、計測部１１７、変更部１１８が追加されたことである。計測部１１７は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３等で構成され、保持部１１３に保持されている移動速度の情報の数を計測する。変更部１１８は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３等で構成され、計測部１１７が計測した移動速度の数に応じて、判定部１１４が除外対象として設定する移動速度の数を変更する。本実施形態では、一例として、除外速度の数の初期値が３に設定されており、その値を変更する処理を説明する。ただし、除外速度の数の初期値を設けず、変更部１１８が初めて除外対象とする移動速度の数を決定してもかまわない。
【００６９】
図５（ａ）は、情報処理装置１００がフリック操作を認識する処理の流れの一例を示すフローチャートである。尚、図２と同内容の処理ステップについては、同符号を付して説明を省略し、図２と異なる点を説明する。ステップＳ５０１では、計測部１１７が、保持部１１３が保持する情報に含まれる移動速度の情報の数を計測する。ステップＳ５０２では、変更部１１８が、ステップＳ５０１で計測した移動速度の取得数に応じて除外対象とする移動速度の数を変更する。ステップＳ２０５の内部処理として実行される図３のフローチャートの処理では、変更された数の移動速度を除外対象として指定するため、初期値を設定する。
【００７０】
図５（ｂ）は、計測部１１７が計測した、一連の操作中に取得部１１２が取得したタッチ点の情報から取得した移動速度情報の数と、その数に応じて除外対象とされる移動速度の数を対応付けた表の一例である。本実施形態では、タッチ点の情報を取得する回数が７回以上の場合には、最新の６回分の情報を保持するため、移動速度の情報の数の上限は５となる。この場合には、初期値である３つの移動速度を除外対象とする。移動速度の情報を保持している数が４の場合は、除外対象とする移動速度の数を２に変更する。これは、フリック速度を決定するために抽出する移動速度の数が少なくとも２つになるように、除外対象の数を定めるためである。少なくとも２つの移動速度の情報を抽出することで、決定部１１５は、平均値を求める処理を実行することができる。従って、移動速度の情報を保持している数が３の場合は、除外対象とする移動速度の数を１に変更する。移動速度の情報を保持している数が２の場合は、除外対象とする移動速度の数を０に変更する。移動速度の情報を保持している数が１の場合は、除外対象とする移動速度の数を０に変更するし、決定部１１５の処理では、保持されている１つの移動速度をフリック速度として決定する。
【００７１】
（操作例２）
ここで、具体的に、情報処理装置１００をユーザが操作する操作例２を説明する。図６は、フリック操作を構成する複数のタッチ点の一例を示す。図４と異なる点は、フリック操作の間に通知されたタッチ点の数が、５つであることである。操作例２で設定される所定のパラメータは、全て操作例１と同じとする。また、操作例２においても、ユーザは約８００ｄｏｔ／ｓ程度の速度で表示画像がスクロールされることを意図して、フリック操作を行った場合を想定する。その際、図６（ｃ）に示すように、ユーザの指４１０とタッチパネルの摩擦抵抗の影響から、移動速度２２００ｄｏｔ／ｓと、移動速度１６００ｄｏｔ／ｓという大きな速度が検出されている。
【００７２】
入力インタフェース１０５によりタッチ点６０１からタッチ点６０５までの情報が通知され、図５（ａ）のステップＳ２０１からステップＳ２０３までの処理の流れは操作例１において説明した場合と同様であるため、詳細な説明は省略する。ただし、操作例２では、タッチ点が５回通知された後、リリースされているので、保持部１１３に保持されるタッチ点の一連の情報は、検出５回分である。
【００７３】
タッチ点６０５が検出された時刻の２０ｍｓ後、入力インタフェース１０５からリリースの情報が通知されることで、図５（ａ）のフローチャートに示す処理が開始される。ステップＳ２０１からステップＳ２０４までの処理の流れは操作例１において説明した場合と同様である。操作例２では、ステップＳ２０３にて記憶されている５つのタッチ点の情報に基づいて、その間の移動速度の情報を取得する。ステップＳ５０１では、計測部１１７が、保持部１１３に保持されている移動速度の数を計測し計測結果の「４」を変更部１１８に通知する。ステップＳ５０２では、計測部１１７から通知された移動速度情報の数と、図５（ｂ）の表に基づいて、変更部１１８が、除外対象とする移動速度の数を２に変更する。ステップＳ２０５以降の処理の流れは操作例１と同様である。ただし、所定数が２つに変更されたことで、初期値として指定される除外対象の移動速度は［０ｄｏｔ／ｓ，０ｄｏｔ／ｓ］、最終的に除外対象に指定される除外対象の移動速度は［２２００ｄｏｔ／ｓ，１６００ｄｏｔ／ｓ］となる。従って、ステップＳ２０６で決定部１１５によって出力されるフリック速度は、８５０ｄｏｔ／ｓと８００ｄｏｔ／ｓの平均値である８２５ｄｏｔ／ｓとなり、ユーザが意図した速度約８００ｄｏｔ／ｓに近い速度を得られる。
【００７４】
このように、ユーザが操作を入力する時間が短く、移動速度の取得回数が少なかった時にも、除外速度の所定数を変更することで適正なフリック速度を決定することが可能となる。
【００７５】
＜実施形態１の変形例２＞
第１の実施形態では、フリック速度が大きくなりすぎないために、一般的なフリック操作の速度より大きい速度の範囲を除外範囲に設定したが、変形例２では、さらに除外条件を加えて、速度の大きさが閾値よりも小さい速度を除外して、フリック速度を求める。これにより、ユーザが操作の入力をし始めた直後の、操作部の遅い移動速度がフリック速度の決定に利用され、フリック速度の大きさがユーザの意図よりも小さくなってしまうことを防ぐことができる。
【００７６】
図７は、情報処理装置１００がさらに除外条件を加えて、フリック操作を認識する処理の流れの一例を示すフローチャートである。尚、図２と同内容の処理ステップについては、同符号を付して説明を省略し、図２と異なる点を説明する。ステップＳ７０１では、第２の区間判定処理として、判定部１１４が、ステップＳ２０５で抽出された移動速度から、第２の除外条件を満たす移動速度を除外した移動速度を抽出する。すなわち、第２の除外条件を満たす移動速度に対応する区間の移動は入力操作の移動速度に反映されず、抽出される移動速度に対応する区間の移動は入力操作の移動速度に反映される。変形例２は、第２の除外条件として、移動速度の大きさが閾値よりも小さい移動速度を除外し、残った移動速度の情報を抽出する。閾値よりも小さい移動速度を除外する場合にも、ステップＳ２０５で抽出された複数の移動速度のうち、大きさが小さい方から所定の数までの速度に限定して除外することで、決定部１１５がフリック速度を求める処理に利用する情報量を確保することができる。具体的な処理は、速度の大きい移動速度の情報を除外する場合の流れと同様に、処理対象として選択した移動速度と、既に除外対象に指定された速度との大きさを比較する。そして、除外対象とされている速度よりも小さいと判定された移動速度を、除外対象に指定して、除外対象の速度を更新すればよい。
【００７７】
（操作例３）
ここで、具体的に、情報処理装置１００をユーザが操作する操作例３を説明する。図８は、一連のフリック操作を構成する複数のタッチ点の一例を示す。図５と異なる点は、フリック操作として通知された座標点の数が６個であり、フリックし始めの２０ｍｓに、２５０ｄｏｔ／ｓという比較的小さい移動速度が取得されていることである。操作例３においても、ユーザは約８００ｄｏｔ／ｓ程度の速度で表示画像がスクロールされることを意図して、フリック操作を行った場合を想定する。その際、図８（ｃ）に示すように、ユーザの指８１０とタッチパネルの摩擦抵抗の影響から、移動速度２２００ｄｏｔ／ｓと、移動速度１６００ｄｏｔ／ｓが、という大きな速度が検出されている。
【００７８】
図８（ｃ）は、図８（ｂ）の各タッチ点のｘ座標と、各タッチ点間の移動距離、移動時間、移動速度、当該移動速度が除外されるか否かを示した表である。
【００７９】
ここで、操作例３において設定される所定のパラメータを説明する。操作例３においても、入力インタフェース１０５から２０ｍｓ毎に、タッチ点の検出情報が通知されるものとする。取得部１１２は、２０ｍｓの間の移動速度の情報を５つ取得するため、連続する６回の検出によって通知されたタッチ点の情報を保持する。これは、フリック操作が２０［ｍｓ］×６［回］＝１２０［ｍｓ］の時間の間に行われることが多いことから選ばれた値である。また、判定部１１４は、除外範囲８００ｄｏｔ／ｓ〜２５００ｄｏｔ／ｓに含まれ、かつ、大きい方から上位２位までの移動速度と、閾値３００ｄｏｔ／ｓより小さい１つの移動速度とを、除外対象に指定する。
【００８０】
従って、除外される移動速度は、２５０ｄｏｔ／ｓ（タッチ点８０１とタッチ点８０２間の移動速度）と２２００ｄｏｔ／ｓ（タッチ点８０３とタッチ点８０４間の移動速度）と１６００ｄｏｔ／ｓ（タッチ点８０５とタッチ点８０６間の移動速度）となる。その結果、決定部１１５が、抽出された移動速度の平均値である８２５ｄｏｔ／ｓをフリック速度として決定する。
【００８１】
このように、さらに除外条件を加え、速度の大きさが閾値よりも小さい速度を除外して、フリック速度を求めても、ユーザが実際に行った約８００ｄｏｔ／ｓに近い８００ｄｏｔ／ｓというフリック速度を得られる。これにより、ユーザが操作の入力をし始めた直後の、操作部の遅い移動速度がフリック速度の決定に利用され、フリック速度の大きさがユーザの意図よりも小さくなってしまうことを防ぐことができる。
【００８２】
なお、速度の大きさが小さい移動速度を除外する場合にも、取得されたタッチ点の情報、あるいは移動速度の情報の数に応じて、除外対象とする速度情報の数を変更することもできる。その際には、最低２つの情報が判定部１１４によって判定されるように設定することで、決定部１１５がフリック速度の決定に利用するための情報量を確保し、適正なフリック速度を決定することが可能となる。
【００８３】
＜第２の実施形態＞
第２の実施形態では、時分割に取得した複数の移動速度のうち、直前の移動の移動速度と大きさを比較し、増加量が閾値よりも大きい移動速度を除外候補とし、除外候補を全て除外する方法を説明する。
【００８４】
第２の実施形態に係る情報処理装置１００のハードウェア構成、及び機能構成は、第１の実施形態の図１（ａ）、（ｂ）と同様であるため、説明を省略する。第２の実施形態においても、ユーザのフリック操作を認識する処理は図２のフローチャートに従って実行される。
【００８５】
図９（ａ）は、第２の実施形態のステップＳ２０５で実行される移動速度の抽出処理の流れの一例を示すフローチャートである。
【００８６】
まず、ステップＳ９０１では、判定部１１４が、変数ｉを１に設定する。
【００８７】
次に、ステップＳ９０２では、判定部１１４が、保持部１１３の記憶領域のｉ番目に格納されている移動速度の大きさから、ｉ−１番目に格納されている移動速度の大きさを引いた値が、所定の閾値Ａよりも大きいか否かを判定する。閾値Ａは、ユーザが意図的にタッチパネルをタッチした操作部を動かしている速度と、タッチパネルの摩擦抵抗から開放されたことによって生じた大きな速度とを区別する閾値である。つまり、本実施形態では、所定の時間間隔で連続して取得されている移動速度において、直前の移動の移動速度からの大きさの増加量が閾値Ａを超えた場合、タッチパネルの摩擦抵抗から解放された時に生じた移動速度であると判定する。ｉ番目の速度の大きさからｉ−１番目の速度の大きさを引いた値が閾値Ａよりも大きいと判定された場合（ステップＳ９０２でＹＥＳ）には、処理はステップＳ９０３に進む。ｉ番目の速度の大きさからｉ−１番目の速度の大きさを引いた値が閾値Ａ以下であると判定された場合（ステップＳ９０２でＮＯ）には、ステップＳ９０４に進む。ただし、初回のループ処理では、ｉ−１番目の移動速度が存在しないため、ステップＳ９０２の判定はＮＯとなりステップＳ９０４に進むものとする。
【００８８】
ステップＳ９０３では、判定部１１４が、ｉ番目の移動速度の情報を、除外候補に決定する。
【００８９】
ステップＳ９０４では、保持部１１３に保持されている複数の移動速度の情報の全てを処理したか否かを判定する。全ての速度情報を処理したと判定された場合には（ステップＳ９０４でＹＥＳ）、ステップＳ９０６に進む。まだ全ての速度情報を処理していないと判定された場合には（ステップＳ９０４でＮＯ）、ステップＳ９０５に進む。
【００９０】
ステップＳ９０５では、変数ｉをｉ＋１に更新して、ステップＳ９０２に戻り処理を繰り返す。
【００９１】
ステップＳ９０６では、判定部１１４によって、除外候補に指定された移動速度に対応する区間の移動は、入力操作の移動速度に反映しないと判定される。一方、その他の、除外候補に指定されていない移動速度に対応する区間の移動は、入力操作の移動速度に反映すると判定される。
【００９２】
ステップＳ９０７では、判定部１１４が、保持部に保持されている複数の移動速度の情報のうち、除外候補を全て除外して残りの移動速度の情報を抽出し、図２のフローチャートに示す処理にリターンする。
【００９３】
図１０（ａ）は、第２の実施形態において、図４に示した具体的なフリック操作が入力された場合を想定し、各タッチ点のｘ座標、各タッチ点間の移動距離、移動時間、移動速度、直前の移動の速度からの増加量、当該移動速度が除外されるか否かを示した表である。なお、ここでは閾値Ａを５００ｄｏｔ／ｓとする。
【００９４】
本実施形態では、直前の移動との移動速度の差が５００ｄｏｔ／ｓより大きいとき、当該移動速度の情報を、フリック速度を決定するために利用する情報から除外する。従って図１０（ａ）に示すように、２２００ｄｏｔ／ｓ（タッチ点４０４とタッチ点４０５間の移動速度）と１６００ｄｏｔ／ｓ（タッチ点４０６とタッチ点４０７間の移動速度）とが除外され、残りの情報が抽出される。その結果、決定部１１５が、抽出された移動速度の平均値である８００ｄｏｔ／ｓをフリック速度として決定する。
【００９５】
このように、所定の時間間隔で連続して取得されている移動速度のうち、直前の移動の移動速度からの大きさの増加量が所定の閾値よりも大きい移動速度を除外しても、ユーザの意図する約８００ｄｏｔ／ｓに近い８００ｄｏｔ／ｓというフリック速度を得られる。このような場合、図３のフローチャートの処理ステップに比べて、処理ステップは簡略化できる。
【００９６】
なお、本実施形態では、１つの除外条件を満たすことで除外候補となった全ての移動速度を、決定部１１５の処理対象から除外したが、これに限らない。第２の実施形態においても、さらに除外条件を加えて、除外候補の中で速度の大きさが閾値よりも小さい速度を、決定部１１５の処理対象から除外して、フリック速度を求めてもよい。このようにすることで、ユーザが操作の入力をし始めた直後の、操作部の遅い移動速度がフリック速度の決定に利用され、フリック速度の大きさがユーザの意図よりも小さくなってしまうことを防ぐことができる。また第１の実施形態と同様に、取得されたタッチ点の情報、あるいは移動速度の情報の数に応じて、除外対象とする速度情報の数を変更することもできる。その際には、最低２つの情報が判定部１１４によって判定されるように設定することで、決定部１１５がフリック速度を求めるために利用するための情報量を確保し、適正なフリック速度を決定することが可能となる。
【００９７】
＜第３の実施形態＞
第３の実施形態では、保持部１１３が保持する複数の移動速度の情報に含まれる複数の移動速度の大きさの平均値より大きく、その差が所定の閾値より大きい移動速度を除外候補とし、除外候補を全て除外する例を説明する。
【００９８】
第２の実施形態に係る情報処理装置１００のハードウェア構成、及び機能構成は、第１の実施形態の図１（ａ）、（ｃ）と同様であるため、説明を省略する。第２の実施形態においても、ユーザのフリック操作を認識する処理は図２のフローチャートに従って実行される。
【００９９】
図９（ｂ）は、第２の実施形態のステップＳ２０５で実行される移動速度の抽出処理の流れの一例を示すフローチャートである。
【０１００】
まず、ステップＳ９１１では、判定部１１４が、保持部１１３に保持されている複数の移動速度の大きさを合計し、その数で割ることで、取得された移動速度の平均速度を求める。ただし、タッチ点の検出の時間間隔が一定でない場合には、複数の移動速度の大きさの合計値からは移動速度の平均値が求められない。そのため、保持部１１３に保持されている移動速度に対応する移動距離の合計値と、実際に検出された時間間隔の合計値を用いて、移動速度の平均速度を算出しても良い。
【０１０１】
次に、ステップＳ９１２では、判定部１１４が、変数ｉを１に設定する。
【０１０２】
次に、ステップＳ９１３では、判定部１１４が、保持部１１３の記憶領域のｉ番目に格納されている移動速度の大きさから、ステップＳ９１１で取得した平均速度を引いた値が、所定の閾値Ｂよりも大きいか否かを判定する。閾値Ｂは、ユーザが意図的にタッチパネルをタッチした操作部を動かしている速度と、タッチパネルの摩擦抵抗から開放されたことによって生じた大きな速度とを区別する閾値である。つまり、本実施形態では、所定の時間間隔で連続して取得されている移動速度が、平均の移動速度よりも大きく、その差が閾値Ｂより大きい場合、タッチパネルの摩擦抵抗の影響をうけたとみなす。ｉ番目の速度の大きさから平均の移動速度の大きさを引いた値が閾値Ｂよりも大きいと判定された場合（ステップＳ９１３でＹＥＳ）には、処理はステップＳ９１４に進む。ｉ番目の速度の大きさから平均の移動速度の大きさを引いた値が閾値Ａ以下であると判定された場合（ステップＳ９１３でＮＯ）には、ステップＳ９１５に進む。
【０１０３】
ステップＳ９１４では、判定部１１４が、ｉ番目の移動速度の情報を、除外候補に決定する。
【０１０４】
ステップＳ９１５では、保持部１１３に保持されている複数の移動速度の情報の全てを処理したか否かを判定する。全ての速度情報を処理したと判定された場合には（ステップＳ９１５でＹＥＳ）、ステップＳ９１７に進む。まだ全ての速度情報を処理していないと判定された場合には（ステップＳ９１５でＮＯ）、ステップＳ９１６に進む。
【０１０５】
ステップＳ９１６では、変数ｉをｉ＋１に更新して、ステップＳ９１３に戻り処理を繰り返す。
【０１０６】
ステップＳ９１７では、判定部１１４によって、除外候補に指定された移動速度に対応する区間の移動は、入力操作の移動速度に反映しないと判定される。一方、その他の、除外候補に指定されていない移動速度に対応する区間の移動は、入力操作の移動速度に反映すると判定される。
【０１０７】
ステップＳ９１８では、判定部１１４が、保持部に保持されている複数の移動速度の情報のうち、除外候補を全て除外して残りの速度情報を抽出し、図２のフローチャートに示す処理にリターンする。
【０１０８】
図１０（ｂ）は、第３の実施形態において、図４に示した具体的なフリック操作が入力された場合を想定し、各タッチ点のｘ座標と、各タッチ点間の移動距離、移動時間、移動速度、平均の移動速度の速度差、当該移動速度が除外されるか否かを示した表である。なお、ここでは閾値Ｂを３００ｄｏｔ／ｓとする。
【０１０９】
まず、ステップＳ９１１では、判定部１１４が、保持部１１３に保持されている複数の移動速度の情報から平均の移動速度を求めると、（７５０＋８５０＋２２００＋８００＋１６００）／５＝１２４０ｄｏｔ／ｓとなる。本実施形態では、平均の移動速度よりも大きく、その差が３００ｄｏｔ／ｓより大きい移動速度の情報を、フリック速度を決定するために利用する情報から除外する。従って図１０（ｂ）に示すように、２２００ｄｏｔ／ｓ（タッチ点４０４とタッチ点４０５間の移動速度）と１６００ｄｏｔ／ｓ（タッチ点４０６とタッチ点４０７間の移動速度）とが除外され、残りの情報が抽出される。その結果、決定部１１５が、抽出された移動速度の平均値である８００ｄｏｔ／ｓをフリック速度と決定する。
【０１１０】
このように、除外条件を「保持されている複数の移動速度の平均速度より所定の閾値以上大きい移動速度を除外する」としても、ユーザが実際に行った約８００ｄｏｔ／ｓに近い８００ｄｏｔ／ｓというフリック速度を得られる。このような場合、図３のフローチャートの処理ステップに比べて、処理ステップは簡略化できる。
【０１１１】
なお、第３の実施形態においても、さらに除外条件を加えて、速度の大きさが平均速度よりも閾値以上小さい速度を除外して、フリック速度を求めてもよい。このようにすることで、ユーザが操作の入力をし始めた直後の、操作部の遅い移動速度がフリック速度の決定に利用され、フリック速度の大きさがユーザの意図よりも小さくなってしまうことを防ぐことができる。また第１の実施例と同様に、取得されたタッチ点の情報、あるいは移動速度の情報の数に応じて、除外対象とする速度情報の数を変更することもできる。その際には、最低２つの情報が判定部１１４によって抽出されるように設定することで、決定部１１５がフリック速度の決定に利用するための情報量を確保し、適正なフリック速度を決定することが可能となる。
【０１１２】
第３の実施形態でも、１つの除外条件を満たすことで除外候補となった全ての移動速度を、決定部１１５の処理対象から除外したが、これに限らない。また、本実施形態では、平均速度より大きく、その差が閾値より大きい移動速度を除外したが、平均速度より大きく、その差が上限を有する所定の範囲に含まれる速度を除外するようにすることもできる。このようにすることで、平均速度より大きく、その差が所定の範囲の上限を超える移動速度は除外されない。これにより、速い速度でのフリック操作時には移動速度が除外されず、適正なフリック速度を決定できる。あるいは、ステップＳ９１１で取得した平均の速度が、所定の閾値よりも大きい場合には、移動速度抽出処理を中止して、保持部１１３が保持する全ての移動速度を抽出するようにしてもよい。この場合にも、速い速度でのフリック操作時には移動速度が除外されず、適正なフリック速度を決定でき、不要な移動速度処理を実行せずに済み、性能向上、省電力化を図る事ができる。
【０１１３】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014056487.tif 000003
【図２】
2014056487.tif 000004
【図３】
2014056487.tif 000005
【図４】
2014056487.tif 000006
【図５】
2014056487.tif 000007
【図６】
2014056487.tif 000008
【図７】
2014056487.tif 000009
【図８】
2014056487.tif 000010
【図９】
2014056487.tif 000011
【図１０】
2014056487.tif 000012