(57)【要約】【課題】視線キャリブレーションにかかる負荷を利用者に意識させることなく実行させる方法を提案する。【解決手段】表示画面に表示され所定の入力を実行するためのオブジェクトに対する操作者の操作を検出する操作検出部と、前記表示画面に注がれる前記操作者の視線の移動を検出する視線検出部と、前記オブジェクトに対する前記操作者の操作中に検出される前記視線の移動に基づいて、前記操作者が視線入力を行う場合の誤差を補正するための補正係数を取得する補正係数取得部と、を備える、情報処理装置。【選択図】図５
2015152939.tif 000002
【特許請求の範囲】
【請求項１】
表示画面に表示され所定の入力を実行するためのオブジェクトに対する操作者の操作を検出する操作検出部と、
前記表示画面に注がれる前記操作者の視線の移動を検出する視線検出部と、
前記オブジェクトに対する前記操作者の操作中に検出される前記視線の移動に基づいて、前記操作者が視線入力を行う場合の誤差を補正するための補正係数を取得する補正係数取得部と、
を備える、情報処理装置。
【請求項２】
前記操作者により操作される前記オブジェクトの第１遷移情報と、前記操作者の操作中の前記視線の第２遷移情報との相関関係を取得する相関関係取得部を更に備え、
前記補正係数取得部は、取得された前記相関関係に基づいて前記補正係数を取得する、
請求項１に記載の情報処理装置。
【請求項３】
前記補正係数取得部は、
前記オブジェクトの第１遷移情報と前記視線の第２遷移情報の相関関係が近い場合には、前記第１遷移情報及び前記第２遷移情報を前記補正係数を取得するためのデータとし、
前記第１遷移情報と前記第２遷移情報の相関関係が近くない場合には、前記第１遷移情報及び前記第２遷移情報を前記補正係数を取得するためのデータとしない、
請求項２に記載の情報処理装置。
【請求項４】
前記相関関係取得部は、
前記第１遷移情報と前記第２遷移情報を組み合わせて相互相関関数を求め、
求めた前記相互相関関数の最大値が所定閾値以上である場合には、前記第１遷移情報と前記第２遷移情報の相関関係が近いと判定し、
前記相互相関関数の最大値が所定閾値未満である場合には、前記第１遷移情報と前記第２遷移情報の相関関係が近くないと判定する、
請求項３に記載の情報処理装置。
【請求項５】
前記相関関係取得部は、前記相互相関関数として正規化した相互相関関数を用いる、
請求項４に記載の情報処理装置。
【請求項６】
前記相関関係取得部は、
前記表示画面に注がれる視線の視線位置と、前記オブジェクトの重心位置との間の距離を求め、
前記距離が所定閾値以下の場合には、前記オブジェクトの前記第１遷移情報を用いて前記相互相関関数を求める、
請求項４に記載の情報処理装置。
【請求項７】
前記相関関係取得部は、前記オブジェクトの移動量が所定閾値以下の場合には、前記オブジェクトの前記第１遷移情報を用いた相互相関関数を求めない、
請求項４に記載の情報処理装置。
【請求項８】
前記操作者によって操作されるべき前記オブジェクトにアニメーションを付加する表示制御部を更に備える、
請求項１に記載の情報処理装置。
【請求項９】
前記表示画面において前記操作者が注目する領域を推定する領域推定部を更に備え、
前記相関関係取得部は、推定した領域内において前記操作者により操作される前記オブジェクトの第１遷移情報と、前記操作者の操作中の前記視線の第２遷移情報との相関関係を取得する、
請求項２に記載の情報処理装置。
【請求項１０】
前記補正係数を取得するために有効な前記第１遷移情報と前記第２遷移情報のデータ数に応じて、前記操作者による入力操作を切り替える操作切替部を更に備える、
請求項３に記載の情報処理装置。
【請求項１１】
表示画面に表示され所定の入力を実行するためのオブジェクトに対する操作者の操作を検出することと、
前記表示画面に注がれる前記操作者の視線の移動を検出することと、
前記オブジェクトに対する前記操作者の操作中に検出される前記視線の移動に基づいて、前記操作者が視線入力を行う場合の誤差を補正するための補正係数を取得することと、
を含む、情報処理方法。
【請求項１２】
コンピュータに、
表示画面に表示され所定の入力を実行するためのオブジェクトに対する操作者の操作を検出することと、
前記表示画面に注がれる前記操作者の視線の移動を検出することと、
前記オブジェクトに対する前記操作者の操作中に検出される前記視線の移動に基づいて、前記操作者が視線入力を行う場合の誤差を補正するための補正係数を取得することと、
を実行させるための、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
人の視線を検出する技術として、例えば、赤外線等を利用者の眼球に照射して、角膜表面における反射像の位置から得られる角膜曲率中心と瞳孔中心から視線を検出するものがある。この技術を利用することで、利用者が注視するディスプレイ上の位置を判定することができる。
【０００３】
ところで、角膜表面における反射像を利用して検出される視線によって判定されるディスプレイ上の位置と、実際に利用者が注視している位置との間には誤差が生じる場合がある。このような誤差を補正するために、視線キャリブレーションが行なわれ、誤差を埋める補正係数が算出される（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−６５７８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、視線キャリブレーションは、例えばディスプレイに複数の注視点を順次表示させて、利用者に注視点を注視させるように促すため、利用者にかかる負担が大きくなりやすい。
【０００６】
そこで、本開示は、視線キャリブレーションにかかる負荷を利用者に意識させることなく実行させる方法を提案する。
【課題を解決するための手段】
【０００７】
本開示によれば、表示画面に表示され所定の入力を実行するためのオブジェクトに対する操作者の操作を検出する操作検出部と、前記表示画面に注がれる前記操作者の視線の移動を検出する視線検出部と、前記オブジェクトに対する前記操作者の操作中に検出される前記視線の移動に基づいて、前記操作者が視線入力を行う場合の誤差を補正するための補正係数を取得する補正係数取得部と、を備える、情報処理装置が提供される。
【０００８】
また、本開示によれば、表示画面に表示され所定の入力を実行するためのオブジェクトに対する操作者の操作を検出することと、前記表示画面に注がれる前記操作者の視線の移動を検出することと、前記オブジェクトに対する前記操作者の操作中に検出される前記視線の移動に基づいて、前記操作者が視線入力を行う場合の誤差を補正するための補正係数を取得することと、を含む、情報処理方法が提供される。
【０００９】
また、本開示によれば、コンピュータに、表示画面に表示され所定の入力を実行するためのオブジェクトに対する操作者の操作を検出することと、前記表示画面に注がれる前記操作者の視線の移動を検出することと、前記オブジェクトに対する前記操作者の操作中に検出される前記視線の移動に基づいて、前記操作者が視線入力を行う場合の誤差を補正するための補正係数を取得することと、を実行させるための、プログラムが提供される。
【発明の効果】
【００１０】
以上説明したように本開示によれば、視線キャリブレーションにかかる負荷を利用者に意識させることなく実行させることが可能となる。
【図面の簡単な説明】
【００１１】
【図１】視線検出の一例を説明するための模式図である。
【図２】赤外線による視線検出の際に用いられる装置を示す図である。
【図３】比較例に係るキャリブレーションを説明するための模式図である。
【図４】比較例に係るキャリブレーションの手順を示すフローチャートである。
【図５】本開示の一実施形態に係る情報処理装置の機能構成の一例を示すブロック図である。
【図６】操作オブジェクトを含むＵＩ操作用の表示画面の一例を示す図である。
【図７】二つの時系列データの関数の波形が類似して場合の相互相関関数を説明するための図である。
【図８】二つの時系列データの関数の波形が類似していない場合の相互相関関数を説明するための図である。
【図９】操作オブジェクトを含む表示画面に対するサリエンシーマップの一例を示す図である。
【図１０】一実施形態に係る情報処理装置の動作の一例を示すフローチャートである。
【図１１】視線位置と操作オブジェクトの重心位置との間の距離を示す図である。
【図１２】情報処理装置のハードウェア構成の一例を示した説明図である。
【図１３】サーバに設けられた情報処理装置の機能構成の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１３】
なお、説明は以下の順序で行うものとする。
１．視線検出及びキャリブレーション
１−１．視線検出の概要
１−２．比較例に係るキャリブレーションついて
２．第１の実施形態
２−１．情報処理装置の構成
２−２．情報処理装置の動作
３．第２の実施形態
４．ハードウェア構成
５．まとめ
【００１４】
＜１．視線検出及びキャリブレーション＞
（１−１．視線検出の概要）
ユーザの視線を検出する方法として、様々な方式が提案されている。
【００１５】
図１は、視線検出の一例を説明するための模式図である。ここでは、図１に示すように、ユーザの目が、情報機器１０の表示部１１の表示画面を見ているものとする。まず、情報機器１０は、ユーザの目に赤外線を照射する。次に、情報機器１０は、赤外線の反射光をカメラ等の撮像部１３で撮像する。これにより、ユーザがどこを見ているか、すなわち視線を検出、追跡できる。ここで、視線は、ユーザの目が見ている表示部１１内の点を意味する。
【００１６】
なお、図１では、ユーザの目に赤外線を直接照射するように示されているが、例えばユーザが図２に示すようなメガネ型の装置２０を装着することとしても良い。図２は、赤外線による視線検出の際に用いられる装置２０の一例を示す図である。
【００１７】
上記では、赤外線を用いて視線を検出する例を説明したが、これに限定されない。例えば、赤外線を照射させずに、撮像部が撮像した撮像画像のみで視線を検出、追跡する方法もある。
【００１８】
また、視線の推定方法としては、例えば眼球の３次元モデルを用いて視線を推定する方法がある。この視線の推定方法は、以下のように行なわれる。
【００１９】
まず、撮像部で撮像された眼球画像等を用いて表示画面に対する眼球の位置と向き（光軸、眼軸）を検出する。次に、検出された眼球の位置と向きから、ユーザの視線（視軸）とのずれ（誤差）を補正（すなわち、光軸と視軸の間の誤差を補正）し、推定する。次に、視軸と表示画面の交点から表示画面内でユーザが見ている点を推定する。
【００２０】
（１−２．比較例に係るキャリブレーションついて）
ところで、視線を精度良く追跡するためには、光軸と視軸の誤差を正しく補正することが重要である。すなわち、個人の目の違い（眼球の大きさ、曲率半径など）や、撮像デバイスの違い（具体的には、撮像デバイスと表示画面の位置関係など）を補正するため、いわゆるキャリブレーションが行なわれる。
【００２１】
ここで、キャリブレーションとは、ユーザに特定の場所を見るように指示し、その時の目の状態を記録することで、誤差を補正するものである。このキャリブレーションにより、個人の目の違いや撮像デバイスの違いに起因する、視線の位置と向き（視軸）と表示画面の交点と、ユーザが表示画面上で見ている点との誤差を修正する。
【００２２】
図３は、比較例に係るキャリブレーションを説明するための模式図である。図３に示す比較例においては、表示部１１の表示画面に注視点を一つずつ順番に５つ表示させ、ユーザに注視点Ｐ１〜Ｐ５を注視するように促す。この際、各注視点について、ユーザは約１秒注視する。
【００２３】
図４は、比較例に係るキャリブレーションの手順を示すフローチャートである。図４のフローチャートは、図３に示す注視点（例えば、注視点Ｐ１）を表示させるところから開始される（ステップＳ９０２）。次に、ユーザが注視点Ｐ１を注視しているか否かが判定される（ステップＳ９０４）。ここで、ユーザが注視しているかは、例えば、カメラがユーザを撮像した撮像画像内で目が止まっているか否かで判断される。
【００２４】
ステップＳ９０４でユーザが注視していると判定された場合には（Ｙｅｓ）、撮像画像内の目の座標と、表示部内の注視点Ｐ１の座標（予め設定されている）とが、ペアリングされて記録される（ステップＳ９０６）。そして、全ての注視点Ｐ１〜Ｐ５に対する目の座標を記録すべく（ステップＳ９０８：Ｎｏ）、次の注視点に移行し（ステップＳ９１０）、同様な処理が行なわれる。
【００２５】
一方で、注視点Ｐ１〜Ｐ５のそれぞれに対する目の座標が記録された場合には（ステップＳ９０８：Ｙｅｓ）、撮像画像内の目の座標と、表示画面内の注視点の座標との対応関係を算出する（ステップＳ９１２）。そして、算出結果に基づいて、誤差を補正することになる。
【００２６】
ところで、上述した比較例においては、ユーザが５つの注視点をそれぞれ１秒注視するので、少なくとも５秒注視する必要がある。このため、ユーザにとっては心理的・時間的な負担となっている。
【００２７】
また、視線の検出精度を向上させるために、注視点の数を増やす方策、カメラでユーザの目を正しく取得できなかった注視点を再度注視させる方策、キャリブレーション自体を再度実行する方策が取られている。しかし、これらの方策を取ると、キャリブレーションに要する時間がさらに長時間となり、ユーザに与える心理的及び時間的な負荷を増大させてしまう。
【００２８】
これに対して、以下に説明する本開示に係る情報処理装置は、操作者であるユーザの通常のＵＩ操作中にキャリブレーションを行うことで、ユーザに与える心理的及び時間的な負荷を軽減させる。すなわち、ユーザが負担を意識しないように、キャリブレーションが実行される。
【００２９】
＜２．第１の実施形態＞
（２−１．情報処理装置の構成）
図５を参照しながら、本開示の一実施形態に係る情報処理装置の構成の一例について説明する。図５は、本開示の一実施形態に係る情報処理装置の機能構成の一例を示すブロック図である。
【００３０】
情報処理装置１００は、本実施形態では、ノートＰＣ等の情報機器（ここでは、図１に示す情報機器１０とする）の内部に搭載されている。情報処理装置１００は、図５に示すように、表示制御部１０８と、操作検出部１１０と、視線検出部１１２と、相関関係取得部１１４と、領域推定部１１６と、補正係数取得部１１８と、操作切替部１２０と、を有する。
【００３１】
（表示制御部１０８）
表示制御部１０８は、情報機器１０の表示部１１（図１）の表示を制御する。表示部１１は、例えば、ユーザ等の操作者が入力操作可能なＵＩ操作用の表示画面を表示する。なお、表示部１１は情報機器１０に一体になって設けられているが、これに限定されず、情報機器１０と分離した構成であっても良い。
【００３２】
図６は、操作オブジェクトを含むＵＩ操作用の表示画面の一例を示す図である。図６に示す表示画面１２には、操作オブジェクトとして、カーソルやアイコンが表示されている。そして、ユーザがカーソルやアイコンを操作する（具体的には、入力インターフェース（例えばマウスやタッチパッド）によりアイコンを押下する）ことで、対応する機能（所定の入力）が実行される。
【００３３】
また、表示制御部１０８は、操作者によって操作されるべき操作オブジェクにアニメーションを付加する。ここで、付加されるアニメーション表現としては、例えば、操作オブジェクトであるカーソルやアイコンが光る、点滅する等の輝度の変化によるアニメーション表現、カーソルやアイコンのサイズ変化によるアニメーション表現、カーソルやアイコンの色の変化によるアニメーション表現がある。このようなアニメーションを付加することで、操作者は、表示画面１２に表示された操作オブジェクトを自然に見続けることが可能となる。この結果、キャリブレーション用データを取得しやすくなる。
【００３４】
（操作検出部１１０）
操作検出部１１０は、表示画面１２に対する操作者の操作を検出する。例えば、操作検出部１１０は、表示画面に表示され所定の入力を実行するための操作オブジェクトに対する操作者の操作を検出する。操作検出部１１０は、操作者が操作を行うマウス等の入力インターフェースから情報を取得することで、操作オブジェクトに対する操作者の操作を検出する。
【００３５】
なお、操作オブジェクトの操作は、入力インターフェースに限定されない。例えば、操作オブジェクトの操作は、カメラジェスチャであっても良いし、また視線による操作であっても良い。
【００３６】
（視線検出部１１２）
視線検出部１１２は、表示画面に注がれる操作者の視線の移動を検出する。例えば、視線検出部１１２は、情報機器１０に搭載された撮像部１３（図１）が操作者を撮像することにより、操作者の視線の移動を検出する。
【００３７】
（相関関係取得部１１４）
操作者は、通常、操作オブジェクトであるカーソルやアイコンを見ながら操作する。すなわち、操作者の視線がカーソルやアイコンを注視することになる。そこで、本実施形態においては、操作者が、表示画面１２に表示された操作オブジェクトを見続けている（目で追っている）と判定した場合に、キャリブレーション用のデータとして採用する。
【００３８】
そして、本実施形態では、操作者が操作オブジェクトを見続けているかを判定すべく、以下に説明するように、操作オブジェクトの移動の遷移を示す第１遷移情報（時系列データ）と、操作者の視線の移動の遷移を示す第２遷移情報（時系列データ）との相関関係を見ている。
【００３９】
相関関係取得部１１４は、操作者により操作される操作オブジェクトの第１遷移情報と、操作者の操作中の視線の第２遷移情報との相関関係を取得する。そして、相関関係取得部１１４は、相関関係を判定すべく、第１遷移情報と第２遷移情報を組み合わせて相互相関関数を求める。
【００４０】
ここで、二つの時系列データの相互相関関数について、図７及び図８を参照しながら説明する。
【００４１】
図７は、二つの時系列データの関数の波形が類似して場合の相互相関関数を説明するための図である。図８は、二つの時系列データの関数の波形が類似していない場合の相互相関関数を説明するための図である。二つの時系列データの関数の波形が類似していることは、操作者が操作オブジェクトを目で追っていることを意味し、二つの時系列データの関数の波形が類似していないことは、操作者が操作オブジェクトを目で追っていないことを意味する。なお、操作者が操作オブジェクトを目で追っていても、二つの時系列データの波形に位相のずれが生じる。
【００４２】
本実施形態に係る相互相関関数の求め方について説明する。ここでは、二つの時系列データを、それぞれ関数ｆ（ａ）と関数ｈ（ａ）で表すものとする。図７では、関数ｆ（ａ）と関数ｈ（ａ）は、位相は異なるが波形は類似する関係となっている。一方で、図８では、関数ｆ（ａ）と関数ｈ（ａ）は、位相が異なると共に波形も類似しない関係となっている。
【００４３】
まず、二つの関数の一方をｘだけシフトさせる。ここでは、関数ｈ（ａ）をｘだけシフトさせる。次に、関数ｈ（ａ−ｘ）と関数ｆ（ｘ）の積を求める。更に積分すると、下記の式のような相互相関関数ｇ（ｘ）が求まる。
2015152939.tif 000003
【００４４】
求めた相互相関関数ｇ（ｘ）においては、下記の特徴がある。すなわち、二つの時系列データの関数の波形が互いに類似している場合には、図７に示すように相互相関関数ｇ（ｘ）の最大値が所定閾値Ｔｃｃより大きくなる。一方で、二つの時系列データの関数の波形が互いに類似していない場合には、図８に示すように相互相関関数ｇ（ｘ）の最大値が所定閾値Ｔｃｃより小さくなる。
【００４５】
このため、相関関係取得部１１４は、求めた相互相関関数の最大値が所定閾値以上である場合には、第１遷移情報と第２遷移情報の相関関係が近いと判定する。一方で、相関関係取得部１１４は、求めた相互相関関数の最大値が所定閾値未満である場合には、第１遷移情報と第２遷移情報の相関関係が近くないと判定する。これにより、精度良く相互関係を取得できる。
【００４６】
そして、一定数以上のキャリブレーション用のデータが取得されると、キャリブレーションのパラメータを計算する。このため、本実施形態では、表示画面に表示された操作オブジェクトをユーザが操作中に、バックグラウンドでキャリブレーションが実行されることになる。
【００４７】
なお、上記では、二つの時系列データの相互相関関数を求めることとしたが、これに限定されない。例えば、相関関係取得部１１４は、相互相関関数として正規化した相互相関関数を用いても良い。かかる場合には、所定閾値Ｔｃｃが−１から１の間に位置することになる。
【００４８】
（領域推定部１１６）
領域推定部１１６は、表示画面において操作者が注目する注目領域を推定する。領域推定部１１６は、推定した注目領域の情報を、相関関係取得部１１４に出力する。そして、相関関係取得部１１４は、注目領域において操作者により操作される第１遷移情報と、操作者の操作中の視線の第２遷移情報との相関関係を取得する。これにより、表示されている複数の操作オブジェクトのうちユーザの注目しやすい領域の操作オブジェクトのみを推定し、注目領域内の操作オブジェクトを計算対象となる。この結果、位置の時系列データを記録する操作オブジェクトの数を減らすことができる。
【００４９】
ここで、ユーザの注目領域を推定する方法として、公知のサリエンシーマップを利用した例について説明する。
【００５０】
サリエンシーマップとは、入力画像に対応するサリエンシー（Ｓａｌｉｅｎｃｙ）の強さを表したマップのことを言う。そして、サリエンシーマップは、画像領域に対する「人の興味」の度合いを表すものであり、エッジや色などの画像特徴を組み合わせることで求められる。例えば、海に浮かぶ船を撮像した入力画像に対するサリエンシーマップでは、船の部分が強調される（例えば、黒のベタ画像において船の部分を白抜きにして強調される）。
【００５１】
図９は、操作オブジェクトを含む表示画面に対するサリエンシーマップの一例を示す図である。図９では、入力画像が、操作オブジェクトである３つのアイコン及び１つのカーソルを含むものであるとする。かかる場合に、サリエンシーマップでは、３つのアイコンと１つのカーソルに対応する部分が強調されるように示される。これにより、情報処理装置１００は、サリエンシーマップで強調される部分がユーザの注目する領域であると推定し、推定した注目領域内の操作オブジェクトの位置の時系列データを記録することになる。この結果、ユーザの注目しない領域の操作オブジェクトの位置の時系列データは記録されない。
【００５２】
（補正係数取得部１１８）
補正係数取得部１１８は、操作オブジェクトに対する操作者の操作中に検出される視線の移動に基づいて、操作者が視線入力を行う場合の誤差を補正するための補正係数を取得する。取得された補正係数が、キャリブレーション用の誤差を補正するための係数である。これにより、本実施形態では、表示画面に表示された操作オブジェクトをユーザが操作中に、バックグラウンドでキャリブレーションが実行される。
【００５３】
補正係数取得部１１８は、相関関係取得部１１４により取得された相関関係に基づいて補正係数を取得する。すなわち、操作オブジェクトの移動と視線の移動との相関関係に基づいて、補正係数が取得される。
【００５４】
この際、補正係数取得部１１８は、操作オブジェクトの第１遷移情報と視線の第２遷移情報の相関関係が近い場合には、第１遷移情報及び第２遷移情報を補正係数を取得するためのデータとし、第１遷移情報と第２遷移情報の相関関係が近くない場合には、第１遷移情報及び第２遷移情報を補正係数を取得するためのデータとしない。これにより、相関関係が近い第１遷移情報と第２遷移情報のみが、キャリブレーション用のデータとして利用される。
【００５５】
（操作切替部１２０）
操作切替部１２０は、補正係数を取得するために有効な第１遷移情報と第２遷移情報のデータ数に応じて、操作者による入力操作を切り替える。すなわち、操作切替部１２０は、操作オブジェクトの操作中にバックグラウンドで取得したキャリブレーション用のデータ数に応じて、操作者による入力操作を切り替える。
【００５６】
ここでは、カメラジェスチャによる入力操作と視線による入力操作とを例に挙げて説明する。操作切替部１２０は、キャリブレーション用のデータ数が少ないときはジェスチャによる入力操作に切り替え、キャリブレーション用のデータ数が多いときは視線による入力操作に切り替える。
【００５７】
この際、入力操作の状態に応じて、視線で入力操作できることをユーザに報知するためのＧＵＩを表示しても良い。また、ユーザが利用可能な入力インターフェースを示しても良い。これにより、ユーザビリティの向上を図ることが可能となる。なお、キャリブレーションの精度が高い場合には、ジェスチャによる入力操作の対象を視線で選択できるように、ジェスチャと視線を組み合わせても良い。この結果、ユーザの意図をより高精度に反映することが可能となる。
【００５８】
なお、上記では、情報処理装置１００が、情報機器であるノートＰＣに搭載されていることとしたが、これに限定されない。例えば、情報処理装置１００は、スマートフォン、タブレット、ゲーム機、テレビ、デジタルサイネージ等の機器に搭載されることとしても良い。
【００５９】
（２−２．情報処理装置の動作）
図１０を参照しながら、上述した構成を有する情報処理装置１００の動作の一例について説明する。図１０は、本開示の一実施形態に係る情報処理装置１００の動作の一例を示すフローチャートである。
【００６０】
図１０に示す処理は、情報処理装置１００のＣＰＵが、ＲＯＭに格納されているプログラムを実行することにより、実現される。なお、実行されるプログラムは、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリカード等の記録媒体に記憶されても良く、インターネットを介してサーバ等からダウンロードされても良い。
【００６１】
図１０のフローチャートは、操作オブジェクトを含むＵＩ操作用の表示画面１２（図６）が表示されたところから開始される。ユーザは、例えば入力インターフェースによって所望の機能を実行すべく、表示画面１２中の操作オブジェクトを操作する。
【００６２】
情報処理装置１００は、まず、入力インターフェースからユーザ操作に対応する入力データを取得する（ステップＳ１０２）。次に、情報処理装置１００は、入力データに応じて操作オブジェクトの表示位置を更新し、位置の過去の所定時間での時系列データＤ１を保存する（ステップＳ１０４）。
【００６３】
次に、情報処理装置１００は、視線検出部により眼球の位置と向きを取得する（ステップＳ１０６）。次に、情報処理装置１００は、ユーザの過去のキャリブレーションのパラメータを保存しているか否かを判定する（ステップＳ１０８）。
【００６４】
そして、ステップＳ１０８で過去のキャリブレーションのパラメータが保存されている場合には（Ｙｅｓ）、情報処理装置１００は、過去のキャリブレーションのパラメータによりユーザの見ている表示画面の点を推定する。そして、情報処理装置１００は、推定した点での過去の所定時間での時系列データＤ２を保存する（ステップＳ１１０）。
【００６５】
一方で、ステップＳ１０８で過去のキャリブレーションのパラメータが保存されていない場合には（Ｎｏ）、情報処理装置１００は、デフォルトのキャリブレーションのパラメータによりユーザの見ている表示画面の点を推定する。そして、情報処理装置１００は、推定した点での過去の所定時間での時系列データＤ２を保存する（ステップＳ１１２）。
【００６６】
次に、情報処理装置１００は、時系列データＤ１と時系列データＤ２との間の相互相関関数（図７）を求める。そして、情報処理装置１００は、求めた相互相関関数の最大値が所定閾値以上、かつ所定時間以上継続している条件を満たすか否かを判定する（ステップＳ１１４）。
【００６７】
そして、ステップＳ１１４で相互相関関数の最大値が所定閾値以上、かつ所定時間以上継続している条件を満たさない場合には（Ｎｏ）、情報処理装置１００は、上述したステップＳ１０２〜Ｓ１１２の処理を再度行う。
【００６８】
一方で、ステップＳ１１４で相互相関関数の最大値が所定閾値以上、かつ所定時間以上継続している条件を満たす場合には（Ｙｅｓ）、情報処理装置１００は、操作オブジェクトの位置と、推定された表示画面の点とを、キャリブレーション用データとして記録する（ステップＳ１１６）。
【００６９】
次に、情報処理装置１００は、所定数以上のキャリブレーション用データを記録したか否かを判定する（ステップＳ１１８）。そして、ステップＳ１１８で所定数以上のキャリブレーション用データが記録された場合には（Ｙｅｓ）、情報処理装置１００は、キャリブレーション用データを用いて、ユーザの見ている表示画面内の点との対応関係を算出する（ステップＳ１２０）。
【００７０】
一方で、ステップＳ１１８で所定数以上のキャリブレーション用データが記録されていない場合には（Ｎｏ）、情報処理装置１００は、次のキャリブレーション用データの探索を続け（ステップＳ１２２）、上述した処理を繰り返す。
【００７１】
＜３．第２の実施形態＞
ところで、上述した相互相関関数の計算において、操作オブジェクトの位置及びユーザの見ている表示画面上の点の時系列データが変化しない場合には、表示画面上の位置に依らず相互相関関数の最大値が高くなる。このため、表示画面に複数の操作オブジェクトが表示された場合には、計算対象の操作オブジェクトの数が増えるため計算対象の操作オブジェクトを適切に選択できずに、ユーザが実際に見ていた操作オブジェクトを計算から求めることができない問題が発生しうる。
【００７２】
そこで、上記の問題を解決すべく、第２の実施形態では、情報処理装置１００は、複数の操作オブジェクトのうちのユーザの視線位置との間の距離が所定閾値以下である操作オブジェクトを計算対象とし、視線位置との間の距離が所定値を超える操作オブジェクトを計算対象外とする。
【００７３】
具体的には、情報処理装置１００の相関関係取得部１１４（図５）は、表示画面１２に注がれる視線の視線位置と、操作オブジェクトの重心位置との間の距離を求める。そして、相関関係取得部１１４は、求めた距離が所定閾値以下の場合には、操作オブジェクトの第１遷移情報を用いて相互相関関数を求める。これにより、ユーザが実際に見ている可能性が高い操作オブジェクトを計算対象とする。
【００７４】
図１１は、視線位置と操作オブジェクトの重心位置との間の距離を示す図である。図１１では、表示画面に表示されている複数のアイコンのうち、停止している視線位置との間の距離が所定閾値以下であるアイコン３のみが計算対象となる。
【００７５】
また、情報処理装置１００は、操作オブジェクトの位置の変化がほぼ０である場合、すなわち、時系列データにおける操作オブジェクトののべ移動量が一定閾値以下の場合には、図１０のステップＳ１１４の判定を行わない。このため、操作オブジェクトののべ移動量が閾値以下か否かの判定は、図１０のステップＳ１１４の直前に行うことが望ましい。
【００７６】
具体的には、相関関係取得部１１４は、操作オブジェクトの移動量が所定閾値以下の場合には、操作オブジェクトの第１遷移情報を用いた相互相関関数を求めない。これにより、位置の変化が無く停止している操作オブジェクトは、対象外とすることができる。
【００７７】
上記では、視線検出におけるキャリブレーションについて説明したが、指差しポインティングにおけるキャリブレーションに適用しても良い。そして、視線による入力操作と、指差しによる入力操作とを組み合わせて利用する場合には、両者のキャリブレーションの精度を考慮していずれか一方の操作を優先させるかを判定しても良い。また、表示画面上でユーザが指差す位置を推定する際に、両者の推定結果をキャリブレーション精度に応じた係数をかけて推定しても良い。
【００７８】
＜４．ハードウェア構成＞
上述した情報処理装置１００の動作は、情報処理装置１００が備えるハードウェア構成とソフトウェアとが協働することにより実現される。
【００７９】
図１２は、情報処理装置１００のハードウェア構成の一例を示した説明図である。図１２に示したように、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８０３と、入力装置８０８と、出力装置８１０と、ストレージ装置８１１と、ドライブ８１２と、撮像装置８１３と、通信装置８１５とを備える。
【００８０】
ＣＰＵ８０１は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置１００内の動作全般を制御する。また、ＣＰＵ８０１は、マイクロプロセッサであってもよい。ＲＯＭ８０２は、ＣＰＵ８０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ８０３は、ＣＰＵ８０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはＣＰＵバスなどから構成されるホストバスにより相互に接続されている。
【００８１】
入力装置８０８は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ８０１に出力する入力制御回路などから構成されている。情報処理装置１００のユーザは、該入力装置８０８を操作することにより、情報処理装置１００に対して各種のデータを入力したり処理動作を指示したりすることができる。
【００８２】
出力装置８１０は、例えば、液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）装置およびランプなどの表示装置を含む。さらに、出力装置８１０は、スピーカおよびヘッドホンなどの音声出力装置を含む。例えば、表示装置は、撮像された画像や生成された画像などを表示する。一方、音声出力装置は、音声データ等を音声に変換して出力する。
【００８３】
ストレージ装置８１１は、本実施形態にかかる情報処理装置１００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置８１１は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置８１１は、ＣＰＵ８０１が実行するプログラムや各種データを格納する。
【００８４】
ドライブ８１２は、記憶媒体用リーダライタであり、情報処理装置１００に内蔵、あるいは外付けされる。ドライブ８１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体８２０に記録されている情報を読み出して、ＲＡＭ８０３に出力する。また、ドライブ８１２は、リムーバブル記憶媒体８２０に情報を書き込むこともできる。
【００８５】
撮像装置８１３は、光を集光する撮影レンズおよびズームレンズなどの撮像光学系、およびＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などの信号変換素子を備える。撮像光学系は、被写体から発せられる光を集光して信号変換部に被写体像を形成し、信号変換素子は、形成された被写体像を電気的な画像信号に変換する。
【００８６】
通信装置８１５は、例えば、ネットワーク８３０に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置８１５は、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）対応通信装置であっても、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
【００８７】
なお、ネットワーク８３０は、ネットワーク８３０に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワーク８３０は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ｅｔｈｅｒｎｅｔ（登録商標）を含む各種のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などを含んでもよい。また、ネットワーク８３０は、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）などの専用回線網を含んでもよい。
【００８８】
＜５．まとめ＞
上述した情報処理装置１００は、表示画面１２に表示された操作オブジェクト（カーソルやアイコン等）に対する操作者の操作中に検出される操作者の視線の移動に基づいて、操作者が視線入力を行う場合の誤差を補正するための補正係数を取得する。すなわち、情報処理装置１００は、操作者による通常の操作オブジェクトの操作中に、バックグラウンドで視線キャリブレーションを実行する。
【００８９】
これにより、視線キャリブレーションのための注視点（図２）をわざわざ表示させる必要が無く、操作者に注視点の表示に沿った視線の移動も行う必要がなくなる。従って、視線追跡の精度向上に不可欠なキャリブレーションを、ユーザーに負荷を意識させることなく実行可能となる。
【００９０】
なお、上記では、情報処理装置１００は、表示画面１２を有する情報機器１０に搭載されることとしたが、これに限定されない。情報処理装置１００は、図１３に示すように、情報機器とネットワークを介して通信可能なサーバ５０に設けられても良い。
【００９１】
図１３は、サーバに設けられた情報処理装置の機能構成の一例を示す図である。図１３に示すサーバ５０は、図５で説明した構成と同様な情報処理装置１００と、情報機器１０と通信可能な通信部５２とを有する。操作者が情報機器１０の表示画面１２に表示された操作オブジェクトを操作すると、操作オブジェクトの移動の遷移情報や、操作者の視線の移動の遷移情報は、通信部１５を介してサーバ５０に送信される。これにより、サーバ５０が、操作者が視線入力を行う場合の誤差を補正するための補正係数を取得する。
【００９２】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【００９３】
また、上記の実施形態のフローチャートに示されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的に又は個別的に実行される処理をも含む。また時系列的に処理されるステップでも、場合によっては適宜順序を変更することが可能であることは言うまでもない。
【００９４】
本明細書において説明した情報処理装置による処理は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組合せのいずれを用いて実現されてもよい。ソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられる記憶媒体に予め格納される。そして、各プログラムは、例えば、実行時にＲＡＭ（Random  Access  Memory）に読み込まれ、ＣＰＵなどのプロセッサにより実行される。
【００９５】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
表示画面に表示され所定の入力を実行するためのオブジェクトに対する操作者の操作を検出する操作検出部と、
前記表示画面に注がれる前記操作者の視線の移動を検出する視線検出部と、
前記オブジェクトに対する前記操作者の操作中に検出される前記視線の移動に基づいて、前記操作者が視線入力を行う場合の誤差を補正するための補正係数を取得する補正係数取得部と、
を備える、情報処理装置。
（２）
前記操作者により操作される前記オブジェクトの第１遷移情報と、前記操作者の操作中の前記視線の第２遷移情報との相関関係を取得する相関関係取得部を更に備え、
前記補正係数取得部は、取得された前記相関関係に基づいて前記補正係数を取得する、
前記（１）に記載の情報処理装置。
（３）
前記補正係数取得部は、
前記オブジェクトの第１遷移情報と前記視線の第２遷移情報の相関関係が近い場合には、前記第１遷移情報及び前記第２遷移情報を前記補正係数を取得するためのデータとし、
前記第１遷移情報と前記第２遷移情報の相関関係が近くない場合には、前記第１遷移情報及び前記第２遷移情報を前記補正係数を取得するためのデータとしない、
前記（２）に記載の情報処理装置。
（４）
前記相関関係取得部は、
前記第１遷移情報と前記第２遷移情報を組み合わせて相互相関関数を求め、
求めた前記相互相関関数の最大値が所定閾値以上である場合には、前記第１遷移情報と前記第２遷移情報の相関関係が近いと判定し、
前記相互相関関数の最大値が所定閾値未満である場合には、前記第１遷移情報と前記第２遷移情報の相関関係が近くないと判定する、
前記（３）に記載の情報処理装置。
（５）
前記相関関係取得部は、前記相互相関関数として正規化した相互相関関数を用いる、
前記（４）に記載の情報処理装置。
（６）
前記相関関係取得部は、
前記表示画面に注がれる視線の視線位置と、前記オブジェクトの重心位置との間の距離を求め、
前記距離が所定閾値以下の場合には、前記オブジェクトの前記第１遷移情報を用いて前記相互相関関数を求める、
前記（４）又は（５）に記載の情報処理装置。
（７）
前記相関関係取得部は、前記オブジェクトの移動量が所定閾値以下の場合には、前記オブジェクトの前記第１遷移情報を用いた相互相関関数を求めない、
前記（４）又は（５）に記載の情報処理装置。
（８）
前記操作者によって操作されるべき前記オブジェクトにアニメーションを付加する表示制御部を更に備える、
前記（１）〜（７）のいずれか１項に記載の情報処理装置。
（９）
前記表示画面において前記操作者が注目する領域を推定する領域推定部を更に備え、
前記相関関係取得部は、推定した領域内において前記操作者により操作される前記オブジェクトの第１遷移情報と、前記操作者の操作中の前記視線の第２遷移情報との相関関係を取得する、
前記（２）〜（７）のいずれか１項に記載の情報処理装置。
（１０）
前記補正係数を取得するために有効な前記第１遷移情報と前記第２遷移情報のデータ数に応じて、前記操作者による入力操作を切り替える操作切替部を更に備える、
前記（３）〜（７）のいずれか１項に記載の情報処理装置。
（１１）
表示画面に表示され所定の入力を実行するためのオブジェクトに対する操作者の操作を検出することと、
前記表示画面に注がれる前記操作者の視線の移動を検出することと、
前記オブジェクトに対する前記操作者の操作中に検出される前記視線の移動に基づいて、前記操作者が視線入力を行う場合の誤差を補正するための補正係数を取得することと、
を含む、情報処理方法。
（１２）
コンピュータに、
表示画面に表示され所定の入力を実行するためのオブジェクトに対する操作者の操作を検出することと、
前記表示画面に注がれる前記操作者の視線の移動を検出することと、
前記オブジェクトに対する前記操作者の操作中に検出される前記視線の移動に基づいて、前記操作者が視線入力を行う場合の誤差を補正するための補正係数を取得することと、
を実行させるための、プログラム。
【符号の説明】
【００９６】
１０    情報機器
１２    表示画面
５０    サーバ
１００    情報処理装置
１０８    表示制御部
１１０    操作検出部
１１２    視線検出部
１１４    相関関係取得部
１１６    領域推定部
１１８    補正係数取得部
１２０    操作切替部
【図１】
2015152939.tif 000004
【図２】
2015152939.tif 000005
【図３】
2015152939.tif 000006
【図４】
2015152939.tif 000007
【図５】
2015152939.tif 000008
【図６】
2015152939.tif 000009
【図７】
2015152939.tif 000010
【図８】
2015152939.tif 000011
【図１０】
2015152939.tif 000012
【図１１】
2015152939.tif 000013
【図１２】
2015152939.tif 000014
【図１３】
2015152939.tif 000015
【図９】
2015152939.tif 000016