電子機器
【課題】画像認識を用いて電子機器を制御するに際に、認識のための単純な動作をノイズなどの影響を受けることなく更に正しく検出できる、電子機器を提供する。
【解決手段】ビデオカメラ2より出力された画像の画面を水平方向にN分割、垂直方向にM分割した複数の検出領域に、それぞれ対応して設けられた複数の検出器を有する検出部19は、操作者が行う動作に基づいた第1の検出信号を発生させる。生成器は第1の検出信号に基づいて第2の検出信号を生成する。第2の検出信号を累積加算した値が閾値を超え、フラグが生成された検出器を少なくとも含む複数の検出器に対して、タイミングパルス発生器12は、選択的にタイミングパルスを供給する。
【解決手段】ビデオカメラ2より出力された画像の画面を水平方向にN分割、垂直方向にM分割した複数の検出領域に、それぞれ対応して設けられた複数の検出器を有する検出部19は、操作者が行う動作に基づいた第1の検出信号を発生させる。生成器は第1の検出信号に基づいて第2の検出信号を生成する。第2の検出信号を累積加算した値が閾値を超え、フラグが生成された検出器を少なくとも含む複数の検出器に対して、タイミングパルス発生器12は、選択的にタイミングパルスを供給する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオカメラを搭載したテレビジョン受像機などの電子機器に関し、人の手などの動作の画像を認識して、電子機器の遠隔操作を行うための電子機器に関する。
【0002】
1980年代に赤外線リモートコントローラ(通称リモコン)がテレビジョン受像機をはじめとする家電機器に付属するようになり、手元で制御できるユーザインターフェースが広く普及し、家電製品の利用形態を大きく変貌させた。現在においてもこの操作形態が主流であるが、リモコンは一機能を一押しで実行する仕組みが基本となっており、例えばテレビジョン受像機では、「電源」「チャンネル」「音量」「入力切替」などのキーがそれに該当し、これまでのテレビジョン受像機にとって大変便利な遠隔の操作方法であった。
【0003】
しかしながら、リモコンが手元にない場合やリモコンの所在が不明な場合、大変不自由を強いられることを経験させられる。これに対して画像の動きや形状を認識して、電源のON/OFFなどの切替操作をする方式が検討されている。例えば手の動きや形状を認識して機器の操作に応用する技術が特開平11−338614号公報(特許文献1)に開示されている。これには手の動きや形状を検出するための検出装置として、専用の赤外線センサやイメージセンサを用いている。
【0004】
一方、最近始まったデータ放送は、所望のメニュー画面を選択するためには、リモコンの「上」「下」「左」「右」や「決定」キーを何度も押下する必要があり、リモコンでの操作は煩雑で使いづらくなっている。また、EPG(電子プログラムガイド)は、マトリクスに配列された案内画面から所望の位置を選択して、キーを押下するため、データ放送と同様の課題を有している。そして、このきめ細かな選択操作に対しても同様に画像の動きや形状の認識を活用し、多様な操作に対応できる方式が望まれている。
【0005】
特開2003−283866号公報(特許文献2)には、このような課題を解決するために、マウスまたはこれに類似した位置指定操作装置を使って得られる位置指定情報を、キー押下信号の時系列パターンであるキー押下時系列符号に符号化し、そのキー押下時系列符号をテレビジョン受像機に送信するようにした制御装置が提案されている。
【特許文献1】特開平11−338614号公報
【特許文献2】特開2003−283866号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
テレビジョン受像機など一般民生用AV機器(オーディオ機器やビデオ機器)では、従来リモコンを活用して遠隔操作を実現している。従って、リモコンが手元にない場合、例えば電源をONにする時は、リモコンの所在を確認してリモコンを取得し、該当するキーを選択操作する動作が必要であり、ユーザは不便を感じる。またリモコンの所在が分からない場合は、テレビジョン受像機本体の主電源のスイッチで電源をONにしなければならない。これらは往々にしてよく経験するリモコン操作に関する問題点である。
【0007】
一方電源をOFFにすることについても、リモコンがすでに手元にある場合はリモコンを大変便利に活用し、テレビジョン受像機の電源をOFFにできる。しかし、席を少し離れた場合などでリモコンが手元にない場合は、電源をONにする時と同様の課題がある。
【0008】
特許文献1に記載された制御方式に利用される動作は、円運動、上下運動、左右運動といった容易な動作であり、画像認識による操作が実現出来れば大変使い勝手の良い操作方法である。しかしながら、動作が容易である分、誤認識に対する耐性の問題のほか、妥当な規模での装置の実現や、他の画像認識処理装置との共通化の面で困難な課題を持っている。
【0009】
特許文献2に示された制御装置は、パーソナルコンピュータ(パソコン)の操作と酷似したポインティングを操作することにより、テレビジョン受像機を遠隔操作するものである。従って、パソコンを利用しない人にとっては使いづらいものとなり、情報リテラシー(情報を使いこなす能力)の観点から、パソコンの使い勝手をそのまま電子機器に導入することには無理がある。そこで、遠隔操作が求められる今日のテレビジョン受像機の利用形態にマッチした新たな操作手段が必要になっている。
【0010】
電源のON/OFFから2段階の選択操作の画像認識やメニュー画面選択などの多様な選択操作が求められる画像認識にまで、同じ手段を使い且つ妥当な装置規模で新たな操作手段が実現できることは、低廉な民生機器を提供する上で重要な課題である。また簡単な画像認識動作は、誤認識を生みやすく、例えばテレビを見ているさなかに認識動作に似た振る舞いで電源がOFFになるような致命的な誤作動を起こす可能性を含んでいる。
【0011】
本発明はこのような課題をふまえてなされたもので、画像認識を用いて電子機器を制御するに際に、認識のための単純な動作をノイズなどの影響を受けることなく更に正しく検出できる、電子機器を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記した課題を解決するために本発明は、次の(a)〜(f)の電子機器を提供するものである。
(a)電子機器において、表示装置23と、前記表示装置の前に位置する操作者3を撮影するビデオカメラ2と、前記ビデオカメラより出力された画像の画面を水平方向にN(Nは2以上の整数)分割、垂直方向にM(Mは2以上の整数)分割した複数の検出領域それぞれに対応して設けた複数の検出器を有し、前記複数の検出器を用いて前記ビデオカメラによって撮影された前記操作者が行う動作に基づいた第1の検出信号を発生する検出部19と、前記複数の検出器それぞれを前記複数の検出領域に対応させて動作させるためのタイミングパルスを供給するタイミングパルス発生器12と、前記第1の検出信号に基づいて第2の検出信号を生成する生成器20−1〜20−5と、前記第2の検出信号それぞれを所定の期間累積加算した加算値が、予め定めた閾値を超えるとフラグを生成するフラグ生成器20と前記複数の検出器の内、前記複数の検出領域の内の一部の検出領域に対応する検出器から出力された第1の検出信号に基づく第2の検出信号を有効とすると共に、他の検出器から出力された第1の検出信号に基づく第2の検出信号を無効とするよう制御する制御器20とを備え、前記タイミングパルス発生器は、前記フラグ生成器が前記フラグを生成した後の所定の期間、前記複数の検出器の内、前記フラグが生成された特定の検出器と、前記特定の検出器に対応した特定の検出領域に隣接する検出領域を少なくとも含む前記特定の検出領域の近傍の検出領域に対応する検出器とに対して選択的に前記タイミングパルスを供給することを特徴とする電子機器。
(b)前記ビデオカメラより出力された画像の画面を水平方向にN分割した検出領域に対応したN個の第1の検出器317〜325と、垂直方向にM分割した検出領域に対応したM個の第2の検出器301〜316とを備え、前記タイミングパルス発生器は、前記フラグ生成器が前記フラグを生成した後の所定の期間、前記制御器の制御に基づいて前記N個の第1の検出器または前記M個の第2の検出器に供給するタイミングパルスの幅を前記操作者が行う動作に応じて狭くすることを特徴とする(a)記載の電子機器。
(c)前記ビデオカメラより出力された画像の画面を水平方向にN分割、垂直方向にM分割して設けたN×M個の検出領域に対応したN×M個の検出器を備え、前記制御器は、前記フラグ生成器が前記フラグを生成した後の所定の期間、前記N×M個の検出器の内、前記フラグが生成された特定の検出器から出力された第1の検出信号に基づく第2の検出信号と、前記特定の検出器に対応した特定の検出領域に隣接する検出領域を少なくとも含む前記特定の検出領域の近傍の検出領域に対応する検出器から出力された第1の検出信号に基づく第2の検出信号とを有効とし、他の検出器から出力された第1の検出信号に基づく第2の検出信号を無効とするように制御することを特徴とする(a)記載の電子機器。
(d)前記電子機器は、前記ビデオカメラで撮影された画像の鏡像変換を行う鏡像変換器14と、少なくとも1つの操作用画像を生成する操作用画像生成器16と、前記鏡像変換器より出力された鏡像変換画像信号と前記操作用画像生成器より出力された操作用画像信号とを混合する混合器17とを備え、前記検出部は、前記混合器により混合された画像を前記表示装置に表示させた状態で、前記表示装置に表示された前記操作者が前記操作用画像を操作する所定の動作に対応した前記第1の検出信号を発生することを特徴とする(a)ないし(c)のいずれか一項に記載の電子機器。
(e)前記検出部は、前記ビデオカメラによって撮影された対象物を縦方向に移動させる第1の動作を検出した際に生成される第1の基準信号波形に対応するタップ係数と前記第2の検出信号とを乗算するデジタルフィルタknと、前記デジタルフィルタより出力される信号波形に基づいて前記操作者が行う動作が前記第1の動作であるか否かを検出する動作検出器20−1〜20−5とを備えることを特徴とする(a)ないし(d)のいずれか一項に記載の電子機器。
(f)前記検出部は、前記ビデオカメラによって撮影された対象物を横方向に移動させる第2の動作を検出した際に生成される第2の基準信号波形に対応するタップ係数と前記第2の検出信号とを乗算するデジタルフィルタknと、前記デジタルフィルタより出力される信号波形に基づいて前記操作者が行う動作が前記第2の動作であるか否かを検出する動作検出器20−1〜20−5とを備えることを特徴とする(a)ないし(d)のいずれか一項に記載の電子機器。
【発明の効果】
【0013】
本発明によれば、画像認識を用いて電子機器を制御するに際に、認識のための単純な動作をノイズなどの影響を受けることなく更に確実に検出できる。
【発明を実施するための最良の形態】
【0014】
本発明の一実施形態を図面を参照して以下に説明する。
図1は、従来のリモコン装置による操作形態と、本発明の操作形態との違いを説明するための図である。ユーザ(操作者)3が、テレビジョン受像機1を操作する場合、従来はユーザ3がリモコン装置4を手に持って所望の機能を働かせるキーをテレビジョン受像機1に向けて押下することによって操作がなされる。従って、リモコン装置4が無ければ操作が出来ず、不便を強いられる場合を時々経験する。
【0015】
本実施形態では、図1に示すようにテレビジョン受像機1にビデオカメラ2が設けられており、ビデオカメラ2によりユーザ3が撮影され、ビデオカメラ2の画像からユーザ3の動作を検出して、テレビジョン受像機1及びそれに関連する機器の操作が行われる。
検出されるユーザ3の動作とは、具体的にはテレビジョン受像機1の電源ON/OFF制御やメニュー画面の表示/非表示の制御、メニュー画面から所望のボタンを選択する制御に対応した、ユーザ3の身体(手、足、顔など)を使った特定の動作であり、この特定の動作を検出することで電子機器の操作を行う。本実施形態ではもっとも現実的な手の動きで操作する方法について、説明する。
【0016】
図2は、テレビジョン受像機1の構成を示すブロック図である。テレビジョン受像機1は、基準同期発生器11、タイミングパルス発生器12、グラフィックス生成器16、ビデオカメラ2、鏡像変換器14、スケーラ15、第1の混合器17、画素数変換器21、第2の混合器22、表示装置23、検出部19、及び制御情報判断器(CPU)20を備えている。
【0017】
基準同期発生器11は、テレビジョン受像機1の基準になる水平周期パルスと垂直周期パルスを発生させる。テレビジョン放送受信時や外部の機器から映像信号が入力されている場合は、その入力信号の同期信号に同期するパルスを生成する。タイミングパルス発生器12は、後述する図4に示す各検出ブロック(検出領域)で必要とする水平方向と垂直方向の任意の位相と幅を有するパルスを生成する。
ビデオカメラ2は、図1に示すようにテレビジョン受像機1の前面に位置してユーザ(操作者)3、またはテレビジョン受像機1の前の映像を撮影する。ビデオカメラ2の出力信号は、輝度(Y)信号、及び色差(R−Y、B−Y)信号で、基準同期発生器11から出力される水平周期パルス及び垂直周期パルスに同期している。また、本実施形態では、ビデオカメラ2で撮像される画像の画素数は、表示装置23の画素数と一致しているものとする。なお、画素数が一致していない場合は画素数変換器を挿入し画素数を一致させればよい。
【0018】
鏡像変換器14は、ビデオカメラ2で撮影した被写体像(ユーザ3)を表示装置23上に鏡と同じように左右を反転して表示するためのものである。従って、文字を表示する場合は鏡と同じように左右が反転することになる。本実施形態では、メモリを活用して水平方向の画像を反転させる手法により鏡像変換が行われる。
表示装置23としてCRT(Cathode Ray Tube、陰極線管)を用いる場合には、水平偏向を逆に操作することで同様の効果が得られる。その場合には、グラフィックスやその他混合する側の画像をあらかじめ水平方向に左右逆転しておく必要がある。
【0019】
スケーラ15は、ビデオカメラ2により撮影した被写体像の大きさを調整するもので、制御情報判断器(CPU)20の制御で拡大率と縮小率を2次元で調整する。また、拡大縮小を行わずに、水平と垂直の位相調整を行うこともできる。
【0020】
グラフィックス生成器16は、制御情報判断器(CPU)20から転送されるメニュー画面を展開するもので、メモリ上の信号がR(赤)信号、G(緑)信号、B(青)信号の原色信号で展開されていても、後段で映像信号と合成または混合される出力信号は、輝度(Y)信号と色差(R−Y、B−Y)信号とする。また生成されるグラフィックスのプレーン数は限定するものではないが、説明に要するものは1プレーンである。
画素数は、本実施形態では表示装置23の画素数に一致させるようにしている。一致していない場合は、画素数変換器を入れて一致させる必要がある。
【0021】
第1の混合器17は、グラフィックス生成器16の出力信号Gsと、スケーラ15の出力信号S1とを、制御値α1により混合割合を制御して混合する。具体的には、下記式で出力信号M1oが表される。
M1o=α1・S1+(1−α1)・Gs
制御値α1は、「0」から「1」の間の値に設定され、制御値α1を大きくするとスケーラ14の出力信号S1の割合が大きくなり、グラフィックス生成器16の出力信号Gsの割合が小さくなる。混合器の例としてはこれに限らないが、本実施形態では、入力される2系統の信号情報が入っていれば同様の効果が得られる。
【0022】
検出部19は、第1の検出器301、第2の検出器302、第3の検出器303、…、第nの検出器(300+n)からなる。検出部19に含まれる検出器は数を特定するものではないが、本発明の第1実施形態においては25個の検出器を備え、それらは後述する水平方向のタイミングで機能する第1の検出器301〜第16の検出器316の16個と、垂直方向のタイミングで機能する第17の検出器317〜第25の検出器325の9個からなる。
検出器の数はこれに限定されるものではなく、検出精度を上げるためには検出器の数は多いほどよいが、処理規模との関係で数を調整することが好ましい。第1実施形態では25個、第2実施形態では144個の検出器を用いる。
【0023】
制御情報判断器(CPU)20は、検出部19から出力されるデータの解析を行い、各種制御信号を出力する。制御情報判断器20の処理内容は、ソフトウェアで実現するものとなり、アルゴリズムについては詳細に後述する。本実施形態では、ハードウェア(各機能ブロック)による処理と、ソフトウェア(CPU20上で展開)による処理が混在するが、特にここで示す切り分けに限定するものではない。
【0024】
画素数変換器21は、外部から入力される外部入力信号の画素数と表示装置23の画素数を合わせるための画素数変換を行う。外部入力信号は、放送されているテレビ信号(データ放送なども含む)やビデオ(VTR)入力など、テレビジョン受像機の外部から入力されてくる信号を想定している。外部入力信号の同期系については、ここでの説明から省いてあるが、同期信号(水平及び垂直)を取得し、基準同期発生器11にて同期を一致させている。
【0025】
第2の混合器22は、第1の混合器17と同様の機能を有する。すなわち、第1の混合器17の出力信号M1oと、画素数変換器21の出力信号S2とを制御値α2で混合割合を制御して混合する。具体的には、下記式で出力信号M2oが表される。
M2o=α2・M1o+(1−α2)・S2
制御値α2は、「0」から「1」の間の値に設定され、制御値α2を大きくすると第1の混合器17の出力信号M1oの割合が大きくなり、画素数変換器21の出力信号S2の割合が小さくなる。混合器の例としてはこれに限らないが、本実施形態では、入力される2系統の信号情報が入っていれば同様の効果が得られる。
【0026】
表示装置23は、CRT、液晶ディスプレイ(LCD)、プラズマディスプレイ(PDP)、あるいはプロジェクションディスプレイなどを想定しているが、ディスプレイの表示方式を限定するものではない。表示装置23の入力信号は、輝度信号と、色差信号であり、表示装置23の内部にてRGB原色信号にマトリクス変換されて表示される。
【0027】
以上のように構成されたテレビジョン受像機1の動作を、ユーザ3の動作を交えて説明する。図3はユーザ3が行う手の動作と、その動作に対応するテレビジョン受像機1の制御内容について説明するための図である。図3(A)には、テレビジョン受像機1の前に立ったユーザ3が行う手の動作のイメージが矢印で示されている。本実施形態ではユーザ3が行う動作を、「手を縦(上下)に振る」、「手を横(左右)に振る」の2つの動作とする。
図3(B)(1)〜(B)(3)(以降、(B)(1)をB−1と示す。他も同様)は、ユーザ3が行う手の動作に対応した制御が実行されたテレビジョン受像機1の、表示装置23に表示される内容の移り変わりをそれぞれ示す。本実施形態の場合、テレビジョン受像機1に対する制御内容は、「電源をOFFからONにする」、「メニュー画面を表示させる」、「メニュー画面を消す」、「電源をONからOFFにする」の3つの制御である。
ユーザ3が行う手の動作とテレビジョン受像機1の制御内容との対応関係は、ユーザ3が「手を縦に振る」動作は、「テレビジョン受像機1の電源がOFFの場合、電源がONになる」及び「テレビジョン受像機1の電源がONの場合、メニュー画面が表示される」制御に対応する。「手を横に振る」動作は、「テレビジョン受像機1がどのような画面状態であっても電源をOFFにする」制御に対応する。
【0028】
図3(B−1)は、テレビジョン受像機1の電源がOFFのままで、表示装置23には何も表示されていない状態を示している。この状態でユーザ3が手を縦(上下)に振ると、その動作がビデオカメラ2によってとらえられ、テレビジョン受像機1の電源がONになり、表示装置23には図3(B−2)に示すようにテレビ画面(番組)が表示される。
最初、図3(B−1)に示すとおり、表示装置23には何も表示されていないので、ユーザ3はビデオカメラ2によって撮影された自身の映像を確認することができない。そのためユーザ3は、ビデオカメラ2に必ず写る位置に立っていることが必須であり、テレビジョン受像機1は、ビデオカメラ2によって撮影されたビデオ画像内のどこにユーザ3がとらえられても、ユーザ3の動作を認識できる必要がある。この場合、表示装置23とグラフィックス生成器16は無くても支障はない。
【0029】
さらに、表示装置23に図3(B−2)に示すテレビ画面が表示されている状態(視聴状態)で、ユーザ3が手を縦(上下)に振ると、表示装置23の表示内容は図3(B−3)に示すメニュー画面に変わり、ここからチャンネル変更などの選択動作に移ることになる。この場合も、表示装置23は初めはテレビ画面を表示しているだけであり、ユーザ3がビデオカメラ2によって撮られた自分の映像を表示装置23に表示させて確認することはできない。従って上記同様、テレビジョン受像機1はユーザ3がビデオカメラ2によって撮影された画像のどこにいても、ユーザ3の動作を認識しなくてはならない。
表示装置23がテレビ画面を表示している状態(図3(B−2))で、ユーザ3が手を横(左右)に振った時は、テレビジョン受像機1の電源がOFFになり、図3(B−1)に示す状態になる。メニュー・データ放送・EPGなどのあらゆる画面を表示している状態(図3(B−3))で、ユーザ3が手を横に振った時は、図3(B−2)に示す状態、あるいは図3(B−1)に示す状態になる。
【0030】
本実施形態で採用する手を縦や横に振る動作は、人が日常に行う動作内容であり、縦に手を振る動作は一般に「来い来い(コイコイ)」と呼びかける意味を持っており、先に述べたように次の状態に入る(移る)という意味づけにおいても適切な動作と言える。また、横に手を振る動作は「バイバイ」と別れるときの動作であり、これについても特定の状態から抜け出るという意味づけにおいて適切な動作と言える。この動作の意味づけは国や人種によって異なるために、他の動作を採用する場合も考えられるが、出来るだけ動作の意味づけにそっていることが使いやすさの面から好ましい。
【0031】
ここでは簡単な分かりやすいテレビジョン受像機1の制御例をあげたが、テレビジョン受像機1の有する機能に基づいて、商品企画に合わせて適宜制御内容を変えればよい。
また、ビデオカメラ2の撮影範囲は、テレビジョン受像機1の電源をOFFからONにさせる場合は、ユーザ3が最適視聴ポイントから離れている場合を考慮し、広角にして出来るだけ動作を認識する範囲を広くすることが好ましい。そしてテレビ番組を視聴している状態からメニュー画面などに表示画面を変えるときは、ユーザ3は最適視聴ポジションに近い位置に位置していることが考えられるので、ビデオカメラ2の撮影範囲はある程度絞ることが可能である。
【0032】
図4は、ユーザ3の手の動作を検出する検出領域を説明するための図である。図4は、ビデオカメラ2にて撮影されたユーザ3の映像と、水平方向x及び垂直方向yの座標とを示す。本実施形態では、ビデオカメラ2より出力された画像の画面を水平方向に16分割、垂直方向に9分割して設けた複数の検出領域で、ユーザ3の手の動作を認識する。図4に示すとおり、画像を表示装置23に表示させた水平:垂直が16:9のアスペクト比であるテレビジョン受像機1では、既述したように画面を水平16、垂直9に分割すると、垂直(y軸)方向と水平(x軸)方向との分割によって形成される1つの区画は正方形になる。各分割数は2以上の整数で、適宜設定すればよい。
ユーザ3による手の動作を検出する際に、画面をx軸方向に分割して設けた16個の検出領域と、y軸方向に分割して設けた9個の検出領域との、全25個の検出領域(1次元)を用いる場合と、画面をx軸方向に16分割、y軸方向に9分割して、これらの分割によって形成された1つの区画を1つの検出領域とする、全144個の検出領域(2次元)を用いる場合とが考えられる。検出領域が25個であれば、ハードの規模を削減でき好ましい。また、検出領域を144個として処理する場合でも、各検出領域からの情報をx軸とy軸それぞれの情報に変換すれば検出領域が25個のときと同様な処理が適応できる。
【0033】
まず、本発明の第1実施形態として、画面に全25個の検出領域を設ける場合について説明する。図5は、ビデオカメラ2より出力された画像の画面をy軸方向に9個に分割した検出領域について説明するための図である。図5は、ビデオカメラ2で撮影されたユーザ3の手の画像と、y軸方向に分割された破線の四角形で示す9個の検出領域と、タイミングパルスとを示し、更に各検出領域それぞれに対応する第17の検出器317〜第25の検出器325(y軸検出器)を示す。
各検出領域にはy軸方向の画面の中心を0として、−4〜+4までの位置関係を示す座標が付されている。y軸の座標が−4の検出領域には第17の検出器317、−3の検出領域には第18の検出器318、−2の検出領域には第19の検出器319がそれぞれ対応し、y軸の座標が−1〜+4の各検出領域には、第20の検出器320〜第25の検出器325がそれぞれ対応する。各y軸検出器317〜325は、ユーザ3が行う手の動作に基づいた検出信号を発生する検出器である。
【0034】
各y軸検出器317〜325は、タイミングパルス発生器12から供給されるタイミングパルスによって動作する。図5には、第19の検出器319をy軸の座標が−2の検出領域に対応させて動作させるためのタイミングパルスと、第25の検出器325をy軸の座標が4の検出領域に対応させて動作させるためのタイミングパルスとのそれぞれを、y軸(垂直)方向とx軸(水平)方向共に示す。
x軸方向に示すタイミングパルスは有効映像期間の水平方向の幅に相当する幅を有するパルスとなり、y軸方向に示すタイミングパルスは有効映像期間の垂直方向の幅を9個に分割した幅に相当するパルスである。その他の各y軸検出器にも、同様のタイミングパルスがそれぞれ入力される。
【0035】
図6は、ビデオカメラ2より出力された画像の画面をx軸方向に16個に分割した検出領域について説明するための図である。図6は、ビデオカメラ2で撮影されたユーザ3の手の画像と、x軸方向に分割された破線の四角形で示す16個の検出領域と、タイミングパルスとを示し、更に各検出領域それぞれに対応する第1の検出器301〜第16の検出器316(x軸検出器)を示す。
各検出領域にはx軸方向の画面のほぼ中心を0として、−8〜+7までの位置関係を示す座標が付されている。x軸の座標が−8の検出領域には第1の検出器301、−7の検出領域には第2の検出器302、−6の検出領域には第3の検出器303がそれぞれ対応し、x軸の座標が−5〜+7の各検出領域には、第4の検出器304〜第16の検出器316がそれぞれ対応する。各x軸検出器301〜316は、ユーザ3が行う手の動作に基づいた検出信号を発生する検出器である。
【0036】
各x軸検出器301〜316は、タイミングパルス発生器12から供給されるタイミングパルスによって動作する。図6には、第2の検出器302をx軸の座標が−7の検出領域に対応させて動作させるためのタイミングパルスと、第16の検出器316をx軸の座標が7の検出領域に対応させて動作させるためのタイミングパルスとのそれぞれを、x軸(水平)方向とy軸(垂直)方向共に示す。y軸に示すタイミングパルスは有効映像期間の垂直方向の幅に相当する幅を有するパルスとなり、x軸に示すタイミングパルスは有効映像期間の水平方向の幅を16個に分割した幅に相当するパルスである。その他のx軸検出器にも、同様のタイミングパルスがそれぞれ入力される。
【0037】
第1の検出器301〜第25の検出器325は、図7に示すように、それぞれ第1のオブジェクト抽出器51と、タイミングゲート器52と、オブジェクト特徴データ検出部53とを備えている。タイミングゲート器52は、図5及び図6に示したようなタイミングパルスに従い、ビデオカメラ2からの画像信号の通過を制御する。
画像信号が通過する領域は、図5及び図6に破線の四角形で示す各検出領域内になる。この検出領域内に限定した信号に、後述するさまざまなフィルタ処理を行い、ビデオカメラ2で捉えたユーザ3の手を抽出する。
【0038】
第1のオブジェクト抽出器51は、画像の特徴に添ったフィルタを備えており、本実施形態ではユーザ3の手を検出するために、特に肌色に着目したフィルタ処理及び動きを検出する動作検出フィルタ処理を行う。第1のオブジェクト抽出器51は、具体的には、図8に示すように、特定色フィルタ71と、階調限定器72と、動作検出フィルタ75と、合成器73と、オブジェクトゲート器74とを備えている。
特定色フィルタ71について図9を参照して説明する。図9は、色差平面図で、縦軸をR−Y、横軸をB−Yとしたものである。テレビ信号のすべての色信号はこの座標上のベクトルで表すことができ、極座標で評価することができる。特定色フィルタ71は、色差信号で入力される色信号の色相と色の濃さ(飽和度)を限定するものである。これを特定するために色相は、第1象限のB−Y軸を基準(0度)として左回りの角度で表現するものとする。また飽和度は、ベクトルのスカラ量となり、色差平面の原点が飽和度0(零)で色がない状態となり、原点から離れるにしたがい飽和度が大きくなり色が濃いことを示す。
【0039】
図9では、特定色フィルタ71により抽出される範囲は、等色相線L1に対応する角度θ1より小さくかつ等色相線L2に対応する角度θ2の範囲に設定され、また色の濃さは等飽和度線L3より大きくL4より小さい範囲に設定されている。第2象限のこの範囲は、本実施形態で抽出する人間の手の色である肌色の領域に相当するが、抽出する色の領域は特にこれに限定するものではない。
特定色フィルタ71は、ビデオカメラ2から入力される色差信号(R−Y、B−Y)から角度と飽和度を算出し、色差信号が等色相線と等飽和度線で囲まれた領域に入っているか否かを検出する。
【0040】
角度算出は、一例として図10にフローチャートで示すような角度算出処理によって、入力画素それぞれについて、図9に示す色差平面上でなす角度を算出する。本実施形態では、角度算出処理をハードウェアで実現しているが、ソフトウェア、ハードウェアのいずれで実現してもよい。
初めに図10に示すステップS401にて、入力画素それぞれの色差信号R−Y,B−Y成分の符号より、入力画素の色相が、色差平面上の第何象限に位置しているかを検出する。
次にステップS402にて、色差信号R−Y,B−Y成分それぞれの絶対値|R−Y|、|B−Y|を比較して、大きいほうをA、小さいほうをBとして算出する。
【0041】
そして、ステップS403にて、B/Aより角度T1を検出する。この角度T1は、ステップS402での処理より明らかなように、0°〜45°となる。角度T1は、折れ線近似やROMテーブルによって算出することができる。
ステップS404にて、Aが|R−Y|であるか、即ち、|R−Y|>|B−Y|であるか否かを判定する。判定がNO、つまり|R−Y|>|B−Y|でなければ、そのままステップS406に進む。判定がYES、つまり|R−Y|>|B−Y|であれば、ステップS405に進み、角度T1を、(90−T1)なる角度Tに置き換える。これによって、tan-1((R−Y)/(B−Y))が求められる。
【0042】
ステップS403において検出する角度T1を0°〜45°としているのは、tan-1((R−Y)/(B−Y))のカーブは45°を超えると急激に勾配が大きくなり、角度の算出に不適であるからである。
さらに、ステップS406にて、ステップS401にて検出した象限のデータを用いて第2象限か否かを判定し、第2象限であれば、ステップS407に進み、T=180−T1を算出する。第2象限でなければ、ステップS408に進み、第3象限か否かを判定し、第3象限であれば、ステップS409に進み、T=180+T1を算出する。
第3象限でなければ、ステップS410に進み、第4象限か否かを判定し、第4象限であれば、ステップS411に進み、T=360−T1を算出する。第4象限でもない、すなわち第1象限であるときは、ステップS412にて角度TをT1とする。そして、最終的に、ステップS413にて、入力画素それぞれの図9の色差平面上でなす角度Tを出力する。
【0043】
以上の処理により、入力された色差信号R−Y,B−Yの色差平面上での角度を0°〜360°の範囲で求めることができる。ステップS404〜S411は、ステップS403にて検出した角度T1を角度Tに補正する処理である。また、ステップS404〜S411は、角度T1を、第1象限〜第4象限に応じて補正している。
【0044】
次に色の濃さである飽和度の算出は、下記の式により行われる。
Vc=sqrt(Cr×Cr+Cb×Cb)
Vcはベクトルのスカラ量であり、ここでは飽和度を表す。Crは、図9に示すように色信号の(R−Y)軸成分であり、Cbは(B−Y)軸成分である。またsqrt( )は平方根の演算を行う演算子である。
【0045】
ここでの処理はソフトウェアまたはハードウェアを特定するものではないが、乗算と平方根はハードウェアでは実現が容易でなく、またソフトウェアでも演算のステップが多く、好ましくないので以下のように近似することもできる。
Vc=max(|Cr|,|Cb|)+0.4×min(|Cr|,|Cb|)
ただし、max(|Cr|,|Cb|)は、|Cr|と|Cb|のうち、大きいほうを選択する演算処理であり、min(|Cr|,|Cb|)は、|Cr|と|Cb|のうち、小さいほうを選択する演算処理である。
【0046】
以上より求めた角度(色相)Tと飽和度Vcが、等色相線の角度θ1からθ2の範囲、色の濃さは等飽和度線L4より小さくかつL3より大きい範囲に入っているか否かを評価する。この範囲に入っている信号を通過させるのが、図8に示す特定色フィルタ71の役割である。
【0047】
図8の階調限定器72は、図11に示すように、輝度信号の特定の階調の範囲を限定する。8ビットデジタル信号の場合、0〜255までの256階調において階調の最大レベルLmax及び最小レベルLminを任意に設定し、LmaxからLminの間に含まれる階調レベルの輝度信号を出力する。
【0048】
図8の動作検出フィルタ75について、図12及び図13を使って説明する。動作検出フィルタ75は、図12に示すように、1フレーム遅延器75−1と、減算器75−2と、絶対値器75−3と、非線形処理器75−4と、量子化器75−5とを備えており、入力される輝度信号から画像の動きを検出する。
1フレーム遅延器75−1でビデオカメラ2からの画像信号は1フレーム遅延され、減算器75−2に入力される。減算器75−2は、ビデオカメラ2からの画像信号と1フレーム遅延器75−1からの画像信号との差分を算出し、絶対値器75−3に出力する。減算の符号の向きは、特に規定するものではない。差分信号は信号のレベルによって正負の両方の値が出力されるため、絶対値器75−3は、減算器75−2から入力される差分値を絶対値化して、非線形処理器75−4に出力する。
【0049】
非線形処理器75−4は、入力された絶対値化された差分信号に対して、図13に示す入出力特性に基づいて非線形処理を施す。図13(A)において、横軸は絶対値器75−3から入力された絶対値化された差分信号を、縦軸は非線形処理器75−4から出力される信号を示す。a値及びb値は、それぞれ範囲R1及びR2の範囲内で可変できる。
非線形処理器75−4の出力信号は量子化器75−5に入力され、図13(B)に示す所定の閾値に基づいて2値化される。
【0050】
図8の合成器73は、特定色フィルタ71と階調限定器72と動作検出フィルタ75とから入力される信号を合成し、領域パルスに変換する。本実施形態では、特定色フィルタ71を通過した信号と階調限定器72を通過した信号と動作検出フィルタ75を通過した信号とが全て存在する場合に、ハイレベルとなる領域パルスを出力する。
【0051】
合成器73で生成された領域パルスは、オブジェクトゲート器74に供給される。オブジェクトゲート器74は、領域パルスがハイレベルであるとき、輝度信号と色差信号を通過させる。領域パルスがローレベル(領域パルス外の範囲)であるときは、入力信号(輝度信号及び色差信号)を通過させず、規定した値の信号を出力する。本実施形態では、黒レベルの輝度信号及び飽和度0の色差信号を出力する。
【0052】
特定色フィルタ71は、色差信号で入力される色信号の色相(角度)と飽和度を限定し、階調限定器72は輝度信号の特定の階調の範囲を限定し、動作検出フィルタ75は輝度信号を画像の動きに応じて限定する。
特定色フィルタ71で色相と飽和度を限定することで、人の肌色に絞ることはできるが、人の肌は日焼け具合で変化し、また人種によっても異なるため、肌色といってもさまざまである。従って、制御情報判断器20より入力される制御信号によって、特定色フィルタ71で色相、飽和度を調整し、階調限定器72で輝度信号の階調限定の範囲を調整すれば、槻ね人の手を検出することができる。更に、動作検出フィルタ75によって、画像の動きに基づいて人の手を抽出し、識別することができる。
【0053】
図14(A)は、第1のオブジェクト抽出器51の出力信号が、表示装置23に表示されている図である。ビデオカメラ2で撮影された画像において、手の画像は第1のオブジェクト抽出器51によって抽出された信号に基づいて表示され、手の画像以外のところは輝度信号を黒レベルとしたため、何も表示されていない。この抽出された信号から、画像の持つ特徴と画面上の位置及び動作の内容を分析し、ユーザ3が意図的な動作をしたことを認識する。
図14(B)には、各検出領域に対応して設けられた各検出器を動作させるためのタイミングパルスに基づいて、図7のタイミングゲート器52でゲートされた映像信号による映像を示す。ここには代表例として、y軸座標が0(零)の検出領域に対応する第21の検出器321と、y軸座標が−1の検出領域に対応する第20の検出器320それぞれの、タイミングゲート器52からの出力信号を示す。
【0054】
図14(A)に示す画像の信号から、さらにその特徴を検出するフィルタ処理を、オブジェクト特徴データ検出部53が行う。オブジェクト特徴データ検出部53は、図15に示すように、画像からさまざまな特徴を検出する機能ブロック、すなわちヒストグラム検出器61、平均輝度(APL)検出器62、高域発生量検出器63、最小値検出器64及び最大値検出器65を備える。この他にも画像を特徴づける要件はあるが、本実施形態ではこれらの検出器61〜65より発生される検出信号に基づいて、第1の動作検出器20−1〜第5の動作検出器20−5によって検出領域において検出された手の領域を示す検出信号を生成し、映像信号が手を映したものであることを判別すると共に、その手の動作を認識する。
【0055】
ヒストグラム検出器61、平均輝度(APL)検出器62、高域発生量検出器63、最小値検出器64及び最大値検出器65は、本実施形態ではハードウェアにて構成され、空間内の検出領域内の各特徴を表すデータ(検出信号)を画面単位(フィールド及びフレーム単位:垂直周期単位)で生成して、CPUバスを介して制御情報判断器20へと送出する。
制御情報判断器20は、各検出器61〜65から送られたデータをソフトウェア上で変数として格納し、データ処理を行う。
【0056】
ヒストグラム検出器61は、タイミングゲート器52から出力された輝度信号の階調を例えば8ステップに区切って各ステップに存在する画素の数をカウントし、1画面(1フィールドまたは1フレーム画面)ごとにヒストグラムを示すデータを第1の動作検出器20−1へ出力する。平均輝度検出器62は、同様に1画面内の輝度レベルを加算し、全画素数で割った1画面の平均輝度値を第2の動作検出器20−2へ出力する。
高域発生量検出器63は、空間フィルタ(2次元フィルタ)にて高域成分を抽出し、1画面内における高域成分の発生量を第3の動作検出器20−3に出力する。最小値検出器64は、1画面の輝度信号の最小階調値を、また最大値検出器65は1画面内の輝度信号の最大階調値をそれぞれ、第4の動作検出器20−4,第5の動作検出器20−5へ出力する。
【0057】
第1の動作検出器20−1〜第5の動作検出器20−5は、受け取ったデータを変数として格納し、ソフトウェアにてデータを処理する。後述する手の動作を検出する処理は、本実施形態ではソフトウェアによる処理となる。制御情報判断器20は、更に第1の動作検出器20−1〜第5の動作検出器20−5からの検出信号を基に、制御信号を発生する制御情報発生器20−10を備える。
【0058】
図16には、オブジェクト特徴データ検出部53のうち、ヒストグラム検出器61と平均輝度検出器62から出力されるデータをモデル化したものを示す。図16は横軸を0〜7までの8ステップに区切った階調(明るさ)とし、縦紬を頻度としたヒストグラムである。平均輝度(APL)は、大きさが感覚的に分かるように矢印で示した。
図16(A)は、図14(B)の第20の検出器320を構成するヒストグラム検出器61と平均輝度検出器62の出力を示す。図14(B)に示すとおり、第20の検出器320では検出領域に手がかざされていないため、第1のオブジェクト抽出器51で手が検出されず、第1のオブジェクト抽出器51から出力された信号は黒レベルでマスキングされている。従って、図16(A)に示すヒストグラムは最低階調(0)の部分のみのデータとなっている。また基本的に信号が黒なのでAPLは0(零)であるが、信号レベルの低さを明示するために短い矢印とした。
【0059】
図16(B)は、図14(B)の第21の検出器321を構成するヒストグラム検出器61と平均輝度検出器62の出力を示す。図14(A)に示すとおり、第21の検出器321では検出領域にかざされた手を第1のオブジェクト抽出器51で検出しているので、図16(B)に示すヒストグラム検出器61の出力はマスキングされている黒レベルの階調0以外に、手の明るさの階調に頻度が分布する。またAPLについても、手の信号成分により平均輝度が上昇するため長い矢印で示した。
本実施形態では、ヒストグラム検出器61から出力されるデータの、最低階調(0)以外の総和を求めて、検出領域にかざされている手の領域を示すデータとする。すなわち、検出領域に対応して設けられた検出器のオブジェクト抽出器51が動作している手を抽出した出力信号を基にヒストグラム検出器61が第1の検出データを発生させ、第1の動作検出器20−1が第1の検出データに基づいて、検出領域から抽出された手の領域を示す第2の検出データを生成する。
またヒストグラム検出器61によって、黒とそれ以外の成分とを分けた2段階の階調から頻度を算出することでも、所定の動作を行うことで検出領域にかざされた手を抽出できる。従って、0階調とそれ以外の2階調に簡略化したヒストグラム検出器61からの第1の検出データに基づいて手の領域を示す第2の検出データを求めてもよい。
更に本実施形態では、ヒストグラム検出器61から出力された第1の検出データに基づいて第1の動作検出器20−1において第2の検出データを生成したが、これに限らず、各検出器301〜325が備えるオブジェクト特徴データ検出部53から出力された第1の検出データに基づいて、制御情報判断器20において第2の検出データを生成すればよい。
【0060】
図17は、ビデオカメラ2で撮影される領域内でユーザ3が手を縦(上下)に動かした場合のビデオカメラ2で撮影された手の画像の一例である。手が動く方向を示す矢印及び、画面内に配置された検出領域のxy座標を共に示す。図17(A)、(B)、(C)、(D)に、動いている手の4つの位置を抜き出して示す。図17(A)は最も手が上に存在する場合、図17(B)は手を少し振り下ろした場合、図17(C)はさらに手を振り下ろした場合、図17(D)は最も手が下に存在する場合である。
本実施形態では手を4回上下に動かした。すなわち手を、図17の、(A)(B)(C)(D)(D)(C)(B)(A)を1サイクルとし、4サイクル動かした。このような上下運動の場合、x軸については手はほとんど動かず、同一の座標上にある。一方、y軸については手の座標は上下に変動する。従って、検出されるデータは上下のピークを繰り返した4サイクルになり、各座標の検出領域に対応して設けられた各検出器からの出力データの変動値になって現れる。
【0061】
図18は、図17に示す手の上下運動の検出結果のうち、各検出器301〜325の各ヒストグラム検出器61が出力するデータ値と、それを処理した内容を表にして示す。この表の一番左の列は項目名であり、項目名列の右側には時間の経過と共に変化する各項目のデータ値が示されている。
項目のCycleは上記した手の上下運動の周期(サイクル)を示し、この表では全4サイクルのうち初めの2サイクルまでを書き出して示している。項目のnは画像のフレーム番号を示し、一般的なビデオ信号の場合は60Hz周期となり、インターレースの場合は2フィールドで1フレームとなり1垂直周期を60Hz周期とする。
項目のphは上下運動をしている手が、どのポジションにあるかを示しており、A、B、C、Dはそれぞれ図17の(A)、(B)、(C)、(D)に対応している。項目のx(i)(i=−8〜+7)は、第1の検出器301〜第16の検出器316のヒストグラム検出器61から前述したように得られた、対応する検出領域における第1の検出データに基づく、手の領域を示す第2の検出データをそれぞれ示している。同様に項目のy(j)(j=−4〜+4)は、第17の検出器317〜第25の検出器325のヒストグラム検出器61から得られた、各検出器301〜325に対応する検出領域において抽出された手による第1の検出データに基づく手の領域を示す第2の検出データを示している。なお、項目XVS、XVSG、XG、YVS、YVSG、YGについては各検出器301〜325から得られたデータを処理した内容であり、後で詳細に記述する。
【0062】
図17(A)〜(D)に示した一例では、手は上下方向に動かされており、x軸に関しては動いている手の位置に変化は無いため、項目x(i)のデータは変動しない。図17(A)〜(D)に示すとおり、手はx座標5を中心にx座標4〜6上にあり、図18の表の項目x(4)、x(5)、及びx(6)に手を検出した値が示されている。その他の項目x(i)は、第1のオブジェクト抽出器51でマスキングされているので値は0(零)となっている(フレーム番号11の項目x(1)、y(−2)、y(−3)を除く)。
これはあくまでも理想的な場合で、もしユーザ3の手以外で肌色を示すものが動いていると、手がかざされている検出領域の座標以外の座標においても検出された値が生じ、手の動きの検出にとってはノイズとなる。このようなノイズをいかに抑圧して、手の動作を操作情報として認識するかがポイントとなる。
y軸に関しては、上下に手を動かしているので項目y(j)のデータが変動する。図17(A)では、手はy座標2及び3上にあるため、図18の項目y(2)及びy(3)のフレーム番号0の欄に検出された値が示されている。同様に図17(B)、(C)、及び(D)についても、それぞれの手がかざされているy座標に対応する項目y(j)に、検出されたそれぞれの値が示されている。
【0063】
図18に示す項目x(i)、y(j)のデータ(第2の検出データ)の値は、ヒストグラム検出器61が検出した信号に基づいたものである。本実施形態では画面をx軸方向は16、y軸方向は9に分割して設けた、25個の検出領域が交差する区画の1つを100(領域)という値とし、第1の検出データのスケール調整をした。第2の検出データは、検出領域にかざされた手を抽出した出力信号より生成した第1の検出データに基づいた、検出領域にかざされた手の領域の大きさを示すデータである。
本実施形態では、時間経過に伴う各項目に示されている値の変動、つまり第1の検出器301〜第25の検出器325それぞれの出力に基づく第2の検出データの変動よりも、複数の検出器によって出力された第1の検出データに基づく第2の検出データの総和を基に求める、重心の移動を示すデータの変動が重要となる。従って、かざされた手により複数の検出領域それぞれから抽出される出力信号を基にして、手がかざされている複数の検出領域全体の重心(以下単に「手の重心」という)を求め、それを評価した。
【0064】
フレーム番号をnとするx座標上の手の重心XGは、下記の(1)式で求めることができる。XVSは、各x軸検出器(第1の検出器301〜第16の検出器316)の第2の検出データの総和であり、動作をしている手によって複数の検出領域において第1のオブジェクト抽出器51によって抽出される出力信号に基づいた値である。XVSGは、各x軸検出器の第2の検出データに、対応する検出領域のx座標を掛けて重み付けをした検出データの総和である。
【数1】
【0065】
本実施形態では、図18の項目XGはほとんどのフレームで5になっており(フレーム番号11は除く)、従って手の重心のx座標は5であり、x座標5を中心にデータが広がっている。
【0066】
フレーム番号をnとするy座標上の手の重心YGは、下記の(2)式で求められる。YVSは、各y軸検出器(第17の検出器317〜第25の検出器325)の第2の検出データの総和であり、YVSGは、各y軸検出器の第2の検出データに、対応する検出領域のy座標を掛けて重み付けをした検出データの総和である。
【数2】
【0067】
本実施形態では、図18の項目YGはフレーム番号0において2.5である。これは手の重心のy座標が、2.5であることを示している。その他のフレームについても、項目YGの値がそのフレームにおける手の重心のy座標を示している。本実施形態では項目YGの値は0〜2.5の範囲の値になっており(フレーム番号11は除く)、項目YGの値の変動が座標上の手の上下運動を示している。
【0068】
本実施形態では重心YGの変動を分析して、手の動作を操作情報として認識する。図19は、手の重心の座標の変動を時間の経過にそって表したタイムチャートである。図19(A)が手の重心のy座標の変動、つまり図18の項目YGの値の変動を表しており、0〜2.5の間で4サイクルに渡って波打っていることが示されている。図19(B)が手の重心のx座標の変動、つまり図18の項目XGの値の変動を表している。図17に示すようにx座標5を重心として手は縦に振られており、横方向に変動はないため、原理的には図19(B)に示すとおり一定レベルの直線になる。
【0069】
このx及びyの両軸の波形を分析するわけであるが、これに先だって誤認識に対する保護について説明する。図18に示す表の第1サイクルは、縦に手を振る場合の理想的なデータとなっている。手が抽出されているx座標4、5、及び6以外のx座標の項目x(i)は、データが0(零)である。y座標についても同様に、手が抽出される検出領域以外はデータが0(零)である。しかし、実際は第1のオブジェクト抽出器51でさまざまなフィルタ処理をしてもそれを潜り抜けてきて、手の動作以外の意図しないデータ(ノイズ)が発生する場合が考えられる。
第2サイクルのフレーム番号11では、手に関するデータ以外に、x(1)に対応する検出器に領域100、y(−2)に対応する検出器に領域50、及びy(−3)に対応する検出器に領域50に相当する手(オブジェクト)の領域が各検出領域において検出されたことを示す第2の検出データがある。これらのデータは検出された手の重心座標を狂わせることになる。図17(A)〜(D)に示すように手の重心のx座標は5で一定であるにもかかわらず、フレーム番号11の項目XGの値は3.361を示している。またフレーム番号11の手の重心のy座標は、フレーム番号3と同様に項目YGの値が0(零)であるはずが、−1.02になっており、x軸y軸共にノイズに影響をうけた値となっている。
ノイズは単発であれば、デジタル信号処理でよく活用される孤立点除去フィルタ(メディアンフィルタ)で抑圧することが可能であるが、そのフィルタを潜り抜けるような成分であったり、ノイズの数や量が大きい場合には認識率を低下させる要因になる。
【0070】
本実施形態ではこのノイズを効果的に抑圧するために、不必要な検出器のタイミングゲート器52を閉じる処理を行う。図18に示す表において、x軸検出器301〜316、y軸検出器317〜325それぞれの検出器からの出力に基づく第2の検出データを所定の期間累積加算した加算値が、最初に一定値(x軸検出器であれば閾値th1x、y軸検出器であれば閾値th1y)を超える検出器、すなわち最大値を示す検出器を制御情報判断器20が確認する。
図18の表に示すように、y軸検出器317〜325から出力された第1の検出データに基づく第2の検出データ(出力信号)は変動し、閾値th1yを超える検出器はない。一方でx軸検出器301〜316から出力された第1の検出データに基づく第2の検出データは、x座標5に対応する第14の検出器314からの出力に基づく第2の検出データx(5)が最大値を示し、ある時点で累積加算の結果の値が閾値th1xを超え、該当する検出器であると判断される。これにより手の動作が上下に振る動作であることが判明する。なお、これ以降簡便のため、所定の検出器から出力された第1の検出データに基づく第2の検出データを単に、所定の検出器の第2の検出データ、と示す。
【0071】
図19(C)は、x座標5に対応する第14の検出器314の第2の検出データx(5)を累積加算した経過を表している。累積加算した加算値が閾値th1xを超えた時点(フレーム9)で活性化フラグFlg_xが0(零)から、所定の期間1となる。加算値が閾値th1xを超えると、制御情報判断器20がフラグ生成器として活性化フラグFlg_xを生成する。活性化フラグFlg_xが1となっている期間、後述するように不必要な区画や検出領域における手(オブジェクト)は検出しない。なお、ここでは累積加算値は閾値th1xをフレーム9で超えたが、所定の期間で閾値th1xを超えればよい。
活性化フラグFlg_xが立ち上がる所定の期間のことを活性化期間とし、その長さは手の動作を認識することに要する、4サイクル程度の期間を設定する。図19(D)については後述する。
【0072】
図21は、画面上のどの位置にある検出領域を有効とするかについて説明するための図である。本実施形態では、検出領域(区画)が、かざされた手の動作を検出するために用いられることを、有効とする。図21には、ビデオカメラ2がとらえたx座標5上を縦に動く手の画像と、黒枠で示すノイズ成分、及び第21の検出器321を制御するために供給されるタイミングパルスが描かれている。
x軸方向に一点鎖線で描かれている第1のx軸タイミングパルスは、有効映像期間の水平方向の幅に相当する幅を有するパルスであり、ユーザ3が手を振り始めた時点では、全てのy軸検出器(第17の検出器317〜第25の検出器325)に供給されている。
振っている手が抽出された検出領域に対応する検出器の、出力信号を所定の期間累積加算した加算値に基づいて活性化フラグFlg_xが生成される(1となる)と、実線で描かれている第2のx軸タイミングパルスが生成される。第2のx軸タイミングパルスは、有効映像期間の水平方向の所定の幅に相当する幅を有するパルスであり、全てのy軸検出器317〜325に供給される。各y軸検出器317〜325は、第2のx軸タイミングパルスに基づいて、検出領域にかざされている手を検出するために必要最小限の検出領域の検出信号のみを出力する。
【0073】
第2のx軸タイミングパルスの生成方法を、図22を用いて説明する。各y軸検出器317〜325に最初に供給されるx軸タイミングパルスは、第1のx軸タイミングパルスである。第1のx軸タイミングパルスは、各y軸検出器317〜325に対応する各検出領域のx軸方向の幅全てを有効にするものである。
図21に示す手の動きによってx座標5の検出領域において手が抽出されると、先に述べたように本実施形態では、x軸の座標5に対応する第14の検出器314の第2の検出データが、他の検出器の第2の検出データと比較すると連続して最大値を取る(図18参照)。第14の検出器314の第2の検出データを累積加算した値が閾値th1xを超えると、活性化フラグFlg_xが生成される(1となる)。制御情報判断器20は活性化フラグFlg_xが生成されたことを確認し、x座標5の検出領域のx軸制御データを1とする。
【0074】
本実施形態では、テレビジョン受像機1(ビデオカメラ2)とユーザ3との距離によって画面上の手の大きさが少し変わるのを考慮して、活性化フラグFlg_xが生成された検出器に対応する検出領域と、この検出領域に隣接する検出領域とを少なくとも含む近傍の検出領域のx軸制御データを1とする。例えば、x座標4と6の検出領域のx軸制御データを1とする。また、これ以外の検出領域のx軸制御データを0とする。
制御情報判断器20は、上述したようなx軸制御データをタイミングパルス発生器12に供給し、タイミングパルス発生器12内のx軸タイミングパルス活性化制御器12xは、入力されたx軸制御データに基づいて、第2のx軸タイミングパルスを生成し、全てのy軸検出器317〜325に供給する。従って、図21に示す状態であれば、x座標が4から6の検出領域の幅に相当する幅を有する、第2のx軸タイミングパルスが生成される。すなわちタイミングパルス器12は、第1のx軸タイミングパルスの幅を狭めた第2のx軸タイミングパルスを生成する。第2のx軸タイミングパルスが供給された各y軸検出器317〜325は、対応する各検出領域のx座標が4から6の区画からのみ検出信号を出力する。この結果、図21に示した座標(x,y)=(1,−2)、(1,−3)で発生したノイズ成分は検出されない。
第2のx軸タイミングパルスが生成されると、制御情報判断器20は各y軸検出器317〜325からの出力に基づいて、これ以降の制御を行う。各x軸検出器301〜316から検出された検出信号については、参照しない。なお、各x軸検出器301〜316のタイミングゲート器52にタイミングパルスを供給せず、検出信号の出力を止めてもよい。
【0075】
図23は、y軸検出器の第17の検出器317〜第25の検出器325に供給される第2のx軸タイミングパルス及び、各y軸検出器317〜325が対応する検出領域のためのタイミングパルス(y軸方向)を示す。各y軸検出器317〜325は、対応する検出領域と、第2のx軸タイミングパルスに基づくx座標4〜6に対応する検出領域とが重なる、3つの区画から検出した信号のみを出力すればよい。こうすることで、検出領域の内、手が抽出されず、検出に不必要な区画について検出しないことが可能である。
なお、本実施形態では、図22及び図23に示すように検出領域単位でパルス幅を制御する方法を採用しているが、パルスのスタートポイントとパルス幅を指定する方法など、パルス幅を柔軟に制御する回路手法を用いてもよい。
【0076】
図24に示す表は、図18に示す表とほぼ同じ内容であるが、図19(C)に示した第14の検出器314の活性化フラグFlg_xが1になった後生成される第2のx軸タイミングパルスによって、検出が不要となった区画や検出領域からの検出を制限して得られた、各検出器301〜325からの出力信号に基づく第2の検出データを示す。図19(C)において閾値th1xを超えた、フレーム番号10以降の第2の検出データがこれに該当し、図18の表でノイズ成分として存在していたフレーム番号11のx(1)、y(−3)及びy(−2)が0となっている。座標(x,y)=(1,−2)、(1,−3)の区画は、対応して設けられている第18の検出器318と第19の検出器319の各タイミングゲート器52に第2のx軸タイミングパルスが供給されることで、検出されないためである。
ノイズ成分の除去により重心XGとYGの値の乱れは無くなり、各y軸検出器317〜325の後段の第1の動作検出器20−1〜第5の動作検出器20−5による認識率が向上する。また本実施形態では、フレーム9まではノイズ成分の影響を受けるが、この時点までは活性化フラグFlg_xを立てることが目的となっており、累積加算した加算値の最大値が変動しない程度のノイズ成分は検出に影響しない。
【0077】
制御情報判断器20内の第1の動作検出器20−1〜第5の動作検出器20−5は、図24に示すデータを受け取り、処理する。図19に戻り、手がどのような動作をしているか検出するための処理を説明する。
図19(A)は重心のy座標YGの変動を示し、図19(B)は重心のx座標XGの変動を示しており、それぞれノイズの無い波形を示している。図19(C)に示すx軸検出器(第14の検出器314)の出力信号を累積加算した値が、閾値th1x以上になった時点で活性化フラグFlg_xが1となる。活性化フラグFlg_xが生成された検出器に対応する検出領域と隣接する検出領域を少なくとも含む近傍のx軸方向の検出領域と、各y軸方向の検出領域とが交差して形成される複数の区画以外の各y軸方向の区画は、各y軸検出器317〜325に供給される第2のx軸タイミングパルスによって無効とされる。すなわち、手の検出に用いられない。従って、ノイズの影響を受けない。
図19(C)の波形が継続的に閾値th1x以上であれば、第2のx軸タイミングパルスが各y軸検出器317〜325に供給され続けるため、不必要な区画が無効である期間も続き、ノイズによる影響を受けないという効果が持続する。図19(C)の波形が閾値th1x以下になると累積加算値はリセットされる。ただし、リセットの基準となる値は閾値th1xに限るものではない。
【0078】
さて次に、図19(A)の波形のDCオフセットを抑圧する処理を行い、波形の平均値がほぼ0(零)となるようにする。この処理には図20に示す高域通過フィルタを使う。
図20の遅延器81は、本実施形態では4フレーム(時間Tm)の遅延を行う。減算器82は、遅延した信号と遅延されていない信号との差分を求める。ここで符号は重要でなく最終的な結果には影響しない。最後に1/2乗算器83でスケールの調整を行う。図19(A)の波形は、図20の高域通過フィルタを通すことで結果として図19(D)に示すように、波形の平均値がほぼ0(零)となる。これにより、手が振られているy軸上の位置情報が排除され、手の動作内容の分析に適した波形が得られる。なお、図19(D)の縦軸に示す重心YGHは、図19(A)の縦軸に示す重心YGを高域通過フィルタ処理した値である。
【0079】
次に図15に戻り、第1の動作検出器20−1〜第5の動作検出器20−5について説明する。第1の動作検出器20−1〜第5の動作検出器20−5は、図示していない相互相関デジタルフィルタを備える。本実施形態では、手の動作による操作情報の認識には最高4回手を上下あるいは左右に振ればよいとしている。すなわち事前にどのような動作を認識するかが決まっているため、相互相関デジタルフィルタは、予め決めてある所定の動作(縦振り動作)の代表的な検出信号波形と、各検出器301〜325から出力される実際の動作による検出信号に基づいて第1の動作検出器20−1〜第5の動作検出器20−5において生成される検出信号波形との相互相関をとり、その一致度を評価することで、手の動作による操作情報の認識を行う。
本実施形態では図25(G)に示す波形を縦振り動作の基準信号波形(所定の動作の代表的な検出信号波形)とし、図25(F)に示す相互相関デジタルフィルタのk0〜k40のタップ係数値には、この基準信号波形に対応する値を使用する。また図25(D)には、相互相関デジタルフィルタknに入力される実際の動作による検出信号波形が示されているが、これは図19(D)の信号波形と同じものである。相互相関デジタルフィルタは、タップ係数と実際の動作を検出した信号に基づく第2の検出信号とを乗算し、第1の動作検出器20−1〜第5の動作検出器20−5は相互相関デジタルフィルタより出力される信号波形に基づいて、ユーザ3が行った動作が縦振り動作であるかを検出する。相互相関デジタルフィルタknの出力信号wv(n)は下記の(3)式によって求められる。
【数3】
【0080】
Nはデジタルフィルタのタップ数で、ここでは41タップ(0〜40)である。y(n+i)は図25(D)の縦軸に示すフィルタ処理された重心YGHである。相互相関デジタルフィルタknは、活性化フラグFlg_xが1になっているときのみ動作させることでその機能を果たす。
【0081】
相互相関デジタルフィルタ出力信号wv(n)は、図26(E)に示す波形になり、相互相関の一致度が増すとともに振幅が大きくなる。なお、図26(D)は図19(D)及び図25(D)と同じもので、図26(E)の比較対照として示している。出力信号wv(n)の絶対値を取って累積積分し、その値が閾値th2v以上に達したところで基準信号波形との相互相関が充分あると判断され、所定の動作(ここでは、縦振り動作)がなされたことが認識される。第1の動作検出器20−1〜第5の動作検出器20−5は、検出部19より出力される検出信号に基づいて、ユーザ3による動作が所定の動作であるか否かを検出する動作検出器である。
この動作の認識とともに、縦振り動作であることを示し且つ保護窓の役割を担う活性化フラグFlg_xが「1」であることが確認され、手の縦振り操作が確定となり、テレビジョン受像機1の状態に応じたイベント(制御)が行われる。このイベントは、図15に示す複数の動作検出器20−1〜20−5のいずれかが確定となったことを、制御情報発生器20−10が論理判定して出力する信号に従って行われる。
【0082】
次に、手を横に振る(バイバイ)動作について説明する。本実施形態では、縦と横の動作は自動的に区別され、同時に機能する。図27は、ビデオカメラ2で撮影される領域内でユーザ3が手を横(左右)に動かした場合のビデオカメラ2で撮影された手の画像の一例である。手が動く方向を示す矢印及び、画面内に配置された検出領域のxy座標を共に示す。図27(A)、(B)、(C)、(D)に動いている手の4つの位置を抜き出して示す。図27(A)は手が最も左に位置する場合、図27(B)は手を少し右へ移動した場合、図27(C)はさらに手を右に移動した場合、図27(D)は最も手が右に位置する場合である。
本実施形態では手を4回左右に動かした。すなわち手を、図27の、(A)(B)(C)(D)(D)(C)(B)(A)を1サイクルとし、4サイクル動かした。このような左右運動の場合、y軸については手はほとんど動かず、同一の座標上にある。一方、x軸については手の座標は左右に変動する。従って、検出されるデータは左右のピークを繰り返した4サイクルになり、各座標の検出領域に対応して設けられた各検出器からの出力データの変動値になって現れる。
【0083】
図28は、図27に示す手の左右運動の検出結果のうち、各検出器301〜325の各ヒストグラム検出器61が出力するデータ値と、それを処理した内容を表にして示す。この表は図18の表と同一形式で作成してあり、データ値は手の左右運動に対応している。
【0084】
図27(A)〜(D)に示した一例では、手は左右方向に動かされており、y軸に関しては動いている手の位置に変化は無いため、項目y(j)(j=−4〜+4)のデータは変動しない。図27(A)〜(D)に示すとおり、手はy座標2を中心にy座標1〜3上にあり、図28の項目y(1)、y(2)、及びy(3)に手を検出した値が示されている。その他の項目y(j)は、第1のオブジェクト抽出器51でマスキングされているので値は0(零)となっている(フレーム番号11の項目x(7)、x(4)、y(−1)を除く)。
x軸に関しては、左右に手を動かしているので項目x(i)のデータが変動する。図27(A)では、手はx座標−6、−5、−4上にあり、図28の項目x(−6)、x(−5)、及びx(−4)のフレーム番号0の欄に、検出された値が示されている。同様に図27(B)、(C)、及び(D)についても、それぞれの手がかざされているx座標に対応する項目x(i)に、検出されたそれぞれの値が示されている。
【0085】
フレーム番号をnとするx座標上の手の重心XGは、前述した(1)式で求められる。
本実施形態では、図28の項目XGはフレーム番号0において−5.3である。これは手の重心のx座標が、−5.3であることを示している。その他のフレームについても、項目XGの値がそのフレームにおける手の重心のx座標を示している。本実施形態では項目XGの値は−5.3〜−2.3の範囲の値になっており(フレーム番号11は除く)、項目XGの値の変動が座標上の手の左右運動を示している。
【0086】
フレーム番号をnとするy座標上の手の重心YGは、前述した(2)式で求められる。本実施形態では、図28の項目YGはほとんどのフレームで2.19になっており(フレーム番号11は除く)、従って手の重心のy座標は2.19であり、y座標2.19を中心にデータが広がっている。
【0087】
図29は、手の重心の座標の変動を時間の経過にそって表したタイムチャートである。図29(A)が手の重心のy座標の変動、つまり図28の項目YGの値の変動を表しており、図27に示すようにy座標2.19を重心として手を横に振っているため、縦方向に変動はなく原理的には図29(A)に示すとおり一定レベルの直線になる。図29(B)は手の重心のx座標の変動、つまり図28の項目XGの値の変動を表しており、−5.3〜−2.3の間で4サイクルに渡って波打っていることが示されている。
【0088】
このx及びyの両軸の波形を分析するわけであるが、図28に示す表の第1サイクルは、横に手を振る場合の理想的なデータとなっている。手が抽出されているy軸座標1、2、及び3以外のy座標の項目y(j)はデータが0(零)である。x座標についても同様に、手が抽出される検出領域以外はデータが0(零)である。
しかし、第2サイクルのフレーム番号11では、手に関するデータ以外に、y(−1)に対応する検出器に領域120、x(4)に対応する検出器に領域50、x(7)に対応する検出器に領域70に相当する手の領域が各検出領域において検出されたことを示す第2の検出データがある。これらのデータは検出された手の重心座標を狂わせることになる。図28(A)〜(D)に示すように手の重心のy座標は2.19で一定であるにもかかわらず、フレーム番号11の項目YGの値は1.351を示している。またフレーム番号11の手の重心のx座標は、フレーム番号3と同様に項目XGの値が−2.3であるはずが、−0.45になっており、x軸y軸共にノイズに影響を受けた値となっている。
【0089】
横に手を振る場合も縦に手を振る場合と同様に、不要な検出器のタイミングゲート器52を閉じる処理を行う。図28に示す表において、x軸検出器301〜316、y軸検出器317〜325それぞれの検出器から出力された第1の検出データに基づく第2の検出データを所定の期間累積加算した加算値が、最初に一定値(x軸検出器であれば閾値th1x、y軸検出器であればth1y)を超える検出器、すなわち最大値を示す検出器を確認する。
図28の表に示すように、x軸検出器301〜316は第2の検出データ(出力信号)が変動し、閾値th1xを超える検出器はない。一方でy軸検出器317〜325では、y座標2に対応する第23の検出器323による第2の検出データ(y(2))が最大値を示し、ある時点で累積加算の加算値が閾値th1yを超え、該当する検出器として判断される。これにより手の動作が左右に振る動作であることが判明する。
【0090】
図29(C)は、y座標2に対応する第23の検出器323の第2の検出データy(2)を累積加算した経過を表している。累積加算した加算値が閾値th1yを超えた時点(フレーム9)で、活性化フラグFlg_yが0(零)から所定の期間1となる。加算値が閾値th1yを超えると、制御情報判断器20がフラグ生成器として活性化フラグFlg_yを生成する。活性化フラグFlg_yが1となっている期間、後述するように不必要な区画や検出領域における手は検出しない。なお、ここでは累積加算値は閾値th1xをフレーム9で超えたが、所定の期間で閾値th1xを超えればよい。
活性化フラグFlg_yが立ち上がる所定の期間のことを活性化期間とし、その長さは手の動作を認識することに要する、4サイクル程度の期間を設定する。図29(D)については後述する。
【0091】
図30は、画面上のどの位置にある検出領域を有効とするかについて説明するための図である。図30には、ビデオカメラ2がとらえたy座標2.19上を横に動く手の画像と、黒枠で示す2つのノイズ成分、及び第6の検出器306を制御するために供給されるタイミングパルスが描かれている。y軸方向に一点鎖線で描かれている第1のy軸タイミングパルスは、有効映像期間の垂直方向の幅に相当する幅を有するパルスであり、ユーザ3が手を振り始めた時点では、全てのx軸検出器(第1の検出器301〜第16の検出器316)に供給されている。
振っている手が抽出された検出領域に対応する検出器の、出力信号を所定の期間累積加算した加算値に基づいて活性化フラグFlg_yが生成される(1となる)と、実線で描かれている第2のy軸タイミングパルスが生成される。第2のy軸タイミングパルスは、有効映像期間の垂直方向の所定の幅に相当する幅を有するパルスであり、全てのx軸検出器301〜316に供給される。各x軸検出器301〜316は、第2のy軸タイミングパルスに基づいて、検出領域にかざされている手を検出するために必要最小限の検出領域の検出信号のみを出力する。
【0092】
第2のy軸タイミングパルスの生成方法を、図31を用いて説明する。各y軸検出器301〜316に最初に供給されるy軸タイミングパルスは、第1のy軸タイミングパルスである。第1のy軸タイミングパルスは、各x軸検出器301〜316に対応する各検出領域のy軸方向の幅全てを有効にするものである。
図30に示す手の動きによってy座標2の検出領域において手が抽出されると、先に述べたように本実施形態では、y軸の座標2に対応する第23の検出器323の第2の検出データが、他の検出器の第2の検出データと比較すると連続して最大値を取る(図28参照)。第23の検出器323の第2の検出データを累積加算した値が閾値th1yを超えると、活性化フラグFlg_yが生成される(1となる)。制御情報判断器20は活性化フラグFlg_yが生成されたことを確認し、y座標2の検出領域のy軸制御データを1とする。
【0093】
本実施形態では、テレビジョン受像機1(ビデオカメラ2)とユーザ3との距離によって画面上の手の大きさが少し変わるのを考慮して、活性化フラグFlg_yが生成された検出器に対応する検出領域と、この検出領域に隣接する検出領域とを少なくとも含む近傍の検出領域のy軸制御データを1とする。例えば、y座標1と3の検出領域のy軸制御データを1とする。また、これ以外の検出領域のy軸制御データを0とする。
制御情報判断器20は、上述したようなy軸制御データをタイミングパルス発生器12に供給し、タイミングパルス発生器12内のy軸タイミングパルス活性化制御器12yは、入力されたy軸制御データに基づいて、第2のy軸タイミングパルスを生成し、全てのx軸検出器301〜316に供給する。従って、図30に示す状態であれば、y座標が1から3の検出領域の幅に相当する幅を有する、第2のy軸タイミングパルスが生成される。すなわちタイミングパルス器12は、第1のy軸タイミングパルスの幅を狭めた第2のy軸タイミングパルスを生成する。第2のy軸タイミングパルスが供給された各x軸検出器301〜316は、対応する各検出領域のy座標が1から3の区画からのみ検出信号を出力する。この結果、図30に示した座標(x,y)=(4,−1)、(7,−1)で発生したノイズ成分は検出されない。
第2のy軸タイミングパルスが生成されると、制御情報判断器20は各x軸検出器301〜316からの出力に基づいて、これ以降の制御を行う。各y軸検出器317〜325から検出された検出信号については、参照しない。なお、各y軸検出器317〜325のタイミングゲート器52にタイミングパルスを供給せず、検出信号の出力を止めてもよい。
【0094】
図32は、x軸検出器の第1の検出器301〜第16の検出器316に供給される第2のy軸タイミングパルス及び、各x軸検出器301〜316が対応する検出領域のためのタイミングパルス(x軸方向)を示す。各x軸検出器301〜316は、対応する検出領域と、第2のy軸タイミングパルスに基づくy座標1〜3に対応する検出領域とが重なる、3つの区画から検出した信号のみを出力すればよい。こうすることで、検出領域の内、手が抽出されず、検出に不必要な区画について検出しないことが可能である。
なお、本実施形態では、図31及び図32に示すように検出領域単位でパルス幅を制御する方法を採用しているが、パルスのスタートポイントとパルス幅を指定する方法など、パルス幅を柔軟に制御する回路手法を用いてもよい。
【0095】
図33に示す表は、図28に示す表の内容とほぼ同じであるが、図29(C)に示した第23の検出器323の活性化フラグFlg_yが1になった後生成される第2のy軸タイミングパルスによって、検出が不要となった区画や検出領域からの検出を制限して得られた、各検出器301〜325からの第2の検出データを示す。
図29(C)において閾値th1yを超えた、フレーム番号10以降の第2の検出データがこれに該当し、図28の表でノイズ成分として存在していたフレーム番号11のx(4)、x(7)、y(−1)が0となっている。これは、座標(x,y)=(4,−1)、(7,−1)の区画は、対応して設けられている第13の検出器313と第16の検出器316の各タイミングゲート器52に第2のy軸タイミングパルスが供給されることで、検出されないためである。ノイズ成分の除去により重心XGとYGの値の乱れは無くなり、各x軸検出器301〜316の後段の第1の動作検出器20−1〜第5の動作検出器20−5による認識率が向上する。
【0096】
制御情報判断器20内の第1の動作検出器20−1〜第5の動作検出器20−5は、図33に示すデータを受け取り、処理する。図29に戻り、手がどのような動作をしているか検出するための処理を説明する。
図29(A)は重心のy座標YGの変動を示し、図29(B)は重心のx座標XGの変動を示しており、それぞれノイズの無い波形を示している。図29(C)に示すy軸検出器(第23の検出器323)の出力信号を累積加算した値が、閾値th1y以上になった時点で活性化フラグFlg_yが1となる。活性化フラグFlg_yが生成された検出器に対応する検出領域と隣接する検出領域を少なくとも含む近傍のy軸方向の検出領域と、各x軸方向の検出領域とが交差して形成される複数の区画以外の各x軸方向の区画は、各x軸検出器301〜316に供給される第2のy軸タイミングパルスによって無効とされる。すなわち、手の検出に用いられない。従って、ノイズの影響を受けない。
図29(C)の波形が継続的に閾値th1y以上であれば、第2のy軸タイミングパルスが各x軸検出器301〜316に供給され続けるため、不必要な区画が無効である期間も続き、ノイズによる影響を受けないという効果が持続する。図29(C)の波形が閾値th1y以下になると累積加算値はリセットされる。ただし、リセットの基準となる値は閾値th1yに限るものではない。
【0097】
さて次に、図29(B)の波形のDCオフセットを抑圧する処理を行い、波形の平均値がほぼ0(零)となるようにする。この処理には図20に示す高域通過フィルタを使う。
図29(B)の波形は、図20の高域通過フィルタを通すことで結果として図29(D)に示すように、波形の平均値がほぼ0(零)となる。これにより、手が振られているx軸上の位置情報が排除され、手の動作内容の分析に適した波形が得られる。なお、図29(D)の縦軸に示す重心XGHは、図29(B)の縦軸に示す重心XGを高域通過フィルタ処理した値である。
【0098】
横に振られている手の動作内容の分析には、手の縦振り動作の時と同様に、事前に決められている所定の動作(横振り動作)の代表的な検出信号波形と、各検出器301〜325から出力される実際の動作による検出信号波形との相互相関をとって一致度を評価する。
本実施形態では図34(G)に示す波形を横振り動作の基準信号波形(所定の動作の代表的な検出信号波形)とし、図34(F)に示す相互相関デジタルフィルタのk0〜k40までのタップ係数値には、この基準信号波形に対応する値を使用する。また図34(D)には、相互相関デジタルフィルタknに入力される実際の検出信号波形が示されているが、これは図29(D)の信号波形と同じものである。相互相関デジタルフィルタは、タップ係数と実際の動作を検出した信号に基づく第2の検出信号とを乗算し、第1の動作検出器20−1〜第5の動作検出器20−5は相互相関デジタルフィルタより出力される信号波形に基づいて、ユーザ3が行った動作が横振り動作であるかを検出する。相互相関デジタルフィルタknの出力信号wh(n)は下記の(4)式によって求められる。
【数4】
【0099】
Nはデジタルフィルタのタップ数でここでは41タップ(0〜40)である。x(n+i)は図34(D)の縦軸に示すフィルタ処理された重心XGHである。相互相関デジタルフィルタknは、活性化フラグFlg_yが1になっているときのみ動作させることでその機能を果たす。
なお、本実施形態では縦振り動作に対応するタップ係数を備える相互相関デジタルフィルタと、横振り動作に対応するタップ係数を備える相互相関デジタルフィルタとを使用したが、縦振り動作に対応するタップ係数と、横振り動作に対応するタップ係数とを制御情報判断器20等に記憶させ、動作に応じて1つの相互相関デジタルフィルタに切り換えて供給してもよい。ただし、縦振り動作と横振り動作とが同じ動作であるとする場合には、同じタップ係数とすればよい。
【0100】
次に、手の動作の速さとフレーム数について説明する。手の動作の速さとフレーム数の関係については、手の振り方が縦(上下)であっても、横(左右)であっても違いはない。
本実施形態では1秒間に60フレームとし、手の上下または左右に4回振る動作を、説明や図面の簡略化を目的に32フレームとした。相関計算のタップ係数も少なくなる。
しかしながら、32フレームを時間に換算すると約0.5秒となり、現実の人間の動作としては速すぎる。実際の手の動作はもう少し遅くなると考えられ、例えば、手を4回振るのに2秒かかるとすれば、120フレーム必要となる。これを検出するためには相関計算においてタップ数を増やせばよく、動作にかかる時間に合わせて適宜タップ数を調整すればよい。
【0101】
手の横振りに関しての相互相関デジタルフィルタ出力信号wh(n)は、図35(E)に示す波形になり、相互相関の一致度が増すとともに振幅が大きくなる。なお、図35(D)は図29(D)及び図34(D)と同じもので、図35(E)の比較対照として示している。出力信号wh(n)の絶対値を取って累積積分し、その値が閾値th2h以上に達したところで基準信号波形との相互相関が充分であると判断され、所定動作がなされたことが認識される。第1の動作検出器20−1〜第5の動作検出器20−5は、検出部19より出力される検出信号に基づいて、ユーザ3による動作が所定の動作であるか否かを検出する動作検出器である。
この動作の認識とともに、横振り動作であることを示し且つ保護窓の役割を担う活性化フラグFlg_yが「1」であることが確認され、手の横振り操作が確定となり、テレビジョン受像機1の状態に応じたイベントが行われる。このイベントは、図15に示す複数の動作検出器20−1〜20−5のいずれかが確定となったことを、制御情報発生器20−10が論理判定して出力する信号に従って行われる。
【0102】
図36は、上述した手の縦振りと横振りの動作を検出する方法の処理手順を示すフローチャートである。図36のフローチャートに示す各ステップにおける処理については、既に詳細に記述しているので、ここでは各ステップが全体の中でどのような機能を果たしているかについて説明し、手の縦振り及び横振り動作が操作情報としてテレビジョン受像機1に認識され、制御(イベント)内容が実行されるところまでを説明する。
【0103】
図36に示すフローチャートは、ユーザ3が行う手を振る動作によって縦振り処理系と横振り処理系の2つに分けられる。縦振り処理系のX軸スタートには、各x軸検出器301〜316から出力された第1の検出データに基づく16個の第2の検出データx(−8)〜x(7)が入力される。まず、ステップA501において、各x軸検出器301〜316の出力に基づく各第2の検出データx(−8)〜x(7)が、それぞれフレーム毎に累積加算される。
次にステップA502に進み、累積加算された各値msx(i)(i=−8〜+7)が閾値th1x以上であるか否かを判定する。ステップA502の答えがNOのとき、すなわちいずれの加算値msx(i)も閾値th1x未満の時はステップA501にもどり、累積加算を行う。ステップA502の答えがYESになったとき、すなわちいずれかの加算値msx(i)が閾値th1x以上になったときは、次のステップA503に進む。
いずれかのx軸検出器からの加算値msx(i)が閾値th1x以上を示すことは、手が縦に振られている動作を意味するので、ステップA503において活性化フラグFlg_xを0(零)から1とし、第2のx軸タイミングパルスを各x軸検出器301〜316に供給する。これによって、各x軸検出器301〜316の出力が制御され、不要な検出領域や区画においてオブジェクト(手)を抽出しない処理(マスク処理)が行われるので、ノイズに対する耐性を高めることができる。
【0104】
横振り処理系についても同様に、Y軸スタートには、y軸検出器317〜325の出力に基づく9個の第2の検出データy(−4)〜y(4)が入力され、ステップB501〜B503までは縦振り処理系のステップA501〜A503と全く同様の処理がなされる。
そしてステップB502で、いずれかのy軸検出器において累積加算された値msy(j)(j=−4〜+4)が閾値th1y以上に達すると、活性化フラグFlg_yが0(零)から1となって手の動作が横振りであることを認識する。
【0105】
本実施形態では活性化フラグFlg_xまたはFlg_yのどちらか一方が1となった時点で、もう一方の活性化フラグは抑圧される。ステップA504またはB504において、活性化フラグの判定を行う。例えば縦振り処理系では、活性化フラグFlg_xが1となった時点でステップA504に進み、同時に横振り処理系の活性化フラグFlg_yが0(零)であるか否かを判定する。
ステップA504の答えがYESのとき、すなわち活性化フラグFlg_yが0(零)であれば、これ以降の処理は縦振り処理系になることを確定し、ステップA505に進む。一方で、ステップA504の答えがNO、すなわち横振り処理系が活性化されていて、活性化フラグFlg_yが1ならば、ステップA509に進み、縦振り処理系を進めるための累積加算値msx(i)及び活性化フラグFlg_xを0(零)にリセットし、ステップA501に戻る。
【0106】
また横振り処理系においては、ステップB503で活性化フラグFlg_yが1となった時点でステップB504に進み、同時に縦振り処理系の活性化フラグFlg_xが0(零)であるか否かを判定する。
ステップB504の答えがYESのとき、すなわち活性化フラグFlg_xが0(零)であれば、これ以降の処理は横振り処理系になることを確定し、ステップB505に進む。一方で、ステップB504の答えがNO、すなわち縦振り処理系が活性化されていて、活性化フラグFlg_xが1ならば、ステップB509に進み、横振り処理系を進めるための累積加算値msy(j)及び活性化フラグFlg_yをそれぞれ0(零)にリセットし、ステップB501に戻る。
【0107】
ステップA504の答えがYES、またはステップB504の答えがYESとなったとき、それぞれステップA505またはB505に進み、y軸重心計算またはx軸重心計算を行う。x軸重心計算またはy軸重心計算は上記の(1)式または(2)式を使い、図24に示した表の項目YGまたは図33に示した表の項目XGを求める。求められた重心(XG、YG)の値はステップA506またはB506の相互相関計算にて相互相関デジタルフィルタ処理され、相互相関デジタルフィルタ出力信号wv(n)またはwh(n)を算出する。
ステップA507またはB507では、相互相関デジタルフィルタ出力信号wv(n)またはwh(n)を絶対値化して累積加算し、wv(n)の累積加算swvまたはwh(n)の累積加算swhを算出する。
【0108】
次に、ステップA508またはB508において累積加算swvの値が閾値th2vより大きいか否か、またはswhの値が閾値th2hより大きいか否か判定する。ステップA508またはB508の答えがYESとなった場合に、縦振りイベントまたは横振りイベントが起動される。なお、ここでステップA504〜A508とB504〜B508とを同時に説明したが、前述したとおり縦振り処理系と横振り処理系とが同時に処理されることはなく、どちらか一方のみの処理となる。
また、ステップA506またはB506の相互相関計算処理より先の処理は、図36では説明の分かり易さを考慮して処理を2系統に分離しているが、ステップA504またはB504において活性化フラグFlg_xまたはFlg_yを評価し、検出された動作が縦振りか横振りかが判明しているので、処理を1系統にすることができる。なお、ステップA504またはB504、及びステップA508またはB508の判定で答えがNOとなったときはステップA509またはB509に進み、累積加算値msx(i)及びFlg_x、または累積加算値msy(j)及びFlg_yをそれぞれ0(零)にリセットしてスタートの時点に戻る。
【0109】
このように本実施形態では、手を縦に振る操作と横に振る操作は同時に処理されて区別されて認識される。これの応用例としては、図3に示す手の縦振り「コイコイ」動作であれば、それに対応したイベント(制御)として例えば電源ONやメニュー画面が起動される。また手の横振り「バイバイ」動作であれば電源をOFFにすることに応用できる。
また、縦振り動作と横振り動作のどちらか一方のみを電子機器を制御するための所定の動作としてもよく、その際は、ステップA504またはB504を省略すればよい。
【0110】
以上で説明した第1実施形態では、図5、図6に示すように画面に設けられた検出領域は、水平方向に16、垂直方向に9分割して設けた合計25であった。それぞれの検出領域に対応する検出器は、第1の検出器301から第25の検出器325の25個であり、第1実施形態はハードウェアの規模が少なくて済む利点がある。
一方、より高度で複雑な認識操作を考えると、以下に説明するような検出領域を用いる第2実施形態が考えられる。第2実施形態についても図36のフローチャートにて説明したアルゴリズムが同様に機能することについて詳述する。なお、第2実施形態については、第1実施形態と異なる部分についてのみ説明する。
【0111】
図37は、ビデオカメラ2より出力された画像の画面を、水平方向に16分割、垂直方向に9分割し、水平方向に分割された領域と垂直方向に分割された領域とが交差して形成される、合計144個(16×9)の検出領域を設けた第2実施形態を示す。従って、検出部19を構成する検出器も144個必要とし、制御情報判断器20に入力されるデータ数も144となる。第1の検出器301は、図37において(x、y)=(−8,4)座標に位置する検出領域と対応し、この検出領域から検出された第1の検出データを出力する。
第2実施形態では、1画面毎(1垂直周期毎)に各検出領域から抽出される出力信号を得ることが目的であり、各検出領域に各検出器を割り当て、各検出領域のデータが制御情報判断器20に入力され、ソフトウェアで処理されるものとして説明する。なお、各検出器はバッファメモリを設けることにより、ハードウェアの構成上必要とするデータ数以下で実現することもできる。
【0112】
図38は、144個の検出領域上に、ビデオカメラ2で撮影された縦振りする手のイメージを重ねて描いた画面を示す。手の動きによってフレーム差分が発生する検出領域に、ハッチングを入れて表した(手の領域もハッチングが入っているとして説明する。)。第1実施形態では、このハッチングの入っている検出領域を、図7に示すオブジェクト特徴データ検出部53のヒストグラム検出器61などによりデータに変換し、CPUバスを経由して制御情報判断器20へ出力した。
第2実施形態においても、同様の構成も適応できるが、各検出器から得られるデータが144個あるため、ハードウェアの規模が大きくなること及びバスのトラフィックを考慮して、データを簡略化する。なお、比較説明をするため図38の手の動作の位置は図17に示した第1実施形態と同じ位置とする。
【0113】
図39は、第2実施形態の検出部19と制御情報判断器200のブロック図である。検出部19を構成する第1の検出器301から第144の検出器444が、制御情報判断器200の第6の動作検出器20−6へオブジェクトのデータを加工して転送する。第1のオブジェクト抽出器51の出力は図8に示すように、特定色フィルタ71、階調限定器72、動作検出フィルタ75を合成した信号で、ビデオカメラ2の出力画像からオブジェクトを抽出した出力信号である。
合成の仕方は様々な論理演算が考えられるが、ここでは論理積として考える。オブジェクトゲート器74の出力は、図38のハッチングした部分の検出領域だけが階調を持ち、その他の検出領域はオブジェクトが抽出されず階調が0である(マスクレベル)とする。この場合のビデオカメラ2の黒レベルは0レベル以上にあるものとする。
【0114】
オブジェクト特徴データ検出部530は、ブロックカウンタ66とブロック量子化器67とを備える。更にヒストグラム検出器61やAPL検出器62などを、必要に応じて備えてもよい。
ブロックカウンタ66とブロック量子化器67は、図38の画面内にハッチングで示した、第1のオブジェクト抽出器51による出力信号が得られる検出領域の情報を1ビット化して出力する。ブロックカウンタ66は、全検出領域のうちマスクレベル以外の検出領域をカウントするものである。ブロックカウンタ66でカウントされた検出領域における第1のオブジェクト抽出器51より出力された出力信号は、ブロック量子化器67にて設定される閾置と比較され、ブロック量子化器67は閾置以上であるとき1を、以下であるとき0を出力する。
【0115】
例えば閾置を、検出領域全体の1/2の領域で第1のオブジェクト抽出器51からの出力信号が得られた場合に設定し、この閾値に基づいて図38のハッチング部分の検出領域からの出力信号をブロック量子化器67に入力すると、図40に示すハッチングをした検出領域が信号を出力することとなる。すなわち、検出領域の座標(x,y)が(5,3)、(5,2)である2つの検出領域が1を出力し、その他の検出領域は0を出力する。
このように閾値を設定することで、ブロックカウンタ66とブロック量子化器67による、検出部19からの出力は144ビットとなり、最小限ですませることができる。
【0116】
制御情報判断器20には、1画面(1垂直周期毎)で144のデータが変数として格納され、動作の認識アルゴリズムに添って処理される。図41にこれを示す。項目x(−8)からx(7)はそれぞれ、各x軸における縦(y軸)方向の全検出領域に対応する全検出器の出力の総和となる。例えば項目x(0)は、検出領域座標(x,y)の(0,−4)(0,−3)(0,−2)(0,−1)(0,0)(0,1)(0,2)(0,3)(0,4)の検出領域に対応する各検出器から出力された第1の検出データに基づいた第2の検出データの合計値となる。検出領域がy軸方向に9つに分割されているので、最大値は9を取ることになる。
項目y(−4)〜y(4)も同様で、各y軸における横(x軸)方向の全検出領域に対応する全検出器の出力の総和であり、最大値は16となる。これより図38に示した手の動作は結果として、図18に示したものと重心の変動は同一となり、同様のアルゴリズムで処理して動作の認識が可能である。
【0117】
図41の表と図18の表とを比較すると、最初のフレームn=0の列では、図18の各項目x(6)=x(4)=12,x(5)=120,y(3)=y(2)=72が、図41の各項目x(6)=x(4)=0,x(5)=2,y(3)=y(2)=1に相当する。
図41は、量子化されて2値にまるめられた値で且つスケールが図18とは異なっている。しかし、位置を表す重心は同一となる。従って、第2実施形態の第6の動作検出器20−6は、第1実施形態の第1の動作検出器20−1〜第5の動作検出器20−5と同様のアルゴリズムで手の動作を認識することが可能である。第6の動作検出器20−6のアルゴリズムは、(1)式、(2)式による重心計算、(3)式の相関デジタルフィルタの計算、そして不要な検出領域に対応する検出器にタイミングパルスを供給せず、タイミングゲート器52を閉じる処理などで、そのアルゴリズムを表現するフローチャートが図36である。第6の動作検出器20−6は、検出部19より出力される検出信号に基づいて、ユーザ3による動作が所定の動作であるか否かを検出する動作検出器である。
ここで、第2実施形態の各検出領域に対応する各検出器の、ゲートタイミング器52を閉じる処理をマスク処理とし、後述する。
【0118】
第2実施形態では、各検出器301〜444が対応する検出領域が第1実施形態で説明した区画に相当するため、タイミングゲート器52を閉じる方法は第1実施形態と同様であるが、不要な検出領域を無効とする方法は異なる。
図42は、図38と同じ手を上下に繰り返し振る動作を示す。この動作を操作として認識するために、第1のオブジェクト抽出器51が手の動作を検出するように機能するが、意図しないものの動作が混入してくる。例えば、図42に示す検出領域において、(x、y)=(1,−2)、(1,−3)に黒丸で示すノイズが発生している。
図41の表では、n=11のフレームにおいて項目x(1)=2,y(−2)=1,y(−3)=1となっている。これはx軸とy軸の重心を乱し、手の動作を検出する際に妨害となる。これは重心の値に影響するため、重心の変動を用いて手の動作を検出する本発明において、問題となる。
【0119】
このノイズは、手の上下運動を検出している検出領域以外の検出領域をマスク処理することで抑制・除去する。
マスク処理は第1実施形態と同様で、x軸の各項目x(−8)〜x(7)の値をそれぞれ所定の期間累積加算して、図19(C)に示すように閾置th1xを超えたとき、活性化フラグflg_xを立てればよい。従って第2実施形態では、各x座標における縦(y軸)方向の全検出領域に対応する全検出器の出力の総和、あるいは各y座標における横(x軸)方向の全検出領域に対応する全検出器の出力の総和が、それぞれ閾値th1xあるいはth1yを超えたときに活性化フラグflg_xあるいはflg_yを生成すればよい。なお、累積加算した値は、所定の値を超えたらリミットをかけてもよい。
図19(C)では、x軸座標5を有する各検出領域に対応する各検出器の出力信号(x(5))を累積加算した加算値が、所定の期間(フレーム10)に経て閾置th1xを超えたことを検出した。従ってx座標5を有する各検出領域の少なくとも一部で、振られている手が検出されている。
検出器から出力される信号が閾値th1xを超えてから、活性化フラグflg_xを所定の期間立て、図19(A)に示す縦(y軸)方向の重心YGの変動を相関デジタルフィルタにて相関性を評価することで、手の動作を操作として認識する。
【0120】
第2実施形態では、ビデオカメラ2より出力された画像の画面を縦方向と横方向とに分割して各検出領域を設け、かつ各検出領域の第1の検出データを制御情報判断器20に供給し、2次元配列化された変数として取り扱えるため、マスク処理はその変数を零に操作することで実現できる。当然タイミングゲート器52に入力されるタイミングパルスを、タイミングパルス発生器12にて制御することも可能である。
本実施形態では、10フレーム目以降はマスク処理が施されるので、図41の表に示したノイズ成分(フレーム番号11)は抑圧できる。このようにマスク処理は手以外の動作を抑圧して、所定の動作のみを引き出す効果がある。
【0121】
図42のハッチングされた部分は、以上で詳述したようにマスク処理された検出領域である。図41の表に基づき、x軸座標5を有する検出領域以外の検出領域に対応する検出器に対してマスク処理すればよいが、本実施形態では手がふらつくことを考慮して、x軸座標5である全検出領域及びx軸座標が5±1の各検出領域に対応する各検出器に対してマスク処理せず、検出信号を出力するよう制御している。
すなわち、活性化フラグFlg_xが1となったx座標5の各検出領域に対応する各検出器と、x座標5の各検出領域に隣接するx座標4と6の各検出領域に対応する各検出器とに対して、タイミングパルス発生器12よりタイミングパルスを供給させる。
【0122】
また図41の表を基に、手の上下運動が及ばないx軸座標が4〜6でy軸座標が−4,−3,−2,4である各検出領域に対応する各検出器には、タイミングパルスを供給せず、マスク処理を施す。マスク処理された検出領域を図42に×印で示す。これにより、ノイズの影響を更に抑制できる。
このマスク処理は、図19(C)において活性化フラグflg_xが立った時点で、この時点から前の図19(A)に示す重心YGを評価して行う。制御情報判断器20内のメモリ(図示せず)に所定の期間の重心YGを記録し、活性化フラグflg_xが発生した時点でその前までに記録された重心YGを参照する。本実施形態では、図19(A)に矢印1で示す範囲を参照した。y軸座標が−4,−3,−2,4である検出領域には、手がかざされていないと判断でき、手の動作はy軸座標が−4,−3,−2,4である検出領域の範囲外で生じているとして、上述したようにマスク処理する。
すなわち、所定の動作を行うために手が動くと、かざされている手が抽出された検出領域が判別されて、検出信号が通過する通過領域となる。それ以外の検出領域は、タイミングゲート器52にタイミングパルスが供給されないので、検出された信号は通過しない。更に、各検出器の出力信号を累積加算した加算値が閾置th1xを超えると、閾値th1xを超えた時点より過去の所定期間の第2の検出データを参照し、手がかざされている検出領域以外の検出領域に対応する検出器に対してマスク処理し検出信号を出力させないことで、ノイズを抑制する。
【0123】
第2実施形態は、ビデオカメラ2より出力された画像の画面に設けた個々の検出領域に、対応する検出器を設けてブロック状の検出領域より手の動作を検出するものである。2次元平面でのマスク処理が可能であるため、動作している手が抽出された検出領域を第1実施形態より絞り込むことができ、ノイズに対する耐性が向上する。また、第2実施形態ではソフトウェア処理でマスク処理ができるため、マスク処理されてないデータと並行した処理も可能となり、処理の自由度が増すという利点も有する。
そして図36に示した第2の検出データから手の動作を認識するアルゴリズムは、検出領域の実施形態に係わらず同様に機能するもので、認識操作を確定させてテレビ受像機を制御することができるものである。
【0124】
図43は第2のオブジェクト抽出器510を示す図で、第2のオブジェクト抽出器510は図8に示す第1のオブジェクト抽出器51の他の実施形態である。第2のオブジェクト抽出器510は、特定色フィルタ71と階調限定器72から出力された信号を合成器73で合成して、その後段に動作検出フィルタ75を直列に配置し、ビデオカメラ2からの信号をオブジェクトゲート器74でゲート処理を加える。
また第2実施形態では、タイミングパルスが供給された検出器に対応する検出領域のみ、オブジェクト特徴データ検出部530のブロックカウント66でカウントするので、図41の動作検出フィルタ75の出力を図39のオブジェクト特徴データ検出部530のブロックカウンタに直接入れても、同様にブロック量子化器67の出力検出領域単位の手の動き情報が得られる。
【0125】
図44は、本発明の一実施形態を応用した一実施例を説明するための図である。図44(A)にはグラフィックス生成器16で描いたメニュー画像(操作用画像)が示されており、その画像は(1−1)〜(1−5)の5つの領域に分けられている。これらの5つの領域に対してユーザ3は所定の動作を行う。図44(B)は、ビデオカメラ2で撮影されたユーザ3の画像が鏡像変換された画像を示す。
図44(C)は、図44(A)と(B)の画像を混合したものが表示装置23に映し出されている様子を示し、メニュー画像とユーザ3の位置関係が分かるものとなっている。この第2実施形態の構成には、図2に示す表示装置23とグラフィックス生成器16は必須の機能ブロックである。
【0126】
図45は、図44(C)に示すメニュー画面とユーザ3の鏡像画像とが混合された画面を見て、ユーザ3がテレビジョン受像機1を操作している状態を示している。図45(A)には、ユーザ3が手を縦に振って複数のメニュー画像のうち所望のメニュー内容を示す画像、すなわち所望の操作ボタンを選択する状態を示している。図45(A)は例えば、ユーザ3は「映画」の操作ボタンを選択している。
第1実施形態で説明したとおり、縦に手を振るとx軸検出器のうちどの検出器が最大値を示して活性化フラグFlg_xが「1」となったかが分かる。そこで、メニュー画像を生成したグラフィックス生成器16と各座標の検出領域に対応する検出器とを対応させておけば、ユーザ3が選択した操作ボタンに対応する制御を起動することができる。
【0127】
上述した本発明の各実施形態に示したテレビジョン受像機1によれば、以下のような効果を奏する。テレビジョン受像機1の電源を入れる際、手の動作がビデオカメラ2の撮像範囲内であれば、電源のON/OFFやグラフィックスメニュー表示の制御をさせることができる。このときの手を縦または横に振る動作は、人にとって無理のない動作である。また縦の動作は「コイコイ」、横の動作は「バイバイ」と人にとって意味のある動作であり、これらの動作をその意味に添った形でテレビジョン受像機1の制御に利用することは、大変分かり易く使い勝手の良いものである。
また、ビデオカメラ2の撮像範囲内のどの位置にユーザ3がいても動作検出が可能であり、さらに活性化フラグによる制御で極めて誤認識の少ない正確な検出を行うことができる。またグラフィックス生成器16で生成したメニュー画像とビデオカメラ2が撮影したユーザ自身の映像を混合した画面上において所望のメニューを選択する操作方法にも応用ができ、同一の回路及びソフト処理で多様な活用が可能である。
【0128】
上述した本発明の各実施形態では、電子機器をテレビジョン受像機1とした例を示したが、これに特定するものでなく、電子機器に他のさまざまな電子機器にビデオカメラ2を搭載することで、応用することができる。またグラフィックメニュー画像にビデオカメラ2の画像を混合させたメニュー画面から、ユーザ3が所望の制御内容を示すメニュー画像を選択操作する方法については、ディスプレイ(表示装置)を有する電子機器であれば応用することができる。本発明は、リモコンが無くても電子機器を操作する世界を構築する上で有用な装置を提供することができる。
【図面の簡単な説明】
【0129】
【図1】本発明の電子機器操作方法の概要を説明するための図である。
【図2】本発明の一実施形態にかかるテレビジョン受像機の要部の構成を示すブロック図である。
【図3】操作者の動作が認識識されてテレビジョン受像機が制御される例を説明する図である。
【図4】ビデオカメラに撮影されたユーザの様子を表す図である。
【図5】y軸検出器と画面内の検出領域とそれを制御するタイミングパルスの関係を説明するための図である。
【図6】x軸検出器と画面内の検出領域とそれを制御するタイミングパルスの関係を説明するための図である。
【図7】図2に示す検出器の構成を示すブロック図である。
【図8】図7に示すオブジェクト抽出器の構成を示すブロック図である。
【図9】図8に示す特定色フィルタで抽出する対象物の色相及び飽和度を説明するための図である。
【図10】色差信号から色相を算出する処理のフローチャートである。
【図11】図8に示す階調限定器で抽出する対象物の輝度信号レベルを示す図である。
【図12】図8に示す動作検出フィルタの構成を示すブロック図である。
【図13】動作検出フィルタの特性を表す図である。
【図14】オブジェクト抽出器の出力が画面に映し出されているようすを描いた図である。
【図15】制御情報判断器(CPU)の構成を示すブロック図である。
【図16】オブジェクト特徴データ検出部内のヒストグラム検出器及び平均輝度検出器の出力信号をモデル化して描いた図である。
【図17】画面上に映された縦に動作する手と検出領域を表す座標との関係を説明するための図である。
【図18】x軸検出器及びy軸検出器の検出データと検出データから計算された重心の値を示す表である(手の動作が縦振りの場合)。
【図19】手のポジションの重心座標の変動を示すタイムチャートである(手の動作が縦振りの場合)。
【図20】高域通過フィルタの構成を示すブロック図である。
【図21】活性化フラグ(Flg_x)により検出領域を制限したときの画面とタイミングパルスを描いた図である。
【図22】y軸検出器のx軸タイミングパルスの生成方法を説明するための図である。
【図23】y軸検出器のx軸及びy軸両タイミングパルスによる制御内容を説明するための図である。
【図24】活性化フラグ(Flg_x)によって不要な検出器のデータが除かれたx軸検出器及びy軸検出器の検出データと検出データから計算された重心の値を示す表である(手の動作が縦振りの場合)。
【図25】相互相関デジタルフィルタの内容を説明するための図である(手の動作が縦振りの場合)。
【図26】相互相関デジタルフィルタ出力の変動を示すタイムチャートである(手の動作が縦振りの場合)。
【図27】画面上に映された横に動作する手と検出領域を表す座標との関係を説明するための図である。
【図28】x軸検出器及びy軸検出器の検出データと検出データから計算された重心の値を示す表である(手の動作が横振りの場合)。
【図29】手のポジションの重心座標の変動を示すタイムチャートである(手の動作が横振りの場合)。
【図30】活性化フラグ(Flg_y)により検出領域を制限したときの画面とタイミングパルスを描いた図である。
【図31】x軸検出器のy軸タイミングパルスの生成方法を説明するための図である。
【図32】x軸検出器のx軸及びy軸両タイミングパルスによる制御内容を説明するための図である。
【図33】活性化フラグ(Flg_y)によって不要な検出器のデータが除かれたx軸検出器及びy軸検出器の検出データと検出データから計算された重心の値を示す表である(手の動作が横振りの場合)。
【図34】相互相関デジタルフィルタの内容を説明するための図である(手の動作が横振りの場合)。
【図35】相互相関デジタルフィルタ出力の変動を示すタイムチャートである(手の動作が横振りの場合)。
【図36】動作検出方法の処理手順を示すフローチャートである。
【図37】第2実施形態の検出領域と対応する検出器とを示す図である。
【図38】第2実施形態の検出領域上に縦振り動作をする手を示した図である。
【図39】オブジェクト特徴データ検出部530を有する第2実施形態の検出器のブロック図である。
【図40】第2実施形態において差分が発生した検出領域を示す図である。
【図41】第2のオブジェクト抽出器510を示す図である。
【図42】第2実施形態におけるx軸検出器及びy軸検出器からの検出データを示す表である。
【図43】第2実施形態においてマスク処理された検出領域を示す図である。
【図44】本発明の一実施形態における操作者の画像とメニュー画像が混合されたメニュー画面の一実施例を描いた図である。
【図45】メニュー画面に対して動作する操作者のようすを描いた図である。
【符号の説明】
【0130】
1 テレビジョン受像器(電子機器)
2 ビデオカメラ
3 ユーザ(操作者)
12 タイミングパルス発生器
19 検出部
20 制御情報判断器(フラグ生成器、制御器)
20−1〜20−5 第1〜第5の動作検出器(生成器)
23 表示装置
301〜(300+n) 検出器
【技術分野】
【0001】
本発明は、ビデオカメラを搭載したテレビジョン受像機などの電子機器に関し、人の手などの動作の画像を認識して、電子機器の遠隔操作を行うための電子機器に関する。
【0002】
1980年代に赤外線リモートコントローラ(通称リモコン)がテレビジョン受像機をはじめとする家電機器に付属するようになり、手元で制御できるユーザインターフェースが広く普及し、家電製品の利用形態を大きく変貌させた。現在においてもこの操作形態が主流であるが、リモコンは一機能を一押しで実行する仕組みが基本となっており、例えばテレビジョン受像機では、「電源」「チャンネル」「音量」「入力切替」などのキーがそれに該当し、これまでのテレビジョン受像機にとって大変便利な遠隔の操作方法であった。
【0003】
しかしながら、リモコンが手元にない場合やリモコンの所在が不明な場合、大変不自由を強いられることを経験させられる。これに対して画像の動きや形状を認識して、電源のON/OFFなどの切替操作をする方式が検討されている。例えば手の動きや形状を認識して機器の操作に応用する技術が特開平11−338614号公報(特許文献1)に開示されている。これには手の動きや形状を検出するための検出装置として、専用の赤外線センサやイメージセンサを用いている。
【0004】
一方、最近始まったデータ放送は、所望のメニュー画面を選択するためには、リモコンの「上」「下」「左」「右」や「決定」キーを何度も押下する必要があり、リモコンでの操作は煩雑で使いづらくなっている。また、EPG(電子プログラムガイド)は、マトリクスに配列された案内画面から所望の位置を選択して、キーを押下するため、データ放送と同様の課題を有している。そして、このきめ細かな選択操作に対しても同様に画像の動きや形状の認識を活用し、多様な操作に対応できる方式が望まれている。
【0005】
特開2003−283866号公報(特許文献2)には、このような課題を解決するために、マウスまたはこれに類似した位置指定操作装置を使って得られる位置指定情報を、キー押下信号の時系列パターンであるキー押下時系列符号に符号化し、そのキー押下時系列符号をテレビジョン受像機に送信するようにした制御装置が提案されている。
【特許文献1】特開平11−338614号公報
【特許文献2】特開2003−283866号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
テレビジョン受像機など一般民生用AV機器(オーディオ機器やビデオ機器)では、従来リモコンを活用して遠隔操作を実現している。従って、リモコンが手元にない場合、例えば電源をONにする時は、リモコンの所在を確認してリモコンを取得し、該当するキーを選択操作する動作が必要であり、ユーザは不便を感じる。またリモコンの所在が分からない場合は、テレビジョン受像機本体の主電源のスイッチで電源をONにしなければならない。これらは往々にしてよく経験するリモコン操作に関する問題点である。
【0007】
一方電源をOFFにすることについても、リモコンがすでに手元にある場合はリモコンを大変便利に活用し、テレビジョン受像機の電源をOFFにできる。しかし、席を少し離れた場合などでリモコンが手元にない場合は、電源をONにする時と同様の課題がある。
【0008】
特許文献1に記載された制御方式に利用される動作は、円運動、上下運動、左右運動といった容易な動作であり、画像認識による操作が実現出来れば大変使い勝手の良い操作方法である。しかしながら、動作が容易である分、誤認識に対する耐性の問題のほか、妥当な規模での装置の実現や、他の画像認識処理装置との共通化の面で困難な課題を持っている。
【0009】
特許文献2に示された制御装置は、パーソナルコンピュータ(パソコン)の操作と酷似したポインティングを操作することにより、テレビジョン受像機を遠隔操作するものである。従って、パソコンを利用しない人にとっては使いづらいものとなり、情報リテラシー(情報を使いこなす能力)の観点から、パソコンの使い勝手をそのまま電子機器に導入することには無理がある。そこで、遠隔操作が求められる今日のテレビジョン受像機の利用形態にマッチした新たな操作手段が必要になっている。
【0010】
電源のON/OFFから2段階の選択操作の画像認識やメニュー画面選択などの多様な選択操作が求められる画像認識にまで、同じ手段を使い且つ妥当な装置規模で新たな操作手段が実現できることは、低廉な民生機器を提供する上で重要な課題である。また簡単な画像認識動作は、誤認識を生みやすく、例えばテレビを見ているさなかに認識動作に似た振る舞いで電源がOFFになるような致命的な誤作動を起こす可能性を含んでいる。
【0011】
本発明はこのような課題をふまえてなされたもので、画像認識を用いて電子機器を制御するに際に、認識のための単純な動作をノイズなどの影響を受けることなく更に正しく検出できる、電子機器を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記した課題を解決するために本発明は、次の(a)〜(f)の電子機器を提供するものである。
(a)電子機器において、表示装置23と、前記表示装置の前に位置する操作者3を撮影するビデオカメラ2と、前記ビデオカメラより出力された画像の画面を水平方向にN(Nは2以上の整数)分割、垂直方向にM(Mは2以上の整数)分割した複数の検出領域それぞれに対応して設けた複数の検出器を有し、前記複数の検出器を用いて前記ビデオカメラによって撮影された前記操作者が行う動作に基づいた第1の検出信号を発生する検出部19と、前記複数の検出器それぞれを前記複数の検出領域に対応させて動作させるためのタイミングパルスを供給するタイミングパルス発生器12と、前記第1の検出信号に基づいて第2の検出信号を生成する生成器20−1〜20−5と、前記第2の検出信号それぞれを所定の期間累積加算した加算値が、予め定めた閾値を超えるとフラグを生成するフラグ生成器20と前記複数の検出器の内、前記複数の検出領域の内の一部の検出領域に対応する検出器から出力された第1の検出信号に基づく第2の検出信号を有効とすると共に、他の検出器から出力された第1の検出信号に基づく第2の検出信号を無効とするよう制御する制御器20とを備え、前記タイミングパルス発生器は、前記フラグ生成器が前記フラグを生成した後の所定の期間、前記複数の検出器の内、前記フラグが生成された特定の検出器と、前記特定の検出器に対応した特定の検出領域に隣接する検出領域を少なくとも含む前記特定の検出領域の近傍の検出領域に対応する検出器とに対して選択的に前記タイミングパルスを供給することを特徴とする電子機器。
(b)前記ビデオカメラより出力された画像の画面を水平方向にN分割した検出領域に対応したN個の第1の検出器317〜325と、垂直方向にM分割した検出領域に対応したM個の第2の検出器301〜316とを備え、前記タイミングパルス発生器は、前記フラグ生成器が前記フラグを生成した後の所定の期間、前記制御器の制御に基づいて前記N個の第1の検出器または前記M個の第2の検出器に供給するタイミングパルスの幅を前記操作者が行う動作に応じて狭くすることを特徴とする(a)記載の電子機器。
(c)前記ビデオカメラより出力された画像の画面を水平方向にN分割、垂直方向にM分割して設けたN×M個の検出領域に対応したN×M個の検出器を備え、前記制御器は、前記フラグ生成器が前記フラグを生成した後の所定の期間、前記N×M個の検出器の内、前記フラグが生成された特定の検出器から出力された第1の検出信号に基づく第2の検出信号と、前記特定の検出器に対応した特定の検出領域に隣接する検出領域を少なくとも含む前記特定の検出領域の近傍の検出領域に対応する検出器から出力された第1の検出信号に基づく第2の検出信号とを有効とし、他の検出器から出力された第1の検出信号に基づく第2の検出信号を無効とするように制御することを特徴とする(a)記載の電子機器。
(d)前記電子機器は、前記ビデオカメラで撮影された画像の鏡像変換を行う鏡像変換器14と、少なくとも1つの操作用画像を生成する操作用画像生成器16と、前記鏡像変換器より出力された鏡像変換画像信号と前記操作用画像生成器より出力された操作用画像信号とを混合する混合器17とを備え、前記検出部は、前記混合器により混合された画像を前記表示装置に表示させた状態で、前記表示装置に表示された前記操作者が前記操作用画像を操作する所定の動作に対応した前記第1の検出信号を発生することを特徴とする(a)ないし(c)のいずれか一項に記載の電子機器。
(e)前記検出部は、前記ビデオカメラによって撮影された対象物を縦方向に移動させる第1の動作を検出した際に生成される第1の基準信号波形に対応するタップ係数と前記第2の検出信号とを乗算するデジタルフィルタknと、前記デジタルフィルタより出力される信号波形に基づいて前記操作者が行う動作が前記第1の動作であるか否かを検出する動作検出器20−1〜20−5とを備えることを特徴とする(a)ないし(d)のいずれか一項に記載の電子機器。
(f)前記検出部は、前記ビデオカメラによって撮影された対象物を横方向に移動させる第2の動作を検出した際に生成される第2の基準信号波形に対応するタップ係数と前記第2の検出信号とを乗算するデジタルフィルタknと、前記デジタルフィルタより出力される信号波形に基づいて前記操作者が行う動作が前記第2の動作であるか否かを検出する動作検出器20−1〜20−5とを備えることを特徴とする(a)ないし(d)のいずれか一項に記載の電子機器。
【発明の効果】
【0013】
本発明によれば、画像認識を用いて電子機器を制御するに際に、認識のための単純な動作をノイズなどの影響を受けることなく更に確実に検出できる。
【発明を実施するための最良の形態】
【0014】
本発明の一実施形態を図面を参照して以下に説明する。
図1は、従来のリモコン装置による操作形態と、本発明の操作形態との違いを説明するための図である。ユーザ(操作者)3が、テレビジョン受像機1を操作する場合、従来はユーザ3がリモコン装置4を手に持って所望の機能を働かせるキーをテレビジョン受像機1に向けて押下することによって操作がなされる。従って、リモコン装置4が無ければ操作が出来ず、不便を強いられる場合を時々経験する。
【0015】
本実施形態では、図1に示すようにテレビジョン受像機1にビデオカメラ2が設けられており、ビデオカメラ2によりユーザ3が撮影され、ビデオカメラ2の画像からユーザ3の動作を検出して、テレビジョン受像機1及びそれに関連する機器の操作が行われる。
検出されるユーザ3の動作とは、具体的にはテレビジョン受像機1の電源ON/OFF制御やメニュー画面の表示/非表示の制御、メニュー画面から所望のボタンを選択する制御に対応した、ユーザ3の身体(手、足、顔など)を使った特定の動作であり、この特定の動作を検出することで電子機器の操作を行う。本実施形態ではもっとも現実的な手の動きで操作する方法について、説明する。
【0016】
図2は、テレビジョン受像機1の構成を示すブロック図である。テレビジョン受像機1は、基準同期発生器11、タイミングパルス発生器12、グラフィックス生成器16、ビデオカメラ2、鏡像変換器14、スケーラ15、第1の混合器17、画素数変換器21、第2の混合器22、表示装置23、検出部19、及び制御情報判断器(CPU)20を備えている。
【0017】
基準同期発生器11は、テレビジョン受像機1の基準になる水平周期パルスと垂直周期パルスを発生させる。テレビジョン放送受信時や外部の機器から映像信号が入力されている場合は、その入力信号の同期信号に同期するパルスを生成する。タイミングパルス発生器12は、後述する図4に示す各検出ブロック(検出領域)で必要とする水平方向と垂直方向の任意の位相と幅を有するパルスを生成する。
ビデオカメラ2は、図1に示すようにテレビジョン受像機1の前面に位置してユーザ(操作者)3、またはテレビジョン受像機1の前の映像を撮影する。ビデオカメラ2の出力信号は、輝度(Y)信号、及び色差(R−Y、B−Y)信号で、基準同期発生器11から出力される水平周期パルス及び垂直周期パルスに同期している。また、本実施形態では、ビデオカメラ2で撮像される画像の画素数は、表示装置23の画素数と一致しているものとする。なお、画素数が一致していない場合は画素数変換器を挿入し画素数を一致させればよい。
【0018】
鏡像変換器14は、ビデオカメラ2で撮影した被写体像(ユーザ3)を表示装置23上に鏡と同じように左右を反転して表示するためのものである。従って、文字を表示する場合は鏡と同じように左右が反転することになる。本実施形態では、メモリを活用して水平方向の画像を反転させる手法により鏡像変換が行われる。
表示装置23としてCRT(Cathode Ray Tube、陰極線管)を用いる場合には、水平偏向を逆に操作することで同様の効果が得られる。その場合には、グラフィックスやその他混合する側の画像をあらかじめ水平方向に左右逆転しておく必要がある。
【0019】
スケーラ15は、ビデオカメラ2により撮影した被写体像の大きさを調整するもので、制御情報判断器(CPU)20の制御で拡大率と縮小率を2次元で調整する。また、拡大縮小を行わずに、水平と垂直の位相調整を行うこともできる。
【0020】
グラフィックス生成器16は、制御情報判断器(CPU)20から転送されるメニュー画面を展開するもので、メモリ上の信号がR(赤)信号、G(緑)信号、B(青)信号の原色信号で展開されていても、後段で映像信号と合成または混合される出力信号は、輝度(Y)信号と色差(R−Y、B−Y)信号とする。また生成されるグラフィックスのプレーン数は限定するものではないが、説明に要するものは1プレーンである。
画素数は、本実施形態では表示装置23の画素数に一致させるようにしている。一致していない場合は、画素数変換器を入れて一致させる必要がある。
【0021】
第1の混合器17は、グラフィックス生成器16の出力信号Gsと、スケーラ15の出力信号S1とを、制御値α1により混合割合を制御して混合する。具体的には、下記式で出力信号M1oが表される。
M1o=α1・S1+(1−α1)・Gs
制御値α1は、「0」から「1」の間の値に設定され、制御値α1を大きくするとスケーラ14の出力信号S1の割合が大きくなり、グラフィックス生成器16の出力信号Gsの割合が小さくなる。混合器の例としてはこれに限らないが、本実施形態では、入力される2系統の信号情報が入っていれば同様の効果が得られる。
【0022】
検出部19は、第1の検出器301、第2の検出器302、第3の検出器303、…、第nの検出器(300+n)からなる。検出部19に含まれる検出器は数を特定するものではないが、本発明の第1実施形態においては25個の検出器を備え、それらは後述する水平方向のタイミングで機能する第1の検出器301〜第16の検出器316の16個と、垂直方向のタイミングで機能する第17の検出器317〜第25の検出器325の9個からなる。
検出器の数はこれに限定されるものではなく、検出精度を上げるためには検出器の数は多いほどよいが、処理規模との関係で数を調整することが好ましい。第1実施形態では25個、第2実施形態では144個の検出器を用いる。
【0023】
制御情報判断器(CPU)20は、検出部19から出力されるデータの解析を行い、各種制御信号を出力する。制御情報判断器20の処理内容は、ソフトウェアで実現するものとなり、アルゴリズムについては詳細に後述する。本実施形態では、ハードウェア(各機能ブロック)による処理と、ソフトウェア(CPU20上で展開)による処理が混在するが、特にここで示す切り分けに限定するものではない。
【0024】
画素数変換器21は、外部から入力される外部入力信号の画素数と表示装置23の画素数を合わせるための画素数変換を行う。外部入力信号は、放送されているテレビ信号(データ放送なども含む)やビデオ(VTR)入力など、テレビジョン受像機の外部から入力されてくる信号を想定している。外部入力信号の同期系については、ここでの説明から省いてあるが、同期信号(水平及び垂直)を取得し、基準同期発生器11にて同期を一致させている。
【0025】
第2の混合器22は、第1の混合器17と同様の機能を有する。すなわち、第1の混合器17の出力信号M1oと、画素数変換器21の出力信号S2とを制御値α2で混合割合を制御して混合する。具体的には、下記式で出力信号M2oが表される。
M2o=α2・M1o+(1−α2)・S2
制御値α2は、「0」から「1」の間の値に設定され、制御値α2を大きくすると第1の混合器17の出力信号M1oの割合が大きくなり、画素数変換器21の出力信号S2の割合が小さくなる。混合器の例としてはこれに限らないが、本実施形態では、入力される2系統の信号情報が入っていれば同様の効果が得られる。
【0026】
表示装置23は、CRT、液晶ディスプレイ(LCD)、プラズマディスプレイ(PDP)、あるいはプロジェクションディスプレイなどを想定しているが、ディスプレイの表示方式を限定するものではない。表示装置23の入力信号は、輝度信号と、色差信号であり、表示装置23の内部にてRGB原色信号にマトリクス変換されて表示される。
【0027】
以上のように構成されたテレビジョン受像機1の動作を、ユーザ3の動作を交えて説明する。図3はユーザ3が行う手の動作と、その動作に対応するテレビジョン受像機1の制御内容について説明するための図である。図3(A)には、テレビジョン受像機1の前に立ったユーザ3が行う手の動作のイメージが矢印で示されている。本実施形態ではユーザ3が行う動作を、「手を縦(上下)に振る」、「手を横(左右)に振る」の2つの動作とする。
図3(B)(1)〜(B)(3)(以降、(B)(1)をB−1と示す。他も同様)は、ユーザ3が行う手の動作に対応した制御が実行されたテレビジョン受像機1の、表示装置23に表示される内容の移り変わりをそれぞれ示す。本実施形態の場合、テレビジョン受像機1に対する制御内容は、「電源をOFFからONにする」、「メニュー画面を表示させる」、「メニュー画面を消す」、「電源をONからOFFにする」の3つの制御である。
ユーザ3が行う手の動作とテレビジョン受像機1の制御内容との対応関係は、ユーザ3が「手を縦に振る」動作は、「テレビジョン受像機1の電源がOFFの場合、電源がONになる」及び「テレビジョン受像機1の電源がONの場合、メニュー画面が表示される」制御に対応する。「手を横に振る」動作は、「テレビジョン受像機1がどのような画面状態であっても電源をOFFにする」制御に対応する。
【0028】
図3(B−1)は、テレビジョン受像機1の電源がOFFのままで、表示装置23には何も表示されていない状態を示している。この状態でユーザ3が手を縦(上下)に振ると、その動作がビデオカメラ2によってとらえられ、テレビジョン受像機1の電源がONになり、表示装置23には図3(B−2)に示すようにテレビ画面(番組)が表示される。
最初、図3(B−1)に示すとおり、表示装置23には何も表示されていないので、ユーザ3はビデオカメラ2によって撮影された自身の映像を確認することができない。そのためユーザ3は、ビデオカメラ2に必ず写る位置に立っていることが必須であり、テレビジョン受像機1は、ビデオカメラ2によって撮影されたビデオ画像内のどこにユーザ3がとらえられても、ユーザ3の動作を認識できる必要がある。この場合、表示装置23とグラフィックス生成器16は無くても支障はない。
【0029】
さらに、表示装置23に図3(B−2)に示すテレビ画面が表示されている状態(視聴状態)で、ユーザ3が手を縦(上下)に振ると、表示装置23の表示内容は図3(B−3)に示すメニュー画面に変わり、ここからチャンネル変更などの選択動作に移ることになる。この場合も、表示装置23は初めはテレビ画面を表示しているだけであり、ユーザ3がビデオカメラ2によって撮られた自分の映像を表示装置23に表示させて確認することはできない。従って上記同様、テレビジョン受像機1はユーザ3がビデオカメラ2によって撮影された画像のどこにいても、ユーザ3の動作を認識しなくてはならない。
表示装置23がテレビ画面を表示している状態(図3(B−2))で、ユーザ3が手を横(左右)に振った時は、テレビジョン受像機1の電源がOFFになり、図3(B−1)に示す状態になる。メニュー・データ放送・EPGなどのあらゆる画面を表示している状態(図3(B−3))で、ユーザ3が手を横に振った時は、図3(B−2)に示す状態、あるいは図3(B−1)に示す状態になる。
【0030】
本実施形態で採用する手を縦や横に振る動作は、人が日常に行う動作内容であり、縦に手を振る動作は一般に「来い来い(コイコイ)」と呼びかける意味を持っており、先に述べたように次の状態に入る(移る)という意味づけにおいても適切な動作と言える。また、横に手を振る動作は「バイバイ」と別れるときの動作であり、これについても特定の状態から抜け出るという意味づけにおいて適切な動作と言える。この動作の意味づけは国や人種によって異なるために、他の動作を採用する場合も考えられるが、出来るだけ動作の意味づけにそっていることが使いやすさの面から好ましい。
【0031】
ここでは簡単な分かりやすいテレビジョン受像機1の制御例をあげたが、テレビジョン受像機1の有する機能に基づいて、商品企画に合わせて適宜制御内容を変えればよい。
また、ビデオカメラ2の撮影範囲は、テレビジョン受像機1の電源をOFFからONにさせる場合は、ユーザ3が最適視聴ポイントから離れている場合を考慮し、広角にして出来るだけ動作を認識する範囲を広くすることが好ましい。そしてテレビ番組を視聴している状態からメニュー画面などに表示画面を変えるときは、ユーザ3は最適視聴ポジションに近い位置に位置していることが考えられるので、ビデオカメラ2の撮影範囲はある程度絞ることが可能である。
【0032】
図4は、ユーザ3の手の動作を検出する検出領域を説明するための図である。図4は、ビデオカメラ2にて撮影されたユーザ3の映像と、水平方向x及び垂直方向yの座標とを示す。本実施形態では、ビデオカメラ2より出力された画像の画面を水平方向に16分割、垂直方向に9分割して設けた複数の検出領域で、ユーザ3の手の動作を認識する。図4に示すとおり、画像を表示装置23に表示させた水平:垂直が16:9のアスペクト比であるテレビジョン受像機1では、既述したように画面を水平16、垂直9に分割すると、垂直(y軸)方向と水平(x軸)方向との分割によって形成される1つの区画は正方形になる。各分割数は2以上の整数で、適宜設定すればよい。
ユーザ3による手の動作を検出する際に、画面をx軸方向に分割して設けた16個の検出領域と、y軸方向に分割して設けた9個の検出領域との、全25個の検出領域(1次元)を用いる場合と、画面をx軸方向に16分割、y軸方向に9分割して、これらの分割によって形成された1つの区画を1つの検出領域とする、全144個の検出領域(2次元)を用いる場合とが考えられる。検出領域が25個であれば、ハードの規模を削減でき好ましい。また、検出領域を144個として処理する場合でも、各検出領域からの情報をx軸とy軸それぞれの情報に変換すれば検出領域が25個のときと同様な処理が適応できる。
【0033】
まず、本発明の第1実施形態として、画面に全25個の検出領域を設ける場合について説明する。図5は、ビデオカメラ2より出力された画像の画面をy軸方向に9個に分割した検出領域について説明するための図である。図5は、ビデオカメラ2で撮影されたユーザ3の手の画像と、y軸方向に分割された破線の四角形で示す9個の検出領域と、タイミングパルスとを示し、更に各検出領域それぞれに対応する第17の検出器317〜第25の検出器325(y軸検出器)を示す。
各検出領域にはy軸方向の画面の中心を0として、−4〜+4までの位置関係を示す座標が付されている。y軸の座標が−4の検出領域には第17の検出器317、−3の検出領域には第18の検出器318、−2の検出領域には第19の検出器319がそれぞれ対応し、y軸の座標が−1〜+4の各検出領域には、第20の検出器320〜第25の検出器325がそれぞれ対応する。各y軸検出器317〜325は、ユーザ3が行う手の動作に基づいた検出信号を発生する検出器である。
【0034】
各y軸検出器317〜325は、タイミングパルス発生器12から供給されるタイミングパルスによって動作する。図5には、第19の検出器319をy軸の座標が−2の検出領域に対応させて動作させるためのタイミングパルスと、第25の検出器325をy軸の座標が4の検出領域に対応させて動作させるためのタイミングパルスとのそれぞれを、y軸(垂直)方向とx軸(水平)方向共に示す。
x軸方向に示すタイミングパルスは有効映像期間の水平方向の幅に相当する幅を有するパルスとなり、y軸方向に示すタイミングパルスは有効映像期間の垂直方向の幅を9個に分割した幅に相当するパルスである。その他の各y軸検出器にも、同様のタイミングパルスがそれぞれ入力される。
【0035】
図6は、ビデオカメラ2より出力された画像の画面をx軸方向に16個に分割した検出領域について説明するための図である。図6は、ビデオカメラ2で撮影されたユーザ3の手の画像と、x軸方向に分割された破線の四角形で示す16個の検出領域と、タイミングパルスとを示し、更に各検出領域それぞれに対応する第1の検出器301〜第16の検出器316(x軸検出器)を示す。
各検出領域にはx軸方向の画面のほぼ中心を0として、−8〜+7までの位置関係を示す座標が付されている。x軸の座標が−8の検出領域には第1の検出器301、−7の検出領域には第2の検出器302、−6の検出領域には第3の検出器303がそれぞれ対応し、x軸の座標が−5〜+7の各検出領域には、第4の検出器304〜第16の検出器316がそれぞれ対応する。各x軸検出器301〜316は、ユーザ3が行う手の動作に基づいた検出信号を発生する検出器である。
【0036】
各x軸検出器301〜316は、タイミングパルス発生器12から供給されるタイミングパルスによって動作する。図6には、第2の検出器302をx軸の座標が−7の検出領域に対応させて動作させるためのタイミングパルスと、第16の検出器316をx軸の座標が7の検出領域に対応させて動作させるためのタイミングパルスとのそれぞれを、x軸(水平)方向とy軸(垂直)方向共に示す。y軸に示すタイミングパルスは有効映像期間の垂直方向の幅に相当する幅を有するパルスとなり、x軸に示すタイミングパルスは有効映像期間の水平方向の幅を16個に分割した幅に相当するパルスである。その他のx軸検出器にも、同様のタイミングパルスがそれぞれ入力される。
【0037】
第1の検出器301〜第25の検出器325は、図7に示すように、それぞれ第1のオブジェクト抽出器51と、タイミングゲート器52と、オブジェクト特徴データ検出部53とを備えている。タイミングゲート器52は、図5及び図6に示したようなタイミングパルスに従い、ビデオカメラ2からの画像信号の通過を制御する。
画像信号が通過する領域は、図5及び図6に破線の四角形で示す各検出領域内になる。この検出領域内に限定した信号に、後述するさまざまなフィルタ処理を行い、ビデオカメラ2で捉えたユーザ3の手を抽出する。
【0038】
第1のオブジェクト抽出器51は、画像の特徴に添ったフィルタを備えており、本実施形態ではユーザ3の手を検出するために、特に肌色に着目したフィルタ処理及び動きを検出する動作検出フィルタ処理を行う。第1のオブジェクト抽出器51は、具体的には、図8に示すように、特定色フィルタ71と、階調限定器72と、動作検出フィルタ75と、合成器73と、オブジェクトゲート器74とを備えている。
特定色フィルタ71について図9を参照して説明する。図9は、色差平面図で、縦軸をR−Y、横軸をB−Yとしたものである。テレビ信号のすべての色信号はこの座標上のベクトルで表すことができ、極座標で評価することができる。特定色フィルタ71は、色差信号で入力される色信号の色相と色の濃さ(飽和度)を限定するものである。これを特定するために色相は、第1象限のB−Y軸を基準(0度)として左回りの角度で表現するものとする。また飽和度は、ベクトルのスカラ量となり、色差平面の原点が飽和度0(零)で色がない状態となり、原点から離れるにしたがい飽和度が大きくなり色が濃いことを示す。
【0039】
図9では、特定色フィルタ71により抽出される範囲は、等色相線L1に対応する角度θ1より小さくかつ等色相線L2に対応する角度θ2の範囲に設定され、また色の濃さは等飽和度線L3より大きくL4より小さい範囲に設定されている。第2象限のこの範囲は、本実施形態で抽出する人間の手の色である肌色の領域に相当するが、抽出する色の領域は特にこれに限定するものではない。
特定色フィルタ71は、ビデオカメラ2から入力される色差信号(R−Y、B−Y)から角度と飽和度を算出し、色差信号が等色相線と等飽和度線で囲まれた領域に入っているか否かを検出する。
【0040】
角度算出は、一例として図10にフローチャートで示すような角度算出処理によって、入力画素それぞれについて、図9に示す色差平面上でなす角度を算出する。本実施形態では、角度算出処理をハードウェアで実現しているが、ソフトウェア、ハードウェアのいずれで実現してもよい。
初めに図10に示すステップS401にて、入力画素それぞれの色差信号R−Y,B−Y成分の符号より、入力画素の色相が、色差平面上の第何象限に位置しているかを検出する。
次にステップS402にて、色差信号R−Y,B−Y成分それぞれの絶対値|R−Y|、|B−Y|を比較して、大きいほうをA、小さいほうをBとして算出する。
【0041】
そして、ステップS403にて、B/Aより角度T1を検出する。この角度T1は、ステップS402での処理より明らかなように、0°〜45°となる。角度T1は、折れ線近似やROMテーブルによって算出することができる。
ステップS404にて、Aが|R−Y|であるか、即ち、|R−Y|>|B−Y|であるか否かを判定する。判定がNO、つまり|R−Y|>|B−Y|でなければ、そのままステップS406に進む。判定がYES、つまり|R−Y|>|B−Y|であれば、ステップS405に進み、角度T1を、(90−T1)なる角度Tに置き換える。これによって、tan-1((R−Y)/(B−Y))が求められる。
【0042】
ステップS403において検出する角度T1を0°〜45°としているのは、tan-1((R−Y)/(B−Y))のカーブは45°を超えると急激に勾配が大きくなり、角度の算出に不適であるからである。
さらに、ステップS406にて、ステップS401にて検出した象限のデータを用いて第2象限か否かを判定し、第2象限であれば、ステップS407に進み、T=180−T1を算出する。第2象限でなければ、ステップS408に進み、第3象限か否かを判定し、第3象限であれば、ステップS409に進み、T=180+T1を算出する。
第3象限でなければ、ステップS410に進み、第4象限か否かを判定し、第4象限であれば、ステップS411に進み、T=360−T1を算出する。第4象限でもない、すなわち第1象限であるときは、ステップS412にて角度TをT1とする。そして、最終的に、ステップS413にて、入力画素それぞれの図9の色差平面上でなす角度Tを出力する。
【0043】
以上の処理により、入力された色差信号R−Y,B−Yの色差平面上での角度を0°〜360°の範囲で求めることができる。ステップS404〜S411は、ステップS403にて検出した角度T1を角度Tに補正する処理である。また、ステップS404〜S411は、角度T1を、第1象限〜第4象限に応じて補正している。
【0044】
次に色の濃さである飽和度の算出は、下記の式により行われる。
Vc=sqrt(Cr×Cr+Cb×Cb)
Vcはベクトルのスカラ量であり、ここでは飽和度を表す。Crは、図9に示すように色信号の(R−Y)軸成分であり、Cbは(B−Y)軸成分である。またsqrt( )は平方根の演算を行う演算子である。
【0045】
ここでの処理はソフトウェアまたはハードウェアを特定するものではないが、乗算と平方根はハードウェアでは実現が容易でなく、またソフトウェアでも演算のステップが多く、好ましくないので以下のように近似することもできる。
Vc=max(|Cr|,|Cb|)+0.4×min(|Cr|,|Cb|)
ただし、max(|Cr|,|Cb|)は、|Cr|と|Cb|のうち、大きいほうを選択する演算処理であり、min(|Cr|,|Cb|)は、|Cr|と|Cb|のうち、小さいほうを選択する演算処理である。
【0046】
以上より求めた角度(色相)Tと飽和度Vcが、等色相線の角度θ1からθ2の範囲、色の濃さは等飽和度線L4より小さくかつL3より大きい範囲に入っているか否かを評価する。この範囲に入っている信号を通過させるのが、図8に示す特定色フィルタ71の役割である。
【0047】
図8の階調限定器72は、図11に示すように、輝度信号の特定の階調の範囲を限定する。8ビットデジタル信号の場合、0〜255までの256階調において階調の最大レベルLmax及び最小レベルLminを任意に設定し、LmaxからLminの間に含まれる階調レベルの輝度信号を出力する。
【0048】
図8の動作検出フィルタ75について、図12及び図13を使って説明する。動作検出フィルタ75は、図12に示すように、1フレーム遅延器75−1と、減算器75−2と、絶対値器75−3と、非線形処理器75−4と、量子化器75−5とを備えており、入力される輝度信号から画像の動きを検出する。
1フレーム遅延器75−1でビデオカメラ2からの画像信号は1フレーム遅延され、減算器75−2に入力される。減算器75−2は、ビデオカメラ2からの画像信号と1フレーム遅延器75−1からの画像信号との差分を算出し、絶対値器75−3に出力する。減算の符号の向きは、特に規定するものではない。差分信号は信号のレベルによって正負の両方の値が出力されるため、絶対値器75−3は、減算器75−2から入力される差分値を絶対値化して、非線形処理器75−4に出力する。
【0049】
非線形処理器75−4は、入力された絶対値化された差分信号に対して、図13に示す入出力特性に基づいて非線形処理を施す。図13(A)において、横軸は絶対値器75−3から入力された絶対値化された差分信号を、縦軸は非線形処理器75−4から出力される信号を示す。a値及びb値は、それぞれ範囲R1及びR2の範囲内で可変できる。
非線形処理器75−4の出力信号は量子化器75−5に入力され、図13(B)に示す所定の閾値に基づいて2値化される。
【0050】
図8の合成器73は、特定色フィルタ71と階調限定器72と動作検出フィルタ75とから入力される信号を合成し、領域パルスに変換する。本実施形態では、特定色フィルタ71を通過した信号と階調限定器72を通過した信号と動作検出フィルタ75を通過した信号とが全て存在する場合に、ハイレベルとなる領域パルスを出力する。
【0051】
合成器73で生成された領域パルスは、オブジェクトゲート器74に供給される。オブジェクトゲート器74は、領域パルスがハイレベルであるとき、輝度信号と色差信号を通過させる。領域パルスがローレベル(領域パルス外の範囲)であるときは、入力信号(輝度信号及び色差信号)を通過させず、規定した値の信号を出力する。本実施形態では、黒レベルの輝度信号及び飽和度0の色差信号を出力する。
【0052】
特定色フィルタ71は、色差信号で入力される色信号の色相(角度)と飽和度を限定し、階調限定器72は輝度信号の特定の階調の範囲を限定し、動作検出フィルタ75は輝度信号を画像の動きに応じて限定する。
特定色フィルタ71で色相と飽和度を限定することで、人の肌色に絞ることはできるが、人の肌は日焼け具合で変化し、また人種によっても異なるため、肌色といってもさまざまである。従って、制御情報判断器20より入力される制御信号によって、特定色フィルタ71で色相、飽和度を調整し、階調限定器72で輝度信号の階調限定の範囲を調整すれば、槻ね人の手を検出することができる。更に、動作検出フィルタ75によって、画像の動きに基づいて人の手を抽出し、識別することができる。
【0053】
図14(A)は、第1のオブジェクト抽出器51の出力信号が、表示装置23に表示されている図である。ビデオカメラ2で撮影された画像において、手の画像は第1のオブジェクト抽出器51によって抽出された信号に基づいて表示され、手の画像以外のところは輝度信号を黒レベルとしたため、何も表示されていない。この抽出された信号から、画像の持つ特徴と画面上の位置及び動作の内容を分析し、ユーザ3が意図的な動作をしたことを認識する。
図14(B)には、各検出領域に対応して設けられた各検出器を動作させるためのタイミングパルスに基づいて、図7のタイミングゲート器52でゲートされた映像信号による映像を示す。ここには代表例として、y軸座標が0(零)の検出領域に対応する第21の検出器321と、y軸座標が−1の検出領域に対応する第20の検出器320それぞれの、タイミングゲート器52からの出力信号を示す。
【0054】
図14(A)に示す画像の信号から、さらにその特徴を検出するフィルタ処理を、オブジェクト特徴データ検出部53が行う。オブジェクト特徴データ検出部53は、図15に示すように、画像からさまざまな特徴を検出する機能ブロック、すなわちヒストグラム検出器61、平均輝度(APL)検出器62、高域発生量検出器63、最小値検出器64及び最大値検出器65を備える。この他にも画像を特徴づける要件はあるが、本実施形態ではこれらの検出器61〜65より発生される検出信号に基づいて、第1の動作検出器20−1〜第5の動作検出器20−5によって検出領域において検出された手の領域を示す検出信号を生成し、映像信号が手を映したものであることを判別すると共に、その手の動作を認識する。
【0055】
ヒストグラム検出器61、平均輝度(APL)検出器62、高域発生量検出器63、最小値検出器64及び最大値検出器65は、本実施形態ではハードウェアにて構成され、空間内の検出領域内の各特徴を表すデータ(検出信号)を画面単位(フィールド及びフレーム単位:垂直周期単位)で生成して、CPUバスを介して制御情報判断器20へと送出する。
制御情報判断器20は、各検出器61〜65から送られたデータをソフトウェア上で変数として格納し、データ処理を行う。
【0056】
ヒストグラム検出器61は、タイミングゲート器52から出力された輝度信号の階調を例えば8ステップに区切って各ステップに存在する画素の数をカウントし、1画面(1フィールドまたは1フレーム画面)ごとにヒストグラムを示すデータを第1の動作検出器20−1へ出力する。平均輝度検出器62は、同様に1画面内の輝度レベルを加算し、全画素数で割った1画面の平均輝度値を第2の動作検出器20−2へ出力する。
高域発生量検出器63は、空間フィルタ(2次元フィルタ)にて高域成分を抽出し、1画面内における高域成分の発生量を第3の動作検出器20−3に出力する。最小値検出器64は、1画面の輝度信号の最小階調値を、また最大値検出器65は1画面内の輝度信号の最大階調値をそれぞれ、第4の動作検出器20−4,第5の動作検出器20−5へ出力する。
【0057】
第1の動作検出器20−1〜第5の動作検出器20−5は、受け取ったデータを変数として格納し、ソフトウェアにてデータを処理する。後述する手の動作を検出する処理は、本実施形態ではソフトウェアによる処理となる。制御情報判断器20は、更に第1の動作検出器20−1〜第5の動作検出器20−5からの検出信号を基に、制御信号を発生する制御情報発生器20−10を備える。
【0058】
図16には、オブジェクト特徴データ検出部53のうち、ヒストグラム検出器61と平均輝度検出器62から出力されるデータをモデル化したものを示す。図16は横軸を0〜7までの8ステップに区切った階調(明るさ)とし、縦紬を頻度としたヒストグラムである。平均輝度(APL)は、大きさが感覚的に分かるように矢印で示した。
図16(A)は、図14(B)の第20の検出器320を構成するヒストグラム検出器61と平均輝度検出器62の出力を示す。図14(B)に示すとおり、第20の検出器320では検出領域に手がかざされていないため、第1のオブジェクト抽出器51で手が検出されず、第1のオブジェクト抽出器51から出力された信号は黒レベルでマスキングされている。従って、図16(A)に示すヒストグラムは最低階調(0)の部分のみのデータとなっている。また基本的に信号が黒なのでAPLは0(零)であるが、信号レベルの低さを明示するために短い矢印とした。
【0059】
図16(B)は、図14(B)の第21の検出器321を構成するヒストグラム検出器61と平均輝度検出器62の出力を示す。図14(A)に示すとおり、第21の検出器321では検出領域にかざされた手を第1のオブジェクト抽出器51で検出しているので、図16(B)に示すヒストグラム検出器61の出力はマスキングされている黒レベルの階調0以外に、手の明るさの階調に頻度が分布する。またAPLについても、手の信号成分により平均輝度が上昇するため長い矢印で示した。
本実施形態では、ヒストグラム検出器61から出力されるデータの、最低階調(0)以外の総和を求めて、検出領域にかざされている手の領域を示すデータとする。すなわち、検出領域に対応して設けられた検出器のオブジェクト抽出器51が動作している手を抽出した出力信号を基にヒストグラム検出器61が第1の検出データを発生させ、第1の動作検出器20−1が第1の検出データに基づいて、検出領域から抽出された手の領域を示す第2の検出データを生成する。
またヒストグラム検出器61によって、黒とそれ以外の成分とを分けた2段階の階調から頻度を算出することでも、所定の動作を行うことで検出領域にかざされた手を抽出できる。従って、0階調とそれ以外の2階調に簡略化したヒストグラム検出器61からの第1の検出データに基づいて手の領域を示す第2の検出データを求めてもよい。
更に本実施形態では、ヒストグラム検出器61から出力された第1の検出データに基づいて第1の動作検出器20−1において第2の検出データを生成したが、これに限らず、各検出器301〜325が備えるオブジェクト特徴データ検出部53から出力された第1の検出データに基づいて、制御情報判断器20において第2の検出データを生成すればよい。
【0060】
図17は、ビデオカメラ2で撮影される領域内でユーザ3が手を縦(上下)に動かした場合のビデオカメラ2で撮影された手の画像の一例である。手が動く方向を示す矢印及び、画面内に配置された検出領域のxy座標を共に示す。図17(A)、(B)、(C)、(D)に、動いている手の4つの位置を抜き出して示す。図17(A)は最も手が上に存在する場合、図17(B)は手を少し振り下ろした場合、図17(C)はさらに手を振り下ろした場合、図17(D)は最も手が下に存在する場合である。
本実施形態では手を4回上下に動かした。すなわち手を、図17の、(A)(B)(C)(D)(D)(C)(B)(A)を1サイクルとし、4サイクル動かした。このような上下運動の場合、x軸については手はほとんど動かず、同一の座標上にある。一方、y軸については手の座標は上下に変動する。従って、検出されるデータは上下のピークを繰り返した4サイクルになり、各座標の検出領域に対応して設けられた各検出器からの出力データの変動値になって現れる。
【0061】
図18は、図17に示す手の上下運動の検出結果のうち、各検出器301〜325の各ヒストグラム検出器61が出力するデータ値と、それを処理した内容を表にして示す。この表の一番左の列は項目名であり、項目名列の右側には時間の経過と共に変化する各項目のデータ値が示されている。
項目のCycleは上記した手の上下運動の周期(サイクル)を示し、この表では全4サイクルのうち初めの2サイクルまでを書き出して示している。項目のnは画像のフレーム番号を示し、一般的なビデオ信号の場合は60Hz周期となり、インターレースの場合は2フィールドで1フレームとなり1垂直周期を60Hz周期とする。
項目のphは上下運動をしている手が、どのポジションにあるかを示しており、A、B、C、Dはそれぞれ図17の(A)、(B)、(C)、(D)に対応している。項目のx(i)(i=−8〜+7)は、第1の検出器301〜第16の検出器316のヒストグラム検出器61から前述したように得られた、対応する検出領域における第1の検出データに基づく、手の領域を示す第2の検出データをそれぞれ示している。同様に項目のy(j)(j=−4〜+4)は、第17の検出器317〜第25の検出器325のヒストグラム検出器61から得られた、各検出器301〜325に対応する検出領域において抽出された手による第1の検出データに基づく手の領域を示す第2の検出データを示している。なお、項目XVS、XVSG、XG、YVS、YVSG、YGについては各検出器301〜325から得られたデータを処理した内容であり、後で詳細に記述する。
【0062】
図17(A)〜(D)に示した一例では、手は上下方向に動かされており、x軸に関しては動いている手の位置に変化は無いため、項目x(i)のデータは変動しない。図17(A)〜(D)に示すとおり、手はx座標5を中心にx座標4〜6上にあり、図18の表の項目x(4)、x(5)、及びx(6)に手を検出した値が示されている。その他の項目x(i)は、第1のオブジェクト抽出器51でマスキングされているので値は0(零)となっている(フレーム番号11の項目x(1)、y(−2)、y(−3)を除く)。
これはあくまでも理想的な場合で、もしユーザ3の手以外で肌色を示すものが動いていると、手がかざされている検出領域の座標以外の座標においても検出された値が生じ、手の動きの検出にとってはノイズとなる。このようなノイズをいかに抑圧して、手の動作を操作情報として認識するかがポイントとなる。
y軸に関しては、上下に手を動かしているので項目y(j)のデータが変動する。図17(A)では、手はy座標2及び3上にあるため、図18の項目y(2)及びy(3)のフレーム番号0の欄に検出された値が示されている。同様に図17(B)、(C)、及び(D)についても、それぞれの手がかざされているy座標に対応する項目y(j)に、検出されたそれぞれの値が示されている。
【0063】
図18に示す項目x(i)、y(j)のデータ(第2の検出データ)の値は、ヒストグラム検出器61が検出した信号に基づいたものである。本実施形態では画面をx軸方向は16、y軸方向は9に分割して設けた、25個の検出領域が交差する区画の1つを100(領域)という値とし、第1の検出データのスケール調整をした。第2の検出データは、検出領域にかざされた手を抽出した出力信号より生成した第1の検出データに基づいた、検出領域にかざされた手の領域の大きさを示すデータである。
本実施形態では、時間経過に伴う各項目に示されている値の変動、つまり第1の検出器301〜第25の検出器325それぞれの出力に基づく第2の検出データの変動よりも、複数の検出器によって出力された第1の検出データに基づく第2の検出データの総和を基に求める、重心の移動を示すデータの変動が重要となる。従って、かざされた手により複数の検出領域それぞれから抽出される出力信号を基にして、手がかざされている複数の検出領域全体の重心(以下単に「手の重心」という)を求め、それを評価した。
【0064】
フレーム番号をnとするx座標上の手の重心XGは、下記の(1)式で求めることができる。XVSは、各x軸検出器(第1の検出器301〜第16の検出器316)の第2の検出データの総和であり、動作をしている手によって複数の検出領域において第1のオブジェクト抽出器51によって抽出される出力信号に基づいた値である。XVSGは、各x軸検出器の第2の検出データに、対応する検出領域のx座標を掛けて重み付けをした検出データの総和である。
【数1】
【0065】
本実施形態では、図18の項目XGはほとんどのフレームで5になっており(フレーム番号11は除く)、従って手の重心のx座標は5であり、x座標5を中心にデータが広がっている。
【0066】
フレーム番号をnとするy座標上の手の重心YGは、下記の(2)式で求められる。YVSは、各y軸検出器(第17の検出器317〜第25の検出器325)の第2の検出データの総和であり、YVSGは、各y軸検出器の第2の検出データに、対応する検出領域のy座標を掛けて重み付けをした検出データの総和である。
【数2】
【0067】
本実施形態では、図18の項目YGはフレーム番号0において2.5である。これは手の重心のy座標が、2.5であることを示している。その他のフレームについても、項目YGの値がそのフレームにおける手の重心のy座標を示している。本実施形態では項目YGの値は0〜2.5の範囲の値になっており(フレーム番号11は除く)、項目YGの値の変動が座標上の手の上下運動を示している。
【0068】
本実施形態では重心YGの変動を分析して、手の動作を操作情報として認識する。図19は、手の重心の座標の変動を時間の経過にそって表したタイムチャートである。図19(A)が手の重心のy座標の変動、つまり図18の項目YGの値の変動を表しており、0〜2.5の間で4サイクルに渡って波打っていることが示されている。図19(B)が手の重心のx座標の変動、つまり図18の項目XGの値の変動を表している。図17に示すようにx座標5を重心として手は縦に振られており、横方向に変動はないため、原理的には図19(B)に示すとおり一定レベルの直線になる。
【0069】
このx及びyの両軸の波形を分析するわけであるが、これに先だって誤認識に対する保護について説明する。図18に示す表の第1サイクルは、縦に手を振る場合の理想的なデータとなっている。手が抽出されているx座標4、5、及び6以外のx座標の項目x(i)は、データが0(零)である。y座標についても同様に、手が抽出される検出領域以外はデータが0(零)である。しかし、実際は第1のオブジェクト抽出器51でさまざまなフィルタ処理をしてもそれを潜り抜けてきて、手の動作以外の意図しないデータ(ノイズ)が発生する場合が考えられる。
第2サイクルのフレーム番号11では、手に関するデータ以外に、x(1)に対応する検出器に領域100、y(−2)に対応する検出器に領域50、及びy(−3)に対応する検出器に領域50に相当する手(オブジェクト)の領域が各検出領域において検出されたことを示す第2の検出データがある。これらのデータは検出された手の重心座標を狂わせることになる。図17(A)〜(D)に示すように手の重心のx座標は5で一定であるにもかかわらず、フレーム番号11の項目XGの値は3.361を示している。またフレーム番号11の手の重心のy座標は、フレーム番号3と同様に項目YGの値が0(零)であるはずが、−1.02になっており、x軸y軸共にノイズに影響をうけた値となっている。
ノイズは単発であれば、デジタル信号処理でよく活用される孤立点除去フィルタ(メディアンフィルタ)で抑圧することが可能であるが、そのフィルタを潜り抜けるような成分であったり、ノイズの数や量が大きい場合には認識率を低下させる要因になる。
【0070】
本実施形態ではこのノイズを効果的に抑圧するために、不必要な検出器のタイミングゲート器52を閉じる処理を行う。図18に示す表において、x軸検出器301〜316、y軸検出器317〜325それぞれの検出器からの出力に基づく第2の検出データを所定の期間累積加算した加算値が、最初に一定値(x軸検出器であれば閾値th1x、y軸検出器であれば閾値th1y)を超える検出器、すなわち最大値を示す検出器を制御情報判断器20が確認する。
図18の表に示すように、y軸検出器317〜325から出力された第1の検出データに基づく第2の検出データ(出力信号)は変動し、閾値th1yを超える検出器はない。一方でx軸検出器301〜316から出力された第1の検出データに基づく第2の検出データは、x座標5に対応する第14の検出器314からの出力に基づく第2の検出データx(5)が最大値を示し、ある時点で累積加算の結果の値が閾値th1xを超え、該当する検出器であると判断される。これにより手の動作が上下に振る動作であることが判明する。なお、これ以降簡便のため、所定の検出器から出力された第1の検出データに基づく第2の検出データを単に、所定の検出器の第2の検出データ、と示す。
【0071】
図19(C)は、x座標5に対応する第14の検出器314の第2の検出データx(5)を累積加算した経過を表している。累積加算した加算値が閾値th1xを超えた時点(フレーム9)で活性化フラグFlg_xが0(零)から、所定の期間1となる。加算値が閾値th1xを超えると、制御情報判断器20がフラグ生成器として活性化フラグFlg_xを生成する。活性化フラグFlg_xが1となっている期間、後述するように不必要な区画や検出領域における手(オブジェクト)は検出しない。なお、ここでは累積加算値は閾値th1xをフレーム9で超えたが、所定の期間で閾値th1xを超えればよい。
活性化フラグFlg_xが立ち上がる所定の期間のことを活性化期間とし、その長さは手の動作を認識することに要する、4サイクル程度の期間を設定する。図19(D)については後述する。
【0072】
図21は、画面上のどの位置にある検出領域を有効とするかについて説明するための図である。本実施形態では、検出領域(区画)が、かざされた手の動作を検出するために用いられることを、有効とする。図21には、ビデオカメラ2がとらえたx座標5上を縦に動く手の画像と、黒枠で示すノイズ成分、及び第21の検出器321を制御するために供給されるタイミングパルスが描かれている。
x軸方向に一点鎖線で描かれている第1のx軸タイミングパルスは、有効映像期間の水平方向の幅に相当する幅を有するパルスであり、ユーザ3が手を振り始めた時点では、全てのy軸検出器(第17の検出器317〜第25の検出器325)に供給されている。
振っている手が抽出された検出領域に対応する検出器の、出力信号を所定の期間累積加算した加算値に基づいて活性化フラグFlg_xが生成される(1となる)と、実線で描かれている第2のx軸タイミングパルスが生成される。第2のx軸タイミングパルスは、有効映像期間の水平方向の所定の幅に相当する幅を有するパルスであり、全てのy軸検出器317〜325に供給される。各y軸検出器317〜325は、第2のx軸タイミングパルスに基づいて、検出領域にかざされている手を検出するために必要最小限の検出領域の検出信号のみを出力する。
【0073】
第2のx軸タイミングパルスの生成方法を、図22を用いて説明する。各y軸検出器317〜325に最初に供給されるx軸タイミングパルスは、第1のx軸タイミングパルスである。第1のx軸タイミングパルスは、各y軸検出器317〜325に対応する各検出領域のx軸方向の幅全てを有効にするものである。
図21に示す手の動きによってx座標5の検出領域において手が抽出されると、先に述べたように本実施形態では、x軸の座標5に対応する第14の検出器314の第2の検出データが、他の検出器の第2の検出データと比較すると連続して最大値を取る(図18参照)。第14の検出器314の第2の検出データを累積加算した値が閾値th1xを超えると、活性化フラグFlg_xが生成される(1となる)。制御情報判断器20は活性化フラグFlg_xが生成されたことを確認し、x座標5の検出領域のx軸制御データを1とする。
【0074】
本実施形態では、テレビジョン受像機1(ビデオカメラ2)とユーザ3との距離によって画面上の手の大きさが少し変わるのを考慮して、活性化フラグFlg_xが生成された検出器に対応する検出領域と、この検出領域に隣接する検出領域とを少なくとも含む近傍の検出領域のx軸制御データを1とする。例えば、x座標4と6の検出領域のx軸制御データを1とする。また、これ以外の検出領域のx軸制御データを0とする。
制御情報判断器20は、上述したようなx軸制御データをタイミングパルス発生器12に供給し、タイミングパルス発生器12内のx軸タイミングパルス活性化制御器12xは、入力されたx軸制御データに基づいて、第2のx軸タイミングパルスを生成し、全てのy軸検出器317〜325に供給する。従って、図21に示す状態であれば、x座標が4から6の検出領域の幅に相当する幅を有する、第2のx軸タイミングパルスが生成される。すなわちタイミングパルス器12は、第1のx軸タイミングパルスの幅を狭めた第2のx軸タイミングパルスを生成する。第2のx軸タイミングパルスが供給された各y軸検出器317〜325は、対応する各検出領域のx座標が4から6の区画からのみ検出信号を出力する。この結果、図21に示した座標(x,y)=(1,−2)、(1,−3)で発生したノイズ成分は検出されない。
第2のx軸タイミングパルスが生成されると、制御情報判断器20は各y軸検出器317〜325からの出力に基づいて、これ以降の制御を行う。各x軸検出器301〜316から検出された検出信号については、参照しない。なお、各x軸検出器301〜316のタイミングゲート器52にタイミングパルスを供給せず、検出信号の出力を止めてもよい。
【0075】
図23は、y軸検出器の第17の検出器317〜第25の検出器325に供給される第2のx軸タイミングパルス及び、各y軸検出器317〜325が対応する検出領域のためのタイミングパルス(y軸方向)を示す。各y軸検出器317〜325は、対応する検出領域と、第2のx軸タイミングパルスに基づくx座標4〜6に対応する検出領域とが重なる、3つの区画から検出した信号のみを出力すればよい。こうすることで、検出領域の内、手が抽出されず、検出に不必要な区画について検出しないことが可能である。
なお、本実施形態では、図22及び図23に示すように検出領域単位でパルス幅を制御する方法を採用しているが、パルスのスタートポイントとパルス幅を指定する方法など、パルス幅を柔軟に制御する回路手法を用いてもよい。
【0076】
図24に示す表は、図18に示す表とほぼ同じ内容であるが、図19(C)に示した第14の検出器314の活性化フラグFlg_xが1になった後生成される第2のx軸タイミングパルスによって、検出が不要となった区画や検出領域からの検出を制限して得られた、各検出器301〜325からの出力信号に基づく第2の検出データを示す。図19(C)において閾値th1xを超えた、フレーム番号10以降の第2の検出データがこれに該当し、図18の表でノイズ成分として存在していたフレーム番号11のx(1)、y(−3)及びy(−2)が0となっている。座標(x,y)=(1,−2)、(1,−3)の区画は、対応して設けられている第18の検出器318と第19の検出器319の各タイミングゲート器52に第2のx軸タイミングパルスが供給されることで、検出されないためである。
ノイズ成分の除去により重心XGとYGの値の乱れは無くなり、各y軸検出器317〜325の後段の第1の動作検出器20−1〜第5の動作検出器20−5による認識率が向上する。また本実施形態では、フレーム9まではノイズ成分の影響を受けるが、この時点までは活性化フラグFlg_xを立てることが目的となっており、累積加算した加算値の最大値が変動しない程度のノイズ成分は検出に影響しない。
【0077】
制御情報判断器20内の第1の動作検出器20−1〜第5の動作検出器20−5は、図24に示すデータを受け取り、処理する。図19に戻り、手がどのような動作をしているか検出するための処理を説明する。
図19(A)は重心のy座標YGの変動を示し、図19(B)は重心のx座標XGの変動を示しており、それぞれノイズの無い波形を示している。図19(C)に示すx軸検出器(第14の検出器314)の出力信号を累積加算した値が、閾値th1x以上になった時点で活性化フラグFlg_xが1となる。活性化フラグFlg_xが生成された検出器に対応する検出領域と隣接する検出領域を少なくとも含む近傍のx軸方向の検出領域と、各y軸方向の検出領域とが交差して形成される複数の区画以外の各y軸方向の区画は、各y軸検出器317〜325に供給される第2のx軸タイミングパルスによって無効とされる。すなわち、手の検出に用いられない。従って、ノイズの影響を受けない。
図19(C)の波形が継続的に閾値th1x以上であれば、第2のx軸タイミングパルスが各y軸検出器317〜325に供給され続けるため、不必要な区画が無効である期間も続き、ノイズによる影響を受けないという効果が持続する。図19(C)の波形が閾値th1x以下になると累積加算値はリセットされる。ただし、リセットの基準となる値は閾値th1xに限るものではない。
【0078】
さて次に、図19(A)の波形のDCオフセットを抑圧する処理を行い、波形の平均値がほぼ0(零)となるようにする。この処理には図20に示す高域通過フィルタを使う。
図20の遅延器81は、本実施形態では4フレーム(時間Tm)の遅延を行う。減算器82は、遅延した信号と遅延されていない信号との差分を求める。ここで符号は重要でなく最終的な結果には影響しない。最後に1/2乗算器83でスケールの調整を行う。図19(A)の波形は、図20の高域通過フィルタを通すことで結果として図19(D)に示すように、波形の平均値がほぼ0(零)となる。これにより、手が振られているy軸上の位置情報が排除され、手の動作内容の分析に適した波形が得られる。なお、図19(D)の縦軸に示す重心YGHは、図19(A)の縦軸に示す重心YGを高域通過フィルタ処理した値である。
【0079】
次に図15に戻り、第1の動作検出器20−1〜第5の動作検出器20−5について説明する。第1の動作検出器20−1〜第5の動作検出器20−5は、図示していない相互相関デジタルフィルタを備える。本実施形態では、手の動作による操作情報の認識には最高4回手を上下あるいは左右に振ればよいとしている。すなわち事前にどのような動作を認識するかが決まっているため、相互相関デジタルフィルタは、予め決めてある所定の動作(縦振り動作)の代表的な検出信号波形と、各検出器301〜325から出力される実際の動作による検出信号に基づいて第1の動作検出器20−1〜第5の動作検出器20−5において生成される検出信号波形との相互相関をとり、その一致度を評価することで、手の動作による操作情報の認識を行う。
本実施形態では図25(G)に示す波形を縦振り動作の基準信号波形(所定の動作の代表的な検出信号波形)とし、図25(F)に示す相互相関デジタルフィルタのk0〜k40のタップ係数値には、この基準信号波形に対応する値を使用する。また図25(D)には、相互相関デジタルフィルタknに入力される実際の動作による検出信号波形が示されているが、これは図19(D)の信号波形と同じものである。相互相関デジタルフィルタは、タップ係数と実際の動作を検出した信号に基づく第2の検出信号とを乗算し、第1の動作検出器20−1〜第5の動作検出器20−5は相互相関デジタルフィルタより出力される信号波形に基づいて、ユーザ3が行った動作が縦振り動作であるかを検出する。相互相関デジタルフィルタknの出力信号wv(n)は下記の(3)式によって求められる。
【数3】
【0080】
Nはデジタルフィルタのタップ数で、ここでは41タップ(0〜40)である。y(n+i)は図25(D)の縦軸に示すフィルタ処理された重心YGHである。相互相関デジタルフィルタknは、活性化フラグFlg_xが1になっているときのみ動作させることでその機能を果たす。
【0081】
相互相関デジタルフィルタ出力信号wv(n)は、図26(E)に示す波形になり、相互相関の一致度が増すとともに振幅が大きくなる。なお、図26(D)は図19(D)及び図25(D)と同じもので、図26(E)の比較対照として示している。出力信号wv(n)の絶対値を取って累積積分し、その値が閾値th2v以上に達したところで基準信号波形との相互相関が充分あると判断され、所定の動作(ここでは、縦振り動作)がなされたことが認識される。第1の動作検出器20−1〜第5の動作検出器20−5は、検出部19より出力される検出信号に基づいて、ユーザ3による動作が所定の動作であるか否かを検出する動作検出器である。
この動作の認識とともに、縦振り動作であることを示し且つ保護窓の役割を担う活性化フラグFlg_xが「1」であることが確認され、手の縦振り操作が確定となり、テレビジョン受像機1の状態に応じたイベント(制御)が行われる。このイベントは、図15に示す複数の動作検出器20−1〜20−5のいずれかが確定となったことを、制御情報発生器20−10が論理判定して出力する信号に従って行われる。
【0082】
次に、手を横に振る(バイバイ)動作について説明する。本実施形態では、縦と横の動作は自動的に区別され、同時に機能する。図27は、ビデオカメラ2で撮影される領域内でユーザ3が手を横(左右)に動かした場合のビデオカメラ2で撮影された手の画像の一例である。手が動く方向を示す矢印及び、画面内に配置された検出領域のxy座標を共に示す。図27(A)、(B)、(C)、(D)に動いている手の4つの位置を抜き出して示す。図27(A)は手が最も左に位置する場合、図27(B)は手を少し右へ移動した場合、図27(C)はさらに手を右に移動した場合、図27(D)は最も手が右に位置する場合である。
本実施形態では手を4回左右に動かした。すなわち手を、図27の、(A)(B)(C)(D)(D)(C)(B)(A)を1サイクルとし、4サイクル動かした。このような左右運動の場合、y軸については手はほとんど動かず、同一の座標上にある。一方、x軸については手の座標は左右に変動する。従って、検出されるデータは左右のピークを繰り返した4サイクルになり、各座標の検出領域に対応して設けられた各検出器からの出力データの変動値になって現れる。
【0083】
図28は、図27に示す手の左右運動の検出結果のうち、各検出器301〜325の各ヒストグラム検出器61が出力するデータ値と、それを処理した内容を表にして示す。この表は図18の表と同一形式で作成してあり、データ値は手の左右運動に対応している。
【0084】
図27(A)〜(D)に示した一例では、手は左右方向に動かされており、y軸に関しては動いている手の位置に変化は無いため、項目y(j)(j=−4〜+4)のデータは変動しない。図27(A)〜(D)に示すとおり、手はy座標2を中心にy座標1〜3上にあり、図28の項目y(1)、y(2)、及びy(3)に手を検出した値が示されている。その他の項目y(j)は、第1のオブジェクト抽出器51でマスキングされているので値は0(零)となっている(フレーム番号11の項目x(7)、x(4)、y(−1)を除く)。
x軸に関しては、左右に手を動かしているので項目x(i)のデータが変動する。図27(A)では、手はx座標−6、−5、−4上にあり、図28の項目x(−6)、x(−5)、及びx(−4)のフレーム番号0の欄に、検出された値が示されている。同様に図27(B)、(C)、及び(D)についても、それぞれの手がかざされているx座標に対応する項目x(i)に、検出されたそれぞれの値が示されている。
【0085】
フレーム番号をnとするx座標上の手の重心XGは、前述した(1)式で求められる。
本実施形態では、図28の項目XGはフレーム番号0において−5.3である。これは手の重心のx座標が、−5.3であることを示している。その他のフレームについても、項目XGの値がそのフレームにおける手の重心のx座標を示している。本実施形態では項目XGの値は−5.3〜−2.3の範囲の値になっており(フレーム番号11は除く)、項目XGの値の変動が座標上の手の左右運動を示している。
【0086】
フレーム番号をnとするy座標上の手の重心YGは、前述した(2)式で求められる。本実施形態では、図28の項目YGはほとんどのフレームで2.19になっており(フレーム番号11は除く)、従って手の重心のy座標は2.19であり、y座標2.19を中心にデータが広がっている。
【0087】
図29は、手の重心の座標の変動を時間の経過にそって表したタイムチャートである。図29(A)が手の重心のy座標の変動、つまり図28の項目YGの値の変動を表しており、図27に示すようにy座標2.19を重心として手を横に振っているため、縦方向に変動はなく原理的には図29(A)に示すとおり一定レベルの直線になる。図29(B)は手の重心のx座標の変動、つまり図28の項目XGの値の変動を表しており、−5.3〜−2.3の間で4サイクルに渡って波打っていることが示されている。
【0088】
このx及びyの両軸の波形を分析するわけであるが、図28に示す表の第1サイクルは、横に手を振る場合の理想的なデータとなっている。手が抽出されているy軸座標1、2、及び3以外のy座標の項目y(j)はデータが0(零)である。x座標についても同様に、手が抽出される検出領域以外はデータが0(零)である。
しかし、第2サイクルのフレーム番号11では、手に関するデータ以外に、y(−1)に対応する検出器に領域120、x(4)に対応する検出器に領域50、x(7)に対応する検出器に領域70に相当する手の領域が各検出領域において検出されたことを示す第2の検出データがある。これらのデータは検出された手の重心座標を狂わせることになる。図28(A)〜(D)に示すように手の重心のy座標は2.19で一定であるにもかかわらず、フレーム番号11の項目YGの値は1.351を示している。またフレーム番号11の手の重心のx座標は、フレーム番号3と同様に項目XGの値が−2.3であるはずが、−0.45になっており、x軸y軸共にノイズに影響を受けた値となっている。
【0089】
横に手を振る場合も縦に手を振る場合と同様に、不要な検出器のタイミングゲート器52を閉じる処理を行う。図28に示す表において、x軸検出器301〜316、y軸検出器317〜325それぞれの検出器から出力された第1の検出データに基づく第2の検出データを所定の期間累積加算した加算値が、最初に一定値(x軸検出器であれば閾値th1x、y軸検出器であればth1y)を超える検出器、すなわち最大値を示す検出器を確認する。
図28の表に示すように、x軸検出器301〜316は第2の検出データ(出力信号)が変動し、閾値th1xを超える検出器はない。一方でy軸検出器317〜325では、y座標2に対応する第23の検出器323による第2の検出データ(y(2))が最大値を示し、ある時点で累積加算の加算値が閾値th1yを超え、該当する検出器として判断される。これにより手の動作が左右に振る動作であることが判明する。
【0090】
図29(C)は、y座標2に対応する第23の検出器323の第2の検出データy(2)を累積加算した経過を表している。累積加算した加算値が閾値th1yを超えた時点(フレーム9)で、活性化フラグFlg_yが0(零)から所定の期間1となる。加算値が閾値th1yを超えると、制御情報判断器20がフラグ生成器として活性化フラグFlg_yを生成する。活性化フラグFlg_yが1となっている期間、後述するように不必要な区画や検出領域における手は検出しない。なお、ここでは累積加算値は閾値th1xをフレーム9で超えたが、所定の期間で閾値th1xを超えればよい。
活性化フラグFlg_yが立ち上がる所定の期間のことを活性化期間とし、その長さは手の動作を認識することに要する、4サイクル程度の期間を設定する。図29(D)については後述する。
【0091】
図30は、画面上のどの位置にある検出領域を有効とするかについて説明するための図である。図30には、ビデオカメラ2がとらえたy座標2.19上を横に動く手の画像と、黒枠で示す2つのノイズ成分、及び第6の検出器306を制御するために供給されるタイミングパルスが描かれている。y軸方向に一点鎖線で描かれている第1のy軸タイミングパルスは、有効映像期間の垂直方向の幅に相当する幅を有するパルスであり、ユーザ3が手を振り始めた時点では、全てのx軸検出器(第1の検出器301〜第16の検出器316)に供給されている。
振っている手が抽出された検出領域に対応する検出器の、出力信号を所定の期間累積加算した加算値に基づいて活性化フラグFlg_yが生成される(1となる)と、実線で描かれている第2のy軸タイミングパルスが生成される。第2のy軸タイミングパルスは、有効映像期間の垂直方向の所定の幅に相当する幅を有するパルスであり、全てのx軸検出器301〜316に供給される。各x軸検出器301〜316は、第2のy軸タイミングパルスに基づいて、検出領域にかざされている手を検出するために必要最小限の検出領域の検出信号のみを出力する。
【0092】
第2のy軸タイミングパルスの生成方法を、図31を用いて説明する。各y軸検出器301〜316に最初に供給されるy軸タイミングパルスは、第1のy軸タイミングパルスである。第1のy軸タイミングパルスは、各x軸検出器301〜316に対応する各検出領域のy軸方向の幅全てを有効にするものである。
図30に示す手の動きによってy座標2の検出領域において手が抽出されると、先に述べたように本実施形態では、y軸の座標2に対応する第23の検出器323の第2の検出データが、他の検出器の第2の検出データと比較すると連続して最大値を取る(図28参照)。第23の検出器323の第2の検出データを累積加算した値が閾値th1yを超えると、活性化フラグFlg_yが生成される(1となる)。制御情報判断器20は活性化フラグFlg_yが生成されたことを確認し、y座標2の検出領域のy軸制御データを1とする。
【0093】
本実施形態では、テレビジョン受像機1(ビデオカメラ2)とユーザ3との距離によって画面上の手の大きさが少し変わるのを考慮して、活性化フラグFlg_yが生成された検出器に対応する検出領域と、この検出領域に隣接する検出領域とを少なくとも含む近傍の検出領域のy軸制御データを1とする。例えば、y座標1と3の検出領域のy軸制御データを1とする。また、これ以外の検出領域のy軸制御データを0とする。
制御情報判断器20は、上述したようなy軸制御データをタイミングパルス発生器12に供給し、タイミングパルス発生器12内のy軸タイミングパルス活性化制御器12yは、入力されたy軸制御データに基づいて、第2のy軸タイミングパルスを生成し、全てのx軸検出器301〜316に供給する。従って、図30に示す状態であれば、y座標が1から3の検出領域の幅に相当する幅を有する、第2のy軸タイミングパルスが生成される。すなわちタイミングパルス器12は、第1のy軸タイミングパルスの幅を狭めた第2のy軸タイミングパルスを生成する。第2のy軸タイミングパルスが供給された各x軸検出器301〜316は、対応する各検出領域のy座標が1から3の区画からのみ検出信号を出力する。この結果、図30に示した座標(x,y)=(4,−1)、(7,−1)で発生したノイズ成分は検出されない。
第2のy軸タイミングパルスが生成されると、制御情報判断器20は各x軸検出器301〜316からの出力に基づいて、これ以降の制御を行う。各y軸検出器317〜325から検出された検出信号については、参照しない。なお、各y軸検出器317〜325のタイミングゲート器52にタイミングパルスを供給せず、検出信号の出力を止めてもよい。
【0094】
図32は、x軸検出器の第1の検出器301〜第16の検出器316に供給される第2のy軸タイミングパルス及び、各x軸検出器301〜316が対応する検出領域のためのタイミングパルス(x軸方向)を示す。各x軸検出器301〜316は、対応する検出領域と、第2のy軸タイミングパルスに基づくy座標1〜3に対応する検出領域とが重なる、3つの区画から検出した信号のみを出力すればよい。こうすることで、検出領域の内、手が抽出されず、検出に不必要な区画について検出しないことが可能である。
なお、本実施形態では、図31及び図32に示すように検出領域単位でパルス幅を制御する方法を採用しているが、パルスのスタートポイントとパルス幅を指定する方法など、パルス幅を柔軟に制御する回路手法を用いてもよい。
【0095】
図33に示す表は、図28に示す表の内容とほぼ同じであるが、図29(C)に示した第23の検出器323の活性化フラグFlg_yが1になった後生成される第2のy軸タイミングパルスによって、検出が不要となった区画や検出領域からの検出を制限して得られた、各検出器301〜325からの第2の検出データを示す。
図29(C)において閾値th1yを超えた、フレーム番号10以降の第2の検出データがこれに該当し、図28の表でノイズ成分として存在していたフレーム番号11のx(4)、x(7)、y(−1)が0となっている。これは、座標(x,y)=(4,−1)、(7,−1)の区画は、対応して設けられている第13の検出器313と第16の検出器316の各タイミングゲート器52に第2のy軸タイミングパルスが供給されることで、検出されないためである。ノイズ成分の除去により重心XGとYGの値の乱れは無くなり、各x軸検出器301〜316の後段の第1の動作検出器20−1〜第5の動作検出器20−5による認識率が向上する。
【0096】
制御情報判断器20内の第1の動作検出器20−1〜第5の動作検出器20−5は、図33に示すデータを受け取り、処理する。図29に戻り、手がどのような動作をしているか検出するための処理を説明する。
図29(A)は重心のy座標YGの変動を示し、図29(B)は重心のx座標XGの変動を示しており、それぞれノイズの無い波形を示している。図29(C)に示すy軸検出器(第23の検出器323)の出力信号を累積加算した値が、閾値th1y以上になった時点で活性化フラグFlg_yが1となる。活性化フラグFlg_yが生成された検出器に対応する検出領域と隣接する検出領域を少なくとも含む近傍のy軸方向の検出領域と、各x軸方向の検出領域とが交差して形成される複数の区画以外の各x軸方向の区画は、各x軸検出器301〜316に供給される第2のy軸タイミングパルスによって無効とされる。すなわち、手の検出に用いられない。従って、ノイズの影響を受けない。
図29(C)の波形が継続的に閾値th1y以上であれば、第2のy軸タイミングパルスが各x軸検出器301〜316に供給され続けるため、不必要な区画が無効である期間も続き、ノイズによる影響を受けないという効果が持続する。図29(C)の波形が閾値th1y以下になると累積加算値はリセットされる。ただし、リセットの基準となる値は閾値th1yに限るものではない。
【0097】
さて次に、図29(B)の波形のDCオフセットを抑圧する処理を行い、波形の平均値がほぼ0(零)となるようにする。この処理には図20に示す高域通過フィルタを使う。
図29(B)の波形は、図20の高域通過フィルタを通すことで結果として図29(D)に示すように、波形の平均値がほぼ0(零)となる。これにより、手が振られているx軸上の位置情報が排除され、手の動作内容の分析に適した波形が得られる。なお、図29(D)の縦軸に示す重心XGHは、図29(B)の縦軸に示す重心XGを高域通過フィルタ処理した値である。
【0098】
横に振られている手の動作内容の分析には、手の縦振り動作の時と同様に、事前に決められている所定の動作(横振り動作)の代表的な検出信号波形と、各検出器301〜325から出力される実際の動作による検出信号波形との相互相関をとって一致度を評価する。
本実施形態では図34(G)に示す波形を横振り動作の基準信号波形(所定の動作の代表的な検出信号波形)とし、図34(F)に示す相互相関デジタルフィルタのk0〜k40までのタップ係数値には、この基準信号波形に対応する値を使用する。また図34(D)には、相互相関デジタルフィルタknに入力される実際の検出信号波形が示されているが、これは図29(D)の信号波形と同じものである。相互相関デジタルフィルタは、タップ係数と実際の動作を検出した信号に基づく第2の検出信号とを乗算し、第1の動作検出器20−1〜第5の動作検出器20−5は相互相関デジタルフィルタより出力される信号波形に基づいて、ユーザ3が行った動作が横振り動作であるかを検出する。相互相関デジタルフィルタknの出力信号wh(n)は下記の(4)式によって求められる。
【数4】
【0099】
Nはデジタルフィルタのタップ数でここでは41タップ(0〜40)である。x(n+i)は図34(D)の縦軸に示すフィルタ処理された重心XGHである。相互相関デジタルフィルタknは、活性化フラグFlg_yが1になっているときのみ動作させることでその機能を果たす。
なお、本実施形態では縦振り動作に対応するタップ係数を備える相互相関デジタルフィルタと、横振り動作に対応するタップ係数を備える相互相関デジタルフィルタとを使用したが、縦振り動作に対応するタップ係数と、横振り動作に対応するタップ係数とを制御情報判断器20等に記憶させ、動作に応じて1つの相互相関デジタルフィルタに切り換えて供給してもよい。ただし、縦振り動作と横振り動作とが同じ動作であるとする場合には、同じタップ係数とすればよい。
【0100】
次に、手の動作の速さとフレーム数について説明する。手の動作の速さとフレーム数の関係については、手の振り方が縦(上下)であっても、横(左右)であっても違いはない。
本実施形態では1秒間に60フレームとし、手の上下または左右に4回振る動作を、説明や図面の簡略化を目的に32フレームとした。相関計算のタップ係数も少なくなる。
しかしながら、32フレームを時間に換算すると約0.5秒となり、現実の人間の動作としては速すぎる。実際の手の動作はもう少し遅くなると考えられ、例えば、手を4回振るのに2秒かかるとすれば、120フレーム必要となる。これを検出するためには相関計算においてタップ数を増やせばよく、動作にかかる時間に合わせて適宜タップ数を調整すればよい。
【0101】
手の横振りに関しての相互相関デジタルフィルタ出力信号wh(n)は、図35(E)に示す波形になり、相互相関の一致度が増すとともに振幅が大きくなる。なお、図35(D)は図29(D)及び図34(D)と同じもので、図35(E)の比較対照として示している。出力信号wh(n)の絶対値を取って累積積分し、その値が閾値th2h以上に達したところで基準信号波形との相互相関が充分であると判断され、所定動作がなされたことが認識される。第1の動作検出器20−1〜第5の動作検出器20−5は、検出部19より出力される検出信号に基づいて、ユーザ3による動作が所定の動作であるか否かを検出する動作検出器である。
この動作の認識とともに、横振り動作であることを示し且つ保護窓の役割を担う活性化フラグFlg_yが「1」であることが確認され、手の横振り操作が確定となり、テレビジョン受像機1の状態に応じたイベントが行われる。このイベントは、図15に示す複数の動作検出器20−1〜20−5のいずれかが確定となったことを、制御情報発生器20−10が論理判定して出力する信号に従って行われる。
【0102】
図36は、上述した手の縦振りと横振りの動作を検出する方法の処理手順を示すフローチャートである。図36のフローチャートに示す各ステップにおける処理については、既に詳細に記述しているので、ここでは各ステップが全体の中でどのような機能を果たしているかについて説明し、手の縦振り及び横振り動作が操作情報としてテレビジョン受像機1に認識され、制御(イベント)内容が実行されるところまでを説明する。
【0103】
図36に示すフローチャートは、ユーザ3が行う手を振る動作によって縦振り処理系と横振り処理系の2つに分けられる。縦振り処理系のX軸スタートには、各x軸検出器301〜316から出力された第1の検出データに基づく16個の第2の検出データx(−8)〜x(7)が入力される。まず、ステップA501において、各x軸検出器301〜316の出力に基づく各第2の検出データx(−8)〜x(7)が、それぞれフレーム毎に累積加算される。
次にステップA502に進み、累積加算された各値msx(i)(i=−8〜+7)が閾値th1x以上であるか否かを判定する。ステップA502の答えがNOのとき、すなわちいずれの加算値msx(i)も閾値th1x未満の時はステップA501にもどり、累積加算を行う。ステップA502の答えがYESになったとき、すなわちいずれかの加算値msx(i)が閾値th1x以上になったときは、次のステップA503に進む。
いずれかのx軸検出器からの加算値msx(i)が閾値th1x以上を示すことは、手が縦に振られている動作を意味するので、ステップA503において活性化フラグFlg_xを0(零)から1とし、第2のx軸タイミングパルスを各x軸検出器301〜316に供給する。これによって、各x軸検出器301〜316の出力が制御され、不要な検出領域や区画においてオブジェクト(手)を抽出しない処理(マスク処理)が行われるので、ノイズに対する耐性を高めることができる。
【0104】
横振り処理系についても同様に、Y軸スタートには、y軸検出器317〜325の出力に基づく9個の第2の検出データy(−4)〜y(4)が入力され、ステップB501〜B503までは縦振り処理系のステップA501〜A503と全く同様の処理がなされる。
そしてステップB502で、いずれかのy軸検出器において累積加算された値msy(j)(j=−4〜+4)が閾値th1y以上に達すると、活性化フラグFlg_yが0(零)から1となって手の動作が横振りであることを認識する。
【0105】
本実施形態では活性化フラグFlg_xまたはFlg_yのどちらか一方が1となった時点で、もう一方の活性化フラグは抑圧される。ステップA504またはB504において、活性化フラグの判定を行う。例えば縦振り処理系では、活性化フラグFlg_xが1となった時点でステップA504に進み、同時に横振り処理系の活性化フラグFlg_yが0(零)であるか否かを判定する。
ステップA504の答えがYESのとき、すなわち活性化フラグFlg_yが0(零)であれば、これ以降の処理は縦振り処理系になることを確定し、ステップA505に進む。一方で、ステップA504の答えがNO、すなわち横振り処理系が活性化されていて、活性化フラグFlg_yが1ならば、ステップA509に進み、縦振り処理系を進めるための累積加算値msx(i)及び活性化フラグFlg_xを0(零)にリセットし、ステップA501に戻る。
【0106】
また横振り処理系においては、ステップB503で活性化フラグFlg_yが1となった時点でステップB504に進み、同時に縦振り処理系の活性化フラグFlg_xが0(零)であるか否かを判定する。
ステップB504の答えがYESのとき、すなわち活性化フラグFlg_xが0(零)であれば、これ以降の処理は横振り処理系になることを確定し、ステップB505に進む。一方で、ステップB504の答えがNO、すなわち縦振り処理系が活性化されていて、活性化フラグFlg_xが1ならば、ステップB509に進み、横振り処理系を進めるための累積加算値msy(j)及び活性化フラグFlg_yをそれぞれ0(零)にリセットし、ステップB501に戻る。
【0107】
ステップA504の答えがYES、またはステップB504の答えがYESとなったとき、それぞれステップA505またはB505に進み、y軸重心計算またはx軸重心計算を行う。x軸重心計算またはy軸重心計算は上記の(1)式または(2)式を使い、図24に示した表の項目YGまたは図33に示した表の項目XGを求める。求められた重心(XG、YG)の値はステップA506またはB506の相互相関計算にて相互相関デジタルフィルタ処理され、相互相関デジタルフィルタ出力信号wv(n)またはwh(n)を算出する。
ステップA507またはB507では、相互相関デジタルフィルタ出力信号wv(n)またはwh(n)を絶対値化して累積加算し、wv(n)の累積加算swvまたはwh(n)の累積加算swhを算出する。
【0108】
次に、ステップA508またはB508において累積加算swvの値が閾値th2vより大きいか否か、またはswhの値が閾値th2hより大きいか否か判定する。ステップA508またはB508の答えがYESとなった場合に、縦振りイベントまたは横振りイベントが起動される。なお、ここでステップA504〜A508とB504〜B508とを同時に説明したが、前述したとおり縦振り処理系と横振り処理系とが同時に処理されることはなく、どちらか一方のみの処理となる。
また、ステップA506またはB506の相互相関計算処理より先の処理は、図36では説明の分かり易さを考慮して処理を2系統に分離しているが、ステップA504またはB504において活性化フラグFlg_xまたはFlg_yを評価し、検出された動作が縦振りか横振りかが判明しているので、処理を1系統にすることができる。なお、ステップA504またはB504、及びステップA508またはB508の判定で答えがNOとなったときはステップA509またはB509に進み、累積加算値msx(i)及びFlg_x、または累積加算値msy(j)及びFlg_yをそれぞれ0(零)にリセットしてスタートの時点に戻る。
【0109】
このように本実施形態では、手を縦に振る操作と横に振る操作は同時に処理されて区別されて認識される。これの応用例としては、図3に示す手の縦振り「コイコイ」動作であれば、それに対応したイベント(制御)として例えば電源ONやメニュー画面が起動される。また手の横振り「バイバイ」動作であれば電源をOFFにすることに応用できる。
また、縦振り動作と横振り動作のどちらか一方のみを電子機器を制御するための所定の動作としてもよく、その際は、ステップA504またはB504を省略すればよい。
【0110】
以上で説明した第1実施形態では、図5、図6に示すように画面に設けられた検出領域は、水平方向に16、垂直方向に9分割して設けた合計25であった。それぞれの検出領域に対応する検出器は、第1の検出器301から第25の検出器325の25個であり、第1実施形態はハードウェアの規模が少なくて済む利点がある。
一方、より高度で複雑な認識操作を考えると、以下に説明するような検出領域を用いる第2実施形態が考えられる。第2実施形態についても図36のフローチャートにて説明したアルゴリズムが同様に機能することについて詳述する。なお、第2実施形態については、第1実施形態と異なる部分についてのみ説明する。
【0111】
図37は、ビデオカメラ2より出力された画像の画面を、水平方向に16分割、垂直方向に9分割し、水平方向に分割された領域と垂直方向に分割された領域とが交差して形成される、合計144個(16×9)の検出領域を設けた第2実施形態を示す。従って、検出部19を構成する検出器も144個必要とし、制御情報判断器20に入力されるデータ数も144となる。第1の検出器301は、図37において(x、y)=(−8,4)座標に位置する検出領域と対応し、この検出領域から検出された第1の検出データを出力する。
第2実施形態では、1画面毎(1垂直周期毎)に各検出領域から抽出される出力信号を得ることが目的であり、各検出領域に各検出器を割り当て、各検出領域のデータが制御情報判断器20に入力され、ソフトウェアで処理されるものとして説明する。なお、各検出器はバッファメモリを設けることにより、ハードウェアの構成上必要とするデータ数以下で実現することもできる。
【0112】
図38は、144個の検出領域上に、ビデオカメラ2で撮影された縦振りする手のイメージを重ねて描いた画面を示す。手の動きによってフレーム差分が発生する検出領域に、ハッチングを入れて表した(手の領域もハッチングが入っているとして説明する。)。第1実施形態では、このハッチングの入っている検出領域を、図7に示すオブジェクト特徴データ検出部53のヒストグラム検出器61などによりデータに変換し、CPUバスを経由して制御情報判断器20へ出力した。
第2実施形態においても、同様の構成も適応できるが、各検出器から得られるデータが144個あるため、ハードウェアの規模が大きくなること及びバスのトラフィックを考慮して、データを簡略化する。なお、比較説明をするため図38の手の動作の位置は図17に示した第1実施形態と同じ位置とする。
【0113】
図39は、第2実施形態の検出部19と制御情報判断器200のブロック図である。検出部19を構成する第1の検出器301から第144の検出器444が、制御情報判断器200の第6の動作検出器20−6へオブジェクトのデータを加工して転送する。第1のオブジェクト抽出器51の出力は図8に示すように、特定色フィルタ71、階調限定器72、動作検出フィルタ75を合成した信号で、ビデオカメラ2の出力画像からオブジェクトを抽出した出力信号である。
合成の仕方は様々な論理演算が考えられるが、ここでは論理積として考える。オブジェクトゲート器74の出力は、図38のハッチングした部分の検出領域だけが階調を持ち、その他の検出領域はオブジェクトが抽出されず階調が0である(マスクレベル)とする。この場合のビデオカメラ2の黒レベルは0レベル以上にあるものとする。
【0114】
オブジェクト特徴データ検出部530は、ブロックカウンタ66とブロック量子化器67とを備える。更にヒストグラム検出器61やAPL検出器62などを、必要に応じて備えてもよい。
ブロックカウンタ66とブロック量子化器67は、図38の画面内にハッチングで示した、第1のオブジェクト抽出器51による出力信号が得られる検出領域の情報を1ビット化して出力する。ブロックカウンタ66は、全検出領域のうちマスクレベル以外の検出領域をカウントするものである。ブロックカウンタ66でカウントされた検出領域における第1のオブジェクト抽出器51より出力された出力信号は、ブロック量子化器67にて設定される閾置と比較され、ブロック量子化器67は閾置以上であるとき1を、以下であるとき0を出力する。
【0115】
例えば閾置を、検出領域全体の1/2の領域で第1のオブジェクト抽出器51からの出力信号が得られた場合に設定し、この閾値に基づいて図38のハッチング部分の検出領域からの出力信号をブロック量子化器67に入力すると、図40に示すハッチングをした検出領域が信号を出力することとなる。すなわち、検出領域の座標(x,y)が(5,3)、(5,2)である2つの検出領域が1を出力し、その他の検出領域は0を出力する。
このように閾値を設定することで、ブロックカウンタ66とブロック量子化器67による、検出部19からの出力は144ビットとなり、最小限ですませることができる。
【0116】
制御情報判断器20には、1画面(1垂直周期毎)で144のデータが変数として格納され、動作の認識アルゴリズムに添って処理される。図41にこれを示す。項目x(−8)からx(7)はそれぞれ、各x軸における縦(y軸)方向の全検出領域に対応する全検出器の出力の総和となる。例えば項目x(0)は、検出領域座標(x,y)の(0,−4)(0,−3)(0,−2)(0,−1)(0,0)(0,1)(0,2)(0,3)(0,4)の検出領域に対応する各検出器から出力された第1の検出データに基づいた第2の検出データの合計値となる。検出領域がy軸方向に9つに分割されているので、最大値は9を取ることになる。
項目y(−4)〜y(4)も同様で、各y軸における横(x軸)方向の全検出領域に対応する全検出器の出力の総和であり、最大値は16となる。これより図38に示した手の動作は結果として、図18に示したものと重心の変動は同一となり、同様のアルゴリズムで処理して動作の認識が可能である。
【0117】
図41の表と図18の表とを比較すると、最初のフレームn=0の列では、図18の各項目x(6)=x(4)=12,x(5)=120,y(3)=y(2)=72が、図41の各項目x(6)=x(4)=0,x(5)=2,y(3)=y(2)=1に相当する。
図41は、量子化されて2値にまるめられた値で且つスケールが図18とは異なっている。しかし、位置を表す重心は同一となる。従って、第2実施形態の第6の動作検出器20−6は、第1実施形態の第1の動作検出器20−1〜第5の動作検出器20−5と同様のアルゴリズムで手の動作を認識することが可能である。第6の動作検出器20−6のアルゴリズムは、(1)式、(2)式による重心計算、(3)式の相関デジタルフィルタの計算、そして不要な検出領域に対応する検出器にタイミングパルスを供給せず、タイミングゲート器52を閉じる処理などで、そのアルゴリズムを表現するフローチャートが図36である。第6の動作検出器20−6は、検出部19より出力される検出信号に基づいて、ユーザ3による動作が所定の動作であるか否かを検出する動作検出器である。
ここで、第2実施形態の各検出領域に対応する各検出器の、ゲートタイミング器52を閉じる処理をマスク処理とし、後述する。
【0118】
第2実施形態では、各検出器301〜444が対応する検出領域が第1実施形態で説明した区画に相当するため、タイミングゲート器52を閉じる方法は第1実施形態と同様であるが、不要な検出領域を無効とする方法は異なる。
図42は、図38と同じ手を上下に繰り返し振る動作を示す。この動作を操作として認識するために、第1のオブジェクト抽出器51が手の動作を検出するように機能するが、意図しないものの動作が混入してくる。例えば、図42に示す検出領域において、(x、y)=(1,−2)、(1,−3)に黒丸で示すノイズが発生している。
図41の表では、n=11のフレームにおいて項目x(1)=2,y(−2)=1,y(−3)=1となっている。これはx軸とy軸の重心を乱し、手の動作を検出する際に妨害となる。これは重心の値に影響するため、重心の変動を用いて手の動作を検出する本発明において、問題となる。
【0119】
このノイズは、手の上下運動を検出している検出領域以外の検出領域をマスク処理することで抑制・除去する。
マスク処理は第1実施形態と同様で、x軸の各項目x(−8)〜x(7)の値をそれぞれ所定の期間累積加算して、図19(C)に示すように閾置th1xを超えたとき、活性化フラグflg_xを立てればよい。従って第2実施形態では、各x座標における縦(y軸)方向の全検出領域に対応する全検出器の出力の総和、あるいは各y座標における横(x軸)方向の全検出領域に対応する全検出器の出力の総和が、それぞれ閾値th1xあるいはth1yを超えたときに活性化フラグflg_xあるいはflg_yを生成すればよい。なお、累積加算した値は、所定の値を超えたらリミットをかけてもよい。
図19(C)では、x軸座標5を有する各検出領域に対応する各検出器の出力信号(x(5))を累積加算した加算値が、所定の期間(フレーム10)に経て閾置th1xを超えたことを検出した。従ってx座標5を有する各検出領域の少なくとも一部で、振られている手が検出されている。
検出器から出力される信号が閾値th1xを超えてから、活性化フラグflg_xを所定の期間立て、図19(A)に示す縦(y軸)方向の重心YGの変動を相関デジタルフィルタにて相関性を評価することで、手の動作を操作として認識する。
【0120】
第2実施形態では、ビデオカメラ2より出力された画像の画面を縦方向と横方向とに分割して各検出領域を設け、かつ各検出領域の第1の検出データを制御情報判断器20に供給し、2次元配列化された変数として取り扱えるため、マスク処理はその変数を零に操作することで実現できる。当然タイミングゲート器52に入力されるタイミングパルスを、タイミングパルス発生器12にて制御することも可能である。
本実施形態では、10フレーム目以降はマスク処理が施されるので、図41の表に示したノイズ成分(フレーム番号11)は抑圧できる。このようにマスク処理は手以外の動作を抑圧して、所定の動作のみを引き出す効果がある。
【0121】
図42のハッチングされた部分は、以上で詳述したようにマスク処理された検出領域である。図41の表に基づき、x軸座標5を有する検出領域以外の検出領域に対応する検出器に対してマスク処理すればよいが、本実施形態では手がふらつくことを考慮して、x軸座標5である全検出領域及びx軸座標が5±1の各検出領域に対応する各検出器に対してマスク処理せず、検出信号を出力するよう制御している。
すなわち、活性化フラグFlg_xが1となったx座標5の各検出領域に対応する各検出器と、x座標5の各検出領域に隣接するx座標4と6の各検出領域に対応する各検出器とに対して、タイミングパルス発生器12よりタイミングパルスを供給させる。
【0122】
また図41の表を基に、手の上下運動が及ばないx軸座標が4〜6でy軸座標が−4,−3,−2,4である各検出領域に対応する各検出器には、タイミングパルスを供給せず、マスク処理を施す。マスク処理された検出領域を図42に×印で示す。これにより、ノイズの影響を更に抑制できる。
このマスク処理は、図19(C)において活性化フラグflg_xが立った時点で、この時点から前の図19(A)に示す重心YGを評価して行う。制御情報判断器20内のメモリ(図示せず)に所定の期間の重心YGを記録し、活性化フラグflg_xが発生した時点でその前までに記録された重心YGを参照する。本実施形態では、図19(A)に矢印1で示す範囲を参照した。y軸座標が−4,−3,−2,4である検出領域には、手がかざされていないと判断でき、手の動作はy軸座標が−4,−3,−2,4である検出領域の範囲外で生じているとして、上述したようにマスク処理する。
すなわち、所定の動作を行うために手が動くと、かざされている手が抽出された検出領域が判別されて、検出信号が通過する通過領域となる。それ以外の検出領域は、タイミングゲート器52にタイミングパルスが供給されないので、検出された信号は通過しない。更に、各検出器の出力信号を累積加算した加算値が閾置th1xを超えると、閾値th1xを超えた時点より過去の所定期間の第2の検出データを参照し、手がかざされている検出領域以外の検出領域に対応する検出器に対してマスク処理し検出信号を出力させないことで、ノイズを抑制する。
【0123】
第2実施形態は、ビデオカメラ2より出力された画像の画面に設けた個々の検出領域に、対応する検出器を設けてブロック状の検出領域より手の動作を検出するものである。2次元平面でのマスク処理が可能であるため、動作している手が抽出された検出領域を第1実施形態より絞り込むことができ、ノイズに対する耐性が向上する。また、第2実施形態ではソフトウェア処理でマスク処理ができるため、マスク処理されてないデータと並行した処理も可能となり、処理の自由度が増すという利点も有する。
そして図36に示した第2の検出データから手の動作を認識するアルゴリズムは、検出領域の実施形態に係わらず同様に機能するもので、認識操作を確定させてテレビ受像機を制御することができるものである。
【0124】
図43は第2のオブジェクト抽出器510を示す図で、第2のオブジェクト抽出器510は図8に示す第1のオブジェクト抽出器51の他の実施形態である。第2のオブジェクト抽出器510は、特定色フィルタ71と階調限定器72から出力された信号を合成器73で合成して、その後段に動作検出フィルタ75を直列に配置し、ビデオカメラ2からの信号をオブジェクトゲート器74でゲート処理を加える。
また第2実施形態では、タイミングパルスが供給された検出器に対応する検出領域のみ、オブジェクト特徴データ検出部530のブロックカウント66でカウントするので、図41の動作検出フィルタ75の出力を図39のオブジェクト特徴データ検出部530のブロックカウンタに直接入れても、同様にブロック量子化器67の出力検出領域単位の手の動き情報が得られる。
【0125】
図44は、本発明の一実施形態を応用した一実施例を説明するための図である。図44(A)にはグラフィックス生成器16で描いたメニュー画像(操作用画像)が示されており、その画像は(1−1)〜(1−5)の5つの領域に分けられている。これらの5つの領域に対してユーザ3は所定の動作を行う。図44(B)は、ビデオカメラ2で撮影されたユーザ3の画像が鏡像変換された画像を示す。
図44(C)は、図44(A)と(B)の画像を混合したものが表示装置23に映し出されている様子を示し、メニュー画像とユーザ3の位置関係が分かるものとなっている。この第2実施形態の構成には、図2に示す表示装置23とグラフィックス生成器16は必須の機能ブロックである。
【0126】
図45は、図44(C)に示すメニュー画面とユーザ3の鏡像画像とが混合された画面を見て、ユーザ3がテレビジョン受像機1を操作している状態を示している。図45(A)には、ユーザ3が手を縦に振って複数のメニュー画像のうち所望のメニュー内容を示す画像、すなわち所望の操作ボタンを選択する状態を示している。図45(A)は例えば、ユーザ3は「映画」の操作ボタンを選択している。
第1実施形態で説明したとおり、縦に手を振るとx軸検出器のうちどの検出器が最大値を示して活性化フラグFlg_xが「1」となったかが分かる。そこで、メニュー画像を生成したグラフィックス生成器16と各座標の検出領域に対応する検出器とを対応させておけば、ユーザ3が選択した操作ボタンに対応する制御を起動することができる。
【0127】
上述した本発明の各実施形態に示したテレビジョン受像機1によれば、以下のような効果を奏する。テレビジョン受像機1の電源を入れる際、手の動作がビデオカメラ2の撮像範囲内であれば、電源のON/OFFやグラフィックスメニュー表示の制御をさせることができる。このときの手を縦または横に振る動作は、人にとって無理のない動作である。また縦の動作は「コイコイ」、横の動作は「バイバイ」と人にとって意味のある動作であり、これらの動作をその意味に添った形でテレビジョン受像機1の制御に利用することは、大変分かり易く使い勝手の良いものである。
また、ビデオカメラ2の撮像範囲内のどの位置にユーザ3がいても動作検出が可能であり、さらに活性化フラグによる制御で極めて誤認識の少ない正確な検出を行うことができる。またグラフィックス生成器16で生成したメニュー画像とビデオカメラ2が撮影したユーザ自身の映像を混合した画面上において所望のメニューを選択する操作方法にも応用ができ、同一の回路及びソフト処理で多様な活用が可能である。
【0128】
上述した本発明の各実施形態では、電子機器をテレビジョン受像機1とした例を示したが、これに特定するものでなく、電子機器に他のさまざまな電子機器にビデオカメラ2を搭載することで、応用することができる。またグラフィックメニュー画像にビデオカメラ2の画像を混合させたメニュー画面から、ユーザ3が所望の制御内容を示すメニュー画像を選択操作する方法については、ディスプレイ(表示装置)を有する電子機器であれば応用することができる。本発明は、リモコンが無くても電子機器を操作する世界を構築する上で有用な装置を提供することができる。
【図面の簡単な説明】
【0129】
【図1】本発明の電子機器操作方法の概要を説明するための図である。
【図2】本発明の一実施形態にかかるテレビジョン受像機の要部の構成を示すブロック図である。
【図3】操作者の動作が認識識されてテレビジョン受像機が制御される例を説明する図である。
【図4】ビデオカメラに撮影されたユーザの様子を表す図である。
【図5】y軸検出器と画面内の検出領域とそれを制御するタイミングパルスの関係を説明するための図である。
【図6】x軸検出器と画面内の検出領域とそれを制御するタイミングパルスの関係を説明するための図である。
【図7】図2に示す検出器の構成を示すブロック図である。
【図8】図7に示すオブジェクト抽出器の構成を示すブロック図である。
【図9】図8に示す特定色フィルタで抽出する対象物の色相及び飽和度を説明するための図である。
【図10】色差信号から色相を算出する処理のフローチャートである。
【図11】図8に示す階調限定器で抽出する対象物の輝度信号レベルを示す図である。
【図12】図8に示す動作検出フィルタの構成を示すブロック図である。
【図13】動作検出フィルタの特性を表す図である。
【図14】オブジェクト抽出器の出力が画面に映し出されているようすを描いた図である。
【図15】制御情報判断器(CPU)の構成を示すブロック図である。
【図16】オブジェクト特徴データ検出部内のヒストグラム検出器及び平均輝度検出器の出力信号をモデル化して描いた図である。
【図17】画面上に映された縦に動作する手と検出領域を表す座標との関係を説明するための図である。
【図18】x軸検出器及びy軸検出器の検出データと検出データから計算された重心の値を示す表である(手の動作が縦振りの場合)。
【図19】手のポジションの重心座標の変動を示すタイムチャートである(手の動作が縦振りの場合)。
【図20】高域通過フィルタの構成を示すブロック図である。
【図21】活性化フラグ(Flg_x)により検出領域を制限したときの画面とタイミングパルスを描いた図である。
【図22】y軸検出器のx軸タイミングパルスの生成方法を説明するための図である。
【図23】y軸検出器のx軸及びy軸両タイミングパルスによる制御内容を説明するための図である。
【図24】活性化フラグ(Flg_x)によって不要な検出器のデータが除かれたx軸検出器及びy軸検出器の検出データと検出データから計算された重心の値を示す表である(手の動作が縦振りの場合)。
【図25】相互相関デジタルフィルタの内容を説明するための図である(手の動作が縦振りの場合)。
【図26】相互相関デジタルフィルタ出力の変動を示すタイムチャートである(手の動作が縦振りの場合)。
【図27】画面上に映された横に動作する手と検出領域を表す座標との関係を説明するための図である。
【図28】x軸検出器及びy軸検出器の検出データと検出データから計算された重心の値を示す表である(手の動作が横振りの場合)。
【図29】手のポジションの重心座標の変動を示すタイムチャートである(手の動作が横振りの場合)。
【図30】活性化フラグ(Flg_y)により検出領域を制限したときの画面とタイミングパルスを描いた図である。
【図31】x軸検出器のy軸タイミングパルスの生成方法を説明するための図である。
【図32】x軸検出器のx軸及びy軸両タイミングパルスによる制御内容を説明するための図である。
【図33】活性化フラグ(Flg_y)によって不要な検出器のデータが除かれたx軸検出器及びy軸検出器の検出データと検出データから計算された重心の値を示す表である(手の動作が横振りの場合)。
【図34】相互相関デジタルフィルタの内容を説明するための図である(手の動作が横振りの場合)。
【図35】相互相関デジタルフィルタ出力の変動を示すタイムチャートである(手の動作が横振りの場合)。
【図36】動作検出方法の処理手順を示すフローチャートである。
【図37】第2実施形態の検出領域と対応する検出器とを示す図である。
【図38】第2実施形態の検出領域上に縦振り動作をする手を示した図である。
【図39】オブジェクト特徴データ検出部530を有する第2実施形態の検出器のブロック図である。
【図40】第2実施形態において差分が発生した検出領域を示す図である。
【図41】第2のオブジェクト抽出器510を示す図である。
【図42】第2実施形態におけるx軸検出器及びy軸検出器からの検出データを示す表である。
【図43】第2実施形態においてマスク処理された検出領域を示す図である。
【図44】本発明の一実施形態における操作者の画像とメニュー画像が混合されたメニュー画面の一実施例を描いた図である。
【図45】メニュー画面に対して動作する操作者のようすを描いた図である。
【符号の説明】
【0130】
1 テレビジョン受像器(電子機器)
2 ビデオカメラ
3 ユーザ(操作者)
12 タイミングパルス発生器
19 検出部
20 制御情報判断器(フラグ生成器、制御器)
20−1〜20−5 第1〜第5の動作検出器(生成器)
23 表示装置
301〜(300+n) 検出器
【特許請求の範囲】
【請求項1】
電子機器において、
表示装置と、
前記表示装置の前に位置する操作者を撮影するビデオカメラと、
前記ビデオカメラより出力された画像の画面を水平方向にN(Nは2以上の整数)分割、垂直方向にM(Mは2以上の整数)分割した複数の検出領域それぞれに対応して設けた複数の検出器を有し、前記複数の検出器を用いて前記ビデオカメラによって撮影された前記操作者が行う動作に基づいた第1の検出信号を発生する検出部と、
前記複数の検出器それぞれを前記複数の検出領域に対応させて動作させるためのタイミングパルスを供給するタイミングパルス発生器と、
前記第1の検出信号に基づいて第2の検出信号を生成する生成器と、
前記第2の検出信号それぞれを所定の期間累積加算した加算値が、予め定めた閾値を超えるとフラグを生成するフラグ生成器と、
前記複数の検出器の内、前記複数の検出領域の内の一部の検出領域に対応する検出器から出力された第1の検出信号に基づく第2の検出信号を有効とすると共に、他の検出器から出力された第1の検出信号に基づく第2の検出信号を無効とするよう制御する制御器とを備え、
前記タイミングパルス発生器は、前記フラグ生成器が前記フラグを生成した後の所定の期間、前記複数の検出器の内、前記フラグが生成された特定の検出器と、前記特定の検出器に対応した特定の検出領域に隣接する検出領域を少なくとも含む前記特定の検出領域の近傍の検出領域に対応する検出器とに対して選択的に前記タイミングパルスを供給することを特徴とする電子機器。
【請求項2】
前記ビデオカメラより出力された画像の画面を水平方向にN分割した検出領域に対応したN個の第1の検出器と、垂直方向にM分割した検出領域に対応したM個の第2の検出器とを備え、
前記タイミングパルス発生器は、前記フラグ生成器が前記フラグを生成した後の所定の期間、前記制御器の制御に基づいて前記N個の第1の検出器または前記M個の第2の検出器に供給するタイミングパルスの幅を前記操作者が行う動作に応じて狭くすることを特徴とする請求項1記載の電子機器。
【請求項3】
前記ビデオカメラより出力された画像の画面を水平方向にN分割、垂直方向にM分割して設けたN×M個の検出領域に対応したN×M個の検出器を備え、
前記制御器は、前記フラグ生成器が前記フラグを生成した後の所定の期間、前記N×M個の検出器の内、前記フラグが生成された特定の検出器から出力された第1の検出信号に基づく第2の検出信号と、前記特定の検出器に対応した特定の検出領域に隣接する検出領域を少なくとも含む前記特定の検出領域の近傍の検出領域に対応する検出器から出力された第1の検出信号に基づく第2の検出信号とを有効とし、他の検出器から出力された第1の検出信号に基づく第2の検出信号を無効とするように制御することを特徴とする請求項1記載の電子機器。
【請求項4】
前記電子機器は、
前記ビデオカメラで撮影された画像の鏡像変換を行う鏡像変換器と、
少なくとも1つの操作用画像を生成する操作用画像生成器と、
前記鏡像変換器より出力された鏡像変換画像信号と前記操作用画像生成器より出力された操作用画像信号とを混合する混合器とを備え、
前記検出部は、前記混合器により混合された画像を前記表示装置に表示させた状態で、前記表示装置に表示された前記操作者が前記操作用画像を操作する所定の動作に対応した前記第1の検出信号を発生することを特徴とする請求項1ないし3いずれか一項に記載の電子機器。
【請求項5】
前記検出部は、
前記ビデオカメラによって撮影された対象物を縦方向に移動させる第1の動作を検出した際に生成される第1の基準信号波形に対応するタップ係数と前記第2の検出信号とを乗算するデジタルフィルタと、
前記デジタルフィルタより出力される信号波形に基づいて前記操作者が行う動作が前記第1の動作であるか否かを検出する動作検出器とを備えることを特徴とする請求項1ないし4のいずれか一項に記載の電子機器。
【請求項6】
前記検出部は、
前記ビデオカメラによって撮影された対象物を横方向に移動させる第2の動作を検出した際に生成される第2の基準信号波形に対応するタップ係数と前記第2の検出信号とを乗算するデジタルフィルタと、
前記デジタルフィルタより出力される信号波形に基づいて前記操作者が行う動作が前記第2の動作であるか否かを検出する動作検出器とを備えることを特徴とする請求項1ないし4のいずれか一項に記載の電子機器。
【請求項1】
電子機器において、
表示装置と、
前記表示装置の前に位置する操作者を撮影するビデオカメラと、
前記ビデオカメラより出力された画像の画面を水平方向にN(Nは2以上の整数)分割、垂直方向にM(Mは2以上の整数)分割した複数の検出領域それぞれに対応して設けた複数の検出器を有し、前記複数の検出器を用いて前記ビデオカメラによって撮影された前記操作者が行う動作に基づいた第1の検出信号を発生する検出部と、
前記複数の検出器それぞれを前記複数の検出領域に対応させて動作させるためのタイミングパルスを供給するタイミングパルス発生器と、
前記第1の検出信号に基づいて第2の検出信号を生成する生成器と、
前記第2の検出信号それぞれを所定の期間累積加算した加算値が、予め定めた閾値を超えるとフラグを生成するフラグ生成器と、
前記複数の検出器の内、前記複数の検出領域の内の一部の検出領域に対応する検出器から出力された第1の検出信号に基づく第2の検出信号を有効とすると共に、他の検出器から出力された第1の検出信号に基づく第2の検出信号を無効とするよう制御する制御器とを備え、
前記タイミングパルス発生器は、前記フラグ生成器が前記フラグを生成した後の所定の期間、前記複数の検出器の内、前記フラグが生成された特定の検出器と、前記特定の検出器に対応した特定の検出領域に隣接する検出領域を少なくとも含む前記特定の検出領域の近傍の検出領域に対応する検出器とに対して選択的に前記タイミングパルスを供給することを特徴とする電子機器。
【請求項2】
前記ビデオカメラより出力された画像の画面を水平方向にN分割した検出領域に対応したN個の第1の検出器と、垂直方向にM分割した検出領域に対応したM個の第2の検出器とを備え、
前記タイミングパルス発生器は、前記フラグ生成器が前記フラグを生成した後の所定の期間、前記制御器の制御に基づいて前記N個の第1の検出器または前記M個の第2の検出器に供給するタイミングパルスの幅を前記操作者が行う動作に応じて狭くすることを特徴とする請求項1記載の電子機器。
【請求項3】
前記ビデオカメラより出力された画像の画面を水平方向にN分割、垂直方向にM分割して設けたN×M個の検出領域に対応したN×M個の検出器を備え、
前記制御器は、前記フラグ生成器が前記フラグを生成した後の所定の期間、前記N×M個の検出器の内、前記フラグが生成された特定の検出器から出力された第1の検出信号に基づく第2の検出信号と、前記特定の検出器に対応した特定の検出領域に隣接する検出領域を少なくとも含む前記特定の検出領域の近傍の検出領域に対応する検出器から出力された第1の検出信号に基づく第2の検出信号とを有効とし、他の検出器から出力された第1の検出信号に基づく第2の検出信号を無効とするように制御することを特徴とする請求項1記載の電子機器。
【請求項4】
前記電子機器は、
前記ビデオカメラで撮影された画像の鏡像変換を行う鏡像変換器と、
少なくとも1つの操作用画像を生成する操作用画像生成器と、
前記鏡像変換器より出力された鏡像変換画像信号と前記操作用画像生成器より出力された操作用画像信号とを混合する混合器とを備え、
前記検出部は、前記混合器により混合された画像を前記表示装置に表示させた状態で、前記表示装置に表示された前記操作者が前記操作用画像を操作する所定の動作に対応した前記第1の検出信号を発生することを特徴とする請求項1ないし3いずれか一項に記載の電子機器。
【請求項5】
前記検出部は、
前記ビデオカメラによって撮影された対象物を縦方向に移動させる第1の動作を検出した際に生成される第1の基準信号波形に対応するタップ係数と前記第2の検出信号とを乗算するデジタルフィルタと、
前記デジタルフィルタより出力される信号波形に基づいて前記操作者が行う動作が前記第1の動作であるか否かを検出する動作検出器とを備えることを特徴とする請求項1ないし4のいずれか一項に記載の電子機器。
【請求項6】
前記検出部は、
前記ビデオカメラによって撮影された対象物を横方向に移動させる第2の動作を検出した際に生成される第2の基準信号波形に対応するタップ係数と前記第2の検出信号とを乗算するデジタルフィルタと、
前記デジタルフィルタより出力される信号波形に基づいて前記操作者が行う動作が前記第2の動作であるか否かを検出する動作検出器とを備えることを特徴とする請求項1ないし4のいずれか一項に記載の電子機器。
【図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】
【図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】
【公開番号】特開2007−189664(P2007−189664A)
【公開日】平成19年7月26日(2007.7.26)
【国際特許分類】
【出願番号】特願2006−297432(P2006−297432)
【出願日】平成18年11月1日(2006.11.1)
【出願人】(000004329)日本ビクター株式会社 (3,896)
【Fターム(参考)】
【公開日】平成19年7月26日(2007.7.26)
【国際特許分類】
【出願日】平成18年11月1日(2006.11.1)
【出願人】(000004329)日本ビクター株式会社 (3,896)
【Fターム(参考)】
[ Back to top ]