以下、本発明を実施するための最良の形態について、図面を参照して説明する。
図1に、本発明の第1の実施形態に係るヘッドマウントディスプレイ装置(以下、HMDと略記する)1を示す。
図1は、本発明の第1の実施形態に係るHMD1の斜視図である。図示するように、本実施形態に係るHMD1は、頭部装着帯11と、音声出力部12と、筐体13と、支持部14と、アーム部15と、表示部16と、操作部17と、を備えている。
頭部装着帯11は、その両端が相対向するように湾曲した形状に形成されている。また、頭部装着帯11は、弾性を有する材質で構成され、利用者の頭部に装着する際に後述するスピーカ121を利用者の頭部の内側方向に押圧することで、HMD1を利用者の頭部に着脱自在に装着することができるようにしている。
頭部装着帯11の長手方向両端側には、筐体13A、13B(これらを区別しない場合には、単に筐体13と表記する)が連結されている。また、筐体13Aにはスピーカ121Aが、筐体13Bにはスピーカ121Bがそれぞれ接続されている。さらに、頭部装着帯11の内部には、筐体13Bに内蔵される電源(図示しない)および制御装置10と、各部と、を電気的に接続するための信号線や、電源から電力を供給するための電力線等が配線されている。
音声出力部12は、音声信号を音声に変換して出力する。具体的に、本実施形態に係る音声出力部12は、スピーカ121A、121B(これらを区別しない場合には、単にスピーカ121と表記する)を有しており、これらは利用者の両方の耳にあてがわれて使用されるいわゆるヘッドホン用のスピーカである。図1においては、向かって右側のスピーカ121Aが左耳用、向かって左側のスピーカ121Bが右耳用として示されている。これらの左右の別については、利用者の操作によって、任意に決定することができるものとしても良く、表示部16を左右どちらの眼前に位置させるかによって切り換わるような構成としても良い。また、音声出力部12には、電源から電力を供給するための電力線と、音声信号を供給する音声信号線とが配線されている。
筐体13Aは、スピーカ121Aとは逆側の外壁面に、HMD1の電源のオン、オフを切り換える電源スイッチ(図示しない)を備える。また、筐体13Bには、制御装置10および電源が内蔵されている。
なお、電源、電源スイッチ、制御装置10および操作部17は、筐体13Aおよび13Bのどちらに配置されても良く、また、筐体13A、13Bは、スピーカ121A、121Bとそれぞれ一体となるような構成としても良い。
支持部14は、筐体13Bにアーム部15の一端側を上下方向に回動自在に連結する。連結方法はどのようなものであっても良い。このような構成により、利用者は、スピーカ121A、121Bの左右が反転するようにHMD1を装着し、表示部16が眼前に配置されるよう、アーム部15を180度回動させて使用することが可能である。すなわち利用者は、表示部16を左右いずれの眼前にでも配置することが出来る。
アーム部15は、頭部装着帯11を利用者の頭部に装着した際に、筐体13A側とは他端側に取り付けられている表示部16が利用者の眼前に位置するように、その長手方向において湾曲している。また、内部には電源から表示部16に電力を供給する電力線および画像信号を供給する画像信号線が配線されている。
表示部16は、アーム部15の先端に利用者の視線に合わせて、上下および左右方向に回動自在に連結されている。表示部16は、有機EL(Organic Electro-Luminescence)やLCD(Liquid Crystal Display)等から選択されるディスプレイを備えており、供給される画像信号に基づいて画像を表示する。
操作部17は、HMD1に関する操作指示を入力するための操作スイッチを備える。利用者は、操作スイッチを介して、例えば、再生、停止、早送り、巻戻し、音量の変更、その他の処理についての指示を入力することが可能である。これらのスイッチを介して入力された操作指示は、後述する入出力インターフェース部103(以下、I/F部;図2参照)を介して制御部101に出力される。なお、操作部17を備えるリモコンを別途有し、有線または無線でHMD1に関する操作指示を実行可能な構成としても良い。
次に、本発明の第1の実施形態に係るHMD1の備える制御装置10について、図2を参照しながら説明する。図2は、HMD1の機能的な構成を示すブロック図である。
制御装置10は、図2に示すように、頭部動き検出部18と、制御部101と、記憶部102と、I/F部103と、を備える。
まず、頭部動き検出部18について説明する。頭部動き検出部18は、頭部の動きを検出するための装置であり、角速度センサ(Z)180Aと、角速度センサ(X)180Bと(これらを区別しない場合には、単に角速度センサ180と称する)を備えている。頭部動き検出部18は、これらを用いて特定の基準軸から検出対象、すなわち利用者の頭部の動きに関する方向情報を、角速度として検出するものである。ここでの基準軸とは、図1に示すように、利用者が直立する垂直方向のZ軸と、Z軸と直交し利用者の一側面から他側面に向かう方向であるX軸と、の2軸である。
角速度センサ180としては、筺体内のミラーやファイバーでレーザ光を周回させ、筺体が方向を変えると、内部で周回しているレーザの発光から受光のタイミングが変化することを利用した光学式ジャイロ、歳差を応用して角速度変異を検知する機械式ジャイロ、振動(一次振動)する質量に角速度が加わると、コリオリ力でそれに直交する方向にも振動(二次振動)が発生することを利用した、振動式ジャイロ等を使用することができる。本発明の第1の実施形態に係る角速度センサ180では、圧電セラミックスを用いた圧電振動ジャイロを用いることとする。
具体的に、角速度センサ(Z)180Aは、ヨーイング(Yaw)方向の角速度、すなわち、Z軸回りの回転角の傾きであるヨー角を検出し、角速度センサ(X)180Bは、ピッチング(Pitch)方向の角速度、すなわち、X軸の回りの回転角の傾きであるピッチ角を検出する。これらにより、HMD1は、利用者の頭部の横振りおよび縦振りの動きを検出することができる。本実施形態においては、角速度センサ180は、所定の周期(例えば、50msec)毎にサンプリングを実行し、検出結果は角速度に比例するアナログ電圧値として出力される。出力された電圧値は、A/D変換器(図示しない)によってデジタル信号に変換され、制御部101へと出力される。
なお、角速度センサ180の数は、上記に限定されない。利用者が頭部をかしげる動きを検出するための、Y軸を基準軸とする角速度センサをさらに設けて、ロール角を検出する構成としても良く、また、1つの角速度センサによって、全ての角速度を検出できるようにしても良い。また、角速度センサ180の他に加速度センサをさらに設けても良い。
I/F部103は、HMD1に、各デバイスおよび装置をデータ転送可能に接続する。具体的に、I/F部103は、外部の装置と接続するための汎用バスとして、USB(Universal Serial Bus)、IEEE1394等の規格に準拠する端子を備える。また、I/F部103は、例えば、Ethernet(登録商標)、ワイヤレスフィデリティ(WiFi)、Bluetooth等の規格に準拠したネットワークに接続するための無線通信モジュールを備えていても良い。
制御部101は、各種プログラムを実行する主制御部110と、所定の基準に従って表示対象毎に仮想画面を生成する仮想画面生成部111と、仮想画面の切り換えに関する利用者の頭部の動きを検出する動き解析部112と、表示部16に表示させる仮想画面の再現処理を実行する画面切換部113と、を備えている。
仮想画面生成部111は、表示対象毎に仮想画面を生成する。
本実施形態においての表示対象とは、例えば、オペレーティングシステムや、オペレーティングシステム上で動作するアプリケーション、アプリケーション上で動作するコンテンツ等の特定のプログラムである。従って、仮想画面生成部111は、主制御部110が、表示対象であるこれらの特定のプログラムを起動した際に、当該プログラムに対応する仮想画面(例えば、ユーザインターフェース画面)を生成する。
ここで、本発明に係るHMD1の仮想画面の切り換え動作について説明する。図3(a)および図3(b)は、本発明の第1の実施形態に係るHMD1の実行する仮想画面の切り換え動作について説明する概略図である。
図3(a)に示すように、HMD1の備える表示部16には、実画面161が表示されている。さらに、実画面161と切り換え可能な仮想画面162が、実画面161と共に3×3のマトリクス状に仮想的に配置され、それぞれに配置番号1〜9が割り当てられている。
利用者は切り換え操作によって、仮想配置上で実画面161を基準として上下左右の各方向に存在する仮想画面162を、実画面161に切り換えることが可能である。本実施形態においての切り換え操作とは、上下左右の4方向のいずれかを、利用者が頭部の動きによって指定する操作である。もちろん、指定可能な方向は上記に限定されず、斜め方向への指定を可能としても良い。
従って、図3(b)においては、利用者が頭部の動きによって右方向を指定したため、仮想配置上における実画面161(配置番号「5」)の、向かって右側に配置される仮想画面162(配置番号「6」)が、新たな実画面161として表示部16に表示される。その際、元の実画面161(配置番号「5」)は仮想画面化される。
本発明における仮想画面とは、所定のプログラムに対応する画面を再現するための情報である。仮想画面は、例えば、図4に示すようなディスプレイ情報150として、記憶部102のディスプレイ情報記憶領域151へと格納される。
ディスプレイ情報150は、図4に示すように、配置番号格納領域150aと、再現情報格納領域150bと、を有する。
配置番号格納領域150aは、仮想画面の仮想的な配置を示す配置番号を格納する。配置番号とは、図5に示すようなマトリクステーブル1520a〜1520cの各区画に設定される番号に対応するものであり、後述の画面切換部113が仮想配置を特定する際に用いられる。
再現情報格納領域150bは、仮想画面を実画面として再現する上で必要な要素を、再現情報として格納する。
再現情報は、例えば、表示対象を特定するアプリケーションプログラムを特定するためのアプリケーション名を格納するアプリケーション名格納領域1501aと、当該アプリケーション上で実行中のコンテンツプログラムを特定するためのコンテンツファイル名を格納するコンテンツファイル名格納領域1501bと、当該コンテンツファイルの差分データを格納する差分データ格納領域1501cと、当該コンテンツのプログラム上における処理状態を特定するための状態情報を格納する状態情報格納領域1501dと、を備える。
なお、コンテンツとは、ここでは音楽や映像、画像、文書等のあらゆるデジタルデータ全般を指す。
なお、表示対象や、再現情報が格納する要素は上記に限定されない。例えば、デスクトップを表示対象としても良い。デスクトップとは、任意のオペレーティングシステム等の上で表示部16に表示される情報のグループである。よって、そのような場合の再現情報には、上述の要素に加えて、オペレーティングシステムに依存する各種設定(背景やスクリーンセーバ、表示アイコン等)が格納される。
このような場合には、例えば、利用者が起動やログインを実行するごとにデスクトップの仮想画面を生成したり、予め複数の基本となるデスクトップの仮想画面を生成しておき、利用者がこれを選択して利用したりするような構成とすることも可能である。
次に、制御部101の実行する処理について具体的に説明する。
主制御部110は、特定のプログラムの起動指示を検出すると、仮想画面生成部111に、起動対象のプログラムに関する、仮想画面生成指示を出力する。
仮想画面生成部111は、主制御部110からの仮想画面生成指示を受け付けると、起動対象のプログラムに関するディスプレイ情報150が既に存在するか否かを検出し、存在する場合にはこれを画面切換部113に再現させる。存在しなかった場合には、起動対象のプログラムに関するディスプレイ情報150を新たに生成する。
具体的に、まず、仮想画面生成部111は、ディスプレイ情報記憶領域151から、起動対象のプログラムと一致するアプリケーション名やコンテンツ名を格納するディスプレイ情報150が存在するか否かを検出する。
ディスプレイ情報が既に存在する場合には、仮想画面生成部111は、画面切換部113に当該ディスプレイ情報150の再現指示を出力して、再現情報から元画面を再現させる。
存在しない場合には、仮想画面生成部111は、起動対象のプログラムに関するディスプレイ情報150を生成して配置番号を設定し、配置番号格納領域150aへと格納する。配置番号は、例えばプログラムの実行順に1から昇順で設定される。なお、配置番号はどのように設定しても良く、プログラムの種類等、任意の設定基準を用いることが可能である。
次に、仮想画面生成部111は、主制御部110が既に他のプログラムを起動中であるか否かを検出して、起動中のプログラムに対応する画面(以下、実画面と称する)を再現するための再現情報を取得し、ディスプレイ情報150へと格納する。
再現情報の取得は、例えば以下のようにして実行される。
仮想画面生成部111は、既に他のアプリケーションが起動中である場合には、先に起動していたアプリケーションに関するアプリケーション名格納領域1501aに、当該アプリケーションのアプリケーション名を格納する。
続いて、仮想画面生成部111は、先に起動していたアプリケーション上で実行中のコンテンツがあるか否かを検出し、実行中のコンテンツがある場合には、当該コンテンツのファイル名を取得して、コンテンツファイル名格納領域1501bに格納する。
さらに、仮想画面生成部111は、実行中のコンテンツファイルと元ファイルとを比較して、先に起動中のアプリケーション上において、コンテンツファイルにデータに更新があったか否かを判断する。更新があった場合には、当該コンテンツファイルの差分データを取得して、差分データ格納領域1501cに格納する。
また、仮想画面生成部111は、コンテンツの処理状態を検出し、これを特定する情報を状態情報格納領域1501dへと格納する。コンテンツの処理状態とは、例えば、音楽や動画の再生状況や再生位置、静止画のレイアウトや表示倍率等であり、アプリケーションに依存する設定等の表示態様を再現するために必要な情報も含む。
その後、仮想画面生成部111は、先に起動していたプログラムの終了指示と、起動対象であるプログラムの起動指示とを主制御部110へと出力して、実画面を仮想画面化し、起動対象のプログラムを起動させる。
なお、主制御部110は、後述の画面切換部113によって再現情報から元画面を再現する際に起動されるプログラムについては、既にディスプレイ情報150が生成されているため、仮想画面生成指示は出力しない。
さらに、主制御部110は、利用者からのプログラムの終了指示を受け付けた場合には、仮想画面生成部111に、仮想画面情報削除指示を出力する。
仮想画面生成部111は、主制御部110からの仮想画面情報削除指示を受け付けると、当該プログラムと一致するアプリケーション名やコンテンツファイル名を格納するディスプレイ情報150を削除して、以降の配置番号を繰り上げる。さらに、最大の配置番号を有するディスプレイ情報150の再現指示を画面切換部113へと出力し、常に最新に起動されたプログラムに対応する画面を表示部16に表示させる状態を維持する。
動き解析部112は、利用者の頭部の動きを検出して、画面切換部113へ画面切換指示を出力する。
具体的に、動き解析部112は、角速度センサ(Z)180Aと角速度センサ(X)180Bとから出力される電圧値から、右方向への頭部の動きの角速度r(Z+)と、左方向への頭部の動きの角速度r(Z−)と、下方向への頭部の動きの角速度r(Z+)と、上方向への頭部の動きの角速度r(X−)と、を取得する(これらを区別しない場合には、単に角速度rと表記する)。そして、例えば、図示しない積分回路を用いて、角速度を積分して一定期間の動きの変化量、すなわち、利用者の頭部の旋回角度を算出する。
具体的に、動き解析部112は、受信した電圧値から、利用者が静止時の電圧値である基準値を減じて、各旋回方向における角速度rを求める。なお、基準値は、予め所定の値を設けておいても良いし、HMD1に電源が投入された際に、初期化動作として取得しても良い。
さらに動き解析部112は、角速度rを積分演算して角度変化値を順次算出し、角度変化値を積算して、合計角度変化量、すなわち、各旋回方向における旋回角度を算出する。従って、合計角度変化量は、予め備える基準角度(オフセット角度)との相対角として算出することが可能である。
動き解析部112は、上下方向および左右方向の旋回角度のうち、最大の値を有するものが、それぞれの方向毎に予め定められた所定の閾値以上であった場合、当該角度の旋回方向(以下、指示方向と称する)への画面切換指示を、画面切換部113へと出力する。
その後、動き解析部112は、再び角速度センサ180からの電圧値を受信して旋回角度を算出し、頭部が正面に戻ったか否かを検出する。例えば、動き解析部112は、合計角度変化量が、基準角度(0°)近傍の所定の範囲(例えば、−5°〜5°)にある際に、頭部が正面を向いた状態に戻ったと判断して、処理を終了する。なお、動き解析部112は、頭部が正面を向くまでは、指示方向への画面切換指示の出力を続ける。
しかしながらこのような場合には、頭部が正面を向くまでの間、画面切換指示が短期間に高頻度で出力されてしまう可能性がある。そこで、動き解析部112は、図示しないタイマによって画面切換指示の出力タイミングを制御する。
具体的に、動き解析部112は、画面切換指示を出力後、タイマにカウントダウンを開始させる。以後、動き解析部112は、カウント値が「0」に到達してカウントダウンが終了するまで、画面切換指示の出力を実行しない。よって、利用者の頭部が旋回したまま固定されている場合でも、一定間隔を保った画面の切り換え動作を実現することが可能である。
画面切換部113は、動き解析部112からの画面切換指示、および、仮想画面生成部111からのディスプレイ情報150の再現指示に従って、画面の切り換え動作を実行する。
具体的に、画面切換部113は、動き解析部112からの画面切換指示を受け付けると、起動中のプログラムに関するディスプレイ情報150から、実画面の配置番号を取得する。
次に、画面切換部113は、これまでに生成されたディスプレイ情報150の数を検出して、最適なマトリクステーブルを決定する。
マトリクステーブルは、例えば、ディスプレイ情報150の数が2〜4の場合、図5(b)に示すような2×2のマトリクステーブル1520a、5〜9の場合、図5(c)に示すような3×3のマトリクステーブル1520b、10〜16の、場合図5(d)に示すような4×4のマトリクステーブル1520cが選択される。マトリクステーブルの有する各区画には、それぞれ画面の配置番号が割り振られている。
例えば、ディスプレイ情報記憶領域151に蓄積されたディスプレイ情報150の数が8であれば、図5(c)に示すような3×3のマトリクステーブル1520bが選択される。
なお、ディスプレイ情報150の数が1の場合の仮想配置は、図5(a)に示すような実画面161のみとなる。
また、画面切換部113は、マトリクステーブルに基づく仮想配置から、実画面を基準として指示方向に存在する仮想画面の配置番号を取得する。
例えば、蓄積されるディスプレイ情報150の数が9であり、実画面の配置番号が「5」であるとする。さらに、画面切換指示の示す指示方向が「上」であった場合、画面切換部113は、図3(a)に示すように、配置番号「5」の上方向に存在する仮想配置の配置番号「2」を取得する。
そして、画面切換部113は、実画面を仮想画面へと変換する。
具体的に、画面切換部113は、実画面に関する再現情報を取得して再現情報格納領域150bへと格納し、起動中のプログラムの終了指示を主制御部110へと出力する。
続いて、画面切換部113は、画面切換指示の示す指示方向に存在する仮想画面を、実画面へと変換する。
具体的に、画面切換部113は、取得した配置番号が格納されているディスプレイ情報150の再現情報格納領域150bから再現情報を取得して、表示部16上に仮想画面再現する。
例えば、画面切換部113は、まず、アプリケーション名格納領域1501aからアプリケーション名を取得して、対応するアプリケーションの起動指示を主制御部110へと出力する。
次に、コンテンツファイル名格納領域1501bにコンテンツ名が格納されている場合にはコンテンツファイルを、差分データ格納領域1501cに差分データが格納されている場合には、差分データを読み出して、アプリケーション上に展開させる。さらに、状態情報格納領域1501dに状態情報が格納されている場合には、これを読み出してコンテンツの処理状態を表示部16上に再現する。
なお、画面切換部113は、仮想画面生成部111から出力された再現指示を受け付けた場合にも、上述の処理によって再現指示の示す再現情報から、元画面を再現する。
ここで、HMD1のハードウェア構成について説明する。図29は、HMD1の電気的な構成を示すブロック図である。
図29に示すように、HMD1は、コンピュータの主要部であって各装置を集中的に制御するCPU(Central Processing Unit)91と、各種データを書換え可能に記憶するメモリ92と、各種のプログラム、プログラムの生成するデータ等を格納する不揮発性の補助メモリ93と、表示部16と、スピーカ121等の各デバイスをCPU91に接続するI/F部103と、を備える。制御部101は、例えば、補助メモリ93に記憶されている所定のプログラムを、メモリ92に読み込み、CPU91で実行することにより実現可能である。
次に、動き解析部112が実行する処理を、図7を用いて詳細に説明する。図7は、動き解析部112が利用者の頭部の動きを検出して、画面切換指示を出力する際の処理の流れを示すフローチャートである。
動き解析部112は、角速度センサ(Z)180Aと、角速度センサ(X)180Bとから、所定の周期毎に出力される電圧値を受け付ける(S121)。
次に、動き解析部112は、受信した電圧値から、利用者が静止時の電圧値である所定の基準値を減じて、各旋回方向における角速度rを求める。さらに、角速度rを積分演算して角度変化値を順次算出し、基準角度に角度変化値を積算して、相対的な合計角度変化量、すなわち、各旋回方向における旋回角度を算出する(S122)。
そして、動き解析部112は、ステップ122で得られた上下方向および左右方向における旋回角度のうち、最大のものが所定の閾値以上か否かを検出する(S123)。閾値以上であれば(S123でYES)、ステップ124へと進み、閾値以上でなければ(S123でNO)、ステップ121へと戻って処理を繰り返す。
旋回角度が閾値以上であった場合(S123でYES)、動き解析部112は、指示方向への画面切換指示を画面切換部113へと出力して(S124)、タイマにカウントダウンをスタートさせ(S125)ステップ126へと進む。
動き解析部112は、さらに電圧値を受信して(S126)、ステップ124での画面切換指示における指示方向と同一方向の旋回角度を算出する(S127)。
次に、動き解析部112は、ステップ127で算出した旋回角度が、基準角度(0°)近傍の所定の範囲内にあるか否かを検出する(S128)。所定の範囲内になければ(S128でNO)、ステップ129へと進み、所定の範囲内にあれば(S128でYES)、頭部が戻り動作を終えたと判断して、処理を終了する。
動き解析部112は、旋回角度が所定の範囲以内になかった場合(S128でNO)、タイマがカウントダウン中であるか否かを検出する(S129)。タイマのカウント値が「0」でなければ(S129でYES)、ステップ126へと戻って処理を繰り返し、カウント値が「0」であれば(S129でNO)、ステップ124へと戻って画面切換部113へ指示への画面切換指示を出力し、以降の処理を繰り返す。
次に、画面切換部113が実行する処理について、図8を用いて説明する。図8は、画面切換部113が、仮想画面を実画面に変換、すなわち、再現情報から元画面を再現する際の処理の流れを示すフローチャートである。
画面切換部113は、動き解析部112からの画面切換指示を受け付けると、図8に示すフローを開始する。
まず、画面切換部113は、起動中のプログラムに設定された配置番号を取得する(S131)。具体的に、画面切換部113は、ディスプレイ情報記憶領域151から、起動中のプログラムのアプリケーション名およびコンテンツファイル名と一致する情報を有するディスプレイ情報150を抽出し、その配置番号格納領域150aから配置番号を取得する。
次に、画面切換部113は、蓄積されているディスプレイ情報の数を検出して、テーブル記憶領域152から利用するマトリクステーブルを特定する(S132)。
そして、画面切換部113は、ステップ131で検出した配置番号を基準に、仮想配置上で、画面切換指示の示す指示方向に存在する切り換え先の仮想画面の配置番号を取得する(S133)。切り換え先の配置番号が取得できた場合には(S133でYES)、ステップ134へと進み、切り換え先に仮想画面が存在しない場合には(S133でNO)、処理を終了する。
続いて、画面切換部113は、実画面を仮想画面へと変換する。具体的に、画面切換部113は、実画面に関する再現情報を取得して再現情報格納領域150bへと格納し(S134)、起動中のプログラムの終了指示を主制御部110へと出力する(S135)。
その後、画面切換部113は、仮想画面を実画面へと変換する(S136)。具体的に、画面切換部113は、ステップ133で取得した切り換え先の仮想画面の配置番号を格納するディスプレイ情報150を抽出し、アプリケーション名格納領域1501aからアプリケーション名を取得して、当該アプリケーションの起動指示を主制御部110へと出力する。また、再現情報をアプリケーション上に展開させて元画面を再現し、処理を終了する。
以上、制御部101が、利用者の頭部の動きを検出して、画面を切り換える際の処理について説明した。
なお、利用可能なマトリクステーブルおよび各区画に割り振られた配置番号は、上記に限定されない。例えば、マトリクステーブルの縦および横の区画数はいくつのものを用いても良く、また、縦一列や横一列の区画を有するテーブルを用いて、上下方向および左右方向の、何れか一方の切り換え操作のみを検出するような構成としても良い。
上記のような構成によれば、利用者は、頭部の動きのみによって容易に所望する画面への切り換え操作を行うことが可能である。また複数の画面を切り換えて表示することにより、ディスプレイの表示面積や数が限られている場合でも、より多くの情報を1つの画面上で表示することが可能である。
次に、本発明の第2の実施形態に係るHMD2について説明する。第2の実施形態に係るHMD2は、画面の切り換え動作をオン・オフするスイッチを備える。
図9は、本発明の第2の実施形態に係るHMD2の機能的な構成を示すブロック図である。以下、第1の実施形態と異なる点について主に説明する。
第2の実施形態に係るHMD2は、制御装置20と、音声出力部12と、表示部16と、操作部27と、を備えている。
操作部27は、第1の実施形態に係るHMD1と同様に、HMD2に関する操作指示を入力するための複数の操作スイッチを有する。また、本実施形態に係る操作部27は、画面切換スイッチをさらに備えている。利用者は、画面切換スイッチを操作することにより、画面切り換え動作のオン・オフを変更することができる。
操作部27は、画面切換スイッチが利用者によってオンにされると、モードオン信号を、利用者によってオフにされると、モードオフ信号を、I/F部203を介して制御部201へと出力する。
I/F部203は、HMD2に、各デバイスおよび装置をデータ転送可能に接続する。
制御装置20の制御部201は、主制御部110と、仮想画面生成部111と、動き解析部112と、画面切換部113と、電源制御部214と、を備える。
電源制御部214は、図示しない電源と接続され、電源から動き解析部112への電力供給を制御する。
具体的に、電源制御部214は、操作部27からモードオフ信号を受け付けると、電源から動き解析部112への電力供給を停止させる。また、電源制御部214は、操作部27からのモードオン信号を受け付けると、電源から動き解析部112への電力供給を開始させる。
このような構成によれば、HMD2は、画面切換スイッチがオンの場合にのみ頭部の動きの検出、すなわち、画面の切り換え動作を実行することにより、利用者の不意な動きによる意図しない画面の切り換わりを防ぎ、安定した動作を実現することが可能である。
次に、本発明の第3の実施形態に係るHMD3について説明する。第3の実施形態に係るHMD3は、表示部16が利用者の眼前に無い場合に、表示部16における画像の表示および頭部の動きの検出を停止する。
図10は、本発明の第3の実施形態に係るHMD3の機能的な構成を示すブロック図である。以下、第1の実施形態と比較して、異なる点について主に説明する。
第3の実施形態に係る制御装置30は、制御部301と、頭部動き検出部18と、アーム位置検出部19と、記憶部102と、I/F部103と、を備えている。
アーム位置検出部19は、アーム部15(表示部16でも良い)に取り付けられる近接センサ190を備える。近接センサ190は、例えば静電容量形近接センサであり、周囲物体の接近を検出して対象の移動情報や存在情報を電気信号に置き換え、検出信号を得るものである。
具体的に、近接センサ190は、アーム部15と筐体130A(頭部装着帯11でも良い)との接近を判断する。アーム位置検出部19は、アーム部15と筐体130Aとが、所定の距離未満に接近したことを示す検出信号が得られた場合には退避位置検出信号を、所定の距離以上に離れたことを示す検出信号が得られた場合には使用位置検出信号を、制御部301へと出力する。
従って、制御部301は、近接センサ190からの使用位置検出信号および退避位置検出信号を受信することにより、表示部16が使用位置(利用者の眼前)にあるか、退避位置(表示部16が頭部装着帯11に最も接近し、利用者の頭頂部付近で頭部装着帯11と重なる位置近傍)にあるかを判断することが可能である。
もちろん、アーム部15の位置を検出するためのセンサは、上記の近接センサに限定されない。金属の存在を検出する誘導形近接センサや、磁気による直流磁界を利用したスイッチ等を使用することも可能である。
制御部301は、主制御部110と、仮想画面生成部111と、動き解析部112と、画面切換部113と、電源制御部314と、を備える。
電源制御部314は、図示しない電源と接続され、電源からの動き解析部112および表示部16への電力供給を制御する。
具体的に、電源制御部314は、アーム位置検出部19からの退避位置検出信号を受け付けると、動き解析部112および表示部16への電力供給を停止させる。また、電源制御部314は、アーム位置検出部19からの使用位置検出信号を受け付けると、動き解析部112および表示部16への電力供給を開始させる。
このような構成によれば、本実施形態に係るHMD3は、表示部16が利用者の眼前に無い場合には、画像の表示および頭部の動きの検出を停止させることによって、不要な電力の消費および不意な画面の切り換え動作を防止することが可能である。
次に、本発明の第4の実施形態に係るHMD4について説明する。本実施形態に係るHMD4は、切り換え動作が可能な方向および不可能な方向を示すシンボル画像を、実画面上に表示させる。
図11は、本発明の第4の実施形態に係るHMD4および第5の実施形態に係るHMD5の機能的な構成を示すブロック図である。
第4の実施形態に係るHMD4は、制御装置40と、音声出力部12と、表示部16と、操作部27と、を備えている。
操作部27は、第2の実施形態と同様の構成であり、画面切換スイッチを有している。
制御部401は、主制御部110と、仮想画面生成部111と、動き解析部112と、画面切換部113と、電源制御部214と、シンボル画像表示部415と、を備える。
シンボル画像表示部415は、利用者によって画面切換スイッチがオンに切り換えられ、電源制御部214によって動き解析部112への電力供給が開始されたことを検出すると、表示部16に表示される実画面上に、所定のシンボル画像を表示する。
具体的に、シンボル画像表示部415はまず、ディスプレイ情報記憶領域151に蓄積されるディスプレイ情報150の数を取得して、テーブル記憶領域152から利用するマトリクステーブルを特定する。
そして、シンボル画像表示部415は、起動中のプログラムに関するディスプレイ情報150から、実画面の配置番号を特定する。さらに、マトリクステーブルに基づく仮想配置において、実画面を基準として、特定の方向(ここでは、上下左右の4方向)に仮想画面が存在するか否かを検出する。
次に、シンボル画像表示部415は、各方向における仮想画面の有無に基づいて、シンボル画像記憶領域453から適当なシンボル画像を読み出し、実画面上に配置する。シンボル画像記憶領域453には、図12(a)および図12(b)に示すような各シンボル画像が予め格納されている。
図12(a)および図12(b)は、利用者が画面切換スイッチをオンにした際に、表示部16に表示される実画面の概略図である。
シンボル画像は、例えば、上方向への画面の切り換え動作が可能である旨を示すシンボル画像421a、左方向への画面の切り換え動作が可能である旨を示すシンボル画像421b、右方向への画面の切り換え動作が可能である旨を示すシンボル画像421c、下方向への画面の切り換え動作が可能である旨を示すシンボル画像421d、画面の切り換え動作が不可能な旨を示す422の中から、何れかが選択される。
具体的に、図12(a)に示すように、配置番号「5」が実画面として表示部16に表示されている場合は、上下左右の全方向に仮想画面162が存在するため、シンボル画像421a〜421dが、それぞれ実画面上に配置される。しかしながら、図12(b)に示すように、利用者が下方向への画面切り換え操作を実行して、配置番号「8」が実画面として表示部16に表示された場合、配置番号「8」の下方向には、仮想画面は存在しない。従って、シンボル画像421dは、画面の切り換えが不可能である旨を示す422へと置き換えられる。
実画面上におけるシンボル画像の形状は特に限定されないが、利用者が視認して容易に理解し得るものであることが望ましい。例えば、文字によって通知することも可能である。また、シンボル画像の配置についても、図12(a)および図12(b)に示すように、表示画面の各辺に隣接する位置にそれぞれ配置しても良いし、何れかの隅にまとめて表示しても良い。
なお、シンボル画像表示部415は、利用者によって画面切換スイッチがオフに切り換えられ、電源制御部214によって動き解析部112への電力供給が停止されたことを検出すると、シンボル画像の表示を終了させる。
シンボル画像表示部415の実行する処理について、図13を参照しながら説明する。図13は、シンボル画像表示部415がシンボル画像の表示を実行する際の処理の流れを示すフローチャートである。
シンボル画像表示部415は、利用者によって画面切換スイッチがオンに切り換えられ、電源制御部214によって動き解析部112への電力供給が開始されたことを検出した場合に、当フローを開始する。
シンボル画像表示部415は、まず、ディスプレイ情報記憶領域151に蓄積されるディスプレイ情報150の数を取得して、テーブル記憶領域152から利用するマトリクステーブルを特定する(S411)。
次に、シンボル画像表示部415は、起動中のプログラムに関するディスプレイ情報150から、実画面の配置番号を取得する(S412)。
さらに、シンボル画像表示部415は、ステップ411で特定されたマトリクステーブルの仮想配置に基づき、ステップ412で取得した実画面の配置番号を基準として、上下左右の各方向にそれぞれ仮想画面が存在するか否かを検出する(S413)。
そして、シンボル画像表示部415は、仮想画面が存在する方向には当該方向に切り換え動作が可能な旨を示すシンボル画像を、存在しない方向には切り換え動作が不可能な旨を示すシンボル画像を、それぞれシンボル画像記憶領域453から読み出して、実画面の所定の位置に配置する(S414)。
続いて、シンボル画像表示部415は、表示部16に表示される実画面が、切り換わったか否かを検出する(S415)。画面の切り換え動作が実行されない場合には(S415でNO)、ステップ416へと進み、画面の切り換え動作が実行された場合には(S415でYES)、ステップ412に戻って処理を繰り返す。
画面の切り換え動作理が実行されない場合(S415でNO)、シンボル画像表示部415は、利用者によって画面切換スイッチがオフに切り換えられ、電源制御部214によって動き解析部112への電力供給が停止されたか否かを検出する(S416)。動き解析部112への電力供給が停止されていない場合には(S416でNO)、ステップ415へ戻って処理を繰り返す。動き解析部112への電力供給が停止された場合には(S416でYES)、実画面へのシンボル画像の表示を終了させて(S417)、処理を終了する。
なお、シンボル画像を表示する代わりに、表示部16の画面外の上下左右にLED等からなるランプを設け、画面の切り換え動作が可能な方向のランプを点灯させるような構成としても良い。
また、シンボル画像は実画面上に常時表示させておいても良い。このような場合には、シンボル画像に透過性を持たせて視聴を妨げないような構成とすることが可能である。
このような構成によれば、利用者はシンボル画像を視認することによって、画面の切り換え動作が可能な方向を一目で知ることが出来る。
次に、本発明の第5の実施形態に係るHMD5ついて説明する。HMD5は、第4の実施形態に係るHMD4とほぼ同様の処理を実行するが、各方向に存在する仮想画面の数を示すインジケータを実画面に表示する点でHMD4とは異なっている。
図11に示すように、第5の実施形態に係るHMD5は、制御装置50と、音声出力部12と、表示部16と、操作部27と、を備えている。
操作部27は、第2の実施形態に係るHMD2と同様の構成であり、画面切換スイッチを有している。
制御装置50の制御部501は、主制御部110と、仮想画面生成部111と、動き解析部112と、画面切換部113と、電源制御部214と、シンボル画像表示部515と、を備える。
シンボル画像表示部515は、利用者によって画面切換スイッチがオンに切り換えられ、電源制御部214によって動き解析部112への電力供給が開始されたことを検出すると、実画面上に図14(a)および図14(b)に示すようなインジケータ530を生成して表示する。
図14(a)および図14(b)は、利用者が画面切換スイッチをオンにした際に、表示部16に表示される実画面の概略図である。
インジケータ530とは、シンボル画像記憶領域553に記憶される複数のシンボル画像を所定の位置に配置した合成画像であり、仮想配置上で実画面を基準として、所定の方向に存在する仮想画面の数を表す。
インジケータ530は、実画面を示す実画面シンボル画像531と、実画面から見て所定の方向に存在する仮想画面を示す仮想画面シンボル画像532と、所定の方向への画面の切り換え動作が可能な旨を示す切換可シンボル画像533と、所定の方向への画面の切り換え動作が不可能な旨を示す切換不可シンボル画像534と、を合成することで生成される。
具体的に、シンボル画像表示部515は、ディスプレイ情報記憶領域151に蓄積されるディスプレイ情報150の数を取得して、テーブル記憶領域152から利用するマトリクステーブルを特定する。
そして、シンボル画像表示部515は、起動中のプログラムに関するディスプレイ情報150から、実画面の配置番号を特定する。さらに、マトリクステーブルに基づく仮想配置において、実画面を基準として特定の方向(ここでは、上下左右の4方向)に存在する仮想画面の数をそれぞれ検出する。
次に、シンボル画像表示部515は、各方向に存在する仮想画面の数に基づいて、シンボル画像記憶領域553から適当なシンボル画像を読み出し、インジケータ530を合成して実画面上に重ねて表示させる。
例えば、図14(a)に示すように、配置番号「6」が実画面として表示部16に表示されている場合、上方向および左方向にそれぞれ1、下方向および右方向にそれぞれ2の仮想画面が存在している。よって、シンボル画像表示部515は、実画面シンボル画像531を基準にして、各方向に当該数だけ仮想画面シンボル画像532を並べる。そして、仮想画面シンボル画像532の末端側に、切換可シンボル画像533を配置する。
その後、図14(b)に示すように、利用者が右方向と下方向へ画面の切り換え操作を行って、配置番号「16」が実画面として表示部16に表示されたとする。このような場合、上および左方向にそれぞれ3つの仮想画面が存在している。よって、シンボル画像表示部515は、実画面シンボル画像531を基準にして、上および左方向に当該数だけ仮想画面シンボル画像532を並べる。そして、仮想画面シンボル画像532の末端側に切換可シンボル画像533を配置し、実画面シンボル画像531の下および右方向に切換不可シンボル画像534を配置する。
なお、シンボル画像表示部515は、利用者によって画面切換スイッチがオフに切り換えられ、電源制御部214によって動き解析部112への電力供給が停止されたことを検出すると、シンボル画像の表示を終了する。
実画面上におけるインジケータの配置や、各シンボル画像の形状は上記に限定されない。例えば、数字によって各方向に存在する仮想画面の数を表しても良い。
図15は、シンボル画像表示部515がシンボル画像の表示を実行する際の処理の流れを示すフローチャートである。以下、第3の実施形態に係るシンボル画像表示部415と比較して、異なっている処理(ステップ513およびステップ514)について説明する。その他の処理については、図13に示すシンボル画像表示部415と同様であるため、詳細な説明は省略する。
ステップ513において、シンボル画像表示部515は、特定されたマトリクステーブルの仮想配置に基づき、実画面の配置番号を基準として、上下左右の各方向に存在する仮想画面の数をそれぞれ検出する。
ステップ514において、シンボル画像表示部515は、シンボル画像記憶領域553からシンボル画像を読み出して合成し、インジケータを生成して実画面上に表示させる。
なお、インジケータの表示を終了させずに、常時実画面上に表示させておくような構成としても良い。
このような構成によれば、利用者はインジケータを視認することによって、画面の切り換え動作が可能な方向および当該方向に存在する仮想画面の数を容易に知ることが可能である。
次に、本発明の第6の実施形態に係るHMD6について説明する。HMD6は、利用者が画面の切り換え操作を実行する際に、切り換え対象となる画面のサムネイルを表示部16に表示する。
図16は、本発明の第6の実施形態に係るHMD6の機能的な構成を示すブロック図である。
第6の実施形態に係るHMD6は、制御装置60と、音声出力部12と、表示部16と、操作部27と、を備えている。
操作部27は、第2の実施形態に係るHMD2と同様の構成であり、画面切換スイッチを有している。
制御装置60は、制御部601と、記憶部602と、I/F部203と、頭部動き検出部18と、を備える。
記憶部602は、ディスプレイ情報記憶領域651と、テーブル記憶領域652と、を備える。
ディスプレイ情報記憶領域651は、図17に示すようなディスプレイ情報650を記憶する。ディスプレイ情報650は、配置番号格納領域150aおよび再現情報格納領域150bに加えて、後述する仮想画面生成部511によって生成されるサムネイルを格納するためのサムネイル格納領域150cおよびディスプレイ情報650が更新された時間を格納するための更新時間格納領域150dを、さらに有する。
テーブル記憶領域652は、図18(a)〜図18(c)に示すようなマトリクステーブル6131a〜6131cを予め格納する。マトリクステーブル6131a〜6131cは、表示単位である3×3のマトリクス状テーブルが単一で、または連続してなり、各区画には、それぞれサムネイルの配置番号が割り振られている。
後述するサムネイル画面610(図19参照)はこのようなマトリクステーブルに基づいて生成され、配置番号の設定されない区画には、表示単位610a〜610cを切り換えるためのシンボル画像が格納される。
ここで、本実施形態に係るHMD6の実行する画面の切り換え動作について説明する。図19(a)および図19(b)は、利用者が画面切換スイッチをオンにした際に、表示部16に表示されるサムネイル画面610の概略図である。
利用者によって画面切換スイッチがオンされると、後述するサムネイル表示部615は、図19(a)に示すようなサムネイル画面610を生成し、表示単位610a〜610cごとに表示部16に表示させる。ここでは、ディスプレイ情報650の数が23であり、表示部16に表示単位610aが表示されている場合を想定する。
利用者は、所望する上下左右の4方向のいずれかへ、頭部の動きによって枠状のカーソル690を移動させ、指定するサムネイル65および表示する表示単位610a〜610cを切り換えることが可能である。
例えば、図19(a)において、利用者が画面の切り換え操作によって上方向を指定した場合には、カーソル690は、配置番号「5」のサムネイルへと移動する。また、利用者が右方向を指定し、次ページ移動シンボル画像660へカーソル690を移動させた場合には、図19(b)に示すように、表示部16に表示される画面が表示単位610aから表示単位610bへと切り換わり、さらにカーソル690は配置番号「9」のサムネイルへと移動する。また、前ページ移動シンボル画像670へとカーソル690が移動した場合には、図19(a)に示すように、表示部16に表示される画面は表示単位610aへと切り換えられ、カーソル690は配置番号「8」のサムネイルへと移動する。
制御部601は、主制御部110と、仮想画面生成部611と、動き解析部612と、画面切換部613と、電源制御部214と、サムネイル表示部615と、を備える。
仮想画面生成部611は、図6に示す第1の実施形態に係る仮想画面生成部111とほぼ同様の処理を実行するが、ディスプレイ情報150を生成する際に、サムネイルを取得する点において異なる。以下、異なっている点について説明する。
ステップ114において、仮想画面生成部611は、実画面の再現情報と共に、当該画面のサムネイル65を生成する。具体的に、仮想画面生成部611は、表示部16の表示画像を縮小したサムネイル65を生成して、ディスプレイ情報650のサムネイル格納領域150cに格納する。さらに仮想画面生成部611は、当該サムネイル格納領域150cの更新時間を、更新時間格納領域150dへと格納する。
サムネイル表示部615は、利用者によって画面切換スイッチがオンに切り換えられ、電源制御部214によって動き解析部612への電力供給が開始されたことを検出すると、サムネイル画面610を生成して表示部16に表示させる。
具体的に、まず、サムネイル表示部615は、ディスプレイ情報の数を検出して、利用するマトリクステーブルを特定する。例えば、ディスプレイ情報の数が9以下であれば図18(a)に示すマトリクステーブル6131aを、ディスプレイ情報の数が10以上16以下であれば図18(b)に示すマトリクステーブル6131bを、ディスプレイ情報の数が17以上23以下であれば、図18(c)に示すマトリクステーブル6131cを、テーブル記憶領域652から読み出す。
そして、サムネイル表示部615は、ディスプレイ情報650の配置番号格納領域150aに格納される番号と一致するマトリクステーブルの各区画に、サムネイル格納領域150cに格納されるサムネイル65を割り付けて配置する。また、サムネイル表示部615は、次ページ移動シンボル画像660および前ページ移動シンボル画像670を、表示単位毎の所定の区画に配置して、サムネイル画面610を生成する。
さらに、サムネイル表示部615は、更新時間格納領域150dに最新の時間が格納されるサムネイルにカーソル690を配置して、当該サムネイルが存在する表示単位を、表示部16に表示させる。さらに、サムネイル表示部615は、動き解析部612からのカーソル690の移動指示を受け付けると、指示方向のサムネイルへカーソル690を移動させる。
なお、サムネイル表示部615は、利用者によって画面切換スイッチがオフに切り換えられ、電源制御部214によって動き解析部612への電力供給が停止されたことを検出すると、カーソル690の位置する区画のサムネイル65に対応する再現情報の再現指示を、画面切換部613へと出力する。
動き解析部612は、図7に示す第1の実施形態に係る動き解析部112とほぼ同様の処理を実行するが、指示方向へのカーソルの移動指示を出力する点において第1の実施形態とは異なる。
図7のステップ124において、動き解析部612は、指示方向へのカーソル690の移動指示をサムネイル表示部615へと出力する。
画面切換部613は、仮想画面生成部611およびサムネイル表示部615からの再現情報の再現指示に従って、元画面を再現する。
以下、サムネイル表示部615の実行する処理について、図20を参照しながら説明する。図20は、サムネイル表示部615がサムネイル画面を生成する際の処理を示すフローチャートである。
サムネイル表示部615は、利用者によって画面切換スイッチがオンに切り換えられ、電源制御部214によって動き解析部612への電力供給が開始されたことを検出すると、当フローを開始する。
サムネイル表示部615は、まず、主制御部110により特定のプログラムが起動中か否かを検出する(S611)。起動中であれば(S611でYES)、ステップ612へ進み、起動中でなければ(S612でNO)、ステップ614へと進む。
特定のプログラムが起動中の場合(S611でYES)、サムネイル表示部は、再現情報、サムネイルおよび時間を取得して、起動中のプログラムに関するディスプレイ情報650へと格納する。
そして、サムネイル表示部615は、起動中のプログラムの終了指示を主制御部110へと出力して、起動中の特定のプログラムを終了させる(S613)。
次に、サムネイル表示部615は、サムネイル画面610を生成して、表示部16へと表示させる(S614)。具体的に、サムネイル表示部615は、ディスプレイ情報650の数から利用するマトリクステーブル6131を特定して、サムネイル65と、次ページ移動シンボル画像660および前ページ移動シンボル画像670と、を所定の区画に割り振って配置する。そして、更新時間格納領域150dに最新の時間が格納されるサムネイル65にカーソル690を配置して、当該サムネイル65が存在する表示単位を、表示部16に表示させる。
続いて、サムネイル表示部615は、動き解析部612からのカーソル690の移動指示を受け付ける(S615)。カーソル690の移動指示があった場合には(S615でYES)、指示方向へカーソル690を移動させる(S616)。移動指示が無かった場合には(S615でNO)ステップ617へと進む。
なお、ステップ616において、カーソル690の移動先が次ページ移動シンボル画像660であった場合には、表示部16の表示させる表示単位を、連続する次の表示単位へと切り換えて、表示単位中で一番小さい配置番号を有するサムネイル65にカーソル690を配置する。また、カーソル690の移動先が前ページ移動シンボル画像670であった場合には、表示部16の表示させる表示単位を、連続する前の表示単位へと切り換えて、表示単位中で一番大きい配置番号を有するサムネイル65に、カーソル690を配置する。
次に、サムネイル表示部615は、利用者によって画面切換スイッチがオフに切り換えられ、電源制御部214によって動き解析部612への電力供給が停止されたか否かを検出する(S617)。動き解析部612への電力供給が停止されていない場合には(S617でNO)、ステップ615へ戻って処理を繰り返す。動き解析部612への電力供給が停止された場合には(S617でYES)、カーソル690の位置に存在するサムネイル65に対応する再現情報の再現指示を画面切換部613へと出力し(S618)、サムネイル画面の表示を終了させて(S619)、処理を終了する。
なお、サムネイル画面の生成に利用可能なマトリクステーブルおよび各区画に割り振られた配置番号は、上記のものに限定されない。
また、カーソル690が左右方向へ移動する度に、表示単位をマトリクステーブルの列毎にスライドさせて、カーソル690の存在する列を常に画面上の中心に配置するような構成としても良い。
さらに、カーソル690は上記のような枠状に限らず、矢印等の画像を用いても良い。
上記のような構成によれば、利用者は、サムネイル画面に表示されるサムネイルを見れば、どの方向に存在する仮想画面においてどのような処理を実行していたのかを、一目で知ることが可能であり、余計な頭部の動きを行うこと無しに、所望する画面を表示させることが可能である。
次に、第7の実施形態に係るHMD7について説明する。本実施形態に係るHMD7は、初期動作として利用者が正面を向いている際の基準角度(オフセット角度)と、利用者の頭部の動きの雛型となる記憶角度を取得し、これらに基づいて利用者の頭部の動きを検出する。以下、第1の実施形態と比較して異なる点について説明する。
図21は、本発明の第7の実施形態に係るHMD7の機能的な構成を示すブロック図である。
制御部701は、主制御部110と、仮想画面生成部111と、動き解析部712と、画面切換部113と、情報生成部714と、を有する。
情報生成部714は、HMD7に電源が投入されると、利用者に正面を向いて静止状態でいることを要求し、この位置を基準角度(0°)として設定する。なお、利用者への要求は例えば、表示部16に「正面を向いて静止してください」等のメッセージを表示部16に表示させても良いし、音声で利用者に通知しても良い。
さらに、情報生成部714は、利用者に上下左右の各方向へ頭部を動かすように要求し、各方向について基準の旋回角度である記憶角度を得る。
まず、情報生成部714は、各方向への頭部の動きから取得した電圧値より基準値を減じて、真の角速度rを求める。そして、情報生成部714は、角速度rを積分演算して角度変化値dを順次算出し、取得しておいた基準角度からの相対的な旋回角度をそれぞれ算出する。
そして、情報生成部714は、図22に示すような基準情報750を生成し、記憶角度格納領域750aに、取得した各方向の記憶角度をそれぞれ格納する。生成した基準情報750は、基準情報記憶領域753へと記憶させる。
なお、各方向の記憶角度のうち最小のものを、全方向の記憶角度として利用しても良い。
次に、情報生成部714は、上記算出した記憶角度から、利用者が画面の切り換え動作を実行する際に必要な旋回角度の範囲である、基準範囲を定める。利用者は、基準範囲内の旋回角度を一定時間維持することで、指示方向への連続した画面の切り換えを実行することが可能である。
基準範囲は、記憶角度の前後に余裕を持たせた範囲として設定される。例えば、右方向の記憶角度が70°であった場合には60〜80°が、左方向の記憶角度が60°であった場合には50〜70°が基準範囲として定められ、各方向ごとに基準範囲格納領域750bに格納される。
動き解析部712は、図示しないタイマを有し、利用者の頭部の旋回角度が一定時間、基準範囲内に維持されているか否かを検出する。
動き解析部712が実行する具体的な処理について、図23を参照しながら説明する。
動き解析部712は、角速度センサ180から、所定の周期毎に出力される電圧値を受け付ける(S721)。
そして、動き解析部712は、電圧値から基準値を減じて、角速度rを算出する。次に、角速度rを積分演算して角度変化値dを順次算出し、予め設定した基準角度からの角度変化値dを積算して、各旋回方向における旋回角度を算出する(S722)。
さらに、動き解析部712は、ステップ722で得られた上下方向および左右方向における旋回角度のうち最大の値が、基準範囲内にあるか否かを検出する(S723)。
具体的に、動き解析部712は、最大の旋回角度を有する指示方向と一致する方向の基準範囲を、基準範囲格納領域750bから読み出す。そして、旋回角度が基準範囲内にあるか否かを検出する。旋回角度が基準範囲内にある場合には(S723でYES)ステップ724へ進み、基準範囲内に無い場合には(S723でNO)、タイマが動作中であればタイマを停止させ(S728)、ステップ721へ戻って処理を繰り返す。
旋回角度が基準範囲内にあった場合(S723でYES)、動き解析部712は、タイマが動作中であるか否かを検出する(S724)。タイマが動作中であれば(S724でYES)ステップ725へと進み、タイマが動作中でなければ(S724でNO)タイマをスタートさせて(S727)、ステップ721へ戻って処理を繰り返す。
タイマが動作中であった場合(S724でYES)、動き解析部712は、タイマの累積時間が予め定められた閾値以上であるか否かを検出する(S725)。閾値以上でなかった場合には(S725でNO)、ステップ721へ戻って処理を繰り返す。閾値以上であった場合には(S725でYES)、画面切換部113へ指示方向への画面切換指示を出力して(S726)、タイマを停止させ(S727)、処理を終了する。
上記のような構成によれば、本実施形態に係るHMD7は、利用者の平均的な頭部の動きを基準情報として取得しておくことによって、利用者の意図しない画面の切り換え動作を防止し、利用者の頭部の動きに合わせた動作を実行することが可能である。
次に、第8の実施形態に係るHMD8について説明する。本実施形態に係るHMD8は、第7の実施形態に係るHMD7と同様に、初期動作として基準角度および記憶角度を取得する。さらに、HMD8は、仮想配置上で上下左右に存在する仮想画面の数から、1つの画面の切換操作に必要な旋回角度を算出して、一回の頭部の旋回動作により、複数の画面を切り換えることを可能にする。
図24は、本発明の第8の実施形態に係るHMD8の機能的な構成を示すブロック図である。
操作部27は、第2の実施形態と同様の構成であり、画面切換スイッチを有している。
制御部801は、主制御部110と、仮想画面生成部111と、動き解析部812と、画面切換部813と、情報生成部814と、電源制御部214と、を有する。
電源制御部214は、図示しない電源と接続され、操作部27からモードオフ信号を受け付けると、電源から動き解析部112への電力供給を停止させ、モードオン信号を受け付けると、電源から動き解析部112への電力供給を開始させる。
情報生成部814は、第7の実施形態に係る情報生成部714と同様の処理を実行して、図22に示すような基準情報750を生成する。
また、情報生成部814は、利用者によって画面切換スイッチがオンに切り換えられ、電源制御部214によって動き解析部112への電力供給が開始されたことを検出すると、図25に示すような切換情報850を生成して、切換情報記憶領域854へと格納する。
具体的に、情報生成部814は、まず、ディスプレイ情報記憶領域151に蓄積されるディスプレイ情報150の数を取得して、テーブル記憶領域152から利用するマトリクステーブルを特定する。そして、起動中のプログラムに関するディスプレイ情報150から、実画面の配置番号を特定し、これを基準の配置番号として、切換情報850の基準配置番号格納領域850aへと格納する。
次に、情報生成部814は、仮想配置上で実画面を基準として指示方向に存在する仮想画面の数を検出する。そして、情報生成部814は、基準情報750の記憶角度格納領域750aに格納される各方向の記憶角度を読み出して、一致する方向に存在する仮想画面の数で除算し、これを一画面切換角度として一画面切換角度格納領域850bへ、各方向ごとに格納する。
ここで、一画面切換角度について、図26(a)および図26(b)を参照しながら説明する。一画面切換角度とは、一画面の切換操作に必要な利用者の頭部の旋回角度である。例えば、図26(a)に示すように、情報生成部814は、動き解析部112への電力供給を開始された時点で、表示部16に表示される実画面の配置番号が「5」であることを検出して、これを基準の配置番号として設定する。
ここで例えば、右方向の記憶角度が45°であった場合、これを配置番号「5」の右方向に存在する仮想画面の数3で割った右方向の一画面切換角度は15°となる。従って、利用者の右方向への頭部の旋回角度が15°増すごとに、実画面は基準の配置番号「5」の右方向に存在する仮想画面へ移動する。
また、各方向の一画面切換角度には、それぞれ予め下限角度が設定されている。例えば、算出された一画面切換角度が15°であっても、下限角度が20°である場合には、実際の一画面切換角度は20°となる。
しかしながら、下限角度が一画面切換角度として設定された場合には、利用者が記憶角度だけ頭部を旋回させても、当該方向に存在する仮想画面全てを一度に切り換えることが出来なくなる。例えば、右方向に存在する仮想画面の数が3、右方向の一画面切換角度(下限角度)が20°、右方向の記憶角度が45°の場合、利用者が一度の旋回操作(記憶角度45°)で切換可能な画面切換数は2であり、図26(b)に示すように、基準の配置番号「5」から右方向へ2つ先の仮想画面(配置番号「7」)までとなる。
そこで、動き解析部812は、算出した一画面切換角度が下限角度以下である際には、記憶角度以上の角度が一定時間維持された場合に、実画面を基準として指示方向に存在する次の仮想画面へ、実画面を移行させる。すなわち、利用者は、基準の配置番号「5」から右方向へ2つ先の仮想画面(配置番号「7」)への移動を、右方向の記憶角度45°以上の頭部の旋回動作で行った後、そのままの旋回角度を一定時間維持し続ければ、さらに次の仮想画面(配置番号「8」)へと実画面を切り換えることが可能である。
画面切換部813は、動き解析部812からの画面切換指示、および、仮想画面生成部111からのディスプレイ情報150の再現指示に従って、画面の切り換え動作を実行する。
なお、画面切換部813は、動き解析部812からの画面切換指示に画面切換数を示す情報が含まれている場合には、この数が1以上であるか否かを検出して、1以上でない場合には、利用者の頭部の動きが一画面切換角度に達していないため、画面を切り換えずに処理を終了する。
画面切換数が1以上である場合には、画面切換部813は、切換情報850の基準配置番号格納領域850aから基準配置番号を読み出して、当該基準の配置番号から指示方向に画面切換数だけ先に存在する仮想画面を、実画面として再現する。
以下、動き解析部812の実行する処理について、図27を参照して説明する。図27は、動き解析部812が利用者の頭部の動きを検出し、画面切換指示を出力する処理を示すフローチャートである。
動き解析部812は、利用者によって画面切換スイッチがオンにされ、電源制御部214によって電源からの電力供給が開始されると、以下のフローを開始する。
まず、動き解析部812は、角速度センサ180から出力される電圧値を受け付ける(S801)。
次に、動き解析部812は、電圧値から基準角度を減じて角速度rを算出する。そして、角速度rを積分演算して角度変化値dを順次算出し、これを積算して、基準角度からの相対的な旋回角度を算出する(S802)。
次に、動き解析部812は、記憶角度以上の角度が一定期間維持されているか否かを特定する、図示しないタイマが動作中であるか否かを検出する(S803)。タイマが動作中であれば(S803でYES)、ステップ810へと進み、タイマが動作中でなければ(S803でNO)、ステップ804へと進む。
動き解析部812は、タイマが動作中でなかった場合(S803でNO)、情報生成部814によって算出された一画面切換角度が、予め定められた下限角度以下であるか否かを判断する(S804)。具体的に、動き解析部812は、切換情報850の一画面切換角度格納領域850bから指示方向(ステップ802で算出した旋回角度が最大の旋回方向)と一致する一画面切換角度を読み出して、予め定められた下限角度と比較する。一画面切換角度が下限角度以下であった場合には(S804でYES)、ステップ807へと進み、下限角度以下でなかった場合には(S804でNO)、ステップ805へと進む。
一画面切換角度が下限角度以下でなかった場合(S804でNO)、動き解析部812は、指示方向への画面切換数を算出する(S805)。具体的に、動き解析部812は、ステップ802において算出した指示方向への旋回角度を、一致する方向の一画面切換角度で除算する。この解の小数点以下を切り捨てた絶対値が、基準配置番号から指示方向への画面切換数となる。
そして、動き解析部812は、ステップ805で算出した画面切換数および指示方向を示す情報を含む画面切換指示を、画面切換部813へと出力して(S806)、ステップ801へと戻って処理を繰り返す。
一画面切換角度が下限角度以下であった場合(S804でYES)、動き解析部812は、ステップ802において算出した指示方向への旋回角度が、基準情報750の記憶角度格納領域750aに格納される同方向の記憶角度以上か否かを検出する(S807)。旋回角度が記憶角度以上でなかった場合には(S807でNO)、ステップ808へと進み、旋回角度が記憶角度以上であった場合には(S807でYES)、ステップ810へと進む。
旋回角度が記憶角度以上でなかった場合(S807でNO)、動き解析部812は、ステップ802において算出した指示方向への旋回角度を、一致する方向の下限角度で除算する(S808)。そして、この解の小数点以下を切り捨てた絶対値を画面切換数として取得し、当該画面切換数および指示方向に関する情報を含む画面切換指示を、画面切換部813へと出力して(S809)、ステップ801へと戻って処理を繰り返す。
旋回角度が記憶角度以上であった場合(S807でYES)、動き解析部812は、指示方向の記憶角度を読み出して、一致する方向の下限角度で除算する(S810)。そして、この解の小数点以下を切り捨てた絶対値を画面切換数として取得する。さらに、動き解析部812は、当該画面切換数および指示方向に関する情報を含む画面切換指示を、画面切換部813へと出力する(S811)。そして、記憶角度以上の旋回角度が維持されるか否かを判断するためのタイマをスタートさせて(S812)、ステップ801へと戻って処理を繰り返す。
ステップ803においてタイマが動作中であった場合(YES)、動き解析部812は、ステップ802において算出した指示方向への旋回角度が、一致する方向の記憶角度以上であるか否かを検出する(S813)。旋回角度が記憶角度以上でなかった場合には(S813でNO)、タイマを停止させて(S816)、ステップ801へと戻って処理を繰り返す。旋回角度が記憶角度以上であった場合には(S813でYES)、ステップ814へと進む。
旋回角度が記憶角度以上であった場合には(S813でYES)、動き解析部812は、タイマの累積時間が、予め定められた所定の閾値以上であるか否かを判断する(S814)。タイマの累積時間が閾値以上でなければ(S814でNO)、ステップ801へと戻って処理を繰り返す。タイマの累積時間が閾値以上であれば(S814でNO)、記憶角度以上の旋回角度が一定時間維持されたと判断して、表示部16に表示中の実画面から見て、指示方向に存在する1つ先の仮想画面への画面切換指示を、画面切換部813へと出力してタイマを停止させ(S816)、ステップ801へと戻って処理を繰り返す。
次に、画面切換部813が実行する処理について、図28を用いて説明する。図28は、画面切換部813が、動き解析部812からの画面切換指示を受け付けて、画面の切り換え動作を実行する際の流れを示すフローチャートである。
まず、画面切換部813は、起動中のプログラムに関するディスプレイ情報から、実画面の配置番号を取得する(S831)。そして、蓄積されているディスプレイ情報の数を検出して、テーブル記憶領域152から、利用するマトリクステーブルを特定する(S832)。
次に、画面切換部813は、動き解析部812からの画面切換指示に、画面切換数を示す情報が含まれているか否かを検出する(S833)。情報が含まれている場合には(S833でYES)、ステップ834へと進み、情報が含まれていない場合には(S833でNO)、ステップ835へと進む。
画面切換指示に、画面切換数を示す情報が含まれている場合(S833でYES)、画面切換部813は、当該画面切換数が1以上の値であるか否かをさらに検出する(S834)。
画面切換数が1以上の値である場合には(S834でYES)、ステップ835へと進み、画面切換数が1以上の値でない場合には(S834でNO)、処理を終了する。
続いて、画面切換部813は、実画面を仮想画面へと変換する。具体的に、画面切換部813は、実画面に関する再現情報を取得して、再現情報格納領域150bへと格納し(S835)、起動中のプログラムの終了指示を、主制御部110へと出力する(S836)。
その後、画面切換部813は、仮想画面を実画面へと変換する。具体的に、画面切換部813は、切り換え先の仮想画面の配置番号を特定する(S837)。
ここで、画面切換部813は、画面切換指示に画面切換数を示す情報が含まれていない場合には、実画面の配置番号から見て指示方向に存在する次の配置番号を、切り換え先として特定する。また、画面切換指示に画面切換数を示す情報が含まれている場合には、切換情報850から基準配置番号を読み出して、基準の配置番号から指示方向に画面切換数だけ先に存在する仮想画面の配置番号を、切り換え先として特定する。
そして、画面切換部813は、ステップ837で取得した切り換え先のディスプレイ情報150の格納する再現情報から元画面を再現し(S838)、処理を終了する。
以上、制御部801が、利用者の頭部の動きを検出して、画面を切り換える際の処理について説明した。
上記のような構成によれば、利用者は、一度の頭部の旋回動作で複数の画面の切り換えることが可能であり、簡便な動作でより早く所望する画面を表示させることができる。
なお、以上に記載した各実施形態は、いずれも利用者の頭頂部に頭部装着帯を回すヘッドアーム式となっているが、このような態様に限定されず、例えば、利用者の後頭部に頭部装着帯を回すリアアーム式のものにすることも可能である。
また、以上に記載した各実施形態は、いずれも左右眼の一方の眼に対応する位置に表示部を形成した片眼タイプのものであるが、両眼に対応する位置に表示部を形成した両眼タイプとしても良い。
なお、以上に記載した各実施形態は、いずれも利用者の頭部の動きを検出して切り換え処理を実行するものであるが、このような態様に限定されず、例えば、眼球の動きを痕跡外LEDとCCDカメラによって計測するような視線入力手段を備え、視線入力によって利用者の切り換え操作を検出するような構成としても良い。
また、各実施形態に係るHMDは、上述したような一体型に限定されず、電源および制御系を映像系とは別に有する分離型の態様としても良い。
1・2・3・4・5・6・7・8:HMD、10・20・30・40・50・60・70・80:制御装置、11:頭部装着帯、12:音声出力部、13A、13B:筐体、14:支持部、15:アーム部、16:表示部、17・27:操作部、18:頭部動き検出部、101・201・301・401・501・601・701・801:制御部、102・402・502・602・702・802:記憶部、103・203:入出力インターフェース部。