JP5844288B2 - 機能拡張装置、機能拡張方法、機能拡張プログラム、及び集積回路 - Google Patents

機能拡張装置、機能拡張方法、機能拡張プログラム、及び集積回路 Download PDF

Info

Publication number
JP5844288B2
JP5844288B2 JP2012555724A JP2012555724A JP5844288B2 JP 5844288 B2 JP5844288 B2 JP 5844288B2 JP 2012555724 A JP2012555724 A JP 2012555724A JP 2012555724 A JP2012555724 A JP 2012555724A JP 5844288 B2 JP5844288 B2 JP 5844288B2
Authority
JP
Japan
Prior art keywords
function
unit
recognized
user
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012555724A
Other languages
English (en)
Other versions
JPWO2012105175A1 (ja
Inventor
幸 堀井
幸 堀井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to JP2012555724A priority Critical patent/JP5844288B2/ja
Publication of JPWO2012105175A1 publication Critical patent/JPWO2012105175A1/ja
Application granted granted Critical
Publication of JP5844288B2 publication Critical patent/JP5844288B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0132Head-up displays characterised by optical features comprising binocular systems
    • G02B2027/0134Head-up displays characterised by optical features comprising binocular systems of stereoscopic type
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems

Description

本発明は、拡張現実空間において、認識された物体に機能を設定する技術に関するものである。
拡張現実空間において、オブジェクト認識された物体に機能を設定する技術として、従来、物体に予め付与された検索機能を利用する技術が知られている。
ここで、オブジェクト認識された物体に設定する「機能」とは、ユーザと物体間のインタラクションであり、ユーザによる一連の操作と一連の操作のそれぞれに対する処理との組から成る。より詳細には、「機能」とは、ユーザから物体への入力である「操作」と、ユーザによる操作に対するフィードバックとして実行される「処理」との組から構成される。
「機能」の例としては、書き込み履歴記録機能、色変更機能、及び検索機能等が考えられる。検索機能の場合、ユーザが物体を指示するという「操作」に対して、指示された物体の情報を検索し、検索結果をユーザに視覚的に提示するという「処理」が行われる。
例えば、特許文献1には、ユーザの関心ある物に関する情報を提供するポインティングシステムが開示されている。
ユーザは、手持ち式装置をアドレスしたい物へ向けて指し示す(前述の「操作」に相当する)。この手持ち式装置は、位置及び姿勢を測定し、基準を作成し、予めプログラムされた物に関する情報を含むデータベースを検索することによって、いずれの物がアドレスされているのかを判断する。そして、現在アドレスされている物と判断された物に関する情報が、ユーザ・インターフェースに提示される(前述の「処理」に相当する)。
しかしながら、特許文献1の構成では、アドレスされた物体に対してどのような情報を提示するかが予め定められている。つまり、アドレスされた物体に付与される機能が予め定まっている。したがって、特許文献1では、物体に対して、複数の機能の中から、いずれかの機能を追加したり、削除したりする機構がない。そのため、物体に予め定められた機能を利用することはできるが、動的に機能を追加したり、削除したりすることができない。
また、特許文献1では、物体の種別に応じて、物体に対して設定可能な機能を定める機構や、物体の種別ごとに付与可能な機能を判断する機構もない。そのため、物体の種別に合わせた機能を物体に追加することができない。
例えば、本という種別の物体に対しては書き込み履歴記録機能が付与可能な機能であり、地球儀という種別の物体に対しては検索機能と色変更機能とが付与可能な機能である。
しかしながら、特許文献1の技術では、物体の種別ごとに付与可能な機能を判断する機構がない。そのため、物体の種別として、本、ホワイトボード、地球儀が存在し、システムが物体に付与する機能として、書き込み履歴記録機能、色変更機能、及び検索機能が存在するような場合に、どの物体にどの機能を付与するかを判断して、機能を追加することができない。
特表2004−531791号公報
本発明の目的は、拡張現実空間に取り込まれた現実空間の物体に対し、その物体の種別に適合する機能を動的に設定することができる機能拡張装置、機能拡張方法、機能拡張プログラム、及び集積回路を提供することである。
本発明の一局面による機能拡張装置は、現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張装置であって、映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識部と、物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識部により物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定部と、前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識部と、前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識部が認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定部と、前記入力認識部が認識した入力動作を用いて、ユーザの操作を判定する操作判定部と、前記選択判定部が選択した選択物体に対して、前記機能設定部により設定された機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する処理決定部と、前記処理決定部が決定した処理を実行する実行部とを備える。
また、本発明の別の一局面による機能拡張方法、機能拡張プログラム、及び集積回路は、上記の機能拡張装置と同様の特徴を備えている。
本発明の実施の形態による機能拡張装置が適用された機能拡張システムの構成例を示すブロック図である。 図1に示す機能拡張システムが、現実空間の物体を認識し、その物体の種別に合わせた機能を設定する処理、及び設定した機能を利用する処理の一例を模式的に示した図である。 機能設定部が保持する機能情報の一例を模式的に示した図である。 (A)は、機能設定部が、オブジェクト認識部によりオブジェクト認識された各物体に対して設定した機能を示す機能設定情報の一例を示す図である。(B)は、本発明の実施の形態による機能拡張装置が、オブジェクト認識した物体に対して設定した機能の一例を模式的に示した図である。 本発明の実施の形態による機能拡張装置において実行される初期化処理の一例を示すフローチャートである。 本発明の実施の形態による機能拡張装置が物体をオブジェクト認識し、オブジェクト認識した物体に対して機能を設定する処理の一例を示すフローチャートである。 本発明の実施の形態による機能拡張装置が、ユーザの操作を認識し、物体に設定された機能を実行する際の処理の一例を示すフローチャートである。
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、説明に使用する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、及び処理等は、単なる一例を示したにすぎない。したがって、限定することを意図する記載が特段ない限り、装置の構成及び処理は、記載された内容に限定されない。
本発明の実施の形態による機能拡張装置は、現実空間に存在する物体を、オブジェクト認識して、拡張現実空間に取り込み、オブジェクト認識した物体に対して新たな機能を追加し、追加した機能をユーザに利用させる装置である。つまり、本機能拡張装置は、オブジェクト認識した物体に、固定の機能を設定するだけでなく、その物体の種別に合わせた機能や、その物体にふさわしい機能を追加し、固定の機能及び追加した機能をユーザに利用させる装置である。
ここで、オブジェクト認識された物体に設定される「機能」とは、ユーザ及び物体間のインタラクションであり、ユーザによる一連の操作と処理との組から成る。ここで、「操作」とは、ユーザが物体に対して行う操作である。また、「処理」とは、物体からユーザに対して、上記の「操作」のフィードバックとして実行される処理である。
より詳細には、「機能」とは、ユーザから物体への入力である「操作」と、物体からユーザへの出力であり、「操作」に対するフィードバックとして実行される「処理」との組から構成されるものである。「機能」としては、例えば、書き込み履歴記録機能、色変更機能、検索機能等が含まれる。
ここで、検索機能は、例えば、ユーザが物体を指示する「操作」と、指示された物体に関する情報をデータベースから検索し、検索結果をユーザに視覚的に提示する「処理」との組からなる。
ここで、「処理」としては、例えば、ユーザにより操作された物体に対して、同期又は非同期で映像を出力する処理が該当する。物体に対して映像を同期して出力する処理としては、例えば、ユーザが物体を操作した時に、操作対象の物体に関連するグラフィックスを生成し、生成したグラフィックスを操作対象の物体に重畳して出力することが挙げられる。また、物体にして映像を非同期で出力する処理としては、例えば、ユーザが物体を操作したときに、操作内容に応じたデータを保持しておき、物体への操作が終了した後で、保持したデータからグラフィックスを生成し、生成したグラフィックスを物体に関連付けて出力することが挙げられる。
これにより、拡張現実空間において、ユーザは、ヘッドマウントディスプレイ、3D立体視テレビ、又は触覚出力デバイス等の出力デバイスを通して、物体に追加された新たな機能を利用することができる。
例えば、「機能」として書き込み履歴記録機能が追加された場合、ユーザが現実空間の本に対して“なぞる”という操作を行うと、拡張現実空間の本に対して、なぞった箇所にアンダーラインのグラフィックスが重畳表示される。ここで、重畳表示としては、拡張現実空間の物体に対して、操作に伴うグラフィックスのみを重畳表示するものであってもよいし、重畳表示したグラフィックスに対して更に操作に伴うグラフィックスを重畳表示するものであってもよい。
また、ユーザが過去に操作を行った拡張現実空間のある本を、再度、ユーザが開いたとき、過去の操作時に保持しておいたデータからグラフィックスを生成し、物体に重畳表示してもよい。これにより、ユーザは、拡張現実空間において、本に対して指でアンダーラインを引き、事後にアンダーラインを確認する体験を得ることができる。
本実施の形態では、「操作」として、ユーザが手を動かして操作を入力とすることを基本に説明する。しかしながら、本発明における「操作」は、手の動きに限定されず、視線や音声(言語)等を操作として採用してもよい。
また、本実施の形態では、「処理」として、物体に対してグラフィックスを重畳表示するような映像出力を基本に説明する。しかしながら、「処理」として、映像出力に限定されず、例えば、音声出力や触覚出力等、他の出力を採用してもよい。
以下、本発明の実施の形態における機能拡張装置を機能拡張システムに適用した場合を例に挙げて具体的に説明する。図1は、本発明の実施の形態による機能拡張装置1002が適用された機能拡張システム1001の構成例を示すブロック図である。なお、図1に示す機能拡張システム1001は、例えばヘッドマウントディスプレイ(HMD)に搭載されている。また、図1に示す機能拡張装置1002は、例えばCPU、ROM、及びRAM等を備えるマイクロコンピュータにより構成され、例えばCPUが本発明による機能拡張プログラムを実行することで、各ブロックの機能が実現される。拡張機能プログラムは、例えばROMまたはRAM等の記憶装置に格納されている。
具体的には、オブジェクト認識部1101、3Dモデル管理部1102、入力認識部1104、選択判定部1105、操作判定部1106、処理決定部1107、グラフィックス生成部1108、映像出力制御部1109、触覚出力制御部1110は、それぞれが例えば、記憶装置1007に記憶された拡張機能プログラムに含まれるプログラムであり、記憶装置1007から読み出されてCPUにより実行される構成であり、機能設定部1103は、記憶装置1007に記憶された拡張機能プログラムに含まれるプログラムであり、記憶装置1007から読み出されてCPUにより実行される構成である。
記憶装置1007から読み出されてCPUにより実行される機能設定部1103は、例えば、機能情報を記憶装置1007から読み出してRAMに格納する。なお、図1に示す機能拡張装置1002に含まれるオブジェクト認識部1101、3Dモデル管理部1102、入力認識部1104、選択判定部1105、操作判定部1106、処理決定部1107、グラフィックス生成部1108、映像出力制御部1109、触覚出力制御部1110および機能設定部1103をそれぞれ記憶装置1007に格納されたプログラムとし、CPUにて実行する構成としたが、これに限定される必要はない。
例えば、図1に示す機能拡張装置1002に含まれるオブジェクト認識部1101、3Dモデル管理部1102、入力認識部1104、選択判定部1105、操作判定部1106、処理決定部1107、グラフィックス生成部1108、映像出力制御部1109、触覚出力制御部1110および機能設定部1103を専用の処理回路(例えばLSIなどの集積回路)を用いて構成しても良い。
機能拡張システム1001は、機能拡張装置1002、映像入力装置1003、ユーザ入力認識装置1004、映像出力装置1005、触覚出力装置1006、記憶装置1007、及び通信部1008を備える。
機能拡張装置1002は、オブジェクト認識部1101、3Dモデル管理部1102、機能設定部1103、入力認識部1104、選択判定部1105、操作判定部1106、処理決定部1107、グラフィックス生成部1108、映像出力制御部1109(実行部の一例)、及び触覚出力制御部1110(実行部の一例)を備える。
以下、機能拡張装置1002が備える各構成について説明する。オブジェクト認識部1101は、映像入力装置1003により取得された現実空間の映像データから、当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識する。具体的には、オブジェクト認識部1101は、映像入力装置1003が現実空間を撮影することで取得した映像データが映像入力装置1003から供給される。そして、オブジェクト認識部1101は、供給された映像データに含まれる物体の種別、形状、大きさ、及び現実空間の位置を認識し、3Dモデル管理部1102に通知する。
ここで、映像入力装置1003が、例えば、3Dカメラにより構成されている場合、オブジェクト認識部1101は下記の処理を行って物体を認識すればよい。まず、オブジェクト認識部1101は、映像入力装置1003から視線の異なる2系統の映像データを取得する。そして、映像入力装置1003は、一方の系統の映像データに対して特徴点抽出処理を行い映像データに含まれる特徴点を抽出する。特徴点としては、例えば、物体の輪郭上の点であって、頂点や曲率が大きな点等の物体の形状を特徴付ける点が該当する。そして、オブジェクト認識部1101は、映像データから抽出した特徴点をクラスタリングして複数の特徴点群に分け、特徴点群における特徴点の配置パターンから、特徴点群が示す物体を特定する。この場合、オブジェクト認識部1101は、種々の物体について基準となる特徴点の配置パターンである基準配置パターンを予め保持しておき、この基準配置パターンと映像データから抽出した特徴点の配置パターンとを比較することで、特徴点群が示す物体を特定すればよい。
なお、このような物体を認識する技術は例えばデジタルカメラ等で広く採用されている顔認識技術が知られており、オブジェクト認識部1101は、この顔認識技術と同様の手法を用いて映像データに含まれる物体を認識すればよい。
そして、オブジェクト認識部1101は、特定した物体の各特徴点と同一箇所を示す対応点を別系統の映像データから特定する。そして、オブジェクト認識部1101は、各特徴点と各対応点との視差からステレオ法を用いて各特徴点の現実空間における3次元位置を求め、各特徴点の現実空間における位置を物体の位置として認識すればよい。
また、オブジェクト認識部1101は、現実空間の物体に対して付与されたマーカ情報を認識することで、映像データに含まれる物体を認識してもよい。ここで、マーカ情報とは、物体の種別、形状、大きさ、及び位置等の情報を記述する情報である。例えば、マーカ情報をバーコードや記号列で表したものを物体に付与しておき、オブジェクト認識部1101は、映像データからこのバーコードを認識し、認識したバーコードや記号列から物体の種別、形状、大きさ、及び現実空間の位置を認識すればよい。
また、マーカ情報をICタグに記憶させて物体に保持させ、オブジェクト認識部1101は、ICタグに保持されたデータを読み出してマーカ情報を取得してもよい。この場合、機能拡張システム1001にICタグリーダを設け、オブジェクト認識部1101は、このICタグリーダにマーカ情報を読み出させ、マーカ情報を取得してもよい。
なお、マーカ情報に含まれる位置は、例えば、物体が配置された経度及び緯度が採用されている。そして、機能拡張システム1001にGPSを設ける。オブジェクト認識部1101は、GPSから機能拡張システム1001の現実空間の位置を認識し、マーカ情報に含まれる物体の位置と比較して、機能拡張システム1001に対する物体の相対的な位置を求めればよい。
また、映像入力装置1003が、例えば、深度センサーにより構成されている場合、オブジェクト認識部1101は、映像入力装置1003により取得された距離成分の画像データから物体の特徴点を抽出する。そして、抽出した特徴点の配置パターンから物体の種別、形状、大きさ、及び現実空間の位置を認識すればよい。
3Dモデル管理部1102は、オブジェクト認識部1101が認識した各物体の種別、形状、大きさ、及び現実空間の位置がオブジェクト認識部1101から通知され、通知された各物体の種別、形状、大きさ、及び現実空間の位置を含むデータを各物体の3D立体視モデルとして生成し、保持する。
また、3Dモデル管理部1102は、各物体の3D立体視モデルに対して、各物体を識別するための物体識別子を付与する。つまり、各物体の3D立体視モデルは、物体の種別、形状、大きさ、及び現実空間の位置を示すデータに物体の物体識別子が紐付けられたデータとなる。なお、3Dモデル管理部1102は、生成した3D立体視モデルを物体認識通知D1として、機能設定部1103に通知する。
また、3Dモデル管理部1102は、処理決定部1107から、物体識別子を指定して物体(選択物体)へのグラフィックスの重畳依頼D2が供給されると、当該物体に関するグラフィックス生成情報を生成して保持する。ここで、グラフィックス生成情報は、仮想現実空間で物体に重畳表示するグラフィックスを生成するために必要な情報である。グラフィックスの重畳依頼D2には、グラフィックスの大きさ、形状、及び重畳位置を示すデータが含まれている。したがって、3Dモデル管理部1102は、グラフィックスの大きさ、形状、及び重畳位置を示すデータをグラフィックス生成情報として生成すればよい。
3Dモデル管理部1102は、生成したグラフィックス生成情報をグラフィックス生成依頼D3としてグラフィックス生成部1108に通知する。
機能設定部1103は、物体の種別ごとに設定可能な一連の操作及び処理の組から構成される機能が規定された機能情報を保持する。機能情報については、図3を用いて後述する。そして、機能設定部1103は、オブジェクト認識部1101により物体が認識された際に、機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する。なお、機能設定部1103は、物体認識通知D1が3Dモデル管理部1102から供給されたときに、この物体認識通知D1が示す物体がオブジェクト認識部1101により認識されたと判定すればよい。
そして、機能設定部1103は、3Dモデル管理部1102からの物体認識通知D1が通知されると、図3(A)に示す機能カテゴリ候補情報を参照し、認識された物体の種別から設定可能な機能カテゴリの候補を検索し、検索した機能カテゴリの候補の中から当該物体に設定する機能を決定する。
なお、本発明では、3Dモデル管理部1102を省いてもよい。この場合、オブジェクト認識部1101は認識した物体に物体識別子を付与し、物体識別子、並びに認識した物体の種別、形状、大きさ、及び現実空間の位置を物体認識通知D1として機能設定部1103に通知する。そして、機能設定部1103は、オブジェクト認識部1101から通知された物体認識通知D1と、図3(A)に示す機能カテゴリ候補情報とを照合し、認識された各物体の種別から設定可能な機能カテゴリの候補を検索し、検索した機能カテゴリの候補の中から各物体に設定する機能を決定すればよい。
ここで、機能設定部1103は、オブジェクト認識部1101により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理の候補をユーザに提示し、ユーザにより選択された操作及び処理を当該物体の機能として設定し、設定した機能を、ユーザ識別子と対応付けて保持してもよい。この場合、認識された物体に対して設定可能な全ての操作及び処理が物体の機能として設定されるのではなく、物体に対して設定可能な全ての操作及び処理のうち、ユーザが選択した一連の操作及び処理が物体の機能として設定される。このように、機能設定部1103は、機能をユーザ識別子と対応付けて記録しておくことで、同一の物体であってもユーザ毎に異なる機能を設定することができ、ユーザの好みに合わせた機能を各物体に設定することができる。
ここで、ユーザに好みの機能を問い合わせるタイミングとしては、物体が認識されたときに限らず、物体の認識後であってもよい。物体の認識後においては、ユーザから機能の変更依頼が入力されたときに、ユーザに好みの機能の問い合わせを行えばよい。
また、機能設定部1103は、オブジェクト認識部1101により物体が認識された際に、認識された物体の特徴から設定可能な操作及び処理を判定し、判定した操作及び処理を物体の機能として設定してもよい。ここで、特徴としては、認識された物体の形状及び大きさの少なくともいずれか一方が該当する。
更に、機能設定部1103は、オブジェクト認識部1101により物体が認識された際に、機能拡張装置1002の能力及び機能拡張装置1002に接続される周辺機器の能力から、認識された物体に対して設定可能な操作及び処理を決定し、決定した操作及び処理を物体の機能として設定してもよい。
つまり、本実施の形態では、認識された物体に対して設定可能な全ての操作及び処理を物体の機能として設定するのではなく、物体の特徴及び機能拡張システム1001の性能(スペック)に合う操作及び処理を物体の機能として選択的に設定してもよい。
また、機能設定部1103は、後述する処理決定部1107からある物体についての物体識別子を通知することで、当該物体に対して設定された機能を問い合わせるための機能問い合わせ依頼D4が通知されると、当該物体に設定された機能設定情報(図4(A))を参照し、当該物体に対して設定された機能を特定し、特定した機能に対応する機能対応情報D7(図3(C)参照)を処理決定部1107に通知する。
入力認識部1104は、ユーザ入力認識装置1004により取得されたユーザの動作を示す情報から、ユーザによる入力動作及び入力動作が行われた現実空間の位置である入力位置を認識する。具体的には、入力認識部1104は、ユーザ入力認識装置1004からユーザの動作を示す情報として出力されるユーザの手の動作を示す情報を取得することで、ユーザによる入力動作及び入力位置を認識する。そして、入力認識部1104は、ユーザによる入力動作及び入力位置を認識すると、手の動作を示す情報を操作判定部1106に通知し、かつ、入力位置を選択判定部1105に通知する。ここで、手の動作を示す情報としては、例えば、ユーザの手の特徴点の現実空間における位置を示す位置データを時系列に並べたデータが採用される。
また、入力認識部1104は、本機能拡張システムの使用がユーザにより開始される際(例えば電源投入時)、そのユーザからユーザ識別子を取得する。ここで、入力認識部1104は、ユーザの指紋を認証したり、ユーザにユーザ識別子を入力させたりすることで、ユーザ識別子を取得すればよい。ユーザの指紋を認証する場合、入力認識部1104は、本機能拡張システム1001の使用が許可されているユーザの指紋の画像データをユーザ識別子と対応付けて予め保持しておく。そして、入力認識部1104は、本機能拡張システム1001の使用開始時にユーザ入力認識装置1004にユーザの指紋の画像データを取得させる。そして、入力認識部1104は、取得した指紋の画像データと、予め保持している指紋の画像データとを照合し、本機能拡張システムを使用しているユーザを特定し、特定したユーザのユーザ識別子を取得すればよい。
また、ユーザにユーザ識別子を入力させる場合は、映像出力装置1005にキーボードのグラフィックスを表示させ、そのグラフィックスを通じてユーザにユーザ識別子を入力させてもよい。或いは、本機能拡張システムに物理的なキーボードを設け、このキーボードを操作することで、ユーザ識別子を入力させてもよい。なお、入力認識部1104は、取得したユーザ識別子を操作判定部1106に通知する。
選択判定部1105は、オブジェクト認識部1101により認識された各物体の現実空間での位置と、入力認識部1104により認識された現実空間での入力位置とに基づいて、オブジェクト認識部1101により認識された各物体のうち、ユーザが操作対象として選択した選択物体を判定する。
具体的には、選択判定部1105は、3Dモデル管理部1102から各物体の位置データと物体識別子とが対応付けられた物体情報D5が通知されて、供給された物体情報D5から各物体の現実空間での位置を認識する。そして、選択判定部1105は、入力認識部1104から通知されたユーザの現在の入力位置に対して重なって位置する物体を選択物体として判定する。ここで、選択判定部1105は、入力位置に対して所定範囲内に物体が位置する場合、その物体が選択物体であると判定すればよい。また、入力位置に対して所定範囲内に複数の物体が存在する場合、入力位置に最も近い物体を選択物体として判定すればよい。そして、選択判定部1105は、選択物体の物体識別子を操作判定部1106に通知する。
なお、3Dモデル管理部1102を省いた場合、選択判定部1105は、オブジェクト認識部1101から、認識された各物体の現実空間の位置が通知される。そして、選択判定部1105は、オブジェクト認識部1101から通知された各物体の現実空間の位置と、入力認識部1104から通知された入力位置とからユーザが選択した選択物体を判定する。そして、選択判定部1105は、選択物体の物体識別子を操作判定部1106に通知する。
操作判定部1106は、入力認識部1104により認識された入力動作から、ユーザが選択物体に対して行った操作を判定する。ここで、操作判定部1106が判定する「操作」は、手の座標情報や、加速度情報ではなく、“なぞる”、“つかむ”、“たたく”といった人間の動作に意味付けされた操作情報である。
具体的には、操作判定部1106は、入力認識部1104から供給される手の動作を示す情報と、ユーザの「操作」とを対応付けた辞書情報を管理している。そして、操作判定部1106は、入力認識部1104から手の動作を示す情報が供給されると、辞書情報を参照し、手の動作を示す情報に対応する操作を判定する処理を行う。ここで、辞書情報は予め登録されたものであってもよいし、ユーザの手の動作の履歴から学習するものであってもよい。なお、ユーザの手の動作からユーザの操作を判定する技術としては、例えば、プライムセンス社のプライムセンサー用ソフトウェアであるNITE(Prime Sense’s Natural Interface Middleware)のジェスチャ認識機能が知られており、操作判定部1106は、この技術を用いてユーザの操作を判定すればよい。
そして、操作判定部1106は、ユーザの操作を判定すると、ユーザの操作と、選択判定部1105により判定された選択物体の物体識別子と、ユーザ識別子とを対応付けた処理依頼D6を、処理決定部1107に通知する。
処理決定部1107は、操作判定部1106から処理依頼D6が通知されると、その処理依頼D6に含まれる物体識別子(選択物体の物体識別子)及びユーザ識別子を取り出し、取り出した物体識別子及びユーザ識別子を、選択物体に設定された機能(操作及び処理の組)を問い合わせるための機能問い合わせ依頼D4として機能設定部1103に通知する。
なお、処理決定部1107は、選択判定部1105に選択物体の物体識別子を通知させることで選択物体を認識するようにしてもよい。
機能設定部1103は、機能問い合わせ依頼D4が通知されると、図4(A)に示す機能設定情報を参照し、機能問い合わせ依頼D4を構成する物体識別子及びユーザ識別子から、この物体に対してユーザ毎に設定された機能を特定し、特定した機能に対応する機能対応情報D7(図3(C))を処理決定部1107に通知する。
そして、処理決定部1107は、機能設定部1103から通知された機能対応情報D7と、操作判定部1106から通知された処理依頼D6が示すユーザの操作とを照らし合わせ、選択物体に対して実行する処理を決定する。
ここで、処理決定部1107が決定した処理が物体に対してグラフィックスの重畳を伴う処理である場合には、処理決定部1107は、3Dモデル管理部1102に選択物体の物体識別子と、選択物体に対して重畳するグラフィックスの大きさ、形状、及び重畳位置を示すデータとが指定されたグラフィックスの重畳依頼D2を3Dモデル管理部1102に通知する。
これにより、物体に対する処理が視覚を通じてユーザにフィードバックされ、ユーザに対して操作感を付与することができる。
また、処理決定部1107が決定した処理が物体に対してグラフィックスの重畳に付随してユーザに触覚を付与する処理である場合、処理決定部1107は、触覚出力制御部1110に触覚出力依頼D8を通知する。これにより、物体に対する処理が視覚のみならず触覚も通じてユーザにフィードバックされ、ユーザに対してより刺激のある操作感を付与することができ、ユーザの好奇心をより高めることができる。
ここで、処理決定部1107は、グラフィックス重畳を伴う処理を決定した場合、3Dモデル管理部1102にグラフィックスの重畳依頼D2を通知するものとしたが、3Dモデル管理部1102が省かれている場合、グラフィックス生成部1108にグラフィックスの重畳依頼D2を通知してもよい。
この場合、グラフィックス生成部1108は、グラフィックスの重畳依頼D2が規定する情報から選択物体に重畳するグラフィックスを生成する。そして、グラフィックス生成部1108は、選択物体の映像データにおける位置データを3Dモデル管理部1102から取得し、描画依頼D9を映像出力制御部1109に出力すればよい。
また、本発明では、3Dモデル管理部1102に加えてグラフィックス生成部1108を省いてもよい。この場合、処理決定部1107は、選択物体に対して重畳するグラフィックスを生成し、生成したグラフィックスと、映像データにおける重畳位置とを対応付けたデータを描画依頼D9として映像出力制御部1109に出力し、選択物体にグラフィックスを重畳させればよい。
グラフィックス生成部1108は、3Dモデル管理部1102が管理する物体に重畳するグラフィックスを生成する。具体的には、グラフィックス生成部1108は、3Dモデル管理部1102からグラフィックス生成依頼D3が供給されると、グラフィックス生成依頼D3に含まれるグラフィックス生成情報に従ってグラフィックスを生成する。ここで、グラフィックス生成部1108は、例えば、グラフィックス生成情報に規定された選択物体の映像データにおける位置に生成したグラフィックスを表示するための描画依頼D9を映像出力制御部1109に出力する。
なお、本発明では、グラフィックス生成部1108を省いてもよい。この場合、処理決定部1107は、映像データに含まれる選択物体に重畳するグラフィックスを生成し、選択物体の映像データにおける位置に生成したグラフィックスを表示するための描画依頼D9を映像出力制御部1109に出力すればよい。
映像出力制御部1109は、処理決定部1107が決定した処理が選択物体へのグラフィックスの重畳を伴う処理である場合には、映像入力装置1003が取得した映像データに表示された選択物体に、グラフィックス生成部1108が生成したグラフィックスが重畳された映像データを映像出力装置1005に供給する。
また、映像出力制御部1109は、処理決定部1107が決定した処理が物体へのグラフィックスの重畳を伴わない処理である場合には、映像入力装置1003により取得された映像データにグラフィックスを重畳することなく映像出力装置1005に供給する。
触覚出力制御部1110は、処理決定部1107から通知された触覚出力依頼D8に従って、触覚出力装置1006を動作させる。触覚出力依頼D8としては、例えば、触覚出力装置1006を駆動するための電子信号が採用され、この電子信号が触覚出力装置1006に所定時間供給され、触覚出力装置1006は所定時間駆動して、ユーザに触覚を付与する。
以上が、機能拡張装置1002が備える各構成についての説明である。
映像入力装置1003は、例えば所定のフレームレートで現実空間の映像を撮影し、現実空間の映像データを取得し、取得した映像データを順次に機能拡張装置1002に供給する。ここで、映像入力装置1003としては、例えば3Dカメラ、深度センサーが挙げられる。
ユーザ入力認識装置1004は、ユーザの動作を示す情報を取得し、機能拡張装置1002に供給する。ユーザの動作を認識する装置としては、大きく、ユーザの手の動作を認識する3D位置推定デバイス、ユーザの視線の動作を認識するデバイス、ユーザの音声(言語)入力を認識するデバイス、及びユーザの脳波を認識するデバイス、ユーザの位置情報を認識するデバイスに大別される。
3D位置推定デバイスとしては、例えば、深度センサー、赤外線センサー、磁気センサー、超音波センサー、ステレオカメラ、及び加速度センサー等が挙げられる。深度センサーとしては、例えばPanasonic電工社のD−IMager(登録商標)、Microsofit社のKINECT(登録商標)、プライムセンスのプライムセンサーなどが挙げられる。
加速度センサーとしては任天堂社のWiiリモコン(登録商標)が挙げられる。また、ユーザの位置情報を認識するデバイスとしては、GPSが挙げられる。
本実施の形態では、ユーザ入力認識装置1004として、3D位置推定デバイス、ユーザの視線の動きを認識するデバイス、ユーザの音声(言語)入力を認識するデバイス、及びユーザの脳波を認識するデバイス、及びユーザの位置情報を認識するデバイスのいずれを採用してもよいが、以下の説明では、ユーザの動作としてユーザの手の動作を認識する場合を例に挙げて説明するため、ユーザ入力認識装置1004としては、深度センサーや3Dカメラが採用される。なお、図1では、映像入力装置1003とユーザ入力認識装置1004とを別のブロックで記述しているが、映像入力装置1003とユーザ入力認識装置1004とを深度センサー又は3Dカメラで構成する場合、両ブロックを同じ深度センサー又は3Dカメラで構成すればよい。
映像出力装置1005は、機能拡張装置1002が構築した映像を出力する。本実施の形態では、映像出力装置1005として、例えばヘッドマウントディスプレイが採用される。
触覚出力装置1006は、触覚出力制御部1110からの指示を受け、ユーザに触覚を付与する。具体的には、触覚出力装置1006は、触覚出力制御部1110から出力される電子信号をユーザにとって知覚可能な物理的表現に変換する。ここで、物理的表現としては、例えば、振動が採用される。この場合、触覚出力装置1006としてユーザの体に装着されるバイブレータを採用すればよい。バイブレータの装着箇所としては、例えば、ユーザの指先やユーザの腰の位置等が採用されるが、ユーザが触覚を体感できる箇所であればどのような箇所を採用してもよい。このように、バイブレータを触覚出力装置1006としてユーザに装着させることで、HMDを装着して移動するユーザに対して確実に触覚を付与することができる。
なお、グラフィックスの重畳に付随してユーザに付与する物理現象としては触覚に限定されず、例えば音声を採用してもよい。この場合、ユーザの耳にイヤホンを装着させて、選択物体に対する処理が実行される際、処理決定部1107は、処理の実行を説明する音声信号をイヤホンに出力し、イヤホンから音声を出力させればよい。
記憶装置1007は、例えば、不揮発性の記憶装置により構成され、機能設定部1103が物体に設定された機能(操作及び処理の組)、並びに、処理決定部1107が決定したデータを記録する。
図2は、図1に示す機能拡張システム1001が、現実空間の物体を認識し、その物体の種別に合わせた機能を設定する処理、及び設定した機能を利用する処理の一例を模式的に示した図である。
拡張現実空間とは、ユーザがヘッドマウントディスプレイなどの出力デバイスを通して認識する仮想空間である。ヘッドマウントディスプレイを装備しないとき、ユーザは現実空間を認識し、ヘッドマウントディスプレイを装備したとき、ユーザは拡張現実空間を認識する。
図2(A)は、現実空間の物体をオブジェクト認識し、オブジェクト認識した物体に機能を設定する処理の一例を模式的に示した図である。図2(A)の左側の枠内の図は現実空間2001を示している。現実空間内2001には、例えば6個の物体2001a〜2001fが存在している。
図2(A)の右側の枠内の図は、拡張現実空間2002を示している。図2(A)の例では、現実空間2001における物体2001a,2001d,2001eがオブジェクト認識され、オブジェクト認識された物体2001a,2001d,2001eが拡張現実空間2002に取り込まれ、それぞれに機能が設定されている。オブジェクト認識とは、機能拡張装置1002が映像入力装置1003により取得された映像データに現れる物体を認識することを意味する。
本実施の形態では、例えば、物体の種別、大きさ、ユーザへの問い合わせ結果等に基づいて、その物体に適した機能を設定する。例えば、物体2001aは、種別が「本」であるため、拡張現実空間2002において、「読書履歴記録機能」が設定されている。
また、物体2001dは、種別が「缶」であるため、拡張現実空間2002において、「色変更機能」が設定されている。この場合、ユーザが例えば缶を開ける前は青、缶を開けた後は赤というように缶にグラフィックスが重畳表示される。
また、物体2001eは、種別が「地球儀」であるため、拡張現実空間2002において、「検索機能」が設定されている。この場合、ユーザが地球儀上に記載されたある場所に指を接触させると、その場所についての情報が拡張現実空間2002内に表示される。
図2(B)は、オブジェクト認識された物体に設定された機能を利用する処理の一例を模式的に示した図である。図2(B)の左側の枠内の図は現実空間2101を示し、右側の枠内の図は拡張現実空間2102を示している。
図2(B)の右側に示す拡張現実空間2102に示すように、機能が設定された物体2001a,2001d,2001eには機能が設定されていることをユーザに対して視覚的に示すための視覚効果が施されている。したがって、ユーザは、物体に視覚効果が施されている場合、その物体には機能が設定されていることを認識し、その機能を利用することができる。
図2(B)の例では、物体2001a,2001d,2001eに対して機能が設定されており、そのことをユーザに視覚的に認識させるために、物体2001a,2001d,2001eの輝度が現実空間2101の輝度よりも高く設定されている。
なお、本実施の形態による機能拡張装置1002が、現実世界における物体を認識し、その物体に適した機能を設定する処理、及び、物体に設定した機能を利用する処理は、この例に限定しない。
図3は、機能設定部1103が保持する機能情報の一例を模式的に示した図である。図3の例では、機能情報は、上位の層から順に、(A)に示す「機能カテゴリ候補情報」、(B)に示す「機能一覧情報」、及び(C)に示す「機能対応情報」からなる3層の階層構造を持つ。
「機能カテゴリ候補情報」は、物体の種別ごと設定可能な機能カテゴリの候補を保持する。「機能一覧情報」は、各々の機能カテゴリが備える機能の一覧を保持する。「機能対応情報」は、(B)に示す機能のそれぞれに対して規定された、操作及び処理の組を保持する。
図3(A)に示す機能カテゴリ候補情報は、列3001〜3004を持つ。列3001には、機能カテゴリの識別子が格納されている。列3002には、機能カテゴリが格納されている。列3003には、各機能カテゴリに対して設定可能な物体の種別が格納されている。列3004には、各機能カテゴリに対応する機能一覧情報を参照するためのポインタが格納されている。
図3(B)に示す機能一覧情報は、図3(A)の行3011に格納された機能カテゴリが「書込み履歴の記録」に対する機能一覧情報である。図3(B)の例では、機能一覧情報は、列3101〜3103及び行3111〜3113を持つ。
列3101には、機能の識別子が格納されている。列3102には、各機能がデフォルト機能であるかカスタマイズ機能であるかを示す情報が格納されている。ここで、デフォルト機能は、列3003に記載される物体種別に該当する物体に対して予め設定されている機能である。
カスタマイズ機能1、2は、機能拡張システム1001を利用するユーザによって選択された操作及び処理、物体の特徴(形状及び大きさ)に適すると判定されて設定された操作及び処理、或いは、機能拡張システム1001を構成する装置の性能から選択可能な操作及び処理等のデフォルト機能とは異なる操作及び処理の組から構成されている。列3103には、各機能に対応する機能対応情報を参照するためのポインタが格納されている。
図3(C)に示す機能対応情報は、図3(B)の機能一覧情報に挙げられた各機能を構成する操作及び処理の組を規定する。
図3(C)の例では、図3(A)に示す機能カテゴリが「書込み履歴の記録」のデフォルト機能を構成する一連の操作と処理との組を規定する機能対応情報が示されている。機能対応情報は、列3201,3202を持つ。列3201には、ユーザが行う操作を規定する情報が格納されている。列3202には、各操作に対応する処理の内容が格納されている。
例えば、オブジェクト認識部1101が、種別が“本”の物体を認識すると、機能設定部1103は、図3(A)の機能カテゴリ候補情報を参照して、“本”に対しては識別子が“A”の“書き込み履歴の記録”及び識別子が“T”の“種別表示”が機能として設定可能であると判断する。
図3(B)の機能一覧情報が示すように、“書き込み履歴の記録”に対しては、識別子が“A−a”の“デフォルト機能”と、識別子が“A−b”の“カスタマイズ機能1”と、識別子が“A−c”の“カスタマイズ機能2”とが選択可能である。ここで、特に指定のない場合には、“デフォルト機能”が選択され、図3(C)の機能対応情報に示す操作及び処理が“本”の物体の機能として設定される。
そして、操作判定部1106が“なぞる”の操作がユーザにより入力されたと認識すると、処理決定部1107は、図3(C)に示す機能対応情報を参照し、“なぞる”の操作に対応する処理である“アンダーラインを引く”の処理を決定する。これにより、グラフィックス生成部1108は、拡張現実空間の本において、ユーザが指をなぞった箇所を示すアンダーラインのグラフィックスを生成し、映像出力装置1005は、そのアンダーラインのグラフィックスを拡張現実空間の本に重畳表示する。これにより、ユーザは拡張現実空間において、本にアンダーラインを引くことができる。
図4(A)は、機能設定部1103が、オブジェクト認識部1101によりオブジェクト認識された各物体に対して設定した機能を示す機能設定情報の一例を示す図である。機能設定情報は、オブジェクト認識されて拡張現実空間に取込まれた物体と、その物体に設定された機能とを対応付けて記憶している。
機能設定情報は、列4001〜4005を備える。列4001には、オブジェクト認識された物体の物体識別子“ObjectID”が格納されている。列4002には、オブジェクト認識された各物体の種別が格納されている。列4003には、オブジェクト認識された各物体に設定された機能カテゴリの識別子が格納されている。列4004には、オブジェクト認識された各物体に設定された機能の識別子が格納されている。ここでは、簡単のため、ハイフン以下が“―a”の識別子はデフォルト機能を示し、ハイフン以下が“―b”の識別子はカスタマイズ機能を示すものとする。列4005には、オブジェクト認識された各物体に設定された機能がどのユーザに関するものであるかを示すユーザ識別子が格納されている。
行4011〜4018は、それぞれ、オブジェクト認識された各物体に対応するレコードを示す。ここでは、同一の物体であっても、複数のユーザが異なる機能を設定している場合は、ユーザごとに行が分けられている。
図4(B)は、本発明の実施の形態による機能拡張装置1002が、オブジェクト認識した物体に対して設定した機能の一例を模式的に示した図である。
図4(B)に示す枠内の図は、拡張現実空間4101において、オブジェクト認識された物体を示している。物体2001a〜2001fは、映像入力装置1003が取得した映像データに含まれる物体である。物体2001a〜2001fはオブジェクト認識され、物体識別子(ObjectID)ID1〜ID6が付与されている。
物体2001aは、ObjectIDが「ID1」、種別が「本」の物体である。そして、物体2001aは、拡張現実空間4101において、例えば「書き込み履歴の記録」の機能が設定されている。物体2001dは、ObjectIDが「ID5」、種別が「缶」の物体である。そして、物体2001dは、拡張現実空間4101において、例えば「色変更機能」が設定されている。物体2001eは、ObjectIDが「ID6」、種別が「地球儀」の物体である。そして、物体2001eは、拡張現実空間4101において、例えば「検索機能」が設定されている。
機能拡張システム1001が、オブジェクト認識した物体に機能を設定する処理は、この例に限定されない。また、機能を設定する処理については図6のフローチャートを用いて後述する。
図5は、本発明の実施の形態による機能拡張装置1002において実行される初期化処理の一例を示すフローチャートである。まず、機能設定部1103は、図3に示す予め作成された機能情報を保持する(S5001)。ここで、機能情報は記憶装置1007に予め記憶されており、例えば、機能拡張装置1002の電源がユーザにオンされると、機能設定部1103は、記憶装置1007から機能情報を読み出し、図略のRAM等に格納することで、機能情報を保持する。
なお、機能設定部1103は、機能拡張装置1002に対して通信ネットワークを介して接続されたサーバから随時、最新の機能情報を取り込むようにしてもよい。この場合、図1に示す機能拡張装置1002の通信部1008を用いればよい。通信部1008は、機能拡張装置1002を通信ネットワークNTに接続するための通信装置により構成されている。通信ネットワークNTとしては、例えばインターネットが採用されている。
サーバ1009(外部判定装置の一例)は、例えば、機能拡張システム1001を管理する管理者により所持され、オペレータによって随時、作成された最新の機能情報を保持している。そして、機能拡張装置1002の電源がオンされると、サーバ1009に対して機能情報の取り込み要求を送信する。そして、サーバ1009は、機能情報の取り込み要求を受信すると、機能取り込み要求を送信した機能拡張システム1001に最新の機能情報を送信する。通信部1008は、機能情報を受信すると、その機能情報を機能設定部1103に供給する。
これにより、機能設定部1103は、常に最新の機能情報を用いて、オブジェクト認識した物体に対して機能を設定することができる。そのため、オブジェクト認識された物体に対して不要な機能が設定されることを防止することができる。
図6は、本発明の実施の形態による機能拡張装置1002が物体をオブジェクト認識し、オブジェクト認識した物体に対して機能を設定する処理の一例を示すフローチャートである。
まず、オブジェクト認識部1101は、映像入力装置1003により取得された現実空間の映像データに含まれる物体を認識し、認識した物体の種別、形状、大きさ、及び現実空間の位置を3Dモデル管理部1102に通知する(S6001)。なお、3Dモデル管理部1102を省いた場合、オブジェクト認識部1101は、認識した物体に対して物体識別子を付与し、物体識別子、並びに認識した各物体の種別、形状、大きさ、及び現実空間の位置を物体認識通知D1として機能設定部1103に通知すればよい。
ここで、物体の形状を示すデータとしては、例えば、物体の特徴点の配置パターンを示すデータを採用すればよい。また、物体の大きさを示すデータとしては、物体の輪郭内の面積を採用すればよい。また、現実空間の位置としては、機能拡張システム1001を基準としたときの物体の位置を示す3次元データを採用すればよい。
3Dモデル管理部1102は、オブジェクト認識部1101が認識した物体の種別、形状、大きさ、及び位置に対して、物体識別子を付与して、物体毎の3D立体視モデルを生成する(S6002)。そして、3Dモデル管理部1102は、生成した各3D立体視モデルを保持すると共に、物体認識通知D1として機能設定部1103に通知する。
なお、3Dモデル管理部1102を省いた場合、オブジェクト認識部1101が機能設定部1103に物体認識通知D1を通知すればよい。
次に、機能設定部1103は、認識した物体に対応するオブジェクトクラスのインスタンスが存在しない場合には、オブジェクトクラスのインスタンスを生成して保存する(S6003)。
ここで、オブジェクトクラスとは、認識した物体の“物体識別子”、“種別”、“設定された機能”、“設定したユーザ”、及び“機能設定実施済みフラグ”が定義されたクラスである。また、イスタンスとは、認識された各物体の“物体識別子”、“種別”、“設定された機能”、“設定したユーザ”、及び“機能設定実施済みフラグ”を規定するインスタンスである。
次に、機能設定部1103は、インスタンスの“機能設定実施済みフラグ”がOFFかONかを判定する(S6004)。
S6004において、“機能設定実施済みフラグ”がOFFのインスタンスが存在する場合(S6004でYES)、すなわち、機能が設定済でない物体が存在する場合、機能設定部1103は、図3(A)に示す機能カテゴリ候補情報を参照して、認識された物体の種別から、当該物体に対して設定可能な機能カテゴリの候補を検索する(S6005)。図3(A)の例では、種別が本の物体について、設定可能な機能カテゴリの候補は、識別子が“A”の“書き込み履歴の記録”と、識別子が“T”の“種別表示”となる。
一方、S6004において、全てのインスタンスの“機能設定済みフラグ”がONである場合(S6004でNO)、すなわち、全ての物体について機能が設定済である場合、処理を終了する。
次に、機能設定部1103は、検索した設定可能な機能カテゴリの候補の中から一つの機能カテゴリの候補を選択する(S6006)。図3(A)の例において、種別が本の物体は、設定可能な機能カテゴリの候補が、“書き込み履歴の記録”及び“種別表示”である。そのため、機能設定部1103は、まず、上側の行に格納された“書込み履歴の記録”を選択し、次に、“種別表示”を選択するというように、図3(A)に示す機能カテゴリの候補を上から順に選択する。
次に、機能設定部1103は、選択した機能カテゴリに定義された一連の操作及び処理のうち、いずれの操作及び処理を該当する物体に設定するか否かを決定する(S6007)。
以下に、機能設定部1103が操作及び処理を決定する方法の例を3つ記載する。
(方法1)
方法1は、認識した物体の形状、大きさ、及び機能拡張システム1001のスペックから、当該物体に適合する操作及び機能を決定する方法である。
具体的には、以下のような(例1−a)〜(例1〜d)が挙げられる。
(例1−a)
機能設定部1103は、操作判定部1106が文字を認識する機能を持つか持たないかに応じて、“書く”についての操作を機能として設定するか否かを判定する。例えば、操作判定部1106が、ユーザの“なぞる”の動作を認識することはできるが、認識した“なぞる”の動作からユーザが入力した文字を認識する機能を持たない場合もある。この場合、図3(C)に示す“書く”の操作を機能として設定しても無駄である。そこで、機能設定部1103は、操作判定部1106が文字認識機能を持たない場合、“書く”の操作を機能として設定しない。
例えば、種別が本の物体において、機能設定部1103は、以下の処理を行う。まず、機能設定部1103は、“書込み履歴の記録”のデフォルト機能に対応する機能対応情報(図3(C))を参照する。そして、機能設定部1103は、“書く”についての操作を省くと決定すると、デフォルト機能の機能対応情報の中から“書く”についての操作及び処理を規定する行3214を削除する。そして、機能設定部1103は、行3214が削除された機能対応情報をカスタマイズ機能1として生成し、カスタマイズ機能1を本に対応付ける。具体的には、機能設定部1103は、カスタマイズ機能1に識別子“A−b”を付与してカスタマイズ機能1の機能対応情報を生成して保存し、識別子“A−b”を本のインスタンスの“設定された機能”に書き込む。これにより、カスタマイズ機能1の機能対応情報で規定された一連の操作及び処理が本の機能として設定される。
(例1−b)
機能設定部1103は、物体の大きさから図3(C)に示す“文字記入”の処理を機能として設定するか否かを判定する。例えば、オブジェクト認識部1101が認識した物体が本である場合、大きな本であればユーザは文字を書き込むが、小さな本であればユーザは文字を書き込まない。この場合、機能設定部1103は、物体の大きさが規定値より小さい場合、この物体に対して“文字記入”の処理を設定しない。
例えば、種別が本の物体において、機能設定部1103は、以下の処理を行う。まず、機能設定部1103は、“書込み履歴の記録”のデフォルト機能に対応する機能対応情報(図3(C))を参照する。そして、機能設定部1103は、“文字記入”についての処理を省くと決定すると、デフォルト機能の機能対応情報の中から“文字記入”についての操作及び処理を規定する行3214を削除する。そして、機能設定部1103は、行3214が削除された機能対応情報をカスタマイズ機能1として生成し、カスタマイズ機能1を本に対応付ける。
(例1−c)
機能設定部1103は、記憶装置1007の容量やアクセス制限機能の有無から、“書き込み履歴の記録”を機能として設定するか否か判断する。例えば、記憶装置1007の容量が小さい場合や記憶装置1007のアクセスに制限が加えられている場合、記憶装置1007は、ユーザの書き込み履歴を記憶することができない。この場合、“書き込み履歴の記録”を物体の機能として設定しても無駄である。
そこで、機能設定部1103は、記憶装置1007の容量が規定値より小さい場合又は記憶装置1007にアクセス制限が掛けられている場合、“書き込み履歴の記録”を機能として設定しない。
例えば、種別が本の物体において、機能設定部1103は、“書き込み履歴の記録”の機能を本に対して設定しないと判定した場合、本の物体識別子に対して“書き込み履歴の記録”の識別子“A”を対応づけない。これにより、本に対して“書き込み履歴の記録”が規定する全ての操作及び処理が設定されない。
(例1−d)
例えば、物体として椅子を考える。椅子には、回転式の椅子と固定式の椅子とが存在する。固定式の椅子の形状は、脚が4本であることが一般的である。回転式の椅子は、脚が一本であることが一般的である。固定式の椅子に対してユーザは“回転”の操作は行わない。この場合、固定式の椅子に対して“回転”の操作を機能として設定しても無駄である。
そこで、機能設定部1103は、オブジェクト認識部1101が認識した物体が、椅子であり、形状が4本の脚を持つ場合、“回転”についての操作及び処理を椅子に対して設定しない。
例えば図3(C)に示すデフォルト機能を示す機能対応情報において、回転についての操作及び処理が規定されていたとする。この場合、機能設定部1103は、種別が椅子、で形状が4本の脚を持つ物体に対して、“回転”についての操作及び処理を規定する行を機能対応情報から削除したものをカスタマイズ機能1として生成する。そして、生成したカスタマイズ機能1の識別子を椅子の物体識別子と対応付ける。
(方法2)
方法2は、機能拡張システム1001を管理する管理者が認識した各物体に対して機能を設定する方法である。具体的には、機能設定部1103は、認識された各物体について、設定可能な操作及び処理の判定処理をサーバ1009に依頼する。すると、サーバ1009は、判定処理が依頼された物体について操作及び処理を判定し、判定した操作及び処理を含む判定結果を機能拡張システム1001に送信する。なお、管理者としては、機能拡張システム1001の製造者や機能拡張システム1001にアプリケーションを提供する提供者や、機能拡張システム1001の管理サービスを行うサービス提供者が該当する。
そして、機能設定部1103は、サーバ1009の判定結果が示す操作及び処理を判定依頼を行った物体に対する機能として設定する。
ここで、サーバ1009は、上述した方法1と同じ手法を用いて、判定処理を行う。つまり、サーバ1009は、図3に示す機能情報を保持しており、判定依頼を受信すると、機能情報を参照して、判定依頼がされた物体の操作及び処理を決定する。ここで、判定依頼には、物体識別子、形状、大きさ、機器情報等を含ませる。そして、サーバ1009は、判定依頼に含まれる物体識別子、形状、大きさ、及び機器情報から操作及び処理を決定すればよい。なお、機器情報としては、操作判定部1106が文字認識機能を持つか否か、及び記憶装置1007の記憶容量等の情報が含まれる。
(方法3)
方法3は、ユーザに設定可能な操作及び処理を提示し、提示した操作及び処理の中から希望する操作及び処理を選択させる方法である。具体的には、オブジェクト認識部1101により種別が本の物体が認識されたとすると、機能設定部1103は、本のデフォルト機能に対応する機能対応情報に規定される操作及び処理(図3(C))をユーザに提示する。
この場合、機能設定部1103は、図3(C)に示す操作及び処理を表示するための表示依頼をグラフィックス生成部1108に通知して、図3(C)に示す操作及び処理をリスト表示するグラフィックスを映像出力装置1005に表示させればよい。
ユーザは、映像出力装置1005にリスト表示された操作及び処理の中から希望する操作及び処理を選択する選択指令をユーザ入力認識装置1004に入力する。すると、機能設定部1103は、ユーザにより選択された操作及び処理から構成される機能対応情報をカスタマイズ機能1として生成し、カスタマイズ機能1を操作及び処理を選択したユーザのユーザ識別子とを本に対応付ける。
ここで、既にあるユーザによってカスタマイズ機能1が対応付けられた物体と同一の物体(物体識別子が同一の物体)に対して、別のユーザが操作及び処理を選択することもある。この場合、機能設定部1103は、別のユーザが選択した操作及び処理から構成される機能対応情報をカスタマイズ機能2として生成し、別のユーザのユーザ識別子と、カスタマイズ機能2とを物体に対応付ければよい。これにより、同一の物体であっても、当該物体に対してユーザ別に機能を設定することができる。以上により、各物体に適した機能が設定される。
図6に戻り、機能設定部1103は、設定可能な機能カテゴリの候補をすべて選択したか否かを判定する(S6008)。そして、設定可能な機能カテゴリを全て選択した場合(S6008でYES)、機能設定部1103は、設定すると決定した機能をオブジェクトクラスのインスタンスに設定し、“機能設定実施済みフラグ”をONに設定する(S6009)。一方、機能設定部1103は、設定可能な機能カテゴリを全て選択していない場合(S6008でNO)、処理をS6006に戻し、処理を継続する。
つまり、機能設定部1103は、認識された全ての物体のインスタンスの“機能実施済みフラグ”がONになるまでS6006〜S6008の処理を繰り返し、処理を終了する。
例えば、本については、図3(A)において、まず“書き込み履歴の記録”が選択される。そして、“書き込み履歴の記録”について、方法1〜方法3のいずれかを用いて機能対応情報が生成されると、次に、“種別表示”が選択され、“種別表示”について、方法1〜方法3のいずれかを用いて機能対応情報が生成される。なお、図3では、“種別表示”に対応する機能対応情報は示されていないが、図3(C)に示すようなデフォルトの機能対応情報を持っている場合、機能設定部1103は、そのデフォルトの機能対応情報を用いて機能対応情報を生成すればよい。
図7は、本発明の実施の形態による機能拡張装置1002が、ユーザの操作を認識し、物体に設定された機能を実行する際の処理の一例を示すフローチャートである。
入力認識部1104は、ユーザ入力認識装置1004により取得されたユーザの手の動作を示す情報からユーザの入力動作及び入力位置を認識し、入力位置を選択判定部1105に通知し、かつ、手の動作を示す情報を操作判定部1106に通知する(S7001)。
次に、選択判定部1105は、入力認識部1104から通知された入力位置と、3Dモデル管理部1102から通知された物体情報D5とから、ユーザが選択した選択物体を判定する(S7002)。
次に、操作判定部1106は、入力認識部1104から通知されたユーザの手の動作を示すからユーザの操作を判定する(S7003)。
次に、処理決定部1107は、選択物体に対して設定された機能を問い合わせるための機能問い合わせ依頼D4を機能設定部1103に通知し(S7004)、当該物体に対して設定された機能を取得する。
具体的には、機能設定部1103は、まず、図4に示す機能設定情報を参照し、選択物体に対して設定されている機能を特定する。例えば、機能問い合わせ依頼D4に含まれる物体識別子が“ID1”であり、現在、機能選択システムを使用しているユーザがAさんであったとする。この場合、機能設定部1103は、図4に示す行4011を参照する。すると、行4011の列4004に機能の識別子として“A−a”が格納されている。つまり、機能問い合わせ依頼D4に係る本に対して“書き込み履歴の記録”のデフォルト機能が設定されている。
よって、機能設定部1103は、機能の識別子“A−a”に対応する機能対応情報(図3(C)参照)を処理決定部1107に通知する。これにより、処理決定部1107は、選択物体である本に対して設定された機能を取得する。
次に、処理決定部1107は、取得した機能を参照し、操作判定部1106により判定された操作に対応する処理を決定する(S7005)。例えば、ユーザにより入力された操作が“なぞる”であったとすると、処理決定部1107が図3(C)に示す機能対応情報を参照し、“なぞる”の操作に対応する“アンダーラインを引く”の処理を決定する。
次に、処理決定部1107は、決定した処理がグラフィックス重畳を伴うものであるか否かを判定する(S7006)。ここで、処理がグラフィックス重畳を伴うか否かの判定は、決定した処理の内容から判定すればよい。例えば、図3(C)の例では、“前回までの書き込み履歴を表示する”、“アンダーラインを引く”、“文字を記入”の処理は、グラフィックスの重畳を伴う処理である。したがって、処理決定部1107は決定した処理が上記の処理に該当する場合は、グラフィックスの重畳を伴う処理であると判定する。
そして、決定した処理がグラフィックスの重畳を伴う場合(S7006でYES)、処理決定部1107は、グラフィックスの大きさ、形状、及び重畳位置を含むグラフィックスの重畳依頼D2を3Dモデル管理部1102に通知する(S7007)。
次に、3Dモデル管理部1102は、通知されたグラフィックスの重畳依頼D2をグラフィックス生成情報として生成し、このグラフィックス生成情報をグラフィックス生成依頼D3としてグラフィックス生成部1108に通知する(S7008)。
次に、グラフィックス生成部1108は、グラフィックス生成依頼D3に従って、グラフィックスを生成し(S7009)、描画依頼D9を映像出力制御部1109に通知する。次に、映像出力制御部1109は、描画依頼D9に従って、映像データに表示された選択物体にグラフィックス生成部1108により生成されたグラフィックスを重畳し(S7010)、映像出力装置1005に供給する。S7006において、処理がグラフィックスの重畳を伴うものでは無い場合(S7006でNO)、処理がS7011に進められる。
なお、3Dモデル管理部1102及びグラフィックス生成部1108を省いた場合、S7007〜S7009において、処理決定部1107が選択物体に重畳するグラフィックスを生成し、生成したグラフィックスと重畳位置とを示す描画依頼D9を映像出力制御部1109に通知すればよい。
次に、処理決定部1107は、決定した処理が、操作/利用状況の記録を含むか否かを判定する(S7011)。そして、決定した処理が操作/利用状況の記録を含むと判定した場合(S7011でYES)、処理決定部1107は、操作/利用状況を記憶装置1007に記録し(S7012)、処理を終了する。ここで、操作/利用状況の記録を含む処理としては、例えば図3(C)に示す“書き込み履歴を記録開始”及び“書き込み履歴を記録終了”の処理が該当する。
処理決定部1107は、“書き込み履歴を記録開始”の処理を決定すると、ユーザにより入力された文字の記録を開始する。以後、ユーザにより文字が入力される都度、その文字が記憶装置1007に格納される。そして、処理決定部1107は、“書き込み履歴を記録終了”の処理を決定すると、文字の記憶装置1007への格納を終了する。
一方、決定した処理が、操作/利用状況の記録を含まない場合(S7011でNO)、S7012をスルーして処理が終了される。
このように、本実施の形態における機能拡張装置1002によれば、オブジェクト認識された物体に、固定の機能を設定するのではなく、その物体の種別に適した機能が動的に設定される。
そのため、各物体に対して個別に機能を設定しなくても、物体に対して機能を設定することができる。したがって、機能が全く設定されていない現実空間をユーザが移動したとしても、当該物体に対して機能を設定することができる。
なお、図1に記載の全ブロックをヘッドマウントディスプレイに搭載してもよいし、一部のブロックをヘッドマウントディスプレイに搭載し、他のブロックを集積回路等により構成し、ヘッドマウントディスプレイに外付けさせてもよい。
また、上述した本発明の実施の形態にかかる機能拡張装置の処理手順は、記憶装置(ROM、RAM、ハードディスク等)に格納された上述した処理手順を実行可能な機能拡張プログラムが、CPUによって解釈実行されることで実現されてもよい。この場合、機能拡張プログラムは、記憶媒体を介して記憶装置内に導入されてもよいし、記憶媒体上から直接実行されてもよい。なお、記憶媒体は、ROMやRAMやフラッシュメモリ等の半導体メモリ、フレキシブルディスクやハードディスク等の磁気ディスクメモリ、CD−ROMやDVDやBD等の光ディスクメモリ、及びメモリカード等をいう。また、記憶媒体は、電話回線や搬送路等の通信媒体を含む概念である。
また、上述した本発明の実施形態に係る機能拡張装置の各構成は、それぞれ集積回路であるLSIとして実現することができる。これらは、個別に1チップ化されてもよいし、それぞれにおいて全てまたは一部を含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応例が可能性としてありえる。
上記の機能拡張装置の技術的特徴は以下のようにまとめることができる。
(1)機能拡張装置は、現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張装置であって、映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識部と、物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識部により物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定部と、前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識部と、前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識部が認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定部と、前記入力認識部が認識した入力動作を用いて、ユーザの操作を判定する操作判定部と、前記選択判定部が選択した選択物体に対して、前記機能設定部により設定された機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する処理決定部と、前記処理決定部が決定した処理を実行する実行部とを備える。
この構成によれば、物体の種別ごとに設定可能な操作及び処理から構成される機能を規定する機能情報が予め保持されている。そして、映像入力装置により取得された現実空間の映像データから、映像データに含まれる各物体が認識されると、機能情報が参照され、認識された各物体に対して、各物体の種別を指標として機能が設定される。
そして、ユーザが入力動作を行うとその入力動作と入力動作が行われた現実空間での入力位置とが認識される。そして、認識された各物体の現実空間での位置と認識された入力位置とに基づいて、認識された各物体の中から、ユーザが操作対象として選択した選択物体が判定される。そして、入力動作からユーザの操作が判定され、その操作に対応する処理が決定され、決定された処理が選択物体に対して実行される。
したがって、認識された物体に対して適した機能を動的に設定することができる。そのため、各物体に対して予め機能を設定しておかなくても、各物体に対して機能を設定することができる。
(2)前記オブジェクト認識部は、認識した物体ごとに当該物体の種別を識別し、前記機能設定部は、種別が同一の物体であっても物体ごとに機能を設定することが好ましい。
例えば、種別が同一であっても、大きさや性能が異なる物体に対して、全く同一の機能を設定すると、不要な機能が物体に対して設定される虞がある。そこで、種別が同一の物体であっても物体ごとに個別に機能を設定することで、不要な機能が物体に対して設定されることをより確実に防止することができる。
(3)前記入力認識部は、入力動作を行ったユーザを識別するためのユーザ識別子を取得し、前記機能設定部は、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理の候補をユーザに提示し、ユーザにより選択された操作及び処理を当該物体の機能として設定し、設定した機能を、前記ユーザ識別子と対応付けて保持し、前記処理決定部は、前記機能設定部が前記ユーザ識別子を持つユーザに対して設定した機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定することが好ましい。
この構成によれば、同一の物体であってもユーザの好みに合わせて、ユーザ別に機能を設定することができる。
(4)前記機能設定部は、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理を判定し、判定した操作及び処理を当該物体の機能として設定することが好ましい。
この構成によれば、物体の種別から定められる一連の操作及び処理のうち、物体別に適した操作及び処理を機能として設定することができ、各物体に対してより適した機能を設定することができる。
(5)前記オブジェクト認識部は、物体の形状及び大きさを認識し、前記機能設定部は、前記オブジェクト認識部が認識した物体の形状及び大きさの少なくともいずれか一方に基づいて、当該物体に設定可能な操作及び処理を判定することが好ましい。
この構成によれば、物体の形状及び大きさの少なくともいずれか一方に基づいて、物体に適した操作及び処理から構成される機能を設定することができる。
(6)前記機能設定部は、前記機能拡張装置の能力及び前記機能拡張装置に接続される周辺装置の能力に基づいて、前記オブジェクト認識部により認識された物体に対して、設定可能な操作及び処理を判定することが好ましい。
この構成によれば、機能拡張装置の能力や、周辺装置の能力に基づいて、実行可能な操作及び処理から構成される機能を物体に対して設定することができる。
(7)機能設定部は、所定の通信ネットワークを介して外部判定装置と接続され、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理の判定処理を前記外部判定装置に依頼し、前記外部判定装置による判定結果にしたがって、当該物体に対する機能を設定することが好ましい。
この構成によれば、外部判定装置が各物体に対する操作及び処理を判定するため、機能拡張装置の処理負担を軽減することができる。
(8)前記機能設定部は、所定の通信ネットワークを介して接続されたサーバから前記機能情報を取得することが好ましい。
この構成によれば、適宜、最新の機能情報をサーバから取得することができる。
(9)前記実行部は、前記映像入力装置により取得された映像データにグラフィックスを重畳させて映像出力装置に表示させる映像出力制御部を含み、前記処理決定部により決定された処理が前記選択物体に対してグラフィックスを重畳させる処理である場合、前記選択物体に重畳させるグラフィックスを生成し、生成したグラフィックスを前記選択物体に重畳させる描画依頼を前記映像出力制御部に出力するグラフィックス生成部を更に備えることが好ましい。
この構成によれば、ユーザが選択物体を操作することにより決定された処理が選択物体にグラフィックスを重畳させる処理である場合、グラフィックス生成部によって、選択物体に重畳するグラフィックスが生成され、生成されたグラフィックスが映像データ中の選択物体に重畳させる描画依頼が映像出力制御部に出力される。そして、描画依頼を受け付けた映像出力制御部によって映像データ中の選択物体にグラフィックスが重畳され、重畳された映像データが映像出力装置に表示される。そのため、選択物体に対する処理が視覚を通じてユーザにフィードバックされ、ユーザに対して操作感を付与することができる。
(10)前記実行部は、ユーザに対して触覚を付与する触覚出力装置を制御する触覚出力制御部を含み、前記触覚出力制御部は、前記選択物体へのグラフィックスの重畳に付随してユーザに触覚を付与するために前記触覚出力装置を駆動させることが好ましい。
この構成によれば、選択物体に対してグラフィックスが重畳される際、触覚出力装置が駆動されてユーザに触覚が付与される。そのため、選択物体に対する処理が視覚のみならず触覚も通じてフィードバックされ、ユーザに対してより刺激のある操作感を付与することができ、ユーザの操作に対する好奇心をより高めることができる。
(11)オブジェクト認識部により認識された各物体に対して物体識別子を付与し、前記物体識別子、前記物体の種別、及び前記物体の現実空間での位置を含む物体毎の3D立体視モデルを生成し、生成した物体毎の3D立体視モデルを物体認識通知として前記機能設定部に通知する3Dモデル管理部を更に備え、前記機能設定部は、前記3Dモデル管理部から物体認識通知が通知されたときに、通知された物体認識通知が示す物体が前記オブジェクト認識部により認識されたと判定し、前記機能情報を参照して認識された物体の種別から当該物体に対する機能を設定することが好ましい。
この構成によれば、オブジェクト認識部により物体が認識されると、3Dモデル管理部により、各物体に物体識別子が付与され、物体識別子、物体の種別、及び物体の現実空間での位置を含む3D立体視モデルが物体毎に生成され、生成された3D立体視モデルが物体認識通知として機能設定部に通知される。このように、オブジェクト認識部により物体が認識されると、認識された物体に関する情報が機能設定部に速やかに通知されるため、機能設定部は認識された各物体に対する機能を速やかに設定することができる。
(12)前記3Dモデル管理部は、前記オブジェクト認識部により認識された各物体の位置データ及び物体識別子を対応付けた物体情報を前記選択判定部に通知し、前記選択判定部は、前記3Dモデル管理部から通知された物体情報によって前記オブジェクト認識部により認識された各物体の現実空間での位置を認識し、前記入力認識部により認識された前記入力位置に対して所定範囲内に位置する物体を前記選択物体として判定することが好ましい。
この構成によれば、オブジェクト認識部により物体が認識されると、3Dモデル管理部から選択判定部に物体識別子と各物体の位置データとが対応付けられた物体情報が通知される。そのため、選択判定部は3Dモデル管理部から通知された物体情報により各物体の現実空間での位置を認識することができる。そして、選択判定部は、認識した各物体の位置とユーザの入力位置とを照合し、入力位置に対して所定範囲内にいる物体を選択物体として正確に判定することができる。
本発明にかかる機能拡張装置は、ヘッドマウントディスプレイ等を用いた拡張現実の世界において、オブジェクト認識された物体に、物体の種別に合わせた機能を動的に設定し、その機能を利用する手段として有用である。

Claims (12)

  1. 現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張装置であって、
    映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識部と、
    物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識部により物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定部と、
    前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識部と、
    前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識部が認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定部と、
    前記入力認識部が認識した入力動作を用いて、ユーザの操作を判定する操作判定部と、
    前記選択判定部が選択した選択物体に対して、前記機能設定部により設定された機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する処理決定部と、
    前記処理決定部が決定した処理を実行する実行部とを備え、
    前記オブジェクト認識部は、認識した物体ごとに当該物体の種別を識別し、
    前記機能設定部は、種別が同一の物体であっても物体ごとに機能を設定するものであり、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理を、前記機能拡張装置の能力及び前記機能拡張装置に接続される周辺装置の能力に基づいて判定し、判定した操作及び処理を当該物体の機能として設定する機能拡張装置。
  2. 前記入力認識部は、入力動作を行ったユーザを識別するためのユーザ識別子を取得し、
    前記機能設定部は、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理の候補をユーザに提示し、ユーザにより選択された操作及び処理を当該物体の機能として設定し、設定した機能を、前記ユーザ識別子と対応付けて保持し、
    前記処理決定部は、前記機能設定部が前記ユーザ識別子を持つユーザに対して設定した機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する請求項1記載の機能拡張装置。
  3. 前記オブジェクト認識部は、物体の形状及び大きさを認識し、
    前記機能設定部は、前記オブジェクト認識部が認識した物体の形状及び大きさの少なくともいずれか一方に基づいて、当該物体に設定可能な操作及び処理を判定する請求項1又は3記載の機能拡張装置。
  4. 前記機能設定部は、所定の通信ネットワークを介して外部判定装置と接続され、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理の判定処理を前記外部判定装置に依頼し、前記外部判定装置による判定結果にしたがって、当該物体に対する機能を設定する請求項1、3、及び5のいずれかに記載の機能拡張装置。
  5. 前記機能設定部は、所定の通信ネットワークを介して接続されたサーバから前記機能情報を取得する請求項1、3、5、及び7のいずれかに記載の機能拡張装置。
  6. 前記実行部は、前記映像入力装置により取得された映像データにグラフィックスを重畳させて映像出力装置に表示させる映像出力制御部を含み、
    前記処理決定部により決定された処理が前記選択物体に対してグラフィックスを重畳させる処理である場合、前記選択物体に重畳させるグラフィックスを生成し、生成したグラフィックスを前記選択物体に重畳させる描画依頼を前記映像出力制御部に出力するグラフィックス生成部を更に備える請求項1、3、5、7、及び8のいずれかに記載の機能拡張装置。
  7. 前記実行部は、ユーザに対して触覚を付与する触覚出力装置を制御する触覚出力制御部を含み、
    前記触覚出力制御部は、前記選択物体へのグラフィックスの重畳に付随してユーザに触覚を付与するために前記触覚出力装置を駆動させる請求項9記載の機能拡張装置。
  8. オブジェクト認識部により認識された各物体に対して物体識別子を付与し、前記物体識別子、前記物体の種別、及び前記物体の現実空間での位置を含む物体毎の3D立体視モデルを生成し、生成した物体毎の3D立体視モデルを物体認識通知として前記機能設定部に通知する3Dモデル管理部を更に備え、
    前記機能設定部は、前記3Dモデル管理部から物体認識通知が通知されたときに、通知された物体認識通知が示す物体が前記オブジェクト認識部により認識されたと判定し、前記機能情報を参照して認識された物体の種別から当該物体に対する機能を設定する請求項1、3、5、7、8、9、及び10のいずれかに記載の機能拡張装置。
  9. 前記3Dモデル管理部は、前記オブジェクト認識部により認識された各物体の位置データ及び物体識別子を対応付けた物体情報を前記選択判定部に通知し、
    前記選択判定部は、前記3Dモデル管理部から通知された物体情報によって前記オブジェクト認識部により認識された各物体の現実空間での位置を認識し、前記入力認識部により認識された前記入力位置に対して所定範囲内に位置する物体を前記選択物体として判定する請求項11記載の機能拡張装置。
  10. 現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張方法であって、
    機能拡張装置が、映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識ステップと、
    機能拡張装置が、物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識ステップにより物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定ステップと、
    機能拡張装置が、前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識ステップと、
    機能拡張装置が、前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識ステップが認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定ステップと、
    機能拡張装置が、前記入力認識ステップが認識した入力動作を用いて、ユーザの操作を判定する操作判定ステップと、
    機能拡張装置が、前記選択判定部が選択した選択物体に対して、前記機能設定ステップにより設定された機能を構成する操作のうち、前記操作判定ステップにより判定された操作に対する処理を決定する処理決定ステップと、
    機能拡張装置が、前記処理決定ステップが決定した処理を実行する実行ステップとを備え、
    機能拡張装置が、前記オブジェクト認識ステップにおいて、認識した物体ごとに当該物体の種別を識別し、
    前記機能設定ステップにおいて、機能拡張装置は、種別が同一の物体であっても物体ごとに機能を設定するものであり、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理を、前記機能拡張装置の能力及び前記機能拡張装置に接続される周辺装置の能力に基づいて判定し、判定した操作及び処理を当該物体の機能として設定する機能拡張方法。
  11. 現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張装置としてコンピュータを機能させる機能拡張プログラムであって、
    映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識部と、
    物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識部により物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定部と、
    前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識部と、
    前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識部が認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定部と、
    前記入力認識部が認識した入力動作を用いて、ユーザの操作を判定する操作判定部と、
    前記選択判定部が選択した選択物体に対して、前記機能設定部により設定された機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する処理決定部と、
    前記処理決定部が決定した処理を実行する実行部としてコンピュータを機能させ、
    前記オブジェクト認識部は、認識した物体ごとに当該物体の種別を識別し、
    前記機能設定部は、種別が同一の物体であっても物体ごとに機能を設定するものであり、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理を、前記機能拡張装置の能力及び前記機能拡張装置に接続される周辺装置の能力に基づいて判定し、判定した操作及び処理を当該物体の機能として設定する機能拡張プログラム。
  12. 現実空間における物体を拡張現実空間に取り込み、当該物体に機能を設定する機能拡張装置の集積回路であって、
    映像入力装置により取得された現実空間の映像データから当該映像データに含まれる物体を認識し、認識した物体の種別及び現実空間での位置を認識するオブジェクト認識部と、
    物体の種別ごとに設定可能な操作及び処理の組から構成される機能が規定された機能情報を保持し、前記オブジェクト認識部により物体が認識された際に、前記機能情報を参照し、認識された物体の種別から当該物体に対する機能を設定する機能設定部と、
    前記現実空間において、ユーザにより行われた入力動作及び前記入力動作が行われた現実空間での入力位置を認識する入力認識部と、
    前記オブジェクト認識部が認識した物体の現実空間での位置及び前記入力認識部が認識した現実空間での入力位置に基づいて、ユーザが操作対象として選択した選択物体を判定する選択判定部と、
    前記入力認識部が認識した入力動作を用いて、ユーザの操作を判定する操作判定部と、
    前記選択判定部が選択した選択物体に対して、前記機能設定部により設定された機能を構成する操作のうち、前記操作判定部により判定された操作に対する処理を決定する処理決定部と、
    前記処理決定部が決定した処理を実行する実行部とを備え、
    前記オブジェクト認識部は、認識した物体ごとに当該物体の種別を識別し、
    前記機能設定部は、種別が同一の物体であっても物体ごとに機能を設定するものであり、前記オブジェクト認識部により物体が認識された際に、当該物体の種別に対して設定可能な操作及び処理のうち、当該物体に対して設定可能な操作及び処理を、前記機能拡張装置の能力及び前記機能拡張装置に接続される周辺装置の能力に基づいて判定し、判定した操作及び処理を当該物体の機能として設定する集積回路。
JP2012555724A 2011-02-01 2012-01-20 機能拡張装置、機能拡張方法、機能拡張プログラム、及び集積回路 Active JP5844288B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012555724A JP5844288B2 (ja) 2011-02-01 2012-01-20 機能拡張装置、機能拡張方法、機能拡張プログラム、及び集積回路

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011019784 2011-02-01
JP2011019784 2011-02-01
PCT/JP2012/000357 WO2012105175A1 (ja) 2011-02-01 2012-01-20 機能拡張装置、機能拡張方法、機能拡張プログラム、及び集積回路
JP2012555724A JP5844288B2 (ja) 2011-02-01 2012-01-20 機能拡張装置、機能拡張方法、機能拡張プログラム、及び集積回路

Publications (2)

Publication Number Publication Date
JPWO2012105175A1 JPWO2012105175A1 (ja) 2014-07-03
JP5844288B2 true JP5844288B2 (ja) 2016-01-13

Family

ID=46602403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012555724A Active JP5844288B2 (ja) 2011-02-01 2012-01-20 機能拡張装置、機能拡張方法、機能拡張プログラム、及び集積回路

Country Status (4)

Country Link
US (1) US8965049B2 (ja)
JP (1) JP5844288B2 (ja)
CN (1) CN103003783B (ja)
WO (1) WO2012105175A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7296517B2 (ja) 2020-02-21 2023-06-22 本田技研工業株式会社 鞍乗り型車両

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014050957A1 (ja) 2012-09-27 2014-04-03 京セラ株式会社 表示装置、制御方法および制御プログラム
CN105188516B (zh) * 2013-03-11 2017-12-22 奇跃公司 用于增强和虚拟现实的系统与方法
US9092954B2 (en) * 2013-03-15 2015-07-28 Immersion Corporation Wearable haptic device
KR102271198B1 (ko) 2013-03-15 2021-06-29 매직 립, 인코포레이티드 디스플레이 시스템 및 방법
JP5900393B2 (ja) * 2013-03-21 2016-04-06 ソニー株式会社 情報処理装置、操作制御方法及びプログラム
JP6108926B2 (ja) * 2013-04-15 2017-04-05 オリンパス株式会社 ウェアラブル装置、プログラム及びウェアラブル装置の表示制御方法
US9740361B2 (en) 2013-10-14 2017-08-22 Microsoft Technology Licensing, Llc Group experience user interface
JP2015135645A (ja) * 2014-01-20 2015-07-27 ヤフー株式会社 情報表示制御装置、情報表示制御方法及びプログラム
US9396586B2 (en) 2014-03-14 2016-07-19 Matterport, Inc. Processing and/or transmitting 3D data
WO2015159550A1 (ja) * 2014-04-18 2015-10-22 日本電気株式会社 情報処理システム、制御方法、及びプログラム記録媒体
US9569859B2 (en) 2014-12-29 2017-02-14 Dell Products, Lp System and method for redefining depth-based edge snapping for three-dimensional point selection
US9792487B2 (en) * 2014-12-29 2017-10-17 Dell Products, Lp System and method for determining dimensions of an object in an image
US20170061700A1 (en) * 2015-02-13 2017-03-02 Julian Michael Urbach Intercommunication between a head mounted display and a real world object
US10088866B2 (en) * 2015-03-18 2018-10-02 Motorola Mobility Llc Controlling the orientation of a device display based on usage context
JP6841232B2 (ja) * 2015-12-18 2021-03-10 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US11086393B2 (en) * 2016-12-27 2021-08-10 Sony Corporation Information processing device, information processing method, and computer program
JP2017163560A (ja) * 2017-04-06 2017-09-14 京セラ株式会社 表示装置、システムおよび表示方法
JP6714632B2 (ja) * 2018-03-20 2020-06-24 マクセル株式会社 情報表示端末及び情報表示方法
WO2019189965A1 (ko) * 2018-03-30 2019-10-03 데이터얼라이언스 주식회사 가상 현실과 증강 현실을 이용한 IoT 디바이스 제어 시스템 및 방법
US10713487B2 (en) 2018-06-29 2020-07-14 Pixart Imaging Inc. Object determining system and electronic apparatus applying the object determining system
JP2021536592A (ja) 2018-08-31 2021-12-27 マジック リープ, インコーポレイテッドMagic Leap, Inc. 拡張現実デバイスのための空間的に分解された動的調光
US11354026B1 (en) * 2020-01-28 2022-06-07 Apple Inc. Method and device for assigning an operation set

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154781A (ja) * 1999-11-29 2001-06-08 Nec Corp デスクトップ情報装置
JP2004531791A (ja) * 2001-01-24 2004-10-14 ジオベクター コーポレーション 物をアドレスするポインティング・システム
US20100199232A1 (en) * 2009-02-03 2010-08-05 Massachusetts Institute Of Technology Wearable Gestural Interface

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207620A (ja) 1997-01-28 1998-08-07 Atr Chinou Eizo Tsushin Kenkyusho:Kk 立体インタラクション装置および立体インタラクション方法
JP4332964B2 (ja) * 1999-12-21 2009-09-16 ソニー株式会社 情報入出力システム及び情報入出力方法
CN1405726A (zh) * 2001-08-16 2003-03-26 力捷电脑股份有限公司 自动识别扫描区域的方法
US20030156135A1 (en) * 2002-02-15 2003-08-21 Lucarelli Designs & Displays, Inc. Virtual reality system for tradeshows and associated methods
US20060234602A1 (en) * 2004-06-08 2006-10-19 Speechgear, Inc. Figurine using wireless communication to harness external computing power
US8082245B2 (en) * 2008-09-11 2011-12-20 International Business Machines Corporation Providing location information within a virtual world
JP2011008601A (ja) * 2009-06-26 2011-01-13 Sony Computer Entertainment Inc 情報処理装置および情報処理方法
US20120293506A1 (en) * 2009-11-10 2012-11-22 Selex Sistemi Integrati S.P.A. Avatar-Based Virtual Collaborative Assistance
US8743145B1 (en) * 2010-08-26 2014-06-03 Amazon Technologies, Inc. Visual overlay for augmenting reality
US20120075490A1 (en) * 2010-09-27 2012-03-29 Johney Tsai Systems and methods for determining positioning of objects within a scene in video content
US9122053B2 (en) * 2010-10-15 2015-09-01 Microsoft Technology Licensing, Llc Realistic occlusion for a head mounted augmented reality display
US9113050B2 (en) * 2011-01-13 2015-08-18 The Boeing Company Augmented collaboration system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154781A (ja) * 1999-11-29 2001-06-08 Nec Corp デスクトップ情報装置
JP2004531791A (ja) * 2001-01-24 2004-10-14 ジオベクター コーポレーション 物をアドレスするポインティング・システム
US20100199232A1 (en) * 2009-02-03 2010-08-05 Massachusetts Institute Of Technology Wearable Gestural Interface

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7296517B2 (ja) 2020-02-21 2023-06-22 本田技研工業株式会社 鞍乗り型車両

Also Published As

Publication number Publication date
CN103003783B (zh) 2016-01-20
CN103003783A (zh) 2013-03-27
WO2012105175A1 (ja) 2012-08-09
US8965049B2 (en) 2015-02-24
JPWO2012105175A1 (ja) 2014-07-03
US20130156266A1 (en) 2013-06-20

Similar Documents

Publication Publication Date Title
JP5844288B2 (ja) 機能拡張装置、機能拡張方法、機能拡張プログラム、及び集積回路
US11747634B1 (en) Augmented reality content creation
CN110832441B (zh) 用于虚拟、增强和混合现实显示系统的键盘
US11087551B2 (en) Systems and methods for attaching synchronized information between physical and virtual environments
US10495878B2 (en) Mobile terminal and controlling method thereof
US11609675B2 (en) Placement of objects in an augmented reality environment
US9329678B2 (en) Augmented reality overlay for control devices
KR101737725B1 (ko) 컨텐츠 생성 툴
JP2013172432A (ja) 機器制御装置、機器制御方法、機器制御プログラム、及び集積回路
KR20200121357A (ko) 물리적 조작을 사용한 오브젝트 생성
US20170053449A1 (en) Apparatus for providing virtual contents to augment usability of real object and method using the same
CN108474950A (zh) Hmd设备及其控制方法
JP2012181809A (ja) 機器制御装置、機器制御方法、機器制御プログラム、及び集積回路
KR20170125618A (ko) 증강현실 플랫폼을 통해 가상 영역에 표시할 컨텐츠를 생성하는 방법 및 이를 지원하는 전자 장치
US20220335661A1 (en) System and method for playback of augmented reality content triggered by image recognition
US11367416B1 (en) Presenting computer-generated content associated with reading content based on user interactions
US20220291808A1 (en) Integrating Artificial Reality and Other Computing Devices
JP2022110057A (ja) ビジュアルサーチのためのデジタル補足関連付けおよび検索
KR102043274B1 (ko) 3d 객체와 마커를 포함한 mr 콘텐츠를 제공하는 사이니지 시스템 및 그 방법
CN111651049B (zh) 交互方法、装置、计算机设备及存储介质
JP2022532696A (ja) インタラクション方法、装置、システム、電子デバイス及び記憶媒体
CN111652986B (zh) 舞台效果呈现方法、装置、电子设备及存储介质
KR20140078083A (ko) 증강 현실이 구현된 만화책
KR20190094875A (ko) 3d 객체와 마커를 포함한 mr 콘텐츠를 제공하는 사이니지 시스템 및 그 방법
CN117850655A (zh) 信息输入方法、装置、设备和介质

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20140606

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140818

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151027

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151118

R150 Certificate of patent or registration of utility model

Ref document number: 5844288

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150