(57)【要約】  【課題】  被写体の遠近を判断して、遠近に応じた画像処理モードを自動的に設定することができる画像処理装置を提供する。  【解決手段】  画像処理モジュール１は、被写体がイメージセンサ５から近距離にある場合は、画像処理のモードを輪郭検出モードに設定する（ステップＳ１１７）。画像処理モジュール１は、被写体がイメージセンサ５から遠距離にある場合は、画像処理のモードを動体検出モードに設定する（ステップＳ１１９）。画像処理モジュール１は、輪郭検出モードでは、手の形状、回転、座標、及び面積を求める。画像処理モジュール１は、動体検出モードでは、動体を検知し、座標を求める。【選択図】  図５
2011205619.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮影する撮影手段による映像に対して画像処理を施す画像処理手段と、
前記被写体と前記撮影手段との間の距離に応じて、前記画像処理のモードを切り替える切替手段と、を備える画像処理装置。
【請求項２】
前記切替手段は、前記被写体と前記撮影手段との間の距離に応じて、前記画像処理のモードとして第１モードを設定し、前記被写体と前記撮影手段との間の距離が、前記第１モードの設定時より長い場合に、前記画像処理のモードとして第２モードを設定し、
前記画像処理手段は、前記第１モードの設定時に、前記映像に写った前記被写体の形態を認識する処理、動きを検出する処理、座標を求める処理、及び面積を求める処理の全部又は一部を実行し、前記第２モードの設定時に、前記映像から、前記被写体としての動体を検出する処理、撮影空間の輝度を求める処理、及び前記被写体の存在を検出する処理の全部又は一部を実行する、請求項１記載の画像処理装置。
【請求項３】
前記画像処理手段は、前記第２モードの設定時に、前記動体を検出して追跡する処理を実行する、請求項２記載の画像処理装置。
【請求項４】
前記画像処理手段は、
前記撮影手段による現在の画像と過去の画像との差分を算出する差分手段と、
前記差分に基づいて、画素値の変化を検出する検出手段と、
第１閾値及び前記第１閾値より小さい第２閾値を設定し、前記画素値の変化の頻度が前記第１閾値を超える場合又は前記第２閾値を下回る場合、その変化をノイズと判断し、前記頻度が前記第１閾値と前記第２閾値との間にある場合、その変化を実質的な変化と判断し、前記動体が存在すると判断する判断手段と、を含む請求項２又は３記載の画像処理装置。
【請求項５】
前記画像処理手段は、前記第１モードの設定時に、前記被写体の形態としての形状を認識する処理を実行する、請求項２から４のいずれかに記載の画像処理装置。
【請求項６】
前記画像処理手段は、前記被写体としての手の形状を認識し、
前記画像処理手段は、
前記撮影手段による画像から前記被写体の輪郭線を抽出し、その輪郭線の変曲点の画素と前記変曲点の次の変曲点の画素との間の画素に基づいて、指を特定する指特定手段と、
所定の基準線に対する、前記指特定手段が特定した各指の傾き角を算出する傾角算出手段と、
前記指特定手段が特定した、隣り合う指と指とがなす角度を、前記各指の前記傾き角に基づき算出する指角算出手段と、
前記隣り合う指と指とがなす前記角度に基づいて、手の形状を判定する判定手段と、を含む請求項５記載の画像処理装置。
【請求項７】
前記指特定手段は、
前記被写体の輪郭線上にある画素から、指先に相当する画素を特定する手段を含み、
前記画像処理手段は、
前記被写体の輪郭画像の重心から前記指先に相当する前記画素までの距離を算出する手段をさらに含み、
前記判定手段は、前記隣り合う指と指とがなす前記角度、及び、前記指先に相当する前記画素までの前記距離に基づいて、手の形状を判定する、請求項６記載の画像処理装置。
【請求項８】
前記画像処理手段は、前記被写体としての手の形状を認識し、
前記画像処理手段は、
前記被写体の輪郭画像の重心から輪郭線上の各画素までの距離を算出する距離算出手段と、
前記各画素までの前記距離に基づいて、手の形状を判定する判定手段と、を含む請求項５から７のいずれかに記載の画像処理装置。
【請求項９】
前記画像処理手段は、前記第１モードの設定時に、前記被写体の動きとしての回転動作を検出する処理を実行する、請求項２から８のいずれかに記載の画像処理装置。
【請求項１０】
前記画像処理手段は、
前記被写体の輪郭画像の重心と輪郭線上の画素とを結ぶ線分の長さを算出する長さ算出手段と、
前記線分が、所定の基準線に対してなす角度を算出する角度算出手段と、
前記長さを前記角度の関数として表したときの位相差を、前記被写体の回転角度とする回転検出手段と、を含む請求項９記載の画像処理装置。
【請求項１１】
前記切替手段は、
光を発光する発光手段の発光時の前記撮影手段による前記映像と前記発光手段の消灯時の前記撮影手段による前記映像との差分画像に写り込んだ前記被写体の面積を算出する面積算出手段と、
前記被写体の前記面積に基づいて、前記被写体と前記撮影手段との間の距離を判断し、前記画像処理のモードを設定する設定手段と、を含む請求項１から１０のいずれかに記載の画像処理装置。
【請求項１２】
前記画像処理手段は、前記画像処理のモードとしての第１モードでは、光を発光する発光手段の発光時の前記撮影手段による前記映像と前記発光手段の消灯時の前記撮影手段による前記映像との第１差分画像に前記画像処理を施し、前記画像処理のモードとしての第２モードでは、前記発光手段の消灯時の前記撮影手段による前記映像に対して前記画像処理を施し、
前記切替手段は、
前記第１モードでは、前記第１差分画像に写り込んだ前記被写体の面積を算出する第１面積算出手段と、
前記第１モードでは、前記第１差分画像上の前記被写体の前記面積に基づいて、前記被写体と前記撮影手段との間の距離を判断し、その距離に応じて、前記第１モードを設定し、前記被写体と前記撮影手段との間の距離が、前記第１モードの設定時より長い場合に、前記第２モードを設定する第１設定手段と、
前記第２モードでは、前記発光手段の発光時の前記撮影手段による前記映像と前記発光手段の消灯時の前記撮影手段による前記映像との第２差分画像に写り込んだ前記被写体の面積を算出する第２面積算出手段と、
前記第２モードでは、前記第２差分画像上の前記被写体の前記面積に基づいて、前記被写体と前記撮影手段との間の距離を判断し、その距離に応じて、前記第２モードを設定し、前記被写体と前記撮影手段との間の距離が、前記第２モードの設定時より短い場合に、前記第１モードを設定する第２設定手段と、を含む請求項１記載の画像処理装置。
【請求項１３】
前記第２モードで前記第２差分画像を得るための前記撮影手段の撮影周期は、前記第１モードで前記第１差分画像を得るための前記撮影手段の撮影周期より長く設定される、請求項１２記載の画像処理装置。
【請求項１４】
被写体を撮影する撮影手段が出力した画像を処理する画像処理装置であって、
前記撮影手段が出力した現在の画像と過去の画像との差分を算出する差分手段と、
前記差分に基づいて、画素値の変化を検出する検出手段と、
第１閾値及び前記第１閾値より小さい第２閾値を設定し、前記画素値の変化の頻度が前記第１閾値を超える場合又は前記第２閾値を下回る場合、その変化をノイズと判断し、前記頻度が前記第１閾値と前記第２閾値との間にある場合、その変化を実質的な変化と判断し、前記動体が存在すると判断する判断手段と、を備える画像処理装置。
【請求項１５】
被写体としての手を撮影する撮影手段が出力した画像を処理する画像処理装置であって、
前記撮影手段が出力した画像から前記手の輪郭線を抽出し、その輪郭線の変曲点の画素と前記変曲点の次の変曲点の画素との間の画素に基づいて、指を特定する指特定手段と、
所定の基準線に対する、前記指特定手段が特定した各指の傾き角を算出する傾角算出手段と、
前記指特定手段が特定した、隣り合う指と指とがなす角度を、前記各指の前記傾き角に基づき算出する指角算出手段と、
前記隣り合う指と指とがなす前記角度に基づいて、手の形状を判定する判定手段と、を備える画像処理装置。
【請求項１６】
被写体としての手を撮影する撮影手段が出力した画像を処理する画像処理装置であって、
前記手の輪郭画像の重心から輪郭線上の各画素までの距離を算出する距離算出手段と、
前記各画素までの前記距離に基づいて、手の形状を判定する判定手段と、を備える画像処理装置。
【請求項１７】
被写体を撮影する撮影手段が出力した画像を処理する画像処理装置であって、
前記被写体の輪郭画像の重心と輪郭線上の画素とを結ぶ線分の長さを算出する長さ算出手段と、
前記線分が、所定の基準線に対してなす角度を算出する角度算出手段と、
前記長さを前記角度の関数として表したときの位相差を、前記被写体の回転角度とする回転検出手段と、を備える画像処理装置。
【請求項１８】
被写体を撮影する撮影手段が出力した映像を処理する画像処理方法であって、
コンピュータが、前記撮影手段が出力した映像に対して画像処理を施すステップと、
前記コンピュータが、前記被写体と前記撮影手段との間の距離に応じて、前記画像処理のモードを切り替えるステップと、を含む画像処理方法。
【請求項１９】
被写体を撮影する撮影手段が出力した画像を処理する画像処理方法であって、
前記撮影手段が出力した現在の画像と過去の画像との差分を算出するステップと、
前記差分に基づいて、画素値の変化を検出するステップと、
第１閾値及び前記第１閾値より小さい第２閾値を設定し、前記画素値の変化の頻度が前記第１閾値を超える場合又は前記第２閾値を下回る場合、その変化をノイズと判断し、前記頻度が前記第１閾値と前記第２閾値との間にある場合、その変化を実質的な変化と判断し、前記動体が存在すると判断するステップと、を含む画像処理方法。
【請求項２０】
被写体としての手を撮影する撮影手段が出力した画像を処理する画像処理方法であって、
前記撮影手段が出力した画像から前記手の輪郭線を抽出し、その輪郭線の変曲点の画素と前記変曲点の次の変曲点の画素との間の画素に基づいて、指を特定するステップと、
所定の基準線に対する、前記指を特定する前記ステップが特定した各指の傾き角を算出するステップと、
前記指を特定する前記ステップが特定した、隣り合う指と指とがなす角度を、前記各指の前記傾き角に基づき算出するステップと、
前記隣り合う指と指とがなす前記角度に基づいて、手の形状を判定するステップと、を含む画像処理方法。
【請求項２１】
被写体としての手を撮影する撮影手段が出力した画像を処理する画像処理方法であって、
前記手の輪郭画像の重心から輪郭線上の各画素までの距離を算出するステップと、
前記各画素までの前記距離に基づいて、手の形状を判定するステップと、を含む画像処理方法。
【請求項２２】
被写体を撮影する撮影手段が出力した画像を処理する画像処理方法であって、
前記被写体の輪郭画像の重心と輪郭線上の画素とを結ぶ線分の長さを算出するステップと、
前記線分が、所定の基準線に対してなす角度を算出するステップと、
前記長さを前記角度の関数として表したときの位相差を、前記被写体の回転角度とするステップと、を含む画像処理方法。
【請求項２３】
請求項１８から２２のいずれか一に記載の画像処理方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項２４】
被写体を撮影する撮影手段が出力した画像を処理する画像処理手段と、
前記画像処理手段の処理結果に基づいて所定の機器を制御する制御手段と、を備え、
前記画像処理手段は、前記画像を複数のブロックに分割し、前記ブロックごとに、画素の変化を検出し、
前記制御手段は、前記ブロックごとの画素の変化に応じて、前記所定の機器を制御する、電子機器。
【請求項２５】
前記制御手段は、前記ブロックごとの画素の変化に応じて、前記所定の機器の出力、前記所定の機器の向き、又は、前記所定の機器の一部の向きを制御する、請求項２４記載の電子機器。
【請求項２６】
前記撮影手段は、前記被写体を俯瞰撮影できる位置に設置され、
前記所定の機器は、天井に設置される、請求項２４又は２５記載の電子機器。
【請求項２７】
前記所定の機器は、天井に設置される空気調和装置であり、この空気調和装置は、風向きを調整するための風向調整機構を有し、
前記制御手段は、前記ブロックごとの画素の変化に応じて、前記風向調整機構を制御する、請求項２６記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体が写り込んだ画像を処理して、処理結果を出力する画像処理装置、電子機器、及び、その関連技術に関する。
【背景技術】
【０００２】
特許文献１の電子機器は、カメラを有し、被写体の遠近に応じて、通常撮影モードと接写モードとを自動的に切り替える。通常撮影モードでは、ズームレンズが第１範囲で移動し、接写モードでは、ズームレンズが第１範囲と異なる第２範囲で移動する。このように、被写体の遠近に応じて、ズームレンズの移動範囲が異なる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−５８５７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
確かに、特許文献１のように、通常撮影モードと接写モードとを自動的に切り替えることができれば便宜である。これと全く異なるものではあるが、被写体の遠近に応じて、自動的に画像処理の内容を異ならせることができれば、非常に便宜であり、利用価値も高い。
【０００５】
そこで、本発明は、被写体の遠近を判断して、遠近に応じた画像処理モードを自動的に設定することができる画像処理装置及びその関連技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の観点によれば、画像処理装置は、被写体を撮影する撮影手段による映像に対して画像処理を施す画像処理手段と、前記被写体と前記撮影手段との間の距離に応じて、前記画像処理のモードを切り替える切替手段と、を備える。
【０００７】
この構成によれば、被写体と撮影手段との間の距離に応じて、画像処理のモードが切り替えられるので、遠近に応じて、自動的に画像処理を異ならせることができる。
【０００８】
このため、被写体が撮影手段から近くに存在する場合の画像処理を、被写体が撮影手段から比較的遠くに存在する場合の画像処理と異ならせることを要求する電子機器に、容易に対応可能となる。
【０００９】
また、撮影手段として、比較的低解像度のものを採用でき、コストを削減できる。近くの被写体に対しては、低解像度であっても、画像処理により、その被写体の詳細な解析が可能であり、十分実用的な結果を得ることができる。一方、比較的遠くの被写体に対しては、低解像度の場合、被写体が近くに存在する場合と同じ画像処理により、被写体が近くに存在する場合と同等の精度の結果を得ることは困難である。従って、低解像度で、遠近に関係なく画像処理が同じであれば、比較的遠くにある被写体に対しては適用不可能であり、遠近双方に対応するためには、高解像度の撮影手段を採用せざるをえない。しかし、比較的遠くの被写体に対して、被写体が近くに存在する場合と異なる画像処理により、低解像度であっても十分実用的な結果を得ることもできる。このように、遠近に応じて、画像処理を異ならせることにより、低解像度の撮影手段によって、遠近双方の被写体に対応可能となる。
【００１０】
さらに、近距離用のセンサと遠距離用のセンサとを別個に設ける必要がなく、コストを削減できる。つまり、１つの画像処理装置だけで、遠近双方の画像処理を行なうことができる。
【００１１】
この画像処理装置において、前記切替手段は、前記被写体と前記撮影手段との間の距離に応じて、前記画像処理のモードとして第１モードを設定し、前記被写体と前記撮影手段との間の距離が、前記第１モードの設定時より長い場合に、前記画像処理のモードとして第２モードを設定し、前記画像処理手段は、前記第１モードの設定時に、前記映像に写った前記被写体の形態を認識する処理、動きを検出する処理、座標を求める処理、及び面積を求める処理の全部又は一部を実行し、前記第２モードの設定時に、前記映像から、前記被写体としての動体を検出する処理、撮影空間の輝度を求める処理、及び前記被写体の存在を検出する処理の全部又は一部を実行する。
【００１２】
この構成によれば、近距離のための画像処理である第１モードでは、被写体の形態を認識する処理等が実行される。比較的低解像度の画像からでも、形態の認識は十分可能である。仮に、遠距離のための画像処理である第２モードにおいて、第１モードと同じ画像処理を行なっても、低解像度の画像からは、被写体の形態を精度良く認識することは困難である。しかし、第２モードでは、動体を検出する処理を実行する。動体の検出は、比較的低解像度の画像からも十分可能である。以上の結果、遠近双方において、比較的低解像度の撮影手段を採用できるので、コストを削減できる。
【００１３】
ここで、近距離で被写体の形態を認識するためのセンサ（形態センサ）と遠距離で動体を検出するためのセンサ（動体センサ）とを設けることを想定する。
【００１４】
このような場合、通常、形態センサとしては比較的高解像度の撮影手段が採用され、低解像度の撮影手段と比べて高価である。また、それに応じて、高解像度の撮影手段の制御装置（ＣＰＵなど）も高価になる。さらに、高解像度の画像では、処理量が多くなり、高速に出力結果を要求される場合は対応困難になる。
【００１５】
また、このような場合、通常、動体センサとしては、焦電センサが採用される。焦電センサは、比較的低解像度の撮影手段より安価な場合もあるが、室温の変化を検出するものであるので、変化の発生は検知できるが、物体の座標を検出することができない。また、焦電センサでは、物体を検知して、その後、その物体が動かない場合は、その物体の存在を検知できない。
【００１６】
以上のように、近距離のための形態センサと遠距離のための動体センサとを設ける場合には、本発明にはない不利益を伴うが、そのような不利益がない点で本発明は有利である。
【００１７】
この画像処理装置において、前記画像処理手段は、前記第２モードの設定時に、前記動体を検出して追跡する処理を実行する。
【００１８】
この構成によれば、動体を追跡して、動体をターゲットとした処理ないしは制御を行なうことができる。例えば、動体の追跡結果を受けて、電子機器の一部又は全部を常に動体に向くように制御できる。
【００１９】
上記画像処理装置において、前記画像処理手段は、前記第１モードの設定時に、前記被写体の形態としての形状を認識する処理を実行する。
【００２０】
この構成によれば、被写体の形状を入力とした情報処理を実行することができる。
【００２１】
上記画像処理装置において、前記画像処理手段は、前記第１モードの設定時に、前記被写体の動きとしての回転動作を検出する処理を実行する。
【００２２】
この構成によれば、被写体の回転を入力とした情報処理を実行することができる。
【００２３】
上記画像処理装置において、前記切替手段は、光を発光する発光手段の発光時の前記撮影手段による前記映像と前記発光手段の消灯時の前記撮影手段による前記映像との差分画像に写り込んだ前記被写体の面積を算出する面積算出手段と、前記被写体の前記面積に基づいて、前記被写体と前記撮影手段との間の距離を判断し、前記画像処理のモードを設定する設定手段と、を含む。
【００２４】
この構成によれば、画像上の面積は、撮影手段と被写体との間の距離に相関するので、面積により、撮影手段と被写体との間の距離を容易に判断できる。
【００２５】
また、被写体が遠くにあれば、発光手段の光が届かない、あるいは、届いても反射光が弱く撮影手段に検出されないので、発光手段の発光時及び消灯時に関係なく、撮影画像には、遠くの物体は写り込まない。一方、発光手段の発光時のみ、近くの物体は、その光を反射し、撮影画像に写り込む。よって、差分により背景成分が除去されるので、発光手段が照射した光を反射した物体だけが、差分画像に現われる。このように、差分といった簡単な処理で、近くの物体の像のみを抽出できる。
【００２６】
上記画像処理装置において、前記画像処理手段は、前記画像処理のモードとしての第１モードでは、光を発光する発光手段の発光時の前記撮影手段による前記映像と前記発光手段の消灯時の前記撮影手段による前記映像との第１差分画像に前記画像処理を施し、前記画像処理のモードとしての第２モードでは、前記発光手段の消灯時の前記撮影手段による前記映像に対して前記画像処理を施し、前記切替手段は、前記第１モードでは、前記第１差分画像に写り込んだ前記被写体の面積を算出する第１面積算出手段と、前記第１モードでは、前記第１差分画像上の前記被写体の前記面積に基づいて、前記被写体と前記撮影手段との間の距離を判断し、その距離に応じて、前記第１モードを設定し、前記被写体と前記撮影手段との間の距離が、前記第１モードの設定時より長い場合に、前記第２モードを設定する第１設定手段と、前記第２モードでは、前記発光手段の発光時の前記撮影手段による前記映像と前記発光手段の消灯時の前記撮影手段による前記映像との第２差分画像に写り込んだ前記被写体の面積を算出する第２面積算出手段と、前記第２モードでは、前記第２差分画像上の前記被写体の前記面積に基づいて、前記被写体と前記撮影手段との間の距離を判断し、その距離に応じて、前記第２モードを設定し、前記被写体と前記撮影手段との間の距離が、前記第２モードの設定時より短い場合に、前記第１モードを設定する第２設定手段と、を含む。
【００２７】
この構成によれば、画像上の面積は、撮影手段と被写体との間の距離に相関するので、面積により、撮影手段と被写体との間の距離を容易に判断できる。
【００２８】
また、被写体が遠くにあれば、発光手段の光が届かない、あるいは、届いても反射光が弱く撮影手段に検出されないので、発光手段の発光時及び消灯時に関係なく、撮影画像には、遠くの物体は写り込まない。一方、発光手段の発光時のみ、近くの物体は、その光を反射し、撮影画像に写り込む。よって、差分により背景成分が除去されるので、発光手段が照射した光を反射した物体だけが、差分画像に現われる。このように、差分といった簡単な処理で、近くの物体の像のみを抽出できる。
【００２９】
さらに、第２モードの画像処理では、発光手段の発光は不要なところ、第１モードの画像処理で要求される発光手段を、画像処理モードの切り替えのために、第２モードで共用している。その結果、コストを削減できる。
【００３０】
この画像処理装置において、前記第２モードで前記第２差分画像を得るための前記撮影手段の撮影周期は、前記第１モードで前記第１差分画像を得るための前記撮影手段の撮影周期より長く設定される。
【００３１】
この構成によれば、第２モードでの画像処理のモードを切り替えるための撮影周期を短くしているので、消費電力を抑制することができる。画像処理のモードを切り替えるための判断は、画像処理と同等の周期で行なう必要はなく、実質的に性能に影響はない。
【００３２】
本発明の第２の観点によれば、画像処理装置は、被写体を撮影する撮影手段が出力した画像を処理する画像処理装置であって、前記撮影手段が出力した現在の画像と過去の画像との差分を算出する差分手段と、前記差分に基づいて、画素値の変化を検出する検出手段と、第１閾値及び前記第１閾値より小さい第２閾値を設定し、前記画素値の変化の頻度が前記第１閾値を超える場合又は前記第２閾値を下回る場合、その変化をノイズと判断し、前記頻度が前記第１閾値と前記第２閾値との間にある場合、その変化を実質的な変化と判断し、前記動体が存在すると判断する判断手段と、を備える。
【００３３】
この構成によれば、第１閾値を設けているので、画素値の変化の頻度が高い動き、例えば、テレビジョンのちらつき等、周期的な比較的周波数の高い動きをノイズとして除去できる。また、第２閾値を設けているので、画素値の変化の頻度が低い動き、例えば、撮影環境（撮影空間や撮影手段の状態）の変化から発生した画像上のノイズを除去できる。
【００３４】
本発明の第３の観点によれば、画像処理装置は、被写体としての手を撮影する撮影手段が出力した画像を処理する画像処理装置であって、前記撮影手段が出力した画像から前記手の輪郭線を抽出し、その輪郭線の変曲点の画素と前記変曲点の次の変曲点の画素との間の画素に基づいて、指を特定する指特定手段と、所定の基準線に対する、前記指特定手段が特定した各指の傾き角を算出する傾角算出手段と、前記指特定手段が特定した、隣り合う指と指とがなす角度を、前記各指の前記傾き角に基づき算出する指角算出手段と、前記隣り合う指と指とがなす前記角度に基づいて、手の形状を判定する判定手段と、を備える。
【００３５】
この構成によれば、指先と水かきとの間の画素に基づいて指を特定することになり、輪郭画像の重心により指を特定しないので、重心により指を特定する場合と比較して、精度良く指を特定でき、ひいてはより精度よく手の形状を判定できる。一般に、輪郭画像の重心と、被写体の重心と、は一致しない場合も多く、この場合に、重心により指を特定すると、認識の精度が低くなる。
【００３６】
この画像処理装置において、前記指特定手段は、前記被写体の輪郭線上にある画素から、指先に相当する画素を特定する手段を含み、前記画像処理手段は、前記被写体の輪郭画像の重心から前記指先に相当する前記画素までの距離を算出する手段をさらに含み、前記判定手段は、前記隣り合う指と指とがなす前記角度、及び、前記指先に相当する前記画素までの前記距離に基づいて、手の形状を判定する。
【００３７】
この構成によれば、指先と水かきとの間の画素に基づいて得られた、隣り合う指と指とがなす角度だけでなく、重心から指先に相当する画素までの距離に基づいて、手の形状を判断するので、より多様な手の形状を判定できる。例えば、手の形状が「チョキ」であることを判定するアルゴリズムに適用できる。
【００３８】
本発明の第４の観点によれば、画像処理装置は、被写体としての手を撮影する撮影手段が出力した画像を処理する画像処理装置であって、前記手の輪郭画像の重心から輪郭線上の各画素までの距離を算出する距離算出手段と、前記各画素までの前記距離に基づいて、手の形状を判定する判定手段と、を備える。
【００３９】
この構成によれば、重心から輪郭線上の画素までの距離を求めるといった簡単な計算で、手の形状を判定できる。例えば、重心から輪郭線上の画素までの距離が、一定範囲内の場合に、手の形状が「グー」であることを判定できる。
【００４０】
本発明の第５の観点によれば、画像処理装置は、被写体を撮影する撮影手段が出力した画像を処理する画像処理装置であって、前記被写体の輪郭画像の重心と輪郭線上の画素とを結ぶ線分の長さを算出する長さ算出手段と、前記線分が、所定の基準線に対してなす角度を算出する角度算出手段と、前記長さを前記角度の関数として表したときの位相差を、前記被写体の回転角度とする回転検出手段と、を備える。
【００４１】
この構成によれば、簡易、かつ、精度よく、手の回転角度を検出できる。
【００４２】
本発明の第６の観点によれば、画像処理方法は、被写体を撮影する撮影手段が出力した映像を処理する画像処理方法であって、コンピュータが、前記撮影手段が出力した映像に対して画像処理を施すステップと、前記コンピュータが、前記被写体と前記撮影手段との間の距離に応じて、前記画像処理のモードを切り替えるステップと、を含む。
【００４３】
この構成によれば、上記第１の観点による画像処理装置と同様の効果を奏する。
【００４４】
本発明の第７の観点によれば、画像処理方法は、被写体を撮影する撮影手段が出力した画像を処理する画像処理方法であって、前記撮影手段が出力した現在の画像と過去の画像との差分を算出するステップと、前記差分に基づいて、画素値の変化を検出するステップと、第１閾値及び前記第１閾値より小さい第２閾値を設定し、前記画素値の変化の頻度が前記第１閾値を超える場合又は前記第２閾値を下回る場合、その変化をノイズと判断し、前記頻度が前記第１閾値と前記第２閾値との間にある場合、その変化を実質的な変化と判断し、前記動体が存在すると判断するステップと、を含む。
【００４５】
この構成によれば、上記第２の観点による画像処理装置と同様の効果を奏する。
【００４６】
本発明の第８の観点によれば、画像処理方法は、被写体としての手を撮影する撮影手段が出力した画像を処理する画像処理方法であって、前記撮影手段が出力した画像から前記手の輪郭線を抽出し、その輪郭線の変曲点の画素と前記変曲点の次の変曲点の画素との間の画素に基づいて、指を特定するステップと、所定の基準線に対する、前記指を特定する前記ステップが特定した各指の傾き角を算出するステップと、前記指を特定する前記ステップが特定した、隣り合う指と指とがなす角度を、前記各指の前記傾き角に基づき算出するステップと、前記隣り合う指と指とがなす前記角度に基づいて、手の形状を判定するステップと、を含む。
【００４７】
この構成によれば、上記第３の観点による画像処理装置と同様の効果を奏する。
【００４８】
本発明の第９の観点によれば、画像処理方法は、被写体としての手を撮影する撮影手段が出力した画像を処理する画像処理方法であって、前記手の輪郭画像の重心から輪郭線上の各画素までの距離を算出するステップと、前記各画素までの前記距離に基づいて、手の形状を判定するステップと、を含む。
【００４９】
この構成によれば、上記第４の観点による画像処理装置と同様の効果を奏する。
【００５０】
本発明の第１０の観点によれば、画像処理方法は、被写体を撮影する撮影手段が出力した画像を処理する画像処理方法であって、前記被写体の輪郭画像の重心と輪郭線上の画素とを結ぶ線分の長さを算出するステップと、前記線分が、所定の基準線に対してなす角度を算出するステップと、前記長さを前記角度の関数として表したときの位相差を、前記被写体の回転角度とするステップと、を含む。
【００５１】
この構成によれば、上記第５の観点による画像処理装置と同様の効果を奏する。
【００５２】
本発明の第１１の観点によれば、コンピュータプログラムは、上記第６から第１０の観点による画像処理方法のうちのいずれか一をコンピュータに実行させる。
【００５３】
本発明の第１２の観点によれば、記録媒体は、上記第１１の観点によるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００５４】
なお、本明細書及び請求の範囲において、記録媒体は、例えば、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、ＣＤ（ＣＤ−ＲＯＭ、Ｖｉｄｅｏ−ＣＤを含む）、ＤＶＤ（ＤＶＤ−Ｖｉｄｅｏ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭを含む）、ＲＯＭカートリッジ、バッテリバックアップ付きのＲＡＭメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性ＲＡＭカートリッジ等を含む。
【００５５】
本発明の第１３の観点によれば、画像処理モジュールは、外部のコンピュータと接続される画像処理モジュールであって、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）と、前記ＭＣＵの内部及び／又は外部に配置され、前記ＭＣＵによって実行されるプログラム及びデータが格納されるメモリと、被写体を撮影するイメージセンサと、赤外光を発光する赤外発光ダイオードを含む発光部と、電源端子及び信号端子を含み、かつ、前記外部のコンピュータと接続するためのコネクタと、外部から前記電源端子に与えられる電源電圧を、前記ＭＣＵ、前記メモリ、前記イメージセンサ、及び、前記発光部に供給するための電源線と、前記コネクタの前記信号端子と、前記ＭＣＵと、を接続する信号線と、前記ＭＣＵと、前記イメージセンサと、を接続するバスと、を備える。
【００５６】
前記ＭＣＵ又は前記イメージセンサは、前記発光部がスイッチングトランジスタを含む場合は、そのスイッチングトランジスタを制御して、前記赤外発光ダイオードを間欠的に駆動し、前記発光部がスイッチングトランジスタを含まない場合は、前記赤外発光ダイオードを直接制御して、前記赤外発光ダイオードを間欠的に駆動する。
【００５７】
前記イメージセンサは、前記赤外発光ダイオードが赤外光を発光している時、及び、前記赤外発光ダイオードが赤外光を発光していない時、のそれぞれにおいて、撮影処理を実行し、赤外光の発光時の撮影画像と赤外光の非発光時の撮影画像との差分画像を生成して、その差分画像を、前記バスを介して、前記ＭＣＵに送信するものであり、あるいは、赤外光の発光時の第１撮影画像と赤外光の非発光時の第２撮影画像とを生成して、それら第１撮影画像及び第２撮影画像を、前記バスを介して、前記ＭＣＵに送信するものである。
【００５８】
前記イメージセンサが前記差分画像を生成するものである場合において、前記イメージセンサは、前記赤外発光ダイオードの間欠的な駆動に対応した一定周期で、前記差分画像を生成し、前記ＭＣＵに送信し、前記差分画像は、複数の画素からなり、前記イメージセンサは、前記差分画像を前記ＭＣＵに送信する際に、１画素ずつ、シリアルに送信し、前記ＭＣＵは、前記イメージセンサから１画素を受信するたびに、所定の閾値と比較して、２値化を行い、前記メモリに格納し、前記メモリに格納された２値化された差分画像（以下、「解析対象差分画像」と呼ぶ。）を解析し、その解析結果を、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信するものであり、あるいは、前記ＭＣＵは、前記イメージセンサから前記差分画像を受け取って、前記メモリに格納し、前記メモリに格納された前記差分画像（以下、「解析対象差分画像」と呼ぶ。）を解析し、その解析結果を、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信するものである。
【００５９】
前記イメージセンサが前記第１撮影画像及び第２撮影画像を生成するものである場合において、前記イメージセンサは、前記赤外発光ダイオードの間欠的な駆動に対応した一定周期で、前記第１撮影画像及び第２撮影画像を生成し、前記ＭＣＵに送信し、前記ＭＣＵは、前記第１撮影画像と前記第２撮影画像との差分画像を生成し、前記メモリに格納して、前記メモリに格納された前記差分画像（以下、「解析対象差分画像」と呼ぶ。）を解析し、その解析結果を、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信するものである。
【００６０】
前記ＭＣＵによる前記解析対象差分画像の解析は、新たに前記解析対象差分画像を前記メモリに格納するたびに実行され、その解析結果が、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信される。
【００６１】
前記ＭＣＵによる前記解析対象差分画像の解析は、前記解析対象差分画像に写り込んだ前記被写体の像の形状の認識、その像の色彩の認識、その像の模様の認識、その像の座標の算出、その像の面積の算出、その像の回転量若しくは回転角度の算出、その像の回転方向の算出、その像の速度の算出、その像の加速度の算出、その像の移動軌跡の算出、前記解析対象差分画像に写り込んだ前記被写体としての動体の検出、及び、前記被写体の存在の検出のうちの全部又は一部を含み、解析結果として、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信される。
【００６２】
前記ＭＣＵは、前記解析対象差分画像の解析結果が所定の条件を満足した時に、割込信号又はコマンドを、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信する機能を搭載することが可能である。
【００６３】
前記ＭＣＵ、前記メモリ、前記イメージセンサ、前記発光部、前記コネクタ、前記電源線、前記信号線、及び、前記バスは、所定の基板上にマウントされる。
【００６４】
前記画像処理モジュールは、前記所定の基板上に固定されるレンズユニットをさらに備える。
【００６５】
前記レンズユニットは、レンズと、前記レンズを保持するレンズホルダと、を含み、前記イメージセンサは、前記所定の基板上において、前記レンズの下部であって、前記レンズの光軸上であり、かつ、前記レンズホルダの内部に配置される。
【００６６】
前記画像処理モジュールは、赤外光のみを透過する赤外光フィルタをさらに備え、前記赤外光フィルタは、前記レンズユニットの内部の、前記イメージセンサと前記レンズとの間に配置され、又は、前記レンズユニットの外部において、前記レンズを覆うように配置される。
【００６７】
前記外部のコンピュータは、エアコンディショナ・テレビジョン・オーディオ機器・フォトフレーム・照明機器等といった家庭電化製品、電子玩具・ビデオゲーム機等といったエンターテインメント機器、セキュリティ機器、カーナビゲーション等の車載電子機器、若しくは、ＬＣＤ等のディスプレイ装置のコンピュータ、又は、パーソナルコンピュータであることができる。
【００６８】
この構成によれば、撮影された被写体の画像を処理して（解析対象差分画像に写り込んだ被写体の像の形状の認識、その像の色彩の認識、その像の模様の認識、その像の座標の算出、その像の面積の算出、その像の回転量若しくは回転角度の算出、その像の回転方向の算出、その像の速度の算出、その像の加速度の算出、その像の移動軌跡の算出、解析対象差分画像に写り込んだ被写体としての動体の検出、及び、被写体の存在の検出）、その処理結果を、外部のコンピュータに出力する。このため、当該外部のコンピュータは、この画像処理モジュールから入力された処理結果をそのまま利用できる。その結果、当該外部のコンピュータによる画像処理を不要とし、そのコンピュータのプログラマの負担を軽減することができる。また、この画像処理モジュールは、撮影及び画像処理だけを行なうモジュールとして提供されるので、その処理結果を利用するコンピュータあるいはそのコンピュータを搭載する外部機器は特定のものに限定されず、この画像処理モジュールは、高い汎用性を持つ。
【００６９】
また、被写体が遠くにあれば、発光部の光が届かない、あるいは、届いても反射光が弱くイメージセンサに検出されないので、発光部の発光時及び消灯時に関係なく、撮影画像には、遠くの物体は写り込まない。一方、発光部の発光時のみ、近くの物体は、その光を反射し、撮影画像に写り込む。よって、差分により背景成分が除去されるので、発光部が照射した光を反射した物体だけが、差分画像に現われる。このように、差分といった簡単な処理で、近くの物体の像のみを抽出できる。
【００７０】
さらに、限定はされないが、この発明は、特に、被写体がイメージセンサに対して比較的近距離に位置している場合に有効である。なぜなら、赤外光を被写体に照射し、それをイメージセンサにより撮影するからである。もちろん、これは、被写体がイメージセンサに対して比較的遠距離に位置している場合に、この画像処理モジュールを使用することを排除するものではない。この場合、例えば、赤外発光ダイオードの発光強度を強くし、及び／又は、その数を増やす。
【００７１】
本発明の第１４の観点によれば、画像処理モジュールは、外部のコンピュータと接続される画像処理モジュールであって、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）と、前記ＭＣＵの内部及び／又は外部に配置され、前記ＭＣＵによって実行されるプログラム及びデータが格納されるメモリと、被写体を撮影するイメージセンサと、電源端子及び信号端子を含み、かつ、前記外部のコンピュータと接続するためのコネクタと、外部から前記電源端子に与えられる電源電圧を、前記ＭＣＵ、前記メモリ、及び、前記イメージセンサに供給するための電源線と、前記コネクタの前記信号端子と、前記ＭＣＵと、を接続する信号線と、前記ＭＣＵと、前記イメージセンサと、を接続するバスと、を備える。
【００７２】
前記イメージセンサは、一定時間間隔で、撮影処理を実行し、撮影画像を、前記バスを介して、前記ＭＣＵに送信する。
【００７３】
前記ＭＣＵは、前記イメージセンサから前記撮影画像を受け取って、前記メモリに格納し、前記メモリに格納された前記撮影画像（以下、「解析対象画像」と呼ぶ。）を解析し、その解析結果を、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信する。
【００７４】
前記ＭＣＵによる前記解析対象画像の解析は、新たに前記解析対象画像を前記メモリに格納するたびに実行され、その解析結果が、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信される。
【００７５】
前記ＭＣＵによる前記解析対象画像の解析は、前記解析対象画像に写り込んだ前記被写体の像の形状の認識、その像の色彩の認識、その像の模様の認識、その像の座標の算出、その像の面積の算出、その像の回転量若しくは回転角度の算出、その像の回転方向の算出、その像の速度の算出、その像の加速度の算出、その像の移動軌跡の算出、前記解析対象画像に写り込んだ前記被写体としての動体の検出、前記解析対象画像に写り込んだ撮影空間の輝度の算出、前記解析対象画像に写り込んだ前記被写体の像の輝度の算出、及び、前記被写体の存在の検出のうちの全部又は一部を含み、解析結果として、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信される。
【００７６】
前記ＭＣＵは、前記解析対象画像の解析結果が所定の条件を満足した時に、割込信号又はコマンドを、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信する機能を搭載することが可能である。
【００７７】
前記ＭＣＵ、前記メモリ、前記イメージセンサ、前記コネクタ、前記電源線、前記信号線、及び、前記バスは、所定の基板上にマウントされる。
【００７８】
前記画像処理モジュールは、前記所定の基板上に固定されるレンズユニットをさらに備える。
【００７９】
前記レンズユニットは、レンズと、前記レンズを保持するレンズホルダと、を含み、前記イメージセンサは、前記所定の基板上において、前記レンズの下部であって、前記レンズの光軸上であり、かつ、前記レンズホルダの内部に配置される。
【００８０】
前記外部のコンピュータは、エアコンディショナ・テレビジョン・オーディオ機器・フォトフレーム・照明機器等といった家庭電化製品、電子玩具・ビデオゲーム機等といったエンターテインメント機器、セキュリティ機器、カーナビゲーション等の車載電子機器、若しくは、ＬＣＤ等のディスプレイ装置のコンピュータ、又は、パーソナルコンピュータであることができる。
【００８１】
この構成によれば、撮影された被写体の画像を処理して（解析対象画像に写り込んだ被写体の像の形状の認識、その像の色彩の認識、その像の模様の認識、その像の座標の算出、その像の面積の算出、その像の回転量若しくは回転角度の算出、その像の回転方向の算出、その像の速度の算出、その像の加速度の算出、その像の移動軌跡の算出、解析対象画像に写り込んだ被写体としての動体の検出、解析対象画像に写り込んだ撮影空間の輝度の算出、解析対象画像に写り込んだ被写体の像の輝度の算出、及び、被写体の存在の検出）、その処理結果を、外部のコンピュータに出力する。このため、当該外部のコンピュータは、この画像処理モジュールから入力された処理結果をそのまま利用できる。その結果、当該外部のコンピュータによる画像処理を不要とし、そのコンピュータのプログラマの負担を軽減することができる。また、この画像処理モジュールは、撮影及び画像処理だけを行なうモジュールとして提供されるので、その処理結果を利用するコンピュータあるいはそのコンピュータを搭載する外部機器は特定のものに限定されず、この画像処理モジュールは、高い汎用性を持つ。
【００８２】
また、限定はされないが、この発明は、特に、被写体がイメージセンサに対して比較的遠距離に位置している場合に有効である。なぜなら、赤外発光ダイオードを設けずに、室内光及び／又は外光を反射する被写体を撮影するからである。もちろん、これは、被写体がイメージセンサに対して比較的近距離に位置している場合に、この画像処理モジュールを使用することを排除するものではない。
【００８３】
本発明の第１５の観点によれば、画像処理モジュールは、外部のコンピュータと接続される画像処理モジュールであって、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）と、前記ＭＣＵの内部及び／又は外部に配置され、前記ＭＣＵによって実行されるプログラム及びデータが格納されるメモリと、被写体を撮影するイメージセンサと、赤外光を発光する赤外発光ダイオードを含む発光部と、電源端子及び信号端子を含み、かつ、前記外部のコンピュータと接続するためのコネクタと、外部から前記電源端子に与えられる電源電圧を、前記ＭＣＵ、前記メモリ、前記イメージセンサ、及び、前記発光部に供給するための電源線と、前記コネクタの前記信号端子と、前記ＭＣＵと、を接続する信号線と、前記ＭＣＵと、前記イメージセンサと、を接続するバスと、を備える。
【００８４】
前記イメージセンサは、第１撮影モード及び第２撮影モードを有する。
【００８５】
前記第１撮影モードにおいて、前記ＭＣＵ又は前記イメージセンサは、前記発光部がスイッチングトランジスタを含む場合は、そのスイッチングトランジスタを制御して、前記赤外発光ダイオードを間欠的に駆動し、前記発光部がスイッチングトランジスタを含まない場合は、前記赤外発光ダイオードを直接制御して、前記赤外発光ダイオードを間欠的に駆動する。
【００８６】
前記第１撮影モードにおいて、前記イメージセンサは、前記赤外発光ダイオードが赤外光を発光している時、及び、前記赤外発光ダイオードが赤外光を発光していない時、のそれぞれにおいて、撮影処理を実行し、赤外光の発光時の撮影画像と赤外光の非発光時の撮影画像との差分画像を生成して、その差分画像を、前記バスを介して、前記ＭＣＵに送信するものであり、あるいは、赤外光の発光時の第１撮影画像と赤外光の非発光時の第２撮影画像とを生成して、それら第１撮影画像及び第２撮影画像を、前記バスを介して、前記ＭＣＵに送信するものである。
【００８７】
前記第１撮影モードにおいて、前記イメージセンサが前記差分画像を生成するものである場合（以下、「第１の場合」と呼ぶ。）において、前記イメージセンサは、前記赤外発光ダイオードの間欠的な駆動に対応した一定周期で、前記差分画像を生成し、前記ＭＣＵに送信する。
【００８８】
前記第１の場合において、前記差分画像は、複数の画素からなり、前記イメージセンサは、前記差分画像を前記ＭＣＵに送信する際に、１画素ずつ、シリアルに送信し、前記ＭＣＵは、前記イメージセンサから１画素を受信するたびに、所定の第１の閾値と比較して、２値化を行い、前記メモリに格納し、前記メモリに格納された２値化された差分画像（以下、「解析対象差分画像」と呼ぶ。）を解析するものであり、あるいは、前記第１の場合において、前記ＭＣＵは、前記イメージセンサから前記差分画像を受け取って、前記メモリに格納し、前記メモリに格納された前記差分画像（以下、「解析対象差分画像」と呼ぶ。）を解析するものである。
【００８９】
前記第１撮影モードにおいて、前記イメージセンサが前記第１撮影画像及び第２撮影画像を生成するものである場合（以下、「第２の場合」と呼ぶ。）において、前記イメージセンサは、前記赤外発光ダイオードの間欠的な駆動に対応した一定周期で、前記第１撮影画像及び第２撮影画像を生成し、前記ＭＣＵに送信する。
【００９０】
前記第２の場合において、前記ＭＣＵは、前記第１撮影画像と前記第２撮影画像との差分画像を生成し、前記メモリに格納して、前記メモリに格納された前記差分画像（以下、「解析対象差分画像」と呼ぶ。）を解析するものである。
【００９１】
前記第１撮影モードにおいて、前記ＭＣＵによる前記解析対象差分画像の解析は、新たに前記解析対象差分画像を前記メモリに格納するたびに実行される。
【００９２】
前記第２撮影モードにおいて、前記イメージセンサは、一定時間間隔で、撮影処理を実行し、撮影画像を、前記バスを介して、前記ＭＣＵに送信する。
【００９３】
前記第２撮影モードにおいて、前記ＭＣＵは、前記イメージセンサから前記撮影画像を受け取って、前記メモリに格納し、前記メモリに格納された前記撮影画像（以下、「解析対象画像」と呼ぶ。）を解析する。
【００９４】
前記第２撮影モードにおいて、前記ＭＣＵによる前記解析対象画像の解析は、新たに前記解析対象画像を前記メモリに格納するたびに実行される。
【００９５】
前記ＭＣＵは、第１画像処理モードと第２画像処理モードとを有する。
【００９６】
前記第１画像処理モードにおいて、前記ＭＣＵによる前記解析対象差分画像の解析は、前記解析対象差分画像に写り込んだ前記被写体の像の形状の認識、その像の色彩の認識、その像の模様の認識、その像の座標の算出、その像の面積の算出、その像の回転量若しくは回転角度の算出、その像の回転方向の算出、その像の速度の算出、その像の加速度の算出、その像の移動軌跡の算出、前記解析対象差分画像に写り込んだ前記被写体としての動体の検出、及び、前記被写体の存在の検出のうちの全部又は一部を含み、解析結果として、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信される。
【００９７】
前記第１画像処理モードにおいて、前記ＭＣＵは、前記解析対象差分画像の解析結果が第１の所定の条件を満足した時に、割込信号又はコマンドを、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信する機能を搭載することが可能である。
【００９８】
前記第２画像処理モードにおいて、前記ＭＣＵによる前記解析対象画像の解析は、前記解析対象画像から前記被写体としての動体を検出する処理、前記解析対象画像に写り込んだ撮影空間の輝度を求める処理、前記解析対象画像に写り込んだ被写体の像の輝度を求める処理、及び、前記解析対象画像から前記被写体の存在を検出する処理のうちの全部又は一部を含み、解析結果として、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信される。
【００９９】
前記第２画像処理モードにおいて、前記ＭＣＵは、前記解析対象画像の解析結果が第２の所定の条件を満足した時に、割込信号又はコマンドを、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信する機能を搭載することが可能である。
【０１００】
前記第１画像処理モードでは、前記イメージセンサは、前記第１撮影モードで動作し、前記ＭＣＵは、前記第１撮影モードで得られた前記解析対象差分画像の解析結果を、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信し、前記解析対象差分画像に基づいて、前記第１画像処理モードと前記第２画像処理モードとの間の切り替えを行う。
【０１０１】
前記第２画像処理モードでは、前記イメージセンサは、前記第１撮影モード及び前記第２撮影モードで動作し、前記ＭＣＵは、前記第２撮影モードで得られた前記解析対象画像の解析結果を、前記信号線及び前記コネクタの前記信号端子を介して、前記外部のコンピュータに送信し、前記第１撮影モードで得られた前記解析対象差分画像に基づいて、前記第１画像処理モードと前記第２画像処理モードとの間の切り替えを行う。
【０１０２】
前記第１画像処理モードにおいて、前記ＭＣＵは、前記解析対象差分画像に写り込んだ像の面積を算出して、その面積と所定の第２の閾値を比較し、その面積が前記所定の第２の閾値を超えている場合、前記第１画像処理モードを維持し、その面積が前記所定の第２の閾値以下の場合、前記第１画像処理モードから前記第２画像処理モードへ移行する。
【０１０３】
前記第２画像処理モードにおいて、前記ＭＣＵは、前記解析対象差分画像に写り込んだ像の面積を算出して、その面積と前記所定の第２の閾値を比較し、その面積が前記所定の第２の閾値以下の場合、前記第２画像処理モードを維持し、その面積が前記所定の第２の閾値を超えている場合、前記第２画像処理モードから前記第１画像処理モードへ移行する。
【０１０４】
前記第２画像処理モードにおいて、前記第１撮影モードにおける前記赤外発光ダイオードを間欠的に駆動する際の周期は、前記第１画像処理モードでの周期より長い、又は、同じである。
【０１０５】
前記ＭＣＵ、前記メモリ、前記イメージセンサ、前記発光部、前記コネクタ、前記電源線、前記信号線、及び、前記バスは、所定の基板上にマウントされる。
【０１０６】
前記画像処理モジュールは、前記所定の基板上に固定されるレンズユニットをさらに備える。
【０１０７】
前記レンズユニットは、レンズと、前記レンズを保持するレンズホルダと、を含み、前記イメージセンサは、前記所定の基板上において、前記レンズの下部であって、前記レンズの光軸上であり、かつ、前記レンズホルダの内部に配置される。
【０１０８】
前記画像処理モジュールは、赤外光のみを透過する赤外光フィルタをさらに備え、前記赤外光フィルタは、前記レンズユニットの内部の、前記イメージセンサと前記レンズとの間に配置され、又は、前記レンズユニットの外部において、前記レンズを覆うように配置される。
【０１０９】
前記外部のコンピュータは、エアコンディショナ・テレビジョン・オーディオ機器・フォトフレーム・照明機器等といった家庭電化製品、電子玩具・ビデオゲーム機等といったエンターテインメント機器、セキュリティ機器、カーナビゲーション等の車載電子機器、若しくは、ＬＣＤ等のディスプレイ装置のコンピュータ、又は、パーソナルコンピュータであることができる。
【０１１０】
この構成によれば、撮影された被写体の画像を処理して（第１画像処理モードでは、解析対象差分画像に写り込んだ被写体の像の形状の認識、その像の色彩の認識、その像の模様の認識、その像の座標の算出、その像の面積の算出、その像の回転量若しくは回転角度の算出、その像の回転方向の算出、その像の速度の算出、その像の加速度の算出、その像の移動軌跡の算出、解析対象差分画像に写り込んだ被写体としての動体の検出、及び、被写体の存在の検出、第２画像処理モードでは、解析対象画像から被写体としての動体を検出する処理、解析対象画像に写り込んだ撮影空間の輝度を求める処理、解析対象画像に写り込んだ被写体の像の輝度の算出、及び、解析対象画像から被写体の存在を検出する処理）、その処理結果を、外部のコンピュータに出力する。このため、当該外部のコンピュータは、この画像処理モジュールから入力された処理結果をそのまま利用できる。その結果、当該外部のコンピュータによる画像処理を不要とし、そのコンピュータのプログラマの負担を軽減することができる。また、この画像処理モジュールは、撮影及び画像処理だけを行なうモジュールとして提供されるので、その処理結果を利用するコンピュータあるいはそのコンピュータを搭載する外部機器は特定のものに限定されず、この画像処理モジュールは、高い汎用性を持つ。
【０１１１】
また、解析対象差分画像に写り込んだ像の面積に基づいて、被写体とイメージセンサとの間の遠近を判断して、第１画像処理モードと第２画像処理モードとを切り替える。つまり、画像上の被写体の面積は、イメージセンサと被写体との間の距離に相関するので、面積により、イメージセンサと被写体との間の遠近を判断できる。
【０１１２】
このように、被写体とイメージセンサとの間の距離に応じて、画像処理のモードが切り替えられるので、遠近に応じて、自動的に画像処理を異ならせることができる。このため、被写体がイメージセンサから近くに存在する場合の画像処理を、被写体がイメージセンサから比較的遠くに存在する場合の画像処理と異ならせることを要求する電子機器に、容易に対応可能となる。
【０１１３】
さらに、イメージセンサとして、比較的低解像度のものを採用でき、コストを削減できる。近くの被写体に対しては、低解像度であっても、画像処理により、その被写体の詳細な解析が可能であり、十分実用的な結果を得ることができる。一方、比較的遠くの被写体に対しては、低解像度の場合、被写体が近くに存在する場合と同じ画像処理により、被写体が近くに存在する場合と同等の精度の結果を得ることは困難である。従って、低解像度で、遠近に関係なく画像処理が同じであれば、比較的遠くにある被写体に対しては適用不可能であり、遠近双方に対応するためには、高解像度のイメージセンサを採用せざるをえない。しかし、比較的遠くの被写体に対して、被写体が近くに存在する場合と異なる画像処理により、低解像度であっても十分実用的な結果を得ることもできる。このように、遠近に応じて、画像処理を異ならせることにより、低解像度のイメージセンサによって、遠近双方の被写体に対応可能となる。
【０１１４】
例えば、近距離のための画像処理である第１画像処理モードでは、被写体の形状を認識する処理が実行される。比較的低解像度の画像からでも、形状の認識は十分可能である。仮に、遠距離のための画像処理である第２画像処理モードにおいて、第１画像処理モードと同じ画像処理を行なっても、低解像度の画像からは、被写体の形状を精度良く認識することは困難である。しかし、第２画像処理モードでは、動体を検出する処理を実行する。動体の検出は、比較的低解像度の画像からも十分可能である。以上の結果、遠近双方において、比較的低解像度のイメージセンサを採用できるので、コストを削減できる。
【０１１５】
さらに、近距離用のセンサと遠距離用のセンサとを別個に設ける必要がなく、コストを削減できる。
【０１１６】
ここで、近距離で被写体の形態（形状、模様、若しくは色彩、又は、それらの任意の組合せ）を認識するためのセンサ（形態センサ）と遠距離で動体を検出するためのセンサ（動体センサ）とを設けることを想定する。
【０１１７】
このような場合、通常、形態センサとしては比較的高解像度のイメージセンサが採用され、低解像度のイメージセンサと比べて高価である。また、それに応じて、高解像度のイメージセンサの制御装置（ＣＰＵなど）も高価になる。さらに、高解像度の画像では、処理量が多くなり、高速に出力結果を要求される場合は対応困難になる。
【０１１８】
また、このような場合、通常、動体センサとしては、焦電センサが採用される。焦電センサは、比較的低解像度のイメージセンサより安価な場合もあるが、室温の変化を検出するものであるので、変化の発生は検知できるが、物体の座標を検出することができない。また、焦電センサでは、物体を検知して、その後、その物体が動かない場合は、その物体の存在を検知できない。
【０１１９】
以上のように、近距離のための形態センサと遠距離のための動体センサとを設ける場合には、本発明にはない不利益を伴うが、そのような不利益がない点で本発明は有利である。
【０１２０】
さらに、第２画像処理モードでは、発光部の発光は不要なところ、第１画像処理モードで要求される発光部を、画像処理モードの切り替えのために、第２画像処理モードで共用している。その結果、コストを削減できる。
【０１２１】
さらに、第２画像処理モードにおいて、第１撮影モードにおける赤外発光ダイオードを間欠的に駆動する際の周期を、第１画像処理モードの場合より長くすることによって、消費電力を抑制することができる。画像処理のモードを切り替えるための判断は、画像処理と同等の周期で行なう必要はなく、実質的に性能に影響はない。
【０１２２】
本発明の第１６の観点によれば、電子機器は、被写体を撮影する撮影手段が出力した画像を処理する画像処理手段と、前記画像処理手段の処理結果に基づいて所定の機器を制御する制御手段と、を備え、前記画像処理手段は、前記画像を複数のブロックに分割し、前記ブロックごとに、画素の変化を検出し、前記制御手段は、前記ブロックごとの画素の変化に応じて、前記所定の機器を制御する。
【０１２３】
この構成によれば、画像のブロックごとに、写り込んだ像の変化、つまり、被写体の動きを検出することができる。このため、制御手段は、所定の機器又は所定の機器の一部を、像の変化（つまり被写体の動き）が検出されたブロックに対応する領域（実空間の）に向ける制御又は向けない制御を行なうことができる。また、制御手段は、各ブロックに対応する各領域（実空間の）に向けた所定の機器の出力を、像の変化（つまり被写体の動き）が検出されたブロックに対応する領域に対して行う又は行なわない制御を行なうことができる。
【０１２４】
例えば、前記制御手段は、前記ブロックごとの画素の変化に応じて、前記所定の機器の出力、前記所定の機器の向き、又は、前記所定の機器の一部の向きを制御する。
【０１２５】
上記電子機器において、前記撮影手段は、前記被写体を俯瞰撮影できる位置に設置され、前記所定の機器は、天井に設置される。
【０１２６】
この構成によれば、俯瞰撮影が行われるので、水平方向からの撮影と比較して、複数の被写体が重なって写り込む頻度が少なく、複数の被写体の重なりの判断を省くこともできるので、簡易な処理により機器を制御できる。その結果、天井に設置された機器の制御に好適である。
【０１２７】
もちろん、複数の被写体の重なりの判断を行ってもよい。なお、水平方向から撮影すると、複数の被写体が１つの像として画像に存在することになる場合であっても（例えば、撮影手段の光軸上に、複数の被写体が存在する場合）、俯瞰撮影する場合は、それらが、分離した像として画像に存在することも多い。
【０１２８】
この電子機器において、前記所定の機器は、天井に設置される空気調和装置であり、この空気調和装置は、風向きを調整するための風向調整機構を有し、前記制御手段は、前記ブロックごとの画素の変化に応じて、前記風向調整機構を制御する。
【０１２９】
このように、本発明は、天井に設置される空気調和装置の制御に好適である。
【図面の簡単な説明】
【０１３０】
本発明の新規な特徴は、特許請求の範囲に記載されている。しかしながら、発明そのもの及びその他の特徴と効果は、添付図面を参照して具体的な実施例の詳細な説明を読むことにより容易に理解される。
【０１３１】
【図１】本発明の実施の形態による画像処理モジュール１の電気的構成を示す図である。
【図２】図１のＭＣＵ３による全体処理の流れの一例を示すフローチャートである。
【図３】図２のステップＳ７０７のイメージセンサ５の制御の流れの一例を示すフローチャートである。
【図４】図３のステップＳ２７の差分画像データ取得処理の流れの一例を示すフローチャートである。
【図５】図３のステップＳ７１９の画像処理モードの切替処理の流れの一例を示すフローチャートである。
【図６】図３のステップＳ７１３の動体検出モードでの処理の流れの一例を示すフローチャートである。
【図７】図３のステップＳ７１１の輪郭検出モードでの処理の流れの一例を示すフローチャートである。
【図８】図７のステップＳ１９５の変曲点の検出処理の流れの一例を示すフローチャートである。
【図９】図７のステップＳ１９７の輪郭画像の形状を判定する処理の流れの一例を示すフローチャートである。
【図１０】図９のステップＳ２６１の輪郭情報を算出する処理の流れの一例を示すフローチャートである。
【図１１】図９のステップＳ２６３の指先を検出する処理の流れの一例を示すフローチャートである。
【図１２】図９のステップＳ２６５の「パー」を判定する処理の流れの一例を示すフローチャートである。
【図１３】図９のステップＳ２６７の「チョキ」を判定する処理の流れの一例を示すフローチャートである。
【図１４】図９のステップＳ２６９の「グー」を判定する処理の流れの一例を示すフローチャートである。
【図１５】図７のステップＳ１９９の輪郭画像の回転を検出する処理の流れの一例を示すフローチャートである。
【図１６】図７のステップＳ１９３で検出される偏角θｊの説明図である。
【図１７】図７のステップＳ１９５で検出される変曲点及び図９のステップＳ２６３で検出される指先の説明図である。
【図１８】図１０のステップＳ３０９で作成される回転テーブルの例示図である。
【図１９】輪郭画像の回転を検出する処理の説明図である。
【図２０】（ａ）図１のイメージセンサ５が出力するビジー信号のタイミング図である。（ｂ）図１のＭＣＵ３が出力するリード信号のタイミング図である。（ｃ）図１のＭＣＵ３が読み込む画素データＤのタイミング図である。
【図２１】本発明の実施の形態の変形例におけるＭＣＵ３の全体処理の流れの一例を示すフローチャートである。
【図２２】（ａ）図１のコンピュータ１３が出力するスレイブセレクト信号のタイミング図である。（ｂ）図１のＭＣＵ３とコンピュータ１３とを接続するデータ入力線上の信号のタイミング図である。（ｃ）図１のＭＣＵ３とコンピュータ１３とを接続するデータ出力線上の信号のタイミング図である。
【図２３】図１の画像処理モジュール１の詳細な電気的構成を示す図である。
【図２４】（ａ）図１の画像処理モジュール１の平面図である。（ｂ）図１の画像処理モジュール１の側面図である。（ｃ）図１の画像処理モジュール１の外観平面図である。
【図２５】図２４（ａ）のレンズユニット６２のＡ−Ａ線による断面図である。
【発明を実施するための形態】
【０１３２】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。また、本明細書において、数字の後尾に付した「ｈ」は、１６進数であることを示す。
【０１３３】
図１は、本発明の実施の形態による画像処理モジュール１の電気的構成を示す図である。図１を参照して、この画像処理モジュール１は、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｅｒ  Ｕｎｉｔ）３、イメージセンサ５、及び赤外発光ダイオード７を含む。ＭＣＵ３は、メモリ９を含む。イメージセンサ５は、カラー及びグレースケールのいずれでも使用でき、また、その画素数も任意にものを使用できるが、本実施の形態では、グレースケールで、６４×６４画素の比較的低解像度のものを使用する。赤外発光ダイオード７は、赤外光を発光する。赤外発光ダイオード７の数は、１つに限定されず、画像処理モジュール１の仕様に応じて、複数設けることができる。また、イメージセンサ５としては、ＣＭＯＳイメージセンサやＣＣＤイメージセンサ等を採用できる。
【０１３４】
ＭＣＵ３のメモリ９は、ＲＡＭ、ＲＯＭ、及びフラッシュメモリ等の半導体メモリであり、プログラム格納領域、データ格納領域、作業領域、及び一時格納領域等として利用される。ＭＣＵ３は、メモリ９に格納されたプログラムに従って、後述のフローチャートで示される各種処理を実行する。なお、仕様に応じて、記録媒体として、メモリ９の他、ＣＤ（ＣＤ−ＲＯＭ、Ｖｉｄｅｏ−ＣＤを含む）やＤＶＤ（ＤＶＤ−Ｖｉｄｅｏ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭを含む）等の光ディスク、半導体メモリを搭載したメモリカード・メモリカートリッジ・ＵＳＢメモリ、ハードディスク、光磁気ディスク、磁気テープ、及び、フレキシブルディスク等を、ＭＣＵ３に接続することもできる。そして、これらにプログラムやデータなどを格納することもできる。
【０１３５】
画像処理モジュール１は、電子機器１１と接続されて使用される。電子機器１１は、コンピュータ１３を含む。電子機器１１は、例えば、エアコンディショナ・テレビジョン・オーディオ機器・フォトフレーム・照明機器等といった家庭電化製品、電子玩具・ビデオゲーム機等といったエンターテインメント機器、セキュリティ機器、カーナビゲーション等の車載電子機器、ＬＣＤ等のディスプレイ装置、及び、パーソナルコンピュータ等であるが、特に限定されるものではない。
【０１３６】
ＭＣＵ３は、メモリ９に格納されたプログラムに従って、独自に又は電子機器１１のコンピュータ１３の命令を受けて、イメージセンサ５を制御する。イメージセンサ５は、ＭＣＵ３の制御により、被写体を撮影し、また、赤外発光ダイオード７を制御する。
【０１３７】
なお、画像処理モジュール１及び電子機器１１からなるシステムを、電子機器と呼び、電子機器１１を機器１１と呼ぶこともある。また、画像処理モジュール１を画像処理装置１と呼ぶ事もある。
【０１３８】
さて、次に、本実施の形態の概要を説明する。画像処理モジュール１は、２つの画像処理モードを搭載する。その１つは、輪郭検出モード（第１画像処理モード）、他の一つは、動体検出モード（第２画像処理モード）である。画像処理モジュール１は、被写体の遠近に応じて、輪郭検出モード又は動体検出モードのいずれかに自動的に入る。つまり、画像処理モジュール１は、被写体が近くに存在すると判断したときは、輪郭検出モードに入り、被写体が遠くに存在すると判断したときは、動体検出モードに入る。
【０１３９】
輪郭検出モードについて説明する。イメージセンサ５は、赤外発光ダイオード７の点灯時及び消灯時に撮影処理を実行し、点灯時画像と消灯時画像との差分画像を生成して、ＭＣＵ３に与える。赤外発光ダイオード７は、間欠的に赤外光を発光する。赤外光の点灯時間及び消灯時間を１周期と考えると、イメージセンサ５は、この１周期ごとに、差分画像の生成処理を実行する。よって、ＭＣＵ３は、１周期ごとに、以下に示す差分画像の解析処理を行なう。
【０１４０】
ＭＣＵ３は、差分画像に基づいて、手の輪郭を検出し、グー、チョキ、パー、及び不定のいずれかを判定する。また、ＭＣＵ３は、手の回転角度を検出する。さらに、ＭＣＵ３は、輪郭画像の座標及び面積を算出する。ＭＣＵ３は、これらの情報を電子機器１１のコンピュータ１３に送信する。コンピュータ１３は、電子機器１１の仕様に応じて、これらの情報を処理する。
【０１４１】
例えば、コンピュータ１３は、輪郭画像の座標に従って、電子機器１１としての表示装置のカーソルを制御したり、グー、チョキ、及びパーをコマンドと認識して、それらに割り当てられた処理を実行したり、手の回転角度に応じた処理を実行したり（例えば、手の回転角度に応じて仮想又は現実のダイヤルを回転）、輪郭画像の面積に応じた処理を実行したり、輪郭画像の座標の軌道に応じた処理を実行する。その結果、ユーザは、従来のタッチパネルのように、パネル等に触れることなく、電子機器１１を操作することができる。
【０１４２】
また、例えば、コンピュータ１３は、輪郭画像の座標の動きに応じて、電子機器１１としての表示装置の画面を制御する。この場合、例えば、コンピュータ１３は、輪郭画像の座標が水平右方向に移動した場合、ユーザが手を水平右方向に振ったと判断して、ページを左から右にめくったように、画面を切り替えたり、あるいは、左から右へ表示画像をスライドさせ、画面を切り替える。同様にして、コンピュータ１３は、座標の水平左方向移動、垂直上方向移動、及び垂直下方向移動などに応じて、画面を切り替える。
【０１４３】
動体検出モードについて説明する。イメージセンサ５は、赤外光の消灯時に撮影処理を実行し、消灯時画像（以下、「動体検出用画像」と呼ぶ事もある。）をＭＣＵ３に与える。イメージセンサ５は、動体検出用画像を得るための撮影処理（以下、「動体検出撮影処理」と呼ぶ事もある。）を一定時間間隔で実行する。
【０１４４】
ＭＣＵ３は、動体検出用画像に基づいて、動体を検出し、追跡する。また、ＭＣＵ３は、動体の座標を算出する。さらに、ＭＣＵ３は、撮影された空間の輝度を算出する。さらに、ＭＣＵ３は、動体としての被写体が検出されたが、その後、検出されなくなった場合に、被写体が撮影空間に存在しなくなったのか、あるいは、その被写体が撮影空間に存在するが静止したのか、を判定する。例えば、現在の画像と過去の画像とを比較することにより、このような判定が可能である。ＭＣＵ３は、これらの情報を電子機器１１のコンピュータ１３に送信する。
【０１４５】
コンピュータ１３は、電子機器１１の仕様に応じて、これらの情報を処理する。例えば、コンピュータ１３は、動体をターゲットとした処理ないしは制御を実行する。この場合、例えば、コンピュータ１３は、電子機器１１としての表示装置の画面を動体の方に向けたり、電子機器１１としてのエアコンディショナの送風口を動体の方に向ける。
【０１４６】
また、例えば、コンピュータ１３は、動体が存在しない状態から動体が存在する状態への変化をトリガとして、電子機器１１を起動又は停止する。例えば、コンピュータ１３は、動体が存在する状態から動体が存在しない状態への変化をトリガとして、電子機器１１を起動又は停止する。
【０１４７】
画像処理モードの切り替えについて説明する。輪郭検出モードでは、ＭＣＵ３は、輪郭画像の面積が、所定の閾値ＴＨＢを超えている場合は、被写体が近くに存在すると判断し、輪郭検出モードを維持し、輪郭画像の面積が、所定の閾値ＴＨＢ以下の場合は、被写体が遠くに存在すると判断し、動体検出モードに移行する。
【０１４８】
一方、動体検出モードでは、イメージセンサ５は、動体検出用画像を出力した後、次の動体検出撮影処理の開始前に、輪郭検出モードの撮影処理と同じ処理を実行して、差分画像を生成する。ＭＣＵ３は、差分画像中の輪郭画像の面積が、所定の閾値ＴＨＢを超えている場合は、被写体が近くに存在すると判断し、輪郭検出モードに移行し、輪郭画像の面積が、所定の閾値ＴＨＢ以下の場合は、被写体が遠くに存在すると判断し、動体検出モードを維持する。
【０１４９】
さて、次に、図１の画像処理モジュール１を構成するハードウェアの詳細を説明する。
【０１５０】
図２３は、図１の画像処理モジュール１の詳細な電気的構成を示す図である。図２３を参照して、画像処理モジュール１は、基板５８を備える。基板５８には、ＭＣＵ３、イメージセンサ５、赤外発光ダイオード７、コネクタ３０、コンデンサ３１，３２，３４，３６，４０、抵抗素子３８，４８、及び、ＮＰＮ型トランジスタ４４がマウントされる。
【０１５１】
ＭＣＵ３とイメージセンサ５とはバス５６によって接続される。このバス５６を通じて、ＭＣＵ３とイメージセンサ５との間で、信号やデータの送受信が行なわれる。バス５６は、ビジー信号のための信号線（後述の図２０（ａ）参照）、リード信号のための信号線（後述の図２０（ｂ）参照）、及び、画素データＤのためのデータ線（後述の図２０（ｃ）参照）等を含む。
【０１５２】
ＭＣＵ３には、電源線５２から電源電圧Ｖｃｃが与えられる。電源線５２とグラウンドとの間には、３つのバイパスコンデンサ３４が並列に接続され、ノイズを除去する。また、ＭＣＵ３の内部に設けられたレギュレータ（図示せず）の発振を防止するため、並列に接続されたコンデンサ３６が設けられる。ただし、これらのコンデンサ３６は、ＭＣＵ３の仕様に応じて、不要な場合もある。
【０１５３】
さらに、電源線５２とグラウンドとの間に、抵抗素子３８及びコンデンサ４０が直列に接続され、遅延回路を構成する。抵抗素子３８及びコンデンサ４０の接続点は、ＭＣＵ３のリセット端子に接続される。ＭＣＵ３は、リセット端子の電位がローレベルになった時に、リセット処理を実行する。遅延回路は、電源投入時に直ちにリセット端子がハイレベルになることを防止するものであり、ＭＣＵ３の仕様に応じて不要な場合もある。
【０１５４】
イメージセンサ５には、電源線５２から電源電圧Ｖｃｃが与えられる。電源線５２とグラウンドとの間には、２つのバイパスコンデンサ３１が並列に接続され、ノイズを除去する。また、電源線５０とグラウンドとの間に、赤外発光ダイオード７及び抵抗素子４８が直列に接続される。そして、トランジスタ４４のベースは、イメージセンサ５の制御端子に接続される。イメージセンサ５の制御端子がハイレベルのときにトランジスタ４４はオンし、これにより、赤外発光ダイオード７がオンして、赤外光を発光する。一方、イメージセンサ５の制御端子がローレベルのときにトランジスタ４４はオフし、これにより、赤外発光ダイオード７がオフして、赤外光の発光を停止する。このように、トランジスタ４４は、スイッチングトランジスタとして機能すると共に、それがオンのときに、赤外発光ダイオード７に流れる電流を増幅する。ただし、トランジスタ４４は、必須のものではなく、イメージセンサ５の制御端子に、赤外発光ダイオード７のアノードを直接接続することもできる。
【０１５５】
コネクタ３０の電源端子Ｔ１（後述の図２４（ａ）参照）は、電源線５０に接続される。外部の電子機器１１から電源端子Ｔ１に電源電圧Ｖｃｃ（例えば３．３Ｖ）が与えられ、電源線５０に供給される。また、コネクタ３０の電源端子Ｔ２（後述の図２４（ａ）参照）は、電源線５２に接続される。外部の電子機器１１から電源端子Ｔ２に電源電圧Ｖｃｃ（例えば３．３Ｖ）が与えられ、電源線５２に供給される。電源線５２とグラウンドとの間には、バイパスコンデンサ３２が設けられ、ノイズを除去する。また、コネクタ３０のグラウンド端子Ｔ７（後述の図２４（ａ）参照）は、グラウンドに接続される。
【０１５６】
また、コネクタ３０の端子Ｔ３〜Ｔ６は、信号線５４に接続され、信号線５４は、ＭＣＵ３に接続される。本実施の形態では、信号線５４は、４本の信号線を含む。信号線５４の一本は、コネクタ３０の端子Ｔ３（後述の図２４（ａ）参照）に接続される。コンピュータ１３は、端子Ｔ３にクロック信号を与え、ＭＣＵ３との同期をとる。信号線５４の他の一本は、コネクタ３０の端子Ｔ４（後述の図２４（ａ）参照）に接続される。コンピュータ１３は、端子Ｔ４にスレイブセレクト信号を与える（後述の図２２（ａ）参照）。信号線５４のさらに他の一本（すなわち、後述の図２２（ｂ）のデータ入力線）は、コネクタ３０の端子Ｔ５（後述の図２４（ａ）参照）に接続される。信号線５４のさらに他の一本（すなわち、後述の図２２（ｃ）のデータ出力線）は、コネクタ３０の端子Ｔ６（後述の図２４（ａ）参照）に接続される。
【０１５７】
図２４（ａ）は、図１の画像処理モジュール１の平面図である。図２４（ｂ）は、図１の画像処理モジュール１の側面図である。図２４（ｃ）は、図１の画像処理モジュール１の外観平面図である。図２４（ａ）及び図２４（ｂ）を参照して、端子Ｔ１〜Ｔ７を有するコネクタ３０、赤外発光ダイオード７、ＭＣＵ３、及び、レンズユニット６２は、この順番で基板５８上に直線上に配置される。もちろん、これらの配置及び順番は、これに限定されるものではなく、任意に配置されてよい。
【０１５８】
また、図２４（ｃ）も参照して、コネクタ３０、赤外発光ダイオード７、ＭＣＵ３、及び、レンズユニット６２がマウントされた基板５８は、ハウジング６０内に配置される。ハウジング６０において、赤外発光ダイオード７の上部には、断面ラッパ状の開口が形成され、ここから赤外発光ダイオード７の発光部が外部に露出する。さらに、ハウジング６０において、レンズユニット６２の上部には、開口６６を覆うように、つまり、筒状部材７０（後述の図２５参照）のヘッド（レンズ７２）を覆うように、赤外光のみを透過する赤外光フィルタ６４が設けられる。これにより、レンズユニット６２の内部に配置されたイメージセンサ５には、赤外光のみが入射する。
【０１５９】
なお、ハウジング６０は、必須のものではない。ハウジング６０を設けない場合には、赤外光フィルタ６４は、例えば、赤外光フィルタ６４を保持する専用の基台を作成し、これを基板５８に固定する。また、例えば、後述の図２５の基台６８を設計変更して赤外光フィルタ６４の基台として用いてもよい。これらの固定方法は、ハウジング６０を設ける場合であっても利用可能である。
【０１６０】
図２５は、図２４（ａ）のレンズユニット６２のＡ−Ａ線による断面図である。図２５を参照して、レンズユニット６２は、凸レンズ７２及びそれを保持するレンズホルダ７３を含む。レンズホルダ７３は、基台６８及び筒状部材７０を含む。基台６８及び筒状部材７０の内部は空洞である。筒状部材７０のヘッド部の上端には、開口６６（図２４（ａ）参照）が形成される。この開口６６の直下において、筒状部材７０は、レンズ７２を保持する。
【０１６１】
また、筒状部材７０の胴部の外周には、ねじ山（雄ねじ）が形成される。一方、基台６８の内周は、筒状部材７０の胴部のねじ山と螺合可能なように、ねじ山（雌ねじ）が形成される。これにより、基板５８に対して、筒状部材７０を上下動させることができる。また、基台６８は、基板５８上に固定される。
【０１６２】
イメージセンサ５は、レンズ７２の光軸７４がイメージセンサ５の中心を通るように、基台６８の内部で基板５８に固定される。そして、レンズ７２のベストフォーカス領域が、イメージセンサ５の撮影面にくるように、筒状部材７０が基台６８に固定される。このような調整は、筒状部材７０を上下動させることにより行い、筒状部材７０が接着剤により最適な位置で基台６８に固定される。このような調整は、製造する際のレンズ７２の形状のばらつき、レンズ７２を筒状部材７０へ固定する際のばらつき、及び、製造する際のイメージセンサ５のばらつき等を吸収するために行なわれる。
【０１６３】
さて、次に、フローチャートを用いて画像処理モジュール１のＭＣＵ３の処理の詳細を説明する。
【０１６４】
図２は、図１のＭＣＵ３による全体処理の流れの一例を示すフローチャートである。図２を参照して、ステップＳ７０１にて、ＭＣＵ３は、レジスタや変数等を初期化する。なお、後述する変数Ｎは０に初期化される。ステップＳ７０３にて、ＭＣＵ３は、コンピュータ１３が出力するスレイブセレクト信号の立下りエッジを検出したか否かを判断し、検出していない場合ステップＳ７０３に戻り、検出した場合ステップＳ７０５に進む。ステップＳ７０５にて、ＭＣＵ３は、コンピュータ１３から開始コマンドを受信したか否かを判断し、受信していない場合ステップＳ７０５に戻り、受信した場合ステップＳ７０７に進む。なお、開始コマンドは、ＭＣＵ３とコンピュータ１３とを接続するデータ入力線を介して与えられる。また、コンピュータ１３は、開始コマンドをＭＣＵ３に送信した後、スレイブセレクト信号をハイレベルにする。
【０１６５】
ステップＳ７０７にて、ＭＣＵ３は、イメージセンサ５の制御を実行する。ステップＳ７０９にて、ＭＣＵ３は、画像処理モードが、輪郭検出モードの場合ステップＳ７１１に進み、動体検出モードの場合ステップＳ７１３に進む。ステップＳ７１１では、ＭＣＵ３は、輪郭検出処理を実行する。一方、ステップＳ７１３では、ＭＣＵ３は、動体検出処理を実行する。
【０１６６】
ステップＳ７１４では、ＭＣＵ３は、スレイブセレクト信号の立下りエッジを検出したか否かを判断し、検出した場合ステップＳ７１５に進み、それ以外はステップＳ７１４に戻る。ステップＳ７１５にて、ＭＣＵ３は、コンピュータ１３からリードコマンドを受信したか否かを判断し、受信していない場合ステップＳ７１５に戻り、受信した場合ステップＳ７１７に進む。なお、リードコマンドは、ＭＣＵ３とコンピュータ１３とを接続するデータ入力線を介して与えられる。ステップＳ７１７では、ＭＣＵ３は、ステップＳ７１１又はＳ７１３の結果を、コンピュータ１３に送信する。なお、コンピュータ１３は、ＭＣＵ３からデータを受け取った後、スレイブセレクト信号をハイレベルにする。ステップＳ７１９にて、ＭＣＵ３は、画像処理モードの切替処理を実行して、ステップＳ７０７に進む。
【０１６７】
図３は、図２のステップＳ７０７のイメージセンサ５の制御の流れの一例を示すフローチャートである。図３を参照して、ステップＳ３にて、ＭＣＵ３は、現在の画像処理モードが輪郭検出モードである場合ステップＳ５に進み、動体検出モードである場合ステップＳ２９に進む。コンピュータ１３は、一定時間間隔で（例えば、１／３０秒）、該指示をＭＣＵ３に与える。
【０１６８】
ステップＳ５にて、ＭＣＵ３は、イメージセンサ５の撮影モードを差分モード（第１撮影モード）に設定する。ステップＳ７にて、ＭＣＵ３は、イメージセンサ５の露光時間ＥＴを一定値に設定する。ステップＳ９にて、ＭＣＵ３は、イメージセンサ５に対して、赤外発光ダイオード７の点灯を指示する。すると、イメージセンサ５は、赤外発光ダイオード７をオンし、これにより、赤外発光ダイオード７は、赤外光を発光する。
【０１６９】
ステップＳ１１にて、ＭＣＵ３は、イメージセンサ５の露光（撮影）開始を指示する。ステップＳ１３にて、ＭＣＵ３は、露光時間ＥＴが終了した場合ステップＳ１５に進み、終了していない場合ステップＳ１３に戻る。ステップＳ１５にて、ＭＣＵ３は、イメージセンサ５の露光（撮影）終了を指示する。
【０１７０】
ステップＳ１７にて、ＭＣＵ３は、赤外発光ダイオード７の点灯時間が終了した場合ステップＳ１９に進み、終了していない場合ステップＳ１７に戻る。ステップＳ１９にて、ＭＣＵ３は、イメージセンサ５に対して、赤外発光ダイオード７の消灯を指示する。すると、イメージセンサ５は、赤外発光ダイオード７をオフし、これにより、赤外発光ダイオード７は、発光を停止する。
【０１７１】
ステップＳ２１にて、ＭＣＵ３は、イメージセンサ５の露光（撮影）開始を指示する。ステップＳ２３にて、ＭＣＵ３は、露光時間ＥＴが終了した場合ステップＳ２５に進み、終了していない場合ステップＳ２３に戻る。ステップＳ２５にて、ＭＣＵ３は、イメージセンサ５の露光（撮影）終了を指示する。
【０１７２】
ステップＳ２７にて、ＭＣＵ３は、イメージセンサ５から、赤外発光ダイオード７の点灯時画像と消灯時画像との差分画像データ（６４×６４の画素データ）を取得し、順次２値化して、配列ＰＤ［Ｘ］［Ｙ］（画素データＰＤ［Ｘ］［Ｙ］と呼ぶこともある。Ｘ＝０〜６３、Ｙ＝０〜６３）に格納して、リターンする。
【０１７３】
図４は、図３のステップＳ２７の差分画像データ取得処理の流れの一例を示すフローチャートである。図２０（ａ）〜図２０（ｃ）は、差分画像データ取得処理の際の信号送受信の説明図である。
【０１７４】
図４を参照して、ステップＳ６１にて、ＭＣＵ３は、変数Ｘ（＝０〜６３），Ｙ（＝０〜６３），及びＰＤ［Ｘ］［Ｙ］に、０を代入する。なお、矩形の差分画像の左上角を原点Ｏとし、原点Ｏから右方向に延びる水平軸をＸ軸とし、原点Ｏから下方向に延びる垂直軸をＹ軸とする。
【０１７５】
ステップＳ６３にて、ＭＣＵ３は、イメージセンサ５からのビジー信号（図２０（ａ）参照）がローレベルか否かを判断し、ローレベルの場合ステップＳ６５に進み、ハイレベルの場合ステップＳ６３に戻る。ステップＳ６５にて、ＭＣＵ３は、イメージセンサ５に与えているリード信号（図２０（ｂ）参照）をローレベルに設定する。ステップＳ６７にて、ＭＣＵ３は、イメージセンサ５から差分画像の画素データＤ（１画素に対応）を読み込む（図２０（ｃ）参照）。
【０１７６】
ステップＳ６９にて、ＭＣＵ３は、一定時間ｔ０が経過したか否かを判断し、経過した場合ステップＳ７１に進み、経過していない場合ステップＳ６９に戻る。ステップＳ７１にて、ＭＣＵ３は、リード信号（図２０（ｂ）参照）をハイレベルに設定する。ステップＳ７３にて、ＭＣＵ３は、画素データＤと所定の閾値ＴＨＡとを比較する。ステップＳ７５にて、ＭＣＵ３は、画素データＤが閾値ＴＨＡより大きい場合ステップＳ７７に進み、それ以下の場合ステップＳ７９に進む。ステップＳ７７では、ＭＣＵ３は、配列ＰＤ［Ｘ］［Ｙ］に「１」（被写体の像の画素）を代入する。一方、ステップＳ７９では、ＭＣＵ３は、配列ＰＤ［Ｘ］［Ｙ］に「０」（背景の画素）を代入する。このようにして、イメージセンサ５からの差分画像の各画素は順次２値化される。
【０１７７】
ステップＳ８１にて、ＭＣＵ３は、変数Ｘを１つインクリメントする。ステップＳ８３にて、ＭＣＵ３は、変数Ｘの値が６４になったか否かを判断し、６４の場合ステップＳ８５に進み、それ以外はステップＳ８９に進む。ステップＳ８５では、ＭＣＵ３は、変数Ｙを１つインクリメントする。ステップＳ８７にて、ＭＣＵ３は、変数Ｙの値が６４になったか否かを判断し、６４の場合全ての画素を読み込んだのでリターンし、それ以外はステップＳ８９に進む。ステップＳ８９では、ＭＣＵ３は、ビジー信号（図２０（ａ）参照）の立ち上がりエッジを検出した場合ステップＳ６１に進み、それ以外はステップＳ８９に戻る。
【０１７８】
以上のように、ＭＣＵ３は、画素を読み込むたびに順次２値化して、２値化された差分画像データを得る。
【０１７９】
図３に戻って、ステップＳ２９では、ＭＣＵ３は、イメージセンサ５の撮影モードを標準モード（第２撮影モード）に設定する。ステップＳ３１にて、ＭＣＵ３は、イメージセンサ５に対して、赤外発光ダイオード７の消灯を指示する。すると、イメージセンサ５は、赤外発光ダイオード７をオフし、これにより、赤外発光ダイオード７は、発光を停止する。
【０１８０】
ステップＳ３３にて、ＭＣＵ３は、イメージセンサ５の露光（撮影）開始を指示する。ステップＳ３５にて、ＭＣＵ３は、露光時間ＥＴが終了した場合ステップＳ３７に進み、終了していない場合ステップＳ３５に戻る。ステップＳ３７にて、ＭＣＵ３は、イメージセンサ５の露光（撮影）終了を指示する。
【０１８１】
ステップＳ３９にて、ＭＣＵ３は、イメージセンサ５から、赤外発光ダイオード７の消灯時の画像データ（６４×６４の画素データ）を取得して、配列ＰＳ［Ｘ］［Ｙ］（画素データＰＳ［Ｘ］［Ｙ］と呼ぶこともある。Ｘ＝０〜６３、Ｙ＝０〜６３）に格納する。ステップＳ３９の画像データ取得処理は、図４の差分画像データ取得処理と同様である。ただし、図４のステップＳ７３〜Ｓ７９の処理に代えて、イメージセンサ５からの画素データＤは、２値化せずにそのまま、配列ＰＳ［Ｘ］［Ｙ］に格納される。また、図４の説明において、差分画像を画像と読み替え、配列ＰＤ［Ｘ］［Ｙ］を配列ＰＳ［Ｘ］［Ｙ］と読み替える。この場合、矩形の画像の左上角を原点Ｏとし、原点Ｏから右方向に延びる水平軸をＸ軸とし、原点Ｏから下方向に延びる垂直軸をＹ軸とする。
【０１８２】
ステップＳ４１にて、ＭＣＵ３は、画素データＰＳ［Ｘ］［Ｙ］の平均値を算出する。ステップＳ４３にて、ＭＣＵ３は、イメージセンサ５の露光時間ＥＴを、ステップＳ４１で求めた平均値に応じた値に設定する。画素データＰＳ［Ｘ］［Ｙ］は輝度値であるので、その平均値は、撮影空間（撮影される空間）の明るさを表す指標になる。従って、イメージセンサ５は、該平均値が大きく撮影空間が明るいほど露光時間ＥＴを短く設定し、該平均値が小さく撮影空間が暗いほど露光時間ＥＴを長く設定する。このように、動体検出モードでは、ステップＳ３５の露光時間ＥＴは、撮影空間の明るさに応じて動的に設定される。
【０１８３】
ステップＳ４４にて、ＭＣＵ３は、変数Ｎを１つインクリメントする。ステップＳ４５にて、ＭＣＵ３は、変数Ｎの値が３になったか否かを判断し、値が３の場合、画像処理モードの切り替えのための撮影処理を行なうため、ステップＳ５に進み、それ以外はリターンする。つまり、動体検出モードでは、画像処理モードの切り替えのための撮影処理の周期は、輪郭検出モードでの輪郭検出及び動体検出モードでの動体検出のための撮影処理の周期の３倍であり、より長く設定される。よって、消費電力を抑制できる。なお、コンピュータ１３が、動体検出モードでの画像処理モードの切り替えのための撮影処理の指示を出すこともできる。
【０１８４】
動体検出モードでは、ステップＳ４５での肯定評価（ＹＥＳ）の後のステップＳ５〜Ｓ２５の結果であるステップＳ２７の差分画像データは、画像処理モードの切替判定のためだけに使用される（後述の図５参照）。
【０１８５】
図５は、図１のＭＣＵ３による画像処理モードの切り替え処理の流れの一例を示すフローチャートである。図５を参照して、ステップＳ９９にて、ＭＣＵ３は、現在の画像処理モードが、輪郭検出モードの場合ステップＳ１０１に進み、動体検出モードの場合ステップＳ１００に進む。ステップＳ１００では、ＭＣＵ３は、変数Ｎの値が３か否かを判断し、値が３の場合ステップＳ１０１に進み、それ以外はリターンする。
【０１８６】
ステップＳ１０１にて、ＭＣＵ３は、変数Ｘ，Ｙ及びＡに０を代入する。ステップＳ１０３にて、ＭＣＵ３は、差分画像の画素データＰＤ［Ｘ］［Ｙ］が「１」か否かを判断し、「１」の場合ステップＳ１０５に進み、「０」の場合ステップＳ１０７に進む。ステップＳ１０５では、ＭＣＵ３は、変数Ａを１つインクリメントする。
【０１８７】
ステップＳ１０７にて、ＭＣＵ３は、変数Ｘを１つインクリメントする。ステップＳ１０９にて、ＭＣＵ３は、変数Ｘの値が６４になったか否かを判断し、６４場合ステップＳ１１１に進み、それ以外はステップＳ１０３に戻る。ステップＳ１１１では、ＭＣＵ３は、変数Ｙを１つインクリメントする。ステップＳ１１３にて、ＭＣＵ３は、変数Ｙの値が６４になったか否かを判断し、６４の場合ステップＳ１１５に進み、それ以外はステップＳ１０３に戻る。
【０１８８】
ステップＳ１１５にて、ＭＣＵ３は、差分画像に写り込んだ被写体の像の面積を表す変数Ａの値が所定の閾値ＴＨＢより大きいか否かを判断し、大きい場合ステップＳ１１７に進み、それ以下の場合ステップＳ１１９に進む。ステップＳ１１７では、ＭＣＵ３は、被写体が近距離に存在すると判断して、画像処理モードを輪郭検出モードに設定する。ステップＳ１１８にて、ＭＣＵ３は、図３の変数Ｎに０を代入して、ステップＳ１０１に進む。一方、ステップＳ１１９では、ＭＣＵ３は、被写体が遠距離に存在すると判断して、画像処理モードを動体検出モードに設定してステップＳ１０１に進む。
【０１８９】
図６は、図１のＭＣＵ３による動体検出モードでの処理の流れの一例を示すフローチャートである。図６を参照して、ステップＳ１４１にて、ＭＣＵ３は、変数ｋ，Ｘ，Ｙ，ＡＸ，ＡＹ，ＴＸ，ＴＹ，及びＳ［Ｘ］［Ｙ］に０を代入する。ステップＳ１４３にて、ＭＣＵ３は、動体フラグをオフにする。動体フラグは、動体が検出されたときにオンにされるフラグである。
【０１９０】
ステップＳ１４５にて、ＭＣＵ３は、現在の画像の画素値ＰＳ［Ｘ］［Ｙ］と前回取得した画像の画素値ＰＳ［Ｘ］［Ｙ］との差分値ＤＩＦを算出する。ステップＳ１４７にて、ＭＣＵ３は、差分値ＤＩＦが所定の閾値ＴＨＣより大きいか否かを判断し、大きい場合ステップＳ１４９に進み、それ以下の場合ステップＳ１５１に進む。ステップＳ１４９では、ＭＣＵ３は、変数Ｓ［Ｘ］［Ｙ］の現在の値に一定値ＩＣ（＞０）を加算して、変数Ｓ［Ｘ］［Ｙ］に代入する。一方、ステップＳ１５１では、ＭＣＵ３は、変数Ｓ［Ｘ］［Ｙ］の現在の値から一定値ＤＣ（＞０）を減算して、変数Ｓ［Ｘ］［Ｙ］に代入する。この場合、ＤＣ＜ＩＣ、である。
【０１９１】
ステップＳ１５３にて、ＭＣＵ３は、変数Ｓ［Ｘ］［Ｙ］の値が閾値ＴＨＨより小さく、かつ、閾値ＴＨＬより大きいか否かを判断し、肯定的判断の場合、画素値ＰＳ［Ｘ］［Ｙ］の変化が有効と判断し、ステップＳ１５５に進み、否定的判断の場合、画素値ＰＳ［Ｘ］［Ｙ］の変化が無効（ノイズ）と判断し、ステップＳ１６１に進む。変数Ｓ［Ｘ］［Ｙ］の値は、対応する画素値ＰＳ［Ｘ］［Ｙ］が変化した頻度を示す指標であり、この値が大きいほど変化の頻度が高く、この値が小さいほど変化の頻度が低い。従って、画素値ＰＳ［Ｘ］［Ｙ］が変化した頻度が高すぎる場合、又は、画素値ＰＳ［Ｘ］［Ｙ］が変化した頻度が低すぎる場合は、その変化をノイズと判断して、ステップＳ１５５に進むことなく、ステップＳ１６１に進む。
【０１９２】
ステップＳ１５５では、ＭＣＵ３は、動体フラグをオンにする。ステップＳ１５７では、ＭＣＵ３は、変数ｋを１つインクリメントする。変数ｋは、画素値ＰＳ［Ｘ］［Ｙ］の変化が有効と判断された画素の数を示す。ステップＳ１５９にて、ＭＣＵ３は、変数ＡＸの現在の値に変数Ｘの値を加算して、変数ＡＸに代入する。また、ＭＣＵ３は、変数ＡＹの現在の値に変数Ｙの値を加算して、変数ＡＹに代入する。
【０１９３】
ステップＳ１６１にて、ＭＣＵ３は、変数Ｘを１つインクリメントする。ステップＳ１６３にて、ＭＣＵ３は、変数Ｘの値が６４になったか否かを判断し、６４の場合ステップＳ１６５に進み、それ以外はステップＳ１４５に進む。ステップＳ１６５では、ＭＣＵ３は、変数Ｙを１つインクリメントする。ステップＳ１６７にて、ＭＣＵ３は、変数Ｙの値が６４になったか否かを判断し、６４の場合ステップＳ１６９に進み、それ以外はステップＳ１４５に進む。
【０１９４】
ステップＳ１６９では、ＭＣＵ３は、変数ＡＸの値を変数ｋの値で除したものを変数ＴＸに格納し、変数ＡＹの値を変数ｋの値で除したものを変数ＴＹに格納する。座標（ＴＸ，ＴＹ）は、イメージセンサ５からの画像に含まれる動体の像の座標である。ステップＳ１７１にて、ＭＣＵ３は、画素値ＰＳ［Ｘ］［Ｙ］の合計値を求め、これをイメージセンサ５の露光時間ＥＴ（図３のステップＳ４３）で除することにより、撮影空間の輝度を求める。そして、ＭＣＵ３は、リターンする。
【０１９５】
ここで、動体検出モードでは、図２のステップＳ７１７では、ＭＣＵ３は、動体フラグ、動体の座標（ＴＸ，ＴＹ）、及び撮影空間の輝度を電子機器１１のコンピュータ１３に送信する。
【０１９６】
図７は、図１のＭＣＵ３による輪郭検出モードでの処理の流れの一例を示すフローチャートである。図７を参照して、ステップＳ１９１にて、ＭＣＵ３は、差分画像データ（ＰＤ［Ｘ］［Ｙ］）から被写体の像の輪郭線を抽出する。この処理では、輪郭線上の各画素Ｐｊ（ｊ＝０〜Ｊ−１）の座標（ＸＯ［ｊ］，ＹＯ［ｊ］）を求める。
【０１９７】
ここで、本実施の形態では、値Ｊは、輪郭線上の画素Ｐｊの総数を示す。また、反時計回りに輪郭線の抽出処理が実行されるものとする。
【０１９８】
輪郭線を抽出するためのアルゴリズムは、周知のものを使用できる。例えば、３×３の小画素領域からなるマスクを用いる方法で、このマスクの中心を輪郭線上にたえずおきならが、順次、マスクを移動して、輪郭線を抽出する。
【０１９９】
ステップＳ１９３にて、ＭＣＵ３は、抽出した輪郭線上の各画素ＰｊのベクトルＶｊの偏角θｊを算出する。
【０２００】
図１６は、図７のステップＳ１９３で検出される偏角θｊの説明図である。図１６を参照して、今、被写体の輪郭線上の３つの画素Ｐｊ−１，Ｐｊ，及びＰｊ＋１に注目する。また、輪郭線を反時計回りにスキャンするものとする。画素ＰｊのベクトルＶｊは、画素Ｐｊから次の画素Ｐｊ＋１に向かうベクトルとして定義される。画素ＰｊのベクトルＶｊの偏角θｊは、画素Ｐｊの１つ前の画素Ｐｊ−１のベクトルＶｊ−１に対してベクトルＶｊがなす角度として定義される。反時計回りの偏角θｊの符号は正であり、時計回りの偏角θｊの符号は負である。
【０２０１】
図７に戻って、ステップＳ１９５にて、ＭＣＵ３は、抽出した輪郭線の変曲点を検出する。変曲点は、輪郭線の向きが変化する点であり、凸点と凹点とが定義される。
【０２０２】
図１７は、図７のステップＳ１９５で検出される変曲点の説明図である。図１７を参照して、抽出した輪郭線２１の向きが変化する点として、変曲点Ｉ０〜Ｉ８が挙げられる。変曲点Ｉ０，Ｉ２，Ｉ４，Ｉ６及びＩ８は凸点である。変曲点Ｉ１，Ｉ３，Ｉ５及びＩ７は凹点である。
【０２０３】
図７に戻って、ステップＳ１９７にて、ＭＣＵ３は、抽出した輪郭線（輪郭画像）の形状（グー、チョキ、パー、不定）を判定する。ステップＳ１９９にて、ＭＣＵ３は、抽出した輪郭線（輪郭画像）の回転を検出して、リターンする。
【０２０４】
ここで、輪郭検出モードでは、図２のステップＳ７１７では、ＭＣＵ３は、ステップＳ１９１〜Ｓ１９９の結果（輪郭画像の重心座標、面積、形状、回転角度、及び、回転方向）を電子機器１１のコンピュータ１３に送信する。
【０２０５】
図８は、図７のステップＳ１９５の変曲点の検出処理の流れの一例を示すフローチャートである。図８を参照して、ステップＳ２２１にて、ＭＣＵ３は、変数ＤＡ，ＡＤＡ，ｊ，及びＣＦ［ｊ］に０を代入する。ステップＳ２２３にて、ＭＣＵ３は、図７のステップＳ１９３で検出された輪郭線上の画素Ｐｊの偏角θｊをメモリ９から取得する。ステップＳ２２５にて、ＭＣＵ３は、変数ＤＡの現在の値に偏角θｊを加算して、変数ＤＡに代入する。ステップＳ２２７にて、ＭＣＵ３は、変数ＤＡの絶対値を求めて、変数ＡＤＡに代入する。
【０２０６】
ステップＳ２２９にて、ＭＣＵ３は、変数ＡＤＡの値が１３５度になったか否かを判断し、１３５度の場合輪郭線の向きが変わったと判断して、画素Ｐｊを変曲点とみなしてステップＳ２３１に進み、それ以外はステップＳ２３７に進む。ステップＳ２３１では、ＭＣＵ３は、変数ＤＡの符号が正か否かを判断し、正の場合ステップＳ２３３に進み、負の場合ステップＳ２３５に進む。ステップＳ２３３では、ＭＣＵ３は、凸凹フラグＣＦ［ｊ］に、変曲点が凸点であることを示す０１を代入する。一方、ステップＳ２３５では、ＭＣＵ３は、変曲点が凹点であることを示す１０を代入する。
【０２０７】
ステップＳ２３６にて、ＭＣＵ３は、変数ＤＡに０を代入する。ステップＳ２３７にて、ＭＣＵ３は、変数ｊを１つインクリメントする。ステップＳ２３９にて、ＭＣＵ３は、変数ｊの値が、値Ｊと等しくなったか否かを判断し、ｊ＝Ｊの場合リターンし、それ以外はステップＳ２２３に進む。
【０２０８】
図９は、図７のステップＳ１９７の輪郭画像の形状を判定する処理の流れの一例を示すフローチャートである。図９を参照して、ステップＳ２６１にて、ＭＣＵ３は、輪郭線に関する情報を算出する。ステップＳ２６３にて、ＭＣＵ３は、輪郭画像から手の指先に相当する画素を検出する。
【０２０９】
再び、図１７を参照して、凸点Ｉ０，Ｉ２，Ｉ４，Ｉ６及びＩ８を総称して、凸点Ａｓ（ｓ＝０，１，…，Ｓ）と表記し、凹点Ｉ１，Ｉ３，Ｉ５及びＩ７を総称して、凹点Ｂｔ（ｔ＝０，１，…，Ｔ）と表記する。ＭＣＵ３は、凸点Ａｓから一定画素数Ｎｐだけ離れて位置する２つの画素を結ぶ線分２３を求め、凸点Ａｓから線分２３に下ろした垂線２５の長さＬｖを算出する。ＭＣＵ３は、長さＬｖが、所定値ＣＬを超えている場合に、その凸点Ａｓを指先の候補とする。
【０２１０】
そして、ＭＣＵ３は、指先の候補とした凸点Ａｓの両側又は一方側に凹点Ｂｔが存在するか否かを判断し、存在する場合、その凸点Ａｓを指先とみなす。
【０２１１】
また、ＭＣＵ３は、「パー」及び「グー」を判定するのに必要な傾角θｖを算出する。傾角θｖは、指先とみなされた凸点Ａｓから線分２３に下ろした垂線２５が、差分画像のＸ軸と平行な線２７となす角である。
【０２１２】
図９に戻って、ステップＳ２６５にて、ＭＣＵ３は、輪郭画像の形状が「パー」をした手の形状であるか否かを判定する。ステップＳ２６７にて、ＭＣＵ３は、輪郭画像の形状が「チョキ」をした手の形状であるか否かを判定する。ステップＳ２６９にて、ＭＣＵ３は、輪郭画像の形状が「グー」をした手の形状であるか否かを判定してリターンする。
【０２１３】
図１０は、図９のステップＳ２６１の輪郭情報を算出する処理の流れの一例を示すフローチャートである。図１０を参照して、ステップＳ２９１にて、ＭＣＵ３は、変数ＸＧ，ＹＧ及びｊに０を代入する。ステップＳ２９３にて、ＭＣＵ３は、変数ＸＧの現在の値に輪郭線上の画素ＰｊのＸ座標ＸＯ［ｊ］を加算したものを、変数ＸＧに代入する。また、ＭＣＵ３は、変数ＹＧの現在の値に輪郭線上の画素ＰｊのＹ座標ＹＯ［ｊ］を加算したものを、変数ＸＧに代入する。ステップＳ２９５にて、ＭＣＵ３は、変数ｊを１つインクリメントする。ステップＳ２９７にて、ＭＣＵ３は、変数ｊの値が値Ｊになったか否かを判断し、値Ｊになった場合ステップＳ２９９に進み、それ以外はステップＳ２９３に進む。
【０２１４】
ステップＳ２９９にて、ＭＣＵ３は、変数ＸＧの値を値Ｊで除したものを、変数Ｘｇに代入する。また、ＭＣＵ３は、変数ＹＧの値を値Ｊで除したものを、変数Ｙｇに代入する。座標（Ｘｇ，Ｙｇ）は、輪郭画像の重心座標を示す。
【０２１５】
ステップＳ３０１にて、ＭＣＵ３は、変数ｊ，ＬＳ及びＬ［ｊ］に０を代入する。ステップＳ３０３にて、ＭＣＵ３は、次式により、重心座標（Ｘｇ，Ｙｇ）と輪郭線上の各画素Ｐｊの座標（ＸＯ［ｊ］，ＹＯ［ｊ］）との間の距離Ｌ［ｊ］を算出する。
【０２１６】
Ｌ［ｊ］←√（（Ｘｇ−ＸＯ［ｊ］）２＋（Ｙｇ−ＹＯ［ｊ］）２）
【０２１７】
ステップＳ３０５にて、ＭＣＵ３は、変数ＬＳの現在の値に変数Ｌ［ｊ］の値を加算したものを、変数ＬＳに代入する。ステップＳ３０７にて、ＭＣＵ３は、次式により、重心座標（Ｘｇ，Ｙｇ）と輪郭線上の各画素Ｐｊ座標（ＸＯ［ｊ］，ＹＯ［ｊ］）とを結ぶ線分がＸ軸と平行な線となす角、つまり、傾角θｃ［ｊ］を算出する。この場合、小数点以下の角度は切り捨てる。
【０２１８】
θｃ［ｊ］←ｔａｎ−１（（ＹＯ［ｊ］−Ｙｇ）／（ＸＯ［ｊ］−Ｘｇ））
【０２１９】
ステップＳ３０９にて、ＭＣＵ３は、傾角θｃ［ｊ］及び距離Ｌ［ｊ］に基づいて、回転テーブルを作成する。
【０２２０】
図１８は、図１０のステップＳ３０９で作成される回転テーブルの例示図である。図１８を参照して、ＭＣＵ３は、輪郭線上の画素Ｐｊの傾角θｃ［ｊ］と距離Ｌ［ｊ］とを関連付けて、回転テーブルを作成する。
【０２２１】
図１０に戻って、ステップＳ３１１にて、ＭＣＵ３は、変数ｊを１つインクリメントする。ステップＳ３１３にて、ＭＣＵ３は、変数ｊの値が値Ｊになったか否かを判断し、値Ｊになった場合ステップＳ３１５に進み、それ以外はステップＳ３０３に進む。ステップＳ３１５にて、ＭＣＵ３は、変数ＬＳの値を値Ｊで除することにより、距離Ｌ［ｊ］の平均値ＡＶＬを算出する。ステップＳ３１７にて、ＭＣＵ３は、輪郭線及び輪郭線内の画素を計数して、輪郭画像の面積を算出する。ステップＳ３１９にて、ＭＣＵ３は、線形補間により、図１８の回転テーブルを完成する。つまり、回転テーブルには、ステップＳ３０７で算出された傾角θｃ［ｊ］及びステップＳ３０３で算出された距離Ｌ［ｊ］が代入されるが、必ずしも、回転テーブルの全ての傾角及び距離の欄が埋まるわけではない。そこで、回転テーブルにおいて、空欄がある場合、その前後の距離を用いて、線形補間により、その空欄を埋めていく。なお、線形補間は例示であり、他の補間を行なうこともできる。
【０２２２】
図１１は、図９のステップＳ２６３の指先を検出する処理の流れの一例を示すフローチャートである。図１１を参照して、ステップＳ３４１にて、ＭＣＵ３は、変数ｊ及びＦＰ［ｊ］に０を代入する。ステップＳ３４３にて、ＭＣＵ３は、フラグＣＦ［ｊ］が凸点を示す０１にセットされているか否かを判断し、肯定的判断の場合ステップＳ３４５に進み、否定的判断の場合ステップＳ３４９に進む。
【０２２３】
ステップＳ３４５にて、ＭＣＵ３は、凸点である画素Ｐｊの両側又は一方側に、フラグＣＦ［ｊ］に凹点を示す１０がセットされている画素が存在するか否かを判断し、存在する場合画素Ｐｊを指先候補とみなしてステップＳ３４７に進み、存在しない場合ステップＳ３４９に進む。ステップＳ３４７にて、ＭＣＵ３は、フラグＦＰ［ｊ］に画素Ｐｊが指先候補であることを示す１をセットする。
【０２２４】
ステップＳ３４９にて、ＭＣＵ３は、変数ｊを１つインクリメントする。ステップＳ３５１にて、ＭＣＵ３は、変数ｊの値が値Ｊになったか否かを判断し、値Ｊになった場合ステップＳ３５３に進み、それ以外はステップＳ３４３に進む。
【０２２５】
ステップＳ３５３にて、ＭＣＵ３は、変数ｊ，ｑ，ＴＦ［ｊ］，θｖ［ｑ］，ＸＴ，ＹＴ，Ｑ及びθｖに０を代入する。ステップＳ３５５にて、ＭＣＵ３は、フラグＦＰ［ｊ］に指先候補を示す１がセットされているか否かを判断し、肯定的判断の場合ステップＳ３５７に進み、それ以外はステップＳ３７１に進む。
【０２２６】
ステップＳ３５７にて、ＭＣＵ３は、画素Ｐｊ＋Ｎｐと画素Ｐｊ−Ｎｐとを結ぶ線分２３に画素Ｐｊから下ろした垂線２５の長さＬｖを算出する（図１７参照）。ステップＳ３５９にて、ＭＣＵ３は、長さＬｖが所定値ＣＬを超えているか否かを判断し、超えている場合画素Ｐｊを指先とみなしてステップＳ３６１に進み、それ以外はステップＳ３７１に進む。
【０２２７】
ステップＳ３６１にて、ＭＣＵ３は、指先フラグＴＦ［ｊ］に画素Ｐｊが指先であることを示す１をセットする。ステップＳ３６３にて、ＭＣＵ３は、変数ＸＴ［ｑ］に画素ＰｊのＸ座標を代入する。また、ＭＣＵ３は、変数ＹＴ［ｑ］に画素ＰｊのＹ座標を代入する。座標（ＸＴ［ｑ］，ＹＴ［ｑ］）は、指先の座標である。ステップＳ３６５にて、ＭＣＵ３は、垂線２５の傾角θｖを算出する（図１７参照）。ステップＳ３６７にて、ＭＣＵ３は、変数θｖ［ｑ］に傾角θｖを代入する。傾角θｖ［ｑ］は、座標（ＸＴ［ｑ］，ＹＴ［ｑ］）で示される指先に対応する指の傾角である。ステップＳ３６９にて、ＭＣＵ３は、変数ｑを１つインクリメントする。
【０２２８】
ステップＳ３７１にて、ＭＣＵ３は、変数ｊを１つインクリメントする。ステップＳ３７３にて、ＭＣＵ３は、変数ｊの値が値Ｊになったか否かを判断し、値Ｊになった場合ステップＳ３７５に進み、それ以外はステップＳ３５５に進む。ステップＳ３７５にて、ＭＣＵ３は、変数Ｑに変数ｑの値を代入してリターンする。変数Ｑの値は、検出された指先の数を表す。
【０２２９】
図１２は、図９のステップＳ２６５の「パー」を判定する処理の流れの一例を示すフローチャートである。図１２を参照して、ステップＳ４０１にて、ＭＣＵ３は、変数Ｑの値（指先の数）が３以上か否かを判断し、３以上の場合ステップＳ４０３に進み、それ以外はリターンする。ステップＳ４０３にて、ＭＣＵ３は、変数ｑ及びｍに０を代入する。ステップＳ４０５にて、ＭＣＵ３は、配列θｖ［ｑ］と配列θｖ［ｑ＋１］との差の絶対値を算出し、変数θｄに代入する。変数θｄは、隣り合う指と指とがなす角度を表す。
【０２３０】
ステップＳ４０７にて、ＭＣＵ３は、変数θｄの値が１００度未満か否かを判断し、肯定的判断の場合ステップＳ４０９に進み、否定的判断の場合ステップＳ４１１に進む。ステップＳ４０９にて、ＭＣＵ３は、変数ｍを１つインクリメントする。ステップＳ４１１にて、ＭＣＵ３は、変数ｑを１つインクリメントする。
【０２３１】
ステップＳ４１３にて、ＭＣＵ３は、変数ｑの値が値Ｑになったか否かを判断し、値Ｑになった場合ステップＳ４１５に進み、それ以外はステップＳ４０５に進む。
【０２３２】
ステップＳ４１５では、ＭＣＵ３は、変数ｍの値が、６以下３以上であるか否かを判断し、肯定的判断の場合手の形状が「パー」であると判断してステップＳ４１７に進み、否定的判断の場合リターンする。変数ｍの値は、隣り合う指と指とがなす角度θｄが１００度未満のケースの発生回数である。ステップＳ４１７では、ＭＣＵ３は、フラグＳＨを「パー」を示す０１にセットして、図７のステップＳ１９９に進む。
【０２３３】
図１３は、図９のステップＳ２６７の「チョキ」を判定する処理の流れの一例を示すフローチャートである。図１３を参照して、ステップＳ４４１にて、ＭＣＵ３は、変数Ｑの値（指先の数）が２又は３の場合ステップＳ４４３に進み、それ以外はリターンする。
【０２３４】
ステップＳ４４３にて、ＭＣＵ３は、変数ｑ，ｐ及びＳＨに０を代入する。ステップＳ４４５にて、ＭＣＵ３は、輪郭画像の重心座標（Ｘｇ，Ｙｇ）と指先の座標（ＸＴ［ｑ］，ＹＴ［ｑ］）との間の距離Ｌｇｔ０を算出する。ステップＳ４４７にて、ＭＣＵ３は、距離Ｌｇｔ０が平均値ＡＶＬ（図１０のステップＳ３１５参照）に１．１を乗じたもの以上か否かを判断し、つまり、距離Ｌｇｔ０が平均値ＡＶＬの１１０％以上か否かを判断し、肯定的判断の場合ステップＳ４４９に進み、否定的判断の場合ステップＳ４５９に進む。
【０２３５】
ステップＳ４４９にて、ＭＣＵ３は、輪郭画像の重心座標（Ｘｇ，Ｙｇ）と指先の座標（ＸＴ［ｑ＋１］，ＹＴ［ｑ＋１］）との間の距離Ｌｇｔ１０を算出する。座標（ＸＴ［ｑ＋１］，ＹＴ［ｑ＋１］）の指先は、座標（ＸＴ［ｑ］，ＹＴ［ｑ］）の指先の隣の指先である。ステップＳ４５１にて、ＭＣＵ３は、距離Ｌｇｔ１が値ＡＶＬに１．１を乗じたもの以上か否かを判断し、つまり、距離Ｌｇｔ１が平均値ＡＶＬの１１０％以上か否かを判断し、肯定的判断の場合ステップＳ４５３に進み、否定的判断の場合ステップＳ４５９に進む。
【０２３６】
ステップＳ４５３では、ＭＣＵ３は、配列θｖ［ｑ］と配列θｖ［ｑ＋１］との差の絶対値（つまり、隣あう指と指とがなす角度）を算出し、変数θｄに代入する。ステップＳ４５５にて、ＭＣＵ３は、変数θｄの値が９０度未満か否かを判断し、肯定的判断の場合ステップＳ４５７に進み、否定的判断の場合ステップＳ４５９に進む。ステップＳ４５７にて、ＭＣＵ３は、変数ｐを１つインクリメントする。
【０２３７】
ステップＳ４５９にて、ＭＣＵ３は、変数ｑを１つインクリメントする。ステップＳ４６１にて、ＭＣＵ３は、変数ｑの値が値Ｑになったか否かを判断し、値Ｑになった場合ステップＳ４６３に進み、それ以外はステップＳ４４５に進む。ステップＳ４６３にて、ＭＣＵ３は、変数ｐの値が１又は２の場合手の形状が「チョキ」と判断してステップＳ４６５に進み、それ以外はリターンする。ステップＳ４６５では、ＭＣＵ３は、フラグＳＨを「チョキ」を示す１０にセットして、図７のステップＳ１９９に進む。
【０２３８】
図１４は、図９のステップＳ２６９の「グー」を判定する処理の流れの一例を示すフローチャートである。図１４を参照して、ステップＳ４９１にて、ＭＣＵ３は、変数Ｑの値（指先の数）が２以上か否かを判断して、肯定的判断の場合ステップＳ４９３に進み、否定的判断の場合ステップＳ５０３に進む。
【０２３９】
ステップＳ４９３にて、ＭＣＵ３は、変数ｊに０を代入する。ステップＳ４９５にて、ＭＣＵ３は、距離Ｌ［ｊ］（図１０のステップＳ３０３参照）が、平均値ＡＶＬ（図１０のステップＳ３１５参照）に０．６を乗じたもの以上であり、かつ、値ＡＶＬに１．４を乗じたもの以下であるか否かを判断し、つまり、距離Ｌ［ｊ］が、平均値ＡＶＬの６０％以上であり、かつ、平均値ＡＶＬの１４０％以下であるか否かを判断し、肯定的判断の場合ステップＳ４９７に進み、否定的判断の場合ステップＳ５０３に進む。
【０２４０】
ステップＳ４９９にて、ＭＣＵ３は、変数ｊの値が値Ｊになったか否かを判断し、値Ｊになった場合手の形状が「グー」と判断しステップＳ５０１に進み、それ以外はステップＳ４９５に進む。ステップＳ５０１にて、ＭＣＵ３は、フラグＳＨを「グー」を示す１１にセットしてリターンする。一方、ステップＳ５０３では、ＭＣＵ３は、フラグＳＨを「不定」を示す００にセットしてリターンする。
【０２４１】
図１５は、図７のステップＳ１９９の輪郭画像の回転を検出する処理の流れの一例を示すフローチャートである。図１５を参照して、ステップＳ５２１にて、ＭＣＵ３は、変数Ｍに０を代入し、変数ＲＡにＦＦＦＦｈを代入する。
【０２４２】
ステップＳ５２３にて、ＭＣＵ３は、現在の回転テーブル（図１８参照）からＭ度の傾角に対応する距離を取得する。ステップＳ５２５にて、前回の回転テーブル（図１８参照）から０度の傾角に対応する距離を取得する。ステップＳ５２７にて、ＭＣＵ３は、ステップＳ５２３で取得した距離とステップＳ５２５で取得した距離との差の絶対値が一定範囲内の場合、両者が一致しているとみなして、ステップＳ５２９に進み、それ以外はステップＳ５３１に進む（図１９参照）。ステップＳ５２９にて、ＭＣＵ３は、変数ＲＡに変数Ｍの値を代入する。
【０２４３】
ステップＳ５３１にて、ＭＣＵ３は、現在の回転テーブル（図１８参照）から（３６０−Ｍ）度の傾角に対応する距離を取得する。ステップＳ５３３にて、前回の回転テーブル（図１８参照）から０度の傾角に対応する距離を取得する。ステップＳ５３５にて、ＭＣＵ３は、ステップＳ５３１で取得した距離とステップＳ５３３で取得した距離との差の絶対値が一定範囲内の場合、両者が一致しているとみなして、ステップＳ５３７に進み、それ以外はステップＳ５３９に進む。ステップＳ５３７では、ＭＣＵ３は、変数ＲＡに、変数Ｍの値に（−１）を乗じた値を代入する。
【０２４４】
ステップＳ５３９にて、ＭＣＵ３は、変数Ｍを１つインクリメントする。ステップＳ５６１にて、ＭＣＵ３は、変数ＲＡ値がＦＦＦＦｈであるか否かを判断し、肯定的判断の場合ステップＳ５６３に進み、否定的判断の場合リターンする。ステップＳ５６３にて、ＭＣＵ３は、変数Ｍの値が３６０（回転テーブルに格納されている傾角の数）になったか否かを判断し、３６０になった場合リターンし、それ以外はステップＳ５２３に進む。
【０２４５】
ここで、図１９を参照して、変数ＲＡの値は、被写体の輪郭画像の重心座標と輪郭線上の画素Ｐｊとを結ぶ線分の長さＬ［ｊ］を、その線分が所定の基準線（Ｘ軸に平行な線）に対してなす角度θｃ［ｊ］の関数１００，１０２として表したときの、現在と前回との位相差である。この位相差の絶対値は輪郭画像の回転角度を表し、この位相差の符号は回転方向を表す。
【０２４６】
また、上記ステップＳ５２３及びＳ５２５の処理は、回転テーブルを上欄から下欄に向かって処理（スキャン）していることを意味する。一方、上記ステップＳ５３１及びＳ５３３の処理は、回転テーブルを下欄から上欄に向かって処理（スキャン）していることを意味する。そして、双方向へのスキャンにおいて、現在の距離が前回の距離と早く一致したときの位相差を輪郭画像の回転角としている。
【０２４７】
さて、以上のように、本実施の形態によれば、被写体とイメージセンサ５との間の距離に応じて、画像処理のモードが切り替えられるので、遠近に応じて、自動的に画像処理を異ならせることができる。
【０２４８】
このため、被写体がイメージセンサ５から近くに存在する場合の画像処理を、被写体がイメージセンサ５から比較的遠くに存在する場合の画像処理と異ならせることを要求する電子機器１１に、容易に対応可能となる。
【０２４９】
また、イメージセンサ５として、比較的低解像度のものを採用でき、コストを削減できる。近くの被写体に対しては、低解像度であっても、画像処理により、その被写体の詳細な解析が可能であり、十分実用的な結果を得ることができる。一方、比較的遠くの被写体に対しては、低解像度の場合、被写体が近くに存在する場合と同じ画像処理により、被写体が近くに存在する場合と同等の精度の結果を得ることは困難である。従って、低解像度で、遠近に関係なく画像処理が同じであれば、比較的遠くにある被写体に対しては適用不可能であり、遠近双方に対応するためには、高解像度の撮影装置を採用せざるをえない。しかし、比較的遠くの被写体に対して、被写体が近くに存在する場合と異なる画像処理により、低解像度であっても十分実用的な結果を得ることもできる。このように、遠近に応じて、画像処理を異ならせることにより、低解像度のイメージセンサ５によって、遠近双方の被写体に対応可能となる。
【０２５０】
具体的には、近距離のための画像処理である輪郭検出モードでは、被写体の形態を認識する処理等が実行される。比較的低解像度の画像からでも、形態の認識は十分可能である。仮に、遠距離のための画像処理のモードにおいて、輪郭検出モードと同じ画像処理を行なっても、低解像度の画像からは、被写体の形態を精度良く認識することは困難である。しかし、遠距離のための動体検出モードでは、輪郭検出処理とは異なる手法により動体を検出する（図６）。この手法による動体の検出は、比較的低解像度の画像からも十分可能である。その結果、遠近双方において、比較的低解像度のイメージセンサ５を採用できるので、コストを削減できる。
【０２５１】
さらに、近距離用のセンサと遠距離用のセンサとを別個に設ける必要がなく、コストを削減できる。つまり、１つの画像処理モジュール１だけで、遠近双方の画像処理を行なうことができる。
【０２５２】
ここで、近距離で被写体の形態を認識するためのセンサ（形態センサ）と遠距離で動体を検出するためのセンサ（動体センサ）とを設けることを想定する。
【０２５３】
このような場合、通常、形態センサとしては比較的高解像度の撮影装置が採用され、低解像度の撮影装置と比べて高価である。また、それに応じて、高解像度の撮影装置の制御装置（ＣＰＵなど）も高価になる。さらに、高解像度の画像では、処理量が多くなり、高速に出力結果を要求される場合は対応困難になる。
【０２５４】
また、このような場合、通常、動体センサとしては、焦電センサが採用される。焦電センサは、比較的低解像度の撮影装置より安価な場合もあるが、室温の変化を検出するものであるので、変化の発生は検知できるが、物体の座標を検出することができない。また、焦電センサでは、物体を検知して、その後、その物体が動かない場合は、その物体の存在を検知できない。
【０２５５】
以上のように、近距離のための形態センサと遠距離のための動体センサとを設ける場合には、本発明にはない不利益を伴うが、そのような不利益がない点で本発明は有利である。
【０２５６】
さらに、本実施の形態では、動体を追跡して、動体をターゲットとした処理ないしは制御を行なうことができる。例えば、動体検出モードにおいて、動体の追跡結果を受けて、電子機器の一部又は全部を常に動体に向くように制御できる。もちろん、このような処理は輪郭検出モードでも可能である。
【０２５７】
さらに、本実施の形態では、第１閾値ＴＨＨ（図６のステップＳ１５３参照）を設けているので、画素値の変化の頻度が高い動き、例えば、テレビジョンのちらつき等、周期的な比較的周波数の高い動きをノイズとして除去できる。また、第２閾値ＴＨＬ（図６のステップＳ１５３参照）を設けているので、画素値の変化の頻度が低い動き、例えば、撮影環境（撮影空間やイメージセンサ５の状態）の変化から発生した画像上のノイズを除去できる。
【０２５８】
さらに、本実施の形態によれば、電子機器１１は、輪郭検出モードにより、被写体の形状（グー、チョキ、パー）を入力とした情報処理を実行することができる。
【０２５９】
さらに、本実施の形態によれば、指先と水かきとの間の画素に基づいて指を特定し（図１１のステップＳ３５７及びＳ３５９、図１７参照）、輪郭画像の重心により指を特定しないので、重心により指を特定する場合と比較して、精度良く指を特定でき（図１１）、ひいてはより精度良く手の形状を判定できる（図１２、図１３）。一般に、輪郭画像の重心と、被写体の重心と、は一致しない場合も多く、この場合に、重心により指を特定すると、認識の精度が低くなる。
【０２６０】
また、指先と水かきとの間の画素に基づいて得られた、隣り合う指と指とがなす角度だけでなく、重心から指先に相当する画素までの距離に基づいて、手の形状を判断するので（図１３のステップＳ４４５〜Ｓ４５１）、より多様な手の形状を判定できる（図１３）。例えば、手の形状が「チョキ」であることを判定できる。
【０２６１】
また、重心から輪郭線上の画素までの距離を求めるといった簡単な計算で（図１０のステップＳ３０３）、手の形状を判定できる（図１４）。例えば、重心から輪郭線上の画素までの距離が、一定範囲内の場合に、手の形状が「グー」であることを判定できる。
【０２６２】
さらに、本実施の形態によれば、電子機器１１は、輪郭検出モードにより、被写体の回転（図１５参照）を入力とした情報処理を実行することができる。
【０２６３】
この場合、上記のように、被写体の輪郭画像の重心座標と輪郭線上の画素Ｐｊとを結ぶ線分の長さＬ［ｊ］を、その線分が所定の基準線（Ｘ軸に平行な線）に対してなす角度θｃ［ｊ］の関数として表したときの、現在と前回との位相差を求めることにより、簡易、かつ、精度よく、手の回転角度を検出できる。
【０２６４】
また、差分画像上の被写体の面積は、イメージセンサ５と被写体との間の距離に相関するので、面積により、イメージセンサ５と被写体との間の距離を容易に判断できる。
【０２６５】
また、被写体が遠くにあれば、赤外発光ダイオード７の光が届かない、あるいは、届いても反射光が弱くイメージセンサ５に検出されないので、赤外発光ダイオード７の発光時及び消灯時に関係なく、撮影画像には、遠くの物体は写り込まない。一方、赤外発光ダイオード７の発光時のみ、近くの物体は、その光を反射し、撮影画像に写り込む。よって、差分により背景成分が除去されるので、赤外発光ダイオード７が照射した光を反射した物体だけが、差分画像に現われる。このように、差分といった簡単な処理で、近くの物体の像のみを抽出できる。
【０２６６】
さらに、動体検出モードの画像処理（動体検出処理）では、赤外発光ダイオード７の発光は不要なところ、輪郭検出モードの画像処理（輪郭検出処理）で要求される赤外発光ダイオード７を、画像処理モードの切り替えのために、動体検出モードで共用している。その結果、コストを削減できる。
【０２６７】
また、動体検出モードでの画像処理のモードを切り替えるための撮影周期を、輪郭検出モードでの輪郭検出及び動体検出モードでの動体検出のための撮影処理の周期より短くしているので、消費電力を抑制することができる。画像処理のモードを切り替えるための判断は、画像処理（輪郭検出及び動体検出）と同等の周期で行なう必要はなく、実質的に性能に影響はない。
【０２６８】
さらに、本実施の形態では、撮影された被写体の画像を処理して（輪郭検出モードでは、輪郭画像の重心座標、面積、形状、回転角度、及び回転方向の算出、動体検出モードでは、動体の検出（動体フラグ）、動体の座標（ＴＸ，ＴＹ）の算出、及び撮影空間の輝度の算出）、その処理結果を、電子機器１１のコンピュータ１３に出力する。このため、外部のコンピュータ１３は、この画像処理モジュール１から入力された処理結果をそのまま利用できる。その結果、外部のコンピュータ１３による画像処理を不要とし、そのコンピュータ１３のプログラマの負担を軽減することができる。また、この画像処理モジュール１は、撮影及び画像処理だけを行なうモジュールとして提供されるので、その処理結果を利用するコンピュータ１３あるいはそのコンピュータ１３を搭載する外部機器１１は特定のものに限定されず、この画像処理モジュール１は、高い汎用性を持つ。
【０２６９】
（変形例）
【０２７０】
実施の形態の変形例では、ＭＣＵ３の設定を輪郭検出モードに固定する。輪郭画像がＭＣＵ３に設定された割込条件を満足すると、ＭＣＵ３は、割込信号をコンピュータ１３に出力する。上記実施の形態では、ＭＣＵ３は、コンピュータ１３の指示なしに、コンピュータ１３にデータを送信することができない。これに対して、変形例では、コンピュータ１３の指示がない場合であっても、輪郭画像が割込条件を満足した場合は、ＭＣＵ３が、割込信号をコンピュータ１３に送信する。このため、スタンバイ状態あるいはスリープ状態のコンピュータ１３を、ＭＣＵ３からの割込信号により、オペレーション状態にしたり、復帰させたりすることができる。
【０２７１】
図２１は、本発明の実施の形態の変形例におけるＭＣＵ３の全体処理の流れの一例を示すフローチャートである。図２２（ａ）〜図２２（ｃ）は、変形例におけるＭＣＵ３とコンピュータ１３との間の信号送受信の説明図である。
【０２７２】
図２１を参照して、ステップＳ７５１にて、ＭＣＵ３は、レジスタや変数等の初期化を実行する。ステップＳ７５３にて、ＭＣＵ３は、データ出力線の電位をハイレベルに設定する（図２２（ｃ）参照）。このデータ出力線は、ＭＣＵ３とコンピュータ１３とを接続する。ステップＳ７５５にて、ＭＣＵ３は、一定時間間隔でタイマ割込みを発生させるため、タイマをセットする。
【０２７３】
ステップＳ７５７にて、ＭＣＵ３は、コンピュータ１３が出力するスレイブセレクト信号の立下りエッジを検出したか否かを判断し、検出した場合ステップＳ７６１に進み、それ以外はステップＳ７５９に進む。ステップＳ７５９にて、ＭＣＵ３は、タイマ割込みが発生したか否かを判断し、発生した場合ステップＳ７６５に進み、それ以外はステップＳ７５７に戻る。
【０２７４】
ステップＳ７６１では、ＭＣＵ３は、タイマを解除する。ステップＳ７６３にて、ＭＣＵ３は、コンピュータ１３から開始コマンドを受信したか否かを判断し、受信した場合ステップＳ７６５に進み、それ以外はステップＳ７６３に戻る。なお、コンピュータ１３は、ＭＣＵ３へ開始コマンドを送信した後、スレイブセレクト信号をハイレベルにする。
【０２７５】
ステップＳ７６５では、ＭＣＵ３は、イメージセンサ５を制御する。この場合の処理は、図３のステップＳ７〜Ｓ２７の処理と同じである。ステップＳ７６７にて、ＭＣＵ３は、輪郭検出処理を実行する。この処理は、図２のステップＳ７１１の輪郭検出処理と同じである。
【０２７６】
ステップＳ７７１にて、ＭＣＵ３は、ステップＳ７６７で検出した輪郭画像が、設定された割込条件を満足しているか否かを判断し、満足している場合ステップＳ７７３に進み、満足していない場合ステップＳ７７５に進む。ステップＳ７７３では、ＭＣＵ３は、コンピュータ１３に割込信号を出力する。ただし、この場合に、ＭＣＵ３は、コンピュータ１３にコマンドを出力することもできる。
【０２７７】
この割込条件は、ＭＣＵ３のレジスタ（図示せず）に予め設定される。もちろん、コンピュータ１３によって、割込条件を変更することができる。本実施の形態では、輪郭画像が「グー」のときのみ割込信号を生成する割込条件、輪郭画像が「チョキ」のときのみ割込信号を生成する割込条件、輪郭画像が「パー」のときのみ割込信号を生成する割込条件、輪郭画像が「グー」又は「チョキ」のときに割込信号を生成する割込条件、輪郭画像が「グー」又は「パー」のときに割込信号を生成する割込条件、輪郭画像が「チョキ」又は「パー」のときに割込信号を生成する割込条件、輪郭画像が「グー」、「チョキ」又は「パー」のときに割込信号を生成する割込条件、並びに、輪郭画像が「グー」、「チョキ」及び「パー」のいずれにおいても割込信号を生成しない割込条件を設定可能である。
【０２７８】
ステップＳ７７５にて、ＭＣＵ３は、データ出力線の電位をローレベルに設定する（図２２（ｃ）参照）。ステップＳ７７７にて、ＭＣＵ３は、コンピュータ１３が出力するスレイブセレクト信号（図２２（ａ）参照）の立下りエッジを検出したか否かを判断し、検出した場合ステップＳ７８１に進み、検出していない場合ステップＳ７７９に進む。ステップＳ７７９では、ＭＣＵ３は、タイマ割込みがあった場合ステップＳ７９１に進み、それ以外はステップＳ７７７に進む。
【０２７９】
ステップＳ７８１では、ＭＣＵ３は、タイマを解除する。ステップＳ７８３にて、ＭＣＵ３は、コンピュータ１３から開始コマンドを受信したか否かを判断し、受信した場合ステップＳ７８９に進み、それ以外はステップＳ７８５に進む。なお、コンピュータ１３は、ＭＣＵ３へ開始コマンドを送信した後、スレイブセレクト信号をハイレベルにする。ステップＳ７８５にて、ＭＣＵ３は、コンピュータ１３からのリードコマンド（図２２（ｂ）参照）を受信したか否かを判断し、受信した場合ステップＳ７８７に進み、受信していない場合ステップＳ７８３に戻る。なお、リードコマンドは、ＭＣＵ３とコンピュータ１３とを接続するデータ入力線を介して与えられる。ステップＳ７８７では、ＭＣＵ３は、ステップＳ７６７の結果データ（輪郭画像の重心座標、面積、形状、及び回転角度）を、データ出力線を介してコンピュータ１３に送信する（図２２（ｃ）参照）。なお、コンピュータ１３は、ＭＣＵ３からデータを受け取った後、スレイブセレクト信号をハイレベルにする。
【０２８０】
ステップＳ７８９にて、ＭＣＵ３は、タイマをセットする。ステップＳ７９１にて、ＭＣＵ３は、データ出力線の電位をハイレベルに設定して（図２２（ｃ）参照）、ステップＳ７６５に戻る。
【０２８１】
以上のように、コンピュータ１３がオペレーション状態のときは、ＭＣＵ３は、コンピュータ１３の制御（スレイブセレクト信号、開始コマンド、及び、リードコマンド）を受けて動作する。ただし、コンピュータ１３がスタンバイないしはスリープ状態の場合は、ＭＣＵ３は、タイマ割込みにより、イメージセンサ５の制御（ステップＳ７６５）、輪郭検出処理（ステップＳ７６７）、及び、割込信号生成処理（ステップＳ７７１及びＳ７７３）を実行する。
【０２８２】
さて、以上のように、変形例では、電子機器１１のコンピュータ１３がスタンバイ状態あるいはスリープ状態の場合であっても、輪郭画像、つまり、撮影対象物（変形例では「手」）が割込条件を満足することによって、コンピュータ１３をオペレーション状態にしたり、復帰させたりすることができる。すなわち、撮影対象物を制御すること（上記例では、ユーザが手の形状を割込条件に合致させること）によって、スタンバイ状態やスリープ状態のコンピュータ１３をオペレーション状態にしたり、復帰させたりすることができる。
【０２８３】
ここで、変形例は、例えば、カーナビゲーションシステムの操作に有用である。一般に、カーナビゲーションシステムは、ドライバーがディスプレイのタッチパネルを操作することによりコントロールされる。この場合、腕や手だけを動かして操作するのは困難な場合も多く、上半身を動かす必要もあり、必ずしも安全性が高いとは言えない場合もある。また、カーナビゲーションシステムが、テレビジョン装置やオーディオ装置と一体になっているものも多い。このように、近年のカーナビゲーションは高機能のものも多く、その全ての操作をタッチパネルで行なうと、益々安全性が低下する。
【０２８４】
しかしながら、本発明の変形例を適用することにより、ディスプレイに表示されたアイコンや地図画像等を非接触で操作できるので、ドライバーは、腕や手だけを動かして操作することができ、上半身を動かす必要もないため、安全性の向上に寄与できる。この場合、カーナビゲーションシステムは電子機器１１に対応し、カーナビゲーションシステムのコンピュータはコンピュータ１３に対応する。以下、変形例をカーナビゲーションシステムに適用する場合の応用例を挙げる。
【０２８５】
例えば、カーナビゲーションシステム１１のコンピュータ１３は、手の座標の移動方向により、ディスプレイに表示されたアイコンを選択する。この場合、コンピュータ１３は、選択されたアイコンの色彩を変更する。この場合、コンピュータは、一定時間以上、同一アイコンの選択状態が継続している場合に、選択が確定したと判断する。
【０２８６】
また、例えば、コンピュータ１３は、手の座標に連動するカーソルをディスプレイに表示する。そして、コンピュータ１３は、このカーソルが、アイコンに重なったときに、そのアイコンが選択されたと判断する。この場合も、もちろん、選択されたアイコンの色彩を変更してもよい。この場合、コンピュータは、一定時間以上、カーソルが同一アイコンに継続して重なっている場合に、選択が確定したと判断する。
【０２８７】
ここで、コンピュータ１３は、所定の手の形状を、選択確定のコマンドとして認識することもできる。例えば、一本の指を立てた手が撮影された場合に、それを選択確定のコマンドとすることができる。上記では、輪郭画像が、一本の指を立てた手であるか否かを判断する機能（コンピュータプログラム）を搭載していないが、もちろん搭載することもできる。
【０２８８】
さらに、例えば、コンピュータ１３は、手の座標の移動方向に応じた方向に、ディスプレイに表示された地図をスクロールすることができる。この場合、コンピュータ１３は、一定の初速度で、地図をスクロールし、一定距離の移動後に停止させる。また、コンピュータ１３は、手の座標の移動速度に応じた初速度で、手の座標の移動方向に応じた方向に、地図をスクロールさせることもできる。この場合、コンピュータ１３は、一定の摩擦係数を想定して、スクロールを停止する。ただし、コンピュータ１３は、スクロール途中であっても、所定の手の形状を、スクロール停止のコマンドとして認識することもできる。例えば、「パー」をした手が撮影された場合に、それをスクロール停止のコマンドとすることができる。
【０２８９】
さらに、例えば、コンピュータ１３は、所定の手の形状及び面積をコマンドとして、地図の拡縮を行なうことができる。この場合、コンピュータ１３は、「グー」の形状の面積が大きくなると、地図を拡大し、「グー」の形状の面積が小さくなると、地図を縮小する。これとは逆に、コンピュータ１３は、「グー」の形状の面積が小さくなると、地図を拡大し、「グー」の形状の面積が大きくなると、地図を縮小することもできる。そして、コンピュータ１３は、「パー」の手の形状が撮影された場合に、拡縮操作を停止する。
【０２９０】
また、例えば、コンピュータ１３は、画像処理モジュール１の結果データに基づいて、カーナビゲーションシステム１１に搭載されたオーディオ装置の制御を行なうこともできる。以下、この場合の応用例を挙げる。もちろん、カーオーディオ装置単体に、変形例を適用することもできる。
【０２９１】
例えば、コンピュータ１３は、ディスプレイに表示された楽曲リスト（垂直方向に楽曲が並んでいるものを想定する。）を、手の座標の移動方向に応じた方向に（垂直方向に限る。）、スクロールすることができる。この場合、コンピュータ１３は、一定の初速度で、楽曲リストをスクロールし、一定距離の移動後に停止させる。また、コンピュータ１３は、手の座標の移動速度に応じた初速度で、手の座標の移動方向に応じた方向に（垂直方向に限る。）、楽曲リストをスクロールさせることもできる。この場合、コンピュータ１３は、一定の摩擦係数を想定して、スクロールを停止する。ただし、スクロール途中であっても、所定の手の形状を、スクロール停止のコマンドとして認識することもできる。例えば、「パー」をした手が撮影された場合に、それをスクロール停止のコマンドとすることができる。
【０２９２】
また、例えば、コンピュータ１３は、楽曲リストのスクロールを停止する際に、ディスプレイの所定位置に、１楽曲名が停止するよう制御する。そして、コンピュータ１３は、その所定位置に停止した楽曲が選択状態にあると認識する。そして、例えば、コンピュータ１３は、所定の手の形状（例えば、「グー」）が撮影された場合に、その所定位置に停止した楽曲を再生する。
【０２９３】
さらに、例えば、コンピュータ１３は、楽曲の再生中に、手の座標の移動方向に応じて（水平方向に限る。）、次の楽曲に進んだり、前の楽曲に戻ったりすることもできる。また、例えば、コンピュータ１３は、楽曲の再生中に、手の回転角度に応じて、音量を制御することもできる。この場合、コンピュータ１３は、ディスプレイに、手の回転角度に応じて回転するダイヤル画像を表示することもできる。
【０２９４】
また、例えば、コンピュータ１３は、画像処理モジュール１の結果データに基づいて、カーナビゲーションシステム１１に搭載されたテレビジョン装置の制御を行なうこともできる。この場合の操作例は、オーディオ装置の操作例と同様である。もちろん、車載テレビジョン受像機単体に、変形例を適用することもできる。
【０２９５】
さらに、例えば、コンピュータ１３は、所定の形状の手（例えば、「チョキ」）が撮影された場合に、実行中の処理（例えば、ナビゲーション、音楽再生、テレビジョン映像表示）を中止して、メニュー画面に戻ることができる。
【０２９６】
また、コンピュータ１３は、変形例による非接触の操作だけを受け付けるのではなく、タッチパネルによる操作も受け付けて、両者を併用することもできる。
【０２９７】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【０２９８】
（１）実施の形態では、距離に応じて、画像処理モードを２つ搭載した。ただし、距離に応じて、３以上の画像処理モードを搭載することもできる。
【０２９９】
（２）ＭＣＵ３は、輪郭検出モードでは、差分画像（解析対象差分画像）に基づいて、輪郭画像の重心座標、面積、形状、回転角度、及び回転方向を算出した。ただし、目的物はこれらに限定されるものではなく、例えば、ＭＣＵ３は、差分画像に写り込んだ被写体の像の色彩の認識、その像の模様の認識、その像の回転量の算出、その像の速度の算出、その像の加速度の算出、その像の移動軌跡の算出、差分画像に写り込んだ被写体としての動体の検出、及び／又は、被写体の存在の検出を行なうこともできる。
【０３００】
また、ＭＣＵ３は、動体検出モードでは、画像（解析対象画像）に基づいて、動体の検出（動体フラグ）、動体の座標（ＴＸ，ＴＹ）の算出、及び撮影空間の輝度の算出を行なった。ただし、目的物はこれらに限定されるものではなく、例えば、ＭＣＵ３は、画像に写り込んだ被写体の像の形状の認識、その像の色彩の認識、その像の模様の認識、その像の座標の算出、その像の面積の算出、その像の回転量若しくは回転角度の算出、その像の回転方向の算出、その像の速度の算出、その像の加速度の算出、その像の移動軌跡の算出、及び／又は、画像に写り込んだ被写体の像の輝度の算出を行なうことができる。なお、この場合、低解像度のイメージセンサによる解析が不可能な場合は、それに代えて、高解像度のイメージセンサを使用する。
【０３０１】
（３）実施の形態では、距離に応じて画像処理モードを自動的に切り替えた。ただし、上記変形例のように、電子機器１１の仕様に応じて、ＭＣＵ３の設定を輪郭検出モードに固定することもできるし、また、輪郭検出モードのみを搭載することもできる。
【０３０２】
この場合、撮影された被写体の画像を処理して（差分画像に写り込んだ被写体の像の形状の認識、その像の色彩の認識、その像の模様の認識、その像の座標の算出、その像の面積の算出、その像の回転量若しくは回転角度の算出、その像の回転方向の算出、その像の速度の算出、その像の加速度の算出、その像の移動軌跡の算出、差分画像に写り込んだ被写体としての動体の検出、及び、被写体の存在の検出）、その処理結果を、外部のコンピュータ１３に出力する。このため、当該外部のコンピュータ１３は、この画像処理モジュールから入力された処理結果をそのまま利用できる。その結果、当該外部のコンピュータ１３による画像処理を不要とし、そのコンピュータ１３のプログラマの負担を軽減することができる。また、この画像処理モジュールは、撮影及び画像処理だけを行なうモジュールとして提供されるので、その処理結果を利用するコンピュータ１３あるいはそのコンピュータ１３を搭載する外部機器１１は特定のものに限定されず、この画像処理モジュールは、高い汎用性を持つ。
【０３０３】
また、限定はされないが、画像処理モジュールに輪郭検出モードのみを搭載する場合、特に、被写体がイメージセンサ５に対して比較的近距離に位置している場合に有効である。なぜなら、赤外光を被写体に照射し、それをイメージセンサ５により撮影するからである。もちろん、これは、被写体がイメージセンサ５に対して比較的遠距離に位置している場合に、この画像処理モジュールを使用することを排除するものではない。この場合、例えば、赤外発光ダイオード７の発光強度を強くし、及び／又は、その数を増やす。
【０３０４】
さらに、この場合、上記の輪郭検出モードと同様の効果を奏する。もちろん、この場合、上記変形例の機能をそのまま搭載することもできる。
【０３０５】
また、電子機器１１の仕様に応じて、ＭＣＵ３の設定を動体検出モードに固定することもできるし、また、動体検出モードのみを搭載することもできる。
【０３０６】
この場合、撮影された被写体の画像を処理して（画像に写り込んだ被写体の像の形状の認識、その像の色彩の認識、その像の模様の認識、その像の座標の算出、その像の面積の算出、その像の回転量若しくは回転角度の算出、その像の回転方向の算出、その像の速度の算出、その像の加速度の算出、その像の移動軌跡の算出、画像に写り込んだ被写体としての動体の検出、画像に写り込んだ撮影空間の輝度の算出、画像に写り込んだ被写体の像の輝度の算出、及び、被写体の存在の検出）、その処理結果を、外部のコンピュータ１３に出力する。このため、当該外部のコンピュータ１３は、この画像処理モジュールから入力された処理結果をそのまま利用できる。その結果、当該外部のコンピュータ１３による画像処理を不要とし、そのコンピュータ１３のプログラマの負担を軽減することができる。また、この画像処理モジュールは、撮影及び画像処理だけを行なうモジュールとして提供されるので、その処理結果を利用するコンピュータ１３あるいはそのコンピュータ１３を搭載する外部機器１１は特定のものに限定されず、この画像処理モジュールは、高い汎用性を持つ。
【０３０７】
また、限定はされないが、画像処理モジュールに動体検出モードのみを搭載する場合、特に、被写体がイメージセンサ５に対して比較的遠距離に位置している場合に有効である。なぜなら、赤外発光ダイオード７を設けずに、室内光及び／又は外光を反射する被写体を撮影するからである。もちろん、これは、被写体がイメージセンサ５に対して比較的近距離に位置している場合に、この画像処理モジュールを使用することを排除するものではない。
【０３０８】
さらに、この場合、上記の動体検出モードと同様の効果を奏する。もちろん、この場合、上記変形例と同様に、ＭＣＵ３は、画像の解析結果が所定の条件を満足した時に、割込信号又はコマンドを、信号線５４及びコネクタ３０を介して、外部のコンピュータ１３に送信する機能を搭載することもできる。
【０３０９】
（４）図２５に示すように、赤外光フィルタ６４は、レンズユニット６２の外部において、開口６６を覆うように配置された。ただし、赤外光フィルタは、レンズユニット６２の内部において、レンズ７２とイメージセンサ５との間に配置することもできる。
【０３１０】
（５）上記では、メモリ９は、ＭＣＵ３に内蔵された。ただし、メモリ９は、ＭＣＵ３の外部に配置されてもよく、ＭＣＵ３の内部及び外部の双方にメモリを設けることもできる。
【０３１１】
（６）上記では、イメージセンサ５は、差分画像を生成し出力した。ただし、イメージセンサ５は、赤外光の点灯時の画像（グレースケールでもよいし、カラーでもよい）及び消灯時の画像（グレースケールでもよいし、カラーでもよい）をＭＣＵ３に出力することもできる。この場合、ＭＣＵ３が、点灯時画像と消灯時画像との差分画像を生成する。そして、ＭＣＵ３は、その差分画像に基づいて、解析処理を行なうこともできるし、また、その差分画像を２値化して、解析処理を行なうこともできる。なお、赤外光の点灯時間及び消灯時間を１周期と考えると、ＭＣＵ３は、この１周期ごとに、点灯時画像と消灯時画像との差分画像の生成処理及び解析処理を実行する。
【０３１２】
（７）上記では、ＭＣＵ３は、イメージセンサ５から１画素ずつシリアルに入力される画素データＤを順次２値化した。ただし、ＭＣＵ３は、全ての画素データＤをメモリ９に格納した後に２値化してもよい。もちろん、ＭＣＵ３は、２値化せずに、解析処理を実行することもできる。
【０３１３】
（８）電子機器１１のコンピュータ１３が、画像処理モジュール１のＭＣＵ３から与えられた情報に基づいて行なう制御は、機械的・機構的な制御に限られず、ソフトウェア、画像、あるいは音声の制御であってもよい。
【０３１４】
（９）上記では、「グー」、「チョキ」、及び「パー」の形状を認識したが、これに限定されない。例えば、画像処理モジュール１は、一本の指を立てた手の形状を認識することもできる。
【０３１５】
（１０）上記変形例では、いくつかの割込条件を挙げた。ただし、割込条件は、それらに限定されない。例えば、輪郭画像の座標の軌跡が所定条件を満足することを割込条件とすることができる。例えば、所定時間内に、輪郭画像の予め定められた異なる形状が検出されること（順番は問わない。）を割込み条件とすることができる（例えば、所定時間内に、輪郭画像の第１の形状（例えば「パー」）と第２の形状（例えば「チョキ」）とが検出されたことを割込条件とすることができる。）。例えば、所定時間内に、所定の順番で、輪郭画像の予め定められた異なる形状が検出されることを割込み条件とすることができる（例えば、輪郭画像の第１の形状（例えば「パー」）が検出された後、所定時間内に、輪郭画像の第２の形状（例えば「チョキ」）が検出されたことを割込条件とすることができる。）。また、これらの例を組み合わせて、割込条件とすることもできる。
【０３１６】
（１１）上記変形例では、カーナビゲーションシステムへの適用例を挙げたが、これに限定されないことは言うまでもない。例えば、カーナビゲーションシステムのオーディオ装置と同様に、家庭用のオーディオ装置にも変形例を適用できる。また、例えば、カーナビゲーションシステムのテレビジョン装置と同様に、家庭用のテレビジョン受像機にも変形例を適用できる。
【０３１７】
（１２）上記変形例では、画像処理モジュール１は、コンピュータ１３からの指示があるときは、コンピュータ１３の指示に同期して処理を行ない、コンピュータ１３からの指示がないときは、タイマ割込みに同期して処理を行なった。ただし、画像処理モジュール１は、タイマ割込みにのみ同期して処理を行なうこともできる。
【０３１８】
（１３）上記では、赤外発光ダイオード７のオン／オフをイメージセンサ５が制御した。ただし、トランジスタ４４のベースをＭＣＵ３の制御端子に接続することにより、ＭＣＵ３が、赤外発光ダイオード７のオン／オフを制御することもできる。もちろん、この場合でも、トランジスタ４４を設けることなしに、赤外発光ダイオード７のアノードをＭＣＵ３の制御端子に接続して制御することもできる。
【０３１９】
（１４）図６では、ステップＳ１５３で１回でも肯定的判断がされれば、動体フラグがオンにされた。ただし、変数ｋ（ステップＳ１５７）の値が所定値（２以上の整数）を超えた場合に、動体フラグをオンにすることもできる。なお、所定値は実験的経験的に定められる。
【０３２０】
（１５）図６では、イメージセンサ５からの画像（６４×６４画素）の全画素のうち、有効な変化が検出された画素の数ｋを計数した（ステップＳ１５７）。この応用例を次に示す。
【０３２１】
イメージセンサ５からの画像を所定数Ｎ（Ｎは２以上の整数）のブロックＢＬ１〜ＢＬＮに分割する（例えば、Ｎ＝９）。ここで、ブロックＢＬ１〜ＢＬＮを総称して、ブロックＢＬｎと表記する。そして、ＭＣＵ３は、ブロックＢＬｎごとに、有効な変化が検出された画素の数ｋｎを計数し、ブロックＢＬｎごとの画素数ｋｎをコンピュータ１３に送信する。そして、コンピュータ１３は、画素数ｋｎが所定値ＣＶを超えたブロックＢＬｎにおいて、被写体の動きが検出されたと判断する。なお、所定値ＣＶは実験的経験的に定められる。
【０３２２】
このように、ブロックＢＬｎごとに、写り込んだ像の変化、つまり、被写体の動きを検出することができる。このため、コンピュータ１３は、電子機器１１又は電子機器１１の一部を、像の変化（つまり被写体の動き）が検出されたブロックに対応する領域（実空間の）に向ける制御又は向けない制御を行なうことができる。また、コンピュータ１３は、各ブロックに対応する各領域（実空間の）に向けた電子機器１１の出力を、像の変化（つまり被写体の動き）が検出されたブロックに対応する領域に対して行う又は行なわない制御を行なうことができる。
【０３２３】
この応用例は、例えば、電子機器１１が、天井へ埋め込んで使用する空気調和装置（エア・コンディショナ）である場合に適用できる。イメージセンサ５は、被写体を俯瞰撮影できる位置に設置される。例えば、イメージセンサ５は、空気調和装置とともに天井に取り付けられ（例えば、空気調和装置の化粧パネル等）、あるいは、空気調和装置の近傍に取り付けられる。空気調和装置のコンピュータ１３は、空気調和装置の垂直フラップ及び／又は水平フラップを制御して、被写体の動きが検出されたブロックに対応する領域に風向きを調整する。また、空気調和装置のコンピュータ１３は、被写体の動きが検出されたブロックに対応する領域への風の出力を行い、一方、被写体の動きが検出されなかったブロックに対応する領域への風の出力を停止する。
【０３２４】
なお、垂直フラップは、垂直軸の回りに回転するフラップであり、水平方向の風向きを調整する。水平フラップは、水平軸の回りに回転するフラップであり、垂直方向の風向きを調整する。なお、これらのフラップを風向調整機構あるいは風向調整板と呼ぶ事もある。
【０３２５】
また、天井に設置される電子機器１１は、空気調和装置に限定されるものではない。例えば、照明機器である。もちろん、電子機器１１及びイメージセンサ５の設置場所は天井に限定されず、その性質、用途に応じて、任意の場所に設置できる。
【０３２６】
なお、イメージセンサ５により俯瞰撮影を行なう場合、水平方向からの撮影と比較して、複数の被写体が重なって写り込む頻度が少なく、複数の被写体の重なりの判断を省くこともできるので、簡易な処理により電子機器１１を制御できる。その結果、天井に設置された電子機器１１の制御に好適である。
【０３２７】
もちろん、複数の被写体の重なりの判断を行ってもよい。なお、水平方向から撮影すると、複数の被写体が１つの像として画像に存在することになる場合であっても（例えば、撮影手段の光軸上に、複数の被写体が存在する場合）、俯瞰撮影する場合は、それらが、分離した像として画像に存在することも多い。
【０３２８】
（１６）画像処理モジュール１は、赤外発光ダイオード７を搭載した。ただし、赤外発光ダイオード７を搭載しないこともできる。この場合は、ＭＣＵ３は、差分画像ではなく、通常の画像を処理する。
【０３２９】
（１７）ＭＣＵ３が行なう処理の全部又は一部をコンピュータ１３が行なうこともできる。要するに、どちらがどの処理を行なうかは、仕様に応じて、任意に決定できる。
【０３３０】
（１８）ＭＣＵ３に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、また、並列的あるいは個別に実行される処理も含むものである。
【０３３１】
（１９）本明細書及び請求の範囲において、手段とは必ずしも物理的手段を意味するものではなく、各手段の機能がソフトウェアによって実現される場合も含む。さらに、１つの手段の機能が２つ以上の物理的手段により実現されても、もしくは２つ以上の手段の機能が１つの物理的手段により実現されてもよい。
【産業上の利用可能性】
【０３３２】
本発明は、家庭電化製品、エンターテインメント機器、セキュリティ機器、車載電子機器、ディスプレイ装置、及びパーソナルコンピュータ等の分野に利用可能である。
【符号の説明】
【０３３３】
１…画像処理モジュール、３…ＭＣＵ、５…イメージセンサ、７…赤外発光ダイオード、９…メモリ、１１…電子機器、１３…コンピュータ、３０…コネクタ、４４…トランジスタ、５０，５２…電源線、５４…信号線、５６…バス、５８…基板、６０…ハウジング、６２…レンズユニット、６４…赤外光フィルタ、６６…開口、６８…基台、７０…筒状部材、７２…凸レンズ、７３…レンズホルダ、７４…光軸、Ｔ１〜Ｔ７…端子。
【０３３４】
以上、本発明を実施例により詳細に説明したが、当業者にとっては、本発明が本願中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。
【図１】
2011205619.tif 000003
【図２】
2011205619.tif 000004
【図３】
2011205619.tif 000005
【図４】
2011205619.tif 000006
【図５】
2011205619.tif 000007
【図６】
2011205619.tif 000008
【図７】
2011205619.tif 000009
【図８】
2011205619.tif 000010
【図９】
2011205619.tif 000011
【図１０】
2011205619.tif 000012
【図１１】
2011205619.tif 000013
【図１２】
2011205619.tif 000014
【図１３】
2011205619.tif 000015
【図１４】
2011205619.tif 000016
【図１５】
2011205619.tif 000017
【図１６】
2011205619.tif 000018
【図１７】
2011205619.tif 000019
【図１８】
2011205619.tif 000020
【図１９】
2011205619.tif 000021
【図２０】
2011205619.tif 000022
【図２１】
2011205619.tif 000023
【図２２】
2011205619.tif 000024
【図２３】
2011205619.tif 000025
【図２４】
2011205619.tif 000026
【図２５】
2011205619.tif 000027