(57)【要約】【課題】手指の追跡に失敗した際に、輝度を落とす投影表示の範囲をより小さくして、手指の再認識を行うことを可能とするインターフェース装置、手指追跡方法、及び、プログラムを提供する。【解決手段】第１マスク画像を用いた手指領域の追跡に失敗した場合に、投影表示を撮像した画像を複数のブロックに分割し、所定の探索経路に従って、マスクブロックを重畳表示させるブロックの位置を順次指定する探索経路制御部４８と、投影表示用の表示画像の指定された位置にマスクブロックを重畳させた重畳画像を順次生成する表示画面生成部４４と、重畳画像の投影表示を撮像した画像のマスクブロックの領域を探索して、手指領域が含まれているか否か順次判定する手指判定部４９と、手指領域が含まれていると判定されたマスクブロックから成る第２マスク画像を生成する第２マスク画像生成部４Ａと、を備える。【選択図】図２
2016071824.tif 000002
【特許請求の範囲】
【請求項１】
手指の動きを検出することで操作内容を特定するために、投影表示を順次撮像した画像に基づいて、前記画像に含まれる手指の領域である手指領域を特定し、特定した前記手指領域の少なくとも一部を含む領域をマスクする第１マスク画像を前記投影表示用の表示画像に重畳させて前記画像に含まれる手指領域を追跡するインターフェース装置であって、
前記第１マスク画像を用いた手指領域の追跡に失敗した場合に、前記投影表示を撮像した画像を複数のブロックに分割し、所定の探索経路に従って、前記ブロックのサイズのマスク画像であるマスクブロックを重畳表示させるブロックの位置を順次指定する探索経路制御部と、
前記投影表示用の表示画像の指定された位置に前記マスクブロックを重畳させた第１重畳画像を順次生成する表示画面生成部と、
前記第１重畳画像の投影表示を撮像した画像の前記マスクブロックの領域を探索して、手指領域が含まれているか否か順次判定する手指判定部と、
手指領域が含まれていると判定された前記マスクブロックから成る第２マスク画像を生成する第２マスク画像生成部と、
を備え、
前記表示画面生成部は、更に、前記投影表示用の表示画像の手指領域が含まれていると判定された領域に対応する位置に前記第２マスク画像を重畳させた第２重畳画像を生成する、
ことを特徴とするインターフェース装置。
【請求項２】
前記第１マスク画像を用いて特定された手指領域に基づいて、指先の位置と手の平の重心位置とをそれぞれ算出する手指特定部と、
前記第１マスク画像を用いて特定された前記手指領域ごとに、算出された前記手指の位置と前記手の平の重心位置とを示す特定情報を格納する特定情報記憶部と、
前記指先の位置と前記手の平の重心位置とに基づいて腕が伸びていると推定される第１方向を特定し、前記投影表示を撮像した画像における周縁において腕又は手指が存在する確率が高い位置を特定する探索開始位置特定部と、
を、更に、備え、
前記探索経路制御部は、特定された前記腕又は手指が存在する確率が高い位置のブロックから探索を開始する探索経路を定め、定めた探索経路に従って、前記マスクブロックを重畳表示させる前記ブロックの位置を順次指定する、
ことを特徴とする請求項１に記載のインターフェース装置。
【請求項３】
前記探索開始位置特定部は、更に、前記手の平の重心位置の平均位置を算出し、特定した前記腕又は手指が存在する確率が高い位置から算出した前記平均位置への第２方向を特定し、
前記探索経路制御部は、特定された前記腕又は手指が存在する確率が高い位置のブロックから探索を開始し、特定された第２方向に向かって探索する探索経路を定め、定めた探索経路に従って、前記マスクブロックを重畳表示させる前記ブロックの位置を順次指定する、
ことを特徴とする請求項２に記載のインターフェース装置。
【請求項４】
前記探索開始位置特定部は、腕の領域の重心位置を算出し、前記手の平の重心位置と算出した腕の領域の重心位置とに基づいて腕が伸びていると推定される第３方向を特定し、特定した前記第３方向に基づいて、前記投影表示を撮像した画像における周縁において腕又は手指が存在する確率が高い位置を特定する、
ことを特徴とする請求項２又は３に記載のインターフェース装置。
【請求項５】
前記第１マスク画像を用いた手指領域の追跡に失敗した際に、前記特定情報記憶部に前記特定情報が格納されていない場合には、前記探索経路制御部は、前記投影表示を撮像した画像における周縁のブロックから前記周縁に沿って探索を開始する探索経路に従って、前記マスクブロックを重畳表示させるブロックの位置を順次指定する、
ことを特徴とする請求項２乃至４のいずれか一に記載のインターフェース装置。
【請求項６】
前記探索開始位置特定部は、所定の条件に従って、前記投影表示を撮像した画像における周縁において腕又は手指が存在する確率が高い位置を特定する際に用いる前記特定情報を限定する、
ことを特徴とする請求項２乃至５のいずれか一に記載のインターフェース装置。
【請求項７】
前記手指判定部により、前記マスクブロックの領域に手指領域が含まれていると判定された場合に、前記探索経路制御部は、手指領域が含まれていると判定された前記マスクブロックの周辺を探索する周辺探索を行わせるために、該マスクブロックの周辺に位置するブロックを優先的に順次指定する、
ことを特徴とする請求項１乃至６のいずれか一に記載のインターフェース装置。
【請求項８】
前記探索経路制御部は、前記周辺探索の際に、手指領域が含まれている可能性が低いブロックを指定対象から除外する、
ことを特徴とする請求項７に記載のインターフェース装置。
【請求項９】
前記投影表示用の表示画像に重畳させる重畳対象画像の透過率を制御する重畳画像制御部を、更に、備える、
ことを特徴とする請求項１乃至８のいずれか一に記載のインターフェース装置。
【請求項１０】
前記探索経路制御部は、前記マスクブロックの移動元のブロックと移動先のブロックとの間の最短距離が予め設定されている閾値を超えないように、前記探索経路上のブロックをスキップして、前記マスクブロックを重畳表示させる前記ブロックの位置を指定する、
ことを特徴とする請求項１乃至９のいずれか一に記載のインターフェース装置。
【請求項１１】
前記探索経路制御部は、前記マスクブロックを重畳表示させるブロックの位置を同時に複数指定する、
ことを特徴とする請求項１乃至１０のいずれか一に記載のインターフェース装置。
【請求項１２】
手指の動きを検出することで操作内容を特定するために、投影表示を順次撮像した画像に基づいて、前記画像に含まれる手指の領域である手指領域を特定し、特定した前記手指領域の少なくとも一部を含む領域をマスクする第１マスク画像を前記投影表示用の表示画像に重畳させて前記画像に含まれる手指領域を追跡するインターフェース装置の手指追跡方法であって、
前記第１マスク画像を用いた手指領域の追跡に失敗した場合に、前記投影表示を撮像した画像を複数のブロックに分割し、所定の探索経路に従って、前記ブロックのサイズのマスク画像であるマスクブロックを重畳表示させるブロックの位置を順次指定し、
前記投影表示用の表示画像の指定した位置に前記マスクブロックを重畳させた第１重畳画像を順次生成し、
前記第１重畳画像の投影表示を撮像した画像の前記マスクブロックの領域を探索して、手指領域が含まれているか否か順次判定し、
手指領域が含まれていると判定した前記マスクブロックから成る第２マスク画像を生成し、
前記投影表示用の表示画像の手指領域が含まれていると判定した領域に対応する位置に前記第２マスク画像を重畳させた第２重畳画像を生成する、
ことを特徴とする手指追跡方法。
【請求項１３】
手指の動きを検出することで操作内容を特定するために、投影表示を順次撮像した画像に基づいて、前記画像に含まれる手指の領域である手指領域を特定し、特定した前記手指領域の少なくとも一部を含む領域をマスクする第１マスク画像を前記投影表示用の表示画像に重畳させて前記画像に含まれる手指領域を追跡するインターフェース装置のコンピュータに、
前記第１マスク画像を用いた手指領域の追跡に失敗した場合に、前記投影表示を撮像した画像を複数のブロックに分割し、所定の探索経路に従って、前記ブロックのサイズのマスク画像であるマスクブロックを重畳表示させるブロックの位置を順次指定し、
前記投影表示用の表示画像の指定した位置に前記マスクブロックを重畳させた第１重畳画像を順次生成し、
前記第１重畳画像の投影表示を撮像した画像の前記マスクブロックの領域を探索して、手指領域が含まれているか否か順次判定し、
手指領域が含まれていると判定した前記マスクブロックから成る第２マスク画像を生成し、
前記投影表示用の表示画像の手指領域が含まれていると判定した領域に対応する位置に前記第２マスク画像を重畳させた第２重畳画像を生成する、
処理を実行させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターフェース装置、手指追跡方法、及び、プログラムに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータやスマートフォンなどの情報端末の使いやすさを向上させるために、人間にとって、より自然でより直感的な動作による操作を可能とするナチュラルユーザインターフェースの研究開発が盛んに行われている。例えば、手のジェスチャー操作による画面操作や音声対話が実用化され、キーボード、マウス、タッチパネルに代わる新しいユーザインターフェースとして活用され始めている。
【０００３】
また、よりリアルなユーザインターフェースを実現する試みとして、実物に触る、動かすなどの動作を用いることも提案されている。例えば、手指やその他の道具を利用して、プロジェクタなどにより投影表示された表示物を直接制御しているように扱うユーザインターフェース技術が実現されている。
【０００４】
手指を利用して、表示物を直接制御しているように扱うユーザインターフェース技術では、撮像素子で撮像した画像から手指の色を検出することで、手指の認識が行われている。しかしながら、撮像素子を利用した手指の認識では、投影表示の表示物の画像が手指に重なると、手指の色が変化していまい、手指の認識が困難になるという問題がある。
【０００５】
この問題の解決方法として、手指近辺の投影表示の輝度を制御する方法が提案されている（例えば、特許文献１と２を参照）。
【０００６】
また、手指近辺の投影表示の輝度を制御するためには、手指がどの辺りに存在するかが認識されている必要がある。手指の追跡に失敗した場合の手指の再認識の方法として、特許文献１には、投影表示全体の輝度を落とす方法が提案されている。また、特許文献２には、初期状態など以前の手指の認識の情報が存在しない場合、あるいは、撮像素子が手指をまだ捕らえていない場合に、手指の進入に備えるために投影表示の周縁部分の輝度を落とす方法が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２５０４８２号公報
【特許文献２】特開２０１２−１６００７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１で提案されている方法では、手指の認識に失敗すると投影表示全体の輝度を落として手指の再認識を行うため、ユーザに違和感を与えることとなる。つまり、投影表示を全体的に暗くすることは、投影表示のダメージとしてユーザに気付かれやすい。
【０００９】
また、特許文献２で提案されている方法では、手指が投影表示内に進入したことが検出される迄、投影表示の周縁部分が常に暗く表示されることとなる。そのため、ユーザに違和感を与えてしまう、または、投影表示の周縁部分の表示はそもそも暗いものだという誤解を与えてしまうこととなる。
【００１０】
一つの側面では、本発明は、手指の追跡に失敗した際に、輝度を落とす投影表示の範囲をより小さくして、手指の再認識を行うことを可能とするインターフェース装置、手指追跡方法、及び、プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１１】
一態様におけるインターフェース装置は、手指の動きを検出することで操作内容を特定するために、投影表示を順次撮像した画像に基づいて、画像に含まれる手指の領域である手指領域を特定し、特定した手指領域の少なくとも一部を含む領域をマスクする第１マスク画像を投影表示用の表示画像に重畳させて画像に含まれる手指領域を追跡するインターフェース装置であって、第１マスク画像を用いた手指領域の追跡に失敗した場合に、投影表示を撮像した画像を複数のブロックに分割し、所定の探索経路に従って、ブロックのサイズのマスク画像であるマスクブロックを重畳表示させるブロックの位置を順次指定する探索経路制御部と、投影表示用の表示画像の指定された位置にマスクブロックを重畳させた第１重畳画像を順次生成する表示画面生成部と、第１重畳画像の投影表示を撮像した画像のマスクブロックの領域を探索して、手指領域が含まれているか否か順次判定する手指判定部と、手指領域が含まれていると判定されたマスクブロックから成る第２マスク画像を生成する第２マスク画像生成部と、を備え、表示画面生成部は、更に、投影表示用の表示画像の手指領域が含まれていると判定された領域に対応する位置に第２マスク画像を重畳させた第２重畳画像を生成する、ことを特徴としている。
【００１２】
一態様における手指追跡方法は、手指の動きを検出することで操作内容を特定するために、投影表示を順次撮像した画像に基づいて、画像に含まれる手指の領域である手指領域を特定し、特定した手指領域の少なくとも一部を含む領域をマスクする第１マスク画像を投影表示用の表示画像に重畳させて画像に含まれる手指領域を追跡するインターフェース装置の手指追跡方法であって、第１マスク画像を用いた手指領域の追跡に失敗した場合に、投影表示を撮像した画像を複数のブロックに分割し、所定の探索経路に従って、ブロックのサイズのマスク画像であるマスクブロックを重畳表示させるブロックの位置を順次指定し、投影表示用の表示画像の指定した位置にマスクブロックを重畳させた第１重畳画像を順次生成し、第１重畳画像の投影表示を撮像した画像のマスクブロックの領域を探索して、手指領域が含まれているか否か順次判定し、手指領域が含まれていると判定したマスクブロックから成る第２マスク画像を生成し、投影表示用の表示画像の手指領域が含まれていると判定した領域に対応する位置に第２マスク画像を重畳させた第２重畳画像を生成する、ことを特徴としている。
【００１３】
一態様におけるプログラムは、手指の動きを検出することで操作内容を特定するために、投影表示を順次撮像した画像に基づいて、画像に含まれる手指の領域である手指領域を特定し、特定した手指領域の少なくとも一部を含む領域をマスクする第１マスク画像を投影表示用の表示画像に重畳させて画像に含まれる手指領域を追跡するインターフェース装置のコンピュータに、第１マスク画像を用いた手指領域の追跡に失敗した場合に、投影表示を撮像した画像を複数のブロックに分割し、所定の探索経路に従って、ブロックのサイズのマスク画像であるマスクブロックを重畳表示させるブロックの位置を順次指定し、投影表示用の表示画像の指定した位置にマスクブロックを重畳させた第１重畳画像を順次生成し、第１重畳画像の投影表示を撮像した画像のマスクブロックの領域を探索して、手指領域が含まれているか否か順次判定し、手指領域が含まれていると判定したマスクブロックから成る第２マスク画像を生成し、投影表示用の表示画像の手指領域が含まれていると判定した領域に対応する位置に第２マスク画像を重畳させた第２重畳画像を生成する、処理を実行させることを特徴としている。
【発明の効果】
【００１４】
一つの側面では、手指の追跡に失敗した際に、輝度を落とす投影表示の範囲をより小さくして、手指の再認識を行うことが可能となる。これにより、ユーザに与える投影表示に対する違和感を緩和することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】実施形態におけるインターフェースシステムの構成例を示す図である。
【図２】実施形態における情報処理装置の構成例を示す機能ブロック図である。
【図３】ＡとＢは、いずれも、実施形態における探索開始位置と探索方向の特定方法を説明するための図である。
【図４】ＡとＢは、いずれも、実施形態における第１手指追跡に失敗した場合の手指領域の特定方法を説明するための図である。
【図５】ＡとＢは、いずれも、実施形態における初期状態時などの手指領域の特定方法を説明するための図である。
【図６】実施形態における周辺探索の基本的な方法について説明するための図である。
【図７】実施形態における周辺探索の方法を説明するための具体例を示した図である。
【図８】Ａは、実施形態における第２マスク画像の例を示す図であり、Ｂは、実施形態における第１マスク画像の例を示す図である。
【図９】実施形態における手指追跡処理のフローを説明するためのフローチャートの例である。
【図１０】実施形態における第２手指追跡処理のフローを説明するためのフローチャートの例の一部である。
【図１１】実施形態における第２手指追跡処理のフローを説明するためのフローチャートの例の他の一部である。
【図１２】実施形態における探索開始位置特定処理のフローを説明するためのフローチャートの例である。
【図１３】実施形態における周辺探索処理のフローを説明するためのフローチャートの例である。
【図１４】ＡとＢは、いずれも、変形例４における探索開始位置の特定方法の例を説明するための図である。
【図１５】変形例５における腕領域の推定方法の例を説明するための図である。
【図１６】実施形態及び変形例におけるインターフェースシステムのハードウェア構成の例を示す図である。
【発明を実施するための形態】
【００１６】
以下に本発明の実施の形態について図面を参照しながら詳細に説明する。
図１は、本実施形態におけるインターフェースシステム１００の構成例を示す図である。本実施形態におけるインターフェースシステム１００は、図１に示すように、作業台４上に画像を投影表示するプロジェクタ２と、投影表示を撮像する左右のカメラ３Ｌ，３Ｒと、プロジェクタ２とカメラ３Ｌ，３Ｒが接続されている情報処理装置１と、を含んでいる。カメラ３Ｌ，３Ｒは、ほぼ同じ場所をステレオで撮像することで、手指の３次元位置情報を得るための画像を撮像する。なお、手指の３次元位置情報が必要ない場合には、カメラは１つでもよい。
【００１７】
図２は、本実施形態におけるインターフェースシステム１００に含まれる情報処理装置１の構成例を示す機能ブロック図である。本実施形態における情報処理装置１は、カメラ３Ｌ，３Ｒにより撮像された画像に基づいて、投影表示に対する手指の位置やタッチなどの操作を検出するインターフェース装置である。本実施形態における情報処理装置１は、図２に示すように、入力部１０と、記憶部２０と、出力部３０と、制御部４０と、を備えている。
【００１８】
入力部１０は、例えば、カメラインターフェース、あるいは、通信モジュールなどを備えており、接続されている撮像装置（本実施形態においては、カメラ３Ｌ，３Ｒ）から投影表示を撮像した画像を順次受け付ける。そして、入力部１０は、受け付けた画像を、制御部４０に出力する。この際、入力部１０は、受け付けた画像をフレームメモリ（不図示）に一時的に格納し、制御部４０が処理のタイミングに合わせて画像をフレームメモリから順次取得するようにしてもよい。
【００１９】
記憶部２０は、例えば、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ（ＨＤＤ）などを備えている。記憶部２０は、制御部４０が備える、例えば、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）のワークエリア、情報処理装置１全体を制御するための動作プログラムなどの各種プログラムを格納するプログラムエリア、各種データを格納するデータエリアとして機能する。
【００２０】
また、記憶部２０は、図２に示すように、特定情報記憶部２１、探索結果記憶部２２として機能する。
【００２１】
特定情報記憶部２１は、手指特定部４１（詳しくは後述）により特定された手指の形状（例えば、手指の形状を特定可能とする複数の点の座標情報）や位置（指先の位置Ｆｉと手の平の重心位置Ｈｉ）を示す特定情報を記憶する。
【００２２】
探索結果記憶部２２は、手指判定部４９（詳しくは後述）によりマスクブロックの領域に手指領域が含まれると判定された場合に、マスクブロックが位置するブロックの位置情報を記憶する。ブロックの位置情報は、例えば、ブロックの左上端の座標情報など、ブロックの位置を特定可能な位置情報であればよい。
【００２３】
出力部３０は、例えば、機器インターフェース、あるいは、通信モジュールなどを備えており、表示画面生成部４４（詳しくは後述）により生成された画像を、接続されている表示装置（本実施形態においてはプロジェクタ２）に出力する。
【００２４】
制御部４０は、例えば、ＣＰＵなどを備えており、記憶部２０のプログラムエリアに格納されている動作プログラムを実行して、図２に示すように、手指特定部４１と、操作部位特定部４２と、処理部４３と、表示画面生成部４４と、第１マスク画像生成部４５と、重畳画像制御部４６と、探索開始位置特定部４７と、探索経路制御部４８と、手指判定部４９と、第２マスク画像生成部４Ａとしての機能を実現する。また、制御部４０は、動作プログラムを実行して、情報処理装置１全体を制御する制御処理や詳しくは後述の手指追跡処理などの処理を実行する。
【００２５】
手指特定部４１は、入力部１０に画像が入力されると、入力された画像に基づいて、手指の形状や位置（指先の位置Ｆｉと手の平の重心位置Ｈｉ）を特定する。そして、特定できた場合には、手指特定部４１は、特定した手指の形状や位置（指先の位置Ｆｉと手の平の重心位置Ｈｉ）を示す特定情報を特定情報記憶部２１に格納する。また、手指特定部４１は、指先の位置Ｆｉの情報を操作部位特定部４２に出力すると共に、手指の形状の情報を第１マスク画像生成部４５に出力する。
【００２６】
より具体的には、手指特定部４１は、例えば、入力された画像における肌色の領域を特定し、手の形状を抽出する。そして、手指特定部４１は、抽出した手の形状に基づいて、指先の位置Ｆｉと手の平の重心位置（以下、単に、手の重心位置という）Ｈｉとをそれぞれ算出する。この際、抽出された手の形状に複数の指先が含まれている場合には、手指特定部４１は、各指先の位置Ｆｉを算出する。
【００２７】
操作部位特定部４２は、入力された指先の位置Ｆｉが複数かそれとも一つかを判定し、一つのみの場合に、指先の位置Ｆｉを処理部４３に出力する。
【００２８】
処理部４３は、例えば、表示用のアイコンを管理しており、入力された指先の位置Ｆｉがアイコンの位置と重なった場合に、重なったアイコンに対応する処理を実行する。また、処理部４３は、表示画面生成部４４を制御して、アイコンの表示状態を変化させた画像を出力させる。
【００２９】
表示画面生成部４４は、プロジェクタ２に投影表示させる画像を生成し出力する。例えば、表示画面生成部４４は、重畳画像制御部４６の制御の下で、マスクブロックを表示中の画像に重畳させた重畳画像を生成する。また、例えば、表示画面生成部４４は、重畳画像制御部４６の制御の下で、第１マスク画像生成部４５（あるいは、第２マスク画像生成部４Ａ）により生成されたマスク画像を表示中の画像に重畳させた重畳画像を生成する。
【００３０】
第１マスク画像生成部４５は、入力された手指の形状の情報に基づいて、手指の形状の内側が黒塗りされた第１マスク画像Ｍ１を生成する。つまり、第１マスク画像生成部４５は、手指の形状のマスク画像を生成する。そして、第１マスク画像生成部４５は、生成した第１マスク画像Ｍ１を、位置情報と共に重畳画像制御部４６に出力する。
【００３１】
重畳画像制御部４６は、表示画面生成部４４に重畳させる重畳対象画像（例えば、マスクブロックやマスク画像）のサイズと位置の調整を行い、表示画面生成部４４を制御して、調整後のサイズの重畳対象画像を調整後の位置に重畳した重畳画像を生成させる。この際、重畳画像制御部４６は、投影表示中の表示物の画像領域（例えば、アイコン領域）に重畳対象画像が重ならない場合には、重畳対象画像を表示させないようにしてもよい。なぜなら、手指判定が困難となるのは、表示物の画像が手指に投影されている場合であるからである。
【００３２】
より具体的には、重畳画像制御部４６は、カメラ３Ｒ，３Ｌの解像度とプロジェクタ２の解像度とそれらの設置位置関係に基づいて、重畳対象画像のサイズを調整する。また、重畳画像制御部４６は、カメラの座標系をプロジェクタの座標系に変換することで、重畳対象画像を重畳表示する位置を調整する。そして、重畳画像制御部４６は、表示画面生成部４４を制御して、調整後のサイズの重畳対象画像を調整後の位置に重畳した重畳画像を生成させる。
【００３３】
探索開始位置特定部４７は、特定情報記憶部２１に記憶されている特定情報が示す指先の位置Ｆｉと手の重心位置Ｈｉとに基づいて、第１探索経路における手指領域の探索を開始する位置（以下、探索開始位置という）ＳＰと探索方向とを特定する。第１探索経路の探索開始位置ＳＰは、以下に説明するように、画像（投影表示を撮像した画像）の周縁において腕が存在する確率が高い位置を示すものである。また、探索方向は、腕を含む手指が存在している可能性が高い方向を示すものである。
【００３４】
第１探索経路の探索開始位置ＳＰと探索方向の特定は、例えば、手指の速い動作などにより、手指特定部４１による手指の追跡に失敗した場合、つまり、前回のフレーム（画像）においては手指の特定ができていたが、今回のフレーム（画像）では手指の特定ができなかった場合に行われる。なお、以下において、手指特定部４１による手指の追跡を第１手指追跡と称することとする。
【００３５】
ここで、図３を参照して、本実施形態における第１探索経路の探索開始位置ＳＰと探索方向の特定方法について詳細に説明する。図３Ａと図３Ｂは、いずれも、本実施形態における第１探索経路の探索開始位置ＳＰと探索方向の特定方法を説明するための図である。
【００３６】
まず、探索開始位置特定部４７は、図３Ａに示すように、特定情報ごとに指先の位置Ｆｉと手の重心位置Ｈｉとを結ぶ直線ＦＨｉを生成する。つまり、探索開始位置特定部４７は、直線ＦＨｉを生成することで、腕が伸びている方向を推定する。指先の位置Ｆｉと手の重心位置Ｈｉの座標を、それぞれ、（Ｆｘｉ，Ｆｙｉ）、（Ｈｘｉ，Ｈｙｉ）とすると、直線ＦＨｉは、以下の式１で表すことができる。
【００３７】
【数１】
2016071824.tif 000003
【００３８】
そして、探索開始位置特定部４７は、生成した直線ＦＨｉと画像（投影表示を撮像した画像）の周縁との交点ＩＰｉをそれぞれ算出する。この際、探索開始位置特定部４７は、指先の位置Ｆｉから手の重心位置Ｈｉの方向へ直線を伸ばした際の交点ＩＰｉのみを算出する。つまり、探索開始位置特定部４７は、腕と画像の周縁との交点ＩＰｉを算出する。例えば、指先の位置Ｆｉから手の重心位置Ｈｉの方向へ直線を伸ばした際に直線ＦＨｉが画像の周縁の右辺と交差する場合には、画像の周縁の右辺をｘ＝Ｘｓ１とすると、交点ＩＰｉの座標（ＩＰｘｉ，ＩＰｙｉ）は以下の式２で表すことができる。
【００３９】
【数２】
2016071824.tif 000004
【００４０】
また、例えば、指先の位置Ｆｉから手の重心位置Ｈｉの方向へ直線を伸ばした際に直線ＦＨｉが画像の周縁の下辺と交差する場合には、画像の周縁の下辺をｙ＝Ｙｓ２とすると、交点ＩＰｉの座標（ＩＰｘｉ，ＩＰｙｉ）は以下の式３で表すことができる。
【００４１】
【数３】
2016071824.tif 000005
【００４２】
そして、探索開始位置特定部４７は、例えば、算出した交点ＩＰｉの画像周縁における平均位置ａＩＰを算出する。交点ＩＰｉの画像周縁における平均位置ａＩＰは、画像周縁を直線状に変換した場合の交点ＩＰｉの平均位置である。
【００４３】
例えば、図３Ｂに例示するように、交点ＩＰｉが右辺（ｘ＝Ｘｓ１）と下辺（ｙ＝Ｙｓ２）のみに存在する場合には、探索開始位置特定部４７は、図３Ｂの下段に示すように、下辺と一直線状になるように右辺を９０度回転して、この直線上での交点ＩＰｉの平均位置を算出する。
【００４４】
つまり、下辺と一直線状になるように右辺を９０度回転し、右辺上の交点ＩＰｉをｙ＝Ｙｓ２上に点に変換した後の右辺上の交点ＩＰｉの座標（ｔＩＰｘｉ，ｔＩＰｙｉ）は、以下の式４で表すことができる。すなわち、右辺上の交点ＩＰｉと下辺との間の距離と右辺上の交点ＩＰｉのｘ座標の値Ｘｓ１との和が、変換後の座標（ｔＩＰｘｉ，ｔＩＰｙｉ）のｘ座標の値となる。
【００４５】
【数４】
2016071824.tif 000006
【００４６】
そして、探索開始位置特定部４７は、交点ＩＰｉの画像周縁における平均位置ａＩＰを、画像周縁上の位置に変換することで、第１探索経路の探索開始位置ＳＰを特定する。
【００４７】
例えば、交点ＩＰｉが右辺（ｘ＝Ｘｓ１）と下辺（ｙ＝Ｙｓ２）のみに存在する場合であって、交点ＩＰｉの画像周縁における平均位置ａＩＰの座標（ａＩＰｘ，ａＩＰｙ）のｘ座標の値ａＩＰｘがＸｓ１より大きい場合には、第１探索経路の探索開始位置ＳＰの座標（ＳＰｘ，ＳＰｙ）は、以下の式５で表すことができる。
【００４８】
【数５】
2016071824.tif 000007
【００４９】
また、例えば、交点ＩＰｉが右辺（ｘ＝Ｘｓ１）と下辺（ｙ＝Ｙｓ２）のみに存在する場合であって、交点ＩＰｉの画像周縁における平均位置ａＩＰの座標（ａＩＰｘ，ａＩＰｙ）のｘ座標の値ａＩＰｘがＸｓ１以下の場合には、第１探索経路の探索開始位置ＳＰの座標（ＳＰｘ，ＳＰｙ）は、以下の式６で表すことができる。
【００５０】
【数６】
2016071824.tif 000008
【００５１】
また、探索開始位置特定部４７は、以下の式７に従って、手の重心位置Ｈｉの平均位置ａＨの座標（ａＨｘ，ａＨｙ）を算出し、探索開始位置ＳＰから手の重心位置Ｈｉの平均位置ａＨへの方向を、第１探索経路の探索方向として特定する。なお、式７中の“Ｎ”は特定情報記憶部２１に記憶されている特定情報の数である。
【００５２】
【数７】
2016071824.tif 000009
【００５３】
つまり、指先の位置Ｆｉの移動範囲と比較すると、交点ＩＰｉの移動範囲は小さいことから、交点ＩＰｉの平均位置ａＩＰに基づいて、探索開始位置ＳＰを決定している。こうすることで、手指の探索を効率的に行うことが可能となる。
【００５４】
なお、特定情報が示す指先の位置Ｆｉが複数ある場合には、探索開始位置特定部４７は、複数の指先の位置Ｆｉの平均位置と手の重心位置Ｈｉとを結ぶ直線を直線ＦＨｉとして生成してもよいし、任意に選択した一つの指先の位置Ｆｉと手の重心位置Ｈｉとを結ぶ直線を直線ＦＨｉとして生成してもよい。
【００５５】
図２に戻り、探索経路制御部４８は、第１手指追跡に失敗した場合、あるいは、初期状態の場合の様にこれから手指領域の探索を行う場合に、例えば、入力部１０に入力された画像（投影表示を撮像した画像）をＭ×Ｎのブロックに分割し、それぞれの場合に応じた探索経路を選択する。そして、探索経路制御部４８は、選択した探索経路に従って、マスクブロック（ブロックサイズのマスク）を重畳表示させるブロックの位置を指定（制御）する。そして、探索経路制御部４８は、選択した探索経路に従って移動させたマスクブロックの領域に手指領域が含まれている場合には、詳しくは後述の周辺探索を行わせるためのマスクブロックの位置の制御を行う。マスクブロックの位置を示す位置情報（例えば、マスクブロックが位置するブロックの左上端の座標情報）は、位置が指定されるたびに、重畳画像制御部４６と手指判定部４９に出力される。
【００５６】
より具体的には、探索経路制御部４８は、直前の画像において手指特定部４１による手指の特定ができなかった場合に、特定情報記憶部２１に特定情報が格納されているか否かを判定する。そして、特定情報が格納されている場合、つまり、第１手指追跡に失敗した場合には、探索経路制御部４８は、第１探索経路を選択して、選択した第１探索経路に従って、マスクブロックを重畳表示させるブロックの位置を指定（制御）する。
【００５７】
ここで、図４Ａを参照して、第１探索経路について説明する。図４Ａは、本実施形態における第１手指追跡に失敗した場合の手指領域の特定方法を説明するための図であり、第１探索経路について説明するための図である。第１探索経路は、図４Ａに示すように、探索開始位置特定部４７により特定された探索開始位置ＳＰと探索方向（探索開始位置ＳＰから手の重心位置Ｈｉの平均位置ａＨへの方向）とに基づいて定められている。第１探索経路は、探索開始位置ＳＰから探索方向に向かって探索し、画像の周縁部に到達したら、探索開始位置ＳＰを中心として所定の角度θだけ探索方向を外側に回転させた方向を探索方向とし、再び探索開始位置ＳＰからその探索方向に沿って探索することを、手指領域の探索に成功するまで繰り返す経路である。
【００５８】
このように、第１手指追跡に失敗した場合には、探索経路制御部４８は、交点ＩＰｉの平均位置ａＩＰに基づいて特定された探索開始位置ＳＰを基点として重畳表示させるマスクブロックの位置を順次ずらす制御を行う。これにより、手指判定部４９は、効率的に手指領域の探索を行うことが可能となる。
【００５９】
そして、図４Ｂに示すように、第１探索経路に従って移動されたマスクブロックの領域に手指領域が含まれている場合には、探索経路制御部４８は、詳しくは後述する周辺探索を行わせるためのマスクブロックの位置の制御を行う。ここで、図４Ｂは、本実施形態における第１手指追跡に失敗した場合の手指領域の特定方法を説明するための図である。
【００６０】
一方、特定情報記憶部２１に特定情報が格納されていない場合、つまり、初期状態の場合の様にこれから手指領域の探索を行う場合には、探索経路制御部４８は、第２探索経路を選択して、選択した第２探索経路に従って、マスクブロックを重畳表示させるブロックの位置を指定（制御）する。
【００６１】
ここで、図５Ａを参照して、第２探索経路について説明する。図５Ａは、本実施形態における初期状態時などの手指領域の特定方法を説明するための図であり、第２探索経路について説明するための図である。第２探索経路は、例えば、図５Ａに示すように、画像の右上端を探索開始位置ＳＰとし、手指領域の探索に成功するまで、時計回りの渦巻き状に探索する経路である。
【００６２】
画像の周縁部から探索を開始するのは、手指が投影表示上に存在する場合には、必ず周縁部に手指又は腕が存在するからであり、こうすることで、手指領域の探索を効率的に行うことが可能となる。また、画像の右上端を探索開始位置ＳＰとするのは、右利きのユーザが左利きのユーザより多いと考えられるからである。もちろん、初期状態の場合の様にこれから手指領域の探索を行う場合における探索開始位置ＳＰを、ユーザが指定できるようにしてもよい。また、ユーザが利き腕を登録することで指定してもよい。
【００６３】
そして、図５Ｂに示すように、第２探索経路に従って移動されたマスクブロックの領域に手指領域が含まれている場合には、探索経路制御部４８は、詳しくは後述の周辺探索を行わせるためのマスクブロックの位置の制御を行う。ここで、図５Ｂは、本実施形態における初期状態時などの手指領域の特定方法を説明するための図である。
【００６４】
次に、図６を参照して、探索経路制御部４８による、周辺探索の際のマスクブロックの位置の制御について説明する。図６は、本実施形態における周辺探索の基本的な方法について説明するための図である。周辺探索は、第１探索経路又は第２探索経路に従ってマスクブロックを移動し、マスクブロックの領域に手指領域が含まれている場合に、手指領域を含むマスクブロックの周辺を集中的に探索するものである。
【００６５】
周辺探索の際には、探索経路制御部４８は、図６に示すように、第１探索経路又は第２探索経路に従って探索された手指領域を含むマスクブロック（図６中では、黒塗りのブロック）を中心に、例えば左側に隣接するブロックから時計周りの渦巻き状にマスクブロックを順次移動させる。この際、探索経路制御部４８は、手指領域が存在しないと考えられるブロック（手指領域が存在する可能性が低いブロック）の領域の探索をスキップさせる。つまり、探索経路制御部４８は、手指領域が存在しないと考えられるブロック（手指領域が存在する可能性が低いブロック）の領域をスキップしてマスクブロックを移動させる。
【００６６】
そして、探索経路制御部４８は、手指領域が含まれると判定された最後のブロックからマスクブロックの移動が一周する間に手指領域が新たに見つからなかった場合には、周辺探索を終了させ、第２マスク画像生成部４Ａに対して、第２マスク画像Ｍ２の生成を指示する。探索経路制御部４８は、例えば、探索結果記憶部２２に記憶されている手指領域を含むブロックの位置情報に基づいて、マスクブロックの移動が一周する間に手指領域が新たに見つからなかったか否かを判定することができる。
【００６７】
図２に戻り、手指判定部４９は、次の画像が入力されると、探索経路制御部４８から入力されたマスクブロックの位置情報が示す、入力された次の画像におけるブロックの領域を探索して、手指領域が含まれているか否かを判定する。そして、手指領域が含まれていると判定した場合には、手指判定部４９は、手指領域が含まれるブロックの位置（例えば、ブロックの左上端の座標情報）を探索結果記憶部２２に記憶させる。
【００６８】
ここで、図７を参照して、周辺探索の際における探索経路制御部４８と手指判定部４９の処理について、具体例を従って、説明する。図７は、本実施形態における周辺探索の方法を説明するための具体例を示した図である。
【００６９】
第１探索経路又は第２探索経路に従って移動されたマスクブロックの領域に手指領域が含まれている場合に、探索経路制御部４８は、周辺探索を開始させる。なお、ここでは、第１探索経路又は第２探索経路に従って移動された、手指領域を含むマスクブロックの位置のブロックを中心ブロックと称することとする。
【００７０】
探索経路制御部４８が、中心ブロックの周りにマスクブロックを第１周させた時点では、図７に示すように、手指判定部４９は、中心ブロックに隣接する８個全てのブロックにおいて、マスクブロックがその位置に移動された時点でその領域を順次探索する。そして、本例においては、手指判定部４９は、中心ブロックの左上側と左側と左下側に隣接する３つのブロックで、手指領域が含まれていないと判定する。
【００７１】
中心ブロックの周りにマスクブロックを第２周させた時点では、図７に示すように、探索経路制御部４８は、第２周目の左側探索経路上のブロックにおける探索をスキップさせる。つまり、既に探索済の隣接する全てのブロックの領域に手指領域が含まれていないことから、第２周目の左側探索経路上のブロックの領域に手指領域が含まれている可能性は低いと考えられる。したがって、探索経路制御部４８は、第２周目の左側探索経路上のブロックをスキップして、マスクブロックを移動させる。
【００７２】
中心ブロックの周りにマスクブロックを第３周させた時点では、図７に示すように、探索経路制御部４８は、更に、第３周目の上側探索経路の一部と左側探索経路の全てと下側探索経路の一部のブロックにおける探索をスキップさせる。
【００７３】
そして、中心ブロックの周りにマスクブロックを第４周させている途中で、図７に示すように、手指領域を含む最後のブロックからマスクブロックの移動が一周する間に、手指領域を含むブロックが新たに見つからなかったので、探索経路制御部４８は、周辺探索を終了させる。
【００７４】
図２に戻り、第２マスク画像生成部４Ａは、第２マスク画像Ｍ２の生成指示に応答して、探索結果記憶部２２に記憶されているブロックの位置情報が示す位置にそれぞれ配置したマスクブロックから成る第２マスク画像Ｍ２を生成する。そして、第２マスク画像生成部４Ａは、生成した第２マスク画像Ｍ２を、位置情報と共に重畳画像制御部４６に出力すると共に、探索結果記憶部２２を初期化する。
【００７５】
ここで、図８Ａは、本実施形態における第２マスク画像Ｍ２の例を示す図であり、図８Ｂは、本実施形態における第１マスク画像Ｍ１の例を示す図である。
【００７６】
次に、図９を参照して、本実施形態における手指追跡処理の流れについて説明する。図９は、本実施形態における手指追跡処理のフローを説明するためのフローチャートの例である。本手指追跡処理は、入力部１０に撮像された画像が入力されたことをトリガとして開始される。
【００７７】
探索経路制御部４８は、直前の画像において手指特定部４１により手指が特定されたか否かを判定する（ステップＳ００１）。手指が特定されなかったと判定した場合には（ステップＳ００１；ＮＯ）、探索経路制御部４８は、手指判定部４９などと連係して、第２手指追跡処理を実行する（ステップＳ００２）。そして、処理は後述するステップＳ００６の処理へと進む。なお、探索経路制御部４８は、直前の画像が存在しない場合についても、手指が特定されなかったと判定する。
【００７８】
一方、探索経路制御部４８により、手指が特定されたと判定された場合には（ステップＳ００１；ＹＥＳ）、第１マスク画面生成部４５は、直前の特定情報が示す手指の形状に基づいて、第１マスク画像Ｍ１を生成し、生成した第１マスク画像Ｍ１を、位置情報と共に重畳画像制御部４６に出力する（ステップＳ００３）。
【００７９】
そして、重畳画像制御部４６は、第１マスク画像Ｍ１のサイズと位置を調整する（ステップＳ００４）。そして、表示画面生成部４４は、重畳画像制御部４６の制御の下、調整後のサイズの第１マスク画像Ｍ１を調整後の位置に重畳表示させた画像を生成し、出力部３０を介して、プロジェクタ２に出力する（ステップＳ００５）。プロジェクタ２は、第１マスク画像Ｍ１を重畳表示した画像を投影表示する。
【００８０】
そして、手指特定部４１は、次の画像が入力部１０に入力されたか否かを判定する（ステップＳ００６）。この次の画像は、第１マスク画像Ｍ１が重畳表示されている画像の投影表示が撮像された画像である。
【００８１】
手指特定部４１により、次の画像は入力されていないと判定された場合には（ステップＳ００６；ＮＯ）、処理はステップＳ００６の処理を繰り返し、次の画像が入力されるのを待つ。一方、次の画像が入力されたと判定した場合には（ステップＳ００６；ＹＥＳ）、手指特定部４１は、入力された画像に基づいて、手指の形状や位置を特定する（ステップＳ００７）。
【００８２】
そして、手指特定部４１は、手指を特定できたか否かを判定する（ステップＳ００８）。手指特定部４１により、手指を特定できなかったと判定された場合には（ステップＳ００８；ＮＯ）、処理はステップＳ００１の処理へと戻り、前述の処理を繰り返す。
【００８３】
一方、手指を特定できたと判定した場合には（ステップＳ００８；ＹＥＳ）、手指特定部４１は、特定した手指の形状や位置（指先の位置Ｆｉと手の平の重心位置Ｈｉ）を示す特定情報を特定情報記憶部２１に格納する（ステップＳ００９）。そして、処理はステップＳ００１の処理へと戻り、前述の処理を繰り返す。
【００８４】
次に、図１０と図１１を参照して、本実施形態における第２手指追跡処理の流れについて説明する。図１０と図１１は、それぞれ、本実施形態における第２手指追跡処理のフローを説明するためのフローチャートの例の一部と、他の一部である。本第２手指追跡処理は、上述した手指追跡処理のステップＳ００２の処理に対応する処理である。
【００８５】
探索経路制御部４８は、特定情報記憶部２１に特定情報が格納されているか否かを判定する（ステップＳ１０１）。特定情報が格納されていないと判定した場合には（ステップＳ１０１；ＮＯ）、探索経路制御部４８は、第２探索経路を選択する（ステップＳ１０２）。そして、処理は後述のステップＳ１０５の処理へと進む。
【００８６】
一方、特定情報が格納されていると判定した場合には（ステップＳ１０１；ＹＥＳ）、探索経路制御部４８は、第１探索経路を選択する（ステップＳ１０３）。そして、探索開始位置特定部４７は、探索開始位置特定処理を実行して、第１探索経路の探索開始位置ＳＰと探索方向を特定する（ステップＳ１０４）。
【００８７】
そして、探索経路制御部４８は、探索開始時のマスクブロックの位置を指定する（ステップＳ１０５）。そして、重畳画像制御部４６は、マスクブロックのサイズと位置を調整する（ステップＳ１０６）。そして、表示画面生成部４４は、重畳画像制御部４６の制御の下、調整後のサイズのマスクブロックを調整後の位置に重畳表示させた画像を生成し、出力部３０を介して、プロジェクタ２に出力する（ステップＳ１０７）。プロジェクタ２は、マスクブロックを重畳表示した画像を投影表示する。
【００８８】
そして、手指判定部４９は、次の画像が入力部１０に入力されたか否かを判定する（ステップＳ１０８）。この次の画像は、マスクブロックが重畳表示されている画像の投影表示が撮像された画像である。
【００８９】
手指判定部４９により、次の画像は入力されていないと判定された場合には（ステップＳ１０８；ＮＯ）、処理はステップＳ１０８の処理を繰り返し、次の画像が入力されるのを待つ。一方、次の画像が入力されたと判定した場合には（ステップＳ１０８；ＹＥＳ）、手指判定部４９は、入力された画像におけるマスクブロックの領域を探索する（ステップＳ１０９）。
【００９０】
そして、手指判定部４９は、マスクブロックの領域に手指領域が含まれているか否かを判定する（ステップＳ１１０）。手指判定部４９により、手指領域が含まれていないと判定された場合には（ステップＳ１１０；ＮＯ）、探索経路制御部４８は、選択した探索経路に従って、次のマスクブロックを重畳表示させるブロックの位置を指定する（ステップＳ１１１）。そして、処理はステップＳ１０６の処理へと戻り、前述の処理を繰り返す。
【００９１】
一方、手指領域が含まれていると判定した場合には（ステップＳ１１０；ＹＥＳ）、手指判定部４９は、マスクブロックが位置するブロックの位置情報を探索結果として探索結果記憶部２２に格納する（ステップＳ１１２）。そして、探索経路制御部４８は、手指判定部４９などと連係して周辺探索処理を実行し、全ての手指領域を特定する（ステップＳ１１３）。
【００９２】
そして、第２マスク画像生成部４Ａは、探索結果記憶部２２に格納されている探索結果（ブロックの位置情報）に基づいて、第２マスク画像Ｍ２を生成し、生成した第２マスク画像Ｍ２を重畳画像制御部４６に出力する（ステップＳ１１４）。そして、第２マスク画像生成部４Ａは、探索結果記憶部２２を初期化する（ステップＳ１１５）。
【００９３】
そして、重畳画像制御部４６は、第２マスク画像Ｍ２のサイズと位置を調整する（ステップＳ１１６）。そして、表示画面生成部４４は、重畳画像制御部４６の制御の下、調整後のサイズの第２マスク画像Ｍ２を調整後の位置に重畳表示させた画像を生成し、出力部３０を介して、プロジェクタ２に出力する（ステップＳ１１７）。プロジェクタ２は、第２マスク画像Ｍ２を重畳表示した画像を投影表示する。そして、本処理は終了し、手指追跡処理のステップＳ００６の処理へと移行する。
【００９４】
次に、図１２を参照して、本実施形態における探索開始位置特定処理の流れについて説明する。図１２は、本実施形態における探索開始位置特定処理のフローを説明するためのフローチャートの例である。本探索開始位置特定処理は、第２手指追跡処理のステップ１０４の処理に対応する処理である。
【００９５】
探索開始位置特定部４７は、特定情報記憶部２１に格納されている特定情報ごとに、指先から腕にかけて近似する直線ＦＨｉをそれぞれ生成する（ステップ２０１）。そして、探索開始位置特定部４７は、生成した直線ＦＨｉと画像の周縁との交点ＩＰｉを算出する（ステップＳ２０２）。この際、探索開始位置特定部４７は、指先の位置Ｆｉから手の重心位置Ｈｉの方向へ直線を伸ばした際の交点ＩＰｉのみを算出する。
【００９６】
そして、探索開始位置特定部４７は、交点ＩＰｉの平均位置ａＩＰを算出し（ステップＳ２０３）、算出した平均位置ａＩＰに基づいて、第１探索経路の探索開始位置ＳＰを特定する（ステップＳ２０４）。
【００９７】
そして、探索開始位置特定部４７は、手の重心位置Ｈｉの平均位置ａＨを算出し（ステップＳ２０５）、探索開始位置ＳＰから手の重心位置Ｈｉの平均位置ａＨへの方向を、第１探索経路の探索方向として特定する（ステップＳ２０６）。そして、本処理は終了して、第２手指追跡処理のステップＳ１０５の処理へと移行する。
【００９８】
次に、図１３を参照して、本実施形態における周辺探索処理の流れについて説明する。図１３は、本実施形態における周辺探索処理のフローを説明するためのフローチャートの例である。本周辺探索処理は、第２手指追跡処理のステップＳ１１３の処理に対応する処理である。
【００９９】
探索経路制御部４８は、探索結果記憶部２２に格納されている探索結果に基づいて、マスクブロックを移動できるか否かを判定する（ステップＳ３０１）。つまり、探索経路制御部４８は、手指領域が含まれていると判定された最後のブロックからマスクブロックが一周する間に、新たに手領域が含まれているブロックが見つかったか否かを判定する。
【０１００】
探索経路制御部４８により、マスクブロックを移動できないと判定された場合には（ステップＳ３０１；ＮＯ）、本処理は終了して、第２手指追跡処理のステップＳ１１４の処理へと移行する。探索経路制御部４８は、手指領域が含まれていると判定された最後のブロックからマスクブロックが一周する間に、新たに手指領域が含まれているブロックが見つからなかった場合に、マスクブロックを移動できないと判定する。
【０１０１】
一方、マスクブロックを移動できると判定した場合には（ステップＳ３０１；ＹＥＳ）、探索経路制御部４８は、周辺探索の際の所定のルール（アルゴリズム）に従って、マスクブロックの次の位置を指定する（ステップＳ３０２）。探索経路制御部４８は、手指領域が含まれていると判定された最後のブロックからマスクブロックがまだ一周していない場合、あるいは、一周する間に新たに手指領域が含まれているブロックが見つかった場合に、マスクブロックを移動できると判定する。
【０１０２】
そして、重畳画像制御部４６は、マスクブロックのサイズと位置を調整する（ステップＳ３０３）。そして、表示画面生成部４４は、重畳画像制御部４６の制御の下、調整後のサイズのマスクブロックを調整後の位置に重畳表示させた画像を生成し、出力部３０を介して、プロジェクタ２に出力する（ステップＳ３０４）。プロジェクタ２は、次の位置に移動させたマスクブロックを重畳表示した画像を投影表示する。
【０１０３】
そして、手指判定部４９は、次の画像が入力部１０に入力されたか否かを判定する（ステップＳ３０５）。この次の画像は、次の位置に移動させたマスクブロックが重畳表示されている画像の投影表示が撮像された画像である。
【０１０４】
手指判定部４９により、次の画像は入力されていないと判定された場合には（ステップＳ３０５；ＮＯ）、処理はステップＳ３０５の処理を繰り返し、次の画像が入力されるのを待つ。一方、次の画像が入力されたと判定した場合には（ステップＳ３０５；ＹＥＳ）、手指判定部４９は、入力された画像におけるマスクブロックの領域を探索する（ステップＳ３０６）。
【０１０５】
そして、手指判定部４９は、マスクブロックの領域に手指領域が含まれているか否かを判定する（ステップＳ３０７）。手指判定部４９により、手指領域が含まれていないと判定された場合には（ステップＳ３０７；ＮＯ）、処理はステップＳ３０１の処理へと戻り、前述の処理を繰り返す。
【０１０６】
一方、手指領域が含まれていると判定した場合には（ステップＳ３０７；ＹＥＳ）、手指判定部４９は、マスクブロックが位置するブロックの位置情報を探索結果として探索結果記憶部２２に格納する（ステップＳ３０８）。そして、処理はステップＳ３０１の処理へと戻り、前述の処理を繰り返す。
【０１０７】
上記実施形態によれば、情報処理装置１は、第１手指追跡による手指の追跡に失敗した際に、入力された画像（投影表示を撮像した画像）を複数のブロック（例えば、Ｍ×Ｎのブロック）に分割し、所定の探索経路に従って、投影表示に重畳させるマスクブロックの位置をブロックにあわせて順次ずらす制御を行う。そして、情報処理装置１は、投影表示上に重畳されているマスクブロックの領域を探索して、手指領域が含まれているか否かを判定し、手指領域が含まれている場合には、マスクブロックの位置のブロックの位置情報を探索結果記憶部２２に格納する。そして、情報処理装置１は、各ブロックの探索が終了すると、探索結果記憶部２２に格納されている位置情報が示す位置に配置したマスクブロックから成る第２マスク画像を生成し、投影表示に生成した第２マスク画像を重畳する。
【０１０８】
こうすることで、手指の追跡に失敗した際に、輝度を落とす投影表示の範囲をより小さくして、手指の再認識を行うことが可能となる。これにより、ユーザに与える投影表示に対する違和感を緩和することが可能となる。
【０１０９】
また、上記実施形態によれば、情報処理装置１は、手指の追跡に失敗した際に、特定情報記憶部２１に格納されている特定情報に基づいて、画像の周縁において腕が存在する確率が高い位置である探索開始位置ＳＰと探索方向を特定する。そして、情報処理装置１は、特定した探索開始位置ＳＰと探索方向とにより定まる所定の探索経路（第１探索経路）に従って、投影表示に重畳させるマスクブロックの位置を順次ずらす制御を行う。そして、所定の探索経路（第１探索経路）に従って移動させたマスクブロックの領域に手指領域が含まれている場合には、情報処理装置１は、そのマスクブロックを基点として周辺のブロックを探索する周辺探索を行う。こうすることで、投影表示に手指を進入させる際には必ず画像の周縁部を手指が通過することから、手指領域の探索を効率的に行うことが可能となる。つまり、手指の再認識を効率的に行うことが可能となる。
【０１１０】
また、上記実施形態によれば、情報処理装置１は、特定情報記憶部２１に特定情報が格納されていない場合、つまり、初期状態の場合の様にこれから手指領域の探索を行う場合には、画像の周縁のブロックから順に探索する所定の探索経路（第２探索経路）に従って、投影表示に重畳させるマスクブロックの位置を順次ずらす制御を行う。そして、所定の探索経路（第２探索経路）に従って移動させたマスクブロックの領域に手指領域が含まれている場合には、情報処理装置１は、そのマスクブロックを基点として周辺のブロックを探索する周辺探索を行う。こうすることで、手指領域の探索を効率的に行うことが可能となる。つまり、手指の再認識を効率的に行うことが可能となる。
【０１１１】
また、上記実施形態によれば、情報処理装置１は、周辺探索の際に、手指領域が存在する可能性が低いブロックをスキップして探索する。こうすることで、手指領域の探索をより効率的に行うことが可能となる。
【０１１２】
（変形例１）
本変形例１においては、平均的な手の大きさ（例えば、指の幅）を考慮して、ブロックをスキップすることで、探索対象のブロック数を削減する。これにより、探索処理の負荷を軽減すると共に、探索時間の短縮化を図ることを可能とする。
【０１１３】
本変形例１における情報処理装置１の基本的な構成は、上述した実施形態の場合と同じである。但し、探索経路制御部４８が果たす機能が、実施形態の場合と若干異なっている。また、記憶部２０のデータエリアには、平均的な指の幅にあわせて設定された閾値Ｚが格納されている点で、実施形態の場合と異なっている。なお、指の幅は、これに限定されるものではないが、付け根部分より指先近辺の幅であることが好ましい。また、閾値Ｚはユーザにより可変であってもよい。
【０１１４】
探索経路制御部４８は、選択した探索経路に従って、マスクブロックの位置を制御する際に、記憶部２０のデータエリアに格納されている閾値Ｚを参照して、移動元のマスクブロックと移動先のマスクブロックとの間の最短距離が閾値Ｚを超えないように、探索経路上のブロックを可能な限り多くスキップする。
【０１１５】
（変形例２）
本変形例２においては、重畳対象画像（例えば、マスクブロック、マスク画像）の領域を完全にマスクするのではなく、重畳対象画像の透過率を制御して、重畳対象画像の領域における手指判定を容易とする。また、重畳対象画像を投影表示に重畳させることによるダメージを緩和し、ユーザが感じる違和感を軽減させることが可能となる。
【０１１６】
本変形例２における情報処理装置１の基本的な構成は、上述した実施形態の場合と同じである。但し、重畳画像制御部４６が果たす機能が、実施形態の場合と若干異なっている。
【０１１７】
重畳画像制御部４６は、重畳対象画像のサイズや位置を調整する際に、重畳対象画像の透過率を、例えば、予め設定されている透過率にあわせて調整する。この際、重畳画像制御部４６は、投影表示中の表示物の画像領域（例えば、アイコン領域）に重畳対象画像が重なる場合のみ、重畳対象画像の透過率を予め設定されている透過率に合わせ、それ以外の場合には、透過率をほぼ“１００％”に設定するようにしてもよい。なぜなら、手指判定が困難となるのは、表示物の画像が手指に投影されている場合であるからである。
【０１１８】
（変形例３）
本変形例３においては、第２手指追跡処理において、複数のマスクブロックを重畳表示して、それらのマスクブロックを並列に探索することで、探索時間を短縮することを可能とする。
【０１１９】
本変形例３における情報処理装置１の基本的な構成は、上述した実施形態の場合と同じである。但し、探索経路制御部４８と手指判定部４９とがそれぞれ果たす機能が、実施形態の場合と若干異なっている。
【０１２０】
探索経路制御部４８は、選択した探索経路に従った探索（あるいは、周辺探索）の際に、探索経路上の未探索のブロックの中から、マスクブロックを重畳表示させる複数のブロックの位置を指定する。そして、選択した探索経路に従った探索の際、同時に指定した複数のマスクブロックにおいて手指領域が含まれている場合には、それらのマスクブロックの中から一つ選択し、選択したマスクブロックが位置するブロックを周辺探索の際の基点とする。この際、手指領域を含んでいる他のマスクブロックが位置するブロックについては、探索経路制御部４８は、周辺探索の際には探索済みとしてスキップしてもよい。なお、手指領域を含んでいる複数のマスクブロックの中から一つを選択する方法は任意である。
【０１２１】
手指判定部４９は、次の画像が入力されると、探索経路制御部４８により指定された複数のマスクブロックの位置が示す、入力された次の画像におけるブロックの領域を同時に探索して、手指領域が含まれているか否かを判定する。
【０１２２】
（変形例４）
上述した実施形態においては、探索開始位置特定部４７は、特定情報記憶部２１に格納されている特定情報に基づいて、第１探索経路の探索開始位置ＳＰと探索方向を特定すると説明した。本変形例４においては、第１探索経路の探索開始位置ＳＰと探索方向を特定する際に用いる特定情報を限定する方法について幾つか説明する。このように特定情報を限定して用いることで、第１探索経路の探索開始位置ＳＰと探索方向の精度を向上させることが可能となる。なお、ここでの探索開始位置ＳＰと探索方向の精度とは、探索開始位置ＳＰ（と探索方向）に腕（含む、手指）が存在する確率を高めるという意味での精度である。
【０１２３】
本変形例４における情報処理装置１の基本的な構成は、上述した実施形態の場合と同じである。但し、手指特定部４１と探索開始位置特定部４７とがそれぞれ果たす機能が、実施形態の場合と若干異なっている。
【０１２４】
探索開始位置特定部４７は、第１探索経路の探索開始位置ＳＰと探索方向を特定するために用いる特定情報を、所定の条件に従って限定し、限定した特定情報に基づいて、第１探索経路の探索開始位置ＳＰと探索方向を特定する。
【０１２５】
例えば、探索開始位置特定部４７は、特定情報記憶部２１に格納されている特定情報の内で、格納されたタイミングが新しい順に所定数の特定情報に基づいて、第１探索経路の探索開始位置ＳＰと探索方向を特定する。この場合、手指特定部４１は、特定情報を特定情報記憶部２１に格納する際に、手指を特定した日時を示す日時情報を対応付けて格納すればよい。あるいは、手指特定部４１は、特定情報を格納する際に、既に所定数の特定情報が特定情報記憶部２１に格納されている場合に、格納されたタイミングが最も古い特定情報を削除するようにしてもよい。
【０１２６】
また、例えば、探索開始位置特定部４７は、過去の所定時間内に特定された手指の特定情報に基づいて、第１探索経路の探索開始位置ＳＰと探索方向を特定する。この場合、手指特定部４１は、特定情報を特定情報記憶部２１に格納する際に、手指を特定した日時を示す日時情報を対応付けて格納すればよい。
【０１２７】
また、例えば、探索開始位置特定部４７は、特定情報記憶部２１に格納されている特定情報ごとに直線ＦＨｉを生成し、生成した直線ＦＨｉの中に、直線ＦＨｉの傾きを表す係数の符号が異なる直線が存在するか否かを判定する。そして、直線ＦＨｉの傾きを表す係数の符号が異なる直線が存在する場合には、探索開始位置特定部４７は、特定情報が格納されたタイミングがより新しい方の符号の傾きを有する直線ＦＨｉのみを選択する。そして、探索開始位置特定部４７は、選択した直線ＦＨｉに対応する特定情報に基づいて、第１探索経路の探索開始位置ＳＰと探索方向を特定する。この場合、手指特定部４１は、特定情報を特定情報記憶部２１に格納する際に、手指を特定した日時を示す日時情報を対応付けて格納すればよい。
【０１２８】
図１４Ａと図１４Ｂは、いずれも、本変形例４における第１探索経路の探索開始位置ＳＰの特定方法の例を説明するための図である。図１４Ａは、特定情報記憶部２１に格納されている特定情報ごとに生成した直線ＦＨｉを模式的に示している。図１４Ａに示す例では、傾きを表す係数の符号がマイナスの直線ＦＨｉとプラスの直線ＦＨｉが含まれている。この場合、探索開始位置特定部４７は、特定情報が格納されたタイミングがより新しい方の符号の傾きを有する直線ＦＨｉのみを選択する。
【０１２９】
例えば、プラスの符号を有する直線ＦＨｉに対応する特定情報の格納タイミングがより新しいとすると、探索開始位置特定部４７は、図１４Ｂに示すように、プラスの符号を有する直線ＦＨｉのみを選択する。
【０１３０】
特定情報が格納されたタイミングがより新しい方の符号の傾きを有する直線ＦＨｉのみを選択する方法は、特に、複数のユーザが使用することが想定されるインターフェースシステム１００においてより有効な方法である。
【０１３１】
（変形例５）
上述した実施形態においては、探索開始位置特定部４７は、指先の位置Ｆｉから手の重心位置Ｈｉへの方向を、腕が伸びている方向として推定し、第１探索経路の探索開始位置ＳＰを特定した。本変形例５においては、腕の領域（以下、腕領域という）を抽出し、手の重心位置Ｈｉから抽出した腕領域の重心位置Ａｉへの方向を、腕が伸びている方向として推定する。
【０１３２】
これにより、腕が伸びている方向の推定精度を向上させ、第１探索経路の探索開始位置ＳＰと探索方向の精度を向上させることが可能となる。なぜなら、指先で操作を指示する際には、人差し指を通常使用するものと考えられ、人差し指の指先の位置Ｆｉから手の重心位置Ｈｉへの方向を、腕が伸びている方向とすると、図１５に示すように、実際に腕が伸びている方向とズレが生じてしまうからである。ここで、図１５は、本変形例５における腕領域の推定方法の例を説明するための図である。
【０１３３】
本変形例５における情報処理装置１の基本的な構成は、上述した実施形態の場合と同じである。但し、探索開始位置特定部４７が果たす機能が、実施形態の場合と若干異なっている。
【０１３４】
探索開始位置特定部４７は、特定情報記憶部２１に格納されている特定情報ごとに直線ＦＨｉを生成する。そして、探索開始位置特定部４７は、図１５に示すように、手の重心位置Ｈｉから指先の位置Ｆｉとは逆の方向に直線ＦＨｉに沿ってブロックの領域を探索し、手指の色とは異なる色の領域を含む最初のブロックを特定する。そして、探索開始位置特定部４７は、既存の画像処理技術を用いて、特定した手指の色とは異なる色を含む腕領域をそれぞれ抽出する。
【０１３５】
そして、探索開始位置特定部４７は、抽出した腕領域の重心位置Ａｉをそれぞれ算出し、対応する手の重心位置Ｈｉから算出した腕領域の重心位置Ａｉへの方向を腕が伸びている方向として推定する。つまり、探索開始位置特定部４７は、手の重心位置Ｈｉと腕領域の重心位置Ａｉとを結ぶ直線ＨＡｉをそれぞれ生成し、生成した直線ＨＡｉと画像の周縁との交点ＩＰｉに基づいて、第１探索経路の探索開始位置ＳＰを特定する。
【０１３６】
図１６は、実施形態及びその変形例におけるインターフェースシステム１００のハードウェア構成の例を示す図である。図２などに示す情報処理装置１は、例えば、図１６に示す各種ハードウェアにより実現されてもよい。図１６の例では、情報処理装置１は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、ＨＤＤ２０４、プロジェクタ２やカメラ３Ｒ，３Ｌを接続するための機器インターフェース２０５、通信モジュール２０６、読取装置２０７を備え、これらのハードウェアはバス２０８を介して接続されている。
【０１３７】
ＣＰＵ２０１は、例えば、ＨＤＤ２０４に格納されている動作プログラムをＲＡＭ２０２にロードし、ＲＡＭ２０２をワーキングメモリとして使いながら各種処理を実行する。ＣＰＵ２０１は、動作プログラムを実行することで、図２に示す制御部４０の各機能部を実現することができる。
【０１３８】
なお、上記動作を実行するための動作プログラムを、フレキシブルディスク、Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＣＤ−ＲＯＭ）、Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ（ＤＶＤ）、Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ  ｄｉｓｋ（ＭＯ）などのコンピュータで読み取り可能な記録媒体２０９に記憶して配布し、これを情報処理装置１の読取装置２０７で読み取ってコンピュータにインストールすることにより、上述の処理を実行するように構成してもよい。さらに、インターネット上のサーバ装置が有するディスク装置等に動作プログラムを記憶しておき、通信モジュール２０６を介して、情報処理装置１のコンピュータに動作プログラムをダウンロード等するものとしてもよい。
【０１３９】
なお、実施形態に応じて、ＲＡＭ２０２、ＲＯＭ２０３、ＨＤＤ２０４以外の他の種類の記憶装置が利用されてもよい。例えば、情報処理装置１は、Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ（ＣＡＭ）、Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＲＡＭ）、Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＤＲＡＭ）などの記憶装置を有してもよい。
【０１４０】
なお、実施形態に応じて、情報処理装置１のハードウェア構成は図１６とは異なっていてもよく、図１６に例示した規格・種類以外のその他のハードウェアを情報処理装置１に適用することもできる。
【０１４１】
例えば、図２に示す情報処理装置１の制御部４０の各機能部は、ハードウェア回路により実現されてもよい。具体的には、ＣＰＵ２０１の代わりに、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ（ＦＰＧＡ）などのリコンフィギュラブル回路や、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＡＳＩＣ）などにより、図２に示す制御部４０の各機能部が実現されてもよい。もちろん、ＣＰＵ２０１とハードウェア回路の双方により、これらの機能部が実現されてもよい。
【０１４２】
以上において、いくつかの実施形態及びその変形例について説明した。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態を成すことができることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
【０１４３】
以上の実施形態及びその変形例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
手指の動きを検出することで操作内容を特定するために、投影表示を順次撮像した画像に基づいて、前記画像に含まれる手指の領域である手指領域を特定し、特定した前記手指領域の少なくとも一部を含む領域をマスクする第１マスク画像を前記投影表示用の表示画像に重畳させて前記画像に含まれる手指領域を追跡するインターフェース装置であって、
前記第１マスク画像を用いた手指領域の追跡に失敗した場合に、前記投影表示を撮像した画像を複数のブロックに分割し、所定の探索経路に従って、前記ブロックのサイズのマスク画像であるマスクブロックを重畳表示させるブロックの位置を順次指定する探索経路制御部と、
前記投影表示用の表示画像の指定された位置に前記マスクブロックを重畳させた第１重畳画像を順次生成する表示画面生成部と、
前記第１重畳画像の投影表示を撮像した画像の前記マスクブロックの領域を探索して、手指領域が含まれているか否か順次判定する手指判定部と、
手指領域が含まれていると判定された前記マスクブロックから成る第２マスク画像を生成する第２マスク画像生成部と、
を備え、
前記表示画面生成部は、更に、前記投影表示用の表示画像の手指領域が含まれていると判定された領域に対応する位置に前記第２マスク画像を重畳させた第２重畳画像を生成する、
ことを特徴とするインターフェース装置。
（付記２）
前記第１マスク画像を用いて特定された手指領域に基づいて、指先の位置と手の平の重心位置とをそれぞれ算出する手指特定部と、
前記第１マスク画像を用いて特定された前記手指領域ごとに、算出された前記手指の位置と前記手の平の重心位置とを示す特定情報を格納する特定情報記憶部と、
前記指先の位置と前記手の平の重心位置とに基づいて腕が伸びていると推定される第１方向を特定し、前記投影表示を撮像した画像における周縁において腕又は手指が存在する確率が高い位置を特定する探索開始位置特定部と、
を、更に、備え、
前記探索経路制御部は、特定された前記腕又は手指が存在する確率が高い位置のブロックから探索を開始する探索経路を定め、定めた探索経路に従って、前記マスクブロックを重畳表示させる前記ブロックの位置を順次指定する、
ことを特徴とする付記１に記載のインターフェース装置。
（付記３）
前記探索開始位置特定部は、更に、前記手の平の重心位置の平均位置を算出し、特定した前記腕又は手指が存在する確率が高い位置から算出した前記平均位置への第２方向を特定し、
前記探索経路制御部は、特定された前記腕又は手指が存在する確率が高い位置のブロックから探索を開始し、特定された第２方向に向かって探索する探索経路を定め、定めた探索経路に従って、前記マスクブロックを重畳表示させる前記ブロックの位置を順次指定する、
ことを特徴とする付記２に記載のインターフェース装置。
（付記４）
前記探索開始位置特定部は、腕の領域の重心位置を算出し、前記手の平の重心位置と算出した腕の領域の重心位置とに基づいて腕が伸びていると推定される第３方向を特定し、特定した前記第３方向に基づいて、前記投影表示を撮像した画像における周縁において腕又は手指が存在する確率が高い位置を特定する、
ことを特徴とする付記２又は３に記載のインターフェース装置。
（付記５）
前記第１マスク画像を用いた手指領域の追跡に失敗した際に、前記特定情報記憶部に前記特定情報が格納されていない場合には、前記探索経路制御部は、前記投影表示を撮像した画像における周縁のブロックから前記周縁に沿って探索を開始する探索経路に従って、前記マスクブロックを重畳表示させるブロックの位置を順次指定する、
ことを特徴とする付記２乃至４のいずれか一に記載のインターフェース装置。
（付記６）
前記探索開始位置特定部は、所定の条件に従って、前記投影表示を撮像した画像における周縁において腕又は手指が存在する確率が高い位置を特定する際に用いる前記特定情報を限定する、
ことを特徴とする付記２乃至５のいずれか一に記載のインターフェース装置。
（付記７）
前記手指判定部により、前記マスクブロックの領域に手指領域が含まれていると判定された場合に、前記探索経路制御部は、手指領域が含まれていると判定された前記マスクブロックの周辺を探索する周辺探索を行わせるために、該マスクブロックの周辺に位置するブロックを優先的に順次指定する、
ことを特徴とする付記１乃至６のいずれか一に記載のインターフェース装置。
（付記８）
前記探索経路制御部は、前記周辺探索の際に、手指領域が含まれている可能性が低いブロックを指定対象から除外する、
ことを特徴とする付記７に記載のインターフェース装置。
（付記９）
前記投影表示用の表示画像に重畳させる重畳対象画像の透過率を制御する重畳画像制御部を、更に、備える、
ことを特徴とする付記１乃至８のいずれか一に記載のインターフェース装置。
（付記１０）
前記探索経路制御部は、前記マスクブロックの移動元のブロックと移動先のブロックとの間の最短距離が予め設定されている閾値を超えないように、前記探索経路上のブロックをスキップして、前記マスクブロックを重畳表示させる前記ブロックの位置を指定する、
ことを特徴とする付記１乃至９のいずれか一に記載のインターフェース装置。
（付記１１）
前記探索経路制御部は、前記マスクブロックを重畳表示させるブロックの位置を同時に複数指定する、
ことを特徴とする付記１乃至１０のいずれか一に記載のインターフェース装置。
（付記１２）
手指の動きを検出することで操作内容を特定するために、投影表示を順次撮像した画像に基づいて、前記画像に含まれる手指の領域である手指領域を特定し、特定した前記手指領域の少なくとも一部を含む領域をマスクする第１マスク画像を前記投影表示用の表示画像に重畳させて前記画像に含まれる手指領域を追跡するインターフェース装置の手指追跡方法であって、
前記第１マスク画像を用いた手指領域の追跡に失敗した場合に、前記投影表示を撮像した画像を複数のブロックに分割し、所定の探索経路に従って、前記ブロックのサイズのマスク画像であるマスクブロックを重畳表示させるブロックの位置を順次指定し、
前記投影表示用の表示画像の指定した位置に前記マスクブロックを重畳させた第１重畳画像を順次生成し、
前記第１重畳画像の投影表示を撮像した画像の前記マスクブロックの領域を探索して、手指領域が含まれているか否か順次判定し、
手指領域が含まれていると判定した前記マスクブロックから成る第２マスク画像を生成し、
前記投影表示用の表示画像の手指領域が含まれていると判定した領域に対応する位置に前記第２マスク画像を重畳させた第２重畳画像を生成する、
ことを特徴とする手指追跡方法。
（付記１３）
手指の動きを検出することで操作内容を特定するために、投影表示を順次撮像した画像に基づいて、前記画像に含まれる手指の領域である手指領域を特定し、特定した前記手指領域の少なくとも一部を含む領域をマスクする第１マスク画像を前記投影表示用の表示画像に重畳させて前記画像に含まれる手指領域を追跡するインターフェース装置のコンピュータに、
前記第１マスク画像を用いた手指領域の追跡に失敗した場合に、前記投影表示を撮像した画像を複数のブロックに分割し、所定の探索経路に従って、前記ブロックのサイズのマスク画像であるマスクブロックを重畳表示させるブロックの位置を順次指定し、
前記投影表示用の表示画像の指定した位置に前記マスクブロックを重畳させた第１重畳画像を順次生成し、
前記第１重畳画像の投影表示を撮像した画像の前記マスクブロックの領域を探索して、手指領域が含まれているか否か順次判定し、
手指領域が含まれていると判定した前記マスクブロックから成る第２マスク画像を生成し、
前記投影表示用の表示画像の手指領域が含まれていると判定した領域に対応する位置に前記第２マスク画像を重畳させた第２重畳画像を生成する、
処理を実行させる、
ことを特徴とするプログラム。
（付記１４）
手指の動きを検出することで操作内容を特定するために、投影表示を順次撮像した画像に基づいて、前記画像に含まれる手指の領域である手指領域を特定し、特定した前記手指領域の少なくとも一部を含む領域をマスクする第１マスク画像を前記投影表示用の表示画像に重畳させて前記画像に含まれる手指領域を追跡するインターフェース装置のコンピュータに、
前記第１マスク画像を用いた手指領域の追跡に失敗した場合に、前記投影表示を撮像した画像を複数のブロックに分割し、所定の探索経路に従って、前記ブロックのサイズのマスク画像であるマスクブロックを重畳表示させるブロックの位置を順次指定し、
前記投影表示用の表示画像の指定した位置に前記マスクブロックを重畳させた第１重畳画像を順次生成し、
前記第１重畳画像の投影表示を撮像した画像の前記マスクブロックの領域を探索して、手指領域が含まれているか否か順次判定し、
手指領域が含まれていると判定した前記マスクブロックから成る第２マスク画像を生成し、
前記投影表示用の表示画像の手指領域が含まれていると判定した領域に対応する位置に前記第２マスク画像を重畳させた第２重畳画像を生成する、
処理を実行させるプログラムを記憶した記録媒体。
【符号の説明】
【０１４４】
１００  インターフェースシステム
１      情報処理装置
１０    入力部
２０    記憶部
２１    特定情報記憶部
２２    探索結果記憶部
３０    出力部
４０    制御部
４１    手指特定部
４２    操作部位特定部
４３    処理部
４４    表示画面生成部
４５    第１マスク画像生成部
４６    重畳画像制御部
４７    探索開始位置特定部
４８    探索経路制御部
４９    手指判定部
４Ａ    第２マスク画像生成部
２      プロジェクタ
３Ｒ    右カメラ
３Ｌ    左カメラ
４      作業台
Ｆｉ      指先の位置
Ｈｉ      手の重心位置
ＦＨｉ    指先の位置と手の重心位置とを結ぶ直線
ＩＰｉ    交点
ａＨ      手の重心位置の平均位置
ＳＰ      探索開始位置
θ        所定の角度
Ａｉ      腕領域の重心位置
ＨＡｉ    手の重心位置と腕領域の重心位置とを結ぶ直線
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  ＨＤＤ
２０５  機器インターフェース
２０６  通信モジュール
２０７  読取装置
２０８  バス
２０９  記録媒体
【図２】
2016071824.tif 000010
【図３】
2016071824.tif 000011
【図４】
2016071824.tif 000012
【図５】
2016071824.tif 000013
【図６】
2016071824.tif 000014
【図８】
2016071824.tif 000015
【図９】
2016071824.tif 000016
【図１０】
2016071824.tif 000017
【図１１】
2016071824.tif 000018
【図１２】
2016071824.tif 000019
【図１３】
2016071824.tif 000020
【図１４】
2016071824.tif 000021
【図１５】
2016071824.tif 000022
【図１６】
2016071824.tif 000023
【図１】
2016071824.tif 000024
【図７】
2016071824.tif 000025