(57)【要約】【課題】連続的に指定される位置座標を高い追従性で追従するオブジェクトを実現する。【解決手段】表示制御処理は、視点座標を取得するステップと、マーカ座標を取得するステップと、マーカ座標から視点座標へ向かう第１ベクトルを算出するステップと、視点マーカの回転角度を決定するステップと、マーカ座標の移動距離を決定するステップと、上記回転角度および移動距離で移動後のマーカ座標に視点マーカを表示させるステップと、を含む。【選択図】図１
2018013926.tif 000002
【特許請求の範囲】
【請求項１】
表示部の表示面において連続的に指定される位置座標を追従するオブジェクトの表示制御方法であって、
指定された上記位置座標を第１座標として取得する第１座標取得ステップと、
上記オブジェクトの上記表示面における座標を第２座標として取得する第２座標取得ステップと、
上記第２座標から上記第１座標へ向かうベクトルを算出する算出ステップと、
上記オブジェクトの移動方向を回転させる回転速度を、上記ベクトルの方向に応じて決定する回転速度決定ステップと、
上記オブジェクトの回転後の移動方向への移動速度を、上記ベクトルの大きさで表される距離に応じて決定する移動速度決定ステップと、
上記回転後の移動方向へ上記移動速度で移動した後の第２座標の位置に上記オブジェクトを表示させる表示制御ステップと、を含む表示制御方法。
【請求項２】
上記移動速度決定ステップでは、上記第２座標と上記第１座標との距離が長いほど上記移動速度を速い速度に決定する、請求項１に記載の表示制御方法。
【請求項３】
上記回転速度決定ステップでは、上記オブジェクトの移動方向と上記ベクトルとのなす挟角が所定の角度よりも大きい場合、上記回転速度を減少させ、
上記移動速度決定ステップでは、上記挟角が上記所定の角度よりも大きい場合、上記移動速度を減少させる、請求項１または２に記載の表示制御方法。
【請求項４】
上記回転速度決定ステップでは、上記オブジェクトの移動方向と、上記ベクトルとのなす挟角が所定の角度以下の範囲で大きくなるほど上記回転速度を速い速度に決定する、請求項１〜３のいずれか１項に記載の表示制御方法。
【請求項５】
指定される上記位置座標は、上記表示部の上記表示面を見る人物の、上記表示面に対する視点の位置座標であって、
上記表示制御方法は、
上記人物の左右の目の開閉状態を示す情報を取得する開閉状態取得ステップを含み、
上記表示制御ステップにて、上記開閉状態を上記オブジェクトに重畳して表示させる、請求項１〜４のいずれか１項に記載の表示制御方法。
【請求項６】
上記開閉状態取得ステップにて、上記人物の左右少なくとも一方の目の開状態を示す情報を取得した場合に、上記第１座標取得ステップにて取得した第１座標を有効とし、上記算出ステップ、上記回転速度決定ステップ、上記移動速度決定ステップ、および上記表示制御ステップを実行する、請求項５に記載の表示制御方法。
【請求項７】
上記開閉状態取得ステップにて上記人物の左右少なくとも一方の目の開状態を示す情報を取得し、かつ、上記第１座標取得ステップにて取得した上記第１座標が所定の範囲内であった回数を測定する測定ステップを含む、請求項５または６に記載の表示制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連続的に指定される位置座標を追従するオブジェクトの表示制御方法に関する。
【背景技術】
【０００２】
ユーザの視線を検出する視線ＨＣＩ（human computer interaction）技術が従来から開発されている。例えば、特許文献１には、表示装置に対するユーザの視線を検出し、表示面に対するユーザの注視点を精度良く算出するための技術が開示されている。そして、特許文献２および３には、検出したユーザの注視点に対応した表示面上の位置に、カーソルやポインタ等のオブジェクトを、上記注視点を追従するように表示させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−０９１３２５号公報  （１９９８年４月１０日公開）
【特許文献２】特開平１０−０３９９９４号公報  （１９９８年２月１３日公開）
【特許文献３】特開２０１３−１４３０１２号公報（２０１３年７月２２日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような従来技術を用いて視線検出の結果をオブジェクトとして表示する場合、オブジェクトが注視点を追従する性能（追従性）が十分でない場合があった。
【０００５】
例えば、表示面においてユーザが注視していると認識している注視点と、検出される注視点、およびオブジェクトが表示される位置はそれぞれ一致しない場合がある。これは、視線検出の際のノイズや眼球運動によるランダム誤差、注視点を表示装置の表示面の形状および大きさに合わせてキャリブレーションした際の誤差等が原因である。このような位置ずれが大きい場合、オブジェクトの追従性は低下する。
【０００６】
また、オブジェクトの表示位置の決定に加重移動平均法など、複数回の検出で得た注視点の平均値をとる方法を用いた場合、注視点の検出からオブジェクトの表示位置の決定（オブジェクトの移動）までにタイムラグが生じるため、この場合も追従性が低下する。
【０００７】
オブジェクトの追従性が低下するという事は、視線による操作の操作性が低下することである。そのため、オブジェクトの追従性の低下が原因で、ユーザが操作性に違和感を抱くことや、思うように操作できないために不快に感じることがあった。また、ユーザが注視点に追いついていないオブジェクトを目線で追いかけてしまうことで、オブジェクトの位置が最初の注視点から離れていってしまう（視線が逃げる）という問題も生じていた。
【０００８】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、連続的に指定される位置座標を高い追従性で追従するオブジェクトを実現することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明の一態様に係る表示制御方法は、表示部の表示面において連続的に指定される位置座標を追従するオブジェクトの表示制御方法であって、指定された上記位置座標を第１座標として取得する第１座標取得ステップと、上記オブジェクトの上記表示面における座標を第２座標として取得する第２座標取得ステップと、上記第２座標から上記第１座標へ向かうベクトルを算出する算出ステップと、上記オブジェクトの移動方向を回転させる回転速度を、上記ベクトルの方向に応じて決定する回転速度決定ステップと、上記オブジェクトの回転後の移動方向への移動速度を、上記ベクトルの大きさで表される距離に応じて決定する移動速度決定ステップと、上記回転後の移動方向へ上記移動速度で移動した後の第２座標の位置に上記オブジェクトを表示させる表示制御ステップと、を含む。
【００１０】
上記の方法によれば、第２座標から第１座標へのベクトルに応じて回転速度および移動速度、すなわち単位時間当たりのオブジェクトの回転角度および移動距離を決定する。換言すると、第１座標が取得されるごとに、オブジェクトの回転角度と移動距離が算出され、オブジェクトが当該位置に移動される。したがって、例えば加重移動平均法など、複数の第１座標からオブジェクトの表示位置を決定する場合に比べ、第１座標の検出からオブジェクトの表示までのタイムラグが少なくなる。したがって、高い追従性を持ったオブジェクトを表示させることができる。
【００１１】
上記の課題を解決するために、上記表示制御方法の上記移動速度決定ステップでは、上記第２座標と上記第１座標との距離が長いほど上記移動速度を速い速度に決定してもよい。
【００１２】
上記の方法によると、上記第２座標と上記第１座標との距離が長いほど単位時間当たりのオブジェクトの移動距離が大きくなる。したがって、オブジェクトがより第１座標に近づくことができるため、オブジェクトの追従性を向上させることができる。
【００１３】
上記の課題を解決するために、上記回転速度決定ステップでは、上記オブジェクトの移動方向と上記ベクトルとのなす挟角が所定の角度よりも大きい場合、上記回転速度を減少させ、
上記移動速度決定ステップでは、上記挟角が上記所定の角度よりも大きい場合、上記移動速度を減少させてもよい。
【００１４】
上記の方法によると、オブジェクトから第１座標への方向成分と、オブジェクトの移動方向（回転前の移動方向）とに共通する方向成分が一定以下である場合は、オブジェクトの回転速度および移動速度を減速する。つまり、オブジェクトが第１座標に向かう方向と一定以上異なる方向に移動中の場合に、単位時間当たりのオブジェクトの移動距離を減少させることができる。
【００１５】
上記の課題を解決するために、上記表示制御方法の上記回転速度決定ステップでは、上記オブジェクトの移動方向と、上記ベクトルとのなす挟角が所定の角度以下の範囲で大きくなるほど上記回転速度を速い速度に決定してもよい。
【００１６】
上記の方法によると、上記挟角が所定の角度以下の範囲で大きいほど単位時間当たりのオブジェクトの移動方向の回転角度が大きくなる。換言すると、オブジェクトが第１座標に向かう方向と一定以上近い方向である場合は、上記挟角が大きいほど、大きい角度で移動方向を回転させる。これにより、オブジェクトの移動方向がオブジェクトから第１座標への方向により近づくため、オブジェクトの追従性を向上させることができる。
【００１７】
上記の課題を解決するために、上記表示制御方法において指定される上記位置座標は、上記表示部の上記表示面を見る人物の、上記表示面に対する視点の位置座標であって、上記表示制御方法は、上記人物の左右の目の開閉状態を示す情報を取得する開閉状態取得ステップを含み、上記表示制御ステップにて、上記開閉状態を上記オブジェクトに重畳して表示させてもよい。
【００１８】
上記の方法によると、目の開閉状態というユーザの視点検出の有効性（ユーザが表示面を見ているか否か）に係る情報を取得することができる。また、上記開閉状態をオブジェクトに重畳して表示することにより、ユーザに視点検出の有効性を示すことができる。
【００１９】
上記の課題を解決するために、上記表示制御方法の上記開閉状態取得ステップにて、上記人物の左右少なくとも一方の目の開状態を示す情報を取得した場合に、上記第１座標取得ステップにて取得した第１座標を有効とし、上記算出ステップ、上記回転速度決定ステップ、上記移動速度決定ステップ、および上記表示制御ステップを実行してもよい。
【００２０】
上記の方法によると、左右少なくとも一方の目が開状態である、すなわちユーザが少なくとも片目で表示面を見ていると判断できるときにのみ、当該視点の位置座標（第１座標）を有効な座標値と捉え、処理を行うことができる。したがって、両目が閉状態である視点を誤検出した場合などに、当該誤検出に係る第１座標をオブジェクトの表示に影響させないようにすることができる。
【００２１】
上記の課題を解決するために、上記表示制御方法の上記開閉状態取得ステップにて上記人物の左右少なくとも一方の目の開状態を示す情報を取得し、かつ、上記第１座標取得ステップにて取得した上記第１座標が所定の範囲内であった回数を測定する測定ステップを含む、請求項４または５に記載の表示制御方法。
【００２２】
上記の方法によると、表示面の所定の範囲内をユーザが注視していた回数を測定することができる。換言すると、ユーザが注視していた位置と、時間とを測定することができる。
【００２３】
上記の課題を解決するために、本発明の一態様に係る表示制御装置は、表示部の表示面において連続的に指定される位置座標を追従するオブジェクトの表示制御装置であって、指定された上記位置座標を第１座標として取得する第１座標取得部と、上記オブジェクトの上記表示面における座標を第２座標として取得する第２座標取得部と、上記第２座標から上記第１座標へ向かうベクトルを算出する算出部と、上記オブジェクトの移動方向を回転させる回転速度を、上記ベクトルの方向に応じて決定する回転速度決定部と、上記オブジェクトの回転後の移動方向への移動速度を、上記ベクトルの大きさで表される距離に応じて決定する移動速度決定部と、上記回転後の移動方向へ上記移動速度で移動した後の第２座標の位置に上記オブジェクトを表示させる表示制御部と、を備えている。
【００２４】
上記の構成によると、上記表示制御方法と同様の効果を得ることができる。
【００２５】
本発明の各態様に係る表示制御方法および表示制御装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記表示制御方法の各ステップ、または上記表示制御装置が備える各部（ソフトウェア要素）として動作させることにより上記表示制御方法および表示制御装置をコンピュータにて実現させる表示制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００２６】
本発明は、連続的に指定される位置座標を高い追従性で追従するオブジェクトを実現することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態１に係るプログラマブル表示器の要部構成を示す図である。
【図２】上記プログラマブル表示器を含む表示システムの構成の一例を示す図である。
【図３】上記プログラマブル表示器が視点座標を受信した場合の、視点マーカの動きの一例を示す図である。
【図４】表示制御処理の流れを示すフローチャートである。
【図５】視点座標、マーカ座標、第１ベクトル、第２ベクトル、および第１ベクトルと第２ベクトルとのなす挟角を視覚的に示した模式図である。
【図６】加速度補正処理の流れを示すフローチャートである。
【図７】回転速度決定処理の流れを示すフローチャートである。
【図８】移動速度決定処理の流れを示すフローチャートである。
【図９】実施形態２に係るプログラマブル表示器のマーカ表示制御部が表示させる視点マーカの一例を示す。
【図１０】実施形態２に係るプログラマブル表示器のディスプレイに表示されたアイコンを、視線マーカによって選択させる例を示す図である。
【図１１】実施形態３に係るプログラマブル表示器のディスプレイに表示されたアプリ画像と、視点マーカとを示す図である。
【発明を実施するための形態】
【００２８】
〔実施形態１〕
以下、本発明の実施の形態について詳述する。まず初めに、図２および３を用いて、本実施形態に係るプログラマブル表示器を含む表示システム１００の構成および動作の概要を説明する。
【００２９】
≪表示システムの概要≫
図２は、本実施形態に係る表示システム１００の構成の一例を示す図である。表示システム１００は、アイトラッカー１と、ディスプレイ（表示部）２０を備えたプログラマブル表示器２と、を含む。アイトラッカー１とプログラマブル表示器２は、有線または無線で接続されている。
【００３０】
アイトラッカー１は、人間の視線の動きを検出する装置である。アイトラッカー１の視線検出方法は特に限定されない。また、アイトラッカー１は、視線検出に必要な種々の構成を備えていてよい。例えば、アイトラッカー１は赤外線照射ユニットを備え、ユーザの眼球に対し赤外線を投射し、当該赤外線に対する眼球反射を検出および分析することにより、視線検出を行ってもよい。
【００３１】
アイトラッカー１は所定の時間間隔（例えば３０ＨＺ、６０Ｈｚ、または１２０Ｈｚ周期で）視線検出を行い、ディスプレイ２０の表示面におけるユーザ（人物）の注視点の位置座標（視点座標、第１座標）を算出する。なお、アイトラッカー１は視点座標の算出の際に、ユーザの眼球の形状および眼球反射の特性、ならびにディスプレイ２０の形状および大きさの少なくともいずれかに応じて視点座標をキャリブレーションし、キャリブレーション後の値をプログラマブル表示器２に送信してもよい。また、アイトラッカー１は視点座標の算出を行わず、ユーザの眼球反応の検出データなど、視点座標の算出の材料となるデータをプログラマブル表示器２に送信してもよい。
【００３２】
プログラマブル表示器２は、表示装置としてのディスプレイ２０を備えたＨＭＩ（Human Machine Interface）機器である。プログラマブル表示器２は視点座標を受信し、ディスプレイ２０上の当該視点座標に応じた位置に視点マーカＡを表示させる。視点マーカＡとは、視点座標を追従するように表示されるオブジェクト画像である。
【００３３】
なお、アイトラッカー１は、図２に示したようにプログラマブル表示器２およびディスプレイ２０と別に設けられた装置であってもよいし、プログラマブル表示器２またはディスプレイ２０に取り付けられた、または内蔵された装置であってもよい。また、ディスプレイ２０は図示の通りプログラマブル表示器２に内蔵された装置であってもよいし、プログラマブル表示器２に接続される外部装置であってもよい。また、図２および以降の図面において示される視点マーカＡの形状および大きさは一例であって、視点マーカＡの形状および大きさは図示の形状および大きさに限定されない。
【００３４】
≪視点マーカの動き≫
次に、ディスプレイ２０に表示される視点マーカＡの、見かけ上の動きについて説明する。プログラマブル表示器２は、視点マーカＡを回転させることで移動方向を定め、定めた移動方向に対する視点マーカＡの加速度を加算または減算することで、視点マーカＡの移動速度、すなわち単位時間当たりの移動距離を定める。そして、定めた移動方向に向かって定めた移動速度で一定期間移動した後の、視点マーカＡの位置座標を特定し、当該位置座標に視点マーカＡを表示させる。
【００３５】
なお、ここで言う「一定期間」とは、ディスプレイ２０の１フレーム期間を示す。つまり、プログラマブル表示器２は、ディスプレイ２０のフレームレートに合わせて視点マーカＡの位置を決定し、視点マーカＡの表示位置を更新する。
【００３６】
以下、図３を用いて視点マーカＡの動きの具体例を説明する。図３の（ａ）〜（ｄ）は、プログラマブル表示器２が視点座標ａ１およびａ２を受信した場合の、視点マーカＡの動きの一例を示す図である。なお、図３の（ａ）〜（ｄ）の例では、向き（移動方向）が分かるようなオブジェクトが視点マーカＡとして表示されているが、本実施形態に係る視点マーカＡは見た目上で向きが分からないようなオブジェクトであってもよい。また、図３の（ｂ）〜（ｄ）では視点座標（ａ１およびａ２）を点で示しているが、視点座標はディスプレイ２０に表示されなくてよい。また、図３の（ｂ）〜（ｄ）では、視点マーカＡの回転方向および移動方向を矢印で示しているが、当該矢印はディスプレイ２０に表示されなくてよい。
【００３７】
視点座標と、視点マーカＡのディスプレイ２０上での位置座標とが略一致しているとき、プログラマブル表示器２は視点マーカＡを微小に（ユーザが視点マーカＡの移動を視認しない程度に）動くように表示させている（基底状態、図３の（ａ））。ここで、図３の（ｂ）に示すように、ユーザの視点が動き視点座標がａ１に変化した場合、プログラマブル表示器２は、視点マーカＡの移動方向を視点座標ａ１の方向に合わせるように回転させてから、当該移動方向に視点マーカＡを加速させる。
【００３８】
ところで、プログラマブル表示器２はアイトラッカー１から順次視点座標を受信している。したがって、プログラマブル表示器２は視点マーカＡが加速して移動しているような表示を行っているとき（視点マーカＡが移動中のとき）に次の視点座標を受信することがある。
【００３９】
この場合、プログラマブル表示器２はまず、視点マーカＡの現在の移動方向と、視点マーカＡから上記受信した視点座標に向かう方向との違いを確認する。詳しくは後述するが、プログラマブル表示器２は上記２方向のなす挟角に応じて上記方向の違いを判断している。上記２方向がある程度近い（挟角が小さい）場合は、プログラマブル表示器２は図３の（ｂ）にて示したように、視点マーカＡの移動方向を視点座標の方向に回転させ、そして当該移動方向に視点マーカＡを加速させる。
【００４０】
一方、上記挟角が一定以上違っていれば、プログラマブル表示器２は視点マーカの移動の加速度を減少させることで視点マーカＡを減速させ、一度基底状態に戻す。図３の（ｃ）は、上記挟角が一定以上違う場合を示している。図示のように、視点マーカＡが視点座標ａ１に向かって移動中のときに、移動方向と一定の挟角以上方向が異なる視点座標ａ２を受信したとする。この場合、プログラマブル表示器２は、移動方向（視点座標ａ１に向かう方向と略同方向）への移動速度を減速させて再び基底状態にする。そして、図３の（ｄ）に示すように、視点マーカＡの移動方向を視点座標ａ２の方向に合わせるように回転させてから、視点マーカＡを加速させる。
【００４１】
≪要部構成≫
次に、表示システム１００に含まれるプログラマブル表示器２の要部構成を、図１を用いて説明する。図１は、プログラマブル表示器２の要部構成を示すブロック図である。なお、説明の便宜上、図１にはアイトラッカー１も示している。プログラマブル表示器２は図示の通り、制御部（表示制御装置）１０と、ディスプレイ２０と、記憶部３０とを含む。
【００４２】
ディスプレイ２０は、制御部１０（後述するマーカ表示制御部１５およびアプリ表示制御部１７）の表示制御に従って画像を表示するものである。なお、ディスプレイ２０は図示しない入力装置と重畳されたタッチパネルディスプレイであってもよい。
【００４３】
記憶部３０は、プログラマブル表示器２の動作に必要な各種データを格納するものである。例えば記憶部３０は、プログラマブル表示器２にて起動するアプリケーションプログラム（以下、アプリと称する）のデータ（アプリプログラム３１）を含んでいる。また、記憶部３０は、視点マーカＡのディスプレイ２０上での位置座標（マーカ座標、第２座標）を記憶していてもよい。
【００４４】
制御部１０は、プログラマブル表示器２を統括的に制御するものである。制御部１０はより詳しくは、アプリ制御部１６と、アプリ表示制御部１７と、視点座標取得部（第１座標取得部）１１と、マーカ座標取得部１２と、算出部１３と、座標処理部１４と、マーカ表示制御部（表示制御部）１５とを含んでいる。制御部１０に含まれる各機能ブロックは、例えば、制御部１０としてのＣＰＵ（central processing unit）が、記憶部３０に記憶されている視点マーカの表示制御に係るプログラムを、不図示のＲＡＭ（random access memory）等に読み出して実行することで実現される。
【００４５】
アプリ制御部１６およびアプリ表示制御部１７は、プログラマブル表示器２にて動作させるアプリケーションに係る制御を行う。アプリ制御部１６は、記憶部３０からアプリプログラム３１を読み出し実行することで、アプリを動作させる。また、アプリ制御部１６は、後述する座標処理部１４から最新のマーカ座標を受信し、当該座標の値に応じてアプリの制御を行ってもよい。アプリ表示制御部１７は、アプリ制御部１６の指示に従って、アプリ制御部１６が動作させているアプリのＵＩ（User Interface）等、当該アプリに係る画像をディスプレイ２０に表示させる。
【００４６】
視点座標取得部１１は、アイトラッカー１から視点座標を取得する。視点座標取得部１１は特定または取得した視点座標を算出部１３に送る。なお、アイトラッカー１から視点座標の算出の材料となるデータが送られてくる場合は、視点座標取得部１１において当該検出データから視点座標を算出すればよい。またこの場合、視点座標のキャリブレーションも視点座標取得部１１において行えばよい。
【００４７】
マーカ座標取得部１２は、視点マーカＡのディスプレイ２０上での位置座標（マーカ座標）を取得する。マーカ座標は、制御部１０自体に一時的に記憶されていてもよいし、記憶部３０に記憶されていてもよい。マーカ座標取得部１２はマーカ座標を算出部１３に送る。
【００４８】
算出部１３は、受信した視点座標およびマーカ座標と、視点マーカの現在の移動方向の単位ベクトル（第２ベクトル）とから、視点マーカの回転速度および移動速度を決定する。なお、第２ベクトルは制御部１０または記憶部３０に記憶しておき、算出部１３が処理時に適宜読み出せばよい。算出部１３は、より詳しくは、第１算出部（算出部）１３１と、第２算出部（回転速度決定部）１３２と、第３算出部（移動速度決定部）１３３とを含む。
【００４９】
第１算出部１３１は、視点マーカの現在位置から視点座標が示す位置へのベクトル（第１ベクトル）を算出する。また、第１算出部１３１は、第１ベクトルの大きさと、第１ベクトルおよび第２ベクトルのなす挟角とに基づいて、視点マーカを図３の（ａ）に示したような基底状態に戻すか否かを判定し、必要に応じて視点マーカの回転加速度および移動加速度を補正する処理（加速度補正処理）を行う。
【００５０】
第２算出部１３２は、第１ベクトルの向きと第２ベクトルの向きとに基づいて、視点マーカの回転速度を決定する処理（回転速度決定処理）を行う。第３算出部１３３は、第１ベクトルの大きさと第２ベクトルの大きさとに基づいて、回転後の第２ベクトルの方向に対する、視点マーカの移動速度を決定する処理（移動速度決定処理）を行う。算出部１３は、決定した視点マーカの回転速度および移動速度を座標処理部１４に送る。
【００５１】
座標処理部１４は、視点マーカの回転速度と移動速度とから、次フレームでディスプレイ２０に表示する視点マーカの位置座標（次のマーカ座標）を特定する。座標処理部１４は特定した次のマーカ座標をマーカ表示制御部１５に送るとともに、制御部１０または記憶部３０に記憶させる。また、座標処理部１４は、現在のマーカ座標と次のマーカ座標とから視点マーカの移動方向を特定することにより、第２ベクトルを算出し制御部１０または記憶部３０に記憶させる。
【００５２】
マーカ表示制御部１５は、ディスプレイ２０の次のマーカ座標が示す位置に視点マーカを表示させる。なおこのとき、視点マーカはアプリ表示制御部１７が表示させるアプリのＧＵＩ等の画像に重畳して、ディスプレイ２０に表示される。
【００５３】
≪表示制御処理≫
続いて、制御部１０が行う視点マーカの表示制御に係る処理（表示制御処理）について、図４を用いて説明する。図４は表示制御処理の流れを示すフローチャートである。
【００５４】
なお、図４に示す表示制御処理は、プログラマブル表示器２の起動中でアイトラッカー１の視点座標の検出および視点座標取得部１１への送信が開始したときから開始される。また、当該表示制御処理の開始時、すなわち初回の処理時には、マーカ座標、第２ベクトル、視点マーカの回転速度および回転加速度、視点マーカの移動速度および移動加速度が既定の初期値に設定される。そして、２回目以降の処理時には、前回の処理時に設定したマーカ座標、第２ベクトル、視点マーカの回転速度および回転加速度、視点マーカの移動速度および移動加速度を用いて各種処理を行う。
【００５５】
なお、以下で説明する図４のＳ１０〜Ｓ２０の処理はアイトラッカー１の視点座標の検出間隔（アイトラッカー１のフレームレート）で行われ、Ｓ２２の処理はディスプレイ２０の表示更新の間隔（ディスプレイ２０のフレームレート）で行われる。
【００５６】
視点座標取得部１１がアイトラッカー１から所定の時間間隔で視点座標を取得するとともに、マーカ座標取得部１２は上記時間間隔で制御部１０または記憶部３０からマーカ座標を読み出す（Ｓ１０、第１座標取得ステップ、第２座標取得ステップ）。視点座標およびマーカ座標は算出部１３へ送られる。
【００５７】
算出部１３は第１算出部１３１において、視点座標およびマーカ座標から第１ベクトルを算出する（Ｓ１２、算出ステップ）。さらに第１算出部１３１は、第１ベクトルの大きさと、第１ベクトルおよび第２ベクトルのなす挟角とに基づき加速度補正処理を行う（Ｓ１４、加速度補正ステップ）。加速度補正処理が終わると、第２算出部１３２が第１ベクトルの向きと第２ベクトルの向きとから、視点マーカの回転速度を決定する回転速度決定処理を行う（Ｓ１６、回転速度決定ステップ）。回転速度決定処理が終わると、第３算出部１３３が、第１ベクトルの大きさと第２ベクトルの大きさとから、視点マーカの移動速度を決定する移動速度決定処理を行う（Ｓ１８、移動速度決定ステップ）。加速度補正処理、回転速度決定処理、および移動速度決定処理については後で詳述する。算出部１３は第２算出部１３２が算出した視点マーカの回転速度と、第３算出部１３３が算出した移動速度とを、座標処理部１４に送る。
【００５８】
座標処理部１４は、第２算出部１３２が決定した回転速度で視点マーカの移動方向を回転させ、さらに上記回転後の移動方向に、第３算出部１３３が決定した移動速度で座標を移動させた座標を、次のマーカ座標に決定する（Ｓ２０）。座標処理部１４は決定した次のマーカ座標を制御部１０または記憶部３０に記憶させるとともにマーカ表示制御部１５に送り、マーカ表示制御部１５はディスプレイ２０の表示更新のタイミングで、受信した次のマーカ座標に応じた位置に視点マーカを表示させる（Ｓ２２、表示制御ステップ）。
【００５９】
次に、加速度補正処理（Ｓ１４）、回転速度決定処理（Ｓ１６）、および移動速度決定処理（Ｓ１８）について、図５〜図８を用いて詳細に説明する。図５は、視点座標ａ１、マーカ座標ｂ１、第１ベクトルα、第２ベクトルβ、および第１ベクトルと第２ベクトルとのなす挟角θを、視覚的に示した模式図である。図６〜図８はそれぞれ、加速度補正処理、回転速度決定処理、および移動速度決定処理の流れを示すフローチャートである。以降、図６〜図８では、図５にて示された符号を用いて処理の説明を行う。
【００６０】
≪加速度補正処理≫
図５に示すように視点座標ａ１、マーカ座標ｂ１、および第２ベクトルβが与えられた場合、まず第１算出部１３１において視点座標ａ１とマーカ座標ｂ１とから第１ベクトルαが算出され、その後加速度補正処理が行われる。図６は加速度補正処理の流れを示すフローチャートである。第１算出部１３１は算出した第１ベクトルαの絶対値が０であるか否かを判定する。換言すると、第１算出部１３１は、視点座標とマーカ座標が一致しているか否かを判定する（Ｓ１４１）。図５に示すように、第１ベクトルαの大きさが０でない場合（Ｓ１４１でＮＯ）、第１算出部１３１は第１ベクトルαの向きおよび大きさを、以降の処理にそのまま使用する。
【００６１】
一方、第１ベクトルαの大きさが０である場合（Ｓ１４１でＹＥＳ）、第１算出部１３１は、第１ベクトルαを規定の向きおよび大きさのベクトルとする（Ｓ１４２）。なお、この場合の第１ベクトルαの向きは特に限定されないが、大きさは設定可能な値の最小値であることが望ましい。これは、第１ベクトルの大きさが、後述する移動速度決定処理において移動速度、すなわち単位時間あたりの移動距離に関わってくるためである。第１ベクトルαの大きさが０、すなわち視点座標がマーカ座標と一致している場合に第１ベクトルαの大きさを最小値とすることにより、上記移動距離が最小限に抑えられる。これにより、視点マーカは図３の（ａ）に示したように、微小に移動する基底状態となる。
【００６２】
このように第１ベクトルαを必要に応じて補正した後、第１算出部１３１は、第１ベクトルαと第２ベクトルβとの挟角θが所定の角度より大きいか否かを判定する（Ｓ１４３）。
【００６３】
当該判定は、例えば第１ベクトルαと第２ベクトルβとの内積によって判断できる。θが所定の角度より大きい場合（Ｓ１４３でＹＥＳ）、すなわち、第１ベクトルαと第２ベクトルβとに共通する方向成分が一定以下である場合、第１算出部１３１は、マーカの回転加速度および移動加速度を最小値に設定する（Ｓ１４４）。回転加速度および移動加速度の最大値および最小値は基底状態に移行できる程度の値に適宜定められればよい。また、上記最小値はそれぞれ、マイナスの値であってもよい。一方、θが所定の角度以下の場合（Ｓ１４３でＮＯ）、第１算出部１３１はＳ１４４の処理を行わない。
【００６４】
なお、所定の角度の値は適宜定められてよい。例えば、所定の角度を９０°と定めることにより、良好な追従性を有する視点マーカＡを実現することができ、ユーザに良好な操作感を与えることができる。ここで、挟角θが９０°より大きい場合とは、第１ベクトルαと第２ベクトルβとは同じ方向成分を持たないことを意味する。つまり、挟角θが９０°より大きい場合、視点マーカＡが移動方向に移動すると、視点マーカＡが視点座標ａ１から遠ざかる方向に動くこととなる。挟角θが９０°より大きい場合に、マーカの回転加速度および移動加速度を最小値に設定する（Ｓ１４４）ことで、視点マーカＡが視点座標ａ１から遠ざかる方向へ移動することを抑制して基底状態に移行することができる。このように、視点マーカＡが視点座標ａ１から遠ざかる方向へ移動する場合に視点マーカＡの回転速度および移動速度を低下させることで、良好な追従性を実現することができる。
【００６５】
≪回転速度決定処理≫
次に、算出部１３は第２算出部１３２において、回転速度算出処理を行う。図７は、回転速度算出処理の流れを示すフローチャートである。第２算出部１３２は、視点マーカの回転速度を、定められた回転加速度の値だけ増減させる（Ｓ１６１）。ここで、「定められた回転加速度」とは、回転加速度の初期値か、図６のＳ１４４にて設定された回転加速度か、もしくは前回（前フレーム）の回転速度算出処理で算出された回転加速度である。
【００６６】
第２算出部１３２はさらに、上記回転加速度を増減することで、単位時間（ディスプレイ２０の１フレーム）当たりの回転角度がθを超えるか否かを判定する（Ｓ１６２）。回転角度がθを超える場合（Ｓ１６２でＹＥＳ）、すなわち視点マーカの移動方向の回転角度が、回転させるべき角度を超えてしまった場合、第２算出部１３２は回転速度、すなわち単位時間当たりの回転角度をθに設定する（Ｓ１６３）。さらに第２算出部１３２は回転加速度を最小値に設定する（Ｓ１６４）。これにより、次フレームの回転速度決定処理における回転加速度は最小値となる。
【００６７】
一方、回転角度がθを超えない場合（Ｓ１６２でＮＯ）、すなわち視点マーカの移動方向の回転角度が足りない場合、第２算出部１３２は視点マーカの回転加速度を規定値だけ増加させる（Ｓ１６６）。なおこの場合、Ｓ１６３〜Ｓ１６５の処理は行わない。
【００６８】
以上の処理により、視点マーカの回転速度が決定される。また、次フレームでの回転速度決定処理に利用する回転加速度も設定される。さらに、第２算出部１３２は、視線マーカの移動加速度を増加させる（Ｓ１６５）。
【００６９】
以上の処理によると、第２算出部１３２は視点マーカの回転速度に回転加速度の値を増減算することで、適切な回転速度、すなわち単位時間当たりの回転角度を決定する。さらに、複数フレームでの表示制御処理（複数回の回転速度決定処理）で言えば、マーカ座標と視点座標とのなす挟角θが所定の角度以下の場合、図６のＳ１４４での回転加速度の最小値の設定が行われず、Ｓ１６１で回転加速度が加算され続けることになる。したがって、挟角θが所定の角度以下の範囲で大きくなるほど、視点マーカの回転速度は速い速度に決定される。
【００７０】
≪移動速度決定処理≫
さらに、算出部１３は第３算出部１３３において、移動速度算出処理を行う。図７は、移動速度算出処理の流れを示すフローチャートである。第３算出部はまず始めに、定められた移動加速度を加えた後の、視点マーカの単位時間当たりの移動速度が第１ベクトルαの絶対値に到達するか否かを判定する（Ｓ１８１）。ここで、「定められた移動加速度」とは、移動加速度の初期値か、図６のＳ１４４にて設定された移動加速度か、もしくは前回（前フレーム）の回転速度算出処理のＳ１６５にて増加させられた後の移動加速度である。
【００７１】
移動速度が第１ベクトルαの絶対値に到達しない場合（Ｓ１８１でＮＯ）、第３算出部１３３は視点マーカの移動速度に、移動加速度の値をさらに加算する（Ｓ１８２）。一方、移動速度が第１ベクトルαの絶対値に到達する場合（Ｓ１８１でＹＥＳ）、第３算出部１３３はＳ１８２に示す移動加速度の加算を行わず、処理を終了する。
【００７２】
以上の処理によると、第３算出部１３３はマーカ座標と視点座標との距離が第１ベクトルの大きさに及ばない場合、上記移動速度を速くする。したがって、複数フレームでの表示制御処理（複数回の移動速度決定処理）で言えば、マーカ座標と視点座標との距離が長いほど、視点マーカの移動速度は速くなる。
【００７３】
このように、図４および図６〜図８の一連の処理によれば、マーカ座標から視点座標へのベクトルに応じて回転速度および移動速度、すなわち単位時間（ディスプレイ２０の１フレーム期間）当たりの視点マーカの回転角度および移動距離が決定される。換言すると、視点座標が取得されるごとに、視点マーカの回転角度と移動距離が算出され、視点マーカが移動される。したがって、例えば加重移動平均法など、複数の視点座標の平均値から視点マーカの表示位置を決定する場合に比べ、視点座標の検出から視点マーカの表示までのタイムラグが生じない。したがって、視点マーカを高い追従性で表示させることができる。
【００７４】
ところで、従来技術においては視点マーカの追従性が低かったため、ユーザが操作性に違和感を抱くことや、視点マーカを目線で追いかけることで視点マーカがユーザの指定したかった点から離れていく（目線が逃げる）という現象が生じることがあった。
【００７５】
これらの問題を防ぐためには、視点マーカをユーザに注視させない、または注視しても問題ない表示様式にする必要がある。具体的には、従来技術では、点や十字線などごく小さい視認性の低いマーカを視点マーカとして表示する、視点マーカをスポットライトマーカとしてぼんやりと示す、視点マーカに注視点を追従させずに静的に表示する等の方法で視点マーカを表示していた。換言すると、従来技術では、視点マーカの大きさ、形状、および表示様式が制限されており、視認性のよいマーカやポインタを視点マーカとして表示することができなかった。
【００７６】
これに対し、上記の方法によれば、高い追従性を持った視点マーカを表示させることができるため、上述した視点マーカの大きさ、形状、および表示様式の制限が不要である。そのため、ユーザに操作性の違和感や不快感を抱かせることや、上述した目線が逃げる現象を起こさずに、視認性の高い視点マーカを表示できるという利点も生じる。
〔実施形態２〕
本発明の一態様に係る表示システム１００のアイトラッカー１は、視点座標とともに、ユーザの左右の目の開閉状態を特定し、視点座標取得部１１はアイトラッカー１から上記視点座標とともに上記開閉状態を示す情報を取得してもよい（開閉状態取得ステップ）。この場合、視点座標取得部１１は取得した上記開閉状態を示す情報をマーカ表示制御部１５に送信し、マーカ表示制御部１５は左右の目の上記開閉状態を視点マーカに重畳して表示させてもよい。以下、本発明の第２の実施形態について、図９〜１０に基づいて説明する。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【００７７】
図９の（ａ）〜（ｃ）は、本実施形態においてマーカ表示制御部１５が表示させる視点マーカＡの一例を示している。図示の通り、視点マーカＡには、ユーザの左右の目に対応する開眼状態インジケータＡ１およびＡ２が重畳して表示される。図９の（ａ）はユーザの両目が開状態の場合を、図９の（ｂ）はユーザの右目のみ開状態の場合を、図９の（ｃ）はユーザの両目が閉状態の場合を示している。このように、視点マーカＡとともに目の開閉状態を表示することにより、例えば画面の端に開眼状態インジケータを表示する場合に比べ、余計な視点移動を伴うことなく、アイトラッカー１の視線検出の健全性をリアルタイムに把握することができる。
【００７８】
さらに、本実施形態に係る視点座標取得部１１は、ユーザの左右少なくとも一方の目、または両目の開状態を示す情報を取得した場合に、当該情報とともに取得した視点座標を有効とし、算出部１３に送って以降の処理を行わせてもよい。図１０の（ａ）および（ｂ）は、ディスプレイ２０に表示されたアイコンＢ１を、視線マーカによって選択させる例を示したものである。図１０の例では、ユーザが両目でアイコン（Ｂ１およびＢ２）を注視した場合にのみ、アイコンが選択できる。
【００７９】
これにより、ユーザが両目または片目を閉じている状態の視点座標など、誤検出またはユーザが確実に注視しているとは言えない視点検出結果については無視することができる。したがって、視点マーカＡの追従性を向上させることができる。また、図１０に示したように視点マーカＡをポインタとして利用する場合、すなわちマーカ座標をプログラマブル表示器２のアプリの制御に用いる場合、視点による操作の信頼性を向上させることができる。
〔実施形態３〕
上記各実施形態に係るプログラマブル表示器２のアプリ制御部１６は、視点座標取得部１１から視点座標を受信し、視点座標がディスプレイ２０の表示面上の所定の範囲内（所定の座標領域内）であった回数（フレーム数）を測定してもよい（測定ステップ）。または、アプリ制御部１６は、座標処理部１４からマーカ座標を受信し、マーカ座標がディスプレイ２０の表示面上の所定の範囲内（所定の座標領域内）であったフレーム数を測定してもよい。
【００８０】
例えば、アプリ制御部１６は視点座標またはマーカ座標が、上記所定の座標領域に含まれるか否かを判定し、含まれる場合はフレーム数をカウントし、含まれない場合は上記カウントしているフレーム数を０に戻しても良い。これにより、ユーザが所定の領域を見つめている時間（フレーム数）を測定することができる。
【００８１】
さらに、アプリ制御部１６はアプリの制御に上記マーカ座標と上記測定結果とを利用してもよい。図１１は、アプリ制御部１６の制御に従いアプリ表示制御部１７がディスプレイ２０に表示させているアプリ画像と、視点マーカＡとを示す図である。
【００８２】
アプリ制御部１６は、例えば図１１の（ａ）に示すように、アプリ画像として注意事項Ｃを表示させているときに、視点座標またはマーカ座標が注意事項Ｃの領域内で所定のフレーム数連続して測定された場合（すなわち、視点マーカＡが注意事項Ｃの領域内に所定のフレーム数連続して表示されているとき）は、注意事項Ｃの下部にある操作ボタンＤ１〜Ｄ３を選択可能としてもよい。またアプリ制御部１６は、図１１の（ｂ）に示すように、視点座標またはマーカ座標がアプリ画像の所定の領域Ｄにおいて測定されている期間だけ、かつ領域Ｄに含まれるボタンＤ２のみ選択可能としてもよい。
【００８３】
なお、上述したボタンＤ１〜Ｄ３の選択は視点マーカで実行可能でもよいし、ディスプレイ２０に重畳されて形成されたタッチパネルや、キーボードやマウス等、プログラマブル表示器２に接続されたその他の入力装置によって行われても良い。
〔変形例〕
なお、上記各実施形態に係るプログラマブル表示器２は、アイトラッカー１による視線検出以外の方法で連続的に指定される位置座標（上記各実施形態に係る視点座標）を受信し、当該位置座標を追従するようにマーカ（上記各実施形態に係る視点マーカＡ）を表示させてもよい。具体的には、表示システム１００にアイトラッカー１の代わりにジェスチャや手の平の動きを認識する装置を備え、プログラマブル表示器２の視点座標取得部１１はユーザの手指の動きで示される位置座標を取得してもよい。この場合のマーカの表示制御方法は、上述した各実施形態に係る表示制御方法と同様である。これにより、ユーザに習得が容易かつ快適な操作方法でのインタフェースを提供することができる。
【００８４】
また、上記各実施形態に係るプログラマブル表示器２は、ディスプレイ２０の表示面において連続的に指定される位置座標を追従するオブジェクトを表示させることができれば、プログラマブル表示器以外の電子機器であってもよい。例えば、プログラマブル表示器２は、ノートＰＣやタブレットＰＣ等の汎用コンピュータであってもよい。
【００８５】
〔ソフトウェアによる実現例〕
制御部１０の制御ブロック（特に視点座標取得部１１、マーカ座標取得部１２、算出部１３、座標処理部１４、およびマーカ表示制御部１５）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００８６】
後者の場合、制御部１０は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００８７】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【００８８】
１  アイトラッカー
２  プログラマブル表示器
１０  制御部（表示制御装置）
１１  視点座標取得部（第１座標取得部）
１２  マーカ座標取得部（第２座標取得部）
１３  算出部
１３１  第１算出部（算出部）
１３２  第２算出部（回転速度決定部）
１３３  第３算出部（移動速度決定部）
１４  座標処理部
１５  マーカ表示制御部（表示制御部）
１６  アプリ制御部
１７  アプリ表示制御部
２０  ディスプレイ（表示部）
３０  記憶部
３１  アプリプログラム
【図１】
2018013926.tif 000003
【図２】
2018013926.tif 000004
【図３】
2018013926.tif 000005
【図４】
2018013926.tif 000006
【図５】
2018013926.tif 000007
【図６】
2018013926.tif 000008
【図７】
2018013926.tif 000009
【図８】
2018013926.tif 000010
【図９】
2018013926.tif 000011
【図１０】
2018013926.tif 000012
【図１１】
2018013926.tif 000013