(57)【要約】【課題】対象物の検知時間の増大を招くことなく、検知精度を向上させることができる画像処理装置を提供する。【解決手段】指示動作を行う同一の検知対象物を各々異なる位置から撮像して当該検知対象物が含まれた画像を示す画像情報を出力する複数の撮像手段から出力された複数の画像情報に対する各々に共通に含まれる共通領域より狭い領域であり、かつ指示動作を行うことのできる空間として３次元空間である検索空間に対応する２次元領域を対象としたステレオマッチングにより、２次元領域間の対応点の３次元空間における検知対象物の位置である適合位置を示す位置情報を検知し（Ｓ２０１）、位置情報検知手段により検知された位置情報が示す適合位置のうち、所定の条件に合致する適合位置である特定位置を検知する（Ｓ２０２）。【選択図】図６
2008059148.tif 000002
【特許請求の範囲】
【請求項１】
指示動作を行う同一の検知対象物を各々異なる位置から撮像して当該検知対象物が含まれた画像を示す画像情報を出力する複数の撮像手段と、
前記複数の撮像手段から出力された複数の前記画像情報に対する、当該複数の画像情報により示される複数の画像の各々に共通に含まれる共通領域より狭い領域であり、かつ前記指示動作を行うことのできる空間として予め定められた３次元空間である検索空間に対応する２次元領域を対象としたステレオマッチングにより、当該２次元領域間の対応点の前記３次元空間における前記検知対象物の位置である適合位置を示す位置情報を検知する位置情報検知手段と、
前記位置情報検知手段により検知された位置情報が示す適合位置のうち、所定の条件に合致する適合位置である特定位置を検知する特定位置検知手段と、
を有する画像処理装置。
【請求項２】
前記特定位置検知手段が検知する特定位置は、前記検索空間に含まれる検知空間内の位置であり、
前記検知空間は、直方体内部の空間であり、
前記所定の条件は、前記位置情報検知手段で検知された位置情報が前記直方体内部の存在し、かつ前記直方体の面のうち、予め定められた対向する２つの面の一方の面上に存在せず、かつ他方の面から所定距離以内に前記適合位置が存在する場合に前記一方の面に最も近い適合位置を前記特定位置とする条件である請求項１に記載の画像処理装置。
【請求項３】
当該画像処理装置の消費電力量を制御する消費電力制御手段を更に有し、
前記消費電力制御手段は、低消費電力モードとなっており、かつ前記特定位置検知手段が前記特定位置を検知した後、予め定められた時間経過後に、前記特定位置検知手段が前記特定位置を再び検知した場合に、前記低消費電力モードを解除する請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記特定位置検知手段により検知された特定位置の移動状態を示す状態量を導出する導出手段と、
前記導出手段により導出された前記状態量に基づいて前記指示動作を検知する検知手段と、
を更に有する請求項１から請求項３のいずれか１項に記載の画像処理装置。
【請求項５】
前記指示動作は、予め定められた操作を行う操作処理の実行を指示する動作であり、
表示手段と、
前記表示手段の表示領域に、前記３次元空間の断面に対応する所定画面が表示されるように制御する制御手段と、
前記所定画面を複数の領域に分割した各部分領域毎に前記操作処理が予め関連付けて記憶された記憶手段と、
を更に有し、
前記導出手段は、前記特定位置検知手段により検知された特定位置の位置情報に基づいて、前記検知対象物が移動した際の前記特定位置の移動状態を示す前記状態量として、前記断面の法線方向に沿った前記特定位置の移動量を導出し、
前記検知手段は、前記移動量が所定量に達したとき、その時点における前記特定位置の前記断面における位置に対応する前記部分領域に関連付けられて記憶された前記操作処理の実行を指示する動作を前記指示動作として検知する請求項４に記載の画像処理装置。
【請求項６】
前記制御手段は、前記所定画面における前記特定位置の対応位置に当該特定位置の位置を示す位置表示画像が表示され、かつ各部分領域毎に前記特定位置の移動状態を示す状態表示部が表示されるように更に制御するものであり、前記位置表示画像、及び当該位置表示画像が表示される位置の前記部分領域に表示される前記状態表示部の少なくとも一方の表示状態が前記移動量に応じて変化するように更に制御する請求項５に記載の画像処理装置。
【請求項７】
前記制御手段は、前記移動量が前記所定量に達する直前に、前記断面の面方向に沿った前記特定位置の移動を禁止する請求項５又は請求項６に記載の画像処理装置。
【請求項８】
前記制御手段は、前記所定画面に前記複数の部分領域の間を隔てる境界線が表示されるように更に制御する請求項５から請求項７のいずれか１項記載の画像処理装置。
【請求項９】
前記検知空間の位置を設定する検知空間設定手段を更に有し、
前記検知空間設定手段は、前記撮像手段の各々から略等距離で、かつ前記表示手段の近傍に位置させた検索空間を、前記特定位置検知手段が検知した特定位置に応じて移動させ、前記特定位置が予め定められた時間移動しなくなったときの当該特定位置を前記検知空間の位置として設定する請求項５から請求項８のいずれか１項記載の画像処理装置。
【請求項１０】
前記制御手段は、前記撮像手段から出力された画像情報が示す画像と、前記検知空間を示す直方体を投影した２次元画像とを重畳し、重畳して得られた画像を更に鏡像変換した鏡像変換画像を前記表示手段の表示領域に表示するように制御する請求項５から請求項９のいずれか１項記載の画像処理装置。
【請求項１１】
前記特定位置検知手段が検知した特定位置と、前記３次元空間の原点との位置関係に応じて、前記３次元空間を回転して新たな３次元空間とする座標回転手段を更に有する請求項１から請求項１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記位置情報検知手段は、
前記複数の撮像手段から出力された複数の前記画像情報と、所定時間経過後に前記複数の撮像手段から出力された複数の前記画像情報とを、同一の撮像手段から出力された画像情報毎に比較し、異なる画像情報が存在した場合に前記ステレオマッチングを実行する請求項１から請求項１１のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関する。
【背景技術】
【０００２】
近年、テレビ受像機、空気調和機、音響機器等の様々な電気・電子機器において、リモートコントローラ（以下、「リモコン」という。）を用いた当該電気・電子機器に対する遠隔操作が可能とされている。しかし、ユーザは自身の周辺にリモコンを置いておく必要があると共に、リモコンの紛失やリモコンに駆動用の電力を供給する電池の消耗状態等に気をつける必要があった。
【０００３】
そこで、これらの問題を解決するために適用できる技術として、特許文献１〜特許文献３には、ユーザによる手での指示動作を検知する際に、当該手を撮像して得られた画像情報を用いたパターンマッチングを行う技術が開示されている。
【特許文献１】特開平８−２１１９７９号公報
【特許文献２】特開２００５−１７８４７３号公報
【特許文献３】特開平８−３２０９２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１〜特許文献３に開示されている技術では、パターンマッチングは複雑であり、検知時間が増大する、という問題点があった。また、手など対象物による指示動作を検知するために辞書を必要とするパターンマッチングを行う場合、誤検知が増大する場合がある、という問題点があった。
【０００５】
本発明は、上記問題点を解決するためになされたものであり、対象物の検知時間の増大を招くことなく、検知精度を向上させることができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために請求項１の発明は、指示動作を行う同一の検知対象物を各々異なる位置から撮像して当該検知対象物が含まれた画像を示す画像情報を出力する複数の撮像手段と、前記複数の撮像手段から出力された複数の前記画像情報に対する、当該複数の画像情報により示される複数の画像の各々に共通に含まれる共通領域より狭い領域であり、かつ前記指示動作を行うことのできる空間として予め定められた３次元空間である検索空間に対応する２次元領域を対象としたステレオマッチングにより、当該２次元領域間の対応点の前記３次元空間における前記検知対象物の位置である適合位置を示す位置情報を検知する位置情報検知手段と、前記位置情報検知手段により検知された位置情報が示す適合位置のうち、所定の条件に合致する適合位置である特定位置を検知する特定位置検知手段と、を有する。
【０００７】
請求項１に記載の発明によれば、複数の撮像手段により、指示動作を行う同一の検知対象物を各々異なる位置から撮像して当該検知対象物が含まれた画像を示す画像情報を出力し、位置情報検知手段により、前記複数の撮像手段から出力された複数の前記画像情報に対する、当該複数の画像情報により示される複数の画像の各々に共通に含まれる共通領域より狭い領域であり、かつ前記指示動作を行うことのできる空間として予め定められた３次元空間である検索空間に対応する２次元領域を対象としたステレオマッチングにより、当該２次元領域間の対応点の前記３次元空間における前記検知対象物の位置である適合位置を示す位置情報を検知し、特定位置検知手段により、前記位置情報検知手段により検知された位置情報が示す適合位置のうち、所定の条件に合致する適合位置である特定位置を検知する。
【０００８】
このように本発明は、複数の画像の各々に共通に含まれる共通領域より狭い領域に対してステレオマッチングをするので、共通領域全体に対してステレオマッチングするよりも対象物の検知時間の増大を招くことなく、また、共通領域より狭い領域を検知すればよいので検知精度を向上させることができる。
【０００９】
なお、請求項２の発明は、前記特定位置検知手段が検知する特定位置が、前記検索空間に含まれる検知空間内の位置であり、前記検知空間が、直方体内部の空間であり、前記所定の条件を、前記位置情報検知手段で検知された位置情報が前記直方体内部の存在し、かつ前記直方体の面のうち、予め定められた対向する２つの面の一方の面上に存在せず、かつ他方の面から所定距離以内に前記適合位置が存在する場合に前記一方の面に最も近い適合位置を前記特定位置とする条件としたものである。
【００１０】
ここで、請求項２の発明では、上記条件を満たす場合に特定位置と判断するので、特定位置の誤検知を低減することができる。
【００１１】
また、請求項３の発明は、当該画像処理装置の消費電力量を制御する消費電力制御手段を更に有し、前記消費電力制御手段は、低消費電力モードとなっており、かつ前記特定位置検知手段が前記特定位置を検知した後、予め定められた時間経過後に、前記特定位置検知手段が前記特定位置を再び検知した場合に、前記低消費電力モードを解除する。
【００１２】
従って、請求項３の発明では、指示動作が行われていない場合には低消費電力モードをすることができる結果、電力消費量を低減することができる。
【００１３】
また、請求項４の発明は、前記特定位置検知手段により検知された特定位置の移動状態を示す状態量を導出する導出手段と、前記導出手段により導出された前記状態量に基づいて前記指示動作を検知する検知手段と、を更に有する。
【００１４】
ここで、請求項４の発明では、特定位置を検知するだけではなく、特定位置の移動も検知することができる。
【００１５】
また、請求項５の発明は、前記指示動作が、予め定められた操作を行う操作処理の実行を指示する動作であり、表示手段と、前記表示手段の表示領域に、前記３次元空間の断面に対応する所定画面が表示されるように制御する制御手段と、前記所定画面を複数の領域に分割した各部分領域毎に前記操作処理が予め関連付けて記憶された記憶手段と、を更に有し、前記導出手段が、前記特定位置検知手段により検知された特定位置の位置情報に基づいて、前記検知対象物が移動した際の前記特定位置の移動状態を示す前記状態量として、前記断面の法線方向に沿った前記特定位置の移動量を導出し、前記検知手段が、前記移動量が所定量に達したとき、その時点における前記特定位置の前記断面における位置に対応する前記部分領域に関連付けられて記憶された前記操作処理の実行を指示する動作を前記指示動作として検知する。
【００１６】
ここで、請求項５の発明では、ユーザが空間で指示動作を行うことにより、ユーザはあたかも表示手段に触れているが如く所定の操作を指示することができる。
【００１７】
また、請求項６の発明は、前記制御手段は、前記所定画面における前記特定位置の対応位置に当該特定位置の位置を示す位置表示画像が表示され、かつ各部分領域毎に前記特定位置の移動状態を示す状態表示部が表示されるように更に制御するものであり、前記位置表示画像、及び当該位置表示画像が表示される位置の前記部分領域に表示される前記状態表示部の少なくとも一方の表示状態が前記移動量に応じて変化するように更に制御する。
【００１８】
このように、請求項６の発明では、表示状態を移動量に応じて変化させるので、ユーザの操作性を向上することができる。
【００１９】
また、請求項７の発明は、前記制御手段が、前記移動量が前記所定量に達する直前に、前記断面の面方向に沿った前記特定位置の移動を禁止する。
【００２０】
これにより、請求項７の発明では、ユーザが操作中に発生する可能性のある誤操作による特定位置の移動を防ぐことができる。
【００２１】
また、請求項８の発明は、前記制御手段が、前記所定画面に前記複数の部分領域の間を隔てる境界線が表示されるように更に制御する。
【００２２】
このように、請求項８の発明では、境界線が表示されるので、ユーザの操作性を向上することができる。
【００２３】
また、請求項９の発明は、前記検知空間の位置を設定する検知空間設定手段を更に有し、前記検知空間設定手段が、前記撮像手段の各々から略等距離で、かつ前記表示手段の近傍に位置させた検索空間を、前記特定位置検知手段が検知した特定位置に応じて移動させ、前記特定位置が予め定められた時間移動しなくなったときの当該特定位置を前記検知空間の位置として設定する。
【００２４】
これにより、請求項９の発明によれば、ユーザが検索空間を設定することができる。
【００２５】
また、請求項１０の発明は、前記制御手段が、前記撮像手段から出力された画像情報が示す画像と、前記検知空間を示す直方体を投影した２次元画像とを重畳し、重畳して得られた画像を更に鏡像変換した鏡像変換画像を前記表示手段の表示領域に表示するように制御する。
【００２６】
従って、請求項１０の発明によれば、ユーザは検知空間の位置を知ることができる。
【００２７】
更に、請求項１１の発明は、前記特定位置検知手段が検知した特定位置と、前記３次元空間の原点との位置関係に応じて、前記３次元空間を回転して新たな３次元空間とする座標回転手段を更に有する。
【００２８】
このように、請求項１１の発明によれば、ユーザが操作する特定位置に応じて３次元空間を回転するので、ユーザによる操作性を向上することができる。
【００２９】
また、請求項１２の発明は、記位置情報検知手段は、前記複数の撮像手段から出力された複数の前記画像情報と、所定時間経過後に前記複数の撮像手段から出力された複数の前記画像情報とを、同一の撮像手段から出力された画像情報毎に比較し、異なる画像情報が存在した場合に前記ステレオマッチングを実行する。
【００３０】
このように、請求項１２の発明によれば、異なる画像情報が存在した場合にのみステレオマッチングを実行するので、処理の負荷を低減させることができる。
【発明の効果】
【００３１】
本発明によれば、検知対象物の検知時間の増大を招くことなく、検知精度を向上させることができる画像処理装置を提供することができるという効果が得られる。
【発明を実施するための最良の形態】
【００３２】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
【００３３】
図１は、本実施の形態に係る画像処理装置の外観、及び検知空間を示す図である。画像処理装置２０は、カメラ２４Ａ、２４Ｂ、及びモニタ５２が設けられている。このうち、モニタ５２は、後述する操作画面などの情報を表示する。もちろんモニタ５２には、テレビ或いは映画などの通常の映像などを表示するようにしても良い。本実施の形態では、その操作画面に対し、ユーザが直接触れることなく指を動かすことにより、ユーザはあたかも触れているが如く画像処理装置２０を遠隔操作することができる。
【００３４】
カメラ２４Ａ、２４Ｂは、同図に示されるように、各々異なる位置から撮像して検知対象物が含まれた画像を示す画像情報を出力する。以下の説明において、カメラ２４Ａ、２４Ｂに共通する説明をする場合、単にカメラ２４と表現する。なお、カメラ２４Ａ、２４Ｂは、カラー撮影を行うものに限らず、白黒撮影、或いは赤外光撮影するものでも良く、撮影した画像によりステレオマッチングを行うことが可能な撮影ができるものであればよい。
【００３５】
また、検知空間３０は、カメラ２４Ａ、２４Ｂの両方の画角内に存在し、画像処理装置２０が物体を検知する空間を示すものであり、直方体内部の空間であるが、本実施の形態では特別な直方体である立方体内部の空間としている。なお、検知空間３０は、検知対象物である手のひらが入る大きさ程度に設定することが望ましい。検知空間の例として、概略１辺２０ｃｍ程度の立方体が挙げられる。
【００３６】
さらに、検知空間３０内の点を座標で表現するため、画像処理装置２０では立方体に対応する３次元座標を用いている。本実施の形態では、同図に示されるように、カメラ２４Ａ、２４Ｂを結ぶ線分と平行な直線をＸ軸に対応させている。また、画像処理装置２０の鉛直方向と平行な直線をＹ軸に対応させている。これらＸ軸とＹ軸に垂直に交わる軸をＺ軸としている。
【００３７】
このように構成された３次元座標の原点Ｏは、同図に示されるように、画像処理装置２０上に設定されている。なお、上記３次元座標は点を表現するための座標であるため、原点Ｏは同図に示される位置でなくても良い。
【００３８】
更に、図１には、特定位置（以下、特定点と記す）及び手が示されている。特定点は、後述するユーザの操作に係る処理に用いられる点で、本実施の形態ではユーザの指先に対応している。この特定点についての詳細は後述する。
【００３９】
次に、図２を用いて、画像処理装置２０のハードウェア構成について説明する。画像処理装置２０は、ＣＰＵ（Central Processing Unit）４０、ＲＡＭ４２、ＲＯＭ４４、ＨＤＤ（Hard Disk Drive）４６、モニタ５２、及びカメラＩ／Ｆ（インタフェース）５４を有し、これらはバスにより電気的に接続される。また、画像処理装置２０は、上述したカメラ２４Ａ、２４Ｂを有する。
【００４０】
このうち、ＣＰＵ４０は、画像処理装置２０に係る処理全体を司り、後述するフローチャートに示される処理は、ＣＰＵ４０により実行される。ＲＡＭ４２は、ＣＰＵ４０により実行されるプログラムやカメラ２４から得られた画像データなどが展開される揮発性の記憶装置である。また、ＲＡＭ４２には、後述するフローチャートでＣＰＵ４０がデータを記憶する際に用いられる。ＲＯＭ４４は、画像処理装置２０が起動する際に実行されるブートプログラムなどが記憶された不揮発性の記憶装置である。ＨＤＤ４６は、上記プログラムやデータなどが記憶される不揮発性の記憶装置である。カメラＩ／Ｆ５４は、例えばＵＳＢインタフェースやＩＥＥＥ１３９４インタフェースなど、カメラ２４とＣＰＵ４０とを接続するためのインタフェースである。
【００４１】
以上説明した構成により実行される処理について説明する。まず最初に、本実施の形態におけるステレオマッチング処理について説明する。このステレオマッチング処理は、従来より用いられている種々の方法を用いることができる。具体的に図３、４を用いて説明する。図３は、Ｙ軸方向（上面）から見た画像処理装置２０と検知空間３０を示す図である。同図には実線で示されるカメラ２４の画角内に検知空間３０が存在することが示されている。また、図４は、カメラ２４Ａが撮影した画像Ａと、カメラ２４Ｂが撮影した画像Ｂとを示している。この画像Ａ、Ｂには、検知空間を示す立方体も描かれている。
【００４２】
このように、本実施の形態においては、従来のステレオマッチング処理と同様に、２つのカメラ２４で撮影された画像Ａ、Ｂを用いた視差画像によりステレオマッチング処理を実行するが、従来のステレオマッチング処理と比較して、カメラ２４により撮影された画像のうち、検知空間３０を含む検索空間Ａ、Ｂのみでステレオマッチング処理が実行される点が異なっている。この検索空間は、カメラ２４から出力された画像情報により示される複数（ここでは２つ）の画像の各々に共通に含まれる共通領域より狭い領域であり、かつ前記指示動作を行うことのできる空間として予め定められた空間である。
【００４３】
従って、本実施の形態では、従来のステレオマッチング処理のように画像全体に対してステレオマッチング処理を行う必要がないため、画像処理装置２０の処理時間を大幅に短縮することが可能となっている。
【００４４】
なお、ステレオマッチング処理方法は種々の方法があるが、上述した視差画像により処理を行う方法であればいずれも適用可能である。具体的に例えば、画像の輪郭エッジ等、輝度変化の大きい部分を検出して相関を得る特徴点抽出法、或いはｎ×ｍ画素ブロック単位で左右画像の差分から相関を得る領域ベース法、輝度を等高線のように表わし、その等高線のパターンを検出して相関を得る等輝度線法などが、ステレオマッチング処理方法として挙げられる。
【００４５】
また、カメラの台数を３台以上とし、それらから得られる画像を用いてステレオマッチング処理を実行するようにしても良い。この場合、より正確なステレオマッチング処理が可能となる。
【００４６】
以下、フローチャートを用いて画像処理装置２０のＣＰＵ４０により実行される処理について説明する。
【００４７】
図５は、ユーザの指先を検知してからその操作を検知するまでの処理全体を示すフローチャートである。なお、図５に示される関数（サブルーチン）の詳細は後に説明する。
【００４８】
まず、ステップ１０１で、ＣＰＵ４０は、特定点取得処理を実行する。次のステップ１０２で、ＣＰＵ４０は、ユーザが操作する画面を表示する画面表示処理を実行する。その後、ステップ１０３で、ＣＰＵ４０は、再び特定点取得処理を実行する。次のステップ１０４で、ＣＰＵ４０は、ユーザの操作（指示動作）を検知する操作検知処理を実行する。
【００４９】
この操作検知処理により、後述するように操作が検知された場合は操作フラグがオンとなり、操作が検知されなかった場合はオフとなる。ステップ１０５で、ＣＰＵ４０は、操作フラグがオンか否か判断する。オフの場合は、再びステップ１０３の処理が実行される。オンの場合は、ステップ１０６で、ＣＰＵ４０は、その操作が画像処理装置２０に対する電源断の指示操作であったか否か判断する。電源断の場合は処理を終了し、電源断以外の操作であれば、ＣＰＵは、ステップ１０７でポインタに対応するボタンに応じた処理を実行し、再びステップ１０３の処理を実行する。
【００５０】
以下、上記ステップ１０１〜ステップ１０４の詳細について順に説明する。なお、以下の説明において、カメラ２４Ａ、及びカメラ２４Ｂを、それぞれカメラＡ、及びカメラＢと表現する。
【００５１】
まず、ステップ１０１の特定点取得処理の流れを、図６のフローチャートを用いて説明する。まず、ステップ２０１で、ＣＰＵ４０は、適合位置検知処理を実行する。この適合位置検知処理は、上記検知空間の設定や、指自体の検知を行う処理である。次のステップ２０２で、ＣＰＵ４０は、特定点検知処理を実行する。この特定点検知処理は、上記特定点を検知する処理である。本実施の形態における特定点とは上述したように指先となっている。次のステップ２０３で、ＣＰＵ４０は、特定点が検知されたか否かを判断する。検知された場合は処理を終了し、検知されない場合は、再びステップ２０１の処理を実行する。
【００５２】
次に、上記ステップ３０１の適合位置検知処理の流れを、図７のフローチャートを用いて説明する。
【００５３】
ステップ３０１で、ＣＰＵ４０は、立方体である検知空間の頂点の座標８点によるワイヤフレーム立体像を生成し、ステップ３０２でそのワイヤフレーム立体像を２次元投影画像に変換してワイヤフレーム画像を得る。
【００５４】
次のステップ３０３でＣＰＵ４０は、カメラＡ、Ｂから得られた画像データのうち、検索空間を示す検索空間画像データの上述したＲＡＭ４２上のアドレスを記憶する。この検索空間画像データが示す画像と上述したワイヤフレーム画像を重ね合わせたものが、図４に示した画像となる。
【００５５】
次に、ＣＰＵ４０は、ステップ３０４で、検索空間画像データＡ１、Ｂ１を記憶する。なお、検索空間画像データＡ１及び後述する検索空間画像データＡ２は、カメラＡにより得られた検索空間を示す画像データであり、検索空間画像データＢ１及び後述する検索空間画像データＢ２はカメラＢにより得られた検索空間を示す画像データである。
【００５６】
検索空間画像データを記憶すると、ＣＰＵ４０は、ステップ３０５でタイマをセットする。このタイマは画像の変化を検知するためのタイマである。ＣＰＵ４０は、ステップ３０６で上記タイマよりタイムアウトと判断すると、ステップ３０７で、カメラＡ、Ｂで現に得られた画像データのうち検索空間画像データＡ２、Ｂ２を記憶する。
【００５７】
次のステップ３０８は、画像に変化が生じたか否かの判断である。すなわち、検索空間画像データＡ１、Ａ２が異なるか否か、或いは検索空間画像データＢ１、Ｂ２が異なるか否かをＣＰＵ４０は判断する。
【００５８】
ＣＰＵがステップ３０８で否定判断した場合、再びステップ３０４の処理が実行される。一方、ステップ３０８でＣＰＵ４０が肯定判断した場合、画像に変化が生じたため、ステップ３０９でＣＰＵ４０は、検索空間画像データＡ２、Ｂ２に対してステレオマッチング処理を実行する。このように、カメラ２４から出力された複数の画像データと、所定時間経過後にカメラ２４から出力された複数の画像データとを、同一のカメラから出力された画像データ毎に比較し、異なる画像データが存在した場合にステレオマッチングを実行するので、ＣＰＵ４０の負荷を低減することができ、それにより消費電力を低減することも可能としている。
【００５９】
このステレオマッチング処理により、ＣＰＵ４０はステップ３１０で適合位置が存在するか否か判断する。
【００６０】
ここで、適合位置とは、ステレオマッチング処理により検知された検索空間画像データが示す画像（２次元領域間）の対応点の検索空間（３次元空間）における前記検知対象物の位置である。従って、手や腕の場合、その形状に応じて多くの適合位置が存在することとなる。
【００６１】
ステップ３１０で、適合位置が存在しない場合、再びステップ３０４の処理が実行される。適合位置がある場合、ステップ３１１でＣＰＵ４０は、適合位置を戻り値として出力する。
【００６２】
このように、いずれか少なくとも一方の画像に変化があった場合に上記ステレオマッチング処理を行うことで、ＣＰＵ４０のリソースマージンを確保でき、また消費電力の低減にもなる利点がある。また、カメラ２４に備えられた撮像素子の読み出し範囲も、検索空間内に限定するようにしても良い。
【００６３】
以上説明した適合位置検知処理により何らかの物体が存在することが検知されると、次に特定点を検知する特定点検知処理が実行される。まず、この特定点について説明する。特定点とは、検知空間内にある適合位置のうち、特定の条件を満たした適合位置である。このことを具体的に図８を用いて説明する。図８は、特定点を示す模式図である。同図には上述した３次元座標上に検知空間３０、物体（図では手）３２、及び３つの適合位置Ａ、Ｂ、Ｃが示されている。
【００６４】
なお、適合位置は３次元座標で表現される。また適合位置は数多く検知されるが、同図では分かりやすくするために３つのみ描いている。
【００６５】
本実施の形態では、指先を特定点とするため、同図に示される適合位置Ａを特定点として検知する。この特定点を検知する特定点検知処理を、具体的に図９のフローチャートを用いて説明する。なお、このフローチャートで用いられているＹ１、Ｙ２、Ｘ１、Ｘ２、Ｚ１は、図８に示される検知空間の頂点を示す座標値である。
【００６６】
まず、ステップ４０１で、ＣＰＵ４０は、検知空間内における適合位置のＹ軸での最大値Ｙｍａｘ、最小値Ｙｍｉｎを検索する。次に、ＣＰＵ４０は、ステップ４０２でＹｍａｘ＜Ｙ２−ｋかつＹｍｉｎ≦Ｙ１＋ａか否か判断する。
【００６７】
まずＹｍａｘ＜Ｙ２−ｋは、検知空間内の物体３２が検知空間の上面を貫いていないことを判定するためのものである。なお、このｋ（図８参照）は特定点とすべき点の存在位置に対し検知空間内の上面からある程度の余裕をもたせるような値とする。
【００６８】
また、Ｙｍｉｎ≦Ｙ１＋ａは、検知空間内の物体による適合位置が検知空間の底面に十分近い（底面から距離ａ以内に存在する）か否かを判断するためのものである。
【００６９】
このステップ４０２で、ＣＰＵ４０が否定判断した場合、処理を終了する。肯定判断した場合、ＣＰＵ４０は次のステップ４０３で検知空間内における適合位置のＸ軸での最大値Ｘｍａｘ、最小値Ｘｍｉｎを検索する。
【００７０】
次に、ＣＰＵ４０は、ステップ４０４でＸｍａｘ＜Ｘ２−ｂかつＸｍｉｎ≦Ｘ１＋ｂか否か判断する。この判断は、ＸｍａｘとＸｍｉｎがＸ１とＸ２の間にあるか否かを判断するものである。これにより、検知空間の側面のいずれかを貫いていないことが判断される。
【００７１】
このステップ４０４で、ＣＰＵ４０が否定判断した場合、処理を終了する。肯定判断した場合、ＣＰＵ４０は次のステップ４０５で検知空間内における適合位置のＺ軸での最小値Ｚｍｉｎを検索する。
【００７２】
次に、ＣＰＵ４０は、ステップ４０６でＺｍｉｎ＜Ｚ１＋ｃか否か判断する。この判断は、検知空間の前面のＺ軸の座標値であるＺ１より小さいか否かを判断するものである。これにより、検知空間の前面を貫いていないことが判断される。
【００７３】
このステップ４０６で、ＣＰＵ４０が否定判断した場合、処理を終了する。肯定判断した場合、ＣＰＵ４０は次のステップ４０７でＹｍａｘとなる適合位置を特定点Ｓとする。
【００７４】
このように、本実施の形態では、適合位置の全てが立方体内部に含まれ、かつ該立方体の面のうち、予め定められた対向する２つの面の一方の面上（上面）に前記適合位置が存在せず、かつ他方の面（底面）から所定距離ａ以内に適合位置が存在する場合に前記一方の面に最も近い適合位置を前記特定点とする。
【００７５】
なお、特定点検知処理においては、上述したステップ４０４、４０５の処理を削除した処理としても良い。これは、例えば指が斜めの場合、側面からはみ出る可能性があるが、その場合でも指先は検知できるためである。
【００７６】
このようにして得られた特定点Ｓに基づき、ＣＰＵ４０は操作画面を表示する。この操作画面を表示する画面表示処理の流れを、図１０のフローチャートを用いて説明する。まず、ステップ５０１で、ＣＰＵ４０は、上記特定点ＳをＳ１として記憶する。次のステップ５０２で、ＣＰＵ４０は、特定点Ｓ１を基準に操作空間を設定する。
【００７７】
この操作空間とは、図１１に示される直方体の形状であると共に、検知空間を含み、検索空間に含まれる空間であり、操作を検知するための空間である。この操作空間は、同図に示されるように特定点Ｓ１を基準にＸＹＺ方向の大きさが予め定められており、この大きさに従ってステップ５０２では直方体の各点を例えばＲＡＭ４２に設定することで操作空間が設定される。
【００７８】
次のステップ５０３で、ＣＰＵ４０は、操作画面をモニタ５２に表示し、ステップ５０４で操作画面の初期位置にポインタ（位置表示画像）を表示する。この操作画面例を図１２に示す。図１２に示される操作画面は、例としてテレビのリモコンを模した画面である。上述したポインタの初期位置は、この操作画面では中央に設定され、ユーザの指先の移動に従って黒丸で示されるポインタのように移動する。また、この操作画面では、ユーザの操作を簡単にするために、ボタン毎に破線でエリア（部分領域）の境界が示され、そのエリア内にポインタが移動すると、そのエリア内のボタンを選択していると見なされる。従って、同図に示されるように、黒丸で示されるポインタが位置するエリア内のボタン「ＯＦＦ」が反転表示（状態表示）され、このボタンが選択されていることをユーザに示すようになっている。また、反転表示に代えて、ポインタを通常のポインタの形状とは異なる形状とすることで、ボタンが選択されていることをユーザに示すようにしても良い。
【００７９】
なお、指先は、手または腕が支持されていない状態で操作空間内を移動するため、指先の移動は不安定なものとなる。特に、奥行き方向（Ｚ軸方向）を変化させずに指先を移動する場合、左右方向には肘を中心とした円弧を描くこととなるが、この動作はさほどユーザにとって難しい動作ではない。しかし上下方向は肘、肩等の回転運動が伴うことでユーザにとって難しい動作となる。
【００８０】
従って、上記破線は、上下移動動作の困難性から、上下に挟まれたエリアを設定せずに、上下エリアの２分割とし、更に縦長なエリアとしている。また、１つのエリアの縦サイズとして、左右に並べたボタンの両端を移動した場合の円弧の幅程度、概略１５ｃｍ程度が例として挙げられ、幅サイズとして、手先が安定して維持できる程度の幅、概略５ｃｍ程度が例として挙げられる。
【００８１】
以上説明したように画面が表示されると、再び特定点取得処理（図５：ステップ１０３）が実行され、ユーザの操作を検知する操作検知処理が実行される。この操作検知処理の流れを、図１３のフローチャートを用いて説明する。まず、ステップ６０１で、ＣＰＵ４０は、検知された特定点を現在の特定点Ｓ２として記憶する。次のステップ６０２で、ＣＰＵ４０は、特定点Ｓ２が操作空間に存在するか否かを判断する。存在しない場合、ユーザの指先が操作空間内に存在しないことを示しているので、ステップ６０７で、操作されたか否かを示す操作フラグを、操作されなかったことを示すオフとする。この操作フラグは、例えば「０」でオフを示し、各エリア毎に操作処理が予め関連付けて記憶されたＲＡＭ４２から値を取り出し、そのボタンに対応する値として代入することで、どのボタンが押下されたかを示すようにする。
【００８２】
ステップ６０２で、ＣＰＵ４０が肯定判断すると、次のステップ６０３で、ＣＰＵ４０は、特定点Ｓ１と特定点Ｓ２の距離から移動量を求める。この距離として、例えばユークリッド距離などが挙げられる。その移動量を元に、ＣＰＵ４０は、ステップ６０４でポインタを特定点Ｓ２に応じて表示する。
【００８３】
その後、ステップ６０５で、ＣＰＵ４０は、特定点Ｓ１のＺ座標値ＺＳ１から特定点Ｓ２のＺ座標値ＺＳ２を引いた値が、予め定められた座標値Ｚｋより大きいか否か判断する。この判断は、ユーザが指先をモニタ５２に向けて移動させた否か、すなわちボタンを押す動作を行ったか否かの判断である。この座標値Ｚｋは、ユーザがボタンを押下したことを判断するための値である。この座標値Ｚｋはユーザによる設定、あるいはボタンの形状などにより適宜定めるようにしても良い。
【００８４】
上記ステップ６０５で、ＣＰＵ４０が否定判断すると、操作されなかったことを示しているので、上述したステップ６０７に処理が進む。ステップ６０５で、ＣＰＵ４０が肯定判断すると、ステップ６０６で、ＣＰＵ４０は操作フラグを操作されたことを示すオンとし、次のステップ６０８で、特定点Ｓ１に特定点Ｓ２を置き換える（代入する）。この置き換えは、次回取得される特定点がその時点での現在の特定点であるので、その特定点と比較される現在の特定点である特定点Ｓ２を記憶するための処理である。
【００８５】
以上説明した処理が、ユーザの指先を検知し、その操作を検知するまでの処理全体を示す処理である。次に上述した処理以外の処理について説明する。図１４は、特定点が予め定められた時間後に再び検知された場合にスタンバイ状態（低消費電力モード）を解除する処理の流れを示すフローチャートである。この処理は、上述した図５のステップ１０１、１０２の間に挿入される処理である。
【００８６】
ステップ７０１で、ＣＰＵ４０は、タイマセットする。このタイマは、上述した特定点が予め定められた時間後に再び検知するまでの時間を計測するタイマである。ステップ７０２でタイムアウトとなると、ステップ７０３で、ＣＰＵ４０は、特定点取得処理を実行し、ステップ７０４で、ＣＰＵ４０は、スタンバイ状態を解除し、電源オン（通常動作モード）とする。なお、上記スタンバイ状態の例として、例えばテレビにおいて待機電力が流れている状態やパソコンにおけるサスペンドモードが挙げられる。
【００８７】
この処理により、指先が検知されてから予め定められた時間経過後に指先が検知されるまでスタンバイ状態とすることができるので、無駄な電力消費を抑えることが可能となる。
【００８８】
次に、ユーザによるボタンの押下動作に応じて、ボタンを段階的に表示する処理の流れについて説明する。まず、ボタンを段階的に表示する段階表示について、図１５を用いて説明する。図１５は、２つのボタン表示例１、２における段階表示を示す模式図である。ユーザがボタンを例えば１／３だけ押下した場合、初期表示から表示Ａに示される表示に更新する。同図に示されるように、表示例１、２とも初期表示とは異なる表示となる。さらにユーザが２／３だけ押下した場合、表示Ｂに示される表示に更新する。さらにユーザが全押しした場合、表示Ｃに示される表示に更新する。
【００８９】
このようにユーザによるボタンの押下動作に応じて表示されるボタンを更新させることが段階表示である。この段階表示を実行する場合の処理である段階表示処理の流れを、図１６のフローチャートを用いて説明する。なお、この処理は、特定点が予め特定点Ｓ１として得られている場合に実行される処理である。
【００９０】
まず、ＣＰＵ４０は、ステップ８０１で特定点取得処理を実行する。次のステップ８０２で、ＣＰＵ４０は、ステップ８０１で取得した特定点を特定点Ｓ２として記憶する。
【００９１】
次のステップ８０３で、ＣＰＵ４０は、特定点Ｓ１のＺ座標値ＺＳ１から特定点Ｓ２のＺ座標値ＺＳ２を引いた値が、Ｚｋ／３より大きいか否か判断する。ＣＰＵ４０がステップ８０５で否定判断した場合、ステップ８０９で、特定点Ｓ１を特定点Ｓ２に置き換える。なお、座標値Ｚｋは、図１３で説明したステップ６０５における座標値Ｚｋと同じ値である。
【００９２】
ステップ８０３で、ＣＰＵ４０が肯定判断した場合、ステップ８０４で、初期表示から表示Ａにボタン表示を更新する。
【００９３】
さらにＣＰＵ４０は、ステップ８０５で、特定点Ｓ１のＺ座標値ＺＳ１から特定点Ｓ２のＺ座標値ＺＳ２を引いた値が、２Ｚｋ／３より大きいか否か判断する。ＣＰＵ４０がステップ８０５で否定判断した場合、ステップ８０９に処理が進む。
【００９４】
ステップ８０５で、ＣＰＵ４０が肯定判断した場合、ステップ８０６で、ポインタの位置をロック（固定）し、ステップ８０７で、表示Ａから表示Ｂにボタン表示を更新する。ここで、ポインタの位置をロックすることは、そこから仮にユーザの指先がＺ軸方向以外の方向である断面（Ｚ軸を法線とする平面）の面方向に沿った方向に移動しても特定点を移動させずポインタの位置は変えないことを意味する。これにより、ユーザが押下動作中に指先の位置が多少ずれても良いため、ユーザの操作性を向上することができる。
【００９５】
さらにＣＰＵ４０は、ステップ８０８で、特定点Ｓ１のＺ座標値ＺＳ１から特定点Ｓ２のＺ座標値ＺＳ２を引いた値が、Ｚｋより大きいか否か判断する。ＣＰＵ４０がステップ８０８で否定判断した場合、ステップ８０９に処理が進む。
【００９６】
ステップ８０８で、ＣＰＵ４０が肯定判断した場合、全押ししたことを示しているので、ステップ８１０で、表示Ｂから表示Ｃにボタン表示を更新する。
【００９７】
このようにボタンを表示し、Ｚ軸方向の移動量と表示の変化量を相対的に合致させることにより、ユーザはＺ軸方向の移動量を把握することができる。更に、表示Ｂの状態ではポインタの移動を不可としている。これは操作空間内でＺ軸方向に移動した際に、誤って隣接したボタン対応エリアに入ってしまうことを防止する役割を果たす。なおモニタ５２が立体視モニタの場合には、座標値Ｚｋと操作ボタンの移動量を合致させても良い。
【００９８】
次に、検知空間設定処理について説明する。この検知空間設定処理とは、起動時に設定される検知空間の位置をユーザが設定する処理である。具体的に図１７を用いて説明する。図１７は、特定点の移動に伴って検索空間が移動し、最終的に検知空間が設定される様子を示す図である。
【００９９】
具体的に、図１７は、初期検索空間６０に含まれる移動検出空間６２が、指先の移動に伴い移動検出空間６６、及び検索空間６８が移動し、最終的に検索空間７０、移動検出空間７２に示される位置に検知空間６４が設定されることを示している。なお、検索空間とは上述したように、検知空間を含む空間であり、移動検出空間とは、特定点の移動を検出するための空間である。また、初期検索空間とは、カメラ２４の各々から略等距離で、かつモニタ５２の近傍に位置させた検索空間である。
【０１００】
この検知空間設定処理の流れを、図１８、１９のフローチャートを用いて説明する。まず、ステップ９０１で、ＣＰＵ４０は、初期検索空間座標をＲＡＭ４２から読み込み、次のステップ９０２で、ＣＰＵ４０は特定点取得処理（図６参照）を実行する。次に、ＣＰＵ４０は、ステップ９０３で、特定点取得処理により取得された特定点Ｓ１が初期検索空間内に存在するか否か判断する。
【０１０１】
ステップ９０３で、ＣＰＵ４０が否定判断した場合、ステップ９０２の処理に戻る。ステップ９０３で、ＣＰＵ４０が肯定判断した場合、特定点が検知されたことをモニタ５２に表示する。この表示は例えば「検知確認」などと表示するか、所定の音を発するようにしても良い。
【０１０２】
次にＣＰＵ４０は、ステップ９０５で検索空間を、特定点Ｓ１を基準とした検索空間に更新し、さらに移動空間を設定する。この移動空間も操作空間と同様に、特定点Ｓ１を基準にＸＹＺ方向の大きさが予め定められており、この大きさに従って検索空間の各点を例えばＲＡＭ４２に設定することで移動空間が設定される。
【０１０３】
次にＣＰＵ４０は、ステップ９０６でタイマをセットする。このタイマは、ユーザが指先をその位置で固定しているか否かを判断するためのタイマである。
【０１０４】
ステップ９０８でタイムアウトしたと判断されると、ＣＰＵ４０は、ステップ９０９で特定点取得処理（図６参照）を実行する。次のステップ９１０で、ＣＰＵ４０は、特定点取得処理で得られた特定点Ｓ２が、ステップ９０５で更新された検索空間に存在するか否か判断する。この判断は、上述したように指先がその位置で固定されていたか否かの判断である。
【０１０５】
ステップ９１０で、ＣＰＵ４０が否定判断した場合（指先が検索空間範囲外に移動した場合）、ステップ９１２で、ＣＰＵ４０は、更新前の検索空間に特定点Ｓ２が存在するか否か判断する。
【０１０６】
ステップ９１２で、ＣＰＵ４０が肯定判断した場合、ステップ９１４で特定点Ｓ１を特定点Ｓ２に置き換え、ステップ９０５の処理が実行される。ステップ９１２でＣＰＵ４０が否定判断した場合、ステップ９１３でＣＰＵ４０は、初期検索空間に検索空間を再設定し、ステップ９０２の処理を実行する。
【０１０７】
ステップ９１０の処理に戻り、このステップ９１０で、ＣＰＵ４０が肯定判断した場合、ステップ９１１で、ＣＰＵ４０は、検索空間に含まれる移動空間に特定点Ｓ２が存在するか否か判断する。ステップ９１１で、ＣＰＵ４０が否定判断した場合、ステップ９１４の処理が実行される。
【０１０８】
一方、ステップ９１１で、ＣＰＵ４０が肯定判断した場合、図１９のステップ９１５に処理が進む。ステップ９１５で、ＣＰＵ４０は、特定点Ｓ２を基準に操作空間を設定する。そして、ステップ９１６で、ＣＰＵ４０は、ＯＫボタンをモニタ５２に表示する。このＯＫボタンは、現在の特定点（指先）で良いか否かをユーザに確認させるためのボタンである。ステップ９１７で、ＯＫボタンが押下されると、ＣＰＵ４０は、ステップ９１８で特定点Ｓ２を基準に検知空間を設定し、その検知空間を新たな検知空間としてその頂点の座標値を登録する。
【０１０９】
以上説明した処理では、検知空間を１箇所登録する例で説明したが、上記方法を繰り返す、または１箇所登録後継続することで複数の位置で登録することも可能である。
【０１１０】
更に例えば２つめの検知空間を、本画像処理装置に接続される周辺機器に対する制御に適用することも可能である。具体的には、カメラ付インターホン等のモニタを有する機器、あるいはエアコンなどである。
【０１１１】
また、初期検索空間はモニタ５２の中央でモニタ５２に近い位置に設定するようにしても良い。これにより、ユーザはその位置を容易に把握することができる。またモニタ５２の中央には障害物が通常は存在しないことが多いため、上記位置に設定することで、障害物を検知する可能性を低くすることができる。
【０１１２】
次に、検知空間の位置をユーザに確認させる処理について説明する。例えば、図２０に示されるように、検知空間が検知空間７４の位置に登録されているとする。このように登録されている検知空間をユーザに示すために、カメラ２４Ａから得られる画像Ａと、カメラ２４Ｂから得られる画像Ｂとを、図２１に示されるように、モニタ５２に表示する。
【０１１３】
同図に示されるように、検知空間７４はワイヤフレーム画像で表示される。また、カメラ２４Ａ、２４Ｂから得られる画像は、ユーザとは正反対の方向から撮影された画像であるため、ユーザに分かりやすいようにそれらの画像を鏡像変換した画像を表示する。このようにすることで、同図に示されるように、ユーザの側から見た画像を提供することが可能となる。
【０１１４】
この検知空間確認処理の流れを、図２２のフローチャートを用いて説明する。まず、ステップ１００１で、ＣＰＵ４０は、検知空間の頂点の座標８点によるワイヤフレーム立体像を生成する。次のステップ１００２で、ＣＰＵ４０は、生成されたワイヤフレーム立体像を２次元投影画像に変換し、ワイヤフレーム画像を得る。
【０１１５】
次のステップ１００３で、ＣＰＵ４０は、カメラＡから得られた画像にワイヤフレーム画像を重畳した画像Ａを生成し、ステップ１００４で、画像Ａを鏡像変換した画像を改めて画像Ａとする。
【０１１６】
同様に、ステップ１００５で、ＣＰＵ４０は、カメラＢから得られた画像にワイヤフレーム立体像を重畳した画像Ｂを生成し、ステップ１００６で、画像Ｂを鏡像変換した画像を改めて画像Ｂとする。
【０１１７】
次に、ステップ１００７で、ＣＰＵ４０は、上述した処理で得られた画像Ａを左に、画像Ｂを右に各々モニタ５２に表示し、ステップ１００８でＯＫボタンをモニタ５２に表示する。ステップ１００９で、ＯＫボタンが押下されたものと判断されると、ＣＰＵ４０は処理を終了する。
【０１１８】
以上説明したように、表示する画像を鏡像画像とすることで、ユーザは左右の位置関係を容易に把握でき、検知空間の位置を確認することが可能となる。なお、本実施の形態では２つのカメラで得られた画像をモニタ５２に表示した例を示したが、いずれか一方のみを表示するようにしても良い。
【０１１９】
また、検知空間を確認するための上記画像の表示については、検知空間位置登録（図１８、１９参照）時に同様の表示をするようにしても良い。
【０１２０】
次に、ユーザの位置により３次元空間及び操作空間を回転変換する処理について説明する。ユーザが操作空間内で操作をする場合、ユーザの視線はモニタ５２に向くことになる。この場合、例えば図２３に示されるように、ユーザがＺ軸から離れた位置で操作する場合、操作空間がＸ，Ｙ，Ｚ軸に平行な平面で構成されているので、ユーザは手や腕の動きを斜めに移動しなければならないため、ユーザは操作がしにくくなり、誤操作を誘発する要因となる。
【０１２１】
従って、原点と特定点のＹ座標を０とした座標を結ぶ線分と、Ｚ軸とのなす角θだけＸＺ座標軸及び操作空間を回転することで、ユーザが操作し易い座標系とする。
【０１２２】
この３次元空間回転処理の流れを、図２４のフローチャートを用いて説明する。まず、ステップ１１０１で、ＣＰＵ４０は、特定点取得処理（図６参照）を実行する。ステップ１１０２で、ＣＰＵ４０は、特定点取得処理で取得された特定点Ｓのｙ成分を０としたベクトルと、Ｚ軸とのなす角θを求める。
【０１２３】
次のステップ１１０３で、ＣＰＵ４０は、特定点Ｓを中心に操作空間を角θだけ回転して得られた空間を新たな操作空間とし、さらにステップ１１０４で、Ｘ軸、Ｚ軸を角θだけ回転して得られた座標を新たなＸＺ座標とする。すなわち、新たな３次元空間としてＸ’ＹＺ’空間が得られる。
【０１２４】
このように上記３次元空間回転処理では、特定点と、３次元空間の原点との位置関係に応じて、３次元空間を回転して新たな３次元空間とする処理が実行される。
【０１２５】
以上の変換によりユーザが操作しやすくなると共に、新たなＸ’ＹＺ’座標は上述したＸＹＺ座標と同一の座標となるため本実施の形態で説明した処理がそのまま適用できる。
【０１２６】
以上説明した本実施の形態に係る画像処理装置は、図２で説明したような１つの装置としてではなく、例えば薄型テレビやパソコンのようにモニタと制御ユニットが別筐体となっている形態にも適用することができる。
【０１２７】
更に、複数のカメラは本装置に一体的に構成される必要はなく、Ｗｅｂカメラ等のカメラユニットを複数使用することもできる。また、複数のカメラの特性（光学性能、撮像素子性能等）は同一であることが好ましい。
【０１２８】
また、図１２でテレビのリモコンを模した画面を操作画面例として説明したが、このようにリモコンを表示することで、リモコンを周辺に置いておく必要がなくなり、リモコンの紛失、電池消耗による動作不可等を回避することが可能となる。
【０１２９】
以上説明したように、本実施の形態では、指示動作を行う同一の検知対象物を各々異なる位置から撮像して当該検知対象物が含まれた画像を示す画像情報を出力する複数の撮像手段（カメラ２４）と、前記複数の撮像手段から出力された複数の前記画像情報に対する、当該複数の画像情報により示される複数の画像の各々に共通に含まれる共通領域より狭い領域であり、かつ前記指示動作を行うことのできる空間として予め定められた３次元空間である検索空間に対応する２次元領域を対象としたステレオマッチングにより、当該２次元領域間の対応点の前記３次元空間における前記検知対象物の位置である適合位置を示す位置情報を検知する位置情報検知手段（ステップ２０１）と、前記位置情報検知手段により検知された位置情報が示す適合位置のうち、所定の条件に合致する適合位置である特定位置を検知する特定位置検知手段（ステップ２０２）と、を有する。
【０１３０】
また、本実施の形態では、前記特定位置検知手段が検知する特定位置は、前記検索空間に含まれる検知空間内の位置であり、前記検知空間は、直方体内部の空間であり、前記所定の条件は、前記位置情報検知手段で検知された位置情報が前記直方体内部の存在し、かつ前記直方体の面のうち、予め定められた対向する２つの面の一方の面上に存在せず（ステップ４０２：Ｙｍａｘ＜Ｙ２−ｋ）、かつ他方の面から所定距離以内に前記適合位置が存在する（ステップ４０２：Ｙｍｉｎ＜Ｙ１＋ａ）場合に前記一方の面に最も近い適合位置（ステップ４０７）を前記特定位置とする条件である。
【０１３１】
また、本実施の形態では、当該画像処理装置の消費電力量を制御する消費電力制御手段（電源ＯＮ処理）を更に有し、前記消費電力制御手段は、低消費電力モードとなっており、かつ前記特定位置検知手段が前記特定位置を検知した後、予め定められた時間経過後に、前記特定位置検知手段が前記特定位置を再び検知した場合に、前記低消費電力モードを解除する（ステップ７０４）。
【０１３２】
また、本実施の形態では、前記特定位置検知手段により検知された特定位置の移動状態を示す状態量を導出する導出手段（ステップ６０３）と、前記導出手段により導出された前記状態量に基づいて前記指示動作を検知する検知手段（ステップ６０５）と、を更に有する。
【０１３３】
また、本実施の形態では、前記指示動作は、予め定められた操作を行う操作処理の実行を指示する動作であり、表示手段（モニタ５２）と、前記表示手段の表示領域に、前記３次元空間の断面に対応する所定画面が表示されるように制御する制御手段（ＣＰＵ４０）と、前記所定画面を複数の領域に分割した各部分領域毎に前記操作処理が予め関連付けて記憶された記憶手段（ＲＡＭ４２）と、を更に有し、前記導出手段は、前記特定位置検知手段により検知された特定位置の位置情報に基づいて、前記検知対象物が移動した際の前記特定位置の移動状態を示す前記状態量として、前記断面の法線方向に沿った前記特定位置の移動量（ステップ６０３）を導出し、前記検知手段は、前記移動量が所定量に達したとき（ステップ６０５でＹ）、その時点における前記特定位置の前記断面における位置に対応する前記部分領域に関連付けられて記憶された前記操作処理の実行を指示する動作を前記指示動作として検知する（ステップ６０６）。
【０１３４】
また、本実施の形態では、前記制御手段は、前記所定画面における前記特定位置の対応位置に当該特定位置の位置を示す位置表示画像（ポインタ）が表示され、かつ各部分領域毎に前記特定位置の移動状態を示す状態表示部（ボタン）が表示されるように更に制御するものであり、前記位置表示画像（歩異端）、及び当該位置表示画像が表示される位置の前記部分領域に表示される前記状態表示部（ボタン）の少なくとも一方の表示状態が前記移動量に応じて変化するように更に制御する。
【０１３５】
また、本実施の形態では、前記制御手段は、前記移動量が前記所定量に達する直前に、前記断面の面方向に沿った前記特定位置の移動を禁止する（ステップ８０６）。
【０１３６】
また、本実施の形態では、前記制御手段は、前記所定画面に前記複数の部分領域の間を隔てる境界線（図１２、破線）が表示されるように更に制御する。
【０１３７】
また、本実施の形態では、前記検知空間の位置を設定する検知空間設定手段（検知空間設定処理）を更に有し、前記検知空間設定手段は、前記撮像手段の各々から略等距離で、かつ前記表示手段の近傍に位置させた検索空間を、前記特定位置検知手段が検知した特定位置に応じて移動させ、前記特定位置が予め定められた時間移動しなくなったとき（ステップ９０１でＹ）の当該特定位置を前記検知空間の位置として設定する。
【０１３８】
また、本実施の形態では、前記制御手段は、前記撮像手段から出力された画像情報が示す画像と、前記検知空間を示す直方体を投影した２次元画像とを重畳し（ステップ１００３、１００５）、重畳して得られた画像を更に鏡像変換（ステップ１００４、１００６）した鏡像変換画像を前記表示手段の表示領域に表示するように制御する（ステップ１００７）。
【０１３９】
また、本実施の形態では、前記特定位置検知手段が検知した特定位置と、前記３次元空間の原点との位置関係に応じて、前記３次元空間を回転して新たな３次元空間とする座標回転手段（３次元空間回転処理）を更に有する。
【０１４０】
また、本実施の形態では、前記置情報検知手段は、前記複数の撮像手段から出力された複数の前記画像情報（ステップ３０４の画像データＡ１、Ｂ１）と、所定時間経過後に前記複数の撮像手段から出力された複数の前記画像情報（ステップ３０７の画像データＡ２、Ｂ２）とを、同一の撮像手段から出力された画像情報毎に比較し（ステップ３０８）、異なる画像情報が存在した場合（ステップ３０８でＹ）に前記ステレオマッチングを実行する（ステップ３０９）。
【０１４１】
なお、以上説明したフローチャートの処理の流れは一例であり、本発明の主旨を逸脱しない範囲内で処理順序を入れ替えたり、新たなステップを追加したり、不要なステップを削除したりすることができることは言うまでもない。
【図面の簡単な説明】
【０１４２】
【図１】実施の形態に係る画像処理装置の外観、及び検知空間を示す図である。
【図２】画像処理装置のハードウェア構成を示す図である。
【図３】Ｙ軸方向（上面）から見た画像処理装置と検知空間とを示す図である。
【図４】ワイヤフレーム立体像を重畳した画像Ａと画像Ｂとを示す図である。
【図５】ユーザの指先を検知してからその操作を検知するまでの処理全体の流れを示すフローチャートである。
【図６】特定点取得処理の流れを示すフローチャートである。
【図７】適合位置検知処理の流れを示すフローチャートである。
【図８】特定点を示す模式図である。
【図９】特定点検知処理の流れを示すフローチャートである。
【図１０】画面表示処理の流れを示すフローチャートである。
【図１１】操作空間を示す図である。
【図１２】操作画面例を示す図である。
【図１３】操作検知処理の流れを示すフローチャートである。
【図１４】電源ＯＮ処理の流れを示すフローチャートである。
【図１５】２つのボタン表示例１、２における段階表示を示す模式図である。
【図１６】段階表示処理の流れを示すフローチャートである。
【図１７】特定点の移動に伴って検索空間が移動し、最終的に検知空間が設定される様子を示す図である。
【図１８】検知空間設定処理の流れを示すフローチャート（その１）である。
【図１９】検知空間設定処理の流れを示すフローチャート（その２）である。
【図２０】検知空間の登録位置の例を示す図である。
【図２１】検知空間を確認するための画像Ａ、画像Ｂの表示例である。
【図２２】検知空間確認処理の流れを示すフローチャートである。
【図２３】操作空間及び座標軸の回転例を示す図である。
【図２４】３次元空間回転処理の流れを示すフローチャートである。
【符号の説明】
【０１４３】
２０  画像処理装置
２４Ａ、２４Ｂ  カメラ
３０、６４  検知空間
３２  物体
４０  ＣＰＵ
４２  ＲＡＭ
５２  モニタ
６０  初期検索空間
６２、６６  移動検出空間
６８  検索空間
【図１】
2008059148.tif 000003
【図２】
2008059148.tif 000004
【図３】
2008059148.tif 000005
【図４】
2008059148.tif 000006
【図５】
2008059148.tif 000007
【図６】
2008059148.tif 000008
【図７】
2008059148.tif 000009
【図８】
2008059148.tif 000010
【図９】
2008059148.tif 000011
【図１０】
2008059148.tif 000012
【図１１】
2008059148.tif 000013
【図１２】
2008059148.tif 000014
【図１３】
2008059148.tif 000015
【図１４】
2008059148.tif 000016
【図１５】
2008059148.tif 000017
【図１６】
2008059148.tif 000018
【図１７】
2008059148.tif 000019
【図１８】
2008059148.tif 000020
【図１９】
2008059148.tif 000021
【図２０】
2008059148.tif 000022
【図２１】
2008059148.tif 000023
【図２２】
2008059148.tif 000024
【図２３】
2008059148.tif 000025
【図２４】
2008059148.tif 000026