(57)【要約】【課題】仮想的なＵＩに対する操作をジェスチャーによって容易に入力可能にする技術の提供。【解決手段】利用者の視野から入力する光を透過するとともに画像を表示可能な表示部と、前記視野内に配置されたオブジェクトを検出するオブジェクト検出部と、前記表示部を介して利用者に視認される前記オブジェクトの像に対して重畳された状態で前記利用者に視認される仮想ＵＩを前記表示部に表示させる画像表示部と、前記利用者の前記オブジェクトに対するジェスチャーを検出するジェスチャー検出部と、検出されたジェスチャーに基づいて、前記仮想ＵＩに対する前記利用者の操作を受け付ける操作受付部と、を備えるヘッドマウントディスプレイを構成する。【選択図】図２
2016126687.tif 000002
【特許請求の範囲】
【請求項１】
利用者の視野から入力する光を透過するとともに画像を表示可能な表示部と、
前記視野内に配置されたオブジェクトを検出するオブジェクト検出部と、
前記表示部を介して利用者に視認される前記オブジェクトの像に対して重畳された状態で前記利用者に視認される仮想ＵＩを前記表示部に表示させる画像表示部と、
前記利用者の前記オブジェクトに対するジェスチャーを検出するジェスチャー検出部と、
検出されたジェスチャーに基づいて、前記仮想ＵＩに対する前記利用者の操作を受け付ける操作受付部と、
を備えるヘッドマウントディスプレイ。
【請求項２】
前記画像表示部は、
前記オブジェクト検出部によって、前記オブジェクトが視野外から前記視野内に移動したことが検出された場合に、前記仮想ＵＩの表示を開始する、
請求項１に記載のヘッドマウントディスプレイ。
【請求項３】
アプリケーションプログラムを実行可能な制御部をさらに備え、
前記画像表示部は、
前記アプリケーションプログラムの実行過程において、前記オブジェクト検出部によって前記オブジェクトが視野外から前記視野内に移動したことが検出された場合に、前記アプリケーションプログラムによる処理の少なくとも一部を一時停止して前記仮想ＵＩの表示を開始し、
前記オブジェクトが前記視野内から前記視野外に移動したことが検出された場合に、前記仮想ＵＩの表示を停止し、前記アプリケーションプログラムによる処理を再開する、
請求項１または請求項２のいずれかに記載のヘッドマウントディスプレイ。
【請求項４】
前記画像表示部は、
複数のアイコンを含む前記仮想ＵＩを前記表示部に表示させ、
前記ジェスチャー検出部は、
前記利用者が前記アイコンを選択する前記ジェスチャーを検出する、
請求項１〜請求項３のいずれかに記載のヘッドマウントディスプレイ。
【請求項５】
利用者の視野内に配置されたオブジェクトを検出するオブジェクト検出工程と、
前記視野から入力する光を透過するとともに画像を表示可能な表示部を介して利用者に視認される前記オブジェクトの像に対して重畳された状態で前記利用者に視認される仮想ＵＩを前記表示部に表示させる画像表示工程と、
前記利用者の前記オブジェクトに対するジェスチャーを検出するジェスチャー検出工程と、
検出されたジェスチャーに基づいて、前記仮想ＵＩに対する前記利用者の操作を受け付ける操作受付工程と、
を含む操作受付方法。
【請求項６】
利用者の視野内に配置されたオブジェクトを検出するオブジェクト検出機能と、
前記視野から入力する光を透過するとともに画像を表示可能な表示部を介して利用者に視認される前記オブジェクトの像に対して重畳された状態で前記利用者に視認される仮想ＵＩを前記表示部に表示させる画像表示機能と、
前記利用者の前記オブジェクトに対するジェスチャーを検出するジェスチャー検出機能と、
検出されたジェスチャーに基づいて、前記仮想ＵＩに対する前記利用者の操作を受け付ける操作受付機能と、
をコンピューターに実現させる操作受付プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ヘッドマウントディスプレイ、操作受付方法および操作受付プログラムに関する。
【背景技術】
【０００２】
従来、ヘッドマウントディスプレイを利用する利用者の操作を受け付ける各種の技術が開発されている。例えば、特許文献１においては、オペレーターの手に固定されたＲＦＩＤタグや接触センサーを利用してオペレーターによる入力を受け付ける入力装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の技術においては、オペレーターが空中で指による操作を行うことで表示部に表示されたマウスポインタに対する操作を行う構成である。しかし、一般的な利用者が空中で指等によるジェスチャーを行う際には指等の位置のブレが発生しやすい。また、実体のないマウスポインタを空中の指等で操作する行為は、選択操作としての実感がわきにくい。従って、従来の技術においては、仮想的なＵＩに対する操作をジェスチャーによって入力することが困難であった。
本発明のある態様は、仮想的なＵＩに対する操作をジェスチャーによって容易に入力可能にする技術を提供することを目的とする。また、本発明の他の態様は、他者に違和感を与えることが少ないジェスチャー入力を可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するためのヘッドマウントディスプレイは、利用者の視野から入力する光を透過するとともに画像を表示可能な表示部と、視野内に配置されたオブジェクトを検出するオブジェクト検出部と、表示部を介して利用者に視認されるオブジェクトの像に対して重畳された状態で利用者に視認される仮想ＵＩを表示部に表示させる画像表示部と、利用者のオブジェクトに対するジェスチャーを検出するジェスチャー検出部と、検出されたジェスチャーに基づいて、仮想ＵＩに対する利用者の操作を受け付ける操作受付部と、を備える。
【０００６】
すなわち、利用者の視野内にオブジェクトが存在する状態において、当該オブジェクトの像には仮想ＵＩが重畳される。このように、オブジェクトの像と重畳された仮想ＵＩが視認可能な状態において、利用者がオブジェクトに対してジェスチャーを行うと仮想ＵＩに対する操作が受け付けられる。従って、利用者は、視野内にオブジェクトを保持した状態で、実体のあるオブジェクトという物体に対するジェスチャーで仮想ＵＩに対する操作を行うことができる。
【０００７】
このため、利用者は、実体を伴わない空中の像に対して操作を行う場合よりもブレが少ない状態でジェスチャーを行うことができ、仮想的なＵＩに対する操作をジェスチャーによって容易に入力することができる。また、実体のあるオブジェクトに対するジェスチャーという実感を伴うジェスチャーによって仮想ＵＩに対する操作を行うことができる。従って、利用者は、違和感を覚えることなく入力を行うことができる。さらに、ジェスチャーを行う利用者以外の他者が当該利用者を観察可能な状況を想定すると、オブジェクトに対するジェスチャーは、空中に対するジェスチャーと比較して他者に違和感を与えることが少ない。このため、衆人環境下におけるヘッドマウントディスプレイの利用を促進することが可能である。
【０００８】
ここで、表示部は、利用者の視野から入力する光を透過するとともに画像を表示可能であればよい。すなわち、表示部は、利用者の視野から入力する光（視線の先にある物体からの出力光や反射光等）を透過するシースルーの表示部であり、当該光の透過とともに任意の画像の表示が可能である。このような構成により、利用者が、視野内の実体のあるオブジェクトと表示部上に表示された画像とを同時に視認できるように構成されていれば良い。なお、このような表示部としては、例えば、特定の方向からの光を透過するとともに、他の方向からの反射するスクリーンが眼前に配置され、当該スクリーンに任意の画像を投影可能である構成等を想定可能である。
【０００９】
オブジェクト検出部は、視野内に配置されたオブジェクトを検出することができればよい。すなわち、オブジェクト検出部は、仮想ＵＩの表示対象となるオブジェクトを検出することができればよい。ここで、オブジェクトは、少なくともオブジェクトの像と仮想ＵＩの像とが重畳された状態で仮想ＵＩを表示できるように検出されればよい。従って、表示部を透過するオブジェクトの像が特定または推定できるようにオブジェクトが検出されることが好ましく、例えば、視野内に存在するオブジェクトの位置や形状が検出される構成等を想定することができる。
【００１０】
オブジェクトは、実体のある物体であり、仮想ＵＩが重畳される対象となる物体であればよく、予め決められた物体であればよい。例えば、人体の一部（例えば、掌）や、人に着用された衣服の一部（例えば、腕を覆う袖の一部）、平面を有する物体、色が均一な面を含む物体、直線で囲まれた物体（例えば、矩形のカードなど）などであってよい。いずれにしても、既定の物体が予め検出対象のオブジェクトとして定義されていればよい。さらに、オブジェクトは、種々の原理で検出されてよい。例えば、オブジェクト検出部としての画像撮影部で撮影された画像からオブジェクトの特徴量（色や大きさ、形、形状等）が検出された場合にオブジェクトが検出されたと見なす構成でもよいし、他のセンサーが利用される構成であってもよい。
【００１１】
後者としては、例えば、オブジェクトとの距離を検出する距離センサーやオブジェクトの位置を検出する位置センサー等であってもよい。むろん、オブジェクトが検出される範囲は限定的であってもよい。例えば、視野の正面や所定の位置など、予め検出範囲が設定されてもよいし、オブジェクトが所定の距離以内の範囲にオブジェクトが存在する場合に当該オブジェクトが検出される構成であってもよい。
【００１２】
画像表示部は、表示部を介して利用者に視認されるオブジェクトの像に対して重畳された状態で利用者に視認される仮想ＵＩを表示部に表示させることができればよい。すなわち、画像表示部は、視野内の任意の物体が表示部を介して視認される状態において、当該表示部に任意の画像を表示可能であり、当該任意の画像としての仮想ＵＩを表示部に表示すればよい。
【００１３】
仮想ＵＩは、表示部を介して利用者に視認されるオブジェクトの像に対して重畳された状態で利用者に視認されるＵＩであればよく、ＵＩで実現される機能の目的やＵＩ上に含まれるアイコン等の形状等は任意である。また、仮想ＵＩは、オブジェクトの像に対して重畳されて利用されればよく、当該仮想ＵＩをオブジェクトに重畳する主体は、画像表示部であってもよいし、利用者であってもよい。
【００１４】
前者としては、例えば、オブジェクト検出部によって検出されたオブジェクトの位置や形状等に基づいて、画像処理部が、オブジェクト上の表示位置を特定し、当該表示位置に仮想ＵＩを重ねるために表示部上に仮想ＵＩを表示すべき位置を特定し、当該位置に仮想ＵＩを表示辞する構成を採用可能である。後者としては、画像処理部が表示部の任意の位置や表示部上のオブジェクトの像の付近に仮想ＵＩを表示し、利用者が、当該仮想ＵＩと透過したオブジェクトの像とを視認しながらオブジェクトを移動させることで、利用者が仮想ＵＩをオブジェクトの像に重畳させる構成が挙げられる。
【００１５】
ジェスチャー検出部は、利用者のオブジェクトに対するジェスチャーを検出することができればよい。すなわち、利用者はオブジェクトの像と当該オブジェクトの像に対して重畳された仮想ＵＩとを同時に視認しているため、利用者がオブジェクトに対してジェスチャーを行うと、利用者は、オブジェクト上の仮想ＵＩに対してジェスチャーが行われているようにジェスチャーを視認することができる。そこで、ジェスチャー検出部は、当該オブジェクトに対する利用者のジェスチャーを検出することができればよい。
【００１６】
オブジェクトに対するジェスチャーは、オブジェクトを利用した利用者の体の一部（指等）の動作であればよく、例えば、オブジェクトの表面に対する指等のタッチ、タップ、指等によるスワイプ、ピンチイン、ピンチアウト、手書きによる文字の筆記または図形の描画、等が挙げられる。当該ジェスチャーの検出は、種々のセンサーによって実施可能であり、例えば、ジェスチャー検出部としての画像撮影部で撮影された画像から指等の特徴量を検出し、当該指等の特徴量に基づいてオブジェクト上で指等によって所定の動作が行われたことを検出することでジェスチャーを検出する構成等が挙げられる。なお、ジェスチャーは、オブジェクトに触れた状態で行われてもよいし、オブジェクトに触れた状態で行われなくてもよい。例えば、後者としては、オブジェクトの付近で手を振るジェスチャー等が挙げられる。なお、後者のジェスチャーであっても、実体のある物体を基準にしている点で、基準のない空中でジェスチャーが行われるよりも好ましいが、前者のように、オブジェクトに触れた状態でジェスチャーが行われると、実体のある物体に触れた状態のジェスチャーによって仮想ＵＩを操作することができて好ましい。
【００１７】
操作受付部は、検出されたジェスチャーに基づいて、仮想ＵＩに対する利用者の操作を受け付けることができればよい。すなわち、操作受付部は、既定のジェスチャーと仮想ＵＩとの関係から既定のジェスチャーが示す操作を受け付けることができればよい。例えば、画像表示部が、複数のアイコンまたは仮想キーを含む仮想ＵＩを表示部に表示させ、ジェスチャー検出部が、利用者がアイコンまたは仮想キーを選択するジェスチャー（タップ等）を検出する構成を採用し、操作受付部が当該ジェスチャーによって指示された操作を受け付ける構成等を採用可能である。むろん、操作はアイコンの選択以外にも種々の操作が想定され、例えば、ピンチイン、ピンチアウトによって縮小、拡大指示が行われたこと、手書きによる文字の筆記または図形の描画がされたこと、を受け付ける構成を採用することができる。
【００１８】
さらに、オブジェクト検出部によってオブジェクトが視野外から視野内に移動したことが検出された場合に、画像表示部が仮想ＵＩの表示を開始する構成を採用してもよい。この構成によれば、利用者は、単にオブジェクトを視野外から視野内に移動させるのみで仮想ＵＩによる操作入力を開始することができる。
【００１９】
さらに、ヘッドマウントディスプレイが、アプリケーションプログラムを実行可能な制御部を備え、画像表示部が、アプリケーションプログラムの実行過程において、オブジェクト検出部によってオブジェクトが視野外から視野内に移動したことが検出された場合に、アプリケーションプログラムによる処理の少なくとも一部を一時停止して仮想ＵＩの表示を開始し、オブジェクトが視野内から視野外に移動したことが検出された場合に、仮想ＵＩの表示を停止し、アプリケーションプログラムによる処理を再開する構成であってもよい。この構成によれば、利用者は、単にオブジェクトを視野外から視野内に移動させるのみで、実行中の処理を中断させて仮想ＵＩによる操作入力を開始することができ、さらに、単にオブジェクトを視野内から視野外に移動させるのみで、仮想ＵＩによる操作入力を終了させ、中断していた処理を再開させることができる。
【００２０】
さらに、本発明のように、オブジェクトの像に仮想ＵＩが重畳表示された状態でオブジェクトに対してジェスチャーを行うことで操作入力を行う手法は、プログラムや方法としても適用可能である。また、以上のような装置、プログラム、方法は、単独の装置として実現される場合もあれば、複合的な機能を有する装置において共有の部品を利用して実現される場合もあり、各種の態様を含むものである。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態にかかるヘッドマウントディスプレイの使用状態を示す図である。
【図２】本発明の実施形態にかかるヘッドマウントディスプレイのブロック図である。
【図３】操作受付処理のフローチャートである。
【図４】（４Ａ）は、オブジェクトに重畳される仮想ＵＩを示す図であり、（４Ｂ）はオブジェクトと表示部と利用者の目との位置関係を示す図である。
【発明を実施するための形態】
【００２２】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）ヘッドマウントディスプレイの構成：
（２）操作受付処理：
（３）他の実施形態：
【００２３】
（１）ヘッドマウントディスプレイの構成：
図１は、本発明の実施形態にかかるヘッドマウントディスプレイの使用状態を示す図であり、図２は、本発明の実施形態にかかるヘッドマウントディスプレイのブロック図である。本実施形態において、ヘッドマウントディスプレイは、制御装置１０と表示装置５０とによって構成される。表示装置５０は、眼鏡型の装置であり、利用者の鼻と耳を支点にして利用者の眼前に配置されて利用される。表示装置５０は、利用者が装着した状態において左目ＥＬの眼前に位置する導光部５１と右目ＥＲの眼前に位置する導光部５２とを備えている。本実施形態において、導光部５１，５２は可視光を透過する樹脂で形成されており、利用者は、視野から導光部５１，５２を介して入力する可視光によって視野内の風景を視認することができる。
【００２４】
本実施形態においては、さらに、導光部５１，５２の内部に、一部の光を透過し、一部の光を反射する表示部８１，８２が備えられている。表示部８１，８２は、利用者の左目ＥＬ、右目ＥＲにおいて正面を見た場合の視線方向に対して傾斜するように配置されているハーフミラーである。この結果、図２において破線の矢印で示すように、視野からの可視光が表示部８１，８２を透過して左目ＥＬ、右目ＥＲに到達する。また、図２において一点鎖線の矢印で示すように、左目画像投影部６１、右目画像投影部６２（詳細は後述）が出力する可視光が表示部８１，８２で反射されて左目ＥＬ、右目ＥＲに到達する。従って、表示部８１，８２は、利用者の視野から入力する光を透過するとともに画像を表示可能なスクリーンであり、当該表示部８１，８２により、利用者は、表示装置５０の外部（視野）からの可視光と、左目画像投影部６１、右目画像投影部６２が出力する可視光とが重畳された状態で、双方の光が形成する像を同時に視認することができる。
【００２５】
表示装置５０は、左目画像投影部６１、右目画像投影部６２以外に、インターフェイス６０ａ，６０ｂ、撮像部７０、距離センサー７１を備えている。左目画像投影部６１および右目画像投影部６２は、図示しない光源、光変調装置、光学系等を備えており、光源から出力される可視光の透過量を光変調装置によって画素毎に制御し、光学系を介して表示部８１，８２に出力することができる。
【００２６】
また、左目画像投影部６１、右目画像投影部６２のそれぞれには、インターフェイス６０ａ，６０ｂが接続されている。インターフェイス６０ａ，６０ｂには制御装置１０のインターフェイス４０から延びる配線が接続され、制御装置１０および表示装置５０は、当該配線を介して通信を行うことができる。本実施形態において、左目画像投影部６１、右目画像投影部６２は、インターフェイス６０ａ，６０ｂが出力する画像情報に基づいて画像を表示する。すなわち、左目画像投影部６１、右目画像投影部６２は、インターフェイス６０ａ，６０ｂが出力する画像情報に基づいて各画素の透過量を制御することにより、表示部８１，８２に画像を投影する。
【００２７】
撮像部７０は、導光部５１，５２の間の部位（眼鏡におけるブリッジに相当する部位）に取り付けられたカメラであり、左目ＥＬ、右目ＥＲの視野方向が撮影方向になるように取り付けられている。撮像部７０には、インターフェイス６０ａから延びる配線が接続されており、撮像部７０は当該配線を介して送信される制御信号によって制御される。また、撮像部７０で撮影された画像は当該配線を介してインターフェイス６０ａに送信される。
【００２８】
距離センサー７１は、導光部５１，５２の間の部位に取り付けられたセンサーである。距離センサー７１は、種々の構成によって実現可能であり、例えば、非可視光（例えば、赤外線等）の出力部と検出部とを備え、出力部から出力された非視光が検出対象のオブジェクトで反射した反射光を取得し、出力から検出までのタイムラグに基づいてオブジェクトと距離センサー７１との距離を検出するセンサー等によって構成可能である。
【００２９】
距離センサー７１には、インターフェイス６０ａから延びる配線が接続されており、距離センサー７１は当該配線を介して送信される制御信号によって制御される。また、距離センサー７１で検出された距離を示す情報は当該配線を介してインターフェイス６０ａに送信される。なお、図２においては、インターフェイス６０ａと撮像部７０，距離センサー７１を結ぶ配線を、簡単のために表示装置５０の外部を通る矢印で表現しているが、本実施形態において当該配線は表示装置５０の内部を通っている。
【００３０】
制御装置１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ等を備える制御部２０とインターフェイス４０とボタン４１とディスプレイ４２とを備えており、制御部２０は、ＲＯＭ等に記録されたプログラムを実行することができる。
【００３１】
ボタン４１は、直方体の制御装置１０の表面に押し込み可能に設けられ、制御部２０は当該ボタン４１に対する押し込み操作が行われたことを検出することができる。利用者は当該ボタン４１に対して押し込み操作を行うことで、各種の指示や選択等の操作を行うことができる。なお、図１においては、制御装置１０の表面に設けられた複数のボタンの中の１個に引き出し線を付して示している。
【００３２】
ディスプレイ４２は、任意の画像を表示するディスプレイと、当該ディスプレイ上における任意の複数の位置に対するタッチを検出するタッチセンサーとを備えた装置である。制御部２０は、当該ディスプレイ４２に対して制御信号を出力することでディスプレイ４２に任意の画像を表示させることができる。また、制御部２０は、ディスプレイ４２からの出力信号に基づいて、利用者がディスプレイ４２に触れることによる指示等を取得することができる。インターフェイス４０には表示装置５０のインターフェイス６０ａ，６０ｂから延びる配線が接続される。
【００３３】
本実施形態において制御部２０は、ＲＯＭ等に記録された図示しない各種のプログラムを実行することが可能である。本実施形態においては、これらのプログラムとして動画の再生プログラム等の各種アプリケーションプログラムや、表示装置５０を装着する利用者の操作を検出する操作受付プログラム２１が含まれている。制御部２０は、これらのアプリケーションプログラムの処理により、各種の機能を実行することができる。例えば、動画の再生プログラムにより、制御部２０は、フレーム毎の左目用の画像と右目用の画像を生成し、生成された画像を順次インターフェイス４０，６０ａ，６０ｂを介して左目画像投影部６１、右目画像投影部６２に出力する。この結果、表示装置５０の表示部８１，８２においてはフレーム毎の画像が表示され、利用者は、視野内のオブジェクトとともに再生された動画を視認することができる。
【００３４】
本実施形態においては、ボタン４１によって各種のアプリケーションプログラムの実行指示を行うことが可能であるとともに、視野内のオブジェクトを利用して各種のアプリケーションプログラムの実行指示を行うことも可能である。このような実行指示の検出は、操作受付プログラム２１によって行われる。当該検出を行うため、操作受付プログラム２１は、オブジェクト検出部２１ａと画像表示部２１ｂとジェスチャー検出部２１ｃと操作受付部２１ｄとを備えている。
【００３５】
オブジェクト検出部２１ａは、視野内に配置されたオブジェクトを検出する機能を制御部２０に実現させるプログラムモジュールである。すなわち、制御部２０は、オブジェクト検出部２１ａの処理により、インターフェイス４０，６０ａを介して撮像部７０を制御し、撮像部７０が順次出力する画像情報を取得する。また、制御部２０は、オブジェクト検出部２１ａの処理に基づいて、画像情報が示す画像に所定のオブジェクトが含まれるか否かを判定する。
【００３６】
そして、制御部２０は、画像情報が示す画像の少なくとも一領域を視野と見なし、視野外から視野内に所定の形状および大きさのオブジェクトが移動してきたと判定される場合、視野内にオブジェクトが配置されていると検出する。オブジェクトは、実体のある物体であり、仮想ＵＩが重畳される対象となる物体であればよく、予め決められた物体であればよい。なお、ここでは、矩形の平面を持つ物体（例えば、名刺のような物体）を検出対象のオブジェクトとしている例を想定する。図２においては、オブジェクト１００が視野内に配置された状態を例示している。上記少なくとも一領域とは、撮像部７０が撮像した画像のうち、例えば、利用者が表示部８１、８２を介して視認する外景に対応付けられた部分であり、後述するキャリブレーションにより対応付けられている。なお、撮像部７０のカメラパラメーターによっては、撮像した画像の全領域が、上記視認される外景に対応付けられることもある。
【００３７】
画像表示部２１ｂは、表示部８１，８２を介して利用者に視認されるオブジェクト１００の像に対して重畳された状態で利用者に視認される仮想ＵＩを表示部に表示させる機能を制御部２０に実現させるプログラムモジュールである。本実施形態において、仮想ＵＩは、制御部２０で実行可能なアプリケーションプログラムの実行指示を受け付けるためのＵＩであり、各アプリケーションプログラムを示すアイコンが列記されたＵＩである。図４Ａは、当該仮想ＵＩの例を示す図であり、同図４Ａにおいては、破線の領域Ｒｕ内に列記された正方形でアプリケーションプログラム毎のアイコンＩｃを模式的に示している。
【００３８】
本実施形態において、制御部２０は、画像表示部２１ｂの処理により、オブジェクト１００の像に仮想ＵＩを重畳するために必要な仮想ＵＩの表示位置および大きさを取得する。すなわち、制御部２０は、画像表示部２１ｂの処理により、撮像部７０で撮影された画像情報に基づいて、オブジェクト１００の位置を特定し、当該オブジェクト１００の像の所定位置に仮想ＵＩを表示するために、各アイコンを表示すべき表示部８１，８２上の表示位置を取得する。
【００３９】
さらに、制御部２０は、画像表示部２１ｂの処理により、予めＲＯＭに記録されたアイコンの画像情報に基づいて、表示部８１，８２上の各表示位置に表示すべきアイコンを示す画像情報を生成する。当該処理は、右目と左目とのそれぞれに対して実行される。左目用の画像と右目用の画像とが生成されると、制御部２０は、画像表示部２１ｂの処理により、左目画像投影部６１を制御して表示部８１に左目用の画像を表示させ、画像表示部２１ｂの処理により、右目画像投影部６２を制御して表示部８２に右目用の画像を表示させる。この結果、利用者は、左目ＥＬ、右目ＥＲのそれぞれにて、オブジェクト１００の像に対して重畳された仮想ＵＩを視認することができる。
【００４０】
ジェスチャー検出部２１ｃは、利用者のオブジェクト１００に対するジェスチャーを検出する機能を制御部２０に実現させるプログラムモジュールである。すなわち、オブジェクト１００の像に仮想ＵＩが重畳された状態において、利用者はオブジェクト１００の像と当該オブジェクト１００の像に対して重畳された仮想ＵＩとを同時に視認することになる。従って、利用者がオブジェクト１００に対してジェスチャーを行うと、利用者は、オブジェクト１００上の仮想ＵＩに対してジェスチャーが行われているようにジェスチャーを視認することができる。
【００４１】
そこで、本実施形態においては、オブジェクト１００に対するジェスチャーにより、オブジェクト１００に重畳された仮想ＵＩを利用した入力を行うように予め決められている。具体的には、仮想ＵＩの各アイコンが重畳される部位に相当するオブジェクト１００上の位置を指でタップするジェスチャーが行われた場合、制御部２０は、各アイコンが指示されたと見なし、各アイコンに対応するアプリケーションプログラムを起動する。
【００４２】
このようなＵＩを実現するため、制御部２０は、ジェスチャー検出部２１ｃの処理により、インターフェイス４０，６０ａを介して撮像部７０を制御し、撮像部７０が順次出力する画像情報を取得する。また、制御部２０は、ジェスチャー検出部２１ｃの処理に基づいて、画像情報が示す画像に利用者の指が含まれるか否かを判定する。利用者の指が含まれる場合、制御部２０は、ジェスチャー検出部２１ｃの処理により、時系列的に連続する画像情報に基づいて指がタップに相当する動作をしたか否かを判定する。タップに相当する動作が検出された場合、制御部２０は、ジェスチャー検出部２１ｃの処理により、利用者がオブジェクト１００に対するジェスチャーを行ったと判定する。
【００４３】
操作受付部２１ｄは、検出されたジェスチャーに基づいて、仮想ＵＩに対する利用者の操作を受け付ける機能を制御部２０に実現させるプログラムモジュールである。すなわち、タップに相当するジェスチャーが検出された場合、制御部２０は、当該ジェスチャーと仮想ＵＩとの関係からタップ位置に重畳されたアイコンが示すアプリケーションプログラムの起動指示を受け付ける。具体的には、制御部２０は、撮像部７０が撮影した画像情報に基づいて、利用者がタップしたオブジェクト１００上の位置を取得する。さらに、制御部２０は、当該利用者がタップしたオブジェクト１００上の位置に重畳するように、画像表示部２１ｂによって表示されていた仮想ＵＩとしてのアイコンを特定する。そして、制御部２０は、当該アイコンが示すアプリケーションプログラムを実行する。
【００４４】
以上の構成においては、利用者は、視野内にオブジェクト１００を保持した状態で、実体のあるオブジェクト１００という物体に対するジェスチャーで仮想ＵＩに対する操作を行うことができる。このため、利用者は、実体を伴わない空中の像に対して操作を行う場合よりもブレが少ない状態でジェスチャーを行うことができ、仮想的なＵＩに対する操作をジェスチャーによって容易に入力することができる。また、実体のあるオブジェクト１００に対するジェスチャーという実感を伴うジェスチャーによって仮想ＵＩに対する操作を行うことができる。従って、利用者は、違和感を覚えることなく入力を行うことができる。
【００４５】
さらに、ジェスチャーを行う利用者以外の他者が当該利用者を観察可能な状況を想定すると、オブジェクト１００に対するジェスチャーは、空中に対するジェスチャーと比較して他者に違和感を与えることが少ない。このため、衆人環境下におけるヘッドマウントディスプレイの利用を促進することが可能である。さらに、本実施形態においては、オブジェクト１００検出部によってオブジェクト１００が視野外から視野内に移動したことが検出された場合に、画像表示部が仮想ＵＩの表示を開始するため、利用者は、単にオブジェクト１００を視野外から視野内に移動させるのみで仮想ＵＩによる操作入力を開始することができる。
【００４６】
（２）操作受付処理：
次に、制御部２０が実行する操作受付処理を図３に示すフローチャートに沿って詳細に説明する。本実施形態において、制御部２０は、任意のアプリケーションプログラムが起動された場合に、操作受付プログラム２１を実行して図３に示す操作受付処理を開始する。制御部２０は、当該任意のアプリケーションプログラムと並行して操作受付処理を実行する。
【００４７】
操作受付処理が開始されると、制御部２０は、オブジェクト検出部２１ａの処理により、視野外から視野内にオブジェクト１００が移動したか否かを判定する（ステップＳ１００）。すなわち、制御部２０は、オブジェクト検出部２１ａの処理により、撮像部７０が順次出力する画像情報に基づいて、各画像にオブジェクト１００が含まれるか否かを判定する。当該判定は、例えば、オブジェクト１００の形状および大きさの特徴量（直線を辺とする矩形が形成されており、矩形の面積が所定面積以上等）に基づいて画像を評価するなどして実行可能である。そして、制御部２０は、時系列的に連続する画像において、画像内にオブジェクト１００が存在しない状態からオブジェクト１００が存在する状態になったか否かを判定し、画像内にオブジェクト１００が存在しない状態からオブジェクト１００が存在する状態になった場合に、視野外から視野内にオブジェクト１００が移動したと判定する。
【００４８】
ステップＳ１００において、視野外から視野内にオブジェクト１００が移動したと判定されない場合、制御部２０は、ステップＳ１００の判定を所定期間毎に繰り返す。一方、ステップＳ１００において、視野外から視野内にオブジェクト１００が移動したと判定された場合、制御部２０は、オブジェクト検出部２１ａの処理により、表示装置５０からオブジェクト１００までの距離を取得する（ステップＳ１０５）。すなわち、制御部２０は、距離センサー７１を制御し、ステップＳ１００で取得された画像が示す位置に存在するオブジェクト１００に赤外線を照射し、反射光を取得させる。そして、制御部２０は、赤外線の出力から反射光の取得までのタイムラグに基づいて表示装置５０からオブジェクト１００までの距離を取得する。
【００４９】
次に、制御部２０は、オブジェクト検出部２１ａの処理により、表示装置５０からオブジェクト１００までの距離が所定範囲内であるか否かを判定する（ステップＳ１１０）。すなわち、制御部２０は、表示装置５０からオブジェクト１００までの距離が第１閾値以上、第２閾値以下である場合に、当該距離が所定範囲内であると判定する。なお、第１閾値および第２閾値は予め決められていればよく、例えば、複数の利用者がオブジェクト１００を手に持って視野内に配置する際にオブジェクト１００が存在し得る範囲を統計等によって特定することによって決定する構成等を採用可能である。
【００５０】
ステップＳ１１０において、オブジェクト１００までの距離が所定範囲内であると判定されない場合、制御部２０は、仮想ＵＩを表示すべき状態ではないと見なしてステップＳ１００以降の処理を繰り返す。一方、ステップＳ１１０において、オブジェクト１００までの距離が所定範囲内であると判定された場合、制御部２０は、オブジェクト検出部２１ａの処理により、オブジェクト１００の形状および大きさを取得する（ステップＳ１１５）。すなわち、制御部２０は、撮像部７０にて撮影された画像情報から特徴量を抽出し、オブジェクト１００の視野内での形状および大きさ（２次元の画像座標系での形状および大きさ）を特定する。具体的には、制御部２０は、オブジェクト１００の境界と面積を特定する。なお、境界の一部は連続していない状態でもよい（例えば、辺の一部が指で隠れている等）。
【００５１】
次に、制御部２０は、オブジェクト検出部２１ａの処理により、オブジェクト１００の形状および大きさが所定範囲であるか否かを判定する（ステップＳ１２０）。すなわち、制御部２０は、ステップＳ１１５で取得されたオブジェクト１００の形状および大きさが、仮想ＵＩを重畳可能な形状および大きさとして予め決められた範囲であるか否かを判定する。ここで、仮想ＵＩを重畳可能な形状としては、仮想ＵＩを列記するように重畳可能な形状であればよく、例えば、長方形からの変形度が所定の度合い以下である矩形であれば（過度に歪んだ平行四辺形ではないなど）、仮想ＵＩを重畳可能な範囲の形状と見なす構成等を採用可能である。むろん、形状は矩形に限定されず、円形や他の多角形であってもよい。また、仮想ＵＩを重畳可能な大きさとしては、仮想ＵＩとしての複数のアイコンを重畳可能な大きさであればよく、例えば、面積が所定の閾値以上である場合に仮想ＵＩを重畳可能な範囲の大きさと見なす構成等を採用可能である。
【００５２】
ステップＳ１２０において、オブジェクトの形状および大きさが所定範囲であると判定されない場合、制御部２０は、仮想ＵＩを表示すべき状態ではないと見なしてステップＳ１００以降の処理を繰り返す。一方、ステップＳ１２０において、オブジェクトの形状および大きさが所定範囲であると判定された場合、制御部２０は、画像表示部２１ｂの処理により、オブジェクト１００の像に仮想ＵＩを重畳するための表示位置を取得する（ステップＳ１２５）。
【００５３】
具体的には制御部２０は、画像表示部２１ｂの処理により、撮像部７０で撮影された画像情報に基づいて、画像面に平行な方向のオブジェクト１００の位置を特定する。さらに、制御部２０は、ステップＳ１０５において取得された表示装置５０からオブジェクト１００までの距離に基づいて画像面に垂直な方向のオブジェクト１００の位置を特定する。すなわち、制御部２０は、画像内でのオブジェクト１００の位置および表示装置５０からオブジェクト１００までの距離の位置に、オブジェクト１００の矩形の平面が存在すると仮定し、３次元空間内でのオブジェクト１００の矩形の平面の位置を特定する。
【００５４】
図４Ｂは、左目ＥＬ、右目ＥＲ、表示部８１，８２、導光部５１，５２、オブジェクト１００の関係を模式的に示す図であり、同図４Ｂにおいては、利用者の頭部側から水平面に垂直な方向を見た場合の位置関係を模式的に示している。なお、同図４Ｂにおいて、表示装置５０からオブジェクト１００までの距離はＬｏである。この例において、表示装置５０からオブジェクト１００に向けた方向をｚ軸、ｚ軸に垂直な鉛直方向にｙ軸、ｚ軸およびｙ軸に垂直な方向にｘ軸を設定すると、図４Ｂに示すような座標系が設定され、制御部２０は、このような座標系内でオブジェクト１００の矩形面（ｘ−ｙ平面に平行）の位置をｘ、ｙ座標で特定し、ｚ座標を表示装置５０からオブジェクト１００に向けた距離Ｌｏに基づいて特定する。
【００５５】
オブジェクト１００の矩形の平面の位置が特定されると、制御部２０は、事前のキャリブレーションにより求めた変換マトリクスを利用し、利用者の網膜上でオブジェクト１００の矩形の平面に重なる仮想ＵＩを表示すべき表示部８１，８２上の表示位置を取得する。制御部２０が当該表示位置に仮想ＵＩを表示することにより、利用者は、オブジェクト１００と、表示部８１、８２に表示された仮想ＵＩと、が重畳された状態で視認することができる。なお、取得した表示位置は、オブジェクト１００上の重畳位置（実空間上の位置）から、利用者の目の網膜上の位置（実空間上の位置）までの仮想光路と表示部８１，８２との交点である。例えば、左目ＥＬの網膜上の位置ＰＬで仮想ＵＩを視認させる場合、オブジェクト１００上の重畳位置Ｐｏから左目ＥＬの網膜上の位置ＰＬまでの仮想光路ＬＬと表示部８１との交点が仮想ＵＩの表示位置である。また、右目ＥＲの網膜上の位置ＰＲで仮想ＵＩを視認させる場合、オブジェクト１００上の重畳位置Ｐｏから右目ＥＲの網膜上の位置ＰＲまでの仮想光路ＬＲと表示部８２との交点が仮想ＵＩの表示位置である。
【００５６】
事前のキャリブレーションでは、制御部２０が、表示部８１、８２にキャリブレーション用画像を表示させる。当該表示と併せて、制御部２０は、所定距離に置かれかつキャリブレーション用画像に対応した参照実物体を、撮像部７０を介して認識し、追跡する。このとき、利用者にとってのキャリブレーションの容易さを考慮して、キャリブレーション用画像が参照用物体を追従するように、制御部２０がキャリブレーション用画像の位置を動的に変更してもよい。この状態で、利用者が、ユーザーインターフェイス（例えばディスプレイ４２におけるタッチセンサー）を介してキャリブレーション用画像の位置を、表示部８１、８２上で移動させる。そして、利用者が、キャリブレーション用画像と参照実物体とが重なる（位置、大きさ、向きの少なくとも一つがほぼ一致する）ように視認したタイミングにて、ユーザーインターフェイスを介して制御部２０に通知する。制御部２０は、その通知に応じて、当該タイミングでの参照実物体の検出結果（例えば、撮像部７０による画像上の位置など）に対応したパラメーターを取得し、当該パラメーターに基づき、キャリブレーションのための情報（変換マトリクス、視野と見なされる領域等）を決定し得る。なお、撮像部７０のカメラパラメーター、および撮像部７０と表示部８１、８２との位置関係を表すパラメーターは、工場出荷時に制御部２０（ＲＯＭ）にセットされている。
【００５７】
次に、制御部２０は、実行中の処理を中断する（ステップＳ１３０）。すなわち、制御部２０は、図３に示す操作受付処理と並行して実行していたアプリケーションプログラムによる処理を中断する。この結果、本実施形態においては、オブジェクト１００が視野外から視野内に移動したことが検出され、仮想ＵＩの表示を開始することになった場合に、アプリケーションプログラムによる処理を中断することになる。当該アプリケーションプログラムによる処理の中断は、当該当該アプリケーションプログラムによる処理の少なくとも一部を対象として実行されればよく、例えば、表示部８１，８２において動画を再生するアプリケーションプログラムによって動画を再生している場合において、オブジェクト１００が視野外から視野内に移動したことが検出された場合に、制御部２０が、動画の再生を一時停止する構成等を採用可能である。
【００５８】
次に、制御部２０は、仮想ＵＩを表示する（ステップＳ１３５）。すなわち、制御部２０は、ステップＳ１２５において取得された各アイコンの表示位置に基づいて、左目用の画像と右目用の画像を生成する。すなわち、制御部２０は、画像表示部２１ｂの処理により、予めＲＯＭに記録されたアイコンの画像情報に基づいて、表示部８１上で特定された各表示位置に各アイコンを表示するための情報を左目用の画像として生成する。また、制御部２０は、画像表示部２１ｂの処理により、予めＲＯＭに記録されたアイコンの画像情報に基づいて、表示部８２上で特定された各表示位置に各アイコンを表示するための情報を右目用の画像として生成する。左目用の画像と右目用の画像とが生成されると、制御部２０は、画像表示部２１ｂの処理により、左目画像投影部６１を制御して表示部８１に左目用の画像を表示させ、画像表示部２１ｂの処理により、右目画像投影部６２を制御して表示部８２に右目用の画像を表示させる。この結果、利用者は、左目ＥＬ、右目ＥＲのそれぞれにて、オブジェクト１００の像に対して重畳された仮想ＵＩを視認することができる。
【００５９】
次に、制御部２０は、ジェスチャー検出部２１ｃおよび操作受付部２１ｄにより、ジェスチャー検出処理を実行する（ステップＳ１４０）。すなわち、制御部２０は、ジェスチャー検出部２１ｃの処理により、インターフェイス４０，６０ａを介して撮像部７０を制御し、撮像部７０が順次出力する画像情報を取得する。また、制御部２０は、ジェスチャー検出部２１ｃの処理により、時系列的に連続する画像情報に基づいて指がタップに相当する動作をしたか否かを判定する。タップに相当する動作が検出された場合、制御部２０は、ジェスチャー検出部２１ｃの処理により、利用者がオブジェクト１００に対するジェスチャーを行ったと判定する。
【００６０】
利用者がオブジェクト１００に対するジェスチャーを行ったと判定された場合、制御部２０は、撮像部７０が撮影した画像情報に基づいて、利用者がタップしたオブジェクト１００上の位置を取得する。さらに、制御部２０は、当該利用者がタップしたオブジェクト１００上の位置に重畳するように、画像表示部２１ｂによって表示されていた仮想ＵＩとしてのアイコンを特定する。そして、制御部２０は、当該アイコンが示すアプリケーションプログラムを実行する。
【００６１】
このようなジェスチャー検出処理の実行過程において、利用者がオブジェクト１００に対するジェスチャーを行ったと判定されない場合や、所定の待機期間が経過した場合、制御部２０は、視野内から視野外にオブジェクト１００が移動したか否かを判定する（ステップＳ１４５）。すなわち、制御部２０は、オブジェクト検出部２１ａの処理により、撮像部７０が順次出力する画像情報に基づいて、画像内にオブジェクト１００が存在する状態からオブジェクト１００が存在しない状態になったか否かを判定し、画像内にオブジェクト１００が存在する状態からオブジェクト１００が存在しない状態になった場合に、視野内から視野外にオブジェクト１００が移動したと判定する。
【００６２】
ステップＳ１４５において、視野内から視野外にオブジェクト１００が移動したと判定されない場合、制御部２０は、ステップＳ１４０のジェスチャー検出処理を所定期間毎に繰り返す。一方、ステップＳ１４５において、視野内から視野外にオブジェクト１００が移動したと判定された場合、制御部２０は、中断中の処理を再開する（ステップＳ１５０）。すなわち、制御部２０は、ステップＳ１３０で中断されていたアプリケーションプログラムによる処理を再開する。例えば、動画を再生するアプリケーションプログラムによって動画の再生が一時停止されていた場合、当該動画の再生を再開する。この構成によれば、利用者は、オブジェクトを視野外から視野内に移動させるのみで、実行中の処理を中断させて仮想ＵＩによる操作入力を開始することができ、さらに、オブジェクトを視野内から視野外に移動させるのみで、仮想ＵＩによる操作入力を終了させ、中断していた処理を再開させることができる。
【００６３】
なお、以上の処理において制御部２０は、ステップＳ１０５，Ｓ１１０により、表示装置５０からオブジェクト１００までの距離が所定範囲である場合に、仮想ＵＩを表示する構成となっている。従って、仮想ＵＩは、表示装置５０からの距離が所定範囲以内の位置に存在するオブジェクト１００の像に重畳されるため、オブジェクト１００の位置に変位が生じた場合であっても、仮想ＵＩがオブジェクト１００の像の境界外となってしまう状況が発生することを抑制することが可能である。また、利用者が仮想ＵＩを重畳するオブジェクトとして想定していない像（例えば、遠くにある矩形の物体）を仮想ＵＩの重畳対象として誤検出することを防止することが可能である。
【００６４】
（３）他の実施形態：
以上の実施形態はオブジェクトの像に仮想ＵＩが重畳表示された状態でオブジェクトに対してジェスチャーを行うことで操作入力を行う限りにおいて、他にも種々の実施形態を採用可能である。例えば、仮想ＵＩはアプリケーションプログラムの実行指示を行うためのＵＩに限定されない。例えば、スワイプやピンチイン、ピンチアウト等によって画像の大きさや音量の大きさなど、対象の大きさ等を変化させるためのＵＩや、ＯＳによって提供される各種のＵＩ等、種々のＵＩを想定することができる。むろん、アプリケーションプログラムの中断を伴わない状態で仮想ＵＩによる操作が実行できるように構成されていても良い。例えば、アプリケーションプログラムによって動画等を再生している状態で、動画の再生を中断することなく仮想ＵＩで音量や輝度等を調整可能に構成されていても良い。また、操作入力は、仮想キーによる文字の入力、または手書きによる文字の筆記もしくは図形の描画を含む。
【００６５】
さらに、オブジェクト１００に対するジェスチャーを行ったか否かを判定するための手法としては、種々の手法を採用可能であり、例えば、制御部２０が、撮像部７０や距離センサー７１を利用して利用者の指までの距離を検出し、当該指までの距離が、オブジェクト１００までの距離Ｌｏとほぼ一致した場合に、オブジェクト１００に対するジェスチャーを行った、または行っていると判定する構成等を採用してもよい。さらに、制御装置１０と表示装置５０とは一体であってもよいし、より多数の装置に分かれていてもよい。また、制御部２０の一部が表示装置５０に備えられていてもよいし、表示装置５０の一部が制御装置１０に備えられていてもよい。さらに、上述の実施形態においては、ステップＳ１０５，Ｓ１１０により、表示装置５０からオブジェクト１００までの距離が所定範囲である場合に、仮想ＵＩを表示する構成となっているが、当該処理は省略されてもよい。
【符号の説明】
【００６６】
１０…制御装置、２０…制御部、２１…操作受付プログラム、２１ａ…オブジェクト検出部、２１ｂ…画像表示部、２１ｃ…ジェスチャー検出部、２１ｄ…操作受付部、４０，６０ａ，６０ｂ…インターフェイス、４１…ボタン、４２…ディスプレイ、５０…表示装置、５１，５２…導光部、６０ａ，６０ｂ…インターフェイス、６１…左目画像投影部、６２…右目画像投影部、７０…撮像部、７１…距離センサー、８１，８２…表示部、１００…オブジェクト
【図１】
2016126687.tif 000003
【図２】
2016126687.tif 000004
【図３】
2016126687.tif 000005
【図４】
2016126687.tif 000006