(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の視線入力方法では、利用者の意図に応じて素早く的確に位置決めすることが難しい、という問題点があった。
【0007】
例えば、特許文献1の視線入力方法では、視線方向が右か左かを読み取って、画面上に並んだ入力要素において一つずつ順次カーソル移動させるものであり、カーソルが移動しなければならない入力要素の数に比例して時間がかかる。この特許文献1には、瞬きの回数や、同一方向に視線を向けることで、カーソルの移動速度が加速する方法も記載されているが、加速したカーソルを目的の入力要素に位置決めしようとすると誤操作を招きやすい、という問題点があった。
【0008】
同様に、特許文献2の視線入力方法にも、視線を3秒以上同一方向に向けることにより画面スクロール速度を高速化する記述があるものの、利用者は一定時間、比較的低速なスクールで視線を維持しなければならならず、しかも、一旦高速化したスクロール速度で目的の場所に位置決めしようとすると誤操作を招きやすい、という問題点があった。
【0009】
本発明は上記の問題点に鑑みてなされたものであり、利用者の意図に即して素早く的確に位置決めすることができる、視線入力装置、視線入力方法、および、視線入力プログラムを提供するものである。
【課題を解決するための手段】
【0010】
このような目的を達成するため、本発明の視線入力装置は、表示画面または音像に表現された入力要素に対する、利用者の視線入力を支援する視線入力装置であって、前記利用者の注視点または眼球回転運動を検出する検出手段と、前記検出手段により検出される前記注視点から、前記表示画面もしくは前記音像における所定位置に対する方向へ、または、前記検出手段により検出される眼球回転運動に応じて、前記入力要素を移動させる移動制御手段と、を備え、前記移動制御手段は、前記注視点が前記所定位置から遠いときほど又は前記眼球回転運動の回転角が大きいほど前記入力要素の移動速度を大きくし、前記注視点が前記所定位置に近づくほど又は前記回転角が小さいほど前記移動速度を零に近づけることを特徴とする。
【0011】
また、本発明の視線入力装置は、上記の視線入力装置において、所定の条件を満たした場合に、前記所定位置近傍の前記入力要素に対応する入力を決定する入力決定手段、を更に備えたことを特徴とする。
【0012】
また、本発明の視線入力装置は、上記の視線入力装置において、前記入力決定手段は、前記所定の条件として、1)前記所定位置を含む所定領域内に前記入力要素の代表点が入った状態、2)前記所定位置に前記入力要素の領域が重なった状態、および、3)前記所定領域と前記入力要素の領域が重なった状態、のうち少なくとも一つの状態となった場合にカウントを開始し、当該状態が一定時間継続した場合に、当該入力要素に対応する入力を決定することを特徴とする。
【0013】
また、本発明の視線入力装置は、上記の視線入力装置において、前記移動制御手段は、前記入力決定手段は、前記所定の条件として、手、もしくは、指、足の動き、または、瞼の開閉動作を含む、体の一部に所定の動作があった場合に、前記所定の条件を満たすと判定して、前記入力要素に対応する入力を決定することを特徴とする。
【0014】
また、本発明の視線入力装置は、上記の視線入力装置において、前記移動制御手段は、1)前記注視点と前記所定位置との距離または前記回転角に比例して前記移動速度が大きくなる方式、2)前記1)の方式において、前記距離または前記回転角が所定の閾値を超えると比例定数が大きくなる方式、および、3)前記距離または前記回転角の自乗に比例して前記移動速度が大きくなる方式、のうちいずれか一つの方式にて移動制御を行うことを特徴とする。
【0015】
また、本発明の視線入力装置は、上記の視線入力装置において、前記入力要素は、文字に対応した要素であって、前記表示画面には仮想キーボードが表示されることを特徴とする。
【0016】
また、本発明の視線入力装置は、上記の視線入力装置において、前記入力要素は、前記移動速度の設定、表示サイズの設定、入力切替、および、前記一定時間の設定のうち少なくとも一つに関する要素であることを特徴とする。
【0017】
また、本発明の視線入力装置は、上記の視線入力装置において、所定の条件を満たした場合に、前記表示画面または前記音像における拡大または縮小を行う入力決定手段を備えたことを特徴とする。
【0018】
また、本発明の視線入力装置は、上記の視線入力装置において、所定の条件を満たした場合に、所定の遠隔操作を実行する入力決定手段を備えたことを特徴とする。
【0019】
また、本発明の視線入力装置は、上記の視線入力装置において、前記入力決定手段は、前記状態となった場合であっても、前記注視点の速度が所定の閾値以上の場合、または、前記所定位置からの前記注視点の距離が所定の閾値以上の場合、カウントを開始しないことを特徴とする。
【0020】
また、本発明の視線入力装置は、上記の視線入力装置において、前記移動制御手段は、前記検出手段により検出される眼球回転運動に応じて推定される注視点から、前記所定位置に対する方向へ、前記入力要素を移動させることを特徴とする。
【0021】
また、本発明の視線入力方法は、表示画面または音像に表現された入力要素に対する、利用者の視線入力を支援するための、コンピュータにおいて実行される視線入力方法であって、前記利用者の注視点または眼球回転運動を検出する検出ステップと、前記検出ステップにて検出される前記注視点から、前記表示画面もしくは前記音像における所定位置に対する方向へ、または、前記検出ステップにて検出される眼球回転運動に応じて、前記入力要素を移動させる移動制御ステップと、を含む視線入力方法であって、前記移動制御ステップにおいて、前記注視点が前記所定位置から遠いときほど又は前記眼球回転運動の回転角が大きいほど前記入力要素の移動速度を大きくし、前記注視点が前記所定位置に近づくほど又は前記回転角が小さいほど前記移動速度を零に近づけることを特徴とする。
【0022】
また、本発明の視線入力プログラムは、表示画面または音像に表現された入力要素に対する、利用者の視線入力を支援する視線入力方法を、コンピュータに実行させるためのプログラムであって、前記利用者の注視点または眼球回転運動を検出する検出ステップと、前記検出ステップにて検出される前記注視点から、前記表示画面もしくは前記音像における所定位置に対する方向へ、または、前記検出ステップにて検出される眼球回転運動に応じて、前記入力要素を移動させる移動制御ステップと、を含み、前記移動制御ステップにおいて、前記注視点が前記所定位置から遠いときほど又は前記眼球回転運動の回転角が大きいほど前記入力要素の移動速度を大きくし、前記注視点が前記所定位置に近づくほど又は前記回転角が小さいほど前記移動速度を零に近づけることを特徴とする視線入力方法を、コンピュータに実行させることを特徴とする。
【発明の効果】
【0023】
本発明によれば、利用者の意図に即して素早く的確に位置決めすることができる、という効果を奏する。特に、注視点が所定位置から遠いときほど入力要素の移動速度を大きくし、注視点が所定位置に近づくと移動速度を零に近づけるので、離れている場合には素早く位置決めポイントに近づけつつ、近づいた場合には速度を落とし的確に位置決めすることができ、誤操作を防ぎつつ高速に位置決めを行うことができる。
【発明を実施するための形態】
【0025】
以下に、本発明の本実施の形態にかかる視線入力装置、視線入力方法、および、視線入力プログラム、並びに、記録媒体の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【0026】
[視線入力装置100の構成]
まず、以下、本発明にかかる本実施の形態の視線入力装置の構成について説明し、その後、本実施の形態の処理等について詳細に説明する。ここで、
図1は、本実施の形態にかかる視線入力装置100の構成の一例を示すブロック図であり、該構成のうち本実施の形態に関係する部分のみを概念的に示している。
【0027】
図1において、視線入力装置100は、概略的に、視線入力装置100の全体を統括的に制御するCPU等の制御部102、通信回線等に接続されるルータ等の通信装置(図示せず)に接続される通信制御インターフェイス部104、視線検出等のための検出部112や表示部114に接続される入出力制御インターフェイス部108、および、各種のデータベースやテーブルなどを格納する記憶部106を備えて構成されており、これら各部は任意の通信路を介して通信可能に接続されている。
【0028】
記憶部106に格納される各種のデータベースやテーブル(入力ファイル106aや設定ファイル106b等)は、固定ディスク等のストレージ手段であり、各種処理に用いる各種のプログラムやテーブルやファイルやデータベースやウェブページ等を格納する。
【0029】
このうち、入力ファイル106aは、入力された文字等のデータを記憶する入力データ記憶手段である。例えば、入力ファイル106aは、視線入力によって入力決定された文字入力要素に対応する文字データ(テキストデータ等)を記憶してもよい。
【0030】
また、設定ファイル106bは、設定された各種の設定情報を記憶する設定情報記憶手段である。例えば、設定ファイル106bは、移動速度の設定情報、表示サイズの設定情報、入力切替情報(例えば、ひらがな入力かアルファベット入力かの設定状態等)、および、入力決定のためのカウント時間(一定時間等)の設定情報等を記憶してもよい。
【0031】
また、
図1において、入出力制御インターフェイス部108は、視線検出等の検出部112や表示部114の制御を行う。検出部112としては、通常の可視光用カメラや赤外線カメラ等の撮像装置、公知の視線検出装置または注視点測定装置、公知の眼球運動検出装置や眼球運動測定装置、発光集光装置等を用いることができる。一例として、トビー・テクノロジー社製アイトラッカーや株式会社ジェイアイエヌ社製のMEMEを検出部112として用いてもよい。また、表示部114としては、モニタ(家庭用テレビやPC用スクリーンモニタ等を含む)等を用いることができる。ここで、検出部112は、視線検出や眼球運動検出を行うことに限られず、手や、指、足の動き、瞼の開閉動作などの体の一部の動作を検出してもよい。例えば、検出部112は、カメラや赤外線センサ等の任意の検出手段によって、人物の動きを認識してもよい。一例として、検出部112は、公知のジェスチャー認識技術や、公知のモーションセンサ等を用いて利用者の動きを検出してもよい。ジェスチャーは、物理空間における利用者の位置および動きから得ることができ、手指や腕や脚の動き、または静止姿勢というような、動的または静的な、任意の利用者の動きを含むことができる。本実施の形態の一例として、検出部112において、カメラのようなキャプチャー・デバイスが、ユーザー画像データを取り込み、このユーザー画像データから、利用者のジェスチャー(1つまたは複数)を認識してもよい。より具体的には、検出部112は、コンピュータ環境を使用して、利用者の三次元物理空間において利用者によって行われたジェスチャーを認識および分析し、解釈した利用者の動作データや属性データ等または解析前ローデータを、視線入力装置100に送信してもよい。一例として、検出部112は、ある方向を指さす動き、ある方向に手を押し出す動き、ある方向に脚を蹴り上げる動き、瞼を開閉する動きを認識してもよい。
【0032】
公知のモーション認識手段の一例として、マイクロソフト社製Xbox One用モーションセンサのKinectセンサを用いてもよい。Kinect技術によれば、全身骨格のスケルトン動作データや属性データを得ることができる。なお、公知のモーションセンサでは、センサ内蔵の制御手段を用いて人物の動きや属性が解析されるか、あるいは、接続されたコンピュータの制御手段にて人物の動きや属性が解析されるが、本実施の形態はいずれであってもよく、例えば、これら解析機能を、検出部112の制御手段(プロセッサ等)により実現してもよく、空間音響生成装置100の制御手段(後述する音源算出部102b等)により実現してもよく、あるいは両者の制御手段により解析機能を実現してもよい。このほか、検出部112は、タッチパッドやタッチパネルやマイク等の検出手段を更に備えてもよい。また、検出部112は、直接、人の身体を検出することに限られず、Facebook社製Oculus RiftのOculus Touchコントローラのように、利用者が装着したコントローラや標識(例えば二次元コードタグ)等の動きを検出することによって、間接的に、身体の動きを検出してもよいものである。なお、表示部114にスピーカーが付属されていてもよい。ここで、本発明は、表示部114による表示出力の代わりに、複数のスピーカー等によるマルチチャンネル出力によって音像出力を行ってもよいものである。なお、視線入力装置100は、入力決定のトリガー時間や、ズーム率や、所定位置となる原点座標、コマンド領域等を初期設定するために、キーボードやマウス等の入力手段を備えていてもよく、入出力制御インターフェイス部108は、入力手段の制御を行ってもよい。
【0033】
また、
図1において、制御部102は、OS(Operating System)等の制御プログラム、各種の処理手順等を規定したプログラム、および所要データを格納するための内部メモリを有し、これらのプログラム等により、種々の処理を実行するための情報処理を行う。制御部102は、機能概念的に、表示制御部102a、注視点検出部102c、および、入力決定部102dを備えて構成されている。
【0034】
このうち、表示制御部102aは、表示部114の表示制御を行う表示制御手段である。例えば、表示制御部102aは、表示部114の表示画面に入力要素を表示させる制御を行う。一例として、表示制御部102aは、各文字に対応するキーを入力要素として表示させて、仮想キーボードが表示部114に表示されるよう制御してもよい。ここで、
図2は、表示制御部102aにより表示される仮想キーボードの一例を示す図である。
【0035】
図2に示すように、一例として、表示制御部102aは、仮想キーボードとして、列と行によって構成されるカスタマイズ可能な文字盤を表示させてもよい。なお、斜線は、文字「9」のコマンド領域を示しており、後述する入力決定部102dの制御により、文字選択が可能な範囲を表している。なお、
図2に示すように、各文字キーの中心に、赤色等の点を表示することにより、利用者にとって視点を誘導しやすいようにしてもよい。
【0036】
ここで、入力要素は、文字以外にも、種々の選択可能な要素であってもよい。例えば、後述する移動制御部102bによる移動速度や、表示サイズ(ズーム率)や、入力切替(アルファベット入力/かな入力の切り替え等)、入力決定部102dによる入力決定の時間などを設定するための入力要素を、
図2の文字盤上のキーに割り当ててもよい。このほか、表示制御部102aは、入力要素として、ショートカットキーや、アプリケーション起動用アイコン、ウェブサイト上のリンク、画像表示用のサムネイル等を表示させてもよい。なお、このような入力要素や、入力要素を決定した際のデータ(画像データやリンク先データ等)は、予め記憶部106の入力ファイル106aに記憶されていてもよく、ネットワーク300を介して、外部システム200よりダウンロードしてもよいものである。なお、本実施の形態においては、表示制御部102aが、表示出力を行う例について説明するが、本発明は、これに限られない。例えば、表示出力を行う代わりに、制御部102は、スピーカー等からの音像出力を制御してもよいものである。例えば、制御部102は、スピーカーを制御して、入力要素の音(例えば、「A」という音声)を音方位性をもって出力させてもよい。
【0037】
ここで、
図1に示すように、表示制御部102aは、更に、移動制御部102bを備える。移動制御部102bは、注視点検出部102cにより検出される注視点や眼球回転運動に基づいて、入力要素等を移動させる移動制御手段である。例えば、移動制御部102bは、注視点検出部102cにより検出される注視点から、表示画面上の所定位置に対する方向へ、入力要素等を移動させてもよい。また、他の例として、移動制御部102bは、注視点検出部102cにより検出される眼球回転運動に応じて推定される注視点から、所定位置に対する方向へ、入力要素を移動させてもよい。なお、移動させる対象は、表示要素に限られず、音がどの方向から来るか、という認識にかかる音像を移動させてもよい。ここで、移動制御部102bは、注視点が所定位置から遠いときほど入力要素等の移動速度を大きくし、注視点が所定位置に近づくほど移動速度を零に近づける移動制御を行ってもよい。同様に、移動制御部102bは、眼球回転運動の回転角が大きいほど入力要素の移動速度を大きくし、回転角が小さいほど移動速度を零に近づけてもよい。なお、移動制御部102bは、入力要素以外にも、入力要素の背景画像や、入力要素を含む小画面、あるいは表示画面全体を、入力要素と併せて移動させてもよい。
【0038】
ここで、
図3は、表示部114の表示画面、注視点、および、所定位置の位置関係と、コマンド版の移動方向を模式的に示した図である。図中の十字マークは、所定位置を示し、この例では、表示画面の中央に配置されている。また、図中の丸印は、注視点検出部102cにより検出された注視点の位置を示している。なお、所定位置や注視点を示すマークは、表示制御部102aにより表示されてもよく、表示されなくともよい。
【0039】
図3の矢印で示すように、移動制御部102bは、注視点検出部102cにより検出される注視点から、表示画面上の所定位置に対する方向へ、入力要素等を移動させる移動制御を行う。ここで、図中の矢印ベクトルの向きは、注視点から所定位置に対する方向を表している。なお、この矢印は、移動方向を説明するために便宜的に表したものであり、通常、表示画面上には表示されない。また、図中の市松模様で、複数のコマンド領域を含むコマンド版を表している。すなわち、このコマンド版は、上述した
図2の仮想キーボードの一部に対応する。この図では、16文字分のキーに相当する文字盤が示されている。そして、移動制御部102bの制御により、このコマンド版の移動制御を行うことは、前述した仮想キーボード全体の移動制御を行うことに相当する。この図では、移動制御部102bの制御にて、矢印の方向に移動することで、表示されていなかったコマンド領域が出現することになる。
【0040】
図3の矢印の長さは、注視点検出部102cにより検出された注視点から、所定位置までの距離を表しており、上述のとおり、移動制御部102bは、この距離が大きいときほど入力要素等の移動速度を大きくし、この距離が小さくなるほど移動速度を零に近づける移動制御を行う。ここで、
図4は、横軸で、注視点と所定位置の距離を示し、縦軸で、移動速度を示したグラフ図である。
【0041】
一例として、
図4のグラフ線A(比例直線)に示すように、移動制御部102bは、注視点と所定位置(表示画面の中心点や原点等)の距離に比例して、移動速度が大きくなるように移動制御を行ってもよい。また、他の例として、グラフ線B(多段階比例直線)に示すように、移動制御部102bは、距離に閾値(図中の破線)を設け、距離が所定の閾値を超えると比例定数が大きくなるように移動制御を行ってもよい。また、グラフ線C(二次関数)に示すように、移動制御部102bは、距離の自乗に比例して、移動速度が大きくなるように移動制御を行ってもよい。
【0042】
以上、グラフ線A〜Cを一例として示したように、移動制御部102bは、距離が短くなると、その距離に応じて、文字盤等のコマンド版をスライドさせる移動速度をスピードダウンさせる。これにより、所定位置から離れている場合には素早く位置決めポイント(所定位置)に近づけることができ、かつ、所定位置に近づいた場合には移動速度を落として的確に位置決めすることができるので、高速かつ誤操作の少ない位置決めを実現することができる。なお、距離と移動速度の関数は、注視点が所定位置に近づくと移動速度が零に近づく関数であれば、上記A〜Cの一次関数や二次関数に限られない。例えば、指数関数や四次関数、三角関数等であってもよい。また、上記では、距離と移動速度の関係について説明したが、眼球の回転角度と移動速度についても、「距離」を「回転角」と読み替えることによって同様に適用することができる。なお、回転角は、所定位置の方向を0°として、視線の方向との角度であってもよい。
【0043】
再び
図1に戻り、注視点検出部102cは、検出部112を介して、利用者の注視点または眼球回転運動を検出する注視点検出手段である。ここで、注視点検出部102cは、検出部112の機能により、直接、注視点または眼球の回転角を検出することに限られず、カメラなどの撮像手段等の検出部112を制御して、公知の手段で、利用者の眼球付近の画像から、注視点や回転角を算出してもよい。なお、制御部102cの一部機能と検出部112が一体として、注視点検出手段を構成してもよく、制御部102cまたは検出部112が単独で、注視点検出手段として構成されてもよいものである。注視点の検出には、公知の注視点検出手段や公知の注視点算出方法を用いてもよい。また、注視点検出部102cは、検出部112を制御して視線を検出し、検出された視線と、表示部114の表示画面平面との交点を注視点として算出してもよい。
【0044】
さらに、注視点検出部102cは、検出部112を制御して眼球運動や眼球位置あるいは眼球状態を検出し、検出された眼球運動や眼球位置、眼球状態から、視線や注視点や回転角を導出してもよい。また、ここで、注視点検出部102cは、検出部112を制御して人物の眼球を撮像し、撮像された眼球に対する瞳の位置から視線や回転角を導出してもよい。例えば、画像上の動かない部分を基準点とし、動く部分を動点として、注視点検出部102cは、基準点に対する動点の位置に基づいて、視線を検出してもよい。ここで、公知の視線検出手法としては、基準点を目頭、動点を虹彩として位置関係から視線を判別する方法や、基準点を角膜反射、動点を瞳孔として、赤外線照射による角膜反射により得られる位置関係から視線を判別する方法等がある。
【0045】
また、
図1に示すように、入力決定部102dは、所定の条件で、入力を決定する入力決定手段である。例えば、入力決定部102dは、所定位置近傍に一定時間、入力要素があった場合に、当該入力要素に対応する入力を決定してもよい。ここで、入力要素が所定位置の近傍にある例として、1)所定位置を含む所定領域内に入力要素の代表点が入った状態、2)所定位置に入力要素の領域が重なった状態、3)所定領域と入力要素の領域が重なった状態のいずれか一つであってもよい。すなわち、入力決定部102dは、上記のいずれか一つの近傍状態になった場合に、カウントを開始し、この近傍状態が継続する限り、カウントを継続し、所定の一定時間に到達すると、該当入力要素にかかる入力を決定してもよい。このように、入力決定部102dは、1)所定位置を含む所定領域内に入力要素の代表点が一定時間入っていた場合、2)所定位置に入力要素の領域が一定時間重なっていた場合、および、3)所定領域と入力要素の領域が一定時間重なっていた場合のうち、いずれか一つの場合を入力決定のトリガーとしてもよい。ここで、入力決定部102dは、所定の状態となった場合であっても、注視点の速度が所定の閾値以上の場合や、所定位置からの注視点の距離が所定の閾値以上の場合、カウントを開始しないようにしてもよい。これにより、意図しない入力開始動作を避けることができる。
【0046】
ここで、入力の決定は、文字などの入力を決定することに限られず、地図などの拡大・縮小や、スクロールなどの入力を決定することも含まれる。例えば、入力決定部102dは、所定の条件を満たした場合に、表示画面または音像における拡大または縮小を行う入力の決定を行ってもよいものである。さらに、上記に限られず、入力決定部102dは、遠隔操作の入力決定を行ってもよい。例えば、入力決定部102dは、所定の条件を満たした場合に、ネットワーク300を介して、ロボットなどの外部装置200の遠隔操作を決定してもよいものである。
【0047】
また、
図1において、通信制御インターフェイス部104は、視線入力装置100とネットワーク300(またはルータ等の通信装置)との間における通信制御を行う。すなわち、通信制御インターフェイス部104は、他の端末(外部装置200等)と、通信回線(有線、無線を問わない)を介してデータを通信する機能を有する。
【0048】
すなわち、視線入力装置100は、ウェブページや画像データ等の入力要素や入力データに関する外部データベースや、視線入力処理プログラム等の外部プログラム等を提供する外部システム200と、ネットワーク300を介して通信可能に接続して構成されていてもよい。この視線入力装置100は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、ネットワーク300に通信可能に接続されていてもよい。
【0049】
ここで、
図1において、ネットワーク300は、視線入力装置100と外部システム200とを相互に接続する機能を有し、例えば、インターネット等である。
【0050】
また、
図1において、外部システム200は、ネットワーク300を介して、視線入力装置100と相互に接続され、利用者に対して画像データに関する外部データベースや視線入力プログラム等の外部プログラム等を実行するウェブサイトを提供する機能を有する。
【0051】
ここで、外部システム200は、WEBサーバやASPサーバ等として構成していてもよく、そのハードウェア構成は、一般に市販されるワークステーション、パーソナルコンピュータ等の情報処理装置およびその付属装置により構成していてもよい。また、外部システム200の各機能は、外部システム200のハードウェア構成中のCPU、ディスク装置、メモリ装置、入力装置、出力装置、通信制御装置等およびそれらを制御するプログラム等により実現される。
【0052】
[視線入力処理]
次に、このように構成された本実施の形態における視線入力装置100により実行される視線入力処理の一例について、以下に
図5を参照して詳細に説明する。
図5は、本実施の形態における視線入力処理の一例を示すフローチャートである。なお、予め表示制御部102aの処理により、表示部114の表示画面に入力要素等が表示されていることを前提とする。
【0053】
図5に示すように、まず、注視点検出部102cは、検出部112を介して、利用者の注視点を検出する(ステップSA−1)。より具体的には、注視点検出部102cは、入出力制御インターフェイス部108を介して検出部112を制御することにより、表示部114の表示画面を見ている利用者の視線や注視点を検出する。例えば、注視点検出部102cは、カメラ等の検出部112を介して取得した眼球周辺画像に基づいて、眼球上の基準点と動点を導き出して視線を算出し、視線と表示画面の位置関係から注視点を検出してもよい。このほか、注視点検出部102cは、公知の注視点検出手段や視線検出手段を用いて、注視点を検出してもよい。
【0054】
つづいて、移動制御部102bは、注視点検出部102cにより検出された注視点と、表示画面上の所定位置(画面中心等の原点座標等)との位置関係に基づいて、複数の入力要素を含む文字盤(コマンド版の一例)の移動方向と移動速度を決定する(ステップSA−2)。ここで、
図6は、文字盤において、原点座標(図中の十字マーク)と、検出された注視点座標(図中の大きい丸印)を示す図である。
【0055】
図6に示すように、所定位置である原点座標は、表示部114の画面の中心など、利用者の視線が配置しやすい場所や、注視点を置きやすい場所等に設定することが望ましい。なお、図上部に、入力決定した文字を表示するためのエリアを設けてもよい。
図6では、移動制御部102bは、注視点から原点座標に向かう方向(図に向かって略左方向)を移動方向として決定する。また、移動制御部102bは、注視点と原点座標との距離に応じた移動速度を決定する。例えば、移動制御部102bは、
図4を用いて上述したような所定の関数(一時関数や二次関数)に距離を代入することにより、移動速度を算出してもよい。
【0056】
再び
図5に戻り、移動制御部102bは、注視点に基づいて決定した移動方向と移動速度にて、複数の入力要素を含むコマンド版(例えば文字盤)を移動させる(ステップSA−3)。
【0057】
そして、入力決定部102dは、いずれかの入力要素が原点座標の近傍にあるか否かを判定する(ステップSA−4)。例えば、入力決定部102dは、以下のいずれか一つの場合に、近傍状態にあると判定してもよい。
1)原点座標を含む矩形領域内に入力要素の代表点が入った状態
2)原点座標に入力要素のコマンド領域が重なった状態
3)原点座標を含む矩形領域と入力要素のコマンド領域が重なった状態
【0058】
入力要素が原点座標の近傍にない場合(ステップSA−4,NO)、入力決定部102dは、カウントをリセットし(ステップSA−6)、ステップSA−1に処理を戻す。すなわち、視線入力装置100は、上述したステップSA−1〜SA−6の処理を繰り返す。
【0059】
一方、いずれかの入力要素が原点座標の近傍にある場合(ステップSA−4,YES)、入力決定部102dは、入力決定トリガーのカウントを開始させる(ステップSA−5)。なお、既にカウントが開始されている場合は、入力決定部102dは、カウントを継続させる。上述の
図6においては、文字「Y」のコマンド領域内に原点座標が入っているので、カウントがアクティブ(図中灰色)になっている。ここで、
図7は、文字「R」のコマンド領域内に原点座標が入ってカウントが開始されてから近傍状態がしばらく続いた場合の表示画面例を示す図である。
【0060】
この例では、上述した状態2)の原点座標に入力要素のコマンド領域が重なった状態であって、かつ、注視点も同じコマンド領域内にある場合に、カウントを継続している。
図7に示すように、カウントが開始されると、表示制御部102aは、円周に沿って円弧が伸びるタイマーを表示して、利用者に入力要素の選択状態であることを視覚的にフィードバックする。なお、この例では、円弧が一周してつながる時間と、入力決定トリガーの一定時間を一致させている。そのため、利用者は、タイマー表示により、入力決定(コマンド実行等)までの残り時間を把握することができる。
【0061】
再び
図5に戻り、入力決定部102dは、カウントが入力決定トリガーの一定時間に到達したか否かを判定する(ステップSA−7)。一定時間に到達していない場合は(ステップSA−7,NO)、ステップSA−1に処理を戻し、視線入力装置100は、上述したステップSA−1〜SA−7の処理を繰り返す。
【0062】
一方、カウントが入力決定トリガーの一定時間に到達した場合(ステップSA−7,YES)、入力決定部102dは、該当する入力要素にかかる入力を決定し、入力データを入力ファイル106aに格納する(ステップSA−8)。ここで、
図8は、カウントが一定時間に到達した場合の表示画面例を示す図である。
図8に示すように、文字「F」の入力要素のコマンド領域内に原点座標と注視点が一定時間とどまっていたので、「F」の入力コマンドが実行され、上部の入力文字表示エリアに「F」の文字が入力されている。なお、表示制御部102aは、入力要素が選択状態から入力決定状態に変わったことを示すために、当該入力要素のコマンド領域を選択状態の色(例えば赤色)から入力決定状態の色(例えば青色)に変更してもよい。表示制御部102aは、色に限らず、選択状態と入力決定状態を、斜線などの強調表示や音等の差異により、利用者にわかりやすくフィードバックしてもよい。
【0063】
以上が、本実施の形態にかかる視線入力処理の一例である。なお、一つの入力要素の入力決定が行われた後、視線入力装置100は、ステップSA−1に処理を戻して上述の処理を繰り返すことで、連続して入力要素を視線入力できるように制御してもよい。
【0064】
[視線入力処理の実施例]
つづいて、さらなる具体例として、視線入力装置100により実行される視線入力処理の実施例について、以下に
図9を参照して詳細に説明する。
図9は、本実施の形態における視線入力処理の実施例を示すフローチャートである。
【0065】
図9に示すように、まず、制御部102は、入力決定のためのマウスオーバー時間、表示のズーム率、原点座標、コマンド領域等の設定について、初期定義を行う(ステップSB−1)。なお、制御部102は、検出部112を介して利用者に初期設定させることに限られず、キーボードやマウス等の入力手段を介して利用者に初期設定させてもよい。なお、制御部102は、注視点検出部102cの注視点検出のキャリブレーション(校正)を実行してもよい。制御部102は、これら設定情報を設定ファイル106bに格納し、各種処理に利用する。
【0066】
そして、制御部102は、以下のSB−2〜SB−12のループ処理の実行を開始する(ステップSB−2)。
【0067】
ループ処理において、まず、注視点検出部102cは、検出部112を介して検出された利用者の視線に基づいて、その視線の先にある注視点の座標を算出する(ステップSB−3)。
【0068】
そして、移動制御部102bは、注視点検出部102cにより算出された注視点座標と原点座標との距離と角度に基づいて、文字盤コマンド版をスライドさせる方向と速度を算出する(ステップSB−4)。
【0069】
そして、移動制御部102bは、算出したスライド方向と速度に基づいて、文字盤コマンド版の座標を更新する(ステップSB−5)。
【0070】
そして、入力決定部102dは、原点座標と注視点座標の両方が、任意のコマンド領域に入ったか否かを判定する(ステップSB−6)。
【0071】
原点座標と注視点座標の両方が、いずれのコマンド領域にも入っていない場合は(ステップSB−6,NO)、制御部102は、時間カウントをリセットし(ステップSB−7)、新たなループ処理を開始する(ステップSB−12)。
【0072】
一方、原点座標と注視点座標の両方が、いずれかのコマンド領域に入った場合は(ステップSB−6,YES)、入力決定部102dは、時間カウントを行う(ステップSB−8)。
【0073】
そして、入力決定部102dは、時間カウントが初期定義したマウスオーバー時間を超えたか否かを判定する(ステップSB−9)。マウスオーバー時間を超えていない場合は(ステップSB−9,NO)、新たなループ処理を開始する(ステップSB−12)。
【0074】
一方、初期定義したマウスオーバー時間を時間カウントが超えている場合は(ステップSB−9,YES)、入力決定部102dは、コマンド領域に対応する該当コマンドを実行する(ステップSB−10)。
【0075】
そして、入力決定部102dは、時間カウントをリセットし(ステップSB−11)、新たなループ処理を開始する(ステップSB−12)。ここで、入力決定部102dは、時間カウントをリセットする代わりに、同じコマンドが連続して入力されないように、該当コマンドにフラグを立てて、フラグ情報を設定ファイル106bに記録してもよい。
【0076】
以上が、本実施の形態にかかる視線入力処理の実施例である。以上で、本実施の形態の説明を終える。
【0077】
[他の実施の形態]
さて、これまで本発明の実施の形態について説明したが、本発明は、上述した実施の形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてよいものである。
【0078】
例えば、視線入力装置100がスタンドアローンの形態で処理を行うよう説明したが、視線入力装置100がクライアント端末(外部装置200など)からの要求に応じて処理を行い、その処理結果を当該クライアント端末に返却するよう構成してもよいものである。
【0079】
また、検出処理は以上の説明に限られず、公知の視点検出手段を用いて実行されてもよい。例えば、両眼の輻輳角情報と視線位置情報からオブジェクトまでの距離と方向を計算することで、相対位置を取得し、より正確に注視点を計測するよう制御してもよい。また、人間の顔部分の画像に対して種々の画像処理を施して眼球部分および白目部分などの位置を検出し、目線方向の算出を行う公知の手法でもよく、操作者にゴーグルやヘッドギアといった専用の器具を装着させることによって、眼球の動きをより正確に検出する公知の手法を用いてもよい。
【0080】
また、眼球内部の反射を利用して視線方向を検出装置により直接計測してもよい。すなわち、視線方向から光などの電磁波が入射すると、眼球の網膜で反射し、視線方向(入射方向逆向き)へ反射され、検出装置等に到達する。しかし、視線方向以外から光等が入射しても、眼球の直径を通過しないので、入射方向逆向きに光等は反射しない。この性質を利用して、電磁波等発生装置と検出装置を組み合わせ、電磁波等発生位置と同位置に反射される電磁波等を検出することにより、視線または視点を検出してもよい。また、注視点検出部102cは、上記これらの処理や装置を任意に組み合わせて構成してもよい。
【0081】
また、実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【0082】
このほか、上記文献中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【0083】
また、視線入力装置100に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【0084】
例えば、視線入力装置100の各装置が備える処理機能、特に制御部102にて行われる各処理機能については、その全部または任意の一部を、CPU(Central Processing Unit)および当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、後述する、コンピュータに本発明に係る方法を実行させるためのプログラム化された命令を含む、一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じて視線入力装置100に機械的に読み取られる。すなわち、ROMまたはHDD(Hard Disk Drive)などの記憶部106などには、OS(Operating System)と協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部を構成する。
【0085】
また、このコンピュータプログラムは、視線入力装置100等に対して任意のネットワーク300を介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【0086】
また、本発明に係るプログラムを、コンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、USBメモリ、SDカード、フレキシブルディスク、光磁気ディスク、ROM、EPROM、EEPROM、CD−ROM、MO、DVD、および、Blu−ray(登録商標)Disc等の任意の「可搬用の物理媒体」を含むものとする。
【0087】
また、「プログラム」とは、任意の言語や記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OS(Operating System)に代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施の形態に示した各装置において記録媒体を読み取るための具体的な構成、読み取り手順、あるいは、読み取り後のインストール手順等については、周知の構成や手順を用いることができる。プログラムが、一時的でないコンピュータ読み取り可能な記録媒体に記録されたプログラム製品として本発明を構成してもよい。
【0088】
記憶部106に格納される各種のデータベース等(入力ファイル106a、設定ファイル106b等)は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
【0089】
また、視線入力装置100は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置として構成してもよく、また、該情報処理装置に任意の周辺装置を接続して構成してもよい。また、視線入力装置100は、該情報処理装置に本発明の方法を実現させるソフトウェア(プログラム、データ等を含む)を実装することにより実現してもよい。
【0090】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。