(57)【要約】【課題】  タッチ入力対象領域の端部において移動を伴わないタッチ点による操作が全て無効とされる方法では、表示可能な内容が制限されるといった不都合が生じる場合がある。【解決手段】  本発明は上記課題に鑑みてなされたものであり、タッチパネルディスプレイ上のタッチ操作を認識する情報処理装置であって、タッチ操作の対象領域においてタッチされている複数のタッチ点を取得し、前記タッチパネルディスプレイにおける、前記取得された複数のタッチ点のそれぞれに対応する位置に表示されたオブジェクトを特定し、前記特定された複数のオブジェクトの関係に基づいて、前記取得された複数のタッチ点のうち、所定の範囲に含まれるタッチ点の入力を無効とするか判定することを特徴とする。【選択図】  図６
2014130450.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネルディスプレイ上のタッチ操作を認識する情報処理装置であって、
タッチ操作の対象領域においてタッチされている複数のタッチ点を取得する取得手段と、
前記タッチパネルディスプレイにおける、前記取得手段が取得した複数のタッチ点のそれぞれに対応する位置に表示されたオブジェクトを特定する特定手段と、
前記特定された複数のオブジェクトの関係に基づいて、前記取得手段が取得した複数のタッチ点のうち、所定の範囲に含まれるタッチ点の入力を無効とするか判定する判定手段とを備える
ことを特徴とする情報処理装置。
【請求項２】
前記判定手段は、前記取得手段が取得した複数のタッチ点のうち、前記所定の範囲内に含まれるタッチ点を、当該タッチ点による入力を無効とする候補のタッチ点であると判定し、前記特定手段が特定したオブジェクトのうち、互いに関連するオブジェクトが表示された位置をタッチするタッチ点を、前記候補から除外することで、前記判定を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記対象領域に表示される１つ以上のオブジェクト間の関連を示す情報を保持する保持手段を更に備え、
前記判定手段は、前記保持手段に保持されている情報に基づいて、前記判定を行うことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記所定の範囲とは、前記タッチ操作の対象領域の外縁から所定の距離の範囲であることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記判定手段は、前記取得された複数のタッチ点のうち、最も新しいタッチ点ではないタッチ点を前記処理の対象とする、
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記判定手段は、前記取得手段が取得した複数のタッチ点のそれぞれによる入力を有効とするか無効とするかを判定した後、前記複数のタッチ点が１つに減少した場合、当該１つのタッチ点に対する判定結果を維持する、
ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
コンピュータに読み込ませ実行させることで、前記コンピュータを請求項１乃至６のいずれか１項に記載の情報処理装置として動作させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【請求項９】
タッチパネルディスプレイ上のタッチ操作を認識する情報処理装置の制御方法であって、
取得手段により、タッチ操作の対象領域においてタッチされている複数のタッチ点を取得する取得工程と、
特定手段により、前記タッチパネルディスプレイにおける、前記取得工程で取得した複数のタッチ点のそれぞれに対応する位置に表示されたオブジェクトを特定する特定工程と、
判定手段により、前記特定された複数のオブジェクトの関係に基づいて、前記取得工程で取得した複数のタッチ点のうち、所定の範囲に含まれるタッチ点の入力を無効とするか判定する判定工程とを有する
ことを特徴とする情報処理装置の制御方法。
【請求項１０】
前記判定工程では、前記取得手段が取得した複数のタッチ点のうち、前記所定の範囲内に含まれるタッチ点を、当該タッチ点による入力を無効とする候補のタッチ点であると判定し、前記特定工程で特定したオブジェクトのうち、互いに関連するオブジェクトが表示された位置をタッチするタッチ点を、前記候補から除外することで、前記判定を行うことを特徴とする請求項９に記載の情報処理装置の制御方法。
【請求項１１】
前記対象領域に表示される１つ以上のオブジェクト間の関連を示す情報を保持する保持手段を更に備え、
前記判定手段は、前記保持手段に保持されている情報に基づいて、前記判定を行うことを特徴とする請求項９または１０に記載の情報処理装置の制御方法。
【請求項１２】
前記所定の範囲とは、前記タッチ操作の対象領域の外縁から所定の距離の範囲であることを特徴とする請求項９乃至１１のいずれか１項に記載の情報処理装置の制御方法。
【請求項１３】
前記判定手段は、前記取得された複数のタッチ点のうち、最も新しいタッチ点ではないタッチ点を前記処理の対象とする、
ことを特徴とする請求項９乃至１２のいずれか１項に記載の情報処理装置の制御方法。
【請求項１４】
前記判定手段は、前記取得表示で取得した複数のタッチ点のそれぞれによる入力を有効とするか無効とするかを判定した後、前記複数のタッチ点が１つに減少した場合、当該１つのタッチ点に対する判定結果を維持する、
ことを特徴とする請求項９乃至１３のいずれか１項に記載の情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチ操作を認識する技術に関する。
【背景技術】
【０００２】
近年、ユーザの指あるいはスタイラスにより画面がタッチされたことに応答して、タッチされた位置のＸ，Ｙ座標値を入力値として取り込み、この入力値に基づいて各種処理を実行するタッチ入力機器が普及している。また、画面の複数点をタッチすることにより操作を行う、いわゆるマルチタッチの技術が発展しつつある。このマルチタッチの操作においては、例えば右手の人差し指と親指の２つを使って２点をタッチするなどにより、拡大、縮小、スクロールなどの多種多様な操作が可能である。
【０００３】
このようなタッチ入力機器では、多くの場合、できるだけ装置全体を画面として設計することが望まれる。従って、例えばユーザが手でタッチ入力機器を保持するためなど、無意識に画面をタッチしてしまう事が起こり得る。マルチタッチ操作が可能なタッチ入力機器において、上述したようにユーザが誤って画面を触ってしまった場合には、ユーザの意図よりも多くのタッチ入力が認識されてしまい、誤動作の原因となりえる。
【０００４】
ユーザの意図しないタッチ点を無効にする技術として、特許文献１が知られている。特許文献１では、タッチパネルの周囲の端部でのタッチを選択的に無視することが開示されている。その際、端部での接触が所定の距離または速度を超えて移動した場合、および、タッチパネルの中心領域での接触が端部に進入した場合には、端部での接触はジェスチャーの一部として認識される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２１７８１４号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、多くのタッチ入力機器では、タッチパネルの表示領域を効率よく利用するために、タッチパネルの端部においても、ユーザインタフェースを含む様々な表示が行われる。特許文献１のように、端部では、移動を伴わないタッチ点が全て無効とされる方法では、端部に表示可能な内容が制限されるといった不都合が生じる場合がある。
【０００７】
本発明は上記課題に鑑みてなされたものであり、タッチパネルディスプレイの所定の範囲におけるタッチ点による入力を選択的に無効とする場合に、該所定の範囲に表示されるユーザインタフェースの操作性を向上させることを主な目的とする。
【課題を解決するための手段】
【０００８】
本発明は上記課題に鑑みてなされたものであり、タッチパネルディスプレイ上のタッチ操作を認識する情報処理装置であって、タッチ操作の対象領域においてタッチされている複数のタッチ点を取得する取得手段と、前記タッチパネルディスプレイにおける、前記取得手段が取得した複数のタッチ点のそれぞれに対応する位置に表示されたオブジェクトを特定する特定手段と、前記特定された複数のオブジェクトの関係に基づいて、前記取得手段が取得した複数のタッチ点のうち、所定の範囲に含まれるタッチ点の入力を無効とするか判定する判定手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、本発明は上記課題に鑑みてなされたものであり、タッチパネルディスプレイの所定の範囲におけるタッチ点による入力を選択的に無効とする場合に、該所定の範囲に表示されるユーザインタフェースの操作性を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】情報処理装置の外観と構成の一例を示す図
【図２】ユーザによるタッチ入力の認識処理の流れの一例を示すフローチャート
【図３】タッチ点の取得処理の流れの一例を示すフローチャート
【図４】オブジェクトの関連付け情報に基づく判定処理の流れの一例を示すフローチャート
【図５】オブジェクトの表示状態と関連付け情報の一例を示す図
【図６】情報処理装置の操作例を示す図
【図７】情報処理装置の操作例を示す図
【図８】タッチ点に関して保持される情報の一例を示す図
【図９】ユーザによるタッチ入力の認識処理の流れの一例を示すフローチャート
【図１０】タッチ点の取得処理の流れの一例を示すフローチャート
【図１１】オブジェクトの関連付け情報に基づく判定処理の流れの一例を示すフローチャート
【図１２】情報処理装置の操作例を示す図
【図１３】情報処理装置の操作例を示す図
【図１４】タッチ点に関して保持される情報の一例を示す図
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について、図面を参照しながら説明する。なお、以下で説明する実施形態は、本発明を具体的に実施した場合の一例を示すものであり、これに限るものではない。
【００１２】
［第１の実施形態］
図１は、本実施形態に適用可能な情報処理装置の外観とハードウェア構成の一例を示す。図１（ａ）は、情報処理装置１００の一例である携帯端末を画面の正面及び側面から見た外観を示す図である。図１（ａ）において、筐体１０１は、入力領域１０２の外周部であり、合成樹脂や金属等で形成される。入力領域１０２は、タッチセンサ等で構成され、ユーザがタッチの対象とする対象領域であり、情報処理装置１００に対する入力を受け付ける。本実施形態では、入力領域１０２は表示部であるディスプレイ上にタッチセンサを設置したタッチパネルディスプレイによって構成される。この表示画面は、情報処理装置１００、あるいは情報処理装置１００と接続された装置を操作するための画像を表示するインタフェースである。ユーザが情報処理装置１００を支持する場合、通常はこの筐体１０１の一部を手で掴むことになる。その際、入力領域１０２の外縁に近い部分に、指が触れてしまう場合がある。本実施形態では、外縁から入力領域１０２の内側に向かって所定の距離までの範囲１０３を、ユーザが誤ってタッチしてしまいやすいと想定される所定の範囲として設定する。なお、ここで説明する情報処理装置１００のタッチパネルディスプレイ１１５の入力領域１０２は、４８０［ｄｏｔ］×６４０［ｄｏｔ］の解像度を有し、紙面に向かって左上を原点とする座標平面として位置情報を管理することができるものとする。
【００１３】
以降、本実施形態では、図１（ａ）に示す携帯端末を、情報処理装置１００として説明する。
【００１４】
以下、本実施形態では、ユーザが入力領域１０２に触れた位置を、点で特定し、タッチ点と呼ぶ。そして、タッチ点の位置情報を、入力領域１０２を、向かって左上を原点とする座標平面であるとして座標の情報で扱う。ただし、ユーザがタッチした位置は点を特定する以外の方法で取得されても構わない。例えば、指などに接触された面積に相当する情報と、接触された領域の重心（あるいは中心）となる点の位置を示す情報を両方取得しても構わない。
【００１５】
本実施形態では、まずユーザが入力領域１０２に触れた１以上のタッチ点のうち、入力領域１０２の外縁に設定された所定の範囲１０３において取得されているタッチ点は、当該装置を手で支持するために入力領域１０２に触れた可能性が高いと考える。ただし、取得されている複数のタッチ点が、関連する１以上のオブジェクトに接触している場合には、所定の範囲１０３において取得されたタッチ点であっても、当該オブジェクトを操作する為に入力領域１０２に触れたものであるとみなす。従って、所定の範囲１０３内で取得されたタッチ点のうち、他のタッチ点が接触しているオブジェクトと関連するオブジェクトに接触しないタッチ点は、入力として無効とする。
【００１６】
図１（ｂ）は、本実施形態に適用可能な情報処理装置１００のハードウェア構成を示すブロック図の一例である。図１（ｂ）において、ＣＰＵ１１１は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔである。また、ＲＯＭ１１２は、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙであり、ＨＤＤ１１３は、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅである。本実施形態では、ＣＰＵ１１１が、ＲＯＭ１１２やＨＤＤ１１３に格納されている制御プログラムを読み出して実行し、各デバイスを制御する。この制御プログラムは、本実施形態で説明される各種動作を情報処理装置１００に実行させるための制御プログラムである。ＲＯＭ１１２は、それらの制御プログラムやそのプログラムに利用される各種データを保持する。ＲＡＭ１１４は、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙであり、ＣＰＵ１１１の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。ＨＤＤ１１３は、上述の各種制御プログラムや各種データを格納する。タッチパネルディスプレイ１１５は、入力領域１０２におけるユーザの操作情報を取り込むためのタッチセンサ等と表示出力を行う表示画面を兼ねるデバイスである。出力Ｉ／Ｆ１１６はネットワーク等を介してディスプレイ以外の出力装置に各種情報を出力するためのインタフェースである。バス１１７は、ＣＰＵ１１１の制御の対象とする構成要素を指示するアドレス信号、各構成要素を制御するためのコントロール信号、各構成機器相互間でやりとりされるデータの転送を行う。なお、上述した制御プログラムは、ＲＯＭ１１２又はＨＤＤ１１３に予め記憶されていてもよいし、必要に応じてネットワークを介して外部装置などから受理し、ＲＯＭ１１２又はＨＤＤ１１３に記憶しても良い。
【００１７】
ＣＰＵ１１１は、ＲＯＭ１１２又はＨＤＤ１１３等に記憶されているプログラムを実行することにより、後述する情報処理装置１００の各種機能あるいは後述するフローチャートに示す各種動作を実行する。
【００１８】
図１（ｃ）は、情報処理装置１００のソフトウェアの構成を示すブロック図の一例である。
【００１９】
取得部１２１は、ＣＰＵ、ＲＯＭ、ＲＡＭ（以下、ＣＰＵ等）によって構成され、タッチパネルディスプレイ１１５のタッチセンサから通知される信号に基づいて、ユーザによってタッチされているタッチ点に関する情報を取得する。タッチ点に関する情報とは、例えば入力領域１０２内でのタッチ点の位置を示す座標情報、その位置でタッチ点が取得された取得時刻、取得された順番等を示す情報である。取得部１２１は、取得した情報を、ＲＡＭ１１４に構成される第１保持部１２３に保持させる。
【００２０】
判定部１２２は、ＣＰＵ等によって構成され、第１保持部１２３に保持された情報に基づいて取得部１２１が取得したタッチ点が複数であると判断される場合、各タッチ点を情報処理装置１００に対する入力として有効とするか無効とするか判定する。本実施形態では、入力領域１０２において、所定の範囲１０３が設定されている。所定の範囲１０３は、例えば入力領域の外縁から所定の距離までの範囲など、ユーザが情報処理装置１００を保持するときに触れてしまいやすい部分に相当する。判定部１２２は、タッチ点の位置が設定された所定の範囲１０３に含まれる場合には、当該タッチ点を、入力を無効とする候補にする。そして、当該候補とされたタッチ点それぞれの位置に、他のタッチ点に表示されたオブジェクトとに関連があるオブジェクトが表示されていた場合には、当該タッチ点による入力を有効、表示されていない場合には当該タッチ点による入力を無効と判定する。本実施形態では、判定部１２２が判定処理に利用する、タッチパネルディスプレイ１１５に表示される表示画像を構成するオブジェクトやコンテンツデータの情報は、第２保持部１２６に記憶されている。
【００２１】
認識部１２４は、ＣＰＵ等によって構成され、判定部１２２による判定結果を受け、第１保持部１２３に保持された中から、有効なタッチ点に関する情報を取得し、タッチ操作を構成する入力情報として認識する。
【００２２】
表示制御部１２５は、第２保持部１２６に記憶された情報をもとに、入力に対応する結果を反映した表示画像を生成し、表示部としてのタッチパネルディスプレイ１１５に出力する制御を行う。例えば、有効とされたタッチ点によって指定されたユーザインタフェースを構成するオブジェクトであった場合には、当該オブジェクトに対応した操作を反映した表示画像を生成し、出力する。
【００２３】
第２保持部１２６は、表示制御部１２５が表示画像を生成するために必要な画像データやその属性情報を保持している。例えば、情報処理装置１００で実行される各種アプリケーションやオペレーションシステムのグラフィカルユーザインタフェースの構成部品である複数のオブジェクトに関して、画像情報や表示位置を示す情報が保持されている。さらに第２保持部１２６では、グラフィカルユーザインタフェース画面を構成するオブジェクトに、他のオブジェクトを関連付けて記憶している場合がある。例えば、複数のオブジェクトを連動させることによって１つの機能を操作するユーザインタフェースが構成される場合、当該複数のオブジェクト間には関連があるとして、各オブジェクトに互いとの関連付け情報が付加される。判定部１２２は、複数のタッチ点のそれぞれの位置に表示されているオブジェクトに付加された関連付け情報を基に、所定の範囲１０３内に含まれるタッチ点に表示されたオブジェクトが、他のタッチ点に表示されたオブジェクトに関連付けられているかを判定する。そして、関連付けられていると判定された場合には、当該所定の範囲１０３内に含まれるタッチ点を有効とし、関連付けられていないと判定された場合には、当該所定の範囲１０３内に含まれるタッチ点を無効とする。なお、第２保持部１２６は、ＨＤＤ１１３や外部記憶装置あるいはＲＯＭ１１２に記憶された情報が、ＲＡＭ１１４に読み出されることによって構成される。なお、本実施形態では、関連付け情報は、あるオブジェクトと、その他のオブジェクトとの関連のみを示すため、複数のタッチ点の位置に渡って同一のオブジェクトが表示されている場合には、関連付けされていないオブジェクトをタッチしているものと判定する。
【００２４】
本実施形態では、これらの各機能部は、ＣＰＵ１１１がＲＯＭ１１２に格納されたプログラムをＲＡＭ１１４に展開し実行することでその機能を実現する。ただし、本発明は、これらの機能部をハードウェアで実現する情報処理装置によっても同様に実現可能である。
【００２５】
次に、図２のフローチャートに従い、本実施形態においてユーザのタッチ入力を認識する処理の流れを説明する。なお、本実施形態では、情報処理装置１００において電源が投入されたことに応じて以降の処理が開始される。ただしこれに限らず、装置のロックが解除されたり、特定のアプリケーションが起動されたり、あるいは表示画像の描画が完了したことに応じてタッチ入力を認識する処理が開始されても構わない。
【００２６】
まず、ステップＳ２０１において、取得部１２１が入力領域１０２に対するタッチ点に関する情報を取得する。ここでは、ユーザが操作のために入力領域１０２に指をタッチさせたことをタッチパネルディスプレイ１１５のタッチセンサが検知し、取得部１２１は、タッチセンサから得られる情報を基に、タッチされた位置の情報を取得する。
【００２７】
ここで、図３は、ステップＳ２０１において実行される、タッチ点取得処理の流れを示すフローチャートである。
【００２８】
まず、ステップＳ３０１において、取得部１２１は、タッチセンサから通知されたタッチイベントが「ＴＯＵＣＨ」であるか否かを判定する。本実施形態において用いるタッチセンサからは、入力領域１０２がタッチされていることを取得したとき、あるいは取得されていたタッチが離されたときにタッチイベントを通知される。ここでは、入力領域１０２がタッチされていることを取得したときにはタッチイベントとして「ＴＯＵＣＨ」を、取得されていたタッチが離されたときにはタッチイベントとして「ＲＥＬＥＡＳＥ」が取得部１２１に通知される。通知されたタッチイベントが「ＴＯＵＣＨ」だと判定された場合（ステップＳ３０１でＹＥＳ）には、ステップＳ３０２に進む。通知されたタッチイベントが「ＴＯＵＣＨ」ではない、すなわち「ＲＥＬＥＡＳＥ」であった場合（ステップＳ３０１でＮＯ）には、ステップＳ３０７に進む。
【００２９】
ステップＳ３０２では、取得部１２１が、「ＴＯＵＣＨ」が通知されたタッチ点と同じＩＤのタッチ点が既に取得されているか否かを判定する。取得部１２１は、第１保持部１２３に保持された情報を参照し、対応するＩＤが含まれているかを判定する。タッチ点のＩＤとは、取得部１２１が取得したタッチ点を識別するための識別情報である。本実施形態では、入力領域１０２を何番目にタッチした点かに基づき、取得順に１、２、…という番号のＩＤを割り当てる。同じＩＤのタッチ点が取得されていないと判定された場合（ステップＳ３０２でＮＯ）には、処理はステップＳ３０３に進む。一方、同じＩＤのタッチ点が既に取得されていると判定された場合（ステップＳ３０２でＹＥＳ）には、処理はステップＳ３０４に進む。
【００３０】
ステップＳ３０３において、取得部１２１は、「ＴＯＵＣＨ」が取得されたタッチ点のＩＤ、座標、取得時刻の情報を第１保持部１２３に保持されている情報に新規追加する。なお、本実施形態において、位置の情報は、図１（ａ）に示したように、入力領域１０２の左上を原点とした座標平面に基づく座標（ｘ，ｙ）で示される。
【００３１】
ステップＳ３０３において、取得部１２１は、「ＴＯＵＣＨ」が取得されたタッチ点のＩＤ、座標、取得時刻の情報を第１保持部１２３に保持されている情報に新規追加する。
【００３２】
また、ステップＳ３０４において、取得部１２１は、第１保持部１２３に保持されている情報のうち、「ＴＯＵＣＨ」が取得されたタッチ点と同じＩＤのタッチ点の座標、取得時刻の情報を更新する。
【００３３】
次に、ステップＳ３０５では、取得部１２１が、第２保持部１２６に保持されたオブジェクトの情報を参照し、取得されたタッチ点の位置に表示されているオブジェクトのＩＤを特定し、第１保持部１２３に保持する。そして処理はタッチ入力を認識する処理（図２）にリターンする。
【００３４】
一方、ステップＳ３０１でＮＯと判定された場合、すなわち「ＴＯＵＣＨ」以外のタッチイベントがタッチセンサから通知された場合、本実施形態ではすなわち「ＲＥＬＥＡＳＥ」が通知されたことになる。従って、ステップＳ３０６では、取得部１２１が、第１保持部１２３に保持されていた情報のうち、「ＲＥＬＥＡＳＥ」が取得されたタッチ点に対応するＩＤに関連付けられた位置、取得時刻、及び表示オブジェクトのＩＤ情報を、タッチ点のＩＤとともに削除する。そして処理はタッチ入力を認識する処理（図２）にリターンする。
【００３５】
ユーザのタッチ入力を認識する処理に戻ると、続くステップＳ２０２において、判定部１２２が、取得部１２１によって複数のタッチ点が取得されているかを判定する。この際、判定部１２２は、第１保持部１２３に保持された情報を参照し、保持されたＩＤの数からタッチ点数を求め、取得されているタッチ点の数が複数か否かを判定する。ステップＳ２０２において、複数のタッチ点が取得されていると判定された場合（ステップＳ２０２でＹＥＳ）には、処理はステップＳ２０３に進む。複数のタッチ点が取得されていないと判定された場合（ステップＳ２０２でＮＯ）には、処理はステップＳ２０８に進む。
【００３６】
ステップＳ２０３では、判定部１２２が、取得されている複数のタッチ点の少なくともいずれかの位置が、入力領域１０２上で予め設定された所定の範囲１０３に含まれるか否かを判定する。本実施形態の判定部１２２は、第１保持部１２３に保持された情報を参照し、保持されているタッチ点の座標の値と、予め設定された条件式に基づいて、少なくとも１つのタッチ点が所定の範囲１０３に含まれるかを判定する。取得されている複数のタッチ点の少なくともいずれかの位置が、所定の範囲に含まれると判定された場合（ステップＳ２０３でＹＥＳ）には、ステップＳ２０４に進む。一方、取得されている複数のタッチ点の全ての位置が、所定の範囲内にないと判定された場合（ステップＳ２０３でＮＯ）には、ステップＳ２０９に進む。
【００３７】
ステップＳ２０４では、判定部１２２が、所定の範囲１０３に含まれるタッチ点を、入力を無効とする候補とし、特定したタッチ点のＩＤに関連付けて無効候補フラグの値「ＴＲＵＥ」の情報を第１保持部１２３に保持させる。
【００３８】
ステップＳ２０５では、判定部１２２が、入力領域１０２に表示されているオブジェクトに基づいて、取得されているタッチ点による入力を有効とするか無効とするかを判定する処理が実行される。本実施形態では、所定の範囲１０３に含まれるタッチ点の位置に表示されているオブジェクトと、他のタッチ点の位置に表示されているオブジェクトとが関連付けられているかを、第２保持部１２６に保持されたオブジェクトの情報に基づいて判定する。
【００３９】
ここで、図４は、ステップＳ２０５において実行される、表示オブジェクトに基づく判定処理の流れを示すフローチャートである。
【００４０】
まず、ステップＳ４０１において、判定部１２２は、ステップＳ２０３において所定の範囲１０３に含まれることが確認されたタッチ点を１つ選択する。本実施形態では、判定部１２２は第１保持部１２３に保持された情報を参照し、無効候補フラグが「ＴＲＵＥ」であるタッチ点のＩＤを１つ取得する。本実施形態は、ＩＤの番号が小さい順に無効候補フラグが「ＴＲＵＥ」であるものを探索し、順次１つずつ選択する。
【００４１】
次に、ステップＳ４０２において、判定部１２２は、選択されたタッチ点の位置に表示されているオブジェクトを特定する。本実施形態の判定部１２２は、第１保持部１２３に保持された情報を参照し、ステップＳ４０１で取得したタッチ点のＩＤに関連付けられた情報のうち、表示オブジェクトのＩＤを取得する。
【００４２】
ステップＳ４０３では、判定部１２２が、特定されたオブジェクトと、他のタッチ点の位置に表示されたオブジェクトが関連しているか否かを判定する。本実施形態では、第２保持部１２６が、ステップＳ４０２で判定部１２２が取得した表示オブジェクトのＩＤに関連付けて保持している情報を参照して、当該ＩＤの表示オブジェクトに関連付けられたオブジェクトがあるか否かを判定する。そして、関連付けられたオブジェクトが存在した場合、関連付けられたオブジェクトのＩＤを特定し、第１保持部１２３に保持されたタッチ点の中に、当該ＩＤの表示オブジェクトが関連付けられたタッチ点が存在するか否かを判定する。そして、当該ＩＤの表示オブジェクトが関連付けられたタッチ点が存在した場合に、特定されたオブジェクトと、他のタッチ点の位置に表示されたオブジェクトが関連していると判定する。特定されたオブジェクトと、他のタッチ点の位置に表示されたオブジェクトが関連していると判定された場合（ステップＳ４０３でＹＥＳ）には、ステップＳ４０５に進む。特定されたオブジェクトと、他のタッチ点の位置に表示されたオブジェクトが関連していないと判定された場合（ステップＳ４０３でＮＯ）には、ステップＳ４０４に進む。
【００４３】
ステップＳ４０４では、判定部１２２が、ステップＳ４０１で選択されたタッチ点による入力が無効と判定し、無効候補フラグの値を「ＴＲＵＥ」で維持してステップＳ４０６に進む。
【００４４】
一方、ステップＳ４０５では、判定部１２２が、ステップＳ４０１で選択されたタッチ点による入力が有効であるべきと判定する。すなわち、当該タッチ点を、入力を無効とする候補のタッチ点から除外する。このとき、判定部１２２は、第１保持部１２３に保持された情報において、ステップＳ４０１で特定されたＩＤのタッチ点に関連付けられた無効候補フラグの値を「ＦＡＬＳＥ」に更新する。
【００４５】
ステップＳ４０６では、判定部１２２が、所定の範囲に含まれる全てのタッチ点を処理済みか否か判定する。本実施形態では、第１保持部１２３に保持されたタッチ点のうち、番号が最大のＩＤのタッチ点の情報までの探索が終了した場合に、所定の範囲１０３に含まれる全てのタッチ点を処理済みであると判定する。所定の範囲に含まれる全てのタッチ点を処理済みではないと判定された場合（ステップＳ４０６でＮＯ）、ステップＳ４０１に戻って、無効候補フラグが「ＴＲＵＥ」であるタッチ点のうち、次にＩＤの番号が大きいタッチ点を選択する。所定の範囲に含まれる全てのタッチ点を処理済みであると判定された場合（ステップＳ４０６でＹＥＳ）、判定処理は終了し、図２のフローチャートに戻る。
【００４６】
ユーザのタッチ入力を認識する処理に戻ると、続くステップＳ２０６では、認識部１２４が、判定部１２２の判定の結果、無効とされなかったタッチ点による入力を認識する。本実施形態の認識部１２４は、第１保持部１２３に保持された情報を参照し、無効候補フラグが「ＴＲＵＥ」ではない全てのタッチ点の座標入力として認識し、対応する処理を実行する。
【００４７】
そして、ステップＳ２０７において、表示制御部１２５が、認識部１２４によって認識された入力の結果を出力に反映する。本実施形態では、表示制御部１２５が、認識された入力よって指示された操作の結果を、タッチパネルディスプレイ１１５に表示される表示画像に反映し、出力する。
【００４８】
一方、ステップＳ２０８では、判定部１２２が、取得された１つのタッチ点が、判定部１２２によって既に無効とされたタッチ点であるか否かを判定する。取得されている１つのタッチ点が、他のタッチ点が取得されなくなった（リリースされた）ことにより、複数から１つに減少したタッチ点であれば、既に判定部１２２による判定が行われている。その場合に、入力を無効とする判定が行われたタッチ点は、引き続き無効とされることが望ましいため、ステップＳ２０７の判定を行う。取得された１つのタッチ点が、判定部１２２によって既に無効とされていた場合には、当該タッチ点が、情報処理装置１００を支持するために入力領域１０２に触れた指によるタッチ点である可能性が高いので、本実施形態では、引き続き無効とする。従って、取得されたタッチ点が、判定部１２２によって既に無効とされたタッチ点であると判定された場合（ステップＳ２０８でＹＥＳ）には、ステップＳ２０６に進む。一方で、取得された１つのタッチ点が、判定部１２２によって既に無効とされたタッチ点ではないと判定された場合（ステップＳ２０８でＮＯ）には、ステップＳ２０９に進む。
【００４９】
ステップＳ２０９では、判定部１２２が、取得されている全てのタッチ点による入力を有効とすると判定し、判定結果を示す情報を認識部１２４に通知する。
【００５０】
なお、本実施形態では、タッチセンサがタッチを取得したときには「ＴＯＵＣＨ」を、取得されていたタッチ点が解除されたときには「ＲＥＬＥＡＳＥ」をタッチイベントとして通知するタッチパネルを用いたが、これに限らない。例えば、新たに入力領域１０２がタッチされた場合には「ＴＯＵＣＨ＿ＤＯＷＮ」、既に取得されていたＩＤのタッチ点の移動が取得された場合には「ＭＯＶＥ」、離された時には「ＴＯＵＣＨ＿ＵＰ」をタッチイベントとして通知するものでもよい。この場合、「ＴＯＵＣＨ＿ＤＯＷＮ」が通知された場合に、第１保持部１２３に保持される情報をＩＤに関連付けて新規追加する。そして、「ＭＯＶＥ」が通知された場合には同じＩＤに関連付けられた情報を更新し、「ＴＯＵＣＨ＿ＵＰ」が通知された場合に、同じＩＤに関連付けられた情報を削除すればよい。
【００５１】
このように、情報処理装置１００は、入力装置であるタッチパネルで取得されている複数のタッチ点をＩＤによって識別して情報を管理する。従って、複数のタッチ点それぞれの動きを取得することができるので、それらのタッチ点に構成されるマルチタッチ操作を認識することができる。
【００５２】
ここで、具体的に、第１の実施形態による情報処理装置１００をユーザが操作する操作例を、図５〜８を参照して説明する。
【００５３】
まず、図５は、オブジェクトの表示状態と関連付け情報の一例を示す。図５（ａ）は、情報処理装置１００をカメラとして使用する場合に表示されるユーザインタフェースの状態の一例を示す。ここで、入力領域１０２には、図示されない撮像部によって撮像されている撮像画像５００と、オブジェクト５０１、オブジェクト５０２、オブジェクト５０３が表示されている。これらのオブジェクトは、情報処理装置１００のユーザインタフェースとして、それぞれカメラのズームレベルの調整機能、ＩＳＯ感度の調整機能、シャッタ速度の調整機能（以下、「シャッタ速度」）を呼び出すためのアイコンの役割を有している。図５（ｂ）は、ユーザがタッチ点５０４によって、オブジェクト５０１を指示したことにより、新たにオブジェクト５０５が表示された様子を示す。今、タッチ点５０４によって指示されたのはズームレベル調整機能（以下、単に「ズーム」という）を呼び出すアイコンであったため、オブジェクト５０５は、ズーム調整バーとしての役割を割り当てられる。同様に、オブジェクト５０５は、ＩＳＯ感度の調整機能（以下、単に「ＩＳＯ」という）に対応するオブジェクト５０２が指示された場合にはＩＳＯ調整バーとしての役割を割り当てられる。そして、シャッタ速度調整機能（以下、単に「シャッタ速度」という）に対応するオブジェクト５０３が指示された場合にはシャッタ速度調整バーとしての役割を割り当てられる。
【００５４】
図５（ｃ）は、第２保持部１２６が保持する情報の一例を示すテーブルであり、表示される各オブジェクトを識別するためのＩＤと、他のオブジェクトとの関連付け情報が格納されている。例えば、図５（ｂ）に示したように、ズーム調整バーに対応するオブジェクト５０５は、「ズーム」に対応するオブジェクト５０１が指示されることに応じて表示される。従って、図５（ｃ）では、「ズーム」に対応するＩＤが１のオブジェクトと、ズーム調整バーに対応するＩＤが１−１のオブジェクトは、関連付け情報として互いのＩＤが保持されている。「ＩＳＯ」「シャッタ速度」に関しても同様である。
【００５５】
次に、図６は、図５で説明した情報処理装置１００の操作例を示す。まず、図６（ａ）のように、情報処理装置１００は図１（ａ）の状態から反時計方向に９０度回転した状態であるとする。従って、タッチパネルディスプレイ１１５の入力領域１０２は、向かって左下を原点として、４８０［ｄｏｔ］×６４０［ｄｏｔ］の解像度の座標平面として位置情報を管理することができるものとする。さらに図６の例では、一例として、入力領域１０２の外縁から２０［ｄｏｔ］の範囲が、所定の範囲１０３として予め定められている。また、図８（ａ）〜（ｃ）は、図６（ｂ）〜（ｄ）の各状態において、取得部１２１によって取得され、第１保持部１２３に保持される情報の一例を示すテーブルである。
【００５６】
図６（ｂ）は、ユーザが、入力領域１０２に表示されたオブジェクト５０１にタッチすることによって、タッチ点５０４が取得された状態を示す（ステップ２０１）。取得部１２１は、図８（ａ）に示されるように、１番目にタッチされたことを示すＩＤが１のタッチ点について、Ｘ座標が３８０［ｄｏｔ］、Ｙ座標が１０［ｄｏｔ］という位置座標と、その位置に表示されているオブジェクト５０１を示す１というＩＤを取得する。このとき、取得されているタッチ点は複数ではなく（ステップＳ２０２でＮＯ）、既に無効とされたタッチ点でもないため（ステップＳ２０８でＮＯ）、タッチ点５０４による操作が認識される（ステップＳ２０６）。従って、操作結果の出力として、図６（ｃ）のように、ズーム調整バーであるオブジェクト５０５が表示される（ステップＳ２０７）。
【００５７】
次に図６（ｃ）では、ユーザが、新たにオブジェクト５０５をタッチすることによって、タッチ点６０１が取得された様子を示す（ステップＳ２０１）。取得部１２１は、図８（ｂ）のように、２番目にタッチされたことを示すＩＤが２のタッチ点について、Ｘ座標が８０［ｄｏｔ］、Ｙ座標が６２０［ｄｏｔ］という位置座標と、その位置に表示されているオブジェクト５０５を示す１−１というＩＤを取得する。このとき、取得されているタッチ点は複数であるので（ステップＳ２０２でＹＥＳ）、判定部１２２によって、少なくとも１つのタッチ点の位置が所定の範囲１０３に含まれるかが判定される。今、ＩＤが１のタッチ点及びＩＤが２のタッチ点は、いずれも、Ｙ軸方向において、外縁から２０［ｄｏｔ］の範囲に含まれる（ステップＳ２０３でＹＥＳ）。従って、判定部１２２は、所定の範囲１０３に含まれる２つのタッチ点（ＩＤ＝１、ＩＤ＝２）を取得する（ステップＳ２０４）。そしてまず、ＩＤが１のタッチ点を選択し（ステップＳ４０１）、その位置に表示されているＩＤが１のオブジェクト５０１に関連付けられたオブジェクトが存在するかを判定する（ステップＳ４０３）。この例では、図５（ｃ）のテーブルに基づいて、ＩＤが１−１のオブジェクト５０５が存在することを判定し、第１保持部１２３に保持された図８（ｂ）のテーブルに基づいて、ＩＤが２のタッチ点にＩＤが１−１のオブジェクトが関連づけられていると判定される。従って、特定されたオブジェクトと、他のタッチ点の位置に表示されたオブジェクトが関連している（ステップＳ４０３でＹＥＳ）ので、ＩＤが１のタッチ点による入力は有効と判定され、無効候補フラグは「ＦＡＬＳＥ」となる。同様に、ＩＤが２のタッチ点による入力も有効であると判定され、無効候補フラグは「ＦＡＬＳＥ」となる（ステップＳ４０５）。なお、所定の範囲１０３に含まれる１つのタッチ点に関連づいた表示オブジェクトが、所定の範囲１０３に含まれる他のタッチ点の表示オブジェクトとして関連付けられていた場合に、当該タッチ点による入力を全て有効と判定してもかまわない。
【００５８】
図６（ｄ）は、２点のタッチ点による入力は有効として判定されるために、引き続きズームレベルを調整する操作が入力されている情報処理装置１００を示す。ここでは、ＩＤが２のタッチ点６０１が、Ｘ軸の正方向に移動されたことに応じて、撮像画像がズームアップしている（ステップＳ２０７）。図８（ｃ）は、このとき第１保持部１２３に保持されている情報の一例を示し、無効候補フラグがＦＡＬＳＥである２つのタッチ点による入力はいずれも有効とされているため、当該タッチ点による操作が認識されることがわかる。
【００５９】
次に、図７（ａ）〜（ｃ）は、情報処理装置１００において、撮像された人物の画像７００を閲覧している様子を示す。ここで、画像７００は、図５（ａ）の撮像画像５００と同様、図５（ｃ）のテーブルにおいてオブジェクトＩＤ＝４が関連付けられている
図７（ａ）は、ユーザが、情報処理装置１００を左手で支持した際に、親指が入力領域１０２に触れたことによって、タッチ点７０１が取得された状態を示す。取得部１２１は、図８（ｄ）に示されるように、１番目にタッチされたことを示すＩＤが１のタッチ点について、Ｘ座標が２２０［ｄｏｔ］、Ｙ座標が１０［ｄｏｔ］という位置座標と、その位置に表示されている画像７００を示すＩＤ＝４を取得する。このとき、図６（ｂ）の場合と同様の処理に沿って、タッチ点７０１による入力は有効とされる。ただし、この操作画面では、画像７００をタッチする操作には、情報処理装置１００が実行する処理が対応付けられていないため、出力される表示画像には変化がない。
【００６０】
次に、図７（ｂ）は、ユーザが、入力領域１０２に表示される画像を変更する操作を行うために、入力領域１０２をさらにタッチした様子を示す。図８（ｅ）は、このとき取得されているタッチ点について、第１保持部１２３に保持される情報の一例を示す。２番目にタッチされたことを示すＩＤが２のタッチ点７０２には、Ｘ座標が２００［ｄｏｔ］、Ｙ座標が６００［ｄｏｔ］という位置座標と、その位置に表示されている画像７００を示すＩＤ＝４という情報が関連付けられる。
【００６１】
次に図７（ｂ）では、ユーザが、入力領域１０２に表示される画像を変更する操作を行うために、入力領域１０２をさらにタッチしたタッチ点７０２が取得された様子を示す（ステップＳ２０１）。取得部１２１は、図８（ｅ）のように、２番目にタッチされたことを示すＩＤが２のタッチ点７０２について、Ｘ座標が２００［ｄｏｔ］、Ｙ座標が６００［ｄｏｔ］という位置座標と、その位置に表示されている画像７００を示す４というＩＤを取得する。このとき、取得されているタッチ点は複数であるので（ステップＳ２０２でＹＥＳ）、判定部１２２によって、少なくとも１つのタッチ点の位置が所定の範囲１０３に含まれるかが判定される。今、ＩＤが１のタッチ点が、Ｙ軸方向において、外縁から２０［ｄｏｔ］の範囲に含まれる（ステップＳ２０３でＹＥＳ）。従って、判定部１２２は、所定の範囲１０３に含まれるタッチ点（ＩＤ＝１）を取得し（ステップＳ２０４）、その位置に表示されているＩＤが４の画像７００に関連付けられたオブジェクトが存在するかを判定する（ステップＳ４０３）。第２保持部１２６に保持された図５（ｃ）のテーブルに基づいて、ＩＤが４の画像７００には、関連付けられたオブジェクトが存在しないことが判定されると、タッチ点７０１による入力を無効とすると判定される（ステップＳ４０４）。従って、図８（ｅ）では、ＩＤが１のタッチ点の無効候補フラグは「ＴＲＵＥ」、ＩＤが２のタッチ点の無効候補フラグは「ＦＡＬＳＥ」となる。
【００６２】
図７（ｃ）は、有効となったタッチ点７０２によって、矢印方向にフリック操作（指を高速ではじくようにする操作）が入力された結果として、表示中の画像７００がスライドされ、画像７００と異なる風景の画像７０３が表示された様子を示す（ステップＳ２０７）。
【００６３】
以上のように、本実施形態によれば、タッチ操作の対象となる領域のうち、装置を支持するための指が接触してしまう可能性が高い範囲内でタッチ点を、入力として認識しない候補とし、候補となったタッチ点での表示内容に基づいて、認識するか否かを判定する。これにより、表示画面に表示可能な内容に制限を受けることなく、無効とすべきタッチ点を効率的に選択して、情報処理装置１００の誤動作を低減できる。
【００６４】
＜第２の実施形態＞
第１の実施形態では、複数のタッチ点が取得されている場合には、タッチされた順序に関わらず、所定の範囲１０３に含まれるタッチ点に表示されたオブジェクトと、他のタッチ点に表示されるオブジェクトとに関連があるか否かに基づく処理を行った。それに対し、第２の実施形態では、取得されているタッチ点のうち最も新しいタッチ点（以下、「最新のタッチ点」と省略する）は、ユーザが新たな操作を開始するためにタッチした可能性が高いとして、その位置に関わらず入力を有効とする。なお、最新のタッチ点とは、タッチが開始された、あるいは、位置が移動されたことにより、最も遅い取得時刻が保持されているタッチ点である。所定の範囲１０３に含まれるタッチ点のうち、最新のタッチ点に表示されたオブジェクトと関連付けられたオブジェクトが表示されているタッチ点による入力は有効とする処理を行う。
【００６５】
第２の実施形態に係る情報処理装置１００の外観、ハードウェア構成及び機能構成は、第１の実施形態の図１（ａ）〜（ｃ）に対応する。ただし、第２の実施形態の判定部１２２は、所定の範囲１０３に含まれるうち、最新のタッチ点以外のタッチ点を、入力を無効とするタッチ点の候補とする。そして、当該候補とされたタッチ点それぞれの位置に、最新のタッチ点に表示されたオブジェクトとに関連があるオブジェクトが表示されていた場合には、当該タッチ点による入力を有効、表示されていない場合には当該タッチ点による入力を無効と判定する。その他の機能部が行う処理の内容は第１の実施形態に準じる。
【００６６】
図９は、変形例１において実行される、ユーザのタッチ入力を認識する処理を示すフローチャートである。図２と同番号が付されているステップでは、第１の実施形態と同様の内容の処理が実行されるため、重複する処理の詳細な説明を省略し、第１の実施形態と異なる点を中心に説明する。
【００６７】
第２の実施形態では、まず、ステップＳ９０１において、取得部１２１が入力領域１０２に対するタッチ点に関する情報を取得する。本実施形態では、後述する図１０に示されるフローチャートに従って処理される。
【００６８】
図１０のフローチャートにおいて、図３と同番号が付されているステップでは、第１の実施形態と同様の内容の処理が実行されるため、重複する処理の詳細な説明を省略し、第１の実施形態と異なる点を中心に説明する。
【００６９】
第２の実施形態では、ステップＳ３０４において、取得部１２１が、第１保持部１２３に保持されている情報のうち、取得されたタッチ点と同じＩＤのタッチ点の情報を更新する処理が完了すると、処理がステップＳ１００１に進む。
【００７０】
ステップＳ１００１では、取得部１２１が、取得したタッチ点は、以前に取得された位置から移動したタッチ点か否かを判定する。本実施形態では、ステップＳ３０４においてタッチ点の情報が更新される際に、取得部１２１が更新前後の位置情報が一致するか否かを示す情報を一時的に保持し、ステップＳ１００１の判定に利用する。取得したタッチ点が、移動したタッチ点であると判定される場合（ステップＳ１００１でＹＥＳ）には、ステップＳ１００２に進む。一方で、取得したタッチ点が、移動したタッチ点ではないと判定される場合（ステップＳ１００２）には、ステップＳ３０５に進む。
【００７１】
また、第２の実施形態では、ステップＳ３０３において、取得部１２１が、第１保持部１２３に保持される情報に、タッチ点の情報を新規追加する処理が完了した場合にも、処理はステップＳ１００２に進む。
【００７２】
ステップＳ１００２では、取得部１２１が、取得されたタッチ点が最新のタッチ点であることを示す情報を更新する。本実施形態では、第１保持部１２３に保持されている、各タッチ点の情報において、最も取得時刻が新しいタッチ点のＩＤに、最新のタッチ点であることを示す情報として、最新フラグの値「ＴＲＵＥ」を関連付けて保持する。ステップＳ１００２では、最新フラグの値「ＴＲＵＥ」を関連付けるタッチ点を更新して、ステップＳ３０５に進む。
【００７３】
ステップＳ３０５では、第１の実施形態と同様に、取得されたタッチ点の位置に表示されているオブジェクトのＩＤを特定し、第１保持部１２３に保持する。そして処理はタッチ入力を認識する処理（図２）に戻る。
【００７４】
また、第２の実施形態では、ステップＳ２０２において、判定部１２２が、取得部１２１によって複数のタッチ点が取得されていると判定した場合（ステップＳ２０２でＹＥＳ）には、処理はステップＳ９０２に進む。
【００７５】
ステップＳ９０２では、判定部１２２が、最新のタッチ点以外のタッチ点の位置が、所定の範囲１０３に含まれるか否かを判定する。本実施形態では、第１保持部１２３に保持された情報を参照し、最新フラグが「ＴＲＵＥ」でないタッチ点の位置情報が、所定の範囲１０３に含まれるか否かを判定する。所定の範囲１０３に含まれるタッチ点が存在した場合、最新のタッチ点以外のタッチ点の位置が、所定の範囲１０３に含まれると判定され（ステップＳ９０２でＹＥＳ）、ステップＳ９０３に進む。
【００７６】
ステップＳ９０３では、判定部１２２が、最新タッチ点以外のタッチ点のうち、所定の範囲に含まれるタッチ点を、入力を無効とするタッチ点の候補として特定し、そのＩＤに無効候補フラグの値「ＴＲＵＥ」を関連付けて保持する。
【００７７】
ステップＳ９０４では、図１１のフローチャートに従って、タッチ点の位置での表示オブジェクトに基づく判定処理が実行される。
【００７８】
図１１のフローチャートにおいて、まず、ステップＳ１１０１では、判定部１２２が、最新のタッチ点の位置に表示されているオブジェクトを特定する。判定部１２２は、第１保持部１２３に保持されている情報を参照し、最新フラグが「ＴＲＵＥ」であるタッチ点に関連付けられた、表示オブジェクトを特定し、ＩＤを取得する。
【００７９】
次に、ステップＳ１１０２では、判定部１２２が、ステップＳ１１０１で特定されたオブジェクトに関連付けられた他の表示オブジェクトが存在するか否かを判定する。本実施形態では、第２保持部１２６に保持された情報を参照し、取得したＩＤのオブジェクトに関連付け情報として、他の表示オブジェクトのＩＤが保持されているか否かを判定する。特定されたオブジェクトに関連付けられた他の表示オブジェクトが存在すると判定された場合（ステップＳ１１０２でＹＥＳ）には、当該表示オブジェクトのＩＤを取得して、ステップＳ１１０３に進む。一方、特定されたオブジェクトに関連付けられた他の表示オブジェクトが存在しないと判定された場合（ステップＳ１１０３でＮＯ）には、図９のフローチャートに戻る。
【００８０】
ステップＳ１１０３では、判定部１２２が、特定されたオブジェクトに関連付けられたオブジェクトが、所定の範囲内に含まれるタッチ点の位置に表示されているかを判定する。本実施形態では、ステップＳ１１０２で取得した表示オブジェクトのＩＤが、第１保持部１２３に保持された情報に含まれている場合、特定されたオブジェクトに関連付けられたオブジェクトが、所定の範囲内に含まれるタッチ点の位置に表示されていると判定する。特定されたオブジェクトに関連付けられたオブジェクトが、所定の範囲内に含まれるタッチ点の位置に表示されていると判定された場合（ステップＳ１１０３でＹＥＳ）、ステップＳ１１０４に進む。一方、所定の範囲内に含まれるタッチ点の位置に表示されていないと判定された場合（ステップＳ１１０３でＮＯ）、図９のフローチャートに戻る。
【００８１】
ステップＳ１１０４では、判定部１２２が、特定されたオブジェクトに関連付けられたオブジェクトが表示されている少なくとも１つのタッチ点を特定する。本実施形態では、第１保持部１２３に保持されている情報を参照し、ステップＳ１１０２で取得した表示オブジェクトのＩＤに関連付けられている少なくとも１つのタッチ点のＩＤを取得する。
【００８２】
ステップＳ１１０５では、判定部１２２が、特定された少なくとも１つのタッチ点による入力を有効とすると判定する。すなわち、当該タッチ点を、入力を無効とする候補のタッチ点からから除外する。従って、取得したＩＤに関連付けられた無効候補フラグの値を「ＦＡＬＳＥ」に更新し、図９のフローチャートに戻る。
【００８３】
なお、これに続く、ステップＳ２０６以降の処理は、第１の実施形態と同様に実行されるため、詳細な説明を省略する。
【００８４】
ここで、具体的に、第１の実施形態による情報処理装置１００をユーザが操作する例を、図１２〜１４を参照して説明する。
【００８５】
まず、図１２は、第１の実施形態において、図５及び図６を利用して説明したのと同じ、情報処理装置１００のカメラ機能のズーム操作の例である。ここでも、第２保持部１２６は、図５（ｃ）に示されるテーブルを保持し、表示される各オブジェクトを識別するためのＩＤと、他のオブジェクトとの関連付け情報が格納されているとする。また、図１２（ａ）は図６（ｂ）、図１２（ｂ）は図６（ｃ）の操作状況にそれぞれ対応する。図１２（ｃ）〜（ｅ）は、図８（ａ）〜（ｃ）に対応する。
【００８６】
図１２（ａ）は、ユーザが、入力領域１０２に表示されたオブジェクト５０１にタッチすることによって、タッチ点１２０１が取得された状態を示す（ステップＳ９０１）。ここで取得部１２１は、図１２（ｃ）に示されるように、１番目にタッチされたＩＤが１のタッチ点について、Ｘ座標が３８０［ｄｏｔ］、Ｙ座標が１０［ｄｏｔ］という位置座標と、その位置に表示されているオブジェクト５０１を示す１というＩＤを取得する。そしてさらに、この時点での最新のタッチ点であることを示す情報として、最新フラグを「ＴＲＵＥ」としてＩＤが１のタッチ点に関連付ける（ステップＳ１００２）。このとき、取得されているタッチ点は複数ではなく（ステップＳ２０２でＮＯ）、既に無効とされたタッチ点でもないため（ステップＳ２０８でＮＯ）、タッチ点５０４による操作が認識される（ステップＳ２０６）。従って、操作結果の出力として、図６（ｃ）のように、ズーム調整バーであるオブジェクト５０５が表示される（ステップＳ２０７）。
【００８７】
次に図１２（ｂ）では、ユーザが、新たにオブジェクト５０５をタッチすることによって、タッチ点１２０２が取得された様子を示す（ステップＳ９０１）。取得部１２１は、図１２（ｄ）のように、２番目にタッチされたＩＤが２のタッチ点について、Ｘ座標が８０［ｄｏｔ］、Ｙ座標が６２０［ｄｏｔ］という位置座標と、その位置に表示されているオブジェクト５０５を示す１−１というＩＤを取得する。そしてさらに、この時点での最新のタッチ点であることを示す情報として最新フラグ「ＴＲＵＥ」をＩＤが２のタッチ点に関連付け、ＩＤが１のタッチ点に関連付けられた最新フラグの値を「ＦＡＬＳＥ」に更新する（ステップＳ１００２）。このとき、取得されているタッチ点は複数であるので（ステップＳ２０２でＹＥＳ）、判定部１２２によって、最新のタッチ点以外のタッチ点であるＩＤが１のタッチ点の位置が、所定の範囲１０３に含まれるかが判定される。今、ＩＤ１のタッチ点１２０１は、いずれも、Ｙ軸方向において、外縁から２０［ｄｏｔ］の範囲に含まれる（ステップＳ９０２でＹＥＳ）。従って、判定部１２２は、所定の範囲１０３に含まれるタッチ点（ＩＤ＝１）に、無効候補フラグ「ＴＲＵＥ」を関連付けて保持する（ステップＳ９０３）。次に、最新のタッチ点１２０２に表示されているオブジェクトのＩＤとして、１−１が特定される（ステップＳ１１０１）。さらに、図５（ｃ）に示される、第２保持部１２６が保持している情報が参照されることで、ＩＤが１−１のオブジェクトに関連付けられたオブジェクト５０１（ＩＤ＝１）が特定される（ステップＳ１１０２でＹＥＳ）。ここでは第１保持部１２３が保持している情報である図１２（ｄ）のテーブルの表示オブジェクトのＩＤの格納部分に、オブジェクト５０１を示す１の値が含まれる（ステップＳ１１０３でＹＥＳ）。図１２（ｄ）のテーブルに基づいて、当該タッチ点がタッチ点１２０２（ＩＤ＝１）と特定され  （ステップＳ１１０４）、タッチ点１２０２による入力は有効とされる。そして、図１２（ｅ）に示されるように、ＩＤが１のタッチ点に関連付けられた無効候補フラグの値が「ＦＡＬＳＥ」に更新される。従って、図６で説明した第１の実施形態と同様、タッチ点１２０１とタッチ点１２０２の両方による入力が認識される（ステップＳ２０６）。
【００８８】
次に、図１３（ａ）〜（ｄ）は、情報処理装置１００において、ブラウザのスクロール操作を行う例を示す。また、図１４は、ここで説明するスクロール操作に関して、第１保持部１２３と第２保持部１２６に保持される情報の一例を示す。
【００８９】
まず、図１３（ａ）は、情報処理装置１００に表示されるユーザインタフェースの状態の一例を示す。ここで、入力領域１０２には、一例としてテキスト情報を含むＷＥＢページを表示する画像１３００とスクロールバー１３０１とが表示される。スクロールバー１３０１は、情報処理装置１００のユーザインタフェースを構成する部品として、ＷＥＢページの全体長に対する相対位置を指定することによって、ブラウザが表示するＷＥＢページの一部分を変更させる役割を有している。また、画像１３００部分を上下にフリック操作することによっても、ＷＥＢページのうち入力領域１０２に表示される一部分は変更される。図１４（ａ）は、第２保持部１２６が保持する情報の一例を示すテーブルであり、表示される各オブジェクトを識別するためのＩＤと、他のオブジェクトとの関連付け情報が格納されている。ここでは、ブラウザの表示領域であるＩＤが１の画像１３００と、スクロールバー１３０１に対応するＩＤが２のオブジェクトの情報が格納されている。そして、この２つのオブジェクトはそれぞれ独立したタッチ操作で操作されるため、互いに関連付けがなされていない。
【００９０】
図１３（ｂ）は、ユーザが、情報処理装置１００を左手で支持した際に、親指が入力領域１０２に触れたことによって、タッチ点１３０２が取得された状態を示す。取得部１２１は、図１４（ｂ）に示されるように、１番目にタッチされたことを示すＩＤが１のタッチ点のＸ座標１０［ｄｏｔ］、Ｙ座標３２０［ｄｏｔ］、その位置に表示されているブラウザの表示領域である画像１３００を示すＩＤの１を取得する（ステップＳ９０１）。この際、この時点での最新のタッチ点であることを示す情報として、最新フラグを「ＴＲＵＥ」としてＩＤが１のタッチ点に関連付ける（ステップＳ１００２）。このとき、取得されているタッチ点は複数ではなく（ステップＳ２０２でＮＯ）、既に無効とされたタッチ点でもないため（ステップＳ２０８でＮＯ）、タッチ点１３０２による操作が認識される（ステップＳ２０６）。ただし、タッチ点１３０２は移動されていないため、スクロールのためのフリック操作は認識されず、表示内容に変化はない（ステップＳ２０７）。
【００９１】
次に図１３（ｃ）では、ユーザが、新たにスクロールバー１３０１をタッチすることによって、タッチ点１３０３が取得された様子を示す（ステップＳ９０１）。取得部１２１は、図１４（ｃ）のように、２番目にタッチされたＩＤが２のタッチ点について、Ｘ座標が４７０［ｄｏｔ］、Ｙ座標が１００［ｄｏｔ］という位置座標と、その位置に表示されているスクロールバー１３０１を示す２というＩＤを取得する。そしてさらに、この時点での最新のタッチ点であることを示す情報として最新フラグ「ＴＲＵＥ」をＩＤが２のタッチ点に関連付け、ＩＤが１のタッチ点に関連付けられた最新フラグの値を「ＦＡＬＳＥ」に更新する（ステップＳ１００２）。このとき、取得されているタッチ点は複数であるので（ステップＳ２０２でＹＥＳ）、判定部１２２によって、最新のタッチ点以外のタッチ点であるＩＤが１のタッチ点の位置が、所定の範囲１０３に含まれるかが判定される。今、ＩＤが１のタッチは、Ｘ軸方向において、外縁から２０［ｄｏｔ］の範囲に含まれる（ステップＳ９０２でＹＥＳ）。従って、判定部１２２は、所定の範囲１０３に含まれるタッチ点（ＩＤ＝１）に、無効候補フラグ「ＴＲＵＥ」を関連付けて保持する（ステップＳ９０３）。次に、最新のタッチ点１３０２に表示されているオブジェクトのＩＤとして、２が特定される（ステップＳ１１０１）。さらに、図１４（ａ）に示される、第２保持部１２６が保持している情報が参照されることで、ＩＤが２のオブジェクトに関連付けられたオブジェクトが存在しないと判定される（ステップＳ１１０２でＮＯ）。従って、タッチ点１３０２（ＩＤ＝１）の無効候補フラグの値「ＴＲＵＥ」と、タッチ点１３０３（ＩＤ＝２）の無効候補フラグの値「ＦＡＬＳＥ」は維持される。タッチ点１３０３による入力が、スクロールバー１３０１の位置を指定する操作が認識されるため（ステップＳ２０６）、画像１３００の内容が一部変化する（ステップＳ２０７）。
【００９２】
図１３（ｄ）は、タッチ点１３０３による入力が有効として判定される（ステップＳ２０６）ために、ブラウザが表示する内容がスクロールされ、画像１３００が変化する様子を示す。ここでは、ＩＤが２のタッチ点１３０３が、Ｙ軸の正方向に移動されたことに応じて、ＷＥＢページが上方向にスクロール移動して、表示される部分が移動するように表示される（ステップＳ２０７）。図１４（ｄ）は、このとき第１保持部１２３に保持されている情報の一例を示し、無効候補フラグがＦＡＬＳＥであるタッチ点１３０３（ＩＤ＝２）による操作が認識されることがわかる。
【００９３】
図１３（ａ）で説明したブラウザのスクロール操作のように、スクロールバーが表示されている場面において、スクロールバーは、入力領域１０２の外縁付近に表示されることが一般的であり、多く実施されている。また、スクロールバー以外にも、画面の中央に表示される情報を阻害しないように、ユーザインタフェースに係るオブジェクトを入力領域の外縁近くに表示させる場合が多々ある。従って、画面の外縁近くに位置するタッチ点による入力を一律に無効にする制御方法や、当該タッチ点が移動した場合に入力を有効とする制御方法では、図１３（ｃ）に示した例のような時に、ユーザのタッチ操作を正確に認識できない場合が生じる。また、ユーザインタフェースを表示させる位置に制限を受ける場合が生じる。それに対し、本実施形態では、操作が開始されるタイミングを考慮した処理を行うため、表示内容に制限を受けることなく、入力領域１０２の外縁付近におけるタッチ操作も認識することが可能となる。
【００９４】
以上説明したように、本実施形態では、入力領域１０２が同時にタッチされることによって取得される複数のタッチ点のうち、最も新しく取得されたタッチ点による入力を、その位置関わらず有効と判定する。そして、所定の範囲１０３に含まれるため、入力を無効とする候補となるタッチ点のち、最新のタッチ点の位置に表示されたオブジェクトに関連するオブジェクトが表示される位置のタッチ点による入力は有効と判定する。このように判定する理由は、最新のタッチ点は、ユーザが新しくタッチ操作を開始する意図により、タッチされている可能性が高いからである。同様に、当該タッチ点と関連するオブジェクトが表示されている位置をタッチしているタッチ点も、開始されるタッチ操作に関連する可能性が高いからである。このように、タッチ点が開始された順番に応じて、入力を無効とするタッチ点の候補を絞ることで、無効とするか有効とするかを判定する処理の負荷を低減することができる。
【００９５】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014130450.tif 000003
【図２】
2014130450.tif 000004
【図３】
2014130450.tif 000005
【図４】
2014130450.tif 000006
【図５】
2014130450.tif 000007
【図６】
2014130450.tif 000008
【図７】
2014130450.tif 000009
【図８】
2014130450.tif 000010
【図９】
2014130450.tif 000011
【図１０】
2014130450.tif 000012
【図１１】
2014130450.tif 000013
【図１２】
2014130450.tif 000014
【図１３】
2014130450.tif 000015
【図１４】
2014130450.tif 000016