(57)【特許請求の範囲】
【請求項１】
現実空間の３次元空間構造を解析して仮想空間を認識し、仮想空間上の装置の位置情報を取得する仮想空間認識部と、
前記仮想空間に配置するオブジェクトおよび前記オブジェクトの位置情報を記憶している記憶部と、
前記仮想空間に配置された前記オブジェクトを表示装置に表示させる表示部と、
前記表示装置の装置情報を検出する検出部と、
前記装置情報に係る前記表示装置の位置と前記オブジェクトの位置情報に係る前記オブジェクトの位置との距離の長さに基づいてコマンドを発行する発行部と、
前記発行部により発行されたコマンドに応じて、前記オブジェクトに対して所定の処理を実行する実行部と、
を備え、
前記発行部は、前記表示装置の位置と未配置のオブジェクトの位置情報に係る前記未配置のオブジェクトの配置位置との距離が所定の範囲内である場合、前記未配置のオブジェクトの配置コマンドを発行し、
前記実行部は、前記発行部により発行される前記未配置のオブジェクトの配置コマンドに応じて、前記未配置のオブジェクトを前記仮想空間に配置する、情報処理装置。
【請求項２】
前記検出部は、前記仮想空間認識部により取得された仮想空間上における位置情報と前記記憶部に記憶されているオブジェクトの位置情報との対応関係を検出し、
前記実行部は、前記検出部により検出された前記対応関係の状態に応じて、前記オブジェクトに対して所定の処理を実行する、請求項１に記載の情報処理装置。
【請求項３】
前記発行部は、ユーザ操作に応じてコマンドを発行する、請求項１または２に記載の情報処理装置。
【請求項４】
前記実行部は、前記装置情報に基づいて、前記オブジェクトを前記仮想空間に配置する、請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
前記仮想空間認識部は、前記表示装置の前記仮想空間上における姿勢情報を検出し、
前記実行部は、前記表示装置の姿勢情報が反映された前記オブジェクトを前記仮想空間に配置する、請求項４に記載の情報処理装置。
【請求項６】
前記実行部は、前記装置情報に基づいて、前記仮想空間に配置された前記オブジェクトを前記仮想空間から取り去る、請求項３または４に記載の情報処理装置。
【請求項７】
前記実行部は、前記仮想空間に配置された前記オブジェクトを前記現実空間上に所定のサイズで表示させる、請求項５に記載の情報処理装置。
【請求項８】
前記実行部は、前記仮想空間に配置された前記オブジェクトを、前記仮想空間上のサイズに応じたサイズで前記現実空間上に表示させる、請求項７に記載の情報処理装置。
【請求項９】
現実空間の３次元空間構造を解析して仮想空間を認識するステップと、
前記仮想空間に配置するオブジェクトおよび前記オブジェクトの位置情報を記憶するステップと、
前記仮想空間にオブジェクトを配置するステップと、
前記仮想空間を表示する表示装置の装置情報を検出するステップと、
前記装置情報に係る前記表示装置の位置と前記オブジェクトの位置情報に係る前記オブジェクトの位置との距離の長さに基づいてコマンドを発行するステップと、
発行されたコマンドに応じて、前記オブジェクトに対して所定の処理を実行するステップと、
前記表示装置の位置と未配置のオブジェクトの位置情報に係る前記未配置のオブジェクトの配置位置との距離が所定の範囲内である場合、前記未配置のオブジェクトの配置コマンドを発行するステップと、
発行される前記未配置のオブジェクトの配置コマンドに応じて、前記未配置のオブジェクトを前記仮想空間に配置するステップと、
を含む、情報処理方法。
【請求項１０】
コンピュータを、
現実空間の３次元空間構造を解析して仮想空間を認識し、装置の位置情報を算出する仮想空間認識部と、
前記仮想空間に配置するオブジェクトおよび前記オブジェクトの位置情報を記憶している記憶部と、
前記仮想空間に配置された前記オブジェクトを表示装置に表示させる表示部と、
前記表示装置の装置情報を検出する検出部と、
前記装置情報に係る前記表示装置の位置と前記オブジェクトの位置情報に係る前記オブジェクトの位置との距離の長さに基づいてコマンドを発行する発行部と、
前記発行部により発行されたコマンドに応じて、前記オブジェクトに対して所定の処理を実行する実行部と、
を備え、
前記発行部は、前記表示装置の位置と未配置のオブジェクトの位置情報に係る前記未配置のオブジェクトの配置位置との距離が所定の範囲内である場合、前記未配置のオブジェクトの配置コマンドを発行し、
前記実行部は、前記発行部により発行される前記未配置のオブジェクトの配置コマンドに応じて、前記未配置のオブジェクトを前記仮想空間に配置する、情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理法方法およびプログラムに関し、特に、拡張現実空間におけるオブジェクトの入出力に関する。
【背景技術】
【０００２】
最近では、拡張現実技術（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ、以下ＡＲ技術とも称する）の一環として、現実世界の映像などの実空間情報に対して仮想的なデジタル情報を重畳して表示することが行われている。実空間情報に対して仮想的なデジタル情報を重畳する際には、実空間上の物体（オブジェクト）と仮想的なオブジェクトとの位置情報や姿勢情報を把握する必要がある。
【０００３】
例えば、実空間上のオブジェクトと仮想的なオブジェクトとの位置情報や姿勢情報を簡単な調整により一致させる技術が開示されている（例えば、特許文献１）。特許文献１では、仮想的な物体の所定の位置に対応する実空間上の物体の位置をユーザに指定させることにより、実空間上の物体と仮想的な物体との位置情報や姿勢情報を一致させている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−４８６３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１では、仮想的なオブジェクトの位置やサイズをユーザが指定しなければならず、仮想的な空間に仮想的なオブジェクトを直感的に配置したり取り去ったりすることができないという問題があった。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、現実空間を解析して認識される仮想空間に仮想オブジェクトを直感的に入出力することが可能な、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある観点によれば、現実空間の３次元空間構造を解析して仮想空間を認識し、仮想空間上の装置の位置情報を取得する仮想空間認識部と、前記仮想空間に配置するオブジェクトおよび前記オブジェクトの位置情報を記憶している記憶部と、前記仮想空間に配置された前記オブジェクトを表示装置に表示させる表示部と、前記表示装置の装置情報を検出する検出部と、前記装置情報に基づいて、前記オブジェクトに対して所定の処理を実行する実行部と、を備える、情報処理装置が提供される。
【０００７】
また、前記検出部は、前記仮想空間認識部により取得された仮想空間上における位置情報と記憶部に記憶されているオブジェクトの位置情報との対応関係を検出し、前記実行部は、前記検出部により検出された前記対応関係の状態に応じて、前記オブジェクトに対して所定の処理を実行してもよい。
【０００８】
また、ユーザ操作に応じて、前記実行部に所定の処理を実行させるためのコマンドを発行する発行部を備え、前記実行部は、前記発行部により発行されたコマンドに応じて所定の処理を実行してもよい。
【０００９】
また、前記実行部は、前記装置情報に基づいて、前記オブジェクトを前記仮想空間に入力してもよい。
【００１０】
また、前記実行部は、前記仮想空間に前記オブジェクトを配置することにより前記オブジェクトを前記仮想空間に入力してもよい。
【００１１】
また、前記検出部は、前記表示装置の前記仮想空間上における姿勢情報を検出し、前記実行部は、前記表示装置の姿勢情報が反映された前記オブジェクトを前記仮想空間に配置してもよい。
【００１２】
また、前記実行部は、前記装置情報に基づいて、前記仮想空間に入力された前記オブジェクトを前記仮想空間から出力してもよい。
【００１３】
また、前記実行部は、前記仮想空間に配置された前記オブジェクトを前記仮想空間から取り去ることにより前記オブジェクトを前記仮想空間から出力してもよい。
【００１４】
また、前記実行部は、前記仮想空間に配置された前記オブジェクトを前記現実空間上に所定のサイズで表示させることにより前記オブジェクトを前記仮想空間から出力してもよい。
【００１５】
また、前記実行部は、前記仮想空間に配置された前記オブジェクトを、前記仮想空間上のサイズに応じたサイズで前記現実空間上に表示させてもよい。
【００１６】
また、上記課題を解決するために、本発明の別の観点によれば、現実空間の３次元空間構造を解析して仮想空間を認識するステップと、前記仮想空間にオブジェクトを配置するステップと、前記仮想空間を表示する表示装置の装置情報を検出するステップと、前記装置情報に基づいて、前記オブジェクトに対して所定の処理を実行するステップと、を含む、情報処理方法が提供される。
【００１７】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、現実空間の３次元空間構造を解析して仮想空間を認識する仮想空間認識部と、前記仮想空間に配置するオブジェクトを記憶している記憶部と、前記仮想空間に配置された前記オブジェクトを表示装置に表示させる表示部と、前記表示装置の装置情報を検出する検出部と、前記装置情報に基づいて、前記オブジェクトに対して所定の処理を実行する実行部と、を備える、情報処理装置として機能させるためのプログラムが提供される。
【発明の効果】
【００１８】
以上説明したように本発明によれば、現実空間を解析して認識される仮想空間に仮想オブジェクトを直感的に入出力することができる。
【図面の簡単な説明】
【００１９】
【図１】ＡＲ技術について説明する説明図である。
【図２】現実空間を解析して認識される仮想空間を説明する説明図である。
【図３】ＡＲ空間への直感的なＡＲオブジェクトの入出力について説明する説明図である。
【図４】本実施形態にかかる情報処理装置のハードウェア構成を示すブロック図である。
【図５】同実施形態にかかる情報処理装置の機能構成を示すブロック図である。
【図６】同実施形態にかかるＡＲオブジェクトの入力について説明する説明図である。
【図７】同実施形態にかかるオブジェクトの位置やサイズについて説明する説明図である。
【図８】同実施形態にかかるオブジェクトの姿勢情報の反映について説明する説明図である。
【図９】同実施形態にかかるオブジェクトの姿勢情報の反映について説明する説明図である。
【図１０】同実施形態にかかるＡＲ空間上に配置されているＡＲオブジェクトの表示について説明する説明図である。
【図１１】同実施形態にかかるＡＲ空間上におけるＡＲオブジェクトの出力について説明する説明図である。
【図１２】同実施形態にかかるＡＲオブジェクトの取得について説明する説明図である。
【図１３】同実施形態にかかるＡＲオブジェクトの取得について説明する説明図である。
【図１４】同実施形態にかかるＡＲオブジェクトの取得について説明する説明図である。
【図１５】同実施形態にかかるＡＲオブジェクトの入力処理を示すフローチャートである。
【図１６】同実施形態にかかるＡＲオブジェクトの入力処理を説明する説明図である。
【図１７】同実施形態にかかるＡＲオブジェクトの出力処理を示すフローチャートである。
【図１８】同実施形態にかかるＡＲオブジェクトの出力処理を説明する説明図である。
【発明を実施するための形態】
【００２０】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２１】
また、以下に示す順序に従って、当該「発明を実施するための最良の形態」を説明する。
〔１〕本実施形態の目的
〔２〕情報処理装置の概要
〔３〕情報処理装置のハードウェア構成
〔４〕情報処理装置の機能構成
〔５〕情報処理装置の動作の詳細
【００２２】
〔１〕本実施形態の目的
まず、本実施形態の目的について説明する。最近では、ＡＲ技術の一環として、現実世界の映像などの実空間情報に対して仮想的なデジタル情報を重畳して表示することが行われている。実空間情報に対して仮想的なデジタル情報を重畳する際には、実空間上の物体（オブジェクト）と仮想的なオブジェクトとの位置情報や姿勢情報を把握する必要がある。
【００２３】
例えば、実空間上のオブジェクトと仮想的なオブジェクトとの位置情報や姿勢情報を簡単な調整により一致させる技術が開示されている。当該技術では、仮想的な物体の所定の位置に対応する実空間上の物体の位置をユーザに指定させることにより、実空間上の物体と仮想的な物体との位置情報や姿勢情報を一致させている。
【００２４】
しかし、上記技術では、仮想的なオブジェクトの位置やサイズをユーザが指定しなければならず、仮想的な空間に仮想的なオブジェクトを直感的に配置したり取り去ったりすることができないという問題があった。そこで、上記のような事情を一着眼点として、本発明の実施形態にかかる情報処理装置１０が創作されるに至った。本実施形態にかかる情報処理装置１０によれば、現実空間を解析して認識される仮想空間に仮想オブジェクトを直感的に入出力することが可能となる。
【００２５】
〔２〕情報処理装置の概要
以上、本実施形態の目的について説明した。次に、図１〜図３を参照して、情報処理装置１０の概要について説明する。情報処理装置１０は、携帯電話やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯用ゲーム機器や小型のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）など、表示装置を備える情報処理端末を例示することができる。情報処理装置１０には、実空間画像に重畳される仮想オブジェクトが登録されている。
【００２６】
図１は、ＡＲ技術について説明する説明図である。図２は、現実空間を解析して認識される仮想空間（ＡＲ空間）を説明する説明図である。図３は、ＡＲ空間への直感的なＡＲオブジェクトの入出力について説明する説明図である。
【００２７】
図１では、現実世界の映像３０１に対して、仮想的なデジタル情報３０２を重畳している。これにより、現実世界の映像３０１に補足的な情報を合成して表示させることが可能となる。現実世界の映像３０１は、撮像装置などで撮像された現実空間上の映像である。また、仮想的なデジタル情報３０２は、現実空間を解析して、現実空間上の任意の位置に配置された仮想オブジェクトである。
【００２８】
例えば、図１では、現実空間上で投げる動作をしている人が表示されている表示画面に、仮想オブジェクトであるボールが重畳される。このように、情報処理装置１０では、現実空間上の人の映像にボールのデジタル画像を合成して、実際にボールを投げているように見せることができる。
【００２９】
次に、図２を参照して、現実空間を解析して認識される仮想空間（ＡＲ空間）について説明する。図２では、情報処理装置１０を用いて認識されたＡＲ空間に仮想オブジェクトが配置されている状態を示している。ＡＲ空間とは、現実空間の空間座標系に、現実空間を解析して認識された仮想空間の空間座標系を重ね合わせた空間である。これは、現実空間座標系での位置が決定すれば、一意に、ＡＲ空間上での座標が決定されることを意味している。すなわち、現実空間上の任意の位置にＡＲオブジェクトを配置する場合には、一意にＡＲ空間上でのＡＲオブジェクトを配置する位置が決定されることとなる。
【００３０】
本実施形態にかかる情報処理装置１０では、ＡＲ空間にＡＲオブジェクトを配置する際に、ユーザが明示的に配置する位置を指定しなくとも、直感的にＡＲオブジェクトを配置することを可能としている。例えば、図３の説明図３１０に示したように、ユーザは、直感的にＡＲオブジェクトをＡＲ空間に配置することができる。また、配置されたＡＲオブジェクトのサイズを明示的に指定しなくとも、ＡＲオブジェクトのサイズを取得することができる。例えば、図３の説明図３１２に示したように、ＳｅｎｄｅｒによりＡＲ空間にＡＲオブジェクトが配置されて、ＲｅｃｅｉｖｅｒがＡＲ空間に配置されたＡＲオブジェクトを取得する際に、ＡＲオブジェクトのサイズを指定しなくても適切なサイズのＡＲオブジェクトを取得することができる。
【００３１】
本実施形態では、情報処理装置１０の装置本体の位置や、情報処理装置１０の表示部のサイズなどを基準として、ＡＲ空間オブジェクトの位置やサイズを決定している。したがって、ユーザが明示的に位置やサイズを指定しなくとも、装置本体の位置とＡＲオブジェクトの位置とを比較して適切な位置に配置したり、表示部のサイズとＡＲオブジェクトのサイズとを比較して適切なサイズを取得したりすることが可能となる。
【００３２】
〔３〕情報処理装置のハードウェア構成
以上、情報処理装置１０の概要について説明した。次に、図４を参照して、情報処理装置１０のハードウェア構成について説明する。図４は、情報処理装置１０のハードウェア構成を示すブロック図である。情報処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３と、ホストバス１０４と、ブリッジ１０５と、外部バス１０６と、インタフェース１０７と、入力装置１０８と、出力装置１０９と、ストレージ装置（ＨＤＤ）１１０と、ドライブ１１１と、通信装置１１２と、撮像装置２０と、各種センサ４０を備える。
【００３３】
ＣＰＵ１０１は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置１０内の動作全般を制御する。また、ＣＰＵ１０１は、マイクロプロセッサであってもよい。ＲＯＭ１０２は、ＣＰＵ１０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ１０３は、ＣＰＵ１０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはＣＰＵバスなどから構成されるホストバス１０４により相互に接続されている。
【００３４】
ホストバス１０４は、ブリッジ１０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス１０６に接続されている。なお、必ずしもホストバス１０４、ブリッジ１０５および外部バス１０６を分離構成する必要はなく、一のバスにこれらの機能を実装してもよい。
【００３５】
入力装置１０８は、例えば、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ１０１に出力する入力制御回路などから構成されている。情報処理装置１０のユーザは、該入力装置１０８を操作することにより、情報処理装置１０に対して各種のデータを入力したり処理動作を指示したりすることができる。
【００３６】
出力装置１０９、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ装置、液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｓｐｌａｙ）装置およびランプなどの表示装置と、スピーカおよびヘッドホンなどの音声出力装置で構成される。具体的には、表示装置は再生された映像データ等の各種情報をテキストまたはイメージで表示する。一方、音声出力装置は、再生された音声データ等を音声に変換して出力する。後述する表示装置３０は、出力装置１０９の一例である。
【００３７】
ストレージ装置１１０は、本実施形態にかかる情報処理装置１０の記憶部の一例として構成されたデータ格納用の装置であり、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含むことができる。ストレージ装置１１０は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）で構成される。このストレージ装置１１０は、ハードディスクを駆動し、ＣＰＵ１０１が実行するプログラムや各種データを格納する。また、このストレージ装置１１０には、後述の、アイテム、識別番号などを記憶する。
【００３８】
ドライブ１１１は、記憶媒体用リーダライタであり、情報処理装置１０に内蔵、あるいは外付けされる。ドライブ１１１は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体２４に記録されている情報を読み出して、ＲＡＭ１０３に出力する。
【００３９】
通信装置１１２は、例えば、通信網５０に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置１１２は、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）対応通信装置であっても、ワイヤレスＵＳＢ対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
【００４０】
撮像装置２０は、撮像レンズを介して通過した光をＣＣＤで電気信号に変換し、アナログ信号をデジタル変換することにより被写体を撮像する機能を有する。撮像装置２０により撮像された画像は、表示装置に表示される。各種センサ４０は、仮想空間を認識するためのセンサであって、例えば、地磁気コンパスや加速度センサなどを例示できる。
【００４１】
〔４〕情報処理装置の機能構成
以上、情報処理装置１０のハードウェア構成例について説明した。次に、図５を参照して、本実施形態にかかる情報処理装置１０の機能構成について説明する。図５は、本実施形態にかかる情報処理装置１０の機能構成を示すブロック図である。
【００４２】
図５に示したように、情報処理装置１０は、仮想空間認識部１５２、表示部１５４、検出部１５６、記憶部１５８、発行部１６０、実行部１６２などを備える。
【００４３】
仮想空間認識部１５２は、現実空間の３次元空間構造を解析して仮想空間（ＡＲ空間）を認識する機能を有する。仮想空間認識部１５２は、現実空間の映像や、地磁気コンパスや加速度センサなどの各種センサ、ＧＰＳ等を用いて、ＡＲ空間における位置や姿勢、サイズ、カメラ位置等を認識する機能を有する。すなわち、仮想空間認識部１５２は、現実空間上の空間座標系に仮想空間の空間座標系を重ね合わせる機能を有する。また、仮想空間認識部１５２は、表示装置３０の装置情報を検出する機能を有する。上記したように、表示装置３０と情報処理装置１０とは一体の装置であるため、表示装置３０の装置情報とは、すなわち、情報処理装置１０の装置情報を意味する。装置情報とは、表示装置３０の位置情報および姿勢情報などである。位置情報および姿勢情報は、仮想空間認識部１５２により解析された現実空間の３次元空間における位置情報および姿勢情報である。
【００４４】
表示部１５４は、仮想空間認識部１５２により認識された仮想空間を表示装置３０に表示する機能を有する。また、表示部１５４は、仮想空間に配置されたオブジェクトを表示する。本実施形態では、表示装置３０は、情報処理装置１０と一体の装置として構成しているが、かかる例に限定されず、表示装置３０と情報処理装置１０とは別体の装置としてもよい。
【００４５】
検出部１５６は、仮想空間認識部１５２で認識された仮想空間上における装置位置と記憶部１５８で記憶されているオブジェクトの位置の対応関係を検出する機能を有する。また、検出部１５６は、位置情報の対応関係を検出するだけでなく、姿勢情報の対応関係を検出してもよい。。
【００４６】
記憶部１５８は、仮想空間に配置するオブジェクト（ＡＲオブジェクト）を記憶している。なお、記憶部１５８は、不揮発性メモリ、磁気ディスク、光ディスク、およびＭＯ（Ｍａｇｎｅｔｏ  Ｏｐｔｉｃａｌ）ディスクなどの記憶媒体であってもよい。不揮発性メモリとしては、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）があげられる。また、磁気ディスクとしては、ハードディスクおよび円盤型磁性体ディスクなどがあげられる。また、光ディスクとしては、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ−Ｒ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）およびＢＤ（Ｂｌｕ−Ｒａｙ  Ｄｉｓｃ（登録商標））などがあげられる。
【００４７】
また、記憶部１５８には、各ＡＲオブジェクトの位置情報や姿勢情報やサイズなどのＡＲオブジェクトの属性情報が関連付けて記憶されている。
【００４８】
発行部１６０は、ユーザ操作に応じて、後述する実行部１６２に所定の処理を実行させるためのコマンドを発行する機能を有する。コマンドは、ユーザが情報処理装置１０の本体に対して何らかの操作を行った場合に発行させる。何らかの操作とは、例えば、情報処理装置１０の本体を振ったり、傾けたり、特定の方向に向けたりする操作、ＧＵＩによる操作を例示できる。また、情報処理装置１０の本体を移動させる場合に、移動速度が一定の範囲内になったときにコマンドを発行してもよい。また、情報処理装置１０本体とオブジェクトとの位置の対応関係によってコマンドを発行してもよい。
【００４９】
また、表示装置３０の位置情報とＡＲオブジェクトの位置情報をもとに、コマンドを発行させるようにしてもよい。例えば、表示装置３０の位置とＡＲオブジェクトの配置位置との距離が一定の範囲内になったり、一定の範囲外になったりしたときに、コマンドを発行させるようにしてもよい。また、表示装置３０の姿勢とＡＲオブジェクトの姿勢とが同じになったときにコマンドを発行してもよい。また、ＧＰＳ情報などで取得可能な表示装置３０の位置が特定のエリアに入ったり、特定のエリアから出たりした場合にコマンドを発行するようにしてもよい。
【００５０】
また、発行部１６０により発行されるコマンドは、例えば、仮想オブジェクトを仮想空間に配置（入力）する処理や、再配置（移動）する処理などが挙げられる。また、仮想空間から仮想オブジェクトを削除（出力）したり、仮想オブジェクトのサイズを変更したりする処理が例示できる。
【００５１】
実行部１６２は、検出部１５６により検出された装置情報に基づいて、ＡＲオブジェクトに対して所定の処理を実行する機能を有する。上記したように、装置情報とは、表示装置３０の位置情報や姿勢情報などの情報である。ＡＲオブジェクトに対する所定の処理とは、例えば、ＡＲオブジェクトを仮想空間に入力したり、仮想空間から出力したりする処理である。ＡＲオブジェクトを仮想空間に入力するとは、仮想空間にＡＲオブジェクトを配置することである。また、仮想空間からＡＲオブジェクトを出力するとは、仮想空間に配置されているＡＲオブジェクトを仮想空間から取り去ることである。また、仮想空間に配置されたＡＲオブジェクトを現実空間上に所定のサイズで表示させることにより、ＡＲオブジェクトを仮想空間から出力するようにしてもよい。また、仮想空間から取り去られたオブジェクトは、取り出されたサイズで情報処理装置１０に保存されてもよい。
【００５２】
ここで、図６を参照して、実行部１６２によるＡＲオブジェクトの入力（配置）について説明する。図６の説明図３１０は、ＡＲ空間にＡＲオブジェクトを配置する様子を示している。また、図６の説明図３１２は、ＡＲ空間にＡＲオブジェクトを配置した結果を示している。
【００５３】
図６に示したように、説明図３１０では、ＡＲ空間３１１にＡＲオブジェクトが存在していない。また、オブジェクト３１２は、これからＡＲ空間に配置したい実空間上の表示装置３０に表示されているオブジェクトであり、まだＡＲ空間に配置されていない状態を示している。表示装置３０にオブジェクト３１２が表示されている時点では、配置しようとするオブジェクトのＡＲ空間上において配置される位置やサイズは決定されていない。
【００５４】
そして、ユーザ操作に応じて、オブジェクトを実空間から仮想空間に配置するコマンドが発行されると、オブジェクト３１２がＡＲ空間上に配置される。このとき、オブジェクト３１２がＡＲオブジェクトとしてＡＲ空間上に配置される位置は、コマンドが発行された時点のＡＲ空間上の表示装置３０の位置を基準とした位置となる。また、ＡＲ空間上に配置されるＡＲオブジェクトのサイズは、コマンドが発行された時点の表示装置３０に表示されているＡＲオブジェクトのサイズを基準としてＡＲ空間上に配置される。
【００５５】
例えば、表示装置３０の位置にＡＲオブジェクトを配置する場合は、表示装置３０に表示されているサイズでＡＲオブジェクトが配置される。また、デバイス位置と異なる位置に配置する場合は、ＡＲ空間上の表示装置３０の位置における表示サイズを基準として、配置される位置のサイズを決定して配置される。
【００５６】
説明図３１４では、ＡＲオブジェクト３１５がＡＲ空間上に配置された結果を示している。表示装置３０に表示されているＡＲオブジェクト３１６は、表示装置３０を矢印方向に移動させた場合に、ＡＲ空間に配置されたＡＲオブジェクトの表示装置３０における表示状態を示している。このように、ＡＲ空間への配置コマンドが発行された時点における表示装置３０の位置および配置コマンドが発行された時点における表示装置３０に表示されている表示サイズでＡＲオブジェクトがＡＲ空間に配置される。
【００５７】
したがって、ユーザにより情報処理装置１０本体が振られたり、ＧＵＩの操作によりユーザに指示されたりする等のなんらかのイベントを契機にコマンドが発行されると、表示装置３０の位置情報に基づいてＡＲオブジェクトがＡＲ空間に配置される。これにより、ユーザによりＡＲオブジェクトの配置位置やサイズが指定されなくとも、直感的にＡＲオブジェクトをＡＲ空間に配置されることとなる。
【００５８】
次に、図７を参照して、現実空間とＡＲ空間におけるオブジェクトの位置やサイズについて説明する。表示装置３０に表示されているオブジェクト３２２は、現実空間上に表示されているオブジェクトである。オブジェクト３２２は実空間上の３次元空間座標系で位置とサイズが表されている。
【００５９】
またオブジェクト３２４はＡＲ空間上に配置されているＡＲオブジェクトである。オブジェクト３２４のＡＲ空間上での位置は、表示装置３０の位置を基準としてＡＲ空間座標系で表される。また、オブジェクト３２４のＡＲ空間上でのサイズは、表示装置３０の表示画面の大きさを基準としてＡＲ空間座標系でのサイズで表される。
【００６０】
実空間上で表されているオブジェクト３２２は、ユーザ操作に応じてＡＲ空間への入力コマンドが発行されると、ＡＲ空間座標系での表示装置３０の位置がＡＲオブジェクトの配置位置に決定される。このとき、実空間座標系の表示装置３０の表示画面で表示されているオブジェクトの位置およびサイズが、ＡＲ空間座標系の位置およびサイズに変換される。
【００６１】
ここで、位置の変換とは、上記した仮想空間認識部１５２により現実空間の３次元空間構造が解析されて認識されたＡＲ空間における表示装置３０の位置情報が取得され、この位置情報をＡＲオブジェクトの配置位置とすることを意味する。また、サイズの変換とは、表示装置３０で表示されているオブジェクトのサイズのＡＲ空間座標系でのサイズが取得され、このサイズをＡＲ空間に配置するオブジェクトに反映することを意味する。
【００６２】
図７では、オブジェクト３２４はＡＲ空間座標系において表されており、配置される位置やサイズはＡＲ空間座標系で表される。表示部１５４は、ＡＲ空間に配置されたＡＲオブジェクトを実空間の映像等と合成した結果を表示装置３０に表示させる。図７は、実空間上のオブジェクト３２２がＡＲ空間に配置されて、ＡＲ空間上にオブジェクト３２４が配置されている状態を示している。すなわち、オブジェクト３２２は実空間座標系で表されており、オブジェクト３２４はＡＲ空間座標系で表されている。ＡＲ空間にオブジェクトが配置された時点では、表示装置３０の表示位置を基準としているため、表示画面における両オブジェクトの表示は同一となっている。
【００６３】
次に、図８および図９を参照して、ＡＲ空間に配置するオブジェクトの姿勢情報の反映について説明する。例えば、撮像装置２０により撮像された映像を用いて、表示装置３０の姿勢情報を取得してＡＲオブジェクトに反映させてもよい。具体的には、図８に示したように、表示装置３０の正面方向をＡＲ空間上でのベクトル方向とし、そのベクトルが垂直となる平面を算出する。
【００６４】
例えば、図９の説明図３３０に示したように、表示装置３０が斜めになっている状態でオブジェクト３３２をＡＲ空間に配置させるとする。この場合、表示装置３０の姿勢情報がオブジェクト３３２に反映される。図９の説明図３３４に示したように、ＡＲ空間に配置されたＡＲオブジェクト３３６は、表示装置３０の姿勢情報を反映して斜めの状態で配置される。
【００６５】
以上、実行部１６２によるＡＲオブジェクトの入力（配置）について説明した。上記では表示装置３０の位置を基準としてＡＲ空間にＡＲオブジェクトを配置したが、かかる例に限定されず、撮像装置２０の位置を基準としてもよい。例えば、撮像装置２０の位置から正面方向に一定距離の位置をＡＲオブジェクトの配置位置としてもよい。
【００６６】
次に、図１０〜図１４を参照して、実行部１６２により仮想オブジェクトの出力（ＡＲ空間から取り去る）について説明する。図１０は、ＡＲ空間上に配置されているＡＲオブジェクトの表示について説明する説明図である。図１０に示したように、ＡＲオブジェクトがＡＲ空間上に配置され、表示装置３０にＡＲオブジェクトが表示されている。ＡＲ空間座標系に表示されているＡＲオブジェクトは、表示装置３０（撮像装置２０）の位置関係に応じて表示装置３０での表示が変化する。
【００６７】
例えば、ＡＲオブジェクトの配置位置に対して、表示装置３０が右方向に位置していれば、表示画面の左側にＡＲオブジェクトが表示される。また、ＡＲオブジェクトの配置位置に対して、表示装置３０の位置が離れるほどＡＲオブジェクトが小さくなって表示画面に表示される。このように、表示装置３０の表示画面にＡＲ空間座標系に配置されたＡＲオブジェクトが空間的に表示される。
【００６８】
次に、図１１を参照して、ＡＲ空間上におけるＡＲオブジェクトの出力について説明する。図１１では、ＡＲ空間上でのＡＲオブジェクトの位置とＡＲ空間上での表示装置３０（撮像装置２０）の位置が一致したときに、ＡＲオブジェクトが取り去られた状態を示している。図１１に示したように、表示装置３０は、ＡＲオブジェクトが配置されている位置とは異なる位置４０２にある。
【００６９】
表示装置３０が位置４０４に移動して、表示装置３０の位置とＡＲオブジェクトの位置が一致する。このとき、発行部１６０によりＡＲオブジェクトをＡＲ空間から取り去るコマンドが発行される。そして、表示装置３０の位置がＡＲオブジェクトの配置されている位置を通過して、位置４０６に移動したときには、ＡＲ空間からＡＲオブジェクトが取り去られている。
【００７０】
ＡＲ空間上からＡＲオブジェクトを出力する（取り去る）場合には、ＡＲオブジェクトの出力サイズは、ＡＲオブジェクトの位置と表示装置３０の位置とが一致したＡＲ空間上の位置におけるＡＲオブジェクトのサイズとなる。ＡＲオブジェクトを出力するとは、図１１に示したように、表示画面からＡＲオブジェクトを消去したり、ＡＲオブジェクトをＡＲ空間から現実空間に取り出したりすることである。
【００７１】
ここで、図１２〜図１４を参照して、ＡＲオブジェクトの取得について説明する。ＡＲオブジェクトを取得するとは、ＡＲ空間上のＡＲオブジェクトを現実空間上に取り出す（出力）ことを意味する。
【００７２】
図１２に示したように、ＡＲ空間上にオブジェクト４１２および４１４が配置されている。また、オブジェクト４１２の表示画面上での表示状態を表示４１６で示し、オブジェクト４１４の表示画面上での表示状態を表示４１８で示している。また、図１３に、オブジェクト４１２およびオブジェクト４１４と、表示装置３０の表示画面４２０のサイズを示した。図１３に示したように、オブジェクト４１２のサイズｈ１はオブジェクト４１４のサイズｈ２の２倍とする。また、オブジェクト４１２のサイズｈ１と表示装置３０の表示画面４２０のサイズｈ３は同じサイズとする。
【００７３】
図１２に示したように、表示装置３０の表示画面上では、ＡＲ空間上のＡＲオブジェクトが表示される。このため、デバイスとＡＲオブジェクトの距離に応じて、表示画面から遠く離れているオブジェクトは小さく、表示画面に近いオブジェクトは大きく表示される。ＡＲ空間上において、オブジェクト４１４はオブジェクト４１２より表示画面との距離が離れているため、表示画面には、オブジェクト４１２の表示４１６よりオブジェクト４１４の表示４１８が小さく表示される。
【００７４】
次に、図１２に示した位置関係にあるオブジェクトの取得について説明する。図１４の表示例４３０は、図１２に示した位置関係にある２つのオブジェクトをそれぞれの位置で取得（出力）した結果を示している。表示例４３０には、取得されたオブジェクト４１２およびオブジェクト４１４が表示されている。オブジェクト４１２およびオブジェクト４１４の取得サイズは、図１３に示したＡＲオブジェクトのサイズである。すなわち、ＡＲ空間から取得されたオブジェクト４１２およびオブジェクト４１４のサイズは、表示画面の大きさを基準としたサイズである。したがって、オブジェクト４１２は、表示画面と同じ大きさで、オブジェクト４１４は表示画面の２倍のサイズであるため、表示画面にはオブジェクト４１４の半分だけ表示される。
【００７５】
また、表示例４３６に示したように、いずれかのオブジェクトの大きさを基準としたサイズや、画面のサイズを基準に表示してもよい。ＡＲ空間から実空間に取得したオブジェクトを用いて、再度オブジェクトをＡＲ空間に配置する場合は、取得（出力）前のオブジェクトのサイズと同一のサイズで配置される。すなわち、オブジェクトをＡＲ空間上に配置（入力）したり、ＡＲ空間上から取得（出力）したりする場合には、ＡＲオブジェクトの絶対サイズで入力または出力がなされる。また、絶対サイズを基準としたサイズで入力または出力がされてもよい。
【００７６】
以上、ＡＲオブジェクトの取得について説明した。情報処理装置１０によれば、ＡＲ空間上における表示装置３０の位置とＡＲオブジェクトとの位置とを比較して、表示装置３０の位置を基準としてＡＲオブジェクトの入力位置や出力位置を決定する。これにより、ＡＲ空間上にＡＲオブジェクトを直感的に配置したり取り去ったりすることが可能となる。
【００７７】
〔５〕情報処理装置の動作の詳細
以上、情報処理装置１０の機能構成について説明した。次に、図１５〜図１８を参照して、情報処理装置１０の動作の詳細について説明する。まず、図１５および図１６を参照して、情報処理装置１０におけるＡＲオブジェクトの入力処理について説明する。図１５に示したように、まず、仮想空間認識部１５２は、現実空間の３次元空間構造を解析して仮想空間（ＡＲ空間）を認識し（Ｓ１０２）、仮想空間上の位置を取得する（Ｓ１０４）。
【００７８】
そして、検出部１５６は、情報処理装置の位置とオブジェクトの位置の対応関係を検出し、表示装置３０の表示画面に仮想空間上に配置するオブジェクトを表示させる（Ｓ１０６）。ステップＳ１０６におけるオブジェクトの表示は、ユーザ操作に応じて、記憶部１５８に記憶されているオブジェクトを取得してもよいし、表示部１５４が任意のオブジェクトを表示画面に表示させてもよい。
【００７９】
次に、発行部１６０は、ユーザ操作に応じてオブジェクトを配置するためのコマンドを発行する（Ｓ１０８）。ステップＳ１０８において、ユーザにより情報処理装置１０の本体が振られたり、傾けられたり、特定の方向に向けられたり、ＧＵＩによる操作をした場合に、発行部１６０は配置コマンドを発行する。また、発行部１６０は、表示装置３０の位置とＡＲオブジェクトの配置位置との距離が一定の範囲内になった場合に、配置コマンドを発行するようにしてもよい。
【００８０】
そして、実行部１６２は、仮想空間に配置するオブジェクトのサイズを決定する（Ｓ１１０）。なお、配置する位置は、仮想空間上での情報処理装置１０の位置を仮想空間認識部１５２より取得する。ステップＳ１１０において決定されるオブジェクトの位置およびサイズは、上記したように、表示装置３０の位置および表示画面のサイズを基準にして決定される。そして、ステップＳ１１０において決定された仮想空間上の位置およびサイズでオブジェクトが配置される。
【００８１】
このように、仮想空間に配置されるオブジェクトの位置やサイズは、表示装置３０の位置や表示画面のサイズを基準として決定されるため、ユーザによりオブジェクトの位置やサイズが明示的に指定されなくとも、仮想空間にオブジェクトを直感的に配置することが可能となる。
【００８２】
ここで、情報処理装置１０におけるオブジェクトの入力処理の理解を容易にするために、図１６の模式図を参照して、オブジェクトの入力処理を説明する。図１６の模式図５００に示したように、仮想空間（ＡＲ空間）を認識したのちに、ＡＲ空間上のオブジェクトを入力（配置）したい位置へ表示装置３０（情報処理装置１０の本体）を移動させる。
【００８３】
そして、模式図５０２に示したように、オブジェクトを入力したい位置で配置コマンドが発行され、ＡＲ空間上にオブジェクトが配置されようとしている。そして、模式図５０４および５０６に示したように、ＡＲ空間上にオブジェクトが配置される。このように、表示装置３０との位置関係をもとにオブジェクトをＡＲ空間上に配置しているため、ユーザがＡＲ空間上の配置位置を指定したり、配置するときのサイズを指定したりしなくても、適切な位置やサイズでＡＲ空間上にオブジェクトを配置することができる。
【００８４】
次に図１７および図１８を参照して、情報処理装置１０におけるＡＲオブジェクトの出力処理について説明する。図１７に示したように、まず、仮想空間認識部１５２は、現実空間の３次元空間構造を解析して仮想空間（ＡＲ空間）を認識する（Ｓ２０２）。そして、デバイス位置（表示装置３０の位置）とオブジェクトの位置とが一致しているか否かを判定する（Ｓ２０４）。
【００８５】
ステップＳ２０４において、表示装置３０の位置とオブジェクトの位置とが一致している場合に、発行部１６０はコマンドを発行する（Ｓ２０６）。ステップＳ２０６において、表示装置３０の位置とオブジェクトの位置とが一致している場合にコマンドを発行したが、かかる例に限定されない。例えば、表示装置３０の位置とオブジェクトの位置との距離が一定の範囲内になった場合にコマンドを発行してもよい。また、ユーザ操作により、コマンドが発行されるようにしてもよい。ステップＳ２０４において表示装置３０の位置とオブジェクトの位置とが一致していないと判定された場合には、ステップＳ２０４の判定処理を繰り返す。
【００８６】
そして、実行部１６２は、ステップＳ２０６において発行部１６０により発行されたコマンドがオブジェクトを取り去るコマンドであるか否かを判定する（Ｓ２０８）。ステップＳ２０８において、発行されたコマンドがオブジェクトを取り去るコマンドであると判定された場合には、実行部１６２は、仮想空間からオブジェクトを取り去る（Ｓ２１０）。
【００８７】
ステップＳ２０８において、ステップＳ２０８において、発行されたコマンドがオブジェクトを取り去るコマンド以外のコマンドである場合には、当該コマンドに対応する処理を実行する。オブジェクトを取り去るコマンド以外のコマンドとは、上記したオブジェクトの配置コマンドや再配置コマンドなどである。
【００８８】
ここで、情報処理装置１０におけるオブジェクトの出力処理の理解を容易にするために、図１８の模式図を参照して、オブジェクトの出力処理を説明する。図１８の模式図５１０では、ＡＲ空間上にオブジェクトが配置されており、表示装置３０をオブジェクトの配置位置まで移動させている状態を示している。
【００８９】
模式図５１２および５１４は、オブジェクト出力コマンドが発行されて、ＡＲ空間上に配置されていたオブジェクトが現実空間上に出力され、情報処理装置１０でオブジェクトを取得している状態を表している。上記したように、ＡＲ空間上に配置されていたオブジェクトが現実空間上に出力される場合には、表示装置３０の表示画面の大きさを基準として、ＡＲ空間上におけるサイズで表示装置３０の表示画面に表示される。このように、オブジェクトをＡＲ空間上から取り去る場合にも、表示装置３０との位置関係や表示装置３０の表示画面の大きさを基準として現実空間上に表示されるため、出力するときのサイズを指定しなくとも、適切なサイズで現実空間上にオブジェクトを出力することができる。
【００９０】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【００９１】
例えば、本明細書の情報処理装置１０の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。すなわち、情報処理装置１０の処理における各ステップは、異なる処理であっても並列的に実行されてもよい。
【００９２】
また、情報処理装置１０などに内蔵されるＣＰＵ、ＲＯＭおよびＲＡＭなどのハードウェアを、上述した情報処理装置１０の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。
【符号の説明】
【００９３】
１０      情報処理装置
１５２    仮想空間認識部
１５４    表示部
１５６    検出部
１５８    記憶部
１６０    発行部
２０      撮像装置
３０      表示装置
【図１】
0005573238.tif 000002
【図２】
0005573238.tif 000003
【図３】
0005573238.tif 000004
【図４】
0005573238.tif 000005
【図５】
0005573238.tif 000006
【図６】
0005573238.tif 000007
【図７】
0005573238.tif 000008
【図８】
0005573238.tif 000009
【図９】
0005573238.tif 000010
【図１０】
0005573238.tif 000011
【図１１】
0005573238.tif 000012
【図１２】
0005573238.tif 000013
【図１３】
0005573238.tif 000014
【図１４】
0005573238.tif 000015
【図１５】
0005573238.tif 000016
【図１６】
0005573238.tif 000017
【図１７】
0005573238.tif 000018
【図１８】
0005573238.tif 000019