A.実施形態:
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が使用者の頭部に装着されているときには、使用者の頭部の動きを検出する「動き検出部」として機能する。ここで、頭部の動きとは、頭部の速度・加速度・角速度・向き・向きの変化を含む。
画像表示部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と、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(登録商標)といった所定の無線通信規格に則って他の機器との間で無線通信を行う。
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に含まれている任意の物を意味する。以降、現実世界に存在するオブジェクトであって、拡張現実感処理の対象となるオブジェクトを「対象オブジェクト」とも呼ぶ。また、「オブジェクトを拡張する」とは、対象オブジェクトに対して情報を付加、削除、強調、減衰等させることを意味する。以降、対象オブジェクトに付加、削除、強調、減衰等される情報(付加提示用の情報)を「仮想オブジェクト」とも呼ぶ。図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は、以下のようにして、外側カメラ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は、外景取得部(外側カメラ61)に第1の外景情報(画像1)を取得させた後における、外景取得部の移動量(M2)が、移動量閾値124に記憶されている所定の閾値を超えた場合に、外景取得部に第2の外景情報(画像2)を取得させる。このため、移動量閾値124に記憶されている所定の閾値を適宜設計することによって、位置推定部142は、対象オブジェクトTOBの位置を推定するために適した第2の外景情報を取得させることができる。さらに、位置推定部142は、動き検出部(9軸センサー66)によって検出された使用者の頭部の動き(回転量M1)から、外景取得部の移動量(M2)を推定する。このため、位置推定部142は、使用者の頭部の動きを検出するための構成、すなわち動き検出部による検出値を利用して、外景取得部の移動量を推定することができる。
さらに、上記拡張現実感処理によれば、拡張現実感処理部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.変形例:
上記実施形態において、ハードウェアによって実現されるとした構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されるとした構成の一部をハードウェアに置き換えるようにしてもよい。その他、以下のような変形も可能である。
・変形例1:
上記実施形態では、HMDの構成について例示した。しかし、HMDの構成は、本発明の要旨を逸脱しない範囲において任意に定めることが可能であり、例えば、各構成部の追加・削除・変換等を行うことができる。
上記実施形態における、制御部と、画像表示部とに対する構成要素の割り振りは、あくまで一例であり、種々の態様を採用可能である。例えば、以下のような態様としてもよい。(i)制御部にCPUやメモリー等の処理機能を搭載、画像表示部には表示機能のみを搭載する態様、(ii)制御部と画像表示部との両方にCPUやメモリー等の処理機能を搭載する態様、(iii)制御部と画像表示部とを一体化した態様(例えば、画像表示部に制御部が含まれ眼鏡型のウェアラブルコンピューターとして機能する態様)、(iv)制御部の代わりにスマートフォンや携帯型ゲーム機を使用する態様、(v)制御部と画像表示部とを無線LANや赤外線通信やBluetooth(登録商標)等の無線の信号伝送路を介した接続により接続し、接続部(コード)を廃した態様。なお、この場合において、制御部または画像表示部に対する給電をワイヤレスにより実施してもよい。
例えば、上記実施形態で例示した制御部、画像表示部の構成は任意に変更することができる。具体的には、例えば、上記実施形態では、制御部が送信部を備え、画像表示部が受信部を備えるものとしたが、送信部および受信部はいずれも、双方向通信が可能な機能を備えており、送受信部として機能してもよい。また、例えば、制御部が備えるとした操作用インターフェイス(各種キーやトラックパッド等)の一部を省略してもよい。また、制御部に操作用スティック等の他の操作用インターフェイスを備えても良い。また、制御部にはキーボードやマウス等のデバイスを接続可能な構成として、キーボードやマウスから入力を受け付けるものとしてもよい。例えば、電源として二次電池を用いることしたが、電源としては二次電池に限らず、種々の電池を使用することができる。例えば、一次電池や、燃料電池、太陽電池、熱電池等を使用してもよい。
図12は、変形例におけるHMDの外観の構成を示す説明図である。図12(A)の例の場合、画像表示部20xは、右光学像表示部26に代えて右光学像表示部26xを備え、左光学像表示部28に代えて左光学像表示部28xを備えている。右光学像表示部26xと左光学像表示部28xとは、上記実施形態の光学部材よりも小さく形成され、HMDの装着時における使用者の右眼および左眼の斜め上にそれぞれ配置されている。図12(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において位置推定部は、使用者の頭部の動きから外側カメラの移動量を推定することとしたが、外側カメラの近傍にモーションセンサーを付加し、当該モーションセンサーの検出値を用いて直接外側カメラの移動量を取得しても良い。
例えば、ステップS104において位置推定部は、外側カメラの移動量が移動量閾値に記憶されている閾値以上となったか否かによって画像2を取得するか否かの判定を行った。しかし、位置推定部は、他の条件を用いて画像2を取得するか否かの判定を実施してもよい。例えば、位置推定部は、外側カメラの位置が画像2を取得するに当たって好ましい位置であるか否かを判断の条件としてもよい。「外側カメラの位置が画像2を取得するに当たって好ましい位置」とは、例えば、外側カメラの移動量が所定量以上であり、かつ、外側カメラのy軸上の位置(高さ)が画像1を取得した時点から大きな変化が無い場合、とすることができる。外側カメラのy軸上の位置(高さ)の条件を加えることとすれば、上記式1〜3における前提(y1=y2)を担保することができる。
例えば、ステップS108において位置推定部は、ステレオ画像処理以外の周知の他の技術を利用して、画像1と画像2との視差から、外側カメラに対する対象オブジェクトの位置を推定することができる。
例えば、ステップS108において位置推定部は、複数の静止画像から外側カメラに対する対象オブジェクトの位置を推定するとした。しかし、位置推定部は、動画像(経時的に取得された複数の静止画像の集合)を用いて、外側カメラに対する対象オブジェクトの位置を推定してもよい。
例えば、ステップS110およびS120において位置推定部は、外側カメラに対する使用者の右眼および左眼の位置を推定することとした。しかし、外側カメラに対する使用者の右眼および左眼の位置は、予め記憶部に記憶されていることとし、ステップS110およびS120を省略してもよい。また、位置推定部は、内側カメラで眼の画像を取得することに代えて、超音波や赤外線を用いて、外側カメラに対する使用者の右眼および左眼の位置を推定してもよい。
例えば、上記実施形態において位置推定部が実行するとした処理は、拡張現実感処理部が実行してもよく、拡張現実感処理部が実行するとした処理は、位置推定部が実行してもよい。
・変形例3:
本発明は、上述の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替えや組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。