(57)【特許請求の範囲】
【請求項１】
入力操作者の眼球周辺画像を取得し、当該眼球周辺画像から視線方向を検出して表示画面に表示された入力要素を入力する視線入力装置において、
前記入力操作者の瞬きを検出する瞬き検出手段と、
前記瞬き検出手段が検出した結果に基づいて、前記表示画面に表示された前記入力要素を切り替えて表示する切替表示手段と、
前記切替表示手段により切り替えて表示された複数の入力要素のうち、任意の１または複数の入力要素を特定する指標を、隣接配置されて表示された前記入力要素に連続して順次移動制御する指標移動制御手段と、
前記指標移動制御手段により移動制御された指標で特定される入力要素を、前記瞬き検出手段が検出した瞬きを確定情報として入力することで決定する入力要素決定手段と、を備え、
前記指標移動制御手段が、検出された瞬きの回数に応じて前記指標の移動速度を変化させて制御することを特徴とする、視線入力装置。
【請求項２】
入力操作者の眼球周辺画像を取得し、当該眼球周辺画像から視線方向を検出して表示画面に表示された入力要素を入力する視線入力装置において、
前記入力操作者の瞬きを検出する瞬き検出手段と、
前記瞬き検出手段が検出した結果に基づいて、前記表示画面に表示された前記入力要素を切り替えて表示する切替表示手段と、
前記切替表示手段により切り替えて表示された複数の入力要素のうち、任意の１または複数の入力要素を特定する指標を順次移動制御する指標移動制御手段と、
前記指標移動制御手段により移動制御された指標で特定される入力要素を、前記瞬き検出手段が検出した瞬きを確定情報として入力することで決定する入力要素決定手段とを備え、
前記入力要素には直前に確定された確定情報を入力状態のまま維持するＨＯＬＤボタンを含み、当該ＨＯＬＤボタンを確定情報として入力した場合に、複数の前記確定情報が同時に入力されることを特徴とする、視線入力装置。
【請求項３】
入力操作者の眼球周辺画像を取得し、当該眼球周辺画像から視線方向を検出して表示画面に表示された入力要素を入力する視線入力装置において、
前記入力操作者の瞬きを検出する瞬き検出手段と、
前記瞬き検出手段が検出した結果に基づいて、前記表示画面に表示された前記入力要素を切り替えて表示する切替表示手段と、
前記切替表示手段により切り替えて表示された複数の入力要素のうち、任意の１または複数の入力要素を特定する指標を順次移動制御する指標移動制御手段と、
前記指標移動制御手段により移動制御された指標で特定される入力要素を、前記瞬き検出手段が検出した瞬きを確定情報として入力することで決定する入力要素決定手段と、
前記入力操作者の視線方向を検出する視線検出手段とを備え、
前記入力操作者の視線方向が予め設定された方向である場合に、当該視線方向に前記指標を移動制御し、当該視線方向が検出されている間、前記指標が、隣接配置されて表示された前記入力要素に連続して順次移動制御され、前記視線方向が連続して検出されている時間に応じて前記指標の移動速度を変化させて制御することを特徴とする、視線入力装置。
【請求項４】
入力操作者の眼球周辺画像を取得し、当該眼球周辺画像から視線方向を検出して表示画面に表示された入力要素を入力する視線入力方法において、
コンピュータが、
前記入力操作者の瞬きを検出する瞬き検出ステップと、
前記瞬き検出ステップで検出された結果に基づいて、前記表示画面に表示された前記入力要素を切り替えて表示する切替表示ステップと、
前記切替表示ステップにより切り替えて表示された複数の入力要素のうち、任意の１または複数の入力要素を特定する指標を、隣接配置されて表示された前記入力要素に連続して順次移動制御する指標移動制御ステップと、
前記指標移動制御ステップにより移動制御された指標で特定される入力要素を、前記瞬き検出ステップで検出された瞬きを確定情報として入力することで決定する入力要素決定ステップとを実行し、
前記指標移動制御ステップが、検出された瞬きの回数に応じて前記指標の移動速度を変化させて制御することを特徴とする視線入力方法。
【請求項５】
入力操作者の眼球周辺画像を取得し、当該眼球周辺画像から視線方向を検出して表示画面に表示された入力要素を入力する視線入力方法において、
コンピュータが、
前記入力操作者の瞬きを検出する瞬き検出ステップと、
前記瞬き検出ステップで検出された結果に基づいて、前記表示画面に表示された前記入力要素を切り替えて表示する切替表示ステップと、
前記切替表示ステップにより切り替えて表示された複数の入力要素のうち、任意の１または複数の入力要素を特定する指標を順次移動制御する指標移動制御ステップと、
前記指標移動制御ステップにより移動制御された指標で特定される入力要素を、前記瞬き検出ステップで検出された瞬きを確定情報として入力することで決定する入力要素決定ステップとを実行し、
前記入力要素には直前に確定された確定情報を入力状態のまま維持するＨＯＬＤボタンを含み、当該ＨＯＬＤボタンを確定情報として入力した場合に、複数の前記確定情報が同時に入力されることを特徴とする視線入力方法。
【請求項６】
入力操作者の眼球周辺画像を取得し、当該眼球周辺画像から視線方向を検出して表示画面に表示された入力要素を入力する視線入力方法において、
コンピュータが、
前記入力操作者の瞬きを検出する瞬き検出ステップと、
前記瞬き検出ステップで検出された結果に基づいて、前記表示画面に表示された前記入力要素を切り替えて表示する切替表示ステップと、
前記切替表示ステップにより切り替えて表示された複数の入力要素のうち、任意の１または複数の入力要素を特定する指標を順次移動制御する指標移動制御ステップと、
前記指標移動制御ステップにより移動制御された指標で特定される入力要素を、前記瞬き検出ステップで検出された瞬きを確定情報として入力することで決定する入力要素決定ステップと、
前記入力操作者の視線方向を検出する視線検出ステップとを実行し、
前記入力操作者の視線方向が予め設定された方向である場合に、当該視線方向に前記指標を移動制御し、当該視線方向が検出されている間、前記指標が、隣接配置されて表示された前記入力要素に連続して順次移動制御され、前記視線方向が連続して検出されている時間に応じて前記指標の移動速度を変化させて制御することを特徴とする視線入力方法。
【請求項７】
入力操作者の眼球周辺画像を取得し、当該眼球周辺画像から視線方向を検出して表示画面に表示された入力要素を入力するようにコンピュータを機能させる視線入力プログラムにおいて、
前記入力操作者の瞬きを検出する瞬き検出手段、
前記瞬き検出手段が検出した結果に基づいて、前記表示画面に表示された前記入力要素を切り替えて表示する切替表示手段、
前記切替表示手段により切り替えて表示された複数の入力要素のうち、任意の１または複数の入力要素を特定する指標を、隣接配置されて表示された前記入力要素に連続して順次移動制御する指標移動制御手段、
前記指標移動制御手段により移動制御された指標で特定される入力要素を、前記瞬き検出手段が検出した瞬きを確定情報として入力することで決定する入力要素決定手段としてコンピュータを機能させ、
前記指標移動制御手段が、検出された瞬きの回数に応じて前記指標の移動速度を変化させて制御することを特徴とする視線入力プログラム。
【請求項８】
入力操作者の眼球周辺画像を取得し、当該眼球周辺画像から視線方向を検出して表示画面に表示された入力要素を入力するようにコンピュータを機能させる視線入力プログラムにおいて、
前記入力操作者の瞬きを検出する瞬き検出手段、
前記瞬き検出手段が検出した結果に基づいて、前記表示画面に表示された前記入力要素を切り替えて表示する切替表示手段、
前記切替表示手段により切り替えて表示された複数の入力要素のうち、任意の１または複数の入力要素を特定する指標を順次移動制御する指標移動制御手段、
前記指標移動制御手段により移動制御された指標で特定される入力要素を、前記瞬き検出手段が検出した瞬きを確定情報として入力することで決定する入力要素決定手段としてコンピュータを機能させ、
前記入力要素には直前に確定された確定情報を入力状態のまま維持するＨＯＬＤボタンを含み、当該ＨＯＬＤボタンを確定情報として入力した場合に、複数の前記確定情報が同時に入力されることを特徴とする視線入力プログラム。
【請求項９】
入力操作者の眼球周辺画像を取得し、当該眼球周辺画像から視線方向を検出して表示画面に表示された入力要素を入力するようにコンピュータを機能させる視線入力プログラムにおいて、
前記入力操作者の瞬きを検出する瞬き検出手段、
前記瞬き検出手段が検出した結果に基づいて、前記表示画面に表示された前記入力要素を切り替えて表示する切替表示手段、
前記切替表示手段により切り替えて表示された複数の入力要素のうち、任意の１または複数の入力要素を特定する指標を順次移動制御する指標移動制御手段、
前記指標移動制御手段により移動制御された指標で特定される入力要素を、前記瞬き検出手段が検出した瞬きを確定情報として入力することで決定する入力要素決定手段、
前記入力操作者の視線方向を検出する視線検出手段としてコンピュータを機能させ、
前記入力操作者の視線方向が予め設定された方向である場合に、当該視線方向に前記指標を移動制御し、当該視線方向が検出されている間、前記指標が、隣接配置されて表示された前記入力要素に連続して順次移動制御され、前記視線方向が連続して検出されている時間に応じて前記指標の移動速度を変化させて制御することを特徴とする視線入力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力操作者の視線方向の検出により入力操作を行う視線入力装置に関し、特に校正を短時間で簡潔に行うことができる視線入力装置等に関する。
【背景技術】
【０００２】
コンピュータの操作を行う場合に、通常はキーボードやマウスを使った操作を行うのが一般的である。しかし、肢体が不自由なために、キーボードやマウスの操作を行うことができない人々は少なくなく、音声認識や視線入力によるコンピュータの操作が行われている。視線入力を利用した技術として、特許文献１に示す技術がある。
【０００３】
特許文献１に示す技術は、被験者の顔全体をとらえた画像より被験者に目の開閉をさせて差画像を取得し、次いで目と眉のテンプレートを登録し、キャリブレーション時に得たデータと入力画像により得られたデータを比較して視線方向を検出する技術である。それにより、表示画面上の意図する項目を選択するとともに、眼球運動と瞼の開閉動作による眼球機能のみで入力し、スイッチング操作で仮想ボードによる操作を行うことができる。
【特許文献１】特許第３６７３８３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に示す技術では、視線方向を検出するためにディスプレイ全体に対して項目ごとに視線を合わせたテンプレートを用意しなければいけないため、処理に時間と手間が掛かるという課題を有する。
【０００５】
また、視線方向の検出の誤差を少なくするために、眼球運動に対して変化の少ない眉左上を基準点にして、基準点と黒目との相対距離を求め、その距離に応じて視線方向を検出しているが、眼球の動きに合わせて眉が動いてしまった場合は基準がずれて誤差が発生してしまう。また、頭部の微妙な動きに対して位置補正を行っているが、処理が複雑になってしまうという課題を有する。
【０００６】
さらに、表示画面には利用者にとって重要とされる項目を出来る限り多く表示する必要がある。しかし、表示画面に表示される項目が多くなると、その分多くのテンプレートの登録が必要となり、キャリブレーションに多くの時間が費やされ、利用者の精神的、肉体的な負担を大きくしてしまう。また、表示画面に表示される項目が多くなる程、項目間の視線の差が小さくなり、誤差を生み出す原因となってしまうという課題を有する。
【０００７】
さらにまた、操作環境が変化した場合には、視線方向の検出に誤差が生じてくるため再キャリブレーションを行う必要が出てくる。特に表示画面に表示される項目数が多い場合はちょっとした位置のずれや環境の違いで誤差が生じるために、頻繁に再キャリブレーションを行う必要がある。しかし、キャリブレーションには上記のように多くの時間を費やすため、利用者の負担が増大してしまうという課題を有する。
【０００８】
本発明は前記課題を解決するためになされたものであり、校正に必要な処理を減らすと共に、高い精度で視線入力処理を行うことができる視線入力装置、視線入力方法、及び、視線入力プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
（１．スキャニングによる瞬き入力）
本発明に係る視線入力装置は、入力操作者の眼球周辺画像を取得し、当該眼球周辺画像から視線方向を検出して表示画面に表示された入力要素を入力する視線入力装置において、前記入力操作者の瞬きを検出する瞬き検出手段と、前記瞬き検出手段が検出した結果に基づいて、前記表示画面に表示された前記入力要素を切り替えて表示する切替表示手段と、前記切替表示手段により切り替えて表示された複数の入力要素のうち、任意の１または複数の入力要素を特定する指標を順次移動制御する指標移動制御手段と、前記指標移動制御手段により移動制御された指標で特定される入力要素を、前記瞬き検出手段が検出した瞬きを確定情報として入力することで決定する入力要素決定手段とを備えることを特徴とする。
【００１０】
このように、本発明においては、入力操作者の瞬きを検出するだけで表示画面に表示された入力要素を入力することができるため、入力操作者の眼球のみを認識できるように視線入力装置に登録しておけばよい。つまり、入力要素に応じた様々な角度の視線方向のテンプレートを複数用意する必要がなく、処理を簡単で効率的に行うことができる。
【００１１】
また、操作環境の変化（例えば、部屋に入る自然光や入力操作者の移動）により瞬きの認識精度が低くなってしまった場合であっても、瞬き検出のみを校正すればよいため、短時間で簡単に校正を行うことができる。
さらに、入力操作者は瞬きをするだけで、様々な入力処理を行うことができるため操作を簡単で楽に行うことができ、入力操作者の負担を軽減することができる。
【００１２】
さらにまた、指標移動制御手段を備えているため、指標の移動を制御することができる。例えば、切替表示手段により画面表示が切り替わった場合に、自動的に指標を移動させるようにしてもよいし、瞬き（２回以上の瞬き）の検出をトリガーにして指標の移動を開始させるようにしてもよい。また、瞬き（２回以上の瞬き）の検出により指標の移動を停止させるような制御を行ってもよい。つまり、指標の移動の制御については瞬きの検出と組み合わせることで自由に行うことができ、入力操作者が自分に合った制御に設定することも可能である。
【００１３】
（２．左右の視線を検出）
本発明に係る視線入力装置は、前記入力操作者の左右の少なくとも一方の視線を検出する視線検出手段と、前記視線検出手段が検出した結果に基づいて画面表示の制御を行う表示制御手段とを備えることを特徴とする。
【００１４】
このように、本発明においては、入力操作者の左右の少なくとも一方の視線を検出し、その結果に基づいて画面表示の制御を行うため、多くても左右２つの視線方向を視線入力装置に登録しておけばよい。つまり、入力要素に応じた様々な角度の視線方向のテンプレートを多数用意する必要がなく、処理を簡単で効率的に行うことができる。
【００１５】
また、視線方向と瞬きを組み合わせた画面表示の制御を行うことができるため、様々な操作を実現することができる。例えば、視線が右を向いた場合は、画面上の指標を入力要素に対して右方向に順送りに移動させ、視線が左を向いた場合は、画面上の指標を入力要素に対して左方向に逆送りに移動させるようにし、瞬きにより確定入力を行うことで、あらゆる操作を簡単な制御で行うことができるようになる。
【００１６】
さらに、多くても左右２方向の視線を認識できればよいため、視線方向の検出の誤差を極端に減らすことができ、入力操作者は高精度で確実に視線入力操作を行うことができる。
さらにまた、前記同様に操作環境の変化により瞬き、または、視線方向の認識精度が低くなってしまった場合であっても、瞬き検出と多くても２方向の視線方向の検出の校正を行えばよいため、短時間で簡単に校正を行うことができる。
【００１７】
なお、指標の移動は、視線が右（または、左）を向いている間は順送り（または、逆送り）の移動を維持し、視線が右（または、左）以外を向いたら指標の移動を止めるような制御にしてもよい。
【００１８】
また、上記の場合、所定の方向を凝視する時間に応じて指標の移動速度を変化させるようにしてもよい。例えば、右を見続けると、その時間に応じて指標の移動速度が速くなるように制御する。
さらに、視線方向の検出は、左右のいずれか一方のみの視線を検出するようにしてもよい。
【００１９】
（３．上下の視線を検出）
本発明に係る視線入力装置は、前記入力操作者の上下の少なくとも一方の視線を検出する視線検出手段と、前記視線検出手段が検出した結果に基づいて画面表示の制御を行う表示制御手段とを備えることを特徴とする。
【００２０】
このように、本発明においては、前記と同様に多くても２つの視線方向を視線入力装置に登録しておけばよいため、入力要素に応じた様々な角度の視線方向のテンプレートを多数用意する必要がなく、処理を簡単で効率的に行うことができる。
また、前記と同様に視線方向と瞬きを組み合わせた画面表示の制御を行うことができるため、様々な操作を実現することができる。
【００２１】
さらに、前記と同様に多くても上下２方向の視線を認識できればよいため、視線方向の検出の誤差を極端に減らすことができ、入力操作者は高精度で確実に視線入力操作を行うことができる。
さらにまた、前記同様に操作環境の変化により瞬き、または、視線方向の認識ができなくなってしまった場合でも、瞬き検出と、多くても２方向の視線方向の検出の校正を行えばよいため、短時間で簡単に校正を行うことができる。
【００２２】
なお、指標の移動は、視線が上（または、下）を向いている間は順送り（または、逆送り）の移動を維持し、視線が上（または、下）以外を向いたら指標の移動を止めるような制御にしてもよい。
【００２３】
また、上記の場合、所定の方向を凝視する時間に応じて指標の移動速度を変化させるようにしてもよい。
さらに、視線方向の検出は、上下のいずれか一方のみの視線を検出するようにしてもよい。
【００２４】
（４．上下左右の視線を検出）
本発明に係る視線入力装置は、前記視線検出手段が、前記入力操作者の上下左右の少なくとも４方向の視線を検出し、当該視線検出手段が検出した結果に基づいて、前記表示制御手段が画面表示の制御を行うことを特徴とする。
【００２５】
このように、本発明においては、入力操作者の上下左右の少なくとも４方向の視線を検出し、視線検出手段が検出した結果に基づいて、表示制御手段が画面表示の制御を行うため、指標を十字キーのように入力操作者の上下左右に自由に移動させることができ、入力操作の時間と手間を省くことで、入力操作者の精神的、肉体的な負担を軽減することができる。
また、登録する視線方向は４方向であるため、登録や校正に掛かる時間や手間を従来に比べて格段に減らすことができると共に、上下左右という極端な位置を検出するため、検出精度も高く、確実に視線入力操作を行うことができる。
【００２６】
（５．瞬きの検出）
本発明に係る視線入力装置は、前記眼球周辺画像における肌色部分を検出する肌色検出手段と、前記肌色検出手段が検出した肌色部分、並びに前記眼球周辺画像における白目部分、及び黒目部分から、当該眼球周辺画像の画素値の平均を算出する画素値平均算出手段と、前記眼球周辺画像から当該眼球周辺画像の輝度を算出する輝度算出手段と、前記画素値平均算出手段が算出した画素値の平均と前記輝度算出手段が算出した輝度から画素値の平均が黒色かどうかを判定するための最適な閾値を算出する閾値算出手段とを備え、前記瞬き検出手段は、前記閾値算出手段が算出した閾値に基づいて、前記入力操作者の瞬きを検出することを特徴とする。
【００２７】
このように、本発明においては、入力操作者の皮膚の肌色部分と黒目部分と白目部分から眼球周辺画像の画素値の平均を算出し、その画素値の平均と、操作環境における照明等の環境から算出した輝度に基づいて、瞬きの判定を行うための最適な閾値を算出するため、従来のように画像データの比較等を行わなくて済み、簡潔な処理で確実に瞬きを検出することができる。
また、輝度の大きさを考慮して瞬きを検出しているため、窓から差し込む自然光や照明等の環境が変わった場合でも対応することができる。
【００２８】
さらに、眼球周辺画像における画素値の平均から最適な閾値を算出するため、眼球周辺画像は可視光により撮影された画像で十分であり、装置を安価でコンパクトなものにすることができる。
【００２９】
（６．意図的な瞬きと自然の瞬きとの区別）
本発明に係る視線入力装置は、前記瞬き検出手段が、前記入力操作者により自然に行われた瞬きと意図的に行われた瞬きとを区別して、意図的に行われた瞬きのみを検出することを特徴とする。
【００３０】
このように、本発明においては、発明者らが知見した瞬き時間から、意図的に行われた瞬きと自然に行われた瞬きを区別するため、自然に行われた瞬きは無視して、意図的に行われた瞬きのみを検出して入力操作を行うことができる。
【００３１】
（７．パラメータの設定）
本発明に係る視線入力装置は、前記入力操作者が、前記各処理手段における処理パラメータを自由に設定できることを特徴とする。
このように、本発明においては、入力操作者が処理パラメータを設定することができるため、入力操作者に対応して視線入力装置をカスタマイズすることができ、様々な入力操作者が快適に利用することができる。
なお、各パラメータの設定は、予めパラメータファイルに設定を登録しておいてもよいし、入力操作者が入力操作を行いながら、随時変更できるようにしてもよい。
【００３２】
（８．仮想キーボード入力）
本発明に係る視線入力装置は、前記入力要素がパソコンのキーボードと同じ構成であることを特徴とする。
このように、本発明においては、入力要素がパソコンのキーボードと同じ構成であるため、キーボードを利用した操作と全く同じ操作を視線入力で行うことができる。
なお、複数キーを同時に押下する操作については、例えば、瞬きを２回行った場合はホールド状態とすることで実現することができる。
【００３３】
また、例えば右目のみの瞬きを右クリック、左目のみの瞬きを左クリックとすることでマウス操作も行うことができる。
さらに、上記で示したマウス操作以外の全ての操作は左右いずれか一方の眼球周辺画像を取得できれば実現することができる。
【００３４】
本発明に係る視線入力装置は、入力操作者の眼球周辺画像を取得し、当該眼球周辺画像から視線方向を検出して表示画面に表示された入力要素を入力する視線入力装置において、前記入力操作者の瞬きを検出する瞬き検出手段と、前記瞬き検出手段が検出した結果に基づいて、前記表示画面に表示された前記入力要素を切り替えて表示する切替表示手段と、前記切替表示手段により切り替えて表示された複数の入力要素のうち、任意の１または複数の入力要素を特定する指標を、隣接配置されて表示された前記入力要素に連続して順次移動制御する指標移動制御手段と、前記指標移動制御手段により移動制御された指標で特定される入力要素を、前記瞬き検出手段が検出した瞬きを確定情報として入力することで決定する入力要素決定手段と、を備え、前記指標移動制御手段が、検出された瞬きの回数に応じて前記指標の移動速度を変化させて制御するものである。
また、本発明に係る視線入力装置は、入力操作者の眼球周辺画像を取得し、当該眼球周辺画像から視線方向を検出して表示画面に表示された入力要素を入力する視線入力装置において、前記入力操作者の瞬きを検出する瞬き検出手段と、前記瞬き検出手段が検出した結果に基づいて、前記表示画面に表示された前記入力要素を切り替えて表示する切替表示手段と、前記切替表示手段により切り替えて表示された複数の入力要素のうち、任意の１または複数の入力要素を特定する指標を順次移動制御する指標移動制御手段と、前記指標移動制御手段により移動制御された指標で特定される入力要素を、前記瞬き検出手段が検出した瞬きを確定情報として入力することで決定する入力要素決定手段とを備え、前記入力要素には直前に確定された確定情報を入力状態のまま維持するＨＯＬＤボタンを含み、当該ＨＯＬＤボタンを確定情報として入力した場合に、複数の前記確定情報が同時に入力されるものである。
さらに、本発明に係る視線入力装置は、入力操作者の眼球周辺画像を取得し、当該眼球周辺画像から視線方向を検出して表示画面に表示された入力要素を入力する視線入力装置において、前記入力操作者の瞬きを検出する瞬き検出手段と、前記瞬き検出手段が検出した結果に基づいて、前記表示画面に表示された前記入力要素を切り替えて表示する切替表示手段と、前記切替表示手段により切り替えて表示された複数の入力要素のうち、任意の１または複数の入力要素を特定する指標を順次移動制御する指標移動制御手段と、前記指標移動制御手段により移動制御された指標で特定される入力要素を、前記瞬き検出手段が検出した瞬きを確定情報として入力することで決定する入力要素決定手段と、前記入力操作者の視線方向を検出する視線検出手段とを備え、前記入力操作者の視線方向が予め設定された方向である場合に、当該視線方向に前記指標を移動制御し、当該視線方向が検出されている間、前記指標が、隣接配置されて表示された前記入力要素に連続して順次移動制御され、前記視線方向が連続して検出されている時間に応じて前記指標の移動速度を変化させて制御するものである。
これまで、本発明を装置として示したが、所謂当業者であれば明らかであるように本発明をシステム、方法、及び、プログラムとして捉えることもできる。これら前記の発明の概要は、本発明に必須となる特徴を列挙したものではなく、これら複数の特徴のサブコンビネーションも発明となり得る。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の実施の形態を説明する。本発明は多くの異なる形態で実施可能である。従って、本実施形態の記載内容のみで本発明を解釈すべきではない。また、本実施形態の全体を通して同じ要素には同じ符号を付けている。
【００３６】
本実施の形態では、主に装置について説明するが、所謂当業者であれば明らかな通り、本発明はシステム、方法、及び、コンピュータを動作させるためのプログラムとしても実施できる。また、本発明はハードウェア、ソフトウェア、または、ハードウェア及びソフトウェアの実施形態で実施可能である。プログラムは、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光記憶装置、または、磁気記憶装置等の任意のコンピュータ可読媒体に記録できる。さらに、プログラムはネットワークを介した他のコンピュータに記録することができる。
【００３７】
（本発明の第１の実施形態）
（１．構成）
（１−１  視線入力装置のハードウェア構成）
図１は、本実施形態に係る視線入力装置１００のハードウェア構成を示した模式図である。
本実施形態に係る視線入力装置１００は、視線入力装置本体１１０と、カメラ１０６と、ディスプレイ１０７と、スピーカー１０８とを備える。視線入力装置本体１１０は、ＣＰＵ（Central  Processing  Unit）１０１と、ＲＡＭ１０２と、ＲＯＭ１０３と、ＨＤＤ（Hard  Disk  Drive）１０４と、ＣＤ−ＲＯＭ１２０からデータを読み出すＣＤ−ＲＯＭドライブ１０５と、ネットワークに接続するためのＬＡＮインターフェース１０９とを備える。
なお、図１は本実施形態に係る視線入力処理装置１００のハードウェア構成を模式的に示した一例に過ぎず、本実施形態を適用可能であれば、他の様々な構成を採ることができる。
【００３８】
視線入力装置１００は、視線入力プログラムをＨＤＤ１１１に複製して、複製した視線入力プログラムがロード可能に構成する所謂インストール（ここで示したインストールは例示に過ぎない）を行うことで構築することができ、コンピュータを制御するＯＳ（Operating  System）へ利用者が視線入力装置１００の起動を命令することで、視線入力プログラムがロードされて起動する。
なお、視線入力装置プログラムは、ＣＤ−ＲＯＭ等の記録媒体から提供されるようにしてもよいし、ＬＡＮインターフェース１０９を介してネットワークに接続された他のコンピュータから提供されるようにしてもよい。
【００３９】
（１−２  視線入力装置の全体のモジュール構成）
図２は、本実施形態に係る視線入力装置１００全体のモジュール構成図、図３は、前処理部２１０のモジュール構成図、図４は、瞬き登録処理部３２３のモジュール構成図である。
【００４０】
（１−２−１  視線入力装置本体１１０の構成と機能）
図２において、視線入力装置本体１１０は、前処理部２１０と、瞬き検出処理部２２０と、視線検出処理部２３０と、表示制御処理部２４０と、画面表示処理部２５０とを備える。表示制御処理部２４０は、切替表示処理部２４１と、入力要素決定処理部２４２と、カーソル移動制御部２４３と、カーソル速度制御部２４４とを備える。
【００４１】
各処理部の機能について以下に説明する。
前処理部２１０は、視線入力処理を行う前の処理を行う。起動時の前処理や校正時の処理は、この前処理部２１０により行われる。前処理部２１０の詳細な構成は後述する。
瞬き検出処理部２２０は、瞬きの検出を行う。ここでは、前処理部２１０で登録した瞬き情報から、入力操作者Ｍが瞬きを行ったかどうかを判定する処理が行われる。
【００４２】
視線検出処理部２３０は、入力操作者Ｍの注視点から入力操作者の視線方向を特定し、登録された視線方向と合致するかどうかを判定する処理を行う。合致していれば入力操作者が右または左を見ていると判断し、どちらにも合致していなければ、右または左以外の方向に視線が向いていると判断する。
【００４３】
切替表示処理部２４１は、画面に表示されている入力要素の表示を、入力操作者Ｍの瞬きに応じて切り替える処理を行う。例えば、画面上に「あ、か、さ、た、な・・・」のように行が表示されている場合に、「さ」を選択して瞬きを行うと、画面に表示される入力要素が「さ、し、す、せ、そ」に切り替わる処理を行う。
【００４４】
入力要素決定処理部２４２は、選択されている入力要素を瞬きにより入力することで決定する処理を行う。例えば、上記の例では「し」が選択された状態で瞬きを行うと、「し」が決定され、入力文字が「し」となる。
【００４５】
カーソル移動制御部２４３は、カーソルの移動を制御する。例えば、入力操作者Ｍが右を見た場合は、画面に表示されている入力要素を特定するカーソルを１つ順送りで移動し、入力操作者Ｍが左を見た場合は、画面に表示されている入力要素を特定するカーソルを１つ逆送りで移動するような制御を行う。
【００４６】
カーソル速度制御部２４４は、カーソルの移動速度を制御する。例えば、入力操作者Ｍが右を見ている間はカーソルの移動速度早くなるような制御や、瞬きの回数により移動速度を変更するような制御を行う。
画面表示処理部２５０は、入力要素やカーソルを画面に表示する処理を行う。
【００４７】
（１−２−２  前処理部２１０の構成と機能）
図３において、前処理部２１０は、眼球周辺画像取得処理部３１０と、登録処理部３２０とを備える。登録処理部３２０は、右視線方向登録処理部３２１と、左視線方向登録処理部３２２と、瞬き登録処理部３２３とを備える。
【００４８】
以下に各処理部の機能について説明する。
眼球周辺画像取得処理部３１０は、カメラ１０６で撮影された入力操作者Ｍの顔画像から眼球の周辺の画像を取得する処理を行う。この画像を基にして、視線方向や瞬きの検出を行う。
【００４９】
右視線方向登録処理部３２１は、入力操作者Ｍの注視点から右の視線方向を検出し、その場合の眼球の黒目の状態（位置）を登録する処理を行う。
左視線方向登録処理部３２２は、入力操作者Ｍの注視点から左の視線方向を検出し、その場合の眼球の黒目の状態（位置）を登録する処理を行う。
瞬き登録処理部３２３は、瞼を閉じた場合の画像の画素値と、瞼を閉じていない場合の画像の画素値を判別するための閾値を算出し登録する処理を行う。瞬き登録処理部３２３の詳細な構成は後述する。
【００５０】
（１−２−３  瞬き登録処理部３２３の構成と機能）
図４において、瞬き登録処理部３２３は、肌色検出処理部４１０と、画素値平均算出処理部４２０と、輝度算出処理部４３０と、閾値決定処理部４４０とを備える。
【００５１】
以下に、各処理部の機能について説明する。
肌色検出処理部４１０は、眼球周辺画像ｍにおける肌色の部分を検出する処理を行う。ここでは色相の角度（６度から３８度）から、一般的な肌色の画素値を示す画素を肌色の部分であるとする。
【００５２】
画素値平均算出処理部４２０は、眼球周辺画像ｍの画素値の平均を算出する処理を行う。この時、肌色検出処理部４１０が検出した肌色部は黒として抽出し、眼球周辺画像ｍを２値化して画素値の平均を算出する。つまり、瞼を開いている場合は、白目部分の存在により画素値の平均が高くなる。逆に、瞼を閉じている場合は、白目部分の存在がなくなるため、画素値の平均が低くなる。
【００５３】
輝度算出処理部４３０は、眼球周辺画像ｍの輝度を算出する。眼球周辺画像ｍの輝度により画素値の平均が変わってくる。つまり、瞼を閉じているか開いているかを判定するには、輝度を考慮して判定する必要がある。
【００５４】
閾値決定処理部４４０は、瞼を閉じているか開いているかを判定する最適な閾値を決定する処理を行う。ここでは、画素値平均算出処理部４２０が算出した画素値の平均と輝度算出処理部４３０が算出した輝度から近似式を求め、閾値を決定する。
【００５５】
なお、上記構成において視線方向の検出による操作に関する処理は省略してもよい。すなわち、例えば、カーソルの移動開始の合図を瞬きで行い、所定の間隔で入力要素ごとにカーソルを順次移動するようにし、入力操作者Ｍが、選択したい入力要素が選択状態になった場合（カーソルが当たった場合）に瞬きにより決定を行うことで、視線方向を検出しなくても、装置の操作を行うことが可能となる。
【００５６】
（２  視線入力装置の動作）
図５は、本実施形態に係る視線入力装置１００の処理を示すフローチャートである。まず、装置を起動したら、前処理が行われる（ステップＳ５０１）。前処理について詳細に説明する。前処理に関する詳細なフローチャートを図６に示す。まず、入力操作者Ｍの正面側からカメラ１０６により入力操作者Ｍの顔画像を撮像する（ステップＳ６０１）。
【００５７】
ステップＳ６０１の入力操作者Ｍの顔画像の撮像について、以下に詳細に説明する。図８は、入力操作者Ｍの顔画像である。ここでは、安価で入手することができる可視波長領域のカメラ（６４０×４８０）で撮影を行っている。安価なカメラを用いることで装置全体のコストを抑えることができる。撮影した画像は既存のソフトウェア（DirectShow）を用いて視線入力装置本体１１０に取り込まれる。
【００５８】
なお、カメラ１０６は可視波長領域のカメラに限定せずに赤外線を利用したカメラ等、入力操作者の顔を撮影できるものであれば何でもよい。
また、撮影された顔画像を視線入力装置本体１１０に取り込むソフトウェアも上記DirectShowに限定せず、何でもよい。
【００５９】
図６に戻って、顔画像が取り込まれたら、顔画像の中から眼球周辺の画像を抽出し取得される（ステップＳ６０２）。眼球周辺の画像の取得には、パターン認識手法であるPaul  Viola氏及びRainer  Lienhart氏の物体検知アルゴリズム（Paul  Viola  and  Michael  J.Jones."Rapid  Object  Detection  using  a  Boosted  Cascade  of  Simple  Features".IEEE  CVPR,2001）（Rainer  Lienhart  and  Jochen  Maydt."An  Extended  Set  of  Haar-like  Features  for  Rapid  Object  Detection".IEEE  ICIP  2002,Vol.1,pp.900-903,Sep,2002）を用いる。このプログラムの実装にはOpenCVを用いる。OpenCV（Intel  Open.Computer  Vision  Library）とはIntel研究所が開発、公開を行っているオープンソースライブラリーである。Intel  CPU  に最適化され、様々な画像処理を行うことが可能である。２００６年１１月に正式リリース版が公開され、Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ、ＭａｃＯＳなどのコンピュータで利用することが可能である。これにより取得された眼球周辺画像ｍの黒目の位置から、右視線方向と左視線方向の黒目の位置を登録する（ステップＳ６０３、ステップＳ６０４）。
【００６０】
ステップＳ６０３、ステップＳ６０４の視線方向の登録処理について、以下に詳細に説明する。図９は視線方向の登録を行う様子を示した模式図である。入力操作者Ｍが注視している点の座標を（ｐ，ｑ）とすると、以下の式によりｐ、ｑの値を求めることができる。
【００６１】
【数１】
0005077879.tif 000002
ここで、ｄは眼球とディスプレイ１０７との距離、ｒｅは眼球半径、（ｘ，ｙ）は眼球の位置を示す座標、ｅｘは黒目のｘ座標方向の移動距離、ｅｙは黒目のｙ座標方向の移動距離を示す。
【００６２】
入力操作者Ｍが注視している点の座標（ｐ，ｑ）がディスプレイ１０７の右側の所定領域にある場合は、入力操作者Ｍが右を見ていると判定し、入力操作者Ｍが注視している点の座標（ｐ，ｑ）がディスプレイ１０７の左側の所定領域にある場合は、入力操作者Ｍが左を見ていると判定する。前処理においては、右を見た場合と左を見た場合の黒目の位置を特定し、その状態を登録しておく。そして、左右の視線方向を検出する時は、ここで登録した状態の黒目の位置を利用して視線方向が検出される。
【００６３】
図９（ｂ）は右を見た場合の実際の眼球周辺画像ｍと左を見た場合の実際の眼球周辺画像ｍである。本実施形態では、視線方向として検出するのは左右の２つのみで、他の視線方向に関しては必要ない。そのため、前処理段階では２つの視線方向のみを登録すればよいため、従来に比べて、格段に処理が簡潔になり処理効率を上げることができる。
なお、ここでは、左右の２つの視線方向を登録しているが、左右のどちらか一方だけでもよい。そうすることで、さらに処理を簡潔にし、効率を上げることができる。
【００６４】
図６に戻って、視線方向の登録が完了すると、瞬きの登録を行う（ステップＳ６０５）。
ステップＳ６０５の瞬きの登録処理について、以下に詳細に説明する。図７は、瞬きの登録処理に関する詳細なフローチャートである。まず、眼球周辺画像ｍの肌色部分を検出する（ステップＳ７０１）。
【００６５】
肌色部分の検出について、図１０を用いて説明する。図１０は、肌色の色相分布を示したグラフである。グラフからわかる通り、肌色の色相角度はほぼ６度から３８度の間である。イギリスのエジンバラ大学の情報学部のJamie  Sherrah氏とShaogang  Gong氏のSkin  Colour  Analysisによると、様々な人種の肌の色を調査した結果、ほとんどの人の肌の色の色相が６°から３８°に収まることが分かっている。つまり、眼球周辺画像ｍにおいて、画素値が６度から３８度の間にある画素については、肌色の部分（瞼や周囲の皮膚）に該当していると判断することができる。肌色の部分が抽出されることで、肌色を黒として眼球周辺画像ｍを白と黒で２値化することができる。
【００６６】
図７に戻って、肌色部分が検出されると、それを元に画素値の平均が算出される（ステップＳ７０２）。眼球周辺画像ｍは、装置の使用環境により輝度が異なっているため、眼球周辺画像ｍの輝度を算出する（ステップＳ７０３）。ステップＳ７０２で算出された画素値の平均とステップＳ７０３で算出された輝度に基づいて、瞬きかどうかの判定を行う閾値を決定して（ステップＳ７０４）、瞬き登録処理を終了する。
【００６７】
以下に、瞬きの登録の処理についてさらに詳細に説明する。図１１は、瞬きの登録を行う様子を示す図である。図１１（ａ）は様々な値の輝度（図中のＬで示される値）において、瞬きをした場合としていない場合の眼球周辺画像ｍの画素値の平均を算出した結果である。図からわかるように、瞬きをしていない場合は白目部分の画素値が高いため、眼球周辺画像ｍの画素値の平均が高くなり、瞬きをしていない場合は白目部分がないため、眼球周辺画像ｍの画素値の平均が低くなる。図１１（ｂ）のグラフにおいて、画素値が低くなっている箇所が瞬きをした瞬間である。瞬きをした瞬間は急激に画素値の平均が下がっているため、その画素値の平均に対する閾値を設定して登録しておけば、入力操作者Ｍの瞬きを確実に検出することができる。図１１（ｃ）は、眼球周辺画像の輝度と閾値との関係を示したグラフである。このグラフから、眼球周辺画像ｍの画素値が輝度×０．３＋４．７以下である場合に、瞬きを行ったと判断できることが導出できた。従って、輝度×０．３＋４．７が閾値として登録され、瞬きの検出を行う際にはこの値が利用される。
【００６８】
図６に戻って、瞬きの登録が完了したら、前処理を終了する。
図５に戻って、上記前処理が終了すると、カメラ１０６により入力操作者Ｍの顔画像が撮像され（ステップＳ５０２）、撮像された顔画像から眼球周辺画像ｍを取得する（ステップＳ５０３）。取得された眼球周辺画像ｍから、入力操作者Ｍの視線方向を検出する（ステップＳ５０４）。検出の際には、前処理にて登録された右視線方向の情報と左視線方向の情報から、視線方向の検出を行う。右視線方向または左視線方向が検出されたかどうかを判定し（ステップＳ５０５）、検出されなかった場合は、検出されるまでステップＳ５０４の処理が繰り返して行われる。検出された場合は、カーソルの移動を行う（ステップＳ５０６）。選択されている入力要素が、入力操作者が入力したい要素かどうかを判定し（ステップＳ５０７）、入力したくない要素であれば、入力したい要素が選択されるまで、ステップＳ５０６の処理が繰り返して行われる。入力したい要素が選択されている場合は、眼球周辺画像ｍの肌色部分が検出される（ステップＳ５０８）。検出された肌色部分は「黒色」として画像全体を２値化し、画素値の平均を算出する（ステップＳ５０９）。算出した画素値の平均が、前処理で登録した、瞬きを判定するための閾値以下かどうかを判定し（ステップＳ５１０）、画素値の平均が閾値より大きければ、瞬きと判断されずにステップＳ５０８に戻って、瞬きが検出されるまで処理が繰り返して行われる。画素値の平均が閾値以下であれば、瞬きと判断され、ステップＳ５１１の処理に進む。ステップＳ５１１では、画素値の平均が閾値以下であるフレームの数から、自然の瞬きか意図的な瞬きかどうかが判定され、自然の瞬きであればステップＳ５０８に戻る。意図的な瞬きであれば、選択されている入力要素が決定され（ステップＳ５１２）、入力内容がディスプレイ１０７に表示されて（ステップＳ５１３）処理を終了する。
【００６９】
意図的な瞬きかどうかの判定はカメラのフレーム数により判定することができる。画素の平均値が閾値以下であるフレームの数が連続していくつ続いたかで、意図的な瞬き（ゆっくりとした瞬き）と自然の瞬き（速い瞬き）を判別することができる。
なお、瞬きを判定するためのフレーム数については、入力操作者毎に設定することができる。
【００７０】
また、左右の視線方向の検出や瞬きの検出の際に、所定の時間が経過しても何も検出できない場合は、前処理で登録した情報が古くなり、校正が必要となる場合がある。そのため、このように未入力の状態で所定の時間が経過した場合は、校正を促すようにしてもよい。
さらに、左右の視線方向の検出は必ずしも必要ではない。すなわち、前記にも示した通り、カーソルの移動開始の合図を瞬きで行い、所定の間隔で入力要素ごとにカーソルを順次移動するようにし、入力操作者Ｍが、選択したい入力要素が選択状態になった場合（カーソルが当たった場合）に瞬きにより決定を行うことで、視線方向を検出しなくても、装置の操作を行うことが可能となる。
【００７１】
（３  視線入力装置の動作の詳細）
視線入力装置１００の動作について、さらに詳細に説明する。図１２は、視線入力装置１００のディスプレイ１０７に表示された表示画面の一例である。画面の上下には５０音の１行目（あ、か、さ、た、な、は、ま、や、ら、わ）の文字キーが表示され、真ん中には処理を実行するためのキーが表示されている。画面の右端には「右」の文字と、左端には「左」の文字が表示されている。
【００７２】
まずは前処理を行う必要があるため、入力操作者Ｍが「右」の文字を見るようにメッセージで促し、「右」の文字を見た状態を登録する。次に「左」の文字を見るようにメッセージで促し、「左」の文字を見た状態を登録する。そして、瞬きをするようにメッセージで促し、瞬きした状態を登録する。以上で前処理は終了である。
【００７３】
前処理が終了すると、画面は入力モードになり、入力操作者Ｍが自由に入力を行える状態となる。ここで、例えば、カーソルが現在「た」キーに当たっているとする。また、入力操作者Ｍは「うまい」という文字を入力したいとする。この場合、まず「う」を入力するために、カーソルを「あ」キーに移動させる必要がある。カーソルを「あ」キーに移動させるために、入力操作者Ｍは「左」の文字を見る。そうすると、視線検出処理部２３０が左の視線方向を検出し、それに基づいてカーソル移動制御部２４３がカーソルを１つ左の「さ」キーに移動させる。この処理を２回繰り返すことで、カーソルは「あ」キーに移動させることができる。カーソルが「あ」キーに当たっている状態で、入力操作者Ｍが瞬きを行うと、瞬き検出処理部２２０が瞬きを検出して、切替表示処理部２４１により画面に表示された入力要素が切り替えられる。切り替えられた入力要素の画面表示が図１３である。
【００７４】
図１３においては、画面の上部には、あ行（あ、い、う、え、お）が表示され、画面下部には、あ行の拗音（ぁ、ぃ、ぅ、ぇ、ぉ）が表示されている。真ん中には「戻る」処理の実行キーが表示されている。今、切替表示処理部２４１により表示が切り替わったため、カーソルは最初の「あ」キーを選択している。「う」文字を入力するためには、カーソルを「う」キーに移動させ、そこで瞬きをすればよい。カーソルを「う」キーに移動させるために、入力操作者Ｍは「右」の文字を見る。そうすると、視線検出処理部２３０が右の視線方向を検出し、それに基づいてカーソル移動制御部２４３がカーソルを１つ右の「い」キーに移動させる。この処理をもう１回繰り返すことで、カーソルは「う」キーに移動させることができる。カーソルが「う」キーに当たっている状態で、入力操作者Ｍが瞬きを行うと、瞬き検出処理部２２０が瞬きを検出して、入力要素決定処理部２４２により入力要素が決定され、画面表示処理部２５０によりディスプレイ１０７に入力文字が表示される。同様にして「ま」文字と「い」文字を入力することで、「うまい」という文字をディスプレイ１０７に表示することができる。
【００７５】
なお、ここでは、１度右または左を見たらカーソルが１つ移動するようにしたが、入力操作者Ｍの視線が右または左を見ている間は移動を維持するようにしてもよい。そうすることで、何度も右または左を見る必要がなくなり、入力操作者Ｍの負担を軽減することができる。
【００７６】
次に、上記処理において、視線方向の検出を行わない場合の操作について説明する。視線方向の検出を行わないことから、前処理にて登録するのは瞬きのみである。この場合、図１２の画面が表示されると、カーソルが所定の時間間隔（例えば、１秒）で「あ、か、さ、た、な・・・」のように移動している。入力操作者Ｍは上記同様に「うまい」の文字を入力したいとすると、カーソルが「あ」キーを選択した瞬間に瞬きを行う。そうすると、瞬き検出処理部２２０が瞬きを検出して、切替表示処理部２４１により画面上の入力要素が図１３のように切り替えられる。そして、ここでも同様にカーソルは所定の時間間隔（例えば、１秒）で「あ、い、う、え、お・・・」のように移動しているため、カーソルが「う」キーを選択した瞬間に瞬きを行う。そうすると、瞬き検出処理部２２０が瞬きを検出して、入力要素決定処理部２４２により入力文字が決定され、画面表示処理部２５０によりディスプレイ１０７に表示される。「ま」文字と「い」文字についても同様の操作を行って入力することができる。
【００７７】
図１４は、キーボードの図である。図１２及び図１３の代わりにこのように仮想キーボードを表示して仮想キーボード上をカーソルが移動するようにしてもよい。そうすることで画面を切り替えずに文字や命令を入力することができる。また、図１４には示されていないが、ＨＯＬＤボタンを追加することで、例えば、Ｃｔｒｌ＋Ａｌｔ＋Ｄｅｌｅｔｅを同時に入力するようなこともできる。この時の入力は、Ｃｔｒｌ→ＨＯＬＤ→Ａｌｔ→ＨＯＬＤ→Ｄｅｌｅｔｅ→ＨＯＬＤ→瞬きとすればよい。
【００７８】
なお、それぞれの処理において、カーソルの移動速度を変更することができる。視線方向を検出する場合は、例えば、右を見ている間はカーソルの移動速度が除々に早くなり、入力操作者Ｍにとって適切な速度になった場合に、視線をそらすことで、カーソルの移動速度の加速が止まるようにすることができる。これは、視線検出処理部２３０が視線を検出し、その結果、カーソル速度制御部２４４がカーソルの移動速度を制御することで容易に実現することができる。視線方向を検出しない場合であっても、瞬きの回数に応じてカーソルの速度を変化させることができる。例えば、２回瞬きをしたら速度が１段階上がるようにし、３回瞬きをしたら速度が１段階下がるようにすれば、瞬きの検出のみでカーソルの移動速度を制御することができる。
【００７９】
また、それぞれの処理において、切替表示処理部２４１の処理を省略することができる。例えば、「う」の文字を入力したい場合は、図１２の「あ」キーが選択された状態で瞬きを３回行う。「ま」の文字を入力したい場合は、「ま」キーが選択された状態で瞬きを１回行う。「い」の文字を入力したい場合は、「あ」キーが選択された状態で瞬きを２回行う。つまり、行番号（「う」の場合は３行目、「ま」の場合は１行目、「い」の場合は２行目）の数だけ瞬きを行うことで文字を入力するようにしてもよい。
【００８０】
さらに、視線方向を検出しない場合には、カーソルの移動を瞬きにより制御することが可能である。切替表示処理部２４１により画面表示が切り替わったら自動的にカーソルを移動させるようにしてもよいし、例えば２回以上の瞬きの検出をトリガーにしてカーソルの移動を開始させるようにしてもよい。また、逆に停止させるようにしてもよい。カーソルの移動制御や速度制御は瞬きと組み合わせることで、自由に設定することができ、入力操作者Ｍの好みに合わせてカスタマイズすることも可能である。
【００８１】
さらにまた、本実施形態では視線方向の検出を左右方向としたが、上下方向にしてもよい。その場合は、例えば、上を見た時はカーソルを左から右（上から下）に順送りにし、下を見た時はカーソルを右から左（下から上）に逆送りにすれば、左右方向の場合と同じ機能を実現することができる。
【００８２】
さらにまた、上下左右の４方向の視線方向を検出できるようにすることで、カーソルを４方向に移動することが可能となる。例えば、上方向の視線を検出したらカーソルが上に移動し、下方向の視線を検出したらカーソルが下に移動する。このようにして上下左右にカーソルを動かすことができるようにすると、入力操作者は入力要素の選択が楽になり、負担を減らすことができる。また、特に、図１４に示すような仮想キーボードで入力処理を行う場合は、入力要素が多いことからも、カーソルが上下左右に動くことで、入力効率を格段に上げることができる。
【００８３】
さらにまた、上下左右以外にも、視線方向の違いを明確に検出できる方向であればよい。例えば、斜め方向の検出や上と右方向の組み合わせでもよい。
さらにまた、図中には示していないが、モードを変更するキーを追加することで、入力モードと編集モードを切り替えることができる。入力モードは、上記のように文字をテキストに入力する。編集モードは、入力したテキストに対して文字の追加、削除、変更等の編集処理を行うことができる。
さらにまた、図１２及び図１３において、「右」、「左」の文字は必須の表示ではない。文字を見なくても右方向と左方向さえ検出できれば、上記操作は可能である。
【００８４】
（４  パラメータの設定）
本実施形態においては、入力操作者Ｍは自分に適した操作を行うために、処理パラメータを自由に設定することができる。以下にパラメータの設定の一部を例示する。
（１）瞬きによる入力要素の決定において、瞬きの回数を設定することができる。例えば、決定の場合は瞬き検出を２回に設定する。
（２）定期的に校正を行う場合に、その時間を設定することができる。例えば、環境が変化しやすい場合は精度が下がりやすくなる可能性があるため、時間を短めに設定して校正を多くする。本発明の場合は、最小で瞬きのみ、最大でも瞬きと上下左右の４方向の視線方向の校正だけで処理できるため、校正を多めに行っても入力操作者の負担はそれほど大きいものにならない。
（３）未操作の時間が所定の時間を越えた場合に、校正を行うように入力操作者Ｍに促すが、その未操作の時間を設定することができる。
（４）眼球周辺画像ｍを取得する際の枠のサイズと位置を設定することができる。例えば、入力操作者の顔は人それぞれで異なっており、人によっては目の位置が上方にあったり下方にあったりして、眼球周辺画像が正確に取得できない場合があるが、枠のサイズと位置を調整することで、正確に眼球周辺画像を取得することができる。
（５）校正が終了したら自動で入力モードにするか、モード変更のキーによりモードの設定を行うかどうかを設定することができる。
（６）校正が終了したら自動でテキストファイル（ＮＯＴＥＰＡＤ等）を起動するかしないかを設定することができる。
（７）カメラのキャプチャサイズを設定することができる。通常は６４０×４８０に設定しておくが、処理が遅い場合は３２０×２４０に設定することができる。
（８）カメラのキャプチャインターバルを設定することができる。
（９）頻繁に起動するアプリケーションをショットカットで設定することができる。
【００８５】
以上は、パラメータの設定の一部を例示したものである。
なお、パラメータの設定は上記のみならず、様々な操作環境に対応して設定することができる。つまり、入力操作者や操作環境に対応して装置をカスタマイズすることができ、入力操作者の負担を大きく軽減することができる。
【００８６】
（本発明の第２の実施形態）
（１  構成と機能）
図１５は、本実施形態に係る視線入力装置１００全体のモジュール構成図である。第１の実施形態と異なる点は、音声出力処理部２６０を新たに備えた点である。
音声出力処理部２６０は、入力操作者Ｍが入力した文字を音声として出力する処理を行う。重度の筋萎縮性側策硬化症患者（ＡＬＳという）には、肢体不自由なだけではなく、言語を発することができない患者が多い。そのため、人とのコミュニケーションにおいては上記のように文字を入力して行うが、本実施形態では、その文字が音声として出力されるため、音によるコミュニケーションを図ることができる。音でコミュニケーションが図れることで、入力操作者Ｍは安心感と得ることができ、また、コミュニケーションにおいて解読する行為を行わなくてよいため、楽に行うことができる。
【００８７】
このように、本発明によれば、視線方向を検出する処理を極端に簡素化することで、校正に必要な処理と時間を削減し、入力操作者の肉体的、精神的な負担を軽減することができると共に、高い精度で視線入力処理を行うことができるため、校正自体の回数も削減することが可能となる。
【００８８】
以上の前記各実施形態により本発明を説明したが、本発明の技術的範囲は実施形態に記載の範囲には限定されず、これら各実施形態に多様な変更又は改良を加えることが可能である。そして、かような変更又は改良を加えた実施の形態も本発明の技術的範囲に含まれる。このことは、特許請求の範囲及び課題を解決する手段からも明らかなことである。
【図面の簡単な説明】
【００８９】
【図１】第１の実施形態に係る視線入力装置のハードウェア構成を示した模式図である。
【図２】第１の実施形態に係る視線入力装置全体のモジュール構成図である。
【図３】前処理部のモジュール構成図である。
【図４】瞬き登録処理部のモジュール構成図である。
【図５】第１の実施形態に係る視線入力装置の処理を示すフローチャートである。
【図６】前処理に関する詳細なフローチャートである。
【図７】瞬きの登録処理に関する詳細なフローチャートである。
【図８】入力操作者Ｍの顔画像である。
【図９】視線方向の登録を行う様子を示した模式図である。
【図１０】肌色の色相分布を示したグラフである。
【図１１】瞬きの登録を行う様子を示す図である。
【図１２】視線入力装置のディスプレイに表示された表示画面の一例である。
【図１３】図１２の表示画面が切り替えられた場合の入力要素の表示画面の一例である。
【図１４】キーボードの図である。
【図１５】第２の実施形態に係る視線入力装置全体のモジュール構成図である。
【符号の説明】
【００９０】
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  ＨＤＤ
１０５  ＣＤ−Ｒドライブ
１０６  カメラ
１０７  ディスプレイ
１０８  スピーカー
１０９  ＬＡＮ  Ｉ／Ｆ
１００  視線入力装置
１１０  視線入力装置本体
１２０  ＣＤ−ＲＯＭ
２１０  前処理部
２２０  瞬き検出処理部
２３０  視線検出処理部
２４０  表示制御処理部
２４１  切替表示処理部
２４２  入力要素決定処理部
２４３  カーソル移動制御部
２４４  カーソル速度制御部
２５０  画面表示処理部
２６０  音声出力処理部
２６５  スピーカー
３１０  眼球周辺画像取得処理部
３２０  登録処理部
３２１  右視線方向登録処理部
３２２  左視線方向登録処理部
３２３  瞬き登録処理部
４１０  肌色検出処理部
４２０  画素値平均算出処理部
４３０  輝度算出処理部
４４０  閾値決定処理部
【図１】
0005077879.tif 000003
【図２】
0005077879.tif 000004
【図３】
0005077879.tif 000005
【図４】
0005077879.tif 000006
【図５】
0005077879.tif 000007
【図６】
0005077879.tif 000008
【図７】
0005077879.tif 000009
【図８】
0005077879.tif 000010
【図１０】
0005077879.tif 000011
【図１２】
0005077879.tif 000012
【図１３】
0005077879.tif 000013
【図１４】
0005077879.tif 000014
【図１５】
0005077879.tif 000015
【図９】
0005077879.tif 000016
【図１１】
0005077879.tif 000017