説明

ヘッドマウントディスプレイ

【課題】物理的なボタンを触ることなく、画面の切替等の操作をすることができるヘッドマウントディスプレイを提供する。
【解決手段】各コマンドが割り当てられた仮想パネルが奥行き方向に積層配置された立体視画像である仮想パネル画像を生成し、前記画像生成部に出力する仮想パネル生成手段と、前記ユーザの手の奥行き方向位置及び動作を検出する手位置動作検出手段と、前記手位置動作検出手段が検出した前記ユーザの手の奥行き方向位置及び動作から、前記ユーザの前記仮想パネルの選択動作を検出し、当該仮想パネルに割り当てられたコマンドを選択するコマンド選択手段を有することを特徴とするヘッドマウントディスプレイ。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザの頭部に装着して、画像を見ることができるヘッドマウントディスプレイに関するものである。
【背景技術】
【0002】
従来から、特許文献1に示されるようなヘッドマウントディスプレイが知られている。このようなヘッドマウントディスプレイは、ユーザの頭部に装着される頭部装着部と、この頭部装着部の前部に取り付けられ、ユーザに画像を視認させる画像生成部とから構成されている。このようなヘッドマウントディスプレイは、今後、生産工場等の作業現場で多用されることが想定される。例えば、画像生成部が、指示書や設計図を作業者に視認させれば、作業者は、必要に応じて指示書や設計図を見ることにより、より確実な作業を行うことができる。作業者は、紙媒体の指示書や設計図を手に取って見る必要がないので、作業を中止することなく、作業をしながら、画像表示部に表示された指示書や設計図を見ることができるので、作業性が向上するだけでなく、作業ミスを防止することが可能となる。
【0003】
画像生成部で生成される画像を切り替えるには、従来、物理的なボタンを押下する必要があったが、手に油が付着している場合には、前記ボタンが油で滑ってしまい、前記ボタンを操作するのが難しいという問題があった。また、油等で手が汚れている場合には、前記ボタンやその周辺が汚れてしまうという問題があった。さらに、前記ボタンはヘッドマウントディスプレイに設けられているので、ヘッドマウントディスプレイ装着中は直接ボタンを見ることができず、手探りで操作しなければならず、作業性が悪化してしまうという問題があった。
【0004】
【特許文献1】特開平9−211374号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、上記問題を解決し、物理的なボタンを触ることなく、画面の切替等の操作をすることができるヘッドマウントディスプレイを提供するためになされたものである。
【課題を解決するための手段】
【0006】
上記課題を解決するためになされた請求項1に記載の発明は、ユーザの頭部に装着される頭部装着部と、
前記頭部装着部に取り付けられ、前記ユーザに画像を視認させる画像生成部を有するヘッドマウントディスプレイにおいて、
各コマンドが割り当てられた仮想パネルが奥行き方向に積層配置されたように視認される画像である仮想パネル画像を生成し、前記画像生成部に出力する仮想パネル生成手段と、
前記ユーザの手の奥行き方向位置及び動作を検出する手位置動作検出手段と、
前記手位置動作検出手段が検出した前記ユーザの手の奥行き方向位置から、前記ユーザが選択しようとしている仮想パネルを検出し、前記ユーザの選択動作から、当該仮想パネルに割り当てられたコマンドを選択するコマンド選択手段を有することを特徴とする。
【0007】
請求項2に記載の発明は、請求項1に記載の発明において、
手位置動作検出手段を、
間隔をおいて頭部装着部の前部に取り付けられた複数の撮像装置と、
前記各撮像装置が撮像した撮像画像から、ユーザの手の撮像座標を算出し、当該各撮像座標から、前記ユーザの手の奥行き方向の座標を算出する手座標算出手段とから構成し、
コマンド選択手段は、前記手座標算出手段が算出した前記ユーザの手の奥行き方向の座標に基づいて、前記ユーザの手の奥行き方向の位置及び動作を算出し、当該ユーザの手の奥行き方向の位置及び動作に基づいて、仮想パネルに割り当てられたコマンドを選択することを特徴とする。
【0008】
請求項3に記載の発明は、請求項1に記載の発明において、
手位置動作検出手段を、
間隔をおいて頭部装着部の前部に取り付けられた複数の撮像装置と、
前記各撮像装置が撮像した撮像画像から、ユーザの手の撮像座標を算出し、当該各撮像座標から、前記ユーザの手の奥行き方向の座標を算出する手座標算出手段と、
ユーザの手の動作を検出し手動作信号を生成する、ユーザの手に取り付けられたセンサとから構成し、
コマンド選択手段は、
前記手座標算出手段が算出した前記ユーザの手奥行き方向の座標に基づいて、ユーザが選択しようとしている仮想パネルを認識し、
前記センサが検出した手動作信号から、ユーザの前記仮想パネルの選択動作を判断し、当該仮想パネルに割り当てられたコマンドを選択することを特徴とする。
【0009】
請求項4に記載の発明は、請求項1〜請求項3に記載の発明において、
仮想パネル生成手段は、
仮想パネル画像を生成する前に、
ユーザから近位置及び遠位置に仮想的に表示されるマーカ画像を生成して画像生成部に出力し、
ユーザの各マーカ画像の選択動作から手位置動作検出手段が検出したユーザの手の奥行き方向の位置情報から、前記遠位置及び近位置の奥行き方向の座標を算出し、
算出された前記近位置及び遠位置の間に、複数の仮想パネルを、積層配置して仮想パネル画像を生成することを特徴とする。
【0010】
請求項5に記載の発明は、請求項1〜請求項4に記載の発明において、
仮想パネル生成手段は、コマンド選択手段が検出したユーザの手のある位置の仮想パネルを、強調表示することを特徴とする。
【0011】
請求項6に記載の発明は、請求項1〜請求項5に記載の発明において、
コマンド選択手段は、手位置動作検出手段が検出したユーザの手の位置が、一定時間以上、所定範囲内にあると判断した場合に、前記手位置動作検出手段が検出したユーザの手のある位置の仮想パネルを選択することを特徴とする。
【0012】
請求項7に記載の発明は、請求項1〜請求項5に記載の発明において、コマンド選択手段は、手位置動作検出手段が検出したユーザの手の動作が、予め設定されている選択動作であると判断した場合に、前記手位置動作検出手段が検出したユーザの手のある位置の仮想パネルを選択することを特徴とする。
【発明の効果】
【0013】
請求項1に記載の発明は、各コマンドが割り当てられた仮想パネルが奥行き方向に積層配置されたように視認される画像である仮想パネル画像を生成し、前記画像生成部に出力する仮想パネル生成手段と、前記ユーザの手の奥行き方向位置及び動作を検出する手位置動作検出手段と、前記手位置動作検出手段が検出した前記ユーザの手の奥行き方向位置から、前記ユーザが選択しようとしている仮想パネルを検出し、前記ユーザの選択動作から、当該仮想パネルに割り当てられたコマンドを選択するコマンド選択手段を有することを特徴とする。
このため、ユーザが物理的なボタンを触ることなく、画面の切替等の操作をすることが可能となる。
なお、ユーザの頭がわずかでも動いた場合、ヘッドマウントディスプレイが表示する仮想パネルと検出された手の位置は、ユーザの視線方向に垂直な面方向では、大きくずれてしまうが、ヘッドマウントディスプレイに対するユーザの手の奥行き方向の位置関係はほぼ変化しない。通常、ヘッドマウントディスプレイを装着したユーザの頭は絶えずわずかながらでも動いているが、このようなユーザの頭の自然な動きがあっても、本発明では、ヘッドマウントディスプレイに対するユーザの手の奥行き方向の位置を検知して、コマンドを選択することとしたので、仮想パネルとユーザの手の奥行き方向の位置関係はほぼ変化しないことから、極めて誤検出の少なく、信頼性が高く、コマンドを選択することが可能となる。
また、ユーザの頭部がどの方向を向いたとしても、画像表示部で仮想パネル画像を表示することができ、ユーザが不自然な作業を強いられる状況下であっても、ユーザは仮想パネルに割り当てられたコマンドを選択することが可能となり、大変利用価値が高い。
【0014】
請求項2に記載の発明は、手位置動作検出手段を、間隔をおいて頭部装着部の前部に取り付けられた複数の撮像装置と、前記各撮像装置が撮像した撮像画像から、ユーザの手の撮像座標を算出し、当該各撮像座標から、前記ユーザの手の奥行き方向の座標を算出する手座標算出手段とから構成し、コマンド選択手段は、前記手座標算出手段が算出した前記ユーザの手の奥行き方向の座標に基づいて、前記ユーザの手の奥行き方向の位置及び動作を算出し、当該ユーザの手の奥行き方向の位置及び動作に基づいて、仮想パネルに割り当てられたコマンドを選択することを特徴とする。
このため、コマンドを選択するための、センサをユーザが手に装着する必要がなく、手を自由に使うことができる。
また、ユーザの頭が揺れたとしても、ユーザの頭の動きにつれて複数の撮像装置も動き、撮影装置に対するユーザの手の位置が変化しても、複数の撮像装置が撮像するユーザの手の視差は変わらないので、ヘッドマウントディスプレイに対するユーザの手の奥行き方向の座標を安定して検出することができる。
【0015】
請求項3に記載の発明は、手位置動作検出手段を、間隔をおいて頭部装着部の前部に取り付けられた複数の撮像装置と、前記各撮像装置が撮像した撮像画像から、ユーザの手の撮像座標を算出し、当該各撮像座標から、前記ユーザの手の奥行き方向の座標を算出する手座標算出手段と、ユーザの手の動作を検出し手動作信号を生成する、ユーザの手に取り付けられたセンサとから構成し、コマンド選択手段は、前記手座標算出手段が算出した前記ユーザの手奥行き方向の座標に基づいて、ユーザが選択しようとしている仮想パネルを認識し、前記センサが検出した手動作信号から、ユーザの前記仮想パネルの選択動作を判断し、当該仮想パネルに割り当てられたコマンドを選択することを特徴とする。
このため、ユーザの頭が動いて、撮像装置で手が振られた動作のように撮像されたとしても、ユーザの手に取り付けられたセンサで、仮想パネルの選択動作を検出するので、ユーザの頭の動きにより、仮想パネルが誤選択されることを確実に防止し、ユーザが選択を所望する仮想パネルを確実に検出することが可能となる。
【0016】
請求項4に記載の発明は、仮想パネル生成手段は、仮想パネル画像を生成する前に、ユーザの眼球から近位置及び遠位置に仮想的に表示されるマーカ画像を生成して画像生成部に出力し、ユーザの各マーカ画像の選択動作から手位置動作検出手段が検出したユーザの手の奥行き方向の位置情報から、前記遠位置及び近位置の奥行き方向の座標を算出し、算出された前記近位置及び遠位置の間に、複数の仮想パネルを、積層配置して仮想パネル画像を生成することを特徴とする。
このように、マーカ画像の奥行き方向の位置としてユーザが認識したい位置と、手の奥行き方向の実際の位置との対応を、ユーザ自身が決定することができるようにすると、奥行き方向に積層配置されたようにユーザが感じるよう平面上に表示された仮想パネルであっても、ユーザごとの個人差を吸収し、ユーザが操作しやすい手の動作範囲に仮想パネルを生成することが可能となる。
【0017】
請求項5に記載の発明は、仮想パネル生成手段は、コマンド選択手段が検出したユーザの手のある位置の仮想パネルを、強調表示することを特徴とする。
このため、ユーザは、コマンドを選択する前に、選択しようとしているコマンドに対応する仮想パネルを確認することができ、誤操作を回避することが可能となる。
仮想パネルは奥行き方向に積層配置されたようにユーザが感じるよう表示されているが、平面映像のため、積層されて見える仮想パネルの位置と手の奥行き方向の位置の対応が取りにくい。しかし、請求項5に記載の発明では、手のある位置の仮想パネルを強調表示することにしたので、強調表示された仮想パネルを見ながら手の奥行き位置を、ユーザが調整して誤りなく所望の仮想パネルを選択することが可能となる。
【0018】
請求項6に記載の発明は、コマンド選択手段は、手位置動作検出手段が検出したユーザの手の動作が、一定時間以上、所定範囲内にあると判断した場合に、前記手位置動作検出手段が検出したユーザの手のある位置の仮想パネルを選択することを特徴とする。
このため、ユーザが手を一定時間以上停止させるという簡単な操作で、コマンドを選択することができ、ユーザフレンドリーである。
【0019】
請求項7に記載の発明は、コマンド選択手段は、手位置動作検出手段が検出したユーザの手の動作が、予め設定されている選択動作であると判断した場合に、前記手位置動作検出手段が検出したユーザの手のある位置の仮想パネルを選択することを特徴とする。
このため、予め設定されている選択動作でしか、コマンドが選択されないので、誤ってコマンドを選択してしまうことを回避することが可能となる。なお、撮像装置が手を撮像しているときに、手を止めて頭を動かしても生じないような手の動作を、選択動作として予め設定しておけば、頭が動いても誤検出することなくユーザの手のある位置の仮想パネルを選択することができる。
【発明を実施するための最良の形態】
【0020】
(本発明のヘッドマウントディスプレイの概要)
以下に、図面を参照しつつ本発明の好ましい実施の形態を示す。図1は第1の実施形態のヘッドマウントディスプレイ100の全体図である。第1の実施形態のヘッドマウントディスプレイ100は、頭部装着部10、画像生成部20、撮像装置31、32、制御部40とから構成されている。
【0021】
頭部装着部10は、図に示される実施形態では、眼鏡のフレーム形状であるが、ヘルメット形状等であってもよく、ユーザの頭部に装着される構造のものであれはすべて含まれる。
【0022】
画像生成部20は、頭部装着部10の側前部に取り付けられている。画像生成部20は、画像を生成し、当該画像をユーザに視認させるものである。本実施形態では、レーザ光を直接ユーザの眼球に走査することにより、ユーザに画像を視認させている。前記画像には、静止画像ファイル、文章ファイル、動画ファイルが含まれる。ユーザは、画像生成部20が生成する画像を視認すると同時に、外界を視認することができるようになっている。図1に示される実施形態では、画像生成部20は、頭部装着部10の一方の側前部に取り付けられているが、画像生成部20を頭部装着部10の両側前部に取り付け、ユーザが、両眼で画像生成部20が生成する画像を視認する構成にしても差し支えない。
【0023】
撮像装置31、32は、一定間隔をおいて頭部装着部10の前部に取り付けられている。撮像装置31、32は、イメージセンサや結像光学系等から構成されている。
【0024】
制御部40は、本発明のヘッドマウントディスプレイ100を制御するものであり、画像生成部20、撮像装置31、32と接続している。
【0025】
図2及び図3に本発明の概要を、説明図を示して、以下本発明の概要を説明する。図2はユーザの視界を表した図である。500は、画像生成部20が生成する仮想パネル画像である。仮想パネル画像500は、複数の仮想パネル501を、奥行き方向(ユーザ視線の手前から遠い方向)に積層配置したように見える画像である。図に示した実施形態では、ユーザから見て上方からやや見下ろすように、仮想パネル501を表示している。つまり、手前の仮想パネル501ほど、仮想パネル501の下端を下側に表示し、奥の仮想パネル501ほど、仮想パネル501の上端を、上側に表示している。各仮想パネル501には、各コマンドが割り当てられている。
【0026】
ユーザの手(指)601が、ある仮想パネル501に、一定時間以上ある場合には、当該仮想パネル501に対応するコマンドが実行されるようになっている。第1の実施形態では、図3の(A)に示されるように、左右の撮像装置31、32がユーザの手(指)601の奥行き方向の座標(z)を検出し、制御部40が仮想パネル501に、ユーザの手(指)601が一定時間以上あるか否かを判断する。なお、ユーザの手(指)601が、ある仮想パネル501にあるとは、例えば、奥の方に積層配置された仮想パネル501を選択する場合には、手前にある仮想パネル501を順次突き抜けた先にある仮想パネル501に、ユーザの手(指)601があることをいう。図2の(B)に示される実施兄弟では、ユーザの手(指)601は、1番の仮想パネル501a及び2番の仮想パネル501bを突き抜け、3番の仮想パネル501cは突き抜けていないので、手前から奥の方に向かって、ユーザの手(指)601が仮想パネル501a、bを突き抜けた先にある3番の仮想パネル501cが選択されることになる。
【0027】
なお、ユーザの頭がわずかでも動いた場合、画像生成部20が表示する仮想パネル501と、検出されたユーザの手(指)601の位置は、ユーザの視線方向に垂直な面方向では、大きくずれてしまうが、ヘッドマウントディスプレイ100に対するユーザの手の奥行き方向の位置関係はほぼ変化しない。通常、ヘッドマウントディスプレイ100を装着したユーザの頭は絶えずわずかながらでも動いているが、このようなユーザの頭の自然な動きがあっても、本発明では、ヘッドマウントディスプレイ100に対するユーザの手の奥行き方向の位置を検知して、コマンドを選択することとしたので、仮想パネルとユーザの手の奥行き方向の位置関係はほぼ変化しないことから、極めて誤検出の少なく、信頼性が高く、コマンドを選択することが可能となる。
【0028】
図2に示されるように、手前から奥に順次所定の間隔を空けて、ユーザを中心として同心円状に積層されているかのような奥行き感を出した仮想パネル501を表示すると、ユーザの頭の動きがあっても、仮想パネル501と奥行き方向の位置関係は変化しないので、更に誤検出の少なく、コマンドを選択することが可能となる。
【0029】
仮想パネル501に割り当てられたコマンドには、画像生成部20で生成する画像を操作するためのコマンドが含まれる。例えば、画像を次に進ませるコマンド、画像を前に戻させるコマンド、画像を拡大・縮小するコマンド、画像の一覧表示を表示するコマンド等が含まれる。なお、仮想パネル画像500は、図12の(B)に示されるように、ツリー構造であっても差し支えない。
例えば、図12の(B)に示される例では、ユーザはツリー階層において「画像選択」のコマンドを選択し、第2階層において「フォルダの一覧を表示」のコマンドを選択し、第3階層において「フォルダaを選択」のコマンドを選択し、第4階層において「フォルダAを選択」のコマンドを選択し、最下階層において「ファイル1を表示」のコマンドを選択すると、ファイル1が画像生成部20で表示される。或いは、ファイルが画像生成部20で表示されている状態において、ユーザが、最下階層において「次のファイルに進む」のコマンドを選択すると、同一フォルダ内の次のファイルが画像生成部20で表示される。
【0030】
(第1の実施形態のヘッドマウントディスプレイのブロック図)
制御部40は、CPU41、RAM42、ROM43、不揮発性メモリ44、右撮像装置コントローラ45、右撮像装置用VRAM46、左撮像装置コントローラ47、左撮像装置用VRAM48、画像生成部コントローラ49、画像生成部用VRAM50、インターフェース51とから構成され、これらは相互にバス55で接続されている。
【0031】
CPU(Central Processing Unitの略)41は、RAM(Random Access Memoryの略)42、ROM(Read Only Memoryの略)43と協動して、各種演算、処理を行うものである。
【0032】
RAM42は、CPU41で処理されるプログラムや、CPU41が処理するデータを、そのアドレス空間に一時的に保存するものである。
【0033】
ROM43には、ヘッドマウントディスプレイ100を制御する各種プログラムやパラメータが保存されている。当該各種プログラムが、CPU41で処理されることにより、各種機能を実現している。ROM43には、後述する仮想パネル生成プログラム43a、手位置検出プログラム43b、手座標算出手段43c、コマンド選択手段43d、手マッチングデータ43e等のプログラムやデータが保存されている。なお、不揮発性メモリ44に、これらプログラムやデータを保存することにしても差し支えない。
【0034】
仮想パネル生成プログラム43aは、画像生成部コントローラ49に、仮想パネル画像500を生成する命令を出力する。なお、仮想パネル画像500を生成する「仮想パネル生成手段」は、仮想パネル生成プログラム43a、CPU41、RAM42、画像生成部コントローラ49、画像生成部用VRAM50とから構成されている。
【0035】
手位置検出プログラム43bは、右撮像装置31及び左撮像装置32が撮像した「撮像画像」から、後述する手マッチングデータ43eと照合し、ユーザの手を検出するともに当該ユーザの手の位置を検出し、「撮像画像」におけるユーザの手の上下(y)・左右(x)の座標位置である「撮像座標」を算出する。
【0036】
手座標算出手段43cは、手位置検出プログラム43bが算出したユーザの手の各「撮像座標」(2次元座標)から、ユーザの手の「手座標」を算出する。なお、「手座標」、とは、ヘッドマウントディスプレイ100を基準とする、ユーザの手の位置の3次元座標である。
【0037】
コマンド選択手段43dは、手座標算出手段43cが算出したユーザの手の位置の「手座標」に基づいて、ユーザの手の奥行き方向の位置及び動作を算出し、当該ユーザの手の奥行き方向の位置及び動作に基づいて、仮想パネル501に割り当てられたコマンドを選択する。
【0038】
手マッチングデータ43eは、多数の手や指等の輪郭を表したデータの集合である。
【0039】
なお、仮想パネル生成プログラム43a、手位置検出プログラム43b、手座標算出手段43c、コマンド選択手段43dを、ASIC(ApplicationSpecific Integrated Circuit)として構成することとしても差し支えない。
【0040】
不揮発性メモリ44は、ヘッドマウントディスプレイ100の各種設定や画像ファイルを保存するものである。
【0041】
右撮像装置コントローラ45は、バス55、右撮像装置31及び右撮像装置用VRAM46と接続している。右撮像装置コントローラ45は、右撮像装置31を制御し、後述する右撮像装置31のイメージセンサの出力を、RGBそれぞれの色について階調表現して「撮像画像」を生成し、右撮像装置用VRAM46に保存する。
【0042】
右撮像装置用VRAM46は、右撮像装置コントローラ45及びバス55と接続している。右撮像装置用VRAM46は、保存された「撮像画像」をバス55に引き渡す。
【0043】
左撮像装置コントローラ47は、左撮像装置32と接続している。左撮像装置コントローラ47は、右撮像装置コントローラ45と同一の構造のものである。左撮像装置用VRAM48は、左撮像装置コントローラ47及びバス55と接続している。左撮像装置用VRAM48は、右撮像装置用VRAM46と同一の構造である。
【0044】
画像生成部コントローラ49は、画像生成部20及び、画像生成部用VRAM50、バス55と接続している。画像生成部コントローラ49は、所謂GPU(Graphics Processing Unit)を有し、仮想パネル生成プログラム43aの命令を受けて、ピクセルデータである仮想パネル画像500を生成し、画像生成部用VRAM50に保存するとともに、画像生成部用VRAM50に保存された仮想パネル画像500を「画像信号」として画像生成部20に出力する。また、画像生成部20は、インターフェース51に入力された「画像信号」や「画像ファイル」から、ピクセルデータである「画像データ」を生成し、画像生成部用VRAM50に保存するとともに、画像生成部用VRAM50に保存された「画像データ」を「画像信号」として画像生成部20に出力する。更に、画像生成部コントローラ49は、画像生成部20に、制御信号を出力する。制御信号には、画像生成部20の電源の投入・遮断、画像位置の調整、ピント調整等の制御信号が含まれる。
【0045】
画像生成部用VRAM50は、画像生成部コントローラ49及びバス55と接続している。画像生成部用VRAM50は、画像生成部コントローラ49が生成した仮想パネル画像500を保存するとともに、当該仮想パネル画像500を画像生成部コントローラ49に出力する。
【0046】
インターフェース51は、信号の物理的、論理的な形式を変換するものである。インターフェース51は、操作スイッチ60、電源ランプ61及びバス55と接続している。操作スイッチ60は、ヘッドマウントディスプレイ100の電源をON・OFF状態にする等の操作を行うためのスイッチである。電源ランプ61は、ヘッドマウントディスプレイ100がON状態の時に点灯するようになっている。また、インターフェース51には、「画像信号」や、「画像ファイル」が入力される。インターフェース51に入力された「画像信号」は、バス55を経由して、画像生成部用VRAM50に入力される。また、インターフェース51に入力された「画像ファイル」は、バス55を経由してRAM42及び不揮発性メモリ44の少なくとも一方に保存される。
【0047】
右撮像装置31及び左撮像装置32は、イメージセンサ及び結像光学系、フォーカス装置を有している。イメージセンサは、センサ面上の光を検出して2次元画像信号を出力するものである。イメージセンサには、CCD(Charge Coupled Device Image SenSor)やCMOS(Complementary Mwtal Oxide Semiconductor)が含まれる。結像光学系は、単一又は複数のレンズで構成され、入光した像を、イメージセンサ上で結像させるものである。フォーカス装置は、結像光学系に入光した像が、イメージセンサ上で結像するように合焦させる装置である。結像光学系で結像された被撮像物の画像は、イメージセンサで画像信号に変換され、画像信号が右撮像装置コントローラ45に出力される。なお、結像光学系がパンフォーカスを実現している場合には、前記フォーカス装置は不要である。
【0048】
ユーザの手の位置又は動作を検出する「手位置動作検出手段」は、手位置検出プログラム43b、CPU41、RAM42、右撮像装置31、右撮像装置コントローラ45、右撮像装置用VRAM46、左撮像装置32、左撮像装置コントローラ47、左撮像装置用VRAM48とから構成されている。
【0049】
画像生成部20は、画像を生成し、当該画像をユーザに視認させる装置であり、例えば図5に示されるような構成をしている。画像生成部20は、画像光生成部21、コリメート光学系22、水平走査部23、垂直走査部24、リレー光学系25、リレー光学系26を有している。
【0050】
画像光生成部21は、画像生成部コントローラ49が出力する画像信号を、ドットクロック毎に読み出し、読み出した画像信号に応じて強度変調して画像光を生成する装置である。画像生成部21は、信号処理回路211、光源部212、光合成部213を有している。
【0051】
信号処理回路211は、画像生成部コントローラ49と接続している。信号処理回路211は、画像生成部コントローラ49から入力された画像信号に基づいて、画像光を生成するための要素となるB(青)、G(緑)、R(赤)の各画像信号214a〜214cが生成し、光源部212に出力する。また、信号処理回路211は、後述する水平走査部23の水平走査制御回路23bと接続し、この水平走査制御回路23bに、画像生成部コントローラ49から入力された画像信号に基づいて生成した水平駆動信号215を出力する。更に、信号処理回路211は、後述する垂直走査制御回路24bと接続し、この垂直走査制御回路24bに、画像生成部コントローラ49から入力された画像信号に基づいて垂直駆動信号216を出力する。
【0052】
光源部212は、Bレーザドライバ212a、Gレーザドライバ212b、Rレーザドライバ212c、Bレーザ212d、Gレーザ212e、Rレーザ212fから構成されている。Bレーザドライバ212aは、信号処理回路211からドットクロック毎に出力されたB(青)の画像信号214aに基づき、Bレーザ212dを駆動させる。Bレーザ212dは、B(青)の画像信号214aに基づき、強度変調された青色のレーザ光を出射する。Gレーザ212e及びRレーザ212fも、同様に、それぞれ強度変調された、緑色のレーザ光、赤色のレーザ光を出射する。
【0053】
各レーザ212d〜212fには、半導体レーザや、高調波発生機能付固定レーザが含まれる。なお、半導体レーザを用いる場合には、駆動電流を直接変調して、レーザ光の強度変調を行う。また、高調波発生機能付固定レーザを用いる場合には、各レーザ212d〜212fそれぞれに、外部変調器を備えてレーザ光の強度変調を行う。
【0054】
光合成部213は、コリメート光学系213a〜213c、ダイクロイックミラー213d〜213f、結合光学系213gとから構成されている。コリメート光学系213a〜213cは、それぞれ、レーザ212d〜212fの前方に配設されていて、各レーザ212d〜212fが出射したレーザ光を、平行光化する。ダイクロイックミラー213d〜213fは、それぞれ、コリメート光学系213a〜213cの前方に配設されていて、各コリメート光学系213a〜213cが平行化した各レーザ光を、所定の範囲の波長のレーザ光のみを選択的に、反射又は透過する。
【0055】
結合光学系213gは、ダイクロイックミラー213d〜213fの前方に配設されている。ダイクロイックミラー213dを透過した青色のレーザ光及び、ダイクロイックミラー213e、213fをそれぞれ反射した、緑色のレーザ光、赤色のレーザ光が、結合光学系213gに入射する。結合光学系213gは、各3原色のレーザ光を集光させて、光ファイバ27に入射させる。
【0056】
水平走査部23及び垂直走査部24は、光ファイバ27に入射されたレーザ光を、画像として照射するために、当該レーザ光を水平方向と垂直方向に走査して走査画像光を生成する。
【0057】
水平走査部23は、共振型偏向素子23a、水平走査制御回路23b、水平走査角検出回路23cとから構成されている。光ファイバ27に入射されたレーザ光は、コリメート光学系22で平行光化され、共振型偏向素子23aに入射される。共振型偏向素子23aは、水平走査制御回路23bで揺動される反射面23dを有し、入射されたレーザ光を、揺動する反射面23dで反射させて水平方向に走査する。水平走査制御回路23bは、信号処理回路211から出力される水平駆動信号215に基づいて、共振型偏向素子23aの反射面23dを揺動させる駆動信号を発生する。水平走査角検出回路23cは、共振型偏向素子23aから出力される変位信号に基づいて、共振型偏向素子23aの反射面23dの揺動範囲及び揺動周波数等の揺動状態を検出し、当該揺動状態を示す信号を、画像生成部コントローラ49に出力する。
【0058】
垂直走査部24は、偏向素子24a、垂直走査制御回路24b、垂直走査角検出回路24cとから構成されている。偏向素子24aは、垂直走査制御回路24bで揺動される反射面24dを有し、入射されたレーザ光を、揺動する反射面24dで反射させて垂直方向に走査し、2次元的に走査された画像光として、リレー光学系26に出射する。垂直走査制御回路24bは、信号処理回路211から出力される垂直駆動信号216に基づいて、偏向素子24aの反射面24dを揺動させる駆動信号を発生する。垂直走査角検出回路24cは、偏向素子24aから出力される変位信号に基づいて、偏向素子24aの反射面24dの揺動範囲及び揺動周波数等の揺動状態を検出し、当該揺動状態を示す信号を、画像生成部コントローラ49に出力する。
【0059】
リレー光学系25は、共振型偏向素子23aと偏向素子24aの間に配設されている。リレー光学系25は、共振型偏向素子23aの反射面23dで、水平方向に走査されたレーザ光を収束させて、偏向素子24aの反射面24dに入射させる。
【0060】
信号処理回路211は、画像生成部コントローラ49から入力された画像信号に基づいて、水平駆動信号215と垂直駆動信号216を、それぞれ水平走査制御回路23bと垂直走査制御回路24bに出力し、反射面23d、24dの走査角を変更することにより、生成する画像光の輝度を調整している。
【0061】
こうして変更された反射面23d、24dの走査角度は、水平走査角検出回路23c及び垂直走査角検出回路24cによって検出信号として検出され、当該検出信号が画像生成部コントローラ49に入力され、水平駆動信号215及び垂直駆動信号216にフィードバックされる。
【0062】
リレー光学系26は、正の屈折力を持つレンズ系26a、26bを有している。偏向素子24aから出射された画像光は、レンズ系26aによって、それぞれの画像光が、その画像光の中心線を相互に略平行にされ、かつそれぞれ収束画像光に変換される。前記収束画像光は、レンズ系26bによってそれぞれほぼ平行な走査画像光となるとともに、これらの走査画像光の中心線がユーザの瞳孔Eaに収束するように集光される。
【0063】
なお、本実施形態では、光ファイバ27から入射されたレーザ光を、水平走査部23で水平方向に走査した後、垂直走査部24によって垂直方向に走査することとしたが、水平走査部23と垂直走査部24の配置を入れ替え、垂直走査部24に垂直方向に走査した後、水平走査部23で水平方向に走査するように構成しても差し支えない。
【0064】
このようなレーザ光を網膜上で走査して画像を表示する方式は焦点深度が深く、ユーザが手を奥行き方向に動かし、それにつられてユーザの眼の焦点位置が奥行き方向に移動しても、仮想パネルを鮮明に視認させることができ、積層された仮想パネルの表示において奥行き感を感じさせることができる。
【0065】
なお、画像生成部20を、ユーザの眼球Eに、強度が画像に応じて変調されたレーザ光を2次元に走査した画像光を直接照射し、ユーザに画像を視認させる実施形態について説明したが、画像生成部20はこの実施形態に限定されず、ユーザの眼球の前面に配設されたLCD(Liquid Crystal Display)や有機EL等、ユーザに画像を視認させる装置であっても差し支えない。
【0066】
(第1の実施形態のメイン処理)
図6に第1の実施形態のメイン処理のフロー図を示し、以下当該フローについて説明する。第1の実施形態のメインフロー処理が開始すると、S11「キャリブレーション」の処理に進む。S11の処理において、仮想パネル生成プログラム43aは、「キャリブレーション」処理を実行する。詳しくは、図7及び図8を用いて後述するが、この処理において、仮想パネル生成プログラム43aは、各仮想パネル501を積層配置する、奥行き方向の座標(z座標)を決定する。S11の処理が終了すると、S12「仮想パネル表示」の処理に進む。
【0067】
S12「仮想パネル表示」の処理において、仮想パネル生成プログラム43aは、S11の処理で決定した各仮想パネル501の奥行き方向の座標(z座標)に基づいて、仮想パネル画像500を生成する命令を、画像生成部用コントローラ49に出力する。画像生成部用コントローラ49は、前記命令に基づいて、仮想パネル501を積層配置して、ビットマップデータである仮想パネル画像500を生成し、画像生成部用VRAM50に保存するとともに、画像生成部20に出力し、画像生成部20は、仮想パネル画像500を生成して表示する。S12の処理が終了すると、S13「手位置検出」の処理に進む。
【0068】
S13「手位置検出」の処理において、後で図9、図10、図11を用いて詳細に説明するが、手座標算出手段43cは、ユーザの手(指)601を検出し、ユーザの手(指)601の「手座標」を算出する。S13の処理が終了すると、S14「選択された仮想パネルを認識」の処理に進む。
【0069】
S14「選択された仮想パネルを認識」の処理において、コマンド選択手段43dは、手座標算出手段43cが算出したユーザの手(指)601の「手座標」の奥行き方向の座標(z座標)に基づいて、ユーザが選択した仮想パネル501を認識する。図3の(B)に示されるように、コマンド選択手段43dは、ユーザの手(指)601の「手座標」の奥行き方向(z方向)の座標が、それぞれの仮想パネル501に規定されている座標(z1、z2、z3…)を突き抜けているか否かを判断し、突き抜けた先の仮想パネル501の中で、最も近い仮想パネル501を、ユーザが選択した仮想パネル501として認識する。なお、図3(B)において、z1’、z2’、z3’は、それぞれ、仮想パネル501に規定されている座標(z1、z2、z3)に最も近いと判断される範囲を表している。ユーザの手(指)601の「手座標」の奥行き方向の座標(z座標)が、z2’の範囲内にあれば、2番の仮想パネル501bが選択されたと判断する。或いは、ユーザの手(指)601の「手座標」の奥行き方向の座標(z座標)が、z3’の範囲内にあれば3番の仮想パネル501cが選択されたと判断する。なお、最前列の仮想パネル501aについては、その前には突き抜ける仮想パネル501はないので、最前列の仮想パネル501aを突き抜けないように、最前列の仮想パネル501aの手前にユーザの手(指)601があれば、コマンド選択手段43dは、最前列の仮想パネル501aを、ユーザが選択した仮想パネル501として認識する。或いは、図3の(C)に示されるように、コマンド選択手段43dは、ユーザの手(指)601の「手座標」の奥行き方向(z方向)の座標に、最も近い仮想パネル501を、ユーザが選択した仮想パネル501として認識することとしても差し支えない。なお、図3(C)において、z1’’、z2’’、z3’’は、それぞれ、仮想パネル501に規定されている座標(z1、z2、z3)に最も近いと判断される範囲を表している。S14の処理が終了すると、S15「選択されたタッチパネルを強調表示」の処理に進む。
【0070】
S15「選択されたタッチパネルを強調表示」の処理において、仮想パネル生成プログラム43aは、S14の処理でコマンド選択手段43bが認識した仮想パネル501を、例えば図2に示されるように番号を点滅させて強調表示する命令を、画像生成部コントローラ49に出力する。なお、仮想パネル501自体を点滅させる、仮想パネル501の色を変える、仮想パネル501の大きく表示する等の画像処理を行い、仮想パネル501を強調表示することとしても差し支えない。このように、仮想パネル501を強調表示することにより、ユーザは選択しようとしている仮想パネル501を認識することができる。仮想パネル501は奥行き方向に積層配置されたようにユーザが感じるよう表示されているが、平面映像のため、積層されて見える仮想パネル501の位置とヘッドマウントディスプレイ100にたいするユーザの手(指)601の奥行き方向の位置の対応が取りにくい。しかし本実施形態では、手(指)601のある位置の仮想パネル501を、強調表示することとしたので、強調表示された仮想パネル501を見ながら、ヘッドマウントディスプレイ100に対する手(指)601の奥行き位置を、ユーザが調整して誤りなく所望の仮想パネル501を選択することが可能となっている。S15の処理が終了すると、S16「仮想パネル押下?」の判断処理に進む。
【0071】
S16「仮想パネル押下?」の判断処理において、コマンド選択手段43dは、S14の処理で選択され、S15の処理で強調表示された仮想パネル501が、押下されたか否かを判断する。具体的には、コマンド選択手段43dは、一定時間以上、ユーザの手が、設定範囲内で停止しているか否かを判断する。なお、前記設定範囲とは、左右・上下方向(x、y方向)に関しては、左右・上下方向に関して仮想パネル501が表示される範囲であり、奥行き方向(z方向)に関しては、図3の(B)に示されるそれぞれの仮想パネル501に規定されている範囲(z1’、z2’、z3’…)である。コマンド選択手段43dが、一定時間以上、ユーザの手が、設定範囲内で停止していると判断した場合には、S17「仮想パネル押下表示」の処理に進む。一方で、コマンド選択手段43dが、一定時間以上、ユーザの手が、設定範囲内で停止していなく、設定範囲から外れたと判断した場合には、S13の処理に戻る。
【0072】
S17「仮想パネル押下表示」の処理において、仮想パネル生成プログラム43aは、S14の処理で選択された仮想パネル501を、押下した旨の表示をさせる命令を画像生成部コントローラ49に出力する。仮想パネル501を押下した旨の表示には、「押下」の文字を表示する、選択された仮想パネル501の色を変化させる等が含まれる。S17の処理が終了すると、S18「コマンド選択」の処理に進む。
【0073】
S18「コマンド選択」の処理において、S17の処理で強調表示した仮想パネル501に対応するコマンドを選択する。S18の処理が終了すると、S19「最終選択?」の判断処理に進む。
【0074】
S19「最終選択?」の判断処理において、コマンド選択手段43dは、S18の処理で選択したコマンドに対応する仮想パネル501が、最下階層の仮想パネル画像500(図12に示す)にある仮想パネル501であるか否かを判断する。コマンド選択手段43dが、S18の処理で選択したコマンドに対応する仮想パネル501が、最下階層の仮想パネル画像500にある仮想パネル501であると判断した場合には、S20「コマンド実行」の処理に進む。一方で、コマンド選択手段43dが、S18の処理で選択したコマンドに対応する仮想パネル501が、最下階層の仮想パネル画像500にある仮想パネル501でないと判断した場合には、S25「次階層の仮想パネル画像を表示」の処理に進む。
【0075】
S25「次階層の仮想パネル画像を表示」の処理において、仮想パネル生成プログラム43aは、次階層(下階層)の仮想パネル画像500を生成する命令を、画像生成部コントローラ49に出力する。画像生成部用コントローラ49は、仮想パネル生成プログラム43aの命令に従って、仮想パネル画像500を生成するとともに、当該仮想パネル画像500を画像生成部20に出力する。S25の処理が終了すると、S13の処理に戻る。このような階層構造でコマンドを選択できると、手の奥行き方向の検知だけで、複雑な操作を行うことができる。
【0076】
S20「コマンド実行」の処理において、コマンド選択手段43dは、S18の処理で選択したコマンドを実行する。S20の処理が終了すると、S21「画像生成」の処理に進む。
【0077】
S21「画像生成」の処理において、画像生成部コントローラ49は、S20の処理においてCPU41で実行される命令に基づき、画像を生成し、画像生成部用VRAM50に出力するとともに、画像生成部20に出力する。S20の処理で実行されるコマンドには、画像生成部20が生成している画像の、拡大・縮小・移動、次の画像進む処理、前の画像に戻る処理等が含まれる。S21の処理が終了すると、メイン処理のフローが終了する。
【0078】
なお、S20の処理で実行されるコマンドが、画像生成部20で生成される画像に変更がない場合(例えば現在表示中の画像の保存)には、S21の処理が実行されない。
【0079】
本実施形態では、S16の処理において、ユーザが一定時間以上手を仮想パネル501の設定範囲に停止させた場合に、コマンド選択手段43dは、当該仮想パネル501を押下したと判断することにしているが、S16の処理はこれに限定されず、ユーザが所定の動作をした場合、例えばユーザが手(指)601を折る、手(指)601を振る等の動作をさせた場合に、手座標算出手段43cが算出したユーザの手(指)601の「手座標」に基づき、コマンド選択手段43dが仮想パネル501を押下したと判断することにしても差し支えない。なお、ユーザの手(指)601の動作は頭の動きでは生じないような動作を選択動作として設定しておけば、頭の動きで誤検出が生じることはなく、信頼性の高い押下判断を行うことができる。例えば、前記選択動作には、手(指)601を折ったり、頭を振る速度より速く手(指)601を振ったりする動作が含まれる。
【0080】
(キャリブレーション処理)
図7にキャリブレーション処理のフロー図を示し、図8にキャリブレーション処理の説明図を示して、以下キャリブレーション処理について説明をする。なお、図8はユーザの視界を示した図である。キャリブレーション処理は、ユーザが近いと感じる位置(近位置)に、画像生成部20がマーカ画像505を表示させ(図8の(A))、ユーザが遠いと感じる位置(遠位置)に、画像生成部20がマーカ画像506を表示させ(図8の(B))、ユーザに前記マーカ画像505、506を選択させて、当該マーカ画像505、506の間に、仮想パネル501を配置するための座標を算出する処理である。このように、キャリブレーション処理を行うことにより、画像生成部20で生成させる画像のユーザ毎の遠近感の個人差を吸収し、ユーザが違和感を覚えないようにしている。
【0081】
キャリブレーション処理が開始すると、S31「近位置調整用マーカ画像表示」の処理において、図8の(A)に示されるように、仮想パネル生成プログラム43aは、ユーザが近位置に見えるマーカ画像505を生成する命令を、画像生成部コントローラ49に出力する。図8の(A)に示されるように、画像生成部20は、下側に大きいマーカ画像505を生成し、表示する。S31の処理が終了すると、S32「手位置検出」の処理に進む。
【0082】
S32「手位置検出」の処理において、手位置検出プログラム43bは、手位置検出処理を実行する。詳しくは、図9を用いて後述するが、この処理において、手位置検出プログラム43bはユーザと手(指)601の位置を検出し、手座標算出手段43cは、ヘッドマウントディスプレイ100を基準とするユーザの手(指)601の位置の3次元座標である「手座標」を算出する。S32の処理が終了すると、S33「設定位置に手がある?」の判断処理に進む。
【0083】
S33「設定位置に手がある?」の判断処理において、仮想パネル生成プログラム43aは、設定位置にユーザの手があるか否かを判断する。設定位置とは、マーカ画像505が表示されている、x座標及びy座標の範囲内の位置である。仮想パネル生成プログラム43aが、ユーザの手(指)601が、前記マーカ画像505が表示されている範囲にあると判断した場合には、S34「設定位置に設定時間手がある?」の判断処理に進む。一方で、仮想パネル生成プログラム43aが、ユーザの手(指)601が、前記マーカ画像505が表示されている範囲内にないと判断した場合には、S32の処理に戻る。
【0084】
S34「設定位置に設定時間手がある?」の判断処理において、仮想パネル生成プログラム43aは、設定位置に設定時間ユーザの手(指)601があるか否かを判断する。仮想パネル生成プログラム43aが、設定位置に設定時間ユーザの手(指)601があると判断した場合には、S35「近位置設定(Z1)」の処理に進む。一方で、仮想パネル生成プログラム43aが、設定位置に設定時間ユーザの手(指)601がないと判断した場合には、S32の処理に戻る。
【0085】
S35「近位置設定(Z1)」の処理において、仮想パネル生成プログラム43aは、S32の処理で検出した、ユーザの手(指)601の「手座標」のうち、奥行き方向の座標(Z座標)を、近位置(Z1)として設定する。S35の処理が終了すると、S36「遠位置調整用マーカ画像表示」の処理に進む。
【0086】
S36「遠位置調整用マーカ画像表示」の処理において、図8の(B)に示されるように、仮想パネル生成プログラム43aは、ユーザが遠位置に見えるマーカ画像506を生成する命令を、画像生成部コントローラ49に出力する。図8の(B)に示されるように、画像生成部20は、上側に小さいマーカ画像506を生成する。S36の処理が終了すると、S37「手位置検出」の処理に進む。
【0087】
S37「手位置検出」の処理において、手位置検出プログラム43bは、手位置検出処理を実行する。S37の処理は、S32の処理と同一である。S37の処理が終了すると、S38「設定位置に手がある?」の処理に進む。
【0088】
S38「設定位置に手がある?」の判断処理において、仮想パネル生成プログラム43aは、設定位置にユーザの手があるか否かを判断する。仮想パネル生成プログラム43aが、ユーザの手(指)601が、前記マーカ画像506が表示されている範囲にあると判断した場合には、S39「設定位置に設定時間手がある?」の判断処理に進む。一方で、仮想パネル生成プログラム43aが、ユーザの手(指)601が、前記マーカ画像506が表示されている範囲内にないと判断した場合には、S37の処理に戻る。
【0089】
S39「設定位置に設定時間手がある?」の判断処理において、仮想パネル生成プログラム43aは、設定位置に設定時間ユーザの手(指)601があるか否かを判断する。仮想パネル生成プログラム43aが、設定位置に設定時間ユーザの手(指)601があると判断した場合には、S40「遠位置設定(Zn)」の処理に進む。一方で、仮想パネル生成プログラム43aが、設定位置に設定時間ユーザの手(指)601がないと判断した場合には、S37の処理に戻る。
【0090】
S40「遠位置設定(Zn)」の処理において、仮想パネル生成プログラム43aは、S39の処理で検出した、ユーザの手(指)601の「手座標」のうち、奥行き方向の座標(Z座標)を、遠位置(Zn)として設定する。S40の処理が終了すると、S41「n枚の仮想パネル座標決定」の処理に進む。
【0091】
S41「n枚の仮想パネル座標決定」の処理において、仮想パネル生成プログラム43aは、S35の処理で設定した奥行き方向の座標(Z1)を、最も手前に表示される仮想パネル501の奥行き方向の座標(Z1)として決定し、S40の処理で設定した奥行き方向の座標(Zn)を最も遠くに表示される仮想パネル501の奥行き方向の座標(Zn)として決定し、最も手間及び最も遠くに表示される仮想パネル501の間にn―2枚積層配置する仮想パネル501の各奥行き方向の座標を、ZnとZ1の差分を(n−1)で除し、当該数値をZ1に加算することにより算出する処理を行い、各仮想パネル501の奥行き方向の座標(Z座標:Z1、Z2…Zn)を決定する。S41の処理が終了すると、キャリブレーション処理が終了し、図6のメインフローのS12の処理に進む。
【0092】
このような「キャリブレーション処理」により、マーカ画像505、506の奥行き方向の位置としてユーザが認識したい位置と、ヘッドマウントディスプレイ100に対するユーザの手(指)601の奥行き方向の実際の位置との対応を、ユーザ自身が決定することができるようにしている。このため、奥行き方向に積層配置されたようにユーザが感じるよう平面上に表示された仮想パネル501であっても、ユーザごとの個人差を吸収し、ユーザが操作しやすい手の動作範囲に仮想パネル501を生成することが可能となる。
【0093】
(手位置検出処理)
図9に手位置検出処理のフロー図を示し、以下当該フローについて説明する。手位置検出処理が開始すると、S51「右撮像装置撮像」の処理に進む。S51の処理において、右撮像装置31は、撮像処理を行い、右撮像装置31のイメージセンサの出力信号を、順次、右撮像装置コントローラ45に出力する。右撮像装置コントローラ45は、右撮像装置31のイメージセンサの各画素のR(赤)G(緑)B(青)の各原色の信号に基づいて、各画素についての各原色(R、G、B)を階調表現し、「撮像画像」を生成し、右撮像装置用VRAM46に保存する。S51の処理が終了すると、S52「色解析」の処理に進む。
【0094】
S52「色解析」の処理において、手位置検出プログラム43bは、手検出処理を実行する。詳しくは、図10を用いて後述するが、この処理において、手位置検出プログラム43bは、右撮像装置31で撮像された「撮像画像」の色解析処理を行い、手(指)の色成分の画素の抽出を行う。S52の処理が終了すると、S53「手を検出?」の判断処理に進む。
【0095】
S53「手を検出?」の判断処理において、手位置検出プログラム43bは、S52(S62)の処理で抽出された画素の集合と、ROM43に保存された手マッチングデータ43eと照合し、S52(S62)の処理で抽出された画素の集合が手(指)であるか否かを判断する。S53の処理では、手位置検出プログラム43bは、所定の閾値の用いて、S52(S62)の処理で抽出された画素の集合が手(指)であるか否かを判断する。手位置検出プログラム43bが、S52(S62)の処理で抽出された画素の集合が手(指)であると判断した場合には、S54「手の撮像座標算出」の処理に進む。一方で、手位置検出プログラム43bが、S52(S62)の処理で抽出された画素の集合が手(指)であると判断しない場合には、S52の処理に戻る。
【0096】
S54「手の撮像座標算出」の処理において、S53の判断処理において検出された手(指)の撮像画像上の縦(y)・横(x)方向の座標(以下、撮像座標とする)を算出する。本実施形態では、指先の撮像座標を算出している。すなわち、検出された手(指)601の撮像画像上の縦(y)方向の座標が最大となる撮影座標が指先の座標となる。S54の処理が終了すると、S55「左撮像装置撮像」の処理に進む。
【0097】
S55「左撮像装置撮像」の処理において、S51の処理と同様に、左撮像装置32は、撮像処理を行い、当該左撮像装置32で撮像された「撮像画像」が、左撮像装置用VRAM48に保存される。S55の処理が終了すると、S56「色解析」の処理に進む。
【0098】
S56「色解析」の処理において、手位置検出プログラム43bは、手検出処理を実行する。S56の処理は、S52の処理と同一である。S56の処理が終了すると、S57「手を検出?」の判断処理に進む。
【0099】
S57「手を検出?」の判断処理において、手位置検出プログラム43bは、S56(S62)の処理で抽出された画素の集合と、ROM43に保存された手マッチングデータ43eと照合し、S56(S62)の処理で抽出された画素の集合が手(指)であるか否かを判断する。手位置検出プログラム43bが、S56(S62)の処理で抽出された画素の集合が手(指)であると判断した場合には、S58「手の撮像座標算出」の処理に進む。一方で、手位置検出プログラム43bが、S56(S62)の処理で抽出された画素の集合が手(指)であると判断しない場合には、S52の処理に戻る。
【0100】
S58「手の撮像座標算出」の処理において、S57の判断処理において検出された手(指)の撮像座標を算出する。S58の処理が終了すると、S59「手座標算出」の処理に進む。
【0101】
S59「手座標算出」の処理において、手座標算出手段43cは、S54の処理及びS58の処理で算出した各「撮像座標」に基づいて、ヘッドマウントディスプレイ100を基準原点とする3次元座標である「手座標」を算出する。図11に示されるように、例えば、ユーザの手(指)601が、左右撮像装置31、32の中心に位置している場合において、右撮像装置31で撮像したユーザの手(指)601の撮像座標は、右撮像装置31の撮像範囲の中心よりも横方向(x方向)左側にずれる。また、左撮像装置32で撮像したユーザの手(指)601の撮像座標は、左撮像装置31の撮像範囲の中心よりも横方向(x方向)右側にずれる。この撮像座標のずれ量(視差)から、ヘッドマウントディスプレイ100を基準とする、ユーザの手(指)601の奥行き方向の座標(z座標)を算出する。なお、ユーザの手(指)601が左右撮像装置31、32の中心に位置していない場合であっても、左右撮像装置31、32で撮像したユーザの手(指)601の「撮像座標」は、横方向(x方向)に関して異なるので、左右撮像装置31、32で撮像したユーザの手(指)601の「撮像座標」から、奥行き方向(z方向)の座標を算出する。このように、手座標算出手段43cは、一定間隔をおいて配設された左右撮像装置31、32が撮像した、同一位置にあるユーザの手(指)601の「撮像座標」のずれ量(視差)に基づいて、ヘッドマウントディスプレイ100を基準とするユーザの指601の奥行き方向の座標(z座標)を算出する。
【0102】
このように、間隔をおいて頭部装着部10に取り付けられた、撮像装置31、32で、ユーザの指601を撮像することにより、ヘッドマウントディスプレイ100に対するユーザの指601の奥行き方向の座標(z座標)を算出することにしたので、ユーザの頭が揺れたとしても、ユーザの頭の動きにつれて撮像装置31、32も動き、撮影画像31、32に対してユーザの指601の位置が変化しても、撮像装置31、32が撮像するユーザの指601の視差は変わらないので、ヘッドマウントディスプレイ100に対するユーザの指601の奥行き方向の座標(z座標)を安定して検出することができる。
【0103】
また、手座標算出手段43cは、右撮像装置31及び左撮像装置32で撮像したユーザの手(指)601の「撮像座標」のうち横方向の座標(x座標)を平均し、ユーザの手(指)601の横方向の座標(x座標)を算出する。また、手座標算出手段43cは、右撮像装置31及び左撮像装置32で撮像したユーザの手(指)601の「撮像座標」のうち上下方向の座標(y座標)を平均し、又はどちらか一方を選択し、ユーザの手(指)601の上下方向の座標(y座標)を算出する。このようにして、手座標算出手段43cは、ヘッドマウントディスプレイ100を基準とするユーザの手(指)601の位置の3次元座標である「手座標」を算出する。S59の処理が終了すると、「手位置検出処理」が終了し、図7に示される「キャリブレーション処理」に戻る。このとき、ユーザの頭は絶えず動いており、撮像装置31、32もそれにつられて動く。通常は首を中心として頭が回転する動きが多いので、この撮像装置31、32の動きにより、x座標、y座標は頭及び撮像装置31、32の動きに対応して変化するが、奥行き方向の座標であるz座標はほとんど変化しない。
【0104】
(色解析処理)
図10に色解析処理のフロー図を示して、以下当該処理について説明する。色解析処理が開始すると、S61「RGB分解」の処理において、手位置検出プログラム43bは、右撮像装置用VRAM46に保存された「撮像画像」の各画素についてRGBの各原色の階調の強弱を数値化する処理を行う。S61の処理が終了すると、S63「設定色領域抽出」の処理に進む。
【0105】
S63「設定色領域抽出」の処理において、手位置検出プログラム43bは、S61の処理で、RGBの各原色の階調の強弱を数値化された各画素について、手の設定色(肌色)の範囲内にあるか否かを判断し、手の設定色の画素を抽出する。S63の処理が終了すると、色解析の処理が終了する。
【0106】
(第2の実施形態のヘッドマウントディスプレイ)
図13に第2の実施形態のヘッドマウントディスプレイ110のブロック図を示し、図15に第2の実施形態のヘッドマウントディスプレイ110の全体図を示して、以下、第1の実施形態と異なる点について第2の実施形態のヘッドマウントディスプレイ110について説明する。第2の実施形態では、仮想パネル501の押下を、ユーザの手に取り付けられたセンサ70が検出したユーザの手の動きにより、決定する実施形態である。
【0107】
第2の実施形態のヘッドマウントディスプレイ110は、第1の実施形態のヘッドマウントディスプレイ100に加えて、更に、ユーザの手に取り付けられるセンサ70と、当該センサ70が検出した「手動作信号」を、物理的・論理的な変換を行い、バス55に引き渡すセンサ用インターフェース52を有している。なお、バス55に引き渡された、「手動作信号」は、RAM42に保存される。
【0108】
センサ70は、例えば、ユーザの手(指)601の動きの加速度を検出する加速度センサ、ユーザの手の動作(例えば指601を曲げた等)を検出するポテンショメータやひずみ計等が含まれ、ユーザの手の動作を検出し、「手動作信号」を生成するセンサである。なお、図15の(B)に示される実施形態のセンサ70は、ユーザの指601の屈伸を検出するセンサである。
【0109】
図14に第2の実施形態のヘッドマウントディスプレイ110のメイン処理のフロー図を示し、以下、当該フローについて説明をする。第2の実施形態のメインフロー処理が開始すると、S111「キャリブレーション」の処理に進む。S111の処理において、仮想パネル生成プログラム43aは、「キャリブレーション」処理を実行する。この処理において、仮想パネル生成プログラム43aは、各仮想パネル501の奥行き方向の座標(z座標)を決定する。なお、S111の処理は、前述した第1の実施形態のキャリブレーション処理(図7に示す)と同一の処理である。S111の処理が終了すると、S112「仮想パネル表示」の処理に進む。
【0110】
S112「仮想パネル表示」の処理において、仮想パネル生成プログラム43aは、S111の処理で決定した各仮想パネル501の奥行き方向の座標(z座標)に基づいて、仮想パネル画像500を生成する命令を、画像生成部用コントローラ49に出力する。画像生成部用コントローラ49は、前記命令に基づいて、仮想パネル501を積層配置して、仮想パネル画像500を生成し、画像生成部用VRAM50に保存するとともに、画像生成部20に出力し、画像生成部20は、仮想パネル画像500を生成して表示する。S112の処理が終了すると、S113「手位置検出」の処理に進む。
【0111】
S113「手位置検出」の処理において、手座標算出手段43cは、ユーザの手(指)601を検出し、ユーザの手(指)601の「手座標」を算出する。なお、S113の処理は、前述した第1の実施形態の手位置検出処理(図9に示す)と同一の処理である。S113の処理が終了すると、S114「選択された仮想パネルを認識」の処理に進む。
【0112】
S114「選択された仮想パネルを認識」の処理において、コマンド選択手段43dは、手座標算出手段43cが算出したユーザの手(指)601の「手座標」の奥行き方向の座標(z座標)に基づいて、ユーザが選択した仮想パネル501を認識する。図3の(B)に示されるように、コマンド選択手段43dは、ユーザの手(指)601の「手座標」の奥行き方向(z方向)の座標が、それぞれの仮想パネル501に規定されている範囲(z1、z2、z3…)にあるか否かを判断し、ユーザが選択した仮想パネル501を認識する。S114の処理が終了すると、S115「選択されたタッチパネルを強調表示」の処理に進む。
【0113】
S115「選択されたタッチパネルを強調表示」の処理において、仮想パネル生成プログラム43aは、S114の処理でコマンド選択手段43dが認識した仮想パネル501を、例えば、図2に示されるように番号を点滅させて強調表示する命令を、画像生成部コントローラ49に出力する。なお、仮想パネル501自体を点滅させる、仮想パネル501の色を変える、仮想パネル501の大きく表示する等の画像処理を行い、仮想パネル501を強調表示することとしても差し支えない。このように、仮想パネル501を強調表示することにより、ユーザは選択しようとしている仮想パネル501を認識することができる。仮想パネル501は奥行き方向に積層配置されたようにユーザが感じるよう表示されているが、平面映像のため、積層されて見える仮想パネル501の位置とヘッドマウントディスプレイ100に対するユーザの手(指)601の奥行き方向の位置の対応が取りにくい。しかし、本実施形態では、手(指)601のある位置の仮想パネル501を強調表示することとしたので、強調表示された仮想パネル501を見ながら、ヘッドマウントディスプレイ100に対する手(指)601の奥行き位置を、ユーザが調整して誤りなく所望の仮想パネル501を選択することが可能となる。S115の処理が終了すると、S116「手作動情報入力?」の判断処理に進む。
【0114】
S116「手作動情報入力?」の判断処理において、コマンド選択手段43dは、「手動作信号」がセンサ用インターフェース52に入力されたか否かを判断する。コマンド選択手段43dが、「手動作信号」がセンサ用インターフェース52に入力されたと判断した場合には、S118「手動作信号が押下レベルか?」の判断処理に進む。一方で、コマンド選択手段43dが、「手動作信号」がセンサ用インターフェース52に入力されていないと判断した場合には、S113の処理に戻る。
【0115】
S118「手動作信号が押下レベルか?」の判断処理において、コマンド選択手段43dは、S116の判断処理で入力された「手動作信号」の強弱を判断し、当該「手動作信号」が押下レベルか否かを判断する。コマンド選択手段43dが、S116の判断処理で入力された「手動作信号」が、押下レベルであると判断した場合には、S119「仮想パネル押下表示」の処理に進む。一方で、コマンド選択手段43dが、S116の判断処理で入力された「手動作信号」が、押下レベルでないと判断した場合には、S113の処理に戻る。ユーザの頭が動いて、撮像装置31、32でユーザの手(指)601が振られた動作のように撮像されたとしても、本実施形態では、ユーザの手(指)601に取り付けられたセンサ70で、仮想パネル501の選択動作を検出することとしたので、ユーザの頭の動きにより仮想パネル501が誤選択されることを確実に防止し、ユーザが選択することを所望する仮想パネル501を確実に検出することが可能となる。
【0116】
S119「仮想パネル押下表示」の処理において、仮想パネル生成プログラム43aは、S117の処理で算出された、ユーザの手(指)601の「手座標」の奥行き方向(z方向)の座標が、それぞれの仮想パネル501に規定されている範囲(z1’、z2’、z3’…)にあるか否かを判断し、ユーザが選択した仮想パネル501を認識し、当該仮想パネル501を、押下した旨の表示をさせる命令を画像生成部コントローラ49に出力する。仮想パネル501を押下した旨の表示には、「押下」の文字を表示する、選択された仮想パネル501の色を変化させる等が含まれる。S119の処理が終了すると、S120「コマンド選択」の処理に進む。
【0117】
S120「コマンド選択」の処理において、S119の処理で強調表示した仮想パネル501に対応するコマンドを選択する。S120の処理が終了すると、S121「最終選択?」の判断処理に進む。
【0118】
S121「最終選択?」の判断処理において、コマンド選択手段43dは、S120の処理で選択したコマンドに対応する仮想パネル501が、最下層の仮想パネル画像500(図12に示す)にある仮想パネル501であるか否かを判断する。コマンド選択手段43dが、S120の処理で選択したコマンドに対応する仮想パネル501が、最下層の仮想パネル画像500にある仮想パネル501であると判断した場合には、S122「コマンド実行」の処理に進む。一方で、コマンド選択手段43dが、S120の処理で選択したコマンドに対応する仮想パネル501が、最下層の仮想パネル画像500にある仮想パネル501でないと判断した場合には、S125「次レイヤーの仮想パネル画像を表示」の処理に進む。
【0119】
S125「次レイヤーの仮想パネル画像を表示」の処理において、仮想パネル生成プログラム43aは、次レイヤー(下層)の仮想パネル画像500を生成する命令を、画像生成部コントローラ49に出力する。画像生成部用コントローラ49は、仮想パネル生成プログラム43aの命令に従って、仮想パネル画像500を生成するとともに、当該仮想パネル画像500を画像生成部20に出力する。S125の処理が終了すると、S113の処理に戻る。
【0120】
S122「コマンド実行」の処理において、コマンド選択手段43dは、S120の処理で選択したコマンドを実行する。S122の処理が終了すると、S123「画像生成」の処理に進む。
【0121】
S123「画像生成」の処理において、画像生成部コントローラ49は、S122の処理においてCPU41で実行される命令に基づき、画像を生成し、画像生成部用VRAM50に出力するとともに、画像生成部20に出力する。S122の処理で実行されるコマンドには、画像生成部20が生成している画像の、拡大・縮小・移動、次の画像に進む処理、前の画像に戻る処理等が含まれる。S123の処理が終了すると、メイン処理のフローが終了する。
【0122】
なお、S122の処理で実行されるコマンドが、画像生成部20で生成される画像に変更がない場合(例えば現在表示中の画像の保存)には、S123の処理が実行されない。
【0123】
なお、本明細書において、「手」には、例えば、手に持った、鉛筆やペン等の筆記用具、手に装着した手袋、リモートコントローラ等に設けられたマーカや光点等、手の代わりに操作できるものも含まれるものとする。また、以上説明した実施形態では、2つの撮像装置31、32を、頭部装着部10の前部に所定間隔をおいて取り付けているが、3以上の撮像装置を、頭部装着部10の前部に所定間隔をおいて取り付け、当該3以上の撮像装置で、ユーザの手(指)601の奥行き方向の位置や動きを検出することにしても差し支えない。
【0124】
以上、現時点において、もっとも、実践的であり、かつ好ましいと思われる実施形態に関連して本発明を説明したが、本発明は、本願明細書中に開示された実施形態に限定されるものではなく、請求の範囲および明細書全体から読み取れる発明の要旨あるいは思想に反しない範囲で適宜変更可能であり、そのような変更を伴うヘッドマウントディスプレイもまた技術的範囲に包含されるものとして理解されなければならない。
【図面の簡単な説明】
【0125】
【図1】本発明のヘッドマウントディスプレイの全体図である。(第1の実施形態)
【図2】ユーザの視覚を表した図である。
【図3】仮想パネル選択説明図である。
【図4】本発明のブロック図である。(第1の実施形態)
【図5】画像生成部のブロック図である。
【図6】本発明のメイン処理のフロー図である。(第1の実施形態)
【図7】キャリブレーション処理のフロー図である。(第1の実施形態)
【図8】キャリブレーション処理の説明図である。
【図9】手位置検出処理のフロー図である。(第1の実施形態)
【図10】色解析処理のフロー図である。(第1の実施形態)
【図11】撮像座標から手座標を算出する説明図である。
【図12】仮想パネルのツリー構造の説明図である。
【図13】第2の実施形態のヘッドマウントディスプレイのブロック図である。
【図14】第2の実施形態のメイン処理のフロー図である。
【図15】第2の実施形態のヘッドマウントディスプレイの全体図である。
【符号の説明】
【0126】
10 頭部装着部
20 画像生成部
21 画像光生成部
22 コリメート光学系
23 水平走査部
23a 共振型偏向素子
23b 水平走査制御回路
23c 水平走査角検出回路
23d 反射面
24 垂直走査部
24a 偏向素子
24b 垂直走査制御回路
24c 垂直走査検出回路
24d 反射面
25 リレー光学系
26 リレー光学系
26a レンズ系
26b レンズ系
27 光ファイバ
31 右撮像装置
32 左撮像装置
40 制御部
41 CPU
42 RAM
43 ROM
43a 仮想パネル生成プログラム
43b 手位置検出プログラム
43c 手座標算出手段
43d コマンド選択手段
43e 手マッチングデータ
44 不揮発性メモリ
45 右撮像装置コントローラ
46 右撮像装置用VRAM
47 左撮像装置コントローラ
48 左撮像装置用VRAM
49 画像生成部コントローラ
50 画像生成部用VRAM
51 インターフェース
52 センサ用インターフェース
55 バス
60 操作スイッチ
61 電源ランプ
70 センサ
100 ヘッドマウントディスプレイ(第1の実施形態)
110 ヘッドマウントディスプレイ(第2の実施形態)
211 信号処理回路
212 光源部
212a Bレーザドライバ
212b Gレーザドライバ
212c Rレーザドライバ
212d Bレーザ
212e Gレーザ
212f Rレーザ
213 光合成部
213a〜213c コリメート光学系
213d〜213f ダイナミックミラー
213g 結合光学系
214a B(青)の画像信号
214b G(緑)の画像信号
214c R(赤)の画像信号
215 水平駆動信号
216 垂直駆動信号
500 仮想パネル画像
501 仮想パネル
505 マーカ画像(近位置)
506 マーカ画像(遠位置)
601 ユーザの手(指)
E 眼球
Ea 瞳孔

【特許請求の範囲】
【請求項1】
ユーザの頭部に装着される頭部装着部と、
前記頭部装着部に取り付けられ、前記ユーザに画像を視認させる画像生成部を有するヘッドマウントディスプレイにおいて、
各コマンドが割り当てられた仮想パネルが奥行き方向に積層配置されたように視認される画像である仮想パネル画像を生成し、前記画像生成部に出力する仮想パネル生成手段と、
前記ユーザの手の奥行き方向位置及び動作を検出する手位置動作検出手段と、
前記手位置動作検出手段が検出した前記ユーザの手の奥行き方向位置から、前記ユーザが選択しようとしている仮想パネルを検出し、前記ユーザの選択動作から、当該仮想パネルに割り当てられたコマンドを選択するコマンド選択手段を有することを特徴とするヘッドマウントディスプレイ。
【請求項2】
手位置動作検出手段を、
間隔をおいて頭部装着部の前部に取り付けられた複数の撮像装置と、
前記各撮像装置が撮像した撮像画像から、ユーザの手の撮像座標を算出し、当該各撮像座標から、前記ユーザの手の奥行き方向の座標を算出する手座標算出手段とから構成し、
コマンド選択手段は、前記手座標算出手段が算出した前記ユーザの手の奥行き方向の座標に基づいて、前記ユーザの手の奥行き方向の位置及び動作を算出し、当該ユーザの手の奥行き方向の位置及び動作に基づいて、仮想パネルに割り当てられたコマンドを選択することを特徴とする請求項1に記載のヘッドマウントディスプレイ。
【請求項3】
手位置動作検出手段を、
間隔をおいて頭部装着部の前部に取り付けられた複数の撮像装置と、
前記各撮像装置が撮像した撮像画像から、ユーザの手の撮像座標を算出し、当該各撮像座標から、前記ユーザの手の奥行き方向の座標を算出する手座標算出手段と、
ユーザの手の動作を検出し手動作信号を生成する、ユーザの手に取り付けられたセンサとから構成し、
コマンド選択手段は、
前記手座標算出手段が算出した前記ユーザの手奥行き方向の座標に基づいて、ユーザが選択しようとしている仮想パネルを認識し、
前記センサが検出した手動作信号から、ユーザの前記仮想パネルの選択動作を判断し、当該仮想パネルに割り当てられたコマンドを選択することを特徴とする請求項1に記載のヘッドマウントディスプレイ。
【請求項4】
仮想パネル生成手段は、
仮想パネル画像を生成する前に、
ユーザから近位置及び遠位置に仮想的に表示されるマーカ画像を生成して画像生成部に出力し、
ユーザの各マーカ画像の選択動作から手位置動作検出手段が検出したユーザの手の奥行き方向の位置情報から、前記遠位置及び近位置の奥行き方向の座標を算出し、
算出された前記近位置及び遠位置の間に、複数の仮想パネルを、積層配置して仮想パネル画像を生成することを特徴とする請求項1〜3のいずれかに記載のヘッドマウントディスプレイ。
【請求項5】
仮想パネル生成手段は、コマンド選択手段が検出したユーザの手のある位置の仮想パネルを、強調表示することを特徴とする請求項1〜4のいずれかに記載のヘッドマウントディスプレイ。
【請求項6】
コマンド選択手段は、手位置動作検出手段が検出したユーザの手の位置が、一定時間以上、所定範囲内にあると判断した場合に、前記手位置動作検出手段が検出したユーザの手のある位置の仮想パネルを選択することを特徴とする請求項1〜5のいずれかに記載のヘッドマウントディスプレイ。
【請求項7】
コマンド選択手段は、手位置動作検出手段が検出したユーザの手の動作が、予め設定されている選択動作であると判断した場合に、前記手位置動作検出手段が検出したユーザの手のある位置の仮想パネルを選択することを特徴とする請求項1〜5のいずれかに記載のヘッドマウントディスプレイ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2010−146481(P2010−146481A)
【公開日】平成22年7月1日(2010.7.1)
【国際特許分類】
【出願番号】特願2008−325760(P2008−325760)
【出願日】平成20年12月22日(2008.12.22)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】