説明

機器制御装置、機器制御方法、機器制御プログラム、及び集積回路

【課題】ジェスチャ登録機能、ジェスチャ認識機能、およびアクション実行機能を有しない操作機器に対して、ジェスチャを用いた操作を可能とする。
【解決手段】ある操作機器を指で触れるジェスチャを行って機器選択指示を入力すると、機能情報取得部506は、その操作機器が持つ機能の一覧を示す機能情報を機能情報保存部507から取得する。仮想UI生成部508は、機能情報取得部506により取得された機能情報に基づいて仮想UIを生成し、生成した仮想UIと、機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けて仮想UI保存部509に保存する。表示重畳部511は、操作機器選択指示と同じジェスチャが行われた場合、当該ジェスチャに対応する仮想UIを現実空間の映像データに重畳して拡張現実空間の映像データを生成し、表示部513に表示させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、拡張現実空間に含まれる操作機器をヘッドマウントディスプレイを装着したユーザにより操作させる技術に関するものである。
【背景技術】
【0002】
近年、高速通信技術の発展及び普及、並びに任天堂社製のWii(登録商標)及びSONY社製のPLAYSTATION(登録商標)MOVE等の登場に伴い、ジェスチャを用いて機器を操作するというような、新しいユーザエクスペリエンス(以下、UX)を提供するゲームやアプリケーションが盛んに開発され始めている。
【0003】
例えば、任天堂のWiiでは、ユーザのジェスチャ操作に対応したアクションを機器にあらかじめ登録しておくことで、実際にユーザがそのジェスチャを行ったときにそのジェスチャを認識し、認識したジェスチャに対応する機能を実行するユーザインターフェース(以降、UIと記述する)が提供されている。
【0004】
図10は従来技術の概要図である。図10において、操作機器100は、ユーザがジェスチャを行う際に把持される。まず、ジェスチャ登録段階(段階1)において、操作機器100は、ユーザにより行われたジェスチャを認識し、そのジェスチャを登録する。ジェスチャ登録後、そのジェスチャがユーザにより行われると、操作機器100はそのジェスチャを認識する(段階2:ジェスチャ認識段階)。操作機器100はユーザにより行われたジェスチャを認識すると、そのジェスチャに対応したアクション及び表示を行うように機器101に命令する(段階3:機能実行段階)。命令を受けた機器101はその命令に従った、アクションを行い、アクションの結果を表示機器102に表示する(段階4:表示段階)。このように従来の技術では、現実の操作機器100にジェスチャ登録機能とジェスチャ認識機能を持たせ、操作機器100により認識されたジェスチャに対応したアクション及び表示を実行するアクション実行機能を機器101に予め持たせることによって、UXを実現していた。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】“NINTENDO Wii モーションプラスとは”[ONLINE]、「平成22年12月15日検索」、インターネット<URL:http://www.nintendo.co.jp/wii/rztj/motionplus/index.html>
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記の従来の技術では、予め操作機器100及び機器101にジェスチャ認識機能、ジェスチャ登録機能、及びアクション実行機能を持たせなければならない。したがって、これらの機能を持たない機器では、ジェスチャ登録機能、ジェスチャ認識機能、及びアクション実行機能を実現できないという課題がある。例えば、現在普及しているデジタル家電機器では、これらの機能を持っていないケースも多い。したがって、ユーザは、デジタル家電機器をジェスチャを用いて操作することができないという問題がある。
【0007】
一方、デジタル家電機器に上記のジェスチャ登録機能、ジェスチャ認識機能、及びアクション実行機能を搭載するとコストが増大するという問題が発生する。
【0008】
本発明の目的は、ジェスチャ登録機能、ジェスチャ認識機能、およびアクション実行機能を有しない操作機器に対して、ジェスチャを用いた操作を可能とする技術を提供することである。
【課題を解決するための手段】
【0009】
(1)本発明による機器制御装置は、拡張現実空間に含まれる操作機器をヘッドマウントディスプレイを装着したユーザにより操作させる機器制御装置であって、前記拡張現実空間においてユーザにより行われるジェスチャを認識するユーザ入力認識部と、前記ユーザ入力認識部により認識されたジェスチャに基づいてユーザにより入力された入力指示を判定するユーザ入力判定部と、前記ユーザ入力判定部により、ある操作機器を選択するための機器選択指示が前記入力指示として入力されたと判定された場合、当該操作機器が持つ機能の一覧を示す機能情報を取得する機能情報取得部と、前記機器選択指示によりユーザが選択した操作機器の前記機能情報と、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けて入力ジェスチャ登録情報を生成するジェスチャ情報登録部と、前記機能情報取得部により取得された機能情報に基づいて仮想ユーザインターフェイスを生成し、生成した仮想ユーザインターフェイスと、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けてユーザインターフェイス登録情報を生成する仮想UI生成部と、前記ユーザ入力判定部により、前記ユーザインターフェイス登録情報に登録されたジェスチャが入力されたと判定された場合、当該ジェスチャに対応する仮想ユーザインターフェイスを現実空間の映像データに重畳表示する重畳表示部と、前記ユーザ入力判定部により、前記仮想ユーザインターフェイスを用いたユーザからの機器操作指示が前記入力指示として入力されたと判定された場合、当該機器操作指示に対応する機能を前記入力ジェスチャ登録情報に含まれる前記機能情報から検索する機能情報検索部と、前記機能情報検索部により検索された機能が実行されるように前記操作機器に命令を行う機能実行要求部とを備える。
【0010】
また、本発明による機器制御方法、機器制御プログラム及び集積回路は、上記の機器制御装置と同様の構成を持っている。
【0011】
この構成によれば、ユーザはある操作機器を選択するためにあるジェスチャを行って機器選択指示を入力すると、ユーザにより選択された操作機器の機能情報が取得され、取得された機能情報とジェスチャとが対応付けて入力ジェスチャ登録情報が生成される。また、取得された機能情報から仮想ユーザインターフェイス(仮想UI)が生成され、生成された仮想UIがユーザにより行われたジェスチャと対応付けてユーザインターフェイス登録情報が生成される。以上によりユーザが行ったジェスチャと操作機器の機能情報と、操作機器の仮想UIとが対応付けられる。
【0012】
そして、ユーザにより、機器選択指示を入力したときと同じジェスチャが行われると、そのジェスチャに対応付けられた仮想UIが表示される。そして、ユーザは、表示された仮想UIに対して操作指示を入力すると、操作指示に対応する機能が入力ジェスチャ登録情報に含まれる機能情報から検索されて実行される。
【0013】
したがって、ジェスチャ登録機能、ジェスチャ認識機能、及びアクション実行機能を有しない操作機器であっても、ジェスチャを用いた操作が可能になる。そのため、ユーザの利便性を向上させることができる。
【0014】
(2)前記ユーザ入力認識部は、前記ヘッドマウントディスプレイに装着されたカメラ、又は現実空間に設置されたカメラにより取得された映像データに基づいて前記ジェスチャを認識することが好ましい。
【0015】
この構成によれば、カメラによりユーザを撮影することで、ジェスチャを認識することができるため、ジェスチャを精度良く認識することができる。
【0016】
(3)前記機能情報取得部は、前記ヘッドマウントディスプレイ又はサーバ機器に設けられていることが好ましい。
【0017】
この構成によれば、ヘッドマウントディスプレイ又はサーバ機器に機能情報を取得させることができる。
【0018】
(4)前記仮想ユーザインターフェイスは、前記操作機器の実際のリモコンを模擬した仮想リモコンであることが好ましい。
【0019】
この構成によれば、仮想UIが操作機器の実際のリモコンと同じ外観を持つため、ユーザは既存のリモコンと同じ感覚で仮想UIを操作することができる。
【0020】
(5)前記機能情報取得部は、前記操作機器又は前記機能情報を予め記憶するサーバ機器から前記機能情報を取得することが好ましい。
【0021】
この構成によれば、操作機器が機能情報を外部に出力する機能を持つ場合、その操作機器から直接機能情報を取得することで、操作機器と同一の機能情報を確実に得ることができる。また、操作機器の機能情報がサーバ機器で管理されている場合、サーバ機器から機能情報を取得することで、操作機器の最新の機能情報を得ることができる。
【0022】
(6)前記ユーザ入力判定部は、前記ユーザ入力認識部により認識されたジェスチャが、ある操作機器に触れるジェスチャである場合、当該操作機器を選択するための前記機器選択指示が前記入力指示として入力されたと判定することが好ましい。
【0023】
この構成によれば、ユーザは操作機器に触れることで機器選択指示を入力することができ、ユーザは直感的に理解し易いジェスチャを用いて機器選択指示を入力することができる。
【0024】
(7)前記仮想ユーザインターフェイスが表示されている状態で、ユーザにより現実空間の位置を指定するジェスチャが行われて表示位置指定指示が入力されたと前記ユーザ入力判定部により判定された場合、前記表示位置指定指示により指定された位置を前記仮想ユーザインターフェイスの表示位置として認識する接触点認識部を更に備え、前記重畳表示部は、前記接触点認識部により認識された位置に表示されるように、前記仮想ユーザインターフェイスを前記現実空間の映像データに重畳することが好ましい。
【0025】
この構成によれば、ユーザは表示位置指定指示を入力することで拡張現実空間上の好みの位置に仮想UIを表示させることができる。
【0026】
(8)前記接触点認識部は、前記ユーザ入力判定部により、前記表示位置指定指示が入力されたと判定された場合、ユーザが前記表示位置指定指示を入力する際に触れた物体を認識し、前記重畳表示部は、前記接触点認識部により認識された物体に貼り付けられるように、前記仮想ユーザインターフェイスを前記現実空間の映像データに重畳することが好ましい。
【0027】
この構成によれば、仮想UIが物体に貼り付けて表示されるため、ユーザは仮想UIを操作した際、指先が物体に触れることになり、仮想UIを操作したことを実感することができる。
【0028】
(9)前記仮想UI生成部は、ユーザ毎に前記仮想ユーザインターフェイスのレイアウトをカスタマイズすることが好ましい。
【0029】
この構成によれば、ユーザにとって使い勝手のよい仮想UIを提供することができる。
【0030】
(10)前記仮想UI生成部は、前記機能情報に含まれる各機能に対応する機器操作指示の入力頻度に基づいて、前記仮想ユーザインターフェイスをカスタマイズすることが好ましい。
【0031】
この構成によれば、ユーザによってほとんど使用されない機能に対応するボタン等が仮想UIから省かれ、仮想UIの情報量が低下して、真にユーザが必要な機能に対応するボタンのみ仮想UIに含ませることができる。
【0032】
(11)前記仮想UI生成部は、ユーザの年齢又はユーザからの選択指示に基づいて、前記仮想ユーザインターフェイスをカスタマイズすることが好ましい。
【0033】
この構成によれば、ユーザの年齢やユーザの好みに応じて適切な仮想ユーザインターフェイスを提供することができる。
【発明の効果】
【0034】
本発明によれば、ジェスチャ登録機能、ジェスチャ認識機能、およびアクション実行機能を有しない操作機器に対して、ジェスチャを用いた操作が可能になる。そのため、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【0035】
【図1】ユーザがジェスチャを行ってから、仮想UIが生成されるまでの流れを示した図である。
【図2】図1において生成され、保存された仮想UIが表示されるまでの流れを示した図である。
【図3】仮想UIが表示されている状態において、ユーザが仮想UIの表示位置を指定する際の流れを示した図である。
【図4】本発明の実施の形態における機器制御装置の機能ブロック図である。
【図5】本発明の実施の形態による機器制御装置の動作を示すフローチャートである。
【図6】本発明の実施の形態による機器制御装置の動作を示すフローチャートである。
【図7】本発明の実施の形態による機器制御装置の動作を示すフローチャートである。
【図8】本発明の実施の形態による機器制御装置の動作を示すフローチャートである。
【図9】仮想UI生成部により生成されるあるユーザのユーザインターフェイス登録情報のデータ構造の一例を示した図である。
【図10】従来技術の概要図である。
【発明を実施するための形態】
【0036】
図1から図3は、本発明の実施の形態における機器制御装置の処理の概要を示した図である。図1から図3において、同じ構成要素については同じ符号を用い、説明を省略する。本実施の形態による機器制御装置は、カメラ201、ヘッドマウントディスプレイ(以下、“HMD”と記述する。)202、及びサーバ機器203を備えている。カメラ201は、現実空間の映像データを取得する。HMD202は、カメラ201により取得された映像データに仮想ユーザインターフェイス(以下、“仮想UI”と記述する)等を重畳し、拡張現実空間の映像データを生成して表示する。サーバ機器203は、HMD202と所定の通信回線NTを介して接続され、HMD202に種々のサービスを提供する。また、サーバ機器203は通信回線NTを操作機器204と接続されている。ここで、通信回線NTとしては、例えば、インターネット、携帯電話通信網、又は専用回線等が採用されている。
【0037】
図1は、ユーザ200がジェスチャを行ってから、仮想UIが生成されるまでの流れを示した図である。まず、段階1において、ユーザ200が操作機器204を選択するために操作機器204に触れるジェスチャを行う。段階2において、カメラ201は、ジェスチャ自体を認識すると共に、ユーザが選択した操作機器204を認識する。
【0038】
段階3において、カメラ201は認識したジェスチャとそのジェスチャにより選択された操作機器204とを示す情報をHMD202に通知する。
【0039】
段階4において、HMD202は、サーバ機器203に対して、仮想UIを生成する要求を送信する。段階5において、サーバ機器203は、操作機器204から、操作機器204が持つ機能の一覧を示す機能情報を取得する。段階6において、サーバ機器203はその機能情報に基づいて仮想UIを生成する。段階7において、サーバ機器203は、ユーザ200によって行われたジェスチャと、生成した仮想UIとを対応付けて保存する。
【0040】
図2は、図1において生成され、保存された仮想UIが表示されるまでの流れを示した図である。段階1において、ユーザ200が操作機器204を選択したときと同じジェスチャを行う。段階2において、カメラ201はそのジェスチャを認識する。段階3において、カメラ201は、認識したジェスチャをHMD202に通知する。段階4において、HMD202は、どのジェスチャが行われたかをサーバ機器203に対して通知する。段階5において、サーバ機器203は、そのジェスチャに対応する仮想UIが保存されているかを判定する。ジェスチャに対応する仮想UIが保存されている場合、段階6において、サーバ機器203は、HMD202にその仮想UIを送信する。段階7において、HMD202は、サーバ機器203から送信された仮想UIを表示する。
【0041】
図3は、仮想UIが表示されている状態において、ユーザ200が仮想UIの表示位置を指定する際の流れを示した図である。段階1において、ユーザ200がジェスチャを行う。ここでは、ユーザ200は、例えば、現実空間のある物体に指先を触れるジェスチャを行ったとする。段階2において、カメラ201は、指と物体とが接触した位置を認識する。段階3において、カメラ201は、認識した位置をHMD202に通知する。段階4において、HMD202は、表示中である仮想UIが物体に貼り付けられるように、仮想UIを現実空間の映像データに重畳する。そして、ユーザは、仮想UIを操作して、操作機器204の操作を行う。以上が本実施の形態による機器制御装置の処理の概要である。以下、本実施の形態による機器制御装置の処理を詳細に説明する。
【0042】
図4は、本発明の実施の形態における機器制御装置の機能ブロック図である。図4に示すように、機器制御装置は、ユーザ入力認識部500、ユーザ入力判定部501、ジェスチャ情報登録部502、ジェスチャ情報保存部503、機能情報検索部504、機能実行要求部505、機能情報取得部506、機能情報保存部507、仮想UI生成部508、仮想UI保存部509、接触点認識部510、表示重畳部511、映像取得部512、及び表示部513を備えている。
【0043】
以下の説明では、映像取得部512、ユーザ入力認識部500、ユーザ入力判定部501、及び接触点認識部510はカメラ201で構成され、ジェスチャ情報登録部502、ジェスチャ情報保存部503、機能情報検索部504、機能実行要求部505、表示重畳部511、及び表示部513はHMD202で構成され、機能情報取得部506、機能情報保存部507、仮想UI生成部508、及び仮想UI保存部509はサーバ機器203により構成されているものとする。但し、これは一例であり、図4に示す映像取得部512及び表示部513以外の各機能は、カメラ201、HMD202、及びサーバ機器203のいずれに実行させてもよい。
【0044】
また、カメラ201はHMD202に設けてもよいし、現実空間内にある位置に配置された定点カメラにより構成してもよい。
【0045】
映像取得部512は、例えば、深度センサにより構成され、所定のフレームレートで現実空間の映像データを取得する。つまり、映像取得部512は、現実空間の動画像を取得する。なお、映像取得部512としては、深度センサに限定されずステレオ法で奥行き座標の位置を検出することができるステレオ画像センサを採用してもよい。
【0046】
ユーザ入力認識部500は、拡張現実空間においてユーザにより行われるジェスチャを認識する。ここで、ユーザ入力認識部500は、映像取得部512により取得された映像データから所定のフレームレートで順次に現実空間の映像データが入力される。そして、ユーザ入力認識部500は、入力される映像データからユーザの腕を検出する。そして、ユーザ入力認識部500は、映像データからユーザの腕を検出できた場合、以後入力される映像データを用いてユーザの左右の腕の動きを追尾する。そして、ユーザ入力認識部500は、ユーザの左右の腕の動きを検出するとユーザの左右の腕の肘、手、及び各指等の各部位の移動方向と移動量とを含むジェスチャ認識情報を周期的に求めユーザ入力判定部501に供給する。
【0047】
本実施の形態では、映像取得部512は、例えば深度センサにより構成されている。そのため、ジェスチャ認識情報に含まれる移動方向と移動量とは、垂直座標成分、水平座標成分に加えて奥行き座標成分からなる3次元データにより構成される。ここで、垂直座標成分は深度センサの映像データの垂直方向(縦方向)の座標成分であり、水平座標成分は深度センサの水平方向(横方向)の座標成分であり、奥行き座標成分は深度センサのセンサ面に直交する奥行き方向の座標成分である。
【0048】
ユーザ入力判定部501は、ユーザ入力認識部500により認識されたジェスチャに基づいてユーザにより入力された入力指示を判定する。本実施の形態では、入力指示として、機器選択指示、仮想UI表示指示、機器操作指示、及び表示位置指定指示等が含まれる。機器選択指示は、ユーザ200がある操作機器を選択する入力指示である。ユーザ200は例えばある操作機器204をある指で触れるジェスチャを行うことで機器選択指示を入力する。したがって、ユーザ入力判定部501は、ジェスチャ認識情報がユーザ200のある指がある操作機器204に触れたジェスチャを示す場合、ユーザ200により機器選択指示が入力されたと判定する。
【0049】
ここで、ユーザ入力判定部501は、ユーザ入力認識部500からある指を差し出すジェスチャを示すジェスチャ認識情報が供給されると、映像取得部512から供給される映像データからその指先に物体が位置するか否かを判定する。そして、ユーザ入力判定部501は、指先に物体が位置すると判定した場合、その物体が所定の操作機器204であるか否かを判定し、所定の操作機器204であると判定した場合、ユーザ200により機器選択指示が入力されたと判定すればよい。
【0050】
具体的には、ユーザ入力判定部501は、ある指を差し出すジェスチャ認識情報が供給されると、特徴点を検出する処理を行うことで映像データに含まれる物体を抽出し、検出した物体のうち、指先と座標データが一致する部位を持つ物体が存在すれば、当該物体にユーザ200の指先が触れたと判定すればよい。そして、ユーザ入力判定部501は、指先で触れられた物体の特徴点の配置パターンが予め定められた操作機器204の配置パターンと一致すれば、ユーザ200により機器選択指示が入力された判定すればよい。
【0051】
仮想UI表示指示は、ユーザ200が機器選択指示を用いて選択した操作機器204の仮想UIを表示させるための入力指示である。ユーザ200は、機器選択指示を入力したときと同じジェスチャを行うことで仮想UI表示を表示させる。例えば、ユーザ200が人差し指を差し出して操作機器204に触れるジェスチャを行って機器選択指示を入力した場合、人差し指を差し出すジェスチャ(この場合、操作機器204に触れる必要はない)を行うと、仮想UIが表示される。
【0052】
機器操作指示は、ユーザ200が仮想現実空間に表示される仮想UIを操作する入力指示である。ユーザ200は、仮想UIに含まれる例えば操作ボタンに触れるジェスチャを行うことで、機器操作指示を入力する。この場合、ユーザ入力判定部501は、仮想UIの操作ボタンの座標データが、ユーザ200の指先の座標データに重なる又は一定の範囲内に位置する場合に、ユーザ200が機器操作指示を入力したと判定すればよい。
【0053】
ここで、仮想UIは、拡張現実空間において表示される。拡張現実空間は、上記の垂直座標成分、水平座標成分、及び奥行き座標成分で規定される3次元空間であり、その映像データは現実空間の映像データにグラフィックスを重畳して生成される。
【0054】
表示位置指定指示は、ユーザ200が拡張現実空間において仮想UIの表示位置を指定するために入力する入力指示である。本実施の形態では、ユーザ200は仮想UI表示させただけでは、仮想UIを操作することができず、仮想UIの表示位置を指定することで、仮想UIの操作を可能とする。したがって、ユーザ200は、例えば、仮想UIを表示させるジェスチャを行った後、ある指(例えば人差し指)を差し出して、希望する位置で差し出した指を停止するジェスチャを行うことで表示位置指定指示を入力する。そのため、ユーザ入力判定部501は、仮想UIが表示されているが、仮想UIが操作可能となっていない場合に、ユーザ200により人差し指を差し出して停止するジェスチャが行われたとき、表示位置指定指示が入力されたと判定する。
【0055】
また、ユーザ入力判定部501は、仮想UIが表示中であるか、表示されていないか、表示中であるが操作可能であるか、表示中であるが操作不可能であるかというような、仮想UIの現在の状態を保持し、仮想UIを管理する。
【0056】
機能情報取得部506は、ユーザ入力判定部501により機器選択指示が入力されたと判定された場合、機器選択指示により選択された操作機器204が持つ機能の一覧を示す機能情報を機能情報保存部507から取得する。操作機器204が例えば、DVDプレーヤである場合は、機能として、電源をオンオフするための“電源オンオフ”、映像データを再生するための“再生”、録画を開始するための“録画”、テレビのチャンネルを選択するための“チャンネル選択”、再生及び録画を停止するための“停止”、所望のシーンに映像データのコマを進める“早送り”、及び所望のシーンに映像データのコマを戻す“巻き戻し”等が存在する。よって、この場合、機能情報は、電源オンオフ、再生、録画、チャンネル選択、停止、巻き戻し、及び早送り等の機能の一覧を示す情報となる。
【0057】
また、操作機器204が例えばテレビである場合は、機能として、電源をオンオフするための“電源オンオフ”、チャンネルを選択するための“チャンネル選択”、音量を調整するための“音量”等が存在する。したがって、この場合、機能情報は、電源オンオフ、チャンネル選択、音量等の機能の一覧を示す情報となる。
【0058】
なお、これらの機能情報は一例にすぎず、他の機能を含ませても良い。また、操作機器204としては、DVDプレーヤ及びテレビに限定されず、例えば、オーディオ、ミニコンポ、エアコン、又は空気清浄機等、リモコンにより操作可能な機器であれば、どのような機器を採用してもよい。
【0059】
ここで、機能情報取得部506は、操作機器204が機器情報通知機能を持つ場合は、操作機器204に対して機器情報取得要求を送信することで、操作機器204から機器情報を直接取得してもよい。そして、この場合、機能情報取得部506は、操作機器204がリモコンにより操作される機器であればリモコンと機器本体との間で行われる通信プロトコルを用いて、操作機器204と通信して機器情報を取得すればよい。なお、この場合、機能情報保存部507は、操作機器204が備えることになる。
【0060】
また、機能情報取得部506がHMD202に設けられている場合であって、サーバ機器203が機能情報を予め保持している場合、機能情報取得部506は、ユーザ入力判定部501に、操作機器204の型番を特定させ、特定させた型番に対応する機能情報を機器情報保存部507から取得してもよい。この場合、ユーザ入力判定部501は、例えば操作機器204の型番を映像データから認識し、その型番を機能情報取得部506に通知すればよい。なお、この場合、機能情報保存部507はサーバ機器203が備えることになる。
【0061】
また、また、機能情報取得部506がHMD202に設けられている場合において、機能情報取得部506は、取得した機能情報を絶えず最新の機能情報に更新するようにしてもよい。この場合、機能情報取得部506は、例えば、機器選択装置の電源がオンされる度に、取得済の機器情報に対する更新要求を機器情報保存部507に通知し、機器情報を最新の機器情報に更新すればよい。
【0062】
機能情報保存部507を機能情報保存部507をHMD202のメモリ上に設けてもよい。この場合、機能情報保存部507は、予め定められた操作機器204のそれぞれの機能情報を予め保存しておけばよい。また、この場合、ユーザ200が好みの操作機器204の機能情報をサーバ機器203から取得して、機能情報保存部507に保存させるようにしてもよい。
【0063】
ジェスチャ情報登録部502は、ユーザ入力判定部501により機器選択指示が入力されたと判定された場合、その操作機器204の機能情報と、機器選択指示を入力する際にユーザ200により行われたジェスチャを示すジェスチャ特徴情報とを対応付けて入力ジェスチャ登録情報を生成し、生成した入力ジェスチャ登録情報をジェスチャ情報保存部503に保存させる。
【0064】
ここで、機器制御装置がユーザ200に対して機器選択指示の入力を促すプログラムを実行する事によってユーザ200と機器制御装置とがインタラクティブに入力ジェスチャ登録情報の登録処理を行ってもよい。例えば、表示重畳部511において、ユーザ200のジェスチャに応答して動作する人体オブジェクトを表示させ、ユーザ200が行ったジェスチャをユーザ200にフィードバックさせるようにしてもよい。或いは、人体オブジェクトのジェスチャをまねるようにユーザ200にジェスチャを行わせて機器選択指示を入力させるようにしてもよい。例えば、人体オブジェクトに手を振るような動作を行わせ、それに合わせて、ユーザ200に手を振るジェスチャを行わせるというようにして、インタラクティブに機器選択指示を登録させてもよい。
【0065】
入力ジェスチャ登録情報としては、例えば、機器選択指示を入力する際に行われたジェスチャを特徴付けるジェスチャ特徴情報と、機器選択指示によって選択された操作機器204の機能情報と、ジェスチャを入力したユーザ200を示すユーザIDとを紐付ける情報が採用される。ジェスチャ特徴情報としては、機器選択指示を入力する際にユーザ200により行われたジェスチャを示すジェスチャ認識情報が採用される。
【0066】
本実施の形態では、ユーザ200にある指で操作機器204を触れるジェスチャを行わせることで、機器選択指示を入力させている。したがって、ジェスチャ特徴情報としては、例えば、指の種類、指先の移動方向、及び指先の移動量を示すデータが採用される。指の種類としては、親指〜小指等のいずれかの指を示す情報が採用される。指先の移動方向、及び指先の移動量としては、機器選択指示が行われたときにユーザ入力認識部500からユーザ入力判定部501に供給されるジェスチャ認識情報に含まれる該当する指の移動方向及び移動量を採用すればよい。
【0067】
ユーザIDとしては、HMD202を装着しているユーザ200を識別する情報を採用すればよい。このユーザIDは例えば、HMD202を装着した際にユーザ200に入力させるようにすればよい。具体的には、HMD202にユーザIDを予め登録させておく。そして、HMD202の電源がオンされると、HMD202の表示パネルにユーザIDを入力するための仮想UIを表示し、その仮想UIを用いてユーザ200に登録済のユーザIDを入力させればよい。
【0068】
機能情報としては、機器選択指示が行われた場合に機能情報取得部506により取得された機能情報を採用すればよい。なお、ユーザ入力判定部501は機器選択指示が入力されたと判定した場合、機能情報取得部506により取得された機能情報をジェスチャ情報登録部502に供給する。これにより、ジェスチャ情報登録部502は機能情報を取得することができる。
【0069】
機能情報検索部504は、ユーザ入力判定部501により、仮想UI用いたユーザ200からの機器操作指示が入力指示として入力されたと判定された場合、当該機器操作指示に対応する機能を入力ジェスチャ登録情報に含まれる機能情報から検索する。例えば、DVDプレーヤの仮想UIが表示されている場合を例に挙げて説明する。仮想UIには、例えば、電源オンオフ、再生、録画、チャンネル選択、停止、巻き戻し、及び早送り等のボタンが含まれている。
【0070】
したがって、ユーザ入力判定部501により例えば電源オンオフのボタンが押されたと判定されると、機能情報検索部504は、電源オンオフに対応する機能を機能情報から検索する。そして、電源オンオフに対応する機能を検索できたとすると、電源オンオフの機能を実行するように機能実行要求部505に通知する。
【0071】
機能実行要求部505は、機能情報検索部504により検索された機能が実行されるように操作機器204に命令を行う。この場合、機能実行要求部505は、操作機器204が例えばDVDプレーヤのようにリモコン操作が可能な機器である場合、リモコンがDVDプレーヤにある機能を実行させるためにDVD本体に送信するリモコン信号と同じ信号を送信すればよい。例えば、DVDプレーヤをオンオフさせる場合、機能実行要求部505は、DVDプレーヤのリモコンがDVDプレーヤの本体に送信するDVDプレーヤをオンオフさせるリモコン信号と同じ信号をDVDプレーヤに送信する。これにより、DVDプレーヤはオフの状態にある場合は電源をオンし、オンの状態にある場合は電源をオフする。
【0072】
仮想UI生成部508は、機能情報取得部506により取得された機能情報に基づいて仮想UIを生成し、生成した仮想UIと、機器選択指示を入力する際にユーザ200により行われたジェスチャとを対応付けてユーザインターフェイス登録情報を生成し、仮想UI保存部509に保存する。
【0073】
図9は、仮想UI生成部508により生成されるあるユーザ200のユーザインターフェイス登録情報1000のデータ構造の一例を示した図である。図9に示すように、ユーザインターフェイス登録情報1000は、ジェスチャ特徴情報、選択機器、及び仮想UIの欄を備えている。入力ジェスチャ登録情報の欄には、人差し指、中指等、ユーザ200が機器選択指示を入力する際に行ったジェスチャを示すジェスチャ特徴情報が格納されている。
【0074】
本実施の形態では、ユーザ200は操作機器204にある指を触れるジェスチャを行うことで機器選択指示を入力する。したがって、図9の例では、ジェスチャ特徴情報としては、操作機器204に触れたユーザ200の指を示す情報が採用されている。
【0075】
選択機器の欄には、ユーザ200が機器選択指示を入力して選択した操作機器204を特定するための識別情報が格納されている。仮想UIの欄には、ユーザ200が機器選択指示を入力して選択した操作機器204に対する仮想UIを識別するための識別情報が格納されている。
【0076】
図9の例では、ユーザ200は、DVDレコーダに人差し指を触れるジェスチャを行って機器選択指示を入力し、そのとき生成された仮想UIに対して“DVD_Rec_UI”の識別情報が付与されている。そのため、行1001のレコードには、ジェスチャ特徴情報、選択機器、及び仮想UIの欄にそれぞれ、“人差し指”、“DVDレコーダ”、及び“DVD_Rec_UI”が格納されている。
【0077】
また、図9の例では、ユーザ200はブルーレイレコーダに中指を触れるジェスチャを行って機器選択指示を入力し、そのとき生成された仮想UIに対して“BluRay_Rec_UI”の識別情報が付与されている。したがって、行1002のレコードには、“中指”、“Blu−rayレコーダ”、及び“BluRay_Rec_UI”が格納されている。
【0078】
以下、同様に、ユーザ200は、テレビ、コンポ、パソコンに対して親指、小指、薬指を触れて機器選択指示を入力しているため、行1003〜1005のレコードの各欄には図示する情報が格納されている。
【0079】
ここで、仮想UI生成部508は、機能情報取得部506により、機能情報と併せて仮想UIが取得されている場合、取得された仮想UIを用いてユーザインターフェイス登録情報1000を生成すればよい。また、仮想UI生成部508は、機能情報取得部506により機能情報と併せて仮想UIが取得されなかった場合、サーバ機器203から仮想UIの取得を試みる。そして、仮想UI生成部508は、仮想UIを取得できた場合、その仮想UIを用いてユーザインターフェイス登録情報1000を生成すればよい。
【0080】
本実施の形態では、仮想UIとして、操作機器204のリモコンと同様な外観を持つ仮想リモコンを採用する。したがって、機能情報取得部506が機器情報と併せて仮想UIを取得することができた場合、仮想UIとして、該当する操作機器204のリモコンと同じ外観を有する仮想リモコンが採用される。よって、仮想UIには、“電源オンオフ”ボタン、“再生”ボタン、“早送り”ボタンとういうような、操作機器204の実際のリモコンが持つボタンと同じボタンが同じレイアウトで表示される。
【0081】
また、仮想UI生成部508は、仮想UIを取得できなかった場合、機能情報に含まれる各機能をボタン形式で一覧表示した仮想UIを生成すればよい。この場合、仮想UI生成部508は、各機能の名称を四角で囲んだ操作ボタンを一覧表示する仮想UIを生成すればよい。
【0082】
また、仮想UI生成部508は、ユーザ200毎に仮想UIのレイアウトをカスタマイズしてもよい。この場合、仮想UI生成部508は、機能情報に含まれる各機能に対応する機器操作指示の入力頻度に基づいて仮想UIをカスタマイズすればよい。例えば、仮想リモコンにAという機能を実行するためのAボタン、Bという機能を実行するためのBボタンがあったとする。
【0083】
この場合、仮想UI生成部508は、Aボタン及びBボタンに対してユーザ200が触れた回数をそれぞれカウントする。また、仮想UI生成部508は、ユーザ200が仮想UIの表示回数もカウントする。そして、仮想UI生成部508は、ユーザ200が仮想UIを表示回数が一定の値を超えた場合に、Aボタン及びBボタンのそれぞれに触れた回数を表示回数で割り、Aボタン及びBボタンの入力頻度を求める。そして、仮想UI生成部508は、Aボタン又はBボタンの入力頻度がAボタン又はBボタン毎に予め定められた規定値を超えた場合は、Aボタン又はBボタンを残存させる。一方、Aボタン又はBボタンの入力頻度がAボタン又はBボタン毎に予め定められた規定値以下の場合は、Aボタン又はBボタンを仮想UIから省けばよい。以後、仮想UI生成部508は、仮想UIの表示回数が一定の値を超える毎に上記の処理を行い、Aボタン又はBボタンを省くか否かの判定を行えばよい。
【0084】
これにより、ユーザ200によってほとんど使用されない機能に対応するボタンが仮想UIから省かれ、仮想UIの情報量が低下して、真にユーザ200が必要な機能に対応するボタンのみ仮想UIに含ませることができる。
【0085】
なお、仮想UI生成部508は、ユーザ入力判定部501から仮想UIのどのボタンがユーザ200により触れられたかを示す情報が供給され、この情報に基づいて機能情報の各機能に対する入力頻度を算出すればよい。
【0086】
また、仮想UI生成部508は、ユーザ200の年齢又はユーザ200からの選択指示に基づいて仮想UIをカスタマイズしてもよい。例えば、高齢者のユーザ200は操作機器204の機能のうち数個(例えば2〜5個)程度の機能しか使用しない場合もある。また、高齢者のユーザ200の場合、多数のボタンを仮想UIに配置すると老眼によりボタンを視認することが困難になる虞がある。そこで、仮想UI生成部508は、HMD202を使用するユーザ200の年齢が一定の年齢を超える場合、高齢者のユーザ200用に仮想UIをカスタマイズしてもよい。この場合、仮想UI生成部508は、機能情報取得部506により機能情報と併せて高齢者用の仮想UIが取得された場合はその仮想UIを採用すればよいし、取得されなかった場合は所定のボタンのみが含まれるように仮想UIをカスタマイズすればよい。なお、ユーザ200の年齢は、ユーザ200がHMD202を初めて使用する際に、ユーザ200に入力させればよい。
【0087】
接触点認識部510は、ユーザ入力判定部501によりユーザ200が表示位置指定指示を入力したと判定された場合、表示位置指定指示によりユーザ200により指定された位置を仮想UIの表示位置として認識する。
【0088】
具体的には、接触点認識部510は、ユーザ入力判定部501により表示位置指定指示が入力されたと判定されると、ユーザ200の指の先端の位置を示す座標データをユーザ入力判定部501から取得する。そして、接触点認識部510は、指の先端の位置に仮想UIを重畳して表示するための命令を表示重畳部511に出力する。
【0089】
本実施の形態では、ユーザ200は、現実空間のある物体を指で触れるジェスチャを行うことで、表示位置指定指示を入力する。そこで、接触点認識部510は、ユーザ入力判定部501により表示位置指定指示が入力されたと判定されると、映像データからユーザ200が触れた物体を認識する。この場合、接触点認識部510は、拡張現実空間において、ユーザ200の指先の位置に存在する物体を映像データから抽出し、抽出した物体の映像データ上での画像領域を示す情報を表示重畳部511に通知すればよい。
【0090】
これにより、拡張現実空間において、仮想UIはユーザ200が表示位置指定指示を入力するジェスチャを行った際に接触した物体に貼り付けて表示される。仮想UIは上述したように、複数のボタンから構成されている。このようなボタンを拡張現実空間中に浮いたように表示させると、ユーザ200はボタンを押しことを実感することが困難である。そこで、本実施の形態では、仮想UIを物体に貼り付けて表示している。これにより、ユーザ200は、仮想UIのボタンを押した際、指先が物体に触れることになり、ボタンを押したことを実感することができる。
【0091】
なお、拡張現実空間に表示されたオブジェクトをユーザ200に掴ませるようなジェスチャを行って機器操作指示を入力させるような仮想UIが採用される場合は、仮想UIを物体に貼り付けることなく、拡張現実空間中に浮いたように表示させればよい。
【0092】
表示重畳部511は、ユーザ入力判定部501により、ユーザインターフェイス登録情報に登録されたジェスチャが入力され、ユーザ200により仮想UI表示指示が入力されたと判定された場合、当該ジェスチャに対応する仮想UIを現実空間の映像データに重畳して拡張現実空間の映像データを生成し、表示部513に表示させる。具体的には、表示重畳部511は、接触点認識部510から仮想UIを表示するための命令が供給されると、この命令で規定された映像データ上の物体の画像領域にテクスチャマッピング等の手法を用いて仮想UIを貼り付ける。
【0093】
例えば、表示重畳部511は、映像取得部512により取得された映像データを表示部513が備える描画バッファに書き込み、書き込んだ映像データに対して、仮想UIを重畳して書き込むことで、仮想UIを物体に貼り付ければよい。なお、接触点認識部510は、表示位置指定指示が入力され、ユーザ200が触れた物体を認識した場合、以後、映像取得部512により映像データに対して当該物体を追跡し、映像データが更新されるたびに当該物体の画像領域を示す仮想UIを表示するための命令を表示重畳部511に供給する。
【0094】
そして、表示重畳部511は、仮想UIを表示するための命令が供給されるたびにテクスチャマッピングを行い、仮想UIの重畳対象となる物体の画像領域に仮想UIを貼り付ける。これにより、仮想UIの貼り付けた対象となる物体の向きがユーザ200によって変更されて、物体の画像領域が変化しても、その画像領域の変化に追従するように仮想UIが変化される。
【0095】
これにより、仮想UIはユーザ200が触れた物体の表面形状に沿うように変形されて表示され、仮想UIを物体に対して違和感なく貼り付けることができる。
【0096】
表示部513は、例えばHMDの表示パネルや、表示パネルに表示される拡張現実空間の映像データが書き込まれる描画バッファ等を含み、描画バッファに書き込まれた映像データを表示パネルに供給する。これにより、映像取得部512に取得された映像データに仮想UI等が重畳された拡張現実空間の映像データの動画像が表示部513に表示される。
【0097】
次に、本発明の実施の形態における機器制御装置の動作について説明する。図5〜図8は本発明の実施の形態による機器制御装置の動作を示すフローチャートである。
【0098】
まず、ユーザ入力認識部500は、ユーザ200がジェスチャを行ったことを検出すると(ステップS(以下、“S”と略す。)600)、ジェスチャ認識情報をユーザ入力判定部501に供給する。
【0099】
次に、ユーザ入力判定部501は、ユーザ入力認識部500から供給されたジェスチャ認識情報が機器選択指示に該当するか否かを判定する(S601)。次に、ユーザ入力判定部501は、ユーザ200により機器選択指示が入力されたと判定すると(S602でYES)、ユーザ200が指先で触れた操作機器204を認識する(S603)。一方、ユーザ入力判定部501は、ユーザ200により機器選択指示が入力されていないと判定すると(S602でNO)、処理をS604に進める。
【0100】
次に、機能情報取得部506は、S601で認識された操作機器204の仮想UIを機能情報保存部507から検索する(S606)。
【0101】
そして、機能情報取得部506は、機能情報保存部507に該当する仮想UIが存在すると判定した場合(S700でYES)、機能情報保存部507から仮想UI及び該当する操作機器204の機能情報を取得する(S701)。
【0102】
次に、ジェスチャ情報登録部502は、機能情報取得部506により取得された機能情報と、S601で認識されたジェスチャを示すジェスチャ特徴情報と、HMD202を使用するユーザ200のユーザIDと対応付けた入力ジェスチャ登録情報を生成し、ジェスチャ情報保存部503に保存させる(S702)。
【0103】
次に、仮想UI生成部508は、受信した仮想UI及びS601で認識されたジェスチャを示すジェスチャ特徴情報を対応付けてユーザインターフェイス登録情報を生成し、仮想UI保存部509に保存する(S703)。
【0104】
例えば、ユーザ200が人差し指でDVDレコーダに触れた場合には、人差し指で触れたジェスチャを示すジェスチャ特徴情報と、そのジェスチャによりユーザ200により選択されたDVDレコーダの仮想UIと、ユーザIDとが紐付けられてユーザインターフェイス登録情報が生成され、仮想UIに生成部508に保存される。
【0105】
これにより、次にユーザ200が人差し指を差し出すジャスチャと行ったときに、DVDプレーヤの仮想UIが表示部513に表示される。なお、仮想UIは、全ての機能に対応するボタン等を持つものであってもよいし、ユーザ200によってほとんど使用されないボタン等が非表示になるようにカスタマイズされていてもよい。
【0106】
次に、仮想UI生成部508は生成した仮想UIを表示重畳部511に供給し、仮想UIを表示部513に表示させる(S704)。この場合、表示重畳部511は仮想UIを拡張現実空間の所定のデフォルト位置に表示させればよい。また、この場合、ユーザ入力判定部501は、仮想UIの状態を“表示中”、かつ、“操作不可”にすればよい。
【0107】
一方、機能情報取得部506は、機能情報保存部507に操作機器204の仮想UIが存在しないと判定した場合(S700でNO)、機能情報保存部507から操作機器204の機能情報のみを取得する(S705)。次に、ジェスチャ情報登録部502は、機能情報取得部506により取得された機能情報と、S601で認識されたジェスチャを示すジェスチャ特徴情報と、ユーザIDとを対応付けて入力ジェスチャ登録情報を生成し、ジェスチャ情報保存部503に保存する(S706)。
【0108】
次に、機能情報取得部506は、仮想UI生成部508に仮想UIの生成要求を通知する(S707)。次に、仮想UI生成部508は、機能情報取得部506により取得された機器情報から仮想UIを生成する(S708)。
【0109】
次に、仮想UI生成部508は、生成した仮想UIとS601で認識されたジェスチャを示すジェスチャ特徴情報と、ユーザIDとを対応付けてユーザインターフェイス登録情報を生成し、仮想UI保存部509に保存させる(S709)。この場合、例えば図9に示すようなユーザインターフェイス登録情報1000が生成される。
【0110】
次に、仮想UI生成部508は、S709と同様にして、生成した仮想UIを表示重畳部511に供給し、仮想UIを表示部513に表示させる(S710)。この場合、ユーザ入力判定部501は、仮想UIの状態を“表示中”、かつ、“操作不可”にすればよい。
【0111】
一方、図5のS604において、ユーザ入力判定部501が、S601において認識されたジェスチャがジェスチャ情報保存部503で保存された入力ジェスチャ登録情報に登録されており、仮想UI表示指示であると判定した場合(S604でYES)、処理にS605を進める。
【0112】
そして、仮想UI生成部508は、S601で認識されたジェスチャに対応する仮想UIを仮想UI保存部509から読み出し、表示重畳部511に供給し、表示部513に仮想UIを表示させる(S605)。
【0113】
次に、ユーザ200により指先をある物体に接触させるジェスチャが行われ、ユーザ入力判定部501がユーザ200により表示位置指定指示が入力されたと判定すると(S800でYES)、接触点認識部510は、指先と物体とが接触した位置を認識する(S801)。
【0114】
次に、接触点認識部510は、映像データからユーザ200が指先で触れた物体の画像領域を抽出することで物体を認識する(S802)。次に、表示重畳部511は、認識された物体の画像領域に仮想UIをテクスチャマッピングにより貼り付ける(S803)。次に、ユーザ入力判定部501は、仮想UIの状態を“表示中”かつ“操作可能”にし(S804)、処理を終了する。
【0115】
一方、S800において、表示位置指定指示が入力されない場合(S800でNO)、処理がS800に戻され、表示位置指定指示が入力されるまで、処理が待機される。
【0116】
図5に示すS604において、ユーザ入力判定部501は、S601で認識されたジェスチャが仮想UI表示指示でないと判定した場合(S604でNO)、当該ジェスチャが機器操作指示であるか否かを判定する(S900)。
【0117】
そして、ユーザ入力判定部501は、当該ジェスチャが機器操作指示であると判定した場合(S900でYES)、機能情報検索部504は、機器操作指示に対応する機能をジェスチャ情報保存部503から検索する(S901)。
【0118】
次に、機能実行要求部505は、S901で検索された機能を操作機器204に実行させるための命令を操作機器204に出力する。これにより、ユーザ200が操作指示により入力した機能が操作機器204で実行される。
【0119】
一方、ユーザ入力判定部501は、S601で認識されたジェスチャが機器操作指示でない場合(S900でNO)、処理を終了する。
【0120】
なお、上記フローチャートでは、ユーザ200が指先をある物体に接触させることで表示位置指定指示を入力したが、拡張現実空間内の任意の位置に指先を指し示すことで、表示位置指定指示を入力してもよい。
【0121】
この場合、表示重畳部511は、ユーザ200が指し示す指先の位置を中心として表示部513の垂直方向及び水平方向に仮想UIを展開すればよい。また、表示部513にて表示される仮想UIのサイズが小さい又は大きい場合は、仮想UIを適当な大きさに拡大又は縮小してもよい。
【0122】
また、上記説明では、接触点認識部510は映像データを用いてユーザ200の指先の位置を認識したが、ユーザ200の指先の位置を認識できる手法であれば、どのような手法を用いても良い。例えば、ユーザ200の指先に位置センサを設け、これによりユーザ200の指先を認識してもよい。
【0123】
このように、本実施の形態による機器制御装置によれば、ユーザ200はある指である操作機器204に触れるジェスチャを行うと、ユーザ200により選択された操作機器204の機能情報が取得され、取得された機能情報とユーザ200のジェスチャとが対応付けて保存される。また、機能情報から仮想UIが生成され、生成された仮想UIがユーザ200により行われたジェスチャと対応付けて保存される。以上によりユーザ200が行ったジェスチャと操作機器204の機能情報と、操作機器204の仮想UIとが対応付けられる。
【0124】
そして、ユーザ200により、操作機器204を選択したときと同じようにして指先を差し出すジェスチャが行われると、そのジェスチャに対応付けられた仮想UIが表示される。そして、ユーザ200は、表示された仮想UIに対して操作指示を入力すると、操作指示に対応する機能が実行される。
【0125】
したがって、ジェスチャ登録機能、ジェスチャ認識機能、及びアクション実行機能を有しない機器であっても、ジェスチャ登録機能、ジェスチャ認識機能、及びアクション実行機能を提供することが可能になり、ユーザ200の利便性を向上させることができる。
【0126】
また、上記実施の形態では、ユーザ200はある指の指先を差し出すジェスチャを行ったときに、仮想UIを表示させる態様を採用した。しかしながら、これでは、ユーザ200が仮想UIを表示させることを希望しないにもかかわらず、同様のジェスチャを行った場合、仮想UIが表示される虞がある。そこで、ユーザ200が仮想UI表示指示を入力する際は、機器制御装置の動作モードを仮想UI表示モードに設定させて、仮想UI表示指示を入力させるようにすればよい。これにより、ユーザ200が仮想UIの表示を希望しない場合に仮想UIが表示されることを防止することができる。この場合、HMD202にスイッチを設け、このスイッチを操作することでユーザ200に動作モードを設定させればよい。また、動作モードを設定するためのジェスチャをユーザ200に行わせて動作モードを設定させてもよい。
【0127】
また、上記問題は、機器選択指示についても同様に発生する。したがって、ユーザ200に機器選択指示を入力させる場合、機器制御装置の動作モードを仮想UI登録モードに設定すればよい。
【0128】
また、図9の例では、ユーザ200の各指に異なる操作機器204の仮想UIが対応付けられている。したがって、ユーザ200は手を広げるジェスチャを行うと、各指に対応付けられた全ての仮想UIを表示させることができる。これにより、ユーザ200は、どの指にどの操作機器204の仮想UIが対応付けられていたかを忘れた場合であっても、速やかに確認することができる。もちろん、確認後は、ユーザ200にあるジェスチャを行わせ、表示された全ての仮想UIのうち任意の仮想UIを非表示にさせるようにすればよい。
【0129】
なお、実施の形態は例であって、本発明は実施の形態に限定されるのではない。実施の形態に対して当業者が思いつく変形を施して得られる形態、および、実施の形態における構成要素を任意に組み合わせて実現される別の形態も、本発明に含まれる。
【0130】
また、図4に示された機器制御装置の構成要素は、集積回路であるLSI(Large Scale Integration)として実現されてもよい。これらの構成要素は、個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC(Integrated Circuit)、システムLSI、スーパーLSI、またはウルトラLSIと呼称されることもある。
【0131】
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。プログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0132】
更には、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、表示領域制御装置に含まれる構成要素の集積回路化を行ってもよい。また、機器制御装置の構成要素のうち、データを格納する手段だけ1チップ化せずに別構成としてもよい。
【0133】
また、本発明は、機器制御装置として実現できるだけでなく、機器制御装置を構成する処理手段をステップとする方法として実現できる。そして、本発明は、その方法に含まれるステップをコンピュータに実行させるプログラムとして実現できる。さらに、本発明は、そのプログラムを記憶したCD−ROM等のコンピュータ読み取り可能な記憶媒体として実現できる。
【産業上の利用可能性】
【0134】
本発明にかかる機器制御装置によれば、ジェスチャ登録機能、ジェスチャ認識機能、およびアクション実行機能を有しない操作機器に対して、ジェスチャを用いた操作が可能となるため、今後ますます登場が予想されるHMDを装着した拡張現実空間上のアプリケーションでの利用で特に有用であると考えられる。
【符号の説明】
【0135】
200 ユーザ
201 カメラ
202 HMD
203 サーバ機器
204 操作機器
500 ユーザ入力認識部
501 ユーザ入力判定部
502 ジェスチャ情報登録部
503 ジェスチャ情報保存部
504 機能情報検索部
505 機能実行要求部
506 機能情報取得部
507 機能情報保存部
508 仮想UI生成部
509 仮想UI保存部
510 接触点認識部
511 表示重畳部
512 映像取得部
513 表示部
1000 ユーザインターフェイス登録情報


【特許請求の範囲】
【請求項1】
拡張現実空間に含まれる操作機器をヘッドマウントディスプレイを装着したユーザにより操作させる機器制御装置であって、
前記拡張現実空間においてユーザにより行われるジェスチャを認識するユーザ入力認識部と、
前記ユーザ入力認識部により認識されたジェスチャに基づいてユーザにより入力された入力指示を判定するユーザ入力判定部と、
前記ユーザ入力判定部により、ある操作機器を選択するための機器選択指示が前記入力指示として入力されたと判定された場合、当該操作機器が持つ機能の一覧を示す機能情報を取得する機能情報取得部と、
前記機器選択指示によりユーザが選択した操作機器の前記機能情報と、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けて入力ジェスチャ登録情報を生成するジェスチャ情報登録部と、
前記機能情報取得部により取得された機能情報に基づいて仮想ユーザインターフェイスを生成し、生成した仮想ユーザインターフェイスと、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けてユーザインターフェイス登録情報を生成する仮想UI生成部と、
前記ユーザ入力判定部により、前記ユーザインターフェイス登録情報に登録されたジェスチャが入力されたと判定された場合、当該ジェスチャに対応する仮想ユーザインターフェイスを現実空間の映像データに重畳表示する重畳表示部と、
前記ユーザ入力判定部により、前記仮想ユーザインターフェイスを用いたユーザからの機器操作指示が前記入力指示として入力されたと判定された場合、当該機器操作指示に対応する機能を前記入力ジェスチャ登録情報に含まれる前記機能情報から検索する機能情報検索部と、
前記機能情報検索部により検索された機能が実行されるように前記操作機器に命令を行う機能実行要求部とを備える機器制御装置。
【請求項2】
前記ユーザ入力認識部は、前記ヘッドマウントディスプレイに装着されたカメラ、又は現実空間に設置されたカメラにより取得された映像データに基づいて前記ジェスチャを認識する請求項1記載の機器制御装置。
【請求項3】
前記機能情報取得部は、前記ヘッドマウントディスプレイ又はサーバ機器に設けられている請求項1又は2記載の機器制御装置。
【請求項4】
前記仮想ユーザインターフェイスは、前記操作機器の実際のリモコンを模擬した仮想リモコンである請求項1〜3のいずれかに記載の機器制御装置。
【請求項5】
前記機能情報取得部は、前記操作機器又は前記機能情報を予め記憶するサーバ機器から前記機能情報を取得する請求項1〜4のいずれかに記載の機器制御装置。
【請求項6】
前記ユーザ入力判定部は、前記ユーザ入力認識部により認識されたジェスチャが、ある操作機器に触れるジェスチャである場合、当該操作機器を選択するための前記機器選択指示が前記入力指示として入力されたと判定する請求項1〜5のいずれかに記載の機器制御装置。
【請求項7】
前記仮想ユーザインターフェイスが表示されている状態で、ユーザにより現実空間の位置を指定するジェスチャが行われて表示位置指定指示が入力されたと前記ユーザ入力判定部により判定された場合、前記表示位置指定指示により指定された位置を前記仮想ユーザインターフェイスの表示位置として認識する接触点認識部を更に備え、
前記重畳表示部は、前記接触点認識部により認識された位置に表示されるように、前記仮想ユーザインターフェイスを前記現実空間の映像データに重畳する請求項1〜6のいずれかに記載の機器制御装置。
【請求項8】
前記接触点認識部は、前記ユーザ入力判定部により、前記表示位置指定指示が入力されたと判定された場合、ユーザが前記表示位置指定指示を入力する際に触れた物体を認識し、
前記重畳表示部は、前記接触点認識部により認識された物体に貼り付けられるように、前記仮想ユーザインターフェイスを前記現実空間の映像データに重畳する請求項7記載の機器制御装置。
【請求項9】
前記仮想UI生成部は、ユーザ毎に前記仮想ユーザインターフェイスのレイアウトをカスタマイズする請求項1〜8のいずれかに記載の機器制御装置。
【請求項10】
前記仮想UI生成部は、前記機能情報に含まれる各機能に対応する機器操作指示の入力頻度に基づいて、前記仮想ユーザインターフェイスをカスタマイズする請求項9記載の機器制御装置。
【請求項11】
前記仮想UI生成部は、ユーザの年齢又はユーザからの選択指示に基づいて、前記仮想ユーザインターフェイスをカスタマイズする請求項9又は10記載の機器制御装置。
【請求項12】
拡張現実空間に含まれる操作機器をヘッドマウントディスプレイを装着したユーザにより操作させる機器制御方法であって、
前記拡張現実空間においてユーザにより行われるジェスチャを認識するユーザ入力認識ステップと、
前記ユーザ入力認識ステップにより認識されたジェスチャに基づいてユーザにより入力された入力指示を判定するユーザ入力判定ステップと、
前記ユーザ入力判定ステップにより、ある操作機器を選択するための機器選択指示が前記入力指示として入力されたと判定された場合、当該操作機器が持つ機能の一覧を示す機能情報を取得する機能情報取得ステップと、
前記機器選択指示によりユーザが選択した操作機器の前記機能情報と、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けて入力ジェスチャ登録情報を生成するジェスチャ情報登録ステップと、
前記機能情報取得ステップにより取得された機能情報に基づいて仮想ユーザインターフェイスを生成し、生成した仮想ユーザインターフェイスと、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けてユーザインターフェイス登録情報を生成する仮想UI生成ステップと、
前記ユーザ入力判定ステップにより、前記ユーザインターフェイス登録情報に登録されたジェスチャが入力されたと判定された場合、当該ジェスチャに対応する仮想ユーザインターフェイスを現実空間の映像データに重畳表示する重畳表示ステップと、
前記ユーザ入力判定ステップにより、前記仮想ユーザインターフェイスを用いたユーザからの機器操作指示が前記入力指示として入力されたと判定された場合、当該機器操作指示に対応する機能を前記入力ジェスチャ登録情報に含まれる前記機能情報から検索する機能情報検索ステップと、
前記機能情報検索ステップにより検索された機能が実行されるように前記操作機器に命令を行う機能実行要求ステップとを備える機器制御方法。
【請求項13】
拡張現実空間に含まれる操作機器をヘッドマウントディスプレイを装着したユーザにより操作させる機器制御装置としてコンピュータを機能させる機器制御プログラムであって、
前記拡張現実空間においてユーザにより行われるジェスチャを認識するユーザ入力認識部と、
前記ユーザ入力認識部により認識されたジェスチャに基づいてユーザにより入力された入力指示を判定するユーザ入力判定部と、
前記ユーザ入力判定部により、ある操作機器を選択するための機器選択指示が前記入力指示として入力されたと判定された場合、当該操作機器が持つ機能の一覧を示す機能情報を取得する機能情報取得部と、
前記機器選択指示によりユーザが選択した操作機器の前記機能情報と、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けて入力ジェスチャ登録情報を生成するジェスチャ情報登録部と、
前記機能情報取得部により取得された機能情報に基づいて仮想ユーザインターフェイスを生成し、生成した仮想ユーザインターフェイスと、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けてユーザインターフェイス登録情報を生成する仮想UI生成部と、
前記ユーザ入力判定部により、前記ユーザインターフェイス登録情報に登録されたジェスチャが入力されたと判定された場合、当該ジェスチャに対応する仮想ユーザインターフェイスを現実空間の映像データに重畳表示する重畳表示部と、
前記ユーザ入力判定部により、前記仮想ユーザインターフェイスを用いたユーザからの機器操作指示が前記入力指示として入力されたと判定された場合、当該機器操作指示に対応する機能を前記入力ジェスチャ登録情報に含まれる前記機能情報から検索する機能情報検索部と、
前記機能情報検索部により検索された機能が実行されるように前記操作機器に命令を行う機能実行要求部としてコンピュータを機能させる機器制御プログラム。
【請求項14】
拡張現実空間に含まれる操作機器をヘッドマウントディスプレイを装着したユーザにより操作させる機器制御装置の集積回路であって、
前記拡張現実空間においてユーザにより行われるジェスチャを認識するユーザ入力認識部と、
前記ユーザ入力認識部により認識されたジェスチャに基づいてユーザにより入力された入力指示を判定するユーザ入力判定部と、
前記ユーザ入力判定部により、ある操作機器を選択するための機器選択指示が前記入力指示として入力されたと判定された場合、当該操作機器が持つ機能の一覧を示す機能情報を取得する機能情報取得部と、
前記機器選択指示によりユーザが選択した操作機器の前記機能情報と、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けて入力ジェスチャ登録情報を生成するジェスチャ情報登録部と、
前記機能情報取得部により取得された機能情報に基づいて仮想ユーザインターフェイスを生成し、生成した仮想ユーザインターフェイスと、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けてユーザインターフェイス登録情報を生成する仮想UI生成部と、
前記ユーザ入力判定部により、前記ユーザインターフェイス登録情報に登録されたジェスチャが入力されたと判定された場合、当該ジェスチャに対応する仮想ユーザインターフェイスを現実空間の映像データに重畳表示する重畳表示部と、
前記ユーザ入力判定部により、前記仮想ユーザインターフェイスを用いたユーザからの機器操作指示が前記入力指示として入力されたと判定された場合、当該機器操作指示に対応する機能を前記入力ジェスチャ登録情報に含まれる前記機能情報から検索する機能情報検索部と、
前記機能情報検索部により検索された機能が実行されるように前記操作機器に命令を行う機能実行要求部とを備える集積回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−181809(P2012−181809A)
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願番号】特願2011−46118(P2011−46118)
【出願日】平成23年3月3日(2011.3.3)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】