(57)【要約】【課題】表示部外に移動したカーソル等を仮想オブジェクトとして表示し観察可能な構成を実現する。【解決手段】ＰＣなどの表示部の外側領域にはみ出したカーソルまたはオブジェクトを仮想オブジェクトとして表示する。例えばユーザの装着したメガネのディスプレイにＰＣなどの表示装置とその外部領域の画像を表示する。ユーザ操作に応じて移動したと想定されるカーソルまたはオブジェクトの三次元位置を算出し、算出した位置に仮想オブジェクトとして表示する。またカーソルによって指定されたオブジェクトに対応するオブジェクト情報を取得して提示する。【選択図】図１
2011028309.tif 000002
【特許請求の範囲】
【請求項１】
第１表示部に表示された位置指示子であるカーソルの位置が前記第１表示部の領域内であるか領域外であるかを判定し、領域外である場合はカーソル位置情報を仮想オブジェクト管理部に出力する座標処理モジュールと、
前記第１表示部を含む実オブジェクトからなる画像を撮影するカメラと、
カメラ撮影画像に含まれる実オブジェクトの三次元位置を解析する三次元情報解析部と、
前記カメラ撮影画像を表示する第２表示部と、
前記カメラ撮影画像に含まれる実オブジェクトと異なる仮想オブジェクトを生成し、生成した仮想オブジェクトと前記実オブジェクトを含む合成画像を生成して前記第２表示部に表示する仮想オブジェクト管理部を有し、
前記仮想オブジェクト管理部は、
前記座標処理モジュールから入力したカーソル位置情報に基づいてカーソルの三次元位置を算出し、算出した位置にカーソルを仮想オブジェクトとして設定した合成画像を前記第２表示部に表示する情報処理装置。
【請求項２】
前記情報処理装置は、
前記位置指示子によって指定された指定オブジェクトに対する処理を行うアプリケーション実行部を有し、
前記アプリケーション実行部は、前記指定オブジェクトが前記第１表示部の領域内であるか領域外であるかを判定し、領域外である場合はオブジェクト位置情報を仮想オブジェクト管理部に出力し、
前記仮想オブジェクト管理部は、
前記座標処理モジュールから入力したオブジェクト位置情報に基づいてオブジェクトの三次元位置を算出し、算出した位置にオブジェクトを仮想オブジェクトとして設定した合成画像を前記第２表示部に表示する請求項１に記載の情報処理装置。
【請求項３】
前記仮想オブジェクト管理部は、
前記座標処理モジュールから入力したオブジェクト位置情報に基づいて算出したオブジェクトの三次元位置が前記第１表示部の表示領域を含む場合、該前記第１表示部の表示領域に重なるオブジェクト領域画像を消去した合成画像を前記第２表示部に表示する請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、さらに、
前記仮想オブジェクトとして設定したカーソルによって指定された実オブジェクトの画像データを取得し、取得した画像データに基づくデータ検索を行ってオブジェクト情報の取得処理を行うオブジェクト情報取得部を有し、
前記オブジェクト情報取得部は、取得したオブジェクト情報を前記第１表示部への表示データとして出力する処理を行う請求項１に記載の情報処理装置。
【請求項５】
前記オブジェクト情報取得部は、
実オブジェクトの画像データとオブジェクト情報を対応付けたデータベース、またはサーバに対するアクセスを実行して、前記実オブジェクトの画像データに基づく検索処理によりオブジェクト情報を取得する請求項４に記載の情報処理装置。
【請求項６】
前記仮想オブジェクト管理部は、
前記カメラ撮影画像に含まれる第１表示部の構成部位の三次元位置情報に基づいて第１表示部の表示面を含む平面を算出し、該平面上に前記カーソルの位置が設定されるように、前記カーソルの三次元位置を算出する処理を行う請求項１に記載の情報処理装置。
【請求項７】
前記カーソルはマウス操作によって移動するマウスカーソルであり、
前記座標処理モジュールは、マウス操作によるマウスカーソルの変位情報を入力して、マウスカーソルの位置が前記第１表示部の領域内であるか領域外であるかを判定する処理を行う請求項１に記載の情報処理装置。
【請求項８】
情報処理装置において実行する情報処理方法であり、
座標処理モジュールが、第１表示部に表示された位置指示子であるカーソルの位置が前記第１表示部の領域内であるか領域外であるかを判定し、領域外である場合はカーソル位置情報を仮想オブジェクト管理部に出力する座標処理ステップと、
カメラが、前記第１表示部を含む実オブジェクトからなる画像を撮影する撮影ステップと、
三次元情報解析部が、カメラ撮影画像に含まれる実オブジェクトの三次元位置を解析する三次元情報解析ステップと、
仮想オブジェクト管理部が、前記カメラ撮影画像に含まれる実オブジェクトと異なる仮想オブジェクトを生成し、生成した仮想オブジェクトと前記実オブジェクトを含む合成画像を生成して第２表示部に表示する仮想オブジェクト管理ステップを有し、
前記仮想オブジェクト管理ステップは、
前記座標処理モジュールから入力したカーソル位置情報に基づいてカーソルの三次元位置を算出し、算出した位置にカーソルを仮想オブジェクトとして設定した合成画像を前記第２表示部に表示するステップである情報処理方法。
【請求項９】
情報処理装置において情報処理を実行させるプログラムであり、
座標処理モジュールに、第１表示部に表示された位置指示子であるカーソルの位置が前記第１表示部の領域内であるか領域外であるかを判定させて、領域外である場合はカーソル位置情報を仮想オブジェクト管理部に出力させる座標処理ステップと、
カメラに、前記第１表示部を含む実オブジェクトからなる画像を撮影させる撮影ステップと、
三次元情報解析部に、カメラ撮影画像に含まれる実オブジェクトの三次元位置を解析させる三次元情報解析ステップと、
仮想オブジェクト管理部に、前記カメラ撮影画像に含まれる実オブジェクトと異なる仮想オブジェクトを生成させて、生成した仮想オブジェクトと前記実オブジェクトを含む合成画像を生成して第２表示部に表示させる仮想オブジェクト管理ステップを有し、
前記仮想オブジェクト管理ステップは、
前記座標処理モジュールから入力したカーソル位置情報に基づいてカーソルの三次元位置を算出させ、算出した位置にカーソルを仮想オブジェクトとして設定した合成画像を前記第２表示部に表示させるステップであるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、および情報処理方法、並びにプログラムに関する。さらに詳細には、実世界の実物体と電子的な表示を融合させた複合現実感（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）を利用したデータ処理を行う情報処理装置、および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
例えばユーザがＰＣ（パーソナルコンピュータ）を利用したデータ処理を行う場合、ユーザは、ＰＣの表示部（ディスプレイ）の表示データに対する処理を行う。しかし、限定された範囲の表示部のみを対象としたデータ処理には以下のような問題がある。
【０００３】
（１）ＰＣ等の表示部に表示したマウスカーソルをマウスで操作すると、表示部の画面領域の端部でその移動が止まってしまう。このため、マウスカーソルで表示部内のオブジェクトやウィンドウを操作していても表示部の画面領域外に移動させることができない。
【０００４】
（２）ＰＣ等の表示部の表示領域がユーザの利用するウィンドウなどで一杯になった場合、多数のウィンドウが重なって表示されることにあり、下にあるウィンドウを見たい場合は、ユーザが下側のウィンドウを選択して上側に表示する処理や、重なったウィンドウをアイコン化するなどの操作が必要となる。しかし前者の処理を行えば、下に持って行かれたウィンドウ、後者の場合にはアイコン化されたウィンドウの内容を見ることができなくなる。
【０００５】
このような問題がある。なお、ＰＣ等の表示部のサイズ以上の領域を利用するための処理として以下の処理が可能である。
（ａ）新たな物理的なディスプレイを用意し、ユーザの操作するコンピュータに接続して、複数のディスプレイを利用可能とする。
（ｂ）１つの表示部内に仮想デスクトップを設定して利用する。
しかし、前者（ａ）の場合は、ディスプレイを追加するためのコスト、スペースが必要となるという問題がある。また、後者（ｂ）は実際に表示部に表示されている以外の部分にアクセスするために、ユーザ操作によるコマンド入力や、トレイなどに表示されるアイコンの操作が必要であるという問題がある。
【０００６】
本発明は、このような問題を、例えば複合現実感（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）を利用したデータ処理を利用して解決するものである。なお、複合現実感について説明した従来技術としては、例えば特許文献１（特開２００８−３０４２６８号公報）や、特許文献２（特開２００８−３０４２６９号公報）がある。これらの文献には、カメラによって撮影された画像を利用して実世界の三次元マップを作成する処理について記載している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−３０４２６８号公報
【特許文献２】特開２００８−３０４２６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、複合現実感（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）を利用した処理により、例えばＰＣなどの表示部（ディスプレイ）に限定されることなく、表示部以外の空間領域を有効に利用したデータ処理を可能とした情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の側面は、
第１表示部に表示された位置指示子であるカーソルの位置が前記第１表示部の領域内であるか領域外であるかを判定し、領域外である場合はカーソル位置情報を仮想オブジェクト管理部に出力する座標処理モジュールと、
前記第１表示部を含む実オブジェクトからなる画像を撮影するカメラと、
カメラ撮影画像に含まれる実オブジェクトの三次元位置を解析する三次元情報解析部と、
前記カメラ撮影画像を表示する第２表示部と、
前記カメラ撮影画像に含まれる実オブジェクトと異なる仮想オブジェクトを生成し、生成した仮想オブジェクトと前記実オブジェクトを含む合成画像を生成して前記第２表示部に表示する仮想オブジェクト管理部を有し、
前記仮想オブジェクト管理部は、
前記座標処理モジュールから入力したカーソル位置情報に基づいてカーソルの三次元位置を算出し、算出した位置にカーソルを仮想オブジェクトとして設定した合成画像を前記第２表示部に表示する情報処理装置にある。
【００１０】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記位置指示子によって指定された指定オブジェクトに対する処理を行うアプリケーション実行部を有し、前記アプリケーション実行部は、前記指定オブジェクトが前記第１表示部の領域内であるか領域外であるかを判定し、領域外である場合はオブジェクト位置情報を仮想オブジェクト管理部に出力し、前記仮想オブジェクト管理部は、前記座標処理モジュールから入力したオブジェクト位置情報に基づいてオブジェクトの三次元位置を算出し、算出した位置にオブジェクトを仮想オブジェクトとして設定した合成画像を前記第２表示部に表示する。
【００１１】
さらに、本発明の情報処理装置の一実施態様において、前記仮想オブジェクト管理部は、前記座標処理モジュールから入力したオブジェクト位置情報に基づいて算出したオブジェクトの三次元位置が前記第１表示部の表示領域を含む場合、該前記第１表示部の表示領域に重なるオブジェクト領域画像を消去した合成画像を前記第２表示部に表示する。
【００１２】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、さらに、前記仮想オブジェクトとして設定したカーソルによって指定された実オブジェクトの画像データを取得し、取得した画像データに基づくデータ検索を行ってオブジェクト情報の取得処理を行うオブジェクト情報取得部を有し、前記オブジェクト情報取得部は、取得したオブジェクト情報を前記第１表示部への表示データとして出力する処理を行う。
【００１３】
さらに、本発明の情報処理装置の一実施態様において、前記オブジェクト情報取得部は、実オブジェクトの画像データとオブジェクト情報を対応付けたデータベース、またはサーバに対するアクセスを実行して、前記実オブジェクトの画像データに基づく検索処理によりオブジェクト情報を取得する。
【００１４】
さらに、本発明の情報処理装置の一実施態様において、前記仮想オブジェクト管理部は、前記カメラ撮影画像に含まれる第１表示部の構成部位の三次元位置情報に基づいて第１表示部の表示面を含む平面を算出し、該平面上に前記カーソルの位置が設定されるように、前記カーソルの三次元位置を算出する処理を行う。
【００１５】
さらに、本発明の情報処理装置の一実施態様において、前記カーソルはマウス操作によって移動するマウスカーソルであり、前記座標処理モジュールは、マウス操作によるマウスカーソルの変位情報を入力して、マウスカーソルの位置が前記第１表示部の領域内であるか領域外であるかを判定する処理を行う。
【００１６】
さらに、本発明の第２の側面は、
情報処理装置において実行する情報処理方法であり、
座標処理モジュールが、第１表示部に表示された位置指示子であるカーソルの位置が前記第１表示部の領域内であるか領域外であるかを判定し、領域外である場合はカーソル位置情報を仮想オブジェクト管理部に出力する座標処理ステップと、
カメラが、前記第１表示部を含む実オブジェクトからなる画像を撮影する撮影ステップと、
三次元情報解析部が、カメラ撮影画像に含まれる実オブジェクトの三次元位置を解析する三次元情報解析ステップと、
仮想オブジェクト管理部が、前記カメラ撮影画像に含まれる実オブジェクトと異なる仮想オブジェクトを生成し、生成した仮想オブジェクトと前記実オブジェクトを含む合成画像を生成して第２表示部に表示する仮想オブジェクト管理ステップを有し、
前記仮想オブジェクト管理ステップは、
前記座標処理モジュールから入力したカーソル位置情報に基づいてカーソルの三次元位置を算出し、算出した位置にカーソルを仮想オブジェクトとして設定した合成画像を前記第２表示部に表示するステップである情報処理方法にある。
【００１７】
さらに、本発明の第３の側面は、
情報処理装置において情報処理を実行させるプログラムであり、
座標処理モジュールに、第１表示部に表示された位置指示子であるカーソルの位置が前記第１表示部の領域内であるか領域外であるかを判定させて、領域外である場合はカーソル位置情報を仮想オブジェクト管理部に出力させる座標処理ステップと、
カメラに、前記第１表示部を含む実オブジェクトからなる画像を撮影させる撮影ステップと、
三次元情報解析部に、カメラ撮影画像に含まれる実オブジェクトの三次元位置を解析させる三次元情報解析ステップと、
仮想オブジェクト管理部に、前記カメラ撮影画像に含まれる実オブジェクトと異なる仮想オブジェクトを生成させて、生成した仮想オブジェクトと前記実オブジェクトを含む合成画像を生成して第２表示部に表示させる仮想オブジェクト管理ステップを有し、
前記仮想オブジェクト管理ステップは、
前記座標処理モジュールから入力したカーソル位置情報に基づいてカーソルの三次元位置を算出させ、算出した位置にカーソルを仮想オブジェクトとして設定した合成画像を前記第２表示部に表示させるステップであるプログラムにある。
【００１８】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な画像処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、画像処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【００１９】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００２０】
本発明の一実施例の構成によれば、ＰＣなどの表示部の外側領域にはみ出したカーソルまたはオブジェクトを仮想オブジェクトとして表示する。例えばユーザの装着したメガネのディスプレイにＰＣなどの表示装置とその外部領域の画像を表示する。ユーザ操作に応じて移動したと想定されるカーソルまたはオブジェクトの三次元位置を算出し、算出した位置に仮想オブジェクトとして表示する。またカーソルによって指定されたオブジェクトに対応するオブジェクト情報を取得して提示する。本構成により、表示部の外に出てしまったデータを常に観察して確認することが可能となり、データ処理効率を高めることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の情報処理装置の実行する一処理例について説明する図である。
【図２】本発明の情報処理装置の実行する一処理例について説明する図である。
【図３】本発明の情報処理装置の実行する一処理例について説明する図である。
【図４】本発明の情報処理装置の構成例について説明する図である。
【図５】本発明の情報処理装置の処理によってユーザの装着したメガネのディスプレイに表示される表示データの例について説明する図である。
【図６】本発明の情報処理装置の実行する処理シーケンスについて説明するフローチャートを示す図である。
【図７】本発明の情報処理装置の実行する処理の一例を示す具体的な処理例について説明する図である。
【図８】本発明の情報処理装置の処理によってユーザの装着したメガネのディスプレイに表示される表示データの例について説明する図である。
【図９】本発明の情報処理装置の実行する処理シーケンスについて説明するフローチャートを示す図である。
【図１０】本発明の情報処理装置の実行する処理の一例を示す具体的な処理例について説明する図である。
【図１１】本発明の情報処理装置の実行する処理の一例を示す具体的な処理例について説明する図である。
【図１２】本発明の情報処理装置の構成例について説明する図である。
【図１３】本発明の情報処理装置の処理によってユーザの装着したメガネのディスプレイに表示される表示データの例について説明する図である。
【図１４】本発明の情報処理装置の実行する処理シーケンスについて説明するフローチャートを示す図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照しながら本発明の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。
【００２３】
本発明について以下の項目に従って順次説明する。
１．本発明の情報処理装置の実行する処理の概要について
２．本発明の情報処理装置の第１実施例の構成および処理について
３．本発明の情報処理装置の第２実施例の構成および処理について
４．本発明の情報処理装置の第３実施例の構成および処理について
【００２４】
［１．本発明の情報処理装置の実行する処理の概要について］
まず、本発明の情報処理装置の実行する処理の概要について、図１〜図３を参照して説明する。本発明は、複合現実感（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）を利用した処理により、例えばＰＣなどの表示部（ディスプレイ）以外の空間領域を有効に利用したデータ処理を可能とするものである。
【００２５】
図１は、本発明の情報処理装置の実行する処理の一例を示す図である。図１には、ユーザの操作する例えばＰＣなどの表示部１０を示している。なお、詳細構成については後述するが、ユーザは複合現実間（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）生成装置の生成画像を表示するディスプレイを有するメガネを装着してＰＣの操作を行っている。
【００２６】
メガネには周囲の環境を撮影するカメラが備えられ、メガネのディスプレイには、カメラの撮影画像と複合現実間（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）生成装置の生成する仮想オブジェクトの合成画像が表示される。図１（ａ），（ｂ）の各図は、ユーザの装着したメガネのディスプレイに表示され、ユーザが観察する画像である。
【００２７】
ユーザは、例えば図１（ａ）に示すように表示部１０に文書を表示して、文書作成を行っている。この処理は一般的なＰＣの操作である。図１（ａ）に示す表示部１０には、ユーザの操作するマウスに対応して移動する位置指示子としてのマウスカーソル１１ａが表示されている。
【００２８】
ユーザは、マウスを操作することで、マウスカーソル１１ａを移動させることができる。従来装置では、マウスカーソルの移動範囲は表示部１０の表示領域に限定される。しかし、本発明の構成を適用すると、マウスカーソルの移動範囲は表示部１０の表示領域に限定されない。
【００２９】
例えば、ユーザのマウス操作によって図１（ａ）に示す移動ライン１２に従ってマウスカーソル１１ａを移動させると、図１（ｂ）に示すように、マウスカーソルは、表示部１０の外側の空間に移動させることができる。図１（ｂ）に示すマウスカーソル１１ｂである。この図１（ｂ）に示すマウスカーソル１１ｂは、複合現実間（ＭＲ）生成装置の生成する仮想オブジェクトである。ユーザは、ユーザの装着したメガネのディスプレイに表示される仮想オブジェクトであるマウスカーソル１１ｂを観察する。このように、本発明の構成を適用すると、表示部１０の内外を問わず、自在にマウスカーソル１１を移動させることが可能となる。
【００３０】
図２も、本発明の情報処理装置の実行する処理の一例を示す図である。図２にも、図１と同様、ユーザの操作する例えばＰＣなどの表示部１０を示している。ユーザは、複合現実間（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）生成装置の生成する画像を表示するディスプレイを備えたメガネを装着している。図２（ａ），（ｂ）の各図は、ユーザの装着したメガネのディスプレイに表示され、ユーザが観察する画像である。
【００３１】
図２（ａ）に示す表示部１０には、マウスカーソル１１ａと、マウスカーソル１１ａによって指定されたオブジェクト２１ａが表示されている。この例において、オブジェクト２１ａは、ＰＣ内部にある時計表示アプリケーションの実行によって表示部１０に表示されたオブジェクトである。
【００３２】
ユーザは、マウス操作によってマウスカーソル１１ａをオブジェクト２１ａ上に移動させて、マウス操作を行いオブジェクト指定処理を実行して、さらに、図２（ａ）に示す移動ライン２２に従ってマウスカーソル１１ａを移動させる。
【００３３】
この処理によって、マウスカーソルと指定されたオブジェクト２１を表示部１０の外側の空間に移動させることができる。図２（ｂ）に示すオブジェクト２１ｂである。この図２（ｂ）に示すオブジェクト２１ｂは、複合現実間（ＭＲ）生成装置の生成する仮想オブジェクトである。ユーザは、ユーザの装着したメガネのディスプレイに表示されるオブジェクト２１ｂを観察する。このように、本発明の構成を適用すると、マウスカーソルのみならず、表示部１０に表示されたオブジェクトを表示部の内外を問わず、自在に移動させることが可能となる。
【００３４】
図３も、本発明の情報処理装置の実行する処理の一例を示す図である。図３にも、図１、図２と同様、ユーザの操作する例えばＰＣなどの表示部１０を示している。ユーザは、複合現実間（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）生成装置の生成する画像を表示するディスプレイを備えたメガネを装着している。図３（ａ），（ｂ）の各図は、ユーザの装着したメガネのディスプレイに表示され、ユーザが観察する画像である。
【００３５】
図３（ａ）には、先に図１を参照して説明した操作によって、表示部１０外に設定されたマウスカーソル１１ａと、マウスカーソル１１ａによって指定された実オブジェクト３１ａを示している。この例において、オブジェクト３１ａは、空間上に実際に存在する実オブジェクトであり、この例では音楽データを格納したディスクであるＣＤのジャケット写真である。
【００３６】
ユーザは、マウス操作によってマウスカーソル１１ａをオブジェクト３１ａ上に設定し、マウス操作を行い、オブジェクトの指定処理を実行する。このオブジェクト指定処理によって指定されたオブジェクトに関する情報、すなわちオブジェクト情報などをデータベースやサーバから取得する。取得したオブジェクト情報を表示部１０に表示させる。図３（ｂ）に示すオブジェクト画像３１ｂやオブジェクト情報３１ｃである。
【００３７】
このように、本発明の構成を適用すると、実空間にある様々な実オブジェクトを仮想オブジェクトであるマウスカーソルで指定し、指定オブジェクトの関連情報を取得して、取得データをＰＣ等の情報処理装置の処理データとして取り込み、ＰＣ内のアプリケーションの実行によって表示部１０に表示させることが可能となる。
【００３８】
［２．本発明の情報処理装置の第１実施例の構成および処理について］
次に、本発明の情報処理装置の第１実施例として図１を参照して説明した処理を実行する装置の構成と処理の詳細について説明する。実施例１は、図１に示すように、ユーザのマウス操作によって図１（ａ）に示す移動ライン１２に従ってマウスカーソル１１ａを移動させることで、図１（ｂ）に示すようにマウスカーソルを表示部１０の外側の空間に移動させる処理を実現する構成例である。
【００３９】
図４は、上記処理を実行する本発明の一実施例に係る情報処理装置の構成を示す図である。ユーザ１００は、ＰＣ（パーソナルコンピュータ）１２０を操作して各種のデータ処理を行う。ＰＣ１２０は、図に示すように、マウスドライバ１２１、マウス座標処理モジュール１２２、ＧＵＩ部１２３、通信部１２４、アプリケーション実行部１２５、制御部１２６、メモリ１２７、表示部１２８を有する。また、図の上部に示すマウス１２９を有する。
【００４０】
マウスドライバ１２１は、マウス１２９からの入力情報である位置情報、操作情報を入力する。マウス座標処理モジュール１２２は、マウスドライバ１２１を介して入力するマウス１２９の位置情報に応じて、マウスカーソルの表示位置を決定する。なお、本発明の構成では、マウスカーソルの表示位置は表示部１２８の表示領域に限らない。
【００４１】
ＧＵＩ部１２３は、ユーザからの入力情報の処理、ユーザに対する出力情報の処理などを行うユーザインタフェースである。通信部１２４は、複合現実間（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）生成装置１３０との通信処理を行う。
【００４２】
アプリケーション実行部１２５は、ＰＣ１２０内で実行する様々なデータ処理に対応するアプリケーションを実行する。制御部１２６は、ＰＣ１２０内で実行する処理の統括的制御を行う。メモリ１２７はプログラム、データ処理パラメータなどを格納するＲＡＭ，ＲＯＭ等によって構成されるメモリである。表示部１２８は、例えばＬＣＤ等によって構成される表示部である。
【００４３】
ユーザ１００は、仮想オブジェクトを表示するディスプレイを有するメガネ１４１を装着している。メガネ１４１には周囲の環境を撮影するカメラ１４２が備えられている。メガネ１４１とカメラ１４２は、複合現実間（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）生成装置１３０に接続されている。ユーザ１００はメガネ１４１に設けられたディスプレイの表示画像を観察しながら作業を行う。
【００４４】
メガネ１４１のディスプレイには、カメラ１４２の撮影画像である実世界画像を表示し、さらに複合現実感（ＭＲ）生成装置１３０の生成した仮想オブジェクトを実世界画像に併せて表示する。
【００４５】
図４の例において、ユーザ１００はＰＣ（パーソナルコンピュータ）１２０を操作しており、カメラ１４２は、ユーザ１００の操作するＰＣ（パーソナルコンピュータ）１２０を撮影している。従って、メガネ１４１のディスプレイには、実世界画像として、例えば、ユーザ１００の操作するＰＣ（パーソナルコンピュータ）１２０のディスプレイ（表示部１２８）とその周囲の様々な実オブジェクトを含む画像が表示される。さらに、この実世界画像に複合現実感（ＭＲ）生成装置１３０の生成した仮想オブジェクトが重ねて表示される。ユーザ１００の動きに応じて、カメラ１４２の向きも変更される。
【００４６】
ユーザ１００が、ＰＣ１２０の画面に向かって処理を行っている場合、カメラ１４２はＰＣ１２０の画面の画像を中心とした画像を撮影する。この結果、例えば図５に示すような表示データ１５０が、ユーザ１００の装着したメガネ１４１のディスプレイに表示される。この図５に示す表示データ１５０は、実オブジェクトと仮想オブジェクトの合成画像である。
【００４７】
次に、図４に示す複合現実感（ＭＲ）生成装置１３０の構成について説明する。複合現実感（ＭＲ）生成装置１３０は、図４に示すように、三次元情報解析部１３１、仮想オブジェクト管理モジュール１３２、メモリ１３３、通信部１３４を有する。
【００４８】
三次元情報解析部１３１は、ユーザの装着したカメラ１４２の撮影画像を入力し、撮影画像に含まれるオブジェクトの三次元位置を解析する処理を行う。この三次元位置解析処理は、例えば、ＳＬＡＭ（ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ）を適用した処理として行われる。ＳＬＡＭは、カメラの撮影画像に含まれる様々な実オブジェクトから特徴点を選択し、選択した特徴点の位置とカメラの位置姿勢を併せて検出する処理である。なお、ＳＬＡＭについては、前述の特許文献１（特開２００８−３０４２６８号公報）や、特許文献２（特開２００８−３０４２６９号公報）に記載されている。なお、ＳＬＡＭの基本的な処理については、論文［Ａｎｄｒｅｗ  Ｊ．Ｄａｖｉｓｏｎ，"Ｒｅａｌ−ｔｉｍｅ  ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｓａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ  ｗｉｔｈ  ａ  ｓｉｎｇｌｅ  ｃａｍｅｒａ"，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ９ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，Ｎｉｎｔｈ，（２００３）］に記載がある。
【００４９】
三次元情報解析部１３１は、例えば上記のＳＬＡＭを適用してユーザの装着したカメラ１４２の撮影画像に含まれる実オブジェクトの三次元位置を算出する。ただし三次元情報解析部１３１は、上記のＳＬＡＭに限らず、その他の方法でカメラ撮影画像に含まれるオブジェクトの三次元位置を求める設定であってもよい。
【００５０】
仮想オブジェクト管理モジュール１３２は、ユーザの装着したメガネ１４１のディスプレイに表示する仮想オブジェクトの管理を行う。仮想オブジェクトは、メモリ１３３に格納されたデータである。具体的には、例えば、ユーザの装着したメガネ１４１のディスプレイには、図５に示す表示データ１５０が表示される。表示データ１５０に含まれるＰＣ画像１５１は、カメラ１４２によって撮影された実画像（実オブジェクト）である。
【００５１】
例えば、ユーザがＰＣ１２０のマウス１２９を移動させた場合、図５に示すＰＣ画像１５１内に表示されたマウスカーソル１５２ａは、ＰＣ画像１５１の外側まで移動して、仮想オブジェクトとしてのマウスカーソル１５２ｂが表示される。
【００５２】
図４に示すユーザ１００は、例えば図５に示す実オブジェクトと仮想オブジェクトとの合成画像をメガネ１４１のディスプレイにおいて観察することができる。図５に示すＰＣ画像１５１はカメラ１４２によって撮影された実オブジェクトである。ＰＣ画像１５１内のマウスカーソル１５２ａもＰＣ画像１５１内に実際に表示されている情報であり実オブジェクトである。なお、ここでは、カメラ１４２によって撮影される実世界に存在し、カメラで撮影可能なオブジェクトを実オブジェクトとして説明する。
【００５３】
図５に示すＰＣ画像１５１の外側のマウスカーソル１５２ｂは、現実世界のオブジェクト（実オブジェクト）ではない。このマウスカーソル１５２ｂは、複合現実感（ＭＲ）生成装置１３０の生成した仮想オブジェクトである。実世界には存在しないが、ユーザの装着したメガネ１４１のディスプレイに表示されたオブジェクトである。
【００５４】
このようなマウスカーソルの表示処理を行う処理シーケンスについて、図６に示すフローチャートを参照して説明する。なお、ユーザは、図４に示すＰＣ１２０に接続されたマウス１２９の操作を行っているものとする。操作情報は、マウスドライバに入力される。この処理以降、図６に示すフローチャートのステップＳ１０１以下の処理が行われる。
【００５５】
図６に示すフローチャートのステップＳ１０１〜Ｓ１０５の処理は、図４に示すＰＣ１２０の処理である。
ステップＳ１０６〜Ｓ１０９の処理は、図４に示す複合現実感（ＭＲ）生成装置１３０の処理である。
【００５６】
ステップＳ１０１において、ＰＣ１２０のマウス座標処理モジュール１２２がマウスドライバ１２１からマウスの変位（ｄＸ，ｄＹ）情報を入力する。
ステップＳ１０２において、マウス座標処理モジュール１２２が、以前のマウスカーソル位置（ＸＰ，ＹＰ）と、マウスの変位（ｄＸ，ｄＹ）情報とから、更新後のマウスカーソル位置（ＸＱ，ＹＱ）を算出する。
【００５７】
ステップＳ１０３において、マウス座標処理モジュール１２２が、更新後のマウスカーソル位置（ＸＱ，ＹＱ）が表示部外であるか否かを判定する。更新後のマウスカーソル位置（ＸＱ，ＹＱ）が表示部領域内であれば、ステップＳ１０４に進み、ＰＣ内の通常のマウスカーソル表示更新処理を実行する。更新後のマウスカーソル位置（ＸＱ，ＹＱ）が表示部領域外の場合は、ステップＳ１０５に進む。
【００５８】
ステップＳ１０５では、メモリに格納されたマウスカーソル位置情報（ＸＱ，ＹＱ）が、通信部を介して複合現実感（ＭＲ）生成装置１３０に転送される。なお、本実施例では、ＰＣ１２０から複合現実感（ＭＲ）生成装置１３０に転送する位置情報は、マウスカーソルの位置情報のみであり、位置情報がマウスカーソルの位置情報であることは、複合現実感（ＭＲ）生成装置１３０に予め設定済みであるとする。その他のオブジェクトについての位置情報等を転送する場合は、各オブジェクトの識別情報、あるいはオブジェクトの描画データを転送することが必要となる。
【００５９】
ステップＳ１０６以降は、複合現実感（ＭＲ）生成装置１３０の処理として行われる。
まず、ステップＳ１０６において、複合現実感（ＭＲ）生成装置１３０はＰＣ１２０から転送されたマウスカーソル位置情報（ＸＱ，ＹＱ）を複合現実感（ＭＲ）生成装置１３０側のメモリ１３３に格納する。ＰＣ１２０から非表示データ（マウスカーソル描画データ）またはその識別子を受信している場合は、受信データについても複合現実感（ＭＲ）生成装置１３０側のメモリ１３３に格納する。
【００６０】
次に、ステップＳ１０７において、複合現実感（ＭＲ）生成装置１３０の仮想オブジェクト管理モジュール１３２は、メモリ１３３に格納されたデータ、すなわち、非表示データ（マウスカーソル描画データ）と位置情報（ＸＱ，ＹＱ）を取得する。
【００６１】
ステップＳ１０８において、仮想オブジェクト管理モジュール１３２は、メモリ１３３から取得した非表示データ（マウスカーソル）の位置情報を三次元情報解析部１３１から取得したカメラ撮影画像に対応するカメラ座標系に変換する処理を行う。
【００６２】
この処理について、図７を参照して説明する。三次元情報解析部１３１はカメラ撮影画像に含まれるＰＣの表示部２００の４隅のマーカー２０１ａ〜２０１ｄの三次元位置情報を取得している。図７に示すように、
マーカー２０１ａ＝（ｘａ，ｙａ，ｚａ）
マーカー２０１ｂ＝（ｘｂ，ｙｂ，ｚｂ）
マーカー２０１ｃ＝（ｘｃ，ｙｃ，ｚｃ）
マーカー２０１ｄ＝（ｘｄ，ｙｄ，ｚｄ）
これらの位置情報が取得されている。
なお、この位置情報は、カメラ座標系（ｘ，ｙ，ｚ）における位置情報である。
一方、ＰＣ１２０から受領するマウスカーソルの位置情報（ＸＱ，ＹＱ）は、ＰＣ表示部平面座標系であり、図７に示すように、例えば表示部の左上端を原点（Ｘ，Ｙ）＝（０，０）として横方向をＸ、縦方向をＹとする座標面における位置情報である。
【００６３】
仮想オブジェクト管理表示モジュール１３２は、マーカー２０１ａ〜ｄの三次元位置情報に基づいて、カメラ座標系におけるＰＣの表示部の平面を算出し、その算出した平面上に、ＰＣ１２０から取得した非表示データ（マウスカーソル描画データ）の設定位置を決定する。この処理のため、ＰＣ１２０から取得した表示部平面座標系（Ｘ，Ｙ）で示された位置情報（ＸＱ，ＹＱ）の座標変換を実行して、カメラ座標系（ｘ，ｙ，ｚ）におけるマウスカーソル２１１ｑの表示位置（ｘｑ，ｙｑ，ｚｑ）を算出する。
【００６４】
マウスカーソル２１１ｑの表示位置（ｘｑ，ｙｑ，ｚｑ）は、
図７に示す表示部２００の４隅のマーカー２０１ａ〜２０１ｄの形成する表示面の平面上の位置に設定される。まず、この表示部２００の４隅のマーカー２０１ａ〜２０１ｄの形成する表示面を求める。
この表示面は、表示部２００の４隅のマーカー２０１ａ〜２０１ｄの４座標から任意の３座標を用いて規定することができる。例えば、
マーカー２０１ａ＝（ｘａ，ｙａ，ｚａ）
マーカー２０１ｂ＝（ｘｂ，ｙｂ，ｚｂ）
マーカー２０１ｃ＝（ｘｃ，ｙｃ，ｚｃ）
上記の３点の座標を用いて規定することができる。
【００６５】
表示面を通るｘｙｚ平面（カメラ座標系（ｘ，ｙ，ｚ）における平面）は、これらの３点の座標を用いて下式（式１）のように示すことができる。
（ｘ−ｘａ）（ｙｂ−ｙａ）（ｚｃ−ｚａ）＋（ｘｂ−ｘａ）（ｙｃ−ｙａ）（ｚ−ｚａ）＋（ｘｃ−ｘａ）（ｙ−ｙａ）（ｚｂ−ｚａ）−（ｘｃ−ｘａ）（ｙｂ−ｙａ）（ｚ−ｚａ）−（ｘｂ−ｘａ）（ｙ−ｙａ）（ｚｃ−ｚａ）−（ｘ−ｘａ）（ｙｃ−ｙａ）（ｚｂ−ｚａ）＝０
・・・（式１）
【００６６】
仮想オブジェクト管理表示モジュール１３２は、ＰＣ１２０から取得した表示部平面座標系（Ｘ，Ｙ）で示された位置情報（ＸＱ，ＹＱ）を、カメラ座標系（ｘ，ｙ，ｚ）における上記ｘｙｚ平面上の位置座標（ｘｑ，ｙｑ，ｚｑ）に変換する処理を行う。
【００６７】
求める座標を図７に示すマウスカーソル２１１ｑのカメラ座標系（ｘ，ｙ，ｚ）における座標位置（ｘｑ，ｙｑ，ｚｑ）とする。
また、
マーカー２０１ａ＝（ｘａ，ｙａ，ｚａ）
マーカー２０１ｂ＝（ｘｂ，ｙｂ，ｚｂ）
マーカー２０１ｃ＝（ｘｃ，ｙｃ，ｚｃ）
上記の３点の表示部平面座標系（Ｘ，Ｙ）での位置を、それぞれ以下のようにする。
マーカー２０１ａ＝（０，０）
マーカー２０１ｂ＝（ＸＢ，０）
マーカー２０１ｃ＝（０，ＹＣ）
【００６８】
表示部平面座標系（Ｘ，Ｙ）における以下の各座標、すなわち、
マーカー２０１ａ＝（０，０）
マーカー２０１ｂ＝（ＸＢ，０）
マーカー２０１ｃ＝（０，ＹＣ）
マウスカーソル２１１ｐの位置（ＸＰ，ＹＰ）
マウスカーソル２１１ｑの位置（ＸＱ，ＹＱ）
これらの位置関係と、
カメラ座標系（ｘ，ｙ，ｚ）における以下の各座標、すなわち、
マーカー２０１ａ＝（ｘａ，ｙａ，ｚａ）
マーカー２０１ｂ＝（ｘｂ，ｙｂ，ｚｂ）
マーカー２０１ｃ＝（ｘｃ，ｙｃ，ｚｃ）
マウスカーソル２１１ｐの位置（ｘｐ，ｙｐ，ｚｐ）
マウスカーソル２１１ｑの位置（ｘｑ，ｙｑ，ｚｑ）
これらの位置関係は、同じ位置関係にある。
【００６９】
従って、下式が成立する。
（０−ＸＱ）／（０−ＸＢ）＝（ｘａ−ｘｑ）／（ｘａ−ｘｂ）
（０−ＹＱ）／（０−ＹＣ）＝（ｙａ−ｙｑ）／（ｙａ−ｙｃ）
上記式から、
ｘｑ＝ｘａ−ＸＱ（ｘａ−ｘｂ）／ＸＢ  ・・・（式２）
ｙｑ＝ｙａ−ＹＱ（ｙａ−ｙｂ）／ＹＣ  ・・・（式３）
上記関係式（式２），（式３）が導かれる。
【００７０】
上記関係式（式２）、（式３）を前述の式（式１）に代入することで、ｚｑが導かれる。このようにして、マウスカーソル２１１ｑの位置（ｘｑ，ｙｑ，ｚｑ）を算出する。
【００７１】
仮想オブジェクト管理モジュール１３２は、このようにして、図６のフローに示すステップＳ１０８において、メモリ１３３から取得した非表示データの位置情報（ＸＱ，ＹＱ）を三次元情報解析部１３１から取得したカメラ撮影画像に対応するカメラ座標系の位置（ｘｑ，ｙｑ，ｚｑ）に変換する処理を行う。
【００７２】
次に、ステップＳ１０９において、仮想オブジェクト管理モジュール１３２は、生成したカメラ座標系対応の座標位置（ｘｑ，ｙｑ，ｚｑ）にマウスカーソルを配置して表示する。なお、ＰＣ１２０からマウスカーソル描画データを受信しメモリ１３３に格納している場合は、メモリ１３３の格納データに含まれる非表示データ、すなわち、ＰＣ１２０から転送された非表示データ（マウスカーソル描画データ）を、生成したカメラ座標系対応の座標位置（ｘｑ，ｙｑ，ｚｑ）に配置して表示する。
【００７３】
この処理によって、図５に示す表示データ１５０が、ユーザ１００の装着したメガネ１４１のディスプレイに表示される。図５に示す表示データ１５０は、実オブジェクトとしてのＰＣ画像１５１と、仮想オブジェクトとしてのマウスカーソル１５２ｂが併せて表示された合成画像である。仮想オブジェクト管理モジュール１３２は、仮想オブジェクトの表示位置を、図５に示すように、ＰＣ表示部の外部空間に設定する。このような表示処理によって、ユーザは、マウスカーソルの移動範囲をＰＣ表示部内に限定されることなく、ＰＣ表示部外の空間まで広げることが可能となり、より大きな作業領域を利用したデータ処理を行うことが可能となる。
【００７４】
なお、図６に示すフローチャートを参照して説明した処理は、ユーザがＰＣ１２０のマウス１２９を操作し、マウスカーソルの位置が変更されるたびに行われる。マウス座標処理モジュール１２２は、マウスカーソルの位置が変更される毎に更新データを複合現実感（ＭＲ）生成装置１３０に送信する。複合現実感（ＭＲ）生成装置１３０は更新されたデータに基づいて仮想オブジェクト（マウスカーソル）の表示位置を変更する処理をリアルタイム処理として実行する。
【００７５】
［３．本発明の情報処理装置の第２実施例の構成および処理について］
次に、本発明の情報処理装置の第２実施例として、先に図２を参照して説明した処理を実行する装置の構成と処理の詳細について説明する。実施例２は、図２を参照して説明したように、ユーザのマウス操作によってオブジェクト２１を指定し、さらに図２（ａ）（ｂ）に示す移動ライン２２に従ってマウスカーソル１１ａを移動させることで、図２（ｂ）に示すようにオブジェクト２１を表示部１０の外側の空間に移動させる処理を実現する構成例である。
【００７６】
本実施例は、第１実施例と同様、図４に示す構成を持つ装置によって実行される。図４の例において、ユーザ１００はＰＣ（パーソナルコンピュータ）１２０を操作しており、カメラ１４２は、ユーザ１００の操作するＰＣ（パーソナルコンピュータ）１２０を撮影している。従って、ユーザ１００の装着したメガネ１４１のディスプレイには、実世界画像として、例えば、ユーザ１００の操作するＰＣ（パーソナルコンピュータ）１２０のディスプレイ（表示部１２８）とその周囲の様々な実オブジェクトを含む画像が表示される。さらに、この実世界画像に複合現実感（ＭＲ）生成装置１３０の生成した仮想オブジェクトが重ねて表示される。ユーザ１００の動きに応じて、カメラ１４２の向きも変更される。
【００７７】
ユーザ１００が、ＰＣ１２０の画面に向かって処理を行っている場合、カメラ１４２はＰＣ１２０の画面の画像を中心とした画像を撮影する。この結果、例えば図８に示すような表示データ２５０が、ユーザ１００の装着したメガネ１４１のディスプレイに表示される。この図８に示す表示データ２５０は、実オブジェクトと仮想オブジェクトの合成画像である。
【００７８】
表示データ２５０に含まれるＰＣ画像２５１は、カメラ１４２によって撮影された実画像（実オブジェクト）である。例えば、ユーザが図４に示すＰＣ１２０のマウス１２９を移動させた場合の処理を図８に示している。図８に示すＰＣ画像２５１内に表示されたオブジェクト２５２ａをマウスカーソル２７１ａによって指定した後、ＰＣ画像２５１の外側まで移動すると、オブジェクト２５２とマウスカーソル２７１は共に移動する。移動を続けることで、仮想オブジェクトとしてのオブジェクト２５２ｂとマウスカーソル２７１ｂがＰＣ画像２５１外に表示される。
【００７９】
図４に示すユーザ１００は、例えば図８に示す実オブジェクトと仮想オブジェクトとの合成画像をメガネ１４１のディスプレイにおいて観察することができる。図８に示すＰＣ画像２５１はカメラ１４２によって撮影された実オブジェクトである。ＰＣ画像２５１内のオブジェクト２５２ａもマウスカーソル２７１ａもＰＣ画像１５１内に実際に表示されている情報であり実オブジェクトである。一方、図８に示すＰＣ画像２５１の外側のオブジェクト２５２ｂとマウスカーソル２７１ｂは、現実世界のオブジェクト（実オブジェクト）ではない。このオブジェクト２５２ｂとマウスカーソル２７１ｂは、複合現実感（ＭＲ）生成装置１３０の生成した仮想オブジェクトである。実世界には存在しないが、ユーザの装着したメガネ１４１のディスプレイに表示されたオブジェクトである。
【００８０】
このような仮想オブジェクト表示処理を行う処理シーケンスについて、図９に示すフローチャートを参照して説明する。なお、ユーザは、図４に示すＰＣ１２０に接続されたマウス１２９の操作を行っているものとする。
【００８１】
なお、図８に示す表示データ２５０からも理解されるように、本実施例においても第１実施例と同様、仮想オブジェクトとしてのマウスカーソル２７１ｂの表示処理を行う。このマウスカーソル２７１ｂの表示処理を行うためのシーケンスは、図６を参照して説明したと同様のシーケンスで実行される。
【００８２】
本実施例２においては、さらに、マウスによって指定されたオブジェクト２５２の表示処理が追加されることになる。図９に示すフローチャートは、このマウス指定オブジェクトの表示シーケンスのみを説明するフローである。すなわち、図８に示す表示データ２５０を生成して表示する場合には、図６に示すフローに従った処理と、図９に示すフローに従った処理とが併せて実行される。
【００８３】
図９に示すフローチャートのステップＳ２０１〜Ｓ２０４の処理は、図４に示すＰＣ１２０の処理である。
ステップＳ２０５〜Ｓ２０８の処理は、図４に示す複合現実感（ＭＲ）生成装置１３０の処理である。
【００８４】
ステップＳ２０１において、ＰＣ１２０のマウス１２９によって指定したオブジェクト情報をＰＣ１２０側のメモリ１２７に格納する。なお、メモリ１２７に格納するオブジェクト情報には、オブジェクトの描画用データと位置情報が含まれる。位置情報は、例えばオブジェクトの基準となる中心位置の座標、あるいは輪郭を定義する複数の位置情報などである。
【００８５】
例えば、図１０に示すオブジェクト３０１ａのように矩形データの場合は、４頂点ＰＱＲＳの各座標情報がオブジェクト情報の構成要素としてメモリに格納される。なお、位置情報は、オブジェクトを特定の位置に描画可能な位置情報であればよく、４頂点ＰＱＲＳのすべてではなく１点Ｐの座標情報のみをメモリに格納する設定としてもよい。オブジェクトの形状を示すオブジェクト描画データもメモリに格納されるため、１点、例えば点Ｐの座標のみを位置情報としてメモリに格納しても、Ｐを起点としてオブジェクトの描画処理（表示処理）が可能であるからである。
【００８６】
ステップＳ２０２において、ユーザ操作によるＰＣ１２０のマウス１２９の移動により、マウス指定オブジェクト領域に表示部外領域が発生したか否かを検証する。この処理は、ＰＣ１２０のアプリケーション実行部１２５が、マウス座標処理モジュール１２２の取得した移動先のマウスカーソル位置とオブジェクト形状に基づいて検証する。
【００８７】
ステップＳ２０２の判定がＮｏ、すなわち、マウス指定オブジェクト領域に表示部外領域が発生していない場合は、ステップＳ２０３に進み、ＰＣ１２０のアプリケーション実行部１２５が、マウス指定オブジェクトをＰＣ１２０内の表示部内に表示する。
【００８８】
一方、ステップＳ２０２の判定がＹｅｓ、すなわち、マウス指定オブジェクト領域に表示部外領域が発生している場合は、ステップＳ２０４に進む。この場合は、例えば、図１０に示すオブジェクト３０１ｂの位置、あるいは図１１に示すオブジェクト３０１ｃの位置などにユーザ操作によってオブジェクトが移動した場合である。なお、図１０、図１１に示すオブジェクト３０１ｂ，３０１ｃは、少なくとも一部が仮想オブジェクトとしてユーザの装着したメガネのディスプレイに表示された例を示している。
【００８９】
ステップＳ２０４では、メモリに記録されたデータ（非表示データ（オブジェクト描画データ））と位置情報を複合現実間（ＭＲ）生成装置１３０に送信する。例えば、図１０に示す例では、オブジェクト３０１ｂの時計の描画データと、オブジェクト３０１ｂの４頂点ＰＱＲＳの座標データがＰＣ１２０側メモリ１２７から取得されて複合現実間（ＭＲ）生成装置１３０に送信される。
【００９０】
なお、転送される位置情報は、先の実施例１と同様、ＰＣ表示部平面座標系であり、図１０に示すように、例えば表示部の左上端を原点（Ｘ，Ｙ）＝（０，０）として横方向をＸ、縦方向をＹとする座標面における位置情報である。図１０に示す例では、
Ｐ＝（ＸＰ，ＹＰ）
Ｑ＝（ＸＱ，ＹＱ）
Ｒ＝（ＸＲ，ＹＲ）
Ｓ＝（ＸＳ，ＹＳ）
これらの４頂点座標情報が転送される。
【００９１】
ステップＳ２０５以降は、複合現実感（ＭＲ）生成装置１３０の処理として行われる。
まず、ステップＳ２０５において、複合現実感（ＭＲ）生成装置１３０はＰＣ１２０からの受信データ、すなわち、非表示データ（オブジェクト描画データ）と位置情報（ＰＱＲＳの座標情報）を複合現実感（ＭＲ）生成装置１３０側のメモリ１３３に格納する。
【００９２】
次に、ステップＳ２０６において、複合現実感（ＭＲ）生成装置１３０の仮想オブジェクト管理モジュール１３２は、メモリ１３３に格納されたデータ、すなわち、非表示データ（オブジェクト描画データ）と位置情報（ＰＱＲＳの座標情報）を取得する。
【００９３】
次に、ステップＳ２０７において、仮想オブジェクト管理モジュール１３２は、メモリ１３３から取得した位置情報ＰＱＲＳを三次元情報解析部１３１から取得したカメラ撮影画像に対応するカメラ座標系に変換する処理を行う。
【００９４】
この座標変換処理は、先の第１実施例で説明したマウスカーソルの座標変換処理と同様の処理として実行されるものであるので、詳細は省略する。
【００９５】
例えば、図１０に示す例では、
オブジェクト３０１ｂの表示部平面座標系（Ｘ，Ｙ）におけるＰＱＲＳの各座標は、カメラ座標系（ｘ，ｙ，ｚ）における各座標に以下のように変換される。
Ｐ＝（ＸＰ，ＹＰ）→（ｘｐ，ｙｐ，ｚｐ）
Ｑ＝（ＸＱ，ＹＱ）→（ｘｑ，ｙｑ，ｚｑ）
Ｒ＝（ＸＲ，ＹＲ）→（ｘｒ，ｙｒ，ｚｒ）
Ｓ＝（ＸＳ，ＹＳ）→（ｘｓ，ｙｓ，ｚｓ）
【００９６】
仮想オブジェクト管理モジュール１３２は、このように、図９のフローに示すステップＳ２０７において、メモリ１３３から取得した非表示データの位置情報を三次元情報解析部１３１から取得したカメラ撮影画像に対応するカメラ座標系の位置（ｘｑ，ｙｑ，ｚｑ）に変換する処理を行う。
【００９７】
次に、ステップＳ２０８において、仮想オブジェクト管理モジュール１３２は、メモリ１３３の格納データに含まれる非表示データ（オブジェクト描画用データ）を取得し、図１０に示すように、生成したカメラ座標系対応の座標位置にオブジェクトを描画、すなわち表示する。
【００９８】
この処理によって、図８に示す表示データ２５０が、ユーザ１００の装着したメガネ１４１のディスプレイに表示される。図８に示す表示データ２５０は、実オブジェクトとしてのＰＣ画像２５１と、仮想オブジェクトとしてのオブジェクト２５２ｂ、さらにマウスカーソル２７１ｂが併せて表示された合成画像である。仮想オブジェクト管理モジュール１３２は、仮想オブジェクトの表示位置を、図８に示すように、ＰＣ表示部の外部空間に設定する。このような表示処理によって、ユーザは、様々なオブジェクトをＰＣ表示部内に限定されることなく、ＰＣ表示部外の空間に表示することが可能となり、より大きな作業領域を利用したデータ処理を行うことが可能となる。
【００９９】
なお、図９に示すフローチャートを参照して説明した処理は、ユーザがＰＣ１２０のマウス１２９を操作し、マウスカーソルの位置が変更されるたびに行われる。アプリケーション実行部１２５は、マウスカーソルの位置が変更される毎に更新データを複合現実感（ＭＲ）生成装置１３０に送信する。複合現実感（ＭＲ）生成装置１３０は更新されたデータに基づいて仮想オブジェクト（時計）の表示位置を変更する処理をリアルタイム処理として実行する。
【０１００】
なお、図９に示すフローチャートのステップＳ２０２の判定処理において、Ｙｅｓとなる場合は、例えば図１１に示すオブジェクト３０１ｃの位置においても発生する。すなわち、ステップＳ２０２の判定は、マウス指定オブジェクトの一部でも、ＰＣ表示部の表示領域外となった場合にＹｅｓと判定される。
【０１０１】
この場合も、オブジェクト３０１ｃの位置情報として、図１１に示すＰＱＲＳの位置情報がＰＣ１２０から、複合現実感（ＭＲ）生成装置１３０に転送される。複合現実感（ＭＲ）生成装置１３０において、オブジェクト３０１ｃをＰＣの表示部に一部重複する形態で表示すればよい。
【０１０２】
なお、この場合は、図１１に示すオブジェクト３０１ｃ中の表示部外の領域ＵＱＲＶのみを仮想オブジェクトとして表示し、領域ＰＵＶＳのオブジェクト部分は、仮想オブジェクトとして表示せず、ＰＣの表示部に表示された実オブジェクト、すなわちカメラ撮影画像そのものをユーザの装着するメガネのディスプレイに表示する設定としてもよい。
【０１０３】
この処理を行う場合は、複合現実感（ＭＲ）生成装置１３０の仮想オブジェクト管理モジュール１３２は、仮想オブジェクトの表示処理に際して、図１１に示すＵＱＲＶの部分データのみからなる仮想オブジェクト表示データを生成して表示する。すなわちＰＣから受信したオブジェクト描画データのＰＵＶＳの部分データは透明化する処理を行うことになる。
【０１０４】
［４．本発明の情報処理装置の第３実施例の構成および処理について］
次に、本発明の情報処理装置の第３実施例として、先に図３を参照して説明した処理を実行する装置の構成と処理の詳細について説明する。実施例３は、図３を参照して説明したように、ユーザのマウス操作によってＰＣ表示部外の実空間にあるオブジェクト３１を指定することで、図３（ｂ）に示すようにオブジェクト情報３１ｃを表示する処理を実現する構成例である。
【０１０５】
本実施例は、図１２に示す構成を持つ装置によって実行される。ＰＣ１２０の構成は、先に実施例１において図４を参照して説明した構成と同様の構成である。複合現実感（ＭＲ）生成装置１３０は、三次元情報解析部１３１、仮想オブジェクト管理モジュール１３２、メモリ１３３、通信部１３４、オブジェクト情報取得部１３５、オブジェクト情報データベース１３６を有する。なお、オブジェクト情報データベース１３６は複合現実感（ＭＲ）生成装置１３０内に設定することは必須ではなく、複合現実感（ＭＲ）生成装置１３０の通信部を介してアクセス可能な例えばネットワーク接続可能なデータベースであればよい。
【０１０６】
三次元情報解析部１３１、仮想オブジェクト管理モジュール１３２、メモリ１３３、通信部１３４、これらの構成は、第１実施例において図４を参照して説明した構成と同様である。ただし、通信部１３４はネットワークを介して外部サーバ１４０やオブジェクト情報データベース１３６との通信を実行する。
【０１０７】
オブジェクト情報取得部１３５は、ユーザ１００の装着したカメラ１４２の撮影画像から様々な実オブジェクトの画像を取得し、オブジェクト情報データベース１３６に格納されたデータとの照合処理を実行し、類似する画像を選別し、その選択画像に対応付けられたオブジェクト情報を取得する。
【０１０８】
例えば、実オブジェクト画像が音楽ＣＤのジャケット画像である場合、オブジェクト情報は、そのＣＤの曲名やジャンル、アーティスト、価格といった様々な情報である。これらのオブジェクト情報は、オブジェクト画像に対応付けられてオブジェクト情報データベース１３６に格納されている。
【０１０９】
なお、サーバ１４０もオブジェクト情報データベース１３６に格納された情報と同様の情報を保持している。複合現実感（ＭＲ）生成装置１３０は、通信部１３４を介して、ユーザ１００の装着したカメラ１４２の撮影画像をまたは撮影画像から選択した実オブジェクト画像（例えばＣＤジャケット画像）をサーバに送信する。サーバは、受信画像から対応するオブジェクト情報を抽出して、複合現実感（ＭＲ）生成装置１３０に提供する。
【０１１０】
このようにして、複合現実感（ＭＲ）生成装置１３０はオブジェクト情報データベース１３６、またはサーバ１４０からオブジェクト情報を取得して取得した情報をカメラ１４２の撮影した実オブジェクト画像データとともにＰＣ１２０に提供する。ＰＣ１２０はこれらの取得情報を用いて、ＰＣの表示部に取得情報を表示する。
【０１１１】
この結果として、例えば図１３に示すような表示データ４５０が、ユーザ１００の装着したメガネ１４１のディスプレイに表示される。表示データ４５０に含まれるＰＣ画像４５１は、カメラ１４２によって撮影された実画像（実オブジェクト）である。ＰＣ画像４５１外のオブジェクト４７１ａも実オブジェクトである。マウスカーソル４８０ａは仮想オブジェクトである。
【０１１２】
ＰＣ画像４５１内に表示されたオブジェクト画像４７１ｂと、オブジェクト情報４７１ｃはＰＣ１２０のアプリケーション実行部１２５において表示部１２８に表示したデータである。従って、図１３に示す表示データ４５０中、マウスカーソル４８０ａ以外の情報は、ユーザ１００のメガネ１４１のディスプレイに表示される画像であるとともに、メガネを装着しないユーザも観察可能な情報である。
【０１１３】
すなわち、ＰＣ画像４５１内に表示されたオブジェクト画像４７１ｂとオブジェクト情報４７１ｃはＰＣ１２０の表示部の表示データであり、だれでも観察することが可能となる。
【０１１４】
このようなデータ処理を行う処理シーケンスについて、図１４に示すフローチャートを参照して説明する。なお、ユーザは、図１２に示すＰＣ１２０に接続されたマウス１２９の操作を行っているものとする。
【０１１５】
なお、図１３に示す表示データ４５０からも理解されるように、本実施例においても第１実施例、第２実施例と同様、仮想オブジェクトとしてのマウスカーソル４８０ａの表示処理を行う。このマウスカーソル４８０ａの表示処理を行うためのシーケンスは、図６を参照して説明したと同様のシーケンスで実行される。
【０１１６】
本実施例３においては、さらに、マウスによって指定された実オブジェクトに対する処理が追加されることになる。図１４に示すフローチャートは、このマウス指定オブジェクトに対する処理シーケンスのみを説明するフローである。すなわち、図１３に示す表示データ４５０を生成して表示する場合には、図６に示すフローに従った処理と、図１４に示すフローに従った処理とが併せて実行される。
【０１１７】
図１４に示すフローチャートのステップＳ３０１の処理は、図１２に示すＰＣ１２０と複合現実感（ＭＲ）生成装置１３０の双方の処理を伴う処理であり、ステップＳ３０２〜Ｓ３０９の処理は、図１２に示す複合現実感（ＭＲ）生成装置１３０の処理である。ステップＳ３１０の処理は、図１２に示すＰＣ１２０の処理である。
【０１１８】
ステップＳ３０１の処理の前に、先の第１実施例で説明した図６に示すフローに従った処理が実行され、マウスカーソルはＰＣの表示部外領域に設定されている。例えば、図１３に示すマウスカーソル４８０ａの位置にあるものとする。
【０１１９】
ステップＳ３０１において、マウス操作により実オブジェクト指定がなされたか否かを判定する。実オブジェクト指定がなされた場合は、ステップＳ３０２に進み、なされていない場合は処理を終了する。実オブジェクト指定がなされた場合の処理は以下の通りである。まずマウスクリックの操作情報がＰＣ１２０のマウスドライバ１２１を介してアプリケーション実行部１２５に入力されると、アプリケーション実行部１２５は、マウス操作（クリック）情報を、通信部１２４を介して複合現実感（ＭＲ）生成装置１３０に通知する。複合現実感（ＭＲ）生成装置１３０は通信部１３４を介してマウス操作情報を受領し、仮想オブジェクト管理モジュール１３２に通知する。
【０１２０】
ステップＳ３０２では、仮想オブジェクト管理モジュール１３２は、指定された実オブジェクトのオブジェクト領域にＰＣ表示部外領域が含まれ、かつカメラ撮像範囲にあるか否かを判定する。カメラはユーザ１００に装着されたカメラ１４２である。ステップＳ３０２の判定がＮｏの場合は処理を終了する。ステップＳ３０２の判定がＹｅｓの場合はステップＳ３０３に進む。
【０１２１】
ステップＳ３０３では、ユーザ１００に装着されたカメラ１４２により、マウス指定オブジェクトを含む画像を撮影し、撮影画像をメモリに格納する。この処理は、仮想オブジェクト管理モジュール１３２の制御によって行われる。
【０１２２】
次のステップＳ３０４〜Ｓ３０６の処理は、オブジェクト情報をオブジェクト情報データベース１３６から取得する場合の処理であり、ステップＳ３０７〜Ｓ３０８の処理は、オブジェクト情報をサーバ１４０から取得する場合の処理である。これらの処理はいずれか一方の処理を行ってもよいし、双方の処理を実行する設定としてもよい。
【０１２３】
まず、オブジェクト情報をオブジェクト情報データベース１３６から取得するステップＳ３０４〜Ｓ３０６の処理について説明する。
ステップＳ３０４では、メモリに格納されたマウス指定オブジェクト画像を検索キーとして、オブジェクト情報データベース（ＤＢ）１３６を検索する。この処理は、オブジェクト情報取得部１３５の処理として実行される。
【０１２４】
オブジェクト情報データベース（ＤＢ）１３６には様々な実オブジェクトの画像データとその画像データに対応するオブジェクトのオブジェクト情報が登録されている。例えば、ＣＤジャケットの画像とそのＣＤに関する曲名、価格などのオブジェクト情報である。
【０１２５】
オブジェクト情報取得部１３５は、ステップＳ３０５において、オブジェクト情報データベース（ＤＢ）１３６の検索を行う。すなわちマウス指定オブジェクト画像と一致または類似する登録画像データがオブジェクト情報データベース（ＤＢ）１３６に登録されているか否かを判定する。一致または類似する登録画像が抽出されない場合は処理を終了する。一致または類似する登録画像が抽出された場合はステップＳ３０６に進む。
【０１２６】
ステップＳ３０６では、オブジェクト情報取得部１３５は、オブジェクト情報データベース（ＤＢ）１３６から、マウス指定オブジェクト画像と一致または類似する登録画像に対応する登録データ、すなわちオブジェクト画像とオブジェクト情報を取得する。
【０１２７】
次に、サーバ１４０を利用した処理であるステップＳ３０７〜Ｓ３０８の処理について説明する。ステップＳ３０７において、オブジェクト情報取得部１３５は、通信部１３４を介してメモリに格納されたマウス指定オブジェクト画像をサーバ１４０に送信する。
【０１２８】
ステップＳ３０８では、オブジェクト情報取得部１３５はサーバ１４０から、サーバの登録情報に基づいて選択されたオブジェクト画像とオブジェクト情報を取得する。サーバ１４０は、オブジェクト情報取得部１３５と同様の処理を行い、サーバ１４０のデータベースを検索してマウス指定オブジェクトの画像を検索キーとして、オブジェクト情報を抽出する。なお、抽出できなかった場合はエラーメッセージが通知される。
【０１２９】
ステップＳ３０９では、複合現実感（ＭＲ）生成装置１３０は、サーバまたはデータベースから取得したオブジェクト情報と、オブジェクト画像データをＰＣ１２０に送信する。なお、オブジェクト画像データについては、サーバまたはデータベースから取得したオブジェクト画像であってもよいし、カメラ１４２の撮影画像であってもよい。
【０１３０】
最後のステップＳ３１０の処理はＰＣ１２０の処理である。ステツプＳ３１０において、ＰＣ側アプリケーションの処理により、複合現実間（ＭＲ）生成装置１３０からの取得データをＰＣ側表示部に表示する。
【０１３１】
この結果として、図１３に示す表示データ４５０が、ユーザ１００の装着したメガネ１４１のディスプレイに表示される。先にも説明したように、ＰＣ画像４５１内に表示されたオブジェクト画像４７１ｂと、オブジェクト情報４７１ｃはＰＣ１２０のアプリケーション実行部１２５において表示部１２８に表示したデータである。従って、図１３に示す表示データ４５０は、マウスカーソル４８０ａを除いて、メガネを装着しないユーザも観察可能な情報である。
【０１３２】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１３３】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１３４】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１３５】
以上、説明したように、本発明の一実施例の構成によれば、ＰＣなどの表示部の外側領域にはみ出したカーソルまたはオブジェクトを仮想オブジェクトとして表示する。例えばユーザの装着したメガネのディスプレイにＰＣなどの表示装置とその外部領域の画像を表示する。ユーザ操作に応じて移動したと想定されるカーソルまたはオブジェクトの三次元位置を算出し、算出した位置に仮想オブジェクトとして表示する。またカーソルによって指定されたオブジェクトに対応するオブジェクト情報を取得して提示する。本構成により、表示部の外に出てしまったデータを常に観察して確認することが可能となり、データ処理効率を高めることができる。
【符号の説明】
【０１３６】
１０  表示部
１１  マウスカーソル
１２  移動ライン
２１  オブジェクト
２２  移動ライン
３１ａ，３１ｂ  オブジェクト
３１ｃ  オブジェクト情報
１００  ユーザ
１２０  ＰＣ（パーソンナルコンピュータ）
１２１  マウスドライバ
１２２  マウス座標処理モジュール
１２３  ＧＵＩ部
１２４  通信部
１２５  アプリケーション実行部
１２６  制御部
１２７  メモリ
１２８  表示部
１２９  マウス
１３０  複合現実感（ＭＲ）生成装置
１３１  三次元情報解析部
１３２  仮想オブジェクト管理モジュール
１３３  メモリ
１３４  通信部
１３５  オブジェクト情報取得部
１３６  オブジェクト情報データベース
１４０  サーバ
１４１  メガネ
１４２  カメラ
１５０  表示データ
１５１  ＰＣ画像
１５２  マウスカーソル
２００  表示部
２０１  マーカー
２１１  マウスカーソル
２５０  表示データ
２５１  ＰＣ画像
２５２  オブジェクト
２７１  マウスカーソル
３０１  オブジェクト
４５０  表示データ
４５１  ＰＣ画像
４７１ａ，４７１ｂ  オブジェクト
４７１ｃ  オブジェクト情報
【図４】
2011028309.tif 000003
【図６】
2011028309.tif 000004
【図９】
2011028309.tif 000005
【図１２】
2011028309.tif 000006
【図１４】
2011028309.tif 000007
【図１】
2011028309.tif 000008
【図２】
2011028309.tif 000009
【図３】
2011028309.tif 000010
【図５】
2011028309.tif 000011
【図７】
2011028309.tif 000012
【図８】
2011028309.tif 000013
【図１０】
2011028309.tif 000014
【図１１】
2011028309.tif 000015
【図１３】
2011028309.tif 000016