(57)【要約】【課題】映像データから操作機器を認識し、認識した操作対器を操作するための仮想ユーザインターフェイスを表示し、拡張現実空間において操作機器をユーザに操作させる。【解決手段】映像解析部４０１は、映像取得部４００により取得された映像データを解析し、操作機器１０４の識別情報を読み取り、操作機器１０４を認識する。機能情報取得部４０２は、映像解析部４０１により操作機器１０４が認識された場合、操作機器１０４の機能情報の取得要求をサーバ機器１０３に送信し、サーバ機器１０３から機能情報を取得する。仮想ＵＩ生成部４０４は、機能情報取得部４０２により取得された機能情報に基づいて仮想ＵＩを生成する。【選択図】図４
2013172432.tif 000002
【特許請求の範囲】
【請求項１】
現実空間の操作機器を拡張現実空間に取り込み、前記操作機器をユーザに操作させる機器制御装置であって、
前記現実空間を撮像し、前記操作機器の映像データを取得する映像取得部と、
前記映像取得部により取得された前記映像データに含まれる前記操作機器の識別情報を読み取り、前記操作機器を認識する映像解析部と、
前記映像解析部によって読み取られた前記識別情報に基づき、前記操作機器が持つ機能を示す機能情報を取得する機能情報取得部と、
前記機能情報取得部により取得された機能情報に基づき、前記操作機器を前記拡張現実空間で操作するための仮想ユーザインターフェイスを生成する仮想ＵＩ生成部と、
前記仮想ＵＩ生成部により生成された前記仮想ユーザインターフェイスを表示する表示部とを備える機器制御装置。
【請求項２】
前記機器制御装置が備える表示部のサイズ情報に基づき、前記表示部の表示画面上に前記仮想ユーザインターフェイスを表示させるか、前記拡張現実空間内に前記仮想ユーザインターフェイスを表示させるかを判定する表示態様判定部を更に備える請求項１記載の機器制御装置。
【請求項３】
前記表示部の前記サイズ情報は、前記表示部の画面サイズ又は解像度である請求項２記載の機器制御装置。
【請求項４】
ユーザのジェスチャを認識するユーザ入力認識部と、
前記ユーザ入力認識部により認識されたジェスチャに基づいてユーザの入力指示を判定するユーザ入力判定部と、
前記ユーザ入力判定部により、前記拡張現実空間内のある位置を指定するジェスチャがユーザにより入力されたと判定された場合、前記指定された位置に前記仮想ユーザインターフェイスが表示されるように、前記現実空間の映像データに前記仮想ユーザインターフェイスを重畳し、重畳した映像データを前記表示部に表示させる重畳部とを更に備える請求項１〜３のいずれかに記載の機器制御装置。
【請求項５】
前記ユーザ入力判定部により、ある物体に指を接触させるジェスチャがユーザにより入力されたと判定された場合、前記物体と前記指との接触点を認識する接触点認識部を更に備え、
前記重畳部は、前記接触点認識部により認識された接触点に前記仮想ユーザインターフェイスが表示されるように、前記仮想ユーザインターフェイスを前記現実空間の映像データに重畳する請求項４記載の機器制御装置。
【請求項６】
前記接触点認識部は、前記指が接触した前記物体を認識し、
前記重畳部は、前記接触点認識部により認識された物体に前記仮想ユーザインターフェイスが貼り付けられるように、前記仮想ユーザインターフェイスを前記現実空間の映像データに重畳する請求項５記載の機器制御装置。
【請求項７】
前記識別情報は、前記操作機器の表面に記された識別子である請求項１〜６のいずれかに記載の機器制御装置。
【請求項８】
前記識別子は、前記操作機器の型番号、タグ情報、記号、及び２次元コードである請求項７記載の機器制御装置。
【請求項９】
前記映像取得部は、ヘッドマウントディスプレイに装着されたカメラ、携帯機器に搭載されたカメラ、又は現実空間に設置されたカメラである請求項１〜８のいずれかに記載の機器制御装置。
【請求項１０】
前記機能情報取得部は、ヘッドマウントディスプレイ、携帯機器、又はサーバ機器に設けられている請求項１〜９のいずれかに記載の機器制御装置。
【請求項１１】
前記仮想ユーザインターフェイスは、前記操作機器の実際のリモコンを模擬した仮想リモコンである請求項１〜１０のいずれかに記載の機器制御装置。
【請求項１２】
前記機能情報取得部は、前記操作機器又は前記機能情報を予め記憶するサーバ機器から前記機能情報を取得する請求項１〜１１のいずれかに記載の機器制御装置。
【請求項１３】
前記仮想ＵＩ生成部は、ユーザ毎に前記仮想ユーザインターフェイスのレイアウトをカスタマイズする請求項１〜１２のいずれかに記載の機器制御装置。
【請求項１４】
前記仮想ＵＩ生成部は、前記機能情報に含まれる各機能に対応する機器操作指示の入力頻度に基づいて、前記仮想ユーザインターフェイスをカスタマイズする請求項１３記載の機器制御装置。
【請求項１５】
前記仮想ＵＩ生成部は、ユーザの年齢又はユーザからの選択指示に基づいて、前記仮想ユーザインターフェイスをカスタマイズする請求項１３又は１４記載の機器制御装置。
【請求項１６】
現実空間の操作機器を拡張現実空間に取り込み、前記操作機器をユーザに操作させるための機器制御方法であって、
映像取得部が現実空間を撮像し、前記操作機器の映像データを取得する映像取得ステップと、
前記映像取得部により取得された前記映像データに含まれる前記操作機器の識別情報を読み取り、前記操作機器を映像解析部が認識する映像解析ステップと、
前記映像解析部によって読み取られた前記識別情報に基づき、前記操作機器が持つ機能を示す機能情報を機能情報取得部が取得する機能情報取得ステップと、
前記機能情報取得部により取得された機能情報に基づき、前記操作機器を前記拡張現実空間内で操作するための仮想ユーザインターフェイスを仮想ＵＩ生成部が生成する仮想ＵＩ生成ステップと、
前記仮想ＵＩ生成部により生成された前記仮想ユーザインターフェイスを表示部が表示する表示ステップとを備える機器制御方法。
【請求項１７】
現実空間の操作機器を拡張現実空間に取り込み、前記操作機器をユーザに操作させる機器制御装置としてコンピュータを機能させる機器制御プログラムであって、
映像取得部により取得された前記映像データに含まれる前記操作機器の識別情報を読み取り、前記操作機器を認識する映像解析部と、
前記映像解析部によって読み取られた前記識別情報に基づき、前記操作機器が持つ機能を示す機能情報を取得する機能情報取得部と、
前記機能情報取得部により取得された機能情報に基づき、前記操作機器を前記拡張現実空間内で操作するための仮想ユーザインターフェイスを生成する仮想ＵＩ生成部としてコンピュータを機能させる機器制御プログラム。
【請求項１８】
現実空間の操作機器を拡張現実空間に取り込み、前記操作機器をユーザに操作させる機器制御装置の集積回路であって、
映像取得部により取得された映像データに含まれる前記操作機器の識別情報を読み取り、前記操作機器を認識する映像解析部と、
前記映像解析部によって読み取られた前記識別情報に基づき、前記操作機器が持つ機能を示す機能情報を取得する機能情報取得部と、
前記機能情報取得部により取得された機能情報に基づき、前記操作機器を前記拡張現実空間内で操作するための仮想ユーザインターフェイスを生成する仮想ＵＩ生成部とを備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現実空間にある操作機器を拡張現実空間に取り込み、取り込んだ操作機器ユーザをユーザに操作させる技術に関するものである。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（以下、ＰＣと記述する。）やスマートフォンの処理能力の向上に伴い、カメラにより撮像された現実空間の画像上に、現実空間にはない情報を付加することで、新しいユーザエクスペリエンス（以下、ＵＸと記述する。）を提供するアプリケーションが盛んに開発され始めている。このようなＵＸとしては例えばセカイカメラ（登録商標）が知られている。
【０００３】
セカイカメラ（登録商標）では、不特定多数のユーザが付加した「エアタグ」と呼ばれる付加情報（文字・画像・音声）を現実空間の映像に重ねて表示する機能を提供している（例えば、非特許文献１）。以下、セカイカメラが携帯電話に実装されている場合を例に挙げて説明する。
【０００４】
まず、ユーザは、携帯機器が内蔵するカメラを用いて現実空間を撮像する。すると、携帯機器は、内蔵する電子コンパス及びＧＰＳセンサにより携帯電話の向き及び位置等の位置情報を取得する。そして、取得した位置情報に基づきカメラにより撮像された画像に含まれる物体を認識し、認識した物体にエアタグが関連付けられていれば、そのエアタグを現実空間の映像に重畳して表示する。
【０００５】
このようにセカイカメラでは、現実空間の画像にエアタグを重畳表示することで、拡張現実空間の画像を生成し、現実空間の画像だけでは得ることのできない有益な情報をユーザに報知するＵＸが実現されていた。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】“セカイカメラ”[ONLINE]、「平成２３年１２月１９日検索」、インターネット<URL:http://support.sekaicamera.com/
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の従来の技術では、拡張現実空間の映像内にエアタグが表示されるにすぎず、映像内に含まれる物体が操作機器である場合にその操作機器の型番号等の識別情報を認識することは行われていなかった。そのため、操作機器を操作するための仮想ユーザインターフェイスを用いて操作機器をユーザに操作させることができないという問題があった。
【０００８】
本発明の目的は、映像データから操作機器を認識し、認識した操作対器を操作するための仮想ユーザインターフェイスを表示し、拡張現実空間において操作機器をユーザに操作させる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
（１）本発明による現実空間の操作機器を拡張現実空間に取り込み、前記操作機器をユーザに操作させる機器制御装置であって、前記現実空間を撮像し、前記操作機器の映像データを取得する映像取得部と、前記映像取得部により取得された前記映像データに含まれる前記操作機器の識別情報を読み取り、前記操作機器を認識する映像解析部と、前記映像解析部によって読み取られた前記識別情報に基づき、前記操作機器が持つ機能を示す機能情報を取得する機能情報取得部と、前記機能情報取得部により取得された機能情報に基づき、前記操作機器を前記拡張現実空間で操作するための仮想ユーザインターフェイスを生成する仮想ＵＩ生成部と、前記仮想ＵＩ生成部により生成された前記仮想ユーザインターフェイスを表示する表示部とを備える。また、本発明による機器制御方法、機器制御プログラム、集積回路も機器制御装置と同様の特徴を備えている。
【００１０】
この構成によれば、映像データから操作機器の識別情報が読み取られて操作機器が認識され、認識された操作機器の仮想ユーザインターフェイス（仮想ＵＩ）が表示される。そして、ユーザは、表示された仮想ＵＩに対して操作指示を入力すると、操作指示に対応する機能が操作機器で実行される。
【００１１】
したがって、操作機器が仮想ＵＩを介してユーザからの操作指示を受け付ける機能を有していない場合であっても、ユーザは拡張現実空間内において仮想ＵＩを介して操作機器を操作することが可能になる。つまり、拡張現実空間におけるユーザからの操作を全く想定していない操作機器であっても、機器制御装置によって認識されれば、ユーザは操作機器の専用リモコンを用いなくても、仮想ＵＩを介して操作機器を操作することができる。そのため、拡張現実空間において既存の操作機器をユーザに操作させるという全く新たなＵＸをユーザに提供することができ、ユーザの利便性を向上させることができる。
【００１２】
（２）前記機器制御装置が備える表示部のサイズ情報に基づき、前記表示部の表示画面上に前記仮想ユーザインターフェイスを表示させるか、前記拡張現実空間内に前記仮想ユーザインターフェイスを表示させるかを判定する表示態様判定部を更に備えることが好ましい。
【００１３】
本機器制御装置を例えばタブレット端末等の比較的画面サイズの大きい機器に実装させた場合、仮想ＵＩを表示画面上にそのまま表示させても、個々の操作ボタンが大きく表示されるため、ユーザはストレスなく仮想ＵＩを操作することができる。一方、本機器制御装置を例えばＨＭＤに実装する場合、仮想ＵＩを拡張現実空間内に大きく表示させれば、ユーザは仮想ＵＩの操作を容易に行うことができる。
【００１４】
本構成によれば、表示部のサイズ情報に基づき、表示部のサイズを判定し、表示部のサイズが大きい場合、仮想ＵＩを表示部の表示画面上に表示させ、表示部のサイズが小さい場合、仮想ＵＩを拡張現実空間内に大きく表示することができる。そのため、機器制御装置が実装される機器が持つ表示部のサイズに応じてユーザにとって操作の行い易い表示態様で仮想ＵＩを表示することができる。
【００１５】
（３）前記表示部の前記サイズ情報は、前記表示部の画面サイズ又は解像度であることが好ましい。
【００１６】
この構成によれば、画面サイズ（例えば５インチ、１１インチ等）や解像度（例えばｄｐｉ）がサイズ情報として採用されるため、表示部の画面サイズを正確に特定することができる。
【００１７】
（４）ユーザのジェスチャを認識するユーザ入力認識部と、前記ユーザ入力認識部により認識されたジェスチャに基づいてユーザの入力指示を判定するユーザ入力判定部と、前記ユーザ入力判定部により、前記拡張現実空間内のある位置を指定するジェスチャがユーザにより入力されたと判定された場合、前記指定された位置に前記仮想ユーザインターフェイスが表示されるように、前記現実空間の映像データに前記仮想ユーザインターフェイスを重畳し、重畳した映像データを前記表示部に表示させる重畳部とを更に備えることが好ましい。
【００１８】
この構成によれば、ユーザは拡張現実空間内の好みの位置に仮想ＵＩを表示させて仮想ＵＩを操作することができるため、操作性を向上させることができる。また、ユーザは好みの位置をジェスチャを用いて指定するとその位置に仮想ＵＩが表示されるため、従来にはないＵＸをユーザに提供することができる。
【００１９】
（５）前記ユーザ入力判定部により、ある物体に指を接触させるジェスチャがユーザにより入力されたと判定された場合、前記物体と前記指との接触点を認識する接触点認識部を更に備え、前記重畳部は、前記接触点認識部により認識された接触点に前記仮想ユーザインターフェイスが表示されるように、前記仮想ユーザインターフェイスを前記現実空間の映像データに重畳することが好ましい。
【００２０】
この構成によれば、ユーザは物体に指を接触させることで仮想ＵＩの表示位置を入力することができるため、表示位置を指定したという明確な操作感をユーザに与えることができる。
【００２１】
（６）前記接触点認識部は、前記指が接触した前記物体を認識し、前記重畳部は、前記接触点認識部により認識された物体に前記仮想ユーザインターフェイスが貼り付けられるように、前記仮想ユーザインターフェイスを前記現実空間の映像データに重畳することが好ましい。
【００２２】
例えば、拡張現実空間内に仮想ＵＩを浮いたように表示させた場合、ユーザは仮想ＵＩのボタンを押す操作を行ったとしても、実在する物質には触れていないため、ボタンを押したという明確な操作感を得ることができない。本構成では、ユーザがある物体に触れると以後、仮想ＵＩはその物体の表面に貼り付けられて表示される。そのため、ユーザは仮想ＵＩを操作した際に物体に指が触れることになり、仮想ＵＩを操作したという明確な操作感を得ることができる。
【００２３】
（７）前記識別情報は、前記操作機器の表面に記された識別子であることが好ましい。
【００２４】
この構成によれば、操作機器の表面に記された識別子が識別情報とされるため、映像データから識別情報を容易に読み取ることができる。
【００２５】
（８）前記識別子は、前記操作機器の型番号、タグ情報、記号、及び２次元コードであることが好ましい。
【００２６】
操作機器の筐体には、操作機器の型番号や、操作機器の目印となるマークやロゴ等が記載されているのが一般的である。したがって、操作機器の型番号や、操作機器の目印となるマークやロゴ等のタグ情報を読み取ることで、操作機器を正しく認識することができる。また、操作機器によってはマークやロゴの一部の記号に特徴があるものもあり、この場合、記号を読み取ることで操作機器を正しく認識することができる。また、操作機器の認識を容易化するために、操作機器の筐体にＱＲコード（登録商標）やバーコード等の２次元コードが記載されていることもあり、この場合、２次元コードを読み取ることで操作機器を正しく認識することができる。
【００２７】
（９）前記映像取得部は、ヘッドマウントディスプレイに装着されたカメラ、携帯機器に搭載されたカメラ、又は現実空間に設置されたカメラであることが好ましい。
【００２８】
機器制御装置がヘッドマウントディスプレイ（ＨＭＤ）に実装された場合は、ＨＭＤに装着したカメラを映像取得部として採用し、機器制御装置が携帯機器に搭載されたカメラを映像取得部として採用することで、別途カメラを設けることなく既存のカメラを用いて映像データを取得することができる。また、ユーザが移動する空間上にカメラを設置し、このカメラを映像取得部として採用することで、ユーザに操作機器を撮像させなくても、仮想ＵＩをユーザに提示することができる。
【００２９】
（１０）前記機能情報取得部は、ヘッドマウントディスプレイ、携帯機器、又はサーバ機器に設けられていることが好ましい。
【００３０】
この構成によれば、機器制御装置がＨＭＤや携帯機器に実装される場合、機能情報取得部をＨＭＤや携帯機器に内蔵することで速やかに機能情報を取得することができる。また、機能情報取得部をサーバ機器に設けた場合、機器制御装置からサーバ機器に問い合わせることで機能情報を取得することができ、ユーザ側の装置構成を削減することができる。
【００３１】
（１１）前記仮想ユーザインターフェイスは、前記操作機器の実際のリモコンを模擬した仮想リモコンであることが好ましい。
【００３２】
この構成によれば、仮想ＵＩが操作機器の実際のリモコンと同じレイアウトで表示されるため、ユーザは実際のリモコンを操作するときと同じ感覚で仮想ＵＩを操作することができ、違和感なく仮想ＵＩを操作することができる。
【００３３】
（１２）前記機能情報取得部は、前記操作機器又は前記機能情報を予め記憶するサーバ機器から前記機能情報を取得することが好ましい。
【００３４】
この構成によれば、機能情報取得部は操作機器から機能情報を取得する場合、取得した機能情報と操作機器との齟齬を防止することができる。また、機能情報をサーバ機器から取得する場合、最新のバージョンとなるようにサーバ機器側で絶えず機能情報を管理させることで、機器制御装置は最新の機能情報を取得することができる。
【００３５】
（１３）前記仮想ＵＩ生成部は、ユーザ毎に前記仮想ユーザインターフェイスのレイアウトをカスタマイズすることが好ましい。
【００３６】
この構成によれば、ユーザは好みのスタイルに合うように仮想ＵＩをカスタマイズすることができるため、仮想ＵＩの操作性を高めることができる。
【００３７】
（１４）前記仮想ＵＩ生成部は、前記機能情報に含まれる各機能に対応する機器操作指示の入力頻度に基づいて、前記仮想ユーザインターフェイスをカスタマイズすることが好ましい。
【００３８】
この構成によれば、ユーザによってほとんど使用されない機能の操作ボタンが仮想ＵＩから省かれ、真にユーザが必要な機能の操作ボタンのみ仮想ＵＩに含ませることができる。
【００３９】
（１５）前記仮想ＵＩ生成部は、ユーザの年齢又はユーザからの選択指示に基づいて、前記仮想ユーザインターフェイスをカスタマイズすることが好ましい。
【００４０】
例えば、高齢のユーザであれば最低限の機能を実行することができる仮想ＵＩで十分な場合もある。また、最低限の機能を実行することができる仮想ＵＩを表示した場合、全ての機能を実行することができる仮想ＵＩを表示するよりも、各操作ボタンが大きく表示されて視認性が向上するため、老眼を持つ高齢者にとって操作性の高い仮想ＵＩを提供することができる。また、ユーザは自分がよく使用する機能の操作ボタンのみが含まれるように仮想ＵＩをカスタマイズすることができ、仮想ＵＩの操作性を向上させることができる。
【発明の効果】
【００４１】
本発明によれば、機器制御装置に操作機器を認識させることで、ユーザは操作機器の専用リモコンを用いなくても、仮想ＵＩを介して操作機器を操作することができる。そのため、拡張現実空間において既存の操作機器をユーザに操作させるという全く新たなＵＸをユーザに提供することができ、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【００４２】
【図１】ユーザがカメラの機能を使って操作機器を撮像してから、仮想ＵＩが生成されるまでの流れを示した図である。
【図２】図１において生成された仮想ＵＩが表示されるまでの流れを示した図である。
【図３】ユーザが仮想ＵＩを操作する際の流れを示した図である。
【図４】本発明の実施の形態１における機器制御装置の機能ブロック図である。
【図５】発明の実施の形態１による機器制御装置の動作を示すフローチャートである。
【図６】発明の実施の形態１による機器制御装置の動作を示すフローチャートである。
【図７】発明の実施の形態１による機器制御装置の動作を示すフローチャートである。
【図８】仮想ＵＩ登録情報のデータ構造の一例を示した模式図である。
【図９】本発明の実施の形態２における機器制御装置の機能ブロック図である。
【図１０】本発明の実施の形態２における機器制御装置の動作を示すフローチャートであり、図５のＳ５０３に続くフローチャートである。
【図１１】本発明の実施の形態２における機器制御装置の動作を示すフローチャートであり、図１０のＳ７０１及びＳ７０４に続くフローチャートである。
【図１２】本発明の実施の形態による機器制御装置のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００４３】
（実施の形態１）
図１から図３は、本発明の実施の形態１における機器制御装置１０の処理の概要を示した図である。図１から図３において、同じ構成要素については同じ符号を用い、説明を省略する。以下の説明では、本実施の形態による機器制御装置１０をヘッドマウントディスプレイ１０２に実装した場合について説明する。但し、これは一例にすぎず、機器制御装置１０は、スマートフォン、携帯電話、タブレット端末等の携帯機器に実装してもよい。
【００４４】
図１〜図３の例において、機器制御装置１０は、カメラ１０１及びヘッドマウントディスプレイ（以下、“ＨＭＤ”と記述する。）１０２を備えている。
【００４５】
カメラ１０１、例えば、ユーザの前方の現実空間を撮像し、現実空間の映像データを取得する。ＨＭＤ１０２は、ユーザ１００により装着され、カメラ１０１により取得された映像データに仮想ユーザインターフェイス（以下、“仮想ＵＩ”と記述する）等を重畳し、拡張現実空間の映像データを生成して表示する。
【００４６】
サーバ機器１０３は、ＨＭＤ１０２と所定の通信回線を介して接続され、ＨＭＤ１０２に種々のサービスを提供する。また、サーバ機器１０３は通信回線を介して操作機器１０４とも接続されている。サーバ機器１０３は、例えば操作機器１０４に対して通信回線を介して種々のソフトウェアをダウンロードし、操作機器１０４のバージョンアップを行い、操作機器１０４を管理する。ここで、通信回線としては、例えば、インターネット、携帯電話通信網、又は専用回線等が採用されている。
【００４７】
図１は、ユーザ１００がカメラ１０１の機能を使って操作機器１０４を撮像してから、仮想ＵＩが生成されるまでの流れを示した図である。まず、ユーザ１００はカメラ１０１を用いて操作機器１０４を撮像する（ＳＴ１）。次に、カメラ１０１は、映像データから操作機器１０４の筐体に記載されたタグ情報や、型番号等を操作機器１０４の識別情報として読み取る（ＳＴ２）。
【００４８】
次に、カメラ１０１は読み取った識別情報をＨＭＤ１０２に通知する（ＳＴ３）。次に、ＨＭＤ１０２は、操作機器１０４の識別情報をサーバ機器１０３に送信する（ＳＴ４）。次に、サーバ機器１０３は、識別情報から操作機器１０４の機能情報を特定し、特定した機能情報をＨＭＤ１０２に送信する（ＳＴ５）。次に、ＨＭＤ１０２は、受信した機能情報から仮想ＵＩを生成して保存する。
【００４９】
図２は、図１において生成された仮想ＵＩが表示されるまでの流れを示した図である。まず、ＨＭＤ１０２は、仮想ＵＩを表示する（ＳＴ１）。次に、ユーザ１００は、現実空間のある物体１３０に指１２０を接触するジェスチャを行う（ＳＴ２）。次に、カメラ１０１は映像データからユーザ１００のジェスチャを認識する（ＳＴ３）。次に、カメラ１０１は、物体１３０の表面に貼り付けられるように現実空間の映像データに仮想ＵＩを重畳して拡張現実空間の映像データを生成し、ＨＭＤ１０２に出力する（ＳＴ４）。次に、ＨＭＤ１０２は、拡張現実空間の映像データを表示する（ＳＴ５）。
【００５０】
図３は、ユーザ１００が仮想ＵＩを操作する際の流れを示した図である。まず、ユーザ１００は、仮想ＵＩのある操作ボタンをタッチするジェスチャを行う（ＳＴ１）。次に、カメラ１０１は、ユーザ１００のジェスチャを認識し、ユーザがタッチしたボタンを認識する（ＳＴ２）。次に、カメラ１０１は、ユーザがタッチした操作ボタンに対応付けられた機能を実行するように操作機器１０４に指示する（ＳＴ３）。次に、操作機器１０４は、指示された機能を実行する（ＳＴ４）。以上が機器制御装置１０の処理の概要である。以下、機器制御装置１０の処理を詳細に説明する。
【００５１】
図１２は、本発明の実施の形態による機器制御装置１０のハードウェア構成を示すブロック図である。機器制御装置１０は、ＣＰＵ（CENTRAL PROCESSING UNIT）１２０１、ＲＯＭ／ＲＡＭ１２０２、表示部１２０３、Ｉ／Ｏ１２０４、ネットワークインターフェイス１２０５、外部記憶装置１２０６、カメラ１２０７を備えている。ＣＰＵ１２０１〜カメラ１２０７は、バス１２００を介して相互に接続されている。
【００５２】
ＲＯＭ／ＲＡＭ１２０２は、コンピュータを機器制御装置として機能させるための機器制御プログラムを格納している。そして、ＲＯＭ／ＲＡＭ１２０２は機器制御プログラムをＣＰＵ１２０１にロードし、ＣＰＵ１２０１は、ロードされた機器制御プログラムを実行する。表示部１２０３は、例えば、液晶表示ディスプレイや有機ＥＬディスプレイ等により構成され、ＣＰＵ１２０１によって処理された処理結果を表示する。本実施の形態では、表示部１２０３は、特に現実空間の映像データに仮想ＵＩが重畳された拡張現実空間の映像データを表示する。
【００５３】
Ｉ／Ｏ１２０４は、外部装置を接続するための入出力インターフェイスであり、例えばＵＳＢポートが採用される。ネットワークインターフェイス１２０５は、例えば機器制御装置１０を外部装置と通信させるための通信回路により構成されている。本実施の形態では、機器制御装置１０はインターネットを介してサーバ機器１０３と接続される。そのため、ネットワークインターフェイス１２０５としては、機器制御装置１０をインターネットに接続する機能を備えた通信回路を採用することができる。
【００５４】
また、本実施の形態では、機器制御装置１０は、操作機器１０４に対して操作信号を出力する。そのため、ネットワークインターフェイス１２０５としては、操作機器１０４に対して操作信号を出力する機能も備えた通信回路を採用することができる。ここで、操作信号としては、操作機器１０４のリモコンが操作機器１０４の機器本体と通信する通信プロトコルに準拠した信号を採用すればよい。
【００５５】
外部記憶装置１２０６は、例えば、ＨＤＤ（ハードディスク）等の記憶装置により構成され、種々の情報を保存するＤＢ（データベース）としての役割を担う。カメラ１２０７は、ユーザの周囲を撮像するためのカメラにより構成され、例えば、ユーザのジェスチャを認識したり、現実空間の映像データを取得したりするために用いられる。したがって、本実施の形態では、カメラ１２０７として、例えば、深度センサを採用することができる。
【００５６】
図４は、本発明の実施の形態１における機器制御装置１０の機能ブロック図である。機器制御装置１０は、映像取得部４００、映像解析部４０１、機能情報取得部４０２、機能情報保存部４０３、仮想ＵＩ生成部４０４、仮想ＵＩ保存部４０５、ユーザ入力認識部４０６、ユーザ入力判定部４０７、接触点認識部４０８、重畳部４０９、表示部４１０、及び指令部４１１を備えている。
【００５７】
ここで、映像取得部４００は、図１２に示すカメラ１２０７により構成される。映像解析部４０１、仮想ＵＩ生成部４０４、ユーザ入力認識部４０６、ユーザ入力判定部４０７、接触点認識部４０８、及び重畳部４０９は、図１２に示すＲＯＭ／ＲＡＭ１２０２に格納された機器制御プログラムを構成するプログラムであり、ＣＰＵ１２０１にロードされて実行される。仮想ＵＩ保存部４０５及び機能情報保存部４０３は、図１２に示す外部記憶装置１２０６により構成されている。表示部４１０は、図１２に示す表示部１２０３により構成されている。機能情報取得部４０２及び指令部４１１は、図１２に示すネットワークインターフェイス１２０５及びそれを制御するプログラムにより構成されている。
【００５８】
以下の説明では、機器制御装置１０をＨＭＤに実装した場合を例に挙げて説明するが、本発明は、これに限定されず、携帯機器に機器制御装置１０を実装してもよい。
【００５９】
映像取得部４００は、例えば、所定のフレームレートで現実空間を撮像し、現実空間の映像データを取得する。つまり、映像取得部４００は、現実空間の動画像を取得する。なお、上記説明では、映像取得部４００としては、深度センサを採用するとしたが、これに限定されず、ステレオ法で奥行き座標の位置を検出することができるステレオ画像センサを採用してもよい。深度センサは、ＲＧＢカメラ、赤外カメラ、赤外光源等を備え、被写体からの反射光をＲＧＢカメラで受光すると共に、被写体からの赤外光を赤外カメラで受光してＲ，Ｇ，Ｂの色成分と距離成分とを含む映像データを取得する。この、Ｒ，Ｇ，Ｂの色成分からなる映像データに仮想ＵＩやエアタグ等のグラフィックスが重畳されて拡張現実空間の映像データが表示部４１０に表示される。また、距離成分は、ユーザの手の位置や仮想ＵＩが貼り付けられる物体の位置や仮想ＵＩの表示位置を認識するために用いられる。
【００６０】
映像解析部４０１は、映像取得部４００により取得された映像データを解析し、操作機器１０４の識別情報を読み取り、操作機器１０４を認識する。ここで、映像解析部４０１は、操作機器１０４に記載された識別子を、文字認識、記号認識、及びコード認識等の画像処理技術を用いて読み取ることで、操作機器１０４を認識する。識別子としては、操作機器１０４の型番号、タグ情報、記号、及び２次元コードを採用することができる。
【００６１】
具体的には映像解析部４０１は、映像データの各コマを監視し、映像データから識別子を読み取り、読み取った識別子が予め定められた識別子と一致した場合、操作機器１０４を認識したと判定すればよい。
【００６２】
なお、型番号としては、例えば、操作機器１０４の商品名を表す文字列や、商品番号を表す文字列や、製造番号を示す文字列等が採用される。また、タグ情報としては、例えば、操作機器１０４の筐体の表面に記された操作機器１０４の目印となるマークやロゴ等が採用される。また、記号としては、例えば操作機器１０４の目印となるマークやロゴ等の特徴的な部分が採用される。また、２次元コードとしては、操作機器１０４の筐体の表面に記されたバーコードやＱＲコード（登録商標）を採用することができる。
【００６３】
なお、映像解析部４０１は、操作機器１０４の認識処理を常時行ってもよいし、ユーザから明示的な指示が行われたときに、操作機器１０４の認識処理を行ってもよい。
【００６４】
ユーザ入力認識部４０６は、ユーザのジェスチャを認識する。本実施の形態では、ジェスチャとして、例えば、ある指（例えば人差し指）を差し出して腕全体を体の前方に伸ばすジェスチャをユーザに課すものとする。
【００６５】
したがって、ユーザ入力認識部４０６は、ユーザがこのジェスチャを行った際の手の形状及び腕の形状を予め学習し、学習データとして保存しておく。そして、ユーザ入力認識部４０６は、映像データと学習データとをマッチングさせ、映像データに想定する手の形状が現れたか否かを監視する。そして、ユーザ入力認識部４０６は、映像データから想定する手の形状を検出した場合、以後、映像データからユーザの手の領域を追尾し、手の形状の特徴点の座標データ及び移動量データをジェスチャ認識情報として順次取得し、ユーザ入力判定部４０７に供給する。座標データとしては、例えば、映像データの水平方向（横方向）及び垂直方向（縦方向）の座標と、奥行き方向の座標との３次元データが採用される。奥行き方向としては、例えば、映像取得部４００を構成する受光素子の受光面と直交する方向を採用することができる。また、移動量データとしては、各特徴点の距離データのフレーム毎の差分を採用することができる。また、特徴点としては、少なくともユーザが差し出した指の先端が採用される。
【００６６】
ユーザ入力判定部４０７は、ユーザ入力認識部４０６により認識されたジェスチャに基づいてユーザにより入力された入力指示を判定する。本実施の形態では、入力指示として機器操作指示、及び表示位置指定指示等が含まれる。
【００６７】
機器操作指示は、ユーザが拡張現実空間に表示される仮想ＵＩを操作する入力指示である。ユーザは、仮想ＵＩに含まれる例えば操作ボタンに触れるジェスチャを行うことで、機器操作指示を入力する。この場合、ユーザ入力判定部４０７は、ユーザの指先の座標データが、所定期間、仮想ＵＩの操作ボタンの座標データに重なる又は一定の範囲内に位置する場合に、ユーザが機器操作指示を入力したと判定すればよい。
【００６８】
ここで、仮想ＵＩは、拡張現実空間において表示される。拡張現実空間は、上記の垂直方向及び水平方向の座標と及び奥行き方向の座標とで規定される３次元空間であり、その映像データは現実空間の映像データにグラフィックスを重畳して生成される。
【００６９】
表示位置指定指示は、拡張現実空間においてユーザが仮想ＵＩの表示位置を指定するために入力する入力指示である。本実施の形態では、ユーザは仮想ＵＩ表示させただけでは、仮想ＵＩを操作することができず、仮想ＵＩの表示位置を指定することで、仮想ＵＩの操作を可能とする。したがって、ユーザは、例えば、操作機器１０４が認識されて仮想ＵＩが表示された後、ある指（例えば人差し指）を差し出して、希望する位置で差し出した指を停止するジェスチャを行うことで表示位置指定指示を入力する。以下の説明では、ユーザは、ある物体に指先を接触するジェスチャを行うことで表示位置指定指示を入力するものとする。そのため、ユーザ入力判定部４０７は、仮想ＵＩが表示されているが、仮想ＵＩが操作可能となっていない状態において、ユーザが指先を物体に触れるジェスチャを行ったとき、表示位置指定指示が入力されたと判定する。
【００７０】
また、ユーザ入力判定部４０７は、仮想ＵＩが表示中であるか、表示されていないか、表示中であるが操作可能であるか、表示中であるが操作不可能であるかというような、仮想ＵＩの現在の状態を保持し、仮想ＵＩを管理する。
【００７１】
機能情報取得部４０２は、映像解析部４０１により操作機器１０４が認識された場合、操作機器１０４の機能情報の取得要求をサーバ機器１０３に送信し、サーバ機器１０３から機能情報を取得する。ここで、取得要求には、操作機器１０４の識別情報が含まれているため、サーバ機器１０３は、この識別情報をキーにして、操作機器１０４の機能情報を検索し、検索の結果得られた機能情報を機能情報取得部４０２に送信する。
【００７２】
ここで、機能情報とは、操作機器１０４が持つ機能の一覧を示した情報である。操作機器１０４が例えば、ＤＶＤプレーヤである場合は、機能として、電源をオンオフするための“電源オンオフ”、映像データを再生するための“再生”、録画を開始するための“録画”、テレビのチャンネルを選択するための“チャンネル選択”、再生及び録画を停止するための“停止”、所望のシーンに映像データのコマを進める“早送り”、及び所望のシーンに映像データのコマを戻す“巻き戻し”等が存在する。よって、この場合、機能情報は、電源オンオフ、再生、録画、チャンネル選択、停止、巻き戻し、及び早送り等の機能の一覧を示す情報となる。
【００７３】
また、操作機器１０４が例えばテレビである場合は、機能として、電源をオンオフするための“電源オンオフ”、チャンネルを選択するための“チャンネル選択”、音量を調整するための“音量”等が存在する。したがって、この場合、機能情報は、電源オンオフ、チャンネル選択、音量等の機能の一覧を示す情報となる。
【００７４】
なお、これらの機能情報は一例にすぎず、他の機能を含ませても良い。また、操作機器１０４としては、ＤＶＤプレーヤ及びテレビに限定されず、例えば、オーディオ、ミニコンポ、エアコン、又は空気清浄機等、リモコンにより操作可能な機器であれば、どのような機器を採用してもよい。
【００７５】
なお、上記の説明では、サーバ機器１０３から機能情報を取得する例を示したが、本発明はこれに限定されない。例えば、操作機器１０４が機器情報通知機能を持つ場合、機能情報取得部４０２は、操作機器１０４に対して機器情報の取得要求を送信することで、操作機器１０４から機器情報を直接取得してもよい。この場合、機能情報取得部４０２は、操作機器１０４がリモコンにより操作される機器であればリモコンと機器本体との間で行われる通信プロトコルを用いて、操作機器１０４と通信して機器情報を取得すればよい。なお、この場合、機能情報保存部４０３は、操作機器１０４が備えることになる。
【００７６】
また、上記説明では、サーバ機器１０３として、インターネット上に設置されたサーバを示したが、本発明はこれに限定されず、家庭内のＬＡＮに設置されたホームサーバを採用してもよい。ここで、ホームサーバは、家庭内に設置された機器を管理する装置である。そして、ホームサーバが機能情報を所持している場合、機能情報取得部４０２は、ホームサーバから機能情報を取得すればよい。また、家庭内に設置された他の機器が機能情報を所持していることもある。この場合、機能情報取得部４０２は、他の機器から機能情報を取得してもよい。
【００７７】
また、機能情報取得部４０２は、家庭内に設置された機器（ホームサーバや他の機器）に機能情報の取得要求を例えばブロードキャストで送信する。そして、機能情報を取得できた場合は、その機能情報を機能情報保存部４０３に保存する。一方、機能情報を取得できなかった場合は、インターネット上に設置されたサーバ機器１０３に機能情報の取得要求を送信することで、機能情報を取得してもよい。
【００７８】
なお、機能情報取得部４０２は、操作機器１０４の機能情報が既に取得済みである場合、機能情報保存部４０３から機能情報を取得すればよい。したがって、機能情報取得部４０２は、まず、映像解析部４０１により認識された識別情報をキーにして、機能情報保存部４０３から機能情報を検索し、機能情報を検出することができなかった場合、サーバ機器１０３や他の機器に機能情報の取得要求を送信して、機能情報を取得すればよい。
【００７９】
また、機能情報取得部４０２は、定期的にサーバ機器１０３と通信し、取得済みの機能情報を最新の機能情報に更新するようにしてもよい。この場合、機能情報取得部４０２は、例えば、機器制御装置１０の電源がオンされる度に、取得済の機能情報の更新の有無をサーバ機器１０３に問い合わせればよい。
【００８０】
仮想ＵＩ生成部４０４は、機能情報取得部４０２により取得された機能情報に基づいて仮想ＵＩを生成し、生成した仮想ＵＩに名前を付与し、仮想ＵＩのグラフィックスを表示するためのデータと仮想ＵＩの名前とを紐付けて仮想ＵＩ保存部４０５に保存する。また、仮想ＵＩ生成部４０４は、操作機器１０４の型番号と操作機器１０４の機器名と仮想ＵＩの名前とが対応付けられた仮想ＵＩ登録情報８００を生成し、仮想ＵＩ保存部４０５に保存する。こうすることで、仮想ＵＩの型番号から、仮想ＵＩ登録情報８００を参照して仮想ＵＩの名前が分かり、仮想ＵＩの名前から仮想ＵＩのグラフィックスを表示するためのデータが分かり、そのデータから仮想ＵＩが表示される。なお、仮想ＵＩのグラフィックスを表示するためのデータとしては、例えばＨＴＭＬ等のマークアップ言語で記述されたプログラムを採用してもよいし、仮想ＵＩのグラフックデータを採用してもよい。
【００８１】
図８は、仮想ＵＩ登録情報８００のデータ構造の一例を示した模式図である。図８に示すように、仮想ＵＩ登録情報８００は、操作機器１０４の型番号、機器名、及び仮想ＵＩの欄を備えている。型番号の欄には、操作機器の識別子が格納される。なお、図８の例では、型番号の欄には操作機器１０４の型番号が記載されているが、型番号以外のタグ情報、２次元コード等の他の識別子が型番号の欄に格納されてもよい。
【００８２】
機器名の欄には、操作機器１０４の機器名が格納されている。例えば機能情報取得部４０２により取得された機能情報に機器名が含まれている場合、仮想ＵＩ生成部４０４はその機能情報から機器名を抽出し、機器名の欄に格納すればよい。一方、取得された機能情報に機器名が含まれていない場合、仮想ＵＩ生成部４０４は、識別子から機器名を推測し、推測した機器名を機器名の欄に書き込めばよい。
【００８３】
仮想ＵＩの欄には、仮想ＵＩに一意に付与された名前が格納されている。なお、機能情報取得部４０２により取得された機能情報に仮想ＵＩの名前が含まれている場合、仮想ＵＩ生成部４０４は、その機能情報から名前を抽出し、仮想ＵＩの欄に格納すればよい。一方、取得された機能情報に仮想ＵＩの名前が含まれていない場合、仮想ＵＩ生成部４０４は、独自に仮想ＵＩの名前を付与すればよい。
【００８４】
図８の例では、型番号が“１２３ＴＲＦ４５６”の操作機器１０４の仮想ＵＩに対して“ＤＶＤ＿Ｒｅｃ＿ＵＩ”の名前が付与され、この操作機器１０４の機器名は“ＤＶＤレコーダ”であった。そのため、行８０１のレコードには、型番号、機器名、及び仮想ＵＩの欄にそれぞれ、“１２３ＴＲＦ４５６”、“ＤＶＤレコーダ”、及び“ＤＶＤ＿Ｒｅｃ＿ＵＩ”が格納されている。
【００８５】
また、図８の例では、型番号が“４７８ＹＤＨ２９８”の操作機器１０４の仮想ＵＩに対して“ＢｌｕＲａｙ＿Ｒｅｃ＿ＵＩ”の名前が付与され、この操作機器１０４の機器名は、“Ｂｌｕ−ｒａｙレコーダ”であった。したがって、行８０２のレコードには、型番号、機器名、及び仮想ＵＩの欄にそれぞれ、“４７８ＹＤＨ２９８”、“Ｂｌｕ−ｒａｙレコーダ”、及び“ＢｌｕＲａｙ＿Ｒｅｃ＿ＵＩ”が格納されている。以下、レコード８０３〜８０５にも、レコード８０１、８０２と同様にして、テレビ、コンポ、パソコンについて図示する情報が格納されている。
【００８６】
機能情報取得部４０２により取得された機器情報に仮想ＵＩのレイアウト情報が含まれている場合、仮想ＵＩ生成部４０４は、このレイアウト情報を用いて仮想ＵＩを生成すればよい。また、機能情報取得部４０２により取得された機器情報に仮想ＵＩのレイアウト情報が含まれていない場合、仮想ＵＩ生成部４０４は、機能情報に列挙された機能に基づき、仮想ＵＩを生成すればよい。例えば、機能情報として、“電源オンオフ”、“再生”、及び“早送り”が列挙されていたとすると、仮想ＵＩ生成部４０４は、“電源オンオフ”、“再生”、及び“早送り”のボタンが配列された仮想ＵＩを生成すればよい。この場合、仮想ＵＩ生成部４０４は、各機能の名称を四角で囲んだ操作ボタンを一覧表示しただけの単純な仮想ＵＩを生成すればよい。
【００８７】
レイアウト情報としては、例えば、操作機器１０４のリモコンが備える各ボタンがどのような形状を持ち、どこに配列するかを示す情報が採用される。したがって、レイアウト情報として、操作機器１０４の実際のリモコンのレイアウト情報を持たせることで、仮想ＵＩを実際のリモコンと同様な外観を持つ仮想リモコンにすることができる。
【００８８】
なお、仮想ＵＩ生成部４０４は、レイアウト情報に基づいて仮想ＵＩを生成した場合において、仮想ＵＩが表示部４１０からはみ出る又は極端に小さくなるというような不都合が生じる場合、仮想ＵＩが表示部４１０に収まるように仮想ＵＩをアレンジしてもよい。仮想ＵＩをアレンジする手法としては、例えば、仮想ＵＩを縮小又は拡大したり、縦長から横長又は横長から縦長というように向きを変更したり、仮想ＵＩが表示部４１０にバランスよく表示されるように各ボタンの配置を変更したりする手法が挙げられる。
【００８９】
また、レイアウト情報に機器制御装置が縦長用のレイアウト情報、横長用のレイアウト情報というような複数のレイアウト情報を含ませ、表示部４１０が縦長のサイズを持つ場合は、仮想ＵＩ生成部４０４に縦長用のレイアウト情報を用いて仮想ＵＩを生成させ、表示部４１０が横長のサイズを持つ場合は、仮想ＵＩ生成部４０４に横長用のレイアウト情報を用いて仮想ＵＩを生成させてもよい。
【００９０】
また、機器制御装置が例えば携帯機器に実装され、携帯機器の向きに応じて表示部４１０に表示される画像の向きを切り替える機能を有している場合は、仮想ＵＩ生成部４０４に縦長用の仮想ＵＩと横長用の仮想ＵＩを生成させておき、携帯機器の向きに応じて両仮想ＵＩを切り替えて表示させる態様を採用してもよい。
【００９１】
また、仮想ＵＩ生成部４０４は、ユーザ毎に仮想ＵＩのレイアウトをカスタマイズしてもよい。この場合、仮想ＵＩ生成部４０４は、機能情報に含まれる各機能に対応する機器操作指示の入力頻度に基づいて仮想ＵＩをカスタマイズすればよい。例えば、仮想ＵＩにＡという機能を実行するためのＡボタン、Ｂという機能を実行するためのＢボタンがあったとする。
【００９２】
この場合、仮想ＵＩ生成部４０４は、Ａボタン及びＢボタンに対してユーザが触れた回数をそれぞれカウントする。また、仮想ＵＩ生成部４０４は、ユーザが仮想ＵＩを表示させた表示回数もカウントする。そして、仮想ＵＩ生成部４０４は、仮想ＵＩの表示回数が一定の値を超えた場合に、Ａボタン及びＢボタンのそれぞれに触れた回数を表示回数で割り、Ａボタン及びＢボタンの入力頻度を求める。そして、仮想ＵＩ生成部４０４は、Ａボタン又はＢボタンの入力頻度がＡボタン又はＢボタン毎に予め定められた規定値を超えた場合は、Ａボタン又はＢボタンを残存させる。一方、Ａボタン又はＢボタンの入力頻度がＡボタン又はＢボタン毎に予め定められた規定値以下の場合は、Ａボタン又はＢボタンを仮想ＵＩから省けばよい。以後、仮想ＵＩ生成部４０４は、仮想ＵＩの表示回数が一定の値を超える毎に上記の処理を行い、Ａボタン又はＢボタンを省くか否かの判定を行えばよい。
【００９３】
これにより、ユーザによってほとんど使用されない機能に対応するボタンが仮想ＵＩから省かれ、真にユーザが必要な機能に対応するボタンのみ仮想ＵＩに含ませることができる。
【００９４】
なお、仮想ＵＩ生成部４０４は、ユーザ入力判定部４０７から仮想ＵＩのどのボタンがユーザにより触れられたかを示す情報が供給され、この情報に基づいて機能情報の各機能に対する入力頻度を算出すればよい。
【００９５】
また、仮想ＵＩ生成部４０４は、ユーザの年齢又はユーザからの選択指示に基づいて仮想ＵＩをカスタマイズしてもよい。例えば、高齢者のユーザは操作機器１０４の機能のうち数個（例えば２〜５個）程度の機能しか使用しない場合もある。
【００９６】
また、高齢者のユーザの場合、多数のボタンを仮想ＵＩに配置すると老眼によりボタンを視認することが困難になる虞がある。そこで、仮想ＵＩ生成部４０４は、機器制御装置１０を使用するユーザの年齢が一定の年齢を超える場合、高齢者のユーザ用に仮想ＵＩをカスタマイズしてもよい。この場合、仮想ＵＩ生成部４０４は、機能情報取得部４０２により機能情報と併せて高齢者用の仮想ＵＩのレイアウト情報が取得された場合はそのレイアウト情報にしたがって仮想ＵＩを生成すればよいし、取得されなかった場合は所定の操作ボタンのみが含まれるように仮想ＵＩをカスタマイズすればよい。
【００９７】
なお、ユーザの年齢は、ユーザが機器制御装置１０を初めて使用する際に、拡張現実空間上に仮想キーボードを表示させ、その仮想キーボードを用いてユーザに入力させてもよいし、実在するキーボードを用いてユーザに入力させてもよい。また、仮想ＵＩの不要なボタンの選択も仮想キーボードや実在するキーボードを用いてユーザに入力させればよい。
【００９８】
接触点認識部４０８は、ユーザ入力判定部４０７によりユーザが表示位置指定指示を入力したと判定された場合、表示位置指定指示によりユーザにより指定された位置を仮想ＵＩの表示位置として認識する。
【００９９】
具体的には、接触点認識部４０８は、ユーザ入力判定部４０７により表示位置指定指示が入力されたと判定されると、ユーザの指先の位置を示す座標データをユーザ入力判定部４０７から取得する。そして、接触点認識部４０８は、指先の位置に仮想ＵＩを描画するように重畳部４０９に指示する。
【０１００】
本実施の形態では、ユーザは、現実空間のある物体を指で触れるジェスチャを行うことで、表示位置指定指示を入力する。そこで、接触点認識部４０８は、ユーザ入力判定部４０７により表示位置指定指示が入力されたと判定されると、映像データからユーザが触れた物体を認識する。そして、接触点認識部４０８は、認識した物体の領域を映像データから抽出し、抽出した物体の領域を重畳部４０９に通知すればよい。
【０１０１】
これにより、拡張現実空間において、仮想ＵＩはユーザが表示位置指定指示を入力するジェスチャを行った際に接触した物体に貼り付けて表示される。仮想ＵＩは上述したように、複数のボタンから構成されている。このようなボタンを拡張現実空間中に浮いたように表示させると、ユーザはボタンを押しことを実感することが困難である。そこで、本実施の形態では、仮想ＵＩを物体に貼り付けて表示している。これにより、ユーザは、仮想ＵＩのボタンを押した際、指先が物体に触れることになり、ボタンを押したことを実感することができる。
【０１０２】
なお、拡張現実空間に表示されたオブジェクトをユーザに掴ませるようなジェスチャを行って機器操作指示を入力させるような仮想ＵＩが採用される場合は、仮想ＵＩを物体に貼り付けることなく、拡張現実空間中に浮いたように表示させればよい。
【０１０３】
重畳部４０９は、映像解析部４０１により操作機器１０４が認識されて仮想ＵＩ生成部４０４から仮想ＵＩが供給されると、仮想ＵＩを現実空間の映像データに重畳させ、仮想ＵＩを表示部４１０に表示させる。そして、ユーザにより表示位置指定指示が入力されて接触点認識部４０８によりユーザが触れた物体の映像データ上の領域が通知されると、重畳部４０９はその領域に仮想ＵＩが貼り付けられる。ここで、重畳部４０９は、例えばテクスチャマッピング等の手法を用いて仮想ＵＩを物体に貼り付ければよい。
【０１０４】
以後、接触点認識部４０８は仮想ＵＩが貼り付けられる物体の領域を追跡し、随時、その物体の領域を重畳部４０９に通知し、重畳部４０９はその物体の領域に仮想ＵＩを貼り付ける。これにより、物体の向きがユーザによって変更されても、その物体に貼り付けられるように仮想ＵＩは表示される。その結果、仮想ＵＩはユーザが触れた物体の表面形状に沿うように変形表示され、物体に貼り付いたように違和感なく表示される。
【０１０５】
表示部４１０は、例えば、表示パネル及び表示パネルに表示される拡張現実空間の映像データが書き込まれる描画バッファ等を含み、描画バッファに書き込まれた映像データを表示パネルに供給する。これにより、映像取得部４００に取得された映像データに仮想ＵＩ等が重畳された拡張現実空間の映像データの動画像が表示部４１０に表示される。
【０１０６】
指令部４１１は、ユーザ入力判定部４０７によりユーザによりある操作ボタンを触れるジェスチャが行われて機器操作指示が入力されたと判定されると、当該操作ボタンに対応する機能を実行するための操作信号を操作機器１０４に送信し、操作機器１０４に当該機能を実行させる。ここで、操作信号としては、操作機器１０４の本体とリモコンとの通信プロトコルに準拠したものを採用すればよい。
【０１０７】
サーバ機器１０３は、種々の操作機器１０４の機能情報を識別情報と紐付けて管理している。そして、サーバ機器１０３は、機能情報取得部４０２からの機能情報の取得要求を受信すると、取得要求に含まれる識別情報から該当する機能情報を特定し、機能情報取得部４０２に送信する。ここで、サーバ機器１０３は、ある操作機器１０４について機能が追加されるなどして機能が更新されると当該操作機器１０４の機能情報を最新の機能情報に更新する。これにより、機能情報取得部４０２は最新の機能情報を取得することができる。
【０１０８】
次に、本発明の実施の形態１における機器制御装置の動作について説明する。図５〜図７は本発明の実施の形態１による機器制御装置１０の動作を示すフローチャートである。
【０１０９】
まず、映像取得部４００は、操作機器１０４を撮像し、操作機器１０４の映像データを取得する（Ｓ５００）。この場合、ユーザは操作したい操作機器１０４に顔を向けてＨＭＤに装着されたカメラを操作機器１０４に向けることで、映像取得部４００に操作機器１０４を撮像さればよい。
【０１１０】
次に、映像解析部４０１は、映像取得部４００により取得された映像データから操作機器１０４の識別子を読み取ることで操作機器１０４を認識する（Ｓ５０１）。
【０１１１】
そして、映像解析部４０１は、操作機器１０４を認識することができなかった場合（Ｓ５０２でＮＯ）、操作機器１０４の認識処理を継続する。一方、映像解析部４０１により操作機器１０４が認識された場合（Ｓ５０２でＹＥＳ）、機能情報取得部４０２は、認識された操作機器１０４の仮想ＵＩを仮想ＵＩ保存部４０５から検索する（Ｓ５０３）。
【０１１２】
そして、機能情報取得部４０２により仮想ＵＩ保存部４０５に該当する仮想ＵＩが存在すると判定された場合（Ｓ６００でＹＥＳ）、仮想ＵＩ生成部４０４は、仮想ＵＩ保存部４０５から仮想ＵＩを取得する（Ｓ６０１）。
【０１１３】
この場合、機能情報取得部４０２は、Ｓ５０１で読み取った識別子をキーにして仮想ＵＩ登録情報８００（図８参照）を検索し、キーとした識別子を持つ仮想ＵＩが仮想ＵＩ登録情報８００に存在していれば、Ｓ６００でＹＥＳと判定し、キーとした識別子を持つ仮想ＵＩが仮想ＵＩ登録情報８００に存在していなければ、Ｓ６００でＮＯと判定すればよい。
【０１１４】
次に、仮想ＵＩ生成部４０４は仮想ＵＩを重畳部４０９に供給し、仮想ＵＩを表示部４１０に表示させる（Ｓ６０５）。この場合、重畳部４０９は仮想ＵＩを拡張現実空間の所定のデフォルト位置に表示させればよい。また、この場合、ユーザ入力判定部４０７は、仮想ＵＩの状態を“表示中”、かつ、“操作不可”にすればよい。
【０１１５】
一方、機能情報取得部４０２は、仮想ＵＩ保存部４０５に操作機器１０４の仮想ＵＩが存在しないと判定した場合（Ｓ６００でＮＯ）、サーバ機器１０３に操作機器１０４の機能情報の取得要求を送信する（Ｓ６０２）。
【０１１６】
次に、機能情報取得部４０２は、サーバ機器１０３から操作機器１０４の機能情報を取得する（Ｓ６０３）。次に、仮想ＵＩ生成部４０４は、機能情報取得部４０２により取得された機器情報から仮想ＵＩを生成する（Ｓ６０４）。
【０１１７】
次に、仮想ＵＩ生成部４０４は、生成した仮想ＵＩを重畳部４０９に供給し、仮想ＵＩを表示部４１０に表示させる（Ｓ６０５）。この場合、ユーザ入力判定部４０７は、仮想ＵＩの状態を“表示中”、かつ、“操作不可”にすればよい。
【０１１８】
次に、ユーザにより指先をある物体に接触させるジェスチャが行われ、ユーザ入力判定部４０７がユーザ１００により表示位置指定指示が入力されたと判定すると（Ｓ７００でＹＥＳ）、接触点認識部４０８は、指先と物体とが接触した位置を認識する（Ｓ７０１）。
【０１１９】
次に、接触点認識部４０８は、映像データからユーザ１００が指先で触れた物体の領域を抽出することで物体を認識する（Ｓ７０２）。次に、重畳部４０９は、接触点認識部４０８により認識された物体の領域に仮想ＵＩをテクスチャマッピングにより貼り付ける（Ｓ７０３）。次に、ユーザ入力判定部４０７は、仮想ＵＩの状態を“表示中”かつ“操作可能”にし（Ｓ７０４）、処理を終了する。
【０１２０】
一方、Ｓ７００において、表示位置指定指示が入力されない場合（Ｓ７００でＮＯ）、処理がＳ７００に戻され、表示位置指定指示が入力されるまで、処理が待機される。
【０１２１】
なお、上記フローチャートでは、ユーザが指先をある物体に接触させることで表示位置指定指示を入力したが、拡張現実空間内の任意の位置に指先を指し出すことで、表示位置指定指示を入力してもよい。
【０１２２】
この場合、重畳部４０９は、ユーザが指し出す指先の位置を中心として表示部４１０の垂直方向及び水平方向に仮想ＵＩを展開すればよい。また、表示部４１０にて表示される仮想ＵＩのサイズが小さい又は大きい場合は、仮想ＵＩを適当な大きさに拡大又は縮小してもよい。
【０１２３】
また、上記説明では、仮想ＵＩは拡張現実空間内のある位置に表示するようにしたが、本発明はこれに限定されず、機器制御装置１０が例えば携帯機器に実装される場合は携帯機器の表示画面上に仮想ＵＩを表示させればよい。この場合、ユーザは、表示画面上に表示された仮想ＵＩをタッチする或いは携帯機器が備える操作ボタンを押すことで仮想ＵＩを操作すればよい。
【０１２４】
また、上記説明では、接触点認識部４０８は映像データを用いてユーザの指先の位置を認識したが、ユーザの指先の位置を認識できる手法であれば、どのような手法を用いても良い。例えば、ユーザの指先に位置センサを設け、これによりユーザの指先を認識してもよい。
【０１２５】
このように、本実施の形態による機器制御装置１０によれば、ユーザはカメラを用いて操作機器１０４の映像データを撮像すると、操作機器１０４の識別子が読み取られ、操作機器１０４の仮想ＵＩが表示される。そして、ユーザにより指先をある物体に触れるジェスチャが行われて表示位置指定指示が入力されると、その物体に貼り付けられたように操作機器１０４の仮想ＵＩが表示される。そして、ユーザは、表示された仮想ＵＩに対して操作指示を入力すると、操作指示に対応する機能が実行される。
【０１２６】
したがって、操作機器１０４が仮想ＵＩを介してユーザからの操作指示を受け付ける機能を有していない場合であっても、ユーザは拡張現実空間内において仮想ＵＩを介して操作機器１０４を操作することが可能になる。つまり、拡張現実空間におけるユーザからの操作を全く想定していない操作機器１０４であっても、機器制御装置１０に認識されれば、ユーザは操作機器１０４の専用リモコンを用いなくても、仮想ＵＩを介して操作機器１０４を操作することができる。そのため、拡張現実空間において既存の操作機器１０４をユーザに操作させるという全く新たなＵＸをユーザに提供することができ、ユーザの利便性を向上させることができる。
【０１２７】
また、上記実施の形態では、操作機器１０４が認識されるとその操作機器１０４の仮想ＵＩを表示させる態様を採用した。しかしながら、これでは、ユーザが仮想ＵＩを表示させることを希望しないにもかかわらず、ユーザの意図に反して仮想ＵＩが表示され、ユーザに煩わしさを与える虞がある。そこで、仮想ＵＩを表示させる仮想ＵＩ表示モードと仮想ＵＩを表示させない仮想ＵＩ非表示モードとを選択するためのスイッチを機器制御装置１０に設けてもよい。この場合、ユーザによりスイッチを介して仮想ＵＩ表示モードが選択された場合は、操作機器１０４の認識をトリガーとして仮想ＵＩが表示され、ユーザにより仮想ＵＩ非表示モードが選択された場合、操作機器１０４が認識されても仮想ＵＩが表示されなくなる。これにより、ユーザが仮想ＵＩの表示を希望しない場合には仮想ＵＩが表示されず、ユーザの煩わしさを防止することができる。このスイッチは機械的なスイッチであってもよいし、拡張現実空間上に表示される仮想スイッチであってもよい。また、機器制御装置１０がタッチパネルを持つ携帯機器に実装される場合は、タッチパネル上にスイッチのグラフィックスを表示させ、このスイッチをユーザにタッチさせるようにすればよい。
【０１２８】
（実施の形態２）
実施の形態１にかかる機器制御装置１０では、仮想ＵＩはユーザが触れた物体に貼り付けるように或いは拡張現実空間上の任意の表示されていた。つまり、実施の形態１では、仮想ＵＩは拡張現実空間内のある場所に存在するように表示されていた。
【０１２９】
しかしながら、機器制御装置１０が実装される機器が、タブレット端末等の画面サイズが大きな携帯機器である場合、仮想ＵＩを拡張現実空間内のある位置に存在するように表示するよりも、表示部４１０の表示画面上に表示した方がユーザの操作性が向上すると考えられる。そこで、本実施の形態の機器制御装置１０は、表示部４１０の画面サイズに応じて仮想ＵＩの表示態様を切り替えることを特徴とする。
【０１３０】
図９は、本発明の実施の形態２における機器制御装置１０の機能ブロック図である。実施の形態２の機器制御装置１０は実施の形態１の機器制御装置１０に対して、更に表示態様判定部９００を備えている。なお、本実施の形態において実施の形態１と同一のものは説明を省略し、主に相違点のみを説明する。
【０１３１】
表示態様判定部９００は、表示部４１０の画面サイズを示すサイズ情報に基づき、表示部４１０の表示画面上に仮想ユーザインターフェイスを表示させるか、拡張現実空間内に仮想ユーザインターフェイスを表示させるかを判定する。なお、表示態様判定部９００は図１２に示すＲＯＭ／ＲＡＭ１２０２が保存する機器制御プログラムにより構成される。
【０１３２】
ここで、サイズ情報としては、表示部４１０の解像度（ｄｐｉ）を採用してもよいし、５インチ、１１インチ等の画面サイズを採用してもよいし、表示部４１０の画素数を採用してもよい。
【０１３３】
表示態様判定部９００は、例えば、機器制御装置１０が実装される携帯機器が予め保持している機器のスペックの一覧であるスペック情報を参照することでサイズ情報を取得すればよい。解像度は直接画面サイズを表すものではないが、解像度が高くなるにつれて画面サイズが大きくなる傾向がある。したがって、サイズ情報として解像度を採用する場合、表示態様判定部９００はスペック情報の解像度が記載された欄のみを参照して、解像度を取得し、取得した解像度が閾値より大きければ、表示部４１０の画面サイズは大サイズと判定し、取得した解像度が閾値より小さければ、表示部４１０の画面サイズは小サイズと判定すればよい。こうすることで、スペック情報の全てを参照しなくても解像度の欄のみを参照することで表示部４１０の画面サイズを判定することができるため、表示態様判定部９００の判定処理の高速化を図ることができる。なお、表示態様判定部９００は、スペック情報に解像度が記載されておらず画面サイズ又は画素数のみが記載されている場合は、画面サイズの記載欄又は画素数の記載欄のみを参照して、画面サイズを判定してもよい。この場合も画面サイズとして解像度を採用した場合と同様、判定処理の高速化を図ることができる。
【０１３４】
また、表示態様判定部９００は、まず、スペック情報に解像度が記載されているか否かを判定し、解像度が記載されていなければ画面サイズが記載されているか否かを判定し、画面サイズが記載されていなければ画素数が記載されているか否かを判定するというようにして、スペック情報からサイズ情報を取得してもよい。なお、これらの判定順序は一例にすぎず、他の順序を採用してもよい。また、表示態様判定部９００は、スペック情報から表示部４１０に関する情報を全て抽出し、これらの情報から画面サイズの大小を判定してもよい。
【０１３５】
例えば、スペック情報に解像度と水平及び垂直方向の画素数が記載されていれば、これらの情報から表示部４１０の面積を求め、この面積が閾値より大きければ大サイズ、この面積が閾値より小さければ小サイズと判定してもよい。この場合、表示部４１０のサイズを正確に算出することができる。
【０１３６】
そして、表示態様判定部９００は、表示部４１０の画面サイズを大サイズと判定した場合、仮想ＵＩを表示部４１０の画面上に表示させると判定し、表示部４１０の画面サイズを小サイズと判定した場合、仮想ＵＩを拡張現実内のある位置に表示させると判定すればよい。
【０１３７】
また、表示態様判定部９００は、スペック情報に記載された型番号や機器名から表示部４１０の大小のサイズを判定することができる場合は、サイズ情報として型番号を採用してもよい。例えば、表示態様判定部９００は、型番号や機器名がタブレット端末やスマートフォンであることを示す場合は、表示部４１０が大サイズであると判定し、型番号や機器名がスマートフォンとは異なる通常の携帯電話を示す場合は、小サイズであると判定すればよい。この場合、閾値と比較する処理を行わなくとも型番号からダイレクトに表示部４１０の大小のサイズを判定することができるため、判定処理の高速化を図ることができる。なお、表示態様判定部９００は、スマートフォンにつき画面サイズは大サイズと判定したが、これは一例であり、小サイズと判定してもよい。
【０１３８】
表示態様判定部９００は、ユーザが操作したい操作機器１０４をカメラで撮像した際に表示態様の判定処理を実行すればよい。具体的には、表示態様判定部９００は、映像解析部４０１が操作機器１０４を認識したときに表示態様の判定処理を実行すればよい。
【０１３９】
本実施の形態では、ユーザがＨＭＤを装着し、携帯機器（例えばタブレット端末、スマートフォン、携帯電話）を所持しているケース（ａ）とユーザがＨＭＤを装着せず、携帯機器を所持しているケース（ｂ）とを想定している。ケース（ａ）の場合、表示部４１０は、携帯機器及びＨＭＤの表示部を示す。この場合、表示部４１０の画面サイズは携帯機器の表示部の画面サイズを示す。また、ケース（ｂ）の場合、表示部４１０は、携帯機器の表示部を示す。
【０１４０】
続いて、機器制御装置１０における動作について説明する。図１０、図１１は、本発明の実施の形態２における機器制御装置１０の動作を示すフローチャートである。なお、図１０のフローチャートは、図５のＳ５０３に続くフローチャートである。図１１は図１０のＳ７０１及びＳ７０４に続くフローチャートである。
【０１４１】
操作機器を撮像してから仮想ＵＩを検索するまでの処理は図５に示す実施の形態１の処理と同じであるため、説明を省略する。図１０に示すＳ７００〜Ｓ７０４の処理も図６に示すＳ６００〜Ｓ６０４と同じであるため、説明を省略する。なお、図６と図１０との相違点は、図６では仮想ＵＩを表示するＳ６０５の処理があるのに対して、図１０では仮想ＵＩを表示する処理がなく、実施の形態２においてはＳ６０５の処理は図１１のＳ１１０３に後回しにされている。
【０１４２】
図１１のＳ１１００において、表示態様判定部９００は、機器制御装置１０が実装される機器のスペック情報を参照して表示部４１０のサイズ情報を取得する。次に、表示態様判定部９００により表示部４１０のサイズが大サイズであると判定された場合（Ｓ１１０１でＹＥＳ）、表示部４１０の表示画面上に仮想ＵＩを表示させるように重畳部４０９に指示する（Ｓ１１０２）。この場合、重畳部４０９は、ユーザがＨＭＤを装着しているか否かに関わらず、仮想ＵＩ生成部４０４から供給される仮想ＵＩを、携帯機器の表示部４１０の表示画面上の所定の位置に表示させる。このとき、表示態様判定部９００は、ユーザ入力判定部４０７に対して、仮想ＵＩの状態を表示中かつ操作可能にするように指示すればよい。これにより、ユーザは、表示位置指定指示を入力することなく、仮想ＵＩを操作することができる。
【０１４３】
一方、表示態様判定部９００は、表示部４１０のサイズが小サイズであると判定した場合（Ｓ１１０１でＮＯ）、ユーザがＨＭＤを装着しているか否かを判定する（Ｓ１１０３）。この場合、表示態様判定部９００は、ユーザに予めＨＭＤの装着の有無を示す情報を入力させ、この情報にしたがって、ユーザがＨＭＤを装着しているか否かを判定すればよい。
【０１４４】
或いは、表示態様判定部９００は、機器制御装置１０が実装される携帯機器のスペック情報を参照し、スペック情報にＨＭＤが装着されていることを示す情報が記述されていれば、ユーザがＨＭＤを装着していると判定し、スペック情報にＨＭＤが装着されていることを示す情報が記述されていなければ、ユーザがＨＭＤを装着していないと判定すればよい。
【０１４５】
Ｓ１１０３でＹＥＳ、つまり、ユーザがＨＭＤを装着し、携帯機器の表示部４１０の画面サイズが小サイズの場合、重畳部４０９は、ＨＭＤの表示部４１０に仮想ＵＩを表示させ、仮想ＵＩを拡張現実空間のデフォルト位置に表示させる（Ｓ１１０４）。以後、実施の形態１と同様、図７のＳ７００〜Ｓ７０４の処理が実行され、ユーザが触れた物体に仮想ＵＩが貼り付くように表示される。
【０１４６】
一方、Ｓ１１０３でＮＯ、つまり、ユーザがＨＭＤを装着しておらず、携帯機器の表示部４１０の画面サイズが小サイズの場合、表示態様判定部９００は、ボタン数の少ない簡易的な仮想ＵＩを携帯機器の表示部４１０に表示させるか、仮想ＵＩ生成部４０１で生成された通常の仮想ＵＩを携帯機器の表示部４１０に表示させるかをユーザに選択させる。この場合、表示態様判定部９００は、ユーザが通常の仮想ＵＩ又は簡易的な仮想ＵＩを選択するための選択画面を表示部４１０に表示すればよい。
【０１４７】
そして、ユーザにより簡易的な仮想ＵＩが選択された場合（Ｓ１１０５でＹＥＳ）、重畳部４０９は、簡易的な仮想ＵＩを携帯機器の表示部４１０の表示画面上に表示する（Ｓ１１０６）。
【０１４８】
ここで、簡易的な仮想ＵＩとしては、仮想ＵＩ生成部４０４で生成された仮想ＵＩにおいて、必要最低限の機能を実行できる数個のボタンが例えばラダー状に配列された仮想ＵＩを採用すればよい。
【０１４９】
一方、ユーザにより通常の仮想ＵＩが選択された場合（Ｓ１１０５でＮＯ）、重畳部４０９は携帯機器の表示部４１０の表示画面上に通常の仮想ＵＩを表示する（Ｓ１１０７）。
【０１５０】
実施の形態２の機器制御装置１０によれば、表示部４１０のサイズ情報に基づき、表示部４１０の大小のサイズが判定され、表示部４１０が大サイズの場合、仮想ＵＩは表示部４１０の表示画面上に表示される。一方、表示部４１０が小サイズの場合、仮想ＵＩは拡張現実空間内のある位置に表示される。そのため、実施の形態１の効果に加えて更に、機器制御装置１０が実装される機器が持つ表示部４１０のサイズに応じてユーザにとって操作のし易い表示態様で仮想ＵＩを表示することができる。その結果、ユーザの操作性、利便性、及び視認性を向上させることができる。
【０１５１】
なお、実施の形態１、２において映像取得部４００は、ユーザが装着するＨＭＤに取り付けられたカメラやユーザが携帯する携帯機器が内蔵するカメラにより構成したが、本発明はこれに限定されない。例えば、ユーザが移動する空間内に設置された定点カメラで構成してもよい。
【０１５２】
また、上記実施の形態では、図４に示す映像解析部４０１〜重畳部４０９及び図９に示す映像解析部４０１〜重畳部４０９及び表示態様判定部９００を一台の機器に実装されているものとして説明したが、本発明はこれに限定されず、機器制御装置１０を複数の装置により構成し、各ブロックを複数の機器に分散して実装してもよい。
【０１５３】
例えば、図４、図９に示す機能情報取得部４０２及び機能情報保存部４０３をサーバ機器１０３に設けてもよい。この場合、映像解析部４０１は認識した操作機器１０４の識別情報をネットワークを介してサーバ機器１０３に送信し、サーバ機器１０３に設けられた機能情報取得部４０２に機能情報を取得させて、仮想ＵＩ生成部４０４に送信すればよい。そして、仮想ＵＩ生成部４０４は、機能情報を受信すると、受信した機能情報にしたがって仮想ＵＩを生成し、重畳部４０９に供給すればよい。
【０１５４】
なお、上述した実施の形態は本発明を実現するための一例であって、本発明は上記の実施の形態で説明した内容に限定されない。実施の形態で記載した内容に対して当業者が思いつく変形を施して得られる形態、及び実施の形態における構成要素を任意に組み合わせて実現される別の形態も、本発明に含まれる。
【０１５５】
また、図４及び図９に示された機器制御装置１０の構成要素は、集積回路であるＬＳＩ（Large Scale Integration）として実現されてもよい。これらの構成要素は、個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、IC(Integrated Circuit)、システムＬＳＩ、スーパーＬＳＩ、またはウルトラＬＳＩと呼称されることもある。
【０１５６】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。プログラムすることが可能なFPGA(Field Programmable Gate Array)、又はＬＳＩ内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１５７】
更には、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、機器制御装置に含まれる構成要素の集積回路化を行ってもよい。また、機器制御装置の構成要素のうち、データを格納する手段だけ１チップ化せずに別構成としてもよい。
【０１５８】
また、本発明は、機器制御装置として実現できるだけでなく、機器制御装置を構成する処理手段をステップとする方法として実現できる。そして、本発明は、その方法に含まれるステップをコンピュータに実行させるプログラムとして実現できる。さらに、本発明は、そのプログラムを記憶したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記憶媒体として実現できる。
【産業上の利用可能性】
【０１５９】
本発明にかかる機器制御装置によれば、拡張現実空間におけるユーザの操作を想定していない操作機器であっても、拡張現実空間においてその操作機器をユーザは操作可能となるため、今後ますます登場が予想される拡張現実空間上のアプリケーションの分野において特に有用である。
【符号の説明】
【０１６０】
１０  機器制御装置
１００  ユーザ
１０１  カメラ
１０２  ＨＭＤ
１０３  サーバ機器
１０４  操作機器
４００  映像取得部
４０１  映像解析部
４０２  機能情報取得部
４０３  機能情報保存部
４０４  仮想ＵＩ生成部
４０５  仮想ＵＩ保存部
４０６  ユーザ入力認識部
４０７  ユーザ入力判定部
４０８  接触点認識部
４０９  重畳部
４１０  表示部
４１１  指令部
【図１】
2013172432.tif 000003
【図２】
2013172432.tif 000004
【図３】
2013172432.tif 000005
【図４】
2013172432.tif 000006
【図５】
2013172432.tif 000007
【図６】
2013172432.tif 000008
【図７】
2013172432.tif 000009
【図８】
2013172432.tif 000010
【図９】
2013172432.tif 000011
【図１０】
2013172432.tif 000012
【図１１】
2013172432.tif 000013
【図１２】
2013172432.tif 000014