(57)【要約】【課題】ハンドポインティングによるジェスチャー認識装置において、特定部位がディスプレイ上の特定の項目を選択しようとしているのか、ディスプレイ上の特定の位置をポインティングしようとしているのかを正確に認識することができる。【解決手段】特定部位をトラッキングすることで得られるトラッキング情報（ＤＴＲ）から、特定部位（１０２）がディスプレイ上の特定の項目の選択を意図しているのかディスプレイ上の特定の位置に対するポインティングを意図しているのかを判定する。仮想操作面（ＢＭ）を定義し、仮想操作面（ＢＭ）に対応する操作領域の座標系（３１１）とディスプレイの座標系（３０２）の対応関係を利用して、撮像画像中に検出された特定部位に対応する、ディスプレイ上の位置を、ポインティング位置として認識する。【選択図】図２
2018032055.tif 000002
【特許請求の範囲】
【請求項１】
撮像により順次得られる複数のフレームの撮像画像の各々から手の特定部位を検出する特定部位検出部と、
前記特定部位検出部で検出した前記特定部位を複数のフレームに亘りトラッキングするトラッキング部と、
前記トラッキング部によるトラッキングにより得られた特定部位の位置の変化を示すトラッキング情報を記憶するトラッキング情報記憶部と、
前記トラッキング情報記憶部に記憶されている前記トラッキング情報から、前記特定部位がディスプレイ上の特定の項目の選択を意図しているのか前記ディスプレイ上の特定の位置に対するポインティングを意図しているのかを判定する動作認識部と
を有するジェスチャー認識装置。
【請求項２】
前記トラッキング部は、あるフレームの撮像画像から検出された前記特定部位の、当該撮像画像中の位置と、次のフレームの撮像画像から検出された前記特定部位の、当該撮像画像中の位置との間隔が、予め定められた値未満である場合に、当該２つのフレームの撮像画像において検出された前記特定の部位が、同一の特定部位であると判定すること
を特徴とする請求項１に記載のジェスチャー認識装置。
【請求項３】
前記動作認識部は、前記特定部位が予め定められた時間以上同じところに留まり続けた場合、その時点でポインティングされている位置に表示されている前記ディスプレイ上の項目が選択されていると判定すること
を特徴とする請求項１又は２に記載のジェスチャー認識装置。
【請求項４】
前記動作認識部は、あるフレームの撮像画像における前記特定部位の位置が、１つの前のフレームの撮像画像における特定部位の位置を中心とした、予め定められた距離の範囲内にあれば、同じところに留まり続けていると判定する
ことを特徴とする請求項３に記載のジェスチャー認識装置。
【請求項５】
前記トラッキング情報から、仮想操作面の指定意図を認識し、該認識の結果に基づいて前記仮想操作面を定義する仮想操作面認識部と、
前記定義された前記仮想操作面に対応する撮像画像中の操作領域の座標系と前記ディスプレイの座標系の対応関係を示すマッピング情報を記憶するマッピング情報記憶部と、
前記対応関係を利用して、前記撮像画像中に検出された前記特定部位に対応する、前記ディスプレイ上の位置を、ポインティング位置として認識するポインティング位置認識部と
をさらに有することを特徴とする請求項１から４のいずれか１項に記載のジェスチャー認識装置。
【請求項６】
前記仮想操作面認識部は、定義された前記仮想操作面に対応する前記操作領域の大きさ及び前記撮像画像中の位置に基づいて、前記マッピング情報の少なくとも一部を生成して、前記マッピング情報記憶部に記憶させることを特徴とする請求項５に記載のジェスチャー認識装置。
【請求項７】
前記仮想操作面認識部は、前記特定部位の動きによって閉領域が生成された時、その閉領域に内接する矩形領域を前記仮想操作面として認識する
ことを特徴とする請求項５又は６に記載のジェスチャー認識装置。
【請求項８】
前記仮想操作面認識部は、前記特定部位の動きによって生成された前記閉領域に対応する前記撮像画像中の対応する部分の面積が、予め定められた値以上である場合に、前記仮想操作面の指定の意図があったものと認識することを特徴とする請求項７に記載のジェスチャー認識装置。
【請求項９】
前記仮想操作面認識部は、前記特定部位の動きによって前記閉領域を生成するのに要した時間が予め定められた値以下である場合に、前記仮想操作面の指定の意図があったものと認識することを特徴とする請求項７又は８に記載のジェスチャー認識装置。
【請求項１０】
前記ポインティング位置認識部は、
前記撮像画像中の前記特定部位の位置を表す、前記操作領域の座標系の水平方向の座標に、前記操作領域の水平方向の長さに対する前記ディスプレイの水平方向の長さの比を掛けることで得られる水平方向の座標と、
前記撮像画像中の前記特定部位の位置を表す、前記操作領域の座標系の垂直方向の座標に、前記操作領域の垂直方向の長さに対する前記ディスプレイの垂直方向の長さの比を掛けることで得られる垂直方向の座標とを、
前記ポインティング位置を表す座標として認識する
ことを特徴とする請求項５から９のいずれか１項に記載のジェスチャー認識装置。
【請求項１１】
前記仮想操作面認識部は、前記特定部位が予め定められた特定の動きをした場合に、それ以降の前記特定部位の動きは前記仮想操作面の指定を意図するものであると認識することを特徴とする請求項５から１０のいずれか１項に記載のジェスチャー認識装置。
【請求項１２】
音声を受信する音声受信部と、
前記音声受信部で受信した音声を認識する音声認識部をさらに有し、
前記音声認識部は、予め定められた特定の音声が認識されたときに、そのことを前記仮想操作面認識部に通知し、
前記仮想操作面認識部は、前記音声認識部からの通知に応じて、それ以降の前記特定部位の動きは前記仮想操作面の指定を意図するものであると認識する
ことを特徴とする請求項５から１０のいずれか１項記載のジェスチャー認識装置。
【請求項１３】
前記仮想操作面認識部は、両手の前記特定部位を検出し、当該両手の前記特定部位の位置関係に基づいて前記仮想操作面を定義することを特徴とする請求項５から１２のいずれか１項に記載のジェスチャー認識装置。
【請求項１４】
前記仮想操作面認識部は、両手の前記特定部位の位置関係に基づいて前記仮想操作面の指定を意図するものであるか否かを判定することを特徴とする請求項１３に記載のジェスチャー認識装置。
【請求項１５】
前記仮想操作面認識部は、前記両手の前記特定部位の位置関係が所定の条件を満たす状態が予め定められた時間以降続いたか否に基づいて前記仮想操作面の指定を意図するものであるか否かを判定する
ことを特徴とする請求項１４に記載のジェスチャー認識装置。
【請求項１６】
前記仮想操作面認識部が認識した前記仮想操作面に対応する前記操作領域のアスペクト比が、前記ディスプレイのアスペクト比と一致するように、前記操作領域を補正することで、前記仮想操作面を補正する仮想操作面補正部をさらに有することを特徴とする請求項５から１５のいずれか１項に記載のジェスチャー認識装置。
【請求項１７】
前記仮想操作面認識部が、ユーザーに対し、自身の目で見て前記ディスプレイの周囲に沿うように前記特定部位を移動するよう案内し、該案内に応じてなされた前記特定部位の移動によって生成された閉領域を前記仮想操作面と定義することを特徴とする請求項５から１５のいずれか１項に記載のジェスチャー認識装置。
【請求項１８】
前記撮像画像の各々における顔の位置を検出する顔検出部と、
前記顔検出部によって検出された顔の位置の移動量に応じて前記仮想操作面の位置を補正する仮想操作面補正部をさらに有することを特徴とする請求項５から１７のいずれか１項に記載のジェスチャー認識装置。
【請求項１９】
前記仮想操作面が定義された際、前記仮想操作面の位置を示す確認用画像を生成する確認用画像生成部と、
前記確認用画像を、前記ディスプレイ上に表示させるディスプレイ表示制御部とを
さらに有することを特徴とする請求項５から１８のいずれか１項に記載のジェスチャー認識装置。
【請求項２０】
前記ディスプレイ表示制御部は、前記確認用画像を、前記ディスプレイ上に表示される別の画像に対し子画面として、又は重畳して表示させることを特徴とする請求項１９に記載のジェスチャー認識装置。
【請求項２１】
撮像により順次得られる複数のフレームの撮像画像の各々から手の特定部位を検出する特定部位検出ステップと、
前記特定部位検出ステップで検出した前記特定部位を複数のフレームに亘りトラッキングするトラッキングステップと、
前記トラッキングステップによるトラッキングにより得られた特定部位の位置の変化を示すトラッキング情報をトラッキング情報記憶部に記憶させるトラッキング情報記憶ステップと、
前記トラッキング情報記憶部に記憶されている前記トラッキング情報から、前記特定部位がディスプレイ上の特定の項目の選択を意図しているのか前記ディスプレイ上の特定の位置に対するポインティングを意図しているのかを判定する動作認識ステップと
を有するジェスチャー認識方法。
【請求項２２】
前記トラッキング情報から、仮想操作面の指定意図を認識し、該認識の結果に基づいて前記仮想操作面を定義する仮想操作面認識ステップと、
前記定義された前記仮想操作面に対応する撮像画像中の操作領域の座標系と前記ディスプレイの座標系の対応関係を示すマッピング情報をマッピング情報記憶部に記憶させるマッピング情報記憶ステップと、
前記対応関係を利用して、前記撮像画像中に検出された前記特定部位に対応する、前記ディスプレイ上の位置を、ポインティング位置として認識するポインティング位置認識ステップと
をさらに有することを特徴とする請求項２１に記載のジェスチャー認識方法。
【請求項２３】
請求項２１又は２２に記載のジェスチャー認識方法の各ステップの処理をコンピュータに実行させるためのプログラム。
【請求項２４】
請求項２３に記載のプログラムを記録した、コンピュータで読み取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジェスチャー認識装置及び方法に関する。本発明はまた、ジェスチャー認識装置又は方法をコンピュータに実行させるためのプログラム、及び該プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
近年、様々な機器において、ジェスチャーによって操作するジェスチャーＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の搭載が進んでいる。これまで、ジェスチャーＵＩはゲームエンターテインメントに適用されることが多かった。しかし、最近になって放送受信機、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、カーナビゲーションシステムなどにも適用されるようになっている。このような機器の操作では、ユーザーの手の動きを利用したハンドジェスチャーＵＩが用いられることが多い。
【０００３】
ハンドジェスチャーＵＩでは、機器の操作の入力にユーザーの手全体の動作、手で形作った形状、指の動作などを利用する。このような動作、形状などを機器側で認識し、その認識の結果に応じた処理を実行する。指の動作を利用するものの一つとして、ハンドポインティングがある。これはユーザーの指差し動作を利用するものであり、特にディスプレイを有する情報表示機器において利用されている。ユーザーはディスプレイ上に表示された項目のうち、選択したい項目を指差す。機器はユーザーが指差したディスプレイ上の位置（以後、ポインティング位置と呼ぶ）を認識し、その認識の結果に応じて機器を制御する。例えば、選択された項目の詳細な情報、或いは、選択された項目に応じた次の操作画面を表示する。
【０００４】
このようなハンドポインティングは、リモコンなど操作のための機器を必要とせず、また、離れた位置にあるものを直接的に選択できるという点で優れている。更に、指差すという動作は多くの人にとって自然な動作であり、その動作を行うこと自体に抵抗がある人が少ないため、機器の操作方法として優れている。
【０００５】
ハンドポインティングを実現するためには、ユーザーの意図したポインティング位置を精度良く認識することが必要である。この認識精度が充分高くない場合、ユーザーは自身が意図した項目を選択できない事態が発生する。その結果、その機器の利便性が低下してしまう恐れがある。
【０００６】
ユーザーの意図したポインティング位置を精度良く認識するための方法として、複数台のカメラを利用するものがある。これは、複数台のカメラで撮像して得られた画像をもとに、ユーザーとカメラとの距離、指の角度などを認識することで、ポインティング位置を認識する（例えば、特許文献１参照）。また、距離センサーと呼ばれる、１台で距離測定可能なカメラを利用し、このカメラで撮像して得られた画像をもとに、ユーザーの手とカメラとの距離、角度などを認識する方法も存在する（例えば、特許文献２参照）。距離センサーの例として、照射した赤外光の反射光が到達するまでの時間を観測することで、物体との距離を測定するＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）センサーと呼ばれるもの、及び特定の赤外光パターンを照射し、その照射パターンの歪みをカメラで観測することで距離を測定するものがある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平５−３２４１８１号公報
【特許文献２】特表２０１１−５１７３５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１では、２台のカメラを利用し、それらで撮像した映像からユーザーが指差している方向を推定し、その方向とディスプレイの法線との成す角からポインティング位置を認識している。この場合、ユーザーはあらかじめ定められた位置に立っていることを前提としている。この方法では、カメラを２台必要とするためシステムの規模が大きくなる。また、２台のカメラで撮像した画像間の同期をとる必要があり、高度な処理を必要とする。更に、ユーザーが定位置に立つ必要があるという制約がある。
【０００９】
特許文献２では、距離センサーを利用することで、１台のカメラでの認識を可能にしているが、一般にこのような距離センサーは、従来型の一般的なカメラ（距離センサーではなく、色情報を取得できるようなもの）に比べて高価なため、民生用の情報表示機器への適用は困難である。
【００１０】
本発明は上記問題を鑑みてなされたものであり、１台の一般的なカメラを利用することでユーザーのポインティング位置を精度良く認識することができる。
【課題を解決するための手段】
【００１１】
本発明に示すジェスチャー認識装置は、
撮像により順次得られる複数のフレームの撮像画像の各々から手の特定部位を検出する特定部位検出部と、
前記特定部位検出部で検出した前記特定部位を複数のフレームに亘りトラッキングするトラッキング部と、
前記トラッキング部によるトラッキングにより得られた特定部位の位置の変化を示すトラッキング情報を記憶するトラッキング情報記憶部と、
前記トラッキング情報記憶部に記憶されている前記トラッキング情報から、前記特定部位がディスプレイ上の特定の項目の選択を意図しているのか前記ディスプレイ上の特定の位置に対するポインティングを意図しているのかを判定する動作認識部と
を有するものである。
【００１２】
ジェスチャー認識装置が、
前記トラッキング情報から、仮想操作面の指定意図を認識し、該認識の結果に基づいて前記仮想操作面を定義する仮想操作面認識部と、
前記定義された前記仮想操作面に対応する撮像画像中の操作領域の座標系と前記ディスプレイの座標系の対応関係を示すマッピング情報を記憶するマッピング情報記憶部と、
前記対応関係を利用して、前記撮像画像中に検出された前記特定部位に対応する、前記ディスプレイ上の位置を、ポインティング位置として認識するポインティング位置認識部と
をさらに有していても良い。
【発明の効果】
【００１３】
本発明によれば、撮像画像中の特定部位の動きを、トラッキングすることで得られるトラッキング情報を用いることで、特定部位がディスプレイ上の特定の項目を選択しようとしているのか、ディスプレイ上の特定の位置をポインティングしようとしているのかを正確に認識することができる。
また、仮想操作面を定義することとすれば、仮想操作面に対応する撮像画像中の操作領域の座標系とディスプレイ座標系との対応関係に基づいて、ポインティング位置を認識することができるため、１台の一般的なカメラによって撮像された画像によってポインティング位置を精度良く認識することができる。
【図面の簡単な説明】
【００１４】
【図１】ハンドポインティング型のジェスチャー認識装置よるジェスチャー入力を概略的に示す図である。
【図２】本発明の実施の形態１に係るジェスチャー認識装置の構成を示すブロック図である。
【図３】本発明の実施の形態１〜４に係るジェスチャー認識装置で扱う、トラッキング情報の一例を示す図である。
【図４】（ａ）及び（ｂ）は、本発明の実施の形態１〜４に係るジェスチャー認識装置で扱う、トラッキング情報の追記の一例を示す図である。
【図５】本発明の実施の形態１〜４に係るジェスチャー認識装置における、指先の静止判定方法を説明する図である。
【図６】本発明の実施の形態１〜４に係るジェスチャー認識装置で扱う、操作領域座標系、ディスプレイ座標系、及び撮像画像座標系、並びに各座標系における指先座標を示す図である。
【図７】（ａ）及び（ｂ）は、本発明の実施の形態１に係るジェスチャー認識装置において、仮想操作面認識部が仮想操作面を指定する動作によって形成される閉領域の一例、及び仮想操作面の一例を示す図である。
【図８】（ａ）は、撮像画像中の操作領域を示す図、（ｂ）は、撮像画像中の操作領域内の任意の点に投影される、３次元空間中の複数の点を示す図である。
【図９】（ａ）及び（ｂ）は、本発明の実施の形態１に係るジェスチャー認識装置における、操作領域座標系とディスプレイ座標系との対応関係を説明する図である。
【図１０】本発明の実施の形態１に係るジェスチャー認識装置における、撮像画像座標系と操作領域座標系とディスプレイ座標系との対応関係を示す図である。
【図１１】本発明の実施の形態１に係るジェスチャー認識装置の、ハンドポインティング認識処理を示すフローチャートである。
【図１２】本発明の実施の形態１に係るジェスチャー認識装置の、ハンドポインティング認識処理を示すフローチャートである。
【図１３】本発明の実施の形態１に係るジェスチャー認識装置において、仮想操作面認識部が仮想操作面を指定する動作を認識する処理を示すフローチャートである。
【図１４】本発明の実施の形態１の第１の変形例に係るジェスチャー認識装置において、ユーザーが仮想操作面を指定する動作を説明する図である。
【図１５】発明の実施の形態１の第２の変形例に係るジェスチャー認識装置の構成を示すブロック図である。
【図１６】発明の実施の形態１の第３の変形例に係るジェスチャー認識装置の構成を示すブロック図である。
【図１７】本発明の実施の形態１の第４の変形例に係るジェスチャー認識装置において、ユーザーが仮想操作面を指定する動作を説明する図である。
【図１８】本発明の実施の形態２に係るジェスチャー認識装置の構成を示すブロック図である。
【図１９】本発明の実施の形態２に係るジェスチャー認識装置において仮想操作面補正部が仮想操作面を補正する方法を説明する図である。
【図２０】（ａ）及び（ｂ）は、本発明の実施の形態２の第１の変形例に係るジェスチャー認識装置において、ユーザーが仮想操作面を指定する動作を説明する図である。
【図２１】（ａ）及び（ｂ）は、本発明の実施の形態２の第１の変形例に係るジェスチャー認識装置において、ユーザーが仮想操作面を指定する動作を説明する図である。
【図２２】本発明の実施の形態２の第１の変形例に係るジェスチャー認識装置において、ユーザーが仮想操作面を指定する動作を説明する図である。
【図２３】本発明の実施の形態３に係るジェスチャー認識装置において、ユーザーの移動に応じて仮想操作面の位置を補正する動作を説明する図である。
【図２４】（ａ）及び（ｂ）は、本発明の実施の形態３に係るジェスチャー認識装置において、ユーザーの移動に応じて仮想操作面の位置を補正する動作を説明する図である。
【図２５】本発明の実施の形態３に係るジェスチャー認識装置の構成を示すブロック図である。
【図２６】本発明の実施の形態４に係るジェスチャー認識装置において、仮想操作面の位置をユーザーに確認させるための画像表示の例を示す図である。
【図２７】本発明の実施の形態４に係るジェスチャー認識装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
実施の形態１．
図１は、本発明の実施の形態１のジェスチャー認識装置１と、ジェスチャー認識装置１に対しジェスチャーで操作を行うユーザーの手１０１を示す。ジェスチャー認識装置１は例えばテレビ受信機の一部を成すものであり、表示画面２３１は、受信した番組の画像の表示、テレビ受信機の操作のためのＧＵＩの表示にも用いられる。
【００１６】
ジェスチャー認識装置１はカメラ１０を備え、ユーザーの手１０１の撮像画像を取得する。ユーザーは、手１０１、特にその特定部位、例えば指先１０２を表示画面２３１上の任意の位置に向ける（ポインティングする）ことで、表示画面２３１上のＧＵＩに対する操作を行う。例えば表示画面２３１上のＧＵＩの項目（ＧＵＩボタン）に対しポインティングを行うことで、テレビ受信機に対する操作を行う。
【００１７】
ジェスチャー認識装置１はカメラ１０によってユーザーの特定部位の動きを観察することで、ポインティングされた表示画面２３１上の位置（ポインティング位置）を認識し、その認識の結果に応じて機器の制御を行う。
【００１８】
図２は、実施の形態１におけるジェスチャー認識装置１の構成を表すブロック図である。図示のジェスチャー認識装置１は、カメラ１０と、撮像制御部１１と、撮像データ記憶部１２と、特定部位検出部１３と、トラッキング部１４と、トラッキング情報記憶部１５と、動作認識部１６と、仮想操作面認識部１７と、マッピング情報記憶部１８と、ポインティング位置認識部１９と、ＵＩ制御部２０と、ディスプレイ表示制御部２１と、表示情報記憶部２２と、ディスプレイ２３とを有する。上記のうち、特定部位検出部１３と、トラッキング部１４と、トラッキング情報記憶部１５と、動作認識部１６と、仮想操作面認識部１７と、マッピング情報記憶部１８と、ポインティング位置認識部１９とで、ハンドポインティング認識部２が構成されている。
【００１９】
まず、各構成部の動作について説明する。
カメラ１０は、動画撮影（連続した静止画の撮像）を行う。カメラ１０は、ジェスチャー認識装置１本体に水平に取り付けられている。ここで、「水平に」とは撮像画面の水平方向が、ジェスチャー認識装置１本体の水平方向に一致するようにと言う意味である。
【００２０】
撮像制御部１１は、カメラ１０に撮像開始を指示する制御信号Ｃ１１ｓ、及び撮像の終了を指示する制御信号Ｃ１１ｔを送信する。制御信号Ｃ１１ｓ及びＣ１１ｔは、例えば予め定められたフレーム期間毎に、送信される。カメラ１０は、制御信号Ｃ１１ｓ及びＣ１１ｔに応じて、撮像の開始及び終了を行う。
【００２１】
撮像制御部１１は、カメラ１０による撮像で得られた複数のフレームの画像（撮像画像）を順次撮像制御部１１に送信する。１枚の撮像画像をフレーム画像ＤＦと呼ぶ。撮像制御部１１は、撮像により得られた画像を受信して撮像データ記憶部１２に送信する。
【００２２】
撮像データ記憶部１２は、撮像制御部１１からフレーム画像ＤＦを受信して、フレーム番号ＦＮとともに蓄積する。即ち、撮像データ記憶部１２がフレーム画像ＤＦを蓄積する際には、フレーム画像ＤＦを構成する各画素の値だけではなく、フレーム番号ＦＮをも蓄積する。
フレーム番号ＦＮは、カメラ１０が撮像したフレーム画像ＤＦ毎に割り振られるもので、最初に撮像したフレーム画像ＤＦでのフレーム番号ＦＮを「０」として、「１」、「２」、…といったように１ずつ増加した値とする。
【００２３】
撮像データ記憶部１２に蓄積されたフレーム画像ＤＦ及びフレーム番号ＦＮは、読み出されて、特定部位検出部１３に送信される。
【００２４】
特定部位検出部１３は、撮像データ記憶部１２から送信されたフレーム画像ＤＦ及びフレーム番号ＦＮを受信し、撮像データ記憶部１２に新たなフレーム画像ＤＦが蓄積されているかどうかを判定する。
【００２５】
特定部位検出部１３が撮像データ記憶部１２に新たなフレーム画像ＤＦが蓄積されているかどうか判定する際は、前回ハンドポインティング認識処理（後述する）の対象となったフレーム画像ＤＦのフレーム番号ＦＮと比較し、認識処理の対象となったフレーム画像ＤＦのフレーム番号ＦＮよりも大きい値のフレーム番号のフレーム画像ＤＦが存在する場合には、新たなフレーム画像ＤＦが存在すると判断する。
【００２６】
特定部位検出部１３は、撮像データ記憶部１２に新たなフレーム画像ＤＦが蓄積されていると判定したときは、新たなフレーム画像ＤＦを解析して、画像中の指先（指の先端）を検出する。
【００２７】
指先の検出方法としては、色情報を用いる方法、及び形状情報を用いる方法が知られている。例えば、指先を表すテンプレート画像を用意し、撮像したフレーム画像ＤＦとマッチングを行う方法、多数の指先画像を利用して指先を表す特徴を学習させた検出手段を作成し、撮像したフレーム画像ＤＦに適用する方法などがある。本発明では、これらの検出方法のいずれを用いても良い。
【００２８】
特定部位検出部１３は、検出した指先の位置（フレーム画像ＤＦ中の位置）を表す座標Ｐｔを取得する。以後、フレーム画像ＤＦにおける指先の座標Ｐｔを「指先座標」と呼ぶ。指先座標Ｐｔはｘ座標Ｐｔｘとｙ座標Ｐｔｙとを含み、（Ｐｔｘ，Ｐｔｙ）と表すこともある。ｘ座標は、水平軸（ｘ軸）方向の座標であり、ｙ座標は垂直軸（ｙ軸）方向の座標である。
なお、ｉ番目のフレームの指先座標であることを明示するため、符号「Ｐｔ（ｉ）」、「Ｐｔ（ｉ）ｘ」、「Ｐｔ（ｉ）ｙ」を用いる場合もある。以下で用いる他の符号についても同様である。
特定部位検出部１３は、各フレーム画像ＤＦの指先座標Ｐｔを、当該フレーム画像のフレーム番号ＦＮとともにトラッキング部１４に送信する。
【００２９】
なお、本実施の形態では、指先を検出して、その座標を検出することとしているが、本発明はこれに限定されず、他の箇所であっても良い。例えば、指の腹の部分、又は掌の中心を検出してその座標を検出するものであっても良い。要するに、手又は指の特定の部位を検出して、その座標を検出するものであれば良い。
【００３０】
トラッキング部１４は、特定部位検出部１３から指先座標Ｐｔ及びフレーム番号ＦＮを受信し、複数のフレームに亘り指先のトラッキング（追跡）を行い、トラッキングの結果に基づいて得られた情報をトラッキング情報記憶部１５に送信することで、トラッキング情報記憶部１５にトラッキング情報ＤＴＲを記憶させ、或いはトラッキング情報記憶部１５に記憶されているトラッキング情報ＤＴＲを更新させる。
【００３１】
トラッキング情報（追跡情報）ＤＴＲは、時間の経過に伴う指先の位置の変化（動き）を示す情報（移動軌跡情報）であり、例えば相連続する複数のフレームにおける指先座標Ｐｔ、従って指先座標の時系列で構成される。具体的には、トラッキング情報ＤＴＲは、図３に示すように、各フレーム画像ＤＦで検出された指先座標（Ｐｔｘ，Ｐｔｙ）と、そのフレーム番号ＦＮとを関連付けて記述したものである。
【００３２】
指先のトラッキングの結果、あるフレームと次のフレームとで同じ指先が検出されると、新たな指先の位置を示す情報（指先座標）が追加される。例えば、あるフレーム画像の取得後のトラッキング情報ＤＴＲが図４（ａ）に示す如くであり、次のフレーム画像の取得後のトラッキング情報ＤＴＲは図４（ｂ）に示す如くとなる。
【００３３】
トラッキングのため、トラッキング部１４は、特定部位検出部１３から指先座標Ｐｔとフレーム番号ＦＮとを受信すると、トラッキング情報記憶部１５に対し、トラッキング情報ＤＴＲを要求する制御信号Ｃ１４ａを送信し、これに応じてトラッキング情報記憶部１５からトラッキング情報ＤＴＲが送信されると、これを受信する。
トラッキング情報記憶部１５にトラッキング情報ＤＴＲが記憶されていない場合はそのことを示す情報が、トラッキング部１４に送信される。その場合には、トラッキング部１４は、特定部位検出部１３から送信された指先座標Ｐｔとフレーム番号ＦＮの組をトラッキング情報記憶部１５に送信し、新たなトラッキング情報ＤＴＲとして記憶させる。
【００３４】
トラッキング情報記憶部１５からトラッキング情報ＤＴＲが送信されたときは、トラッキング部１４は、特定部位検出部１３から送信された指先座標Ｐｔ及びフレーム番号ＦＮと、トラッキング情報記憶部１５から送信されたトラッキング情報ＤＴＲ、特にそのうちの最も新しいフレームの指先情報Ｐｔとから、指先のトラッキング（追跡）を行い、トラッキングの結果に基づいてトラッキング情報記憶部１５にトラッキング情報の更新を行わせる。
【００３５】
なお、トラッキング情報記憶部１５から送信されるトラッキング情報のうち、トラッキング部１４で利用するのは最新のフレーム（特定部位検出部１３から送信された指先座標Ｐｔ及びフレーム番号ＦＮのフレームの直前のフレーム）の情報のみであるので、最新のフレーム情報のみを送信するようにしても良い。
【００３６】
トラッキングのため、トラッキング部１４は、あるフレームの画像から検出された指先の、当該画像中の位置と、当該あるフレームの次のフレームの画像から検出された指先の当該画像中の位置との間隔が予め定められた値Ｔｈｍｏｖ未満である場合に、当該２つのフレームの画像において検出された指先が、同一の指先であると判定する。
具体的には、特定部位検出部１３から送信された各フレームの指先座標が、前のフレームの指先座標と同じ指先を表すものであるか否かを判定する。
【００３７】
即ち、現在ハンドポインティング認識処理の対象となっているフレーム画像ＤＦのフレーム番号ＦＮを「ｉ」とし、このフレーム画像ＤＦ（ｉ）で検出された指先座標をＰｔ（ｉ）とし、一つ前のフレームのフレーム番号ＦＮを「ｉ−１」とし、そのフレーム画像ＤＦ（ｉ−１）で検出された指先座標をＰｔ(ｉ-１)とし、指先座標Ｐｔ（ｉ）で示される指先位置と、指先座標Ｐｔ(ｉ-１)で示される指先位置との距離ＭＰｔ（ｉ）−Ｐｔ（ｉ−１）が予め定められた値（閾値）Ｔｈｍｏｖよりも小さければ、それらの指先座標は同一の指先のものであると判定する。
【００３８】
即ちまず、上記の距離ＭＰｔ（ｉ）−Ｐｔ（ｉ−１）を下記の式（１）で求める。
【数１】
2018032055.tif 000003
式（１）で、
Ｐｔ（ｉ）ｘは、Ｐｔ（ｉ）のｘ座標、
Ｐｔ（ｉ）ｙは、Ｐｔ（ｉ）のｙ座標、
Ｐｔ（ｉ−１）ｘは、Ｐｔ（ｉ−１）のｘ座標、
Ｐｔ（ｉ−１）ｙは、Ｐｔ（ｉ−１）のｙ座標である。
【００３９】
次に、上記の距離が閾値未満か否かによる、同一性の判断を下記の式（２ａ）及び（２ｂ）で行う。
【数２】
2018032055.tif 000004
【００４０】
このように距離に基づく判定が必要であるのは、座標Ｐｔ(ｉ-１)の指先と座標Ｐｔ(ｉ)の指先とは同一でものであるとは限らないためである。例えば、座標Ｐｔ(ｉ)の指先は右手の指先であり、座標Ｐｔ(ｉ)の指先は左手の指先である場合がある。このような場合、２つのフレーム間で指先座標Ｐｔ間の差が大きくなることが多い。そこで、上記のように閾値Ｔｈｍｏｖ以上であれば、同一の指先についての座標ではないと判定することができる。
【００４１】
相前後するフレーム間で指先座標Ｐｔが同一の指先を表すものであると判定した場合、
トラッキング部１４は、特定部位検出部１３から送信された指先座標Ｐｔ（ｉ）と、前のフレームに同じ特定部位検出部１３から送信された指先座標Ｐｔ（ｉ−１）との対応付けを行う。この対応付けは、前のフレームに送信された指先座標の指先が、今回のフレームに送信された指先座標の位置に移動したものとして扱うことを意味する。即ち、座標Ｐｔ(ｉ-１)から座標Ｐｔ（ｉ)に指先が移動したと認識することを意味する。
【００４２】
トラッキング情報記憶部１５は、トラッキング部１４から指先座標Ｐｔとフレーム番号ＦＮとを受信し、これらに基づいてトラッキング情報ＤＴＲを更新する。この更新においては、トラッキング部１４から送信された指先情報Ｐｔとフレーム番号ＦＮを、すでに記憶されているトラッキング情報ＤＴＲの末尾に追加する。
【００４３】
なお、トラッキング情報記憶部１５は、検出された全ての指先座標Ｐｔとフレーム番号ＦＮを記憶しなくても良い。例えば、予め定められた数だけ前のフレーム番号ＦＮに関する指先座標Ｐｔ及びフレーム番号ＦＮを自動的に削除してもよい。このようにすることで、トラッキング情報記憶部１５に必要なメモリ容量が少なくて済む。
【００４４】
トラッキング部１４は、相前後するフレームで、指先座標Ｐｔが同一の指先を示すものではないと判定したときは、トラッキング情報記憶部１５にトラッキング情報ＤＴＲを削除することを指示する制御信号Ｃ１４ｂを送り、さらに新たに検出された指先座標Ｐｔとフレーム番号ＦＮの組をトラッキング情報記憶部１５に送信する。
トラッキング情報記憶部１５は、トラッキング部１４から制御信号Ｃ１４ｂを受信すると、これに応じてトラッキング情報ＤＴＲを削除する。
トラッキング情報記憶部１５はさらに、トラッキング部１４から新たに（現フレームについて）検出された指先座標Ｐｔ及びフレーム番号ＦＮの組を新たなトラッキング情報ＤＴＲとして記憶する。
【００４５】
なお、上記のように、相前後するフレーム間で、指先座標が示す指先位置相互間の距離が閾値以上であれば直ちにトラッキング情報記憶部１５のトラッキング情報ＤＴＲを削除する代わりに、相前後するフレーム間で指先座標が示す指先位置相互間の距離が閾値以上である状態が予め定められた、２以上の数のフレーム期間だけ続いた（２以上の数のフレームだけ繰り返された）ことを条件として、トラッキング情報記憶部１５のトラッキング情報ＤＴＲを削除するようにしても良い。
【００４６】
トラッキング情報記憶部１５はまた、動作認識部１６から、トラッキング情報ＤＴＲを要求する制御信号Ｃ１６ａを受信すると、これに応じて、トラッキング情報ＤＴＲを動作認識部１６に送信する。
トラッキング情報記憶部１５はまた、仮想操作面認識部１７から、トラッキング情報ＤＴＲを要求する制御信号Ｃ１７ａを受信すると、これに応じてトラッキング情報ＤＴＲを仮想操作面認識部１７に送信する。
【００４７】
動作認識部１６は、トラッキング情報記憶部１５に対し、トラッキング情報ＤＴＲを要求する制御信号Ｃ１６ａを送信し、トラッキング情報記憶部１５がこれに応じてトラッキング情報ＤＴＲを送信したら、これを受信する。
【００４８】
動作認識部１６は、トラッキング情報記憶部１５から、トラッキング情報ＤＴＲを受信し、受信した情報に基づいて、トラッキング情報記憶部１５に新たな指先座標Ｐｔが記憶されているか否かを判定する。
新たな指先座標Ｐｔが記憶されているかどうかは、トラッキング情報ＤＴＲに含まれるフレーム番号ＦＮの最新の値を参照することで可能である。
【００４９】
動作認識部１６はまた、指先座標Ｐｔをポインティング位置認識部１９に送信する。
動作認識部１６はまた、ユーザーの指先１０２の動作が、「ポインティング」を意図したものであるか、又は「選択」を意図したものであるかを示す判定結果信号Ｄ１６ｄをＵＩ制御部２０に送信する。ここで「選択」はディスプレイ上に表示されている特定の項目の選択を意味する。一方、「ポインティング」は、ディスプレイ上の特定の位置に対するポインティング（指し示す動作）を意味する。同じ位置に対する「ポインティング」が予め定められた時間以上続けられると「選択」を意図したものとして扱われる。
【００５０】
動作認識部１６は、トラッキング情報記憶部１５に記憶されているトラッキング情報から、指先がディスプレイ上の特定の項目の選択を意図しているのか、ディスプレイ上の特定の位置に対するポインティングを意図しているのかを判定する。
【００５１】
動作認識部１６は、指先が予め定められた時間以上同じところに留まり続けた場合、その時点でポインティングされている位置に表示されているディスプレイ上の項目が選択されていると判定する。
【００５２】
同じところに留まり続けているか否かの判定に当たり、動作認識部１６は、完全に同じところに指先が留まり続けていなくとも、あるフレームの画像における前記特定部位の位置が、１つの前のフレームの画像における特定部位の位置を中心とした予め定められた距離の範囲内にあれば、同じところに留まり続けていると判定する。
【００５３】
「選択」を意図した指先の動きであるかどうかを認識する方法について例を挙げると、指先が予め定められた時間以上（予め定められた数のフレーム期間以上）同じところに留まり続けた場合に、ユーザーはディスプレイ２３に表示された特定の項目を「選択」しようとしていると認識する方法をとることができる。
【００５４】
しかし、ユーザーが特定の項目を選択したい時に、自身の指先を完全に静止させ、まったく同じところに留まらせることは人間には非常に困難であり、一般的には「手ぶれ」と呼ばれる現象が発生する。そこで、図５のように、ある閾値Ｔｈｒを定め、以下の式（３）で静止判定を行う。
【数３】
2018032055.tif 000005
【００５５】
式（３）の閾値Ｔｈｒは、式（２ａ）及び式（２ｂ）の閾値Ｔｈｍｏｖよりも小さい値に定められる。
【００５６】
式（３）の判定を、図５を参照して説明する。図５に示すように、ハンドポインティング認識処理中のフレーム画像ＤＦにおいて検出された指先座標Ｐｔ（ｉ）が、１つ前のフレーム画像ＤＦにおける指先座標Ｐｔ（ｉ−１）を中心とした半径Ｔｈｒの円の内側に存在すれば、静止していると見なす。
【００５７】
即ち、動作認識部１６は、完全に同じところに指先が留まり続けていなくとも、１つ前のフレームの画像における指先座標を中心とした、予め定められた距離の範囲内への指先の移動であれば、同じところに留まり続けているものとして扱う。
【００５８】
このようにすることで、ユーザーの指先が多少動いてしまっていても、「選択」を認識することができる。
【００５９】
仮想操作面認識部１７は、トラッキング情報記憶部１５に記憶されているトラッキング情報ＤＴＲから、該トラッキング情報ＤＴＲで表されている指先の移動が、仮想操作面ＢＭの指定を意図したものであるかを判断する。仮想操作面認識部１７は、ユーザーによる仮想操作面ＢＭの指定意図を認識した場合には、該認識の結果に基づいて仮想操作面ＢＭを定義する。
【００６０】
その処理のため、仮想操作面認識部１７は、トラッキング情報記憶部１５に対し、トラッキング情報ＤＴＲを要求する制御信号Ｃ１７ａを送信し、トラッキング情報記憶部１５がトラッキング情報ＤＴＲを送信したら、これを受信する。
【００６１】
そして、仮想操作面認識部１７は、受信したトラッキング情報ＤＴＲからユーザーが仮想操作面ＢＭを指定する動作を行ったかどうか、即ちユーザーが仮想操作面の指定を意図して指先を移動させたか否かを認識する。仮想操作面ＢＭとは図６のように、ユーザーの周囲にある空間のうち、ユーザー自身が実際にハンドポインティングを行う領域を意味する。
【００６２】
仮想操作面ＢＭを指定する動作を行ったかどうかの判定は例えば以下のように行われる。
まず、仮想操作面認識部１７は、ユーザーが指先１０２によって閉曲線２０１を描いたかどうかを判定する。閉曲線２０１は、例えば図７（ａ）に示すように、指先１０２がある点２０２を通過した後、同じ点２０２に戻るまでの曲線である。同じ点に戻るとは、指先１０２の動きを撮像することで得られる撮像画像の画面（撮像画面）上で、同じ位置に戻ることであり、３次元空間において同じ位置に戻ることは必須ではない。任意の点に戻ったか否かは、撮像画像において、指先の軌跡を描く曲線が交差したか否かで判断される。閉曲線で囲まれた領域を閉領域２０３と言う。撮像画面を撮像画像と同じ符号ＤＦで示す。
【００６３】
ユーザーが閉曲線を描く処理は、複数のフレーム期間にわたって行われるので、閉曲線を描いたか否の判定は、連続する複数のフレーム期間における撮像画像（フレーム画像）を解析する必要がある。
【００６４】
そのため、仮想操作面認識部１７は、トラッキング情報ＤＴＲからフレーム番号ＦＮの順に２つの指先座標を読み出し、相前後するフレームのフレーム画像における指先座標を結ぶ線分を生成する。これをフレーム番号ＦＮの組を変えながら繰り返し行い、線分同士の交差を検出する。交差が発生した場合、ユーザーが指先によって閉曲線２０１を描いたと判定し、この時点までの線分を連結したとき生成される閉曲線２０１の内側領域を閉領域２０３と認定する。図８（ａ）には、そのように３次元空間に描かれる閉曲線２０１に対応する、撮像画面上の曲線を符号２１１で示す。曲線２１１は、撮像画像中での指先の軌跡を観念的に示すものであって、曲線２１１を含む一枚の画像が生成されることを意味しない。
【００６５】
仮想操作面認識部１７は、次に生成された閉領域２０３から、閉曲線２０１が仮想操作面ＢＭの指定を意図して描かれたものであるか否かを判定する。具体的には、生成された閉領域２０３の面積Ｓ２０３を算出し、さらに閉領域２０３を生成するのに要した時間Ｔ２０３を算出する。さらに、閉領域２０３の面積Ｓ２０３に対して閾値ＴｈＳを設定するとともに、閉領域２０３を生成するのに要した時間Ｔ２０３に対して閾値Ｔｈｔを設定する。そして、下記の式（４ａ）及び（４ｂ）が成立するか否かの判定を行う。
【数４】
2018032055.tif 000006
【００６６】
式（４ａ）で用いる面積Ｓ２０３としては、撮像画像中の、閉領域２０３に対応する領域の面積が用いられる。
式（４ａ）及び（４ｂ）がともに成立する場合に、ユーザーが仮想操作面ＢＭの指定を意図したと認識する。
そして、図７（ｂ）に示すように、その閉領域２０３に内接する矩形領域２０４を仮想操作面ＢＭとして認識する。
【００６７】
ここで閉領域２０３に内接する矩形領域２０４とは、一方の対の辺が水平方向に延び、他方の対の辺が垂直方向に延びた矩形の領域であって、全体が閉領域２０３に含まれ、かつ面積が最大の領域である。ここで言う、「面積」も対応する撮像画像中での面積である。なお、上記のように、カメラ１０は水平に取り付けられているので、撮像画像中の水平方向、垂直方向は、３次元空間中の水平方向、垂直方向と一致する。また、閉領域２０３をカメラ１０の光軸１０ａに垂直に形成すれば、矩形領域２０４は、撮像画像中の矩形領域と相似となる。
【００６８】
以上のように、仮想操作面認識部１７は、ユーザーが自身の指先の動きによって生成した閉領域２０３の面積が、予め定められた値（閾値）ＴｈＳ以上であり、且つ、指先の動きによって閉領域を生成するのに要した時間が、予め定められた値（閾値）Ｔｈｔ以下である場合に、ユーザーが仮想操作面ＢＭの指定を意図したと認識する。
【００６９】
これらの条件を課すことにより、ユーザーが偶発的に（即ち仮想操作面の指定を意図せずに）小さな閉領域２０３を生成してしまったり、長時間の指先移動を経て閉領域２０３が生成されてしまったりした場合に、それを無視することができる。
【００７０】
なお、上記の２つの条件（式（４ａ）及び（４ｂ））のうち、一方のみを満たすこと場合に、ユーザーが仮想操作面ＢＭの指定を意図したと認識することとしても良い。
【００７１】
以上のようにして３次元空間中に仮想操作面ＢＭが定義されると、これに対応する領域が撮像画像中に定義される。この領域を操作領域と言い、符号ＡＭで表す。図８（ａ）には、仮想操作面ＢＭに対応する操作領域ＡＭが示されている。図８（ａ）にはさらに、３次元空間中の閉曲線２０１、交点２０２、閉領域２０３に対応する閉曲線２１１、交点２１２、閉領域２１３が示されている。
【００７２】
３次元空間中のカメラ１０から見て３次元空間中の特定の方向にあるすべての点、例えば図８（ｂ）において、方向Ｄｒｃ上の複数の点Ｐｔａ、Ｐｔｂ、Ｐｔｃは、撮像画像中の同じ位置に投影される。従って、特定部位検出部１３が指先１０２を検出する場合にも（さらには、検出された指先の位置に基づいてトラッキング部１４、仮想操作面認識部１７等で処理を行う際にも）、指先１０２がカメラ１０から見て同じ方向にある限り、どの位置にあっても同じ位置にあるものとして扱われる。
【００７３】
従って、一旦仮想操作面ＢＭが定義されると、ユーザーは、仮想操作面ＢＭ内に限らず、カメラ１０から見て仮想操作面ＢＭのある位置と同じ方向にある、仮想操作面ＢＭの外部（カメラ１０から見て仮想操作面ＢＭの手前側又は奥側で）に指先１０２を位置させても、同じ効果を生じさせることができる。仮想操作面ＢＭを含み、仮想操作面ＢＭに指先１０２を位置させたのと同じ効果を生じさせる領域（カメラから見て仮想操作面ＢＭと同じ方向にある領域）を操作可能領域ＢＲと呼ぶ。
【００７４】
操作可能領域ＢＲのうち、ユーザーが閉曲線を描くことによって定義した閉領域２０３に囲まれる領域は、ユーザーが平面或いは平面に近いと感じ、無理なく（自然な姿勢で）指先１０２を位置させることができる範囲内の領域である。従って、ユーザーがハンドポインティングのために指先１０２を移動させるのに便利な領域、或いはユーザーがハンドポインティングのために指先１０２を位置させることが多い領域である。本願ではそのような領域を仮想操作面ＢＭと呼ぶこととしている。
【００７５】
仮想操作面認識部１７は、以上のようにして仮想操作面ＢＭを生成すると、生成した仮想操作面ＢＭに対応する操作領域ＡＭの情報に基づいて、マッピング情報ＭＰＤを生成し、マッピング情報記憶部１８に送信する。操作領域ＡＭは、仮想操作面ＢＭに対応するので、操作領域ＡＭの情報は、仮想操作面ＢＭの情報でもある。
マッピング情報ＭＰＤは、操作領域ＡＭの座標系と、ディスプレイ２３の座標系との対応関係を示す情報である。マッピング情報ＭＰＤは、撮像画像の座標系上の座標を、ディスプレイ２３の座標系上の座標に変換するために利用される。
【００７６】
以後、撮像画像の座標系３００を「撮像画像座標系」、
仮想操作面ＢＭの座標系３０１を「仮想操作面座標系」、
操作領域ＡＭの座標系３１１を「操作領域座標系」、
ディスプレイ２３の座標系３０２を「ディスプレイ座標系」、
操作領域座標系３１１上での指先の座標Ａｔを「操作領域内指先座標」と呼び、
ディスプレイ座標系３０２上での指先の座標Ｄｔを「ディスプレイ上指先座標」と呼ぶこととする。
フレーム画像ＤＦにおける指先座標Ｐｔは、撮像画像系３００上での指先の座標である。
フレーム画像ＤＦにおける指先座標Ｐｔを、「操作領域内指先座標」及び「ディスプレイ上指先座標」との区別のため、「撮像画像上指先座標」と言うこともある。
座標Ａｔは、ｘ座標Ａｔｘ及びｙ座標Ａｔｙを含む。
座標Ｄｔは、ｘ座標Ｄｔｘ及びｙ座標Ｄｔｙを含む。
【００７７】
図６、図９（ａ）及び（ｂ）、及び図１０に、これらの座標系３００、３０１、３１１、３０２、及び座標Ｐｔ、Ａｔ、Ｄｔの関係を図示する。
図１０は、撮像画像座標系３００、操作領域座標系３１１、及びディスプレイ座標系３０２の関係を水平方向（ｘ軸方向）に関して示す。
【００７８】
図６に示されるように、仮想操作面認識部１７は、図６に示されるように、操作領域ＡＭの左上の頂点を、操作領域座標系３１１の原点と定義する。
【００７９】
図９（ａ）に示すように、操作領域ＡＭの
水平方向の辺ＡＭｘの長さ（水平方向の画素数）をＬＡｘとし、
垂直方向の辺ＡＭｙの長さ（垂直方向の画素数）をＬＡｙとする。
また、図９（ｂ）に示すように、ディスプレイ２３の表示画面２３１の水平方向の辺２３１ｘの長さ（水平方向の画素数）をＬＤｘとし、
垂直方向の辺２３１ｙの長さ（垂直方向の画素数）をＬＤｙとする。
さらに、撮像画像上指先座標Ｐｔのｘ座標をＰｔｘとし、ｙ座標をＰｔｙとする。
さらに、操作領域座標系３１１の原点の、撮像画像座標系３００における座標をＰｔｘ０とし、そのｘ座標をＰｔｘ０とし、ｙ座標をＰｔｙ０とする。
【００８０】
撮像画像中の任意の位置の、撮像画像上座標Ｐｔｘ（Ｐｔｘ，Ｐｔｙ）と、操作領域内座標Ａｔ（＝（Ａｔｘ，Ａｔｙ））との関係は、下記の式（５ｘ）、（５ｙ）で表される。
【数５】
2018032055.tif 000007
【００８１】
次に撮像画像中の任意の位置の、操作領域内座標Ａｔ（＝（Ａｔｘ，Ａｔｙ））と、ディスプレイ上座標Ｄｔ（＝（Ｄｔｘ，Ｄｔｙ））の関係は、下記の式（６ｘ）、（６ｙ）で表される。
【数６】
2018032055.tif 000008
【００８２】
式（５ｘ）と式（６ｘ）とを組合わせ、
式（５ｙ）と式（６ｙ）とを組合わせることで、
撮像画像中の任意の位置の、撮像画像上座標Ｐｔ（＝（Ｐｔｘ，Ｐｔｙ））と、ディスプレイ上座標Ｄｔ（＝（Ｄｔｘ，Ｄｔｙ））との関係を表す、下記の式（７ｘ）、（７ｙ）が得られる。
【数７】
2018032055.tif 000009
【００８３】
式（７ｘ）及び（７ｙ）は、撮像画像上指先座標（Ｐｔｘ，Ｐｔｙ）を、ディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）に変換する式として用いられる。
【００８４】
また、式（７ｘ）及び（７ｙ）の右辺の（Ｐｔｘ−Ｐｔｘ０）及び（Ｐｔｙ−Ｐｔｙ０）は、式（５ｘ）及び（５ｙ）で示すように、それぞれ操作領域ＡＭ内の座標Ａｔｘ、Ａｔｙに等しく、式（７ｘ）及び（７ｙ）は、式（６ｘ）及び（６ｙ）と等価である。従って、式（７ｘ）及び（７ｙ）は、操作領域内指先座標（Ｐｔｘ−Ｐｔｘ０，Ｐｔｙ−Ｐｔｙ０）を、ディスプレイ上指先座標（Ｄｔｘ、Ｄｔｙ）に変換するための式であるとも言える。
【００８５】
式（７ｘ）及び（７ｙ）で得られるディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）は、ディスプレイ上でのポイティング位置を表すものとして利用される。
【００８６】
式（７ｘ）及び式（７ｙ）の右辺の各変数のうち、ＬＤｘ、及びＬＤｙは既知であり、予めマッピング情報記憶部１８に記憶されている。ＬＡｘ、ＬＡｙ、Ｐｔｘ０、Ｐｔｙ０は、仮想操作面認識部１７で算出される。
即ち、仮想操作面認識部１７は、ユーザーが仮想操作面ＢＭを指定する動作を行ったと認識すると、上記ように仮想操作面ＢＭに対応する操作領域ＡＭの左上の頂点の座標を仮想操作面座標系の原点の座標（Ｐｔｘ０，Ｐｔｙ０）とし、原点の座標（Ｐｔｘ０，Ｐｔｙ０）と、操作領域ＡＭの水平方向のサイズＬＡｘ及び垂直方向のサイズＬＡｙとを、マッピング情報ＭＰＤとしてマッピング情報記憶部１８に送信する。
【００８７】
マッピング情報記憶部１８は、仮想操作面認識部１７からマッピング情報ＭＰＤを受信し、これを記憶する。マッピング情報記憶部１８は、既に、これらの値を記憶していた場合、新たに受信した値で上書きする。
【００８８】
マッピング情報記憶部１８はまた、記憶しているマッピング情報ＭＰＤを削除する。
マッピング情報記憶部１８はまた、ポインティング位置認識部１９からマッピング情報ＭＰＤを要求する制御信号Ｃ１９ａを受信し、これに応じて、マッピング情報ＭＰＤをポインティング位置認識部１９に送信する。
【００８９】
ポインティング位置認識部１９は、動作認識部１６から指先座標Ｐｔを受信する。ポインティング位置認識部１９はまた、マッピング情報記憶部１８に対し、マッピング情報ＭＰＤを要求する制御信号Ｃ１９ａを送信し、マッピング情報記憶部１８からマッピング情報ＭＰＤが送信されたら、これを受信する。
【００９０】
ポインティング位置認識部１９は、操作領域座標系３１１とディスプレイ座標系３０２との対応関係を利用して、カメラ１０で撮影した画像上に映る指先が、ディスプレイ上のどこを指しているかを認識する。
【００９１】
ポインティング位置認識部１９は、仮想操作面認識部１７が認識した仮想操作面ＢＭに対応する操作領域ＡＭの水平方向及び垂直方向の長さと、ディスプレイ２３の表示画面２３１の水平方向の長さと垂直方向の長さとから求められる、水平方向の長さの比ＬＤｘ／ＬＡｘ及び垂直方向の長さの比ＬＤｙ／ＬＡｙと、撮像画像座標系３００における操作領域ＡＭの原点座標（Ｐｔｘ０，Ｐｔｙ０）とを利用し、上記した式（７ｘ）及び（７ｙ）で示すように、操作領域内指先座標（Ｐｔｘ−Ｐｔｘ０）及び（Ｐｔｙ−Ｐｔｙ０）に対し、それぞれ水平方向の長さの比ＬＤｘ／ＬＡｘ及び垂直方向の長さの比ＬＤｙ／ＬＡｙを掛けることで、ディスプレイ２３上のポインティング位置のｘ座標Ｄｔｘ及びｙ座標Ｄｔｙを求める。
【００９２】
ポインティング位置認識部１９はまた、ディスプレイ２３上のポインティング位置の座標、即ちディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）を示す情報をＵＩ制御部２０に送信する。
【００９３】
ＵＩ制御部２０は、動作認識部１６から「選択」又は「ポインティング」を示す判定結果信号Ｄ１６ｄを受信するとともに、ポインティング位置認識部１９から、ディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）を受信し、この情報に応じたＵＩの制御を決定する。
例えば、動作認識部１６から「選択」を示す判定結果信号Ｄ１６ｄを受信した場合には、ＵＩ制御部２０は、そのときポインティング位置認識部１９から受信しているディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）で表されるディスプレイ２３上の位置に表示されている項目が選択されたものと認識する。
【００９４】
そして、ＵＩ制御部２０は、「選択」されたことを示す信号Ｄ２０ｓととともに、選択された項目を表す情報をディスプレイ表示制御部２１に対し送信する。例えば、選択前に表示されていた複数の項目に対し、それぞれ番号が割り振られており、ハンドポインティングによって選択された場合に、「選択」されたことを示す信号Ｄ２０ｓと、選択された項目に割り振られた番号をディスプレイ表示制御部２１に送信する。
【００９５】
一方、動作認識部１６から「ポインティング」を示す判定結果信号Ｄ１６ｄを受信した場合には、ＵＩ制御部２０は、そのときポインティング位置認識部１９から受信しているディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）で表されるディスプレイ２３上の位置がポインティングされているものと認識する。
【００９６】
そして、ＵＩ制御部２０は、「ポインティング」されていることを示す信号Ｄ２０ｐととともに、ディスプレイ表示制御部２１にポインティングされている位置を示す座標（Ｄｔｘ，Ｄｔｙ）を送信する。
【００９７】
ディスプレイ表示制御部２１は、ＵＩ制御部２０から「選択」を意味する信号Ｄ２０ｓと、選択された項目に割り振られた番号を受信すると、選択された項目に応じて、ディスプレイ２３に表示するための情報を表示情報記憶部２２から読み出し、ディスプレイ２３に送信する。
【００９８】
ディスプレイ表示制御部２１は、ＵＩ制御部２０から「ポインティング」を意味する信号Ｄ２０ｐと、ディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）とを受信すると、受信した座標（Ｄｔｘ，Ｄｔｙ）で表されるディスプレイ上の位置にポインター（ＧＵＩのポインター）を表示するための情報を、表示情報記憶部２２から読出し、ディスプレイ２３に送信する。
【００９９】
ディスプレイ２３は、ディスプレイ表示制御部２１から受信した情報を表示する。なお、これらの情報が、他の情報に重畳する形で表示されるようにしても良い。
【０１００】
尚、上記の例では、ユーザーがハンドポインティングによって項目を選択した際、ディスプレイ２３上に対応した情報を表示することとしているが、本発明はこのような構成に限定されず、例えば、選択した項目に応じて音を鳴らしたり、表示を点滅させたりしても良い。
【０１０１】
次に、ハンドポインティング認識部２によるハンドポインティング認識処理の手順を、図１１及び図１２を参照して説明する。ここではカメラ１０で撮像したフレーム画像ＤＦにユーザーは１名のみが含まれているものとする。複数の人が含まれている場合には、先に指先を検出できた人物についてハンドポインティングを認識することとしても良く、全ての人物について同様にしてハンドポインティングを認識することとしても良い。
【０１０２】
まず、特定部位検出部１３は、撮像データ記憶部１２に新たなフレーム画像ＤＦ、即ちハンドポインティング認識処理を受けていないフレーム画像ＤＦが蓄積されているか否かを判定する（ＳＴ１）。撮像データ記憶部１２に新たなフレーム画像ＤＦを蓄積されていない場合（ＳＴ１でＮＯ）には、ステップＳＴ１の処理を繰り返す。即ち、特定部位検出部１３は、以降のハンドポインティグ認識処理を行わず、新たなフレーム画像ＤＦが蓄積されるまで待機する。
蓄積されていると判定した場合（ＳＴ１でＹＥＳ）、ステップＳＴ２に進む。
【０１０３】
ステップＳＴ１で新たなフレーム画像ＤＦが蓄積されていることを条件として、ステップＳＴ２以降の処理を行うこととしているので、ステップＳＴ２以降の処理は、新たなフレーム画像ＤＦが撮像データ記憶部１２に書き込まれる毎に、即ち、フレーム期間毎に行われる。
【０１０４】
ステップＳＴ２で、特定部位検出部１３は、撮像データ記憶部１２から、新たなフレーム画像ＤＦを受信する。
【０１０５】
次のステップＳＴ３で、特定部位検出部１３は、撮像データ記憶部１２から受信したフレーム画像ＤＦを解析して指先を検出し、その座標（指先座標）Ｐｔの取得を行う。
【０１０６】
ステップＳＴ３の次のステップＳＴ４では、特定部位検出部１３は、指先座標Ｐｔが検出されたか否かの判定を行う。
特定部位検出部１３は、指先座標Ｐｔを検出した場合（ＳＴ４でＹＥＳ）には、ステップＳＴ５に進む。
ステップＳＴ５では、特定部位検出部１３は、検出した指先座標Ｐｔをトラッキング部１４に送信し、ステップＳＴ６に進む。
【０１０７】
ステップＳＴ４で、フレーム画像ＤＦから指先が検出できなかった場合（ＳＴ４でＮＯ）には、ステップＳＴ１に戻る。即ち、この場合には、以降のハンドポインティング認識処理は行わない。フレーム画像に指先が含まれておらず、検出できなかった場合も同様である。
【０１０８】
ステップＳＴ６では、トラッキング部１４は、トラッキング情報記憶部１５に対してトラッキング情報ＤＴＲの送信を要求する。この要求は、制御信号Ｃ１４ａを送信することで行われる。
トラッキング情報記憶部１５は、トラッキング情報ＤＴＲが記憶されていないときに、制御信号Ｃ１４ａを受信した場合には、「トラッキング情報ＤＴＲが記憶されていない」ことを示すデータを送り返す。
【０１０９】
次にステップＳＴ７で、トラッキング部１４は、上記の制御信号Ｃ１４ａに対するトラッキング情報記憶部１５からの応答に基づいて、トラッキング情報ＤＴＲがトラッキング情報記憶部１５に記憶されているか否かの判定を行う。
【０１１０】
トラッキング情報ＤＴＲが記憶されていない場合（ＳＴ７でＮＯ）、ステップＳＴ１１に進む。
ステップＳＴ１１では、トラッキング部１４は、検出した指先座標Ｐｔをフレーム番号ＦＮとともにトラッキング情報記憶部１５に送信する。トラッキング情報記憶部１５は送信された指先座標Ｐｔとフレーム番号ＦＮを、トラッキング情報ＤＴＲとして記憶する。これにより新たなトラッキング情報ＤＴＲの蓄積が開始される。
【０１１１】
ステップＳＴ７で、トラッキング情報記憶部１５にトラッキング情報ＤＴＲが記憶されている場合（ＳＴ７でＹＥＳ）、ステップＳＴ８に進む。
ステップＳＴ８で、トラッキング部１４は、特定部位検出部１３から送信された指先座標が、前のフレームに同じ特定部位検出部１３から送信された指先座標と同じ指先を表すものであるか否かを判定する。この判定は、例えば上記の式（１）、（２ａ）及び（２ｂ）によって行われる。
【０１１２】
トラッキング部１４は、今回検出した指先と１つ前のフレーム画像ＤＦで検出した指先が同一のものであると認識した場合（ＳＴ８でＹＥＳ）ステップＳＴ１２に進む。
【０１１３】
ステップＳＴ１２では、トラッキング部１４は、検出した指先座標Ｐｔとフレーム番号ＦＮをトラッキング情報記憶部１５に送信し、トラッキング情報記憶部１５はその指先座標Ｐｔとフレーム番号ＦＮを追加記憶する。これにより、今回検出された指先位置が一つ前のフレーム画像で検出された指先位置に対応付けられる。
即ち、トラッキング情報記憶部１５において、図４（ａ）及び（ｂ）に示すとおり、１つ前のフレームまでにトラッキング部１４から受信した指先座標Ｐｔ及びフレーム番号ＦＮが記憶されているので、当該すでに記憶されている指先座標Ｐｔを保持したまま、その情報に追加する形で指先座標Ｐｔとフレーム番号ＦＮを記憶する。
【０１１４】
トラッキング部１４が、今回のフレーム画像ＤＦで検出した指先と１つ前のフレーム画像ＤＦで検出した指先が同一のものではないと認識した場合（ＳＴ８でＮＯ）、ステップＳＴ９に進む。
ステップＳＴ９では、トラッキング部１４はトラッキング情報記憶部１５に対し、記憶しているトラッキング情報ＤＴＲを削除することを指示する制御信号Ｃ１４ｂを送り、トラッキング情報記憶部１５はその制御信号Ｃ１４ｂに従って、記憶しているトラッキング情報ＤＴＲを削除する。
【０１１５】
記憶していたトラッキング情報ＤＴＲの削除が完了すると、ステップＳＴ１１に進む。
ステップＳＴ１１又はステップＳＴ１２の次にステップＳＴ１３に進む。
【０１１６】
ステップＳＴ１３では、動作認識部１６は、トラッキング情報記憶部１５から、トラッキング情報ＤＴＲを受信し、トラッキング情報記憶部１５に新たな指先座標Ｐｔが記憶されているか否かを判定する。
【０１１７】
新たな指先座標Ｐｔを記憶していると判断した場合（ＳＴ１３でＹＥＳ）、ステップＳＴ１４に進む。
ステップＳＴ１４では、指先の位置が前フレームにおける位置から、予め定められた距離の範囲内に位置にあるか否かの判定を行う。この判定は、例えば上記の式（３）によって行われる。
予め定められた距離の範囲内にあれば（ＳＴ１４でＹＥＳ）、ステップＳＴ１５に進み、カウント値Ｎｃｆを１だけ増加させる。
【０１１８】
次にステップＳＴ１６において、カウント値Ｎｃｆが予め定められた値Ｎｃｆｔに達した否かの判定を行う。
予め定められた値Ｎｃｆｔに達した場合（ＳＴ１６でＹＥＳ）、ステップＳＴ１７に進み、動作認識部１６は、「選択」を意図した指先の動作であるとの判定を行い、ＵＩ制御部２０に対して「選択」を意図したものであるとの判定結果を示す判定結果信号Ｄ１６ｄを送信するとともに、指先座標Ｐｔを、ポインティング位置認識部１９に送信する。
【０１１９】
次のステップＳＴ１８では、ポインティング位置認識部１９では、送信された判定結果信号Ｄ１６ｄ及び指先座標Ｐｔに応じて表示を切替える。即ち、選択された項目に応じた次の操作画面を表示する。例えば、選択された項目の詳細を表示する。
【０１２０】
ステップＳＴ１６で、予め定められた値Ｎｃｆｔに達していない場合（ＳＴ１６でＮＯ）、ステップＳＴ１９に進む。
ステップＳＴ１９では、動作認識部１６は、「選択」を意図した動作でなく、「ポインティング」を意図した動作であるとの判定をする。そして、ＵＩ制御部２０に対して「ポインティング」を意図したものであるとの判定結果を示す判定結果信号Ｄ１６ｄを送信するとともに、指先座標Ｐｔをポインティング位置認識部１９に送信する。
【０１２１】
ステップＳＴ１４で、前フレームの位置から所定範囲内ではないと判定された場合（ＳＴ１４でＮＯ）、ステップＳＴ１９に進む。
ステップＳＴ１８又はステップＳＴ１９の次に、ステップＳＴ１に戻り、次のフレーム画像ＤＦが書き込まれるのを待つ。
【０１２２】
ステップＳＴ１３で、動作認識部１６は、トラッキング情報記憶部１５が新たな指先座標Ｐｔを記憶していないと判断した場合（ＳＴ１３でＮＯ）、ステップＳＴ１に戻り、次のフレーム画像ＤＦが書き込まれるのを待つ。
【０１２３】
次に、仮想操作面認識部１７がユーザーの仮想操作面ＢＭを指定する動作を認識し、仮想操作面ＢＭを認識する方法について、図１３のフローチャートを参照して説明する。
図１３の処理は、予め定められた周期で開始される。
【０１２４】
最初にステップＳＴ３１で、仮想操作面認識部１７は、仮想操作面認識部１７が制御信号Ｃ１７ａを送信し、これに対してトラッキング情報記憶部１５からトラッキング情報ＤＴＲが送信されると、仮想操作面認識部１７は、トラッキング情報ＤＴＲを受信する。
ステップＳＴ３２以降で、仮想操作面認識部１７は、受信したトラッキング情報からユーザーが仮想操作面ＢＭを指定する動作を行ったかどうかを認識する。
まず、仮想操作面認識部１７は、ユーザーが指先によって閉曲線２０１を描いたかどうかを判定する（ＳＴ３２）。
【０１２５】
ユーザーが指先によって閉曲線２０１を描いたと判定した場合（ＳＴ３２でＹＥＳ）、仮想操作面認識部１７は、閉曲線２０１の内側領域を閉領域２０３と認定する。
【０１２６】
次に、仮想操作面認識部１７は、閉領域２０３の面積Ｓ２０３が閾値ＴｈＳ以上であるか否かの判定（ＳＴ３３）、及び閉領域２０３を生成するのに要した時間Ｔ２０３が閾値Ｔｈｔ以下であるか否かの判定（ＳＴ３４）を行う。
【０１２７】
ステップＳＴ３３の判定条件、又はステップＳＴ３４の判定条件のいずれかが満たされない場合（ＳＴ３３でＮＯ又はＳＴ３４でＮＯ）、仮想操作面認識部１７は、仮想操作面ＢＭの指定は行われていないと判断し、処理を終了する。
【０１２８】
ステップＳＴ３３の判定条件、及びステップＳＴ３４の判定条件がともに満たされる場合（ＳＴ３３でＹＥＳで、かつＳＴ３４でＹＥＳ）、仮想操作面認識部１７は、生成された閉領域２０３が、仮想操作面ＢＭを指定するものであると認識する（ＳＴ３５）。
次に、仮想操作面認識部１７はこの閉領域２０３（図７（ｂ））に内接する矩形領域２０４を仮想操作面ＢＭとして認識する（ＳＴ３６）。
【０１２９】
次に、仮想操作面認識部１７は、上記のようにして定義された仮想操作面ＢＭに対応する操作領域ＡＭの左上の頂点を操作領域座標系３１１の原点とし、該原点の、撮像画像座標系３００におけるｘ座標Ｐｔｘ０及びｙ座標Ｐｔｙ０と、操作領域ＡＭの水平方向の辺ＡＭｘの長さ（水平方向の画素数）ＬＡｘと、垂直方向の辺ＡＭｙの長さ（垂直方向の画素数）ＬＡｙとを、マッピング情報ＭＰＤとして、マッピング情報記憶部１８に送信する（ＳＴ３７）。
【０１３０】
マッピング情報記憶部１８は仮想操作面認識部１７からマッピング情報ＬＡｘ、ＬＡｙ、Ｐｔｘ０、Ｐｔｙ０を受信し、それらの値を記憶する。既に、これらの値を記憶していた場合、新たに受信した値で上書きする。
【０１３１】
その後、ポインティング位置認識部１９は、動作認識部１６から指先座標Ｐｔを受信すると、マッピング情報記憶部１８からマッピング情報ＬＡｘ、ＬＡｙ、Ｐｔｘ０、Ｐｔｙ０を読み出す。これらの値と、既知であるＬＤｘ及びＬＤｙを利用し、式（７ｘ）、（７ｙ）を適用することで、ディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）を認識することができる。その後、認識したディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）をＵＩ制御部２０に送信する。
【０１３２】
尚、ユーザーは仮想操作面ＢＭ外（カメラから見て仮想操作面ＢＭの上下又左右に外れた位置）に指先１０２を位置させる場合がある。これにはハンドポインティングを意図している場合と意図していない場合とがある。仮想操作面ＢＭ内に指先１０２が位置している場合には、下記の式（８ｘ）及び（８ｙ）がともに満たされる。逆に、仮想操作面ＢＭ外に指先１０２が位置している場合、式（８ｘ）及び（８ｙ）の少なくとも一方が不成立となる。従って、式（８ｘ）、（８ｙ）が成立するか否かで指先が仮想操作面ＢＭの内部にあるか否かを判別することが可能である。
【数８】
2018032055.tif 000010
【０１３３】
式（８ｘ）及び（８ｙ）の少なくとも一方が不成立となる場合、動作認識部１６は、指先１０２は仮想操作面ＢＭの外部に位置しているものと判断し、ユーザーはハンドポインティングを行っていないとみなし、「選択」、「ポインティング」などの動作を認識しない。つまりポインティング位置認識部１９はＵＩ制御部２０に対し、ディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）を送信しない。
【０１３４】
尚、ユーザーにより仮想操作面ＢＭが指定されていない場合、マッピング情報記憶部１８にＬＡｘ、ＬＡｙ、Ｐｔｘ０、Ｐｔｙ０が記憶されていない。この場合、座標系の変換は行えないので次の通りにして、Ｄｔｘ、Ｄｔｙを定める。
【０１３５】
特定部位検出部１３が最初に指先を検出したときの指先座標（Ｐｔｘ０，Ｐｔｙ０）を、ディスプレイ２３の中心座標（ＬＤｘ／２，ＬＤｙ／２）に対応付ける。即ち、特定部位検出部１３が最初に指先を検出したときの指先座標（Ｐｔｘ０，Ｐｔｙ０）に対応するディスプレイ上座標（Ｄｔｘ０、，Ｄｔｙ０を）を下記の式（９ｘ）及び（９ｙ）のように定める。
【数９】
2018032055.tif 000011
【０１３６】
これ以降は指先の移動量に応じてディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）を求める。例えば、指先１０２が撮像画像座標系３００において座標（Ｐｔｘ，Ｐｔｙ）で表される位置に移動した場合、ディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）は、次の式（１０ｘ）及び（１０ｙ）で求められる。
【数１０】
2018032055.tif 000012
【０１３７】
式（１０ｘ）によって求めたＤｔｘがＬＤｙよりも大きい、又は０よりも小さい場合、又は、式（１０ｙ）によって求めたＤｔｙがＬＤｙよりも大きい、又は０よりも小さい場合、即ち、下記の式（１１ｘ）及び（１１ｙ）のいずれかが不成立となる場合がある。
【数１１】
2018032055.tif 000013
【０１３８】
これは、ディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）が、ディスプレイ２３の範囲外となる場合である。この場合、ユーザーはハンドポインティングを行っていないものとして、「選択」、「ポインティング」などの動作を認識しない。つまりポインティング位置認識部１９はＵＩ制御部２０に対し、ディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）を送信しない。
【０１３９】
上記したジェスチャー認識装置１においては、ユーザーによるハンドポインティングを実施する仮想操作面ＢＭを指定する動作を認識し、仮想操作面座標系３０１とディスプレイ座標系３０２との対応を予め認識することができるため、１台の一般的なカメラによって撮像された画像情報のみでディスプレイ上のポインティング位置であるディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）を認識することができる。
【０１４０】
図７（ａ）及び（ｂ）を参照して説明した方法では、指先で閉曲線２０１を描くことで、仮想操作面ＢＭを指定する動作を認識するようにしているが、その他の動作によって仮想操作面ＢＭを指定する動作を認識しても良い。例えば、図１４のようにある位置１２０を基点として指先１０２を矢印１２１、１２２、１２３、１２４で示すように、上下左右に移動させる動作を認識してもよい。
ジェスチャー認識装置１を、図７（ａ）及び（ｂ）に示される動作の代わりに、図１４に示される動作で仮想操作面ＢＭを指定するように構成しておいても良く、複数用いることとしても良く、図７（ａ）及び（ｂ）に示される動作で仮想操作面ＢＭを指定するか、図１４に示される動作で仮想操作面ＢＭを指定するかを選択可能なように構成しておいても良い。
【０１４１】
図７（ａ）及び（ｂ）を参照して説明した方法では、指先で閉曲線２０１を描くことで、仮想操作面ＢＭを指定する動作を認識する。しかしながら、正確に同じ位置に戻ることが困難な場合も考えられる。そこで、指先で描かれる軌跡のうちの、任意の点に対する距離が予め定められた閾値以下の点に戻ったか否かで、閉曲線が描かれた否かを判断することとしても良い。そのため、指先で描かれる軌跡上の点相互間の距離Ｄ２０３に対し、閾値ＴｈＣ及びＴｈＤを設定し、一旦下記の式（１２ａ）が成立した後、下記の式（１２ｂ）が成立するか否かの判定を行う。
【数１２】
2018032055.tif 000014
【０１４２】
式（１２ａ）の閾値ＴｈＣは式（１２ｂ）の閾値ＴｈＤよりも大きく設定される。
式（１２ａ）及び（１２ｂ）で用いる距離Ｄ２０３としては、最新のフレームのフレーム画像ＤＦ（ｉ）における指先の座標Ｐｔ（ｉ）で表される位置と、最新のフレームより前のフレームのフレーム画像ＤＦ（ｉ−ｎ）（ｎは１以上の整数）における指先の座標Ｐｔ（ｉ−ｎ）で表される位置との距離が用いられる。
式（１２ａ）及び（１２ｂ）が満たされた場合、式（１２ａ）及び（１２ｂ）を満たす最新のフレームのフレーム画像ＤＦ（ｉ）における指先の座標Ｐｔ（ｉ）で表される位置と、最新のフレームより前のフレームのフレーム画像ＤＦ（ｉ−ｎ）における指先の座標Ｐｔ（ｉ−ｎ）で表される位置とを線分で結ぶことで閉曲線２０１を完成させ、該閉曲線２０１で囲まれる領域を閉領域２０３と認定する。そして、認定された閉領域２０３に内接する矩形領域２０４を仮想操作面ＢＭとして認識する。
式（１２ａ）、及び（１２ｂ）に加えて式（４ａ）及び（４ｂ）が全て成立する場合に、ユーザーが仮想操作面ＢＭの指定を意図したと認識してもよい。
【０１４３】
図１３を参照して説明した方法では、仮想操作面認識部１７が、指先の軌跡を常に監視することにより、閉曲線２０１を描いたことを認識し、仮想操作面ＢＭを指定する動作を認識するようにしている。代わりに、予め定められた特定の動作（鍵となる動き）によってユーザーが明確に仮想操作面ＢＭの指定開始及び終了を指示しても良い。例えば、手又は指を左右に５回振ることで仮想操作面ＢＭの指定モードに入り、その後、ユーザーが閉曲線を描くことで、仮想操作面ＢＭを指定しても良い。指定モードの終了は、閉領域が生成された時点としても良いし、開始時と同様に終了を意味する手又は指の動作を定義し、その動作が行われた時点としても良い。尚、開始を意味する動作（鍵動作）及び終了を意味する動作（鍵動作）はユーザーによって任意に定義することも可能である。このような定義を記憶しておく記憶部を別個に設け、仮想操作面認識部１７がトラッキング情報とこの定義を照会することで、開始又は終了を認識することができる。このようにすることで、仮想操作面ＢＭを指定するときの動作をユーザーが選択することができる。上記の別個の記憶部が図１５に鍵動作記憶部２４として示されている。
【０１４４】
図１５の構成では、上記のように、予め定められた特定の動作（鍵となる動き）によって仮想操作面ＢＭの指定の開始及び終了を指示している。代わりに、手又は指の動作以外の特定の方法によってユーザーが明確に仮想操作面ＢＭの指定開始及び終了を指示しても良い。例えば、図１６に示すように、音声受信部としてのマイク２５と、音声認識部２６とを付加し、予め定められた特定の音声（鍵となる音声）、例えば、「仮想操作面指定開始」という言葉を発すると、これをマイク２５で受信し、音声認識部２６で認識して、その認識の結果を仮想操作面認識部１７に伝える。仮想操作面認識部１７が、音声認識部２６の認識の結果を受け、これに応じて仮想操作面ＢＭの指定モードに入り、その後、ユーザーが閉曲線を描くことで、仮想操作面ＢＭを指定しても良い。指定モードの終了は、閉領域２０３が生成された時点としても良いし、ユーザーの「仮想操作面指定終了」という声を認識した時点としても良い。尚、開始を意味する音声及び終了を意味する音声はユーザーによって任意に定義することも可能である。このようにすることで、仮想操作面ＢＭを指定するときの動作をユーザーが選択することができる。
【０１４５】
図７（ａ）及び（ｂ）に示した方法では、片手の指先によって仮想操作面ＢＭを指定するようにしている。代わりに、両手の指先を用いても良い。例えば図１７のように、両手１０１の指先１０２を頂点とした矩形領域を認識し、認識した矩形領域を仮想操作面ＢＭとして認識しても良い。この場合、特定部位検出部１３が２か所の指先を検出する。ユーザーが仮想操作面ＢＭを指定しているかどうかの判定は、２箇所の指先１０２の位置関係（撮像画像中の位置関係）が所定の条件を満たすか否かに基づいて行っても良い。或いは、２箇所の指先１０２の位置関係が所定の条件を満たす状態が所定の時間（静止時間）以上続いたか否かに基づいて、ユーザーが仮想操作面ＢＭを指定しているかどうかの判定を行っても良い。位置関係としては、２箇所の指先１０２が予め定められた距離以上離れているか否かを判定に用いることもできる。また、２箇所の指先が撮像画像の左上の予め定められた範囲内と右下の予め定められた範囲内とに存在するか否かを判定に用いることができる。このようにすることで、仮想操作面ＢＭを指定するときの動作をユーザーが選択することができる。また、図７（ａ）及び（ｂ）に示すように指先１０２を動かして閉領域２０３を形成する場合には、予め定められた大きさ以上の閉領域２０３を生成するため、指先１０２を大きく移動する必要があったが、図１７に示す方法を用いれば、そのように、大きく移動する必要が無いので、ユーザーの負担が軽くなる。
【０１４６】
実施の形態２．
実施の形態２のジェスチャー認識装置１は、ユーザーにより指定された仮想操作面ＢＭをディスプレイ２３のアスペクト比に一致させるように補正した上で認識するもので、仮想操作面ＢＭ上での指先の位置と、ディスプレイ２３上での指先の位置をより正確に対応付けることが可能である。アスペクト比を対応させるための処理は、操作領域ＡＭのアスペクト比をディスプレイ２３のアスペクト比に合わせることで行われる。仮想操作面ＢＭがカメラ１０の光軸１０ａに対して垂直であれば、仮想操作面ＢＭのアスペクト比は操作領域ＡＭのアスペクト比に等しい。従って、操作領域ＡＭのアスペクト比をディスプレイのアスペクト比に一致させることで、仮想操作面ＢＭのアスペクト比もディスプレイのアスペクト比に一致させることができる。
【０１４７】
図１８は、実施の形態２に係るジェスチャー認識装置１における、ハンドポインティング認識処理に関係する構成を示すブロック図である。図１８において、図２に示される構成要素と同一又は対応する構成要素には、図２に示される符号と同じ符号を付す。図１８に示されるジェスチャー認識装置１は、仮想操作面補正部２７を備える点が、実施の形態１に係るジェスチャー認識装置１と異なる。
【０１４８】
まず、図１８に示される構成要素の動作のうち、実施の形態１と異なる点のみ説明する。
仮想操作面認識部１７は、トラッキング情報記憶部１５に対し、トラッキング情報ＤＴＲを要求する制御信号Ｃ１７ａを送信し、トラッキング情報記憶部１５からトラッキング情報ＤＴＲが送信されたら、これを受信する。また、マッピング情報ＭＰＤを仮想操作面補正部２７に送信する。
【０１４９】
仮想操作面補正部２７は、仮想操作面認識部１７からマッピング情報ＭＰＤを受信し、受信したマッピング情報ＭＰＤで示される操作領域ＡＭのアスペクト比ＡＳＡが、ディスプレイ２３のアスペクト比ＡＳＤと一致するか否かを判定し、一致しない場合には、一致するように、操作領域ＡＭを補正して、補正された操作領域と、ディスプレイとの対応関係を示すマッピング情報（補正マッピング情報）ＭＰＤｃを生成し、補正マッピング情報ＭＰＤｃをマッピング情報記憶部１８に送信する。仮想操作面補正部２７はこのように、操作領域ＡＭのアスペクト比を補正することで、仮想操作面ＢＭのアスペクト比を補正する。
【０１５０】
マッピング情報記憶部１８は、仮想操作面補正部２７から補正マッピング情報ＭＰＤｃを受信して記憶する。すでに、補正マッピング情報が記憶されている場合には、新しく受信した補正マッピング情報で上書きする。
マッピング情報記憶部１８は、ポインティング位置認識部１９から補正マッピング情報ＭＰＤｃを要求する制御信号Ｃ１９ａを受信し、これに応じて補正マッピング情報ＭＰＤｃを送信する。
【０１５１】
ポインティング位置認識部１９は、動作認識部１６から指先座標Ｐｔを受信する。
ポインティング位置認識部１９はまた、マッピング情報記憶部１８に対し、補正マッピング情報ＭＰＤｃを要求する制御信号Ｃ１９ａを送信し、マッピング情報記憶部１８から補正マッピング情報ＭＰＤｃが送信されたら、これを受信する。
【０１５２】
以下、仮想操作面補正部２７についてさらに詳しく説明する。
仮想操作面補正部２７は、仮想操作面認識部１７からマッピング情報ＭＰＤを受信すると、マッピング情報ＭＰＤの補正が必要かどうかを判定する。具体的には、仮想操作面認識部１７によって認識された仮想操作面ＢＭ（図１９（ａ））に対応する操作領域ＡＭ（図１９（ｂ））アスペクト比（縦横サイズの比）ＡＳＡが、ディスプレイ２３（図１９（ｃ））アスペクト比ＡＳＡと一致するかどうかを判定する。
【０１５３】
操作領域ＡＭのアスペクト比ＡＳＡは、下記の式（１３）で表されるように、操作領域ＡＭの水平方向の辺ＡＭｘの長さ（水平方向の画素数）ＬＡｘを垂直方向の辺ＡＭｙの長さ（垂直方向の画素数）ＬＡｙで割ることで得られる。
【数１３】
2018032055.tif 000015
【０１５４】
操作領域ＡＭの辺の長さＬＡｘ及びＬＡｙとしては、仮想操作面認識部１７により算出されたものが用いられる。
【０１５５】
仮想操作面ＢＭのアスペクト比ＡＳＭは、下記の式（１４）で表されるように、仮想操作面ＢＭの水平方向の辺ＢＭｘの長さＬＢｘを垂直方向の辺ＢＭｙの長さＬＢｙで割ることで得られる。
【数１４】
2018032055.tif 000016
【０１５６】
上記のように、仮想操作面ＢＭがカメラ１０の光軸１０ａに垂直であれば、仮想操作面ＢＭのアスペクト比ＡＳＢは、操作領域ＡＭのアスペクト比ＡＳＡと同じであり、従って、操作領域ＡＭのアスペクト比ＡＳＡが補正されれば仮想操作面ＢＭのアスペクト比ＡＳＢも同じ値に補正される。
【０１５７】
ディスプレイ２３のアスペクト比ＡＳＤは、下記の式（１５）で表されるように、ディスプレイ２３の水平方向の辺２３１ｘの長さ（水平方向の画素数）ＬＤｘを垂直方向の辺２３１ｙの長さ（垂直方向の画素数）ＬＤｙで割ることで得られる。
【数１５】
2018032055.tif 000017
【０１５８】
ディスプレイ２３の辺の長さＬＤｘ及びＬＤｙかは既知であり、予めマッピング情報記憶部１８に記憶されている。また、式（１５）で求められるアスペクト比を前もって計算し、マッピング情報記憶部１８に記憶しておくことしても良い。
【０１５９】
算出されたアスペクト比ＡＳＡがアスペクト比ＡＳＤに一致すると判定された場合、仮想操作面補正部２７は仮想操作面ＢＭの補正を行わず、仮想操作面認識部１７から受信したマッピング情報ＭＰＤをそのまま補正マッピング情報ＭＰＤｃとしてマッピング情報記憶部１８に送信する。
【０１６０】
算出されたアスペクト比ＡＳＡがアスペクト比ＡＳＤに一致しないと判定された場合、操作領域ＡＭの補正を行う。操作領域ＡＭの補正は、操作領域ＡＭを水平方向（ｘ軸方向）に拡大又は縮小することで行われる。
【０１６１】
操作領域ＡＭを水平方向に拡大又は縮小することでアスペクト比を補正する場合、拡大又は縮小のために用いられる係数は、下記の式（１６）で求められる。
【数１６】
2018032055.tif 000018
【０１６２】
仮想操作面補正部２７は、上記の式（１６）で求められた係数ａを用いて、操作領域ＡＭを水平方向に拡大又は縮小する。
【０１６３】
水平方向に拡大する処理は、図１９（ｂ）に示すように、補正前の操作領域ＡＭｂに領域２１５を付加する処理である。この場合、補正後の操作領域ＡＭｃは補正前の操作領域ＡＭｂに領域２１５を加えた領域である。このように、操作領域ＡＭを補正することで、仮想操作面ＢＭも同様に補正される。即ち、図１９（ａ）に示されるように、補正前の仮想操作面ＢＭｂに領域２０５が付加されて、補正後の仮想操作面ＢＭｃとなる。
【０１６４】
以上、操作領域ＡＭを水平方向に拡大又は縮小する場合を説明したが、操作領域ＡＭを垂直方向に拡大又は縮小することとしても良い。
【０１６５】
以上のように、実施の形態２によれば、実施の形態１と同様に、ユーザーによるハンドポインティングを実施する仮想操作面ＢＭを指定する動作を認識し、操作領域座標系３１１とディスプレイ座標系３０２との対応を予め認識することができるため、１台の一般的なカメラによって撮像された画像情報のみでディスプレイ上のポインティング位置であるディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）を認識することができる。
【０１６６】
それに加えて、実施の形態２によれば、ユーザーにより指定された仮想操作面ＢＭをディスプレイ２３のアスペクト比に合わせて補正した上で認識できるので、仮想操作面ＢＭ上での指先の位置と、ディスプレイ２３上での指先の位置をより正確に対応付けることが可能である。
【０１６７】
アスペクト比が一致しない場合、例えばｘ軸方向の指先の移動に対してはディスプレイ２３上の指先座標（Ｄｔｘ，Ｄｔｙ）が大きく変化するが、同じだけｙ軸方向に指先を移動してもディスプレイ２３上ではあまり指先座標（Ｄｔｘ，Ｄｔｙ）が変化しないという問題が起こりうる。
実施の形態２のように構成すれば、この問題を解決することができる。
【０１６８】
図１８及び図１９（ａ）〜（ｃ）を参照して説明した構成では、仮想操作面ＢＭのアスペクト比を変更している。代わりに、ユーザーが仮想操作面ＢＭを指定する時点で、アスペクト比をディスプレイ２３のアスペクト比に一致させるようにすることも可能である。例えば本ジェスチャー認識装置１において、図２０（ａ）〜図２１（ｂ）、及び図２２に示すように、ユーザーが目１０３でディスプレイ２３を見て、ディスプレイ２３の周囲に沿うように指先を移動させるようにしても良い。
【０１６９】
例えば、最初に図２０（ａ）に示すように、ディスプレイ２３の表示画面２３１の左上隅２３１１を指さし（図示のように目１０３で見たときに指先１０２が左上隅２３１１に重なるようにし）、そのときの指先の位置（撮像画像上の位置）を仮想操作面ＢＭの左上隅ＢＭ１とする。
【０１７０】
次に図２０（ｂ）に示すように、ディスプレイ２３の表示画面２３１の左下隅２３１２を指さし（図示のように目１０３で見たときに指先１０２が左下隅２３１２に重なるようにし）、そのときの指先の位置を仮想操作面ＢＭの左下隅ＢＭ２とする。
【０１７１】
次に図２１（ａ）に示すように、ディスプレイ２３の表示画面２３１の右下隅２３１３を指さし（図示のように目１０３で見たときに指先１０２が右下隅２３１３に重なるようにし）、そのときの指先の位置を仮想操作面ＢＭの右下隅ＢＭ３とする。
【０１７２】
最後に図２１（ｂ）に示すように、ディスプレイ２３の表示画面２３１の右上隅２３１４を指さし（図示のように目１０３で見たときに指先１０２が右上隅２３１４に重なるようにし）、そのときの指先の位置を仮想操作面ＢＭの右上隅ＢＭ４とする。
【０１７３】
以上の処理で図２２に示すように、仮想操作面ＢＭの４隅ＢＭ１〜ＢＭ４の位置を定義することができ、４隅ＢＭ１〜ＢＭ４を定義することで仮想操作面ＢＭが定義される。
【０１７４】
このようにユーザーの指先の移動によって指定した仮想操作面ＢＭにアスペクト比は、ディスプレイ２３のアスペクト比と一致する。
【０１７５】
上記のように、ユーザーにディスプレイ２３の周囲に沿って指先を移動させるために、仮想操作面の認識処理の開始時に、「ディスプレイの周囲に沿って指先を移動させて下さい」と言ったメッセージをディスプレイ２３に表示するようにしても良く、同じ内容の音声を、図示しない音声発生器で発生させても良い。要するに、ユーザーに、自身から見えているディスプレイの周囲に沿って指先を移動させるよう案内すればよい。
【０１７６】
図１８及び図１９（ａ）〜（ｃ）を参照して説明した構成では、では、実施の形態１と同様に、３次元空間中で、全体が閉領域２０３の内部に位置し、かつ面積が最大の矩形の領域を仮想操作面ＢＭとして形成した上で、アスペクト比が、ディスプレイのアスペクト比と一致するように補正をしているが、全体が閉領域２０３の内部に位置し、アスペクト比がディスプレイのアスペクト比に一致し、かつ、面積が最大の矩形の領域を、仮想操作面ＢＭとして形成することとしても良い。このようにして仮想操作面ＢＭを形成すれば、仮想操作面の補正を省略することができる。
【０１７７】
実施の形態３．
実施の形態３のジェスチャー認識装置１は、仮想操作面ＢＭの設定後のユーザーの移動に応じて、指定された仮想操作面ＢＭの位置を補正するもので、ユーザーが移動した場合にも、ユーザーが仮想操作面ＢＭを再設定する必要が無く、且つ移動前と同じ位置感覚でポインティング機能を利用できるようにしたものである。
【０１７８】
まず、本実施の形態３の要点を、図２３並びに図２４（ａ）及び（ｂ）を用いて説明する。実施の形態３は、図２３に示すように、ユーザーが仮想操作面ＢＭを指定した後に移動した場合にも、ユーザーの移動量に合わせて指定済みの仮想操作面ＢＭを移動させるものである。ユーザーの移動は、ユーザーの特定の部位、例えば顔の、撮像画像上における移動に基づいて検出する。図２３には、ユーザーの顔が符号１０４で示され、図２４（ａ）及び（ｂ）には撮像画像上の顔が符号１１４で示されている。
【０１７９】
図２５は、実施の形態３に係るジェスチャー認識装置１の構成を示すブロック図である。図２５において、図２に示される構成要素と同一又は対応する構成要素には、図２に示される符号と同じ符号を付す。図２５に示されるジェスチャー認識装置１は、顔検出部２８及び仮想操作面補正部２９を備える点が、実施の形態１に係るジェスチャー認識装置１と異なる。
【０１８０】
まず、各構成部の動作について実施の形態１と異なる点を中心として説明する。
撮像データ記憶部１２は、撮像制御部１１からフレーム画像ＤＦを受信して、フレーム番号ＦＮとともに蓄積する。撮像データ記憶部１２はまた、特定部位検出部１３にフレーム画像ＤＦとフレーム番号ＦＮとを送信する。これに加えて、撮像データ記憶部１２は、顔検出部２８にフレーム画像ＤＦを送信する。
【０１８１】
マッピング情報記憶部１８はさらに、仮想操作面補正部２９からマッピング情報を要求する制御信号Ｃ２９ａを受信し、これに応じてマッピング情報ＭＰＤを仮想操作面補正部２９に送信する。マッピング情報記憶部１８はまた、仮想操作面補正部２９から補正マッピング情報ＭＰＤを受信し、これを記憶する。
【０１８２】
顔検出部２８は、撮像データ記憶部１２からフレーム画像ＤＦを受信し、フレーム画像ＤＦを解析して、顔１１４を検出する。フレーム画像ＤＦ中の顔１１４の例が図２４（ａ）及び（ｂ）に示されている。フレーム画像ＤＦにおける顔１１４はユーザーの顔１０４に対応したものである。顔の検出は、一般に用いられている方法のいずれかで行い得る。
【０１８３】
顔検出部２８は、検出した顔の位置を示す座標（以後「顔座標」と呼ぶ）Ｐｆを、フレーム番号ＦＮとともに、仮想操作面補正部２９に送信する。図２４（ａ）及び図２４（ｂ）は、相前後するフレーム画像ＤＦの例であり、これらのフレーム画像ＤＦにおける顔１１４の位置を示す座標が符号Ｐｆ（ｉ−１）、Ｐｆ（ｉ）で示されている。図示の例では、あるフレーム（前フレーム）において図２４（ａ）に示すように、座標Ｐｆ（ｉ−１）で示される位置にあった顔が、次のフレーム（現フレーム）では、図２４（ｂ）に示すように、座標Ｐｆ（ｉ）で示される位置に移動している。座標Ｐｆ（ｉ）のｘ座標及びｙ座標をＰｆ（ｉ）ｘ及びＰｆ（ｉ）ｙで表し、座標Ｐｆ（ｉ−１）のｘ座標及びｙ座標をＰｆ（ｉ−１）ｘ及びＰｆ（ｉ−１）ｙで表す。
【０１８４】
仮想操作面補正部２９は、顔検出部２８から顔座標Ｐｆを受信し、また、マッピング情報記憶部１８からマッピング情報ＭＰＤを受信し、補正マッピング情報ＭＰＤｄをマッピング情報記憶部１８に送信する。
仮想操作面補正部２９はまた、顔検出部２８から供給された、各フレーム画像ＤＦにおける顔座標Ｐｆを記憶する。この顔座標Ｐｆは顔が検出されるたびに更新されるものとする。
【０１８５】
次に各構成部の作用について説明する。尚、ここでは本実施の形態３において重要な要素である、マッピング情報の補正を中心に説明する。
まず、顔検出部２８は、撮像データ記憶部１２からフレーム画像ＤＦを受信し、このフレーム画像ＤＦに対して顔検出処理を行う。顔検出が成功すると、顔検出部２８は検出した顔の位置を示す顔座標Ｐｆを仮想操作面補正部２９に送信する。
【０１８６】
仮想操作面補正部２９は、顔検出部２８から受信した顔座標Ｐｆ（ｉ）（＝（Ｐｆ（ｉ）ｘ，Ｐｆ（ｉ）ｙ））と１つ前のフレーム画像ＤＦにおける顔座標Ｐｆ（ｉ−１）（＝（Ｐｆ（ｉ−１）ｘ，Ｐｆ（ｉ−１）ｙ））とを比較し、ｘ軸方向及びｙ軸方向の移動量ＭＯＶ（ｉ）ｘ及びＭＯＶ（ｉ）ｙを求める。移動量ＭＯＶ（ｉ）ｘ及びＭＯＶ（ｉ）ｙは下記の式（１７ｘ）及び（１７ｙ）で求められる。
【数１７】
2018032055.tif 000019
【０１８７】
仮想操作面補正部２９は、その後、マッピング情報記憶部１８からマッピング情報ＭＰＤを受信する。受信したマッピング情報ＭＰＤのうち、操作領域座標系３１１の原点座標、即ち、操作領域座標系３１１の原点の、撮像画像座標系３００におけるｘ座標Ｐｔ（ｉ）ｘ０、及びｙ座標Ｐｔ（ｉ）ｙ０を読み出し、これらの値に先程算出した顔の移動量ＭＯＶ（ｉ）ｘ、ＭＯＶ（ｉ）ｙを加算する。加算の結果をＰｔ（ｉ＋１）ｘ０、及びＰｔ（ｉ＋１）ｙ０で表すとすると、この加算は下記の式（１８ｘ）及び（１８ｙ）で表される。
【数１８】
2018032055.tif 000020
【０１８８】
仮想操作面補正部２９は、上記の加算の結果を補正後の原点座標とし、補正後の原点座標を示す補正マッピング情報ＭＰＤｄをマッピング情報記憶部１８に送信する。
マッピング情報記憶部１８は送信された補正マッピング情報ＭＰＤｄを新たなマッピング情報ＭＰＤとして記憶する。即ち、記憶されていたマッピング情報を新たな補正マッピング情報で上書きする。
また、仮想操作面補正部２９は、現在のフレーム画像における顔の位置を示す顔座標（Ｐｆ（ｉ）ｘ０，Ｐｆ（ｉ）ｙ０）を記憶する。この際、１つ前のフレーム画像ＤＦにおける顔座標を現在のフレーム画像における顔座標で上書きする形で記憶する。
以上のように、操作領域ＡＭの補正を行うことで、仮想操作面ＢＭも補正される。
【０１８９】
以上のように実施の形態３によれば、実施の形態１と同様に、ユーザーによるハンドポインティングを実施する仮想操作面ＢＭを指定する動作を認識し、操作領域座標系３１１とディスプレイ座標系３０２との対応を予め認識することができるため、１台の一般的なカメラによって撮像された画像情報のみでディスプレイ上のポインティング位置であるディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）を認識することができる。
【０１９０】
それに加えて、実施の形態３によれば、仮想操作面ＢＭを指定した後でユーザーが移動した場合でも、ユーザーの移動に応じて、指定された仮想操作面ＢＭの位置を補正することができる。このため、ユーザーは仮想操作面ＢＭを再設定する必要が無く、且つ移動前と同じ位置感覚でポインティング機能を利用できる。
【０１９１】
ユーザーが、座る位置を変えるなど、意識的に大きく移動する場合に限らず、姿勢の変化は常に起こりえる事象である。実施の形態３によればこのような場合にも仮想操作面ＢＭを最適な位置に補正することが可能となる。
【０１９２】
実施の形態４．
実施の形態４のジェスチャー認識装置１は、仮想操作面ＢＭの指定後、ディスプレイ２３上に、カメラ１０による撮像画像に、仮想操作面ＢＭの位置を示すマークを重畳させたフレーム画像４００を本来の画像４０２に対し子画面として、或いは重畳して表示する。以下、仮想操作面ＢＭの位置を示すマークを重畳させたフレーム画像４００を確認用画像と呼ぶ。本来の画像４０２とは、ジェスチャー認識装置１がテレビ受信機の一部を成すものである場合、放送番組の画像を意味する。
【０１９３】
確認用画像４００を表示すれば、ユーザーは設定した仮想操作面ＢＭをディスプレイ２３上で確認しながらポインティングを行うことができるので、常に仮想操作面ＢＭ内でポインティングを行える。また仮想操作面ＢＭが自分の意図どおりに指定できたかどうかを確認することもできる。
【０１９４】
図２６は、実施の形態４のジェスチャー認識装置１における表示の一例を示す。このように本実施の形態４では、確認用画像４００がディスプレイ２３上に、本来の画像４０２に対し、子画面として、或いは重畳して表示される。
また、図２６に示されるように、この確認用画像４００にはユーザーが設定した仮想操作面ＢＭの輪郭を示す情報（図示の例では点線の枠）４０１が位置を示すマークとして重畳して表示される。
【０１９５】
図２７は、図２６の表示を行うためのジェスチャー認識装置の構成を示す。図２７に示されるジェスチャー認識装置は、テレビ受信機の一部を成すものである。テレビ受信機は、ジェスチャー認識装置のほか、放送受信部３を備えている。図２７のジェスチャー認識装置は、概して図２のジェスチャー認識装置と同じであるが、確認用画像生成部３０を備えており、図２のディスプレイ表示制御部２１の代わりに、ディスプレイ表示制御部２１ｂを備えている。
【０１９６】
確認用画像生成部３０は、撮像データ記憶部１２からフレーム画像ＤＦを受信し、仮想操作面認識部１７から仮想操作面ＢＭに対応する操作領域ＡＭを示す情報ＤＡＭを受信する。
【０１９７】
確認用画像生成部３０は、仮想操作面ＢＭに対応する操作領域ＡＭを示す情報ＤＡＭから仮想操作面ＢＭの輪郭を示す画像（図２６の点線の枠４０１）を生成し、フレーム画像ＤＦに重畳して、確認用画像Ｄ３０を生成して、ディスプレイ表示制御部２１ｂに供給する。
【０１９８】
ディスプレイ表示制御部２１ｂは表示情報記憶部２２からの表示情報を受信するのみならず、確認用画像生成部３０から確認用画像を受信し、放送受信部３から放送映像を受信する。
【０１９９】
ディスプレイ表示制御部２１ｂは、通常は、放送受信部３からの放送映像のみをディスプレイ２３に表示させる。
ディスプレイ表示制御部２１ｂはまた、確認用画像生成部３０からの確認用画像Ｄ３０を、放送映像に合成し、合成により得られた映像をディスプレイ２３に供給して、ディスプレイ２３に図２６に示されるような映像を表示させることができる。合成に当たり、確認用画像Ｄ３０を、放送映像に対して子画面として組み込んでも良く、放送映像に重畳しても良い。
【０２００】
ディスプレイ表示制御部２１ｂはまた、実施の形態１と同様に、表示情報記憶部２２からの表示情報を放送映像の代わりに、又は放送映像に重畳して表示させることもできる。
【０２０１】
ディスプレイ表示制御部２１ｂはさらに、表示情報記憶部２２からの表示情報と、確認用画像生成部３０からの確認用画像の双方を、放送映像に合成して、表示させることもできる。
どのようなモードで表示を行わせるかは、図示しない制御部からの制御信号によって制御される。
【０２０２】
なお、図２６では、仮想操作面ＢＭの輪郭を示す点線の枠４０１がディスプレイに表示されるが、枠以外の形で仮想操作面ＢＭの位置を示すようにしても良い。
【０２０３】
実施の形態４によれば、実施の形態１と同様に、ユーザーによるハンドポインティングを実施する仮想操作面ＢＭを指定する動作を認識し、操作領域座標系３１１とディスプレイ座標系３０２との対応を予め認識することができるため、１台の一般的なカメラによって撮像された画像情報のみでディスプレイ上のポインティング位置であるディスプレイ上指先座標（Ｄｔｘ，Ｄｔｙ）を認識することができる。
【０２０４】
それに加えて、実施の形態４によれば、ユーザーは自身の設定した仮想操作面ＢＭの位置をディスプレイ上で確認することができる。従って、仮想操作面ＢＭが自分の意図どおりに指定できたかどうかを確認することができる。また、仮想操作面ＢＭをディスプレイ上で確認しながらポインティングを行うことができるので、ポインティングのための動作の際に、指先（或いは他の特定部位）が、仮想操作面ＢＭから出てしまうのを防ぐことができる。例えば、指先（或いは他の特定部位）の現在の位置に対し、仮想操作面ＢＭがもう少し右であるということをユーザーに対し適切なタイミングで知らせることができる。
【０２０５】
仮想操作面ＢＭはユーザーの周囲に存在する空間に指定されるものであるが、ユーザーの目にはっきり見えるものではない。そのため、一度仮想操作面ＢＭを指定した後は、ユーザーは明確にどの位置でハンドポインティングを行えばいいか分からないという問題が存在する。実施の形態４におけるジェスチャー認識装置１によれば、このような問題を解決することができる。
【０２０６】
なお、上記の確認用画像４００は常にディスプレイ２３上に表示していても良いが、仮想操作面ＢＭを指定したタイミングで表示しても良い。このようにすることで、仮想操作面ＢＭが意図したように形成されたことを確認することができる。それとともに、仮想操作面ＢＭを指定したタイミング以外のときは、確認用画像４００によってディスプレイ２３に表示されている本来の情報４０２が見えづらくなるのを防ぐことができる。
【０２０７】
また、上記の確認用画像４００は常時は非表示としておいて、ユーザーの指先１０２が仮想操作面ＢＭ内又はその周辺に位置することが検出されたとき（例えば、予め定められた時間以上継続して仮想操作面ＢＭ又はその周辺に位置することが検出されたとき）に表示するようにしてもよい。このようにすることで、ユーザーがハンドポインティングを行うときは、仮想操作面ＢＭをディスプレイ２３に表示することで、ポイティングのための動作を確実に仮想操作面ＢＭ内で行えるようにすることができる。それとともに、ハンドポインティングを行わないときは、確認用画像４００によってディスプレイ２３に表示されている本来の情報４０２が見えづらくなるのを防ぐことができる。
【０２０８】
以上本発明をジェスチャー認識装置として説明したが、上記のジェスチャー認識装置で実施されるジェスチャー認識方法もまた本発明の一部を成す。また、上記のジェスチャー認識装置の構成の一部又は全部、上記のジェスチャー認識方法で行われる処理の一部又は全部はプロセッサを備えたコンピュータに実行させることができる。従って、コンピュータに上記のジェスチャー認識装置の構成の一部又は全部、上記のジェスチャー認識方法で行われる処理の一部又は全部を実行させるためのプログラム、及び該プログラムを記録した、コンピュータで読み取り可能な記録媒体もまた本発明の一部を成す。
【符号の説明】
【０２０９】
１  ジェスチャー認識装置、  ２  ハンドポインティング認識部、  ３  放送受信部、  １０  カメラ、  １１  撮像制御部、  １２  撮像データ記憶部、  １３  特定部位検出部、  １４  トラッキング部、  １５  トラッキング情報記憶部、  １６  動作認識部、  １７  仮想操作面認識部、  １８  マッピング情報記憶部、  １９  ポインティング位置認識部、  ２０  ＵＩ制御部、  ２１、２１ｂ  ディスプレイ表示制御部、  ２２  表示情報記憶部、  ２３  ディスプレイ、  ２４  鍵動作記憶部、  ２５  マイク、  ２６  音声認識部、  ２７  仮想操作面補正部、  ２８  顔検出部、  ２９    仮想操作面補正部、  ３０  確認用画像生成部、  １０１  手、  １０２  指先、  １０３  目、  １０４  顔、  １１４  顔、  ２０１  閉曲線、  ２０２  交点、  ２０３  閉領域、  ２１１  閉曲線、  ２１２  交点、  ２１３  閉領域、  ２３１  表示画面、  ２３１ｘ  ディスプレイの水平方向の辺の長さ、  ２３１ｙ  ディスプレイの垂直方向の辺の長さ、  ３００  撮像画像座標系、  ３０１  仮想操作面座標系、  ３０２  ディスプレイ座標系、  ３１１  操作領域座標系、  ＡＭ  操作領域、  ＡＭｘ  操作領域の水平方向の辺の長さ、  ＡＭｙ  操作領域の垂直方向の辺の長さ、  Ａｔ  操作領域内指先座標、  ＢＭ、ＢＭｂ、ＢＭｃ  仮想操作面、  ＤＦ  フレーム画像、  Ｄｔ  ディスプレイ上指先座標、  ＤＴＲ、ＤＴＲｄ  トラッキング情報、  ＦＮ  フレーム番号、  Ｐｔ  指先座標。
【図１】
2018032055.tif 000021
【図２】
2018032055.tif 000022
【図３】
2018032055.tif 000023
【図４】
2018032055.tif 000024
【図５】
2018032055.tif 000025
【図６】
2018032055.tif 000026
【図７】
2018032055.tif 000027
【図８】
2018032055.tif 000028
【図９】
2018032055.tif 000029
【図１０】
2018032055.tif 000030
【図１１】
2018032055.tif 000031
【図１２】
2018032055.tif 000032
【図１３】
2018032055.tif 000033
【図１４】
2018032055.tif 000034
【図１５】
2018032055.tif 000035
【図１６】
2018032055.tif 000036
【図１７】
2018032055.tif 000037
【図１８】
2018032055.tif 000038
【図１９】
2018032055.tif 000039
【図２０】
2018032055.tif 000040
【図２１】
2018032055.tif 000041
【図２２】
2018032055.tif 000042
【図２３】
2018032055.tif 000043
【図２４】
2018032055.tif 000044
【図２５】
2018032055.tif 000045
【図２６】
2018032055.tif 000046
【図２７】
2018032055.tif 000047