(57)【要約】オブジェクト認識部１１０１は、現実空間の映像データから、当該映像データに含まれる物体を認識する。機能設定部１１０３は、物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持する。そして、機能設定部１１０３は、オブジェクト認識部１１０１により認識された各物体に対して、各物体の種別から設定可能な機能を設定する。選択判定部１１０５は、オブジェクト認識部１１０１により認識された各物体のうち、ユーザが操作対象として選択した選択物体を判定する。操作判定部１１０６は、ユーザが選択物体に対して行った操作を判定する。処理決定部１１０７は、機能設定部１１０３により設定された機能を構成する操作のうち、操作判定部１１０６により判定された操作に対する処理を決定する。
2012105175.tif 000002
【特許請求の範囲】
【請求項１】
現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張装置であって、
映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識部と、
物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識部により物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定部と、
前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識部と、
前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識部が認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定部と、
前記入力認識部が認識した入力動作を用いて、ユーザの操作を判定する操作判定部と、
前記選択判定部が選択した選択物体に対して、前記機能設定部により設定された機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する処理決定部と、
前記処理決定部が決定した処理を実行する実行部とを備える機能拡張装置。
【請求項２】
前記オブジェクト認識部は、認識した物体ごとに当該物体の種別を識別し、
前記機能設定部は、種別が同一の物体であっても物体ごとに機能を設定する請求項１記載の機能拡張装置。
【請求項３】
前記入力認識部は、入力動作を行ったユーザを識別するためのユーザ識別子を取得し、
前記機能設定部は、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理の候補をユーザに提示し、ユーザにより選択された操作及び処理を当該物体の機能として設定し、設定した機能を、前記ユーザ識別子と対応付けて保持し、
前記処理決定部は、前記機能設定部が前記ユーザ識別子を持つユーザに対して設定した機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する請求項２記載の機能拡張装置。
【請求項４】
前記機能設定部は、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理を判定し、判定した操作及び処理を当該物体の機能として設定する請求項２又は３記載の機能拡張装置。
【請求項５】
前記オブジェクト認識部は、物体の形状及び大きさを認識し、
前記機能設定部は、前記オブジェクト認識部が認識した物体の形状及び大きさの少なくともいずれか一方に基づいて、当該物体に設定可能な操作及び処理を判定する請求項４記載の機能拡張装置。
【請求項６】
前記機能設定部は、前記機能拡張装置の能力及び前記機能拡張装置に接続される周辺装置の能力に基づいて、前記オブジェクト認識部により認識された物体に対して、設定可能な操作及び処理を判定する請求項４又は５記載の機能拡張装置。
【請求項７】
前記機能設定部は、所定の通信ネットワークを介して外部判定装置と接続され、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理の判定処理を前記外部判定装置に依頼し、前記外部判定装置による判定結果にしたがって、当該物体に対する機能を設定する請求項４〜６のいずれかに記載の機能拡張装置。
【請求項８】
前記機能設定部は、所定の通信ネットワークを介して接続されたサーバから前記機能情報を取得する請求項１〜７のいずれかに記載の機能拡張装置。
【請求項９】
前記実行部は、前記映像入力装置により取得された映像データにグラフィックスを重畳させて映像出力装置に表示させる映像出力制御部を含み、
前記処理決定部により決定された処理が前記選択物体に対してグラフィックスを重畳させる処理である場合、前記選択物体に重畳させるグラフィックスを生成し、生成したグラフィックスを前記選択物体に重畳させる描画依頼を前記映像出力制御部に出力するグラフィックス生成部を更に備える請求項１〜８のいずれかに記載の機能拡張装置。
【請求項１０】
前記実行部は、ユーザに対して触覚を付与する触覚出力装置を制御する触覚出力制御部を含み、
前記触覚出力制御部は、前記選択物体へのグラフィックスの重畳に付随してユーザに触覚を付与するために前記触覚出力装置を駆動させる請求項９記載の機能拡張装置。
【請求項１１】
オブジェクト認識部により認識された各物体に対して物体識別子を付与し、前記物体識別子、前記物体の種別、及び前記物体の現実空間での位置を含む物体毎の３Ｄ立体視モデルを生成し、生成した物体毎の３Ｄ立体視モデルを物体認識通知として前記機能設定部に通知する３Ｄモデル管理部を更に備え、
前記機能設定部は、前記３Ｄモデル管理部から物体認識通知が通知されたときに、通知された物体認識通知が示す物体が前記オブジェクト認識部により認識されたと判定し、前記機能情報を参照して認識された物体の種別から当該物体に対する機能を設定する請求項１〜１０のいずれかに記載の機能拡張装置。
【請求項１２】
前記３Ｄモデル管理部は、前記オブジェクト認識部により認識された各物体の位置データ及び物体識別子を対応付けた物体情報を前記選択判定部に通知し、
前記選択判定部は、前記３Ｄモデル管理部から通知された物体情報によって前記オブジェクト認識部により認識された各物体の現実空間での位置を認識し、前記入力認識部により認識された前記入力位置に対して所定範囲内に位置する物体を前記選択物体として判定する請求項１１記載の機能拡張装置。
【請求項１３】
現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張方法であって、
機能拡張装置が、映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識ステップと、
機能拡張装置が、物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識ステップにより物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定ステップと、
機能拡張装置が、前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識ステップと、
機能拡張装置が、前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識ステップが認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定ステップと、
機能拡張装置が、前記入力認識ステップが認識した入力動作を用いて、ユーザの操作を判定する操作判定ステップと、
機能拡張装置が、前記選択判定部が選択した選択物体に対して、前記機能設定ステップにより設定された機能を構成する操作のうち、前記操作判定ステップにより判定された操作に対する処理を決定する処理決定ステップと、
機能拡張装置が、前記処理決定ステップが決定した処理を実行する実行ステップとを備える機能拡張方法。
【請求項１４】
現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張装置としてコンピュータを機能させる機能拡張プログラムであって、
映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識部と、
物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識部により物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定部と、
前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識部と、
前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識部が認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定部と、
前記入力認識部が認識した入力動作を用いて、ユーザの操作を判定する操作判定部と、
前記選択判定部が選択した選択物体に対して、前記機能設定部により設定された機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する処理決定部と、
前記処理決定部が決定した処理を実行する実行部としてコンピュータを機能させる機能拡張プログラム。
【請求項１５】
現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張装置の集積回路であって、
映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識部と、
物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識部により物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定部と、
前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識部と、
前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識部が認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定部と、
前記入力認識部が認識した入力動作を用いて、ユーザの操作を判定する操作判定部と、
前記選択判定部が選択した選択物体に対して、前記機能設定部により設定された機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する処理決定部と、
前記処理決定部が決定した処理を実行する実行部とを備える集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡張現実空間において、認識された物体に機能を設定する技術に関するものである。
【背景技術】
【０００２】
拡張現実空間において、オブジェクト認識された物体に機能を設定する技術として、従来、物体に予め付与された検索機能を利用する技術が知られている。【０００３】
ここで、オブジェクト認識された物体に設定する「機能」とは、ユーザと物体間のインタラクションであり、ユーザによる一連の操作と一連の操作のそれぞれに対する処理との組から成る。より詳細には、「機能」とは、ユーザから物体への入力である「操作」と、ユーザによる操作に対するフィードバックとして実行される「処理」との組から構成される。【０００４】
「機能」の例としては、書き込み履歴記録機能、色変更機能、及び検索機能等が考えられる。検索機能の場合、ユーザが物体を指示するという「操作」に対して、指示された物体の情報を検索し、検索結果をユーザに視覚的に提示するという「処理」が行われる。【０００５】
例えば、特許文献１には、ユーザの関心ある物に関する情報を提供するポインティングシステムが開示されている。【０００６】
ユーザは、手持ち式装置をアドレスしたい物へ向けて指し示す（前述の「操作」に相当する）。この手持ち式装置は、位置及び姿勢を測定し、基準を作成し、予めプログラムされた物に関する情報を含むデータベースを検索することによって、いずれの物がアドレスされているのかを判断する。そして、現在アドレスされている物と判断された物に関する情報が、ユーザ・インターフェースに提示される（前述の「処理」に相当する）。【０００７】
しかしながら、特許文献１の構成では、アドレスされた物体に対してどのような情報を提示するかが予め定められている。つまり、アドレスされた物体に付与される機能が予め定まっている。したがって、特許文献１では、物体に対して、複数の機能の中から、いずれかの機能を追加したり、削除したりする機構がない。そのため、物体に予め定められた機能を利用することはできるが、動的に機能を追加したり、削除したりすることができない。【０００８】
また、特許文献１では、物体の種別に応じて、物体に対して設定可能な機能を定める機構や、物体の種別ごとに付与可能な機能を判断する機構もない。そのため、物体の種別に合わせた機能を物体に追加することができない。【０００９】
例えば、本という種別の物体に対しては書き込み履歴記録機能が付与可能な機能であり、地球儀という種別の物体に対しては検索機能と色変更機能とが付与可能な機能である。【００１０】
しかしながら、特許文献１の技術では、物体の種別ごとに付与可能な機能を判断する機構がない。そのため、物体の種別として、本、ホワイトボード、地球儀が存在し、システムが物体に付与する機能として、書き込み履歴記録機能、色変更機能、及び検索機能が存在するような場合に、どの物体にどの機能を付与するかを判断して、機能を追加することができない。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特表２００４−５３１７９１号公報
【発明の概要】
【００１２】
本発明の目的は、拡張現実空間に取り込まれた現実空間の物体に対し、その物体の種別に適合する機能を動的に設定することができる機能拡張装置、機能拡張方法、機能拡張プログラム、及び集積回路を提供することである。
【００１３】
本発明の一局面による機能拡張装置は、現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張装置であって、映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識部と、物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識部により物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定部と、前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識部と、前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識部が認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定部と、前記入力認識部が認識した入力動作を用いて、ユーザの操作を判定する操作判定部と、前記選択判定部が選択した選択物体に対して、前記機能設定部により設定された機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する処理決定部と、前記処理決定部が決定した処理を実行する実行部とを備える。
【００１４】
また、本発明の別の一局面による機能拡張方法、機能拡張プログラム、及び集積回路は、上記の機能拡張装置と同様の特徴を備えている。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態による機能拡張装置が適用された機能拡張システムの構成例を示すブロック図である。
【図２】図１に示す機能拡張システムが、現実空間の物体を認識し、その物体の種別に合わせた機能を設定する処理、及び設定した機能を利用する処理の一例を模式的に示した図である。
【図３】機能設定部が保持する機能情報の一例を模式的に示した図である。
【図４】（Ａ）は、機能設定部が、オブジェクト認識部によりオブジェクト認識された各物体に対して設定した機能を示す機能設定情報の一例を示す図である。（Ｂ）は、本発明の実施の形態による機能拡張装置が、オブジェクト認識した物体に対して設定した機能の一例を模式的に示した図である。
【図５】本発明の実施の形態による機能拡張装置において実行される初期化処理の一例を示すフローチャートである。
【図６】本発明の実施の形態による機能拡張装置が物体をオブジェクト認識し、オブジェクト認識した物体に対して機能を設定する処理の一例を示すフローチャートである。
【図７】本発明の実施の形態による機能拡張装置が、ユーザの操作を認識し、物体に設定された機能を実行する際の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、説明に使用する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、及び処理等は、単なる一例を示したにすぎない。したがって、限定することを意図する記載が特段ない限り、装置の構成及び処理は、記載された内容に限定されない。
【００１７】
本発明の実施の形態による機能拡張装置は、現実空間に存在する物体を、オブジェクト認識して、拡張現実空間に取り込み、オブジェクト認識した物体に対して新たな機能を追加し、追加した機能をユーザに利用させる装置である。つまり、本機能拡張装置は、オブジェクト認識した物体に、固定の機能を設定するだけでなく、その物体の種別に合わせた機能や、その物体にふさわしい機能を追加し、固定の機能及び追加した機能をユーザに利用させる装置である。
【００１８】
ここで、オブジェクト認識された物体に設定される「機能」とは、ユーザ及び物体間のインタラクションであり、ユーザによる一連の操作と処理との組から成る。ここで、「操作」とは、ユーザが物体に対して行う操作である。また、「処理」とは、物体からユーザに対して、上記の「操作」のフィードバックとして実行される処理である。
【００１９】
より詳細には、「機能」とは、ユーザから物体への入力である「操作」と、物体からユーザへの出力であり、「操作」に対するフィードバックとして実行される「処理」との組から構成されるものである。「機能」としては、例えば、書き込み履歴記録機能、色変更機能、検索機能等が含まれる。
【００２０】
ここで、検索機能は、例えば、ユーザが物体を指示する「操作」と、指示された物体に関する情報をデータベースから検索し、検索結果をユーザに視覚的に提示する「処理」との組からなる。
【００２１】
ここで、「処理」としては、例えば、ユーザにより操作された物体に対して、同期又は非同期で映像を出力する処理が該当する。物体に対して映像を同期して出力する処理としては、例えば、ユーザが物体を操作した時に、操作対象の物体に関連するグラフィックスを生成し、生成したグラフィックスを操作対象の物体に重畳して出力することが挙げられる。また、物体にして映像を非同期で出力する処理としては、例えば、ユーザが物体を操作したときに、操作内容に応じたデータを保持しておき、物体への操作が終了した後で、保持したデータからグラフィックスを生成し、生成したグラフィックスを物体に関連付けて出力することが挙げられる。
【００２２】
これにより、拡張現実空間において、ユーザは、ヘッドマウントディスプレイ、３Ｄ立体視テレビ、又は触覚出力デバイス等の出力デバイスを通して、物体に追加された新たな機能を利用することができる。
【００２３】
例えば、「機能」として書き込み履歴記録機能が追加された場合、ユーザが現実空間の本に対して“なぞる”という操作を行うと、拡張現実空間の本に対して、なぞった箇所にアンダーラインのグラフィックスが重畳表示される。ここで、重畳表示としては、拡張現実空間の物体に対して、操作に伴うグラフィックスのみを重畳表示するものであってもよいし、重畳表示したグラフィックスに対して更に操作に伴うグラフィックスを重畳表示するものであってもよい。
【００２４】
また、ユーザが過去に操作を行った拡張現実空間のある本を、再度、ユーザが開いたとき、過去の操作時に保持しておいたデータからグラフィックスを生成し、物体に重畳表示してもよい。これにより、ユーザは、拡張現実空間において、本に対して指でアンダーラインを引き、事後にアンダーラインを確認する体験を得ることができる。
【００２５】
本実施の形態では、「操作」として、ユーザが手を動かして操作を入力とすることを基本に説明する。しかしながら、本発明における「操作」は、手の動きに限定されず、視線や音声（言語）等を操作として採用してもよい。
【００２６】
また、本実施の形態では、「処理」として、物体に対してグラフィックスを重畳表示するような映像出力を基本に説明する。しかしながら、「処理」として、映像出力に限定されず、例えば、音声出力や触覚出力等、他の出力を採用してもよい。
【００２７】
以下、本発明の実施の形態における機能拡張装置を機能拡張システムに適用した場合を例に挙げて具体的に説明する。図１は、本発明の実施の形態による機能拡張装置１００２が適用された機能拡張システム１００１の構成例を示すブロック図である。なお、図１に示す機能拡張システム１００１は、例えばヘッドマウントディスプレイ（ＨＭＤ）に搭載されている。また、図１に示す機能拡張装置１００２は、例えばＣＰＵ、ＲＯＭ、及びＲＡＭ等を備えるマイクロコンピュータにより構成され、例えばＣＰＵが本発明による機能拡張プログラムを実行することで、各ブロックの機能が実現される。拡張機能プログラムは、例えばＲＯＭまたはＲＡＭ等の記憶装置に格納されている。
【００２８】
具体的には、オブジェクト認識部１１０１、３Ｄモデル管理部１１０２、入力認識部１１０４、選択判定部１１０５、操作判定部１１０６、処理決定部１１０７、グラフィックス生成部１１０８、映像出力制御部１１０９、触覚出力制御部１１１０は、それぞれが例えば、記憶装置１００７に記憶された拡張機能プログラムに含まれるプログラムであり、記憶装置１００７から読み出されてＣＰＵにより実行される構成であり、機能設定部１１０３は、記憶装置１００７に記憶された拡張機能プログラムに含まれるプログラムであり、記憶装置１００７から読み出されてＣＰＵにより実行される構成である。
【００２９】
記憶装置１００７から読み出されてＣＰＵにより実行される機能設定部１１０３は、例えば、機能情報を記憶装置１００７から読み出してＲＡＭに格納する。なお、図１に示す機能拡張装置１００２に含まれるオブジェクト認識部１１０１、３Ｄモデル管理部１１０２、入力認識部１１０４、選択判定部１１０５、操作判定部１１０６、処理決定部１１０７、グラフィックス生成部１１０８、映像出力制御部１１０９、触覚出力制御部１１１０および機能設定部１１０３をそれぞれ記憶装置１００７に格納されたプログラムとし、ＣＰＵにて実行する構成としたが、これに限定される必要はない。
【００３０】
例えば、図１に示す機能拡張装置１００２に含まれるオブジェクト認識部１１０１、３Ｄモデル管理部１１０２、入力認識部１１０４、選択判定部１１０５、操作判定部１１０６、処理決定部１１０７、グラフィックス生成部１１０８、映像出力制御部１１０９、触覚出力制御部１１１０および機能設定部１１０３を専用の処理回路（例えばＬＳＩなどの集積回路）を用いて構成しても良い。
【００３１】
機能拡張システム１００１は、機能拡張装置１００２、映像入力装置１００３、ユーザ入力認識装置１００４、映像出力装置１００５、触覚出力装置１００６、記憶装置１００７、及び通信部１００８を備える。
【００３２】
機能拡張装置１００２は、オブジェクト認識部１１０１、３Ｄモデル管理部１１０２、機能設定部１１０３、入力認識部１１０４、選択判定部１１０５、操作判定部１１０６、処理決定部１１０７、グラフィックス生成部１１０８、映像出力制御部１１０９（実行部の一例）、及び触覚出力制御部１１１０（実行部の一例）を備える。
【００３３】
以下、機能拡張装置１００２が備える各構成について説明する。オブジェクト認識部１１０１は、映像入力装置１００３により取得された現実空間の映像データから、当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識する。具体的には、オブジェクト認識部１１０１は、映像入力装置１００３が現実空間を撮影することで取得した映像データが映像入力装置１００３から供給される。そして、オブジェクト認識部１１０１は、供給された映像データに含まれる物体の種別、形状、大きさ、及び現実空間の位置を認識し、３Ｄモデル管理部１１０２に通知する。
【００３４】
ここで、映像入力装置１００３が、例えば、３Ｄカメラにより構成されている場合、オブジェクト認識部１１０１は下記の処理を行って物体を認識すればよい。まず、オブジェクト認識部１１０１は、映像入力装置１００３から視線の異なる２系統の映像データを取得する。そして、映像入力装置１００３は、一方の系統の映像データに対して特徴点抽出処理を行い映像データに含まれる特徴点を抽出する。特徴点としては、例えば、物体の輪郭上の点であって、頂点や曲率が大きな点等の物体の形状を特徴付ける点が該当する。そして、オブジェクト認識部１１０１は、映像データから抽出した特徴点をクラスタリングして複数の特徴点群に分け、特徴点群における特徴点の配置パターンから、特徴点群が示す物体を特定する。この場合、オブジェクト認識部１１０１は、種々の物体について基準となる特徴点の配置パターンである基準配置パターンを予め保持しておき、この基準配置パターンと映像データから抽出した特徴点の配置パターンとを比較することで、特徴点群が示す物体を特定すればよい。
【００３５】
なお、このような物体を認識する技術は例えばデジタルカメラ等で広く採用されている顔認識技術が知られており、オブジェクト認識部１１０１は、この顔認識技術と同様の手法を用いて映像データに含まれる物体を認識すればよい。
【００３６】
そして、オブジェクト認識部１１０１は、特定した物体の各特徴点と同一箇所を示す対応点を別系統の映像データから特定する。そして、オブジェクト認識部１１０１は、各特徴点と各対応点との視差からステレオ法を用いて各特徴点の現実空間における３次元位置を求め、各特徴点の現実空間における位置を物体の位置として認識すればよい。
【００３７】
また、オブジェクト認識部１１０１は、現実空間の物体に対して付与されたマーカ情報を認識することで、映像データに含まれる物体を認識してもよい。ここで、マーカ情報とは、物体の種別、形状、大きさ、及び位置等の情報を記述する情報である。例えば、マーカ情報をバーコードや記号列で表したものを物体に付与しておき、オブジェクト認識部１１０１は、映像データからこのバーコードを認識し、認識したバーコードや記号列から物体の種別、形状、大きさ、及び現実空間の位置を認識すればよい。
【００３８】
また、マーカ情報をＩＣタグに記憶させて物体に保持させ、オブジェクト認識部１１０１は、ＩＣタグに保持されたデータを読み出してマーカ情報を取得してもよい。この場合、機能拡張システム１００１にＩＣタグリーダを設け、オブジェクト認識部１１０１は、このＩＣタグリーダにマーカ情報を読み出させ、マーカ情報を取得してもよい。
【００３９】
なお、マーカ情報に含まれる位置は、例えば、物体が配置された経度及び緯度が採用されている。そして、機能拡張システム１００１にＧＰＳを設ける。オブジェクト認識部１１０１は、ＧＰＳから機能拡張システム１００１の現実空間の位置を認識し、マーカ情報に含まれる物体の位置と比較して、機能拡張システム１００１に対する物体の相対的な位置を求めればよい。
【００４０】
また、映像入力装置１００３が、例えば、深度センサーにより構成されている場合、オブジェクト認識部１１０１は、映像入力装置１００３により取得された距離成分の画像データから物体の特徴点を抽出する。そして、抽出した特徴点の配置パターンから物体の種別、形状、大きさ、及び現実空間の位置を認識すればよい。
【００４１】
３Ｄモデル管理部１１０２は、オブジェクト認識部１１０１が認識した各物体の種別、形状、大きさ、及び現実空間の位置がオブジェクト認識部１１０１から通知され、通知された各物体の種別、形状、大きさ、及び現実空間の位置を含むデータを各物体の３Ｄ立体視モデルとして生成し、保持する。
【００４２】
また、３Ｄモデル管理部１１０２は、各物体の３Ｄ立体視モデルに対して、各物体を識別するための物体識別子を付与する。つまり、各物体の３Ｄ立体視モデルは、物体の種別、形状、大きさ、及び現実空間の位置を示すデータに物体の物体識別子が紐付けられたデータとなる。なお、３Ｄモデル管理部１１０２は、生成した３Ｄ立体視モデルを物体認識通知Ｄ１として、機能設定部１１０３に通知する。
【００４３】
また、３Ｄモデル管理部１１０２は、処理決定部１１０７から、物体識別子を指定して物体（選択物体）へのグラフィックスの重畳依頼Ｄ２が供給されると、当該物体に関するグラフィックス生成情報を生成して保持する。ここで、グラフィックス生成情報は、仮想現実空間で物体に重畳表示するグラフィックスを生成するために必要な情報である。グラフィックスの重畳依頼Ｄ２には、グラフィックスの大きさ、形状、及び重畳位置を示すデータが含まれている。したがって、３Ｄモデル管理部１１０２は、グラフィックスの大きさ、形状、及び重畳位置を示すデータをグラフィックス生成情報として生成すればよい。
【００４４】
３Ｄモデル管理部１１０２は、生成したグラフィックス生成情報をグラフィックス生成依頼Ｄ３としてグラフィックス生成部１１０８に通知する。
【００４５】
機能設定部１１０３は、物体の種別ごとに設定可能な一連の操作及び処理の組から構成される機能が規定された機能情報を保持する。機能情報については、図３を用いて後述する。そして、機能設定部１１０３は、オブジェクト認識部１１０１により物体が認識された際に、機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する。なお、機能設定部１１０３は、物体認識通知Ｄ１が３Ｄモデル管理部１１０２から供給されたときに、この物体認識通知Ｄ１が示す物体がオブジェクト認識部１１０１により認識されたと判定すればよい。
【００４６】
そして、機能設定部１１０３は、３Ｄモデル管理部１１０２からの物体認識通知Ｄ１が通知されると、図３（Ａ）に示す機能カテゴリ候補情報を参照し、認識された物体の種別から設定可能な機能カテゴリの候補を検索し、検索した機能カテゴリの候補の中から当該物体に設定する機能を決定する。
【００４７】
なお、本発明では、３Ｄモデル管理部１１０２を省いてもよい。この場合、オブジェクト認識部１１０１は認識した物体に物体識別子を付与し、物体識別子、並びに認識した物体の種別、形状、大きさ、及び現実空間の位置を物体認識通知Ｄ１として機能設定部１１０３に通知する。そして、機能設定部１１０３は、オブジェクト認識部１１０１から通知された物体認識通知Ｄ１と、図３（Ａ）に示す機能カテゴリ候補情報とを照合し、認識された各物体の種別から設定可能な機能カテゴリの候補を検索し、検索した機能カテゴリの候補の中から各物体に設定する機能を決定すればよい。
【００４８】
ここで、機能設定部１１０３は、オブジェクト認識部１１０１により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理の候補をユーザに提示し、ユーザにより選択された操作及び処理を当該物体の機能として設定し、設定した機能を、ユーザ識別子と対応付けて保持してもよい。この場合、認識された物体に対して設定可能な全ての操作及び処理が物体の機能として設定されるのではなく、物体に対して設定可能な全ての操作及び処理のうち、ユーザが選択した一連の操作及び処理が物体の機能として設定される。このように、機能設定部１１０３は、機能をユーザ識別子と対応付けて記録しておくことで、同一の物体であってもユーザ毎に異なる機能を設定することができ、ユーザの好みに合わせた機能を各物体に設定することができる。
【００４９】
ここで、ユーザに好みの機能を問い合わせるタイミングとしては、物体が認識されたときに限らず、物体の認識後であってもよい。物体の認識後においては、ユーザから機能の変更依頼が入力されたときに、ユーザに好みの機能の問い合わせを行えばよい。
【００５０】
また、機能設定部１１０３は、オブジェクト認識部１１０１により物体が認識された際に、認識された物体の特徴から設定可能な操作及び処理を判定し、判定した操作及び処理を物体の機能として設定してもよい。ここで、特徴としては、認識された物体の形状及び大きさの少なくともいずれか一方が該当する。
【００５１】
更に、機能設定部１１０３は、オブジェクト認識部１１０１により物体が認識された際に、機能拡張装置１００２の能力及び機能拡張装置１００２に接続される周辺機器の能力から、認識された物体に対して設定可能な操作及び処理を決定し、決定した操作及び処理を物体の機能として設定してもよい。
【００５２】
つまり、本実施の形態では、認識された物体に対して設定可能な全ての操作及び処理を物体の機能として設定するのではなく、物体の特徴及び機能拡張システム１００１の性能（スペック）に合う操作及び処理を物体の機能として選択的に設定してもよい。
【００５３】
また、機能設定部１１０３は、後述する処理決定部１１０７からある物体についての物体識別子を通知することで、当該物体に対して設定された機能を問い合わせるための機能問い合わせ依頼Ｄ４が通知されると、当該物体に設定された機能設定情報（図４（Ａ））を参照し、当該物体に対して設定された機能を特定し、特定した機能に対応する機能対応情報Ｄ７（図３（Ｃ）参照）を処理決定部１１０７に通知する。
【００５４】
入力認識部１１０４は、ユーザ入力認識装置１００４により取得されたユーザの動作を示す情報から、ユーザによる入力動作及び入力動作が行われた現実空間の位置である入力位置を認識する。具体的には、入力認識部１１０４は、ユーザ入力認識装置１００４からユーザの動作を示す情報として出力されるユーザの手の動作を示す情報を取得することで、ユーザによる入力動作及び入力位置を認識する。そして、入力認識部１１０４は、ユーザによる入力動作及び入力位置を認識すると、手の動作を示す情報を操作判定部１１０６に通知し、かつ、入力位置を選択判定部１１０５に通知する。ここで、手の動作を示す情報としては、例えば、ユーザの手の特徴点の現実空間における位置を示す位置データを時系列に並べたデータが採用される。
【００５５】
また、入力認識部１１０４は、本機能拡張システムの使用がユーザにより開始される際（例えば電源投入時）、そのユーザからユーザ識別子を取得する。ここで、入力認識部１１０４は、ユーザの指紋を認証したり、ユーザにユーザ識別子を入力させたりすることで、ユーザ識別子を取得すればよい。ユーザの指紋を認証する場合、入力認識部１１０４は、本機能拡張システム１００１の使用が許可されているユーザの指紋の画像データをユーザ識別子と対応付けて予め保持しておく。そして、入力認識部１１０４は、本機能拡張システム１００１の使用開始時にユーザ入力認識装置１００４にユーザの指紋の画像データを取得させる。そして、入力認識部１１０４は、取得した指紋の画像データと、予め保持している指紋の画像データとを照合し、本機能拡張システムを使用しているユーザを特定し、特定したユーザのユーザ識別子を取得すればよい。
【００５６】
また、ユーザにユーザ識別子を入力させる場合は、映像出力装置１００５にキーボードのグラフィックスを表示させ、そのグラフィックスを通じてユーザにユーザ識別子を入力させてもよい。或いは、本機能拡張システムに物理的なキーボードを設け、このキーボードを操作することで、ユーザ識別子を入力させてもよい。なお、入力認識部１１０４は、取得したユーザ識別子を操作判定部１１０６に通知する。
【００５７】
選択判定部１１０５は、オブジェクト認識部１１０１により認識された各物体の現実空間での位置と、入力認識部１１０４により認識された現実空間での入力位置とに基づいて、オブジェクト認識部１１０１により認識された各物体のうち、ユーザが操作対象として選択した選択物体を判定する。
【００５８】
具体的には、選択判定部１１０５は、３Ｄモデル管理部１１０２から各物体の位置データと物体識別子とが対応付けられた物体情報Ｄ５が通知されて、供給された物体情報Ｄ５から各物体の現実空間での位置を認識する。そして、選択判定部１１０５は、入力認識部１１０４から通知されたユーザの現在の入力位置に対して重なって位置する物体を選択物体として判定する。ここで、選択判定部１１０５は、入力位置に対して所定範囲内に物体が位置する場合、その物体が選択物体であると判定すればよい。また、入力位置に対して所定範囲内に複数の物体が存在する場合、入力位置に最も近い物体を選択物体として判定すればよい。そして、選択判定部１１０５は、選択物体の物体識別子を操作判定部１１０６に通知する。
【００５９】
なお、３Ｄモデル管理部１１０２を省いた場合、選択判定部１１０５は、オブジェクト認識部１１０１から、認識された各物体の現実空間の位置が通知される。そして、選択判定部１１０５は、オブジェクト認識部１１０１から通知された各物体の現実空間の位置と、入力認識部１１０４から通知された入力位置とからユーザが選択した選択物体を判定する。そして、選択判定部１１０５は、選択物体の物体識別子を操作判定部１１０６に通知する。
【００６０】
操作判定部１１０６は、入力認識部１１０４により認識された入力動作から、ユーザが選択物体に対して行った操作を判定する。ここで、操作判定部１１０６が判定する「操作」は、手の座標情報や、加速度情報ではなく、“なぞる”、“つかむ”、“たたく”といった人間の動作に意味付けされた操作情報である。
【００６１】
具体的には、操作判定部１１０６は、入力認識部１１０４から供給される手の動作を示す情報と、ユーザの「操作」とを対応付けた辞書情報を管理している。そして、操作判定部１１０６は、入力認識部１１０４から手の動作を示す情報が供給されると、辞書情報を参照し、手の動作を示す情報に対応する操作を判定する処理を行う。ここで、辞書情報は予め登録されたものであってもよいし、ユーザの手の動作の履歴から学習するものであってもよい。なお、ユーザの手の動作からユーザの操作を判定する技術としては、例えば、プライムセンス社のプライムセンサー用ソフトウェアであるＮＩＴＥ（Ｐｒｉｍｅ  Ｓｅｎｓｅ’ｓ  Ｎａｔｕｒａｌ  Ｉｎｔｅｒｆａｃｅ  Ｍｉｄｄｌｅｗａｒｅ）のジェスチャ認識機能が知られており、操作判定部１１０６は、この技術を用いてユーザの操作を判定すればよい。
【００６２】
そして、操作判定部１１０６は、ユーザの操作を判定すると、ユーザの操作と、選択判定部１１０５により判定された選択物体の物体識別子と、ユーザ識別子とを対応付けた処理依頼Ｄ６を、処理決定部１１０７に通知する。
【００６３】
処理決定部１１０７は、操作判定部１１０６から処理依頼Ｄ６が通知されると、その処理依頼Ｄ６に含まれる物体識別子（選択物体の物体識別子）及びユーザ識別子を取り出し、取り出した物体識別子及びユーザ識別子を、選択物体に設定された機能（操作及び処理の組）を問い合わせるための機能問い合わせ依頼Ｄ４として機能設定部１１０３に通知する。
【００６４】
なお、処理決定部１１０７は、選択判定部１１０５に選択物体の物体識別子を通知させることで選択物体を認識するようにしてもよい。
【００６５】
機能設定部１１０３は、機能問い合わせ依頼Ｄ４が通知されると、図４（Ａ）に示す機能設定情報を参照し、機能問い合わせ依頼Ｄ４を構成する物体識別子及びユーザ識別子から、この物体に対してユーザ毎に設定された機能を特定し、特定した機能に対応する機能対応情報Ｄ７（図３（Ｃ））を処理決定部１１０７に通知する。
【００６６】
そして、処理決定部１１０７は、機能設定部１１０３から通知された機能対応情報Ｄ７と、操作判定部１１０６から通知された処理依頼Ｄ６が示すユーザの操作とを照らし合わせ、選択物体に対して実行する処理を決定する。
【００６７】
ここで、処理決定部１１０７が決定した処理が物体に対してグラフィックスの重畳を伴う処理である場合には、処理決定部１１０７は、３Ｄモデル管理部１１０２に選択物体の物体識別子と、選択物体に対して重畳するグラフィックスの大きさ、形状、及び重畳位置を示すデータとが指定されたグラフィックスの重畳依頼Ｄ２を３Ｄモデル管理部１１０２に通知する。
【００６８】
これにより、物体に対する処理が視覚を通じてユーザにフィードバックされ、ユーザに対して操作感を付与することができる。
【００６９】
また、処理決定部１１０７が決定した処理が物体に対してグラフィックスの重畳に付随してユーザに触覚を付与する処理である場合、処理決定部１１０７は、触覚出力制御部１１１０に触覚出力依頼Ｄ８を通知する。これにより、物体に対する処理が視覚のみならず触覚も通じてユーザにフィードバックされ、ユーザに対してより刺激のある操作感を付与することができ、ユーザの好奇心をより高めることができる。
【００７０】
ここで、処理決定部１１０７は、グラフィックス重畳を伴う処理を決定した場合、３Ｄモデル管理部１１０２にグラフィックスの重畳依頼Ｄ２を通知するものとしたが、３Ｄモデル管理部１１０２が省かれている場合、グラフィックス生成部１１０８にグラフィックスの重畳依頼Ｄ２を通知してもよい。
【００７１】
この場合、グラフィックス生成部１１０８は、グラフィックスの重畳依頼Ｄ２が規定する情報から選択物体に重畳するグラフィックスを生成する。そして、グラフィックス生成部１１０８は、選択物体の映像データにおける位置データを３Ｄモデル管理部１１０２から取得し、描画依頼Ｄ９を映像出力制御部１１０９に出力すればよい。
【００７２】
また、本発明では、３Ｄモデル管理部１１０２に加えてグラフィックス生成部１１０８を省いてもよい。この場合、処理決定部１１０７は、選択物体に対して重畳するグラフィックスを生成し、生成したグラフィックスと、映像データにおける重畳位置とを対応付けたデータを描画依頼Ｄ９として映像出力制御部１１０９に出力し、選択物体にグラフィックスを重畳させればよい。
【００７３】
グラフィックス生成部１１０８は、３Ｄモデル管理部１１０２が管理する物体に重畳するグラフィックスを生成する。具体的には、グラフィックス生成部１１０８は、３Ｄモデル管理部１１０２からグラフィックス生成依頼Ｄ３が供給されると、グラフィックス生成依頼Ｄ３に含まれるグラフィックス生成情報に従ってグラフィックスを生成する。ここで、グラフィックス生成部１１０８は、例えば、グラフィックス生成情報に規定された選択物体の映像データにおける位置に生成したグラフィックスを表示するための描画依頼Ｄ９を映像出力制御部１１０９に出力する。
【００７４】
なお、本発明では、グラフィックス生成部１１０８を省いてもよい。この場合、処理決定部１１０７は、映像データに含まれる選択物体に重畳するグラフィックスを生成し、選択物体の映像データにおける位置に生成したグラフィックスを表示するための描画依頼Ｄ９を映像出力制御部１１０９に出力すればよい。
【００７５】
映像出力制御部１１０９は、処理決定部１１０７が決定した処理が選択物体へのグラフィックスの重畳を伴う処理である場合には、映像入力装置１００３が取得した映像データに表示された選択物体に、グラフィックス生成部１１０８が生成したグラフィックスが重畳された映像データを映像出力装置１００５に供給する。
【００７６】
また、映像出力制御部１１０９は、処理決定部１１０７が決定した処理が物体へのグラフィックスの重畳を伴わない処理である場合には、映像入力装置１００３により取得された映像データにグラフィックスを重畳することなく映像出力装置１００５に供給する。
【００７７】
触覚出力制御部１１１０は、処理決定部１１０７から通知された触覚出力依頼Ｄ８に従って、触覚出力装置１００６を動作させる。触覚出力依頼Ｄ８としては、例えば、触覚出力装置１００６を駆動するための電子信号が採用され、この電子信号が触覚出力装置１００６に所定時間供給され、触覚出力装置１００６は所定時間駆動して、ユーザに触覚を付与する。
【００７８】
以上が、機能拡張装置１００２が備える各構成についての説明である。
【００７９】
映像入力装置１００３は、例えば所定のフレームレートで現実空間の映像を撮影し、現実空間の映像データを取得し、取得した映像データを順次に機能拡張装置１００２に供給する。ここで、映像入力装置１００３としては、例えば３Ｄカメラ、深度センサーが挙げられる。
【００８０】
ユーザ入力認識装置１００４は、ユーザの動作を示す情報を取得し、機能拡張装置１００２に供給する。ユーザの動作を認識する装置としては、大きく、ユーザの手の動作を認識する３Ｄ位置推定デバイス、ユーザの視線の動作を認識するデバイス、ユーザの音声（言語）入力を認識するデバイス、及びユーザの脳波を認識するデバイス、ユーザの位置情報を認識するデバイスに大別される。
【００８１】
３Ｄ位置推定デバイスとしては、例えば、深度センサー、赤外線センサー、磁気センサー、超音波センサー、ステレオカメラ、及び加速度センサー等が挙げられる。深度センサーとしては、例えばＰａｎａｓｏｎｉｃ電工社のＤ−ＩＭａｇｅｒ（登録商標）、Ｍｉｃｒｏｓｏｆｉｔ社のＫＩＮＥＣＴ（登録商標）、プライムセンスのプライムセンサーなどが挙げられる。
【００８２】
加速度センサーとしては任天堂社のＷｉｉリモコン（登録商標）が挙げられる。また、ユーザの位置情報を認識するデバイスとしては、ＧＰＳが挙げられる。
【００８３】
本実施の形態では、ユーザ入力認識装置１００４として、３Ｄ位置推定デバイス、ユーザの視線の動きを認識するデバイス、ユーザの音声（言語）入力を認識するデバイス、及びユーザの脳波を認識するデバイス、及びユーザの位置情報を認識するデバイスのいずれを採用してもよいが、以下の説明では、ユーザの動作としてユーザの手の動作を認識する場合を例に挙げて説明するため、ユーザ入力認識装置１００４としては、深度センサーや３Ｄカメラが採用される。なお、図１では、映像入力装置１００３とユーザ入力認識装置１００４とを別のブロックで記述しているが、映像入力装置１００３とユーザ入力認識装置１００４とを深度センサー又は３Ｄカメラで構成する場合、両ブロックを同じ深度センサー又は３Ｄカメラで構成すればよい。
【００８４】
映像出力装置１００５は、機能拡張装置１００２が構築した映像を出力する。本実施の形態では、映像出力装置１００５として、例えばヘッドマウントディスプレイが採用される。
【００８５】
触覚出力装置１００６は、触覚出力制御部１１１０からの指示を受け、ユーザに触覚を付与する。具体的には、触覚出力装置１００６は、触覚出力制御部１１１０から出力される電子信号をユーザにとって知覚可能な物理的表現に変換する。ここで、物理的表現としては、例えば、振動が採用される。この場合、触覚出力装置１００６としてユーザの体に装着されるバイブレータを採用すればよい。バイブレータの装着箇所としては、例えば、ユーザの指先やユーザの腰の位置等が採用されるが、ユーザが触覚を体感できる箇所であればどのような箇所を採用してもよい。このように、バイブレータを触覚出力装置１００６としてユーザに装着させることで、ＨＭＤを装着して移動するユーザに対して確実に触覚を付与することができる。
【００８６】
なお、グラフィックスの重畳に付随してユーザに付与する物理現象としては触覚に限定されず、例えば音声を採用してもよい。この場合、ユーザの耳にイヤホンを装着させて、選択物体に対する処理が実行される際、処理決定部１１０７は、処理の実行を説明する音声信号をイヤホンに出力し、イヤホンから音声を出力させればよい。
【００８７】
記憶装置１００７は、例えば、不揮発性の記憶装置により構成され、機能設定部１１０３が物体に設定された機能（操作及び処理の組）、並びに、処理決定部１１０７が決定したデータを記録する。
【００８８】
図２は、図１に示す機能拡張システム１００１が、現実空間の物体を認識し、その物体の種別に合わせた機能を設定する処理、及び設定した機能を利用する処理の一例を模式的に示した図である。
【００８９】
拡張現実空間とは、ユーザがヘッドマウントディスプレイなどの出力デバイスを通して認識する仮想空間である。ヘッドマウントディスプレイを装備しないとき、ユーザは現実空間を認識し、ヘッドマウントディスプレイを装備したとき、ユーザは拡張現実空間を認識する。
【００９０】
図２（Ａ）は、現実空間の物体をオブジェクト認識し、オブジェクト認識した物体に機能を設定する処理の一例を模式的に示した図である。図２（Ａ）の左側の枠内の図は現実空間２００１を示している。現実空間内２００１には、例えば６個の物体２００１ａ〜２００１ｆが存在している。
【００９１】
図２（Ａ）の右側の枠内の図は、拡張現実空間２００２を示している。図２（Ａ）の例では、現実空間２００１における物体２００１ａ，２００１ｄ，２００１ｅがオブジェクト認識され、オブジェクト認識された物体２００１ａ，２００１ｄ，２００１ｅが拡張現実空間２００２に取り込まれ、それぞれに機能が設定されている。オブジェクト認識とは、機能拡張装置１００２が映像入力装置１００３により取得された映像データに現れる物体を認識することを意味する。
【００９２】
本実施の形態では、例えば、物体の種別、大きさ、ユーザへの問い合わせ結果等に基づいて、その物体に適した機能を設定する。例えば、物体２００１ａは、種別が「本」であるため、拡張現実空間２００２において、「読書履歴記録機能」が設定されている。
【００９３】
また、物体２００１ｄは、種別が「缶」であるため、拡張現実空間２００２において、「色変更機能」が設定されている。この場合、ユーザが例えば缶を開ける前は青、缶を開けた後は赤というように缶にグラフィックスが重畳表示される。
【００９４】
また、物体２００１ｅは、種別が「地球儀」であるため、拡張現実空間２００２において、「検索機能」が設定されている。この場合、ユーザが地球儀上に記載されたある場所に指を接触させると、その場所についての情報が拡張現実空間２００２内に表示される。
【００９５】
図２（Ｂ）は、オブジェクト認識された物体に設定された機能を利用する処理の一例を模式的に示した図である。図２（Ｂ）の左側の枠内の図は現実空間２１０１を示し、右側の枠内の図は拡張現実空間２１０２を示している。
【００９６】
図２（Ｂ）の右側に示す拡張現実空間２１０２に示すように、機能が設定された物体２００１ａ，２００１ｄ，２００１ｅには機能が設定されていることをユーザに対して視覚的に示すための視覚効果が施されている。したがって、ユーザは、物体に視覚効果が施されている場合、その物体には機能が設定されていることを認識し、その機能を利用することができる。
【００９７】
図２（Ｂ）の例では、物体２００１ａ，２００１ｄ，２００１ｅに対して機能が設定されており、そのことをユーザに視覚的に認識させるために、物体２００１ａ，２００１ｄ，２００１ｅの輝度が現実空間２１０１の輝度よりも高く設定されている。
【００９８】
なお、本実施の形態による機能拡張装置１００２が、現実世界における物体を認識し、その物体に適した機能を設定する処理、及び、物体に設定した機能を利用する処理は、この例に限定しない。
【００９９】
図３は、機能設定部１１０３が保持する機能情報の一例を模式的に示した図である。図３の例では、機能情報は、上位の層から順に、（Ａ）に示す「機能カテゴリ候補情報」、（Ｂ）に示す「機能一覧情報」、及び（Ｃ）に示す「機能対応情報」からなる３層の階層構造を持つ。
【０１００】
「機能カテゴリ候補情報」は、物体の種別ごと設定可能な機能カテゴリの候補を保持する。「機能一覧情報」は、各々の機能カテゴリが備える機能の一覧を保持する。「機能対応情報」は、（Ｂ）に示す機能のそれぞれに対して規定された、操作及び処理の組を保持する。
【０１０１】
図３（Ａ）に示す機能カテゴリ候補情報は、列３００１〜３００４を持つ。列３００１には、機能カテゴリの識別子が格納されている。列３００２には、機能カテゴリが格納されている。列３００３には、各機能カテゴリに対して設定可能な物体の種別が格納されている。列３００４には、各機能カテゴリに対応する機能一覧情報を参照するためのポインタが格納されている。
【０１０２】
図３（Ｂ）に示す機能一覧情報は、図３（Ａ）の行３０１１に格納された機能カテゴリが「書込み履歴の記録」に対する機能一覧情報である。図３（Ｂ）の例では、機能一覧情報は、列３１０１〜３１０３及び行３１１１〜３１１３を持つ。
【０１０３】
列３１０１には、機能の識別子が格納されている。列３１０２には、各機能がデフォルト機能であるかカスタマイズ機能であるかを示す情報が格納されている。ここで、デフォルト機能は、列３００３に記載される物体種別に該当する物体に対して予め設定されている機能である。
【０１０４】
カスタマイズ機能１、２は、機能拡張システム１００１を利用するユーザによって選択された操作及び処理、物体の特徴（形状及び大きさ）に適すると判定されて設定された操作及び処理、或いは、機能拡張システム１００１を構成する装置の性能から選択可能な操作及び処理等のデフォルト機能とは異なる操作及び処理の組から構成されている。列３１０３には、各機能に対応する機能対応情報を参照するためのポインタが格納されている。
【０１０５】
図３（Ｃ）に示す機能対応情報は、図３（Ｂ）の機能一覧情報に挙げられた各機能を構成する操作及び処理の組を規定する。
【０１０６】
図３（Ｃ）の例では、図３（Ａ）に示す機能カテゴリが「書込み履歴の記録」のデフォルト機能を構成する一連の操作と処理との組を規定する機能対応情報が示されている。機能対応情報は、列３２０１，３２０２を持つ。列３２０１には、ユーザが行う操作を規定する情報が格納されている。列３２０２には、各操作に対応する処理の内容が格納されている。
【０１０７】
例えば、オブジェクト認識部１１０１が、種別が“本”の物体を認識すると、機能設定部１１０３は、図３（Ａ）の機能カテゴリ候補情報を参照して、“本”に対しては識別子が“Ａ”の“書き込み履歴の記録”及び識別子が“Ｔ”の“種別表示”が機能として設定可能であると判断する。
【０１０８】
図３（Ｂ）の機能一覧情報が示すように、“書き込み履歴の記録”に対しては、識別子が“Ａ−ａ”の“デフォルト機能”と、識別子が“Ａ−ｂ”の“カスタマイズ機能１”と、識別子が“Ａ−ｃ”の“カスタマイズ機能２”とが選択可能である。ここで、特に指定のない場合には、“デフォルト機能”が選択され、図３（Ｃ）の機能対応情報に示す操作及び処理が“本”の物体の機能として設定される。
【０１０９】
そして、操作判定部１１０６が“なぞる”の操作がユーザにより入力されたと認識すると、処理決定部１１０７は、図３（Ｃ）に示す機能対応情報を参照し、“なぞる”の操作に対応する処理である“アンダーラインを引く”の処理を決定する。これにより、グラフィックス生成部１１０８は、拡張現実空間の本において、ユーザが指をなぞった箇所を示すアンダーラインのグラフィックスを生成し、映像出力装置１００５は、そのアンダーラインのグラフィックスを拡張現実空間の本に重畳表示する。これにより、ユーザは拡張現実空間において、本にアンダーラインを引くことができる。
【０１１０】
図４（Ａ）は、機能設定部１１０３が、オブジェクト認識部１１０１によりオブジェクト認識された各物体に対して設定した機能を示す機能設定情報の一例を示す図である。機能設定情報は、オブジェクト認識されて拡張現実空間に取込まれた物体と、その物体に設定された機能とを対応付けて記憶している。
【０１１１】
機能設定情報は、列４００１〜４００５を備える。列４００１には、オブジェクト認識された物体の物体識別子“ＯｂｊｅｃｔＩＤ”が格納されている。列４００２には、オブジェクト認識された各物体の種別が格納されている。列４００３には、オブジェクト認識された各物体に設定された機能カテゴリの識別子が格納されている。列４００４には、オブジェクト認識された各物体に設定された機能の識別子が格納されている。ここでは、簡単のため、ハイフン以下が“―ａ”の識別子はデフォルト機能を示し、ハイフン以下が“―ｂ”の識別子はカスタマイズ機能を示すものとする。列４００５には、オブジェクト認識された各物体に設定された機能がどのユーザに関するものであるかを示すユーザ識別子が格納されている。
【０１１２】
行４０１１〜４０１８は、それぞれ、オブジェクト認識された各物体に対応するレコードを示す。ここでは、同一の物体であっても、複数のユーザが異なる機能を設定している場合は、ユーザごとに行が分けられている。
【０１１３】
図４（Ｂ）は、本発明の実施の形態による機能拡張装置１００２が、オブジェクト認識した物体に対して設定した機能の一例を模式的に示した図である。
【０１１４】
図４（Ｂ）に示す枠内の図は、拡張現実空間４１０１において、オブジェクト認識された物体を示している。物体２００１ａ〜２００１ｆは、映像入力装置１００３が取得した映像データに含まれる物体である。物体２００１ａ〜２００１ｆはオブジェクト認識され、物体識別子（ＯｂｊｅｃｔＩＤ）ＩＤ１〜ＩＤ６が付与されている。
【０１１５】
物体２００１ａは、ＯｂｊｅｃｔＩＤが「ＩＤ１」、種別が「本」の物体である。そして、物体２００１ａは、拡張現実空間４１０１において、例えば「書き込み履歴の記録」の機能が設定されている。物体２００１ｄは、ＯｂｊｅｃｔＩＤが「ＩＤ５」、種別が「缶」の物体である。そして、物体２００１ｄは、拡張現実空間４１０１において、例えば「色変更機能」が設定されている。物体２００１ｅは、ＯｂｊｅｃｔＩＤが「ＩＤ６」、種別が「地球儀」の物体である。そして、物体２００１ｅは、拡張現実空間４１０１において、例えば「検索機能」が設定されている。
【０１１６】
機能拡張システム１００１が、オブジェクト認識した物体に機能を設定する処理は、この例に限定されない。また、機能を設定する処理については図６のフローチャートを用いて後述する。
【０１１７】
図５は、本発明の実施の形態による機能拡張装置１００２において実行される初期化処理の一例を示すフローチャートである。まず、機能設定部１１０３は、図３に示す予め作成された機能情報を保持する（Ｓ５００１）。ここで、機能情報は記憶装置１００７に予め記憶されており、例えば、機能拡張装置１００２の電源がユーザにオンされると、機能設定部１１０３は、記憶装置１００７から機能情報を読み出し、図略のＲＡＭ等に格納することで、機能情報を保持する。
【０１１８】
なお、機能設定部１１０３は、機能拡張装置１００２に対して通信ネットワークを介して接続されたサーバから随時、最新の機能情報を取り込むようにしてもよい。この場合、図１に示す機能拡張装置１００２の通信部１００８を用いればよい。通信部１００８は、機能拡張装置１００２を通信ネットワークＮＴに接続するための通信装置により構成されている。通信ネットワークＮＴとしては、例えばインターネットが採用されている。
【０１１９】
サーバ１００９（外部判定装置の一例）は、例えば、機能拡張システム１００１を管理する管理者により所持され、オペレータによって随時、作成された最新の機能情報を保持している。そして、機能拡張装置１００２の電源がオンされると、サーバ１００９に対して機能情報の取り込み要求を送信する。そして、サーバ１００９は、機能情報の取り込み要求を受信すると、機能取り込み要求を送信した機能拡張システム１００１に最新の機能情報を送信する。通信部１００８は、機能情報を受信すると、その機能情報を機能設定部１１０３に供給する。
【０１２０】
これにより、機能設定部１１０３は、常に最新の機能情報を用いて、オブジェクト認識した物体に対して機能を設定することができる。そのため、オブジェクト認識された物体に対して不要な機能が設定されることを防止することができる。
【０１２１】
図６は、本発明の実施の形態による機能拡張装置１００２が物体をオブジェクト認識し、オブジェクト認識した物体に対して機能を設定する処理の一例を示すフローチャートである。
【０１２２】
まず、オブジェクト認識部１１０１は、映像入力装置１００３により取得された現実空間の映像データに含まれる物体を認識し、認識した物体の種別、形状、大きさ、及び現実空間の位置を３Ｄモデル管理部１１０２に通知する（Ｓ６００１）。なお、３Ｄモデル管理部１１０２を省いた場合、オブジェクト認識部１１０１は、認識した物体に対して物体識別子を付与し、物体識別子、並びに認識した各物体の種別、形状、大きさ、及び現実空間の位置を物体認識通知Ｄ１として機能設定部１１０３に通知すればよい。
【０１２３】
ここで、物体の形状を示すデータとしては、例えば、物体の特徴点の配置パターンを示すデータを採用すればよい。また、物体の大きさを示すデータとしては、物体の輪郭内の面積を採用すればよい。また、現実空間の位置としては、機能拡張システム１００１を基準としたときの物体の位置を示す３次元データを採用すればよい。
【０１２４】
３Ｄモデル管理部１１０２は、オブジェクト認識部１１０１が認識した物体の種別、形状、大きさ、及び位置に対して、物体識別子を付与して、物体毎の３Ｄ立体視モデルを生成する（Ｓ６００２）。そして、３Ｄモデル管理部１１０２は、生成した各３Ｄ立体視モデルを保持すると共に、物体認識通知Ｄ１として機能設定部１１０３に通知する。
【０１２５】
なお、３Ｄモデル管理部１１０２を省いた場合、オブジェクト認識部１１０１が機能設定部１１０３に物体認識通知Ｄ１を通知すればよい。
【０１２６】
次に、機能設定部１１０３は、認識した物体に対応するオブジェクトクラスのインスタンスが存在しない場合には、オブジェクトクラスのインスタンスを生成して保存する（Ｓ６００３）。
【０１２７】
ここで、オブジェクトクラスとは、認識した物体の“物体識別子”、“種別”、“設定された機能”、“設定したユーザ”、及び“機能設定実施済みフラグ”が定義されたクラスである。また、イスタンスとは、認識された各物体の“物体識別子”、“種別”、“設定された機能”、“設定したユーザ”、及び“機能設定実施済みフラグ”を規定するインスタンスである。
【０１２８】
次に、機能設定部１１０３は、インスタンスの“機能設定実施済みフラグ”がＯＦＦかＯＮかを判定する（Ｓ６００４）。
【０１２９】
Ｓ６００４において、“機能設定実施済みフラグ”がＯＦＦのインスタンスが存在する場合（Ｓ６００４でＹＥＳ）、すなわち、機能が設定済でない物体が存在する場合、機能設定部１１０３は、図３（Ａ）に示す機能カテゴリ候補情報を参照して、認識された物体の種別から、当該物体に対して設定可能な機能カテゴリの候補を検索する（Ｓ６００５）。図３（Ａ）の例では、種別が本の物体について、設定可能な機能カテゴリの候補は、識別子が“Ａ”の“書き込み履歴の記録”と、識別子が“Ｔ”の“種別表示”となる。
【０１３０】
一方、Ｓ６００４において、全てのインスタンスの“機能設定済みフラグ”がＯＮである場合（Ｓ６００４でＮＯ）、すなわち、全ての物体について機能が設定済である場合、処理を終了する。
【０１３１】
次に、機能設定部１１０３は、検索した設定可能な機能カテゴリの候補の中から一つの機能カテゴリの候補を選択する（Ｓ６００６）。図３（Ａ）の例において、種別が本の物体は、設定可能な機能カテゴリの候補が、“書き込み履歴の記録”及び“種別表示”である。そのため、機能設定部１１０３は、まず、上側の行に格納された“書込み履歴の記録”を選択し、次に、“種別表示”を選択するというように、図３（Ａ）に示す機能カテゴリの候補を上から順に選択する。
【０１３２】
次に、機能設定部１１０３は、選択した機能カテゴリに定義された一連の操作及び処理のうち、いずれの操作及び処理を該当する物体に設定するか否かを決定する（Ｓ６００７）。
【０１３３】
以下に、機能設定部１１０３が操作及び処理を決定する方法の例を３つ記載する。
【０１３４】
（方法１）
方法１は、認識した物体の形状、大きさ、及び機能拡張システム１００１のスペックから、当該物体に適合する操作及び機能を決定する方法である。
【０１３５】
具体的には、以下のような（例１−ａ）〜（例１〜ｄ）が挙げられる。
【０１３６】
（例１−ａ）
機能設定部１１０３は、操作判定部１１０６が文字を認識する機能を持つか持たないかに応じて、“書く”についての操作を機能として設定するか否かを判定する。例えば、操作判定部１１０６が、ユーザの“なぞる”の動作を認識することはできるが、認識した“なぞる”の動作からユーザが入力した文字を認識する機能を持たない場合もある。この場合、図３（Ｃ）に示す“書く”の操作を機能として設定しても無駄である。そこで、機能設定部１１０３は、操作判定部１１０６が文字認識機能を持たない場合、“書く”の操作を機能として設定しない。
【０１３７】
例えば、種別が本の物体において、機能設定部１１０３は、以下の処理を行う。まず、機能設定部１１０３は、“書込み履歴の記録”のデフォルト機能に対応する機能対応情報（図３（Ｃ））を参照する。そして、機能設定部１１０３は、“書く”についての操作を省くと決定すると、デフォルト機能の機能対応情報の中から“書く”についての操作及び処理を規定する行３２１４を削除する。そして、機能設定部１１０３は、行３２１４が削除された機能対応情報をカスタマイズ機能１として生成し、カスタマイズ機能１を本に対応付ける。具体的には、機能設定部１１０３は、カスタマイズ機能１に識別子“Ａ−ｂ”を付与してカスタマイズ機能１の機能対応情報を生成して保存し、識別子“Ａ−ｂ”を本のインスタンスの“設定された機能”に書き込む。これにより、カスタマイズ機能１の機能対応情報で規定された一連の操作及び処理が本の機能として設定される。
【０１３８】
（例１−ｂ）
機能設定部１１０３は、物体の大きさから図３（Ｃ）に示す“文字記入”の処理を機能として設定するか否かを判定する。例えば、オブジェクト認識部１１０１が認識した物体が本である場合、大きな本であればユーザは文字を書き込むが、小さな本であればユーザは文字を書き込まない。この場合、機能設定部１１０３は、物体の大きさが規定値より小さい場合、この物体に対して“文字記入”の処理を設定しない。
【０１３９】
例えば、種別が本の物体において、機能設定部１１０３は、以下の処理を行う。まず、機能設定部１１０３は、“書込み履歴の記録”のデフォルト機能に対応する機能対応情報（図３（Ｃ））を参照する。そして、機能設定部１１０３は、“文字記入”についての処理を省くと決定すると、デフォルト機能の機能対応情報の中から“文字記入”についての操作及び処理を規定する行３２１４を削除する。そして、機能設定部１１０３は、行３２１４が削除された機能対応情報をカスタマイズ機能１として生成し、カスタマイズ機能１を本に対応付ける。
【０１４０】
（例１−ｃ)
機能設定部１１０３は、記憶装置１００７の容量やアクセス制限機能の有無から、“書き込み履歴の記録”を機能として設定するか否か判断する。例えば、記憶装置１００７の容量が小さい場合や記憶装置１００７のアクセスに制限が加えられている場合、記憶装置１００７は、ユーザの書き込み履歴を記憶することができない。この場合、“書き込み履歴の記録”を物体の機能として設定しても無駄である。
【０１４１】
そこで、機能設定部１１０３は、記憶装置１００７の容量が規定値より小さい場合又は記憶装置１００７にアクセス制限が掛けられている場合、“書き込み履歴の記録”を機能として設定しない。
【０１４２】
例えば、種別が本の物体において、機能設定部１１０３は、“書き込み履歴の記録”の機能を本に対して設定しないと判定した場合、本の物体識別子に対して“書き込み履歴の記録”の識別子“Ａ”を対応づけない。これにより、本に対して“書き込み履歴の記録”が規定する全ての操作及び処理が設定されない。
【０１４３】
（例１−ｄ）
例えば、物体として椅子を考える。椅子には、回転式の椅子と固定式の椅子とが存在する。固定式の椅子の形状は、脚が４本であることが一般的である。回転式の椅子は、脚が一本であることが一般的である。固定式の椅子に対してユーザは“回転”の操作は行わない。この場合、固定式の椅子に対して“回転”の操作を機能として設定しても無駄である。
【０１４４】
そこで、機能設定部１１０３は、オブジェクト認識部１１０１が認識した物体が、椅子であり、形状が４本の脚を持つ場合、“回転”についての操作及び処理を椅子に対して設定しない。
【０１４５】
例えば図３（Ｃ）に示すデフォルト機能を示す機能対応情報において、回転についての操作及び処理が規定されていたとする。この場合、機能設定部１１０３は、種別が椅子、で形状が４本の脚を持つ物体に対して、“回転”についての操作及び処理を規定する行を機能対応情報から削除したものをカスタマイズ機能１として生成する。そして、生成したカスタマイズ機能１の識別子を椅子の物体識別子と対応付ける。
【０１４６】
（方法２）
方法２は、機能拡張システム１００１を管理する管理者が認識した各物体に対して機能を設定する方法である。具体的には、機能設定部１１０３は、認識された各物体について、設定可能な操作及び処理の判定処理をサーバ１００９に依頼する。すると、サーバ１００９は、判定処理が依頼された物体について操作及び処理を判定し、判定した操作及び処理を含む判定結果を機能拡張システム１００１に送信する。なお、管理者としては、機能拡張システム１００１の製造者や機能拡張システム１００１にアプリケーションを提供する提供者や、機能拡張システム１００１の管理サービスを行うサービス提供者が該当する。
【０１４７】
そして、機能設定部１１０３は、サーバ１００９の判定結果が示す操作及び処理を判定依頼を行った物体に対する機能として設定する。
【０１４８】
ここで、サーバ１００９は、上述した方法１と同じ手法を用いて、判定処理を行う。つまり、サーバ１００９は、図３に示す機能情報を保持しており、判定依頼を受信すると、機能情報を参照して、判定依頼がされた物体の操作及び処理を決定する。ここで、判定依頼には、物体識別子、形状、大きさ、機器情報等を含ませる。そして、サーバ１００９は、判定依頼に含まれる物体識別子、形状、大きさ、及び機器情報から操作及び処理を決定すればよい。なお、機器情報としては、操作判定部１１０６が文字認識機能を持つか否か、及び記憶装置１００７の記憶容量等の情報が含まれる。
【０１４９】
（方法３）
方法３は、ユーザに設定可能な操作及び処理を提示し、提示した操作及び処理の中から希望する操作及び処理を選択させる方法である。具体的には、オブジェクト認識部１１０１により種別が本の物体が認識されたとすると、機能設定部１１０３は、本のデフォルト機能に対応する機能対応情報に規定される操作及び処理（図３（Ｃ））をユーザに提示する。
【０１５０】
この場合、機能設定部１１０３は、図３（Ｃ）に示す操作及び処理を表示するための表示依頼をグラフィックス生成部１１０８に通知して、図３（Ｃ）に示す操作及び処理をリスト表示するグラフィックスを映像出力装置１００５に表示させればよい。
【０１５１】
ユーザは、映像出力装置１００５にリスト表示された操作及び処理の中から希望する操作及び処理を選択する選択指令をユーザ入力認識装置１００４に入力する。すると、機能設定部１１０３は、ユーザにより選択された操作及び処理から構成される機能対応情報をカスタマイズ機能１として生成し、カスタマイズ機能１を操作及び処理を選択したユーザのユーザ識別子とを本に対応付ける。
【０１５２】
ここで、既にあるユーザによってカスタマイズ機能１が対応付けられた物体と同一の物体（物体識別子が同一の物体）に対して、別のユーザが操作及び処理を選択することもある。この場合、機能設定部１１０３は、別のユーザが選択した操作及び処理から構成される機能対応情報をカスタマイズ機能２として生成し、別のユーザのユーザ識別子と、カスタマイズ機能２とを物体に対応付ければよい。これにより、同一の物体であっても、当該物体に対してユーザ別に機能を設定することができる。以上により、各物体に適した機能が設定される。
【０１５３】
図６に戻り、機能設定部１１０３は、設定可能な機能カテゴリの候補をすべて選択したか否かを判定する（Ｓ６００８）。そして、設定可能な機能カテゴリを全て選択した場合（Ｓ６００８でＹＥＳ）、機能設定部１１０３は、設定すると決定した機能をオブジェクトクラスのインスタンスに設定し、“機能設定実施済みフラグ”をＯＮに設定する（Ｓ６００９）。一方、機能設定部１１０３は、設定可能な機能カテゴリを全て選択していない場合（Ｓ６００８でＮＯ）、処理をＳ６００６に戻し、処理を継続する。
【０１５４】
つまり、機能設定部１１０３は、認識された全ての物体のインスタンスの“機能実施済みフラグ”がＯＮになるまでＳ６００６〜Ｓ６００８の処理を繰り返し、処理を終了する。
【０１５５】
例えば、本については、図３（Ａ）において、まず“書き込み履歴の記録”が選択される。そして、“書き込み履歴の記録”について、方法１〜方法３のいずれかを用いて機能対応情報が生成されると、次に、“種別表示”が選択され、“種別表示”について、方法１〜方法３のいずれかを用いて機能対応情報が生成される。なお、図３では、“種別表示”に対応する機能対応情報は示されていないが、図３（Ｃ）に示すようなデフォルトの機能対応情報を持っている場合、機能設定部１１０３は、そのデフォルトの機能対応情報を用いて機能対応情報を生成すればよい。
【０１５６】
図７は、本発明の実施の形態による機能拡張装置１００２が、ユーザの操作を認識し、物体に設定された機能を実行する際の処理の一例を示すフローチャートである。
【０１５７】
入力認識部１１０４は、ユーザ入力認識装置１００４により取得されたユーザの手の動作を示す情報からユーザの入力動作及び入力位置を認識し、入力位置を選択判定部１１０５に通知し、かつ、手の動作を示す情報を操作判定部１１０６に通知する(Ｓ７００１)。
【０１５８】
次に、選択判定部１１０５は、入力認識部１１０４から通知された入力位置と、３Ｄモデル管理部１１０２から通知された物体情報Ｄ５とから、ユーザが選択した選択物体を判定する(Ｓ７００２)。
【０１５９】
次に、操作判定部１１０６は、入力認識部１１０４から通知されたユーザの手の動作を示すからユーザの操作を判定する(Ｓ７００３)。
【０１６０】
次に、処理決定部１１０７は、選択物体に対して設定された機能を問い合わせるための機能問い合わせ依頼Ｄ４を機能設定部１１０３に通知し（Ｓ７００４）、当該物体に対して設定された機能を取得する。
【０１６１】
具体的には、機能設定部１１０３は、まず、図４に示す機能設定情報を参照し、選択物体に対して設定されている機能を特定する。例えば、機能問い合わせ依頼Ｄ４に含まれる物体識別子が“ＩＤ１”であり、現在、機能選択システムを使用しているユーザがＡさんであったとする。この場合、機能設定部１１０３は、図４に示す行４０１１を参照する。すると、行４０１１の列４００４に機能の識別子として“Ａ−ａ”が格納されている。つまり、機能問い合わせ依頼Ｄ４に係る本に対して“書き込み履歴の記録”のデフォルト機能が設定されている。
【０１６２】
よって、機能設定部１１０３は、機能の識別子“Ａ−ａ”に対応する機能対応情報（図３（Ｃ）参照）を処理決定部１１０７に通知する。これにより、処理決定部１１０７は、選択物体である本に対して設定された機能を取得する。
【０１６３】
次に、処理決定部１１０７は、取得した機能を参照し、操作判定部１１０６により判定された操作に対応する処理を決定する(Ｓ７００５)。例えば、ユーザにより入力された操作が“なぞる”であったとすると、処理決定部１１０７が図３（Ｃ）に示す機能対応情報を参照し、“なぞる”の操作に対応する“アンダーラインを引く”の処理を決定する。
【０１６４】
次に、処理決定部１１０７は、決定した処理がグラフィックス重畳を伴うものであるか否かを判定する(Ｓ７００６)。ここで、処理がグラフィックス重畳を伴うか否かの判定は、決定した処理の内容から判定すればよい。例えば、図３（Ｃ）の例では、“前回までの書き込み履歴を表示する”、“アンダーラインを引く”、“文字を記入”の処理は、グラフィックスの重畳を伴う処理である。したがって、処理決定部１１０７は決定した処理が上記の処理に該当する場合は、グラフィックスの重畳を伴う処理であると判定する。
【０１６５】
そして、決定した処理がグラフィックスの重畳を伴う場合（Ｓ７００６でＹＥＳ）、処理決定部１１０７は、グラフィックスの大きさ、形状、及び重畳位置を含むグラフィックスの重畳依頼Ｄ２を３Ｄモデル管理部１１０２に通知する（Ｓ７００７）。
【０１６６】
次に、３Ｄモデル管理部１１０２は、通知されたグラフィックスの重畳依頼Ｄ２をグラフィックス生成情報として生成し、このグラフィックス生成情報をグラフィックス生成依頼Ｄ３としてグラフィックス生成部１１０８に通知する（Ｓ７００８）。
【０１６７】
次に、グラフィックス生成部１１０８は、グラフィックス生成依頼Ｄ３に従って、グラフィックスを生成し（Ｓ７００９）、描画依頼Ｄ９を映像出力制御部１１０９に通知する。次に、映像出力制御部１１０９は、描画依頼Ｄ９に従って、映像データに表示された選択物体にグラフィックス生成部１１０８により生成されたグラフィックスを重畳し（Ｓ７０１０）、映像出力装置１００５に供給する。Ｓ７００６において、処理がグラフィックスの重畳を伴うものでは無い場合（Ｓ７００６でＮＯ）、処理がＳ７０１１に進められる。
【０１６８】
なお、３Ｄモデル管理部１１０２及びグラフィックス生成部１１０８を省いた場合、Ｓ７００７〜Ｓ７００９において、処理決定部１１０７が選択物体に重畳するグラフィックスを生成し、生成したグラフィックスと重畳位置とを示す描画依頼Ｄ９を映像出力制御部１１０９に通知すればよい。
【０１６９】
次に、処理決定部１１０７は、決定した処理が、操作／利用状況の記録を含むか否かを判定する（Ｓ７０１１）。そして、決定した処理が操作／利用状況の記録を含むと判定した場合（Ｓ７０１１でＹＥＳ）、処理決定部１１０７は、操作／利用状況を記憶装置１００７に記録し（Ｓ７０１２）、処理を終了する。ここで、操作／利用状況の記録を含む処理としては、例えば図３（Ｃ）に示す“書き込み履歴を記録開始”及び“書き込み履歴を記録終了”の処理が該当する。
【０１７０】
処理決定部１１０７は、“書き込み履歴を記録開始”の処理を決定すると、ユーザにより入力された文字の記録を開始する。以後、ユーザにより文字が入力される都度、その文字が記憶装置１００７に格納される。そして、処理決定部１１０７は、“書き込み履歴を記録終了”の処理を決定すると、文字の記憶装置１００７への格納を終了する。
【０１７１】
一方、決定した処理が、操作／利用状況の記録を含まない場合（Ｓ７０１１でＮＯ）、Ｓ７０１２をスルーして処理が終了される。
【０１７２】
このように、本実施の形態における機能拡張装置１００２によれば、オブジェクト認識された物体に、固定の機能を設定するのではなく、その物体の種別に適した機能が動的に設定される。
【０１７３】
そのため、各物体に対して個別に機能を設定しなくても、物体に対して機能を設定することができる。したがって、機能が全く設定されていない現実空間をユーザが移動したとしても、当該物体に対して機能を設定することができる。
【０１７４】
なお、図１に記載の全ブロックをヘッドマウントディスプレイに搭載してもよいし、一部のブロックをヘッドマウントディスプレイに搭載し、他のブロックを集積回路等により構成し、ヘッドマウントディスプレイに外付けさせてもよい。
【０１７５】
また、上述した本発明の実施の形態にかかる機能拡張装置の処理手順は、記憶装置（ＲＯＭ、ＲＡＭ、ハードディスク等）に格納された上述した処理手順を実行可能な機能拡張プログラムが、ＣＰＵによって解釈実行されることで実現されてもよい。この場合、機能拡張プログラムは、記憶媒体を介して記憶装置内に導入されてもよいし、記憶媒体上から直接実行されてもよい。なお、記憶媒体は、ＲＯＭやＲＡＭやフラッシュメモリ等の半導体メモリ、フレキシブルディスクやハードディスク等の磁気ディスクメモリ、ＣＤ−ＲＯＭやＤＶＤやＢＤ等の光ディスクメモリ、及びメモリカード等をいう。また、記憶媒体は、電話回線や搬送路等の通信媒体を含む概念である。
【０１７６】
また、上述した本発明の実施形態に係る機能拡張装置の各構成は、それぞれ集積回路であるＬＳＩとして実現することができる。これらは、個別に１チップ化されてもよいし、それぞれにおいて全てまたは一部を含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１７７】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応例が可能性としてありえる。
【０１７８】
上記の機能拡張装置の技術的特徴は以下のようにまとめることができる。
【０１７９】
（１）機能拡張装置は、現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張装置であって、映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識部と、物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識部により物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定部と、前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識部と、前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識部が認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定部と、前記入力認識部が認識した入力動作を用いて、ユーザの操作を判定する操作判定部と、前記選択判定部が選択した選択物体に対して、前記機能設定部により設定された機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する処理決定部と、前記処理決定部が決定した処理を実行する実行部とを備える。
【０１８０】
この構成によれば、物体の種別ごとに設定可能な操作及び処理から構成される機能を規定する機能情報が予め保持されている。そして、映像入力装置により取得された現実空間の映像データから、映像データに含まれる各物体が認識されると、機能情報が参照され、認識された各物体に対して、各物体の種別を指標として機能が設定される。
【０１８１】
そして、ユーザが入力動作を行うとその入力動作と入力動作が行われた現実空間での入力位置とが認識される。そして、認識された各物体の現実空間での位置と認識された入力位置とに基づいて、認識された各物体の中から、ユーザが操作対象として選択した選択物体が判定される。そして、入力動作からユーザの操作が判定され、その操作に対応する処理が決定され、決定された処理が選択物体に対して実行される。
【０１８２】
したがって、認識された物体に対して適した機能を動的に設定することができる。そのため、各物体に対して予め機能を設定しておかなくても、各物体に対して機能を設定することができる。
【０１８３】
（２）前記オブジェクト認識部は、認識した物体ごとに当該物体の種別を識別し、前記機能設定部は、種別が同一の物体であっても物体ごとに機能を設定することが好ましい。
【０１８４】
例えば、種別が同一であっても、大きさや性能が異なる物体に対して、全く同一の機能を設定すると、不要な機能が物体に対して設定される虞がある。そこで、種別が同一の物体であっても物体ごとに個別に機能を設定することで、不要な機能が物体に対して設定されることをより確実に防止することができる。
【０１８５】
（３）前記入力認識部は、入力動作を行ったユーザを識別するためのユーザ識別子を取得し、前記機能設定部は、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理の候補をユーザに提示し、ユーザにより選択された操作及び処理を当該物体の機能として設定し、設定した機能を、前記ユーザ識別子と対応付けて保持し、前記処理決定部は、前記機能設定部が前記ユーザ識別子を持つユーザに対して設定した機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定することが好ましい。
【０１８６】
この構成によれば、同一の物体であってもユーザの好みに合わせて、ユーザ別に機能を設定することができる。
【０１８７】
（４）前記機能設定部は、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理を判定し、判定した操作及び処理を当該物体の機能として設定することが好ましい。
【０１８８】
この構成によれば、物体の種別から定められる一連の操作及び処理のうち、物体別に適した操作及び処理を機能として設定することができ、各物体に対してより適した機能を設定することができる。
【０１８９】
（５）前記オブジェクト認識部は、物体の形状及び大きさを認識し、前記機能設定部は、前記オブジェクト認識部が認識した物体の形状及び大きさの少なくともいずれか一方に基づいて、当該物体に設定可能な操作及び処理を判定することが好ましい。
【０１９０】
この構成によれば、物体の形状及び大きさの少なくともいずれか一方に基づいて、物体に適した操作及び処理から構成される機能を設定することができる。
【０１９１】
（６）前記機能設定部は、前記機能拡張装置の能力及び前記機能拡張装置に接続される周辺装置の能力に基づいて、前記オブジェクト認識部により認識された物体に対して、設定可能な操作及び処理を判定することが好ましい。
【０１９２】
この構成によれば、機能拡張装置の能力や、周辺装置の能力に基づいて、実行可能な操作及び処理から構成される機能を物体に対して設定することができる。
【０１９３】
（７）機能設定部は、所定の通信ネットワークを介して外部判定装置と接続され、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理の判定処理を前記外部判定装置に依頼し、前記外部判定装置による判定結果にしたがって、当該物体に対する機能を設定することが好ましい。
【０１９４】
この構成によれば、外部判定装置が各物体に対する操作及び処理を判定するため、機能拡張装置の処理負担を軽減することができる。
【０１９５】
（８）前記機能設定部は、所定の通信ネットワークを介して接続されたサーバから前記機能情報を取得することが好ましい。
【０１９６】
この構成によれば、適宜、最新の機能情報をサーバから取得することができる。
【０１９７】
（９）前記実行部は、前記映像入力装置により取得された映像データにグラフィックスを重畳させて映像出力装置に表示させる映像出力制御部を含み、前記処理決定部により決定された処理が前記選択物体に対してグラフィックスを重畳させる処理である場合、前記選択物体に重畳させるグラフィックスを生成し、生成したグラフィックスを前記選択物体に重畳させる描画依頼を前記映像出力制御部に出力するグラフィックス生成部を更に備えることが好ましい。
【０１９８】
この構成によれば、ユーザが選択物体を操作することにより決定された処理が選択物体にグラフィックスを重畳させる処理である場合、グラフィックス生成部によって、選択物体に重畳するグラフィックスが生成され、生成されたグラフィックスが映像データ中の選択物体に重畳させる描画依頼が映像出力制御部に出力される。そして、描画依頼を受け付けた映像出力制御部によって映像データ中の選択物体にグラフィックスが重畳され、重畳された映像データが映像出力装置に表示される。そのため、選択物体に対する処理が視覚を通じてユーザにフィードバックされ、ユーザに対して操作感を付与することができる。
【０１９９】
（１０）前記実行部は、ユーザに対して触覚を付与する触覚出力装置を制御する触覚出力制御部を含み、前記触覚出力制御部は、前記選択物体へのグラフィックスの重畳に付随してユーザに触覚を付与するために前記触覚出力装置を駆動させることが好ましい。
【０２００】
この構成によれば、選択物体に対してグラフィックスが重畳される際、触覚出力装置が駆動されてユーザに触覚が付与される。そのため、選択物体に対する処理が視覚のみならず触覚も通じてフィードバックされ、ユーザに対してより刺激のある操作感を付与することができ、ユーザの操作に対する好奇心をより高めることができる。
【０２０１】
（１１）オブジェクト認識部により認識された各物体に対して物体識別子を付与し、前記物体識別子、前記物体の種別、及び前記物体の現実空間での位置を含む物体毎の３Ｄ立体視モデルを生成し、生成した物体毎の３Ｄ立体視モデルを物体認識通知として前記機能設定部に通知する３Ｄモデル管理部を更に備え、前記機能設定部は、前記３Ｄモデル管理部から物体認識通知が通知されたときに、通知された物体認識通知が示す物体が前記オブジェクト認識部により認識されたと判定し、前記機能情報を参照して認識された物体の種別から当該物体に対する機能を設定することが好ましい。
【０２０２】
この構成によれば、オブジェクト認識部により物体が認識されると、３Ｄモデル管理部により、各物体に物体識別子が付与され、物体識別子、物体の種別、及び物体の現実空間での位置を含む３Ｄ立体視モデルが物体毎に生成され、生成された３Ｄ立体視モデルが物体認識通知として機能設定部に通知される。このように、オブジェクト認識部により物体が認識されると、認識された物体に関する情報が機能設定部に速やかに通知されるため、機能設定部は認識された各物体に対する機能を速やかに設定することができる。
【０２０３】
（１２）前記３Ｄモデル管理部は、前記オブジェクト認識部により認識された各物体の位置データ及び物体識別子を対応付けた物体情報を前記選択判定部に通知し、前記選択判定部は、前記３Ｄモデル管理部から通知された物体情報によって前記オブジェクト認識部により認識された各物体の現実空間での位置を認識し、前記入力認識部により認識された前記入力位置に対して所定範囲内に位置する物体を前記選択物体として判定することが好ましい。
【０２０４】
この構成によれば、オブジェクト認識部により物体が認識されると、３Ｄモデル管理部から選択判定部に物体識別子と各物体の位置データとが対応付けられた物体情報が通知される。そのため、選択判定部は３Ｄモデル管理部から通知された物体情報により各物体の現実空間での位置を認識することができる。そして、選択判定部は、認識した各物体の位置とユーザの入力位置とを照合し、入力位置に対して所定範囲内にいる物体を選択物体として正確に判定することができる。
【産業上の利用可能性】
【０２０５】
本発明にかかる機能拡張装置は、ヘッドマウントディスプレイ等を用いた拡張現実の世界において、オブジェクト認識された物体に、物体の種別に合わせた機能を動的に設定し、その機能を利用する手段として有用である。
【図１】
2012105175.tif 000003
【図２】
2012105175.tif 000004
【図３】
2012105175.tif 000005
【図４】
2012105175.tif 000006
【図５】
2012105175.tif 000007
【図６】
2012105175.tif 000008
【図７】
2012105175.tif 000009
【手続補正書】
【提出日】平成24年7月19日(2012.7.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張装置であって、
映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識部と、
物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識部により物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定部と、
前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識部と、
前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識部が認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定部と、
前記入力認識部が認識した入力動作を用いて、ユーザの操作を判定する操作判定部と、
前記選択判定部が選択した選択物体に対して、前記機能設定部により設定された機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する処理決定部と、
前記処理決定部が決定した処理を実行する実行部とを備え、
前記オブジェクト認識部は、認識した物体ごとに当該物体の種別を識別し、
前記機能設定部は、種別が同一の物体であっても物体ごとに機能を設定するものであり、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理を、前記機能拡張装置の能力及び前記機能拡張装置に接続される周辺装置の能力に基づいて判定し、判定した操作及び処理を当該物体の機能として設定する機能拡張装置。
【請求項２】
（削除）
【請求項３】
前記入力認識部は、入力動作を行ったユーザを識別するためのユーザ識別子を取得し、
前記機能設定部は、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理の候補をユーザに提示し、ユーザにより選択された操作及び処理を当該物体の機能として設定し、設定した機能を、前記ユーザ識別子と対応付けて保持し、
前記処理決定部は、前記機能設定部が前記ユーザ識別子を持つユーザに対して設定した機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する請求項１記載の機能拡張装置。
【請求項４】
（削除）
【請求項５】
前記オブジェクト認識部は、物体の形状及び大きさを認識し、
前記機能設定部は、前記オブジェクト認識部が認識した物体の形状及び大きさの少なくともいずれか一方に基づいて、当該物体に設定可能な操作及び処理を判定する請求項１又は３記載の機能拡張装置。
【請求項６】
（削除）
【請求項７】
前記機能設定部は、所定の通信ネットワークを介して外部判定装置と接続され、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理の判定処理を前記外部判定装置に依頼し、前記外部判定装置による判定結果にしたがって、当該物体に対する機能を設定する請求項１、３、及び５のいずれかに記載の機能拡張装置。
【請求項８】
前記機能設定部は、所定の通信ネットワークを介して接続されたサーバから前記機能情報を取得する請求項１、３、５、及び７のいずれかに記載の機能拡張装置。
【請求項９】
前記実行部は、前記映像入力装置により取得された映像データにグラフィックスを重畳させて映像出力装置に表示させる映像出力制御部を含み、
前記処理決定部により決定された処理が前記選択物体に対してグラフィックスを重畳させる処理である場合、前記選択物体に重畳させるグラフィックスを生成し、生成したグラフィックスを前記選択物体に重畳させる描画依頼を前記映像出力制御部に出力するグラフィックス生成部を更に備える請求項１、３、５、７、及び８のいずれかに記載の機能拡張装置。
【請求項１０】
前記実行部は、ユーザに対して触覚を付与する触覚出力装置を制御する触覚出力制御部を含み、
前記触覚出力制御部は、前記選択物体へのグラフィックスの重畳に付随してユーザに触覚を付与するために前記触覚出力装置を駆動させる請求項９記載の機能拡張装置。
【請求項１１】
オブジェクト認識部により認識された各物体に対して物体識別子を付与し、前記物体識別子、前記物体の種別、及び前記物体の現実空間での位置を含む物体毎の３Ｄ立体視モデルを生成し、生成した物体毎の３Ｄ立体視モデルを物体認識通知として前記機能設定部に通知する３Ｄモデル管理部を更に備え、
前記機能設定部は、前記３Ｄモデル管理部から物体認識通知が通知されたときに、通知された物体認識通知が示す物体が前記オブジェクト認識部により認識されたと判定し、前記機能情報を参照して認識された物体の種別から当該物体に対する機能を設定する請求項１、３、５、７、８、９、及び１０のいずれかに記載の機能拡張装置。
【請求項１２】
前記３Ｄモデル管理部は、前記オブジェクト認識部により認識された各物体の位置データ及び物体識別子を対応付けた物体情報を前記選択判定部に通知し、
前記選択判定部は、前記３Ｄモデル管理部から通知された物体情報によって前記オブジェクト認識部により認識された各物体の現実空間での位置を認識し、前記入力認識部により認識された前記入力位置に対して所定範囲内に位置する物体を前記選択物体として判定する請求項１１記載の機能拡張装置。
【請求項１３】
現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張方法であって、
機能拡張装置が、映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識ステップと、
機能拡張装置が、物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識ステップにより物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定ステップと、
機能拡張装置が、前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識ステップと、
機能拡張装置が、前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識ステップが認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定ステップと、
機能拡張装置が、前記入力認識ステップが認識した入力動作を用いて、ユーザの操作を判定する操作判定ステップと、
機能拡張装置が、前記選択判定部が選択した選択物体に対して、前記機能設定ステップにより設定された機能を構成する操作のうち、前記操作判定ステップにより判定された操作に対する処理を決定する処理決定ステップと、
機能拡張装置が、前記処理決定ステップが決定した処理を実行する実行ステップとを備え、
機能拡張装置が、前記オブジェクト認識ステップにおいて、認識した物体ごとに当該物体の種別を識別し、
前記機能設定ステップにおいて、機能拡張装置は、種別が同一の物体であっても物体ごとに機能を設定するものであり、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理を、前記機能拡張装置の能力及び前記機能拡張装置に接続される周辺装置の能力に基づいて判定し、判定した操作及び処理を当該物体の機能として設定する機能拡張方法。
【請求項１４】
現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張装置としてコンピュータを機能させる機能拡張プログラムであって、
映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識部と、
物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識部により物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定部と、
前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識部と、
前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識部が認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定部と、
前記入力認識部が認識した入力動作を用いて、ユーザの操作を判定する操作判定部と、
前記選択判定部が選択した選択物体に対して、前記機能設定部により設定された機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する処理決定部と、
前記処理決定部が決定した処理を実行する実行部としてコンピュータを機能させ、
前記オブジェクト認識部は、認識した物体ごとに当該物体の種別を識別し、
前記機能設定部は、種別が同一の物体であっても物体ごとに機能を設定するものであり、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理を、前記機能拡張装置の能力及び前記機能拡張装置に接続される周辺装置の能力に基づいて判定し、判定した操作及び処理を当該物体の機能として設定する機能拡張プログラム。
【請求項１５】
現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張装置の集積回路であって、
映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識部と、
物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識部により物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定部と、
前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識部と、
前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識部が認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定部と、
前記入力認識部が認識した入力動作を用いて、ユーザの操作を判定する操作判定部と、
前記選択判定部が選択した選択物体に対して、前記機能設定部により設定された機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する処理決定部と、
前記処理決定部が決定した処理を実行する実行部とを備え、
前記オブジェクト認識部は、認識した物体ごとに当該物体の種別を識別し、
前記機能設定部は、種別が同一の物体であっても物体ごとに機能を設定するものであり、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理を、前記機能拡張装置の能力及び前記機能拡張装置に接続される周辺装置の能力に基づいて判定し、判定した操作及び処理を当該物体の機能として設定する集積回路。
【国際調査報告】
2012105175.tif 000010
2012105175.tif 000011
2012105175.tif 000012
2012105175.tif 000013
2012105175.tif 000014
2012105175.tif 000015