(57)【要約】【課題】ユーザ毎の動作特性に合わせて処理を実行することができるヘッドマウントディスプレイ装置、制御方法、及びプログラムを提供することにある。【解決手段】ユーザの頭部に装着されるヘッドマウントディスプレイ装置は、センサ４と、操作実行部５５と、動作学習部５４とを備える。センサ４は、ユーザの頭部の動作を検出する。操作実行部５５は、予め設定された動作と操作とを対応付けた動作マップ上に、検出された動作が存在するか否か判定する。また、操作実行部５５は、検出された動作が存在すると判定した場合、検出された動作に対応する操作を特定し、特定した操作に応じた処理を実行する。動作学習部５４は、操作実行部５５によって処理が実行され、且つ、その処理の実行前に、検出された動作が存在しないとの判定が行われている場合に、存在しないとの判定の対象となった動作を用いて、動作マップを更新する。【選択図】図１
2013254251.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの頭部に装着されるヘッドマウントディスプレイ装置であって、
前記ユーザの頭部の動作を検出するためのセンサと、
予め設定された動作と操作とを対応付けた動作マップ上に、検出された前記動作が存在するか否か判定し、検出された前記動作が存在すると判定した場合、検出された前記動作に対応する操作を特定し、特定した前記操作に応じた処理を実行する操作実行部と、
前記操作実行部によって前記処理が実行され、且つ、前記処理の実行前に、検出された前記動作が存在しないとの判定が行われている場合に、存在しないとの判定の対象となった前記動作を用いて、前記動作マップを更新する動作学習部と、
を備える、ヘッドマウントディスプレイ装置。
【請求項２】
前記動作学習部は、存在していないとの判定の対象となった前記動作が、前記動作マップ上に存在するように、前記動作マップを更新する、請求項１に記載のヘッドマウントディスプレイ装置。
【請求項３】
前記操作実行部によって実行された処理が、当該処理の実行前に存在しないと判定された前記動作によって、実行されるよう、前記動作学習部が前記動作マップを更新する、請求項１又は２に記載のヘッドマウントディスプレイ装置。
【請求項４】
前記センサは、前記ユーザの頭部の動作として、加速度、及び動作方向毎の傾きの値を検出し、
前記動作マップは、加速度及び動作方向毎の傾きそれぞれの設定された数値範囲と、操作とを対応付けており、
前記動作学習部は、存在していないとの判定の対象となった、加速度及び動作方向毎の傾きの値が、前記動作マップに設定された、加速度及び動作方向毎の傾きの数値範囲内に入るように、前記動作マップを更新する、請求項１から３のいずれかに記載のヘッドマウントディスプレイ装置。
【請求項５】
前記動作学習部は、存在していないとの判定の対象となった前記動作によって、前記操作実行部によって実行された前記処理が実行されるよう、前記動作マップを更新する、請求項１から４のいずれかに記載のヘッドマウントディスプレイ装置。
【請求項６】
前記動作マップを格納する動作マップ格納部をさらに備え、
前記動作マップ格納部は、前記動作マップをユーザ毎に格納している、請求項１から５のいずれかに記載のヘッドマウントディスプレイ装置。
【請求項７】
ユーザの頭部に装着されるヘッドマウントディスプレイ装置の制御方法であって、
（ａ）前記ヘッドマウントディスプレイに取り付けられたセンサに、前記ユーザの頭部の動作の検出を実行させるステップと、
（ｂ）予め設定された動作と操作とを対応付けた動作マップ上に、前記（ａ）のステップで検出された前記動作が存在するか否かを判定するステップと、
（ｃ）前記（ｂ）のステップにおいて、前記（ａ）のステップで検出された前記動作が存在すると判定した場合に、検出された前記動作に対応する操作を特定し、特定した前記操作に応じた処理を実行するステップと、
（ｄ）前記（ｃ）のステップで前記処理が実行され、且つ、前記（ｃ）のステップでの前記処理の実行前に、検出された前記動作が存在していないとの判定が行われている場合に、存在していないとの判定の対象となった前記動作を用いて、前記動作マップを更新するステップと、
を含む、制御方法。
【請求項８】
ユーザの頭部に装着されるヘッドマウントディスプレイ装置の制御を、プロセッサによって実行するためのプログラムであって、前記プロセッサに、
（ａ）前記ヘッドマウントディスプレイに取り付けられたセンサに、前記ユーザの頭部の動作の検出を実行させるステップと、
（ｂ）予め設定された動作と操作とを対応付けた動作マップ上に、前記（ａ）のステップで検出された前記動作が存在するか否かを判定するステップと、
（ｃ）前記（ｂ）のステップにおいて、前記（ａ）のステップで検出された前記動作が存在すると判定した場合に、検出された前記動作に対応する操作を特定し、特定した前記操作に応じた処理を実行するステップと、
（ｄ）前記（ｃ）のステップで前記処理が実行され、且つ、前記（ｃ）のステップでの前記処理の実行前に、検出された前記動作が存在していないとの判定が行われている場合に、存在していないとの判定の対象となった前記動作を用いて、前記動作マップを更新するステップと、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの頭部に装着されるヘッドマウントディスプレイ装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、ヘッドマウントディスプレイ装置を操作する場合、例えば、ヘッドマウンドディスプレイ装置のディスプレイに表示された画面をスクロール等する場合、ヘッドマウントディスプレイ装置が備えるコントローラを用いて操作していた。
【０００３】
ここで、ヘッドマウントディスプレイ装置はユーザに装着された状態で使用されるため、ヘッドマウントディスプレイ装置が備えるコントローラは小型となっている。また、コントローラが小型となっていることによって、コントローラに配置されるボタン又はスイッチの数も限られたものとなっている。
【０００４】
このように、コントローラが小さいと誤操作が多くなるといった問題がある。また、コントローラに配置されるボタン又はスイッチの数が少ないと、可能な操作数が少なくなってしまうという問題があった。このような問題に対応するため、例えば、ヘッドマウントディスプレイ装置を装着したユーザの頭部の動作でヘッドマウントディスプレイ装置を操作する技術が提案されている。
【０００５】
例えば、特許文献１に開示されたヘッドマウントディスプレイ装置は、頭部の動き検出装置が、ユーザの頭部の動きをセンサで検出する。そして、この頭部の動き検出装置が検出したユーザ頭部の加速度変化を中央制御装置に送り、動作入力処理が、その加速度変化のパターンと、記憶装置に記憶されたパターンとを照合する。この照合の結果、頭部の動き検出装置によって検出した加速度変化のパターンが、記憶装置に記憶されたパターンと一致、又は所定の閾値範囲内であれば、ユーザが頭部の動作を行ったと判断し、それに応じた処理が実行される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２３３９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、この特許文献１のヘッドマウントディスプレイ装置では、記憶装置に記憶されたパターンは全てのユーザで共通のものが使用されており、ユーザの動作特性（ユーザの動作の癖）に合ったものではなかった。このため、ユーザによっては、頭部を動作させても思い通りに処理が実行されないという問題があった。
【０００８】
そこで、本発明の目的の一例は、ユーザ毎の動作特性に合わせて処理を実行することができるヘッドマウントディスプレイ装置、制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一側面におけるヘッドマウントディスプレイ装置は、ユーザの頭部に装着されるヘッドマウントディスプレイ装置であって、
前記ユーザの頭部の動作を検出するためのセンサと、
予め設定された動作と操作とを対応付けた動作マップ上に、検出された前記動作が存在するか否か判定し、検出された前記動作が存在すると判定した場合、検出された前記動作に対応する操作を特定し、特定した前記操作に応じた処理を実行する操作実行部と、
前記操作実行部によって前記処理が実行され、且つ、前記処理の実行前に、検出された前記動作が存在しないとの判定が行われている場合に、存在しないとの判定の対象となった前記動作を用いて、前記動作マップを更新する動作学習部と、
を備えることを特徴とする。
【００１０】
また、上記目的を達成するため、本発明の一側面における制御方法は、ユーザの頭部に装着されるヘッドマウントディスプレイ装置の制御方法であって、
（ａ）前記ヘッドマウントディスプレイに取り付けられたセンサに、前記ユーザの頭部の動作の検出を実行させるステップと、
（ｂ）予め設定された動作と操作とを対応付けた動作マップ上に、前記（ａ）のステップで検出された前記動作が存在するか否かを判定するステップと、
（ｃ）前記（ｂ）のステップにおいて、前記（ａ）のステップで検出された前記動作が存在すると判定した場合に、検出された前記動作に対応する操作を特定し、特定した前記操作に応じた処理を実行するステップと、
（ｄ）前記（ｃ）のステップで前記処理が実行され、且つ、前記（ｃ）のステップでの前記処理の実行前に、検出された前記動作が存在していないとの判定が行われている場合に、存在していないとの判定の対象となった前記動作を用いて、前記動作マップを更新するステップと、
を含むことを特徴とする。
【００１１】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、ユーザの頭部に装着されるヘッドマウントディスプレイ装置の制御を、プロセッサによって実行するためのプログラムであって、前記プロセッサに、
（ａ）前記ヘッドマウントディスプレイに取り付けられたセンサに、前記ユーザの頭部の動作の検出を実行させるステップと、
（ｂ）予め設定された動作と操作とを対応付けた動作マップ上に、前記（ａ）のステップで検出された前記動作が存在するか否かを判定するステップと、
（ｃ）前記（ｂ）のステップにおいて、前記（ａ）のステップで検出された前記動作が存在すると判定した場合に、検出された前記動作に対応する操作を特定し、特定した前記操作に応じた処理を実行するステップと、
（ｄ）前記（ｃ）のステップで前記処理が実行され、且つ、前記（ｃ）のステップでの前記処理の実行前に、検出された前記動作が存在していないとの判定が行われている場合に、存在していないとの判定の対象となった前記動作を用いて、前記動作マップを更新するステップと、
を実行させることを特徴とする。
【発明の効果】
【００１２】
以上のように本発明におけるヘッドマウントディスプレイ装置、ヘッドマウントディスプレイ装置の制御方法、及びプログラムによれば、ユーザ毎の動作特性に合わせて処理を実行することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は本発明の実施形態に係るヘッドマウントディスプレイ装置の構成を示す機能ブロック図である。
【図２】図２は本発明の実施形態に係るヘッドマウントディスプレイ装置の外観を示す概略図である。
【図３】図３は本発明の実施形態に係るヘッドマウントディスプレイ装置の動作マップの一例を示す図である。
【図４】図４は本発明の実施形態に係るヘッドマウントディスプレイ装置が動作マップの作成処理又は読込処理を実行する際の動作手順を示すフローチャートである。
【図５】図５は本発明の実施形態に係るヘッドマウントディスプレイ装置の通常モードにおける動作を示すフローチャートである。
【図６】図６は本発明の実施形態に係るヘッドマウントディスプレイ装置の動作特性の登録モードにおける動作を示すフローチャートである。
【図７】図７は本発明の実施形態に係るヘッドマウントディスプレイ装置の更新後の動作マップの一例を示す図である。
【発明を実施するための形態】
【００１４】
（実施形態）
以下、本発明の実施形態におけるヘッドマウントディスプレイ装置について、図面を参照しながら説明する。
【００１５】
［ヘッドマウントディスプレイ装置］
最初に図１を用いて、本実施形態におけるヘッドマウントディスプレイ装置の構成について説明する。図１は、本発明の実施形態に係るヘッドマウントディスプレイ装置の構成を示す機能ブロック図である。
【００１６】
図１に示すように、本実施形態におけるヘッドマウントディスプレイ装置１は、センサ４と、操作実行部５５と、動作学習部５４とを備えている。センサ４は、ユーザの頭部の動作を検出するためのものである。
【００１７】
操作実行部５５は、予め設定された動作と操作とを対応付けた動作マップ上に、検出された動作が存在するか否か判定する。また、操作実行部５５は、検出された動作が存在すると判定した場合、検出された動作に対応する操作を特定し、特定した操作に応じた処理を実行する。
【００１８】
動作学習部５４は、操作実行部５５によって処理が実行され、且つ、その処理の実行前に、検出された動作が動作マップ上に存在しないとの判定が行われている場合に、存在しないとの判定の対象となった動作を用いて、動作マップを更新する。
【００１９】
このように構成されたヘッドマウントディスプレイ装置１では、操作実行部５５が動作マップに存在しないと判定した動作を用いて、動作学習部５４が動作マップを更新するため、使用するごとに動作マップはユーザの動作特性に合ったものとなる。この結果、上記ヘッドマウントディスプレイ装置１は、ユーザの動作特性に合わせた処理を実行することができる。
【００２０】
ここで、ヘッドマウントディスプレイ装置１の構成について図面を参照しつつ更に具体的に説明する。図２は、本発明の実施形態に係るヘッドマウントディスプレイ装置の外観を示す概略図である。
【００２１】
図２に示すように、本実施形態では、ヘッドマウントディスプレイ装置１は、ユーザに対して画像を出力するディスプレイ２と、そのディスプレイ２をユーザの頭部に装着するための装着部３と、を備えている。また、ヘッドマウントディスプレイ装置１は、装着部３又はディスプレイ２に取り付けられたセンサ４と、ディスプレイ２及びセンサ４に有線又は無線で接続するコントローラとをさらに備えている。
【００２２】
ディスプレイ２は、ヘッドマウントディスプレイ装置１を装着したユーザの少なくとも一方の眼の前方に配置されており、ユーザに対して選択画面、及びメニュー画面等の種々の画像を提供する。
【００２３】
装着部３は、ユーザの頭部の形状に沿うように略Ｕ字状に形成されており、ユーザの頭部の大きさに合うよう、伸縮するよう調節可能とすることができる。
【００２４】
センサ４は、ヘッドマウントディスプレイ装置１を装着したユーザの頭部の動作を検出するためのものである。詳細には、センサ４は、ユーザの頭部の動作が、正面を向いている状態を基準として、上、下、右、又は左のどの方向に何度回転したかについて検出するとともに、そのときの加速度について検出する。センサ４として、加速度を検出するための加速度センサ４ａと、傾きを検出するための傾きセンサ４ｂをそれぞれ用いることができる。なお、加速度及び傾きの双方を検出することのできるセンサを使用してもよい。なお、加速度センサ４ａと傾きセンサ４ｂとを総称してセンサ４という。
【００２５】
コントローラ５は、ユーザからの指示を入力するための十字キー５０ａ、及びＡボタン，Ｂボタン，Ｃボタンの３つのボタン５０ｂを有している。なお、十字キー５０ａは、上ボタン、下ボタン、右ボタン、及び左ボタンから構成されている。
【００２６】
図１に示すように、ヘッドマウントディスプレイ装置１は、コントローラ５は、表示部５１、動作マップ選択部５２、入力受付部５３、動作学習部５４、操作実行部５５、動作マップ格納部５６、及び一時データ格納部５７を有している。
【００２７】
動作マップ格納部５６は、ユーザごとの動作マップと、デフォルトの動作マップを格納している。この動作マップ格納部５６に格納されたユーザごとの動作マップは、図３に示すように、当該動作マップを使用するユーザを特定するためのユーザＩＤを有するとともに、ユーザの頭部の動作と操作との対応情報を有している。なお、動作マップは、頭部の動作として、動作方向、加速度の数値範囲、及び傾きの数値範囲を有している。また、本実施形態では、動作マップは、さらにボタンの押下動作もさらに有している。すなわち、本実施形態に係る動作マップは、ユーザの頭部の動作及びボタンの押下動作と、操作との対応情報を記憶している。
【００２８】
なお、動作方向として、上、下、右、及び左があり、例えば、ユーザが上方を向くように水平軸周りに頭部を上に回転させた場合、動作方向は「上」となる。また、ユーザが下方を向くように水平軸周りに頭部を下に回転させた場合、動作方向は「下」となる。また、ユーザが右を向くように垂直軸周りに頭部を右に回転させた場合、動作方向は「右」となり、ユーザが左を向くように垂直軸周りに頭部を左に回転させた場合、動作方向は「左」となる。
【００２９】
また、加速度とは、ユーザが頭部を回転させたときの加速度を示している。また、傾きとは、頭部が正面方向を向いた状態を基準とし、その状態からユーザが頭部を何度回転させたかという角度を示している。
【００３０】
また、ボタンの押下動作として、動作マップは、ボタンを押下するか否か、また押下する場合は、どのボタン５０ｂを押下するかという情報を有している。なお、図３の動作マップの「-」は、ボタンを押下しないことを示し、図３の動作マップの「Ａ」，「Ｂ」，「Ｃ」は、それぞれ、押下するボタンを示している。
【００３１】
また、動作について、１回だけ行う動作だけでなく２回行う動作もある。例えば、「キャンセル」という操作は、図３の動作マップに従って説明すると、動作方向が右で、加速度が２〜５m/s2で、４０〜９０度だけ右に頭部を回転させた後に、加速度が２〜５m/s2で４０〜９０度だけ左に頭部を回転させる動作と対応している。なお、１回目の動作と２回目の動作の間隔は、例えば、１秒以内とすることができる。
【００３２】
また、動作マップ格納部５６に格納されたデフォルトの動作マップは、新規ユーザが使用を開始するときにコピーして使用される動作マップであり、既定のデータを記憶している。
【００３３】
一時データ格納部５７は、操作実行部５５が取得した加速度及び傾き、及び動作学習部５４が取得した加速度及び傾きを一時的に格納する領域である。
【００３４】
表示部５１は、ディスプレイ２に、選択画面、またはメニュー画面等のユーザインターフェースを表示させたり、各種情報を表示させたりする。入力受付部５３は、ヘッドマウントディスプレイ装置を使用するユーザがコントローラ５の各種ボタンを介して指示を入力すると、その入力を受け付ける。
【００３５】
動作マップ選択部５２は、入力受付部５３からの指示に従い、動作マップ格納部５６に格納されたユーザ毎の動作マップから、特定の動作マップを選択する。また、動作マップ選択部５２は、新規ユーザに対しては、デフォルトの動作マップをコピーして、それを新規の動作マップとして作成する。
【００３６】
操作実行部５５は、本実施形態では、センサ４が検出した頭部の動作を取得し、動作マップに基づいて、センサ４から取得した動作と対応する操作に応じた処理を実行する。また、操作実行部５５は、センサ４から取得した動作が動作マップ上に存在しない場合、その動作を失敗動作として一時格納部５７に格納する。
【００３７】
動作学習部５４は、ユーザの動作特性に基づいて、動作マップを更新する機能を有する。
【００３８】
［ヘッドマウントディスプレイ装置の動作］
次に、本発明の実施形態に係るヘッドマウントディスプレイ装置の動作について、図１〜図３を適宜参酌しつつ、図４〜図７を用いて説明する。なお、本実施形態では、ヘッドマウントディスプレイ装置を動作させることによってヘッドマウントディスプレイ装置の制御方法が実施されるため、本実施形態における制御方法の説明は以下のヘッドマウントディスプレイ装置の動作説明に代える。
【００３９】
まず、本発明実施形態に係るヘッドマウントディスプレイ装置１が動作マップを作成又は読み込む際の動作について図４を参照しつつ説明する。図４は、本発明の実施形態に係るヘッドマウントディスプレイ装置が動作マップの作成処理又は読込処理を実行する際の動作手順を示すフローチャートである。
【００４０】
図４に示すように、まず、ユーザが電源ボタンを押下する等してヘッドマウントディスプレイ装置１が起動すると、表示部５１は、ヘッドマウントディスプレイ装置１のディスプレイ２に選択画面を表示する（ステップＳ１）。詳細には、表示部５１は、ヘッドマウントディスプレイ装置１を使用しているユーザが新規ユーザか登録済みユーザかを選択するための選択画面をディスプレイに表示する。
【００４１】
次に、ユーザが、コントローラの十字キー５０ａ及びボタン５０ｂを用いて、新規ユーザ及び登録済みユーザのどちらかを選択すると、入力受付部５３は、ユーザが新規ユーザ又は登録済みユーザのどちらを選択したかを示す選択情報の入力を受け付ける（ステップＳ２）。そして、入力受付部５３は、その選択情報を動作マップ選択部５２に出力する。
【００４２】
次に、動作マップ選択部５２は、入力受付部５３から受け取った選択情報に基づき、ヘッドマウントディスプレイ装置１を現在使用しているユーザが新規ユーザか否かを判定する（ステップＳ３）。
【００４３】
動作マップ選択部５２は、ヘッドマウントディスプレイ装置１を現在使用中のユーザが新規ユーザであると判定すると（ステップＳ３のＹｅｓ）、そのユーザのための動作マップを新規に登録する（ステップＳ４）。詳細には、動作マップ選択部５２は、動作マップ格納部５６に格納されているデフォルトの動作マップをコピーして新規の動作マップを作成する。そして、動作マップ選択部５２は、新規に作成した動作マップを識別するために、ヘッドマウントディスプレイ装置１を現在使用中のユーザのユーザＩＤをその動作マップに登録する。これにより、新規ユーザのための動作マップが新たに登録される。
【００４４】
そして、動作マップ選択部５２は、上記ステップＳ４において新たに登録された動作マップを、ヘッドマウントディスプレイ装置１を現在使用中のユーザの動作マップであるとして、動作学習部５４及び操作実行部５５に引き渡す（ステップＳ５）。
【００４５】
一方、動作マップ選択部５２は、ヘッドマウントディスプレイ装置１を現在使用中のユーザが登録済ユーザであると判定すると（ステップＳ３のＮｏ）、表示部５１は、登録済ユーザのユーザＩＤの一覧画面をディスプレイ２に表示する（ステップＳ６）。なお、表示部５１は、ユーザＩＤに紐付けられたユーザ名の一覧画面をディスプレイ２に表示することもできる。
【００４６】
ユーザが、ディスプレイ２に表示されたユーザＩＤの一覧画面から、コントローラの十字キー５０ａ及びボタン５０ｂを用いて自分のユーザＩＤを選択すると、入力受付部５３は、選択されたユーザＩＤの入力を受け付ける（ステップＳ７）。入力受付部５３は、その受け付けたユーザＩＤに関する情報を動作マップ選択部５２に出力する。
【００４７】
次に、動作マップ選択部５２は、入力受付部５３から受け取ったユーザＩＤに関する情報に基づき、そのユーザＩＤに該当する動作マップを動作マップ格納部５６から読み込む（ステップＳ８）。
【００４８】
そして、動作マップ選択部５２は、動作マップ格納部５６から読み込んだ動作マップを、動作学習部５４及び操作実行部５５に引き渡す（ステップＳ９）。
【００４９】
次に、「通常モード」におけるヘッドマウントディスプレイ装置の動作について説明する。なお、通常モードとは、ユーザの頭部の動作に基づいてヘッドマウントディスプレイ装置が処理を実行するモードのことである。なお、本実施形態に係るヘッドマウントディスプレイ装置１は、この「通常モード」に加え、後に詳述する「動作特性の登録モード」の２つのモードを有している。
【００５０】
図５は、本発明の実施形態に係るヘッドマウントディスプレイ装置の通常モードにおける動作を示すフローチャートである。なお、ヘッドマウントディスプレイ装置の通常モードにおける動作は、少なくとも、上述したヘッドマウントディスプレイ装置が動作マップの作成処理又は読込処理を実行した後に行われる。
【００５１】
図５に示すように、まず、表示部５１は、「通常モード」又は「動作特性の登録モード」のどちらのモードでヘッドマウントディスプレイ装置１を動作させるかをユーザが選択することのできるメニュー画面をディスプレイ２に表示する（ステップＳ１１）。
【００５２】
ユーザが、コントローラの十字キー５０ａ及びボタン５０ｂを用いて通常モードを選択すると、入力受付部５３は、ユーザが通常モードを選択したことを示す選択情報の入力を受け付ける（ステップＳ１２）。そして、入力受付部５３は、通常モードで動作する旨の情報を動作学習部５４及び操作実行部５５に出力する。これにより、動作学習部５４及び操作実行部５５は、通常モードで動作する。この通常モードにおける動作学習部５４及び操作実行部５５の動作を以下に説明する。
【００５３】
まず、ユーザが頭部の動作を行うとともにボタン操作を行う。例えば、ユーザがディスプレイ２に表示している画面を右にスクロールしたい場合、ユーザはコントローラのボタンは何も押下せずに、右方向を向くように頭部を垂直軸周りに右に回転させる。すると、センサ４は、動作方向が右であることを検出するとともに、そのときの加速度と、傾き、すなわち、正面を向いた状態を０度として垂直軸周りに頭部が右に何度回転したかという角度とを検出する。これにより、操作実行部５５は、センサ４を介して、頭部の動作として、動作方向、加速度、及び角度を取得する（ステップＳ１３）。
【００５４】
操作実行部５５は、センサ４から取得した、動作方向、加速度、及び角度によって特定される動作が、当該ユーザの動作マップ上に存在するか否か判定する（ステップＳ１４）。すなわち、操作実行部５５は、センサ４から取得した動作方向が一致し、且つ、センサ４から取得した加速度及び角度が範囲内に入る動作が動作マップ上に存在するか否か判定する。なお、ユーザがボタンを押下する動作を行っている場合は、操作実行部５５は、入力受付５３から取得したボタンの押下動作が動作マップ上のボタンの押下動作と一致するか否かも判定する。
【００５５】
操作実行部５５は、取得した動作方向、加速度、及び角度が、動作マップ上に存在しないと判定した場合（ステップＳ１４のＮｏ）、その取得した動作方向、加速度、及び角度を失敗動作として一時データ格納部５７に格納する（ステップＳ１５）。なお、操作実行部５５は、その動作に対して処理は実行しない。
【００５６】
一方、操作実行部５５は、取得した動作方向と一致し、また、取得した加速度、及び角度が範囲内に入る動作が動作マップ上に存在すると判定した場合（ステップＳ１４のＹｅｓ）、動作マップに基づいて、その動作に対応する操作を特定し、その操作に応じた処理を実行する（ステップＳ１６）。
【００５７】
ステップＳ１６において処理を実行した後に、操作実行部５５は、一時データ格納部５７に失敗動作が格納されているか否か判定する（ステップＳ１７）。操作実行部５は、失敗動作が一時データ格納部５７に格納されていないと判定すると（ステップＳ１７のＮｏ）、そのまま処理を終了する。
【００５８】
一方、操作実行部５５は、一時データ格納部５７に失敗動作が格納されていると判定した場合（ステップＳ１７のＹｅｓ）、その一時データ格納部５７に格納されている失敗動作に関するデータを動作学習部５４に出力する（ステップＳ１８）。
【００５９】
動作学習部５４は、操作実行部５５から受け取った失敗動作を用いて、動作マップを更新する（ステップＳ１９）。詳細には、操作実行部５５から受け取った失敗動作によって、上述したステップＳ１６において実行した処理が実行できるように、動作学習部５４は、動作マップを更新する。例えば、動作学習部５４は、上記失敗動作を含めるために、動作マップの加速度又は角度の数値範囲を広げるよう動作マップを更新する。
【００６０】
なお、動作学習部５４が失敗動作を用いて動作マップを更新する処理について、所定条件を満たす場合にのみ動作マップを更新するようにしてもよい。例えば、動作学習部５４は、失敗動作の動作方向及びボタンの押下動作が、対応する動作マップの動作の、動作方向及びボタンの押下動作と一致するか判定する。これらが一致しない場合、動作学習部５４は、動作マップを更新しない。
【００６１】
また、動作方向及びボタンの押下動作が一致した場合、次に、動作学習部５４は、失敗動作の加速度及び角度のうち、動作マップの動作の数値範囲内に入っていないものを抽出する。そして、動作学習部５４は、加速度が抽出されると、その失敗動作の加速度が、動作マップの加速度の数値範囲の上限又は下限から所定範囲内であるか否か判定する。動作学習部５４は、失敗動作の加速度が上記所定範囲内であると判定すると、その失敗動作の加速度が含まれるように、動作マップの加速度の数値範囲を広げて動作マップを更新する。例えば、失敗動作の加速度が、動作マップの数値範囲の下限側に外れていた場合には、動作学習部５４は、その失敗動作の加速度を、動作マップの加速度の数値範囲の下限とする。また、失敗動作の加速度が、動作マップの数値範囲の上限側に外れていた場合には、動作学習部５４は、その失敗動作の加速度を、動作マップの加速度の数値範囲の上限とする。
【００６２】
また、動作学習部５４は、角度が抽出された場合も、上記加速度が抽出された場合と同様の処理を行う。すなわち、動作学習部５４は、その失敗動作の角度が、動作マップの角度の数値範囲の上限又は下限から所定範囲内であるか否か判定する。そして、動作学習部５４は、失敗動作の角度が上記所定範囲内であると判定すると、その失敗動作の角度が含まれるように、動作マップの角度の数値範囲を広げて動作マップを更新する。例えば、失敗動作の角度が、動作マップの数値範囲の下限側に外れていた場合には、動作学習部５４は、その失敗動作の角度を、動作マップの角度の数値範囲の下限とする。また、失敗動作の角度が、動作マップの数値範囲の上限側に外れていた場合には、動作学習部５４は、その失敗動作の角度を、動作マップの加速度の数値範囲の上限とする。
【００６３】
そして、動作学習部５４は、動作マップを更新した後、一時データ格納部５７に格納されているデータを削除する（ステップＳ２０）。また、失敗動作が上述した所定条件を満たさないため、動作学習部５４が動作マップを更新しなかった場合も、一時データ格納部５７に格納されているデータを削除する。
【００６４】
以上のステップＳ１３からステップＳ２０を繰り返すことで、当該ユーザの動作マップの加速度及び角度の数値範囲が、当該ユーザの動作特性に合ったものとなり、使用時の精度が向上する。なお、失敗動作が２回連続で続いた場合には、動作学習部５４は、その２つの失敗動作を用いて動作マップを更新してもよいし、最新の失敗動作のみを用いて動作マップを更新してもよい。
【００６５】
次に、「動作特性の登録モード」における本実施形態に係るヘッドマウントディスプレイ装置の動作について図面を参照しつつ説明する。なお、「動作特性の登録モード」とは、各操作に対して、ユーザの頭部の動作特性を登録するモードである。
【００６６】
図６は、本発明の実施形態に係るヘッドマウントディスプレイ装置の動作特性の登録モードにおける動作を示すフローチャートである。なお、ヘッドマウントディスプレイ装置の動作特性の登録モードにおける動作は、少なくとも、上述したヘッドマウントディスプレイ装置が動作マップの作成処理又は読込処理を実行した後に行われることが好ましい。また、ヘッドマウントディスプレイ装置の動作特性の登録モードにおける動作は、上述したヘッドマウントディスプレイ装置の通常モードにおける動作の前に行ってもよいし、後に行ってもよいし、途中で行ってもよい。
【００６７】
図６に示すように、まず、表示部５１は、「動作特性の登録モード」又は「通常モード」のどちらのモードでヘッドマウントディスプレイ装置１を動作させるかをユーザが選択することのできるメニュー画面をディスプレイ２に表示する（ステップＳ２１）。
【００６８】
ユーザが、コントローラの十字キー５０ａ及びボタン５０ｂを用いて動作特性の登録モードを選択すると、入力受付部５３は、ユーザが動作特性の登録モードを選択したことを示す選択情報の入力を受け付ける（ステップＳ２２）。そして、入力受付部５３は、動作特性の登録モードで動作する旨の情報を動作学習部５４及び操作実行部５５に出力する。これにより、動作学習部５４及び操作実行部５５は、動作特性の登録モードで動作する。この動作特性の登録モードにおける動作学習部５４及び操作実行部５５の動作を以下に説明する。
【００６９】
ます、表示部５１は、動作マップ中の操作の一覧をディスプレイ２に表示する（ステップＳ２３）。ユーザは、コントローラ５の十字キー５０ａ及びボタン５０ｂを用いて、ディスプレイ２に表示された操作の一覧の中から、動作特性を登録したい操作を一つ選択する。
【００７０】
入力受付部５３は、ユーザが選択した操作を特定する情報の入力を受け付ける（ステップＳ２４）。そして、入力受付部５３は、その操作を特定する情報を動作学習部５４に出力する。
【００７１】
続いてユーザが、選択した操作に対して、頭部の動作を行うことで、動作学習部５４は、センサ４から、ユーザの頭部の動作として、動作方向、加速度、及び角度を取得する（ステップＳ２５）。
【００７２】
動作学習部５４は、センサ４から取得した動作方向、加速度、及び角度を、一時データ格納部５７に格納する（ステップＳ２６）。好ましくは、このステップＳ２５及びＳ２６の処理を何度か行い、一時データ格納部５７に複数のデータを蓄積する。
【００７３】
そして、動作学習部５４は、一時データ格納部５７に格納された加速度及び角度のうち、ステップＳ２４でユーザが選択した操作と対応する動作マップの動作における加速度及び角度の数値範囲を超えているものがあるか否か判定する（ステップＳ２７）。
【００７４】
動作学習部５４は、動作マップの加速度又は角度の数値範囲を超えている加速度又は角度が一時データ格納部５７に格納されていないと判定した場合（ステップＳ２７のＮｏ）、動作マップを更新することなく、処理を終了する。
【００７５】
一方、動作学習部５４は、一時データ格納部５７に、動作マップの加速度又は角度の数値範囲を超えている加速度又は角度がある場合（ステップＳ２７のＹｅｓ）、動作マップを更新する（ステップＳ２８）。詳細には、動作学習部５４は、一時データ格納部５７に格納された加速度又は角度が、動作マップの加速度又は角度の数値範囲内に収まるように、動作マップの加速度又は角度の数値範囲を修正して動作マップを更新する。以上の動作特性の登録を繰り返すことにより、当該ユーザの動作マップの数値範囲が、当該ユーザの動作特性に合ったものとなり、使用時の精度が向上する。
【００７６】
［具体例］
次に、通常モードにおけるヘッドマウントディスプレイ装置の通常モードにおける動作の具体例について説明する。なお、本具体例に係るヘッドマウントディスプレイ装置を装着するユーザの動作マップは図３と同じものとする。
【００７７】
まず、ヘッドマウントディスプレイ装置１を装着したユーザが、ディスプレイ２に表示された画面を右にスクロールするために、右方向を向くように頭部を回転させる動作を行う。このときの頭部の動作は、動作方向が右で、加速度が３m/s2、角度が３８度であったとする。
【００７８】
すると、センサ４は、このユーザの頭部の動作として、動作方向、加速度、及び角度を検出する。これにより、操作実行部５５は、センサ４を介して、これらのデータを取得する（ステップＳ１３）。
【００７９】
次に、操作実行部５５は、取得した動作方向、加速度、及び角度によって特定される動作が、動作マップ上に存在するか否か判定する（ステップＳ１４）。
【００８０】
そして、操作実行部５５は、取得した動作方向、加速度、及び角度によって特定される動作が、図３の動作マップに存在しないと判定する（ステップＳ１４のＮｏ）。すなわち、操作実行部５５が取得した動作を特定する情報のうち、３８度という角度は、動作マップ上のどの動作の角度の数値範囲内でもない。このため、操作実行部５５は、取得した動作方向、加速度、及び角度が特定する動作は、動作マップ上に存在しないと判定する。
【００８１】
そして、操作実行部５５は、取得した動作が動作マップ上に存在しないため、これを失敗動作として一時データ格納部５７に格納する（ステップＳ１５）。
【００８２】
ユーザは、先ほどの頭部の動作でディスプレイ２に表示された画面が右にスクロールされなかったため、再度、右方向を向くように頭部を回転させる動作を行う。このときの頭部の動作は、動作方向が右で、加速度が３m/s2、角度が４２度であったとする。
【００８３】
センサ４は、この動作方向、加速度、及び角度を検出し、操作実行部５５は、このセンサ４によって検出された動作方向、加速度、及び角度を取得する（ステップＳ１３）。
【００８４】
そして、操作実行部５５は、取得した動作方向、加速度、及び角度によって特定される動作が動作マップ上に存在するか否か判定する（ステップＳ１４）。ここで、この動作は、動作マップ上に存在するため、すなわち、図３の上から３番目の動作に該当するため、操作実行部５５は、取得した動作が動作マップ上に存在すると判定する（ステップＳ１４のＹｅｓ）。
【００８５】
次に、操作実行部５５は、図３の動作マップに基づいて、その動作と対応する操作を特定し、その操作に応じた処理を実行する（ステップＳ１６）。すなわち、上記動作と対応する操作は「右」であるため、操作実行部５５は、その「右」という操作に応じた処理を実行することで、ディスプレイ２の画面を右にスクロールさせる。
【００８６】
続いて、操作実行部５５は、一時データ格納部５７に、失敗動作が格納されているか否か判定する（ステップＳ１７）。上記ステップＳ１５によって、一時データ格納部５７には、動作方向が右、加速度が３m/s2、角度が３８度という失敗動作が格納されているため、操作実行部５５は失敗動作が格納されていると判定する（ステップＳ１７のＹｅｓ）。
【００８７】
次に、操作実行部５５は、その失敗動作に関する動作方向、加速度、及び角度を、動作学習部５４に出力する（ステップＳ１８）。
【００８８】
動作学習部５４は、その失敗動作の動作方向、加速度、及び角度を用いて、図３の動作マップを更新する（ステップＳ１９）。詳細には、動作学習部５４は、失敗動作が動作マップを更新する条件を満たしているか否かをまずは判定し、条件を満たしていると判定すると動作マップを更新する。
【００８９】
まず、動作学習部４５は、上記ステップＳ１６で処理を実行した際の動作、すなわち、図３の上から３番目の動作と、失敗動作とを比較する。動作学習部５４は、「右」とする動作方向、及びボタンを押下していないとするボタン動作が、失敗動作と動作マップの動作とで一致すると判定する。また、失敗動作の加速度は３m/s2であるため、これも動作マップの加速度の数値範囲内（２〜５m/s2）であると判定する。よって、動作学習部４５は、動作方向、加速度、及びボタン動作については、動作マップを更新するための条件を満たしていると判定する。
【００９０】
そして、動作学習部５４は、失敗動作の角度が、動作マップで規定されている角度の数値範囲の上限及び下限から所定範囲内であるか否か判定する。例えば、所定範囲を数値範囲の１０％とすると、数値範囲は４０〜９０度であるので、その数値範囲の１０％は５度となる。よって、失敗動作の角度が、３５〜９５度の範囲内であれば、動作学習部５４は、動作マップを更新するための条件が全て満たされたと判定し、失敗動作が含まれるように、動作マップを更新する。
【００９１】
ここで、失敗動作の角度は３８度であるため、動作学習部５４は、上記所定条件を満たしていると判定し、この失敗動作の角度３８度が数値範囲内に含まれるように動作マップの角度の数値範囲を修正する。例えば、図７の太線で囲った部分に示すように、動作学習部５４は、動作マップの上から３番目の動作における角度の数値範囲を、４０〜９０度から３８〜９０度となるように修正する。なお、図７は、本発明の実施形態に係るヘッドマウントディスプレイ装置の更新後における動作マップの一例を示す図である。
【００９２】
［プログラム］
本実施形態では、コントローラ５は、ワンチップマイクロコンピュータ（one-chip microcomputer）に、図４に示すステップＳ１〜Ｓ９、図５に示すステップＳ１１〜Ｓ２０、図６に示すステップＳ２１〜Ｓ２８を実行させるプログラムをインストールすることによって実現することができる。この場合、ワンチップマイクロコンピュータのＣＰＵは、表示部５１と、動作マップ選択部５２と、入力受付部５３と、動作学習部５４と、操作実行部５５として機能し、処理を行う。
【００９３】
以上のように本実施形態によれば、動作学習部５４によって、ユーザの動作特性に応じて動作マップを更新していくことができるため、ヘッドマウントディスプレイ装置は使用するごとにユーザが使いやすいものとなる。
【００９４】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記１８）によって表現することができるが、以下の記載に限定されるものではない。
【００９５】
（付記１）
ユーザの頭部に装着されるヘッドマウントディスプレイ装置であって、
前記ユーザの頭部の動作を検出するためのセンサと、
予め設定された動作と操作とを対応付けた動作マップ上に、検出された前記動作が存在するか否か判定し、検出された前記動作が存在すると判定した場合、検出された前記動作に対応する操作を特定し、特定した前記操作に応じた処理を実行する操作実行部と、
前記操作実行部によって前記処理が実行され、且つ、前記処理の実行前に、検出された前記動作が存在しないとの判定が行われている場合に、存在しないとの判定の対象となった前記動作を用いて、前記動作マップを更新する動作学習部と、
を備える、ヘッドマウントディスプレイ装置。
【００９６】
（付記２）
前記動作学習部は、存在していないとの判定の対象となった前記動作が、前記動作マップ上に存在するように、前記動作マップを更新する、付記１に記載のヘッドマウントディスプレイ装置。
【００９７】
（付記３）
前記操作実行部によって実行された処理が、当該処理の実行前に存在しないと判定された前記動作によって、実行されるよう、前記動作学習部が前記動作マップを更新する、付記１又は２に記載のヘッドマウントディスプレイ装置。
【００９８】
（付記４）
前記センサは、前記ユーザの頭部の動作として、加速度、及び動作方向毎の傾きの値を検出し、
前記動作マップは、加速度及び動作方向毎の傾きそれぞれの設定された数値範囲と、操作とを対応付けており、
前記動作学習部は、存在していないとの判定の対象となった、加速度及び動作方向毎の傾きの値が、前記動作マップに設定された、加速度及び動作方向毎の傾きの数値範囲内に入るように、前記動作マップを更新する、付記１から３のいずれかに記載のヘッドマウントディスプレイ装置。
【００９９】
（付記５）
前記動作学習部は、存在していないとの判定の対象となった前記動作によって、前記操作実行部によって実行された前記処理が実行されるよう、前記動作マップを更新する、付記１から４のいずれかに記載のヘッドマウントディスプレイ装置。
【０１００】
（付記６）
前記動作マップを格納する動作マップ格納部をさらに備え、
前記動作マップ格納部は、前記動作マップをユーザ毎に格納している、付記１から５のいずれかに記載のヘッドマウントディスプレイ装置。
【０１０１】
（付記７）
ユーザの頭部に装着されるヘッドマウントディスプレイ装置の制御方法であって、
（ａ）前記ヘッドマウントディスプレイに取り付けられたセンサに、前記ユーザの頭部の動作の検出を実行させるステップと、
（ｂ）予め設定された動作と操作とを対応付けた動作マップ上に、前記（ａ）のステップで検出された前記動作が存在するか否かを判定するステップと、
（ｃ）前記（ｂ）のステップにおいて、前記（ａ）のステップで検出された前記動作が存在すると判定した場合に、検出された前記動作に対応する操作を特定し、特定した前記操作に応じた処理を実行するステップと、
（ｄ）前記（ｃ）のステップで前記処理が実行され、且つ、前記（ｃ）のステップでの前記処理の実行前に、検出された前記動作が存在していないとの判定が行われている場合に、存在していないとの判定の対象となった前記動作を用いて、前記動作マップを更新するステップと、
を含む、制御方法。
【０１０２】
（付記８）
前記ステップ（ｄ）において、存在していないとの判定の対象となった前記動作が、前記動作マップ上に存在するように、前記動作マップを更新する、付記７に記載の制御方法。
【０１０３】
（付記９）
前記ステップ（ｃ）において実行された処理が、当該処理の実行前に存在しないと判定された前記動作によって、実行されるよう、前記ステップ（ｄ）において前記動作マップを更新する、付記７又は８に記載の制御方法。
【０１０４】
（付記１０）
前記ステップ（ａ）において、前記ユーザの頭部の動作として、加速度、及び動作方向毎の傾きの値の検出を実行させ、
前記動作マップは、加速度及び動作方向毎の傾きそれぞれの設定された数値範囲と、操作とを対応付けており、
前記ステップ（ｄ）において、存在していないとの判定の対象となった、加速度及び動作方向毎の傾きの値が、前記動作マップに設定された、加速度及び動作方向毎の傾きの数値範囲内に入るように、前記動作マップを更新する、付記７から９のいずれかに記載の制御方法。
【０１０５】
（付記１１）
前記ステップ（ｄ）において、存在していないとの判定の対象となった前記動作によって、前記操作実行部によって実行された前記処理が実行されるよう、前記動作マップを更新する、付記７から１０のいずれかに記載の制御方法。
【０１０６】
（付記１２）
前記動作マップは、動作マップ格納部に格納されており、
前記動作マップ格納部は、前記動作マップをユーザ毎に格納している、付記７から１１のいずれかに記載の制御方法。
【０１０７】
（付記１３）
ユーザの頭部に装着されるヘッドマウントディスプレイ装置の制御を、プロセッサによって実行するためのプログラムであって、前記プロセッサに、
（ａ）前記ヘッドマウントディスプレイに取り付けられたセンサに、前記ユーザの頭部の動作の検出を実行させるステップと、
（ｂ）予め設定された動作と操作とを対応付けた動作マップ上に、前記（ａ）のステップで検出された前記動作が存在するか否かを判定するステップと、
（ｃ）前記（ｂ）のステップにおいて、前記（ａ）のステップで検出された前記動作が存在すると判定した場合に、検出された前記動作に対応する操作を特定し、特定した前記操作に応じた処理を実行するステップと、
（ｄ）前記（ｃ）のステップで前記処理が実行され、且つ、前記（ｃ）のステップでの前記処理の実行前に、検出された前記動作が存在していないとの判定が行われている場合に、存在していないとの判定の対象となった前記動作を用いて、前記動作マップを更新するステップと、
を実行させる、プログラム。
【０１０８】
（付記１４）
前記ステップ（ｄ）において、存在していないとの判定の対象となった前記動作が、前記動作マップ上に存在するように、前記動作マップを更新する、付記１３に記載のプログラム。
【０１０９】
（付記１５）
前記ステップ（ｃ）において実行された処理が、当該処理の実行前に存在しないと判定された前記動作によって、実行されるよう、前記ステップ（ｄ）において前記動作マップを更新する、付記１３又は１４に記載のプログラム。
【０１１０】
（付記１６）
前記ステップ（ａ）において、前記ユーザの頭部の動作として、加速度、及び動作方向毎の傾きの値の検出を実行させ、
前記動作マップは、加速度及び動作方向毎の傾きそれぞれの設定された数値範囲と、操作とを対応付けており、
前記ステップ（ｄ）において、存在していないとの判定の対象となった、加速度及び動作方向毎の傾きの値が、前記動作マップに設定された、加速度及び動作方向毎の傾きの数値範囲内に入るように、前記動作マップを更新する、付記１３から１５のいずれかに記載のプログラム。
【０１１１】
（付記１７）
前記ステップ（ｄ）において、存在していないとの判定の対象となった前記動作によって、前記操作実行部によって実行された前記処理が実行されるよう、前記動作マップを更新する、付記１３から１６のいずれかに記載のプログラム。
【０１１２】
（付記１８）
前記動作マップは、動作マップ格納部に格納されており、
前記動作マップ格納部は、前記動作マップをユーザ毎に格納している、付記１３から１７のいずれかに記載のプログラム。
【産業上の利用可能性】
【０１１３】
本実施形態によれば、ユーザの動作特性に合わせた処理を実行することができる。このため、ユーザの動作特性がある頭部の動作に基づいて処理を実行するヘッドマウントディスプレイ装置に有用である。また、上記実施形態におけるヘッドマウントディスプレイ装置１のコントローラ５を、ＡＶ機器などのリモートコントローラとして使用したり、ゲーム機器のコントローラとして使用することもできる。
【符号の説明】
【０１１４】
１  ヘッドマウントディスプレイ装置
２  ディスプレイ
４  センサ
５  コントローラ
５４  動作学習部
５５  操作実行部
【図１】
2013254251.tif 000003
【図２】
2013254251.tif 000004
【図３】
2013254251.tif 000005
【図４】
2013254251.tif 000006
【図５】
2013254251.tif 000007
【図６】
2013254251.tif 000008
【図７】
2013254251.tif 000009