(57)【要約】【課題】情報を表示しようとする環境や、表示されている情報の状況に応じて、より適切かつ効率的に情報が表示できるよう制御することが可能な表示制御装置、表示制御方法及びプログラムを提供する。【解決手段】表示面上の実オブジェクトの情報に応じて前記表示面に表示される表示オブジェクトの表示領域を決定する表示制御部、を備える、表示制御装置。【選択図】図１
2019185812.tif 000002
【特許請求の範囲】
【請求項１】
表示面上の実オブジェクトの情報に応じて前記表示面に表示される表示オブジェクトの表示領域を決定する表示制御部、
を備える、表示制御装置。
【請求項２】
前記実オブジェクトの情報は、前記実オブジェクトの属性情報を含む、請求項１に記載の表示制御装置。
【請求項３】
前記属性情報は、前記実オブジェクトを移動させる困難さに関する情報を含む、請求項２に記載の表示制御装置。
【請求項４】
前記属性情報は、前記表示オブジェクトとの関係性に関する情報を含む、請求項２に記載の表示制御装置。
【請求項５】
前記表示制御部は、位置、大きさ、又は角度の少なくともいずれかにより前記表示オブジェクトの表示領域を決定する、請求項１に記載の表示制御装置。
【請求項６】
前記表示制御部は、前記実オブジェクトに重ならないように前記表示オブジェクトの表示領域を決定する、請求項１に記載の表示制御装置。
【請求項７】
前記表示制御部は、前記表示オブジェクトの表示領域の候補を評価する評価関数を用いて前記表示領域を決定する、請求項１に記載の表示制御装置。
【請求項８】
前記表示制御部は、ユーザ操作に応じて前記評価関数のパラメータを設定する、請求項７に記載の表示制御装置。
【請求項９】
前記表示制御部は、前記表示面にすでに表示されている他の表示オブジェクトの情報にさらに応じて、表示オブジェクトの表示領域を決定する、請求項１に記載の表示制御装置。
【請求項１０】
前記表示制御部は、前記他の表示オブジェクトよりも前面に前記表示オブジェクトの表示領域を決定する、請求項９に記載の表示制御装置。
【請求項１１】
前記表示制御部は、前記他の表示オブジェクトの表示領域に重ならないよう前記表示オブジェクトの表示領域を決定する、請求項９に記載の表示制御装置。
【請求項１２】
前記表示制御部は、前記表示オブジェクトの表示領域に重ならないよう前記他の表オブジェクトの表示領域を変更する、請求項９に記載の表示制御装置。
【請求項１３】
前記他の表示オブジェクトの情報は、前記表示オブジェクトとの関係性に関する情報を含む、請求項９に記載の表示制御装置。
【請求項１４】
前記表示制御部は、前記表示オブジェクトの表示対象であるユーザの情報にさらに応じて、前記表示オブジェクトの表示領域を決定する、請求項１に記載の表示制御装置。
【請求項１５】
前記ユーザの情報は、前記ユーザの位置又は向きの少なくともいずれかを示す情報を含む、請求項１４に記載の表示制御装置。
【請求項１６】
表示面上の実オブジェクトの情報に応じて前記表示面に表示される表示オブジェクトの表示領域をプロセッサにより決定すること、
を含む、表示制御方法。
【請求項１７】
コンピュータを、
表示面上の実オブジェクトの情報に応じて前記表示面に表示される表示オブジェクトの表示領域を決定する表示制御部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、表示制御装置、表示制御方法及びプログラムに関する。
【背景技術】
【０００２】
スマートフォンやタブレット端末などの、タッチパネルに対する操作によって様々な情報を表示する装置が、広く普及している。タブレット端末については、画面サイズの大型化も図られるようになり、複数のユーザが同時に操作する使われ方も考慮されるようになりつつある。また、情報を表示する装置としては、従来からプロジェクタが用いられている。
【０００３】
情報を効率よく表示する技術は従来から多く提案されており、例えば下記特許文献１では、情報の表示の際に複数のウィンドウを同時に表示させる方法が提案されている。具体的には、第１および第２のウィンドウが重複する部分で、後方にあるウィンドウの表示情報を前面のウィンドウの表示情報よりも薄く表示させることで、両ウィンドウの表示情報を視認可能にしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−１２３６５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このようなスマートフォンやタブレット端末、プロジェクタ等の装置が情報を表示しようとする際、情報を表示しようとする環境や、表示されている情報の状況は常に一定とは限らない。上記事情に鑑みれば、情報を表示しようとする環境や、表示されている情報の状況に応じて、より適切かつ効率的に情報が表示できるよう制御することが求められる。
【０００６】
そこで本開示では、情報を表示しようとする環境や、表示されている情報の状況に応じて、より適切かつ効率的に情報が表示できるよう制御することが可能な、新規かつ改良された表示制御装置、表示制御方法及びプログラムを提案する。
【課題を解決するための手段】
【０００７】
本開示によれば、表示面上の実オブジェクトの情報に応じて前記表示面に表示される表示オブジェクトの表示領域を決定する表示制御部、を備える、表示制御装置が提供される。
【０００８】
また、本開示によれば、表示面上の実オブジェクトの情報に応じて前記表示面に表示される表示オブジェクトの表示領域をプロセッサにより決定すること、を含む、表示制御方法が提供される。
【０００９】
また、本開示によれば、コンピュータを、表示面上の実オブジェクトの情報に応じて前記表示面に表示される表示オブジェクトの表示領域を決定する表示制御部、として機能させるためのプログラムが提供される。
【発明の効果】
【００１０】
以上説明したように本開示によれば、情報を表示しようとする環境や、表示されている情報の状況に応じて、より適切かつ効率的に情報が表示できるよう制御することが可能な、新規かつ改良された表示制御装置、表示制御方法及びプログラムが提供される。
【００１１】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１２】
【図１】本開示の一実施形態に係る情報処理システムの構成例を示す説明図である。
【図２】本開示の一実施形態に係る情報処理システムの構成例を示す説明図である。
【図３】本開示の一実施形態に係る情報処理システムの構成例を示す説明図である。
【図４】本開示の一実施形態に係る情報処理システムの構成例を示す説明図である。
【図５】本開示の一実施形態に係る情報処理システムの機能構成例を示す説明図である。
【図６】本開示の一実施形態にかかる情報処理システム１００の操作状況の例を示す説明図である。
【図７】アプリケーションのＧＵＩの例を示す説明図である。
【図８】アプリケーションのＧＵＩの例を示す説明図である。
【図９】アプリケーションのＧＵＩの例を示す説明図である。
【図１０】アプリケーションのＧＵＩの例を示す説明図である。
【図１１】アプリケーションのＧＵＩの例を示す説明図である。
【図１２】アプリケーションのＧＵＩの例を示す説明図である。
【図１３】アプリケーションのＧＵＩの例を示す説明図である。
【図１４】本開示の一実施形態にかかる情報処理システム１００の動作例を示す流れ図である。
【図１５】本開示の一実施形態にかかる情報処理システム１００の動作例を示す流れ図である。
【図１６】本開示の一実施形態にかかる情報処理システム１００の動作例を示す流れ図である。
【図１７】アプリケーションのＧＵＩの例を示す説明図である。
【図１８】アプリケーションのＧＵＩの例を示す説明図である。
【図１９】アプリケーションのＧＵＩの例を示す説明図である。
【図２０】アプリケーションのＧＵＩの例を示す説明図である。
【図２１】アプリケーションのＧＵＩの例を示す説明図である。
【図２２】アプリケーションのＧＵＩの例を示す説明図である。
【図２３】アプリケーションのＧＵＩの例を示す説明図である。
【図２４】アプリケーションのＧＵＩの例を示す説明図である。
【図２５】アプリケーションのＧＵＩの例を示す説明図である。
【図２６】アプリケーションのＧＵＩの例を示す説明図である。
【図２７】アプリケーションのＧＵＩの例を示す説明図である。
【図２８】情報処理システム１００ｄでのメニュー表示制御例を示す説明図である。
【図２９】情報処理システム１００ｄでのメニュー表示制御例を示す説明図である。
【図３０】情報処理システム１００ｃでのメニュー表示制御例を示す説明図である。
【図３１】情報処理システム１００ａでのメニュー表示制御例を示す説明図である。
【図３２】本開示の一実施形態にかかる情報処理システム１００と連携する携帯端末の動作例を示す流れ図である。
【図３３】本開示の一実施形態にかかる情報処理システム１００の動作例を示す流れ図である。
【図３４】アプリケーションのＧＵＩの例を示す説明図である。
【図３５】アプリケーションのＧＵＩの例を示す説明図である。
【図３６】アプリケーションのＧＵＩの例を示す説明図である。
【図３７】アプリケーションのＧＵＩの例を示す説明図である。
【図３８】本開示の一実施形態にかかる情報処理システム１００の使用例を示す流れ図である。
【図３９】アプリケーションのＧＵＩの例を示す説明図である。
【図４０】アプリケーションのＧＵＩの例を示す説明図である。
【図４１】アプリケーションのＧＵＩの例を示す説明図である。
【図４２】本開示の一実施形態にかかる情報処理システム１００の動作例を示す流れ図である。
【図４３】本開示の一実施形態にかかる情報処理システム１００の動作例を示す流れ図である。
【図４４】本開示の一実施形態にかかる情報処理システム１００の動作例を示す流れ図である。
【図４５】アプリケーションのＧＵＩの例を示す説明図である。
【図４６】アプリケーションのＧＵＩの例を示す説明図である。
【図４７】アプリケーションのＧＵＩの例を示す説明図である。
【図４８】アプリケーションのＧＵＩの例を示す説明図である。
【図４９】アプリケーションのＧＵＩの例を示す説明図である。
【図５０】アプリケーションのＧＵＩの例を示す説明図である。
【図５１】アプリケーションのＧＵＩの例を示す説明図である。
【図５２】アプリケーションのＧＵＩの例を示す説明図である。
【図５３】アプリケーションのＧＵＩの例を示す説明図である。
【図５４】アプリケーションのＧＵＩの例を示す説明図である。
【図５５】アプリケーションのＧＵＩの例を示す説明図である。
【図５６】アプリケーションのＧＵＩの例を示す説明図である。
【図５７】アプリケーションのＧＵＩの例を示す説明図である。
【図５８】アプリケーションのＧＵＩの例を示す説明図である。
【図５９】アプリケーションのＧＵＩの例を示す説明図である。
【図６０】アプリケーションのＧＵＩの例を示す説明図である。
【図６１】アプリケーションのＧＵＩの例を示す説明図である。
【図６２】アプリケーションのＧＵＩの例を示す説明図である。
【図６３】アプリケーションのＧＵＩの例を示す説明図である。
【図６４】アプリケーションのＧＵＩの例を示す説明図である。
【図６５】アプリケーションのＧＵＩの例を示す説明図である。
【図６６】アプリケーションのＧＵＩの例を示す説明図である。
【図６７】アプリケーションのＧＵＩの例を示す説明図である。
【図６８】アプリケーションのＧＵＩの例を示す説明図である。
【図６９】アプリケーションのＧＵＩの例を示す説明図である。
【図７０】アプリケーションのＧＵＩの例を示す説明図である。
【図７１】アプリケーションのＧＵＩの例を示す説明図である。
【図７２】アプリケーションのＧＵＩの例を示す説明図である。
【図７３】アプリケーションのＧＵＩの例を示す説明図である。
【図７４】具体例１に係るユーザインタフェースを説明するための説明図である。
【図７５】具体例１に係るユーザインタフェースを説明するための説明図である。
【図７６】具体例１に係るユーザインタフェースを説明するための説明図である。
【図７７】具体例２に係るユーザインタフェースを説明するための説明図である。
【図７８】具体例２に係るユーザインタフェースを説明するための説明図である。
【図７９】具体例２に係るユーザインタフェースを説明するための説明図である。
【図８０】具体例２に係るユーザインタフェースを説明するための説明図である。
【図８１】具体例２に係るユーザインタフェースを説明するための説明図である。
【図８２】具体例２に係るユーザインタフェースを説明するための説明図である。
【図８３】具体例２に係るユーザインタフェースを説明するための説明図である。
【図８４】具体例２に係るユーザインタフェースを説明するための説明図である。
【図８５】具体例２に係るユーザインタフェースを説明するための説明図である。
【図８６】具体例３に係るユーザインタフェースを説明するための説明図である。
【図８７】具体例３に係るユーザインタフェースを説明するための説明図である。
【図８８】具体例３に係るユーザインタフェースを説明するための説明図である。
【図８９】具体例３に係るユーザインタフェースを説明するための説明図である。
【図９０】具体例３に係るユーザインタフェースを説明するための説明図である。
【図９１】具体例３に係るユーザインタフェースを説明するための説明図である。
【図９２】具体例３に係るユーザインタフェースを説明するための説明図である。
【図９３】具体例３に係るユーザインタフェースを説明するための説明図である。
【図９４】具体例４に係るユーザインタフェースを説明するための説明図である。
【図９５】具体例５に係るユーザインタフェースを説明するための説明図である。
【図９６】具体例５に係るユーザインタフェースを説明するための説明図である。
【図９７】具体例５に係るユーザインタフェースを説明するための説明図である。
【図９８】具体例６に係るユーザインタフェースを説明するための説明図である。
【図９９】具体例６に係るユーザインタフェースを説明するための説明図である。
【図１００】具体例７に係るユーザインタフェースを説明するための説明図である。
【図１０１】具体例７に係るユーザインタフェースを説明するための説明図である。
【図１０２】具体例７に係るユーザインタフェースを説明するための説明図である。
【図１０３】具体例７に係るユーザインタフェースを説明するための説明図である。
【図１０４】具体例８に係るユーザインタフェースを説明するための説明図である。
【図１０５】具体例８に係るユーザインタフェースを説明するための説明図である。
【図１０６】具体例８に係るユーザインタフェースを説明するための説明図である。
【図１０７】具体例８に係るユーザインタフェースを説明するための説明図である。
【図１０８】具体例８に係るユーザインタフェースを説明するための説明図である。
【図１０９】具体例８に係るユーザインタフェースを説明するための説明図である。
【図１１０】具体例８に係るユーザインタフェースを説明するための説明図である。
【図１１１】具体例９に係るユーザインタフェースを説明するための説明図である。
【図１１２】具体例９に係るユーザインタフェースを説明するための説明図である。
【図１１３】具体例９に係るユーザインタフェースを説明するための説明図である。
【図１１４】具体例９に係るユーザインタフェースを説明するための説明図である。
【図１１５】具体例１０に係るユーザインタフェースを説明するための説明図である。
【図１１６】具体例１０に係るユーザインタフェースを説明するための説明図である。
【図１１７】具体例１０に係るユーザインタフェースを説明するための説明図である。
【図１１８】具体例１１に係るユーザインタフェースを説明するための説明図である。
【図１１９】具体例１２に係るユーザインタフェースを説明するための説明図である。
【図１２０】具体例１２に係るユーザインタフェースを説明するための説明図である。
【図１２１】具体例１２に係るユーザインタフェースを説明するための説明図である。
【図１２２】具体例１２に係るユーザインタフェースを説明するための説明図である。
【図１２３】具体例１２に係るユーザインタフェースを説明するための説明図である。
【図１２４】具体例１３に係るユーザインタフェースを説明するための説明図である。
【図１２５】具体例１３に係るユーザインタフェースを説明するための説明図である。
【図１２６】具体例１３に係るユーザインタフェースを説明するための説明図である。
【図１２７】具体例１３に係るユーザインタフェースを説明するための説明図である。
【図１２８】カルタ補助アプリケーションの具体例を示した説明図である。
【図１２９】会話補助アプリケーションの具体例を示した説明図である。
【図１３０】投影面追従アプリケーションの具体例を示した説明図である。
【図１３１】投影面追従アプリケーションの具体例を示した説明図である。
【図１３２】投影面追従アプリケーションの具体例を示した説明図である。
【図１３３】投影面追従アプリケーションの具体例を示した説明図である。
【図１３４】食事補助アプリケーションの具体例を示した説明図である。
【図１３５】食事補助アプリケーションの他の具体例を示した説明図である。
【図１３６】動きエフェクトアプリケーションの具体例を示した説明図である。
【図１３７】動きエフェクトアプリケーションの具体例を示した説明図である。
【図１３８】弁当作成支援アプリケーションの具体例を示した説明図である。
【図１３９】日常補助アプリケーションによるユーザ補助の具体例を示した説明図である。
【図１４０】日常補助アプリケーションによるユーザ補助の具体例を示した説明図である。
【図１４１】日常補助アプリケーションによるユーザ補助の具体例を示した説明図である。
【図１４２】日常補助アプリケーションによるユーザ補助の具体例を示した説明図である。
【図１４３】日常補助アプリケーションによるユーザ補助の具体例を示した説明図である。
【図１４４】食卓演出アプリケーションの具体例を示した説明図である。
【図１４５】料理推薦アプリケーションの具体例を示した説明図である。
【図１４６】食器エフェクトアプリケーションの具体例を示した説明図である。
【図１４７】部屋間連携アプリケーションの具体例を示した説明図である。
【図１４８】本開示の一実施形態にかかる情報処理システム１００の動作例を示す流れ図である。
【図１４９】照明マップの例を示す説明図である。
【図１５０】環境マップの例を示す説明図である。
【図１５１】照明マップと環境マップとの対応付けの例を示す説明図である。
【図１５２】アプリケーション照明対応表の例を示す説明図である。
【図１５３】照明マップ及び環境マップの値の例を示す説明図である。
【図１５４】照明マップ及び環境マップの値の例を示す説明図である。
【図１５５】外光を環境マップに反映させた場合の例を示す説明図である。
【図１５６】照明マップ及び環境マップの値の例を示す説明図である。
【図１５７】アプリケーションの具体例について説明する説明図である。
【図１５８】アプリケーションの具体例について説明する説明図である。
【図１５９】アプリケーションの具体例について説明する説明図である。
【図１６０】アプリケーションの具体例について説明する説明図である。
【図１６１】アプリケーションの具体例について説明する説明図である。
【図１６２】アプリケーションの具体例について説明する説明図である。
【図１６３】ＧＵＩの例を示す説明図である。
【図１６４】ＧＵＩの例を示す説明図である。
【図１６５】ＧＵＩの例を示す説明図である。
【図１６６】ＧＵＩの例を示す説明図である。
【図１６７】ＧＵＩの例を示す説明図である。
【図１６８】ＧＵＩの例を示す説明図である。
【図１６９】ＧＵＩの例を示す説明図である。
【図１７０】ＧＵＩの例を示す説明図である。
【図１７１】ＧＵＩの例を示す説明図である。
【図１７２】ＧＵＩの例を示す説明図である。
【図１７３】ＧＵＩの例を示す説明図である。
【図１７４】ＧＵＩの例を示す説明図である。
【図１７５】ＧＵＩの例を示す説明図である。
【図１７６】ＧＵＩの例を示す説明図である。
【図１７７】ＧＵＩの例を示す説明図である。
【図１７８】ＧＵＩの例を示す説明図である。
【図１７９】ＧＵＩの例を示す説明図である。
【図１８０】ＧＵＩの例を示す説明図である。
【図１８１】ＧＵＩの例を示す説明図である。
【図１８２】ＧＵＩの例を示す説明図である。
【図１８３】ＧＵＩの例を示す説明図である。
【図１８４】ＧＵＩの例を示す説明図である。
【図１８５】発火させる機能の可視性の例を示す説明図である。
【図１８６】ＧＵＩの例を示す説明図である。
【図１８７】トリガーの組み合わせの例を示す説明図である。
【図１８８】ＧＵＩの例を示す説明図である。
【図１８９】ＧＵＩの例を示す説明図である。
【図１９０】ウィンドウのモード及び操作方法の例を示す説明図である。
【図１９１】ウィンドウのモード及び操作方法の例を示す説明図である。
【図１９２】ウィンドウのモード及び操作方法の例を示す説明図である。
【図１９３】ウィンドウのモード及び操作方法の例を示す説明図である。
【図１９４】ウィンドウの操作例を示す説明図である。
【図１９５】ユーザの操作について示す説明図である。
【図１９６】本開示の一実施形態にかかる情報処理システム１００の動作例を示す流れ図である。
【図１９７】ユーザによるウィンドウに対する操作例を示す説明図である。
【図１９８】ユーザによるウィンドウに対する操作例を示す説明図である。
【図１９９】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２００】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２０１】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２０２】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２０３】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２０４】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２０５】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２０６】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２０７】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２０８】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２０９】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２１０】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２１１】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２１２】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２１３】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２１４】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２１５】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２１６】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２１７】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２１８】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２１９】ユーザによるウィンドウに対する操作例を示す説明図である。
【図２２０】ウィンドウが投影面に置かれている実際の物体に干渉する場合の表示制御例を示す説明図である。
【図２２１】情報の表示例を示す説明図である。
【図２２２】ＧＵＩの例を示す説明図である。
【図２２３】ＧＵＩの例を示す説明図である。
【図２２４】ＧＵＩの例を示す説明図である。
【図２２５】ＧＵＩの例を示す説明図である。
【図２２６】ＧＵＩの例を示す説明図である。
【図２２７】ＧＵＩの例を示す説明図である。
【図２２８】ＧＵＩの例を示す説明図である。
【図２２９】ＧＵＩの例を示す説明図である。
【図２３０】ユーザインタフェースの概要を説明するための説明図である。
【図２３１】ユーザインタフェースの概要を説明するための説明図である。
【図２３２】ユーザ位置推定機能の一例を説明するための説明図である。
【図２３３】ユーザ位置推定機能の一例を説明するための説明図である。
【図２３４】ユーザ位置推定機能の一例を説明するための説明図である。
【図２３５】ユーザ位置推定機能の一例を説明するための説明図である。
【図２３６】ユーザ位置推定機能の一例を説明するための説明図である。
【図２３７】ユーザ位置推定機能の一例を説明するための説明図である。
【図２３８】ユーザインタフェースの一例を説明するための説明図である。
【図２３９】ユーザインタフェースの一例を説明するための説明図である。
【図２４０】ユーザインタフェースの一例を説明するための説明図である。
【図２４１】ユーザインタフェースの一例を説明するための説明図である。
【図２４２】ユーザインタフェースの一例を説明するための説明図である。
【図２４３】ユーザインタフェースの一例を説明するための説明図である。
【図２４４】ユーザインタフェースの一例を説明するための説明図である。
【図２４５】ユーザインタフェースの一例を説明するための説明図である。
【図２４６】ユーザインタフェースの一例を説明するための説明図である。
【図２４７】ユーザインタフェースの一例を説明するための説明図である。
【図２４８】ユーザインタフェースの一例を説明するための説明図である。
【図２４９】ユーザインタフェースの一例を説明するための説明図である。
【図２５０】ユーザインタフェースの一例を説明するための説明図である。
【図２５１】ユーザインタフェースの一例を説明するための説明図である。
【図２５２】ユーザインタフェースの一例を説明するための説明図である。
【図２５３】ユーザインタフェースの一例を説明するための説明図である。
【図２５４】ユーザインタフェースの一例を説明するための説明図である。
【図２５５】ユーザインタフェースの一例を説明するための説明図である。
【図２５６】ユーザインタフェースの一例を説明するための説明図である。
【図２５７】ユーザインタフェースの一例を説明するための説明図である。
【図２５８】ユーザインタフェースの一例を説明するための説明図である。
【図２５９】ユーザインタフェースの一例を説明するための説明図である。
【図２６０】ユーザインタフェースの一例を説明するための説明図である。
【図２６１】ユーザインタフェースの一例を説明するための説明図である。
【図２６２】ユーザインタフェースの一例を説明するための説明図である。
【図２６３】ユーザインタフェースの一例を説明するための説明図である。
【図２６４】ユーザインタフェースの一例を説明するための説明図である。
【図２６５】ユーザインタフェースの一例を説明するための説明図である。
【図２６６】情報処理システムにおいて実行される表示制御処理の流れの一例を示すフローチャートである。
【図２６７】ユーザインタフェースの概要を説明するための説明図である。
【図２６８】情報処理システムの論理的な構成の一例を示すブロック図である。
【図２６９】実オブジェクト認識機能の一例を説明するための説明図である。
【図２７０】表示領域決定処理の一例を説明するための説明図である。
【図２７１】表示領域決定処理の一例を説明するための説明図である。
【図２７２】表示領域決定処理の一例を説明するための説明図である。
【図２７３】表示領域決定処理の一例を説明するための説明図である。
【図２７４】表示領域決定処理の一例を説明するための説明図である。
【図２７５】表示領域決定処理の一例を説明するための説明図である。
【図２７６】表示領域決定処理の一例を説明するための説明図である。
【図２７７】表示領域決定処理の一例を説明するための説明図である。
【図２７８】表示領域決定処理の一例を説明するための説明図である。
【図２７９】表示領域決定処理の一例を説明するための説明図である。
【図２８０】表示領域決定処理の一例を説明するための説明図である。
【図２８１】表示領域決定処理の一例を説明するための説明図である。
【図２８２】表示領域決定処理の一例を説明するための説明図である。
【図２８３】表示領域決定処理の一例を説明するための説明図である。
【図２８４】表示領域決定処理の一例を説明するための説明図である。
【図２８５】表示領域決定処理の一例を説明するための説明図である。
【図２８６】表示領域決定処理の一例を説明するための説明図である。
【図２８７】表示領域決定処理の一例を説明するための説明図である。
【図２８８】情報処理システムにおいて実行される表示制御処理の流れの一例を示すフローチャートである。
【図２８９】情報処理システムにおいて実行される表示領域決定処理の流れの一例を示すフローチャートである。
【図２９０】情報処理システムにおいて実行される表示領域決定処理の流れの一例を示すフローチャートである。
【図２９１】情報処理システムの論理的な構成の一例を示すブロック図である。
【図２９２】投影倍率の算出処理について説明するための説明図である。
【図２９３】ユーザインタフェースの一例を説明するための説明図である。
【図２９４】ユーザインタフェースの一例を説明するための説明図である。
【図２９５】ユーザインタフェースの一例を説明するための説明図である。
【図２９６】ユーザインタフェースの一例を説明するための説明図である。
【図２９７】ユーザインタフェースの一例を説明するための説明図である。
【図２９８】情報処理システムにおいて実行される表示制御処理の流れの一例を示すフローチャートである。
【図２９９】ユーザインタフェースの一例を説明するための説明図である。
【図３００】ユーザインタフェースの一例を説明するための説明図である。
【図３０１】ユーザインタフェースの一例を説明するための説明図である。
【図３０２】ユーザインタフェースの一例を説明するための説明図である。
【図３０３】ユーザインタフェースの一例を説明するための説明図である。
【図３０４】ユーザインタフェースの一例を説明するための説明図である。
【図３０５】ユーザインタフェースの一例を説明するための説明図である。
【図３０６】ユーザインタフェースの一例を説明するための説明図である。
【図３０７】ユーザインタフェースの一例を説明するための説明図である。
【図３０８】ユーザインタフェースの一例を説明するための説明図である。
【図３０９】ユーザインタフェースの一例を説明するための説明図である。
【図３１０】ユーザインタフェースの一例を説明するための説明図である。
【図３１１】ユーザインタフェースの一例を説明するための説明図である。
【図３１２】ユーザインタフェースの一例を説明するための説明図である。
【図３１３】ユーザインタフェースの一例を説明するための説明図である。
【図３１４】ユーザインタフェースの一例を説明するための説明図である。
【図３１５】ユーザインタフェースの一例を説明するための説明図である。
【図３１６】情報処理システムにおいて実行される表示制御処理の流れの一例を示すフローチャートである。
【図３１７】情報処理システムにおいて実行される表示制御処理の流れの一例を示すフローチャートである。
【図３１８】ハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
なお、説明は以下の順序で行うものとする。
＜１．本開示の一実施形態＞
［１．１．システム構成例］
［１．２．機能構成例］
［１．３．表示制御例］
＜２．ユーザインタフェースの具体例＞
＜３．ハードウェア構成例＞
＜４．まとめ＞
【００１５】
＜１．本開示の一実施形態＞
［１．１．システム構成例］
まず、図面を参照しながら本開示の一実施形態に係る情報処理システムの構成例について説明する。図１は、本開示の一実施形態に係る情報処理システムの構成例を示す説明図である。以下、図１を用いて本開示の一実施形態に係る情報処理システムの構成例について説明する。
【００１６】
図１に示したように、本開示の一実施形態に係る情報処理システム１００ａは、入力部１１０ａと、出力部１３０ａと、を含んで構成される。図１に示した本開示の一実施形態に係る情報処理システム１００ａは、テーブル１４０ａの天面に情報を表示し、テーブル１４０ａに表示した情報に対して情報処理システム１００ａを使用するユーザに操作をさせるシステムである。図１のようにテーブル１４０ａの天面に情報を表示する方式を「プロジェクション型」とも称する。
【００１７】
入力部１１０ａは、情報処理システム１００ａを使用するユーザの操作内容や、テーブル１４０ａに置かれている物体の形状や模様などを入力する装置である。図１に示した例では、入力部１１０ａは、テーブル１４０ａの上方に、例えば天井から吊り下げられた状態で設けられる。すなわち、入力部１１０ａは、情報が表示される対象となるテーブル１４０ａとは離隔して設けられる。入力部１１０ａとしては、例えば１つのレンズでテーブル１４０ａを撮像するカメラや、２つのレンズでテーブル１４０ａを撮像して奥行き方向の情報を記録することが可能なステレオカメラ、情報処理システム１００ａを使用するユーザが発する音声や情報処理システム１００ａが置かれている環境の環境音を収音するためのマイク等が用いられ得る。
【００１８】
入力部１１０ａとして、１つのレンズでテーブル１４０ａを撮像するカメラが用いられる場合、情報処理システム１００ａは、そのカメラが撮像した画像を解析することで、テーブル１４０ａに置かれた物体を検出することが出来る。また入力部１１０ａとしてステレオカメラが用いられる場合、そのステレオカメラには、例えば可視光カメラや赤外線カメラ等が用いられ得る。入力部１１０ａとしてステレオカメラが用いられることで、入力部１１０ａは、深度情報を取得することが可能となる。入力部１１０ａが、深度情報を取得することで、情報処理システム１００ａは、例えばテーブル１４０ａの上に置かれた手や物体の検出が可能になる。また入力部１１０ａが、深度情報を取得することで、情報処理システム１００ａは、テーブル１４０ａへのユーザの手の接触、近接の検出やテーブル１４０ａからの手の離脱の検出が可能となる。なお、以下の説明では、ユーザが情報の表示面に手等の操作体を接触または近接させることを、まとめて単に「接触」とも称する。
【００１９】
また入力部１１０ａとしてマイクが用いられる場合、そのマイクは特定の方向の音声を収音するためのマイクアレイが用いられ得る。入力部１１０ａとしてマイクアレイが用いられる場合、情報処理システム１００ａは、マイクアレイの収音方向を任意の方向に調整しても良い。
【００２０】
以下では、ユーザの操作が、入力部１１０ａによって撮像された画像から検出される場合を主に説明するが、本開示は係る例に限定されるものではない。ユーザの操作は、ユーザの指等の接触を検出するタッチパネルによって検出されてもよい。また入力部１１０ａが取得できるユーザ操作としては、この他にも、例えば情報の表示面に対するスタイラス操作、カメラに対するジェスチャ操作等が含まれ得る。
【００２１】
出力部１３０ａは、入力部１１０ａによって入力された、情報処理システム１００ａを使用するユーザの操作内容や、出力部１３０ａが出力している情報の内容、テーブル１４０ａに置かれている物体の形状や模様等の情報に応じて、テーブル１４０ａに情報を表示したり、音声を出力したりする装置である。出力部１３０ａとしては、例えばプロジェクタやスピーカ等が用いられる。図１に示した例では、出力部１３０ａは、テーブル１４０ａの上方に、例えば天井から吊り下げられた状態で設けられる。出力部１３０ａがプロジェクタで構成される場合、出力部１３０ａは、テーブル１４０ａの天面に情報を投影する。出力部１３０ａがスピーカで構成される場合、出力部１３０ａは、音声信号に基づいて音声を出力する。出力部１３０ａがスピーカで構成される場合、スピーカの数は１つで合っても良く、複数であっても良い。出力部１３０ａが複数のスピーカで構成される場合、情報処理システム１００ａは、音声を出力するスピーカを限定したり、音声を出力する方向を調整したりしても良い。
【００２２】
また情報処理システム１００ａが図１に示したようなプロジェクション型である場合、出力部１３０ａに、照明機器が含まれていても良い。出力部１３０ａに照明機器が含まれる場合、情報処理システム１００ａは、入力部１１０ａによって入力された情報の内容に基づいて、照明機器の点灯、消灯等の状態を制御しても良い。
【００２３】
情報処理システム１００ａを使用するユーザは、出力部１３０ａがテーブル１４０ａに表示する情報に対して、指などをテーブル１４０ａに置いて操作することが出来る。また情報処理システム１００ａを使用するユーザは、テーブル１４０ａに物体を置いて入力部１１０ａに認識させることで、その認識させた物体に関する種々の操作を実行することが出来る。
【００２４】
なお図１には図示しないが、情報処理システム１００ａには他の装置が接続されていても良い。例えば情報処理システム１００ａには、テーブル１４０ａを照らすための照明機器が接続されていても良い。情報処理システム１００ａにテーブル１４０ａを照らすための照明機器が接続されていることで、情報処理システム１００ａは、情報の表示面の状態に応じて照明機器の点灯状態を制御することが可能となる。
【００２５】
本開示では、情報処理システムの形態は図１に示したものに限定されるものではない。図２〜図４は、本開示の一実施形態にかかる情報処理システムのさらなる別の形態の例を示す説明図である。
【００２６】
図２に示したのは、本開示の一実施形態に係る情報処理システム１００ｂの構成例を示す説明図であり、テーブル１４０ｂの下から情報を出力部１３０ａに照射させることで、テーブル１４０ｂの表面に情報を表示させるように構成されているものである。すなわち、図２に示した情報処理システム１００ｂでは、情報の表示面はテーブル１４０ｂの天面となる。テーブル１４０ｂの面はガラス板や透明プラスチック板等の透明な材質で形成される。図２のようにテーブル１４０ｂの下から情報を出力部１３０ａに照射させて、テーブル１４０ｂの天面に情報を表示する方式を「リアプロジェクション型」とも称する。図２に示した例では、テーブル１４０ｂの表面に入力部１１０ｂが設けられる構成を示しているが、図１に示した情報処理システム１００ａと同様に、入力部１１０ｂは、テーブル１４０ｂの下方にテーブル１４０ｂとは離隔して設けられても良い。
【００２７】
図３に示したのは、本開示の一実施形態に係る情報処理システム１００ｃの構成例を示す説明図である。図３には、タッチパネル式のディスプレイがテーブル上に置かれている状態が示されている。このようにタッチパネル式のディスプレイの場合、入力部１１０ｃ及び出力部１３０ｃは、タッチパネル式のディスプレイとして構成され得る。すなわち、図３に示した情報処理システム１００ｃでは、情報の表示面はタッチパネル式のディスプレイとなる。図３に示した情報処理システム１００ｃでは、図１に示した情報処理システム１００ａと同様に、タッチパネル式のディスプレイの上方に、ユーザの位置を検出するためのカメラが設けられても良い。
【００２８】
図４に示したのは、本開示の一実施形態に係る情報処理システム１００ｄの構成例を示す説明図である。図４には、フラットパネル式のディスプレイがテーブル上に置かれている状態が示されている。すなわち、図４に示した情報処理システム１００ｄでは、情報の表示面はフラットパネル式のディスプレイとなる。このようにフラットパネル式のディスプレイの場合、入力部１１０ｄ及び出力部１３０ｄは、フラットパネル式のディスプレイとして構成され得る。この図４に示したフラットパネル式のディスプレイに、タッチパネルが設けられていても良い。
【００２９】
なお以下の説明では、図１に示したような、テーブル１４０ａの上方に入力部１１０ａ及び出力部１３０ａが設けられる情報処理システム１００ａの構成、すなわち、情報の表示面と離隔して入力部１１０ａ及び出力部１３０ａが設けられる構成を例にして説明する。以下の説明では、情報処理システム１００ａ、入力部１１０ａ、出力部１３０ａを、単に情報処理システム１００、入力部１１０、出力部１３０としても説明する。
【００３０】
［１．２．機能構成例］
続いて、本開示の一実施形態にかかる情報処理システムの機能構成例について説明する。図５は、本開示の一実施形態にかかる情報処理システムの機能構成例を示す説明図である。以下、図５を用いて本開示の一実施形態にかかる情報処理システムの機能構成例について説明する。
【００３１】
図５に示したように、本開示の一実施形態にかかる情報処理システム１００は、入力部１１０と、制御部１２０と、出力部１３０と、を含んで構成される。
【００３２】
入力部１１０は、情報処理システム１００を使用するユーザの情報処理システム１００に対する操作内容や、出力部１３０が情報を出力する面（例えば図１に示したテーブル１４０ａ）に置かれている物体の形状や模様などを入力する。情報処理システム１００を使用するユーザの情報処理システム１００に対する操作内容には、情報処理システム１００が情報の表示面に出力するＧＵＩに対する操作内容を含む。入力部１１０が入力した、情報処理システム１００に対する操作内容、物体の形状、模様等の情報は制御部１２０に送られる。
【００３３】
入力部１１０は、情報処理システム１００がプロジェクション型である場合、例えば１つのレンズで構成されるカメラ、２つのレンズで構成されるステレオカメラ、マイク等で構成され得る。
【００３４】
制御部１２０は、情報処理システム１００の各部の制御を実行する。例えば制御部１２０は、入力部１１０が入力した情報を用いて、出力部１３０から出力する情報を生成する。図５に示したように、制御部１２０は、検出部１２１と、出力制御部１２２と、を含んで構成される。検出部１２１は、情報処理システム１００を使用するユーザの、情報処理システム１００に対する操作内容や、出力部１３０が出力している情報の内容、出力部１３０が情報を出力する面（例えば図１に示したテーブル１４０ａ）に置かれている物体の形状や模様などを検出する処理を実行する。検出部１２１が検出した内容は出力制御部１２２に送られる。出力制御部１２２は、検出部１２１が検出した内容に基づいて、出力部１３０から出力する情報を生成する制御を実行する。出力制御部１２２が生成した情報は出力部１３０に送られる。
【００３５】
例えば情報処理システム１００が図１に示したプロジェクション型の場合、情報の表示面の座標と、ユーザの手等の操作体の表示面への接触座標とが一致するように予め校正されることで、検出部１２１は、ユーザの手等の操作体が、ＧＵＩのどの部分に接触したかを検出することが可能になる。
【００３６】
制御部１２０は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央演算処理装置）などで構成されていてもよい。制御部１２０がＣＰＵ等の装置で構成される場合は、かかる装置は電子回路で構成され得る。
【００３７】
また図５には図示しないが、制御部１２０は、他の装置との間で無線通信を行なうための通信機能や、情報処理システム１００に接続される他の装置、例えば照明機器の動作を制御する機能を有してもよい。
【００３８】
出力部１３０は、入力部１１０によって入力された、情報処理システム１００を使用するユーザの操作内容や、出力部１３０が出力している情報の内容、また出力部１３０が情報を出力する面（例えば図１に示したテーブル１４０ａ）に置かれている物体の形状や模様等の情報に応じて情報を出力する。出力部１３０は、出力制御部１２２が生成する情報に基づいて情報を出力する。出力部１３０が出力する情報には、情報の表示面に表示される情報や、スピーカ（図示せず）等から出力される音声などが含まれる。
【００３９】
図５に示した情報処理システム１００は、単独の装置として構成されてもよく、一部または全部が別々の装置で構成されても良い。例えば、図５に示した情報処理システム１００の機能構成例の内、制御部１２０が、入力部１１０及び出力部１３０とネットワーク等で接続されたサーバ等の装置に備えられていても良い。制御部１２０がサーバ等の装置に備えられる場合は、入力部１１０からの情報がネットワーク等を通じて当該サーバ等の装置に送信され、制御部１２０が入力部１１０からの情報に対して処理を行って、当該サーバ等の装置から、出力部１３０が出力するための情報がネットワーク等を通じて出力部１３０に送られる。
【００４０】
以上、図５を用いて本開示の一実施形態にかかる情報処理システム１００の機能構成例について説明した。続いて、本開示の一実施形態にかかる情報処理システム１００による情報の表示制御例について説明する。
【００４１】
［１．３．表示制御例］
図６は、本開示の一実施形態にかかる情報処理システム１００の操作状況の例を示す説明図である。図６に示したように、本開示の一実施形態にかかる情報処理システム１００は、複数のユーザが、例えばテーブル１４０ａに表示される同一の画面上でそれぞれ独立したアプリケーションを実行することが出来るよう構成されたシステムである。図６に示したアプリケーションのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）は、出力制御部１２２が生成し、出力部１３０が出力する。図６に示した符号１１００は、アプリケーションを操作するためのメニューボタンである。
【００４２】
本開示の一実施形態にかかる情報処理システム１００は、出力部１３０が情報の表示面に出力したアプリケーションのＧＵＩに対するユーザの操作内容を入力部１１０で取得する。情報処理システム１００は、ユーザにその表示面に対して手等の操作体を接触させたり、接触させたその操作体を表示面上で移動させたりすることによって、出力部１３０が情報の表示面に出力したアプリケーションのＧＵＩの操作を受け付ける。
【００４３】
図７及び図８は、本開示の一実施形態にかかる情報処理システム１００が表示するアプリケーションのＧＵＩの例を示す説明図である。図７は、アプリケーションのウィンドウの隅（図７の例では左隅）を中心として扇型にボタンが配置されているＧＵＩの例である。図８は、アプリケーションのウィンドウの一辺（図８の例では下の辺）に沿ってボタンが配置されているＧＵＩの例である。図７に示した符号１１００は、アプリケーションを操作するためのメニューボタンである。また図７に示した符号１１１０は、符号１１００に示したメニューボタンにユーザが接触した際に表示される、または最初から表示されている、アプリケーションを操作するためのメニューボタン群である。同様に、図８に示した符号１１００’は、アプリケーションを操作するためのメニューボタンである。また図８に示した符号１１１０’は、符号１１００’に示したメニューボタンにユーザが接触した際に表示される、または最初から表示されている、アプリケーションを操作するためのメニューボタン群である。
【００４４】
情報処理システム１００は、メニューボタン群１１１０の中の任意のメニューボタンにユーザが指等を接触させた状態で、ユーザがその指等を情報の表示面上でメニューボタン群１１１０の並びに沿って移動させると、メニューボタン群１１１０を、そのユーザの操作に追従してメニューボタン１１００を中心に回転するよう表示させる。
【００４５】
図９及び図１０は、本開示の一実施形態にかかる情報処理システム１００が表示するアプリケーションのＧＵＩの例を示す説明図であり、複数のウィンドウが表示されている状態を示す説明図である。図９及び図１０には、情報処理システム１００が実行するアプリケーションをユーザが起動するためのメニューであるグローバルメニューと、起動されたアプリケーションをユーザが操作するためのメニューであるローカルメニューと、が表示されている様子が示されている。図９には、グローバルメニュー及びローカルメニューが扇型に表示されるボタン形式で表示されている例が示されており、図１０には、グローバルメニュー及びローカルメニューがバー形式で表示されている例が示されている。なお、図９においては、グローバルメニューがメニューボタン１１００ａ及びメニューボタン群１１１０ａであり、ローカルメニューがメニューボタン１１００ｂ及びメニューボタン群１１１０ｂである。また図１０においては、グローバルメニューがメニューボタン１１００’及びメニューボタン群１１１０’である。
【００４６】
図１１〜図１３は、本開示の一実施形態にかかる情報処理システム１００が表示するアプリケーションのＧＵＩの例を示す説明図である。図１１の符号Ａはカメラアプリケーションを起動するためのボタンアイコン１１０１の例であり、符号Ｂは情報処理システム１００が管理しているデータを読み込むためのボタンアイコン１１０１の例であり、符号Ｃはフォルダを意味するボタンアイコン１１０１の例である。図１１の符号Ｂに示した、情報処理システム１００が管理しているデータを読み込むためのボタンアイコン１１０１をユーザが選択すると、情報処理システム１００は、そのデータを読み込んで、当該データの種類に応じた動作を実行する。当該データが画像データであれば、情報処理システム１００は、その画像データを出力部１３０から出力させる。当該データが楽曲データであれば、情報処理システム１００は、その楽曲データを出力部１３０から再生させる。
【００４７】
図１２は、図１１の符号Ａに示したカメラアプリケーションを起動するためのボタンアイコン１１０１を、情報処理システム１００のユーザが選択した際の表示例を示す説明図である。また図１３は、情報処理システム１００のユーザがメニューボタン１１００を、選択した際の表示例を示す説明図である。図１３に示した例では、メニューボタン１１００がユーザによって選択されると、メニューボタン１１００に属する機能を実行させるためのメニューボタン群１１１０が表示されている。
【００４８】
本開示の一実施形態に係る情報処理システム１００が、このようなＧＵＩを出力しようとする場合、他のウィンドウの位置や、情報の表示面の状態、例えば図１に示したテーブル１４０ａに置かれている物体の状態によっては、予め設定されている初期状態でメニューを表示させてしまうと様々な不都合が生じうる。例えば、ウィンドウの位置が表示領域の外にはみ出てしまうと、選択できないメニューが生じてしまう。また他のウィンドウに覆い隠されることによって、ウィンドウを最前面に移動させる操作をユーザが行わないと、選択できないメニューが生じてしまう。また図６のように、本開示の一実施形態に係る情報処理システム１００は、様々な方向からユーザがメニューを操作することが出来るため、ユーザの位置や向きによってはメニューまでの位置が遠くなり、ユーザが触りづらくなる。また、図１のように出力部１３０ａからテーブル１４０ａに情報を表示させる場合、テーブル１４０ａに物体が置かれている場所にメニューが重なってしまうことで、メニューが操作できなくなる。
【００４９】
そこで本開示の一実施形態に係る情報処理システム１００は、他のウィンドウの位置や、情報の表示面の状態を検出し、その検出結果に基づいてメニューの位置を制御する。具体的には、本開示の一実施形態に係る情報処理システム１００は、例えば図１に示したテーブル１４０ａや、図２に示したテーブル１４０ｂに置かれている物体の状態を検出し、その検出結果に基づいてメニューの位置を制御する。情報の表示面の状態を検出し、その検出結果に基づいてメニューの位置を制御することで、本開示の一実施形態に係る情報処理システム１００は、情報を表示しようとする環境に応じて、適切かつ効率的に情報を表示することが可能となる。以下、本開示の一実施形態に係る情報処理システム１００によるメニューの位置の制御方法について説明する。
【００５０】
図１４〜図１６は、本開示の一実施形態に係る情報処理システム１００の動作例を示す流れ図である。図１４〜図１６に示したのは、他のウィンドウの位置や、情報の表示面の状態を検出し、その検出結果に基づいてメニューの位置を制御する際の、情報処理システム１００の動作例である。以下、図１４〜図１６を用いて、本開示の一実施形態に係る情報処理システム１００の動作例について説明する。
【００５１】
情報処理システム１００のユーザが、メニューを表示させるための所定の操作を実行すると、情報処理システム１００は、そのメニューを表示するメニュー移動先を、現在のメニュー位置にセットする（ステップＳ１００１）。ステップＳ１００１の処理は例えば出力制御部１２２が実行する。続いて情報処理システム１００は、ユーザの操作に応じて表示するウィンドウの状態が、メニュー位置に関係するかどうか判断する（ステップＳ１００２）。この判断は例えば検出部１２１が実行する。具体的には、ステップＳ１００２では、情報処理システム１００はウィンドウが最大化されているかどうかの判定を実行し、ウィンドウが最大化されていれば、ウィンドウの状態がメニュー位置に関係すると判定する。なお、ウィンドウが最大化されているとは、出力部１３０によって表示が可能な最大の範囲でウィンドウが表示されていることを言う。
【００５２】
ステップＳ１００２の判断の結果、ユーザの操作に応じて表示するウィンドウの状態が、メニュー位置に関係すれば（ステップＳ１００２、Ｙｅｓ）、すなわちウィンドウが最大化されていれば、続いて情報処理システム１００は、ウィンドウの状態に応じて、ステップＳ１００１でセットしたメニュー位置にオフセットをかける処理を実行する（ステップＳ１００３）。すなわち情報処理システム１００は、メニュー位置を所定量ウィンドウの内側に寄せるようなオフセットを、ステップＳ１００１でセットしたメニュー位置に与える。ステップＳ１００３の処理は例えば出力制御部１２２が実行する。
【００５３】
図１７は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図であり、情報処理システム１００が表示するアプリケーションのウィンドウが最大化されている状態が示されている。具体的には、ウィンドウが最大化されている状態であるので、ステップＳ１００３では、図１７に示したように、メニューボタン１１００の位置をウィンドウの内側に所定量移動させる処理が情報処理システム１００によって実行される。一方、ステップＳ１００２の判断の結果、ユーザの操作に応じて表示するウィンドウの状態が、メニュー位置に関係しなければ（ステップＳ１００２、Ｎｏ）、すなわちウィンドウが最大化されていなければ、情報処理システム１００はステップＳ１００３の処理をスキップする。
【００５４】
続いて情報処理システム１００は、ステップＳ１００１でセットされたメニュー移動先が、画面の内部、つまり出力部１３０によって表示が可能な画面の内部にあるかどうか判断する（ステップＳ１００４）。この判断は例えば検出部１２１が実行する。
【００５５】
図１８は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図であり、メニューが画面内部にあるかどうかについて示す説明図である。図１８において、破線で示した円は、メニューボタン１１００のメニュー移動先が画面外部、つまり出力部１３０によって表示が可能な画面の外部にある場合のメニュー移動先の例であり、実線で示した円は、メニューボタン１１００のメニュー移動先が画面内部、つまり出力部１３０によって表示が可能な画面の内部にある場合のメニュー移動先の例である。
【００５６】
ステップＳ１００１でセットされたメニュー移動先が画面内部にあれば（ステップＳ１００４、Ｙｅｓ）、続いて情報処理システム１００は、ステップＳ１００１でセットされたメニュー移動先が、情報処理システム１００が表示する他のウィンドウに覆われていないかどうか判断する（ステップＳ１００５）。この判断は例えば検出部１２１が実行する。
【００５７】
図１９は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図であり、メニューボタン１１００が、情報処理システム１００が表示する他のウィンドウに覆われている状態にあるかどうかについて示す説明図である。図１９において、破線で示した円は、メニューボタン１１００が他のウィンドウに覆われている場合のメニュー移動先の例であり、実線で示した円は、メニューボタン１１００が他のウィンドウに覆われていない場合のメニュー移動先の例である。
【００５８】
ステップＳ１００１でセットされたメニュー移動先が、情報処理システム１００が表示する他のウィンドウに覆われていなければ（ステップＳ１００５、Ｙｅｓ）、続いて情報処理システム１００は、ステップＳ１００１でセットされたメニュー移動先が、ユーザの位置やユーザの操作方向に応じて適切な位置にあるかどうか判断する（ステップＳ１００６）。具体的には、情報処理システム１００は、ステップＳ１００１でセットされたメニュー移動先と、ユーザの位置やユーザの操作方向とを比較し、ステップＳ１００１でセットされたメニュー移動先が、ユーザの位置やユーザの操作方向に応じて適切な位置にあるかどうか判断する。この判断は例えば検出部１２１が実行する。
【００５９】
図２０は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図であり、ステップＳ１００１でセットされたメニュー移動先が、ユーザの位置やユーザの操作方向に応じて適切な位置にあるかどうかについて示す説明図である。図２０において、破線で示した円は、メニューボタン１１００の移動先がユーザの位置から遠いので、メニューボタン１１００の移動先がユーザの位置やユーザの操作方向（画面下から上の方向）に応じて適切な位置に無い場合の例であり、実線で示した円は、メニューボタン１１００の移動先がユーザの位置に近いので、メニューボタン１１００の移動先がユーザの位置やユーザの操作方向（画面下から上の方向）に応じて適切な位置にある場合の例である。
【００６０】
ステップＳ１００６の判断の結果、ステップＳ１００１でセットされたメニュー移動先がユーザの位置やユーザの操作方向に応じて適切な位置にあれば（ステップＳ１００６、Ｙｅｓ）、続いて情報処理システム１００は、ステップＳ１００１でセットされたメニュー移動先が、情報処理システム１００が表示する情報の表示面に置かれている物体と干渉しないかどうか判断する（ステップＳ１００７）。この判断は例えば検出部１２１が実行する。情報処理システム１００が表示する情報の表示面としては、例えば、図１に示したテーブル１４０ａの天面が挙げられる。メニュー移動先が物体と干渉するとは、メニュー移動先が物体の少なくとも一部と重なっていることを言うものとする。
【００６１】
図２１は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図であり、ステップＳ１００１でセットされたメニューボタン１１００の移動先が、情報の表示面に置かれている物体１２００と干渉しないかどうかについて示す説明図である。図２１において、破線で示した円は、メニューボタン１１００の移動先が情報の表示面に置かれている物体１２００と干渉している場合の例であり、実線で示した円は、メニューボタン１１００の移動先が情報の表示面に置かれている物体１２００と干渉していない場合の例である。なお、検出部１２１は、破線で示した円のように、メニューボタン１１００の移動先が情報の表示面に置かれている物体１２００に重なっている場合は一律に干渉していると判断してもよく、メニューボタン１１００の移動先が情報の表示面に置かれている物体１２００に重なっている場合であっても、そのメニューボタン１１００の移動先が物体１２００の平面上に位置している場合は、メニュー移動先が情報の表示面に置かれている物体と干渉していないと判断してもよい。
【００６２】
ステップＳ１００１でセットされたメニュー移動先が情報の表示面に置かれている物体と干渉しない場合は（ステップＳ１００７、Ｙｅｓ）、情報処理システム１００は、ユーザによって呼び出されたメニューをステップＳ１００１でセットされたメニュー移動先へ移動する（ステップＳ１００８）。ステップＳ１００８の処理は例えば出力制御部１２２が実行する。
【００６３】
一方、上記ステップＳ１００４〜Ｓ１００７の判断で、少なくともいずれかが条件を満たさない場合は（ステップＳ１００４〜Ｓ１００７、Ｎｏ）、続いて情報処理システム１００は、全てのメニュー移動先を調べたかどうかを判断する（ステップＳ１００９）。全てのメニュー移動先を調べたかどうかの判断は、例えば検出部１２１が実行する。
【００６４】
上記ステップＳ１００９の判断の結果、全てのメニュー移動先を調べきっていなければ（ステップＳ１００９、Ｎｏ）、情報処理システム１００は、他のメニュー移動先について上記ステップＳ１００４〜Ｓ１００７の判断を実行する。まず情報処理システム１００は、ユーザの位置が取れているかどうかを判断する（ステップＳ１０１０）。ユーザの位置が取れているかどうかの判断は、例えば検出部１２１が実行する。具体的には、ステップＳ１０１０では、例えばカメラによるユーザの体、顔、頭等の認識や、マイクによる音声の方向の認識などによって、ユーザの位置が取れているかどうかが判断される。
【００６５】
上記ステップＳ１０１０の判断の結果、ユーザの位置が取れていれば（ステップＳ１０１０、Ｙｅｓ）、続いて情報処理システム１００は、メニュー移動先をユーザ位置に最も近い、かつ未調査の位置にセットする（ステップＳ１０１１）。ステップＳ１０１１の処理は例えば出力制御部１２２が実行する。そしてメニュー移動先をユーザ位置に最も近い未調査の位置にセットすると、続いて情報処理システム１００は、上記ステップＳ１００４〜Ｓ１００７の判断を再度実行する。メニューが図７に示したようなボタン型の場合は、ウィンドウの４つの角の内、ユーザ位置に最も近い未調査の位置にメニュー移動先がセットされる。またメニューが図８に示したようなバー型の場合は、ウィンドウの４つの辺の内、ユーザ位置に最も近い未調査の位置にメニュー移動先がセットされる。
【００６６】
図２２は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図２２において、実線で示した円は、ステップＳ１００１の処理で設定されたメニューボタン１１００の移動先（初期メニュー位置）の例を示し、破線で示した円はメニューボタン１１００の移動先の候補の例を示している。図２２に示した例では、ユーザの位置に最も近いのはウィンドウの左下の角であり、２番目に近いのはウィンドウの右下の角であり、（初期メニュー位置を除いて）３番目に近いのはウィンドウの右上の角である。従って図２２に示した例では、まず情報処理システム１００は、ユーザ位置に最も近い未調査の位置として、ユーザの位置に最も近い、ウィンドウの左下の角にメニューボタン１１００の移動先を設定する。
【００６７】
一方、上記ステップＳ１０１０の判断の結果、ユーザの位置が取れていなければ（ステップＳ１０１０、Ｎｏ）、続いて情報処理システム１００は、ユーザがよく使用する物体を情報の表示面上で認識できているかどうか判断する（ステップＳ１０１２）。ユーザがよく使用する物体の情報の表示面上での認識は、例えば検出部１２１が実行する。ユーザがよく使用する物体は、例えば携帯電話、スマートフォン、タブレット端末、鍵、本、新聞、雑誌、食器、おもちゃ等、どのような物体であっても良い。そして情報処理システム１００は、情報の表示面に置かれている物体を認識しておき、メニューを表示しようとしている時点で、情報の表示面に置かれている物体と、予め認識しておいた物体とを比較することで、ユーザがよく使用する物体の有無を判断しても良い。
【００６８】
情報処理システム１００は、情報の表示面上に置かれた物体の履歴を、入力部１１０で取得された情報を保持しておくことで蓄えることが出来る。なお情報の表示面上に置かれた物体の履歴は、情報処理システム１００とネットワーク等で接続される別の装置に蓄えられるようにしても良いことは言うまでもない。
【００６９】
情報処理システム１００は、情報の表示面上に置かれた物体が、ユーザがよく使用する物体であるかの判断を、例えばその物体が所定の頻度を上回って情報の表示面上に置かれたかどうかで判断してもよく、また例えば、ユーザによってよく使用する物体であると登録された物体であるかどうかで判断してもよい。
【００７０】
上記ステップＳ１０１２の判断の結果、ユーザがよく使用する物体を情報の表示面上で認識できていれば（ステップＳ１０１２、Ｙｅｓ）、続いて情報処理システム１００は、メニュー移動先をユーザがよく使用する物体の位置に最も近い、かつ未調査の位置にセットする（ステップＳ１０１３）。ステップＳ１０１３の処理は例えば出力制御部１２２が実行する。
【００７１】
図２３は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図２３において、実線で示した円は、ステップＳ１００１の処理で設定されたメニューボタン１１００の移動先（初期メニュー位置）の例を示し、破線で示した円はメニューボタン１１００の移動先の候補の例を示している。図２３に示した例では、ユーザがよく使用する物体の位置に最も近いのはウィンドウの左下の角であり、２番目に近いのはウィンドウの右下の角であり、（初期メニュー位置を除いて）３番目に近いのはウィンドウの右上の角である。従って図２３に示した例では、まず情報処理システム１００は、ユーザがよく使用する物体の位置に最も近い未調査の位置として、ユーザがよく使用する物体の位置に最も近い、ウィンドウの左下の角にメニューボタン１１００の移動先を設定する。
【００７２】
一方、上記ステップＳ１０１２の判断の結果、ユーザがよく使用する物体を情報の表示面上で認識できていなければ（ステップＳ１０１２、Ｎｏ）、続いて情報処理システム１００は、ユーザの操作履歴を利用してメニュー移動先を決定出来るかどうか判断する（ステップＳ１０１４）。ユーザの操作履歴を利用してメニュー移動先を決定出来るかどうかは、例えば検出部１２１が実行する。情報処理システム１００は、ユーザの操作履歴を、入力部１１０で取得されたユーザ操作の情報を保持しておくことで蓄えることが出来る。なおユーザの操作履歴は、情報処理システム１００とネットワーク等で接続される別の装置に蓄えられるようにしても良いことは言うまでもない。
【００７３】
上記ステップＳ１０１４の判断の結果、ユーザの操作履歴を利用してメニュー移動先を決定出来れば（ステップＳ１０１４、Ｙｅｓ）、続いて情報処理システム１００は、メニュー移動先をユーザがよく操作する位置であって、かつ未調査の位置にセットする（ステップＳ１０１５）。ステップＳ１０１５の処理は例えば出力制御部１２２が実行する。
【００７４】
図２４は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図２４において、実線で示した円は、ステップＳ１００１の処理で設定されたメニューボタン１１００の移動先（初期メニュー位置）の例を示し、破線で示した円はメニューボタン１１００の移動先の候補の例を示している。図２４に示した例では、ユーザがよく操作する位置はウィンドウの右下の角であり、２番目によく操作する位置はウィンドウの左下の角であり、（初期メニュー位置を除いて）３番目によく操作する位置はウィンドウの右上の角である。従って図２４に示した例では、まず情報処理システム１００は、ユーザがよく操作する位置であってかつ未調査の位置として、ウィンドウの右下の角にメニューボタン１１００の移動先を設定する。
【００７５】
一方、上記ステップＳ１０１４の判断の結果、ユーザの操作履歴を利用してメニュー移動先を決定出来れば（ステップＳ１０１４、Ｎｏ）、続いて情報処理システム１００は、メニュー移動先を、元のメニュー位置に最も近い未調査の位置にセットする（ステップＳ１０１６）。ステップＳ１０１６の処理は例えば出力制御部１２２が実行する。
【００７６】
図２５は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図２５において、実線で示した円は、ステップＳ１００１の処理で設定されたメニューボタン１１００の移動先（初期メニュー位置）の例を示し、破線で示した円はメニュー移動先の候補の例を示している。図２５に示した例では、初期メニュー位置に最も近いのはウィンドウの左下の角であり、２番目に近いのはウィンドウの左上の角であり、３番目に近いのはウィンドウの右下の角である。従って図２５に示した例では、まず情報処理システム１００は、元のメニュー位置に最も近い未調査の位置として、ウィンドウの右下の角にメニューボタン１１００の移動先を設定する。
【００７７】
上記ステップＳ１００９の判断の結果、全てのメニュー移動先を調べきっていれば（ステップＳ１００９、Ｙｅｓ）、続いて情報処理システム１００は、情報処理システム１００が表示するウィンドウ内の任意の位置にメニューが移動可能な位置があるかどうか判断する（ステップＳ１０１７）。ステップＳ１０１７の処理は例えば検出部１２１が実行する。
【００７８】
上記ステップＳ１０１７の判断の結果、ウィンドウ内の任意の位置にメニューが移動可能な位置があれば（ステップＳ１０１７、Ｙｅｓ）、情報処理システム１００は、上述の処理に当てはまらない位置であって、初期位置から最も近く、かつ画面に表示されるウィンドウ内の任意の位置にメニュー移動先を設定する（ステップＳ１０１８）。ステップＳ１０１８の処理は、例えば出力制御部１２２が実行する。
【００７９】
図２６は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図２６に示したのは、ウィンドウの四隅がいずれもメニュー移動先として相応しくない場合の、メニューボタン１１００の移動先の設定例である。すなわち図２６には、ウィンドウの左上の角及び左下の角は画面の外にはみ出てしまい、右上の角は情報の表示面に置かれている物体と干渉してしまい、右下の角は他のウィンドウに覆われてしまっている状態が示されている。このような場合、情報処理システム１００は、メニューボタン１１００の移動先として、初期位置（図２６の例では、ウィンドウの左下の角）に最も近く、かつ画面に表示されるウィンドウ内のある位置を決定し、その位置にメニューボタン１１００の移動先を設定する。
【００８０】
一方、上記ステップＳ１０１７の判断の結果、ウィンドウ内の任意の位置にメニューが移動可能な位置がなければ（ステップＳ１０１７、Ｎｏ）、続いて情報処理システム１００は、画面内にウィンドウが１つしか無いかどうか判断する（ステップＳ１０１９）。ステップＳ１０１９の処理は例えば検出部１２１が実行する。
【００８１】
上記ステップＳ１０１９の判断の結果、画面内にウィンドウが１つしか無ければ（ステップＳ１０１９、Ｙｅｓ）、情報処理システム１００は、他のウィンドウのメニューと混同するおそれが無いので、上述の処理に当てはまらない位置であって、初期位置から最も近く、かつ画面に表示されるウィンドウ外の任意の位置にメニュー移動先を設定する（ステップＳ１０２０）。ステップＳ１０２０の処理は、例えば出力制御部１２２が実行する。一方、上記ステップＳ１０１９の判断の結果、画面内にウィンドウが複数存在すれば、情報処理システム１００は、メニュー移動先は変更せずに、そのまま処理を終了させる。
【００８２】
図２７は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図２７に示したのは、情報処理システム１００が表示するウィンドウが全て物体１２２０に被っており、かつ、画面にウィンドウが１つしか表示されていない場合の、メニューボタン１１００の移動先の設定例である。情報処理システム１００が表示するウィンドウの中の任意の位置にメニューが移動可能な位置が無く、かつ、情報処理システム１００によって画面にウィンドウが１つしか表示されていなければ、情報処理システム１００は、メニューボタン１１００の移動先として、初期位置（図２７の例では、ウィンドウの左下の角）に最も近く、かつ画面に表示されるウィンドウ外のある位置を決定し、その位置にメニューボタン１１００の移動先を設定する。
【００８３】
上述した一連の処理の実行により、情報処理システム１００は、図６のような形態以外にも、メニューの位置を適切な位置に移動させる制御が可能になる。図２８は、画面が地面に垂直になるような情報処理システム１００ｄでのメニュー表示制御例を示す説明図である。図２８には、画面にウィンドウが４つ表示されているが、上述した一連の処理の実行により、いずれのウィンドウにおいても、ウィンドウに付随するメニューバーが重なり合わないように表示されている状態が示されている。
【００８４】
図２９は、図２８と同様に、画面が地面に対して垂直になるような情報処理システム１００ｄでのメニュー表示制御例を示す説明図である。図２９には、画面にウィンドウが４つ表示されているが、上述した一連の処理の実行により、いずれのウィンドウにおいても、ウィンドウに付随するメニューバーが重なり合わないように表示されている状態が示されている。
【００８５】
図３０は、ディスプレイをテーブルに置いて操作させるような情報処理システム１００ｃでのメニュー表示制御例を示す説明図である。図３０に示したのは、あるユーザ（ユーザＸとする）が操作していたウィンドウを、そのユーザＸの対面にいるユーザ（ユーザＹとする）が操作しようと手を伸ばすと、そのユーザＹが操作しやすいよう、メニューボタン１１００を自動的にユーザＹに近い位置に移動させる表示制御が実行されている例である。情報処理システム１００ｃに、ユーザの位置を検出できるカメラ、マイクその他のセンサ装置が設けられることで、情報処理システム１００ｃは、ユーザが画面に対してどの位置に存在するか、また、どの方向から操作しようとしているかを検出することが可能である。従って、上述した一連の処理の実行により、情報処理システム１００ｃは、ユーザＹが操作しやすいようにメニューボタン１１００を自動的にユーザＹに近い位置に移動させる表示制御を実行することが出来る。
【００８６】
図３１は、メニューやウィンドウをテーブルに投影し、その投影したメニューやウィンドウに対して操作させるような情報処理システム１００ａでのメニュー表示制御例を示す説明図である。図３１は、食卓で情報処理システム１００ａが利用される場合を例示したものである。食卓のような物が置かれやすい場においては、実物体の上にメニューが投影されるケースが多くなる可能性があり、ユーザがメニューに直接触れない場合や、触るのにユーザの心理的負荷が大きい場合が生じやすくなる。例えば図３１には、情報処理システム１００ａが情報を表示する面に、ケーキ１２０１やコーヒー１２０２が置かれている状態が示されている。
【００８７】
ユーザが、食卓の上のメニューが投影されている実物体を、メニューが投影されていない場所に移動させれば、ユーザは投影されたメニューを操作することが出来る。また、ユーザが、実物体にメニューが投影されないような位置に投影されたウィンドウを移動させる操作を行えば、ユーザは投影されたメニューを操作することが出来る。しかし、これらの操作をユーザに強いるのは負担が大きい。
【００８８】
そこで情報処理システム１００ａは、上述した一連の処理の実行により、図３１のように、食卓の上の実物体（ケーキ１２０１やコーヒー１２０２）の位置に重ならないように、メニューボタン１１００の表示位置を自動的に変化させる。食卓の上の実物体の位置に重ならないようにメニューボタン１１００の表示位置を自動的に変化させることで、情報処理システム１００ａは、ユーザの操作負担を軽減させることが出来る。
【００８９】
本開示の一実施形態に係る情報処理システム１００は、上述した一連の処理を実行することで、他のウィンドウの位置や、情報の表示面の状態、例えば図１に示したテーブル１４０ａに置かれている物体の状態を検出し、その検出結果に基づいてメニューの位置を適切な位置に移動させる制御を行なうことが出来る。
【００９０】
本開示の一実施形態に係る情報処理システム１００は、上述した一連の処理を実行することで、ユーザがウィンドウの位置を移動させたり、情報の表示面に置かれている実物体を移動させたりするステップを要することなく、メニューを操作することが出来る。従って、本開示の一実施形態に係る情報処理システム１００は、上述した一連の処理を実行することで、ユーザが目的の操作を行なうまでのステップ数及び時間が短縮される。
【００９１】
また本開示の一実施形態に係る情報処理システム１００は、上述した一連の処理を実行することで、画面外へウィンドウが頻繁に移動する可能性がある、全方位から操作可能なウィンドウを有するＧＵＩにおいて、画面外に追いやられたウィンドウに対するユーザの操作の手間を軽減させることが出来る。画面外に追いやられたウィンドウに対するユーザの操作の手間の軽減により、本開示の一実施形態に係る情報処理システム１００は、画面を広く使用させることを可能とする。
【００９２】
また本開示の一実施形態に係る情報処理システム１００は、複数のウィンドウがユーザによって画面に表示された場合であっても、常にメニューが見えるよう、メニューの表示位置が制御されることで、ユーザが目的のアプリケーションを特定しやすくなるという効果をもたらす。
【００９３】
また本開示の一実施形態に係る情報処理システム１００は、図１に示したような、画面を投影する形態の場合に、実物体に操作を阻まれることが無くなる。従って本開示の一実施形態に係る情報処理システム１００は、操作のためにユーザに実物体を移動させたり、ウィンドウの位置を移動させたり、また投影場所に実物体を置かないようしたりにする負荷を軽減させたりすることができるという効果をもたらす。
【００９４】
本開示の一実施形態に係る情報処理システム１００が、例えば図１に示したような、テーブルに情報を投影して、その情報に対してユーザに操作させるような形態を採る場合、情報処理システム１００は、テーブルの上にスマートフォン等の携帯端末との連携が可能になる。例えば、ユーザがテーブルの上にスマートフォン等の携帯端末を置き、その携帯端末を入力部１１０に認識させることで、本開示の一実施形態に係る情報処理システム１００は、その携帯端末を識別し、識別した携帯端末との連携を可能にする。
【００９５】
しかし、複数のユーザが全く同じ携帯端末を所有しており、その同じ携帯端末を同時に、また別々にテーブルの上に置いて、情報処理システム１００に認識させようとすると、情報処理システム１００は、どちらの携帯端末に連携すれば良いか判断できなくなる。
【００９６】
そこで本開示の一実施形態では、複数のユーザが全く同じ携帯端末を所有しており、同じ携帯端末が同時に、また別々にテーブルの上に置かれた場合であっても、連携する携帯端末を容易に特定可能な情報処理システム１００について説明する。
【００９７】
本開示の一実施形態に係る情報処理システム１００は、検出部１２１が、画像認識技術を用いて、連携する携帯端末の識別を行なうとともに、識別した携帯端末の位置、姿勢、また入力部１１０からの距離を検出する。従って本開示の一実施形態に係る情報処理システム１００は、携帯端末を識別するために必要な特徴量データを有する。また情報処理システム１００に認識されようとする携帯端末は、情報処理システム１００に発見される画像データを有する。
【００９８】
情報処理システム１００と携帯端末との連携については、以下の様な手法が考えられる。例えば、携帯端末の所有者がそれぞれ好みの画像を選択し、予めその画像を情報処理システム１００に認識させる方法がある。画像を認識させた後に、携帯端末の所有者が、所有している携帯端末に、その予め認識させた画像を表示させて、情報処理システム１００に認識させることで、情報処理システム１００と携帯端末との連携が可能になる。
【００９９】
また、携帯端末の所有者が、情報処理システム１００に認識してもらうための画像データを含んだ認識専用のアプリケーションを、携帯端末に予めインストールしておく方法がある。係るアプリケーションに含まれる画像データの特徴量データを、予め情報処理システム１００に持たせることで、情報処理システム１００での検出処理の負荷を抑えることが出来る。
【０１００】
また、ロック画面やホーム画面など、携帯端末のシステムが生成する画面を、認識対象の画像として情報処理システム１００に認識させる方法がある。携帯端末のシステムが生成する画面を情報処理システム１００に認識させるには、専用のアプリケーションを介してもよいし、ユーザ自身が画面をキャプチャして、キャプチャした画像を情報処理システム１００に認識させてもよい。
【０１０１】
図３２及び図３３は、本開示の一実施形態に係る情報処理システム１００及び情報処理システム１００と連携する携帯端末の動作例を示す流れ図である。図３２に示したのは情報処理システム１００と連携する携帯端末の動作例であり、図３３に示したのは情報処理システム１００の動作例である。なお、図３２及び図３３に示した動作が行われる前に、携帯端末は予め任意の画像を情報処理システム１００に登録しているものとする。以下、図３２及び図３３を用いて、本開示の一実施形態に係る情報処理システム１００及び情報処理システム１００と連携する携帯端末の動作例について説明する。
【０１０２】
情報処理システム１００と連携する携帯端末は、ユーザの所定の操作に応じ、情報処理システム１００に認識させるための認識用画面を表示する（ステップＳ１１０１）。また情報処理システム１００は、ユーザの所定の操作に応じ、携帯端末を認識するモード（以下「認識モード」とも称する）に移行する（ステップＳ１１１１）。
【０１０３】
ユーザは、上記ステップＳ１１０１で情報処理システム１００に認識させるための認識用画面を表示した携帯端末を、情報処理システム１００に認識させるための認識可能エリア内に置く（ステップＳ１１０２）。この認識可能エリアは、情報処理システム１００が任意の領域を設定し得る。例えばテーブルに情報を投影するシステムである場合、そのテーブルに情報が投影される領域全体が認識可能エリアであってもよく、または所定の一部の領域が認識可能エリアであってもよい。所定の一部の領域を認識可能エリアに設定する場合は、情報処理システム１００は、認識可能エリアであることが分かるような表示を出力部１３０から出力しても良い。
【０１０４】
また情報処理システム１００は、上記ステップＳ１１１１で認識モードに移行すると、続いて、情報処理システム１００に登録されている認識画像を検索する（ステップＳ１１１２）。この認識画像の検索処理は、例えば検出部１２１が実行する。情報処理システム１００は、このステップＳ１１１２の検索処理を、画像認識用画面を表示した携帯端末が認識可能エリアに置かれたら開始しても良いし、携帯端末が認識可能エリアに置かれる前から開始していても良い。
【０１０５】
上記ステップＳ１１１２の検索処理を開始すると、情報処理システム１００は、上記ステップＳ１１１２の検索処理によって登録されている画像が見つかったかどうかを判断する（ステップＳ１１１３）。この判断処理は、例えば検出部１２１が実行する。そしてステップＳ１１１３の判断処理の結果、登録されている画像が見つからなければ（ステップＳ１１１３、Ｎｏ）、続いて情報処理システム１００は、検索を開始してから一定時間が経過したかどうかを判断する（ステップＳ１１１４）。この判断処理は、例えば検出部１２１が実行する。ステップＳ１１１４の判断処理の結果、一定時間経過しても登録されている画像が見つからなければ（ステップＳ１１１４、Ｙｅｓ）、情報処理システム１００は処理を終了し、認識モードから離脱する。一方ステップＳ１１１４の判断処理の結果、一定時間が経過して無ければ（ステップＳ１１１４、Ｎｏ）、再度ステップＳ１１１２の検索処理を実行する。
【０１０６】
上記ステップＳ１１１３の判断処理の結果、登録されている画像が見つかれば（ステップＳ１１１３、Ｙｅｓ）、続いて情報処理システム１００は、登録されている画像を発見したことを意味する効果を表示する（ステップＳ１１１５）。ステップＳ１１１５の表示処理は、例えば出力制御部１２２が実行する。登録されている画像を発見したことを意味する効果はどのようなものであっても良いが、一例を挙げれば、情報処理システム１００は、例えば、携帯端末が置かれている場所を中心に波紋が広がるような表示を行っても良い。登録されている画像を発見したことを意味する効果が、携帯端末が表示している画像と重なってしまうと、情報処理システム１００での認識処理に影響が出てしまうので、情報処理システム１００は、登録されている画像を発見したことを意味する効果を、携帯端末に重ならないように出力することが望ましい。
【０１０７】
図３４は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図３４に示したのは、情報処理システム１００が表示する、登録されている画像を発見したことを意味する効果の例である。画像認識用画面を表示した携帯端末１３００が認識可能エリアに置かれ、携帯端末１３００が表示している画像が、情報処理システム１００に登録されている画像であることを検出部１２１が認識すると、情報処理システム１００は、携帯端末１３００が置かれている場所を中心に、符号１３０１で示した波紋が広がるような表示を行っても良い。
【０１０８】
なお、情報処理システム１００が携帯端末の画像を認識している際に、携帯端末のディスプレイの輝度が明るすぎたり、また暗すぎたりすると、情報処理システム１００での認識に影響が出る。情報処理システム１００が認識モードにある場合は、例えば携帯端末のユーザは、携帯端末のディスプレイの輝度を調整することで、情報処理システム１００に画像を認識させやすくしても良い。
【０１０９】
上記ステップＳ１１１５で、登録されている画像を発見したことを意味する効果を表示すると、続いて情報処理システム１００は、情報処理システム１００で現在実行中のアプリケーションが、画像を認識し続ける必要があるアプリケーションかどうか判断する（ステップＳ１１１６）。この判断処理は、例えば検出部１２１が実行する。画像を認識し続ける必要があるアプリケーションには、例えば認識した画像に追従して情報を表示し続ける必要があるアプリケーションが挙げられる。
【０１１０】
上記ステップＳ１１１６の判断の結果、情報処理システム１００で現在実行中のアプリケーションが、画像を認識し続ける必要があるアプリケーションで無ければ（ステップＳ１１１６、Ｎｏ）、携帯端末は認識可能エリアに置かれ続ける必要がないので、続いて情報処理システム１００は、認識した携帯端末を認識可能エリアから退かすように促す情報を表示する（ステップＳ１１１７）。ステップＳ１１１５の表示処理は、例えば出力制御部１２２が実行する。携帯端末を退かすように促す情報はどのようなものであっても良い。しかし、携帯端末を退かすように促す情報が、携帯端末が表示している画像と重なってしまうと、情報処理システム１００での認識処理に影響が出てしまうので、情報処理システム１００は、携帯端末を退かすように促す情報を、携帯端末に重ならないように出力することが望ましい。
【０１１１】
図３５は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図３５に示したのは、携帯端末が表示した画像を認識した後に情報処理システム１００が表示する情報の例である。情報処理システム１００が現在実行中のアプリケーションが、画像を認識し続ける必要があるアプリケーションで無ければ、情報処理システム１００は、例えば図３５の符号１３０２で示したような、携帯端末１３００を退かすように促す情報を表示する。情報処理システム１００は、図３５に示したような情報を表示することで、携帯端末１３００のユーザに、携帯端末１３００を認識可能エリアから退かす必要があることを気付かせることができる。携帯端末を退かすように促す情報が、携帯端末が表示している画像と重なってしまうと、情報処理システム１００での認識処理に影響が出てしまう。従って情報処理システム１００は、図３５に示したように、携帯端末を退かすように促す情報を、携帯端末に重ならないように出力することが望ましい。
【０１１２】
情報処理システム１００は、上記ステップＳ１１１７で情報を表示した後に、情報処理システム１００に登録されている画像が画面内（認識可能エリア内）から消えたかどうか判断する（ステップＳ１１１８）。この判断処理は、例えば検出部１２１が実行する。ステップＳ１１１８の判断処理の結果、情報処理システム１００に登録されている画像が画面内（認識可能エリア内）から消えてなければ（ステップＳ１１１８、Ｎｏ）、情報処理システム１００は、ステップＳ１１１７で表示した情報を表示し続ける。一方、図３２のステップＳ１１０３で、携帯端末がユーザによって認識可能エリアから退かされ、情報処理システム１００に登録されている画像が画面内（認識可能エリア内）から消えると（ステップＳ１１１８、Ｙｅｓ）、情報処理システム１００は画像認識処理を停止する（ステップＳ１１１９）。
【０１１３】
一方、上記ステップＳ１１１６の判断の結果、現在実行中のアプリケーションが、画像を認識し続ける必要があるアプリケーションであれば（ステップＳ１１１６、Ｙｅｓ）、情報処理システム１００は、上記ステップＳ１１１７〜Ｓ１１１９の処理をスキップする。
【０１１４】
上記ステップＳ１１１９で画像認識処理を停止すると、続いて情報処理システム１００は、上記ステップＳ１１１３で発見した画像のＩＤを記録する（ステップＳ１１２０）。このステップＳ１１２０の処理は、例えば検出部１２１が実行する。そして情報処理システム１００は、画像のＩＤのマッチングをして、その画像を表示していた携帯端末との通信処理を開始する（ステップＳ１１２１）。情報処理システム１００と、携帯端末との間の通信は、例えばインターネット、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）等で行われる。また情報処理システム１００は、上記ステップＳ１１１３で発見した画像の位置、姿勢、大きさを記録する（ステップＳ１１２２）。このステップＳ１１２２の処理は、例えば検出部１２１が実行する。
【０１１５】
そして情報処理システム１００は、上記ステップＳ１１１３で発見した画像の位置、姿勢、大きさの情報を利用して、携帯端末との接続状態を示す表示を情報の表示面に対して行なう（ステップＳ１１２３）。このステップＳ１１２３の表示処理は、例えば出力制御部１２２が実行する。このステップＳ１１２３での、携帯端末との接続状態を示す表示のことを、以下では「接続マーク」とも称する。情報処理システム１００は、接続マークとして、例えば、認識した携帯端末が表示していた認識用画面と同じ画像を表示しても良い。接続マークとして、認識した携帯端末が表示していた認識用画面と同じ画像を表示することで、情報処理システム１００は、どの接続マークがどの携帯端末に対応しているかをユーザに容易に把握させることが可能となる。
【０１１６】
図３６は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図３６に示したのは、情報処理システム１００が接続マークを表示面に表示している状態の例である。図３６の符号１３０３は、接続マークの例であり、情報処理システム１００が、図３４、３５に示した携帯端末１３００と接続状態にあることが示されている。本開示の一実施形態にかかる情報処理システム１００は、このような接続マークの表示面への表示により、ユーザが所有する携帯端末との連携が行われ、接続マークがデータのやり取りのインターフェースとして画面に表示されていることをユーザに提示することが出来る。後述するように、図３６に示した接続マーク１３０３は、携帯端末からデータを取り出したり、また携帯端末にデータをコピーしたりするためのインターフェースとして用いられ得る。
【０１１７】
また接続マーク１３０３は、図３６に示したように、携帯端末のディスプレイに表示された画像は認識された際の位置、姿勢、大きさに基づいて表示面に表示される。従って接続マーク１３０３は、自ずとその携帯端末を置いたユーザの手元に、ユーザが接触しやすい向きで表示されることになり、複数ユーザや複数端末での機器連携の利便性の向上という効果をもたらす。
【０１１８】
情報処理システム１００と、携帯端末との接続状態は、ユーザの能動的な接続解除操作によって解除されてもよく、一定時間の間携帯端末や接続マークに対して操作が行われなかったら自動的に解除されるようにしてもよい。情報処理システム１００と、携帯端末との接続状態が解除されると、情報処理システム１００は、上記ステップＳ１１２３で表示させた接続マークを消去してもよい。情報処理システム１００は、上記ステップＳ１１２３で表示させた接続マークを消去することで、接続状態が終了したことをユーザに提示することができる。
【０１１９】
上述した一連の処理の実行によって接続マークを情報の表示面に表示させることで、本開示の一実施形態に係る情報処理システム１００は、ユーザに対して様々な体験を提供することが出来る。以下、情報処理システム１００が接続マークの表示によってユーザに提供できる体験の例を説明する。
【０１２０】
情報処理システム１００は、情報の表示面への接続マークの表示によって、携帯端末に保存されている画像データの共有を可能にする。図３７は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図３７に示したのは、接続マークの表示によって、携帯端末に保存されている画像データを共有する際の、情報処理システム１００が実行するアプリケーションのＧＵＩの例である。
【０１２１】
図３７には、情報処理システム１００によって接続マーク１３０３、１３０４が情報の表示面に表示されている状態が示されている。例えば、ユーザに所定のメニューボタンを操作させて、写真を共有するためのアプリケーションを実行させると、情報処理システム１００は、図３７に示したように、接続マーク１３０３、１３０４に対応する携帯端末の画像フォルダなどから画像データを取得し、その接続マーク１３０３、１３０４の周囲に、画像フォルダから取得した画像を表示する。接続マーク１３０３、１３０４の周囲に表示された画像は、ユーザによってドラッグ操作が可能なように表示される。情報処理システム１００は、情報処理システム１００へのコピーを意味するアイコンその他の情報を出力し、表示した画像データを当該情報へユーザにドラッグさせることで、簡単なユーザ操作で、携帯端末が保持している画像データを情報処理システム１００へコピーさせることが可能となる。
【０１２２】
また、図３７に示したように接続マーク１３０３、１３０４を情報の表示面に表示している状態で、例えば接続マーク１３０３に対応する携帯端末に保存されている画像データを、ユーザに接続マーク１３０４にドラッグさせることで、情報処理システム１００を介した携帯端末間での画像データのコピーを可能にしてもよい。従って、情報処理システム１００は、簡単なユーザ操作で、携帯端末が保持している画像データを別の携帯端末へコピーさせることが可能となる。
【０１２３】
情報処理システム１００が上述した一連の処理の実行によって接続マークを表示させた後は、ユーザは携帯端末を自由に持ち歩くことが出来る。従って、例えば情報処理システム１００と連携した携帯端末で写真を撮像すると、その撮像した写真を情報処理システム１００に表示させるようなアプリケーションも可能となる。図３８は、情報処理システム１００の使用例を示す説明図であり、情報処理システム１００と連携した携帯端末を使用してユーザが写真を撮像する様子を示したものである。情報処理システム１００と連携した携帯端末を使用してユーザが写真を撮像すると、情報処理システム１００は、その携帯端末で撮像された写真が、接続マーク１３０３の周囲に表示されるようなアプリケーションも実現することが出来る。情報処理システム１００は、携帯端末で撮像された写真を接続マーク１３０３の周囲に表示する際に、例えば接続マーク１３０３からその写真が現れてくるような効果を付けて表示しても良い。情報処理システム１００は、携帯端末で撮像された写真を、そのような効果を付けて表示することで、どの携帯端末で撮像された写真であるかを明示化出来る。
【０１２４】
情報処理システム１００は、情報の表示面への接続マークの表示によって、携帯端末に保存されている楽曲データの共有を可能にする。図３９は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図３９に示したのは、接続マークの表示によって、携帯端末に保存されている楽曲データを共有する際の、情報処理システム１００が実行するアプリケーションのＧＵＩの例である。
【０１２５】
図３９には、情報処理システム１００によって接続マーク１３０３、１３０４が表示されている状態が示されている。例えば、ユーザに所定のメニューボタンを操作させて、楽曲データを共有するためのアプリケーションを実行させると、情報処理システム１００は、図３９に示したように、接続マーク１３０３、１３０４に対応する携帯端末の音楽フォルダなどから楽曲データを取得し、その接続マーク１３０３、１３０４の周囲に、音楽フォルダから取得した楽曲データのジャケット画像を表示する。接続マーク１３０３、１３０４の周囲に表示されたジャケット画像は、ユーザによってドラッグ操作が可能なように表示される。情報処理システム１００は、情報処理システム１００へのコピーを意味するアイコンその他の情報を出力し、表示したジャケット画像を当該情報へユーザにドラッグさせることで、簡単なユーザ操作で、携帯端末が保持している楽曲データを情報処理システム１００へコピーさせることが可能となる。
【０１２６】
また、図３９に示したように接続マーク１３０３、１３０４を表示している状態で、例えば接続マーク１３０３に対応する携帯端末に保存されている楽曲データのジャケット画像を、ユーザに接続マーク１３０４にドラッグさせることで、情報処理システム１００を介した携帯端末間での楽曲データのコピーを可能にしてもよい。従って、情報処理システム１００は、簡単なユーザ操作で、携帯端末が保持している楽曲データを別の携帯端末へコピーさせることが可能となる。
【０１２７】
また図３９には、情報処理システム１００が楽曲データを再生するためのインターフェースを表示している状態が示されている。ユーザに、楽曲データを再生するためのインターフェースにジャケット画像をドラッグさせることで、情報処理システム１００は、ジャケット画像に対応する楽曲データを再生したり、プレイリストを作成したりする処理を実行することが出来る。
【０１２８】
情報処理システム１００は、画像データや楽曲データ以外にも、様々なデータを情報処理システム１００に連携させた携帯端末と共有することが出来る。情報処理システム１００は、例えば情報処理システム１００に連携させた携帯端末で表示していたウェブサイトや、ブラウザのブックマークについても、上述のＧＵＩと同様に共有させることが出来る。また、情報処理システム１００で表示していたウェブサイトを、情報処理システム１００に連携させた携帯端末で引き続き表示させるために、情報処理システム１００は、情報処理システム１００が実行するブラウザの所定のメニューボタンを接続マークにドラッグさせる、という操作も提供することが出来る。
【０１２９】
情報処理システム１００は、情報の表示面への接続マークの表示によって、携帯端末に保存されている連絡先データの共有を可能にする。図４０は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図４０に示したのは、接続マークの表示によって、携帯端末に保存されている連絡先データを共有する際の、情報処理システム１００が実行するアプリケーションのＧＵＩの例である。
【０１３０】
図４０には、情報処理システム１００によって接続マーク１３０３、１３０４が情報の表示面に表示されている状態が示されている。例えば、ユーザに所定のメニューボタンを操作させて、連絡先データを共有するためのアプリケーションを実行させると、情報処理システム１００は、図４０に示したように、情報の表示面に表示されている接続マーク１３０３、１３０４に対応する携帯端末から連絡先データを取得し、その接続マーク１３０３、１３０４の周囲に、携帯端末から取得した連絡先データを意味する画像を表示する。接続マーク１３０３、１３０４の周囲に表示された画像は、ユーザによってドラッグ操作が可能なように表示される。情報処理システム１００は、情報処理システム１００へのコピーを意味するアイコンその他の情報を出力し、ユーザに当該情報へ表示した画像をドラッグさせることで、簡単なユーザ操作で、携帯端末が保持している連絡先データを情報処理システム１００へコピーさせることが可能となる。
【０１３１】
また情報処理システム１００は、図４０に示したように接続マーク１３０３、１３０４を情報の表示面に表示している状態で、例えば接続マーク１３０３に対応する携帯端末に保存されている連絡先データを、ユーザに接続マーク１３０４にドラッグさせることで、情報処理システム１００を介した携帯端末間での連絡先データのコピーを可能にしてもよい。従って、情報処理システム１００は、簡単なユーザ操作で、携帯端末が保持している連絡先データを別の携帯端末へコピーさせることが可能となる。
【０１３２】
情報処理システム１００と連携される携帯端末は、様々なアプリケーションのインストールによって機能を追加することが出来る。情報処理システム１００は、上述した処理によって接続マークを表示することによって、携帯端末間でアプリケーションの授受を可能にするようなＧＵＩを実現することも出来る。
【０１３３】
図４１は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図４１に示したのは、接続マークの表示によって、携帯端末に保存されているアプリケーションを表示する際の、情報処理システム１００が実行するアプリケーションのＧＵＩの例である。
【０１３４】
図４１には、情報処理システム１００によって接続マーク１３０３、１３０４が情報の表示面に表示されている状態が示されている。例えば、ユーザに所定のメニューボタンを操作させて、携帯端末にインストールされているアプリケーションの一覧を表示するためのアプリケーションを実行させると、情報処理システム１００は、図４１に示したように、接続マーク１３０３、１３０４に対応する携帯端末から、携帯端末にインストールされているアプリケーションの情報を取得し、接続マーク１３０３、１３０４の周囲にアイコンその他の情報で表示する。図４１には、接続マーク１３０３に対応する携帯端末にはアプリケーションが複数インストールされているが、接続マーク１３０４に対応する携帯端末にはアプリケーションが全くインストールされていない状態が示されている。ここで、接続マーク１３０４に対応する携帯端末のユーザが、好みのアプリケーションを接続マーク１３０３に対応する携帯端末にインストールされているものの中から見つけると、そのアプリケーションのアイコンを、接続マーク１３０４にドラッグさせる。このドラッグ操作によって、接続マーク１３０４に対応する携帯端末では、そのアプリケーションのダウンロード及びインストール処理が自動的に行われる。
【０１３５】
本開示の一実施形態に係る情報処理システム１００は、携帯端末が表示した画像を認識することで、携帯端末で専用のアプリケーションを起動させなくても、携帯端末の位置、姿勢、大きさなどを取得した上で、携帯端末と連携して通信を行なうことが出来る。
【０１３６】
本開示の一実施形態に係る情報処理システム１００は、携帯端末との機器連携に先立って、携帯端末で任意の画像を表示させて、その表示させた画像を登録しておく。本開示の一実施形態に係る情報処理システム１００は、このような画像の登録処理を経ることで、ユーザに画像の選択の楽しみを与えることが出来る。また本開示の一実施形態に係る情報処理システム１００は、携帯端末が表示した画像の認識が完了すると、その画像を接続マークとして画面に表示し続けることで、どのユーザの接続マークであるかをユーザに認識させやすくすることが出来る。
【０１３７】
本開示の一実施形態に係る情報処理システム１００は、携帯端末との機器連携に先立って、携帯端末で任意の画像を表示させて、その表示させた画像を登録しておくので、全く同じ機種の携帯端末が複数存在する場合であっても、認識用の画像の使い分けにより、携帯端末の一意な識別を可能にする。なお、複数のユーザがそれぞれ同じ機種を持っており、各ユーザが、たまたま全く同じ画像を認識用画像に選択する可能性が無いわけでは無い。そこで本開示の一実施形態に係る情報処理システム１００は、携帯端末に、選択した認識用画像を情報処理システム１００へ登録させてからでないと、携帯端末との連携が出来ないようにしても良い。携帯端末に、選択した認識用画像を情報処理システム１００へ登録させることで、情報処理システム１００は、携帯端末が選択した画像の重複の有無を判断することが出来る。
【０１３８】
なお、全く同じ画像が認識用画像に選択された場合は、複数のユーザがそれぞれ同じ機種を持っている際に問題となり得るが、違う機種であっても、外観が似ていれば、全く同じ画像が認識用画像に選択されると同様に問題となり得る。従って情報処理システム１００は、連携しようとする携帯端末に対して、全ての携帯端末について一意となるように認識用画像を選択させて、情報処理システム１００に登録させても良い。
【０１３９】
本開示の一実施形態に係る情報処理システム１００は、例えば図６に示したように、複数のユーザからの、様々な方向からのメニューの操作を受け付けることが出来る。しかし、１つのメニューを複数のユーザが扱うと、誰かが使用している間は他のユーザはそのメニューを使用することができない。また複数のユーザからの、様々な方向からのメニューの操作を受け付けることが出来るために、メニューのカスタマイズが難しくなる。つまり、あるユーザが自分で使いやすくするためにカスタマイズしたメニューは、他のユーザにとって必ずしも使いやすいとは限らない。
【０１４０】
複数のユーザからの、様々な方向からのメニューの操作を受け付けることで、複数のウィンドウが表示された状態では、自分が表示させたウィンドウがどれなのか判別しづらくなり易い。また１つのメニューからアプリケーションを起動させると、アプリケーションの立ち上げの際にユーザごとにログインの必要があり、ユーザが増えるほど煩わしくなる。
【０１４１】
そこで本開示の一実施形態に係る情報処理システム１００は、複数のユーザからの、様々な方向からのメニューの操作を受け付ける際の操作性及び利便性の向上を図るよう、以下で説明するようなユーザからの操作を受け付けられるようにする。
【０１４２】
複数のユーザからの、様々な方向からのメニューの操作を受け付ける際の操作性及び利便性の向上を図る際の、情報処理システム１００の動作例について説明する。図４２は、本開示の一実施形態に係る情報処理システム１００の動作例を示す流れ図である。図４２に示したのは、図６等に示したメニューボタン１１００や、メニューボタン群１１１０に対するドラッグ操作がユーザによって行われた際の、本開示の一実施形態に係る情報処理システム１００の動作例である。以下、図４２を用いて本開示の一実施形態に係る情報処理システム１００の動作例について説明する。
【０１４３】
以下、メニューボタン１１００や、メニューボタン群１１１０に対するドラッグ操作のことを、単に、（メニューに対する）ドラッグ操作とも称する場合がある。
【０１４４】
情報処理システム１００は、情報処理システム１００によって表示されているメニューに対して、ユーザがドラッグ操作を行ったことを検出すると（ステップＳ１２０１）、そのドラッグ操作が、１点でメニューを押さえ、もう１点でそのメニューに対してドラッグしているかどうかを判断する（ステップＳ１２０２）。上記ステップＳ１２０１、Ｓ１２０２の処理は、例えば検出部１２１が実行する。
【０１４５】
上記ステップＳ１２０２の判断の結果、１点でメニューを押さえ、もう１点でそのメニューに対してドラッグしている操作であるならば（ステップＳ１２０２、Ｙｅｓ）、情報処理システム１００は、そのドラッグされているメニューのコピーを作成する（ステップＳ１２０３）。ステップＳ１２０３のメニューのコピーの作成は、例えば出力制御部１２２が実行する。
【０１４６】
図４５は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図４５に示したのは、上記ステップＳ１２０３のメニューのコピーの作成例である。例えば図４５の様に、ユーザが左手の人差し指で、情報の表示面に表示されているメニューボタン群１１１０の中から１つのメニューボタン（Ｂ）を押さえ、右手の人差し指で同じメニューボタン（Ｂ）に対してドラッグ操作を行ったとする。情報処理システム１００は、このようなユーザの操作に応じて、そのメニューボタン（Ｂ）のコピーのメニューボタン１１１１を作成する処理を実行する。
【０１４７】
一方、上記ステップＳ１２０２の判断の結果、１点でメニューを押さえ、もう１点でそのメニューに対してドラッグしている操作でなければ（ステップＳ１２０２、Ｎｏ）、続いて情報処理システム１００は、上記ステップＳ１２０１で検出したドラッグ操作が、２点でメニューを押さえ、もう１点でそのメニューに対してドラッグしているかどうかを判断する（ステップＳ１２０４）。ステップＳ１２０４の処理は、例えば検出部１２１が実行する。
【０１４８】
上記ステップＳ１２０４の判断の結果、２点でメニューを押さえ、もう１点でそのメニューに対してドラッグしている操作であるならば（ステップＳ１２０４、Ｙｅｓ）、続いて情報処理システム１００は、そのメニューがフォルダを意味するフォルダメニューであるかどうか判断する（ステップＳ１２０５）。ステップＳ１２０５の処理は、例えば検出部１２１が実行する。ステップＳ１２０５の判断の結果、ドラッグされているメニューがフォルダメニューでなければ（ステップＳ１２０５、Ｎｏ）、情報処理システム１００は、１点でメニューを押さえ、もう１点でそのメニューに対してドラッグしている操作の場合と同様に、そのドラッグされているメニューのコピーを作成する（ステップＳ１２０３）。一方、ステップＳ１２０５の判断の結果、ドラッグされているメニューがフォルダメニューであれば（ステップＳ１２０５、Ｙｅｓ）、情報処理システム１００は、そのメニュー（フォルダメニュー）のショートカットを作成する（ステップＳ１２０６）。ステップＳ１２０６のメニューのショートカットの作成は、例えば出力制御部１２２が実行する。ショートカットとは、別のメニューへの参照として機能する、実体のないメニューのことを言うものとする。
【０１４９】
図４６は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図４６に示したのは、上記ステップＳ１２０６のメニューのショートカットの作成例である。例えば図４６の様に、ユーザが左手の人差し指および中指の２点でメニューボタン群１１１０の中から１つのメニューボタン（Ｂ）を押さえ、右手の人差し指で同じメニューボタン（Ｂ）に対してドラッグ操作を行ったとする。情報処理システム１００は、このようなユーザの操作に応じて、そのメニューボタン（Ｂ）のショートカットボタン１１１２を作成する処理を実行する。
【０１５０】
情報処理システム１００は、図４５に示したメニューボタン（Ｂ）のコピーのメニューボタン１１１１と、図４６に示したショートカットボタン１１１２とは、見た目を異ならせて作成しても良い。本実施形態では、メニューボタン１１１１は単なる円であり、ショートカットボタン１１１２は二重の円である。もちろんコピーのメニューボタン１１１１とショートカットボタン１１１２の形状は係る例に限定されるものではなく、情報処理システム１００は、形状の違いだけでなく、色の違いによって見た目を異ならせるようにしてもよい。
【０１５１】
メニューのコピーの作成とメニューのショートカットの作成の違いについて説明する。情報処理システム１００は、ユーザの操作に基づいてメニューのコピーを作成した場合は、片方のメニュー（例えばコピー元のメニュー）に別のメニューを追加しても、他方のメニュー（例えばコピー先のメニュー）には、その追加されたメニューを追加しない。一方、情報処理システム１００は、ユーザの操作に基づいてメニューのショートカットを作成した場合は、片方のメニュー（例えばショートカット元のメニュー）に別のメニューを追加すると、他方のメニュー（例えばショートカット先のメニュー）にも、その追加されたメニューを追加する。
【０１５２】
図４７及び図４８は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図であり、ユーザの操作に基づいてメニューのコピーを作成した場合のＧＵＩの例である。図４７のようにユーザの操作に基づいてメニューを作成した後に、図４８のように片方のメニューに新たなメニュー（Ｇ）を追加しても、もう片方のメニューには、そのメニュー（Ｇ）は追加されない。
【０１５３】
図４９及び図５０は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図であり、ユーザの操作に基づいてメニューのショートカットを作成した場合のＧＵＩの例である。なお図４９及び図５０には、破線によって図４９のようにユーザの操作に基づいてメニューのショートカットを作成した後に、図５０のように片方のメニューに新たなメニュー（Ｇ）を追加すると、もう片方のメニューにも、その新たなメニュー（Ｇ）が追加される。
【０１５４】
一方、上記ステップＳ１２０４の判断の結果、２点でメニューを押さえ、もう１点でそのメニューに対してドラッグしている操作でなければ（ステップＳ１２０４、Ｎｏ）、続いて情報処理システム１００は、メニューの並びと、メニューのドラッグ方向とのなす角が規定値以上であるかどうか判断する（ステップＳ１２０７）。ステップＳ１２０７の処理は、例えば検出部１２１が実行する。
【０１５５】
上記ステップＳ１２０７の判断の結果、メニューの並びと、ドラッグ方向とのなす角が規定値以上であれば（ステップＳ１２０７、Ｙｅｓ）、続いて情報処理システム１００は、そのドラッグされているメニューが、メニューボタン群から分離可能なメニューかどうか判断する（ステップＳ１２０８）。ステップＳ１２０８の処理は、例えば検出部１２１が実行する。ステップＳ１２０８の判断の結果、ドラッグされているメニューがメニューボタン群から分離可能なメニューでなければ（ステップＳ１２０８、Ｎｏ）、情報処理システム１００は、そのドラッグされているメニューのコピーを作成する（ステップＳ１２０３）。一方、ステップＳ１２０８の判断の結果、ドラッグされているメニューが分離可能なメニューであれば（ステップＳ１２０８、Ｙｅｓ）、情報処理システム１００は、そのメニューをメニューボタン群から分離する（ステップＳ１２０９）。ステップＳ１２０９のメニューのメニューボタン群からの分離処理は、例えば出力制御部１２２が実行する。
【０１５６】
図５１は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図５１に示したのは、ユーザによるメニューのドラッグ操作の一例である。符号１４０１は、円弧状に配置されたメニューボタン群１１１０の動径方向を示し、符号１４０２は、ユーザによってメニューボタンがドラッグされる方向を示し、符号１４０３は円弧状に配置されたメニューボタン群１１１０の円周方向を示している。符号１４０２に示したユーザによってメニューボタンがドラッグされる方向と、メニューの並びとのなす角が規定値以上であって、そのメニューボタンがメニューボタン群１１１０から分離可能なものであれば、情報処理システム１００は、そのドラッグされるメニューボタンを、メニューボタン群１１１０から分離する。
【０１５７】
図５２は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図５２に示したのは、ユーザによるメニューのドラッグ操作の一例である。ユーザが、メニューボタン群１１１０の中から１つのメニューボタンを指で接触し、そのメニューボタンに対してドラッグ操作を実行すると、情報処理システム１００は、そのドラッグされるメニューボタンを、メニューボタン群１１１０から分離し、メニューボタン１１１１として独立させる。
【０１５８】
一方、上記ステップＳ１２０７の判断の結果、メニューの並びと、ドラッグ方向とのなす角が規定値以上でなければ（ステップＳ１２０７、Ｎｏ）、情報処理システム１００は、ユーザのドラッグ操作を通常の挙動にする（ステップＳ１２１０）。このステップＳ１２１０の処理は、例えば出力制御部１２２が実行する。通常の挙動とは、例えば、メニューボタン１１００がユーザの操作に追従して移動することであったり、メニューボタン群１１１０がユーザの操作に追従してメニューボタン１１００を中心に回転したりすることである。
【０１５９】
本開示の一実施形態に係る情報処理システム１００は、ユーザのメニューボタンのドラッグ操作の内容に応じて、上述したような動作を実行することで、ユーザに、簡易な操作でメニューをコピーさせたり、メニューのショートカットを作成させたり、メニューを分離させたりすることが出来る。
【０１６０】
続いて、ユーザのメニューボタンのドロップ操作の内容に応じた情報処理システム１００の動作例について説明する。図４３及び図４４は、本開示の一実施形態に係る情報処理システム１００の動作例を示す流れ図である。図４３及び図４４に示したのは、図６等に示したメニューボタン１１００や、メニューボタン群１１１０に対して、ユーザによってドラッグ操作がなされた後に、ユーザによってドロップ操作が行われた際の、本開示の一実施形態に係る情報処理システム１００の動作例である。以下、図４３及び図４４を用いて本開示の一実施形態に係る情報処理システム１００の動作例について説明する。
【０１６１】
以下、メニューボタン１１００や、メニューボタン群１１１０に対するドロップ操作のことを、単に、（メニューに対する）ドロップ操作とも称する場合がある。
【０１６２】
情報処理システム１００は、情報処理システム１００によって表示されているメニューに対してユーザがドロップ操作を行ったことを検出すると（ステップＳ１２１１）、ユーザによってドラッグされた距離が規定距離以下かどうか判断する（ステップＳ１２１２）。上記ステップＳ１２１１、Ｓ１２１２の処理は、例えば検出部１２１が実行する。
【０１６３】
上記ステップＳ１２１２の判断の結果、ユーザによってドラッグされた距離が規定距離以下であれば（ステップＳ１２１２、Ｙｅｓ）、情報処理システム１００は、そのドロップされたメニューに割り当てられた機能を実行する（ステップＳ１２１３）。メニューに割り当てられた機能としては、例えばアプリケーションの起動、ウェブサイトの表示、画像データの表示、楽曲データの再生、等様々な機能があり、特定の機能に限定されるものではない。
【０１６４】
一方、上記ステップＳ１２１２の判断の結果、ユーザによってドラッグされた距離が規定距離を超えていれば（ステップＳ１２１２、Ｎｏ）、情報処理システム１００は、そのメニューが、別のメニューであって、ドラッグされた距離が規定距離以下であるメニューの上にドロップされたかどうか判断する（ステップＳ１２１４）。ステップＳ１２１４の判断は、例えば検出部１２１が実行する。
【０１６５】
上記ステップＳ１２１４の判断の結果、ドロップしたメニューと別のメニューであって、ドラッグされた距離が規定距離以下であるメニューの上にドロップされた場合は（ステップＳ１２１４、Ｙｅｓ）、続いて情報処理システム１００は、そのドロップされたメニューはドロップを受け付けるメニューであるかどうか判断する（ステップＳ１２１５）。ステップＳ１２１４の判断は、例えば検出部１２１が実行する。
【０１６６】
上記ステップＳ１２１５の判断の結果、ドロップされたメニューはドロップを受け付けるメニューであれば（ステップＳ１２１５、Ｙｅｓ）、続いて情報処理システム１００は、そのドロップされたメニューがフォルダメニューかどうか判断する（ステップＳ１２１６）。ステップＳ１２１５の判断は、例えば検出部１２１が実行する。
【０１６７】
上記ステップＳ１２１６の判断の結果、ドロップされたメニューがフォルダメニューであれば（ステップＳ１２１６、Ｙｅｓ）、続いて情報処理システム１００は、ドロップ先の下の階層のメニュー（子メニュー）にドロップされたメニューを追加する（ステップＳ１２１８）。ステップＳ１２１８の追加処理は、例えば出力制御部１２２が実行する。
【０１６８】
一方上記ステップＳ１２１６の判断の結果、ドロップされたメニューがフォルダメニューでなければ（ステップＳ１２１６、Ｎｏ）、続いて情報処理システム１００は、ユーザがドロップしたメニューに対応するアイテムをドロップされたメニューが扱えるかどうか判断する（ステップＳ１２１７）。ステップＳ１２１７の判断は、例えば検出部１２１が実行する。
【０１６９】
上記ステップＳ１２１７の判断の結果、ユーザがドロップしたアイテムをドロップされたメニューが扱える場合は（ステップＳ１２１７、Ｙｅｓ）、続いて情報処理システム１００は、ユーザがドロップしたメニューに紐付いた情報を、ドロップされたメニューに渡す（ステップＳ１２１９）。ステップＳ１２１９の処理は、例えば出力制御部１２２が実行する。
【０１７０】
一方ステップＳ１２１７の判断の結果、ユーザがドロップしたアイテムをドロップされたメニューが扱えない場合は（ステップＳ１２１７、Ｎｏ）、続いて情報処理システム１００は、ドロップ元のメニューと、ドロップ先のメニューとを子要素に持つ新たなメニューを作成する処理を行なう（ステップＳ１２２０）。ステップＳ１２２０の処理は、例えば出力制御部１２２が実行する。
【０１７１】
上記ステップＳ１２１４の判断の結果、ドロップしたメニューと別のメニューであって、ドラッグされた距離が規定距離以下であるメニューの上にドロップされた場合で無ければ（ステップＳ１２１４、Ｎｏ）、続いて情報処理システム１００は、ドロップしたメニューと別のメニューが１点で押さえられた状態で、そのメニューがドロップしたメニューと規定距離以下に近づいているかどうか判断する（ステップＳ１２２１）。ステップＳ１２２１の判断は、例えば検出部１２１が実行する。
【０１７２】
上記ステップＳ１２２１の判断の結果、ドロップしたメニューと別のメニューが１点で押さえられた状態で、そのメニューがドロップしたメニューと規定距離以下に近づいていれば（ステップＳ１２２１、Ｙｅｓ）、続いて情報処理システム１００は、ドロップしたメニューと、別のそのメニューとがマージ可能かどうか判断する（ステップＳ１２２２）。ステップＳ１２２２の判断は、例えば検出部１２１が実行する。
【０１７３】
上記ステップＳ１２２２の判断の結果、ドロップしたメニューと、別のそのメニューとがマージ可能である場合は（ステップＳ１２２２、Ｙｅｓ）、続いて情報処理システム１００は、ドロップしたメニューの子メニューと、別のそのメニューの子メニューとをマージする処理を実行する（ステップＳ１２２３）。ステップＳ１２２３の処理は、例えば出力制御部１２２が実行する。上記ステップＳ１２２２の判断の結果、ドロップしたメニューと、別のそのメニューとがマージ可能で無い場合は（ステップＳ１２２２、Ｎｏ）、続いて情報処理システム１００は、ドロップしたメニューをドラッグ前の位置に戻す処理を実行する（ステップＳ１２２６）。ステップＳ１２２６の処理は、例えば出力制御部１２２が実行する。
【０１７４】
上記ステップＳ１２２１の判断の結果、ドロップしたメニューと別のメニューが１点で押さえられた状態で、そのメニューがドロップしたメニューと規定距離以下に近づいている場合で無ければ（ステップＳ１２２１、Ｎｏ）、続いて情報処理システム１００は、ドロップされたメニューが、同階層の２つのメニューからそれぞれ既定距離以内の場所にドロップされたかどうかを判断する（ステップＳ１２２４）。ステップＳ１２２４の判断は、例えば検出部１２１が実行する。
【０１７５】
上記ステップＳ１２２４の判断の結果、ドロップされたメニューが、同階層の２つのメニューからそれぞれ既定距離以内の場所にドロップされた場合は（ステップＳ１２２４、Ｙｅｓ）、続いて情報処理システム１００は、ドラッグ及びドロップされたメニューを、その２つのメニューの間に挿入する処理を実行する（ステップＳ１２２５）。ステップＳ１２２５の処理は、例えば出力制御部１２２が実行する。
【０１７６】
一方、上記ステップＳ１２２４の判断の結果、ドロップされたメニューが、同階層の２つのメニューからそれぞれ既定距離以内の場所にドロップされた場合で無ければ（ステップＳ１２２４、Ｎｏ）、続いて情報処理システム１００は、ドロップされるまで既定速度以上でそのメニューがドラッグされていたかどうかを判断する（ステップＳ１２２７）。ステップＳ１２２７の判断は、例えば検出部１２１が実行する。
【０１７７】
上記ステップＳ１２２７の判断の結果、ドロップされるまで既定速度以上でそのメニューがドラッグされていた場合は（ステップＳ１２２７、Ｙｅｓ）、続いて情報処理システム１００は、そのドロップされたメニューが削除可能かどうか判断する（ステップＳ１２２８）。ステップＳ１２２８の判断は、例えば検出部１２１が実行する。
【０１７８】
上記ステップＳ１２２８の判断の結果、ドロップされたメニューが削除可能である場合は（ステップＳ１２２８、Ｙｅｓ）、続いて情報処理システム１００は、ドラッグしていたメニューを削除する処理を実行する（ステップＳ１２３０）。ステップＳ１２３０の処理は、例えば出力制御部１２２が実行する。一方、上記ステップＳ１２２８の判断の結果、ドロップされたメニューが削除可能でない場合は（ステップＳ１２２８、Ｎｏ）、ドロップしたメニューをドラッグ前の位置に戻す処理を実行する（ステップＳ１２２６）。ステップＳ１２２６の処理は、例えば出力制御部１２２が実行する。
【０１７９】
上記ステップＳ１２２７の判断の結果、ドロップされるまで既定速度未満でそのメニューがドラッグされていた場合は（ステップＳ１２２７、Ｎｏ）、続いて情報処理システム１００は、ドロップされた場所が画面の外かどうか判断する（ステップＳ１２２９）。ステップＳ１２２９の判断は、例えば検出部１２１が実行する。
【０１８０】
上記ステップＳ１２２９の判断の結果、ドロップされた場所が画面の外であれば（ステップＳ１２２９、Ｙｅｓ）、続いて情報処理システム１００は、上記ステップＳ１２２８の、そのドロップされたメニューが削除可能かどうかの判断を実行する。一方、上記ステップＳ１２２９の判断の結果、ドロップされた場所が画面の外でなければ（ステップＳ１２２９、Ｎｏ）、続いて情報処理システム１００は、ドロップされた場所に、そのメニューを移動させる処理を実行する（ステップＳ１２３１）。ステップＳ１２３１の処理は、例えば出力制御部１２２が実行する。
【０１８１】
情報処理システム１００は、上述した一連の処理を実行することで、ユーザがドロップしたメニューの状態を、ドロップされた位置、ドラッグの速度などに応じて変化させることが出来る。
【０１８２】
具体的なＧＵＩの例を示しながら上述の動作例についてさらに説明する。まず、メニューボタンを削除するＧＵＩの例について説明する。図５３は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図５３に示したのは、ユーザによるメニューのドロップ操作の一例であり、メニューが既定速度以上でドラッグされていた場合のＧＵＩの例である。ユーザが、メニューボタン群１１１０の中から１つのメニューボタン１１１１を既定速度ｖ以上でドラッグさせた後、そのメニューボタン１１１１を画面内でドロップする（つまり、メニューボタン１１１１を放り投げるような動作を行なう）と、情報処理システム１００は、そのメニューボタン１１１１を削除する処理を実行する。このようにメニューボタンを放り投げるような動作が行われたことの検出により、メニューボタンを削除する処理を実行することで、情報処理システム１００は、ユーザに対して直感的に分かりやすいＧＵＩを提供することが出来る。
【０１８３】
なお、メニューボタンの削除は係る例に限定されるものではない。図５４は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図５４に示したのは、ユーザによるメニューのドロップ操作の一例であり、ユーザがメニューボタン１１１１をごみ箱メニュー１１１２にドロップする操作を行っている状態を示したものである。このように、ユーザがメニューボタン１１１１をごみ箱メニュー１１１２にドロップすると、情報処理システム１００は、そのメニューボタン１１１１を削除する処理を実行する。
【０１８４】
図５５は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図５５に示したのは、ユーザによるメニューのドロップ操作の一例であり、ユーザがメニューボタン１１１１を画面外まで移動させてドロップする操作を行っている状態を示したものである。このように、ユーザによって、メニューボタン１１１１が画面外まで移動されてドロップされた操作が行われたことを検出すると、情報処理システム１００は、そのメニューボタン１１１１を削除する処理を実行する。
【０１８５】
以上、メニューボタンを削除するＧＵＩの例について説明した。続いて、メニューボタンをメニューボタン群の中に追加するＧＵＩの例について説明する。
【０１８６】
図５６は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図５６に示したのは、ユーザによるメニューのドロップ操作の一例であり、ユーザがメニューボタン群１１１０の中にメニューボタンを挿入する操作を行っている状態を示したものである。ユーザが、メニューボタン群１１１０が表示されている円弧上へメニューボタン１１１１をドラッグさせると、情報処理システム１００は、メニューボタン群１１１０が表示される円弧上に、メニューボタン１１１１を挿入するための隙間を作成する。そしてユーザが、円弧上の隙間にメニューボタン１１１１をドロップすると、情報処理システム１００は、その円弧上にドロップされたメニューボタン１１１１を表示する。このようにメニューボタンをドロップした動作が行われたことの検出により、メニューボタン群にメニューボタンを追加する処理を実行することで、情報処理システム１００は、ユーザに対して直感的に分かりやすいＧＵＩを提供することが出来る。
【０１８７】
以上、メニューボタンをメニューボタン群の中に追加するＧＵＩの例について説明した。続いて、ドロップ先のメニューの子項目にメニューを追加するＧＵＩの例について説明する。
【０１８８】
図５７は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図５７に示したのは、ユーザによるメニューのドロップ操作の一例であり、ユーザがメニューボタン群１１１０の中のあるメニューボタンにメニューボタンをドロップする操作を行っている状態を示したものである。ドロップ先のメニューがフォルダメニューの場合、情報処理システム１００は、まずユーザがメニューボタンをドロップしようとしているメニューボタンの場所までドラッグさせると、図５７に示したように、ドロップしようとしているメニューボタンを広げるよう表示する。そしてユーザが、その場所でメニューボタンをドロップすると、情報処理システム１００は、図５７に示したように、ドロップされたメニューボタンを、ドロップ先の子メニューに追加するよう表示する。情報処理システム１００は、ドロップされたメニューボタンを、ドロップ先のメニューの子メニューの末尾に追加するよう表示してもよく、ドロップ先のメニューの最も近い位置に追加するよう表示してもよい。
【０１８９】
図５８は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図５８に示したのは、ユーザによるメニューのドロップ操作の一例であり、ユーザがメニューボタン群１１１０の中のあるメニューボタンにメニューボタンをドロップする操作を行っている状態を示したものである。ドロップ先のメニューがアプリケーションまたはデータの場合、情報処理システム１００は、まずユーザがメニューボタンをドロップしようとしているメニューボタンの場所までドラッグさせると、図５８に示したように、ドロップしようとしているメニューボタンを広げるよう表示する。そしてユーザが、その場所でメニューボタンをドロップすると、情報処理システム１００は、図５８に示したように、今までドロップ先のメニューボタンが表示されていた場所に、フォルダメニューのメニューボタンを新たに表示し、ドロップしたメニューボタンと、ドロップ先のメニューボタンとを、そのフォルダメニューの子メニューとして表示する。つまり情報処理システム１００は、ドロップしたメニューボタンと、ドロップ先のメニューボタンとをマージする処理を実行する。
【０１９０】
以上、ドロップ先のメニューの子項目にメニューを追加するＧＵＩの例について説明した。今まで示したのは、ドロップ先のメニューボタンがユーザの指で押さえられていなかった場合の例であるが、以下で説明するのは、ドロップ先のメニューボタンがユーザの指で押さえられている場合の例である。
【０１９１】
図５９は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図５９に示したのは、ユーザによるメニューのドロップ操作の一例であり、ユーザがメニューボタン群１１１０の中のあるメニューボタンを指で押さえながら、そのメニューボタンに別のメニューボタン１１１１をドロップする操作を行っている状態を示したものである。ユーザがメニューボタン群１１１０の中のあるメニューボタンを指で押さえながら、そのメニューボタンに別のメニューボタン１１１１を規定距離以下に近づけると、情報処理システム１００は、図５９に示したようにメニューボタン同士が結合するように表示する。そしてユーザがメニューボタン群１１１０の中のあるメニューボタンを指で押さえながら、ドラッグしていたメニューボタン１１１１をドロップすると、２つのメニューボタンの子メニュー同士をマージする処理を実行する。情報処理システム１００は、子メニュー同士をマージする際、メニューボタン群１１１０に表示されているメニューボタンをそのままにしてもよく、別のメニューボタンをメニューボタン群１１１０の円弧上に表示するようにしてもよい。
【０１９２】
このように情報処理システム１００は、ユーザがあるメニューボタンを指で押さえながら、そのメニューボタンに別のメニューボタンをドロップすることによって、メニューのマージを行なう。そのメニューのマージの例について説明する。図６０は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図６０に示したのは、ユーザがあるメニューボタンを指で押さえながら、そのメニューボタンに別のメニューボタンをドロップした際の、メニューのマージ例である。情報処理システム１００は、マージの際に同じ子メニューが存在していれば、その子メニューは２つ作成するのではなく、１つだけにしても良い。例えば図６０には、Ａ、Ｂ、Ｄ、Ｆ、Ｇという子メニューと、Ａ、Ｃ、Ｄ、Ｅ、Ｆという子メニューがあるメニューをマージする際に、双方で共通の子メニューＡ、Ｄ、Ｆは１つだけにする例が示されている。
【０１９３】
以上、ドロップ先のメニューボタンがユーザの指で押さえられている場合の例について説明した。続いて、本開示の一実施形態に係る情報処理システム１００のメニューの操作例について、具体例を挙げつつさらに説明する。
【０１９４】
図６１は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図６１に示したのは、情報処理システム１００が表示するアプリケーションでの、ユーザのドラッグ操作及びドロップ操作に応じた新たなメニューの作成例である。図６１の様にメニューボタン１１００及びメニューボタン群１１１０が表示されている状態で、ユーザがメニューボタン群１１１０の中の、あるメニューボタン１１１１を指で押さえたまま、もう一方の手の指でドラッグしたユーザ操作に応じ、情報処理システム１００は、そのメニューボタン１１１１のコピーを作成する。
【０１９５】
図６１では、メニューボタン群１１１０の中の、メニューＤ、Ｅのコピーがユーザ操作に基づいて作成された例が示されている。そして、このメニューＤ、Ｅのコピーをマージするユーザ操作に応じ、情報処理システム１００は、新たなメニューボタン１１００及びメニューボタン群１１１０を作成する。
【０１９６】
そして、新たに作成されたメニューボタン群１１１０へ向けて、また別のメニューボタン１１１１がドロップされると、情報処理システム１００は、図６１に示したように、その新たに作成されたメニューボタン群１１１０に、ドロップされたメニューボタン１１１１を追加する。
【０１９７】
このようなユーザによるドラッグ操作やドロップ操作を受け付けることで、本開示の一実施形態に係る情報処理システム１００は、メニューのカスタマイズの容易性を担保できる。またこのようなこのようなユーザによるドラッグ操作やドロップ操作を受け付けることで、本開示の一実施形態に係る情報処理システム１００は、同一のメニューを複数のユーザで同時に使用させることを可能にする。
【０１９８】
別の実施例を説明する。図６２は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図６２に示したのは、情報処理システム１００が表示するアプリケーションでの、ユーザのドラッグ操作及びドロップ操作に応じたショートカットボタンの作成例である。例えば、メニューボタン１１００から数えて２階層目にある、メニューボタン群１１２０の中のあるメニューボタンについて、通常の場合は、メニューボタン１１００、メニューボタン群１１１０、メニューボタン群１１２０の順にユーザが３回の操作で順に選択していかなければ到達することが出来ない。しかし、情報処理システム１００は、上述したようにユーザ操作に基づいてショートカットボタンを作成することで、そのメニューボタン群１１２０の中のあるメニューボタンへは、１回の操作で到達することが出来る。
【０１９９】
例えば、複数のユーザによって頻繁に使用されるメニューについて、ユーザの数だけショートカットボタンが作成されることで、情報処理システム１００は、どのユーザからでも、１回の操作でそのメニューに到達させることが出来る。
【０２００】
上述したようなメニューのコピーやショートカットの作成により、情報処理システム１００は、例えば家族で共通のメニューを作成させたり、家族で別々のメニューを作成させたりすることを可能にする。
【０２０１】
図６３は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図６３に示したのは、情報処理システム１００が表示するアプリケーションでの、ユーザのドラッグ操作及びドロップ操作に応じた家族別のメニューの作成例である。
【０２０２】
図６３の右下に、メニューボタン１１００及びメニューボタン群１１１０、１１２０が示されている。そして図６３には、メニューボタン群１１２０に、父親用のメニューボタン、母親用のメニューボタン、及び子供用のメニューボタンが含まれている状態が示されている。このようにメニューボタン群１１２０が表示されている状態で、父親用のメニューボタン、母親用のメニューボタン、及び子供用のメニューボタンのショートカットボタンを作成する操作をユーザが実行すると、情報処理システム１００は、それぞれのメニューボタンへのショートカットボタンを作成する。それぞれのメニューボタンへのショートカットボタンが作成されることで、父親、母親、子供は、そのショートカットボタンに指等の操作体を接触させるだけで、自分のためのメニューを使用し、また自分が使いやすいようにメニューをカスタマイズすることが出来る。また、ショートカットボタンの操作によって表示されるメニューへのカスタマイズが、元のメニューへも反映される。
【０２０３】
上述したようなメニューのコピーの作成により、情報処理システム１００は、例えばＷｅｂサイトのブックマークを直感的かつ容易にユーザに作成させることが出来る。
【０２０４】
図６４は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図６４に示したのは、情報処理システム１００が表示するアプリケーションでの、ユーザのドラッグ操作及びドロップ操作に応じたブックマークメニューの作成例である。
【０２０５】
図６４には、メニューボタン１１００及びメニューボタン群１１１０、１１２０が情報処理システム１００によって表示されている状態が示されている。また図６４には、アプリケーションの例としてインターネットのＷｅｂサイトを表示するＷｅｂブラウザ１１４０が情報処理システム１００によって表示されている状態が示されている。また図６４には、Ｗｅｂブラウザ１１４０の左下部分に、現在表示しているＷｅｂページへ接続するためのメニューボタン１１４１が情報処理システム１００によって表示されている状態が示されている。ユーザが、メニューボタン１１４１に対してコピーを作成する操作を実行したことを検出すると、情報処理システム１００は、そのユーザ操作に応じて、メニューボタン１１４１のコピーを作成する。メニューボタン１１４１のコピーは、そのＷｅｂページのブックマークとして機能し得る。作成されたメニューボタン１１４１のコピーは、例えばユーザの操作によってメニューボタン群１１２０の中に追加される。本開示の一実施形態に係る情報処理システム１００は、このような操作をユーザに提供することで、例えばＷｅｂページのブックマークを直感的かつ容易にユーザに作成させることが出来る。また本開示の一実施形態に係る情報処理システム１００は、このような操作をユーザに提供することで、簡単な操作で複数のＷｅｂページのブックマークを１つのメニューボタン群にまとめさせることが出来る。
【０２０６】
本開示の一実施形態に係る情報処理システム１００は、複数のユーザからのメニュー操作を受け付けることが出来るよう構成されているので、同じアプリケーションや、似たようなアプリケーションが複数のユーザから起動され、同時に実行される状況が発生し得る。同じアプリケーションや、似たようなアプリケーションが複数のユーザから同時に実行されると、誰がどのアプリケーションを起動したのかがわかりにくくなる状況が発生し得る。そこで、本開示の一実施形態に係る情報処理システム１００は、メニューとアプリケーションとの紐付けを行って、またその紐付けを簡単なユーザ操作で解除できる仕組みを提供する。
【０２０７】
図６５は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図６５に示したのは、情報処理システム１００が表示するアプリケーションとメニューとの紐付けを、ユーザの操作に応じて解除する際のＧＵＩの例である。
【０２０８】
例えば図６５の左側のようにメニューボタン１１００、メニューボタン群１１１０、１１２０及び、アプリケーションの例としてＷｅｂブラウザ１１４０が情報処理システム１００によって表示されている状態で、情報処理システム１００は、メニューボタン群１１２０の中の１つのメニューボタンと、Ｗｅｂブラウザ１１４０のメニューボタン１１４１とが紐付いているように表示してもよい。図６５の例では、メニューボタン群１１２０の中の１つのメニューボタンと、Ｗｅｂブラウザ１１４０のメニューボタン１１４１との紐付けを破線で示しているが、本開示では紐付けの表示は係る例に限定されるものではない。
【０２０９】
この紐付けの表示に対して、ユーザが所定の操作、例えばユーザが所定速度以上で紐を切るような操作を実行したことを検出すると、情報処理システム１００は、メニューボタン群１１２０の中の１つのメニューボタンと、Ｗｅｂブラウザ１１４０のメニューボタン１１４１との紐付けを解除する処理を実行する。紐付けの解除の際には、情報処理システム１００はＷｅｂブラウザ１１４０を終了させる処理を実行する。Ｗｅｂブラウザ１１４０を終了させる処理の際には、情報処理システム１００は、図６５に示したように、そのＷｅｂブラウザ１１４０を徐々に薄くしていき、最終的に表示が消えるような表示処理を実行してもよい。
【０２１０】
本開示の一実施形態に係る情報処理システム１００は、メニューとアプリケーションとの紐付けを行って、またその紐付けを簡単なユーザ操作で解除させることが出来る。
【０２１１】
図６４に示したようにメニューとアプリケーションとを紐付けることで、本開示の一実施形態に係る情報処理システム１００は、その他にも様々な操作をユーザに提供することが出来る。例えば図１のようなプロジェクション型の情報処理システム１００ａは、テーブル１４０ａのような面積の大きな表示面に情報を表示するので、ユーザが離れた位置にあるアプリケーションを手元にたぐり寄せたいという要求が発生し得る。そこで、メニューとアプリケーションとの紐付けの表示に対してユーザにその表示をたぐり寄せるような操作をさせることで、情報処理システム１００は、アプリケーションのウィンドウを、そのユーザ操作に応じて移動させるような表示処理を実行してもよい。
【０２１２】
図６６は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図６６に示したのは、情報処理システム１００が表示するアプリケーションとメニューとの紐付けに対してユーザが操作する際のＧＵＩの例である。
【０２１３】
図６６には、メニューボタン１１００、メニューボタン群１１１０、１１２０及び、アプリケーションの例としてＷｅｂブラウザ１１４０が情報処理システム１００によって表示されている。また図６６には、メニューボタン群１１２０の中の１つのメニューボタンと、Ｗｅｂブラウザ１１４０のメニューボタン１１４１とが紐付いているよう情報処理システム１００によって表示されている状態が示されている。このようにメニューボタンやウィンドウが情報処理システム１００によって表示されている状態で、ユーザが、紐付けの線を手元に（メニューボタン群１１２０の方向へ）たぐり寄せるような操作を行うと、情報処理システム１００は、その操作の検出に応じて、Ｗｅｂブラウザ１１４０をメニューボタン群１１２０に近付けるような表示処理を実行する。
【０２１４】
このように、紐付けの表示に対してユーザが手元にたぐり寄せるような操作を実行したことに応じて、アプリケーションのウィンドウを移動させるような表示処理を実行することで、情報処理システム１００は、ユーザ操作の利便性を高めることができる。なお図６５には、ユーザがアプリケーションのウィンドウを手元にたぐり寄せるような操作を行った場合の例が示されているが、ユーザがアプリケーションのウィンドウを手元から遠ざけるような操作を実行した場合は、情報処理システム１００は、逆にアプリケーションのウィンドウをメニューボタンから遠ざけるような表示処理を実行する。
【０２１５】
図６４に示したようにメニューとアプリケーションとを紐付けることで、本開示の一実施形態に係る情報処理システム１００は、ユーザに、アプリケーションの操作をアプリケーションのウィンドウから離れた場所で行わせることが出来る。
【０２１６】
図６７は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図６７に示したのは、情報処理システム１００が表示するアプリケーションとメニューとが紐付けた状態でユーザが操作する際のＧＵＩの例である。
【０２１７】
図６７には、メニューボタン１１００、メニューボタン群１１１０、１１２０、１１２１及び、アプリケーションの例としてＷｅｂブラウザ１１４０が情報処理システム１００によって表示されている。また図６７には、メニューボタン群１１２０の中の１つのメニューボタンと、Ｗｅｂブラウザ１１４０のメニューボタン１１４１とが紐付いているよう情報処理システム１００によって表示されている状態が示されている。また、メニューボタン群１１２１は、Ｗｅｂブラウザ１１４０を操作するためのメニューが並べられたものであるとする。このようにメニューボタンやウィンドウが情報処理システム１００によって表示されている状態で、ユーザがメニューボタン群１１２１を操作すると、情報処理システム１００は、その操作に応じたＷｅｂブラウザ１１４０に対する処理（例えば、ブックマークされているＷｅｂページを開く、前のページに戻る、先のページに進む、Ｗｅｂブラウザを終了する等の処理）を実行する。
【０２１８】
このようにアプリケーションの操作をアプリケーションのウィンドウから離れた場所で行わせることが出来ることで、情報処理システム１００は、ユーザ操作の利便性を高めることができる。例えば図１のようなプロジェクション型の情報処理システム１００ａは、テーブル１４０ａのような面積の大きな表示面に情報を表示するので、ユーザが離れた位置にアプリケーションが表示されても紐付けによって遠隔操作が可能となり、ユーザ操作の利便性を高めることができる。
【０２１９】
図６７の例ではアプリケーションとしてＷｅｂブラウザ１１４０を示したが、遠隔操作できるアプリケーションは係る例に限定されるものではない。例えばアプリケーションが音楽再生ソフトであれば、アプリケーションとメニューボタンとの紐付けによって、音量の調整、楽曲のスキップ、早送り、早戻し等が、遠隔操作で可能になる。また例えばアプリケーションが動画像再生ソフトであれば、アプリケーションとメニューボタンとの紐付けによって、音量の調整、動画像のスキップ、早送り、早戻し等が、遠隔操作で可能になる。
【０２２０】
ここまでの例では、メニューボタン１１００を起点にして、メニューボタン群１１１０、１１２０を表示するＧＵＩを表示する情報処理システム１００を示したが、メニューボタン群１１１０、１１２０の起点はメニューボタン１１００に限定されない。情報処理システム１００は、例えば、ユーザが所有する携帯電話、スマートフォンその他の携帯端末を起点として、メニューボタン群１１１０、１１２０を表示するようにしてもよい。上述の例で情報処理システム１００と携帯端末との連携例を示した。情報処理システム１００は、情報処理システム１００と連携させた携帯端末を起点として、メニューボタン群１１１０、１１２０を表示させることも出来る。
【０２２１】
図６８は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図６８に示したのは、メニューボタン群１１１０、１１２０の表示の起点として、情報処理システム１００と連携させた携帯端末１３１０が用いられる場合のＧＵＩの例である。情報処理システム１００と、携帯端末１３１０とを連携させて、所定の操作をユーザが実行すると、情報処理システム１００は、図６８に示したように携帯端末１３１０の周囲にメニューボタン群１１１０、１１２０を表示させても良い。
【０２２２】
メニューボタン群１１１０、１１２０の情報を携帯端末１３１０に保存させることで、その携帯端末１３１０を別の情報処理システム１００と連携させた場合にも、全く同じレイアウトでメニューボタン群１１１０、１１２０を表示することが可能となる。例えば、ユーザが自宅でメニューボタン群１１１０、１１２０のレイアウトを編集して携帯端末１３１０に保存し、その携帯端末１３１０を友人の家に持ち出して、ユーザが自宅で編集したメニューボタン群１１１０、１１２０を、友人の家の情報処理システム１００で表示させることが出来る。
【０２２３】
本開示の一実施形態に係る情報処理システム１００は、図６３に示したように、ショートカットボタンの作成によって、ユーザごと、例えば家族でそれぞれ異なるメニューを作成さることを可能にする。本開示の一実施形態に係る情報処理システム１００は、そのようにユーザごとに作成させたメニューに対して、各ユーザのアカウントを紐付けるようにしても良い。
【０２２４】
図６９は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図６９に示したのは、ユーザごとに作成させたメニューに、各ユーザのアカウントを紐付けた状態である。図６９には、父親及び母親が使用するアプリケーションのウィンドウ１１５０と、そのアプリケーションを操作するためのメニューボタン１１５１と、が示されている。情報処理システム１００は、ユーザごとに作成させたメニューに、各ユーザのアカウントを紐付けることで、例えば、ユーザごとに、ＷｅｂブラウザのＣｏｏｋｉｅを保存したり、Ｗｅｂページのログイン情報を記録したり、Ｗｅｂページヘのアクセス履歴を管理したりすることが出来る。
【０２２５】
本開示の一実施形態にかかる情報処理システム１００は、複数のユーザによって同時に使用される形態が想定され得る。従って、上述のようにユーザごとにカスタマイズされたメニューを作成すると、あるユーザが別のユーザのメニューを使用してしまう状況が発生し得る。ユーザのメニューに鍵が掛けられていなければ、誰もが簡単にそのユーザのメニューを使用できてしまう。
【０２２６】
そこで本開示の一実施形態にかかる情報処理システム１００は、認証を受けてからでないとメニューを使用できない仕組みを提供する。認証方式はパスワード方式であってもよく、ユーザが使用している携帯端末を用いた機器認証方式であっても良い。以下の例では、機器認証方式によってメニューへのアクセスを認証する仕組みを説明する。
【０２２７】
図７０は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図７０に示したのは、ユーザが使用している携帯端末を用いた機器認証方式によってメニューへのアクセスを認証する際のＧＵＩの例である。情報処理システム１００は、例えば、父親が使用するメニューへは、その父親が使用している携帯端末を用いて認証を受けなければアクセスできないように、メニューへ鍵を掛けさせることを可能にする。情報処理システム１００は、父親が使用するメニューに鍵が掛かっている状態では、ユーザがそのメニューを選択しても（例え選択したのが父親本人であっても）何も反応しないように制御する。
【０２２８】
そして、父親が使用するメニューの近くにその父親が使用している携帯端末が置かれたことを検出すると、情報処理システム１００は、その携帯端末を認識した上で、その携帯端末が父親のものであることを認識すれば、父親が使用するメニューの鍵を解除する。情報処理システム１００は、携帯端末の認識を、上述した画像認識で行ってもよく、近接非接触通信（ＮＦＣ）、Ｗｉ−Ｆｉ（登録商標）通信、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信等で行っても良い。情報処理システム１００は、認証が完了すると、鍵を掛けていたメニューの鍵を解除し、ユーザがそのメニューにアクセスできるように制御する。
【０２２９】
このように、機器認証方式を用いてメニューへのアクセスを認証する仕組みを用いることで、本開示の一実施形態にかかる情報処理システム１００は、認証されていないユーザによるメニューへのアクセスを制限することが出来る。
【０２３０】
本開示の一実施形態にかかる情報処理システム１００は、上述したように、携帯端末を起点としてメニューボタンを表示することが出来る。ここで本開示の一実施形態にかかる情報処理システム１００は、その携帯端末を起点として表示するメニューボタンによって、携帯端末での権限を制御する仕組みを提供する。
【０２３１】
図７１は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図７１に示したのは、携帯端末を起点としてメニューボタンを表示する際に、そのメニューボタンによって、携帯端末での権限を制御する際のＧＵＩの例である。
【０２３２】
図７１には、携帯端末１３１０、１３２０を起点として、それぞれメニューボタン群１１１０、１１２０が表示されている状態が示されている。そして図７１には、メニューボタン群１１２０に、各携帯端末１３１０、１３２０での権限が表示されている状態が示されている。携帯端末１３１０、１３２０での権限としては、例えばアプリケーションの操作権限、携帯端末から遠隔操作する機器の操作権限、携帯端末を用いて代金を決済する際の決済権限等がある。
【０２３３】
例えば、携帯端末１３１０を起点として表示されているメニューボタン群１１２０の中から、ある権限（例えば、１０００円分の代金決済権限）を、携帯端末１３２０を起点として表示されているメニューボタン群１１２０へコピーする操作をユーザが行ったとする。情報処理システム１００は、そのユーザ操作に応じて、携帯端末１３１０に保持されているその権限を、携帯端末１３２０へコピーする処理を実行する。
【０２３４】
このようにメニューボタンの操作を介して、携帯端末間で権限をコピーさせることで、本開示の一実施形態にかかる情報処理システム１００は簡単な操作で、携帯端末での権限の受け渡しを可能にする。
【０２３５】
本開示の一実施形態にかかる情報処理システム１００は、アプリケーションのウィンドウへのメニューボタンのドラッグ及びドロップ操作に基づいて、アプリケーションへデータを渡す機能を提供する。
【０２３６】
図７２は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図７２に示したのは、アプリケーションのウィンドウへのメニューボタンのドラッグ及びドロップ操作に基づいて、アプリケーションへデータを渡す際のＧＵＩの例である。
【０２３７】
図７２には、メニューボタン群１１２０に、Ｗｅｂページへアクセスするためのブックマークに対応するメニューボタンが存在する状態が示されている。メニューボタン群１１２０の中のあるメニューボタンを、Ｗｅｂブラウザ１１４０へドラッグ及びドロップする操作をユーザが実行すると、本開示の一実施形態にかかる情報処理システム１００は、そのユーザ操作に応じて、ドロップされたメニューボタンに対応するＷｅｂページヘアクセスするようにＷｅｂブラウザ１１４０の動作を制御する。このように、ユーザによるドラッグ及びドロップ操作に応じて、アプリケーションへデータを受け渡すことで、本開示の一実施形態にかかる情報処理システム１００は、ユーザに対して直感的な操作を提供することが出来る。
【０２３８】
なお図７２には、アプリケーションがＷｅｂブラウザである例を示したが、データの受け渡しの対象となるアプリケーションは係る例に限定されるものではない。例えば、アプリケーションが画像表示アプリケーションの場合、ユーザが画像データを意味するメニューボタンを画像表示アプリケーションにドロップすると、情報処理システム１００は、その画像データを画像表示アプリケーションで表示する処理を実行する。また例えば、アプリケーションが楽曲再生アプリケーションの場合、ユーザが楽曲データを意味するメニューボタンを楽曲再生アプリケーションにドロップすると、情報処理システム１００は、その楽曲データを楽曲再生アプリケーションで再生する処理を実行する。また例えば、アプリケーションが動画像再生アプリケーションの場合、ユーザが動画像データを意味するメニューボタンを動画像再生アプリケーションにドロップすると、情報処理システム１００は、その動画像データを動画像再生アプリケーションで再生する処理を実行する。
【０２３９】
図７２では、アプリケーションのウィンドウへメニューボタンがドロップされたことに応じて、情報処理システム１００が、そのアプリケーションへのデータの受け渡しを行なう例を説明した。続いて、任意の機能を提供するメニューボタンへ別のメニューボタンがドロップされたことに応じて、情報処理システム１００が、ドロップされたメニューボタンに対応する機能を実行する例を説明する。
【０２４０】
図７３は、本開示の一実施形態にかかる情報処理システム１００が情報の表示面に表示するアプリケーションのＧＵＩの例を示す説明図である。図７３に示したのは、任意の機能を提供するメニューボタンへの、別のメニューボタンのドラッグ及びドロップ操作に基づいて、ドロップされたメニューボタンに対応する機能が実行される際のＧＵＩの例である。
【０２４１】
図７３には、メニューボタン群１１２０に、例えばソーシャル・ネットワーキング・サービス（ＳＮＳ）へ投稿するためのメニューボタンが存在する状態が示されている。そのメニューボタン群１１２０の中のあるメニューボタンへ、ユーザが、例えば画像データを意味するメニューボタンをドロップしたとする。情報処理システム１００は、そのユーザのドロップ操作に応じて、その画像データをＳＮＳへ投稿する処理を実行する。
【０２４２】
このように、ユーザによるドラッグ及びドロップ操作に応じて、ドロップされたメニューボタンに対応する機能を実行することで、本開示の一実施形態にかかる情報処理システム１００は、ユーザに対して直感的な操作を提供することが出来る。
【０２４３】
なお、図７３におけるメニューボタン群１１２０の各メニューボタンが実行する機能は、ＳＮＳへの投稿に限られない。例えばメニューボタン群１１２０の各メニューボタンが実行する機能としては、連絡先として登録されている相手へのデータの送信、連携している機器へのデータの送信等、様々な機能が考えられ得る。
【０２４４】
＜２．ユーザインタフェースの具体例＞
以下、上述した情報処理システム１００により実現可能なユーザインタフェース（ＵＩ：User  Interface）の具体例を説明する。以下では、プロジェクション型の情報処理システム１００ａを想定して説明するが、図１〜図４を参照して説明したどのタイプでも、以下に説明する具体例に係るＵＩを実現可能である。また、プロジェクション型の情報処理システム１００ａのうち、テーブル１４０ａの上方に設けられる、プロジェクタ及びカメラ等が設けられる筐体を、本体とも称する。また、テーブル１４０ａを、プロジェクタにより画像が投影される投影面（表示面）とも称する。
【０２４５】
［具体例１］
本具体例に係る情報処理システム１００は、操作オブジェクトの形状に応じて回転する半円状のメニューを提供する。操作オブジェクトの形状を考慮せずにメニューが表示される場合、例えばメニューが手に重なって表示され、視認性が低下する場合がある。そこで、本具体例に係る情報処理システム１００は、操作オブジェクトが重なる領域以外の領域にメニューを表示する。以下、図７４〜図７６を参照して、本具体例について詳しく説明する。図７４〜図７６は、具体例１に係るユーザインタフェースを説明するための説明図である。
【０２４６】
図７４に示すように、本具体例に係る情報処理システム１００は、表示面として機能するテーブル１４０ａ上に表示されたメニューボタン２００１がユーザにより指でタッチされると、タッチした指の形状に応じてアイコン（メニュー項目）が半円状に配置されたメニュー２００２を表示する。具体的には、情報処理システム１００は、タッチした指の方向を中心として左右に広がる半円状のメニュー２００２を、タッチした指にアイコンが重ならないように表示している。また、情報処理システム１００は、アイコンの文字表示を、タッチした指の方向に応じてユーザに正対させている。メニューボタン２００３がタッチされた場合も同様に、タッチした指の形状に応じて各項目が半円状に配置されたメニュー２００３が表示される。
【０２４７】
このような表示処理を行うために、まず、検出部１２１は、表示面に重なる操作オブジェクトを検出する。操作オブジェクトは、ユーザの指又は手等の体の一部であってもよいし、操作棒等のユーザにより操作される任意の物体であってもよいし、ロボットアーム等であってもよい。検出部１２１は、ステレオカメラにより得られる深度情報に基づいて、表示面に重なる操作オブジェクトの形状、長辺方向、短辺方向、及び高さを検出する。操作オブジェクトが指の場合、検出部１２１は、指が指す向きを検出してもよい。図７４に示した例において、検出部１２１は、テーブル１４０ａ上に重なってメニューボタン２００１、２００３をタッチした指及び手を、操作オブジェクトとして検出するとともに、指が指す向きを検出する。
【０２４８】
そして、出力制御部１２２は、検出部１２１により検出された操作オブジェクトが重なる領域が欠けた円状（半円状）のメニューを表示面に表示するよう出力部１３０を制御する。例えば、図７４に示した例において、出力制御部１２２は、メニュー２００１をタッチした指が重なる領域に、項目が配置されていないメニュー２００２を表示する。
【０２４９】
出力制御部１２２は、操作オブジェクトが重なる領域が欠けた円状のメニューを生成するための一手段として、操作オブジェクトが表示面に重なる領域の大きさに応じて、アイコンの表示個数又はアイコンの表示サイズの少なくともいずれかを増減させてもよい。例えば、出力制御部１２２は、メニューをタッチする手の大きさに応じて表示するアイコンの表示個数を増減させるよう出力部１３０を制御する。具体的には、出力制御部１２２は、図７５に示すように、ユーザが指を１本伸ばしてメニューボタンにタッチした場合は９個のアイコンを表示し、ユーザが指を畳まずに広げてタッチした場合は７個のアイコンを表示している。
【０２５０】
また、図７６に示すように、出力制御部１２２は、指の太さに応じて、問題なくタッチすることができるサイズ及び個数の上限となるようアイコン表示を調整してもよい。具体的には、出力制御部１２２は、指が細い場合はアイコンサイズを小さくして多くのアイコンを表示し、指が太くなるにつれてアイコンサイズを大きくしてアイコン数を少なくする。なお、出力制御部１２２は、アイコンを配置する円の半径を増減させてもよい。例えば、表示サイズを固定すれば、半径の増減に応じて表示個数が増減される。また、表示個数を固定すれば、半径の増減に応じて表示サイズが増減される。
【０２５１】
出力制御部１２２が、このような表示制御を行うことにより、ユーザの指にアイコンが重ならないので、ユーザはメニュー全体を容易に把握することができる。さらに、指が重なって表示されたアイコンに、意図せず指が触れてしまうことによる誤作動が回避される。また、出力制御部１２２は、手の大きさに合わせてメニュー表示を制御することにより、利用可能な面積を最大限活用してアイコンを表示することができる。アイコンの表示個数の調整は、表示個数を超えたとき、即ちすべてのアイコンを表示しきれないときに特に効果を発する。
【０２５２】
また、出力制御部１２２は、操作オブジェクトの向きに応じて表示するメニューの方向を制御してもよい。詳しくは、出力制御部１２２は、検出部１２１により検出された操作オブジェクトの長辺方向に基づいて項目が配置されたメニューを表示面に表示するよう出力部を制御してもよい。例えば、図７４に示した例においては、出力制御部１２２は、メニューボタン２００１をタッチした指の方向に基づいて、タッチした指の方向を中心として左右に広がる半円状のメニュー２００２を表示する。さらに、出力制御部１２２は、メニューボタン２００１をタッチした指の方向に基づいて、当該指を有するユーザの方向を推定して、ユーザに文字表示及びメニュー配置が正対するように、メニュー２００２を表示する。出力制御部１２２は、このような表示制御を行うことにより、ユーザがテーブル１４０ａをどの方向からタッチしても、ユーザに正対するメニューを提供することができる。
【０２５３】
なお、情報処理システム１００は、検出部１２１による検出結果に応じて個人を識別して、識別した個人の操作履歴等に応じた個人化した出力を行うことも可能である。例えば、情報処理システム１００は、指の太さに応じて個人を特定することができる。このため、例えば家庭内使用される情報処理システム１００に、ユーザが家族共用アカウントでログインした状態であっても、カメラに顔を向けて顔認識による識別を行うことなく、ログインした家族に個人化した出力を行うことが可能である。例えば、情報処理システム１００がプロジェクション型である場合に、ユーザは上を見ずとも個人化した出力の提供を受けることができる。また、情報処理システム１００は、居酒屋等の不特定多数が触る環境下においても、個人化した出力を行うことが可能である。ただし、例えば雪山でグローブを付けた状態でタッチする場合など、同じ個人でも指の太さが変わる場合が考えられる。
【０２５４】
［具体例２］
本具体例は、カメラ、マイク、プロジェクタ、スピーカが既知の場合に、手や指が観測された向きからユーザがいる方向を推定することで、入出力をユーザに最適化する形態である。マイクによる音声取得にユーザの位置が考慮されない場合、鮮明な音声を取得することが困難な場合があり、また、スピーカからの音声出力にユーザの位置が考慮されない場合、臨場感のある音声出力が困難な場合がある。そこで、本具体例に係る情報処理システム１００は、ユーザの位置を推定して、ユーザの位置に最適化した入力および出力を行う。以下、図７７〜図８５を参照して、本具体例について詳しく説明する。図７７〜図８５は、具体例２に係るユーザインタフェースを説明するための説明図である。
【０２５５】
一例として、ここでは入力部１１０として機能するマイクをユーザに最適化する例を説明する。本具体例に係る検出部１２１は、入力部１１０として機能するマイクの指向性を制御して、ユーザの口元にマイクの指向性を向ける。検出部１２１は、複数のマイクを組み合わせたマイクアレイを用いて、指向性を制御する。
【０２５６】
図７７は、４本のマイクを有するマイクアレイにより形成される指向性の一例を示している。検出部１２１は、各マイクに音声が届く時間差を利用して指向性を持たせる（ビームフォーミングを行う）ことで、指向性を持たせない方角からの生活雑音を排除することができる。なお、マイクの本数が増えると、より絞り込んだ指向性を持たせることが可能となる。
【０２５７】
図７８は、表示面にタッチされた指の位置に応じた指向性の制御の一例を示している。検出部１２１は、表示面にタッチしたユーザの指の位置に応じてユーザの位置を推定して、推定したユーザの位置にマイクの指向性を向ける。検出部１２１は、このようにしてマイクの指向性を制御することにより、マイクからユーザが離れている場合であっても、生活雑音を排除した鮮明なユーザ音声を取得することができ、例えば音声認識を行うことが可能となる。図７９に示すように、例えばスマートフォンであればマイクと口元との距離が１０ｃｍ（センチメートル）程度であることが求められるところ、本具体例に係る情報処理システム１００は、１００ｃｍ程度の距離があっても生活雑音を排除した鮮明なユーザ音声を取得することができる。
【０２５８】
このような指向性制御を行うために、まず、検出部１２１は、操作オブジェクトを検出する。検出部１２１は、表示面に重なる操作オブジェクトの形状、長辺方向、短辺方向、及び高さを検出する。操作オブジェクトが指の場合、検出部１２１は、指が指す向きを検出してもよい。次いで、検出部１２１は、検出された操作オブジェクトに基づいて、操作オブジェクトを操作するユーザが位置する方向を推定する推定部として機能する。例えば、検出部１２１は、ユーザの手や指を操作オブジェクトとして検出して、手や指の位置及び向きに基づいてユーザが位置する方向を推定する。以下、具体的な推定方法について説明する。
【０２５９】
例えば、図８０に示した例では、検出部１２１は、投影面に投影されたアイコンの位置と、指でタッチされたアイコンの位置とを結ぶ直線上の、矢印方向にユーザが位置すると推定する。操作するアイコンがユーザの手元にあるという前提が成り立つ場合に有効な手法である。例えば、ユーザがアイコンを長押し後にドラッグすることで、自由にユーザの手元にアイコンを移動させることができる場合にこの前提は成り立つと考えられる。この手法によれば、検出部１２１は、指の向きを検出することに失敗した場合であっても、ユーザの方向を推定することができる。
【０２６０】
例えば、図８１に示した例では、検出部１２１は、アイコンをタッチした指の向きの反対側である、矢印方向にユーザが位置すると推定する。この手法は、検出部１２１が指の向きを検出することに成功した場合に有効である。
【０２６１】
例えば、図８２に示した例では、検出部１２１は、投影面として機能するテーブル１４０ａ上に置かれた手の位置及び向きに基づいて、左右の手の中央にユーザが位置するものとして、矢印方向にユーザが位置すると推定する。具体的には、検出部１２１は、同じ辺から検出された２本の手の向きの平均の向きを、ユーザが位置する方向であると推定する。この手法は、検出部１２１が手の向きを検出することに成功した場合に有効である。
【０２６２】
例えば、図８３に示した例では、検出部１２１は、アプリケーションを操作している指の向きからユーザが位置する方向を推定する。検出部１２１は、複数のアプリケーションについて、駆動時から操作する指の向きを推定及び蓄積しておき、蓄積された指の向きを統合することで、現在のユーザが位置する方向を推定してもよい。また、検出部１２１は、あるアプリケーションを操作する指の向きに、他のアプリケーションを操作する指の向きを統合・演算することで、ユーザが位置する方向を推定してもよい。
【０２６３】
このようにして、検出部１２１は、ユーザが位置する方向を推定する。そして、検出部１２１は、推定したユーザが位置する方向に指向性を持たせた入力を行うよう入力部１１０を制御する。例えば、図７９〜図８３を参照して上記説明した例においては、検出部１２１は、推定したユーザが位置する方向からの音声を取得するためのビームフォーミングを行うようマイクを制御する。なお、検出部１２１が、各マイクから出力された音声に対してビームフォーミング処理を行ってもよい。これにより、検出部１２１は、生活雑音を排して鮮明なユーザ音声を取得することができる。他にも、検出部１２１は、推定したユーザが位置する方向の画像を取得するために、入力部１１０として機能するカメラの向きを制御してもよい。
【０２６４】
また、出力制御部１２２は、検出部１２１により推定されたユーザが位置する方向に指向性を持たせた出力を行うよう、出力部１３０を制御する。例えば、出力制御部１２２は、ユーザが位置する方向に音声を出力するためのチャンネル構成を行うよう、出力部１３０として機能するスピーカを制御する。音声の他にも、出力制御部１２２は、例えば推定したユーザが位置する方向に向けて、ユーザに正対するように画像を出力するよう出力部１３０を制御してもよい。
【０２６５】
図８４は、プロジェクション型の情報処理システム１００の本体を、下から見た場合の簡易な構成例および本体とユーザとの位置関係を示している。図８４に示すように、本体の４隅にそれぞれスピーカが形成されている。なお、図中「Ｒ」は右チャンネル、「Ｌ」は左チャンネルを示している。図８４上図に示すように、情報処理システム１００を囲う形でユーザが複数いる場合、出力制御部１２２は、通常のチャンネル構成で音声を出力するようスピーカを制御する。一方で、図８４下図に示すように、ユーザが一人である場合、出力制御部１２２は、推定されたユーザ位置に特化したチャンネル構成で音声を出力するようスピーカを制御する。
【０２６６】
以上説明したように、本具体例によれば、ユーザの位置に応じてマイクの指向性を持たせることで、例えば生活雑音のような雑音環境下でも、また、マイクとユーザの位置が離れていても、音声認識や音声コマンドの成功率を向上させることが可能である。また、本具体例によれば、ユーザの位置に応じてスピーカのチャンネル構成を変化させることで、より臨場感がある音響空間を実現することが可能である。例えば、本具体例に係る情報処理システム１００は、家庭用テレビにおいて利用されることを想定してチャンネル構成が設計されたコンテンツを、コンテンツ作成者の意図通りに再現することが可能である。他にも、本具体例によれば、情報処理システム１００は、音声認識完了後に、Ｗｅｂブラウザなどのアプリケーションをユーザに正対するように表示することも可能である。
【０２６７】
（写真アプリケーション）
ここで、図８５を参照して、本具体例に係る情報処理システム１００を用いたアプリケーションの一例として、写真アプリケーションについて説明する。本アプリケーションは、本体から見たテーブル１４０ａおよびスピーカの位置を既知とし、本体およびテーブル１４０ａの位置情報及び設置方角情報を利用して、多様な視覚効果及び効果音を出力する。なお、位置情報は、例えばＧＰＳ（Global  Positioning  System）により取得され、設置方角情報は例えば地磁気センサにより取得され得る。
【０２６８】
例えば、本アプリケーションは、写真に付随するＥｘｉｆ（Exchangeable  image  file  format）情報から撮影位置を取得して、テーブル１４０ａから見た撮影位置の方角を推定する。そして、本アプリケーションは、図８５に示すように、推定した方角から写真が投影面に滑り込んでくるアニメーションを表示したり、対応する位置にあるスピーカから効果音を鳴らしたりする。効果音に関しては、対応する位置に音像が定位されてもよい。本アプリケーションは、例えば会議室に適用されて、遠隔地にある複数の会議室に設置されたテーブル１４０ａにおいて会議資料をミラーリングして共有したり、会議室間の対話を実現したりしてもよい。
【０２６９】
なお、写真アプリケーションにより投影面１４０ａに表示された写真は、多方向から多人数により同時に操作・閲覧され得る。例えば、１４０ａの４辺にいるユーザが、多方向から同時に写真を選択して方向を変えながら位置を移動させたり、写真を編集したり、新たな写真を追加したりすることが可能である。
【０２７０】
［具体例３］
本具体例は、投影面の状態及び起動中のアプリケーションの状態を管理して、必要に応じて照明（電灯）制御を行う形態である。一般的に、プロジェクタ及び照明を利用する場合、投影された画像が照明の明るさで不鮮明になってしまう。このため、部屋の照明を消す、又は投影面付近だけ照明を消すなどの行為を人間が行っていた。本具体例に係る情報処理システム１００は、プロジェクタ及び照明を利用する場合に、プロジェクタにより投影された画像が鮮明に映るように照明を制御することで、このような人間の手間を削減することができる。本具体例に係る情報処理システム１００は、プロジェクション型であり、制御可能な照明部が本体と一体的に形成されている、又は分離して形成された照明部を遠隔制御可能であるものとする。また、照明部は、照射範囲及び照射方向を変更可能であるものとする。以下、図８６〜図９３を参照して、本具体例について詳しく説明する。図８６〜図９３は、具体例３に係るユーザインタフェースを説明するための説明図である。
【０２７１】
図８６に示すように、本具体例に係る情報処理システム１００は、カメラ２０１１、投影部として機能するプロジェクタ２０１２、及びマトリクス状に配置された複数の照明部２０１０が設けられている。検出部１２１は、投影面に向けられたカメラ２０１１の撮像画像に基づいて、投影面の状態を検出し、投影面の状態の検出により得られる状態情報を取得する。投影面の状態とは、例えば投影面の明度、投影面に投影された画像のコントラスト比、および投影面上に物体が存在するか否か、投影面上の物体の種類、配置、大きさ、物体同士の組み合わせ等を意味する。そして、出力制御部１２２は、プロジェクタ２０１２により投影面に投影される画像、および検出部１２１により検出された状態に基づいた光量（照明強度）で投影面を照射するよう照明部２０１０を制御する。
【０２７２】
例えば、図８６のように、テーブル１４０ａの投影面にプロジェクタ２０１２が何も投影していない場合、出力制御部１２２は、大きな光量で（明るく）投影面を照射するよう照明部２０１０を制御する。しかし、プロジェクタ２０１２が画像を投影する場合、出力制御部１２２は、小さな光量で（暗く）投影面を照射するよう照明部２０１０を制御する。もちろん、光量をゼロとして、照明を消してもよい。出力制御部１２２は、検出部１２１による投影画像のコントラスト比の検出結果を参照しながら光量を増減させることで、投影された画像のコントラスト比が閾値以上となる光量で投影面を照射するよう照明部２０１０を制御してもよい。投影された画像のコントラスト比を視認容易な値以上とすることで、出力制御部１２２は、明るさと視認性とを両立させることができる。
【０２７３】
図８７のように、テーブル１４０ａの一部に物体が載置されて、投影面として用いられないような場合も考えられる。この場合、検出部１２１は、載置された物体を投影面の状態として検出して、出力制御部１２２は、検出された物体の周辺は大きな光量で照射し、その他の投影面として用いる部分は小さな光量で照射するよう照明部２０１０を制御する。
【０２７４】
また、出力制御部１２２は、テーブル１４０ａに載置された物体（オブジェクト）の種別に基づいて照明部２０１０を制御し得る。例えば、検出部１２１により投影面上に位置する物体が検出された場合、出力制御部１２２は、検出された物体が発光する発光体であるか、光を反射する（発光しない）反射体であるかに基づいた光量で投影面を照射するように照明部２０１０を制御してもよい。具体的には、出力制御部１２２は、発光体であれば小さな光量で、反射体であれば大きな光量で投影面を照射するよう照明部２０１０を制御する。以下、図８８、図８９を参照して、発光体としてのスマートフォン、反射体としての皿がテーブル１４０ａに載置された場合の照明制御について説明する。
【０２７５】
図８８左図に示すように、まず、プロジェクタ２０１２が画像を投影する場合、出力制御部１２２は、小さな光量で投影面を照射するよう照明部２０１０を制御する。そして、図８８中央図に示すように、テーブル１４０ａ上に物体が載置された場合、検出部１２１が物体を検出する。この場合、出力制御部１２２は、検出部による物体認識を可能にするために、物体が発光体であるか反射体であるかに拘らず大きな光量で投影面を照射するよう照明部２０１０を制御する。次いで、検出部１２１は、例えば投影面を撮像した画像をサーバに問い合わせることで、テーブル１４０ａに載置された物体を認識する。
【０２７６】
例えば、物体がスマートフォンであるとサーバに登録されていた場合、出力制御部１２２は、スマートフォンは表示部が発光する発光体であるため、図８８右図に示すように元の小さな光量で投影面を照射するよう照明部２０１０を制御する。スマートフォンが発光するため、検出部１２１は、投影面が暗くてもスマートフォンを継続的に検出および追従することができる。また、光量が少ないため、照明部２０１０から照射された光がスマートフォンの表示部に写り込むこと（ハイライト）が回避される。これにより、検出部１２１は、容易にスマートフォンを検出することができる。
【０２７７】
一方で、物体が皿であるとサーバに登録されていた場合、出力制御部１２２は、皿は発光部を有さない反射体であるため、図８９左図に示すように大きな光量で投影面を照射するよう照明部２０１０を制御する。これにより、検出部１２１は、皿を継続的に検出および追従することができる。出力制御部１２２は、図８９中央図に示すように、皿が位置する領域のみを明るくして、他の領域を暗くするよう照明部２０１０を制御してもよい。これにより、例えば、他の領域において、投影画像が視認可能に投影される。また、出力制御部１２２は、図８９右図に示すように、照明部２０１０の照明を消した上で、物体の形状よりも少し大きめのスポットライトが当たるようにプロジェクタ２０１２を制御してもよい。プロジェクタによるスポットライトとは、例えば白一色の画像を所望の領域に投影することにより実現され得る。これにより、検出部１２１は、皿を容易に検出可能であるし、皿がスポットライトの範囲内で移動したとしても、継続的に検出および追従することができる。
【０２７８】
なお、検出部１２１は、照明部２０１０による光量を調節しながら、カメラ２０１１による撮像画像を参照することで、物体が発光体であるか反射体であるかを検出してもよい。例えば、検出部１２１は、暗い状態でも検出可能であれば発光体であると認識し、明るい状態になってはじめて検出可能となった場合は反射体であると認識してもよい。このような手法によれば、検出部１２１は、サーバに問い合わせることなく、また、サーバに登録されていない物体であっても、発光体であるか反射体であるかを識別することができる。
【０２７９】
また、情報処理システム１００は、照明面積のコントロールによって物体の探索精度（検出精度）を向上させることができる。例えば、図９０左図に示すように、検出部１２１は、物体（マーカー）の探索開始直後はテーブル１４０ａの全体を照射するように照明部２０１０を制御する。ここで、マーカーは反射体であるものとする。マーカーが検出された場合、図９０右図に示すように、検出部１２１は、マーカーが占める領域に徐々に照射範囲を絞るよう照明部２０１０を制御する。これにより、情報処理システム１００は、テーブル１４０ａに載置されたマーカーが認識されているか否か、およびどの程度マーカーの存在範囲が絞り込まれているかを明示的にユーザにフィードバックすることができる。さらに、照射範囲の絞り込み途中であれば、ユーザが対象を移動させたとしても、マーカーに照明が当たって反射されるため、検出部１２１はマーカーを検出および追従することができる。このとき、検出部１２１は、照射範囲を再度広げて改めて絞り込むよう照明部２０１０を制御してもよい。図９１左図に示すように、マーカーが照射範囲から外れた場合、検出部１２１はマーカーの検出に失敗し得る。この場合、図９１右図に示すように、検出部１２１は、照射範囲を再度広げて改めてマーカーの探索を行ってもよい。
【０２８０】
また、情報処理システム１００は、光量のコントロールによって物体の探索精度を向上させることができる。具体的には、検出部１２１は、マーカーの材質に応じて照明部２０１０の光量を調整する。例えば、マーカーがガラスおよびプラスチックのような光沢がある材質の場合、ハイライトが生じるとカメラ２０１１による撮像画像からマーカーを検出することが困難になり得る。このため、検出部１２１は、マーカーを検出可能な程度の小さな光量で投影面を照射するよう照明部２０１０を制御する。一方で、例えばマーカーが布、紙、及び木材のような光沢がない（マットな）材質の場合、明るい環境下であるほどマーカーの検出は容易となる。このため、検出部１２１は、可能な限り大きな光量で投影面を照射するよう照明部２０１０を制御する。なお、検出部１２１は、マーカーの材質を、例えばサーバに登録されたマーカーの材質を示す情報を参照することにより判定し得る。検出部１２１は、図９２に示すように、照明の強弱を繰り返し変化させながらマーカーを探索することができる。この場合、検出部１２１は、多様な材質のマーカーを、サーバに問い合わせることなく、材質に適した照明環境下で検出することが可能となる。
【０２８１】
また、情報処理システム１００は、図９３に示すように、照明部２０１０とカメラ２０１１とを連動させることにより、物体の探索精度を向上させることができる。図９３は、薄暗い環境下で物体を検出する例を示しており、時間は左から右へ流れる。検出部１２１は、カメラ２０１１の撮影間隔と同期して発光するよう照明部２０１０を制御する。つまり、検出部１２１は、照明部２０１０を、一般的なカメラに取り付けられるストロボ（エレクトロニックフラッシュ）として機能させる。カメラ２０１１は、薄暗い環境下であっても、照明部２０１０による発光の反射光を撮像することができ、検出部１２１による検出精度が向上する。例えば、電源周波数が５０Ｈｚであれば、２０ミリ秒間隔で撮影および発光がなされ得る。人間が認識できない間隔で発光するので、一瞬明るくなるものの、周囲が薄暗いままでも検出部１２１による物体の検出が可能となる。
【０２８２】
以上説明したように、本具体例によれば、情報処理システム１００は、投影面の状態に応じて照明部による照明強度、照明範囲を調整することで、鮮明な画像を投影面に投影することが可能となる。また、情報処理システム１００は、必要な個所のみを照射するように照明範囲を調整することにより、部屋全体が意図せず暗くなったり明るくなったりするような周囲への影響を抑止することができる。また、情報処理システム１００は、照明部による照明強度、照明範囲を調整することにより、テーブル１４０ａに載置された物体の認識精度を向上させることができる。
【０２８３】
［具体例４］
本具体例は、操作オブジェクトの認識可能数の超過をフィードバックする形態である。例えば、指でテーブル１４０ａをタッチしても何らのフィードバックがない場合、タッチが認識されていないのか、タッチは認識されたがＵＩが反応しないのか、ユーザが操作に失敗したのかを、ユーザは判別することができない。ここで、認識可能な数を超過していた場合、情報処理システム１００は、超過分のタッチの検出に失敗するため、ユーザにフィードバックすることが困難であった。
【０２８４】
そこで、本具体例に係る情報処理システム１００は、計算量上の操作オブジェクトの認識可能上限数マイナス１を、仕様上の認識可能上限数として定義する。計算量上の認識可能上限数とは、検出部１２１により検出可能な操作オブジェクトの上限数を意味する。つまり、１本分のバッファを持たせて仕様上の認識可能上限数が定義される。もちろん、バッファの数は１以外の任意の数であってもよい。情報処理システム１００は、仕様上の認識可能上限数を１超えた場合、即ち計算量上の認識可能上限数に到達した場合に、ユーザに認識できない旨をフィードバックする。詳しくは、検出部１２１は、テーブル１４０ａにタッチされた操作オブジェクトを検出する。出力制御部１２２は、検出部１２１により検出された操作オブジェクトの数が計算量上の認識可能上限数である場合に、警告を出力するよう出力部１３０を制御する。以下、図９４を参照して具体的に説明する。図９４は、具体例４に係るユーザインタフェースを説明するための説明図である。
【０２８５】
図９４は、計算量上の操作オブジェクトの認識可能数が４であった場合の、情報処理システム１００によるフィードバック例を示している。この例においては、仕様上の認識可能上限数は、４マイナス１の３となる。このため、図９４に示すように、タッチした指が１本〜３本である場合、出力制御部１２２は、タッチの検出に成功したことを示す効果音を出力するよう出力部１３０を制御する。そして、図９４に示すように、タッチした指が４本となった場合、仕様上の認識可能上限数である３を超過したため、出力制御部１２２は、タッチの検出に失敗したことを示す効果音を出力するよう出力部１３０を制御する。
【０２８６】
出力制御部１２２は、テーブル１４０ａにタッチされた指の数がすでに仕様上の認識可能上限数に到達している場合、指がタッチする前の、例えば指がカメラの画角に入ってきたタイミングで、その指が認識可能／不可能であることをフィードバックしてもよい。さらに、出力制御部１２２は、例えば手を握った状態ではタッチを検出できず、利用できない旨をフィードバックしてもよい。出力制御部１２２は、検出部１２１の認識可能上限数以外にも、例えば二人用のゲームで１本ずつ指を使用すること、といったアプリケーションで規定されている認識可能上限数に応じて、フィードバックしてもよい。なお、例えば認識可能上限数が４本で、タッチされた指の本数が６本であり、２本が認識できない場合、走査の都合上左上が優先してフィードバックされ、空きが出来た場合も左上が優先して利用可能になり得る。もちろん、優先される位置は左上に限らず、製品設計に応じた任意の位置であってもよい。
【０２８７】
本具体例によれば、操作オブジェクトの認識可能上限数を越えたことを、ユーザに明示的にフィードバックすることが可能になる。これにより、ＵＩが反応しないと勘違いしたユーザがテーブル１４０ａを連打することにより、かえって事態が悪化するような状態を予防することができる。
【０２８８】
［具体例５］
本具体例は、操作しない方の手に応じて操作モードを切り替える形態である。ユーザは、指によりテーブル１４０ａに投影された画像、テキスト、アプリケーション等を操作可能である。しかし、操作モードを切り替えるために、一旦作業を中断してメニューを開いて操作モードを選択する場合、シームレスな作業が困難であった。そこで、本具体例に係る情報処理システム１００は、操作していない方の手の認識結果に基づいて、操作モードを切り替える。
【０２８９】
詳しくは、検出部１２１は、ユーザの一対の手を検出する。例えば、検出部１２１は、同じ辺から検出された２本の手を、一対の手として検出する。出力制御部１２２は、検出部１２１により検出された一対の手のうち、一方の手を作用点として機能させた出力を行うよう出力部１３０を制御する。例えば、出力制御部１２２は、指でテーブル１４０ａをタッチする右手を、テーブル１４０ａに投影されたアプリケーションを操作するための作用点として機能させて、タッチされた位置に応じてスクロール等のインタラクションを表現する。また、出力制御部１２２は、他方の手を、手の形状に応じて作用点による作用の種別を切り替える切替器として機能させた出力を行うよう出力部１３０を制御する。例えば、出力制御部１２２は、左手の形状に応じて、右手による操作の操作モードを切り替える。もちろん、右手と左手の機能は逆であってもよい。以下、図９５〜図９７を参照して具体的に説明する。図９５〜図９７は、具体例５に係るユーザインタフェースを説明するための説明図である。
【０２９０】
例えば、左手がじゃんけんのグーの形状である場合、検出部１２１は、撮像画像に基づいて左手の形状を認識し、出力制御部１２２は、操作モードを「文鎮モード」に切り替える。出力制御部１２２は、「文鎮モード」においては、図９５上図に示すように、右手でタッチされた点に字を描画するよう出力部１３０を制御する。また、左手がじゃんけんのチョキの形状である場合、検出部１２１は、撮像画像に基づいて左手の形状を認識し、出力制御部１２２は、操作モードを「ハサミモード」に切り替える。出力制御部１２２は、「ハサミモード」においては、図９５中央図に示すように、右手でタッチされた点で投影画像を切り取った表現を行うよう出力部１３０を制御する。また、左手がじゃんけんのパーの形状である場合、検出部１２１は、撮像画像に基づいて左手の形状を認識して、出力制御部１２２は、操作モードを「通常モード」に切り替える。出力制御部１２２は、「通常モード」においては、図９５下図に示すように、右手でタッチされた点に応じてタップおよびドラッグなどの通常の操作を行うよう出力部１３０を制御する。また、図９６に示すように、出力制御部１２２は、検出部１２１により検出された手の形状に応じて異なるメニューを出力するよう出力部１３０を制御してもよい。また、図９７に示すように、出力制御部１２２は、検出部１２１により検出された手の形状に応じて異なるメディアのファイル一覧を出力するよう出力部１３０を制御してもよい。図９７に示した例では、左手がじゃんけんのグーの形状である場合に音楽ファイルの一覧が出力され、左手がじぇんけんのパーの形状である場合にＷｅｂファイルの一覧が出力されている。
【０２９１】
出力制御部１２２は、作用点として機能する右手または切替器として機能する左手のいずれかの上に、現在の操作モードを示す表示を投影することで、ユーザに明示的に操作モードをフィードバックしてもよい。例えば、出力制御部１２２は、ハサミモードであれば爪の上や手の甲にハサミのマークを投影するよう出力部１３０を制御する。また、出力制御部１２２は、作用点として機能する右手の形状に応じて作用点による作用の種別を切り替えてもよい。例えば、出力制御部１２２は、右手が１本指であれば細線を描画して、右手が２本指であれば太線を描画するよう出力部１３０を制御してもよい。また、出力制御部１２２は、切替器として機能する左手がテーブル１４０ａから外れて検出部１２１が認識に失敗した場合であっても、操作モードを維持してもよい。例えば、ユーザが左手をチョキにして、ハサミモードとなった後に、ユーザが左手を引っ込めてしまっても、出力制御部１２２は、ハサミモードを維持してもよい。
【０２９２】
以上説明したように、本具体例によれば、ユーザは、操作していない方の手で、操作モードを切り替えることができる。このため、ユーザは、現在の作業を中断することなく操作モードをシームレスに切り替えることができ、連続した作業が可能となる。また、ユーザは、直感的に操作モードを切り替えることができるため、操作モード切り替えに関する学習コストが低いものとなる。
【０２９３】
［具体例６］
本具体例は、カメラ及びプロジェクタ等の構成要素をモジュール単位で形成して、規格化されたインターフェースにより接続可能とすることで、必要に応じたモジュールごとの入れ替えを可能とする形態である。情報処理システム１００が一体型製品として形成された場合、機能拡張のためには情報処理システム１００ごと買い替える以外の手段をとることが困難になり得る。そこで、本具体例に係る情報処理システム１００は、構成要素のモジュール化及びモジュール単位の換装を可能にする。
【０２９４】
具体的には、情報処理システム１００を形成するＣＰＵ、カメラ、プロジェクタ、ＬＥＤライト、マイク、及びスピーカ等が、規格化されたモジュールに格納される。これらの構成要素は、個々に格納されてもよいし、複数が組み合わされてひとつのモジュールに格納されてもよい。なお、例えばＣＰＵ、プロジェクタ、カメラを格納するモジュールをコアモジュールとして、他の構成要素を格納するモジュールをサブモジュールとして捉えてもよい。これらの各モジュールが共通のインターフェースにより接続されることで、相互の通信及び給電が可能となり、接続されたモジュール全体で情報処理システム１００として機能することが可能となる。なお、コアモジュールのみで、情報処理システム１００として機能することも可能である。インターフェースは、無線通信により実現されてもよいし、有線通信により実現されてもよいし、端子により物理的に接続されるものであってもよい。以下、図９８〜図９９を参照して、本具体例について詳しく説明する。図９８〜図９９は、具体例６に係るユーザインタフェースを説明するための説明図である。
【０２９５】
図９８には、本具体例に係る情報処理システム１００の本体の簡易な構成例が示されている。図９８に示した構成例では、円筒状の容器の中に、プロジェクタ（Projector）が格納されたモジュールが最下層に、ＣＰＵが搭載された制御基板（MAIN  PCB）が格納されたモジュールが中層に、スピーカ（Speaker）が格納されたモジュールが最上層に、それぞれ配置されている。また、制御基板に連結されて、円筒状の容器の左右にステレオカメラ（Stereo  Camera）が配置されている。これらのモジュールは、例えば共通の端子によりそれぞれ接続されていてもよい。スピーカが格納されたモジュールと制御基板が格納されたモジュールとの間に隙間が設けられた場合、音質の向上および放熱効果が期待される。スピーカ側が天井に連結され、プロジェクタ側が床側を向くことにより、プロジェクション型の情報処理システム１００が実現され得る。各モジュールは、図９８に示したように縦方向に重なって配置されてもよいし、横方向に直線状に並べられてもよいし、平面上に並べられてもよいし、それぞれ分離・独立して任意な位置に配置されてもよい。図９８に示したモジュールの他にも、照明及びスピーカ等のサブモジュールが任意に連結されてもよい。なお、情報処理システム１００は、図９９に示すように、天井から吊り下げられる形状の照明装置として形成されてもよいし、フロアスタンド型の照明装置として形成されてもよいし、デスクスタンド型の照明装置として形成されてもよい。
【０２９６】
照明がコアモジュールから離れて設けられた場合、コアモジュールは、照明を順番に発光させながら画像認識により発光位置を特定することで、コアモジュールと照明との位置関係を認識してもよい。これにより、コアモジュールは、投影面の状態等に応じて適切な位置に設けられた照明を選択的に発光させることができる。他にも、コアモジュールは、照明が取り付けられた日時を記録しておき、例えば「そろそろこのライトが切れそうです」というメッセージを投影することで、寿命の到来をユーザに通知してもよい。また、広いレンジを有するスピーカが取り付けられた場合、コアモジュールは、そのスピーカを主に用いて音声出力を行い、他のスピーカをバランス調整のために用いてもよい。
【０２９７】
本具体例によれば、製品全体ではなくモジュールごとの一部買い替えが可能となるので、製品の買い替えコストを抑制すると共に、資源が節約される。また、本具体例によれば、モジュールの入れ替えにより、機能の拡張を容易に実現することができる。また、例えばユーザはコアモジュールを入れ換えることで、ＣＰＵ処理能力、カメラ解像度、認識精度等のパフォーマンスを向上させることができる。また、ユーザは、例えばサブモジュールを入れ換えることにより、豊富に展開されたスピーカ及び照明等のデザインバリエーションを楽しむことができる。
【０２９８】
［具体例７］
本具体例は、同一のアプリケーションの画面を複数表示する際に、各画面間の表示を同期させる形態である。通常、アプリケーションは単一方向に向けて表示されるが、テーブル１４０ａを複数のユーザが囲んでひとつのアプリケーションを使用することを想定すると、例えば逆方向に立つユーザにとって表示が見辛いものとなり得る。そこで、本具体例に係る情報処理システム１００は、同一のアプリケーションの画面を複数表示すると共に、必要に応じて画面間の同期（ミラーリング）／非同期（ミラーリングの解除）を切り替える。
【０２９９】
詳しくは、検出部１２１は、操作オブジェクトを検出する。出力制御部１２２は、検出部１２１により検出された操作オブジェクトに応じて、少なくとも２つの画面を表示面に表示するよう出力部１３０を制御する。例えば、出力制御部１２２は、検出部１２１により検出された指の方向に基づいて、テーブル１４０ａを囲む複数のユーザに対してそれぞれ正対するように、同一アプリケーションの画面を表示する。画面を同期させる場合、出力制御部１２２は、検出部１２１により検出された操作オブジェクトによる一方の画面への操作を、他の画面にも同様に反映させた表示を行うよう出力部１３０を制御する。例えば、一方のユーザが指で画面をスクロールさせた場合に、他方のユーザに対して表示された画面も同様にスクロールする。以下、図１００〜図１０３を参照して具体的に説明する。図１００〜図１０３は、具体例７に係るユーザインタフェースを説明するための説明図である。
【０３００】
図１００は、Ｗｅｂブラウザを１つの画面で表示する通常状態を示している。図１０１は、Ｗｅｂブラウザを２つの画面で同期して表示させた同期表示状態を示している。出力制御部１２２は、画面を同期させている間は、一方の画面への操作を他の画面にも反映させる。例えば、図１０１に示すように、出力制御部１２２は、一方のユーザが画面をクリックして画面遷移させる場合、他方の画面でも同一箇所をクリックされたものとして同様の画面遷移をするよう出力部１３０を制御する。図１０１では、表示面を上下２つに分割して同期表示する例を示したが、出力制御部１２２は、図１０２に示すように、表示面を左右２つに分割して同期表示するよう出力部１３０を制御してもよい。同期が解除された場合、出力制御部１２２は、図１０３に示すように、各ユーザが各画面に対して個々にスクロール等の操作を行った表示を行うよう出力部１３０を制御してもよい。出力制御部１２２は、再度の同期を行う場合、マスタとなるいずれか１つの画面の表示により、他の画面（スレーブ）の表示を統一する。
【０３０１】
出力制御部１２２は、スクロール以外にも、例えば文字入力、地図アプリケーションへの目印の記入等を、同期表示により全ての画面で共有させることができる。他にも、出力制御部１２２は、例えばあるＷｅｂページ全体を複数のユーザが閲覧している場合に、他のユーザが表示させている領域の位置を矩形表示したり、その領域の方向を矢印で表示したりしてもよい。図１００〜図１０３では、各画面が接した状態で表示される例を示したが、各画面はそれぞれ離間していてもよい。
【０３０２】
出力制御部１２２は、ひとつの画面を２つに分けたり（分流）、２つの画面をひとつに統合したり（合流）してもよい。出力制御部１２２は、分流した複数の画面を同期表示してもよいし、非同期表示してもよい。また、出力制御部１２２は、分流した複数の画面を再度合流させてもよい。この場合、出力制御部１２２は、マスタとなるいずれかひとつの画面を、合流後の画面として表示する。
【０３０３】
合流の際のマスタとなる画面の決定方法は、多様に考えられる。例えば、出力制御部１２２は、合流することを先に選択した画面をマスタ、他の画面をスレーブとしてもよい。このとき、出力制御部１２２は、「合流しますか？」というダイアログを他の画面で表示させて、合流することに同意した画面をスレーブとしてもよい。また、出力制御部１２２は、合流後に再度分流する場合、スレーブが元々表示していた画面を、当該スレーブの画面として表示してもよい。例えば、出力制御部１２２は、Ｗｅｂページ「Ａ」を表示していたマスタ、Ｗｅｂページ「Ｂ」を表示していたスレーブを同期させて、ひとつのＷｅｂページ「Ａ」を表示する例を想定する。この後、再度分流する場合、出力制御部１２２は、マスタにＷｅｂページ「Ａ」を表示させ、スレーブにＷｅｂページ「Ｂ」を表示させてもよい。
【０３０４】
分流及び合流の契機は多様に考えらえる。例えば、出力制御部１２２は、検出部１２１により検出された、ユーザによるメニュー項目の選択により、分流または合流を行うよう出力部１３０を制御してもよい。また、出力制御部１２２は、ひとつの画面をタッチした指を左右に引っ張るように動かす動作が検出部１２１により検出された場合に、分流を行ってもよい。他にも、出力制御部１２２は、ひとつの画面を２人がタッチして左右に引っ張って切るような動作が検出部１２１により検出された場合に、分流を行ってもよい。逆に、出力制御部１２２は、２つの画面をタッチした指を重ねるように動かす動作が検出部１２１により検出された場合に、合流を行ってもよい。なお、検出部１２１は、指の本数等に応じて、合流／分流を示す操作とピンチイン及びピンチアウトといった操作とを区別してもよい。出力制御部１２２は、合流するか否かの決定を、マスタにのみ許可してもよいし、スレーブにのみ許可してもよいし、スレーブを含めたすべての画面に許可してもよい。
【０３０５】
以上説明したように、本具体例によれば、複数の画面をユーザの位置に応じた方向に表示することができるため、異なる方向からの高い視認性を実現することができる。また、本具体例によれば、複数の画面について必要に応じて同期／非同期を切り替えることが可能であるため、アプリケーションの状態に応じた臨機応変な表示／操作を実現することができる。また、本具体例によれば、画面が同期されている場合、他者の操作がフィードバックされるため、他者が何の操作を行い、アプリケーションがどのように動作しているかを、ユーザは容易に認識することができる。
【０３０６】
［具体例８］
本具体例は、テーブル１４０ａ上の被写体を記録しておき、原寸大で再現する形態である。テーブル１４０ａ上の被写体とは、例えばテーブル１４０ａ上に載置された絵画、写真等の物体、テーブル１４０ａに投影された画像などを意味する。本具体例に係る情報処理システム１００は、ある時点におけるテーブル１４０ａ上の被写体を撮像しておき、後にテーブル１４０ａに被写体が原寸大で表示されるように撮像画像をプロジェクタ（投影部）で投影する。ここで、状態が記録されてから再現されるまでの間に投影距離及び投影画角等の環境が変化した場合、情報処理システム１００は、原寸大で状態を再現することが困難となる場合がある。そこで、本具体例に係る情報処理システム１００は、記録した時点におけるプロジェクタとテーブル１４０ａとの間の投影距離、及びプロジェクタの投影画角を保存しておき、再現する時点での投影距離及び投影画角に応じて投影サイズの変更（キャリブレーション）を行う。
【０３０７】
このようなキャリブレーションのための前提処理として、制御部１２０は、カメラによる撮像サイズとプロジェクタによる投影サイズとを整合させる調整処理を行う。詳しくは、制御部１２０は、カメラによりテーブル１４０ａ上の被写体が撮像された画像を、プロジェクタによりテーブル１４０ａに投影した場合に、被写体の投影サイズと実サイズとが一致するように調整を行う調整部として機能する。制御部１２０は、この調整処理として、例えばテーブル１４０ａ上の４点の位置合わせを行ったり、ホモグラフィ変換を行ったりする。このような調整処理がされたプロジェクタ、及びカメラ、テーブル１４０ａから成る環境においては、情報処理システム１００は、例えばテーブル１４０ａ上に載置された絵画を撮像しておき、後日に同じ大きさで投影することが可能となる。しかし、投影距離又は投影画角といったプロジェクタの設定が変化した場合、プロジェクタにより投影される画像の投影サイズも変化する。そこで、情報処理システム１００は、撮像画像と設定情報とを対応付けて記憶しておき、設定情報の変化に応じて投影サイズを調整することにより、原寸大での被写体の投影を実現する。
【０３０８】
詳しくは、まず、調整処理済みのある時点の環境（第１の環境）において、制御部１２０は、カメラ（第１の撮像部）によりテーブル１４０ａ（第１の投影面）上の被写体が撮像された撮像画像、およびプロジェクタの設定情報を記憶する。制御部１２０は、設定情報を記憶する記憶部として機能してもよい。設定情報とは、プロジェクタと投影面との距離である投影距離を示す情報を含む情報である。なお、投影距離は、プロジェクタと被写体との距離を示す情報であってもよい。設定情報は、さらにプロジェクタの画角である投影画角を示す情報を含んでいてもよい。
【０３０９】
投影距離又は投影画角が変化した場合、まず、制御部１２０は、調整処理を行う。次いで、情報処理システム１００は、調整処理済みの環境（第２の環境）において、変化後のプロジェクタ（第２の投影部）の設定情報と、記憶された変化前の設定情報とを比較する。そして、情報処理システム１００は、この比較結果に基づいて、記憶された撮像画像の被写体が実サイズで投影されるようプロジェクタを制御する。以下、図１０４〜図１１０を参照して具体的に説明する。図１０４〜図１１０は、具体例８に係るユーザインタフェースを説明するための説明図である。
【０３１０】
図１０４上図に示すように、テーブル１４０ａ上に絵画が載置された例を想定する。まず、検出部１２１は、載置された絵画を撮像するよう入力部１１０を制御して、撮像画像を取得する。次いで、制御部１２０は、取得された撮像画像と共に、投影距離１００ｃｍ及び投影画角６０°を設定情報として記憶する。この時点では、プロジェクタが撮像画像を投影すると、絵画が実サイズと同じサイズで投影される。
【０３１１】
例えばテーブル１４０ａを買い替えた場合など、投影距離が変化した場合、出力制御部１２２は、記憶された設定情報と変化後の設定情報を比較して、拡大または縮小表示を行うようプロジェクタを制御する。例えば、図１０４中央図に示すように、投影距離が１００ｃｍから５０ｃｍに変化した場合、出力制御部１２２は、通常の２倍のサイズに拡大して投影するようプロジェクタを制御する。これにより、絵画が実寸大で再現される。
【０３１２】
プロジェクタを買い替えた場合など、投影画角が変化した場合、出力制御部１２２は、記憶された設定情報と変化後の設定情報を比較して、拡大または縮小表示を行うようプロジェクタを制御する。例えば、図１０４下図に示すように、投影画角が６０°から１２０°に変化した場合、出力制御部１２２は、通常の０．５倍に縮小して投影するようプロジェクタを制御する。これにより、絵画が実寸大で再現される。なお、図１０４では、同一家庭内（同一の情報処理システム１００）でプロジェクタの設定が変化する例を説明したが、異なる家庭に画像を送信する場合であっても同様にキャリブレーションが行われてもよい。キャリブレーションにより、環境の変化を吸収可能である。
【０３１３】
このようなキャリブレーション機能を発火させるタイミングは多様に考えられる。例えば、図１０５に示すように、情報処理システム１００は、ユーザにより卓上のスイッチが押下されたタイミングで、キャリブレーション機能を発火させてもよい。また、図１０６図に示すように、情報処理システム１００は、掃除および模様替え等によりテーブル１４０ａが変わったタイミングで、キャリブレーション機能を発火させてもよい。例えば、情報処理システム１００は、最大平面までの距離（投影距離）が変化したことが検出部１２１により検出された場合に、自動的に発火させてもよい。また、図１０７に示すように、情報処理システム１００は、昇降機能により高さ（投影距離）が変化したタイミングで、キャリブレーション機能を発火させてもよい。昇降機能は、例えば、モーターで動作する昇降装置により実現される。
【０３１４】
なお、情報処理システム１００は、昇降機能を用いて投影面を可能な限り広く利用する距離になるよう自動で高さの調整を行ってもよい。詳しくは、出力制御部１２２は、所定の図柄を投影するようプロジェクタを制御し、検出部１２１は、投影された画像を撮像するようカメラを制御する。そして、制御部１２０は、投影された所定の図柄が全てテーブル１４０ａに収まった画像が撮像される高さになるよう、昇降機能を用いて高さを調整する。例えば、図１０８上図に示した例では、投影された図柄がテーブル１４０ａからはみ出ているので、投影面までの距離が遠い。一方で、図１０８下図に示した例では、投影された図柄がテーブル１４０ａに小さく映っているため、投影面までの距離が近い。そこで、制御部１２０は、図１０８中央図に示すように、投影された図柄がテーブル１４０ａの領域全体に渡って映るような最適距離となるよう、高さの調整を行う。なお、制御部１２０は、深度センサ（ステレオカメラ）から取得される投影距離と合わせて、撮像画像に含まれる図柄の大きさから距離を測定することで、より確度の高い調整を実現してもよい。
【０３１５】
また、情報処理システム１００は、昇降機能による昇降中に、キャリブレーションを行ってもよい。例えば、制御部１２０は、図１０９上図に示すように、昇降中は投影サイズが一定になるようにプロジェクタを制御してもよい。また、制御部１２０は、図１０９下図に示すように、昇降完了後は、本来の投影サイズで投影するようプロジェクタを制御してもよい。情報処理システム１００が昇降中の投影距離の変化に基づいて投影サイズを調整しながら昇降することにより、ユーザは、昇降中にも操作・閲覧を行うことができる。
【０３１６】
以上説明したように、本具体例によれば、テーブル買い替え、設置場所変更、プロジェクタの変更といった環境の変化があった場合であっても、原寸大の表示を保つことが可能となる。これにより、例えば思い出の作品をそのまま記録／再現することが可能となる。
【０３１７】
図１に示したようなプロジェクション式の場合、天井からステレオカメラ、プロジェクタ等の、情報処理システム１００を構成する装置を吊り下げることになる。情報処理システム１００を構成する装置は、ユーザによって任意の場所に移動させることが出来るが、ここで、各装置の吊り下げに用いる材質によっては、移動によって振動が生じ、その振動の収束までに要する時間が大きく左右される。
【０３１８】
ここで、情報処理システム１００を構成する装置の吊り下げに、以下の４つの材質を用いて、収束時間を測定した。鋼鉄製の鋼鉄シャフト、カーボンＦＲＰ（Ｆｉｂｅｒ  Ｒｅｉｎｆｏｒｃｅｄ  Ｐｌａｓｔｉｃｓ）シャフト、電源線入りカーボンシャフトについては、図１１０に側面方向から見た外観例を示した。図１１０の符号１４１０は、鋼鉄シャフトの外観例であり、符号１４２０は、カーボンＦＲＰシャフトの外観例であり、符号１４３０は、電源線入りカーボンシャフトの外観例である。電源線入りカーボンシャフトは２本で１組として構成され得る。
【０３１９】
【表１】
2019185812.tif 000003
【０３２０】
表１に示したように、情報処理システム１００を構成する装置の吊り下げにカーボンシャフトを用いることで、実使用上問題のない収束時間が確認できた。また、電源線入りカーボンシャフトを２本用いることで、外径が細い材質であっても実使用上問題のない収束時間が確認できた。なお、シャフトの材料に用いられる繊維には、例えば、カーボンの他にも、グラス、アラミド、ボロン、竹、麻、ＰＥＴ（ポリエチレンテレフタラート）、ＰＥ（ポリエチレン）、ＰＰ（ポリプロピレン）等が用いられ得る。
【０３２１】
［具体例９］
本具体例は、アプリケーションの起動場所を自動的に選択する形態である。アプリケーションが常に所定の場所に起動される場合、例えばテーブル１４０ａ上に載置された物が障害となってアプリケーション画面の全部を表示することが困難になり得る。また、アプリケーション画面を移動させようとしても、テーブル１４０ａ上に載置された物が障害となって、移動させることが困難になり得る。そこで、本具体例に係る情報処理システム１００は、アプリケーション起動時にテーブル１４０ａ上の物体を認識して、アプリケーション毎に設定された制約条件（表示条件）を満たす位置を探索してアプリケーション画面を表示する。また、物体が移動したり新たな物体が載置されたりして、テーブル１４０ａ上の状態が変化した場合、情報処理システム１００は、変化後の物体を自動的に避けるように、アプリケーション画面を移動させる。
【０３２２】
詳しくは、まず、検出部１２１は、深度情報を取得することにより、テーブル１４０ａ上の物体（オブジェクト）を検出する。そして、出力制御部１２２は、検出部１２１により検出された物体が重なる領域以外の領域に画像を表示するように出力部１３０を制御する。これにより、物体が存在しない領域にアプリケーション画面が表示される。以下、図１１１〜図１１４を参照して具体的に説明する。図１１１〜図１１４は、具体例９に係るユーザインタフェースを説明するための説明図である。
【０３２３】
例えば、図１１１に示した例においては、Ｗｅｂブラウザ２０２１と音楽プレイヤー２０２２とが、テーブル１４０ａ上の物体が重なる領域以外の領域に表示されている。出力制御部１２２は、アプリケーション毎に定義されている最小サイズを満たす平面にそれぞれが表示されるよう、出力部１３０を制御している。
【０３２４】
また、検出部１２１は、手や指の位置及び向きに基づいて、ユーザの位置を推定する推定部として機能する。出力制御部１２２は、ユーザとの関係として設定された表示条件に応じて、推定されたユーザの位置に対応する位置に画像を表示するよう出力部１３０を制御する。例えば、表示条件として、ユーザの位置近くに表示すること、が設定されている場合、出力制御部１２２は、ユーザの位置近くにアプリケーション画面を表示するよう出力部１３０を制御する。なお、表示位置に関する表示条件を、アプリケーション画面に働く重力の設定として捉えてもよい。例えば、図１１１に示したアプリケーションの表示条件は、以下の通りであるものとする。なお、投影面のサイズは１９２０×１０８０であるものとする。
【０３２５】
Ｗｅｂブラウザ２０２１
最小サイズ：８００×６００
重力：ユーザの近く
音楽プレイヤー２０２２
最小サイズ：４００×４００
重力：ユーザの近く
【０３２６】
この表示条件に従い、出力制御部１２２は、図１１１に示すように、Ｗｅｂブラウザ２０２１、および音楽プレイヤー２０２２を、ユーザに近い位置であって、最小サイズを満たす平面にそれぞれ表示している。
【０３２７】
また、物体が移動したことが検出部１２１により検出された場合、出力制御部１２２は、移動後のテーブル１４０ａ上の物体の位置関係に応じて、さらに表示条件に合致する位置に画像を表示してもよい。例えば、図１１１に示した例において、テーブル１４０ａ上の物体が移動した場合、出力制御部１２２は、ユーザにさらに近くなる位置を探索して、アプリケーション画面を移動させてもよい。
【０３２８】
また、出力制御部１２２は、テーブル１４０ａ上の物体との関係として設定された表示条件に応じた位置に画像を表示するよう出力部１３０を制御してもよい。例えば、テーブル１４０ａ上の物体の端部（エッジ）に隣接して表示するように設定された場合、出力制御部１２２は、検出部１２１により検出された物体に隣接してアプリケーション画面が表示されるよう出力部１３０を制御する。例えば、図１１２に示すアプリケーションの表示条件は、以下の通りであるものとする。
【０３２９】
せせらぎアプリケーション２０２３
最小サイズ：１００×１００×連続
重力：エッジに隣接
【０３３０】
この表示条件に従い、出力制御部１２２は、図１１２に示すように、せせらぎアプリケーション２０２３を、テーブル１４０ａ上の物体の間を縫うようにエッジに沿って並べて表示することで、川の流れを表現することが可能となる。
【０３３１】
また、出力制御部１２２は、テーブル１４０ａ（投影面）との関係として設定された表示条件に応じて、画像を表示するよう出力部１３０を制御してもよい。例えば、図１１３に示すアプリケーションの表示条件は、以下の通りであるものとする。
【０３３２】
キャンドルアプリケーション２０２４
最小サイズ：２００×２００
重力：投影面中央
【０３３３】
この表示条件に従い、出力制御部１２２は、図１１３に示すように、キャンドルアプリケーション２０２４を、テーブル１４０ａの中央に表示させる。
【０３３４】
適切な投影面の探索に失敗した場合の処理は、多様に考えられる。例えば、出力制御部１２２は、図１１４上図に示すように、物体を避けることなく、デフォルトの位置でそのまま画像を投影してもよい。また、出力制御部１２２は、図１１４中央図に示すように、デフォルトの位置でそのまま画像を投影しつつ、物体が重なる領域を透過させてもよい。また、出力制御部１２２は、図１１４下図に示すように、邪魔な物体を示す警告表示を行ってもよい。警告表示は、例えば物体の移動を促すメッセージであってもよい。他にも、検出部１２１が、料理が提供された時の撮像画像と現在の撮像画像との比較結果により料理を食べ終わったことを検出して、出力制御部１２２は、食べ終わった皿を優先的に排除するように促すメッセージを警告表示として表示してもよい。
【０３３５】
本具体例によれば、アプリケーションごとに表示領域として適切な平面を自動で検出して表示することで、ユーザによる操作を要することなく、最適な表示を行うことができる。また、本具体例によれば、アプリケーション毎に定義されている最小サイズ、重力といった表示条件を満たす表示領域を動的に探索することで、最適な表示を自動的に行うことができる。
【０３３６】
［具体例１０］
本具体例は、テーブル１４０ａ上に表示された音源から音声が聞こえるように、音声出力の制御を行う形態である。プロジェクション型の情報処理システム１００では、映像が下にある投影面（テーブル１４０ａ）に投影され、音が上にある本体から鳴るため、本体とテーブル１４０ａとの距離が離れる程に映像と音との一体感が失われ得る。そこで、本具体例に係る情報処理システム１００は、指向性スピーカにより投影面に反射させて、音をユーザに向けて発する。特に、情報処理システム１００は、アプリケーションの特性に応じて、ユーザの位置および操作に合わせて反射させる位置を変化させることにより、映像と音との一体感を生み出す。
【０３３７】
検出部１２１は、手や指の位置及び向きに基づいて、ユーザの位置を推定する推定部として機能する。そして、出力制御部１２２は、表示面に表示された画像に対して出力した音声が反射されて、前記推定部により推定されたユーザの位置に到達するようスピーカを制御する。本具体例に係る情報処理システム１００には、複数の指向性スピーカが設けられており、各スピーカの向きおよび指向範囲が制御可能であるものとする。出力制御部１２２は、ユーザの位置およびアプリケーションが表示された位置との位置関係に基づいて、アプリケーション画面に向けて音を発した場合に反射した音がユーザに到達し得る位置に設けられたスピーカを選択して、音を発するよう制御する。以下、図１１５〜図１１７を参照して具体的に説明する。図１１５〜図１１７は、具体例１０に係るユーザインタフェースを説明するための説明図である。
【０３３８】
例えば、音楽プレイヤーのように音源であることが明確なアプリケーションの場合、図１１５に示すように、出力制御部１２２は、アプリケーション画面の中央に向けて音声を反射させて、ユーザに音声が到達するようにスピーカを制御してもよい。また、動画プレイヤーのようにＬＲ（左右）のチャンネル構成を有するアプリケーションの場合、図１１６に示すように、出力制御部１２２は、アプリケーション画面の左右に、対応するチャンネルの音声を反射させて、それぞれユーザの左右の耳に到達するようにスピーカを制御してもよい。また、Ｗｅｂブラウザのように音声の発生源が明確ではないアプリケーションの場合、図１１７に示すように、出力制御部１２２は、例えばユーザがクリックした位置（例えばリンク）に音声を反射させて、ユーザに音声が到達するようにスピーカを制御してもよい。
【０３３９】
指向性スピーカにより音声を投影面に反射させる以外にも、映像と音との一体感を生み出す方法は多様に考えられる。例えば、出力制御部１２２は、表示させるアプリケーションの位置に音像が定位するようにスピーカを制御してもよい。また、情報処理システム１００は、複数のユーザにより複数のアプリケーションがそれぞれ使用されている場合、各ユーザに対して、そのユーザが使用しているアプリケーションの音声のみを発してもよい。他にも、情報処理システム１００は、複数ユーザが同一の動画を鑑賞している場合、各ユーザに対して、そのユーザの母国語の音声を再生してもよい。また、情報処理システム１００は、アプリケーション画面の手前側、即ち操作するユーザが通常位置するであろう方向に向けて音声を発してもよい。
【０３４０】
以上説明したように、本具体例によれば、アプリケーションの表示位置に応じて音源位置を制御することにより、あたかもアプリケーション画面自体から音が鳴っているかのような感覚をユーザに与えることが可能である。また、本具体例によれば、ユーザの操作に応じて反射させる位置を制御することにより、Ｗｅｂブラウザのように音源についての事前情報がない状態であっても、映像と音との一体感を生み出すことができる。また、本具体例によれば、ユーザ位置に応じてＬＲのチャンネル構成を制御することにより、家庭用テレビを鑑賞している場合と同様の臨場感を生み出すことができる。
【０３４１】
［具体例１１］
本具体例は、テーブル１４０ａ上で特定条件を満たした場合に、予め設定された機能を発火する形態である。アプリケーションの機能を発火させる条件は、通常はそのアプリケーションを提供するベンダーのみが設定可能である。また、利用環境によっては、アプリケーションで定義された挙動では機能が発火しない場合もあった。そこで、本具体例に係る情報処理システム１００では、発火させる機能と発火の条件とをユーザにより自由に設定可能にした。
【０３４２】
ユーザは、表示面上の状態に関する条件に、出力指示を対応付けたプログラムを生成する。プログラムを受け付けた情報処理システム１００は、表示面上の状態がプログラムにより規定された条件を満たした場合に、対応する出力指示に基づいた出力を行う。表示面上の状態に関する条件とは、例えばテーブル１４０ａ上に特定の物体が載置されたこと、テーブル１４０ａ上の温度、及び深度情報の変化などが挙げられる。以下では、表示面上の状態に関する条件を、出力条件とも称する。
【０３４３】
まず、検出部１２１は、テーブル１４０ａにタッチされた指などの操作オブジェクトを認識して、ユーザによるプログラミングを検出する。そして、制御部１２０は、検出部１２１によるプログラミングの検出結果に基づいて、出力条件に出力指示を対応付けたプログラムを記憶する。制御部１２０は、このようなプログラムを記憶する記憶部として機能してもよい。以下、図１１８を参照して具体的に説明する。図１１８は、具体例１１に係るユーザインタフェースを説明するための説明図である。
【０３４４】
プログラムの例としては例えば、テーブル１４０ａ上の温度を出力条件とするプログラムが考えられる。プログラムには、条件判定を行う領域が設定され得る。例えば、図１１８に示すように、ケーキが載置された領域を条件判定領域２０３１として、摂氏３０度以下になることを出力条件とし、照明をＯＮにすることを出力指示とするプログラムが考えられる。プログラムの他の例としては例えば、テーブル１４０ａ上の図柄を出力条件とするプログラムが考えられる。例えば、図１１８に示すように、条件判定領域２０３２においてジョーカーカードがオモテ向きに載置されたことを出力条件とし、所定のエフェクトを表示することを出力指示とするプログラムが考えられる。情報処理システム１００は、投影面のタッチ操作によるプログラミングを受け付けてもよいし、有線／無線通信により外部装置からプログラムを受信してもよい。
【０３４５】
その後、検出部１２１は、テーブル１４０ａ上の状態として、例えばテーブル１４０ａ上の物体、物体の表面の絵柄、温度、湿度などを検出する。そして、検出部１２１により検出されたテーブル１４０ａ上の状態が、記憶された出力条件を満たす場合に、出力制御部１２２は、その出力条件に対応付けて記憶された出力指示に応じた出力を行うよう出力部１３０を制御する。例えば、図１１８に示したプログラムに関しては、出力制御部１２２は、条件判定領域２０３１の温度が摂氏３０度以下になったことが温度センサにより取得された場合に、点灯するよう照明を制御する。これにより、例えば誕生日ケーキに立てられた蝋燭が吹き消された場合に、自動的に照明が点く。また、図１１８に示したプログラムに関しては、出力制御部１２２は、条件判定領域２０３２に載置されたカードがジョーカーカードであることが撮像画像に写った絵柄から検出された場合に、プログラムされた映像エフェクトを表示するようプロジェクタを制御する。
【０３４６】
プログラム例をさらに例示する。例えば、乳児のミルクの周囲に温度を表示しておき、摂氏３６度〜３７度程度の人肌の温度になった場合に、ユーザに通知するプログラムが考えられる。また、誕生日ケーキを監視しておき、蝋燭が吹き消されて温度が急激に減少した場合に、自動的に照明を点け、写真を撮影するプログラムが考えらえる。また、朝の時刻にユーザの前に黒い飲み物（コーヒーを想定）が載置された場合に、ニュースを表示するプログラムが考えられる。また、出力制御部１２２は、プログラムされている領域、即ち条件判定領域に、破線による矩形表示などの、何らかのプログラムがされていることを示す表示を行ってもよい。もちろん、サプライズ目的等の、プログラムの存在を隠したい場合にあっては、このような表示を行わないよう設定可能である。
【０３４７】
上述した温度および絵柄の他にも、例えば深度の変化が出力条件として設定され得る。検出部１２１は、テーブル１４０ａ上に位置する物体（オブジェクト）を深度情報により検出して、出力制御部１２２は、検出されたオブジェクトの状態が出力条件を満たす場合に、対応付けて記憶された出力指示に応じた出力を行うよう出力部１３０を制御する。例えば、麻雀において手牌が倒されたことは深度情報の変化により検出可能である。そこで、例えば、麻雀において手牌が倒された場合に、手牌の状態である役を撮像画像に基づいて認識して自動的に点数計算を行うプログラムが考えられる。また、ケーキの蓋が外されて中身のケーキが現れたことも、深度情報の変化により検出可能である。そこで、例えばテーブル１４０ａの中央に置いてあったバースデーケーキの箱の蓋が外された場合に、バースデーソングを再生するプログラムが考えられる。また、ボードゲームにおいて、実物のコマが特定のマスに止まったことも、深度情報の変化により検出可能である。そこで、例えば実物のコマが特定のマスに止まった場合に、エフェクトを表示するプログラムが考えられる。
【０３４８】
本具体例によれば、アプリケーションを提供するベンダーによるプログラムだけでなく、ユーザによる自由かつ簡単なプログラムの設定が可能となる。これにより、テーブル１４０ａ上の細かい事情に即した機能発火が実現される。
【０３４９】
［具体例１２］
本具体例は、テーブル１４０ａ上に載置された物体の所属を判定する形態である。アプリケーションの用途によっては、テーブル１４０ａ上に載置された物体が、誰に所属するかが判別可能であることが求められ得る。そこで、本具体例では、テーブル１４０ａ上に物体を載置した手を検出して、検出した手と物体とを対応付けることにより、物体の所属を判定する。なお、ユーザは、そのユーザを所属先とする物体を所有しているとも捉えることができる。
【０３５０】
まず、検出部１２１は、接触した状態で所定の領域に入ってきた操作オブジェクト及びオブジェクトが分離したことを検出する。例えば、検出部１２１は、深度情報に基づいて、手が物体を持ってテーブル１４０ａに入ってきたこと、及び手と物体とが分離したことを検出する。以下、図１１９〜図１２３を参照して具体的に説明する。図１１９〜図１２３は、具体例１２に係るユーザインタフェースを説明するための説明図である。
【０３５１】
図１１９に示すように、手だけがテーブル１４０ａに入ってきた場合、検出部１２１は、深度情報に基づいて、テーブル１４０ａの辺に接する閉曲線を手として検出する。そして、図１１９に示すように、手が物体を持ってテーブル１４０ａに入ってきて、物体がテーブル１４０ａ上に置かれた場合、検出部１２１は、手と物体とが分離したことを検出する。詳しくは、検出部１２１は、深度情報に基づいて、テーブル１４０ａの辺に接しない閉曲線が現れたことを検出する。このとき、検出部１２１は、テーブル１４０ａの辺に接しない閉曲線を手から分離した物体として検出する。
【０３５２】
次いで、検出部１２１は、検出された操作オブジェクト及び当該操作オブジェクトから分離した物体を対応付けて認識する認識部として機能する。詳しくは、検出部１２１は、深度情報に基づいて、テーブル１４０ａの辺に接する閉曲線が示す手と、この閉曲線から分離したテーブル１４０ａの辺に接しない閉曲線が示す物体とを、対応付けて認識する。なお、検出部１２１は、物体が分離したときに、その物体に最も近い位置にある手を対応付けて認識してもよい。検出部１２１は、物体が対応付けられた手を、その物体の所属先として認識する。例えば、図１１９に示すように、検出部１２１は、テーブル１４０ａ上に置かれた物体とその物体を持っていた手とをペアリングする。検出部１２１は、物体の所属先を、手を示す閉曲線が接するテーブル１４０ａの辺、即ち手が伸びてきた方向によって認識してもよい。これにより、図１１９に示すように、テーブル１４０ａ上に物体のみが検出される場合であっても、検出部１２１は、その物体の所属を認識することができる。
【０３５３】
本具体例は、例えばルーレットゲームに適用可能である。検出部１２１は、テーブル１４０ａ上に置かれたチップの価値を、撮像画像から認識される柄、および深度情報から認識される高さにより検出すると共に、そのチップがどのユーザにより賭けられたかを検出する。そして、出力制御部１２２は、賭けに勝ったユーザの手元に、得られるチップ額を表示するよう出力部１３０を制御する。これにより、ユーザは、表示されたチップ額を参照して、自身でプールからチップを持ってくることが可能となる。ディーラーが不要となるため、全員でゲームに参加することが可能となる。
【０３５４】
また、本具体例は、例えばボードゲームにも適用可能である。検出部１２１は、手が伸びてきた方向に基づいて、どのユーザがテーブル１４０ａ上のルーレットを回したかを検出する。そして、出力制御部１２２は、ルーレットの出目に応じて、自動的にルーレットを回したユーザのコマを進めた表示を行うよう出力部１３０を制御する。出力制御部１２２は、ユーザが順番を飛ばしてルーレットを回そうとした場合に、警告表示を行ってもよい。
【０３５５】
また、出力制御部１２２は、持つべきでない物体を持ったときに警告を行ってもよい。例えば、図１２０上図に示すように、出力制御部１２２は、ユーザが自分に所属しないコップを持とうとした場合に警告表示を行い、そのユーザに所属するコップにユーザを誘導する表示を行ってもよい。また、図１２０下図に示すように、ユーザが内側のシルバーを取ろうとした場合に、外側から使うよう誘導する表示を行ってもよい。他にも、例えば焼肉において、検出部１２１は誰が置いた肉であるかを認識し、出力制御部１２２は、他人が焼いていた肉を取ろうとしたユーザに警告表示を行ってもよい。
【０３５６】
検出部１２１は、所有権（所属先）の移り変わりを検出してもよい。移り変わりの規則としては、例えば、最初に触った人に所有権を固定する「先勝ち」、誰かが触った場合にそのまま触った者に所有権を移行する「後勝ち」が考えられる。他にも、移り変わりの規則として、ユーザの選択に応じて所有権を移行する「ユーザ選択」が考えられる。例えば、図１２１に示すように、ユーザＡが最初に触って所有権を有する物体をユーザＢが触ろうとしたことが検出された場合、出力制御部１２２は、所有権を移行させるか否かを選択させる表示を、所有者であるユーザＡの手元に表示してもよい。また、移り変わりの規則として、物体が手渡しされた場合に所有権を移行する「手渡し」が考えられる。例えば、検出部１２１は、図１２２に示すように、ユーザＸが物体を手に持ったままユーザＹに手渡した場合に、所有権をユーザＸからユーザＹに移行させてもよい。
【０３５７】
また、検出部１２１は、物体の分割に応じて所有権を設定してもよい。検出部１２１は、１つの閉曲線を１つの物体として検出し、１つの閉曲線から２つ以上の閉曲線が出現したことが検出された場合に、物体の分割を検出する。例えば、検出部１２１は、複数枚積層されて賭けられたコインが崩れた場合に、物体の分割を検出する。検出部１２１は、例えば図１２３に示すように、所有者が既に決まっている物体が複数に分割した場合、分割前の所有者に分割後の物体の所有権を設定してもよい。
【０３５８】
以上説明したように、本具体例によれば、テーブル１４０ａ上に載置された物体の所属が識別可能となり、アプリケーション及びゲーム等での属性情報として取り扱うことが可能となる。これにより、例えば、出力制御部１２２は、物体の所有権に応じてゲームの進行を支援する出力を行うことができる。また、出力制御部１２２は、所有権を示す情報をユーザに提示することで、実世界において所属情報を可視化することができる。
【０３５９】
［具体例１３］
本具体例は、テーブル１４０ａ上に投影されたウィンドウを自在に操作可能にする形態である。テーブル１４０ａを複数人で囲んでいる場合、およびユーザが位置を移動等した場合には、テーブル１４０ａ上に投影されたウィンドウが、ユーザの意図通りに移動、回転、拡大、縮小等されることが望まれる。そこで、本具体例では、ウィンドウの移動等のウィンドウ操作を受け付けるためのユーザインタフェースを提供する。以下、図１２４〜図１２７を参照してより具体的に説明する。図１２４〜図１２７は、具体例１３に係るユーザインタフェースを説明するための説明図である。
【０３６０】
図１２４に示す例では、情報処理システム１００は、カレンダー、動画、地図といった複数の異なるアプリケーション画面を示すウィンドウをテーブル１４０ａに投影している。投影されるアプリケーションは、ユーザにより任意に選択され得る。このような複数の異なるアプリケーション画面が同時に投影されることにより、例えば朝の忙しい時間帯に、ユーザは、テーブル１４０ａ上を自由に使って様々な情報を同時にチェックすることが可能となる。ここで、例えば、ユーザが図１２４左図に示したメニューから回転ボタンをタッチしたことが検出部１２１により検出された場合、出力制御部１２２は、図１２４右図に示すように、全ウィンドウをテーブル１４０ａの対面向きに回転させるよう出力部１３０を制御する。
【０３６１】
また、検出部１２１は、ウィンドウの外周をウィンドウ操作のためのハンドルとして捉え、ハンドルに対するユーザ操作を検出することによりウィンドウ操作を実現してもよい。例えば、情報処理システム１００、ハンドルがタッチされたことが検出部１２１により検出された場合、操作モードをウィンドウ操作モードに切り替える。ウィンドウ操作モードとは、ユーザ操作をウィンドウ操作として検出する操作モードである。なお、ユーザ操作がスクロール等のアプリケーションに対する操作として検出される操作モードを、通常モードとも称する。
【０３６２】
ウィンドウ操作モードに切り替わった場合、出力制御部１２２は、図１２５左図に示すように、ウィンドウ操作モードであることを示す表示として、ハンドル２０４１を表示するよう出力部１３０を制御する。ユーザは、このハンドル２０４１をタッチしたまま指をドラッグ、ピンチ、又は回転させることにより、ウィンドウを移動等させることができる。例えば、ユーザによりハンドル２０４１がタッチされたままドラッグされたことが検出部１２１により検出された場合、出力制御部１２２は、図１２５右図に示すように、ドラッグされた方向にウィンドウを移動させる。なお、ユーザがハンドルから指を離した場合、情報処理システム１００は、操作モードをウィンドウ操作モードから通常モードに切り替えてもよい。
【０３６３】
検出部１２１は、ウィンドウの外側から内側へドラッグされたことが検出部１２１により検出された場合、操作モードを通常モードからウィンドウ操作モードに切り替えてもよい。例えば、図１２６左図に示すように、ウィンドウの外側から内側に指がドラッグされたことが検出部１２１により検出された場合、出力制御部１２２は、操作モードをウィンドウ操作モードに切り替える。このため、出力制御部１２２は、図１２６右図に示すように、ドラッグされた方向にウィンドウを移動させる。
【０３６４】
検出部１２１は、タッチする指の本数によって、通常モードからウィンドウ操作モードに切り替わってもよい。例えば、検出部１２１は、ウィンドウへの２本の指によるタッチが検出された場合、ウィンドウ操作モードに切り替えてもよい。具体的には、図１２７に示すように、指２本で回転されたことが検出部１２１により検出された場合、出力制御部１２２は、ウィンドウの表示を回転させる。また、指２本でドラッグされたことが検出部１２１により検出された場合、出力制御部１２２は、ドラッグされた方向にウィンドウを移動させてもよい。他にも、指２本が広げられたことが検出部１２１により検出された場合、出力制御部１２２は、ウィンドウの表示を拡大させてもよい。
【０３６５】
本具体例によれば、ユーザによる自由なウィンドウ操作が可能となり、ユーザビリティが向上する。
【０３６６】
［具体例１４］
以下、上述した情報処理システム１００の制御部１２０により実行可能なアプリケーションの具体例を説明する。
【０３６７】
（Ａ：カルタ補助アプリケーション）
カルタ補助アプリケーションは、テーブル１４０ａに並べられたカルタ札を用いるカルタ遊びを補助するためのアプリケーションである。カルタ補助アプリケーションは、読み句の自動読み上げ機能、正解表示機能、およびヒント提供機能を有する。読み句の自動読み上げ機能は、事前に登録された読み句を順次に出力部１３０に音声出力させる機能である。正解表示機能は、撮像画像から各カルタ札を認識し、正解のカルタ札とユーザの手が重なった場合にエフェクト表示を発生させる機能である。ヒント提供機能は、読み句の読み上げから所定時間が経過しても正解が出ない場合に、図１２８に示したように正解のカルタ札を含むヒント範囲を示す表示を出力部１３０に投影させ、さらに、時間が経過するにつれて上記ヒント範囲を狭めてもよい。かかる構成により、カルタ遊びにおいて、読み手が不要となり、かつ、円滑な進行を補助することが可能となる。
【０３６８】
（Ｂ：会話補助アプリケーション）
会話補助アプリケーションは、ユーザの会話中に雰囲気の盛り上げを補助するためのアプリケーションである。例えば、会話補助アプリケーションは、ユーザの会話を音声認識し、テキスト化された会話から構文解析によりキーワードを抽出し、キーワードに対応する画像を出力部１３０に投影させ得る。以下、図１２９を参照してより具体的に説明する。
【０３６９】
図１２９は、会話補助アプリケーションの具体例を示した説明図である。例えば、二人のユーザＸおよびＹが、以下のような会話を行った場合を想定する。
Ｘ：「この間日本に旅行いったよ。」
Ｙ：「飛行機でどれくらい？」
Ｘ：「５時間くらい。意外と都会だったよ」
Ｙ：「富士山みたの？」
Ｘ：「富士山綺麗だったよ。御来光も見たよ。」
【０３７０】
この場合、会話補助アプリケーションは、二人の会話からキーワードとして例えば「日本」、「飛行機」、および「富士山」を抽出し、図１２９に示したように、日本地図、飛行機および富士山を出力部１３０に投影させる。かかる構成により、ユーザの臨場感が高まり、会話の雰囲気を盛り上げることが可能である。
【０３７１】
（Ｃ：投影面追従アプリケーション）
投影面追従アプリケーションは、投影面の状態に応じて適切な投影を行うアプリケーションである。例えば、投影面追従アプリケーションは、投影面が傾斜している、投影面に凹凸がある、といった投影面の状態に応じて、ユーザに投影画像が正対して表示されるよう投影画像を補正して投影する。以下、図１３０〜図１３３を参照してより具体的に説明する。
【０３７２】
図１３０〜図１３３は、投影面追従アプリケーションの具体例を示した説明図である。図１３０に示すように、投影面追従アプリケーションは、作業台に斜めに立てられた投影面に、料理をするユーザから正対して見えるようにレシピを投影する。ユーザは、例えば作業台上の平面に投影されたＷｅｂブラウザよりレシピを検索しておき、作る際に投影面を作業台に斜めに立てることで、流しに立って料理を作りながらレシピを見ることができる。かかる構成により、任意な角度の投影面への投影が可能となるため、ユーザは、自由な位置から投影画像を見ることができる。
【０３７３】
投影面追従アプリケーションは、投影面の状態に応じてユーザ操作を検出することも可能である。通常、投影面追従アプリケーションは、キャリブレーション時および製品起動時などの特定のタイミングで、最大の平面を投影面として検出しておき、投影面と指との高さの差分に基づいて、ユーザ操作を検出する。例えば、図１３１に示すように、投影面が平面である場合、投影面追従アプリケーションは、ユーザの指と平面との距離に応じて、投影面がタッチされたか否かを検出することでユーザ操作を検出する。また、投影面追従アプリケーションは、投影面上に立体物が載置された場合、ユーザの指と立体物との局所的な差分を検出することにより、ユーザ操作を検出してもよい。例えば、図１３２に示すように、平面上に半球状の立体物が載置された場合、投影面追従アプリケーションは、半球上の局所平面とユーザの指との距離に基づいて、ユーザ操作を検出する。図１３０に示したように投影面が傾斜した場合、投影面追従アプリケーションは、ユーザの指と傾斜した投影面との距離に応じて、ユーザ操作を検出してもよい。
【０３７４】
また、投影面追従アプリケーションは、ミラー（鏡）を用いた個人用表示を実現することができる。個人用表示には、図１３３に示すミラーおよびスクリーンを有する周辺機器が用いられる。通常、平面に投影された画像は、周囲にいる人に見えてしまう。そこで、投影面追従アプリケーションは、投影光をミラーに反射させて、ユーザの手前に設けられたスクリーンに結像させることで、スクリーンに正対するユーザのみを対象とした表示を行うことができる。投影面追従アプリケーションは、ゲームの手札および場札など、個人向けの表示と全員向けの表示とを同時に実現することも可能である。なお、図１３３に示すように、投影面追従アプリケーションは、ユーザ操作を、Ｚ軸方向ではなく、Ｘ軸Ｙ軸方向で取得されるスクリーンと指との距離により検出可能である。
【０３７５】
（Ｄ：食事補助アプリケーション）
食事補助アプリケーションは、ユーザの食事の進行を補助するためのアプリケーションである。例えば、食事補助アプリケーションは、料理が載せられる食器の空の状態を事前に記憶しておき、当該空の食器と、現在の食器とを比較することにより、食器にどれだけ料理が残っているか、すなわち、食事の進捗状況を認識する。そして、食事補助アプリケーションは、食事の進捗状況に応じた図柄またはメッセージなどを出力部１３０に投影させ得る。以下、図１３４および図１３５を参照してより具体的に説明する。
【０３７６】
図１３４は、食事補助アプリケーションの具体例を示した説明図である。図１３４の上図に示したように、食事補助アプリケーションは、食事が終わると、食器の周りで電車が走るような表示を出力部１３０に投影させてもよい。あるいは、食事補助アプリケーションは、図１３４の下図に示したように、食事が進むにつれてランチョンマットのデザインを演出する表示を出力部１３０に投影させてもよい。
【０３７７】
図１３５は、食事補助アプリケーションの他の具体例を示した説明図である。図１３５に示したように、食事補助アプリケーションは、食品に埋もれていた皿の底面の模様が食事の進捗に応じて露出していく様子を検出することにより、食事の進捗状況を認識する。このとき、食事補助アプリケーションは、食事の進捗状況に応じたメッセージを出力部１３０に投影させてもよい。例えば、食事の進捗が２０％未満の時には「手を合わせていただきます！」、２０％以上４０％未満の時には「良く噛んで食べようね」、４０％以上７０％未満の時に「もう少しだよ！頑張って」、１００％の時には「やったね！残さず食べられました」というメッセージが出力され得る。
【０３７８】
上記のように、食事補助アプリケーションは、食事の進捗状況に応じた図柄またはメッセージなどを出力部１３０に投影させることにより、ユーザの食事へのモチベーションを高め、ユーザの食事の進行を補助することができる。
【０３７９】
（Ｅ：動きエフェクトアプリケーション）
動きエフェクトアプリケーションは、テーブル１４０ａに載置された絵に基づき、当該絵が動き出したかのようなアニメーションを出力部１３０に投影させ得る。例えば、図１３６に示したように、ユーザが紙に絵を書き、テーブル１４０ａに置くと、動きエフェクトアプリケーションは、ユーザに書かれた絵が動き出したかのようなアニメーションおよび音を出力部１３０に投影させる。なお、動きエフェクトアプリケーションは、ユーザが絵をテーブル１４０ａに置くたびに異なる音を出力部１３０に出力させてもよい。ここで、図１３７を参照し、アニメーションの生成方法について具体的に説明する。
【０３８０】
図１３７は、動きエフェクトアプリケーションの具体例を示した説明図である。図１３７に示したように、動きエフェクトアプリケーションは、テーブル１４０ａに載置された絵の撮像画像から絵の形状および色を認識し、絵と同じ色の光を出力部１３０に投影させることにより、テーブル１４０ａに載置された絵を視覚的に消去する。そして、動きエフェクトアプリケーションは、認識した絵の形状に基づきアニメーションを生成し、出力部１３０に投影させる。かかる構成により、単なる落書きのような絵が動き出したかのような感覚をユーザに与えることが可能である。
【０３８１】
（Ｆ：弁当作成支援アプリケーション）
弁当作成支援アプリケーションは、多様な絵柄をユーザが食材により表現することを支援するためのアプリケーションである。例えば、弁当作成補助アプリケーションは、ユーザにより対象画を指定されると、当該対象画の色構成を分析し、分析の結果に基づき、当該対象画を絵柄として表現するための食材、分量および配置を特定する。そして、弁当作成補助アプリケーションは、特定した食材、分量および配置を案内するためのガイド表示を出力部１３０に投影させる。ユーザは、ガイド表示に沿って食材を配置することにより、対象画を模した絵柄を表現する弁当を作成することが可能となる。以下、図１３８を参照してより具体的に説明する。
【０３８２】
図１３８は、弁当作成支援アプリケーションの具体例を示した説明図である。図１３８の左図に示したように、キャラクター画が形成されたパッケージをユーザがテーブル１４０ａに載置すると、入力部１１０により当該パッケージが撮像される。そして、ユーザが対象範囲としてキャラクター画が形成された範囲を指定すると、弁当作成支援アプリケーションは、キャラクター画を対象画として認識し、キャラクター画を絵柄として表現するための食材、分量および配置を特定する。そして、弁当作成支援アプリケーションは、特定した食材、分量および配置に基づき、図１３８の中２図に示したようなガイド表示を出力部１３０に投影させる。ユーザは、かかるガイド表示に沿って食材を配置することにより、図１３８の右図に示したように、キャラクターの絵柄を表現する弁当を作成することが可能となる。
【０３８３】
なお、上記では対象画の指定方法として対象画が形成されたパッケージをテーブル１４０ａに載置する例を説明したが、対象画の指定方法はかかる例に限定されない。例えば、ユーザは、出力部１３０によりテーブル１４０ａに出力されるウェブサイトに含まれる画像を対象画として指定することも可能である。また、上記では対象画の一例としてキャラクター画を説明したが、対象画は、乗物、風景、地図またはおもちゃなどの画像であってもよい。
【０３８４】
（Ｇ：日常補助アプリケーション）
日常補助アプリケーションは、学習、趣味および作業などユーザにより日常的に行われる行為を補助するためのアプリケーションである。例えば、日常補助アプリケーションは、実空間に存在する物体に、ユーザにとって有用な情報表示を出力部１３０に投影させることにより、ユーザによる行為を補助することができる。以下、図１３９〜図１４３を参照し、より具体的に説明する。
【０３８５】
図１３９〜図１４３は、日常補助アプリケーションによるユーザ補助の具体例を示した説明図である。図１３９に示したように、日常補助アプリケーションは、熨斗袋にお手本となる文字を出力部１３０に投影させ得る。ユーザは、投影された文字を例えば筆ペンでなぞることにより、綺麗な文字を書くことができる。なお、お手本となる文字はユーザが自由に指定することが可能である。また、図１４０に示したように、日常補助アプリケーションは、ナイフやフォークが並べられたテーブル１４０ａにナイフやフォークの使い方を示す情報表示を、皿に料理を示す表示を出力部１３０に投影させ得る。ユーザは、投影された情報表示に沿ってナイフやフォークを使うことにより、テーブルマナーを習得することができる。
【０３８６】
また、図１４１に示したように、日常補助アプリケーションは、スケッチブック、絵の具および筆などが用意されたテーブル１４０ａに、お手本となる絵および描画方法などを示す情報表示を出力部１３０に投影させ得る。ユーザは、投影された情報表示に沿って筆および絵の具により絵を描くことにより、上手な絵を完成させることができる。また、図１４２に示したように、日常補助アプリケーションは、ホールケーキを等分するための補助線を出力部１３０に投影させ得る。ユーザは、投影された補助線に沿ってホールケーキを切ることにより、等しい大きさのケーキを得ることができる。なお、日常補助アプリケーションは、ユーザにより指定された等分数、ホールケーキの形状および大きさに基づいて適切な補助線を特定してもよい。
【０３８７】
また、図１４３に示したように、日常補助アプリケーションは、ユーザにより問題に対する答案が記載されたプリントや冊子などの媒体の撮像画像から、答案の自動採点を行い、採点結果を出力部１３０に投影させ得る。ユーザは、投影される採点結果に基づき、答案の正否および点数などを確認することが可能である。なお、日常補助アプリケーションは、媒体に形成された識別情報を認識し、当該識別情報に関連付けて記憶されている解答とユーザの答案を比較することにより、自動採点を実行してもよい。
【０３８８】
（Ｈ：食卓演出アプリケーション）
食卓演出アプリケーションは、食卓を演出により彩るためのアプリケーションである。例えば、食卓演出アプリケーションは、食卓の撮像画像から食卓に存在する物体を認識し、物体に対して物体に応じた表示を出力部１３０に投影させ得る。以下、図１４４を参照して具体的に説明する。
【０３８９】
図１４４は、食卓演出アプリケーションの具体例を示した説明図である。食卓演出アプリケーションは、食卓の例えば距離画像に基づき食卓に存在する物体を認識し、図１４４に示したように、例えば皿には「Ｈａｐｐｙ  Ｂｉｒｔｈｄａｙ！」という表示を出力部１３０に投影させ、テーブルには星の表示を出力部１３０に投影させてもよい。かかる構成により食卓の彩りを向上し、明るい食卓を支援することが可能となる。
【０３９０】
（Ｉ：料理推薦アプリケーション）
料理推薦アプリケーションは、ユーザに料理を推薦するためのアプリケーションである。例えば、料理推薦アプリケーションは、食卓の撮像画像から食卓上の料理を認識し、認識結果に基づいて料理の栄養バランスを計算し、不足している栄養素を補う料理を推薦し得る。例えば、図１４５に示したように、食卓上の料理に野菜が不足している場合、料理推薦アプリケーションは、ビタミンおよび食物繊維などが不足していることを認識し、ビタミンおよび食物繊維などの栄養素を補い得るシーザーサラダを推薦する表示およびシーザーサラダの画像を出力部１３０に投影させてもよい。また、料理推薦アプリケーションは、コップに入った飲料の残量および料理の残量等を、深度情報を用いて認識することで、食事の進捗に応じて追加の料理を推薦してもよい。かかる構成により、ユーザによるバランスの良い食事を支援すると共に、飲食店などにおいては追加注文による売上げの向上が期待される。
【０３９１】
（Ｊ：ムード演出アプリケーション）
ムード演出アプリケーションは、料理に応じた演出を出力部１３０に投影させるためのアプリケーションである。例えば、ムード演出アプリケーションは、食卓の撮像画像から食卓上の料理を認識し、料理と親和性のあるオブジェクトの画像を出力部１３０に投影させ得る。具体例として、食卓上の料理が御節料理である場合、ムード演出アプリケーションは松竹梅の画像を出力部１３０に投影させてもよい。また、食卓上の料理が素麺である場合、ムード演出アプリケーションは川床または小川の画像を出力部１３０に投影させてもよい。かかる構成により、料理に応じた食卓のムードを一層高めることが可能である。
【０３９２】
（Ｋ：食器エフェクトアプリケーション）
食器エフェクトアプリケーションは、食卓への食器の載置に応じてエフェクトを発生させるためのアプリケーションである。例えば、食器エフェクトアプリケーションは、食卓に置かれた食器の種別を認識し、種別に応じた表示エフェクトおよび音を出力部１３０に出力させてもよい。以下、図１４６を参照してより具体的に説明する。
【０３９３】
図１４６は、食器エフェクトアプリケーションの具体例を示した説明図である。図１４６に示したように、ユーザが食卓にコップを置くと、食器エフェクトアプリケーションは、出力部１３０にコップから広がる波紋の表示を出力部１３０に投影させ、出力部１３０にコップに応じた音を出力させてもよい。上述したように食器に応じて出力される音は異なるが、食器エフェクトアプリケーション、図１４６に示したように複数の食器が近接されると、出力部１３０に出力させる音を変化させてもよい。また、食器エフェクトアプリケーションは、泳ぐ魚の表示を出力部１３０に投影させており、ユーザが魚の表示を捉えるアクションを行うと、出力部１３０に所定の音を出力させてもよい。
【０３９４】
上記のように、食器エフェクトアプリケーションは、食卓への食器の載置に応じてエフェクトを発生させることにより、食卓に新たな楽しみをもたらすことが可能である。
【０３９５】
（Ｌ：部屋間連携アプリケーション）
部屋間連携アプリケーションは、複数の部屋に情報処理システム１００が設置されている場合に、ユーザが使用していたアプリケーションを部屋間で共有及び連携するアプリケーションである。例えば、ユーザの自室に設置された情報処理システム１００は、ユーザが居間で使用していたアプリケーションの情報を取得して、ユーザが自室に移動した後、居間での使用の続きからアプリケーションを使用可能にする。以下、図１４７を参照してより具体的に説明する。
【０３９６】
図１４７は、部屋間連携アプリケーションの具体例を示した説明図である。図１４７に示すように、部屋間連携アプリケーションは、各アプリケーションの使用時刻、および使用場所（投影場所）の履歴情報を記憶しておき、記憶した履歴情報をユーザに提示する。図１４７に示した「Ａｌｌ  Ａｐｐｓ」では、画面を投影する情報処理システム１００にインストールされている全てのアプリケーションが列挙されている。「Ｙｏｕｒ  Ａｐｐｓ」では、現時刻において、該投影面でユーザが使用する頻度が高いアプリケーションが列挙されている。「Ｒｅｃｅｎｔ  Ａｐｐｓ」では、他の部屋に設置された情報処理システム１００も含めて、最近ユーザにより使用されたアプリケーションが列挙されている。ユーザは、図１４７に示した画面からアイコンを選択することで、所望のアプリケーションを起動することができる。部屋間連携アプリケーションは、このような画面を投影することにより、ユーザによるアプリケーションの選択を支援することができる。
【０３９７】
また、部屋間連携アプリケーションは、部屋間でユーザの履歴情報を共有することが可能である。部屋間連携アプリケーションは、他の部屋で記憶された履歴情報を参照して、他の部屋で使用されていたアプリケーションを、ユーザが部屋を移動した後も継続して提供する。例えば、ユーザが居間に設置された情報処理システム１００で料理レシピを選択した場合、ユーザがキッチンに移動するとキッチンに設置された情報処理システム１００により、選択された料理レシピが投影される。これにより、ユーザは、部屋移動後も同一アプリケーションを継続して使用することができる。
【０３９８】
［例１］
ここでは、投影面やアプリケーションの状態に応じた照明制御処理の例を説明する。
【０３９９】
プロジェクタを使用して机やスクリーンなどの投影面に映像を投影する際に、照明や外部光の明るさといった環境的な要因により、プロジェクタの映像が不鮮明になる場合がある。プロジェクタの映像が不鮮明になった場合、映像を鮮明にするには、部屋全体を暗くしたり、投影面付近の照明だけを消したりするなどの作業をユーザに強いることになり、ユーザの利便性が損なわれる。
【０４００】
そこで以下においては、投影面やアプリケーションの状態を取得し、投影面の状況に応じて自動的に照明を制御することで、ユーザに照明を調整する作業を行わせること無く、プロジェクタの映像を投影面に鮮明に表示させる照明制御処理について説明する。
【０４０１】
図１４８は、本開示の一実施形態にかかる情報処理システム１００の動作例を示す流れ図である。以下、図１４８を用いて本開示の一実施形態にかかる情報処理システム１００の動作例について説明する。なお以下の説明では、情報処理システム１００ａが図１に示したようなプロジェクション型である場合であり、かつ出力部１３０ａに照明機器が含まれている場合について示す。また以下の例では、照明機器は、情報の表示を伴うプロジェクタとは異なり、情報の表示を伴わずに単純に照明としての機能を有する機器であるとして説明する。
【０４０２】
最初に、図１４８に示した流れ図における用語の定義について説明する。照明マップとは、照明機器の照明制御可能単位をマップにしたものであり、照明機器の形態、例えば照明の数に応じてセル数が決定される。各セルの数値は照明強度で、０が照明出力無し、１００が照明出力の最大値である。
【０４０３】
図１４９は、照明マップの例を示す説明図である。図１４９には、３つのパターンが図示されている。図１４９に示されているのは、照明機器３０１０に照明が１つだけ設置されている場合、照明が正方形状に４つ設置されている場合、照明が長方形状に８つ並べて設置されている場合の、照明マップ３０１１の例である。
【０４０４】
図１４９の例においては、照明機器３０１０に照明が１つだけ設置されている場合は、照明マップのセルの数は１つである。また照明機器３０１０に照明が正方形状に４つ設置されている場合は、照明マップのセルの数は４つである。また照明機器３０１０に照明が長方形状に８つ並べて設置されている場合は、照明マップのセルの数は８つである。もちろん照明機器３０１０の照明の配置パターンや、照明マップにおけるセルのパターンはかかる例に限定されるものではない。
【０４０５】
環境マップとは、環境光の取得可能単位をマップにしたものであり、環境光の取得単位に応じてセル数が決定される。環境マップのセル数を規定する環境光の取得単位は、例えば照度センサの配置場所や、投影面を撮像する撮像装置の画素値等がある。
【０４０６】
環境マップの各セルの数値は照明マップの各セルの数値に正規化される。環境マップの各セルの数値が照明マップの各セルの数値に正規化されることで、環境光の照度と、照明の明るさとが対応付けられる。
【０４０７】
情報処理システム１００は、環境光の照度の取得方法について様々な方法を採り得る。例えば、入力部１１０のカメラで投影面を撮像して得られる画像の画素値から環境光の照度を算出してもよく、入力部１１０に照度センサを設けて、照度センサの値から環境光の照度を得るようにしても良い。
【０４０８】
図１５０は、環境マップの例を示す説明図である。図１５０には、３つのパターンが図示されている。図１５０に示されているのは、環境光を取得する照度センサ３０２０にセンサが１つだけ設置されている場合、照度センサ３０２０にセンサが正方形状に４つ設置されている場合、照度センサ３０２０にセンサが同一方向に３つ並べて設置されている場合の、環境マップ３０２１の例である。
【０４０９】
図１５０の例においては、照度センサ３０２０にセンサが１つだけ設置されている場合、環境マップのセルの数は１つである。また照度センサ３０２０にセンサが正方形状に４つ設置されている場合、環境マップのセルの数は４つである。また照度センサ３０２０にセンサが同一方向に３つ並べて設置されている場合、環境マップのセルの数は３つである。もちろん照度センサ３０２０のセンサの配置パターンや、環境マップにおけるセルのパターンはかかる例に限定されるものではない。
【０４１０】
照明マップと環境マップとの対応付けについて説明する。図１５１は、照明マップと環境マップとの対応付けの例を示す説明図である。
【０４１１】
図１５１には、照明が長方形状に８つ並べて設置されている照明機器３０１０と、センサが同一方向に３つ並べて設置されている照度センサ３０２０との構成における、照明マップと環境マップとの対応付けの例が示されている。
【０４１２】
照度センサ３０２０にセンサが同一方向に３つ並べて設置されている場合の、環境マップ３０２１のセルの数は３つであり、各セルをＡ００、Ａ０１、Ａ０２と規定する。本実施形態では、この環境マップのセルの数を、照明マップのセルの数に合わせることで、照明マップと環境マップとの対応付けを行う。変換後の環境マップ３０２１’では、セルが３つから８つに変換される。変換後の各セルをＢ００〜Ｂ０３及びＢ１０〜Ｂ１３と規定する。この変換の際の変換式は、例えば以下のように規定され得る。
【０４１３】
Ｂ００＝Ｂ１０＝Ａ００
Ｂ０１＝Ｂ１１＝０．５×Ａ００＋０．５×Ａ０１
Ｂ０２＝Ｂ１２＝０．５×Ａ０１＋０．５×Ａ０２
Ｂ０３＝Ｂ１３＝Ａ０２
【０４１４】
本開示の一実施形態にかかる情報処理システム１００は、このように環境マップのセルの数を照明マップのセルの数に合わせることで、変換後の環境マップの各セルの値に基づいた照明機器３０１０の制御が可能になる。
【０４１５】
続いて図１４８に示した流れ図の詳細な説明を行う。まず情報処理システム１００は、照明マップの各セルに、システム設定の値を設定する（ステップＳ３００１）。ステップＳ３００１の処理は例えば制御部１２０が実行し得る。ステップＳ３００１では、例えば図１４８に示した処理の開始時点で情報処理システム１００のユーザによって設定された照明機器３０１０の照明の明るさが、０から１００の範囲で照明マップの各セルに設定される。
【０４１６】
上記ステップＳ３００１で照明マップの各セルにシステム設定の値を設定すると、続いて情報処理システム１００は、管理しているアプリケーションの実行状態を取得し、処理していないアプリケーションが存在するかを判定する（ステップＳ３００２）。ステップＳ３００２の判定は例えば制御部１２０が実行し得る。
【０４１７】
上記ステップＳ３００２の判定の結果、処理していないアプリケーションが存在する場合は（ステップＳ３００２、Ｙｅｓ）、続いて情報処理システム１００は、未処理アプリケーションのうち、一番奥に描画されているものを取得する（ステップＳ３００３）。一番奥のものから処理を行うことで、情報処理システム１００は、より手前のアプリケーションの値を照明マップへ反映することが可能となる。
【０４１８】
上記ステップＳ３００３の処理が終わると、続いて情報処理システム１００は、アプリケーション照明対応表より、該当アプリケーションが定義されているかを確認する（ステップＳ３００４）。ステップＳ３００４の処理は例えば制御部１２０が実行し得る。
【０４１９】
アプリケーション照明対応表は、情報処理システム１００が実行するアプリケーションと、そのアプリケーションを実行する際の明るさ（照明機器３０１０の照明光と、環境光とを合わせて実現する明るさ）とが対応付けられた表である。アプリケーション照明対応表にアプリケーションが定義されていない場合は、そのアプリケーションが特別な照明制御を必要としておらず、システム設定や他のアプリケーションの照明設定下でも利用可能であることを意味している。
【０４２０】
図１５２は、アプリケーション照明対応表の例を示す説明図である。情報処理システム１００は、図１５２に示したアプリケーション照明対応表を参照することで、処理対象のアプリケーションを実行する際の照明機器３０１０の明るさを知ることが出来る。例えば、「シネマ動画プレーヤー」は、映画の没入感を演出するために明るさを０にすることが、図１５２に示したアプリケーション照明対応表から分かる。
【０４２１】
またアプリケーション照明対応表は、各アプリケーションが、照明機器３０１０の明るさを制御する際にユーザへ通知するか否かの情報を有していても良い。例えば「シネマ動画プレーヤー」は、照明機器３０１０の明るさを制御する際にユーザへの通知は不要であるが、「子供動画プレーヤー」は、照明機器３０１０の明るさを制御する際にユーザへの通知が必要であることが、図１５２に示したアプリケーション照明対応表から分かる。
【０４２２】
上記ステップＳ３００４の判断の結果、該当アプリケーションがアプリケーション照明対応表に定義されていなかった場合は（ステップＳ３００４、Ｎｏ）、情報処理システム１００は、当該アプリケーションを処理済みにして、上記ステップＳ３００２の処理に戻る。一方、上記ステップＳ３００４の判断の結果、該当アプリケーションがアプリケーション照明対応表に定義されていた場合は（ステップＳ３００４、Ｙｅｓ）、情報処理システム１００は、アプリケーション照明対応表から当該アプリケーションの明るさの値を取得する（ステップＳ３００５）。ステップＳ３００５の処理は例えば制御部１２０が実行し得る。
【０４２３】
上記ステップＳ３００５の処理が終わると、続いて情報処理システム１００は、プロジェクタによる表示領域におけるアプリケーションの表示エリアを取得する（ステップＳ３００６）。ステップＳ３００６の処理は例えば制御部１２０が実行し得る。ここで、アプリケーションが存在はするがアイコン化している場合など、表示エリアが存在しない場合は、情報処理システム１００は、そのアプリケーションを処理対象としないようにしてもよい。
【０４２４】
上記ステップＳ３００６の処理が終わると、続いて情報処理システム１００は、照明マップのうち、上記ステップＳ３００６で取得した表示エリアに該当するセルに、アプリケーション対応表で取得された値を設定する（ステップＳ３００７）。ステップＳ３００７の処理は例えば制御部１２０が実行し得る。上記ステップＳ３００７の処理が終わると、当該アプリケーションを処理済みにして、上記ステップＳ３００２の処理に戻る。
【０４２５】
上記ステップＳ３００２の判定の結果、処理していないアプリケーションが存在しない場合は（ステップＳ３００２、Ｎｏ）、続いて情報処理システム１００は、環境光を取得し、環境マップへ値を設定する（ステップＳ３００８）。ステップＳ３００８の処理は例えば制御部１２０が実行し得る。
【０４２６】
情報処理システム１００は、ステップＳ３００８の環境マップへの値の設定処理の際に、環境光（または照明機器３０１０の照度）の値を、照明出力（明るさ）の値へ正規化する。照明機器３０１０のどの照明をどの程度（０〜１００％）で出力すれば、その照明の下がどの程度の照度になるかは、予め工場出荷時に対応付けが行われていてもよい。
【０４２７】
上記ステップＳ３００８の処理が終わると、続いて情報処理システム１００は、照明マップの範囲に対して環境マップがどの程度の影響を及ぼしているかの対応付けを行う（ステップＳ３００９）。ステップＳ３００９の処理は例えば制御部１２０が実行し得る。この照明マップと環境マップとの対応付けは、上述したように照明マップのセルの数と環境マップのセルの数とを一致させることで行われる。なお、照明マップと環境マップとの対応付けは、予め工場出荷時に行われていてもよい。
【０４２８】
上記ステップＳ３００９の処理が終わると、続いて情報処理システム１００は、照明マップの未処理セルが存在するかを判定する（ステップＳ３０１０）。ステップＳ３０１０の処理は例えば制御部１２０が実行し得る。照明マップの処理の順番は、例えば照明マップのセルに割り当てられた番号の若い順からであってもよい。
【０４２９】
上記ステップＳ３０１０の判定の結果、未処理セルが存在していれば（ステップＳ３０１０、Ｙｅｓ）、情報処理システム１００は、照明マップの処理対象のセルの値と、当該セルに対応する環境光の値（環境マップのセルの値）とを比較する。そして情報処理システム１００は、照明マップの処理対象のセルに対応する環境光の値が照明マップの処理対象のセルの値以下であるかどうかを判定する（ステップＳ３０１１）。ステップＳ３０１０の処理は例えば制御部１２０が実行し得る。
【０４３０】
上記ステップＳ３０１１の判定の結果、照明マップの処理対象のセルに対応する環境光の値が照明マップの処理対象のセルの値以下であれば（ステップＳ３０１１、Ｙｅｓ）、環境光だけではアプリケーションが必要な明るさに達していないことを意味するので、情報処理システム１００は、照明マップの処理対象のセルの値から環境光の値を引いたものを、当該セルの新たな照明値として設定する（ステップＳ３０１２）。ステップＳ３０１０の処理は例えば出力制御部１２２が実行し得る。
【０４３１】
一方、上記ステップＳ３０１１の判定の結果、照明マップの処理対象のセルに対応する環境光の値が照明マップの処理対象のセルの値より大きければ（ステップＳ３０１１、Ｎｏ）、環境光だけでアプリケーションが必要な明るさを超えてしまっていることを意味するので、情報処理システム１００は、照明マップの処理対象のセルの値を０として設定する（ステップＳ３０１３）。ステップＳ３０１３の処理は例えば出力制御部１２２が実行し得る。
【０４３２】
上記ステップＳ３０１３の処理が終わると、続いて情報処理システム１００は、環境光だけでアプリケーションが必要な明るさを超えてしまっている場合に通知が必要なアプリケーションに対してのみ通知を行うため、アプリケーション照明対応表に、処理対象のアプリケーションについて通知設定がなされているかどうかの判定を行う（ステップＳ３０１４）。ステップＳ３０１４の処理は例えば出力制御部１２２が実行し得る。
【０４３３】
上記ステップＳ３０１４の判定の結果、アプリケーション照明対応表に、処理対象のアプリケーションについて通知設定がなされていた場合は（ステップＳ３０１４、Ｙｅｓ）、続いて情報処理システム１００は、処理対象のアプリケーションに対してアプリケーションに対して通知を行う（ステップＳ３０１５）。ステップＳ３０１５の処理は例えば出力制御部１２２が実行し得る。
【０４３４】
上記ステップＳ３０１５で通知を受け取ったアプリケーションは、例えば「周囲が明るすぎます。環境を暗くしてください」、「想定より明るいため認識精度が落ちる可能性があります」などのメッセージを表示したり音声を出力したりするなどの通知処理を行う。
【０４３５】
一方、上記ステップＳ３０１４の判定の結果、アプリケーション照明対応表に、処理対象のアプリケーションについて通知設定がなされていなかった場合は（ステップＳ３０１４、Ｎｏ）、情報処理システム１００は、照明マップの処理対象のセルを処理済みにして、上記ステップＳ３０１０の処理に戻る。
【０４３６】
上記ステップＳ３０１０の判定の結果、未処理セルが存在しなくなれば（ステップＳ３０１０、Ｎｏ）、続いて情報処理システム１００は、上述の一連の処理によって設定された照明マップの値を出力部１３０に設定する（ステップＳ３０１６）。ステップＳ３０１６の処理は例えば出力制御部１２２が実行し得る。出力部１３０は、照明マップの値に基づいて、照明機器３０１０の各照明の明るさを制御する。
【０４３７】
本開示の一実施形態に係る情報処理システム１００は、上述した一連の動作を実行することで、実行されるアプリケーションや環境光の明るさといった投影面の状況に応じた照明制御を行うことが出来る。本開示の一実施形態に係る情報処理システム１００は、投影面の状況に応じた照明制御を行うことで、ユーザの目的に応じて照明を最適化することができる。
【０４３８】
図１４８に示した流れ図における、ステップＳ３００８の環境光の取得処理は、情報処理システム１００でのアプリケーションの起動時に一度実行されてもよく、情報処理システム１００の起動中に定期的に実行されるようにしてもよい。
【０４３９】
以下では、具体的なアプリケーションを例示して、実行されるアプリケーションや環境光の明るさといった投影面の状況に応じた照明制御について説明する。
【０４４０】
（例１）シネマ動画プレーヤー
シネマ動画プレーヤーは、映画の没入感を演出するために、コンテンツの出力時に暗くなるアプリケーションである。図１５３は、情報処理システム１００がシネマ動画プレーヤーを実行する際の照明マップ３０１１及び環境マップ３０２１’の値の例を示す説明図である。シネマ動画プレーヤーを実行しようとする際の照明マップ３０１１及び環境マップ３０２１’の各セルの値が図１５３の（１）で示す様に取得されたとする。
【０４４１】
図１５２で示したアプリケーション照明対応表を参照すると、シネマ動画プレーヤーの明るさは０と規定されている。従って情報処理システム１００は、照明機器３０１０の照明を消灯させることで、アプリケーション照明対応表で規定されているシネマ動画プレーヤーの明るさを実現する。照明機器３０１０の照明を消灯させた際の照明マップ３０１１及び環境マップ３０２１’の各セルの値は、例えば図１５３の（２）で示した様になる。
【０４４２】
（例２）子供動画プレーヤー
子供動画プレーヤーは、アニメーションなどを子供に暗い所で見させないために、コンテンツの出力時に明るくなるアプリケーションである。図１５４は、情報処理システム１００が子供動画プレーヤーを実行する際の照明マップ３０１１及び環境マップ３０２１’の例を示す説明図である。子供動画プレーヤーを実行しようとする際の照明マップ３０１１及び環境マップ３０２１’の各セルの値が図１５４の（１）で示す様に取得されたとする。
【０４４３】
図１５２で示したアプリケーション照明対応表を参照すると、子供動画プレーヤーの明るさは８０と規定されている。従って情報処理システム１００は、照明機器３０１０の照明を点灯させることで、アプリケーション照明対応表で規定されている子供動画プレーヤーの明るさを実現する。照明機器３０１０の照明を点灯させた際の照明マップ３０１１及び環境マップ３０２１’の各セルの値は、例えば図１５４の（２）で示した様になる。
【０４４４】
照明機器３０１０の照明を点灯させて明るさがアプリケーション照明対応表で規定された明るさになると、情報処理システム１００は、明るさがアプリケーション照明対応表で規定された明るさになったことを子供動画プレーヤーに通知する。通知を受けた子供動画プレーヤーは、子供がコンテンツを見る際に安全な環境になった準備ができたと判断し、コンテンツの再生を開始する。
【０４４５】
なお、図１５２で示したアプリケーション照明対応表を参照すると、子供動画プレーヤーは通知が「必要」と規定されている。従って照明機器３０１０を制御しても明るさが不足している場合は、情報処理システム１００は、例えば子供動画プレーヤーに対して明るさが不足していることを通知し、通知を受けた子供動画プレーヤーは、「周囲を明るくしてね」等と表示することで、部屋の電気をつけるようにユーザに促す。
【０４４６】
なお、窓から入ってくる外光が存在する場合は、情報処理システム１００は、その外光を環境マップ３０２１’に反映させる。図１５５は、外光を環境マップ３０２１’に反映させた場合の例を示す説明図である。図１５５では、環境マップ３０２１’の左上部分が外光に影響を受けて値が大きくなっている例が示されている。
【０４４７】
（例３）キャンドルアプリケーション
キャンドルアプリケーションは、テーブルなどの投影面上にキャンドルの映像を投影するアプリケーションである。図１５６は、情報処理システム１００がキャンドルアプリケーションを実行する際の照明マップ３０１１及び環境マップ３０２１’の例を示す説明図である。キャンドルアプリケーションを実行しようとする際の照明マップ３０１１及び環境マップ３０２１’の各セルの値が図１５６の（１）で示す様に取得されたとする。
【０４４８】
図１５２で示したアプリケーション照明対応表を参照すると、キャンドルアプリケーションの明るさは２０と規定されている。従って情報処理システム１００は、照明機器３０１０の照明を消灯させることで、アプリケーション照明対応表で規定されているキャンドルアプリケーションの明るさを実現する。照明機器３０１０の照明を点灯させた際の照明マップ３０１１及び環境マップ３０２１’の各セルの値は、例えば図１５４の（２）で示した様になる。
【０４４９】
しかし図１５６で示した例では、照明機器３０１０の照明を消灯させても、環境マップ３０２１’の各セルの値が５０となり、アプリケーション照明対応表で規定されているキャンドルアプリケーションの明るさを実現することが出来ない。図１５２で示したアプリケーション照明対応表を参照すると、キャンドルアプリケーションは通知が「必要」と規定されている。
【０４５０】
従って照明機器３０１０を制御しても明るさがオーバーしている場合は、情報処理システム１００は、例えばキャンドルアプリケーションに対して明るさがオーバーしていることを通知する。情報処理システム１００からの通知を受けたキャンドルアプリケーションは、「周囲が明るすぎます。環境を暗くして下さい」等と表示することで、カーテンを閉める等して環境光を暗くするようにユーザに促す。
【０４５１】
（例４）プロジェクションマッピングアプリケーション
プロジェクションマッピングアプリケーションは、部屋の壁面や物体に画像を投影することを目的としたアプリケーションである。プロジェクションマッピングアプリケーションを実行する際には、ユーザは投影面上に例えばミラー状の半球体を設置して、出力部１３０のプロジェクタから出力される画像をその半球体に反射させる。出力部１３０のプロジェクタから出力される画像をミラー状の半球体に反射させることで、部屋の壁面や物体に画像を投影することができる。
【０４５２】
図１５２で示したアプリケーション照明対応表を参照すると、プロジェクションマッピングアプリケーションの明るさは０と規定されている。従って情報処理システム１００は、照明機器３０１０の照明を消灯させることで、アプリケーション照明対応表で規定されているプロジェクションマッピングアプリケーションの明るさを実現する。
【０４５３】
プロジェクションマッピングアプリケーションとしては、例えば部屋の壁面に星空の画像を投影するプラネタリウムアプリケーション、投影面上に設置した和紙に映像を投影することで走馬灯を実現する走馬灯アプリケーション等がある。以下ではプロジェクションマッピングアプリケーションとして、このプラネタリウムアプリケーション及び走馬灯アプリケーションを例に挙げて説明する。
【０４５４】
図１５７は、アプリケーションの具体例を示す説明図であり、プラネタリウムアプリケーションについて説明する説明図である。図１５７の（ａ）は、出力部１３０のプロジェクタから出力される画像の一例を示している。図１５７の（ｂ）及び（ｃ）は、出力部１３０のプロジェクタから出力される画像が、投影面上に設置された、表面がミラー状の半球体３１１０に反射される様子を示している。図１５７の（ｄ）は、出力部１３０のプロジェクタから出力される画像が半球体３１１０で反射され、部屋の壁面に投影されている状態の一例を示している。
【０４５５】
図１５８は、アプリケーションの具体例を示す説明図であり、走馬灯アプリケーションについて説明する説明図である。図１５８の（ａ）は、出力部１３０のプロジェクタから出力される画像の一例を示している。図１５７の（ｂ）、（ｃ）、（ｄ）は、出力部１３０のプロジェクタから出力される画像が、投影面上に設置された、表面がミラー状の半球体３１１０に反射され、和紙３１２０に投影される様子を示している。
【０４５６】
（例５）地球儀アプリケーション
地球儀アプリケーションは、投影面に設置された半球体に画像を投影することで地球儀を表現することを目的としたアプリケーションである。地球儀アプリケーションを実行する際には、ユーザは投影面上に例えばマット状の半球体を設置して、出力部１３０のプロジェクタから出力される画像をその半球体に投影させる。出力部１３０のプロジェクタから出力される画像をマット状の半球体に投影させることで、その半球体で地球儀を表現することができる。
【０４５７】
図１５９は、アプリケーションの具体例を示す説明図であり、地球儀アプリケーションについて説明する説明図である。図１５９の（ａ）は、出力部１３０のプロジェクタから出力される画像の一例を示している。図１５９の（ｂ）は、出力部１３０のプロジェクタから出力される画像が、投影面上に設置された、表面がマット状の半球体３１２０に反射される様子を示している。図１５９の（ｃ）は、出力部１３０のプロジェクタから出力される画像がマット状の半球体３１２０に投影されて、マット状の半球体３１２０が地球儀として表現されているとともに、地球儀と関連付けて様々な情報が投影面に投影されている状態の一例を示している。
【０４５８】
（例６）モバイル端末の画面認識アプリケーション
モバイル端末の画面認識アプリケーションは、投影面に設置されたモバイル端末の画面を入力部１１０のカメラで認識し、認識した画面に応じた処理を実行するためのアプリケーションである。モバイル端末の画面を認識する際には、照明機器３０１０の照明を消灯して真っ暗にすると、入力部１１０のカメラで画面が認識しやすくなる。
【０４５９】
しかし、照明機器３０１０の照明を消灯して真っ暗にしてしまうと、入力部１１０のカメラのダイナミックレンジによっては、画面が白飛びしてしまう。
【０４６０】
従って本実施形態では、発光している画面を認識しやすくするために、照明機器３０１０の照明を消灯するのではなく、図１５２のアプリケーション照明対応表で示したように、ハイライト低減を目的として、照明機器３０１０の照明を暗めに設定している。
【０４６１】
図１６０は、アプリケーションの具体例を示す説明図であり、モバイル端末の画面認識アプリケーションについて説明する説明図である。図１６０では、モバイル端末３１３０の画面を入力部１１０のカメラで認識し、そのモバイル端末３１３０の画面に応じた情報を出力部１３０のプロジェクタが投影している様子が示されている。
【０４６２】
（例７）食品パッケージ認識アプリケーション
食品パッケージ認識アプリケーションは、投影面に設置された食品パッケージの表面を入力部１１０のカメラで認識し、認識した食品パッケージに応じた処理を実行するためのアプリケーションである。食品パッケージを認識する際には、照明機器３０１０の照明を点灯して明るくすると、入力部１１０のカメラで反射物である食品パッケージが認識しやすくなる。
【０４６３】
図１６１は、アプリケーションの具体例を示す説明図であり、食品パッケージ認識アプリケーションについて説明する説明図である。図１６１では、食品パッケージ３１４０、３１５０の表面を入力部１１０のカメラで認識し、その食品パッケージ３１４０、３１５０の画面に応じた情報を出力部１３０のプロジェクタが投影している様子が示されている。
【０４６４】
（例８）一般物体認識アプリケーション
一般物体認識アプリケーションは、投影面に設置された物体の表面を入力部１１０のカメラで認識し、認識した物体に応じた処理を実行するためのアプリケーションである。物体を認識する際には、投影面にどんな物体が置かれるか事前に分からないので、照明機器３０１０の照明を半分ぐらい明るくする。照明機器３０１０の照明を半分ぐらい明るくすることで、入力部１１０のカメラで物体の表面が認識しやすくなる。
【０４６５】
図１６２は、アプリケーションの具体例を示す説明図であり、一般物体認識アプリケーションについて説明する説明図である。図１６２では、一般物体３１６０、３１７０の表面を入力部１１０のカメラで認識し、その一般物体３１６０、３１７０の画面に応じた情報を出力部１３０のプロジェクタが投影している様子が示されている。
【０４６６】
本実施形態に係る情報処理システム１００は、投影面の利用状況に応じて照明制御を行うことで、ユーザの目的毎に照明を最適化することが可能になる。本実施形態に係る情報処理システム１００は、セルとして分割された環境マップ及び照明マップを用いて照明制御を行うことで、投影面の必要な箇所のみ照明を調整することが出来る。投影面の必要な箇所のみ照明を調整することで、複数のユーザが、出力部１３０のプロジェクタが投影面へ投影するコンテンツに対し、それぞれストレスなく異なる作業を行うことが可能になる。
【０４６７】
本実施形態に係る情報処理システム１００は、投影面でアプリケーションを実行している部分を検出し照明を調整することで、映像を鮮明化させることが可能になる。例えば、投影面において食事をしている部分を入力部１１０で検出し、照明機器３０１０の照明の明るさを調整することで、食事をしている周辺の明るさが暗くなることを防止できる。
【０４６８】
本実施形態に係る情報処理システム１００は、一般物体認識アプリケーションを実行する際に照明制御を行い、認識精度を向上させることが出来る。本実施形態に係る情報処理システム１００は、認識対象の物体に応じて照明機器３０１０の制御方法を変化させることにより、投影面に置かれた物体の認識精度を向上させることが可能となる。
【０４６９】
本実施形態に係る情報処理システム１００は、出力部１３０から出力するコンテンツの属性情報やメタ情報に基づいて明るさを制御してもよい。例えば、出力するコンテンツの属性情報が子供向けのアニメーションであると設定されていれば、情報処理システム１００は、明るくするように照明機器３０１０を制御し、大人向けの映画であると設定されていれば、情報処理システム１００は、暗くするように照明機器３０１０の照明の明るさを制御してもよい。
【０４７０】
情報処理システム１００は、このように出力するコンテンツの属性情報やメタ情報に基づいて明るさを制御することで、同じアプリケーションであってもコンテンツごとに明るさを変化させることが可能になる。
【０４７１】
情報処理システム１００は、照明機器３０１０の照明の明るさを制御する際に、いきなり目的の明るさとなるような制御を行なっても良いが、その他にも、徐々に明るく、または暗くするようにして、最終的に目標の明るさに到達するように、制御を行なっても良い。
【０４７２】
［例２］
ここでは、投影面において特定条件を満たした場合に、予め設定された機能を発火する処理の例を説明する。アプリケーションの機能を発火させる条件は、通常はそのアプリケーションを提供するベンダーのみが設定可能であった。また、利用環境によっては、アプリケーションで定義された挙動では機能が発火しない場合もあった。また、利用環境によっては、アプリケーションで定義された挙動では機能しない場合もあった。
【０４７３】
そこで、本実施形態に係る情報処理システム１００では、発火させる機能と発火の条件とをユーザにより自由に設定可能にした。本実施形態に係る情報処理システム１００は、発火させる機能と発火の条件とをユーザにより自由に設定可能とすることで、様々な演出の表現が可能になる。
【０４７４】
テーブル１４０ａにはユーザごとに様々な物体が置かれ、様々なインタラクションがテーブル１４０ａ上で日々行われている。本実施形態に係る情報処理システム１００は、そのインタラクションを機能発火のきっかけとしてユーザに利用させる。そして。本実施形態に係る情報処理システム１００は、機能発火の際に使用されるデータを、インタラクションの発生に応じて、機能発火時に実行される処理（Ａｃｔｉｏｎ）に渡す。
【０４７５】
本実施形態に係る情報処理システム１００が機能発火の条件（トリガー）として用いるインタラクションは、例えば以下の様なものがある。もちろん、インタラクションは以下で示したものに限定されるものではない。
・テーブル面の音を拾う
・ユーザが作成したＡＲマーカーを認識する
・デプス情報を認識する
・テーブル面の明るさを検知する
・テーブル面の手の状態を認識する
・テーブル面に置かれた機器を認識する
・所定時刻に達する
・温度を検知する
・二酸化炭素濃度を検知する
・匂いを検知する
・水蒸気を検知する
・湿度を検知する
【０４７６】
テーブル面の音を拾う場合のトリガーの例としては次のようなものがある。
・音のパターンの検知（例えばユーザが「こつ、こつ、こつ」と３回拳でテーブル１４０ａの面を叩いた音を録音する）
・音量の変化の検知（例えば所定の閾値以上の音を情報処理システム１００が収音する）
・音の鳴動時間の検知（例えば無音時間が所定時間継続したことを情報処理システム１００が検知する）
・音の鳴動方向の検知
【０４７７】
音のパターンを検知する場合にＡｃｔｉｏｎに渡すデータとしては、例えば検知したパターンを識別するためのＩＤ情報がある。音量の変化、音の鳴動時間、音の鳴動方向を検知する場合にＡｃｔｉｏｎに渡すデータとしては、例えば音量、鳴動時間、鳴動方向等がある。
【０４７８】
ユーザが作成したＡＲマーカーを認識する場合のトリガーの例としては次のようなものがある。
・ＡＲマーカーの発見（例えばユーザが登録したマーカーを、テーブル面全体の中のいずれか、または予め登録した領域で情報処理システム１００が発見する）
・ＡＲマーカーのロスト（例えばユーザが登録したマーカーを情報処理システム１００が見失う）
【０４７９】
ＡＲマーカーの発見の場合にＡｃｔｉｏｎに渡すデータとしては、例えば発見したマーカーのＩＤ情報、発見した座標、発見した姿勢、発見した大きさ、発見した時刻などがある。発見していたＡＲマーカーのロストの場合にＡｃｔｉｏｎに渡すデータとしては、例えば見失ったマーカーのＩＤ情報、マーカーを最後に見つけた座標、最後に見つけた姿勢、最後に見つけた大きさ、見失った時刻などがある。
【０４８０】
デプス情報を認識する場合のトリガーの例としては次のようなものがある。
・塊の認識（例えば、テーブル面全体の中のいずれか、または予め登録した領域で所定量の塊が増えた、または減ったことを検出する）
・テーブル面上の物の配置の認識（例えば、事前に登録したデプスマップと一致した状態になったら、または一致した状態にならなくなったら。デプスマップはＲＧＢ画像と組み合わせられても良い）
・標準平面からの変化の検知（例えば、所定時間以上何も置かれていない状態になっていなかったら）
・動きの検出（例えば、テーブル面全体の中のいずれか、または予め登録した領域で活発に動いている物体を検出する）
【０４８１】
塊の認識の場合にＡｃｔｉｏｎに渡すデータとしては、例えば発見した塊の場所、塊の面積、塊の体積、認識した時刻などがある。テーブル面上の物の配置の認識の場合にＡｃｔｉｏｎに渡すデータとしては、例えば配置に変化のあった場所、変化のあった時刻、変化量（面積または体積）などがある。標準平面からの変化の検知の場合にＡｃｔｉｏｎに渡すデータとしては、例えば標準状態から変化している物の外形、位置、面積、体積、その物が初めて置かれた日時などがある。動きの検出の場合にＡｃｔｉｏｎに渡すデータとしては、例えば動きの活発さ、主に動きのあった領域の座標や面積、動きのあった日時などがある。なお動きの活発さは、例えば動きのあった面積と、動きの速さとを乗じて求められる指標である。
【０４８２】
テーブル面の明るさを検知する場合のトリガーの例としては次のようなものがある。
・明るさの変化の検出（例えば、予め設定された閾値以上に明るく、または暗くなったことを検出する）
【０４８３】
明るさの変化の検出の場合にＡｃｔｉｏｎに渡すデータとしては、例えば明るさの情報がある。
【０４８４】
テーブル面の手の状態を認識する場合のトリガーの例としては次のようなものがある。
・手の本数（例えば、手の本数が所定時間以上、所定本数を超えていることを検出する）
・手がテーブル面上に入っている時間
・手の位置（例えば、手が予め登録した領域に入っていることを検出する）
【０４８５】
手の本数の認識の場合にＡｃｔｉｏｎに渡すデータとしては、例えば認識した手の本数、手の延べ本数、認識した手の位置などがある。
【０４８６】
テーブル面に置かれた機器を認識する場合のトリガーの例としては次のようなものがある。
・機器の接続（例えば、情報処理システム１００と機器とが接続されたこと、または情報処理システム１００と機器との接続が解除されたことを検出する）
【０４８７】
機器の接続の認識の場合にＡｃｔｉｏｎに渡すデータとしては、例えば認識した機器のＩＤ情報、機器の位置、機器の姿勢、機器の大きさなどがある。
【０４８８】
所定時刻に達することを認識する場合のトリガーの例としては次のようなものがある。
・指定時刻に達する
・所定時間が経過する
【０４８９】
指定時刻に達したことを認識する場合にＡｃｔｉｏｎに渡すデータとしては、例えば時刻情報などがある。所定時間が経過したことを認識する場合にＡｃｔｉｏｎに渡すデータとしては、例えば開始時刻、経過時間、現在時刻などがある。
【０４９０】
温度を検知することを認識する場合のトリガーの例としては次のようなものがある。
・温度の変化（例えば、時間当たりの温度変化が所定量以上であったことを検出する）
【０４９１】
温度の変化を検知する場合にＡｃｔｉｏｎに渡すデータとしては、例えば温度変化量、変化があった面積、絶対温度、検知した日時などがある。
【０４９２】
二酸化炭素濃度を検知することを認識する場合のトリガーの例としては次のようなものがある。
・二酸化炭素濃度の変化（例えば、時間当たりの二酸化炭素濃度変化が所定量以上であったことを検出する）
【０４９３】
二酸化炭素濃度の変化を検知する場合にＡｃｔｉｏｎに渡すデータとしては、例えば二酸化炭素濃度の変化量、絶対濃度、検知した日時などがある。
【０４９４】
匂いを検知することを認識する場合のトリガーの例としては次のようなものがある。
・所定の匂い（化学物質）を検知する
【０４９５】
匂いを検知する場合にＡｃｔｉｏｎに渡すデータとしては、例えば検知量、検知した日時などがある。
【０４９６】
本開示の一実施形態に係る情報処理システム１００が、上述したようなインタラクションに応じて実行する機能としては、例えば以下の様なものがある。
・映像や画像の投影
・音楽の再生
・その他アプリケーションの実行
・写真の撮像
・照明の調整
・投影画像の明るさの調整
・音量の調整
・アラートの表示
【０４９７】
映像や画像の投影を実行する際のＡｃｔｉｏｎとしては、例えば投影面上への視覚効果（ビジュアルエフェクト）の投影がある。投影面上へ投影されるものとしては、例えば予め登録されたビジュアルエフェクト（爆発のエフェクトや、キラキラ光るようなエフェクトなど）の表示、ユーザによって作成されたビジュアルエフェクトの表示等がある。またビジュアルエフェクトの例としては、予めテーブル面上で録画したものであってもよく、テーブル面上でユーザが手や指を動かした軌跡に基づいて描画したものであってもよく、ペイントアプリケーションで描いたイラストやユーザがインターネットで検索して発見した画像を使用したものであってもよい。
【０４９８】
投影面上への視覚効果（ビジュアルエフェクト）の投影のＡｃｔｉｏｎの実行の際にトリガーから渡されるデータの使われ方としては、例えばテーブル面を叩いた音の大きさに比例してビジュアルエフェクトの量が変化する、などがある。
【０４９９】
音楽の再生を実行する際のＡｃｔｉｏｎとしては、例えば音や音楽の再生があり、具体的には、例えば予め登録された音声効果（音声エフェクト）の出力や、ユーザが登録したお気に入りの音楽の出力などがある。音や音楽の再生のＡｃｔｉｏｎの実行の際にトリガーから渡されるデータの使われ方としては、例えば、与えられるデータの増減を音の派手さに反映させる、などがある。
【０５００】
アプリケーションを起動する際のＡｃｔｉｏｎとしては、例えば一般的なアプリケーションの起動、引数を指定したアプリケーションの起動、複数のアプリケーションの起動、などがあり、一般的なアプリケーションの具体例としてはテレビを操作するアプリケーションや時計を表示するアプリケーションなどがあり、引数を指定したアプリケーションの起動としてはＵＲＬを指定したブラウザの起動などがあり、複数のアプリケーションの起動の具体例としては、記憶していた複数のアプリケーションの位置やウインドウサイズ、傾きを再現する、などがある。
【０５０１】
写真を撮像する際のＡｃｔｉｏｎとしては、例えば投影面全体を撮像する、投影面の一部分を撮像する、などがある。写真を撮像するＡｃｔｉｏｎの実行の際にトリガーから渡されるデータの使われ方としては、例えば認識した手を中心とした所定の範囲を撮像する、などがある。
【０５０２】
照明を調整する際や、投影画像の明るさを調整する際のＡｃｔｉｏｎとしては、例えば明るさを調整する、消灯する、などがある。明るさの調整の具体例としては、照明を明るくする、または暗くする、始点及び終点を指定してその間をある時間で移動する、などがある。照明を調整するＡｃｔｉｏｎの実行の際にトリガーから渡されるデータの使われ方としては、例えば渡された値を明るさに反映させる、環境光に応じて明るさを調整する、などがある。
【０５０３】
音量を調整する際のＡｃｔｉｏｎとしては、例えば音量を調整する、消音する、などがある。音量の調整の具体例としては、音を大きくする、または小さくする、始点及び終点を指定してその間をある時間で移動する、などがある。音量を調整するＡｃｔｉｏｎの実行の際にトリガーから渡されるデータの使われ方としては、例えば渡された値を音量に反映させる、周囲の音量に応じて音量を調整する、などがある。
【０５０４】
アラートを表示する際のＡｃｔｉｏｎとしては、例えばアラートメッセージを表示（投影）する、などがある。アラートを表示するＡｃｔｉｏｎの実行の際にトリガーから渡されるデータの使われ方としては、例えば認識した手の本数が閾値を超えると、新たに認識した手の周囲に「その手は操作できません」等のアラートメッセージを出力する、などがある。
【０５０５】
このように、発火させる機能と発火の条件との関係は多岐に渡っており、発火させる機能と発火の条件とをユーザに簡単に設定できるようにすることが求められる。以下においては、発火させる機能と発火の条件とをユーザに設定させる際に、情報処理システム１００が投影面に出力するＧＵＩの例を説明する。
【０５０６】
図１６３〜図１７１は、本開示の一実施形態に係る情報処理システム１００が投影面に出力するＧＵＩの例を示す説明図である。図１６３〜図１７１は、発火の条件をユーザに設定させる際のＧＵＩの例であり、音楽のパターンを発火の条件として登録する場合のＧＵＩ３２００の例である。
【０５０７】
本開示の一実施形態に係る情報処理システム１００は、発火の条件をユーザに設定させる際に、まず図１６３に示したように、どのチャンネルを発火の条件として使用するかをユーザに選択させるＧＵＩ３２００を出力する。図１６３に示したＧＵＩ３２００には、チャンネルとして音、マーカー、机面（テーブル１４０ａの面）の物体が示されている。もちろん発火の条件をユーザに設定させる際に、チャンネルとして使用されるものは係る例に限定されるものではない。
【０５０８】
ここでユーザがチャンネルとして音を選択すると、続いて情報処理システム１００は、図１６４に示したように、ユーザにトリガーを選択させるＧＵＩ３２００を出力する。図１６４には、トリガーとして音のパターン、音のボリューム、音の鳴動時間が示されている。もちろんトリガーとして使用されるものは係る例に限定されるものではない。
【０５０９】
ここでユーザがトリガーとして音のパターンを選択すると、続いて情報処理システム１００は、音のパターンをユーザに録音させるＧＵＩ３２００を出力する。ユーザは、録音準備が整うと、図１６５に示した録音ボタンを触る。情報処理システム１００は、ユーザの録音ボタンの操作に応じて録音を開始する。そして録音している間、情報処理システム１００は、図１６６に示したようなＧＵＩ３２００を出力する。
【０５１０】
音の録音が完了すると、続いて情報処理システム１００は、図１６７に示したようなＧＵＩ３２００を出力する。図１６７に示したＧＵＩ３２００は、録音が完了したこと及び録音した音をトリガーとして使用するかどうかユーザに決定させるためのＧＵＩである。録音した音をトリガーとして使用することをユーザが選択すると、情報処理システム１００は、図１６８に示したようなＧＵＩ３２００を出力する。図１６８に示したＧＵＩ３２００は、録音した音をユーザに再現させるためのＧＵＩを出力する。
【０５１１】
ユーザが録音した音を再現し、情報処理システム１００がそのユーザが再現した音を音のパターンとして認識すると、情報処理システム１００は、図１６９に示したようなＧＵＩ３２００を出力する。図１６９に示したＧＵＩ３２００は、情報処理システム１００が音のパターンを認識できたことを示すＧＵＩである。一方、ユーザが再現した音が音のパターンとして認識出来なかった場合は、情報処理システム１００は、図１７０に示したようなＧＵＩ３２００を出力する。図１７０に示したＧＵＩ３２００は、ユーザが再現した音のパターンを情報処理システム１００が認識できなかったことを示すＧＵＩである。
【０５１２】
音のパターンを認識できると、情報処理システム１００は、図１７１に示したようなＧＵＩ３２００を出力する。図１７１に示したＧＵＩ３２００は、ユーザが登録した音のパターンを、情報処理システム１００がトリガーとして登録したことを示すＧＵＩである。
【０５１３】
本開示の一実施形態に係る情報処理システム１００は、図１６３〜図１７１に示したＧＵＩを出力することで、発火させる機能と発火の条件とをユーザに簡単に設定させることが可能になる。
【０５１４】
ここまでは、ユーザが発した音をトリガーとして登録する際の、情報処理システム１００が出力するＧＵＩ３２００の例を示した。続いて、ユーザが投影面に置いたマーカーをトリガーとして登録する際の、情報処理システム１００が出力するＧＵＩの例を示す。
【０５１５】
図１７２〜図１７９は、本開示の一実施形態に係る情報処理システム１００が投影面に出力するＧＵＩの例を示す説明図である。図１７２〜図１７９は、発火の条件をユーザに設定させる際のＧＵＩの例であり、テーブル面に物体が置かれたことを発火の条件として登録する場合のＧＵＩ３２００の例である。
【０５１６】
本開示の一実施形態に係る情報処理システム１００は、発火の条件をユーザに設定させる際に、まず図１７２に示したように、どのチャンネルを発火の条件として使用するかをユーザに選択させるＧＵＩ３２００を出力する。図１７２に示したＧＵＩ３２００には、チャンネルとして音、マーカー、机面（テーブル１４０ａの面）の物体が示されている。もちろんチャンネルとして使用されるものは係る例に限定されるものではない。
【０５１７】
ここでユーザがチャンネルとしてマーカーを選択すると、続いて情報処理システム１００は、図１７３に示したように、ユーザにトリガーを選択させるＧＵＩ３２００を出力する。図１７３には、トリガーとして塊認識、物の配置、平面認識が示されている。もちろんトリガーとして使用されるものは係る例に限定されるものではない。
【０５１８】
ここでユーザがトリガーとして塊認識を選択すると、続いて情報処理システム１００は、図１７４に示した様な、認識を行うエリアをユーザに指定させるＧＵＩ３２００を出力する。認識を行うエリアをユーザが指定すると、続いて情報処理システム１００は、図１７５に示した様な、機能発火の条件をユーザに指定させるＧＵＩ３２００を出力する。図１７５では、物体が机面に置かれた場合に機能を発火させるか、物体が机面から退けられた場合に機能を発火させるかをユーザに指定させるＧＵＩ３２００が示されている。
【０５１９】
図１７６は、認識を行うエリアをユーザに指定させるＧＵＩ３２００の例を示す説明図である。情報処理システム１００は、図１７６に示したようなＧＵＩ３２００を出力することで、機能発火のトリガーとなる物体を認識するエリアをユーザに設定させることが出来る。この物体を認識するエリアは、ユーザの操作によって移動、拡大、縮小、回転、変形が可能である。
【０５２０】
機能発火のトリガーとなる物体を認識するエリアをユーザが設定すると、続いて情報処理システム１００は、図１７７に示すような、ユーザが設定したエリアに物体を実際に置かせて物体を認識させるためのＧＵＩ３２００を出力する。ユーザは、物体を認識するエリアに任意の物体を置くと、情報処理システム１００は、そのエリアに置かれた物体を入力部１１０のカメラで認識する。情報処理システム１００は、物体を認識するエリアに置かれた物体を認識すると、図１７８に示したような、物体の認識が出来たことを示すＧＵＩ３２００を出力する。
【０５２１】
そして物体を認識するエリアに置かれた物体を認識すると、情報処理システム１００は、図１７９に示したような、ユーザが机面に置いた物体をトリガーとして登録したことを示すＧＵＩ３２００を出力する。
【０５２２】
図１８０〜図１８４は、本開示の一実施形態に係る情報処理システム１００が投影面に出力するＧＵＩの例を示す説明図である。図１８０〜図１８４は、発火させる機能をユーザに設定させる際のＧＵＩの例であり、発火させる機能として映像の再生を登録する場合のＧＵＩ３２００の例である。
【０５２３】
本開示の一実施形態に係る情報処理システム１００は、発火させる機能をユーザに設定させる際に、まず図１８０に示したように、どのチャンネルを発火させる機能として使用するかをユーザに選択させるＧＵＩ３２００を出力する。図１８０に示したＧＵＩ３２００には、チャンネルとして絵・映像、音・音楽、アプリケーションの３種類が示されている。もちろんチャンネルとして使用されるものは係る例に限定されるものではない。
【０５２４】
ここでユーザがチャンネルとして絵・映像を選択すると、続いて情報処理システム１００は、図１８１及び図１８２に示したように、ユーザにアクション（発火させる機能）を選択させるＧＵＩ３２００を出力する。
【０５２５】
図１８２には、再生させる絵や映像として、エフェクトライブラリからのエフェクトの選択、机面の録画、机面を利用したペイント機能により描画した絵のいずれかをユーザに選択させるためのＧＵＩ３２００が示されている。なお再生される絵や映像と利用されるのは、上述したものの組み合わせであってもよい。情報処理システム１００は、例えば再生時間を１０秒とした場合、エフェクトが５秒間、ペイント機能により描画した絵の再生が５秒間、それぞれ再生されるようにユーザに設定させても良い。
【０５２６】
アクションをユーザが設定すると、続いて情報処理システム１００は、図１８３に示すような、ユーザが設定したアクションをユーザに確認させるためのＧＵＩ３２００を出力する。ユーザは、設定したアクションを確認し、問題がなければ情報処理システム１００にその旨を指示する。情報処理システム１００は、ユーザが設定したアクションについてユーザが確認すると、図１８４に示したような、アクションの登録が完了したことを示すＧＵＩ３２００を出力する。
【０５２７】
ユーザが上述したように発火させる機能と発火の条件とを登録した場合、その発火させる機能の効果や意味合いによって、発火させる機能の可視性がコントロールされることが望ましい。例えば、サプライズとして仕込んだ機能は、他人に気付かれないように隠しておくことが望ましい。
【０５２８】
図１８５は、情報処理システム１００が発火させる機能の可視性の例を示す説明図である。図１８５の（１）は、機能ごとにアイコンが置かれている様子を示したものである。図１８５の（２）は、登録した機能がまとめて配置される様子を示したものである。図１８５の（３）は、トリガーが発生するエリアだけを表示している様子を示したものである。図１８５の（４）は、発火させる機能を完全に隠している様子を示したものである。
【０５２９】
上述したように、情報処理システム１００は、ユーザによって様々な機能発火の条件を登録させることが出来る。しかし、ユーザは、同じような条件を別の機能に割り当てようとしてしまうことが考えられる。そこで、情報処理システム１００は、ユーザが登録しようとした発火の条件が、既に登録されている条件と酷似していれば、その登録を棄却するようにしてもよい。
【０５３０】
例えば、ユーザが机を叩くトリガーを登録する際に、リズムがわずかに違うが叩く回数は同じで登録しようとした場合や、机に物を置くトリガーを登録する際に、反応するエリアが以前登録したエリアと重複していた場合に、登録されている条件と酷似する、類似度の高いデータになってしまう。この他にも、例えばユーザが、模様や形状、色彩がわずかに違うような物体の認識を別の機能に割り当てようとしてしまうことが考えられる。このように、類似度の高い条件となりうるパターンは存在する。
【０５３１】
そこで情報処理システム１００は、類似度が十分に高いことが判明した時点で、類似度が高いことを知らせるインジケーションを表示したり、登録のやり直しまたはキャンセルを促したりするＧＵＩを出力してもよい。
【０５３２】
図１８６は、情報処理システム１００が出力するＧＵＩの例を示す説明図であり、ユーザが登録しようとした発火の条件が、既に登録されている条件と酷似していれば、その登録を棄却する際に出力するＧＵＩの例を示したものである。
【０５３３】
情報処理システム１００は、ユーザに登録されたトリガーを複数組み合わせて新たなトリガーを生成してもよい。図１８７は、トリガーの組み合わせの例を示す説明図である。図１８７には「朝７時になったら」というトリガーと、「指定エリア内でユーザの腕が振られたら」というトリガーとを組み合わせる様子が示されている。
【０５３４】
図１８８は、トリガーを複数組み合わせて新たなトリガーをユーザに生成させる際の、情報処理システム１００が出力するＧＵＩの例を示す説明図である。各トリガーが円で描画されており、ユーザは、トリガー同士を重ねあわせる操作（例えばドラッグアンドドロップ操作）を行う。情報処理システム１００は、ユーザによってトリガー同士を重ねあわせる操作が行われると、その２つのトリガーを組み合わせて新たなトリガーを生成する。
【０５３５】
ユーザが上述したように発火させる機能と発火の条件とを登録した場合、ユーザが設定した発火させる機能と発火の条件とを紐付ける際のＧＵＩの例を示す。図１８９は、情報処理システム１００が出力するＧＵＩの例を示す説明図であり、ユーザが設定した発火させる機能と発火の条件とを紐付ける際のＧＵＩの例を示したものである。
【０５３６】
図１８９では、発火させる機能（アクション）と発火の条件（トリガー）とが円で描画されており、ユーザは、トリガーとアクションとを重ねあわせる操作（例えばドラッグアンドドロップ操作）を行う。情報処理システム１００は、ユーザによってトリガーとアクションとを重ねあわせる操作が行われると、そのトリガーとアクションとを紐付け、紐付けた内容を保持する。
【０５３７】
本実施形態に係る情報処理システム１００は、発火させる機能と発火の条件とをユーザにより自由に設定可能とすることで、アプリケーションを提供するベンダーによるプログラムだけでなく、ユーザによる自由かつ簡単なプログラムの設定が可能となる。これにより、テーブル１４０ａ上の細かい事情に即した機能発火が実現される。
【０５３８】
テーブル１４０ａにはユーザごとに様々な物体が置かれ、様々なインタラクションが日々行われている。本実施形態に係る情報処理システム１００は、発火させる機能と発火の条件とをユーザにより自由に設定可能とすることで、日常的に行われ得るインタラクションを機能発火のきっかけとしてユーザに利用させることが出来、ユーザの日常生活に溶け込んだ体験を作り出すことが可能となる。
【０５３９】
［例３］
ここでは、情報処理システム１００が表示するウィンドウのモード及び操作方法の例を説明する。
【０５４０】
情報処理システム１００が表示するウィンドウの内部には、画像、テキストその他のコンテンツが表示され得る。ウィンドウの内部に表示されるコンテンツには様々なものがあり、ウィンドウの領域で全て表示出来ないようなコンテンツも存在しうる。そのような場合、ユーザは、コンテンツに対するスクロール、移動、拡大・縮小操作を行うことによってコンテンツの閲覧を行うことになるが、情報処理システム１００は、コンテンツに対するこれらの操作と、コンテンツを表示しているウィンドウに対する操作が正しく区別できなければならない。コンテンツに対する操作と、ウィンドウに対する操作とが正しく区別できなければ、ユーザはコンテンツに対する操作を行なっているにも関わらず、コンテンツではなくウィンドウに対する操作が行われてしまうようなケースが生じ得るからである。
【０５４１】
図１９０は、情報処理システム１００が表示するウィンドウ３３００のモード及び操作方法の例を示す説明図である。ウィンドウ３３００の中に画像やテキストその他のコンテンツが表示されている状態で、ユーザが単にコンテンツに対する操作を行うと、情報処理システム１００はそのウィンドウに対してはコンテンツ操作モードとして動作する。またユーザがウィンドウ３３００の中の所定の領域を長押しすると情報処理システム１００はそのウィンドウに対してはウィンドウ操作モードとして動作する。
【０５４２】
図１９１は、情報処理システム１００が表示するウィンドウ３３００のモード及び操作方法の例を示す説明図である。情報処理システム１００は、コンテンツ操作モードではウィンドウ３３００の中でのコンテンツのスクロールや回転、拡大縮小（拡縮）をユーザに行わせることが出来る。一方、情報処理システム１００は、ウィンドウ操作モードではウィンドウ３３００に対する移動、回転、拡縮をユーザに行わせることが出来る。
【０５４３】
なおコンテンツ操作モードからウィンドウ操作モードに動作を切り替える際、情報処理システム１００は、ウィンドウ３３００がウィンドウ操作モードとなっていることを示す表示（例えばウィンドウ３３００全体の色を変える等）を行なっても良い。
【０５４４】
このようにウィンドウ３３００の中の所定の領域を長押しすることでコンテンツ操作モードからウィンドウ操作モードに動作を切り替えるのは、ユーザにとって誤操作が少なくなるというメリットがある一方、ユーザにウィンドウ３３００の中の所定の領域を長押しするという操作を行わせる必要がある。
【０５４５】
図１９２、図１９３は、情報処理システム１００が表示するウィンドウ３３００のモード及び操作方法の例を示す説明図である。情報処理システム１００は、例えばウィンドウ３３００の周囲に外枠を設ける。図１９３に示したように、ウィンドウ３３００の内部に表示されているコンテンツをユーザが操作した場合にはそのコンテンツに対する処理を実行し、ウィンドウ３３００の外枠をユーザが操作した場合にはウィンドウ３３００に対する動作を実行するようにしても良い。
【０５４６】
このようにウィンドウ３３００の周囲に外枠を設けることでコンテンツに対する操作とウィンドウ３３００に対する操作とを区別する方法は、ユーザに長押しのような操作を強いることがないので１つの操作だけで区別できるメリットが有る一方、外枠を設けることによる操作エリアの干渉等による誤操作が生じ得る。
【０５４７】
そこで以下の説明では、情報処理システム１００が表示するウィンドウ３３００をユーザに操作させる際に、複雑な操作を強いること無く、かつ誤操作の発生の可能性を低減させる技術の例を示す。
【０５４８】
まず、コンテンツのスクロールが生じ得るウィンドウと、コンテンツのスクロールが生じないウィンドウの移動概念について示す。図１９４は、ウィンドウの操作例を示す説明図であり、コンテンツのスクロールが生じ得るウィンドウと、コンテンツのスクロールが生じないウィンドウの移動概念を示す説明図である。
【０５４９】
図１９４の（１）はコンテンツのスクロールが生じないウィンドウであり、ユーザによるコンテンツに対する操作（例えばタップ操作、コンテンツに対する拡縮操作等）以外の操作はウィンドウに対する操作であるとする。
【０５５０】
図１９４の（２）はコンテンツのスクロールが生じるウィンドウであり、例えばユーザによる片手での操作はコンテンツに対する操作とし、両手での操作はコンテンツに対する操作とする。またコンテンツに対する操作時に所定時間だけウィンドウの周囲に外枠を表示させ、その外枠に対する操作はコンテンツに対する操作とする。
【０５５１】
図１９５は、ユーザの操作について示す説明図である。図１９５には、ユーザの１本または２本の手でコンテンツやウィンドウを移動させる移動操作、ユーザの１本または２本の手でコンテンツやウィンドウを回転させる回転操作、ユーザの１本または２本の手でコンテンツやウィンドウを拡縮させる拡縮操作の例が示されている。
【０５５２】
図１９６は、本開示の一実施形態にかかる情報処理システム１００の動作例を示す流れ図である。図１９６に示したのは、情報処理システム１００が出力する、コンテンツが表示されたウィンドウに対する操作が行われる際の、情報処理システム１００の動作例である。以下、図１９６を用いて本開示の一実施形態にかかる情報処理システム１００の動作例について説明する。
【０５５３】
まずユーザによるウィンドウへのタッチ操作が行われたことを検出すると（ステップＳ３３０１）、情報処理システム１００は、続いてその操作が移動操作であるかどうか判断する（ステップＳ３３０２）。
【０５５４】
ユーザによるウィンドウへのタッチ操作が移動操作であった場合は（ステップＳ３３０２、Ｙｅｓ）、続いて情報処理システム１００は、続いてユーザによるウィンドウへのタッチ操作がウィンドウ内の操作かどうか判断する（ステップＳ３３０３）。
【０５５５】
ユーザによるウィンドウへのタッチ操作がウィンドウ内の操作であった場合は（ステップＳ３３０３、Ｙｅｓ）、続いて情報処理システム１００は、そのユーザ操作が２つの手による操作か、またはウィンドウに表示されているのがスクロールしないコンテンツであるかどう判断する（ステップＳ３３０４）。
【０５５６】
ユーザ操作が２つの手による操作か、またはウィンドウに表示されているのがスクロールしないコンテンツである場合は（ステップＳ３３０４、Ｙｅｓ）、続いて情報処理システム１００は、操作対象のウィンドウを移動させる処理を実行する（ステップＳ３３０５）。一方ユーザ操作が１つの手による操作か、またはウィンドウに表示されているのがスクロールするコンテンツである場合は（ステップＳ３３０４、Ｎｏ）、続いて情報処理システム１００は、操作対象のウィンドウの中に表示されているコンテンツをスクロールさせる処理を実行する（ステップＳ３３０６）。
【０５５７】
なおユーザによるウィンドウへのタッチ操作がウィンドウ内の操作でなかった場合は（ステップＳ３３０３、Ｎｏ）、続いて情報処理システム１００は、操作対象のウィンドウを移動させる処理を実行する（ステップＳ３３０５）。
【０５５８】
上記ステップＳ３３０２において、ユーザによるウィンドウへのタッチ操作が移動操作でなかった場合は（ステップＳ３３０２、Ｎｏ）、続いて情報処理システム１００は、続いてユーザによるウィンドウへのタッチ操作が回転操作かどうか判断する（ステップＳ３３０７）。
【０５５９】
ユーザによるウィンドウへのタッチ操作が回転操作であった場合は（ステップＳ３３０７、Ｙｅｓ）、続いて情報処理システム１００は、続いてユーザによるウィンドウへのタッチ操作がウィンドウ内の操作かどうか判断する（ステップＳ３３０８）。
【０５６０】
ユーザによるウィンドウへのタッチ操作がウィンドウ内の操作であった場合は（ステップＳ３３０８、Ｙｅｓ）、続いて情報処理システム１００は、そのユーザ操作が２つの手による操作か、またはウィンドウに表示されているのがウィンドウ内で回転しないコンテンツであるかどう判断する（ステップＳ３３０９）。
【０５６１】
ユーザ操作が２つの手による操作か、またはウィンドウに表示されているのがウィンドウ内で回転しないコンテンツである場合は（ステップＳ３３０９、Ｙｅｓ）、続いて情報処理システム１００は、操作対象のウィンドウを回転させる処理を実行する（ステップＳ３３１０）。一方ユーザ操作が１つの手による操作か、またはウィンドウに表示されているのがウィンドウ内で回転するコンテンツである場合は（ステップＳ３３０９、Ｎｏ）、続いて情報処理システム１００は、操作対象のウィンドウの中に表示されているコンテンツを回転させる処理を実行する（ステップＳ３３１１）。
【０５６２】
なおユーザによるウィンドウへのタッチ操作がウィンドウ内の操作でなかった場合は（ステップＳ３３０８、Ｎｏ）、続いて情報処理システム１００は、操作対象のウィンドウを回転させる処理を実行する（ステップＳ３３１０）。
【０５６３】
上記ステップＳ３３０７において、ユーザによるウィンドウへのタッチ操作が回転操作でなかった場合は（ステップＳ３３０７、Ｎｏ）、続いて情報処理システム１００は、続いてユーザによるウィンドウへのタッチ操作が拡縮操作かどうか判断する（ステップＳ３３０７）。
【０５６４】
ユーザによるウィンドウへのタッチ操作が拡縮操作であった場合は（ステップＳ３３１２、Ｙｅｓ）、続いて情報処理システム１００は、続いてユーザによるウィンドウへのタッチ操作がウィンドウ内の操作かどうか判断する（ステップＳ３３１３）。
【０５６５】
ユーザによるウィンドウへのタッチ操作がウィンドウ内の操作であった場合は（ステップＳ３３１３、Ｙｅｓ）、続いて情報処理システム１００は、そのユーザ操作が２つの手による操作か、またはウィンドウに表示されているのがウィンドウ内で拡縮しないコンテンツであるかどう判断する（ステップＳ３３１４）。
【０５６６】
ユーザ操作が２つの手による操作か、またはウィンドウに表示されているのがウィンドウ内で拡縮しないコンテンツである場合は（ステップＳ３３１４、Ｙｅｓ）、続いて情報処理システム１００は、操作対象のウィンドウを拡縮させる処理を実行する（ステップＳ３３１５）。一方ユーザ操作が１つの手による操作か、またはウィンドウに表示されているのがウィンドウ内で拡縮するコンテンツである場合は（ステップＳ３３１５、Ｎｏ）、続いて情報処理システム１００は、操作対象のウィンドウの中に表示されているコンテンツを拡縮させる処理を実行する（ステップＳ３３１６）。
【０５６７】
なおユーザによるウィンドウへのタッチ操作がウィンドウ内の操作でなかった場合は（ステップＳ３３１３、Ｎｏ）、続いて情報処理システム１００は、操作対象のウィンドウを拡縮させる処理を実行する（ステップＳ３３１５）。
【０５６８】
上記ステップＳ３３１２において、ユーザによるウィンドウへのタッチ操作が拡縮操作でなかった場合は（ステップＳ３３１２、Ｎｏ）、続いて情報処理システム１００は、ユーザ操作に対して、実行中のアプリケーションに応じて対応する（ステップＳ３３１７）。ユーザによるウィンドウへのタッチ操作が、移動、回転、拡縮でも無い場合の例としては、例えばユーザによるタップ操作等がある。ユーザによるタップ操作が行われると、情報処理システム１００は、タップ操作の対象となったコンテンツに対する処理（画像の表示、映像の再生、別のアプリケーションの起動等）を実行してもよい。
【０５６９】
なお、ユーザによる移動操作、回転操作、拡縮操作は、同時に行われ得る。その場合、情報処理システム１００は、例えば、ユーザによって行われている操作が、移動操作、回転操作、拡縮操作のどれに一番近いかを判断してもよい。
【０５７０】
以上、図１９６を用いて本開示の一実施形態にかかる情報処理システム１００の動作例について説明した。続いて、ユーザによるウィンドウに対する操作の具体例を挙げながら本開示の一実施形態にかかる情報処理システム１００の動作例についてより詳細に説明する。
【０５７１】
図１９７は、ユーザによるウィンドウに対する操作例を示す説明図であり、ウィンドウ内にスクロールしないコンテンツが表示されている場合の操作例である。ウィンドウ３３００にスクロールしないコンテンツが表示されている場合、ユーザが移動操作を行うと、情報処理システム１００は、そのウィンドウ３３００全体を移動させるように表示制御を行う。
【０５７２】
図１９８は、ユーザによるウィンドウに対する操作例を示す説明図であり、ウィンドウ内にスクロールしないコンテンツが表示されている場合の操作例である。ウィンドウ３３００にスクロールしないコンテンツが表示されている場合、ユーザが図１９８の（１）や（２）のように回転操作を行うと、情報処理システム１００は、そのウィンドウ３３００全体を回転させるように表示制御を行う。また、ウィンドウ３３００にスクロールしないコンテンツが表示されている場合、ユーザが図１９８の（３）や（４）のように拡縮操作を行うと、情報処理システム１００は、そのウィンドウ３３００全体を拡縮させるように表示制御を行う。
【０５７３】
図１９９は、ユーザによるウィンドウに対する操作例を示す説明図であり、ウィンドウ内にスクロールするコンテンツが表示されている場合の操作例である。ウィンドウ３３００にスクロールするコンテンツが表示されている場合、ユーザが図１９９の（１）や（２）のようにウィンドウ３３００の外枠に対して回転操作を行うと、情報処理システム１００は、そのウィンドウ３３００全体を回転させるように表示制御を行う。また、ウィンドウ３３００にスクロールするコンテンツが表示されている場合、ユーザが図１９９の（３）のように拡縮操作を行うと、情報処理システム１００は、そのウィンドウ３３００全体を拡縮させるように表示制御を行う。
【０５７４】
情報処理システム１００は、２つの指が同じ手であるのか違う手であるのかを検出することで、同じ回転や拡縮操作であってもウィンドウに対する表示制御か、コンテンツに対する表示制御かを区別してもよい。
【０５７５】
図２００は、ユーザによるウィンドウに対する操作例を示す説明図であり、ウィンドウ内にスクロールするコンテンツが表示されている場合の操作例を示した図である。ウィンドウ３３００にスクロールするコンテンツが表示されている場合、ユーザが図２００の（１）に示したように、１つの手で回転操作を行うと、情報処理システム１００は、そのコンテンツを回転させるように表示制御を行う。一方、ユーザが図２００の（２）に示したように、２つの手で回転操作を行うと、情報処理システム１００は、そのウィンドウ３３００全体を回転させるように表示制御を行う。
【０５７６】
同様に、ユーザが図２００の（１）に示したように、１つの手で拡縮操作を行うと、情報処理システム１００は、そのコンテンツを拡縮させるように表示制御を行う。一方、ユーザが図２００の（４）に示したように、２つの手で拡縮操作を行うと、情報処理システム１００は、そのウィンドウ３３００全体を拡縮させるように表示制御を行う。
【０５７７】
ウィンドウ内にスクロールしないコンテンツが表示されている場合、そのコンテンツを回転または拡縮させることで、そのコンテンツがウィンドウ内でスクロールするようになる場合がある。そのようなウィンドウを表示しうるアプリケーションとしては、例えばイラストを描画させるアプリケーションや地図を表示させるアプリケーション等がある。
【０５７８】
そのようなウィンドウの場合、情報処理システム１００は、回転や拡縮後のウィンドウに対して、コンテンツがスクロールするウィンドウの処理に移行してもよい。
【０５７９】
図２０１は、ユーザによるウィンドウに対する操作例を示す説明図である。図２０１の（１）は、ウィンドウ内にスクロールしないコンテンツが表示されている場合の操作例であり、ユーザによってコンテンツの拡大操作が行われる様子を示したものである。ウィンドウ内にスクロールしないコンテンツが表示されていた場合に、ユーザによってコンテンツの拡大操作が行われると、図２０１の（２）に示したように、スクロールの遊びが生じる。従って情報処理システム１００は、ウィンドウ内にスクロールしないコンテンツが表示されていた場合に、ユーザによってコンテンツの拡大操作が行われると、そのウィンドウはスクロールするコンテンツが表示されているものとして表示制御を行う。
【０５８０】
ウィンドウ内にスクロールしないコンテンツが表示されていた場合に、ユーザによってコンテンツの回転操作が行われると、図２０１の（３）に示したように、スクロールの遊びが生じる。従って情報処理システム１００は、ウィンドウ内にスクロールしないコンテンツが表示されていた場合に、ユーザによってコンテンツの回転操作が行われると、そのウィンドウはスクロールするコンテンツが表示されているものとして表示制御を行う。
【０５８１】
ウィンドウの回転操作の変形例を説明する。図２０２は、ユーザによるウィンドウに対する操作例を示す説明図である。図２０２の（１）は、ウィンドウの所定の位置をユーザがタッチして、そのまま移動させる操作を行なった場合の、情報処理システム１００によるウィンドウの表示制御例である。この場合、情報処理システム１００は、ウィンドウに対するタッチ位置は一定で、ユーザがウィンドウを引っ張る方向と、ウィンドウの中心からユーザのタッチ位置の方向との外積が０になるまでウィンドウを回転させるようにウィンドウを移動させる表示制御を行なっても良い。
【０５８２】
情報処理システム１００がこのような表示制御を行う際に、ユーザがウィンドウを１８０度回転させる場合を説明する。図２０２の（２）に示したように、まずユーザはウィンドウの右側（または左側）を右下（または左下方向）に引っ張って所定量回転させ、回転後のウィンドウの上側を右上（または左上方向）に引っ張って所定量回転させ、再度ウィンドウの右側（または左側）を右下（または左下方向）に引っ張って所定量回転させることで、ウィンドウを１８０度回転させることが出来る。
【０５８３】
次にスクロールするコンテンツが表示されているウィンドウに対するユーザ操作に応じた表示制御例を示す。図２０３は、ユーザによるウィンドウに対する操作例を示す説明図である。図２０３の（１）は、ウィンドウ３３００にスクロールするコンテンツが表示されている状態が示されている。
【０５８４】
この状態で、ユーザがウィンドウの内側に対して操作を行うと、情報処理システム１００は、図２０３の（２）に示したように、その操作をウィンドウに表示されているコンテンツに対して作用させる。例えばユーザがドラッグ操作を行うと、情報処理システム１００は、コンテンツがウィンドウ３３００の内側でスクロールするような表示制御を行い、ユーザがピンチ操作を行うと、情報処理システム１００は、コンテンツがウィンドウ３３００の内側で拡縮するような表示制御を行い、ユーザが回転操作を行うと、情報処理システム１００は、コンテンツがウィンドウ３３００の内側で回転するような表示制御を行う。
【０５８５】
一方、ユーザがウィンドウの縁に対して操作を行うと、情報処理システム１００は、図２０３の（３）に示したように、ウィンドウ３３００を操作させるウィンドウハンドルをウィンドウ３３００の周囲に表示させる。そしてウィンドウハンドルに対するユーザの移動操作を検出すると、情報処理システム１００は、ユーザの移動操作に応じてウィンドウ３３００を移動させるような表示制御を行う。
【０５８６】
図２０４は、ユーザによるウィンドウに対する操作例を示す説明図であり、ウィンドウ内にスクロールするコンテンツが表示されている場合の操作例を示した図である。図２０４の（１）は、ウィンドウにスクロールするコンテンツが表示されている状態で、ユーザがコンテンツに対して回転操作を実行した場合の、情報処理システム１００による表示制御例である。すなわちユーザが片手で回転操作を実行した場合、情報処理システム１００は、ユーザの回転操作に応じてウィンドウの内部のコンテンツを回転させるような表示制御を行う。
【０５８７】
図２０４の（２）は、ウィンドウにスクロールするコンテンツが表示されている状態で、ユーザがウィンドウに対して回転操作を実行した場合の、情報処理システム１００による表示制御例である。すなわちユーザが両手で回転操作を実行した場合、情報処理システム１００は、ユーザの回転操作に応じてウィンドウ全体を回転させるような表示制御を行う。
【０５８８】
図２０４の（３）は、ウィンドウにスクロールするコンテンツが表示されている状態で、ユーザがコンテンツに対して拡縮操作を実行した場合の、情報処理システム１００による表示制御例である。すなわちユーザが片手で拡縮操作を実行した場合、情報処理システム１００は、ユーザの拡縮操作に応じてウィンドウの内部のコンテンツを拡縮させるような表示制御を行う。
【０５８９】
図２０４の（４）は、ウィンドウにスクロールするコンテンツが表示されている状態で、ユーザがウィンドウに対して拡縮操作を実行した場合の、情報処理システム１００による表示制御例である。すなわちユーザが両手で拡縮操作を実行した場合、情報処理システム１００は、ユーザの拡縮操作に応じてウィンドウ全体を拡縮させるような表示制御を行う。
【０５９０】
次にユーザ操作に応じてウィンドウが回転する表示制御例を示す。図２０５はユーザによるウィンドウに対する操作例を示す説明図である。ユーザがウィンドウをタッチし、そのウィンドウを引っ張るような移動操作を行うと、情報処理システム１００は、ユーザによって引っ張られている方向に回転させた後に、ウィンドウを移動させるような表示制御を行なっても良い。ウィンドウの回転方向は、例えば指の入射方向であってもよく、ウィンドウの移動方向であっても良い。
【０５９１】
情報処理システム１００は、ウィンドウの周囲に外枠を設けて、その外枠に対するユーザの移動操作に応じてウィンドウを回転させながら移動させる表示制御を行なっても良い。図２０６はユーザによるウィンドウに対する操作例を示す説明図である。ユーザがウィンドウの外枠をタッチし、そのウィンドウを引っ張るような移動操作を行うと、情報処理システム１００は、ユーザによって引っ張られている方向に回転させた後に、ウィンドウを移動させるような表示制御を行なっても良い。
【０５９２】
情報処理システム１００は、ユーザの特殊なジェスチャによってウィンドウを回転させながら移動させる表示制御を行なっても良い。例えば情報処理システム１００は、コンテンツに対するタップ操作以外の操作はウィンドウに対する操作であるとして、ウィンドウに対する表示制御を行なっても良い。
【０５９３】
情報処理システム１００は、コンテンツがスクロールするウィンドウに対して、上述したように片手での操作はコンテンツに対する操作として、両手での操作はウィンドウに対する操作としてウィンドウに対する表示制御を行なっても良く、操作時に所定時間だけウィンドウの周囲に外枠を表示させて、その外枠に対する操作はウィンドウに対する操作としてウィンドウに対する表示制御を行なっても良い。
【０５９４】
次に、画面外にウィンドウが存在するような場合の処理の例について説明する。図２０７は、ユーザによるウィンドウに対する操作例を示す説明図である。ユーザが、例えば図２０７の（１）のように、ウィンドウ３３００に対して移動操作を行い、そのウィンドウ３３００を画面（表示領域）の外側へ移動させるような移動操作を行うと、情報処理システム１００は、図２０７の（２）のように、画面（表示領域）の外に出た量に応じた反力で画面（表示領域）の内側に戻ってくるような表示制御を行なっても良い。
【０５９５】
図２０８は、ユーザによるウィンドウに対する操作例を示す説明図である。上述した反力よりも強い勢いで、ユーザがウィンドウ３３００を画面（表示領域）の外側へ移動させるような移動操作を行い、ウィンドウ３３００が画面（表示領域）の外側へ所定量以上出した後にユーザが指をウィンドウ３３００から離すと、情報処理システム１００は、図２０８のように、ウィンドウ３３００を閉じたり、ウィンドウ３３００を最小化させたりするような表示制御を行なっても良い。
【０５９６】
また、上述した反力よりも強い勢いで、ユーザがウィンドウ３３００を抑えている指を画面（表示領域）の所定の領域に移動させるような移動操作を行った後にユーザが指をウィンドウ３３００から離すと、情報処理システム１００は、図２０８のように、ウィンドウ３３００を閉じたり、ウィンドウ３３００を最小化させたりするような表示制御を行なっても良い。
【０５９７】
図２０９は、ユーザによるウィンドウに対する操作例を示す説明図である。情報処理システム１００は、上述したようなユーザ操作に応じて最小化させたウィンドウ３３００は、そのウィンドウ３３００を画面の内側に移動させるようなユーザ操作に応じて元の大きさに戻すような表示制御を行なっても良い。
【０５９８】
情報処理システム１００は、ウィンドウの表示制御の際に慣性の法則を利用した表示制御を行なっても良い。図２１０は、ユーザによるウィンドウに対する操作例を示す説明図である。ユーザが、ウィンドウ３３００に対して指で勢いをつけて飛ばすような操作を行うと、情報処理システム１００はそのユーザ操作を検出してウィンドウ３３００を移動させるような表示制御を行なっても良い。そしてウィンドウ３３００がユーザによって飛ばされて画面の外に出た場合、出た量が所定値以下の場合は反力で画面内に戻るような表示制御を、出た量が所定値を超えた場合はウィンドウを最小化または消去するような表示制御を行なっても良い。
【０５９９】
図２１１は、ユーザによるウィンドウに対する操作例を示す説明図である。ユーザが、ウィンドウ３３００に対して指で勢いをつけて画面の外に飛ばすような操作を行うと、情報処理システム１００は、ユーザ操作に応じて、ウィンドウ３３００が画面の辺に沿うように回転するような表示制御を行なっても良い。
【０６００】
続いてウィンドウ同士が干渉するような場合の表示制御例を示す。図２１２は、ユーザによるウィンドウに対する操作例を示す説明図であり、複数のウィンドウが干渉する（重なる）場合の例を示したものである。
【０６０１】
２つのウィンドウが重なっている領域が所定量以下、または領域の割合が所定量の場合は、情報処理システム１００は、図２１２の（１）に示したように、特別な制御を行わずに単にウィンドウ同士を重ねあわせるような表示制御を行なっても良い。一方、２つのウィンドウが重なっている領域が、図２１２の（２）に示したように所定量を超えた場合、または領域の割合が所定量を超えた場合は、情報処理システム１００は特別な表示制御を行なっても良い。
【０６０２】
情報処理システム１００は、例えば図２１２の（３）及び（４）に示したように、各ウィンドウの中心同士で斥力が働いて、その斥力に基づいてウィンドウが自動的にアニメーション移動するような表示制御を行なっても良い。
【０６０３】
図２１３は、ユーザによるウィンドウに対する操作例を示す説明図であり、複数のウィンドウが干渉する（重なる）場合の例を示したものである。ユーザがウィンドウを移動させて別のウィンドウに重ならせた場合、情報処理システム１００は、図２１３の（１）に示すように、リアルタイムでその別のウィンドウが逃げていくようにアニメーション移動するような表示制御を行なっても良く、図２１３の（２）及び（３）に示すように、ユーザが指を話した時点で、その別のウィンドウが逃げていくようにアニメーション移動するような表示制御を行なっても良い。
【０６０４】
図２１４は、ユーザによるウィンドウに対する操作例を示す説明図であり、複数のウィンドウが干渉する（重なる）場合の例を示したものである。ユーザがウィンドウを移動させて別のウィンドウに重ならせた場合、情報処理システム１００は、図２１４に示すようにタブを表示させて、タブに対する操作に応じて前面に表示させるウィンドウを切り替えられるような表示制御を行なっても良い。
【０６０５】
ユーザがウィンドウを移動させて別のウィンドウに重ならせた場合にリアルタイムでその別のウィンドウが逃げていくようにアニメーション移動するような表示制御を行なう場合、その別のウィンドウが画面（表示領域）の端部に移動させられると、情報処理システム１００は、その別のウィンドウの大きさを小さくするような表示制御を行なっても良い。
【０６０６】
図２１５は、ユーザによるウィンドウに対する操作例を示す説明図であり、複数のウィンドウが干渉する（重なる）場合の例を示したものである。ユーザが移動操作しているウィンドウから逃げるように移動するウィンドウが画面（表示領域）の端部に移動させられると、情報処理システム１００は、図２１５に示したように、その別のウィンドウの大きさを小さくするような表示制御を行い、ユーザが移動操作しているウィンドウにさらに追いやられると、その別のウィンドウを最小化したり、消去したりするような表示制御を行ってもよい。
【０６０７】
なおこのようにユーザが移動操作しているウィンドウから逃げるように移動する他のウィンドウが画面（表示領域）の端部に移動させられる場合、情報処理システム１００は、ユーザが指を離した時点で当該他のウィンドウを最小化したり、消去したりするような表示制御を行ってもよい。またこのように移動する他のウィンドウが画面（表示領域）の端部に移動させられる場合、情報処理システム１００は、当該他のウィンドウ回転させるような表示制御を行ってもよい。
【０６０８】
図２１６は、ユーザによるウィンドウに対する操作例を示す説明図である。ユーザがウィンドウを操作する場合、情報処理システム１００は、図２１６に示したように、画面（表示領域）の各辺に沿うように自動的に回転するような表示制御を行なっても良い。
【０６０９】
また、ユーザの位置を情報処理システム１００で検出できる場合、情報処理システム１００は、そのユーザ位置に応じてウィンドウの動きを制御するようにしてもよい。図２１７は、ユーザによるウィンドウに対する操作例を示す説明図である。ユーザが画面（表示領域）に近づいた場合、情報処理システム１００は、図２１７に示したように、そのユーザの位置を検出して、ユーザから見て正面になるように自動的に回転するような表示制御を行なっても良い。なお、このように表示制御を行う場合、２人目以降のユーザが画面（表示領域）に近づいても、情報処理システム１００は、その新たなユーザの方には向かないような表示制御を行なっても良い。
【０６１０】
図２１８は、ユーザによるウィンドウに対する操作例を示す説明図である。ユーザが画面（表示領域）に近づいた場合、情報処理システム１００は、図２１８に示したように、そのユーザの位置を検出して、ユーザから見て正面になるように自動的に回転した上で、そのユーザに近づくような表示制御を行なっても良い。
【０６１１】
この際に情報処理システム１００は、画面（表示領域）に近づいたユーザに紐付いているウィンドウだけを、ユーザから見て正面になるように自動的に回転した上で、そのユーザに近づくような表示制御を行なっても良い。情報処理システム１００は、ウィンドウとユーザとが紐付けられているかどうかを、例えば元々ユーザとウィンドウとが紐付けられている設定になっているかどうかで判断してもよく、最後にそのウィンドウを触ったユーザかどうか判断してもよい。
【０６１２】
また、ユーザの位置を情報処理システム１００で検出できる場合、情報処理システム１００は、そのユーザ位置に応じてウィンドウの中に表示されるコンテンツの粒度を制御するようにしてもよい。図２１９は、ユーザによるウィンドウに対する操作例を示す説明図である。ユーザが画面（表示領域）に近づいた場合、情報処理システム１００は、図２１９に示したように、そのユーザの位置を検出して、そのユーザ位置に応じてウィンドウの中に表示されるコンテンツの粒度を制御するようにしてもよい。
【０６１３】
情報処理システム１００は、ウィンドウの中に表示されるコンテンツの粒度として、例えば画像サイズ、文字のフォントサイズ等を制御してもよい。すなわち、情報処理システム１００は、ユーザから近い位置にあるウィンドウでは画像サイズやフォントサイズを小さくし、ユーザから遠い位置にあるウィンドウでは画像サイズやフォントサイズを大きくするようにしてもよい。
【０６１４】
続いてウィンドウが投影面に置かれている実際の物体に干渉する場合の表示制御例を説明する。図２２０は、ウィンドウが投影面に置かれている実際の物体に干渉する場合の表示制御例を示す説明図である。図２２０の（１）に示したように、ウィンドウ３３００が投影面に置かれている実際の物体３３１０に干渉する場合、情報処理システム１００は、図２２０の（２）に示したように、ウィンドウ３３００の位置が、物体３３１０に干渉しない位置に自動的に移動するような表示制御を行なっても良い。
【０６１５】
ウィンドウ３３００の位置が、物体３３１０に干渉しない位置に自動的に移動するような表示制御を行う場合、情報処理システム１００は、図２２０の（３）、（４）に示したように、ウィンドウ３３００の中心位置と物体３３１０の中心位置との間で斥力が働くようにウィンドウ３３００の位置が移動するような表示制御を行ってもよい。
【０６１６】
［例４］
ここでは、情報処理システム１００と他の機器との間の連携、及びその連携の際に情報処理システム１００が出力するＧＵＩの例を説明する。
【０６１７】
上述したように、本開示の一実施形態に係る情報処理システム１００が、例えば図１に示したような、テーブルに情報を投影して、その情報に対してユーザに操作させるような形態を採る場合、情報処理システム１００は、テーブルの上にスマートフォン等の携帯端末との連携が可能になる。例えば、ユーザがテーブルの上にスマートフォン等の携帯端末を置き、その携帯端末を入力部１１０に認識させることで、本開示の一実施形態に係る情報処理システム１００は、その携帯端末を識別し、識別した携帯端末との連携を可能にする。
【０６１８】
しかし、複数のユーザが全く同じ携帯端末を所有しており、その同じ携帯端末を同時に、また別々にテーブルの上に置いて、情報処理システム１００に認識させようとすると、情報処理システム１００は、どちらの携帯端末に連携すれば良いか判断できなくなる。
【０６１９】
また、物体認識を利用せずに機器との連携を行う場合、情報処理システム１００と、連携する機器との位置関係の情報を利用できない。従って物体認識を利用せずに機器との連携を行う場合、どのような場所から情報処理システム１００と連携を開始したとしても、その機器は同じように扱われることになる。例えば、全方位から複数のユーザが同時に情報を利用し得る場合、共有される情報を全て同じ向きや同じ位置で表示すると、情報の向きと、ユーザの向きとが正反対になるケースが発生し、ユーザは情報の取り扱いが困難になってしまう。
【０６２０】
図２２１は、情報の表示例を示す説明図であり、全方位から複数のユーザが同時に情報を利用し得る場合、共有される情報を全て同じ向きや同じ位置で表示した場合の例を示す説明図である。共有される情報１、２、３を全て全て同じ向きで出力した場合、図２２１に示したように、情報の向きと、ユーザの向きとが正反対になるケースが発生し得る。
【０６２１】
そこで上述したように、複数のユーザが全く同じ携帯端末を所有しており、同じ携帯端末が同時に、また別々にテーブルの上に置かれた場合であっても、連携する携帯端末を容易に特定可能な情報処理システム１００について説明した。また、全方位から操作するユーザのそれぞれが使いやすい位置や向きに共有するコンテンツを表示可能な情報処理システム１００について説明した。
【０６２２】
本開示の一実施形態に係る情報処理システム１００は、例えば図３２、図３３に示したような動作を実行することで、テーブルの上に置かれたスマートフォン等の携帯端末との連携が可能になる。例えば、ユーザがテーブルの上にスマートフォン等の携帯端末を置き、その携帯端末を入力部１１０に認識させることで、本開示の一実施形態に係る情報処理システム１００は、その携帯端末を識別し、識別した携帯端末との連携を可能にする。
【０６２３】
また本開示の一実施形態に係る情報処理システム１００は、例えば図３２、図３３に示したような動作を実行することで、画面に接続マークを表示し、ユーザにその接続マークからコンテンツを取り出させることで、全方位から操作するユーザのそれぞれが使いやすい位置や向きに共有するコンテンツを表示可能にする。
【０６２４】
以下では、情報処理システム１００と、スマートフォン等の携帯端末との連携に際して情報処理システム１００が出力するＧＵＩの例を説明する。
【０６２５】
図２２２は、情報処理システム１００が出力するＧＵＩ３４００の例を示す説明図である。例えば図３２のステップＳ１１１１の処理で認識モードに移行すると、情報処理システム１００は、図２２２の（１）に示すように、画面（表示領域）の四隅から波紋が現れるようなＧＵＩ３４００を出力してもよい。この図２２２の（１）に示すＧＵＩ３４００は、画面（表示領域）のどこでも認識対象領域であることを示している。
【０６２６】
また認識モードに移行すると、情報処理システム１００は、図２２２の（２）に示すように、画面（表示領域）の一部分だけ波紋が現れるようなＧＵＩ３４００を出力してもよい。この図２２２の（２）に示すＧＵＩ３４００は、画面（表示領域）の波紋が現れている領域が認識対象領域であることを示している。
【０６２７】
また認識モードに移行すると、情報処理システム１００は、図２２２の（３）に示すように、端末を持った手が、その端末を置く映像を出力したり、模式化されたイラストアニメーションを再生したりするようなＧＵＩ３４００を出力してもよい。この図２２２の（３）に示すＧＵＩ３４００は、ユーザに対してどのような動作を行えば機器の認識が可能になるかを提示するためのＧＵＩである。
【０６２８】
図２２３は、情報処理システム１００が出力するＧＵＩ３４００の例を示す説明図である。例えば図３２のステップＳ１１１１の処理で認識モードに移行すると、情報処理システム１００は、図２２２で示したＧＵＩに加え、図２２３に示したように、所定の文言を加えて出力しても良い。そして情報処理システム１００は、物体の認識に成功すると、物体を認識できたことを示すＧＵＩ（例えば、図３４で示したような、認識した物体の周囲に波紋を表示させるようなＧＵＩ）を出力しても良い。
【０６２９】
情報処理システム１００は、物体を認識した後にその物体が退けられると、その物体との接続を示すためのＧＵＩを表示する。図３６には、情報処理システム１００が接続マークを表示面に表示している状態の例を示したが、その他の表示例を示す。図２２４は、情報処理システム１００が出力するＧＵＩ３４００の例を示す説明図である。
【０６３０】
図２２４の（１）は、認識した物体が退けられた後に、その物体が置かれていた場所と同じ場所に、認識のためのマーカと同じ画像を表示するＧＵＩ３４００の例である。図２２４の（２）は、認識した物体が退けられた後に、その物体が置かれていた場所と同じ場所に、認識のためのマーカがアイコン化されたＧＵＩ３４００の例である。図２２４の（２）は、認識した物体が退けられた後に、その物体が置かれていた場所と同じ場所に、認識のためのマーカがとは異なる画像が表示されたＧＵＩ３４００の例である。
【０６３１】
情報処理システム１００は、物体を認識した後にその物体が退けられると、その物体と連携した処理をユーザに実行させるためのＧＵＩを表示する。図３７には、情報処理システム１００が連携した機器が保存しているコンテンツを表示するＧＵＩの例を示したが、その他の表示例を示す。図２２５、図２２６は、他の機器と連携した後に情報処理システム１００が出力するＧＵＩ３４００の例を示す説明図である。
【０６３２】
図２２５の（１）は、認識のためのマーカと同じ画像の周囲にアイコンを表示させているＧＵＩ３４００の例である。図２２５の（２）は、認識のためのマーカと同じ画像の周囲に、情報処理システム１００が連携した機器が保存しているコンテンツのサムネイルを表示させているＧＵＩ３４００の例である。図２２５の（３）は、認識のためのマーカと同じ画像に、任意のウィンドウを表示させているＧＵＩ３４００の例である。
【０６３３】
図２２６の（１）は、認識のためのマーカと同じ画像に隣接して、連携した機器において共有するコンテンツを選択するようユーザに促すメッセージを表示するＧＵＩ３４００の例である。図２２６の（２）は、アイコン化された認識のためのマーカと、連携した機器が保存しているコンテンツのサムネイルとを組み合わせて表示させているＧＵＩ３４００の例である。
【０６３４】
もちろん情報処理システム１００は、図２２５、２２６に示したＧＵＩ３４００以外にも、様々なＧＵＩを出力可能であることは言うまでもない。
【０６３５】
続いて、連携した機器が保存しているコンテンツの操作性や視認性を向上させるためのＧＵＩの例を示す。図２２７は、他の機器と連携した後に情報処理システム１００が出力するＧＵＩ３４００の例を示す説明図である。
【０６３６】
例えば、既にテーブルの上に本、雑誌、食器その他の物体が置かれている場合、情報処理システム１００は、その置かれている物体を認識し、その物体を避けてアイコンやサムネイル等を出力してもよい。図２２７の（１）は、テーブルの上に置かれている物体を避けて、連携した機器が保持しているアイコンやサムネイル等を出力するＧＵＩ３４００の例である。
【０６３７】
情報処理システム１００は、他の機器と連携した後にその機器が有しているコンテンツを操作するためのＧＵＩを出力する場合、機器が置かれた場所に応じて連携した機器が保持しているアイコンやサムネイル等を出力するＧＵＩを変化させても良い。図２２７の（２）は、機器が置かれた場所に応じて連携した機器が保持しているアイコンやサムネイル等を出力するＧＵＩ３４００を変化させた例である。
【０６３８】
情報処理システム１００は、例えば、通常は認識のためのマーカと同じ画像の右側に、コンテンツを表示する任意のウィンドウを表示させるが、機器が表示領域の右端に置かれた場合は、認識のためのマーカと同じ画像の左側に、コンテンツを表示する任意のウィンドウを表示させる。情報処理システム１００は、このように機器が置かれた場所に応じてＧＵＩを変化させることで、ユーザの操作性を向上させることが出来る。
【０６３９】
続いて、物体認識の終了タイミングに関するＧＵＩの例を示す。図２２８は、他の機器を認識した後に情報処理システム１００が出力するＧＵＩ３４００の例を示す説明図である。
【０６４０】
テーブルなどの上に置かれた物体を認識した情報処理システム１００は、認識直後からウィンドウのようなＧＵＩを出力しても良い。図２２８の（１）は、テーブルなどの上に置かれた物体を認識した情報処理システム１００が、認識直後からウィンドウを出力するＧＵＩ３４００の例である。情報処理システム１００は、図２２８の（１）のように認識直後からウィンドウを出力する場合、ユーザが物体の位置を移動させると、その移動に追従して出力するウィンドウの位置を変化させても良い。
【０６４１】
テーブルなどの上に置かれた物体を認識した情報処理システム１００は、その物体がテーブルの上に置かれている間は認識処理を継続してもよい。図２２８の（２）は、テーブルなどの上に置かれた物体を認識した情報処理システム１００が、その物体がテーブルの上に置かれている間、認識処理を継続し続けている場合のＧＵＩ３４００の例である。情報処理システム１００は、物体がテーブルの上に置かれている間は認識処理を継続して、物体がテーブルから退けられると、認識処理を停止し、認識した物体に応じたウィンドウ等を出力しても良い。
【０６４２】
機器から取り出して共有するコンテンツそのものの操作時には、物体を認識する処理は不要であるので、物体を認識する処理の計算コストの低減のために、情報処理システム１００は、物体がテーブルから退けられると、認識処理を停止してもよい。
【０６４３】
テーブルなどの上に置かれた物体を認識した情報処理システム１００は、物体を認識した時点で認識処理を停止し、認識した物体に応じたウィンドウ等を出力しても良い。図２２８の（３）は、テーブルなどの上に置かれた物体を認識した情報処理システム１００が、体を認識した時点で認識処理を停止し、認識した物体に応じたウィンドウ等を出力する場合のＧＵＩ３４００の例である。
【０６４４】
テーブルなどの上に置かれた物体を認識した情報処理システム１００が、体を認識した時点で認識処理を停止することで、物体を認識する処理の計算コストを大きく低減させることが可能になる。
【０６４５】
続いて連携した機器との接続を解除するためのＧＵＩの例を示す。図２２９は、他の機器を認識した後に、連携した機器との接続を解除するために情報処理システム１００が出力するＧＵＩ３４００の例を示す説明図である。
【０６４６】
図２２９の（１）は、連携した機器との接続をユーザに解除させるため、認識のためのマーカと同じ画像（接続マーク）に重畳して、または接続マークの周辺に、連携した機器との接続を解除するためのボタンを表示したＧＵＩ３４００の例である。ユーザは、接続を解除するためのボタンに触れることで、情報処理システム１００と、機器との接続を情報処理システム１００に解除させることができる。
【０６４７】
図２２９の（２）は、連携した機器との接続をユーザに解除させるため、認識のためのマーカと同じ画像（接続マーク）を画面（表示領域）の外へユーザに移動させるＧＵＩ３４００の例である。ユーザは、接続マークを画面外に移動させることで、情報処理システム１００と、機器との接続を情報処理システム１００に解除させることができる。
【０６４８】
図２２９の（３）は、連携した機器との接続をユーザに解除させるため、連携した機器から接続を解除する場合のＧＵＩ３４００の例である。ユーザは、連携した機器から接続を解除するための所定の操作を実行することで、情報処理システム１００と、機器との接続を情報処理システム１００に解除させることができる。
【０６４９】
図２２９に示したいずれのＧＵＩ３４００においても、情報処理システム１００と、機器との接続が解除されると、情報処理システム１００は、表示していた接続マークを消去する。情報処理システム１００は、表示していた接続マークを消去することで、情報処理システム１００と、機器との接続が解除されたことをユーザにわかりやすく提示することが可能になる。
【０６５０】
もちろん、情報処理システム１００と携帯端末との連携に際して情報処理システム１００が出力するＧＵＩは、上述してきたものに限定されるものではない。
【０６５１】
［例５］
本例は、上記説明した具体例２に関する実施例である。より具体的には、本例では特に音声に着目し、音声入出力をユーザに最適化するための表示を行う。以下では、プロジェクション型の情報処理システム１００ａを想定して説明するが、図１〜図４を参照して説明したどのタイプでも、以下に説明する例に係るＵＩを実現可能である。図２３０〜図２６５を参照して、本例について説明する。
【０６５２】
（概要）
図２３０及び図２３１は、本例に係るユーザインタフェースの概要を説明するための説明図である。図２３０に示すように、テーブル１４０ａ（表示面）には、複数のアプリケーションウィンドウ４１０１（表示オブジェクト）と、マイクアイコン４１０２が表示されている。アプリケーションウィンドウ４１０１は、アプリケーションのウィンドウである。マイクアイコン４１０２は、情報処理システム１００により音声入力が受け付けられていることを示す表示である。マイクアイコン４１０２そのもの、又はその周囲には、情報処理システム１００により受け付けられた音声入力に関する情報が反映された表示がなされ得る。図２３０に示した例では、情報処理システム１００の周囲に、音声を発するディスプレイ装置４１０３、及び会話する人々４１０４が存在している。このため、ユーザ４１０５が発した「ＡＢＣ」という音声は、周囲の雑音に埋もれてしまい、情報処理システム１００に認識されない。よって、情報処理システム１００は、マイクアイコン４１０２から「聞き取れません」という表示を行っている。
【０６５３】
そこで、図２３１に示すように、本例に係る情報処理システム１００は、ビームフォーミングを行ってマイクに指向性を持たせる。詳しくは、情報処理システム１００は、マイクアレイに入力された音声に、ユーザ方向の音を強調して取り出す音声処理を行うことで、音声認識の精度を向上させる。ここで、マイクアイコン４１０２の真上又はその付近にマイクが設けられているとすると、符号４１０６は、マイクがビームフォーミングを行って形成する指向性の範囲を示している。つまり、符号４１０６に示した範囲内でユーザ４１０５が発話した場合、情報処理システム１００は精度よく音声認識を行うことが可能となる。図２３１に示した例では、情報処理システム１００は、符号４１０６に示した範囲内でユーザ４１０５が発話した「ＡＢＣ」という音声を認識して、マイクアイコン４１０２に「ＡＢＣ」という表示を行っている。符号４１０６に示した範囲を、以下ではビームフォーミング範囲とも称する。
【０６５４】
なお、マイクアイコン４１０２は、マイクの真下又はその付近に表示されてもよいし、画面又はテーブル１４０ａの中央、その付近、又は任意の位置に表示されてもよい。また、以下ではマイクアイコン４１０２を中心点としてビームフォーミング範囲や音量等の各種表示を行う例を説明するが、本例はかかる例に限定されない。例えば、マイクアイコン４１０２以外の表示が中心点となってもよいし、中心点としての意味を有するオブジェクトが何ら表示されてなくてもよい。例えば、単にテーブル１４０ａの任意の位置を中心として各種表示がなされてもよいし、マイクの真下又はその付近の位置を中心として各種表示がなされてもよい。
【０６５５】
さらに、本例に係る情報処理システム１００は、このビームフォーミング範囲を示す情報を表示する。これにより、ユーザは、音声入力に関するビームフォーミングが行われていることを知ることができる。例えば、ビームフォーミング範囲にユーザが位置している場合、ユーザは、周囲の雑音に埋もれないように大声を上げる等の必要が無いことを知ることができる。これにより、ユーザの心理的負荷が軽減され、また実際に大声を上げずに済むので肉体的負荷が軽減される。また、ビームフォーミング範囲にユーザが位置していない場合、ユーザは、なぜ自身の発話が音声認識されないかを知ることができるので、ユーザの心理的負荷が軽減される。さらに、ユーザは、ビームフォーミング範囲内に移動することができる。この場合、情報処理システム１００による音声認識精度が向上する。
【０６５６】
なお、本節では音声入力に関して詳細に説明するが、音声出力等の他の任意の出力に関しても、同様の応用がなされてもよい。例えば、情報処理システム１００は、スピーカがビームフォーミングを行って音声出力する範囲を示す情報を表示してもよい。この場合、ユーザは、音声出力に関するビームフォーミングが行われていることを知ることができ、適切な音量調節や、ビームフォーミング範囲に移動することができる。また、音声入力以外の他の任意の入力に関しても、同様の応用がなされてもよい。
【０６５７】
以上、本例に係る情報処理システム１００の概要を説明した。続いて、本例に係る情報処理システム１００に特徴的な構成を説明する。
【０６５８】
（構成例）
（１）入力部１１０
本例に係る入力部１１０は、音声入力部としての機能を有する。例えば、入力部１１０の音声入力部としての機能は、マイク（マイクロホン）により実現される。特に、本例では、ビームフォーミングが可能なマイクとして、例えば複数のマイクを組み合わせたマイクアレイとして実現される。入力部１１０は、マイクロホンで得られた音声信号を増幅処理するマイクアンプ回路やＡ／Ｄ変換器、音声データに対してノイズ除去、音源分離等の処理を行う信号処理回路を有していてもよい。入力部１１０は、処理した音声データを制御部１２０へ出力する。
【０６５９】
（２）検出部１２１
本例に係る検出部１２１は、音声入力部として機能するマイクの指向性を制御する、入力制御部としての機能を有する。例えば、検出部１２１は、図７７及び図７８を参照して上記説明したように、複数のマイクを組み合わせたマイクアレイを用いて、指向性を制御する。
【０６６０】
また、検出部１２１は、音声入力を行うユーザの位置を推定する、ユーザ位置推定機能を有する。検出部１２１は、多様な手段でユーザの位置を推定し得る。以下では、図２３２〜図２３７を参照して、ユーザ位置推定機能の一例を説明する。
【０６６１】
図２３２は、本例に係るユーザ位置推定機能の一例を説明するための説明図である。図２３２に示すように、入力部１１０は、テーブル１４０ａよりも広い撮像領域４１０７を、監視対象として撮像している。テーブル１４０ａには、音声入力開始を指示するための音声入力開始オブジェクト４１０８が表示されている。まず、検出部１２１は、撮像領域４１０７の撮像画像に基づいて、音声入力開始オブジェクト４１０８をタッチしたユーザ４１０５を特定する。そして、検出部１２１は、特定したユーザの位置４１０９を推定する。
【０６６２】
図２３３は、本例に係るユーザ位置推定機能の一例を説明するための説明図である。図２３３の左図に示すように、入力部１１０は、音声入力開始オブジェクト４１０８をタッチしたユーザの腕の、肘から指先の部分を含む領域を、撮像領域４１０７としている。まず、検出部１２１は、音声入力開始オブジェクト４１０８へのタッチを検出した時点での撮像領域４１０７の撮像画像から、タッチした指又は腕の方向４１１０を検出する。そして、図２３３の右図に示すように、検出部１２１は、タッチした指又は腕の方向４１１０の延長線上であって、所定距離４１１１離れた位置として、ユーザ位置４１０９を推定する。本処理は、例えば撮像領域４１０７がテーブル１４０ａ上に限られる場合に用いられ得る。
【０６６３】
図２３４は、本例に係るユーザ位置推定機能の一例を説明するための説明図である。図２３４の左図に示すように、入力部１１０は、音声入力開始オブジェクト４１０８をタッチしたユーザの腕を含む領域であって、テーブル１４０ａ上の領域を撮像領域４１０７としている。まず、検出部１２１は、音声入力開始オブジェクト４１０８へのタッチを検出した時点での撮像領域４１０７の撮像画像から、タッチした腕の形状を検出する。そして、検出部１２１は、検出した腕の形状を、腕の向きと顔の位置との関係を示すモデル４１１２に照合することで、顔の位置を推定する。このようにして、図２３４の右図に示すように、検出部１２１は、ユーザの顔の位置をユーザ位置４１０９として推定する。本処理は、例えば撮像領域４１０７がテーブル１４０ａ上に限られる場合に用いられ得る。
【０６６４】
図２３５は、本例に係るユーザ位置推定機能の一例を説明するための説明図である。図２３５の左図に示すように、検出部１２１は、音声入力開始オブジェクト４１０８へのタッチを検出して、マイクアイコン４１０２からタッチ点への方向４１１３を検出する。そして、図２３５の右図に示すように、検出部１２１は、マイクアイコン４１０２からタッチ点への方向４１１３の延長線上にユーザが位置すると推定する。本処理は、例えば撮像領域４１０７がない、又は撮像領域４１０７においてユーザが検出されない場合に用いられ得る。
【０６６５】
上記では、検出部１２１は、音声入力開始オブジェクト４１０８へのタッチを契機としてユーザ位置を推定したが、本機能はかかる例に限定されない。以下では、図２３６〜図２３７を参照して、ユーザ位置推定機能の他の一例を説明する。
【０６６６】
図２３６は、本例に係るユーザ位置推定機能の一例を説明するための説明図である。図２３６に示すように、検出部１２１は、音声入力開始を指示するユーザのジェスチャを検出する。ジェスチャとしては、例えば円を描く、指を開く等が考えられる。そして、検出部１２１は、図２３５を参照して上記説明した技術と同様に、マイクアイコン４１０２からユーザのジェスチャが検出された位置への方向４１１４の延長線上にユーザが位置すると推定する。他にも、検出部１２１は、ユーザのジェスチャを契機として、図２３２〜図２３４を参照して上記説明した技術と同様にしてユーザ位置を推定してもよい。
【０６６７】
図２３７は、本例に係るユーザ位置推定機能の一例を説明するための説明図である。図２３７に示すように、検出部１２１は、音声入力開始を指示するユーザの音声を検出する。検出部１２１は、例えば予め定められたキーワードを、音声入力開始を指示する音声として検出し得る。そして、検出部１２１は、図２３５を参照して上記説明した技術と同様に、マイクアイコン４１０２からユーザの音声が検出された方向４１１５の延長線上にユーザが位置すると推定する。他にも、検出部１２１は、ユーザ音声の検出を契機として、図２３２〜図２３４を参照して上記説明した技術と同様にしてユーザ位置を推定してもよい。
【０６６８】
他にも、例えば、検出部１２１は、ユーザが音声入力開始オブジェクト４１０８を手元に引き寄せたことを契機としてユーザ位置を推定してもよい。この場合、検出部１２１は、引き寄せられた位置の付近、又はマイクアイコン４１０２から音声入力開始オブジェクト４１０８への方向の延長線上にユーザが位置すると推定し得る。
【０６６９】
以上、ユーザ位置推定機能の一例を説明した。
【０６７０】
検出部１２１は、推定したユーザ位置をビームフォーミング範囲に含むように、音声入力部を制御して指向性を形成する。検出部１２１は、複数のビームフォーミング範囲を形成するよう音声入力部を制御してもよい。例えば、複数のユーザごとにビームフォーミング範囲が形成される場合、各ユーザからの音声入力に関する音声認識精度を向上させることができる。
【０６７１】
検出部１２１は、ユーザの位置の推定結果の更新に応じて、形成する指向性の範囲を更新してもよい。例えば、検出部１２１は、ユーザが移動した場合にビームフォーミング範囲をユーザに追随させる。他にも、検出部１２１は、ユーザの位置の推定結果が安定する場合、ユーザが同一の位置に留まっており且つ推定結果が正しいと予測されるので、ビームフォーミング範囲を狭めてもよい。これらの場合、音声認識精度が向上し得る。また、検出部１２１は、ユーザ入力に基づいて音声入力部の指向性の範囲を変更してもよい。例えば、検出部１２１は、ユーザ入力に応じて、音声入力部が形成する指向性の範囲を上下左右に移動させたり、広げたり、狭めたりする。
【０６７２】
（３）出力制御部１２２
本例に係る出力制御部１２２は、音声入力部がビームフォーミングを行って形成する指向性の範囲（ビームフォーミング範囲）を示す表示を制御する表示制御部としての機能を有する。具体的には、出力制御部１２２は、音声入力部のビームフォーミング範囲を示す情報を表示するよう、出力部１３０を制御する。この表示は、検出部１２１により形成される指向性の範囲と同一であってもよいし、異なっていてもよい。例えば、出力制御部１２２は、検出部１２１により形成される指向性の範囲を、誇張、簡略化、又は拡縮等して変形した範囲を示す表示を行ってもよい。なお、出力制御部１２２は、音声出力部又は他の任意の入力部若しくは出力部のビームフォーミング範囲を示す表示を制御してもよい。また、出力制御部１２２は、表示以外にも、ビームフォーミング範囲を示す他の任意の出力を制御してもよい。以下、図２３８を参照して、ビームフォーミング範囲を示す表示の具体例について説明する。
【０６７３】
図２３８は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２３８に示すように、出力制御部１２２は、ビームフォーミング範囲を示す表示４１２０を表示する。この表示により、ユーザは、音声入力に関するビームフォーミングが行われていることを知ることができ、上述したようにユーザの心理的負荷及び肉体的負荷が軽減される。また、ビームフォーミング範囲を示す表示４１２０は、マイクアイコン４１０２を中心とする扇形である。ユーザ側からこの扇形を見ると、マイクアイコン４１０２に向かってビームフォーミング範囲が収束している。このため、自然とユーザはマイクアイコン４１０２に向かって発話するよう促され、マイクがマイクアイコン４１０２の真上又はその付近に設けられる場合には、音声認識の精度が向上する。ここで、ビームフォーミング範囲を示す表示４１２０は、マイクアイコン４１０２を中心とした３６０度方向の任意の範囲に表示される。これにより、ユーザがテーブル１４０ａの周囲のどの位置にいたとしても、マイクアイコン４１０２に向かって発話することとなる。マイクがマイクアイコン４１０２の真上又はその付近に設けられる場合、ユーザは、テーブル１４０ａの周囲のどの位置にいたとしてもマイクに向かって発話することとなり、音声認識の精度が向上する。
【０６７４】
出力制御部１２２は、検出部１２１により推定されたユーザの位置を、ビームフォーミング範囲を示す表示の位置又は形状の少なくともいずれかに反映させてもよい。例えば、出力制御部１２２は、推定されたユーザ位置の付近にビームフォーミング範囲を示す表示を行ってもよいし、推定されたユーザ位置に向かって広がる又は狭まる形状でビームフォーミング範囲を示す表示を行ってもよい。以下、図２３９〜図２４０を参照して、本例に係るユーザ位置に応じたユーザインタフェースの一例を説明する。
【０６７５】
図２３９は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２３９の左図に示すように、ユーザが音声入力開始オブジェクト４１０８をタッチすると、検出部１２１は、上述したいずれかの処理を用いてユーザ位置４１０９を検出する。そして、図２３９の右図に示すように、出力制御部１２２は、マイクアイコン４１０２と推定したユーザ位置４１０９とを結ぶ線の左右に広がる、扇形状のビームフォーミング範囲を示す表示４１２０を表示する。このような、ユーザ位置が反映されたビームフォーミング範囲を示す表示により、ユーザは、自身を対象としたビームフォーミングが行われていることを知ることができる。例えば、ビームフォーミング範囲が自身の位置に適合している場合、上述したようにユーザの心理的負荷及び肉体的負荷が軽減される。
【０６７６】
図２４０は、本例に係るユーザインタフェースの一例を説明するための説明図である。符号４１０５Ａは、音声入力が開始された当初のユーザ位置を示し、符号４１０５Ｂは、移動後のユーザ位置を示している。図２４０に示すように、音声入力が開始された当初の位置（４１０５Ａ）が、ビームフォーミング範囲を示す表示４１２０からずれている場合、ユーザは、自然とずれを解消する位置（４１０５Ｂ）に移動するよう促される。これにより、ユーザが、マイクが形成する指向性の範囲内に移動すれば、情報処理システム１００による音声認識精度が向上する。
【０６７７】
ビームフォーミング範囲を示すＵＩは多様に考えられる。ＵＩのバリエーションについては、後に詳しく説明する。
【０６７８】
出力制御部１２２は、音声入力部により得られた音声の音量を示す表示を制御してもよい。これにより、ユーザは、音声入力されている自身の音量を知ることができる上に、周囲の雑音の音量との比較を行うことができる。以下、図２４１を参照して、本例に係る音量を示すユーザインタフェースの一例を説明する。
【０６７９】
図２４１は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２４１を示した例では、情報処理システム１００は、マイクアイコン４１０２の周囲に円弧状に広がる音量レベルにより、音量を示す表示４１３０を表示している。この表示により、ユーザは、各方向からの音量を知ることができる。
【０６８０】
出力制御部１２２は、指向性の範囲を示す情報及び音量を示す情報を同時に表示させてもよい。例えば、出力制御部１２２は、ビームフォーミング範囲を示す表示と音量を示す表示とを、同一表示面上で同時に表示させてもよい。以下、図２４２を参照して、ビームフォーミング範囲を示す表示及び音量を示す表示が同時に表示される場合のユーザインタフェースの一例を説明する。
【０６８１】
図２４２は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２４２に示した例では、情報処理システム１００は、ビームフォーミング範囲を示す表示４１２０と音量を示す表示４１３０とを同時に行っている。なお、本例では、音量を示す表示４１３０は、音量レベルに応じて表示色が変化する。
【０６８２】
出力制御部１２２は、指向性の範囲内で得られた音声の音量を示す情報と指向性の範囲外で得られた音声の音量を示す情報とを、表示方法を区別して表示させてもよい。例えば、出力制御部１２２は、音量を示す表示に、ビームフォーミング範囲内／範囲外を示す情報を反映させてもよい。具合的には、出力制御部１２２は、ビームフォーミング範囲内から得られた音声の音量か範囲外から得られた音声の音量かで、色合い、濃淡、立体表示した際の高低、又は破線か実線か、といった表示方法を分けて音量を示す表示を行う。逆の観点から言えば、出力制御部１２２は、ビームフォーミング範囲を示す表示に、音量を示す情報を反映させてもよい。このように、出力制御部１２２は、ビームフォーミング範囲という位置範囲を示す２次元の表示に、音量という軸を追加した３次元的な表示を行うことができる。この場合、１つの表示で、ビームフォーミング範囲及び音量の２つの意味を表現することが可能となるので、表示面上の表示領域が節約されると共に、ユーザの理解がより容易になる。
【０６８３】
ビームフォーミング範囲を示す表示と音量を示す表示とを同時に行うＵＩは多様に考えられる。ＵＩのバリエーションについては、後に詳しく説明する。
【０６８４】
出力制御部１２２は、音声入力部により取得された音声に基づく音声認識結果を示す情報を表示させてもよい。例えば、出力制御部１２２は、音声入力部により取得された音声に基づいて、ブラウザ等のアプリケーションを起動してもよいし、検索語の入力等のアプリケーションへの音声入力を行ってもよい。以下、図２４３を参照して、音声認識結果を示す表示に係るユーザインタフェースの一例を説明する。
【０６８５】
図２４３は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２４３に示した例では、出力制御部１２２は、ユーザによる音声入力に応じたアプリケーションウィンドウ４１０１を起動している。他にも、図２３０又は図２３１に示したように、出力制御部１２２は、音声入力の成功／失敗を示す情報、又は音声入力された文言をテキスト表示してもよい。
【０６８６】
出力制御部１２２は、ビームフォーミング範囲を示す表示を複数表示してもよいし、ビームフォーミング範囲を示す表示を動的に変更してもよい。例えば、出力制御部１２２は、検出部１２１により複数のビームフォーミング範囲が形成された場合、それに応じてビームフォーミング範囲を示す表示を複数表示する。また、出力制御部１２２は、検出部１２１により動的にビームフォーミング範囲が変更された場合、それに応じてビームフォーミング範囲を変更し得る。ＵＩのバリエーションについては、後に詳しく説明する。
【０６８７】
（４）出力部１３０
本例に係る出力部１３０は、画像を表示する表示部としての機能を有する。例えば、出力部１３０は、図１〜図４に示したように、テーブル１４０ａの上部又は下部からテーブル１４０ａに向けて投影するプロジェクタ、タッチパネル式又はフラットパネル式のディスプレイにより実現される。他にも、出力部１３０は、スピーカ等の音声出力部としての機能を有していてもよい。
【０６８８】
以上、本例に特徴的な情報処理システム１００の構成例について説明した。
【０６８９】
（ＵＩのバリエーション）
・ビームフォーミング範囲を示す表示
以下では、本例に係るＵＩのバリエーションについて説明する。まず、図２４４〜図２４８を参照して、ビームフォーミング範囲を示す表示に係るユーザインタフェースのバリエーションについて説明する。
【０６９０】
図２４４は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２４４では、ビームフォーミング範囲を示す表示４１２０が、扇形状に表示されている。
【０６９１】
図２４５は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２４５では、ビームフォーミング範囲を示す表示４１２０が、矢印で表示されている。この表示では、音声入力部が形成する指向性の方向が、矢印の向きで表されている。
【０６９２】
図２４６は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２４６では、ビームフォーミング範囲を示す表示４１２０が、色合いで表現されている。より詳しくは、マイクアイコンの周囲に表示された環状のオブジェクトが表示されており、この環状のオブジェクトのうちビームフォーミング範囲に対応する箇所４１２０が、他とは異なる色で表示されている。
【０６９３】
図２４７は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２４７では、マイクアイコンと共に、音声認識結果を示す吹き出しが表示されている。この例では、マイクアイコン及び吹き出しが、ビームフォーミング範囲を示す表示４１２０として機能する。例えば、マイクアイコン及び吹き出しを示す表示４１２０が、マイクの指向性が向く方向に移動する。よって、マイクアイコン及び吹き出しを示す表示４１２０の表示位置によって、ビームフォーミング範囲が表現される。出力制御部１２２は、ユーザ位置とマイクアイコン及び吹き出しを示す表示４１２０とを結ぶ線の延長線上にマイクが位置するように表示位置を制御することで、音声認識精度を向上させることができる。
【０６９４】
図２４８は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２４８に示した例は、図２４７に示した例から、マイクアイコンの表示を省略した例である。
【０６９５】
以上、ビームフォーミング範囲を示す表示に係るユーザインタフェースのバリエーションについて説明した。
【０６９６】
・ビームフォーミング範囲及び音量を示す表示
続いて、図２４９〜図２５３を参照して、ビームフォーミング範囲を示す表示及び音量を示す表示の同時表示に係るユーザインタフェースのバリエーションについて説明する。
【０６９７】
図２４９は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２４９に示した例では、マイクアイコン４１０２の周囲に円弧状に広がる音量レベルにより、音量を示す表示がなされている。また、図２４９に示した例では、音声認識可能な大きさに達した音量レベルの色合いにより、ビームフォーミング範囲が表現されている。例えば、符号４１４０Ａは、ビームフォーミング範囲から取得された、即ち音声認識対象のユーザから取得された音量を表している。また、符号４１４０Ｂは、ビームフォーミング範囲以外から取得された、即ち音声認識対象外の他のユーザ等から取得された雑音の音量を表している。このように、情報処理システム１００は、ビームフォーミング範囲を示す表示及び音量を示す表示を、同時に表示させることができる。
【０６９８】
図２５０は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２５０では、図２４９に示した例に、さらにビームフォーミング範囲を示す表示４１２０が重畳的に表示されている。この例によれば、ユーザは、ビームフォーミング範囲をより簡易に知ることができる。
【０６９９】
図２５１は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２５１に示した例では、表示面の端部の内側に、ビームフォーミング範囲及び音量を示す表示４１４０（４１４０Ａ及び４１４０Ｂ）が表示されている。この表示４１４０では、端部からの高さにより音量が表されている。また、この表示４１４０では、色合いによりビームフォーミング範囲が表現されている。例えば、符号４１４０Ａは、ビームフォーミング範囲から取得された、即ち音声認識対象のユーザから取得された音量を表している。また、符号４１４０Ｂは、ビームフォーミング範囲以外から取得された、即ち音声認識対象外の他のユーザ等から取得された雑音の音量を表している。
【０７００】
図２５２は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２５２に示した例は、図２４８に示した吹き出しを示す表示４１２０の中で、図２５１に示した表示を行う形態である。
【０７０１】
図２５３は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２５３に示した例では、マイクアイコンの周囲に、図２５１に示した例と同様のビームフォーミング範囲及び音量を示す表示４１４０が表示されている。この表示４１４０では、マイクアイコンからの高さにより音量が表されている。また、この表示４１４０では、色合いによりビームフォーミング範囲が表現されている。
【０７０２】
以上、ビームフォーミング範囲を示す表示及び音量を示す表示の同時表示に係るユーザインタフェースのバリエーションについて説明した。
【０７０３】
・複数のビームフォーミング範囲を示す表示
続いて、図２５４〜図２６１を参照して、ビームフォーミング範囲を示す表示の複数表示に係るユーザインタフェースのバリエーションについて説明する。
【０７０４】
図２５４は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２５４に示すように、音声入力を行うユーザがテーブル１４０ａの周辺に複数存在し得る。この場合、検出部１２１は、各ユーザをそれぞれビームフォーミング範囲に含むように、音声入力部を制御して複数の指向性を形成する。出力制御部１２２は、ビームフォーミングが複数なされる場合に、指向性の範囲を示す表示を複数表示してもよい。例えば、出力制御部１２２は、複数形成された指向性の範囲にそれぞれ対応する、ビームフォーミング範囲を示す表示を複数表示する。図２５４に示した例では、ユーザ４１０５Ａへのビームフォーミング範囲を示す表示４１２０Ａ、及びユーザ４１０５Ｂへのビームフォーミング範囲を示す表示４１２０Ｂが表示されている。また、図２５４に示した例では、音声入力を受け付けるアプリケーションが複数あり、それぞれ異なるビームフォーミング範囲からユーザの音声入力を受け付けている。詳しくは、ユーザ４１０５Ａの音声認識結果は、アプリケーションウィンドウ４１０１Ａへの入力となり、ユーザ４１０５Ｂの音声認識結果は、アプリケーションウィンドウ４１０１Ｂへの入力となる。
【０７０５】
図２５５は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２５５に示すように、出力制御部１２２は、ユーザ４１０５Ａへのビームフォーミング範囲を示す表示４１２０Ａ、及びユーザ４１０５Ｂへのビームフォーミング範囲を示す表示４１２０Ｂを表示している。図２５５に示した例では、ひとつのアプリケーションが複数のビームフォーミング範囲から取得された音声入力を受け付けている。詳しくは、ユーザ４１０５Ａ及び４１０５Ｂ音声認識結果は、アプリケーションウィンドウ４１０１への入力となる。
【０７０６】
図２５６は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２５６に示すように、複数のビームフォーミング範囲を示す表示は重複し得る。この場合、複数のユーザ音声が混じって情報処理システム１００に入力され得るので、誤動作が生じる可能性がある。このため、出力制御部１２２は、複数表示される指向性の範囲を示す表示が重複する場合に警告表示を行ってもよい。図２５６に示した例では、ビームフォーミング範囲を示す表示４１２０Ａ及び４１２０Ｂが重複する部分に、警告表示４１５０が表示されている。ユーザは、この警告表示４１５０に応じて、ユーザ同士が互いに離れるよう移動したり、ビームフォーミング範囲を移動又は狭めたりする操作を行うことで、誤動作を防止することができる。
【０７０７】
ここで、図２５４に示した例のように、音声入力を受け付けるアプリケーションが複数ある場合、ビームフォーミング範囲と音声入力先のアプリケーションとの関連が明示されることが望ましい。このため、出力制御部１２２は、ビームフォーミング範囲を示す表示と、当該ビームフォーミング範囲を形成する音声入力部により入力される音声を受け付ける表示オブジェクトとを関連付ける表示を行ってもよい。以下、図２５７〜図２５９を参照して、関連付けの表示に係るユーザインタフェースのバリエーションについて説明する。
【０７０８】
図２５７は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２５７に示した例では、ビームフォーミング範囲を示す表示４１２０と、当該ビームフォーミング範囲から取得された音声の入力先であるアプリケーションウィンドウ４１０１の端部４１５１とが、同一の色合いによって関連付けが表現されている。
【０７０９】
図２５８は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２５８に示した例では、ビームフォーミング範囲を示す表示４１２０と、当該ビームフォーミング範囲から取得された音声の入力先であるアプリケーションウィンドウ４１０１とが、線４１５２で連結されることによって関連付けが表現されている。
【０７１０】
図２５９は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２５９に示した例では、一方のビームフォーミング範囲から取得された音声の音量レベルを示す表示４１４０Ａと、当該ビームフォーミング範囲から取得された音声の入力先であるアプリケーションウィンドウ４１０１Ａの端部４１５１Ａとが、同一の色合いによって関連付けが表現されている。同様に、他方のビームフォーミング範囲から取得された音声の音量レベルを示す表示４１４０Ｂと、当該ビームフォーミング範囲から取得された音声の入力先であるアプリケーションウィンドウ４１０１Ｂの端部４１５１Ｂとが、同一の色合いによって関連付けが表現されている。
【０７１１】
ここで、音声入力を受け付けるアプリケーションが複数ある場合、マイクアイコンが複数表示されてもよい。以下、図２６０及び図２６１を参照して、マイクアイコンの複数表示に係るユーザインタフェースのバリエーションについて説明する。
【０７１２】
図２６０及び２６１は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２６０に示す例では、音声入力を受け付けるアプリケーションウィンドウ４１０１Ａ、４１０１Ｂ、４１０１Ｃごとに、マイクアイコン４１０２Ａ、４１０２Ｂ、４１０２Ｃが表示されている。そして、各マイクアイコン４１０２Ａ、４１０２Ｂ、４１０２Ｃから、ビームフォーミング範囲を示す表示４１２０Ａ、４１２０Ｂ、４１２０Ｃが表示されている。
【０７１３】
ただし、図２６１に示すように、例えばテーブル１４０ａの中心（符号４１５３）の真上にマイクが設けられている場合には、マイクアイコン４１０２Ａ、４１０２Ｂ、４１０２Ｃの真上にマイクが設けられないこととなる。このため、図２６１に示すように、ユーザがマイクアイコン４１０２に向かって発話すると、マイクが設けられた位置とは異なる方向へ向けて発話することとなり、音声認識の精度が向上するとは言い難い。しかしながら、発話された音声は広がるので、音声認識精度への影響は軽微であると考えられる。
【０７１４】
以上、複数のビームフォーミング範囲を示す表示に係るユーザインタフェースのバリエーションについて説明した。
【０７１５】
・ビームフォーミング範囲を示す表示の動的変化
続いて、図２６２〜図２６５を参照して、ビームフォーミング範囲を示す表示の動的変化に係るユーザインタフェースのバリエーションについて説明する。
【０７１６】
図２６２は、本例に係るユーザインタフェースの一例を説明するための説明図である。例えば、検出部１２１が、ユーザ位置を誤って推定してしまい、その結果誤った方向４１６０Ａにビームフォーミング範囲を形成する場合がある。この場合、図２６２の左図に示すように、出力制御部１２２は、ユーザ４１０５Ａの位置からずれた、初期のビームフォーミング範囲を示す表示４１２０Ａを表示する。しかし、検出部１２１は、ユーザの位置の推定結果の更新に応じて、形成する指向性の範囲を更新し得る。出力制御部１２２も同様に、ユーザの位置の推定結果の更新に応じて、ビームフォーミング範囲を示す表示を更新してもよい。図２６２の右図に示すように、検出部１２１は、ユーザ位置を推定し直すと、推定し直したユーザの方向４１６０Ｂにビームフォーミング範囲を形成する。この場合、出力制御部１２２は、ユーザ４１０５Ａの位置に向けて、更新したビームフォーミング範囲を示す表示４１２０Ｂを表示する。これにより、ユーザは、自身の音声が正しく認識されていることを知り、安心感を覚えることができる。なお、検出部１２１は、初期のビームフォーミング範囲内又はその周辺でユーザが発話を継続する場合に、そのユーザに向けてビームフォーミング範囲を更新してもよい。この場合、図２６２の右図に示すように、ビームフォーミング範囲を示す表示４１２０Ｂは、当初のビームフォーミング範囲を示す表示４１２０Ａの付近に位置していたユーザ４１０５Ａに向けられることとなり、異なる方向に位置するユーザ４１０５Ｂには向けられない。
【０７１７】
図２６３は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２６３の左図に示すように、出力制御部１２２は、当初は幅の広いビームフォーミング範囲を示す表示４１２０を表示する。そして、その範囲内でユーザが発話を継続する場合に、出力制御部１２２は、ユーザの方向を中心としてビームフォーミング範囲を示す表示４１２０を狭める。これにより、ユーザは、自身の音声が正しく認識されていることを知り、安心感を覚えることができる。
【０７１８】
上記では、情報処理システム１００側でビームフォーミング範囲を示す表示を変更する例を説明したが、本技術はかかる例に限定されない。例えば、ユーザは、ビームフォーミング範囲を示す表示を変更させることができる。例えば、ユーザは、図２５６に示したような複数のビームフォーミング範囲を示す表示が重複する場合に、ビームフォーミング範囲の重複を解消するような操作を行うことができる。以下、図２６４及び図２６５を参照して、ユーザ操作に応じたビームフォーミング範囲を示す表示の動的変化に係るユーザインタフェースのバリエーションについて説明する。
【０７１９】
図２６４は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２６４の左図に示すように、ビームフォーミング範囲を示す表示４１２０Ａ及び４１２０Ｂが重複し、警告表示４１５０が表示されている。図２６４の左図に示すように、ユーザが、ビームフォーミング範囲を示す表示４１２０Ａに対して、右から左へスライドさせる操作を行った場合を想定する。本操作に応じて音声入力部のビームフォーミング範囲が右から左へ移動し、これに伴い、図２６４の右図に示すように、ビームフォーミング範囲を示す表示４１２０Ａが右から左へ移動する。これにより、ビームフォーミング範囲の重複が解消されるので、誤作動が防止される。なお、図２６４の左図に示したビームフォーミング範囲を示す表示４１２０Ａは、例えば、音声入力開始オブジェクト４１０８にタッチした際に一時的に表示されるプレビュー表示であってもよい。この場合、ユーザは、プレビュー表示された領域を移動させてから音声認識を開始させることができる。
【０７２０】
図２６５は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２６５の左図に示すように、ビームフォーミング範囲を示す表示４１２０Ａ及び４１２０Ｂが重複し、警告表示４１５０が表示されている。図２６５の左図に示すように、ユーザが、ビームフォーミング範囲を示す表示４１２０Ａに対して、表示領域を左右から狭める操作を行った場合を想定する。本操作に応じて音声入力部のビームフォーミング範囲が狭まり、これに伴い、図２６５の右図に示すように、ビームフォーミング範囲を示す表示４１２０Ａが狭まる。これにより、ビームフォーミング範囲の重複が解消されるので、誤作動が防止される。
【０７２１】
なお、図２６４及び図２６５に示した例では、ビームフォーミング範囲を変更するユーザ入力が、ビームフォーミング範囲を示す表示に対するユーザ操作であるものとして説明したが、本技術はかかる例に限定されない。例えば、キーボード又はリモートコントローラ等のハードウェアを介した入力であってもよいし、音声入力等であってもよい。
【０７２２】
以上、本例に係るＵＩのバリエーションについて説明した。続いて、図２６６を参照して、本例に係る情報処理システム１００において実行される動作処理について説明する。
【０７２３】
（動作処理）
図２６６は、本例に係る情報処理システム１００において実行される表示制御処理の流れの一例を示すフローチャートである。
【０７２４】
図２６６に示すように、ステップＳ４１０２で、検出部１２１は、ユーザ位置を推定する。例えば、検出部１２１は、図２３２〜図２３７を参照して上記説明したユーザ位置推定機能を用いて、音声認識の対象となるユーザの位置を推定する。
【０７２５】
次いで、ステップＳ４１０４で、検出部１２１は、ビームフォーミングを行う。例えば、検出部１２１は、推定したユーザ位置をビームフォーミング範囲に含むように、音声入力部を制御して指向性を形成する。
【０７２６】
次に、ステップＳ４１０６で、出力制御部１２２は、ビームフォーミング範囲を示す表示を出力する。例えば、出力制御部１２２は、図２３８〜図２６１を参照して上記説明したように、検出部１２１により形成された音声入力部のビームフォーミング範囲を示す表示を行うよう出力部１３０を制御する。
【０７２７】
次いで、ステップＳ４１０８で、出力制御部１２２は、ビームフォーミング範囲を示す表示を更新する。例えば、出力制御部１２２は、図２６２〜図２６５を参照して上記説明したように、検出部１２１により動的にビームフォーミング範囲が変更された場合、それに応じてビームフォーミング範囲を変更する。
【０７２８】
次に、ステップＳ４１１０で、出力制御部１２２は、ビームフォーミング範囲を示す表示を終了するか否かを判定する。例えば、出力制御部１２２は、ビームフォーミング範囲を示す表示又はアプリケーション自体の終了を指示するユーザ操作の有無により、ビームフォーミング範囲を示す表示を終了するか否かを判定する。
【０７２９】
終了しないと判定された場合（Ｓ４１１０／ＮＯ）、処理は再度ステップＳ４１０８へ進む。終了すると判定された場合（Ｓ４１１０／ＹＥＳ）、処理は終了する。
【０７３０】
以上、本例に係る情報処理システム１００において実行される動作処理について説明した。
【０７３１】
［例６］
本例は、上記説明した具体例９に関する実施例である。本例では、図２６７〜図２９０を参照して、具体例９に係る内部処理について詳しく説明する。以下では、プロジェクション型の情報処理システム１００ａを想定して説明するが、図１〜図４を参照して説明したどのタイプでも、以下に説明する例に係るＵＩを実現可能である。
【０７３２】
（概要）
図２６７は、本例に係るユーザインタフェースの概要を説明するための説明図である。本例に係る情報処理システム１００は、実オブジェクト、既存の表示オブジェクト、及びユーザとの関係で、起動するアプリケーションの表示領域（位置、大きさ、及び傾き）を自動的に選択する。ここで、実オブジェクトとは、書籍や皿等の実際に存在する実物体を指す。表示オブジェクトとは、アイコン又はアプリケーションウィンドウ等の、テーブル１４０ａ上に表示される表示画像を指す。ユーザとは、起動するアプリケーションの対象者を指す。なお、既存の表示オブジェクトを、以下では既存ウィンドウとも称する。なお、本例では、表示面とテーブル１４０ａとが一致しているものとして説明する。
【０７３３】
図２６７の符号４２１１では、実物体４２２２及び既存ウィンドウ４２２３が混在するテーブル１４０ａ上で、ユーザがアプリケーションを起動させるための起動指示オブジェクト４２２４をタッチした様子を示している。情報処理システム１００は、起動指示オブジェクト４２２４へのタッチを契機として、表示領域決定処理を開始する。具体的には、情報処理システム１００は、既存ウィンドウ４２２３の表示領域（符号４２１２）、実物体４２２２が存在する存在領域（符号４２１３）、並びにユーザの位置及び向き（符号４２１４）を検出する。そして、情報処理システム１００は、既存ウィンドウ４２２３との関係、実物体４２２２との関係、及びユーザとの関係で、起動指示に対応するアプリケーションの表示オブジェクト４２２１（以下、起動ウィンドウとも称する）の表示領域を決定する。例えば、情報処理システム１００は、符号４２１５に示すように、既存ウィンドウの表示領域及び実物体の存在領域に重複せず且つユーザに近い場所に、ユーザの顔の向きに応じてユーザに正対するよう角度θ傾けて、起動ウィンドウ４２２１の表示領域を決定する。
【０７３４】
プロジェクション型の情報処理システム１００ａでは、テーブル１４０ａ上に実物体が載置されたり、既存ウィンドウが表示されたりしている場合があり、またユーザ位置も流動的である。このため、適切な表示領域が決定されない場合、起動ウィンドウがユーザから遠くて届かない、起動ウィンドウを見やすく調整する手間が生じてしまう、又は既存ウィンドウが起動ウィンドウに隠れてしまう等の事態が生じ得る。
【０７３５】
そこで、本例に係る情報処理システム１００は、起動ウィンドウの表示領域を、実オブジェクト、表示オブジェクト、及びユーザとの関係に基づいて適切に決定する。これにより、起動ウィンドウがユーザから操作しやすい場所に表示されるので、ユーザは、起動後すぐに起動ウィンドウに対する操作を行うことができる。また、起動ウィンドウがユーザに正対するように表示される場合、ユーザは、何ら調整することなく起動ウィンドウの情報を確認できる。さらに、起動ウィンドウが既存ウィンドウを覆い隠さないように表示される場合、起動ウィンドウが既存ウィンドウへの操作を妨害することが防止される。本例では、このようにしてユーザの利便性が向上する。
【０７３６】
（構成例）
図２６８は、本例に係る情報処理システム１００の論理的な構成の一例を示すブロック図である。図２６８に示すように、本例に係る情報処理システム１００は、入力部１１０、制御部１２０、及び出力部１３０を有する。
【０７３７】
（１）入力部１１０
本例に係る入力部１１０は、例えば画像（静止画像又は動画像）を取得するカメラ、及び深度情報を取得するステレオカメラにより実現される。例えば、入力部１１０は、撮像した撮像画像及び取得した深度情報を、制御部１２０へ出力する。また、入力部１１０は、テーブル１４０ａに設けられたタッチセンサや、リモートコントローラ等の任意の入力装置により実現されてもよく、音声入力やタッチ操作などのユーザ操作を取得して、制御部１２０へ出力し得る。
【０７３８】
（２）出力部１３０
本例に係る出力部１３０は、画像を表示する表示部としての機能を有する。例えば、出力部１３０は、図１〜図４に示したように、テーブル１４０ａの上部又は下部からテーブル１４０ａに向けて投影するプロジェクタ、タッチパネル式又はフラットパネル式のディスプレイにより実現される。他にも、出力部１３０は、スピーカ等の音声出力部としての機能を有していてもよい。
【０７３９】
（３）制御部１２０
本例に係る制御部１２０は、実オブジェクト、既存の表示オブジェクト、及びユーザとの関係で、アプリケーションの表示領域を決定するための各種処理を行う。図２６８に示すように、制御部１２０は、実オブジェクト認識部４２０１、表示オブジェクト認識部４２０２、及びユーザ認識部４２０３としての機能を有する検出部１２１、並びに出力制御部１２２を有する。
【０７４０】
（３−１）実オブジェクト認識部４２０１
実オブジェクト認識部４２０１は、テーブル１４０ａ（表示面）上の実オブジェクトを認識する機能を有する。例えば、実オブジェクト認識部４２０１は、入力部１１０から出力された深度情報から、テーブル１４０ａ上の実オブジェクトの存在領域を認識する。以下、図２６９を参照して、実オブジェクト認識部４２０１による実オブジェクトの認識機能の一例を説明する。
【０７４１】
図２６９は、本例に係る実オブジェクト認識機能の一例を説明するための説明図である。図２６９では、入力部１１０から出力される深度情報の一例であり、深度が濃淡で表現されている。符号４２３１は、テーブル１４０ａのうち上に何も実物体がない領域の深度を示している。符号４２３２は、実物体が存在する領域の深度を示しており、符号４２３３は、ユーザの手が存在する領域の深度を示している。実オブジェクト認識部４２０１は、符号４２３２及び４２３３に示すように、テーブル１４０ａのうち符号４２３１に示した領域よりも深度が小さい（本体までの距離が近い）領域を、実物体の存在領域として認識する。ただし、実オブジェクト認識部４２０１は、頻繁に動く領域（符号４２３３）については、実物体の存在領域として認識せず、動かない又は動きが少ない領域（符号４２３２）のみを、実物体の存在領域として認識してもよい。腕等は、起動ウィンドウの障害物には相当しないためである。実オブジェクト認識部４２０１は、深度情報の他に、例えば赤外線センシング結果に基づいて、実物体の存在領域を認識してもよい。
【０７４２】
また、実オブジェクト認識部４２０１は、実物体の内容を認識してもよい。例えば、実オブジェクト認識部４２０１は、テーブル１４０ａ上の状態を撮像した撮像画像のうち実物体の存在領域に相当する部分を画像認識することで、テーブル１４０ａ上の実物体が何であるかを認識し得る。
【０７４３】
（３−２）表示オブジェクト認識部４２０２
表示オブジェクト認識部４２０２は、テーブル１４０ａ上にすでに表示されている、既存の表示オブジェクトを認識する機能を有する。例えば、表示オブジェクト認識部４２０２は、出力制御部１２２による表示制御処理を監視して、既存の表示オブジェクトの表示領域及び内容（何のアプリケーションか）を認識する。
【０７４４】
（３−３）ユーザ認識部４２０３
ユーザ認識部４２０３は、アプリケーションの起動対象者であるユーザを認識する機能を有する。例えば、ユーザ認識部４２０３は、入力部１１０から出力された撮像画像に基づいて、起動指示オブジェクト４２２４をタッチしたユーザの位置及び向きを認識する。ユーザ認識部４２０３による認識処理は多様に考えられる。ユーザ認識処理については、後に図２７５〜図２７９を参照して詳しく説明するため、ここでの説明は省略する。
【０７４５】
（３−４）出力制御部１２２
出力制御部１２２は、起動ウィンドウの表示領域を決定して、決定した表示領域に起動ウィンドウを表示するよう出力部１３０を制御する、表示制御部として機能する。出力制御部１２２による表示領域決定処理は多様に考えられる。本明細書では、表示領域決定処理の一例を２つ挙げて説明する。
【０７４６】
（１）第１の処理例
例えば、出力制御部１２２は、実オブジェクトとの関係、既存の表示オブジェクトとの関係、又はユーザとの関係の少なくともいずれかに基づいて、起動するアプリケーションの表示オブジェクト（起動ウィンドウ）の表示領域を決定する。例えば、出力制御部１２２は、位置、大きさ、又は角度の少なくともいずれかにより起動ウィンドウの表示領域を決定する。例えば、出力制御部１２２は、既存の表示オブジェクト及び実オブジェクトと重ならない領域を、ウィンドウ起動可能エリアとして決定する。なお、ウィンドウ起動可能エリアとは、内部に起動ウィンドウの表示領域を決定可能なエリアである。そして、出力制御部１２２は、ウィンドウ起動可能エリア内であって、ユーザに近い位置、既存の表示オブジェクト及び実オブジェクトと重ならない大きさ、及びユーザに正対する角度を、起動ウィンドウの表示領域として決定する。
【０７４７】
・実オブジェクトとの関係
出力制御部１２２は、表示面上の実オブジェクトの情報に応じて、表示面に表示される起動ウィンドウの表示領域を決定する。例えば、出力制御部１２２は、実オブジェクトに重ならないように起動ウィンドウの表示領域を決定する。他にも、出力制御部１２２は、実オブジェクトに重なるように起動ウィンドウの表示領域を決定してもよい。
【０７４８】
実オブジェクトの情報とは、実オブジェクトの存在領域を示す情報の他、例えば実オブジェクトの属性情報を含む情報である。属性情報は、多様な情報を含み得る。例えば、属性情報は、実オブジェクトを移動させる困難さに関する情報を含んでもよい。移動させる困難さは、例えば実オブジェクトの移動履歴、重さ、大きさ等から算出され得る。例えば、移動させる困難さが大きい場合、出力制御部１２２は、実オブジェクトに重ならないように起動ウィンドウの表示領域を決定する。一方で、移動させる困難さが小さい場合、出力制御部１２２は、実オブジェクトに重なるように起動ウィンドウの表示領域を決定して、ユーザに実オブジェクトの移動を促す。また、属性情報は、例えば起動ウィンドウとの関係性に関する情報を含んでもよい。例えば、テーブル１４０ａ上の料理を説明する情報の表示などの、実オブジェクトに関連する起動ウィンドウである場合、出力制御部１２２は、実オブジェクトの付近に、又は実オブジェクトに重なるように表示領域を決定する。これにより、ユーザの利便性が向上し得る。
【０７４９】
以下、図２７０及び図２７１を参照して、実オブジェクトとの関係で決定される表示領域について説明する。
【０７５０】
図２７０及び図２７１は、本例に係る表示領域決定処理の一例を説明するための説明図である。図２７０及び図２７１では、ユーザによる起動指示オブジェクト４２２４へのタッチを契機として、起動ウィンドウ４２２１が表示される例を示している。図２７０では、実オブジェクトに重ならないように表示領域が決定される例を示している。図２７０に示すように、ウィンドウ起動可能エリア４２３４は、テーブル１４０ａ上の実物体４２２２が存在する領域以外の領域となっており、その内部に起動ウィンドウ４２２１の表示領域が決定されている。図２７１では、実オブジェクトに重なるように表示領域が決定される例を示している。図２７１に示すように、ウィンドウ起動可能エリア４２３４は、テーブル１４０ａ上の実物体４２２２が存在する領域内の領域となっており、その内部に起動ウィンドウ４２２１の表示領域が決定されている。
【０７５１】
・既存の表示オブジェクトとの関係
出力制御部１２２は、表示面にすでに表示されている他の表示オブジェクト（既存の表示オブジェクト）の情報にさらに応じて、起動ウィンドウの表示領域を決定してもよい。
【０７５２】
例えば、出力制御部１２２は、既存の表示オブジェクトよりも前面に起動ウィンドウの表示領域を決定してもよい。これにより、ユーザは、起動ウィンドウを起動直後から閲覧し操作することができる。また、出力制御部１２２は、既存の表示オブジェクトの表示領域に重ならないよう起動ウィンドウの表示領域を決定してもよい。これにより、ユーザは、起動ウィンドウを起動直後から閲覧し操作することができる上、既存ウィンドウへの操作も継続することができる。また、出力制御部１２２は、起動ウィンドウの表示領域に重ならないよう既存ウィンドウの表示領域を変更してもよい。これにより、例えば既存の表示オブジェクトが起動ウィンドウのために場所を空けるよう移動するので、出力制御部１２２は、ユーザにとってより操作しやすい領域に起動ウィンドウを表示させることができる。
【０７５３】
既存の表示オブジェクトの情報とは、既存の表示オブジェクトの表示領域を示す情報の他、例えば、起動ウィンドウとの関係性に関する情報を含む情報である。例えば、既存の表示オブジェクトに関連する情報が起動ウィンドウに含まれる場合、出力制御部１２２は、既存の表示オブジェクトの付近に起動ウィンドウの表示領域を決定する。これにより、ユーザの利便性が向上し得る。
【０７５４】
以下、図２７２〜図２７４を参照して、既存の表示オブジェクトとの関係で決定される表示領域について説明する。
【０７５５】
図２７２は、本例に係る表示領域決定処理の一例を説明するための説明図である。図２７２では、既存の表示オブジェクトとの関係におけるウィンドウ起動可能エリアの一例を示している。図２７２の上図に示すように、出力制御部１２２は、既存ウィンドウ４２２３の表示領域を含む全面をウィンドウ起動可能エリア４２３４としてもよい。また、図２７２の中央図に示すように、出力制御部１２２は、既存ウィンドウ４２２３の表示領域を除いた領域をウィンドウ起動可能エリア４２３４としてもよい。また、図２７２の下図に示すように、出力制御部１２２は、既存ウィンドウ４２２３の表示領域の中心部分を除く端部を含む領域をウィンドウ起動可能エリア４２３４としてもよい。
【０７５６】
図２７３及び図２７４は、本例に係る表示領域決定処理の一例を説明するための説明図である。図２７３及び図２７４では、ユーザによる起動指示オブジェクト４２２４へのタッチを契機として、起動ウィンドウ４２２１が表示される例を示している。
【０７５７】
図２７３では、既存の表示オブジェクトに重なることを許容して表示領域が決定される例を示している。図２７３に示すように、ウィンドウ起動可能エリア４２３４は、既存ウィンドウ４２２３の表示領域を含む全領域となっている。図２７３の左図では、既存ウィンドウ４２２３に重なるように起動ウィンドウ４２２１の表示領域が決定されている。一方、図２７３の右図では、既存ウィンドウ４２２３に重なるように起動ウィンドウ４２２１の表示領域が決定されると共に、起動ウィンドウ４２２１の表示領域に重ならないよう既存ウィンドウ４２２３の表示領域が変更されている。
【０７５８】
図２７４では、既存の表示オブジェクトに重ならないように表示領域が決定される例を示している。図２７４に示すように、ウィンドウ起動可能エリア４２３４は、既存ウィンドウ４２２３の存在領域以外の領域となっている。図２７４の左図では、既存ウィンドウ４２２３に重ならないように、デフォルトの大きさで起動ウィンドウ４２２１の表示領域が決定されている。一方、図２７４の右図では、既存ウィンドウ４２２３に重ならないように、且つ大きさを縮小して起動ウィンドウ４２２１の表示領域が決定されている。このような縮小表示は、ユーザの位置に近い場所に空きスペースが少ない場合に効果的である。
【０７５９】
・ユーザとの関係
出力制御部１２２は、起動ウィンドウの表示対象であるユーザの情報にさらに応じて、起動ウィンドウの表示領域を決定してもよい。ユーザの情報とは、例えば、ユーザの位置又は向きの少なくともいずれかを示す情報を含む。例えば、出力制御部１２２は、ウィンドウ起動可能エリア内のユーザに近い位置に、ユーザの向きに応じてユーザに正対するような傾きで、起動ウィンドウの表示領域を決定し得る。
【０７６０】
以下、図２７５〜図２８２を参照して、ユーザとの関係で決定される表示領域について説明する。なお、以下ではユーザ認識部４２０３による認識処理の具体例も合せて説明する。
【０７６１】
図２７５は、本例に係る表示領域決定処理の一例を説明するための説明図である。図２７５の左図は、ユーザ認識部４２０３による認識処理の一例を示し、図２７５の右図は、出力制御部１２２による表示領域決定処理の一例を示している。図２７５の左図に示すように、入力部１１０は、テーブル１４０ａよりも広い撮像領域４２４１を、監視対象として撮像している。まず、ユーザ認識部４２０３は、撮像領域４２４１の撮像画像に基づいて、起動指示オブジェクト４２２４をタッチしたユーザ４２４２を特定する。そして、ユーザ認識部４２０３は、特定したユーザの位置４２４３を推定する。また、ユーザ認識部４２０３は、撮像領域４２４１に含まれるユーザ４２４２の顔に基づいて、ユーザ４２４２の顔の角度θを推定する。これにより、出力制御部１２２は、図２７５の右図に示すように、ユーザに近い場所に、ユーザ４２４２に正対するように角度θ傾けて、起動ウィンドウ４２２１の表示領域を決定する。
【０７６２】
図２７６は、本例に係る表示領域決定処理の一例を説明するための説明図である。図２７６の左図は、ユーザ認識部４２０３による認識処理の一例を示し、図２７６の右図は、出力制御部１２２による表示領域決定処理の一例を示している。図２７６の左図に示すように、テーブル１４０ａには、マイクアイコン４２４４が表示されており、ユーザは、このマイクアイコン４２４４に向かって発話している。例えば、マイクアイコン４２４４の真上又はその付近にマイクが設けられているものとする。ユーザ認識部４２０３は、アプリケーションの起動を指示するユーザの音声を認識する。ユーザ認識部４２０３は、例えば予め定められたキーワードを、アプリケーションの起動を指示する音声として認識し得る。そして、ユーザ認識部４２０３は、マイクアイコン４２４４からユーザの音声が検出された方向４２４５の延長線上にユーザ４２４２が位置し、当該延長線上のマイクアイコン４２４４に向かう方向にユーザ４２４２が向いていると推定する。これにより、出力制御部１２２は、図２７６の右図に示すように、ユーザ４２４２に近い場所に、ユーザ４２４２に正対するよう方向４２４５に向けて、起動ウィンドウ４２２１の表示領域を決定する。
【０７６３】
図２７７は、本例に係る表示領域決定処理の一例を説明するための説明図である。図２７７の左図は、ユーザ認識部４２０３による認識処理の一例を示し、図２７７の右図は、出力制御部１２２による表示領域決定処理の一例を示している。図２７７の左図に示すように、ユーザ認識部４２０３は、例えば撮像画像に基づいて、起動指示オブジェクト４２２４をタッチしたユーザ４２４２の指又は腕の方向４２４６を認識する。そして、ユーザ認識部４２０３は、指又は腕の方向４２４６の延長線上にユーザ４２４２が位置し、当該延長線上の起動指示オブジェクト４２２４に向かう方向にユーザ４２４２が向いていると推定する。これにより、出力制御部１２２は、図２７７の右図に示すように、ユーザに近い場所に、ユーザに正対するよう方向４２４６に向けて、起動ウィンドウ４２２１の表示領域を決定する。
【０７６４】
図２７８は、本例に係る表示領域決定処理の一例を説明するための説明図である。図２７８の左図は、ユーザ認識部４２０３による認識処理の一例を示し、図２７８の右図は、出力制御部１２２による表示領域決定処理の一例を示している。図２７８の左図に示すように、入力部１１０は、起動指示オブジェクト４２２４をタッチしたユーザ４２４２の腕を含む領域であって、テーブル１４０ａ上の領域を撮像領域４２４１としている。まず、ユーザ認識部４２０３は、起動指示オブジェクト４２２４へのタッチを検出した時点での撮像領域４２４１の撮像画像から、タッチした腕の形状を認識する。そして、ユーザ認識部４２０３は、検出した腕の形状を、腕の向きと顔の位置との関係を示すモデル４２４７に照合することで、顔の位置を推定する。また、ユーザ認識部４２０３は、ユーザ４２４２はテーブル１４０ａの縁に正対する方向４２４８に向いていると推定する。これにより、出力制御部１２２は、図２７８の右図に示すように、ユーザに近い場所に、テーブル１４０ａの縁に正対する方向４２４８に向けて、起動ウィンドウ４２２１の表示領域を決定する。本処理は、例えば撮像領域４２４１がテーブル１４０ａ上に限られる場合であって、写った手が左右どちらの手であるかの認識に成功した場合に用いられ得る。
【０７６５】
図２７９は、本例に係る表示領域決定処理の一例を説明するための説明図である。図２７９の左図は、ユーザ認識部４２０３による認識処理の一例を示し、図２７９の右図は、出力制御部１２２による表示領域決定処理の一例を示している。図２７９の左図に示すように、ユーザ認識部４２０３は、ユーザによる起動指示オブジェクト４２２４へのタッチを認識する。そして、ユーザ認識部４２０３は、画面又はテーブル１４０ａの中心点４２４９から起動指示オブジェクト４２２４に向かう方向４２５０の延長線上にユーザ４２４２が位置し、当該延長線上の起動指示オブジェクト４２２４に向かう方向にユーザ４２４２が向いていると推定する。これにより、出力制御部１２２は、図２７９の右図に示すように、中心点４２４９から起動指示オブジェクト４２２４に向かう方向４２５０の延長線上に、ユーザに正対するよう方向４２５０に向けて、起動ウィンドウ４２２１の表示領域を決定する。
【０７６６】
図２８０は、本例に係る表示領域決定処理の一例を説明するための説明図である。図２８０に示すように、出力制御部１２２は、テーブル１４０ａのうちユーザ４２４２が存在する側の領域をウィンドウ起動可能エリア４２３４とする。これにより、出力制御部１２２は、ウィンドウ起動可能エリア４２３４内の最も広い領域４２５１に、起動ウィンドウ４２２１の表示領域を決定する。
【０７６７】
図２８１は、本例に係る表示領域決定処理の一例を説明するための説明図である。図２８１に示すように、入力部１１０は、テーブル１４０ａよりも広い撮像領域４２４１を、監視対象として撮像している。ここで、ユーザ認識部４２０３が、撮像領域４２４１の撮像画像に基づいて、起動指示オブジェクト４２２４をタッチしたユーザ４２４２の位置４２４３の推定に成功したが、ユーザ４２４２の向きの推定に失敗した場合を想定する。この場合、ユーザ認識部４２０３は、テーブル１４０ａの周囲の領域４２６１、４２６２、４２６３、４２６４のいずれにユーザ４２４２が位置するか、即ちユーザ辺を認識する。なお、ユーザ辺とは、ユーザが手を差し入れた画面又はテーブル１４０ａの辺を指す。そして、出力制御部１２２は、ユーザに最も近くなる場所に、ユーザ辺に対応する向きで、起動ウィンドウ４２２１の表示領域を決定する。図２８１に示した例では、出力制御部１２２は、ユーザに最も近くなる場所に、ユーザが領域４２６３中の矢印方向を向いていると仮定した向きで、起動ウィンドウ４２２１の表示領域を決定する。
【０７６８】
図２８２は、本例に係る表示領域決定処理の一例を説明するための説明図である。図２８２に示した例では、ユーザ認識部４２０３が、ユーザ４２４２の位置４２４３の推定に成功したものとする。また、ユーザ認識部４２０３は、ユーザ４２４２の向きの推定に失敗したものとする。この場合、出力制御部１２２は、図２８２の上図に示すように、画面又はテーブル１４０ａの中心点４２４９からユーザ位置４２４３を結んだ線上で、表示面に内接する円に接する最もユーザに近い位置に、起動ウィンドウ４２２１の表示領域を決定してもよい。また、出力制御部１２２は、図２８２の下図に示すように、中心点４２４９からユーザ位置４２４３を結んだ線上で、表示面のアスペクト比に対する楕円に接する最もユーザに近い位置に、起動ウィンドウ４２２１の表示領域を決定してもよい。
【０７６９】
・組み合わせ
出力制御部１２２は、上述した実オブジェクトとの関係、既存の表示オブジェクトとの関係、又はユーザとの関係の少なくともいずれかを組み合わせて、起動ウィンドウ４２２１の表示領域を決定してもよい。以下、図２８３〜図２８５を参照して、実オブジェクトとの関係、既存の表示オブジェクトとの関係、及びユーザとの関係の組み合わせにより決定される表示領域について説明する。
【０７７０】
図２８３は、本例に係る表示領域決定処理の一例を説明するための説明図である。図２８３に示した例では、出力制御部１２２は、実オブジェクトとの関係で、実物体４２２２に重ならないように起動ウィンドウ４２２１の表示領域を決定している。また、出力制御部１２２は、既存の表示オブジェクトとの関係で、既存ウィンドウ４２２３よりも前面に重なることを許容して起動ウィンドウ４２２１の表示領域を決定している。また、出力制御部１２２は、ユーザとの関係で、ユーザ４２４２に近い場所に、ユーザ４２４２の向きに応じた傾きとなるように起動ウィンドウ４２２１の表示領域を決定している。
【０７７１】
図２８４は、本例に係る表示領域決定処理の一例を説明するための説明図である。図２８４に示した例では、出力制御部１２２は、実オブジェクトとの関係で、実物体４２２２に重ならないように起動ウィンドウ４２２１の表示領域を決定している。また、出力制御部１２２は、既存の表示オブジェクトとの関係で、既存ウィンドウ４２２３に重ならないように起動ウィンドウ４２２１の表示領域を決定している。また、出力制御部１２２は、ユーザとの関係で、ユーザ４２４２に近い場所に、ユーザ４２４２の向きに応じた傾きとなるように起動ウィンドウ４２２１の表示領域を決定している。
【０７７２】
図２８５は、本例に係る表示領域決定処理の一例を説明するための説明図である。図２８５に示した例では、出力制御部１２２は、実オブジェクトとの関係で、実物体４２２２に重ならないように起動ウィンドウ４２２１の表示領域を決定している。また、出力制御部１２２は、既存の表示オブジェクトとの関係で、既存ウィンドウ４２２３に重なることを許容して起動ウィンドウ４２２１の表示領域を決定しつつ、起動ウィンドウ４２２１の表示領域に重ならないよう既存ウィンドウ４２２３の表示領域が変更されている。また、出力制御部１２２は、ユーザとの関係で、ユーザ４２４２に近い場所に、ユーザ４２４２の向きに応じた傾きとなるように起動ウィンドウ４２２１の表示領域を決定している。
【０７７３】
以上、出力制御部１２２による起動ウィンドウの表示領域決定処理の一例を説明した。
【０７７４】
（２）第２の処理例
例えば、出力制御部１２２は、起動ウィンドウの表示領域の候補を評価する評価関数を用いて表示領域を決定してもよい。この評価関数は、実オブジェクトとの関係、既存の表示オブジェクトとの関係、及びユーザとの関係について上記説明した内容が反映されるよう設計され得る。より具体的には、評価関数の要素として例えば以下が考えられる。
【０７７５】
・既存ウィンドウとの重複評価値
・実物体との重複評価値
・ユーザ位置からの距離評価値
・ユーザ辺からの距離評価値
・タッチ位置との距離評価値
・指方向との一致度評価値
【０７７６】
既存ウィンドウとの重複評価値とは、起動ウィンドウと既存ウィンドウとの重複に関する評価値である。なお、既存ウィンドウが複数表示されている場合、既存ウィンドウとの重複評価値は、既存ウィンドウごとに算出された評価値の総和又は平均等の統計量として算出され得る。また、出力制御部１２２は、既存ウィンドウとの重複評価値の算出にあたり、重複評価値×（１／ｉｎｄｅｘ）として、古い既存ウィンドウほど評価に影響を与える度合を下げてもよい。ここで、ｉｎｄｅｘは、既存ウィンドウに割り振られるインデックス（順序）であり、最も新しいウィンドウに１が与えられ、古い程大きな値が与えられる。また、出力制御部１２２は、評価値の算出にあたり、アプリケーション同士の相性を考慮してもよい。
【０７７７】
実物体との重複評価値とは、起動ウィンドウと実物体との重複に関する評価値である。なお、実物体が複数存在する場合、実物体との重複評価値は、実物体ごとに算出された評価値の総和又は平均等の統計量として算出され得る。また、出力制御部１２２は、評価値の算出にあたり、実物体の高さ及び面積等の形状を考慮してもよいし、過去の移動履歴を考慮してもよい。
【０７７８】
ユーザ位置からの距離評価値とは、起動ウィンドウとユーザ位置との距離に関する評価値であり、距離が近いほど良い評価値が算出される。
【０７７９】
ユーザ辺からの距離評価値とは、起動ウィンドウとユーザ辺との距離に関する評価値であり、距離が近いほど良い評価値が算出される。
【０７８０】
タッチ位置との距離評価値とは、起動ウィンドウとタッチ位置との距離に関する評価値であり、距離が近いほど良い評価値が算出される。
【０７８１】
指方向との一致度評価値とは、起動ウィンドウの向きとタッチした指の方向との一致度に関する評価値であり、一致しているほど良い評価値が算出される。例えば、一致していれば１、不一致であれば０が算出され得る。
【０７８２】
以上、評価関数の要素の一例を説明した。出力制御部１２２は、各要素に重み付けを行うことで、次式のように評価関数を設計し得る。
【０７８３】
評価値＝既存ウィンドウとの重複評価値×３０＋
実物体との重複評価値×２００＋
ユーザ位置からの距離評価値×１＋
ユーザ辺からの距離評価値×１＋
タッチ位置との距離評価値×１＋
指方向との一致度評価値×１０
【０７８４】
重み付けのパラメータは任意に設定され得る。また、各要素内の関数設計（パラメータ設計）も任意である。出力制御部１２２は、評価関数内の各種パラメータを学習してもよい。また、出力制御部１２２は、ユーザ操作に応じて評価関数のパラメータを設定してもよい。これにより、ユーザは、自身の好む表示領域に起動ウィンドウが表示されるよう、パラメータを設定することができる。例えば、ユーザは、隣り合わせて使用することが多いアプリケーション同士について良い相性を設定することで、当該アプリケーション同士を隣り合わせで起動させることが可能となる。
【０７８５】
出力制御部１２２は、表示領域の候補のうち、評価関数により算出される評価値が最も良い候補を、起動ウィンドウの表示領域として決定する。例えば、出力制御部１２２は、山登り法、遺伝的アルゴリズム等の任意の手法を採用して、評価値が最も良い表示領域を探索し得る。なお、本明細書では、評価値が高い程良いとして説明するが、評価値が低い程良いとしてもよい。即ち、出力制御部１２２による表示領域の探索は、最小化問題であってもよいし、最大化問題であってもよい。
【０７８６】
以下、評価関数の具体的な設計について説明する。例えば、出力制御部１２２は、下記の数式１を評価関数として用い得る。
【０７８７】
【数１】
2019185812.tif 000004
【０７８８】
上記数式中、ａｐｐｍは、ｍ個目のアプリケーションウィンドウを意味し、起動ウィンドウを指す。ａｐｐｎは、ｎ個目のアプリケーションウィンドウを意味し、既存ウィンドウを指す。ｏｂｊｎは、ｎ個目の実オブジェクトを意味する。ｐは、起動ウィンドウの表示領域を意味する。上記数式１では、起動ウィンドウの表示領域をｐとした場合の評価値が算出される。
【０７８９】
上記数式１の第１項は、既存ウィンドウとの関係に関する評価項である。ｗａｐｐは、重み付けパラメータである。Ｎａｐｐは、既存ウィンドウの数を示す。総和計算の対象は、起動ウィンドウａｐｐｍと既存ウィンドウａｐｐｎとの相性及び距離に関する評価関数であり、例えば次式により定義される。
【０７９０】
【数２】
2019185812.tif 000005
【０７９１】
Ｎａｐｐ−（ｎ−１）／Ｎａｐｐは、表示順に関する評価値であり、表示順が古いほど低い値になることを示している。なお、既存ウィンドウには、表示が新しい順に低いインデックスｎが与えられるものとする。
【０７９２】
ｃ（ａｐｐｍ，ａｐｐｎ）は、起動ウィンドウａｐｐｍと既存ウィンドウａｐｐｎとの相性に関する評価値であり、例えば相性が良い程高い値になる。相性としては、例えば、写真ファイルと写真編集アプリケーションとの相性が良い、音楽ファイルと音楽プレーヤとの相性が良い等が考えられる。相性に関する評価値は、例えば下記の表に一例を示す相性テーブルにより定まり得る。
【０７９３】
【表２】
2019185812.tif 000006
【０７９４】
表２は、相性に関する評価値を定める相性テーブルの一例である。相性に関する評価値は、静的に定ま部分と動的に変化する部分とを含む。静的に定まる部分は、例えばインストール時に予め定まっているアプリケーション同士の相性、又は同じメディア（ファイル）を扱うことができるか否か等により定まる。動的に変化する部分は、例えば同じユーザ（同じ手又は同じ方向から来た手）が起動したアプリケーションか否か、過去の操作履歴が示す相性等により変化する。他にも、動的に変化する部分の一例として、一方のアプリケーションが起動された後所定時間以内に他方のアプリケーションが起動された、又は一方が起動された後所定時間以内に他方に近づけられた場合、評価値が高まり得る。逆に、一方が起動された後所定時間以内に他方から遠ざけられた場合、評価値が低まり得る。
【０７９５】
表２に示した例では、静止画編集アプリケーションと写真アプリケーションとの相性に関する評価値は、静的な「２」に動的に「１」加わって「３」になっている。また、動画編集アプリケーションと写真アプリケーションとの相性に関する評価値は、静的な「１」に動的に「１」加わって「２」になっている。また、動画編集アプリケーションと静止画編集アプリケーションとの相性に関する評価値は、静的な「０」に動的に「１」加わって「１」減り、「０」になっている。
【０７９６】
以上、相性テーブルについて説明した。再度、上記数式２の説明に戻る。｛ｄ−（ｒ１＋ｒ２）｝は、起動ウィンドウａｐｐｍと既存ウィンドウａｐｐｎとの重複に関する評価値である。ｒ１、ｒ２、及びｄとの関係の一例を、図２８６に示す。
【０７９７】
図２８６は、本例に係る表示領域決定処理の一例を説明するための説明図である。ｒ１は、起動ウィンドウ４２２１の大きさを示すパラメータであり、図２８６に示した例では起動ウィンドウ４２２１の中心点から端部までの距離である。ｒ２は、既存ウィンドウ４２２３の大きさを示すパラメータであり、図２８６に示した例では既存ウィンドウ４２２３の中心点から端部までの距離である。ｄは、起動ウィンドウ４２２１と既存ウィンドウ４２２３との距離を示すパラメータであり、図２８６に示した例では中心点間の距離である。図２８６に示すように、｛ｄ−（ｒ１＋ｒ２）｝は、距離が離れているほど高い値になり、重複する領域が多くなるほど低い値になる。なお、出力制御部１２２は、｛ｄ−（ｒ１＋ｒ２）｝がマイナスの値となった場合、｛ｄ−（ｒ１＋ｒ２）｝を０として取り扱ってもよい。
【０７９８】
以上、上記数式１の第１項について説明した。続いて、上記数式１の第２項について説明する。
【０７９９】
上記数式１の第２項は、実物体との関係に関する評価項である。ｗｏｂｊは、重み付けパラメータである。Ｎｏｂｊは、実物体の数を示す。総和計算の対象は、起動ウィンドウａｐｐｍと実物体ｏｂｊｎとの相性及び距離に関する評価関数であり、例えば次式により定義される。
【０８００】
【数３】
2019185812.tif 000007
【０８０１】
ｃ（ａｐｐｍ，ｏｂｊｎ）は、起動ウィンドウａｐｐｍと実物体ｏｂｊｎとの相性に関する評価値であり、例えば相性が良い程高い値になる。相性としては、例えば、定規のアプリケーションと実物体は相性が良い、障害物を利用したゲームアプリケーションは障害物となり得る実物体との相性が良い、ラーメンタイマーのアプリケーションは所定の大きさの丸い実物体との相性が良い等が考えられる。相性に関する評価値は、例えば上述した表２と同様の相性テーブルにより定まり得る。
【０８０２】
｛ｄ−（ｒ１＋ｒ２）｝は、起動ウィンドウａｐｐｍと実物体ｏｂｊｎとの重複に関する評価値である。ｒ１、ｒ２、及びｄとの関係の一例を、図２８７に示す。
【０８０３】
図２８７は、本例に係る表示領域決定処理の一例を説明するための説明図である。ｒ１は、起動ウィンドウ４２２１の大きさを示すパラメータであり、図２８７に示した例では起動ウィンドウ４２２１の中心点から端部までの距離である。ｒ２は、実物体４２２２の大きさを示すパラメータであり、図２８７に示した例では実物体４２２２の中心点から端部までの距離である。ｄは、起動ウィンドウ４２２１と実物体４２２２との距離を示すパラメータであり、図２８７に示した例では中心点間の距離である。図２８７に示すように、｛ｄ−（ｒ１＋ｒ２）｝は、距離が離れているほど高い値になり、重複する領域が多くなるほど低い値になる。なお、出力制御部１２２は、｛ｄ−（ｒ１＋ｒ２）｝がマイナスの値となった場合、｛ｄ−（ｒ１＋ｒ２）｝を０として取り扱ってもよい。
【０８０４】
ａ／Ｖｏｂｊは、物体の凸包体積に関する評価値である。本評価値は、例えば実物体ｏｂｊｎが小さい又は薄い場合には低い値となる。これにより、小さい又は薄い実物体による評価関数への影響が小さくなる。
【０８０５】
ｂ／∫ｖｄｔは、直近の移動距離に関する評価値である。本評価値は、例えば直近の移動距離が多いほど低い値となる。これにより、直近の移動距離が多い実物体による評価関数への影響が小さくなる。これは、移動距離が多い物体は、移動可能な物体であるか又は直近新たに置かれた物体であるため、ユーザがどかすことが可能であると考えられるためである。
【０８０６】
ｃ／Ｆは、物体の形状に関する評価値である。本評価値は、例えば投影される画像への影響が少ない形状であるほど低い値となる。例えば、錐体には低い値が与えられ得る。これにより、投影される画像への影響が少ない形状である実物体による評価関数への影響が小さくなる。
【０８０７】
以上、上記数式１の第２項について説明した。続いて、上記数式１の第３項以降について説明する。
【０８０８】
上記数式１の第３項以降の項は、ユーザとの関係に関する評価項である。ｗｕｐは、重み付けパラメータである。ｆｕｐ（ｐ）は、ユーザ位置と起動ウィンドウとの距離に関する評価関数である。ｗｕｓは、重み付けパラメータである。ｆｕｓ（ｐ）は、ユーザ辺と起動ウィンドウとの距離に関する評価関数である。ｗｔｐは、重み付けパラメータである。ｆｔｐ（ｐ）は、タッチ位置と起動ウィンドウとの距離に関する評価関数である。ｗｆｄは、重み付けパラメータである。ｆｆｄ（ｐ）は、ユーザの指の方向と起動ウィンドウの向く方向との一致度に関する評価関数である。
【０８０９】
以上、評価関数の具体例について説明した。
【０８１０】
以上、情報処理システム１００の構成例について説明した。続いて、図２８８〜図２９０を参照して、本例に係る情報処理システム１００において実行される動作処理例を説明する。
【０８１１】
（動作処理）
図２８８は、本例に係る情報処理システム１００において実行される表示制御処理の流れの一例を示すフローチャートである。
【０８１２】
図２８８に示すように、ステップＳ４２０１で、入力部１１０は、アプリケーション起動指示を受け付ける。例えば、入力部１１０は、起動指示オブジェクトにタッチされたことを示す入力情報を、制御部１２０へ出力する。
【０８１３】
次いで、ステップＳ４２０２で、検出部１２１は、実オブジェクト、既存の表示オブジェクト、及びユーザを認識する。例えば、実オブジェクト認識部４２０１は、入力部１１０から出力された深度情報から、テーブル１４０ａ上の実物体の存在領域を認識する。例えば、表示オブジェクト認識部４２０２は、出力制御部１２２による表示制御処理を監視して、既存ウィンドウの表示領域を認識する。例えば、ユーザ認識部４２０３は、入力部１１０から出力された撮像画像に基づいて、起動指示オブジェクトをタッチしたユーザの位置及び向きを認識する。
【０８１４】
次に、ステップＳ４２０３で、出力制御部１２２は、起動ウィンドウの表示領域決定処理を行う。表示領域決定処理の具体的な内容については後に詳しく説明するため、ここでの詳細な説明は省略する。
【０８１５】
そして、ステップＳ４２０４で、出力制御部１２２は、表示処理を行う。例えば、出力制御部１２２は、上記ステップＳ４２０３において決定した表示領域に起動ウィンドウを表示するよう出力部１３０を制御する。
【０８１６】
以上、情報処理システム１００において実行される表示制御処理の流れについて説明した。続いて、図２８９及び図２９０を参照して、上記ステップＳ４２０３における表示領域決定処理の流れについて説明する。
【０８１７】
図２８９は、本例に係る情報処理システム１００において実行される表示領域決定処理の流れの一例を示すフローチャートである。本フローチャートは、上記説明した第１の処理例に関する。
【０８１８】
図２８９に示すように、まず、Ｓ４２２１で、出力制御部１２２は、実物体及び既存ウィンドウの情報に基づいて、ウィンドウ起動可能エリアを決定する。例えば、出力制御部１２２は、実物体の存在領域及び既存ウィンドウの表示領域に重ならない領域を、ウィンドウ起動可能エリアとして決定する。
【０８１９】
次いで、ステップＳ４２２２で、出力制御部１２２は、ユーザの位置の推定に成功したか否かを判定する。例えば、出力制御部１２２は、ユーザ認識部４２０３による認識結果を参照することで、本判定を行う。
【０８２０】
ユーザの位置の推定に成功したと判定された場合（Ｓ４２２２／ＹＥＳ）、ステップＳ４２２３で、出力制御部１２２は、ユーザの向きの推定に成功したか否かを判定する。例えば、出力制御部１２２は、ユーザ認識部４２０３による認識結果を参照することで、本判定を行う。
【０８２１】
ユーザの向きの推定に成功したと判定された場合（Ｓ４２２３／ＹＥＳ）、ステップＳ４２２４で、出力制御部１２２は、ユーザの位置及び向きに基づいて、起動ウィンドウの表示領域を決定する。例えば、出力制御部１２２は、上記ステップＳ４２２１で決定したウィンドウ起動可能エリアの中から、ユーザに近い位置に、ユーザの向きに応じてユーザに正対するような傾きとなるよう、起動ウィンドウの表示領域を決定する。
【０８２２】
一方、ユーザの位置の推定には成功したが向きの推定には失敗したと判定された場合（Ｓ４２２３／ＮＯ）、ステップＳ４２２５で、出力制御部１２２は、ユーザの位置に基づいて起動ウィンドウの表示領域を決定する。例えば、出力制御部１２２は、上記ステップＳ４２２１で決定したウィンドウ起動可能エリアの中から、ユーザに近い位置に、ユーザ辺に対応する向きで、起動ウィンドウの表示領域を決定する。
【０８２３】
また、ユーザの位置の推定に失敗したと判定された場合（Ｓ４２２２／ＮＯ）、ステップＳ４２２６で、出力制御部１２２は、実物体及び既存ウィンドウの情報に基づいて、起動ウィンドウの表示領域を決定する。例えば、出力制御部１２２は、上記ステップＳ４２２１で決定したウィンドウ起動可能エリアの中から、任意の領域を起動ウィンドウの表示領域として決定する。
【０８２４】
以上、表示領域決定処理の流れの一例を説明した。続いて、図２９０を参照して、表示領域決定処理の流れの他の一例を説明する。
【０８２５】
図２９０は、本例に係る情報処理システム１００において実行される表示領域決定処理の流れの一例を示すフローチャートである。本フローチャートは、上記説明した第２の処理例に関する。具体的には、出力制御部１２２は、山登り法を用いて評価関数の準最適解を算出する。
【０８２６】
図２９０に示すように、まず、ステップＳ４２３１で、出力制御部１２２は、評価対象の座標として、画面内のＮ個の座標をランダムに選択する。例えば、出力制御部１２２は、表示面内のＮ個の座標を、実物体の存在領域と重なっているか否か、又は既存ウィンドウと重なっているか否か等を考慮せず、ランダムに選択する。
【０８２７】
次いで、ステップＳ４２３２で、出力制御部１２２は、近傍の座標を評価する。例えば、出力制御部１２２は、上記ステップＳ４２３１で選択した座標を１ピクセルずつ前後左右にずらした８点について、それぞれ評価関数の評価値を算出する。このとき、出力制御部１２２は、表示領域の大きさ及び傾きについても変化させながら、評価値を算出してもよい。
【０８２８】
次に、ステップＳ４２３３で、出力制御部１２２は、評価値が最も良かった座標を評価対象の座標に変更する。このとき、評価値が良くなる座標が近傍の８点の中にある場合（Ｓ４２３４／ＮＯ）、処理は再度ステップＳ４２３２に戻り、評価（Ｓ４２３２）及び評価対象の座標の更新（Ｓ４２３３）が繰り返される。
【０８２９】
評価値が良くなる座標が近傍の８点になくなった場合（Ｓ４２３４／ＹＥＳ）、ステップＳ４２３５で、出力制御部１２２は、Ｎ個の座標について評価（Ｓ４２３２〜Ｓ４２３４）が完了したか否かを判定する。
【０８３０】
完了していないと判定された場合（Ｓ４２３５／ＮＯ）、処理は再度ステップＳ４２３２に戻る。これにより、出力制御部１２２は、未評価の座標について、上記ステップＳ４２３２〜Ｓ４２３４に係る処理を行う。
【０８３１】
完了したと判定された場合（Ｓ４２３５／ＹＥＳ）、ステップＳ４２３６で、出力制御部１２２は、評価値が最も良い表示領域に決定する。
【０８３２】
以上、表示領域決定処理の流れの一例を説明した。
【０８３３】
［例７］
本例は、上記説明した具体例８に関する実施例である。本例では、図２９１〜図２９８を参照して、具体例８に係る内部処理について詳しく説明する。なお、以下では、プロジェクション型の情報処理システム１００ａを想定して説明するが、図１〜図４を参照して説明したどのタイプでも、以下に説明する例に係るＵＩを実現可能である。
【０８３４】
（構成例）
図２９１は、本例に係る情報処理システム１００の論理的な構成の一例を示すブロック図である。図２９１に示すように、本例に係る情報処理システム１００は、入力部１１０、制御部１２０、出力部１３０を有する。
【０８３５】
（１）入力部１１０
本例に係る入力部１１０は、例えば画像（静止画像又は動画像）を取得するカメラ、及び深度情報を取得するステレオカメラにより実現される。例えば、入力部１１０は、撮像した撮像画像及び取得した深度情報を、制御部１２０へ出力する。入力部１１０は、撮像時の他にも、出力部１３０による撮像画像の投影時にも、深度情報を取得して制御部１２０へ出力する。また、入力部１１０は、テーブル１４０ａに設けられたタッチセンサや、リモートコントローラ等の任意の入力装置により実現されてもよく、音声入力やタッチ操作などのユーザ操作を取得して、制御部１２０へ出力し得る。
【０８３６】
（２）出力部１３０
本例に係る出力部１３０は、画像を表示する表示部としての機能を有する。例えば、出力部１３０は、図１〜図４に示したように、テーブル１４０ａの上部又は下部からテーブル１４０ａに向けて投影するプロジェクタ、タッチパネル式又はフラットパネル式のディスプレイにより実現される。他にも、出力部１３０は、スピーカ等の音声出力部としての機能を有していてもよい。
【０８３７】
（３）制御部１２０
本例に係る制御部１２０は、テーブル１４０ａ上の被写体を撮像した撮像画像を、原寸大で再現するための各種処理を行う。図２９１に示すように、制御部１２０は、環境情報取得部４３０１及び環境情報蓄積部４３０３としての機能を有する検出部１２１、並びに設定情報生成部４３０５としての機能を有する出力制御部１２２を有する。
【０８３８】
（３−１）環境情報取得部４３０１
環境情報取得部４３０１は、環境情報を取得する機能を有する。環境情報とは、情報処理システム１００への入力又は情報処理システム１００からの出力に影響を与える、情報処理システム１００の環境に関する情報である。例えば、撮像時の環境情報は、撮像画像に写る被写体の大きさに影響を与え得る情報である。撮像時の環境情報の一例としては、撮像時のカメラからテーブル１４０ａまでの距離（深度情報）、撮像時のカメラの画角、撮像時のカメラの画素数などが挙げられる。また、投影時の環境情報は、投影される撮像画像に写る被写体の大きさに影響を与え得る情報である。投影時の環境情報の一例としては、投影時のプロジェクタからテーブル１４０ａまでの距離、投影時のプロジェクタの画角、投影時のプロジェクタの画素数などが挙げられる。
【０８３９】
（３−２）環境情報蓄積部４３０３
環境情報蓄積部４３０３は、環境情報取得部４３０１により取得された環境情報を蓄積する機能を有する。例えば、環境情報蓄積部４３０３は、カメラにより撮像された撮像画像に、当該撮像画像の撮像時に取得された環境情報を対応付けて記憶する。例えば、環境情報は、撮像画像のメタデータとして記憶されてもよい。
【０８４０】
（３−３）設定情報生成部４３０５
設定情報生成部４３０５は、出力部１３０による撮像画像の投影のための設定情報を生成する機能を有する。特に、設定情報生成部４３０５は、撮像時の環境情報及び投影時環境情報に基づいて、被写体の撮像時の様子をそのまま再現するための設定情報を生成する。例えば、設定情報生成部４３０５は、被写体を原寸大で再現するための投影倍率を算出して、設定情報として生成し得る。以下では、図２９２を参照して、設定情報生成部４３０５による、被写体を原寸大で再現するための投影倍率の算出例について説明する。
【０８４１】
図２９２は、本例に係る投影倍率の算出処理について説明するための説明図である。図２９２の左図は、テーブル１４０ａをカメラ又はプロジェクタから見た正面図である。図２９２の右図は、テーブル１４０ａをカメラ（入力部１１０）又はプロジェクタ（出力部１３０）の側面から見た側面図である。Ｙは、カメラ又はプロジェクタの垂直方向の画素数を示す。Ｌは、カメラ又はプロジェクタからテーブル１４０ａまでの距離を示す。θは、カメラ又はプロジェクタの垂直方向の画角を示す。設定情報生成部４３０５は、被写体を原寸大で再現するための投影倍率を、例えば次式により算出する。
【０８４２】
【数４】
2019185812.tif 000008
【０８４３】
なお、Ｙ１は撮像時のカメラの垂直方向の画素数を示し、Ｌ１は撮像時のカメラからテーブル１４０ａまでの距離を示し、θ１は撮像時のカメラの垂直方向の画角を示す。また、Ｙ２は投影時のプロジェクタの垂直方向の画素数を示し、Ｌ２は投影時のプロジェクタからテーブル１４０ａまでの距離を示し、θ２は投影時のプロジェクタの垂直方向の画角を示す。
【０８４４】
なお、図２９２では、垂直方向の画素数Ｙを用いて投影倍率が算出される例を説明したが、水平方向の画素数を用いて算出されてもよい。
【０８４５】
設定情報生成部４３０５が生成する設定情報は、投影倍率以外にも多様に考えられる。例えば、設定情報生成部４３０５は、被写体の色合いや外光の当たり具合を再現するための輝度又はコントラスト等を算出して、設定情報として生成してもよい。
【０８４６】
出力制御部１２２は、設定情報生成部４３０５により生成された設定情報に基づいて、撮像画像を投影するよう出力部１３０を制御する。具体的には、出力制御部１２２は、設定情報生成部４３０５により算出された投影倍率を用いて撮像画像を拡大又は縮小して投影するよう、プロジェクタを制御する。
【０８４７】
また、出力制御部１２２は、被写体の撮像時の様子をそのまま再現するための、ユーザへの通知を出力するよう出力部１３０を制御してもよい。例えば、撮像画像を拡大して投影する際に、拡大された撮像画像がテーブル１４０ａに収まらない場合が考えられる。このため、出力制御部１２２は、拡大された撮像画像がテーブル１４０ａに収まるように、テーブル１４０ａに関する調整を行うよう依頼する通知を、ユーザへ出力させてもよい。
【０８４８】
以上、本例に係る情報処理システム１００の構成例を説明した。続いて、図２９３〜図２９７を参照して、本例に係るユーザインタフェースの具体例を説明する。図２９３〜図２９７は、本例に係るユーザインタフェースの一例を説明するための説明図である。
【０８４９】
（ＵＩ例）
まず、図２９３〜図２９５を参照して、撮像時から投影時までの環境変化に応じて投影倍率が変化する場合のユーザインタフェースの具体例について説明する。図２９３〜図２９５の左図は、撮像時の被写体及び環境情報を示している。設定情報生成部４３０５は、図２９３〜図２９５の左図に示した撮像時の環境情報と、図２９３〜図２９５の右図に示した投影時の環境情報との差異に応じて、上記数式４を用いて投影倍率を算出する。そして、図２９３〜図２９５の右図に示すように、出力部１３０は、算出された投影倍率を用いて撮像画像を投影する。一例として、撮像時の画角θ１は４５°であり、距離Ｌ１は１メートルであり、画素数Ｙ１は１０８０ピクセルであったものとする。
【０８５０】
図２９３では、テーブル１４０ａまでの距離が変化した例を示している。具体的には、カメラ（入力部１１０）からテーブル１４０ａまでの距離Ｌ１の１メートルであったのに対し、プロジェクタ（出力部１３０）からテーブル１４０ａまでの距離Ｌ２が２メートルになっている。このため、図２９３の右図に示すように、投影倍率が０．５倍となっている。距離が長くなった分だけ縮小して投影されることで、撮像画像に写る被写体が原寸大で投影される。他方、距離が短くなった場合には拡大して投影されることで、撮像画像に写る被写体が原寸大で投影される。
【０８５１】
図２９４では、画角が変化した例を示している。具体的には、入力部１１０の画角θ１が４５°であったのに対し、出力部１３０の画角θ２が６０°になっている。このため、図２９４の右図に示すように、投影倍率が０．７２倍となっている。画角が広がった分だけ縮小して投影されることで、撮像画像に写る被写体が原寸大で投影される。他方、画角が狭まった場合には拡大して投影されることで、撮像画像に写る被写体が原寸大で投影される。
【０８５２】
図２９５では、画素数が変化した例を示している。具体的には、入力部１１０の画素数Ｙ１が１０８０ピクセルであったのに対し、出力部１３０の画素数Ｙ２が７２０ピクセルになっている。このため、図２９５の右図に示すように、投影倍率が１．５倍となっている。画素数が減少した分だけ拡大して投影されることで、撮像画像に写る被写体が原寸大で投影される。他方、画素数が増大した場合には縮小して投影されることで、撮像画像に写る被写体が原寸大で投影される。
【０８５３】
以上、撮像時から投影時までの環境変化に応じて投影倍率が変化する場合のユーザインタフェースの具体例について説明した。続いて、図２９６〜図２９７を参照して、被写体の撮像時の様子をそのまま再現するための調整を依頼する、ユーザへの通知の具体例について説明する。
【０８５４】
図２９６では、出力制御部１２２が、本体（出力部１３０）をスクリーン（テーブル１４０ａ）から３０センチメートル遠ざけるよう依頼する通知を出力する例を示している。ユーザは、本体を遠ざけてもよいし、テーブル１４０ａを低いものに替えてもよい。いずれにしろ、出力部１３０からテーブル１４０ａまでの距離が長くなることで、撮像画像は縮小して投影されることとなり、テーブル１４０ａに収まることとなる。他にも、出力制御部１２２は、テーブル１４０ａをより面積の広いものに替えるよう依頼する通知を出力してもよい。
【０８５５】
図２９７では、出力制御部１２２が、テーブル１４０ａに収まりきらない部分を省略した上で、撮像画像を原寸大で投影しつつ、スクロールするよう依頼する通知を出力する例を示している。ユーザは、投影画像をスクロールさせることで、省略された部分をずらして投影させることができる。この場合、ユーザは、本体を遠ざける、テーブル１４０ａを取り替える等の、出力部１３０からテーブル１４０ａまでの距離を長くする手間を省くことができる。なお、ユーザは、図２９６に示したように本体を遠ざけるのか、図２９７に示したように収まりきらない部分を省略させるのかを選択してもよい。選択は、投影時になされてもよいし、予め設定されていてもよいし、情報処理システム１００により自動的になされてもよい。
【０８５６】
以上、本例に係るユーザインタフェースの具体例を説明した。続いて、図２９８を参照して、本例に係る情報処理システム１００による動作処理の一例を説明する。
【０８５７】
（動作処理）
図２９８は、本例に係る情報処理システム１００において実行される表示制御処理の流れの一例を示すフローチャートである。
【０８５８】
図２９８に示すように、まず、ステップＳ４３０２で、設定情報生成部４３０５は、環境情報取得部４３０５より撮像画像に対応付けて記憶された環境情報を参照する。この環境情報には、例えば、撮像時のカメラからテーブル１４０ａまでの距離、撮像時のカメラの画角、及び撮像時のカメラの画素数を示す情報が含まれる。
【０８５９】
次いで、ステップＳ４３０４で、環境情報取得部４３０１は、現在の環境情報を取得する。この環境情報には、例えば、プロジェクタからテーブル１４０ａまでの距離、プロジェクタの画角、及びプロジェクタの画素数を示す情報が含まれる。
【０８６０】
次に、ステップＳ４３０６で、設定情報生成部４３０５は、投影倍率を算出する。具体的には、設定情報生成部４３０５は、上記ステップＳ４３０２で参照した環境情報、及び上記ステップＳ４３０４で取得した環境情報を、上記数式４に適用することで、投影倍率を算出する。
【０８６１】
そして、ステップＳ４３０８で、出力制御部１２２は、撮像画像を投影するようプロジェクタを制御する。具体的には、出力制御部１２２は、上記ステップＳ４３０６で算出された投影倍率を用いて撮像画像を拡大又は縮小して投影するよう、プロジェクタを制御する。
【０８６２】
以上、本例に係る情報処理システム１００による動作処理の一例を説明した。
【０８６３】
（まとめ）
以上説明したように、本例によれば、撮像画像を保存時に環境情報を対応付けて保存しておき、投影時の環境情報との差異に応じて投影倍率を変化させることで、被写体を原寸大で再現することができる。他に、煙草の箱又は硬貨等の比較対象物と共に被写体を撮像する技術も考えられるが、当該技術では、投影時の環境が撮像時と異なる場合、原寸大で投影することが困難になる。よって、例えば、ユーザが、実物の比較対象物と投影された比較対象物とを比較して投影倍率を調整する等の操作を要していた。これに対し、本例によれば、投影時の環境が撮像時と異なる場合であっても、被写体を原寸大で再現することができる。
【０８６４】
［例８］
本例は、上記説明した具体例４に関する実施例である。本例では、図２９９〜図３１７を参照して、具体例４に係る内部処理について詳しく説明する。以下では、プロジェクション型の情報処理システム１００ａを想定して説明するが、図１〜図４を参照して説明したどのタイプでも、以下に説明する例に係るＵＩを実現可能である。
【０８６５】
（構成例）
まず、本例に係る情報処理システム１００に特徴的な構成を説明する。
【０８６６】
（１）入力部
本例に係る入力部１１０は、テーブル１４０ａ上の物体を検知する機能を有する。入力部１１０は、例えばテーブル１４０ａ上の画像（静止画像又は動画像）を取得するカメラ、深度情報を取得するステレオカメラ、テーブル１４０ａに設けられるタッチセンサ等により実現され得る。例えば、入力部１１０は、テーブル１４０ａへの指によるタッチ、又は指を離した状態でテーブル１４０ａ上に浮かせている手を検知する。そして、入力部１１０は、検知した入力情報を制御部１２０へ出力する。
【０８６７】
（２）出力部１３０
本例に係る出力部１３０は、画像を表示する表示部としての機能を有する。例えば、出力部１３０は、図１〜図４に示したように、テーブル１４０ａの上部又は下部からテーブル１４０ａに向けて投影するプロジェクタ、タッチパネル式又はフラットパネル式のディスプレイにより実現される。他にも、出力部１３０は、スピーカ等の音声出力部としての機能を有していてもよい。
【０８６８】
（３）検出部
・指検出機能
本例に係る検出部１２１は、入力部１１０から出力された入力情報に基づいて、ユーザの指を検出する機能を有する。検出部１２１は、操作可能本数決定機能及び指検出機能を有する。
【０８６９】
・操作可能本数決定機能
検出部１２１は、操作可能本数を決定する機能を有する。以下、検出部１２１による操作可能本数の決定処理について詳しく説明する。
【０８７０】
まず、検出部１２１は、システム認識限界本数Ｎ本を決定する。システム認識限界本数とは、情報処理システム１００が認識可能な上限の本数を意味し、上述した計算量上の認識可能上限数に相当する。例えば、検出部１２１は、システム認識限界本数Ｎ本を、利用中のアプリケーションの処理負荷から動的に算出しても良いし、システムのハードウェア要件から固定値として決定してもよい。
【０８７１】
次いで、検出部１２１は、アプリケーションごとの操作限界本数Ｍ本を決定する。ここで、Ｍ≦Ｎとする。検出部１２１は、アプリケーションの内容に応じてＭ本を決定してもよい。例えば、検出部１２１は、ホッケーゲームであればＭ＝２本とし、麻雀であればＭ＝４本とする。また、検出部１２１は、Ｍ＝Ｎとしてもよい。
【０８７２】
次に、検出部１２１は、余剰本数Ｐ本を決定する。通常、検出部１２１は、Ｐ＝１本とする。他にも、検出部１２１は、Ｎ＞Ｐ＞＝Ｎ−Ｍを満たす任意の数として良い。
【０８７３】
そして、検出部１２１は、操作可能本数を（Ｍ−Ｐ）本として決定する。なお、操作可能本数は、上述した仕様上の認識可能上限数に相当する。余剰本数によって、操作可能本数が少なくともシステム認識限界本数よりも少なくなるので、情報処理システム１００は、操作可能本数を超過した指に対して認識できない旨をフィードバックすることが可能となる。
【０８７４】
・指検出機能
検出部１２１は、ユーザの指を、操作権を有する指と有さない指の２種類に分けて検出する。検出部１２１は、操作可能本数に達するまでの間に検出された指を、操作権を有する指として検出する。そして、検出部１２１は、操作可能本数に達した後に検出された指を、操作権を有さない指として検出する。
【０８７５】
操作権を有する指がテーブル１４０ａへのタッチを継続する場合、検出部１２１は、操作権を継続して当該指に与える。一方、操作権を有する指がテーブル１４０ａへのタッチを停止して操作をやめた場合、操作権は失われ、例えば他の指に操作権が移行する。ただし、検出部１２１は、操作権を有する指がテーブル１４０ａへのタッチを停止して操作をやめた場合であっても、再度の操作が見込まれる場合には、継続して当該指に操作権を与える。以下、図２９９〜図３００を参照して、再度の操作が見込まれる例について具体的に説明する。
【０８７６】
図２９９は、本例に係るユーザインタフェースの一例を説明するための説明図である。図２９９に示した例では、ユーザが操作権を有する指をタッチ点４４０１から遠く離した状態を示している。例えば、検出部１２１は、操作権を有する指がタッチを中断してから所定時間以内である場合、操作のあったタッチ点４４０１を起点とした任意の広さの近傍エリア４４０２に、引き続き指が存在しているものとみなす。検出部１２１は、所定時間経過するまで操作権を留保しておき、近傍エリア４４０２内をタッチした指に留保しておいた操作権を与える。一方、検出部１２１は、所定時間経過後は操作権を開放し、例えば他の指に操作権を与える。なお、検出部１２１は、所定時間経過前であっても、近傍エリア４４０２外をタッチした指には、留保しておいた操作権を与えない。このように操作権が留保されることで、例えばユーザが操作を中断してテーブル１４０ａの下に落ちた物を拾って、また同じ場所から操作を再開することが可能となる。
【０８７７】
図３００は、本例に係るユーザインタフェースの一例を説明するための説明図である。図３００に示した例では、ユーザが操作権を有する指をタッチ点４４０３から離したもののテーブル１４０ａ上に手を留めている状態を示している。例えば、検出部１２１は、操作権を有する指がタッチを中断しても、継続して手の形状４４０４が深度情報等により検出される場合には、その手が操作権を有するものとみなす。これにより、例えばユーザがある操作の後に手を出したまま画面内の動画等を見ていた場合に、その手で操作を再開することが可能となる。
【０８７８】
また、操作権は、タッチして操作を開始した指以外にも、操作の開始が見込まれる指にも与えられ得る。以下、図３０１を参照して、操作の開始が見込まれる例について具体的に説明する。
【０８７９】
図３０１は、本例に係るユーザインタフェースの一例を説明するための説明図である。図３０１に示した例では、操作をしていないものの、テーブル１４０ａ上に指が差し出されている状態を示している。例えば、検出部１２１は、タッチは検出されていないが、深度情報等により指が検出されている場合、その指に操作権を与える。これにより、例えばユーザが指を出しているものの、逡巡してとっさに操作をしない場合にも、その指による操作が可能となる。
【０８８０】
（４）出力制御部１２２
本例に係る出力制御部１２２は、ユーザへ操作可否をフィードバックするよう出力部１３０を制御する機能を有する。例えば、出力制御部１２２は、操作権を有する指による操作が検出された場合に、操作可能である旨のフィードバックを行う。一方で、出力制御部１２２は、操作権を有さない指による操作が検出された場合、例えば操作可能本数を超える指が新たに検出された場合に、操作不可能である旨のフィードバックを行う。出力制御部１２２は、操作可能本数（Ｍ−Ｐ）本を超える数の指であっても、システム認識限界本数Ｎ本まで検出可能である。このため、出力制御部１２２は、Ｎ本に達するまでの指に対して、操作不可能である旨の警告をフィードバックすることができる。
【０８８１】
出力制御部１２２が警告をフィードバックする条件は多様に考えられる。例えば、出力制御部１２２は、所定回数以上、操作権を有さない指を検出した場合、又は所定期間以上操作権を有さない指を継続して検出した場合に、警告をフィードバックしてもよい。また、出力制御部１２２は、複数のフィードバックを組み合わせてもよく、各フィードバックに異なる条件を設定してもよい。例えば、出力制御部１２２は、ドラッグ開始を意味するポインタの色が変わるフィードバックを、初めて指が検出された瞬間から行い、ビープ音を鳴らすフィードバックを、当該瞬間の５秒後から開始してもよい。
【０８８２】
以下、図３０２〜図３１５を参照して、出力制御部１２２によるフィードバックのバリエーションについて説明する。図３０２〜図３１５は、本例に係るユーザインタフェースの一例を説明するための説明図である。なお、図３０２〜図３１２では、操作可能である旨のフィードバックＡと操作不可能である旨のフィードバックＢとをそれぞれ示している。
【０８８３】
図３０２に示した例では、入力箇所（指先又はタッチ点）に、操作可能である場合と不可能である場合とで異なる色合いのマークが表示される。
【０８８４】
図３０３〜図３０５に示した例では、入力箇所に、操作可能である場合と不可能である場合とで異なる形状のマークが表示される。例えば、図３０３に示した例では、操作不可能である場合に、操作不可能である旨を表現した×印のマークが表示される。また、図３０４に示した例では、操作不可能である場合に、操作不可能である旨を表現した×印を手で作ったキャラクターが表示される。また、図３０５に示した例では、操作不可能である場合に、囲いの外に手を動かしても操作できないことが表現した、手を囲うマークが表示される。
【０８８５】
図３０６〜図３０７に示した例では、操作可能である場合と不可能である場合とで異なる場所にマークが表示される。例えば、図３０６に示した例では、操作可能である場合は入力箇所にマークが表示され、操作不可能である場合は手の甲にマークが表示される。また、図３０７に示した例では、操作不可能である場合に、指を切るようなマークが表示される。
【０８８６】
図３０８〜図３１０に示した例では、操作可能である場合は静的なマークが表示され、操作不可能である場合は動的に変化するマークが表示される。例えば、図３０８に示した例では、操作不可能である場合に、操作可能である場合と同様のマークが一旦は表示されるが、そのマークが散るエフェクトが表示される。これにより、ユーザは、自身が操作権を有していないことを知ることができる。また、図３０９に示した例では、操作不可能である場合に、マークが指先から徐々に指を遡って移動するエフェクトが表示される。また、図３１０に示した例では、操作不可能である場合に、指を押し返すようなエフェクトが表示される。図３０９及び図３１０に示した例によれば、ユーザは、自発的に指を引っ込めるよう促される。
【０８８７】
図３１１に示した例では、操作可能である場合と不可能である場合とで、表示オブジェクトへの操作の反応が異なって表示される。表示オブジェクトとは、例えばアプリケーションウィンドウ、メニューアイコン又は起動アイコン等の、操作可能なオブジェクトを指す。例えば、操作可能である場合、タッチされた表示オブジェクトは色合いを変えない。一方で操作不可能である場合、タッチされた表示オブジェクトの色合いが希薄化して、操作不可能であることが表現される。
【０８８８】
図３１２に示した例では、操作不可能である場合に、操作不可能である旨を示すメッセージが表示される。この例では、メッセージの一例として、「操作できる最大人数を超えています」が表示される。
【０８８９】
図３１３に示した例では、ゲームにおいて、操作可能である場合と操作不可能である場合とで異なる操作オブジェクトが表示される。例えば、操作権を有する指の指先には戦闘機アイコンが表示され、ユーザは戦闘機を操作してゲームに参加することができる。一方、操作権を有さない指の指先には旗アイコンが表示され、ユーザは旗を振って応援できるに過ぎない。
【０８９０】
図３１４に示した例では、テーブル１４０ａ上に操作権の消費数及び残数が表示されている。例えば、図３１４Ａに示した例では、操作権を有する指は２本であるので、操作権の消費数が２であり残数が１である旨が表示されている。また、図３１４Ｂに示した例では、操作権を有する指は３本であるので、操作権の消費数が３であり残数が０である旨が表示されている。また、図３１４Ｃに示した例では、操作権を有する指は３本であり、操作権を有さない指は２本である。このため、図３１４Ｃに示した例では、操作権の消費数が３であり残数が０である旨が表示されると共に、操作権を有する指と有さない指とで異なる色合いのマークが表示される。
【０８９１】
図３１５に示した例では、操作可能である場合と不可能である場合とで、異なる音声が出力される。例えば、操作可能である場合は音声が出力されず、操作不可能である場合には音声が出力されてもよい。この場合、例えばネガティブなビープ音、又は「人数オーバーです」といった言葉が出力され得る。なお、出力制御部１２２は、操作不可能となったユーザに近い場所に設けられたスピーカから、これらの音声を出力させてもよい。
【０８９２】
以上、本例に係る情報処理システム１００に特徴的な構成例について説明した。続いて、図３１６及び図３１７を参照して、本例に係る情報処理システム１００の動作処理について説明する。
【０８９３】
（動作処理）
図３１６は、本例に係る情報処理システム１００において実行される表示制御処理の流れの一例を示すフローチャートである。図３１６では、操作可能本数を決定するための事前処理の流れの一例を示している。
【０８９４】
図３１６に示すように、まず、ステップＳ４４０２で、検出部１２１は、システム認識限界本数Ｎ本を決定する。
【０８９５】
次いで、ステップＳ４４０４で、検出部１２１は、操作限界本数Ｍ本を決定する。
【０８９６】
次に、ステップＳ４４０６で、検出部１２１は、余剰本数Ｐ本を決定する。
【０８９７】
そして、ステップＳ４４０８で、検出部１２１は、操作可能本数を（Ｍ−Ｐ）本として決定する。
【０８９８】
以上、操作可能本数を決定するための事前処理について説明した。
【０８９９】
図３１７は、本例に係る情報処理システム１００において実行される表示制御処理の流れの一例を示すフローチャートである。図３１７では、情報処理システム１００がユーザ操作を検出する際の、フレーム毎の指の検出処理の流れの一例を示している。図３１７に示した処理は、フレームが切り替わり、新たな指認識処理対象のデータが得られる度に繰り返される。
【０９００】
図３１７に示すように、まず、ステップＳ４４１２で、検出部１２１は、指認識処理の対象データを取得する。例えば、検出部１２１は、入力部１１０から出力された入力情報を取得する。
【０９０１】
次いで、ステップＳ４４１４で、検出部１２１は、前フレームで操作権を有していた指を対象とした指認識処理を行う。このとき、検出部１２１は、タッチ操作が検出された指だけでなく、図２９９〜図３０１を参照して上記説明したタッチ操作が検出されない指も含めて、操作権を有していた指を検出する。なお、検出部１２１は、図２９９〜図３０１を参照して上記説明した検出技術を組み合わせて用いてもよい。このように、検出部１２１は、前フレームで操作権を有していた指をまず始めに指認識対象とすることで、前フレームで操作権を有していた指へ優先的に操作権を付与する。
【０９０２】
次に、ステップＳ４４１６で、検出部１２１は、認識した指の本数はシステムの認識限界本数Ｎ本に達したか否かを判定する。
【０９０３】
達したと判定された場合（Ｓ４４１６／ＹＥＳ）、処理は終了する。
【０９０４】
一方で、達していないと判定された場合（Ｓ４４１６／ＮＯ）、ステップＳ４４１８で、検出部１２１は、前フレームで操作権を有していなかった指を対象とした指認識処理を行う。これにより、検出部１２１は、今フレームから新たに登場した指を認識する。
【０９０５】
新たな指が認識されなかった場合（Ｓ４４２０／ＮＯ）、処理は終了する。
【０９０６】
一方で、新たな指が認識された場合（Ｓ４４２０／ＹＥＳ）、ステップＳ４４２２で、検出部１２１は、新たに認識された指が操作可能本数に収まるか否かを判定する。
【０９０７】
収まらないと判定された場合（Ｓ４４２２／ＮＯ）、ステップＳ４４２４で、出力制御部１２２は、操作不可能である旨のフィードバックを行う。出力制御部１２２は、図３０２〜図３１５に示したフィードバック例を組み合わせてもよいし、他の任意のフィードバックを行ってもよい。
【０９０８】
一方で、収まると判定された場合（Ｓ４４２２／ＹＥＳ）、ステップＳ４４２６で、検出部１２１は、認識された指による操作が有効な操作であるか否かを判定する。
【０９０９】
有効な操作であると判定された場合（Ｓ４４２６／ＹＥＳ）、ステップＳ４４２８で、検出部１２１は、操作イベントを発行する。このとき、例えば検出部１２１は、新たに認識された指に操作権を付与する。有効な操作でないと判定された場合（Ｓ４４２６／ＮＯ）、操作イベントは発行されない。検出部１２１は、操作イベントが発行されない場合であっても、新たに認識された指に操作権を付与してもよい。
【０９１０】
次いで、ステップＳ４４３０で、検出部１２１は、対象データの最後まで指認識処理を行ったか否かを判定する。例えば、検出部１２１は、ステップＳ４４１８における指認識処理においてまだ未走査の領域があるか否かにより、本判定を行う。
【０９１１】
対象データの最後まで指認識処理を行っていないと判定された場合（Ｓ４４３０／ＮＯ）、処理は再度ステップＳ４４１６に戻る。一方で、対象データの最後まで指認識処理を行ったと判定された場合（Ｓ４４３０／ＹＥＳ）、今フレームの処理は終了する。
【０９１２】
以上、本例に係る情報処理システム１００の動作処理について説明した。
【０９１３】
＜３．ハードウェア構成例＞
次に、図３１８を参照して、本開示の一実施形態にかかる情報処理システム１００のハードウェア構成について説明する。図３１８は、本開示の実施形態にかかる情報処理システム１００のハードウェア構成例を示すブロック図である。
【０９１４】
図３１８に示すように、情報処理システム１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）９０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０３、およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０５を含む。また、情報処理システム１００は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、入力装置９１５、出力装置９１７、ストレージ装置９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含んでもよい。さらに、情報処理システム１００は、必要に応じて、撮像装置９３３、およびセンサ９３５を含んでもよい。情報処理システム１００は、ＣＰＵ９０１に代えて、またはこれとともに、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）またはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）と呼ばれるような処理回路を有してもよい。
【０９１５】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理システム１００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。
【０９１６】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置９１５は、ユーザの音声を検出するマイクを含んでもよい。入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理システム１００の操作に対応した携帯電話などの外部接続機器９２９であってもよい。入力装置９１５は、ユーザが入力した情報に基づいて入力信号を生成してＣＰＵ９０１に出力する入力制御回路を含む。ユーザは、この入力装置９１５を操作することによって、情報処理システム１００に対して各種のデータを入力したり処理動作を指示したりする。また、後述する撮像装置９３３も、ユーザの手の動きなどを撮像することによって、入力装置として機能しうる。
【０９１７】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置９１７は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＰＤＰ（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ、プロジェクタなどの表示装置、ホログラムの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置９１７は、情報処理システム１００の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。また、出力装置９１７は、周囲を明るくするためライトなどを含んでもよい。
【０９１８】
ストレージ装置９１９は、情報処理システム１００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０９１９】
ドライブ９２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体９２７のためのリーダライタであり、情報処理システム１００に内蔵、あるいは外付けされる。ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録を書き込む。
【０９２０】
接続ポート９２３は、機器を情報処理システム１００に直接接続するためのポートである。接続ポート９２３は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポートなどでありうる。また、接続ポート９２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポートなどであってもよい。接続ポート９２３に外部接続機器９２９を接続することで、情報処理システム１００と外部接続機器９２９との間で各種のデータが交換されうる。
【０９２１】
通信装置９２５は、例えば、通信ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カードなどでありうる。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置９２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置９２５に接続される通信ネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【０９２２】
撮像装置９３３は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置９３３は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
【０９２３】
センサ９３５は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサなどの各種のセンサである。センサ９３５は、例えば情報処理システム１００の筐体の姿勢など、情報処理システム１００自体の状態に関する情報や、情報処理システム１００の周辺の明るさや騒音など、情報処理システム１００の周辺環境に関する情報を取得する。また、センサ９３５は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）信号を受信して装置の緯度、経度および高度を測定するＧＰＳセンサを含んでもよい。
【０９２４】
以上、情報処理システム１００のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
【０９２５】
＜４．まとめ＞
以上説明したように本開示の一実施形態によれば、情報を表示しようとする環境や、表示されている情報の状況に応じて、より適切かつ効率的な情報を表示することが可能な情報処理システム１００が提供される。
【０９２６】
本明細書の各装置が実行する処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、各装置が実行する処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
【０９２７】
また、各装置に内蔵されるＣＰＵ、ＲＯＭおよびＲＡＭなどのハードウェアを、上述した各装置の構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供されることが可能である。また、機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。
【０９２８】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０９２９】
なお、上記実施形態で示したユーザインタフェースやアプリケーションを実現するソフトウェアは、インターネット等のネットワークを介して使用するウェブアプリケーションとして実現されてもよい。ウェブアプリケーションは、例えば、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＳＧＭＬ（Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などのマークアップ言語により実現されてもよい。
【０９３０】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０９３１】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
表示面上の実オブジェクトの情報に応じて前記表示面に表示される表示オブジェクトの表示領域を決定する表示制御部、
を備える、表示制御装置。
（２）
前記実オブジェクトの情報は、前記実オブジェクトの属性情報を含む、前記（１）に記載の表示制御装置。
（３）
前記属性情報は、前記実オブジェクトを移動させる困難さに関する情報を含む、前記（２）に記載の表示制御装置。
（４）
前記属性情報は、前記表示オブジェクトとの関係性に関する情報を含む、前記（２）又は（３）に記載の表示制御装置。
（５）
前記表示制御部は、位置、大きさ、又は角度の少なくともいずれかにより前記表示オブジェクトの表示領域を決定する、前記（１）〜（４）のいずれか一項に記載の表示制御装置。
（６）
前記表示制御部は、前記実オブジェクトに重ならないように前記表示オブジェクトの表示領域を決定する、前記（１）〜（５）のいずれか一項に記載の表示制御装置。
（７）
前記表示制御部は、前記表示オブジェクトの表示領域の候補を評価する評価関数を用いて前記表示領域を決定する、前記（１）〜（６）のいずれか一項に記載の表示制御装置。
（８）
前記表示制御部は、ユーザ操作に応じて前記評価関数のパラメータを設定する、前記（７）に記載の表示制御装置。
（９）
前記表示制御部は、前記表示面にすでに表示されている他の表示オブジェクトの情報にさらに応じて、表示オブジェクトの表示領域を決定する、前記（１）〜（８）のいずれか一項に記載の表示制御装置。
（１０）
前記表示制御部は、前記他の表示オブジェクトよりも前面に前記表示オブジェクトの表示領域を決定する、前記（９）に記載の表示制御装置。
（１１）
前記表示制御部は、前記他の表示オブジェクトの表示領域に重ならないよう前記表示オブジェクトの表示領域を決定する、前記（９）又は（１０）に記載の表示制御装置。
（１２）
前記表示制御部は、前記表示オブジェクトの表示領域に重ならないよう前記他の表オブジェクトの表示領域を変更する、前記（９）〜（１１）のいずれか一項に記載の表示制御装置。
（１３）
前記他の表示オブジェクトの情報は、前記表示オブジェクトとの関係性に関する情報を含む、前記（９）〜（１２）のいずれか一項に記載の表示制御装置。
（１４）
前記表示制御部は、前記表示オブジェクトの表示対象であるユーザの情報にさらに応じて、前記表示オブジェクトの表示領域を決定する、前記（１）〜（１３）のいずれか一項に記載の表示制御装置。
（１５）
前記ユーザの情報は、前記ユーザの位置又は向きの少なくともいずれかを示す情報を含む、前記（１４）に記載の表示制御装置。
（１６）
表示面上の実オブジェクトの情報に応じて前記表示面に表示される表示オブジェクトの表示領域をプロセッサにより決定すること、
を含む、表示制御方法。
（１７）
コンピュータを、
表示面上の実オブジェクトの情報に応じて前記表示面に表示される表示オブジェクトの表示領域を決定する表示制御部、
として機能させるためのプログラム。
【符号の説明】
【０９３２】
１００    情報処理システム
１１０    入力部
１２０    制御部
１３０    出力部
【図１】
2019185812.tif 000009
【図２】
2019185812.tif 000010
【図３】
2019185812.tif 000011
【図４】
2019185812.tif 000012
【図５】
2019185812.tif 000013
【図６】
2019185812.tif 000014
【図７】
2019185812.tif 000015
【図８】
2019185812.tif 000016
【図９】
2019185812.tif 000017
【図１０】
2019185812.tif 000018
【図１１】
2019185812.tif 000019
【図１２】
2019185812.tif 000020
【図１３】
2019185812.tif 000021
【図１４】
2019185812.tif 000022
【図１５】
2019185812.tif 000023
【図１６】
2019185812.tif 000024
【図１７】
2019185812.tif 000025
【図１８】
2019185812.tif 000026
【図１９】
2019185812.tif 000027
【図２０】
2019185812.tif 000028
【図２１】
2019185812.tif 000029
【図２２】
2019185812.tif 000030
【図２３】
2019185812.tif 000031
【図２４】
2019185812.tif 000032
【図２５】
2019185812.tif 000033
【図２６】
2019185812.tif 000034
【図２７】
2019185812.tif 000035
【図２８】
2019185812.tif 000036
【図２９】
2019185812.tif 000037
【図３０】
2019185812.tif 000038
【図３１】
2019185812.tif 000039
【図３２】
2019185812.tif 000040
【図３３】
2019185812.tif 000041
【図３４】
2019185812.tif 000042
【図３５】
2019185812.tif 000043
【図３６】
2019185812.tif 000044
【図３７】
2019185812.tif 000045
【図３８】
2019185812.tif 000046
【図３９】
2019185812.tif 000047
【図４０】
2019185812.tif 000048
【図４１】
2019185812.tif 000049
【図４２】
2019185812.tif 000050
【図４３】
2019185812.tif 000051
【図４４】
2019185812.tif 000052
【図４５】
2019185812.tif 000053
【図４６】
2019185812.tif 000054
【図４７】
2019185812.tif 000055
【図４８】
2019185812.tif 000056
【図４９】
2019185812.tif 000057
【図５０】
2019185812.tif 000058
【図５１】
2019185812.tif 000059
【図５２】
2019185812.tif 000060
【図５３】
2019185812.tif 000061
【図５４】
2019185812.tif 000062
【図５５】
2019185812.tif 000063
【図５６】
2019185812.tif 000064
【図５７】
2019185812.tif 000065
【図５８】
2019185812.tif 000066
【図５９】
2019185812.tif 000067
【図６０】
2019185812.tif 000068
【図６１】
2019185812.tif 000069
【図６２】
2019185812.tif 000070
【図６３】
2019185812.tif 000071
【図６４】
2019185812.tif 000072
【図６５】
2019185812.tif 000073
【図６６】
2019185812.tif 000074
【図６７】
2019185812.tif 000075
【図６８】
2019185812.tif 000076
【図６９】
2019185812.tif 000077
【図７０】
2019185812.tif 000078
【図７１】
2019185812.tif 000079
【図７２】
2019185812.tif 000080
【図７３】
2019185812.tif 000081
【図７４】
2019185812.tif 000082
【図７５】
2019185812.tif 000083
【図７６】
2019185812.tif 000084
【図７７】
2019185812.tif 000085
【図７８】
2019185812.tif 000086
【図７９】
2019185812.tif 000087
【図８０】
2019185812.tif 000088
【図８１】
2019185812.tif 000089
【図８２】
2019185812.tif 000090
【図８３】
2019185812.tif 000091
【図８４】
2019185812.tif 000092
【図８５】
2019185812.tif 000093
【図８６】
2019185812.tif 000094
【図８７】
2019185812.tif 000095
【図８８】
2019185812.tif 000096
【図８９】
2019185812.tif 000097
【図９０】
2019185812.tif 000098
【図９１】
2019185812.tif 000099
【図９２】
2019185812.tif 000100
【図９３】
2019185812.tif 000101
【図９４】
2019185812.tif 000102
【図９５】
2019185812.tif 000103
【図９６】
2019185812.tif 000104
【図９７】
2019185812.tif 000105
【図９８】
2019185812.tif 000106
【図９９】
2019185812.tif 000107
【図１００】
2019185812.tif 000108
【図１０１】
2019185812.tif 000109
【図１０２】
2019185812.tif 000110
【図１０３】
2019185812.tif 000111
【図１０４】
2019185812.tif 000112
【図１０５】
2019185812.tif 000113
【図１０６】
2019185812.tif 000114
【図１０７】
2019185812.tif 000115
【図１０８】
2019185812.tif 000116
【図１０９】
2019185812.tif 000117
【図１１０】
2019185812.tif 000118
【図１１１】
2019185812.tif 000119
【図１１２】
2019185812.tif 000120
【図１１３】
2019185812.tif 000121
【図１１４】
2019185812.tif 000122
【図１１５】
2019185812.tif 000123
【図１１６】
2019185812.tif 000124
【図１１７】
2019185812.tif 000125
【図１１８】
2019185812.tif 000126
【図１１９】
2019185812.tif 000127
【図１２０】
2019185812.tif 000128
【図１２１】
2019185812.tif 000129
【図１２２】
2019185812.tif 000130
【図１２３】
2019185812.tif 000131
【図１２４】
2019185812.tif 000132
【図１２５】
2019185812.tif 000133
【図１２６】
2019185812.tif 000134
【図１２７】
2019185812.tif 000135
【図１２８】
2019185812.tif 000136
【図１２９】
2019185812.tif 000137
【図１３０】
2019185812.tif 000138
【図１３１】
2019185812.tif 000139
【図１３２】
2019185812.tif 000140
【図１３３】
2019185812.tif 000141
【図１３４】
2019185812.tif 000142
【図１３５】
2019185812.tif 000143
【図１３６】
2019185812.tif 000144
【図１３７】
2019185812.tif 000145
【図１３８】
2019185812.tif 000146
【図１３９】
2019185812.tif 000147
【図１４０】
2019185812.tif 000148
【図１４１】
2019185812.tif 000149
【図１４２】
2019185812.tif 000150
【図１４３】
2019185812.tif 000151
【図１４４】
2019185812.tif 000152
【図１４５】
2019185812.tif 000153
【図１４６】
2019185812.tif 000154
【図１４７】
2019185812.tif 000155
【図１４８】
2019185812.tif 000156
【図１４９】
2019185812.tif 000157
【図１５０】
2019185812.tif 000158
【図１５１】
2019185812.tif 000159
【図１５２】
2019185812.tif 000160
【図１５３】
2019185812.tif 000161
【図１５４】
2019185812.tif 000162
【図１５５】
2019185812.tif 000163
【図１５６】
2019185812.tif 000164
【図１５７】
2019185812.tif 000165
【図１５８】
2019185812.tif 000166
【図１５９】
2019185812.tif 000167
【図１６０】
2019185812.tif 000168
【図１６１】
2019185812.tif 000169
【図１６２】
2019185812.tif 000170
【図１６３】
2019185812.tif 000171
【図１６４】
2019185812.tif 000172
【図１６５】
2019185812.tif 000173
【図１６６】
2019185812.tif 000174
【図１６７】
2019185812.tif 000175
【図１６８】
2019185812.tif 000176
【図１６９】
2019185812.tif 000177
【図１７０】
2019185812.tif 000178
【図１７１】
2019185812.tif 000179
【図１７２】
2019185812.tif 000180
【図１７３】
2019185812.tif 000181
【図１７４】
2019185812.tif 000182
【図１７５】
2019185812.tif 000183
【図１７６】
2019185812.tif 000184
【図１７７】
2019185812.tif 000185
【図１７８】
2019185812.tif 000186
【図１７９】
2019185812.tif 000187
【図１８０】
2019185812.tif 000188
【図１８１】
2019185812.tif 000189
【図１８２】
2019185812.tif 000190
【図１８３】
2019185812.tif 000191
【図１８４】
2019185812.tif 000192
【図１８５】
2019185812.tif 000193
【図１８６】
2019185812.tif 000194
【図１８７】
2019185812.tif 000195
【図１８８】
2019185812.tif 000196
【図１８９】
2019185812.tif 000197
【図１９０】
2019185812.tif 000198
【図１９１】
2019185812.tif 000199
【図１９２】
2019185812.tif 000200
【図１９３】
2019185812.tif 000201
【図１９４】
2019185812.tif 000202
【図１９５】
2019185812.tif 000203
【図１９６】
2019185812.tif 000204
【図１９７】
2019185812.tif 000205
【図１９８】
2019185812.tif 000206
【図１９９】
2019185812.tif 000207
【図２００】
2019185812.tif 000208
【図２０１】
2019185812.tif 000209
【図２０２】
2019185812.tif 000210
【図２０３】
2019185812.tif 000211
【図２０４】
2019185812.tif 000212
【図２０５】
2019185812.tif 000213
【図２０６】
2019185812.tif 000214
【図２０７】
2019185812.tif 000215
【図２０８】
2019185812.tif 000216
【図２０９】
2019185812.tif 000217
【図２１０】
2019185812.tif 000218
【図２１１】
2019185812.tif 000219
【図２１２】
2019185812.tif 000220
【図２１３】
2019185812.tif 000221
【図２１４】
2019185812.tif 000222
【図２１５】
2019185812.tif 000223
【図２１６】
2019185812.tif 000224
【図２１７】
2019185812.tif 000225
【図２１８】
2019185812.tif 000226
【図２１９】
2019185812.tif 000227
【図２２０】
2019185812.tif 000228
【図２２１】
2019185812.tif 000229
【図２２２】
2019185812.tif 000230
【図２２３】
2019185812.tif 000231
【図２２４】
2019185812.tif 000232
【図２２５】
2019185812.tif 000233
【図２２６】
2019185812.tif 000234
【図２２７】
2019185812.tif 000235
【図２２８】
2019185812.tif 000236
【図２２９】
2019185812.tif 000237
【図２３０】
2019185812.tif 000238
【図２３１】
2019185812.tif 000239
【図２３２】
2019185812.tif 000240
【図２３３】
2019185812.tif 000241
【図２３４】
2019185812.tif 000242
【図２３５】
2019185812.tif 000243
【図２３６】
2019185812.tif 000244
【図２３７】
2019185812.tif 000245
【図２３８】
2019185812.tif 000246
【図２３９】
2019185812.tif 000247
【図２４０】
2019185812.tif 000248
【図２４１】
2019185812.tif 000249
【図２４２】
2019185812.tif 000250
【図２４３】
2019185812.tif 000251
【図２４４】
2019185812.tif 000252
【図２４５】
2019185812.tif 000253
【図２４６】
2019185812.tif 000254
【図２４７】
2019185812.tif 000255
【図２４８】
2019185812.tif 000256
【図２４９】
2019185812.tif 000257
【図２５０】
2019185812.tif 000258
【図２５１】
2019185812.tif 000259
【図２５２】
2019185812.tif 000260
【図２５３】
2019185812.tif 000261
【図２５４】
2019185812.tif 000262
【図２５５】
2019185812.tif 000263
【図２５６】
2019185812.tif 000264
【図２５７】
2019185812.tif 000265
【図２５８】
2019185812.tif 000266
【図２５９】
2019185812.tif 000267
【図２６０】
2019185812.tif 000268
【図２６１】
2019185812.tif 000269
【図２６２】
2019185812.tif 000270
【図２６３】
2019185812.tif 000271
【図２６４】
2019185812.tif 000272
【図２６５】
2019185812.tif 000273
【図２６６】
2019185812.tif 000274
【図２６７】
2019185812.tif 000275
【図２６８】
2019185812.tif 000276
【図２６９】
2019185812.tif 000277
【図２７０】
2019185812.tif 000278
【図２７１】
2019185812.tif 000279
【図２７２】
2019185812.tif 000280
【図２７３】
2019185812.tif 000281
【図２７４】
2019185812.tif 000282
【図２７５】
2019185812.tif 000283
【図２７６】
2019185812.tif 000284
【図２７７】
2019185812.tif 000285
【図２７８】
2019185812.tif 000286
【図２７９】
2019185812.tif 000287
【図２８０】
2019185812.tif 000288
【図２８１】
2019185812.tif 000289
【図２８２】
2019185812.tif 000290
【図２８３】
2019185812.tif 000291
【図２８４】
2019185812.tif 000292
【図２８５】
2019185812.tif 000293
【図２８６】
2019185812.tif 000294
【図２８７】
2019185812.tif 000295
【図２８８】
2019185812.tif 000296
【図２８９】
2019185812.tif 000297
【図２９０】
2019185812.tif 000298
【図２９１】
2019185812.tif 000299
【図２９２】
2019185812.tif 000300
【図２９３】
2019185812.tif 000301
【図２９４】
2019185812.tif 000302
【図２９５】
2019185812.tif 000303
【図２９６】
2019185812.tif 000304
【図２９７】
2019185812.tif 000305
【図２９８】
2019185812.tif 000306
【図２９９】
2019185812.tif 000307
【図３００】
2019185812.tif 000308
【図３０１】
2019185812.tif 000309
【図３０２】
2019185812.tif 000310
【図３０３】
2019185812.tif 000311
【図３０４】
2019185812.tif 000312
【図３０５】
2019185812.tif 000313
【図３０６】
2019185812.tif 000314
【図３０７】
2019185812.tif 000315
【図３０８】
2019185812.tif 000316
【図３０９】
2019185812.tif 000317
【図３１０】
2019185812.tif 000318
【図３１１】
2019185812.tif 000319
【図３１２】
2019185812.tif 000320
【図３１３】
2019185812.tif 000321
【図３１４】
2019185812.tif 000322
【図３１５】
2019185812.tif 000323
【図３１６】
2019185812.tif 000324
【図３１７】
2019185812.tif 000325
【図３１８】
2019185812.tif 000326
【手続補正書】
【提出日】令和1年7月31日(2019.7.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
投影面上に存在する、食品または飲料に関連する実物体の位置を検出する検出部と、
前記投影面上にコンテンツを投影させる表示制御を行う表示制御部とを有し、
前記表示制御部は、前記検出部が検出した前記実物体の位置に応じて前記コンテンツの投影位置を決定する情報処理装置。
【請求項２】
前記表示制御部は、前記実物体の位置に重ならないように、前記コンテンツの投影位置を決定する、請求項１に記載の情報処理装置。
【請求項３】
前記コンテンツはアプリケーションであり、前記アプリケーションに設定された条件に基づき投影位置を決定する、請求項１に記載の情報処理装置。
【請求項４】
前記アプリケーションに設定された条件は、表示サイズの情報を含む、請求項３に記載の情報処理装置。
【請求項５】
前記アプリケーションに設定された条件は、ユーザとの位置関係の情報を含む、請求項３に記載の情報処理装置。
【請求項６】
前記アプリケーションに設定された条件は、表示位置の情報を含む、請求項３に記載の情報処理装置。
【請求項７】
前記表示制御部は、前記検出部が前記コンテンツを投影するのに不適切な前記実物体を検出した場合、当該実物体を示す表示または当該実物体の移動を促す警告表示を投影する、請求項１に記載の情報処理装置。
【請求項８】
前記表示制御部は、ユーザが実物体を持った時に、当該実物体の所属先が当該ユーザでない場合に、警告表示を行う、請求項１に記載の情報処理装置。
【請求項９】
前記表示制御部は、物体に最初に触れたたユーザを、その物体の所属先に決定する、請求項８に記載の情報処理装置。
【請求項１０】
食品または飲料に関連する実物体は食器を含み、
前記検出部は食器の状態を検出し、
前記表示制御部は、前記食器の状態に応じて投影するコンテンツを決定する、請求項１に記載の情報処理装置。
【請求項１１】
前記表示制御部は、料理が載せられていない食器の状態と現在の食器の状態を比較することで食事の進捗状況を認識する、請求項１０に記載の情報処理装置。
【請求項１２】
前記表示制御部は、食器の状態に応じて食事の進捗状況を認識し、進捗状況に応じて段階的に前記コンテンツを投影させる、請求項１０に記載の情報処理装置。
【請求項１３】
前記実物体は食器を含み、食器と食器以外の投影面にそれぞれ異なるコンテンツを投影する、請求項１に記載の情報処理装置。
【請求項１４】
前記実物体は食品を含み、食品の画像認識に基づき料理を推薦するコンテンツを投影させる、請求項１に記載の情報処理装置。
【請求項１５】
前記実物体は、食品または飲料であり、前記投影面上の前記食品又は飲料の深度情報に基づき追加の食品又は飲料を推薦するコンテンツを投影させる、請求項１に記載の情報処理装置。
【請求項１６】
前記検出部は、前記食品又は飲料の深度情報に基づき前記食品又は飲料の残量を検出し、 前記表示制御部は、前記検出部により検知された残量に応じて追加の食品又は飲料を推薦するコンテンツを投影させる、請求項１５に記載の情報処理装置。
【請求項１７】
前記投影面は食卓であり、前記実物体は食品であり、
前記表示制御部は、食品に応じて食卓に投影するコンテンツを決定する、請求項１に記載の情報処理装置。
【請求項１８】
前記表示制御部は、図形を含む前記コンテンツを投影させる表示制御を行う、請求項１に記載の情報処理装置。
【請求項１９】
投影面上に存在する、食品または飲料に関連する実物体の位置を検出し、
前記投影面上にコンテンツを投影させる表示制御を行い、
検出した前記実物体の位置に応じて前記コンテンツの投影位置を決定すること、
を含む、情報処理方法。
【請求項２０】
コンピュータを、
投影面上に存在する、食品または飲料に関連する実物体の位置を検出する検出部と、
前記投影面上にコンテンツを投影させる表示制御を行う表示制御部として機能させ、
前記表示制御部は、前記検出部が検出した前記実物体の位置に応じて前記コンテンツの投影位置を決定するプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本開示は、情報処理装置、情報処理方法及びプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
そこで本開示では、情報を表示しようとする環境や、表示されている情報の状況に応じて、より適切かつ効率的に情報が表示できるよう制御することが可能な、新規かつ改良された情報処理装置、情報処理方法及びプログラムを提案する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
以上説明したように本開示によれば、情報を表示しようとする環境や、表示されている情報の状況に応じて、より適切かつ効率的に情報が表示できるよう制御することが可能な、新規かつ改良された情報処理装置、情報処理方法及びプログラムが提供される。