(57)【要約】【課題】ユーザの頭部の動きによる操作でアプリケーションからの要求に対して応答可能なヘッドマウントディスプレイシステム、該システムで実行される方法、及びプログラムを提供すること。【解決手段】ユーザの頭部に装着されるヘッドマウントディスプレイの傾きを検出する。ユーザにより実行中のアプリケーションが応答モードに入ると、検出された傾きの変化よりも小さい変化に基づいて仮想空間画像を生成し、アプリケーションにより要求されたメッセージと共にヘッドマウントディスプレイへ出力する。検出された傾きに基づいてユーザ動作（うなずき動作、かぶりを振る動作、首をかしげる動作）を判定し、該判定されたユーザ動作に対応する要求に対する応答（はい、いいえ、無回答）を決定する。ユーザは頭部の動きのみでアプリケーションからの要求に対して応答することができる。【選択図】図１１
2017037567.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの頭部に装着されるヘッドマウントディスプレイと、前記ヘッドマウントディスプレイを制御するコンピュータを備えるヘッドマウントディスプレイシステムで実行される方法であって、
前記ヘッドマウントディスプレイの動きを検出するステップと、
前記ヘッドマウントディスプレイの前記動きに基づいて、前記ヘッドマウントディスプレイに出力される仮想空間における画像を更新するステップと、
前記コンピュータで実行されるアプリケーションから応答要求を取得し、応答モードへ移行するステップと、
前記応答要求を前記ヘッドマウントディスプレイへ出力するステップと、
前記応答モード中に検出される前記ヘッドマウントディスプレイの前記動きに基づいて、前記ユーザ動作を判定するステップと、
前記ユーザ動作に対応する前記応答要求への応答を決定するステップと
を備える、方法。
【請求項２】
前記応答モード中に検出される前記ヘッドマウントディスプレイの前記動きに基づいて更新される前記仮想空間における画像は、向きまたは大きさが補正された前記動きに基づいて更新される、請求項１の方法。
【請求項３】
向きまたは大きさが補正された前記動きは、前記ヘッドマウントディスプレイの前記動きが減衰された前記動きである、請求項２の方法。
【請求項４】
大きさが補正された前記動きは、前記ヘッドマウントディスプレイの前記動きにかかわらず、固定された大きさに減衰された前記動きである、請求項３の方法。
【請求項５】
前記ユーザ動作を判定するステップにおいて、
前記ヘッドマウントディスプレイの前記動きが、第１の閾値以上のピッチ角変化を含む場合に、前記ユーザ動作がうなずき動作であると判定する、請求項１〜４のいずれかの方法。
【請求項６】
前記ヘッドマウントディスプレイの前記動きが、第１の角速度以上の場合に、前記ユーザ動作がうなずき動作であると判定する、請求項５の方法。
【請求項７】
前記ヘッドマウントディスプレイの前記動きが、第４の閾値よりも小さいロール角変化およびヨー角変化を含む場合に、前記ユーザ動作がうなずき動作であると判定する、請求項５または６の方法。
【請求項８】
前記ユーザ動作を判定するステップにおいて、前記ヘッドマウントディスプレイの前記動きが、第２の閾値以上のヨー角変化を含む場合に、前記ユーザ動作がかぶりを振る動作であると判定する、請求項１〜７のいずれかの方法。
【請求項９】
前記ヘッドマウントディスプレイの前記動きが、第２の角速度以上の場合に、前記ユーザ動作がかぶりを振る動作であると判定する、請求項８の方法。
【請求項１０】
前記ヘッドマウントディスプレイの前記動きが、第４の閾値よりも小さいロール角変化およびピッチ角変化を含む場合に、前記ユーザ動作がうなずき動作であると判定する、請求項８または９の方法。
【請求項１１】
前記ユーザ動作を判定するステップにおいて、
前記ヘッドマウントディスプレイの前記動きが、第３の閾値以上のロール角変化を含む場合に、前記ユーザ動作が首をかしげる動作であると判定する、請求項１〜１０のいずれかの方法。
【請求項１２】
前記ヘッドマウントディスプレイの前記動きが、第３の角速度以上の場合に、ユーザ動作が首をかしげる動作であると判定する、請求項１１の方法。
【請求項１３】
前記ヘッドマウントディスプレイの前記動きが、第４の閾値よりも小さいピッチ角変化およびヨー角変化を含む場合に、前記ユーザ動作が首をかしげる動作であると判定する、請求項１１または１２の方法。
【請求項１４】
前記ピッチ角変化と、前記ロール角変化と、前記ヨー角変化は、前記応答要求取得時の前記ヘッドマウントディスプレイの向きに基づいて検出される、請求項５〜１３のいずれかの方法。
【請求項１５】
前記ヘッドマウントディスプレイの前記動きが第１の角速度、第２の角速度、第３の角速度より小さい場合には、前記ユーザに警告する、請求項１〜１４のいずれかの方法
【請求項１６】
前記応答モード中に判定された前記ユーザの前記動作に応じた画像を、前記仮想空間における画像に重ねて表示させるステップをさらに備える、請求項１〜１５のいずれかの方法。
【請求項１７】
前記応答モード中に判定された前記ユーザの前記動作に応じた画像を、前記仮想空間における画像に重ねて表示させた後、所定期間内に前記ヘッドマウントディスプレイの前記動きの変化が実質的にない場合、前記ユーザ動作に対応する前記応答要求への応答を正式に決定する、請求項１６の方法。
【請求項１８】
請求項１から１７のいずれかに記載の方法を、前記コンピュータに実行させるプログラム。
【請求項１９】
ユーザの頭部に装着されるヘッドマウントディスプレイと、前記ヘッドマウントディスプレイを制御するコンピュータを備えるヘッドマウントディスプレイシステムであって、
前記ヘッドマウントディスプレイの動きを検出する動き検出部と、
前記ヘッドマウントディスプレイの前記動きに基づいて、前記ヘッドマウントディスプレイに出力される仮想空間における画像を更新する画像更新部と、
前記コンピュータで実行されるアプリケーションから応答要求を取得し、応答モードへ移行する応答モード移行部と、
前記応答要求を前記ヘッドマウントディスプレイへ出力する応答出力部と、
前記応答モード中に検出される前記ヘッドマウントディスプレイの前記動きに基づいて、前記ユーザ動作を判定する動作判定部と、
前記ユーザ動作に対応する前記応答要求への応答を決定する応答決定部と
を備える、ヘッドマウントディスプレイシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの頭部に装着して、ユーザ視野内に仮想空間における画像を表示し、頭部を動かすことによる簡単な操作で該画像において確認動作を行うことのできるヘッドマウントディスプレイシステムで実行される方法、プログラム、及びヘッドマウントディスプレイシステムに関する。
【背景技術】
【０００２】
ユーザの頭部に装着され、眼前に配置されたディスプレイ等によってユーザに仮想得空間における画像を提示することが可能なヘッドマウントディスプレイ（Hｅａｄ−Mｏｕｎｔｅｄ  Dｉｓｐｌａｙ：以下、ＨＭＤと称する。）が知られている。そして、特許文献１においては、ＨＭＤを装着したユーザが首を振る動作に応じて、仮想電子書籍のページをめくる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−７１４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に係るＨＭＤシステムにおいては、ＨＭＤを装着したユーザが直感的に各種入力操作を実行する上で改善の余地がある。
【課題を解決するための手段】
【０００５】
本発明によれば、非透過型ＨＭＤを頭部に装着して、仮想空間に没入しているユーザが、頭部の動きによる操作のみで、仮想空間内に配置されているメッセージに対する応答を行うことができる。すなわち、本発明によれば、ユーザは仮想空間内に配置されている各種選択ボタンの位置を視認し、該位置を正確に指定する必要がないため、手元を視認できないユーザにとって操作性が良い。
【０００６】
さらに本発明によれば、アプリケーションからの確認動作の要求を受信後に、応答モードへ移行し、ユーザの頭部の動きを判定する。従って、応答モード以外のユーザの頭部の動きが、ユーザによる応答のための動きと判定される不具合を回避することができる。
すなわち、本発明は、
（１）  ユーザの頭部に装着されるヘッドマウントディスプレイと、前記ヘッドマウントディスプレイを制御するコンピュータを備えるヘッドマウントディスプレイシステムで実行される方法であって、
前記ヘッドマウントディスプレイの動きを検出するステップと、
前記ヘッドマウントディスプレイの前記動きに基づいて、前記ヘッドマウントディスプレイに出力される仮想空間における画像を更新するステップと、
前記コンピュータで実行されるアプリケーションから応答要求を取得し、応答モードへ移行するステップと、
前記応答要求を前記ヘッドマウントディスプレイへ出力するステップと、
前記応答モード中に検出される前記ヘッドマウントディスプレイの前記動きに基づいて、前記ユーザ動作を判定するステップと、
前記ユーザ動作に対応する前記応答要求への応答を決定するステップと
を備える、方法に関する。
また、本発明は、
（２）  ユーザの頭部に装着されるヘッドマウントディスプレイと、前記ヘッドマウントディスプレイを制御するコンピュータを備えるヘッドマウントディスプレイシステムであって、
前記ヘッドマウントディスプレイの動きを検出する動き検出部と、
前記ヘッドマウントディスプレイの前記動きに基づいて、前記ヘッドマウントディスプレイに出力される仮想空間における画像を更新する画像更新部と、
前記コンピュータで実行されるアプリケーションから応答要求を取得し、応答モードへ移行する応答モード移行部と、
前記応答要求を前記ヘッドマウントディスプレイへ出力する応答出力部と、
前記応答モード中に検出される前記ヘッドマウントディスプレイの前記動きに基づいて、前記ユーザ動作を判定する動作判定部と、
前記ユーザ動作に対応する前記応答要求への応答を決定する応答決定部と
を備える、ヘッドマウントディスプレイシステムに関する。
【発明の効果】
【０００７】
本発明によれば、操作性の高いＨＭＤシステムを提供することができる。
この発明の上記の、及び他の特徴及び利点は、この発明の実施例の以下のより特定的な説明、添付の図面、及び請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１Ａ】本発明の一実施例に従った、ＨＭＤシステム１００の概略図を示す。
【図１Ｂ】本発明の一実施例に従った、赤外線センサと接続されたＨＭＤ１１０の概略図を示す。
【図２】本発明の一実施例に従った、ＨＭＤシステム１００の処理を実現するための機能的構成を示す。
【図３】本発明の一実施例に従った、３次元空間上の直交座標系におけるＨＭＤ１１０を装着しているユーザを示す。
【図４】本発明の一実施例に従った、ＨＭＤの各軸まわりの角度と、角速度に応じて判定されるユーザ動作と、該ユーザ動作に対応する応答との関係を示すテーブルを示す。
【図５】本発明の一実施例に従った、ＨＭＤ１１０を装着したユーザが観察するディスプレイ１１２に表示される３次元の仮想空間内のアプリケーション進行中の画像を示す。
【図６】本発明の一実施例に従った、応答モードに移行した後の仮想空間画像を示す。
【図７】本発明の一実施例に従った、応答モードに移行した後の仮想空間画像を示す。
【図８】本発明の一実施例に従った、応答モードに移行した後の仮想空間画像を示す。
【図９】本発明の一実施例に従った、応答モードに移行した後の仮想空間画像を示す。
【図１０】本発明の一実施例に従った、応答モードに移行した後の仮想空間画像を示す。
【図１１】本発明の一実施例に従った、ＨＭＤシステムにおける表示を制御するための処理の流れを示す。
【発明を実施するための形態】
【０００９】
最初に、本発明の実施形態の内容を列記して説明する。本発明の一実施形態は、以下のような構成を備える。
（項目１）
ユーザの頭部に装着されるヘッドマウントディスプレイと、前記ヘッドマウントディスプレイを制御するコンピュータを備えるヘッドマウントディスプレイシステムで実行される方法であって、
前記ヘッドマウントディスプレイの動きを検出するステップと、
前記ヘッドマウントディスプレイの前記動きに基づいて、前記ヘッドマウントディスプレイに出力される仮想空間における画像を更新するステップと、
前記コンピュータで実行されるアプリケーションから応答要求を取得し、応答モードへ移行するステップと、
前記応答要求を前記ヘッドマウントディスプレイへ出力するステップと、
前記応答モード中に検出される前記ヘッドマウントディスプレイの前記動きに基づいて、前記ユーザ動作を判定するステップと、
前記ユーザ動作に対応する前記応答要求への応答を決定するステップと
を備える、方法。
（項目２）
前記応答モード中に検出される前記ヘッドマウントディスプレイの前記動きに基づいて更新される前記仮想空間における画像は、向きまたは大きさが補正された前記動きに基づいて更新される、項目１の方法。
（項目３）
向きまたは大きさが補正された前記動きは、前記ヘッドマウントディスプレイの前記動きが減衰された前記動きである、項目２の方法。
（項目４）
大きさが補正された前記動きは、前記ヘッドマウントディスプレイの前記動きにかかわらず、固定された大きさに減衰された前記動きである、項目３の方法。
（項目５）
前記ユーザ動作を判定するステップにおいて、
前記ヘッドマウントディスプレイの前記動きが、第１の閾値以上のピッチ角変化を含む場合に、前記ユーザ動作がうなずき動作であると判定する、項目１〜４のいずれかの方法。
（項目６）
前記ヘッドマウントディスプレイの前記動きが、第１の角速度以上の場合に、前記ユーザ動作がうなずき動作であると判定する、項目５の方法。
（項目７）
前記ヘッドマウントディスプレイの前記動きが、第４の閾値よりも小さいロール角変化およびヨー角変化を含む場合に、前記ユーザ動作がうなずき動作であると判定する、項目５または６の方法。
（項目８）
前記ユーザ動作を判定するステップにおいて、前記ヘッドマウントディスプレイの前記動きが、第２の閾値以上のヨー角変化を含む場合に、前記ユーザ動作がかぶりを振る動作であると判定する、項目１〜７のいずれかの方法。
（項目９）
前記ヘッドマウントディスプレイの前記動きが、第２の角速度以上の場合に、前記ユーザ動作がかぶりを振る動作であると判定する、項目８の方法。
（項目１０）
前記ヘッドマウントディスプレイの前記動きが、第４の閾値よりも小さいロール角変化およびピッチ角変化を含む場合に、前記ユーザ動作がうなずき動作であると判定する、項目８または９の方法。
（項目１１）
前記ユーザ動作を判定するステップにおいて、
前記ヘッドマウントディスプレイの前記動きが、第３の閾値以上のロール角変化を含む場合に、前記ユーザ動作が首をかしげる動作であると判定する、項目１〜１０のいずれかの方法。
（項目１２）
前記ヘッドマウントディスプレイの前記動きが、第３の角速度以上の場合に、ユーザ動作が首をかしげる動作であると判定する、項目１１の方法。
（項目１３）
前記ヘッドマウントディスプレイの前記動きが、第４の閾値よりも小さいピッチ角変化およびヨー角変化を含む場合に、前記ユーザ動作が首をかしげる動作であると判定する、項目１１または１２の方法。
（項目１４）
前記ピッチ角変化と、前記ロール角変化と、前記ヨー角変化は、前記応答要求取得時の前記ヘッドマウントディスプレイの向きに基づいて検出される、項目５〜１３のいずれかの方法。
（項目１５）
前記ヘッドマウントディスプレイの前記動きが第１の角速度、第２の角速度、第３の角速度より小さい場合には、前記ユーザに警告する、項目１〜１４のいずれかの方法
（項目１６）
前記応答モード中に判定された前記ユーザの前記動作に応じた画像を、前記仮想空間における画像に重ねて表示させるステップをさらに備える、項目１〜１５のいずれかの方法。
（項目１７）
前記応答モード中に判定された前記ユーザの前記動作に応じた画像を、前記仮想空間における画像に重ねて表示させた後、所定期間内に前記ヘッドマウントディスプレイの前記動きの変化が実質的にない場合、前記ユーザ動作に対応する前記応答要求への応答を正式に決定する、項目１６の方法。
（項目１８）
項目１から１７のいずれかに記載の方法を、前記コンピュータに実行させるプログラム。
（項目１９）
ユーザの頭部に装着されるヘッドマウントディスプレイと、前記ヘッドマウントディスプレイを制御するコンピュータを備えるヘッドマウントディスプレイシステムであって、
前記ヘッドマウントディスプレイの動きを検出する動き検出部と、
前記ヘッドマウントディスプレイの前記動きに基づいて、前記ヘッドマウントディスプレイに出力される仮想空間における画像を更新する画像更新部と、
前記コンピュータで実行されるアプリケーションから応答要求を取得し、応答モードへ移行する応答モード移行部と、
前記応答要求を前記ヘッドマウントディスプレイへ出力する応答出力部と、
前記応答モード中に検出される前記ヘッドマウントディスプレイの前記動きに基づいて、前記ユーザ動作を判定する動作判定部と、
前記ユーザ動作に対応する前記応答要求への応答を決定する応答決定部と
を備える、ヘッドマウントディスプレイシステム。  以下、図面を参照して、本発明の一実施形態を説明する。但し、本発明の適用可能な実施形態はこれに限定されるものではない。
【００１０】
図１Ａは、本発明の一実施例に従った、ＨＭＤシステム１００の概略図である。図１Ａに示すようにＨＭＤシステム１００は、ディスプレイ１１２と、動きセンサ１１４とを備えるＨＭＤ１１０と、制御回路部（コンピュータの一例）１２０とを備えることができる。
【００１１】
ＨＭＤ１１０のディスプレイ１１２はユーザの視界を覆うよう構成された非透過型表示装置である。ディスプレイ１１２は、制御回路部１２０において実行されるアプリケーションにより出力された画像信号に基づいて、各種画像をフレーム毎に表示する。ユーザは制御回路部１２０ディスプレイ１１２に表示される画像を観察することができる。ＨＭＤ１１０を装着したユーザは外界の視界を失うため、ディスプレイ１１２に表示される仮想空間に没入することができる。
【００１２】
動きセンサ（角速度センサ）１１４はディスプレイ１１２近辺に固定されており、ユーザの頭部に装着されたＨＭＤ１１０（ディスプレイ１１２）の動きに応じて、ＨＭＤ１１０のＸ、Ｙ、Ｚ軸回りの角速度を経時的に検出することができる。傾き検出部２１０は動きセンサ１１４により経時的に検出されたＸ、Ｙ、Ｚ軸回りの角速度に基づいて、各軸回りの角度（傾き）の変化を求めることができる。なお、図３に示すようにユーザが直立する方向である垂直方向をＹ軸とし、Ｙ軸と直交しディスプレイ１１２とユーザを結ぶ方向の軸をＺ軸、Ｙ、Ｚ軸と直交する方向の軸をＸ軸とする。
【００１３】
制御回路部１２０は、ユーザの頭部に装着されるＨＭＤ１１０に搭載することもできるし、ＨＭＤ１１０に搭載せずに別のハードウェア、例えば公知のパーソナルコンピュータにより構成することができる。制御回路部１２０はプロセッサ及びメモリを備えており、メモリ１０８には、本発明を実施するにあたって必要なプログラム及びデータ等が格納されている。また、メモリ１０８には、プロセッサがプログラムに従って動作している間に生成したデータやプロセッサによって利用されるデータも一時的に格納される。各種アプリケーション、プログラムはプロセッサにより実行される。
【００１４】
図１Ｂは、ＨＭＤシステム１００の他の一例を示す概略図である。図１Ｂにおいて、動きセンサ（赤外線センサ）１３０が制御回路部１２０に通信可能に接続されている。動きセンサ１３０はＨＭＤ１１０に設けられた複数の光源から出力される赤外線を検知する。それぞれの光源からの赤外線を経時的に検出することにより、当該光源を検知点として、ユーザ動作に応じたＨＭＤ１１０の動き（各軸回りの角度の時間変化）を３次元的に検出する。  なお、図１Ａ、図１Ｂには図示されていないが、ユーザにより保持される公知のスマートフォン、携帯端末をＨＭＤシステム１００に適用されるコントローラとして使用することができる。コントローラは制御回路部１２０に通信可能に接続されることができる。コントローラは、アプリケーションの開始処理等を行うために用いることができる。
【００１５】
図２は、本発明の一実施例に従った、ＨＭＤシステム１００の表示処理を実現するための機能的構成を示す。なお、図２において、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、プロセッサ、メモリ、その他の集積回路で構成することができ、ソフトウェア的には、メモリにロードされた各種プログラムなどによって実現される。したがって、これらの機能ブロックがハードウェア、ソフトウェア、又はそれらの組み合わせによって実現できることは当業者に理解されるであろう。以下、図２に示される制御回路部１２０に備えられる各機能部の動作について詳細に説明する。
【００１６】
演算処理部２１０はコントローラより取得したプレイヤによる操作に基づいて、アプリケーションを起動、終了したり、アプリケーション実行に必要な各種処理を実行したりすることができる。アプリケーション実行に必要な各種処理とは、例えばヘッドマウントディスプレイの動きを検出する処理、ディスプレイに出力される仮想空間における画像を更新させる処理、アプリケーションから応答要求を取得し応答モードへ移行する処理、応答要求をヘッドマウントディスプレイへ出力する応答出力処理、応答モード中に検出されるヘッドマウントディスプレイの動きに基づいて、ユーザ動作を判定する動作判定処理、ユーザ動作に対応する応答要求への応答を決定する応答決定処理である。以下、詳細に説明する。
【００１７】
演算処理部２１０は、動きセンサ１１４／１３０からの出力に基づいて、ユーザの頭部に装着されたＨＭＤ１１０の各軸方向の傾き（図３に示すようにＨＭＤのＹ軸を軸とした回転を示すヨー角、Ｘ軸を軸とした回転を示すピッチ角、Ｚ軸を軸とした回転を示すロール角）を検出する。具体的には角速度センサ１１４より３軸周りの角速度信号をそれぞれ受信し、該角速度信号を積分してＨＭＤの各軸まわりの傾き（或いは操作開始角からの角度変化）を検出する。操作開始角とは進行中のアプリケーションより発せられた応答要求を取得した際に検出されるＨＭＤの傾き（各軸まわりの角度）である。
【００１８】
演算処理部２１０は、取得した応答要求に基づいて、応答モードに移行する。応答モードとは、演算処理部２１０が進行中のアプリケーションから発行された応答要求に対する応答をユーザに要求するモードである。演算処理部２１０によりユーザからの応答が決定され、決定された応答に対する処理が実行されると、応答モードは終了する。演算処理部２１０は、応答モード以外はユーザによる頭部の動作をユーザによる意思表示動作として認識しない。これによりシステム処理上の負荷を低減することができる。また、応答モード以外のユーザによる頭部の動作が、ユーザによる意思表示として認識される不具合を防止することができる。そして、演算処理部２１０は、応答モードに入ると、応答モード中に検出されるＨＭＤの動きに基づいて、ユーザ動作を判定する。応答モード中に検出されるＨＭＤの動きに基づいて更新される仮想空間における画像は、向きまたは大きさが補正された（例えば、ＨＭＤの動きの大きさよりも小さくなるように減衰された）前記動きに基づいて更新される。本実施形態では、ＨＭＤを装着したユーザが「うなずく」動作、「かぶりを振る」動作、「首をかしげる」動作をすることによりそれぞれアプリケーションに対する応答要求に対して、「はい／ＹＥＳ」、「いいえ／ＮＯ」、「無回答／検討中」で応答することができる。うなずき動作、かぶりを振る動作はいずれも、相手に識別可能なように短時間に一定の角度以上頭部を動かすのが通常である。このようなユーザの頭部の急激な動きにそのまま連動させて仮想空間画像を変化させるとユーザはＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ：仮想現実）酔いを感じる場合がある。ＶＲ酔いとはバーチャルリアリティを体験した後に感じる乗り物酔いに似た症状のことである。従って、応答モードでは、演算処理部２１０は、ＨＭＤの検出された傾きを減衰して、表示制御部２２０へ送出する。すなわち、演算処理部２１０は、検出された傾き（或いは各軸周りの角度変化）よりも小さい傾き（或いは角度変化）を算出して、表示制御部２２０へ送出する。或いは検出されたＨＭＤの傾き（或いは各軸周りの角度変化）にかかわらず、固定された大きさに減衰された（所定の大きさを有する）傾きを表示制御部２２０へ送出してもよい。表示制御部２２０は、演算処理部２１０より取得した補正（例えば、減衰）した傾きに基づいて仮想空間画像を生成して、ディスプレイ１１２へ出力してもよい。本実施形態では、ゲームのプレイ中は、仮想空間への没入感を高めるためにユーザの頭部に連動して仮想空間画像を変化させるが、応答モードでは、ユーザの頭部の急激な動きにそのまま連動させないで仮想空間画像を変化させて、頭部の動作によるユーザのＶＲ酔いを軽減する。
【００１９】
さらに、演算処理部２１０は、応答モードに移行後に、検出されたＨＭＤの傾き（或いは各軸周りの角度変化）等から、ユーザの入力動作を判定する。演算処理部２１０は、ＨＭＤの傾き等に基づいて、頭部がどのように動いたかを判別することによって、ユーザによる「うなずき」動作、「かぶりを振る」動作、「首をかしげる」動作を区別・判定する。また、演算処理部２１０は、後述する所定の閾値を用いてユーザの入力動作を細かく判定する。これにより、ユーザによる無意識の頭部の微妙な揺れによるＨＭＤの傾きの変化を排除等し、ユーザ応答であると誤って判定しないようにすることができる。
【００２０】
図４は、本発明の一実施例に従った、ＨＭＤの各軸まわりの角度と、角速度に応じて判定されるユーザ動作と、該ユーザ動作に対応する応答との関係を示すテーブルを示す。なお、本実施形態では「うなずき」動作と、「かぶりを振る」動作、「首をかしげる」動作の３つで、「はい」、「いいえ」、「無回答」の決定を行っているが、本発明はこれに限定されるものではない。例えば、民族の習慣により「はい／ＹＥＳ」、「いいえ／ＮＯ」等を表す頭部の動き、判定動作には違いがあるので、複数の異なるパターンがある。以下、図４について詳細に説明する。
【００２１】
一般に、ユーザがうなずくとピッチ軸まわりの角度変化が最も大きくなり、ユーザがかぶりを振るとヨー軸周りの角度変化が最も大きくなり、ユーザが首をかしげるとロール軸周りの角度変化が最も大きくなる。従って、本実施形態では、ＨＭＤの各軸周りの角度変化のうち最も大きい角度変化を有する軸まわりの角度変化に着目する。そして、ピッチ軸周りの角度変化に対して第１の閾値、及び第１角速度を設定し、ヨー軸周りの角度変化に対して第２の閾値、第２角速度を設定し、ロール軸周りの角度変化に対して第３の閾値、及び第３角速度を設定する。第１〜第３の閾値は同じとしてもよいし、異ならせてもよい。さらに、本実施形態では、頭部の有意な動きではない単なる頭部の微妙な揺れを排除するために、第４の閾値を設定している。第４の閾値は頭部の微妙な揺れを排除するためのものであるから、第１の閾値、第２の閾値、第３の閾値よりも小さく設定する。本実施形態では、種々の閾値を設定することで、ユーザの頭部による動作を判定して、ユーザが意図する応答をより正確に決定することができる。
＜「うなずき」動作の判定と応答＞
演算処理部２１０は、検出されたＨＭＤ１１０の傾きの操作開始角からのピッチ軸周りの角度変化（最大角度変化、又は平均角度変化）が、第１の閾値θｔｈ１以上の場合に、「うなずき」動作であると判定する。さらに、ピッチ軸周りの角度変化に加えて、角速度を用いて、ユーザの入力動作を判定することができる。例えば、ピッチ軸周りの角速度が第１角速度未満の場合には、ユーザ動作を「うなづき」動作と判定するものの、ユーザの意志に迷いがある可能性がある。従って、動作に対応する応答「はい」を強調表示すると共に、警告メッセージ、例えば「本当によろしいですか？」を重ねて表示してもよい。また、ピッチ軸周りの角速度が第１角速度未満の場合には、ユーザが頭を上下に動かす速度がゆっくりであるから、「うなずき」動作と判定せず、警告メッセージ、例えば「応答は決定できません」を表示してもよい。
【００２２】
さらに、ロール軸、ヨー軸周りの角度差が第４の閾値未満であるかを判定することもできる。うなずき動作の場合、ピッチ軸周りの角度変化が最も大きく、ロール軸、ヨー軸周りの角度変化は小さいから、ロール角、ヨー角が第４の閾値以上である場合には、「うなずき」動作と判定しない。演算処理部は、ユーザの頭部の動きが「うなずき」動作と判定すると、応答要求メッセージに対してユーザが「はい」の応答をしたと決定する。
＜「かぶりを振る」動作の判定と応答＞
演算処理部２１０は、検出されたＨＭＤ１１０の傾きの操作開始角からのヨー軸周りの角度変化（最大角度変化、又は平均角度変化）が、第２の閾値θｔｈ２以上で、かつ該ヨー軸周りの角速度が第２角速度以上の場合に、「かぶりを振る」動作であると判定する。さらに、ロール軸、ピッチ軸周りの角度差が第４の閾値未満であるかを判定することもできる。かぶりを振る動作の場合、ヨー軸周りの角度変化が最も大きく、ロール軸、ピッチ軸周りの角度変化は小さいから、ロール角、ピッチ角が第４の閾値以上である場合には、「かぶりを振る」動作と判定しない。演算処理部は、ユーザの頭部の動きが「かぶりを振る」動作と判定すると、応答要求メッセージに対してユーザが「いいえ」の応答をしたと決定する。
＜「首をかしげる」動作の判定と応答＞
演算処理部２１０は、検出されたＨＭＤ１１０の傾きの操作開始角からのロール軸周りの角度変化（最大角度変化、又は平均角度変化）が、第３の閾値θｔｈ３以上で、かつ該ロール軸周りの角速度が第３角速度以上の場合に、「首をかしげる」動作であると判定する。首をかしげる動作の場合、うなずく動作、かぶりを振る動作と比較して遅いから、第３角速度は第１角速度、第２角速度よりも遅い。さらに、ピッチ軸、ヨー軸周りの角度差が第４の閾値未満であるかを判定することもできる。首をかしげる動作の場合、ロール軸周りの角度変化が最も大きく、ピッチ軸、ヨー軸周りの角度変化は小さいから、ピッチ角、ヨー角が第４の閾値以上である場合には、「首をかしげる」動作と判定しない。演算処理部は、ユーザの頭部の動きが「首をかしげる」動作と判定すると、応答要求メッセージに対してユーザが検討中／無回答であると応答したと決定する。
【００２３】
第１の閾値θｔｈ１、第２の閾値θｔｈ２、第３の閾値θｔｈ３、第４の閾値θｔｈ４、第１〜第３の角速度は、ユーザ毎に設定することができる。ユーザが応答動作（うなずき動作、かぶりを振る動作、首をかしげる）を行うために意識的に頭部を動かす角度変化、角速度はユーザ毎に異なるからである。また、例えば、第１の閾値θｔｈ１を、あるユーザが「うなずき」動作のために頭部を傾ける平均ピッチ角よりも若干大きい角度（例えば５°）を設定することで、判定の誤りをさらに減らすことができる。検出されたＨＭＤの傾きが、図４に示すロール、ピッチ、ヨー角に対応しない場合には、警告メッセージ、例えば「より大きく動作してください」、「上下方向に動作してください」、「動作が誤っています」を表示してもよい。
【００２４】
表示制御部２２０は、センサにより検出されたＨＭＤの傾き、演算処理部２１０より取得された補正（減衰）したＨＭＤの傾き等に応じて、ディスプレイ１１２に表示される進行中の２次元／３次元の仮想空間アプリケーション画像を生成し、ディスプレイ１１２へ出力する。
【００２５】
本発明によると、ユーザは、頭部の動きのみでアプリケーションからのメッセージに対する応答要求に対して、「はい」、「いいえ」、「無回答」で応答することができる。特に非透過型ＨＭＤを装着しているユーザは、自分の手元を観察することができない。手で保持しているコントローラを用いて「はい」、「いいえ」、「無回答」で応答する場合、操作の都度ユーザはコントローラ上のボタンを手探りで探す、又はＨＭＤを外して探すことになる。本発明によると、頭部に装着した状態でうなずき動作、かぶりを振る動作、首をかしげる動作でアプリケーションに対する応答要求に対して各種応答をすることができる。
【００２６】
図５は、本発明の一実施例に従った、ＨＭＤ１１０を装着したユーザが観察するディスプレイ１１２に表示される３次元の仮想空間内のアプリケーション進行中の画像５００を示す。応答モード移行前は、アプリケーション画像（仮想空間画像）はユーザの頭部の動きに逐次連動して変化する。
【００２７】
図６は、発明の一実施例に従った、応答モードに移行した後の仮想空間画像を示す。進行中のアプリケーションから応答要求メッセージを取得すると、応答モードに入る。応答モードに入ると、仮想空間画像６００が暗くなると共に、該仮想空間画像にアプリケーションからの応答要求メッセージと共にメッセージウィンドウ６１０が重ねて表示される。応答モードに移行すると、仮想空間画像はユーザの頭部の動きよりも小さい動き、又はユーザの頭部の動きとは無関係に固定される。ユーザは、応答要求メッセージ（図６の「プレイを続行しますか？」）に対して、頭部を動かすことによって各種応答することができる。
【００２８】
図７は、本発明の一実施例に従った、応答モードに移行した後の仮想空間画像を示す。演算処理部２１０はユーザの入力動作に基づき、ユーザの「うなずき」動作を判定すると、ユーザが応答要求メッセージウィンドウ７１０の「はい」の応答をしたと決定する。そして、表示制御部２２０は応答「はい」を強調表示する。ユーザは自己が意図した動作に対応した応答が選択されているか否かを、強調表示されている部分により視認することができる。
【００２９】
さらに、表示制御部２１０は、所定時間に亘って応答「はい」を強調表示してもよい。強調表示している間に、ユーザの頭部の動き（頭部の微妙な揺れは除く）が検出されない場合、演算処理部は強調表示された応答「はい」がユーザにより正式に選択されたと決定する。一方、強調表示している間に、ユーザの頭部の動きが検出される場合、表示制御部２１０は応答「はい」の強調表示を解除してもよい。応答「はい」、「いいえ」、「わからない」に対応するユーザの入力動作は、ユーザ毎によって表現が異なるため、演算処理部２１０はユーザの意図する動作に対応しない応答を選択する場合がある。このような誤選択を回避するために、システムによって入力動作に対応する応答が決定された後に、所定期間に亘って決定された応答を強調表示することで、再度決定された応答が正しいかをユーザに確認させることができる。応答「はい」がユーザにより正式に選択されると、演算処理部２１０は、該応答に対応する処理を実行する。
【００３０】
図８は本発明の一実施例に従った、応答モードに移行した後の仮想空間画像を示す。ユーザは、自身の行っている動作がシステムによってどのように判定されるのか、システムによって決定された応答がディスプレイ１１２に強調表示されるまでユーザは把握することができない。システムによって誤った応答が決定される入力動作をユーザが繰り返し、継続して行うことを回避するために、ユーザの入力動作に対するフィードバックをディスプレイへ表示する。図８は、ユーザの頭部の動作が判定できないことを示す警告メッセージ８２０（図８に示すメッセージ「判定できません  より大きく動作してください」）、及びユーザの頭部の動作に連動して変化するアイコン８３０が仮想空間画像に重ねてられている様子を示す。例えば、ユーザが首を縦に振る動作を行うと、アイコン８３０は、ウィンドウ８４０内でユーザの頭の動きに連動して上下の方向に動くように表示される。ウィンドウ８４０内のアイコン８３０はユーザが頭を動かす方向、及び／又は動かす距離に応じて動くよう表示される。さらに、ウィンドウ８４０内に、システムによってユーザ動作を判定するために必要な距離・方向を示す基準線（図８に示す８５０）を示すことができる。アイコン８３０が、ウィンドウ内に示されるユーザ動作を判定するために必要な基準線に沿って移動しない場合、システムは頭部を動かす量が不十分及び／又は頭部を動かす方向が誤っていると判定していることを示す。システムはさらに、警告メッセージ８２０を表示することができる。ユーザはウィンドウ８４０内のアイコン８３０の動きを確認し、警告メッセージを確認することで、システムによって自身の頭の動作がどのように判定されているのかフィードバックを得ることができる。
【００３１】
図９は本発明の一実施例に従った、応答モードに移行した後の仮想空間画像を示す。応答モードに移行した後に、演算処理部はユーザの入力動作に基づき「かぶりを振る」動作を判定し、該判定した動作によって、応答要求メッセージに対してユーザが「いいえ」の応答をしていると決定する。該決定に従って表示制御部は「いいえ」を強調表示する。
【００３２】
図１０は本発明の一実施例に従った、応答モードに移行した後の仮想空間画像を示す。応答モードに移行した後に、演算処理部はユーザの入力動作に基づき「首をかしげる」動作を判定している。該判定した動作によってメニューの項目はいずれも選択されず、ユーザが「無回答」の応答をしていると決定する。該決定に従って表示制御部はメッセージ「検討中・・・」を、画面に重ねて表示している。
【００３３】
次に、図１１を参照してＨＭＤシステムを制御するための処理の流れを説明する。角速度センサ１１４により検出される角度は相対的であるため、まず、ユーザの頭部に装着されたＨＭＤ１１０の初期設定を行う。ただし、赤外線センサ１３０によりＨＭＤ１１０の各軸方向の角速度を取得する場合には、ＨＭＤの水平方向の検出が可能であるため初期設定は不要である。さらに、第１〜第４の閾値（θｔｈ１〜θｔｈ４）、第１角速度〜第３角速度の一部又は全てを初期設定する。これらの値はユーザ毎に設定してもよいし、決められた値で設定してもよい。ユーザは、コントローラを用いてアプリケーションを実行する。アプリケーションが実行されると、表示制御部２２０はＨＭＤ１１０のディスプレイ１１２に実行されたアプリケーションの仮想空間画像等を表示する。図１１に示すフローチャートは、以上の処理が完了した後に行われる。なお、図１０に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理の順序を入れ替えても良い。
【００３４】
まず、演算処理部２１０は、ユーザの頭部の動きに応じて得られるセンサ１１４／１３０の出力に基づいて各軸周りの角速度から、ＨＭＤの傾き（或いは各軸まわりの角度）を検出する（ステップＳ１）。アプリケーション進行中（例えばゲームのプレイ中）、表示制御部２２０は、演算処理部２１０により検出されたＨＭＤの傾きに応じて逐次変化する仮想空間画像を生成し、ディスプレイに出力する。ディスプレイに表示された仮想空間画像は、ユーザの頭部の動きに連動して逐次変化するため、ユーザは仮想空間へ没入することができる。
【００３５】
進行中のアプリケーションよりユーザに対する応答要求があると、演算処理部２１０は、応答モードに移行する。演算処理部２１０は、応答モードに移行した際にユーザの頭部に装着されているＨＭＤ１１０の角速度センサ１１４より取得される各軸方向の角度を（ＨＭＤの傾き）を操作開始角と設定する。表示制御部２２０は仮想空間画像を暗く表示すると共に、応答要求に対するメッセージを、選択肢（「はい」、「いいえ」）と共にメッセージウィンドウに表示する（ステップＳ２）。表示制御部２２０は応答モードに移行すると、仮想空間画像とは全く異なる応答モード画像（例えば、仮想空間画像をディスプレイの一部に縮小して表示し、メッセージウィンドウを中心に大きく表示する画像）を生成するようにしてもよい。
【００３６】
次に、演算処理部２１０は、検出されたＨＭＤの傾きに連動して仮想空間画像を変化させないようにするために、検出された傾き（或いは各軸周りの角度変化）よりも小さい傾き（或いは角度変化）を算出して表示制御部２２０へ送出する。表示制御部２２０は、演算処理部２１０より取得した補正された傾きに基づいて仮想空間画像を生成して、ディスプレイ１１２へ出力する（ステップ３）。
【００３７】
次に、演算処理部２１０は、入力を意味する有意な頭部の動きがあったかどうかを判定する（ステップＳ４、ステップＳ６）。ステップＳ４において、検出されたＨＭＤの各軸周りの角度変化のうち最も大きい軸周りの角度変化が対応する所定の閾値（第１〜第３の閾値のいずれか）以上であるか否かを判定する。所定の閾値未満である場合には、動作を判定できないとして、表示制御部はディスプレイに警告メッセージ（例えば、「動作が判定できません」）を表示させる（ステップＳ５）。一方、各軸周りの角度変化のうち最も大きい軸周りの角度変化が、対応する所定の閾値（第１〜第３の閾値のいずれか）以上である場合にはステップＳ６へ進む。
【００３８】
ステップＳ６において、演算処理部２１０は、検出されたＨＭＤの各軸周りの角度変化のうち最も大きい軸周りの角度変化に対応する角速度が、対応する所定の閾値（第１〜第３の角速度のいずれか）以上であるか否かを判定する。所定の閾値未満である場合には、動作を判定できないとして、表示制御部はディスプレイに警告メッセージを表示させる（ステップＳ５）。一方、最も大きい軸周りの角度変化に対応する角速度が、対応する所定の閾値（第１〜第３の角速度のいずれか）以上である場合にはステップＳ７へ進む。
【００３９】
次に、演算処理部２１０は、検出されたＨＭＤの傾きに基づいて、「うなずき」動作、「かぶりを振る」動作、「首をかしげる」動作を判定する（ステップＳ７）。そして、演算処理部２１０は、判定された動作に対応する応答を決定する（ステップＳ７）。表示制御部２２０は、決定されたメッセージへの応答が「はい」、「いいえ」のいずれか場合、該応答「はい」、「いいえ」のいずれかをディスプレイに強調表示させる（ステップＳ８、Ｓ９）。一方、決定されたメッセージの応答が「無回答」である場合、該応答「検討中（迷い中）」をディスプレイへ表示させる（ステップＳ１０）。
【００４０】
次に、演算処理部２１０は、応答決定後、ＨＭＤの傾きの変化が所定期間に亘ってほぼ検出されないか否かを判定する（ステップＳ１１）。所定期間にわたってＨＭＤの傾きの変化がない（あるいは実質的に殆どない）場合、ステップＳ７において決定された応答がユーザの意図する応答であると正式決定する（ステップＳ１２）。次に、演算処理部２１０は、Ｓ７にて決定された応答が、「無回答」であるかを判定する（ステップＳ１３）。そして、ステップＳ１３において、Ｓ１２にて正式決定された応答が「無回答」ではない場合には、演算処理部２１０は、正式決定された応答（「はい」或いは「いいえ」）に対応する処理を実行する（ステップＳ１５）。一方、Ｓ１２にて正式決定された応答が「無回答」である場合には、ステップＳ２へ戻る。
【００４１】
ステップＳ１１において、所定期間内に、ＨＭＤの傾きに一定の変化があると判定された場合にはステップＳ１４に進む。ディスプレイに表示されたシステムによって決定された応答が、ユーザの意図する応答と合致しない場合に、ユーザは所定期間内に頭部を動かすことによって、該システムによる決定を解除することができる（ステップＳ１４）。そして、ステップＳ２へ戻る。
【００４２】
本実施形態では、ユーザの頭部の動作のみでアプリケーションからの応答要求に対する応答を行う為のＨＭＤシステムで実行される方法、プログラム、及びシステムについて説明した。特に、本実施形態によると、ＨＭＤを装着しているユーザの頭部の簡単な動作（「うなずき」動作、「かぶりを振る」動作、「首をかしげる」動作）のみでＨＭＤに表示されるアプリケーションからの応答要求メッセージに対して応答することができる。
【００４３】
以上、本発明の一実施形態に付き説明したが、本発明は上記実施形態に限定されるものではない。前述の請求項に記載されるこの発明の精神及び範囲から逸脱することなく、様々な実施形態の変更がなされうることを当業者は理解するであろう。
【図１Ａ】
2017037567.tif 000003
【図１Ｂ】
2017037567.tif 000004
【図２】
2017037567.tif 000005
【図３】
2017037567.tif 000006
【図４】
2017037567.tif 000007
【図１１】
2017037567.tif 000008
【図５】
2017037567.tif 000009
【図６】
2017037567.tif 000010
【図７】
2017037567.tif 000011
【図８】
2017037567.tif 000012
【図９】
2017037567.tif 000013
【図１０】
2017037567.tif 000014