(57)【要約】【課題】複数のユーザを考慮した上で複数の連携機器へのＵＩ配置が制御されることが可能な技術が提供されることが望ましい。【解決手段】複数のユーザと複数の機器との位置関係および前記複数のユーザそれぞれの属性のうち少なくともいずれか一方に基づいて、前記複数の機器のうち連携動作を行う複数の連携機器へのＵＩ配置を制御する配置制御部を備える、情報処理装置が提供される。【選択図】図１
2016110178.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザと複数の機器との位置関係および前記複数のユーザそれぞれの属性のうち少なくともいずれか一方に基づいて、前記複数の機器のうち連携動作を行う複数の連携機器へのＵＩ配置を制御する配置制御部を備える、
情報処理装置。
【請求項２】
前記配置制御部は、前記位置関係および異なる機器へのＵＩ重複配置を許容するか否かをＵＩごとに示す重複方針に基づいて、前記複数の連携機器へのＵＩ配置を制御する、
請求項１に記載の情報処理装置。
【請求項３】
前記重複方針は、異なる機器へのＵＩ重複配置を許容することを示す場合、ユーザ数とそのＵＩ部品が割り当てられた機器数とが同一であり、かつ、前記複数の連携機器それぞれの近くにユーザが存在することを条件とするか否かをさらに示す、
請求項２に記載の情報処理装置。
【請求項４】
前記重複方針は、異なる機器へのＵＩ重複配置を許容することを示す場合、前記複数のユーザそれぞれの近くにいずれかの連携機器が存在し、かつ、そのＵＩ部品が割り当てられた連携機器それぞれの近くにいずれかのユーザが存在することを条件とするか否かをさらに示す、
請求項２に記載の情報処理装置。
【請求項５】
前記配置制御部は、前記位置関係が成立する場合において前記重複方針を満たすような各ＵＩの配置先の連携機器の組み合わせを示す配置情報を決定し、前記配置情報に従ってＵＩ配置を制御する、
請求項２に記載の情報処理装置。
【請求項６】
前記配置制御部は、前記位置関係が成立する場合において、配置先の連携機器の種類をＵＩごとに示す機器タイプに関する条件を満たし、かつ、前記重複方針を満たすような前記配置情報を決定する、
請求項５に記載の情報処理装置。
【請求項７】
前記機器タイプは、少なくとも機器カテゴリおよび機器性能のいずれか一方に関する情報を含む、
請求項６に記載の情報処理装置。
【請求項８】
前記配置制御部は、前記位置関係が成立する場合において、前記機器タイプに属し、かつ、前記重複方針を満たすようなＵＩと配置先の連携機器とのペア群をそれぞれ含む複数の配置候補パターンを生成し、前記複数の配置候補パターンそれぞれのスコアを算出し、前記スコアに基づいて複数の配置候補パターンから前記配置情報を決定する、
請求項６に記載の情報処理装置。
【請求項９】
前記配置制御部は、前記配置候補パターンのスコアを、前記配置候補パターンの各ペアに対応する値を合計することにより算出する、
請求項８に記載の情報処理装置。
【請求項１０】
前記配置制御部は、前記配置候補パターンのスコアを、前記配置候補パターンの各ペアについて配置先の連携機器の機器タイプまたは機器性能に対応付けられた値を合計することにより算出する、
請求項９に記載の情報処理装置。
【請求項１１】
前記配置制御部は、各配置候補パターンについて前記スコアをペアの数で除することによって平均スコアを算出し、前記平均スコアが最大となる配置候補パターンを前記配置情報として決定する、
請求項９に記載の情報処理装置。
【請求項１２】
前記配置制御部は、対応するセンサによる検出結果からユーザの視線が検出された機器が存在した場合、前記機器を有するペアに対応する値を高くする、
請求項９に記載の情報処理装置。
【請求項１３】
前記配置制御部は、前記複数のユーザそれぞれの属性に基づいて、前記複数の連携機器へのＵＩ配置を制御する、
請求項１に記載の情報処理装置。
【請求項１４】
前記複数のユーザそれぞれの属性は、少なくとも前記複数のユーザそれぞれに与えられた権限を含む、
請求項１３に記載の情報処理装置。
【請求項１５】
前記配置制御部は、前記複数のユーザそれぞれの属性とＵＩごとに定義された属性条件とに基づいて、前記複数の連携機器へのＵＩ配置を制御する、
請求項１３に記載の情報処理装置。
【請求項１６】
前記配置制御部は、前記複数の連携機器それぞれの近くに存在する１以上のユーザの属性が前記属性条件を満たすような配置情報を決定する、
請求項１５に記載の情報処理装置。
【請求項１７】
前記配置制御部は、対応するセンサによる検出結果から１以上のユーザが認識された機器が存在した場合、前記機器の近くに前記１以上のユーザが存在すると判断する、
請求項１６に記載の情報処理装置。
【請求項１８】
前記位置関係は、前記複数の機器の近くに存在するユーザを識別するための情報を機器ごとに示す情報を含む、
請求項１に記載の情報処理装置。
【請求項１９】
複数のユーザと複数の機器との位置関係および前記複数のユーザそれぞれの属性のうち少なくともいずれか一方に基づいて、前記複数の機器のうち連携動作を行う複数の連携機器へのＵＩ配置を制御することを含む、
情報処理方法。
【請求項２０】
コンピュータを、
複数のユーザと複数の機器との位置関係および前記複数のユーザそれぞれの属性のうち少なくともいずれか一方に基づいて、前記複数の機器のうち連携動作を行う複数の連携機器へのＵＩ配置を制御する配置制御部を備える、
情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、複数の連携機器が連携して動作するシステムが存在する。かかるシステムにおいて、複数の連携機器それぞれには、連携動作のためのＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部品が配置され、各連携機器は、自身に配置されたＵＩ部品を表示させる。ここで、複数の機器それぞれの性能や位置関係に基づいて、複数の機器それぞれに配置すべきＵＩ部品を決定する技術が開示されている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｊｉｓｈｕｏ  Ｙａｎｇ，  Ｄａｎｉｅｌ  Ｗｉｇｄｏｒ著「Ｐａｎｅｌｒａｍａ：Ｅｎａｂｌｉｎｇ  Ｅａｓｙ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｏｆ  Ｃｒｏｓｓ−Ｄｅｖｉｃｅ  Ｗｅｂ  Ａｐｐｌｉｃａｔｉｏｎｓ」、ＣＨＩ  ２０１４、Ｏｎｅ  ｏｆ  ａ  ＣＨＩｎｄ，Ｔｒｏｎｔｏ，ＯＮ，Ｃａｎａｄａ
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、複数のユーザを考慮した上で複数の連携機器へのＵＩ配置が制御されることが可能な技術が提供されることが望ましい。
【課題を解決するための手段】
【０００５】
本開示によれば、複数のユーザと複数の機器との位置関係および前記複数のユーザそれぞれの属性のうち少なくともいずれか一方に基づいて、前記複数の機器のうち連携動作を行う複数の連携機器へのＵＩ配置を制御する配置制御部を備える、情報処理装置が提供される。
【０００６】
本開示によれば、複数のユーザと複数の機器との位置関係および前記複数のユーザそれぞれの属性のうち少なくともいずれか一方に基づいて、前記複数の機器のうち連携動作を行う複数の連携機器へのＵＩ配置を制御することを含む、情報処理方法が提供される。
【０００７】
本開示によれば、コンピュータを、複数のユーザと複数の機器との位置関係および前記複数のユーザそれぞれの属性のうち少なくともいずれか一方に基づいて、前記複数の機器のうち連携動作を行う複数の連携機器へのＵＩ配置を制御する配置制御部を備える、情報処理装置として機能させるためのプログラムが提供される。
【発明の効果】
【０００８】
以上説明したように本開示によれば、複数のユーザを考慮した上で複数の連携機器へのＵＩ配置が制御されることが可能である。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【０００９】
【図１】動画再生アプリケーションの機能がＵＩ部品単位で分割された場合を説明するための図である。
【図２】動画再生アプリケーションの機能がＵＩ部品単位で分割された場合の他の例を説明するための図である。
【図３】本開示の実施形態に係る情報処理装置１０の機能構成例を示す図である。
【図４】本開示の実施形態に係る機器連携に対応した「写真などのコンテンツを閲覧するアプリケーション」の例を説明するための図である。
【図５】本開示の実施形態に係る機器連携に対応した「写真などのコンテンツを閲覧するアプリケーション」の他の例を説明するための図である。
【図６】「写真などのコンテンツを閲覧するアプリケーション」でのａｎｎｏｔａｔｉｏｎの例を示す図である。
【図７】ＨＴＭＬタグ形式でのプログラムコードによって図６に示したａｎｎｏｔａｔｉｏｎを記述した例である。
【図８】本開示の実施形態に係る機器連携に対応した「写真などのコンテンツを閲覧するアプリケーション」の他の例を説明するための図である。
【図９】ａｎｎｏｔａｔｉｏｎの他の例を示す図である。
【図１０】ＵＩ部品の機器への配置を表すマトリクスを示す図である。
【図１１】図１０に示した配置マトリクスの中から一つのＵＩ部品の列のみを抜き出したマトリクスを示す図である。
【図１２】各ＵＩ部品をどの機器に割り当てるかを決める処理の流れを示す図である。
【図１３】図１２に示した処理から呼ばれる「スコア計算（配置マトリクス）」の処理の流れを示す図である。
【図１４】図１３に示した処理から呼ばれる「ｓｉｎｇｌｅＵＩ部品のスコア計算（ＵＩ部品［ＵＩ部品番号］，配置サブマトリクス［ＵＩ部品番号］)」の処理の流れを示す図である。
【図１５】図１３に示した処理から呼ばれる「ｍｕｌｔｉＵＩ部品のスコア計算（ＵＩ部品［ＵＩ部品番号］，配置サブマトリクス［ＵＩ部品番号］)」の処理の流れを示す図である。
【図１６】機器とユーザとのペアの生成例を示す図である。
【図１７】図１３に示した処理から呼ばれる「ｍｉｒｒｏｒＵＩ部品のスコア計算（ＵＩ部品［ＵＩ部品番号］，配置サブマトリクス［ＵＩ部品番号］)」の処理の流れを示す図である。
【図１８】図１３に示した処理から呼ばれる「ｍｉｒｒｏｒＵＩ部品のスコア計算（ＵＩ部品［ＵＩ部品番号］，配置サブマトリクス［ＵＩ部品番号］)」の処理の流れを示す図である。
【図１９】平均スコアの比較例を示す図である。
【図２０Ａ】図１２から呼ばれる「次の配置マトリクス取得（配置マトリクス）」を求める処理の流れを示す図である。
【図２０Ｂ】図２０Ａから呼ばれる「次の配置マトリクス取得サブ（配置マトリクス，ＵＩ部品番号）」を求める処理の流れを示す図である。
【図２１】「写真などのコンテンツを閲覧するアプリケーション」におけるａｎｎｏｔａｔｉｏｎの指定例を示す図である。
【図２２】「ＴＶ電話のアプリケーション」におけるａｎｎｏｔａｔｉｏｎの指定例を示す図である。
【図２３】「絵本や紙芝居を読み聞かせるアプリケーション」におけるａｎｎｏｔａｔｉｏｎの指定例を示す図である。
【図２４】「絵などの共同制作／編集のアプリケーション」におけるａｎｎｏｔａｔｉｏｎの指定例を示す図である。
【図２５】「写真撮影（リモート撮影）のアプリケーション」におけるａｎｎｏｔａｔｉｏｎの指定例を示す図である。
【図２６】本開示の実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１１】
また、本明細書および図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なるアルファベットまたは数字を付して区別する場合もある。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
【００１２】
なお、説明は以下の順序で行うものとする。
１．情報処理システムの概要
２．情報処理システムの機能構成例
３．情報処理システムの機能詳細
４．情報処理システムのハードウェア構成例
５．むすび
【００１３】
＜１．情報処理システムの概要＞
まず、現在普及している機器連携について説明する。現在普及している機器連携の手法としては、インターネットによる動画再生などといったＰｕｓｈ再生、リモートデスクトップやミラキャスト(スクリーンミラーリング)などを用いた画面転送、Ｘ−ｗｉｎｄｏｗシステムなどを用いたウィンドウ転送などが挙げられる。しかし、画面の表示先機器などの指定または選択は、ユーザによって直接的に行われるのが一般的である。かかる場合、ユーザによる指定または選択は、表示先機器の機器名（ニックネームやホスト名）、型番、ＩＰアドレスなどによって行われるのが一般的である。
【００１４】
ここで、現在普及しているような単純な機器連携においては、上記のようにユーザが機器名などを拠り所にしてどの機器にどの機能を割り当てるかを決定する手法が採用されるのが一般的である。しかし、今後、機器構成やユーザ構成（例えば、マルチユーザといったユーザ構成など）に応じた高度で柔軟な機器連携を普及させるに当たり、上記のような手法は不便であり、高度で柔軟な機器連携を実用化させる上で障害となり得る。
【００１５】
そこで、複数の機器の性能や位置関係を参考にして、どの機能をどの機器に配置するかを自動的に選択する技術が検討されている（例えば、上記非特許文献１参照）。しかし、かかる技術では、ユーザが複数である場合（またはユーザ数が不定の場合）への考慮が不十分であり、ユーザが複数である場合における機器連携には適用しにくい。以下に示す例は、ユーザが複数である場合における機器連携には適用しにくいアプリケーションの例である。
【００１６】
（写真などのコンテンツを閲覧するアプリケーション）
・閲覧者（ユーザ）が１人の場合もあるし、複数人の場合もある。
・一部のユーザが地理的に離れた場所でコンテンツの閲覧に参加する場合もある。
・機能の一部（アルバムの選択など）は、特定のユーザ（複数人も可）のみが操作できる。
【００１７】
（ＴＶ電話のアプリケーション）
・通話相手と１人で通話する場合もあるし、その場にいる何人かで通話する場合もある。
・通話相手の映像や音声は、参加者全員で視聴する。
・相手にしゃべるためのマイクロフォンやカメラ（受話器に相当）は、一つだけにする。
・音量調整などの操作は、参加者が誰でもできるようにする。
【００１８】
（絵本や紙芝居を読み聞かせるアプリケーション）
・参加者（閲覧者）の一部が遠隔地にいる場合もある。
・参加者全員に絵が見えるようにする。
・操作（ページ送りなど）は、主催者や協力者のみができるようにする。
【００１９】
（絵などの共同制作／編集のアプリケーション）
・カンバス（描画領域）は参加者全員がいじれるようにする。
・筆のペン先の選択は、参加者各自が手元の機器からできるようにする。
【００２０】
（写真撮影（リモート撮影）のアプリケーション）
・撮像するカメラは一つだけにする。
・操作（ズーム調整やシャッタなど）は、特定のユーザ（複数人も可）のみができる。
【００２１】
以上、ユーザが複数である場合における機器連携には適用しにくいアプリケーションの例を示した。本明細書においては、複数のユーザを考慮した上で複数の連携機器へのＵＩ配置を制御することが可能な技術を主に提案する。なお、以下では、「写真などのコンテンツを閲覧するアプリケーション」を例に挙げて、複数のユーザも考慮したＵＩ（以下、「ＵＩ部品」とも言う。）の連携機器への配置を実現する手法について説明する。
【００２２】
続いて、本開示の実施形態において想定する機器連携の概略について説明する。図１は、動画再生アプリケーションの機能がＵＩ部品単位で分割された場合を説明するための図である。図１には、動画再生アプリケーションの機能がＵＩ部品単位（再生された動作の出力を行うＵＩ部品Ｐａ９１、再生動画の選択を行うＵＩ部品Ｐａ９２および動画に関する情報を表示するＵＩ部品Ｐａ９３）で分割された例が示されている。しかし、動画再生アプリケーションの機能の分割数は特に限定されない。また、アプリケーションの種類は動画再生アプリケーションに限定されない。
【００２３】
また、図１に示すように、ＵＩ部品間（ＵＩ部品Ｐａ９１とＵＩ部品Ｐａ９２との間、ＵＩ部品Ｐａ９２とＵＩ部品Ｐａ９３との間およびＵＩ部品Ｐａ９３とＵＩ部品Ｐａ９１との間）における通信によって動画再生アプリケーション全体の機能が実現される。図１に示した例では、動画再生アプリケーションの機能の全てが１台の機器９０のみによって実現されており、１台の機器９０には、全てのＵＩ部品が配置されている。
【００２４】
図２は、動画再生アプリケーションの機能がＵＩ部品単位で分割された場合の他の例を説明するための図である。図２には、図１に示した例と同様に、動画再生アプリケーションの機能がＵＩ部品単位（ＵＩ部品Ｐａ９１、ＵＩ部品Ｐａ９２およびＵＩ部品Ｐａ９３）で分割された例が示されている。図２に示した例においても、図１に示した例と同様に、ＵＩ部品間における通信によって動画再生アプリケーション全体の機能が実現される。
【００２５】
しかし、図２に示した例では、図１に示した例と異なり、動画再生アプリケーションの機能が複数の機器（機器Ｅ１〜Ｅ３）によって実現されており、機器Ｅ１にはＵＩ部品Ｐａ９１が配置され、機器Ｅ２にはＵＩ部品Ｐａ９２が配置され、機器Ｅ３にはＵＩ部品Ｐａ９３が配置されている。なお、図２に示した例では、連携機器数およびＵＩ部品数はともに３つであるが、連携機器数およびＵＩ部品数は限定されない。
【００２６】
なお、本明細書においては、ＵＩ部品ごとに動画再生アプリケーションを分割する動作、各ＵＩ部品の配置を制御する動作を行う情報処理装置１０が機器Ｅ１に組み込まれる場合を説明する。しかし、情報処理装置１０は、複数の機器（機器Ｅ１〜Ｅ３）のいずれに組み込まれてもよいし、複数の機器（機器Ｅ１〜Ｅ３）以外の装置（サーバなど）に組み込まれてもよい。あるいは、情報処理装置１０は、複数の機器（機器Ｅ１〜Ｅ３）のうちから適宜に選択された機器に組み込まれてもよい。
【００２７】
以上、本開示の実施形態に係る情報処理システムの概要について説明した。
【００２８】
＜２．情報処理装置の機能構成例＞
続いて、本開示の実施形態に係る情報処理装置１０の機能構成例について説明する。図３は、本開示の実施形態に係る情報処理装置１０の機能構成例を示す図である。図３に示すように、情報処理装置１０は、制御部１１０、入力部１２０、センサ部１３０、記憶部１４０、通信部１５０および出力部１６０を備える。
【００２９】
制御部１１０は、記憶部１４０または他の記憶媒体に記憶されるプログラムを実行することにより制御部１１０が有する様々な機能を発揮する。図３に示すように、制御部１１０は、データ取得部１１１、認識部１１２、配置制御部１１３などの各機能ブロックを有する。これら各機能ブロックが有する機能の詳細については後に説明する。
【００３０】
なお、制御部１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）などのプロセッサにより構成されてよい。また、制御部１１０は、各種の演算処理を実行するための電子回路により構成されてよい。
【００３１】
入力部１２０は、ユーザからの操作を入力して制御部１１０に出力する。例えば、情報処理装置１０がテレビジョン受像機などの機器に組み込まれる場合、入力部１２０はボタンなどであってよい。また、情報処理装置１０がスマートフォンなどのモバイル端末に組み込まれる場合、入力部１２０はタッチパネルなどであってよい。なお、図３に示した例では、入力部１２０は情報処理装置１０と一体化されているが、入力部１２０は、情報処理装置１０と別体に構成されていてもよい。
【００３２】
センサ部１３０は、所定のセンサデータを検出して制御部１１０に出力する。本明細書においては、画像を撮像するカメラモジュールを含む場合を説明するが、センサ部１３０は他のセンサを含んでもよい。センサ部１３０によって検出されたセンサデータは、制御部１１０に出力される。なお、図３に示した例では、センサ部１３０は情報処理装置１０と一体化されているが、センサ部１３０は、情報処理装置１０と別体に構成されていてもよい。
【００３３】
記憶部１４０は、半導体メモリまたはハードディスクなどの記憶媒体を用いて、制御部１１０を動作させるためのプログラムを記憶する。また、例えば、記憶部１４０は、プログラムによって使用される各種のデータを記憶することもできる。なお、図３に示した例では、記憶部１４０は情報処理装置１０と一体化されているが、記憶部１４０は情報処理装置１０と別体に構成されていてもよい。
【００３４】
通信部１５０は、制御部１１０による制御に従って他の装置と通信を行う機能を有する。本明細書においては、通信部１５０が他の装置とネットワークを介して無線によって通信を行う場合を想定するが、通信部１５０は、他の装置とネットワークを介さずに直接的に通信を行ってもよい。また、通信部１５０は、他の装置と有線によって通信を行ってもよい。なお、図３に示した例では、通信部１５０は情報処理装置１０と一体化されているが、通信部１５０は情報処理装置１０と別体に構成されていてもよい。
【００３５】
出力部１６０は、制御部１１０による制御に従って、各種情報の出力を行う。出力部１６０は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）により実現されてもよいし、有機ＥＬ（Ｅｌｅｃｔｒｏ−ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイにより実現されてもよいし、プロジェクタにより実現されてもよいし、ホログラムディスプレイにより実現されてもよい。なお、図３に示した例では、出力部１６０は情報処理装置１０と一体化されているが、出力部１６０は情報処理装置１０と別体に構成されていてもよい。
【００３６】
以上、本開示の実施形態に係る情報処理装置１０の機能構成例について説明した。
【００３７】
＜３．情報処理システムの機能詳細＞
続いて、情報処理システムの機能詳細について説明する。本開示の実施形態においては、配置制御部１１３が複数のユーザと複数の機器との位置関係および複数のユーザそれぞれの属性のうち少なくともいずれか一方に基づいて、複数の機器のうち連携動作を行う複数の連携機器へのＵＩ配置を制御する。かかる構成により、複数のユーザを考慮した上での複数の連携機器へのＵＩ配置が制御されることが可能となる。なお、配置制御部１１３によるＵＩ配置は、具体的には、配置制御部１１３から通信部１５０を介して複数の連携機器に対してＵＩ部品の配置を伝えることによって制御され得る。
【００３８】
ここで、複数のユーザと複数の機器との位置関係は、複数の機器の近くに存在するユーザを識別するための情報を機器ごとに示す情報を含んでよい。例えば、配置制御部１１３は、機器に対応するセンサ（機器の外部に接続されているセンサまたは機器に組み込まれているセンサ）による検出結果から１以上のユーザが認識された機器が存在した場合、その機器の近くに１以上のユーザが存在すると判断すればよい。
【００３９】
センサの種類は特に限定されないが、例えば、センサがカメラである場合には、データ取得部１１１がカメラによって撮像された画像を取得し、認識部１１２が画像から１以上のユーザの顔を認識した場合、カメラに対応する機器の近くに１以上のユーザが存在すると判断すればよい。ここでは、顔認識の技術を用いる場合を説明したが、顔認識の代わりに、音声認識、指紋認証などによって、センサに対応する機器の近くに１以上のユーザが存在することを判断すればよい。
【００４０】
また、配置制御部１１３は、複数のユーザと複数の機器との位置関係だけではなく、複数のユーザそれぞれの属性に基づいて、複数の連携機器へのＵＩ配置を制御してよい。例えば、配置制御部１１３は、複数のユーザそれぞれの属性とＵＩごとに定義された属性条件とに基づいて、複数の連携機器へのＵＩ配置を制御すればよい。このとき、配置制御部１１３は、複数の連携機器それぞれの近くに存在する１以上のユーザの属性が属性条件を満たすような各ＵＩの配置先の連携機器の組み合わせを示す配置情報を決定し、配置情報に従ってＵＩ配置を制御すればよい。
【００４１】
以下では、複数のユーザそれぞれの属性が、複数のユーザそれぞれに与えられた権限を含む例を主に説明するが、複数のユーザそれぞれの属性は、複数のユーザそれぞれに与えられた権限に限定されない。また、以下では、属性条件が、対象ユーザグループ（属性範囲）によって与えられる権限を有するという条件である例を説明するが、属性条件もかかる例に限定されない。
【００４２】
図４は、本開示の実施形態に係る機器連携に対応した「写真などのコンテンツを閲覧するアプリケーション」の例を説明するための図である。図４に示した地点Ａ１１においては、写真のオーナであるユーザＵ１１がアプリケーションを使用している。アプリケーションは、ＵＩ部品Ｐａ１「写真表示」、ＵＩ部品Ｐａ２「基本操作」およびＵＩ部品Ｐａ３「拡張操作」を含んでいる。
【００４３】
・「写真表示」（ＵＩ部品Ｐａ１）・・・閲覧対象の写真本体を大きく表示する。
・「基本操作」（ＵＩ部品Ｐａ２）・・・「次の写真に進む」「前の写真に戻る」といった基本操作を入力する。
・「拡張操作」（ＵＩ部品Ｐａ３）・・・ユーザの所有するアルバムを選択するなどといった特別な操作を入力する。
【００４４】
図４に示したように、地点Ａ１１においては、１台の機器Ｅ１１が全てのＵＩ部品（ＵＩ部品Ｐａ１、ＵＩ部品Ｐａ２およびＵＩ部品Ｐａ３）を表示している。しかし、地点Ａ１１における機器構成によっては、複数の機器にＵＩ部品（ＵＩ部品Ｐａ１、ＵＩ部品Ｐａ２およびＵＩ部品Ｐａ３）が分散されてもよい。
【００４５】
次に、複数のユーザがこのアプリケーションでの写真閲覧に参加する場合について述べる。オーナも含めた複数のユーザは、同じ地点にいてもよいし、離れた地点にいてもよい。図４に示した例では、オーナＵ１１を含む３人のユーザＵ１１、Ｕ１２、Ｕ１３が写真閲覧をしており、オーナＵ１１以外のユーザＵ１２およびＵ１３はオーナＵ１１が存在する地点（地点Ａ１１）とは離れた地点（地点Ａ１２）に一緒に存在する場合を想定している。例えば、各ＵＩ部品の各機器への割り当てに際しては、以下のような方針が採用されてよい。
【００４６】
・「写真表示」（ＵＩ部品Ｐａ１）・・・全ユーザから見える機器に配置される必要がある（全ユーザの近くに存在する機器に配置されるのがよい）。また、表示部分が大きい機器に配置されるのが望ましい。
・「基本操作」（ＵＩ部品Ｐａ２）・・・全ユーザそれぞれの近くに存在する機器（全ユーザそれぞれの近くに存在する機器）にＵＩ部品が配置されるのが望ましい。
・「拡張操作」（ＵＩ部品Ｐａ３）・・・権限Ｃ１を有するユーザのみの手元に近い機器（権限Ｃ１を有するユーザそれぞれの近くに存在する機器）に配置されるのが望ましい。例えば、オーナやオーナが認めたユーザが権限Ｃ１を有するユーザであってよい。
【００４７】
上記のような割り当て方針に従うと、図４に示すように、地点Ａ１１においては、オーナＵ１１の近くに、機器Ｅ１１（例えば、スマートフォン）が１台あるだけなので、機器Ｅ１１に全てのＵＩ部品（ＵＩ部品Ｐａ１、ＵＩ部品Ｐａ２およびＵＩ部品Ｐａ３）を配置するのが望ましい。
【００４８】
一方、地点Ａ１２においては、「写真表示」（ＵＩ部品Ｐａ１）を、２人のユーザ（ユーザＵ１２およびＵ１３）の近くにあって表示面積が大きい機器Ｅ１２（例えば、テレビジョン受像機）に配置し、「基本操作」（ＵＩ部品Ｐａ２）を、ユーザＵ１２およびユーザＵ１３がそれぞれ装着している（ユーザＵ１２およびユーザＵ１３がそれぞれの近くにある）機器Ｅ１３およびＥ１４（例えば、スマートウォッチ）に配置し、２人のユーザ（ユーザＵ１２およびＵ１３）が権限Ｃ１を有していないため、「拡張表示」（ＵＩ部品Ｐａ３）をいずれの機器にも配置しないのが望ましい。
【００４９】
図５は、本開示の実施形態に係る機器連携に対応した「写真などのコンテンツを閲覧するアプリケーション」の他の例を説明するための図である。図５に示した例では、オーナを含む３人のユーザＵ２１、Ｕ２２、Ｕ２３が写真閲覧をしており、オーナＵ２１およびユーザＵ２２はユーザＵ２３が存在する地点（地点Ａ２２）とは離れた地点（地点Ａ２１）に一緒に存在する場合を想定している。
【００５０】
上記のような割り当て方針に従うと、図５に示すように、地点Ａ２１においては、「写真表示」（ＵＩ部品Ｐａ１）を、オーナＵ２１およびユーザＵ２２の近くにあって表示面積が大きい機器Ｅ２１（例えば、テレビジョン受像機）に配置し、「基本操作」（ＵＩ部品Ｐａ２）を、ユーザＵ２１およびユーザＵ２２それぞれの近くにある機器Ｅ２２（例えば、スマートフォン）およびＥ２３（例えば、スマートウォッチ）に配置し、ユーザＵ２２が権限Ｃ１を有していないため、「拡張表示」（ＵＩ部品Ｐａ３）をユーザＵ２１の近くにある機器Ｅ２２にのみ配置するのが望ましい。
【００５１】
一方、地点Ａ２２においては、「写真表示」（ＵＩ部品Ｐａ１）を、ユーザＵ２３の近くにあって表示面積が大きい機器Ｅ２４（例えば、テレビジョン受像機）に配置し、「基本操作」（ＵＩ部品Ｐａ２）を、ユーザＵ２３が装着している（ユーザＵ２３の近くにある）機器Ｅ２５（例えば、スマートウォッチ）に配置し、ユーザＵ２３が権限Ｃ１を有していないため、「拡張表示」（ＵＩ部品Ｐａ３）を配置しないのが望ましい。
【００５２】
ＵＩ部品をどの機器に配置するかを具体的に決めることは、以下のような条件によって左右され、アプリケーション作成時に全ての組み合わせを想定することは困難である。
・機器連携に参加する連携機器は何台で、それらはどんな機器か。
・参加するユーザがどこに何人いるか、特別な権限のあるユーザは誰か。
・ユーザと機器の位置関係
【００５３】
機器連携において、その時々の状況に合わせてＵＩ部品を適切に配置できるようにするために、アプリケーション作成者は、各ＵＩ部品に対してａｎｎｏｔａｔｉｏｎ（配置のためのヒント情報）を指定し、アプリケーションはａｎｎｏｔａｔｉｏｎに基づいてＵＩ部品の配置を動的に決めるようにするとよい。ａｎｎｏｔａｔｉｏｎに基づいてＵＩ部品の配置を決める機構は、色々なアプリケーションから汎用的に利用し得る。そのため、かかる機構は、フレームワークあるいはライブラリとして用意してアプリケーションに組み込むようにして、アプリケーション作成の生産性を上げるようにするとよい。
【００５４】
「写真などのコンテンツを閲覧するアプリケーション」でのａｎｎｏｔａｔｉｏｎの例は、図６に示すようになる。図６の各行は、各ＵＩ部品とそれに対して指定されるａｎｎｏｔａｔｉｏｎの値を表す。ａｎｎｏｔａｔｉｏｎの各項目の意味は、以下に示す通りである。
【００５５】
・「機器タイプ」・・・そのＵＩ部品を配置するのにふさわしい機器のタイプ（「ｔｖ」、「ｔａｂｌｅｔ」など）を全部書く。複数の機器タイプを書くときの順番は、よりふさわしい（優先度の高い）機器タイプを前に書く。
【００５６】
・「重複方針」・・・そのＵＩ部品を配置する際に、複数の機器にＵＩ部品を重複して割り当てることを許容するか否かを示す。値としては、以下の３つのいずれかを指定する。
・「ｓｉｎｇｌｅ」：ＵＩ部品を重複させない。
・「ｍｕｌｔｉ」：対象ユーザグループに属する各ユーザがそれぞれ使えるようにＵＩ部品を重複させる。
・「ｍｉｒｒｏｒ」：対象ユーザグループに属する各ユーザの近くにＵＩ部品を重複させる（複数のユーザによるＵＩ部品の共用可能）。
【００５７】
・「対象ユーザグループ」・・・機器への配置をする際に誰が使うかを考慮する場合に指定する（「ｍｕｌｔｉ」や「ｍｉｒｒｏｒ」では必須）。値としては、以下に示す値のいずれかを指定する。
・「ａｌｌ」：アプリケーションを使用している全ユーザ
・「ｇｐＮ」：権限Ｎを持っている全ユーザ（Ｎ＝１，２，３，４，・・・）
【００５８】
配置制御部１１３は、複数のユーザと複数の機器との「位置関係」および異なる機器へのＵＩ重複配置を許容するか否かをＵＩ部品ごとに示す「重複方針」に基づいて、複数の連携機器へのＵＩ配置を制御してよい。異なる機器へのＵＩ重複配置を許容しない場合の例としては、上記「ｓｉｎｇｌｅ」が挙げられる。
【００５９】
また、重複方針が、異なる機器へのＵＩ重複配置を許容することを示す場合、ユーザ数とそのＵＩ部品が割り当てられた機器数とが同一であり、かつ、複数の連携機器それぞれの近くにユーザが存在することを条件とするか否かをさらに示してよい。ユーザ数とそのＵＩ部品が割り当てられた機器数とが同一であり、かつ、複数の連携機器それぞれの近くにユーザが存在することを条件とする場合の例としては、上記「ｍｕｌｔｉ」が挙げられる。
【００６０】
また、重複方針は、異なる機器へのＵＩ重複配置を許容することを示す場合、複数のユーザそれぞれの近くにいずれかの連携機器が存在し、かつ、そのＵＩ部品が割り当てられた連携機器それぞれの近くにいずれかのユーザが存在することを条件とするか否かをさらに示してよい。複数のユーザそれぞれの近くにいずれかの連携機器が存在し、かつ、そのＵＩ部品が割り当てられた連携機器それぞれの近くにいずれかのユーザが存在することを条件とする場合の例としては、上記「ｍｉｒｒｏｒ」が挙げられる。
【００６１】
図６に示した例では、ＵＩ部品を配置するのにふさわしい機器を「機器タイプ」によって指定している。また、図６に示した例では、「機器タイプ」の値として、「ｔｖ」、「ｐｈｏｎｅ」といったような機器カテゴリ名が用いられているが、機器の性能（表示画素数、表示領域面積など）を指定する方式が採用されても構わない。すなわち、機器タイプは、少なくとも機器カテゴリおよび機器性能のいずれか一方に関する情報を含んでよい。
【００６２】
図７は、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）タグ形式でのプログラムコードによって図６に示したａｎｎｏｔａｔｉｏｎを記述した例である。図７に示した例において、ｄａｔａ−ｄｅｖ−ｔｙｐｅは、機器タイプを表し、ｄａｔａ−ｄｕｐｌｉｃａｔｅは、重複方針を表し、ｄａｔａ−ｕｓｅｒ−ｇｒｏｕｐは、対象ユーザグループを表している。
【００６３】
アプリケーションを使用しているユーザをどのように管理するかは、アプリケーションの実装次第ではある。一例として、オーナユーザがアプリケーションに参加させたいユーザに対して電子メールなどで招待メッセージを送信し、招待メッセージを受け取ったユーザがメッセージに記載された操作を介してアプリケーションにログインする方法などが挙げられる。ユーザに権限Ｎを与えたい時は、ユーザに与えたい権限Ｎに応じて招待メッセージを変えるようにすればよい。
【００６４】
図８は、本開示の実施形態に係る機器連携に対応した「写真などのコンテンツを閲覧するアプリケーション」の他の例を説明するための図である。図８に示した例では、図４に示した例と同様に、オーナを含む３人のユーザＵ２１、Ｕ２２、Ｕ２３が写真閲覧をしており、ユーザＵ２２およびユーザＵ２３はオーナＵ２１が存在する地点（地点Ａ３１）とは離れた地点（地点Ａ３２）に一緒に存在する場合を想定している。しかし、図８には、図９に示したａｎｎｏｔａｔｉｏｎを用いた例を示している。
【００６５】
図９に示したａｎｎｏｔａｔｉｏｎにおいては、対象ユーザグループに権限Ｃ２を有するユーザであるか否かも設定されている。すなわち、ＵＩ部品Ｐａ２は、権限Ｃ２を有するユーザの近くに存在する機器に配置される。図９に示したａｎｎｏｔａｔｉｏｎに従うと、図８に示すように、地点Ａ３１においては、オーナＵ３１が権限Ｃ１および権限Ｃ２をともに有しているため、「写真表示」（ＵＩ部品Ｐａ１）、「基本操作」（ＵＩ部品Ｐａ２）および「拡張表示」（ＵＩ部品Ｐａ３）を、オーナＵ３１の近くにある機器Ｅ３１（例えば、スマートフォン）に配置するのが望ましい。
【００６６】
一方、地点Ａ３２においては、「写真表示」（ＵＩ部品Ｐａ１）を、２人のユーザ（ユーザＵ３２およびＵ３３）の近くにあって表示面積が大きい機器Ｅ３２（例えば、テレビジョン受像機）に配置し、ユーザＵ３３が権限Ｃ２を有しないため、「基本操作」（ＵＩ部品Ｐａ２）を、ユーザＵ３２のみが装着している（ユーザＵ３２の近くにある）機器Ｅ３３（例えば、スマートウォッチ）に配置し、２人のユーザ（ユーザＵ３２およびＵ３３）が権限Ｃ１を有していないため、「拡張表示」（ＵＩ部品Ｐａ３）をいずれの機器にも配置しないのが望ましい。
【００６７】
続いて、図６や図７で例を示したようなａｎｎｏｔａｔｉｏｎの指定を基に、各ＵＩ部品の配置先の機器を決める方法について説明する。図１０は、ＵＩ部品の機器への配置を表すマトリクス（以下、「配置マトリクス」とも言う。）を示す図である。図１０に示した配置マトリクスにおいて、「１」が設定されている欄は、配置マトリクスのその列のＵＩ部品が、その行の機器に割り当てられていることを表す。また、図１０に示した配置マトリクスにおいて、「１」が記入されていない空白の欄は、その列のＵＩ部品がその行の機器に割り当てられていないことを表す（欄の値としては「０」であるが、マトリクスを視覚的に見やすくするため空欄として描いてある）。
【００６８】
図１０に示された配置マトリクスは、ＵＩ部品［１］が、機器［１］〜機器［３］の全てに配置され、ＵＩ部品［２］が、機器［２］に配置され、ＵＩ部品［３］が、機器［１］に配置されることを示している。
【００６９】
図１１は、図１０に示した配置マトリクスの中から一つのＵＩ部品の列のみを抜き出したマトリクス（以下、「配置サブマトリクス」とも言う。）を示す図である。図１１に示された配置サブマトリクスは、ＵＩ部品［Ｘ］が、機器［３］に配置されることを示している。
【００７０】
図１２は、各ＵＩ部品をどの機器に割り当てるかを決める処理の流れを示す図である。図１２に示した処理の基本的な流れは、ＵＩ部品と配置先機器との全ての組み合わせについて、配置の適切さを反映したスコアを求め、スコアが最高となる配置マトリクスを返却するものである。なお、図１２に示した処理では、説明を単純化するために全ての組み合わせをしらみつぶしに調べているが、人工知能分野での「縦型探索の枝刈り」のような手法を用いて、計算量を減らしても構わない。
【００７１】
具体的には、配置制御部１１３は、最高スコアに「０」を設定し（Ｓ１１）、配置マトリクスの全ての欄を「０」（空白）にする（Ｓ１２）。続いて、配置制御部１１３は、変数Ｓにスコア計算（配置マトリクス）の結果を設定する（Ｓ１３）。ここで、「スコア計算（配置マトリクス）（Ｓ１３）」は、図１３に示した処理を呼び出すことによって行われる。続いて、配置制御部１１３は、変数Ｓが最高スコアを超えているか否かを判定する（Ｓ１４）。
【００７２】
ここで、配置制御部１１３は、変数Ｓが最高スコアを超えていないと判定した場合（Ｓ１４：Ｎｏ）、Ｓ１７に動作を移行させる。一方、配置制御部１１３は、変数Ｓが最高スコアを超えていると判定した場合（Ｓ１４：Ｙｅｓ）、最高スコアに変数Ｓを設定し（Ｓ１５）、配置マトリクスを最高スコアの配置マトリクスに設定する（Ｓ１６）。Ｓ１７に動作が移行されると、配置制御部１１３は、「次の配置マトリクス取得（配置マトリクス）」によって取得した次の配置マトリクスを、配置マトリクスに設定する（Ｓ１７）。
【００７３】
ここで、「次の配置マトリクス取得（配置マトリクス）（Ｓ１８）」は、図２０に示した処理を呼び出すことによって行われる。続いて、配置制御部１１３は、配置マトリクスの全ての欄が「０」であるか否かを判定し（Ｓ１８）、配置マトリクスの全ての欄が「０」ではない場合には（Ｓ１８：Ｎｏ）、動作をＳ１３に移行させ、配置マトリクスの全ての欄が「０」である場合には（Ｓ１８：Ｙｅｓ）、最高スコアの配置マトリクスを返却して動作を終了させる。
【００７４】
図１３は、図１２に示した処理から呼ばれる「スコア計算（配置マトリクス）」の処理の流れを示す図である。図１３に示した処理の基本的な流れは、与えられた配置マトリクスに従って、各ＵＩ部品に対して重複方針に応じたスコアを求め、全てのＵＩ部品について合計した値を全体のスコアとして返却するものである。具体的には、配置制御部１１３は、スコアに「０」を設定し（Ｓ２１）、ＵＩ部品番号に「１」を設定する（Ｓ２２）。続いて、配置制御部１１３は、ＵＩ部品［ＵＩ部品番号］のｄａｔａ−ｄｕｐｌｉｃａｔｅが「ｍｕｌｔｉ」であるか否かを判定する（Ｓ２３）。
【００７５】
配置制御部１１３は、ＵＩ部品［ＵＩ部品番号］のｄａｔａ−ｄｕｐｌｉｃａｔｅが「ｍｕｌｔｉ」であると判定した場合（Ｓ２３：Ｙｅｓ）、スコアにスコアとｍｕｌｔｉＵＩ部品のスコア計算（ＵＩ部品［ＵＩ部品番号］，配置サブマトリクス［ＵＩ部品番号］）との加算結果を設定して（Ｓ２４）、Ｓ２８に動作を移行させる。ここで、「ｍｕｌｔｉＵＩ部品のスコア計算（ＵＩ部品［ＵＩ部品番号］，配置サブマトリクス［ＵＩ部品番号］）」は、図１５に示した処理を呼び出すことによって行われる。
【００７６】
一方、配置制御部１１３は、ＵＩ部品［ＵＩ部品番号］のｄａｔａ−ｄｕｐｌｉｃａｔｅが「ｍｕｌｔｉ」ではないと判定した場合（Ｓ２３：Ｎｏ）、ＵＩ部品［ＵＩ部品番号］のｄａｔａ−ｄｕｐｌｉｃａｔｅが「ｍｉｒｒｏｒ」であるか否かを判定する（Ｓ２５）。配置制御部１１３は、ＵＩ部品［ＵＩ部品番号］のｄａｔａ−ｄｕｐｌｉｃａｔｅが「ｍｉｒｒｏｒ」であると判定した場合（Ｓ２５：Ｙｅｓ）、スコアにスコアとｍｉｒｒｏｒＵＩ部品のスコア計算（ＵＩ部品［ＵＩ部品番号］，配置サブマトリクス［ＵＩ部品番号］）との加算結果を設定して（Ｓ２６）、Ｓ２８に動作を移行させる。ここで、ｍｉｒｒｏｒＵＩ部品のスコア計算（ＵＩ部品［ＵＩ部品番号］，配置サブマトリクス［ＵＩ部品番号］)は、図１７および図１８に示した処理を呼び出すことによって行われる。
【００７７】
一方、配置制御部１１３は、ＵＩ部品［ＵＩ部品番号］のｄａｔａ−ｄｕｐｌｉｃａｔｅが「ｍｉｒｒｏｒ」ではないと判定した場合（Ｓ２５：Ｎｏ）、スコアにスコアとｓｉｎｇｌｅＵＩ部品のスコア計算（ＵＩ部品［ＵＩ部品番号］，配置サブマトリクス［ＵＩ部品番号］）との加算結果を設定して（Ｓ２７）、Ｓ２８に動作を移行させる。Ｕ２８に動作が移行された場合、配置制御部１１３は、ＵＩ部品番号を１カウントアップして（Ｓ２８）、ＵＩ部品番号がＵＩ部品の個数を超えていない場合には（Ｓ２９：Ｎｏ）、Ｓ２３に動作を移行させるが、ＵＩ部品番号がＵＩ部品の個数を超えた場合には（Ｓ２９：Ｙｅｓ）、スコアを返却して動作を終了させる。
【００７８】
図１４は、図１３に示した処理から呼ばれる「ｓｉｎｇｌｅＵＩ部品のスコア計算（ＵＩ部品［ＵＩ部品番号］，配置サブマトリクス［ＵＩ部品番号］)」の処理の流れを示す図である。重複方針が「ｓｉｎｇｌｅ」のＵＩ部品の場合、対象ユーザグループの指定は必須ではなく、対象ユーザグループが指定された場合のみ該当するユーザが誰か近くにいるかをチェックすればよい。以下において、スコアに設定される「−∞」は、絶対値が１００に比べて十分大きい負の値（−１００００など）であれば構わない。
【００７９】
まず、配置制御部１１３は、配置サブマトリクスの「１」の欄の個数が「１」であるか否かを判定する（Ｓ３１）。配置制御部１１３は、配置サブマトリクスの「１」の欄の個数が「１」ではないと判定した場合（Ｓ３１：Ｎｏ）、Ｓ３２に動作を移行させる。一方、配置制御部１１３は、配置サブマトリクスの「１」の欄の個数が「１」であると判定した場合（Ｓ３１：Ｙｅｓ）、そのＵＩ部品に対象ユーザグループが指定されているか否かを判定する（Ｓ３３）。
【００８０】
配置制御部１１３は、そのＵＩ部品に対象ユーザグループが指定されていないと判定した場合には（Ｓ３３：Ｎｏ）、Ｓ３５に動作を移行させる。一方、配置制御部１１３は、そのＵＩ部品に対象ユーザグループが指定されていると判定した場合には（Ｓ３３：Ｙｅｓ）、配置サブマトリクスの「１」の欄の機器の近くに、対象ユーザグループに所属するユーザがいるか否かを判定する（Ｓ３４）。
【００８１】
配置制御部１１３は、配置サブマトリクスの「１」の欄の機器の近くに、対象ユーザグループに所属するユーザがいないと判定した場合には（Ｓ３４：Ｎｏ）、スコアに「−∞」を設定して（Ｓ３２）、スコアを返却して動作を終了する。一方、配置制御部１１３は、配置サブマトリクスの「１」の欄の機器の近くに、対象ユーザグループに所属するユーザがいると判定した場合には（Ｓ３４：Ｙｅｓ）、スコアにＵＩ部品−機器マッチング（ＵＩ部品，配置サブマトリクスの「１」の欄の機器）を設定して（Ｓ３５）、スコアを返却して動作を終了する。
【００８２】
なお、Ｓ３５における「ＵＩ部品−機器マッチング」は、以下の計算によって算出される値である。
【００８３】
ＵＩ部品−機器マッチング＝１００×（Ｎ−（ｎ−１））÷Ｎ
ｎ：そのＵＩ部品のａｎｎｏｔａｔｉｏｎ内で、その機器タイプが書かれている順番（１〜）
Ｎ：そのＵＩ部品のａｎｎｏｔａｔｉｏｎ内で、機器タイプとして書かれている機器の総数（その機器に視線検出機能が付いていて、視線を検出した場合は「ＵＩ部品−機器マッチング」の値を所定の値（例えば、１０％など）だけ増加させる。すなわち、配置制御部１１３は、対応するセンサによる検出結果からユーザの視線が検出された機器が存在した場合、その機器を有するペア（機器−ＵＩ部品）に対応する値（「ＵＩ部品−機器マッチング」の値）を高くするとよい。)。
【００８４】
図１５は、図１３に示した処理から呼ばれる「ｍｕｌｔｉＵＩ部品のスコア計算（ＵＩ部品［ＵＩ部品番号］，配置サブマトリクス［ＵＩ部品番号］)」の処理の流れを示す図である。重複方針が「ｍｕｌｔｉ」であるため、そのＵＩ部品が割り当てられている機器と、対象ユーザグループに属するユーザとが１対１に対応する必要がある。例えば、図１６のようにして、機器とユーザとのペアを生成することが可能である。
【００８５】
そのため、配置制御部１１３は、そのＵＩ部品が割り当てられている機器の台数と対象ユーザグループに属するユーザ数が一致していることを確認した上で、機器とユーザを１対１で対応付けた全ての組み合わせの中で、対応付けられた機器とユーザの距離が近いことを全てのペア（機器−ユーザ）が満たしている組み合わせがあれば（例えば、図１６の下側の表のうち全てのペアが、機器とユーザの距離が近いことを満たしている行が存在すれば)、スコアを計算する。そのような組み合わせがなければ、配置制御部１１３は、スコアを−∞とすればよい。
【００８６】
まず、配置制御部１１３は、配置サブマトリクスの「１」の欄の個数とそのＵＩ部品の対象ユーザグループに属するユーザ数が一致するか否かを判定する（Ｓ４１）。配置制御部１１３は、配置サブマトリクスの「１」の欄の個数とそのＵＩ部品の対象ユーザグループに属するユーザ数が一致しないと判定した場合（Ｓ４１：Ｎｏ）、Ｓ４８に動作を移行させる。
【００８７】
一方、配置制御部１１３は、配置サブマトリクスの「１」の欄の個数とそのＵＩ部品の対象ユーザグループに属するユーザ数が一致すると判定した場合（Ｓ４１：Ｙｅｓ）、配置サブマトリクスの「１」の欄の機器とそのＵＩ部品の対象ユーザグループに属するユーザを１対１でペアにした全ての組み合わせを求め（Ｓ４２）、組み合わせ番号に「１」を設定する（Ｓ４３）。
【００８８】
続いて、配置制御部１１３は、組み合わせ［組み合わせ番号］での全ての＜機器＆ユーザ＞のペアが、「機器の近くのユーザ」を満たしているか否かを判定する（Ｓ４４）。配置制御部１１３は、組み合わせ［組み合わせ番号］での全ての＜機器＆ユーザ＞のペアが、「機器の近くのユーザ」を満たしていると判定した場合には（Ｓ４４：Ｙｅｓ）、スコアにＵＩ部品−機器マッチングスコア（ＵＩ部品，機器）を配置サブマトリクスの「１」の欄の機器について求めた値の平均値を設定し（Ｓ４５）、スコアを返却して動作を終了する。一方、配置制御部１１３は、組み合わせ［組み合わせ番号］において「機器の近くのユーザ」を満たしていない＜機器＆ユーザ＞のペアが存在すると判定した場合には（Ｓ４４：Ｎｏ）、組み合わせ番号を１カウントアップし（Ｓ４６）、組み合わせ番号が組み合わせの総数を超えたか否かを判定する（Ｓ４７）。
【００８９】
配置制御部１１３は、組み合わせ番号が組み合わせの総数を超えていないと判定した場合（Ｓ４７：Ｎｏ）、Ｓ４４に動作を移行させる。一方、組み合わせ番号が組み合わせの総数を超えたと判定した場合（Ｓ４７：Ｙｅｓ）、Ｓ４８に動作を移行させる。配置制御部１１３は、動作がＳ４８に移行された場合、スコアに−∞を設定し（Ｓ４８）、動作を終了する。なお、Ｓ４５における「ＵＩ部品−機器マッチング」は、図１４に示したＳ３５における「ＵＩ部品−機器マッチング」と同様に算出され得る。重複方針が「ｍｕｌｔｉ」であるＵＩ部品は、複数の機器に重複して配置され得るため、各々の機器について求めた「ＵＩ部品−機器マッチング」の平均値をスコアとして用いるのがよい。
【００９０】
図１７および図１８は、図１３に示した処理から呼ばれる「ｍｉｒｒｏｒＵＩ部品のスコア計算（ＵＩ部品［ＵＩ部品番号］，配置サブマトリクス［ＵＩ部品番号］)」の処理の流れを示す図である。重複方針が「ｍｉｒｒｏｒ」の場合、「ｍｕｌｔｉ」の場合と違って、ＵＩ部品を重複割り当てする機器の台数と、対象ユーザグループに属するユーザの人数とは一致している必要はない。しかし、対象ユーザの誰からも使われない機器や、当該ＵＩ部品が割り当てられた機器がどれも近くにないユーザが存在するのは不適切である。
【００９１】
そのため、配置制御部１１３は、「全ての対象ユーザの近くに、当該ＵＩ部品が割り当てられた機器がどれかあること」および「当該ＵＩ部品が割り当てられた全ての機器の近くに、対象ユーザが誰かいること」といった二つの条件を満たすか否かを判定し、かかる条件を満たさない場合はスコアに−∞を設定すればよい。
【００９２】
まず、配置制御部１１３は、変数Ｕに「１」を設定し（Ｓ５１）、そのＵＩ部品の対象ユーザグループに属するＵ番目のユーザの近くに、配置マトリクスの「１」の欄に該当する機器がどれか存在するか否かを判定する（Ｓ５２）。配置制御部１１３は、そのＵＩ部品の対象ユーザグループに属するＵ番目のユーザの近くに、配置マトリクスの「１」の欄に該当する機器がどれも存在しないと判定した場合（Ｓ５２：Ｎｏ）、Ｓ５３に動作を移行させる。
【００９３】
一方、配置制御部１１３は、そのＵＩ部品の対象ユーザグループに属するＵ番目のユーザの近くに、配置マトリクスの「１」の欄に該当する機器がどれか存在すると判定した場合（Ｓ５２：Ｙｅｓ）、変数Ｕを１カウントアップし（Ｓ５４）、ＵがそのＵＩ部品の対象ユーザグループに属するユーザの人数を超えたか否かを判定する（Ｓ５５）。配置制御部１１３は、ＵがそのＵＩ部品の対象ユーザグループに属するユーザの人数を超えていないと判定した場合には（Ｓ５５：Ｎｏ）、Ｓ５２に動作を移行させる。
【００９４】
一方、配置制御部１１３は、ＵがそのＵＩ部品の対象ユーザグループに属するユーザの人数を超えたと判定した場合には（Ｓ５５：Ｙｅｓ）、機器番号に「１」を設定して（Ｓ５６）、配置サブマトリクス［機器番号］が「１」であるか否かを判定する（Ｓ５７）。配置制御部１１３は、配置サブマトリクス［機器番号］が「１」ではないと判定した場合（Ｓ５７：Ｎｏ）、Ｓ５９に動作を移行させる。
【００９５】
一方、配置制御部１１３は、配置サブマトリクス［機器番号］が「１」であると判定した場合（Ｓ５７：Ｙｅｓ）、配置サブマトリクスの機器［機器番号］の近くに、そのＵＩ部品の対象ユーザグループに属するユーザが誰か存在するか否かを判定する（Ｓ５８）。配置制御部１１３は、配置サブマトリクスの機器［機器番号］の近くに、そのＵＩ部品の対象ユーザグループに属するユーザが誰も存在しない場合（Ｓ５８：Ｎｏ）、スコアに「−∞」を設定し（Ｓ５３）、スコアを返却して動作を終了する。
【００９６】
一方、配置制御部１１３は、配置サブマトリクスの機器［機器番号］の近くに、そのＵＩ部品の対象ユーザグループに属するユーザが誰か存在する場合（Ｓ５８：Ｙｅｓ）、機器番号を１カウントアップし（Ｓ５９）、機器番号が機器の台数を超えたか否かを判定する（Ｓ６０）。配置制御部１１３は、機器番号が機器の台数を超えていないと判定した場合には（Ｓ６０：Ｎｏ）、Ｓ５７に動作を移行させる。
【００９７】
一方、配置制御部１１３は、機器番号が機器の台数を超えたと判定した場合には（Ｓ６０：Ｙｅｓ）、スコアにＵＩ部品−機器マッチングスコア（ＵＩ部品，機器）を「１」の欄の機器について求めた値の平均値を設定し（Ｓ６１）、スコアを返却して動作を終了する。
【００９８】
なお、Ｓ６１における「ＵＩ部品−機器マッチング」は、図１４に示したＳ３５における「ＵＩ部品−機器マッチング」と同様に算出され得る。重複方針が「ｍｉｒｒｏｒ」であるＵＩ部品も、複数の機器に重複して配置され得るため、各々の機器について求めた「ＵＩ部品−機器マッチング」の平均値をスコアとして用いるのがよい。かかる平均値がスコアとして用いられることによって、ＵＩ部品を必要十分より多い台数の機器に割り当てるよりは、ふさわしい機器タイプの比較的上位にある機器に必要十分な台数だけ割り当てた方がスコアは良くなるはずである（図１９を参照）。
【００９９】
このように、配置制御部１１３は、複数のユーザと複数の機器との「位置関係」が成立する場合において、機器タイプに関する条件を満たし、かつ、重複方針を満たすようなＵＩと配置先の連携機器とのペア群をそれぞれ含む複数の配置マトリクス（配置候補パターン）を生成し、複数の配置マトリクスそれぞれのスコアを算出し、スコアに基づいて複数の配置マトリクスから最終的な配置マトリクスを決定してよい。
【０１００】
このとき、配置制御部１１３は、配置マトリクスのスコアを、配置マトリクスの各ペアに対応する値を合計することにより算出すればよい。より具体的には、配置制御部１１３は、配置マトリクスのスコアを、配置マトリクスの各ペアについて配置先の連携機器の機器タイプまたは機器性能に対応付けられた値を合計することにより算出すればよい。例えば、上記したように、配置制御部１１３は、各配置マトリクスについてスコアをペアの数で除することによって平均スコアを算出し、平均スコアが最大となる配置マトリクスを最終的な配置マトリクスを決定するのがよい。
【０１０１】
図２０Ａは、図１２から呼ばれる「次の配置マトリクス取得（配置マトリクス）」を求める処理の流れを示す図である。配置マトリクスの全ての欄が「０」の状態（全てのＵＩ部品がどの機器にも割り当てられていない）から開始して、図２０Ａの処理を１回呼び出すごとに配置マトリクスの欄の状態が１か所ずつ規則的に変化し、最終的には配置マトリクスの全ての欄が「１」の状態（全てのＵＩ部品が全ての機器に重複して割り当てられている状態）になる。
【０１０２】
具体的に、配置制御部１１３は、次の配置マトリクス取得サブ（配置マトリクス，１）を配置マトリクスに設定し（Ｓ７１）、配置マトリクスを返却して動作を終了する。ここで、「次の配置マトリクス取得サブ（配置マトリクス，ＵＩ部品番号）」は、図２０Ｂに示した処理を呼び出すことによって行われる。図２０Ｂは、図２０Ａから呼ばれる「次の配置マトリクス取得サブ（配置マトリクス，ＵＩ部品番号）」を求める処理の流れを示す図である。
【０１０３】
まず、配置制御部１１３は、機器番号に「１」を設定し（Ｓ８１）、配置マトリクス［ＵＩ部品番号］［機器番号］が「１」であるか否かを判定する（Ｓ８２）。配置制御部１１３は、配置マトリクス［ＵＩ部品番号］［機器番号］が「１」ではないと判定した場合（Ｓ８２：Ｎｏ）、配置マトリクス［ＵＩ部品番号］［機器番号］に「１」を設定し（Ｓ８３）、配置マトリクスを返却して動作を終了する。一方、配置制御部１１３は、配置マトリクス［ＵＩ部品番号］［機器番号］が「１」であると判定した場合（Ｓ８２：Ｙｅｓ）、配置マトリクス［ＵＩ部品番号］［機器番号］に「０」を設定し（Ｓ８４）、機器番号を１カウントアップして（Ｓ８５）、機器番号が機器の台数を超えたか否かを判定する（Ｓ８６）。配置制御部１１３は、機器番号が機器の台数を超えていないと判定した場合（Ｓ８６：Ｎｏ）、Ｓ８２に動作を移行させる。
【０１０４】
一方、配置制御部１１３は、機器番号が機器の台数を超えたと判定した場合（Ｓ８６：Ｙｅｓ）、ＵＩ部品番号がＵＩ部品の個数以上であるか否かを判定する（Ｓ８７）。配置制御部１１３は、ＵＩ部品番号がＵＩ部品の個数以上であると判定した場合には（Ｓ８７：Ｎｏ）、次の配置マトリクス取得サブ（配置マトリクス，ＵＩ部品番号＋１）を再帰的に呼び出し、その結果として得られた返却値を配置マトリクスに設定し（Ｓ８８）、配置マトリクスを返却して動作を終了する。一方、配置制御部１１３は、ＵＩ部品番号がＵＩ部品の個数未満であると判定した場合（Ｓ８７：Ｙｅｓ）、配置マトリクスを返却して動作を終了する。
【０１０５】
以上のようにして、図１２および図１２から呼ばれている各処理により、最高のスコアに対応する配置マトリクスが得られる。配置制御部１１３は、最高のスコアに対応する配置マトリクスに従って、アプリケーションを構成する各ＵＩ部品を連携に参加する各連携機器に割り当てることによって、複数ユーザも考慮したＵＩ部品の機器への割り当てを行ってアプリケーションを動作させることができる。
【０１０６】
上記したように、配置制御部１１３は、複数のユーザと複数の機器との「位置関係」が成立する場合において重複方針を満たすような各ＵＩの配置先の連携機器の組み合わせを示す配置マトリクス（配置情報）を決定し、決定した配置マトリクスに従ってＵＩ配置を制御してよい。このとき、上記のように、機器タイプを考慮してもよい。すなわち、配置制御部１１３は、複数のユーザと複数の機器との「位置関係」が成立する場合において、配置先の連携機器の種類をＵＩごとに示す機器タイプに属し、かつ、重複方針を満たすような配置情報を決定すればよい（請求項６）。
【０１０７】
本明細書において提案した方式は、図４の例のような「写真などのコンテンツを閲覧するアプリケーション」に限らず、様々なアプリケーションに対して汎用的に利用できる。アプリケーションを構成する各ＵＩ部品に対して、ａｎｎｏｔａｔｉｏｎとして、機器タイプ、重複方針、対象ユーザグループを適切に設定しさえすればよい。
【０１０８】
図２１〜図２５は、今まで説明した「写真などのコンテンツを閲覧するアプリケーション」と、先に例として挙げた「ＴＶ電話のアプリケーション」「絵本や紙芝居を読み聞かせるアプリケーション」「絵などの共同制作／編集のアプリケーション」および「写真撮影（リモート撮影）のアプリケーション」とのそれぞれにおけるａｎｎｏｔａｔｉｏｎの指定例を示す図である。
【０１０９】
以上、本開示の実施形態に係る情報処理システムの機能詳細について説明した。
【０１１０】
＜４．情報処理装置のハードウェア構成例＞
続いて、本開示の実施形態に係る情報処理装置１０のハードウェア構成例について説明する。図２６は、本開示の実施形態に係る情報処理装置１０のハードウェア構成例を示す図である。ただし、図２６に示したハードウェア構成例は、情報処理装置１０のハードウェア構成の一例を示したに過ぎない。したがって、情報処理装置１０のハードウェア構成は、図２６に示した例に限定されない。
【０１１１】
図２６に示したように、情報処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８０３と、センサ８０４と、入力装置８０８と、出力装置８１０と、ストレージ装置８１１と、ドライブ８１２と、撮像装置８１３と、通信装置８１５とを備える。
【０１１２】
ＣＰＵ８０１は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置１０内の動作全般を制御する。また、ＣＰＵ８０１は、マイクロプロセッサであってもよい。ＲＯＭ８０２は、ＣＰＵ８０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ８０３は、ＣＰＵ８０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一時記憶する。これらはＣＰＵバスなどから構成されるホストバスにより相互に接続されている。
【０１１３】
センサ８０４は、情報処理装置１０の状態を検知するための状態検知センサなどの各種検知用センサとその周辺回路とを含む。センサ８０４としては、例として、測位センサ、傾きセンサ、加速度センサ、ジャイロセンサ、方位センサ、温度センサ、湿度センサ、照度センサなどを挙げることができる。センサ８０４による検知信号は、ＣＰＵ８０１に送られる。これにより、ＣＰＵ８０１は、情報処理装置１０の状態（位置、傾き、加速度、角速度、方位、温度、湿度、照度など）を知ることができる。
【０１１４】
入力装置８０８は、マウス、キーボード、タッチパネル、ボタン（電源ボタンなど）、マイクロフォン、スイッチ、ダイヤルおよびレバーなどユーザが情報を入力するための操作部と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵ８０１に出力する入力制御回路などから構成されている。情報処理装置１０のユーザは、該入力装置８０８を操作することにより、情報処理装置１０に対して各種のデータを入力したり処理動作を指示したりすることができる。なお、これらの操作部が設けられる位置は特に限定されない。例えば、情報処理装置１０の筐体側面に当該操作部が設けられてもよいし、ディスプレイが設けられる面と同一面上に設けられてもよい。
【０１１５】
出力装置８１０は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）およびランプなどの表示装置を含んでよい。さらに、出力装置８１０は、スピーカおよびヘッドホンなどの音声出力装置を含んでもよい。例えば、表示装置は、撮像された画像や生成された画像などを表示する。一方、音声出力装置は、音声データなどを音声に変換して出力する。
【０１１６】
ストレージ装置８１１は、情報処理装置１０の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置８１１は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置８１１は、ＣＰＵ８０１が実行するプログラムや各種データを格納する。
【０１１７】
ドライブ８１２は、記憶媒体用リーダライタであり、情報処理装置１０に内蔵、あるいは外付けされる。ドライブ８１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記憶媒体に記録されている情報を読み出して、ＲＡＭ８０３に出力する。また、ドライブ８１２は、リムーバブル記憶媒体に情報を書き込むこともできる。
【０１１８】
撮像装置８１３は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置８１３は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
【０１１９】
通信装置８１５は、ネットワークを介して（あるいは、直接的に）外部装置と通信する。通信装置８１５は、無線通信用のインタフェースであってもよく、例えば、通信アンテナ、ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）回路、ベースバンドプロセッサなどを含んでもよい。無線通信用のインタフェースの具体的な例としては、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ
Ａｃｃｅｓｓ）、Ｗ−ＣＤＭＡ（Ｗｉｄｅｂａｎｄ  Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、Ｗｉ−ｆｉ（登録商標）（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）のような通信方式に対応したモデムなどの通信ユニットが挙げられる。
【０１２０】
また、通信装置８１５は、有線通信用のインタフェースであってもよく、例えば、接続端子、伝送回路およびその他の通信処理用の回路を含んでもよい。また、ＣＰＵ８０１と通信装置８１５とは１つのチップにより構成されてもよいし、別々のデバイスとして実現されてもよい。また、図２６には図示していないが、情報処理装置１０は、例えば、充電式電池のような電力源から供給される電力により駆動してもよく、当該電力源は、情報処理装置１０に対して着脱可能に構成されていてもよい。
【０１２１】
以上、本開示の実施形態に係る情報処理装置１０のハードウェア構成例について説明した。例えば、出力部１６０および記憶部１４０は、出力装置８１０およびストレージ装置８１１によりそれぞれ実現され得る。また、制御部１１０は、ＣＰＵ８０１により実現され得る。したがって、コンピュータを、制御部１１０を有する情報処理装置１０として機能させるためのプログラムがストレージ装置８１１、ＲＯＭ８０２またはＲＡＭ８０３に保持され、ＣＰＵ８０１が当該プログラムを実行し得る。
【０１２２】
なお、上述した情報処理装置１０の動作が実現されれば、図３に示した各構成の位置は特に限定されない。具体的な一例として、入力部１２０、センサ部１３０および出力部１６０と、制御部１１０および記憶部１４０とが、ネットワークを介して接続された互いに異なる情報処理装置に設けられてもよい。この場合には、制御部１１０および記憶部１４０が設けられた情報処理装置が、例えば、ウェブサーバやクラウドサーバのようなサーバに相当し、入力部１２０、センサ部１３０および出力部１６０が当該サーバにネットワークを介して接続されたクライアントに相当し得る。
【０１２３】
＜５．むすび＞
以上説明したように、本開示の実施形態によれば、複数のユーザと複数の機器との位置関係および前記複数のユーザそれぞれの属性のうち少なくともいずれか一方に基づいて、前記複数の機器のうち連携動作を行う複数の連携機器へのＵＩ配置を制御する配置制御部を備える、情報処理装置が提供される。かかる構成によれば、複数のユーザを考慮した上で複数の連携機器へのＵＩ配置が制御されることが可能となる。
【０１２４】
本開示の実施形態によれば、複数ユーザ対応も含む高度で柔軟な機器連携を、ユーザに使いやすい形で提供できる。また、本開示の実施形態によれば、機器連携アプリケーションを複数人で使用する場合にも、各ユーザが不自由なく閲覧や操作を行える。さらに、本開示の実施形態によれば、機器連携アプリケーションを複数人で使用する場合に、権限のないユーザに越権行為をされることを防ぐことができる。
【０１２５】
また、本開示の実施形態によれば、機器連携アプリケーションを使用するユーザの一部が遠隔の地点にいる場合にも対応できる。また、本開示の実施形態によれば、複数ユーザ対応も含む高度で柔軟な機器連携を行うアプリケーションを作成する上で、アプリケーション作成者にとっての負担が、機器単体専用のアプリケーションを作成する場合と比べてあまり大きくならずに済むという効果を奏する。
【０１２６】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１２７】
また、例えば、情報処理装置１０の動作は、必ずしもフローチャートに記載された順序に沿って時系列になされる必要はない。例えば、情報処理装置１０の動作は、フローチャートに記載した順序と異なる順序でなされてもよいし、フローチャートに記載された動作の少なくとも一部が並列的になされてもよい。
【０１２８】
また、コンピュータに内蔵されるＣＰＵ、ＲＯＭおよびＲＡＭなどのハードウェアを、上記した情報処理装置１０が有する機能と同等の機能を発揮させるためのプログラムも作成可能である。また、該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。
【０１２９】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１３０】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
複数のユーザと複数の機器との位置関係および前記複数のユーザそれぞれの属性のうち少なくともいずれか一方に基づいて、前記複数の機器のうち連携動作を行う複数の連携機器へのＵＩ配置を制御する配置制御部を備える、
情報処理装置。
（２）
前記配置制御部は、前記位置関係および異なる機器へのＵＩ重複配置を許容するか否かをＵＩごとに示す重複方針に基づいて、前記複数の連携機器へのＵＩ配置を制御する、
前記（１）に記載の情報処理装置。
（３）
前記重複方針は、異なる機器へのＵＩ重複配置を許容することを示す場合、ユーザ数とそのＵＩ部品が割り当てられた機器数とが同一であり、かつ、前記複数の連携機器それぞれの近くにユーザが存在することを条件とするか否かをさらに示す、
前記（２）に記載の情報処理装置。
（４）
前記重複方針は、異なる機器へのＵＩ重複配置を許容することを示す場合、前記複数のユーザそれぞれの近くにいずれかの連携機器が存在し、かつ、そのＵＩ部品が割り当てられた連携機器それぞれの近くにいずれかのユーザが存在することを条件とするか否かをさらに示す、
前記（２）に記載の情報処理装置。
（５）
前記配置制御部は、前記位置関係が成立する場合において前記重複方針を満たすような各ＵＩの配置先の連携機器の組み合わせを示す配置情報を決定し、前記配置情報に従ってＵＩ配置を制御する、
前記（２）〜（４）のいずれか一項に記載の情報処理装置。
（６）
前記配置制御部は、前記位置関係が成立する場合において、配置先の連携機器の種類をＵＩごとに示す機器タイプに関する条件を満たし、かつ、前記重複方針を満たすような前記配置情報を決定する、
前記（５）に記載の情報処理装置。
（７）
前記機器タイプは、少なくとも機器カテゴリおよび機器性能のいずれか一方に関する情報を含む、
前記（６）に記載の情報処理装置。
（８）
前記配置制御部は、前記位置関係が成立する場合において、前記機器タイプに属し、かつ、前記重複方針を満たすようなＵＩと配置先の連携機器とのペア群をそれぞれ含む複数の配置候補パターンを生成し、前記複数の配置候補パターンそれぞれのスコアを算出し、前記スコアに基づいて複数の配置候補パターンから前記配置情報を決定する、
前記（６）または（７）に記載の情報処理装置。
（９）
前記配置制御部は、前記配置候補パターンのスコアを、前記配置候補パターンの各ペアに対応する値を合計することにより算出する、
前記（８）に記載の情報処理装置。
（１０）
前記配置制御部は、前記配置候補パターンのスコアを、前記配置候補パターンの各ペアについて配置先の連携機器の機器タイプまたは機器性能に対応付けられた値を合計することにより算出する、
前記（９）に記載の情報処理装置。
（１１）
前記配置制御部は、各配置候補パターンについて前記スコアをペアの数で除することによって平均スコアを算出し、前記平均スコアが最大となる配置候補パターンを前記配置情報として決定する、
前記（９）または（１０）に記載の情報処理装置。
（１２）
前記配置制御部は、対応するセンサによる検出結果からユーザの視線が検出された機器が存在した場合、前記機器を有するペアに対応する値を高くする、
前記（９）〜（１１）のいずれか一項に記載の情報処理装置。
（１３）
前記配置制御部は、前記複数のユーザそれぞれの属性に基づいて、前記複数の連携機器へのＵＩ配置を制御する、
前記（１）〜（１２）のいずれか一項に記載の情報処理装置。
（１４）
前記複数のユーザそれぞれの属性は、少なくとも前記複数のユーザそれぞれに与えられた権限を含む、
前記（１３）に記載の情報処理装置。
（１５）
前記配置制御部は、前記複数のユーザそれぞれの属性とＵＩごとに定義された属性条件とに基づいて、前記複数の連携機器へのＵＩ配置を制御する、
前記（１３）または（１４）に記載の情報処理装置。
（１６）
前記配置制御部は、前記複数の連携機器それぞれの近くに存在する１以上のユーザの属性が前記属性条件を満たすような配置情報を決定する、
前記（１５）に記載の情報処理装置。
（１７）
前記配置制御部は、対応するセンサによる検出結果から１以上のユーザが認識された機器が存在した場合、前記機器の近くに前記１以上のユーザが存在すると判断する、
前記（１６）に記載の情報処理装置。
（１８）
前記位置関係は、前記複数の機器の近くに存在するユーザを識別するための情報を機器ごとに示す情報を含む、
前記（１）〜（１７）のいずれか一項に記載の情報処理装置。
（１９）
複数のユーザと複数の機器との位置関係および前記複数のユーザそれぞれの属性のうち少なくともいずれか一方に基づいて、前記複数の機器のうち連携動作を行う複数の連携機器へのＵＩ配置を制御することを含む、
情報処理方法。
（２０）
コンピュータを、
複数のユーザと複数の機器との位置関係および前記複数のユーザそれぞれの属性のうち少なくともいずれか一方に基づいて、前記複数の機器のうち連携動作を行う複数の連携機器へのＵＩ配置を制御する配置制御部を備える、
情報処理装置として機能させるためのプログラム。
【符号の説明】
【０１３１】
１０    情報処理装置
１１０  制御部
１１１  データ取得部
１１２  認識部
１１３  配置制御部
１２０  入力部
１３０  センサ部
１４０  記憶部
１５０  通信部
１６０  出力部
Ｅ１１〜Ｅ１３  機器
Ｅ２１〜Ｅ２５  機器
Ｅ３１〜Ｅ３３  機器
Ｐａ１〜Ｐａ３  ＵＩ部品
Ｕ１１〜Ｕ１３  ユーザ
Ｕ２１〜Ｕ２３  ユーザ
Ｕ３１〜Ｕ３３  ユーザ
【図１】
2016110178.tif 000003
【図２】
2016110178.tif 000004
【図３】
2016110178.tif 000005
【図４】
2016110178.tif 000006
【図５】
2016110178.tif 000007
【図６】
2016110178.tif 000008
【図７】
2016110178.tif 000009
【図８】
2016110178.tif 000010
【図９】
2016110178.tif 000011
【図１０】
2016110178.tif 000012
【図１１】
2016110178.tif 000013
【図１２】
2016110178.tif 000014
【図１３】
2016110178.tif 000015
【図１４】
2016110178.tif 000016
【図１５】
2016110178.tif 000017
【図１６】
2016110178.tif 000018
【図１７】
2016110178.tif 000019
【図１８】
2016110178.tif 000020
【図１９】
2016110178.tif 000021
【図２０Ａ】
2016110178.tif 000022
【図２０Ｂ】
2016110178.tif 000023
【図２１】
2016110178.tif 000024
【図２２】
2016110178.tif 000025
【図２３】
2016110178.tif 000026
【図２４】
2016110178.tif 000027
【図２５】
2016110178.tif 000028
【図２６】
2016110178.tif 000029