(57)【特許請求の範囲】
【請求項１】
同時に存在している複数のタッチ入力位置を検出可能なタッチパネルと、
前記タッチパネル上に同時に存在している複数のタッチ入力位置のうち、所定の数のタッチ入力位置で構成される組み合わせを抽出する抽出手段と、
前記抽出手段で抽出された組み合わせが一人のユーザの範囲指定操作であるか否かを判定する判定手段と、
前記判定手段により一人のユーザの範囲指定操作であると判定された組み合わせを構成するタッチ入力位置の位置関係に基づいて当該組み合わせのタッチ入力位置によって指定された範囲を特定する特定手段と、
前記タッチパネルと重ねて配置された表示器に、複数のオブジェクトを表示する表示手段と、
前記表示器に表示されたオブジェクトと、前記特定手段により特定された範囲の重なり状態に基づいて、選択されたオブジェクトを決定する決定手段とを備え、
前記判定手段により一人のユーザの範囲指定操作であると判定された組み合わせを構成しないタッチ入力位置について、前記所定の数を少なくして、前記抽出手段と、前記判定手段の処理を再度実行させることを特徴とする情報処理装置。
【請求項２】
前記所定の数は、３乃至５のいずれかの数であって、
前記特定手段は、前記抽出手段で抽出された組み合わせを構成する３乃至５のいずれかの数のタッチ入力位置によって指定される円を特定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、前記特定された円が、予め定められたサイズ以下であることを、前記判定をするための条件として用いることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記判定手段は、前記組み合わせを構成する全てのタッチ入力位置が、円周からの距離が予め定められた範囲に納まる円を特定できることを、前記判定をするための条件として用いることを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記判定手段は、前記円の円周を前記タッチ入力位置に基づいて分割した場合に、当該分割によって生じた全ての円弧の中心角が予め定められた大きさ以下となることを前記判定をするための条件として用いることを特徴とする請求項２から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記タッチパネルを介してユーザの手の大きさを検出する検出手段を更に備え、
前記判定手段は、前記組み合わせを構成するタッチ入力位置に基づいて設定される円のサイズが、前記検出手段で検出した手の大きさに基づいて決定されるサイズを超えないことを前記判定をするための条件として用いることを特徴とする請求項２から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記判定手段は、前記組み合わせを構成するタッチ入力位置の各々の入力が開始された時刻が所定の時間範囲内におさまっていることを、前記判定をするための条件として用いることを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記判定手段は、前記組み合わせを構成するタッチ入力位置の現時点までの履歴において、タッチ入力位置の位置関係が一人のユーザの範囲指定操作であることを判定するための条件から一度も逸脱しないことを前記判定をするための条件として用いることを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記タッチパネルを介してユーザに範囲指定操作を行わせ、そのときのタッチ入力位置の相対的な位置関係を保持する保持手段を更に備え、
前記判定手段は、前記組み合わせを構成するタッチ入力位置の相対的な位置関係と前記保持手段により保持された相対的な位置関係との類似度を前記判定をするための条件として用いることを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記抽出手段は、前記タッチパネルとは別のセンサによりユーザの手の位置を検出し、検出した手の位置に基づいて前記組み合わせを抽出することを特徴とする請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記判定手段により範囲指定操作であると判定された場合に、当該判定の時点において前記組み合わせを構成するタッチ入力位置によって決定された範囲よりも拡大または縮小された範囲を指示するように前記組み合わせを構成するタッチ入力位置が変更されたことに応じて、前記特定された範囲を拡大または縮小する変更手段を更に備えることを特徴とする請求項１から１０のいずれか１項に記載の情報処理装置。
【請求項１２】
ユーザの人数を登録する登録手段を更に備え、
前記抽出手段は、所定の範囲内に存在する前記所定の数のタッチ入力位置を前記組み合わせとして抽出し、抽出される組み合わせの数は、前記登録手段に登録された人数の２倍以下であることを特徴とする請求項１から１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記特定された範囲を、平行移動、回転、拡大、縮小させるように当該組み合わせを構成するタッチ入力位置が変化したことに応じて、前記決定手段で決定した前記選択されたオブジェクトを平行移動、回転、拡大、縮小させる操作手段を更に備えることを特徴とする請求項１から１２のいずれか１項に記載の情報処理装置。
【請求項１４】
同時に存在している複数のタッチ入力位置を検出可能なタッチパネルを備えた情報処理装置の制御方法であって、
抽出手段が、前記タッチパネル上に同時に存在している複数のタッチ入力位置のうち、所定の数のタッチ入力位置で構成される組み合わせを抽出し、
判定手段が、前記抽出された組み合わせが一人のユーザの範囲指定操作であるか否かを判定し、
特定手段が、一人のユーザの範囲指定操作であると判定された組み合わせを構成するタッチ入力位置の位置関係に基づいて、当該組み合わせのタッチ入力位置によって指定された範囲を特定し、
表示手段が、前記タッチパネルと重ねて配置された表示器に、複数のオブジェクトを表示し、
決定手段が、前記表示器に表示されたオブジェクトと、前記特定された範囲の重なり状態に基づいて、選択されたオブジェクトを決定し、
一人のユーザの範囲指定操作であると判定された組み合わせを構成しないタッチ入力位置について、前記所定の数を少なくして、前記抽出と、前記判定を再度実行することを特徴とする情報処理装置の制御方法。
【請求項１５】
同時に存在している複数のタッチ入力位置を検出可能なタッチパネルを備えた情報処理装置のコンピュータに、
前記タッチパネル上に同時に存在している複数のタッチ入力位置のうち、所定の数のタッチ入力位置で構成される組み合わせを抽出し、
前記抽出した組み合わせが一人のユーザの範囲指定操作であるか否かを判定し、
一人のユーザの範囲指定操作であると判定された組み合わせを構成するタッチ入力位置の位置関係に基づいて当該組み合わせのタッチ入力位置によって指定された範囲を特定し、
前記タッチパネルと重ねて配置された表示器に、複数のオブジェクトを表示し、
前記表示器に表示されたオブジェクトと、前記特定された範囲の重なり状態に基づいて、選択されたオブジェクトを決定し、
一人のユーザの範囲指定操作であると判定された組み合わせを構成しないタッチ入力位置について、前記所定の数を少なくして、前記抽出と、前記判定を再度実行する、ことを含む制御方法を実行させるためのプログラム。
【請求項１６】
請求項１５に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はタッチパネルを利用したユーザインターフェイスに関する。
【背景技術】
【０００２】
一般に、ユーザに提示した画面に対するユーザからの操作を受け付けるタッチパネルを利用したユーザインターフェイスは広く用いられている。更に近年、タッチ位置を複数点検出できるタッチパネル（以下マルチタッチパネル）が提案され、利用され始めている。マルチタッチパネルを利用すると、ユーザの複数の指によるジェスチャが認識可能となり、複数の指の関係に新たな意味を持たせることが可能となる。例えば、複数の指により、オブジェクトの拡大・縮小・回転といった指示を与えることが可能である（特許文献１を参照）。また、複数点でオブジェクトを囲うことによって、オブジェクトを選択するといった指示も可能である（特許文献２、特許文献３、特許文献４、特許文献５を参照）。複数点で囲う選択操作、特に片手の指でオブジェクトを囲うことによる選択操作は、実体のあるものへの行為と近いため、ユーザにとって直感的でわかりやすいユーザインターフェイスである。
【特許文献１】特開２００１−２９０５８５号公報
【特許文献２】特開２０００−１６３４４４号公報
【特許文献３】特開２００３−２５６１４２号公報
【特許文献４】特開平０１−１４２９６９号公報
【特許文献５】特開２００７−２７２９０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来、マルチタッチパネルへ複数のユーザが同時に操作した場合に、個々のユーザの操作を区別できずに、複数ユーザの指定点から領域の選択操作と誤認識してしまうという課題があった。個人での利用を前提とした機器では問題とならないが、例えば複数人での会議で利用する比較的大きなパネルでの操作では、複数人が同時にタッチしたことを領域選択と誤認識してしまうのでは、複数人での同時操作は不可能となってしまう。また、一人のユーザによる操作であっても、両手でそれぞれ別の操作を行っているときに、それらをひとつの領域選択と誤認識されてしまうという課題がある。
【０００４】
本発明は上記の課題に鑑みてなされたものであり、マルチタッチパネルにおいて、領域の選択操作とその他の操作とをより確実に識別可能な情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するための本発明の一態様による情報処理装置は以下の構成を備える。すなわち、
同時に存在している複数のタッチ入力位置を検出可能なタッチパネルと、
前記タッチパネル上に同時に存在している複数のタッチ入力位置のうち、所定の数のタッチ入力位置で構成される組み合わせを抽出する抽出手段と、
前記抽出手段で抽出された組み合わせが一人のユーザの範囲指定操作であるか否かを判定する判定手段と、
前記判定手段により一人のユーザの範囲指定操作であると判定された組み合わせを構成するタッチ入力位置の位置関係に基づいて当該組み合わせのタッチ入力位置によって指定された範囲を特定する特定手段と、
前記タッチパネルと重ねて配置された表示器に、複数のオブジェクトを表示する表示手段と、
前記表示器に表示されたオブジェクトと、前記特定手段により特定された範囲の重なり状態に基づいて、選択されたオブジェクトを決定する決定手段とを備え、
前記判定手段により一人のユーザの範囲指定操作であると判定された組み合わせを構成しないタッチ入力位置について、前記所定の数を少なくして、前記抽出手段と、前記判定手段の処理を再度実行させる。
【０００６】
また、上記の目的を達成するための本発明の他の態様による情報処理装置の制御方法は、
同時に存在している複数のタッチ入力位置を検出可能なタッチパネルを備えた情報処理装置の制御方法であって、
抽出手段が、前記タッチパネル上に同時に存在している複数のタッチ入力位置のうち、所定の数のタッチ入力位置で構成される組み合わせを抽出し、
判定手段が、前記抽出された組み合わせが一人のユーザの範囲指定操作であるか否かを判定し、
特定手段が、一人のユーザの範囲指定操作であると判定された組み合わせを構成するタッチ入力位置の位置関係に基づいて、当該組み合わせのタッチ入力位置によって指定された範囲を特定し、
表示手段が、前記タッチパネルと重ねて配置された表示器に、複数のオブジェクトを表示し、
決定手段が、前記表示器に表示されたオブジェクトと、前記特定された範囲の重なり状態に基づいて、選択されたオブジェクトを決定し、
一人のユーザの範囲指定操作であると判定された組み合わせを構成しないタッチ入力位置について、前記所定の数を少なくして、前記抽出と、前記判定を再度実行する。
【発明の効果】
【０００７】
一人のユーザが選択した領域を選択領域として認識する。複数人での操作、両手での操作を選択操作と誤認識しない。
【発明を実施するための最良の形態】
【０００８】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【０００９】
＜第１実施形態＞
本実施形態の情報処理装置１００の構成を図１のブロック図で説明する。１０１は情報処理装置１００全体を制御するCentral Processing Unit（ＣＰＵ）である。１０２は変更を必要としないプログラムやパラメータを格納するReadOnlyMemory（ＲＯＭ）である。１０３は外部装置などから供給されるプログラムやデータを一時記憶するRandom Access Memory（ＲＡＭ）である。１０４は外部記憶装置であり、情報処理装置１００に固定して設置されたハードディスクやメモリカード、あるいは情報処理装置１００から着脱可能な記憶媒体を含む。着脱可能な記憶媒体としては、フレキシブルディスク（ＦＤ）やCompactDisc（ＣＤ）等の光ディスク、磁気や光カード、ＩＣカード、メモリカードなどが挙げられる。
【００１０】
１０８はマルチタッチパネルであり、複数のタッチ入力位置を同時に検出可能なタッチパネルである。１０５は入力デバイスインターフェイスであり、マルチタッチパネル１０８からのユーザの操作を受け、データを入力するデバイスとのインターフェイスである。１０６は出力インターフェイスであり、情報処理装置１００の保持するデータや供給されたデータをマルチタッチパネル１０８に重ねて配置された表示器１０９に表示するためのインターフェイスである。
【００１１】
１０７は１０１〜１０６の各ユニットを通信可能に接続するシステムバスである。入力デバイスインターフェイス１０５、出力デバイスインターフェイス１０６はそれぞれマルチタッチパネル１０８と表示器１０９に接続されている。本実施形態では、本発明内容を実施するための情報処理プログラムコードが外部記憶装置１０４に格納されており、ＲＡＭ１０３にロードされ、ＣＰＵ１０１によって実行される。ユーザはマルチタッチパネル１０８を用いて操作し、表示器１０９よりレスポンスを得る。なお、情報処理プログラムコードは、ＲＯＭ１０２に格納されていてもよい。
【００１２】
図２は情報処理装置１００の外観図である。情報処理装置１００は、例えばテーブル形状を有し、その天板２０１がマルチタッチパネル１０８となっている。複数のユーザは、マルチタッチパネル１０８を操作すると共に、表示器１０９の表示内容をマルチタッチパネル１０８を通して観察することができる。なお、本発明はこの装置形状に制限されるものではない。例えば、ホワイトボードの形状であってもよい。
【００１３】
図３はマルチタッチパネル１０８を通してその表示内容が観察される表示器１０９の表示画面例である。画面には画像や文書等のオブジェクトが表示される。ユーザの操作によっては、操作メニューが表示されることもある。オブジェクトに対しては、それを選択した上で、移動・回転・拡大・縮小といった表示の変更指示操作や、その実行や削除といった操作が行える。また、オブジェクトは実体があるものと同じように、重ねて配置することもできる。ユーザはマルチタッチパネル１０８に指で触れることによって操作を指示する。マルチタッチパネル１０８は、複数の指による接触点の検出が同時に行える。但し、本発明は、複数の接触点が同時に検出できればよく、その検出方法（センサ）は制限されない。
【００１４】
図４はマルチタッチパネル１０８に対するユーザの操作例である。オブジェクトのいずれか１点に指で触れることで選択し、そのまま指をパネルと触れたまま移動させれば（ドラッグすれば）、オブジェクトを移動させることができる。
【００１５】
図５はオブジェクトが複数の場合に、オブジェクトを選択するためのユーザの操作である。ユーザは、オブジェクト群を囲うように片手の３本以上の指でマルチタッチパネル１０８に触れる。囲われた領域内のオブジェクト群は全て選択された状態となる。その後は、オブジェクト群の移動操作等が行える。例えば、囲った複数の指間の位置関係を大きく変えることなく同方向へドラッグすれば、オブジェクト群を移動させることができる。オブジェクト群は重なって表示されていてもよいし、囲った領域内に重なることなく表示されていてもよい。また、本方法はオブジェクトが複数の場合に特に有効だが、オブジェクトが単数であっても機能する。
【００１６】
図６は図５の例でユーザがオブジェクトを囲う操作をした際、マルチタッチパネル１０８で認識される接触点を図示したものである。これらの接触点を通る円が選択領域となる。この図の場合、接触点は片手の指のものしかないが、複数人で情報処理装置を利用している場合や、ひとりでも両手で操作をしている場合には、異なる手の指による接触点が認識される状態となる。そのような状態でも選択操作を可能とするには、接触点のうち、片手で囲った指による点集合を識別する処理が必要となる。
【００１７】
図７は、マルチタッチパネル１０８で認識される接触点の中から片手で囲った指による点集合を識別する処理を示すフローチャートである。本処理は情報処理プログラムコードの一部として情報処理装置に格納されており、オブジェクト選択工程の一部である。本処理は定期的に実行されてもよいし、新たな接触点の認識をトリガとして開始されてもよい。
【００１８】
最初に、ＣＰＵ１０１は、接触点から任意に３点以上５点以下の点を選択する（ステップＳ７０１）。以降ここで選択した点集合が片手の指によるものか否かの判断を行う。なお、２回目以降のステップＳ７０１における処理では、既にいずれかの集合（片手の指による接触点の集合のいずれか）に属すると判定された接触点は、選択の対象から除外される。認識漏れを少なくするため、より多くの点集合での判断を先に行う。接触点が５点ある場合は、まずその５点で判断し、５点が集合ではなければ、任意の４点を選んで判断、いずれの４点も集合ではなければ、任意の３点を選んで判断する。もとより接触点が２点以下の場合は、３点以上の点を選択できないので、本処理は終了となる。以上のように、ステップＳ７０１において、ＣＰＵ１０１は、タッチパネル上に（マルチタッチパネル１０８に）同時に存在している複数のタッチ入力位置のうち、予め定められた数のタッチ入力位置の組み合わせを抽出する。ここで、予め定められた数とは、ユーザの片手による範囲指定を検出するために、３乃至５個の少なくとも何れかの個数である。
【００１９】
次に、ＣＰＵ１０１は、ステップＳ７０１で抽出されたタッチ入力位置の組み合わせについて、当該組み合わせが一人のユーザによる範囲指定操作であるか否かをタッチ入力位置の位置関係に基づいて判定する（ステップＳ７０２〜Ｓ７０８）。まず、ステップＳ７０１で選択された各点に関して、マルチタッチパネル１０８への接触を開始した時刻を調べる（ステップＳ７０２）。ＣＰＵ１０１は、選択された全ての点の接触開始時刻が予め定められた制限時間の範囲内、例えば１秒以内に収まっていなければ、点集合は片手で囲った指の接触点集合ではないと判断する（ステップＳ７０２でＮＯ）。これは、オブジェクトを囲って選択する操作はほぼ同時に指をついて行うこと、という操作ルールを利用した確認である。なお、制限時間は、あまり短くすると判定が厳しくなり、ユーザが片手で囲う操作をしても、それを囲う操作だとみなしにくくなる。一方、制限時間をあまり長くすると、異なる操作を、囲う操作であると誤認識しやすくなる。従って、制限時間の設定は、これらのバランスを考慮して定める。なお、ユーザが制限時間を設定できる用に構成しても良いことは明らかである。接触開始時刻が制限時間の範囲内に収まっていない場合は、ＣＰＵ１０１は、当該点集合は片手で囲った指の接触点集合ではないと判断する（ステップＳ７０８）。
【００２０】
接触開始時刻が制限時間の範囲内に収まっていれば、次にＣＰＵ１０１は、選択した点集合を通る円を求める（ステップＳ７０３）。選択点が４点もしくは５点のときは、多くの場合、正確に全点を通る円は求まらず、近似した円となる。円の近似には、最小二乗法を用いる。円に対する最小二乗法の適用方法については、いくつか方法があるが、ここでは最小二乗中心法を用いる。最小二乗中心法とは、選択点の平均で求められる点Ｏと選択点Ｃ間の線分ＯＣと、求めた円との交点Ｂから求められるＢＣ間の距離の二乗和を最小とする円を求める方法である。本実施形態では最小二乗中心法を用いるが、本提案はこの方法に特化したものではない。他の方法、例えば、選択点の平均で求められる点Ｏと選択点Ｃ間の距離と、円の半径との差の二乗和を最小とする最小二乗法を用いてもよい。次に、ＣＰＵ１０１は、求めた円の直径が、予め定められた閾値の範囲内、例えば３０ｃｍ以内か否か調べる（ステップＳ７０４）。これは、人の手の大きさを利用した確認である。この閾値も、正しい操作が認識されない程度に大きく、かつ誤認識を減らせる程度に小さい値とする。ここで、円の直径が閾値を超えている場合には、ＣＰＵ１０１は、当該点集合は片手で囲った指の接触点集合ではないと判断する（ステップＳ７０８）。なお、円の直径に関する閾値をユーザが設定可能としても良いことはいうまでもない。
【００２１】
ステップＳ７０４で円の直径が閾値の範囲内だった場合、ＣＰＵ１０１は、近似円を最小二乗法で求めた際の残差（例えば近似円の円周と接触点との距離）の大きさが閾値以下か否か調べる（ステップＳ７０５）。残差が閾値を超えていれば、ＣＰＵ１０１は、当該点集合は片手で囲った指の接触点集合ではないと判断する（ステップＳ７０８）。これは、オブジェクトを囲って選択する操作はほぼ円状に指をついて行うこと、という操作ルールを利用した確認である。このしきい値も、正しい操作が認識されない程度に大きく、かつ誤認識を減らせる程度に小さい値とする。また、残差に関する閾値をユーザが設定可能としても良いことはいうまでもない。なお、点集合が３点の場合には、全ての点の残差は０である。なお、最小二乗中心法を用いる場合には、残差の代わりに真円度を判断に用いてもよい。
【００２２】
全ての点の残差が閾値の範囲内であった場合、ＣＰＵ１０１は、次に、接触点で円を円弧に分断したとき、最大の中心角を持つ円弧の中心角が所定の角度以下であるかを調べる（ステップＳ７０６）。本例では、例えば１８０度以下か否か調べる。これは、指によって行う操作が対象の周囲を「囲う」というものなので、周囲を囲めていない状態（操作）を除外するための確認である。円弧の中心角が所定の角度を超えていれば、ＣＰＵ１０１は、当該点集合は片手で囲った指の接触点集合ではないと判断する（ステップＳ７０８）。
【００２３】
ＣＰＵ１０１は、ステップＳ７０２、Ｓ７０４〜Ｓ７０６のチェック全てをクリアした点集合は、片手の指の接触点集合、すなわち範囲指定操作であるとみなす（ステップＳ７０７）。すなわち、ＣＰＵ１０１は、ステップＳ７０１で抽出された組み合わせを構成するタッチ入力位置が範囲指定操作であるか否かを判定するための条件として、
（１）ステップＳ７０１で抽出された組み合わせを構成するタッチ入力位置の各々の入力が開始された時刻が、所定の時間範囲内に納まっていること（Ｓ７０２）、
（２）組み合わせを構成するタッチ入力位置に基づいて特定された円が予め定められたサイズ以下（予め定められた直径以下）であること（Ｓ７０４）、
（３）組み合わせを構成する全てのタッチ入力位置が円周からの距離が予め定められた範囲に納まるように円を特定できること（Ｓ７０５）、
（４）組み合わせを構成するタッチ入力位置に基づいて特定された円の円周をタッチ入力位置に基づいて分割した場合に、当該分割によって生じた全ての円弧の中心角が予め定められた大きさ以下となること（Ｓ７０６）
を用いる。以上の処理は、接触点集合に属さない全ての点の組み合わせについて行われる（ステップＳ７０９）。ひとつの接触点は一人のユーザのいずれかの指によるものなので、上述したように、ステップＳ７０１では、既にいずれかの接触点集合の構成点と見なした点は、組み合わせの選択から除く。全ての組み合わせを確認すると本処理が終了する。
【００２４】
ＣＰＵ１０１は、上述のようにして一人のユーザによる範囲指定操作であると判定されたタッチ入力位置の組み合わせに基づいて、当該範囲指定操作により特定された範囲を決定する。本実施形態では、ステップＳ７０３で求めた円が特定された範囲である。そして、ＣＰＵ１０１は特定された範囲と各オブジェクトの表示位置との関係に基づいて、選択されたオブジェクトを取得する。以下、この処理について図８を参照して説明する。図８は、マルチタッチパネル１０８中に表示されているオブジェクトのうちのいずれを、囲われた、すなわち選択されたオブジェクトとみなすかの判断処理を示すフローチャートである。本処理は情報処理プログラムコードの一部として情報処理装置１００に格納されており、ＣＰＵ１０１により実行されるオブジェクト選択処理の一部である。
【００２５】
図７の処理で点集合が見つかった場合、その各点集合に対して本処理が実行される。本処理は、表示器１０９に表示中の全てのオブジェクトについて行われる（ステップＳ８０１）。本実施形態では、オブジェクトの表示面積の予め定められた面積以上、例えば９０％以上がステップＳ７０３の処理で求めた円内に含まれているか否かを調べる（ステップＳ８０２）。含まれていれば、そのオブジェクトは領域内にあるものとみなされ、選択されたものとみなされる（ステップＳ８０３）。一方、オブジェクトの表示面積の予め定められた面積以上が円内に含まれていなければ、そのオブジェクトはその領域内にはないとみなされ、選択されていないとみなされる（ステップＳ８０４）。オブジェクトが重なって表示されている場合には、重なっていない場合に表示されるオブジェクト全体の領域から判断する。なお、このオブジェクトが囲われたか否かの判定方法は一例であり、本発明はこれに限られるものではない。例えば、オブジェクトの代表点が全て７０３で求めた円内に含まれていること、すなわち、円の中心とオブジェクトの代表点との距離が円の半径以内であることを確認するような方法でもよい。
【００２６】
オブジェクトの選択後は、選択されたオブジェクトの移動や削除等の操作が行える。例えば、選択されたオブジェクト群のいずれかの部分に触れ、ドラッグすることで移動させるといった、図４のような単一のオブジェクトに対する場合と同じ操作も可能である。或いは、オブジェクトを囲った指をそのまま次のオブジェクト操作に利用することもできる。例えば、選択に使用した指をマルチタッチパネル１０８から離すことなく、全ての接触点を同じ方向にドラッグしたとき、情報処理装置１００は選択されたオブジェクト群の移動作操作であると認識する。この場合、情報処理装置１００は、接触点の移動に合わせて選択されたオブジェクト群を移動させる。なお、例えば、接触点で形成される円の面積の変化量が予め定められた範囲内であれば、オブジェクトを囲った指がそのままであると判定する。
【００２７】
また、このとき、ＣＰＵ１０１は、回転操作も認識するようにしてもよい。この場合、情報処理装置１００は、選択領域となる円の中心を軸とした接触点の回転によって、選択されたオブジェクトも回転させる。また、ＣＰＵ１０１が、拡大、縮小操作も認識するように構成することもできる。選択領域となる円の法線に沿って中心方向へ各接触点を同程度移動させたとき、縮小指示とみなしてオブジェクト群の表示を縮小する。逆に円の法線に沿って円の外方向へ各接触点を同程度移動させたとき、拡大指示とみなしてオブジェクト群の表示を拡大する。これらの平行移動、回転、拡大、縮小は、オブジェクトに対するアフィン変換として、一括して扱うことができる。
【００２８】
＜第２実施形態＞
第１実施形態ではオブジェクト選択処理で、オブジェクトを囲って選択する操作はほぼ同時に指をついて行うこと、という操作ルールを利用した点集合の確認処理（ステップＳ７０２）を行っていた。第２実施形態では、この操作ルールを廃止し、それに合わせてステップＳ７０２の確認処理を廃止した実施形態の説明を行う。この場合、ほぼ同時に指を接触させるというルールがないため、既に接触していた指を囲う形に配置換えすることでもオブジェクトを選択することが可能となる。第２実施形態では、接触開始時刻に代えて、新たな点集合判断のための条件を用いる。用いる新たな条件は、以前の任意の時刻における選択した点集合で導かれる円の直径が、一定長さ以内、例えば３０ｃｍ以内である、というものである。これは、接触点の過去の履歴を用いて、過去において大きく離れていた接触点は、異なる手の指による接触点であると判断するものである。この条件をステップＳ７０２に代えて用いる以外は第１実施形態と同じである。
【００２９】
以上のように、第２実施形態では、組み合わせを構成するタッチ入力位置の現時点までの履歴から、それらタッチ入力位置の位置関係が、一人のユーザの範囲指定操作であることを判定するための条件から一度でも逸脱したかどうかが判定される。例えば、抽出された組み合わせを構成するタッチ入力位置により特定される円の大きさが予め定められた大きさを超えたことがないかどうかを判定する。そして、この判定の結果、一人のユーザの範囲指定操作であることを判定するための条件から一度でも逸脱した場合には、当該組み合わせを構成するタッチ入力位置は、範囲指定操作ではないと判定される。このため、第２実施形態によれば、タッチを開始する時間に関して、第１実施形態よりも柔軟性をもたせることができる。
【００３０】
＜第３実施形態＞
第１実施形態や第２実施形態では、片手で囲った指による接触点集合であるか否かの判断の際、一般的な人間の手の大きさ（３０ｃｍ）を判断材料に用いていた。第３実施形態では、操作者の手の大きさ情報を用いる方法を述べる。第１実施形態との違いは、操作者が操作をはじめる前に、最初に手の大きさにかかわる情報を情報処理装置１００に伝達する構成を備える点である。手の大きさの情報を伝達する方法としては、マルチタッチパネル１０８に、手のひら、指のひらを（手を開いた状態で）接触させるというものである。このジェスチャが行われると、情報処理装置１００はその接触情報を読み取り、５つの指の長さと、指と手のひらの接続位置情報を記憶する。指と手のひらの接続位置情報とは、手のひらの平面での、指のつけねの二次元座標情報である。これらの情報は、端的に表現すると手の大きさ情報となる。この情報は、一定時間、情報処理装置１００内に保持される。そして、片手で囲った指による接触点集合であるか否かの判断（ステップＳ７０４）の際には、情報処理装置１００内にその時点で保持されている手の大きさの情報が用いられる。すなわち、ＣＰＵ１０１は、マルチタッチパネル１０８に手を開いて乗せられたユーザの手の大きさを、当該パネルからのタッチ入力信号に従って検出する。そして、ＣＰＵ１０１は、組み合わせを構成するタッチ入力位置に基づいて設定される円のサイズが、上記検出した手の大きさに基づいて決定されるサイズを超えるか否かを、範囲指定操作の判定条件として用いる。なお、隣の接触点との距離や位置関係など、片手の指であることからくる制約を、更に確認処理に盛り込んでもよい。
【００３１】
また、ステップＳ７０４による判断は、手の大きさの情報を用いるものに限られるものではない。例えば、各操作者の、オブジェクトを囲う操作をした際の接触点の位置関係を保持しておき、その位置関係との類似度を、片手で囲った指による接触点集合であるか否かの判断に用いるようにしてもよい。すなわち、ＣＰＵ１０１は、マルチタッチパネル１０８を介してユーザに範囲指定操作を行わせ、そのときのタッチ入力位置の相対的な位置関係を例えばＲＡＭ１０３に保持する。そして、ＣＰＵ１０１は、組み合わせを構成するタッチ入力位置の相対的な位置関係と、ＲＡＭ１０３に保持された相対的な位置関係との類似度を範囲指定操作か否かを判定する条件として用いる。
【００３２】
また、マルチタッチパネル１０８が光センサ方式の場合には、指の指紋情報を得ることもできるので、指紋を事前に登録しておき、それを用いて片手で囲った指による接触点集合を求めてもよい。この場合、手の大きさの情報或いは上記の位置関係の情報を指紋と関連付けて保持しておき、ステップＳ７０４においては、検出した指紋に対応する情報を参照して、判断を行うようにする。全ての接触点の指紋情報が得られた場合は、同一ユーザの同一の腕の指集合を求めることは指紋のマッチングのみで行えるし、一部の接触点のみ指紋情報が得られている場合には、指の位置関係を判断材料に使う。例えば薬指と小指の指紋が並んで得られているとき、小指の接触点の隣、薬指の接触点とは反対側にある接触点は同一の腕の指による接触点ではないという判断が、手の構造から行える。
【００３３】
＜第４実施形態＞
第１〜第３実施形態では、マルチタッチパネル１０８への接触情報のみから片手の指に依るものか否か判断していたが、第４実施形態では、接触情報以外のセンサ情報を組み合わせて判断する方法を述べる。
【００３４】
（１）まず、画像センサから得られる画像情報を用いて接触点の集合が片手の指によるものかを判断する方法があげられる。例えば、操作者の手を撮影できる位置にカメラを設け、カメラの画像から操作者の手の位置を判断し、接触点情報の判断に用いる。同様のことは、赤外線センサを用いても行える。
（２）また、マルチタッチパネル１０８が光センサ方式の場合には、接触点以外の読み取り情報も利用して、接触点から導き出される手のひらのあるべき部分に、手のひらに該当する物体が存在するか否かを判断する方法が利用できる。接触していない部分の指の情報も利用できる。
（３）位置センサからの情報に基づいて接触点の集合が片手の指によるものかを判断する方法も考えられる。例えば、操作者に各手に位置センサを内蔵したグローブを装着させることにより、このグローブからの情報を接触点情報の判断に用いることができる。
【００３５】
以上のように、第４実施形態によれば、ＣＰＵ１０１は、ステップＳ７０１におけるタッチ入力位置の組み合わせの抽出において、マルチタッチパネル１０８とは別のセンサを用いて検出されたユーザの手の位置を利用する。そのため、ユーザ一人の片手によるタッチ入力の組み合わせをより正確に抽出できるため、図７に示した判定処理の効率が向上する。ステップＳ７０１で集合の候補とする接触点を選択する際、得られたユーザの手の位置から、同一の腕の指ではない接触点を発見しやすくなり、集合の候補として確認すべき組み合わせが減少するためである。
【００３６】
＜第５実施形態＞
第１実施形態では、ステップＳ７０４による判断のため、片手で囲めるサイズの領域しか選択できなかった。第５実施形態では、第１実施形態に新たなジェスチャの認識処理を追加することによって、更に大きな領域を選択可能にする方法について説明する。
【００３７】
第１実施形態では、選択操作後、円の法線に沿って円の外方向へ各接触点を同程度移動させたとき、オブジェクト表示の拡大指示とみなしていた。第５実施形態では、そのような操作を、オブジェクト表示の拡大指示とはみなさず、選択領域の拡大指示とみなす。このとき、接触点から拡大率を定めると、やはり片手で表現できるサイズ以上の領域は指示できない。そこで、最初に囲った領域の大きさを記憶しておき、それ以降接触点の移動によって囲われた領域を一定以上広げた場合には、領域の拡大指示だとみなして、囲われた領域を徐々に拡大していく拡大処理を行う。そして、その後、操作者が再び領域の大きさを最初に囲った領域の大きさ程度に戻すと、当該拡大処理を停止する。逆に領域の初期サイズより一定以上領域を狭めた場合には、領域の縮小指示だとみなし、当該領域を徐々に縮小していく。そして、操作者が再び領域の大きさを最初に囲った領域の大きさ程度に戻すと、当該縮小処理を停止する。以上の処理によって、片手で囲めるサイズを超えた領域の選択機能も持つ情報処理装置が実現できる。
【００３８】
＜第６実施形態＞
第１実施形態では、全ての接触点を、片手で領域を囲った点集合に分類する処理をオブジェクト選択処理の最初の処理として行っていたが、これに限られるものではない。例えば、まず全ての接触点を、同じ手の指による接触点の集合にグルーピングしてから、各点集合が囲った形状であるかを判断するという処理手順でもよい。この場合、グルーピングは接触点の位置の近さはもちろんのこと、同じ手の指による接触点ならば、せいぜい直径３０ｃｍ程度の円内に収まる範囲に分布すること、片手による接触点は多くとも５点であることを、グルーピングの判断に用いることができる。操作者の人数情報が得られるならば、集合は手の数なので、人数の２倍以下となることも判断に利用できる。すなわち、ユーザの人数を予め登録しておき、ステップＳ７０１では、登録された人数の２倍を上限としてタッチ入力の組み合わせを抽出する。この処理によれば、無駄な組み合わせの抽出を防止でき、処理効率を向上させることができる。例えば、ユーザ数が５人である場合、手の数、すなわち接触点の集合数の上限は１０である。これ以上の集合が得られる組み合わせは矛盾があるものとして、集合判定を行わない。
【００３９】
＜第７実施形態＞
第７実施形態では、一人のユーザが両手で囲った領域を選択領域と判断する方法について述べる。図９は、マルチタッチパネル１０８で認識される接触点の中から両手で囲った指による点集合を識別する処理を示すフローチャートである。この場合、一人のユーザによる接触点を見つけるための制約条件は、片手の指のとき（図７）よりも少ない。例えば、
・接触点がほぼ同時に接触したこと（ステップＳ９０２）や、
・接触点をグルーピングすると両手分２箇所となること（ステップＳ９０５）、
・接触点の距離は両手の長さ＋肩幅以下であること（ステップＳ９０４）、
が利用できる条件である。両手の長さや肩幅は、一般的なサイズ情報を用いてもよいし、操作者のそれらの情報をあらかじめ登録しておいて利用することもできる。第４実施形態のように他のセンサ情報を利用するときは、体の位置や腕の位置、頭の位置の認識情報が利用できるであろう。なお、ステップＳ９０３における円の求め方は、ステップＳ７０３で説明した方法を利用できる。上記のステップＳ９０２，Ｓ９０４，Ｓ９０５の条件を満足した場合は、ステップＳ９０１にて選択した接触点の集合は両手で囲った指の接触点集合であると判断される（ステップＳ９０７）。一方、上記のステップＳ９０２，Ｓ９０４，Ｓ９０５の条件のいずれか１つでも満足しなかった場合は、ステップＳ９０１にて選択した接触点の集合は両手で囲った指の接触点集合でないと判断される（ステップＳ９０８）。そして、ステップＳ９０１〜Ｓ９０８の処理は、接触点集合に属さない全ての点の組み合わせについて行われる（ステップＳ９０９）。
【００４０】
＜第８実施形態＞
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００４１】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００４２】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００４３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００４４】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００４５】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００４６】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【００４７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【００４８】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【００４９】
【図１】情報処理装置の構成ブロック図である。
【図２】情報処理装置の外観図である。
【図３】マルチタッチパネルの表示画面例を示す図である。
【図４】マルチタッチパネルに対するユーザの操作例を示す図である。
【図５】オブジェクトが複数の場合に、オブジェクトを選択するためのユーザの操作を示す図である。
【図６】図５の例でユーザがオブジェクトを囲う操作をした際、タッチパネルで認識される接触点を示す図である。
【図７】マルチタッチパネルで認識される接触点の中から片手で囲った指による点集合を識別する処理を示すフローチャートである。
【図８】囲われたオブジェクトの判断処理のフローチャートである。
【図９】マルチタッチパネルで認識される接触点の中から両手で囲った指による点集合を識別する処理を示すフローチャートである。
【図１】
0005448370.tif 000002
【図２】
0005448370.tif 000003
【図３】
0005448370.tif 000004
【図４】
0005448370.tif 000005
【図５】
0005448370.tif 000006
【図６】
0005448370.tif 000007
【図７】
0005448370.tif 000008
【図８】
0005448370.tif 000009
【図９】
0005448370.tif 000010