(57)【特許請求の範囲】
【請求項１】
撮像手段と、
前記撮像手段の撮像により得られた撮像画像における被写体の所定の第１部位の画像に基づき第１部位の位置を取得し、前記撮像画像における第２部位の画像に基づき第２部位の位置を取得する取得手段と、
前記第２部位の位置に基づき前記第１部位の位置を推測する手段と、
前記第１部位の位置に基づきコマンドを出力する出力手段と、
前記撮像画像における第１部位の画像に基づき第１部位の位置を取得できるか否かを判定する手段と、
を備え、
前記出力手段は、前記撮像画像における第１部位の画像に基づき第１部位の位置を取得できないと判定された場合、前記第２部位の位置に基づき推測された第１部位の位置に基づきコマンドを出力する制御装置。
【請求項２】
前記取得手段は、所定の撮像範囲を前記撮像手段により撮像して得られた撮像画像から前記第１部位及び前記第２部位の位置を取得するものであり、
前記第１部位が前記撮像範囲外にあるか否かを判定する手段をさらに備え、
前記出力手段は、前記第１部位が前記撮像範囲外にあると判定された場合、前記第２部位の位置に基づき推測された前記第１部位の位置に基づきコマンドを出力する請求項１に記載の制御装置。
【請求項３】
前記推測する手段は、複数の前記第２部位の位置に基づき前記第１部位の位置を推測する請求項１又は２に記載の制御装置。
【請求項４】
前記第２部位の位置と前記第１部位の位置との予め定められた対応関係の情報を記憶する記憶手段をさらに備え、
前記推測する手段は、前記対応関係に基づき前記第２部位の位置から前記第１部位の位置を推測する請求項１〜３のいずれか１項に記載の制御装置。
【請求項５】
前記対応関係は、前記被写体の形状モデルにおける前記第１部位と前記第２部位との位置関係に基づき定められたものである請求項４に記載の制御装置。
【請求項６】
前記取得手段により取得した前記第１部位の位置及び／又は前記第２部位の位置に基づき、前記対応関係を補正する補正手段を備える請求項５に記載の制御装置。
【請求項７】
前記取得手段は、前記第１部位の位置の取得及び前記第２部位の位置の取得を複数回、繰り返して行うものであり、
前記撮像画像における第１部位の画像に基づき前記第１部位の位置を取得できないと判定された回があった場合、前記推測する手段は、その回における前記第２部位の位置及びそれ以前の回で取得した前記第２部位の位置の履歴と、前記第２部位と前記第１部位との位置関係に基づき、前記第１部位の位置を推測する請求項１に記載の制御装置。
【請求項８】
前記取得手段は、前記第１部位の位置の取得及び前記第２部位の位置の取得を複数回、繰り返して行うものであり、
前記第１部位が前記撮像範囲外にあると判定された回があった場合、前記推測する手段は、その回における前記第２部位の位置及びそれ以前の回で取得した前記第２部位の位置の履歴と、当該第２部位と前記第１部位との位置関係に基づき、前記第１部位の位置を推測する請求項２に記載の制御装置。
【請求項９】
前記取得手段は、１つの前記第２部位の位置に基づき前記第１部位の位置を推測する請求項７又は８に記載の制御装置。
【請求項１０】
前記取得手段は、前記第１部位の位置の取得を複数回、繰り返して行い、
前記出力手段は、前記第１部位の位置の履歴に基づき前記被写体の動きを認識し、被写体の動きに対応するコマンドを出力し、
被写体の動きの情報が特定の条件を満たすか判定する手段をさらに備え、
前記出力手段は、前記撮像画像における第１部位の画像に基づき第１部位の位置を取得できないと判定され、かつ、被写体の動きの情報が特定の条件を満たすと判定された場合、前記第２部位の位置に基づき推測された前記第１部位の位置情報に基づきコマンドを出力する請求項１〜９のいずれか１項に記載の制御装置。
【請求項１１】
前記出力手段は、表示装置に表示する表示画像に対する画像処理のコマンドを出力する請求項１〜１０のいずれか１項に記載の制御装置。
【請求項１２】
前記取得手段は、所定の撮像範囲を前記撮像手段により撮像して得られた画像から前記第１部位及び前記第２部位の位置を取得するものであり、
前記出力手段は、前記撮像範囲と前記第１部位との位置関係に基づき、前記表示画像における前記第１部位に対応する位置を求める請求項１１に記載の制御装置。
【請求項１３】
前記出力手段は、前記第１部位の位置が前記撮像範囲内にある場合、前記表示画像における前記第１部位に対応する位置にカーソルを合成する画像処理のコマンドを出力する請求項１２に記載の制御装置。
【請求項１４】
前記出力手段は、前記第１部位の位置が前記撮像範囲外にある場合、前記第１部位に対応する位置を指し示す画像を前記表示画像に合成する画像処理のコマンドを出力する請求項１２に記載の制御装置。
【請求項１５】
前記取得手段は、前記第１部位の位置の取得を複数回、繰り返して行い、
前記出力手段は、複数の前記第１部位の位置を結ぶラインを前記表示画像に合成する画像処理のコマンドを出力する請求項１２に記載の制御装置。
【請求項１６】
撮像手段と、
前記撮像手段により所定の撮像範囲を撮像して得られた画像から被写体の所定の第１部位の位置を複数回、繰り返し取得する取得手段と、
前記撮像範囲と前記第１部位との位置関係に基づき表示装置に表示する表示画像における前記第１部位に対応する位置を求め、複数の前記第１部位の位置を結ぶラインを前記表示画像に合成する画像処理のコマンドを出力する出力手段と、
を備え、
前記取得手段は、前記画像から前記第１部位の位置を取得できない場合、前記画像から、前記第１部位の位置を推測するための所定の第２部位の位置を取得し、前記第２部位の位置に基づき前記第１部位の位置を推測することにより、前記第１部位の位置を取得し、
前記出力手段は、前記複数の前記第１部位の位置のうちに前記撮像範囲外の位置が含まれる場合、前記表示装置に表示される範囲外におけるラインの情報を算出して保持し、その後、前記表示画像の移動、拡大及び縮小の少なくともいずれかの画像処理により当該ラインが前記表示装置に表示される範囲内に入った場合に、保持したラインの情報に基づき当該ラインを前記表示画像に合成する画像処理のコマンドを出力する制御装置。
【請求項１７】
前記被写体はユーザの手であり、前記被写体の動きはジェスチャである請求項１〜１６のいずれか１項に記載の制御装置。
【請求項１８】
前記取得手段は、前記撮像手段の撮像により得られた画像からユーザの手の形状をさらに取得し、
前記出力手段は、ユーザの手の形状とジェスチャに基づきコマンドを出力する請求項１７に記載の制御装置。
【請求項１９】
前記被写体の第１部位はユーザの手の所定の指の所定の位置である請求項１７又は１８に記載の制御装置。
【請求項２０】
撮像工程と、
前記撮像工程により得られた撮像画像における被写体の所定の第１部位の画像に基づき第１部位の位置を取得し、前記撮像画像における第２部位の画像に基づき第２部位の位置を取得する取得工程と、
前記第２部位の位置に基づき前記第１部位の位置を推測する工程と、
前記第１部位の位置に基づきコマンドを出力する出力工程と、
前記撮像画像における第１部位の画像に基づき第１部位の位置を取得できるか否かを判定する工程と、
を有し、
前記出力工程は、前記撮像画像における第１部位の画像に基づき第１部位の位置を取得できないと判定された場合、前記第２部位の位置に基づき推測された第１部位の位置に基づきコマンドを出力する制御方法。
【請求項２１】
撮像工程と、
前記撮像工程により所定の撮像範囲を撮像して得られた画像から被写体の所定の第１部位の位置を複数回、繰り返し取得する取得工程と、
前記撮像範囲と前記第１部位との位置関係に基づき表示装置に表示する表示画像における前記第１部位に対応する位置を求め、複数の前記第１部位の位置を結ぶラインを前記表示画像に合成する画像処理のコマンドを出力する出力工程と、
を有し、
前記取得工程は、前記画像から前記第１部位の位置を取得できない場合、前記画像から、前記第１部位の位置を推測するための所定の第２部位の位置を取得し、前記第２部位の位置に基づき前記第１部位の位置を推測することにより、前記第１部位の位置を取得し、
前記出力工程は、前記複数の前記第１部位の位置のうちに前記撮像範囲外の位置が含まれる場合、前記表示装置に表示される範囲外におけるラインの情報を算出して保持し、その後、前記表示画像の移動、拡大及び縮小の少なくともいずれかの画像処理により当該ラインが前記表示装置に表示される範囲内に入った場合に、保持したラインの情報に基づき当該ラインを前記表示画像に合成する画像処理のコマンドを出力する制御方法。
【請求項２２】
撮像手段と、
前記撮像手段の撮像により得られた画像から被写体の所定の第１部位の位置及び第１部位の位置を推測するための所定の第２部位の位置を示す位置情報を取得する取得手段と、
前記取得手段により取得された位置情報に第１部位の位置が含まれているか判定する手段と、
前記取得手段により取得された位置情報に第１部位の位置が含まれていないと判定された場合に、前記取得手段により取得された位置情報に含まれる第２部位の位置に基づき第１部位の位置を推測し、前記推測した第１部位の位置を用いて、前記取得手段により取得された位置情報を、第１部位の位置を含む位置情報に補正する手段と、
前記取得手段により取得された位置情報に含まれる第１部位の位置又は前記補正された位置情報に含まれる第１部位の位置に基づきコマンドを出力する出力手段と、
を備える制御装置。
【請求項２３】
前記取得手段は、所定の撮像範囲を前記撮像手段により撮像して得られた画像から前記位置情報を取得するものであり、
前記補正する手段は、前記推測した第１部位の位置が前記撮像範囲外にある場合、前記取得手段により取得された位置情報を補正する請求項２２に記載の制御装置。
【請求項２４】
撮像工程と、
前記撮像工程により得られた画像から被写体の所定の第１部位の位置及び第１部位の位置を推測するための所定の第２部位の位置を示す位置情報を取得する取得工程と、
前記取得工程により取得された位置情報に第１部位の位置が含まれているか判定する工程と、
前記取得工程により取得された位置情報に第１部位の位置が含まれていないと判定された場合に、前記取得工程により取得された位置情報に含まれる第２部位の位置に基づき第１部位の位置を推測し、前記推測した第１部位の位置を用いて、前記取得工程により取得された位置情報を、第１部位の位置を含む位置情報に補正する工程と、
前記取得工程により取得された位置情報に含まれる第１部位の位置又は前記補正された位置情報に含まれる第１部位の位置に基づきコマンドを出力する出力工程と、
を有する制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジェスチャで表示装置にコマンドを入力することが可能な、表示画像を操作するシステムに関するものである。特にユーザが手で特定の動作をすることで、表示装置に対して直感的な操作を行うことができる制御装置及び制御方法に関するものである。
【背景技術】
【０００２】
画像表示を制御するためのユーザインターフェースとして、ユーザのジェスチャを認識してジェスチャに応じたコマンドを入力する技術がある。例えば、手の動きに合わせて画面に表示されたカーソル位置を制御することができる。この技術では、カメラで撮像した動画像から、撮像範囲内における手の動きを検出してジェスチャを判別する。このユーザインタフェースによれば、従来に比べて直感的な方法でユーザの意図するコマンドをシステムに入力することが可能となる。ジェスチャ検出用のカメラの撮像範囲内でユーザがジェスチャすることで表示画面を制御するためのコマンドを入力できる。ユーザの手指を用いた直感的なコマンド入力技術としては、特許文献１に、タッチパネル面に対する指によるタッチ動作により線画像を描画（以下、マーキング）するコマンドを入力する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２０６３５０号公報
【特許文献２】特開２０１４−１２００２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
マーキングのコマンド入力をジェスチャで行うことを考えた場合、例えば、手の形状を、人差し指を伸ばして、その他４本の指を閉じた状態（以下、「ポイント状態」という）にして手を動かすことが考えられる。このジェスチャにより、表示画面内のカーソルを移動させ、カーソルの軌跡に沿ってマーキングするコマンドを入力することが考えられる。しかしながら、ジェスチャ検出用のカメラ等の撮像範囲には限界がある。撮像範囲内にある人差し指の位置情報に基づいて表示画像に対してマーキングをしているときに、人差し指が撮像範囲外に移動してしまうと、マーキングが途切れてしまう。これが課題になる状況を図１７を用いて説明する。図１７（Ｃ）のような元画像を図１７（Ｂ）のように拡大表示した状態で、ユーザが所望の領域をマーキングするコマンドをジェスチャで入力する状況である。図１７（Ａ）のように、ユーザの手の動きが撮像範囲の外に出てしまうと、図１７（Ｂ）のように半円状のマーキングになってしまい、図１７（Ｃ）のように拡大表示を解除して元画像の表示に戻した場合に、不自然なマーキング結果になってしまう。
【０００５】
特許文献１では、指示体（例えばカーソル）がタッチパネル外に移動した場合、ユーザの意図によるものとは解釈せずに、コマンド入力の無効化、警告、適切な範囲への誘導等を行うことで、ユーザの操作性を向上している。しかし、ジェスチャによるコマンド入力技術では、空間内に設定される撮像範囲外でジェスチャが行われてしまう状況が起こりやすいと考えられる。そのような場合でもジェスチャ入力を無効化するのではなくユーザの意図したジェスチャを正確に認識できることが望ましい。
【０００６】
本発明は、所定の撮像範囲内で行われるジェスチャを認識してコマンドを出力する制御装置において、ジェスチャが撮像範囲外に出てしまった場合でもジェスチャを精度良く認識しユーザの意図したコマンドを出力できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、
撮像手段と、
前記撮像手段の撮像により得られた撮像画像における被写体の所定の第１部位の画像に基づき第１部位の位置を取得し、前記撮像画像における第２部位の画像に基づき第２部位
の位置を取得する取得手段と、
前記第２部位の位置に基づき前記第１部位の位置を推測する手段と、
前記第１部位の位置に基づきコマンドを出力する出力手段と、
前記撮像画像における第１部位の画像に基づき第１部位の位置を取得できるか否かを判定する手段と、
を備え、
前記出力手段は、前記撮像画像における第１部位の画像に基づき第１部位の位置を取得できないと判定された場合、前記第２部位の位置に基づき推測された第１部位の位置に基づきコマンドを出力する制御装置である。
また、本発明は、
撮像手段と、
前記撮像手段により所定の撮像範囲を撮像して得られた画像から被写体の所定の第１部位の位置を複数回、繰り返し取得する取得手段と、
前記撮像範囲と前記第１部位との位置関係に基づき表示装置に表示する表示画像における前記第１部位に対応する位置を求め、複数の前記第１部位の位置を結ぶラインを前記表示画像に合成する画像処理のコマンドを出力する出力手段と、
を備え、
前記取得手段は、前記画像から前記第１部位の位置を取得できない場合、前記画像から、前記第１部位の位置を推測するための所定の第２部位の位置を取得し、前記第２部位の位置に基づき前記第１部位の位置を推測することにより、前記第１部位の位置を取得し、
前記出力手段は、前記複数の前記第１部位の位置のうちに前記撮像範囲外の位置が含まれる場合、前記表示装置に表示される範囲外におけるラインの情報を算出して保持し、その後、前記表示画像の移動、拡大及び縮小の少なくともいずれかの画像処理により当該ラインが前記表示装置に表示される範囲内に入った場合に、保持したラインの情報に基づき当該ラインを前記表示画像に合成する画像処理のコマンドを出力する制御装置である。
また、本発明は、
撮像手段と、
前記撮像手段の撮像により得られた画像から被写体の所定の第１部位の位置及び第１部位の位置を推測するための所定の第２部位の位置を示す位置情報を取得する取得手段と、
前記取得手段により取得された位置情報に第１部位の位置が含まれているか判定する手段と、
前記取得手段により取得された位置情報に第１部位の位置が含まれていないと判定された場合に、前記取得手段により取得された位置情報に含まれる第２部位の位置に基づき第１部位の位置を推測し、前記推測した第１部位の位置を用いて、前記取得手段により取得された位置情報を、第１部位の位置を含む位置情報に補正する手段と、
前記取得手段により取得された位置情報に含まれる第１部位の位置又は前記補正された位置情報に含まれる第１部位の位置に基づきコマンドを出力する出力手段と、
を備える制御装置である。
【０００８】
本発明は、
撮像工程と、
前記撮像工程により得られた撮像画像における被写体の所定の第１部位の画像に基づき第１部位の位置を取得し、前記撮像画像における第２部位の画像に基づき第２部位の位置を取得する取得工程と、
前記第２部位の位置に基づき前記第１部位の位置を推測する工程と、
前記第１部位の位置に基づきコマンドを出力する出力工程と、
前記撮像画像における第１部位の画像に基づき第１部位の位置を取得できるか否かを判定する工程と、
を有し、
前記出力工程は、前記撮像画像における第１部位の画像に基づき第１部位の位置を取得できないと判定された場合、前記第２部位の位置に基づき推測された第１部位の位置に基づきコマンドを出力する制御方法である。
また、本発明は、
撮像工程と、
前記撮像工程により所定の撮像範囲を撮像して得られた画像から被写体の所定の第１部位の位置を複数回、繰り返し取得する取得工程と、
前記撮像範囲と前記第１部位との位置関係に基づき表示装置に表示する表示画像における前記第１部位に対応する位置を求め、複数の前記第１部位の位置を結ぶラインを前記表示画像に合成する画像処理のコマンドを出力する出力工程と、
を有し、
前記取得工程は、前記画像から前記第１部位の位置を取得できない場合、前記画像から、前記第１部位の位置を推測するための所定の第２部位の位置を取得し、前記第２部位の位置に基づき前記第１部位の位置を推測することにより、前記第１部位の位置を取得し、
前記出力工程は、前記複数の前記第１部位の位置のうちに前記撮像範囲外の位置が含まれる場合、前記表示装置に表示される範囲外におけるラインの情報を算出して保持し、その後、前記表示画像の移動、拡大及び縮小の少なくともいずれかの画像処理により当該ラインが前記表示装置に表示される範囲内に入った場合に、保持したラインの情報に基づき当該ラインを前記表示画像に合成する画像処理のコマンドを出力する制御方法である。
また、本発明は、
撮像工程と、
前記撮像工程により得られた画像から被写体の所定の第１部位の位置及び第１部位の位置を推測するための所定の第２部位の位置を示す位置情報を取得する取得工程と、
前記取得工程により取得された位置情報に第１部位の位置が含まれているか判定する工程と、
前記取得工程により取得された位置情報に第１部位の位置が含まれていないと判定された場合に、前記取得工程により取得された位置情報に含まれる第２部位の位置に基づき第１部位の位置を推測し、前記推測した第１部位の位置を用いて、前記取得工程により取得された位置情報を、第１部位の位置を含む位置情報に補正する工程と、
前記取得工程により取得された位置情報に含まれる第１部位の位置又は前記補正された位置情報に含まれる第１部位の位置に基づきコマンドを出力する出力工程と、
を有する制御方法である。
【発明の効果】
【０００９】
本発明によれば、所定の撮像範囲内で行われるジェスチャを認識してコマンドを出力する制御装置において、ジェスチャが撮像範囲外に出てしまった場合でもジェスチャを精度良く認識しユーザの意図したコマンドを出力できるようになる。
【図面の簡単な説明】
【００１０】
【図１】実施例１のシステム構成の概要図
【図２】実施例１の表示制御装置の構成を示すブロック図
【図３】実施例１のユーザの手の形状及び手情報を示す図
【図４】実施例１のユーザの手の形状ごとに用いる位置情報を示す図
【図５】実施例１の手の各部位の位置情報と対応するジェスチャを示すテーブル
【図６】実施例１のジェスチャ履歴と対応する画面操作を示すテーブルの一例
【図７】実施例１のシステム構成全体の動作を説明するためのフローチャート
【図８】実施例１の表示する静止画像、及び表示画面に出力する出力画像を示す図
【図９】実施例１の表示制御装置の動作を説明するためのフローチャート
【図１０】実施例１の表示制御装置の補正処理動作を説明するためのフローチャート
【図１１】実施例１の位置情報の補正モデル情報を示すテーブルの一例を示す図
【図１２】実施例１の撮像範囲の位置情報と表示画面の表示内容の関係を示す図
【図１３】実施例１の撮像範囲の位置情報と表示画面の表示内容の関係を示す図
【図１４】実施例１の撮像範囲外でのマーキング継続による効果を説明する図
【図１５】実施例２の表示制御装置の構成を示すブロック図
【図１６】実施例２の位置情報の補正モデル情報の修正前と修正後のテーブル
【図１７】本発明の解決すべき課題の概要を説明する図
【発明を実施するための形態】
【００１１】
（実施例１）
本発明の実施例１について、説明する。
図１は、撮像装置１００、表示制御装置２００、表示装置４００からなるシステム構成
の概要図である。
撮像装置１００は、撮像範囲１０１を撮像して得られた画像データを表示制御装置２００に出力する。
表示制御装置２００は、撮像範囲１０１内の所定の被写体の所定の第１部位の位置を取得し、第１部位の位置に基づきコマンドを出力する。実施例１では、所定の被写体はユーザ１０２の手１０４であり、第１部位はユーザ１０２の手１０４の部位のうち手１０４の位置の指標となる所定の指の所定の部位である。表示制御装置２００は、第１の部位の位置の取得を複数回、繰り返して行い、第１部位の位置の履歴に基づき被写体の動きを認識し、被写体の動きに対応するコマンドを出力する。実施例１では、表示制御装置２００は、ユーザ１０２の手１０４の動き及び形状を取得し、それに基づき、ジェスチャを判定し、ユーザ１０２が入力した画像処理のコマンドを判定する。表示制御装置２００は、コマンド内容に応じて、表示装置４００に表示する画像４０１に対する画像処理を制御する。例えば、ユーザ１０２が、撮像範囲１０１内で手１０４を動かした場合、表示制御装置２００は、撮像範囲１０１と手１０４の人差し指の先端との位置関係に基づき、人差し指の先端の位置に対応する表示画像４０１における位置を求める。そして、表示画像４０１の当該位置にカーソル４０２を合成する画像処理を行う。
【００１２】
図２は、本発明を適用した表示制御装置２００の構成例を示すブロック図である。
表示制御装置２００は、データ保存部２０１、画像入力部２０２、表示制御部２０３、撮像画像入力部２０４、特定部２０５、位置情報決定部２０６、位置情報補正部２０７、ジェスチャ判定部２０８、補正モデル保持部２０９を備える。また、表示制御装置２００は、不図示のＣＰＵ、ＲＯＭ、及びＲＡＭを備える。ＣＰＵは、ＲＯＭに格納されたプログラムに従い、ＲＡＭをワークメモリとし、タイマーを使用して時間管理を行い、表示制御装置２００全体の動作を制御する。
【００１３】
データ保存部２０１は、表示装置４００に表示する静止画像を保存する。
画像入力部２０２は、データ保存部２０１から複数の静止画像を入力し、画像順番等のインデックス情報を静止画像に付加し、表示制御部２０３へ静止画像を出力する。
表示制御部２０３は、入力された静止画像にＧＵＩ（Graphical User Interface）を構成する画像部品（画像切替えのためのボタンやカーソル等）を合成描画した上で、出力画像を生成し、出力画像を表示装置４００に出力する。
撮像画像入力部２０４は、撮像装置１００から撮像によって得られた撮像画像を入力し、特定部２０５へ撮像画像を出力する。
【００１４】
特定部２０５は、入力された撮像画像内に含まれる手と指を特定し、手情報ｈａｎｄを生成する。特定部２０５は、位置情報決定部２０６へ撮像画像及び手情報ｈａｎｄを出力する。ここで、手情報ｈａｎｄとは、少なくとも、異なる手の形状を判別できる情報とする。例えば、図３（Ａ）は握った形状（クローズ状態）の手に対応する手情報ｈａｎｄ、図３（Ｂ）は人差し指を伸ばした形状（ポイント状態）の手に対応する手情報ｈａｎｄを示す。図３の例では、手情報ｈａｎｄは、手、親指、人差し指、中指、薬指、小指の有無を示す値の組み合わせで示される。手の形状はこれに限らない。例えば手を開いた形状（オープン状態）や、人差し指と中指を伸ばした形状等、種々の形状が考えられるがここでは記載を割愛する。
【００１５】
位置情報決定部２０６は、手情報ｈａｎｄから撮像画像内の手１０４の各部位の位置情報ｐｏｓを決定する。ここで、手１０４の各部位とは、手首、手の中心、各指の付け根、各指の先端であり、位置情報ｐｏｓはこれら各部位の位置情報を含む。例えば、図４（Ａ）はクローズ状態の手に対応する位置情報ｐｏｓ、図４（Ｂ）はポイント状態の手に対応する位置情報ｐｏｓを示す。手の一部の指が開いていないような状態や手の一部の指の先端が撮像範囲外に位置する場合、該指の先端の位置情報の値はＮＵＬＬになるものとする
。位置情報決定部２０６は、手の各部位の位置情報ｐｏｓを位置情報補正部２０７に出力する。
【００１６】
位置情報補正部２０７は、手１０４の各部位の位置情報ｐｏｓを補正する。位置情報補正部２０７は、手１０４の各部位の位置情報ｐｏｓ及びＲＡＭに保存されている前回判定したジェスチャ情報ｇｅｓ（ｔ−１）が特定の条件を満たした場合に補正を行う。位置情報補正部２０７は、予め補正モデル保持部２０９に記憶した補正モデル情報ｍｄｌを用いて補正を行う。補正モデル情報及び補正方法の詳細は後述する。
【００１７】
位置情報補正部２０７は、手１０４の各部位の位置情報ｐｏｓに基づき、手１０４の位置の指標となる部位（指標部位）の位置情報ｉｐｏｓを求める。指標部位の位置情報ｉｐｏｓは、カーソル制御及びマーキングの制御で用いられる。例えば、カーソル制御及びマーキングのコマンド入力を行うためのジェスチャは人差し指を伸ばしたポイント状態であり、この状態の手の位置の指標となる部位は人差し指の先端である。この場合、カーソル制御及びマーキング用の指標部位の位置情報ｉｐｏｓとは、具体的にはポイント状態の手の位置情報ｐｏｓのうち、人差し指の先端の位置情報である。
【００１８】
位置情報補正部２０７は、手１０４の各部位の位置情報ｐｏｓをジェスチャ判定部２０８に出力し、カーソル制御及びマーキング用の指標部位の位置情報ｉｐｏｓを表示制御部２０３に出力する。また、位置情報補正部２０７は、今回の指標部位の位置情報ｉｐｏｓ（ｔ）をＲＡＭ上に保持する。引数（ｔ）は今回取得した位置情報であることを意味する。引数（ｔ−１）は前回取得した位置情報であることを意味する。
【００１９】
ジェスチャ判定部２０８は、手の各部位の位置情報ｐｏｓと手形状ジェスチャ対応テーブルとに基づき、ジェスチャｇｅｓを判定する。ここで、手形状ジェスチャ対応テーブルとは、手の各部位の位置情報ｐｏｓにおける各部位の値の有無の組み合わせと、その組み合わせに対応するジェスチャｇｅｓと、の対応関係を表すテーブルである。図５に手形状ジェスチャ対応テーブルの一例を示す。図５において、手の各部位の位置情報ｐｏｓにおける値の有無は、位置情報の値がＮＵＬＬであれば「無」、ＮＵＬＬ以外であれば「有」で示す。例えば、手の各部位の位置情報ｐｏｓにおいて、全ての部位の位置情報がＮＵＬＬ以外である場合は、ジェスチャｇｅｓは全ての指を伸ばした状態Ｏｐｅｎであると判断される。全ての指について先端部位の値が「無」の場合、手を握った状態Ｃｌｏｓｅである。人差し指のみ先端部位の値が「有」の場合、人差し指を伸ばした状態Ｐｏｉｎｔである。ジェスチャ判定部２０８は、ジェスチャ情報ｇｅｓ（ｔ）をＲＡＭに保持する。ジェスチャ判定部２０８は、表示制御部２０３へコマンド決定指示を出力する。
【００２０】
表示制御部２０３は、カーソル制御部２１０、コマンド決定部２１１、描画部２１２、及び画像出力部２１３を備える。
【００２１】
カーソル制御部２１０は、位置情報補正部２０７から入力されたカーソル制御用の指標部位の位置情報ｉｐｏｓから、カーソル位置情報ｃｐｏｓを算出する。カーソル制御部２１０は、カーソル位置情報ｃｐｏｓ（ｔ）をＲＡＭ上に保存する。カーソル制御部２１０は、カーソル位置情報ｃｐｏｓを描画部２１２へ出力する。
【００２２】
コマンド決定部２１１は、ＲＡＭに格納されたジェスチャ履歴ｇｅｓ（ｎ）とジェスチャ変換テーブルに基づき、コマンド情報ｏｐｅを求める。ジェスチャ履歴ｇｅｎ（ｎ）は、ここでは、今回（ｔ）と前回（ｔ−１）のジェスチャ判定結果ｇｅｎの組み合わせ、又は、今回（ｔ）と前回（ｔ−１）と前々回（ｔ−２）のジェスチャ判定結果ｇｅｎの組み合わせとする。ジェスチャ変換テーブルとは、ジェスチャ履歴ｇｅｓ（ｎ）に対応するコマンドを表すテーブルである。図６にジェスチャ変換テーブルの一例を示す。コマンド決
定部２１１は、コマンド情報ｏｐｅを描画部２１２へ出力する。
【００２３】
描画部２１２は、静止画像、コマンド情報ｏｐｅ、及びカーソル位置情報ｃｐｏｓに基づき、マーキング等の画像を合成（重畳）し、指定の拡大率で拡大・縮小した静止画像にカーソルの画像を合成し、出力画像として画像出力部２１３へ出力する。
画像出力部２１３は、出力画像を表示装置４００へ出力し、画像表示４０１が得られる。
【００２４】
次にシステム構成全体の動作について、図７に示すフローチャートを用いて説明する。
ユーザ１０２が撮像装置１００、表示制御装置２００、及び表示装置４００の電源オン操作を行うと、電源オンをトリガとして、本フローチャートの処理は開始される。
【００２５】
Ｓ７０１において、画像入力部２０２は、データ保存部２０１から静止画像を取得する。図８に静止画像の例を示す。画像入力部２０２は、描画部２１２へ静止画像を出力する。描画部２１２は、縦１９２０×横１０８０画素からなる表示画像を生成する。描画部２１２は、表示画像を画像出力部２１３へ出力する。画像出力部２１３は、表示装置４００に表示画像を出力することで、表示装置４００において画像表示４０１が実現する。
【００２６】
Ｓ７０２において、撮像装置１００は、表示制御装置２００の表示装置４００への画像表示の完了をトリガとして、撮像を開始する。撮像開始後、ユーザ１０２は、撮像範囲１０１内で手１０４によりジェスチャすることで表示制御装置２００にコマンドを入力することができる。
【００２７】
＜補正が不要な場合の処理＞
次に、撮像画像から被写体の第１部位の位置を取得できる場合の処理を説明する。具体的な実施例１の処理として、静止画像にマーキングを行うコマンドをジェスチャ入力する処理において、手・指の位置情報の補正が不要である場合について、図９に示すフローチャートを用いて説明する。撮像画像入力部２０４への撮像画像の入力をトリガとして、表示制御装置２００は本フローチャートを開始する。
ここで、撮像画像は横１６０×縦９０画素とする。ユーザ１０２は、図１２（Ａ）に示すように、手をポイント状態にしているものとする。
【００２８】
Ｓ９０１において、撮像画像入力部２０４は、特定部２０５へ撮像画像を出力する。特定部２０５は、入力された撮像画像に写っている手と指を特定する。特定部２０５の処理は、予めＲＯＭに記憶した手の形状、輪郭、シルエット等の情報に基づいて行われる。次に、特定部２０５は、手情報ｈａｎｄを生成する。ここでは、手１０４は図１２（Ａ）のようにポイント状態であるため、手情報ｈａｎｄは、図３（Ａ）のように、手１、親指０、人差し指１、中指０、薬指０、小指０となる。特定部２０５は、位置情報決定部２０６へ撮像画像と手情報ｈａｎｄを出力する。
【００２９】
Ｓ９０２において、位置情報決定部２０６は、撮像画像と手情報ｈａｎｄとから手１０４の各部位の位置情報ｐｏｓを決定する。ここでは、図４（Ｂ）に示すような手１０４の各部位の位置情報ｐｏｓが得られる。Ｓ９０１で得られた手情報ｈａｎｄ（図３（Ｂ））において人差し指以外の指の値が「０」であるため、位置情報ｐｏｓは、指の先端の位置情報については、人差し指以外の指は値を持たない（ＮＵＬＬとなる）。位置情報決定部２０６は、手１０４の各部位の位置情報ｐｏｓを位置情報補正部２０７に出力する。
【００３０】
Ｓ９０３において、位置情報補正部２０７は、手１０４の各部位の位置情報ｐｏｓを参照し、人差し指の先端の位置情報があるか判定する。ある場合（Ｓ９０３：Ｙｅｓ）、位置情報補正部２０７は、位置情報ｐｏｓの補正は不要と判断し、Ｓ９０２で取得した手１
０４の各部位の位置情報ｐｏｓをジェスチャ判定部２０８に出力する。ここでは手１０４がポイント状態であるため、位置情報補正部２０７は、位置情報ｐｏｓのうち人差し指の先端の位置情報をカーソル制御用の指標部位の位置情報ｉｐｏｓ（ｘｉ、ｙｉ）として、カーソル制御部２１０へ出力する。位置情報補正部２０７は、指標部位の位置情報ｉｐｏｓ（ｘｉ、ｙｉ）（ｔ）をＲＡＭ上に保持する。処理はＳ９０６に進む。なお、手１０４の各部位の位置情報ｐｏｓに人差し指の先端の位置情報がない場合（Ｓ９０３：Ｎｏ）については、後述する。
【００３１】
Ｓ９０６において、ジェスチャ判定部２０８は、手１０４の各部位の位置情報ｐｏｓと手形状ジェスチャ対応テーブルとに基づき、ジェスチャｇｅｓを判定する。ジェスチャ判定部２０８は、Ｓ９０３で位置情報補正部２０７から取得した手の各部位１０４の位置情報ｐｏｓ（図１２（Ｂ））において、人差し指のみ先端の位置情報があるため、ジェスチャｇｅｓはＰｏｉｎｔと判定する。ジェスチャ判定部２０８は、ジェスチャ情報ｇｅｓをジェスチャ履歴ｇｅｓ（ｔ）に設定し、ＲＡＭに保持する。ジェスチャ判定部２０８は、コマンド決定部２１１へジェスチャｇｅｓを出力する。
【００３２】
Ｓ９０７において、コマンド決定部２１１は、ＲＡＭに保存されているジェスチャｇｅｓ（ｎ）とジェスチャ変換テーブル（図６）とに基づき、コマンド情報ｏｐｅを求める。ここでは、ジェスチャ履歴ｇｅｓ（ｔ−１）及びｇｅｓ（ｔ）がＰｏｉｎｔであったとする。この場合、コマンド決定部２１１は、コマンドをマーキング及びカーソル移動と決定する。コマンド決定部２１１は、コマンド情報ｏｐｅ（マーキング及びカーソル移動）を描画部２１２へ出力する。
【００３３】
Ｓ９０８において、カーソル制御部２１０は、位置情報補正部２０７から入力された指標部位の位置情報ｉｐｏｓ（ｘｉ、ｙｉ）に基づき、カーソル位置情報ｃｐｏｓ（ｘｃ、ｙｃ）を算出する。ここで、カーソル制御部２１０は、撮像画像と出力画像の画素数比に基づき、ｘｃ、ｙｃを下記式より算出し、カーソル位置情報ｃｐｏｓ（ｘｃ、ｙｃ）の座標を求める。
ｘｃ＝ｘｉ×出力画像の横画素数÷撮像画像の横画素数
ｙｃ＝ｙｉ×出力画像の縦画素数÷撮像画像の縦画素数
図１２（Ｂ）に示すように、指標部位の位置情報ｉｐｏｓが（１３０、５０）である場合には、上記式よりカーソル位置情報ｃｐｏｓは（１５６０、６００）となる。カーソル制御部２１０は、カーソル位置情報ｃｐｏｓを描画部２１２へ出力する。
【００３４】
Ｓ９０９において、描画部２１２は、Ｓ９０７で決定されたコマンド情報ｏｐｅと、Ｓ９０８で求められたカーソル位置情報ｃｐｏｓとに基づき、描画処理を実行する。ここではコマンド情報ｏｐｅにマーキングが含まれている。そのため、描画部２１２は、ＲＡＭ上に保存されているカーソル位置情報ｃｐｏｓ（ｔ−１）と、カーソル位置情報ｃｐｏｓ（ｔ）とに基づき、これらの点を結ぶラインを静止画像に合成することによりマーキングの画像処理を行う。また、コマンド情報ｏｐｅにカーソル移動が含まれているため、描画部２１２は、カーソル位置情報ｃｐｏｓで示される位置において静止画像にカーソルを示す画像を合成する。その後、描画部２１２は、マーキング（ライン）及びカーソルを合成した静止画像を出力画像として画像出力部２１３へ出力する。
【００３５】
Ｓ９１０において、画像出力部２１３は、出力画像を表示装置４００へ出力し、画像表示４０１が得られる。これにより、図１２（Ｃ）に示すように、元の静止画像に対し、ユーザ１０２の手１０４のジェスチャに応じたカーソル及びマーキングをすることができる。
【００３６】
＜補正が必要な場合の処理＞
次に、撮像画像から被写体の第１部位の位置を取得できない場合の処理を説明する。この場合、表示制御装置２００は、撮像画像から、第１部位の位置を推測するための所定の第２部位の位置を取得し、第２部位の位置に基づき第１部位の位置を推測することにより、第１部位の位置を取得する。そして、推測して得られた第１部位の位置に基づくコマンドを出力する。具体的な実施例１の処理として、静止画像にマーキングを行うコマンドをジェスチャ入力する処理において、手・指の位置情報の補正が必要となる場合について図９に示すフローチャートを用いて説明する。撮像画像入力部２０４への撮像画像の入力をトリガとして、表示制御装置２００は本フローチャートを開始する。
ここで、撮像画像は横１６０×縦９０画素とする。ユーザ１０２は、図１３（Ａ）に示すように、手をポイント状態にしていて、人差し指の先端が撮像範囲外に位置しているものとする。
【００３７】
Ｓ９０１において、撮像画像入力部２０４は、特定部２０５へ撮像画像を出力する。特定部２０５は、入力された撮像画像に基づき手情報ｈａｎｄを生成する。ここで、図１３（Ａ）のように、手１０４は実際にはポイント状態であるが、人差し指の先端が撮像範囲外にあるため、手情報ｈａｎｄは、図３（Ａ）のように手１、親指０、人差し指０、中指０、薬指０、小指０となる。特定部２０５は、位置情報決定部２０６へ撮像画像と手情報ｈａｎｄを出力する。
【００３８】
Ｓ９０２において、位置情報決定部２０６は、撮像画像と手情報ｈａｎｄとから手１０４の各部位の位置情報ｐｏｓを決定する。ここでは、図４（Ａ）に示すような手１０４の各部位の位置情報ｐｏｓが得られる。Ｓ９０１で得られた手情報ｈａｎｄ（図３（Ａ））において、全ての指の値が「０」であるため、位置情報ｐｏｓは、指の先端の位置情報については、全ての指で値を持たない（ＮＵＬＬとなる）。位置情報決定部２０６は、手１０４の各部位の位置情報ｐｏｓを位置情報補正部２０７に出力する。
【００３９】
Ｓ９０３において、位置情報補正部２０７は、手１０４の各部位の位置情報ｐｏｓを参照し、人差し指の先端の位置情報があるか（第１部位の位置を取得できるか）判定する。ここでは、位置情報補正部２０７は、手１０４の各部位の位置情報ｐｏｓを参照し、人差し指の先端の位置情報がないと判断し（Ｓ９０３：Ｎｏ）、Ｓ９０４へ進む。
【００４０】
Ｓ９０４において、位置情報補正部２０７は、ＲＡＭ上のジェスチャ履歴ｇｅｓ（ｔ−１）を参照し、前回のジェスチャがＰｏｉｎｔであるか判断する。前回のジェスチャがＰｏｉｎｔである場合（Ｓ９０４：Ｙｅｓ）、位置情報補正部２０７は、Ｐｏｉｎｔジェスチャが継続していると判断し、Ｓ９０５へ進む。前回のジェスチャがＰｏｉｎｔでない場合（Ｓ９０４：Ｎｏ）、処理はＳ９０６へ進む。
【００４１】
Ｓ９０５において、位置情報補正部２０７は、カーソル制御及びマーキング用の指標部位である人差し指先端の位置情報を求めるために、手１０４の各部位の位置情報ｐｏｓの補正処理を行う。補正処理の詳細については、後述する。ここで、手１０４の各部位の位置情報ｐｏｓの補正処理の結果、手１０４はＰｏｉｎｔ状態であり、人差し指の先端の位置情報は１６０×９０画素の撮像画像の範囲外の（１７０、６０）となるものとする。位置情報補正部２０７は、補正後の手１０４の状態はポイント状態であるため、カーソル制御用の指標部位の位置情報ｉｐｏｓ（ｘｉ、ｙｉ）として、補正後の手１０４の各部位の位置情報ｐｏｓにおける人差し指の先端の位置情報をカーソル制御部２１０へ出力する。位置情報補正部２０７は、指標部位の位置情報ｉｐｏｓ（ｘｉ、ｙｉ）（ｔ）をＲＡＭ上に保持する。処理はＳ９０６に進む。
【００４２】
Ｓ９０６において、ジェスチャ判定部２０８は、手１０４の各部位の位置情報ｐｏｓと手形状ジェスチャ対応テーブルとに基づき、ジェスチャｇｅｓを判定する。ジェスチャ判定部２０８は、Ｓ９０５で補正された手の各部位１０４の位置情報ｐｏｓ（図１３（Ｂ））において、人差し指のみ先端の位置情報があるため、ジェスチャｇｅｓはＰｏｉｎｔと判定する。ジェスチャ判定部２０８は、ジェスチャ情報ｇｅｓをジェスチャ履歴ｇｅｓ（ｔ）に設定し、ＲＡＭに保持する。ジェスチャ判定部２０８は、コマンド決定部２１１へジェスチャｇｅｓを出力する。
【００４３】
Ｓ９０７において、コマンド決定部２１１は、ＲＡＭに保存されているジェスチャｇｅｓ（ｎ）とジェスチャ変換テーブル（図６）とに基づき、コマンド情報ｏｐｅを求める。ここでは、ジェスチャ履歴ｇｅｓ（ｔ−１）及びｇｅｓ（ｔ）がＰｏｉｎｔであったとする。この場合、コマンド決定部２１１は、コマンドをマーキング及びカーソル移動と決定する。コマンド決定部２１１は、コマンド情報ｏｐｅ（マーキング及びカーソル移動）を描画部２１２へ出力する。
【００４４】
Ｓ９０８において、カーソル制御部２１０は、位置情報補正部２０７から入力された指標部位の位置情報ｉｐｏｓ（ｘｉ、ｙｉ）に基づき、カーソル位置情報ｃｐｏｓ（ｘｃ、ｙｃ）を算出する。ここで、カーソル制御部２１０は、撮像画像と出力画像の画素数比に基づき、ｘｃ、ｙｃを下記式より算出し、カーソル位置情報ｃｐｏｓ（ｘｃ、ｙｃ）の座標を求める。
ｘｃ＝ｘｉ×出力画像の横画素数÷撮像画像の横画素数
ｙｃ＝ｙｉ×出力画像の縦画素数÷撮像画像の縦画素数
図１３（Ｂ）に示すように、指標部位の位置情報ｉｐｏｓが（１７０、６０）である場合には、上記式よりカーソル位置情報ｃｐｏｓは（２０４０、７２０）となる。カーソル制御部２１０は、カーソル位置情報ｃｐｏｓを描画部２１２へ出力する。
【００４５】
Ｓ９０９において、描画部２１２は、Ｓ９０７で決定されたコマンド情報ｏｐｅと、Ｓ９０８で求められたカーソル位置情報ｃｐｏｓとに基づき、描画処理を実行する。ここではコマンド情報ｏｐｅにマーキングが含まれているため、描画部２１２は、ＲＡＭ上に保存されているカーソル位置情報ｃｐｏｓ（ｔ−１）と、カーソル位置情報ｃｐｏｓ（ｔ）とに基づき、これらの点を結ぶラインを求め、マーキングの画像処理を行う。
【００４６】
ここでは、指標部位の位置情報ｉｐｏｓが撮像範囲外の位置（１７０、６０）であり、カーソル位置情報ｃｐｏｓが表示装置４００に表示される範囲外の位置（２０４０、７２０）であるため、描画部２１２は、静止画像にラインを合成する画像処理は行わない。しかし、ラインの情報は保持しておき、今後、表示画像の移動、拡大及び縮小の少なくともいずれかの画像処理により当該ラインが表示装置４００に表示される範囲内に入った場合に、保持したラインの情報に基づき当該ラインを表示画像に合成する画像処理を行う。これにより、不自然でないマーキングを実現する。例えば、元の静止画像が拡大表示された状態でマーキングが行われている場合、表示範囲外の位置（２０４０、７２０）にも元の静止画像のデータが存在するので、拡大表示が解除された場合には、当該位置が表示範囲内の位置になる。このような場合に、拡大表示時に表示範囲外にあったマーキングの情報を持っているので、拡大表示解除時に適切な位置にマーキングを合成することができる。
【００４７】
また、コマンド情報ｏｐｅにカーソル移動が含まれているため、描画部２１２は、カーソル位置情報ｃｐｏｓで示される位置において静止画像にカーソルを示す画像を合成する。ここでは、指標部位の位置情報ｉｐｏｓが撮像範囲外の位置（１７０、６０）であり、カーソル位置情報ｃｐｏｓが表示装置４００に表示される範囲外の位置（２０４０、７２
０）である。そのため、描画部２１２は、表示範囲外にあるカーソルの位置を示す画像を静止画像に合成する。図１３（Ｃ）の例では、ｘプラス方向の範囲外にカーソルが位置していることがユーザに分かるように、（１９２０、７２０）の位置に、ｘプラス方向を指した矢印画像を合成している。これにより、カーソルが表示範囲外にどの位置しているかユーザが認識することができる。
その後、描画部２１２は、マーキング（ライン）及び表示範囲外にあるカーソルの位置を示す画像を合成した静止画像を出力画像として画像出力部２１３へ出力する。
【００４８】
Ｓ９１０において、画像出力部２１３は、出力画像を表示装置４００へ出力し、画像表示４０１が得られる。
これにより、図１３（Ｃ）に示すように、ユーザ１０２がジェスチャによるコマンド入力をしている途中で、マーキングやカーソル制御の指標部位である人差し指の先端が撮像範囲外に出てしまった場合でも、マーキングが継続される。
【００４９】
＜補正処理＞
次に、図１０を用いて、位置情報補正部２０７における手１０４の各部位の位置情報ｐｏｓの補正処理フローについて説明する。
【００５０】
Ｓ１００１において、位置情報補正部２０７は、予め補正モデル保持部２０９に記憶してある補正モデル情報ｍｄｌを取得する。補正モデル情報とは、図１１に示すような、手の状態がＰｏｉｎｔジェスチャ時の、手の各部位の位置関係を数値化したものである。図１１の例では、手首の位置を（０、０）、人差し指の先端の位置を（ｘ、ｙ）とした場合の、手の各部位の位置と人差し指の先端の位置との位置関係を補正係数（ｘ係数、ｙ係数）として表している。ここでは、補正モデル保持部２０９には、手首の回転角度に応じた複数の補正モデルが記憶されているものとする。位置情報補正部２０７は、手１０４の各部位の位置情報ｐｏｓの数値と補正モデル情報ｍｄｌの各係数とを比較し、現在の手の状態に最も近い形状モデルに基づき求められた補正モデルを使用することで、補正の精度を向上する。補正モデルは、被写体（実施例１の場合はユーザの手）の形状モデルにおける第１の部位と第２の部位との位置関係に基づき定められたものである。
【００５１】
Ｓ１００２において、位置情報補正部２０７は、Ｓ１００１で取得した補正モデル情報ｍｄｌに基づき、人差し指の先端の補正位置情報を算出する。ここでは、図１１の補正モデル情報ｍｄｌを使用する例について説明する。補正モデル情報ｍｄｌを使用することで、少なくとも２点の位置情報が取得できていれば、人差し指の先端の補正位置情報を算出することができる。例えば、手首及び手の中心の２点の位置情報から人差し指の先端の補正位置情報を算出する式は以下のようになる。
ｘｐ＝（ｘｈ−ｘｎ）／ｍｈ＋ｘｎ
ｙｐ＝（ｙｈ−ｙｎ）／ｎｈ＋ｙｎ
ここで、人差し指先端の補正位置情報を（ｘｐ、ｙｐ）、手首の位置情報を（ｘｎ、ｙｎ）、手の中心の位置情報を（ｘｈ、ｙｈ）、手の中心の補正係数を（ｍｈ、ｎｈ）とする。人差し指の先端の位置が第１部位の位置であり、人差し指の先端の位置を求めるための複数（少なくとも２点）の位置が、第１部位の位置を推測するための第２部位の位置である。このように、本発明では撮像画像から第１部位の位置を取得できない場合、第２部位の位置から第１部位の位置を推測することにより取得する。推測する際には、上記のように、第１部位の位置と第２部位の位置との予め定められた対応関係である補正モデルの情報を記憶手段に記憶させておき、この対応関係に基づき第２部位の位置から第１部位の位置を推測する。
【００５２】
図１３（Ｂ）の例では、手首の位置情報が（１４０、４５）、手の中心の位置情報が（１５０、５０）であり、図１１の補正モデル情報ｍｄｌより手の中心の補正係数が（０．３３、０．３３）である。この場合、上記式より人差し指先端の補正位置情報は（１７０、６０）となる。
【００５３】
Ｓ１００３において、位置情報補正部２０７は、Ｓ１００２で算出した人差し指先端の補正位置情報（ｘｐ、ｙｐ）が撮像範囲外かどうかを判別する。ここでは、１６０×９０画素の撮像範囲に対して、人差し指先端の補正位置情報（ｘｐ、ｙｐ）は（１７０、６０）でありプラスｘ方向で撮像範囲を超えているため、位置情報補正部２０７は撮像範囲外と判断する。人差し指先端の補正位置情報（ｘｐ、ｙｐ）が撮像範囲外の場合（Ｓ１００３：Ｙｅｓ）、Ｓ１００４へ進み、それ以外の場合、このフローチャートの処理を終了する。
【００５４】
Ｓ１００４において、位置情報補正部２０７は、上記判断によって、撮像範囲外においてＰｏｉｎｔジェスチャが継続していると判断する。そして、手１０４の各部位の位置情報ｐｏｓの人差し指先端の位置情報を、Ｓ１００３で算出した人差し指先端の補正位置情報（ｘｐ、ｙｐ）に置き換える。結果として、人差し指先端の位置情報を（ＮＵＬＬ、ＮＵＬＬ）から（１７０、６０）に補正した手１０４の各部位の位置情報ｐｏｓが出力される。
【００５５】
以上のように、本発明では、撮像装置により所定の撮像範囲を撮像して得られた撮像画像から第１部位及び第２部位の位置を取得する。そして、第１部位が撮像範囲外にあり、かつ第２部位が撮像範囲内にある場合、第２部位の位置に基づき第１部位の位置を推測する。
実施例１によれば、図１４（Ａ）に示すように、ユーザのジェスチャが撮像範囲外に移動した場合においてもマーキングを途切れることなく継続することができる。表示範囲外のマーキングの情報を保持しておくことにより、移動、拡大、縮小等の画像処理により当該マーキングが表示範囲内になったときに当該マーキングを描画することができる。このように、実施例１では、ユーザ１０２が、ジェスチャ操作によるマーキングの途中で、手が撮像範囲外に出てしまった場合でも、自然な、ユーザの意図に沿ったマーキングが可能となり、操作性が向上する。
【００５６】
上記の実施例１には、本発明の範囲内で以下のような種々の変形が可能である。以下の変形を行った実施例も本発明の範囲に含まれる。
撮像装置１００がＸ−Ｙ平面でユーザ１０２を撮像できるようにしたが、Ｘ−Ｚ平面でユーザ１０２の手１０４のみを撮像できるよう実施しても良い。その際、Ｚ座標を測定するため、撮像装置１００を２眼のステレオカメラにし、三角測定するよう実施しても良いし、もしくは、距離センサーを用いて測定するようにしても良い。
【００５７】
人差し指の先端をマーキング及びカーソル制御用の指標部位としたが、例えば手の中心等他の部位を指標部位としても良い。
位置情報を検出可能な手・指の部位として、各指の付け根、先端、手首、手の中心としたが、指の各関節や、腕の部位等、より多くの部位の位置情報を検出できるようにしても良い。
【００５８】
補正処理として、人差し指の先端以外の任意の組み合わせから人差し指の先端の位置情報を計算する方法を例示した。しかし、人差し指の先端以外の部位に計算に使用する優先順位を設定して、優先順位の高い複数部位の位置に基づき人差し指の先端の位置を計算するようにしても良い。あるいは、人差し指の先端以外の部位の組み合わせ結果に重みづけをして、全ての組み合わせで計算した結果及び重みづけの値によって人差し指の先端の位
置情報を計算するよう実施しても良い。あるいは、上記実施例では複数（２個）の第２部位の位置に基づき第１部位の位置を推測する例を示したが、１つの第２部位の位置に基づき第１部位の位置を推測しても良い。例えば、第１部位の取得及び第２部位の取得を複数回、繰り返して行う。そして、撮像画像から第１部位の位置を取得できない回があった場合、その回における第２部位の位置及びそれ以前の回で取得した第２部位の位置の履歴と、第２部位と第１部位との位置関係に基づき、第１部位の位置を推測しても良い。具体的には、人差し指の先端以外の１点の部位の移動軌跡から人差し指の先端の位置情報を予測するようにしても良い。
【００５９】
表示制御装置にジェスチャ操作検出用の撮像カメラのみ設置としたが、視線検出用のカメラを設置して、人差し指の先端以外の部位の位置情報及び視線情報から、人差し指の先端の位置情報を予測するようにしても良い。
人差し指の先端が撮像範囲外に移動した場合に、補正した位置情報を適用したが、カメラと手の前の障害物を検出する手段を持ち、障害物によって位置情報が取得できなかった場合にも補正処理によって位置情報を取得するようにしても良い。
【００６０】
カーソル表示の形状を矢印にしたが、例えばカーソル表示を５本の指の開閉具合がわかる手形状のものとしても良い。カーソルを一つとしたが、特定した手の数だけ、前述の手形状のカーソルを表示するようにしても良い。
ユーザ１０２が操作する手１０４を片手のみとしているが、両手でジェスチャ操作するよう実施しても良い。
静止画像を対象としたが、動画像を対象とする構成で実施しても良い。
カーソル表示をジェスチャでのみ制御したが、マウスやキーボードからも制御できる構成で実施しても良い。
データ保存部２０１を表示制御装置２００内にしたが、表示制御装置２００の外に配置して、例えばＵＳＢメモリや、サーバーとＬＡＮで接続された構成で実施しても良い。
表示制御装置２００は、ユーザのジェスチャに応じた画像処理のコマンドを出力する例を説明したが、コマンドは画像処理に限らない。ユーザの指令に応じた動作を行うことが想定されたあらゆる機器に対しジェスチャによりコマンドを出力するシステムに本発明は適用できる。
【００６１】
（実施例２）
本発明の実施例２について、説明する。以下、実施例２にかかる説明は、実施例１との相違点となる、ユーザ１０２の手の形状に応じた補正モデルの修正についてのみ説明する。実施例２では、実際の被写体の撮像画像から取得した第１部位の位置及び／又は第２部位の位置に基づき、第１部位の位置と第２部位の位置の対応関係を補正する例を説明する。
図１５は、本発明を適用した表示制御装置２００の構成例を示すブロック図である。
位置情報決定部２０６は、手１０４の各部位の位置情報ｐｏｓを特定後、位置情報補正部２０７に出力するとともに、補正モデル修正部３０１に手１０４の各部位の位置情報ｐｏｓを出力する。
【００６２】
補正モデル修正部３０１は、手１０４の各部位の位置情報ｐｏｓを取得すると、補正モデル保持部２０９から取得した補正モデル情報ｍｄｌに対して、現在のユーザの手の部位の位置関係を反映するような補正モデル情報ｍｄｌ’を算出して保持する。図１６（Ａ）は補正前の補正モデル情報ｍｄｌを示し、図１６（Ｂ）は補正後の補正モデル情報ｍｄｌ’を示す。
位置情報補正部２０７は、位置情報の補正が必要と判断された場合に、補正モデル修正部３０１より補正モデル情報ｍｄｌ’を取得して、位置情報の補正に利用する。
以上のように、本発明の実施例２では、ユーザ１０２の手の形状に応じて補正モデルを
修正することで、位置情報の補正精度を高めることができる。
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６３】
１００：撮像装置、１０４：手、２０４：撮像画像入力部、２０６：位置情報決定部、２０７：位置情報補正部、２１０：操作決定部
【図１】
0006559017.tif 000002
【図２】
0006559017.tif 000003
【図３】
0006559017.tif 000004
【図４】
0006559017.tif 000005
【図５】
0006559017.tif 000006
【図６】
0006559017.tif 000007
【図７】
0006559017.tif 000008
【図８】
0006559017.tif 000009
【図９】
0006559017.tif 000010
【図１０】
0006559017.tif 000011
【図１１】
0006559017.tif 000012
【図１２】
0006559017.tif 000013
【図１３】
0006559017.tif 000014
【図１４】
0006559017.tif 000015
【図１５】
0006559017.tif 000016
【図１６】
0006559017.tif 000017
【図１７】
0006559017.tif 000018