以下に、本願の開示するポインティング支援装置、ポインティング支援方法およびポインティング支援プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本実施例1の説明を行う前に、入力ボタンと視線入力との組み合わせによりポインティングを支援する参考例について説明する。この参考例は従来技術ではない。図1は、参考例を説明するための図である。
参考例として説明する支援装置は、画面40上の利用者の視線位置を検出する。支援装置は、視線位置を起点として移動するポインタの経路を、利用者の入力ボタンによる選択を受け付ける度に、所定の経路定義情報に従ってパターンを変えつつポインタを移動させる技術である。
ステップS10について説明する。画面40に、ポインティングのターゲット30と、視線位置20とが存在する。支援装置は、図示しない視線位置検出部から取得する視線位置の情報を基にして、視線位置20の位置を特定する。支援装置は、図示しないスイッチのボタンが押されるまでは、視線位置検出部から視線位置20の情報を取得する度に、視線位置20を更新する。
ステップS11について説明する。利用者によってスイッチのボタンが押下され、スイッチから信号を受け付けると、視線位置20をポインタの初期位置とする。例えば、支援装置は、スイッチのボタンが押下されている間、直進移動バー21を表示させ、初期ポインタの位置20を中心として、直進移動バー21を回転させる。
ステップS12について説明する。利用者は画面40を参照し、直進移動バー21が、ターゲット30と重なったタイミングで、スイッチのボタンを押下する。支援装置は、スイッチのボタンが押下されたことを検出すると、直進移動バー21の回転を停止する。続いて、支援装置は、直進移動バー21が示す方向に直進移動バー21を直進移動させる。
ステップS13について説明する。利用者は画面40を参照し、直進移動バー21の起点(ポインタ位置20)が、ターゲット30と重なった時点で、スイッチのボタンを押下する。支援装置は、直進移動バー21の起点(ポインタ位置20)が、ターゲット30と重なった時点で、スイッチのボタンが押下されたことを検出すると、ターゲット30が選択されたと判定する。支援装置は、ターゲット30が選択されたことによる所定の処理を実行する。
図1のステップS10〜ステップS13に示した処理を支援装置が実行することで、例えば、視線位置がターゲット付近で散在する場合や、視線位置がシフトしても、視線入力により適切にポインティングを実行することができる。
しかしながら、参考例では、図2に示すような問題がある。図2は、参考例の問題点を説明するための図である。例えば、直進移動バー21が左方向に回転する場合、視線位置20の右側にターゲット30が存在していると、直進移動バー21がターゲット30に到達するまでに時間を要してしまう。なお、利用者が直線移動バー21の回転方向を指定することも考えられるが、直線移動バー21が表示される度に、回転方向を逐一指定することは、利用者の負担になる。
続いて、本実施例1に係るポインティング支援装置について説明する。図3は、本実施例1に係るポインティング支援装置の一例を示す図である。図3に示すように、ポインティング支援装置100は、視線入力部110と、スイッチ120と、表示部130とを有する。
視線入力部110は、利用者の視線を入力するための装置である。例えば、視線入力部110は、LED(Light Emitting Diode)110aと、カメラ110bとを有する。視線入力部110は、LED110aに光を照射させ、カメラ110bにより、利用者の顔画像を撮影する。視線入力部110は、カメラ110bにより撮影された顔画像のデータを、ポインティング支援装置100に出力する。ポインティング支援装置100は、顔画像のデータを基にして、利用者の視線位置を算出する。
スイッチ120は、利用者によって押下可能なボタンを有するスイッチである。スイッチ120は、ボタンが押下されているか否かの信号を、ポインティング支援装置100に出力する。
表示部130は、ポインティング支援装置100から出力される各種の情報を表示する表示装置である。表示部130は、液晶ディスプレイやタッチパネル等に対応する。
図4は、本実施例1に係るポインティング支援装置の処理を説明するための図である。図4のステップS20について説明する。ポインティング支援装置100は、視線入力部110から受け付ける顔画像のデータを基にして、利用者の視線位置1−1〜1−13を順次検出する。例えば、各視線位置1−1〜1−13は、検出時刻と対応付けられる。なお、利用者がポインティングを行うターゲットをターゲット35とする。
図4のステップS21について説明する。利用者がポインティングを行う場合には、スイッチ120を押下する。ポインティング支援装置100は、スイッチ120からスイッチ120が押下された信号を受け付けると、停留期間において検出された視線位置を特定する。スイッチ120が押下された時刻を押下時刻とし、押下時刻から所定時間前の時刻を基準時刻とすると、停留期間は、押下時刻から基準時刻までの期間に対応する。停留期間に検出された視線位置を、視線位置1−4〜1−13とすると、ポインティング支援装置100は、視線位置1−4〜1−13を含む注視エリア36を特定する。
図4のステップS22について説明する。ポインティング支援装置100は、注視エリア36に含まれる視線位置の分布を基にして、直進移動バー55が回転する場合の基準位置50を決定し、直進移動バー55の開始位置を決定する。直進移動バー55の開始位置は、図4に示すように、直線36bと重複する位置となる。直線36bは、基準位置50と、注視エリア36の円の接点36aとを通る直線である。ポインティング支援装置100は、直進移動バー55を、注視エリア36により速く到達する方向に回転させ、利用者のポインティングを支援する。ポインティング支援装置100は、スイッチ120から利用者に押下された旨の信号を受け付ける度に、図1の参考例のステップS11〜S13で説明したように、直進移動バー55を移動させる。
続いて、ポインティング支援装置100の構成について説明する。図5は、本実施例1に係るポインティング支援装置の構成を示す機能ブロック図である。図5に示すように、このポインティング支援装置100は、視線入力部110と、スイッチ120と、表示部130と、タイマ135と、記憶部140と、制御部150とを有する。
視線入力部110、スイッチ120、表示部130に関する説明は、図3で説明した視線入力部110、スイッチ120、表示部130に関する説明と同様である。
タイマ135は、現在時刻の情報を制御部150に出力する装置である。
記憶部140は、視線位置テーブル141と、経路定義テーブル142とを有する。記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
視線位置テーブル141は、視線位置の情報を保持するテーブルである。図6は、視線位置テーブルのデータ構造の一例を示す図である。図6に示すように、視線位置テーブル141は、識別番号、視線位置、検出時刻を対応付ける。識別番号は、視線位置テーブル141のレコードを一意に識別する番号である。視線位置は、画面上の視線の位置(座標)を示す情報である。検出時刻は、視線位置を検出した時刻を示す情報である。
経路定義テーブル142は、ポインタを移動させる経路および経路の移動パターンを定義した経路定義情報を保持するテーブルである。図7は、経路定義テーブルのデータ構造の一例を示す図である。図7に示すように、この経路定義テーブル142は、経路定義識別情報と、複数の手順とを対応付ける。経路定義識別情報は、経路定義を一意に識別する情報である。手順は、経路を移動させる手順または経路に沿ってポインタを移動させる手順を示すものである。経路定義には様々なものがあるが、ここでは一例として、第1経路定義について説明する。
図8は、第1経路定義を説明するための図である。第1経路定義は、手順1と、手順2とを有する。第1経路定義の手順1は、現在のポインタ位置10から、直進移動バー55を表示し、基準位置50を中心にして、直進移動バー55を回転移動させる手順である。
第1経路定義の手順2は、第1経路定義の手順1で方向が確定した直進移動バー55を、直進移動バー55が示す方向に直進移動させる手順である。基準位置50aは、直進移動バー55の移動に合わせて移動する。
制御部150は、視線位置検出部151と、決定部152と、ポインタ表示部153とを有する。制御部150は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。また、制御部150は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。
視線位置検出部151は、表示部130の画面上の利用者の視線位置を検出する処理部である。視線位置検出部151は、ユニークな識別番号と、視線位置と、検出時刻とを対応付けて、視線位置テーブル141に登録する。視線位置検出部151は、視線位置を検出した時刻を、タイマ135から取得し、取得した時刻を検出時刻とする。
視線位置検出部151は、どのような従来技術を用いて、人物の視線位置を検出しても良い。例えば、視線位置検出部151は、視線入力部110から顔画像データを取得する度に、顔画像データを画像解析し、利用者の目の基準点と、動点とを特定する。視線検出部151は、基準点と動点との関係から、利用者の視線位置を検出する。基準点と動点との組は、利用者の目に関する目頭と虹彩、または、利用者の目に関する角膜反射と瞳孔となる。視線位置検出部151は、特開2012−187190号公報に記載された技術を用いて、視線位置を検出しても良い。
決定部152は、利用者によりスイッチ120のボタンが押下された場合に、視線位置テーブル141を基にして、図4で説明したように、直進移動バー55の基準位置および開始位置を決定する処理部である。以下において、決定部152の処理の一例について説明する。
決定部152は、スイッチ120のボタンが押下された信号を受け付けると、停留期間において検出された視線位置を特定する。上記のように、停留期間は、基準時刻から押下時刻までの期間に対応する。決定部152は、視線位置テーブル141に登録された視線位置のうち、停留期間に含まれる検出時刻に検出された視線位置を抽出する。
決定部152は、抽出した視線位置を含む注視エリアを特定し、特定した注視エリアを基にして、基準位置を算出する。例えば、注視エリアは、抽出した視線位置を全て含む真円である。また、注視エリアの円の半径は、抽出した視線位置が全て含まれるという制約条件の下で、最小の半径とする。
図9は、本実施例1の決定部が基準位置を算出する処理の一例を説明するための図である。例えば、注視エリア36の中心位置を中心位置37とし、注視エリア36の半径をrとする。また、中心位置37からxだけ離れた位置を位置38とし、位置38と注視エリア36の接点36aとを通る直線を直線36Aとする。位置38と中心位置37とを通る直線を直線36Bとする。直線36Aと直線36Bとのなす角をθとする。
ここで、注視エリア36の中心位置にターゲットが存在していると仮定し、図1のステップS11〜S13に示した手順により、ポインティングの支援を行う場合には、位置38のポインタが、ターゲットに到達するまでの合計時間は、式(1)によって表される。式(1)において、vは、図1のS12等で説明した、ポインタの移動速度であり、予め設定されている。wは、図1のS11等で説明した、直進移動バー55が回転する場合の回転速度であり、予め設定されている。
決定部152は、式(2)に基づいて、位置38のポインタが、ターゲットに到達するまでの合計時間が最小となるための、xを算出する。式(2)の左辺の式は、式(1)をxで微分した式である。式(1)をxで微分した式の値が0になるようなxの値が、合計時間が最小となるxの値に相当する。
決定部152は、式(2)によって、xを算出した後に、注視エリア36の中心位置37からの距離がxとなる位置を、基準位置50として決定する。基準位置50は、注視エリア36の中心位置37からの距離がxであれば、どのような位置であっても良い。
決定部152は、基準位置50を決定した後に、基準位置50と、注視エリア36の接点とを通る直線を特定する。決定部152は、特定した直線と重複し、基準位置50を回転中心とする位置を、直進移動バー55の開始位置として決定する。また、直進移動バー55の回転方向を、直進移動バー55がより速く注視エリア36に到達する方向として決定する。
決定部152は、基準位置、開始位置、回転方向の情報を、ポインタ表示部153に出力する。
ポインタ表示部153は、基準位置、開始位置、回転方向の情報を基にして、直進移動バー55を画面上に初期配置し、直進移動バー55を、経路定義テーブル142に格納された経路定義情報を基にして移動させる処理部である。ポインタ表示部153が、直進移動バー55を回転させる方向は、決定部152より受け付けた回転方向の情報に合わせて回転させる。ポインタ表示部153が、直進移動バー55を用いて、ポインティング支援を行う処理は、図1のS10〜S13で説明した処理と同様である。
ポインタ表示部153が、画面上に設定する直進移動バー55の長さは、直進移動バー55が基準位置50を中心として回転する場合に、注視エリア36全域を走査可能となるような長さとする。直進移動バー55の長さは、予め設定されていても良いし、式(2)のxの値を基にして、自動的に設定しても良い。例えば、ポインタ表示部153は、直進移動バー55の長さを、注視エリア36の半径rと、xの値とを加算した長さとする。
次に、本実施例1に係るポインティング支援装置100の処理手順の一例について説明する。図10は、本実施例1に係るポインティング支援装置の処理手順を示すフローチャートである。図10に示すように、ポインティング支援装置100の視線位置検出部151は、利用者の視線位置を検出する(ステップS101)。
ポインティング支援装置100の決定部152は、スイッチ120が押下されたか否かを判定する(ステップS102)。決定部152は、スイッチ120が押下されていない場合には(ステップS102,No)、ステップS101に移行する。
一方、決定部152は、スイッチ120が押下された場合には(ステップS102,Yes)、ステップS103に移行する。決定部152は、停留期間を決定する(ステップS103)。決定部152は、停留期間に検出された視線位置を特定し、特定した視線位置を含む注視エリアを特定する(ステップS104)。
決定部152は、注視エリアを基にして、基準位置を算出する(ステップS105)。決定部152は、開始位置、回転方向を決定する(ステップS106)。ポインティング支援装置100のポインタ表示部153は、直進移動バーを初期配置する(ステップS107)。
ポインタ表示部153は、直進移動バーを回転させる(ステップS108)。ポインタ表示部153は、スイッチ120が押下されたか否かを判定する(ステップS109)。ポインタ表示部153は、スイッチ120が押下されてない場合には(ステップS109,No)、ステップS108に移行する。
一方、ポインタ表示部153は、スイッチ120が押下された場合には(ステップS109,Yes)、直進移動バーの回転を停止し、直進移動バーの方向にポインタを移動させる(ステップS110)。
ポインタ表示部153は、スイッチ120が押下されたか否かを判定する(ステップS111)。ポインタ表示部153は、スイッチ120が押下されていない場合には(ステップS111,No)、ステップS110に移行する。
ポインタ表示部153は、スイッチ120が押下された場合には(ステップS111,Yes)、ポインタの移動を停止し、ポインタと重複するターゲットの選択を受け付ける(ステップS112)。
次に、本実施例1に係るポインティング支援装置100の効果について説明する。ポインティング支援装置100は、画面上の視線位置の分布に基づいて、直進移動バーの基準位置および開始位置を決定する。このため、利用者がポインティングした可能性の高いエリアから直進移動バーによる走査を実行でき、利用者が所望のターゲットを特定するまでに要する時間を短くできる。
ポインティング支援装置100は、停留期間に含まれる検出時刻に検出された視線位置を抽出し、抽出した視線位置の分布に基づいて、直進移動バーの基準位置および開始位置を決定する。停留期間における視線位置近辺には、ターゲットが存在している可能性が高いため、ターゲットに速く到達するための直進移動バーの基準位置および開始位置をより最適に決定することができる。
ポインティング支援装置100は、直進移動バーを基準位置で回転させた後に、直進移動バーを直進移動バーの方向に移動する手順で、ポインティングの支援を行う場合に、式(2)に基づき、基準位置を決定する。このため、ポインタがターゲットに達するまでの合計時間を最小化することができる。
図11は、本実施例2に係るポインティング支援装置の構成を示す図である。図11に示すように、このポインティング支援装置200は、視線入力部110と、スイッチ120と、表示部130と、タイマ135と、記憶部140と、制御部210とを有する。視線入力部110、スイッチ120、表示部130、タイマ135、記憶部140に関する説明は、実施例1のポインティング支援装置100で行った説明と同様である。
制御部210は、視線位置検出部151と、決定部211と、ポインタ表示部153とを有する。制御部210は、ASICなどの集積装置に対応する。また、制御部210は、例えば、CPUやMPU等の電子回路に対応する。
視線位置検出部151は、表示部130の画面上の利用者の視線位置を検出する処理部である。視線位置検出部151に関する説明は、実施例1のポインティング支援装置100の視線位置検出部151に関して行った説明と同様である。
決定部211は、利用者によりスイッチ120のボタンが押下された場合に、視線位置テーブル141を基にして、直進移動バー55の基準位置および開始位置を決定する処理部である。以下において、決定部211の処理の一例について説明する。
決定部211は、スイッチ120のボタンが押下された信号を受け付けると、停留期間において検出された視線位置を特定する。上記のように、停留期間は、基準時刻から押下時刻までの期間に対応する。決定部211は、視線位置テーブル141に登録された視線位置のうち、停留期間に含まれる検出時刻に検出された視線位置を抽出する。
決定部211は、抽出した視線位置のうち、検出時刻が最も遅い視線位置を、基準位置として決定する。決定部211は、基準位置を決定した後に、基準位置を基にして、開始位置を決定する。
図12は、本実施例2の決定部が開始位置を算出する処理の一例を説明するための図である。例えば、決定部211は、直進移動バー55の開始位置に相当する線分60aを下記のように決定する。図12において、注視エリア36の中心位置を中心位置37とする。基準位置50と中心位置37とを通る直線を直線60bとする。決定部211は、直線60aと直線60bとのなす角がθ’となるように、直線60aを決定する。なす角θ’は、予め設定される角度である。また、決定部211は、回転方向を、直進移動バー55が、より速く注視エリア36の中心位置37に到達する方向として決定する。
決定部211は、基準位置、開始位置、回転方向の情報を、ポインタ表示部153に出力する。
ポインタ表示部153は、基準位置、開始位置、回転方向の情報を基にして、直進移動バー55を画面上に初期配置し、直進移動バー55を、経路定義テーブル142に格納された経路定義情報を基にして移動させる処理部である。ポインタ表示部153に関する説明は、実施例1のポインティング支援装置100のポインタ表示部153に関して行った説明と同様である。
次に、本実施例2に係るポインティング支援装置200の処理手順の一例について説明する。図13は、本実施例2に係るポインティング支援装置の処理手順を示すフローチャートである。図13に示すように、ポインティング支援装置200の視線位置検出部151は、利用者の視線位置を検出する(ステップS201)。
ポインティング支援装置200の決定部211は、スイッチ120が押下されたか否かを判定する(ステップS202)。決定部211は、スイッチ120が押下されていない場合には(ステップS202,No)、ステップS201に移行する。
一方、決定部211は、スイッチ120が押下された場合には(ステップS202,Yes)、ステップS203に移行する。決定部211は、停留期間を決定する(ステップS203)。決定部211は、停留期間に検出された視線位置を特定し、特定した視線位置を含む注視エリアを特定する(ステップS204)。
決定部211は、停留期間において、最後に検出された視線位置を基準位置として決定する(ステップS205)。決定部211は、直進移動バーの開始位置、回転方向を決定する(ステップS206)。
ポインタ表示部153は、直進移動バーを回転させる(ステップS207)。ポインタ表示部153は、スイッチ120が押下されたか否かを判定する(ステップS208)。ポインタ表示部153は、スイッチ120が押下されてない場合には(ステップS208,No)、ステップS207に移行する。
一方、ポインタ表示部153は、スイッチ120が押下された場合には(ステップS208,Yes)、直進移動バーの回転を停止し、直進移動バーの方向にポインタを移動させる(ステップS209)。
ポインタ表示部153は、スイッチ120が押下されたか否かを判定する(ステップS210)。ポインタ表示部153は、スイッチ120が押下されていない場合には(ステップS210,No)、ステップS209に移行する。
ポインタ表示部153は、スイッチ120が押下された場合には(ステップS210,Yes)、ポインタの移動を停止し、ポインタと重複するターゲットの選択を受け付ける(ステップS211)。
次に、本実施例2に係るポインティング支援装置200の効果について説明する。ポインティング支援装置200は、停留期間に含まれる検出時刻に検出された視線位置のうち、最後に検出された視線位置を、基準位置として決定する。このため、簡易的な処理により、直進移動バーの基準位置を決定することができる。
次に、上記実施例に示したポインティング支援装置100,200と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図14は、ポインティング支援装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図14に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る読み取り装置304と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置305と、カメラ306とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM307と、ハードディスク装置308とを有する。そして、各装置301〜308は、バス309に接続される。
ハードディスク装置308は、視線位置検出プログラム308a、決定プログラム308b、ポインタ表示プログラム308cを有する。CPU301は、視線位置検出プログラム308a、決定プログラム308b、ポインタ表示プログラム308cを読み出してRAM307に展開する。
視線位置検出プログラム308aは、視線位置検出プロセス307aとして機能する。決定プログラム308bは、決定プロセス307bとして機能する。ポインタ表示プログラム308cは、ポインタ表示プロセス307cとして機能する。
視線位置検出プロセス307aの処理は、視線位置検出部151の処理に対応する。決定プロセス307bの処理は、決定部152,211の処理に対応する。ポインタ表示プロセス307cの処理は、ポインタ表示部153の処理に対応する。
なお、各プログラム308a〜308cについては、必ずしも最初からハードディスク装置308に記憶させておかなくても良い。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム308a〜307cを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)画面上の利用者の視線位置を検出する視線位置検出部と、
前記視線位置により特定される領域の中における、前記視線位置の分布に基づいて、ポインタの位置を特定するための方向を走査する回転の基準位置およびまたは前記方向を走査する開始位置を決定する決定部と、
前記基準位置およびまたは前記開始位置を基にして決定した初期位置にポインタを表示するポインタ表示部と、
を有することを特徴とするポインティング支援装置。
(付記2)前記決定部は、スイッチが押下された第1時刻と、前記第1時刻から所定時間前の第2時刻とを特定し、前記第1時刻から前記第2時刻までの特定期間に検出された視線位置の分布に基づいて、前記基準位置およびまたは前記開始位置を決定することを特徴とする付記1に記載のポインティング支援装置。
(付記3)前記決定部は、前記特定期間に検出された視線位置を含む円を特定し、前記円の中心から前記基準位置までの距離と、前記中心と前記基準位置とを通る第1直線および前記基準位置と前記円の接点とを通る第2直線のなす角に基づいて、前記基準位置を決定することを特徴とする付記2に記載のポインティング支援装置。
(付記4)前記決定部は、前記距離を所定の速度で除算した値と、前記なす角を所定の角速度で除算した値との合計値が最小となる基準位置を決定することを特徴とする付記3に記載のポインティング支援装置。
(付記5)前記決定部は、前記特定期間内に検出された複数の視線位置のうち、最後に検出された視線位置を前記基準位置として決定することを特徴とする付記2に記載のポインティング支援装置。
(付記6)コンピュータが実行するポインティング支援方法であって、
画面上の利用者の視線位置を検出し、
前記視線位置により特定される領域の中における、前記視線位置の分布に基づいて、ポインタの位置を特定するための方向を走査する回転の基準位置およびまたは前記方向を走査する開始位置を決定し、
前記基準位置およびまたは前記開始位置を基にして決定した初期位置にポインタを表示する
各処理を実行することを特徴とするポインティング支援方法。
(付記7)前記決定する処理は、スイッチが押下された第1時刻と、前記第1時刻から所定時間前の第2時刻とを特定し、前記第1時刻から前記第2時刻までの特定期間に検出された視線位置の分布に基づいて、前記基準位置およびまたは前記開始位置を決定することを特徴とする付記6に記載のポインティング支援方法。
(付記8)前記決定する処理は、前記特定期間に検出された視線位置を含む円を特定し、前記円の中心から前記基準位置までの距離と、前記中心と前記基準位置とを通る第1直線および前記基準位置と前記円の接点とを通る第2直線のなす角に基づいて、前記基準位置を決定することを特徴とする付記7に記載のポインティング支援方法。
(付記9)前記決定する処理は、前記距離を所定の速度で除算した値と、前記なす角を所定の角速度で除算した値との合計値が最小となる基準位置を決定することを特徴とする付記8に記載のポインティング支援方法。
(付記10)前記決定する処理は、前記特定期間内に検出された複数の視線位置のうち、最後に検出された視線位置を前記基準位置として決定することを特徴とする付記7に記載のポインティング支援方法。
(付記11)コンピュータに、
画面上の利用者の視線位置を検出し、
前記視線位置により特定される領域の中における、前記視線位置の分布に基づいて、ポインタの位置を特定するための方向を走査する回転の基準位置およびまたは前記方向を走査する開始位置を決定し、
前記基準位置およびまたは前記開始位置を基にして決定した初期位置にポインタを表示する
各処理を実行させることを特徴とするポインティング支援プログラム。
(付記12)前記決定する処理は、スイッチが押下された第1時刻と、前記第1時刻から所定時間前の第2時刻とを特定し、前記第1時刻から前記第2時刻までの特定期間に検出された視線位置の分布に基づいて、前記基準位置およびまたは前記開始位置を決定することを特徴とする付記11に記載のポインティング支援プログラム。
(付記13)前記決定する処理は、前記特定期間に検出された視線位置を含む円を特定し、前記円の中心から前記基準位置までの距離と、前記中心と前記基準位置とを通る第1直線および前記基準位置と前記円の接点とを通る第2直線のなす角に基づいて、前記基準位置を決定することを特徴とする付記12に記載のポインティング支援プログラム。
(付記14)前記決定する処理は、前記距離を所定の速度で除算した値と、前記なす角を所定の角速度で除算した値との合計値が最小となる基準位置を決定することを特徴とする付記13に記載のポインティング支援プログラム。
(付記15)前記決定する処理は、前記特定期間内に検出された複数の視線位置のうち、最後に検出された視線位置を前記基準位置として決定することを特徴とする付記11に記載のポインティング支援プログラム。