A.第1実施形態:
A−1.頭部装着型表示装置の構成:
図1は、本発明の一実施形態における頭部装着型表示装置の概略構成を示す説明図である。頭部装着型表示装置100は、頭部に装着する表示装置であり、ヘッドマウントディスプレイ(Head Mounted Display、HMD)とも呼ばれる。本実施形態のHMD100は、使用者が、虚像を視認すると同時に外景も直接視認可能な光学透過型の頭部装着型表示装置である。なお、本実施形態では、HMD100によって使用者が視認する虚像を便宜的に「表示画像」とも呼ぶ。また、画像データーに基づいて生成された画像光を射出することを「画像を表示する」ともいう。
HMD100は、使用者の頭部に装着された状態において使用者に虚像を視認させる画像表示部20と、画像表示部20を制御する制御部(コントローラー)10とを備えている。
画像表示部20は、使用者の頭部に装着される装着体であり、本実施形態では眼鏡形状を有している。画像表示部20は、右保持部21と、右表示駆動部22と、左保持部23と、左表示駆動部24と、右光学像表示部26と、左光学像表示部28と、外側カメラ61と、内側カメラ62と、9軸センサー66と、を含んでいる。右光学像表示部26および左光学像表示部28は、それぞれ、使用者が画像表示部20を装着した際に使用者の右および左の眼前に位置するように配置されている。右光学像表示部26の一端と左光学像表示部28の一端とは、使用者が画像表示部20を装着した際の使用者の眉間に対応する位置で、互いに接続されている。
右保持部21は、右光学像表示部26の他端である端部ERから、使用者が画像表示部20を装着した際の使用者の側頭部に対応する位置にかけて、延伸して設けられた部材である。同様に、左保持部23は、左光学像表示部28の他端である端部ELから、使用者が画像表示部20を装着した際の使用者の側頭部に対応する位置にかけて、延伸して設けられた部材である。右保持部21および左保持部23は、眼鏡のテンプル(つる)のようにして、使用者の頭部に画像表示部20を保持する。
右表示駆動部22は、右保持部21の内側、換言すれば、使用者が画像表示部20を装着した際の使用者の頭部に対向する側に配置されている。また、左表示駆動部24は、左保持部23の内側に配置されている。なお、以降では、右保持部21および左保持部23を総称して単に「保持部」とも呼び、右表示駆動部22および左表示駆動部24を総称して単に「表示駆動部」とも呼び、右光学像表示部26および左光学像表示部28を総称して単に「光学像表示部」とも呼ぶ。
表示駆動部は、液晶ディスプレイ(Liquid Crystal Display、以下「LCD」と呼ぶ)241、242や投写光学系251、252等を含む(図2参照)。表示駆動部の構成の詳細は後述する。光学部材としての光学像表示部は、導光板261、262(図2参照)と調光板とを含んでいる。導光板261、262は、光透過性の樹脂材料等によって形成され、表示駆動部から出力された画像光を使用者の眼に導く。調光板は、薄板状の光学素子であり、画像表示部20の表側(使用者の眼の側とは反対の側)を覆うように配置されている。調光板は、導光板261、262を保護し、導光板261、262の損傷や汚れの付着等を抑制する。また、調光板の光透過率を調整することによって、使用者の眼に入る外光量を調整して虚像の視認のしやすさを調整することができる。なお、調光板は省略可能である。
外側カメラ61は、使用者が画像表示部20を装着した際の右側のこめかみに対応する位置に配置されている。外側カメラ61は、画像表示部20の表側方向、換言すれば、HMD100を装着した状態における使用者の視界方向の外景(外部の景色)を撮像し、外景画像を取得する。外側カメラ61はいわゆる可視光カメラであり、外側カメラ61により取得される外景画像は、物体から放射される可視光から物体の形状を表す画像である。外側カメラ61は、「外景取得部」および「外景情報取得手段」として機能し、外景画像は「外景情報」として機能する。
なお、外景取得部は、使用者の視界方向の外景の特徴を少なくとも含む「外景情報」を取得可能な限りにおいて、任意の構成を採用することができる。例えば、外景取得部は可視光カメラに代えて、赤外線センサー、超音波センサー、レーダー等によって構成されていてもよい。この場合、センサーやレーダーによる検出値が「外景の特徴」として機能する。
内側カメラ62は、使用者が画像表示部20を装着した際の右側のこめかみに対応する位置に配置されている。内側カメラ62は、画像表示部20の裏側方向、換言すれば、HMD100を装着した状態における使用者の左右の眼を撮像し、使用者の眼の画像を取得する。内側カメラ62は、外側カメラ61と同様のいわゆる可視光カメラである。内側カメラ62は、「眼画像取得部」として機能する。内側カメラ62は、拡張現実感処理において、外側カメラ61と使用者の眼との間の距離を推定するために用いられる。このため、内側カメラ62は、外側カメラ61の近傍に配置されていることが好ましい。
9軸センサー66は、使用者が画像表示部20を装着した際の使用者の眉間に対応する位置に配置されている。9軸センサー66は、加速度(3軸)、角速度(3軸)、地磁気(3軸)を検出するモーションセンサーである。9軸センサー66は、画像表示部20に設けられているため、画像表示部20が使用者の頭部に装着されているときには、使用者の頭部の動きを検出する「第1の動き検出部」として機能する。ここで、頭部の動きとは、頭部の速度・加速度・角速度・向き・向きの変化を含む。
画像表示部20は、さらに、画像表示部20を制御部10に接続するための接続部40を有している。接続部40は、制御部10に接続される本体コード48と、本体コード48が2本に分岐した右コード42および左コード44と、分岐点に設けられた連結部材46と、を含んでいる。右コード42は、右保持部21の延伸方向の先端部APから右保持部21の筐体内に挿入され、右表示駆動部22に接続されている。同様に、左コード44は、左保持部23の延伸方向の先端部APから左保持部23の筐体内に挿入され、左表示駆動部24に接続されている。連結部材46には、イヤホンプラグ30を接続するためのジャックが設けられている。イヤホンプラグ30からは、右イヤホン32および左イヤホン34が延伸している。
画像表示部20と制御部10とは、接続部40を介して各種信号の伝送を行う。本体コード48における連結部材46とは反対側の端部と、制御部10とのそれぞれには、互いに嵌合するコネクター(図示省略)が設けられている。本体コード48のコネクターと制御部10のコネクターとの嵌合/嵌合解除により、制御部10と画像表示部20とが接続されたり切り離されたりする。右コード42と、左コード44と、本体コード48には、例えば、金属ケーブルや光ファイバーを採用することができる。
制御部10はHMD100を制御するための装置である。制御部10は、決定キー11と、点灯部12と、表示切替キー13と、トラックパッド14と、輝度切替キー15と、方向キー16と、メニューキー17と、電源スイッチ18と、を含んでいる。決定キー11は、押下操作を検出して、制御部10で操作された内容を決定する信号を出力する。点灯部12は、HMD100の動作状態を、その発光状態によって通知する。HMD100の動作状態としては、例えば、電源のON/OFF等がある。点灯部12としては、例えば、LED(Light Emitting Diode)が用いられる。表示切替キー13は、押下操作を検出して、例えば、コンテンツ動画の表示モードを3Dと2Dとに切り替える信号を出力する。
トラックパッド14は、トラックパッド14の操作面上での使用者の指の操作を検出して、検出内容に応じた信号を出力する。トラックパッド14としては、静電式や圧力検出式、光学式といった種々の方式を採用できる。輝度切替キー15は、押下操作を検出して、画像表示部20の輝度を増減する信号を出力する。方向キー16は、上下左右方向に対応するキーへの押下操作を検出して、検出内容に応じた信号を出力する。電源スイッチ18は、スイッチのスライド操作を検出することで、HMD100の電源投入状態を切り替える。
図2は、HMD100の構成を機能的に示すブロック図である。制御部10は、入力情報取得部110と、記憶部120と、電源130と、無線通信部132と、GPSモジュール134と、CPU140と、インターフェイス180と、送信部(Tx)51および52とを備え、各部は図示しないバスにより相互に接続されている。
入力情報取得部110は、決定キー11、表示切替キー13、トラックパッド14、輝度切替キー15、方向キー16、メニューキー17、および、電源スイッチ18に対する操作入力に応じた信号を取得する。なお、入力情報取得部110は、上記以外の種々の方法を用いた操作入力を取得することができる。例えば、フットスイッチ(使用者の足により操作するスイッチ)による操作入力を取得してもよい。また、例えば、画像表示部20に赤外線センサー等の視線検知部を設けた上で、使用者の視線を検知し、視線の動きに対応付けられたコマンドによる操作入力を取得してもよい。また、例えば、外側カメラ61を用いて使用者のジェスチャーを検知し、ジェスチャーに対応付けられたコマンドによる操作入力を取得してもよい。ジェスチャー検知の際は、使用者の指先や、使用者の手に付けられた指輪や、使用者の手にする医療器具等を動き検出のための目印にすることができる。フットスイッチや視線による操作入力を取得可能とすれば、使用者が手を離すことが困難である作業においても、入力情報取得部110は、使用者からの操作入力を取得することができる。
記憶部120は、ROM、RAM、DRAM、ハードディスク等によって構成されている。記憶部120には、オペレーティングシステム(ОS)をはじめとする種々のコンピュータープログラムが格納されている。また、記憶部120は、焦点距離122と、移動量閾値124とを含んでいる。
焦点距離122は外側カメラ61の焦点距離を予め記憶しておくための記憶領域である。焦点距離122に記憶されている外側カメラ61の焦点距離には、デフォルト値として所定の値が格納されている。焦点距離122に記憶されている所定の値は、使用者による変更を受け付けてもよい。移動量閾値124には、後述の拡張現実感処理において、外側カメラ61による2回目の撮像を行うための「外側カメラ61の移動量」を表す閾値が格納されている。移動量閾値124に記憶されている閾値は、使用者による変更を受け付けてもよい。
電源130は、HMD100の各部に電力を供給する。電源130としては、例えば二次電池を用いることができる。無線通信部132は、無線LANやBluetooth(登録商標)といった所定の無線通信規格に則って他の機器との間で無線通信を行う。GPSモジュール134は、GPS衛星からの信号を受信することにより、HMD100の使用者の現在位置を検出し、使用者の現在位置情報を表す現在位置情報を生成する。現在位置情報は、例えば緯度経度を表す座標によって実現することができる。
CPU140は、記憶部120に格納されているコンピュータープログラムを読み出して実行することにより、OS150、画像処理部160、音声処理部170、表示制御部190、位置推定部142、AR(Augmented Reality)処理部144として機能する。
位置推定部142は、後述の拡張現実感処理において、現実世界に存在するオブジェクトの、外側カメラ61に対する位置を推定する。また、位置推定部142は、後述の拡張現実感処理において、使用者の右眼LEおよび左眼REの、外側カメラ61に対する位置を推定する。AR処理部144は、位置推定部142と協働することによって、拡張現実感処理を実現する。拡張現実感処理とは、拡張現実感を実現させるための処理であり、換言すれば、現実世界に存在するオブジェクトを拡張(付加)するための付加提示用の情報(例えば文字や画像等)を表す画像を表示させる処理である。なお、AR処理部144は、「拡張現実感処理部」に相当する。
画像処理部160は、インターフェイス180や無線通信部132を介して入力されるコンテンツ(映像)に基づいて信号を生成する。そして、画像処理部160は、生成した信号を、接続部40を介して画像表示部20に供給する。画像表示部20に供給するための信号は、アナログ形式とディジタル形式の場合で異なる。アナログ形式の場合、画像処理部160は、コンテンツに含まれる画像信号を取得し、取得した画像信号から、垂直同期信号VSyncや水平同期信号HSync等の同期信号を分離し、それらの周期に応じて、PLL回路等によりクロック信号PCLKを生成する。画像処理部160は、同期信号が分離されたアナログ画像信号を、A/D変換回路等を用いてディジタル画像信号に変換する。画像処理部160は、変換後のディジタル画像信号を、RGBデーターの画像データーDataとして、1フレームごとに記憶部120内のDRAMに格納する。一方、ディジタル形式の場合、画像処理部160は、クロック信号PCLKと、画像データーDataとを生成・送信する。具体的には、コンテンツがディジタル形式の場合、クロック信号PCLKが画像信号に同期して出力されるため、垂直同期信号VSyncおよび水平同期信号HSyncの生成と、アナログ画像信号のA/D変換とが不要となる。なお、画像処理部160は、記憶部120に格納された画像データーDataに対して、解像度変換処理や、輝度・彩度の調整といった種々の色調補正処理や、キーストーン補正処理等の画像処理を実行してもよい。
画像処理部160は、生成されたクロック信号PCLK、垂直同期信号VSync、水平同期信号HSyncと、記憶部120内のDRAMに格納された画像データーDataとを、送信部51、52を介してそれぞれ送信する。なお、送信部51を介して送信される画像データーDataを「右眼用画像データーData1」とも呼び、送信部52を介して送信される画像データーDataを「左眼用画像データーData2」とも呼ぶ。送信部51、52は、制御部10と画像表示部20との間におけるシリアル伝送のためのトランシーバーとして機能する。
表示制御部190は、右表示駆動部22および左表示駆動部24を制御する制御信号を生成する。具体的には、表示制御部190は、制御信号により、左右のLCD制御部211、212による左右のLCD241、242の駆動ON/OFFや、左右のバックライト制御部201、202による左右のバックライト221、222の駆動ON/OFFを個別に制御することにより、右表示駆動部22および左表示駆動部24のそれぞれによる画像光の生成および射出を制御する。表示制御部190は、右LCD制御部211と左LCD制御部212とに対する制御信号を、送信部51および52を介してそれぞれ送信する。また、表示制御部190は、右バックライト制御部201と左バックライト制御部202とに対する制御信号を、それぞれ送信する。
音声処理部170は、コンテンツに含まれる音声信号を取得し、取得した音声信号を増幅して、連結部材46に接続された右イヤホン32内の図示しないスピーカーおよび左イヤホン34内の図示しないスピーカーに対して供給する。なお、例えば、Dolby(登録商標)システムを採用した場合、音声信号に対する処理がなされ、右イヤホン32および左イヤホン34からは、それぞれ、例えば周波数等が変えられた異なる音が出力される。
インターフェイス180は、制御部10に対して、コンテンツの供給元となる種々の外部機器OAを接続するためのインターフェイスである。外部機器ОAとしては、例えば、パーソナルコンピューターPCや携帯電話端末、ゲーム端末等がある。インターフェイス180としては、例えば、USBインターフェイスや、マイクロUSBインターフェイス、メモリーカード用インターフェイス等を用いることができる。
画像表示部20は、右表示駆動部22と、左表示駆動部24と、右光学像表示部26としての右導光板261と、左光学像表示部28としての左導光板262と、外側カメラ61と、内側カメラ62と、9軸センサー66とを備えている。
右表示駆動部22は、受信部(Rx)53と、光源として機能する右バックライト(BL)制御部201および右バックライト(BL)221と、表示素子として機能する右LCD制御部211および右LCD241と、右投写光学系251とを含んでいる。なお、右バックライト制御部201と、右LCD制御部211と、右バックライト221と、右LCD241とを総称して「画像光生成部」とも呼ぶ。
受信部53は、制御部10と画像表示部20との間におけるシリアル伝送のためのレシーバーとして機能する。右バックライト制御部201は、入力された制御信号に基づいて、右バックライト221を駆動する。右バックライト221は、例えば、LEDやエレクトロルミネセンス(EL)等の発光体である。右LCD制御部211は、受信部53を介して入力されたクロック信号PCLKと、垂直同期信号VSyncと、水平同期信号HSyncと、右眼用画像データーData1とに基づいて、右LCD241を駆動する。右LCD241は、複数の画素をマトリクス状に配置した透過型液晶パネルである。
右投写光学系251は、右LCD241から射出された画像光を並行状態の光束にするコリメートレンズによって構成される。右光学像表示部26としての右導光板261は、右投写光学系251から出力された画像光を、所定の光路に沿って反射させつつ使用者の右眼REに導く。光学像表示部は、画像光を用いて使用者の眼前に虚像を形成する限りにおいて任意の方式を用いることができ、例えば、回折格子を用いても良いし、半透過反射膜を用いても良い。
左表示駆動部24は、右表示駆動部22と同様の構成を有している。すなわち、左表示駆動部24は、受信部(Rx)54と、光源として機能する左バックライト(BL)制御部202および左バックライト(BL)222と、表示素子として機能する左LCD制御部212および左LCD242と、左投写光学系252とを含んでいる。詳細な説明は省略する。
図3は、使用者に視認される虚像の一例を示す説明図である。図3(A)は、通常の表示処理中の使用者の視野VRを例示している。上述のようにして、HMD100の使用者の両眼に導かれた画像光が使用者の網膜に結像することにより、使用者は虚像VIを視認する。図3(A)の例では、虚像VIは、HMD100のOSの待ち受け画面である。また、使用者は、右光学像表示部26および左光学像表示部28を透過して外景SCを視認する。このように、本実施形態のHMD100の使用者は、視野VRのうち虚像VIが表示された部分については、虚像VIと、虚像VIの背後に外景SCとを見ることができる。また、視野VRのうち虚像VIが表示されていない部分については、光学像表示部を透過して、外景SCを直接見ることができる。
図3(B)は、拡張現実感処理中の使用者の視野VRを例示している。拡張現実感処理において、AR処理部142は、現実世界に存在するオブジェクトに付加するための付加提示用の情報(例えば文字や画像等)を表す画像データーを生成し、生成した画像データーを画像表示部20へ送信する。ここで、「現実世界に存在するオブジェクト」とは、使用者を取り巻く現実環境に含まれている任意の物を意味する。以降、現実世界に存在するオブジェクトであって、拡張現実感処理の対象となるオブジェクトを「対象オブジェクト」とも呼ぶ。対象オブジェクトは、任意の方法で決定することができる。例えば、使用者が視認している外景SCに含まれている全てのオブジェクトを対象オブジェクトとしてもよい。外景SCに含まれているオブジェクトの中から使用者が選択した一部のオブジェクトを、対象オブジェクトとしてもよい。外景SCに含まれているオブジェクトの中から、HMD100において再生されているコンテンツや、HMD100において実行されているアプリケーションに応じて選択された一部のオブジェクトを、対象オブジェクトとしてもよい。また、「オブジェクトに付加する」とは、対象オブジェクトに対して情報を付加、削除、強調、減衰等させることを意味する。以降、対象オブジェクトに付加、削除、強調、減衰等される情報(付加提示用の情報)を「仮想オブジェクト」とも呼ぶ。図3(B)の例では、外景SCに含まれる現実の道(対象オブジェクト)の上に重なるように、リンゴを表す画像VOB(仮想オブジェクトVOB)が虚像VIとして表示されている。これにより、使用者は、あたかも何もない道の上に、リンゴが落ちているような感覚を得ることができる。
A−2.拡張現実感処理:
図4は、拡張現実感処理の手順を示すフローチャートである。拡張現実感処理は、OS150や任意のアプリケーションからの処理開始要求をトリガーとして開始される。
図5は、拡張現実感処理のステップS102について説明するための説明図である。図4のステップS102において位置推定部142は、外側カメラ61に撮像を指示し、拡張現実感処理の対象オブジェクトTOB(図5)を含む、HMD100の使用者の視界方向の外景画像を取得する。位置推定部142は、取得した外景画像を記憶部120に記憶する。なお、説明の便宜上、ステップS102において取得された外景画像を「画像1」とも呼ぶ。画像1は「第1の外景情報」として機能する。また、図示の便宜上、図5〜7、図10、図11では、外側カメラ61を強調して記載している。
図6は、拡張現実感処理のステップS104について説明するための説明図である。図4のステップS104において位置推定部142は、ステップS102で画像1を取得した時を起点とする外側カメラ61の移動量M2(図6)が、移動量閾値124に格納されている閾値以上となったか否かを判定する。具体的には、位置推定部142は、9軸センサー66からHMD100の使用者の頭部の動き(速度、加速度、角速度、向き、向きの変化)を繰り返し取得する。そして、位置推定部142は、取得した頭部の回転量M1から、画像1を取得した時を起点とする外側カメラ61の移動量M2を推定する。このように、本実施形態の位置推定部142は、HMD100を装着した使用者の頭部の動きを用いて、外側カメラ61の移動量を推定している。
その後、図4のステップS104において、推定した外側カメラ61の移動量M2が移動量閾値124の閾値未満である場合、位置推定部142は、処理をステップS104へ遷移させ、移動量M2の監視を継続する。一方、推定した外側カメラ61の移動量M2が移動量閾値124の閾値以上である場合、位置推定部142は、処理をステップS106へ遷移させる。
図7は、拡張現実感処理のステップS106について説明するための説明図である。図4のステップS106において位置推定部142は、外側カメラ61に撮像を指示し、拡張現実感処理の対象オブジェクトTOB(図7)を含む、HMD100の使用者の視界方向の外景画像を取得する。位置推定部142は、取得した外景画像をステップS102の画像1と区別可能な態様で、記憶部120に記憶する。なお、説明の便宜上、ステップS106において取得された外景画像を「画像2」とも呼ぶ。画像2は「第2の外景情報」として機能する。
図4のステップS108において位置推定部142は、画像1と画像2との視差から、ステレオ画像処理の技術を用いて、外側カメラ61に対する対象オブジェクトの位置を推定する。なお、位置推定部142が推定する「位置」には、HMD100と対象オブジェクトとの間の距離と、HMD100に対する対象オブジェクトの方向と、が含まれる。具体的には、位置推定部142は、以下のようにして、外側カメラ61に対する対象オブジェクトTOBの位置を推定することができる。
図8は、拡張現実感処理のステップS108について説明するための説明図である。図9は、画像1および画像2の一例である。図8において、画像1の撮像の焦点をP1とし、画像2の撮像の焦点をP2とする。また、画像1の撮像面PP1における対象オブジェクトTOBの投影点をm(x1,y1)とし、画像2の撮像面PP2における対象オブジェクトTOBの投影点をm(x2,y2)とする。さらに、対象オブジェクトTOBの実際の空間上の点をTOB(X,Y,Z)とする。OA1はステップS102の外側カメラ61の平行光軸、OA2はステップS106の外側カメラ61の平行光軸である。
使用者の頭部の回転に伴う外側カメラ61の移動は、すなわち、水平方向の移動である。このため、上記においてy1=y2となる。このとき、対象オブジェクトTOBの実際の空間上の点TOB(X,Y,Z)と、画像1の対象オブジェクトTOBの投影点m(x1,y1)と、画像2の対象オブジェクトTOBの投影点m(x2,y2)とは、以下の式1〜3で表すことができる。
Z=(M2×f)/(x1−x2) ・・・(式1)
X=(Z/f)×x2 ・・・(式2)
Y=(Z/f)×y2 ・・・(式3)
ここで、焦点P1と焦点P2との間の距離は外側カメラ61の移動量M2とみなすことができる。また、焦点P1と撮像面PP1との間の距離f、および、焦点P2と撮像面PP2との間の距離fは、焦点距離122に予め記憶されている外側カメラ61の焦点距離である。
従って、位置推定部142は、画像1と画像2との視差PA(x1−x2)(図9)をまず計測する。位置推定部142は、計測した視差PAと、上記式1〜3と、移動量M2と、焦点距離122の焦点距離fと、を用いて、対象オブジェクトTOBの実際の空間上の点TOB(X,Y,Z)を求めることができる。なお、視差PAを計測するための基準点は任意に定めることができる。例えば、位置推定部142は、対象オブジェクトのエッジEG(図9)を、視差PAを計測するための基準点とすることができる。エッジは、一般的に知られるエッジ検出のアルゴリズム(画像の明るさが鋭敏に変化している箇所を特定するアルゴリズム)によって簡便に求めることができる。エッジは連続した点の集合(線)として検出されることが多いため、このようにすれば、位置推定部142は、1つの点を基準点とする場合と比較して、精度よく画像1、2間の視差を求めることができる。なお、エッジは「特徴」として機能する。
図10は、拡張現実感処理のステップS110について説明するための説明図である。図4のステップS110において位置推定部142は、外側カメラ61に対する使用者の右眼RE(図10)の位置を推定する。具体的には、位置推定部142は、内側カメラ62に対して撮像を指示し、使用者の眼の画像を取得する。位置推定部142は、得られた眼の画像を画像解析することで得られた使用者の右眼REの大きさに基づいて、HMD100の外側カメラ61に対する右眼REの位置RE(x,y,z)を推定する。
図11は、拡張現実感処理のステップS112について説明するための説明図である。図4のステップS112において位置推定部142は、対象オブジェクトTOBの位置と、右眼REの位置とから、右画面上における仮想オブジェクトの表示位置を推定する。具体的には、位置推定部142は、ステップS108で推定した対象オブジェクトTOBの位置TOB(X,Y,Z)と、ステップS110で推定した使用者の右眼REの位置RE(x,y,z)と、の延長線上に対応する右光学像表示部26の座標COを算出する。
図4のステップS114において位置推定部142は、ステップS112で算出した座標COをAR処理部144へ送信する。その後、AR処理部144は、右光学像表示部26の座標COを、右LCD241の座標COxに変換する。その後、AR処理部144は、座標COxに仮想オブジェクトを配置した右眼用画像データーData1を生成し、右眼用画像データーData1を画像処理部160へ送信する。なお、AR処理部144は、座標COxに基づいて仮想オブジェクトの配置を行えば足りる。このため、AR処理部144は、座標COxに基づいて決定された任意の場所(例えば、座標COxから所定の距離だけ離れた場所等)に仮想オブジェクトを配置することができる。
図4のステップS120〜S124において位置推定部142は、使用者の左眼LEに対して、ステップS110〜S114で説明した処理と同様の処理を実施する。すなわち、ステップS120において位置推定部142は、外側カメラ61に対する使用者の左眼LEの位置を推定する。ステップS122において位置推定部142は、対象オブジェクトTOBの位置と左眼LEの位置とから左画面上(左光学像表示部28)における仮想オブジェクトの表示位置を推定する。ステップS124においてAR処理部144は、左光学像表示部28の座標を左LCD242の座標に変換し、変換後の座標に仮想オブジェクトを配置した左眼用画像データーData2を生成、画像処理部160へ送信する。
画像処理部160は、受信した右眼用画像データーData1と左眼用画像データーData2とを画像表示部20へ送信する。その後、図2で説明した表示処理が実行されることで、図3(B)で説明したように、HMD100の使用者は、視野VRに、立体的な仮想オブジェクトVOBを視認することができる。
なお、上記実施形態において位置推定部142は、画像1、2の2つの画像を用いて、外側カメラ61に対する対象オブジェクトの位置を推定した。しかし、位置推定部142は、3つ以上の画像を用いることで、外側カメラ61に対する対象オブジェクトの位置を推定してもよい。3つ以上の画像を用いることとすれば、対象オブジェクトの位置の推定の精度を向上させることができる。
上記拡張現実感処理によれば、位置推定部142は、外景取得部(外側カメラ61)によって経時的に取得された少なくとも2つの外景情報(第1の外景情報として機能する画像1、第2の外景情報として機能する画像2)に基づいて、頭部装着型表示装置(HMD100)の外景取得部に対する対象オブジェクトTOBの位置を推定する。このため、単一の外景情報取得手段(例えば単眼カメラ)を用いて現実世界に存在する任意の対象オブジェクトTOBの位置を把握することが可能な頭部装着型表示装置を提供することができる。また、拡張現実感処理部(AR処理部144)は、推定された対象オブジェクトTOBの位置に基づいて、対象オブジェクトTOBに付加するための仮想オブジェクトVOBを表す虚像VIを画像表示部20に形成させる。このため、現実世界のオブジェクトである対象オブジェクトTOBと、虚像として表示される仮想オブジェクトVOBと、の間のずれを小さくすることができる。
さらに、上記拡張現実感処理によれば、位置推定部142における対象オブジェクトTOBの位置TOB(X,Y,Z)の推定の精度を向上させることができる。例えば、上記実施形態で説明したように、外景取得部(外側カメラ61)の移動量が所定量(移動量閾値124)以上である場合に、位置推定部142が第2の外景情報(画像2)を取得することとする。そうすれば、この所定量(移動量閾値124)を適宜設計することによって、位置推定部142は、外景情報に含まれる外景の特徴(エッジ)の相違(視差PA、図9)が大きな第1の外景情報(画像1)と、第2の外景情報(画像2)と、を用いて、対象オブジェクトTOBの位置TOB(X,Y,Z)を推定することができる。
さらに、上記拡張現実感処理によれば、位置推定部142は、使用者の頭部の動き(回転量M1)を用いて外景取得部(外側カメラ61)の移動量M2(図6)を推定し、第2の外景情報(画像2)を取得することができる。このため、位置推定部142は、使用者が頭部を動かしたことに伴い生じた第1、2の外景情報(画像1、2)に含まれる外景の特徴(エッジ)の相違(視差PA、図9)を用いて、対象オブジェクトTOBの位置TOB(X,Y,Z)を推定することができる。
さらに、上記拡張現実感処理によれば、拡張現実感処理部144は、対象オブジェクトTOBの位置TOB(X,Y,Z)と使用者の眼の位置(RE(x,y,z)、LE(x,y,z))との延長線上に対応する光学像表示部(右光学像表示部26、左光学像表示部28)の位置に基づいて、仮想オブジェクトVOBの位置を決定する。すなわち、拡張現実感処理部144は、光学像表示部越しに使用者が視認する対象オブジェクトTOBの位置に基づいて、仮想オブジェクトVOBの位置を決定することができる。この結果、拡張現実感処理部144は、対象オブジェクトTOBに付加するための仮想オブジェクトVOBを、使用者に違和感を覚えさせない位置に表示させることが可能となる。
さらに、上記拡張現実感処理によれば、位置推定部142は、眼画像取得部(内側カメラ62)によって取得された眼の画像に基づいて、頭部装着型表示装置(HMD100)の外景取得部(外側カメラ61)に対する使用者の眼の位置(RE(x,y,z)、LE(x,y,z))を推定することができる。また、眼画像取得部は、外景取得部の近傍に配置されている。このため、位置推定部142が使用者の眼の位置を推定する際の精度を向上させることができる。
B.第2実施形態:
本発明の第2実施形態では、位置推定部における第2の外景情報の取得トリガーにバリエーションを持たせた構成について説明する。以下では、第1実施形態と異なる構成および動作を有する部分についてのみ説明する。なお、図中において第1実施形態と同様の構成部分については先に説明した第1実施形態と同様の符号を付し、その詳細な説明を省略する。図中において第1実施形態と同様の符号が付されている構成および処理は、第1実施形態と同様である。
B−1.頭部装着型表示装置の構成:
図12は、第2実施形態におけるHMD100aの構成を機能的に示すブロック図である。図2に示した第1実施形態との違いは、制御部10に代えて制御部10aを備える点である。制御部10aは、移動量閾値124に代えて移動量閾値124aを備え、位置推定部142に代えて位置推定部142aを備え、さらに、誘発部146を備えている。
移動量閾値124aには、第2実施形態の拡張現実感処理において用いられる2つの閾値(第1の閾値、第2の閾値)が予め格納されている。第1の閾値は、第1実施形態と同様に「外側カメラ61の移動量」を表す閾値である。第2の閾値は、「外景の特徴の相違」を表す閾値である。なお、移動量閾値124aに記憶されている第1、2の閾値は、それぞれ、使用者による変更が可能であってもよい。位置推定部142aは、拡張現実感処理における処理内容が第1実施形態と異なる。誘発部146は、拡張現実感処理において、使用者の動きを誘発するための虚像を、画像表示部20に形成させる。
B−2.拡張現実感処理:
図13は、第2実施形態における拡張現実感処理の手順を示すフローチャートである。図4に示した第1実施形態との違いは、ステップS102〜S106に代えてステップS202〜S206を備える点である。
ステップS202において位置推定部142aは、外側カメラ61によって撮像された外景画像(図5に示す拡張現実感処理の対象オブジェクトTOBを含んだHMD100aの使用者の視界方向の外景画像)を取得する。本実施形態では、外側カメラ61は、位置推定部142aの指示によらずに繰り返し外景画像を撮像する構成とする。このため、本ステップにおいて位置推定部142aは、繰り返し撮像されている外景画像から、ステップS202を実行した時点の1枚を取得する。なお、第1実施形態と同様に、位置推定部142aは、外側カメラ61に撮像を指示してもよい。位置推定部142aは、取得した外景画像を「画像1」として記憶部120に記憶する。画像1は「第1の外景画像」として機能する。
ステップS204において位置推定部142aは、次の外景画像の取得条件が成立したか否かを判定する。取得条件の詳細は後述する。取得条件が成立しない場合(ステップS204:NO)、位置推定部142aは、取得条件の成立を監視する。
取得条件が成立した場合(ステップS204:YES)、ステップS206において位置推定部142aは、外側カメラ61により繰り返し撮像されている外景画像から、ステップS206を実行した時点の1枚を取得する。位置推定部142aは、取得した外景画像を「画像2」として記憶部120に記憶する。画像2は「第2の外景画像」として機能する。
以降の処理は、図4で説明した第1実施形態と同様である。
図13のステップS204の「次の外景画像の取得条件」について説明する。本実施形態における取得条件は、以下に示す条件a、bである。位置推定部142aは、条件aを単独で採用してもよく、条件bを単独で採用してもよい。また、位置推定部142aは、条件a、bの両方を採用して、ステップS204においていずれか一方の条件が成立したか否かを判定してもよい。
(a)外側カメラ61の移動量が所定量以上となった場合
(b)外景情報に含まれる外景の特徴の相違が所定量以上となった場合
B−2−1.条件a(外側カメラ61の移動量が所定量以上となった場合):
条件aを採用した場合、位置推定部142aは、ステップS202で画像1を取得した時を起点とする外側カメラ61の移動量M2(図6)が、移動量閾値124aに格納されている第1の閾値以上となったか否かを判定する。位置推定部142aは、外側カメラ61の移動量M2を、少なくとも、以下の方法a1〜a3のいずれかを用いて推定する。方法a1〜a3は組み合わせて使用されてもよい。
(a1)方法a1において位置推定部142aは、使用者の頭部の動きから外側カメラ61の移動量を推定する。具体的には、位置推定部142aは、9軸センサー66から、HMD100aの使用者の頭部の動きに伴う速度、加速度、角速度、向き、向きの変化(以降、これらを総称して「加速度等」とも呼ぶ。)を繰り返し取得する。
頭部の動きが回転移動であった場合、位置推定部142aは、取得した加速度等から頭部の回転量M1(図6)を求める。位置推定部142aは、求めた回転量M1から外側カメラ61の移動量M2を求めることで、外側カメラ61の移動量M2を推定する。具体的には、頭部の動きがX,Y,Z軸の直線移動や曲線移動であった場合、位置推定部142aは、取得した加速度等から頭部の移動量を求める。位置推定部142aは、求めた移動量を外側カメラ61の移動量M2とみなすことで、外側カメラ61の移動量を推定する。このように、頭部の動き、および、外側カメラ61の動きには、回転移動に限らず、X,Y,Z軸方向の直線移動や曲線移動も含まれる。以降の方法a2、a3についても同様である。なお、このとき、9軸センサー66は、使用者の頭部の動きを検出する「第1の動き検出部」として機能する。
このように、方法a1によれば、位置推定部142aは、使用者の頭部の動きを用いて外景取得部(外側カメラ61)の移動量M2(図6)を推定し、第2の外景情報(画像2)を取得することができる。使用者の頭部の動きは、使用者が意識的に行ったものでも、使用者が無自覚に行ったものでもよい。位置推定部142aは、使用者が頭部を動かしたことに伴い生じた第1、2の外景情報(画像1、2)に含まれる外景の特徴(エッジ)の相違(視差PA、図9)を用いて、対象オブジェクトTOBの位置TOB(X,Y,Z)を推定することができる。
(a2)方法a2において位置推定部142aは、使用者の体の動きから外側カメラ61の移動量を推定する。
図14は、拡張現実感処理のステップS204(方法a2)の一例について説明する図である。図14において、上段は歩行中の使用者USの頭部の鉛直方向における変化の推移を表し、下段は歩行中の使用者USの頭部の水平方向における変化の推移を表す。歩行中の使用者USの頭部の位置は、時間の経過(t1〜t5)に伴い、鉛直方向に沿って周期的に変化し、軌跡O1を描く(図14、上段)。同時に、歩行中の使用者USの頭部の位置は、時間の経過(t1〜t5)に伴い、水平方向に沿って周期的に変化し、軌跡O2を描く(図14、下段)。時刻t1、t3、t5に示すように、使用者USの足が地面GRに着地した際、着地に伴う衝撃B1、B2、B3が生じる。このとき、外側カメラ61の位置P1、P2、P3は、使用者の歩幅の大きさだけ移動している。
位置推定部142aは、9軸センサー66によって検出される速度、加速度、角速度、向き、向きの変化(以降、これらを総称して「加速度等」とも呼ぶ。)を繰り返し取得する。このとき、9軸センサー66は、使用者の体の動きを検出する「第2の動き検出部」として機能する。位置推定部142aは、取得した加速度等の変化量に基づいて、歩行中の着地に伴う衝撃B1〜B3を検出する。位置推定部142aは、衝撃を検出した際に、前回の衝撃検出時からの外側カメラ61の移動量は、使用者の歩幅の大きさであるとみなすことができる。なお、使用者の歩幅の大きさは、予め記憶部120に記憶されていてもよいし、加速度等の変化量に基づいて求められてもよい。方法a2の一例では、このようにして外側カメラ61の移動量を推定する。
なお、使用者の体の動きに伴う衝撃であれば、歩行中の着地以外の場合(例えば、使用者が走っている場合、スキップしている場合、躓いた場合等)にも、上記の方法を採用可能である。
図15は、拡張現実感処理のステップS204(方法a2)の他の例について説明する図である。この例では、使用者は、HMD100aとは別に、腕に3軸加速度センサーを装着する。3軸加速度センサーは、例えば、アームバンド、腕時計、ブレスレット、指輪等、使用者が腕に装着する物に内蔵されていてもよい。図15は、歩行中の使用者の腕に装着された加速度センサーの検出値の推移を表している。X軸は、前後方向(換言すれば進行方向)の腕の振りによる加速度の変化を、Y軸は、上下方向(換言すれば鉛直方向)の腕の振りによる加速度の変化を、Z軸は、左右方向(換言すれば水平方向)の腕の振りによる加速度の変化を、それぞれ表している。歩行中の使用者の腕の振りによるX,Y,Z軸の加速度は、図示のように、時間の経過に伴い周期的に変化する。
位置推定部142aは、腕に装着された加速度センサーによって検出される加速度を、繰り返し取得する。このとき、腕に装着された加速度センサーは、使用者の体の動きを検出する「第2の動き検出部」として機能する。位置推定部142aは、取得したX,Y,Z軸の加速度の少なくともいずれか1つについて、周期的な変化の中で特徴のある点(以降、「特徴点」とも呼ぶ。)を検出する。例えば、位置推定部142aは、Y軸の加速度が最も高くなる点FPを特徴点として検出する。位置推定部142aは、特徴点を検出した際に、前回の特徴点検出時からの外側カメラ61の移動量は、使用者の歩幅の大きさであるとみなすことができる。なお、使用者の歩幅の大きさは、予め記憶部120に記憶されていてもよいし、加速度の変化量に基づいて求められてもよい。方法a2の他の例では、このようにして外側カメラ61の移動量を推定する。
このように、方法a2によれば、位置推定部142aは、使用者の体の動きを用いて外景取得部(外側カメラ61)の移動量を推定し、第2の外景情報(画像2)を取得することができる。使用者の体の動きは、使用者が意識的に行ったものでも、使用者が無自覚に行ったものでもよい。位置推定部142aは、使用者が体を動かしたことに伴い生じた第1、2の外景情報(画像1、2)に含まれる外景の特徴(エッジ)の相違(視差PA、図9)を用いて、対象オブジェクトTOBの位置TOB(X,Y,Z)を推定することができる。
(a3)方法a3において位置推定部142aは、使用者の現在位置情報から外側カメラ61の移動量を推定する。具体的には、位置推定部142aは、GPSモジュール134から、HMD100aの使用者の移動に伴う現在位置情報の変化を繰り返し取得する。位置推定部142aは、取得した現在位置情報の変化量から、外側カメラ61の移動量を求める。このとき、GPSモジュール134は、使用者の現在位置情報を取得する「現在位置取得部」として機能する。
なお、使用者の現在位置情報の変化は、GPSモジュール134以外の方法で取得しても良い。例えば、位置推定部142aは、使用者の現在位置情報を自立航法によって求めてもよいし、車載GPSモジュールから受信してもよい。
このように、方法a3によれば、位置推定部142aは、使用者の現在位置情報を用いて(外側カメラ61)の移動量を推定し、第2の外景情報(画像2)を取得することができる。使用者の移動(現在位置の変化)は、使用者が意識的に行ったものでも、使用者が無自覚に行ったものでもよい。このようにすれば、使用者の動き(頭部の動きや体の動き)を検出する構成を有しないHMD100aにおいても、位置推定部142aは、第2の外景情報(画像2)を取得することができる。
以上のように、ステップS204の取得条件として条件a(外側カメラ61の移動量が所定量以上となった場合)を採用すれば、位置推定部142aにおける対象オブジェクトTOBの位置TOB(X,Y,Z)の位置の推定の精度を向上させることができる。例えば、上記実施形態で説明したように、外景取得部(外側カメラ61)の移動量が所定量(移動量閾値124aの第1の閾値)以上である場合に、位置推定部142aが第2の外景情報(画像2)を取得することとする。そうすれば、この所定量(移動量閾値124aの第1の閾値)を適宜設計することによって、位置推定部142aは、外景情報に含まれる外景の特徴(エッジ)の相違(視差PA、図9)が大きな第1の外景情報(画像1)と、第2の外景情報(画像2)と、を用いて、対象オブジェクトTOBの位置TOB(X,Y,Z)を推定することができる。
なお、上述した方法a1〜a3において、誘発部146は、使用者の動き(頭部の動き、体の動き、現在位置の移動)を誘発するための虚像を画像表示部20に形成させてもよい。
図16は、使用者の動きを誘発するための虚像VIの一例を示す図である。例えば、誘発部146は、使用者の注意を喚起するためのオブジェクトVO1を、視野VRの一端から他端へ移動させる。オブジェクトVO1は画像でもよく、文字列でもよい。オブジェクトVO1は、使用者の注意を引きやすくするために、色相、明度、彩度、大きさ等が調整された画像や文字列であることが好ましい。図16の例では、人の顔を模した画像VO1を、視野VRの左端から右端へ移動させている。このようにすれば、誘発部146は、オブジェクトVO1を眼で追わせることによって、使用者の頭部の動きを誘発することができる。
図17および図18は、使用者の動きを誘発するための虚像VIの他の例を示す図である。図17は、時刻t1における虚像VIを示し、図18は、時刻t1よりも後の時刻t2における虚像VIを示している。例えば、図17に示すように、誘発部146は、対象オブジェクトTO2に付加するための仮想オブジェクトVO2を、不完全な形で表示させる。図17の例では、木に付加するための仮想オブジェクトである「ブナの木」という文字列が、一部切れた不完全な形で表示されている。このようにすれば、誘発部146は、不完全なオブジェクトVO2を眼で追わせることによって、使用者の頭部の動きを誘発することができる。図18の例では、使用者が頭部を回転させて視野VRを右にずらしたことに伴って、木に付加するための仮想オブジェクト「ブナの木」という文字列が完全な形で表示されている。
誘発部146は、上述した虚像と共に、または、上述した虚像に代えて、以下に示す画像c1〜c4を表す虚像を画像表示部20に形成させてもよい。なお、画像c1〜c4は、静止画でもよく、動画でもよい。
(c1)使用者を驚かせることで、頭部の動きや体の動きを誘発するための画像。例えば、使用者の恐怖心を煽り、顔(頭部)や体を背けさせるためのホラー画像、使用者の驚きを煽り、顔(頭部)や体を背けさせるためのフラッシュ画像。
(c2)使用者に動きを指示することで、頭部の動き、体の動き、現在位置の移動を誘発するための画像。例えば、使用者に動きの真似をさせるためのラジオ体操をする人の画像、ヨガをする人の画像、ストレッチをする人の画像、シャドーボクシングをする人の画像。例えば、「XXに行ってください」等、使用者に移動を指示する画像。
(c3)使用者に質問を投げ掛けることで、頭部の動き、体の動きを誘発するための画像。例えば、現在時刻を問い掛ける画像、使用者が居る環境に関する質問を問いかける画像。
(c4)使用者の所定のジェスチャーや所定の動きをさせることで、頭部の動き、体の動きを誘発するための画像。例えば、HMD100aに対して、使用者が上を向くと虚像VIの輝度が下がり、下を向くと虚像VIの輝度が上がるという機能が予め搭載されているとする。このような場合に、使用者の操作を誘発するために、虚像VIの輝度を上げる(または下げる)。
このように、誘発部146が使用者の動き(頭部の動き、体の動き、現在位置の移動)を誘発するための虚像VIを画像表示部20に形成させることとすれば、位置推定部142aは、第2の外景情報(画像2)を取得しやすくなる。
B−2−2.条件b(外景情報に含まれる外景の特徴の相違が所定量以上となった場合):
図19および図20は、拡張現実感処理のステップS204(条件b)について説明する図である。条件bは、HMD100aの使用者は動かず、対象オブジェクトが動く場合に有効である。図19は、第2実施形態の拡張現実感処理(図13)のステップS202(時刻t1)において取得された画像1の一例である。図20は、外側カメラ61によって繰り返し撮像されている外景画像のうち、時刻t1より後の時刻t2において撮像された外景画像IMの一例である。
位置推定部142aは、ステップS202(時刻t1)において取得された画像1に含まれる対象オブジェクトFOのエッジEG(特徴)と、時刻t2において撮像された外景画像IMに含まれる対象オブジェクトFOのエッジEGと、をそれぞれ検出し、両エッジの相違が、移動量閾値124aに格納されている第2の閾値以上となったか否かを判定する。なお、位置推定部142aは、例えば、時刻t1、t2、t3に取得された3枚以上の画像を用いて、対象オブジェクトのエッジの相違を判定してもよい。
以上のように、ステップS204の取得条件として条件b(外景情報に含まれる外景の特徴の相違が所定量以上となった場合)を採用すれば、位置推定部142aにおける対象オブジェクトTOBの位置TOB(X,Y,Z)の推定の精度を向上させることができる。例えば、外景情報に含まれる外景の特徴(エッジ)の相違が所定量(移動量閾値124aの第2の閾値)以上である場合に、位置推定部142aが第2の外景情報(画像2)を取得することとする。そうすれば、この所定量(移動量閾値124aの第2の閾値)を適宜設計することによって、位置推定部142aは、外景情報に含まれる外景の特徴(エッジ)の相違が大きな第1の外景情報(画像1)と、第2の外景情報(画像2)と、を用いて、対象オブジェクトTOBの位置TOB(X,Y,Z)を推定することができる。
以上のように、第2実施形態の拡張現実感処理によっても、第1実施形態と同様に、単一の外景情報取得手段(例えば単眼カメラ)を用いて現実世界に存在する任意の対象オブジェクトTOBの位置を把握することが可能な頭部装着型表示装置(HMD100a)を提供することができる。
なお、HMD100aは、HMDにおいて再生中のコンテンツや、使用者による設定に基づいて、上述した条件aを採用するか、条件bを採用するか、条件aを採用する場合に方法a1〜a3のいずれを用いるか、条件aを採用する場合の使用者の動きを誘発するための虚像の表示の有無および虚像の種類を変更してもよい。このようにすれば、再生中のコンテンツや使用者の好みに応じて、条件等を最適化することが可能となる。
C.変形例:
上記実施形態において、ハードウェアによって実現されるとした構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されるとした構成の一部をハードウェアに置き換えるようにしてもよい。その他、以下のような変形も可能である。
・変形例1:
上記実施形態では、HMDの構成について例示した。しかし、HMDの構成は、本発明の要旨を逸脱しない範囲において任意に定めることが可能であり、例えば、各構成部の追加・削除・変換等を行うことができる。
上記実施形態における、制御部と、画像表示部とに対する構成要素の割り振りは、あくまで一例であり、種々の態様を採用可能である。例えば、以下のような態様としてもよい。(i)制御部にCPUやメモリー等の処理機能を搭載、画像表示部には表示機能のみを搭載する態様、(ii)制御部と画像表示部との両方にCPUやメモリー等の処理機能を搭載する態様、(iii)制御部と画像表示部とを一体化した態様(例えば、画像表示部に制御部が含まれ眼鏡型のウェアラブルコンピューターとして機能する態様)、(iv)制御部の代わりにスマートフォンや携帯型ゲーム機を使用する態様、(v)制御部と画像表示部とを無線LANや赤外線通信やBluetooth(登録商標)等の無線の信号伝送路を介した接続により接続し、接続部(コード)を廃した態様。なお、この場合において、制御部または画像表示部に対する給電をワイヤレスにより実施してもよい。
例えば、上記実施形態で例示した制御部、画像表示部の構成は任意に変更することができる。具体的には、例えば、上記実施形態では、制御部が送信部を備え、画像表示部が受信部を備えるものとしたが、送信部および受信部はいずれも、双方向通信が可能な機能を備えており、送受信部として機能してもよい。また、例えば、制御部が備えるとした操作用インターフェイス(各種キーやトラックパッド等)の一部を省略してもよい。また、制御部に操作用スティック等の他の操作用インターフェイスを備えても良い。また、制御部にはキーボードやマウス等のデバイスを接続可能な構成として、キーボードやマウスから入力を受け付けるものとしてもよい。例えば、電源として二次電池を用いることしたが、電源としては二次電池に限らず、種々の電池を使用することができる。例えば、一次電池や、燃料電池、太陽電池、熱電池等を使用してもよい。
図21は、変形例におけるHMDの外観の構成を示す説明図である。図21(A)の例の場合、画像表示部20xは、右光学像表示部26に代えて右光学像表示部26xを備え、左光学像表示部28に代えて左光学像表示部28xを備えている。右光学像表示部26xと左光学像表示部28xとは、上記実施形態の光学部材よりも小さく形成され、HMDの装着時における使用者の右眼および左眼の斜め上にそれぞれ配置されている。図21(B)の例の場合、画像表示部20yは、右光学像表示部26に代えて右光学像表示部26yを備え、左光学像表示部28に代えて左光学像表示部28yを備えている。右光学像表示部26yと左光学像表示部28yとは、上記実施形態の光学部材よりも小さく形成され、HMDの装着時における使用者の右眼および左眼の斜め下にそれぞれ配置されている。このように、光学像表示部は使用者の眼の近傍に配置されていれば足りる。また、光学像表示部を形成する光学部材の大きさも任意であり、光学像表示部が使用者の眼の一部分のみを覆う態様、換言すれば、光学像表示部が使用者の眼を完全に覆わない態様のHMDとして実現することもできる。
例えば、制御部が備えるとした各処理部(例えば画像処理部、表示制御部等)は、CPUがROMやハードディスクに格納されているコンピュータープログラムをRAMに展開して実行することにより実現されるものとして記載した。しかし、これら機能部は、当該機能を実現するために設計されたASIC(Application Specific Integrated Circuit:特定用途向け集積回路)を用いて構成されてもよい。
例えば、HMDは、両眼タイプの透過型HMDであるものとしたが、単眼タイプのHMDとしてもよい。また、使用者がHMDを装着した状態において外景の透過が遮断される非透過型HMDとして構成してもよい。また、例えば、画像表示部として、眼鏡のように装着する画像表示部に代えて、通常のディスプレイ装置(液晶ディスプレイ装置、プラズマディスプレイ装置、有機ELディスプレイ装置、ビーム走査型ディスプレイ等)を採用してもよい。この場合にも、制御部と画像表示部との間の接続は、有線の信号伝送路を介した接続であってもよいし、無線の信号伝送路を介した接続であってもよい。このようにすれば、制御部を、通常のディスプレイ装置のリモコンとして利用することもできる。また、例えば、画像表示部として、眼鏡のように装着する画像表示部に代えて、例えば帽子のように装着する画像表示部といった他の形状の画像表示部を採用してもよい。また、イヤホンは耳掛け型やヘッドバンド型を採用してもよく、省略しても良い。また、例えば、自動車や飛行機等の車両に搭載されるヘッドアップディスプレイ(HUD、Head-Up Display)として構成されてもよい。また、例えば、ヘルメット等の身体防護具に内蔵されたHMD、手持ち可能なハンドヘルドディスプレイ(HHD、Hand Held Display)として構成されてもよい。また、外景の透過が遮断される非透過型HMDと外側カメラと組合せてビデオシースルー型HMDとして構成しても良い。
例えば、上記実施形態では、画像光生成部は、バックライトと、バックライト制御部と、LCDと、LCD制御部とを用いて構成されるものとした。しかし、上記の態様はあくまで例示である。画像光生成部は、これらの構成部と共に、またはこれらの構成部に代えて、他の方式を実現するための構成部を備えていても良い。例えば、画像光生成部は、有機EL(有機エレクトロルミネッセンス、Organic Electro-Luminescence)のディスプレイと、有機EL制御部とを備える構成としても良い。また、例えば、画像生成部は、LCDに代えてデジタル・マイクロミラー・デバイス等を用いることもできる。また、例えば、レーザー網膜投影型の頭部装着型表示装置に対して本発明を適用することも可能である。
例えば、上記実施形態では、外景取得部(外側カメラ)が画像表示部に内蔵されている構成を例示した。しかし、外景取得部は、画像表示部に取り外し可能に構成されていてもよい。具体的には、例えば、外景取得部として、クリップやアタッチメントを用いて画像表示部に着脱可能なWEBカメラを採用してもよい。このようにしても、外景取得部によって経時的に取得された少なくとも2つの外景情報に基づき、外景取得部に対する対象オブジェクトの位置を推定することができる。なお、対象オブジェクトの位置を推定する際に、画像表示部と外景取得部との相対的な位置を考慮してもよい。画像表示部と外景取得部との相対的な位置は、画像取得部と外景取得部とのそれぞれに変位センサーを設けることによって検出可能である。
例えば、上記実施形態では、外景取得部(外側カメラ)の配置の一例を示した。しかし、外側カメラの配置は任意に変更することができる。例えば、外側カメラは、使用者の眉間に対応する位置に配置されていてもよく、使用者の左側のこめかみに対応する位置に配置されていてもよい。また、外側カメラの画角についても任意に定めることができる。なお、外側カメラの画角を広く(例えば360度)した場合、拡張現実感処理において、外側カメラにより得られた外景画像から、対象オブジェクトを含む一部を抽出するステップが実施されてもよい。
・変形例2:
上記実施形態では、拡張現実感処理の一例を示した。しかし、上記実施形態においてに示した処理の手順はあくまで一例であり、種々の変形が可能である。例えば、一部のステップを省略してもよいし、更なる他のステップを追加してもよい。また、実行されるステップの順序を変更してもよい。
例えば、ステップS102、S202において位置推定部は、使用者の頭部の動きから外側カメラの移動量を推定することとしたが、外側カメラの近傍にモーションセンサーを付加し、当該モーションセンサーの検出値を用いて直接外側カメラの移動量を取得しても良い。
例えば、ステップS104、S204において位置推定部は、外側カメラの移動量が移動量閾値に記憶されている閾値以上となったか否かによって画像2を取得するか否かの判定を行った。しかし、位置推定部は、他の条件を用いて画像2を取得するか否かの判定を実施してもよい。例えば、位置推定部は、外側カメラの位置が画像2を取得するに当たって好ましい位置であるか否かを判断の条件としてもよい。「外側カメラの位置が画像2を取得するに当たって好ましい位置」とは、例えば、外側カメラの移動量が所定量以上であり、かつ、外側カメラのy軸上の位置(高さ)が画像1を取得した時点から大きな変化が無い場合、とすることができる。外側カメラのy軸上の位置(高さ)の条件を加えることとすれば、上記式1〜3における前提(y1=y2)を担保することができる。
例えば、ステップS104、S204において位置推定部は、使用者の動き(頭部の動きや体の動き)の速さに応じて、ステップS104またはS204において使用する閾値を変更してもよい。この場合、記憶部内の移動量閾値に早さに応じた複数の閾値を格納しておき、使用する閾値を変更してもよい。また、移動量閾値に格納されている閾値に対して、速さに応じた係数を乗じることで、使用する閾値を変更してもよい。なお、使用者の動きの早さは、例えば、9軸センサーによって検出される加速度に基づいて検出可能である。
例えば、ステップS104、S204において位置推定部は、使用者の動き(頭部の動きや体の動き)の大きさの傾向を学習して、ステップS104またはS204において使用する閾値を変更してもよい。
例えば、ステップS108において位置推定部は、ステレオ画像処理以外の周知の他の技術を利用して、画像1と画像2との視差から、外側カメラに対する対象オブジェクトの位置を推定することができる。
例えば、ステップS108において位置推定部は、複数の静止画像から外側カメラに対する対象オブジェクトの位置を推定するとした。しかし、位置推定部は、動画像(経時的に取得された複数の静止画像の集合)を用いて、外側カメラに対する対象オブジェクトの位置を推定してもよい。
例えば、ステップS108において位置推定部は、外景の特徴として、外景画像に含まれるエッジを検出した。しかし、外景の特徴はエッジに限られない。例えば、位置推定部は、対象オブジェクトの特定の位置(例えば中心)や、対象オブジェクトの色を、外景の特徴として用いてもよい。この場合、位置推定部は、例えば、画像解析によって、画像1、2に含まれる対象オブジェクトの特定の位置や色を検出することができる。
例えば、ステップS110およびS120において位置推定部は、外側カメラに対する使用者の右眼および左眼の位置を推定することとした。しかし、外側カメラに対する使用者の右眼および左眼の位置は、予め記憶部に記憶されていることとし、ステップS110およびS120を省略してもよい。また、位置推定部は、内側カメラで眼の画像を取得することに代えて、超音波や赤外線を用いて、外側カメラに対する使用者の右眼および左眼の位置を推定してもよい。
例えば、上記実施形態において位置推定部が実行するとした処理は、拡張現実感処理部が実行してもよく、拡張現実感処理部が実行するとした処理は、位置推定部が実行してもよい。
例えば、上述した拡張現実感処理は、繰り返し実行されてもよい。図4の拡張現実感処理を繰り返す場合、HMDは、1回目の処理ではステップS102〜S114(S124)を実行し、2回目以降の処理ではステップS104〜S114(S124)を実行する。図13の拡張現実感処理を繰り返す場合、HMDは、1回目の処理ではステップS202〜S114(S124)を実行し、2回目以降の処理ではステップS204〜S114(S124)を実行する。これらの場合、画像1を画像n(nは1以上の整数)と、画像2を画像n+1と読み替える。
・変形例3:
本発明は、上述の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替えや組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。