[実施の形態1]
図1は、本実施の形態のHMD装置100を斜め前方から見た場合の外観を示す図である。ゴーグル型の形状を有するフレーム110には、レンズ111が取り付けられており、さらにレンズ111が取り付けられている側の反対側にはパッド113が取り付けられている。パッド113は、HMD装置100がユーザに装着された状態においてユーザの顔に押し当てられる。パッド113の素材は、例えばスポンジのような弾力性を有する素材である。また、フレーム110にはベルト112が取り付けられている。ベルト112の素材は伸縮可能な素材(例えばゴム)であり、ユーザはベルト112を使用してHMD装置100を頭部に装着する。
図2は、HMD装置100を正面前方から見た場合の外観を示す図である。図2に示すように、レンズ111は左右対称の形状を有する。なお、図2乃至図4においては、直交座標系の一例であるXYZ座標系を図示のように定義する。X軸は、HMD装置100を装着したユーザにとって左右方向の軸である。X軸の正方向は、ユーザにとっての右方向である。Y軸は、HMD装置100を装着したユーザにとって上下方向の軸である。Y軸の正方向は、ユーザにとっての下方向である。Z軸は、HMD装置100を装着したユーザにとって前後方向の軸である。Z軸の正方向は、ユーザにとって後ろから前に向かう方向である。
図3は、HMD装置100をユーザ側(すなわち正面前方の反対側)から見た場合の外観を示す図である。パッド113はフレーム110に取り付けられている。パッド113には電極ER、電極EL及び電極EMが取り付けられている。また、フレーム110には制御部150及びバッテリ170が埋め込まれている。レンズ111には表示部120R及び120Lが取り付けられている。
なお、本実施の形態のHMD装置100は透過型のHMD装置であるので、ユーザは表示部120R及び120L上の画像を見るとともに、レンズ111越しに外部の光景を見ることができる。表示部120L及び120Rは、例えばLCD(Liquid Crystal Display)である。本実施の形態においては、表示部120Rに表示されるコンテンツと表示部120Lに表示されるコンテンツとは同じであるが、異なっていてもよい。バッテリ170は充電可能な二次電池であり、例えばリチウムイオン電池である。バッテリ170は表示部120L、表示部120R及び制御部150に電力を供給する。
図4は、電極が配置される位置を示す図である。破線はレンズ111の形状を表す。図4に示すように、電極ERはユーザの右目上方の位置に配置され、電極ELはユーザの左目上方の位置に配置され、電極EMはユーザの鼻根の位置に配置される。電極ER、電極EL及び電極EMはユーザの皮膚に当接する。電極ERはユーザの右目上方の部位の電位(眼電位とも呼ばれる)を検出し、電極ELはユーザの左目上方の部位の電位を検出し、電極EMは鼻根における電位を検出する。
図5は、制御部150と表示部及び電極との接続関係を示す図である。制御部150は、表示部120R、表示部120L、電極ER、電極EM及び電極ELに接続される。制御部150は、例えばMPU(Micro Processing Unit)であるプロセッサ151と、例えばフラッシュメモリであるメモリ152とを有する。制御部150は、表示部120R及び120Lに画像を表示させる。制御部150は、電極ER、電極EM及び電極ELで測定された電位の情報を取得する。
図6は、第1の実施の形態における制御部150の機能ブロック図である。制御部150は、電位取得部1501、方向特定部1502、脳波特定部1503、モード切替部1504、表示制御部1505、確定処理実行部1506、電位データ格納部1511、管理データ格納部1512及びモード設定格納部1513を含む。電位取得部1501、方向特定部1502、脳波特定部1503、モード切替部1504、表示制御部1505及び確定処理実行部1506は、本実施の形態の処理を実行するためのプログラムがプロセッサ151に実行されることで実現される。本実施の形態の処理を実行するためのプログラムは、例えばメモリ152に格納される。電位データ格納部1511、管理データ格納部1512及びモード設定格納部1513は、例えばメモリ152に含まれる。
電位取得部1501は、電極ER、電極EM及び電極ELで測定された電位の情報を取得し、取得された情報を電位データ格納部1511に格納する。方向特定部1502は、電位データ格納部1511に格納されたデータに基づき処理を実行し、処理結果をモード切替部1504及び表示制御部1505に通知する。なお、方向特定部1502による処理の途中のデータは管理データ格納部1512に格納される。脳波特定部1503は、電位データ格納部1511に格納されたデータに基づき処理を実行し、処理結果をモード切替部1504及び確定処理実行部1506に通知する。モード切替部1504は、方向特定部1502から受け取った処理結果、脳波特定部1503から受け取った処理結果、及びモード設定格納部1513に格納されているデータに基づき処理を実行し、処理結果を表示制御部1505に通知する。表示制御部1505は、モード切替部1504から受け取った処理結果に基づき表示部120R及び120Lの表示を制御する。確定処理実行部1506は、脳波特定部1503から受け取った処理結果に基づき処理を実行する。
次に、制御部150が実行する処理の詳細を説明する。
図7は、電極ER、電極EL及び電極EMから電位の情報を取得する処理の処理フローを示す図である。
電位取得部1501は、電極ERで測定された電位の情報、電極ELで測定された電位の情報及び電極EMで測定された電位の情報を、電極ER、電極EL及び電極EMから取得する(図7:ステップS1)。
電位取得部1501は、ステップS1において取得された情報を電位データ格納部1511に格納する(ステップS3)。
電位取得部1501は、処理の終了指示(例えば、制御部150の停止指示)が有ったか判定する(ステップS5)。処理の終了指示が無い場合(ステップS5:Noルート)には処理はステップS1に戻り、処理の終了指示が有る場合(ステップS5:Yesルート)、処理は終了する。
以上のような処理を実行すれば、電位の情報を後の処理に利用できるようになる。
図8は、ユーザが視線を動かすことで行う操作についての設定を切り替える処理(以下、切替処理と呼ぶ)の処理フローを示す図である。
モード切替部1504は、方向特定部1502を呼び出す。これに応じ、方向特定部1502は、電位データ格納部1511に格納されているデータに基づき、視線方向の切替回数を計数する処理である計数処理を実行する(図8:ステップS11)。
図9は、第1の実施の形態における計数処理の処理フローを示す図である。
方向特定部1502は、電位データ格納部1511に格納されているデータを読み出す。そして、方向特定部1502は、直近の所定期間について、電極ERで測定された電位と電極EMで測定された電位との差である電位差DRを算出する(図9:ステップS31)。電位差DRは、例えば、(電極ERで測定された電位)−(電極EMで測定された電位)である。
方向特定部1502は、直近の所定期間について、電極ELで測定された電位と電極EMで測定された電位との差である電位差DLを算出する(ステップS33)。電位差DLは、例えば、(電極ELで測定された電位)−(電極EMで測定された電位)である。
方向特定部1502は、直近の所定期間について、電位差DRの符号と電位差DLの符号とに基づき視線方向を特定する(ステップS35)。方向特定部1502は、ステップS35の処理結果を管理データ格納部1512に格納する。
図10は、電位差DR及びDLの時間変化について説明するための図である。
ユーザが正面を向いた状態から、両目の視線を右に移動させ、再び正面に移動させると、電位差DRは図10(a)に示すように変化し、電位差DLは図10(b)に示すように変化する。電位差DRは、ユーザが正面を向いた状態では約0mV(ミリボルト)であるが、視線方向が右になると値は正になる。そして、視線方向が再び正面に戻ると、電位差DRは約0mVに戻る。また、電位差DLは、ユーザが正面を向いた状態では約0mVであるが、視線方向が右になると値は負になり 、視線方向が再び正面に戻ると、電位差DLは約0mVに戻る。すなわち、電位差DLは電位差DRとは逆のパターンで変化する。
ユーザが正面を向いた状態から、両目の視線を左に移動させ、再び正面に移動させると、電位差DRは図10(b)に示すように変化し、電位差DLは図10(a)に示すように変化する。
ユーザが正面を向いた状態から、両目の視線を上に移動させ、再び正面に移動させると、電位差DR及びDLは図10(a)に示すように変化する。
ユーザが正面を向いた状態から、両目の視線を下に移動させ、再び正面に移動させると、電位差DR及びDLは図10(b)に示すように変化する。
以上述べた関係を図11に示す。図11は、電位差DR及び電位差DLと視線方向との関係を示す図である。視線方向が右に変化するときには電位差DRの値は正になり且つ電位差DLの値は負になる。視線方向が左に変化するときには電位差DRの値は負になり且つ電位差DLの値は正になる。視線方向が上に変化するときには電位差DRの値は正になり且つ電位差DLの値は正になる。視線方向が下に変化するときには電位差DRの値は負になり且つ電位差DLの値は負になる。
但し、本実施の形態においては、電位差の絶対値が閾値(ここでは閾値t1とする。例えば0.2mV)を超えたか否かにより視線方向の変化が発生した(すなわち視線方向が切り替わった)か否かが判定される。具体的には、電位差DRが+t1以上であり且つ電位差DLが−t1以下である場合には視線方向が右に変化したと判定される。電位差DRが−t1以下であり且つ電位差DLが+t1以上である場合には視線方向が左に変化したと判定され、電位差DRが+t1以上であり且つ電位差DLが+t1以上である場合には視線方向が上に変化したと判定される。電位差DRが−t1以下であり且つ電位差DLが−t1以下である場合には視線方向が下に変化したと判定される。
方向特定部1502は、直近の所定期間について、視線方向の切替回数を計数する(ステップS37)。方向特定部1502は、ステップS37の処理結果を管理データ格納部1512に格納する。そして処理は呼び出し元に戻る。
図12は、管理データ格納部1512に格納されるデータの一例を示す図である。図12の例では、視線方向の変化が検出された時刻と、電位差DRの符号と、電位差DLの符号と、視線方向と、切替回数とについての情報が格納される。
以上のような処理を実行すれば、ユーザの状態を推定することに役立つ、視線方向の切替回数の情報を用意することができるようになる。
図8の説明に戻り、モード切替部1504は、脳波特定部1503を呼び出す。これに応じ、脳波特定部1503は、電位データ格納部1511に格納されているデータに基づき、脳波の状態を特定する処理である脳波特定処理を実行する(ステップS13)。
図13は、第1の実施の形態における脳波特定処理の処理フローを示す図である。
脳波特定部1503は、電位データ格納部1511に格納されているデータを読み出す。そして、脳波特定部1503は、直近の所定期間について、電極ERで測定された電位と電極ELで測定された電位との差である電位差DMを算出する(図13:ステップS41)。なお、ステップS41における所定期間は、計数処理における所定期間と異なっていてもよい。
脳波特定部1503は、ステップS41において算出された電位差DMに対するフーリエ変換(より具体的には高速フーリエ変換)により周波数分布を生成する(ステップS43)。
図14は、電位差DMの周波数分布を示す図である。図14において、横軸は周波数(Hz)を表し、縦軸は強度を表す。本実施の形態においては、シータ波は4Hzから7Hzの帯域に含まれるとし、アルファ波は8Hzから13Hzの帯域に含まれるとし、ベータ波は14Hzから30Hzの帯域に含まれるとする。
脳波特定部1503は、ステップS43において生成された周波数分布に基づき、脳波に含まれるアルファ波の割合を算出する(ステップS45)。
脳波特定部1503は、ステップS43において生成された周波数分布に基づき、脳波に含まれるベータ波の割合を算出する(ステップS47)。
脳波特定部1503は、ステップS43において生成された周波数分布に基づき、脳波に含まれるシータ波の割合を算出する(ステップS49)。そして処理は呼び出し元に戻る。
ここで、脳波に含まれる各波成分の割合は以下のように算出される。具体的には、アルファ波の割合はIα/(Iα+Iβ+Iθ)として算出され、ベータ波の割合はIβ/(Iα+Iβ+Iθ)として算出され、シータ波の割合はIθ/(Iα+Iβ+Iθ)として算出される。ここで、Iθは4Hzから7Hzまでの強度の積分値であり、Iαは8Hzから13Hzまでの強度の積分値であり、Iβは14Hzから30Hzまでの強度の積分値である。
以上のような処理を実行すれば、ユーザの状態を推定することに役立つ、脳波の状態についての情報を用意することができるようになる。
図8の説明に戻り、モード切替部1504は、方向特定部1502から切替回数の情報を受け取り、脳波特定部1503からベータ波の割合の情報を受け取る。そして、モード切替部1504は、危険モードについての条件が満たされるか判定する(ステップS15)。危険モードとは、ユーザの状態が緊張状態である場合のモードであり、危険モードについての条件は予め定められている。本実施の形態において、危険モードについての条件とは、視線方向の切替回数が所定回数以上であり且つベータ波の割合が所定値以上である(すなわち、ベータ波が支配的である)という条件である。
危険モードについての条件が満たされる場合(ステップS15:Yesルート)、モード切替部1504は、モード設定格納部1513から危険モードの設定を読み出す。そして、モード切替部1504は、危険モードの設定を適用(例えば、メモリ152における所定の領域に格納)する(ステップS17)。そして処理はステップS23に移行する。設定とは、視線の移動によりHMD装置100に対して行う操作についての設定である。
危険モードについての条件が満たされない場合(ステップS15:Noルート)、モード切替部1504は、通常モードについての条件が満たされるか判定する(ステップS19)。通常モードとは、ユーザが落ち着いている場合のモードであり、通常モードについての条件は予め定められている。本実施の形態において、通常モードについての条件とは、視線方向の切替回数が所定回数より少なく且つベータ波の割合が所定値未満である(すなわち、ベータ波が支配的ではない)という条件である。なお、通常モードについての条件の所定回数及び所定値は、危険モードについての条件の所定回数及び所定値と異なっていてもよい。
通常モードについての条件が満たされる場合(ステップS19:Yesルート)、モード切替部1504は、モード設定格納部1513から通常モードの設定を読み出す。そして、モード切替部1504は、通常モードの設定を適用(例えば、メモリ152における所定の領域に格納)する(ステップS21)。そして処理はステップS23に移行する。一方、通常モードについての条件が満たされない場合(ステップS19:Noルート)、処理はステップS23に移行する。
モード切替部1504は、処理の終了指示(例えば、制御部150の停止指示)が有ったか判定する(ステップS23)。処理の終了指示が無い場合(ステップS23:Noルート)には処理はステップS11に戻り、処理の終了指示が有る場合(ステップS23:Yesルート)、処理は終了する。
以上のような処理を実行すれば、ユーザの状態に応じて操作についての設定が自動的に切り替えられるので、ユーザが操作を行いやすくなる。例えば高所での作業や足場が不安定な場所での作業など、ユーザが緊張状態になる可能性がある作業を、ユーザが不便を感じることなく進めることができるようになる。
図15は、各モードと視線方向の切替回数及びベータ波の割合との関係を示す図である。図15に示すように、視線方向の切替回数が所定回数より少なく且つベータ波の割合が所定値未満である場合には通常モードであると判定される。これに対し、視線方向の切替回数が所定回数以上であり且つベータ波の割合が所定値以上である場合に危険モードであると判定される。
操作についての設定は、例えば以下のような設定の少なくともいずれかを含む。(a)表示部120R及び120L上に表示されるカーソルの移動速度についての設定、(b)カーソルを特定の構成要素上へ強制的に移動させる範囲(以下、フィッティング範囲と呼ぶ)の広さについての設定、(c)表示部120R及び120L上に表示されるコンテンツのスクロール速度についての設定。
危険モードの場合、カーソルの移動速度が通常モードの場合より速くなるように設定され、フィッティング範囲は通常モードの場合より広くなるように設定され、スクロール速度は通常モードの場合より速くなるように設定される。これにより、ユーザはより早く操作を完了できるようになる。
図16乃至図18は、フィッティング範囲について説明するための図である。図16乃至図18において、フィッティング範囲frは破線で表されている。
図16に示すように、ユーザが視線方向を左方向にすることで表示部120R及び120L上のカーソルが左方向に移動してきたとする。この場合、カーソルはフィッティング範囲frに入るまでは通常どおり移動する。
図17に示すように、カーソルがフィッティング範囲frに入ると「OK」のチェックボックス上に移動する。このようにすれば、チェックボックスからフィッティング範囲frの端までの移動をするためにユーザが視線方向を制御する必要がないので、ユーザはより早くチェックボックスにチェックを入れることが可能である。
図18に示すように、確定処理が実行されると、チェックボックスにチェックが表示される。確定処理については後で説明する。なお、フィッティング範囲frは各構成要素(例えばチェックボックスやラジオボタンなど)について設定される。
次に、表示部120R及び120L上のカーソルを制御する処理について説明する。図19は、表示部120R及び120L上のカーソルを制御する処理の処理フローを示す図である。
表示制御部1505は、方向特定部1502を呼び出す。これに応じ、方向特定部1502は、視線方向を特定する処理である方向特定処理を実行する(図19:ステップS51)。
図20は、方向特定処理の処理フローを示す図である。
方向特定部1502は、電位データ格納部1511に格納されているデータを読み出す。そして、方向特定部1502は、直近の時点について、電極ERで測定された電位と電極EMで測定された電位との差である電位差DRを算出する(図20:ステップS61)。
方向特定部1502は、直近の時点について、電極ELで測定された電位と電極EMで測定された電位との差である電位差DLを算出する(ステップS63)。
方向特定部1502は、直近の時点について、電位差DRの符号と電位差DLの符号とに基づき視線方向を特定する(ステップS65)。そして処理は呼び出し元に戻る。
図19の説明に戻り、表示制御部1505は、ステップS65において方向特定部1502により特定された方向に、ステップS17又はS21において適用された設定に定義されている移動量の分だけ、表示部120R及び120Lにおけるカーソルを移動する(ステップS53)。
表示制御部1505は、移動後のカーソルがいずれかの構成要素のフィッティング範囲内に有るか判定する(ステップS55)。なお、各構成要素のフィッティング範囲の広さは、ステップS17又はS21において適用された設定に定義されている。
移動後のカーソルがいずれの構成要素のフィッティング範囲内にも無い場合(ステップS55:Noルート)、処理はステップS59に移行する。一方、移動後のカーソルがいずれかの構成要素のフィッティング範囲内に有る場合(ステップS55:Yesルート)、表示制御部1505は、カーソルを含むフィッティング範囲についての構成要素上にカーソルを移動する(ステップS57)。
表示制御部1505は、処理の終了指示(例えば、制御部150の停止指示)が有ったか判定する(ステップS59)。処理の終了指示が無い場合(ステップS59:Noルート)には処理はステップS51に戻り、処理の終了指示が有る場合(ステップS59:Yesルート)、処理は終了する。
以上のような処理を実行すれば、ユーザの状態に応じた設定に従ってカーソルの移動が行われるので、ユーザの負担を減らすことができる。
次に、ユーザが意思決定の操作をした場合に実行する処理について説明する。
なお、視線センサを利用すると太陽光によって角膜反射が阻害されるため視線方向の検知が困難である場合があり、また、音声認識を利用すると風によるノイズによって適切な認識を行えない場合がある。これに対して、本実施の形態のHMD装置100を利用すれば、屋外であってもユーザはスムーズに操作を行うことができるようになる。
図21は、ユーザが意思決定の操作をした場合に実行する処理の処理フローを示す図である。
確定処理実行部1506は、脳波特定部1503を呼び出す。これに応じ、脳波特定部1503は、脳波特定処理を実行する(ステップS71)。ステップS71において実行される脳波特定処理については図13を用いて説明したとおりであるので、ここでは説明を省略する。
確定処理実行部1506は、カーソルが特定の構成要素(例えば、チェックボックス、ラジオボタン、複数のコンテンツの中からコンテンツを選択するための表示上におけるコンテンツ等)上にあり且つステップS71において特定されたアルファ波の割合が所定の閾値以上であるという条件(以下、確定処理についての条件と呼ぶ)が満たされるか判定する(ステップS73)。
一般的に、人間が集中している(或いはリラックスしている)ときアルファ波が支配的である傾向がある。従って、ユーザは意思決定の操作のときに、構成要素に視線を向けて意識的に集中するといったことを行うことで、制御部150に確定処理を実行させることができる。なお、集中しているときのアルファ波の割合はユーザごとに異なるので、ユーザごとに所定の閾値を定めてもよい。
確定処理についての条件が満たされない場合(ステップS73:Noルート)、ユーザは意思決定の操作をしていないので、処理はステップS77に移行する。
一方、確定処理についての条件が満たされる場合(ステップS73:Yesルート)、確定処理実行部1506は確定処理を実行する(ステップS75)。確定処理は、例えば、チェックボックス内のチェックを表示する処理、ラジオボタンを選択する処理、或いはコンテンツの選択を確定する処理等である。
確定処理実行部1506は、処理の終了指示(例えば、制御部150の停止指示)が有ったか判定する(ステップS77)。処理の終了指示が無い場合(ステップS77:Noルート)には処理はステップS71に戻り、処理の終了指示が有る場合(ステップS77:Yesルート)、処理は終了する。
以上のような処理を実行すれば、ユーザの意思決定のとおりに確定処理を実行することができるようになる。
本実施の形態におけるユーザは、複数のコンテンツの中からコンテンツを選択するための表示と、選択されたコンテンツに対する入力を行うための表示とを適宜切り替えて操作を進める。
図22は、複数のコンテンツの中からコンテンツを選択するための表示の一例である。図22の例では、点検項目(1)についてのコンテンツと、点検項目(2)についてのコンテンツと、・・・、点検項目(8)についてのコンテンツとが表示されており、点検項目(1)についてのコンテンツが選択されてハイライトされている。ユーザは視線を動かすことで別のコンテンツを選択することができる。例えば視線を右方向に動かすことで、図23に示すように、点検項目(2)についてのコンテンツを選択することができる。ユーザが意思決定の操作を行うと、選択されたコンテンツが拡大表示される。つまり、選択されたコンテンツに対する入力を行うための表示をユーザが表示部120R及び120L上で見ることができる。
例えば図24に示すようなコンテンツが表示される。そしてユーザは視線方向を制御することでカーソル240の位置を動かし、カーソル240がチェックボックス上にある状態でユーザのアルファ波が支配的になると、チェックボックスにチェックが表示される。
また、複数のコンテンツの中からコンテンツを選択するための表示として、図25に示すような表示を採用してもよい。図25の例においては、複数のコンテンツが重ねて表示されており、ユーザは視線を右方向又は左方向に動かすことで、複数のコンテンツの中からコンテンツを選択する。
ユーザが右方向に視線を動かすと、例えば図26に示すように、点検項目(1)についてのコンテンツは最も後ろに表示され、点検項目(2)についてのコンテンツが最も前に表示される。なお、点検項目(1)についてのコンテンツの代わりに点検項目(2)についてのコンテンツを最も前に表示するときのスピードを上記(c)により設定してもよい。
そして、点検項目(2)についてのコンテンツが最も前に表示されている状態においてユーザが意思決定の操作を行うと、点検項目(2)についてのコンテンツが拡大表示される。
[実施の形態2]
第1の実施の形態においては、危険モードについての条件および通常モードについての条件が予め定められており、これらの条件に従ってモードの判定が実行される。これに対して第2の実施の形態においては、視線の状態及び脳波の状態とモードとの関係についての学習モデル(例えばニューラルネットワークによるモデル)が予め生成されており、学習モデルの出力に従ってモードの判定が実行される。
図27は、第2の実施の形態における切替処理の処理フローを示す図である。
モード切替部1504は、方向特定部1502を呼び出す。これに応じ、方向特定部1502は、電位データ格納部1511に格納されているデータに基づき、視線方向の切替回数を計数する処理である計数処理を実行する(図27:ステップS81)。
図28は、第2の実施の形態における計数処理の処理フローを示す図である。
方向特定部1502は、電位データ格納部1511に格納されているデータを読み出す。そして、方向特定部1502は、直近の所定期間について、電極ERで測定された電位と電極EMで測定された電位との差である電位差DRを算出する(図28:ステップS101)。電位差DRは、例えば、(電極ERで測定された電位)−(電極EMで測定された電位)である。
方向特定部1502は、直近の所定期間について、電極ELで測定された電位と電極EMで測定された電位との差である電位差DLを算出する(ステップS103)。電位差DLは、例えば、(電極ELで測定された電位)−(電極EMで測定された電位)である。
方向特定部1502は、直近の所定期間について、電位差DRの符号と電位差DLの符号とに基づき視線方向を特定する(ステップS105)。方向特定部1502は、ステップS105の処理結果を管理データ格納部1512に格納する。
方向特定部1502は、直近の所定期間について、視線方向の切替回数を計数する(ステップS107)。方向特定部1502は、ステップS107の処理結果を管理データ格納部1512に格納する。
方向特定部1502は、直近の所定期間について、瞬きの回数を計数する(ステップS109)。方向特定部1502は、ステップS109の処理結果を管理データ格納部1512に格納する。そして処理は呼び出し元に戻る。
図29は、瞬きの回数の計数方法について説明するための図である。図29においては、上段に電位差DRのグラフが示されており、下段に電位差DLのグラフが示されており、これらのグラフは50区間での移動平均のグラフである。ユーザの視線の方向が4点において具体的に示されている。上で説明したように、視線方向が右に変化するときには電位差DRの値は正になり且つ電位差DLの値は負になる。視線方向が左に変化するときには電位差DRの値は負になり且つ電位差DLの値は正になる。視線方向が上に変化するときには電位差DRの値は正になり且つ電位差DLの値は正になる。視線方向が下に変化するときには電位差DRの値は負になり且つ電位差DLの値は負になる。
図29の例では、ユーザの視線方向は右から中央へ変化し、中央から左へ変化し、左から中央へ変化し、中央から上へ変化し、上から中央へ変化し、中央から下へ変化し、下から中央へ変化する。また、期間中において2回の瞬きが行われている。例えば、電位差DR及び電位差DLが+t2(t2は例えば0.5mV)以上に変化した後にともに負の値になった場合に瞬きが行われたと判定される。
図30は、ステップS109の処理によって管理データ格納部1512に格納されるデータの一例を示す図である。図30の例では、計数された瞬きの回数が格納される。
以上のような処理を実行すれば、ユーザの状態を推定することに役立つ、視線情報(第2の実施の形態においては、視線方向、切替回数および瞬きの回数)を用意することができるようになる。
図27の説明に戻り、モード切替部1504は、脳波特定部1503を呼び出す。これに応じ、脳波特定部1503は、電位データ格納部1511に格納されているデータに基づき、脳波の状態を特定する処理である脳波特定処理を実行する(ステップS83)。ステップS83において実行される脳波特定処理はステップS13において実行される脳波特定処理と同じであるので、ここでは説明を省略する。
モード切替部1504は、方向特定部1502から視線情報を受け取り、脳波特定部1503から脳波の情報(第2の実施の形態においては、アルファ波の割合、ベータ波の割合およびシータ波の割合)を受け取る。そして、モード切替部1504は、受け取った情報を入力として、学習モデルに基づきモードを判定する(ステップS85)。例えば、視線情報および脳波の情報と、対応するモードの情報である教師データとを含むセットを複数用意し、用意された複数のセットについて学習(すなわち機械学習)を実行することで学習モデルが予め生成される。学習モデルはユーザ毎に生成されてもよい。
モード切替部1504は、危険モードであると学習モデルにより判定されたか判定する(ステップS87)。
危険モードであると学習モデルにより判定された場合(ステップS87:Yesルート)、モード切替部1504は、モード設定格納部1513から危険モードの設定を読み出す。そして、モード切替部1504は、危険モードの設定を適用(例えば、メモリ152における所定の領域に格納)する(ステップS89)。そして処理はステップS95に移行する。
危険モードであると学習モデルにより判定されていない場合(ステップS87:Noルート)、モード切替部1504は、通常モードであると学習モデルにより判定されたか判定する(ステップS91)。
通常モードであると学習モデルにより判定された場合(ステップS91:Yesルート)、モード切替部1504は、モード設定格納部1513から通常モードの設定を読み出す。そして、モード切替部1504は、通常モードの設定を適用(例えば、メモリ152における所定の領域に格納)する(ステップS93)。そして処理はステップS95に移行する。一方、通常モードであると学習モデルにより判定されていない場合(ステップS91:Noルート)、処理はステップS95に移行する。
モード切替部1504は、処理の終了指示(例えば、制御部150の停止指示)が有ったか判定する(ステップS95)。処理の終了指示が無い場合(ステップS95:Noルート)には処理はステップS81に戻り、処理の終了指示が有る場合(ステップS95:Yesルート)、処理は終了する。
以上のような処理を実行すれば、ユーザの状態に応じて操作についての設定が自動的に切り替えられるので、ユーザが操作を行いやすくなる。なお、学習モデルを用いることで、例えばベータ波以外の波の割合や瞬きの回数など、より多くの情報をモードの判定に反映させることができるようになる。
[実施の形態3]
第3の実施の形態においては、各モードの設定がユーザからの入力及び指定等に基づき生成される。
図31は、第3の実施の形態における制御部150の機能ブロック図である。制御部150は、電位取得部1501、方向特定部1502、脳波特定部1503、モード切替部1504、表示制御部1505、確定処理実行部1506、モード生成部1507、電位データ格納部1511、管理データ格納部1512、モード設定格納部1513及び設定情報格納部1514を含む。電位取得部1501、方向特定部1502、脳波特定部1503、モード切替部1504、表示制御部1505、確定処理実行部1506及びモード生成部1507は、本実施の形態の処理を実行するためのプログラムがプロセッサ151に実行されることで実現される。電位データ格納部1511、管理データ格納部1512、モード設定格納部1513及び設定情報格納部1514は、例えばメモリ152に含まれる。
電位取得部1501は、電極ER、電極EM及び電極ELで測定された電位の情報を取得し、取得された情報を電位データ格納部1511に格納する。方向特定部1502は、電位データ格納部1511に格納されたデータに基づき処理を実行し、処理結果をモード切替部1504及び表示制御部1505に通知する。なお、方向特定部1502の処理途中のデータは管理データ格納部1512に格納される。脳波特定部1503は、電位データ格納部1511に格納されたデータに基づき処理を実行し、処理結果をモード切替部1504及び確定処理実行部1506に通知する。モード切替部1504は、方向特定部1502から受け取った処理結果、脳波特定部1503から受け取った処理結果、及びモード設定格納部1513に格納されているデータに基づき処理を実行し、処理結果を表示制御部1505に通知する。表示制御部1505は、モード切替部1504から受け取った処理結果に基づき表示部120R及び120Lの表示を制御する。確定処理実行部1506は、脳波特定部1503から受け取った処理結果に基づき処理を実行する。モード生成部1507は、設定情報格納部1514に格納されているデータに基づき処理を実行し、処理結果をモード設定格納部1513に格納する。
次に、モード生成部1507が実行する処理について説明する。
図32は、ユーザからの変更指示があった場合にモード生成部1507が実行する処理の処理フローを示す図である。
モード生成部1507は、ユーザからの変更指示に従い、本処理時点において適用されている設定を変更する(図32:ステップS111)。ユーザからの変更指示は、例えば、表示部120R及び120L上に表示された複数の設定の中から所望の設定をユーザが指定するか、又は、設定に関する数値を(例えばプルダウンを利用して)ユーザが入力することで行われる。
モード生成部1507は、変更後の設定を適用(例えば、メモリ152における所定の領域に格納)する(ステップS113)。
モード生成部1507は、変更後の設定をユーザの識別情報に対応付けて設定情報格納部1514に格納する(ステップS115)。なお、ユーザの識別情報はHMD装置100に入力されているものとする。そして処理は終了する。
図33は、設定情報格納部1514に格納されるデータの一例を示す図である。図33の例では、各ユーザについて、設定がモード毎に格納されている。未だ変更指示が行われていないモードについては、設定が格納されていない。なお、同一のユーザについて複数のエントリが格納されてもよい。
図34は、各モードの設定を生成する処理の処理フローを示す図である。本処理は、例えば、定期的に或いはユーザからの指示に応じて実行される。
モード生成部1507は、設定情報格納部1514から1又は複数の設定をモード毎に読み出す(図34:ステップS121)。
モード生成部1507は、ステップS121において読み出された設定に基づき、新しい設定をモード毎に生成する(ステップS123)。そして処理は終了する。新しい設定とは、例えば、1又は複数の設定に含まれる数値の平均値を含む設定である。
緊張した状態のときのベータ波の割合や視線方向の切替回数等は、ユーザによって異なる。そこで以上のような処理を実行すれば、各ユーザについて適切な設定を適用することができるようになる。
[実施の形態4]
第1の実施の形態においては、危険モードについての条件および通常モードについての条件のいずれも満たされない場合には、設定の切替が行われない。これに対して第4の実施の形態においては、危険モードについての条件および通常モードについての条件のいずれも満たされない場合には、中間モードの設定が適用される。
図35は、各モードと視線方向の切替回数及びベータ波の割合との関係を示す図である。図35に示すように、視線方向の切替回数が所定回数より少なく且つベータ波の割合が所定値未満である場合には通常モードであると判定される。これに対し、視線方向の切替回数が所定回数以上であり且つベータ波の割合が所定値以上である場合に危険モードであると判定される。また、視線方向の切替回数が所定回数以上であり且つベータ波の割合が所定値未満である場合、および、視線方向の切替回数が所定回数未満であり且つベータ波の割合が所定値以上である場合には、中間モードであると判定される。
以上のように、3つ以上のモードを設けることで、ユーザの状態に応じてより適切な設定が適用されるようになる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した制御部150の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明したデータ構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
また、視線情報として、視点の移動速度を利用してもよい。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る操作支援方法は、(A)ユーザの右目上方の部位に当接する第1電極で測定された電位と、ユーザの左目上方の部位に当接する第2電極で測定された電位と、ユーザの鼻根に当接する第3電極で測定された電位とを取得し、(B)第1電極で測定された電位と第3電極で測定された電位との差である第1電位差と、第2電極で測定された電位と第3電極で測定された電位との差である第2電位差と、第1電極で測定された電位と第2電極で測定された電位との差である第3電位差とを算出し、(C)第1電位差と第2電位差とに基づき、ユーザの視線方向を特定し、(D)第3電位差に基づき、ユーザの脳波の状態を特定し、(E)特定された視線方向の切替回数と、特定された脳波の状態とに基づき、ユーザが視線の移動により行う操作についての設定を切り替える処理を含む。
ユーザの視線方向の切替回数及び脳波の状態にはユーザの状態が反映されるので、上記のような処理によって操作についての設定が自動的に切り替えられることで、ユーザが操作を行いやすくなる。
また、操作についての設定を切り替える処理において、(e1)切替回数が所定数以上であり且つ脳波の状態がベータ波が支配的な状態であるという条件が満たされない場合、操作についての設定を第1設定に切り替え、(e2)条件が満たされる場合、操作についての設定を、第1設定に切り替えられた場合より速くユーザが操作を行えるようにするための第2設定に切り替えてもよい。
切替回数が所定数以上であり且つ脳波の状態がベータ波が支配的な状態であるときはユーザが緊張状態にあると考えられるので、上で述べたような切替を行うことで、ユーザが迅速に操作を終えて緊張状態から脱することができるようになる。
また、操作についての設定が、ユーザの両目の前に配置された表示部上に表示されるカーソルの移動速度についての設定と、カーソルを特定の構成要素上へ強制的に移動させる範囲についての設定と、表示部上に表示されるコンテンツのスクロール速度についての設定との少なくともいずれかを含んでもよい。
また、本操作支援方法は、(F)第1電位差と第2電位差とに基づき特定される視線方向に、ユーザの両目の前に配置された表示部上のカーソルを移動する処理をさらに含んでもよい。
ユーザは手を使うことなく、視線方向の制御によりカーソルを移動できるようになる。
また、本操作支援方法は、(G)第1電位差と第2電位差とに基づき特定される視線方向が一定である状態において、第3電位差に基づき特定される脳波の状態がアルファ波が支配的な状態であるか否かに基づき、ユーザにより確定操作が行われたか否かを判定する処理をさらに含んでもよい。
ユーザは手を使うことなく、視線方向の制御により意思決定の操作を行えるようになる。
また、操作についての設定を切り替える処理において、(e3)特定された視線方向及び脳波の状態と第1電位差及び第2電位差に基づき特定される瞬きの回数とを入力とし且つ予め生成された学習モデルの出力に応じて、操作についての設定を切り替えてもよい。
操作についての設定をより柔軟に切り替えることができるようになる。
また、ユーザの視線方向を特定する処理において、(c1)第1電位差の絶対値及び第2電位差の絶対値と閾値との比較、および、第1電位差の符号及び第2電位差の符号に基づき、ユーザの視線方向を特定してもよい。
ノイズの影響を除去しつつ適切の視線方向を特定できるようになる。
また、ユーザの脳波の状態を特定する処理において、(d1)第3電位差に対する周波数分析に基づき、ユーザの脳波の状態を特定してもよい。
周波数分析により、どの波成分が支配的であるかといったことがわかるようになる。
また、本操作支援方法は、(H)ユーザにより入力され又は指定された、操作についての1又は複数の設定に基づき、第1設定及び第2設定の少なくともいずれかを生成する処理をさらに実行してもよい。
ユーザに適した設定を生成できるようになる。
本実施の形態の第2の態様に係る頭部装着型表示装置は、(I)ユーザの右目上方の部位に当接する第1電極で測定された電位と、ユーザの左目上方の部位に当接する第2電極で測定された電位と、ユーザの鼻根に当接する第3電極で測定された電位とを取得する取得部(実施の形態における電位取得部1501は上記取得部の一例である)と、(J)第1電極で測定された電位と第3電極で測定された電位との差である第1電位差と、第2電極で測定された電位と第3電極で測定された電位との差である第2電位差とを算出し、算出された第1電位差と第2電位差とに基づき、ユーザの視線方向を特定する第1特定部(実施の形態における方向特定部1502は上記第1特定部の一例である)と、(K)第1電極で測定された電位と第2電極で測定された電位との差である第3電位差とを算出し、算出された第3電位差に基づき、ユーザの脳波の状態を特定する第2特定部(実施の形態における脳波特定部1503は上記第2特定部の一例である)と、(L)第1特定部により特定された視線方向の切替回数と、第2特定部により特定された脳波の状態とに基づき、ユーザが視線の移動により行う操作についての設定を切り替える切替部(実施の形態におけるモード切替部1504は上記切替部の一例である)とを有する。
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
プロセッサに、
ユーザの右目上方の部位に当接する第1電極で測定された電位と、前記ユーザの左目上方の部位に当接する第2電極で測定された電位と、前記ユーザの鼻根に当接する第3電極で測定された電位とを取得し、
前記第1電極で測定された電位と前記第3電極で測定された電位との差である第1電位差と、前記第2電極で測定された電位と前記第3電極で測定された電位との差である第2電位差と、前記第1電極で測定された電位と前記第2電極で測定された電位との差である第3電位差とを算出し、
前記第1電位差と前記第2電位差とに基づき、前記ユーザの視線方向を特定し、
前記第3電位差に基づき、前記ユーザの脳波の状態を特定し、
特定された前記視線方向の切替回数と、特定された前記脳波の状態とに基づき、前記ユーザが視線の移動により行う操作についての設定を切り替える、
処理を実行させる操作支援プログラム。
(付記2)
前記操作についての設定を切り替える処理において、
前記切替回数が所定数以上であり且つ前記脳波の状態がベータ波が支配的な状態であるという条件が満たされない場合、前記操作についての設定を第1設定に切り替え、
前記条件が満たされる場合、前記操作についての設定を、前記第1設定に切り替えられた場合より速く前記ユーザが操作を行えるようにするための第2設定に切り替える、
付記1記載の操作支援プログラム。
(付記3)
前記操作についての設定が、前記ユーザの両目の前に配置された表示部上に表示されるカーソルの移動速度についての設定と、前記カーソルを特定の構成要素上へ強制的に移動させる範囲についての設定と、前記表示部上に表示されるコンテンツのスクロール速度についての設定との少なくともいずれかを含む、
付記1記載の操作支援プログラム。
(付記4)
前記プロセッサに、
前記第1電位差と前記第2電位差とに基づき特定される視線方向に、前記ユーザの両目の前に配置された表示部上のカーソルを移動する、
処理をさらに実行させる付記1乃至3のいずれか1つ記載の操作支援プログラム。
(付記5)
前記プロセッサに、
前記第1電位差と前記第2電位差とに基づき特定される視線方向が一定である状態において、前記第3電位差に基づき特定される前記脳波の状態がアルファ波が支配的な状態であるか否かに基づき、前記ユーザにより確定操作が行われたか否かを判定する、
処理をさらに実行させる付記4記載の操作支援プログラム。
(付記6)
前記操作についての設定を切り替える処理において、
特定された前記視線方向及び前記脳波の状態と前記第1電位差及び前記第2電位差に基づき特定される瞬きの回数とを入力とし且つ予め生成された学習モデルの出力に応じて、前記操作についての設定を切り替える、
付記1記載の操作支援プログラム。
(付記7)
前記ユーザの視線方向を特定する処理において、
前記第1電位差の絶対値及び前記第2電位差の絶対値と閾値との比較、および、前記第1電位差の符号及び前記第2電位差の符号に基づき、前記ユーザの視線方向を特定する、
付記1乃至6のいずれか1つ記載の操作支援プログラム。
(付記8)
前記ユーザの脳波の状態を特定する処理において、
前記第3電位差に対する周波数分析に基づき、前記ユーザの脳波の状態を特定する、
付記1乃至7のいずれか1つ記載の操作支援プログラム。
(付記9)
前記プロセッサに、
前記ユーザにより入力され又は指定された、操作についての1又は複数の設定に基づき、前記第1設定及び前記第2設定の少なくともいずれかを生成する、
処理をさらに実行させる付記2記載の制御プログラム。
(付記10)
プロセッサが、
ユーザの右目上方の部位に当接する第1電極で測定された電位と、前記ユーザの左目上方の部位に当接する第2電極で測定された電位と、前記ユーザの鼻根に当接する第3電極で測定された電位とを取得し、
前記第1電極で測定された電位と前記第3電極で測定された電位との差である第1電位差と、前記第2電極で測定された電位と前記第3電極で測定された電位との差である第2電位差と、前記第1電極で測定された電位と前記第2電極で測定された電位との差である第3電位差とを算出し、
前記第1電位差と前記第2電位差とに基づき、前記ユーザの視線方向を特定し、
前記第3電位差に基づき、前記ユーザの脳波の状態を特定し、
特定された前記視線方向の切替回数と、特定された前記脳波の状態とに基づき、前記ユーザが視線の移動により行う操作についての設定を切り替える、
処理を実行する操作支援方法。
(付記11)
ユーザの右目上方の部位に当接する第1電極で測定された電位と、前記ユーザの左目上方の部位に当接する第2電極で測定された電位と、前記ユーザの鼻根に当接する第3電極で測定された電位とを取得する取得部と、
前記第1電極で測定された電位と前記第3電極で測定された電位との差である第1電位差と、前記第2電極で測定された電位と前記第3電極で測定された電位との差である第2電位差とを算出し、算出された前記第1電位差と前記第2電位差とに基づき、前記ユーザの視線方向を特定する第1特定部と、
前記第1電極で測定された電位と前記第2電極で測定された電位との差である第3電位差とを算出し、算出された前記第3電位差に基づき、前記ユーザの脳波の状態を特定する第2特定部と、
前記第1特定部により特定された前記視線方向の切替回数と、前記第2特定部により特定された前記脳波の状態とに基づき、前記ユーザが視線の移動により行う操作についての設定を切り替える切替部と、
を有する頭部装着型表示装置。