入力装置
【課題】情報端末装置、パーソナルコンピュータなどを遠隔操作するときのアルゴリズムを簡素化すると共に、処理データ量を少なくして演算量、メモリ使用量を低減させ、装置全体の価格を大幅に低減すると共にリアルタイムでパソコンなどを遠隔操作可能なビデオ映像による入力装置を提供する。
【解決手段】ウェブカメラ4、6によってユーザを撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理、活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理を行って、背後にいる人の動きなどに影響されることなく操作者の手の動きを検知し、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行う。
【解決手段】ウェブカメラ4、6によってユーザを撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理、活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理を行って、背後にいる人の動きなどに影響されることなく操作者の手の動きを検知し、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報端末装置やパーソナルコンピュータなどの情報機器に接続されて使用され、カメラによって操作者(ユーザ)の動作画像を取り込み、情報機器のカーソル操作やアプリケーションプログラムの選択及び実行などを制御する入力装置であって、特に、アルゴリズムを簡素化すると共に処理データ量を極力少なくして演算量、メモリ使用量を低減すると共に、リアルタイムでパソコンのカーソルなどを制御するようにした、ビデオ映像による入力装置に関する。
【背景技術】
【0002】
近年、カメラでユーザを撮影して画像解析し、この画像解析結果を使用してオーディオ装置、エアコンなどの機器を操作する入力装置が種々、提案されている。
【0003】
図33は、このような従来の映像による入力装置を説明するための操作入力装置のブロック図である(特許文献1を参照)。
【0004】
この図に示す操作入力装置101は、可視光カメラ106(図34参照)などを使用してユーザを撮影しカラー画像を出力する撮像手段102と、撮像手段102から出力されるカラー画像を解析し、ユーザの手の形状を検出する手領域検出手段103と、予め登録されている手形状と手領域検出手段103から出力される手形状とを比較し、操作指示内容を判定する手操作判定手段104と、手操作判定手段104の判定内容に基づき選択メニューを音声、又はプロジェクト画像などでユーザに知らせる選択メニュー表現手段105と、を備えている。
【0005】
この操作入力装置101は、可視光カメラ106で撮影したカラー画像から手領域を抽出すると共に、その手の形状がどのような形状(例えば、手を傾ける、指を曲げるなど)になっているかを判定し、この判定内容に対応する手操作指示を音声、又はプロジェクト画像などでユーザに知らせるものである。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−104297号
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、このような従来の操作入力装置101では、ユーザの手形状を正確に検出する必要があることから、可視光カメラ106として手の部分を詳細に撮影できる解像度の高いカメラを使用しなければならず、操作入力装置101全体が高価になってしまうという問題があった。
【0008】
また、従来の操作入力装置101では、手領域検出手段103によって処理される背景画像と現在の画像が共に解像度が高いため、ピクセル(画素)数、データ量が膨大だった。そのため、その分だけハードディスクの容量、メモリ容量などを大きくしなければならず、操作入力装置101全体が高価になってしまうという問題があった。
【0009】
さらに、従来の操作入力装置101では、手領域検出手段103として図34に示すように、差分領域抽出手段110、肌色領域抽出手段111、2値化補正手段112、距離算出手段113、中央重点補正手段114、手領域候補検出手段115、輪郭長/面積算出手段116、手領域決定手段117などを備え、複雑な演算を行わなければならないのみならず、かなり高速なCPU、又は専用回路を使用しなければリアルタイムで手の形状を検出することができないという問題があった。
【0010】
このため、パソコンのカーソルなどを簡単に遠隔操作する入力装置として上記のような従来の操作入力装置101を使用することは難しく、安価なカメラが適用可能で、かつ少ない演算量、少ないメモリ量で遠隔操作入力できる入力装置の開発が強く望まれていた。
【0011】
また、従来の操作入力装置101では、可視光カメラ106の撮影範囲内にユーザ以外の人が居て手を動かした場合に、これを検出して誤動作してしまうという問題があった。
【0012】
本発明は、上記の事情に鑑み、請求項1では、解像度が低く安価なカメラの使用を可能にすると共に、演算量、メモリ量を大幅に少なくすることにより装置全体のコストを大幅に低減させながら、ユーザの動きを検知してパソコンのカーソルなどを遠隔操作することができ、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を提供することを目的とする。
【0013】
また、請求項2では、パソコンなどから分離された解像度が低く安価なカメラの使用を可能にすると共に、回路規模を大幅に小さくすることにより装置全体のコストを大幅に低減させながら、ユーザの動きを検知してパソコンのカーソルなどを遠隔操作することができ、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を提供することを目的とする。
【0014】
また、請求項3では、解像度が低く安価なカメラの使用を可能にすると共に、演算量、メモリ量、又は回路規模を大幅に小さくすることにより装置全体のコストを大幅に低減させながら、ユーザの片手動作を検知してパソコンのカーソル、操作対象画面のスクロールなどを遠隔操作することができ、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を提供することを目的とする。
【0015】
また、請求項4では、解像度が低く安価なカメラの使用を可能にすると共に、演算量、メモリ量、又は回路規模を大幅に小さくすることにより装置全体のコストを大幅に低減させながら、ユーザの両手動作を検知して操作対象画面の拡大/縮小、操作対象画面の回転などを遠隔操作することができ、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を提供することを目的とする。
【0016】
また、請求項5では、解像度が低く安価なカメラの使用を可能にすると共に、演算量、メモリ量、又は回路規模を大幅に小さくすることにより装置全体のコストを大幅に低減させながら、ユーザの手など動いている部分のみを正確に検知し、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行い、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を提供することを目的とする。
【0017】
また、請求項6では、解像度が低く安価なカメラの使用を可能にすると共に、演算量、メモリ量、又は回路規模を大幅に小さくすることにより装置全体のコストを大幅に低減させながら、ユーザの影などに起因する誤動作を防止し、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行い、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を提供することを目的とする。
【0018】
また、請求項7では、解像度が低く安価なカメラの使用を可能にすると共に、演算量、メモリ量、又は回路規模を大幅に小さくすることにより装置全体のコストを大幅に低減させながら、カメラで得られた画像の中からユーザの手画像より少し広い範囲に含まれる画像のみを有効にし、それ以外の画像を無効にして変化領域以外の部分に存在するノイズを除去することができ、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を提供することを目的とする。
【課題を解決するための手段】
【0019】
本発明は、上記の目的を達成するために、請求項1では、ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成する入力装置において、操作者を撮影する右眼用カラーカメラと、この右眼用カラーカメラから所定距離だけ離れた位置に、前記右眼用カラーカメラと並んで配置され、前記操作者を撮影する左眼用カラーカメラと、前記右眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理プログラムと、前記左眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理プログラムと、前記右眼側画像処理プログラムで得られた右眼側活動矩形領域、前記左眼側画像処理プログラムで得られた左眼側活動矩形領域に対し、両眼視差法を使用した活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理を行って、前記操作者の手、又は指先の動きを検出し、この検出結果に応じた操作指示を生成する画像処理プログラムとを備えることを特徴としている。
【0020】
また、請求項2では、ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成し、遠隔操作対象機器の動作を制御する入力装置において、箱形に形成される入力装置筐体と、この入力装置筐体の前面左側に取り付けられ、操作者の画像を撮影する右眼用カラーカメラ本体と、前記入力装置筐体の前面右側に取り付けられ、前記操作者の画像を撮影する左眼用カラーカメラ本体と、前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記右眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理基板と、前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記左眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理基板と、前記入力装置筐体内に配置され、活動矩形領域選択処理回路、仮想カーソル制御処理/画面制御処理回路によって、前記右眼側画像処理基板で得られた右眼側活動矩形領域、前記左眼側画像処理基板で得られた左眼側活動矩形領域に、両眼視差法を使用した活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理を行って、前記操作者の手、又は指先の動きを検出し、この検出結果に応じたポインティングデータを生成し、遠隔操作対象機器の動作を制御する共通処理基板とを備えることを特徴としている。
【0021】
また、請求項3では、請求項1、2の何れかに記載の入力装置において、前記仮想カーソル制御処理/画面制御処理、又は前記仮想カーソル制御処理/画面制御処理回路は、仮想カーソル活動領域画像上に活動矩形領域群が1つあるとき、その形状、移動有無に基づき、カールソル制御指示、又は画面スクロール指示を生成することを特徴としている。
【0022】
また、請求項4では、請求項1、2、3の何れかに記載の入力装置において、前記仮想カーソル制御処理/画面制御処理、又は前記仮想カーソル制御処理/画面制御処理回路は、仮想カーソル活動領域画像上に活動矩形領域群が2つあるとき、その移動方向に基づき、画面回転指示、画面拡大指示、画面縮小指示の何れかを生成することを特徴としている。
【0023】
また、請求項5では、請求項1、2、3、4の何れかに記載の入力装置において、前記活動矩形領域抽出処理、又は前記活動矩形領域抽出処理回路は、ヒストグラムの統計処理結果を使用して、前記ヒストグラムから仮想カーソル活動領域画像、仮想ボタンクリック活動領域画像を作成することを特徴としている。
【0024】
また、請求項6では、請求項1、2、3、4、5の何れかに記載の入力装置において、前記活動矩形領域抽出処理、又は前記活動矩形領域抽出処理回路は、前記仮想カーソル活動領域画像、又は前記仮想ボタンクリック活動領域画像に対し、多段階矩形オブジェクト抽出処理を行い、ノイズ成分を除去することを特徴としている。
【0025】
また、請求項7では、請求項1、2、3、4、5、6の何れかに記載の入力装置において、拡大/縮小矩形マスク作成処理、又は拡大/縮小矩形マスク作成処理回路を付加し、前記拡大/縮小矩形マスク作成処理、又は前記拡大/縮小矩形マスク作成処理回路によって、前記カラーカメラ、前記カラーカメラ本体で得られたカラー画像の中から、前記仮想カーソル活動領域画像上の変化領域矩形、又は前記仮想ボタンクリック活動領域画像の変化領域矩形に対応する画像を抽出し、それ以外の画像をカットして、ノイズ成分を除去することを特徴としている。
【発明の効果】
【0026】
本発明によれば、解像度が低く安価なカメラの使用を可能にすると共に、演算量、メモリ量を大幅に少なくすることにより装置全体のコストを大幅に低減させながら、ユーザの動きを検知してパソコンのカーソルなどを遠隔操作することができ、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を実現することが可能となる。
【図面の簡単な説明】
【0027】
【図1】本発明による入力装置の第1の実施形態を示すブロック図である。
【図2】図1に示す入力装置の詳細な動作例を示すフローチャートである。
【図3】図2に示すグレー化/2値化画像処理の詳細な動作例を示すフローチャートである。
【図4】図2に示すフレーム間差分/ヒストグラム作成処理の詳細な動作例を示すフローチャートである。
【図5】図2に示す活動矩形領域抽出処理の詳細な動作例を示すフローチャートである。
【図6】図2に示す活動矩形領域選択処理の詳細な動作例を示すフローチャートである。
【図7】図2に示す仮想カーソル制御処理、画面制御処理の詳細な動作例を示すフローチャートである。
【図8】図1に示す入力装置で使用される元のヒストグラム例と、変化領域抽出後のヒストグラム例とを示す模式図である。
【図9】図1に示す入力装置で使用される変化領域抽出後のヒストグラム例と、仮想カーソル活動領域画像例とを示す模式図である。
【図10】図1に示す入力装置で使用される元のヒストグラム例と、変化領域抽出後のヒストグラム例とを示す模式図である。
【図11】図1に示す入力装置で使用される変化領域抽出後のヒストグラム例と、仮想カーソル活動領域画像例とを示す模式図である。
【図12】図1に示す入力装置において、活動矩形領域選択処理で選択された活動矩形領域群の一例を示す模式図である。
【図13】図1に示す入力装置において、活動矩形領域選択処理で選択された活動矩形領域群の一例を示す模式図である。
【図14】図1に示す入力装置で使用される多段階オブジェクト抽出処理の一例を示す模式図である。
【図15】図1に示す入力装置で使用される多段階オブジェクト抽出処理の一例を示す模式図である。
【図16】図1に示す入力装置で使用される両眼視差法の概要を示す模式図である。
【図17】図1に示す入力装置において、両眼視差法による補正を行う前の右活動矩形領域、左活動矩形領域の関係を示す模式図である。
【図18】図1に示す入力装置において、両眼視差法による補正を行った後の右活動矩形領域、左活動矩形領域の関係を示す模式図である。
【図19】図1に示す入力装置において、両眼視差法による補正を行った後の右活動矩形領域、各左活動矩形領域の実例を示す模式図である。
【図20】図1に示す入力装置によって撮影されるユーザの手の動きと、仮想カーソルとの関係例を示す模式図である。
【図21】図1に示す入力装置によって撮影されるユーザの手の動きと、仮想カーソルとの関係例を示す模式図である。
【図22】図1に示す入力装置によって制御される実カーソルの微調整動作例を示す模式図である。
【図23】図1に示す入力装置によって制御される仮想カーソルの色制御例を示す模式図である。
【図24】図1に示す入力装置で使用される変化領域抽出後のヒストグラム例と、仮想カーソル活動領域画像例とを示す模式図である。
【図25】図1に示す入力装置によって撮影されるユーザの手の動きと、クリック動作との関係例を示す模式図である。
【図26】図1に示す入力装置によって得られる仮想カーソル活動領域画像上に2つの各活動矩形領域群があるときの一例を示す模式図である。
【図27】図1に示す入力装置によって得られる仮想カーソル活動領域画像上にある各活動矩形領域群の位置関係例を示す模式図である。
【図28】図1に示す入力装置によって得られる仮想カーソル活動領域画像上に2つの各活動矩形領域群があるときの一例を示す模式図である。
【図29】図1に示す入力装置によって得られる仮想カーソル活動領域画像上にある各活動矩形領域群の位置関係例を示す模式図である。
【図30】本発明による入力装置の第2の実施形態を示すブロック図である。
【図31】本発明による入力装置の他の実施形態を示すフローチャートである。
【図32】図31に示すフローチャートの動作例を示す模式図である。
【図33】従来から知られている操作入力装置の一例を示すブロック図である。
【図34】図33に示す手領域検出手段の詳細な回路構成例を示すブロック図である。
【発明を実施するための形態】
【0028】
1.第1の実施形態の説明
図1は、本発明による入力装置の第1の実施の形態を示すブロック図を示す。
この図に示す入力装置1aは、パソコン2のディスプレイ部3に設けられる内蔵型のウェブカメラ(請求項1の左眼用カラーカメラ)4と、パソコン2内に設けられるビデオキャプチャ5と、パソコン2のディスプレイ部3に設けられる外付け型のウェブカメラ(請求項1の右眼用カラーカメラ)6と、パソコン2内に設けられるUSBインタフェース7と、パソコン2内に設けられるハードディスク8と、パソコン2内に設けられるCPU9と、パソコン2内に設けられるメモリ10とによって構成されている。この入力装置1aは、各ウェブカメラ4、6で得られたカラー画像を解析して、各ウェブカメラ4、6の設置位置から所定距離範囲、例えば“0.3m”〜“0.8m”の範囲内にいるユーザとそれ以外の距離にいる他の人とを区別しながら、ユーザの手、指先などの動きのみを検出し、パソコン2のディスプレイ部3に表示された仮想カーソル25〔図20の(b)参照〕、操作対象画面(OS画面、アプリケーション画面)などを制御し、現在、起動中のアプリケーションをコントロールする。
【0029】
ウェブカメラ4は、320画素×240画素程度の解像度を持つカラーカメラであり、ビデオキャプチャ5から撮影指示が出されているとき、ユーザを撮影して得られたカラービデオ信号をビデオキャプチャ5に供給する。
【0030】
ビデオキャプチャ5は、システムバス12を介して、CPU9から撮影指示が出されているとき、ウェブカメラ4を制御してユーザを撮影すると共に、撮影動作で得られたカラービデオ信号を取り込み、RGB信号形式のカラー画像に変換してCPU9に供給する。
【0031】
また、ウェブカメラ6は、ウェブカメラ4から水平方向に所定距離だけ離れてディスプレイ部3の上縁などに取り付けられた、320画素×240画素程度の解像度を持つカラーカメラであり、USBインタフェース7から撮影指示が出されているとき、ユーザを撮影して得られたYUV信号をUSBインタフェース7に供給する。
【0032】
USBインタフェース7は、システムバス12を介して、CPU9から撮影指示が出されているとき、ウェブカメラ6を制御してユーザの画像を撮影すると共に、撮影動作で得られたYUV信号を取り込んでCPU9に供給し、RGB信号形式のカラー画像に変換する。
【0033】
ハードディスク8は、OS(Operating System)、定数データなどが格納されるOS格納エリア13と、インターネットエクスプローラプログラム、ブラウザプログラムなどのアプリケーションプログラムが格納されるアプリケーション格納エリア14と、本発明で使用する画像処理プログラム(請求項1の右眼側画像処理プログラム、左眼側画像処理プログラム、画像処理プログラム)が格納される画像処理プログラム格納エリア15と、HSV(色相・彩度・明度)方式で、予め設定されている特定色(例えば、肌色)のカラー画像を抽出するのに必要なカラーマスク、2値化画像、ヒストグラム、仮想カーソル活動領域画像27(図9参照)、仮想ボタンクリック活動領域画像などが格納される画像格納エリア16とを備えている。そして、CPU9から読み出し指示が出力されたとき、システムバス12を介してこれを取り込み、指定されたエリアに格納されているOS、定数データ、アプリケーションプログラム、画像処理プログラム、2値化画像、ヒストグラム、仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像などを読み出し、システムバス12を介してCPU9に供給する。また、CPU9から書き込み指示、データが出力されたとき、システムバス12を介してこれらを取り込み、書き込み指示で指定されたエリア、例えば画像格納エリア16などにデータを記憶させる。
【0034】
CPU9は、ハードディスク8に格納されているOS、定数データ、アプリケーションプログラムなどで指定された表示データを生成してシステムバス12に接続された表示インタフェース11に供給し、ディスプレイ部3に操作対象画面を表示させる。また、右眼側画像処理プログラム、左眼側画像処理プログラム、画像処理プログラムなどで記述された画像処理を行い、操作対象画面に表示されている仮想カーソルのサイズ、位置などの制御、クリック制御、スクロール制御、画面回転制御、画面拡大制御、画面縮小制御などを行う。
【0035】
メモリ10は、数百メガバイト〜数ギガバイト程度の容量を持ち、CPU9がアプリケーションプログラム、右眼側画像処理プログラム、左眼側画像処理プログラム、画像処理プログラムなどで指定された処理を行うときの一時データ格納エリアとして使用される。
【0036】
次に、図2〜図7に示す各フローチャート、図8〜図29に示す各模式図などを参照しながら、入力装置1aの画像処理動作、カーソル制御動作、画面制御動作などを説明する。
【0037】
《2値化画像生成、格納》
まず、パソコン2の電源が投入されて、アプリケーションプログラム、右眼側画像処理プログラム、左眼側画像処理プログラム、画像処理プログラムが起動されると、図2のフローチャートに示すようにCPU9によって、ビデオキャプチャ5が制御されて、ウェブカメラ4の撮影動作で得られたカラービデオ信号が取り込まれると共に、RGB信号形式のカラー画像に変換されてメモリ10などに一時記憶される(ステップS1)。
【0038】
また、この動作と並行し、CPU9によってUSBインタフェース7が制御されて、ウェブカメラ6の撮影動作で得られたYUV信号が取り込まれると共に、RGB信号形式のカラー画像に変換されてメモリ10などに一時記憶される(ステップS2)。
【0039】
また、これらの各動作と並行し、CPU9によってメモリ10などに一時記憶されている各カラー画像(各ウェブカメラ4、6の撮影動作で得られたカラー画像)のうち、パソコン2側からユーザを見たとき右眼に対応するウェブカメラ、例えば外付け型のウェブカメラ6で得られたカラー画像が読み取られる(ステップS3)。
【0040】
この後、CPU9によってグレー化/2値化画像処理が開始される(ステップS4)。即ち、図3のフローチャートに示すようにハードディスク8の画像格納リア16に格納されているカラーマスクで、外付け型のウェブカメラ6で得られたカラー画像がマスクされ、カラー画像の中から予め設定されている特定色(例えば、肌色)のカラー画像(肌色画像)が抽出されると共に(ステップS21)、外付け型のウェブカメラ6で得られたカラー画像がグレー処理化されて、予め設定されている階調のモノクロ画像に変換され、1フレーム分の画像容量を低減させる(ステップS22)。
【0041】
そして、CPU9によって画面分割指示が設定されているかどうかがチェックされ、画面分割指示があればモノクロ画像が複数のエリア(各エリアは各々、数個〜数十個の画素によって構成される)に分割され、また画面分割指示がなければ分割処理がスキップされた後、最大尤度しきい値法でモノクロ画像が2値化され、2値化画像が作成される(ステップS23)。
【0042】
次いで、CPU9によって2値化画像と肌色画像との論理和が取られて、2値化画像中の肌色部分が抽出され(ステップS24)、これが1フレーム分の2値化画像(右眼側の2値化画像)としてハードディスク8の画像格納エリア16に格納される(ステップS25)。
【0043】
この後、CPU9によって図2のフローチャートに示すようにメモリ10などに一時記憶されている各カラー画像(各ウェブカメラ4、6の撮影動作で得られた各カラー画像)のうち、パソコン2側からユーザを見たとき左眼に対応するウェブカメラ、例えば内蔵型のウェブカメラ4で得られたカラー画像が読み取られる(ステップS5)。
【0044】
次いで、CPU9によってグレー化/2値化画像処理が開始される(ステップS6)。即ち、図3のフローチャートに示すようにハードディスク8の画像格納エリア16に格納されているカラーマスクで内蔵型のウェブカメラ4で得られたカラー画像がマスクされ、カラー画像の中から予め設定されている特定色(例えば、肌色)のカラー画像(肌色画像)が抽出されると共に(ステップS21)、内蔵型のウェブカメラ4で得られたカラー画像がグレー処理化されて、予め設定されている階調のモノクロ画像に変換され、1フレーム分の画像容量を低減させる(ステップS22)。
【0045】
そして、CPU9によって画面分割指示が設定されているかどうかがチェックされ、画面分割指示があればモノクロ画像が複数のエリア(各エリアは各々、数個〜数十個の画素によって構成される)に分割され、また画面分割指示がなければ分割処理がスキップされた後、最大尤度しきい値法でモノクロ画像が2値化され、2値化画像が作成される(ステップS23)。
【0046】
次いで、CPU9によって2値化画像と肌色画像との論理和が取られて、2値化画像中の肌色部分が抽出され(ステップS24)、これが1フレーム分の2値化画像(左眼側の2値化画像)としてハードディスク8の画像格納エリア16に格納される(ステップS25)。
【0047】
以下、上述した画像処理が繰り返され、FIFO(First・In・First・Out)形式でハードディスク8の画像格納エリア16に右眼側の2値化画像、左眼側の2値化画像が各々数フレーム分〜数十フレーム分蓄積される。
【0048】
《フレーム間差分、ヒストグラム作成》
また、この動作と並行し図2のフローチャートに示すように、CPU9によってハードディスク13の画像格納エリア16に格納されている数フレーム分〜数十フレーム分の2値化画像の中から、右眼側に対応する最新の2値化画像を含む連続する数フレームの2値化画像が順次読み出される(ステップS7)。
【0049】
そして、CPU9によって読み出すことができた2値化画像のフレーム数がチェックされ、所定数以上のフレーム数であれば(ステップS8)、フレーム間差分/ヒストグラム作成処理が開始される(ステップS9)。即ち、図4のフローチャートに示すように、各2値化画像のうち、連続する2フレーム分の2値化画像に対しフレーム間差分処理が行われると共に(ステップS31、S32)、このフレーム間差分処理で得られた各差分画像が各分割エリア毎に累積加算されて右眼側のヒストグラムが作成され、ハードディスク8の画像格納エリア16に格納される(ステップS33、S34)。
【0050】
次いで、図2のフローチャートに示すように、CPU9によってハードディスク13の画像格納エリア16に格納されている数フレーム分〜数十フレーム分の2値化画像の中から左眼側に対応する最新の2値化画像を含む、連続する数フレームの2値化画像が順次読み出される(ステップS10)。
【0051】
そして、CPU9によって読み出すことができた2値化画像のフレーム数がチェックされ、所定数以上のフレーム数であれば(ステップS11)、フレーム間差分/ヒストグラム作成処理が開始される(ステップS12)。即ち、図4のフローチャートに示すように、各2値化画像のうち、連続する2フレーム分の2値化画像に対しフレーム間差分処理が行われると共に(ステップS31、S32)、このフレーム間差分処理で得られた各差分画像が各分割エリア毎に累積加算されて左眼側のヒストグラムが作成され、ハードディスク8の画像格納エリア16に格納される(ステップS33、S34)。
【0052】
《統計処理、仮想カーソルの活動領域決定、変化領域抽出》
この後、図2のフローチャートに示すように、CPU9によってハードディスク8の画像格納エリア16に格納されている右眼側のヒストグラムが読み出されて(ステップS13)、活動矩形領域抽出処理が開始される(ステップS14)。即ち、図5のフローチャートに示すように、ヒストグラムの各分割エリアの濃度値に対する統計処理が行われ、平均値、濃度分散値、最大値、偏差(±1σ、±2σ)などが演算される(ステップS41)。
【0053】
次いで、CPU9によってヒストグラムの各分割エリアの中から、変化領域矩形抽出用のしきい値(例えば、平均値−1σ)より大きい濃度値になっている各分割エリアが抽出され、これらの各分割エリア(活動分割エリア)を含むように矩形状の変化領域矩形65(図32参照)が決定されて、ハードディスク8の画像格納エリア16に格納される。
【0054】
また、この動作と並行し、CPU9によって図8、図10の3次元濃度分布図に示すようにヒストグラムを構成している各分割エリア20(図9、図11参照)のうち、仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)より大きい濃度値になっている分割エリア(活動分割エリア21)が抽出される。
【0055】
これにより、ユーザが指先を大きく回しているとき、図9に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されると共に、この決定結果に基づき図12に示すような右眼側の仮想カーソル活動領域画面27が作成されて、ハードディスク8の画像格納エリア16に格納される。
【0056】
また、ユーザが両手を動かしているときには、図11に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されて、図13に示すような右眼側の仮想カーソル活動領域画像27が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS42)。
【0057】
《仮想ボタンクリックの活動領域決定》
この後、CPU9によってハードディスク8の画像格納エリア16に格納されている右眼側のヒストグラムが読み出されて、各分割エリア20のうち仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)より大きい濃度値になっている分割エリア(活動分割エリア)が抽出されると共に、これらの各活動分割エリアを含むように矩形状の活動矩形領域が決定されて、右眼側の仮想ボタンクリック活動領域画像(図示は省略する)が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS43)。
【0058】
《多段階矩形オブジェクト抽出処理、影の影響除去》
次いで、CPU9によって仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)を使用して得られた右眼側の仮想カーソル活動領域画像27、仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)を使用して得られた右眼側の仮想ボタンクリック活動領域画像に対し、各々活動矩形領域26が左右に分割可能かどうかチェックされ、左右に分割可能であれば、図14に示すように活動矩形領域26の水平方向中心点“A”が求められると共に、水平方向中心点“A”から左側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“B”と、水平方向中心点“A”から右側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“C”とが検知され、これら境界点“B”、“C”を含む領域が各活動矩形領域26と判定され、それ以外の活動領域がユーザの影などによる不要な活動領域と判定され、無効とされる(2点抽出処理)。
【0059】
この後、CPU9によって、2点抽出処理が終了した各活動矩形領域26に対し、各々活動矩形領域26が上下に分割可能かどうかチェックされ、上下分割可能であれば図15に示すように活動矩形領域26の上下方向中心点“A”が求められると共に、上下方向中心点“A”から上側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“B”が検知され、これら境界点“B”を含む領域が活動矩形領域26と判定され、下の活動領域がユーザの影などによる不要な活動領域と判定され、無効とされる(最小化処理)(ステップS44)。
【0060】
次いで、CPU9によって、これら2点抽出処理、最小化処理によって構成される多段階矩形オブジェクト抽出処理で得られた活動矩形領域26を含む右眼側の仮想カーソル活動領域画像27、右眼側の仮想ボタンクリック活動領域画像が、ハードディスク8の画像格納エリア16に格納される(ステップS45)。
【0061】
《統計処理、仮想カーソルの活動領域決定、変化領域抽出》
この後、図2のフローチャートに示すようにCPU9によって、ハードディスク8の画像格納エリア16に格納されている左眼側のヒストグラムが読み出されて(ステップS15)、活動矩形領域抽出処理が開始される(ステップS16)。即ち、図5のフローチャートに示すように、ヒストグラムの各分割エリアの濃度値に対する統計処理が行われ、平均値、濃度分散値、最大値、偏差(±1σ、±2σ)などが演算される(ステップS41)。
【0062】
次いで、CPU9によって変化領域矩形抽出用のしきい値(例えば、平均値−1σ)より大きい濃度値になっている各分割エリア20が抽出されて、これらの各分割エリア(活動分割エリア)を含むように矩形状の変化領域矩形65(図32参照)が決定され、ハードディスク8の画像格納エリア16に格納される。
【0063】
また、この動作と並行しCPU9によって、図8、図10の3次元濃度分布図に示すようにヒストグラムを構成している各分割エリア20(図9、図11参照)のうち、仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)より大きい濃度値になっている分割エリア(活動分割エリア21)が抽出される。
【0064】
これにより、ユーザが指先を大きく回しているとき、図9に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されると共に、この決定結果に基づき図12に示すような左眼側の仮想カーソル活動領域画面27が作成されて、ハードディスク8の画像格納エリア16に格納される。
【0065】
また、ユーザが両手を動かしているときには、図11に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されて、図13に示すような左眼側の仮想カーソル活動領域画像27が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS42)。
【0066】
《仮想ボタンクリックの活動領域決定》
次いで、CPU9によってハードディスク8の画像格納エリア16に格納されている左眼側のヒストグラムが読み出されて、各分割エリア20のうち仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)より大きい濃度値になっている分割エリア(活動分割エリア)が抽出されると共に、これらの各活動分割エリアを含むように矩形状の活動矩形領域が決定されて、左眼側の仮想ボタンクリック活動領域画像(図示は省略する)が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS43)。
【0067】
《多段階矩形オブジェクト抽出処理、影の影響除去》
次いで、CPU9によって仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)を使用して得られた左眼側の仮想カーソル活動領域画像27、仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)を使用して得られた左眼側の仮想ボタンクリック活動領域画像に対し、各々活動矩形領域26が左右に分割可能かどうかチェックされ、左右に分割可能であれば、図14に示すように活動矩形領域26の水平方向中心点“A”が求められると共に、水平方向中心点“A”から左側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“B”と、水平方向中心点“A”から右側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“C”とが検知され、これら境界点“B”、“C”を含む領域が各活動矩形領域26と判定され、それ以外の活動領域がユーザの影などによる不要な活動領域と判定され、無効とされる(2点抽出処理)。
【0068】
この後、CPU9によって、2点抽出処理が終了した各活動矩形領域26に対し各々活動矩形領域26が上下に分割可能かどうかチェックされ、上下分割可能であれば図15に示すように活動矩形領域26の上下方向中心点“A”が求められると共に、上下方向中心点“A”から上側にある非活動領域と活動領域(例えば、活動分割エリア21)との境界点“B”が検知され、これら境界点“B”を含む領域が活動矩形領域26、下の活動領域がユーザの影などによる不要な活動領域と判定され、無効とされる(最小化処理)(ステップS44)。
【0069】
次いで、CPU9によってこれら2点抽出処理、最小化処理によって構成される多段階矩形オブジェクト抽出処理で得られた活動矩形領域26を含む左眼側の仮想カーソル活動領域画像27、左眼側の仮想ボタンクリック活動領域画像が、ハードディスク8の画像格納エリア16に格納される(ステップS45)。
【0070】
《活動矩形領域選択》
この後、図2のフローチャートに示すように、CPU9によって活動矩形領域選択処理が開始される(ステップS17)。即ち、図6のフローチャートに示すようにハードディスク8の画像格納エリア16に格納されている右眼側の仮想カーソル活動領域画像27、右眼側の仮想ボタンクリック活動領域画像が読み出され、これら右眼側の仮想カーソル活動領域画像27、右眼側の仮想ボタンクリック活動領域画像に含まれている各活動矩形領域26に対し、図16の模式図に示すように両眼視差法による位置補正が行われ、各ウェブカメラ4、6の取り付け位置(水平距離“B”、上下距離など)、各ウェブカメラ4、6の焦点距離“f”などと対応するように各活動矩形領域26の中心座標“PR(XR、YR)”が補正された後、大きさ順に番号が付加される(ステップS51、S52)。
【0071】
次いで、CPU9によってハードディスク8の画像格納エリア16に格納されている左眼側の仮想カーソル活動領域画像27、左眼側の仮想ボタンクリック活動領域画像が読み出され、これら左眼側の仮想カーソル活動領域画像27、左眼側の仮想ボタンクリック活動領域画像の各活動矩形領域26に対し、図16の模式図に示すように両眼視差法による位置補正が行われ、各ウェブカメラ4、6の取り付け位置(水平距離“B”、上下距離など)、各ウェブカメラ4、6の焦点距離“f”などと対応するように各活動矩形領域26の座標“PL(XL、YL)”が補正された後、大きさ順に番号が付加される(ステップS53、S54)。
【0072】
これにより、各ウェブカメラ4、6の焦点距離などと対応したピント位置、例えば各ウェブカメラ4、6から“0.3m”〜“0.8m”離れた位置にユーザの手があり、両眼視差法による位置補正を行う前、図17の模式図に示すように右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とが位置がずれていても、両眼視差法による位置補正を行うことにより、図18の模式図に示すように右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とを完全一致(又は、ほぼ一致)させることができる。
【0073】
この後、CPU9によって図19の模式図に示すように、番号“1”が付与された右眼側に対応する活動矩形領域26の中心座標“XR、YR”と、左眼側に対応する活動矩形領域26の中心座標“XL、YL”との距離(中心座標距離)が演算されて、これが番号“1”と共に、メモリ10に記憶される。
【0074】
以下、CPU9によって次の番号“2”〜最後の番号“N”が付与された右眼側に対応する活動矩形領域26の中心座標“XR、YR”と、左眼側に対応する活動矩形領域26の中心座標“XL、YL”との距離(中心座標距離)が順次演算されて、これらが次の番号“2”〜最後の番号“N”と共にメモリ10に記憶される(ステップS55、S56)。
【0075】
そして、これらの処理が終了したとき、CPU9によって、メモリ10に記憶されている各中心座標距離が順次読み出されて所定値と比較され、所定値以下になっている各中心座標距離を持つ右眼側の活動矩形領域26、左眼側の活動矩形領域26があるとき、即ち各ウェブカメラ4、6から“0.3m”〜“0.8m”離れた位置にユーザの手があるとき、ユーザの手に対応する右眼側の活動矩形領域26、左眼側の活動矩形領域26が、有効な右眼側の活動矩形領域26、有効な左眼側の活動矩形領域26であると判定され、それ以外の右眼側の活動矩形領域26、左眼側の活動矩形領域26が無効な右眼側の活動矩形領域26、無効な左眼側の活動矩形領域26であると判定される。
【0076】
これにより、右眼側の各活動矩形領域26、左眼側の各活動矩形領域26が図19の模式図に示す関係になっていれば、中心座標距離が所定値以上になっている番号“1”に対応した右眼側の活動矩形領域(OR1)26、左眼側の活動矩形領域(OL1)26が無効と判定され、中心座標距離がほぼ“0”になっている番号“2”に対応した右眼側の活動矩形領域(OR2)26、左眼側の活動矩形領域(OL2)26が有効と判定される。
【0077】
次いで、CPU9によって、有効と判定された右眼側の活動矩形領域(OR2)26、有効と判定された左眼側の活動矩形領域(OL2)26のうち、予め指定されている方、例えば有効と判定された左眼側の活動矩形領域(OL2)26が残され、それ以外の活動矩形領域26が削除された仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像が作成され、これが両眼視差法によってユーザの手前にいる人の動き、及び背後にいる人の動きが除去された仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像としてハードディスク8の画像格納エリア16に格納される(ステップS57)。
【0078】
《片手ジェスチャによる仮想カーソルの位置、大きさ、色制御》
この後、図2のフローチャートに示すように、CPU9によって仮想カーソル制御処理/画面制御処理が開始される(ステップS18)。即ち、図7のフローチャートに示すように、ハードディスク8の画像格納エリア16に格納されている各仮想カーソル活動領域画像(両眼視差法によって、ユーザの手前にいる人の動き、及び背後にいる人の動きが除去された各仮想カーソル活動領域画像)27のうち、最新の活動矩形領域26を含む数フレーム分の仮想カーソル活動領域画像27が読み出され(ステップS61)、近接した1つ以上の活動矩形領域26によって構成される活動矩形領域群が仮想カーソル活動領域画像27内に存在しているかどうかチェックされる。
【0079】
そして、最新の仮想カーソル活動領域画像27内に活動矩形領域群が存在し、その数が“1”であり、かつほぼ矩形であれば(ステップS62、S63)、CPU9によって活動矩形領域群の大きさ、移動方向が判定され、判定結果に対応するように仮想カーソル制御が行われる(ステップS64)。
【0080】
例えば、図20(a)に示すように、前回とほぼ同じ、高さ、左右位置で、ユーザが指先を大きく回し、これに対応して前回の処理で得られた大きな活動矩形領域群の位置と同じ位置で、大きな活動矩形領域群が得られているとき、CPU9によって仮想カーソルの表示指示であると判定されて、図20(b)に示すようにディスプレイ部3に大きなサイズ、白色の仮想カーソル25が表示される。
【0081】
また、ユーザが指先を大きく回しながら上下方向、又は左右方向に移動させ、これに対応して前回の処理で得られた位置から移動する大きな活動矩形領域群が得られているとき、CPU9によって仮想カーソルの移動指示であると判定されて、指先の移動方向に対応するようにディスプレイ部3に表示されている大きなサイズ、白色の仮想カーソル25を移動させる。
【0082】
また、図21(a)に示すように、前回とほぼ同じ、高さ、左右位置で、ユーザが指先を小さく回し、これに対応して前回の処理で得られた大きな活動矩形領域群の位置と同じ位置で、小さな活動矩形領域群が得られているとき、CPU9によって仮想カーソルの移動停止であると判定されて、図21(b)に示すようにディスプレイ部3に表示されている仮想カーソル25の移動を停止させると共に、サイズを小さくする。
【0083】
この状態で一定時間が経過すれば、CPU9によって仮想カーソル25の色が赤色に変更され大きな移動が禁止されると共に、OS側にカーソル移動指示が出されて、仮想カーソル25内に実カーソル28を移動させる。
【0084】
この後、ユーザが指先を少し移動させれば、CPU9によってこれが検知されて、ディスプレイ部3に表示されている仮想カーソル25の位置が微調整されると共に、OS側にカーソル位置調整指示が出されて、図22に示すように実カーソル28の位置が微調整される。
【0085】
次いで、ユーザが指先を動かすのを止めれば、CPU9によってこれが検知され、一定時間後に、図23に示すようにディスプレイ部3に表示されている仮想カーソル25の位置が固定されると共に、仮想カーソル25の色が赤色からグレー色に変更され、ユーザにクリック可能になったことを知らせる。
【0086】
この状態でも、ユーザが指先を再度大きく回せば、CPU9によってこれが検知されて、ディスプレイ部3に表示されている仮想カーソル25の色が白色に戻され、仮想カーソル25が移動可能な状態に戻される。
【0087】
《片手ジェスチャによるスクロール制御》
また、上述した仮想カーソル活動領域画像27に活動矩形領域群が存在するかどうかなどをチェックしたとき、図24に示すように活動矩形領域群の数が“1”で水平方向に長ければ(ステップS62、S63)、CPU9によって前回の活動矩形領域群に対しどちらの方向に長くなったか判定すると共に、長くなった方向に応じた右スクロール指示(又は、左スクロール指示)が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が右方向(又は、左方向)にスクロールされる(ステップS64)。
【0088】
また、上述した仮想カーソル活動領域画像27に活動矩形領域群が存在するかどうかなどをチェックしたとき、活動矩形領域群の数が“1”で上下方向に長ければ(ステップS62、S63)、CPU9によって前回の活動矩形領域群に対しどちらの方向に長くなったか判定すると共に、長くなった方向に応じた上スクロール指示(又は、下スクロール指示)が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が上方向(又は、下方向)にスクロールされる(ステップS64)。
【0089】
《片手ジェスチャによる実カーソルのクリック制御》
この後、CPU9によって仮想カーソル25の色がグレーかどうかチェックされ、仮想カーソル25の色がグレーであれば、ハードディスク8の画像格納エリア16に格納されている仮想ボタンクリック活動領域画像のうち、最新の活動矩形領域を含む数フレーム分の仮想ボタンクリック活動領域画像が読み出される(ステップS66)。
【0090】
次いで、CPU9によって仮想ボタンクリック活動領域画像内に近接した1つ以上の活動矩形領域26によって構成される活動矩形領域群が存在し、形状が変化しているかどうかチェックされ、活動矩形領域群の数が“1”であり活動矩形領域群が予め設定された変化、例えば図25(a)に示すようにユーザが指さし状態から、1回だけ手を広げ、活動矩形領域群が1回だけ“小”から“大”に変化していれば(ステップS67)、シングルクリックであると判定され、OS側にシングルクリック指示が出されて、図25(b)に示すように仮想カーソル25内にある実カーソル28によってアイコンなどがシングルクリックされる(ステップS68)。
【0091】
また、ユーザが指さし状態から2回以上手を広げたり縮めたりし、活動矩形領域群が複数回“大”から“小”、“小”から“大”に変化していれば(ステップS67)、CPU9によってダブルクリックであると判定され、OS側にダブルクリック指示が出されて、実カーソル28の位置にあるアイコンなどがダブルクリックされる(ステップS68)。
【0092】
《両手ジェスチャによる画面拡大、縮小制御》
また、各ウェブカメラ4、6のピント位置にユーザが右手、左手を出して、これら右手、左手を動かし、上述した仮想カーソル活動領域画像27に活動矩形領域群が存在するかどうかなどをチェックしたとき、活動矩形領域群の数が“2”になり、各々矩形になっていれば(ステップS63)、CPU9によってこれが検知されて、これら各活動矩形領域群の動きに応じてディスプレイ部3に表示されている操作対象画面の拡大、縮小、回転などが行われる(ステップS65)。
【0093】
例えば、各ウェブカメラ4、6のピント位置にユーザが右手、左手を出して、その右手、左手を互いに離れる方向に移動させ、これに対応して図26に示す2つの活動矩形領域群が存在し、図27(a)に示すように前回より広くなる方向に移動してこれら各活動矩形領域群の距離が前回より長くなったとき、CPU9によって画面拡大指示が入力されたと判定され、活動矩形領域群の距離変化比に応じた拡大率の画面拡大指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が拡大される。
【0094】
また、各ウェブカメラ4、6のピント位置にユーザが右手、左手を出して、その右手、左手を互いに近づく方向に移動させ、これに対応して2つの活動矩形領域群が図27(b)に示すように前回より狭くなる方向に移動し、これら各活動矩形領域群の距離が前回より短くなったとき、CPU9によって画面縮小指示が入力されたと判定され、活動矩形領域群の距離変化比に応じた縮小率の画面縮小指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が縮小される。
【0095】
《両手ジェスチャによる画面回転制御》
また、各ウェブカメラ4、6のピント位置にユーザが右手、左手を出して、これら右手、左手の一方を上に他方を下に移動させ、これに対応して図28に示す2つの活動矩形領域群のうち少なくとも一方が上方向(又は、下方向)に移動したとき、CPU9によって画面回転指示が入力されたと判定され、下側の活動矩形領域群に対する上側の活動矩形領域群の角度に応じた回転角度の画面回転指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が回転される。
【0096】
この際、図29(a)に示すように各活動矩形領域群の左右距離が狭い状態で、一方が大きく上方に移動し下側の活動矩形領域群に対する上側の活動矩形領域群の角度が大きいとき、CPU9によって大きな回転角度の画面回転指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が大きく回転される。
【0097】
また、図29(b)に示すように各活動矩形領域群の左右距離が広い状態で、一方が小さく上方に移動し下側の活動矩形領域群に対する上側の活動矩形領域群の角度が小さいとき、CPU9によって小さな回転角度の画面回転指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が小さく回転される。
【0098】
このように、本発明の第1の実施形態においては、各ウェブカメラ4、6によってユーザを撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理、活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理を行いユーザの手の動きを検知し、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うようにしているので、次に述べる効果を得ることができる。
【0099】
まず、解像度が高くない安価なウェブカメラ4、6を使用できることから、入力装置1aのコストを低く抑えることができる(請求項1の効果)。
【0100】
また、各ウェブカメラ4、6によってユーザを撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理を施して得られた2値化画像を画像格納エリア16に格納するため、ハードディスク8の容量が小さい場合にも入力装置1aを構成することができ、装置全体のコストを低く抑えることができる(請求項1の効果)。
【0101】
また、各ウェブカメラ4、6によってユーザを撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理など、少ない段数の画像処理を施して1フレーム分の2値化画像を得るようにしているので、CPU9に大きな負担をかけることを防ぎ、これによって処理速度が速くない安価なCPU9を使用した場合でもほぼリアルタイムでユーザの動きに対応するように、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うことができ、装置全体のコストを低く抑えることができる(請求項1の効果)。
【0102】
また、各ウェブカメラ4、6によってユーザを撮影して得られた右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とに対し、両眼視差法で中心座標位置を補正した後、大きさ順に番号を付けて中心座標位置を比較し、この比較結果に基づきピント位置に対応する右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とを選択するようにしているので、各ウェブカメラ4、6のピント位置にあるユーザの手以外のもの、例えばユーザの後ろに人がいて動いていても、これに影響されることなくユーザの手の動きのみを抽出して、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うことができる(請求項1の効果)。
【0103】
また、本発明の第1の実施形態では、ユーザが片手だけを動かしているとき仮想カーソル制御指示、又は操作対象画面のスクロール制御であると判定し、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面のスクロール制御などを行うようにしているので、片手だけでディスプレイ部3に表示されている仮想カーソル25のサイズ、位置、色、クリック、操作対象画面のスクロールなどを遠隔操作することができる(請求項3の効果)。
【0104】
また、本発明の第1の実施形態では、ユーザが両手を動かしているとき、右手の動き、左手の動きを各々検出し、操作対象画面の拡大/縮小制御指示、又は操作対象画面の回転制御指示であると判定するようにしているので、ユーザが右手、左手を動かすだけでディスプレイ部3に表示されているアプリケーション画面(操作対象画面)を拡大、縮小、回転させることができる(請求項4の効果)。
【0105】
また、本発明の第1の実施形態では、活動矩形領域抽出処理においてヒストグラムを統計処理して得られた結果を使用し、ヒストグラムから仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像を作成するようにしているので、ユーザの手など動いている部分を正確に検知することができ、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる(請求項5の効果)。
【0106】
また、本発明の第1の実施形態では、活動矩形領域抽出処理において仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像に対し、多段階矩形オブジェクト抽出処理を行うようにしているので、ユーザの影などに起因する誤動作を防止し、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる(請求項6の効果)。
【0107】
2.第2の実施形態の説明
図30は、本発明による入力装置の第2の実施形態を示すブロック図である。
この図に示す入力装置1bは、箱形に形成されたプラスチック部材などによって構成され、パソコン、テレビ、エアコン、大画面スクリーン装置などの遠隔操作対象機器の近傍に配置される入力装置筐体(図示は省略する)と、入力装置筐体の前面左側に取り付けられ、ユーザを撮影してカラー画像信号を出力する右眼用ビデオカメラ本体(請求項2のカラーカメラ本体)30と、入力装置筐体内に配置され、右眼用ビデオカメラ本体30で撮影されたカラー画像を処理して、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像を生成する右眼側画像処理基板31と、入力装置筐体の前面右側に取り付けられ、ユーザを撮影してカラー画像信号を出力する左目用ビデオカメラ本体(請求項2のカラーカメラ本体)32と、入力装置筐体内に配置され、左眼用ビデオカメラ本体32で撮影されたカラー画像を処理して、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を生成する左眼側画像処理基板33と、入力装置筐体内に配置され、右眼側画像処理基板31から出力される右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側画像処理基板32から出力される左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を画像処理してユーザの手の動きに対応するポインティングデータを生成し、USBケーブル、信号接続ケーブルなどのケーブルを介して、パソコン、テレビ、エアコン、大画面スクリーン装置などの遠隔操作対象機器などに供給する共通処理基板34とを備えている。
【0108】
そして、ユーザを撮影して得られたカラー画像を解析して、影などの影響、ユーザの手前側にいる人、及び背後にいる人の影響などを取り除きながら、ユーザの手の動きに対応したポインティングデータを生成し、入力装置1b→ケーブル→遠隔操作対象機器なる経路でポインティングデータを遠隔操作対象機器に供給し、この遠隔操作対象機器の動作を制御する。
【0109】
右眼用ビデオカメラ本体30は、320画素×240画素程度の解像度を持つカラーカメラによって構成されており、右眼側画像処理基板31から電源電圧、クロック信号などが出されているときユーザを撮影し、これによって得られたカラービデオ信号を右眼側画像処理基板31に供給する。
【0110】
右眼側画像処理基板31は、右眼用ビデオカメラ本体から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、HSV(色相・彩度・明度)方式で予め設定されている特定色(例えば、肌色)のカラー画像を抽出するのに必要なカラーマスクを使用して、カラー画像中の肌色画像を抽出する肌色画像抽出回路35と、右眼用ビデオカメラ本体30から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、予め設定されている階調のモノクロ画像に変換するグレー化処理回路36と、グレー化処理回路36から出力されるモノクロ画像を予め設定されている画面分割数で分割する(但し、画面分割設定されていないときこの画面分割処理はスキップされる)と共に、最大尤度しきい値法で2値化して2値化画像にする画像分割/2値化処理回路37と、画像分割/2値化処理回路37から出力される2値化画像と肌色画像抽出回路35から出力される肌色画像との論理和を取り、2値化画像中の肌色部分を抽出する色フィルタリング処理回路38とを備えている。
【0111】
さらに、右眼側画像処理基板31は、色フィルタリング処理回路38から出力される2値化画像を数フレーム分〜数十フレーム分、一時記憶するフレームバッファ回路39と、フレームバッファ回路39に記憶されている2値化画像を順次読み出しながらフレーム間差分処理を行い、差分画像を生成するフレーム間差分処理回路40と、フレーム間差分処理回路40からフレーム単位で出力される各差分画像を各分割エリア毎に積算して、ヒストグラムを生成するヒストグラム処理回路41と、ヒストグラム処理回路41から出力されるヒストグラムに対し統計処理を行うと共に、統計処理結果を用いて仮想カーソル活動領域判定処理、仮想ボタンクリック活動領域判定処理、多段階矩形オブジェクト抽出処理などを行って、影などの影響を取り除いた右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像を生成する活動矩形領域抽出処理回路42とを備えている。
【0112】
そして、右眼用ビデオカメラ本体30から出力されるカラービデオ信号に対し、グレー化処理、画面分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を順次施して、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像を生成し、共通処理基板34に供給する。
【0113】
また、左眼用ビデオカメラ本体32は、320画素×240画素程度の解像度を持つカラーカメラによって構成されており、左眼側画像処理基板33から電源電圧、クロック信号などが出されているときユーザを撮影し、これによって得られたカラービデオ信号を左眼側画像処理基板33に供給する。
【0114】
左眼側画像処理基板33は、左眼用ビデオカメラ本体32から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、HSV(色相・彩度・明度)方式で、予め設定されている特定色(例えば、肌色)のカラー画像を抽出するのに必要なカラーマスクを使用して、カラー画像中の肌色画像を抽出する肌色画像抽出回路43と、左眼用ビデオカメラ本体32から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、予め設定されている階調のモノクロ画像に変換するグレー化処理回路44と、グレー化処理回路44から出力されるモノクロ画像を予め設定されている画面分割数で分割する(但し、画面分割設定されていないとき、この画面分割処理はスキップされる)と共に、最大尤度しきい値法で2値化して、2値化画像にする画像分割/2値化処理回路45と、画像分割/2値化処理回路45から出力される2値化画像と肌色画像抽出回路43から出力される肌色画像との論理和を取り、2値化画像中の肌色部分を抽出する色フィルタリング処理回路46とを備えている。
【0115】
さらに、左眼側画像処理基板33は、色フィルタリング処理回路46から出力される2値化画像を数フレーム分〜数十フレーム分、一時記憶するフレームバッファ回路47と、フレームバッファ回路47に記憶されている2値化画像を順次読み出しながらフレーム間差分処理を行い、差分画像を生成するフレーム間差分処理回路48と、フレーム間差分処理回路48からフレーム単位で出力される各差分画像を各分割エリア毎に積算して、ヒストグラムを生成するヒストグラム処理回路49と、ヒストグラム処理回路49から出力されるヒストグラムに対し統計処理を行うと共に、統計処理結果を用いて仮想カーソル活動領域判定処理、仮想ボタンクリック活動領域判定処理、多段階矩形オブジェクト抽出処理などを行って、影などの影響を取り除いた左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を生成する活動矩形領域抽出処理回路50とを備えている。
【0116】
そして、左眼用ビデオカメラ本体32から出力されるカラービデオ信号に対し、グレー化処理、画面分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を順次施して、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を生成し、共通処理基板34に供給する。
【0117】
共通処理基板34は、両眼視差法による位置補正に必要な右眼用ウェブカメラ30、左眼用ウェブカメラ32の取り付け位置データ(水平距離“B”、上下距離など)、右眼用ウェブカメラ30、左眼用ウェブカメラ32の焦点距離“f”などの撮影条件情報が設定される撮影条件設定回路51と、右眼側画像処理基板31から出力される右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側画像処理基板33から出力される左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像に活動矩形領域が含まれるとき、撮影条件設定回路51に設定されている撮影条件情報を用いて両眼視差法で各活動矩形領域の位置を補正する処理、大きさ順に各活動矩形領域に番号を付加する処理、同じ番号が付加された各活動矩形領域の中心座標間の距離(中心座標距離)を演算する処理、所定値以下になっている各中心座標距離に対応する活動矩形領域を選択する処理、選択した活動矩形領域のみを含み、選択していない活動矩形領域を含まない左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を作成する処理などを行って、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像に含まれるユーザの手前にいる人、及び背後にいる人の動きなどの影響を取り除いた後、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を数画像分〜数十画像分保持する活動矩形領域選択処理回路52とを備えている。
【0118】
さらに、共通処理基板34は、活動矩形領域選択処理回路52に保持されている左眼側の各仮想カーソル活動領域画像のうち、最新の仮想カーソル活動領域画像に活動矩形領域群が存在するとき、活動矩形領域群の数、形状、移動有無、移動方向などに基づき、仮想カーソル位置指示、仮想カーソル形状指示、仮想カーソル色指示、操作対象画面スクロール指示、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などのポインティングデータを生成すると共に、仮想カーソルがクリック可能な状態になっているとき、活動矩形領域選択処理回路52に保持されている各仮想ボタンクリック活動領域画像のうち、最新の仮想ボタンクリック活動領域画像に活動矩形領域群が存在しているかどうかをチェックし、活動矩形領域群が存在しているとき、活動矩形領域群の形状などに基づきシングルクリック指示、ダブルクリック指示などのポインティングデータを生成する仮想カーソル制御処理/画面制御処理回路53を備えている。
【0119】
そして、右眼側画像処理基板31から出力される右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側画像処理基板32から出力される左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像に活動矩形領域が含まれるとき、ユーザの前にいる人の動き、ユーザの背後にいる人の動きなどに起因するノイズを取り除きながらユーザの各手がどのように動いているかを判定し、この判定結果に応じて仮想カーソル位置指示、仮想カーソル形状指示、仮想カーソル色指示、操作対象画面スクロール指示、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などのポインティングデータを生成し、遠隔操作対象機器となっているパソコン、テレビ、エアコン、大画面スクリーン装置などに供給する。
【0120】
このように、この第2の実施形態では、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32によってユーザを撮影して得られた低解像度のカラー画像に対し、色フィルタリング処理、グレー化処理、画像分割/2値化処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理、活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理などを行いユーザの手の動きを検知し、仮想カーソル位置指示、仮想カーソル形状指示、仮想カーソル色指示、操作対象画面スクロール指示、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などのポインティングデータを生成し、遠隔操作対象機器に供給するようにしているので、遠隔操作対象機器側の仮想カーソルサイズ、仮想カーソル位置、仮想カーソル色、クリック、操作対象画面の上下スクロール、左右スクロール、拡大、縮小、回転などを遠隔操作することができる(請求項2の効果)。
【0121】
また、この第2の実施形態では、解像度が高くない安価な右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32を使用できることから、入力装置1bのコストを低く抑えることができる(請求項2の効果)。
【0122】
また、この第2の実施形態では、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32によってユーザを撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理を施して得られた2値化画像をフレームバッファ回路39、47に格納するようにしているので、フレームバッファ回路39、47の記憶容量が小さい場合にも入力装置1bを構成することができ、装置全体のコストを低く抑えることができる(請求項2の効果)。
【0123】
さらに、この第2の実施形態では、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32によってユーザを撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理、活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理など、少ない段数の画像処理を施してポインティングデータを生成するようにしているので、肌色画像抽出理回路35、43、グレー化処理回路36、44、画像分割/2値化処理回路37、45、色フィルタリング処理回路38、46、フレームバッファ処理回路36、47、フレーム間差分処理回路40、48、ヒストグラム処理回路41、49、活動矩形領域抽出処理回路42、50、活動矩形領域選択回路52、仮想カーソル制御処理/画面制御処理回路53として、処理速度があまり速くない素子の使用を可能にして装置全体のコストを低く抑えながら、ほぼリアルタイムでユーザの動きを検知し、遠隔操作対象機器を制御することができる(請求項2の効果)。
【0124】
また、この第2の実施形態では、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32によってユーザを撮影して得られた右眼側の各活動矩形領域と、左眼側の各活動矩形領域とに対し、両眼視差法で中心座標位置を補正した後、大きさ順に番号を付けて中心座標位置を比較し、この比較結果に基づきピント位置に対応する右眼側の各活動矩形領域と、左眼側の各活動矩形領域とを選択するようにしているので、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32のピント位置にあるユーザの手以外のもの、例えばユーザの後ろに人がいて動いていても、これに影響されることなくユーザの手の動きのみを抽出して、仮想カーソルのサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うことができる(請求項2の効果)。
【0125】
そして、この第2の実施形態においても、上述した第1の実施形態と同様に、ユーザが片手だけを動かしているとき、仮想カーソル制御指示、クリック制御指示、スクロール制御指示の何れかであると判定し、仮想カーソルサイズ指示、仮想カーソル位置指示、仮想カーソル色指示、スクロール制御指示、クリック指示などを示すポインティングデータを生成するようにしているので、片手だけで遠隔操作対象機器側のディスプレイに表示されている仮想カーソルのサイズ、位置、色、クリック動作、操作対象画面のスクロールなどを遠隔操作することができる(請求項3の効果)。
【0126】
また、この第2の実施形態においても、上述した第1の実施形態と同様に、ユーザが両手を動かしているとき、右手の動き、左手の動きを各々検出して操作対象画面の制御指示であると判定し、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などを示すポインティングデータを生成するようにしているので、ユーザが右手、左手を動かすだけで遠隔操作対象機器側のディスプレイに表示されている操作対象画面を拡大、縮小、回転させることができる(請求項4の効果)。
【0127】
また、本発明の第2の実施形態では、活動矩形領域抽出処理回路42、50においてヒストグラムを統計処理すると共に、統計処理結果を使用してヒストグラムから右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左側の仮想カーソル活動領域画像、左側の仮想ボタンクリック活動領域画像を作成するようにしているので、ユーザの手など動いている部分を正確に検知することができ、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる(請求項5の効果)。
【0128】
また、本発明の第2の実施形態では、活動矩形領域抽出処理回路42、50において、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左側の仮想カーソル活動領域画像、左側の仮想ボタンクリック活動領域画像に対し、多段階矩形オブジェクト抽出処理を行うようにしているので、ユーザの影などに起因する誤動作を防止し、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる(請求項6の効果)。
【0129】
3.他の実施形態の説明
上述した各実施形態では、各ウェブカメラ4、6、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32で得られたカラー画像の全領域をグレー化し、2値化するようにしているが、図31フローチャート、図32の模式図に示すようにヒストグラムを統計処理、活動矩形領域抽出処理で得られた変化領域矩形(活動矩形領域を含む矩形)65に対し、指定された拡大縮小率(例えば拡大率“10%”)で拡大/縮小した拡大/縮小矩形マスク66を作成すると共に(ステップS71)、次フレームのカラー画像全領域をグレー化して得られたモノクロ画像の中から拡大/縮小矩形マスク66に対応する部分(モノクロ画像に含まれる活動領域部分の画像67)だけを抽出して、2値化処理するようにしても良い(ステップS72)。
【0130】
このようにすれば、モノクロ画像などの中から活動領域より少し広い範囲に含まれる画像のみを有効にし、それ以外の領域にある画像を無効にして、変化領域以外の部分に存在するノイズを除去することができる(請求項7の効果)。
【0131】
また、上述した第1の実施形態、及び第2の実施形態では、CPU9による色フィルタリング処理、又は色フィルタリング処理回路38、46によって、肌色のカラー画像を抽出するようにしているが、ユーザが特定色の操作器、例えば赤ペンなどを使用して仮想カーソルの位置、クリック、操作対象画面のスクロール、操作対象画面の拡大、操作対象画面の縮小、操作対象画面の回転などを制御する場合には、赤色抽出用のカラーマスクを使用し、CPU9による色フィルタリング処理、又は色フィルタリング処理回路38、46によって赤色のカラー画像を抽出するようにしても良い。
【0132】
これにより、各ウェブカメラ4、6、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32の撮影範囲に複数の人がいても、ユーザが持つ操作器の色に対応するカラー画像を抽出して仮想カーソルのサイズ制御、位置制御、クリック制御、操作対象画面のスクロール制御、拡大制御、縮小制御、回転制御などを行うことができる。
【0133】
また、このような色フィルタリング処理は、各ウェブカメラ4、6、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32から出力されるカラービデオ信号に含まれるユーザの手など、動いている画像を抽出するために行っている処理であることから、ユーザが居る場所の照明条件が良好で、ユーザの手などが動いている画像と背景画像とのコントラストが大きいとき、色フィルタリング処理を省略するようにしても良い。
【産業上の利用可能性】
【0134】
本発明は、情報端末装置やパーソナルコンピュータなどの情報機器に接続されて使用され、カメラによって操作者(ユーザ)の動作画像を取り込み、情報機器のカーソル操作やアプリケーションプログラムの選択及び実行などを制御する入力装置であって、特に、アルゴリズムを簡素化すると共に処理データ量を極力少なくして演算量、メモリ使用量を低減すると共に、リアルタイムでパソコンのカーソルなどを制御するようにした、ビデオ映像による入力装置に関するものであり、産業上の利用可能性を有する。
【符号の説明】
【0135】
1a、1b:入力装置
2:パソコン
3:ディスプレイ部
4:ウェブカメラ(左眼用カラーカメラ)
5:ビデオキャプチャ
6:ウェブカメラ(右眼用カラーカメラ)
7:USBインタフェース
8:ハードディスク
9:CPU
10:メモリ
11:表示インタフェース
12:システムバス
13:OS格納エリア
14:アプリケーション格納エリア
15:画像処理プログラム格納エリア
16:画像格納エリア
20:分割エリア
21:活動分割エリア
25:仮想カーソル
26:活動矩形領域
27:仮想カーソル活動領域画像
28:実カーソル
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】
図33は、このような従来の映像による入力装置を説明するための操作入力装置のブロック図である(特許文献1を参照)。
【0004】
この図に示す操作入力装置101は、可視光カメラ106(図34参照)などを使用してユーザを撮影しカラー画像を出力する撮像手段102と、撮像手段102から出力されるカラー画像を解析し、ユーザの手の形状を検出する手領域検出手段103と、予め登録されている手形状と手領域検出手段103から出力される手形状とを比較し、操作指示内容を判定する手操作判定手段104と、手操作判定手段104の判定内容に基づき選択メニューを音声、又はプロジェクト画像などでユーザに知らせる選択メニュー表現手段105と、を備えている。
【0005】
この操作入力装置101は、可視光カメラ106で撮影したカラー画像から手領域を抽出すると共に、その手の形状がどのような形状(例えば、手を傾ける、指を曲げるなど)になっているかを判定し、この判定内容に対応する手操作指示を音声、又はプロジェクト画像などでユーザに知らせるものである。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−104297号
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、このような従来の操作入力装置101では、ユーザの手形状を正確に検出する必要があることから、可視光カメラ106として手の部分を詳細に撮影できる解像度の高いカメラを使用しなければならず、操作入力装置101全体が高価になってしまうという問題があった。
【0008】
また、従来の操作入力装置101では、手領域検出手段103によって処理される背景画像と現在の画像が共に解像度が高いため、ピクセル(画素)数、データ量が膨大だった。そのため、その分だけハードディスクの容量、メモリ容量などを大きくしなければならず、操作入力装置101全体が高価になってしまうという問題があった。
【0009】
さらに、従来の操作入力装置101では、手領域検出手段103として図34に示すように、差分領域抽出手段110、肌色領域抽出手段111、2値化補正手段112、距離算出手段113、中央重点補正手段114、手領域候補検出手段115、輪郭長/面積算出手段116、手領域決定手段117などを備え、複雑な演算を行わなければならないのみならず、かなり高速なCPU、又は専用回路を使用しなければリアルタイムで手の形状を検出することができないという問題があった。
【0010】
このため、パソコンのカーソルなどを簡単に遠隔操作する入力装置として上記のような従来の操作入力装置101を使用することは難しく、安価なカメラが適用可能で、かつ少ない演算量、少ないメモリ量で遠隔操作入力できる入力装置の開発が強く望まれていた。
【0011】
また、従来の操作入力装置101では、可視光カメラ106の撮影範囲内にユーザ以外の人が居て手を動かした場合に、これを検出して誤動作してしまうという問題があった。
【0012】
本発明は、上記の事情に鑑み、請求項1では、解像度が低く安価なカメラの使用を可能にすると共に、演算量、メモリ量を大幅に少なくすることにより装置全体のコストを大幅に低減させながら、ユーザの動きを検知してパソコンのカーソルなどを遠隔操作することができ、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を提供することを目的とする。
【0013】
また、請求項2では、パソコンなどから分離された解像度が低く安価なカメラの使用を可能にすると共に、回路規模を大幅に小さくすることにより装置全体のコストを大幅に低減させながら、ユーザの動きを検知してパソコンのカーソルなどを遠隔操作することができ、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を提供することを目的とする。
【0014】
また、請求項3では、解像度が低く安価なカメラの使用を可能にすると共に、演算量、メモリ量、又は回路規模を大幅に小さくすることにより装置全体のコストを大幅に低減させながら、ユーザの片手動作を検知してパソコンのカーソル、操作対象画面のスクロールなどを遠隔操作することができ、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を提供することを目的とする。
【0015】
また、請求項4では、解像度が低く安価なカメラの使用を可能にすると共に、演算量、メモリ量、又は回路規模を大幅に小さくすることにより装置全体のコストを大幅に低減させながら、ユーザの両手動作を検知して操作対象画面の拡大/縮小、操作対象画面の回転などを遠隔操作することができ、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を提供することを目的とする。
【0016】
また、請求項5では、解像度が低く安価なカメラの使用を可能にすると共に、演算量、メモリ量、又は回路規模を大幅に小さくすることにより装置全体のコストを大幅に低減させながら、ユーザの手など動いている部分のみを正確に検知し、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行い、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を提供することを目的とする。
【0017】
また、請求項6では、解像度が低く安価なカメラの使用を可能にすると共に、演算量、メモリ量、又は回路規模を大幅に小さくすることにより装置全体のコストを大幅に低減させながら、ユーザの影などに起因する誤動作を防止し、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行い、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を提供することを目的とする。
【0018】
また、請求項7では、解像度が低く安価なカメラの使用を可能にすると共に、演算量、メモリ量、又は回路規模を大幅に小さくすることにより装置全体のコストを大幅に低減させながら、カメラで得られた画像の中からユーザの手画像より少し広い範囲に含まれる画像のみを有効にし、それ以外の画像を無効にして変化領域以外の部分に存在するノイズを除去することができ、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を提供することを目的とする。
【課題を解決するための手段】
【0019】
本発明は、上記の目的を達成するために、請求項1では、ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成する入力装置において、操作者を撮影する右眼用カラーカメラと、この右眼用カラーカメラから所定距離だけ離れた位置に、前記右眼用カラーカメラと並んで配置され、前記操作者を撮影する左眼用カラーカメラと、前記右眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理プログラムと、前記左眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理プログラムと、前記右眼側画像処理プログラムで得られた右眼側活動矩形領域、前記左眼側画像処理プログラムで得られた左眼側活動矩形領域に対し、両眼視差法を使用した活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理を行って、前記操作者の手、又は指先の動きを検出し、この検出結果に応じた操作指示を生成する画像処理プログラムとを備えることを特徴としている。
【0020】
また、請求項2では、ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成し、遠隔操作対象機器の動作を制御する入力装置において、箱形に形成される入力装置筐体と、この入力装置筐体の前面左側に取り付けられ、操作者の画像を撮影する右眼用カラーカメラ本体と、前記入力装置筐体の前面右側に取り付けられ、前記操作者の画像を撮影する左眼用カラーカメラ本体と、前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記右眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理基板と、前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記左眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理基板と、前記入力装置筐体内に配置され、活動矩形領域選択処理回路、仮想カーソル制御処理/画面制御処理回路によって、前記右眼側画像処理基板で得られた右眼側活動矩形領域、前記左眼側画像処理基板で得られた左眼側活動矩形領域に、両眼視差法を使用した活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理を行って、前記操作者の手、又は指先の動きを検出し、この検出結果に応じたポインティングデータを生成し、遠隔操作対象機器の動作を制御する共通処理基板とを備えることを特徴としている。
【0021】
また、請求項3では、請求項1、2の何れかに記載の入力装置において、前記仮想カーソル制御処理/画面制御処理、又は前記仮想カーソル制御処理/画面制御処理回路は、仮想カーソル活動領域画像上に活動矩形領域群が1つあるとき、その形状、移動有無に基づき、カールソル制御指示、又は画面スクロール指示を生成することを特徴としている。
【0022】
また、請求項4では、請求項1、2、3の何れかに記載の入力装置において、前記仮想カーソル制御処理/画面制御処理、又は前記仮想カーソル制御処理/画面制御処理回路は、仮想カーソル活動領域画像上に活動矩形領域群が2つあるとき、その移動方向に基づき、画面回転指示、画面拡大指示、画面縮小指示の何れかを生成することを特徴としている。
【0023】
また、請求項5では、請求項1、2、3、4の何れかに記載の入力装置において、前記活動矩形領域抽出処理、又は前記活動矩形領域抽出処理回路は、ヒストグラムの統計処理結果を使用して、前記ヒストグラムから仮想カーソル活動領域画像、仮想ボタンクリック活動領域画像を作成することを特徴としている。
【0024】
また、請求項6では、請求項1、2、3、4、5の何れかに記載の入力装置において、前記活動矩形領域抽出処理、又は前記活動矩形領域抽出処理回路は、前記仮想カーソル活動領域画像、又は前記仮想ボタンクリック活動領域画像に対し、多段階矩形オブジェクト抽出処理を行い、ノイズ成分を除去することを特徴としている。
【0025】
また、請求項7では、請求項1、2、3、4、5、6の何れかに記載の入力装置において、拡大/縮小矩形マスク作成処理、又は拡大/縮小矩形マスク作成処理回路を付加し、前記拡大/縮小矩形マスク作成処理、又は前記拡大/縮小矩形マスク作成処理回路によって、前記カラーカメラ、前記カラーカメラ本体で得られたカラー画像の中から、前記仮想カーソル活動領域画像上の変化領域矩形、又は前記仮想ボタンクリック活動領域画像の変化領域矩形に対応する画像を抽出し、それ以外の画像をカットして、ノイズ成分を除去することを特徴としている。
【発明の効果】
【0026】
本発明によれば、解像度が低く安価なカメラの使用を可能にすると共に、演算量、メモリ量を大幅に少なくすることにより装置全体のコストを大幅に低減させながら、ユーザの動きを検知してパソコンのカーソルなどを遠隔操作することができ、さらにカメラの撮影範囲内にユーザ以外の人が居て手を動かした場合でも誤動作しない入力装置を実現することが可能となる。
【図面の簡単な説明】
【0027】
【図1】本発明による入力装置の第1の実施形態を示すブロック図である。
【図2】図1に示す入力装置の詳細な動作例を示すフローチャートである。
【図3】図2に示すグレー化/2値化画像処理の詳細な動作例を示すフローチャートである。
【図4】図2に示すフレーム間差分/ヒストグラム作成処理の詳細な動作例を示すフローチャートである。
【図5】図2に示す活動矩形領域抽出処理の詳細な動作例を示すフローチャートである。
【図6】図2に示す活動矩形領域選択処理の詳細な動作例を示すフローチャートである。
【図7】図2に示す仮想カーソル制御処理、画面制御処理の詳細な動作例を示すフローチャートである。
【図8】図1に示す入力装置で使用される元のヒストグラム例と、変化領域抽出後のヒストグラム例とを示す模式図である。
【図9】図1に示す入力装置で使用される変化領域抽出後のヒストグラム例と、仮想カーソル活動領域画像例とを示す模式図である。
【図10】図1に示す入力装置で使用される元のヒストグラム例と、変化領域抽出後のヒストグラム例とを示す模式図である。
【図11】図1に示す入力装置で使用される変化領域抽出後のヒストグラム例と、仮想カーソル活動領域画像例とを示す模式図である。
【図12】図1に示す入力装置において、活動矩形領域選択処理で選択された活動矩形領域群の一例を示す模式図である。
【図13】図1に示す入力装置において、活動矩形領域選択処理で選択された活動矩形領域群の一例を示す模式図である。
【図14】図1に示す入力装置で使用される多段階オブジェクト抽出処理の一例を示す模式図である。
【図15】図1に示す入力装置で使用される多段階オブジェクト抽出処理の一例を示す模式図である。
【図16】図1に示す入力装置で使用される両眼視差法の概要を示す模式図である。
【図17】図1に示す入力装置において、両眼視差法による補正を行う前の右活動矩形領域、左活動矩形領域の関係を示す模式図である。
【図18】図1に示す入力装置において、両眼視差法による補正を行った後の右活動矩形領域、左活動矩形領域の関係を示す模式図である。
【図19】図1に示す入力装置において、両眼視差法による補正を行った後の右活動矩形領域、各左活動矩形領域の実例を示す模式図である。
【図20】図1に示す入力装置によって撮影されるユーザの手の動きと、仮想カーソルとの関係例を示す模式図である。
【図21】図1に示す入力装置によって撮影されるユーザの手の動きと、仮想カーソルとの関係例を示す模式図である。
【図22】図1に示す入力装置によって制御される実カーソルの微調整動作例を示す模式図である。
【図23】図1に示す入力装置によって制御される仮想カーソルの色制御例を示す模式図である。
【図24】図1に示す入力装置で使用される変化領域抽出後のヒストグラム例と、仮想カーソル活動領域画像例とを示す模式図である。
【図25】図1に示す入力装置によって撮影されるユーザの手の動きと、クリック動作との関係例を示す模式図である。
【図26】図1に示す入力装置によって得られる仮想カーソル活動領域画像上に2つの各活動矩形領域群があるときの一例を示す模式図である。
【図27】図1に示す入力装置によって得られる仮想カーソル活動領域画像上にある各活動矩形領域群の位置関係例を示す模式図である。
【図28】図1に示す入力装置によって得られる仮想カーソル活動領域画像上に2つの各活動矩形領域群があるときの一例を示す模式図である。
【図29】図1に示す入力装置によって得られる仮想カーソル活動領域画像上にある各活動矩形領域群の位置関係例を示す模式図である。
【図30】本発明による入力装置の第2の実施形態を示すブロック図である。
【図31】本発明による入力装置の他の実施形態を示すフローチャートである。
【図32】図31に示すフローチャートの動作例を示す模式図である。
【図33】従来から知られている操作入力装置の一例を示すブロック図である。
【図34】図33に示す手領域検出手段の詳細な回路構成例を示すブロック図である。
【発明を実施するための形態】
【0028】
1.第1の実施形態の説明
図1は、本発明による入力装置の第1の実施の形態を示すブロック図を示す。
この図に示す入力装置1aは、パソコン2のディスプレイ部3に設けられる内蔵型のウェブカメラ(請求項1の左眼用カラーカメラ)4と、パソコン2内に設けられるビデオキャプチャ5と、パソコン2のディスプレイ部3に設けられる外付け型のウェブカメラ(請求項1の右眼用カラーカメラ)6と、パソコン2内に設けられるUSBインタフェース7と、パソコン2内に設けられるハードディスク8と、パソコン2内に設けられるCPU9と、パソコン2内に設けられるメモリ10とによって構成されている。この入力装置1aは、各ウェブカメラ4、6で得られたカラー画像を解析して、各ウェブカメラ4、6の設置位置から所定距離範囲、例えば“0.3m”〜“0.8m”の範囲内にいるユーザとそれ以外の距離にいる他の人とを区別しながら、ユーザの手、指先などの動きのみを検出し、パソコン2のディスプレイ部3に表示された仮想カーソル25〔図20の(b)参照〕、操作対象画面(OS画面、アプリケーション画面)などを制御し、現在、起動中のアプリケーションをコントロールする。
【0029】
ウェブカメラ4は、320画素×240画素程度の解像度を持つカラーカメラであり、ビデオキャプチャ5から撮影指示が出されているとき、ユーザを撮影して得られたカラービデオ信号をビデオキャプチャ5に供給する。
【0030】
ビデオキャプチャ5は、システムバス12を介して、CPU9から撮影指示が出されているとき、ウェブカメラ4を制御してユーザを撮影すると共に、撮影動作で得られたカラービデオ信号を取り込み、RGB信号形式のカラー画像に変換してCPU9に供給する。
【0031】
また、ウェブカメラ6は、ウェブカメラ4から水平方向に所定距離だけ離れてディスプレイ部3の上縁などに取り付けられた、320画素×240画素程度の解像度を持つカラーカメラであり、USBインタフェース7から撮影指示が出されているとき、ユーザを撮影して得られたYUV信号をUSBインタフェース7に供給する。
【0032】
USBインタフェース7は、システムバス12を介して、CPU9から撮影指示が出されているとき、ウェブカメラ6を制御してユーザの画像を撮影すると共に、撮影動作で得られたYUV信号を取り込んでCPU9に供給し、RGB信号形式のカラー画像に変換する。
【0033】
ハードディスク8は、OS(Operating System)、定数データなどが格納されるOS格納エリア13と、インターネットエクスプローラプログラム、ブラウザプログラムなどのアプリケーションプログラムが格納されるアプリケーション格納エリア14と、本発明で使用する画像処理プログラム(請求項1の右眼側画像処理プログラム、左眼側画像処理プログラム、画像処理プログラム)が格納される画像処理プログラム格納エリア15と、HSV(色相・彩度・明度)方式で、予め設定されている特定色(例えば、肌色)のカラー画像を抽出するのに必要なカラーマスク、2値化画像、ヒストグラム、仮想カーソル活動領域画像27(図9参照)、仮想ボタンクリック活動領域画像などが格納される画像格納エリア16とを備えている。そして、CPU9から読み出し指示が出力されたとき、システムバス12を介してこれを取り込み、指定されたエリアに格納されているOS、定数データ、アプリケーションプログラム、画像処理プログラム、2値化画像、ヒストグラム、仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像などを読み出し、システムバス12を介してCPU9に供給する。また、CPU9から書き込み指示、データが出力されたとき、システムバス12を介してこれらを取り込み、書き込み指示で指定されたエリア、例えば画像格納エリア16などにデータを記憶させる。
【0034】
CPU9は、ハードディスク8に格納されているOS、定数データ、アプリケーションプログラムなどで指定された表示データを生成してシステムバス12に接続された表示インタフェース11に供給し、ディスプレイ部3に操作対象画面を表示させる。また、右眼側画像処理プログラム、左眼側画像処理プログラム、画像処理プログラムなどで記述された画像処理を行い、操作対象画面に表示されている仮想カーソルのサイズ、位置などの制御、クリック制御、スクロール制御、画面回転制御、画面拡大制御、画面縮小制御などを行う。
【0035】
メモリ10は、数百メガバイト〜数ギガバイト程度の容量を持ち、CPU9がアプリケーションプログラム、右眼側画像処理プログラム、左眼側画像処理プログラム、画像処理プログラムなどで指定された処理を行うときの一時データ格納エリアとして使用される。
【0036】
次に、図2〜図7に示す各フローチャート、図8〜図29に示す各模式図などを参照しながら、入力装置1aの画像処理動作、カーソル制御動作、画面制御動作などを説明する。
【0037】
《2値化画像生成、格納》
まず、パソコン2の電源が投入されて、アプリケーションプログラム、右眼側画像処理プログラム、左眼側画像処理プログラム、画像処理プログラムが起動されると、図2のフローチャートに示すようにCPU9によって、ビデオキャプチャ5が制御されて、ウェブカメラ4の撮影動作で得られたカラービデオ信号が取り込まれると共に、RGB信号形式のカラー画像に変換されてメモリ10などに一時記憶される(ステップS1)。
【0038】
また、この動作と並行し、CPU9によってUSBインタフェース7が制御されて、ウェブカメラ6の撮影動作で得られたYUV信号が取り込まれると共に、RGB信号形式のカラー画像に変換されてメモリ10などに一時記憶される(ステップS2)。
【0039】
また、これらの各動作と並行し、CPU9によってメモリ10などに一時記憶されている各カラー画像(各ウェブカメラ4、6の撮影動作で得られたカラー画像)のうち、パソコン2側からユーザを見たとき右眼に対応するウェブカメラ、例えば外付け型のウェブカメラ6で得られたカラー画像が読み取られる(ステップS3)。
【0040】
この後、CPU9によってグレー化/2値化画像処理が開始される(ステップS4)。即ち、図3のフローチャートに示すようにハードディスク8の画像格納リア16に格納されているカラーマスクで、外付け型のウェブカメラ6で得られたカラー画像がマスクされ、カラー画像の中から予め設定されている特定色(例えば、肌色)のカラー画像(肌色画像)が抽出されると共に(ステップS21)、外付け型のウェブカメラ6で得られたカラー画像がグレー処理化されて、予め設定されている階調のモノクロ画像に変換され、1フレーム分の画像容量を低減させる(ステップS22)。
【0041】
そして、CPU9によって画面分割指示が設定されているかどうかがチェックされ、画面分割指示があればモノクロ画像が複数のエリア(各エリアは各々、数個〜数十個の画素によって構成される)に分割され、また画面分割指示がなければ分割処理がスキップされた後、最大尤度しきい値法でモノクロ画像が2値化され、2値化画像が作成される(ステップS23)。
【0042】
次いで、CPU9によって2値化画像と肌色画像との論理和が取られて、2値化画像中の肌色部分が抽出され(ステップS24)、これが1フレーム分の2値化画像(右眼側の2値化画像)としてハードディスク8の画像格納エリア16に格納される(ステップS25)。
【0043】
この後、CPU9によって図2のフローチャートに示すようにメモリ10などに一時記憶されている各カラー画像(各ウェブカメラ4、6の撮影動作で得られた各カラー画像)のうち、パソコン2側からユーザを見たとき左眼に対応するウェブカメラ、例えば内蔵型のウェブカメラ4で得られたカラー画像が読み取られる(ステップS5)。
【0044】
次いで、CPU9によってグレー化/2値化画像処理が開始される(ステップS6)。即ち、図3のフローチャートに示すようにハードディスク8の画像格納エリア16に格納されているカラーマスクで内蔵型のウェブカメラ4で得られたカラー画像がマスクされ、カラー画像の中から予め設定されている特定色(例えば、肌色)のカラー画像(肌色画像)が抽出されると共に(ステップS21)、内蔵型のウェブカメラ4で得られたカラー画像がグレー処理化されて、予め設定されている階調のモノクロ画像に変換され、1フレーム分の画像容量を低減させる(ステップS22)。
【0045】
そして、CPU9によって画面分割指示が設定されているかどうかがチェックされ、画面分割指示があればモノクロ画像が複数のエリア(各エリアは各々、数個〜数十個の画素によって構成される)に分割され、また画面分割指示がなければ分割処理がスキップされた後、最大尤度しきい値法でモノクロ画像が2値化され、2値化画像が作成される(ステップS23)。
【0046】
次いで、CPU9によって2値化画像と肌色画像との論理和が取られて、2値化画像中の肌色部分が抽出され(ステップS24)、これが1フレーム分の2値化画像(左眼側の2値化画像)としてハードディスク8の画像格納エリア16に格納される(ステップS25)。
【0047】
以下、上述した画像処理が繰り返され、FIFO(First・In・First・Out)形式でハードディスク8の画像格納エリア16に右眼側の2値化画像、左眼側の2値化画像が各々数フレーム分〜数十フレーム分蓄積される。
【0048】
《フレーム間差分、ヒストグラム作成》
また、この動作と並行し図2のフローチャートに示すように、CPU9によってハードディスク13の画像格納エリア16に格納されている数フレーム分〜数十フレーム分の2値化画像の中から、右眼側に対応する最新の2値化画像を含む連続する数フレームの2値化画像が順次読み出される(ステップS7)。
【0049】
そして、CPU9によって読み出すことができた2値化画像のフレーム数がチェックされ、所定数以上のフレーム数であれば(ステップS8)、フレーム間差分/ヒストグラム作成処理が開始される(ステップS9)。即ち、図4のフローチャートに示すように、各2値化画像のうち、連続する2フレーム分の2値化画像に対しフレーム間差分処理が行われると共に(ステップS31、S32)、このフレーム間差分処理で得られた各差分画像が各分割エリア毎に累積加算されて右眼側のヒストグラムが作成され、ハードディスク8の画像格納エリア16に格納される(ステップS33、S34)。
【0050】
次いで、図2のフローチャートに示すように、CPU9によってハードディスク13の画像格納エリア16に格納されている数フレーム分〜数十フレーム分の2値化画像の中から左眼側に対応する最新の2値化画像を含む、連続する数フレームの2値化画像が順次読み出される(ステップS10)。
【0051】
そして、CPU9によって読み出すことができた2値化画像のフレーム数がチェックされ、所定数以上のフレーム数であれば(ステップS11)、フレーム間差分/ヒストグラム作成処理が開始される(ステップS12)。即ち、図4のフローチャートに示すように、各2値化画像のうち、連続する2フレーム分の2値化画像に対しフレーム間差分処理が行われると共に(ステップS31、S32)、このフレーム間差分処理で得られた各差分画像が各分割エリア毎に累積加算されて左眼側のヒストグラムが作成され、ハードディスク8の画像格納エリア16に格納される(ステップS33、S34)。
【0052】
《統計処理、仮想カーソルの活動領域決定、変化領域抽出》
この後、図2のフローチャートに示すように、CPU9によってハードディスク8の画像格納エリア16に格納されている右眼側のヒストグラムが読み出されて(ステップS13)、活動矩形領域抽出処理が開始される(ステップS14)。即ち、図5のフローチャートに示すように、ヒストグラムの各分割エリアの濃度値に対する統計処理が行われ、平均値、濃度分散値、最大値、偏差(±1σ、±2σ)などが演算される(ステップS41)。
【0053】
次いで、CPU9によってヒストグラムの各分割エリアの中から、変化領域矩形抽出用のしきい値(例えば、平均値−1σ)より大きい濃度値になっている各分割エリアが抽出され、これらの各分割エリア(活動分割エリア)を含むように矩形状の変化領域矩形65(図32参照)が決定されて、ハードディスク8の画像格納エリア16に格納される。
【0054】
また、この動作と並行し、CPU9によって図8、図10の3次元濃度分布図に示すようにヒストグラムを構成している各分割エリア20(図9、図11参照)のうち、仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)より大きい濃度値になっている分割エリア(活動分割エリア21)が抽出される。
【0055】
これにより、ユーザが指先を大きく回しているとき、図9に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されると共に、この決定結果に基づき図12に示すような右眼側の仮想カーソル活動領域画面27が作成されて、ハードディスク8の画像格納エリア16に格納される。
【0056】
また、ユーザが両手を動かしているときには、図11に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されて、図13に示すような右眼側の仮想カーソル活動領域画像27が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS42)。
【0057】
《仮想ボタンクリックの活動領域決定》
この後、CPU9によってハードディスク8の画像格納エリア16に格納されている右眼側のヒストグラムが読み出されて、各分割エリア20のうち仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)より大きい濃度値になっている分割エリア(活動分割エリア)が抽出されると共に、これらの各活動分割エリアを含むように矩形状の活動矩形領域が決定されて、右眼側の仮想ボタンクリック活動領域画像(図示は省略する)が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS43)。
【0058】
《多段階矩形オブジェクト抽出処理、影の影響除去》
次いで、CPU9によって仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)を使用して得られた右眼側の仮想カーソル活動領域画像27、仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)を使用して得られた右眼側の仮想ボタンクリック活動領域画像に対し、各々活動矩形領域26が左右に分割可能かどうかチェックされ、左右に分割可能であれば、図14に示すように活動矩形領域26の水平方向中心点“A”が求められると共に、水平方向中心点“A”から左側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“B”と、水平方向中心点“A”から右側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“C”とが検知され、これら境界点“B”、“C”を含む領域が各活動矩形領域26と判定され、それ以外の活動領域がユーザの影などによる不要な活動領域と判定され、無効とされる(2点抽出処理)。
【0059】
この後、CPU9によって、2点抽出処理が終了した各活動矩形領域26に対し、各々活動矩形領域26が上下に分割可能かどうかチェックされ、上下分割可能であれば図15に示すように活動矩形領域26の上下方向中心点“A”が求められると共に、上下方向中心点“A”から上側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“B”が検知され、これら境界点“B”を含む領域が活動矩形領域26と判定され、下の活動領域がユーザの影などによる不要な活動領域と判定され、無効とされる(最小化処理)(ステップS44)。
【0060】
次いで、CPU9によって、これら2点抽出処理、最小化処理によって構成される多段階矩形オブジェクト抽出処理で得られた活動矩形領域26を含む右眼側の仮想カーソル活動領域画像27、右眼側の仮想ボタンクリック活動領域画像が、ハードディスク8の画像格納エリア16に格納される(ステップS45)。
【0061】
《統計処理、仮想カーソルの活動領域決定、変化領域抽出》
この後、図2のフローチャートに示すようにCPU9によって、ハードディスク8の画像格納エリア16に格納されている左眼側のヒストグラムが読み出されて(ステップS15)、活動矩形領域抽出処理が開始される(ステップS16)。即ち、図5のフローチャートに示すように、ヒストグラムの各分割エリアの濃度値に対する統計処理が行われ、平均値、濃度分散値、最大値、偏差(±1σ、±2σ)などが演算される(ステップS41)。
【0062】
次いで、CPU9によって変化領域矩形抽出用のしきい値(例えば、平均値−1σ)より大きい濃度値になっている各分割エリア20が抽出されて、これらの各分割エリア(活動分割エリア)を含むように矩形状の変化領域矩形65(図32参照)が決定され、ハードディスク8の画像格納エリア16に格納される。
【0063】
また、この動作と並行しCPU9によって、図8、図10の3次元濃度分布図に示すようにヒストグラムを構成している各分割エリア20(図9、図11参照)のうち、仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)より大きい濃度値になっている分割エリア(活動分割エリア21)が抽出される。
【0064】
これにより、ユーザが指先を大きく回しているとき、図9に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されると共に、この決定結果に基づき図12に示すような左眼側の仮想カーソル活動領域画面27が作成されて、ハードディスク8の画像格納エリア16に格納される。
【0065】
また、ユーザが両手を動かしているときには、図11に示す通り各活動分割エリア21を含むように矩形状の活動矩形領域26が決定されて、図13に示すような左眼側の仮想カーソル活動領域画像27が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS42)。
【0066】
《仮想ボタンクリックの活動領域決定》
次いで、CPU9によってハードディスク8の画像格納エリア16に格納されている左眼側のヒストグラムが読み出されて、各分割エリア20のうち仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)より大きい濃度値になっている分割エリア(活動分割エリア)が抽出されると共に、これらの各活動分割エリアを含むように矩形状の活動矩形領域が決定されて、左眼側の仮想ボタンクリック活動領域画像(図示は省略する)が作成され、ハードディスク8の画像格納エリア16に格納される(ステップS43)。
【0067】
《多段階矩形オブジェクト抽出処理、影の影響除去》
次いで、CPU9によって仮想カーソル矩形抽出用のしきい値(例えば、最大値−1σ)を使用して得られた左眼側の仮想カーソル活動領域画像27、仮想ボタンクリック矩形抽出用のしきい値(例えば、最大値−2σ)を使用して得られた左眼側の仮想ボタンクリック活動領域画像に対し、各々活動矩形領域26が左右に分割可能かどうかチェックされ、左右に分割可能であれば、図14に示すように活動矩形領域26の水平方向中心点“A”が求められると共に、水平方向中心点“A”から左側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“B”と、水平方向中心点“A”から右側にある非活動領域と、活動領域(例えば、活動分割エリア21)との境界点“C”とが検知され、これら境界点“B”、“C”を含む領域が各活動矩形領域26と判定され、それ以外の活動領域がユーザの影などによる不要な活動領域と判定され、無効とされる(2点抽出処理)。
【0068】
この後、CPU9によって、2点抽出処理が終了した各活動矩形領域26に対し各々活動矩形領域26が上下に分割可能かどうかチェックされ、上下分割可能であれば図15に示すように活動矩形領域26の上下方向中心点“A”が求められると共に、上下方向中心点“A”から上側にある非活動領域と活動領域(例えば、活動分割エリア21)との境界点“B”が検知され、これら境界点“B”を含む領域が活動矩形領域26、下の活動領域がユーザの影などによる不要な活動領域と判定され、無効とされる(最小化処理)(ステップS44)。
【0069】
次いで、CPU9によってこれら2点抽出処理、最小化処理によって構成される多段階矩形オブジェクト抽出処理で得られた活動矩形領域26を含む左眼側の仮想カーソル活動領域画像27、左眼側の仮想ボタンクリック活動領域画像が、ハードディスク8の画像格納エリア16に格納される(ステップS45)。
【0070】
《活動矩形領域選択》
この後、図2のフローチャートに示すように、CPU9によって活動矩形領域選択処理が開始される(ステップS17)。即ち、図6のフローチャートに示すようにハードディスク8の画像格納エリア16に格納されている右眼側の仮想カーソル活動領域画像27、右眼側の仮想ボタンクリック活動領域画像が読み出され、これら右眼側の仮想カーソル活動領域画像27、右眼側の仮想ボタンクリック活動領域画像に含まれている各活動矩形領域26に対し、図16の模式図に示すように両眼視差法による位置補正が行われ、各ウェブカメラ4、6の取り付け位置(水平距離“B”、上下距離など)、各ウェブカメラ4、6の焦点距離“f”などと対応するように各活動矩形領域26の中心座標“PR(XR、YR)”が補正された後、大きさ順に番号が付加される(ステップS51、S52)。
【0071】
次いで、CPU9によってハードディスク8の画像格納エリア16に格納されている左眼側の仮想カーソル活動領域画像27、左眼側の仮想ボタンクリック活動領域画像が読み出され、これら左眼側の仮想カーソル活動領域画像27、左眼側の仮想ボタンクリック活動領域画像の各活動矩形領域26に対し、図16の模式図に示すように両眼視差法による位置補正が行われ、各ウェブカメラ4、6の取り付け位置(水平距離“B”、上下距離など)、各ウェブカメラ4、6の焦点距離“f”などと対応するように各活動矩形領域26の座標“PL(XL、YL)”が補正された後、大きさ順に番号が付加される(ステップS53、S54)。
【0072】
これにより、各ウェブカメラ4、6の焦点距離などと対応したピント位置、例えば各ウェブカメラ4、6から“0.3m”〜“0.8m”離れた位置にユーザの手があり、両眼視差法による位置補正を行う前、図17の模式図に示すように右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とが位置がずれていても、両眼視差法による位置補正を行うことにより、図18の模式図に示すように右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とを完全一致(又は、ほぼ一致)させることができる。
【0073】
この後、CPU9によって図19の模式図に示すように、番号“1”が付与された右眼側に対応する活動矩形領域26の中心座標“XR、YR”と、左眼側に対応する活動矩形領域26の中心座標“XL、YL”との距離(中心座標距離)が演算されて、これが番号“1”と共に、メモリ10に記憶される。
【0074】
以下、CPU9によって次の番号“2”〜最後の番号“N”が付与された右眼側に対応する活動矩形領域26の中心座標“XR、YR”と、左眼側に対応する活動矩形領域26の中心座標“XL、YL”との距離(中心座標距離)が順次演算されて、これらが次の番号“2”〜最後の番号“N”と共にメモリ10に記憶される(ステップS55、S56)。
【0075】
そして、これらの処理が終了したとき、CPU9によって、メモリ10に記憶されている各中心座標距離が順次読み出されて所定値と比較され、所定値以下になっている各中心座標距離を持つ右眼側の活動矩形領域26、左眼側の活動矩形領域26があるとき、即ち各ウェブカメラ4、6から“0.3m”〜“0.8m”離れた位置にユーザの手があるとき、ユーザの手に対応する右眼側の活動矩形領域26、左眼側の活動矩形領域26が、有効な右眼側の活動矩形領域26、有効な左眼側の活動矩形領域26であると判定され、それ以外の右眼側の活動矩形領域26、左眼側の活動矩形領域26が無効な右眼側の活動矩形領域26、無効な左眼側の活動矩形領域26であると判定される。
【0076】
これにより、右眼側の各活動矩形領域26、左眼側の各活動矩形領域26が図19の模式図に示す関係になっていれば、中心座標距離が所定値以上になっている番号“1”に対応した右眼側の活動矩形領域(OR1)26、左眼側の活動矩形領域(OL1)26が無効と判定され、中心座標距離がほぼ“0”になっている番号“2”に対応した右眼側の活動矩形領域(OR2)26、左眼側の活動矩形領域(OL2)26が有効と判定される。
【0077】
次いで、CPU9によって、有効と判定された右眼側の活動矩形領域(OR2)26、有効と判定された左眼側の活動矩形領域(OL2)26のうち、予め指定されている方、例えば有効と判定された左眼側の活動矩形領域(OL2)26が残され、それ以外の活動矩形領域26が削除された仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像が作成され、これが両眼視差法によってユーザの手前にいる人の動き、及び背後にいる人の動きが除去された仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像としてハードディスク8の画像格納エリア16に格納される(ステップS57)。
【0078】
《片手ジェスチャによる仮想カーソルの位置、大きさ、色制御》
この後、図2のフローチャートに示すように、CPU9によって仮想カーソル制御処理/画面制御処理が開始される(ステップS18)。即ち、図7のフローチャートに示すように、ハードディスク8の画像格納エリア16に格納されている各仮想カーソル活動領域画像(両眼視差法によって、ユーザの手前にいる人の動き、及び背後にいる人の動きが除去された各仮想カーソル活動領域画像)27のうち、最新の活動矩形領域26を含む数フレーム分の仮想カーソル活動領域画像27が読み出され(ステップS61)、近接した1つ以上の活動矩形領域26によって構成される活動矩形領域群が仮想カーソル活動領域画像27内に存在しているかどうかチェックされる。
【0079】
そして、最新の仮想カーソル活動領域画像27内に活動矩形領域群が存在し、その数が“1”であり、かつほぼ矩形であれば(ステップS62、S63)、CPU9によって活動矩形領域群の大きさ、移動方向が判定され、判定結果に対応するように仮想カーソル制御が行われる(ステップS64)。
【0080】
例えば、図20(a)に示すように、前回とほぼ同じ、高さ、左右位置で、ユーザが指先を大きく回し、これに対応して前回の処理で得られた大きな活動矩形領域群の位置と同じ位置で、大きな活動矩形領域群が得られているとき、CPU9によって仮想カーソルの表示指示であると判定されて、図20(b)に示すようにディスプレイ部3に大きなサイズ、白色の仮想カーソル25が表示される。
【0081】
また、ユーザが指先を大きく回しながら上下方向、又は左右方向に移動させ、これに対応して前回の処理で得られた位置から移動する大きな活動矩形領域群が得られているとき、CPU9によって仮想カーソルの移動指示であると判定されて、指先の移動方向に対応するようにディスプレイ部3に表示されている大きなサイズ、白色の仮想カーソル25を移動させる。
【0082】
また、図21(a)に示すように、前回とほぼ同じ、高さ、左右位置で、ユーザが指先を小さく回し、これに対応して前回の処理で得られた大きな活動矩形領域群の位置と同じ位置で、小さな活動矩形領域群が得られているとき、CPU9によって仮想カーソルの移動停止であると判定されて、図21(b)に示すようにディスプレイ部3に表示されている仮想カーソル25の移動を停止させると共に、サイズを小さくする。
【0083】
この状態で一定時間が経過すれば、CPU9によって仮想カーソル25の色が赤色に変更され大きな移動が禁止されると共に、OS側にカーソル移動指示が出されて、仮想カーソル25内に実カーソル28を移動させる。
【0084】
この後、ユーザが指先を少し移動させれば、CPU9によってこれが検知されて、ディスプレイ部3に表示されている仮想カーソル25の位置が微調整されると共に、OS側にカーソル位置調整指示が出されて、図22に示すように実カーソル28の位置が微調整される。
【0085】
次いで、ユーザが指先を動かすのを止めれば、CPU9によってこれが検知され、一定時間後に、図23に示すようにディスプレイ部3に表示されている仮想カーソル25の位置が固定されると共に、仮想カーソル25の色が赤色からグレー色に変更され、ユーザにクリック可能になったことを知らせる。
【0086】
この状態でも、ユーザが指先を再度大きく回せば、CPU9によってこれが検知されて、ディスプレイ部3に表示されている仮想カーソル25の色が白色に戻され、仮想カーソル25が移動可能な状態に戻される。
【0087】
《片手ジェスチャによるスクロール制御》
また、上述した仮想カーソル活動領域画像27に活動矩形領域群が存在するかどうかなどをチェックしたとき、図24に示すように活動矩形領域群の数が“1”で水平方向に長ければ(ステップS62、S63)、CPU9によって前回の活動矩形領域群に対しどちらの方向に長くなったか判定すると共に、長くなった方向に応じた右スクロール指示(又は、左スクロール指示)が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が右方向(又は、左方向)にスクロールされる(ステップS64)。
【0088】
また、上述した仮想カーソル活動領域画像27に活動矩形領域群が存在するかどうかなどをチェックしたとき、活動矩形領域群の数が“1”で上下方向に長ければ(ステップS62、S63)、CPU9によって前回の活動矩形領域群に対しどちらの方向に長くなったか判定すると共に、長くなった方向に応じた上スクロール指示(又は、下スクロール指示)が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が上方向(又は、下方向)にスクロールされる(ステップS64)。
【0089】
《片手ジェスチャによる実カーソルのクリック制御》
この後、CPU9によって仮想カーソル25の色がグレーかどうかチェックされ、仮想カーソル25の色がグレーであれば、ハードディスク8の画像格納エリア16に格納されている仮想ボタンクリック活動領域画像のうち、最新の活動矩形領域を含む数フレーム分の仮想ボタンクリック活動領域画像が読み出される(ステップS66)。
【0090】
次いで、CPU9によって仮想ボタンクリック活動領域画像内に近接した1つ以上の活動矩形領域26によって構成される活動矩形領域群が存在し、形状が変化しているかどうかチェックされ、活動矩形領域群の数が“1”であり活動矩形領域群が予め設定された変化、例えば図25(a)に示すようにユーザが指さし状態から、1回だけ手を広げ、活動矩形領域群が1回だけ“小”から“大”に変化していれば(ステップS67)、シングルクリックであると判定され、OS側にシングルクリック指示が出されて、図25(b)に示すように仮想カーソル25内にある実カーソル28によってアイコンなどがシングルクリックされる(ステップS68)。
【0091】
また、ユーザが指さし状態から2回以上手を広げたり縮めたりし、活動矩形領域群が複数回“大”から“小”、“小”から“大”に変化していれば(ステップS67)、CPU9によってダブルクリックであると判定され、OS側にダブルクリック指示が出されて、実カーソル28の位置にあるアイコンなどがダブルクリックされる(ステップS68)。
【0092】
《両手ジェスチャによる画面拡大、縮小制御》
また、各ウェブカメラ4、6のピント位置にユーザが右手、左手を出して、これら右手、左手を動かし、上述した仮想カーソル活動領域画像27に活動矩形領域群が存在するかどうかなどをチェックしたとき、活動矩形領域群の数が“2”になり、各々矩形になっていれば(ステップS63)、CPU9によってこれが検知されて、これら各活動矩形領域群の動きに応じてディスプレイ部3に表示されている操作対象画面の拡大、縮小、回転などが行われる(ステップS65)。
【0093】
例えば、各ウェブカメラ4、6のピント位置にユーザが右手、左手を出して、その右手、左手を互いに離れる方向に移動させ、これに対応して図26に示す2つの活動矩形領域群が存在し、図27(a)に示すように前回より広くなる方向に移動してこれら各活動矩形領域群の距離が前回より長くなったとき、CPU9によって画面拡大指示が入力されたと判定され、活動矩形領域群の距離変化比に応じた拡大率の画面拡大指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が拡大される。
【0094】
また、各ウェブカメラ4、6のピント位置にユーザが右手、左手を出して、その右手、左手を互いに近づく方向に移動させ、これに対応して2つの活動矩形領域群が図27(b)に示すように前回より狭くなる方向に移動し、これら各活動矩形領域群の距離が前回より短くなったとき、CPU9によって画面縮小指示が入力されたと判定され、活動矩形領域群の距離変化比に応じた縮小率の画面縮小指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が縮小される。
【0095】
《両手ジェスチャによる画面回転制御》
また、各ウェブカメラ4、6のピント位置にユーザが右手、左手を出して、これら右手、左手の一方を上に他方を下に移動させ、これに対応して図28に示す2つの活動矩形領域群のうち少なくとも一方が上方向(又は、下方向)に移動したとき、CPU9によって画面回転指示が入力されたと判定され、下側の活動矩形領域群に対する上側の活動矩形領域群の角度に応じた回転角度の画面回転指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が回転される。
【0096】
この際、図29(a)に示すように各活動矩形領域群の左右距離が狭い状態で、一方が大きく上方に移動し下側の活動矩形領域群に対する上側の活動矩形領域群の角度が大きいとき、CPU9によって大きな回転角度の画面回転指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が大きく回転される。
【0097】
また、図29(b)に示すように各活動矩形領域群の左右距離が広い状態で、一方が小さく上方に移動し下側の活動矩形領域群に対する上側の活動矩形領域群の角度が小さいとき、CPU9によって小さな回転角度の画面回転指示が生成されてアプリケーション側に渡され、ディスプレイ部3に表示されているアプリケーション画面(操作対象画面)が小さく回転される。
【0098】
このように、本発明の第1の実施形態においては、各ウェブカメラ4、6によってユーザを撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理、活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理を行いユーザの手の動きを検知し、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うようにしているので、次に述べる効果を得ることができる。
【0099】
まず、解像度が高くない安価なウェブカメラ4、6を使用できることから、入力装置1aのコストを低く抑えることができる(請求項1の効果)。
【0100】
また、各ウェブカメラ4、6によってユーザを撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理を施して得られた2値化画像を画像格納エリア16に格納するため、ハードディスク8の容量が小さい場合にも入力装置1aを構成することができ、装置全体のコストを低く抑えることができる(請求項1の効果)。
【0101】
また、各ウェブカメラ4、6によってユーザを撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理など、少ない段数の画像処理を施して1フレーム分の2値化画像を得るようにしているので、CPU9に大きな負担をかけることを防ぎ、これによって処理速度が速くない安価なCPU9を使用した場合でもほぼリアルタイムでユーザの動きに対応するように、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うことができ、装置全体のコストを低く抑えることができる(請求項1の効果)。
【0102】
また、各ウェブカメラ4、6によってユーザを撮影して得られた右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とに対し、両眼視差法で中心座標位置を補正した後、大きさ順に番号を付けて中心座標位置を比較し、この比較結果に基づきピント位置に対応する右眼側の各活動矩形領域26と左眼側の各活動矩形領域26とを選択するようにしているので、各ウェブカメラ4、6のピント位置にあるユーザの手以外のもの、例えばユーザの後ろに人がいて動いていても、これに影響されることなくユーザの手の動きのみを抽出して、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うことができる(請求項1の効果)。
【0103】
また、本発明の第1の実施形態では、ユーザが片手だけを動かしているとき仮想カーソル制御指示、又は操作対象画面のスクロール制御であると判定し、仮想カーソル25のサイズ制御、位置制御、色制御、クリック制御、操作対象画面のスクロール制御などを行うようにしているので、片手だけでディスプレイ部3に表示されている仮想カーソル25のサイズ、位置、色、クリック、操作対象画面のスクロールなどを遠隔操作することができる(請求項3の効果)。
【0104】
また、本発明の第1の実施形態では、ユーザが両手を動かしているとき、右手の動き、左手の動きを各々検出し、操作対象画面の拡大/縮小制御指示、又は操作対象画面の回転制御指示であると判定するようにしているので、ユーザが右手、左手を動かすだけでディスプレイ部3に表示されているアプリケーション画面(操作対象画面)を拡大、縮小、回転させることができる(請求項4の効果)。
【0105】
また、本発明の第1の実施形態では、活動矩形領域抽出処理においてヒストグラムを統計処理して得られた結果を使用し、ヒストグラムから仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像を作成するようにしているので、ユーザの手など動いている部分を正確に検知することができ、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる(請求項5の効果)。
【0106】
また、本発明の第1の実施形態では、活動矩形領域抽出処理において仮想カーソル活動領域画像27、仮想ボタンクリック活動領域画像に対し、多段階矩形オブジェクト抽出処理を行うようにしているので、ユーザの影などに起因する誤動作を防止し、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる(請求項6の効果)。
【0107】
2.第2の実施形態の説明
図30は、本発明による入力装置の第2の実施形態を示すブロック図である。
この図に示す入力装置1bは、箱形に形成されたプラスチック部材などによって構成され、パソコン、テレビ、エアコン、大画面スクリーン装置などの遠隔操作対象機器の近傍に配置される入力装置筐体(図示は省略する)と、入力装置筐体の前面左側に取り付けられ、ユーザを撮影してカラー画像信号を出力する右眼用ビデオカメラ本体(請求項2のカラーカメラ本体)30と、入力装置筐体内に配置され、右眼用ビデオカメラ本体30で撮影されたカラー画像を処理して、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像を生成する右眼側画像処理基板31と、入力装置筐体の前面右側に取り付けられ、ユーザを撮影してカラー画像信号を出力する左目用ビデオカメラ本体(請求項2のカラーカメラ本体)32と、入力装置筐体内に配置され、左眼用ビデオカメラ本体32で撮影されたカラー画像を処理して、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を生成する左眼側画像処理基板33と、入力装置筐体内に配置され、右眼側画像処理基板31から出力される右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側画像処理基板32から出力される左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を画像処理してユーザの手の動きに対応するポインティングデータを生成し、USBケーブル、信号接続ケーブルなどのケーブルを介して、パソコン、テレビ、エアコン、大画面スクリーン装置などの遠隔操作対象機器などに供給する共通処理基板34とを備えている。
【0108】
そして、ユーザを撮影して得られたカラー画像を解析して、影などの影響、ユーザの手前側にいる人、及び背後にいる人の影響などを取り除きながら、ユーザの手の動きに対応したポインティングデータを生成し、入力装置1b→ケーブル→遠隔操作対象機器なる経路でポインティングデータを遠隔操作対象機器に供給し、この遠隔操作対象機器の動作を制御する。
【0109】
右眼用ビデオカメラ本体30は、320画素×240画素程度の解像度を持つカラーカメラによって構成されており、右眼側画像処理基板31から電源電圧、クロック信号などが出されているときユーザを撮影し、これによって得られたカラービデオ信号を右眼側画像処理基板31に供給する。
【0110】
右眼側画像処理基板31は、右眼用ビデオカメラ本体から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、HSV(色相・彩度・明度)方式で予め設定されている特定色(例えば、肌色)のカラー画像を抽出するのに必要なカラーマスクを使用して、カラー画像中の肌色画像を抽出する肌色画像抽出回路35と、右眼用ビデオカメラ本体30から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、予め設定されている階調のモノクロ画像に変換するグレー化処理回路36と、グレー化処理回路36から出力されるモノクロ画像を予め設定されている画面分割数で分割する(但し、画面分割設定されていないときこの画面分割処理はスキップされる)と共に、最大尤度しきい値法で2値化して2値化画像にする画像分割/2値化処理回路37と、画像分割/2値化処理回路37から出力される2値化画像と肌色画像抽出回路35から出力される肌色画像との論理和を取り、2値化画像中の肌色部分を抽出する色フィルタリング処理回路38とを備えている。
【0111】
さらに、右眼側画像処理基板31は、色フィルタリング処理回路38から出力される2値化画像を数フレーム分〜数十フレーム分、一時記憶するフレームバッファ回路39と、フレームバッファ回路39に記憶されている2値化画像を順次読み出しながらフレーム間差分処理を行い、差分画像を生成するフレーム間差分処理回路40と、フレーム間差分処理回路40からフレーム単位で出力される各差分画像を各分割エリア毎に積算して、ヒストグラムを生成するヒストグラム処理回路41と、ヒストグラム処理回路41から出力されるヒストグラムに対し統計処理を行うと共に、統計処理結果を用いて仮想カーソル活動領域判定処理、仮想ボタンクリック活動領域判定処理、多段階矩形オブジェクト抽出処理などを行って、影などの影響を取り除いた右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像を生成する活動矩形領域抽出処理回路42とを備えている。
【0112】
そして、右眼用ビデオカメラ本体30から出力されるカラービデオ信号に対し、グレー化処理、画面分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を順次施して、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像を生成し、共通処理基板34に供給する。
【0113】
また、左眼用ビデオカメラ本体32は、320画素×240画素程度の解像度を持つカラーカメラによって構成されており、左眼側画像処理基板33から電源電圧、クロック信号などが出されているときユーザを撮影し、これによって得られたカラービデオ信号を左眼側画像処理基板33に供給する。
【0114】
左眼側画像処理基板33は、左眼用ビデオカメラ本体32から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、HSV(色相・彩度・明度)方式で、予め設定されている特定色(例えば、肌色)のカラー画像を抽出するのに必要なカラーマスクを使用して、カラー画像中の肌色画像を抽出する肌色画像抽出回路43と、左眼用ビデオカメラ本体32から出力されるカラービデオ信号をRGB形式のカラー画像に変換した後、予め設定されている階調のモノクロ画像に変換するグレー化処理回路44と、グレー化処理回路44から出力されるモノクロ画像を予め設定されている画面分割数で分割する(但し、画面分割設定されていないとき、この画面分割処理はスキップされる)と共に、最大尤度しきい値法で2値化して、2値化画像にする画像分割/2値化処理回路45と、画像分割/2値化処理回路45から出力される2値化画像と肌色画像抽出回路43から出力される肌色画像との論理和を取り、2値化画像中の肌色部分を抽出する色フィルタリング処理回路46とを備えている。
【0115】
さらに、左眼側画像処理基板33は、色フィルタリング処理回路46から出力される2値化画像を数フレーム分〜数十フレーム分、一時記憶するフレームバッファ回路47と、フレームバッファ回路47に記憶されている2値化画像を順次読み出しながらフレーム間差分処理を行い、差分画像を生成するフレーム間差分処理回路48と、フレーム間差分処理回路48からフレーム単位で出力される各差分画像を各分割エリア毎に積算して、ヒストグラムを生成するヒストグラム処理回路49と、ヒストグラム処理回路49から出力されるヒストグラムに対し統計処理を行うと共に、統計処理結果を用いて仮想カーソル活動領域判定処理、仮想ボタンクリック活動領域判定処理、多段階矩形オブジェクト抽出処理などを行って、影などの影響を取り除いた左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を生成する活動矩形領域抽出処理回路50とを備えている。
【0116】
そして、左眼用ビデオカメラ本体32から出力されるカラービデオ信号に対し、グレー化処理、画面分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を順次施して、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を生成し、共通処理基板34に供給する。
【0117】
共通処理基板34は、両眼視差法による位置補正に必要な右眼用ウェブカメラ30、左眼用ウェブカメラ32の取り付け位置データ(水平距離“B”、上下距離など)、右眼用ウェブカメラ30、左眼用ウェブカメラ32の焦点距離“f”などの撮影条件情報が設定される撮影条件設定回路51と、右眼側画像処理基板31から出力される右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側画像処理基板33から出力される左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像に活動矩形領域が含まれるとき、撮影条件設定回路51に設定されている撮影条件情報を用いて両眼視差法で各活動矩形領域の位置を補正する処理、大きさ順に各活動矩形領域に番号を付加する処理、同じ番号が付加された各活動矩形領域の中心座標間の距離(中心座標距離)を演算する処理、所定値以下になっている各中心座標距離に対応する活動矩形領域を選択する処理、選択した活動矩形領域のみを含み、選択していない活動矩形領域を含まない左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を作成する処理などを行って、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像に含まれるユーザの手前にいる人、及び背後にいる人の動きなどの影響を取り除いた後、左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像を数画像分〜数十画像分保持する活動矩形領域選択処理回路52とを備えている。
【0118】
さらに、共通処理基板34は、活動矩形領域選択処理回路52に保持されている左眼側の各仮想カーソル活動領域画像のうち、最新の仮想カーソル活動領域画像に活動矩形領域群が存在するとき、活動矩形領域群の数、形状、移動有無、移動方向などに基づき、仮想カーソル位置指示、仮想カーソル形状指示、仮想カーソル色指示、操作対象画面スクロール指示、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などのポインティングデータを生成すると共に、仮想カーソルがクリック可能な状態になっているとき、活動矩形領域選択処理回路52に保持されている各仮想ボタンクリック活動領域画像のうち、最新の仮想ボタンクリック活動領域画像に活動矩形領域群が存在しているかどうかをチェックし、活動矩形領域群が存在しているとき、活動矩形領域群の形状などに基づきシングルクリック指示、ダブルクリック指示などのポインティングデータを生成する仮想カーソル制御処理/画面制御処理回路53を備えている。
【0119】
そして、右眼側画像処理基板31から出力される右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左眼側画像処理基板32から出力される左眼側の仮想カーソル活動領域画像、左眼側の仮想ボタンクリック活動領域画像に活動矩形領域が含まれるとき、ユーザの前にいる人の動き、ユーザの背後にいる人の動きなどに起因するノイズを取り除きながらユーザの各手がどのように動いているかを判定し、この判定結果に応じて仮想カーソル位置指示、仮想カーソル形状指示、仮想カーソル色指示、操作対象画面スクロール指示、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などのポインティングデータを生成し、遠隔操作対象機器となっているパソコン、テレビ、エアコン、大画面スクリーン装置などに供給する。
【0120】
このように、この第2の実施形態では、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32によってユーザを撮影して得られた低解像度のカラー画像に対し、色フィルタリング処理、グレー化処理、画像分割/2値化処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理、活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理などを行いユーザの手の動きを検知し、仮想カーソル位置指示、仮想カーソル形状指示、仮想カーソル色指示、操作対象画面スクロール指示、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などのポインティングデータを生成し、遠隔操作対象機器に供給するようにしているので、遠隔操作対象機器側の仮想カーソルサイズ、仮想カーソル位置、仮想カーソル色、クリック、操作対象画面の上下スクロール、左右スクロール、拡大、縮小、回転などを遠隔操作することができる(請求項2の効果)。
【0121】
また、この第2の実施形態では、解像度が高くない安価な右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32を使用できることから、入力装置1bのコストを低く抑えることができる(請求項2の効果)。
【0122】
また、この第2の実施形態では、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32によってユーザを撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理を施して得られた2値化画像をフレームバッファ回路39、47に格納するようにしているので、フレームバッファ回路39、47の記憶容量が小さい場合にも入力装置1bを構成することができ、装置全体のコストを低く抑えることができる(請求項2の効果)。
【0123】
さらに、この第2の実施形態では、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32によってユーザを撮影して得られた低解像度のカラー画像に対し、グレー化処理、画像分割/2値化処理、色フィルタリング処理、フレームバッファ処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理、活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理など、少ない段数の画像処理を施してポインティングデータを生成するようにしているので、肌色画像抽出理回路35、43、グレー化処理回路36、44、画像分割/2値化処理回路37、45、色フィルタリング処理回路38、46、フレームバッファ処理回路36、47、フレーム間差分処理回路40、48、ヒストグラム処理回路41、49、活動矩形領域抽出処理回路42、50、活動矩形領域選択回路52、仮想カーソル制御処理/画面制御処理回路53として、処理速度があまり速くない素子の使用を可能にして装置全体のコストを低く抑えながら、ほぼリアルタイムでユーザの動きを検知し、遠隔操作対象機器を制御することができる(請求項2の効果)。
【0124】
また、この第2の実施形態では、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32によってユーザを撮影して得られた右眼側の各活動矩形領域と、左眼側の各活動矩形領域とに対し、両眼視差法で中心座標位置を補正した後、大きさ順に番号を付けて中心座標位置を比較し、この比較結果に基づきピント位置に対応する右眼側の各活動矩形領域と、左眼側の各活動矩形領域とを選択するようにしているので、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32のピント位置にあるユーザの手以外のもの、例えばユーザの後ろに人がいて動いていても、これに影響されることなくユーザの手の動きのみを抽出して、仮想カーソルのサイズ制御、位置制御、色制御、クリック制御、操作対象画面の拡大制御、縮小制御、回転制御、上下スクロール制御、左右スクロール制御などを行うことができる(請求項2の効果)。
【0125】
そして、この第2の実施形態においても、上述した第1の実施形態と同様に、ユーザが片手だけを動かしているとき、仮想カーソル制御指示、クリック制御指示、スクロール制御指示の何れかであると判定し、仮想カーソルサイズ指示、仮想カーソル位置指示、仮想カーソル色指示、スクロール制御指示、クリック指示などを示すポインティングデータを生成するようにしているので、片手だけで遠隔操作対象機器側のディスプレイに表示されている仮想カーソルのサイズ、位置、色、クリック動作、操作対象画面のスクロールなどを遠隔操作することができる(請求項3の効果)。
【0126】
また、この第2の実施形態においても、上述した第1の実施形態と同様に、ユーザが両手を動かしているとき、右手の動き、左手の動きを各々検出して操作対象画面の制御指示であると判定し、操作対象画面拡大指示、操作対象画面縮小指示、操作対象画面回転指示などを示すポインティングデータを生成するようにしているので、ユーザが右手、左手を動かすだけで遠隔操作対象機器側のディスプレイに表示されている操作対象画面を拡大、縮小、回転させることができる(請求項4の効果)。
【0127】
また、本発明の第2の実施形態では、活動矩形領域抽出処理回路42、50においてヒストグラムを統計処理すると共に、統計処理結果を使用してヒストグラムから右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左側の仮想カーソル活動領域画像、左側の仮想ボタンクリック活動領域画像を作成するようにしているので、ユーザの手など動いている部分を正確に検知することができ、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる(請求項5の効果)。
【0128】
また、本発明の第2の実施形態では、活動矩形領域抽出処理回路42、50において、右眼側の仮想カーソル活動領域画像、右眼側の仮想ボタンクリック活動領域画像、左側の仮想カーソル活動領域画像、左側の仮想ボタンクリック活動領域画像に対し、多段階矩形オブジェクト抽出処理を行うようにしているので、ユーザの影などに起因する誤動作を防止し、安定した仮想カーソル制御、クリック制御、操作対象画面制御を行うことができる(請求項6の効果)。
【0129】
3.他の実施形態の説明
上述した各実施形態では、各ウェブカメラ4、6、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32で得られたカラー画像の全領域をグレー化し、2値化するようにしているが、図31フローチャート、図32の模式図に示すようにヒストグラムを統計処理、活動矩形領域抽出処理で得られた変化領域矩形(活動矩形領域を含む矩形)65に対し、指定された拡大縮小率(例えば拡大率“10%”)で拡大/縮小した拡大/縮小矩形マスク66を作成すると共に(ステップS71)、次フレームのカラー画像全領域をグレー化して得られたモノクロ画像の中から拡大/縮小矩形マスク66に対応する部分(モノクロ画像に含まれる活動領域部分の画像67)だけを抽出して、2値化処理するようにしても良い(ステップS72)。
【0130】
このようにすれば、モノクロ画像などの中から活動領域より少し広い範囲に含まれる画像のみを有効にし、それ以外の領域にある画像を無効にして、変化領域以外の部分に存在するノイズを除去することができる(請求項7の効果)。
【0131】
また、上述した第1の実施形態、及び第2の実施形態では、CPU9による色フィルタリング処理、又は色フィルタリング処理回路38、46によって、肌色のカラー画像を抽出するようにしているが、ユーザが特定色の操作器、例えば赤ペンなどを使用して仮想カーソルの位置、クリック、操作対象画面のスクロール、操作対象画面の拡大、操作対象画面の縮小、操作対象画面の回転などを制御する場合には、赤色抽出用のカラーマスクを使用し、CPU9による色フィルタリング処理、又は色フィルタリング処理回路38、46によって赤色のカラー画像を抽出するようにしても良い。
【0132】
これにより、各ウェブカメラ4、6、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32の撮影範囲に複数の人がいても、ユーザが持つ操作器の色に対応するカラー画像を抽出して仮想カーソルのサイズ制御、位置制御、クリック制御、操作対象画面のスクロール制御、拡大制御、縮小制御、回転制御などを行うことができる。
【0133】
また、このような色フィルタリング処理は、各ウェブカメラ4、6、右眼用ビデオカメラ本体30、左眼用ビデオカメラ本体32から出力されるカラービデオ信号に含まれるユーザの手など、動いている画像を抽出するために行っている処理であることから、ユーザが居る場所の照明条件が良好で、ユーザの手などが動いている画像と背景画像とのコントラストが大きいとき、色フィルタリング処理を省略するようにしても良い。
【産業上の利用可能性】
【0134】
本発明は、情報端末装置やパーソナルコンピュータなどの情報機器に接続されて使用され、カメラによって操作者(ユーザ)の動作画像を取り込み、情報機器のカーソル操作やアプリケーションプログラムの選択及び実行などを制御する入力装置であって、特に、アルゴリズムを簡素化すると共に処理データ量を極力少なくして演算量、メモリ使用量を低減すると共に、リアルタイムでパソコンのカーソルなどを制御するようにした、ビデオ映像による入力装置に関するものであり、産業上の利用可能性を有する。
【符号の説明】
【0135】
1a、1b:入力装置
2:パソコン
3:ディスプレイ部
4:ウェブカメラ(左眼用カラーカメラ)
5:ビデオキャプチャ
6:ウェブカメラ(右眼用カラーカメラ)
7:USBインタフェース
8:ハードディスク
9:CPU
10:メモリ
11:表示インタフェース
12:システムバス
13:OS格納エリア
14:アプリケーション格納エリア
15:画像処理プログラム格納エリア
16:画像格納エリア
20:分割エリア
21:活動分割エリア
25:仮想カーソル
26:活動矩形領域
27:仮想カーソル活動領域画像
28:実カーソル
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値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理プログラムと、
前記左眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理プログラムと、
前記右眼側画像処理プログラムで得られた右眼側活動矩形領域、前記左眼側画像処理プログラムで得られた左眼側活動矩形領域に対し、両眼視差法を使用した活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理を行って、前記操作者の手、又は指先の動きを検出し、この検出結果に応じた操作指示を生成する画像処理プログラムと、
を備えることを特徴とする入力装置。
【請求項2】
ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成し、遠隔操作対象機器の動作を制御する入力装置において、
箱形に形成される入力装置筐体と、
この入力装置筐体の前面左側に取り付けられ、操作者の画像を撮影する右眼用カラーカメラ本体と、
前記入力装置筐体の前面右側に取り付けられ、前記操作者の画像を撮影する左眼用カラーカメラ本体と、
前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記右眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理基板と、
前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記左眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理基板と、
前記入力装置筐体内に配置され、活動矩形領域選択処理回路、仮想カーソル制御処理/画面制御処理回路によって、前記右眼側画像処理基板で得られた右眼側活動矩形領域、前記左眼側画像処理基板で得られた左眼側活動矩形領域に、両眼視差法を使用した活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理を行って、前記操作者の手、又は指先の動きを検出し、この検出結果に応じたポインティングデータを生成し、遠隔操作対象機器の動作を制御する共通処理基板と、
を備えることを特徴とする入力装置。
【請求項3】
前記仮想カーソル制御処理/画面制御処理、又は前記仮想カーソル制御処理/画面制御処理回路は、仮想カーソル活動領域画像上に活動矩形領域群が1つあるとき、その形状、移動有無に基づき、カールソル制御指示、又は画面スクロール指示を生成することを特徴とする請求項1又は2に記載の入力装置。
【請求項4】
前記仮想カーソル制御処理/画面制御処理、又は前記仮想カーソル制御処理/画面制御処理回路は、仮想カーソル活動領域画像上に活動矩形領域群が2つあるとき、その移動方向に基づき、画面回転指示、画面拡大指示、画面縮小指示の何れかを生成することを特徴とする請求項1乃至3の何れかの項に記載の入力装置。
【請求項5】
前記活動矩形領域抽出処理、又は前記活動矩形領域抽出処理回路は、ヒストグラムの統計処理結果を使用して、前記ヒストグラムから仮想カーソル活動領域画像、仮想ボタンクリック活動領域画像を作成することを特徴とする請求項1乃至4の何れかの項に記載の入力装置。
【請求項6】
前記活動矩形領域抽出処理、又は前記活動矩形領域抽出処理回路は、前記仮想カーソル活動領域画像、又は前記仮想ボタンクリック活動領域画像に対し、多段階矩形オブジェクト抽出処理を行い、ノイズ成分を除去することを特徴とする請求項1乃至5の何れかの項に記載の入力装置。
【請求項7】
拡大/縮小矩形マスク作成処理、又は拡大/縮小矩形マスク作成処理回路を付加し、前記拡大/縮小矩形マスク作成処理、又は前記拡大/縮小矩形マスク作成処理回路によって、前記カラーカメラ、前記カラーカメラ本体で得られたカラー画像の中から、前記仮想カーソル活動領域画像上の変化領域矩形、又は前記仮想ボタンクリック活動領域画像の変化領域矩形に対応する画像を抽出し、それ以外の画像をカットして、ノイズ成分を除去することを特徴とする請求項1乃至6の何れかの項に記載の入力装置。
【請求項1】
ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成する入力装置において、
操作者を撮影する右眼用カラーカメラと、
この右眼用カラーカメラから所定距離だけ離れた位置に、前記右眼用カラーカメラと並んで配置され、前記操作者を撮影する左眼用カラーカメラと、
前記右眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理プログラムと、
前記左眼用カラーカメラから出力されるカラー画像に対し、グレー化処理、画像分割/2値化処理、フレーム間差分処理、ヒストグラム処理、活動矩形領域抽出処理を行い、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理プログラムと、
前記右眼側画像処理プログラムで得られた右眼側活動矩形領域、前記左眼側画像処理プログラムで得られた左眼側活動矩形領域に対し、両眼視差法を使用した活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理を行って、前記操作者の手、又は指先の動きを検出し、この検出結果に応じた操作指示を生成する画像処理プログラムと、
を備えることを特徴とする入力装置。
【請求項2】
ビデオカメラで得られた操作者の画像を処理して、操作者の動作内容に応じた操作指示を生成し、遠隔操作対象機器の動作を制御する入力装置において、
箱形に形成される入力装置筐体と、
この入力装置筐体の前面左側に取り付けられ、操作者の画像を撮影する右眼用カラーカメラ本体と、
前記入力装置筐体の前面右側に取り付けられ、前記操作者の画像を撮影する左眼用カラーカメラ本体と、
前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記右眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の右眼側活動矩形領域を抽出する右眼側画像処理基板と、
前記入力装置筐体内に配置され、グレー化処理回路、画像分割/2値化処理回路、フレーム間差分処理回路、ヒストグラム処理回路、活動矩形領域抽出処理回路によって、前記左眼用カラーカメラ本体から出力されるカラー画像を処理して、前記操作者の左眼側活動矩形領域を抽出する左眼側画像処理基板と、
前記入力装置筐体内に配置され、活動矩形領域選択処理回路、仮想カーソル制御処理/画面制御処理回路によって、前記右眼側画像処理基板で得られた右眼側活動矩形領域、前記左眼側画像処理基板で得られた左眼側活動矩形領域に、両眼視差法を使用した活動矩形領域選択処理、仮想カーソル制御処理/画面制御処理を行って、前記操作者の手、又は指先の動きを検出し、この検出結果に応じたポインティングデータを生成し、遠隔操作対象機器の動作を制御する共通処理基板と、
を備えることを特徴とする入力装置。
【請求項3】
前記仮想カーソル制御処理/画面制御処理、又は前記仮想カーソル制御処理/画面制御処理回路は、仮想カーソル活動領域画像上に活動矩形領域群が1つあるとき、その形状、移動有無に基づき、カールソル制御指示、又は画面スクロール指示を生成することを特徴とする請求項1又は2に記載の入力装置。
【請求項4】
前記仮想カーソル制御処理/画面制御処理、又は前記仮想カーソル制御処理/画面制御処理回路は、仮想カーソル活動領域画像上に活動矩形領域群が2つあるとき、その移動方向に基づき、画面回転指示、画面拡大指示、画面縮小指示の何れかを生成することを特徴とする請求項1乃至3の何れかの項に記載の入力装置。
【請求項5】
前記活動矩形領域抽出処理、又は前記活動矩形領域抽出処理回路は、ヒストグラムの統計処理結果を使用して、前記ヒストグラムから仮想カーソル活動領域画像、仮想ボタンクリック活動領域画像を作成することを特徴とする請求項1乃至4の何れかの項に記載の入力装置。
【請求項6】
前記活動矩形領域抽出処理、又は前記活動矩形領域抽出処理回路は、前記仮想カーソル活動領域画像、又は前記仮想ボタンクリック活動領域画像に対し、多段階矩形オブジェクト抽出処理を行い、ノイズ成分を除去することを特徴とする請求項1乃至5の何れかの項に記載の入力装置。
【請求項7】
拡大/縮小矩形マスク作成処理、又は拡大/縮小矩形マスク作成処理回路を付加し、前記拡大/縮小矩形マスク作成処理、又は前記拡大/縮小矩形マスク作成処理回路によって、前記カラーカメラ、前記カラーカメラ本体で得られたカラー画像の中から、前記仮想カーソル活動領域画像上の変化領域矩形、又は前記仮想ボタンクリック活動領域画像の変化領域矩形に対応する画像を抽出し、それ以外の画像をカットして、ノイズ成分を除去することを特徴とする請求項1乃至6の何れかの項に記載の入力装置。
【図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】
【図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】
【公開番号】特開2013−80266(P2013−80266A)
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【出願番号】特願2010−25291(P2010−25291)
【出願日】平成22年2月8日(2010.2.8)
【出願人】(505288686)株式会社ネクステッジテクノロジー (3)
【Fターム(参考)】
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【出願日】平成22年2月8日(2010.2.8)
【出願人】(505288686)株式会社ネクステッジテクノロジー (3)
【Fターム(参考)】
[ Back to top ]