(57)【要約】【課題】複数の装置間で空間情報を共有して、各装置の位置や姿勢に適した仮想情報を表示する。【解決手段】情報処理装置１０は、他の装置の画像を含む実空間画像を取得する画像取得部１５２と、前記画像取得部により取得された前記実空間画像の空間座標系を生成する座標系生成部１５６と、前記座標系生成部１５６により生成された前記空間座標系を構成するための空間情報を、前記空間座標系を共有する前記他の装置に送信する送信部１６６と、を備える。【選択図】図４
2011107893.tif 000002
【特許請求の範囲】
【請求項１】
他の装置の画像を含む実空間画像を取得する画像取得部と、
前記画像取得部により取得された前記実空間画像の空間座標系を生成する座標系生成部と、
前記座標系生成部により生成された前記空間座標系を構成するための空間情報を、前記空間座標系を共有する前記他の装置に送信する送信部と、
を備える、情報処理装置。
【請求項２】
前記他の装置の空間座標と、自装置の空間座標と、前記他の装置の空間座標と前記自装置の空間座標とを結ぶベクトルの角度を取得する取得部と、を備え、
前記送信部は、前記他の空間座標と、前記自装置の空間座標と、前記ベクトルの角度を前記空間情報として前記他の装置に送信する、請求項１に記載の情報処理装置。
【請求項３】
前記取得部は、前記他の装置の空間座標と前記自装置の空間座標とを結ぶベクトルの角度から前記空間座標系の回転角を取得し、
前記送信部は、前記取得部により取得された前記回転角を含む前記空間情報を前記他の装置に送信する、請求項２に記載の情報処理装置。
【請求項４】
前記取得部は、前記他の装置のＧＰＳ座標を取得し、
前記送信部は、前記取得部により取得された前記他の装置のＧＰＳ座標を含む空間情報を前記他の装置に送信する、請求項２に記載の情報処理装置。
【請求項５】
前記実空間画像に重畳表示する仮想情報と前記仮想情報の識別情報とを関連付けて記憶している記憶部を備え、
前記取得部は、前記実空間画像に重畳表示している前記仮想情報の表示位置の空間座標を取得し、
前記送信部は、前記仮想情報の表示位置の空間座標を含む前記空間情報を前記他の装置に送信する、請求項１に記載の情報処理装置。
【請求項６】
前記取得部は、前記仮想情報の識別情報を取得し、
前記送信部は、前記仮想情報の表示位置の空間座標とともに、前記仮想情報の識別情報を含む前記空間情報を前記他の装置に送信する、請求項４に記載の情報処理装置。
【請求項７】
前記仮想情報と前記仮想情報のＧＰＳ座標とが関連付けられている場合に、
前記取得部は、前記他の装置の空間座標と前記自装置の空間座標との位置関係に応じて、前記仮想情報のＧＰＳ座標を修正して前記仮想情報の表示位置の空間座標を取得する、請求項４に記載の情報処理装置。
【請求項８】
前記他の装置は、前記送信部から送信された前記空間情報に基づいて、前記情報処理装置と共有する前記空間座標系を生成する、請求項１に記載の情報処理装置。
【請求項９】
前記取得部が前記他の装置で生成された空間座標系を構成するための前記空間情報を送信した場合に、前記座標系生成部は、前記他の装置から取得した前記空間情報に基づいて前記空間座標系を生成する、請求項１に記載の情報処理装置。
【請求項１０】
一の情報処理装置が、
実空間画像を取得するステップと、
前記画像取得部により取得された前記実空間画像の空間座標系を生成するステップと、
前記座標系生成部により生成された前記空間座標系を構成するための空間情報を、前記空間座標系を共有する前記他の装置に送信するステップと、
前記空間情報を受信した他の装置が、前記空間情報に基づいて、前記情報処理装置と共有する前記空間座標系を生成するステップと、
を含む、情報処理方法。
【請求項１１】
コンピュータを、
実空間画像を取得する画像取得部と、
前記画像取得部により取得された前記実空間画像の空間座標系を生成する座標系生成部と、
前記座標系生成部により生成された前記空間座標系を構成するための空間情報を、前記空間座標系を共有する前記他の装置に送信する送信部と、
を備える、情報処理装置として機能させるためのプログラム。
【請求項１２】
一の情報処理装置は、
他の装置の画像を含む実空間画像を取得する画像取得部と、
前記画像取得部により取得された前記実空間画像の空間座標系を生成する座標系生成部と、
前記座標系生成部により生成された前記空間座標系を構成するための空間情報を、前記空間座標系を共有する前記他の装置に送信する送信部と、
を備え、
前記一の情報処理装置とネットワークを介して接続された他の装置は、
前記送信部から送信された前記空間情報に基づいて、前記情報処理装置と共有する前記空間座標系を生成する座標系生成部と、
を備え、
前記空間情報には、前記他の装置の空間座標と、自装置の空間座標と、前記他の装置の空間座標と前記自装置の空間座標とを結ぶベクトルの角度が含まれている、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラムおよび情報処理システムに関する。
【背景技術】
【０００２】
最近では、拡張現実技術（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）の一環として撮影画像などの実空間情報に対して仮想的な情報を重畳して表示することが行われている。例えば、撮影画像に含まれる所定のマークなどを読み取り、該マークに対応する仮想的な情報を実空間画像に重畳して表示することができる（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−５１０２５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１では、上記したマークを用いて仮想的な情報を表示しているため、該マークがない場合に仮想的な情報を重畳して表示することができず、また、複数のユーザ間で仮想的な情報を共有することもできないという問題があった。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、他の装置の位置情報を把握することにより他の装置と仮想空間を共有することが可能な、新規かつ改良された情報処理装置、情報処理方法、プログラムおよび情報処理システムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のある観点によれば、他の装置の画像を含む実空間画像を取得する画像取得部と、前記画像取得部により取得された前記実空間画像の空間座標系を生成する座標系生成部と、前記座標系生成部により生成された前記空間座標系を構成するための空間情報を、前記空間座標系を共有する前記他の装置に送信する送信部と、  を備える、情報処理装置が提供される。
【０００６】
また、前記他の装置の空間座標と、自装置の空間座標と、前記他の装置の空間座標と前記自装置の空間座標とを結ぶベクトルの角度を取得する取得部と、を備え、前記送信部は、前記他の空間座標と、前記自装置の空間座標と、前記ベクトルの角度を前記空間情報として前記他の装置に送信してもよい。
【０００７】
また、前記取得部は、前記他の装置の空間座標と前記自装置の空間座標とを結ぶベクトルの角度から前記空間座標系の回転角を取得し、前記送信部は、前記取得部により取得された前記回転角を含む前記空間情報を前記他の装置に送信してもよい。
【０００８】
また、前記取得部は、前記他の装置のＧＰＳ座標を取得し、前記送信部は、前記取得部により取得された前記他の装置のＧＰＳ座標を含む空間情報を前記他の装置に送信してもよい。
【０００９】
また、前記実空間画像に重畳表示する仮想情報と前記仮想情報の識別情報とを関連付けて記憶している記憶部を備え、前記取得部は、前記実空間画像に重畳表示している前記仮想情報の表示位置の空間座標を取得し、前記送信部は、前記仮想情報の表示位置の空間座標を含む前記空間情報を前記他の装置に送信してもよい。
【００１０】
また、前記取得部は、前記仮想情報の識別情報を取得し、前記送信部は、前記仮想情報の表示位置の空間座標とともに、前記仮想情報の識別情報を含む前記空間情報を前記他の装置に送信してもよい。
【００１１】
また、前記仮想情報と前記仮想情報のＧＰＳ座標とが関連付けられている場合に、前記取得部は、前記他の装置の空間座標と前記自装置の空間座標との位置関係に応じて、前記仮想情報のＧＰＳ座標を修正して前記仮想情報の表示位置の空間座標を取得してもよい。
【００１２】
また、前記他の装置は、前記送信部から送信された前記空間情報に基づいて、前記情報処理装置と共有する前記空間座標系を生成してもよい。
【００１３】
また、前記取得部が前記他の装置で生成された空間座標系を構成するための前記空間情報を取得した場合に、前記座標系生成部は、前記他の装置から取得した前記空間情報に基づいて前記空間座標系を生成してもよい。
【００１４】
また、上記課題を解決するために、本発明の別の観点によれば、一の情報処理装置が、
実空間画像を取得するステップと、前記画像取得部により取得された前記実空間画像の空間座標系を生成するステップと、前記座標系生成部により生成された前記空間座標系を構成するための空間情報を、前記空間座標系を共有する前記他の装置に送信するステップと、前記空間情報を受信した他の装置が、前記空間情報に基づいて、前記情報処理装置と共有する前記空間座標系を生成するステップと、を含む、情報処理方法が提供される。
【００１５】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、実空間画像を取得する画像取得部と、前記画像取得部により取得された前記実空間画像の空間座標系を生成する座標系生成部と、前記座標系生成部により生成された前記空間座標系を構成するための空間情報を、前記空間座標系を共有する前記他の装置に送信する送信部と、を備える、情報処理装置として機能させるためのプログラムが提供される。
【００１６】
また、上記課題を解決するために、本発明の別の観点によれば、一の情報処理装置は、他の装置の画像を含む実空間画像を取得する画像取得部と、前記画像取得部により取得された前記実空間画像の空間座標系を生成する座標系生成部と、前記座標系生成部により生成された前記空間座標系を構成するための空間情報を、前記空間座標系を共有する前記他の装置に送信する送信部と、を備え、前記一の情報処理装置とネットワークを介して接続された他の装置は、前記送信部から送信された前記空間情報に基づいて、前記情報処理装置と共有する前記空間座標系を生成する座標系生成部と、を備え、前記空間情報には、前記他の装置の空間座標と、自装置の空間座標と、前記他の装置の空間座標と前記自装置の空間座標とを結ぶベクトルの角度が含まれている、情報処理システムが提供される。
【発明の効果】
【００１７】
以上説明したように本発明によれば、複数の装置間で空間情報を共有して、各装置の位置や姿勢に適した仮想情報を表示することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る情報処理システムの概要を説明する説明図である。
【図２】同実施形態にかかる情報処理システムの概要を説明する説明図である。
【図３】同実施形態にかかる情報処理装置のハードウェア構成を示すブロック図である。
【図４】本発明の第１の実施形態にかかる情報処理装置の機能構成を示すブロック図である。
【図５】同実施形態にかかる空間情報を共有する処理を示すタイミングチャートである。
【図６】同実施形態にかかる空間情報を共有する処理を示すタイミングチャートである。
【図７】同実施形態にかかる初期化処理の詳細を示すフローチャートである。
【図８】同実施形態にかかる定常処理の詳細を示すフローチャートである。
【図９】同実施形態にかかる空間情報更新処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２０】
また、以下に示す順序に従って、当該「発明を実施するための最良の形態」を説明する。
〔１〕本実施形態の目的
〔２〕情報処理システムの概要
〔３〕情報処理装置のハードウェア構成
〔４〕第１実施形態
〔４−１〕情報処理装置の機能構成
〔４−２〕情報処理装置の動作の詳細
〔５〕第２実施形態
〔５−１〕情報処理装置の構成
〔６〕第３実施形態
〔６−１〕情報処理装置の構成
【００２１】
〔１〕本実施形態の目的
まず、本実施形態の目的について説明する。最近では、拡張現実技術（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）の一環として撮影画像などの実空間情報に対して仮想的な情報を重畳して表示することが行われている。例えば、撮影画像に含まれる所定のマークなどを読み取り、該マークに対応する仮想的な情報を実空間画像に重畳して表示することができる。しかし、上記したマークを用いて仮想的な情報を表示しているため、該マークがない場合に仮想的な情報を重畳して表示することができず、また、複数のユーザ間で仮想的な情報を共有することもできないという問題があった。
【００２２】
また、例えば、複数のユーザ間で相互に位置情報と姿勢情報を共有することにより、各人の位置や姿勢に応じた仮想的な情報を表示することができる技術が開示されている。当該技術では、各ユーザ端末にＩＤタグを読み取るリーダが備えられており、床に埋め込まれたＩＤタグを読み取ることにより各ユーザ端末の位置情報を取得している。
【００２３】
しかし、上記技術では、位置情報を取得するための装置を搭載する必要があり、システムをインストールするためのコストがかかってしまう。また、床にＩＤタグが埋め込まれている場合にしか相互に位置情報を共有することができないため、利用できる場所が限定的となってしまうという問題があった。そこで、上記のような事情を一着眼点として、本発明の実施形態にかかる情報処理システム１が創作されるに至った。本実施形態にかかる情報処理システム１によれば、他の装置の位置情報を把握することにより他の装置と仮想空間を共有することが可能となる。
【００２４】
〔２〕情報処理システムの概要
次に、図１および図２を参照して、情報処理システム１の概要について説明する。図１は、情報処理システム１の概要を説明する説明図である。情報処理システム１には、情報処理装置１０や情報処理装置２０などの複数の装置から構成される。以下では、説明の便宜のため、情報処理装置１０と情報処理装置２０の２つの装置で情報処理システム１が構成される場合について説明する。
【００２５】
情報処理装置１０または情報処理装置２０は、例えば、携帯電話やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯用ゲーム機器や小型のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）など、表示装置を備える情報処理端末を例示することができる。情報処理装置１０または情報処理装置２０には、実画像に重畳表示される複数の仮想情報が記憶されている。各仮想情報には、仮想情報を識別する識別情報が関連付けられている。
【００２６】
例えば、図１に示したように、ユーザＡが情報処理装置１０を用いて所定の空間を撮像し、ユーザＢが情報処理装置２０を用いて所定の空間を撮像していたとする。ユーザＡとユーザＢとは異なる場所に位置しているものとする。ユーザＡが情報処理装置１０から仮想情報５１を閲覧していたとする。一方、ユーザＡとは異なる場所に位置しているユーザＢも情報処理装置２０から仮想情報５１を閲覧していたとする。
【００２７】
しかし、情報処理装置１０と情報処理装置２０との間で空間座標系が一致していない場合には、互いの位置から閲覧する仮想情報の見え方が異なってしまう。情報処理装置１０と情報処理装置２０との間で空間座標系が異なっている場合は、実空間画像に重畳される仮想情報は、各装置とも、仮想情報５１を正面から閲覧している見え方（仮想情報の表示例５３および仮想情報の表示例５５）となる。
【００２８】
また、互いの位置が正確に把握できない場合には、ユーザＡとユーザＢの閲覧場所が異なってしまうため、仮想情報５５は、ユーザＢにのみ閲覧可能な仮想情報となってしまう。
【００２９】
そこで、本実施形態では、図２の手順１〜３により、ユーザＡとユーザＢの位置情報を互いに正確に把握して、複数のユーザ間で同一の仮想情報を適切に表示することを可能としている。図２の手順１〜３は以下のとおりである。
手順１：撮像した画像から空間座標系におけるユーザＢの情報処理装置（カメラ）の位置情報を検出する。
手順２：空間座標系におけるユーザＡ、Ｂの情報処理装置（カメラ）の位置情報と座標系の傾き角をユーザＢに通知する。
手順３：ユーザＢは、通知された情報処理装置（カメラ）の位置情報と傾き角を元に、ユーザＡと同じ空間座標系を作成する。
【００３０】
ここで、傾き角とは、例えば、ｙａｗ、ｒｏｌｌ、ｐｉｔｃｈなどである。上記手順により、ユーザＡとユーザＢとの間で相互の位置情報を認識することにより、複数ユーザ間で同一の空間座標系を共有することが可能となる。例えば、図２に示したように、ユーザＡとユーザＢとで同一の空間座標系を共有し、仮想情報５１を閲覧したとする。この場合、ユーザＡは仮想情報を正面から閲覧する場所に位置するため、仮想情報を正面から閲覧している見え方（仮想情報の表示例５３）となる。一方、ユーザＢは仮想情報を後方から閲覧する場所に位置しているため、仮想情報を後方から閲覧している見え方（仮想情報の表示例５４）となる。
【００３１】
このように、実空間画像に含まれる他の装置の正確な位置情報を把握することにより、同一の空間座標系を共有して、仮想情報を重畳するための仮想空間を共有することが可能となる。上記したように、ユーザＡが所持する情報処理装置１０からユーザＢが所持する情報処理装置２０に空間座標系を構成するための空間情報が通知されてもよいし、情報処理装置２０から情報処理装置１０に空間情報が通知されてもよい。
【００３２】
以下では、他の装置に空間情報を通知する情報処理装置１０の構成について詳細に説明するが、情報処理装置１０の構成を情報処理装置２０が備えるようにしてもよい。また、情報処理装置１０において、情報処理装置２０から通知された空間情報に基づいて空間座標系を生成するようにしてもよい。
【００３３】
〔３〕情報処理装置のハードウェア構成
以上、情報処理システム１の概要について説明した。次に、図３を参照して、情報処理装置１０のハードウェア構成について説明する。図３では、情報処理装置１０のハードウェア構成について説明しているが、情報処理装置２０のハードウェア構成も情報処理装置１０とほぼ同様の構成であるため、詳細な説明は省略する。
【００３４】
図３は、情報処理装置１０のハードウェア構成を示すブロック図である。情報処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３と、ホストバス１０４と、ブリッジ１０５と、外部バス１０６と、インタフェース１０７と、入力装置１０８と、出力装置１１０と、ストレージ装置（ＨＤＤ）１１１と、ドライブ１１２と、通信装置１１５とを備える。
【００３５】
ＣＰＵ１０１は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置１０内の動作全般を制御する。また、ＣＰＵ１０１は、マイクロプロセッサであってもよい。ＲＯＭ１０２は、ＣＰＵ１０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ１０３は、ＣＰＵ１０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはＣＰＵバスなどから構成されるホストバス１０４により相互に接続されている。
【００３６】
ホストバス１０４は、ブリッジ１０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス１０６に接続されている。なお、必ずしもホストバス１０４、ブリッジ１０５および外部バス１０６を分離構成する必要はなく、一のバスにこれらの機能を実装してもよい。
【００３７】
入力装置１０８は、例えば、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ１０１に出力する入力制御回路などから構成されている。情報処理装置１０のユーザは、該入力装置１０８を操作することにより、情報処理装置１０に対して各種のデータを入力したり処理動作を指示したりすることができる。
【００３８】
出力装置１０９、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ装置、液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｓｐｌａｙ）装置およびランプなどの表示装置と、スピーカおよびヘッドホンなどの音声出力装置で構成される。出力装置１０９は、例えば、再生されたコンテンツを出力する。具体的には、表示装置は再生された映像データ等の各種情報をテキストまたはイメージで表示する。一方、音声出力装置は、再生された音声データ等を音声に変換して出力する。
【００３９】
ストレージ装置１１０は、本実施形態にかかる情報処理装置１０の記憶部の一例として構成されたデータ格納用の装置であり、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含むことができる。ストレージ装置１１０は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）で構成される。このストレージ装置１１０は、ハードディスクを駆動し、ＣＰＵ１０１が実行するプログラムや各種データを格納する。また、このストレージ装置１１０には、後述の、アイテム、識別番号などを記憶する。
【００４０】
ドライブ１１１は、記憶媒体用リーダライタであり、情報処理装置１０に内蔵、あるいは外付けされる。ドライブ１１１は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体２４に記録されている情報を読み出して、ＲＡＭ１０３に出力する。
【００４１】
通信装置１１２は、例えば、通信網５０に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置１１２は、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）対応通信装置であっても、ワイヤレスＵＳＢ対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
【００４２】
〔４〕第１実施形態
〔４−１〕情報処理装置の機能構成
以上、情報処理装置１０のハードウェア構成例について説明した。次に、図４を参照して、第１実施形態にかかる情報処理装置１０の機能構成について説明する。図４は、本実施形態にかかる情報処理装置１０の機能構成を示すブロック図である。
【００４３】
図４に示したように、情報処理装置１０は、画像取得部１５２、取得部１５４、座標系生成部１５６、他端末検出部１５８、記憶部１６０、出力画像作成部１６２、画像出力部１６４、送信部１６６などを備える。
【００４４】
画像取得部１５２は、実空間画像を取得する機能を有する。実区間画像とは、撮像装置（図示せず）により撮像された風景などの画像である。撮像装置は、情報処理装置１０と一体として構成されていてもよいし、別体の装置として構成されていてもよい。例えば、情報処理装置１０とは別体の撮像装置により撮像された画像をメモリカード等の記憶装置に記憶させて、画像取得部１５２により取り込むようにしてもよい。画像取得部１５２は、取得した実空間画像を座標系生成部に提供する。
【００４５】
座標系生成部１５６は、画像取得部１５２により取得された実空間画像の空間座標系を生成する機能を有する。後述するように、実空間画像に含まれる他の装置（以降、単に他の装置とも称する。）からの空間情報が取得できなかった場合には、座標系生成部１５６は、任意の空間座標系を生成する。一方、他の装置から空間座標を取得した場合には、他の装置と同一の空間座標系を生成する。
【００４６】
空間情報とは、空間座標系を構成するための要素であって、他の装置の空間座標、自装置の空間座標、他の装置の空間座標と自装置の空間座標とを結ぶベクトルの角度などを含む。取得部１５４は、空間座標系を構成するための要素を取得する機能を有する。すなわち、座標系生成部１５６により生成された空間座標に位置する他の装置の空間座標と、自装置の空間座標と、他の装置の空間座標と自装置の空間座標とを結ぶベクトルの角度を取得する。
【００４７】
また、取得部１５４は、実空間画像に重畳表示している仮想情報の表示位置の空間座標を取得してもよい。仮想情報の表示位置の空間座標も、空間情報に含まれ、空間座標系を構成するための要素である。空間情報は、後述する送信部１６６により、空間座標系を共有する他の装置（情報処理装置２０など）に送信される
【００４８】
ここで、情報処理装置１０から他の装置に送信される空間情報の内容について説明する。空間情報には、例えば、以下の情報が含まれる。
（ａ）情報処理装置１０と他の装置の空間座標系における空間座標
（ｂ）情報処理装置１０と他の装置の空間座標を結ぶベクトルのｒｏｌｌ（回転角）
（ｃ）表示されている仮想情報の識別情報（ＩＤ）と表示位置の空間座標
【００４９】
上記（ａ）の情報から、自装置と他装置との距離を認識して、空間座標系のスケールを決定することができる。また、上記（ｂ）の情報から、空間座標系における、ｘ方向、ｙ方向、ｚ方向の回転角を決定することができる。
【００５０】
なお、（ｂ）の回転角は、空間座標系のＸ軸などの他のベクトルのｒｏｌｌでも代用可能である。しかし、代用するベクトルが情報処理装置１０と他の装置の空間座標を結ぶベクトルと直行する場合には、情報処理装置１０と他の装置との空間座標を結ぶベクトルｒｏｌｌ方向に回転しても代用ベクトルのｒｏｌｌが一定値となってしまう。このため、代用ベクトルのｒｏｌｌ値では情報処理装置１０と他の装置との空間座標を結ぶベクトルのｒｏｌｌを一意にと特定できない場合がある。
【００５１】
情報処理装置１０と他の装置との空間座標を結ぶベクトルの代用ベクトルを定義して、空間座標系の回転角（ｙａｗ、ｒｏｌｌ、ｐｉｔｃｈ）を用いて情報処理装置１０と他の装置との空間座標を結ぶベクトルのｒｏｌｌを特定する場合、その回転軸が情報処理装置１０と他の装置との空間座標を結ぶベクトルと直行しないベクトル及び回転角を用いる必要がある。
【００５２】
したがって、装置間で一意な空間情報を共有するために代用ベクトルを用いる場合には、代用ベクトルのｙａｗ、ｒｏｌｌ、ｐｉｔｃｈのすべての値を含むことにより、ベクトルの回転角を一意に特定できないという事態を避けることができる。
【００５３】
また、情報処理装置１０と他の装置との空間座標の軸の方位角を、予め固定的に決定しておいてもよい。例えば、ｙ軸はユーザが立っている真上の方向のように決めてもよい。これらの固定的な値を情報処理装置１０と他の装置との空間座標を結ぶベクトルのｒｏｌｌ値に代用してもよい。この場合、上記と同様に、例えば、ｙ軸上に情報処理装置１０と他の装置とが位置してしまった場合には、ｘ軸、ｙ軸を決めることができないという問題が発生する。したがって、この場合には、ｙ軸の他に、ｘ軸、ｚ軸の方位も予め決めておく必要がある。
【００５４】
記憶部１６０は、実空間画像に重畳される仮想情報と、該仮想情報を識別する仮想情報の識別情報とが関連付けて記憶されている。
【００５５】
他端末検出部１５８は、画像取得部１５２により取得された実空間画像に含まれる他の装置の画像を検出して、他の装置の空間座標系における位置を特定する機能を有する。実空間画像に含まれる他の装置の画像の検出は、例えば、背景差分等の公知の画像処理手段を用いることにより実現できる。また、他の装置の空間座標系における位置の特定は、例えば、特開２００６−２０９３３４などにおける位置検出方法を用いて実現することができる。
【００５６】
出力画像作成部１６２は、撮像装置により撮像された実空間画像に記憶部１６０に記憶されている仮想情報を重畳表した出力画像を作成する機能を有する。出力画像作成部１６２は、作成した出力画像を画像出力部１６４に提供する。
【００５７】
画像出力部１６４は、出力画像作成部１６２により提供された出力画像を情報処理装置１０に備わるディスプレイ（図示せず）に出力する機能を有する。
【００５８】
送信部１６６は、他の装置に、上記した空間情報を通知する機能を有する。送信部１６６は、空間情報を定期的に他の装置に送信してもよいし、他の装置から空間情報を要求された場合に送信してもよい。
【００５９】
送信部１６６から空間情報を送信された他の装置は、送信された空間情報に基づいて、情報処理装置１０と共有する空間座標系を生成する。他の装置は、送信された空間情報に含まれる情報処理装置１０と他の装置の空間座標と、情報処理装置１０と他の装置の空間座標を結ぶベクトルのｒｏｌｌ値に合わせて空間座標系を生成する。
【００６０】
空間情報を送信された他の装置は、空間座標に含まれる、情報処理装置１０と他の装置の空間座標系における空間座標から、空間座標系のスケールを決定する。そして、情報処理装置１０と他の装置の空間座標を結ぶベクトルのｒｏｌｌ（回転角）から、空間座標系における、ｘ方向、ｙ方向、ｚ方向の回転角を決定する。これにより情報処理装置１０と他の装置との空間座標系のスケールと軸方向とが一致する。
【００６１】
さらに、他の装置は、空間情報に含まれる仮想情報の識別情報（ＩＤ）と表示位置の空間座標をもとに、生成した空間座標系に仮想情報を重畳する。これにより、情報処理装置１０と他の装置とが仮想空間内の仮想情報を共有することが可能となる。すなわち、図２に示したように、同一の空間座標系に仮想情報が重畳されるため、情報処理装置１０と他の装置の位置や姿勢に応じて、仮想情報を各装置から適切に閲覧することが可能となる。
【００６２】
〔４−２〕情報処理装置の動作の詳細
以上、情報処理装置１０の機能構成について説明した。次に、情報処理装置１０の動作の詳細について説明する。情報処理装置１０の動作を説明するに際し、他の装置である情報処理装置２０との間で実行される処理について説明する。
【００６３】
図５〜図９は、情報処理装置１０の動作の詳細を説明する説明図である。図５は、情報処理装置１０と情報処理装置２０との間で空間情報を共有する処理を示すタイミングチャートである。図５では、情報処理装置１０が先に起動し、情報処理装置１０よりも後に起動した情報処理装置２０に空間情報を含む空間情報通知メッセージを送信している。
【００６４】
具体的には、図５に示したように、まず、情報処理装置１０が起動する（Ｓ１０２）。そして、初期化処理を実行する（Ｓ１０４）。ステップＳ１０４における初期化処理とは、空間座標系を生成したり、空間情報を取得したりする処理である。該初期化処理については、後で詳細に説明する。
【００６５】
そして、情報処理装置１０は、定常的な処理を実行しながら、定期的に空間情報の更新処理を実行する（Ｓ１０６）。定常的な処理とは、実空間画像を取得したり、仮想情報を実空間画像に重畳して出力画像を作成したりする処理である。定常的な処理については、後で詳細に説明する。また、空間情報の更新処理とは、情報処理装置１０や情報処理装置２０が移動したり、仮想情報の位置が移動したりした場合に、各装置や仮想情報の位置情報を取得しなおす処理である。空間情報の更新処理についても後で詳細に説明する。
【００６６】
情報処理装置２０は、起動した後に（Ｓ１０８）、初期化処理を実行する（Ｓ１１０）。情報処理装置２０は、ステップＳ１１０における初期化処理を実行中に情報処理装置１０から空間情報を含む空間情報通知メッセージを受信する。
【００６７】
また、図６に示したように、情報処理装置１０より後に起動した情報処理装置２０から空間情報通知メッセージが要求された場合に、該空間情報通知メッセージが送信されるようにしてもよい。具体的には、情報処理装置１０が起動した後に（Ｓ２０２）、初期化処理を実行する（Ｓ２０４）。そして、定常的な処理を実行しながら、情報処理装置２０からの要求があった場合に空間情報を更新して、該空間情報を含む空間情報通知メッセージを情報処理装置２０に送信する（Ｓ２０６）。
【００６８】
情報処理装置２０は、起動した後に（Ｓ２０８）、初期化処理を実行する（Ｓ２１０）。情報処理装置２０は、ステップＳ２１０における初期化処理を実行する際に、情報処理装置１０に空間情報を要求するメッセージを送信する。そして、初期化処理を実行中に情報処理装置１０から空間情報を含む空間情報通知メッセージを受信する。
【００６９】
次に、情報処理装置１０および情報処理装置２０において実行される初期化処理の詳細について説明する。図７は、初期化処理の詳細を示すフローチャートである。図７に示したように、まず、他の情報処理装置の空間情報の取得を試行する（Ｓ１５２）。そしてステップＳ１５２において、他の端末の空間情報を取得することができたか否かを判定する（Ｓ１５４）。
【００７０】
ステップＳ１５４において、他の端末の空間情報を取得することができた場合には、他の情報処理装置と一致する空間座標系を作成する（Ｓ１５６）。ステップＳ１５６において、他の情報処理装置に一致する空間座標系を作成する処理は、図５または図６では、情報処理装置２０の初期化処理に該当する。すなわち、情報処理装置２０は、先に起動している情報処理装置１０で作成された空間座標系を構成するための空間情報を取得して空間座標系を作成している。
【００７１】
具体的には、空間情報に含まれる情報処理装置１０と情報処理装置２０の空間座標と、情報処理装置１０と情報処理装置２０との空間座標を結ぶベクトルのｒｏｌｌ値から、情報処理装置１０と同様の空間座標系を作成する。また、情報処理装置２０は、情報処理装置１０の位置を検出して特定することにより、情報処理装置２０から見た座標空間内の情報処理装置１０の位置を決定する。
【００７２】
一方、ステップＳ１５４において他端末の空間情報が取得できなかった場合には、情報処理装置１０独自の空間座標系を作成する（Ｓ１５８）。ステップＳ１５８において、独自の空間座標系を作成する処理は、図５または図６では、情報処理装置１０の初期化処理に該当する。
【００７３】
ステップＳ１５８では、上記したように、空間座標系を作成して、情報処理装置１０と情報処理装置２０の空間座標と、情報処理装置１０と情報処理装置２０との空間座標を結ぶベクトルのｒｏｌｌ値を取得する。そして、これらの空間座標とベクトルのｒｏｌｌ値を含む空間情報を情報処理装置２０に送信する。
【００７４】
以上、初期化処理について説明した。なお、情報処理装置２０が、情報処理装置１０と一致する空間座標系を作成する処理を実行する際に、座標系を回転したり、平行移動したり、スケール変換したりする処理によって空間座標系を作成するのではなく、カメラの位置や姿勢と、仮想情報の位置や姿勢、スケール変換などから空間座標系を作成してもよい。例えば、座標系のスケール変換は、配置する仮想情報の配置位置と大きさを変換することによってでも実現することが可能である。次に、図８を参照して、情報処理装置１０における定常処理について説明する。まず、情報処理装置１０は、カメラ等の撮像装置のフレームレート等を合わせて、周期的に実空間画像を取得する（Ｓ３０２）。そして、空間座標系を更新する（Ｓ３０４）。ステップＳ３０４における空間座標系の更新については後で詳細に説明する。
【００７５】
ステップＳ３０４において空間座標系を更新した後に、空間座標の移動に合わせて仮想情報を実空間画像に重畳した出力画像を作成する（Ｓ３０６）。そして、ステップＳ３０６において作成した出力画像をディスプレイ等に出力する（Ｓ３０８）。実空間画像に重畳される仮想情報の種類や位置は、他の情報処理装置から空間情報が通知されている場合は、通知された空間情報に含まれる仮想情報の識別情報と空間座標を用いて特定することができる。
【００７６】
また、他の情報処理装置から空間情報が通知されていない場合は、記憶部１６０に記憶されている任意の仮想情報を選択して実空間画像に重畳させてもよい。また、ユーザからの入力に応じて、所定の仮想情報を選択するようにしてもよい。さらに、仮想情報と位置情報とが関連付けて記憶されている場合には、実空間画像の位置情報の所定の範囲に含まれる仮想情報を記憶部１６０から取得して実空間画像に重畳するようにしてもよい。
【００７７】
なお、空間座標系の更新や空間座標の移動に合わせた仮想情報の表示位置の移動の処理負荷が高い場合には、所定の周期に一度空間座標系の更新や仮想情報の表示位置の移動処理を実行するようにしてもよい。
【００７８】
次に、図９を参照して、空間情報更新処理の詳細について説明する。以下の空間情報更新処理は、上記した初期化処理において、他の情報処理装置と空間座標系を共有するために、他の情報処理装置に空間情報を通知する前に実行される処理である。図９は、情報処理装置１０の空間情報更新処理の詳細を示すフローチャートである。図９に示したように、実空間画像を取得した後に（Ｓ４０２）、実空間画像に含まれる他の端末を検出する（Ｓ４０４）。そして、ステップＳ４０４において検出された他の端末の空間座標系における位置を特定する（Ｓ４０６）。
【００７９】
以上、第１実施形態について説明した。第１実施形態によれば、複数の情報処理装置が存在する場合に、先に起動した情報処理装置において作成された空間座標系を他の情報処理装置と共有するために、空間座標系を構成する空間情報が後から起動した他の情報処理装置に送信される。そして、先に起動した情報処理装置から空間情報を送信された他の情報処理措置は、空間情報に基づいて先に起動した情報処理装置と同様の空間座標系を生成する。これにより、複数の装置間で互いの位置情報を把握して、複数の装置間で仮想空間を共有することが可能となる。
【００８０】
〔５〕第２実施形態
〔５−１〕情報処理装置の構成
次に、第２実施形態について説明する。第２実施形態では、情報処理装置１０にＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）などの位置情報取得システムが搭載されている。また、第１実施形態と同様に、情報処理装置１０と他の装置との位置関係から、実空間画像のスケールを検知することができる。本実施形態における情報処理装置１０の機能構成は、第１実施形態における情報処理装置１０とほぼ同様なため、詳細な説明は省略する。
【００８１】
本実施形態では、ＧＰＳにより他の装置の位置情報を取得しているため、ＧＰＳを用いた空間座標の決定処理について特に詳細に説明する。情報処理装置１０は、他の装置に通知する空間情報として、他の装置のＧＰＳ座標を通知する。自身のＧＰＳ座標を通知された他の装置は、通知されたＧＰＳ座標と６軸センサ等により検出された他の装置の姿勢情報を元に、表示する仮想情報を特定したり仮想情報の表示位置を決定したりする。
【００８２】
本実施形態にかかる動作の詳細については、第１実施形態と異なる点について特に詳細に説明する。まず、情報処理装置１０は、実空間画像内の他の装置の位置（位置Ａ）を特定する。実空間画像に含まれる他の装置の画像の検出は、第１実施形態と同様に、背景差分等の公知の画像処理手段を用いることにより実現できる。
【００８３】
そして、情報処理装置１０と他の装置との距離（距離Ｂ）を算出する。情報処理装置１０と他の装置との距離の算出方法についても、第１実施形態と同様のため詳細な説明は省略する。そして、他の装置の方位角（方位角Ｃ）を検出する。他の装置の方位角は、他の装置の位置情報をもとに、６軸センサ等を用いて検出することができる。
【００８４】
そして、情報処理装置１０自身のＧＰＳ座標値から、方位角Ｃの方向に、距離Ｂの距離だけ並行移動したＧＰＳ情報を算出し、該ＧＰＳ情報を他の装置のＧＰＳ座標に決定する。情報処理装置１０は、算出した他の装置のＧＰＳ座標を他の装置に送信する。これにより、情報処理装置１０のＧＰＳ座標値を基準とした空間座標軸を、情報処理装置１０と他の装置とで共有することが可能となる。
【００８５】
したがって、ＧＰＳ座標値と関連付けられた仮想情報は、空間座標系における仮想情報のＧＰＳ座標に対応する位置に重畳されることとなる。また、情報処理装置１０は、他の装置に情報処理装置１０のＧＰＳ座標値を送信してもよい。この場合、上記した、情報処理装置１０において行われる他の装置のＧＰＳ座標値の算出処理を、他の装置で実行することにより空間座標軸を共有することが可能となる。
【００８６】
第２実施形態によれば、複数の情報処理装置間で空間情報としてＧＰＳ座標系の値（緯度経度）を利用して、空間座標系を共有することができる。これにより、例えば、一方の情報処理装置から遠く離れているため表示されず、他方の情報処理装置からは近い仮想情報が存在する場合に、情報処理装置間で異なる仮想情報を表示することが可能となる。
【００８７】
〔６〕第３実施形態
〔６−１〕情報処理装置の構成
以上、第２実施形態について説明した。次に、第３実施形態について説明する。第３実施形態では、第１実施形態における情報処理装置１０と情報処理装置２０の他に、情報処理装置３０が存在する。すなわち、３台の機器が空間座標系を共有する場合について説明する。
【００８８】
本実施形態では、情報処理装置１０、情報処理装置２０、情報処理装置３０は、第１実施形態と同様のハードウェア構成および機能構成を有するため、詳細な説明は省略する。３台の機器が存在する場合には、情報処理装置１０から情報処理装置２０または情報処理装置３０に送信される空間情報として回転角が不要となる。
【００８９】
すなわち、情報処理装置１０は、空間座標系を作成して、情報処理装置２０と情報処理装置３０の空間座標を取得する。ここで、空間座標には、第１実施形態のように、装置間を結ぶベクトルのｒｏｌｌ値等の回転角が不要となる。情報処理装置１０は、取得した空間座標を含む空間情報を情報処理装置２０に送信する。
【００９０】
情報処理装置３０は、情報処理装置１０または情報処理装置２０において作成された空間座標系と同じ空間座標系を作成する。具体的には、情報処理装置３０は、情報処理装置１０または情報処理装置２０から送信された空間情報をもとに空間座標系を作成する。以上、第３実施形態について説明した。第３実施形態によれば、空間情報として方位角の情報を利用する必要がないため、情報処理装置間のトラフィック量を低減させることが可能となる。
【００９１】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【００９２】
例えば、上記実施形態では、情報処理装置１０においてすべての処理を実行することとしたが、本発明はかかる例に限定されない。例えば、情報処理装置１０において実行される処理のうち、負荷の高い処理をネットワークで接続されたサーバで実行するようにしてもよい。例えば、撮像装置で撮像された実空間画像を情報処理装置１０からサーバへ送信して、サーバにより実空間画像の解析を行うようにしてもよい。この場合、サーバは、情報処理装置１０から送信された実空間画像から、情報処理装置１０の位置と他の装置の位置情報を検出して、検出結果を情報処理装置１０に送信する。また、サーバで各情報処理装置の位置情報や回転角を取得して、サーバから他の装置にネットワークを介して送信するようにしてもよい。また、仮想情報を記憶する記憶部１６０をサーバに配置してもよい。
【００９３】
このように、負荷の高い処理をサーバで実行することにより、情報処理装置１０の消費電力を削減することができ、情報処理装置１０で必要となるハードウェア資源を圧縮することができる。また、仮想情報を記憶する記憶部１６０をサーバに配置した場合には、情報処理装置１０の記憶容量を圧縮できるとともに、情報処理装置間で同一の仮想情報を利用したり管理したりすることが容易になる。
【符号の説明】
【００９４】
１０、２０、３０    情報処理装置
１５２    画像取得部
１５４    取得部
１５６    座標系生成部
１５８    他端末検出部
１６０    記憶部
１６２    出力画像作成部
１６４    画像出力部
１６６    送信部
【図１】
2011107893.tif 000003
【図２】
2011107893.tif 000004
【図３】
2011107893.tif 000005
【図４】
2011107893.tif 000006
【図５】
2011107893.tif 000007
【図６】
2011107893.tif 000008
【図７】
2011107893.tif 000009
【図８】
2011107893.tif 000010
【図９】
2011107893.tif 000011