(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
前記情報処理装置に対する操作入力に用いられる複数の物体が差し入れられる空間を撮像した画像の情報を取得する画像取得手段と、
前記画像取得手段によって周期的に取得される画像から、前記操作入力に用いられる複数の物体のそれぞれが写る複数の領域を抽出する抽出手段と、
前記画像取得手段によって周期的に取得される画像のうち、前記複数の物体のそれぞれが初めて写った画像において、前記抽出手段によって抽出された前記複数の領域のそれぞれが画像端と交差する位置を特定する特定手段と、
前記特定手段によって前記複数の物体のそれぞれについて特定された位置に基づいて、前記複数の物体のうち、１人のユーザによる１つの操作入力に用いられる複数の物体の組み合わせ特定し、対応付ける対応付け手段と、
前記画像取得手段によって周期的に取得される画像によって追跡される、前記対応付け手段によって対応付けられた複数の物体の動きに基づいて、前記複数の物体を用いた１人のユーザによる１つの操作入力を認識する認識手段、
を備え、
前記対応付け手段は、前記複数の物体のうち、前記特定手段によって前記複数の物体のそれぞれについて特定された位置の間隔が最も小さい組み合わせであって、かつ、前記間隔が所定の第１閾値よりも小さく所定の第２閾値よりも大きい組み合わせを特定し、対応付けることを特徴とする情報処理装置。
【請求項２】
前記認識手段は、前記対応付け手段によって対応付けられた複数の物体によって指示される複数の位置情報に基づいて、１人のユーザによって所定の操作面に対して入力されるマルチタッチ操作を認識することを特徴とする請求項１に記載された情報処理装置。
【請求項３】
前記操作入力に用いられる物体とは、ユーザである人物の片手であることを特徴とする請求項１または２のいずれか１項に記載された情報処理装置。
【請求項４】
前記対応付け手段は、前記特定手段によって特定された位置に基づいて対応付けられた前記複数の物体の組み合わせについて、さらに前記画像取得手段によって取得された画像から得られる前記物体の特徴に基づいて、１人のユーザによって１つの操作の入力に用いられる複数の物体の組み合わせを特定する
ことを特徴とする請求項１乃至３のいずれか１項に記載された情報処理装置。
【請求項５】
前記操作入力に用いられる物体とは、ユーザである人物の片手であって、
前記画像から得られる前記物体の特徴とは、前記手の大きさ、色、方向、及び前記画像取得手段によって周期的に取得される画像のうち最新の画像において前記抽出手段によって抽出された前記複数の領域のそれぞれが画像端と交差する位置の少なくともいずれかであることを特徴とする請求項４に記載された情報処理装置。
【請求項６】
前記操作入力に用いられる物体とは、ユーザである人物の片手であって、
前記対応付け手段は、前記特定手段によって特定された位置に基づいて対応付けられた手の組み合わせについて、さらに前記画像から取得される手の少なくとも一部の大きさを比較した結果に基づいて、前記複数の物体のうち、１人のユーザによって１つの操作の入力に用いられる手の組み合わせ特定する
ことを特徴とする請求項４に記載された情報処理装置。
【請求項７】
前記操作入力に用いられる物体とは、ユーザである人物の片手であって、
前記対応付け手段は、前記特定手段によって特定された位置に基づいて対応付けられた手の組み合わせについて、さらに前記画像から取得される色情報を比較した結果に基づいて、前記複数の物体のうち、１人のユーザによって１つの操作の入力に用いられる手の組み合わせ特定する
ことを特徴とする請求項４に記載された情報処理装置。
【請求項８】
前記操作入力に用いられる物体とは、ユーザである人物の片手であって、
前記対応付け手段は、前記特定手段によって特定された位置に基づいて対応付けられた手の組み合わせについて、さらに前記画像から取得される前記手の方向の角度差に基づいて、前記複数の物体のうち、１人のユーザによって１つの操作の入力に用いられる手の組み合わせ特定する
ことを特徴とする請求項４に記載された情報処理装置。
【請求項９】
前記画像取得手段は、テーブルトップインタフェースシステムを構成するテーブル面を上方から見下ろす位置に設置された距離画像センサによって撮像された距離画像を取得する手段である
ことを特徴とする請求項１乃至８のいずれか１項に記載された情報処理装置。
【請求項１０】
前記抽出手段は、前記取得された距離画像の各画素が表す前記距離画像センサから前記距離画像の被写体表面までの距離に基づいて、前記距離画像から、前記テーブル面より上方に存在する物体が被写体として撮像された複数の領域を抽出する
ことを特徴とする請求項９に記載された情報処理装置。
【請求項１１】
情報処理装置の制御方法であって、
画像取得手段により、前記情報処理装置に対する操作入力に用いられる複数の物体が差し入れられる空間を撮像した画像の情報を周期的に取得する画像取得工程と、
抽出手段により、前記周期的に取得される画像から、前記操作入力に用いられる複数の物体のそれぞれが写る複数の領域を抽出する抽出工程と、
前記周期的に取得される画像のうち、前記複数の物体のそれぞれが初めて写った画像において、特定手段により、前記抽出工程で抽出された前記複数の領域のそれぞれが画像端と交差する位置を特定する特定工程と、
前記特定工程で前記複数の物体のそれぞれについて特定された位置に基づいて、対応付け手段により、前記複数の物体のうち、１人のユーザによる１つの操作入力に用いられる複数の物体の組み合わせ特定し、対応付ける対応付け工程と、
認識手段により、前記周期的に取得される画像によって追跡される、前記対応付け手段によって対応付けられた複数の物体の動きに基づいて、前記複数の物体を用いた１人のユーザによる１つの操作入力を認識する認識工程、
を有し、
前記対応付け工程では、前記複数の物体のうち、前記複数の物体のそれぞれについて特定された位置の間隔が最も小さい組み合わせであって、かつ、前記間隔が所定の第１閾値よりも小さく所定の第２閾値よりも大きい組み合わせを特定し、対応付けることを特徴とする情報処理装置の制御方法。
【請求項１２】
コンピュータに読み込ませ実行させることによって、前記コンピュータに、請求項１１に記載された情報処理装置の制御方法を実行させるプログラム。
【請求項１３】
請求項１２に記載されたプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチタッチ操作を認識する技術に関する。
【背景技術】
【０００２】
タッチパネルを介して入力するＵｌ（ユーザインタフェース）では、複数のタッチ位置を連動させて入力するマルチタッチ操作が一般的に利用されている。複数のユーザが同時に操作可能なシステムで、マルチタッチ操作を認識する場合は、検出された複数のタッチ位置が、１人のユーザがマルチタッチ操作を意図して入力されたものか、複数のユーザがそれぞれ入力したものかを識別する必要がある。
特許文献１では、タッチパネルに接触したユーザの指の面積および形状から推定される指の方向に基づいて、１人のユーザによる入力か、複数ユーザによる入力かを判別する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１６７９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年では、可視光カメラや赤外線カメラや距離画像センサによって得られた画像から、ユーザの手など特定の物体が写る領域を抽出し、その動きや位置に応じてジェスチャによるＵＩ（ユーザインターフェース）操作を認識する技術が広まりつつある。このようなシステムでは、指などの位置を三次元計測することで、指と、任意の壁やテーブルなどタッチ対象面との近接距離を取得し、その大きさに基づいて接触の有無を判定する。
【０００５】
このようなタッチシステムにおいても、マルチタッチ操作が入力可能であることが望まれる。しかしながら、特許文献１のように、任意の壁やテーブルから指との接触面の情報を得ることはできない。また、システムが大きく、多くの複数のユーザが同時に操作することが可能であるほど、ユーザは様々な角度からシステムを操作するようになる。従って、タッチパネル以外から指の方向が検出可能であったとしても、隣り合った複数のユーザの指の方向に角度差が生じにくいため、識別が困難となる。
【０００６】
本発明は、上記課題を考慮したものであり、ユーザの手の三次元計測に基づいて入力された操作を認識する場合に、検出された複数の手が、１人のユーザの複数の手であるか、複数ユーザのそれぞれの手であるかの区別を容易とすることを目的とする。
【課題を解決するための手段】
【０００７】
情報処理装置であって、前記情報処理装置に対する操作入力に用いられる複数の物体が差し入れられる空間を撮像した画像の情報を取得する画像取得手段と、前記画像取得手段によって周期的に取得される画像から、前記操作入力に用いられる複数の物体のそれぞれが写る複数の領域を抽出する抽出手段と、前記画像取得手段によって周期的に取得される画像のうち、前記複数の物体のそれぞれが初めて写った画像において、前記抽出手段によって抽出された前記複数の領域のそれぞれが画像端と交差する位置を特定する特定手段と、前記特定手段によって前記複数の物体のそれぞれについて特定された位置に基づいて、前記複数の物体のうち、１人のユーザによる１つの操作入力に用いられる複数の物体の組み合わせ特定し、対応付ける対応付け手段と、前記画像取得手段によって周期的に取得される画像によって追跡される、前記対応付け手段によって対応付けられた複数の物体の動きに基づいて、前記複数の物体を用いた１人のユーザによる１つの操作入力を認識する認識手段、を備え、前記対応付け手段は、前記複数の物体のうち、前記特定手段によって前記複数の物体のそれぞれについて特定された位置の間隔が最も小さい組み合わせであって、かつ、前記間隔が所定の第１閾値よりも小さく所定の第２閾値よりも大きい組み合わせを特定し、対応付けることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザの手の三次元計測に基づいて入力された操作を認識する場合に、検出された複数の手が、１人のユーザの複数の手であるか、複数ユーザのそれぞれの手であるかの区別が容易となる。
【図面の簡単な説明】
【０００９】
【図１】情報処理装置１００を設置したテーブルトップインタフェースの外観と操作環境の一例を表す図。
【図２】情報処理装置１００のハードウェア構成及び機能構成を表すブロック図。
【図３】情報処理装置１００が実行するタッチ操作認識処理の流れの一例を示すフローチャート。
【図４】情報処理装置１００が実行する１人ユーザ手の対応付け処理の流れの一例を示すフローチャート。
【図５】情報処理装置１００が実行する画像比較処理の流れの一例を示すフローチャート。
【図６】情報処理装置１００が実行する色情報比較処理の流れの一例を示すフローチャート。
【図７】テーブルトップインタフェースの操作環境の一例を表す図。
【図８】情報処理装置１００が実行する対応付け指示の検出処理の流れの一例を示すフローチャート。
【図９】対応付け指示の入力例を表す図。
【発明を実施するための形態】
【００１０】
以下、本発明に係る実施形態の情報処理を、図面を参照して詳細に説明する。なお、実施形態に記載する構成は例示であり、本発明の範囲をそれら構成に限定する趣旨のものではない。
【００１１】
（第１の実施形態）
本実施形態では、ジェスチャ操作やタッチ操作を認識する空間にユーザが手を侵入させた時点での位置を侵入位置として保持し、複数の手がある場合、侵入位置の位置関係に基づいて１人のユーザの手であるか、複数のユーザそれぞれの手であるかを区別する。そして、１人のユーザの手であると推定される複数の手を対応付けて、それらが協同する操作を認識する。対応付けられた複数の手が協同する操作とは、複数のタッチ位置に基づいてコマンドを入力するマルチタッチ操作や、複数の手の動きを組み合わせて入力するジェスチャ操作である。
【００１２】
図１（ａ）は、本実施形態に係る情報処理装置１００を設置したテーブルトップインタフェースシステムの外観の一例である。また、位置情報を定義する座標軸も示す。操作面１０１は、テーブルトップインタフェースのテーブル部分であり、ユーザは、操作面１０１をタッチすることでタッチ操作が可能である。本実施形態では、操作面１０１の上方に、操作面を見下ろすようにして距離画像センサ１０２が設置される。距離画像センサ１０２が撮像する距離画像の画素値には、距離画像センサ１０２から操作面１０１までの距離が反映される。撮像された距離画像は、情報処理装置１００に入力画像として入力される。情報処理装置１００は、入力画像を解析することでユーザの手の三次元位置を取得し、操作を認識する。本実施形態では、赤外光の反射パターン（または反射時間）によって距離情報を取得する方式のセンサを利用する。また本実施形態では、可視光カメラ１０３もまた、上方から操作面１０１を見下ろすようにして設置される。情報処理装置１００は、可視光カメラ１０３を制御して、操作面１０１に載置された物体を撮像してその読み取り画像を得る書画カメラとして機能することができる。情報処理装置１００は、可視光カメラ１０３によって得られる可視光画像や、距離画像センサ１０２によって得られる距離画像に基づいて、操作面１０１上の空間に存在する物体を検出し、さらに識別する。物体には、例えば、ユーザの手、紙媒体や本などのドキュメントやその他の立体物を含む。ただし、図１（ａ）のシステムの場合、距離画像センサ１０２と可視光カメラ１０３の画角には、テーブル周囲に存在するユーザの頭部は含まれない。また、操作面１０１を上方からみた画像が得られる構成であれば、必ずしも距離画像センサ１０２及び可視光カメラ１０３自体が上方に設置されている必要はなく、例えばミラーを用いて反射光を撮像するように構成しても構わない。
【００１３】
プロジェクタ１０４は、操作面１０１の上面に画像の投影を行う。本システムでは、ユーザは投影された画像に含まれるアイテム１０５に対して、タッチやジェスチャによる操作を行う。本実施形態では、ユーザの手の検出および操作の認識に距離画像を用いる。なお、可視光画像からの肌色領域を検出するなどしても画像から人の手を検出することも可能である。本実施形態の場合は、距離画像を用いることで、プロジェクタ１０４の投影光の影響でユーザの手の色が変化しても影響を受けにくいという利点がある。また、本システムの表示装置としては、プロジェクタ１０４に替えて、操作面１０１を液晶ディスプレイとするなどとすることもできる。
【００１４】
本実施形態では、操作面１０１上の三次元空間に図１（ａ）に示すｘ、ｙ、ｚ軸を定義し、位置情報を扱う。ここでは一例として、点１０７を原点とし、テーブル上面に平行な二次元がｘ、ｙ平面、テーブル上面に直交し上方に伸びる方向をｚ軸の正方向としている。なお、本実施形態では、ｚ軸方向は、世界座標系での高さ方向に相当する。しかしながら本実施形態は、ホワイトボードや壁面など、水平ではない面を操作面１０１とするシステムにも適用可能である。
【００１５】
図１（ｂ）は、操作面１０１を上方から見た状態を示す図である。図１（ｂ）で示す範囲１０９が、距離画像センサ１０２、あるいは可視光カメラ１０３の画角に相当し、以下では画像端と称す。ここでは、ユーザの手１０６ａ、１０６ｂ、１０６ｃのうち、手１０６ａと手１０６ｂは第１ユーザの両手であって、手１０６ｃだけが別のユーザＢの手である。このように本実施形態では、複数のユーザが同時に操作入力を行うことが可能である。本実施形態では、検出される手のそれぞれに対して１箇所の指示位置を検出する。指示位置とは、当該手によってユーザが指示しようとしていることが推定される位置の座標である。本実施形態では、指先であると推定される位置を指示位置として特定する。具体的には、距離画像のから、手が写る領域（以下では単に手領域という）を抽出し、手領域のうち画像端１０９から一番遠いところに存在する画素を示す座標を、指示位置とする。例えば、手１０６ａの場合、画像端１０９から最も遠い点１０８が指示位置として特定される。また本実施形態では、手領域が最初に検出されたフレームで、手領域が画像端１０９と交差する部分の中央を、手の侵入位置と定義する。つまり侵入位置とは、ユーザが操作を開始したときに、画角内に手が現れた位置に対応する。なお、ユーザが操作を開始しようとした段階の、手が現れた位置情報が得られるのであれば、手領域の抽出が可能となった最初のフレームではなく、その後に続くフレームの画像から侵入位置を特定してもかまわない。手１０６ａの場合、侵入位置は点１１０である。本実施形態では、複数の手が検出された場合、それぞれの侵入位置の位置関係に基づいて、それらが１人のユーザの複数の手であるか、複数のユーザそれぞれの手であるかを区別する。
【００１６】
図２（ａ）は、本実施形態に係る情報処理装置１００を含むテーブルトップインタフェースのハードウェア構成図である。ＣＰＵ２００は、情報処理装置１００の制御プログラムを実行して各種処理のための演算や論理判断などを行い、システムバス２０４に接続された各構成要素を制御する。ＲＯＭ２０１は、プログラムメモリであって、後述する各種処理手順を含むＣＰＵ２００による制御のためのプログラムを格納する。ＲＡＭ２０２は、ＣＰＵ２００のワークエリア、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを提供するために用いられる。記憶装置２０３は本実施形態に係るデータやプログラムを記憶しておくためのハードディスクや接続された外部記憶装置などであり、情報処理装置１００が利用する各種データを格納する。
【００１７】
なお本実施形態では、可視光カメラ１０３、距離画像センサ１０２、プロジェクタ１０４はそれぞれ情報処理装置１００に入出力用のインタフェースを介して接続された外部装置であり、情報処理装置１００と協同して情報処理システムを構成する。ただし、これらのデバイスは、情報処理装置１００に一体化されていても構わない。
【００１８】
図２（ｂ）は、本実施形態における情報処理装置１００の機能構成の一例を示すブロック図である。情報処理装置１００は、画像取得部２１０、侵入位置特定部２１１、対応付け部２１２、指示位置検出部２１３、タッチ判定部２１４、認識部２１５、出力制御部２１６から構成される。これらの各機能部は、ＣＰＵ２００が、ＲＯＭ２０１に格納されたプログラムをＲＡＭ２０２に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、ＣＰＵ２００を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【００１９】
画像取得部２１０は、距離画像センサ１０２によって撮像された距離画像を、入力画像として一定時間毎に取得し、ＲＡＭ２０２に随時保持する。また、本実施形態では、距離画像と同じタイミング、あるいは必要な場合に、可視光カメラ１０３によって撮像された可視光画像を取得することができる。取得される距離画像と可視光画像は、双方とも操作面１０１全域を含み、同じ座標位置を共有する。つまり、距離画像中である座標を特定した場合、その座標に基づいて、可視光画像の中で同じ位置を探索することが可能である。なお、画像取得部１２０が取得し、各機能部とやりとりするのは実際には画像データに対応する信号であるが、以下では単に「距離画像を取得する」として説明する。
【００２０】
侵入位置特定部２１１は、画像取得部２１０によって取得された入力画像を解析して、１以上の手領域を抽出し、形状や位置の情報を識別子に関連付けてＲＡＭ２０２に保持する。ここで人の手とは、人の肩から指先にかけての部位の全てを差す。本実施形態では、入力画像のうち、手に該当する部分が少なくとも一部写る領域が、手領域である。また、侵入位置特定部２１１は、各手領域を初めて抽出した段階で、侵入位置の座標を取得する。
【００２１】
対応付け部２１２は、抽出された全ての手領域に関して、侵入位置の座標を取得し、その位置関係に基づいて１人の人物の手であると推定された複数の手を対応付ける。特に本実施形態が、侵入位置の間の距離が予め設定された閾値よりも小さい組み合わせは、１人の人物の両手である可能性が高いとみなす。具体的には、抽出された複数の手領域について、侵入位置の間隔がより近い組み合わせを選び、距離の閾値よりも小さい場合に、対応付けを行う。閾値は、平均的な成人の体格を考慮し、一般的な人の肩幅程度の大きさであるのがよい。つまり、侵入位置の間の距離が最も小さい組み合わせであって、所定の距離よりも小さい組み合わせを特定し、互いに対応付ける。そして、ＲＡＭ２０２に保持された手領域の識別子に、互いに対応付けられたことを示す情報を付与する。
【００２２】
指示位置検出部２１３は、抽出された手領域の形状に基づいて、当該手によって指示される位置を検出し、３次元座標をＲＡＭ２０２に保持する。本実施形態では、手領域に含まれる画素のうち、画像端から最も遠い画素の位置を、指示位置として検出する。例えば、ユーザの手が人差し指のみを伸ばした「指さし姿勢」である場合は、人差し指の先端が指示位置として検出される。
【００２３】
タッチ判定部２１４は、特定された指示位置のｚ座標を、予め定められた高さの閾値と比較することによって、対応する手によって操作面１０１がタッチされたかを判定する。例えば、指先が操作面１０１から１ｃｍの範囲内に存在する状態を、指先が操作面１０１に接触している状態と定義する場合、高さ閾値を１ｃｍとし、座標に対する閾値処理を実行する。
【００２４】
認識部２１５は、手領域の形状、指示位置の座標、及びタッチ判定部２１４の判定結果に基づいて、ユーザによって入力されたタッチ操作やジェスチャ操作を認識する。本実施形態では、複数の手（またはスタイラス等）の動きが協同することで１つの指示を構成する操作の認識が可能である。特に複数の手が協同する操作としては、少なくともマルチタッチ操作を認識する。
【００２５】
出力制御部２１６は、ＲＯＭ２０１や記憶装置２０３に記憶された情報を用いてプロジェクタ１０４に投影させる表示画像を生成する。その他、ユーザ操作に応答する各種機能部に、操作の認識結果を通知する。
【００２６】
次に、図３のフローチャートを参照して、本実施形態に係る情報処理装置１００が実行するタッチ操作認識処理の詳細を説明する。本実施形態では、距離画像センサ１０２から入力画像が所定の周期毎に入力される度に、図３のフローチャートが繰り返される。所定の周期は、例えば３０フレーム／１秒、１５フレーム／１秒である。
【００２７】
ステップＳ３００において、画像取得部２１０は、ＲＡＭ２０２のワーク領域を初期化し、距離画像センサ１０２によって撮像された距離画像を、入力画像として取得し、ＲＡＭ２０２に保持する。
【００２８】
ステップＳ３０１において、侵入位置特定部２１１は、入力画像から、１以上の手領域を抽出し、その情報をＲＡＭ２０２に保持する。本実施形態では、入力として取得した距離画像の各画素が示すｚ方向の座標値に対して閾値処理を行うことで、操作面１０１よりも高さが高い座標値を持つ領域を、手領域として抽出する。ただし、抽出方法はこれに限られず、例えば別途撮像された可視光画像のＲＧＢ値を解析し、肌色領域に対応する部分を抽出する等してもよい。
【００２９】
ステップＳ３０２において、侵入位置特定部２１１は、ＲＡＭ２０２に保持された情報を参照することで、ステップＳ３０２において抽出された手領域の手に、操作面上の空間に侵入した直後の手が含まれるかを判定する。ＲＡＭ２０２に、１人とみなされる手領域の情報がそれまでに保持されていなければ、初期化後の処理で扱っているうちの最新フレームの距離画像で初めて当該手領域が現れたことになるので、手は当該空間に侵入した直後であると判定される。侵入直後の手が存在すると判定された場合（ステップＳ３０２でＹｅｓ）、ステップＳ３０３に進む。侵入直後の手は存在しないと判定された場合（ステップＳ３０２でＮｏ）、ステップＳ３０７に進む。
【００３０】
ステップＳ３０３において、侵入位置特定部２１１は、侵入直後の手に対応する手領域を選択して処理対象とする。
【００３１】
ステップＳ３０４において、侵入位置特定部２１１は、選択された手領域について、画像端と交差する部分を検出し、それに基づいて侵入位置を示すｘｙ座標を取得する。本実施形態では、図１（ｂ）の点１１０のように、画像端に接し手領域に含まれる画素の座標の平均値を、侵入位置の座標として算出する。
【００３２】
ステップＳ３０５において、対応付け部２１２は、選択中の新たな手領域の対応付け処理を行う。対応付け処理の詳細は後述する。
【００３３】
ステップＳ３０６において、指示位置検出部２１３は、抽出されている手領域のそれぞれについて、指示位置を検出する。手が指先を伸ばした状態であれば、その指先が指示位置として検出される。例えば、拳を握っている状態であっても、エッジ部分のうち画像端から最も遠い部分が指示位置として検出される。
【００３４】
ステップＳ３０７において、タッチ判定部２１４は、特定された指示位置のｚ座標と予め定められた閾値とに基づいて、抽出されている手領域に対応する手のいずれかによって、操作面がタッチされているかを判定する。本実施形態では、指示位置のｚ座標が、操作面からの高さの閾値よりも小さければ、タッチされていると判定する。操作面がタッチされていると判定された場合（ステップＳ３０７でＹｅｓ）、ステップＳ３０８に進む。操作面はタッチされていないと判定された場合（ステップＳ３０７でＮｏ）、処理を終了する。あるいは、手領域の形状や指示位置の軌跡に基づいたジェスチャ操作を認識する処理に移行してもよい。
【００３５】
ステップＳ３０８において、認識部２１５は、ＲＡＭ２０２に保持された情報を参照することで、ステップＳ３０５の処理で対応付けられた手の両方によってタッチがなされているかを判定する。対応付けられた手の両方によってタッチがなされていると判定された場合（ステップＳ３０８でＹｅｓ）、ステップＳ３０９に進む。対応付けられた手の両方によってタッチがなされてはいないと判定された場合（ステップＳ３０８でＮｏ）、処理はステップＳ３１０に進む。
【００３６】
ステップＳ３０９では、認識部２１５が、１人のユーザの両手によるマルチタッチ操作を認識し、結果を出力制御部２１６に通知する。例えば、タッチ状態にある２つの指示位置の間の距離の、連続するフレーム間での差分を取得し、距離が小さくなった場合は「ピンチイン操作」、距離が大きくなった場合は「ピンチアウト操作」が入力されたことを認識する。これらはそれぞれ、画像の縮小、画像の拡大の指示に割り当てられることが多い。また、タッチ状態にある２つの指示位置を通る直線の角度の、連続するフレーム間での差分を取得し、角度の変化方向に基づいて「右回転操作」あるいは「左回転操作」が入力されたことを認識する。これらはそれぞれ、画像の右回転、左回転に割り当てられることが多い。通知を受けた出力制御部２１６は、操作に対する応答を反映した表示画像を生成し、プロジェクタ１０４に出力する。
【００３７】
ステップＳ３１０では、認識部２１５が、シングルタッチ操作を認識し、結果を出力制御部２１６に通知する。例えば、タッチ状態にある指示位置を数フレーム分に渡って追跡し、軌跡の形状を識別する。そして、識別された形状に対応するコマンドを発行する。例えば、「Ｖ型」の軌跡であれば、その軌跡下に表示されたアイテムを消去し、「○型」の軌跡であれば、その軌跡下に表示されたアイテムを複製する、といった指示を認識し、応答する。
【００３８】
ステップＳ３０９あるはステップＳ３１０の処理は、所定時間（または所定数のフレームの取得）を待機しても、意味をもつ操作が認識されない場合は、タイムアウトして処理を終了する。なお、ここで挙げたマルチタッチ操作、及びシングルタッチ操作は一例である。この処理を終了する。そして、次の周期毎に取得された入力画像について、処理が繰り返される。
【００３９】
次に、図４（ａ）のフローチャートを参照して、図３のステップＳ３０５で実行される対応付け処理の詳細を説明する。本実施形態の対応付け処理は、複数のユーザがそれぞれテーブルトップシステムを利用している場合、その手と手の間の距離は十分に遠いことを前提としている。その上で、最も間隔が狭い手の組み合わせを選び、それが１人の人物の肩幅程度の大きさであるかに基づいて、１人のユーザの両手であるかを判定する。
【００４０】
ステップＳ４００において、対応付け部２１２は、対応付けがなされていない手領域について、侵入位置間の距離を取得する。対応付けがなされていない手領域が３以上存在する場合には、２つの手領域を選択した全ての組み合わせについて距離の取得を行う。
【００４１】
ステップＳ４０１において、対応付け部２１２は、ステップＳ４００で取得した中で、最も侵入位置間の距離が近い手の組み合わせを選択する。
【００４２】
ステップＳ４０２において、対応付け部２１２は、選択した手の組み合わせについて、侵入位置間の距離は予め定められた距離の閾値以下であるかを判定する。侵入位置間の距離は予め定められた距離の閾値より小さいと判定される場合（ステップ４０２でＹｅｓ）、ステップＳ４０３に進む。侵入位置間の距離は予め定められた距離の閾値以上であると判定される場合（ステップ４０２でＮｏ）、タッチ操作認識処理に返る。ここで閾値は、一例として、４０ｃｍとする。ただし、平均的な肩幅や、操作面の大きさや、ユーザによって最適な値が設定されればよい。その際、侵入位置間の距離が閾値と一致する場合に、どのように判定するかも、適宜設定されればよい。
【００４３】
ステップＳ４０３では、対応付け部２１２が、選択されている組み合わせ（侵入位置間の距離が閾値より小さかった組み合わせ）の手を互いに対応付け、ＲＡＭ２０２にその情報を保持し、タッチ操作認識処理に返る。例えば、互いの識別子を関連付けたり、対応付けられたペアの識別子を新たに関連付けたりして保持する。ＲＡＭ２０２上の情報は、その手が操作面上から外に出てしまい、距離画像上から消滅した場合、消去される。
【００４４】
なお、図４のフローチャートでは、侵入位置間の距離は予め定められた距離の閾値より小さい場合は、当該組み合わせは１人のユーザの両手であると判断した。ただし、さらにもう１つ閾値を設定し、侵入位置間の距離が小さすぎる場合には、１人のユーザの両手ではないと判断することができる。例えば、操作面が小さく、隣り合うユーザが接近してしまう場合には、右側に存在するユーザの左手と、左側に存在するユーザの右手が極近い位置から侵入する可能性がある。一方で、両手を使うユーザが、肩幅よりも極端に近い距離に手を近づけてから、操作面上に侵入させるのは不自然である。従って、例えば侵入位置間の距離が２０ｃｍより小さい場合、その組み合わせは複数のユーザのそれぞれの手であると判断しても良い。
【００４５】
以上説明したように、本実施形態によれば、手の侵入位置の位置関係が、１人のユーザの肩幅程度の離れていることを条件として、２つの手を１人のユーザの両手であると推定する。従って、接触されたことを検出するタッチパネルを用いないシステムにおいても、複数の指示位置を、１人のユーザによるマルチタッチ入力か、複数のユーザによる独立した入力かを区別して認識することが可能となる。また、ユーザの頭部や動体部の位置を検出できずユーザの位置を直接知ることができないシステムにおいても、検出された複数の手が、１人のユーザの複数の手であるか、複数ユーザのそれぞれの手であるかの区別が容易となる。
【００４６】
なお、図３、図４のフローチャートの説明において、手領域の抽出、侵入位置及び指示位置の特定は、全て距離画像を基にして行われるものとしたが、これに限らない。可視光画像を使って行う場合も、本実施形態の効果は同じである。
【００４７】
また、第１の実施形態では、ユーザの手の形状（ポーズ）には拠らず、常に対応付け処理を行い、対応付けられた場合にはマルチタッチ操作を認識したが、手領域の形状と辞書データを比較することで、ポーズを認識する処理を加えてもよい。そして、例えば、人差し指だけを伸ばした「指差し」姿勢の手が検出された場合、あるいはさらに両手が「指差し」姿勢の場合のみ対応付け処理を実行し、マルチタッチ操作を認識するなどの条件を加えてもよい。これにより、必要とされない場合は対応付け処理にかかる計算負荷を低減することが可能となる。
【００４８】
また、第１の実施形態では、ユーザは手を使って操作を行うことを前提として、手領域の抽出に基づく一連の処理を説明したが、スタイラスなどの道具を使うにも本実施形態は適用可能である。手や手以外の物体を用いてタッチ操作が入力される場合、侵入位置特定部２１１は、距離画像から操作面１０１より高い位置に存在する物体が写る領域で、かつ画像端に触れる領域を抽出して、上述した処理における手領域と同様に扱えばよい。
【００４９】
（第２の実施形態）
第２の実施形態では、操作開始時の手位置の条件に基づいて対応付けられた手について、画像を比較して対応付けの妥当性を判定する処理を加える例を説明する。
【００５０】
本実施形態におけるシステムの構成、及び情報処理装置１００のハードウェア構成は、第１の実施形態の図１、図１（ａ）と同様であるため、説明を省略する。
【００５１】
図２（ｃ）は、第２の実施形態に係る情報処理装置１００の機能構成を示す図である。第１の実施形態と異なる点は、画像比較部２２０が加わったことである。画像比較部２２０は、対応付け部２１２によって対応付けられた手について、画像から得られる特徴を比較し、その差異を取得する。本実施形態は、画像から得られる特徴として、手首から先部分の大きさ、肌の色、袖の色、腕の方向角度である。画像比較部２２０もまた、他の機能部と同様ＣＰＵ２００の機能部であって、ＲＯＭ２０１に格納されたプログラムをＲＡＭ２０２に展開し後述するフローチャートに従った処理を実行することで実現されている。
【００５２】
本実施形態において、情報処理装置１００がタッチ操作を認識する処理の流れは、第１の実施形態と同様、図３のフローチャートに従う。ただし、第２の実施形態では、図３のステップＳ３０５の対応付け処理は、図４（ｂ）に示すフローチャートに従う。図４（ｂ）では、図４（ａ）のフローチャートに示したのと同じ処理については、同符号を付し、その説明を省略する。図４（ａ）のフローチャートとの違いは、ステップＳ４０３において、対応付け部２１２による対応付けがなされたあとに、ステップＳ４０４において、画像比較部２２０による画像比較処理が実行されることと、ステップＳ４０５が追加されていることである。
【００５３】
ここで、図５は、ステップＳ４０４において実行される画像比較処理の流れを示すフローチャートである。ステップＳ５００において、画像取得部２１０が、手領域の可視光画像を取得する。画像取得部２１０は、ＲＡＭ２０２のワーク領域を確保し、可視光カメラ１０３によって撮像された可視光画像を取得する。そして、ステップ３０１において抽出された手領域に相当する部分の画像データを識別して取得する。可視光画像は、ステップＳ５０１の処理時に撮像を指示してもよく、また、所定周期毎に撮像されバッファされているものを取得してもよい。
【００５４】
ステップＳ５０１において、画像比較部２２０は、各手領域について、手首から先部分を特定する。なお手首から先とは、５本の指、手の甲と掌を含む部分である。例えば、手領域全体のうち、画像端から遠い側の所定の割合の部分を手首から先部分として特定したり、手領域の形状を認識して５指や手首から先の重心または中心を特定し、その周囲の部分を手首から先部分として特定したりすることで特定可能である。
【００５５】
ステップＳ５０２では、画像比較部２２０が、手首から先部分の大きさを取得する。具体的には、画像領域のうち手首から先と特定された部分の画素数を面積として求める。さらに、本実施形態では、予め既知である人の手首から先の形状と標準的な面積を用いて正規化し、各手領域について、手首から先の大きさを表す０〜１００の値を取得する。正規化処理により、例え手首から先の形状（ポーズ）が異なった場合でも、それによって大きさに差異があるとは判定されることを防ぐことができる。ただし、手首から先部分の面積で行う処理は、手の甲（あるいは掌）の部分と特定して対象としたり、腕領域の全体あるいは所定の一部を特定して対象としたりしてもよい。
【００５６】
なお、ステップＳ５０１及びステップＳ５０２の処理は、少なくとも、対応付けが行われた組み合わせの手については必ず行われる。一方、対応付けが行われていない残りの手については省略されてもよい。なお、対応付けが行われていない手についても大きさが取得された場合、大きさの類似度に基づいて、次に対応付けを行う候補となる組み合わせを決定してもよい。
【００５７】
ステップＳ５０３では、画像比較部２２０が、対応付けられた組み合わせの手について、大きさの差が所定の閾値Ａより大きいかを判定する。閾値Ａは予め与えられるか、あるいは、対応付け処理を繰り返す中で学習してもよい。対応付けられた手の大きさの差が所定の閾値Ａより大きくないと判定された場合（ステップＳ５０３でＮｏ）、ステップＳ５０４に進む。一方、所定の閾値Ａより大きいと判定された場合（ステップＳ５０３でＹｅｓ）、本実施形態では、対応付けが誤った可能性が認められるとみなされ、ステップＳ４０５に進む。ステップＳ４０５では、対応付けが解除され、侵入位置の間の距離が次に小さい組み合わせが選択され、処理が繰り返される。
【００５８】
例えば、図７（ａ）は、大人の両手の間に、子供の片手が存在する場合の操作状況を示している。ここで例えば、ステップＳ５０２において、手７０１ａ、手７０１ｃの手首から先の大きさは１００、手７０１ｂの手首から先の大きさは５０という値が取得されたとする。また、閾値Ａを１０とする。この場合、侵入位置の間の距離が最も近い手の組み合わせは手７０１ａと手７０１ｂであるが、手首から先の大きさの差が大きいため、対応付けは解除され、手７０１ａ、手７０１ｃの組み合わせが対応づけられるまで処理が継続される。このように、手の面積という画像から検出可能な特徴を用いて対応付けの妥当性を判定する処理を加えることで、対応付けの精度を向上させることができる。
【００５９】
次に、ステップＳ５０４では、画像比較部２２０が、手領域の色情報を比較する。ここで、図６のフローチャートを参照して、ステップＳ５０４の色情報を比較処理の詳細を説明する。
【００６０】
ステップＳ６００において、画像比較部２２０は、対応付けられた組み合わせの手領域について、それぞれ特定された手首から先部分のＲＧＢ値を取得する。ステップＳ６０１において、画像比較部２２０は、取得したＲＧＢ値それぞれの差分を取得する。ステップＳ６０２では、取得した差分が、閾値ｂ１より大きいかを判定する。ＲＧＢのうち１色でも条件を満たす場合、取得した差分が、閾値ｂ１より大きいと判定する。あるいは、３色の平均値で判定を行っても構わない。取得した差分が閾値ｂ１より大きいと判定された場合（ステップＳ６０２でＹｅｓ）、ステップＳ６０３に進む。取得した差分が閾値ｂ１より大きくないと判定された場合（ステップＳ６０２でＮｏ）、ステップＳ６０４に進む。
【００６１】
ステップＳ６０３において、画像比較部２２０は、手首から先の色を、対応付け条件とすることを決定する。対応付けられた手が同一人物のものであれば、手首から先の色の差は小さいと推定される。従って、手首から先の色の差が大きいと判定されステップＳ６０３に処理が進んだ場合、対応付けが誤った可能性があるとみなされ、手首から先の色の差を判定の根拠として重みをかけて判断することを決める。
【００６２】
ステップＳ６０４において、画像比較部２２０は、対応付けられた組み合わせの手領域について、手首から先を探索することで、袖部分を特定する。例えば、形状で判定したり、色の変化が激しい位置を探索するなどにより特定を行う。ステップＳ６０５では、画像比較部２２０が、それぞれ特定された袖部分のＲＧＢ値を取得する。ステップＳ６０６において、画像比較部２２０は、取得したＲＧＢ値それぞれの差分を取得する。ステップＳ６０７では、取得した差分が、閾値ｂ２より大きいかを判定する。ＲＧＢのうち１色でも条件を満たす場合、取得した差分が、閾値ｂ２より大きいと判定する。あるいは、３色の平均値で判定を行っても構わない。取得した差分が閾値ｂ２より大きいと判定された場合（ステップＳ６０７でＹｅｓ）、ステップＳ６０８に進む。取得した差分が閾値ｂ１より大きくないと判定された場合（ステップＳ６０７でＮｏ）、図５のフローチャートに戻り、ステップＳ５０５に進む。ステップＳ６０８において、画像比較部２２０は、袖の色を、対応付け条件とすることを決定する。
【００６３】
なお、ステップＳ６０２とステップＳ６０７の両方で色の差が大きいと判定されていた場合に、ステップＳ６０３とステップＳ６０８のいずれの決定が優先されるかは、装置の設置環境やユーザの都合に合わせて適宜設定される。対応付けられた手が同一人物のものであれば、袖の色の差は小さいと推定されるが、一方で、洋服のデザインなどに影響を受ける。従って本実施形態では、ステップＳ６０３の決定を優先することとする。なお、閾値ｂ１と閾値ｂ２は、同じ値であってもよいが、環境等に合わせて異なる値が設定されてもよい。
【００６４】
図５のフローチャートに戻り、ステップＳ５０５では、画像比較部２２０が、対応付けられた組み合わせの手について、ステップＳ６０３あるいはステップＳ６０８での決定結果に従い、手首から先あるいは袖の色の差異が、閾値Ｂよりも大きいかを判定する。閾値Ｂは、色に明確な違いがあることを判定するための閾値であって、予め与えられるか、あるいは、対応付け処理を繰り返す中で学習してもよい。閾値ｂ１と閾値ｂ２とは異なる値であっても構わない。対応付けられた手の色の差が所定の閾値Ｂより大きくないと判定された場合（ステップＳ５０５でＮｏ）、ステップＳ５０６に進む。一方、色の差が閾値Ｂより大きいと判定された場合（ステップＳ５０５でＹｅｓ）、本実施形態では、対応付けが誤った可能性が認められるとみなされ、ステップＳ４０４に進む。
【００６５】
例えば、図７（ｂ）は、白い服を着た人物の右手と、黒い服を着た人物の左手が接近して存在する場合の操作状況を示している。ここで例えば、ステップＳ５０２において、手７０２ａと手７０２ｂの袖の色の違いは、明らかに異なる服であると視認できるほど異なる。そこで、侵入位置の間の距離が最も近い手の組み合わせは手７０２ａと手７０２ｂであるが、袖の色の差が大きいため、対応付けは解除され、手７０２ｂ、手７０２ｃの組み合わせが対応づけられるまで処理が継続される。このように、色という画像から検出可能な特徴を用いて対応付けの妥当性を判定する処理を加えることで、対応付けの精度を向上させることができる。
【００６６】
ステップＳ５０６において、画像比較部２２０は、腕の方向角度を求める。具体的には、各手領域について、まず指示位置の座標（ｘ１，ｙ１）を取得する。さらに、方向の基準となる基準点の座標（ｘ２，ｙ２）を取得する。人の腕は関節が多いため、基準点の取り方によって、腕の方向の定義は大きくことなる。本実施形態では、ステップＳ７０４で特定した袖口の中央を基準点とする。ただし、侵入位置を基準点としたり、間接の位置を検出した上で基準点としたりしても良い。本実施形態では、以下の式１を利用して、ｘ軸周りの角度を求める。
（角度）＝ａｒｃｔａｎ｛（ｙ２−ｙ１）／（ｘ２−ｘ１）｝・・・（式１）
ステップＳ５０７では、画像比較部２２０が、対応付けられた組み合わせの手について、方向の角度差が所定の閾値Ｃより大きいかを判定する。閾値Ｃは、予め与えられるか、あるいは、対応付け処理を繰り返す中で学習してもよい。また、方向を算出する際に用いた基準点に応じて適切な値を設定する。対応付けられた手の方向の角度差が閾値Ｃより大きくないと判定された場合（ステップＳ５０７でＮｏ）、ステップＳ５０８に進む。一方、方向の角度差が閾値Ｃより大きいと判定された場合（ステップＳ５０７でＹｅｓ）、本実施形態では、対応付けが誤った可能性が認められるとみなされ、ステップＳ４０４に進む。
【００６７】
なお、ステップＳ５０６の処理は、少なくとも、対応付けが行われた組み合わせの手については必ず行われる。一方、対応付けが行われていない残りの手については省略されてもよい。なお、対応付けが行われていない手についても手の方向が取得された場合、方向の違いに基づいて、次に対応付けを行う候補となる組み合わせを決定してもよい。
【００６８】
例えば、図７（ｃ）は、両手を大きく広げているユーザ（手７０３ａと手７０３ｂ）と、左手だけを差し出しているユーザ（手７０３ｃ）が同時に存在する場合の操作状況を示している。また、各手の上に示された矢印は、ステップＳ５０６において方向を算出する際に考える、指示位置と基準点を通る直線である。ステップＳ５０６では、これらの矢印に示す角度の、ｘ軸を基準とする反時計回りの回転角度を求めることになる。今、手７０３ａでは角度４５度、手７０３ｂでは角度３１０度、手７０３ｃでは角度２３０度が算出されたとする。また、閾値Ａを１０とする。この場合、侵入位置の間の距離が最も近い手の組み合わせは手７０３ａと手７０３ｂであるが、方向の角度が大きいため、対応付けは解除され、手７０３ｂ、手７０３ｃの組み合わせが対応づけられるまで処理が継続される。このように、手の方向という画像から検出可能な特徴を用いて対応付けの妥当性を判定する処理を加えることで、対応付けの精度を向上させることができる。
【００６９】
さらに、ステップＳ５０８において、画像比較部２２０は、対応付けされた手について現在位置間の距離を取得する。なお、現在位置とは、最新のフレームの入力画像における、画像端と手領域の交差点の位置であるとする。
【００７０】
ステップＳ５０９では、画像比較部２２０が、対応付けられた組み合わせの手について、現在位置間の距離が所定の閾値Ｄより大きいかを判定する。閾値Ｄは、一般的な対角の人物が両手を広げた状態の手の間隔に基づいて、予め与えられるか、あるいは、対応付け処理を繰り返す中で学習してもよい。現在位置間の距離が閾値Ｄより大きくないと判定された場合（ステップＳ５０９でＮｏ）、図３のフローチャートに戻る。一方、現在位置間の距離が閾値Ｄより大きいと判定された場合（ステップＳ５０９でＹｅｓ）、本実施形態では、対応付けが誤った可能性が認められるとみなされ、ステップＳ４０４に進む。
【００７１】
第１の実施形態では、手が初めて操作面１０１上で検出された時点での位置情報に基づいて対応付けを行うため、その後手がどのように動いたとしても、対応付けの結果に影響しなかった。しかしながら、第２実施形態のステップＳ５０８及びステップＳ５０９の判定を加えた場合、最初は極近くに存在した複数のユーザが、その後移動して離れた場合、誤って実行された対応付けは解除され、他の組み合わせが対応づけられるまで処理が継続される。この処理は、操作面が大きいシステムにおいてより効果を奏するものである。
【００７２】
以上説明したように、第２の実施形態によれば、対応付け処理の精度を向上させることができ、ユーザにとっては、より自由度の高い操作を自然に行うことが可能となる。
【００７３】
なお、上述した手首から先の大きさ、手首から先または袖の色、手の方向、現在位置の間隔を使った処理は、必ずしも全てを実行する必要はなく、情報処理装置１００の使用環境に適した少なくとも１つが実行されればよい。また、本実施形態では、これらの処理が直列的に処理される例を説明したが、情報処理装置１００の処理能力に応じて、並列的に処理されてもよい。
【００７４】
また、画像から検出可能な特徴として挙げた情報は一例に過ぎない。操作開始時の手位置の条件に加えて対応付けの条件として利用する情報として、他のものを用いてもかまわない。例えば、手領域の形状に基づいて、当該領域が右手であるか左手であるかを識別可能であれば、それらの位置関係に基づいて、必ず、操作面に向かって右側に存在する右手と、操作面に向かって左側に存在する左手の組み合わせを処理するようにすればよい。また、第２の実施形態で説明した処理のうち、色の情報の比較を除く処理は、可視光画像ではなく、距離画像に基づいて行うことも可能である。
【００７５】
（変形例）
第１及び第２の実施形態では、検出された複数の手について、情報処理装置１００が１人のユーザの両手であると推定可能な組み合わせを対応付ける処理であった。その変形例として、タッチ操作によって、ユーザから自発的に対応付けを指示することを可能とする例を説明する。
【００７６】
変形例におけるシステムの構成、及び情報処理装置１００のハードウェア構成は、第１の実施形態の図１、及び図２（ｂ）と同様であるため、説明を省略する。ただし、変形例の認識部２１５は、特に、ユーザが自発的に対応付けを指示するためのジェスチャ操作を認識可能である。また、第２の実施形態の構成を利用してもかまわない。また、タッチ操作の認識処理もまた、上述した図３などのフローチャートに沿って実行される。変形例の対応付け指示操作の認識は、第１及び第２の実施形態で説明したタッチ操作認識処理において、ステップＳ３１０のシングルタッチ操作認識処理の中で行われる。
【００７７】
変形例では、マルチタッチに用いたい手の指と指をタッチ状態で接触させることで、接触させた指の手同士の対応付けを指示することができる。
【００７８】
図９は、対応付け操作の操作例であり、上から下に向かって、時系列に操作の段階が進んでいる様子を示している。手９０１ａ及び手９０１ｂは、侵入位置が所定の閾値よりも遠かったために、対応付けがなされていないとする。図９では、手９０１ａの指示位置の座標が（ｘ１，ｙ１，ｚ１）であって、手９０１ｂの指示位置の座標が（ｘ２，ｙ２，ｚ２）であることが示される。上述した実施形態では、実施形態では、タッチ操作認識処理の間、検出されている各手領域について、指示位置検出部２１４が、常に指示位置の座標を検出している。変形例では、対応付けがなされていない手領域について取得されている指示位置が、接触しているとみなされる程度の近接し、その状態が所定時間維持された場合に、当該手領域同士を対応付ける処理が実行される。例えば、２つの手の指示位置の座標が（ｘ３，ｙ３，０）に一致した場合は、条件を満たし、点９０１ａと点９０１ｂの対応付けが実行される。そして、その後で指示位置が離れていけば、例えば「ピンチアウト」操作が認識され、画像の拡大などを指示することが可能となる。なお、この操作は、１人のユーザによってのみだけでなく、複数のユーザによって行われることもできる。
【００７９】
図８は、変形例において情報処理装置１００が実行する、対応付け指示検出処理の流れを示すフローチャートである。
【００８０】
ステップＳ８００において、認識部２１５は、対応付けされていない手領域の指示位置を取得する。ステップＳ８０１では、互いに接触した指示位置があるかを判定する。ただし、複数の指示位置の座標が一致する場合だけでなく、例えば１センチ四方の領域内に収まるなど、接触しているとみなされる程度近接している場合にも、互いに接触した指示位置があると判定する。このときの許容範囲は、入力が像の解像度などに合わせて設定される。互いに接触した指示位置があると判定された場合（ステップＳ８０１でＹｅｓ）、ステップＳ８０２に進む。互いに接触した指示位置はないと判定された場合（ステップＳ８０１でＮｏ）、互いに接触した指示位置が現れるまで処理を繰り返す。あるいは処理を終了してしまってもかまわない。
【００８１】
ステップＳ８０２では、認識部２１５が、互いに接触した指示位置が、入力画像のフレーム間差分に基づいて、接触した状態で静止している時間の長さを取得する。ステップＳ８０３では、取得した時間の長さが、所定の待機時間を越えたかを判定する。所定の待機時間は、例えば３秒などの時間が予め設定される。ただし、ユーザ設定などにより適宜変更可能とする。ステップＳ８０４では、対応付け部２１２が、指示位置が接触している手を対応付け、その情報をＲＡＭ２０２に保持し、処理を終了する。
【００８２】
以上が、対応付け指示操作を認識する処理である。なお、ここでは対応付け指示操作はタッチ操作の一種であるとし、タッチ状態で指示位置が接触されたことを検出すると説明したが、タッチ操作ではなく、空中で行うジェスチャ操作としてもよい。
【００８３】
変形例によれば、手を操作面上の空間から一旦出して侵入位置をリセットする必要なく、新たな対応付けを行うことができるので、ユーザの一連の作業をさまたげない。また、メニュー選択やモードの切り替えを必要とせず、タッチ操作による指示を可能とすることで、ユーザは、マルチタッチ操作を行おうとする動作の流れの中で指示が行うことができる。なお、また、シングルタッチ操作として対応付けの指示を認識するのと同様に、マルチタッチ操作として対応付けの解除指示を認識可能としてもよい。例えば、両手を交差させながら「×型」を描くなど、他のマルチタッチコマンドと混同されにくいような特定のパターンを、対応付け解除処理のコマンドとして登録しておくことで、容易に対応付けの解除を指示することが可能となる。
【００８４】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８５】
２１０  画像取得部
２１１  侵入位置特定部
２１２  対応付け部
２１３  指示位置検出部
２１４  タッチ判定部
２１５  認識部
２１６  出力制御部
【図１】
0006452369.tif 000002
【図２】
0006452369.tif 000003
【図３】
0006452369.tif 000004
【図４】
0006452369.tif 000005
【図５】
0006452369.tif 000006
【図６】
0006452369.tif 000007
【図７】
0006452369.tif 000008
【図８】
0006452369.tif 000009
【図９】
0006452369.tif 000010