(57)【要約】【課題】利用者の所望のポインティング位置を特定するまでに要する時間を短くする。【解決手段】ポインティング支援装置１００は、画面上の利用者の視線位置を検出する。ポインティング支援装置１００は、視線位置により特定される領域の中における、視線位置の分布に基づいて、ポインタの位置を特定するための方向を走査する回転の基準位置およびまたは方向を走査する開始位置を決定する。ポインティング支援装置１００は、基準位置およびまたは開始位置を基にして決定した初期位置にポインタを表示する。【選択図】図５
2018010345.tif 000002
【特許請求の範囲】
【請求項１】
画面上の利用者の視線位置を検出する視線位置検出部と、
前記視線位置により特定される領域の中における、前記視線位置の分布に基づいて、ポインタの位置を特定するための方向を走査する回転の基準位置およびまたは前記方向を走査する開始位置を決定する決定部と、
前記基準位置およびまたは前記開始位置を基にして決定した初期位置にポインタを表示するポインタ表示部と、
を有することを特徴とするポインティング支援装置。
【請求項２】
前記決定部は、スイッチが押下された第１時刻と、前記第１時刻から所定時間前の第２時刻とを特定し、前記第１時刻から前記第２時刻までの特定期間に検出された視線位置の分布に基づいて、前記基準位置およびまたは前記開始位置を決定することを特徴とする請求項１に記載のポインティング支援装置。
【請求項３】
前記決定部は、前記特定期間に検出された視線位置を含む円を特定し、前記円の中心から前記基準位置までの距離と、前記中心と前記基準位置とを通る第１直線および前記基準位置と前記円の接点とを通る第２直線のなす角に基づいて、前記基準位置を決定することを特徴とする請求項２に記載のポインティング支援装置。
【請求項４】
前記決定部は、前記距離を所定の速度で除算した値と、前記なす角を所定の角速度で除算した値との合計値が最小となる基準位置を決定することを特徴とする請求項３に記載のポインティング支援装置。
【請求項５】
前記決定部は、前記特定期間内に検出された複数の視線位置のうち、最後に検出された視線位置を前記基準位置として決定することを特徴とする請求項２に記載のポインティング支援装置。
【請求項６】
コンピュータが実行するポインティング支援方法であって、
画面上の利用者の視線位置を検出し、
前記視線位置により特定される領域の中における、前記視線位置の分布に基づいて、ポインタの位置を特定するための方向を走査する回転の基準位置およびまたは前記方向を走査する開始位置を決定し、
前記基準位置およびまたは前記開始位置を基にして決定した初期位置にポインタを表示する
各処理を実行することを特徴とするポインティング支援方法。
【請求項７】
コンピュータに、
画面上の利用者の視線位置を検出し、
前記視線位置により特定される領域の中における、前記視線位置の分布に基づいて、ポインタの位置を特定するための方向を走査する回転の基準位置およびまたは前記方向を走査する開始位置を決定し、
前記基準位置およびまたは前記開始位置を基にして決定した初期位置にポインタを表示する
各処理を実行させることを特徴とするポインティング支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポインティング支援装置等に関する。
【背景技術】
【０００２】
近年、ＧＵＩ（Graphical  User  Interface）を備えるＰＣ（Personal  computer）、タブレット端末、スマートフォン等の情報機器が普及している。利用者は、ＧＵＩの任意の位置にあるアイコン、ボタン、コマンドタブ等のターゲットをポインティングすることで、情報機器を操作する。
【０００３】
情報機器に対するポインティングは、利用者の上肢によるマウス操作や、タッチパッド、タッチパネル上の手指による操作で行われる。このため、上肢や手指がうまく機能しない肢体不自由者や高齢者等は、ＧＵＩを備えた情報機器を操作することができなかった。
【０００４】
この問題について、上肢や手指による直接的な操作を行わなくても、利用者の画面上の視線位置を検出して、ポインティングを行うことを可能とする視線入力の技術がある。例えば、視線入力によりポインティングを行う技術の一例として、従来技術１がある。
【０００５】
従来技術１では、画面上の利用者の視線位置と、入力デバイスのポインタ位置との距離を算出し、距離が大きいほど、ポインタを視線位置に移動させる際の単位時間当たりの移動量を大きくする技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２８７８２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術では、利用者が所望するポインティング位置を特定するまでに要する時間を短くすることができないという問題がある。
【０００８】
例えば、人間の眼は細かく揺れる場合があり、眼の揺れにより、視線位置が目標物近辺において散在して検出される場合がある。また、眼球の個人差により、視線位置が本来検出される位置からシフトして検出される場合がある。このような場合には、利用者が所望するポインティング位置を特定するまでに時間を要してしまう。
【０００９】
１つの側面では、本発明は、利用者が所望するポインティング位置を特定するまでに要する時間を短くすることができるポインティング支援装置、ポインティング支援方法およびポインティング支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
第１の案では、ポインティング支援装置は、視線位置検出部と、決定部と、ポインタ表示部とを有する。視線位置検出部は、画面上の利用者の視線位置を検出する。決定部は、視線位置により特定される領域の中における、視線位置の分布に基づいて、ポインタの位置を特定するための方向を走査する回転の基準位置およびまたは方向を走査する開始位置を決定する。ポインタ表示部は、基準位置およびまたは開始位置を基にして決定した初期位置にポインタを表示する。
【発明の効果】
【００１１】
利用者の所望のポインティング位置を特定するまでに要する時間を短くできる。
【図面の簡単な説明】
【００１２】
【図１】図１は、参考例を説明するための図である。
【図２】図２は、参考例の問題点を説明するための図である。
【図３】図３は、本実施例１に係るポインティング支援装置の一例を示す図である。
【図４】図４は、本実施例１に係るポインティング支援装置の処理を説明するための図である。
【図５】図５は、本実施例１に係るポインティング支援装置の構成を示す機能ブロック図である。
【図６】図６は、視線位置テーブルのデータ構造の一例を示す図である。
【図７】図７は、経路定義テーブルのデータ構造の一例を示す図である。
【図８】図８は、第１経路定義を説明するための図である。
【図９】図９は、本実施例１の決定部が基準位置を算出する処理の一例を説明するための図である。
【図１０】図１０は、本実施例１に係るポインティング支援装置の処理手順を示すフローチャートである。
【図１１】図１１は、本実施例２に係るポインティング支援装置の構成を示す機能ブロック図である。
【図１２】図１２は、本実施例２の決定部が開始位置を算出する処理の一例を説明するための図である。
【図１３】図１３は、本実施例２に係るポインティング支援装置の処理手順を示すフローチャートである。
【図１４】図１４は、ポインティング支援装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示するポインティング支援装置、ポインティング支援方法およびポインティング支援プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１４】
本実施例１の説明を行う前に、入力ボタンと視線入力との組み合わせによりポインティングを支援する参考例について説明する。この参考例は従来技術ではない。図１は、参考例を説明するための図である。
【００１５】
参考例として説明する支援装置は、画面４０上の利用者の視線位置を検出する。支援装置は、視線位置を起点として移動するポインタの経路を、利用者の入力ボタンによる選択を受け付ける度に、所定の経路定義情報に従ってパターンを変えつつポインタを移動させる技術である。
【００１６】
ステップＳ１０について説明する。画面４０に、ポインティングのターゲット３０と、視線位置２０とが存在する。支援装置は、図示しない視線位置検出部から取得する視線位置の情報を基にして、視線位置２０の位置を特定する。支援装置は、図示しないスイッチのボタンが押されるまでは、視線位置検出部から視線位置２０の情報を取得する度に、視線位置２０を更新する。
【００１７】
ステップＳ１１について説明する。利用者によってスイッチのボタンが押下され、スイッチから信号を受け付けると、視線位置２０をポインタの初期位置とする。例えば、支援装置は、スイッチのボタンが押下されている間、直進移動バー２１を表示させ、初期ポインタの位置２０を中心として、直進移動バー２１を回転させる。
【００１８】
ステップＳ１２について説明する。利用者は画面４０を参照し、直進移動バー２１が、ターゲット３０と重なったタイミングで、スイッチのボタンを押下する。支援装置は、スイッチのボタンが押下されたことを検出すると、直進移動バー２１の回転を停止する。続いて、支援装置は、直進移動バー２１が示す方向に直進移動バー２１を直進移動させる。
【００１９】
ステップＳ１３について説明する。利用者は画面４０を参照し、直進移動バー２１の起点（ポインタ位置２０）が、ターゲット３０と重なった時点で、スイッチのボタンを押下する。支援装置は、直進移動バー２１の起点（ポインタ位置２０）が、ターゲット３０と重なった時点で、スイッチのボタンが押下されたことを検出すると、ターゲット３０が選択されたと判定する。支援装置は、ターゲット３０が選択されたことによる所定の処理を実行する。
【００２０】
図１のステップＳ１０〜ステップＳ１３に示した処理を支援装置が実行することで、例えば、視線位置がターゲット付近で散在する場合や、視線位置がシフトしても、視線入力により適切にポインティングを実行することができる。
【００２１】
しかしながら、参考例では、図２に示すような問題がある。図２は、参考例の問題点を説明するための図である。例えば、直進移動バー２１が左方向に回転する場合、視線位置２０の右側にターゲット３０が存在していると、直進移動バー２１がターゲット３０に到達するまでに時間を要してしまう。なお、利用者が直線移動バー２１の回転方向を指定することも考えられるが、直線移動バー２１が表示される度に、回転方向を逐一指定することは、利用者の負担になる。
【００２２】
続いて、本実施例１に係るポインティング支援装置について説明する。図３は、本実施例１に係るポインティング支援装置の一例を示す図である。図３に示すように、ポインティング支援装置１００は、視線入力部１１０と、スイッチ１２０と、表示部１３０とを有する。
【００２３】
視線入力部１１０は、利用者の視線を入力するための装置である。例えば、視線入力部１１０は、ＬＥＤ（Light  Emitting  Diode）１１０ａと、カメラ１１０ｂとを有する。視線入力部１１０は、ＬＥＤ１１０ａに光を照射させ、カメラ１１０ｂにより、利用者の顔画像を撮影する。視線入力部１１０は、カメラ１１０ｂにより撮影された顔画像のデータを、ポインティング支援装置１００に出力する。ポインティング支援装置１００は、顔画像のデータを基にして、利用者の視線位置を算出する。
【００２４】
スイッチ１２０は、利用者によって押下可能なボタンを有するスイッチである。スイッチ１２０は、ボタンが押下されているか否かの信号を、ポインティング支援装置１００に出力する。
【００２５】
表示部１３０は、ポインティング支援装置１００から出力される各種の情報を表示する表示装置である。表示部１３０は、液晶ディスプレイやタッチパネル等に対応する。
【００２６】
図４は、本実施例１に係るポインティング支援装置の処理を説明するための図である。図４のステップＳ２０について説明する。ポインティング支援装置１００は、視線入力部１１０から受け付ける顔画像のデータを基にして、利用者の視線位置１−１〜１−１３を順次検出する。例えば、各視線位置１−１〜１−１３は、検出時刻と対応付けられる。なお、利用者がポインティングを行うターゲットをターゲット３５とする。
【００２７】
図４のステップＳ２１について説明する。利用者がポインティングを行う場合には、スイッチ１２０を押下する。ポインティング支援装置１００は、スイッチ１２０からスイッチ１２０が押下された信号を受け付けると、停留期間において検出された視線位置を特定する。スイッチ１２０が押下された時刻を押下時刻とし、押下時刻から所定時間前の時刻を基準時刻とすると、停留期間は、押下時刻から基準時刻までの期間に対応する。停留期間に検出された視線位置を、視線位置１−４〜１−１３とすると、ポインティング支援装置１００は、視線位置１−４〜１−１３を含む注視エリア３６を特定する。
【００２８】
図４のステップＳ２２について説明する。ポインティング支援装置１００は、注視エリア３６に含まれる視線位置の分布を基にして、直進移動バー５５が回転する場合の基準位置５０を決定し、直進移動バー５５の開始位置を決定する。直進移動バー５５の開始位置は、図４に示すように、直線３６ｂと重複する位置となる。直線３６ｂは、基準位置５０と、注視エリア３６の円の接点３６ａとを通る直線である。ポインティング支援装置１００は、直進移動バー５５を、注視エリア３６により速く到達する方向に回転させ、利用者のポインティングを支援する。ポインティング支援装置１００は、スイッチ１２０から利用者に押下された旨の信号を受け付ける度に、図１の参考例のステップＳ１１〜Ｓ１３で説明したように、直進移動バー５５を移動させる。
【００２９】
続いて、ポインティング支援装置１００の構成について説明する。図５は、本実施例１に係るポインティング支援装置の構成を示す機能ブロック図である。図５に示すように、このポインティング支援装置１００は、視線入力部１１０と、スイッチ１２０と、表示部１３０と、タイマ１３５と、記憶部１４０と、制御部１５０とを有する。
【００３０】
視線入力部１１０、スイッチ１２０、表示部１３０に関する説明は、図３で説明した視線入力部１１０、スイッチ１２０、表示部１３０に関する説明と同様である。
【００３１】
タイマ１３５は、現在時刻の情報を制御部１５０に出力する装置である。
【００３２】
記憶部１４０は、視線位置テーブル１４１と、経路定義テーブル１４２とを有する。記憶部１４０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００３３】
視線位置テーブル１４１は、視線位置の情報を保持するテーブルである。図６は、視線位置テーブルのデータ構造の一例を示す図である。図６に示すように、視線位置テーブル１４１は、識別番号、視線位置、検出時刻を対応付ける。識別番号は、視線位置テーブル１４１のレコードを一意に識別する番号である。視線位置は、画面上の視線の位置（座標）を示す情報である。検出時刻は、視線位置を検出した時刻を示す情報である。
【００３４】
経路定義テーブル１４２は、ポインタを移動させる経路および経路の移動パターンを定義した経路定義情報を保持するテーブルである。図７は、経路定義テーブルのデータ構造の一例を示す図である。図７に示すように、この経路定義テーブル１４２は、経路定義識別情報と、複数の手順とを対応付ける。経路定義識別情報は、経路定義を一意に識別する情報である。手順は、経路を移動させる手順または経路に沿ってポインタを移動させる手順を示すものである。経路定義には様々なものがあるが、ここでは一例として、第１経路定義について説明する。
【００３５】
図８は、第１経路定義を説明するための図である。第１経路定義は、手順１と、手順２とを有する。第１経路定義の手順１は、現在のポインタ位置１０から、直進移動バー５５を表示し、基準位置５０を中心にして、直進移動バー５５を回転移動させる手順である。
【００３６】
第１経路定義の手順２は、第１経路定義の手順１で方向が確定した直進移動バー５５を、直進移動バー５５が示す方向に直進移動させる手順である。基準位置５０ａは、直進移動バー５５の移動に合わせて移動する。
【００３７】
制御部１５０は、視線位置検出部１５１と、決定部１５２と、ポインタ表示部１５３とを有する。制御部１５０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。また、制御部１５０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。
【００３８】
視線位置検出部１５１は、表示部１３０の画面上の利用者の視線位置を検出する処理部である。視線位置検出部１５１は、ユニークな識別番号と、視線位置と、検出時刻とを対応付けて、視線位置テーブル１４１に登録する。視線位置検出部１５１は、視線位置を検出した時刻を、タイマ１３５から取得し、取得した時刻を検出時刻とする。
【００３９】
視線位置検出部１５１は、どのような従来技術を用いて、人物の視線位置を検出しても良い。例えば、視線位置検出部１５１は、視線入力部１１０から顔画像データを取得する度に、顔画像データを画像解析し、利用者の目の基準点と、動点とを特定する。視線検出部１５１は、基準点と動点との関係から、利用者の視線位置を検出する。基準点と動点との組は、利用者の目に関する目頭と虹彩、または、利用者の目に関する角膜反射と瞳孔となる。視線位置検出部１５１は、特開２０１２−１８７１９０号公報に記載された技術を用いて、視線位置を検出しても良い。
【００４０】
決定部１５２は、利用者によりスイッチ１２０のボタンが押下された場合に、視線位置テーブル１４１を基にして、図４で説明したように、直進移動バー５５の基準位置および開始位置を決定する処理部である。以下において、決定部１５２の処理の一例について説明する。
【００４１】
決定部１５２は、スイッチ１２０のボタンが押下された信号を受け付けると、停留期間において検出された視線位置を特定する。上記のように、停留期間は、基準時刻から押下時刻までの期間に対応する。決定部１５２は、視線位置テーブル１４１に登録された視線位置のうち、停留期間に含まれる検出時刻に検出された視線位置を抽出する。
【００４２】
決定部１５２は、抽出した視線位置を含む注視エリアを特定し、特定した注視エリアを基にして、基準位置を算出する。例えば、注視エリアは、抽出した視線位置を全て含む真円である。また、注視エリアの円の半径は、抽出した視線位置が全て含まれるという制約条件の下で、最小の半径とする。
【００４３】
図９は、本実施例１の決定部が基準位置を算出する処理の一例を説明するための図である。例えば、注視エリア３６の中心位置を中心位置３７とし、注視エリア３６の半径をｒとする。また、中心位置３７からｘだけ離れた位置を位置３８とし、位置３８と注視エリア３６の接点３６ａとを通る直線を直線３６Ａとする。位置３８と中心位置３７とを通る直線を直線３６Ｂとする。直線３６Ａと直線３６Ｂとのなす角をθとする。
【００４４】
ここで、注視エリア３６の中心位置にターゲットが存在していると仮定し、図１のステップＳ１１〜Ｓ１３に示した手順により、ポインティングの支援を行う場合には、位置３８のポインタが、ターゲットに到達するまでの合計時間は、式（１）によって表される。式（１）において、ｖは、図１のＳ１２等で説明した、ポインタの移動速度であり、予め設定されている。ｗは、図１のＳ１１等で説明した、直進移動バー５５が回転する場合の回転速度であり、予め設定されている。
【００４５】
【数１】
2018010345.tif 000003
【００４６】
決定部１５２は、式（２）に基づいて、位置３８のポインタが、ターゲットに到達するまでの合計時間が最小となるための、ｘを算出する。式（２）の左辺の式は、式（１）をｘで微分した式である。式（１）をｘで微分した式の値が０になるようなｘの値が、合計時間が最小となるｘの値に相当する。
【００４７】
【数２】
2018010345.tif 000004
【００４８】
決定部１５２は、式（２）によって、ｘを算出した後に、注視エリア３６の中心位置３７からの距離がｘとなる位置を、基準位置５０として決定する。基準位置５０は、注視エリア３６の中心位置３７からの距離がｘであれば、どのような位置であっても良い。
【００４９】
決定部１５２は、基準位置５０を決定した後に、基準位置５０と、注視エリア３６の接点とを通る直線を特定する。決定部１５２は、特定した直線と重複し、基準位置５０を回転中心とする位置を、直進移動バー５５の開始位置として決定する。また、直進移動バー５５の回転方向を、直進移動バー５５がより速く注視エリア３６に到達する方向として決定する。
【００５０】
決定部１５２は、基準位置、開始位置、回転方向の情報を、ポインタ表示部１５３に出力する。
【００５１】
ポインタ表示部１５３は、基準位置、開始位置、回転方向の情報を基にして、直進移動バー５５を画面上に初期配置し、直進移動バー５５を、経路定義テーブル１４２に格納された経路定義情報を基にして移動させる処理部である。ポインタ表示部１５３が、直進移動バー５５を回転させる方向は、決定部１５２より受け付けた回転方向の情報に合わせて回転させる。ポインタ表示部１５３が、直進移動バー５５を用いて、ポインティング支援を行う処理は、図１のＳ１０〜Ｓ１３で説明した処理と同様である。
【００５２】
ポインタ表示部１５３が、画面上に設定する直進移動バー５５の長さは、直進移動バー５５が基準位置５０を中心として回転する場合に、注視エリア３６全域を走査可能となるような長さとする。直進移動バー５５の長さは、予め設定されていても良いし、式（２）のｘの値を基にして、自動的に設定しても良い。例えば、ポインタ表示部１５３は、直進移動バー５５の長さを、注視エリア３６の半径ｒと、ｘの値とを加算した長さとする。
【００５３】
次に、本実施例１に係るポインティング支援装置１００の処理手順の一例について説明する。図１０は、本実施例１に係るポインティング支援装置の処理手順を示すフローチャートである。図１０に示すように、ポインティング支援装置１００の視線位置検出部１５１は、利用者の視線位置を検出する（ステップＳ１０１）。
【００５４】
ポインティング支援装置１００の決定部１５２は、スイッチ１２０が押下されたか否かを判定する（ステップＳ１０２）。決定部１５２は、スイッチ１２０が押下されていない場合には（ステップＳ１０２，Ｎｏ）、ステップＳ１０１に移行する。
【００５５】
一方、決定部１５２は、スイッチ１２０が押下された場合には（ステップＳ１０２，Ｙｅｓ）、ステップＳ１０３に移行する。決定部１５２は、停留期間を決定する（ステップＳ１０３）。決定部１５２は、停留期間に検出された視線位置を特定し、特定した視線位置を含む注視エリアを特定する（ステップＳ１０４）。
【００５６】
決定部１５２は、注視エリアを基にして、基準位置を算出する（ステップＳ１０５）。決定部１５２は、開始位置、回転方向を決定する（ステップＳ１０６）。ポインティング支援装置１００のポインタ表示部１５３は、直進移動バーを初期配置する（ステップＳ１０７）。
【００５７】
ポインタ表示部１５３は、直進移動バーを回転させる（ステップＳ１０８）。ポインタ表示部１５３は、スイッチ１２０が押下されたか否かを判定する（ステップＳ１０９）。ポインタ表示部１５３は、スイッチ１２０が押下されてない場合には（ステップＳ１０９，Ｎｏ）、ステップＳ１０８に移行する。
【００５８】
一方、ポインタ表示部１５３は、スイッチ１２０が押下された場合には（ステップＳ１０９，Ｙｅｓ）、直進移動バーの回転を停止し、直進移動バーの方向にポインタを移動させる（ステップＳ１１０）。
【００５９】
ポインタ表示部１５３は、スイッチ１２０が押下されたか否かを判定する（ステップＳ１１１）。ポインタ表示部１５３は、スイッチ１２０が押下されていない場合には（ステップＳ１１１，Ｎｏ）、ステップＳ１１０に移行する。
【００６０】
ポインタ表示部１５３は、スイッチ１２０が押下された場合には（ステップＳ１１１，Ｙｅｓ）、ポインタの移動を停止し、ポインタと重複するターゲットの選択を受け付ける（ステップＳ１１２）。
【００６１】
次に、本実施例１に係るポインティング支援装置１００の効果について説明する。ポインティング支援装置１００は、画面上の視線位置の分布に基づいて、直進移動バーの基準位置および開始位置を決定する。このため、利用者がポインティングした可能性の高いエリアから直進移動バーによる走査を実行でき、利用者が所望のターゲットを特定するまでに要する時間を短くできる。
【００６２】
ポインティング支援装置１００は、停留期間に含まれる検出時刻に検出された視線位置を抽出し、抽出した視線位置の分布に基づいて、直進移動バーの基準位置および開始位置を決定する。停留期間における視線位置近辺には、ターゲットが存在している可能性が高いため、ターゲットに速く到達するための直進移動バーの基準位置および開始位置をより最適に決定することができる。
【００６３】
ポインティング支援装置１００は、直進移動バーを基準位置で回転させた後に、直進移動バーを直進移動バーの方向に移動する手順で、ポインティングの支援を行う場合に、式（２）に基づき、基準位置を決定する。このため、ポインタがターゲットに達するまでの合計時間を最小化することができる。
【実施例２】
【００６４】
図１１は、本実施例２に係るポインティング支援装置の構成を示す図である。図１１に示すように、このポインティング支援装置２００は、視線入力部１１０と、スイッチ１２０と、表示部１３０と、タイマ１３５と、記憶部１４０と、制御部２１０とを有する。視線入力部１１０、スイッチ１２０、表示部１３０、タイマ１３５、記憶部１４０に関する説明は、実施例１のポインティング支援装置１００で行った説明と同様である。
【００６５】
制御部２１０は、視線位置検出部１５１と、決定部２１１と、ポインタ表示部１５３とを有する。制御部２１０は、ＡＳＩＣなどの集積装置に対応する。また、制御部２１０は、例えば、ＣＰＵやＭＰＵ等の電子回路に対応する。
【００６６】
視線位置検出部１５１は、表示部１３０の画面上の利用者の視線位置を検出する処理部である。視線位置検出部１５１に関する説明は、実施例１のポインティング支援装置１００の視線位置検出部１５１に関して行った説明と同様である。
【００６７】
決定部２１１は、利用者によりスイッチ１２０のボタンが押下された場合に、視線位置テーブル１４１を基にして、直進移動バー５５の基準位置および開始位置を決定する処理部である。以下において、決定部２１１の処理の一例について説明する。
【００６８】
決定部２１１は、スイッチ１２０のボタンが押下された信号を受け付けると、停留期間において検出された視線位置を特定する。上記のように、停留期間は、基準時刻から押下時刻までの期間に対応する。決定部２１１は、視線位置テーブル１４１に登録された視線位置のうち、停留期間に含まれる検出時刻に検出された視線位置を抽出する。
【００６９】
決定部２１１は、抽出した視線位置のうち、検出時刻が最も遅い視線位置を、基準位置として決定する。決定部２１１は、基準位置を決定した後に、基準位置を基にして、開始位置を決定する。
【００７０】
図１２は、本実施例２の決定部が開始位置を算出する処理の一例を説明するための図である。例えば、決定部２１１は、直進移動バー５５の開始位置に相当する線分６０ａを下記のように決定する。図１２において、注視エリア３６の中心位置を中心位置３７とする。基準位置５０と中心位置３７とを通る直線を直線６０ｂとする。決定部２１１は、直線６０ａと直線６０ｂとのなす角がθ’となるように、直線６０ａを決定する。なす角θ’は、予め設定される角度である。また、決定部２１１は、回転方向を、直進移動バー５５が、より速く注視エリア３６の中心位置３７に到達する方向として決定する。
【００７１】
決定部２１１は、基準位置、開始位置、回転方向の情報を、ポインタ表示部１５３に出力する。
【００７２】
ポインタ表示部１５３は、基準位置、開始位置、回転方向の情報を基にして、直進移動バー５５を画面上に初期配置し、直進移動バー５５を、経路定義テーブル１４２に格納された経路定義情報を基にして移動させる処理部である。ポインタ表示部１５３に関する説明は、実施例１のポインティング支援装置１００のポインタ表示部１５３に関して行った説明と同様である。
【００７３】
次に、本実施例２に係るポインティング支援装置２００の処理手順の一例について説明する。図１３は、本実施例２に係るポインティング支援装置の処理手順を示すフローチャートである。図１３に示すように、ポインティング支援装置２００の視線位置検出部１５１は、利用者の視線位置を検出する（ステップＳ２０１）。
【００７４】
ポインティング支援装置２００の決定部２１１は、スイッチ１２０が押下されたか否かを判定する（ステップＳ２０２）。決定部２１１は、スイッチ１２０が押下されていない場合には（ステップＳ２０２，Ｎｏ）、ステップＳ２０１に移行する。
【００７５】
一方、決定部２１１は、スイッチ１２０が押下された場合には（ステップＳ２０２，Ｙｅｓ）、ステップＳ２０３に移行する。決定部２１１は、停留期間を決定する（ステップＳ２０３）。決定部２１１は、停留期間に検出された視線位置を特定し、特定した視線位置を含む注視エリアを特定する（ステップＳ２０４）。
【００７６】
決定部２１１は、停留期間において、最後に検出された視線位置を基準位置として決定する（ステップＳ２０５）。決定部２１１は、直進移動バーの開始位置、回転方向を決定する（ステップＳ２０６）。
【００７７】
ポインタ表示部１５３は、直進移動バーを回転させる（ステップＳ２０７）。ポインタ表示部１５３は、スイッチ１２０が押下されたか否かを判定する（ステップＳ２０８）。ポインタ表示部１５３は、スイッチ１２０が押下されてない場合には（ステップＳ２０８，Ｎｏ）、ステップＳ２０７に移行する。
【００７８】
一方、ポインタ表示部１５３は、スイッチ１２０が押下された場合には（ステップＳ２０８，Ｙｅｓ）、直進移動バーの回転を停止し、直進移動バーの方向にポインタを移動させる（ステップＳ２０９）。
【００７９】
ポインタ表示部１５３は、スイッチ１２０が押下されたか否かを判定する（ステップＳ２１０）。ポインタ表示部１５３は、スイッチ１２０が押下されていない場合には（ステップＳ２１０，Ｎｏ）、ステップＳ２０９に移行する。
【００８０】
ポインタ表示部１５３は、スイッチ１２０が押下された場合には（ステップＳ２１０，Ｙｅｓ）、ポインタの移動を停止し、ポインタと重複するターゲットの選択を受け付ける（ステップＳ２１１）。
【００８１】
次に、本実施例２に係るポインティング支援装置２００の効果について説明する。ポインティング支援装置２００は、停留期間に含まれる検出時刻に検出された視線位置のうち、最後に検出された視線位置を、基準位置として決定する。このため、簡易的な処理により、直進移動バーの基準位置を決定することができる。
【００８２】
次に、上記実施例に示したポインティング支援装置１００，２００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１４は、ポインティング支援装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【００８３】
図１４に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置３０５と、カメラ３０６とを有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０７と、ハードディスク装置３０８とを有する。そして、各装置３０１〜３０８は、バス３０９に接続される。
【００８４】
ハードディスク装置３０８は、視線位置検出プログラム３０８ａ、決定プログラム３０８ｂ、ポインタ表示プログラム３０８ｃを有する。ＣＰＵ３０１は、視線位置検出プログラム３０８ａ、決定プログラム３０８ｂ、ポインタ表示プログラム３０８ｃを読み出してＲＡＭ３０７に展開する。
【００８５】
視線位置検出プログラム３０８ａは、視線位置検出プロセス３０７ａとして機能する。決定プログラム３０８ｂは、決定プロセス３０７ｂとして機能する。ポインタ表示プログラム３０８ｃは、ポインタ表示プロセス３０７ｃとして機能する。
【００８６】
視線位置検出プロセス３０７ａの処理は、視線位置検出部１５１の処理に対応する。決定プロセス３０７ｂの処理は、決定部１５２，２１１の処理に対応する。ポインタ表示プロセス３０７ｃの処理は、ポインタ表示部１５３の処理に対応する。
【００８７】
なお、各プログラム３０８ａ〜３０８ｃについては、必ずしも最初からハードディスク装置３０８に記憶させておかなくても良い。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００が各プログラム３０８ａ〜３０７ｃを読み出して実行するようにしてもよい。
【００８８】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８９】
（付記１）画面上の利用者の視線位置を検出する視線位置検出部と、
前記視線位置により特定される領域の中における、前記視線位置の分布に基づいて、ポインタの位置を特定するための方向を走査する回転の基準位置およびまたは前記方向を走査する開始位置を決定する決定部と、
前記基準位置およびまたは前記開始位置を基にして決定した初期位置にポインタを表示するポインタ表示部と、
を有することを特徴とするポインティング支援装置。
【００９０】
（付記２）前記決定部は、スイッチが押下された第１時刻と、前記第１時刻から所定時間前の第２時刻とを特定し、前記第１時刻から前記第２時刻までの特定期間に検出された視線位置の分布に基づいて、前記基準位置およびまたは前記開始位置を決定することを特徴とする付記１に記載のポインティング支援装置。
【００９１】
（付記３）前記決定部は、前記特定期間に検出された視線位置を含む円を特定し、前記円の中心から前記基準位置までの距離と、前記中心と前記基準位置とを通る第１直線および前記基準位置と前記円の接点とを通る第２直線のなす角に基づいて、前記基準位置を決定することを特徴とする付記２に記載のポインティング支援装置。
【００９２】
（付記４）前記決定部は、前記距離を所定の速度で除算した値と、前記なす角を所定の角速度で除算した値との合計値が最小となる基準位置を決定することを特徴とする付記３に記載のポインティング支援装置。
【００９３】
（付記５）前記決定部は、前記特定期間内に検出された複数の視線位置のうち、最後に検出された視線位置を前記基準位置として決定することを特徴とする付記２に記載のポインティング支援装置。
【００９４】
（付記６）コンピュータが実行するポインティング支援方法であって、
画面上の利用者の視線位置を検出し、
前記視線位置により特定される領域の中における、前記視線位置の分布に基づいて、ポインタの位置を特定するための方向を走査する回転の基準位置およびまたは前記方向を走査する開始位置を決定し、
前記基準位置およびまたは前記開始位置を基にして決定した初期位置にポインタを表示する
各処理を実行することを特徴とするポインティング支援方法。
【００９５】
（付記７）前記決定する処理は、スイッチが押下された第１時刻と、前記第１時刻から所定時間前の第２時刻とを特定し、前記第１時刻から前記第２時刻までの特定期間に検出された視線位置の分布に基づいて、前記基準位置およびまたは前記開始位置を決定することを特徴とする付記６に記載のポインティング支援方法。
【００９６】
（付記８）前記決定する処理は、前記特定期間に検出された視線位置を含む円を特定し、前記円の中心から前記基準位置までの距離と、前記中心と前記基準位置とを通る第１直線および前記基準位置と前記円の接点とを通る第２直線のなす角に基づいて、前記基準位置を決定することを特徴とする付記７に記載のポインティング支援方法。
【００９７】
（付記９）前記決定する処理は、前記距離を所定の速度で除算した値と、前記なす角を所定の角速度で除算した値との合計値が最小となる基準位置を決定することを特徴とする付記８に記載のポインティング支援方法。
【００９８】
（付記１０）前記決定する処理は、前記特定期間内に検出された複数の視線位置のうち、最後に検出された視線位置を前記基準位置として決定することを特徴とする付記７に記載のポインティング支援方法。
【００９９】
（付記１１）コンピュータに、
画面上の利用者の視線位置を検出し、
前記視線位置により特定される領域の中における、前記視線位置の分布に基づいて、ポインタの位置を特定するための方向を走査する回転の基準位置およびまたは前記方向を走査する開始位置を決定し、
前記基準位置およびまたは前記開始位置を基にして決定した初期位置にポインタを表示する
各処理を実行させることを特徴とするポインティング支援プログラム。
【０１００】
（付記１２）前記決定する処理は、スイッチが押下された第１時刻と、前記第１時刻から所定時間前の第２時刻とを特定し、前記第１時刻から前記第２時刻までの特定期間に検出された視線位置の分布に基づいて、前記基準位置およびまたは前記開始位置を決定することを特徴とする付記１１に記載のポインティング支援プログラム。
【０１０１】
（付記１３）前記決定する処理は、前記特定期間に検出された視線位置を含む円を特定し、前記円の中心から前記基準位置までの距離と、前記中心と前記基準位置とを通る第１直線および前記基準位置と前記円の接点とを通る第２直線のなす角に基づいて、前記基準位置を決定することを特徴とする付記１２に記載のポインティング支援プログラム。
【０１０２】
（付記１４）前記決定する処理は、前記距離を所定の速度で除算した値と、前記なす角を所定の角速度で除算した値との合計値が最小となる基準位置を決定することを特徴とする付記１３に記載のポインティング支援プログラム。
【０１０３】
（付記１５）前記決定する処理は、前記特定期間内に検出された複数の視線位置のうち、最後に検出された視線位置を前記基準位置として決定することを特徴とする付記１１に記載のポインティング支援プログラム。
【符号の説明】
【０１０４】
１００，２００    ポインティング支援装置
１１０    視線入力部
１２０    スイッチ
１３０    表示部
１３５    タイマ
１４０    記憶部
１４１    視線位置テーブル
１４２    経路定義テーブル
１５０，２１０    制御部
１５１    視線位置検出部
１５２，２１１    決定部
１５３    ポインタ表示部
【図１】
2018010345.tif 000005
【図２】
2018010345.tif 000006
【図３】
2018010345.tif 000007
【図４】
2018010345.tif 000008
【図５】
2018010345.tif 000009
【図６】
2018010345.tif 000010
【図７】
2018010345.tif 000011
【図８】
2018010345.tif 000012
【図９】
2018010345.tif 000013
【図１０】
2018010345.tif 000014
【図１１】
2018010345.tif 000015
【図１２】
2018010345.tif 000016
【図１３】
2018010345.tif 000017
【図１４】
2018010345.tif 000018