(57)【要約】    【構成】  マルチウィンドウシステム１０はコンピュータ１８，２０を含み、コンピュータ１８，２０には、それぞれディスプレイ２２，２４が接続される。また、コンピュータ１８，２０には、切替器１６を介して、キーボード２６およびマウス２８が接続される。ユーザの顔画像はカメラ１４で撮影され、この顔画像に基づいて視線サーバ１２は、ユーザの顔方向および視線方向を推定し、カメラ１４、ディスプレイ２２、ディスプレイ２４およびユーザの位置関係を取得する。これらの情報を受けて、コンピュータ２０は、ユーザがディスプレイ１８，２０を見ているか否かを判断し、見ているディスプレイ１８，２０を特定する。そして、コンピュータ２０は、切替器１６によって、ユーザが見ているディスプレイ２２，２４に接続されるコンピュータ１８，２０をアクティブにする。    【効果】  視線により操作対象のコンピュータを切り替えることができる。【選択図】  図１
2009244949.tif 000002
【特許請求の範囲】
【請求項１】
共通の入力装置を用いて２台以上のコンピュータを切り替えて選択的に操作する操作対象の切替装置であって、
前記２台以上のコンピュータの各々に接続される複数台のディスプレイ、
前記２台以上のコンピュータと前記入力装置との間に設けられ、当該入力装置の入力を受けるコンピュータを切り替えるコンピュータ切替手段、
前記コンピュータを操作するユーザの視線を検出する視線検出手段、
前記視線検出手段によって検出されたユーザの視線が前記複数台のディスプレイのすべての表示領域から外れているかどうかを判断する画面注視判断手段、
前記画面注視判断手段によって前記ユーザの視線が前記複数台のディスプレイのすべての表示領域から外れていることが判断されたとき、操作対象のコンピュータを前記ユーザに通知するアクティブコンピュータ通知手段、
前記画面注視判断手段によって前記ユーザの視線が前記複数台のディスプレイのうちのいずれかの表示領域を注視していることが判断されたとき、当該ユーザの視線が指示する１台の前記ディスプレイを検出するディスプレイ検出手段、および
前記ディスプレイ検出手段によって検出された１台のディスプレイが接続された前記コンピュータを、操作対象のコンピュータとして選択するように、前記コンピュータ切替手段の切り替えを制御する切替制御手段を備える、操作対象の切替装置。
【請求項２】
前記コンピュータ切替手段によって操作対象のコンピュータが切り替えられたことを前記ユーザに通知するコンピュータ切替通知手段をさらに備える、請求項１記載の操作対象の切替装置。
【請求項３】
切替制御手段は、前記ディスプレイ検出手段によって検出された１台のディスプレイを前記ユーザの視線が指示し続けている時間が一定時間を経過したとき、当該ディスプレイに接続されたコンピュータを、前記操作対象のコンピュータとして選択するように、前記コンピュータ切替手段の切り替えを制御する、請求項１または２記載の操作対象の切替装置。
【請求項４】
前記コンピュータ切替手段によって操作対象のコンピュータが切り替えられてから、次に当該コンピュータ切替手段によって操作対象のコンピュータが切り替えられるまで、現在の操作対象のコンピュータを間欠的に通知する間欠通知手段をさらに備える、請求項１ないし３のいずれかに記載の操作対象の切替装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は操作対象の切替装置に関し、特にたとえば、共通の入力装置を用いて複数台のコンピュータを選択的に操作する場合の操作対象のコンピュータを切り替えるための、操作対象の切替装置に関する。
【背景技術】
【０００２】
従来のこの種の操作対象の切替装置の一例が非特許文献１に開示されている。この非特許文献１に開示されたマウス・キーボード切替器は、最大４台のコンピュータを接続可能であり、それらを切り替えることにより、１台のキーボードおよび１台のコンピュータマウスを用いて操作対象のコンピュータを操作する。たとえば、マウス・キーボード切替器に設けられる切替ボタンを操作したり、キーボードの指定のキー（Scroll Lock-Scroll Lock-ＰＣ番号）を操作（ホットキーの操作）したりすることにより、操作対象のコンピュータは切り替えられる。
【０００３】
また、従来のこの種の操作対象の切替装置の他の例が非特許文献２に開示されている。この非特許文献２に開示された複数のコンピュータ環境における注視行動に基づく操作対象の切り替え方法によれば、ステレオカメラを用いてユーザの顔の３次元位置を計測し、この計測結果に３次元の顔モデルをフィッティングさせることで、顔の位置および姿勢を推定し、頭部の方向の運動を計測する。この頭部方向を利用してＰＣを切り替えるようにしてある。
【非特許文献１】マウス・キーボード切替器  ＰＳ／２接続（４台用）（http://www.ratocsystems.com/products/subpage/mk4.html）
【非特許文献２】「複数のコンピュータ環境における注視行動に基づく操作対象の切り替え」竹村憲太郎  南出隼人  松本吉央  小笠原司  ヒューマンインタフェースシンポジウム２００４  一般発表
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、前者の場合には、ユーザがマウス・キーボード切替器に設けられる切替ボタンやキーボードの指定のキーを操作（切替操作）することにより、操作対象のコンピュータを切り替えるため、切替操作を忘れた場合には、所望で無いコンピュータへの入力操作が実行されてしまうという問題がある。また、このような切替操作は面倒である。
【０００５】
また、後者の場合には、頭部方向を使用してＰＣを切り替えるため、たとえば、ブラインドタッチのできないユーザがキーボードを注視して入力を行う場合やブラインドタッチのできるユーザが原稿を見ながら入力を行う場合には、システムが正常に動作しないという問題がある。また、頭部方向と注視する（見る）方向とが一致しない場合には、所望でないＰＣに切り替えられてしまうという問題もある。
【０００６】
それゆえに、この発明の主たる目的は、新規な、操作対象の切替装置を提供することである。
【０００７】
この発明の他の目的は、簡単に所望のコンピュータを操作対象に切り替えて、誤入力を防止することができる、操作対象の切替装置を提供することである。
【０００８】
この発明のその他の目的は、ユーザがキーボードを注視して入力を行う場合にも、誤入力を防止することができる、操作対象の切替装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【００１０】
第１の発明は、共通の入力装置を用いて２台以上のコンピュータを切り替えて選択的に操作する操作対象の切替装置であって、２台以上のコンピュータの各々に接続される複数台のディスプレイ、２台以上のコンピュータと入力装置との間に設けられ、当該入力装置の入力を受けるコンピュータを切り替えるコンピュータ切替手段、コンピュータを操作するユーザの視線を検出する視線検出手段、視線検出手段によって検出されたユーザの視線が複数台のディスプレイのすべての表示領域から外れているかどうかを判断する画面注視判断手段、画面注視判断手段によってユーザの視線が複数台のディスプレイのすべての表示領域から外れていることが判断されたとき、操作対象のコンピュータをユーザに通知するアクティブコンピュータ通知手段、画面注視判断手段によってユーザの視線が複数台のディスプレイのうちのいずれかの表示領域を注視していることが判断されたとき、当該ユーザの視線が指示する１台のディスプレイを検出するディスプレイ検出手段、およびディスプレイ検出手段によって検出された１台のディスプレイが接続されたコンピュータを、操作対象のコンピュータとして選択するように、コンピュータ切替手段の切り替えを制御する切替制御手段を備える、操作対象の切替装置である。
【００１１】
第１の発明では、操作対象の切替装置（１２，１４，１６，２０）は、共通の入力装置（２６,２８）を用いて２台以上のコンピュータ（１８,２０）を切り替えて選択的に操作する。複数台のディスプレイ（２２，２４）は、２台以上のコンピュータの各々に接続される。切替手段（１６）は、２台以上のコンピュータと入力装置との間に設けられ、当該入力装置の入力を受けるコンピュータを切り替える。視線検出手段（１２，１４）は、コンピュータを操作するユーザの視線を検出する。画面注視判断手段（２０，Ｓ３０６）は、視線検出手段によって検出されたユーザの視線が複数台のディスプレイのすべての表示領域から外れているかどうかを判断する。アクティブコンピュータ通知手段（２０，Ｓ３１８）は、画面注視判断手段によってユーザの視線が複数台のディスプレイのすべての表示領域（画面）から外れていることが判断されたとき（Ｓ３０６で“ＹＥＳ”）、操作対象のコンピュータをユーザに通知する。また、ディスプレイ検出手段（２０，Ｓ３２２）は、画面注視判断手段によってユーザの視線が複数台のディスプレイのうちのいずれかの表示領域を注視していることが判断されたとき（Ｓ３０６で“ＮＯ”）、当該ユーザの視線が指示する１台のディスプレイを検出する。そして、切替制御手段（２０，Ｓ３３２）は、ディスプレイ検出手段によって検出された１台のディスプレイが接続されたコンピュータを、操作対象のコンピュータとして選択するように、コンピュータ切替手段の切り替えを制御する。
【００１２】
第１の発明によれば、視線が指示するコンピュータを操作対象のコンピュータとして選択するので、ユーザにボタン操作やキー操作をさせるなどの面倒な操作をさせる必要がない。つまり、簡単に所望のコンピュータを操作対象に切り替えることができる。しかも、そのような操作のし忘れによる誤入力を未然に回避することができる。また、ユーザが画面を見ていない場合には、操作対象のコンピュータを通知するので、画面を見ずに入力操作を行うユーザが誤って所望でないコンピュータに対する入力操作を実行するのを回避することができる。
【００１３】
第２の発明は第１の発明に従属し、コンピュータ切替手段によって操作対象のコンピュータが切り替えられたことをユーザに通知するコンピュータ切替通知手段をさらに備える。
【００１４】
第２の発明では、コンピュータ切替通知手段（２０，Ｓ３３４）は、コンピュータ切替手段によって操作対象のコンピュータが切り替えられたことをユーザに通知する。
【００１５】
第２の発明によれば、操作対象のコンピュータが切り替えられたことをユーザに通知するので、その通知を受けた後に、所望の操作対象のコンピュータに対する操作入力を行うことができる。つまり、誤入力を未然に回避することができる。
【００１６】
第３の発明は第１または第２の発明に従属し、切替制御手段は、ディスプレイ検出手段によって検出された１台のディスプレイをユーザの視線が指示し続けている時間が一定時間を経過したとき、当該ディスプレイに接続されたコンピュータを、操作対象のコンピュータとして選択するように、コンピュータ切替手段の切り替えを制御する。
【００１７】
第３の発明では、切替制御手段は、ディスプレイ検出手段によって検出された１台のディスプレイをユーザの視線が指示し続けている時間が一定時間を経過したとき（Ｓ３２８で“ＹＥＳ”）、当該ディスプレイに接続されたコンピュータを、操作対象のコンピュータとして選択するように、コンピュータ切替手段の切り替えを制御する。
【００１８】
第３の発明によれば、ユーザが１台のディスプレイを一定時間以上見続けている場合にのみ、操作対象のコンピュータを切り替えるので、操作対象以外のコンピュータに接続されたディスプレイを単に見るだけの動作によって操作対象が切り替えられてしまうような不都合を回避することができる。
【００１９】
第４の発明は請求項１ないし３のいずれかに従属し、コンピュータ切替手段によって操作対象のコンピュータが切り替えられてから、次に当該コンピュータ切替手段によって操作対象のコンピュータが切り替えられるまで、現在の操作対象のコンピュータを間欠的に通知する間欠通知手段をさらに備える。
【００２０】
第４の発明では、間欠通知手段（２０,Ｓ３３４,Ｓ３３６,Ｓ３３８,Ｓ３４０）は、コンピュータ切替手段によって操作対象のコンピュータが切り替えられてから（Ｓ３３２で“ＹＥＳ”）、次に当該コンピュータ切替手段によって操作対象のコンピュータが切り替えられるまで（Ｓ３３２で“ＹＥＳ”）、現在の操作対象のコンピュータを間欠的に通知する間欠通知手段をさらに備える。つまり、一旦、操作対象のコンピュータが切り替えられると、次に切り替えられるまで、一定時間間隔（実施例では、３分〜５分）で、操作対象のコンピュータを通知するのである。
【００２１】
第４の発明によれば、操作対象のコンピュータが切り替えられた後であっても、次の操作対象のコンピュータが切り替えられるまで、間欠的に操作対象のコンピュータを通知するので、途中で操作対象のコンピュータが分からなくなるなどの不都合を防止して、誤入力を未然に回避することができる。また、ユーザは、異なる操作対象のコンピュータを選択する必要がある場合には、そのことも容易に知ることができる。
【発明の効果】
【００２２】
この発明によれば、視線方向に基づいてユーザが見ているディスプレイを検出し、当該ディスプレイに接続されたコンピュータを操作対象として選択するだけなので、簡単に操作対象のコンピュータを切り替えて、誤入力を防止することができる。また、ユーザが画面を見ていない場合には、現在の操作対象のコンピュータを通知するので、誤入力を防止することができる。
【００２３】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００２４】
図１を参照して、この実施例のマルチディスプレイシステム（以下、単に「システム」という。）１０は、視線サーバ１２を含み、視線サーバ１２にはカメラ１４が接続される。また、システム１０は、切替器１６を含み、この切替器１６には、第１のコンピュータ１８と第２のコンピュータ２０とが接続される。また、第２のコンピュータ２０は、上述した視線サーバ１２に接続される。また、第１のコンピュータ１８には、第１のディスプレイ２２が接続され、第２のコンピュータ２０には、第２のディスプレイ２４が接続されるとともに、スピーカ３２が接続される。そして、切替器１６には、キーボード２６およびコンピュータマウス（以下、単に「マウス」という。）２８が接続される。
【００２５】
視線サーバ１２、第１のコンピュータ１８および第２のコンピュータ２０は、一般的な汎用のコンピュータであり、第１のディスプレイ２２および第２のディスプレイ２４もまた、一般的な汎用のＣＲＴモニタやＬＣＤである。また、カメラ１４も一般的な汎用のディジタルカメラであり、キーボード２６およびマウス２８もまた、一般的な汎用のキーボードおよびマウス（入力装置）である。
【００２６】
この実施例の切替器１６としては、ラトックシステム株式会社製のマウス・キーボード切替器  ＰＳ／２接続（製品型番「ＲＥＸ−ＭＫ４」）を用いることができる。このマウス・キーボード切替器は、それに設けられる切替ボタンの操作やキーボードの指定のキー（Scroll Lock-Scroll Lock-ＰＣ番号）の操作（ホットキーの操作）の２通りの方法により、操作対象のコンピュータ（２０，２４）を切り替え可能である。ただし、この実施例では、それらの方法に代えて、または、それらの方法に加えて、第２のコンピュータ２２からの切替信号（選択信号）によって切り替えることも可能である。
【００２７】
たとえば、図２に示すように、その表示面がユーザ３０に対面するように、２台のディスプレイ２２および２４が並んで配置され、２台のディスプレイ２２および２４の間であり、それらの中央ないしほぼ中央で、それらの少し上方に、カメラ１４が配置される。つまり、図２に示す例では、椅子（図示せず）に着席した状態のユーザ３０の頭部（顔）の正面ないしほぼ正面にカメラ１４が配置される。ただし、カメラ１４は、図示しない三脚や固定器具によって、上記のような位置に固定的に設置される。
【００２８】
また、２台のコンピュータ１８およびコンピュータ２０は、図示しない机の上に載置され、第１のコンピュータ１８の上に、それに接続される第１のディスプレイ２２が設置され、第２のコンピュータ２０上に、それに接続される第２のディスプレイ２４が設置される。さらに、２台のコンピュータ１８および２０の間には、切替器１６が設けられ、この切替器１６からユーザ３０側に、キーボード２６およびマウス２８のような入力装置が設けられる。また、カメラ１４および第２のコンピュータ２０が接続される視線サーバ１２が、ユーザ３０から見て、第２のコンピュータ２０やマウス２８の右側に配置される。さらに、第２のコンピュータ２０の近傍であり、サーバ１２とこの第２のコンピュータ２０との間には、スピーカ３２が設けられる。
【００２９】
なお、図２では、簡単のため、切替器１６からの操作信号を第１のコンピュータ１８に入力するための１本の信号線を示してあるが、実際には、キーボード２６とマウス２８との操作信号を入力するための２本の信号線が必要である。これは、第２のコンピュータ２０についても同様である。ただし、図２からも分かるように、第２のコンピュータ２０から切替信号を切替器１６に入力するための信号線も設けられる。
【００３０】
図２に示す配置は単なる一例であり、カメラ１４、２台のディスプレイ２２、ディスプレイ２４およびユーザ３０（の頭部）の位置関係が保たれれば、視線サーバ１２、切替器１６、コンピュータ１８、コンピュータ２０、キーボード２６、マウス２８およびスピーカ３２の配置位置は異なっていてもよい。ただし、ユーザ３０の位置（着席位置）は一定ないしほぼ一定であるため、必然的にキーボード２６およびマウス２８の位置は或る程度固定される。また、スピーカ３２は、少なくとも、それから出力される音（音声）がユーザ３２に聞こえる位置に配置される必要がある。
【００３１】
また、この実施例では、カメラ１４、ディスプレイ２２、ディスプレイ２４およびユーザ３０の顔の位置関係とは、３次元の現実空間（ワールド座標）を、カメラ１４の位置を中心（原点）とするカメラ座標に変換した場合における、ディスプレイ２２、ディスプレイ２４およびユーザ３０の位置座標を意味する。
【００３２】
このようなシステム１０では、ユーザ３０は、必要に応じて、操作対象のコンピュータ１８，２０を切り替えて、キーボード２６やマウス２８を操作することにより、たとえば、文字を入力したり、アプリケーションを実行したりする。上述したように、この実施例では、切替器１６に設けられる切替ボタンの操作やキーボード２６の指定のキー（Scroll Lock-Scroll Lock-ＰＣ番号）の操作（ホットキーの操作）により、操作対象のコンピュータ（１８，２０）を切り替えることができる。
【００３３】
しかし、切替ボタンやキーボード２６の操作によって操作対象のコンピュータ（１８，２０）を切り替えるのを忘れた場合には、所望で無いコンピュータ（１８，２０）への入力を行ってしまう。かかる場合には、たとえば、所望の画面（ディスプレイ２２，２４）を見て入力操作を行っているにも拘わらず、所望で無い画面に文字が入力されてしまうなどの問題が発生する。また、切替ボタンやキーボード２６の操作によって操作対象のコンピュータ（１８，２０）すなわちアクティブなＣＰＵ（コンピュータ１８，２０のＣＰＵ）を切り替えるのは、面倒である。
【００３４】
したがって、この実施例では、ユーザ３０の視線方向を検出し、ユーザ３０の視線３０Ａによって指示されるディスプレイ（２２，２４）に接続されたコンピュータ（１８，２０）を操作対象のコンピュータ（１８，２０）として選択する（切り替える）ようにしてある。つまり、ユーザ３０が注視しているディスプレイ（２２，２４）に接続されたコンピュータ（１８，２０）が操作対象のコンピュータとして選択されるのである。
【００３５】
この実施例では、以下に説明するように、ユーザ３０の視線方向（図３，図４）を推定または検出するために１つのカメラ（単眼カメラ）を用いるユニークな方法を採用している。ただし、視線方向は、図３に示す水平方向（地面と水平な方向）の角度αと、図４に示す垂直方向（地面に対して垂直な方向）の角度βとで規定される。ただし、点線ｈｌｉｎｅは、水平方向の角度αを求めるための基準線であり、カメラ１４の位置とユーザ３０の頭部の中心とを通る直線である。また、点線ｖｌｉｎｅは、垂直方向の角度βを求めるための基準線であり、点線ｈｌｉｎｅと同様に、カメラ１４の位置とユーザ３０の頭部の中心とを通る直線である。以下、この実施例において、同じである。
【００３６】
図２ないし図４に示すように、ユーザ３０の前方にカメラ１４が設置され、このカメラ１４により取得（撮影）された画像（顔画像）が視線サーバ１４に取り込まれ、視線サーバ１４が画像処理することによって、視線３０Ａの角度αおよびβを推定する。
【００３７】
なお、図５に示すように、カメラ１４により取得された画像は、視線サーバ１２に附属して設けたディスプレイ４２（図１および図２では省略）の撮影画像表示領域４４にリアルタイムに動画として表示される。特に限定されないが、たとえば、撮影画像表示領域４４上に、視線方向を示す指標として、眉間から視線方向に延びる線分を表示してもよい。
【００３８】
視線サーバ１２は、上述したように、一般的な汎用のコンピュータであり、特に変わったハードウェア構成ではないので、ハードウェア自体の説明は省略するが、視線方向や視線位置の推定は、以下に説明するソフトウェアにより実現される。
【００３９】
視線サーバ１２では、特徴点の追跡処理の安定性を確保するため、同一特徴点に関して異なるフレームにおける複数の観測テクスチャを保持している。初期校正過程では、これらの特徴点と虹彩中心の関係から顔特徴点と眼球中心の相対関係を求める。視線推定過程では、校正過程で得られた関係を元に現フレームで得られている特徴点群から眼球中心位置を推定し、その位置と虹彩中心位置から視線方向を決定する。
【００４０】
視線方向の推定処理の動作の前提として、まず、たとえば６分割矩形フィルタを利用して、顔検出処理が実行される。
【００４１】
視線サーバ１２では、特に限定されないが、たとえば、顔を連続撮影したビデオ画像を処理するにあたり、横が顔幅、縦がその半分程度の大きさの矩形フィルタで画面を走査する。矩形は、たとえば、３×２に６分割されていて、各分割領域の平均明るさが計算され、それらの相対的な明暗関係が或る条件を満たすとき、その矩形の中心を眉間候補とする。
【００４２】
連続した画素が眉間候補となるときは、それを取囲む枠の中心候補のみを眉間候補として残す。残った眉間候補を標準パターンと比較してテンプレートマッチング等を行うことで、上述した手続きで得られた眉間候補のうちから、偽の眉間候補を捨て、真の眉間を抽出する。以下、さらに詳しく説明する。
【００４３】
図６は、眉間候補領域を検出するためのフィルタを説明するための概念図であり、図６（ａ）は、上述した３×２に６分割された矩形フィルタ（以下、「６分割矩形フィルタ」と呼ぶ）を示す。６分割矩形フィルタは、（１）鼻筋は両目領域よりも明るい、（２）目領域は頬部よりも暗い、という顔の特徴を抽出し、顔の眉間位置を求めるフィルタである。たとえば、１点（ｘ，ｙ）を中心として、横ｉ画素、縦ｊ画素（ｉ，ｊ：自然数）の矩形の枠を設ける。そして、図６（ａ）のように、この矩形の枠を、横に３等分、縦に２等分して、６個のブロックＳ１〜Ｓ６に分割する。
【００４４】
このような６分割矩形フィルタを顔画像の両目領域および頬部に当てはめてみると、図６（ｂ）のようになる。ただし、図６（ａ），（ｂ）に示す６分割フィルタは各矩形領域が等分されたものであるが、この６分割フィルタは図７に示すように変形されてもよい。つまり、鼻筋の部分が目の領域よりも通常は狭いことを考慮すると、ブロックＳ２およびＳ５の横幅ｗ２は、ブロックＳ１，Ｓ３，Ｓ４およびＳ６の横幅ｗ１よりも狭い方がより望ましい。好ましくは、幅ｗ２は幅ｗ１の半分とすることができる。図７は、このような場合の６分割矩形フィルタの構成を示す。また、ブロックＳ１、Ｓ２およびＳ３の縦幅ｈ１と、ブロックＳ４、Ｓ５およびＳ６の縦幅ｈ２とは、必ずしも同一である必要もない。
【００４５】
図７に示す６分割矩形フィルタにおいて、それぞれのブロックＳｉ（１≦ｉ≦６）について、画素の輝度の平均値「バーＳｉ」（Ｓｉに上付きの“−”をつける）を求める。
【００４６】
ブロックＳ１に１つの目と眉が存在し、ブロックＳ３に他の目と眉が存在するものとすると、以下の関係式（１）および（２）が成り立つ。
【００４７】
【数１】
2009244949.tif 000003
【００４８】
【数２】
2009244949.tif 000004
【００４９】
そこで、これらの関係を満たす点を眉間候補（顔候補）として抽出する。
【００５０】
矩形枠内の画素の総和を求める処理には、公知の文献（P. Viola and M. Jones, “ Rapid Object Detection using a Boosted Cascade of Simple Features,” Proc. Of IEEE Conf. CVPR, 1, pp.511-518, 2001）において開示されている、インテグラルイメージ（Integral Image）を利用した計算の高速化手法を取り入れることができる。インテグラルイメージを利用することでフィルタの大きさに依らず高速に実行することができる。多重解像度画像に本手法を適用することにより、画像上の顔の大きさが変化した場合にも顔候補の抽出が可能となる。
【００５１】
このようにして得られた眉間候補（顔候補）に対しては、両目の標準パターンとのテンプレートマッチングにより、真の眉間位置（真の顔領域）を特定することができる。
【００５２】
ただし、得られた顔候補に対して、サポートベクトルマシン（ＳＶＭ）による顔モデルによる検証処理を適用し顔領域を決定することもできる。髪型の違いや髭の有無、表情変化による認識率の低下を避けるため、たとえば、図８に示すように、眉間を中心とした画像領域を利用してＳＶＭによるモデル化を行うことができる。
【００５３】
なお、このようなＳＶＭによる真の顔領域の決定については、文献：S. Kawato, N. Tetsutani and K. Hosaka: “Scale-adaptive face detection and tracking in real time with ssr fi1ters and support vector machine”, IEICE Trans．on Info. and Sys., E88−D, 12, pp．2857−2863（2005）に開示されている。６分割矩形フィルタによる高速候補抽出とＳＶＭによる処理とを組み合わせることで実時間の顔検出が可能である。
【００５４】
続いて、目、鼻や虹彩中心の位置を、公知の文献、たとえば『川戸、内海、安部：「４つの参照点と３枚のキャリブレーション画像に基づく単眼カメラからの視線推定」画像の認識・理解シンポジウム（MIRU2005），pp．1337−1342（2005）』あるいは、『川戸慎二郎、鉄谷信二：鼻位置の検出とリアルタイム追跡：信学技報IE2002−263、pp．25−29（2003）』などの手法を用いて抽出する。
【００５５】
両目の位置については、前節の顔領域検出で眉間のパターンを探索しているため、眉間の両側の暗い領域を再探索することにより、大まかな両目の位置を推定することができる。しかし、視線方向の推定のためには、虹彩中心をより正確に抽出する必要がある。ここでは、上で求まった目の周辺領域に対して、ラプラシアンにより虹彩のエッジ候補を抽出し、円のハフ変換を適用することにより、虹彩および虹彩の中心の投影位置を検出する。
【００５６】
鼻の位置は、鼻先が凸曲面であるため周囲に対し明るい点として観測されやすいことと、両目の位置から鼻の存在範囲が限定できることを利用して抽出する。また、両目、鼻の位置を用いて、大体の顔の向きも推定できる。
【００５７】
図９（ａ），（ｂ）は顔検出結果の例を示す図である。検出された顔において、虹彩中心や鼻先や口なども検出されている。たとえば、特徴点としては、鼻先や、左右の目の目尻や目頭、口の両端、鼻腔中心などを用いることができる。
【００５８】
視線の推定においては、視線方向は眼球中心と虹彩中心を結ぶ３次元直線として与えられるものとする。
【００５９】
図１０は視線方向を決定するためのモデルを説明する概念図である。画像上での眼球半径をｒ、画像上での眼球中心と虹彩中心との距離をdとすると、視線方向とカメラ光軸とのなす角θは次式(３)で表される。
【００６０】
【数３】
2009244949.tif 000005
【００６１】
式（３）により、視線方向を推定するためには、画像上での眼球半径と眼球中心・虹彩中心の投影位置が必要となる。ここで、虹彩中心の投影位置については、上述したとおり、ハフ変換を用いた手法により求めることができる。画像上での眼球直径ｒは、解剖学的なモデル（標準的な人の眼球直径）を用いてもよいし、別途キャリブレーションにより求めてもよい。
【００６２】
図１１は、図１０に示した状態からユーザがカメラを注視する状態に移行した後の虹彩中心、眼球中心および投影点の関係を示す概念図である。
【００６３】
眼球中心の投影位置については、一般には、画像から直接観測することはできない。しかし、ユーザ３０がカメラ１４を注視した場合について考えると、図１１に示すとおり、カメラ１４、虹彩中心、眼球中心の３点が１直線上に並ぶため、画像では虹彩中心と眼球中心は同一点に投影されることが分かる。
【００６４】
そこで、この実施例での視線推定では、ユーザ３０がカメラ１４を注視しながら、顔の姿勢を変化させている画像フレーム列を撮影し、これらの画像列から虹彩位置と顔特徴点を抽出、追跡することにより、眼球中心と顔特徴点間の相対幾何関係を推定する。
【００６５】
後により詳しく説明するように、この実施例の視線方向の推定では、眼球中心と顔特徴点間の相対関係の推定処理と眼球中心の投影位置推定とを行う。
【００６６】
視線方向の推定のための初期設定として、視線サーバ１２は、図１２に示すフローチャートで表現されるキャリブレーションを実行する。
【００６７】
まず、キャリブレーション用の画像列として、ユーザ３０がカメラ１４を注視しながら、顔の姿勢を変化させている画像フレーム列を撮影する（ステップＳ１０２）。図１３は、このようにしてキャリブレーションにおいて撮影された４枚の画像フレームを示す。
【００６８】
ここでは、より一般に、Ｎ（Ｎ≧２）枚の画像列が得られたとする。各画像フレームを、フレームＩ1，…ＩＮとする。
【００６９】
次に、得られた各画像フレーム列に対して、上述したような方法によって顔検出処理を行い（ステップＳ１０４）、続いて、目や鼻の検出処理を行なう（ステップＳ１０６）。
【００７０】
さらに、視線サーバ１２は、特徴点の抽出、追跡を行う（ステップＳ１０８）。なお、特徴点の抽出方法としては、上述したような方法の他に、たとえば、文献：J. Shi and C. Tomasi: “Good features to track”，Proc. CVPR94, pp. 593−600（1994）で提案された手法を用いることもできる。
【００７１】
ここで、各画像フレームＩｉ（ｉ＝１，…，Ｎ）においてＭ（Ｍ≧４）点の特徴点ｐｊ（ｊ＝１，…，Ｍ）が検出・追跡できたとする。画像フレームＩｉにおける特徴点ｐｊの２次元観測位置をｘｊ（ｉ）（太字）＝［ｘｊ（ｉ），ｙｊ（ｉ）］ｔ（ｉ＝１，…，Ｎ，ｊ＝１，…，Ｍ）とし、両目の虹彩中心の２次元観測位置をそれぞれｘｒ（ｉ）（太字）＝［ｘｒ（ｉ），ｙｒ（ｉ）］ｔ，ｘｌ（ｉ）（太字）＝［ｘｌ（ｉ），ｙｌ（ｉ）］ｔ（ｉ＝１，…，Ｎ）とする。ここで、行列Ｗを以下のように定義する。
【００７２】
【数４】
2009244949.tif 000006
【００７３】
因子分解法により、特徴点の各フレームでの２次元観測位置を縦に並べた行列Ｗ（計測行列）は以下のように分解できる。
【００７４】
【数５】
2009244949.tif 000007
【００７５】
ここで、行列Ｍ（「撮影姿勢行列）と呼ぶ）にはカメラ１４の姿勢に関する情報のみが、行列Ｓ（「相対位置関係行列」と呼ぶ）には観測対象物の形状に関する情報のみが含まれており、顔特徴点と眼球中心との３次元的な位置の相対関係は行列Ｓとして求まる（ステップＳ１１０）。すなわち、正射影を仮定すると、行列Ｍの各要素が画像フレームでのカメラ１４の姿勢を表す単位ベクトルであって、それぞれの大きさが１であり相互には直交するとの拘束条件のもとで、行列Ｗは、特異値分解により一義的に行列Ｍと行列Ｓの積に分解できることが知られている。
【００７６】
なお、このような計測行列Ｗを、因子分解により、カメラ１４の運動の情報を表す行列と対象物の形状情報を表す行列へ分解する点については、文献：金出，ポールマン，森田：因子分解法による物体形状とカメラ運動の復元”，電子通信学会論文誌Ｄ−ＩＩ，J76‐D−II,8,pp.1497−1505(1993)に開示がある。
【００７７】
図１４は、リアルタイムの視線方向の推定処理のフローチャートを示す。
【００７８】
次に、以上で得られた結果を用いて、視線方向を推定する手順について説明する。
【００７９】
まず、カメラ１４から画像フレームを取得すると（ステップＳ２００）、キャリブレーション時と同様にして、顔の検出および目鼻の検出が行なわれ（ステップＳ２０２）、取得された画像フレーム中の特徴点が抽出される（ステップＳ２０４）。ただし、ステップＳ２０２では、顔の向き（顔方向）も推定される。図示は周略するが、この顔方向もまた、図３および図４に示した基準線ｈｌｉｎｅおよびｖｌｉｎｅに対する角度で表わされる。
【００８０】
画像フレームＩｋが得られたとする。ここで、眼球中心以外の特徴点のうちｍ点ｐｊ（ｊ＝ｊ１，…，ｊｍ）が、それぞれ、ｘｊ（ｋ）（太字）＝［ｘｊ（ｋ），ｙｊ（ｋ）］ｔに観測されたとする。このとき、観測された特徴点について、上述したように特徴点近傍のテンプレートを用いたテンプレートマッチングを実施することで、キャリブレーション時に特定された特徴点と現画像フレーム中で観測された特徴点との対応付けが行なわれて、現画像フレーム中の特徴点が特定される（ステップＳ２０６）。
【００８１】
なお、上述のとおり、特徴点を特定するためのテンプレートは、キャリブレーションの時のものに限定されず、たとえば、最近の画像フレームの所定枚数について検出された特徴点の近傍の所定の大きさの領域内の画像を所定個数だけ保持しておき、これら所定枚数のテンプレートについてマッチングをした結果、もっとも一致度の高い特徴点に特定することとしてもよい。
【００８２】
顔特徴点ｐｊの２次元観測位置ｘｊ（ｋ）（太字）＝［ｘｊ（ｋ），ｙｊ（ｋ）］ｔとキャリブレーションより求まった３次元位置ｓｊ（太字）＝［Ｘｊ，Ｙｊ，Ｚｊ］ｔ（ｊ＝１，…，Ｍ）の間には、Ｍ個の特徴点のうち観測されたｍ個の特徴点について注目すると、次式の関係が得られる。
【００８３】
【数６】
2009244949.tif 000008
【００８４】
ただし、行列Ｐ（ｋ）は２×３の行列である。右辺の第２項の行列Ｓ（ｋ）は行列Ｓのうち、観測された特徴点に対応する要素のみからなる部分行列である。上述の通り、カメラ１４と顔とは十分に離れているとし正射影を仮定している。ここで、４点以上の特徴点が観測されれば、行列Ｐ（ｋ）は以下のように計算できる（ステップＳ２０８）。
【００８５】
【数７】
2009244949.tif 000009
【００８６】
画像フレームＩｋにおける眼球中心の投影位置ｘｒ（ｉ）（太字），ｘｌ（ｉ）（太字）は、行列Ｐ（ｋ）を用いて以下のように計算できる（ステップＳ２１０）。
【００８７】
【数８】
2009244949.tif 000010
【００８８】
【数９】
2009244949.tif 000011
【００８９】
したがって、画像フレームＩｋにおいて特徴点として抽出した虹彩中心の投影位置とこの眼球中心の投影位置を用いると、視線の推定を行なうことができる（ステップＳ２１２）。
【００９０】
なお、行列ＰをＱＲ分解により分解することで、顔の姿勢Ｒが、以下のように計算できる。
【００９１】
【数１０】
2009244949.tif 000012
【００９２】
【数１１】
2009244949.tif 000013
【００９３】
ただしｒ１、ｒ２はそれぞれ１×３のベクトルである。このような顔の姿勢Ｒの検出については、文献：L．Quan: “Self-calibration of an affine camera from multiple views”，Int’l Journal of Computer Vision, 19, pp. 93−105（1996）に開示がある。
【００９４】
ユーザ３０等の指示により追跡が終了していると判断されれば（ステップＳ２１４）、処理は終了し、終了が指示されていなければ、処理はステップＳ２０２に復帰する。
【００９５】
以上説明した視線方向の推定装置の有効性を確認するため、実画像を用いた実験を行った結果について以下に説明する。
【００９６】
カメラ１４はElmo社製PTC−400Cを用い、ユーザ３０から約１５０［cm］の位置に設置した。
【００９７】
まず、５０フレームの画像列を用いて、眼球中心と顔特徴点のキャリブレーションを行った。キャリブレーション用の画像フレーム列と抽出した特徴点の例は、図１２に示したとおりである。
【００９８】
キャリブレーション用画像フレーム列の撮影に要した時間は約３秒であった。（＋印は抽出された虹彩中心（眼球中心））、×印は追跡した顔特徴点）。
【００９９】
次に、キャリブレーションにより求まった顔モデル（行列Ｓ）を用いて、視線推定を行った。ここで、ユーザ３０はそれぞれ右上、上、左下の方向を注視しながら、顔の位置・向きを変化させた。
【０１００】
図１５〜図１７は、視線推定結果を示す。図１５は、右上方注視の状態であり、図１６は、上方注視の状態であり、図１７は、左下方向注視の状態である。ここで、視線方向は両目それぞれで計算された視線方向の平均値としている。結果より、顔の位置や向きの変化とは関係なく、視線方向が推定できた。
【０１０１】
以上説明したとおり、この実施例の視線方向の推定方法では、単眼カメラの観測に基づいて顔特徴点を検出し、追跡することにより視線方向を推定する。つまり、まずキャリブレーションとして視線がカメラ方向を向いたまま顔の向きのみが異なる画像列から得られる虹彩位置と顔特徴点を利用することで、眼球中心と顔特徴点の関係をモデル化し（行列Ｓを特定し）、その後、その関係に基づいて推定された入力画像中の眼球中心位置と虹彩位置の関係から視線方向の角度α，βを決定する。
【０１０２】
また、撮影画像に基づいて、カメラ１４、ディスプレイ２２、ディスプレイ２４およびユーザ３０の顔の位置関係が算出される。ただし、カメラ１４とユーザ３０の距離（直線距離）は、カメラ１４のオートフォーカス機能を動作させるときに検出することができるが、別途距離センサを設けて検出するようにしてもよい。この直線距離と視線方向の角度α，βとから内積を求めることにより、カメラ１４の撮影方向（後述するカメラ座標のＺ軸方向）におけるカメラ１４とユーザ３０との距離を知ることができる。つまり、カメラ１４に対するユーザ３０の顔のＺ軸方向の位置を知ることができる。また、撮影画像の中心からの横方向のずれ量によって、カメラ１４の撮影方向と直交する水平方向（後述するカメラ座標のＸ軸方向）における、カメラ１４に対するユーザ３０の顔の位置（距離）を知ることができる。同様に、撮影画像の中心からの縦方向のずれ量によって、カメラ１４の撮影方向と直交する垂直方向（後述するカメラ座標のＹ軸方向）における、カメラ１４に対するユーザ３０の顔の位置（距離）を知ることができる。つまり、カメラ１４に対するユーザ３０の顔の位置が検出（算出）される。さらに、カメラ１４とディスプレイ２２および２４との位置関係は、固定的であるため、カメラ１４に対するディスプレイ２２および２４の位置も、予め知ることができる。
【０１０３】
なお、図１および図２に示すように、２台のディスプレイ２２および２４のみが設けられる場合には、視線方向の角度αのみによって、ユーザ３０が見ているディスプレイ２２，２４を検出することは可能である。しかし、ユーザ３０がディスレプイ２２，２４の表示領域（画面）を見ているかどうかも含めて検出したり、ディスプレイ（２２，２４など）の様々な配置に対応したりするために、角度βも考慮される。さらに、ディスプレイが３台以上である場合についても適応可能とするため、カメラ１４、ディスプレイ２２、ディスプレイ２４およびユーザ３０の顔の位置関係を算出するようにしてある。
【０１０４】
このようにして、視線方向の角度α、βと、カメラ１４、ディスプレイ２２、ディスプレイ２４およびユーザ３０の顔の位置関係とが検出されると、図１８に示すような俯瞰図および図１９に示すような側面図を描画することができ、それによって、ユーザ３０がディスプレイ２２，２４（の表示領域）を見ているかどうか、およびユーザ３０が見ているディスプレイ２２，２４を検出（特定）することができる。ただし、この実施例では、上述したように、ユーザ３０の顔方向も検出できるため、ユーザ３０がディスプレイ２２，２４を見ているかどうかを判断する際には、ユーザ３０の顔方向も考慮される。
【０１０５】
図１８は、カメラ１４、ディスプレイ２２、ディスプレイ２４およびユーザ３０の顔の位置関係を俯瞰的に見た図（俯瞰図）であり、さらに視線方向の角度αを図示してある。また、図１９は、カメラ１４、ディスプレイ２２、ディスプレイ２４およびユーザ３０の顔の位置関係を側面から（Ｘ軸方向に平行な方向から）見た図（側面図）であり、さらに視線方向の角度βを図示してある。なお、図１８および図１９において、点線で示すユーザ３０は、基準となる位置に存在するユーザ３０の頭部を示しており、カメラ１４、ディスプレイ２２および２４の位置と同様に、予め決定されている。図１８および図１９からも分かるように、カメラ座標系においては、カメラ１４の位置が原点Ｏに決定され、このカメラ１４の位置と基準となるユーザ３０の頭部の位置（中心）とを、Ｚ軸が通る。また、Ｚ軸に直交し、原点Ｏを通るように、Ｘ軸およびＹ軸が決定される。このＸ軸は、現実空間における水平方向に平行な軸であり、Ｙ軸は、現実空間における垂直方向に平行な軸である。
【０１０６】
なお、図１８および図１９では、ユーザ３０の頭部の位置のずれを分かり易く示してあるが、これは、異なるユーザ３０間の身長（座高）の差および座る位置が異なることや、同一ユーザ３０であっても毎回座る位置が異なることに起因するものである。
【０１０７】
この俯瞰図を用いて、カメラ１４、ディスプレイ２２、ディスプレイ２４およびユーザ３０（の頭部）の位置関係と視線方向の角度αとからユーザ３０が見ているディスプレイ２２，２４の候補として検出することができる。さらに、側面図を用いて、カメラ１４、ディスプレイ２２、ディスプレイ２４およびユーザ３０（の頭部）の位置関係と視線方向の角度βとから、候補として検出したディスプレイ２２，２４を、ユーザ３０が実際に見ているかどうかを判断することができる。
【０１０８】
具体的には、俯瞰図において、視線３０Ａがディスプレイ２２，２４の横方向（Ｘ軸方向）の長さ内に収まる場合に、つまり視線３０Ａがディスプレイ２２，２４と交差する場合に、交差するディスプレイ２２，２４が候補として検出される。次に、側面図において、視線３０Ａがディスプレイ２２，２４の縦方向（Ｙ軸方向）の長さ内に収まる場合には、つまり視線３０Ａが候補として検出されたディスプレイ２２，２４と交差する場合には、交差するディスプレイ２２，２４をユーザ３０が実際に見ていると判断することができる。つまり、ユーザ３０が操作対象としているディスプレイ２２，２４が検出される。
【０１０９】
ただし、俯瞰図または／および側面図において、視線３０Ａがディスプレイ２２，２４上を通らない場合には、ユーザ３０の視線３０Ａがディスプレイ２２，２４を指示していない、すなわちユーザ３０がいずれのディスプレイ２２，２４も見ていないと判断する。
【０１１０】
なお、この実施例では、俯瞰図を用いて、候補のディスプレイ２２，２４を検出した後に、側面図を用いて、実際に見ているディスプレイ２２，２４を検出するようにしたが、逆の方法であってもよい。つまり、側面図を用いて、候補のディスプレイ２２，２４を検出した後に、俯瞰図を用いて、実際に見ているディスプレイ２２，２４を検出するようにしてもよい。
【０１１１】
ユーザ３０が実際に見ているディスプレイ２２，２４を検出すると、ユーザ３０がそのディスプレイ２２，２４を一定時間（たとえば、３〜５秒）以上見ているかどうかを判断する。つまり、注視しているかどうかを判断するのである。これは、ユーザ３０が操作対象でないコンピュータ１８，２０に接続されたディスプレイ２２，２４を単に見る場合もあるためであり、このような場合にまで、操作対象のコンピュータ１８，２０を切り替えてしまうと、そのような切替によって誤入力を発生させてしまうからである。
【０１１２】
一定時間以上、検出したディスプレイ２２，２４を見ている場合には、ユーザ３０がそのディスプレイ２２，２４が接続されたコンピュータ１８，２０を操作対象としていると判断する。そして、操作対象として判断されたコンピュータ１８，２０が、現在の操作対象であるかどうかを判断する。操作対象として判断されたコンピュータ１８，２０が、現在の操作対象であれば、操作対象のコンピュータ１８，２０を切り替える必要はない。一方、操作対象として判断されたコンピュータ１８，２０が、現在の操作対象でなければ、当該コンピュータ１８，２０を操作対象として選択するべく、切替器１６に切替信号が出力される。ただし、この実施例では、切替信号がコンピュータ２０から切替器１６に出力される。詳細な説明は省略するが、切替信号は、切り替える旨のコマンドとアクティブにするコンピュータ（１８、２０）の番号ないし識別情報を含む。そして、切替信号を出力すると同時またはほぼ同時に、第２のコンピュータ２０は、操作対象のコンピュータ２０を切り替える旨のメッセージを通知する。この実施例では、コンピュータ２０に接続されたスピーカ３２から操作対象として切り替えたコンピュータ１８，２０のコンピュータ名が音声により出力される。これによって、ユーザ３０に、操作対象のコンピュータ１８，２０が切り替えられたことが伝達される。
【０１１３】
ただし、コンピュータ名の音声に変えて、コンピュータ（１８，２０）毎に割り当てられた音ないし音楽をスピーカ３２から出力するようにしてもよい。かかる場合には、予め各コンピュータ（１８，２０）に対して音や音楽を割り当てるとともに、それに対応する音データないし音楽データを記憶しておく必要がある。以下、操作対象のコンピュータ１８，２０を通知する場合において、同じである。
【０１１４】
操作対象のコンピュータ１８，２０が切り替えられた後では、次回、操作対象のコンピュータ１８，２０が切り替えられるまで、間欠的に、現在の操作対象のコンピュータ１８，２０がユーザ３０に通知される。たとえば、操作対象のコンピュータ１８，２０が切り替えられると、一定時間（たとえば、３分〜５分）が経過する毎に、現在の操作対象のコンピュータ１８，２０を通知する。したがって、ユーザ３０が継続的に操作対象のコンピュータ１８，２０に対して入力等の操作を行う場合に、途中でいずれのコンピュータ１８，２０が操作対象であるかを混乱することが無い。これによって、コンピュータ１８,２０を切り替える否かをユーザ３０は適切に判断することができ、その結果、誤入力を防止することができる。
【０１１５】
また、ユーザ３０の視線方向がディスプレイ２２，２４（の表示領域）に向けられていない場合には、ユーザ３０が画面を見ずに操作を行っていると判断する。かかる場合においても、操作対象のコンピュータ１８，２０をユーザ３０に通知して、誤入力を未然に防止するようにしてある。たとえば、ブラインドタッチのできないユーザ３０では、キーボード２６を注視しながら入力操作を行い、また、ブライドタッチのできるユーザ３０であっても、机上に置いた原稿などを見ながら入力装置を行うことが想定されるためである。
【０１１６】
ただし、この実施例では、ユーザ３０の視線３０Ａがすべてのディスプレイ２２，２４から外れている状態が、或る程度長時間（たとえば、１０秒）継続的に検出された場合に、ユーザ３０が画面を見ていないと判断するようにしてある。これは、ユーザ３０が原稿を見たり、キーボード２６を注視したりして、入力操作していることを正確に検出するためであり、ユーザ３０が一時的に画面を見ずに入力操作を行うような場合を排除するためでもある。
【０１１７】
図２０は図１および図２に示した第２のコンピュータ２０の内部に設けられるハードディスクやＲＡＭのようなメモリ（図示せず）のメモリマップ５０である。図２０のメモリマップ５０に示すように、第２のコンピュータ２０のメモリは、プログラム記憶領域５２およびデータ記憶領域５４を含む。プログラム記憶領域は、操作対象の切替プログラムを記憶し、この操作対象の切替プログラムは、状態検出プログラム５２０、特定プログラム５２２、切替プログラム５２４および通知プログラム５２６などによって構成される。
【０１１８】
状態検出プログラム５２０は、ユーザ３０の顔方向の角度についてのデータ（顔方向データ５４０）と、視線方向の角度α，βについてのデータ（視線データ５４２）と、カメラ１４、ディスプレイ２２、ディスプレイ２４およびユーザ３０の顔の位置関係についてのデータ（位置関係データ５４４）とを視線サーバ１２から取得して、現在の状態を検出するためのプログラムである。この実施例では、状態検出プログラム５２０は、ユーザ３０の視線３０Ａがすべてのディスプレイ２２，２４の表示領域から外れているかどうかを判断する。
【０１１９】
特定プログラム５２２は、撮影画像に基づいて推定（検出）されたユーザ３０の顔方向の角度およびユーザ３０の視線方向の角度α，βと、撮影画像に基づいて検出されたカメラ１４、ディスプレイ２２、ディスプレイ２４およびユーザ３０の顔の位置関係とから、つまり図１８に示した俯瞰図と図１９に示した側面図とから、ユーザ３０が見ているディスプレイ２２，２４を検出し、検出したディスプレイ２２，２４に接続されたコンピュータ１８，２０を、操作対象のコンピュータとして特定するためのプログラムである。
【０１２０】
切替プログラム５２４は、操作対象のコンピュータ１８，２０を切り替えるためのプログラムである。つまり、第２のコンピュータ２０のＣＰＵは、切替プログラム５２４に従って切替信号を生成し、生成した切替信号を切替器１６に入力する。ただし、現在の操作対象のコンピュータ１８，２０と、特定プログラム５２２に従って特定されたディスプレイ２２，２４に接続されたコンピュータ１８，２０とが一致する場合には、切替は行わない。つまり、切替信号は生成されない。
【０１２１】
通知プログラム５２６は、状態検出プログラム５２０に従ってユーザ３０の視線３０Ａがすべてのディスプレイ２２，２４の表示領域から外れていることが判断されたとき、切替プログラム５２４に従って切替信号が切替器１６に送信されたとき、または、切替プログラム５２４に従って切替信号が切替器１６に送信された後に一定時間が経過するタイミングとなる毎に、アクティブなＣＰＵ、すなわち操作対象のコンピュータ１８，２０のコンピュータ名をユーザ３０に通知（報知）するためのプログラムである。
【０１２２】
なお、図示は省略するが、プログラム記憶領域５２には、音出力プログラムなどの他のプログラムも記憶される。音出力プログラムは、上述したようなコンピュータ名の音声や他に必要な音（音楽）を出力するためのプログラムである。
【０１２３】
データ記録領域５４には、顔方向データ５４０、視線データ５４２および位置関係データ５４４のようなデータが記憶される。また、データ記憶領域５４には、第１タイマ５４６、第２タイマ５４８および第３タイマ５５０が設けられるとともに、画面注視フラグ５５２、第１アクティブフラグ５５４および第２アクティブフラグ５５６が設けられる。
【０１２４】
顔方向データ５４０は、視線方向の推定処理時（Ｓ２０２）に得られるユーザ３０の大体の顔方向の角度についてのデータであり、上述したように、視線サーバ１２から取得される。また、視線データ５４２は、視線方向の角度α，βについてのデータであり、上述したように、視線サーバ１２から取得される。さらに、位置関係データ５４４は、カメラ１４、ディスプレイ２２、ディスプレイ２４およびユーザ３０の顔の位置関係すなわちカメラ１４を原点Ｏとするカメラ座標系におけるディスプレイ２２、ディスプレイ２４およびユーザ３０の位置座標のデータであり、上述したように、視線サーバ１２から取得される。
【０１２５】
第１タイマ５４６は、ユーザ３０の視線３０Ａがすべてのディスプレイ２２，２４の表示領域から外れている時間の長さをカウントするためのタイマである。第２タイマ５４８は、ユーザ３０がディスプレイ２２，２４を見ている（注視している）時間の長さをカウントするためのタイマである。第３タイマ５５０は、操作対象のコンピュータ１８，２０が切り替えられてから、一定の時間間隔をカウントするためのタイマである。
【０１２６】
画面注視フラグ５５２は、ユーザ３０がディスプレイ２２，２４の表示領域（画面）を見ている（注視している）か否かを判断するためのフラグである。この画面注視フラグ５５２は、１ビットのレジスタで構成される。ユーザ３０がディスプレイ２２，２４の画面を見ている場合には、画面注視フラグ５５２がオンされ、レジスタにデータ値「１」が記憶される。一方、ユーザ３０がすべてのディスプレイ２２，２４の画面を見ていない場合には、画面注視フラグ５５２がオフされ、レジスタにデータ値「０」が記憶される。第１アクティブフラグ５５４は、第１のコンピュータ１８がアクティブであるか否かを判断するためのフラグである。この第１アクティブフラグ５５４は、１ビットのレジスタで構成される。第１のコンピュータ１８がアクティブであれば、第１アクティブフラグ５５４がオンされ、レジスタにデータ値「１」が記憶される。一方、第１のコンピュータ１８がアクティブでなければ、第１アクティブフラグ５５４がオフされ、レジスタにデータ値「０」が記憶される。第２アクティブフラグ５５６は、第２のコンピュータ２０がアクティブであるか否かを判断するためのフラグである。この第２アクティブフラグ５５６もまた、１ビットのレジスタで構成され、第２のコンピュータ２０がアクティブであれば、フラグがオンされ、レジスタにデータ値「１」が記憶され、第２のコンピュータ２０がアクティブでなければ、フラグがオフされ、レジスタにデータ値「０」が記憶される。
【０１２７】
なお、図示は省略するが、データ記憶領域５４には、音（音声）データのような他のデータも記憶され、プログラムの実行に必要な他のタイマ（カウンタ）や他のフラグなども設けられる。
【０１２８】
具体的には、図１に示した第２のコンピュータ２０のＣＰＵ（図示せず）が図２１および図２２に示す操作対象の切替処理を実行する。図２１に示すように、第２のコンピュータ２０のＣＰＵは、操作対象の切替処理を開始すると、ステップＳ３０２で、初期化処理を実行する。具体的には、第２のコンピュータ２０のＣＰＵは、第１タイマ５４６、第２タイマ５４８および第３タイマ５５０をリセットする。つまり、各タイマ５４６−５５０のカウント値を０に設定する。また、第２のコンピュータ２０のＣＰＵは、画面注視フラグ５５２および第１アクティブフラグ５５４をオフし、そして、第２アクティブフラグ５５６をオンする。
【０１２９】
なお、この初期化処理においては、第２アクティブフラグ５５６をオンして、最初の操作対象のコンピュータを第２のコンピュータ２０に設定するようにしてあるが、これに限定される必要はない。つまり、最初の操作対象のコンピュータを第１のコンピュータ１８に設定することもできる。かかる場合には、ステップＳ３０２で、第１アクティブフラグ５５４がオンされ、第２アクティブフラグ５５６がオフされる。
【０１３０】
次のステップＳ３０４では、視線サーバ１２から、顔方向データ、視線データおよび位置関係データを取得する。続いて、ステップＳ３０６では、ユーザ３０の視線３０Ａがすべてのディスプレイ２２，２４の表示領域から外れているかどうかを判断する。ここでは、顔方向データおよび視線データに基づいて、ユーザ３０が画面（ディスプレイ２２，２４）を見ずに、入力操作を行っているかどうかを判断するのである。
【０１３１】
ステップＳ３０６で“ＮＯ”であれば、つまりユーザ３０の視線３０Ａがいずれかのディスプレイ２２，２４の表示領域を指示している場合には、ユーザ３０は画面を見ていると判断して、ステップＳ３０８で、画面注視フラグ５５２をオンして、図２２に示すステップＳ３２０に進む。一方、ステップＳ３０６で“ＹＥＳ”であれば、つまりユーザ３０の視線３０Ａがすべてのディスプレイ２２，２４の表示領域から外れている場合には、ユーザ３０は画面を見ていないと判断して、ステップＳ３１０で、注視フラグ５５２がオフであるかどうかを判断する。つまり、ユーザ３０が画面を見ていない状態が継続しているかどうかを判断するのである。
【０１３２】
ステップＳ３１０で“ＮＯ”であれば、つまり注視フラグ５５２がオンであれば、ユーザ３０が画面を見ていない状態が開始したと判断して、ステップＳ３１２で、画面注視フラグ５５２をオフし、ステップＳ３１４で、第１タイマ５４６をリセットおよびスタートして、ステップＳ３０４に戻る。一方、ステップＳ３１０で“ＹＥＳ”であれば、つまり画面注視フラグ５５２がオフであれば、ユーザ３０が画面を見ていない状態が継続中であると判断して、ステップＳ３１６で、第１タイマ５４６のカウント値が第１閾値（たとえば、１０秒）を超えたかどうかを判断する。
【０１３３】
ステップＳ３１６で“ＮＯ”であれば、つまり第１タイマ５４６のカウント値が第１閾値以下であれば、ユーザ３０が画面を見ていない状態が一定時間（１０秒）以上継続しておらず、たとえば原稿やキーボード２６を注視するに至っていないと判断して、ステップＳ３０４に戻る。一方、ステップＳ３１６で“ＹＥＳ”であれば、つまり第１タイマ５４６のカウント値が第１閾値を超えていれば、ユーザ３０が画面を３０が画面を見ていない状態が一定時間（１０秒）以上継続し、原稿やキーボード２６を注視していると判断して、ステップＳ３１８で、操作対象のコンピュータ１８，２０をユーザ３０に通知して、ステップＳ３０４に戻る。ここでは、上述したように、スピーカ３２を通して、操作対象のコンピュータ１８，２０のコンピュータ名を音声で出力する。
【０１３４】
図２２に示すように、ステップＳ３２０では、視線方向と位置関係とから操作対象のコンピュータ１８，２０を特定する。つまり、視線方向と位置関係とから、ユーザ３０の視線３０Ａが指示するディスプレイ２２，２４を検出し、検出されたディスプレイ２２，２４が接続されるコンピュータ１８，２０を操作対象として特定するのである。次のステップＳ３２２では、特定したコンピュータ１８，２０のアクティブフラグ５５４，５５６がオンであるかどうかを判断する。つまり、ステップＳ３２０において、第１のコンピュータ１８が操作対象として特定された場合には、ステップＳ３２２で、第１アクティブフラグ５５４がオンであるかどうかが判断される。また、ステップＳ３２０において、第２のコンピュータ２０が操作対象として特定された場合には、ステップＳ３２２で、第２アクティブフラグ５５６がオンであるかどうかが判断される。
【０１３５】
ステップＳ３２２で“ＮＯ”であれば、つまり特定したコンピュータ１８，２０に対応するアクティブフラグ５５４，５５６がオフであれば、ステップＳ３２４で、特定したコンピュータ１８，２０のアクティブフラグ５５４，５５６をオンし、ステップＳ３２６で、第２タイマ５４８をリセットおよびスタートして、ステップＳ３０２に戻る。図示は省略するが、第２のコンピュータ２０のＣＰＵは、ステップＳ３２６では、特定したコンピュータ１８，２０以外のコンピュータ１８，２０のアクティブフラグ５５４，５５６をオフする。
【０１３６】
一方、ステップＳ３２２で“ＹＥＳ”であれば、つまり特定したコンピュータ１８，２０に対応するアクティブフラグ５５４，５５６がオンであれば、ステップＳ３２８で、第２タイマ５４８のカウント値が第２閾値（たとえば、３〜５秒）を超えたかどうかを判断する。つまり、操作対象のコンピュータ１８，２０として特定されてからの経過時間すなわちユーザ３０の視線３０Ａによりディスプレイ２２，２４の指示を開始してからの経過時間が第２タイマ５４８でカウントされ、そのカウント値が一定時間（３〜５秒）を超えたかどうかを判断する。
【０１３７】
ステップＳ３２８で“ＮＯ”であれば、つまり第２タイマ５４８のカウント値が第２閾値（３〜５秒）以下であれば、そのまま図２１に示したステップＳ３０４に戻る。一方、ステップＳ３２８で“ＹＥＳ”であれば、つまり第２タイマ５４８のカウント値が第２閾値（３〜５秒）を超えていれば、ステップＳ３３０で、特定したコンピュータ１８，２０が現在の操作対象であるかどうかを判断する。
【０１３８】
ステップＳ３３０で“ＮＯ”であれば、つまり特定したコンピュータ１８，２０が現在の操作対象でなければ、ステップＳ３３２で、特定したコンピュータ１８，２０を操作対象に切り替える。つまり、ステップＳ３３２では、特定したコンピュータ１８，２０を操作対象として選択するための切替信号を生成して、生成した切替信号を切替器１６に送信するのである。そして、ステップＳ３３４で、操作対象のコンピュータ１８，２０をユーザ３０に通知し、ステップＳ３３６で、第３タイマ５５０をリセットおよびスタートして、ステップＳ３０４に戻る。
【０１３９】
一方、ステップＳ３３０で“ＹＥＳ”であれば、つまり特定したコンピュータ１８，２０が現在の操作対象であれば、操作対象を切り替える必要が無いと判断して、ステップＳ３３８で、第３タイマ５５０のカウント値が第３閾値（たとえば、３分〜５分）を超えたかどうかを判断する。つまり、現在の操作対象のコンピュータ１８,２０を一定時間以上（３分〜５分）継続して操作対象として選択しているかどうかを判断するのである。
【０１４０】
ステップＳ３３８で“ＮＯ”であれば、つまり第３タイマ５５０のカウント値が第３閾値（３分〜５分）以下であれば、そのままステップＳ３０４に戻る。一方、ステップＳ３３８で“ＹＥＳ”であれば、つまり第３タイマ５５０のカウント値が第３閾値（３分〜５分）を超えていれば、ステップＳ３４０で、操作対象のコンピュータ１８，２０をユーザ３０に通知して、ステップＳ３３６に進む。
【０１４１】
この実施例によれば、視線によって指示されるディスプレイが接続されたコンピュータを操作対象に切り替えるので、ボタン操作やホットキー操作などを必要とせずに、簡単に所望のコンピュータを操作対象として切り替えることができる。誤入力を防止することができる。
【０１４２】
また、この実施例によれば、ユーザが、原稿を見たり、キーボードを見たりして、画面を見ていない場合には、操作対象のコンピュータを通知するため、所望でないコンピュータに対しての入力を未然に回避することができる。すなわち、誤入力を防止することができる。
【０１４３】
なお、この実施例では、２台のディスプレイが横に並んで配置された場合について示したが、予めカメラ１４とディスプレイとの位置関係が分かっていれば、ディスプレイの台数や配置は自由に変更することができる。
【０１４４】
また、この実施例では、視線サーバ１２を設けて、視線データおよび位置関係データを検出するようにしたが、この検出処理を第２のコンピュータ２０によって実行するようにすれば、視線サーバ１２を省略することもできる。かかる場合には、状態検出プログラム５２０に代えて、視線データおよび位置関係データを検出するためのプログラムがプログラム記憶領域５２に記憶され、図２１に示した操作対象の切替処理のステップＳ３０２において、視線データおよび位置関係データが検出される。
【０１４５】
さらに、この実施例では、図２１に示した操作対象の切替処理を第２のコンピュータ２０のＣＰＵが実行するようにしたが、視線サーバ１２を第１のコンピュータ１８に接続して、第１のコンピュータ１８のＣＰＵが操作対象の切替処理を実行するようにしてもよい。かかる場合には、第１のコンピュータ１８から切替信号が切替器１６に与えられる。または、視線サーバ１２が操作対象の切替処理を実行するようにしてもよい。かかる場合には、視線サーバ１２から切替信号を切替器に送信するため、視線サーバ１２を切替器１６に接続するようにすればよい。
【０１４６】
さらにまた、この実施例では、切替器に接続されるコンピュータはそれぞれアクティブな状態であり、切替器によって、キーボードやマウスのような入力装置からの入力を受けるコンピュータを切り替えるようにしたが、入力装置からの入力を受けないコンピュータについてはコンピュータをスリープ（スタンバイ）状態にするようにしてもよい。かかる場合には、第２のコンピュータから、切替器に切替信号を送信するとともに、操作対象のコンピュータに起動する（アクティブにする）ための起動信号をＬＡＮのようなネットワークを介して送信し、さらに、操作対象でないコンピュータにスリープする（非アクティブにする）ためのスリープ信号をネットワークを介して送信する。ただし、起動信号やスリープ信号は、切替器を介して第１のコンピュータに送信するようにしてもよい。また、第２のコンピュータは、スリープする場合であっても、上述した操作対象の切替処理（図２１および図２２）を実行する必要があるため、かかる場合には当該操作対象の切替処理のみが実行されることになる。このようにして、アクティブなＣＰＵを切り替えるようにしてもよい。
【０１４７】
さらに、この実施例では、音声または音（音楽）をスピーカから出力することにより、操作対象のコンピュータを通知するようにしたが、これに限定されるべきではない。表示装置を設けて、操作対象のコンピュータを表示により、識別可能に通知することも可能である。かかる場合には、たとえば、図２３に示すように、スピーカ３２に代えて、ＬＥＤのような発光装置を用いた表示装置３４が設置される。詳細な説明は省略するが、表示装置３４に設けられた発光装置３４ａ，３４ｂを点灯・消灯することにより、操作対象のコンピュータ１８，２０を識別することができる。たとえば、発光装置３４ａが点灯し、発光装置３４ｂが消灯している場合には、操作対象は第１のコンピュータ１８である。一方、発光装置３４ａが消灯し、発光装置３４ｂが点灯している場合には、操作対象は第２のコンピュータ２０である。
【０１４８】
図示は省略するが、３台以上のコンピュータを設置する場合には、その台数に応じた数の発光装置を設けた表示装置を設置すればよい。また、図２３では、カメラ１４の近傍に、表示装置３４を設けるように示してあるが、たとえば、ブラインドタッチのできないユーザ３０の場合、当該ユーザ３０がキーボード２６を見ながら操作入力を行う場合にも、表示装置３４を視認可能とするために、表示装置３４はキーボード２６とコンピュータ１８，２０との間に設けるようにしてもよい。つまり、表示装置３４の配置位置は、ユーザ３０に応じて適宜変更すればよいのである。
【０１４９】
また、図示は省略するが、テキストを表示することができる表示装置３４を設けて、操作対象として選択されているコンピュータ名をテキストで表示するようにしてもよい。
【０１５０】
このように、表示装置を用いて、操作対象のコンピュータを通知する場合には、
カメラに対する当該表示装置の位置関係も記憶しておくことにより、当該表示装置を見たかどうかをユーザの視線に基づいて判断し、ユーザが通知を見たときに、ＬＥＤの点灯ないしテキストの表示を終了することも可能である。
【図面の簡単な説明】
【０１５１】
【図１】図１はこの発明のマルチディスプレイシステムの一例を示す図解図である。
【図２】図２は図１に示すマルチディスプレイシステムの仕様態様を説明するための図解図である。
【図３】図３は図１に示すカメラと被写体との位置関係およびその被写体の水平方向の視線角度を示す図解図である。
【図４】図４は図１に示すカメラと被写体との位置関係およびその被写体の垂直方向の視線角度を示す図解図である。
【図５】図５は図１に示すカメラのＬＣＤに表示されている被写体の顔の画像の一例を示す図解図である。
【図６】図６は眉間候補領域を検出するためのフィルタを説明するための概念図である。
【図７】図７は６分割矩形フィルタの他の構成を示す概念図である。
【図８】図８は眉間を中心とした画像領域を利用してＳＶＭによるモデル化を説明する図解図である。
【図９】図９は顔検出結果の例を示す図解図である。
【図１０】図１０は視線方向を決定するためのモデルを説明する概念図である。
【図１１】図１１は被写体がカメラを中止する状態に移行した後の虹彩の中心、眼球の中心および投影点の関係を示す概念図である。
【図１２】図１２は視線サーバによる初期設定処理を示すフロー図である。
【図１３】図１３はキャリブレーションにおいて撮影された４枚の画像フレームを示す図解図である。
【図１４】図１４は視線サーバによる視線方向推定処理を示すフロー図である。
【図１５】図１５は右上方注視の状態での視線推定結果を示す図解図である。
【図１６】図１６は上方注視の状態での視線推定結果を示す図解図である。
【図１７】図１７は左下方注視の状態での視線推定結果を示す図解図である。
【図１８】図１８は視線方向と位置関係とに基づいて、カメラ、ディスプレイ、ユーザおよびユーザの視線を描画した俯瞰図の一例を示す図解図である。
【図１９】図１９は視線方向と位置関係とに基づいて、カメラ、ディスプレイ、ユーザおよびユーザの視線を描画した側面図の一例を示す図解図である。
【図２０】図２０は第２のコンピュータのメモリのメモリマップを示す図解図である。
【図２１】図２１は第２のコンピュータのＣＰＵの操作対象の切替処理の一部を示すフロー図である。
【図２２】図２２は第２のコンピュータのＣＰＵの操作対象の切替処理の他の一部であって、図２１に後続するフロー図である。
【図２３】図２３はこの発明のマルチディスプレイシステムの他の仕様態様を説明するための図解図である。
【符号の説明】
【０１５２】
１０  …マルチディスプレイシステム
１２  …視線サーバ
１４  …カメラ
１６  …切替器
１８，２０  …コンピュータ
２２，２４  …ディスプレイ
２６  …キーボード
２８  …マウス
【図１】
2009244949.tif 000014
【図２】
2009244949.tif 000015
【図３】
2009244949.tif 000016
【図４】
2009244949.tif 000017
【図７】
2009244949.tif 000018
【図１０】
2009244949.tif 000019
【図１１】
2009244949.tif 000020
【図１２】
2009244949.tif 000021
【図１４】
2009244949.tif 000022
【図１８】
2009244949.tif 000023
【図１９】
2009244949.tif 000024
【図２０】
2009244949.tif 000025
【図２１】
2009244949.tif 000026
【図２２】
2009244949.tif 000027
【図２３】
2009244949.tif 000028
【図５】
2009244949.tif 000029
【図６】
2009244949.tif 000030
【図８】
2009244949.tif 000031
【図９】
2009244949.tif 000032
【図１３】
2009244949.tif 000033
【図１５】
2009244949.tif 000034
【図１６】
2009244949.tif 000035
【図１７】
2009244949.tif 000036