(57)【要約】【課題】  マルチタッチ操作が可能な装置において、ユーザの意図に反した誤動作を抑止する。【解決手段】  上記課題を解決するために、本発明は、タッチ操作の対象領域においてタッチされているタッチ点を検出する検出部１２１と、情報処理装置１００が移動されたことを示す情報を検知する検知部１２３と、前記検出手段により検出されているタッチ点のうち、前記移動中に検出されたタッチ点を無効とする判定を行う判定部１２２と、前記判定手段により無効とされたタッチ点を除くタッチ点に基づいて、タッチ操作を認識する認識部１２５と、を備えることを特徴とする。【選択図】  図１
2014010650.tif 000002
【特許請求の範囲】
【請求項１】
タッチ操作を認識する情報処理装置であって、
タッチ操作の対象領域においてタッチされているタッチ点を検出する検出手段と、
前記情報処理装置が移動されたことを示す情報を検知する検知手段と、
前記検出手段により検出されているタッチ点のうち、前記移動中に検出されたタッチ点を無効とする判定を行う判定手段と、
前記判定手段により無効とされたタッチ点を除くタッチ点に基づいて、タッチ操作を認識する認識手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記検知手段は、前記情報処理装置が傾いている角度を示す情報を検知し、
前記判定手段は、前記検出手段により検出されているタッチ点のうち、前記検知手段により検知されている角度が閾値以上変化したときに検出されているタッチ点を無効とする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記検出手段により複数のタッチ点を検出した場合に、前記複数のタッチ点のうち、前記情報処理装置の角度が閾値以上変化したときに検出されているタッチ点による入力を無効とすることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記判定手段は、前記複数のタッチ点のうち、最新のタッチ点、または最新の移動を検出したタッチ点ではないタッチ点について、前記情報処理装置の角度が閾値以上変化したときに検出されているタッチ点による入力を無効とすることを特徴とする請求項３の情報処理装置。
【請求項５】
前記判定手段は、前記検出手段により検出されているタッチ点が増加した時に、前記複数のタッチ点のうち、最新のタッチ点ではないタッチ点について、前記複数のタッチ点のうち、前記情報処理装置の角度が閾値以上変化したときに検出されているタッチ点による入力を無効とすることを特徴とする請求項４の情報処理装置。
【請求項６】
前記判定手段は、前記検出手段により検出されている複数のタッチ点のうち、一部のタッチ点が所定の距離以上移動した最新の移動を検出した時に、前記最新の移動を検出したタッチ点ではないタッチ点について、前記情報処理装置の角度が閾値以上変化したときに検出されているタッチ点による入力を無効とすることを特徴とする請求項３の情報処理装置。
【請求項７】
前記判定手段は、前記検知手段により検知されている角度が前記閾値以上変化する度に、前記検出手段により検出されている全てのタッチ点を無効とすることを特徴とする請求項２乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記検知手段は、情報処理装置が存在する位置を示す情報を検知し、
前記判定手段は、前記検出手段により検出されているタッチ点のうち、前記検知手段により検知されている位置が閾値以上変化したときに検出されているタッチ点を無効とすることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記検知手段により検知される位置情報は、前記情報処理装置の、ある範囲内における相対的な位置情報であることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記判定手段は、前記検知手段により検知される位置が閾値以上の加速度で変化しているときに検出されているタッチ点を無効とすることを特徴とする請求項８又は９に記載の情報処理装置。
【請求項１１】
コンピュータに読み込ませ実行させることで、請求項１乃至１０に記載された情報処理装置として動作させるためのプログラム。
【請求項１２】
タッチ操作を認識する情報処理装置の制御方法であって、
検出手段により、タッチ操作の対象領域においてタッチされているタッチ点を検出する検出工程と、
検知手段により、前記情報処理装置が移動されたことを示す情報を検知する検知工程と、
判定手段により、前記検出工程において検出されているタッチ点のうち、前記移動中に検出されたタッチ点を無効とする判定を行う判定工程と、
認識手段により、前記判定工程において無効とされたタッチ点を除くタッチ点に基づいて、タッチ操作を認識する認識工程と、
を有することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチ操作を認識する技術に関する。
【背景技術】
【０００２】
近年、ユーザの指あるいはスタイラスにより画面がタッチされたことに応答して、タッチされた位置のＸ，Ｙ座標値を入力値として取り込み、この入力値に基づいて各種処理を実行するタッチ入力機器が普及している。また、画面の複数点をタッチすることにより操作を行う、いわゆるマルチタッチの技術が発展しつつある。このマルチタッチの操作においては、例えば右手の人差し指と親指の２つを使って２点をタッチするなどにより、拡大、縮小、スクロールなどの多種多様な操作が可能である。
【０００３】
このようなタッチ入力機器では、多くの場合、できるだけ装置全体を画面として設計することが望まれる。従って、例えばユーザが手でタッチ入力機器を保持するためなど、無意識に画面をタッチしてしまう事が起こり得る。マルチタッチ操作が可能なタッチ入力機器において、上述したようにユーザが誤って画面を触ってしまった場合には、ユーザの意図よりも多くのタッチ入力が認識されてしまい、誤動作の原因となりえる。
【０００４】
ユーザの意図しないタッチ点を無効にする技術として、特許文献１が知られている。特許文献１では、情報処理端末が水平から所定の角度以上傾けた姿勢であり、かつ、所定の位置を所定の時間以上タッチし続けているタッチ点が存在する場合、このタッチ点は端末を保持するためのタッチであるとして無効にする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１‐１８０９４３号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
タッチあるいはマルチタッチによって操作される情報処理装置は、様々な姿勢で使用されることが想定される。従って、上記特許文献１のように、装置を所定角度以上傾けた状態であるかを検知することで、無効なタッチ点を判断することは適切ではない場合もある。
【０００７】
本発明は上記課題に鑑みてなされたものであり、タッチによる操作が可能な装置において、情報処理装置を使用する姿勢に影響されることなく、タッチによる誤動作がユーザの意図に反して行われないようにすることを主な目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、タッチ操作を認識する情報処理装置であって、
タッチ操作の対象領域においてタッチされているタッチ点を検出する検出手段と、前記情報処理装置が移動されたことを示す情報を検知する検知手段と、前記検出手段により検出されているタッチ点のうち、前記移動中に検出されたタッチ点を無効とする判定を行う判定手段と、前記判定手段により無効とされたタッチ点を除くタッチ点に基づいて、タッチ操作を認識する認識手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、タッチによる操作が可能な装置において、情報処理装置を使用する姿勢に影響されることなく、タッチによる誤動作がユーザの意図に反して行われないようにできる。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置１００の外観と構成の一例を示す図
【図２】ユーザのタッチ入力を認識する処理を示すフローチャート
【図３】タッチ点を検出する処理を示すフローチャート
【図４】情報処理装置１００の操作例を示す図
【図５】情報処理装置１００の操作例を示す図
【図６】保持部に保持される情報の一例を示す図
【図７】ユーザのタッチ入力を認識する処理を示すフローチャート
【図８】ユーザのタッチ入力を認識する処理を示すフローチャート
【図９】タッチ点を無効化する処理を示すフローチャート
【図１０】情報処理装置１００の操作例を説明する図
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について、図面を参照しながら説明する。なお、以下で説明する実施形態は、本発明を具体的に実施した場合の一例を示すものであり、これに限るものではない。
【００１２】
［第１の実施形態］
図１は、本実施形態に適用可能な情報処理装置の外観とハードウェア構成の一例を示す。図１（ａ）は、情報処理装置１００の一例である携帯端末を画面の正面及び側面から見た外観を示す図である。図１（ａ）において、匡体１０１は、入力領域１０２の外周部であり、合成樹脂や金属等で形成される。ユーザが情報処理装置１００を支持する場合、通常はこの匡体１０１の一部を手で掴むことになる。入力領域１０２は、タッチセンサ等で構成され、ユーザがタッチの対象とする対象領域であり、情報処理装置１００に対する入力を受け付ける。本実施形態では、入力領域１０２は表示部であるディスプレイ上にタッチセンサを設置したタッチパネルディスプレイによって構成される。この表示画面には、情報処理装置１００、あるいは情報処理装置１００と接続された装置を操作するためのインタフェースを表示する。以降、本実施形態では、図１（ａ）のような携帯端末である情報処理装置１００の例を説明する。
【００１３】
なお以下で説明する「移動」とは、ユーザの手によって装置を傾けること、上下移動させること、回転させること、或いは前述の組合せに相当する。以下では主に傾きの変化による移動を例に説明するが、上下移動や回転の検知を適用すれば、角度変化以外の種々の移動に応用できる。
【００１４】
本実施形態では、ユーザが入力領域１０２に触れた点（以下タッチ点と呼ぶ）のうち、情報処理装置１００を持ち上げるなどの移動をさせたときに検出されているタッチ点は、当該装置を手で支持するために入力領域１０２に触れた可能性が高いと考える。従って、情報処理装置１００を操作するためのタッチ入力ではないとみなし、入力としては無効とする。特に、本実施形態では、検出されたタッチ点のうち、情報処理装置１００自体の傾きが所定の閾値以上変化したに検出されているタッチ点は、当該装置を手で支持するために入力領域１０２に触れた可能性が高いと考える。よって、情報処理装置１００の傾きを示す角度情報を検知し、角度が所定の閾値以上変化したときに検出されているタッチによる入力は無効とする。
【００１５】
図１（ｂ）は、本実施形態に適用可能な情報処理装置１００のハードウェア構成を示すブロック図の一例である。図１（ｂ）において、ＣＰＵ１１１は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔである。また、ＲＯＭ１１２は、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙであり、ＨＤＤ１１３は、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅである。本実施形態では、ＣＰＵ１１１が、ＲＯＭ１１２やＨＤＤ１１３に格納されている制御プログラムを読み出して実行し、各デバイスを制御する。この制御プログラムは、本実施形態で説明される各種動作を情報処理装置１００に実行させるための制御プログラムである。ＲＯＭ１１２は、それらの制御プログラムやそのプログラムに利用される各種データを保持する。ＲＡＭ１１４は、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙであり、ＣＰＵ１１１の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。ＨＤＤ１１３は、上述の各種制御プログラムや各種データを格納する。タッチパネルディスプレイ１１５は、入力領域１０２におけるユーザの操作情報を取り込むためのタッチセンサ等と表示出力を行う表示画面を兼ねるデバイスである。出力Ｉ／Ｆ１１６はネットワーク等を介してディスプレイ以外の出力装置に各種情報を出力するためのインタフェースである。角度センサ１１７は、例えば加速度センサであって、情報処理装置１００が鉛直方向に対して傾いている傾きの角度情報を検知する。バス１１８は、ＣＰＵ１１１の制御の対象とする構成要素を指示するアドレス信号、各構成要素を制御するためのコントロール信号、各構成機器相互間でやりとりされるデータの転送を行う。なお、上述した制御プログラムは、ＲＯＭ１１２又はＨＤＤ１１３に予め記憶されていてもよいし、必要に応じてネットワークを介して外部装置などから受理し、ＲＯＭ１１２又はＨＤＤ１１３に記憶しても良い。
【００１６】
ＣＰＵ１１１は、ＲＯＭ１１２又はＨＤＤ１１３等に記憶されているプログラムを実行することにより、後述する情報処理装置１００の各種機能あるいは後述するフローチャートに示す各種動作を実行する。
【００１７】
図１（ｃ）は、情報処理装置１００のソフトウェアの構成を示すブロック図の一例である。検出部１２１は、ＣＰＵ、ＲＯＭ、ＲＡＭ（以下、ＣＰＵ等）によって構成され、タッチパネルディスプレイ１１５のタッチセンサからの信号を取得し、ユーザによってタッチされているタッチ点に関する情報を検出する。タッチ点に関する情報とは、例えば入力領域１０２内でのタッチ点の位置を示す座標情報、その位置でタッチ点が検出された検出時刻、検出された順番等を示す情報である。判定部１２２は、ＣＰＵ等によって構成され、検出部１２１が検出したタッチ点の数の変化を基に、処理を実行して、検出されているタッチ点が情報処理装置１００に対する入力として有効か無効か判定する。検知部１２３は、角度センサ１１７及びＣＰＵ等によって構成され、一定の周期で情報処理装置１００の傾きを検知し、所定の角度以上の変化があったか否かを判定し、した結果に基づき、情報処理装置が移動されたことを示す情報を検知する。保持部１２４は、ＲＡＭ１１４に相当し、検出部１２１が検出したタッチ点に関する情報と検知部１２３が検知した角度の情報を保持する。判定部１２２は、保持部１２４に保持された情報を参照する。認識部１２５は、ＣＰＵ等によって構成され、判定部１２２による判定結果を受け、保持部１２４に保持された中から、有効なタッチ点に関する情報を取得し、タッチ操作を構成する入力情報として認識する。ユーザのタッチによる入力が認識された場合には、出力制御部１２６は、入力に対応する結果を出力させる制御を行う。本実施形態では、これらの各機能部は、ＣＰＵがＲＯＭに格納されたプログラムをＲＡＭに展開し実行することでその機能を実現する。ただし、本発明は、これらの機能部をハードウェアで実現する情報処理装置によっても同様に実現可能である。
【００１８】
次に、図２のフローチャートに従い、本実施形態においてユーザのタッチ入力を認識する処理の流れを説明する。なお、本実施形態では、情報処理装置１００の電源が投入されたことに応じて以降の処理が開始される。ただしこれに限らず、装置のロックが解除されたり、特定のアプリケーションが起動されたりしたことに応じてタッチ入力を認識する処理が開始されても構わない。
【００１９】
まず、ステップＳ２０１において、検出部１２１が入力領域１０２に対するタッチ点に関する情報を検出する。ここでは、ユーザが操作のために入力領域１０２において指をタッチさせたことをタッチパネルディスプレイ１１５のタッチセンサが検知し、検出部１２１は、タッチセンサから得られる情報を基に、タッチされた位置の情報を検出する。更に、タッチ点が検出された時刻とタッチ点のＩＤ、及び情報処理装置１００の傾きが閾値以上変化したか否かを示す情報（傾き変化フラグ）を取得し、保持部１２４に保持させる。本実施形態では、情報処理装置１００の傾きが閾値以上変化したときに検出されているタッチ点に対しては、傾き変化フラグがＴＲＵＥになり、それ以外のタッチ点に対しては傾きフラグがＦＡＬＳＥになる。例えば、この傾き変化フラグは１ビットで表現され、１の場合がＴＲＵＥで、０の場合がＦＡＬＳＥである。また、検出部１２１は、同じＩＤのタッチ点が、異なる位置で検出された場合には、情報を更新して保持する。本実施形態において、位置の情報は、入力領域１０２の左上を原点とした座標平面に基づく座標（ｘ，ｙ）で示される。またＩＤとは、検出部１２１が検出したタッチ点を識別するための識別情報である。本実施形態では、入力領域１０２を何番目にタッチした点かに基づき、検出順に０、１、…という番号のＩＤを割り当てる。また、検出部１２１は、入力領域１０２からユーザの指が離れた場合は、保持部１２４から離れたタッチ点に関する情報を削除する。タッチ点を取得する処理の詳細は後述する。
【００２０】
次に、ステップＳ２０２において、判定部１２２が、検出部１２１によって複数のタッチ点が検出されているかを判定する。この際、判定部１２２は、保持部１２４に保持された情報を参照し、保持されたＩＤの数からタッチ点数を求め、検出されているタッチ点の数が複数か否かを判定する。ステップＳ２０２において、複数のタッチ点が検出されていると判定された場合（ステップＳ２０２でＹＥＳ）には、処理はステップＳ２０３に進む。複数のタッチ点が検出されていないと判定された場合（ステップＳ２０２でＮＯ）には、処理はステップＳ２０５に進む。
【００２１】
ステップＳ２０３では、判定部１２２が、検出されている複数のタッチ点のうち、情報処理装置１００の傾きが閾値以上変化したときに検出されていたタッチ点を無効とする。本実施形態の判定部１２２は、保持部１２４に保持された情報を参照し、情報処理装置１００の傾きが閾値以上変化したことを示す傾き変化フラグの状態（ＴＲＵＥ、ＦＡＬＳＥ）に基づいて、無効とするタッチ点を特定し、認識部１２５に通知する。
【００２２】
そして、ステップＳ２０４において、認識部１２５がタッチ点による有効な入力情報を認識し、ユーザのタッチ入力を認識する処理を終了する。
【００２３】
一方、ステップＳ２０５では、判定部１２２が、取得されたタッチ点が、判定部１２２によって既に無効とされたタッチ点であるか否かを判定する。取得されたタッチ点が、判定部１２２によって既に無効とされていた場合には、当該タッチ点が、情報処理装置１００を支持するために入力領域１０２に触れた指によるタッチ点である可能性が高いので、本実施形態では、引き続き無効とする。従って、取得されたタッチ点が、判定部１２２によって既に無効とされたタッチ点であると判定された場合（ステップＳ２０５でＹＥＳ）には、ステップＳ２０４に進む。一方で、取得されたタッチ点が、判定部１２２によって既に無効とされたタッチ点ではないと判定された場合（ステップＳ２０５でＮＯ）には、ステップＳ２０６に進む。
【００２４】
ステップＳ２０６では、判定部１２２が、検出されている全てのタッチ点による入力を有効とすると判定し、判定結果示す情報を認識部１２５に通知する。
【００２５】
ここで、図３は、ステップＳ２０１において実行される、タッチ点検出処理の流れを示すフローチャートである。
【００２６】
まず、ステップＳ３０１において、検出部１２１は、タッチセンサから通知されたタッチイベントが「ＴＯＵＣＨ」であるか否かを判定する。本実施形態において用いるタッチセンサからは、入力領域１０２を走査して、タッチされていることを検出したとき、あるいは検出されていたタッチが離されたときにタッチイベントを通知される。ここでは、入力領域１０２がタッチされていることを検出したときにはタッチイベントとして「ＴＯＵＣＨ」を、検出されていたタッチが離されたときにはタッチイベントとして「ＲＥＬＥＡＳＥ」が検出部１２１に通知される。通知されたタッチイベントが「ＴＯＵＣＨ」だと判定された場合（ステップＳ３０１でＹＥＳ）には、ステップＳ３０２に進む。通知されたタッチイベントが「ＴＯＵＣＨ」ではない、すなわち「ＲＥＬＥＡＳＥ」であった場合（ステップＳ３０１でＮＯ）には、ステップＳ３１０に進む。
【００２７】
ステップＳ３０２では、検出部１２１が、「ＴＯＵＣＨ」が通知されたタッチ点と同じＩＤのタッチ点が既に検出されているか否かを判定する。検出部１２１は、保持部１２４に保持された情報を参照し、対応するＩＤが含まれているかを判定する。同じＩＤのタッチ点が検出されていないと判定された場合（ステップＳ３０２でＮＯ）には、処理はステップＳ３０３に進む。一方、同じＩＤのタッチ点が既に検出されていると判定された場合（ステップＳ３０２でＹＥＳ）には、処理はステップＳ３０５に進む。
【００２８】
ステップＳ３０３において、検出部１２１は、「ＴＯＵＣＨ」が検出されたタッチ点のＩＤ、座標、検出時刻の情報を保持部１２４に保持されている情報に新規追加する。
【００２９】
次にステップＳ３０４において、検知部１２３が、情報処理装置１００の傾きを示す角度情報を検知し、検知した角度情報を、処理対象となっているタッチ点の初期角度として、保持部１２４に保持されている情報に追加する。
【００３０】
一方、ステップＳ３０５では、検出部１２１が、「ＴＯＵＣＨ」が検出されたタッチ点が以前に検出された時と同じ位置で検出されたか否かを判定する。検出部１２１は、保持部１２４に保持されている情報に含まれるタッチ点の座標を参照し、今回「ＴＯＵＣＨ」が検出された位置と一致するか否かを判定する。タッチ点が同じ位置で検出されたと判定された場合（ステップＳ３０５でＹＥＳ）には、ステップＳ３０６に進む。タッチ点が異なる位置で検出されたと判定された場合（ステップＳ３０５でＮＯ）には、ステップＳ３１２に進む。
【００３１】
ステップＳ３０６では、検知部１２３が、タッチ点が検出されてからの傾きの変化を取得する。本実施形態では、検知部１２３は、情報処理装置１００の傾きを示す角度情報を検知するとともに、「ＴＯＵＣＨ」が検出されたタッチ点関連付けて保持部１２４に保持されている角度情報を参照し、傾きが変化した角度を計算する。
【００３２】
ステップＳ３０７では、検知部１２３が、傾きの変化が閾値以上あったか否かを判定する。検知部１２３は、ステップＳ３０６で取得した角度と、予め保持されている閾値とを比較し、ステップＳ３０６で取得した角度が閾値以上であった場合には、傾きの変化が閾値以上あったと判定して（ステップＳ３０７でＹＥＳ）、ステップＳ３０８に進む。一方、傾きの変化が閾値未満と判定された場合（ステップＳ３０７でＮＯ）には、処理はステップＳ３０９に進む。
【００３３】
ステップＳ３０８では、検知部１２３が、傾きが変化したことを示す情報を、保持部１２４に保持されているタッチ点の情報に関連付けて記憶する。本実施形態では、情報処理装置１００の傾きが閾値以上変化したときに検出されていたタッチ点に対して、傾き変化フラグをＴＲＵＥにする。なお、すでに傾き変化フラグがＴＲＵＥになっているタッチ点については、そのフラグの状態を維持する。
【００３４】
そして、ステップＳ３０９では、保持部１２４に保持されている情報のうち、ステップＳ３０１で「ＴＯＵＣＨ」が検出されたのと同じＩＤのタッチ点の検出時刻や位置情報を必要に応じて更新する。情報が更新されると、処理はタッチ入力を認識する処理（図２）にリターンする。
【００３５】
一方、ステップＳ３０１でＮＯと判定された場合、すなわち「ＴＯＵＣＨ」以外のタッチイベントがタッチセンサから通知された場合、本実施形態ではすなわち「ＲＥＬＥＡＳＥ」が通知されたことになる。従って、ステップＳ３１０では、検出部１２１が、保持部１２４に保持されていた情報のうち、「ＲＥＬＥＡＳＥ」が検出されたタッチ点に対応するＩＤに関連付けられていた情報を、ＩＤとともに削除する。
【００３６】
さらに、ステップＳ３１１において、検知部１２３が、当該タッチ点に傾きが変化したことを示す情報が関連付けられていた場合、それを削除する。本実施形態の場合、ステップＳ３０８において挙げられた傾き変化フラグをＦＡＬＳＥに更新する。そして処理はタッチ入力を認識する処理（図２）にリターンする。ただし、「ＲＥＬＥＡＳＥ」が検出されたタッチ点に傾きが変化したことを示す情報が関連付けられていない場合には、ステップＳ３１１の処理は省略される。
【００３７】
また、ステップＳ３０５でＮＯと判定された場合、すなわち既に検出されているＩＤのタッチ点が、移動して異なる位置で検出された場合、本実施形態では新たなタッチ点が検出されたものとみなす。従って、当該ＩＤのタッチ点が、移動する前の位置において、情報処理装置１００の傾きが変化したときに検出されていたとしても、移動後の位置には影響しない。そのため、ステップＳ３１２では、当該タッチ点に傾きが変化したことを示す情報がＴＲＵＥになっていた場合、それをＦＡＬＳＥにする。本実施形態の場合、ステップＳ３０８において挙げられた傾き変化フラグをＦＡＬＳＥにする。ステップＳ３１３では、検知部１２３が、情報処理装置１００の傾きを示す角度情報を取得し、保持部１２４に保持されている初期角度を更新する。そして処理はタッチ入力を認識する処理（図２）にリターンする。
【００３８】
なお、本実施形態では、タッチセンサが入力領域１０２を走査し、タッチを検出したときには「ＴＯＵＣＨ」を、検出されていたタッチ点が解除されたときには「ＲＥＬＥＡＳＥ」をタッチイベントとして通知するタッチパネルを用いたが、これに限らない。例えば、新たに入力領域１０２がタッチされた場合には「ＴＯＵＣＨ＿ＤＯＷＮ」、既に検出されていたＩＤのタッチ点の移動が検出された場合には「ＭＯＶＥ」、離された時には「ＴＯＵＣＨ＿ＵＰ」をタッチイベントとして通知するものでもよい。この場合、「ＴＯＵＣＨ＿ＤＯＷＮ」が通知された場合に、保持部１２４に保持されるタッチ点と傾きの情報を新規追加し、「ＭＯＶＥ」が通知された場合には同じＩＤの情報を更新し、「ＴＯＵＣＨ＿ＵＰ」が通知された場合に、同じＩＤの情報を削除すればよい。そして、「ＴＯＵＣＨ＿ＤＯＷＮ」が通知されてから、同じＩＤのタッチ点の「ＭＯＶＥ」あるいは「ＴＯＵＣＨ＿ＵＰ」が通知されるまでの間に、所定時間毎に検知部１２３が情報処理装置１００の傾きを示す角度を検知し、角度の変化量を閾値と比較する。そして、閾値以上の変化があったときに検出されているタッチ点について、傾き変化フラグをＴＲＵＥにする。
【００３９】
このように、情報処理装置１００は、入力装置であるタッチパネルで検出されている複数のタッチ点をＩＤによって識別して情報を管理する。従って、複数のタッチ点それぞれの動きを検出することができるので、それらのタッチ点に構成されるマルチタッチ操作を認識することができる。
【００４０】
ここで、具体的に、第１の実施形態による情報処理装置１００をユーザが操作する操作例を、図４〜６を参照して説明する。図４及び図５は、情報処理装置１００の操作例を示す図である。また、図６は保持部１２４に保持される情報の一例を示す。この操作例で使用する情報処理装置１００は、傾きを示す角度が２０［°］以上変化したときに検出されているタッチ点を無効とし、入力として認識しないように設定されている。
【００４１】
図４（ａ）、（ｃ）、（ｅ）は、情報処理装置１００を入力領域１０２側から見た状態を示す図である。また、図４（ｂ）、（ｄ）、（ｆ）は、情報処理装置１００を入力領域１０２に向かって右側から見た状態を示す図である。
【００４２】
なお、ここで説明する情報処理装置１００のタッチパネルディスプレイ１１５の入力領域１０２は、４８０［ｄｏｔ］×６４０［ｄｏｔ］の解像度を有し、向かって左上を原点とする座標平面として位置情報を管理することができる。また、タッチパネルディスプレイ１１５のタッチセンサは２０ミリ秒毎に入力領域１０２を走査してタッチイベントを通知し、角度センサ１１７は１０ミリ秒毎に情報処理装置１００の鉛直方向に対する傾きを示す角度を検知する。
【００４３】
まず、図４（ａ）及び（ｂ）は、水平面上に載置されている情報処理装置１００を、ユーザが持ち上げようとしている状態を示している。このとき、情報処理装置１００は、水平線４０２に対して平行であり、このとき角度センサ１１７は鉛直方向に対して９０［°］という角度を検知する。ユーザが装置を持ち上げるために左手の親指４０１で入力領域１０２に触れると、検出部１２１によって親指４０１によるタッチ点の情報が検出され、保持部１２４に保持される（ステップＳ２０１）。図６（ａ）は、このとき保持される情報の一例を示すテーブルである。タッチ点のＩＤは０とし、タッチ点の位置を示す座標（４０，３４０）、検出時刻０［ｍｓ］が、ＩＤが０のタッチ点（以下、タッチ点０と記載する。）に関連付けて保持部１２４に保持される。そして、検知部１２３が、情報処理装置１００の傾きを示す角度情報９０［°］を、タッチ点０の初期角度として関連付けて保持部１２４に保持する。この状態では、検出部１２１に検出されているタッチ点は複数ではなく、タッチ点０は初めて検出されたタッチ点であるため、タッチ点による入力は全て有効であると決定され（ステップＳ２０６）、入力情報が認識される（ステップＳ２０４）。
【００４４】
次に、図４（ｃ）及び（ｄ）は、図４（ａ）及び（ｂ）の状態の２０ミリ秒後、ユーザが左手で情報処理装置１００を支持して持ち上げている途中経過を示している。このときも、ユーザの左手の親指４０１が入力領域１０２に触れており、図４（ａ）、（ｂ）との差異は、情報処理装置１００の水平線４０２に対する角度が１０［°］変化したことである。このとき、検出部１２１によって親指４０１によるタッチ点の情報が検出され、保持部１２４に保持される（ステップＳ２０１）。ここで、タッチ点０の位置は座標（４０，３４０）であり、前回タッチイベント「ＴＯＵＣＨ」が検出された時と同じ位置である（ステップＳ３０５でＹＥＳ）。従って、検知部１２３は、検知部１２３は、情報処理装置１００の傾きを示す角度情報８０［°］を検知し、傾きの変化を取得する（ステップＳ３０６）。このとき、傾きの変化は−１０［°］である。傾きの変化の閾値は２０［°］に設定されているため、情報処理装置１００は閾値以上の傾きの変化がないことがわかる（ステップＳ３０７でＮＯ）。従って、検出部１２１は、タッチ点０について、位置は座標（４０，３４０）、タッチ点を検出した時刻は２０［ｍｓ］として、保持部１２４に保持されたタッチ点０に関する情報を更新する（ステップＳ３０９）。図６（ｂ）は、このとき保持される情報の一例を示すテーブルである。この状態においても、タッチ点による入力は全て有効であると決定され（ステップＳ２０６）、入力情報が認識される（ステップＳ２０４）。
【００４５】
さらに、図４（ｅ）及び（ｆ）は、図４（ｃ）及び（ｄ）の状態の２０ミリ秒後を示す。このときも、ユーザが左手で情報処理装置１００を支持して持ち上げている途中であり、ユーザの左手の親指４０１が入力領域１０２に触れている。図４（ｃ）、（ｄ）からはさらに情報処理装置１００の水平線４０２に対する角度が１０［°］変化している。ここでも、検出部１２１によって親指４０１によるタッチ点の情報が検出され、保持部１２４に保持される（ステップＳ２０１）。ここで、タッチ点０の位置は座標（４０，３４０）であり、前回タッチイベント「ＴＯＵＣＨ」が検出された時と同じ位置である（ステップＳ３０５でＹＥＳ）。従って、検知部１２３は、検知部１２３は、情報処理装置１００の傾きを示す角度情報７０［°］を検知し、傾きの変化を取得する（ステップＳ３０６）。このとき、傾きの変化は−２０［°］である。傾きの変化の閾値は２０［°］に設定されているため、検知部１２３によって、情報処理装置１００の傾きの変化は、閾値以上であると判定される（ステップＳ３０７でＹＥＳ）。従って、検知部１２３は、タッチ点０に対して傾き変化フラグをＴＲＵＥにし、保持部１２４に保持する（ステップＳ３０８）。さらに検出部１２１が、タッチ点０について、位置は座標（４０，３４０）、タッチ点を検出時刻は４０［ｍｓ］として、保持部１２４に保持されたタッチ点０に関する情報を更新する（ステップＳ３０９）。図６（ｃ）は、このとき保持される情報の一例を示すテーブルである。ただし、この状態においても、検出部１２１に検出されているタッチ点は複数ではなく、タッチ点０は初めて検出されたタッチ点であるため、タッチ点による入力は全て有効であると決定され（ステップＳ２０６）、入力情報が認識される（ステップＳ２０４）。
【００４６】
さらに、図５（ａ）及び（ｂ）は、図４（ｅ）及び（ｆ）の状態の４０ミリ秒後を示す。
【００４７】
このときも、ユーザが左手で情報処理装置１００を支持して使いやすい角度まで持ち上げたところであり、ユーザの左手の親指４０１が入力領域１０２に触れている。ここでも、同様に検出部１２１によって親指４０１によるタッチ点の情報が検出され、保持部１２４に保持された情報が更新される。検知部１２３は、情報処理装置１００の傾きを示す角度情報３０［°］を検知し、タッチ点０について、初期角度から−６０［°］という傾きの変化を取得し、傾き変化フラグを維持する。図６（ｄ）は、このとき保持される情報の一例を示すテーブルである。この状態においてもタッチ点による入力は全て有効であると決定され（ステップＳ２０６）、入力情報が認識される（ステップＳ２０４）。
【００４８】
次に、図５（ｃ）及び（ｄ）は、図５（ａ）及び（ｂ）の状態の１秒後、ユーザが右手の人差指４０３を使って、情報処理装置１００を操作するためにタッチした状態である。従って、検出部１２１は、ユーザの親指４０１と、人差指４０３によるタッチ点を検出する（ステップＳ２０１）。各タッチ点に関する情報は、親指４０１のタッチ（タッチ点０）の位置が座標（４０，３４０）、検出された時刻が１０８０［ｍｓ］である。さらに、人差指４０３のタッチ点はＩＤをとして、位置を示す座標（４００，１８０）、検出時刻が１０７０［ｍｓ］であるとして情報を保持部１２４に保持される。なお、ここではタッチ点１がタッチ点０よりも入力領域１０２の原点に近いため、より早くタッチセンサに検出されている。検知部１２３は、タッチ点１について、情報処理装置１００の傾きを示す角度情報３０［°］を検知し、初期角度として保持する（ステップＳ３０４）。また、タッチ点０については、初期角度９０［°］から−６０［°］の角度変化があるので、傾き変化フラグを維持する（ステップＳ３０８）。図６（ｅ）は、このとき保持される情報の一例を示すテーブルである。この場合、検出されているタッチ点は２点で複数であるため（ステップＳ２０２でＹＥＳ）、判定部１２２は、保持されている傾き変化フラグを参照し、タッチ点０を無効とする（ステップＳ２０３）。そして、無効とされない、すなわち有効なタッチ点であるタッチ点１のタッチ情報を、入力情報として認識する（ステップＳ２０４）。
【００４９】
次に、図５（ｅ）及び（ｆ）は、図５（ｃ）及び（ｄ）の状態の１秒後、ユーザが右手の人差指４０３を入力領域から離した状態である。従って、検出部１２１によって親指４０１によるタッチ点０のみが検出される。図６（ｆ）は、このとき保持される情報の一例を示すテーブルである。検出部１２１に検出されているタッチ点は複数ではなく（ステップＳ２０２でＮＯ）、タッチ点０は既に無効とされたタッチ点であるため（ステップＳ２０５でＹＥＳ）、情報処理装置１００には、タッチによる入力は認識されない（ステップＳ２０４）。
【００５０】
このように、操作例１では、本実施形態を適用することで、マルチタッチの操作が可能な情報処理装置１００において、ユーザが装置を支持する為に入力領域１０２に触れたタッチ点０が、入力として認識されるために発生する誤動作を避けることができる。
【００５１】
以上説明したように、本実施形態では、情報処理装置１００の傾きを示す角度情報を検知し、検知している角度が所定の閾値以上変化したときに検出されているタッチ点による入力は無効とする。情報処理装置１００の傾きが大きく変化しているときは、装置自体が持ち上げられているなど、移動中である可能性が高い。従って、情報処理装置１００の傾きが大きく変化しているときに検出されているタッチ点は、ユーザが情報処理装置１００を支持し、持ち上げるために入力領域１０２に触れたものである可能性が高い。従って、本実施形態のように、情報処理装置１００の傾きを示す角度が所定の閾値以上変化したときに検出されているタッチ点による入力を無効とすることで、操作することが意図されていないタッチ点を誤って入力として認識してしまう誤動作を防ぐことができる。すなわち、ユーザの意図に反した誤動作を低減することができる。
【００５２】
（第１の実施形態の変形例１）
第１の実施形態では、検出部１２１に検出されているタッチ点の数が複数であったときに、情報処理装置１００の傾きの変化量に基づいて少なくとも一部のタッチ点による入力を無効とする処理を行った。それに対し、変形例１は、検出されているタッチ点が複数であって、かつ検出されるタッチ点の数が増加した時に、一部のタッチ点による入力を無効とする処理を実行する。タッチ点の数が増加した時には、ユーザが何らかの操作を開始しようとしている可能性が高い。従って、変形例１では、特にユーザが何らかの操作を開始しようとしている時点で、有効な入力を正確に認識する処理を行うことができる。
【００５３】
変形例１に係る情報処理装置１００の外観、ハードウェア構成は第１の実施形態と同様である。
【００５４】
図７は、変形例１において実行される、ユーザのタッチ入力を認識する処理プログラムを示すフローチャートである。図２と同番号が付されているステップでは、第１の実施形態と同様の内容の処理が実行されるため、詳細な説明を省略し、第１の実施形態と異なる点を中心に説明する。
【００５５】
変形例１では、ステップＳ２０２において、検出部１２１によって、複数のタッチ点が検出されていると判定された場合（ステップＳ２０２でＹＥＳ）には、ステップＳ７０１に進む。ステップＳ７０１では、検出部１２１が、検出されているタッチ点の数が増加したか否かを判定する。検出部１２１は、保持部１２４に保持された情報が更新される度にＩＤの情報を参照し、前回処理したフローでのタッチ点の数と、今回処理したフローのタッチ点の数を比較して、タッチ点の数が増加したか否かを判定する。検出されているタッチ点の数が増加したと判定された場合には、処理はステップＳ７０２に進む。一方、検出されているタッチ点の数が増加していないと判定された場合には、処理はステップＳ２０５に進む。
【００５６】
ステップＳ７０２では、判定部１２２が、ステップＳ２０１で取得された最新のタッチ点ではないタッチ点のうち、装置の傾きが変化したときに検出されていたタッチ点を無効とする。
【００５７】
ステップＳ７０２で、装置の傾きが変化したときに検出されていたタッチ点を特定する方法は、第１の実施形態（図２）のステップＳ２０３と同様である。従って、判定部１２２は、保持部１２４に保持された情報を参照し、情報処理装置１００の傾きが閾値以上変化したことを示す傾き変化フラグの状態（ＴＲＵＥ、ＦＡＬＳＥ）に基づいて、無効とするタッチ点を特定し、認識部１２５に通知する。
【００５８】
この他のステップにおける処理は、図２で示した情報処理装置１００がユーザのタッチ入力を認識する処理と同様に処理される。
【００５９】
以上述べたように、第１の実施形態の変形例１では、検出されているタッチ点の数が増加したときに、ユーザは最新のタッチ点による操作を行おうとしていると推定し、検出されている複数のタッチ点のうち、最新ではないタッチ点の一部を無効とする処理を行う。その際、情報処理装置１００の傾きが、所定の閾値以上変化したときに検出されているタッチ点による入力を無効とする。これは、情報処理装置１００の傾きが大きく変化しているときは、装置自体が持ち上げられるなど、移動中であり、その時に検出されているタッチ点は、情報処理装置１００を支持するユーザの手が入力領域１０２に触れている可能性が高いためである。
【００６０】
さらに変形例１では、新たなタッチ点が検出された時という、ユーザによる情報処理装置１００に対する操作を開始する可能性が高いタイミングで、以前から検出されていたタッチ点を無効とするか否かを判定する。このように、第１の実施形態の変形例１による情報処理装置１００では、ユーザの意図に反した誤動作を低減することができる。
【００６１】
（第１の実施形態の変形例２）
変形例２では、検出されている複数のタッチ点の一部の位置の移動が検出された場合に、最新の移動が検出されたタッチ点以外のタッチ点のうち、条件を満たすタッチ点による入力を無効とする処理を実行する。ユーザがタッチ点を移動させた場合には、ユーザはその移動させたタッチ点を用いて何らかの操作を開始する意図がある可能性が高い。従って、変形例２では、特にユーザが何らかの操作を開始しようとしている時点で、有効な入力を正確に認識する処理を行うことができる。
【００６２】
変形例２に係る情報処理装置１００の外観、ハードウェア構成は第１の実施形態及び変形例１と同様である。
【００６３】
図８は、変形例１において実行される、ユーザのタッチ入力を認識する処理プログラムを示すフローチャートである。図２と同番号が付されているステップでは、第１の実施形態と同様の内容の処理が実行される。加えて、本実施形態のステップＳ２０１では、既に検出されているＩＤのタッチ点が前回の処理と異なる位置で検出された場合（ステップＳ３０５でＮＯ）には、今回検出された位置情報と前回検出されたときの位置情報を保持し、移動フラグをＴＲＵＥにする。既に検出されているＩＤのタッチ点が前回の処理と同じ位置で検出された場合には、移動フラグをＦＡＬＳＥにする。
【００６４】
ステップＳ２０２において、複数のタッチ点が検出されていると判定された場合には、ステップＳ８０１に進む。ステップＳ８０１では、検出部１２１が、タッチ点が移動したか否かを判定する。本実施形態では、検出部１２１は、ステップＳ２０１で取得されたタッチ点について、保持部１２４に移動フラグが上げられているか否かを判定する。さらに、移動フラグが上げられたタッチ点について、保持されている各タッチ点のＩＤ、移動前後の位置情報、検出時刻の情報から、各タッチ点の移動距離を算出し、移動距離と所定の距離との大きさを比較する。ここで用いられる所定の距離とは、ユーザが、タッチによる操作を行うためにタッチ点を移動させたと判断できるか否かを判定するための、距離の閾値である。その値は、予め情報処理装置１００に登録されたタッチ操作が認識されるために必要な、タッチ点の最小限の移動距離程度の大きさとして設定される。検出部１２１は、タッチ点の移動距離が所定の距離以上大きい場合には、タッチ点が移動したと判定し（ステップＳ８０１でＹＥＳ）、処理はステップＳ８０２に進む。一方、タッチ点に移動フラグが挙げられていない場合、及びタッチ点の移動距離が所定の距離よりも小さい場合には、タッチ点が移動していないと判定し（ステップＳ８０１でＮＯ）、処理はステップＳ２０５に進む。
【００６５】
ステップＳ８０２では、判定部１２２が、ステップＳ２０１で取得されたタッチ点、すなわち最新の移動が検出されたタッチ点ではないタッチ点のうち、装置の傾きが変化したときに検出されていたタッチ点を無効とする。ステップＳ８０２において、装置の傾きが変化したときに検出されていたタッチ点を特定する方法は、第１の実施形態（図２）のステップＳ２０３と同様である。従って、判定部１２２は、保持部１２４に保持された情報を参照し、情報処理装置１００の傾きが閾値以上変化したことを示す傾き変化フラグの状態（ＴＲＵＥ、ＦＡＬＳＥ）に基づいて、無効とするタッチ点を特定し、認識部１２５に通知する。
【００６６】
この他のステップにおける処理は、図２で示した情報処理装置１００がユーザのタッチ入力を認識する処理と同様に処理される。
【００６７】
このように、変形例２では、タッチ点の移動が検出された時に、最新の移動が検出されたタッチ点以外のタッチ点のうち、条件を満たすタッチ点を無効とする。このように、第１の実施形態の変形例２による情報処理装置１００では、ユーザの意図に反した誤動作を低減することができる。
【００６８】
（第１の実施形態の変形例３）
上述した第１の実施形態及びその変形例１、２では、検出部１２１によって新たなタッチイベントが検出されたことに応じて、装置の傾きが所定の閾値以上変化したときに検出されていたタッチ点を無効とする処理を行っていた。それに対し、第１の実施形態の変形例３では、検知部１２３が装置の傾きが閾値以上変化する度に、その時点で検出されている全てのタッチ点を無効とする。以下では特に、上述した第１の実施形態の処理などによってタッチ点を無効とするか有効とするかを決定した後に、検知部１２３が装置の傾きが閾値以上変化したことを検知したことに応じて、入力として認識されていたタッチ点を無効化する例を説明する。
【００６９】
変形例３に係る情報処理装置１００の外観、ハードウェア構成は第１の実施形態及び変形例１、２と同様である。そして、変形例３においても、ユーザのタッチ入力を認識する処理は図２又は図７又は図８のフローチャートに従ったプログラムにより実行される。ただし、変形例３では、ステップＳ２０４において、認識部１２５が有効なタッチ点による入力情報を認識した後、図９のフローチャートに示すステップＳ９０２が実行される。
【００７０】
図９は、変形例３において、実行されるタッチ点の無効化処理プログラムの一例を示すフローチャートである。
【００７１】
ステップＳ９０１では、検知部１２３が、保持部１２４に保持されている傾きの履歴情報を初期化する。
【００７２】
そして、ステップＳ９０２では、検知部１２３が情報処理装置１００の傾きを示す角度情報を検知し、保持部１２４に履歴を保持する。本実施形態の角度センサ１１７は、１０ミリ秒毎に情報処理装置１００の傾きを検知し角度情報を検知部１２３に通知している。従って、保持部１２４には１０ミリ秒単位で履歴が追加されていく。ステップＳ９０３では、判定部１２２が、所定時間内に情報処理装置１００の傾きを示す角度に閾値以上の変化があるか否かを判定する。変形例３では、所定時間を１秒とする。検知部１２３は、保持部１２４に保持された履歴情報を参照し、直近の１秒以内に、累積された角度の変化が閾値以上であるか否かを判定する。なお、ここで、角度の閾値は第１の実施形態のステップＳ３０７で使用した閾値と同じ値を使用するが、異なる値を閾値として用いることもできる。なお、累積された角度は変化量の絶対値を積算したものであっても良い。閾値以上の変化がないと判定された場合（ステップＳ９０３でＮＯ）の場合には、ステップＳ９０２に戻り、検知部１２３が角度センサ１１７から角度情報を取得する周期で処理を繰り返す。一方、閾値以上の変化があると判定された場合（ステップＳ９０３でＹＥＳ）には、ステップＳ９０４に進む。
【００７３】
ステップＳ９０４では、判定部１２２が、検出されている全てのタッチ点を無効として、処理を終了する。なお、ステップＳ９０２からステップＳ９０４の処理の実行中に、ユーザによってタッチが離され「ＲＥＬＥＡＳＥ」イベントが通知された場合には、処理を中止する。
【００７４】
このように、変形例３では、タッチイベントが検出された時点に限らず、情報処理装置１００の傾きが閾値以上変化する度に、その時点で検出されている全てのタッチ点を無効とする。従って、検出部１２１によってタッチイベントが検出された時点では、有効とされたタッチ点であっても、その後、情報処理装置１００の傾きが閾値以上変化することに応じて、無効とすることができる。これにより、ユーザは、情報処理装置１００の傾きを閾値以上変化させる操作によって、任意のタッチ点を無効化させることができる。例えば、情報処理装置１００の傾きを操作に適した角度に変化させた後で、装置を持ち直すなど手の姿勢を変えると、新規のタッチ点が検出され、入力として認識される場合がある。変形例３では、このような場合に、ユーザが、情報処理装置１００の傾きを大きく変化させることによって、その時点で入力領域１０２に触れているタッチ点を、情報処理装置１００に対する入力として無効とさせることを可能にしている。このように、ユーザが任意のタッチ点による入力を無効化することを可能にすることにより、ユーザの意図に反した誤動作を低減することができる。
【００７５】
なお、変形例３では、第１の実施形態及びその変形例の処理が実行された後で行われる処理として、図９のフローチャートに示すタッチ点の無効化処理を説明したが、これに限らない。上述したタッチ点の無効化処理は、例えば図２のフローチャートに示す処理と独立に平行して処理されることもできる。
【００７６】
＜その他の実施形態＞
以上の実施形態では、傾き変更フラグは、各タッチ点に対応させて付与していたが、本発明はこれに限らない。例えば、傾き変更フラグがＴＲＵＥの場合にのみ、傾き変更フラグであることを特定できるユニークなビット配列の識別情報を付与することで、傾き変更フラグがＴＲＵＥになっているのかどうか示すようにしても良い。この場合、傾き変更フラグがＦＡＬＳＥに相当する場合には傾き変更フラグに相当するビットは付与されないことになる。
【００７７】
また、上述した第１の実施形態とその変形例１〜３は、組み合わせて実行することもできる。ここで図１０（ａ）は、第１の実施形態と、その変形例２及び変形例３組み合わせて実行する情報処理装置１００において、２点のタッチ点に関するタッチ入力を認識する処理のタイミングチャートである。図１０（ｂ）は、このときの情報処理装置１００の状態を示しており、ここでは、ユーザの左手の親指１００１によるタッチ点１００２をタッチ点Ａ、右手の人差し指１００３によるタッチ点１００４をタッチ点Ｂとして記載する。
【００７８】
図１０（ａ）のタイミングチャートにおいて、ｔ１からｔ６では、上述した第１の実施形態に沿った処理が実行されている。まず、ｔ１では、操作例１と同様、ユーザが水平面に載置された情報処理装置１００を持ち上げるために、左手の親指１００１で入力領域１０２に触れたため、検出部１２１によってタッチ点Ａが検出される。その後、ｔ２からｔ３の間に、検知部１２３によって、装置の傾きが閾値以上変化したことが検知されるため、タッチ点Ｂが検出されるｔ４において、装置の傾きが変化したときに検出されていたタッチ点Ａは無効とされる。タッチ点Ｂは、装置の傾きの変化が収まってから検出されたタッチ点であるため、タッチが離されるｔ５まで、無効化されることなく入力が認識される。ｔ５において、タッチ点Ｂが入力領域１０２から離された後も、タッチ点Ａは引き続き無効とされる。
【００７９】
図１０（ａ）のタイミングチャートにおいて、次にｔ６からｔ７では、第１の実施形態の変形例２に沿った処理が実行されている。ここでは、ｔ６において、タッチ点Ａが図１０（ｃ）のタッチ点１００２´のように移動される。検出部１２１によって、タッチ点Ａの移動が検出されたことに応じて、ｔ６以降ではタッチ点Ａによる入力が有効とされる。
【００８０】
図１０（ａ）のタイミングチャートにおいて、ｔ７以降では、第１の実施形態の変形例３に沿った処理が実行されている。ここでは、ｔ７において、ユーザがタッチ点Ａのタッチを継続したまま、情報処理装置１００の傾きを閾値以上変化される。従って、検知部１２３が傾きの変化を検知したｔ７以降、再びタッチ点Ａによる入力は無効とされる。
【００８１】
このように、第１の実施形態とその変形例を組み合わせることで、ユーザの意図する操作に合わせて、タッチ点による入力を無効とする処理を行うことができ、ユーザによってより操作性の良い情報処理装置１００を提供することができる。
【００８２】
また、上述した第１の実施形態及びその変形例では、情報処理装置１００の傾きを示す角度の変化量に基づいて、無効とするタッチ点を決定したが、情報処理装置１００が存在する位置を検知し、情報処理装置１００の移動量に基づいて無効とするタッチ点を決定してもよい。その場合には、例えば屋内ＧＰＳなどを利用し、情報処理装置１００がある範囲内における相対的な位置情報を検知し、所定以上の距離を移動されたときに検出されているタッチ点を無効とする。このように、ある範囲内の相対位置を利用することで、例えばユーザが電車等に乗って長距離移動している間であっても、有効なタッチ操作を行うことができる。さらに、加速度センサによって情報処理装置１００が移動される加速度を検出し、所定以上の加速度で移動された場合に情報処理装置１００が持ち上げられたことを推定し、持ち上げるための移動中に検出されていたタッチ点を無効とすることもできる。このような加速度、装置の位置の変化、装置の傾きの変化の少なくともいずれかが条件を満たすときに検出されているタッチ点を無効とすることもできる。
【００８３】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014010650.tif 000003
【図２】
2014010650.tif 000004
【図３】
2014010650.tif 000005
【図４】
2014010650.tif 000006
【図５】
2014010650.tif 000007
【図６】
2014010650.tif 000008
【図７】
2014010650.tif 000009
【図８】
2014010650.tif 000010
【図９】
2014010650.tif 000011
【図１０】
2014010650.tif 000012