(57)【要約】【課題】ジェスチャ登録機能、ジェスチャ認識機能、およびアクション実行機能を有しない操作機器に対して、ジェスチャを用いた操作を可能とする。【解決手段】ある操作機器を指で触れるジェスチャを行って機器選択指示を入力すると、機能情報取得部５０６は、その操作機器が持つ機能の一覧を示す機能情報を機能情報保存部５０７から取得する。仮想ＵＩ生成部５０８は、機能情報取得部５０６により取得された機能情報に基づいて仮想ＵＩを生成し、生成した仮想ＵＩと、機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けて仮想ＵＩ保存部５０９に保存する。表示重畳部５１１は、操作機器選択指示と同じジェスチャが行われた場合、当該ジェスチャに対応する仮想ＵＩを現実空間の映像データに重畳して拡張現実空間の映像データを生成し、表示部５１３に表示させる。【選択図】図４
2012181809.tif 000002
【特許請求の範囲】
【請求項１】
拡張現実空間に含まれる操作機器をヘッドマウントディスプレイを装着したユーザにより操作させる機器制御装置であって、
前記拡張現実空間においてユーザにより行われるジェスチャを認識するユーザ入力認識部と、
前記ユーザ入力認識部により認識されたジェスチャに基づいてユーザにより入力された入力指示を判定するユーザ入力判定部と、
前記ユーザ入力判定部により、ある操作機器を選択するための機器選択指示が前記入力指示として入力されたと判定された場合、当該操作機器が持つ機能の一覧を示す機能情報を取得する機能情報取得部と、
前記機器選択指示によりユーザが選択した操作機器の前記機能情報と、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けて入力ジェスチャ登録情報を生成するジェスチャ情報登録部と、
前記機能情報取得部により取得された機能情報に基づいて仮想ユーザインターフェイスを生成し、生成した仮想ユーザインターフェイスと、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けてユーザインターフェイス登録情報を生成する仮想ＵＩ生成部と、
前記ユーザ入力判定部により、前記ユーザインターフェイス登録情報に登録されたジェスチャが入力されたと判定された場合、当該ジェスチャに対応する仮想ユーザインターフェイスを現実空間の映像データに重畳表示する重畳表示部と、
前記ユーザ入力判定部により、前記仮想ユーザインターフェイスを用いたユーザからの機器操作指示が前記入力指示として入力されたと判定された場合、当該機器操作指示に対応する機能を前記入力ジェスチャ登録情報に含まれる前記機能情報から検索する機能情報検索部と、
前記機能情報検索部により検索された機能が実行されるように前記操作機器に命令を行う機能実行要求部とを備える機器制御装置。
【請求項２】
前記ユーザ入力認識部は、前記ヘッドマウントディスプレイに装着されたカメラ、又は現実空間に設置されたカメラにより取得された映像データに基づいて前記ジェスチャを認識する請求項１記載の機器制御装置。
【請求項３】
前記機能情報取得部は、前記ヘッドマウントディスプレイ又はサーバ機器に設けられている請求項１又は２記載の機器制御装置。
【請求項４】
前記仮想ユーザインターフェイスは、前記操作機器の実際のリモコンを模擬した仮想リモコンである請求項１〜３のいずれかに記載の機器制御装置。
【請求項５】
前記機能情報取得部は、前記操作機器又は前記機能情報を予め記憶するサーバ機器から前記機能情報を取得する請求項１〜４のいずれかに記載の機器制御装置。
【請求項６】
前記ユーザ入力判定部は、前記ユーザ入力認識部により認識されたジェスチャが、ある操作機器に触れるジェスチャである場合、当該操作機器を選択するための前記機器選択指示が前記入力指示として入力されたと判定する請求項１〜５のいずれかに記載の機器制御装置。
【請求項７】
前記仮想ユーザインターフェイスが表示されている状態で、ユーザにより現実空間の位置を指定するジェスチャが行われて表示位置指定指示が入力されたと前記ユーザ入力判定部により判定された場合、前記表示位置指定指示により指定された位置を前記仮想ユーザインターフェイスの表示位置として認識する接触点認識部を更に備え、
前記重畳表示部は、前記接触点認識部により認識された位置に表示されるように、前記仮想ユーザインターフェイスを前記現実空間の映像データに重畳する請求項１〜６のいずれかに記載の機器制御装置。
【請求項８】
前記接触点認識部は、前記ユーザ入力判定部により、前記表示位置指定指示が入力されたと判定された場合、ユーザが前記表示位置指定指示を入力する際に触れた物体を認識し、
前記重畳表示部は、前記接触点認識部により認識された物体に貼り付けられるように、前記仮想ユーザインターフェイスを前記現実空間の映像データに重畳する請求項７記載の機器制御装置。
【請求項９】
前記仮想ＵＩ生成部は、ユーザ毎に前記仮想ユーザインターフェイスのレイアウトをカスタマイズする請求項１〜８のいずれかに記載の機器制御装置。
【請求項１０】
前記仮想ＵＩ生成部は、前記機能情報に含まれる各機能に対応する機器操作指示の入力頻度に基づいて、前記仮想ユーザインターフェイスをカスタマイズする請求項９記載の機器制御装置。
【請求項１１】
前記仮想ＵＩ生成部は、ユーザの年齢又はユーザからの選択指示に基づいて、前記仮想ユーザインターフェイスをカスタマイズする請求項９又は１０記載の機器制御装置。
【請求項１２】
拡張現実空間に含まれる操作機器をヘッドマウントディスプレイを装着したユーザにより操作させる機器制御方法であって、
前記拡張現実空間においてユーザにより行われるジェスチャを認識するユーザ入力認識ステップと、
前記ユーザ入力認識ステップにより認識されたジェスチャに基づいてユーザにより入力された入力指示を判定するユーザ入力判定ステップと、
前記ユーザ入力判定ステップにより、ある操作機器を選択するための機器選択指示が前記入力指示として入力されたと判定された場合、当該操作機器が持つ機能の一覧を示す機能情報を取得する機能情報取得ステップと、
前記機器選択指示によりユーザが選択した操作機器の前記機能情報と、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けて入力ジェスチャ登録情報を生成するジェスチャ情報登録ステップと、
前記機能情報取得ステップにより取得された機能情報に基づいて仮想ユーザインターフェイスを生成し、生成した仮想ユーザインターフェイスと、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けてユーザインターフェイス登録情報を生成する仮想ＵＩ生成ステップと、
前記ユーザ入力判定ステップにより、前記ユーザインターフェイス登録情報に登録されたジェスチャが入力されたと判定された場合、当該ジェスチャに対応する仮想ユーザインターフェイスを現実空間の映像データに重畳表示する重畳表示ステップと、
前記ユーザ入力判定ステップにより、前記仮想ユーザインターフェイスを用いたユーザからの機器操作指示が前記入力指示として入力されたと判定された場合、当該機器操作指示に対応する機能を前記入力ジェスチャ登録情報に含まれる前記機能情報から検索する機能情報検索ステップと、
前記機能情報検索ステップにより検索された機能が実行されるように前記操作機器に命令を行う機能実行要求ステップとを備える機器制御方法。
【請求項１３】
拡張現実空間に含まれる操作機器をヘッドマウントディスプレイを装着したユーザにより操作させる機器制御装置としてコンピュータを機能させる機器制御プログラムであって、
前記拡張現実空間においてユーザにより行われるジェスチャを認識するユーザ入力認識部と、
前記ユーザ入力認識部により認識されたジェスチャに基づいてユーザにより入力された入力指示を判定するユーザ入力判定部と、
前記ユーザ入力判定部により、ある操作機器を選択するための機器選択指示が前記入力指示として入力されたと判定された場合、当該操作機器が持つ機能の一覧を示す機能情報を取得する機能情報取得部と、
前記機器選択指示によりユーザが選択した操作機器の前記機能情報と、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けて入力ジェスチャ登録情報を生成するジェスチャ情報登録部と、
前記機能情報取得部により取得された機能情報に基づいて仮想ユーザインターフェイスを生成し、生成した仮想ユーザインターフェイスと、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けてユーザインターフェイス登録情報を生成する仮想ＵＩ生成部と、
前記ユーザ入力判定部により、前記ユーザインターフェイス登録情報に登録されたジェスチャが入力されたと判定された場合、当該ジェスチャに対応する仮想ユーザインターフェイスを現実空間の映像データに重畳表示する重畳表示部と、
前記ユーザ入力判定部により、前記仮想ユーザインターフェイスを用いたユーザからの機器操作指示が前記入力指示として入力されたと判定された場合、当該機器操作指示に対応する機能を前記入力ジェスチャ登録情報に含まれる前記機能情報から検索する機能情報検索部と、
前記機能情報検索部により検索された機能が実行されるように前記操作機器に命令を行う機能実行要求部としてコンピュータを機能させる機器制御プログラム。
【請求項１４】
拡張現実空間に含まれる操作機器をヘッドマウントディスプレイを装着したユーザにより操作させる機器制御装置の集積回路であって、
前記拡張現実空間においてユーザにより行われるジェスチャを認識するユーザ入力認識部と、
前記ユーザ入力認識部により認識されたジェスチャに基づいてユーザにより入力された入力指示を判定するユーザ入力判定部と、
前記ユーザ入力判定部により、ある操作機器を選択するための機器選択指示が前記入力指示として入力されたと判定された場合、当該操作機器が持つ機能の一覧を示す機能情報を取得する機能情報取得部と、
前記機器選択指示によりユーザが選択した操作機器の前記機能情報と、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けて入力ジェスチャ登録情報を生成するジェスチャ情報登録部と、
前記機能情報取得部により取得された機能情報に基づいて仮想ユーザインターフェイスを生成し、生成した仮想ユーザインターフェイスと、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けてユーザインターフェイス登録情報を生成する仮想ＵＩ生成部と、
前記ユーザ入力判定部により、前記ユーザインターフェイス登録情報に登録されたジェスチャが入力されたと判定された場合、当該ジェスチャに対応する仮想ユーザインターフェイスを現実空間の映像データに重畳表示する重畳表示部と、
前記ユーザ入力判定部により、前記仮想ユーザインターフェイスを用いたユーザからの機器操作指示が前記入力指示として入力されたと判定された場合、当該機器操作指示に対応する機能を前記入力ジェスチャ登録情報に含まれる前記機能情報から検索する機能情報検索部と、
前記機能情報検索部により検索された機能が実行されるように前記操作機器に命令を行う機能実行要求部とを備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡張現実空間に含まれる操作機器をヘッドマウントディスプレイを装着したユーザにより操作させる技術に関するものである。
【背景技術】
【０００２】
近年、高速通信技術の発展及び普及、並びに任天堂社製のＷｉｉ（登録商標）及びＳＯＮＹ社製のＰＬＡＹＳＴＡＴＩＯＮ（登録商標）ＭＯＶＥ等の登場に伴い、ジェスチャを用いて機器を操作するというような、新しいユーザエクスペリエンス（以下、ＵＸ）を提供するゲームやアプリケーションが盛んに開発され始めている。
【０００３】
例えば、任天堂のＷｉｉでは、ユーザのジェスチャ操作に対応したアクションを機器にあらかじめ登録しておくことで、実際にユーザがそのジェスチャを行ったときにそのジェスチャを認識し、認識したジェスチャに対応する機能を実行するユーザインターフェース（以降、ＵＩと記述する）が提供されている。
【０００４】
図１０は従来技術の概要図である。図１０において、操作機器１００は、ユーザがジェスチャを行う際に把持される。まず、ジェスチャ登録段階（段階１）において、操作機器１００は、ユーザにより行われたジェスチャを認識し、そのジェスチャを登録する。ジェスチャ登録後、そのジェスチャがユーザにより行われると、操作機器１００はそのジェスチャを認識する（段階２：ジェスチャ認識段階）。操作機器１００はユーザにより行われたジェスチャを認識すると、そのジェスチャに対応したアクション及び表示を行うように機器１０１に命令する（段階３：機能実行段階）。命令を受けた機器１０１はその命令に従った、アクションを行い、アクションの結果を表示機器１０２に表示する（段階４：表示段階）。このように従来の技術では、現実の操作機器１００にジェスチャ登録機能とジェスチャ認識機能を持たせ、操作機器１００により認識されたジェスチャに対応したアクション及び表示を実行するアクション実行機能を機器１０１に予め持たせることによって、ＵＸを実現していた。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】“NINTENDO Wii モーションプラスとは”[ONLINE]、「平成２２年１２月１５日検索」、インターネット<URL:http://www.nintendo.co.jp/wii/rztj/motionplus/index.html>
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の従来の技術では、予め操作機器１００及び機器１０１にジェスチャ認識機能、ジェスチャ登録機能、及びアクション実行機能を持たせなければならない。したがって、これらの機能を持たない機器では、ジェスチャ登録機能、ジェスチャ認識機能、及びアクション実行機能を実現できないという課題がある。例えば、現在普及しているデジタル家電機器では、これらの機能を持っていないケースも多い。したがって、ユーザは、デジタル家電機器をジェスチャを用いて操作することができないという問題がある。
【０００７】
一方、デジタル家電機器に上記のジェスチャ登録機能、ジェスチャ認識機能、及びアクション実行機能を搭載するとコストが増大するという問題が発生する。
【０００８】
本発明の目的は、ジェスチャ登録機能、ジェスチャ認識機能、およびアクション実行機能を有しない操作機器に対して、ジェスチャを用いた操作を可能とする技術を提供することである。
【課題を解決するための手段】
【０００９】
（１）本発明による機器制御装置は、拡張現実空間に含まれる操作機器をヘッドマウントディスプレイを装着したユーザにより操作させる機器制御装置であって、前記拡張現実空間においてユーザにより行われるジェスチャを認識するユーザ入力認識部と、前記ユーザ入力認識部により認識されたジェスチャに基づいてユーザにより入力された入力指示を判定するユーザ入力判定部と、前記ユーザ入力判定部により、ある操作機器を選択するための機器選択指示が前記入力指示として入力されたと判定された場合、当該操作機器が持つ機能の一覧を示す機能情報を取得する機能情報取得部と、前記機器選択指示によりユーザが選択した操作機器の前記機能情報と、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けて入力ジェスチャ登録情報を生成するジェスチャ情報登録部と、前記機能情報取得部により取得された機能情報に基づいて仮想ユーザインターフェイスを生成し、生成した仮想ユーザインターフェイスと、前記機器選択指示を入力する際にユーザにより行われたジェスチャとを対応付けてユーザインターフェイス登録情報を生成する仮想ＵＩ生成部と、前記ユーザ入力判定部により、前記ユーザインターフェイス登録情報に登録されたジェスチャが入力されたと判定された場合、当該ジェスチャに対応する仮想ユーザインターフェイスを現実空間の映像データに重畳表示する重畳表示部と、前記ユーザ入力判定部により、前記仮想ユーザインターフェイスを用いたユーザからの機器操作指示が前記入力指示として入力されたと判定された場合、当該機器操作指示に対応する機能を前記入力ジェスチャ登録情報に含まれる前記機能情報から検索する機能情報検索部と、前記機能情報検索部により検索された機能が実行されるように前記操作機器に命令を行う機能実行要求部とを備える。
【００１０】
また、本発明による機器制御方法、機器制御プログラム及び集積回路は、上記の機器制御装置と同様の構成を持っている。
【００１１】
この構成によれば、ユーザはある操作機器を選択するためにあるジェスチャを行って機器選択指示を入力すると、ユーザにより選択された操作機器の機能情報が取得され、取得された機能情報とジェスチャとが対応付けて入力ジェスチャ登録情報が生成される。また、取得された機能情報から仮想ユーザインターフェイス（仮想ＵＩ）が生成され、生成された仮想ＵＩがユーザにより行われたジェスチャと対応付けてユーザインターフェイス登録情報が生成される。以上によりユーザが行ったジェスチャと操作機器の機能情報と、操作機器の仮想ＵＩとが対応付けられる。
【００１２】
そして、ユーザにより、機器選択指示を入力したときと同じジェスチャが行われると、そのジェスチャに対応付けられた仮想ＵＩが表示される。そして、ユーザは、表示された仮想ＵＩに対して操作指示を入力すると、操作指示に対応する機能が入力ジェスチャ登録情報に含まれる機能情報から検索されて実行される。
【００１３】
したがって、ジェスチャ登録機能、ジェスチャ認識機能、及びアクション実行機能を有しない操作機器であっても、ジェスチャを用いた操作が可能になる。そのため、ユーザの利便性を向上させることができる。
【００１４】
（２）前記ユーザ入力認識部は、前記ヘッドマウントディスプレイに装着されたカメラ、又は現実空間に設置されたカメラにより取得された映像データに基づいて前記ジェスチャを認識することが好ましい。
【００１５】
この構成によれば、カメラによりユーザを撮影することで、ジェスチャを認識することができるため、ジェスチャを精度良く認識することができる。
【００１６】
（３）前記機能情報取得部は、前記ヘッドマウントディスプレイ又はサーバ機器に設けられていることが好ましい。
【００１７】
この構成によれば、ヘッドマウントディスプレイ又はサーバ機器に機能情報を取得させることができる。
【００１８】
（４）前記仮想ユーザインターフェイスは、前記操作機器の実際のリモコンを模擬した仮想リモコンであることが好ましい。
【００１９】
この構成によれば、仮想ＵＩが操作機器の実際のリモコンと同じ外観を持つため、ユーザは既存のリモコンと同じ感覚で仮想ＵＩを操作することができる。
【００２０】
（５）前記機能情報取得部は、前記操作機器又は前記機能情報を予め記憶するサーバ機器から前記機能情報を取得することが好ましい。
【００２１】
この構成によれば、操作機器が機能情報を外部に出力する機能を持つ場合、その操作機器から直接機能情報を取得することで、操作機器と同一の機能情報を確実に得ることができる。また、操作機器の機能情報がサーバ機器で管理されている場合、サーバ機器から機能情報を取得することで、操作機器の最新の機能情報を得ることができる。
【００２２】
（６）前記ユーザ入力判定部は、前記ユーザ入力認識部により認識されたジェスチャが、ある操作機器に触れるジェスチャである場合、当該操作機器を選択するための前記機器選択指示が前記入力指示として入力されたと判定することが好ましい。
【００２３】
この構成によれば、ユーザは操作機器に触れることで機器選択指示を入力することができ、ユーザは直感的に理解し易いジェスチャを用いて機器選択指示を入力することができる。
【００２４】
（７）前記仮想ユーザインターフェイスが表示されている状態で、ユーザにより現実空間の位置を指定するジェスチャが行われて表示位置指定指示が入力されたと前記ユーザ入力判定部により判定された場合、前記表示位置指定指示により指定された位置を前記仮想ユーザインターフェイスの表示位置として認識する接触点認識部を更に備え、前記重畳表示部は、前記接触点認識部により認識された位置に表示されるように、前記仮想ユーザインターフェイスを前記現実空間の映像データに重畳することが好ましい。
【００２５】
この構成によれば、ユーザは表示位置指定指示を入力することで拡張現実空間上の好みの位置に仮想ＵＩを表示させることができる。
【００２６】
（８）前記接触点認識部は、前記ユーザ入力判定部により、前記表示位置指定指示が入力されたと判定された場合、ユーザが前記表示位置指定指示を入力する際に触れた物体を認識し、前記重畳表示部は、前記接触点認識部により認識された物体に貼り付けられるように、前記仮想ユーザインターフェイスを前記現実空間の映像データに重畳することが好ましい。
【００２７】
この構成によれば、仮想ＵＩが物体に貼り付けて表示されるため、ユーザは仮想ＵＩを操作した際、指先が物体に触れることになり、仮想ＵＩを操作したことを実感することができる。
【００２８】
（９）前記仮想ＵＩ生成部は、ユーザ毎に前記仮想ユーザインターフェイスのレイアウトをカスタマイズすることが好ましい。
【００２９】
この構成によれば、ユーザにとって使い勝手のよい仮想ＵＩを提供することができる。
【００３０】
（１０）前記仮想ＵＩ生成部は、前記機能情報に含まれる各機能に対応する機器操作指示の入力頻度に基づいて、前記仮想ユーザインターフェイスをカスタマイズすることが好ましい。
【００３１】
この構成によれば、ユーザによってほとんど使用されない機能に対応するボタン等が仮想ＵＩから省かれ、仮想ＵＩの情報量が低下して、真にユーザが必要な機能に対応するボタンのみ仮想ＵＩに含ませることができる。
【００３２】
（１１）前記仮想ＵＩ生成部は、ユーザの年齢又はユーザからの選択指示に基づいて、前記仮想ユーザインターフェイスをカスタマイズすることが好ましい。
【００３３】
この構成によれば、ユーザの年齢やユーザの好みに応じて適切な仮想ユーザインターフェイスを提供することができる。
【発明の効果】
【００３４】
本発明によれば、ジェスチャ登録機能、ジェスチャ認識機能、およびアクション実行機能を有しない操作機器に対して、ジェスチャを用いた操作が可能になる。そのため、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【００３５】
【図１】ユーザがジェスチャを行ってから、仮想ＵＩが生成されるまでの流れを示した図である。
【図２】図１において生成され、保存された仮想ＵＩが表示されるまでの流れを示した図である。
【図３】仮想ＵＩが表示されている状態において、ユーザが仮想ＵＩの表示位置を指定する際の流れを示した図である。
【図４】本発明の実施の形態における機器制御装置の機能ブロック図である。
【図５】本発明の実施の形態による機器制御装置の動作を示すフローチャートである。
【図６】本発明の実施の形態による機器制御装置の動作を示すフローチャートである。
【図７】本発明の実施の形態による機器制御装置の動作を示すフローチャートである。
【図８】本発明の実施の形態による機器制御装置の動作を示すフローチャートである。
【図９】仮想ＵＩ生成部により生成されるあるユーザのユーザインターフェイス登録情報のデータ構造の一例を示した図である。
【図１０】従来技術の概要図である。
【発明を実施するための形態】
【００３６】
図１から図３は、本発明の実施の形態における機器制御装置の処理の概要を示した図である。図１から図３において、同じ構成要素については同じ符号を用い、説明を省略する。本実施の形態による機器制御装置は、カメラ２０１、ヘッドマウントディスプレイ（以下、“ＨＭＤ”と記述する。）２０２、及びサーバ機器２０３を備えている。カメラ２０１は、現実空間の映像データを取得する。ＨＭＤ２０２は、カメラ２０１により取得された映像データに仮想ユーザインターフェイス（以下、“仮想ＵＩ”と記述する）等を重畳し、拡張現実空間の映像データを生成して表示する。サーバ機器２０３は、ＨＭＤ２０２と所定の通信回線ＮＴを介して接続され、ＨＭＤ２０２に種々のサービスを提供する。また、サーバ機器２０３は通信回線ＮＴを操作機器２０４と接続されている。ここで、通信回線ＮＴとしては、例えば、インターネット、携帯電話通信網、又は専用回線等が採用されている。
【００３７】
図１は、ユーザ２００がジェスチャを行ってから、仮想ＵＩが生成されるまでの流れを示した図である。まず、段階１において、ユーザ２００が操作機器２０４を選択するために操作機器２０４に触れるジェスチャを行う。段階２において、カメラ２０１は、ジェスチャ自体を認識すると共に、ユーザが選択した操作機器２０４を認識する。
【００３８】
段階３において、カメラ２０１は認識したジェスチャとそのジェスチャにより選択された操作機器２０４とを示す情報をＨＭＤ２０２に通知する。
【００３９】
段階４において、ＨＭＤ２０２は、サーバ機器２０３に対して、仮想ＵＩを生成する要求を送信する。段階５において、サーバ機器２０３は、操作機器２０４から、操作機器２０４が持つ機能の一覧を示す機能情報を取得する。段階６において、サーバ機器２０３はその機能情報に基づいて仮想ＵＩを生成する。段階７において、サーバ機器２０３は、ユーザ２００によって行われたジェスチャと、生成した仮想ＵＩとを対応付けて保存する。
【００４０】
図２は、図１において生成され、保存された仮想ＵＩが表示されるまでの流れを示した図である。段階１において、ユーザ２００が操作機器２０４を選択したときと同じジェスチャを行う。段階２において、カメラ２０１はそのジェスチャを認識する。段階３において、カメラ２０１は、認識したジェスチャをＨＭＤ２０２に通知する。段階４において、ＨＭＤ２０２は、どのジェスチャが行われたかをサーバ機器２０３に対して通知する。段階５において、サーバ機器２０３は、そのジェスチャに対応する仮想ＵＩが保存されているかを判定する。ジェスチャに対応する仮想ＵＩが保存されている場合、段階６において、サーバ機器２０３は、ＨＭＤ２０２にその仮想ＵＩを送信する。段階７において、ＨＭＤ２０２は、サーバ機器２０３から送信された仮想ＵＩを表示する。
【００４１】
図３は、仮想ＵＩが表示されている状態において、ユーザ２００が仮想ＵＩの表示位置を指定する際の流れを示した図である。段階１において、ユーザ２００がジェスチャを行う。ここでは、ユーザ２００は、例えば、現実空間のある物体に指先を触れるジェスチャを行ったとする。段階２において、カメラ２０１は、指と物体とが接触した位置を認識する。段階３において、カメラ２０１は、認識した位置をＨＭＤ２０２に通知する。段階４において、ＨＭＤ２０２は、表示中である仮想ＵＩが物体に貼り付けられるように、仮想ＵＩを現実空間の映像データに重畳する。そして、ユーザは、仮想ＵＩを操作して、操作機器２０４の操作を行う。以上が本実施の形態による機器制御装置の処理の概要である。以下、本実施の形態による機器制御装置の処理を詳細に説明する。
【００４２】
図４は、本発明の実施の形態における機器制御装置の機能ブロック図である。図４に示すように、機器制御装置は、ユーザ入力認識部５００、ユーザ入力判定部５０１、ジェスチャ情報登録部５０２、ジェスチャ情報保存部５０３、機能情報検索部５０４、機能実行要求部５０５、機能情報取得部５０６、機能情報保存部５０７、仮想ＵＩ生成部５０８、仮想ＵＩ保存部５０９、接触点認識部５１０、表示重畳部５１１、映像取得部５１２、及び表示部５１３を備えている。
【００４３】
以下の説明では、映像取得部５１２、ユーザ入力認識部５００、ユーザ入力判定部５０１、及び接触点認識部５１０はカメラ２０１で構成され、ジェスチャ情報登録部５０２、ジェスチャ情報保存部５０３、機能情報検索部５０４、機能実行要求部５０５、表示重畳部５１１、及び表示部５１３はＨＭＤ２０２で構成され、機能情報取得部５０６、機能情報保存部５０７、仮想ＵＩ生成部５０８、及び仮想ＵＩ保存部５０９はサーバ機器２０３により構成されているものとする。但し、これは一例であり、図４に示す映像取得部５１２及び表示部５１３以外の各機能は、カメラ２０１、ＨＭＤ２０２、及びサーバ機器２０３のいずれに実行させてもよい。
【００４４】
また、カメラ２０１はＨＭＤ２０２に設けてもよいし、現実空間内にある位置に配置された定点カメラにより構成してもよい。
【００４５】
映像取得部５１２は、例えば、深度センサにより構成され、所定のフレームレートで現実空間の映像データを取得する。つまり、映像取得部５１２は、現実空間の動画像を取得する。なお、映像取得部５１２としては、深度センサに限定されずステレオ法で奥行き座標の位置を検出することができるステレオ画像センサを採用してもよい。
【００４６】
ユーザ入力認識部５００は、拡張現実空間においてユーザにより行われるジェスチャを認識する。ここで、ユーザ入力認識部５００は、映像取得部５１２により取得された映像データから所定のフレームレートで順次に現実空間の映像データが入力される。そして、ユーザ入力認識部５００は、入力される映像データからユーザの腕を検出する。そして、ユーザ入力認識部５００は、映像データからユーザの腕を検出できた場合、以後入力される映像データを用いてユーザの左右の腕の動きを追尾する。そして、ユーザ入力認識部５００は、ユーザの左右の腕の動きを検出するとユーザの左右の腕の肘、手、及び各指等の各部位の移動方向と移動量とを含むジェスチャ認識情報を周期的に求めユーザ入力判定部５０１に供給する。
【００４７】
本実施の形態では、映像取得部５１２は、例えば深度センサにより構成されている。そのため、ジェスチャ認識情報に含まれる移動方向と移動量とは、垂直座標成分、水平座標成分に加えて奥行き座標成分からなる３次元データにより構成される。ここで、垂直座標成分は深度センサの映像データの垂直方向（縦方向）の座標成分であり、水平座標成分は深度センサの水平方向（横方向）の座標成分であり、奥行き座標成分は深度センサのセンサ面に直交する奥行き方向の座標成分である。
【００４８】
ユーザ入力判定部５０１は、ユーザ入力認識部５００により認識されたジェスチャに基づいてユーザにより入力された入力指示を判定する。本実施の形態では、入力指示として、機器選択指示、仮想ＵＩ表示指示、機器操作指示、及び表示位置指定指示等が含まれる。機器選択指示は、ユーザ２００がある操作機器を選択する入力指示である。ユーザ２００は例えばある操作機器２０４をある指で触れるジェスチャを行うことで機器選択指示を入力する。したがって、ユーザ入力判定部５０１は、ジェスチャ認識情報がユーザ２００のある指がある操作機器２０４に触れたジェスチャを示す場合、ユーザ２００により機器選択指示が入力されたと判定する。
【００４９】
ここで、ユーザ入力判定部５０１は、ユーザ入力認識部５００からある指を差し出すジェスチャを示すジェスチャ認識情報が供給されると、映像取得部５１２から供給される映像データからその指先に物体が位置するか否かを判定する。そして、ユーザ入力判定部５０１は、指先に物体が位置すると判定した場合、その物体が所定の操作機器２０４であるか否かを判定し、所定の操作機器２０４であると判定した場合、ユーザ２００により機器選択指示が入力されたと判定すればよい。
【００５０】
具体的には、ユーザ入力判定部５０１は、ある指を差し出すジェスチャ認識情報が供給されると、特徴点を検出する処理を行うことで映像データに含まれる物体を抽出し、検出した物体のうち、指先と座標データが一致する部位を持つ物体が存在すれば、当該物体にユーザ２００の指先が触れたと判定すればよい。そして、ユーザ入力判定部５０１は、指先で触れられた物体の特徴点の配置パターンが予め定められた操作機器２０４の配置パターンと一致すれば、ユーザ２００により機器選択指示が入力された判定すればよい。
【００５１】
仮想ＵＩ表示指示は、ユーザ２００が機器選択指示を用いて選択した操作機器２０４の仮想ＵＩを表示させるための入力指示である。ユーザ２００は、機器選択指示を入力したときと同じジェスチャを行うことで仮想ＵＩ表示を表示させる。例えば、ユーザ２００が人差し指を差し出して操作機器２０４に触れるジェスチャを行って機器選択指示を入力した場合、人差し指を差し出すジェスチャ（この場合、操作機器２０４に触れる必要はない）を行うと、仮想ＵＩが表示される。
【００５２】
機器操作指示は、ユーザ２００が仮想現実空間に表示される仮想ＵＩを操作する入力指示である。ユーザ２００は、仮想ＵＩに含まれる例えば操作ボタンに触れるジェスチャを行うことで、機器操作指示を入力する。この場合、ユーザ入力判定部５０１は、仮想ＵＩの操作ボタンの座標データが、ユーザ２００の指先の座標データに重なる又は一定の範囲内に位置する場合に、ユーザ２００が機器操作指示を入力したと判定すればよい。
【００５３】
ここで、仮想ＵＩは、拡張現実空間において表示される。拡張現実空間は、上記の垂直座標成分、水平座標成分、及び奥行き座標成分で規定される３次元空間であり、その映像データは現実空間の映像データにグラフィックスを重畳して生成される。
【００５４】
表示位置指定指示は、ユーザ２００が拡張現実空間において仮想ＵＩの表示位置を指定するために入力する入力指示である。本実施の形態では、ユーザ２００は仮想ＵＩ表示させただけでは、仮想ＵＩを操作することができず、仮想ＵＩの表示位置を指定することで、仮想ＵＩの操作を可能とする。したがって、ユーザ２００は、例えば、仮想ＵＩを表示させるジェスチャを行った後、ある指（例えば人差し指）を差し出して、希望する位置で差し出した指を停止するジェスチャを行うことで表示位置指定指示を入力する。そのため、ユーザ入力判定部５０１は、仮想ＵＩが表示されているが、仮想ＵＩが操作可能となっていない場合に、ユーザ２００により人差し指を差し出して停止するジェスチャが行われたとき、表示位置指定指示が入力されたと判定する。
【００５５】
また、ユーザ入力判定部５０１は、仮想ＵＩが表示中であるか、表示されていないか、表示中であるが操作可能であるか、表示中であるが操作不可能であるかというような、仮想ＵＩの現在の状態を保持し、仮想ＵＩを管理する。
【００５６】
機能情報取得部５０６は、ユーザ入力判定部５０１により機器選択指示が入力されたと判定された場合、機器選択指示により選択された操作機器２０４が持つ機能の一覧を示す機能情報を機能情報保存部５０７から取得する。操作機器２０４が例えば、ＤＶＤプレーヤである場合は、機能として、電源をオンオフするための“電源オンオフ”、映像データを再生するための“再生”、録画を開始するための“録画”、テレビのチャンネルを選択するための“チャンネル選択”、再生及び録画を停止するための“停止”、所望のシーンに映像データのコマを進める“早送り”、及び所望のシーンに映像データのコマを戻す“巻き戻し”等が存在する。よって、この場合、機能情報は、電源オンオフ、再生、録画、チャンネル選択、停止、巻き戻し、及び早送り等の機能の一覧を示す情報となる。
【００５７】
また、操作機器２０４が例えばテレビである場合は、機能として、電源をオンオフするための“電源オンオフ”、チャンネルを選択するための“チャンネル選択”、音量を調整するための“音量”等が存在する。したがって、この場合、機能情報は、電源オンオフ、チャンネル選択、音量等の機能の一覧を示す情報となる。
【００５８】
なお、これらの機能情報は一例にすぎず、他の機能を含ませても良い。また、操作機器２０４としては、ＤＶＤプレーヤ及びテレビに限定されず、例えば、オーディオ、ミニコンポ、エアコン、又は空気清浄機等、リモコンにより操作可能な機器であれば、どのような機器を採用してもよい。
【００５９】
ここで、機能情報取得部５０６は、操作機器２０４が機器情報通知機能を持つ場合は、操作機器２０４に対して機器情報取得要求を送信することで、操作機器２０４から機器情報を直接取得してもよい。そして、この場合、機能情報取得部５０６は、操作機器２０４がリモコンにより操作される機器であればリモコンと機器本体との間で行われる通信プロトコルを用いて、操作機器２０４と通信して機器情報を取得すればよい。なお、この場合、機能情報保存部５０７は、操作機器２０４が備えることになる。
【００６０】
また、機能情報取得部５０６がＨＭＤ２０２に設けられている場合であって、サーバ機器２０３が機能情報を予め保持している場合、機能情報取得部５０６は、ユーザ入力判定部５０１に、操作機器２０４の型番を特定させ、特定させた型番に対応する機能情報を機器情報保存部５０７から取得してもよい。この場合、ユーザ入力判定部５０１は、例えば操作機器２０４の型番を映像データから認識し、その型番を機能情報取得部５０６に通知すればよい。なお、この場合、機能情報保存部５０７はサーバ機器２０３が備えることになる。
【００６１】
また、また、機能情報取得部５０６がＨＭＤ２０２に設けられている場合において、機能情報取得部５０６は、取得した機能情報を絶えず最新の機能情報に更新するようにしてもよい。この場合、機能情報取得部５０６は、例えば、機器選択装置の電源がオンされる度に、取得済の機器情報に対する更新要求を機器情報保存部５０７に通知し、機器情報を最新の機器情報に更新すればよい。
【００６２】
機能情報保存部５０７を機能情報保存部５０７をＨＭＤ２０２のメモリ上に設けてもよい。この場合、機能情報保存部５０７は、予め定められた操作機器２０４のそれぞれの機能情報を予め保存しておけばよい。また、この場合、ユーザ２００が好みの操作機器２０４の機能情報をサーバ機器２０３から取得して、機能情報保存部５０７に保存させるようにしてもよい。
【００６３】
ジェスチャ情報登録部５０２は、ユーザ入力判定部５０１により機器選択指示が入力されたと判定された場合、その操作機器２０４の機能情報と、機器選択指示を入力する際にユーザ２００により行われたジェスチャを示すジェスチャ特徴情報とを対応付けて入力ジェスチャ登録情報を生成し、生成した入力ジェスチャ登録情報をジェスチャ情報保存部５０３に保存させる。
【００６４】
ここで、機器制御装置がユーザ２００に対して機器選択指示の入力を促すプログラムを実行する事によってユーザ２００と機器制御装置とがインタラクティブに入力ジェスチャ登録情報の登録処理を行ってもよい。例えば、表示重畳部５１１において、ユーザ２００のジェスチャに応答して動作する人体オブジェクトを表示させ、ユーザ２００が行ったジェスチャをユーザ２００にフィードバックさせるようにしてもよい。或いは、人体オブジェクトのジェスチャをまねるようにユーザ２００にジェスチャを行わせて機器選択指示を入力させるようにしてもよい。例えば、人体オブジェクトに手を振るような動作を行わせ、それに合わせて、ユーザ２００に手を振るジェスチャを行わせるというようにして、インタラクティブに機器選択指示を登録させてもよい。
【００６５】
入力ジェスチャ登録情報としては、例えば、機器選択指示を入力する際に行われたジェスチャを特徴付けるジェスチャ特徴情報と、機器選択指示によって選択された操作機器２０４の機能情報と、ジェスチャを入力したユーザ２００を示すユーザＩＤとを紐付ける情報が採用される。ジェスチャ特徴情報としては、機器選択指示を入力する際にユーザ２００により行われたジェスチャを示すジェスチャ認識情報が採用される。
【００６６】
本実施の形態では、ユーザ２００にある指で操作機器２０４を触れるジェスチャを行わせることで、機器選択指示を入力させている。したがって、ジェスチャ特徴情報としては、例えば、指の種類、指先の移動方向、及び指先の移動量を示すデータが採用される。指の種類としては、親指〜小指等のいずれかの指を示す情報が採用される。指先の移動方向、及び指先の移動量としては、機器選択指示が行われたときにユーザ入力認識部５００からユーザ入力判定部５０１に供給されるジェスチャ認識情報に含まれる該当する指の移動方向及び移動量を採用すればよい。
【００６７】
ユーザＩＤとしては、ＨＭＤ２０２を装着しているユーザ２００を識別する情報を採用すればよい。このユーザＩＤは例えば、ＨＭＤ２０２を装着した際にユーザ２００に入力させるようにすればよい。具体的には、ＨＭＤ２０２にユーザＩＤを予め登録させておく。そして、ＨＭＤ２０２の電源がオンされると、ＨＭＤ２０２の表示パネルにユーザＩＤを入力するための仮想ＵＩを表示し、その仮想ＵＩを用いてユーザ２００に登録済のユーザＩＤを入力させればよい。
【００６８】
機能情報としては、機器選択指示が行われた場合に機能情報取得部５０６により取得された機能情報を採用すればよい。なお、ユーザ入力判定部５０１は機器選択指示が入力されたと判定した場合、機能情報取得部５０６により取得された機能情報をジェスチャ情報登録部５０２に供給する。これにより、ジェスチャ情報登録部５０２は機能情報を取得することができる。
【００６９】
機能情報検索部５０４は、ユーザ入力判定部５０１により、仮想ＵＩ用いたユーザ２００からの機器操作指示が入力指示として入力されたと判定された場合、当該機器操作指示に対応する機能を入力ジェスチャ登録情報に含まれる機能情報から検索する。例えば、ＤＶＤプレーヤの仮想ＵＩが表示されている場合を例に挙げて説明する。仮想ＵＩには、例えば、電源オンオフ、再生、録画、チャンネル選択、停止、巻き戻し、及び早送り等のボタンが含まれている。
【００７０】
したがって、ユーザ入力判定部５０１により例えば電源オンオフのボタンが押されたと判定されると、機能情報検索部５０４は、電源オンオフに対応する機能を機能情報から検索する。そして、電源オンオフに対応する機能を検索できたとすると、電源オンオフの機能を実行するように機能実行要求部５０５に通知する。
【００７１】
機能実行要求部５０５は、機能情報検索部５０４により検索された機能が実行されるように操作機器２０４に命令を行う。この場合、機能実行要求部５０５は、操作機器２０４が例えばＤＶＤプレーヤのようにリモコン操作が可能な機器である場合、リモコンがＤＶＤプレーヤにある機能を実行させるためにＤＶＤ本体に送信するリモコン信号と同じ信号を送信すればよい。例えば、ＤＶＤプレーヤをオンオフさせる場合、機能実行要求部５０５は、ＤＶＤプレーヤのリモコンがＤＶＤプレーヤの本体に送信するＤＶＤプレーヤをオンオフさせるリモコン信号と同じ信号をＤＶＤプレーヤに送信する。これにより、ＤＶＤプレーヤはオフの状態にある場合は電源をオンし、オンの状態にある場合は電源をオフする。
【００７２】
仮想ＵＩ生成部５０８は、機能情報取得部５０６により取得された機能情報に基づいて仮想ＵＩを生成し、生成した仮想ＵＩと、機器選択指示を入力する際にユーザ２００により行われたジェスチャとを対応付けてユーザインターフェイス登録情報を生成し、仮想ＵＩ保存部５０９に保存する。
【００７３】
図９は、仮想ＵＩ生成部５０８により生成されるあるユーザ２００のユーザインターフェイス登録情報１０００のデータ構造の一例を示した図である。図９に示すように、ユーザインターフェイス登録情報１０００は、ジェスチャ特徴情報、選択機器、及び仮想ＵＩの欄を備えている。入力ジェスチャ登録情報の欄には、人差し指、中指等、ユーザ２００が機器選択指示を入力する際に行ったジェスチャを示すジェスチャ特徴情報が格納されている。
【００７４】
本実施の形態では、ユーザ２００は操作機器２０４にある指を触れるジェスチャを行うことで機器選択指示を入力する。したがって、図９の例では、ジェスチャ特徴情報としては、操作機器２０４に触れたユーザ２００の指を示す情報が採用されている。
【００７５】
選択機器の欄には、ユーザ２００が機器選択指示を入力して選択した操作機器２０４を特定するための識別情報が格納されている。仮想ＵＩの欄には、ユーザ２００が機器選択指示を入力して選択した操作機器２０４に対する仮想ＵＩを識別するための識別情報が格納されている。
【００７６】
図９の例では、ユーザ２００は、ＤＶＤレコーダに人差し指を触れるジェスチャを行って機器選択指示を入力し、そのとき生成された仮想ＵＩに対して“ＤＶＤ＿Ｒｅｃ＿ＵＩ”の識別情報が付与されている。そのため、行１００１のレコードには、ジェスチャ特徴情報、選択機器、及び仮想ＵＩの欄にそれぞれ、“人差し指”、“ＤＶＤレコーダ”、及び“ＤＶＤ＿Ｒｅｃ＿ＵＩ”が格納されている。
【００７７】
また、図９の例では、ユーザ２００はブルーレイレコーダに中指を触れるジェスチャを行って機器選択指示を入力し、そのとき生成された仮想ＵＩに対して“ＢｌｕＲａｙ＿Ｒｅｃ＿ＵＩ”の識別情報が付与されている。したがって、行１００２のレコードには、“中指”、“Ｂｌｕ−ｒａｙレコーダ”、及び“ＢｌｕＲａｙ＿Ｒｅｃ＿ＵＩ”が格納されている。
【００７８】
以下、同様に、ユーザ２００は、テレビ、コンポ、パソコンに対して親指、小指、薬指を触れて機器選択指示を入力しているため、行１００３〜１００５のレコードの各欄には図示する情報が格納されている。
【００７９】
ここで、仮想ＵＩ生成部５０８は、機能情報取得部５０６により、機能情報と併せて仮想ＵＩが取得されている場合、取得された仮想ＵＩを用いてユーザインターフェイス登録情報１０００を生成すればよい。また、仮想ＵＩ生成部５０８は、機能情報取得部５０６により機能情報と併せて仮想ＵＩが取得されなかった場合、サーバ機器２０３から仮想ＵＩの取得を試みる。そして、仮想ＵＩ生成部５０８は、仮想ＵＩを取得できた場合、その仮想ＵＩを用いてユーザインターフェイス登録情報１０００を生成すればよい。
【００８０】
本実施の形態では、仮想ＵＩとして、操作機器２０４のリモコンと同様な外観を持つ仮想リモコンを採用する。したがって、機能情報取得部５０６が機器情報と併せて仮想ＵＩを取得することができた場合、仮想ＵＩとして、該当する操作機器２０４のリモコンと同じ外観を有する仮想リモコンが採用される。よって、仮想ＵＩには、“電源オンオフ”ボタン、“再生”ボタン、“早送り”ボタンとういうような、操作機器２０４の実際のリモコンが持つボタンと同じボタンが同じレイアウトで表示される。
【００８１】
また、仮想ＵＩ生成部５０８は、仮想ＵＩを取得できなかった場合、機能情報に含まれる各機能をボタン形式で一覧表示した仮想ＵＩを生成すればよい。この場合、仮想ＵＩ生成部５０８は、各機能の名称を四角で囲んだ操作ボタンを一覧表示する仮想ＵＩを生成すればよい。
【００８２】
また、仮想ＵＩ生成部５０８は、ユーザ２００毎に仮想ＵＩのレイアウトをカスタマイズしてもよい。この場合、仮想ＵＩ生成部５０８は、機能情報に含まれる各機能に対応する機器操作指示の入力頻度に基づいて仮想ＵＩをカスタマイズすればよい。例えば、仮想リモコンにＡという機能を実行するためのＡボタン、Ｂという機能を実行するためのＢボタンがあったとする。
【００８３】
この場合、仮想ＵＩ生成部５０８は、Ａボタン及びＢボタンに対してユーザ２００が触れた回数をそれぞれカウントする。また、仮想ＵＩ生成部５０８は、ユーザ２００が仮想ＵＩの表示回数もカウントする。そして、仮想ＵＩ生成部５０８は、ユーザ２００が仮想ＵＩを表示回数が一定の値を超えた場合に、Ａボタン及びＢボタンのそれぞれに触れた回数を表示回数で割り、Ａボタン及びＢボタンの入力頻度を求める。そして、仮想ＵＩ生成部５０８は、Ａボタン又はＢボタンの入力頻度がＡボタン又はＢボタン毎に予め定められた規定値を超えた場合は、Ａボタン又はＢボタンを残存させる。一方、Ａボタン又はＢボタンの入力頻度がＡボタン又はＢボタン毎に予め定められた規定値以下の場合は、Ａボタン又はＢボタンを仮想ＵＩから省けばよい。以後、仮想ＵＩ生成部５０８は、仮想ＵＩの表示回数が一定の値を超える毎に上記の処理を行い、Ａボタン又はＢボタンを省くか否かの判定を行えばよい。
【００８４】
これにより、ユーザ２００によってほとんど使用されない機能に対応するボタンが仮想ＵＩから省かれ、仮想ＵＩの情報量が低下して、真にユーザ２００が必要な機能に対応するボタンのみ仮想ＵＩに含ませることができる。
【００８５】
なお、仮想ＵＩ生成部５０８は、ユーザ入力判定部５０１から仮想ＵＩのどのボタンがユーザ２００により触れられたかを示す情報が供給され、この情報に基づいて機能情報の各機能に対する入力頻度を算出すればよい。
【００８６】
また、仮想ＵＩ生成部５０８は、ユーザ２００の年齢又はユーザ２００からの選択指示に基づいて仮想ＵＩをカスタマイズしてもよい。例えば、高齢者のユーザ２００は操作機器２０４の機能のうち数個（例えば２〜５個）程度の機能しか使用しない場合もある。また、高齢者のユーザ２００の場合、多数のボタンを仮想ＵＩに配置すると老眼によりボタンを視認することが困難になる虞がある。そこで、仮想ＵＩ生成部５０８は、ＨＭＤ２０２を使用するユーザ２００の年齢が一定の年齢を超える場合、高齢者のユーザ２００用に仮想ＵＩをカスタマイズしてもよい。この場合、仮想ＵＩ生成部５０８は、機能情報取得部５０６により機能情報と併せて高齢者用の仮想ＵＩが取得された場合はその仮想ＵＩを採用すればよいし、取得されなかった場合は所定のボタンのみが含まれるように仮想ＵＩをカスタマイズすればよい。なお、ユーザ２００の年齢は、ユーザ２００がＨＭＤ２０２を初めて使用する際に、ユーザ２００に入力させればよい。
【００８７】
接触点認識部５１０は、ユーザ入力判定部５０１によりユーザ２００が表示位置指定指示を入力したと判定された場合、表示位置指定指示によりユーザ２００により指定された位置を仮想ＵＩの表示位置として認識する。
【００８８】
具体的には、接触点認識部５１０は、ユーザ入力判定部５０１により表示位置指定指示が入力されたと判定されると、ユーザ２００の指の先端の位置を示す座標データをユーザ入力判定部５０１から取得する。そして、接触点認識部５１０は、指の先端の位置に仮想ＵＩを重畳して表示するための命令を表示重畳部５１１に出力する。
【００８９】
本実施の形態では、ユーザ２００は、現実空間のある物体を指で触れるジェスチャを行うことで、表示位置指定指示を入力する。そこで、接触点認識部５１０は、ユーザ入力判定部５０１により表示位置指定指示が入力されたと判定されると、映像データからユーザ２００が触れた物体を認識する。この場合、接触点認識部５１０は、拡張現実空間において、ユーザ２００の指先の位置に存在する物体を映像データから抽出し、抽出した物体の映像データ上での画像領域を示す情報を表示重畳部５１１に通知すればよい。
【００９０】
これにより、拡張現実空間において、仮想ＵＩはユーザ２００が表示位置指定指示を入力するジェスチャを行った際に接触した物体に貼り付けて表示される。仮想ＵＩは上述したように、複数のボタンから構成されている。このようなボタンを拡張現実空間中に浮いたように表示させると、ユーザ２００はボタンを押しことを実感することが困難である。そこで、本実施の形態では、仮想ＵＩを物体に貼り付けて表示している。これにより、ユーザ２００は、仮想ＵＩのボタンを押した際、指先が物体に触れることになり、ボタンを押したことを実感することができる。
【００９１】
なお、拡張現実空間に表示されたオブジェクトをユーザ２００に掴ませるようなジェスチャを行って機器操作指示を入力させるような仮想ＵＩが採用される場合は、仮想ＵＩを物体に貼り付けることなく、拡張現実空間中に浮いたように表示させればよい。
【００９２】
表示重畳部５１１は、ユーザ入力判定部５０１により、ユーザインターフェイス登録情報に登録されたジェスチャが入力され、ユーザ２００により仮想ＵＩ表示指示が入力されたと判定された場合、当該ジェスチャに対応する仮想ＵＩを現実空間の映像データに重畳して拡張現実空間の映像データを生成し、表示部５１３に表示させる。具体的には、表示重畳部５１１は、接触点認識部５１０から仮想ＵＩを表示するための命令が供給されると、この命令で規定された映像データ上の物体の画像領域にテクスチャマッピング等の手法を用いて仮想ＵＩを貼り付ける。
【００９３】
例えば、表示重畳部５１１は、映像取得部５１２により取得された映像データを表示部５１３が備える描画バッファに書き込み、書き込んだ映像データに対して、仮想ＵＩを重畳して書き込むことで、仮想ＵＩを物体に貼り付ければよい。なお、接触点認識部５１０は、表示位置指定指示が入力され、ユーザ２００が触れた物体を認識した場合、以後、映像取得部５１２により映像データに対して当該物体を追跡し、映像データが更新されるたびに当該物体の画像領域を示す仮想ＵＩを表示するための命令を表示重畳部５１１に供給する。
【００９４】
そして、表示重畳部５１１は、仮想ＵＩを表示するための命令が供給されるたびにテクスチャマッピングを行い、仮想ＵＩの重畳対象となる物体の画像領域に仮想ＵＩを貼り付ける。これにより、仮想ＵＩの貼り付けた対象となる物体の向きがユーザ２００によって変更されて、物体の画像領域が変化しても、その画像領域の変化に追従するように仮想ＵＩが変化される。
【００９５】
これにより、仮想ＵＩはユーザ２００が触れた物体の表面形状に沿うように変形されて表示され、仮想ＵＩを物体に対して違和感なく貼り付けることができる。
【００９６】
表示部５１３は、例えばＨＭＤの表示パネルや、表示パネルに表示される拡張現実空間の映像データが書き込まれる描画バッファ等を含み、描画バッファに書き込まれた映像データを表示パネルに供給する。これにより、映像取得部５１２に取得された映像データに仮想ＵＩ等が重畳された拡張現実空間の映像データの動画像が表示部５１３に表示される。
【００９７】
次に、本発明の実施の形態における機器制御装置の動作について説明する。図５〜図８は本発明の実施の形態による機器制御装置の動作を示すフローチャートである。
【００９８】
まず、ユーザ入力認識部５００は、ユーザ２００がジェスチャを行ったことを検出すると（ステップＳ（以下、“Ｓ”と略す。）６００）、ジェスチャ認識情報をユーザ入力判定部５０１に供給する。
【００９９】
次に、ユーザ入力判定部５０１は、ユーザ入力認識部５００から供給されたジェスチャ認識情報が機器選択指示に該当するか否かを判定する（Ｓ６０１）。次に、ユーザ入力判定部５０１は、ユーザ２００により機器選択指示が入力されたと判定すると（Ｓ６０２でＹＥＳ）、ユーザ２００が指先で触れた操作機器２０４を認識する（Ｓ６０３）。一方、ユーザ入力判定部５０１は、ユーザ２００により機器選択指示が入力されていないと判定すると（Ｓ６０２でＮＯ）、処理をＳ６０４に進める。
【０１００】
次に、機能情報取得部５０６は、Ｓ６０１で認識された操作機器２０４の仮想ＵＩを機能情報保存部５０７から検索する（Ｓ６０６）。
【０１０１】
そして、機能情報取得部５０６は、機能情報保存部５０７に該当する仮想ＵＩが存在すると判定した場合（Ｓ７００でＹＥＳ）、機能情報保存部５０７から仮想ＵＩ及び該当する操作機器２０４の機能情報を取得する（Ｓ７０１）。
【０１０２】
次に、ジェスチャ情報登録部５０２は、機能情報取得部５０６により取得された機能情報と、Ｓ６０１で認識されたジェスチャを示すジェスチャ特徴情報と、ＨＭＤ２０２を使用するユーザ２００のユーザＩＤと対応付けた入力ジェスチャ登録情報を生成し、ジェスチャ情報保存部５０３に保存させる（Ｓ７０２）。
【０１０３】
次に、仮想ＵＩ生成部５０８は、受信した仮想ＵＩ及びＳ６０１で認識されたジェスチャを示すジェスチャ特徴情報を対応付けてユーザインターフェイス登録情報を生成し、仮想ＵＩ保存部５０９に保存する（Ｓ７０３）。
【０１０４】
例えば、ユーザ２００が人差し指でＤＶＤレコーダに触れた場合には、人差し指で触れたジェスチャを示すジェスチャ特徴情報と、そのジェスチャによりユーザ２００により選択されたＤＶＤレコーダの仮想ＵＩと、ユーザＩＤとが紐付けられてユーザインターフェイス登録情報が生成され、仮想ＵＩに生成部５０８に保存される。
【０１０５】
これにより、次にユーザ２００が人差し指を差し出すジャスチャと行ったときに、ＤＶＤプレーヤの仮想ＵＩが表示部５１３に表示される。なお、仮想ＵＩは、全ての機能に対応するボタン等を持つものであってもよいし、ユーザ２００によってほとんど使用されないボタン等が非表示になるようにカスタマイズされていてもよい。
【０１０６】
次に、仮想ＵＩ生成部５０８は生成した仮想ＵＩを表示重畳部５１１に供給し、仮想ＵＩを表示部５１３に表示させる（Ｓ７０４）。この場合、表示重畳部５１１は仮想ＵＩを拡張現実空間の所定のデフォルト位置に表示させればよい。また、この場合、ユーザ入力判定部５０１は、仮想ＵＩの状態を“表示中”、かつ、“操作不可”にすればよい。
【０１０７】
一方、機能情報取得部５０６は、機能情報保存部５０７に操作機器２０４の仮想ＵＩが存在しないと判定した場合（Ｓ７００でＮＯ）、機能情報保存部５０７から操作機器２０４の機能情報のみを取得する（Ｓ７０５）。次に、ジェスチャ情報登録部５０２は、機能情報取得部５０６により取得された機能情報と、Ｓ６０１で認識されたジェスチャを示すジェスチャ特徴情報と、ユーザＩＤとを対応付けて入力ジェスチャ登録情報を生成し、ジェスチャ情報保存部５０３に保存する（Ｓ７０６）。
【０１０８】
次に、機能情報取得部５０６は、仮想ＵＩ生成部５０８に仮想ＵＩの生成要求を通知する（Ｓ７０７）。次に、仮想ＵＩ生成部５０８は、機能情報取得部５０６により取得された機器情報から仮想ＵＩを生成する（Ｓ７０８）。
【０１０９】
次に、仮想ＵＩ生成部５０８は、生成した仮想ＵＩとＳ６０１で認識されたジェスチャを示すジェスチャ特徴情報と、ユーザＩＤとを対応付けてユーザインターフェイス登録情報を生成し、仮想ＵＩ保存部５０９に保存させる（Ｓ７０９）。この場合、例えば図９に示すようなユーザインターフェイス登録情報１０００が生成される。
【０１１０】
次に、仮想ＵＩ生成部５０８は、Ｓ７０９と同様にして、生成した仮想ＵＩを表示重畳部５１１に供給し、仮想ＵＩを表示部５１３に表示させる（Ｓ７１０）。この場合、ユーザ入力判定部５０１は、仮想ＵＩの状態を“表示中”、かつ、“操作不可”にすればよい。
【０１１１】
一方、図５のＳ６０４において、ユーザ入力判定部５０１が、Ｓ６０１において認識されたジェスチャがジェスチャ情報保存部５０３で保存された入力ジェスチャ登録情報に登録されており、仮想ＵＩ表示指示であると判定した場合（Ｓ６０４でＹＥＳ）、処理にＳ６０５を進める。
【０１１２】
そして、仮想ＵＩ生成部５０８は、Ｓ６０１で認識されたジェスチャに対応する仮想ＵＩを仮想ＵＩ保存部５０９から読み出し、表示重畳部５１１に供給し、表示部５１３に仮想ＵＩを表示させる（Ｓ６０５）。
【０１１３】
次に、ユーザ２００により指先をある物体に接触させるジェスチャが行われ、ユーザ入力判定部５０１がユーザ２００により表示位置指定指示が入力されたと判定すると（Ｓ８００でＹＥＳ）、接触点認識部５１０は、指先と物体とが接触した位置を認識する（Ｓ８０１）。
【０１１４】
次に、接触点認識部５１０は、映像データからユーザ２００が指先で触れた物体の画像領域を抽出することで物体を認識する（Ｓ８０２）。次に、表示重畳部５１１は、認識された物体の画像領域に仮想ＵＩをテクスチャマッピングにより貼り付ける（Ｓ８０３）。次に、ユーザ入力判定部５０１は、仮想ＵＩの状態を“表示中”かつ“操作可能”にし（Ｓ８０４）、処理を終了する。
【０１１５】
一方、Ｓ８００において、表示位置指定指示が入力されない場合（Ｓ８００でＮＯ）、処理がＳ８００に戻され、表示位置指定指示が入力されるまで、処理が待機される。
【０１１６】
図５に示すＳ６０４において、ユーザ入力判定部５０１は、Ｓ６０１で認識されたジェスチャが仮想ＵＩ表示指示でないと判定した場合（Ｓ６０４でＮＯ）、当該ジェスチャが機器操作指示であるか否かを判定する（Ｓ９００）。
【０１１７】
そして、ユーザ入力判定部５０１は、当該ジェスチャが機器操作指示であると判定した場合（Ｓ９００でＹＥＳ）、機能情報検索部５０４は、機器操作指示に対応する機能をジェスチャ情報保存部５０３から検索する（Ｓ９０１）。
【０１１８】
次に、機能実行要求部５０５は、Ｓ９０１で検索された機能を操作機器２０４に実行させるための命令を操作機器２０４に出力する。これにより、ユーザ２００が操作指示により入力した機能が操作機器２０４で実行される。
【０１１９】
一方、ユーザ入力判定部５０１は、Ｓ６０１で認識されたジェスチャが機器操作指示でない場合（Ｓ９００でＮＯ）、処理を終了する。
【０１２０】
なお、上記フローチャートでは、ユーザ２００が指先をある物体に接触させることで表示位置指定指示を入力したが、拡張現実空間内の任意の位置に指先を指し示すことで、表示位置指定指示を入力してもよい。
【０１２１】
この場合、表示重畳部５１１は、ユーザ２００が指し示す指先の位置を中心として表示部５１３の垂直方向及び水平方向に仮想ＵＩを展開すればよい。また、表示部５１３にて表示される仮想ＵＩのサイズが小さい又は大きい場合は、仮想ＵＩを適当な大きさに拡大又は縮小してもよい。
【０１２２】
また、上記説明では、接触点認識部５１０は映像データを用いてユーザ２００の指先の位置を認識したが、ユーザ２００の指先の位置を認識できる手法であれば、どのような手法を用いても良い。例えば、ユーザ２００の指先に位置センサを設け、これによりユーザ２００の指先を認識してもよい。
【０１２３】
このように、本実施の形態による機器制御装置によれば、ユーザ２００はある指である操作機器２０４に触れるジェスチャを行うと、ユーザ２００により選択された操作機器２０４の機能情報が取得され、取得された機能情報とユーザ２００のジェスチャとが対応付けて保存される。また、機能情報から仮想ＵＩが生成され、生成された仮想ＵＩがユーザ２００により行われたジェスチャと対応付けて保存される。以上によりユーザ２００が行ったジェスチャと操作機器２０４の機能情報と、操作機器２０４の仮想ＵＩとが対応付けられる。
【０１２４】
そして、ユーザ２００により、操作機器２０４を選択したときと同じようにして指先を差し出すジェスチャが行われると、そのジェスチャに対応付けられた仮想ＵＩが表示される。そして、ユーザ２００は、表示された仮想ＵＩに対して操作指示を入力すると、操作指示に対応する機能が実行される。
【０１２５】
したがって、ジェスチャ登録機能、ジェスチャ認識機能、及びアクション実行機能を有しない機器であっても、ジェスチャ登録機能、ジェスチャ認識機能、及びアクション実行機能を提供することが可能になり、ユーザ２００の利便性を向上させることができる。
【０１２６】
また、上記実施の形態では、ユーザ２００はある指の指先を差し出すジェスチャを行ったときに、仮想ＵＩを表示させる態様を採用した。しかしながら、これでは、ユーザ２００が仮想ＵＩを表示させることを希望しないにもかかわらず、同様のジェスチャを行った場合、仮想ＵＩが表示される虞がある。そこで、ユーザ２００が仮想ＵＩ表示指示を入力する際は、機器制御装置の動作モードを仮想ＵＩ表示モードに設定させて、仮想ＵＩ表示指示を入力させるようにすればよい。これにより、ユーザ２００が仮想ＵＩの表示を希望しない場合に仮想ＵＩが表示されることを防止することができる。この場合、ＨＭＤ２０２にスイッチを設け、このスイッチを操作することでユーザ２００に動作モードを設定させればよい。また、動作モードを設定するためのジェスチャをユーザ２００に行わせて動作モードを設定させてもよい。
【０１２７】
また、上記問題は、機器選択指示についても同様に発生する。したがって、ユーザ２００に機器選択指示を入力させる場合、機器制御装置の動作モードを仮想ＵＩ登録モードに設定すればよい。
【０１２８】
また、図９の例では、ユーザ２００の各指に異なる操作機器２０４の仮想ＵＩが対応付けられている。したがって、ユーザ２００は手を広げるジェスチャを行うと、各指に対応付けられた全ての仮想ＵＩを表示させることができる。これにより、ユーザ２００は、どの指にどの操作機器２０４の仮想ＵＩが対応付けられていたかを忘れた場合であっても、速やかに確認することができる。もちろん、確認後は、ユーザ２００にあるジェスチャを行わせ、表示された全ての仮想ＵＩのうち任意の仮想ＵＩを非表示にさせるようにすればよい。
【０１２９】
なお、実施の形態は例であって、本発明は実施の形態に限定されるのではない。実施の形態に対して当業者が思いつく変形を施して得られる形態、および、実施の形態における構成要素を任意に組み合わせて実現される別の形態も、本発明に含まれる。
【０１３０】
また、図４に示された機器制御装置の構成要素は、集積回路であるＬＳＩ（Large Scale Integration）として実現されてもよい。これらの構成要素は、個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、IC(Integrated Circuit)、システムＬＳＩ、スーパーＬＳＩ、またはウルトラＬＳＩと呼称されることもある。
【０１３１】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。プログラムすることが可能なFPGA(Field Programmable Gate Array)、又はＬＳＩ内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１３２】
更には、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、表示領域制御装置に含まれる構成要素の集積回路化を行ってもよい。また、機器制御装置の構成要素のうち、データを格納する手段だけ１チップ化せずに別構成としてもよい。
【０１３３】
また、本発明は、機器制御装置として実現できるだけでなく、機器制御装置を構成する処理手段をステップとする方法として実現できる。そして、本発明は、その方法に含まれるステップをコンピュータに実行させるプログラムとして実現できる。さらに、本発明は、そのプログラムを記憶したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記憶媒体として実現できる。
【産業上の利用可能性】
【０１３４】
本発明にかかる機器制御装置によれば、ジェスチャ登録機能、ジェスチャ認識機能、およびアクション実行機能を有しない操作機器に対して、ジェスチャを用いた操作が可能となるため、今後ますます登場が予想されるＨＭＤを装着した拡張現実空間上のアプリケーションでの利用で特に有用であると考えられる。
【符号の説明】
【０１３５】
２００  ユーザ
２０１  カメラ
２０２  ＨＭＤ
２０３  サーバ機器
２０４  操作機器
５００  ユーザ入力認識部
５０１  ユーザ入力判定部
５０２  ジェスチャ情報登録部
５０３  ジェスチャ情報保存部
５０４  機能情報検索部
５０５  機能実行要求部
５０６  機能情報取得部
５０７  機能情報保存部
５０８  仮想ＵＩ生成部
５０９  仮想ＵＩ保存部
５１０  接触点認識部
５１１  表示重畳部
５１２  映像取得部
５１３  表示部
１０００  ユーザインターフェイス登録情報
【図１】
2012181809.tif 000003
【図２】
2012181809.tif 000004
【図３】
2012181809.tif 000005
【図４】
2012181809.tif 000006
【図５】
2012181809.tif 000007
【図６】
2012181809.tif 000008
【図７】
2012181809.tif 000009
【図８】
2012181809.tif 000010
【図９】
2012181809.tif 000011
【図１０】
2012181809.tif 000012