(57)【特許請求の範囲】
【請求項１】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置であって、
操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段と、
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体同士の距離が所定範囲内となった指示体同士を対応付けて管理する管理手段と、
前記指示体による操作指示を受け付ける受付手段と、
前記受付手段で受け付けた際に前記操作指示の前記指示体同士の距離が前記所定範囲内でなくとも、前記受付手段で受け付けた前記操作指示が前記管理手段で対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応して前記記憶手段に記憶されている処理内容を実行する処理実行手段と
を備えることを特徴とする情報処理装置。
【請求項２】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置であって、
操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段と、
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体による操作が所定の条件を満たした場合に、前記操作領域上の指示体同士を対応付けて管理する管理手段と、
前記指示体による操作指示を受け付ける受付手段と、
前記受付手段で受け付けた際に前記操作指示の操作が前記所定の条件を満たしていない前記操作であっても、前記受付手段で受け付けた前記操作指示が前記管理手段で対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応して前記記憶手段に記憶されている処理内容を実行する処理実行手段と
を備えることを特徴とする情報処理装置。
【請求項３】
前記処理実行手段は、前記管理手段で対応付けられていない複数の指示体による操作指示である場合に、当該複数の指示体のそれぞれの単独の数に対応する前記記憶手段に記憶されている処理内容を、前記指示体ごとに実行すること
を特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記所定の条件とは前記指示体同士の距離の値であり、
前記管理手段は前記指示体同士の距離が前記値の範囲内となった場合に、範囲内となった前記指示体同士を対応付けて管理すること
を特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記所定の条件とは、前記操作領域上の所定の領域内で操作が行われたか否かの条件であり、
前記管理手段は、前記操作領域上の指示体による操作が前記所定の領域内で行われた操作である場合に、前記所定の領域上の複数の指示体同士を対応付けて管理すること
を特徴とする請求項２または３に記載の情報処理装置。
【請求項６】
前記所定の条件とは、第１の指示体の操作から所定の時間内に第２の指示体による操作が行われることであり、
前記管理手段は、前記第１の指示体と前記第２の指示体とを対応付けて管理すること
を特徴とする請求項２または３に記載の情報処理装置。
【請求項７】
前記操作領域上の指示体を検知する検知手段を更に備え、
前記所定の条件とは、第１の指示体と第２の指示体とを同じタイミングで検知することであり、
前記管理手段は、前記第１の指示体と前記第２の指示体とを対応付けて管理すること
を特徴とする請求項２または３に記載の情報処理装置。
【請求項８】
前記記憶手段は、前記管理手段で対応付けて管理する指示体の上限値を記憶しており、
前記管理手段は前記記憶手段で記憶される前記上限値以上は指示体を対応付けて管理しないこと
を特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記管理手段で対応付けて管理される複数の指示体と、当該複数の指示体と対応付けられていない指示体とを識別可能に表示する識別表示手段
を更に備えることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記指示体は、ユーザの手を含むことを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置であり、操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段を備える情報処理装置の制御方法であって、
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体同士の距離が所定範囲内となった指示体同士を対応付けて管理する管理ステップと、
前記指示体による操作指示を受け付ける受付ステップと、
前記受付ステップで受け付けた際に前記操作指示の前記指示体同士の距離が前記所定範囲内でなくとも、前記受付ステップで受け付けた前記操作指示が前記管理ステップで対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応して前記記憶手段に記憶されている処理内容を実行する処理実行ステップと
を含むことを特徴とする情報処理装置の制御方法。
【請求項１２】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置であり、操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段を備える情報処理装置の制御方法であって、
前記情報処理装置が、
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体による操作が所定の条件を満たした場合に、前記操作領域上の指示体同士を対応付けて管理する管理ステップと、
前記指示体による操作指示を受け付ける受付ステップと、
前記受付ステップで受け付けた際に前記操作指示の操作が前記所定の条件を満たしていない前記操作であっても、前記受付ステップで受け付けた前記操作指示が前記管理ステップで対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応して前記記憶手段に記憶されている処理内容を実行する処理実行ステップと
を含むことを特徴とする情報処理装置の制御方法。
【請求項１３】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置を含む情報処理システムであって、
操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段と、
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体同士の距離が所定範囲内となった指示体同士を対応付けて管理する管理手段と、
前記指示体による操作指示を受け付ける受付手段と、
前記受付手段で受け付けた際に前記操作指示の前記指示体同士の距離が前記所定範囲内でなくとも、前記受付手段で受け付けた前記操作指示が前記管理手段で対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応して前記記憶手段に記憶されている処理内容を実行する処理実行手段と
を備えることを特徴とする情報処理システム。
【請求項１４】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置であり、操作指示の際に用いられる前記指示体の数に対応させて実行される処理内容を記憶する記憶手段を備える情報処理装置を含む情報処理システムの制御方法であって、
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体同士の距離が所定範囲内となった指示体同士を対応付けて管理する管理ステップと、
前記指示体による操作指示を受け付ける受付ステップと、
前記受付ステップで受け付けた際に前記操作指示の前記指示体同士の距離が前記所定範囲内でなくとも、前記受付ステップで受け付けた前記操作指示が前記管理ステップで対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応して前記記憶手段に記憶されている処理内容を実行する処理実行ステップと
を含むことを特徴とする情報処理システムの制御方法。
【請求項１５】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置を含む情報処理システムであって、
操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段と、
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体による操作が所定の条件を満たした場合に、前記操作領域上の指示体同士を対応付けて管理する管理手段と、
前記指示体による操作指示を受け付ける受付手段と、
前記受付手段で受け付けた際に前記操作指示の操作が前記所定の条件を満たしていない前記操作であっても、前記受付手段で受け付けた前記操作指示が前記管理手段で対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応して前記記憶手段に記憶されている処理内容を実行する処理実行手段と
を備えることを特徴とする情報処理システム。
【請求項１６】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置であり、操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段を備える情報処理装置を含む情報処理システムの制御方法であって、
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体による操作が所定の条件を満たした場合に、前記操作領域上の指示体同士を対応付けて管理する管理ステップと、
前記指示体による操作指示を受け付ける受付ステップと、
前記受付ステップで受け付けた際に前記操作指示の操作が前記所定の条件を満たしていない前記操作であっても、前記受付ステップで受け付けた前記操作指示が前記管理ステップで対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応して前記記憶手段に記憶されている処理内容を実行する処理実行ステップと
を含むことを特徴とする情報処理システムの制御方法。
【請求項１７】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置であって、
操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段と、
所定範囲内となった指示体同士を対応付けるべく、当該指示体同士に対して付与する属性を決定する属性決定手段と、
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体同士の距離が所定範囲内となった指示体同士に前記属性決定手段で決定された前記属性を付与することで、当該指示体同士を対応付けて管理する管理手段と、
前記管理手段で対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応する前記記憶手段に記憶されている処理内容を実行する処理実行手段と
前記指示体同士の距離が所定範囲内となった前記操作領域上の位置を特定する特定手段と
を備え、
前記記憶手段は、前記操作領域上の領域に対応する属性も記憶しており、
前記属性決定手段は、前記特定手段で特定された前記操作領域上の位置によって決まる前記領域に前記記憶手段で対応付けて記憶される属性を、前記指示体同士に対して付与する属性として決定すること
を特徴とする情報処理装置。
【請求項１８】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置であって、
操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段と、
所定範囲内となった指示体同士を対応付けるべく、当該指示体同士に対して付与する属性を決定する属性決定手段と
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体同士の距離が所定範囲内となった指示体同士に前記属性決定手段で決定された前記属性を付与することで、当該指示体同士を対応付けて管理する管理手段と、
前記管理手段で対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応する前記記憶手段に記憶されている処理内容を実行する処理実行手段と
前記操作領域上の指示体の挙動に関する挙動情報を取得する情報取得手段と
を備え、
前記記憶手段は前記挙動情報に関する所定の条件も記憶しており、
前記属性決定手段は、前記情報取得手段で取得した前記挙動情報と前記所定の条件とに基づいて、前記所定範囲内となった指示体同士のそれぞれに付与される属性のうちいずれの属性で当該指示体同士を対応付けるかを決定すること
を特徴とする情報処理装置。
【請求項１９】
前記挙動情報は、前記指示体の加速度であることを特徴とする請求項１８に記載の情報処理装置。
【請求項２０】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置であり、操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段を備える前記情報処理装置の制御方法であって、
所定範囲内となった指示体同士を対応付けるべく、当該指示体同士に対して付与する属性を決定する属性決定ステップと
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体同士の距離が所定範囲内となった指示体同士に前記属性決定ステップで決定された前記属性を付与することで、当該指示体同士を対応付けて管理する管理ステップと、
前記管理ステップで対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応する前記記憶手段に記憶されている処理内容を実行する処理実行ステップと
前記指示体同士の距離が所定範囲内となった前記操作領域上の位置を特定する特定ステップと
を備え、
前記記憶手段は、前記操作領域上の領域に対応する属性も記憶しており、
前記属性決定ステップは、前記特定ステップで特定された前記操作領域上の位置によって決まる前記領域に前記記憶手段で対応付けて記憶される属性を、前記指示体同士に対して付与する属性として決定すること
を特徴とする情報処理装置の制御方法。
【請求項２１】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置であり、操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段を備える情報処理装置の制御方法であって、
所定範囲内となった指示体同士を対応付けるべく、当該指示体同士に対して付与する属性を決定する属性決定ステップと
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体同士の距離が所定範囲内となった指示体同士に前記属性決定ステップで決定された前記属性を付与することで、当該指示体同士を対応付けて管理する管理ステップと、
前記管理ステップで対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応する前記記憶手段に記憶されている処理内容を実行する処理実行ステップと
前記操作領域上の指示体の挙動に関する挙動情報を取得する情報取得ステップと
を備え、
前記記憶手段は前記挙動情報に関する所定の条件も記憶しており、
前記属性決定ステップは、前記情報取得ステップで取得した前記挙動情報と前記所定の条件とに基づいて、前記所定範囲内となった指示体同士のそれぞれに付与される属性のうちいずれの属性で当該指示体同士を対応付けるかを決定すること
を特徴とする情報処理装置の制御方法。
【請求項２２】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置を含む情報処理システムであって、
操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段と、
所定範囲内となった指示体同士を対応付けるべく、当該指示体同士に対して付与する属性を決定する属性決定手段と
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体同士の距離が所定範囲内となった指示体同士に前記属性決定手段で決定された前記属性を付与することで、当該指示体同士を対応付けて管理する管理手段と、
前記管理手段で対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応する前記記憶手段に記憶されている処理内容を実行する処理実行手段と
前記指示体同士の距離が所定範囲内となった前記操作領域上の位置を特定する特定手段と
を備え、
前記記憶手段は、前記操作領域上の領域に対応する属性も記憶しており、
前記属性決定手段は、前記特定手段で特定された前記操作領域上の位置によって決まる前記領域に前記記憶手段で対応付けて記憶される属性を、前記指示体同士に対して付与する属性として決定すること
を特徴とする情報処理システム。
【請求項２３】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置を含む情報処理システムであって、
操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段と、
所定範囲内となった指示体同士を対応付けるべく、当該指示体同士に対して付与する属性を決定する属性決定手段と
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体同士の距離が所定範囲内となった指示体同士に前記属性決定手段で決定された前記属性を付与することで、当該指示体同士を対応付けて管理する管理手段と、
前記管理手段で対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応する前記記憶手段に記憶されている処理内容を実行する処理実行手段と
前記操作領域上の指示体の挙動に関する挙動情報を取得する情報取得手段と
を備え、
前記記憶手段は前記挙動情報に関する所定の条件も記憶しており、
前記属性決定手段は、前記情報取得手段で取得した前記挙動情報と前記所定の条件とに基づいて、前記所定範囲内となった指示体同士のそれぞれに付与される属性のうちいずれの属性で当該指示体同士を対応付けるかを決定すること
を特徴とする情報処理システム。
【請求項２４】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置であり、操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段を備える前記情報処理装置を含む情報処理システムの制御方法であって、
所定範囲内となった指示体同士を対応付けるべく、当該指示体同士に対して付与する属性を決定する属性決定ステップと
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体同士の距離が所定範囲内となった指示体同士に前記属性決定ステップで決定された前記属性を付与することで、当該指示体同士を対応付けて管理する管理ステップと、
前記管理ステップで対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応する前記記憶手段に記憶されている処理内容を実行する処理実行ステップと
前記指示体同士の距離が所定範囲内となった前記操作領域上の位置を特定する特定ステップと
を備え、
前記記憶手段は、前記操作領域上の領域に対応する属性も記憶しており、
前記属性決定ステップは、前記特定ステップで特定された前記操作領域上の位置によって決まる前記領域に前記記憶手段で対応付けて記憶される属性を、前記指示体同士に対して付与する属性として決定すること
を特徴とする情報処理システムの制御方法。
【請求項２５】
操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置であり、操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段を備える情報処理装置を含む情報処理システムの制御方法であって、
所定範囲内となった指示体同士を対応付けるべく、当該指示体同士に対して付与する属性を決定する属性決定ステップと
１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体同士の距離が所定範囲内となった指示体同士に前記属性決定ステップで決定された前記属性を付与することで、当該指示体同士を対応付けて管理する管理ステップと、
前記管理ステップで対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応する前記記憶手段に記憶されている処理内容を実行する処理実行ステップと
前記操作領域上の指示体の挙動に関する挙動情報を取得する情報取得ステップと
を備え、
前記記憶手段は前記挙動情報に関する所定の条件も記憶しており、
前記属性決定ステップは、前記情報取得ステップで取得した前記挙動情報と前記所定の条件とに基づいて、前記所定範囲内となった指示体同士のそれぞれに付与される属性のうちいずれの属性で当該指示体同士を対応付けるかを決定すること
を特徴とする情報処理システムの制御方法。
【請求項２６】
コンピュータを、請求項１乃至１０、請求項１７乃至１９のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項２７】
コンピュータを、請求項１３、１５、２２、２３のいずれか１項に記載の情報処理システムの各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
投影面上にある複数の物体を容易に対応付けることを可能にし、対応付けられた複数の物体をユーザに識別可能に通知することの可能な情報処理装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
大きな液晶画面を備える装置やプロジェクタなど、情報を表示させることが可能な情報表示装置（情報処理装置）がある。
【０００３】
この情報表示装置は情報を表示可能なだけではなく、情報を表示する領域上にある物体の位置や形状を計測可能な三次元位置検出装置や、タッチパネルなど情報を表示する領域に接触する物体を検出できる物体検出部を備えることがある。三次元位置検出装置や物体検出部から得られる操作対象物（物体）の挙動を検知することで、例えばユーザの手によるジェスチャを検出することができる。ジェスチャは例えばタッチ操作、ドラッグ動作などがある。
【０００４】
例えば下記の特許文献１にはプロジェクタと複数のカメラを備える装置により、例えばユーザの手などの操作対象物の三次元座標位置を計測することが可能な仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−２０３１７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このような大きな液晶画面を備える装置やプロジェクタなどの情報表示装置は、ユーザのジェスチャ（タッチ操作など）による操作を受け付けて、操作に対応する処理を実行する。例えばタッチ操作をジェスチャの例として説明すると、ユーザがより直感的な操作ができるようにするために、情報処理装置は、同じタッチ操作であってもタッチされた箇所の数に応じて処理を切り替えるようにすることがある。
【０００７】
例えば、１つの箇所のタッチ操作であればタッチされた位置に対する選択処理を実行し、２つの箇所のタッチ操作であればタッチされた箇所の移動（ピンチイン・ピンチアウト）に応じて拡大・縮小処理を行うというようにすることで、より使い勝手のよい操作環境を提供することができる。
【０００８】
しかしながら、情報処理装置が複数箇所のタッチ操作を受け付けた場合に、１つの箇所のタッチ操作をユーザが複数箇所で行っているのか、当該複数箇所に対応する処理を実行させるべくユーザがタッチ操作をしているのかを分けて制御することができない。そのため、ユーザの望む操作を実行することができない。
【０００９】
そこで本発明は、操作領域上にある複数の指示体を容易に対応付けることを可能にし、対応付けられた複数の指示体による操作を実行可能にすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の情報処理装置は、操作領域上の複数の指示体の位置を認識可能な認識部と通信可能な情報処理装置であって、操作指示の際に用いられる前記指示体の数に対応させて、実行される処理内容を記憶する記憶手段と、１つの操作指示として認識する指示体群となるように、前記操作領域上の指示体同士の距離が所定範囲内となった指示体同士を対応付けて管理する管理手段と、前記指示体による操作指示を受け付ける受付手段と、前記受付手段で受け付けた際に前記操作指示の前記指示体同士の距離が前記所定範囲内でなくとも、前記受付手段で受け付けた前記操作指示が前記管理手段で対応付けられた指示体群による操作指示である場合に、当該操作指示の際に用いられる指示体の数に対応して前記記憶手段に記憶されている処理内容を実行する処理実行手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、操作領域上にある複数の指示体を容易に対応付けることを可能にし、対応付けられた複数の指示体による操作を実行可能にすることを可能とする。
【図面の簡単な説明】
【００１２】
【図１】実施形態における情報処理システムの外観構成図である。
【図２】実施形態における情報処理装置１００と投影撮像装置１１０のハードウェア構成を説明する図である。
【図３】実施形態における情報処理システムの利用形態を示す図である。
【図４】実施形態における対面システムの基本処理手順を示すフローチャートである。
【図５】図４に示す環境設定処理の詳細な処理の流れを説明するフローチャートである。
【図６】ユーザＩＤ入力画面６００の一例を示す画面例である。
【図７】図４に示す表示制御処理の詳細な処理を説明するフローチャートである。
【図８】メニュー画面８００の一例を示す画面例である。
【図９】シートＤＢのデータ構造を示す図である。
【図１０】本発明の実施形態において、ユーザＡとユーザＢの手が投影面にあるときのイメージ図である。
【図１１】図７に示す物体解析処理の詳細な処理の流れを説明するフローチャートである。
【図１２】手管理テーブル１２００の一例を示すデータテーブルである。
【図１３】属性画像のイメージ図である。
【図１４】図１１に示す対応付け処理の詳細な処理を説明するフローチャートである。
【図１５】領域テーブル１５００の一例を示すデータテーブルである。
【図１６】ユーザＡの手がユーザＢの手として誤認識された例を示すイメージ図である。
【図１７】ユーザＡが誤認識された手をもう一方の手に接触させる際のイメージ図である。
【図１８】本発明の第２の実施形態における物体解析処理の詳細な処理を説明するフローチャートである。
【図１９】本発明の第２の実施形態における対応付け処理の詳細な処理を説明するフローチャートである。
【図２０】本発明の第２の実施形態における手管理テーブル２０００の一例を示すデータテーブルである。
【図２１】図７におけるタッチ操作実行処理の詳細な処理を説明するフローチャートである。
【図２２】操作テーブル２２００の一例を示すデータテーブルである。
【図２３】情報処理装置１００の機能ブロック図を説明するための図である。
【図２４】本発明の第３の実施形態における対応付け処理を説明するフローチャートである。
【図２５】本発明の第４の実施形態における対応付け処理を説明するフローチャートである。
【図２６】本発明の第５の実施形態における対応付け処理を説明するフローチャートである。
【図２７】本発明の第６の実施形態におけるタッチ操作実行処理の詳細な処理の流れを説明するフローチャートである。
【図２８】本発明の第６の実施形態における対応付け処理の詳細な処理の流れを説明するフローチャートである。
【図２９】第６の実施形態における投影面のイメージ図である。
【図３０】本発明の第７の実施形態におけるタッチ操作実行処理の詳細な処理の流れを説明するフローチャートである。
【図３１】本発明の第７の実施形態における手管理テーブル３１００のテーブル構成の例を説明する図である。
【図３２】本発明の第７の実施形態における投影面のイメージ図である。
【図３３】本発明の第８の実施形態における物体解析処理の詳細な処理の流れを説明するフローチャートである。
【図３４】本発明の第８の実施形態における手管理テーブル３４００のテーブル構成の例を説明する図である。
【発明を実施するための形態】
【００１３】
以下、本発明の第１の実施形態について、図面を参照しながら詳細に説明する。本実施形態における対面システムは、銀行で利用される例を説明するがこれに限定されない。
【００１４】
図１は、実施形態における情報処理システムの外観構成図であり、図２はシステムを構成する情報処理装置１００のハードウェア構成図である。本システムは、システム全体の制御を司る情報処理装置１００を有する。そして、この情報処理装置１００には、投影撮像装置１１０をはじめ、ユーザとの間のユーザインターフェースとして機能するディスプレイ１２０、入力デバイス（キーボードやマウス等）１３０が接続されている。また、図示していないが、業務に係る基幹ネットワークとも接続される。投影する投影データなどは基幹ネットワークなどに記憶されていてもよい。
【００１５】
情報処理装置１００は通常のＰＣ（パーソナルコンピュータ）等と同じハードウェア構成の情報処理装置である。プログラムに従って処理を行うＣＰＵ１０１、ブートプログラムやＢＩＯＳ等を記憶するＲＯＭ１０２、ＣＰＵ１０１が実行するＯＳやアプリケーションを格納するため、並びにＣＰＵ１０１がワークエリアとして利用するＲＡＭ１０３を有する。また、情報処理装置１００は、投影撮像装置１１０と通信するためのＩ/Ｆ部１０５、ＣＰＵ１０１の指示に従って描画処理やビデオ信号の出力処理等を行うビデオコントローラ１０６を有する。更に、情報処理装置１００はハードディスク（ＨＤＤ）に代表される外部記憶装置１０８（記憶手段）に対する読み書きを行うストレージコントローラ１０７、基幹ネットワーク（特にネットワークプリンタ）と通信するためのネットワークＩ/Ｆ１０４を有する。外部記憶装置１０８には、オペレーティングシステム（ＯＳ）１０８ａ、情報処理システムとして機能させるためのアプリケーションプログラム１０８ｂをはじめ、詳細は後述するシートＤＢ１０８ｃ、環境情報１０８ｄ、ジェスチャテーブル（ジェスチャＴＬ）１０８ｅが格納されている。
【００１６】
投影撮像装置１１０は、その筐体内に、情報処理装置１００と通信するためのＩ/Ｆ部１１８、投影部１１５、撮像部１１６、距離測定部１１７（認識部に相当する）を収容している。投影撮像装置１１０には、投影部１１５から出射した投影光を通過させるための開口部１１１が設けられている。更に、撮像部１１６並びに距離測定部１１７に共有され、外部からの光（赤外線を含む）を入射するための開口部１１２も設けられている。
【００１７】
投影部１１５は、情報処理装置１００から要求された映像を表す投影光を開口部１１２を介して天板１１３に向け、且つ、若干斜め方向に出射する。天板１１３の下面側にはミラーが設けられており、投影部１１５からの投影光を反射する。この結果、図１における投影撮像装置１１０の設置位置より手前側の領域（実際にはテーブルの上面）が投影スクリーンとして、その映像を表示することになる。なお、出射する方向を斜めにするのではなく、天板１１３を傾けても構わない。
【００１８】
また、撮像部１１６並びに距離測定部１１７は、天板１１３のミラーを介して、投影部１１５によるテーブル上の投影領域よりも広い範囲を撮像範囲、又は、測距範囲として設定されている。撮像範囲と測距範囲は同一であっても構わない。撮像部１１６は通常のデジタルカメラに代表される撮像装置と同じ構成であり、テーブルの撮影範囲内の映像を光学的に読み取るものである。距離測定部１１７は、奥行き（距離）を検出するものであり、予め設定された２次元パターンを示す赤外線を照射する照射部と、その対象物から２次元空間での反射赤外線を検出するセンサで構成される。そして、撮像部１１６で得らえた映像データと、距離測定部１１７より検出された距離データの時間軸に対する変化に基づき、情報処理装置１００のＣＰＵ１０１による処理によって、ユーザの手の動きや指（操作指示部）でテーブルをたたく操作（ジェスチャ）、ユーザの手と手の接触の検出処理が実現する。なお、映像と、赤外線によるパターン照射／検出によってユーザのジェスチャ検出を行う技術は公知（たとえば、米国マイクロソフト社のＫＩＮＥＣＴ（商標））であるので、ここでの詳細は省略する。ただし、ユーザのジェスチャが検出できれば良く、その構成、原理は特に問わない。なお、投影撮像装置１１０の筐体内に十分なスペースがあれば、情報処理装置１００を構成する回路を投影撮像装置１１０に内蔵させることで、これらを一体化しても構わない。
【００１９】
上記構成において、本装置の電源がＯＮになると、ＣＰＵ１０１はＲＯＭ１０２に格納されたブートプログラムを実行し、外部記憶装置１０８に格納されたＯＳ１０８ａをＲＡＭ１０３にロードし実行する。そして、そのＯＳの制御下にて、外部記憶装置１０８から情報処理システムのアプリケーションプログラム１０８ｂをＲＡＭ１０３にロードして、実行させる。
【００２０】
次に図２３を用いて、情報処理装置１００の機能構成を説明する。
【００２１】
情報処理装置１００は機能部として、特定部２３０１、管理部２３０２、投影制御部２３０３、記憶部２３０４、位置特定部２３０５を備えている。
【００２２】
特定部２３０１は、接触している手と手とを特定する機能部である。管理部２３０２は特定部２３０１で特定された手と手とを対応付けて管理する機能部である。投影制御部２３０３は投影部１１５の投影を制御する機能部である。記憶部２３０４は、シートＤＢ１０８ｃや各種テーブルを記憶する機能部である。位置特定部２３０５は、接触している手と手の位置座標を特定する機能部である。
【００２３】
以上で図２３に示す、情報処理装置１００の機能構成の説明を終了する。
【００２４】
次に図３を用いて、本システムの利用形態を示す。本実施形態における情報処理システムは、図示のように、テラー４０１（説明員）と顧客４０２がテーブル４００を間に挟み、それぞれが椅子に座って対面する形態を想定している。テラー４０１は投影面上に投影された投影データをもとに顧客４０２に対して説明業務を行うユーザである。なお顧客は複数人いてもよい。また、テーブル４００には、ディスプレイ１２０、入力デバイス１３０がテラー４０１の操作しやすい位置に配置されている。また、投影撮像装置１１０は、その天板１１３によって斜め方向から投影光がテーブル４００に向けて照射することになるので、テラー４０１と顧客４０２が向かい合った際に、邪魔にならない位置に載置することが可能である。この結果、テーブル４００の、テラー４０１と顧客４０２との間には十分なスペースを確保され、撮像部１１６及び距離測定部１１７の検出範囲４１０（操作領域）、投影部１１５による投影範囲４１１が確保される。なお、検出範囲４１０、投影範囲４１１が示す矩形は、テーブル４００上にそれぞれの範囲が規定されていることを示すためであって、その境界線が表示されることを意図するものではない。また、情報処理装置１００は、たとえばテラー側のテーブル４００の下に配置するものとする。
【００２５】
以上、実施形態における情報処理システムの構成とその利用形態を説明した。次に、情報処理システムの処理内容を、特にＣＰＵ１０１の処理手順として説明する。
【００２６】
本システムが稼働すると、図３に示すようにテラー４０１と顧客４０２との間のテーブル４００上（の投影範囲４１１）に、投影撮像装置１１０から各種の文書シート（以下、単にシートという）が投影表示される。そして、テラー４０１はその都度解説や説明を行い、顧客４０２はその投影内容とテラー４０１の説明を理解したことの意思を示していって、手続きを進めていく。投影撮像装置１１０がテラー４０１から見て右側に設置するのか、左側に設置するのかを事前に設定することができる。投影撮像装置１１０がテーブル４００上に投影することになるシートは、テラー側、顧客側の向きがあり、その向きと座席についているテラー４０１、顧客４０２の位置関係の整合性を取るために設定する。設定が完了すると、ＣＰＵ１０１は、その設定内容を外部記憶装置１０８の環境情報１０８ｄとして保存する。なお、投影撮像装置１１０の配置位置を変更しない限り、この設定を変える必要はない。
【００２７】
かかる手続きをＣＰＵ１０１の処理で示せば、以下の通りである。ＣＰＵ１０１は、外部記憶装置１０８から投影すべきシートの選択と選択したシート（詳細は後述）を投影部１１５に表示させる処理、並びに、テラー４０１及び顧客４０２の操作をジェスチャとして、撮像部１１６及び距離測定部１１７によって認識していく。そして、次に表示すべきシートの選択…と処理を繰り返し、最終シートの表示で、テラー４０１と顧客４０２が合意したことを示すジェスチャを検出した際に、その処理を終える。
【００２８】
以下、更に詳しく説明する。図４は情報処理システムのアプリケーションプログラム１０８ｂを実行した際のＣＰＵ１０１の処理手順を示すフローチャートである。
【００２９】
本アプリケーションが実行されると、まず、ステップＳ１０１にて、ＣＰＵ１０１はメニュー画面（不図示）をディスプレイ１２０に表示し、テラー４０１に項目の１つを選択させる。表示する項目は、「環境設定ボタン」、「メニュー画面表示ボタン」と、最初に行う処理をテラーから指示を受け付けることのできる項目が並んでいる。
【００３０】
ステップＳ１０２にて、ＣＰＵ１０１は、テラー４０１による入力デバイス１３０の操作による項目選択を待つ。選択がなされると、ステップＳ１０３にて、ＣＰＵ１０１はその選択した項目がいずれのボタンであるかを判定する。環境設定ボタンであると判定した場合、処理はステップＳ１０４に進み環境設定処理を行う。メニュー画面表示ボタンと判定した場合、処理はステップＳ１０５に進む。この環境設定処理は、説明を行う顧客の設定を行う処理である。顧客４０２が複数いる場合に、テラーから見て左右どちらにユーザ（顧客）が居るのかをあらかじめ設定することが可能である。このようにして説明を行う顧客の情報を表示制御処理の前に入力することにより、継続的に顧客の情報（説明履歴）を蓄積することが可能となる。環境設定処理の詳細は図５を用いて詳細に説明する。
【００３１】
図５は環境設定処理の詳細な処理を説明するフローチャートである。
【００３２】
ステップＳ５０１では、情報処理装置１００のＣＰＵ１０１が、外部記憶装置１０８に記憶されたユーザＩＤ入力画面６００を読み出し、ディスプレイ１２０に表示する。ユーザＩＤ入力画面６００は図６に示すような画面であり、テラー４０１が説明を行う顧客を設定する画面である。顧客を設定することで、顧客ごとにどのような説明を行ったかを管理することが可能になる。ユーザＩＤ入力画面６００には、複数のユーザＩＤ入力欄６０１があり、テラーから見て顧客がどの位置にいるかに応じて、ユーザＩＤ入力欄６０１にユーザＩＤをテラー４０１が入力する。例えば顧客Ａが図６に示す（１）の領域側に居る場合には、（１）のユーザＩＤ入力欄６０１に顧客ＡのユーザＩＤを入力する。尚、本実施形態ではユーザＩＤを直接入力するようにしているが、顧客データベースを顧客の氏名で検索し、検索結果からユーザＩＤを選択するようにしてもよい。
【００３３】
なお、本発明の実施形態では、顧客が二人の例として説明を行ったが、二人以上の人数であっても構わない。また、テラーと顧客の二人でジェスチャが複数人によるジェスチャか否かを判断する構成にしたとしても本発明の範囲に含まれるものである。
【００３４】
ステップＳ５０２では、情報処理装置１００のＣＰＵ１０１が、ユーザＩＤ入力画面６００のユーザＩＤ入力欄６０１に対するユーザＩＤの入力を受け付ける。
【００３５】
ステップＳ５０３では、情報処理装置１００のＣＰＵ１０１が、ユーザＩＤ入力画面６００の設定ボタン６０３の押下を受け付けたか否かを判定する。設定ボタン６０３の押下を受け付けたと判定した場合には処理をステップＳ５０４に進め、そうでない場合は設定ボタン６０３の押下を受け付けるまで待機する。
【００３６】
ステップＳ５０４では、情報処理装置１００のＣＰＵ１０１が、領域テーブル１５００にステップＳ５０２で入力を受け付けたユーザＩＤを登録する。
【００３７】
領域テーブル１５００は例えば図１５に示すテーブルである。領域テーブル１５００には領域ＩＤ１５０１、領域１５０２、属性データ１５０３、ユーザＩＤ１２０４が対応付けて記憶されているデータテーブルである。領域ＩＤ１５０１は投影面上の領域を一意に識別するＩＤである。領域１５０２は領域を示す２点の座標を格納している。属性データ１５０３は領域に対応する属性データのファイル名を記憶している。属性データとは、領域１５０２の範囲に入った指（物体）に重畳して投影するための投影データである。ユーザＩＤ１２０４は、ステップＳ５０２で入力を受け付けたユーザＩＤ（付与する属性）を格納する。本発明の実施形態では、図６に示すユーザＩＤ入力欄６０１に入力されたユーザＩＤを、領域ＩＤ１５０１が「１」のユーザＩＤ１２０４として格納する。ユーザＩＤ入力欄６０２に入力されたユーザＩＤを、領域ＩＤ１５０１が「２」のユーザＩＤ１２０４として格納する。このようにして、ステップＳ５０２のテラー４０１の入力により、情報処理装置１００は領域とユーザを対応付けて記憶することができる。尚、顧客への説明の終了指示をテラーから受け付けると、ステップＳ５０４で領域と対応付けて記憶されたユーザＩＤは消去されるように制御される。これにより、説明を終えるたびにユーザＩＤを自動的に消去することができる。
【００３８】
以上で図５に示す環境設定処理の説明を終了する。
図４の説明に戻る。
【００３９】
ステップＳ１０５では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１０３の判定の結果メニュー画面表示ボタンの押下を受け付けたと判定した場合、顧客に対して投影データを用いて説明を行う処理である表示制御処理を行う。ステップＳ１０５の表示制御処理の詳細な処理の説明を、図７を用いて行う。
【００４０】
図７は表示制御処理の詳細な処理を説明するフローチャートである。
【００４１】
ステップＳ７０１では、情報処理装置１００のＣＰＵ１０１が、図１５に示す領域テーブル１５００を参照する。領域テーブル１５００の説明は既に上述しているため説明を省略する。
【００４２】
ステップＳ７０２では、情報処理装置１００のＣＰＵ１０１が、ステップＳ７０１で参照した領域テーブル１５００のユーザＩＤ１２０４にユーザＩＤが登録されているか否かを判定する。ユーザＩＤ１２０４にユーザＩＤが登録されていると判定した場合には処理をステップＳ７０３に進め、ユーザＩＤが一つも登録されていないと判定した場合には処理をステップＳ７１３に進める。このようにすることで、図６に示す環境設定処理で顧客の設定を行わずに以降のワークフローに進ませることを防止している。
【００４３】
ステップＳ７０３では、情報処理装置１００のＣＰＵ１０１が、図８に示すメニュー画面８００をディスプレイ１２０に表示する。メニュー画面８００には、住宅ローンボタン８０１や口座開設ボタン８０２などおよそ銀行にて対面で行う手続きに関するメニューボタンが配置されるものである。ステップＳ５０２で入力したユーザＩＤが示す顧客に対して手続きを行いたいメニューボタンをテラーより押下されることで、選択された手続きに関する投影データを投影することが可能になる。
【００４４】
ステップＳ７０４では、情報処理装置１００のＣＰＵ１０１が、ステップＳ７０３で表示したメニュー画面８００において、メニューボタンの選択を受け付けたか否かを判定する。メニューボタンの選択を受け付けたと判定した場合には処理をステップＳ７０５に進め、そうでない場合にはメニューボタンの選択を受け付けるまで待機する。
【００４５】
ステップＳ７０５では、情報処理装置１００のＣＰＵ１０１が、ステップＳ７０４で選択を受け付けたと判定したメニューボタンに対応するＧＵＩ構成情報を読み込む。ＧＵＩ構成情報とはシートＤＢ１０８ｃに管理される情報である。シートＤＢ１０８ｃには、図９に示すように、ステップＳ７０３にて表示するメニュー項目を単位として管理されている。そして、各項目には、それぞれにおける手続きの推移と利用するシート画像を記述したＧＵＩ構成情報が格納されている。本実施形態では、この内、「住宅ローンの申請」項目３００を例にして説明するので、それに含まれるＧＵＩ構成情報３０１について説明する。このＧＵＩ構成情報３０１は、住宅ローンの借り入れ申請に係る手続きと、その際に利用するシート画像の表示形式を記述するＧＵＩシート情報３０２を特定する情報が記述されている。
【００４６】
テラー４０１と顧客４０２との間の手続きとしては、例えば、（１）顧客登録、（２）商品説明、（３）ローンのシミュレーション、（４）書類読取、（５）今後の手続きの説明の、５段階がある。そして、図５のＧＵＩシート情報３０２では、（１）〜（５）の各手続において投影するシート（ＧＵＩ）の表示形態を記述するフォーム情報（「顧客登録フォーム」、「商品説明フォーム」、．．．）が管理される。また、フォーム情報には、テラー側、顧客側の方向に関する記述も含まれており、且つ、複数のフォームも入れ子式で記述可能としている。
【００４７】
尚、図５では、「住宅ローンの申請」項目３００に対して管理する情報の具体例を示しているが、必要な各種項目（例えば、「口座開設」項目３５０）毎に、必要な情報が適宜、シートＤＢ１０８ｃ上で管理されていることは言うまでもない。
【００４８】
本実施形態では、図３に示すような対面システムにおいて、操作画面に対する複数の指によるタッチ操作であるマルチタッチ操作による操作を実行可能とする。例えば図２２に示す操作テーブル２２００があらかじめ記憶されており、タッチ操作を指の本数に応じて異なる処理で実行することを可能とする。なお、操作テーブル２２００は説明のための一例であってこれに限定されるものではない。
【００４９】
ステップＳ７０６では、情報処理装置１００のＣＰＵ１０１が、ステップＳ７０５で読み込んだＧＵＩ構成情報を投影撮像装置１１０に投影指示することによって投影面上に投影させる。例えば図１０に示すイメージ図である。ＧＵＩ構成情報の一部である投影データ１０００は、投影面に投影された説明資料である。図１０では、テラー４０１は、顧客Ａと顧客Ｂに対して投影データ１０００を用いて説明を行う図である。本実施形態においては、投影撮像装置１１０の撮像部１１６並びに距離測定部１１７の撮像範囲および測距範囲は同一の範囲としており例えば測距範囲１００６が図１０の測距範囲１００６のように規定されている。測距範囲１００６は本発明の実施形態では四角形であるが、これに限定されることなく円形などでも構わない。なお、手１００１と手１００３の上に表示されている「Ａ」や「Ｂ」は発明を説明するために示しているものであって、実際に手の上に投影されるものではない。手がいずれのユーザであるかは、指の先端部分の属性画像によってユーザは判断するものとする。手がいずれのユーザであるかを示す方法は説明のための一例であり、これに限定されない。また、投影面上の点線は、領域テーブルに示す領域を明示するために示したものであり、実際に投影されるものではない。
【００５０】
ステップＳ７０７では、情報処理装置１００のＣＰＵ１０１が、投影撮像装置１１０の距離測定部１１７から投影面上の物体を認識するための情報であるセンサ情報を取得する。ここでいうセンサ情報とは、距離測定部１１７が照射する赤外線を投影面上（測距範囲１００６上）の対象物が反射する赤外線を距離測定部１１７の受信部で検出することによって得られる情報である。物体とは例えばユーザの手であるが説明のための一例である。
【００５１】
ステップＳ７０８では、情報処理装置１００のＣＰＵ１０１が、ステップＳ７０７で取得したセンサ情報をもとに、物体が投影面上（測距範囲１００６上）にあるか否かを判定する。物体が投影面上にあると判定した場合は処理をステップＳ７０９に進め、物体が投影面上にないと判定された場合は処理をステップＳ７１２に進める。
【００５２】
ステップＳ７０９では、情報処理装置１００のＣＰＵ１０１が、投影面上にある物体を解析する処理である物体解析処理を行う。物体解析処理の詳細な処理の説明は、図１１に示すフローチャートで説明を行う。
【００５３】
図１１は物体解析処理の詳細な処理の流れを説明するフローチャートである。図１１の説明を行う。
【００５４】
ステップＳ１１０１では、情報処理装置１００のＣＰＵ１０１が、図１２に示す手管理テーブル１２００を取得する。
【００５５】
図１２に示す手管理テーブル１２００は、距離測定部１１７から取得したセンサ情報により特定される投影面上にある物体（本実施形態では手）を管理するテーブルである。手ＩＤ１２０１は、手を一意に識別するＩＤを格納している。先端座標１２０２は手の先端の座標を格納する。挿入された座標１２０３は、測距範囲１００６を示す辺と手が交差する点を格納している。ユーザＩＤ１２０４は、投影面上の手の属性（つまり、どのユーザの手かを示すユーザＩＤ）を格納する。更新フラグ１２０５は先端座標１２０２が更新されたか否かを示すフラグである。
【００５６】
ステップＳ１１０２では、情報処理装置１００のＣＰＵ１０１が、ステップＳ７０７で取得したセンサ情報に基づいて投影面上の物体は手か否かを判定する。あらかじめ手の形状のパターン情報を記憶しておき、パターンマッチングにより手か否かを判定するなどの方法によって投影面上の物体は手か否かを判定する。また、投影面上の物体が手か否かは、距離測定部１１７より取得したセンサ情報ではなく、撮像部１１６で撮像した画像を用い肌色検出を行うことによって手か否かを判定しても構わない。
【００５７】
投影面上の物体が手であると判定した場合には処理をステップＳ１１０３に進め、投影面上の物体が手ではないと判定した場合には処理をステップＳ１１１０に進める。
【００５８】
ステップＳ１１０３では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１１０２で手であると判定した手の先端座標と手の挿入された座標を特定する。手の先端座標とは、手の指先に相当する部分の座標であり、手であると判定された物体を測距範囲１００６の縁から見て最も先端の部分の座標である。手の挿入された座標とは、測距範囲１００６の縁が手とが交わる部分の中点（図１０の１００５の部分）の座標である。
【００５９】
ステップＳ１１０４では、情報処理装置１００のＣＰＵ１０１が、投影面上の物体が今まで検出していない手である新たな手であるか否かを判定するべく、ステップＳ１１０３で特定した手の挿入された座標と、挿入された座標１２０３が一致するレコードがあるか否かを判定する。一致するレコードがないと判定された場合は、新たな手であると判断し、一致するレコードがあると判定された場合は、新たな手ではないと判断する。なお、ステップＳ１１０３で特定した手の挿入された座標と、挿入された座標１２０３が完全に一致する必要はなく、所定の閾値の範囲内であれば一致しているとみなしてもよい。ステップＳ１１０３で特定した手の挿入された座標と、挿入された座標１２０３が一致するレコードがあると判定された場合は処理をステップＳ１１０８に進め、ステップＳ１１０３で特定した手の挿入された座標と、挿入された座標１２０３が一致するレコードがないと判定された場合は処理をステップＳ１１０５に進める。
なお、投影面上で新たな手を検知したか否かの判定方法の一例として、挿入された座標１２０３による判断の例を説明したが、これ以外の方法によって投影面上で新たな手を検知したか否かを判定してもよい。例えば、ユーザＩＤ１２０４にユーザＩＤが入っていないレコードがある場合に新たな手が投影面上で検知されたと判定するようにしてもよい。
【００６０】
ステップＳ１１０５では、情報処理装置１００のＣＰＵ１０１が、外部記憶装置１０８に記憶される領域テーブル１５００を取得する。領域テーブル１５００の詳細は前述したとおりである。
【００６１】
ステップＳ１１０６では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１１０３で特定した挿入された座標が属する領域１５０２に対応するユーザＩＤ１２０４を特定する。例えば図１０の手１００１であれば、挿入された座標は領域ＩＤ「１」が示す領域に含まれるため、ユーザＩＤ１２０４「ＡＡＡ」として特定することができる。手１００３であれば挿入された座標は領域ＩＤ「２」が示す領域に含まれるため、ユーザＩＤ「ＢＢＢ」として特定することができる。
【００６２】
ステップＳ１１０７では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１１０１で取得した手管理テーブル１２００にレコードを追加する。追加されるレコードは、ステップＳ１１０３で特定した手の先端座標を先端座標１２０２に、ステップＳ１１０３で特定した手の挿入された座標を挿入された座標１２０３に、ステップＳ１１０６で特定したユーザＩＤ１２０４をユーザＩＤ１２０４に、それぞれ格納したレコードとなる。追加されるレコードの手ＩＤ１２０１は、手管理テーブルに格納されている手ＩＤ１２０１で最も大きい値に１増加させたものとする。更新フラグ１２０５には「１」を格納する。
【００６３】
ステップＳ１１０８では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１１０４で一致すると判定されたレコードの挿入された先端座標１２０２を、ステップＳ１１０３で特定した手の先端座標で更新する。
【００６４】
ステップＳ１１０９では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１１０８で更新した先端座標１２０２に対応する更新フラグ１２０５に「１」フラグを立てる。
【００６５】
ステップＳ１１１０では、情報処理装置１００のＣＰＵ１０１が、投影面上のすべての物体に対してステップＳ１１０２の判定が済んでいるか否かを判定する。処理が済んでいると判定された場合には処理をステップＳ１１１１に進め、そうでない場合には、処理をステップＳ１１０２に戻す。
【００６６】
ステップＳ１１１１では、情報処理装置１００のＣＰＵ１０１が、手管理テーブル１２００を参照する。
【００６７】
ステップＳ１１１２では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１１１１で参照した手管理テーブル１２００に更新フラグ１２０５が「１」ではないレコード（更新されていないレコード）があるか否かを判定する。更新フラグ１２０５が「１」ではないレコードがあると判定された場合は処理をステップＳ１１１３に処理を進め、更新フラグ１２０５が「１」ではないレコードがないと判定された場合は処理をステップＳ１１１４に進める。更新されていないレコードとはつまり投影面上から手が検出できなくなった（ユーザが手を投影面上から除いた）ことを示している。
【００６８】
ステップＳ１１１３では、情報処理装置１００のＣＰＵ１０１が、更新していないレコード（更新フラグ１２０５が「１」ではないレコード）を削除する。このようにすることで、投影面上からユーザの手が存在しなくなった場合に、適切にレコードを削除することができる。
【００６９】
ステップＳ１１１４では、情報処理装置１００のＣＰＵ１０１が、先端座標１２０２に基づいて接触している手（指示体同士）があるか否かを判定する。本実施形態においては、先端座標１２０２が一致するレコードがあるか否かによって、接触している手があるか否かを判定している。先端座標１２０２から所定範囲内に他の手の先端座標１２０２があるか否かを判定するなど、位置座標が完全に一致する必要はなくある程度の許容値を設けてもよい。接触している手があるか否かはこれに限定されず、撮像部１１６で得られた画像で肌色検出を行うことにより、判断しても構わない。所定範囲外であった状態から所定範囲内の距離となることを判定するようにしてもよい。
【００７０】
ステップＳ１１１５では、情報処理装置１００のＣＰＵ１０１が、接触していると判定された手と手（指示体群）の対応付けの処理である対応付け処理を実行する。対応付け処理の詳細な処理の説明は、図１４のフローチャートを用いて説明する。
【００７１】
図１４は対応付け処理の詳細な処理を説明するフローチャートである。
【００７２】
ステップＳ１４０１では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１１１４で接触していると判定された手の先端座標１２０２を取得する。
【００７３】
ステップＳ１４０２では、情報処理装置１００のＣＰＵ１０１が、手管理テーブル１２００を取得する。
【００７４】
ステップＳ１４０３では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１４０１で取得した先端座標１２０２に基づいて、接触している複数の手の先端座標１２０２に対応するユーザＩＤ１２０４（所定の条件を満たしているユーザＩＤ）を取得する。例えば、図１２の手管理テーブル１２００の手ＩＤ１２０１が「１」と「２」の手が接触している（先端座標１２０２が等しい）場合（所定の条件を満たす）、ユーザＩＤ１２０４の「ＡＡＡ」と「ＢＢＢ」を取得する。なお、先端座標１２０２が等しいかどうかは、座標が完全一致している必要はなく、２点の座標が所定の範囲内であれば等しいと判断してもよい。
【００７５】
ステップＳ１４０４では、情報処理装置１００のＣＰＵ１０１が、領域テーブル１５００を取得する。
【００７６】
ステップＳ１４０５では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１４０１で取得した先端座標１２０２の属する領域１５０２を特定の上、領域テーブル１５００で当該領域１５０２に対応するユーザＩＤ１２０４を特定する。つまり、図１７で接触している手同士の指の先端部分が、いずれの領域にあるかをこのステップＳ１４０５で特定している。図１７の場合、接触している位置座標は領域ＩＤ「１」にあるため、領域ＩＤ「１」に対応するユーザＩＤ１２０４「ＡＡＡ」を特定する。
【００７７】
ステップＳ１４０６では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１４０３で取得した複数のユーザＩＤ１２０４が一致しているか否かを判定する。ユーザＩＤ１２０４が一致していないと判定した場合は処理をステップＳ１４０７に進め、そうでない場合は処理を終了させる。
【００７８】
ステップＳ１４０７では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１４０３で取得したユーザＩＤ１２０４のうち、ステップＳ１４０５で特定したユーザＩＤ１２０４と異なるユーザＩＤの手ＩＤ１２０１を特定する。例えば、ステップＳ１４０３で取得したユーザＩＤ１２０４が「ＡＡＡ」と「ＢＢＢ」（ＡとＢの手が接触している）で、ステップＳ１４０５で特定したユーザＩＤが「ＡＡＡ」であるとすると、手管理テーブル１２００に基づいて手ＩＤ１２０１「２」（ユーザＩＤ１２０４がＡＡＡではない）を特定する。
【００７９】
ステップＳ１４０８では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１４０７で特定した手ＩＤ１２０１に対応するユーザＩＤ１２０４を、ステップＳ１４０５で特定したユーザＩＤ１２０４で更新する。上述した例では、手ＩＤ１２０１「２」のユーザＩＤ１２０４が「ＡＡＡ」に更新される（具体的に視覚的に示したのが図１７である）。
【００８０】
このように、手と手が接触することによって、手の接触した領域に対応するユーザの手として、接触した手同士を対応付けて記憶することを可能とする効果がある。つまり、それぞれ別人の手であるとして認識されたとしても、ユーザの直観的な操作によって同一のユーザの（属性の）手であるとして対応付けることができるようになり、操作性の向上に役立つものである。
【００８１】
以上で、図１４に示す対応付け処理の説明を終了する。
図１１の説明に戻る。
【００８２】
ステップＳ１１１６では、情報処理装置１００のＣＰＵ１０１が、手管理テーブル１２００のユーザＩＤ１２０４に対応する属性データ１５０３（属性投影データに相当する）を取得する。属性データが示す属性画像のイメージを図１３に示す。
【００８３】
ステップＳ１１１７では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１１１６で取得した属性データ１５０３を、対応するユーザＩＤ１２０４の先端座標１２０２の示す位置に投影させる（識別表示手段に相当する）。例えば図１０に示すような、ＲＥＤ画像１００２とＢＬＵＥ画像１００４がユーザの指先に投影される。ＲＥＤ画像１００２とＢＬＵＥ画像１００４は形状が同じで色が異なる画像である（図１０では色の違いを点線で示している）。この投影により、手１００１と手１００３がそれぞれ別の人の手であると認識されていることをユーザに通知することができる。
【００８４】
つまり、これらの画像をユーザの指先に投影することで、情報処理装置で認識した手がそれぞれ同一人物の手として認識されたのか、それぞれ別の人物の手として認識されているのかをユーザに通知することができる。具体的に説明をすると、図１６に示すように、ユーザＡが、ユーザＢの領域から手１６０１を投影面に挿入してしまったがために、本来はユーザＡの手として特定されてＲＥＤ画像１００２が投影されるべき手１６０１が、ユーザＢの手として特定されてしまい、色の異なる画像であるＢＬＵＥ画像１００４が投影されている。
【００８５】
そこで、図１７に図示するように手１６０１に対する誤認識を修正すべくユーザＡが、ユーザＢの手として認識された手１６０１と手１００１とを接触させることにより、手１６０１と手１００１の接触した位置が含まれる領域に対応するユーザとして（図１７ではユーザＡの領域で手１６０１と手１００１が接触しているためユーザＡの手として）対応付けるとともに、手１６０１のＢＬＵＥ画像１００４がＲＥＤ画像１００２に変更され、手１００１のＲＥＤ画像１００２と同一になることで、ユーザの意図する修正がされているか否かを確認することが可能となる効果がある。なお、本実施形態では同一形状の色が異なる画像を指先に投影しているが、ユーザごとに異なる画像を割り当ててもよく対応付けられている属性がユーザに対して通知可能であればこれに限定されない。
【００８６】
ステップＳ１１１８では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１１１１で参照した手管理テーブル１２００のすべてのレコードについて、ステップＳ１１１６とステップＳ１１１７の処理を実行したか否かを判定する。すべてのレコードについてステップＳ１１１６とステップＳ１１１７の処理を実行したと判定した場合は処理をステップＳ１１１９に進め、そうではない場合にはステップＳ１１１６に処理を戻す。
【００８７】
ステップＳ１１１９では、情報処理装置１００のＣＰＵ１０１が、手管理テーブル１２００のレコードの更新フラグ１２０５をすべて「０」とする。
【００８８】
以上で、図１１に示す物体解析処理の詳細な処理の説明を終了する。
図７の説明に戻る。
【００８９】
ステップＳ７１０では、情報処理装置１００のＣＰＵ１０１が、ステップＳ７０７で取得したセンサ情報によって投影面上でタッチがされたか否かを判定する。投影面でタッチがされたと判定した場合は処理をステップＳ７１１に進め、そうでない場合はステップＳ７０７に処理を戻す。
【００９０】
ステップＳ７１１では、情報処理装置１００のＣＰＵ１０１が、タッチ操作により所定の処理を実行するタッチ操作実行処理を行う。タッチ操作実行処理の詳細な処理の説明は図２１を用いて詳細に説明する。
【００９１】
図２１は、タッチ操作実行処理の詳細な処理の流れを説明するフローチャートである。
【００９２】
ステップＳ２１０１は、情報処理装置１００のＣＰＵ１０１が、ステップＳ７０７で取得したセンサ情報に基づいて、投影面上でタッチされた位置座標を特定する。
【００９３】
ステップＳ２１０２は、情報処理装置１００のＣＰＵ１０１が、例えば図２２に示す操作テーブル２２００を取得する。操作テーブル２２００は、タッチの数２２０１と操作２２０２とが対応付けて記憶されるテーブルである。このテーブルにより、投影面上にタッチされた箇所の数に応じて、実行される処理が切り替わる。例えば２本の指でタッチされた場合には、ピンチイン・ピンチアウトが実行される。
【００９４】
ステップＳ２１０３は、情報処理装置１００のＣＰＵ１０１が、ステップＳ７０７で取得したセンサ情報に基づいて、タッチされた箇所は複数か否かを判定する。タッチされた箇所が複数であると判定された場合は処理をステップＳ２１０５に進め、タッチされた箇所が複数でないと判定された場合は処理をステップＳ２１０４に進める。
【００９５】
ステップＳ２１０４は、情報処理装置１００のＣＰＵ１０１が、ステップＳ２１０２で取得した操作テーブル２２００に基づいて、タッチ箇所が１に対応する操作を実行する。図２２であればタッチされた箇所に対する「選択」処理となる。
【００９６】
ステップＳ２１０５は、情報処理装置１００のＣＰＵ１０１が、手管理テーブル１２００を取得する。
【００９７】
ステップＳ２１０６は、情報処理装置１００のＣＰＵ１０１が、ステップＳ２１０１で特定した投影面上の位置座標と一致する、手管理テーブルの１２００の先端座標１２０２を特定する。先端座標１２０２に対応するユーザＩＤ１２０４を特定する。
【００９８】
ステップＳ２１０７は、情報処理装置１００のＣＰＵ１０１が、ステップＳ２１０６で特定したユーザが複数か否かを判断する。特定したユーザが複数であると判定された場合は処理をステップＳ２１０９に進め、そうでない場合は処理をステップＳ２１０８に進める。
【００９９】
ステップＳ２１０８は、情報処理装置１００のＣＰＵ１０１が、タッチの箇所に対応する操作を実行する（処理実行手段に相当する）。仮にタッチの箇所が２である場合、「ピンチイン・ピンチアウト」処理を実行する。これにより、一人のユーザによる複数箇所へのタッチ操作の場合に、いわゆるマルチタッチ操作を実現することを可能とする。
【０１００】
ステップＳ２１０９では、情報処理装置１００のＣＰＵ１０１が、それぞれのタッチについて、タッチ箇所が１（単独の数）に対応する処理を実行する。図２２の操作テーブルの場合、「選択」処理をそれぞれのタッチ箇所について実行する。これにより、複数の人がそれぞれ投影面上に投影されたボタンをタッチしたとしても、ピンチイン・ピンチアウトではなく、選択処理をそれぞれのボタンに対して実行させることが可能となる。
【０１０１】
尚、タッチにより実行される処理の内容は一例であって他の処理であっても構わない。また、タッチ箇所の数は説明のため、１と２のみの実施例としたが、これに限定されず、さまざまな数が想定される。
【０１０２】
以上で、図２１に示すタッチ操作実行処理の詳細な処理の説明を終了する。
図７の説明に戻る。
【０１０３】
ステップＳ７１２では、情報処理装置１００のＣＰＵ１０１が、ユーザから本システムの終了指示を受け付けたか否かを判定する。システムの終了指示を受け付けたと判定された場合には処理を終了させ、そうでない場合には処理をステップＳ７０７に戻す。
【０１０４】
ステップＳ７１３では、情報処理装置１００のＣＰＵ１０１が、外部記憶装置に記憶されたエラー画面（不図示）をディスプレイ１２０に表示する。エラー画面には、環境設定処理の際にテラーが顧客ＩＤを入力していない旨の通知を行うことで、テラーに環境設定処理の際に顧客ＩＤの入力を行うよう促す。エラー画面を表示したのち、処理をステップＳ１０２に戻す。
【０１０５】
本発明の実施形態では、手と手の接触を例として説明したが、必ずしもこれに限定される必要はなく、物体であればこれに限定されるものではない。また、物体同士の対応付けられる属性をユーザとしたが、発明はユーザに限定されるものではなく、例えばグループなど対応付けるための属性であればこれに限定されない。
【０１０６】
また、本発明の仕組みによれば、ユーザが誤って他人の手と接触してしまい、他のユーザの手として対応付けて記憶されてしまった場合でも、その手を再度自分のもう一方の手と所定の領域内で接触させることにより、ユーザが容易に正しい対応関係に修正することを可能とする効果がある。
【０１０７】
以上で、本発明の第１の実施形態の説明を終了する。
【０１０８】
第１の実施形態によれば、物体と物体が接触した位置座標を特定したうえで、この位置座標が属する領域に対応するユーザの物体として接触した物体を対応付けることが可能となる。
【０１０９】
次に本発明の第２の実施形態の説明を始める。第１の実施形態では、物体の接触した位置座標によって、対応付ける属性（ユーザ）を決定した。第２の実施形態では、接触した物体同士の加速度（挙動情報）によって、対応付ける属性（ユーザ）を決定することができる。第２の実施形態では、図１１が図１８に、図１２が図２０に、図１４が図１９にそれぞれ変更したものである。その他のシステム構成、ハードウェア構成、機能構成、画面例、データテーブル等は第１の実施形態と上記の変更点を除き同様とする。
【０１１０】
第１の実施形態と同様のものは説明を省略し、第１の実施形態と異なる図１８、１９、２０の説明を行う。
【０１１１】
図１８は第２の実施形態における物体解析処理の詳細な処理を説明するフローチャートである。
【０１１２】
ステップＳ１８０１からステップＳ１８０３までの処理は、図１１に示すフローチャートのステップＳ１１０１からステップＳ１１０３までと同様の処理であるため説明を省略する。
【０１１３】
ステップＳ１８２０では、情報処理装置１００のＣＰＵ１０１が、手の単位時間当たりの加速度を算出する。具体的には、センサ情報から得られる情報に基づいて指の先端の移動速度の変化率を算出することにより、加速度を求める。本実施形態では、三次元上の加速度とするが、ＸＹ平面における指の先端部分の加速度を算出してもよい。センサ情報から加速度を求める方法については従来の公知技術を用いるものとする。算出した加速度は、ステップＳ１８０３で特定された手の先端座標と手の挿入された座標とに対応する加速度２００１（手管理テーブル２０００）に格納される。
【０１１４】
図２０に示す手管理テーブル２０００は、手管理テーブル１２００に更に加速度２００１を対応付けて管理するデータテーブルである。加速度２００１は、手の先端座標の加速度を示す値が格納される。
【０１１５】
ステップＳ１８０４からステップＳ１８１９までの処理は、図１１に示すフローチャートのステップＳ１１０４からステップＳ１１１９までと同様の処理であるため説明を省略する。
【０１１６】
以上で、図１８に示すフローチャートの説明を終了する。
【０１１７】
次に図１９に示すフローチャートを用いて、第２の実施形態における対応付け処理の詳細な処理の説明を行う。
【０１１８】
ステップＳ１９０１からステップＳ１９０３までは図１４に示すステップＳ１４０１からステップＳ１４０３までの処理と同様であるため説明を省略する。
【０１１９】
ステップＳ１９０４では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１９０３で取得した手ＩＤ１２０１に対応する加速度２００１をそれぞれ取得する。（動き情報取得手段に相当する）
【０１２０】
ステップＳ１９０５では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１９０４で取得した加速度２００１のうち、加速度が小さい加速度２００１に対応するユーザＩＤ１２０４を特定する。
【０１２１】
ステップＳ１９０６は、図１４のステップＳ１４０６と同様の処理を行うため説明を省略する。
【０１２２】
ステップＳ１９０７では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１９０４で取得した加速度２００１に基づいて、加速度２００１が大きい方の手ＩＤ１２０１を特定したうえで、手ＩＤ１２０１に対応するユーザＩＤ１２０４を特定する。
【０１２３】
ステップＳ１９０８では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１９０５で特定した手ＩＤ１２０１に対応するユーザＩＤ１２０４を、ステップＳ１９０７で特定したユーザＩＤ１２０４で更新する。このように、加速度の大きい方の手のユーザＩＤが加速度の小さい方の手のユーザＩＤに更新される。これによりユーザは直観的に手の属性を変更したい手を、もう一方の手に接触させることで、もう一方の手の属性（ユーザ）として２つの手を対応付けることが可能になるという効果がある。
【０１２４】
以上で、図１９に示すフローチャートの説明を終了する。尚、第２の実施形態では接触した物体同士の加速度によって、対応付ける属性（ユーザ）を決定（属性決定）したが、加速度以外にも手の動きを示す情報（動き情報）であれば、移動量などでも構わない。
以上で、第２の実施形態の説明を終了する。
【０１２５】
次に第３の実施形態の説明を開始する。第３の実施形態は、第１の実施形態のように手の接触した位置座標によって、対応付ける属性（ユーザ）で複数の手を記憶する際に、２本以上（上限値以上）の手が同一のユーザの手として認識されないよう制御することを特徴とするものである。第３の実施形態では、図１４が図２４に変更したものである。その他のシステム構成、ハードウェア構成、機能構成、画面例、データテーブル等は第１の実施形態と上記の変更点を除き同様とする。
【０１２６】
第１の実施形態と同様のものは説明を省略し、第１の実施形態と異なる図２４の説明を行う。
【０１２７】
図２４のフローチャートを用いて、第３の実施形態における対応付け処理の詳細な処理の説明を行う。
【０１２８】
ステップＳ２４０１からステップＳ２４０７は、図１４のステップＳ１４０１からステップＳ１４０７と処理が同様であるため説明を省略する。
【０１２９】
ステップＳ２４０８では、情報処理装置１００のＣＰＵ１０１が、ステップＳ２４０５で特定した領域１５０２に対応するユーザＩＤ１２０４が、手管理テーブル１２００のユーザＩＤ１２０４に格納されているレコードを抽出する。
【０１３０】
ステップＳ２４０９では、情報処理装置１００のＣＰＵ１０１が、ステップＳ２４０８で抽出したレコードの数が１つ以下であるか否かを判定する。レコードの数が１つ以下である場合には処理をステップＳ２４１０に進め、そうでない場合には処理を終了させる。
【０１３１】
ステップＳ２４１０の処理は、ステップＳ１４０８と処理が同様であるため説明を省略する。
以上で図２４の説明を終了する。
【０１３２】
以上、第３の実施形態によれば、所定の数（本実施形態では３つ）以上、手（物体）が同一のユーザとして対応付けられないようにすることで、適切に手を対応付けることを可能とする。一人の人間は３本以上の手を具備することはない。つまり、あるユーザとして対応付けようとした手（接触した手）があるユーザの３本目以上である場合には、この手は、あるユーザとは別のユーザの手である可能性が高いため、対応付けることを行わない。これにより、ユーザが誤って他のユーザの手に接触してしまった場合であっても、対応付けて記憶させない効果がある。
【０１３３】
次に第４の実施形態の説明を開始する。第４の実施形態は、第２の実施形態のように接触した手それぞれの加速度によって、対応付ける属性（ユーザ）で複数の手を記憶する際に、２本以上の手が同一のユーザの手として認識されないよう制御することを特徴とするものである。第４の実施形態では、図１９が図２５にそれぞれ変更したものである。その他のシステム構成、ハードウェア構成、機能構成、画面例、データテーブル等は第２の実施形態と上記の変更点を除き同様とする。
【０１３４】
第２の実施形態と同様のものは説明を省略し、第２の実施形態と異なる図２５の説明を行う。
【０１３５】
図２５のフローチャートを用いて、第４の実施形態における対応付け処理の詳細な処理の説明を行う。
【０１３６】
ステップＳ２５０１からステップＳ２５０７は、図１９のステップＳ１９０１からステップＳ１９０７と処理は同様であるため説明を省略する。
【０１３７】
ステップＳ２５０８では、情報処理装置１００のＣＰＵ１０１が、ステップＳ２５０５で特定した加速度が小さい加速度２００１に対応する手のユーザＩＤが、手管理テーブル２０００のユーザＩＤ１２０４に格納されているレコードを抽出する。
【０１３８】
ステップＳ２４０９では、情報処理装置１００のＣＰＵ１０１が、ステップＳ２５０８で抽出したレコードの数が１つ以下であるか否かを判定する。レコードの数が１つ以下である場合には処理をステップＳ２５１０に進め、そうでない場合には処理を終了する。
以上で図２４の説明を終了する。
【０１３９】
以上、第４の実施形態によれば、第３の実施形態と同様に、所定の数（本実施形態では３つ）以上、手（物体）が同一のユーザとして対応付けられないようにすることで、適切に手を対応付けることを可能とする。通常、一人の人間は３本以上の手を具備することはない。つまり、あるユーザとして対応付けようとした手（接触した手）があるユーザの３本目以上である場合には、この手は、あるユーザとは別のユーザの手である可能性が高いため、対応付けることを行わない。これにより、顧客が誤って他の顧客の手に接触してしまった場合であっても、対応付けて記憶させない効果がある。
【０１４０】
次に第５の実施形態の説明を開始する。
【０１４１】
第５の実施形態では、複数の手（以下、指示体）が所定の条件を満たしたとしても、所定の条件を満たした指示体のうち所定の属性の指示体が含まれる場合には、所定の条件を満たした指示体を対応付けないことを可能とするものである。具体的には、顧客同士の手同士であれば対応付けるようにし、テラーの手と顧客の手など、所定のユーザの手が含まれる場合には対応付けないように制御するというような例である。第５の実施形態では、図１４のフローチャートが図２６に変更したものである。その他のシステム構成、ハードウェア構成、機能構成、画面例、データテーブル等は第１の実施形態と上記の変更点を除き同様とするため同様な部分については説明を省略する。
【０１４２】
図２６は第５の実施形態における対応付け処理の詳細な処理の流れを説明するフローチャートである。図２６のフローチャートは、図１４のフローチャートにステップＳ２６０１を追加したものである。それ以外の処理については同様であるため説明は省略し、ステップＳ２６０１の処理の内容について説明を行う。
【０１４３】
ステップＳ２６０１では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１４０３で取得したユーザＩＤにテラーのユーザＩＤが含まれているか否かを判定する。テラーのユーザＩＤが含まれていると判定された場合には処理を終了させ、テラーのユーザＩＤが含まれていないと判定された場合には処理をステップＳ１４０７に進める。テラーのユーザＩＤが含まれているか否かの具体的な判断方法については、例えば、テラーのユーザＩＤのみを管理するテーブルがあらかじめ外部記憶装置１０８に記憶されており、ステップＳ１４０３で取得されたユーザＩＤのなかに上記テーブルに含まれるユーザＩＤがある場合に、テラーのユーザＩＤが含まれていると判定することができる。なお、テラーのユーザＩＤが含まれているか否かの判定方法はこれに限定されない。また、テラーのユーザＩＤを例として説明したがテラーに限定されず、ユースケースに応じて所定のユーザＩＤが含まれる場合に、所定のユーザの手と他者の手との対応付けを行わないようにすることができればよい。
【０１４４】
以上で図２６に示すフローチャートの説明を終了し、第５の実施形態の説明を終える。第５の実施形態によれば、指示体（手）同士が所定の条件を満たしたとしても、所定の属性（ユーザ）の指示体（手）が含まれる場合に対応付けないようにすることで、対応付けるべきでない指示体が対応づいてしまうことを防止する効果がある。
【０１４５】
次に図２７〜図２９を用いて本発明の第６の実施形態の説明を行う。第６の実施形態では、投影面上の所定の領域にタッチ操作が行われたことを条件として、所定の領域に該タッチ操作を行った指示体を対応付ける。第６の実施形態では、図２１を図２７に変更し、図２８と図２９とを新たに追加したものである。その他のシステム構成、ハードウェア構成、機能構成、画面例、データテーブル等は第１の実施形態と上記の変更点を除き同様とする。そのため、第１の実施形態と異なる部分についてのみ説明をし、それ以外については省略する。
【０１４６】
図２７のフローチャートについて説明する。図２７は、タッチ操作実行処理の詳細な処理の流れを説明するフローチャートである。図２７のフローチャートは、図２１のフローチャートにステップＳ２７０１とステップＳ２７０２とが新たに追加されたフローチャートである。追加された部分以外については、図２１のフローチャートと処理は同様であるため説明は省略する。
【０１４７】
ステップＳ２７０１では、情報処理装置１００のＣＰＵ１０１が、ステップＳ２１０１で特定された位置座標が対応付け領域の範囲内か否かを判定する。ステップＳ２１０１で特定された位置情報が対応付け領域の範囲内であると判定された場合には処理をステップＳ２７０２に進め、そうでない場合には処理をステップＳ２１０５に進める。
【０１４８】
対応付け領域とは、投影面上にあらかじめ設定されている領域である。例えば図２９（Ａ）のようにユーザが識別可能に領域を示されている。この対応付け領域にタッチ操作を行った手が対応付けの対象となる。対応付け領域は矩形であっても円形であっても構わず、形状を問わない。
【０１４９】
ステップＳ２７０２では、情報処理装置１００のＣＰＵ１０１が、対応付け領域の範囲内でタッチ操作がされた手同士を対応付ける処理である対応付け処理を行う。対応付け処理の詳細な処理の流れは、図２８のフローチャートを用いて説明する。
【０１５０】
図２８は第６の実施形態におけるステップＳ２７０２の対応付け処理の詳細な処理の流れを説明するフローチャートである。図２８のフローチャートの処理の流れの説明を行う。
【０１５１】
ステップＳ２８０１では、情報処理装置１００のＣＰＵ１０１が、外部記憶装置１０８に記憶されている手管理テーブル１２００を取得する。
【０１５２】
ステップＳ２８０２では、情報処理装置１００のＣＰＵ１０１が、ステップＳ２７０１で対応付け領域の範囲内にある（所定の条件を満たす）と判定された位置情報に対応するユーザＩＤ１２０４を、ステップＳ２８０１で取得された手管理テーブル１２００から取得する。具体的には、ステップＳ２１０１で特定された位置情報と一致する、手管理テーブル１２００の先端座標１２０２を特定し、先端座標１２０２に対応するユーザＩＤ１２０４を取得する。複数箇所タッチされているので、タッチされている箇所の数だけユーザＩＤ１２０４を取得する。位置情報と先端座標１２０２との一致の判定は完全一致である必要は無く、ある程度の幅を持たせてもよい。
【０１５３】
ステップＳ２８０３では、情報処理装置１００のＣＰＵ１０１が、ステップＳ２８０２で取得されたユーザＩＤ１２０４は一致しているか否かを判定する。本実施形態では、タッチされた位置情報は２つを例として説明するが、タッチされた位置情報は３つ以上であってもよい。ユーザＩＤ１２０４が一致している（タッチをしている手の属性がすべて同じユーザを示している）場合には処理を終了させ、そうでない（タッチをしている手の属性が異なるユーザを示している）場合には処理をステップＳ２８０４に進める。
【０１５４】
ステップＳ２８０４では、情報処理装置１００のＣＰＵ１０１が、投影面上にステップＳ２８０２で取得したユーザＩＤ１２０４をリストとして表示させる。例えば図２９（Ｂ）のような表示をする。
【０１５５】
ステップＳ２８０５では、情報処理装置１００のＣＰＵ１０１が、ステップＳ２８０４で表示されたユーザＩＤ１２０４の選択を受け付けたか否かを判定する。ユーザＩＤ１２０４の選択を受け付けたと判定された場合には処理をステップＳ２８０６に進め、そうでない場合には選択を受け付けるまで待機する。ステップＳ２８０４で表示されたユーザＩＤの１２０４のうち１つのユーザＩＤ１２０４の選択をユーザから受け付けることで、対応付けるべきユーザの指定を受け付けることができる。これにより適切な対応付けを行うことができるという効果がある。図２９（Ｂ）では、ユーザＢが選択されている。
【０１５６】
ステップＳ２８０６では、情報処理装置１００のＣＰＵ１０１が、ステップＳ２８０５で選択されたと判定されたユーザＩＤ１２０４で、ステップＳ２１０１で特定された位置情報に対応するユーザＩＤ１２０４を更新する。更新したことを示すべく、図２９（Ｃ）に示すように、対応付けられたことを示す「対応付けました。」という文言を表示してもよい。なお、図２９（Ｃ）の表示は一例であって、対応付けられたことを通知することができれば何でもよい。
【０１５７】
以上で、第６の実施形態の説明を終了する。第６の実施形態によれば、ステップＳ２１０１で特定された位置情報に対応するユーザＩＤ１２０４が同一のユーザＩＤとなるため、投影面上の対応付け領域の範囲内でタッチ操作をした手同士を対応付けることができる。これにより対応付けられた手によるマルチジェスチャの操作を行うことができるようになる。また、対応付けられたことが投影面上で通知されるため、ユーザに対応付けられたことを認識させることができる。
【０１５８】
次に、第７の実施形態の説明を開始する。第７の実施形態では、投影面上をユーザの手により同時にタッチ操作をされること（所定の条件）により、タッチ操作が行われた手を対応付けることのできる操作感を提供することを可能とするものである。第７の実施形態は、第６の実施形態の図２７を図３０に変更し、図１２の手管理テーブル１２００を図３１に変更したものである。その他のシステム構成、ハードウェア構成、機能構成、画面例、データテーブル等は第１の実施形態と上記の変更点を除き同様とする。そのため、第１の実施形態と異なる部分についてのみ説明をし、それ以外については省略する。
【０１５９】
図３０のフローチャートは、第７の実施形態におけるタッチ操作実行処理の詳細な処理の流れを説明するフローチャートである。このフローチャートは、図２７のフローチャートにステップＳ３００１、ステップＳ３００２、ステップＳ２７０２の処理が新たに追加されたものである。追加された処理以外の部分は図２１のフローチャートと処理は共通であるため説明は省略する。
【０１６０】
ステップＳ３００１では、情報処理装置１００のＣＰＵ１０１が、ステップＳ７０７で取得されたセンサ情報に基づいて、投影面上でタッチされた時刻を特定し、図３１の手管理テーブル３１００のタッチ時刻３１０１を更新する。具体的に説明する。ステップＳ２１０１で特定された位置情報と、先端座標１２０２とが一致するレコードを特定する。そして、特定されたレコードのタッチ時刻３１０１を、投影面上でタッチされた時刻で更新する。例えば、ステップＳ２１０１で特定された位置情報が（Ｘ６，Ｙ６）である場合には手ＩＤ１２０１が「２」のレコードが特定される。このレコードのタッチ時刻３１０１を例えば「１３：２５：４２」に更新する。
【０１６１】
なお、タッチ時刻の更新方法は一例であって、これ以外の方法でタッチされた時刻を特定するようにしても構わない。
【０１６２】
ステップＳ３００２では、情報処理装置１００のＣＰＵ１０１が、手管理テーブル３１００のタッチ時刻３１０１を参照し、タッチ時刻３１０１が一致するレコードがあるか否かを判定する。タッチ時刻３１０１が一致するレコードが存在すると判定された場合には処理をステップＳ２７０２に進め、そうでない場合には処理をステップＳ２１０６に進める。図３１の手管理テーブル３１００の場合は、手ＩＤ１２０１が１のレコードと２のレコードのタッチ時刻３１０１が一致すると判断することができる。なお、タッチ時刻３１０１の一致の判定は完全一致である必要はなく、目的に応じて所定の幅の範囲内であれば一致すると判断するような構成としても構わない。
【０１６３】
ステップＳ２７０２の処理は図２７のステップＳ２７０２と処理フローは共通（図２８のフローチャート）であるため、説明を省略する。
【０１６４】
第７の実施形態では、第６の実施形態の図２８のフローチャートとは、所定の条件が異なっている。
そのため、第７の実施形態における所定の条件を説明するためにステップＳ２８０２及びステップＳ２８０３について説明する。それ以外の処理の流れについては、第６の実施形態と処理の流れは同じであるため説明は省略する。また、図２９（Ａ）〜（Ｃ）を、図３２（Ａ）〜（Ｃ）に置き換えて説明する。
【０１６５】
ステップＳ２８０２では、情報処理装置１００のＣＰＵ１０１が、ステップＳ３００２でタッチ時刻が一致すると判定されたレコードのユーザＩＤ１２０４（所定の条件を満たす手のユーザＩＤ）を取得する。例えば図３１の手管理テーブル３１００であれば、タッチ時刻３１０１が一致しているユーザＩＤ１２０４が「ＡＡＡ」と「ＢＢＢ」であるのでこれらを取得する。
【０１６６】
ステップＳ２８０３では、ステップＳ２８０２で取得されたユーザＩＤ１２０４が一致しているか否かを判定する。一致すると判定された場合には処理を終了させ、そうでない場合には処理をステップＳ２８０４に進める。
【０１６７】
第７の実施形態のイメージ図が図３２のイメージ図である。図３２（Ａ）はユーザの手（指示体）が投影面を同時にタッチしていることを示すイメージである。図３２（Ｂ）はステップＳ２８０４で表示されるユーザＩＤのリストのイメージ図である。図３２（Ｃ）はステップＳ２８０６で手管理テーブル３１００が更新されたことに伴い、対応付けて管理されたことをユーザに対して通知する画面例を示す図である。
【０１６８】
以上、本発明の第７の実施形態によれば、ユーザが投影面に同時にタッチ操作を行うことを、手を対応付けて管理するための所定の条件とすることで、手を対応付ける際に直観的な操作感で対応付けて管理することを可能とする仕組みをユーザに提供することができ、より使い勝手のよい操作環境を提供することができる。
【０１６９】
次に、第８の実施形態の説明を開始する。第８の実施形態では、手を対応付けるためのジェスチャ操作の所定の条件として、対応付けたい手が投影面に同時に検知された（同時にユーザは投影面に挿入すること）ことを条件とする。なお、同時とは、検知された時刻が完全に一致することを意味するのではなく、目的に応じて完全同一ではなく所定の幅を持たせても（所定の時間内としても）構わない。
【０１７０】
第８の実施形態では、第１の実施形態の図１１が図３３に変更され、図１２が図３４に変更されたものである。その他のシステム構成、ハードウェア構成、機能構成、画面例、データテーブル等は第１の実施形態と上記の変更点を除き同様とする。そのため、第１の実施形態と異なる部分についてのみ説明をし、処理の内容が共通する部分については説明を省略する。
【０１７１】
図３３は、第８の実施形態における物体解析処理の詳細な処理の流れを説明するフローチャートである。図３３は、図１１のフローチャートにステップＳ３３０１とステップＳ３３０２とステップＳ３３０３とが追加されたフローチャートである。追加された処理のみの説明を行い、これ以外の部分については図１１のフローチャートと処理の内容は共通であるため説明を省略する。
【０１７２】
ステップＳ３３０１では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１１０２で検知された手と同じ時刻に、投影面に挿入された手があるか否かを判定する。すなわち、ステップＳ１１０２で物体は手であると検知されたタイミングと一致する、手管理テーブル３４００の検知時刻３４０１が存在する（検知時刻３４０１が一致する）か否かを判定する。同じタイミングで投影面に挿入された手があると判定された場合には処理をステップＳ３３０２に進め、そうでない場合には処理をステップＳ３３０３に進める。
【０１７３】
ステップＳ３３０２では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１１０２で物体は手であると検知された時刻と一致する、手管理テーブル３４００の検知時刻３４０１に対応するユーザＩＤ１２０４を特定する。例えば図３４の場合、ステップＳ１１０２で手が検出された時刻が「９：１４：５０」であった場合、この時刻に対応する検知時刻３４０１に対応するユーザＩＤ１２０４は「ＡＡＡ」が特定される。
【０１７４】
ステップＳ３３０３では、情報処理装置１００のＣＰＵ１０１が、ステップＳ１１０１で取得した手管理テーブル３４００にレコードを追加する。追加されるレコードは、ステップＳ１１０３で特定した手の先端座標を先端座標１２０２に、ステップＳ１１０３で特定した手の挿入された座標を挿入された座標１２０３に、ステップＳ１１０６で特定したユーザＩＤ１２０４（あるいは、ステップＳ３３０２でユーザＩＤ１２０４が特定されている場合にはステップＳ３３０２で特定されたユーザＩＤ１２０４）をユーザＩＤ１２０４に、それぞれ格納したレコードとなる。追加されるレコードの手ＩＤ１２０１は、手管理テーブルに格納されている手ＩＤ１２０１で最も大きい値に１増加させたものとする。更新フラグ１２０５には「１」を格納する。更に、ステップＳ１１０２で物体は手であると検知したタイミングの時刻を取得し、検知時刻３４０１に格納する。なお、本実施形態では、物体は手であると検知したタイミングを手が投影面に挿入されたタイミングと同義で説明するが、一例であって、これに限定されない。
【０１７５】
以上で第８の実施形態の説明を終了する。第８の実施形態によれば、指示体を投影面で検知させることを条件に、指示体を対応づけることができるため、容易に指示体を対応付けることを可能とする効果がある。
【０１７６】
以上、本発明によれば、投影面上にある複数の指示体を容易に対応付けることを可能にし、対応付けられた複数の指示体による操作を実行可能にすることができる。
【０１７７】
なお、本発明の実施形態の説明では、テラーと顧客という２つ種類のユーザを例として説明をしたが、説明の一例であってこれに限定されない。更に、対面システムを例として説明を行ったが、これに限定されない。
また、本発明の実施形態の説明では、対応付ける物体を手（指示体）として説明をしたが、指示の対象としての文書などの物体も指示体に含まれるものである。対応付けて管理することができ、投影面上に検出することのできる物体であれば、手に限定されることなく本発明の範囲に含まれるものである。対応付ける手を同一人物の属性となるように対応付ける例を、本発明の実施形態では説明を行ったが、他人同士の手を一時的に対応付けて、対応付けられた複数の指示体による操作（マルチジェスチャ操作）を行うようにしても当然構わない。
【０１７８】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１７９】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０１８０】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１８１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１８２】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１８３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１８４】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１８５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１８６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１８７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１８８】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１８９】
１００：情報処理装置、１０１：ＣＰＵ、１０２：ＲＯＭ、１０３：ＲＡＭ、１０４：ネットワークＩ/Ｆ、１０５：Ｉ/Ｆ、１０６：ビデオコントローラ、１０７：ストレージコントローラ、１０８：外部記憶装置、１１０：投影撮像装置、１１５：投影部、１１６：撮像部、１１７：距離測定部
【図１】
0006256545.tif 000002
【図２】
0006256545.tif 000003
【図３】
0006256545.tif 000004
【図４】
0006256545.tif 000005
【図５】
0006256545.tif 000006
【図６】
0006256545.tif 000007
【図７】
0006256545.tif 000008
【図８】
0006256545.tif 000009
【図９】
0006256545.tif 000010
【図１０】
0006256545.tif 000011
【図１１】
0006256545.tif 000012
【図１２】
0006256545.tif 000013
【図１３】
0006256545.tif 000014
【図１４】
0006256545.tif 000015
【図１５】
0006256545.tif 000016
【図１６】
0006256545.tif 000017
【図１７】
0006256545.tif 000018
【図１８】
0006256545.tif 000019
【図１９】
0006256545.tif 000020
【図２０】
0006256545.tif 000021
【図２１】
0006256545.tif 000022
【図２２】
0006256545.tif 000023
【図２３】
0006256545.tif 000024
【図２４】
0006256545.tif 000025
【図２５】
0006256545.tif 000026
【図２６】
0006256545.tif 000027
【図２７】
0006256545.tif 000028
【図２８】
0006256545.tif 000029
【図２９】
0006256545.tif 000030
【図３０】
0006256545.tif 000031
【図３１】
0006256545.tif 000032
【図３２】
0006256545.tif 000033
【図３３】
0006256545.tif 000034
【図３４】
0006256545.tif 000035