(58)【調査した分野】(Int.Cl.,DB名)
前記ウインドウ管理部は、さらに、前記第2のユーザが前記第2のウインドウの所有者であることを条件として、前記操作情報に応じて前記第1のウインドウおよび前記第2のウインドウを併合する、請求項2に記載の情報処理装置。
前記ウインドウ管理部は、前記第1のユーザの操作および前記第2のユーザの操作によって前記第1のウインドウと前記第2のウインドウとの位置関係が所定の条件を満たした場合に前記第1のウインドウおよび前記第2のウインドウを併合する、請求項1〜4のいずれか1項に記載の情報処理装置。
前記ウインドウ管理部は、前記第1のウインドウのうち所定の割合以上の領域が前記第2のウインドウと重複した場合に前記第1のウインドウおよび前記第2のウインドウを併合する、請求項5に記載の情報処理装置。
前記第1のユーザの操作、前記第2のユーザの操作、ならびに前記第1のユーザおよび前記第2のユーザを識別するための情報のうちの少なくともいずれかの入力を受け付ける入力部、または
前記第1のウインドウ、前記第2のウインドウ、および前記併合されたウインドウを表示する表示部
をさらに備える、請求項1〜10のいずれか1項に記載の情報処理装置。
【発明を実施するための形態】
【0015】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0016】
なお、説明は以下の順序で行うものとする。
1.機能構成
2.ウインドウDBのデータ
3.ウインドウ併合の処理フロー
4.ウインドウ分割の処理フロー
5.併合および分割の表示例
6.応用例
6−1.アイテム表示の例
6−2.3人以上での分割および併合の例
6−3.アカウントに関連付けられたアイテムの併合
6−4.アカウントに関連付けられたコンテンツの分割
6−5.併合されたウインドウに関する処理
7.ハードウェア構成
8.補足
【0017】
(1.機能構成)
図1は、本開示の一実施形態に係る情報処理装置の概略的な機能構成を示すブロック図である。
図1を参照すると、情報処理装置100は、操作情報取得部110と、ユーザ識別部120と、ウインドウ管理部130と、情報生成部140とを備える。また、情報処理装置100は、入力部150と、表示部160とのうちのいずれかまたは両方をさらに備えてもよい。
【0018】
情報処理装置100は、例えば、表示装置に組み込まれる回路部品でありうる。この場合、情報処理装置100は、それ自体は入力部や表示部を有さず、表示装置に対して入力された情報を取得し、表示装置において表示するための情報を出力する。あるいは、情報処理装置100は、ネットワークを介して表示装置と通信し、表示装置における表示を制御するサーバであってもよい。この場合も、情報処理装置100自体は入力部や表示部を有さない。
【0019】
また、情報処理装置100は、例えば、表示装置であってもよい。この場合、情報処理装置100は、入力部150または表示部160の少なくともいずれかを有する。表示装置は、例えば、LCD(Liquid Crystal Display)または有機EL(Electro-Luminescence)ディスプレイなどのディスプレイであってもよいし、プロジェクタであってもよい。また、表示装置は、複数の表示装置が組み合わされて協働し、より大きな表示面積での表示を実現するものであってもよい。
【0020】
なお、情報処理装置100を実現しうるハードウェアの構成例については後述する。
【0021】
操作情報取得部110は、例えばプロセッサによって実現される。操作情報取得部110は、表示部160に表示された第1のウインドウに対する第1のユーザの操作と、表示部160に表示された第1のウインドウとは異なる第2のウインドウに対する第1のユーザとは異なる第2のユーザの操作とを示す情報を入力部150から取得する。ここで、入力部150は、例えば表示部160に設けられたタッチセンサ(表示部160と組み合わされてタッチパネルを構成する)を含む。この場合、それぞれのユーザの操作を示す情報は、タッチセンサから出力される操作信号でありうる。また、入力部150は、例えばカメラを含む。この場合、それぞれのユーザの操作を示す情報は、カメラの撮像画像であり、撮像画像の解析によってユーザのジェスチャ操作が抽出されうる。
【0022】
ユーザ識別部120は、例えばプロセッサによって実現される。ユーザ識別部120は、第1のユーザおよび第2のユーザをそれぞれ識別する。ユーザ識別部120は、第1のユーザおよび第2のユーザを識別するための情報を、入力部150から取得する。ここで、入力部150は、例えばカメラを含む。この場合、ユーザを識別するための情報はカメラの撮像画像であり、ユーザ識別部120は、撮像画像に対して顔認識などの認識技術を適用することによって、第1のユーザおよび第2のユーザを識別する。
【0023】
ウインドウ管理部130は、例えばプロセッサによって実現される。ウインドウ管理部130は、例えば、第1のユーザの操作および前記第2のユーザの操作に応じて前記第1のウインドウおよび前記第2のウインドウを併合する。また、例えば、前記ウインドウ管理部は、前記第1のユーザの操作および前記第2のユーザの操作に応じて前記併合されたウインドウを前記第1のユーザおよび前記第2のユーザにそれぞれ対応するウインドウに分割してもよい。ウインドウ管理部130は、ウインドウの併合または分割以外にも、ウインドウの表示を管理する。このとき、ウインドウ管理部130は、ウインドウDB135を参照してもよい。なお、ウインドウDB135に含まれるデータの例については後述する。
【0024】
情報生成部140は、例えばプロセッサによって実現される。情報生成部140は、ウインドウ管理部130によって併合された、または分割されたウインドウに表示するための情報を生成する。生成された情報は、表示部160に提供されうる。例えば、ウインドウとしてWEBブラウザを使用している場合、情報生成部140はWEBブラウザの表示内容を構築するHTMLを作り出すためのコンテキスト(表示する写真や動画の種類など)と複数のユーザの情報を組み合わせて、併合または分割されたブラウザに表示するため新しいHTMLを生成する。なお、生成される情報のより具体的な例については後述する。
【0025】
入力部150は、上記の通り、情報処理装置100とは異なる装置において実現されてもよいし、情報処理装置100に含まれてもよい。入力部150は、例えばタッチセンサなどの入力装置を含んでもよいし、カメラを含んでもよい。入力部150が入力装置を含む場合、例えば、ユーザの操作に応じて生成される操作信号が操作情報取得部110に提供される。また、入力部150がカメラを含む場合、例えば、表示部160に表示されたウインドウに対する操作を実行しているユーザの撮像画像が、ユーザを識別するための情報としてユーザ識別部120に提供される。また、ユーザの撮像画像は、ユーザのジェスチャ操作を含む情報として、操作情報取得部110に提供されてもよい。
【0026】
表示部160も、上記の通り、情報処理装置100とは異なる装置において実現されてもよいし、情報処理装置100に含まれてもよい。表示部160は、例えばLCDまたは有機ELディスプレイなどのディスプレイであってもよいし、プロジェクタであってもよい。また、表示部160は、複数の表示装置が組み合わされて協働することによって実現されてもよい。表示部160は、1または複数のウインドウを含む画像を表示する。ウインドウの配置はウインドウ管理部130によって決定され、ウインドウに表示される情報は情報生成部140によって生成される。
【0027】
(2.ウインドウDBのデータ)
図2は、本開示の一実施形態に係るウインドウDBのデータの例を示す図である。
図2を参照すると、ウインドウDB135は、ユーザID、ウインドウID、ウインドウ領域、操作状態、および操作ユーザIDの項目を含む。
【0028】
表示部160に表示されるそれぞれのウインドウは、ウインドウDB135に含まれるウインドウIDに対応付けられている。図示された例では、ウインドウDB135に、ウインドウIDとして“010”,“011”,“012”の3つが含まれる。この場合、表示部160には少なくとも3つのウインドウが表示されている。
【0029】
ここで、ウインドウID“010”については、ウインドウDB135に2件のレコードが含まれている。これは、ウインドウID“010”のウインドウが、2つのウインドウが併合されたウインドウであることを意味する。図示された例では、第1のユーザ(ユーザID“001”)によって操作される第1のウインドウと、第2のユーザ(ユーザID“003”)によって操作される第2のウインドウとが併合されたウインドウ(ウインドウID“010”)が生成されている。
【0030】
また、図示されているように、本実施形態では、ウインドウに対して、ユーザIDと操作ユーザIDとが関連付けられている。ユーザIDは、ウインドウの所有者を示す。一方、操作ユーザIDは現在のウインドウの操作者を示す。所有者は、例えば、ウインドウを開く(最初に生成する)操作を実行したユーザとして特定されてもよい。このユーザの特定には、ユーザ識別部120による顔認識などによるユーザの識別の結果が利用されうる。また、操作者は、現在ウインドウに対する操作を実行しているユーザとして特定されうる。ここでも、ユーザ識別部120によるユーザ識別の結果が利用される。
【0031】
本実施形態では、ウインドウに対して操作ユーザIDとともに所有者のユーザIDを関連付けることによって、例えば、後述するように、操作ユーザが所有者であることを条件としてウインドウの併合や分割などの操作を実行することができる。他の実施形態では、例えばウインドウに対して操作ユーザIDが関連付けられる一方で所有者のユーザIDは関連付けられず、ウインドウの所有者に関わらず(そもそも所有者が記録されなくてもよい)、ユーザの操作によってウインドウの併合や分割などが可能であってもよい。
【0032】
ウインドウDB135では、さらに、ウインドウに対して、ウインドウ領域および操作状態が関連付けられている。ウインドウ領域は、表示部160におけるウインドウの配置を規定する情報である。図示された例では、ウインドウの端点(例えば左下隅)の位置(画面内座標)と、ウインドウの幅および高さとが規定されている。併合されているウインドウ(ウインドウID“010”)では、ウインドウ領域は同一である。
【0033】
また、操作状態は、操作情報取得部110が取得する情報に応じたウインドウの操作状態を示す。“選択”は、ウインドウがユーザによって選択されているが移動はしていない(例えば閲覧されている)状態を示し、“移動”は、ウインドウがユーザによって選択され、かつ移動している(変形されている場合を含む)状態を示す。例えば、“移動”はユーザによりウインドウがタッチやジェスチャ操作されながら移動している場合などが該当する。
“非選択”は、ウインドウがユーザによって選択されていない状態を示す。操作状態が“非選択”の場合、その時点でウインドウを操作しているユーザはいないため、操作ユーザIDは空白になる。
【0034】
なお、図示された例では、ウインドウID“012”のウインドウで所有者を示すユーザIDも空白になっている。このような状態は、例えば、このウインドウがシステムによって自動的に生成されたために所有者が定義されていない(最初にウインドウを選択したユーザが所有者になりうる)場合や、ウインドウの操作状態が“非選択”で所定の時間が経過したために、所有者の情報がクリアされたような場合に生じうる。
【0035】
以下、上記で説明したようなウインドウDB135の情報を利用した、本実施形態におけるウインドウの併合および分割の処理フローについて、さらに具体的に説明する。
【0036】
(3.ウインドウ併合の処理フロー)
図3は、本開示の一実施形態におけるウインドウ併合の処理を示すフローチャートである。図示された処理は、情報処理装置100のウインドウ管理部130によって実行される。まず、ウインドウ管理部130は、操作情報取得部110およびユーザ識別部120によって取得された情報に基づいて、表示部160に表示されたそれぞれのウインドウについて、操作状態、操作ユーザID、およびウインドウ領域を更新する(ステップS11)。
【0037】
次に、ウインドウ管理部130は、管理されているウインドウ、つまりウインドウDB135のレコードに関連付けられているウインドウの中で、移動状態のウインドウを検索する(ステップS12)。上記のように、移動状態において、ウインドウは、ユーザの操作によって選択され、かつ移動または変形されている。
【0038】
次に、ウインドウ管理部130は、複数のウインドウが移動状態であるか否かを判定する(ステップS13)。複数のウインドウが移動状態ではない場合、ウインドウの併合は発生しないため、ウインドウ管理部130はウインドウの情報を情報生成部140に出力して(ステップS17)、処理を終了する。
【0039】
ステップS13の判定において、複数のウインドウが移動状態であった場合、ウインドウ管理部130は、さらに、移動状態である複数のウインドウの中で、ユーザID(所有者を示す)と操作ユーザIDとが同じであるウインドウが複数存在するか否かを判定する(ステップS14)。図示された例において、ウインドウの併合は、併合の対象になるそれぞれのウインドウを操作するユーザがウインドウの所有者であることを条件として実行される。従って、ユーザIDと操作ユーザIDとが同じであるウインドウが複数存在しない場合、ウインドウ管理部130はウインドウの情報を情報生成部140に出力して(ステップS17)、処理を終了する。
【0040】
なお、ウインドウの所有者または操作者であるユーザと、ウインドウの併合または分割の条件については、他にもさまざまなバリエーションがありうる。例えば、ウインドウ管理部130は、1つのウインドウ(第1のウインドウ)の操作ユーザ(第1のユーザ)が当該第1のウインドウの所有者であれば、他のウインドウ(第2のウインドウ)の操作ユーザ(第2のユーザ)が当該第2のウインドウの所有者であるか否かに関わらず、後続の判定処理を経たウインドウの併合を可能にしてもよい。また、ウインドウ管理部130は、さらに、第2のユーザも第2のウインドウの所有者である場合に限って、ウインドウの併合を可能にしてもよい。あるいは、既に説明したように、ウインドウの併合は、ウインドウの所有者に関わらず実行可能であってもよい。
【0041】
ステップS14の判定において、複数のウインドウでユーザIDと操作ユーザIDとが同じであった場合、ウインドウ管理部130は、さらに、それらのウインドウのうちの2以上のウインドウが、少なくともいずれかのウインドウの1/3以上の領域で互いに重複しているか否かを判定する(ステップS15)。なお、1/3というのは所定の割合の例であり、この値は任意に変更されうる。ここで、1/3以上の領域で重複したウインドウがない場合、ウインドウ管理部130はウインドウの情報を情報生成部140に出力して(ステップS17)、処理を終了する。
【0042】
ステップS15の判定において、1/3以上の領域で重複した2以上のウインドウがあった場合、ウインドウ管理部130は、併合されたウインドウのウインドウ情報を生成する(ステップS16)。より具体的には、ウインドウ管理部130は、ウインドウDB135において、併合されたウインドウに共通するウインドウIDを与える。ここで与えられるウインドウIDは、併合される前のウインドウのいずれかのウインドウIDであってもよいし、新たに生成されてもよい。
【0043】
また、ウインドウ管理部130は、併合されたウインドウのウインドウ領域に、少なくとも併合される前のウインドウの両方を包含する領域を設定する。さらに、ウインドウの併合が実行された後、併合されたウインドウは選択状態(ユーザによって選択されているが移動または変形はしていない状態)になるため、ウインドウ管理部130は、併合されたウインドウの操作状態を“移動”から“選択”に変更する。次に、ウインドウ管理部130は、併合されたウインドウを含むウインドウの情報を情報生成部140に出力して(ステップS17)、処理を終了する。
【0044】
なお、ユーザの操作に応じてウインドウの併合を実行するための条件については、他にもさまざまなバリエーションがありうる。例えば、ウインドウ管理部130は、第1のユーザの操作および第2のユーザの操作によって第1のウインドウと第2のウインドウとの位置関係が所定の条件を満たした場合にウインドウの併合を実行してもよい。この場合には、例えば、上記の例のように、第1のウインドウのうち所定の割合(上記の例では1/3)以上の領域が第2のウインドウと重複した場合にウインドウを併合する場合も含まれる。また、ウインドウ管理部130は、第2のウインドウでも所定の割合以上の領域が第1のウインドウと重複した場合にウインドウを併合してもよい。あるいは、ウインドウ管理部130は、ウインドウ同士の重複領域の代わりに、例えばウインドウの中心間の距離に基づいて、ウインドウを併合するか否かを判定してもよい。
【0045】
(4.ウインドウ分割の処理フロー)
図4は、本開示の一実施形態におけるウインドウ分割の処理を示すフローチャートである。図示された処理は、情報処理装置100のウインドウ管理部130によって実行される。まず、ウインドウ管理部130は、操作情報取得部110およびユーザ識別部120によって取得された情報に基づいて、表示部160に表示されたそれぞれのウインドウについて、操作状態、操作ユーザID、およびウインドウ領域を更新する(ステップS21)。
【0046】
次に、ウインドウ管理部130は、管理されているウインドウ、つまりウインドウDB135のレコードに関連付けられているウインドウの中で、併合されているウインドウを検索する(ステップS22)。併合されているウインドウは、例えば
図2に示したウインドウDB135の例であれば、複数のレコードに共通して与えられているウインドウIDによって識別することができる。
【0047】
次に、ウインドウ管理部130は、併合されているウインドウが移動状態であるか否かを判定する(ステップS23)。併合されているウインドウは移動状態である場合、ウインドウは、ユーザの操作によって選択され、かつ移動または変形されている。ここで、併合されているウインドウが移動状態ではない場合、ウインドウの分割は発生しないため、ウインドウ管理部130はウインドウの情報を情報生成部140に出力して(ステップS27)、処理を終了する。
【0048】
ステップS23の判定において、併合されたウインドウが移動状態であった場合、ウインドウ管理部130は、さらに、併合されたウインドウのユーザID(所有者を示す)と操作ユーザIDとが同じであるか否かを判定する(ステップS24)。図示された例において、ウインドウの分割は、併合されたウインドウを操作する複数のユーザが、いずれも併合されたウインドウの所有者であることを条件として実行される。なお、例えば
図2に示したウインドウDB135の例のように、併合されたウインドウには、併合前のウインドウの数に応じて、複数のユーザIDおよび操作ユーザIDが関連付けられうる。併合されたウインドウのユーザIDと操作ユーザIDとが同じではない場合、ウインドウ管理部130はウインドウの情報を情報生成部140に出力して(ステップS27)、処理を終了する。
【0049】
ステップS24の判定において、併合されたウインドウのユーザIDと操作ユーザIDとが同じであった場合、ウインドウ管理部130は、さらに、併合されたウインドウの中に設定される仮想的なウインドウ同士の重複領域がそれぞれのウインドウの2/3以下であるか否かを判定する(ステップS25)。なお、2/3というのは所定の割合の例であり、この値は任意に変更されうる。併合されたウインドウの中に設定される仮想的なウインドウについては、後述する。ここで、仮想的なウインドウ同士の重複領域が2/3を超えている場合、ウインドウ管理部130はウインドウの情報を情報生成部140に出力して(ステップS27)、処理を終了する。
【0050】
ステップS25の判定において、仮想的なウインドウ同士の重複領域がそれぞれのウインドウの2/3以下であった場合、ウインドウ管理部130は、分割されたウインドウのウインドウ情報を生成する(ステップS26)。より具体的には、ウインドウ管理部130は、ウインドウDB135において、併合されたウインドウのウインドウIDに関連付けられた複数のレコードに、それぞれ異なるウインドウIDを与える。分割されたウインドウのうちのいずれか1つに併合されたウインドウのウインドウIDがそのまま与えられてもよいし、分割されたウインドウのすべてについて新たなウインドウIDが生成されてもよい。
【0051】
また、ウインドウ管理部130は、分割されたウインドウのウインドウ領域を、分割前のウインドウのウインドウ領域の中で設定する。さらに、ウインドウの分割が実行された後、分割されたウインドウは選択状態(ユーザによって選択されているが移動または変形はしていない状態)になるため、ウインドウ管理部130は、分割されたウインドウの操作状態を“移動”から“選択”に変更する。次に、ウインドウ管理部130は、分割されたウインドウを含むウインドウの情報を情報生成部140に出力して(ステップS27)、処理を終了する。
【0052】
なお、ユーザの操作に応じてウインドウの分割を実行するための条件については、他にもさまざまなバリエーションがありうる。例えば、ウインドウ管理部130は、併合されたウインドウの中に、それぞれのユーザに対応する仮想的なウインドウを設定し、ユーザの操作によって仮想的なウインドウ同士の位置関係が所定の条件を満たした場合にウインドウの分割を実行してもよい。この場合には、例えば、上記の例のように仮想的なウインドウ同士の重複領域がそれぞれのウインドウの所定の割合(上記の例では2/3)以下になった場合にウインドウを分割する場合も含まれる。また、ウインドウ管理部130は、仮想的なウインドウ同士の重複領域の代わりに、例えば仮想的なウインドウの中心間の距離に基づいて、ウインドウを分割するか否かを判定してもよい。
【0053】
また、ウインドウ管理部130は、仮想的なウインドウを設定することなく、併合されたウインドウに対する複数のユーザの操作に基づいてウインドウを分割するか否かを判定してもよい。例えば、ウインドウ管理部130は、併合されたウインドウに対して、複数のユーザによる互いに異なる向きのドラッグ操作が所定の操作量以上で取得された場合にウインドウを分割してもよい。また、ウインドウ管理部130は、併合されたウインドウに対して、一人のユーザがウインドウを固定している状態で他のユーザによるドラッグ操作が行われ、相対的な操作量が所定以上取得された場合にウインドウを分割してもよい。
【0054】
なお、ウインドウ管理部130は、以上で説明したウインドウの併合の処理および分割の処理のうち、いずれか一方だけを実行するように構成されていてもよいし、両方を並行して実行するように構成されていてもよい。
【0055】
(5.併合および分割の表示例)
図5は、本開示の一実施形態におけるウインドウの併合時の表示例を示す図である。
図5を参照すると、表示部160には、第1のウインドウ1001と、第2のウインドウ1002とが表示されている。第1のウインドウ1001は第1のユーザの操作によって選択および移動され、第2のウインドウ1002は第2のユーザの操作によって選択および移動される。
【0056】
例えば、上記で
図3を参照して説明した例では、第1のウインドウ1001と第2のウインドウと1002との重複領域1010が、第1のウインドウ1001または第2のウインドウ1002の少なくともいずれかの面積の1/3以上になった場合に、ウインドウ管理部130が第1のウインドウ1001および第2のウインドウ1002を併合し、併合されたウインドウ1003が表示部160に表示される。
【0057】
図6は、本開示の一実施形態におけるウインドウの分割時の表示例を示す図である。
図6を参照すると、表示部160には、併合されたウインドウ1003が表示されている。ここで、第1のユーザおよび第2のユーザのそれぞれによって、併合されたウインドウ1003に対する移動の操作が開始された場合に、併合されたウインドウ1003の中に仮想的なウインドウ1021,1022が設定される。なお、仮想的なウインドウ1021,1022は、仮想的に設定される領域であって、ユーザによって視認されるものではない。
【0058】
これ以降、仮想的なウインドウ1021は第1のユーザの操作によって、仮想的なウインドウ1022は第2のユーザの操作によって、それぞれ移動する。仮想的なウインドウ1021,1022の移動によって、これらのウインドウを包含するように併合されたウインドウ1003の領域が拡張されてもよい。移動によって、仮想的なウインドウ1021,1022の重複領域1030は少しずつ縮小する。
【0059】
例えば、上記で
図4を参照して説明した例では、仮想的なウインドウ1021,1022の重複領域1030が、それぞれのウインドウの面積の2/3以下になった場合に、ウインドウ管理部130が併合されたウインドウ1003を第1のウインドウ1001および第2のウインドウ1002に分割する。分割された第1のウインドウ1001および第2のウインドウ1002のウインドウ領域は、分割前のウインドウ、つまり併合されたウインドウ1003のウインドウ領域の中で設定されうる。
【0060】
(6.応用例)
(6−1.アイテム表示の例)
図7は、本開示の一実施形態におけるウインドウの併合を利用したアイテム表示の例について説明するための図である。
図7を参照すると、表示部160には、第1のウインドウ1001と、第2のウインドウ1002とが表示されている。第1のウインドウ1001は第1のユーザの操作によって選択および移動され、第2のウインドウ1002は第2のユーザの操作によって選択および移動される。
【0061】
ここで、第1のウインドウ1001および第2のウインドウ1002は、それぞれアイテム群を表示コンテンツとして含む。第1のウインドウ1001にはアイテムA1,A2,A3を含む第1のアイテム群が表示されており、第2のウインドウ1002にはアイテムB1,B2,B3を含む第2のアイテム群が表示されている。
【0062】
図示された例において、第1のウインドウ1001と第2のウインドウ1002とが、例えば上記で
図3や
図5を参照して説明した例のような操作によって併合されると、併合されたウインドウ1003には、第1のアイテム群と第2のアイテム群とを併合した第3のアイテム群が表示される。第3のアイテム群は、第1のアイテム群または第2のアイテム群に含まれていたアイテム、つまりアイテムA1,B1,A2,B2,A3,B3を含む。第3のアイテム群は、例えば、時間軸、地図、人物などの任意の軸に基づいて、統合的に配列されてもよい。
【0063】
図8は、本開示の一実施形態におけるウインドウの併合を利用したアイテム表示の別の例について説明するための図である。
図8を参照すると、表示部160には、第1のウインドウ1001と、第2のウインドウ1002とが表示されている。第1のウインドウ1001は第1のユーザの操作によって選択および移動され、第2のウインドウ1002は第2のユーザの操作によって選択および移動される。
【0064】
ここで、第1のウインドウ1001および第2のウインドウ1002は、
図7に示した例と同様に、それぞれ第1のアイテム群と第2のアイテム群とを含む。ただし、
図8の例では、第1のアイテム群のうち、アイテムA1については第2のユーザがアクセス権限を有さない。同様に、第2のアイテム群のうち、アイテムB2については第1のユーザがアクセス権限を有さない。
【0065】
このような場合、情報生成部140は、アイテムA1およびアイテムB2を、第1のウインドウ1001と第2のウインドウ1002とを併合することによって表示される併合されたウインドウ1003に表示される第3のアイテム群から除外する。従って、この例では、併合されたウインドウ1003に表示される第3のアイテム群には、アイテムB1,A2,A3,B3が含まれる。
図7の例と同様に、第3のアイテム群は、例えば、時間軸、地図、人物などの任意の軸に基づいて、統合的に配列されてもよい。
【0066】
なお、上記の例において、第3のアイテム群から除外されたアイテムA1,B2の情報は、例えば情報処理装置100において内部的に保持され、その後併合されたウインドウ1003が再び第1のウインドウ1001と第2のウインドウ1002とに分割された場合に、第1のウインドウ1001および第2のウインドウ1002において再び表示されてもよい。
【0067】
このようにして、ウインドウの併合を利用してユーザがより自由にアイテムを共有できるようにするとともに、必要に応じてユーザのプライバシーを保護することができる。なお、アイテムとしては、例えば写真や動画といったコンテンツファイル(表示されるのはそのアイコンでありうる)、ブックマーク、アドレス帳などがありうる。
【0068】
(6−2.3人以上での分割および併合の例)
図9は、本開示の一実施形態における3人以上でのウインドウの分割および併合の例について説明するための図である。
図9を参照すると、表示部160には、併合されたウインドウ1003aが表示されている。このように、併合されたウインドウ1003aは、ユーザの操作による併合を経ずに、最初から表示されていてもよい。図示された例では、併合されたウインドウ1003aに、ブラウザ画面が表示されており、3人のユーザが旅行の計画を立案している。
【0069】
ここで、例えば、交通情報やホテル情報、レストラン情報について、3人のユーザが個別に情報を検索することになったとする。それぞれのユーザが併合されたウインドウ1003aに対して所定の操作を実行することによって、併合されたウインドウ1003aが、第1のウインドウ1001と、第2のウインドウ1002a,1002bとに分割された。このように、本実施形態において、第2のウインドウ1002は複数のウインドウを含みうる。この場合、第2のウインドウ1002に対応する第2のユーザも複数でありうる。例えば第2のウインドウ1002が2つであれば、ウインドウは3つに分割されることになる。
【0070】
なお、図示されていないが、分割当初は、第1のウインドウ1001、および第2のウインドウ1002a,1002bには、いずれも同じコンテンツ、例えば分割前の併合されたウインドウ1003aのコンテンツの複製物が表示されうる。その後、それぞれのユーザは、分割されたウインドウを用いて個別に、例えば交通情報とホテル情報とレストラン情報とで手分けして情報検索を実行することができる。
【0071】
さらに、個別の情報検索が終了した場合、それぞれのユーザが第1のウインドウ1001および第2のウインドウ1002a,1002bに対して所定の操作を実行することによって、これらのウインドウが併合されたウインドウ1003bが表示される。併合されたウインドウ1003bには、併合前の第1のウインドウ1001および第2のウインドウ1002a,1002bのコンテンツが併合して表示される。ユーザは、例えば、併合されたウインドウ1003bに表示された交通、ホテル、及びレストランの情報に加えて、旅行日程の情報などをさらに入力してもよい。
【0072】
このようにして、ウインドウの分割および併合を利用してユーザがより自由に情報を検索したり、検索した情報を持ち寄ったりすることが可能になる。また、本実施形態において、ウインドウの分割および併合は、2つのウインドウの間には限られず、上記の例のように3つ以上のウインドウの間でも可能である。
【0073】
(6−3.アカウントに関連付けられたアイテムの併合)
図10は、本開示の一実施形態におけるアカウントに関連付けられたアイテムの併合の例について説明するための図である。
図10を参照すると、表示部160には、第1のウインドウ1001と、第2のウインドウ1002とが表示されている。第1のウインドウ1001は第1のユーザの操作によって選択および移動され、第2のウインドウ1002は第2のユーザの操作によって選択および移動される。
【0074】
ここで、第1のウインドウ1001および第2のウインドウ1002は、それぞれアイテム群を表示コンテンツとして含む。第1のウインドウ1001には第1のユーザがオンラインストアで購入したアイテムを含む第1のアイテム群(ショッピングカートA)が表示されており、第2のウインドウ1002には第2のユーザがオンラインストアで購入したアイテムを含む第2のアイテム群(ショッピングカートB)が表示されている。ここで、第1のアイテム群は第1のユーザのユーザアカウントに関連付けられており、第2のアイテム群は第2のユーザのユーザアカウントに関連付けられている。
【0075】
図示された例において、第1のウインドウ1001と第2のウインドウ1002とが、例えば上記で
図3や
図5を参照して説明した例のような操作によって併合されると、併合されたウインドウ1003には、第1のアイテム群と第2のアイテム群とを併合した第3のアイテム群(ショッピングカートA+B)が表示される。この第3のアイテム群は、第1のユーザと第2のユーザとが共有するユーザアカウントに関連付けられている。第1のユーザおよび第2のユーザは、例えば、併合されたウインドウ1003に表示されている購入ボタンを選択することによって、第3のアイテム群(ショッピングカートA+B)に含まれるアイテムを共同購入することができる。
【0076】
このようにして、ウインドウの分割および併合に伴って、それぞれのユーザのユーザアカウントに関連付けられたアイテムをユーザが共有するアカウントに関連付けることによって、ユーザはアイテムの共同購入などを自由に行うことができる。
【0077】
(6−4.アカウントに関連付けられたコンテンツの分割)
図11は、本開示の一実施形態におけるアカウントに関連付けられたコンテンツの分割の例について説明するための図である。
図11を参照すると、表示部160には、併合されたウインドウ1003が表示されている。第1のユーザおよび第2のユーザは、彼らが共有するユーザアカウントを用いて、オンラインコンテンツを共同購入する。そして、第1のユーザおよび第2のユーザは、併合されたウインドウ1003において、共同購入したオンラインコンテンツの視聴を開始する。
【0078】
ところが、ここで、何らかの事情によって第1のユーザおよび第2のユーザが、それぞれ別のウインドウでオンラインコンテンツを視聴しようとしたとする。この場合、第1のユーザおよび第2のユーザは、併合されたウインドウを、例えば上記で
図4や
図6を参照して説明した例のような操作によって分割する。オンラインコンテンツが、第1のユーザおよび第2のユーザが共有するユーザアカウントに関連付けられるとともに、彼らの個別のユーザアカウントにも関連付けられていれば、分割後の第1のウインドウ1001および第2のウインドウ1002には、オンラインコンテンツの複製物が含まれる。
【0079】
しかしながら、図示された例では、オンラインコンテンツが、第1のユーザおよび第2のユーザが共有するユーザアカウントには関連付けられているものの、彼らの個別のユーザアカウントには関連付けられていない。従って、情報処理装置100の情報生成部140は、併合されたウインドウ1003に表示されていたコンテンツの複製物を、分割されたウインドウである第1のウインドウ1001および第2のウインドウ1002には表示させない。これらのウインドウには、例えば、“視聴できません”といったようなエラーメッセージが表示される。あるいは、分割されたウインドウである第1のウインドウ1001および第2のウインドウ1002にコンテンツリストとして表示する場合に、ウインドウ1003に表示されていたコンテンツのタイトル等は表示するがグレーアウトするなどして選択できないように設定する。
【0080】
このようにして、ウインドウの分割によるコンテンツの複製について、コンテンツとユーザアカウントとの関連付け、より具体的には例えばアクセス権限の有無などに応じたコントロールを加えることが可能である。
【0081】
(6−5.併合されたウインドウに関する処理)
図12は、本開示の一実施形態における併合されたウインドウに関する処理の例について説明するための図である。
図12を参照すると、ユーザAが表示されたウインドウを介してウェブサービスにログインしていた場合に、さらにユーザBがウインドウの併合によってユーザAとともにログインしている。
【0082】
この場合、ウェブサービス上では、ユーザAおよびユーザBのそれぞれのユーザアカウントの情報を一部引き継いだ、新たなユーザアカウントが生成される(アカウントAB)。例えば、この新たなユーザアカウントに関連付けて記録される情報は、アカウントを共有するユーザが全員でログインした場合に限り変更可能であってもよい。この場合、個々のユーザがログインしただけでは情報を変更できないため、例えばアカウントを共有するユーザ全員の賛同を得た共通の規則などを安全に記録することができる。なお、記録された情報の閲覧は、個々のユーザがログインした場合にも可能であってもよい。
【0083】
また、その他の構成として、例えば、併合されたウインドウについて、ウインドウの所有者または操作者である複数のユーザに共通したリコメンドの情報を出力することによって、その場に適した広告を出すことができる。また、併合されたウインドウを介してアクセスされていることを条件として、商品やサービスの購入などの権利を与えてもよい。この場合、所定の数のユーザを集め、それぞれのユーザのウインドウを併合したウインドウからアクセスすることが必要になるため、集客効果が期待できる。ユーザの数だけではなく、ユーザの状態や属性を限定して希少価値を高めてもよい。
【0084】
(7.ハードウェア構成)
次に、
図13を参照して、本開示の実施形態に係る情報処理装置のハードウェア構成について説明する。
図13は、本開示の実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。
【0085】
情報処理装置900は、CPU(Central Processing unit)901、ROM(Read
Only Memory)903、およびRAM(Random Access Memory)905を含む。また、情報処理装置900は、ホストバス907、ブリッジ909、外部バス911、インターフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923、通信装置925を含んでもよい。さらに、情報処理装置900は、必要に応じて、撮像装置933、およびセンサ935を含んでもよい。情報処理装置900は、CPU901に代えて、またはこれとともに、DSP(Digital Signal Processor)またはASIC(Application Specific Integrated Circuit)と呼ばれるような処理回路を有してもよい。
【0086】
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置900内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。CPU901、ROM903、およびRAM905は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
【0087】
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話などの外部接続機器929であってもよい。入力装置915は、ユーザが入力した情報に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりする。
【0088】
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置917は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、有機EL(Electro-Luminescence)ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置917は、情報処理装置900の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。
【0089】
ストレージ装置919は、情報処理装置900の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【0090】
ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体927のためのリーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体927に記録を書き込む。
【0091】
接続ポート923は、機器を情報処理装置900に直接接続するためのポートである。接続ポート923は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどでありうる。また、接続ポート923は、RS−232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート923に外部接続機器929を接続することで、情報処理装置900と外部接続機器929との間で各種のデータが交換されうる。
【0092】
通信装置925は、例えば、通信ネットワーク931に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カードなどでありうる。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置925は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置925に接続される通信ネットワーク931は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などである。
【0093】
撮像装置933は、例えば、CCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置933は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
【0094】
センサ935は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサなどの各種のセンサである。センサ935は、例えば情報処理装置900の筐体の姿勢など、情報処理装置900自体の状態に関する情報や、情報処理装置900の周辺の明るさや騒音など、情報処理装置900の周辺環境に関する情報を取得する。また、センサ935は、GPS(Global Positioning System)信号を受信して装置の緯度、経度および高度を測定するGPSセンサを含んでもよい。
【0095】
以上、情報処理装置900のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
【0096】
(8.補足)
本開示の実施形態は、例えば、上記で説明したような情報処理装置、システム、情報処理装置またはシステムで実行される情報処理方法、情報処理装置を機能させるためのプログラム、およびプログラムが記録された一時的でない有形の媒体を含みうる。
【0097】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0098】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【0099】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)表示部に表示された第1のウインドウに対する第1のユーザの操作と、前記表示部に表示された前記第1のウインドウとは異なる第2のウインドウに対する前記第1のユーザとは異なる第2のユーザの操作とを示す情報を取得する操作情報取得部と、
前記第1のユーザおよび前記第2のユーザをそれぞれ識別するユーザ識別部と、
前記第1のユーザの操作および前記第2のユーザの操作に応じて前記第1のウインドウおよび前記第2のウインドウを併合するウインドウ管理部と、
前記併合されたウインドウに表示するための情報を生成する情報生成部と
を備える情報処理装置。
(2)前記ウインドウ管理部は、前記第1のユーザが前記第1のウインドウの所有者であることを条件として、前記第1のユーザの操作および前記第2のユーザの操作に応じて前記第1のウインドウおよび前記第2のウインドウを併合する、前記(1)に記載の情報処理装置。
(3)前記ウインドウ管理部は、さらに、前記第2のユーザが前記第2のウインドウの所有者であることを条件として、前記第1のユーザの操作および前記第2のユーザの操作に応じて前記第1のウインドウおよび前記第2のウインドウを併合する、前記(2)に記載の情報処理装置。
(4)前記併合されたウインドウに表示するための情報は、前記第1のウインドウに表示された第1のアイテム群と、前記第2のウインドウに表示された第2のアイテム群とを併合した第3のアイテム群を含む、前記(1)〜(3)のいずれか1項に記載の情報処理装置。
(5)前記情報生成部は、前記第1のアイテム群のうち、前記第2のユーザがアクセス権限を有さないアイテムを前記第3のアイテム群から除外する、前記(4)に記載の情報処理装置。
(6)前記第1のアイテム群は、前記第1のユーザのユーザアカウントに関連付けられ、
前記第2のアイテム群は、前記第2のユーザのユーザアカウントに関連付けられ、
前記第3のアイテム群は、前記第1のユーザと前記第2のユーザとが共有するユーザアカウントに関連付けられる、前記(4)に記載の情報処理装置。
(7)前記ウインドウ管理部は、前記第1のユーザの操作および前記第2のユーザの操作によって前記第1のウインドウと前記第2のウインドウとの位置関係が所定の条件を満たした場合に前記第1のウインドウおよび前記第2のウインドウを併合する、前記(1)〜(6)のいずれか1項に記載の情報処理装置。
(8)前記ウインドウ管理部は、前記第1のウインドウのうち所定の割合以上の領域が前記第2のウインドウと重複した場合に前記第1のウインドウおよび前記第2のウインドウを併合する、前記(7)に記載の情報処理装置。
(9)前記ウインドウ管理部は、前記第1のユーザの操作および前記第2のユーザの操作に応じて前記併合されたウインドウを前記第1のユーザおよび前記第2のユーザにそれぞれ対応するウインドウに分割し、
前記情報生成部は、前記分割されたウインドウに表示するための情報を生成する、前記(1)〜(8)のいずれか1項に記載の情報処理装置。
(10)前記分割されたウインドウに表示するための情報は、前記併合されたウインドウに表示されていたコンテンツの複製物を含む、前記(9)に記載の情報処理装置。
(11)前記情報生成部は、前記併合されたウインドウに表示されていたコンテンツが前記第1のユーザと前記第2のユーザとが共有するユーザアカウントに関連付けられ、前記第1のユーザおよび前記第2のユーザのそれぞれのユーザアカウントには関連付けられていない場合に、前記複製物を前記分割されたウインドウに表示させない、前記(10)に記載の情報処理装置。
(12)前記ウインドウ管理部は、前記併合されたウインドウの中に、前記第1のユーザおよび前記第2のユーザのそれぞれに対応する仮想的なウインドウを設定し、前記第1のユーザの操作および前記第2のユーザの操作によって前記仮想的なウインドウ同士の位置関係が所定の条件を満たした場合に前記併合されたウインドウを分割する、前記(9)〜(11)のいずれか1項に記載の情報処理装置。
(13)前記ウインドウ管理部は、前記仮想的なウインドウ同士の重複領域がそれぞれのウインドウの所定の割合以下になった場合に前記併合されたウインドウを分割する、前記(12)に記載の情報処理装置。
(14)前記第2のウインドウは、複数のウインドウを含み、
前記第2のユーザは、前記複数のウインドウに対応する複数のユーザを含む、前記(1)〜(13)のいずれか1項に記載の情報処理装置。
(15)前記第1のユーザの操作、前記第2のユーザの操作、ならびに前記第1のユーザおよび前記第2のユーザを識別するための情報のうちの少なくともいずれかの入力を受け付ける入力部、または
前記第1のウインドウ、前記第2のウインドウ、および前記併合されたウインドウを表示する表示部
をさらに備える、前記(1)〜(14)のいずれか1項に記載の情報処理装置。
(16)表示部に表示されたウインドウに対する第1のユーザの操作と、前記ウインドウに対する前記第1のユーザとは異なる第2のユーザの操作とを示す情報を取得する情報取得部と、
前記第1のユーザおよび前記第2のユーザをそれぞれ識別するユーザ識別部と、
前記第1のユーザの操作および前記第2のユーザの操作に応じて前記ウインドウを第1のウインドウと前記第1のウインドウとは異なる第2のウインドウとに分割するウインドウ管理部と、
前記第1のウインドウおよび前記第2のウインドウにそれぞれ表示するための情報を生成する情報生成部と
を備える情報処理装置。
(17)表示部に表示された第1のウインドウに対する第1のユーザの操作と、前記表示部に表示された前記第1のウインドウとは異なる第2のウインドウに対する前記第1のユーザとは異なる第2のユーザの操作とを示す情報を取得することと、
前記第1のユーザおよび前記第2のユーザをそれぞれ識別することと、
プロセッサが、前記第1のユーザの操作および前記第2のユーザの操作に応じて前記第1のウインドウおよび前記第2のウインドウを併合することと、
前記併合されたウインドウに表示するための情報を生成することと
を含む情報処理方法。
(18)表示部に表示されたウインドウに対する第1のユーザの操作と、前記ウインドウに対する前記第1のユーザとは異なる第2のユーザの操作とを示す情報を取得することと、
前記第1のユーザおよび前記第2のユーザをそれぞれ識別することと、
プロセッサが、前記第1のユーザの操作および前記第2のユーザの操作に応じて前記ウインドウを第1のウインドウと前記第1のウインドウとは異なる第2のウインドウとに分割することと、
前記第1のウインドウおよび前記第2のウインドウにそれぞれ表示するための情報を生成することと
を含む情報処理方法。
(19)表示部に表示された第1のウインドウに対する第1のユーザの操作と、前記表示部に表示された前記第1のウインドウとは異なる第2のウインドウに対する前記第1のユーザとは異なる第2のユーザの操作とを示す情報を取得する機能と、
前記第1のユーザおよび前記第2のユーザをそれぞれ識別する機能と、
前記第1のユーザの操作および前記第2のユーザの操作に応じて前記第1のウインドウおよび前記第2のウインドウを併合する機能と、
前記併合されたウインドウに表示するための情報を生成する機能と
をコンピュータに実現させるためのプログラム。
(20)表示部に表示されたウインドウに対する第1のユーザの操作と、前記ウインドウに対する前記第1のユーザとは異なる第2のユーザの操作とを示す情報を取得する機能と、
前記第1のユーザおよび前記第2のユーザをそれぞれ識別する機能と、
前記第1のユーザの操作および前記第2のユーザの操作に応じて前記ウインドウを第1のウインドウと前記第1のウインドウとは異なる第2のウインドウとに分割する機能と、
前記第1のウインドウおよび前記第2のウインドウにそれぞれ表示するための情報を生成する機能と
をコンピュータに実現させるためのプログラム。