(57)【要約】【課題】表示される仮想物体を介したインタフェースの利便性をより向上させる仕組みを提供する。【解決手段】１つ以上の実物体の三次元情報を取得する取得部と、前記実物体の前記三次元情報に基づいて、前記実物体の表面にマッピングされて表示される仮想物体とユーザとのインタラクション方法を制御する制御部と、を備える情報処理装置。【選択図】図１
2019069575.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の実物体の三次元情報を取得する取得部と、
前記実物体の前記三次元情報に基づいて、前記実物体の表面にマッピングされて表示される仮想物体とユーザとのインタラクション方法を制御する制御部と、
を備える情報処理装置。
【請求項２】
前記制御部は、前記実物体の表面から前記仮想物体をマッピングして表示可能な表示面を検出する、請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、前記実物体の表面の勾配、面積、色又は明度の少なくともいずれかに基づいて、前記表示面を検出する、請求項２に記載の情報処理装置。
【請求項４】
前記制御部は、前記表示面を、面積が所定の閾値以上であればユーザ操作を受け付け可能な面に分類し、そうでなければユーザ操作を受け付け不可能な面に分類する、請求項３に記載の情報処理装置。
【請求項５】
前記制御部は、ユーザ操作を受け付け不可能な前記表示面に前記仮想物体を表示する場合、当該仮想物体へのユーザ操作を受け付けるための他の仮想物体を、ユーザ操作を受け付け可能な前記表示面に表示する、請求項４に記載の情報処理装置。
【請求項６】
前記制御部は、前記表示面として、最も面積が広い第１の表示面と、前記第１の表示面以外の第２の表示面とを検出し、前記第２の表示面に表示される前記仮想物体へのユーザ操作を受け付けるための他の仮想物体を、前記第１の表示面に表示する、請求項５に記載の情報処理装置。
【請求項７】
前記制御部は、移動先の前記表示面を指定して前記仮想物体を移動させるユーザ操作が行われた場合、指定された前記表示面に前記仮想物体を表示する、請求項２に記載の情報処理装置。
【請求項８】
前記制御部は、前記仮想物体の移動方向を指定するユーザ操作が行われた場合、前記移動方向に存在する前記表示面に前記仮想物体を表示する、請求項２に記載の情報処理装置。
【請求項９】
前記制御部は、前記表示面として、最も面積が広い第１の表示面と、前記第１の表示面以外の第２の表示面とを検出し、前記仮想物体の移動先として、前記表示面に表示された既存の他の表示オブジェクトに対応するアプリケーション又は前記第２の表示面を選択する、請求項８に記載の情報処理装置。
【請求項１０】
前記制御部は、判定対象の前記表示面の面積、勾配、色、又は明度と移動対象の前記仮想物体の面積、色又は内容とに基づいて、判定対象の前記表示面への前記移動対象の前記仮想物体の移動可否を判定する、請求項８に記載の情報処理装置。
【請求項１１】
前記制御部は、移動先の前記表示面の勾配に応じた座標補正を前記仮想物体に適用する、請求項２に記載の情報処理装置。
【請求項１２】
前記制御部は、移動先の前記表示面に面積又は形状に応じて、前記仮想物体の内部のレイアウトを変更する、請求項２に記載の情報処理装置。
【請求項１３】
前記制御部は、移動先の前記表示面の色に応じた色補正を前記仮想物体に適用する、請求項２に記載の情報処理装置。
【請求項１４】
前記制御部は、前記仮想物体を移動させるユーザ操作に応じて前記仮想物体を移動させた後に所定のユーザ操作が行われた場合、移動前の位置に前記仮想物体を表示する、請求項２に記載の情報処理装置。
【請求項１５】
前記制御部は、第１の実物体と第２の実物体との相対関係に応じて、前記第２の実物体に対応する仮想物体を、前記第１の実物体の表面である表示面にマッピングして表示する、請求項１に記載の情報処理装置。
【請求項１６】
前記制御部は、前記第１の実物体の表面のうち、ユーザ側の表面を前記表示面とし、前記表示面のユーザと反対方向に位置する前記第２の実物体に対応する前記仮想物体を表示する、請求項１５に記載の情報処理装置。
【請求項１７】
前記制御部は、前記第１の実物体の姿勢に応じて前記仮想物体の表示を制御する、請求項１５に記載の情報処理装置。
【請求項１８】
前記制御部は、前記仮想物体として前記第２の実物体の三次元モデルを表示し、前記表示面の垂線を軸とする回転度合いに応じて前記３次元モデルを拡縮する、請求項１７に記載の情報処理装置。
【請求項１９】
前記制御部は、前記仮想物体として前記第２の実物体の三次元モデルを表示し、前記第２の実物体と前記表示面との相対姿勢に応じて、前記三次元モデルの姿勢を変更する、請求項１７に記載の情報処理装置。
【請求項２０】
前記制御部は、前記第１の実物体と前記第２の実物体との間の距離に応じて、前記仮想物体の表示を制御する、請求項１５に記載の情報処理装置。
【請求項２１】
前記制御部は、前記第１の実物体に付されたマーカーの種類に応じて、前記仮想物体の表示を制御する、請求項１５に記載の情報処理装置。
【請求項２２】
前記制御部は、前記第１の実物体に付された第１のマーカーと第２のマーカーとの相対関係に応じて、前記仮想物体の表示を制御する、請求項１５に記載の情報処理装置。
【請求項２３】
前記第１の実物体は曲げ変形可能であり、
前記制御部は、前記第１の実物体の曲げ変形によって変化した前記第１のマーカーと前記第２のマーカーとの相対姿勢に応じて、前記仮想物体の表示を制御する、請求項２２に記載の情報処理装置。
【請求項２４】
前記制御部は、前記第１のマーカーと前記第２のマーカーとが同一平面上にあるか否かに応じて、前記仮想物体の表示を制御する、請求項２２に記載の情報処理装置。
【請求項２５】
前記制御部は、第３の実物体により覆われた前記第２のマーカーに応じて、前記仮想物体の表示を制御する、請求項２４に記載の情報処理装置。
【請求項２６】
前記制御部は、前記第１のマーカーに重ねられた前記第２のマーカーに応じて、前記仮想物体の表示を制御する、請求項２４に記載の情報処理装置。
【請求項２７】
前記制御部は、前記第２の実物体の表面に表示された他の仮想物体に対応する仮想物体を、前記第１の実物体の表面にマッピングして表示する、請求項１５に記載の情報処理装置。
【請求項２８】
前記制御部は、前記第１の実物体の位置又は姿勢を変更するようユーザに指示する情報を表示する、請求項１５に記載の情報処理装置。
【請求項２９】
１つ以上の実物体の三次元情報を取得することと、
前記実物体の前記三次元情報に基づいて、前記実物体の表面にマッピングされて表示される仮想物体とユーザとのインタラクション方法を制御することと、
を含むプロセッサにより実行される情報処理方法。
【請求項３０】
コンピュータを、
１つ以上の実物体の三次元情報を取得する取得部と、
前記実物体の前記三次元情報に基づいて、前記実物体の表面にマッピングされて表示される仮想物体とユーザとのインタラクション方法を制御する制御部と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、情報通信技術の発展に伴い、装置を制御するための様々なインタフェースが研究開発されている。そのようなインタフェースのうちの１つとして、表示される仮想物体を介したインタフェースがある。【０００３】
例えば、下記特許文献１には、表示面上に位置する実物体を避けるようにして仮想物体を移動させる表示制御を行う技術が開示されている。また、下記特許文献２には、仮想物体を表示する表示デバイスと対象の実物体との相対位置を算出することで、対象の実物体に対応する仮想物体をＡＲ（Augmented  Reality）空間に簡易に配置する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−５１４３６号公報
【特許文献２】特開２０１３−１６４６９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献に開示された技術は、開発されてからまだ日が浅く、表示される仮想物体を介したインタフェースの利便性には向上の余地がある。【０００６】
そこで、本開示では、表示される仮想物体を介したインタフェースの利便性をより向上させる仕組みを提供する。
【課題を解決するための手段】
【０００７】
本開示によれば、１つ以上の実物体の三次元情報を取得する取得部と、前記実物体の前記三次元情報に基づいて、前記実物体の表面にマッピングされて表示される仮想物体とユーザとのインタラクション方法を制御する制御部と、を備える情報処理装置が提供される。【０００８】
また、本開示によれば、１つ以上の実物体の三次元情報を取得することと、前記実物体の前記三次元情報に基づいて、前記実物体の表面にマッピングされて表示される仮想物体とユーザとのインタラクション方法を制御することと、を含むプロセッサにより実行される情報処理方法が提供される。【０００９】
また、本開示によれば、コンピュータを、１つ以上の実物体の三次元情報を取得する取得部と、前記実物体の前記三次元情報に基づいて、前記実物体の表面にマッピングされて表示される仮想物体とユーザとのインタラクション方法を制御する制御部と、として機能させるためのプログラムが提供される。
【発明の効果】
【００１０】
以上説明したように本開示によれば、表示される仮想物体を介したインタフェースの利便性をより向上させることが可能である。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１１】
【図１】本開示の一実施形態に係る情報処理システムの構成の一例を示す図である。
【図２】同実施形態に係る情報処理システムの構成の一例を示すブロック図である。
【図３】第１の実施形態に係る情報処理システムにより実行される表示制御処理の流れの一例を示すフローチャートである。
【図４】同実施形態に係る情報処理システムにより実行される表示面検出処理の第１の処理の流れの一例を示すフローチャートである。
【図５】同実施形態に係る表示面検出処理の第１の処理に関する第１の具体例を説明するための図である。
【図６】同実施形態に係る表示面検出処理の第１の処理に関する第１の具体例を説明するための図である。
【図７】同実施形態に係る表示面検出処理の第１の処理に関する第１の具体例を説明するための図である。
【図８】同実施形態に係る表示面検出処理の第１の処理に関する第１の具体例を説明するための図である。
【図９】同実施形態に係る表示面検出処理の第１の処理に関する第２の具体例を説明するための図である。
【図１０】同実施形態に係る表示面検出処理の第１の処理に関する第２の具体例を説明するための図である。
【図１１】同実施形態に係る表示面検出処理の第１の処理に関する第２の具体例を説明するための図である。
【図１２】同実施形態に係る表示面検出処理の第１の処理に関する第２の具体例を説明するための図である。
【図１３】同実施形態に係る情報処理システムにより実行される表示面検出処理の第２の処理の流れの一例を示すフローチャートである。
【図１４】同実施形態に係る表示面検出処理の第２の処理に関する具体例を説明するための図である。
【図１５】同実施形態に係る表示面検出処理の第２の処理に関する具体例を説明するための図である。
【図１６】同実施形態に係る表示面検出処理の第２の処理に関する具体例を説明するための図である。
【図１７】同実施形態に係る表示面検出処理により検出される表示面の具体例を説明するための図である。
【図１８】同実施形態に係る面の勾配を説明するための図である。
【図１９】同実施形態に係る情報処理システムにより実行される操作性判定処理の流れの一例を示すフローチャートである。
【図２０】同実施形態に係る情報処理システムにより実行される、移動先の表示面の指定を含むユーザ操作に基づく表示制御処理の流れの一例を示すフローチャートである。
【図２１】同実施形態に係る移動先の表示面の指定を含むユーザ操作に基づく表示制御処理の具体例を説明するための図である。
【図２２】同実施形態に係る情報処理システムにより実行される、移動方向の指定を含むユーザ操作に基づく表示制御処理の流れの一例を示すフローチャートである。
【図２３】同実施形態に係る移動方向を指定するユーザ操作に基づく表示制御処理の具体例を説明するための図である。
【図２４】同実施形態に係る移動方向を指定するユーザ操作に基づく表示制御処理の具体例を説明するための図である。
【図２５】同実施形態に係る移動方向を指定するユーザ操作に基づく表示制御処理の具体例を説明するための図である。
【図２６】同実施形態に係る移動方向を指定するユーザ操作に基づく表示制御処理の具体例を説明するための図である。
【図２７】同実施形態に係る移動方向を指定するユーザ操作に基づく表示制御処理の具体例を説明するための図である。
【図２８】同実施形態に係る情報処理システムにより実行される、操作用表示オブジェクトの表示制御処理の流れの一例を示すフローチャートである。
【図２９】同実施形態に係る操作用表示オブジェクトの表示制御の具体例を説明するための図である。
【図３０】同実施形態に係る操作用表示オブジェクトの表示制御の具体例を説明するための図である。
【図３１】同実施形態に係る座標補正処理の具体例を説明するための図である。
【図３２】同実施形態に係る座標補正処理の具体例を説明するための図である。
【図３３】同実施形態に係る再レイアウト処理の具体例を説明するための図である。
【図３４】同実施形態に係る再レイアウト処理の具体例を説明するための図である。
【図３５】同実施形態に係る色補正処理の具体例を説明するための図である。
【図３６】同実施形態に係る移動不可を示すフィードバックの具体例を説明するための図である。
【図３７】同実施形態に係る表示面の状態変化に応じた表示制御の具体例を説明するための図である。
【図３８】同実施形態に係るキャンセル操作に応じた表示制御の具体例を説明するための図である。
【図３９】第２の実施形態に係る情報処理システムの概要を説明するための図である。
【図４０】同実施形態に係る情報処理システムにより実行される表示制御処理の流れの一例を示すフローチャートである。
【図４１】同実施形態に係る情報処理システムにより実行される表示面検出処理の流れの一例を示すフローチャートである。
【図４２】同実施形態に係る情報処理システムにより実行されるイベント解釈処理の流れの一例を示すフローチャートである。
【図４３】同実施形態に係るマーカーを用いた商品表示の具体例を説明するための図である。
【図４４】同実施形態に係るマーカーを用いた商品表示の具体例を説明するための図である。
【図４５】同実施形態に係る地図に基づく三次元モデルの表示の具体例を説明するための図である。
【図４６】同実施形態に係る地図に基づく三次元モデルの表示の具体例を説明するための図である。
【図４７】同実施形態に係る地図に基づく三次元モデルの表示の具体例を説明するための図である。
【図４８】同実施形態に係るスクリーンの曲げ変形に応じた表示制御の具体例を説明するための図である。
【図４９】同実施形態に係るスクリーンの曲げ変形に応じた表示制御の具体例を説明するための図である。
【図５０】同実施形態に係るマーカーの種類に応じたウォークスルー画像表示の具体例を説明するための図である。
【図５１】同実施形態に係るマーカーの種類に応じた動画表示の具体例を説明するための図である。
【図５２】同実施形態に係るマーカーの相対位置に応じた翻訳の具体例を説明するための図である。
【図５３】同実施形態に係るマーカーの相対位置に応じた翻訳の具体例を説明するための図である。
【図５４】同実施形態に係るマーカーの相対位置に応じた翻訳の具体例を説明するための図である。
【図５５】同実施形態に係るマーカーの相対位置に応じた翻訳の具体例を説明するための図である。
【図５６】同実施形態に係るマーカーの相対位置に応じた表示制御の具体例を説明するための図である。
【図５７】同実施形態に係るマーカーの相対位置に応じた表示制御の具体例を説明するための図である。
【図５８】同実施形態に係るスクリーンの位置又は角度変更を促す表示制御の具体例を説明するための図である。
【図５９】本実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１３】
なお、説明は以下の順序で行うものとする。
１．概要
２．構成例
３．第１の実施形態
４．第２の実施形態
５．ハードウェア構成例
【００１４】
＜＜１．概要＞＞
まず、図１を参照して、本開示の一実施形態に係る情報処理システムの概要を説明する。図１は、本開示の一実施形態に係る情報処理システムの構成の一例を示す図である。
【００１５】
図１を参照すると、本開示の一実施形態に係る情報処理システム１００は、入力部１１０（１１０Ａ、１１０Ｂ）と、出力部１５０（１５０Ａ、１５０Ｂ）を含む。入力部１１０及び出力部１５０は、実空間（物理空間）３０に設置される。
【００１６】
実空間３０は、ユーザ（ＡＡＡ、ＢＢＢ）が内部で動作することが可能な実空間である。実空間３０は、屋内等の閉鎖された空間であってもよいし、屋外等の開放された空間であってもよい。なお、ひとつの空間（例えば、ひとつの部屋）がひとつの実空間として捉えられてもよいし、複数の空間（例えば、複数の部屋等を有する住宅の内部空間）がまとめてひとつの実空間として捉えられてもよい。
【００１７】
出力部１５０は、各種情報を示す仮想物体（以下、表示オブジェクトとも称する）を実空間３０の任意の面にマッピングして表示することにより、当該情報をユーザに対して視覚的に通知する装置である。出力部１５０としては、例えばプロジェクタが用いられる。図１に示す例では、出力部１５０は、実空間３０の上方に、例えば天井から吊り下げられた状態で配置され、実物体１０（１０Ａ〜１０Ｃ）の表面に表示オブジェクト２０（２０Ａ〜２０Ｃ）を投影する。図１に示す例では、出力部１５０Ａはテーブル１０Ａに表示オブジェクト２０Ａを投影し、テーブル１０Ａ上に載置された実物体１０Ｂの表面に表示オブジェクト２０Ｂを投影する。また、出力部１５０Ｂは、ユーザＡＡＡが持つ実物体１０Ｃの表面に表示オブジェクト２０Ｃを投影する。
【００１８】
表示オブジェクトとは、情報処理システム１００により表示される情報全般である。表示オブジェクトは、画像（静止画像／動画像）等のコンテンツ、オンスクリーンキーボード等の操作用インタフェース、及びアプリケーション画面等を含み得る。
【００１９】
入力部１１０は、実空間３０の情報及びユーザの情報を入力する装置である。図１に示す例では、入力部１１０は、実空間３０の上方に、例えば天井から吊り下げられた状態で設けられる。入力部１１０は、実空間３０を撮像対象とする撮像装置であってもよい。また、入力部１１０としては、例えば１つのレンズで撮像するカメラ、又は２つのレンズで撮像して奥行き方向の情報を取得することが可能なステレオカメラ等が用いられ得る。
【００２０】
情報処理システム１００は、撮像装置により撮像された撮像画像を解析することで、実空間３０の内部の情報を取得することができる。実空間３０の内部の情報とは、実空間３０内に存在する実物体１０の形状、位置及び姿勢、並びにユーザの位置、姿勢及び動作に関する情報等である。とりわけ、入力部１１０としてステレオカメラが用いられる場合、情報処理システム１００は、撮像画像を解析することで、入力部１１０からの距離のマップ（即ち、深度情報）を取得することができる。そして、情報処理システム１００は、当該深度情報に基づいて、例えば実物体の深度情報とユーザの手の深度情報とを比較することにより、実物体へのユーザの手の接触若しくは近接、及び実物体からの手の離脱を検出することが可能となる。
【００２１】
本実施形態では、入力部１１０による撮像画像に基づいて、表示オブジェクト２０への操作体（例えば、ユーザの手）の位置が検出され、検出された操作体の位置に基づいて各種の情報が入力される。つまり、ユーザは、表示オブジェクト２０上で操作体を動かすことにより、各種の操作入力を行うことができる。例えば、表示オブジェクト２０に対するユーザの手の接触等が検出されることにより、表示オブジェクト２０に対する操作入力が行われることになる。なお、以下の説明では、一例として、操作体としてユーザの手が用いられる場合について説明するが、本実施形態はかかる例に限定されず、操作体としてはスタイラス等の各種の操作部材が用いられてもよい。
【００２２】
ここで、本実施形態はかかる例に限定されず、他の方法によりユーザの操作入力が実行されてもよい。例えば、入力部１１０として実物体１０の表面にタッチパネルが設けられてもよく、ユーザの操作入力は、当該タッチパネルに対するユーザの指等の接触によって検出されてもよい。また、表示オブジェクトへの操作だけでなく、音声入力等が用いられてもよい。
【００２３】
情報処理システム１００は、実空間３０の任意の場所を出力場所として情報を出力することができる。例えば、情報処理システム１００は、テーブル１０Ａだけでなく、ユーザが手に持つ実物体１０Ｃにも表示オブジェクト２０を投影することができる。例えば、出力部１５０としていわゆるムービングプロジェクタが用いられる場合、情報処理システム１００は、ムービングプロジェクタの投影方向を変更することで、かかる出力場所の制御を実現する。他にも、出力部１５０として固定型のプロジェクタが用いられる場合、情報処理システム１００は、複数のプロジェクタのうち、所望する場所への投影が可能なプロジェクタを選択することで、かかる出力場所の制御を実現してもよい。入力部１１０に関しても同様にすることで、情報処理システム１００は、任意の場所の情報を入力することができる。これにより、情報処理システム１００は、実空間３０の任意の場所に情報を出力することが可能であるし、任意の場所に出力された画面に対するユーザ入力を検出することも可能である。
【００２４】
以上、本実施形態に係る情報処理システム１００の構成について説明した。
【００２５】
＜＜２．構成例＞＞
図２は、本実施形態に係る情報処理システム１００の構成の一例を示すブロック図である。図２に示すように、情報処理システム１００は、入力部１１０、取得部１２０、制御部１３０、記憶部１４０、及び出力部１５０を含む。なお、情報処理システム１００は、１つの装置として実現されてもよいし、複数の装置として実現されてもよい。
【００２６】
（１）入力部１１０
入力部１１０は、ユーザ又は実空間の情報を入力する機能を有する。入力部１１０は、多様な装置により実現され得る。
【００２７】
例えば、入力部１１０は、撮像装置を含み得る。撮像装置は、レンズ系、駆動系、及び撮像素子を有し、画像（静止画像又は動画像）を撮像する。
【００２８】
例えば、入力部１１０は、深度センサを含み得る。深度センサは、赤外線測距装置、超音波測距装置、ＴｏＦ方式（Time  of  Flight）の測距装置、ＬｉＤＡＲ（Laser  Imaging  Detection  and  Ranging）又はステレオカメラ等の深度情報を取得する装置である。
【００２９】
例えば、入力部１１０は、収音装置（マイクロフォン）を含み得る。収音装置は、周囲の音を収音し、アンプおよびＡＤＣ（Analog  Digital  Converter）を介してデジタル信号に変換した音声データを出力する装置である。
【００３０】
例えば、入力部１１０は、慣性センサを含み得る。慣性センサは、加速度又は角速度等の慣性情報を検出する装置である。慣性センサは、例えばユーザに装着される。
【００３１】
例えば、入力部１１０は、生体センサとして実現され得る。生体センサは、ユーザの心拍又は体温等の生体情報を検出する装置である。生体センサは、例えばユーザに装着される。
【００３２】
例えば、入力部１１０は、環境センサを含み得る。環境センサは、実空間の明度、気温、湿度、又は気圧等の環境情報を検出する装置である。
【００３３】
例えば、入力部１１０は、物理的なユーザとの接触に基づいて情報を入力する装置を含み得る。そのような装置としては、マウス、キーボード、タッチパネル、ボタン、スイッチ及びレバー等が挙げられる。これらの装置は、スマートフォン、タブレット端末又はＰＣ（Personal  Computer）等の端末装置に搭載され得る。
【００３４】
例えば、入力部１１０は、無線通信装置として実現され得る。無線通信装置は、無線ＬＡＮ（Local  Area  Network）、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｚｉｇｂｅｅ（登録商標）、又はＮＦＣ（Near  Field  Communication）等の無線通信規格に準拠し、他の装置と通信可能である。
【００３５】
入力部１１０は、取得部１２０による制御に基づいて情報を入力する。例えば、取得部１２０は、撮像装置のズーム率及び撮像方向を制御することができる。
【００３６】
なお、入力部１１０は、これらのうち一つ又は複数の入力装置を組み合わせ含んでも良いし、同一種類の入力装置を複数含んでも良い。
【００３７】
（２）取得部１２０
取得部１２０は、入力部１１０により入力された入力情報から、実空間内の情報を取得する機能を有する。図２に示すように、取得部１２０は、空間情報取得部１２１及びユーザ情報取得部１２２を含む。空間情報取得部１２１は、実空間の情報（以下、空間情報とも称する）を取得する機能を有する。ユーザ情報取得部１２２は、ユーザの情報（以下、ユーザ情報とも称する）を取得する機能を有する。取得部１２０は、取得した空間情報及びユーザ情報を、表示面管理部１３１、記憶部１４０及び表示制御部１３２の各々に出力する。
【００３８】
・空間情報
空間情報取得部１２１は、入力部１１０により入力された情報に基づいて、空間情報を取得する。以下、空間情報について説明する。
【００３９】
空間情報は、実空間内に存在する実物体の種類、形状を示す三次元情報、位置及び姿勢を示す情報を含み得る。例えば、空間情報取得部１２１は、撮像画像を画像認識したり、深度情報を解析したりすることで、これらの情報を取得する。また、空間情報取得部１２１は、ユーザ入力に基づいて、これらの情報を取得してもよい。
【００４０】
空間情報は、空間の形状を示す三次元情報を含み得る。空間の形状を示す三次元情報は、実空間に存在する実物体により規定される空間の形状を示す情報である。例えば、空間情報取得部１２１は、深度情報に基づいて、空間の形状を示す三次元情報を取得する。実空間内の実物体の種類、形状、位置及び種類及び姿勢を示す情報が取得可能である場合には、空間情報取得部１２１は、かかる情報を加味して、空間の形状を示す三次元情報を取得してもよい。
【００４１】
空間情報は、空間を形成する面（即ち、実空間に存在する実物体の表面）の材質、色、又はテクスチャ等の情報を含み得る。例えば、空間情報取得部１２１は、撮像画像を画像認識することにより、これらの情報を取得する。実空間内の実物体の種類、形状、位置及び姿勢を示す情報が取得可能である場合には、空間情報取得部１２１は、かかる情報を加味して、これらの情報を取得してもよい。
【００４２】
空間情報は、実空間の明るさ、温度及び湿度等の、実空間内の状態に関する情報も含み得る。例えば、空間情報取得部１２１は、環境情報に基づいて、これらの情報を取得する。
【００４３】
空間情報は、上記説明した情報の少なくともいずれかを含む。
【００４４】
・ユーザ情報
ユーザ情報取得部１２２は、入力部１１０により入力された情報に基づいて、ユーザ情報を取得する。以下、ユーザ情報について説明する。
【００４５】
ユーザ情報は、実空間内にユーザが存在するか否か、実空間内に存在するユーザの人数、及び個々のユーザの識別情報を含み得る。例えば、ユーザ情報取得部１２２は、撮像画像に含まれるユーザの顔部分を画像認識することで、これらの情報を取得する。
【００４６】
ユーザ情報は、ユーザの属性情報を含み得る。属性情報とは、年齢、性別、仕事、家族構成、又は友人関係等の、ユーザの属性を示す情報である。例えば、ユーザ情報取得部１２２は、撮像画像に基づいて、又は属性情報を記憶したデータベースにユーザの識別情報を用いて問い合わせることで、ユーザの属性情報を取得する。
【００４７】
ユーザ情報は、ユーザの位置を示す情報を含み得る。例えば、ユーザ情報取得部１２２は、撮像画像及び深度情報に基づいて、ユーザの位置を示す情報を取得する。
【００４８】
ユーザ情報は、ユーザの姿勢を示す情報を含み得る。例えば、ユーザ情報取得部１２２は、撮像画像、深度情報及び慣性情報に基づいて、ユーザの姿勢を示す情報を取得する。ユーザの姿勢とは、立ち止まっている、立っている、座っている又は寝転がっている等の身体全体の姿勢を指していてもよいし、顔、胴体、手、足又は指等の身体の部分的な姿勢を指していてもよい。
【００４９】
ユーザ情報は、ユーザの動作を示す情報を含み得る。例えば、ユーザ情報取得部１２２は、撮像装置又は撮像装置とマーカーとを用いる光学式、ユーザに装着された慣性センサを用いる慣性センサ式、又は深度情報を用いる方式等の任意の方式でユーザの動作を認識することにより、ユーザの動作を示す情報を取得する。ユーザの動作とは、移動等の身体全体を用いる動作を指していてもよいし、手によるジェスチャ等の身体を部分的に用いる動作を指していてもよい。また、ユーザ情報として、図１を参照して上記説明したような、実空間の任意の面にマッピングして表示された画面へのユーザ入力も、ユーザの動作を示す情報として取得される。
【００５０】
ユーザ情報は、ユーザが音声入力した情報を含み得る。例えば、ユーザ情報取得部１２２は、ユーザの話声を音声認識することにより、かかる情報を取得し得る。
【００５１】
ユーザ情報は、上記説明した情報の少なくともいずれかを含む。
【００５２】
（３）制御部１３０
制御部１３０は、情報処理システム１００全体の動作全般を制御する。図２に示すように、制御部１３０は、表示面管理部１３１及び表示制御部１３２を含む。
【００５３】
・表示面管理部１３１
表示面管理部１３１は、表示オブジェクトを表示可能な実空間内の表示面を管理する。表示面管理部１３１は、実空間に存在する実物体の表面のうち所定の条件を満たす表面を表示面として定義する。そして、表示面管理部１３１は、表示面に関する各種情報を生成及び更新する。
【００５４】
・表示制御部１３２
表示制御部１３２は、取得部１２０により取得された情報、表示面管理部１３１により管理された情報、及び記憶部１４０に記憶された情報に基づいて、出力部１５０を制御して情報を出力させる機能を有する。
【００５５】
例えば、表示制御部１３２は、表示面に表示オブジェクトを表示させる。詳しくは、表示制御部１３２は、実空間内の任意の面に定義された表示面にマッピングして表示オブジェクトを表示するよう出力部１５０を制御する。例えば、出力部１５０が投影装置（プロジェクタ）である場合、表示制御部１３２は、プロジェクタを制御して、実空間内のスペースに表示オブジェクトを投影させる。他にも、出力部１５０が透過型ディスプレイである場合、表示制御部１３２は、透過型ディスプレイを制御して、実空間内のスペースにＡＲ（Augmented  Reality）オブジェクトを重畳して表示させる。
【００５６】
とりわけ、表示制御部１３２は、実物体の三次元情報に基づいて、実物体の表面にマッピングされて表示される表示オブジェクトとユーザとのインタラクション方法を制御する機能を有する。例えば、表示制御部１３２は、実物体の三次元情報に基づいて、表示オブジェクトとユーザとのインタラクション可否を制御したり、どの表示面に表示オブジェクトを表示するかを制御したり、表示オブジェクトの内容を制御したりする。これにより、実物体の三次元情報に基づいて最適なインタラクション方法がユーザに提供されるので、ユーザの利便性を向上させることができる。
【００５７】
表示制御部１３２は、視覚的な情報の出力の他にも、聴覚的な情報、触覚的な情報又は嗅覚的な情報等の任意の情報をスペースにおいて出力するよう出力部１５０を制御してもよい。
【００５８】
出力場所の制御は、例えば設置場所又は出力方向の異なる複数の出力装置のうち、情報を出力させる出力装置を選択することにより、実現され得る。例えば、表示場所の制御は、投影方向の異なる複数の固定型のプロジェクタのうち、表示オブジェクトを投影させるプロジェクタを選択することにより、実現される。
【００５９】
出力場所の制御は、出力場所を変更するよう出力装置を制御することにより、実現され得る。例えば、視覚的な情報に関する出力場所の制御は、例えばムービングプロジェクタを駆動させて投影方向を変更させることにより実現され得る。聴覚的な情報に関する出力場所の制御は、例えば指向性スピーカの指向性を変更する、超音波スピーカを用いる、又は波面合成の技術を用いることにより実現され得る。
【００６０】
（４）記憶部１４０
記憶部１４０は、情報処理システム１００の動作のための情報を一時的に又は恒久的に記憶する機能を有する。例えば、記憶部１４０は、表示面に関する情報、及び表示オブジェクトに関する情報を記憶する。記憶部１４０は、情報を記憶するためのＤＢ（Data  Base）として、後述する表示面情報蓄積テーブル、マーカー情報蓄積テーブル、及びイベント定義蓄積テーブルを構築する。
【００６１】
（５）出力部１５０
出力部１５０は、ユーザに対して情報を出力する装置である。出力部１５０は、多様な装置により実現され得る。
【００６２】
出力部１５０は、視覚的な情報を出力する、表示装置を含み得る。出力部１５０は、視覚的な情報を、実物体の表面にマッピングして出力する。そのような出力部１５０としては、投影装置（即ち、プロジェクタ）が挙げられる。プロジェクタは、例えば固定型の広角プロジェクタであってもよいし、Ｐａｎ／Ｔｉｌｔ駆動型等の投影方向を変更可能な可動部を備えるいわゆるムービングプロジェクタであってもよい。他にも、視覚的な情報を実物体の表面にマッピングして出力可能な出力部１５０としては、透過型ディスプレイを有するＨＭＤ（Head  Mounted  Display）等の装置も挙げられる。透過型ディスプレイを有する装置では、実物体の表面にＡＲ（Augmented  Reality）オブジェクトが重畳して表示される。本実施形態では、視覚的な情報を出力する出力部１５０は、プロジェクタであるものとして説明する。
【００６３】
出力部１５０は、聴覚的な情報を出力する、音声出力装置を含み得る。そのような出力部１５０としては、スピーカ、指向性スピーカ、イヤホン、及びヘッドホン等が挙げられる。
【００６４】
出力部１５０は、触覚的な情報を出力する、触覚出力装置を含み得る。触覚的な情報とは、例えば、振動、力覚、温度又は電気刺激等である。触覚的な情報を出力する出力部１５０としては、モータ、アクチュエータ、及び熱源等が挙げられる。
【００６５】
出力部１５０は、嗅覚的な情報を出力する装置を含み得る。嗅覚的な情報とは、例えば香りである。嗅覚的な情報を出力する出力部１５０としては、例えばアロマディフューザ等が挙げられる。
【００６６】
出力部１５０は、表示制御部１３２による制御に基づいて情報を出力する。例えば、出力部１５０は、表示制御部１３２による制御に基づいて、ムービングプロジェクタの投影方向を変更したり、指向性スピーカの指向性を変更したりすることができる。
【００６７】
なお、出力部１５０は、これらのうち一つ又は複数の出力装置を組み合わせ含んでも良いし、同一種類の出力装置を複数含んでも良い。
【００６８】
とりわけ、本実施形態では、同一種類の複数の出力装置が、設置場所又は出力方向を互いに異ならせて、実空間内に設置されることが望ましい。これにより、実空間内の任意の場所を出力場所として情報を出力することが可能となるためである。
【００６９】
＜＜３．第１の実施形態＞＞
第１の実施形態は、メインの表示面として用いられる実物体に載置された他の実物体の表面をサブの表示面として活用する形態である。
【００７０】
（１）全体的な処理の流れ
まず、図３を参照して、全体的な処理の流れを説明する。
【００７１】
図３は、本実施形態に係る情報処理システム１００により実行される表示制御処理の流れの一例を示すフローチャートである。図３に示すように、まず、取得部１２０は、空間情報を取得する（ステップＳ１０２）。次いで、表示面管理部１３１は、表示面検出処理を行う（ステップＳ１０４）。次に、表示面管理部１３１は、操作性判定処理を行う（ステップＳ１０６）。次いで、取得部１２０は、ユーザ情報を取得する（ステップＳ１０８）。そして、表示制御部１３２は、表示オブジェクトの表示制御処理を行う（ステップＳ１１０）。
【００７２】
表示面検出処理、操作性判定処理、及び表示オブジェクトの表示制御処理について、以下に詳しく説明する。
【００７３】
（２）表示面検出処理
表示面検出処理とは、実物体の表面から表示オブジェクトをマッピングして表示可能な表示面を検出する処理である。表示面管理部１３１は、実物体の表面の勾配、面積、色又は明度の少なくともいずれかに基づいて、実物体の表面から表示オブジェクトをマッピングして表示可能な表示面を検出する。例えば、表示面管理部１３１は、次の条件を満たす面（実物体の表面）を表示面として検出する。第１の条件は、出力部１５０が含むプロジェクタの投影方向（光軸）に直交する平面と対象の面とが成す角が、０度（即ち直交する）であること、又は歪み補正可能な所定範囲内であることである。なお、面の勾配については、図１７等を参照して後に詳しく説明する。第２の条件は、対象の面の面積（大きさ）が所定の閾値（第１の閾値）以上であることである。第３の条件は、対象の面の色が黒色若しくは濃いグレー等の投影に向かない色ではないことである。第４の条件は、対象の面の明度が所定の閾値を下回ることである。表示面管理部１３１は、このような条件を満たす面を表示面として検出する。表示面は、平面であってもよいし、湾曲した面であってもよい。また、表示面は、一続きの面であってもよいし、物理的に分離した２以上の面であってもよい。
【００７４】
表示面管理部１３１は、表示面として、最も面積が広い第１の表示面と、第１の表示面以外の第２の表示面とを検出する。例えば、図１に示した例では、表示面管理部１３１は、テーブル１０Ａの天面を第１の表示面として検出し、実物体１０Ｂ及び１０Ｃの出力部１５０側の表面を第２の表示面として検出する。
【００７５】
表示面の検出結果は、表示面情報蓄積テーブルに記憶される。表示面情報蓄積テーブルの項目の一例を下記の表１に示す。
【００７６】
【表１】
2019069575.tif 000003
【００７７】
上記表１に示したＩＤは表示面の識別情報であり、位置、大きさ及び勾配は、表示面の位置、大きさ及び勾配であり、操作可能フラグは、表示面への操作入力の受付が可能か否かを示す情報である。
【００７８】
表示面検出処理は、面積に関する第１の処理、並びに色及び明度に関する第２の処理の順に行われ得る。以下、各処理について詳細に説明する。
【００７９】
（２．１）第１の処理
第１の処理は、面積に関する所定の条件を満たす面を検出する処理である。以下、第１の処理について詳しく説明する。なお、以下では、表示面の検出及び表示オブジェクトの表示が、入力部１１０により撮像される撮像画像の各画素を基準として行われるものとして説明する。
【００８０】
・処理の流れ
図４は、本実施形態に係る情報処理システム１００により実行される表示面検出処理の第１の処理の流れの一例を示すフローチャートである。図４に示す表示面検出処理の第１の処理は、ＩＤ付け処理と大きさチェック処理とを含む。
【００８１】
まず、表示面検出処理について説明する。まず、表示面管理部１３１は、全画素を走査し、一番多い画素値を有する面を第１の表示面とする（ステップＳ２０２）。ここでの画素値は、ステレオカメラにより撮像された撮像画像の画素値であり、深度情報を含む。その後、表示面管理部１３１は、全画素についてＩＤ付けされたかを判定し（ステップＳ２０４）、ＩＤ付けされていない画素がある場合には（ステップＳ２０４／ＮＯ）、対象の画素を切り替えながら以下の処理を行う。表示面管理部１３１は、対象の画素について、第１の表示面との画素値の差は閾値以内か否かを判定し（ステップＳ２０６）、及び周囲画素値との画素値の差は閾値以内か否かを判定する（ステップＳ２０８）。２つの差の双方が閾値以内でないと判定された場合（ステップＳ２０６／ＮＯ、ステップＳ２０８／ＮＯ）、表示面管理部１３１は、対象の画素に新しいＩＤを設定する。前者の差が閾値以内でないが後者の差が閾値以内であると判定された場合（ステップＳ２０６／ＹＥＳ、ステップＳ２０８／ＮＯ）、表示面管理部１３１は、対象の画素に周囲画素と同じＩＤを設定する。前者の差が閾値以内であると判定された場合、表示面管理部１３１は、対象の画素のＩＤを０に設定する。なお、ＩＤが０であることは、第１の表示面であることを指す。表示面管理部１３１は、以上のステップＳ２０６〜Ｓ２１４に係る処理を全画素分繰り返す。全画素がＩＤ付けされた場合（ステップＳ２０４／ＹＥＳ）、処理は大きさチェック処理に遷移する。
【００８２】
次いで、大きさチェック処理について説明する。表示面管理部１３１は、全ての面が処理されたかを判定し（ステップＳ２１６）、処理されていない面がある場合には（ステップＳ２１６／ＮＯ）、対象の面を切り替えながら以下の処理を行う。表示面管理部１３１は、面の大きさが閾値以上であるか否かを判定する（ステップＳ２１８）。ここでの面とは、同一のＩＤが付された画素の集合である。面の大きさが閾値以上であると判定された場合（ステップＳ２１８／ＹＥＳ）、表示面管理部１３１は、表示面情報蓄積テーブルに対象の面のＩＤ及び位置を記録する（ステップＳ２２０）。一方で、面の大きさが閾値以上でないと判定された場合（ステップＳ２１８／ＮＯ）、表示面管理部１３１は、対象の面を排除する（ステップＳ２２２）。表示面管理部１３１は、以上のステップＳ２１８〜Ｓ２２２に係る処理を全面分（即ち、全ＩＤ分）繰り返す。全ての面が処理された場合（ステップＳ２１６／ＹＥＳ）、処理は終了する。
【００８３】
・第１の具体例
以下、図５〜図８を参照して、上述した表示面検出処理の第１の処理に関する第１の具体例を説明する。なお、本実施形態における座標軸は、水平面の２次元座標軸であるＸ軸及びＹ軸、並びにＸＹ平面に直交する軸であるＺ軸により構成されるものとする。
【００８４】
図５〜図８は、本実施形態に係る表示面検出処理の第１の処理に関する第１の具体例を説明するための図である。図５に示すように、本具体例では、テーブル１０Ａ上に実物体１０Ｂが載置されている。テーブル１０Ａの天面１１Ａ及び実物体１０Ｂの天面（斜面）１１Ｂは、Ｚ軸正方向を向いている。図６は、図５に示したテーブル１０Ａ及び実物体１０ＢをＸ軸正方向から見た図である。図６に示すように、実物体１０Ｂの天面１１Ｂは、テーブル１０Ａの天面１１Ａに対し斜めに配置されている。テーブル１０Ａの天面１１Ａは、Ｙ軸方向に沿って配置されており、テーブル１０Ａの天面１１Ａと入力部１１０及び出力部１５０とのＺ軸上の距離は１００ｃｍである。実物体１０Ｂの天面１１ＢのＹ軸負方向側の端部１１Ｂａと入力部１１０及び出力部１５０とのＺ軸上の距離は８４ｃｍである。実物体１０Ｂの天面１１ＢのＹ軸正方向側の端部１１Ｂｂと入力部１１０及び出力部１５０とのＺ軸上の距離は７０ｃｍである。
【００８５】
図７は、入力部１１０に含まれるステレオカメラにより得られた深度情報を含む撮像画像の各画素の画素値を示している。本図に示した画素値は、入力部１１０及び出力部１５０と各画素に相当する実物体の表面との距離を示している。図７に示すように、テーブル１０Ａの天面１１Ａに相当する画素１３Ａの画素値は一律１００であり、実物体１０Ｂの天面１１Ｂに相当する画素１３Ｂの画素値は、Ｙ軸正方向側であるほど小さく、Ｘ方向に一定である。
【００８６】
図８は、図７に示した画素値に基づく表示面検出処理の処理結果を示している。図７に示すように、画素値は１００が最も多い。そのため、図８に示すように、テーブル１０Ａの天面１１Ａに対応する画素１３Ａは、第１の表示面として検出され、ＩＤとして０が付される。一方で、実物体１０Ｂの天面１１Ｂに相当する画素１３Ｂは、第１の表示面の画素値である１００との画素値の差が閾値を超える一方で、天面１１Ｂの画素同士では画素値の差が閾値以内である。なお、この具体例では、画素値の差の閾値は５であるものとする。そのため、図８に示すように、実物体１１Ｂの天面１１Ｂに対応する画素１３Ｂは、第２の表示面として検出され、ＩＤとして１が付される。
【００８７】
以上説明した処理の結果、表示面情報蓄積テーブルに記録される情報の一例を、下記の表２に示す。なお、ＸＹ座標の原点は、テーブル１０Ａの天面１１Ａの中心であるものとする。また、以下では表示面情報蓄積テーブルに格納される情報のうち、第１の表示面に関しては記載を省略している。
【００８８】
【表２】
2019069575.tif 000004
【００８９】
・第２の具体例
以下、図９〜図１２を参照して、上述した表示面検出処理の第１の処理に関する第２の具体例を説明する。
【００９０】
図９〜図１２は、本実施形態に係る表示面検出処理の第１の処理に関する第２の具体例を説明するための図である。図９に示すように、本具体例では、テーブル１０Ａ上に実物体１０Ｂ及び１０Ｃが載置されている。テーブル１０Ａの天面１１Ａ、実物体１０Ｂの天面１１Ｂ及び実物体１０Ｃの天面１１Ｃは、Ｚ軸正方向側を向いている。図１０は、図９に示したテーブル１０Ａ、実物体１０Ｂ及び１０ＣをＸ軸正方向から見た図である。図１０に示すように、実物体１０Ｂ及び１０Ｃの天面１１Ｂ及び１１Ｃは、テーブル１０Ａの天面１１Ａに対し斜めに配置されている。テーブル１０Ａの天面１１Ａは、Ｙ軸方向に沿って配置されており、テーブル１０Ａの天面１１Ａと入力部１１０及び出力部１５０とのＺ軸上の距離は１００ｃｍである。実物体１０Ｂ及び１０Ｃの天面１１Ｂ及び１１ＣのＹ軸負方向側の端部１１Ｂａ及び１１Ｃａと入力部１１０及び出力部１５０とのＺ軸上の距離は９０ｃｍである。実物体１０Ｂ及び１０Ｃの天面１１Ｂ及び１１ＣのＹ軸正方向側の端部１１Ｂｂ及び１１Ｃｂと入力部１１０及び出力部１５０とのＺ軸上の距離は７０ｃｍである。
【００９１】
図１１は、入力部１１０に含まれるステレオカメラにより得られた深度情報を含む撮像画像の各画素の画素値を示している。本図に示した画素値は、入力部１１０及び出力部１５０と各画素に相当する実物体の表面との距離を示している。図１１に示すように、テーブル１０Ａの天面１１Ａに相当する画素１３Ａの画素値は一律１００であり、実物体１０Ｂ及び１１Ｃの天面１１Ｂ及び１１Ｃに相当する画素１３Ｂ及び１３Ｃの画素値は、Ｙ軸正方向側であるほど小さく、Ｘ方向に一定である。
【００９２】
図１２は、図１１に示した画素値に基づく表示面検出処理の処理結果を示している。図１１に示すように、画素値は１００が最も多い。そのため、図１２に示すように、テーブル１０Ａの天面１１Ａに対応する画素１３Ａは、第１の表示面として検出され、ＩＤとして０が付される。一方で、実物体１０Ｂの天面１１Ｂに相当する画素１３Ｂは、第１の表示面の画素値である１００との画素値の差が閾値を超える一方で、天面１１Ｂの画素同士では画素値の差が閾値以内である。なお、この具体例では、画素値の差の閾値は５であるものとする。そのため、図８に示すように、実物体１１Ｂの天面１１Ｂに対応する画素１３Ｂは、第２の表示面として検出され、ＩＤとして１が付される。実物体１０Ｃの天面１１Ｃに相当する画素１３Ｃに関しても同様に、第２の表示面として検出され、ＩＤとして２が付される。
【００９３】
以上説明した処理の結果、表示面情報蓄積テーブルに記録される情報の一例を、下記の表３に示す。
【００９４】
【表３】
2019069575.tif 000005
【００９５】
（２．２）第２の処理
第２の処理は、第１の処理により検出された面のうち、色及び明度に関する所定の条件を満たす面を表示面として検出する処理である。第１の処理により検出された面のみが第２の処理の対象となるので、計算負荷を軽減することが可能である。以下、第２の処理について詳しく説明する。
【００９６】
・処理の流れ
図１３は、本実施形態に係る情報処理システム１００により実行される表示面検出処理の第２の処理の流れの一例を示すフローチャートである。表示面管理部１３１は、全ての面が処理されたかを判定し（ステップＳ３０２）、処理されていない面がある場合には（ステップＳ３０２／ＮＯ）、対象の面を切り替えながら以下の処理を行う。表示面管理部１３１は、面に該当する箇所の明度を取得する（ステップＳ３０４）。次いで、表示面管理部１３１は、面のうち明度が所定の閾値以上である領域の大きさが所定の閾値以上であるか否かを判定する（ステップＳ３０６）。面のうち明度が所定の閾値以上である領域の大きさが所定の閾値以上であると判定された場合（ステップＳ３０６／ＹＥＳ）、表示面管理部１３１は、当該領域を表示面としてＩＤを振り直し、表示面情報蓄積テーブルに当該領域の位置及び大きさを記録する（ステップＳ３０８）。面のうち明度が所定の閾値以上である領域の大きさが所定の閾値以上でないと判定された場合（ステップＳ３０６／ＮＯ）、表示面管理部１３１は、当該領域を処理済みとする。表示面管理部１３１は、以上のステップＳ３０２〜Ｓ３０８に係る処理を全面分（即ち、全ＩＤ分）繰り返す。全ての面が処理された場合（ステップＳ３０２／ＹＥＳ）、処理は終了する。
【００９７】
・具体例
以下、図１４〜図１６を参照して、上述した表示面検出処理の第２の処理に関する具体例を説明する。
【００９８】
図１４〜図１６は、本実施形態に係る表示面検出処理の第２の処理に関する具体例を説明するための図である。図１４に示すように、本具体例では、テーブル１０Ａ上に実物体１０Ｂ及び１０Ｃが載置されている。実物体１０Ｂ及び１０Ｃの配置は、図９〜図１２を参照して上記説明した通りであるものとする。図１４に示すように、実物体１０Ｂの天面１１Ｂには水玉模様が付されており、実物体１０Ｃの天面１１ＣにはＸ軸負方向側から正方向側にかけて色が濃くなるグラデーション状の色が付されている。
【００９９】
図１５は、入力部１１０により得られた撮像画像の各画素の明度を示している。図１５に示すように、実物体１０Ｂ及び１０Ｃの天面１１Ｂ及び１１Ｃに相当する画素１３Ｂ及び１３Ｃのうち、模様（色）が付されていない領域の明度は１．０であり、色が付された領域の明度は０．２又は０．８である。
【０１００】
図１６は、図１５に示した明度に基づく表示面検出処理の処理結果を示している。図１６に示すように、実物体１０Ｂ及び１０Ｃの天面１１Ｂ及び１１Ｃに相当する画素１３Ｂ及び１３Ｃのうち、明度が所定の閾値以上である領域には、新たなＩＤであるＡ〜Ｅが付される。なお、この具体例では、明度の閾値は０．５であるものとする。
【０１０１】
以上説明した処理の結果、表示面情報蓄積テーブルに記録される情報の一例を、下記の表４に示す。
【０１０２】
【表４】
2019069575.tif 000006
【０１０３】
図１７は、本実施形態に係る表示面検出処理により検出される表示面の具体例を説明するための図である。実物体１０Ｂの天面１１Ｂのうち、領域１１ＢａはＩＤとしてＡが付された表示面であり、領域１１ＢｂはＩＤとしてＢが付された表示面であり、領域１１ＢｃはＩＤとしてＣが付された表示面であり、領域１１ＢｄはＩＤとしてＤが付された表示面である。実物体１０Ｂの天面１１Ｂのうち、表示面１１Ｂａ〜１１Ｂｄ以外の領域は、表示面としては取り扱われない。また、実物体１０Ｃの天面１１Ｃのうち、領域１１ＣａはＩＤとしてＥが付された表示面である。実物体１０Ｃの天面１１Ｃのうち、表示面１１Ｃａ以外の領域は、表示面としては取り扱われない。
【０１０４】
（３）操作性判定処理
表示面管理部１３１は、表示面を、面積が所定の閾値（第２の閾値）以上であればユーザ操作を受け付け可能な面に分類し、そうでなければユーザ操作を受け付け不可能な面に分類する。表示面管理部１３１は、表示オブジェクトを表示可能な面積を有する表示面を、指でのタッチ、及びフリック操作等の操作入力の受付が可能な面積を有する面とそうでない面とに分ける。ここでの閾値（第２の閾値）は、表示面検出処理における面積の閾値（第１の閾値）よりも狭い。これにより、操作入力の受付が困難な面積の面も、表示面として活用することが可能となる。
【０１０５】
また、表示面管理部１３１は、表示面を、勾配が所定の閾値以下であればユーザ操作を受け付け可能な面に分類し、そうでなければユーザ操作を受け付け不可能な面に分類する。表示面管理部１３１は、表示オブジェクトを表示可能な面積を有する表示面を、指でのタッチ、及びフリック操作等の操作入力の受付が可能な勾配である面とそうでない面とに分ける。ここでの閾値は、表示面検出処理における勾配の閾値と同一であってもよいし、異なっていてもよい。
【０１０６】
ここで、面の勾配について、図１８を参照して説明する。図１８は、本実施形態に係る面の勾配を説明するための図である。本図では、図６に示した具体例に係る実物体１０Ｂの天面１１Ｂの勾配が示されている。天面１１Ｂの勾配は、出力部１５０が含むプロジェクタの投影方向（光軸）１４ａに直交する平面１４ｂと天面１１Ｂとが成す角度１４ｃである。この角度１４ｃが、０度（即ち、光軸１４ａと天面１１Ｂとが直交する）であること、又は所定範囲内である場合に、表示面管理部１３１は、天面１１Ｂを操作入力の受付が可能な表示面として検出する。なお、表示面管理部１３１は、角度そのものを閾値判定の対象としてもよし、正接、余弦又は正弦等の角度に基づき計算される値を閾値判定の対象としてもよい。
【０１０７】
以下、操作性判定処理の具体的な処理の流れを説明する。
【０１０８】
・処理の流れ
図１９は、本実施形態に係る情報処理システム１００により実行される操作性判定処理の流れの一例を示すフローチャートである。図１９に示すように、表示面管理部１３１は、全ての表示面が処理されたかを判定し（ステップＳ４０２）、処理されていない表示面がある場合には（ステップＳ４０２／ＮＯ）、対象の表示面を切り替えながら以下の処理を行う。まず、表示面管理部１３１は、表示面の大きさが所定の閾値以上であるか否かを判定する（ステップＳ４０４）。表示面の大きさが所定の閾値以上であると判定された場合（ステップＳ４０４／ＹＥＳ）、表示面管理部１３１は、表示面の勾配を算出する（ステップＳ４０６）。次いで、表示面管理部１３１は、表示面の勾配が所定の閾値以下であるか否かを判定する（ステップＳ４０８）。表示面の勾配が所定の閾値以下であると判定された場合（ステップＳ４０８／ＹＥＳ）、表示面管理部１３１は、表示面の操作可能フラグをＴｒｕｅとして表示面情報蓄積テーブルを更新する（ステップＳ４１０）。このようにして、ユーザ操作を受け付け可能な表示面が検出される。一方で、表示面の大きさが所定の閾値以上でない、又は表示面の勾配が所定の閾値以下でないと判定された場合（ステップＳ４０４／ＮＯ、又はステップＳ４０８／ＮＯ）、表示面管理部１３１は、表示面の操作可能フラグをＦａｌｓｅとして表示面情報蓄積テーブルを更新する（ステップＳ４１２）。このようにして、ユーザ操作を受け付け不可能な表示面が検出される。表示面管理部１３１は、以上のステップＳ４０４〜Ｓ４１２に係る処理を全面分（即ち、全ＩＤ分）繰り返す。全ての面が処理された場合（ステップＳ４０２／ＹＥＳ）、処理は終了する。
【０１０９】
・具体例
図１４〜図１７を参照して上記説明した表示面検出処理の第２の処理の具体例により得られた、ＩＤとしてＡ〜Ｅが付された表示面に対し、上述した操作性判定処理が行われた結果を下記の表５に示す。なお、本具体例では、大きさの閾値は２０であり、勾配の閾値は４５°であるものとする。
【０１１０】
【表５】
2019069575.tif 000007
【０１１１】
上記表５に示すように、ＩＤとしてＡ〜Ｄが付された表示面は、ユーザ操作を受け付け不可能な表示面として検出され、ＩＤとしてＥが付された表示面は、ユーザ操作を受け付け可能な表示面として検出される。即ち、図１７に示した表示面１１Ｂａ〜１１Ｂｄは、ユーザ操作を受け付け不可能な表示面として検出され、表示面１１Ｃａは、ユーザ操作を受け付け可能な表示面として検出される。
【０１１２】
（４）表示制御処理
表示面管理部１３１は、空間情報及びユーザ情報に基づいて、表示オブジェクトの表示制御処理を行う。
【０１１３】
詳しくは、表示制御部１３２は、表示オブジェクトをマッピングして表示する表示面を選択する。例えば、表示制御部１３２は、表示オブジェクトの大きさ、内容、ユーザ操作を受け付け可能か否か等の表示オブジェクトの性質、及び表示面の勾配、大きさ、色及び明度等の表示面の性質に基づいて、適切な表示面を選択する。
【０１１４】
また、表示制御部１３２は、表示オブジェクトを移動させるユーザ操作が行われた場合も、表示オブジェクトを表示する表示面、即ち移動先の表示面を選択する。表示制御部１３２は、移動先候補の表示面を抽出し、移動先候補の表示面の各々を判定対象として、表示オブジェクトの移動先として適するか否かを判定する。表示制御部１３２は、移動先として適する表示面があると判定した場合、かかる表示面に移動対象の表示オブジェクトを移動させ、表示する。一方で、表示制御部１３２は、移動先として適する表示面がないと判定した場合、移動不可を示すフィードバックを行う。
【０１１５】
表示制御部１３２は、表示オブジェクトを表示面にマッピングして表示する際に、状況に応じて表示オブジェクトに各種補正処理を行う。補正処理は、座標補正処理、再レイアウト処理、及び色補正処理を含む。これらの処理については、後に詳しく説明する。表示制御部１３２は、表示オブジェクトを表示する表示面を選択する際に、適用すべき補正処理を試みて、適用すべき補正処理の全てに成功した表示面を、表示オブジェクトを表示する表示面として選択する。
【０１１６】
以下、情報処理システム１００による表示制御について詳しく説明する。
【０１１７】
（４．１）移動先の表示面の指定を含むユーザ操作に基づく表示制御
表示制御部１３２は、移動先の表示面を指定して表示オブジェクトを移動させるユーザ操作が行われた場合、指定された表示面に表示オブジェクトを表示する。移動先の表示面を指定するユーザ操作としては、例えば表示オブジェクトを指でタッチしたまま移動先の表示面まで指を動かし離す、ドラッグアンドドロップが挙げられる。他にも、移動先の表示面を指定するユーザ操作としては、移動先候補の表示面を含むリストの中から移動先の表示面を選択する操作が挙げられる。
【０１１８】
移動先の表示面は、任意に指定され得る。指定可能な表示面としては、第１の表示面及び第２の表示面がある。さらに詳細には、指定可能な表示面としては、第１の表示面又は第２の表示面の一領域、及び第１の表示面又は第２の表示面に表示された既存の他の表示オブジェクトに対応するアプリケーションがある。なお、既存の他の表示オブジェクトに対応するアプリケーションが移動先として指定された場合、移動対象の表示オブジェクトに係るコンテンツ（例えば、画像データ又は音楽データ等）が、移動先として指定されたアプリケーションにより処理される。表示制御部１３２は、ユーザにより指定された表示面を判定対象とし、所定の評価基準に基づいて各表示面を評価する。そして、表示制御部１３２は、所定の基準を満たす場合に、指定された表示面を移動先として確定する。
【０１１９】
表示制御部１３２は、判定対象の表示面の面積、勾配、色、又は明度と移動対象の表示オブジェクトの面積、色又は内容とに基づいて、判定対象の表示面への移動対象の表示オブジェクトの移動可否を判定する。表示制御部１３２は、面積等の評価項目に基づき表示面を評価し、所定の基準を満たす場合に、指定された表示面を移動先として確定する。また、表示制御部１３２は、適用すべき補正処理に成功したか否かにさらに基づいて、移動可否を判定する。アプリケーションに関しては、表示制御部１３２は、上述した評価項目に加えて、移動対象の表示オブジェクトに係るデータ（例えば画像等）が当該アプリケーションにより処理可能か否かにさらに基づいて、移動可否を判定する。これらより、表示制御部１３２は、移動先として適した表示面に表示オブジェクトを移動させることが可能となる。
【０１２０】
・処理の流れ
図２０は、本実施形態に係る情報処理システム１００により実行される、移動先の表示面の指定を含むユーザ操作に基づく表示制御処理の流れの一例を示すフローチャートである。なお、本フローチャートでは、表示オブジェクトの移動先として、既存の他の表示オブジェクトに対応するアプリケーション又は第２の表示面が指定されるものとする。
【０１２１】
図２０に示すように、表示制御部１３２は、第１の表示面に表示されたアプリケーションが移動先として指定されたか否かを判定する（ステップＳ５０２）。第１の表示面に表示されたアプリケーションが移動先として指定されたと判定された場合（ステップＳ５０２／ＹＥＳ）、表示制御部１３２は、アプリケーションは移動対象の表示オブジェクトを処理可能か否かを判定する（ステップＳ５０４）。処理可能であると判定された場合(ステップＳ５０４／ＹＥＳ)、表示制御部１３２は、指定されたアプリケーションを移動先として確定する（ステップＳ５０６）。一方で、処理可能でないと判定された場合(ステップＳ５０４／ＮＯ)、表示制御部１３２は、移動不可を示すフィードバックを行う（ステップＳ５０８）。
【０１２２】
第１の表示面に表示されたアプリケーションが移動先として指定されていないと判定された場合（ステップＳ５０２／ＮＯ）、表示制御部１３２は、第２の表示面に表示されたアプリケーションが移動先として指定されたか否かを判定する（ステップＳ５１０）。第２の表示面に表示されたアプリケーションが移動先として指定されたと判定された場合（ステップＳ５１０／ＹＥＳ）、表示制御部１３２は、アプリケーションは移動対象の表示オブジェクトを処理可能か否かを判定する（ステップＳ５１２）。処理可能であると判定された場合(ステップＳ５１２／ＹＥＳ)、表示制御部１３２は、指定されたアプリケーションを移動先として確定する（ステップＳ５０６）。一方で、処理可能でないと判定された場合(ステップＳ５１２／ＮＯ)、表示制御部１３２は、移動不可を示すフィードバックを行う（ステップＳ５０８）。
【０１２３】
第２の表示面に表示されたアプリケーションが移動先として指定されていないと判定された場合（ステップＳ５１０／ＮＯ）、表示制御部１３２は、第２の表示面に適合する再レイアウト処理を行う（ステップＳ５１４）。次いで、表示制御部１３２は、再レイアウト処理は成功したか否かを判定する（ステップＳ５１６）。再レイアウト処理は成功したと判定された場合（ステップＳ５１６／ＹＥＳ）、表示制御部１３２は、指定された第２の表示面を移動先として確定する（ステップＳ５１８）。一方で、再レイアウト処理は失敗したと判定された場合(ステップＳ５１６／ＮＯ)、表示制御部１３２は、移動不可を示すフィードバックを行う（ステップＳ５０８）。
【０１２４】
・具体例
図２１は、本実施形態に係る移動先の表示面の指定を含むユーザ操作に基づく表示制御処理の具体例を説明するための図である。図２１に示すように、テーブル１０Ａ上に実物体１０Ｂが載置されている。テーブル１０Ａの天面１１Ａが第１の表示面であり、実物体１０Ｂの天面１１Ｂが第２の表示面である。第１の表示面１１Ａに表示オブジェクト２０Ａ及び２０Ｂが表示されている。表示オブジェクト２０Ａは画像であり、表示オブジェクト２０Ｂは画像閲覧用アプリケーションである。画像閲覧用アプリケーションは画像を処理可能である。よって、ユーザが、表示オブジェクト２０Ａを表示オブジェクト２０Ｂにドラッグアンドドロップすると、表示オブジェクト２０Ａとして表示されていた画像は、表示オブジェクト２０Ｂの位置まで移動し、画像閲覧用アプリケーションにより処理される。
【０１２５】
（４．２）移動方向を指定するユーザ操作に基づく表示制御
表示制御部１３２は、表示オブジェクトの移動方向を指定するユーザ操作が行われた場合、指定された移動方向に存在する表示面に表示オブジェクトを表示する。移動方向を指定するユーザ操作としては、例えば移動方向に向けて指をはじくように動かすフリック操作が挙げられる。他にも、移動方向を指定するユーザ操作としては、例えば候補の複数の移動方向を含むリストの中から移動方向を選択する操作が挙げられる。
【０１２６】
表示制御部１３２は、表示オブジェクトの移動先を、任意に選択し得る。移動先の候補としては、第１の表示面及び第２の表示面がある。さらに詳細には、移動先の候補としては、第１の表示面又は第２の表示面の一領域、及び第１の表示面又は第２の表示面に表示された既存の他の表示オブジェクトに対応するアプリケーションがある。表示制御部１３２は、ユーザにより指定された移動方向上にあるこれらの表示面を判定対象とし、所定の評価基準に基づいて各表示面を評価する。そして、表示制御部１３２は、所定の基準を満たす、又は最も評価値が高い表示面を、移動先として確定する。
【０１２７】
表示制御部１３２は、判定対象の表示面の面積、勾配、色、又は明度と移動対象の表示オブジェクトの面積、色又は内容とに基づいて、判定対象の表示面への移動対象の表示オブジェクトの移動可否を判定する。表示制御部１３２は、面積等の評価項目に基づき表示面を評価し、所定の基準を満たす、又は最も評価値が高い表示面を、移動先として確定する。また、表示制御部１３２は、適用すべき補正処理に成功したか否かにさらに基づいて、移動可否を判定する。アプリケーションに関しては、表示制御部１３２は、上述した評価項目に加えて、移動対象の表示オブジェクトに係るデータ（例えば画像等）が当該アプリケーションにより処理可能か否かにさらに基づいて、移動可否を判定する。これらより、表示制御部１３２は、移動先として適した表示面に表示オブジェクトを移動させることが可能となる。
【０１２８】
・処理の流れ
図２２は、本実施形態に係る情報処理システム１００により実行される、移動方向の指定を含むユーザ操作に基づく表示制御処理の流れの一例を示すフローチャートである。なお、本フローチャートでは、情報処理システム１００は、表示オブジェクトの移動先として、既存の他の表示オブジェクトに対応するアプリケーション又は第２の表示面を選択するものとする。
【０１２９】
図２２に示すように、表示制御部１３２は、移動方向上に表示されているアプリケーション又は移動方向上に存在する第２の表示面を、移動対象の表示オブジェクトからの距離が近い順に抽出する（ステップＳ６０２）。次いで、表示制御部１３２は、移動方向上にアプリケーション又は第２の表示面が存在するか否かを判定する（ステップＳ６０４）。移動方向上にアプリケーション又は第２の表示面が存在すると判定された場合（ステップＳ６０４／ＹＥＳ）、表示制御部１３２は、移動方向上に存在すると判定された全てのアプリケーション又は第２の表示面を判定対象として、以下の処理を行う。まず、表示制御部１３２は、全ての判定対象の全てのアプリケーション又は第２の表示面を処理したか否かを判定する（ステップＳ６０６）。処理していない判定対象のアプリケーション又は第２の表示面がある場合には（ステップＳ６０６／ＮＯ）、表示制御部１３２は、判定対象を切り替えながら以下の処理を行う。
【０１３０】
まず、表示制御部１３２は、判定対象が第１の表示面に表示されたアプリケーションであるか否かを判定する（ステップＳ６０８）。判定対象が第１の表示面に表示されたアプリケーションであると判定された場合（ステップＳ６０８／ＹＥＳ）、表示制御部１３２は、判定対象のアプリケーションは移動対象の表示オブジェクトを処理可能か否かを判定する（ステップＳ６１０）。処理可能であると判定された場合(ステップＳ６１０／ＹＥＳ)、表示制御部１３２は、判定対象のアプリケーションを移動先として確定する（ステップＳ６１２）。一方で、処理可能でないと判定された場合(ステップＳ６１０／ＮＯ)、表示制御部１３２は、判定対象のアプリケーションについて処理済みとする。
【０１３１】
判定対象が第１の表示面に表示されたアプリケーションでないと判定された場合（ステップＳ６０８／ＮＯ）、表示制御部１３２は、判定対象が第２の表示面に表示されたアプリケーションであるか否かを判定する（ステップＳ６１４）。判定対象が第２の表示面に表示されたアプリケーションであると判定された場合（ステップＳ６１４／ＹＥＳ）、表示制御部１３２は、判定対象のアプリケーションは移動対象の表示オブジェクトを処理可能か否かを判定する（ステップＳ６１６）。処理可能であると判定された場合(ステップＳ６１６／ＹＥＳ)、表示制御部１３２は、判定対象のアプリケーションを移動先として確定する（ステップＳ６１２）。一方で、処理可能でないと判定された場合(ステップＳ６１６／ＮＯ)、表示制御部１３２は、判定対象のアプリケーションについて処理済みとする。
【０１３２】
判定対象が第２の表示面に表示されたアプリケーションでないと判定された場合（ステップＳ６１４／ＮＯ）、表示制御部１３２は、第２の表示面に適合する再レイアウト処理を行う（ステップＳ６１８）。次いで、表示制御部１３２は、再レイアウト処理は成功したか否かを判定する（ステップＳ６２０）。再レイアウト処理は成功したと判定された場合（ステップＳ６２０／ＹＥＳ）、表示制御部１３２は、判定対象の第２の表示面を移動先として確定する（ステップＳ６２２）。一方で、再レイアウト処理は失敗したと判定された場合(ステップＳ６２０／ＮＯ)、表示制御部１３２は、判定対象の第２の表示面について処理済みとする。
【０１３３】
表示制御部１３２は、以上のステップＳ６０８〜Ｓ６２２に係る処理を、移動対象の表示オブジェクトからの距離が近い順に、全ての判定対象のアプリケーション又は第２の表示面分繰り返す。全ての判定対象のアプリケーション又は第２の表示面が処理された場合（ステップＳ６０６／ＹＥＳ）、処理はステップＳ６２４に進む。
【０１３４】
表示制御部１３２は、移動対象の表示オブジェクトの移動先が確定したか否かを判定する（ステップＳ６２４）。移動対象の表示オブジェクトの移動先が確定したと判定された場合（ステップＳ６２４／ＹＥＳ）、処理はそのまま終了する。一方で、移動対象の表示オブジェクトの移動先が確定していないと判定された場合（ステップＳ６２４／ＮＯ）、表示制御部１３２は、移動不可を示すフィードバックを行う（ステップＳ６２６）。
【０１３５】
・具体例
図２３は、本実施形態に係る移動方向を指定するユーザ操作に基づく表示制御処理の具体例を説明するための図である。図２３に示すように、テーブル１０の天面１１に表示オブジェクト２０Ａ及び２０Ｂが表示されている。テーブル１０の天面１１が第１の表示面である。表示オブジェクト２０Ａは画像であり、表示オブジェクト２０Ｂは画像閲覧用アプリケーションである。画像閲覧用アプリケーションは画像を処理可能である。よって、ユーザが、表示オブジェクト２０Ａを表示オブジェクト２０Ｂの方向にフリックすると、表示制御部１３２は、表示オブジェクト２０Ｂとして表示された画像閲覧用アプリケーションを移動先として確定する。そのため、表示オブジェクト２０Ａとして表示されていた画像は、表示オブジェクト２０Ｂの位置まで移動し、画像閲覧用アプリケーションにより処理される。
【０１３６】
図２４は、本実施形態に係る移動方向を指定するユーザ操作に基づく表示制御処理の具体例を説明するための図である。図２４に示すように、テーブル１０Ａ上に実物体１０Ｂ及び１０Ｃが載置されている。テーブル１０Ａの天面１１Ａが第１の表示面であり、実物体１０Ｂ及び１０Ｃの天面１１Ｂ及び１１Ｃが第２の表示面である。第１の表示面１１Ａに表示オブジェクト２０が表示されている。ユーザが、表示オブジェクト２０を第２の表示面１１Ｂ及び１１Ｃの方向にフリックしたものとする。表示制御部１３２は、表示オブジェクト２０により近い第２の表示面１１Ｂをまず判定対象とする。しかし、第２の表示面１１Ｂは狭く、再レイアウト処理に失敗したので、表示制御部１３２は、第２の表示面１１Ｃを判定対象とする。第２の表示面１１Ｃに関する再レイアウト処理は成功したので、表示制御部１３２は、第２の表示面１１Ｃを移動先として確定する。そのため、表示オブジェクト２０は、第２の表示面１１Ｃの位置まで移動し、第２の表示面１１Ｃに表示される。
【０１３７】
図２５は、本実施形態に係る移動方向を指定するユーザ操作に基づく表示制御処理の具体例を説明するための図である。図２５に示すように、テーブル１０Ａ上に実物体１０Ｂが載置されている。テーブル１０Ａの天面１１Ａが第１の表示面であり、実物体１０Ｂの天面１１Ｂが第２の表示面である。第１の表示面１１Ａに表示オブジェクト２０Ａ及び２０Ｂが表示されている。表示オブジェクト２０Ａは画像であり、表示オブジェクト２０Ｂは画像保存用アプリケーションである。ユーザが、表示オブジェクト２０Ａを第２の表示面１１Ｂ及び表示オブジェクト２０Ｂの方向にフリックしたものとする。表示制御部１３２は、表示オブジェクト２０により近い第２の表示面１１Ｂをまず判定対象とする。しかし、第２の表示面１１Ｂは暗く、色補正処理に失敗したので、表示制御部１３２は、表示オブジェクト２０として表示された画像保存用アプリケーションを判定対象とする。画像保存用アプリケーションは画像を処理可能である。よって、表示制御部１３２は、表示オブジェクト２０Ｂとして表示された画像保存用アプリケーションを移動先として確定する。そのため、表示オブジェクト２０Ａとして表示されていた画像が、表示オブジェクト２０Ｂの位置まで移動し、画像保存用アプリケーションにより処理される。
【０１３８】
図２６は、本実施形態に係る移動方向を指定するユーザ操作に基づく表示制御処理の具体例を説明するための図である。図２６に示すように、テーブル１０上に表示オブジェクト２０Ａ、２０Ｂ及び２０Ｃが表示されている。テーブル１０の天面１１が第１の表示面である。表示オブジェクト２０Ａは画像であり、表示オブジェクト２０Ｂは音楽再生用アプリケーションであり、表示オブジェクト２０Ｃは画像閲覧用アプリケーションである。ユーザが、表示オブジェクト２０Ａを表示オブジェクト２０Ｂ及び２０Ｃの方向にフリックしたものとする。表示制御部１３２は、表示オブジェクト２０により近い表示オブジェクト２０Ｂをまず判定対象とする。しかし、表示オブジェクト２０Ｂとして表示された音楽再生用アプリケーションは画像を処理できない。よって、表示制御部１３２は、表示オブジェクト２０Ｃとして表示された画像閲覧用アプリケーションを判定対象とする。画像閲覧用アプリケーションは画像を処理可能である。よって、表示制御部１３２は、表示オブジェクト２０Ｃとして表示された画像閲覧用アプリケーションを移動先として確定する。そのため、表示オブジェクト２０Ａとして表示されていた画像が、表示オブジェクト２０Ｃの位置まで移動し、画像閲覧用アプリケーションにより処理される。
【０１３９】
図２７は、本実施形態に係る移動方向を指定するユーザ操作に基づく表示制御処理の具体例を説明するための図である。図２７の左図に示すように、テーブル１０Ａ上に実物体１０Ｂ及び１０Ｃが載置されている。テーブル１０Ａの天面１１Ａが第１の表示面である。第１の表示面１１Ａに表示オブジェクト２０が表示されている。実物体１０Ｂの斜面１１Ｂが第２の表示面である。実物体１０Ｃはキーボードであり、細かい凹凸形状を有するので表示面として検出されない。ユーザが、表示オブジェクト２０を実物体１０Ｂ及び１０Ｃの方向にフリックしたものとする。この場合、フリックした方向上に存在する実物体１０Ｃは表示面を有さないので判定対象とはならず、フリックした方向上に存在する第２の表示面である斜面１１Ｂが判定対象となる。よって、表示制御部１３２は、実物体１０Ｂの斜面１１Ｂが移動先として確定する。そのため、図２７の右図に示すように、表示オブジェクト２０は、斜面１１Ｂの位置まで移動し、斜面１１Ｂにおいて表示される。
【０１４０】
（４．３）操作用表示オブジェクトの表示制御
表示制御部１３２は、表示オブジェクトがユーザ操作を受け付け可能である場合（例えば、ユーザ操作を要する場合）、典型的には、ユーザ操作を受け付け可能な表示面を、当該表示オブジェクトを表示する表示面として選択する。
【０１４１】
表示制御部１３２は、ユーザ操作を受け付け不可能な表示面に表示オブジェクトを表示する場合、当該表示オブジェクトへのユーザ操作を受け付けるための他の表示オブジェクトを、ユーザ操作を受け付け可能な表示面に表示する。例えば、表示制御部１３２は、ユーザ操作を受け付け不可能な表示面に表示された表示オブジェクトへのユーザ操作を受け付けるための他の表示オブジェクトを、当該ユーザ操作を受け付け不可能な表示面付近の表示面に表示する。かかる処理は、ユーザ操作を受け付け不可能な表示面に、ユーザ操作を受け付け可能な表示オブジェクト（換言するとユーザ操作を要する表示オブジェクト）を表示する場合に主に行われる。これにより、ユーザ操作を受け付け不可能な表示面をも、ユーザ操作を要する表示オブジェクトの表示面として活用することが可能となる。
【０１４２】
表示制御部１３２は、第２の表示面に表示される表示オブジェクトへのユーザ操作を受け付けるための他の表示オブジェクトを、第１の表示面に表示してもよい。例えば、表示制御部１３２は、ユーザ操作を受け付け不可能な第２の表示面に表示された表示オブジェクトへのユーザ操作を受け付けるための他の表示オブジェクトを、当該ユーザ操作を受け付け不可能な第２の表示面付近の第１の表示面に表示する。操作用の表示オブジェクトが、操作対象の表示オブジェクト付近に表示されるので、ユーザは、操作用の表示オブジェクトを操作することで操作対象の表示オブジェクトを操作可能であることを直観的に理解することができる。
【０１４３】
・処理の流れ
図２８は、本実施形態に係る情報処理システム１００により実行される、操作用表示オブジェクトの表示制御処理の流れの一例を示すフローチャートである。図２８に示すように、表示制御部１３２は、全ての表示面が処理されたかを判定し（ステップＳ７０２）、処理されていない表示面がある場合には（ステップＳ７０２／ＮＯ）、対象の表示面を切り替えながら以下の処理を行う。表示制御部１３２は、表示面の操作可能フラグはｆａｌｓｅであるか否かを判定し（ステップＳ７０４）、当該表示面に表示する表示オブジェクトがユーザ操作を要するか否かを判定する（ステップＳ７０６）。表示面の操作可能フラグがｆａｌｓｅであり、ユーザ操作を要すると判定された場合（ステップＳ７０４／ＹＥＳ及びステップＳ７０６／ＹＥＳ）、表示制御部１３２は、第１の表示面に操作用の表示オブジェクトを表示する（ステップＳ７０８）。一方で、表示面の操作可能フラグがtrueである、又はユーザ操作を要さないと判定された場合（ステップＳ７０４／ＮＯ又はステップＳ７０６／ＮＯ）、表示制御部１３２は、操作用の表示オブジェクトの表示を行わない。表示制御部１３２は、以上のステップＳ７０４〜Ｓ７０８に係る処理を全ての表示面の分繰り返す。全ての表示面が処理された場合（ステップＳ７０２／ＹＥＳ）、処理は終了する。
【０１４４】
・具体例
図２９は、本実施形態に係る操作用表示オブジェクトの表示制御の具体例を説明するための図である。図２９に示すように、テーブル１０Ａ上に実物体１０Ｂが載置されている。テーブル１０Ａの天面１１Ａが第１の表示面であり、実物体１０Ｂの円形の斜面１１Ｂが第２の表示面である。第２の表示面１１Ｂには音楽再生用アプリケーションの表示オブジェクト２０Ａが表示されている。第１の表示面１１Ａはユーザ操作を受け付け可能であるが、第２の表示面１１Ｂはユーザ操作を受け付け可能であるとする。そのため、表示制御部１３２は、表示オブジェクト２０Ａとして表示された音楽再生用アプリケーションへのユーザ操作を受け付けるための表示オブジェクト２０Ｂを、第１の表示面１１Ａのうち第２の表示面１１Ｂに隣接する領域に表示する。これにより、ユーザは、表示オブジェクト２０Ｂの再生ボタンや停止ボタン等をタッチすることで、表示オブジェクト２０Ａとして表示された音楽再生用アプリケーションを操作することができる。
【０１４５】
図２９に示した例では、表示オブジェクト２０Ｂは、関連する表示オブジェクト２０Ａが表示された第１の表示面１１Ａが向く方向（斜面の傾く方向）に表示されている。操作用の表示オブジェクト２０Ｂの表示位置は、かかる例に限定されない。他の例を、図３０を参照して説明する。
【０１４６】
図３０は、本実施形態に係る操作用表示オブジェクトの表示制御の具体例を説明するための図である。図３０に示した具体例は、図２９を参照して説明した具体例から、表示オブジェクト２０Ｂの表示位置のみが変わっている。本具体例では、表示オブジェクト２０Ｂは、ユーザの指の方向に表示されている。表示オブジェクト２０Ａの表示位置から見て、ユーザの指の方向に、ユーザが存在すると想定される。そのため、表示オブジェクト２０Ｂをユーザの指の方向に表示することで、表示オブジェクト２０Ｂをユーザに正対して表示することができる。従って、ユーザは、表示オブジェクト２０Ａとして表示された音楽再生用アプリケーションをより容易に操作することができる。なお、ここでのユーザの指とは、例えば、表示オブジェクト２０Ａを実物体１１Ｂの斜面１１Ａに移動させるためのフリック操作をした指であってもよい。
【０１４７】
（４．４）補正処理
以下、補正処理の一例を説明する。
【０１４８】
・座標補正処理
表示制御部１３２は、表示面の勾配に応じた座標補正を表示オブジェクトに適用する。表示制御部１３２は、表示面に勾配がある場合、即ちプロジェクタの光軸と表示面とが直交しない場合、勾配の大きさに応じたアフィン変換を行う。これにより、勾配のある表示面において、表示オブジェクトを歪ませることなく表示することができる。また、表示制御部１３２は、表示面の形状が曲面等である場合には、表示面の形状に沿った座標補正を表示オブジェクトに適用する。これにより、曲面等の平面でない表示面において、表示オブジェクトを歪ませることなく表示することができる。
【０１４９】
・再レイアウト処理
表示制御部１３２は、表示面の大きさ（面積）又は形状に応じて、表示オブジェクトの内部のレイアウトを変更する。表示オブジェクトは、アイコン、画像又はフレーム等の複数のＵＩ要素により構成され得る。その場合、表示制御部１３２は、ＵＩ要素の配置を変更したり、各ＵＩ要素を拡縮したり、表示オブジェクト内部でのスクロール機能を有効にして一部のＵＩ要素を隠したりする。これにより、表示オブジェクトの大きさ又は形状が、表示面にフィットする。そのため、表示面にフィットさせて表示オブジェクトを表示することが可能となる。
【０１５０】
・色補正処理
表示制御部１３２は、表示面の色に応じた色補正を表示オブジェクトに適用する。表示制御部１３２は、表示面の色と補色関係にある色に基づく色補正を表示オブジェクトに適用する。例えば、表示制御部１３２は、表示面の色がピンク色である場合には、カラーバランスを青く調整する色補正を表示オブジェクトに適用する。これにより、表示オブジェクトの白い領域を、ピンク色の表示面においても白く表示することが可能となる。
【０１５１】
以上、補正処理の一例を説明した。
【０１５２】
表示制御部１３２は、表示オブジェクトを表示面にマッピングして表示する際に、状況に応じて表示オブジェクトに各種補正処理を行う。再レイアウト処理を適用することが望ましい状況としては、例えば表示面と表示オブジェクトとで、形状が一致しない状況、又は面積が一致しない状況が挙げられる。座標補正処理を適用することが望ましい状況としては、例えば、表示面に勾配がある状況、又は表示面が平面でない状況が挙げられる。色補正処理を適用することが望ましい状況としては、例えば、表示面の色が白色でない状況が挙げられる。
【０１５３】
表示制御部１３２は、表示オブジェクトを表示する表示面を選択する際に、状況に応じて適用すべき補正処理を試みる。そして、表示制御部１３２は、適用すべき補正処理の全てに成功した表示面を、表示オブジェクトを表示する表示面として選択する。補正処理に成功するとは、表示オブジェクトの補正処理の結果が、許容可能な範囲内であることを指す。補正処理に失敗するとは、表示オブジェクトの補正処理の結果が、許容可能な範囲外であることを指す。許容可能な範囲とは、補正後の表示オブジェクトを表示した場合に所定の視認性を確保できる範囲である。典型的には、表示面の面積が所定値よりも小さい場合に再レイアウト処理が失敗し、表示面の勾配が大きすぎる場合に座標補正処理が失敗する。
【０１５４】
・具体例
図３１は、本実施形態に係る座標補正処理の具体例を説明するための図である。図３１の左図に示すように、テーブル１０Ａ上に実物体１０Ｂが載置されている。テーブル１０Ａの天面１１Ａが第１の表示面であり、実物体１０Ｂの斜面１１Ｂが第２の表示面である。ユーザがスマートフォン１０Ｃをテーブル１０Ａ上に置くと、情報処理システム１００は、スマートフォン１０Ｃとの無線通信を介してスマートフォン１０Ｃから画像を取得する。そして、情報処理システム１００は、取得した画像を、表示オブジェクト２０Ａ〜２０Ｃとして、スマートフォン１０Ｃの付近の第１の表示面１１Ａに表示する。第２の表示面１１Ｂに表示オブジェクト２０Ｄが表示されている。表示オブジェクト２０Ｄは、写真立ての外観を有し内部に画像を表示可能な、画像閲覧用アプリケーションであり、現在は犬の画像を表示している。図３１の中央図に示すように、ユーザが、表示オブジェクト２０Ｂを第２の表示面１１Ｂ（即ち、表示オブジェクト２０Ｄ）の方向にフリックしたものとする。すると、図３１の右図に示すように、表示オブジェクト２０Ｂとして表示されていた猫の画像が、表示オブジェクト２０Ｄの位置まで移動し、画像閲覧用アプリケーションにより処理される（即ち、表示される）。移動の際、表示制御部１３２は、第２の表示面１１Ｂの勾配に応じた座標補正処理を行う。このような座標補正処理により、第２の表示面１１Ｂにフリックされた画像は、歪みなく、第２の表示面１１Ｂにおいて表示される。
【０１５５】
図３２は、本実施形態に係る座標補正処理の具体例を説明するための図である。図３２の左図の上段に示すように、テーブル１０Ａ上に実物体１０Ｂが載置されている。テーブル１０Ａの天面１１Ａが第１の表示面であり、実物体１０Ｂの斜面１１Ｂが第２の表示面である。第２の表示面は、奥側に湾曲する曲面である。第１の表示面１１Ａに表示オブジェクト２０が表示されている。表示オブジェクト２０は画像である。表示オブジェクト２０として実際にプロジェクタから投影される画像を、図３２の左図の下段に示した。ユーザが、表示オブジェクト２０を第２の表示面１１Ｂの方向にフリックしたものとする。すると、図３２の右図の上段に示すように、表示オブジェクト２０は、第２の表示面１１Ｂの位置まで移動し、第２の表示面１１Ｂにおいて表示される。移動の際、表示制御部１３２は、第２の表示面１１Ｂの湾曲形状に応じた球面座標変換を行う。表示オブジェクト２０として実際にプロジェクタから投影される補正後の画像を、図３２の右図の下段に示した。このような座標補正処理により、第２の表示面１１Ｂにフリックされた画像は、歪みなく、第２の表示面１１Ｂにおいて表示される。
【０１５６】
図３３は、本実施形態に係る再レイアウト処理の具体例を説明するための図である。図３３の左図に示すように、テーブル１０Ａ上に実物体１０Ｂが載置されている。テーブル１０Ａの天面１１Ａが第１の表示面である。実物体１０Ｂの斜面１１Ｂが第２の表示面である。第１の表示面１１Ａに表示オブジェクト２０が表示されている。表示オブジェクト２０は、複数のアイコンをタイル状に並べた構造を有している。ユーザが、表示オブジェクト２０を第２の表示面１１Ｂの方向にフリックしたものとする。すると、図３３の右図に示すように、表示オブジェクト２０は、第２の表示面１１Ｂの位置まで移動し、第２の表示面１１Ｂにおいて表示される。移動の際、表示制御部１３２は、移動前の表示オブジェクト２０よりも縦方向に狭く横方向に長い、第２の表示面１１Ｂの細長い形状に応じて、表示オブジェクト２０に含まれるアイコンを一列に並べる再レイアウト処理を行う。このような再レイアウト処理により、表示オブジェクト２０を、第２の表示面１１Ｂにおいて視認可能に表示することができる。
【０１５７】
図３４は、本実施形態に係る再レイアウト処理の具体例を説明するための図である。図３４の左図に示すように、テーブル１０Ａ上に実物体１０Ｂ及び１０Ｃが載置されている。テーブル１０Ａの天面１１Ａが第１の表示面である。実物体１０Ｂ及び１０Ｃの斜面１１Ｂ及び１１Ｃが第２の表示面である。第１の表示面１１Ａに表示オブジェクト２０Ａが表示されており、第２の表示面１１Ｂに表示オブジェクト２０Ｂが表示されている。表示オブジェクト２０Ａはオンスクリーンキーボードであり、表示オブジェクト２０Ｂへのユーザ操作を受け付ける。表示オブジェクト２０Ｂは、Ｗｅｂブラウザアプリケーションである。表示オブジェクト２０Ａ及び２０Ｂは、ユーザ操作を受け付け可能である。なお、Ｗｅｂブラウジングのためのユーザ操作は、例えば指１本でタッチすることにより受け付けられる。表示オブジェクト２０Ｂにおいては、ＵＩ要素２０Ｂｂが左側に配置され、ＵＩ要素２０Ｂｂの右側上段にＵＩ要素２０Ｂａが配置され、ＵＩ要素２０Ｂｂの右側下段にＵＩ要素２０Ｂｃが配置されている。
【０１５８】
図３４の中央図に示すように、ユーザが表示オブジェクト２０Ｂを表示面１１Ｃにドラッグアンドドロップしたものとする。なお、表示オブジェクト２０Ｂの移動のためのユーザ操作は、例えば指２本でドラッグアンドドロップすることにより受け付けられる。すると、図３４の右図に示すように、表示オブジェクト２０Ｂは、表示面１１Ｃの位置まで移動し、表示面１１Ｃにおいて表示される。移動の際、表示制御部１３２は、移動前後での表示面の面積の縮小に応じて、表示オブジェクト２０Ｂに含まれるＵＩ要素２０Ｂａ〜２０Ｂｂの配置を変更する再レイアウト処理を行う。再レイアウト処理後の表示オブジェクト２０Ｂにおいては、ＵＩ要素２０Ｂａが上段に配置され、ＵＩ要素２０Ｂａの下段左側にＵＩ要素２０Ｂｂが配置され、ＵＩ要素２０Ｂａの下段右側にＵＩ要素２０Ｂｃが配置されている。このような再レイアウト処理により、移動前の表示面よりも狭い移動後の表示面においても、表示オブジェクト２０Ｂを視認可能に表示することができる。なお、表示オブジェクト２０Ｂが移動した後の表示面１１Ｂには、表示オブジェクト２０Ｂの背面に隠れていた表示オブジェクト２０Ｃが表示されている。
【０１５９】
図３５は、本実施形態に係る色補正処理の具体例を説明するための図である。図３５の左図の上段に示すように、テーブル１０Ａ上に実物体１０Ｂが載置されている。テーブル１０Ａの天面１１Ａが第１の表示面であり、実物体１０Ｂの斜面１１Ｂが第２の表示面である。第２の表示面１１Ｂは、ピンク色であるものとする。第１の表示面１１Ａに表示オブジェクト２０が表示されている。表示オブジェクト２０は画像である。表示オブジェクト２０として実際にプロジェクタから投影される画像を、図３５の左図の下段に示した。ユーザが、表示オブジェクト２０を第２の表示面１１Ｂの方向にフリックしたものとする。すると、図３５の右図の上段に示すように、表示オブジェクト２０は、第２の表示面１１Ｂの位置まで移動し、第２の表示面１１Ｂにおいて表示される。移動の際、表示制御部１３２は、第２の表示面１１Ｂの色に応じた色補正処理を行う。表示制御部１３２は、移動先の第２の表示面１１Ｂの色がピンク色であるので、カラーバランスを青く調整する色補正を表示オブジェクト２０に適用する。表示オブジェクト２０として実際にプロジェクタから投影される色補正後の画像を、図３５の右図の下段に示した。このような色補正処理により、第２の表示面１１Ｂにフリックされた画像は、第２の表示面の色が白色である場合と同様に、違和感なく第２の表示面１１Ｂにおいて表示される。
【０１６０】
（５）その他の表示制御処理
・移動不可を示すフィードバック
表示制御部１３２は、表示オブジェクトを移動させるのに適した表示面がない場合、移動不可を示すフィードバックを行う。移動不可を示すフィードバックは多様に考えられる。例えば、表示制御部１３２は、移動対象の表示オブジェクトを元の位置に戻してもよい。このような移動不可を示すフィードバックにより、表示オブジェクトを移動させるのに適した表示面がないことをユーザに通知することができる。
【０１６１】
図３６は、本実施形態に係る移動不可を示すフィードバックの具体例を説明するための図である。図３６の左図に示すように、テーブル１０Ａ上に実物体１０Ｂが載置されている。テーブル１０Ａの天面１１Ａが第１の表示面であり、実物体１０Ｂの斜面１１Ｂが第２の表示面である。ユーザが、第１の表示面１１Ａに表示されている表示オブジェクト２０を第２の表示面１１Ｂの方向にフリックしたものとする。第２の表示面１１Ｂが移動先として適する場合、図３６の右図の上段に示すように、第２の表示面１１Ｂに表示オブジェクト２０が移動し、第２の表示面１１Ｂにおいて表示オブジェクト２０が表示される。一方で、第２の表示面１１Ｂが移動先として適さない場合、図３６の右図の下段に示すように、表示オブジェクト２０は、第２の表示面１１Ｂに一旦移動しつつも、第１の表示面１１Ａに戻ってくる。このようなフィードバックにより、ユーザは、第２の表示面１１Ｂが表示オブジェクト２０の移動先として適さないことを認識することができる。
【０１６２】
・表示面の状態変化に応じた表示制御
表示制御部１３２は、表示オブジェクトが表示されている表示面の状態変化に応じて表示オブジェクトの表示を制御する。例えば、表示制御部１３２は、表示面の勾配又は形状が変化した場合に座標補正処理を行ってもよい。また、表示制御部１３２は、表示面の面積が拡縮した場合に再レイアウト処理を行ってもよい。また、表示制御部１３２は、表示面の色又は明度が変化した場合に色補正処理を行ってもよい。表示面の状態変化に応じた表示制御により、表示面の状態が変化しても、表示オブジェクトの適切な表示を継続することができる。
【０１６３】
図３７は、本実施形態に係る表示面の状態変化に応じた表示制御の具体例を説明するための図である。図３７の左図に示すように、テーブル１０Ａ上に実物体１０Ｂが載置されている。テーブル１０Ａの天面１１Ａが第１の表示面であり、実物体１０Ｂの斜面１１Ｂが第２の表示面である。第２の表示面１１Ｂには表示オブジェクト２０が表示されている。このような状況下で、実物体１０Ｂの横に実物体１０Ｃが追加されたものとする。すると、図３７の右図に示すように、実物体１０Ｂの斜面１１Ｂ及び実物体１０Ｃの斜面１１Ｃがひとつの第２の表示面１１Ｄとして検出される。そこで、表示制御部１３２は、表示オブジェクト２０の大きさが第２の表示面１１Ｄにフィットするように再レイアウト処理を行う。このようにして、表示オブジェクト２０が表示される表示面の面積が変化しても、継続して表示面にフィットするサイズの表示オブジェクト２０が表示される。
【０１６４】
・キャンセル操作に応じた表示制御
表示制御部１３２は、所定のユーザ操作（即ち、キャンセル操作）が行われた場合、直前のユーザ操作に基づく表示制御をキャンセルする。例えば、表示制御部１３２は、表示オブジェクトを移動させるユーザ操作に応じて表示オブジェクトを移動させた後にキャンセル操作が行われた場合、移動前の位置に表示オブジェクトを表示する。キャンセル操作は多様に考えられる。例えば、キャンセル操作は、ダブルタップ、首を横に振る、又はキャンセルと発声すること等であってもよい。キャンセル操作に応じた表示制御が行われることで、ユーザは容易に操作をキャンセルすることができるので、ユーザの利便性が向上する。
【０１６５】
図３８は、本実施形態に係るキャンセル操作に応じた表示制御の具体例を説明するための図である。図３８の左上図に示すように、テーブル１０Ａ上に実物体１０Ｂ及び１０Ｃが載置されている。テーブル１０Ａの天面１１Ａが第１の表示面であり、実物体１０Ｂ及び１０Ｃの斜面１１Ｂ及び１１Ｃが第２の表示面である。ユーザが、第１の表示面１１Ａに表示されている表示オブジェクト２０を第２の表示面１１Ｂの方向にフリックしたものとする。すると、図３８の右上図に示すように、表示オブジェクト２０は第２の表示面１１Ｂの位置まで移動し、第２の表示面１１Ｂにおいて表示される。ユーザが意図していた移動先が第２の表示面１１Ｂではなく第２の表示面１１Ｃである場合、ユーザは、キャンセル操作として第１の表示面１１Ａをダブルタップする。すると、図３８の左下図に示すように、表示オブジェクト２０の第２の表示面１１Ｂへの移動がキャンセルされて、表示オブジェクト２０が元の位置に戻る。その後、図３８の右下図に示すように、ユーザは、改めて表示オブジェクト２０を第２の表示面１１Ｃの方向にフリックする。すると、表示オブジェクト２０は第２の表示面１１Ｃの位置まで移動し、第２の表示面１１Ｃにおいて表示される。
【０１６６】
（６）まとめ
本実施形態に係る情報処理システム１００は、実物体の三次元情報に基づいて、表示オブジェクトをマッピングして表示する実物体の表面を選択する。選択候補は、第１の表示面だけでなく、典型的には第１の表示面上に載置された実物体の表面である第２の表示面を含む。そのため、情報処理システム１００は、実空間内に存在する実物体の面を有効に活用することができる。
【０１６７】
情報処理システム１００は、実空間内の面を表示面として利用可能か否かを自動的に判定する。そのため、ユーザは、専用のスクリーンを準備したり、部屋を片付けたり、第１の表示面上を片付けたりしなくても、そのとき利用可能な表示面に表示オブジェクトを表示させることができる。
【０１６８】
情報処理システム１００は、表示面の性質に基づいて、表示オブジェクトをどの表示面に表示すべきか、及び表示オブジェクトの内容を最適化することができる。例えば、情報処理システム１００は、表示面がユーザ操作を受け付け可能か否かを自動的に判別し、ユーザ操作を受け付け不可能な表示面にはユーザ操作を要さない表示オブジェクトを選択的に表示することができる。一方で、情報処理システム１００は、ユーザ操作を受け付け不可能な表示面にユーザ操作を要する表示オブジェクトを表示しつつ、操作用の表示オブジェクトを別途表示することも可能である。このように、情報処理システム１００は、柔軟な表示制御が可能である。
【０１６９】
情報処理システム１００は、ユーザ操作に基づいて表示オブジェクトを移動させる。情報処理システム１００は、移動先を指定するユーザ操作であっても、移動方向を指定するユーザ操作であっても、表示オブジェクトの性質及び表示面の性質に基づいて、最適な表示面に表示オブジェクトを移動させることができる。また、情報処理システム１００は、第１の表面と第２の表面との間で表示オブジェクトをシームレスに行き来させることができる。
【０１７０】
＜＜４．第２の実施形態＞＞
第２の実施形態は、ユーザが手に持つ実物体のユーザ側の表面を表示面として活用し、表示面の裏側方向にある他の実物体に対応する表示オブジェクトを表示する形態である。まず、図３９を参照しながら、本実施形態に係る情報処理システム１００の概要を説明する。
【０１７１】
（１）概要
図３９は、本実施形態に係る情報処理システム１００の概要を説明するための図である。図３９に示すように、テーブル１０Ａ上に実物体１０Ｂが載置されている。また、ユーザが手で実物体１５（第１の実物体に相当）を持っている。情報処理システム１００は、この実物体１５の表面のうちユーザ側の表面を表示面１１として用いる。情報処理システム１００は、この表示面１１に表示オブジェクトを表示する。以下では、表示面１１を有する実物体１５を、スクリーンとも称する。スクリーン１５は、紙、木、又は樹脂等の任意の素材により構成される板状の物体である。図３９に示すように、スクリーン１５の表面にマーカー１６が付される場合がある。マーカー１６は、表示面１１の位置及び姿勢を検出するために用いられる。図３９に示した例では、マーカー１６により囲まれる領域が表示面１１となる。
【０１７２】
図３９を参照すると、実空間の座標系であるグローバル座標系ＣＳ１とスクリーン１５の座標系であるローカル座標系ＣＳ２とが示されている。グローバル座標系ＣＳ１は、水平面の２次元座標軸であるＸ軸及びＹ軸、並びにＸＹ平面に直交する軸であるＺ軸により構成される。ローカル座標系ＣＳ２は、表示面１１の２次元座標軸であるＸ軸及びＹ軸、並びにＸＹ平面に直交する軸であるＺ軸により構成される。グローバル座標系ＣＳ１に関しては、情報処理システム１００に予め設定され得る。ローカル座標系ＣＳ２に関しては、情報処理システム１００は、スクリーン１５、又はスクリーン１５に付されたマーカー１６の撮像画像及び深度情報に基づいて取得する。そして、情報処理システム１００は、グローバル座標系ＣＳ１とローカル座標系ＣＳ２と基づいて、ローカル座標系ＣＳ２を基準とするグローバル座標系ＣＳ１の相対的な位置及び姿勢を認識する。なお、以降の図に付す座標軸は、ローカル座標系ＣＳ２に基づくものとする。
【０１７３】
情報処理システム１００は、スクリーン１５の表示面１１に、実空間における任意の実物体に対応する表示オブジェクトを表示する。かかる実物体を対象物体（第２の実物体とも称する）とも称する。例えば、情報処理システム１００は、表示面１１の奥行き方向（ローカル座標系ＣＳ２のＺ軸マイナス方向）側にある実物体１０Ｂに対応する表示オブジェクトを、表示面１１に表示する。
【０１７４】
かかる表示は、スマートフォン等の撮像装置及び表示装置を有する端末装置により、実空間の撮像画像をリアルタイムに表示しつつ、撮像画像にＡＲオブジェクトを重畳して表示する、ＡＲ表示と同様である。本実施形態では、撮像装置及び表示装置を有さないスクリーン１５により、撮像装置及び表示装置を有する端末装置で提供されるＡＲ表示と同等の表示を提供することができる。
【０１７５】
（２）全体的な処理の流れ
図４０は、本実施形態に係る情報処理システム１００により実行される表示制御処理の流れの一例を示すフローチャートである。図４０に示すように、まず、取得部１２０は、空間情報及びユーザ情報を取得する（ステップＳ８０２）。次いで、表示面管理部１３１は、表示面検出処理を行う（ステップＳ８０４）。次に、表示面管理部１３１は、イベント解釈処理を行う（ステップＳ８０６）。そして、表示制御部１３２は、表示オブジェクトの表示制御処理を行う（ステップＳ８０８）。
【０１７６】
表示面検出処理、操作性判定処理、及び表示オブジェクトの表示制御処理について、以下に詳しく説明する。
【０１７７】
（３）表示面検出処理
本実施形態に係る表示面検出処理は、第１の実施形態に係る表示面検出処理と同様の処理を含む。とりわけ、本実施形態では、表示面管理部１３１は、スクリーンの位置及び姿勢を検出して、スクリーンのうちユーザ側の表面を表示面として検出する。
【０１７８】
例えば、表示面管理部１３１は、撮像画像及び深度情報に基づきユーザ動作を認識し、ユーザが手に持つ実物体をスクリーンとして認識し、スクリーン及びユーザの姿勢に基づいてスクリーンのユーザ側の面を表示面として検出する。他にも、表示面管理部１３１は、所定のマーカーが付された実物体をスクリーンとして認識し、マーカーが付された面を表示面として検出してもよい。マーカーは、例えば、バーコード、二次元コード又は所定の模様等の任意の形態であり、撮像画像を画像認識することで検出される。表示面管理部１３１は、マーカーの位置及び姿勢に基づいて表示面の位置及び姿勢を検出する。
【０１７９】
マーカーは、基準マーカーと関連マーカーとに分類される。基準マーカーとは、検出結果が単体で表示制御処理に用いられるマーカーである。基準マーカーは、第１のマーカーとも称される場合がある。関連マーカーとは、検出結果が基準マーカーの検出結果と組み合わされて表示制御処理に用いられるマーカーである。関連マーカーは、第２のマーカーとも称される場合がある。スクリーンには、少なくとも基準マーカーが付され、追加的に１以上の関連マーカーが付される場合がある。
【０１８０】
表示面の位置及び姿勢は、マーカーの位置及び姿勢として、マーカー情報蓄積テーブルに記憶され得る。マーカー情報蓄積テーブルの項目の一例を下記の表６に示す。
【０１８１】
【表６】
2019069575.tif 000008
【０１８２】
上記表６に示したマーカーＩＤは、マーカーの識別情報であり、位置及び姿勢はマーカーの位置及び姿勢である。
【０１８３】
以下、図４１を参照しながら、上記表６に示したマーカー情報蓄積テーブルを用いた表示面検出処理の流れの一例を説明する。
【０１８４】
図４１は、本実施形態に係る情報処理システム１００により実行される表示面検出処理の流れの一例を示すフローチャートである。図４１に示すように、まず、表示面管理部１３１は、マーカー情報蓄積テーブルをクリアする（ステップＳ９０２）。次いで、表示面管理部１３１は、表示可能な空間内にマーカーが検出されたか否かを判定する（ステップＳ９０４）。マーカーが検出されていないと判定された場合（ステップＳ９０４／ＮＯ）、処理は終了する。マーカーが検出されたと判定された場合（ステップＳ９０４／ＹＥＳ）、表示面管理部１３１は、検出された全てのマーカーについて処理したかを判定する（ステップＳ９０６）。そして、表示面管理部１３１は、処理されていないマーカーがある場合には（ステップＳ９０６／ＮＯ）、対象のマーカーを切り替えながら以下の処理を行う。表示面管理部１３１は、マーカーの位置及び姿勢を取得する（ステップＳ９０８）。次いで、表示面管理部１３１は、マーカーのＩＤ、位置、及び姿勢をマーカー情報蓄積テーブルに登録する（ステップＳ９１０）。表示面管理部１３１は、以上のステップＳ９０８〜Ｓ９１０に係る処理を全マーカー分繰り返す。全マーカーが処理された場合（ステップＳ９０６／ＹＥＳ）、処理は終了する。
【０１８５】
（４）イベント解釈処理
イベント解釈処理は、予め定義されたイベントを発火すべきか否かを判定する処理である。表示制御部１３２は、予め定義されたイベントの発火条件が満たされるか否かを判定する。イベントの発火条件は、スクリーンの位置及び姿勢等の状態に基づいて定義される。スクリーンにマーカーが付される場合には、イベントの発火条件は、マーカーの位置及び姿勢に基づいて定義される。以下では、マーカーの位置及び姿勢に基づいてイベントの発火条件が定義されるものとして説明する。イベント定義は、イベント定義蓄積テーブルに記憶される。イベント定義蓄積テーブルの項目の一例を下記の表７に示す。
【０１８６】
【表７】
2019069575.tif 000009
【０１８７】
イベント定義蓄積テーブルの一行がひとつのイベント定義に相当する。イベント定義は、基準マーカーに関する発火条件、関連マーカーに関する発火条件、発火条件が満たされた場合に発火するイベントに関する情報を含む。イベント定義は、関連マーカーに関する発火条件を含んでいなくてもよい。基準マーカーに関する発火条件は、基準マーカーのＩＤと、位置条件と姿勢条件とから成る。即ち、所定のＩＤを有する基準マーカーが、所定の位置で所定の姿勢にある場合に、発火条件が満たされる。関連マーカーに関しても同様である。イベントに関する情報は、発火条件が満たされた場合に実行すべきアクションと、アクションを実行中であるか否かを示す発火フラグを含む。
【０１８８】
以下、図４２を参照しながら、上記表７に示したイベント定義蓄積テーブルを用いたイベント定義解釈処理の流れの一例を説明する。
【０１８９】
図４２は、本実施形態に係る情報処理システム１００により実行されるイベント解釈処理の流れの一例を示すフローチャートである。図４２に示すように、まず、表示制御部１３２は、イベント定義蓄積テーブルからイベント定義を取得する（ステップＳ１００２）。次いで、表示制御部１３２は、全てのイベント定義について処理したかを判定し（ステップＳ１００４）、処理していないイベント定義がある場合には（ステップＳ１００４／ＮＯ）、対象のイベント定義を切り替えながら以下の処理を行う。
【０１９０】
表示制御部１３２は、イベント定義と合致する基準マーカーＩＤがマーカー情報蓄積テーブルに存在するか否かを判定する（ステップＳ１００６）。イベント定義と合致する基準マーカーＩＤがマーカー情報蓄積テーブルに存在しないと判定された場合（ステップＳ１００６／ＮＯ）、処理は後述するステップＳ１０１６に進む。一方で、イベント定義と合致する基準マーカーＩＤがマーカー情報蓄積テーブルに存在すると判定された場合（ステップＳ１００６／ＹＥＳ）、表示制御部１３２は、基準マーカーの位置条件と姿勢条件が満たされるか否かを判定する（ステップＳ１００８）。基準マーカーの位置条件と姿勢条件が満たされないと判定された場合（ステップＳ１００８／ＮＯ）、処理は後述するステップＳ１０１６に進む。一方で、基準マーカーの位置条件と姿勢条件が満たされると判定された場合（ステップＳ１００８／ＹＥＳ）、表示制御部１３２は、関連マーカーに関する条件が存在するか否かを判定する（ステップＳ１０１０）。関連マーカーに関する条件が存在しないと判定された場合（ステップＳ１０１０／ＮＯ）、表示制御部１３２は、イベント定義に係るアクションを発火して、発火フラグをｔｒｕｅに設定する（ステップＳ１０１２）。関連マーカーに関する条件が存在すると判定された場合（ステップＳ１０１０／ＹＥＳ）、表示制御部１３２は、関連マーカーの位置条件と姿勢条件が満たされるか否かを判定する（ステップＳ１０１４）。関連マーカーの位置条件と姿勢条件が満たされると判定された場合（ステップＳ１０１４／ＹＥＳ）、処理は上述したステップＳ１０１２に進む。一方で、関連マーカーの位置条件と姿勢条件が満たされないと判定された場合（ステップＳ１０１４／ＮＯ）、表示制御部１３２は、発火フラグがｔｒｕｅであるか否かを判定する（ステップＳ１０１６）。発火フラグがｔｒｕｅであると判定された場合（ステップＳ１０１６／ＹＥＳ）、表示制御部１３２は、発火中のアクションを停止して、発火フラグをfalseに設定する（ステップＳ１０１８）。発火フラグがｆａｌｓｅであると判定された場合（ステップＳ１０１６／ＮＯ）、表示制御部１３２は、対象のイベント定義に関する処理を終了する。
【０１９１】
表示制御部１３２は、以上のステップＳ１００６〜Ｓ１０１８に係る処理を全てのイベント定義分繰り返す。全てのイベント定義が処理された場合（ステップＳ１００４／ＹＥＳ）、処理は終了する。
【０１９２】
（５）表示制御処理
表示制御部１３２は、スクリーンと対象物体との相対関係（即ち、相対位置及び／又は相対姿勢）に応じて、対象物体に対応する表示オブジェクトを、スクリーンの表面にマッピングして表示する。具体的には、表示制御部１３２は、スクリーンの表面のうち、ユーザ側の表面である表示面に、当該表示面のユーザと反対方向（即ち、奥行き方向）に位置する対象物体に対応する表示オブジェクトを表示する。なお、スクリーンを、表示面の奥行き方向に対象物体が位置するような位置及び姿勢にすることを、表示面に対象物体を捉える、とも称する。ユーザが表示面に対象物体を捉える位置及び姿勢になるようスクリーンを持つことで、スクリーンの表示面に対象物体に対応する表示面が表示される。なお、対象物体は、実物体に限定されず、他の表示オブジェクトであってもよい。
【０１９３】
表示制御部１３２は、イベント解釈処理により発火されたイベントに係る表示を行う。即ち、表示制御部１３２は、発火条件を満たすイベント定義に基づく表示オブジェクトを、表示面に表示する。
【０１９４】
以下、具体例を参照しながら、本実施形態に係る表示制御処理について詳細に説明する。
【０１９５】
・マーカーを用いた商品表示
表示制御部１３２は、スクリーンに付されたマーカーの種類に応じて、表示オブジェクトの表示を制御する。これにより、ユーザは、異なるマーカーが付されたスクリーンを使い分けることで、所望の表示オブジェクトを閲覧することができる。また、表示制御部１３２は、スクリーンと対象物体との間の距離に応じて表示物体の表示を制御する。これにより、ユーザは、スクリーンを対象物体に近づけたり遠ざけたりすることで、所望の表示オブジェクトを閲覧することができる。これら点について、図４３及び図４４に示す具体例を参照しながら説明する。本具体例では、下記の表８に示すイベント定義が定義されているものとする。
【０１９６】
【表８】
2019069575.tif 000010
【０１９７】
図４３は、本実施形態に係るマーカーを用いた商品表示の具体例を説明するための図である。図４３に示すように、テーブル１０Ａ上に対象物体として時計１０Ｂが載置されている。ユーザが手に持つスクリーン１５Ａには枠状のマーカー１６Ａが付されている。マーカー１６ＡはＩＤが１の基準マーカーに相当する。マーカー１６Ａの枠内の表示面１１Ａが時計１０Ｂを捉えている。そのため、表示制御部１３２は、防水性能をアピールする動画として、水を掛けられても時計１０Ｂが動いている様子を示す表示オブジェクト２０Ａを表示面１１Ａに表示する。また、ユーザが手に持つスクリーン１５Ｂにはマーカー１６Ｂが付されている。マーカー１６ＢはＩＤが２の基準マーカーに相当する。マーカー１６Ｂの枠内の表示面１１Ｂが時計１０Ｂを捉えている。そのため、表示制御部１３２は、時計１０Ｂの三次元モデルを示す表示オブジェクト２０Ｂを表示面１１Ｂに表示する。表示面１１Ｂに表示される表示オブジェクト２０Ｂについて、図４４を参照して説明する。
【０１９８】
図４４は、本実施形態に係るマーカーを用いた商品表示の具体例を説明するための図である。図４４に示すように、スクリーン１５Ｂと時計１０Ｂとの距離が長い場合（例えば、６０ｃｍ以上である場合）、透過なし三次元モデルを示す表示オブジェクト２０Ｂａが表示される。スクリーン１５Ｂと時計１０Ｂとの距離が近づくと（例えば、距離が３０ｃｍ以上６０ｃｍ未満である場合）、時計１０Ｂの内部構造を透過して示す表示オブジェクト２０Ｂｂが表示される。スクリーン１５Ｂと時計１０Ｂとの距離がさらに近づくと（例えば、距離が３０ｃｍ未満である場合）、時計１０Ｂのさらなる内部構造を透過して示す表示オブジェクト２０Ｂｃが表示される。
【０１９９】
・地図に基づく三次元モデルの表示
表示制御部１３２は、スクリーンの姿勢に応じて表示オブジェクトの表示を制御する。例えば、表示制御部１３２は、表示オブジェクトとして対象物体の三次元モデルを表示する。その場合、表示制御部１３２は、表示面の垂線を軸とする回転度合いに応じて三次元モデルを拡縮する。また、表示制御部１３２は、対象物体と表示面との相対姿勢に応じて、三次元モデルの姿勢を変更する。これにより、ユーザは、スクリーンを回転させたり傾けたりすることで、三次元モデルを拡縮したり傾けたりすることができる。これら点について、図４５〜図４７に示す具体例を参照しながら説明する。本具体例では、下記の表９に示すイベント定義が定義されているものとする。
【０２００】
【表９】
2019069575.tif 000011
【０２０１】
図４５は、本実施形態に係る地図に基づく三次元モデルの表示の具体例を説明するための図である。図４５に示すように、テーブル１０上に対象物体として地図１０Ｂが載置されている。ユーザが手に持つスクリーン１５Ａにはマーカー１６Ａが付されている。マーカー１６はＩＤが１の基準マーカーに相当する。マーカー１６の枠内の表示面１１が地図１０Ｂを捉えている。そのため、図４３に示すように、表示制御部１３２は、地図１０Ｂの三次元モデルを示す表示オブジェクト２０を表示面１１に表示する。地図１０Ｂのうちどの範囲を三次元モデルとして表示するかは、
【０２０２】
表示制御部１３２は、図４６に示すように、ｚ軸を軸とする回転（ヨー方向の回転に相当）に応じて、表示オブジェクト２０として表示される三次元モデルのズーム率を変更する。また、表示制御部１３２は、図４７に示すように、ｘ軸を軸とする回転（ピッチ方向の回転に相当）又はｙ軸を軸とする回転（ロール方向の回転に相当）に応じて、表示オブジェクト２０として表示される三次元モデルの姿勢を変更する。
【０２０３】
図４６は、本実施形態に係る地図に基づく三次元モデルの表示の具体例を説明するための図である。図４６の中央図に示すように、スクリーン１５がｚ軸を軸として回転していない状態（即ち、表示面１１がｚ軸を軸として回転していない状態）では、表示制御部１３２は、表示オブジェクト２０Ａとして、デフォルトのズーム率で三次元モデルを表示する。図４６の左図に示すように、ユーザがｚ軸を軸としてスクリーン１５を反時計回りに回転させると、表示制御部１３２は、表示オブジェクト２０Ｂとして、ズームアウトした三次元モデルを表示する。図４６の右図に示すように、ユーザがｚ軸を軸としてスクリーン１５を時計回りに回転させると、表示制御部１３２は、表示オブジェクト２０Ｂとして、ズームインした三次元モデルを表示する。なお、ズームアウト／ズームインの倍率は、各々の回転度合いに基づく。
【０２０４】
図４７は、本実施形態に係る地図に基づく三次元モデルの表示の具体例を説明するための図である。図４７の左図に示すように、表示制御部１３２は、地図１０Ｂの三次元モデルを示す表示オブジェクト２０Ａを表示面１１に表示する。図４７の中央図上段に示すように、ユーザがｘ軸を軸としてスクリーン１５を奥側に回転させると、表示制御部１３２は、表示オブジェクト２０Ｂとして、表示オブジェクト２０Ａと比較してより高い視点から見た三次元モデルを表示する。図４７の右図上段に示すように、ユーザがｘ軸を軸としてスクリーン１５をさらに奥側に回転させると、表示制御部１３２は、表示オブジェクト２０Ｃとして、表示オブジェクト２０Ｂと比較してより高い視点から見た三次元モデルを表示する。図４７の中央図下段に示すように、ユーザがｙ軸を軸としてスクリーン１５を右方向に回転させると、表示制御部１３２は、表示オブジェクト２０Ｄとして、表示オブジェクト２０Ａと比較してより右側の視点から見た三次元モデルを表示する。図４７の右図下段に示すように、ユーザがｙ軸を軸としてスクリーン１５をさらに右方向に回転させると、表示制御部１３２は、表示オブジェクト２０Ｅとして、表示オブジェクト２０Ｄと比較してより右側の視点から見た三次元モデルを表示する。
【０２０５】
・スクリーンの曲げ変形に応じた表示制御
スクリーンが曲げ変形可能な場合がある。その場合、表示制御部１３２は、スクリーンの曲げ変形の度合いに応じて、表示オブジェクトの表示を制御する。これにより、ユーザは、スクリーンを曲げることで、所望の表示オブジェクトを閲覧することができる。スクリーンには複数のマーカーが付され得る。その場合、表示制御部１３２は、スクリーンの曲げ変形によって変化した第１のマーカーと第２のマーカーとの相対姿勢に応じて、表示オブジェクトの表示を制御する。マーカーの相対姿勢を曲げ変形の検出に用いることで、曲げ変形の度合いの検出精度を向上させることが可能である。これら点について、図４８及び図４９に示す具体例を参照しながら説明する。本具体例では、下記の表１０に示すイベント定義が定義されているものとする。
【０２０６】
【表１０】
2019069575.tif 000012
【０２０７】
図４８は、本実施形態に係るスクリーンの曲げ変形に応じた表示制御の具体例を説明するための図である。図４８に示すように、対象物体である動物の図鑑１０にスクリーン１５が向けられている。表示面１１が図鑑１０内の猫の写真１０ａを捉えているので、表示制御部１３２は、猫の写真１０ａに対応する猫の画像を含む表示オブジェクト２０を表示面１１に表示する。スクリーン１５の左右両側に、マーカー１６Ａ及びマーカー１６Ｂが付されている。マーカー１６Ａが基準マーカーであり、マーカー１６Ｂが関連マーカーである。表示制御部１３２は、図４９に示すように、スクリーン１５の曲げ変形に基づいて、即ちマーカー１６Ａとマーカー１６Ｂとの相対姿勢に応じて、表示オブジェクト２０を拡縮する。
【０２０８】
図４９は、本実施形態に係るスクリーンの曲げ変形に応じた表示制御の具体例を説明するための図である。図４９の下段は、スクリーン１５の曲げ変形の様子及び表示オブジェクト２０の様子を示しており、図４９の上段はマーカー１６Ａ及び１６Ｂの奥行き方向（Ｚ軸負方向）の様子を示している。上段と下段とで座標軸が異なることに注意されたい。
【０２０９】
図４９の中央図に示すように、スクリーン１５が曲げ変形していない場合、表示制御部１３２は、表示オブジェクト２０Ａとして、デフォルトのズーム率で猫の画像を表示する。図４９の左図に示すように、スクリーン１５が中央を奥側（即ち、ユーザと反対側）とし左右両端を手前側（即ち、ユーザ側）として曲げ変形している場合、表示制御部１３２は、表示オブジェクト２０Ｂとして、猫の画像をズームインして表示する。図４９の右図に示すように、スクリーン１５が中央を手前（即ち、ユーザ側）とし左右両端を奥側（即ち、ユーザと反対側）として曲げ変形している場合、表示制御部１３２は、表示オブジェクト２０Ｃとして、猫の画像をズームアウトして表示する。
【０２１０】
ここで、曲げ変形しているか否か、また曲げ変形の度合いについては、マーカー１６Ａとマーカー１６Ｂの相対姿勢に基づいて検出され得る。相対姿勢は、例えば、マーカー１６Ａ及び１６Ｂの各々の奥行き方向と基準方向との角度差を比較することにより得られる。
【０２１１】
例えば、図４９の中央図に示した例については、マーカー１６Ａの奥行き方向１８Ａはデフォルトの奥行き方向１８ｄｅｆａｕｌｔと一致しており、マーカー１６Ｂの奥行き方向１８Ｂはデフォルトの奥行き方向１８ｄｅｆａｕｌｔと一致している。即ち、マーカー１６Ｂの角度がマーカー１６Ａの角度と一致する。このため、表示制御部１３２は、スクリーン１５は曲げ変形していないと判定し、猫の画像を等倍で表示する。
【０２１２】
例えば、図４９の左図に示した例では、マーカー１６Ａの奥行き方向１８Ａはデフォルトの奥行き方向１８ｄｅｆａｕｌｔからプラス方向（ｘｚ平面で反時計回り）に動いている。一方で、マーカー１６Ｂの奥行き方向１８Ｂはデフォルトの奥行き方向１８ｄｅｆａｕｌｔからマイナス方向（ｘｚ平面で時計回り）に動いている。即ち、マーカー１６Ｂの角度はマーカー１６Ａの角度より小さい。このため、表示制御部１３２は、スクリーン１５が中央を奥側とし左右両端を手前側として曲げ変形していると判定し、猫の画像をズームインして表示する。
【０２１３】
例えば、図４９の右図に示した例では、マーカー１６Ａの奥行き方向１８Ａはデフォルトの奥行き方向１８ｄｅｆａｕｌｔからマイナス方向（ｘｚ平面で時計回り）に動いている。一方で、マーカー１６Ｂの奥行き方向１８Ｂはデフォルトの奥行き方向１８ｄｅｆａｕｌｔからプラス方向（ｘｚ平面で反時計回り）に動いている。即ち、マーカー１６Ｂの角度はマーカー１６Ａの角度より大きい。このため、表示制御部１３２は、スクリーン１５が中央を手前側とし左右両端を奥側として曲げ変形していると判定し、猫の画像をズームアウトして表示する。
【０２１４】
・マーカーの種類に応じたウォークスルー画像表示
表示制御部１３２は、スクリーンに付されたマーカーの種類に応じて、表示オブジェクトの表示を制御する。これにより、ユーザは、異なるマーカーが付されたスクリーンを使い分けることで、所望の表示オブジェクトを閲覧することができる。この点について、図５０に示す具体例を参照しながら説明する。本具体例では、下記の表１１に示すイベント定義が定義されているものとする。
【０２１５】
【表１１】
2019069575.tif 000013
【０２１６】
図５０は、本実施形態に係るマーカーの種類に応じたウォークスルー画像表示の具体例を説明するための図である。図５０に示すように、テーブル１０Ａ上に対象物体として部屋の模型１０Ｂが載置されている。ユーザが手に持つスクリーン１５Ａには、畳素材を示すマーカー１６Ａが付されている。マーカー１６ＡはＩＤが１の基準マーカーに相当する。マーカー１６Ａの枠内の表示面１１Ａが部屋の模型１０Ｂを捉えている。そのため、表示制御部１３２は、部屋の三次元モデルを、床に畳素材を用いてレンダリングしつつ、部屋の模型１０Ｂとスクリーン１５Ａとの相対位置及び相対姿勢に基づいて部屋のウォークスルー画像を生成し、表示オブジェクト２０Ａとして表示する。また、ユーザが手に持つスクリーン１５Ｂには、フローリング素材を示すマーカー１６Ｂが付されている。マーカー１６ＢはＩＤが２の基準マーカーに相当する。マーカー１６Ｂの枠内の表示面１１Ｂが部屋の模型１０Ｂを捉えている。そのため、表示制御部１３２は、部屋の三次元モデルを、床にフローリング素材を用いてレンダリングしつつ、部屋の模型１０Ｂとスクリーン１５Ｂとの相対位置及び相対姿勢に基づいて部屋のウォークスルー画像を生成し、表示オブジェクト２０Ｂとして表示する。なお、表示制御部１３２は、ウォークスルー画像として、スクリーン１５Ａ又は１５Ｂと模型１０Ｂとの相対位置に応じた視点位置、及び相対姿勢に応じた視線方向から部屋の三次元モデルの内部を見た場合の画像を生成する。
【０２１７】
図５０に示したスクリーン１５Ａ及び１５Ｂは、例えば部屋の内装カタログである。ユーザは、素材ごとのスクリーンを切り替えながら部屋の模型１０Ｂにかざすことで、素材ごとの部屋の雰囲気の違いを容易に知ることができる。さらに、三次元モデルのウォークスルー画像が表示されるので、素材ごとの雰囲気の違いを容易に体感することができる。これにより、ユーザは、カタログから好みの素材を容易に探すことができる。
【０２１８】
・マーカーの種類に応じた動画表示
表示制御部１３２は、スクリーンに付されたマーカーの種類に応じて、表示オブジェクトの表示を制御する。これにより、ユーザは、異なるマーカーが付されたスクリーンを使い分けることで、所望の表示オブジェクトを閲覧することができる。さらに、表示制御部１３２は、対象物体の表面に表示された他の表示オブジェクトに対応する表示オブジェクトを、スクリーンの表示面にマッピングして表示する。これにより、ユーザは、実物体にスクリーンをかざすだけでなく、表示オブジェクトにスクリーンをかざすことで、所望の表示オブジェクトをスクリーンに表示させることができる。これらの点について、図５１に示す具体例を参照しながら説明する。本具体例では、下記の表１２に示すイベント定義が定義されているものとする。
【０２１９】
【表１２】
2019069575.tif 000014
【０２２０】
図５１は、本実施形態に係るマーカーの種類に応じた動画表示の具体例を説明するための図である。図５１に示すように、テーブル１０Ａ上に対象物体としてカレンダーの表示オブジェクト２０Ｃが表示されている。ユーザが手に持つスクリーン１５Ａには、ＴＶ（Television  set）製品を示すマーカー１６Ａが付されている。マーカー１６ＡはＩＤが１の基準マーカーに相当する。マーカー１６Ａ付近の表示面１１Ａに、テーブル１０Ａに表示されたカレンダーの表示オブジェクト２０Ｃのうち、週末が捉えられているものとする。その場合、表示制御部１３２は、週末の家族団欒の際にＴＶを見ているユースケースの動画を含む表示オブジェクト２０Ａを表示する。また、ユーザが手に持つスクリーン１５Ｂには、カメラ製品を示すマーカー１６Ｂが付されている。マーカー１６ＢはＩＤが２の基準マーカーに相当する。マーカー１６Ｂ付近の表示面１１Ｂに、テーブル１０Ａに表示されたカレンダーの表示オブジェクト２０Ｃのうち、クリスマスの日が捉えられているものとする。その場合、表示制御部１３２は、カメラをクリスマスパーティーに利用しているユースケースの動画を含む表示オブジェクト２０Ｂを表示する。
【０２２１】
図５１に示したスクリーン１５Ａ及び１５Ｂは、例えば電化製品のカタログである。ユーザは、製品ごとにスクリーンを切り替えながらカレンダーにかざすことで、製品ごとのユースケースを容易に知ることができる。これにより、ユーザは、カタログの製品を、１年を通してどのように活用できるかを容易に想像することができる。
【０２２２】
・マーカーの相対位置に応じた翻訳
表示制御部１３２は、スクリーンに付された第１のマーカーと第２のマーカーとの相対関係（相対位置及び／又は相対姿勢）に応じて、表示オブジェクトの表示を制御する。とりわけ、表示制御部１３２は、第１のマーカーと第２のマーカーとが同一平面上にあるか否かに応じて、表示オブジェクトの表示を制御する。スクリーンが紙等により構成される場合、簡単に折り曲げ可能である。ユーザは、スクリーンを折り曲げることで、簡単に所望の表示オブジェクトを表示させることができる。これらの点について、図５２及び図５３に示す具体例を参照しながら説明する。本具体例では、下記の表１３に示すイベント定義が定義されているものとする。
【０２２３】
【表１３】
2019069575.tif 000015
【０２２４】
図５２は、本実施形態に係るマーカーの相対位置に応じた翻訳の具体例を説明するための図である。図５２に示すように、スクリーン１５には枠状のマーカー１６ａが付されており、マーカー１６ａの囲まれる領域が表示面１１である。スクリーン１５の上部には、日本語化に関するマーカー１６ｂ、子供向け翻訳に関するマーカー１６ｃ、及び文字サイズに関するマーカー１６ｄが付されている。マーカー１６ａはＩＤが１の基準マーカーに相当する。マーカー１６ｂはＩＤが２の関連マーカーに相当する。マーカー１６ｃはＩＤが３の関連マーカーに相当する。マーカー１６ｄはＩＤが４の関連マーカーに相当する。スクリーン１５は紙で構成されており、マーカー１６ｂ〜１６ｄの各々は折り曲げ可能である。
【０２２５】
図５３は、本実施形態に係るマーカーの相対位置に応じた翻訳の具体例を説明するための図である。図５３に示すように、テーブル１０Ａ上に対象物体として、表面に「Ｓｏａｐ」と記載された石鹸１０Ｂが載置されている。スクリーン１５Ａは、図５２を参照して説明したスクリーン１５と同様の構成を有する。マーカー１６Ａａの枠内の表示面１１Ａが石鹸１０Ｂを捉えている。スクリーン１５Ａのマーカー１６Ａｂ及び１６Ａｄが折り曲げられており、マーカー１６Ａａと同一平面上にない。そのため、表示制御部１３２は、石鹸１０Ｂの表面に記載された「Ｓｏａｐ」を日本語に翻訳し、且つ文字サイズを大きくした表示オブジェクト２０Ａを表示する。また、スクリーン１５Ｂは、図５２を参照して説明したスクリーン１５と同様の構成を有する。マーカー１６Ｂａの枠内の表示面１１Ｂが石鹸１０Ｂを捉えている。スクリーン１５Ｂのマーカー１６Ｂｃが折り曲げられており、マーカー１６Ａａと同一平面上にない。そのため、表示制御部１３２は、石鹸１０Ｂの表面に記載された「Ｓｏａｐ」に対応するイラストとして泡とばい菌を示すイラストを含む表示オブジェクト２０Ｂを表示する。
【０２２６】
図５２に示したスクリーン１５を用いることで、情報処理システム１００は、読む又は理解することが困難な商品の表示を、使用者にとって読む又は理解することが容易な表示に翻訳することができる。これにより、例えば子供、外国人、又は老人等の、一般的な商品の説明を読む又は理解することが困難な人の利便性を向上させることができる。
【０２２７】
なお、基準マーカーと関連マーカーとが同一平面上にあるか否かは、折り曲げ以外の要因でも変わり得る。例えば、関連マーカーが、実物体（第３の実物体に相当）により覆われると、表示面管理部１３１は、関連マーカーの検出に失敗し、関連マーカーが基準マーカーと同一平面上にないと検出する。そのため、表示制御部１３２は、実物体により覆われた関連マーカーに応じて、表示オブジェクトの表示を制御してもよい。その例を、図５４及び図５５を参照して説明する。
【０２２８】
図５４は、本実施形態に係るマーカーの相対位置に応じた翻訳の具体例を説明するための図である。図５４に示すように、スクリーン１５のマーカー１６ｂがマグネット１９により覆われて隠されている。そのため、表示制御部１３２は、マーカー１６ｂがマーカー１６ａと同一平面上にないと判断し、英語を日本語に翻訳した表示オブジェクトを表示面１１に表示する。
【０２２９】
図５５は、本実施形態に係るマーカーの相対位置に応じた翻訳の具体例を説明するための図である。図５５に示すように、スクリーン１５のマーカー１６ｂ及び１６ｃがマジックにより塗りつぶされている。換言すると、マーカー１６ｂ及び１６ｃが、マジックのインク１９ｂ及び１９ｃにより覆われて隠されている。そのため、表示制御部１３２は、マーカー１６ｂ及び１６ｃがマーカー１６ａと同一平面上にないと判断し、英語を日本語に翻訳し、文字に対応するイラストを含む表示オブジェクトを表示面１１に表示する。
【０２３０】
以上、図５２に示したスクリーン１５に関する表示制御のバリエーションを説明した。以下では、マーカーの相対位置に基づく表示制御に関するマーカーの他のバリエーションを説明する。
【０２３１】
例えば、基準マーカーと関連マーカーとは重ねられてもよい。その場合、表示制御部１３２は、基準マーカーに重ねられた関連マーカーに応じて、表示オブジェクトの表示を制御する。この点について、図５６を参照して説明する。
【０２３２】
図５６は、本実施形態に係るマーカーの相対位置に応じた表示制御の具体例を説明するための図である。図５６の左図に示すように、スクリーン１５は、面１５ａ〜１５ｄから成り、互いの面の境目を折り曲げることで、２以上の面を重ねることができる。面１５ａ〜１５ｄの各々には、マーカー１６ａ〜１６ｄが付されている。面１５ａは透明ではなく、面１５ｂ〜１５ｄは透明又は半透明である。そのため、面１５ａに面１５ｂ〜１５ｄが重ねられても、マーカー１６ａにマーカー１６ｂ〜１６ｄが重ねられていることが外観から検出可能である。例えば、図５６の右図に示すように、面１５ａに面１５ｂが重ねられると、マーカー１６ａにマーカー１６ｂが重ねられる。そのため、表示制御部１３２は、マーカー１６ａにマーカー１６ｂが重ねられたことに基づく表示制御を行う。
【０２３３】
ユーザ自身が、スクリーンとして機能してもよい。例えば、ユーザの手がスクリーンとして機能し、手の甲等の表面が表示面として機能してもよい。その場合の具体例を、図５７を参照して説明する。
【０２３４】
図５７は、本実施形態に係るマーカーの相対位置に応じた表示制御の具体例を説明するための図である。図５７の左図に示すように、ユーザの手の甲に枠状のマーカー１６ａが付され、人差し指の爪にマーカー１６ｂが付され、中指の爪にマーカー１６ｃが付されている。マーカー１６ａの枠内が表示面１１と機能する。即ち、手がスクリーン１５として機能する。図５７の右図に示すように、ユーザが中指を折ると、マーカー１６ａとマーカー１６ｃとの相対関係が変化する。そのため、表示制御部１３２は、変化後の相対関係に基づく表示制御を行う。
【０２３５】
・スクリーンの位置又は角度変更を促す表示制御
表示制御部１３２は、スクリーンの位置又は姿勢、即ち表示面の位置又は姿勢を変更するようユーザに指示する情報を表示してもよい。例えば、表示制御部１３２は、表示面に対象物体を捉える位置と角度にスクリーンを動かすことを指示する情報を表示する。他にも、表示制御部１３２は、曲げ変形させると表示オブジェクトが拡縮すること等の、スクリーンの利用方法を教示する情報を表示してもよい。これにより、ユーザは、スクリーンの使用方法を理解して快適にスクリーンを利用することができる。この点について、図５８を参照して説明する。
【０２３６】
図５８は、本実施形態に係るスクリーンの角度変更を促す表示制御の具体例を説明するための図である。図５８の左図に示すように、テーブル１０Ａ上に対象物体として時計１０Ｂが載置されている。ユーザが手に持つスクリーン１５には、枠状のマーカー１６が付されている。マーカー１６の枠内の表示面１１が時計１０Ｂを捉えている。そして、表示制御部１３２は、防水性能をアピールする動画を含む表示オブジェクト２０を表示面１１に表示している。図５８の右図に示すように、ユーザがスクリーン１５を立て過ぎると、表示面１１が時計１０Ｂを捉えられなくなり、表示オブジェクト２０Ａが消える。その代わり、表示制御部１３２は、スクリーンを水平に戻すよう指示する表示オブジェクト２０Ｂを表示する。これに従いユーザがスクリーンを水平に戻すと、図５８の左図に示した表示オブジェクト２０Ａが表示面１１に再度表示される。
【０２３７】
（６）まとめ
本実施形態に係る情報処理システム１００は、スクリーンと対象物体との相対関係に応じて、対象物体に対応する表示オブジェクトを、スクリーン表面の表示面にマッピングして表示する。具体的には、スクリーンの位置、姿勢及び状態をリアルタイムに反映して、スクリーンの奥行き方向にある実物体に対応する表示オブジェクトが、スクリーンの表示面に表示される。ユーザは、スクリーンの位置又は姿勢を動かしたり曲げたりすることで、表示オブジェクトを動的に変更することができる。ユーザは、直観的なスクリーンの操作により表示オブジェクトを変化させて、所望の表示オブジェクトを表示させることができる。従って、学習コストの低い操作体系を実現することができる。
【０２３８】
また、本実施形態によれば、紙又はカタログ等の、電子的な装置を有さない実物体をスクリーンとして用いて、表示物体を表示することができる。このことは、紙又はカタログ等の静的なメディアの表現力を大幅に向上させることができる。
【０２３９】
また、本実施形態によれば、紙等の媒体にマーカーを印刷することで、表示オブジェクトを表示可能なスクリーンを作成することができる。そのため、表示のための媒体を、表示装置を用意するよりも安価に展開することが可能である。
【０２４０】
＜＜５．ハードウェア構成例＞＞
最後に、図５９を参照して、本実施形態に係る情報処理装置のハードウェア構成について説明する。図５９は、本実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。なお、図５９に示す情報処理装置９００は、例えば、図２に示した情報処理システム１００を実現し得る。本実施形態に係る情報処理システム１００による情報処理は、ソフトウェアと、以下に説明するハードウェアとの協働により実現される。
【０２４１】
図５９に示すように、情報処理装置９００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３及びホストバス９０４ａを備える。また、情報処理装置９００は、ブリッジ９０４、外部バス９０４ｂ、インタフェース９０５、入力装置９０６、出力装置９０７、ストレージ装置９０８、ドライブ９０９、接続ポート９１１及び通信装置９１３を備える。情報処理装置９００は、ＣＰＵ９０１に代えて、又はこれとともに、電気回路、ＤＳＰ若しくはＡＳＩＣ等の処理回路を有してもよい。
【０２４２】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置９００内の動作全般を制御する。また、ＣＰＵ９０１は、マイクロプロセッサであってもよい。ＲＯＭ９０２は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０３は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。ＣＰＵ９０１は、例えば、図２に示す取得部１２０及び制御部１３０を形成し得る。
【０２４３】
ＣＰＵ９０１、ＲＯＭ９０２及びＲＡＭ９０３は、ＣＰＵバスなどを含むホストバス９０４ａにより相互に接続されている。ホストバス９０４ａは、ブリッジ９０４を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９０４ｂに接続されている。なお、必ずしもホストバス９０４ａ、ブリッジ９０４および外部バス９０４ｂを分離構成する必要はなく、１つのバスにこれらの機能を実装してもよい。
【０２４４】
入力装置９０６は、例えば、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチ及びレバー等、ユーザによって情報が入力される装置によって実現される。また、入力装置９０６は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置９００の操作に対応した携帯電話やＰＤＡ等の外部接続機器であってもよい。さらに、入力装置９０６は、例えば、上記の入力手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などを含んでいてもよい。情報処理装置９００のユーザは、この入力装置９０６を操作することにより、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりすることができる。
【０２４５】
他にも、入力装置９０６は、ユーザに関する情報を検知する装置により形成され得る。例えば、入力装置９０６は、画像センサ（例えば、カメラ）、深度センサ（例えば、ステレオカメラ）、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサ、測距センサ、力センサ等の各種のセンサを含み得る。また、入力装置９０６は、情報処理装置９００の姿勢、移動速度等、情報処理装置９００自身の状態に関する情報や、情報処理装置９００の周辺の明るさや騒音等、情報処理装置９００の周辺環境に関する情報を取得してもよい。また、入力装置９０６は、ＧＮＳＳ（Global  Navigation  Satellite  System）衛星からのＧＮＳＳ信号（例えば、ＧＰＳ（Global  Positioning  System）衛星からのＧＰＳ信号）を受信して装置の緯度、経度及び高度を含む位置情報を測定するＧＮＳＳモジュールを含んでもよい。また、位置情報に関しては、入力装置９０６は、Ｗｉ−Ｆｉ（登録商標）、携帯電話・ＰＨＳ・スマートフォン等との送受信、または近距離通信等により位置を検知するものであってもよい。入力装置９０６は、例えば、図２に示す入力部１１０を形成し得る。
【０２４６】
出力装置９０７は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で形成される。このような装置として、ＣＲＴディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置、レーザープロジェクタ、ＬＥＤプロジェクタ及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置９０７は、例えば、情報処理装置９００が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置９００が行った各種処理により得られた結果を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。出力装置９０７は、例えば、図２に示す出力部１５０を形成し得る。
【０２４７】
ストレージ装置９０８は、情報処理装置９００の記憶部の一例として形成されたデータ格納用の装置である。ストレージ装置９０８は、例えば、ＨＤＤ等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により実現される。ストレージ装置９０８は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置９０８は、ＣＰＵ９０１が実行するプログラムや各種データ及び外部から取得した各種のデータ等を格納する。ストレージ装置９０８は、例えば、図２に示す記憶部１４０を形成し得る。
【０２４８】
ドライブ９０９は、記憶媒体用リーダライタであり、情報処理装置９００に内蔵、あるいは外付けされる。ドライブ９０９は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に記録されている情報を読み出して、ＲＡＭ９０３に出力する。また、ドライブ９０９は、リムーバブル記憶媒体に情報を書き込むこともできる。
【０２４９】
接続ポート９１１は、外部機器と接続されるインタフェースであって、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などによりデータ伝送可能な外部機器との接続口である。
【０２５０】
通信装置９１３は、例えば、ネットワーク９２０に接続するための通信デバイス等で形成された通信インタフェースである。通信装置９１３は、例えば、有線若しくは無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）又はＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード等である。また、通信装置９１３は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ又は各種通信用のモデム等であってもよい。この通信装置９１３は、例えば、インターネットや他の通信機器との間で、例えばＴＣＰ／ＩＰ等の所定のプロトコルに則して信号等を送受信することができる。
【０２５１】
なお、ネットワーク９２０は、ネットワーク９２０に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワーク９２０は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ｅｔｈｅｒｎｅｔ（登録商標）を含む各種のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などを含んでもよい。また、ネットワーク９２０は、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）などの専用回線網を含んでもよい。
【０２５２】
以上、本実施形態に係る情報処理装置９００の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて実現されていてもよいし、各構成要素の機能に特化したハードウェアにより実現されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【０２５３】
なお、上述のような本実施形態に係る情報処理装置９００の各機能を実現するためのコンピュータプログラムを作製し、ＰＣ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
【０２５４】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０２５５】
例えば、本明細書において説明した各装置は、単独の装置として実現されてもよく、一部または全部が別々の装置として実現されても良い。例えば、図２に示した情報処理システム１００は、単独の装置として実現されてもよし、複数の装置群として実現されてもよい。例えば、物理空間に設置された入力部１１０及び出力部１５０とネットワーク等を介して接続されるサーバ装置に、取得部１２０、制御部１３０、及び記憶部１４０が含まれてもよい。
【０２５６】
また、本明細書においてフローチャートを用いて説明した処理は、必ずしも図示された順序で実行されなくてもよい。いくつかの処理ステップは、並列的に実行されてもよい。また、追加的な処理ステップが採用されてもよく、一部の処理ステップが省略されてもよい。
【０２５７】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０２５８】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
１つ以上の実物体の三次元情報を取得する取得部と、
前記実物体の前記三次元情報に基づいて、前記実物体の表面にマッピングされて表示される仮想物体とユーザとのインタラクション方法を制御する制御部と、
を備える情報処理装置。
（２）
前記制御部は、前記実物体の表面から前記仮想物体をマッピングして表示可能な表示面を検出する、前記（１）に記載の情報処理装置。
（３）
前記制御部は、前記実物体の表面の勾配、面積、色又は明度の少なくともいずれかに基づいて、前記表示面を検出する、前記（２）に記載の情報処理装置。
（４）
前記制御部は、前記表示面を、面積が所定の閾値以上であればユーザ操作を受け付け可能な面に分類し、そうでなければユーザ操作を受け付け不可能な面に分類する、前記（３）に記載の情報処理装置。
（５）
前記制御部は、ユーザ操作を受け付け不可能な前記表示面に前記仮想物体を表示する場合、当該仮想物体へのユーザ操作を受け付けるための他の仮想物体を、ユーザ操作を受け付け可能な前記表示面に表示する、前記（４）に記載の情報処理装置。
（６）
前記制御部は、前記表示面として、最も面積が広い第１の表示面と、前記第１の表示面以外の第２の表示面とを検出し、前記第２の表示面に表示される前記仮想物体へのユーザ操作を受け付けるための他の仮想物体を、前記第１の表示面に表示する、前記（５）に記載の情報処理装置。
（７）
前記制御部は、移動先の前記表示面を指定して前記仮想物体を移動させるユーザ操作が行われた場合、指定された前記表示面に前記仮想物体を表示する、前記（２）〜（６）のいずれか一項に記載の情報処理装置。
（８）
前記制御部は、前記仮想物体の移動方向を指定するユーザ操作が行われた場合、前記移動方向に存在する前記表示面に前記仮想物体を表示する、前記（２）〜（７）のいずれか一項に記載の情報処理装置。
（９）
前記制御部は、前記表示面として、最も面積が広い第１の表示面と、前記第１の表示面以外の第２の表示面とを検出し、前記仮想物体の移動先として、前記表示面に表示された既存の他の表示オブジェクトに対応するアプリケーション又は前記第２の表示面を選択する、前記（８）に記載の情報処理装置。
（１０）
前記制御部は、判定対象の前記表示面の面積、勾配、色、又は明度と移動対象の前記仮想物体の面積、色又は内容とに基づいて、判定対象の前記表示面への前記移動対象の前記仮想物体の移動可否を判定する、前記（８）又は（９）に記載の情報処理装置。
（１１）
前記制御部は、移動先の前記表示面の勾配に応じた座標補正を前記仮想物体に適用する、前記（２）〜（１０）のいずれか一項に記載の情報処理装置。
（１２）
前記制御部は、移動先の前記表示面に面積又は形状に応じて、前記仮想物体の内部のレイアウトを変更する、前記（２）〜（１１）のいずれか一項に記載の情報処理装置。
（１３）
前記制御部は、移動先の前記表示面の色に応じた色補正を前記仮想物体に適用する、前記（２）〜（１２）のいずれか一項に記載の情報処理装置。
（１４）
前記制御部は、前記仮想物体を移動させるユーザ操作に応じて前記仮想物体を移動させた後に所定のユーザ操作が行われた場合、移動前の位置に前記仮想物体を表示する、前記（２）〜（１３）のいずれか一項に記載の情報処理装置。
（１５）
前記制御部は、第１の実物体と第２の実物体との相対関係に応じて、前記第２の実物体に対応する仮想物体を、前記第１の実物体の表面である表示面にマッピングして表示する、前記（１）〜（１４）のいずれか一項に記載の情報処理装置。
（１６）
前記制御部は、前記第１の実物体の表面のうち、ユーザ側の表面を前記表示面とし、前記表示面のユーザと反対方向に位置する前記第２の実物体に対応する前記仮想物体を表示する、前記（１５）に記載の情報処理装置。
（１７）
前記制御部は、前記第１の実物体の姿勢に応じて前記仮想物体の表示を制御する、前記（１５）又は（１６）に記載の情報処理装置。
（１８）
前記制御部は、前記仮想物体として前記第２の実物体の三次元モデルを表示し、前記表示面の垂線を軸とする回転度合いに応じて前記３次元モデルを拡縮する、前記（１７）に記載の情報処理装置。
（１９）
前記制御部は、前記仮想物体として前記第２の実物体の三次元モデルを表示し、前記第２の実物体と前記表示面との相対姿勢に応じて、前記三次元モデルの姿勢を変更する、前記（１７）又は（１８）に記載の情報処理装置。
（２０）
前記制御部は、前記第１の実物体と前記第２の実物体との間の距離に応じて、前記仮想物体の表示を制御する、前記（１５）〜（１９）のいずれか一項に記載の情報処理装置。
（２１）
前記制御部は、前記第１の実物体に付されたマーカーの種類に応じて、前記仮想物体の表示を制御する、前記（１５）〜（２０）のいずれか一項に記載の情報処理装置。
（２２）
前記制御部は、前記第１の実物体に付された第１のマーカーと第２のマーカーとの相対関係に応じて、前記仮想物体の表示を制御する、前記（１５）〜（２１）のいずれか一項に記載の情報処理装置。
（２３）
前記第１の実物体は曲げ変形可能であり、
前記制御部は、前記第１の実物体の曲げ変形によって変化した前記第１のマーカーと前記第２のマーカーとの相対姿勢に応じて、前記仮想物体の表示を制御する、前記（２２）に記載の情報処理装置。
（２４）
前記制御部は、前記第１のマーカーと前記第２のマーカーとが同一平面上にあるか否かに応じて、前記仮想物体の表示を制御する、前記（２２）又は（２３）に記載の情報処理装置。
（２５）
前記制御部は、第３の実物体により覆われた前記第２のマーカーに応じて、前記仮想物体の表示を制御する、前記（２４）に記載の情報処理装置。
（２６）
前記制御部は、前記第１のマーカーに重ねられた前記第２のマーカーに応じて、前記仮想物体の表示を制御する、前記（２４）又は（２５）に記載の情報処理装置。
（２７）
前記制御部は、前記第２の実物体の表面に表示された他の仮想物体に対応する仮想物体を、前記第１の実物体の表面にマッピングして表示する、前記（１５）〜（２６）のいずれか一項に記載の情報処理装置。
（２８）
前記制御部は、前記第１の実物体の位置又は姿勢を変更するようユーザに指示する情報を表示する、前記（１５）〜（２７）のいずれか一項に記載の情報処理装置。
（２９）
１つ以上の実物体の三次元情報を取得することと、
前記実物体の前記三次元情報に基づいて、前記実物体の表面にマッピングされて表示される仮想物体とユーザとのインタラクション方法を制御することと、
を含むプロセッサにより実行される情報処理方法。
（３０）
コンピュータを、
１つ以上の実物体の三次元情報を取得する取得部と、
前記実物体の前記三次元情報に基づいて、前記実物体の表面にマッピングされて表示される仮想物体とユーザとのインタラクション方法を制御する制御部と、
として機能させるためのプログラム。
【符号の説明】
【０２５９】
１０    テーブル
１０    実物体
２０    表示オブジェクト
３０    実空間
１００    情報処理システム
１１０    入力部
１２０    取得部
１２１    空間情報取得部
１２２    ユーザ情報取得部
１３０    制御部
１３１    表示面管理部
１３２    表示制御部
１４０    記憶部
１５０    出力部
【図１】
2019069575.tif 000016
【図２】
2019069575.tif 000017
【図３】
2019069575.tif 000018
【図４】
2019069575.tif 000019
【図５】
2019069575.tif 000020
【図６】
2019069575.tif 000021
【図７】
2019069575.tif 000022
【図８】
2019069575.tif 000023
【図９】
2019069575.tif 000024
【図１０】
2019069575.tif 000025
【図１１】
2019069575.tif 000026
【図１２】
2019069575.tif 000027
【図１３】
2019069575.tif 000028
【図１４】
2019069575.tif 000029
【図１５】
2019069575.tif 000030
【図１６】
2019069575.tif 000031
【図１７】
2019069575.tif 000032
【図１８】
2019069575.tif 000033
【図１９】
2019069575.tif 000034
【図２０】
2019069575.tif 000035
【図２１】
2019069575.tif 000036
【図２２】
2019069575.tif 000037
【図２３】
2019069575.tif 000038
【図２４】
2019069575.tif 000039
【図２５】
2019069575.tif 000040
【図２６】
2019069575.tif 000041
【図２７】
2019069575.tif 000042
【図２８】
2019069575.tif 000043
【図２９】
2019069575.tif 000044
【図３０】
2019069575.tif 000045
【図３１】
2019069575.tif 000046
【図３２】
2019069575.tif 000047
【図３３】
2019069575.tif 000048
【図３４】
2019069575.tif 000049
【図３５】
2019069575.tif 000050
【図３６】
2019069575.tif 000051
【図３７】
2019069575.tif 000052
【図３８】
2019069575.tif 000053
【図３９】
2019069575.tif 000054
【図４０】
2019069575.tif 000055
【図４１】
2019069575.tif 000056
【図４２】
2019069575.tif 000057
【図４３】
2019069575.tif 000058
【図４４】
2019069575.tif 000059
【図４５】
2019069575.tif 000060
【図４６】
2019069575.tif 000061
【図４７】
2019069575.tif 000062
【図４８】
2019069575.tif 000063
【図４９】
2019069575.tif 000064
【図５０】
2019069575.tif 000065
【図５１】
2019069575.tif 000066
【図５２】
2019069575.tif 000067
【図５３】
2019069575.tif 000068
【図５４】
2019069575.tif 000069
【図５５】
2019069575.tif 000070
【図５６】
2019069575.tif 000071
【図５７】
2019069575.tif 000072
【図５８】
2019069575.tif 000073
【図５９】
2019069575.tif 000074
【国際調査報告】
2019069575.tif 000075
2019069575.tif 000076
2019069575.tif 000077
2019069575.tif 000078