入力装置
【課題】操作者とノイズとなる背景とを正確に識別して、カメラの撮影範囲内に操作者以外の人が居て手を動かした場合でも誤動作しない入力装置を提供する。
【解決手段】右眼用撮像装置Aと右眼用撮像装置Bと並べて配置し、距離測定手段Cにて両眼視差法によりそれぞれの撮像装置A、Bが撮像した被写体までの距離を測定する。そして、被写体判別手段Dは、測定した距離を両方の撮像装置A、B間の間隔に基づいて両眼視差法により割り出して予め設定してある奥行き距離と比較し、被写体までの距離と奥行き距離とが所定の許容範囲内で一致していると、操作指示生成手段Eはこの被写体の動きを検出し、この検出結果に応じた操作指示を生成する。
【解決手段】右眼用撮像装置Aと右眼用撮像装置Bと並べて配置し、距離測定手段Cにて両眼視差法によりそれぞれの撮像装置A、Bが撮像した被写体までの距離を測定する。そして、被写体判別手段Dは、測定した距離を両方の撮像装置A、B間の間隔に基づいて両眼視差法により割り出して予め設定してある奥行き距離と比較し、被写体までの距離と奥行き距離とが所定の許容範囲内で一致していると、操作指示生成手段Eはこの被写体の動きを検出し、この検出結果に応じた操作指示を生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報端末装置やパーソナルコンピュータなどの情報機器に接続されて使用され、カメラ等による撮像装置によって操作者の動作画像を取り込み、情報機器のカーソル操作やアプリケーションプログラムの選択及び実行などを制御する入力装置に関する。
【背景技術】
【0002】
近年、カメラで操作者を撮影して画像解析し、この画像解析結果を使用してオーディオ装置、エアコンなどの機器を操作する入力装置が種々、提案されている。
【0003】
例えば、カメラ等の撮像装置が撮影した画像から手領域を抽出すると共に、その手の形状がどのような形状(手を傾ける、指を曲げるなど)になっているかを判定し、この判定内容に対応する手操作指示を音声、又はプロジェクト画像などで操作者に知らせるものである。
【0004】
ところで、カメラにより操作者の動作を捉える此の種の入力装置では、操作者とノイズとなる背景とを正確に識別しなければならない。そのため、余分な背景を画像に取り込まないような技術が従来から提案されている。
【0005】
例えば、赤外光を照射し、これと同期した動作をするイメージセンサを用いて、物体反射光のみを画像として取り出す入力装置が知られている。反射光の強さは一般的に物体までの距離の2乗に反比例するために、距離のある背景の物体は反射光が届かないことから、近くの物体が遠くの背景から容易に区別することができることを利用して、関係ない動きなどによる誤動作を小さくしようとするものである(例えば、特許文献1を参照)。
【0006】
また、赤外線カメラを用いて遠赤外線は撮像範囲の温度分布を撮像する装置を有する入力装置も知られている。この従来技術は、手を赤外線カメラの前にかざすと、手から放射されて赤外線カメラに入射する手の表面の温度に対応した遠赤外線は、手が近いほど赤外線カメラへの入射光量が増え、遠くなるほど入射光量が少なくなって、手と赤外線カメラとの距離の2乗に反比例することを利用して余分な背景を取り込まないようにするものである(例えば、特許文献2を参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2001−216069号公報
【特許文献2】特開2005−50177号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記した従来技術においては、特殊なセンサやカメラを必要とし、しかも操作者と背景とが接近している場合には背景もノイズとして取り込むために、誤動作を引き起こす問題点がある。
【0009】
よって本発明は、操作者とノイズとなる背景とを正確に識別して、カメラの撮影範囲内で操作者に近い位置にいる人が手を動かした場合でも、誤動作しない入力装置を提供することを目的としている。
【課題を解決するための手段】
【0010】
上記課題を達成するため本発明は、撮像装置で得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成する入力装置であって、右眼用撮像装置と、前記右眼用撮像装置から所定の間隔を置いた位置に、前記右眼用撮像装置と並んで配置される左眼用撮像装置と、被写体に対する前記右眼用撮像装置と前記左眼用撮像装置の画像から両眼視差法により前記被写体までの距離を測定する距離測定手段と、前記右眼用撮像装置と前記左眼用撮像装置との間の前記間隔に基づいて両眼視差法により割り出して予め設定してある奥行き距離と前記距離測定手段が測定した前記被写体までの距離とを比較し、前記被写体までの距離と前記奥行き距離とが所定の許容範囲内で一致している前記被写体を選択して前記操作者と判別する被写体判別手段と、前記被写体判別手段が判別した前記被写体の動きを検出し、この検出結果に応じた操作指示を生成する操作指示生成手段と、を備えたことを特徴としている。
【0011】
そして、前記操作指示の認識結果を表示するディスプレイ部を具備し、前記操作指示生成手段は、カーソルの表示待機中に前記操作者の手若しくは指による第1の形態の動きを検出すると前記ディスプレイ部に前記仮想カーソルを第1の状態で表示し、該第1の状態での表示中に前記手若しくは指による前記第1の動きが停止又は前記第1の動きが小さくなるのを検出すると前記仮想カーソルを第2の状態で表示すると共に、実カーソルを表示するカーソル表示制御手段を備えたことを特徴としている。
【0012】
そして、前記操作指示生成手段は、前記仮想カーソルが前記第2の状態で表示されているときに、前記手若しくは指が前記第1の形態の動きをすると、その手若しくは指の位置に前記カーソルの移動を指示する第1の信号を生成するカーソル移動制御手段を備えたことを特徴としている。
【0013】
そして、前記操作指示生成手段は、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第2の形態の動きを検出するとクリック操作と認識する第2の信号を生成し、第2の形態の動きに続く第3の形態の動きを検出するとダブルクリック操作と認識する第3の信号を生成するクリック制御手段を備えたことを特徴としている。
【0014】
そして、前記操作指示生成手段は、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第4の形態の動きを検出すると、前記ディスプレイ部の画面スクロールを指示する第4の信号を生成する画面スクロール制御手段を備えたことを特徴としている。
【0015】
そして、前記操作指示生成手段は、前記ディスプレイ部に表示されたオブジェクトに前記実カーソルが重ねられた状態で前記手若しくは指による第5の形態の動きを検出すると前記オブジェクトがドラッグの対象オブジェクトであることを認識し、認識後の前記手若しくは指による移動に追随した前記オブジェクトの移動を指示する第5の信号を生成し、続いて前記手若しくは指による前記第1形態での動きを検出すると前記オブジェクトのドロップを指示する第6の信号を生成するドラッグアンドドロップ制御手段を備えたことを特徴としている。
【0016】
そして、前記操作指示生成手段は、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると2点カーソルを表示し、前記第1の形態の動きを行う前記手若しくは指の間隔が拡大又は縮小されるのに応じて前記2点カーソルの間隔を拡大又は縮小表示し、前記第1の形態の動きの停止にて前記2点カーソルの間隔に応じて前記ディスプレイ部の拡大表示又は縮小表示を指示する第7の信号を生成する画面拡大・縮小制御手段を備えたことを特徴としている。
【0017】
そして、前記操作指示生成手段は、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると前記2点カーソルを表示すると共に、前記第1の形態の動きを行う前記手若しくは指の相対位置の上下の変化に応じて前記2点カーソルの相対位置を上下に変化させて表示し、前記第1の形態の動きの停止にて前記2点カーソルの上下の位置関係に応じて前記ディスプレイ部の表示の右回転又は左回転を指示する第8の信号を生成する画面回転制御手段を備えたことを特徴としている。
【0018】
また、前記ディスプレイ部は、前記撮像装置による前記操作者の画像を透過表示することを特徴としている。更に、前記ディスプレイ部は、前記操作者が操作指示の動きをしているとき前記画像を透過表示することを特徴としている。
【0019】
また、前記ディスプレイ部は、前記操作者が前記手若しくは指の動きにて行う操作指示のエフェクトを表示することを特徴としている。
【0020】
本発明の入力装置は、ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成する入力装置であって、右眼用カラーカメラと、前記右眼用カラーカメラから所定距離だけ離れた位置に、前記右眼用カラーカメラと並んで配置される左眼用カラーカメラと、被写体を捉えた前記右眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理プログラムと、前記被写体を捉えた前記左眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理プログラムと、前記右眼側画像処理プログラムで得られた右眼側活動矩形領域の座標軸と前記左眼側画像処理プログラムで得られた左眼側活動矩形領域の座標軸との中心座標距離を演算することで両眼視差法による前記被写体までの距離を測定し、測定した前記被写体までの距離を前記右眼用撮像装置と前記左眼用撮像装置との間の前記間隔に基づいて両眼視差法により割り出して予め設定してある奥行き距離と比較し、前記被写体までの距離と前記奥行き距離とが所定の許容範囲内で一致している前記右眼活動矩形領域及び前記左眼活動矩形領域を前記操作者による活動矩形領域として選択する活動領域選択処理プログラムと、前記活動領域選択処理プログラムにて選択された活動矩形領域に対し、仮想カーソル制御処理/画面制御処理を行って、前記被写体の手、又は指先の動きを検出し、この検出結果に応じた操作指示を生成する画像処理プログラムと、を備えたことを特徴としている。
【0021】
そして、前記仮想カーソル制御処理/画面制御処理は、仮想カーソル活動領域画像上に活動矩形領域群が1つあるとき、その形状、移動有無に基づき、カールソル制御指示、又は画面スクロール指示を生成することを特徴としている。一方、前記仮想カーソル制御処理/画面制御処理は、仮想カーソル活動領域画像上に活動矩形領域群が2つあるとき、その移動方向に基づき、画面回転指示、画面拡大指示、画面縮小指示の何れかを生成することを特徴としている。
【0022】
そして、前記活動矩形領域抽出処理は、ヒストグラムの統計処理結果を使用して、前記ヒストグラムから仮想カーソル活動領域画像を作成することを特徴としている。また、前記活動矩形領域抽出処理は、前記仮想カーソル活動領域画像に対し、多段階矩形オブジェクト抽出処理を行い、ノイズ成分を除去することを特徴としている。
【0023】
また、拡大/縮小矩形マスク作成処理を付加し、前記拡大/縮小矩形マスク作成処理によって、前記カラーカメラで得られたカラー画像の中から、前記仮想カーソル活動領域画像上の変化領域矩形に対応する画像を抽出し、それ以外の画像をカットして、ノイズ成分を除去することを特徴としている。
【0024】
本発明の入力装置は、ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成し、遠隔操作対象機器の動作を制御する入力装置であって、箱形に形成される入力装置筐体と、この入力装置筐体の前面左側に取り付けられる右眼用カラーカメラ本体と、前記入力装置筐体の前面右側に取り付けられる左眼用カラーカメラ本体と、前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記右眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理基板と、前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記左眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理基板と、前記入力装置筐体内に配置され、活動矩形領域選択処理回路、仮想カーソル制御処理/画面制御処理回路によって、両眼視差法を使用して、前記右眼側画像処理プログラムで得られた右眼側活動矩形領域の座標軸と前記左眼側画像処理プログラムで得られた左眼側活動矩形領域の座標軸とから被写体までの距離を演算することで両眼視差法による前記被写体までの距離を測定し、前記被写体までの距離を前記右眼用撮像装置と前記左眼用撮像装置との間の前記間隔に基づいて両眼視差法により割り出して予め設定してある奥行き距離と比較し、前記被写体までの距離と前記奥行き距離とが所定の許容範囲内で一致している前記右眼活動矩形領域及び前記左眼活動矩形領域を前記操作者による活動矩形領域として選択し、選択した前記活動矩形領域に仮想カーソル制御処理/画面制御処理を行って、前記被写体の手、又は指先の動きを検出し、この検出結果に応じたポインティングデータを生成し、遠隔操作対象機器の動作を制御する共通処理基板と、を備えることを特徴としている。
【発明の効果】
【0025】
本発明によると、操作者の動作を認知するカメラの視野内での空間の奥行きを狭く設定することで操作者と背景とを確実に識別するために、操作者以外の人の手の動きにて誤って入力されることがない。しかも、カメラ視野を設定することでかかる識別を行うために、特殊なセンサやカメラを用いずに通常のカメラにて精度の高い入力装置が提供される。
【図面の簡単な説明】
【0026】
【図1】本発明による入力装置の第1の実施形態のブロック図を示す。
【図2】操作者とパソコンと撮像装置との位置関係の模式図を示す。
【図3】図1による入力装置の具体的な構成例のブロック図を示す。
【図4】カメラ視野からの仮想タッチスクリーン画面と、パソコンのディスプレイ部に対する操作者視野からの仮想タッチスクリーン画面とを説明する模式図を示す。
【図5】操作者視野からの仮想タッチスクリーンの平面モデルを初期設定するときの詳細な動作例を示すフローチャートを示す。
【図6】操作者視野からの仮想タッチスクリーンの平面モデルを初期設定する演算に用いるパラメータを説明する模式図を示す。
【図7】図3に示す入力装置の詳細な動作例のフローチャートを示す。
【図8】図7に示すグレー化/2値化画像処理の詳細な動作例のフローチャートを示す。
【図9】図7に示すフレーム間差分/ヒストグラム作成処理の詳細な動作例のフローチャートを示す。
【図10】図7に示す活動矩形領域抽出処理の詳細な動作例のフローチャートを示す。
【図11】図10に示すフローチャートのステップ41に代えて処理するステップ41’を示している。
【図12】図10に示すフローチャートのステップ43に代えて処理するステップ43’を示している。
【図13】図7に示す活動矩形領域選択処理の詳細な動作例のフローチャートを示す。
【図14】図13に示すフローチャートのステップ57に代えて処理するステップ57’を示している。
【図15】図7に示す仮想カーソル制御処理、画面制御処理の詳細な動作例のフローチャートを示す。
【図16】図3に示す入力装置で使用される元のヒストグラム例と、変化領域抽出後のヒストグラム例との模式図を示す。
【図17】図3に示す入力装置で使用される変化領域抽出後のヒストグラム例と、仮想カーソル活動領域画像例との模式図を示す。
【図18】図3に示す入力装置で使用される変化領域抽出後のヒストグラム例と、仮想カーソル活動領域画像例との模式図を示す。
【図19】図3に示す入力装置において、活動矩形領域選択処理で選択された活動矩形領域群の一例の模式図を示す。
【図20】図3に示す入力装置において、活動矩形領域選択処理で選択された活動矩形領域群の一例の模式図を示す。
【図21】図3に示す入力装置で使用される多段階オブジェクト抽出処理の一例の模式図を示す。
【図22】図3に示す入力装置で使用される多段階オブジェクト抽出処理の一例の模式図を示す。
【図23】図3に示す入力装置で使用される両眼視差法の概要の模式図を示す。
【図24】図3に示す入力装置において、両眼視差法による補正を行う前の右活動矩形領域、左活動矩形領域の関係の模式図を示す。
【図25】図3に示す入力装置において、両眼視差法による補正を行った後の右活動矩形領域、左活動矩形領域の関係の模式図を示す。
【図26】図3に示す入力装置において、両眼視差法による補正を行った後の右活動矩形領域、左活動矩形領域の実例の模式図を示す。
【図27】図3に示す入力装置によって撮影される操作者の手の動きと、仮想カーソルとの関係例の模式図を示す。
【図28】図3に示す入力装置によって撮影される操作者の手の動きと、仮想カーソルとの関係例の模式図を示す。
【図29】図3に示す入力装置によって制御される実カーソルの微調整動作例の模式図を示す。
【図30】図3に示す入力装置によって制御される仮想カーソルの色制御例の模式図を示す。
【図31】図3に示す入力装置で使用される変化領域抽出後のヒストグラム例と、仮想カーソル活動領域画像例との模式図を示す。
【図32】図3に示す入力装置によって撮影される操作者の手の動きと、クリック動作との関係例の模式図を示す。
【図33】図3に示す入力装置によって得られる仮想カーソル活動領域画像上に2つの各活動矩形領域群があるときの一例の模式図を示す。
【図34】図3に示す入力装置によって得られる仮想カーソル活動領域画像上にある各活動矩形領域群の位置関係例の模式図を示す。
【図35】図3に示す入力装置によって得られる仮想カーソル活動領域画像上に2つの各活動矩形領域群があるときの一例の模式図を示す。
【図36】図3に示す入力装置によって得られる仮想カーソル活動領域画像上にある各活動矩形領域群の位置関係例の模式図を示す。
【図37】図3に示す入力装置において、抽出活動領域において操作者の意図しない動作により発生したものをノイズとして除去する動作を説明する模式図を示す。
【図38】1台のカメラでのカメラ視野角と被写体の幅と被写体までの距離の関係を説明する模式図を示す。
【図39】図1に示す入力装置の2台のカメラによる両眼視差法にて、カメラから被写体までの正確な距離の測定を説明する模式図を示す。
【図40】本発明による入力装置の第2の実施形態のブロック図を示す。
【図41】本発明による入力装置の他の実施形態のフローチャートを示す。
【図42】図41に示すフローチャートの動作例の模式図を示す。
【図43】指先によるタッピング動作の説明図を示す。
【図44】フィードバックから仮想カーソルの表示までの説明図を示す。
【図45】仮想カーソルがロック状態となる状態の説明図を示す。
【図46】仮想カーソルの表示を指示する掌の動きの説明図を示す。
【図47】クリック操作の手の動きの説明図を示す。
【図48】ダブルクリック操作の手の動きの説明図を示す。
【図49】フリップ操作の手の動きの説明図を示す。
【図50】ドラッグアンドドロップ操作の手の動きの説明図を示す。
【図51】画面の拡大/縮小を指示する操作の手の動きの説明図を示す。
【図52】画面の回転を指示する操作の手の動きの説明図を示す。
【発明を実施するための形態】
【実施例1】
【0027】
図1は、本発明による入力装置1aの第1の実施の形態を示すブロック図で、Aは被写体を撮影するウェブカメラ或いはビデオカメラなどの可視光カメラによる右眼用撮像装置、Bはこの右眼用撮像装置Aから所定の間隔を置いた位置に、右眼用撮像装置と並んで配置され、被写体を撮影するウェブカメラ或いはビデオカメラなどの可視光カメラによる左眼用撮像装置である。Cは右眼用撮像装置A及び左眼用撮像装置Bから取り込んだ被写体の画像から両眼視差によりこの被写体までの距離を測定する距離測定手段、Dは右眼用撮像装置A及び左眼用撮像装置Bとの間の間隔に基づいて予め設定してある両眼視差法による奥行き距離と距離測定手段Cが測定した被写体までの距離とを比較することで被写体が操作者であるかを判定する被写体判別手段である。そして、Eは被写体判別手段Dが被写体を操作者と判定したとき、被写体の手、又は指先の動きを検出し、この検出結果に応じた操作指示を生成する操作指示生成手段である。
【0028】
本発明の入力装置1aは、右眼用撮像装置A及び左眼用撮像装置Bからの視野内での空間の奥行きを狭く設定するために、横方向に並べて配置した右眼用撮像装置A及び左眼用撮像装置Bの間隔から両眼視差により割り出した被写体までの奥行き距離を予め検知領域に設定している。そして、右眼用撮像装置A及び左眼用撮像装置Bが実際の被写体を捉えると、距離測定手段Cは撮像装置A、Bから取り込んだ被写体の画像から両眼視差によりこの被写体までの距離を測定する。そして、被写体判別手段Dは、距離測定手段Cが測定した被写体めでの距離と予め設定している奥行き距離とを比較し、許容誤差範囲内で一致していればこの被写体は操作者であると判断し、操作指示生成手段Eは、操作者の手、又は指先の動きを検出し、この検出結果に応じたパソコン(図示せず)への操作指示を生成する。
【0029】
このように本発明による入力装置1aは、両眼視差法で得られた被写体までの距離を評価することで背景画像と区別して、操作者が撮像装置から一定の距離範囲で手や指先を動かしたかどうかを判別するものである。
【0030】
被写体(操作者)とパソコンと撮像装置A、Bとの位置関係を模式的に示す図2にて更に説明すると、図2の(ア)部は、各撮像装置A、Bの設置位置から所定距離範囲、例えば“0.3m”〜“0.8m”の範囲内にいる操作者とそれ以外の距離にいる他の人を区別している。そして、図2の(イ)部及び(ウ)部で示すように、距離範囲dを小さくしていくと、操作者の手、指先などの動きを検知する領域が空間から平面へと近づく。そして、距離dを、右眼用撮像装置A及び左眼用撮像装置Bの間隔から両眼視差法により割り出した被写体までの奥行き距離に略一致するまで小さく設定すると、図2の(ウ)部にて示されるような仮想タッチスクリーンFが操作者と撮像装置A、Bとの間に形成される。仮想タッチスクリーンFは、撮像装置からの視野内の平面に操作者が指先を差し込むことでその座標を検出し、パソコン2のディスプレイ部にマッピングするのと同じような機能を達成する。
【0031】
従って、奥行き距離を外れた空間で操作者が手、指先などを動かし、この画像が撮像装置A、Bで撮像されても、仮想タッチスクリーンFへの入力動作とは見做さず、被写体判別手段Dでは無視されるために操作判定手段Eでは入力動作として検出されることがない。このような仮想タッチスクリーンを備えた入力装置1aは、仮想タッチスクリーンF上での以外の背景の動作は全て無効となるために、入力装置としての動作が確実となる。両眼視差法に依ると、横方向に並べた撮像装置A、Bの間隔が凡そ5cmで奥行き距離は1cmとなる。
【0032】
図3は図1による入力装置1aの具体的な構成例をブロック図にて示している。この図に示す入力装置1aは、パソコン2のディスプレイ部3に設けられる左眼用撮像装置である内蔵型のウェブカメラ4と、パソコン2内に設けられるビデオキャプチャ5と、パソコン2のディスプレイ部3に設けられる右眼用撮像装置である外付け型のウェブカメラ6と、パソコン2内に設けられるUSBインタフェース7と、パソコン2内に設けられるハードディスク8と、パソコン2内に設けられるCPU9と、パソコン2内に設けられるメモリ10とによって構成されている。入力装置1aは、各ウェブカメラ4,6で得られたカラー画像について両眼視差法を用いて解析し、各ウェブカメラ4、6の設置位置からの距離に基づいて、操作者とそれ以外の距離にいる他の人とを区別しながら、操作者の手、指先などの動きのみを検出し、パソコン2のディスプレイ部3に表示された仮想カーソル25〔図27の(b)参照〕、操作対象画面(OS画面、アプリケーション画面)などを制御し、現在、起動中のアプリケーションをコントロールする。
【0033】
ウェブカメラ4は、320画素×240画素程度の解像度を持つカラーカメラであり、ビデオキャプチャ5から撮影指示が出されているとき、操作者を撮影して得られたカラービデオ信号をビデオキャプチャ5に供給する。
【0034】
ビデオキャプチャ5は、システムバス12を介して、CPU9から撮影指示が出されているとき、ウェブカメラ4を制御して操作者を撮影すると共に、撮影動作で得られたカラービデオ信号を取り込み、RGB信号形式のカラー画像に変換してCPU9に供給する。
【0035】
また、ウェブカメラ6は、ウェブカメラ4から水平方向に所定距離だけ離れてディスプレイ部3の上縁などに取り付けられた、320画素×240画素程度の解像度を持つカラーカメラであり、USBインタフェース7から撮影指示が出されているとき、操作者を撮影して得られたYUV信号をUSBインタフェース7に供給する。
【0036】
USBインタフェース7は、システムバス12を介して、CPU9から撮影指示が出されているとき、ウェブカメラ6を制御して操作者の画像を撮影すると共に、撮影動作で得られたYUV信号を取り込んでCPU9に供給し、RGB信号形式のカラー画像に変換する。
【0037】
ハードディスク8は、OS(Operating System)、定数データなどが格納されるOS格納エリア13と、インターネットエクスプローラプログラム、ブラウザプログラムなどのアプリケーションプログラムが格納されるアプリケーション格納エリア14と、本発明で使用する右眼側画像処理プログラム・左眼側画像処理プログラム・画像処理プログラムが格納される画像処理プログラム格納エリア15と、HSV(色相・彩度・明度)方式で、予め設定されている特定色(例えば、肌色)のカラー画像を抽出するのに必要なカラーマスク、2値化画像、ヒストグラム、仮想カーソル活動領域画像27(図17参照)、仮想ボタンクリック活動領域画像などが格納される画像格納エリア16とを備えている。そして、CPU9から読み出し指示が出力されたとき、システムバス12を介してこれを取り込み、指定されたエリアに格納されているOS、定数データ、アプリケーションプログラム、画像処理プログラム、2値化画像、ヒストグラム、仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像などを読み出し、システムバス12を介してCPU9に供給する。また、CPU9から書き込み指示、データが出力されたとき、システムバス12を介してこれらを取り込み、書き込み指示で指定されたエリア、例えば画像格納エリア16などにデータを記憶させる。
【0038】
CPU9は、ハードディスク8に格納されているOS、定数データ、アプリケーションプログラムなどで指定された表示データを生成してシステムバス12に接続された表示インタフェース11に供給し、ディスプレイ部3に操作対象画面を表示させる。また、右眼側画像処理プログラム、左眼側画像処理プログラム、画像処理プログラムなどで記述された画像処理を行い、操作対象画面に表示されている仮想カーソルのサイズ、位置などの制御、クリック制御、スクロール制御、画面回転制御、画面拡大制御、画面縮小制御などを行う。
【0039】
メモリ10は、数百メガバイト〜数ギガバイト程度の容量を持ち、CPU9がアプリケーションプログラム、右眼側画像処理プログラム、左眼側画像処理プログラム、画像処理プログラムなどで指定された処理を行うときの一時データ格納エリアとして使用される。
【0040】
本発明による入力装置1aは操作者とウェブカメラ4,6との間に仮想タッチスクリーンを形成するものであるが、操作者はパソコン2のディスプレイ部3に向けて操作を行うために、操作者側から見ると操作者とディスプレイ部3との間に仮想タッチスクリーンが形成されていることになる。したがって、ウェブカメラ4,6の取り付け位置によっては、両方の仮想タッチスクリーンの位置が大きく異なるという問題がある。
【0041】
例えば、ウェブカメラ4,6を天井から極端に下を向けた図4の(a)部で示すような場合などにおいては、カメラ視野からの仮想タッチスクリーン画面S1とディスプレイ部3に対する操作者視野からの仮想タッチスクリーン画面S2との座標軸が大きく異なるために、ウェブカメラ4,6からの画像を入力する入力装置1aは操作者がディスプレイ部3に向けて行う動作を正確に捉えることができないことがある。
【0042】
したがってウェブカメラ4,6の取り付け位置によっては、図4の(b)部で示すように、両眼のウェブカメラ4,6により得られたカメラ視野からの仮想タッチスクリーン画面S1の平面座標Pin=(x,y,d)を、操作者視野からの仮想タッチスクリーン画面S2の平面座標Pin=(X,Y,D)へ変換するのが好ましい。以下、この変換方法について説明する。
【0043】
カメラ視野からの仮想タッチスクリーン画面S1の平面座標Pin=(x,y,d)を、操作者視野からの仮想タッチスクリーン画面S2の平面座標Pin=(X,Y,D)に変換を行うには、入力装置1aは操作者視野からの仮想タッチスクリーン画面S2の平面モデルを初期設定するための校正動作を行う必要がある。
【0044】
《平面モデルの初期設定》
操作者がディスプレイ部3の前面に仮想タッチスクリーンがあると仮定して操作を行う平面モデルの初期設定について、図5のフローチャート及び図6の模式図に基づき説明する。
【0045】
まず操作者は、視野上に見えるパソコン2のディスプレイ部3の画面上の左上、右上、左下の順番で3点P1,P2,P3をタップするが、CPU9はこれによりウェブカメラ4,6視野からの仮想タッチスクリーン画面S1上でのP1=(x1,y1,d1)、P2=(x2,y2,d2)、P3=(x3,y3,d3)をそれぞれ測定する(ステップS101)。ここで、x,y,dは次の通り。
x:ウェブカメラの画像上の横軸値
y:ウェブカメラの画像上の縦軸値
d:ウェブカメラからの距離
【0046】
そして、CPU9は、仮想タッチスクリーン画面S1平面の法線ベクトルnを求める(ステップS102)。平面の法線ベクトルnは、入力3点を含む平面に直交するので、同時に3点内の任意の2点を結ぶベクトルに直交する。よって法線ベクトルnは、次式で求まる。最後にはノルムを1のベクトルに正規化する。
n=(P1−P2)×(P1−P3) (×は外積計算を示す)
【0047】
次に、CPU9は、仮想タッチスクリーン画面S1平面の位置ベクトルpを求める(ステップS103)。平面の位置ベクトルpは、平面上のどの点へのベクトルでも良いが、ここでは、仮想スクリーンの中心へのベクトルとなるように設定する。そのためには、入力点P1を平面の位置ベクトルと仮に定め、この位置ベクトルと、ウェブカメラ4,6から仮想タッチスクリーン画面S1平面に直行する直線に関するその位置ベクトルpl=(0,0,0)及び方向ベクトルd1=(0,0,1)との交点cを求める。
【0048】
交点cは、直線の位置ベクトルplと方向ベクトルdl、平面の位置ベクトルppと法線ベクトルnpを用いて、以下の数式のように求められる。尚、式中の・は内積計算を表している。
【0049】
【数1】
【0050】
そして、CPU9は、仮想タッチスクリーン画面S2のX、Y軸の基底ベクトルを求める(ステップS104)。基底ベクトルは、新たな入力点を仮想タッチスクリーン画面S2に射影したときの座標X,Y,Dを計算するときに用いるもので、Dの基底ベクトルは平面の法線ベクトルを使用するため、新たに作成するのはX,Y軸のみである。
【0051】
X軸の基底ベクトルnxは、平面の位置ベクトルpからX軸(pl=(0,0,0)、dl=(1,0,0))と平面が交わる点へのベクトルを計算すればよい。Y軸の基底ベクトルnyは、平面の位置ベクトルpからY軸(pl=(0,0,0)、dl=(0,1,0))と平面が交わる点へのベクトルを計算すればよい。すなわち、それぞれ平面の位置ベクトルpで減算し、pからの方向ベクトルとする。
【0052】
そして、求めた基底ベクトルnx、nyを平面のパラメータに追加する。最後にnxとnyはノルム1に正規化する。
【0053】
以上により、操作者がパソコン2に指示を与えるべく仮想タッチスクリーンに指先を差し込むと、ウェブカメラ4,6にて検出される仮想タッチスクリーン画面S1上の点Pin=(x,y,d)は、平面のパラメータの法線ベクトルn,位置ベクトルp,基底ベクトルnx,基底ベクトルnyを用いてCPU9が次の計算を行うことで、仮想タッチスクリーン画面S2上の点Pin=(X,Y,D)に変換することができる。
X=nx・(Pin−p)
Y=ny・(Pin−p)
D=n・(Pin−p)
(・は内積計算を表す)
【0054】
以上のような補正を行うことにより、カメラ視野からの仮想タッチスクリーンと操作者視野からの仮想タッチスクリーンとを一致させることができ、ウェブカメラ4,6の設置場所がより柔軟な入力装置が提供される。尚、操作者視野からの仮想タッチスクリーン上の座標でのタップに有効な矩形領域を予め保持しておき、その領域値に基づきX軸を0〜320、Y軸を0〜240などに変換し、続く被写体判別後の処理が扱いやすい値に設定している。
【0055】
次に、入力装置1aへの入力動作について画像処理動作、カーソル制御動作、画面制御動作などを説明する。
【0056】
《2値化画像生成、格納》
まず、パソコン2の電源が投入されて、アプリケーションプログラム、右眼側画像処理プログラム、左眼側画像処理プログラム、画像処理プログラムが起動されると、図7のフローチャートに示すようにCPU9によって、ビデオキャプチャ5が制御されて、ウェブカメラ4の撮影動作で得られたカラービデオ信号が取り込まれると共に、RGB信号形式のカラー画像に変換されてメモリ10などに一時記憶される(ステップS1)。
【0057】
また、この動作と並行し、CPU9によってUSBインタフェース7が制御されて、ウェブカメラ6の撮影動作で得られたYUV信号が取り込まれると共に、RGB信号形式のカラー画像に変換されてメモリ10などに一時記憶される(ステップS2)。
【0058】
また、これらの各動作と並行し、CPU9によってメモリ10などに一時記憶されている各カラー画像(各ウェブカメラ4,6の撮影動作で得られたカラー画像)のうち、パソコン2側から操作者を見たとき右眼に対応するウェブカメラ、例えば外付け型のウェブカメラ6で得られたカラー画像が読み取られる(ステップS3)。
【0059】
この後、CPU9によってグレー化/2値化画像処理が開始される(ステップS4)。即ち、図8のフローチャートに示すようにハードディスク8の画像格納エリア16に格納されているカラーマスクで、外付け型のウェブカメラ6で得られたカラー画像がマスクされ、カラー画像の中から予め設定されている特定色(例えば、肌色)のカラー画像(肌色画像)が抽出されると共に(ステップS21)、外付け型のウェブカメラ6で得られたカラー画像がグレー処理化されて、予め設定されている階調のモノクロ画像に変換され、1フレーム分の画像容量を低減させる(ステップS22)。
【0060】
そして、CPU9によって画面分割指示が設定されているかどうかがチェックされ、画面分割指示があればモノクロ画像が複数のエリア(各エリアは各々、数個〜数十個の画素によって構成される)に分割され、また画面分割指示がなければ分割処理がスキップされた後、最大尤度しきい値法でモノクロ画像が2値化され、2値化画像が作成される(ステップS23)。
【0061】
次いで、CPU9によって2値化画像と肌色画像との論理和が取られて、2値化画像中の肌色部分が抽出され(ステップS24)、これが1フレーム分の2値化画像(右眼側の2値化画像)としてハードディスク8の画像格納エリア16に格納される(ステップS25)。
【0062】
この後、CPU9によって図7のフローチャートに示すようにメモリ10などに一時記憶されている各カラー画像(各ウェブカメラ4,6の撮影動作で得られた各カラー画像)のうち、パソコン2側から操作者を見たとき左眼に対応するウェブカメラ、例えば内蔵型のウェブカメラ4で得られたカラー画像が読み取られる(ステップS5)。
【0063】
次いで、CPU9によってグレー化/2値化画像処理が開始される(ステップS6)。即ち、図8のフローチャートに示すようにハードディスク8の画像格納エリア16に格納されているカラーマスクで内蔵型のウェブカメラ4で得られたカラー画像がマスクされ、カラー画像の中から予め設定されている特定色(例えば、肌色)のカラー画像(肌色画像)が抽出されると共に(ステップS21)、内蔵型のウェブカメラ4で得られたカラー画像がグレー処理化されて、予め設定されている階調のモノクロ画像に変換され、1フレーム分の画像容量を低減させる(ステップS22)。
【0064】
そして、CPU9によって画面分割指示が設定されているかどうかがチェックされ、画面分割指示があればモノクロ画像が複数のエリア(各エリアは各々、数個〜数十個の画素によって構成される)に分割され、また画面分割指示がなければ分割処理がスキップされた後、最大尤度しきい値法でモノクロ画像が2値化され、2値化画像が作成される(ステップS23)。
【0065】
次いで、CPU9によって2値化画像と肌色画像との論理和が取られて、2値化画像中の肌色部分が抽出され(ステップS24)、これが1フレーム分の2値化画像(左眼側の2値化画像)としてハードディスク8の画像格納エリア16に格納される(ステップS25)。
【0066】
以下、上述した画像処理が繰り返され、FIFO(First・In・First・Out)形式でハードディスク8の画像格納エリア16に右眼側の2値化画像、左眼側の2値化画像が各々数フレーム分〜数十フレーム分蓄積される。
【0067】
《フレーム間差分、ヒストグラム作成》
また、この動作と並行し図7のフローチャートに示すように、CPU9によってハードディスク13の画像格納エリア16に格納されている数フレーム分〜数十フレーム分の2値化画像の中から、右眼側に対応する最新の2値化画像を含む連続する数フレームの2値化画像が順次読み出される(ステップS7)。
【0068】
そして、CPU9によって読み出すことができた2値化画像のフレーム数がチェックされ、所定数以上のフレーム数であれば(ステップS8)、フレーム間差分/ヒストグラム作成処理が開始される(ステップS9)。即ち、図9のフローチャートに示すように、各2値化画像のうち、連続する2フレーム分の2値化画像に対しフレーム間差分処理が行われると共に(ステップS31、S32)、このフレーム間差分処理で得られた各差分画像が各分割エリア毎に累積加算されて右眼側のヒストグラムが作成され、ハードディスク8の画像格納エリア16に格納される(ステップS33、S34)。
【0069】
次いで、図7のフローチャートに示すように、CPU9によってハードディスク13の画像格納エリア16に格納されている数フレーム分〜数十フレーム分の2値化画像の中から左眼側に対応する最新の2値化画像を含む、連続する数フレームの2値化画像が順次読み出される(ステップS10)。
【0070】
そして、CPU9によって読み出すことができた2値化画像のフレーム数がチェックされ、所定数以上のフレーム数であれば(ステップS11)、フレーム間差分/ヒストグラム作成処理が開始される(ステップS12)。即ち、図9のフローチャートに示すように、各2値化画像のうち、連続する2フレーム分の2値化画像に対しフレーム間差分処理が行われると共に(ステップS31、S32)、このフレーム間差分処理で得られた各差分画像が各分割エリア毎に累積加算されて左眼側のヒストグラムが作成され、ハードディスク8の画像格納エリア16に格納される(ステップS33、S34)。
【0071】
《統計処理、仮想カーソルの活動領域決定、変化領域抽出》
この後、図7のフローチャートに示すように、CPU9によってハードディスク8の画像格納エリア16に格納されている右眼側のヒストグラムが読み出されて(ステップS13)、活動矩形領域抽出処理が開始される(ステップS14)。即ち、図10のフローチャートに示すように、ヒストグラムの各分割エリアの濃度値に対する統計処理が行われ、平均値、濃度分散値、最大値、偏差(±1σ、±2σ)などが演算される(ステップS41)。
【0072】
次いで、CPU9によってヒストグラムの各分割エリアの中から、変化領域矩形抽出用のしきい値(例えば、平均値−1σ)より大きい濃度値になっている各分割エリアが抽出され、これらの各分割エリア(活動分割エリア)を含むように矩形状の変化領域矩形(図17、図18参照)が決定されて、ハードディスク8の画像格納エリア16に格納される。
【0073】
また、この動作と並行し、CPU9によって図13の3次元濃度分布図に示すようにヒストグラムを構成している各分割エリア20(図17、図18参照)のうち、仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)より大きい濃度値になっている分割エリア(活動分割エリア21)が抽出される。
【0074】
これにより、操作者が指先を大きく回しているとき、図17に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されると共に、この決定結果に基づき図19に示すような右眼側の仮想カーソル活動領域画面27が作成されて、ハードディスク8の画像格納エリア16に格納される。
【0075】
また、操作者が両手を動かしているときには、図18に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されて、図20に示すような右眼側の仮想カーソル活動領域画像27が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS42)。
【0076】
《仮想ボタンクリックの活動領域決定》
この後、CPU9によってハードディスク8の画像格納エリア16に格納されている右眼側のヒストグラムが読み出されて、各分割エリア20のうち仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)より大きい濃度値になっている分割エリア(活動分割エリア)が抽出されると共に、これらの各活動分割エリアを含むように矩形状の活動矩形領域が決定されて、右眼側の仮想ボタンクリック活動領域画像(図示は省略する)が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS43)。
【0077】
《多段階矩形オブジェクト抽出処理、影の影響除去》
次いで、CPU9によって仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)を使用して得られた右眼側の仮想カーソル活動領域画像27、仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)を使用して得られた右眼側の仮想ボタンクリック活動領域画像に対し、各々活動矩形領域26が左右に分割可能かどうかチェックされ、左右に分割可能であれば、図21に示すように活動矩形領域26の水平方向中心点“A”が求められると共に、水平方向中心点“A”から左側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“B”と、水平方向中心点“A”から右側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“C”とが検知され、これら境界点“B”、“C”を含む領域が各活動矩形領域26と判定され、それ以外の活動領域が操作者の影などによる不要な活動領域と判定され、無効とされる(2点抽出処理)。
【0078】
この後、CPU9によって、2点抽出処理が終了した各活動矩形領域26に対し、各々活動矩形領域26が上下に分割可能かどうかチェックされ、上下分割可能であれば図22に示すように活動矩形領域26の上下方向中心点“A”が求められると共に、上下方向中心点“A”から上側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“B”が検知され、これら境界点“B”を含む領域が活動矩形領域26と判定され、下の活動領域が操作者の影などによる不要な活動領域と判定され、無効とされる(最小化処理)(ステップS44)。
【0079】
次いで、CPU9によって、これら2点抽出処理、最小化処理によって構成される多段階矩形オブジェクト抽出処理で得られた活動矩形領域26を含む右眼側の仮想カーソル活動領域画像27、右眼側の仮想ボタンクリック活動領域画像が、ハードディスク8の画像格納エリア16に格納される(ステップS45)。
【0080】
《統計処理、仮想カーソルの活動領域決定、変化領域抽出》
この後、図7のフローチャートに示すようにCPU9によって、ハードディスク8の画像格納エリア16に格納されている左眼側のヒストグラムが読み出されて(ステップS15)、活動矩形領域抽出処理が開始される(ステップS16)。即ち、図10のフローチャートに示すように、ヒストグラムの各分割エリアの濃度値に対する統計処理が行われ、平均値、濃度分散値、最大値、偏差(±1σ、±2σ)などが演算される(ステップS41)。
【0081】
次いで、CPU9によって変化領域矩形抽出用のしきい値(例えば、平均値−1σ)より大きい濃度値になっている各分割エリア20が抽出されて、これらの各分割エリア(活動分割エリア)を含むように矩形状の変化領域矩形が(図17、図18参照)決定され、ハードディスク8の画像格納エリア16に格納される。
【0082】
また、この動作と並行しCPU9によって、図16の3次元濃度分布図に示すようにヒストグラムを構成している各分割エリア20(図17、図18参照)のうち、仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)より大きい濃度値になっている分割エリア(活動分割エリア21)が抽出される。
【0083】
これにより、操作者が指先を大きく回しているとき、図17に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されると共に、この決定結果に基づき図19に示すような左眼側の仮想カーソル活動領域画面27が作成されて、ハードディスク8の画像格納エリア16に格納される。
【0084】
また、操作者が両手を動かしているときには、図18に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されて、図20に示すような左眼側の仮想カーソル活動領域画像27が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS42)。
【0085】
《仮想ボタンクリックの活動領域決定》
次いで、CPU9によってハードディスク8の画像格納エリア16に格納されている左眼側のヒストグラムが読み出されて、各分割エリア20のうち仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)より大きい濃度値になっている分割エリア(活動分割エリア)が抽出されると共に、これらの各活動分割エリアを含むように矩形状の活動矩形領域が決定されて、左眼側の仮想ボタンクリック活動領域画像(図示は省略する)が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS43)。
【0086】
《多段階矩形オブジェクト抽出処理、影の影響除去》
次いで、CPU9によって仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)を使用して得られた左眼側の仮想カーソル活動領域画像27、仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)を使用して得られた左眼側の仮想ボタンクリック活動領域画像に対し、各々活動矩形領域26が左右に分割可能かどうかチェックされ、左右に分割可能であれば、図21に示すように活動矩形領域26の水平方向中心点“A”が求められると共に、水平方向中心点“A”から左側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“B”と、水平方向中心点“A”から右側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“C”とが検知され、これら境界点“B”、“C”を含む領域が各活動矩形領域26と判定され、それ以外の活動領域が操作者の影などによる不要な活動領域と判定され、無効とされる(2点抽出処理)。
【0087】
この後、CPU9によって、2点抽出処理が終了した各活動矩形領域26に対し各々活動矩形領域26が上下に分割可能かどうかチェックされ、上下分割可能であれば図22に示すように活動矩形領域26の上下方向中心点“A”が求められると共に、上下方向中心点“A”から上側にある非活動領域と活動領域(例えば、活動分割エリア21)との境界点“B”が検知され、これら境界点“B”を含む領域が活動矩形領域26、下の活動領域が操作者の影などによる不要な活動領域と判定され、無効とされる(最小化処理)(ステップS44)。
【0088】
次いで、CPU9によってこれら2点抽出処理、最小化処理によって構成される多段階矩形オブジェクト抽出処理で得られた活動矩形領域26を含む左眼側の仮想カーソル活動領域画像27、左眼側の仮想ボタンクリック活動領域画像が、ハードディスク8の画像格納エリア16に格納される(ステップS45)。
【0089】
上記した如く操作者の手による動きを右眼と左眼の各仮想領域活動領域画像27及び仮想ボタンクリック活動領域画像で捉えることができるが、このとき入力装置1aが操作者の意図しない手の動きを検知できるようにするとさらに良い。ヒストグラム化した活動領域を多段階で抽出した結果の活動矩形領域26が操作者の意図したポインティング、またはタッピングでない動作、例えば手を左右に振っている場合もヒストグラム化されたデータ上に活動領域が抽出される。よって、これが操作者の意図したポインティング動作によるものではないことを判断できれば、入力装置1aとしての信頼性が高まる。
【0090】
抽出された活動矩形領域が有効かどうかを判断するためには、以下の処理を行う。すなわち、図10のステップS41の処理においては、図11に示すステップS41’の処理を行い、CPU9はヒストグラム化された多段階の差分画像データのうち、最新の差分データから活動矩形領域26を抽出し、それらの点を追跡しながら一定時間保持する。
【0091】
次に、図10のステップS43の処理においては、図12に示すステップS43’の処理を行い、CPU9は仮想ボタンクリックの活動領域(最大値−2σ)が抽出されたら、ステップS41’で記憶している活動矩形領域26と比較し、該当する追跡を求めてその追跡結果が特定の大きさの領域に亘って活動している場合には、無効な活動矩形領域26と判断する。
【0092】
図37は操作者が手を右下から左上、さらに左下、次に右上に移動した場合に抽出される活動領域を示しているが、活動矩形領域26の追跡データから生成された活動領域は大きな動きの中で生成されたもの判断してノイズとして無視する。
【0093】
CPU9による上記処理にて抽出活動領域が操作者の意図しない動作により発生したものはノイズとして除去することが可能となり、操作性が向上する。
【0094】
《活動矩形領域選択》
この後、図7のフローチャートに示すように、CPU9によって活動矩形領域選択処理が開始される(ステップS17)。即ち、図13のフローチャートに示すようにハードディスク8の画像格納エリア16に格納されている右眼側の仮想カーソル活動領域画像27、右眼側の仮想ボタンクリック活動領域画像が読み出され、これら右眼側の仮想カーソル活動領域画像27、右眼側の仮想ボタンクリック活動領域画像に含まれている各活動矩形領域26に対し、図23の模式図に示すように両眼視差法による位置補正が行われ、各ウェブカメラ4,6の取り付け位置(水平距離“B”、上下距離など)、各ウェブカメラ4,6の焦点距離“f”などと対応するように各活動矩形領域26の中心座標“PR(XR、YR)”が補正された後、大きさ順に番号が付加される(ステップS51、S52)。
【0095】
次いで、CPU9によってハードディスク8の画像格納エリア16に格納されている左眼側の仮想カーソル活動領域画像27、左眼側の仮想ボタンクリック活動領域画像が読み出され、これら左眼側の仮想カーソル活動領域画像27、左眼側の仮想ボタンクリック活動領域画像の各活動矩形領域26に対し、操作者の手の位置の座標P(X,Y,D)に基づき図23の模式図に示すように両眼視差法による位置補正が行われ、各ウェブカメラ4,6の取り付け位置(水平距離“B”、上下距離など)、各ウェブカメラ4,6の焦点距離“f”などと対応するように各活動矩形領域26の座標“PL(XL、YL)”が補正された後、大きさ順に番号が付加される(ステップS53、S54)。
【0096】
このように両眼視差法による位置補正を行うことで、各ウェブカメラ4,6の焦点距離などと対応したピント位置、例えば各ウェブカメラ4,6から離れた位置に操作者の手があり、両眼視差法による位置補正を行う前、図24の模式図に示すように右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とが位置がずれていても、両眼視差法による位置補正を行うことにより、図25の模式図に示すように右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とを完全一致(又は、ほぼ一致)させることができる。
【0097】
この後、CPU9によって図26の模式図に示すように、番号“1”が付与された右眼側に対応する活動矩形領域26の中心座標“XR、YR”と、左眼側に対応する活動矩形領域26の中心座標“XL、YL”との距離(中心座標距離)が演算されて、これが番号“1”と共に、メモリ10に記憶される。
【0098】
尚、操作者の手の位置の座標P(X,Y,D)に基づき両眼視差法による位置補正が行うことを説明したが、P(X,Y,D)は操作者からの仮想タッチスクリーン画面S2上の座標であるが、このとき図4において説明したように、CPU9は平面モデルの初期設定により予め算出している平面のパラメータの方向ベクトルd,位置ベクトルn,基底ベクトルnx,基底ベクトルnyを用いて次の演算を行うことにより、ウェブカメラ4,6視野からの仮想タッチスクリーン画面S1上の座標P(x,y,d)から変換している。かかる演算による補正を行えば、ウェブカメラ4,6の設置場所がパソコン2のディスプレイ部3とかけ離れている場合でも、ディスプレイ部3に対する操作者視野での位置を検出することができる。
X=nx・(Pin−p)
Y=ny・(Pin−p)
D=n・(Pin−p)
【0099】
次いで、ステップS55、S56の処理においては、CPU9によって次の番号“2”〜最後の番号“N”が付与された右眼側に対応する活動矩形領域26の中心座標“XR、YR”と、左眼側に対応する活動矩形領域26の中心座標“XL、YL”との距離(中心座標距離)が順次演算されて、これらが次の番号“2”〜最後の番号“N”と共にメモリ10に記憶される。
【0100】
このステップ55の処理は、図1で説明した距離測定手段Cとしての動作である。すなわち、ウェブカメラ4,6の間隔と焦点距離fを予め設定すると、被写体までの距離は|XL−XR|と相関関係にあるために、中心座標距離の演算は被写体までの距離を測定していることになる。
【0101】
そして、これらの処理が終了したとき、CPU9によって、メモリ10に記憶されている各中心座標距離(|XL−XR|)が順次読み出されて、予め設定してある奥行き距離を示す所定値と比較する。この奥行き距離とは、ウェブカメラ4,6の間隔に基づいて予め設定してある両眼視差法による奥行き距離である。そして、中心座標距離と奥行き距離との比較の結果、許容範囲内で一致していると、この中心座標距離の右眼側の活動矩形領域26、左眼側の活動矩形領域26は有効な活動矩形領域と判断される。
【0102】
各ウェブカメラ4,6から予め設定してある奥行き距離から許容範囲内の位置に操作者の手があるとき、操作者の手に対応する右眼側の活動矩形領域26、左眼側の活動矩形領域26が、それぞれ有効な活動矩形領域26であると判定される。このことは、予め設定してある奥行き距離に仮想タッチスクリーンが形成されていることになり、それ以外は仮想タッチスクリーン上の操作ではないものとして、右眼側の活動矩形領域26、左眼側の活動矩形領域26はそれぞれ無効な活動矩形領域26であると判定される(ステップS57)。このとき中心座標距離と奥行き距離との比較を行う場合の許容範囲を狭く設定することで、より平面的な仮想タッチスクリーンが形成されることになり、操作者による操作以外の背景の動きを捉えることがなくなり、入力装置として動作が確実となる。
【0103】
このステップ57の処理は、図1で説明した被写体判別手段Dとしての動作である。すなわち、距離測定手段Cであるステップ55の処理にて測定した被写体までの距離と予め設定してある奥行き距離とを比較して、許容範囲内で一致しない場合にその活動矩形領域を無効とすることで、操作者による仮想タッチスクリーン上での手に対応する活動矩形領域のみを選択する。
【0104】
このように両眼視差法を用いて、活動矩形領域の位置補正を行ないながら右眼及び左眼の各活動矩形領域26の中心点間の横方向での座標距離(中心座標距離)から被写体までの距離を測定することにより活動領域26の有効性判定を精度良く行うことができるのである。しかしながら、ウェブカメラ4,6の視野で被写体の中心部分と端の部分は誤差が発生するが、これの補正について説明する。
【0105】
距離の測定は、予め測定したカメラ視野角を定数として活動領域がウェブカメラ4,6の視野のそれぞれの活動矩形領域26における中心座標距離から補正値を計算するものであるが、以下、この原理について説明する。
【0106】
図38は1台のウェブカメラ4Aの視野角から距離の変換について説明するもので、三角関数の定義から、[数2]の数式の関係が成立する。
【0107】
【数2】
w:画像上での被写体の幅[pixel]
img_w:カメラ画像の横画素数[pixel]
d:カメラと被写体までの距離[m]
δ:被写体の幅/2[m]
θw:カメラの視野角/2[rad](予め計測)
但し、wと(img_w)は、それぞれ画像中の大きさのため物理量としては「角度」となる。
【0108】
これをdについて解くと[数3]の数式となる。
【0109】
【数3】
【0110】
[数3]の数式において、θwとimg_wは定数であるので、求めたい値である距離dはδとwに依存する。ここでδは映る被写体60によって変化するため、δに依存せずに距離dを求める必要がある。
【0111】
そこで2台のウェブカメラ4,6を用いる本発明では、δに依存せずに距離dを求めることが可能である。図39はメインとサブの2台のウェブカメラの視野角から距離の変換について説明するもので、距離dは[数4]の数式にて示される。
【0112】
【数4】
w’:サブカメラの画像上での被写体の中心の横座標[pixel]と、メインカメラの画像上での被写体の中心横座標[pixel]の差の絶対値 (|XL−XR|)
δ’:被写体の位置で、サブカメラの中心視線とメインカメラの中心視線が交差する2点間の距離[m](両眼の視線が平行ならば、δ’は常に一定)
【0113】
[数4]の数式において、両眼の中心視線が平行である場合は一定であるから距離dはδ’に依存しなくなる。尚、dはδ’より十分大きく(d>>δ’)、被写体60が画像の端に存在していても近似的に成り立つ。
【0114】
上記から2台のカメラを用いれば[数5]の数式にて表すように、距離dはw’のみに依存することになる。よって、dは画素値から計算され、離散値であるため各w’のd(w’)を予め計算しておきテーブルに保存することで被写体60までの距離(d)の補正を高速にて処理することができる。
【0115】
【数5】
【0116】
以上の原理をCPU9による活動領域26の有効性の判断に取り込めば判定の精度を更に高めることができる。この場合、CPU9はステップS57の処理において、図14に示すステップ57’の処理を行い、中心座標距離w’(|XL−XR|)を演算してメモリ10に格納しているテーブルデータと照合することで被写体60までの正確な距離を測定し、この距離が予め設定してある奥行き距離の許容範囲内であるかを判定することで、活動矩形領域26の有効・無効の判断を行うものである。
【0117】
これにより、右眼側の各活動矩形領域26、左眼側の各活動矩形領域26が図26の模式図に示す関係になっていれば、中心座標距離が所定値以上になっている番号“1”に対応した右眼側の活動矩形領域(OR1)26、左眼側の活動矩形領域(OL1)26が無効と判定され、中心座標距離がほぼ“0”になっている番号“2”に対応した右眼側の活動矩形領域(OR2)26、左眼側の活動矩形領域(OL2)26が有効と判定される。
【0118】
次いで、CPU9によって、有効と判定された右眼側の活動矩形領域(OR2)26、有効と判定された左眼側の活動矩形領域(OL2)26のうち、予め指定されている方、例えば有効と判定された左眼側の活動矩形領域(OL2)26が残され、それ以外の活動矩形領域26が削除された仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像が作成され、これが両眼視差法によって操作者の手前にいる人の動き、及び背後にいる人の動きが除去された仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像としてハードディスク8の画像格納エリア16に格納される(ステップS57)。
【0119】
《片手ジェスチャによる仮想カーソルの位置、大きさ、色制御》
この後、図7のフローチャートに示すように、CPU9によって仮想カーソル制御処理/画面制御処理が開始される(ステップS18)。この処理は、図1で説明した操作指示生成手段Eとしての動作であり、ステップS17にて操作者の動作と判定した手、又は指先の動きを検出し、この検出結果に応じた操作指示を生成する。
【0120】
図15のフローチャートに示すように、ハードディスク8の画像格納エリア16に格納されている各仮想カーソル活動領域画像(両眼視差法によって、操作者の手前にいる人の動き、及び背後にいる人の動きが除去された各仮想カーソル活動領域画像)27のうち、最新の活動矩形領域26を含む数フレーム分の仮想カーソル活動領域画像27が読み出され(ステップS61)、近接した1つ以上の活動矩形領域26によって構成される活動矩形領域群が仮想カーソル活動領域画像27内に存在しているかどうかチェックされる。
【0121】
そして、最新の仮想カーソル活動領域画像27内に活動矩形領域群が存在し、その数が“1”であり、且つ、略矩形であれば(ステップS62、S63)、CPU9によって活動矩形領域群の大きさ、移動方向が判定され、判定結果に対応するように仮想カーソル制御が行われる(ステップS64)。
【0122】
例えば、図27(a)に示すように、前回とほぼ同じ、高さ、左右位置で、操作者が指先を大きく回し、これに対応して前回の処理で得られた大きな活動矩形領域群の位置と同じ位置で、大きな活動矩形領域群が得られているとき、CPU9によって仮想カーソルの表示指示であると判定されて、図27(b)に示すようにディスプレイ部3に大きなサイズ、白色の仮想カーソル25が表示される。
【0123】
また、操作者が指先を大きく回しながら上下方向、又は左右方向に移動させ、これに対応して前回の処理で得られた位置から移動する大きな活動矩形領域群が得られているとき、CPU9によって仮想カーソルの移動指示であると判定されて、指先の移動方向に対応するようにディスプレイ部3に表示されている大きなサイズ、白色の仮想カーソル25を移動させる。
【0124】
また、図28(a)に示すように、前回とほぼ同じ、高さ、左右位置で、操作者が指先を小さく回し、これに対応して前回の処理で得られた大きな活動矩形領域群の位置と同じ位置で、小さな活動矩形領域群が得られているとき、CPU9によって仮想カーソルの移動停止であると判定されて、図28(b)に示すようにディスプレイ部3に表示されている仮想カーソル25の移動を停止させると共に、サイズを小さくする。
【0125】
この状態で一定時間が経過すれば、CPU9によって仮想カーソル25の色が赤色に変更され大きな移動が禁止されると共に、OS側にカーソル移動指示が出されて、仮想カーソル25内に実カーソル28を移動させる。
【0126】
この後、操作者が指先を少し移動させれば、CPU9によってこれが検知されて、ディスプレイ部3に表示されている仮想カーソル25の位置が微調整されると共に、OS側にカーソル位置調整指示が出されて、図29に示すように実カーソル28の位置が微調整される。
【0127】
次いで、操作者が指先を動かすのを止めれば、CPU9によってこれが検知され、一定時間後に、図30に示すようにディスプレイ部3に表示されている仮想カーソル25の位置が固定されると共に、仮想カーソル25の色が赤色からグレー色に変更され、操作者にクリック可能になったことを知らせる。
【0128】
この状態でも、操作者が指先を再度大きく回せば、CPU9によってこれが検知されて、ディスプレイ部3に表示されている仮想カーソル25の色が白色に戻され、仮想カーソル25が移動可能な状態に戻される。
【0129】
《片手ジェスチャによるスクロール制御》
また、上述した仮想カーソル活動領域画像27に活動矩形領域群が存在するかどうかなどをチェックしたとき、図31に示すように活動矩形領域群の数が“1”で水平方向に長ければ(ステップS62、S63)、CPU9によって前回の活動矩形領域群に対しどちらの方向に長くなったか判定すると共に、長くなった方向に応じた右スクロール指示(又は、左スクロール指示)が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が右方向(又は、左方向)にスクロールされる(ステップS64)。
【0130】
また、上述した仮想カーソル活動領域画像27に活動矩形領域群が存在するかどうかなどをチェックしたとき、活動矩形領域群の数が“1”で上下方向に長ければ(ステップS62、S63)、CPU9によって前回の活動矩形領域群に対しどちらの方向に長くなったか判定すると共に、長くなった方向に応じた上スクロール指示(又は、下スクロール指示)が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が上方向(又は、下方向)にスクロールされる(ステップS64)。
【0131】
《片手ジェスチャによる実カーソルのクリック制御》
この後、CPU9によって仮想カーソル25の色がグレーかどうかチェックされ、仮想カーソル25の色がグレーであれば、ハードディスク8の画像格納エリア16に格納されている仮想ボタンクリック活動領域画像のうち、最新の活動矩形領域を含む数フレーム分の仮想ボタンクリック活動領域画像が読み出される(ステップS66)。
【0132】
次いで、CPU9によって仮想ボタンクリック活動領域画像内に近接した1つ以上の活動矩形領域26によって構成される活動矩形領域群が存在し、形状が変化しているかどうかチェックされ、活動矩形領域群の数が“1”であり活動矩形領域群が予め設定された変化、例えば図32(a)に示すように操作者が指さし状態から、1回だけ手を広げ、活動矩形領域群が1回だけ“小”から“大”に変化していれば(ステップS67)、シングルクリックであると判定され、OS側にシングルクリック指示が出されて、図32(b)に示すように仮想カーソル25内にある実カーソル28によってアイコンなどがシングルクリックされる(ステップS68)。
【0133】
また、操作者が指さし状態から2回以上手を広げたり縮めたりし、活動矩形領域群が複数回“大”から“小”、“小”から“大”に変化していれば(ステップS67)、CPU9によってダブルクリックであると判定され、OS側にダブルクリック指示が出されて、実カーソル28の位置にあるアイコンなどがダブルクリックされる(ステップS68)。
【0134】
《両手ジェスチャによる画面拡大、縮小制御》
また、各ウェブカメラ4,6のピント位置に操作者が右手、左手を出して、これら右手、左手を動かし、上述した仮想カーソル活動領域画像27に活動矩形領域群が存在するかどうかなどをチェックしたとき、活動矩形領域群の数が“2”になり、各々矩形になっていれば(ステップS63)、CPU9によってこれが検知されて、これら各活動矩形領域群の動きに応じてディスプレイ部3に表示されている操作対象画面の拡大、縮小、回転などが行われる(ステップS65)。
【0135】
例えば、各ウェブカメラ4,6のピント位置に操作者が右手と左手を出して、その右手と左手を互いに離れる方向に移動させ、これに対応して図33に示す2つの活動矩形領域群が存在し、図34(a)に示すように前回より広くなる方向に移動してこれら各活動矩形領域群の距離が前回より長くなったとき、CPU9によって画面拡大指示が入力されたと判定され、活動矩形領域群の距離変化比に応じた拡大率の画面拡大指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が拡大される。
【0136】
また、各ウェブカメラ4,6のピント位置に操作者が右手と左手を出して、その右手と左手を互いに近づく方向に移動させ、これに対応して2つの活動矩形領域群が図34(b)に示すように前回より狭くなる方向に移動し、これら各活動矩形領域群の距離が前回より短くなったとき、CPU9によって画面縮小指示が入力されたと判定され、活動矩形領域群の距離変化比に応じた縮小率の画面縮小指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が縮小される。
【0137】
《両手ジェスチャによる画面回転制御》
また、各ウェブカメラ4,6のピント位置に操作者が右手と左手を出して、これら右手と左手の一方を上に他方を下に移動させ、これに対応して図35に示す2つの活動矩形領域群のうち少なくとも一方が上方向(又は、下方向)に移動したとき、CPU9によって画面回転指示が入力されたと判定され、下側の活動矩形領域群に対する上側の活動矩形領域群の角度に応じた回転角度の画面回転指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が回転される。
【0138】
この際、図36(a)に示すように各活動矩形領域群の左右距離が狭い状態で、一方が大きく上方に移動し下側の活動矩形領域群に対する上側の活動矩形領域群の角度が大きいとき、CPU9によって大きな回転角度の画面回転指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が大きく回転される。
【0139】
また、図36(b)に示すように各活動矩形領域群の左右距離が広い状態で、一方が小さく上方に移動し下側の活動矩形領域群に対する上側の活動矩形領域群の角度が小さいとき、CPU9によって小さな回転角度の画面回転指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が小さく回転される。
【0140】
このように、本発明の第1の実施形態においては、各ウェブカメラ4,6によって操作者を撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理、活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理を行い操作者の手の動きを検知し、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うようにしているので、次に述べる効果を得ることができる。
【0141】
また、各ウェブカメラ4,6によって操作者を撮影して得られたカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理を施して得られた2値化画像を画像格納エリア16に格納するため、ハードディスク8の容量が小さい場合にも入力装置1aを構成することができ、装置全体のコストを低く抑えることができる。
【0142】
また、各ウェブカメラ4,6によって操作者を撮影して得られたカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理など、少ない段数の画像処理を施して1フレーム分の2値化画像を得るようにしているので、CPU9に大きな負担をかけることを防ぎ、これによって処理速度が速くない安価なCPU9を使用した場合でもほぼリアルタイムで操作者の動きに対応するように、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うことができ、装置全体のコストを低く抑えることができる。
【0143】
また、各ウェブカメラ4,6によって操作者を撮影して得られた右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とに対し、両眼視差法で中心座標位置を補正した後、大きさ順に番号を付けて中心座標位置を比較し、この比較結果に基づきピント位置に対応する右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とを選択するようにしているので、各ウェブカメラ4,6のピント位置にある操作者の手以外のもの、例えば操作者の後ろに人がいて動いていても、これに影響されることなく操作者の手の動きのみを抽出して、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うことができる。
【0144】
また、本発明の第1の実施形態では、操作者が片手だけを動かしているとき仮想カーソル制御指示、又は操作対象画面のスクロール制御であると判定し、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面のスクロール制御などを行うようにしているので、片手だけでディスプレイ部3に表示されている仮想カーソル25のサイズ、位置、色、クリック、操作対象画面のスクロールなどを遠隔操作することができる。
【0145】
また、本発明の第1の実施形態では、操作者が両手を動かしているとき、右手の動き、左手の動きを各々検出し、操作対象画面の拡大/縮小制御指示、又は操作対象画面の回転制御指示であると判定するようにしているので、操作者が右手、左手を動かすだけでディスプレイ部3に表示されているアプリケーション画面(操作対象画面)を拡大、縮小、回転させることができる。
【0146】
また、本発明の第1の実施形態では、活動矩形領域抽出処理においてヒストグラムを統計処理して得られた結果を使用し、ヒストグラムから仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像を作成するようにしているので、操作者の手など動いている部分を正確に検知することができ、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる。
【0147】
また、本発明の第1の実施形態では、活動矩形領域抽出処理において仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像に対し、多段階矩形オブジェクト抽出処理を行うようにしているので、操作者の影などに起因する誤動作を防止し、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる。
【実施例2】
【0148】
図40は、本発明による入力装置の第2の実施形態を示すブロック図である。この図に示す入力装置1bは、箱形に形成されたプラスチック部材などによって構成され、パソコン、テレビ、エアコン、大画面スクリーン装置などの遠隔操作対象機器の近傍に配置される入力装置筐体(図示は省略する)と、入力装置筐体の前面左側に取り付けられ、操作者を撮影してカラー画像信号を出力する右眼用撮像装置である右眼用ビデオカメラ本体(カラーカメラ本体)30と、入力装置筐体内に配置され、右眼用ビデオカメラ本体30で撮影されたカラー画像を処理して、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像を生成する右眼側画像処理基板31と、入力装置筐体の前面右側に取り付けられ、操作者を撮影してカラー画像信号を出力する左眼用撮像装置である左眼用ビデオカメラ本体32と、入力装置筐体内に配置され、左眼用ビデオカメラ本体(カラーカメラ本体)32で撮影されたカラー画像を処理して、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を生成する左眼側画像処理基板33と、入力装置筐体内に配置され、右眼側画像処理基板31から出力される右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側画像処理基板32から出力される左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を画像処理して操作者の手の動きに対応するポインティングデータを生成し、USBケーブル、信号接続ケーブルなどのケーブルを介して、パソコン、テレビ、エアコン、大画面スクリーン装置などの遠隔操作対象機器などに供給する共通処理基板34とを備えている。
【0149】
そして、操作者を撮影して得られたカラー画像を解析して、影などの影響、操作者の手前側にいる人、及び背後にいる人の影響などを取り除きながら、操作者の手の動きに対応したポインティングデータを生成し、入力装置1b→ケーブル→遠隔操作対象機器なる経路でポインティングデータを遠隔操作対象機器に供給し、この遠隔操作対象機器の動作を制御する。
【0150】
右眼用ビデオカメラ本体30は、320画素×240画素程度の解像度を持つカラーカメラによって構成されており、右眼側画像処理基板31から電源電圧、クロック信号などが出されているとき操作者を撮影し、これによって得られたカラービデオ信号を右眼側画像処理基板31に供給する。
【0151】
右眼側画像処理基板31は、右眼用ビデオカメラ本体から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、HSV(色相・彩度・明度)方式で予め設定されている特定色(例えば、肌色)のカラー画像を抽出するのに必要なカラーマスクを使用して、カラー画像中の肌色画像を抽出する肌色画像抽出回路35と、右眼用ビデオカメラ本体30から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、予め設定されている階調のモノクロ画像に変換するグレー化処理回路36と、グレー化処理回路36から出力されるモノクロ画像を予め設定されている画面分割数で分割する(但し、画面分割設定されていないときこの画面分割処理はスキップされる)と共に、最大尤度しきい値法で2値化して2値化画像にする画像分割/2値化処理回路37と、画像分割/2値化処理回路37から出力される2値化画像と肌色画像抽出回路35から出力される肌色画像との論理和を取り、2値化画像中の肌色部分を抽出する色フィルタリング処理回路38とを備えている。
【0152】
さらに、右眼側画像処理基板31は、色フィルタリング処理回路38から出力される2値化画像を数フレーム分〜数十フレーム分、一時記憶するフレームバッファ回路39と、フレームバッファ回路39に記憶されている2値化画像を順次読み出しながらフレーム間差分処理を行い、差分画像を生成するフレーム間差分処理回路40と、フレーム間差分処理回路40からフレーム単位で出力される各差分画像を各分割エリア毎に積算して、ヒストグラムを生成するヒストグラム処理回路41と、ヒストグラム処理回路41から出力されるヒストグラムに対し統計処理を行うと共に、統計処理結果を用いて仮想カーソル活動領域判定処理、仮想ボタンクリック活動領域判定処理、多段階矩形オブジェクト抽出処理などを行って、影などの影響を取り除いた右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像を生成する活動矩形領域抽出処理回路42とを備えている。
【0153】
さらに、活動矩形領域抽出処理回路42は、ヒストグラム処理回路41にて生成した多段階の差分画像データの最新の差分画像データから抽出した活動矩形領域と、前記仮想ボタンクリック活動領域画像とを比較し、抽出した活動矩形領域が仮想ボタンクリック活動領域の範囲を超えている場合は、これら抽出活動矩形領域を無効判定する処理を行うことにより、操作者が入力操作に意図していない動きをノイズとして無視することができる。
【0154】
そして、右眼用ビデオカメラ本体30から出力されるカラービデオ信号に対し、グレー化処理、画面分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を順次施して、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像を生成し、共通処理基板34に供給する。
【0155】
また、左眼用ビデオカメラ本体32は、320画素×240画素程度の解像度を持つカラーカメラによって構成されており、左眼側画像処理基板33から電源電圧、クロック信号などが出されているとき操作者を撮影し、これによって得られたカラービデオ信号を左眼側画像処理基板33に供給する。
【0156】
左眼側画像処理基板33は、左眼用ビデオカメラ本体32から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、HSV(色相・彩度・明度)方式で、予め設定されている特定色(例えば、肌色)のカラー画像を抽出するのに必要なカラーマスクを使用して、カラー画像中の肌色画像を抽出する肌色画像抽出回路43と、左眼用ビデオカメラ本体32から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、予め設定されている階調のモノクロ画像に変換するグレー化処理回路44と、グレー化処理回路44から出力されるモノクロ画像を予め設定されている画面分割数で分割する(但し、画面分割設定されていないとき、この画面分割処理はスキップされる)と共に、最大尤度しきい値法で2値化して、2値化画像にする画像分割/2値化処理回路45と、画像分割/2値化処理回路45から出力される2値化画像と肌色画像抽出回路43から出力される肌色画像との論理和を取り、2値化画像中の肌色部分を抽出する色フィルタリング処理回路46とを備えている。
【0157】
さらに、左眼側画像処理基板33は、色フィルタリング処理回路46から出力される2値化画像を数フレーム分〜数十フレーム分、一時記憶するフレームバッファ回路47と、フレームバッファ回路47に記憶されている2値化画像を順次読み出しながらフレーム間差分処理を行い、差分画像を生成するフレーム間差分処理回路48と、フレーム間差分処理回路48からフレーム単位で出力される各差分画像を各分割エリア毎に積算して、ヒストグラムを生成するヒストグラム処理回路49と、ヒストグラム処理回路49から出力されるヒストグラムに対し統計処理を行うと共に、統計処理結果を用いて仮想カーソル活動領域判定処理、仮想ボタンクリック活動領域判定処理、多段階矩形オブジェクト抽出処理などを行って、影などの影響を取り除いた左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を生成する活動矩形領域抽出処理回路50とを備えている。
【0158】
さらに、活動矩形領域抽出処理回路50は、ヒストグラム処理回路49にて生成した多段階の差分画像データの最新の差分画像データから抽出した活動矩形領域と、前記仮想ボタンクリック活動領域画像とを比較し、前述した図38に示すように、抽出した活動矩形領域が仮想ボタンクリック活動領域の範囲を超えている場合は、これら抽出活動矩形領域を無効判定する処理を行うことにより、操作者が入力操作に意図していない動きをノイズとして無視することができる。
【0159】
そして、左眼用ビデオカメラ本体32から出力されるカラービデオ信号に対し、グレー化処理、画面分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を順次施して、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を生成し、共通処理基板34に供給する。
【0160】
共通処理基板34は、両眼視差法による位置補正に必要な右眼用ウェブカメラ30、左眼用ウェブカメラ32の取り付け位置データ(水平距離“B”、上下距離など)、右眼用ウェブカメラ30、左眼用ウェブカメラ32の焦点距離“f”などの撮影条件情報が設定される撮影条件設定回路51と、右眼側画像処理基板31から出力される右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側画像処理基板33から出力される左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像に活動矩形領域が含まれるとき、撮影条件設定回路51に設定されている撮影条件情報を用いて両眼視差法で各活動矩形領域の位置を補正する処理、大きさ順に各活動矩形領域に番号を付加する処理、同じ番号が付加された各活動矩形領域の中心座標間の距離(中心座標距離)を演算する処理、所定値以下になっている各中心座標距離に対応する活動矩形領域を選択する処理、選択した活動矩形領域のみを含み、選択していない活動矩形領域を含まない左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を作成する処理などを行って、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像に含まれる操作者の手前にいる人、及び背後にいる人の動きなどの影響を取り除いた後、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を数画像分〜数十画像分保持する活動矩形領域選択処理回路52とを備えている。
【0161】
さらに、活動矩形領域選択処理回路52は、ウェブカメラ30、32の視野角を定数として右眼活動矩形領域と左眼活動矩形領域の中心点間の横方向での中心座標距離に応じて、カラーカメラから被写体までの距離を補正することでより正確に操作者の手前にいる人、及び背後にいる人の動きなどの影響を取り除くことができる。この補正の原理及び補正の演算式については、前述した図39及び[数5]の式の通りである。活動矩形領域選択処理回路52は、中心座標距離に応じて予め演算した被写体までの距離をテーブルデータで保持しておくことで高速処理を実現できる。
【0162】
斯かる活動矩形領域選択処理回路52の処理動作において、同じ番号が付加された各活動矩形領域の中心座標間の距離(中心座標距離)を演算する処理は、図1の距離測定手段Cの作用に相当する。すなわち、ウェブカメラ30、32の間隔と焦点距離fを予め設定すると、被写体までの距離は|XL−XR|と相関関係にあるために、中心座標距離の演算は被写体までの距離を測定していることになる。
【0163】
また、活動矩形領域選択処理回路52が操作者の手前にいる人、及び背後にいる人の動きなどの影響を取り除く処理は、図1の被写体判別手段Dの作用に相当する。すなわち、中心座標距離の演算処理にて測定した被写体までの距離と予め設定してある奥行き距離とを比較して、許容範囲内で一致しない場合にその活動矩形領域を無効とすることで、予め設定してある奥行き距離に仮想タッチスクリーンが形成されて、操作者による仮想タッチスクリーン上での手に対応する活動矩形領域のみを選択する。
【0164】
さらに、共通処理基板34は、活動矩形領域選択処理回路52に保持されている左眼側の各仮想カーソル活動領域画像のうち、最新の仮想カーソル活動領域画像に活動矩形領域群が存在するとき、活動矩形領域群の数、形状、移動有無、移動方向などに基づき、仮想カーソル位置指示、仮想カーソル形状指示、仮想カーソル色指示、操作対象画面スクロール指示、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などのポインティングデータを生成すると共に、仮想カーソルがクリック可能な状態になっているとき、活動矩形領域選択処理回路52に保持されている各仮想ボタンクリック活動領域画像のうち、最新の仮想ボタンクリック活動領域画像に活動矩形領域群が存在しているかどうかをチェックし、活動矩形領域群が存在しているとき、活動矩形領域群の形状などに基づきシングルクリック指示、ダブルクリック指示などのポインティングデータを生成する仮想カーソル制御処理/画面制御処理回路53を備えている。仮想カーソル制御処理/画面制御処理回路53のポインティングデータを生成する処理は、図1の操作指示生成手段Eの作用に相当する。
【0165】
そして、右眼側画像処理基板31から出力される右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側画像処理基板32から出力される左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像に活動矩形領域が含まれるとき、操作者の前にいる人の動き、操作者の背後にいる人の動きなどに起因するノイズを取り除きながら操作者の各手がどのように動いているかを判定し、この判定結果に応じて仮想カーソル位置指示、仮想カーソル形状指示、仮想カーソル色指示、操作対象画面スクロール指示、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などのポインティングデータを生成し、遠隔操作対象機器となっているパソコン、テレビ、エアコン、大画面スクリーン装置などに供給する。
【0166】
このように、この第2の実施形態では、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32によって操作者を撮影して得られた低解像度のカラー画像に対し、色フィルタリング処理、グレー化処理、画像分割/2値化処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理、活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理などを行い操作者の手の動きを検知し、仮想カーソル位置指示、仮想カーソル形状指示、仮想カーソル色指示、操作対象画面スクロール指示、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などのポインティングデータを生成し、遠隔操作対象機器に供給するようにしているので、遠隔操作対象機器側の仮想カーソルサイズ、仮想カーソル位置、仮想カーソル色、クリック、操作対象画面の上下スクロール、左右スクロール、拡大、縮小、回転などを遠隔操作することができる。
【0167】
さらに、この第2の実施形態では、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32によって操作者を撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理、活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理など、少ない段数の画像処理を施してポインティングデータを生成するようにしているので、肌色画像抽出理回路35、43、グレー化処理回路36、44、画像分割/2値化処理回路37、45、色フィルタリング処理回路38、46、フレームバッファ処理回路36、47、フレーム間差分処理回路40、48、ヒストグラム処理回路41、49、活動矩形領域抽出処理回路42、50、活動矩形領域選択回路52、仮想カーソル制御処理/画面制御処理回路53として、処理速度があまり速くない素子の使用を可能にして装置全体のコストを低く抑えながら、ほぼリアルタイムで操作者の動きを検知し、遠隔操作対象機器を制御することができる。
【0168】
また、この第2の実施形態では、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32によって操作者を撮影して得られた右眼側の各活動矩形領域と、左眼側の各活動矩形領域とに対し、両眼視差法で中心座標位置を補正した後、大きさ順に番号を付けて中心座標位置を比較し、この比較結果に基づきピント位置に対応する右眼側の各活動矩形領域と、左眼側の各活動矩形領域とを選択するようにしているので、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32のピント位置にある操作者の手以外のもの、例えば操作者の後ろに人がいて動いていても、これに影響されることなく操作者の手の動きのみを抽出して、仮想カーソルのサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うことができる)。
【0169】
そして、この第2の実施形態においても、上述した第1の実施形態と同様に、操作者が片手だけを動かしているとき、仮想カーソル制御指示、クリック制御指示、スクロール制御指示の何れかであると判定し、仮想カーソルサイズ指示、仮想カーソル位置指示、仮想カーソル色指示、スクロール制御指示、クリック指示などを示すポインティングデータを生成するようにしているので、片手だけで遠隔操作対象機器側のディスプレイに表示されている仮想カーソルのサイズ、位置、色、クリック動作、操作対象画面のスクロールなどを遠隔操作することができる。
【0170】
また、この第2の実施形態においても、上述した第1の実施形態と同様に、操作者が両手を動かしているとき、右手の動き、左手の動きを各々検出して操作対象画面の制御指示であると判定し、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などを示すポインティングデータを生成するようにしているので、操作者が右手、左手を動かすだけで遠隔操作対象機器側のディスプレイに表示されている操作対象画面を拡大、縮小、回転させることができる。
【0171】
また、本発明の第2の実施形態では、活動矩形領域抽出処理回路42、50においてヒストグラムを統計処理すると共に、統計処理結果を使用してヒストグラムから右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左側の仮想カーソル活動領域画像、左側の仮想ボタンクリック活動領域画像を作成するようにしているので、操作者の手など動いている部分を正確に検知することができ、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる。
【0172】
また、本発明の第2の実施形態では、活動矩形領域抽出処理回路42、50において、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左側の仮想カーソル活動領域画像、左側の仮想ボタンクリック活動領域画像に対し、多段階矩形オブジェクト抽出処理を行うようにしているので、操作者の影などに起因する誤動作を防止し、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる。
【実施例3】
【0173】
上述した各実施形態では、各ウェブカメラ4,6、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32で得られたカラー画像の全領域をグレー化し、2値化するようにしているが、図41のフローチャート、図42の模式図に示すようにヒストグラムを統計処理、活動矩形領域抽出処理で得られた変化領域矩形(活動矩形領域を含む矩形)65に対し、指定された拡大縮小率(例えば拡大率“10%”)で拡大/縮小した拡大/縮小矩形マスク66を作成すると共に(ステップS71)、次フレームのカラー画像全領域をグレー化して得られたモノクロ画像の中から拡大/縮小矩形マスク66に対応する部分(モノクロ画像に含まれる活動領域部分の画像67)だけを抽出して、2値化処理するようにしても良い(ステップS72)。
【0174】
このようにすれば、モノクロ画像などの中から活動領域より少し広い範囲に含まれる画像のみを有効にし、それ以外の領域にある画像を無効にして、変化領域以外の部分に存在するノイズを除去することができる。
【0175】
また、上述した第1の実施形態、及び第2の実施形態では、CPU9による色フィルタリング処理、又は色フィルタリング処理回路38、46によって、肌色のカラー画像を抽出するようにしているが、操作者が特定色の操作器、例えば赤ペンなどを使用して仮想カーソルの位置、クリック、操作対象画面のスクロール、操作対象画面の拡大、操作対象画面の縮小、操作対象画面の回転などを制御する場合には、赤色抽出用のカラーマスクを使用し、CPU9による色フィルタリング処理、又は色フィルタリング処理回路38、46によって赤色のカラー画像を抽出するようにしても良い。
【0176】
これにより、各ウェブカメラ4,6、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32の撮影範囲に複数の人がいても、操作者が持つ操作器の色に対応するカラー画像を抽出して仮想カーソルのサイズ制御、位置制御、クリック制御、操作対象画面のスクロール制御、拡大制御、縮小制御、回転制御などを行うことができる。
【0177】
また、このような色フィルタリング処理は、各ウェブカメラ4,6、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32から出力されるカラービデオ信号に含まれる操作者の手など、動いている画像を抽出するために行っている処理であることから、操作者が居る場所の照明条件が良好で、操作者の手などが動いている画像と背景画像とのコントラストが大きいとき、色フィルタリング処理を省略するようにしても良い。
【実施例4】
【0178】
本発明の入力装置に係るタッチレスインタフェース操作の好適な実施例を示す。タッチレスインタフェースは、実施例1でも説明したように、CPU9が図7のフローチャートにおけるステップS18の仮想カーソル制御処理/画面制御処理において実行される。すなわち、ウェブカメラ4,6からの画像を処理して活動領域群の形状から操作者の動作を検出して、その動きに応じた操作者からの指示を認識するのであるが、以下、具体的な操作指示方法について説明する。
【0179】
(仮想カーソルの表示操作)
操作者が図43に示すように、人指し指のみ又は人指し指と中指の両方を上下に動かす動作(タッピング動作)を行うと、CPU9は、前記したステップS64(図15)の処理にて活動領域群の形状からこの動作を検出しカーソル表示制御を開始する。
【0180】
CPU9は、先ず画面上に仮想カーソル表示開始の応答表示(フィードバック)を行なうようディスプレイ部3を制御する。このフィードバックは、例えば図44の(a)部と(b)部で示すように、グレー色のサークルを小から大へと波紋が広がるよう画面上に順次表示するものである。
【0181】
フィードバック表示の後、CPU9は、図44の(c)部で示すように仮想カーソル25Aをグレー色の第1の状態で表示するようディスプレイ部3を制御する。
【0182】
(仮想カーソルのロック操作)
そして、このグレー色での仮想カーソル25Aの表示中に、操作者がタッピング動作を停止又はその動作を小さくするのをCPU9が検出すると、CPU9は、仮想カーソル25Aを赤色の第2の状態での表示に切り換えて実カーソル28Aを表示するようディスプレイ部3を制御する(図45)。
【0183】
本実施例では、カーソル表示は操作者によるタッピング動作に応答して行うが、実施例1では指先の旋回により行っている。また、ウェブカメラ4,6に遠い位置に手又は指先による操作が有効となる空間を設定している場合は、指先のタッピング動作より図46に示すような掌を正面に向けて横に振る動き(バイバイのように)、または掌を手招きのように縦に振る動作が認識する上で好ましい。
【0184】
(実カーソルの移動操作)
CPU9は、図45で示すように仮想カーソル25Aが赤色の第2の状態にて表示されているときに、操作者が上下左右の目的の位置で上記のタッピング動作を行うのを検出するとカーソル移動制御を行う。このときCPU9は、第1の信号を生成して、ディスプレイ部3が仮想カーソル25Aをその位置まで移動して表示するよう制御する。仮想カーソル25Aが赤色の第2の状態で表示していることで、操作者は仮想カーソル25Aが移動可能であることを認識できる。
【0185】
このように、ディスプレイ部3の任意の座標位置をタッピング動作にてポインティングすることでその座標位置までカーソルを移動させることができる。
【0186】
(クリック操作及びダブルクリック操作)
CPU9は、仮想カーソル25Aがグレー色の第1の状態で表示されているときに、操作者が、図47に示すように人指し指だけを立てている状態(図47の(a)部)から全ての指を立てて掌を広げる状態(図47の(b)部)に変化させる第2の形態の動き、或いは図48に示すように人指し指だけを立てている状態(図48の(a)部)から掌を広げた状態(図48の(b)部)、そして再び人指し指だけを立てる状態(図48の(c)部)へと変化させる第3の形態の動きを行うのを検出するとクリック制御を行う。
【0187】
このときCPU9は、第2の形態の動作を検出したときはシングルクリック操作と認識して第2の信号を生成し、第3の形態の動作を検出したときはダブルクリック操作と認識して第3の信号を生成する。CPU9が第2の信号や第3の信号を生成することで、シングルクリック又はダブルクリックを認識したことを仮想カーソル25Aの色や形状、および音にて操作者に知らせることができる。そして、ディスプレイ部3の画面上のリンクやアプリケーションの選択ボタン上に実カーソル28Aを重ねた状態で第3の信号が発生すると、リンク先へのジャンプやアプリケーションの実行が開始される。実施例1の場合、シングルクリック及びダブルクリックは、操作者が一本の指での指差し状態から掌を広げ、そして指差し状態に戻す動作を行うことで認識している。
【0188】
以上、カーソルの表示と移動、及びクリック操作に関して、別の例として、カメラ4,6に掌または所定の認識オブジェクトを向ける動きで仮想カーソルを表示して、その掌が移動するのに応じて仮想カーソルを移動させ、目的の位置で掌の移動の停止にて仮想カーソルをロックして、次に掌を左右に振ることでクリックする操作方法もある。
【0189】
(フリップ操作)
CPU9は、仮想カーソル25Aが赤色の第2の状態にて表示されている図49の(a)部で示す状態のときに、操作者が、図49の(b)部から(c)部で示すように、掌を本のページを捲るように右または左に振る第4の形態の動きを行うのを検出すると画面スクロール制御を行う。このときCPU9は第4の信号を生成して、ディスプレイ部3の画面表示のスクロール動作を制御する。図49で(b)部から(c)部への動作は右方向へのフリップ操作であり、画面は左から右へとスクロールされる。
【0190】
操作者は、フリップ操作前に、仮想カーソル25Aがグレー色の第1の状態で表示しているときは、図49の(a)部で示すようにタッピング動作を行い、仮想カーソル25Aが赤色の第2の状態にて表示されてからフリップ操作を行うことでスクロールが行われる。
【0191】
(ドラッグアンドドロップ操作)
CPU9は、操作者がディスプレイ部3の画面上における目的のオブジェクトまたは画面位置で指先によるタッピング動作を検出すると、ドラッグアンドドロップ制御を行う。このときCPU9は、仮想カーソル25Aがその場所で赤色の第2の状態で表示し(図50の(a)部)、続いて、掌を画面に向けて左右に振る第5の形態の動き(図50の(b)部)を検出するとドラッグ操作を認識する。CPU9は、更に掌を画面に向けた状態で目的の位置まで移動するのを検出すると第5の信号を生成し、アイコン70を表示して掌の移動に追随して表示するようディスプレイ部3を制御する(図50の(c)部)。そして、CPU9は、操作者が指にてタップするか(図50の(d)部)、または移動を止めて数秒待ってから手を離す第6の形態の動きを検出すると、第6の信号を生成してオブジェクトのドロップを表示するようディスプレイ部3を制御する。
【0192】
このように、ドラッグアンドドロップ操作は、オブジェクト上でタッピング動作することでオブジェクトをクリックし、次に掌を左右に振ることでオブジェクトを捕え、捕えたことをアイコン70の表示にて認識すると、掌を目的の位置まで移動させ、そして指によるタッピング動作を行うことで実行される。
【0193】
以上は操作者が片腕の手若しくは指の動きにより行う操作指示であるが、両腕による手若しくは指の動きにより行う操作指示について説明する。
【0194】
(画面拡大/縮小操作)
CPU9は、ステップS65(図15)において、活動領域群の形状から操作者が両手若しくは両手の指にて2点で同時にタッピング動作するのを検出すると、2点カーソル71を表示(図51の(a)部)するようディスプレイ部3を制御する。そして、CPU9は、操作者がタッピング動作を行う両手若しくは両手の指の間隔が拡大又は縮小するのを検出すると画面拡大・縮小制御を行う。
【0195】
このときCPU9は、操作者がタッピング動作を行う両手若しくは両手の指の間隔が拡大又は縮小されるのに応じて、2点カーソル71の間隔を拡大(図51の(b)部)又は縮小(図51の(c)部)して表示するようディスプレイ部3を制御する。そして、CPU9は、2点でのタッピング動作が停止されたとき第7の信号を生成し、2点カーソル71の間隔に応じて画面の拡大表示又は縮小表示を行うようディスプレイ部3を制御する。
【0196】
(画面回転操作)
一方、CPU9は、操作者の両手若しくは両手の指による2点での同時のタッピング動作を検出して2点カーソル71を表示(図52の(a)部)しているとき、タッピング動作を行う両手若しくは両手の指の相対位置が上下に変化するのを検出すると画面回転制御を行う。
【0197】
このとき、CPU9は、操作者がタッピング動作を行う両手若しくは両手の指の上下の相対位置関係に応じて2点カーソル71を上下に幅を持たせて表示するようディスプレイ部3を制御する。そして、CPU9は、2点でのタッピング動作が停止されたとき第8の信号を生成し、2点カーソル71の上下の位置関係に応じて画面の表示を右回転又は左回転させて表示するようディスプレイ部3を制御する。すなわち、左カーソルが右カーソルより高い位置(図52の(b)部)にあるときは右回転させ、その逆(図52の(c)部)のときは左回転させる。
【0198】
本実施例では両手でのタッピング動作により画面拡大・縮小指示や画面回転指示を行うが、実施例1の画面拡大・縮小指示や画面回転指示の場合と比べて、タッピング動作を取り入れることで操作に対する認識率がより高まる。
【0199】
上記した如く、操作者が手又は指の動きにて操作指示を与える場合に、操作者に画面上の位置を知らせることが操作性の向上につながる。そのためには次の2つの方法がある。
【0200】
1つは、ウェブカメラ4,6に映った操作者自身をディスプレイ部3の画面上に透過表示するもので、CPU9はビデオキャプチャ5を制御して取り込んだ操作者の映像信号を表示I/F11を通してディスプレイ部3に出力して表示する。
【0201】
これにより、操作者は直感的に画面位置をポインティングすることができる。また、操作者の動きに合わせて、操作者自身を画面上に透過表示したり、しなかったりすることで、透過表示に邪魔されずに画面上のコンテンツを操作者が見ることができる。例えば、CPU9はステップS63の処理において、操作者による操作が停止して活動領域群が無いことを検出すると透過表示を行わず、一方操作が行われていて活動領域群の有りを検出したときは、透過表示を行うようディスプレイ部3への映像信号の出力を制御する。
【0202】
もう1つは、操作者の手先の動きを検出し、それに応じたエフェクトをディスプレイ部3の画面上に透過表示するものである。CPU9は、ステップS64若しくはステップS65の処理にて活動領域群の形状から操作者の手の動きを認識すると、その操作に応じたエフェクトを表示する。
【0203】
例えば、CPU9は、図49の(b)部から(c)部で示すような掌を右または左に振るフリップの動きを検出すると、予め画像格納エリア16に格納しているフリップのエフェクト画像を表示I/F11を通してディスプレイ部3に出力する。このようにエフェクトを表示することにより、操作者は現在ポインティングしている位置を知ることができる。
【0204】
こうした2通りの方法を同時に用いたり、或いは操作指示の動作の内容に応じて何れか一方を選択的に使い分けることで操作者にとって操作がしやすくなり、ユーザインタフェースの優れた入力装置が提供される。
【産業上の利用可能性】
【0205】
本発明は、情報端末装置やパーソナルコンピュータなどの情報機器に接続されて使用され、カメラによる操作者の動作画像から仮想タッチスクリーン上での動作を取り込み、その動きの形態から情報機器のカーソル操作やアプリケーションプログラムの選択及び実行などを制御する入力装置に関するものであり、産業上の利用可能性を有する。
【符号の説明】
【0206】
A 右眼用撮像装置
B 左眼用撮像装置
C 距離測定手段
D 被写体判別手段
E 操作指示生成手段
1a、1b 入力装置
2 パソコン
3 ディスプレイ部
4 ウェブカメラ(左眼用カラーカメラ)
5 ビデオキャプチャ
6 ウェブカメラ(右眼用カラーカメラ)
9 CPU
25、25A 仮想カーソル
26 活動矩形領域
27 仮想カーソル活動領域画像
28、28A 実カーソル
30 右眼用ビデオカメラ本体(右眼用カラーカメラ本体)
31 右眼側画像処理基板
32 左眼用ビデオカメラ本体(左眼用カラーカメラ本体)
33 左眼側画像処理基板
34 共通処理基板
35 肌色画像抽出回路
36 グレー化処理回路
37 画像分割/2値化処理回路
38 色フィルタリング処理回路
39 フレームバッファ回路
40 フレーム間差分処理回路
41 ヒストグラム処理回路
42 活動矩形領域抽出処理回路
43 肌色画像抽出回路
44 グレー化処理回路
45 画像分割/2値化処理回路
46 色フィルタリング処理回路
47 フレームバッファ回路
48 フレーム間差分処理回路
49 ヒストグラム処理回路
50 活動矩形領域抽出処理回路
51 撮影条件設定回路
52 活動矩形領域選択処理回路
53 仮想カーソル制御処理/画面制御処理回路
65 変化領域矩形
66 拡大/縮小矩形マスク
67 マスク後の画像
【技術分野】
【0001】
本発明は、情報端末装置やパーソナルコンピュータなどの情報機器に接続されて使用され、カメラ等による撮像装置によって操作者の動作画像を取り込み、情報機器のカーソル操作やアプリケーションプログラムの選択及び実行などを制御する入力装置に関する。
【背景技術】
【0002】
近年、カメラで操作者を撮影して画像解析し、この画像解析結果を使用してオーディオ装置、エアコンなどの機器を操作する入力装置が種々、提案されている。
【0003】
例えば、カメラ等の撮像装置が撮影した画像から手領域を抽出すると共に、その手の形状がどのような形状(手を傾ける、指を曲げるなど)になっているかを判定し、この判定内容に対応する手操作指示を音声、又はプロジェクト画像などで操作者に知らせるものである。
【0004】
ところで、カメラにより操作者の動作を捉える此の種の入力装置では、操作者とノイズとなる背景とを正確に識別しなければならない。そのため、余分な背景を画像に取り込まないような技術が従来から提案されている。
【0005】
例えば、赤外光を照射し、これと同期した動作をするイメージセンサを用いて、物体反射光のみを画像として取り出す入力装置が知られている。反射光の強さは一般的に物体までの距離の2乗に反比例するために、距離のある背景の物体は反射光が届かないことから、近くの物体が遠くの背景から容易に区別することができることを利用して、関係ない動きなどによる誤動作を小さくしようとするものである(例えば、特許文献1を参照)。
【0006】
また、赤外線カメラを用いて遠赤外線は撮像範囲の温度分布を撮像する装置を有する入力装置も知られている。この従来技術は、手を赤外線カメラの前にかざすと、手から放射されて赤外線カメラに入射する手の表面の温度に対応した遠赤外線は、手が近いほど赤外線カメラへの入射光量が増え、遠くなるほど入射光量が少なくなって、手と赤外線カメラとの距離の2乗に反比例することを利用して余分な背景を取り込まないようにするものである(例えば、特許文献2を参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2001−216069号公報
【特許文献2】特開2005−50177号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記した従来技術においては、特殊なセンサやカメラを必要とし、しかも操作者と背景とが接近している場合には背景もノイズとして取り込むために、誤動作を引き起こす問題点がある。
【0009】
よって本発明は、操作者とノイズとなる背景とを正確に識別して、カメラの撮影範囲内で操作者に近い位置にいる人が手を動かした場合でも、誤動作しない入力装置を提供することを目的としている。
【課題を解決するための手段】
【0010】
上記課題を達成するため本発明は、撮像装置で得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成する入力装置であって、右眼用撮像装置と、前記右眼用撮像装置から所定の間隔を置いた位置に、前記右眼用撮像装置と並んで配置される左眼用撮像装置と、被写体に対する前記右眼用撮像装置と前記左眼用撮像装置の画像から両眼視差法により前記被写体までの距離を測定する距離測定手段と、前記右眼用撮像装置と前記左眼用撮像装置との間の前記間隔に基づいて両眼視差法により割り出して予め設定してある奥行き距離と前記距離測定手段が測定した前記被写体までの距離とを比較し、前記被写体までの距離と前記奥行き距離とが所定の許容範囲内で一致している前記被写体を選択して前記操作者と判別する被写体判別手段と、前記被写体判別手段が判別した前記被写体の動きを検出し、この検出結果に応じた操作指示を生成する操作指示生成手段と、を備えたことを特徴としている。
【0011】
そして、前記操作指示の認識結果を表示するディスプレイ部を具備し、前記操作指示生成手段は、カーソルの表示待機中に前記操作者の手若しくは指による第1の形態の動きを検出すると前記ディスプレイ部に前記仮想カーソルを第1の状態で表示し、該第1の状態での表示中に前記手若しくは指による前記第1の動きが停止又は前記第1の動きが小さくなるのを検出すると前記仮想カーソルを第2の状態で表示すると共に、実カーソルを表示するカーソル表示制御手段を備えたことを特徴としている。
【0012】
そして、前記操作指示生成手段は、前記仮想カーソルが前記第2の状態で表示されているときに、前記手若しくは指が前記第1の形態の動きをすると、その手若しくは指の位置に前記カーソルの移動を指示する第1の信号を生成するカーソル移動制御手段を備えたことを特徴としている。
【0013】
そして、前記操作指示生成手段は、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第2の形態の動きを検出するとクリック操作と認識する第2の信号を生成し、第2の形態の動きに続く第3の形態の動きを検出するとダブルクリック操作と認識する第3の信号を生成するクリック制御手段を備えたことを特徴としている。
【0014】
そして、前記操作指示生成手段は、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第4の形態の動きを検出すると、前記ディスプレイ部の画面スクロールを指示する第4の信号を生成する画面スクロール制御手段を備えたことを特徴としている。
【0015】
そして、前記操作指示生成手段は、前記ディスプレイ部に表示されたオブジェクトに前記実カーソルが重ねられた状態で前記手若しくは指による第5の形態の動きを検出すると前記オブジェクトがドラッグの対象オブジェクトであることを認識し、認識後の前記手若しくは指による移動に追随した前記オブジェクトの移動を指示する第5の信号を生成し、続いて前記手若しくは指による前記第1形態での動きを検出すると前記オブジェクトのドロップを指示する第6の信号を生成するドラッグアンドドロップ制御手段を備えたことを特徴としている。
【0016】
そして、前記操作指示生成手段は、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると2点カーソルを表示し、前記第1の形態の動きを行う前記手若しくは指の間隔が拡大又は縮小されるのに応じて前記2点カーソルの間隔を拡大又は縮小表示し、前記第1の形態の動きの停止にて前記2点カーソルの間隔に応じて前記ディスプレイ部の拡大表示又は縮小表示を指示する第7の信号を生成する画面拡大・縮小制御手段を備えたことを特徴としている。
【0017】
そして、前記操作指示生成手段は、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると前記2点カーソルを表示すると共に、前記第1の形態の動きを行う前記手若しくは指の相対位置の上下の変化に応じて前記2点カーソルの相対位置を上下に変化させて表示し、前記第1の形態の動きの停止にて前記2点カーソルの上下の位置関係に応じて前記ディスプレイ部の表示の右回転又は左回転を指示する第8の信号を生成する画面回転制御手段を備えたことを特徴としている。
【0018】
また、前記ディスプレイ部は、前記撮像装置による前記操作者の画像を透過表示することを特徴としている。更に、前記ディスプレイ部は、前記操作者が操作指示の動きをしているとき前記画像を透過表示することを特徴としている。
【0019】
また、前記ディスプレイ部は、前記操作者が前記手若しくは指の動きにて行う操作指示のエフェクトを表示することを特徴としている。
【0020】
本発明の入力装置は、ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成する入力装置であって、右眼用カラーカメラと、前記右眼用カラーカメラから所定距離だけ離れた位置に、前記右眼用カラーカメラと並んで配置される左眼用カラーカメラと、被写体を捉えた前記右眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理プログラムと、前記被写体を捉えた前記左眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理プログラムと、前記右眼側画像処理プログラムで得られた右眼側活動矩形領域の座標軸と前記左眼側画像処理プログラムで得られた左眼側活動矩形領域の座標軸との中心座標距離を演算することで両眼視差法による前記被写体までの距離を測定し、測定した前記被写体までの距離を前記右眼用撮像装置と前記左眼用撮像装置との間の前記間隔に基づいて両眼視差法により割り出して予め設定してある奥行き距離と比較し、前記被写体までの距離と前記奥行き距離とが所定の許容範囲内で一致している前記右眼活動矩形領域及び前記左眼活動矩形領域を前記操作者による活動矩形領域として選択する活動領域選択処理プログラムと、前記活動領域選択処理プログラムにて選択された活動矩形領域に対し、仮想カーソル制御処理/画面制御処理を行って、前記被写体の手、又は指先の動きを検出し、この検出結果に応じた操作指示を生成する画像処理プログラムと、を備えたことを特徴としている。
【0021】
そして、前記仮想カーソル制御処理/画面制御処理は、仮想カーソル活動領域画像上に活動矩形領域群が1つあるとき、その形状、移動有無に基づき、カールソル制御指示、又は画面スクロール指示を生成することを特徴としている。一方、前記仮想カーソル制御処理/画面制御処理は、仮想カーソル活動領域画像上に活動矩形領域群が2つあるとき、その移動方向に基づき、画面回転指示、画面拡大指示、画面縮小指示の何れかを生成することを特徴としている。
【0022】
そして、前記活動矩形領域抽出処理は、ヒストグラムの統計処理結果を使用して、前記ヒストグラムから仮想カーソル活動領域画像を作成することを特徴としている。また、前記活動矩形領域抽出処理は、前記仮想カーソル活動領域画像に対し、多段階矩形オブジェクト抽出処理を行い、ノイズ成分を除去することを特徴としている。
【0023】
また、拡大/縮小矩形マスク作成処理を付加し、前記拡大/縮小矩形マスク作成処理によって、前記カラーカメラで得られたカラー画像の中から、前記仮想カーソル活動領域画像上の変化領域矩形に対応する画像を抽出し、それ以外の画像をカットして、ノイズ成分を除去することを特徴としている。
【0024】
本発明の入力装置は、ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成し、遠隔操作対象機器の動作を制御する入力装置であって、箱形に形成される入力装置筐体と、この入力装置筐体の前面左側に取り付けられる右眼用カラーカメラ本体と、前記入力装置筐体の前面右側に取り付けられる左眼用カラーカメラ本体と、前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記右眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理基板と、前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記左眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理基板と、前記入力装置筐体内に配置され、活動矩形領域選択処理回路、仮想カーソル制御処理/画面制御処理回路によって、両眼視差法を使用して、前記右眼側画像処理プログラムで得られた右眼側活動矩形領域の座標軸と前記左眼側画像処理プログラムで得られた左眼側活動矩形領域の座標軸とから被写体までの距離を演算することで両眼視差法による前記被写体までの距離を測定し、前記被写体までの距離を前記右眼用撮像装置と前記左眼用撮像装置との間の前記間隔に基づいて両眼視差法により割り出して予め設定してある奥行き距離と比較し、前記被写体までの距離と前記奥行き距離とが所定の許容範囲内で一致している前記右眼活動矩形領域及び前記左眼活動矩形領域を前記操作者による活動矩形領域として選択し、選択した前記活動矩形領域に仮想カーソル制御処理/画面制御処理を行って、前記被写体の手、又は指先の動きを検出し、この検出結果に応じたポインティングデータを生成し、遠隔操作対象機器の動作を制御する共通処理基板と、を備えることを特徴としている。
【発明の効果】
【0025】
本発明によると、操作者の動作を認知するカメラの視野内での空間の奥行きを狭く設定することで操作者と背景とを確実に識別するために、操作者以外の人の手の動きにて誤って入力されることがない。しかも、カメラ視野を設定することでかかる識別を行うために、特殊なセンサやカメラを用いずに通常のカメラにて精度の高い入力装置が提供される。
【図面の簡単な説明】
【0026】
【図1】本発明による入力装置の第1の実施形態のブロック図を示す。
【図2】操作者とパソコンと撮像装置との位置関係の模式図を示す。
【図3】図1による入力装置の具体的な構成例のブロック図を示す。
【図4】カメラ視野からの仮想タッチスクリーン画面と、パソコンのディスプレイ部に対する操作者視野からの仮想タッチスクリーン画面とを説明する模式図を示す。
【図5】操作者視野からの仮想タッチスクリーンの平面モデルを初期設定するときの詳細な動作例を示すフローチャートを示す。
【図6】操作者視野からの仮想タッチスクリーンの平面モデルを初期設定する演算に用いるパラメータを説明する模式図を示す。
【図7】図3に示す入力装置の詳細な動作例のフローチャートを示す。
【図8】図7に示すグレー化/2値化画像処理の詳細な動作例のフローチャートを示す。
【図9】図7に示すフレーム間差分/ヒストグラム作成処理の詳細な動作例のフローチャートを示す。
【図10】図7に示す活動矩形領域抽出処理の詳細な動作例のフローチャートを示す。
【図11】図10に示すフローチャートのステップ41に代えて処理するステップ41’を示している。
【図12】図10に示すフローチャートのステップ43に代えて処理するステップ43’を示している。
【図13】図7に示す活動矩形領域選択処理の詳細な動作例のフローチャートを示す。
【図14】図13に示すフローチャートのステップ57に代えて処理するステップ57’を示している。
【図15】図7に示す仮想カーソル制御処理、画面制御処理の詳細な動作例のフローチャートを示す。
【図16】図3に示す入力装置で使用される元のヒストグラム例と、変化領域抽出後のヒストグラム例との模式図を示す。
【図17】図3に示す入力装置で使用される変化領域抽出後のヒストグラム例と、仮想カーソル活動領域画像例との模式図を示す。
【図18】図3に示す入力装置で使用される変化領域抽出後のヒストグラム例と、仮想カーソル活動領域画像例との模式図を示す。
【図19】図3に示す入力装置において、活動矩形領域選択処理で選択された活動矩形領域群の一例の模式図を示す。
【図20】図3に示す入力装置において、活動矩形領域選択処理で選択された活動矩形領域群の一例の模式図を示す。
【図21】図3に示す入力装置で使用される多段階オブジェクト抽出処理の一例の模式図を示す。
【図22】図3に示す入力装置で使用される多段階オブジェクト抽出処理の一例の模式図を示す。
【図23】図3に示す入力装置で使用される両眼視差法の概要の模式図を示す。
【図24】図3に示す入力装置において、両眼視差法による補正を行う前の右活動矩形領域、左活動矩形領域の関係の模式図を示す。
【図25】図3に示す入力装置において、両眼視差法による補正を行った後の右活動矩形領域、左活動矩形領域の関係の模式図を示す。
【図26】図3に示す入力装置において、両眼視差法による補正を行った後の右活動矩形領域、左活動矩形領域の実例の模式図を示す。
【図27】図3に示す入力装置によって撮影される操作者の手の動きと、仮想カーソルとの関係例の模式図を示す。
【図28】図3に示す入力装置によって撮影される操作者の手の動きと、仮想カーソルとの関係例の模式図を示す。
【図29】図3に示す入力装置によって制御される実カーソルの微調整動作例の模式図を示す。
【図30】図3に示す入力装置によって制御される仮想カーソルの色制御例の模式図を示す。
【図31】図3に示す入力装置で使用される変化領域抽出後のヒストグラム例と、仮想カーソル活動領域画像例との模式図を示す。
【図32】図3に示す入力装置によって撮影される操作者の手の動きと、クリック動作との関係例の模式図を示す。
【図33】図3に示す入力装置によって得られる仮想カーソル活動領域画像上に2つの各活動矩形領域群があるときの一例の模式図を示す。
【図34】図3に示す入力装置によって得られる仮想カーソル活動領域画像上にある各活動矩形領域群の位置関係例の模式図を示す。
【図35】図3に示す入力装置によって得られる仮想カーソル活動領域画像上に2つの各活動矩形領域群があるときの一例の模式図を示す。
【図36】図3に示す入力装置によって得られる仮想カーソル活動領域画像上にある各活動矩形領域群の位置関係例の模式図を示す。
【図37】図3に示す入力装置において、抽出活動領域において操作者の意図しない動作により発生したものをノイズとして除去する動作を説明する模式図を示す。
【図38】1台のカメラでのカメラ視野角と被写体の幅と被写体までの距離の関係を説明する模式図を示す。
【図39】図1に示す入力装置の2台のカメラによる両眼視差法にて、カメラから被写体までの正確な距離の測定を説明する模式図を示す。
【図40】本発明による入力装置の第2の実施形態のブロック図を示す。
【図41】本発明による入力装置の他の実施形態のフローチャートを示す。
【図42】図41に示すフローチャートの動作例の模式図を示す。
【図43】指先によるタッピング動作の説明図を示す。
【図44】フィードバックから仮想カーソルの表示までの説明図を示す。
【図45】仮想カーソルがロック状態となる状態の説明図を示す。
【図46】仮想カーソルの表示を指示する掌の動きの説明図を示す。
【図47】クリック操作の手の動きの説明図を示す。
【図48】ダブルクリック操作の手の動きの説明図を示す。
【図49】フリップ操作の手の動きの説明図を示す。
【図50】ドラッグアンドドロップ操作の手の動きの説明図を示す。
【図51】画面の拡大/縮小を指示する操作の手の動きの説明図を示す。
【図52】画面の回転を指示する操作の手の動きの説明図を示す。
【発明を実施するための形態】
【実施例1】
【0027】
図1は、本発明による入力装置1aの第1の実施の形態を示すブロック図で、Aは被写体を撮影するウェブカメラ或いはビデオカメラなどの可視光カメラによる右眼用撮像装置、Bはこの右眼用撮像装置Aから所定の間隔を置いた位置に、右眼用撮像装置と並んで配置され、被写体を撮影するウェブカメラ或いはビデオカメラなどの可視光カメラによる左眼用撮像装置である。Cは右眼用撮像装置A及び左眼用撮像装置Bから取り込んだ被写体の画像から両眼視差によりこの被写体までの距離を測定する距離測定手段、Dは右眼用撮像装置A及び左眼用撮像装置Bとの間の間隔に基づいて予め設定してある両眼視差法による奥行き距離と距離測定手段Cが測定した被写体までの距離とを比較することで被写体が操作者であるかを判定する被写体判別手段である。そして、Eは被写体判別手段Dが被写体を操作者と判定したとき、被写体の手、又は指先の動きを検出し、この検出結果に応じた操作指示を生成する操作指示生成手段である。
【0028】
本発明の入力装置1aは、右眼用撮像装置A及び左眼用撮像装置Bからの視野内での空間の奥行きを狭く設定するために、横方向に並べて配置した右眼用撮像装置A及び左眼用撮像装置Bの間隔から両眼視差により割り出した被写体までの奥行き距離を予め検知領域に設定している。そして、右眼用撮像装置A及び左眼用撮像装置Bが実際の被写体を捉えると、距離測定手段Cは撮像装置A、Bから取り込んだ被写体の画像から両眼視差によりこの被写体までの距離を測定する。そして、被写体判別手段Dは、距離測定手段Cが測定した被写体めでの距離と予め設定している奥行き距離とを比較し、許容誤差範囲内で一致していればこの被写体は操作者であると判断し、操作指示生成手段Eは、操作者の手、又は指先の動きを検出し、この検出結果に応じたパソコン(図示せず)への操作指示を生成する。
【0029】
このように本発明による入力装置1aは、両眼視差法で得られた被写体までの距離を評価することで背景画像と区別して、操作者が撮像装置から一定の距離範囲で手や指先を動かしたかどうかを判別するものである。
【0030】
被写体(操作者)とパソコンと撮像装置A、Bとの位置関係を模式的に示す図2にて更に説明すると、図2の(ア)部は、各撮像装置A、Bの設置位置から所定距離範囲、例えば“0.3m”〜“0.8m”の範囲内にいる操作者とそれ以外の距離にいる他の人を区別している。そして、図2の(イ)部及び(ウ)部で示すように、距離範囲dを小さくしていくと、操作者の手、指先などの動きを検知する領域が空間から平面へと近づく。そして、距離dを、右眼用撮像装置A及び左眼用撮像装置Bの間隔から両眼視差法により割り出した被写体までの奥行き距離に略一致するまで小さく設定すると、図2の(ウ)部にて示されるような仮想タッチスクリーンFが操作者と撮像装置A、Bとの間に形成される。仮想タッチスクリーンFは、撮像装置からの視野内の平面に操作者が指先を差し込むことでその座標を検出し、パソコン2のディスプレイ部にマッピングするのと同じような機能を達成する。
【0031】
従って、奥行き距離を外れた空間で操作者が手、指先などを動かし、この画像が撮像装置A、Bで撮像されても、仮想タッチスクリーンFへの入力動作とは見做さず、被写体判別手段Dでは無視されるために操作判定手段Eでは入力動作として検出されることがない。このような仮想タッチスクリーンを備えた入力装置1aは、仮想タッチスクリーンF上での以外の背景の動作は全て無効となるために、入力装置としての動作が確実となる。両眼視差法に依ると、横方向に並べた撮像装置A、Bの間隔が凡そ5cmで奥行き距離は1cmとなる。
【0032】
図3は図1による入力装置1aの具体的な構成例をブロック図にて示している。この図に示す入力装置1aは、パソコン2のディスプレイ部3に設けられる左眼用撮像装置である内蔵型のウェブカメラ4と、パソコン2内に設けられるビデオキャプチャ5と、パソコン2のディスプレイ部3に設けられる右眼用撮像装置である外付け型のウェブカメラ6と、パソコン2内に設けられるUSBインタフェース7と、パソコン2内に設けられるハードディスク8と、パソコン2内に設けられるCPU9と、パソコン2内に設けられるメモリ10とによって構成されている。入力装置1aは、各ウェブカメラ4,6で得られたカラー画像について両眼視差法を用いて解析し、各ウェブカメラ4、6の設置位置からの距離に基づいて、操作者とそれ以外の距離にいる他の人とを区別しながら、操作者の手、指先などの動きのみを検出し、パソコン2のディスプレイ部3に表示された仮想カーソル25〔図27の(b)参照〕、操作対象画面(OS画面、アプリケーション画面)などを制御し、現在、起動中のアプリケーションをコントロールする。
【0033】
ウェブカメラ4は、320画素×240画素程度の解像度を持つカラーカメラであり、ビデオキャプチャ5から撮影指示が出されているとき、操作者を撮影して得られたカラービデオ信号をビデオキャプチャ5に供給する。
【0034】
ビデオキャプチャ5は、システムバス12を介して、CPU9から撮影指示が出されているとき、ウェブカメラ4を制御して操作者を撮影すると共に、撮影動作で得られたカラービデオ信号を取り込み、RGB信号形式のカラー画像に変換してCPU9に供給する。
【0035】
また、ウェブカメラ6は、ウェブカメラ4から水平方向に所定距離だけ離れてディスプレイ部3の上縁などに取り付けられた、320画素×240画素程度の解像度を持つカラーカメラであり、USBインタフェース7から撮影指示が出されているとき、操作者を撮影して得られたYUV信号をUSBインタフェース7に供給する。
【0036】
USBインタフェース7は、システムバス12を介して、CPU9から撮影指示が出されているとき、ウェブカメラ6を制御して操作者の画像を撮影すると共に、撮影動作で得られたYUV信号を取り込んでCPU9に供給し、RGB信号形式のカラー画像に変換する。
【0037】
ハードディスク8は、OS(Operating System)、定数データなどが格納されるOS格納エリア13と、インターネットエクスプローラプログラム、ブラウザプログラムなどのアプリケーションプログラムが格納されるアプリケーション格納エリア14と、本発明で使用する右眼側画像処理プログラム・左眼側画像処理プログラム・画像処理プログラムが格納される画像処理プログラム格納エリア15と、HSV(色相・彩度・明度)方式で、予め設定されている特定色(例えば、肌色)のカラー画像を抽出するのに必要なカラーマスク、2値化画像、ヒストグラム、仮想カーソル活動領域画像27(図17参照)、仮想ボタンクリック活動領域画像などが格納される画像格納エリア16とを備えている。そして、CPU9から読み出し指示が出力されたとき、システムバス12を介してこれを取り込み、指定されたエリアに格納されているOS、定数データ、アプリケーションプログラム、画像処理プログラム、2値化画像、ヒストグラム、仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像などを読み出し、システムバス12を介してCPU9に供給する。また、CPU9から書き込み指示、データが出力されたとき、システムバス12を介してこれらを取り込み、書き込み指示で指定されたエリア、例えば画像格納エリア16などにデータを記憶させる。
【0038】
CPU9は、ハードディスク8に格納されているOS、定数データ、アプリケーションプログラムなどで指定された表示データを生成してシステムバス12に接続された表示インタフェース11に供給し、ディスプレイ部3に操作対象画面を表示させる。また、右眼側画像処理プログラム、左眼側画像処理プログラム、画像処理プログラムなどで記述された画像処理を行い、操作対象画面に表示されている仮想カーソルのサイズ、位置などの制御、クリック制御、スクロール制御、画面回転制御、画面拡大制御、画面縮小制御などを行う。
【0039】
メモリ10は、数百メガバイト〜数ギガバイト程度の容量を持ち、CPU9がアプリケーションプログラム、右眼側画像処理プログラム、左眼側画像処理プログラム、画像処理プログラムなどで指定された処理を行うときの一時データ格納エリアとして使用される。
【0040】
本発明による入力装置1aは操作者とウェブカメラ4,6との間に仮想タッチスクリーンを形成するものであるが、操作者はパソコン2のディスプレイ部3に向けて操作を行うために、操作者側から見ると操作者とディスプレイ部3との間に仮想タッチスクリーンが形成されていることになる。したがって、ウェブカメラ4,6の取り付け位置によっては、両方の仮想タッチスクリーンの位置が大きく異なるという問題がある。
【0041】
例えば、ウェブカメラ4,6を天井から極端に下を向けた図4の(a)部で示すような場合などにおいては、カメラ視野からの仮想タッチスクリーン画面S1とディスプレイ部3に対する操作者視野からの仮想タッチスクリーン画面S2との座標軸が大きく異なるために、ウェブカメラ4,6からの画像を入力する入力装置1aは操作者がディスプレイ部3に向けて行う動作を正確に捉えることができないことがある。
【0042】
したがってウェブカメラ4,6の取り付け位置によっては、図4の(b)部で示すように、両眼のウェブカメラ4,6により得られたカメラ視野からの仮想タッチスクリーン画面S1の平面座標Pin=(x,y,d)を、操作者視野からの仮想タッチスクリーン画面S2の平面座標Pin=(X,Y,D)へ変換するのが好ましい。以下、この変換方法について説明する。
【0043】
カメラ視野からの仮想タッチスクリーン画面S1の平面座標Pin=(x,y,d)を、操作者視野からの仮想タッチスクリーン画面S2の平面座標Pin=(X,Y,D)に変換を行うには、入力装置1aは操作者視野からの仮想タッチスクリーン画面S2の平面モデルを初期設定するための校正動作を行う必要がある。
【0044】
《平面モデルの初期設定》
操作者がディスプレイ部3の前面に仮想タッチスクリーンがあると仮定して操作を行う平面モデルの初期設定について、図5のフローチャート及び図6の模式図に基づき説明する。
【0045】
まず操作者は、視野上に見えるパソコン2のディスプレイ部3の画面上の左上、右上、左下の順番で3点P1,P2,P3をタップするが、CPU9はこれによりウェブカメラ4,6視野からの仮想タッチスクリーン画面S1上でのP1=(x1,y1,d1)、P2=(x2,y2,d2)、P3=(x3,y3,d3)をそれぞれ測定する(ステップS101)。ここで、x,y,dは次の通り。
x:ウェブカメラの画像上の横軸値
y:ウェブカメラの画像上の縦軸値
d:ウェブカメラからの距離
【0046】
そして、CPU9は、仮想タッチスクリーン画面S1平面の法線ベクトルnを求める(ステップS102)。平面の法線ベクトルnは、入力3点を含む平面に直交するので、同時に3点内の任意の2点を結ぶベクトルに直交する。よって法線ベクトルnは、次式で求まる。最後にはノルムを1のベクトルに正規化する。
n=(P1−P2)×(P1−P3) (×は外積計算を示す)
【0047】
次に、CPU9は、仮想タッチスクリーン画面S1平面の位置ベクトルpを求める(ステップS103)。平面の位置ベクトルpは、平面上のどの点へのベクトルでも良いが、ここでは、仮想スクリーンの中心へのベクトルとなるように設定する。そのためには、入力点P1を平面の位置ベクトルと仮に定め、この位置ベクトルと、ウェブカメラ4,6から仮想タッチスクリーン画面S1平面に直行する直線に関するその位置ベクトルpl=(0,0,0)及び方向ベクトルd1=(0,0,1)との交点cを求める。
【0048】
交点cは、直線の位置ベクトルplと方向ベクトルdl、平面の位置ベクトルppと法線ベクトルnpを用いて、以下の数式のように求められる。尚、式中の・は内積計算を表している。
【0049】
【数1】
【0050】
そして、CPU9は、仮想タッチスクリーン画面S2のX、Y軸の基底ベクトルを求める(ステップS104)。基底ベクトルは、新たな入力点を仮想タッチスクリーン画面S2に射影したときの座標X,Y,Dを計算するときに用いるもので、Dの基底ベクトルは平面の法線ベクトルを使用するため、新たに作成するのはX,Y軸のみである。
【0051】
X軸の基底ベクトルnxは、平面の位置ベクトルpからX軸(pl=(0,0,0)、dl=(1,0,0))と平面が交わる点へのベクトルを計算すればよい。Y軸の基底ベクトルnyは、平面の位置ベクトルpからY軸(pl=(0,0,0)、dl=(0,1,0))と平面が交わる点へのベクトルを計算すればよい。すなわち、それぞれ平面の位置ベクトルpで減算し、pからの方向ベクトルとする。
【0052】
そして、求めた基底ベクトルnx、nyを平面のパラメータに追加する。最後にnxとnyはノルム1に正規化する。
【0053】
以上により、操作者がパソコン2に指示を与えるべく仮想タッチスクリーンに指先を差し込むと、ウェブカメラ4,6にて検出される仮想タッチスクリーン画面S1上の点Pin=(x,y,d)は、平面のパラメータの法線ベクトルn,位置ベクトルp,基底ベクトルnx,基底ベクトルnyを用いてCPU9が次の計算を行うことで、仮想タッチスクリーン画面S2上の点Pin=(X,Y,D)に変換することができる。
X=nx・(Pin−p)
Y=ny・(Pin−p)
D=n・(Pin−p)
(・は内積計算を表す)
【0054】
以上のような補正を行うことにより、カメラ視野からの仮想タッチスクリーンと操作者視野からの仮想タッチスクリーンとを一致させることができ、ウェブカメラ4,6の設置場所がより柔軟な入力装置が提供される。尚、操作者視野からの仮想タッチスクリーン上の座標でのタップに有効な矩形領域を予め保持しておき、その領域値に基づきX軸を0〜320、Y軸を0〜240などに変換し、続く被写体判別後の処理が扱いやすい値に設定している。
【0055】
次に、入力装置1aへの入力動作について画像処理動作、カーソル制御動作、画面制御動作などを説明する。
【0056】
《2値化画像生成、格納》
まず、パソコン2の電源が投入されて、アプリケーションプログラム、右眼側画像処理プログラム、左眼側画像処理プログラム、画像処理プログラムが起動されると、図7のフローチャートに示すようにCPU9によって、ビデオキャプチャ5が制御されて、ウェブカメラ4の撮影動作で得られたカラービデオ信号が取り込まれると共に、RGB信号形式のカラー画像に変換されてメモリ10などに一時記憶される(ステップS1)。
【0057】
また、この動作と並行し、CPU9によってUSBインタフェース7が制御されて、ウェブカメラ6の撮影動作で得られたYUV信号が取り込まれると共に、RGB信号形式のカラー画像に変換されてメモリ10などに一時記憶される(ステップS2)。
【0058】
また、これらの各動作と並行し、CPU9によってメモリ10などに一時記憶されている各カラー画像(各ウェブカメラ4,6の撮影動作で得られたカラー画像)のうち、パソコン2側から操作者を見たとき右眼に対応するウェブカメラ、例えば外付け型のウェブカメラ6で得られたカラー画像が読み取られる(ステップS3)。
【0059】
この後、CPU9によってグレー化/2値化画像処理が開始される(ステップS4)。即ち、図8のフローチャートに示すようにハードディスク8の画像格納エリア16に格納されているカラーマスクで、外付け型のウェブカメラ6で得られたカラー画像がマスクされ、カラー画像の中から予め設定されている特定色(例えば、肌色)のカラー画像(肌色画像)が抽出されると共に(ステップS21)、外付け型のウェブカメラ6で得られたカラー画像がグレー処理化されて、予め設定されている階調のモノクロ画像に変換され、1フレーム分の画像容量を低減させる(ステップS22)。
【0060】
そして、CPU9によって画面分割指示が設定されているかどうかがチェックされ、画面分割指示があればモノクロ画像が複数のエリア(各エリアは各々、数個〜数十個の画素によって構成される)に分割され、また画面分割指示がなければ分割処理がスキップされた後、最大尤度しきい値法でモノクロ画像が2値化され、2値化画像が作成される(ステップS23)。
【0061】
次いで、CPU9によって2値化画像と肌色画像との論理和が取られて、2値化画像中の肌色部分が抽出され(ステップS24)、これが1フレーム分の2値化画像(右眼側の2値化画像)としてハードディスク8の画像格納エリア16に格納される(ステップS25)。
【0062】
この後、CPU9によって図7のフローチャートに示すようにメモリ10などに一時記憶されている各カラー画像(各ウェブカメラ4,6の撮影動作で得られた各カラー画像)のうち、パソコン2側から操作者を見たとき左眼に対応するウェブカメラ、例えば内蔵型のウェブカメラ4で得られたカラー画像が読み取られる(ステップS5)。
【0063】
次いで、CPU9によってグレー化/2値化画像処理が開始される(ステップS6)。即ち、図8のフローチャートに示すようにハードディスク8の画像格納エリア16に格納されているカラーマスクで内蔵型のウェブカメラ4で得られたカラー画像がマスクされ、カラー画像の中から予め設定されている特定色(例えば、肌色)のカラー画像(肌色画像)が抽出されると共に(ステップS21)、内蔵型のウェブカメラ4で得られたカラー画像がグレー処理化されて、予め設定されている階調のモノクロ画像に変換され、1フレーム分の画像容量を低減させる(ステップS22)。
【0064】
そして、CPU9によって画面分割指示が設定されているかどうかがチェックされ、画面分割指示があればモノクロ画像が複数のエリア(各エリアは各々、数個〜数十個の画素によって構成される)に分割され、また画面分割指示がなければ分割処理がスキップされた後、最大尤度しきい値法でモノクロ画像が2値化され、2値化画像が作成される(ステップS23)。
【0065】
次いで、CPU9によって2値化画像と肌色画像との論理和が取られて、2値化画像中の肌色部分が抽出され(ステップS24)、これが1フレーム分の2値化画像(左眼側の2値化画像)としてハードディスク8の画像格納エリア16に格納される(ステップS25)。
【0066】
以下、上述した画像処理が繰り返され、FIFO(First・In・First・Out)形式でハードディスク8の画像格納エリア16に右眼側の2値化画像、左眼側の2値化画像が各々数フレーム分〜数十フレーム分蓄積される。
【0067】
《フレーム間差分、ヒストグラム作成》
また、この動作と並行し図7のフローチャートに示すように、CPU9によってハードディスク13の画像格納エリア16に格納されている数フレーム分〜数十フレーム分の2値化画像の中から、右眼側に対応する最新の2値化画像を含む連続する数フレームの2値化画像が順次読み出される(ステップS7)。
【0068】
そして、CPU9によって読み出すことができた2値化画像のフレーム数がチェックされ、所定数以上のフレーム数であれば(ステップS8)、フレーム間差分/ヒストグラム作成処理が開始される(ステップS9)。即ち、図9のフローチャートに示すように、各2値化画像のうち、連続する2フレーム分の2値化画像に対しフレーム間差分処理が行われると共に(ステップS31、S32)、このフレーム間差分処理で得られた各差分画像が各分割エリア毎に累積加算されて右眼側のヒストグラムが作成され、ハードディスク8の画像格納エリア16に格納される(ステップS33、S34)。
【0069】
次いで、図7のフローチャートに示すように、CPU9によってハードディスク13の画像格納エリア16に格納されている数フレーム分〜数十フレーム分の2値化画像の中から左眼側に対応する最新の2値化画像を含む、連続する数フレームの2値化画像が順次読み出される(ステップS10)。
【0070】
そして、CPU9によって読み出すことができた2値化画像のフレーム数がチェックされ、所定数以上のフレーム数であれば(ステップS11)、フレーム間差分/ヒストグラム作成処理が開始される(ステップS12)。即ち、図9のフローチャートに示すように、各2値化画像のうち、連続する2フレーム分の2値化画像に対しフレーム間差分処理が行われると共に(ステップS31、S32)、このフレーム間差分処理で得られた各差分画像が各分割エリア毎に累積加算されて左眼側のヒストグラムが作成され、ハードディスク8の画像格納エリア16に格納される(ステップS33、S34)。
【0071】
《統計処理、仮想カーソルの活動領域決定、変化領域抽出》
この後、図7のフローチャートに示すように、CPU9によってハードディスク8の画像格納エリア16に格納されている右眼側のヒストグラムが読み出されて(ステップS13)、活動矩形領域抽出処理が開始される(ステップS14)。即ち、図10のフローチャートに示すように、ヒストグラムの各分割エリアの濃度値に対する統計処理が行われ、平均値、濃度分散値、最大値、偏差(±1σ、±2σ)などが演算される(ステップS41)。
【0072】
次いで、CPU9によってヒストグラムの各分割エリアの中から、変化領域矩形抽出用のしきい値(例えば、平均値−1σ)より大きい濃度値になっている各分割エリアが抽出され、これらの各分割エリア(活動分割エリア)を含むように矩形状の変化領域矩形(図17、図18参照)が決定されて、ハードディスク8の画像格納エリア16に格納される。
【0073】
また、この動作と並行し、CPU9によって図13の3次元濃度分布図に示すようにヒストグラムを構成している各分割エリア20(図17、図18参照)のうち、仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)より大きい濃度値になっている分割エリア(活動分割エリア21)が抽出される。
【0074】
これにより、操作者が指先を大きく回しているとき、図17に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されると共に、この決定結果に基づき図19に示すような右眼側の仮想カーソル活動領域画面27が作成されて、ハードディスク8の画像格納エリア16に格納される。
【0075】
また、操作者が両手を動かしているときには、図18に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されて、図20に示すような右眼側の仮想カーソル活動領域画像27が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS42)。
【0076】
《仮想ボタンクリックの活動領域決定》
この後、CPU9によってハードディスク8の画像格納エリア16に格納されている右眼側のヒストグラムが読み出されて、各分割エリア20のうち仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)より大きい濃度値になっている分割エリア(活動分割エリア)が抽出されると共に、これらの各活動分割エリアを含むように矩形状の活動矩形領域が決定されて、右眼側の仮想ボタンクリック活動領域画像(図示は省略する)が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS43)。
【0077】
《多段階矩形オブジェクト抽出処理、影の影響除去》
次いで、CPU9によって仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)を使用して得られた右眼側の仮想カーソル活動領域画像27、仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)を使用して得られた右眼側の仮想ボタンクリック活動領域画像に対し、各々活動矩形領域26が左右に分割可能かどうかチェックされ、左右に分割可能であれば、図21に示すように活動矩形領域26の水平方向中心点“A”が求められると共に、水平方向中心点“A”から左側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“B”と、水平方向中心点“A”から右側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“C”とが検知され、これら境界点“B”、“C”を含む領域が各活動矩形領域26と判定され、それ以外の活動領域が操作者の影などによる不要な活動領域と判定され、無効とされる(2点抽出処理)。
【0078】
この後、CPU9によって、2点抽出処理が終了した各活動矩形領域26に対し、各々活動矩形領域26が上下に分割可能かどうかチェックされ、上下分割可能であれば図22に示すように活動矩形領域26の上下方向中心点“A”が求められると共に、上下方向中心点“A”から上側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“B”が検知され、これら境界点“B”を含む領域が活動矩形領域26と判定され、下の活動領域が操作者の影などによる不要な活動領域と判定され、無効とされる(最小化処理)(ステップS44)。
【0079】
次いで、CPU9によって、これら2点抽出処理、最小化処理によって構成される多段階矩形オブジェクト抽出処理で得られた活動矩形領域26を含む右眼側の仮想カーソル活動領域画像27、右眼側の仮想ボタンクリック活動領域画像が、ハードディスク8の画像格納エリア16に格納される(ステップS45)。
【0080】
《統計処理、仮想カーソルの活動領域決定、変化領域抽出》
この後、図7のフローチャートに示すようにCPU9によって、ハードディスク8の画像格納エリア16に格納されている左眼側のヒストグラムが読み出されて(ステップS15)、活動矩形領域抽出処理が開始される(ステップS16)。即ち、図10のフローチャートに示すように、ヒストグラムの各分割エリアの濃度値に対する統計処理が行われ、平均値、濃度分散値、最大値、偏差(±1σ、±2σ)などが演算される(ステップS41)。
【0081】
次いで、CPU9によって変化領域矩形抽出用のしきい値(例えば、平均値−1σ)より大きい濃度値になっている各分割エリア20が抽出されて、これらの各分割エリア(活動分割エリア)を含むように矩形状の変化領域矩形が(図17、図18参照)決定され、ハードディスク8の画像格納エリア16に格納される。
【0082】
また、この動作と並行しCPU9によって、図16の3次元濃度分布図に示すようにヒストグラムを構成している各分割エリア20(図17、図18参照)のうち、仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)より大きい濃度値になっている分割エリア(活動分割エリア21)が抽出される。
【0083】
これにより、操作者が指先を大きく回しているとき、図17に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されると共に、この決定結果に基づき図19に示すような左眼側の仮想カーソル活動領域画面27が作成されて、ハードディスク8の画像格納エリア16に格納される。
【0084】
また、操作者が両手を動かしているときには、図18に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されて、図20に示すような左眼側の仮想カーソル活動領域画像27が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS42)。
【0085】
《仮想ボタンクリックの活動領域決定》
次いで、CPU9によってハードディスク8の画像格納エリア16に格納されている左眼側のヒストグラムが読み出されて、各分割エリア20のうち仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)より大きい濃度値になっている分割エリア(活動分割エリア)が抽出されると共に、これらの各活動分割エリアを含むように矩形状の活動矩形領域が決定されて、左眼側の仮想ボタンクリック活動領域画像(図示は省略する)が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS43)。
【0086】
《多段階矩形オブジェクト抽出処理、影の影響除去》
次いで、CPU9によって仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)を使用して得られた左眼側の仮想カーソル活動領域画像27、仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)を使用して得られた左眼側の仮想ボタンクリック活動領域画像に対し、各々活動矩形領域26が左右に分割可能かどうかチェックされ、左右に分割可能であれば、図21に示すように活動矩形領域26の水平方向中心点“A”が求められると共に、水平方向中心点“A”から左側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“B”と、水平方向中心点“A”から右側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“C”とが検知され、これら境界点“B”、“C”を含む領域が各活動矩形領域26と判定され、それ以外の活動領域が操作者の影などによる不要な活動領域と判定され、無効とされる(2点抽出処理)。
【0087】
この後、CPU9によって、2点抽出処理が終了した各活動矩形領域26に対し各々活動矩形領域26が上下に分割可能かどうかチェックされ、上下分割可能であれば図22に示すように活動矩形領域26の上下方向中心点“A”が求められると共に、上下方向中心点“A”から上側にある非活動領域と活動領域(例えば、活動分割エリア21)との境界点“B”が検知され、これら境界点“B”を含む領域が活動矩形領域26、下の活動領域が操作者の影などによる不要な活動領域と判定され、無効とされる(最小化処理)(ステップS44)。
【0088】
次いで、CPU9によってこれら2点抽出処理、最小化処理によって構成される多段階矩形オブジェクト抽出処理で得られた活動矩形領域26を含む左眼側の仮想カーソル活動領域画像27、左眼側の仮想ボタンクリック活動領域画像が、ハードディスク8の画像格納エリア16に格納される(ステップS45)。
【0089】
上記した如く操作者の手による動きを右眼と左眼の各仮想領域活動領域画像27及び仮想ボタンクリック活動領域画像で捉えることができるが、このとき入力装置1aが操作者の意図しない手の動きを検知できるようにするとさらに良い。ヒストグラム化した活動領域を多段階で抽出した結果の活動矩形領域26が操作者の意図したポインティング、またはタッピングでない動作、例えば手を左右に振っている場合もヒストグラム化されたデータ上に活動領域が抽出される。よって、これが操作者の意図したポインティング動作によるものではないことを判断できれば、入力装置1aとしての信頼性が高まる。
【0090】
抽出された活動矩形領域が有効かどうかを判断するためには、以下の処理を行う。すなわち、図10のステップS41の処理においては、図11に示すステップS41’の処理を行い、CPU9はヒストグラム化された多段階の差分画像データのうち、最新の差分データから活動矩形領域26を抽出し、それらの点を追跡しながら一定時間保持する。
【0091】
次に、図10のステップS43の処理においては、図12に示すステップS43’の処理を行い、CPU9は仮想ボタンクリックの活動領域(最大値−2σ)が抽出されたら、ステップS41’で記憶している活動矩形領域26と比較し、該当する追跡を求めてその追跡結果が特定の大きさの領域に亘って活動している場合には、無効な活動矩形領域26と判断する。
【0092】
図37は操作者が手を右下から左上、さらに左下、次に右上に移動した場合に抽出される活動領域を示しているが、活動矩形領域26の追跡データから生成された活動領域は大きな動きの中で生成されたもの判断してノイズとして無視する。
【0093】
CPU9による上記処理にて抽出活動領域が操作者の意図しない動作により発生したものはノイズとして除去することが可能となり、操作性が向上する。
【0094】
《活動矩形領域選択》
この後、図7のフローチャートに示すように、CPU9によって活動矩形領域選択処理が開始される(ステップS17)。即ち、図13のフローチャートに示すようにハードディスク8の画像格納エリア16に格納されている右眼側の仮想カーソル活動領域画像27、右眼側の仮想ボタンクリック活動領域画像が読み出され、これら右眼側の仮想カーソル活動領域画像27、右眼側の仮想ボタンクリック活動領域画像に含まれている各活動矩形領域26に対し、図23の模式図に示すように両眼視差法による位置補正が行われ、各ウェブカメラ4,6の取り付け位置(水平距離“B”、上下距離など)、各ウェブカメラ4,6の焦点距離“f”などと対応するように各活動矩形領域26の中心座標“PR(XR、YR)”が補正された後、大きさ順に番号が付加される(ステップS51、S52)。
【0095】
次いで、CPU9によってハードディスク8の画像格納エリア16に格納されている左眼側の仮想カーソル活動領域画像27、左眼側の仮想ボタンクリック活動領域画像が読み出され、これら左眼側の仮想カーソル活動領域画像27、左眼側の仮想ボタンクリック活動領域画像の各活動矩形領域26に対し、操作者の手の位置の座標P(X,Y,D)に基づき図23の模式図に示すように両眼視差法による位置補正が行われ、各ウェブカメラ4,6の取り付け位置(水平距離“B”、上下距離など)、各ウェブカメラ4,6の焦点距離“f”などと対応するように各活動矩形領域26の座標“PL(XL、YL)”が補正された後、大きさ順に番号が付加される(ステップS53、S54)。
【0096】
このように両眼視差法による位置補正を行うことで、各ウェブカメラ4,6の焦点距離などと対応したピント位置、例えば各ウェブカメラ4,6から離れた位置に操作者の手があり、両眼視差法による位置補正を行う前、図24の模式図に示すように右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とが位置がずれていても、両眼視差法による位置補正を行うことにより、図25の模式図に示すように右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とを完全一致(又は、ほぼ一致)させることができる。
【0097】
この後、CPU9によって図26の模式図に示すように、番号“1”が付与された右眼側に対応する活動矩形領域26の中心座標“XR、YR”と、左眼側に対応する活動矩形領域26の中心座標“XL、YL”との距離(中心座標距離)が演算されて、これが番号“1”と共に、メモリ10に記憶される。
【0098】
尚、操作者の手の位置の座標P(X,Y,D)に基づき両眼視差法による位置補正が行うことを説明したが、P(X,Y,D)は操作者からの仮想タッチスクリーン画面S2上の座標であるが、このとき図4において説明したように、CPU9は平面モデルの初期設定により予め算出している平面のパラメータの方向ベクトルd,位置ベクトルn,基底ベクトルnx,基底ベクトルnyを用いて次の演算を行うことにより、ウェブカメラ4,6視野からの仮想タッチスクリーン画面S1上の座標P(x,y,d)から変換している。かかる演算による補正を行えば、ウェブカメラ4,6の設置場所がパソコン2のディスプレイ部3とかけ離れている場合でも、ディスプレイ部3に対する操作者視野での位置を検出することができる。
X=nx・(Pin−p)
Y=ny・(Pin−p)
D=n・(Pin−p)
【0099】
次いで、ステップS55、S56の処理においては、CPU9によって次の番号“2”〜最後の番号“N”が付与された右眼側に対応する活動矩形領域26の中心座標“XR、YR”と、左眼側に対応する活動矩形領域26の中心座標“XL、YL”との距離(中心座標距離)が順次演算されて、これらが次の番号“2”〜最後の番号“N”と共にメモリ10に記憶される。
【0100】
このステップ55の処理は、図1で説明した距離測定手段Cとしての動作である。すなわち、ウェブカメラ4,6の間隔と焦点距離fを予め設定すると、被写体までの距離は|XL−XR|と相関関係にあるために、中心座標距離の演算は被写体までの距離を測定していることになる。
【0101】
そして、これらの処理が終了したとき、CPU9によって、メモリ10に記憶されている各中心座標距離(|XL−XR|)が順次読み出されて、予め設定してある奥行き距離を示す所定値と比較する。この奥行き距離とは、ウェブカメラ4,6の間隔に基づいて予め設定してある両眼視差法による奥行き距離である。そして、中心座標距離と奥行き距離との比較の結果、許容範囲内で一致していると、この中心座標距離の右眼側の活動矩形領域26、左眼側の活動矩形領域26は有効な活動矩形領域と判断される。
【0102】
各ウェブカメラ4,6から予め設定してある奥行き距離から許容範囲内の位置に操作者の手があるとき、操作者の手に対応する右眼側の活動矩形領域26、左眼側の活動矩形領域26が、それぞれ有効な活動矩形領域26であると判定される。このことは、予め設定してある奥行き距離に仮想タッチスクリーンが形成されていることになり、それ以外は仮想タッチスクリーン上の操作ではないものとして、右眼側の活動矩形領域26、左眼側の活動矩形領域26はそれぞれ無効な活動矩形領域26であると判定される(ステップS57)。このとき中心座標距離と奥行き距離との比較を行う場合の許容範囲を狭く設定することで、より平面的な仮想タッチスクリーンが形成されることになり、操作者による操作以外の背景の動きを捉えることがなくなり、入力装置として動作が確実となる。
【0103】
このステップ57の処理は、図1で説明した被写体判別手段Dとしての動作である。すなわち、距離測定手段Cであるステップ55の処理にて測定した被写体までの距離と予め設定してある奥行き距離とを比較して、許容範囲内で一致しない場合にその活動矩形領域を無効とすることで、操作者による仮想タッチスクリーン上での手に対応する活動矩形領域のみを選択する。
【0104】
このように両眼視差法を用いて、活動矩形領域の位置補正を行ないながら右眼及び左眼の各活動矩形領域26の中心点間の横方向での座標距離(中心座標距離)から被写体までの距離を測定することにより活動領域26の有効性判定を精度良く行うことができるのである。しかしながら、ウェブカメラ4,6の視野で被写体の中心部分と端の部分は誤差が発生するが、これの補正について説明する。
【0105】
距離の測定は、予め測定したカメラ視野角を定数として活動領域がウェブカメラ4,6の視野のそれぞれの活動矩形領域26における中心座標距離から補正値を計算するものであるが、以下、この原理について説明する。
【0106】
図38は1台のウェブカメラ4Aの視野角から距離の変換について説明するもので、三角関数の定義から、[数2]の数式の関係が成立する。
【0107】
【数2】
w:画像上での被写体の幅[pixel]
img_w:カメラ画像の横画素数[pixel]
d:カメラと被写体までの距離[m]
δ:被写体の幅/2[m]
θw:カメラの視野角/2[rad](予め計測)
但し、wと(img_w)は、それぞれ画像中の大きさのため物理量としては「角度」となる。
【0108】
これをdについて解くと[数3]の数式となる。
【0109】
【数3】
【0110】
[数3]の数式において、θwとimg_wは定数であるので、求めたい値である距離dはδとwに依存する。ここでδは映る被写体60によって変化するため、δに依存せずに距離dを求める必要がある。
【0111】
そこで2台のウェブカメラ4,6を用いる本発明では、δに依存せずに距離dを求めることが可能である。図39はメインとサブの2台のウェブカメラの視野角から距離の変換について説明するもので、距離dは[数4]の数式にて示される。
【0112】
【数4】
w’:サブカメラの画像上での被写体の中心の横座標[pixel]と、メインカメラの画像上での被写体の中心横座標[pixel]の差の絶対値 (|XL−XR|)
δ’:被写体の位置で、サブカメラの中心視線とメインカメラの中心視線が交差する2点間の距離[m](両眼の視線が平行ならば、δ’は常に一定)
【0113】
[数4]の数式において、両眼の中心視線が平行である場合は一定であるから距離dはδ’に依存しなくなる。尚、dはδ’より十分大きく(d>>δ’)、被写体60が画像の端に存在していても近似的に成り立つ。
【0114】
上記から2台のカメラを用いれば[数5]の数式にて表すように、距離dはw’のみに依存することになる。よって、dは画素値から計算され、離散値であるため各w’のd(w’)を予め計算しておきテーブルに保存することで被写体60までの距離(d)の補正を高速にて処理することができる。
【0115】
【数5】
【0116】
以上の原理をCPU9による活動領域26の有効性の判断に取り込めば判定の精度を更に高めることができる。この場合、CPU9はステップS57の処理において、図14に示すステップ57’の処理を行い、中心座標距離w’(|XL−XR|)を演算してメモリ10に格納しているテーブルデータと照合することで被写体60までの正確な距離を測定し、この距離が予め設定してある奥行き距離の許容範囲内であるかを判定することで、活動矩形領域26の有効・無効の判断を行うものである。
【0117】
これにより、右眼側の各活動矩形領域26、左眼側の各活動矩形領域26が図26の模式図に示す関係になっていれば、中心座標距離が所定値以上になっている番号“1”に対応した右眼側の活動矩形領域(OR1)26、左眼側の活動矩形領域(OL1)26が無効と判定され、中心座標距離がほぼ“0”になっている番号“2”に対応した右眼側の活動矩形領域(OR2)26、左眼側の活動矩形領域(OL2)26が有効と判定される。
【0118】
次いで、CPU9によって、有効と判定された右眼側の活動矩形領域(OR2)26、有効と判定された左眼側の活動矩形領域(OL2)26のうち、予め指定されている方、例えば有効と判定された左眼側の活動矩形領域(OL2)26が残され、それ以外の活動矩形領域26が削除された仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像が作成され、これが両眼視差法によって操作者の手前にいる人の動き、及び背後にいる人の動きが除去された仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像としてハードディスク8の画像格納エリア16に格納される(ステップS57)。
【0119】
《片手ジェスチャによる仮想カーソルの位置、大きさ、色制御》
この後、図7のフローチャートに示すように、CPU9によって仮想カーソル制御処理/画面制御処理が開始される(ステップS18)。この処理は、図1で説明した操作指示生成手段Eとしての動作であり、ステップS17にて操作者の動作と判定した手、又は指先の動きを検出し、この検出結果に応じた操作指示を生成する。
【0120】
図15のフローチャートに示すように、ハードディスク8の画像格納エリア16に格納されている各仮想カーソル活動領域画像(両眼視差法によって、操作者の手前にいる人の動き、及び背後にいる人の動きが除去された各仮想カーソル活動領域画像)27のうち、最新の活動矩形領域26を含む数フレーム分の仮想カーソル活動領域画像27が読み出され(ステップS61)、近接した1つ以上の活動矩形領域26によって構成される活動矩形領域群が仮想カーソル活動領域画像27内に存在しているかどうかチェックされる。
【0121】
そして、最新の仮想カーソル活動領域画像27内に活動矩形領域群が存在し、その数が“1”であり、且つ、略矩形であれば(ステップS62、S63)、CPU9によって活動矩形領域群の大きさ、移動方向が判定され、判定結果に対応するように仮想カーソル制御が行われる(ステップS64)。
【0122】
例えば、図27(a)に示すように、前回とほぼ同じ、高さ、左右位置で、操作者が指先を大きく回し、これに対応して前回の処理で得られた大きな活動矩形領域群の位置と同じ位置で、大きな活動矩形領域群が得られているとき、CPU9によって仮想カーソルの表示指示であると判定されて、図27(b)に示すようにディスプレイ部3に大きなサイズ、白色の仮想カーソル25が表示される。
【0123】
また、操作者が指先を大きく回しながら上下方向、又は左右方向に移動させ、これに対応して前回の処理で得られた位置から移動する大きな活動矩形領域群が得られているとき、CPU9によって仮想カーソルの移動指示であると判定されて、指先の移動方向に対応するようにディスプレイ部3に表示されている大きなサイズ、白色の仮想カーソル25を移動させる。
【0124】
また、図28(a)に示すように、前回とほぼ同じ、高さ、左右位置で、操作者が指先を小さく回し、これに対応して前回の処理で得られた大きな活動矩形領域群の位置と同じ位置で、小さな活動矩形領域群が得られているとき、CPU9によって仮想カーソルの移動停止であると判定されて、図28(b)に示すようにディスプレイ部3に表示されている仮想カーソル25の移動を停止させると共に、サイズを小さくする。
【0125】
この状態で一定時間が経過すれば、CPU9によって仮想カーソル25の色が赤色に変更され大きな移動が禁止されると共に、OS側にカーソル移動指示が出されて、仮想カーソル25内に実カーソル28を移動させる。
【0126】
この後、操作者が指先を少し移動させれば、CPU9によってこれが検知されて、ディスプレイ部3に表示されている仮想カーソル25の位置が微調整されると共に、OS側にカーソル位置調整指示が出されて、図29に示すように実カーソル28の位置が微調整される。
【0127】
次いで、操作者が指先を動かすのを止めれば、CPU9によってこれが検知され、一定時間後に、図30に示すようにディスプレイ部3に表示されている仮想カーソル25の位置が固定されると共に、仮想カーソル25の色が赤色からグレー色に変更され、操作者にクリック可能になったことを知らせる。
【0128】
この状態でも、操作者が指先を再度大きく回せば、CPU9によってこれが検知されて、ディスプレイ部3に表示されている仮想カーソル25の色が白色に戻され、仮想カーソル25が移動可能な状態に戻される。
【0129】
《片手ジェスチャによるスクロール制御》
また、上述した仮想カーソル活動領域画像27に活動矩形領域群が存在するかどうかなどをチェックしたとき、図31に示すように活動矩形領域群の数が“1”で水平方向に長ければ(ステップS62、S63)、CPU9によって前回の活動矩形領域群に対しどちらの方向に長くなったか判定すると共に、長くなった方向に応じた右スクロール指示(又は、左スクロール指示)が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が右方向(又は、左方向)にスクロールされる(ステップS64)。
【0130】
また、上述した仮想カーソル活動領域画像27に活動矩形領域群が存在するかどうかなどをチェックしたとき、活動矩形領域群の数が“1”で上下方向に長ければ(ステップS62、S63)、CPU9によって前回の活動矩形領域群に対しどちらの方向に長くなったか判定すると共に、長くなった方向に応じた上スクロール指示(又は、下スクロール指示)が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が上方向(又は、下方向)にスクロールされる(ステップS64)。
【0131】
《片手ジェスチャによる実カーソルのクリック制御》
この後、CPU9によって仮想カーソル25の色がグレーかどうかチェックされ、仮想カーソル25の色がグレーであれば、ハードディスク8の画像格納エリア16に格納されている仮想ボタンクリック活動領域画像のうち、最新の活動矩形領域を含む数フレーム分の仮想ボタンクリック活動領域画像が読み出される(ステップS66)。
【0132】
次いで、CPU9によって仮想ボタンクリック活動領域画像内に近接した1つ以上の活動矩形領域26によって構成される活動矩形領域群が存在し、形状が変化しているかどうかチェックされ、活動矩形領域群の数が“1”であり活動矩形領域群が予め設定された変化、例えば図32(a)に示すように操作者が指さし状態から、1回だけ手を広げ、活動矩形領域群が1回だけ“小”から“大”に変化していれば(ステップS67)、シングルクリックであると判定され、OS側にシングルクリック指示が出されて、図32(b)に示すように仮想カーソル25内にある実カーソル28によってアイコンなどがシングルクリックされる(ステップS68)。
【0133】
また、操作者が指さし状態から2回以上手を広げたり縮めたりし、活動矩形領域群が複数回“大”から“小”、“小”から“大”に変化していれば(ステップS67)、CPU9によってダブルクリックであると判定され、OS側にダブルクリック指示が出されて、実カーソル28の位置にあるアイコンなどがダブルクリックされる(ステップS68)。
【0134】
《両手ジェスチャによる画面拡大、縮小制御》
また、各ウェブカメラ4,6のピント位置に操作者が右手、左手を出して、これら右手、左手を動かし、上述した仮想カーソル活動領域画像27に活動矩形領域群が存在するかどうかなどをチェックしたとき、活動矩形領域群の数が“2”になり、各々矩形になっていれば(ステップS63)、CPU9によってこれが検知されて、これら各活動矩形領域群の動きに応じてディスプレイ部3に表示されている操作対象画面の拡大、縮小、回転などが行われる(ステップS65)。
【0135】
例えば、各ウェブカメラ4,6のピント位置に操作者が右手と左手を出して、その右手と左手を互いに離れる方向に移動させ、これに対応して図33に示す2つの活動矩形領域群が存在し、図34(a)に示すように前回より広くなる方向に移動してこれら各活動矩形領域群の距離が前回より長くなったとき、CPU9によって画面拡大指示が入力されたと判定され、活動矩形領域群の距離変化比に応じた拡大率の画面拡大指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が拡大される。
【0136】
また、各ウェブカメラ4,6のピント位置に操作者が右手と左手を出して、その右手と左手を互いに近づく方向に移動させ、これに対応して2つの活動矩形領域群が図34(b)に示すように前回より狭くなる方向に移動し、これら各活動矩形領域群の距離が前回より短くなったとき、CPU9によって画面縮小指示が入力されたと判定され、活動矩形領域群の距離変化比に応じた縮小率の画面縮小指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が縮小される。
【0137】
《両手ジェスチャによる画面回転制御》
また、各ウェブカメラ4,6のピント位置に操作者が右手と左手を出して、これら右手と左手の一方を上に他方を下に移動させ、これに対応して図35に示す2つの活動矩形領域群のうち少なくとも一方が上方向(又は、下方向)に移動したとき、CPU9によって画面回転指示が入力されたと判定され、下側の活動矩形領域群に対する上側の活動矩形領域群の角度に応じた回転角度の画面回転指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が回転される。
【0138】
この際、図36(a)に示すように各活動矩形領域群の左右距離が狭い状態で、一方が大きく上方に移動し下側の活動矩形領域群に対する上側の活動矩形領域群の角度が大きいとき、CPU9によって大きな回転角度の画面回転指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が大きく回転される。
【0139】
また、図36(b)に示すように各活動矩形領域群の左右距離が広い状態で、一方が小さく上方に移動し下側の活動矩形領域群に対する上側の活動矩形領域群の角度が小さいとき、CPU9によって小さな回転角度の画面回転指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が小さく回転される。
【0140】
このように、本発明の第1の実施形態においては、各ウェブカメラ4,6によって操作者を撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理、活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理を行い操作者の手の動きを検知し、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うようにしているので、次に述べる効果を得ることができる。
【0141】
また、各ウェブカメラ4,6によって操作者を撮影して得られたカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理を施して得られた2値化画像を画像格納エリア16に格納するため、ハードディスク8の容量が小さい場合にも入力装置1aを構成することができ、装置全体のコストを低く抑えることができる。
【0142】
また、各ウェブカメラ4,6によって操作者を撮影して得られたカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理など、少ない段数の画像処理を施して1フレーム分の2値化画像を得るようにしているので、CPU9に大きな負担をかけることを防ぎ、これによって処理速度が速くない安価なCPU9を使用した場合でもほぼリアルタイムで操作者の動きに対応するように、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うことができ、装置全体のコストを低く抑えることができる。
【0143】
また、各ウェブカメラ4,6によって操作者を撮影して得られた右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とに対し、両眼視差法で中心座標位置を補正した後、大きさ順に番号を付けて中心座標位置を比較し、この比較結果に基づきピント位置に対応する右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とを選択するようにしているので、各ウェブカメラ4,6のピント位置にある操作者の手以外のもの、例えば操作者の後ろに人がいて動いていても、これに影響されることなく操作者の手の動きのみを抽出して、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うことができる。
【0144】
また、本発明の第1の実施形態では、操作者が片手だけを動かしているとき仮想カーソル制御指示、又は操作対象画面のスクロール制御であると判定し、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面のスクロール制御などを行うようにしているので、片手だけでディスプレイ部3に表示されている仮想カーソル25のサイズ、位置、色、クリック、操作対象画面のスクロールなどを遠隔操作することができる。
【0145】
また、本発明の第1の実施形態では、操作者が両手を動かしているとき、右手の動き、左手の動きを各々検出し、操作対象画面の拡大/縮小制御指示、又は操作対象画面の回転制御指示であると判定するようにしているので、操作者が右手、左手を動かすだけでディスプレイ部3に表示されているアプリケーション画面(操作対象画面)を拡大、縮小、回転させることができる。
【0146】
また、本発明の第1の実施形態では、活動矩形領域抽出処理においてヒストグラムを統計処理して得られた結果を使用し、ヒストグラムから仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像を作成するようにしているので、操作者の手など動いている部分を正確に検知することができ、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる。
【0147】
また、本発明の第1の実施形態では、活動矩形領域抽出処理において仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像に対し、多段階矩形オブジェクト抽出処理を行うようにしているので、操作者の影などに起因する誤動作を防止し、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる。
【実施例2】
【0148】
図40は、本発明による入力装置の第2の実施形態を示すブロック図である。この図に示す入力装置1bは、箱形に形成されたプラスチック部材などによって構成され、パソコン、テレビ、エアコン、大画面スクリーン装置などの遠隔操作対象機器の近傍に配置される入力装置筐体(図示は省略する)と、入力装置筐体の前面左側に取り付けられ、操作者を撮影してカラー画像信号を出力する右眼用撮像装置である右眼用ビデオカメラ本体(カラーカメラ本体)30と、入力装置筐体内に配置され、右眼用ビデオカメラ本体30で撮影されたカラー画像を処理して、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像を生成する右眼側画像処理基板31と、入力装置筐体の前面右側に取り付けられ、操作者を撮影してカラー画像信号を出力する左眼用撮像装置である左眼用ビデオカメラ本体32と、入力装置筐体内に配置され、左眼用ビデオカメラ本体(カラーカメラ本体)32で撮影されたカラー画像を処理して、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を生成する左眼側画像処理基板33と、入力装置筐体内に配置され、右眼側画像処理基板31から出力される右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側画像処理基板32から出力される左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を画像処理して操作者の手の動きに対応するポインティングデータを生成し、USBケーブル、信号接続ケーブルなどのケーブルを介して、パソコン、テレビ、エアコン、大画面スクリーン装置などの遠隔操作対象機器などに供給する共通処理基板34とを備えている。
【0149】
そして、操作者を撮影して得られたカラー画像を解析して、影などの影響、操作者の手前側にいる人、及び背後にいる人の影響などを取り除きながら、操作者の手の動きに対応したポインティングデータを生成し、入力装置1b→ケーブル→遠隔操作対象機器なる経路でポインティングデータを遠隔操作対象機器に供給し、この遠隔操作対象機器の動作を制御する。
【0150】
右眼用ビデオカメラ本体30は、320画素×240画素程度の解像度を持つカラーカメラによって構成されており、右眼側画像処理基板31から電源電圧、クロック信号などが出されているとき操作者を撮影し、これによって得られたカラービデオ信号を右眼側画像処理基板31に供給する。
【0151】
右眼側画像処理基板31は、右眼用ビデオカメラ本体から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、HSV(色相・彩度・明度)方式で予め設定されている特定色(例えば、肌色)のカラー画像を抽出するのに必要なカラーマスクを使用して、カラー画像中の肌色画像を抽出する肌色画像抽出回路35と、右眼用ビデオカメラ本体30から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、予め設定されている階調のモノクロ画像に変換するグレー化処理回路36と、グレー化処理回路36から出力されるモノクロ画像を予め設定されている画面分割数で分割する(但し、画面分割設定されていないときこの画面分割処理はスキップされる)と共に、最大尤度しきい値法で2値化して2値化画像にする画像分割/2値化処理回路37と、画像分割/2値化処理回路37から出力される2値化画像と肌色画像抽出回路35から出力される肌色画像との論理和を取り、2値化画像中の肌色部分を抽出する色フィルタリング処理回路38とを備えている。
【0152】
さらに、右眼側画像処理基板31は、色フィルタリング処理回路38から出力される2値化画像を数フレーム分〜数十フレーム分、一時記憶するフレームバッファ回路39と、フレームバッファ回路39に記憶されている2値化画像を順次読み出しながらフレーム間差分処理を行い、差分画像を生成するフレーム間差分処理回路40と、フレーム間差分処理回路40からフレーム単位で出力される各差分画像を各分割エリア毎に積算して、ヒストグラムを生成するヒストグラム処理回路41と、ヒストグラム処理回路41から出力されるヒストグラムに対し統計処理を行うと共に、統計処理結果を用いて仮想カーソル活動領域判定処理、仮想ボタンクリック活動領域判定処理、多段階矩形オブジェクト抽出処理などを行って、影などの影響を取り除いた右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像を生成する活動矩形領域抽出処理回路42とを備えている。
【0153】
さらに、活動矩形領域抽出処理回路42は、ヒストグラム処理回路41にて生成した多段階の差分画像データの最新の差分画像データから抽出した活動矩形領域と、前記仮想ボタンクリック活動領域画像とを比較し、抽出した活動矩形領域が仮想ボタンクリック活動領域の範囲を超えている場合は、これら抽出活動矩形領域を無効判定する処理を行うことにより、操作者が入力操作に意図していない動きをノイズとして無視することができる。
【0154】
そして、右眼用ビデオカメラ本体30から出力されるカラービデオ信号に対し、グレー化処理、画面分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を順次施して、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像を生成し、共通処理基板34に供給する。
【0155】
また、左眼用ビデオカメラ本体32は、320画素×240画素程度の解像度を持つカラーカメラによって構成されており、左眼側画像処理基板33から電源電圧、クロック信号などが出されているとき操作者を撮影し、これによって得られたカラービデオ信号を左眼側画像処理基板33に供給する。
【0156】
左眼側画像処理基板33は、左眼用ビデオカメラ本体32から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、HSV(色相・彩度・明度)方式で、予め設定されている特定色(例えば、肌色)のカラー画像を抽出するのに必要なカラーマスクを使用して、カラー画像中の肌色画像を抽出する肌色画像抽出回路43と、左眼用ビデオカメラ本体32から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、予め設定されている階調のモノクロ画像に変換するグレー化処理回路44と、グレー化処理回路44から出力されるモノクロ画像を予め設定されている画面分割数で分割する(但し、画面分割設定されていないとき、この画面分割処理はスキップされる)と共に、最大尤度しきい値法で2値化して、2値化画像にする画像分割/2値化処理回路45と、画像分割/2値化処理回路45から出力される2値化画像と肌色画像抽出回路43から出力される肌色画像との論理和を取り、2値化画像中の肌色部分を抽出する色フィルタリング処理回路46とを備えている。
【0157】
さらに、左眼側画像処理基板33は、色フィルタリング処理回路46から出力される2値化画像を数フレーム分〜数十フレーム分、一時記憶するフレームバッファ回路47と、フレームバッファ回路47に記憶されている2値化画像を順次読み出しながらフレーム間差分処理を行い、差分画像を生成するフレーム間差分処理回路48と、フレーム間差分処理回路48からフレーム単位で出力される各差分画像を各分割エリア毎に積算して、ヒストグラムを生成するヒストグラム処理回路49と、ヒストグラム処理回路49から出力されるヒストグラムに対し統計処理を行うと共に、統計処理結果を用いて仮想カーソル活動領域判定処理、仮想ボタンクリック活動領域判定処理、多段階矩形オブジェクト抽出処理などを行って、影などの影響を取り除いた左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を生成する活動矩形領域抽出処理回路50とを備えている。
【0158】
さらに、活動矩形領域抽出処理回路50は、ヒストグラム処理回路49にて生成した多段階の差分画像データの最新の差分画像データから抽出した活動矩形領域と、前記仮想ボタンクリック活動領域画像とを比較し、前述した図38に示すように、抽出した活動矩形領域が仮想ボタンクリック活動領域の範囲を超えている場合は、これら抽出活動矩形領域を無効判定する処理を行うことにより、操作者が入力操作に意図していない動きをノイズとして無視することができる。
【0159】
そして、左眼用ビデオカメラ本体32から出力されるカラービデオ信号に対し、グレー化処理、画面分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を順次施して、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を生成し、共通処理基板34に供給する。
【0160】
共通処理基板34は、両眼視差法による位置補正に必要な右眼用ウェブカメラ30、左眼用ウェブカメラ32の取り付け位置データ(水平距離“B”、上下距離など)、右眼用ウェブカメラ30、左眼用ウェブカメラ32の焦点距離“f”などの撮影条件情報が設定される撮影条件設定回路51と、右眼側画像処理基板31から出力される右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側画像処理基板33から出力される左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像に活動矩形領域が含まれるとき、撮影条件設定回路51に設定されている撮影条件情報を用いて両眼視差法で各活動矩形領域の位置を補正する処理、大きさ順に各活動矩形領域に番号を付加する処理、同じ番号が付加された各活動矩形領域の中心座標間の距離(中心座標距離)を演算する処理、所定値以下になっている各中心座標距離に対応する活動矩形領域を選択する処理、選択した活動矩形領域のみを含み、選択していない活動矩形領域を含まない左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を作成する処理などを行って、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像に含まれる操作者の手前にいる人、及び背後にいる人の動きなどの影響を取り除いた後、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を数画像分〜数十画像分保持する活動矩形領域選択処理回路52とを備えている。
【0161】
さらに、活動矩形領域選択処理回路52は、ウェブカメラ30、32の視野角を定数として右眼活動矩形領域と左眼活動矩形領域の中心点間の横方向での中心座標距離に応じて、カラーカメラから被写体までの距離を補正することでより正確に操作者の手前にいる人、及び背後にいる人の動きなどの影響を取り除くことができる。この補正の原理及び補正の演算式については、前述した図39及び[数5]の式の通りである。活動矩形領域選択処理回路52は、中心座標距離に応じて予め演算した被写体までの距離をテーブルデータで保持しておくことで高速処理を実現できる。
【0162】
斯かる活動矩形領域選択処理回路52の処理動作において、同じ番号が付加された各活動矩形領域の中心座標間の距離(中心座標距離)を演算する処理は、図1の距離測定手段Cの作用に相当する。すなわち、ウェブカメラ30、32の間隔と焦点距離fを予め設定すると、被写体までの距離は|XL−XR|と相関関係にあるために、中心座標距離の演算は被写体までの距離を測定していることになる。
【0163】
また、活動矩形領域選択処理回路52が操作者の手前にいる人、及び背後にいる人の動きなどの影響を取り除く処理は、図1の被写体判別手段Dの作用に相当する。すなわち、中心座標距離の演算処理にて測定した被写体までの距離と予め設定してある奥行き距離とを比較して、許容範囲内で一致しない場合にその活動矩形領域を無効とすることで、予め設定してある奥行き距離に仮想タッチスクリーンが形成されて、操作者による仮想タッチスクリーン上での手に対応する活動矩形領域のみを選択する。
【0164】
さらに、共通処理基板34は、活動矩形領域選択処理回路52に保持されている左眼側の各仮想カーソル活動領域画像のうち、最新の仮想カーソル活動領域画像に活動矩形領域群が存在するとき、活動矩形領域群の数、形状、移動有無、移動方向などに基づき、仮想カーソル位置指示、仮想カーソル形状指示、仮想カーソル色指示、操作対象画面スクロール指示、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などのポインティングデータを生成すると共に、仮想カーソルがクリック可能な状態になっているとき、活動矩形領域選択処理回路52に保持されている各仮想ボタンクリック活動領域画像のうち、最新の仮想ボタンクリック活動領域画像に活動矩形領域群が存在しているかどうかをチェックし、活動矩形領域群が存在しているとき、活動矩形領域群の形状などに基づきシングルクリック指示、ダブルクリック指示などのポインティングデータを生成する仮想カーソル制御処理/画面制御処理回路53を備えている。仮想カーソル制御処理/画面制御処理回路53のポインティングデータを生成する処理は、図1の操作指示生成手段Eの作用に相当する。
【0165】
そして、右眼側画像処理基板31から出力される右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側画像処理基板32から出力される左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像に活動矩形領域が含まれるとき、操作者の前にいる人の動き、操作者の背後にいる人の動きなどに起因するノイズを取り除きながら操作者の各手がどのように動いているかを判定し、この判定結果に応じて仮想カーソル位置指示、仮想カーソル形状指示、仮想カーソル色指示、操作対象画面スクロール指示、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などのポインティングデータを生成し、遠隔操作対象機器となっているパソコン、テレビ、エアコン、大画面スクリーン装置などに供給する。
【0166】
このように、この第2の実施形態では、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32によって操作者を撮影して得られた低解像度のカラー画像に対し、色フィルタリング処理、グレー化処理、画像分割/2値化処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理、活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理などを行い操作者の手の動きを検知し、仮想カーソル位置指示、仮想カーソル形状指示、仮想カーソル色指示、操作対象画面スクロール指示、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などのポインティングデータを生成し、遠隔操作対象機器に供給するようにしているので、遠隔操作対象機器側の仮想カーソルサイズ、仮想カーソル位置、仮想カーソル色、クリック、操作対象画面の上下スクロール、左右スクロール、拡大、縮小、回転などを遠隔操作することができる。
【0167】
さらに、この第2の実施形態では、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32によって操作者を撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理、活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理など、少ない段数の画像処理を施してポインティングデータを生成するようにしているので、肌色画像抽出理回路35、43、グレー化処理回路36、44、画像分割/2値化処理回路37、45、色フィルタリング処理回路38、46、フレームバッファ処理回路36、47、フレーム間差分処理回路40、48、ヒストグラム処理回路41、49、活動矩形領域抽出処理回路42、50、活動矩形領域選択回路52、仮想カーソル制御処理/画面制御処理回路53として、処理速度があまり速くない素子の使用を可能にして装置全体のコストを低く抑えながら、ほぼリアルタイムで操作者の動きを検知し、遠隔操作対象機器を制御することができる。
【0168】
また、この第2の実施形態では、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32によって操作者を撮影して得られた右眼側の各活動矩形領域と、左眼側の各活動矩形領域とに対し、両眼視差法で中心座標位置を補正した後、大きさ順に番号を付けて中心座標位置を比較し、この比較結果に基づきピント位置に対応する右眼側の各活動矩形領域と、左眼側の各活動矩形領域とを選択するようにしているので、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32のピント位置にある操作者の手以外のもの、例えば操作者の後ろに人がいて動いていても、これに影響されることなく操作者の手の動きのみを抽出して、仮想カーソルのサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うことができる)。
【0169】
そして、この第2の実施形態においても、上述した第1の実施形態と同様に、操作者が片手だけを動かしているとき、仮想カーソル制御指示、クリック制御指示、スクロール制御指示の何れかであると判定し、仮想カーソルサイズ指示、仮想カーソル位置指示、仮想カーソル色指示、スクロール制御指示、クリック指示などを示すポインティングデータを生成するようにしているので、片手だけで遠隔操作対象機器側のディスプレイに表示されている仮想カーソルのサイズ、位置、色、クリック動作、操作対象画面のスクロールなどを遠隔操作することができる。
【0170】
また、この第2の実施形態においても、上述した第1の実施形態と同様に、操作者が両手を動かしているとき、右手の動き、左手の動きを各々検出して操作対象画面の制御指示であると判定し、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などを示すポインティングデータを生成するようにしているので、操作者が右手、左手を動かすだけで遠隔操作対象機器側のディスプレイに表示されている操作対象画面を拡大、縮小、回転させることができる。
【0171】
また、本発明の第2の実施形態では、活動矩形領域抽出処理回路42、50においてヒストグラムを統計処理すると共に、統計処理結果を使用してヒストグラムから右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左側の仮想カーソル活動領域画像、左側の仮想ボタンクリック活動領域画像を作成するようにしているので、操作者の手など動いている部分を正確に検知することができ、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる。
【0172】
また、本発明の第2の実施形態では、活動矩形領域抽出処理回路42、50において、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左側の仮想カーソル活動領域画像、左側の仮想ボタンクリック活動領域画像に対し、多段階矩形オブジェクト抽出処理を行うようにしているので、操作者の影などに起因する誤動作を防止し、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる。
【実施例3】
【0173】
上述した各実施形態では、各ウェブカメラ4,6、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32で得られたカラー画像の全領域をグレー化し、2値化するようにしているが、図41のフローチャート、図42の模式図に示すようにヒストグラムを統計処理、活動矩形領域抽出処理で得られた変化領域矩形(活動矩形領域を含む矩形)65に対し、指定された拡大縮小率(例えば拡大率“10%”)で拡大/縮小した拡大/縮小矩形マスク66を作成すると共に(ステップS71)、次フレームのカラー画像全領域をグレー化して得られたモノクロ画像の中から拡大/縮小矩形マスク66に対応する部分(モノクロ画像に含まれる活動領域部分の画像67)だけを抽出して、2値化処理するようにしても良い(ステップS72)。
【0174】
このようにすれば、モノクロ画像などの中から活動領域より少し広い範囲に含まれる画像のみを有効にし、それ以外の領域にある画像を無効にして、変化領域以外の部分に存在するノイズを除去することができる。
【0175】
また、上述した第1の実施形態、及び第2の実施形態では、CPU9による色フィルタリング処理、又は色フィルタリング処理回路38、46によって、肌色のカラー画像を抽出するようにしているが、操作者が特定色の操作器、例えば赤ペンなどを使用して仮想カーソルの位置、クリック、操作対象画面のスクロール、操作対象画面の拡大、操作対象画面の縮小、操作対象画面の回転などを制御する場合には、赤色抽出用のカラーマスクを使用し、CPU9による色フィルタリング処理、又は色フィルタリング処理回路38、46によって赤色のカラー画像を抽出するようにしても良い。
【0176】
これにより、各ウェブカメラ4,6、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32の撮影範囲に複数の人がいても、操作者が持つ操作器の色に対応するカラー画像を抽出して仮想カーソルのサイズ制御、位置制御、クリック制御、操作対象画面のスクロール制御、拡大制御、縮小制御、回転制御などを行うことができる。
【0177】
また、このような色フィルタリング処理は、各ウェブカメラ4,6、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32から出力されるカラービデオ信号に含まれる操作者の手など、動いている画像を抽出するために行っている処理であることから、操作者が居る場所の照明条件が良好で、操作者の手などが動いている画像と背景画像とのコントラストが大きいとき、色フィルタリング処理を省略するようにしても良い。
【実施例4】
【0178】
本発明の入力装置に係るタッチレスインタフェース操作の好適な実施例を示す。タッチレスインタフェースは、実施例1でも説明したように、CPU9が図7のフローチャートにおけるステップS18の仮想カーソル制御処理/画面制御処理において実行される。すなわち、ウェブカメラ4,6からの画像を処理して活動領域群の形状から操作者の動作を検出して、その動きに応じた操作者からの指示を認識するのであるが、以下、具体的な操作指示方法について説明する。
【0179】
(仮想カーソルの表示操作)
操作者が図43に示すように、人指し指のみ又は人指し指と中指の両方を上下に動かす動作(タッピング動作)を行うと、CPU9は、前記したステップS64(図15)の処理にて活動領域群の形状からこの動作を検出しカーソル表示制御を開始する。
【0180】
CPU9は、先ず画面上に仮想カーソル表示開始の応答表示(フィードバック)を行なうようディスプレイ部3を制御する。このフィードバックは、例えば図44の(a)部と(b)部で示すように、グレー色のサークルを小から大へと波紋が広がるよう画面上に順次表示するものである。
【0181】
フィードバック表示の後、CPU9は、図44の(c)部で示すように仮想カーソル25Aをグレー色の第1の状態で表示するようディスプレイ部3を制御する。
【0182】
(仮想カーソルのロック操作)
そして、このグレー色での仮想カーソル25Aの表示中に、操作者がタッピング動作を停止又はその動作を小さくするのをCPU9が検出すると、CPU9は、仮想カーソル25Aを赤色の第2の状態での表示に切り換えて実カーソル28Aを表示するようディスプレイ部3を制御する(図45)。
【0183】
本実施例では、カーソル表示は操作者によるタッピング動作に応答して行うが、実施例1では指先の旋回により行っている。また、ウェブカメラ4,6に遠い位置に手又は指先による操作が有効となる空間を設定している場合は、指先のタッピング動作より図46に示すような掌を正面に向けて横に振る動き(バイバイのように)、または掌を手招きのように縦に振る動作が認識する上で好ましい。
【0184】
(実カーソルの移動操作)
CPU9は、図45で示すように仮想カーソル25Aが赤色の第2の状態にて表示されているときに、操作者が上下左右の目的の位置で上記のタッピング動作を行うのを検出するとカーソル移動制御を行う。このときCPU9は、第1の信号を生成して、ディスプレイ部3が仮想カーソル25Aをその位置まで移動して表示するよう制御する。仮想カーソル25Aが赤色の第2の状態で表示していることで、操作者は仮想カーソル25Aが移動可能であることを認識できる。
【0185】
このように、ディスプレイ部3の任意の座標位置をタッピング動作にてポインティングすることでその座標位置までカーソルを移動させることができる。
【0186】
(クリック操作及びダブルクリック操作)
CPU9は、仮想カーソル25Aがグレー色の第1の状態で表示されているときに、操作者が、図47に示すように人指し指だけを立てている状態(図47の(a)部)から全ての指を立てて掌を広げる状態(図47の(b)部)に変化させる第2の形態の動き、或いは図48に示すように人指し指だけを立てている状態(図48の(a)部)から掌を広げた状態(図48の(b)部)、そして再び人指し指だけを立てる状態(図48の(c)部)へと変化させる第3の形態の動きを行うのを検出するとクリック制御を行う。
【0187】
このときCPU9は、第2の形態の動作を検出したときはシングルクリック操作と認識して第2の信号を生成し、第3の形態の動作を検出したときはダブルクリック操作と認識して第3の信号を生成する。CPU9が第2の信号や第3の信号を生成することで、シングルクリック又はダブルクリックを認識したことを仮想カーソル25Aの色や形状、および音にて操作者に知らせることができる。そして、ディスプレイ部3の画面上のリンクやアプリケーションの選択ボタン上に実カーソル28Aを重ねた状態で第3の信号が発生すると、リンク先へのジャンプやアプリケーションの実行が開始される。実施例1の場合、シングルクリック及びダブルクリックは、操作者が一本の指での指差し状態から掌を広げ、そして指差し状態に戻す動作を行うことで認識している。
【0188】
以上、カーソルの表示と移動、及びクリック操作に関して、別の例として、カメラ4,6に掌または所定の認識オブジェクトを向ける動きで仮想カーソルを表示して、その掌が移動するのに応じて仮想カーソルを移動させ、目的の位置で掌の移動の停止にて仮想カーソルをロックして、次に掌を左右に振ることでクリックする操作方法もある。
【0189】
(フリップ操作)
CPU9は、仮想カーソル25Aが赤色の第2の状態にて表示されている図49の(a)部で示す状態のときに、操作者が、図49の(b)部から(c)部で示すように、掌を本のページを捲るように右または左に振る第4の形態の動きを行うのを検出すると画面スクロール制御を行う。このときCPU9は第4の信号を生成して、ディスプレイ部3の画面表示のスクロール動作を制御する。図49で(b)部から(c)部への動作は右方向へのフリップ操作であり、画面は左から右へとスクロールされる。
【0190】
操作者は、フリップ操作前に、仮想カーソル25Aがグレー色の第1の状態で表示しているときは、図49の(a)部で示すようにタッピング動作を行い、仮想カーソル25Aが赤色の第2の状態にて表示されてからフリップ操作を行うことでスクロールが行われる。
【0191】
(ドラッグアンドドロップ操作)
CPU9は、操作者がディスプレイ部3の画面上における目的のオブジェクトまたは画面位置で指先によるタッピング動作を検出すると、ドラッグアンドドロップ制御を行う。このときCPU9は、仮想カーソル25Aがその場所で赤色の第2の状態で表示し(図50の(a)部)、続いて、掌を画面に向けて左右に振る第5の形態の動き(図50の(b)部)を検出するとドラッグ操作を認識する。CPU9は、更に掌を画面に向けた状態で目的の位置まで移動するのを検出すると第5の信号を生成し、アイコン70を表示して掌の移動に追随して表示するようディスプレイ部3を制御する(図50の(c)部)。そして、CPU9は、操作者が指にてタップするか(図50の(d)部)、または移動を止めて数秒待ってから手を離す第6の形態の動きを検出すると、第6の信号を生成してオブジェクトのドロップを表示するようディスプレイ部3を制御する。
【0192】
このように、ドラッグアンドドロップ操作は、オブジェクト上でタッピング動作することでオブジェクトをクリックし、次に掌を左右に振ることでオブジェクトを捕え、捕えたことをアイコン70の表示にて認識すると、掌を目的の位置まで移動させ、そして指によるタッピング動作を行うことで実行される。
【0193】
以上は操作者が片腕の手若しくは指の動きにより行う操作指示であるが、両腕による手若しくは指の動きにより行う操作指示について説明する。
【0194】
(画面拡大/縮小操作)
CPU9は、ステップS65(図15)において、活動領域群の形状から操作者が両手若しくは両手の指にて2点で同時にタッピング動作するのを検出すると、2点カーソル71を表示(図51の(a)部)するようディスプレイ部3を制御する。そして、CPU9は、操作者がタッピング動作を行う両手若しくは両手の指の間隔が拡大又は縮小するのを検出すると画面拡大・縮小制御を行う。
【0195】
このときCPU9は、操作者がタッピング動作を行う両手若しくは両手の指の間隔が拡大又は縮小されるのに応じて、2点カーソル71の間隔を拡大(図51の(b)部)又は縮小(図51の(c)部)して表示するようディスプレイ部3を制御する。そして、CPU9は、2点でのタッピング動作が停止されたとき第7の信号を生成し、2点カーソル71の間隔に応じて画面の拡大表示又は縮小表示を行うようディスプレイ部3を制御する。
【0196】
(画面回転操作)
一方、CPU9は、操作者の両手若しくは両手の指による2点での同時のタッピング動作を検出して2点カーソル71を表示(図52の(a)部)しているとき、タッピング動作を行う両手若しくは両手の指の相対位置が上下に変化するのを検出すると画面回転制御を行う。
【0197】
このとき、CPU9は、操作者がタッピング動作を行う両手若しくは両手の指の上下の相対位置関係に応じて2点カーソル71を上下に幅を持たせて表示するようディスプレイ部3を制御する。そして、CPU9は、2点でのタッピング動作が停止されたとき第8の信号を生成し、2点カーソル71の上下の位置関係に応じて画面の表示を右回転又は左回転させて表示するようディスプレイ部3を制御する。すなわち、左カーソルが右カーソルより高い位置(図52の(b)部)にあるときは右回転させ、その逆(図52の(c)部)のときは左回転させる。
【0198】
本実施例では両手でのタッピング動作により画面拡大・縮小指示や画面回転指示を行うが、実施例1の画面拡大・縮小指示や画面回転指示の場合と比べて、タッピング動作を取り入れることで操作に対する認識率がより高まる。
【0199】
上記した如く、操作者が手又は指の動きにて操作指示を与える場合に、操作者に画面上の位置を知らせることが操作性の向上につながる。そのためには次の2つの方法がある。
【0200】
1つは、ウェブカメラ4,6に映った操作者自身をディスプレイ部3の画面上に透過表示するもので、CPU9はビデオキャプチャ5を制御して取り込んだ操作者の映像信号を表示I/F11を通してディスプレイ部3に出力して表示する。
【0201】
これにより、操作者は直感的に画面位置をポインティングすることができる。また、操作者の動きに合わせて、操作者自身を画面上に透過表示したり、しなかったりすることで、透過表示に邪魔されずに画面上のコンテンツを操作者が見ることができる。例えば、CPU9はステップS63の処理において、操作者による操作が停止して活動領域群が無いことを検出すると透過表示を行わず、一方操作が行われていて活動領域群の有りを検出したときは、透過表示を行うようディスプレイ部3への映像信号の出力を制御する。
【0202】
もう1つは、操作者の手先の動きを検出し、それに応じたエフェクトをディスプレイ部3の画面上に透過表示するものである。CPU9は、ステップS64若しくはステップS65の処理にて活動領域群の形状から操作者の手の動きを認識すると、その操作に応じたエフェクトを表示する。
【0203】
例えば、CPU9は、図49の(b)部から(c)部で示すような掌を右または左に振るフリップの動きを検出すると、予め画像格納エリア16に格納しているフリップのエフェクト画像を表示I/F11を通してディスプレイ部3に出力する。このようにエフェクトを表示することにより、操作者は現在ポインティングしている位置を知ることができる。
【0204】
こうした2通りの方法を同時に用いたり、或いは操作指示の動作の内容に応じて何れか一方を選択的に使い分けることで操作者にとって操作がしやすくなり、ユーザインタフェースの優れた入力装置が提供される。
【産業上の利用可能性】
【0205】
本発明は、情報端末装置やパーソナルコンピュータなどの情報機器に接続されて使用され、カメラによる操作者の動作画像から仮想タッチスクリーン上での動作を取り込み、その動きの形態から情報機器のカーソル操作やアプリケーションプログラムの選択及び実行などを制御する入力装置に関するものであり、産業上の利用可能性を有する。
【符号の説明】
【0206】
A 右眼用撮像装置
B 左眼用撮像装置
C 距離測定手段
D 被写体判別手段
E 操作指示生成手段
1a、1b 入力装置
2 パソコン
3 ディスプレイ部
4 ウェブカメラ(左眼用カラーカメラ)
5 ビデオキャプチャ
6 ウェブカメラ(右眼用カラーカメラ)
9 CPU
25、25A 仮想カーソル
26 活動矩形領域
27 仮想カーソル活動領域画像
28、28A 実カーソル
30 右眼用ビデオカメラ本体(右眼用カラーカメラ本体)
31 右眼側画像処理基板
32 左眼用ビデオカメラ本体(左眼用カラーカメラ本体)
33 左眼側画像処理基板
34 共通処理基板
35 肌色画像抽出回路
36 グレー化処理回路
37 画像分割/2値化処理回路
38 色フィルタリング処理回路
39 フレームバッファ回路
40 フレーム間差分処理回路
41 ヒストグラム処理回路
42 活動矩形領域抽出処理回路
43 肌色画像抽出回路
44 グレー化処理回路
45 画像分割/2値化処理回路
46 色フィルタリング処理回路
47 フレームバッファ回路
48 フレーム間差分処理回路
49 ヒストグラム処理回路
50 活動矩形領域抽出処理回路
51 撮影条件設定回路
52 活動矩形領域選択処理回路
53 仮想カーソル制御処理/画面制御処理回路
65 変化領域矩形
66 拡大/縮小矩形マスク
67 マスク後の画像
【特許請求の範囲】
【請求項1】
撮像装置で得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成する入力装置であって、
右眼用撮像装置と、
前記右眼用撮像装置から所定の間隔を置いた位置に、前記右眼用撮像装置と並んで配置される左眼用撮像装置と、
被写体に対する前記右眼用撮像装置と前記左眼用撮像装置の画像から両眼視差法により前記被写体までの距離を測定する距離測定手段と、
前記右眼用撮像装置と前記左眼用撮像装置との間の前記間隔に基づいて両眼視差法により割り出して予め設定してある奥行き距離と前記距離測定手段が測定した前記被写体までの距離とを比較し、前記被写体までの距離と前記奥行き距離とが所定の許容範囲内で一致している前記被写体を選択して前記操作者と判別する被写体判別手段と、
前記被写体判別手段が判別した前記被写体の動きを検出し、この検出結果に応じた操作指示を生成する操作指示生成手段と、
を備えたことを特徴とする入力装置。
【請求項2】
前記操作指示の認識結果を表示するディスプレイ部を具備し、
前記操作指示生成手段は、カーソルの表示待機中に前記操作者の手若しくは指による第1の形態の動きを検出すると前記ディスプレイ部に前記仮想カーソルを第1の状態で表示し、該第1の状態での表示中に前記手若しくは指による前記第1の動きが停止又は前記第1の動きが小さくなるのを検出すると前記仮想カーソルを第2の状態で表示すると共に、実カーソルを表示するカーソル表示制御手段を備えたことを特徴とする請求項1に記載の入力装置。
【請求項3】
前記操作指示生成手段は、前記仮想カーソルが前記第2の状態で表示されているときに、前記手若しくは指が前記第1の形態の動きをすると、その手若しくは指の位置に前記カーソルの移動を指示する第1の信号を生成するカーソル移動制御手段を備えたことを特徴とする請求項2に記載の入力装置。
【請求項4】
前記操作指示生成手段は、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第2の形態の動きを検出するとクリック操作と認識する第2の信号を生成し、第2の形態の動きに続く第3の形態の動きを検出するとダブルクリック操作と認識する第3の信号を生成するクリック制御手段を備えたことを特徴とする請求項2又は請求項3に記載の入力装置。
【請求項5】
前記操作指示生成手段は、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第4の形態の動きを検出すると、前記ディスプレイ部の画面スクロールを指示する第4の信号を生成する画面スクロール制御手段を備えたことを特徴とする請求項2乃至請求項4の何れか一つに記載の入力装置。
【請求項6】
前記操作指示生成手段は、前記ディスプレイ部に表示されたオブジェクトに前記実カーソルが重ねられた状態で前記手若しくは指による第5の形態の動きを検出すると前記オブジェクトがドラッグの対象オブジェクトであることを認識し、認識後の前記手若しくは指による移動に追随した前記オブジェクトの移動を指示する第5の信号を生成し、続いて前記手若しくは指による前記第1形態での動きを検出すると前記オブジェクトのドロップを指示する第6の信号を生成するドラッグアンドドロップ制御手段を備えたことを特徴とする請求項2乃至請求項5の何れか一つに記載の入力装置。
【請求項7】
前記操作指示生成手段は、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると2点カーソルを表示し、前記第1の形態の動きを行う前記手若しくは指の間隔が拡大又は縮小されるのに応じて前記2点カーソルの間隔を拡大又は縮小表示し、前記第1の形態の動きの停止にて前記2点カーソルの間隔に応じて前記ディスプレイ部の拡大表示又は縮小表示を指示する第7の信号を生成する画面拡大・縮小制御手段を備えたことを特徴とする請求項2乃至請求項6の何れか一つに記載の入力装置。
【請求項8】
前記操作指示生成手段は、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると前記2点カーソルを表示すると共に、前記第1の形態の動きを行う前記手若しくは指の相対位置の上下の変化に応じて前記2点カーソルの相対位置を上下に変化させて表示し、前記第1の形態の動きの停止にて前記2点カーソルの上下の位置関係に応じて前記ディスプレイ部の表示の右回転又は左回転を指示する第8の信号を生成する画面回転制御手段を備えたことを特徴とする請求項2乃至請求項7の何れか一つに記載の入力装置。
【請求項9】
前記ディスプレイ部は、前記撮像装置による前記操作者の画像を透過表示することを特徴とする請求項2乃至請求項8の何れか一つに記載の入力装置。
【請求項10】
前記ディスプレイ部は、前記操作者が操作指示の動きをしているとき前記画像を透過表示することを特徴とする請求項9に記載の入力装置。
【請求項11】
前記ディスプレイ部は、前記操作者が前記手若しくは指の動きにて行う操作指示のエフェクトを表示することを特徴とする請求項2乃至請求項10の何れか一つに記載の入力装置。
【請求項12】
ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成する入力装置であって、
右眼用カラーカメラと、
前記右眼用カラーカメラから所定距離だけ離れた位置に、前記右眼用カラーカメラと並んで配置される左眼用カラーカメラと、
被写体を捉えた前記右眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理プログラムと、
前記被写体を捉えた前記左眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理プログラムと、
前記右眼側画像処理プログラムで得られた右眼側活動矩形領域の座標軸と前記左眼側画像処理プログラムで得られた左眼側活動矩形領域の座標軸との中心座標距離を演算することで両眼視差法による前記被写体までの距離を測定し、測定した前記被写体までの距離を前記右眼用撮像装置と前記左眼用撮像装置との間の前記間隔に基づいて両眼視差法により割り出して予め設定してある奥行き距離と比較し、前記被写体までの距離と前記奥行き距離とが所定の許容範囲内で一致している前記右眼活動矩形領域及び前記左眼活動矩形領域を前記操作者による活動矩形領域として選択する活動領域選択処理プログラムと、
前記活動領域選択処理プログラムにて選択された活動矩形領域に対し、仮想カーソル制御処理/画面制御処理を行って、前記被写体の手、又は指先の動きを検出し、この検出結果に応じた操作指示を生成する画像処理プログラムと、
を備えたことを特徴とする入力装置。
【請求項13】
前記仮想カーソル制御処理/画面制御処理は、仮想カーソル活動領域画像上に活動矩形領域群が1つあるとき、その形状、移動有無に基づき、カールソル制御指示、又は画面スクロール指示を生成することを特徴とする請求項12に記載の入力装置。
【請求項14】
前記仮想カーソル制御処理/画面制御処理は、仮想カーソル活動領域画像上に活動矩形領域群が2つあるとき、その移動方向に基づき、画面回転指示、画面拡大指示、画面縮小指示の何れかを生成することを特徴とする請求項12又は請求項13に記載の入力装置。
【請求項15】
前記活動矩形領域抽出処理は、ヒストグラムの統計処理結果を使用して、前記ヒストグラムから仮想カーソル活動領域画像を作成することを特徴とする請求項12乃至請求項14の何れか一つに記載の入力装置。
【請求項16】
前記活動矩形領域抽出処理は、前記仮想カーソル活動領域画像に対し、多段階矩形オブジェクト抽出処理を行い、ノイズ成分を除去することを特徴とする請求項12乃至請求項15の何れか一つに記載の入力装置。
【請求項17】
拡大/縮小矩形マスク作成処理を付加し、前記拡大/縮小矩形マスク作成処理によって、前記カラーカメラで得られたカラー画像の中から、前記仮想カーソル活動領域画像上の変化領域矩形に対応する画像を抽出し、それ以外の画像をカットして、ノイズ成分を除去することを特徴とする請求項12乃至請求項16の何れか一つに記載の入力装置。
【請求項18】
前記操作指示の認識結果を表示するディスプレイ部を具備し、
前記画像処理プログラムは、カーソルの表示待機中に前記操作者の手若しくは指による第1の形態の動きを検出すると前記ディスプレイ部に前記仮想カーソルを第1の状態で表示し、該第1の状態での表示中に前記手若しくは指による前記第1の動きが停止又は前記第1の動きが小さくなるのを検出すると前記仮想カーソルを第2の状態で表示すると共に、実カーソルを表示するカーソル表示制御のステップを備えたことを特徴とする請求項12乃至請求項17の何れか一つに記載の入力装置。
【請求項19】
前記画像処理プログラムは、前記仮想カーソルが前記第2の状態で表示されているときに、前記手若しくは指が前記第1の形態の動きをすると、その手若しくは指の位置に前記カーソルの移動を指示する第1の信号を生成するカーソル移動制御のステップを備えたことを特徴とする請求項18に記載の入力装置。
【請求項20】
前記画像処理プログラムは、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第2の形態の動きを検出するとクリック操作と認識する第2の信号を生成し、第2の形態の動きに続く第3の形態の動きを検出するとダブルクリック操作と認識する第3の信号を生成するクリック制御のステップを備えたことを特徴とする請求項18又は請求項19に記載の入力装置。
【請求項21】
前記画像処理プログラムは、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第4の形態の動きを検出すると、前記ディスプレイ部の表示のフリップを指示する第4の信号を生成する画面スクロール制御のステップを備えたことを特徴とする請求項18乃至請求項20の何れか一つに記載の入力装置。
【請求項22】
前記画像処理プログラムは、前記ディスプレイ部に表示されたオブジェクトに前記実カーソルが重ねられた状態で前記手若しくは指による第5の形態の動きを検出すると前記オブジェクトがドラッグの対象オブジェクトであることを認識し、認識後の前記手若しくは指による移動に追随した前記オブジェクトの移動を指示する第5の信号を生成し、続いて前記手若しくは指による前記第1形態での動きを検出すると前記オブジェクトのドロップを指示する第6の信号を生成するドラッグアンドドロップ制御のステップを備えたことを特徴とする請求項18乃至請求項21の何れか一つに記載の入力装置。
【請求項23】
前記画像処理プログラムは、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると2点カーソルを表示し、前記第1の形態の動きを行う前記手若しくは指の間隔が拡大又は縮小されるのに応じて前記2点カーソルの間隔を拡大又は縮小表示し、前記第1の形態の動きの停止にて前記2点カーソルの間隔に応じて前記ディスプレイ部の拡大表示又は縮小表示を指示する第7の信号を生成する画面拡大・縮小制御のステップを備えたことを特徴とする請求項18乃至請求項22の何れか一つに記載の入力装置。
【請求項24】
前記画像処理プログラムは、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると前記2点カーソルを表示すると共に、前記第1の形態の動きを行う前記手若しくは指の相対位置の上下の変化に応じて前記2点カーソルの相対位置を上下に変化させて表示し、前記第1の形態の動きの停止にて前記2点カーソルの上下の位置関係に応じて前記ディスプレイ部の表示の右回転又は左回転を指示する第8の信号を生成する画面回転制御のステップを備えたことを特徴とする請求項18乃至請求項23の何れか一つに記載の入力装置。
【請求項25】
前記ディスプレイ部は、前記カラーカメラによる前記操作者の画像を透過表示することを特徴とする請求項18乃至請求項24の何れか一つに記載の入力装置。
【請求項26】
前記ディスプレイ部は、前記操作者が操作指示の動きをしているとき前記画像を透過表示することを特徴とする請求項25に記載の入力装置。
【請求項27】
前記ディスプレイ部は、前記操作者が前記手若しくは指の動きにて行う操作指示のエフェクトを表示することを特徴とする請求項18乃至請求項26の何れか一つに記載の入力装置。
【請求項28】
ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成し、遠隔操作対象機器の動作を制御する入力装置であって、
箱形に形成される入力装置筐体と、
この入力装置筐体の前面左側に取り付けられる右眼用カラーカメラ本体と、
前記入力装置筐体の前面右側に取り付けられる左眼用カラーカメラ本体と、
前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記右眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理基板と、
前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記左眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理基板と、
前記入力装置筐体内に配置され、活動矩形領域選択処理回路、仮想カーソル制御処理/画面制御処理回路によって、両眼視差法を使用して、前記右眼側画像処理プログラムで得られた右眼側活動矩形領域の座標軸と前記左眼側画像処理プログラムで得られた左眼側活動矩形領域の座標軸とから被写体までの距離を演算することで両眼視差法による前記被写体までの距離を測定し、前記被写体までの距離を前記右眼用撮像装置と前記左眼用撮像装置との間の前記間隔に基づいて両眼視差法により割り出して予め設定してある奥行き距離と比較し、前記被写体までの距離と前記奥行き距離とが所定の許容範囲内で一致している前記右眼活動矩形領域及び前記左眼活動矩形領域を前記操作者による活動矩形領域として選択し、選択した前記活動矩形領域に仮想カーソル制御処理/画面制御処理を行って、前記被写体の手、又は指先の動きを検出し、この検出結果に応じたポインティングデータを生成し、遠隔操作対象機器の動作を制御する共通処理基板と、
を備えることを特徴とする入力装置。
【請求項29】
前記仮想カーソル制御処理/画面制御処理回路は、仮想カーソル活動領域画像上に活動矩形領域群が1つあるとき、その形状、移動有無に基づき、カールソル制御指示、又は画面スクロール指示を生成することを特徴とする請求項28に記載の入力装置。
【請求項30】
前記仮想カーソル制御処理/画面制御処理回路は、仮想カーソル活動領域画像上に活動矩形領域群が2つあるとき、その移動方向に基づき、画面回転指示、画面拡大指示、画面縮小指示の何れかを生成することを特徴とする請求項28又は請求項29に記載の入力装置。
【請求項31】
前記活動矩形領域抽出処理は、ヒストグラムの統計処理結果を使用して、前記ヒストグラムから仮想ボタンクリック活動領域画像を作成することを特徴とする請求項28乃至請求項30の何れか一つに記載の入力装置。
【請求項32】
前記活動矩形領域抽出処理は、前記仮想ボタンクリック活動領域画像に対し、多段階矩形オブジェクト抽出処理を行い、ノイズ成分を除去することを特徴とする請求項28乃至請求項31の何れか一つに記載の入力装置。
【請求項33】
拡大/縮小矩形マスク作成処理回路を付加し、前記拡大/縮小矩形マスク作成処理回路によって、前記カラーカメラ、前記カラーカメラ本体で得られたカラー画像の中から、前記仮想ボタンクリック活動領域画像の変化領域矩形に対応する画像を抽出し、それ以外の画像をカットして、ノイズ成分を除去することを特徴とする請求項28乃至請求項32の何れか一つに記載の入力装置。
【請求項34】
前記操作指示の認識結果を表示するディスプレイ部を具備し、
前記共通処理基板は、カーソルの表示待機中に前記操作者の手若しくは指による第1の形態の動きを検出すると前記ディスプレイ部に前記仮想カーソルを第1の状態で表示し、該第1の状態での表示中に前記手若しくは指による前記第1の動きが停止又は前記第1の動きが小さくなるのを検出すると前記仮想カーソルを第2の状態で表示すると共に、実カーソルを表示するカーソル表示制御部を備えたことを特徴とする請求項28乃至請求項33の何れか一つに記載の入力装置。
【請求項35】
前記共通処理基板は、前記仮想カーソルが前記第2の状態で表示されているときに、前記手若しくは指が前記第1の形態の動きをすると、その手若しくは指の位置に前記カーソルの移動を指示する第1の前記ポインティングデータを生成するカーソル移動制御部を備えたことを特徴とする請求項34に記載の入力装置。
【請求項36】
前記共通処理基板は、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第2の形態の動きを検出するとクリック操作であることを示す第2の前記ポインティングデータを生成し、第2の形態の動きに続く第3の形態の動きを検出するとダブルクリック操作であることを示す第3の前記ポインティングデータを生成するクリック制御部を備えたことを特徴とする請求項34又は請求項35に記載の入力装置。
【請求項37】
前記共通処理基板は、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第4の形態の動きを検出すると、前記ディスプレイ部の画面スクロールを指示する第4の前記ポインティングデータを生成する画面スクロール制御部を備えたことを特徴とする請求項34乃至請求項36の何れか一つに記載の入力装置。
【請求項38】
前記共通処理基板は、前記ディスプレイ部に表示されたオブジェクトに前記実カーソルが重ねられた状態で前記手若しくは指による第5の形態の動きを検出すると前記オブジェクトがドラッグの対象オブジェクトであることを認識し、認識後の前記手若しくは指による移動に追随した前記オブジェクトの移動を指示する第5の前記ポインティングデータを生成し、続いて前記手若しくは指による前記第1形態での動きを検出すると前記オブジェクトのドロップを指示する第6の前記ポインティングデータを生成するドラッグアンドドロップ制御部を備えたことを特徴とする請求項34乃至請求項37の何れか一つに記載の入力装置。
【請求項39】
前記共通処理基板は、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると2点カーソルを表示し、前記第1の形態の動きを行う前記手若しくは指の間隔が拡大又は縮小されるのに応じて前記2点カーソルの間隔を拡大又は縮小表示し、前記第1の形態の動きの停止にて前記2点カーソルの間隔に応じて前記ディスプレイ部の拡大表示又は縮小表示を指示する第7の前記ポインティングデータを生成する画面拡大・縮小制御部を備えたことを特徴とする請求項34乃至請求項38の何れか一つに記載の入力装置。
【請求項40】
前記共通処理基板は、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると前記2点カーソルを表示すると共に、前記第1の形態の動きを行う前記手若しくは指の相対位置の上下の変化に応じて前記2点カーソルの相対位置を上下に変化させて表示し、前記第1の形態の動きの停止にて前記2点カーソルの上下の位置関係に応じて前記ディスプレイ部の表示の右回転又は左回転を指示する第8の前記ポインティングデータを生成する画面回転制御部を備えたことを特徴とする請求項34乃至請求項39の何れか一つに記載の入力装置。
【請求項41】
前記ディスプレイ部は、前記撮像装置による前記操作者の画像を透過表示することを特徴とする請求項34乃至請求項40の何れか一つに記載の入力装置。
【請求項42】
前記ディスプレイ部は、前記操作者が操作指示の動きをしているとき前記画像を透過表示することを特徴とする請求項41に記載の入力装置。
【請求項43】
前記ディスプレイ部は、前記操作者が前記手若しくは指の動きにて行う操作指示のエフェクトを表示することを特徴とする請求項34乃至請求項42の何れか一つに記載の入力装置。
【請求項1】
撮像装置で得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成する入力装置であって、
右眼用撮像装置と、
前記右眼用撮像装置から所定の間隔を置いた位置に、前記右眼用撮像装置と並んで配置される左眼用撮像装置と、
被写体に対する前記右眼用撮像装置と前記左眼用撮像装置の画像から両眼視差法により前記被写体までの距離を測定する距離測定手段と、
前記右眼用撮像装置と前記左眼用撮像装置との間の前記間隔に基づいて両眼視差法により割り出して予め設定してある奥行き距離と前記距離測定手段が測定した前記被写体までの距離とを比較し、前記被写体までの距離と前記奥行き距離とが所定の許容範囲内で一致している前記被写体を選択して前記操作者と判別する被写体判別手段と、
前記被写体判別手段が判別した前記被写体の動きを検出し、この検出結果に応じた操作指示を生成する操作指示生成手段と、
を備えたことを特徴とする入力装置。
【請求項2】
前記操作指示の認識結果を表示するディスプレイ部を具備し、
前記操作指示生成手段は、カーソルの表示待機中に前記操作者の手若しくは指による第1の形態の動きを検出すると前記ディスプレイ部に前記仮想カーソルを第1の状態で表示し、該第1の状態での表示中に前記手若しくは指による前記第1の動きが停止又は前記第1の動きが小さくなるのを検出すると前記仮想カーソルを第2の状態で表示すると共に、実カーソルを表示するカーソル表示制御手段を備えたことを特徴とする請求項1に記載の入力装置。
【請求項3】
前記操作指示生成手段は、前記仮想カーソルが前記第2の状態で表示されているときに、前記手若しくは指が前記第1の形態の動きをすると、その手若しくは指の位置に前記カーソルの移動を指示する第1の信号を生成するカーソル移動制御手段を備えたことを特徴とする請求項2に記載の入力装置。
【請求項4】
前記操作指示生成手段は、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第2の形態の動きを検出するとクリック操作と認識する第2の信号を生成し、第2の形態の動きに続く第3の形態の動きを検出するとダブルクリック操作と認識する第3の信号を生成するクリック制御手段を備えたことを特徴とする請求項2又は請求項3に記載の入力装置。
【請求項5】
前記操作指示生成手段は、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第4の形態の動きを検出すると、前記ディスプレイ部の画面スクロールを指示する第4の信号を生成する画面スクロール制御手段を備えたことを特徴とする請求項2乃至請求項4の何れか一つに記載の入力装置。
【請求項6】
前記操作指示生成手段は、前記ディスプレイ部に表示されたオブジェクトに前記実カーソルが重ねられた状態で前記手若しくは指による第5の形態の動きを検出すると前記オブジェクトがドラッグの対象オブジェクトであることを認識し、認識後の前記手若しくは指による移動に追随した前記オブジェクトの移動を指示する第5の信号を生成し、続いて前記手若しくは指による前記第1形態での動きを検出すると前記オブジェクトのドロップを指示する第6の信号を生成するドラッグアンドドロップ制御手段を備えたことを特徴とする請求項2乃至請求項5の何れか一つに記載の入力装置。
【請求項7】
前記操作指示生成手段は、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると2点カーソルを表示し、前記第1の形態の動きを行う前記手若しくは指の間隔が拡大又は縮小されるのに応じて前記2点カーソルの間隔を拡大又は縮小表示し、前記第1の形態の動きの停止にて前記2点カーソルの間隔に応じて前記ディスプレイ部の拡大表示又は縮小表示を指示する第7の信号を生成する画面拡大・縮小制御手段を備えたことを特徴とする請求項2乃至請求項6の何れか一つに記載の入力装置。
【請求項8】
前記操作指示生成手段は、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると前記2点カーソルを表示すると共に、前記第1の形態の動きを行う前記手若しくは指の相対位置の上下の変化に応じて前記2点カーソルの相対位置を上下に変化させて表示し、前記第1の形態の動きの停止にて前記2点カーソルの上下の位置関係に応じて前記ディスプレイ部の表示の右回転又は左回転を指示する第8の信号を生成する画面回転制御手段を備えたことを特徴とする請求項2乃至請求項7の何れか一つに記載の入力装置。
【請求項9】
前記ディスプレイ部は、前記撮像装置による前記操作者の画像を透過表示することを特徴とする請求項2乃至請求項8の何れか一つに記載の入力装置。
【請求項10】
前記ディスプレイ部は、前記操作者が操作指示の動きをしているとき前記画像を透過表示することを特徴とする請求項9に記載の入力装置。
【請求項11】
前記ディスプレイ部は、前記操作者が前記手若しくは指の動きにて行う操作指示のエフェクトを表示することを特徴とする請求項2乃至請求項10の何れか一つに記載の入力装置。
【請求項12】
ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成する入力装置であって、
右眼用カラーカメラと、
前記右眼用カラーカメラから所定距離だけ離れた位置に、前記右眼用カラーカメラと並んで配置される左眼用カラーカメラと、
被写体を捉えた前記右眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理プログラムと、
前記被写体を捉えた前記左眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理プログラムと、
前記右眼側画像処理プログラムで得られた右眼側活動矩形領域の座標軸と前記左眼側画像処理プログラムで得られた左眼側活動矩形領域の座標軸との中心座標距離を演算することで両眼視差法による前記被写体までの距離を測定し、測定した前記被写体までの距離を前記右眼用撮像装置と前記左眼用撮像装置との間の前記間隔に基づいて両眼視差法により割り出して予め設定してある奥行き距離と比較し、前記被写体までの距離と前記奥行き距離とが所定の許容範囲内で一致している前記右眼活動矩形領域及び前記左眼活動矩形領域を前記操作者による活動矩形領域として選択する活動領域選択処理プログラムと、
前記活動領域選択処理プログラムにて選択された活動矩形領域に対し、仮想カーソル制御処理/画面制御処理を行って、前記被写体の手、又は指先の動きを検出し、この検出結果に応じた操作指示を生成する画像処理プログラムと、
を備えたことを特徴とする入力装置。
【請求項13】
前記仮想カーソル制御処理/画面制御処理は、仮想カーソル活動領域画像上に活動矩形領域群が1つあるとき、その形状、移動有無に基づき、カールソル制御指示、又は画面スクロール指示を生成することを特徴とする請求項12に記載の入力装置。
【請求項14】
前記仮想カーソル制御処理/画面制御処理は、仮想カーソル活動領域画像上に活動矩形領域群が2つあるとき、その移動方向に基づき、画面回転指示、画面拡大指示、画面縮小指示の何れかを生成することを特徴とする請求項12又は請求項13に記載の入力装置。
【請求項15】
前記活動矩形領域抽出処理は、ヒストグラムの統計処理結果を使用して、前記ヒストグラムから仮想カーソル活動領域画像を作成することを特徴とする請求項12乃至請求項14の何れか一つに記載の入力装置。
【請求項16】
前記活動矩形領域抽出処理は、前記仮想カーソル活動領域画像に対し、多段階矩形オブジェクト抽出処理を行い、ノイズ成分を除去することを特徴とする請求項12乃至請求項15の何れか一つに記載の入力装置。
【請求項17】
拡大/縮小矩形マスク作成処理を付加し、前記拡大/縮小矩形マスク作成処理によって、前記カラーカメラで得られたカラー画像の中から、前記仮想カーソル活動領域画像上の変化領域矩形に対応する画像を抽出し、それ以外の画像をカットして、ノイズ成分を除去することを特徴とする請求項12乃至請求項16の何れか一つに記載の入力装置。
【請求項18】
前記操作指示の認識結果を表示するディスプレイ部を具備し、
前記画像処理プログラムは、カーソルの表示待機中に前記操作者の手若しくは指による第1の形態の動きを検出すると前記ディスプレイ部に前記仮想カーソルを第1の状態で表示し、該第1の状態での表示中に前記手若しくは指による前記第1の動きが停止又は前記第1の動きが小さくなるのを検出すると前記仮想カーソルを第2の状態で表示すると共に、実カーソルを表示するカーソル表示制御のステップを備えたことを特徴とする請求項12乃至請求項17の何れか一つに記載の入力装置。
【請求項19】
前記画像処理プログラムは、前記仮想カーソルが前記第2の状態で表示されているときに、前記手若しくは指が前記第1の形態の動きをすると、その手若しくは指の位置に前記カーソルの移動を指示する第1の信号を生成するカーソル移動制御のステップを備えたことを特徴とする請求項18に記載の入力装置。
【請求項20】
前記画像処理プログラムは、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第2の形態の動きを検出するとクリック操作と認識する第2の信号を生成し、第2の形態の動きに続く第3の形態の動きを検出するとダブルクリック操作と認識する第3の信号を生成するクリック制御のステップを備えたことを特徴とする請求項18又は請求項19に記載の入力装置。
【請求項21】
前記画像処理プログラムは、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第4の形態の動きを検出すると、前記ディスプレイ部の表示のフリップを指示する第4の信号を生成する画面スクロール制御のステップを備えたことを特徴とする請求項18乃至請求項20の何れか一つに記載の入力装置。
【請求項22】
前記画像処理プログラムは、前記ディスプレイ部に表示されたオブジェクトに前記実カーソルが重ねられた状態で前記手若しくは指による第5の形態の動きを検出すると前記オブジェクトがドラッグの対象オブジェクトであることを認識し、認識後の前記手若しくは指による移動に追随した前記オブジェクトの移動を指示する第5の信号を生成し、続いて前記手若しくは指による前記第1形態での動きを検出すると前記オブジェクトのドロップを指示する第6の信号を生成するドラッグアンドドロップ制御のステップを備えたことを特徴とする請求項18乃至請求項21の何れか一つに記載の入力装置。
【請求項23】
前記画像処理プログラムは、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると2点カーソルを表示し、前記第1の形態の動きを行う前記手若しくは指の間隔が拡大又は縮小されるのに応じて前記2点カーソルの間隔を拡大又は縮小表示し、前記第1の形態の動きの停止にて前記2点カーソルの間隔に応じて前記ディスプレイ部の拡大表示又は縮小表示を指示する第7の信号を生成する画面拡大・縮小制御のステップを備えたことを特徴とする請求項18乃至請求項22の何れか一つに記載の入力装置。
【請求項24】
前記画像処理プログラムは、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると前記2点カーソルを表示すると共に、前記第1の形態の動きを行う前記手若しくは指の相対位置の上下の変化に応じて前記2点カーソルの相対位置を上下に変化させて表示し、前記第1の形態の動きの停止にて前記2点カーソルの上下の位置関係に応じて前記ディスプレイ部の表示の右回転又は左回転を指示する第8の信号を生成する画面回転制御のステップを備えたことを特徴とする請求項18乃至請求項23の何れか一つに記載の入力装置。
【請求項25】
前記ディスプレイ部は、前記カラーカメラによる前記操作者の画像を透過表示することを特徴とする請求項18乃至請求項24の何れか一つに記載の入力装置。
【請求項26】
前記ディスプレイ部は、前記操作者が操作指示の動きをしているとき前記画像を透過表示することを特徴とする請求項25に記載の入力装置。
【請求項27】
前記ディスプレイ部は、前記操作者が前記手若しくは指の動きにて行う操作指示のエフェクトを表示することを特徴とする請求項18乃至請求項26の何れか一つに記載の入力装置。
【請求項28】
ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成し、遠隔操作対象機器の動作を制御する入力装置であって、
箱形に形成される入力装置筐体と、
この入力装置筐体の前面左側に取り付けられる右眼用カラーカメラ本体と、
前記入力装置筐体の前面右側に取り付けられる左眼用カラーカメラ本体と、
前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記右眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理基板と、
前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記左眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理基板と、
前記入力装置筐体内に配置され、活動矩形領域選択処理回路、仮想カーソル制御処理/画面制御処理回路によって、両眼視差法を使用して、前記右眼側画像処理プログラムで得られた右眼側活動矩形領域の座標軸と前記左眼側画像処理プログラムで得られた左眼側活動矩形領域の座標軸とから被写体までの距離を演算することで両眼視差法による前記被写体までの距離を測定し、前記被写体までの距離を前記右眼用撮像装置と前記左眼用撮像装置との間の前記間隔に基づいて両眼視差法により割り出して予め設定してある奥行き距離と比較し、前記被写体までの距離と前記奥行き距離とが所定の許容範囲内で一致している前記右眼活動矩形領域及び前記左眼活動矩形領域を前記操作者による活動矩形領域として選択し、選択した前記活動矩形領域に仮想カーソル制御処理/画面制御処理を行って、前記被写体の手、又は指先の動きを検出し、この検出結果に応じたポインティングデータを生成し、遠隔操作対象機器の動作を制御する共通処理基板と、
を備えることを特徴とする入力装置。
【請求項29】
前記仮想カーソル制御処理/画面制御処理回路は、仮想カーソル活動領域画像上に活動矩形領域群が1つあるとき、その形状、移動有無に基づき、カールソル制御指示、又は画面スクロール指示を生成することを特徴とする請求項28に記載の入力装置。
【請求項30】
前記仮想カーソル制御処理/画面制御処理回路は、仮想カーソル活動領域画像上に活動矩形領域群が2つあるとき、その移動方向に基づき、画面回転指示、画面拡大指示、画面縮小指示の何れかを生成することを特徴とする請求項28又は請求項29に記載の入力装置。
【請求項31】
前記活動矩形領域抽出処理は、ヒストグラムの統計処理結果を使用して、前記ヒストグラムから仮想ボタンクリック活動領域画像を作成することを特徴とする請求項28乃至請求項30の何れか一つに記載の入力装置。
【請求項32】
前記活動矩形領域抽出処理は、前記仮想ボタンクリック活動領域画像に対し、多段階矩形オブジェクト抽出処理を行い、ノイズ成分を除去することを特徴とする請求項28乃至請求項31の何れか一つに記載の入力装置。
【請求項33】
拡大/縮小矩形マスク作成処理回路を付加し、前記拡大/縮小矩形マスク作成処理回路によって、前記カラーカメラ、前記カラーカメラ本体で得られたカラー画像の中から、前記仮想ボタンクリック活動領域画像の変化領域矩形に対応する画像を抽出し、それ以外の画像をカットして、ノイズ成分を除去することを特徴とする請求項28乃至請求項32の何れか一つに記載の入力装置。
【請求項34】
前記操作指示の認識結果を表示するディスプレイ部を具備し、
前記共通処理基板は、カーソルの表示待機中に前記操作者の手若しくは指による第1の形態の動きを検出すると前記ディスプレイ部に前記仮想カーソルを第1の状態で表示し、該第1の状態での表示中に前記手若しくは指による前記第1の動きが停止又は前記第1の動きが小さくなるのを検出すると前記仮想カーソルを第2の状態で表示すると共に、実カーソルを表示するカーソル表示制御部を備えたことを特徴とする請求項28乃至請求項33の何れか一つに記載の入力装置。
【請求項35】
前記共通処理基板は、前記仮想カーソルが前記第2の状態で表示されているときに、前記手若しくは指が前記第1の形態の動きをすると、その手若しくは指の位置に前記カーソルの移動を指示する第1の前記ポインティングデータを生成するカーソル移動制御部を備えたことを特徴とする請求項34に記載の入力装置。
【請求項36】
前記共通処理基板は、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第2の形態の動きを検出するとクリック操作であることを示す第2の前記ポインティングデータを生成し、第2の形態の動きに続く第3の形態の動きを検出するとダブルクリック操作であることを示す第3の前記ポインティングデータを生成するクリック制御部を備えたことを特徴とする請求項34又は請求項35に記載の入力装置。
【請求項37】
前記共通処理基板は、前記仮想カーソルが前記第1の状態で表示されているときに、前記手若しくは指による第4の形態の動きを検出すると、前記ディスプレイ部の画面スクロールを指示する第4の前記ポインティングデータを生成する画面スクロール制御部を備えたことを特徴とする請求項34乃至請求項36の何れか一つに記載の入力装置。
【請求項38】
前記共通処理基板は、前記ディスプレイ部に表示されたオブジェクトに前記実カーソルが重ねられた状態で前記手若しくは指による第5の形態の動きを検出すると前記オブジェクトがドラッグの対象オブジェクトであることを認識し、認識後の前記手若しくは指による移動に追随した前記オブジェクトの移動を指示する第5の前記ポインティングデータを生成し、続いて前記手若しくは指による前記第1形態での動きを検出すると前記オブジェクトのドロップを指示する第6の前記ポインティングデータを生成するドラッグアンドドロップ制御部を備えたことを特徴とする請求項34乃至請求項37の何れか一つに記載の入力装置。
【請求項39】
前記共通処理基板は、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると2点カーソルを表示し、前記第1の形態の動きを行う前記手若しくは指の間隔が拡大又は縮小されるのに応じて前記2点カーソルの間隔を拡大又は縮小表示し、前記第1の形態の動きの停止にて前記2点カーソルの間隔に応じて前記ディスプレイ部の拡大表示又は縮小表示を指示する第7の前記ポインティングデータを生成する画面拡大・縮小制御部を備えたことを特徴とする請求項34乃至請求項38の何れか一つに記載の入力装置。
【請求項40】
前記共通処理基板は、2つの前記手若しくは指がそれぞれ前記第1の形態の動きを行うのを検出すると前記2点カーソルを表示すると共に、前記第1の形態の動きを行う前記手若しくは指の相対位置の上下の変化に応じて前記2点カーソルの相対位置を上下に変化させて表示し、前記第1の形態の動きの停止にて前記2点カーソルの上下の位置関係に応じて前記ディスプレイ部の表示の右回転又は左回転を指示する第8の前記ポインティングデータを生成する画面回転制御部を備えたことを特徴とする請求項34乃至請求項39の何れか一つに記載の入力装置。
【請求項41】
前記ディスプレイ部は、前記撮像装置による前記操作者の画像を透過表示することを特徴とする請求項34乃至請求項40の何れか一つに記載の入力装置。
【請求項42】
前記ディスプレイ部は、前記操作者が操作指示の動きをしているとき前記画像を透過表示することを特徴とする請求項41に記載の入力装置。
【請求項43】
前記ディスプレイ部は、前記操作者が前記手若しくは指の動きにて行う操作指示のエフェクトを表示することを特徴とする請求項34乃至請求項42の何れか一つに記載の入力装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【公開番号】特開2012−238293(P2012−238293A)
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願番号】特願2011−139984(P2011−139984)
【出願日】平成23年6月24日(2011.6.24)
【出願人】(505288686)株式会社ネクステッジテクノロジー (3)
【Fターム(参考)】
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願日】平成23年6月24日(2011.6.24)
【出願人】(505288686)株式会社ネクステッジテクノロジー (3)
【Fターム(参考)】
[ Back to top ]