以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.序論
2.全体構成
3.コンテンツ提供ユーザの操作
4.共有サーバでの処理
4−1.概要
4−2.詳細
5.コンテンツ視聴時の表示
6.補足
(1.序論)
以下で本開示の一実施形態について説明するにあたり、関連する事項についてまず説明する。
本開示の一実施形態は、ユーザが撮影した画像(静止画)または動画を含むコンテンツをサーバにアップロードし、このコンテンツをユーザ自身が視聴したり、他のユーザとの間で共有したりするためのシステムに関する。
ここで生成されるコンテンツは、例えば運動会や旅行などのイベントの際にデジタルカメラなどで撮影された画像または動画である。このようなコンテンツは、例えば撮影日時に基づくファイル名がつけられた画像または動画のファイルとして保存される。例えば、ITリテラシーがあまり高くない、またはものぐさなユーザの場合、コンテンツはこのままの形で保存され、また共有される。そうではないユーザの場合でも、多くの場合、ファイル名をイベントの名称を含むように変更したり、ファイル単位でイベントの名称のタグをつけたりする程度である。
上記のようなコンテンツを他のユーザとの間で共有する場合、他のユーザにとって、共有されたコンテンツの視聴は必ずしも容易ではない。例えば、撮影日時に基づくファイル名のままでコンテンツが共有された場合、他のユーザには、そのファイルが何のイベントの際に撮影されたコンテンツであるかがわからない(時間が経ってから、コンテンツを撮影したユーザ自身が視聴する場合も同様である)。また、何のイベントの際に撮影されたコンテンツであるかがファイル名などからわかったとしても、その詳細な内容はわからない。
例えば、両親が子の運動会で撮影したコンテンツがあるとする。コンテンツの中には、子を映した部分もあれば、子の友達を映した部分もあれば、単に競技の結果を映した部分もある。このコンテンツを祖父母と共有する場合、祖父母としては、孫(子)が映っているコンテンツだけを視聴したい。しかし、孫が映っているコンテンツと、そうではないコンテンツとを、例えばファイル名から見分けることは困難である。また、例えばファイルへのタグ付けなどによって孫が映っているコンテンツがわかったとしても、例えば動画コンテンツの場合、孫の映っていないシーンを早送りしつつ視聴するという、あまり快適ではない作業が必要になる。
このような場合に、コンテンツを提供する両親が、祖父母との共有用にコンテンツを選別することも考えられるが、そのためには再度コンテンツを見直して内容を把握しなければならず、多大な時間と手間とが必要になる。また、例えばコンテンツが動画である場合には、孫が映っている部分とそうではない部分とが1つのファイルの中に混在している場合もあり、動画を編集してまで共有用のコンテンツを用意することは、多くのユーザにとっては現実的ではない。さらに、コンテンツの中で興味の対象になる部分は、コンテンツを視聴するユーザによって異なる(例えば、祖父母であれば孫(子)、子の友達であれば子と友達、子自身であれば友達と競技の結果、といったように)。
そこで、本開示の一実施形態では、このような状況に鑑み、ユーザが生成したコンテンツから、自動的に共有に適したコンテンツを抽出することによって、コンテンツを提供するユーザの手間を軽減しつつ、コンテンツを視聴するユーザのより快適な視聴体験を実現する。
(2.全体構成)
以下、図1および図2を参照して、本開示の一実施形態の全体構成について説明する。図1は、本開示の一実施形態に係るシステムの機能構成を示す概略的なブロック図である。図2は、本開示の一実施形態に係るシステムの動作について説明するための図である。
(2−1.システムの機能構成)
図1を参照すると、本開示の一実施形態に係るシステム10は、共有サーバ100、コンテンツ提供クライアント200、コンテンツ視聴クライアント300、およびコンテンツサーバ400を含む。
(共有サーバ)
共有サーバ100は、ネットワーク上に設置されるサーバであり、例えば後述するような情報処理装置によって実現される。共有サーバ100は、機能構成として、コンテンツ情報取得部110、コンテンツ分類部120、共有関連情報取得部130、コンテンツ抽出部140、イベント情報生成部150、フレーム/シーン抽出部160、サムネイル画像抽出部170、およびシナリオ情報生成部180を含む。それぞれの機能構成は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)、およびROM(Read Only Memory)が、ストレージ装置またはリムーバブル記録媒体に格納されたプログラムに従って動作することによって実現される。
なお、共有サーバ100は、必ずしも単一の装置によって実現されなくてもよい。例えば、複数の装置が有するリソースがネットワークを介して協働することによって共有サーバ100の機能が実現されてもよい。
コンテンツ情報取得部110は、コンテンツサーバ400のコンテンツ解析部420から、コンテンツに関する情報を取得する。コンテンツ解析部420は、コンテンツを提供するユーザによってアップロードされたコンテンツを解析し、例えばコンテンツが撮影されたイベントに関する情報や、コンテンツである画像または動画に映っている人物に関する情報などを、例えばコンテンツのメタ情報として取得する。
コンテンツ分類部120は、コンテンツ情報取得部110が取得した情報に基づいて、コンテンツを分類する。この実施形態において、コンテンツの分類は、コンテンツを、撮影対象のイベントごとに分類することである。コンテンツのイベントごとの分類は、後述するように、例えばコンテンツサーバ400のコンテンツ解析部420がコンテンツを撮影日時の分布に基づいてクラスタリングした結果を利用して実行される。
共有関連情報取得部130は、コンテンツ提供クライアント200から、コンテンツの共有相手である対象ユーザと、対象ユーザごとに関連付けられた被写体である対象被写体の情報とを取得する。対象被写体は、コンテンツの被写体のうち、対象ユーザがコンテンツを視聴するときの関心の対象になると推定されるものである。上述の例でいえば、対象ユーザは祖父母であり、対象被写体は孫(子)である。なお、対象ユーザおよび対象被写体については、後に詳述する。
さらに、共有関連情報取得部130は、対象ユーザごとに、公開を許可するイベントの情報を取得してもよい。これによって、対象ユーザごとに共有を許可するコンテンツを細かく設定しなくても、イベント単位で当該対象ユーザとコンテンツを共有するかどうかを設定することが可能である。このような設定は、例えば、同じく子が映っているコンテンツであっても、祖父母との旅行の際に撮影されたコンテンツについては祖父母との間でだけ共有し、運動会の際に撮影されたコンテンツについては祖父母だけでなく子の友達との間でも共有する、といったような共有設定をする場合に利用されうる。
コンテンツ抽出部140は、共有関連情報取得部130が取得した情報に基づいて、ユーザによって提供されるコンテンツ(コンテンツ情報取得部110によって情報が取得されたコンテンツ)から、対象被写体が映っているコンテンツを抽出する。ここで抽出されるコンテンツを、以下では対象コンテンツともいう。例えば、コンテンツ抽出部140は、対象ユーザが指定された場合に、その対象ユーザに関連付けられた対象被写体が映っているコンテンツを対象コンテンツとして抽出する。従って、例えば対象ユーザが複数存在するような場合、コンテンツ抽出部140によって抽出される対象コンテンツは、指定される対象ユーザによって異なりうる。
さらに、コンテンツ抽出部140は、コンテンツ分類部120によるコンテンツの分類に基づいて、対象コンテンツをイベントごとに抽出することが可能である。これによって、例えば、後述するシナリオの生成において、イベントごとにシナリオを生成することが可能になる。また、イベント情報生成部150において、イベント単位でコンテンツを提示する情報を生成することが可能になる。共有関連情報取得部130が、対象ユーザごとに公開を許可するイベントを指定する情報を取得している場合、コンテンツ抽出部140は、例えば指定された対象ユーザに対応するイベントについて対象コンテンツを抽出してもよい。
イベント情報生成部150は、コンテンツ抽出部140が対象コンテンツをイベントごとに抽出した結果に基づいて、イベント情報を生成し、これをコンテンツ視聴クライアント300に出力する。イベント情報は、例えば、コンテンツを視聴する対象ユーザに対して、その対象ユーザに関連付けられた対象被写体が映っているコンテンツを含むイベント(つまり、後述するシナリオ情報生成部180によってシナリオが生成されうるイベント)を提示するものである。上述のように、対象コンテンツが抽出されるイベントは、共有関連情報取得部130が取得する情報によって限定されてもよい。
フレーム/シーン抽出部160は、対象コンテンツに含まれる動画から、所定の条件を満たすフレームまたはシーンを抽出する。ここで、フレームは、動画を構成する連続した画像の1枚1枚を意味する。また、シーンは、対象コンテンツの一部または全部を構成する一連のフレームを意味する。例えば、フレーム/シーン抽出部160は、対象コンテンツに含まれる動画から、対象被写体が映っている部分を対象シーンとして抽出する。さらに、フレーム/シーン抽出部160は、各動画について、対象シーンの中から代表シーンを選択してもよい。
また、フレーム/シーン抽出部160は、対象コンテンツに含まれる動画から、対象被写体が映っているフレームを対象フレームとして抽出し、対象フレームの中から各動画の代表フレームを選択してもよい。なお、対象コンテンツに含まれる画像(静止画)は、フレーム/シーン抽出部160での処理を経ずに、そのままシナリオ生成部180やサムネイル画像抽出部170に提供されうる。かかるシーン/フレーム抽出部160の処理の詳細については後述する。
サムネイル画像抽出部170は、コンテンツ抽出部140によってイベントごとに抽出された対象コンテンツについて、フレーム/シーン抽出部160によるフレームの抽出結果も利用して、そのイベントのコンテンツを短くまとめたサムネイル画像を抽出する。サムネイル画像は、例えば、1枚の画像またはフレーム(以下、イベント代表画像ともいう)であってもよいし、複数枚の画像またはフレームを組み合わせたアニメーション(以下、パラパラサムネイルともいう)であってもよい。なお、サムネイルとしては、他に、画像と動画の代表シーンとからなる動画(以下、サムネイル動画ともいう)も生成されうるが、これは後述するようにシナリオ情報生成部180の機能によって生成される。
ここで、サムネイル画像抽出部170がイベント代表画像を抽出する場合、サムネイル画像抽出部170は、フレーム/シーン抽出部160によって抽出された代表フレームと、対象コンテンツに含まれる画像(静止画)との中からイベント代表画像を選択する代表画像選択部ともいえる。なお、例えばコンテンツに動画だけが含まれる場合、イベント代表画像は代表フレームの中から選択される。
一方、サムネイル画像抽出部170がパラパラサムネイルを生成する場合、サムネイル画像抽出部170は、フレーム/シーン抽出部160によって抽出された代表フレームと、対象コンテンツに含まれる画像(静止画)とを組み合わせてダイジェストアニメーション(パラパラサムネイル)を生成するアニメーション生成部ともいえる。なお、例えばコンテンツに動画だけが含まれる場合、パラパラサムネイルは代表フレームを組み合わせて生成される。
サムネイル画像抽出部170によって抽出されたサムネイル画像は、例えば画像データの形でサムネイル画像抽出部イベント情報生成部150に提供され、イベント情報とともにコンテンツ視聴クライアント300に出力される。コンテンツ視聴クライアント300では、コンテンツを視聴する対象ユーザに対して、イベント情報とともにサムネイルコンテンツが提示され、例えば各イベントに分類されたコンテンツの内容を把握することを容易にする。
シナリオ情報生成部180は、コンテンツ抽出部140によって抽出された対象コンテンツについて、コンテンツを組み合わせてダイジェストコンテンツを再生するためのシナリオを生成して、シナリオ情報としてコンテンツ視聴クライアント300に出力する。シナリオ情報は、後述するように、コンテンツ視聴クライアント300のコンテンツ取得部310が、コンテンツサーバ400にアクセスしてコンテンツを取得し、ダイジェストコンテンツとして再生するために用いられる。シナリオ情報生成部180は、シナリオ情報の生成にあたり、フレーム/シーン抽出部160によるフレームまたはシーンの抽出結果を利用してもよい。
また、シナリオ情報生成部180は、共有関連情報取得部130によって情報が取得される前後に関わらず、共有対象に設定されたコンテンツについてシナリオを生成しうる。つまり、シナリオ情報生成部180は、共有の設定がされた場合、それ以前に共有対象に設定されたコンテンツについてもシナリオを生成し、また、それ以後に共有対象に追加されたコンテンツについてもシナリオを生成する。
ここで、ダイジェストコンテンツは、例えば、ハイライト動画とサムネイル動画とを含む。ハイライト動画は、フレーム/シーン抽出部160が対象コンテンツに含まれる動画から抽出した対象シーンと、対象コンテンツに含まれる画像(静止画)とを組み合わせて再生する動画である。なお、例えば対象コンテンツに動画だけが含まれる場合、ハイライト動画は、それぞれの動画の対象フレーム部分を連続して再生する動画である。かかるハイライト動画を再生するためのシナリオを、以下ではハイライトシナリオともいう。コンテンツ視聴クライアント300でハイライトシナリオを用いて再生されるハイライト動画は、例えば対象ユーザの視聴に供される。
一方、サムネイル動画は、フレーム/シーン抽出部160が対象コンテンツに含まれる動画から抽出した対象シーンから選択された代表シーンと、対象コンテンツに含まれる画像(静止画)とを組み合わせた動画である。なお、例えば対象コンテンツに動画だけが含まれる場合、ハイライト動画は、それぞれの動画の代表フレーム部分を連続して再生する動画である。かかるサムネイル動画を構成するためのシナリオを、以下ではサムネイルシナリオともいう。コンテンツ視聴クライアント300でサムネイルシナリオを用いて再生されるサムネイル動画は、例えば対象ユーザがイベント情報を見ながら視聴するコンテンツを選択するときに、イベント情報とともに表示される。
なお、上述のように、この実施形態では、コンテンツ分類部120がイベントごとにコンテンツを分類し、コンテンツ抽出部140がイベントごとに対象コンテンツを抽出する。従って、シナリオ情報生成部180も、イベントごとにシナリオを生成する。
(コンテンツ提供クライアント)
コンテンツ提供クライアント200は、ネットワークを介して共有サーバ100に接続されるクライアントであり、例えば後述するような情報処理装置によって実現される。コンテンツ提供クライアント200は、機能構成として、操作部210、表示制御部220、および表示部230を含む。より具体的には、コンテンツ提供クライアント200は、例えばユーザが保有するデスクトップ型、ノート型、タブレット型などのPC、ネットワーク通信機能を有するテレビジョン受像機やレコーダ、スマートフォンやモバイルメディアプレーヤなどでありうるが、これらには限られず、上記の機能構成を有することが可能な各種の装置でありうる。
操作部210は、コンテンツ提供クライアント200に設けられる、または外部接続機器として接続される各種の入力装置によって実現され、コンテンツ提供クライアント200に対するユーザの操作を取得する。操作部210は、例えばタッチパッドやマウスなどのポインティングデバイスを含み、後述する表示制御部220および表示部230と協働してユーザにGUI(Graphical User Interface)による操作を提供してもよい。
ここで、操作部210が取得するユーザの操作は、コンテンツを共有する対象である対象ユーザと、対象ユーザごとに関連付けられる対象被写体とを設定する操作を含む。なお、コンテンツ提供クライアント200を操作するユーザは、コンテンツを提供するユーザであり、多くの場合、コンテンツを撮影したユーザである。上述の例でいうならば、操作部210は、両親が対象ユーザとして祖父母を指定し、さらに、対象ユーザである祖父母に対象被写体として孫(子)を関連付ける操作を取得する。かかる操作の例は、GUIコンポーネントの例とともに後述する。
表示制御部220は、例えば、CPU、RAM、およびROMがストレージ装置またはリムーバブル記録媒体に格納されたプログラムに従って動作することによって実現され、表示部230の表示を制御する。上述のように、表示制御部220は、表示部230に、操作部210を介して操作されるGUIコンポーネントを表示させてもよい。なお、かかるGUIコンポーネントの例については後述する。
表示部230は、例えば、コンテンツ提供クライアント200が出力装置として有する、あるいはコンテンツ提供クライアント200に外部接続機器として接続される、LCD(Liquid Crystal Display)や有機EL(Electro-luminescence)ディスプレイなどの表示装置によって実現される。表示部230は、表示制御部220の制御に従って、各種の画像を表示する。
(コンテンツ視聴クライアント)
コンテンツ視聴クライアント300は、ネットワークを介して共有サーバ100およびコンテンツサーバ400に接続されるクライアントであり、例えば後述するような情報処理装置によって実現される。コンテンツ視聴クライアント300は、機能構成として、コンテンツ取得部310、表示制御部320、表示部330、および操作部340を含む。より具体的には、コンテンツ視聴クライアント300は、例えばユーザが保有するデスクトップ型、ノート型、タブレット型などのPC、ネットワーク通信機能を有するテレビジョン受像機やレコーダ、スマートフォンやモバイルメディアプレーヤなどでありうるが、これらには限られず、上記の機能構成を有することが可能な各種の装置でありうる。
コンテンツ取得部310は、例えば、CPU、RAM、およびROMがストレージ装置またはリムーバブル記録媒体に格納されたプログラムに従って動作することによって実現される。コンテンツ取得部310は、共有サーバ100のシナリオ情報生成部180から出力されたシナリオ情報を取得し、このシナリオ情報に基づいて、例えばユーザが所望するハイライト動画やサムネイル動画などを再生するのに必要なコンテンツをコンテンツサーバ400から取得する。さらに、コンテンツ取得部310は、シナリオ情報に基づき、取得したコンテンツを用いてハイライト動画やサムネイル動画を再生する。例えば、コンテンツ取得部310は、取得したコンテンツをシナリオ情報で定義された順序で再生し、動画については対象シーンまたは代表シーンだけをシークして再生することによって、ハイライト動画やサムネイル動画を再生してもよい。また、コンテンツ取得部310は、取得したコンテンツをシナリオ情報で定義された順序で配列し、動画については対象シーンまたは代表シーンだけを切り出す編集処理によっては依頼と動画やサムネイル動画を生成し、これを再生してもよい。コンテンツ取得部310は、再生した動画のデータを表示制御部320に提供する。
表示制御部320は、例えば、CPU、RAM、およびROMがストレージ装置またはリムーバブル記録媒体に格納されたプログラムに従って動作することによって実現され、表示部330の表示を制御する。表示制御部320は、コンテンツ取得部310から提供されたハイライト動画を、表示部330に表示させる。また、表示制御部320は、共有サーバ100のイベント情報生成部150から出力されたイベント情報を取得し、このイベント情報に基づいて、例えばコンテンツが存在するイベント一覧を表示部330に表示させる。このとき、イベント情報とともに出力されたイベント代表画像やパラパラサムネイルが、イベント一覧とともに表示される。また、イベントについてサムネイル動画が生成されている場合、表示制御部320は、コンテンツ取得部310が取得したサムネイル動画を、イベント一覧とともに表示させる。なお、ハイライト動画やイベント一覧の表示の例については、後述する。また、表示制御部320は、表示部330に、操作部340を介して操作されるGUIコンポーネントを表示させてもよい。かかるGUIコンポーネントの例についても、後述する。
表示部330は、例えば、コンテンツ視聴クライアント300が出力装置として有する、あるいはコンテンツ視聴クライアント300に外部接続機器として接続される、LCDや有機ELディスプレイなどの表示装置によって実現される。表示部330は、表示制御部320の制御に従って、各種の画像を表示する。
操作部340は、コンテンツ視聴クライアント300に設けられる、または外部接続機器として接続される各種の入力装置によって実現され、コンテンツ視聴クライアント300に対するユーザの操作を取得する。操作部340は、例えばタッチパッドやマウスなどのポインティングデバイスを含み、上述のように表示制御部320および表示部330と協働してユーザにGUIによる操作を提供してもよい。
(コンテンツサーバ)
コンテンツサーバ400は、ネットワーク上に設置されるサーバであり、例えば後述するような情報処理装置によって実現される。コンテンツサーバ400は、機能構成として、コンテンツDB410およびコンテンツ解析部420を含む。
なお、コンテンツサーバ400は、必ずしも単一の装置によって実現されなくてもよい。例えば、複数の装置が有するリソースがネットワークを介して協働することによってコンテンツサーバ400の機能が実現されてもよい。また、コンテンツサーバ400は、共有サーバ100と別体でなくてもよく、少なくとも一部の機能が共有サーバ100と同じ装置によって実現されてもよい。
コンテンツDB410は、例えばストレージ装置によって実現され、コンテンツを提供するユーザによってアップロードされたコンテンツを格納する。格納されたコンテンツは、例えばコンテンツ解析部420によって解析され、また、コンテンツ視聴クライアント300のコンテンツ取得部310によってアクセスされる。
コンテンツ解析部420は、例えば、CPU、RAM、およびROMがストレージ装置またはリムーバブル記録媒体に格納されたプログラムに従って動作することによって実現され、コンテンツDB410に格納されたコンテンツを解析する。コンテンツ解析部420は、例えば、画像の特徴量の解析によって、コンテンツの画像や動画に映っている人物を被写体として検出する。また、コンテンツ解析部420は、例えばコンテンツの撮影日時の分布に基づいてコンテンツをクラスタリングし、コンテンツが撮影されたイベントを特定してもよい。コンテンツ解析部420は、解析の結果を、例えばコンテンツのメタ情報として、共有サーバ100のコンテンツ情報取得部110に提供する。
(2−2.システムの動作)
次に、図2を参照して、上述した本開示の一実施形態に係るシステム10の動作の一例について、さらに説明する。以下では、S1〜S11の動作ごとに、対応する図1の機能構成を示しながら説明する。
まず、コンテンツを提供するユーザは、所定のアプリケーションを用いて、画像または動画をストレージにアップロードする(S1)。なお、アップロードのためのアプリケーションについては、既存のコンテンツのアップロードに用いられているものと同様の構成とすることが可能であるため、上記の図1には対応する機能構成を図示していない。このアプリケーションは、例えば共有設定(S2)と同じくコンテンツ提供クライアント200で実行されてもよいし、またこれとは別の装置、例えばコンテンツを取得するデジタルカメラなどで実行されてもよい。ストレージは、コンテンツサーバ400のコンテンツDB410に対応する。
次に、コンテンツを提供するユーザは、クライアント装置から、共有設定アプリケーションを用いて、共有設定を実行する(S2)。この共有設定によって、例えば、コンテンツを共有する対象である対象ユーザと、対象ユーザごとに関連付けられる対象被写体とが設定される。ここで、本実施形態において、対象被写体は、それまでに撮り貯められたコンテンツの画像解析(顔クラスタリング)によって顔クラスタが生成された人物である。なお、共有設定アプリケーションは、例えばコンテンツ提供クライアント200の操作部210、表示制御部220、および表示部230を介して提供されるアプリケーションである。
共有設定の結果は、サーバ側のユーザDBおよびグループDBに反映される。ここで、ユーザDBには、例えばユーザが設定した対象ユーザの情報が格納される。また、グループDBには、後述するようにユーザが設定した対象ユーザのグループごとに、関連付けられる対象被写体の情報が格納される。なお、上記の共有設定は、画像/動画アップロードやコンテンツ解析の後に、事後的に実行されてもよい。
一方、アップロードされた画像または動画について、サーバ側でコンテンツ解析が実行される(S3)。ここで実行されるコンテンツ解析は、例えば、画像の特徴量の解析による被写体の検出や、コンテンツの撮影日時の分布に基づくクラスタリングによるイベントの特定を含みうる。コンテンツ解析は、例えばコンテンツサーバ400のコンテンツ解析部420の機能に対応する。
上記のコンテンツ解析(S3)の結果は、コンテンツのメタ情報としてコンテンツDBに入力される(S4)。このメタ情報の入力は、例えば共有サーバ100のコンテンツ情報取得部110の機能に対応する。
ここで、コンテンツDBには、例えばコンテンツごとのメタ情報が格納される。ここまででコンテンツDB、ユーザDB、およびグループDBに格納された情報は、例えばコンテンツを提供するユーザのIDをキーにして結合され、シナリオ作成モジュールよって利用される(S5)。シナリオ作成モジュールは、例えば共有サーバ100のコンテンツ分類部120、コンテンツ抽出部140、イベント情報生成部150、フレーム/シーン抽出部160、サムネイル画像抽出部170、およびシナリオ情報生成部180の機能に対応する。
まず、シナリオ作成モジュールは、イベント情報を生成する(S6)。上述のように、イベント情報は、コンテンツを視聴する対象ユーザに対して、対象ユーザに関連付けられた対象被写体が映っているコンテンツを含むイベントを提示する情報である。コンテンツを視聴する対象ユーザは、シナリオプレーヤアプリケーションを用いて、イベント情報を取得する(S7)。なお、シナリオプレーヤアプリケーションは、例えばコンテンツ視聴クライアント300のコンテンツ取得部310、表示制御部320、表示部330、および操作部340を介して提供されるアプリケーションである。
これに対して、コンテンツを視聴する対象ユーザは、シナリオプレーヤアプリケーションを用いて、イベント情報の中から所望のイベントを選択する。シナリオ作成モジュールは、これに応じて、例えばハイライト動画のシナリオを生成する(S8)。シナリオプレーヤアプリケーションは、生成されたシナリオを取得し(S9)、シナリオに基づいてストレージに格納されたコンテンツにアクセスする(S10)。さらに、シナリオプレーヤアプリケーションは、アクセスしたコンテンツからハイライト動画などのユーザ所望の動画を生成し、再生する(S11)。
(3.共有設定)
次に、図3A〜3Dを参照して、本開示の一実施形態における共有設定について説明する。図3A〜図3Dは、本開示の一実施形態における共有設定の例を示す図である。
共有設定は、例えば、図1を参照して説明したシステム10において、コンテンツ提供クライアント200の操作部210、表示制御部220、および表示部230を介して提供される共有設定アプリケーションを用いて実行される。従って、以下で例を説明する共有設定の手順は、例えば表示制御部220によって表示部230に表示され、操作部210を介して操作されるGUIを用いるものでありうる。また、ここで説明する共有設定は、図2を参照して説明した動作では共有設定(S2)に対応する。
図3Aには、コンテンツを共有する対象ユーザを設定する手順の例が示されている。図示された例では、対象ユーザリストL1に含まれるユーザUが、対象ユーザに設定される。まず、(a)に示すように、ユーザU1(祖父母),U2(パパの友達A),U3(パパの友達B)が、対象ユーザリストL1(パパの友達リスト)に追加される。この実施形態では、対象ユーザリストL1への追加、すなわち対象ユーザとしての設定には、追加されるユーザの承認が必要である。従って、(b)に示すように、追加直後は、対象ユーザリストL1内のユーザU1〜U3はいずれも未承認のユーザとして表示される。この後、ユーザU1(祖父母),U3(パパの友達B)が対象ユーザリストL1への追加を承認すると、(c)に示すように、対象ユーザリストL1内のユーザU1(祖父母),U3(パパの友達B)が、承認済みのユーザとして表示される。
図3Bには、対象ユーザを設定してグルーピングする手順の例が示されている。図示された例では、まず、ユーザU0(パパ=共有設定を実行するユーザ)とユーザU3(パパの友達B)とが、それぞれ、コンテンツの共有を提供するサービスのアカウントを作成する。次に、図3Aを参照して説明したように、ユーザU0が対象ユーザリストL1(パパの友達リスト)を表示し、ここにユーザU3を追加する。このとき、対象ユーザリストL1内のユーザU3は、未承認のユーザとして表示される。
一方、共有設定アプリケーションは、ユーザU3に、ユーザU0によって対象ユーザリストL1に追加された旨の通知(招待)を送信する。ユーザU3は、適切なアプリケーションを用いてこの招待を受信し、これを受諾する。受諾の通知を受信した共有設定アプリケーションは、対象ユーザリストL1に追加されたユーザU3を有効化する。つまり、対象ユーザリストL1内のユーザU3は、承認済みのユーザとして表示される。
次に、ユーザU0は、対象ユーザグループG1(ゴルフ仲間Gp)を作成し、このグループG1に、対象ユーザリストL1からユーザU3を追加する。これによって、ユーザU3は、対象ユーザグループG1に分類される。さらに、ユーザU0は、対象ユーザグループG1に、人物F1(パパの友達BすなわちユーザU3)の情報を追加する。なお、ここで追加される人物の情報は、対象ユーザグループG1に分類される対象ユーザに関連付けられる対象被写体の情報にあたる。これによって、ユーザU3(パパの友達B)は、ユーザU0(パパ)が共有の対象に設定したコンテンツのうち、人物F1、つまりユーザU3自身が映っているものについて、適切なアプリケーションを用いてコンテンツを共有することが可能になる。
なお、上記の手順は、例えば他のアプリケーションを応用することによって適宜変更されうる。例えば、対象ユーザリストL1は、上記のようにユーザによって作成されてもよいし、またSNS(Social Network Service)などの他のサービスの友人設定のインポートによって作成されてもよい。従って、共有設定アプリケーションは、必ずしも上記の例に示される対象ユーザの設定に関する処理をすべて実行しなくてもよい。
図3Cには、対象ユーザのグループに対して人物の情報を関連付ける手順の例が示されている。図示された例では、上記の図3Aおよび図3Bで示されたような手順によって、ユーザU1(祖父母)が分類される対象ユーザグループG2(祖父母グループ)が設定されている。共有設定アプリケーションは、例えば、この対象ユーザグループG2に対して、人物リストFL(人物一覧)から所望の人物Fの情報を関連付けるGUIを提供する。図示された例では、人物リストFLに、人物F2〜F7が表示されている。共有設定を実行するユーザは、例えば人物リストFLの中から所望の人物Fを対象ユーザグループG2の領域にドラッグすることによって、人物Fの情報を対象ユーザグループG2に関連付ける。
図示された例では、人物F2(花子),F3(太郎)が、対象ユーザグループG2(祖父母グループ)の領域にドラッグされる。これによって、対象ユーザグループG2に分類されるユーザU1(祖父母)に、対象被写体として人物F2(花子),F3(太郎)が関連付けられる。これによって、ユーザU1(祖父母)は、人物F2(花子),F3(太郎)が映っているコンテンツを共有することが可能になる。このように、対象ユーザをグループ化することで、複数の対象ユーザに共通する被写体の設定が容易になる。また、対象ユーザと同様に、被写体がグループ化されていてもよい。
図3Dには、対象ユーザのグループに対して人物の情報を関連付ける手順の別の例が示されている。図示された例では、上記の図3Aおよび図3Bで示されたような手順によって、対象ユーザグループG1〜G4が設定されている。共有設定アプリケーションでは、このように複数の対象ユーザグループGを設定することも可能である。この場合、例えば対象ユーザグループG1〜G4が人物リストFL(人物一覧)の周囲に配置され、共有設定を実行するユーザは、人物リストFLの中の所望の人物Fをいずれかの対象ユーザグループGの領域にドラッグする操作を実行してもよい。
図示された例では、図3Cの例と同様に、対象ユーザグループG2(祖父母グループ)の領域に、人物F2(花子),F3(太郎)がドラッグされることによって、対象ユーザであるユーザU1(祖父母)に、対象被写体として人物F2(花子),F3(太郎)が関連付けられる。共有設定を実行するユーザは、同じようにして、例えば対象ユーザグループG1(パパの友達グループ)に、人物F5(パパの友達A)をドラッグする。また、対象ユーザグループG4(家族グループ)に、人物F2(花子),F3(太郎)をドラッグする。このように、対象被写体としての人物Fの設定は、対象ユーザグループGの間で異なっていてもよいし、また一部または全部が重複していてもよい。
(4.共有サーバでの処理)
(4−1.概要)
次に、図4〜図6を参照して、本開示の一実施形態における共有サーバ100での処理の概要について説明する。図4は、本開示の一実施形態におけるイベント情報について説明するための図である。図5Aおよび図5Bは、本開示の一実施形態におけるシナリオ情報について説明するための図である。図6は、本開示の一実施形態におけるシナリオ情報を用いたコンテンツの再生について説明するための図である。
(イベント情報に関する処理)
図4は、イベント情報に関する処理を示す。図示された処理は、図1を参照して説明したシステム10では、共有サーバ100のコンテンツ分類部120、コンテンツ抽出部140、およびイベント情報生成部150の機能に対応する。また、図示された処理は、図2を参照して説明した動作では、イベント情報の生成(S6)およびイベント情報の取得(S7)に対応する。
図示された例では、ユーザU1(祖父母)のためのイベント情報が生成される。ユーザU1が属する対象ユーザグループG2(祖父母グループ)には、人物F2(花子),F3(太郎)が関連付けられている。つまり、対象ユーザであるユーザU1には、対象被写体として人物F2,F3が関連付けられている。共有サーバ100では、共有関連情報取得部130がこれらの情報を取得する。このような人物F2,F3の情報(対象被写体の情報)は、イベント情報の生成のための第1の入力になりうる。
一方、例えばユーザU0(パパ=共有設定を実行するユーザ)によって提供されるコンテンツは、例えば図1で説明したコンテンツ解析部420によってクラスタリングされる。図示された例では、コンテンツが、イベントI1〜I3の3つにクラスタリングされている。共有サーバ100では、コンテンツ分類部120が、クラスタリングの結果に従ってコンテンツを分類する。このようにしてイベントI1〜I3に分類されたコンテンツは、イベント情報の生成のための第2の入力になりうる。
これらの入力を用いて、ユーザU1(祖父母)のためのイベント情報Iinfoが生成される。共有サーバ100では、まず、コンテンツ抽出部140が、イベントI1〜I3に分対されたコンテンツから、人物F2(花子),F3(太郎)が被写体として含まれるコンテンツを抽出する。その結果、イベントI1(運動会),I2(家族旅行)では、人物F2(花子),F3(太郎)が被写体として含まれるコンテンツが抽出される。一方、イベントI3(ゴルフ)では、人物F0(パパ),F5(パパの友達A)が被写体として含まれるコンテンツしか抽出されなかった。
この結果を受けて、イベント情報生成部150は、イベントI1(運動会),I2(家族旅行)の情報を含むイベント情報Iinfoを生成し、コンテンツ視聴クライアント300を介してユーザU1(祖父母)に提示する。これによって、ユーザU1は、興味の対象となる被写体(花子、太郎)が映っているコンテンツを、イベント単位で容易に選択して視聴することが可能である。
なお、上述のように、イベント情報Iinfoに含まれるイベントIは、例えばユーザU0(パパ=共有設定を実行するユーザ)の設定によって限定されてもよい。例えば、イベントI2(家族旅行)が、ユーザU1(祖父母)には内緒のイベントであるような場合、ユーザU0は、ユーザU1に提示されるイベント情報IinfoにイベントI2を含めないように設定することも可能である。このような設定のために、コンテンツ提供クライアント200では、例えば対象ユーザごとのイベント情報のプレビュー機能が提供されてもよい。
(シナリオ情報に関する処理)
図5Aは、シナリオ情報に関する処理を示す。図示された処理は、図1を参照して説明したシステム10では、共有サーバ100のコンテンツ抽出部140、フレーム/シーン抽出部160、およびシナリオ情報生成部180の機能に対応する。また、図示された処理は、図2を参照して説明した動作では、シナリオの生成(S8)およびシナリオの取得(S9)に対応する。
図示された例では、上記のイベント情報の例の続きとして、ユーザU1(祖父母)のためのシナリオ情報が生成される。対象ユーザであるユーザU1(祖父母)には、対象被写体として人物F2,F3が関連付けられている。共有サーバ100では、共有関連情報取得部130がこれらの情報を取得する。このような人物F2,F3の情報(対象被写体の情報)は、シナリオ情報の生成のための第1の入力になりうる。
一方、例えばイベント情報IinfoとしてイベントI1(運動会),I2(家族旅行)を呈されたユーザU1(祖父母)が、その中からイベントI1(運動会)を選択したとする。その場合、コンテンツ抽出部140、およびフレーム/シーン抽出部160は、イベントI1に属するコンテンツについて処理を実行する。図示された例では、イベントI1に属する2つのコンテンツとして、動画Aおよび動画Bが示されている。このようなイベントIに属するコンテンツは、シナリオ情報の生成のための第2の入力になりうる。
これらの入力を用いて、フレーム/シーン抽出部160は、動画A、動画Bから、人物F2,F3のうちの少なくともいずれかが映っているシーンを抽出する。図示された例では、動画AからシーンA−2,A−3,A−5が、動画BからシーンB−2が、それぞれ抽出される。シナリオ情報生成部180は、これらのシーンを結合させてハイライト動画を構成する。
ただし、図示された例において、シナリオ情報生成部180は、このハイライト動画をそのまま出力するのではなく、ハイライトシナリオHSとして出力する。ハイライトシナリオHSは、後述するように、コンテンツ視聴クライアント300がコンテンツにアクセスしてハイライト動画を得るために用いられる情報である。図示された例では、ハイライトシナリオHSが、コンテンツの所在およびシーンの開始と終了との位置を示すxml形式のファイルとして示されているが、ハイライトシナリオHSの形式はどのようなものであってもよい。
図5Bは、図5Aに示されたシナリオ情報に関する処理を、より詳細に示す。図5Aと同様に、シナリオ情報生成のための第1の入力は、人物F2,F3の情報(対象被写体の情報)である。また、第2の入力は、イベントI1(運動会)に属するコンテンツである。ただし、図5Bの例では、図5Aの例とは異なり、イベントI1には、画像A、画像B、画像C、動画D、動画E、および動画Fの6つのコンテンツが属する。
これらの入力を用いて、まず、コンテンツ抽出部140が、イベントI1に属するコンテンツの中から、人物F2,F3を被写体として含むコンテンツを抽出する。図示された例では、画像A、画像C、動画D、動画E、および動画Fに、人物F2,F3が被写体として含まれる。従って、コンテンツ抽出部140は、画像A、画像C、動画D、動画E、および動画Fを対象コンテンツとして抽出する。一方、人物F2,F3を被写体として含まない画像Bは、シナリオ情報生成に関する以降の処理では用いられない。
次に、フレーム/シーン抽出部160が、動画D、動画E、および動画Fについて、人物F2,F3が映っているシーンを抽出する。図示された例では、動画DからシーンD−2,D−3,D−5,D−8が、動画EからシーンE−2が、動画FからシーンF−1,F−4が、それぞれ抽出される。
図示された例において、シナリオ情報生成部180は、上記で抽出された画像およびシーンから、2種類のシナリオ情報を生成する。1つは、上記の図5Aでも説明したハイライトシナリオHSである。ハイライトシナリオHSは、抽出された画像およびシーンを、例えば時系列などの順番ですべて配列したハイライト動画を得るためのシナリオである。
もう1つは、サムネイルシナリオTSである。サムネイルシナリオTSは、抽出された画像およびシーンから、所定の条件を満たす画像およびシーンをさらに抽出し、それらを配列したサムネイル動画を得るためのシナリオである。図示された例では、抽出された画像およびシーンから、映っている人物F2,F3の笑顔度が高い画像およびシーン(スマイルマークで示した)であるシーンD−3、シーンE−2、および画像Cが抽出され、サムネイル動画を構成する。
(シナリオ情報を用いたコンテンツの再生)
図6は、例えば図5Aに示すような処理によって出力されたシナリオ情報を用いてコンテンツを再生する処理を示す。図示された処理は、図1を参照して説明したシステム10では、コンテンツ視聴クライアント300のコンテンツ取得部310の機能に対応する。また、図示された処理は、図2を参照して説明した動作では、コンテンツアクセス(S10)および再生(S11)に対応する。
図示された例では、シナリオ情報であるハイライトシナリオHSによって、動画AのシーンA−2,A−3,A−5、および動画BのシーンB−2を含むハイライト動画が定義されている。かかるハイライトシナリオHSを取得したコンテンツ取得部310は、例えばコンテンツサーバ400に格納された動画Aおよび動画Bのコンテンツ実体にアクセスして、ハイライトシナリオHSによって指定されたシーンを含む動画を取得する。さらにコンテンツ取得部310は、指定されたシーンをシークして再生することによって、図示されているように取得したシーンを時間軸上に配列した動画を表示制御部320に提供し、これによってハイライト動画を表示部330に表示させる。
なお、ここで、コンテンツ取得部310は、例えばコンテンツサーバ400から動画Aおよび動画Bを丸ごと取得し、クライアント側で動画の編集処理を実行してハイライト動画を再生してもよい。あるいは、コンテンツ取得部310は、ハイライトシナリオHSをコンテンツサーバ400に送信し、これに基づいてコンテンツサーバ400側で動画が編集され、コンテンツ視聴クライアント300に例えばストリーミングによって提供されてもよい。
(4−2.詳細)
次に、図7〜図10Cを参照して、本開示の一実施形態における共有サーバ100での処理の詳細について説明する。図7は、本開示の一実施形態におけるサムネイル画像およびシナリオ情報の生成について説明するための図である。図8は、本開示の一実施形態における対象コンテンツの選択について説明するための図である。図9A〜図9Dは、本開示の一実施形態におけるサムネイル画像およびサムネイルシナリオの生成について説明するための図である。図10A〜図10Cは、本開示の一実施形態におけるハイライトシナリオの生成について説明するための図である。
(サムネイル画像およびシナリオ情報の生成について)
図7は、以下で図8〜図10Cを参照して説明される処理の全体の流れを示しており、図7の処理の符号(S101〜S108)は、図8〜図10Cにおけるそれぞれの処理の符号に対応する。
図7を参照すると、まず、サムネイル画像として1枚の画像またはフレーム(イベント代表画像)を出力する場合、コンテンツ抽出部140が対象コンテンツを選択し(S101)、フレーム/シーン抽出部160が抽出された対象コンテンツについてスコアを抽出する(S102)。この結果に基づいて、サムネイル画像抽出部170は、イベント代表画像を選定する(S103)。
また、サムネイル画像として複数枚の画像またはフレームからなるアニメーション(パラパラサムネイル)を出力する場合、イベント代表画像の場合と同様にフレーム/シーン抽出部160が対象コンテンツについてスコアを抽出(S102)した後、サムネイル画像抽出部170がパラパラサムネイルを生成する(S104)。
一方、サムネイルシナリオを生成する場合、フレーム/シーン抽出部160が、上記の2つの場合と同様に対象コンテンツについてスコアを抽出(S102)した後、さらにシーン切り出しAの処理を実行する(S105)。この結果に基づいて、シナリオ情報生成部180は、サムネイルシナリオを生成する(S106)。
また、ハイライトシナリオを生成する場合、コンテンツ抽出部140が対象コンテンツを選択(S101)した後、フレーム/シーン抽出部160がシーン切り出しBの処理を実行する(S107)。この結果に基づいて、シナリオ情報生成部180は、ハイライトシナリオを生成する(S108)。
(対象コンテンツの選択について)
図8は、コンテンツ抽出部140による対象コンテンツの選択(S101)の例を、より詳細に示す図である。図示された例では、上記の図5Bの例と同様に、第1の入力として人物F2,F3の情報(対象被写体の情報)が、第2の入力としてイベントI1に属する画像A〜C、および動画D〜Fの6つのコンテンツが、それぞれ与えられる。
対象コンテンツの選択(S101)では、入力として与えられたコンテンツから、人物F2,F3が被写体として映っているコンテンツがピックアップされる。コンテンツ抽出部140は、画像A〜Cについては、それぞれの画像に映っている被写体の情報を例えばコンテンツ情報取得部110から取得し、被写体として映っている人物F2(花子),F3(太郎)を検出する。図示された例では、画像Aに人物F2(花子)が映っており、画像Cに人物F2(花子),F3(太郎)の両方が映っていることが検出される。
一方、コンテンツ抽出部140は、動画D〜Fについては、それぞれの動画から所定のフレームレートのキャプチャ画像(フレーム)を取得し、それぞれのフレームに映っている被写体の情報を例えばコンテンツ情報取得部110から取得し、被写体として映っている人物F2,F3を検出する。図示された例では、フレームレート1fpsでキャプチャ画像が取得された結果、動画DのフレームD#1に人物F2(花子)が、フレームD#3に人物F3(太郎)が、フレームD#9,D#10に人物F2(花子),F3(太郎)の両方が映っていることが検出される。また、動画FのフレームF#1,F#5には、人物F2(花子)が映っていることが検出される。
コンテンツ抽出部140は、上記の検出の結果、人物F2(花子),F3(太郎)のうちの少なくともいずれかが映っているコンテンツとして、画像A、画像C、動画D、および動画Fの4つを選択する。一方、人物F2(花子),F3(太郎)がいずれも映っていない画像Bおよび動画Eは、この後に続くサムネイル画像やシナリオ情報の生成には使用されない。しかし、画像Bおよび動画Eは、必ずしも不要なコンテンツとは限らない。例えば、動画Eに他の被写体(例えば花子の友達)が映っているとすると、対象ユーザが花子の友達や花子自身である場合には、動画Eがコンテンツ抽出部140によって選択されうる。
(サムネイル画像およびサムネイルシナリオの生成について)
図9Aは、フレーム/シーン抽出部160によるスコア抽出(S102)の例を、より詳細に示す図である。図示された例では、上記の図8の例の続きとして、コンテンツ抽出部140によって選択された画像A、画像C、動画D、および動画Fが、入力として与えられる。
スコア抽出(S102)では、入力として与えられたコンテンツについて、所定の基準でコンテンツ単位のスコアが設定される。図示された例では、対象被写体として含まれる人物F2(花子),F3(太郎)の笑顔度(スマイルマークを伴う数字で示す)が、各コンテンツのスコアとして抽出される。なお、笑顔度の検出には、例えば特開2008−311819号公報に記載された技術など、公知のあらゆる技術を適用することが可能である。
図示された例において、フレーム/シーン抽出部160は、画像Aおよび画像Cについては、そのまま笑顔度検出を実行して、笑顔度をコンテンツのスコアに設定する。一方、動画Dおよび動画Fについては、コンテンツ抽出部140での処理と同様に、所定のフレームレートでキャプチャ画像(フレーム)を取得し、対象被写体が映っているフレームについて笑顔度検出を実行する。つまり、図示された例では、フレームレート1fpsで取得されたキャプチャ画像のうち、動画DのフレームD#1、D#3,D#9,D#10、および動画FのフレームF#1,F#5について、笑顔度検出が実行される。フレーム/シーン抽出部160は、それぞれの動画について、各フレームで取得された笑顔度のうち最も高いものをコンテンツのスコアに設定する。
また、図示された例において、フレーム/シーン抽出部160は、対象被写体が複数である場合、それぞれの対象被写体について笑顔度検出を実行する。つまり、人物F2(花子),F3(太郎)の両方が映っている画像C,および動画DのフレームD#9,D#10について、フレーム/シーン抽出部160は、人物F2(花子)についての笑顔度と、人物F3(太郎)についての笑顔度との両方を検出する。このようにして検出された笑顔度は、例えば画像Cについては「70/30」のように示されている。これは、人物F2(花子)についての笑顔度が70であり、人物F3(太郎)についての笑顔度が30であることを示す。
以上のようなスコア抽出の結果に基づいて、フレーム/シーン抽出部160は、それぞれのコンテンツのスコアを決定する。また、コンテンツが動画の場合、フレーム/シーン抽出部160は、スコアに対応するフレームをコンテンツの代表フレームに設定してもよい。図示された例において、フレーム/シーン抽出部160は、画像Aについては人物F2(花子)の笑顔度10を、画像Cについては人物F2(花子)/F3(太郎)の笑顔度70/30を、動画Dについては代表フレームD#1および人物F2(花子)の笑顔度100を、動画Fについては代表フレームF#5および人物F2(花子)の笑顔度80を、それぞれ設定する。
なお、ここで抽出されるスコアおよび代表フレームは、例えばサムネイルとして表示される画像または動画の選択に影響するため、フレーム/シーン抽出部160は、例えば被写体間のバランスに配慮して、設定を調整してもよい。例えば、フレーム/シーン抽出部160は、人物F2(花子)と人物F3(太郎)とが両方含まれるフレームを、優先的に代表フレームとして選択してもよい。この場合、例えば、動画Dでは、人物F2(花子)が単独で映っていて笑顔度が高いフレームD#1ではなく、人物F2(花子)と人物F3(太郎)とが両方映っているフレームD#9またはフレームD#10が代表フレームに設定され、人物F2(花子)/F3(太郎)の笑顔度50/90がコンテンツのスコアに設定される。
図9Bは、サムネイル画像抽出部170によるイベント代表画像の選定(S103)およびパラパラサムネイルの生成(S104)の例を、より詳細に示す図である。図示された例では、上記の図9Aの例の続きとして、フレーム/シーン抽出部160によって設定されたコンテンツ(画像A、画像C、動画D、および動画F)のスコアおよび代表フレームの情報が、入力として与えられる。
イベント代表画像選定(S103)では、フレーム/シーン抽出部160によって設定されたスコアが最も高い画像、または動画のフレームが、イベントの代表画像に設定される。図示された例では、動画Dの代表フレームD#1における人物F2(花子)の笑顔度100が、最も高いスコアである。そこで、サムネイル画像抽出部170は、このフレームD#1を、イベントI1(運動会)の代表画像に選定する。上述のように、イベント代表画像は、例えばコンテンツ視聴クライアント300において、イベント情報とともに表示されうる。
一方、パラパラサムネイル生成(S104)では、フレーム/シーン抽出部160によってスコアが設定された画像、および動画の代表フレームが順次表示されるアニメーションを生成する。図示された例において、パラパラサムネイルでは、画像A、動画DのフレームD#1(代表フレーム)、画像C、および動画FのフレームF#5(代表フレーム)が、5秒ずつ順次表示される。なお、各画像が表示される時間は必ずしも5秒でなくてもよい。また、これらの画像は、繰返し表示されてもよい。パラパラサムネイルも、イベント代表画像と同様に、例えばコンテンツ視聴クライアント300において、イベント情報とともに表示されうる。
図9Cは、フレーム/シーン抽出部160によるシーン切り出しAの処理(S105)の例を、より詳細に示す図である。図示された例では、上記の図9Aの例の続きとして、フレーム/シーン抽出部160によって設定されたコンテンツ(画像A、画像C、動画D、および動画F)のスコアおよび代表フレームの情報が、入力として与えられる。
シーン切り出しAの処理(S105)では、動画のコンテンツ(動画Dおよび動画F)について、代表フレームの前後の区間を代表シーンとして切り出す。図示された例では、シーンの切り出しのルールとして、例えば以下が設定される。
・対象被写体が映っているフレームが連続している場合、これらのフレームを一体のフレーム群として扱う。
・対象被写体が映っているフレームと、次に対象被写体が映っているフレーム(別の対象被写体が映っていてもよい)との間が2秒以内の場合は、これらのフレームを一体のフレーム群として扱う。
・対象被写体が映っているフレームまたはフレーム群の前後1秒までを、1つのシーンとして切り出す。
・1つのシーンは最低3秒とし、対象被写体が映っているフレームが先頭フレームまたは最終フレームである場合は、当該フレームの前後2秒までを切り出す。
図示された例では、シーン切り出しの基準が1秒の単位で設定されるため、上述した対象コンテンツの選択などの場合と同様に、フレームレート1fpsで取得したキャプチャ画像を用いて、シーン切り出しの判定が可能である。例えば、シーン切り出しの基準が0.1秒の単位で設定されているような場合には、フレームレート10fpsで取得したキャプチャ画像を用いてシーン切り出しの判定が実行されうる。
動画Dについては、先頭のフレームD#1が代表フレームであるため、フレームD#1から3秒、つまりフレームD#1〜D#3代表シーンD#1に設定される。また、動画Fについては、中間のフレームF#5が代表フレームであるため、このフレームF#5の前後1秒で3秒、つまりフレームF#4〜F#6が代表シーンF#5に設定される。
なお、代表シーンの範囲は、上記のように所定のフレームレートのキャプチャ画像によって設定されるが、実際の代表シーンは、これらのキャプチャ画像に対応する動画の区間である。つまり、代表シーンD#1は、3枚のフレームではなく、例えばフレームD#1からD#3までの間の一連のフレームの全体によって構成される動画の一部分である。
上記のようなシーン切り出しAの処理によって取得される動画D,Fのそれぞれの代表シーンD#1,F#5と、対象コンテンツ選択(S101)で選択された画像Aおよび画像Cとを、例えば時系列で配列することによって、サムネイル動画が得られる。
図9Dは、シナリオ情報生成部180によるサムネイルシナリオの生成(S106)の例を、より詳細に示す図である。図示された例では、上記の図9Cの例の続きとして、画像A、画像C、および動画D,Fのそれぞれの代表シーンD#1,F#5が、入力として与えられる。
シナリオ情報生成部180は、これらのコンテンツを例えば時系列で配列して、サムネイル動画を定義する。さらに、シナリオ情報生成部180は、サムネイル動画に対応するサムネイルシナリオTSを生成する。サムネイルシナリオTSは、例えば上記のハイライトシナリオHSの例と同様に、コンテンツの所在およびシーンの開始と終了との位置を示すxml形式のファイルであってもよいが、これには限られない。
生成されたサムネイルシナリオTSは、コンテンツ視聴クライアント300に出力される。コンテンツ視聴クライアント300のコンテンツ取得部310が、サムネイルシナリオTSに従ってコンテンツを取得することによって、図示されているようなサムネイル動画が再生される。
図示されたサムネイル動画の例では、画像Aが3秒間表示された後に、シーンD#1が再生され、さらに画像Cが3秒間表示され、最後にシーンF#5が再生される。なお、サムネイル動画において、画像が表示される時間は必ずしも3秒でなくてもよいが、図示された例では、シーンD#1およびシーンF#5の長さがいずれも3秒であるため、画像A,Cもこれらに合わせて3秒間表示される。また、サムネイル動画は、繰返し再生されてもよい。
また、図示されているように、サムネイル動画は、例えばコンテンツ視聴クライアント300において、イベント情報(イベント詳細)とともに表示されうるが、このとき、コンテンツに含まれる被写体の情報(映っている人物)があわせて表示されてもよい。図示された例では、人物F2,F3が表示されている。
(ハイライトシナリオの生成について)
図10Aは、フレーム/シーン抽出部160によるシーン切り出しBの処理(S107)の例を、より詳細に示す図である。図示された例では、上記の図8の例の続きとして、コンテンツ抽出部140によって選択された画像A、画像C、動画D、および動画Fが、入力として与えられる。
シーン切り出しBの処理(S107)では、動画のコンテンツ(動画Dおよび動画F)について、対象被写体が映っている区間を代表シーンとして切り出す。図示された例では、シーンの切り出しのルールとして、例えば以下が設定される(上記のシーン切り出しAの処理でのルールとの相違点を<>で示す)。
・対象被写体が映っているフレームが連続している場合、これらのフレームを一体のフレーム群として扱う。
・対象被写体が映っているフレームと、次に対象被写体が映っているフレーム(別の対象被写体が映っていてもよい)との間が<5秒>以内の場合は、これらのフレームを一体のフレーム群として扱う。
・対象被写体が映っているフレームまたはフレーム群の前後<2秒>までを、1つのシーンとして切り出す。
ハイライト動画は、コンテンツを短くまとめるために生成されるサムネイル動画とは異なり、ユーザによる視聴の対象として生成される。それゆえ、ハイライト動画には、コンテンツの中で視聴するユーザの興味の対象になる部分が十分に含まれることが望ましい。そのため、上記の例のように、シーン切り出しの基準が、サムネイル動画の場合とは異なっていてもよい。
例えば、動画において、対象被写体が映っているフレームだけをシーンとして切り出すと、途切れ途切れの不自然なハイライト動画が生成される可能性がある。そこで、ハイライト動画のためのシーン切り出しBの処理では、対象被写体が映っているフレームが一体のフレーム群として扱われるための間隔や、1つのシーンの最低長さが、サムネイル動画の場合よりも長く設定されうる。これによって、例えば、対象被写体が映っているが画像解析では認識されなかった場合や、対象被写体が後ろを向いていた場合など、対象被写体が映ってはいるが人物としては認識されていない部分を、切り出されるシーンに含めることが可能になる。
図示された例では、上記のルールに従って、動画Dでは、フレームD#1とフレームD#3とが一体のフレーム群として扱われ、フレームD#1から、フレームD#3の2秒後のフレームD#5までが、シーンD#1として切り出される。また、フレームD#9とフレームD#10とが一体のフレーム群として扱われ、フレームD#9の2秒前のフレームD#7から、フレームD#9までが、シーンD#2として切り出される。一方、動画Fでは、フレームF#1とフレームF#5とが一体のフレーム群として扱われ、フレームF#1から、フレームF#5の2秒後のフレームF#7までが、シーンF#1として切り出される。
なお、ここで切り出されるシーンの範囲は、上記のように所定のフレームレートのキャプチャ画像によって設定されるが、実際のシーンは、これらのキャプチャ画像に対応する動画の区間である。つまり、シーンD#1は、5枚のフレームではなく、例えばフレームD#1からD#5までの一連のフレームの全体によって構成される動画の一部分である。
図10Bおよび10Cは、シナリオ情報生成部180によるハイライトシナリオの生成(S108)の例を、より詳細に示す図である。図示された例では、上記の図10Aの例の続きとして、画像A、画像C、動画Dから切り出されたシーンD#1およびシーンD#2、ならびに動画Fから切り出されたシーンF#1が、入力として与えられる。
図10Bに示すように、シナリオ情報生成部180は、これらのコンテンツを例えば時系列で配列して、ハイライト動画を定義する。さらに、シナリオ情報生成部180は、ハイライト動画に対応するハイライトシナリオHSを生成する。ハイライトシナリオHSは、例えばコンテンツの所在およびシーンの開始と終了との位置を示すxml形式のファイルであってもよいが、これには限られない。
図10Cに示すように、生成されたハイライトシナリオHSは、コンテンツ視聴クライアント300に出力される。コンテンツ視聴クライアント300のコンテンツ取得部310が、ハイライトシナリオHSに従ってコンテンツを取得することによって、図示されているようなハイライト動画が再生される。
図示されたハイライト動画の例では、画像Aが3秒間表示された後に、シーンD#1が再生され、続いてシーンD#2が再生され、さらに画像Cが3秒間表示され、最後にシーンF#1が再生される。なお、ハイライト動画において、画像が表示される時間は必ずしも3秒でなくてもよい。画像が表示される時間は、例えば他に含まれる動画のシーンの長さ、あるいはハイライト動画全体の長さに応じて動的に設定されてもよい。なお、ハイライト動画は、例えばユーザによって意図的に選択されて視聴されるものであるため、サムネイル動画とは異なり、多くの場合は繰返し再生されない。
(5.コンテンツ視聴時の表示)
次に、図11〜図13Dを参照して、本開示の一実施形態におけるコンテンツ視聴時の表示について説明する。図11は、本開示の一実施形態におけるコンテンツ視聴時の表示の全体について説明するための図である。図12は、本開示の一実施形態におけるノーマルモード再生画面の例を示す図である。図13A〜図13Dは、本開示の一実施形態におけるハイライトモード再生画面の例を示す図である。
図11を参照すると、本開示の一実施形態では、コンテンツ視聴時に、例えば、ログイン画面1100、イベント一覧画面1200、ノーマルモード再生画面1300、およびハイライトモード再生画面1400が表示される。これらの表示は、例えば、コンテンツ視聴クライアント300で、表示制御部320によって表示部330に表示されうる。
例えば、ユーザがコンテンツ視聴クライアント300で、共有されたコンテンツの視聴を開始する場合、まず、表示制御部320は、ログイン画面1100を表示部330に表示させる。ログイン画面1100は、例えば図示されているように、IDおよびパスワードの入力領域を有する。このログイン画面を用いて、ユーザは、例えばコンテンツの共有を提供するサービスのアカウントにログインする。これによって、例えば、共有サーバ100は、コンテンツ視聴クライアント300を使用しているのがどの対象ユーザであるかを識別することが可能である。
ユーザのログインが成功すると、イベント一覧画面1200が表示される。イベント一覧画面1200は、例えば、共有サーバ100のイベント情報生成部150によって生成されるイベント情報を、リストとして表示する画面である。イベント一覧画面には、例えば、サムネイル画像抽出部170によって生成されるイベント代表画像やパラパラサムネイル、あるいは、シナリオ情報生成部180によって生成されるサムネイルシナリオに従って取得されるサムネイル動画が、イベントの情報とともに表示されてもよい。この場合、イベント代表画像、パラパラサムネイル、またはサムネイル動画のいずれを表示するかは、例えばコンテンツ視聴クライアント300の描画能力に基づいて決定されてもよい。
ここで、イベント一覧画面1200で表示されるイベントは、例えば、図示されているように「運動会」、「誕生日」、「家族旅行」などの具体的なイベントに対応していてもよいし、「2008.05.08−2008.05.09」のように、単に撮影日時の範囲に対応していてもよい。コンテンツは、必ずしも具体的なイベントの際に撮影されるとは限らないため、図示された例のように、撮影日時の範囲によってイベントが定義されてもよい。
また、イベント一覧画面1200では、イベント名(または日付)とともに、コンテンツを提供しているユーザを識別する情報が表示されてもよい。図示された例では、コンテンツを提供しているユーザを識別する情報として、「aaa@bb.cc」などのメールアドレスが表示されているが、これには限られず、例えばユーザID、ニックネームなどが表示されてもよい。
イベント一覧画面1200で、ユーザが例えば操作部340を用いていずれかのイベントを選択すると、イベントに対応するコンテンツの再生が開始される。ここで再生されるコンテンツは、例えば、共有サーバ100のシナリオ情報生成部180によって生成されるハイライトシナリオに従って取得されるハイライト動画である。
図示された例において、コンテンツは、まずはノーマルモード再生画面1300で再生される。ここで、ユーザが例えば操作部340を用いてモード切替の操作を実行すると、コンテンツの再生が継続されたまま、表示がハイライトモード再生画面1400に変更される。ここで、ノーマルモード再生画面1300とハイライトモード再生画面1400との間では、コンテンツの進行を表示するプログレスバーの表示が異なる。このプログレスバーの表示については、続く部分でより詳しく説明する。
ノーマルモード再生画面1300、またはハイライトモード再生画面1400で、ユーザが例えば操作部340を用いて再生終了を指示すると、コンテンツの再生が終了し、表示がイベント一覧画面1200に戻る。
(ノーマルモード再生画面)
図12には、ノーマルモード再生画面の例が示されている。ノーマルモード再生画面1300には、通常のプログレスバー1310が表示される。なお、プログレスバー1310としては、例えは特開2008−67207号公報に記載された技術など、公知のあらゆる技術を適用することが可能である。図示された例では、プログレスバー1310が再生されるコンテンツの全体を表示している。プログレスバー1310のうち、既に再生された部分と、まだ再生されていない部分とは、異なる色で表示される。これらの色の異なる部分の境界が、現在再生されている部分に対応する。ユーザは、プログレスバー1310の任意の位置を操作部340を用いて選択することによって、コンテンツ内の任意の位置にジャンプすることが可能である。
(ハイライトモード再生画面)
図13Aには、ハイライトモード再生画面の例が示されている。ハイライトモード再生画面1400には、例えばハイライト動画のようなハイライトコンテンツの再生に特に適したプログレスバー1410が表示される。ここで、ハイライトコンテンツは、ハイライト動画のように、元々のコンテンツに含まれる区間のうちの一部(第1の区間)が再生され、他の部分(第2の区間)が再生されないコンテンツである。
かかるハイライトコンテンツが再生される場合、例えば、ユーザが、カットされた部分も視聴したくなる場合はある。そのような場合に、例えばカットされた部分がプログレスバー上に表示されていなければ、ユーザは、カットされた部分を認識することすら難しい(視聴したい部分がカットされているのか、元々ないのかがわからない)。かといって、カットされた部分もすべて含めてプログレスバーを表示すると、プログレスバー上に意味のない部分(ユーザが視聴したいと望まなければ再生されない部分)が多く発生してしまい、表示が冗長になってしまう。
そこで、この実施形態では、ハイライトコンテンツの再生に特に適したプログレスバー1410を表示して、上記のような場合であってもユーザがより快適にコンテンツを視聴できるようにする。
プログレスバー1410は、+ボタン1411、および−ボタン1412を含む。また、ハイライトモード再生画面1400には、さらに、再生位置表示1420、および人物表示1430が表示される。
まず、プログレスバー1410は、必ずしも再生されるコンテンツの全体を表示しないという点で、ノーマルモード再生画面に表示されるプログレスバー1310とは異なる。プログレスバー1410は、現在再生されている部分が、再生位置表示1420(位置が固定されている)に一致するように(センターフォーカス)、コンテンツの再生に伴って右から左へと流れていく。従って、後述するようにプログレスバー1410上に配置される+ボタン1411や−ボタン1412は、コンテンツが再生された状態で、ユーザが特に操作をしなければ、プログレスバー1410の右端から現れ、再生位置表示1420の位置を通過し、プログレスバー1410の左端まで流れて消える。
(+ボタン/−ボタン)
続いて、図13Bをあわせて参照して、プログレスバー1410に表示される+ボタン1411および−ボタン1412について、さらに説明する。
+ボタン1411は、再生されているコンテンツにカットされた部分が存在することを示すボタンである。上述のように、図示された例において再生されているコンテンツは、例えばシナリオ情報生成部180によって生成されるハイライトシナリオに従って取得されるハイライト動画である。ハイライト動画には、例えば図10Bの例に示されるように、動画の中にシーンとして抽出されなかった部分が存在する。
ここで、ユーザが、例えば操作部340を介して+ボタン1411を押下したとする。そうすると、+ボタン1411が−ボタン1412に変化し、+ボタン1411によって示されていた、コンテンツの中のカット部分CUTが表示される。図13Aおよび図13Bにおいて、−ボタン1412の両側で他の部分とは異なる色で表示されている部分が、カット部分CUTである。カット部分CUTは、元々のコンテンツのうち、ハイライト動画としては再生されない部分(第2の区間)を表す。そのため、カット部分CUTは、プログレスバー1410の他の部分とは異なる概観、例えば異なる色で表示される。
それゆえ、プログレスバー1410のうち、カット部分CUT以外の部分をコンテンツの第1の区間を表す第1のバー、カット部分CUTを第1のバーに連続して表示されて第2の区間を表す第2のバーと表現してもよい。そうすると、+ボタン1411は、第2のバーに代えて第1のバー上に表示されて第2の区間が再生されないことを示すアイコンともいえる。
−ボタン1412とともに表示されるカット部分CUTは、表示されるだけではなく、実際に再生される。例えば、再生位置表示1420よりも右側に位置するプログレスバー1410上の+ボタン1411が押下された場合、この+ボタン1411に対応するカットされた部分がカット部分CUTとして表示されるとともに、カット部分CUTが再生位置表示1420の位置に達した場合、コンテンツは、元々はカットされていた部分を含んで再生される。
これは、例えば、コンテンツ視聴クライアント300のコンテンツ取得部310が、操作部340を介して取得される+ボタン1411を押下する操作に応じて、コンテンツのカットされている部分のデータを新たにコンテンツサーバ400から取得し、そのデータを表示制御部320に提供することによって可能になる。
上記のような動作によって、再生されるコンテンツの全長は延びる。しかし、プログレスバー1410は、元々全体がコンテンツの全長には対応しておらず、またセンターフォーカスである。それゆえ、例えば図13Aの例で、再生位置表示1420の左側で+ボタン1411が−ボタン1412に変化し、−ボタン1412の両側にカット部分CUTが追加で表示されたとしても、プログレスバー1410のそれよりも左側の部分(元々カットされていない部分)の一部が表示されなくなるだけで、例えば再生位置表示1420の右側に表示されている別の+ボタン1411などの表示位置は変化しない。
一方、ユーザが、例えば操作部340を介して−ボタン1412を押下した場合、−ボタン1412が+ボタン1411に変化し、−ボタン1412の両側に表示されていたカット部分CUTが表示されなくなる。この状態では、例えば元々のハイライト動画のように、カットされた部分は再生されない。また、この場合、再生されるコンテンツの全長は縮まる。しかし、上述のように、プログレスバー1410は、元々全体がコンテンツの全長には対応しておらず、またセンターフォーカスであるため、−ボタン1412の+ボタン1411への変化が、例えばプログレスバー1410上で再生位置表示1420をはさんで反対側にある領域の表示に影響を与えることはない。
なお、上記の例では、初期設定としては、ハイライト動画が再生されることになっているため、再生の開始時には、カットされている部分を含まないコンテンツの再生が予定されている。このとき、プログレスバー1410上には、カット部分CUTおよび−ボタン1412は表示されず、コンテンツのカットされた部分にはすべて+ボタン1411が表示される。
(人物表示)
続いて、図13Cをあわせて参照して、ハイライトモード再生画面1400に表示される人物表示1430の例について、さらに説明する。人物表示1430は、コンテンツ共有の設定で、対象ユーザ(図示された例においてコンテンツ視聴しているユーザ)に関連付けられた対象被写体(人物)が映っているコンテンツ上の位置を示す。
図13Cの例では、人物表示1430が、それぞれの人物が映り始めたコンテンツ上の位置に表示される。例えば、人物表示1430aは、人物P1(花子),P2(太郎)が初めて映っている位置に表示される。それゆえ、人物表示1430aは、人物P1(花子),P2(太郎)の表示を含む。また、人物表示1430bは、人物P3(次郎)が初めて映っており、また人物P1(花子),P2(太郎)が一旦映らなくなった後、再び映り始めた位置に表示される。それゆえ、人物表示1430bは、人物P1(花子),P2(太郎),P3(次郎)の表示を含む。
一方、人物表示1430cは、人物P1(花子)が一旦映らなくなった後、再び映り始めた位置に表示される。この時点で、人物P2(太郎),P3(次郎)は、前回の人物表示1430bが表示された時点から継続して映っているため、人物表示1430cには含まれない。従って、人物表示1430cは、人物P1(花子)の表示だけを含む。また、人物表示1430dは、人物P2(太郎),P3(次郎)が一旦映らなくなった後、再び映り始めた位置に表示される。この時点で、人物P1(花子)は、前回の人物表示1430cが表示された時点から継続して映っているため、人物表示1430dには含まれない。従って、人物表示1430cは、人物P2(太郎),P3(次郎)の表示だけを含む。
上記のような人物表示1430によって、例えば、コンテンツを視聴するユーザは、それぞれの人物が映り始めるタイミングを認識することが可能である。このように、映っている区間ではなく、出現するタイミングを表示することで、例えば、コンテンツを視聴していて、ある人物Pが映らなくなった場合に、次にその人物Pが出現する位置を探したいというようなユーザの要求を満たすことができる。
別の例として、人物表示1430は、再生されているハイライト動画を構成するシーンや静止画ごとに表示されてもよい。上述のように、ハイライト動画は、対象被写体が映っているシーンや静止画によって構成される。従って、シーンや静止画ごとに、映っている対象被写体が変化することが多い。それゆえ、+ボタン1411で区切られたシーンや静止画ごとに人物表示1430を表示することによって、それぞれのシーンや静止画の表示にどの対象被写体が映っているかをユーザに知らせることができる。例えば、シーンの場合、人物表示1430は、シーンの開始位置(+ボタン1411の位置)に表示されてもよいし、シーンの中ほど(前後の+ボタン1411の中間)に表示されてもよい。
なお、人物表示1430は、表示するか否かを、例えばシナリオプレーヤアプリケーション(図2を参照)の設定によって切り替えることが可能である。また、例えばユーザが操作部340を介して人物表示1430を選択した場合、再生がその場所にジャンプしてもよい。
さらに、人物表示1430の他の例として、図13Dに示されるように、プログレスバー1410上の任意の位置が操作部340などを介して選択された場合、コンテンツのその位置に対応する部分に映っている人物Pの表示を含む人物表示1430が表示されてもよい。この表示は、例えば、シナリオプレーヤアプリケーションの設定によって人物表示1430が非表示に設定されている場合でも可能であってもよい。
(6.補足)
(他の実施形態)
なお、上記で図2を参照して説明したシステムの動作については、例えば以下で図14を参照して説明するような他の実施形態も可能である。図14は、本開示の他の実施形態に係るシステムの動作について説明するための図である。なお、この実施形態において、システムの機能構成などは、上記で説明した実施形態と同様であるため、詳細な説明を省略する。
図14には、図2で説明したS1〜S11と同様の動作が示されている。ただし、この実施形態では、それぞれの動作が、図示されているように複数のサーバに分散して実行される。図示された例では、クライアント側のアプリケーションに関する処理は、アプリケーションサーバで実行される。また、コンテンツ解析(S3)を実行する解析サーバと、シナリオ生成(S8)などを実行するシナリオ作成サーバとは、別個のサーバである。この場合、これらのサーバ間でのメタ情報入力(S4)のために、解析コネクタサーバが設けられてもよい。
なお、上記で図2および図14を参照して説明した動作は、いずれも本開示の実施形態の一例にすぎない。すなわち、図2および図14は、いずれも、例えば図1に示されるような本開示の機能構成の実装の一例を示しているに過ぎない。上述のように、本開示の機能構成は、例えば1または複数のサーバ装置と、同じく1または複数のクライアント装置とを含む任意のシステム構成によって実現されうる。
(ハードウェア構成)
次に、図15を参照して、本開示の実施形態に係る共有サーバ100、コンテンツ提供クライアント200、コンテンツ視聴クライアント300、およびコンテンツサーバ400などを実現しうる情報処理装置900のハードウェア構成について説明する。図15は、情報処理装置のハードウェア構成について説明するためのブロック図である。
情報処理装置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は、CPU901に代えて、またはこれとともに、DSP(Digital Signal Processor)などの処理回路を有してもよい。
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置900内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。CPU901、ROM903、およびRAM905は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話などの外部接続機器929であってもよい。入力装置915は、ユーザが入力した情報に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりする。
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置917は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、有機EL(Electro-Luminescence)ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置917は、情報処理装置900の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。
ストレージ装置919は、情報処理装置900の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体927のためのリーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体927に記録を書き込む。
接続ポート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との間で各種のデータが交換されうる。
通信装置925は、例えば、通信ネットワーク931に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カードなどでありうる。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置925は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置925に接続される通信ネットワーク931は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などである。
撮像装置933は、例えば、CCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置933は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
センサ935は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサなどの各種のセンサである。センサ935は、例えば情報処理装置900の筐体の姿勢など、情報処理装置900自体の状態に関する情報や、情報処理装置900の周辺の明るさや騒音など、情報処理装置900の周辺環境に関する情報を取得する。また、センサ935は、GPS(Global Positioning System)信号を受信して装置の緯度、経度および高度を測定するGPSセンサを含んでもよい。
以上、情報処理装置900のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
(実施形態のまとめ)
本開示の実施形態では、コンテンツの共有相手ごとに、例えば共有相手の興味の対象になりうる被写体が設定される。この設定に従って、共有サーバが自動的にダイジェストコンテンツを構成するためのシナリオを生成する。ダイジェストコンテンツは、例えば共有相手にとって意味のあるシーンや画像を組み合わせたコンテンツであり、上記の実施形態ではハイライト動画として例示された。共有サーバは、上記の設定がされた後に追加されたコンテンツについても、自動的にシナリオの生成などを実行することが可能である。従って、コンテンツを提供するユーザは、一度共有設定をした後は、特に追加の操作をすることなくコンテンツを共有対象に追加するだけでよい。
また、ダイジェストコンテンツとしては、サムネイル動画が生成されてもよい。サムネイル動画は、共有相手にとって意味のあるシーンや画像を、より短くまとめたコンテンツである。ハイライト動画が主として共有相手の視聴に供されるのに対し、サムネイル動画は、いわばハイライト動画のサムネイルとして、例えばコンテンツの撮影対象のイベントを示す情報とともに共有相手に提示され、視聴対象の選択を容易にする。
視聴対象の選択を容易にするための情報としては、他に、サムネイル画像を表示してもよい。サムネイル画像は、上記の実施形態ではコンテンツ代表画像およびパラパラサムネイルとして例示された。サムネイル画像は、単一の画像(静止画)、または複数の静止画からなるアニメーションであるため、例えばクライアント装置の画像処理能力が低い場合でも表示することが可能である。
上記の実施形態では、共有サーバがシナリオ情報をクライアントに提供し、クライアント側でシナリオに従ってハイライト動画などのダイジェストコンテンツが生成された。しかしながら、例えばクライアント装置の画像処理能力が低かったり、通信状態が安定していたりする場合には、共有サーバ、またはコンテンツサーバがシナリオに従ってダイジェストコンテンツを生成し、クライアントに提供してもよい。
また、共有相手や、共有相手に関連付ける被写体を設定するための操作は、例えば上記の実施形態で示されたようなGUIを用いて取得されうる。例えば、共有相手と被写体とをアイコン化して表示し、それぞれのアイコンを関連付けるドラッグ操作などに従って共有相手と被写体との関連付けを実行してもよい。これによって、ユーザが直感的な操作によって共有設定をすることが可能になる。
また、上記のハイライト動画などのように、元々のコンテンツのうちの一部が抽出された(他の部分がカットされた)コンテンツを視聴する場合、例えば、ハイライト動画として提供された部分をユーザが視聴した結果、その前後のカットされた部分も視聴したくなる場合がある。そのような場合に、+ボタンや−ボタンなどを用いて抽出された部分とカットされた部分とを直感的に表示し、またこれらのボタンへの操作によってカットされた部分を再生するように変更することが可能なGUIを提供すれば、ユーザがコンテンツを視聴する体験はより快適なものになる。
なお、上記の説明では、主に情報処理装置に係る本開示の実施形態を紹介したが、例えばこれらの情報処理装置において実行される方法、情報処理装置に機能を実現されるためのプログラム、およびかかるプログラムを記録した記録媒体も、本開示の実施形態として実現されうる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)静止画または動画を含むコンテンツの共有相手である対象ユーザ、および前記対象ユーザに関連付けられた被写体である対象被写体の情報を取得する共有関連情報取得部と、
前記コンテンツから、前記対象被写体が映っているコンテンツを対象コンテンツとして抽出するコンテンツ抽出部と、
前記対象コンテンツを組み合わせてダイジェストコンテンツを構成するためのシナリオを生成するシナリオ生成部と
を備える情報処理装置。
(2)前記対象コンテンツに含まれる動画から、前記対象被写体が映っている部分を対象シーンとして抽出するシーン抽出部をさらに備え、
前記シナリオ生成部は、前記対象シーンを組み合わせてダイジェストコンテンツを構成するためのシナリオを生成する、前記(1)に記載の情報処理装置。
(3)前記シナリオ生成部は、前記対象シーンと前記対象コンテンツに含まれる静止画とを組み合わせてダイジェストコンテンツを構成するためのシナリオを生成する、前記(2)に記載の情報処理装置。
(4)前記シーン抽出部は、前記対象シーンから当該動画の代表シーンを選択し、
前記シナリオ生成部は、前記代表シーンを組み合わせてダイジェストコンテンツを構成するためのシナリオを生成する、前記(2)または(3)に記載の情報処理装置。
(5)前記対象被写体は、人物であり、
前記シーン抽出部は、前記人物の笑顔度に基づいて前記代表シーンを選択する、前記(4)に記載の情報処理装置。
(6)前記対象コンテンツに含まれる動画から、前記対象被写体が映っているフレームを対象フレームとして抽出し、前記対象フレームから当該動画の代表フレームを選択するフレーム抽出部と、
前記代表フレームを組み合わせて前記対象コンテンツのダイジェストアニメーションを生成するアニメーション生成部と
をさらに備える、前記(1)〜(5)のいずれか1項に記載の情報処理装置。
(7)前記アニメーション生成部は、前記代表フレームと前記対象コンテンツに含まれる静止画とを組み合わせて前記ダイジェストアニメーションを生成する、前記(6)に記載の情報処理装置。
(8)前記対象コンテンツに含まれる動画から、前記対象被写体が映っているフレームを対象フレームとして抽出し、前記対象フレームから当該動画の代表フレームを選択するフレーム抽出部と、
前記代表フレームから前記対象コンテンツの代表画像を選択する代表画像選択部と
をさらに備える、前記(1)〜(5)のいずれか1項に記載の情報処理装置。
(9)前記代表画像選択部は、前記代表フレームと前記対象コンテンツに含まれる静止画とから前記代表画像を選択する、前記(8)に記載の情報処理装置。
(10)撮影対象のイベントごとに前記コンテンツを分類するコンテンツ分類部をさらに備え、
前記シナリオ生成部は、前記イベントごとに前記シナリオを生成する、前記(1)〜(9)のいずれか1項に記載の情報処理装置。
(11)前記シナリオが生成される前記イベントの情報を含むイベント情報を生成するイベント情報生成部をさらに備える、前記(10)に記載の情報処理装置。
(12)前記共有関連情報取得部は、さらに、前記対象ユーザへの公開が許可される前記イベントの情報を取得する、前記(10)または(11)に記載の情報処理装置。
(13)前記共有関連情報取得部は、前記対象ユーザのグループ、および前記グループごとに関連付けられた前記対象被写体の情報を取得する、前記(1)〜(12)のいずれか1項に記載の情報処理装置。
(14)前記シナリオ生成部は、前記対象ユーザおよび前記対象被写体の情報が取得される以前に共有の対象に設定された前記コンテンツについても、前記対象ユーザおよび前記対象被写体の情報が取得された以後に共有の対象に追加された前記コンテンツについても、前記シナリオを生成する、前記(1)〜(13)のいずれか1項に記載の情報処理装置。
(15)前記シナリオ生成部は、前記対象ユーザが前記ダイジェストコンテンツを視聴する外部装置に前記シナリオを出力する、前記(1)〜(14)のいずれか1項に記載の情報処理装置。
(16)静止画または動画を含むコンテンツを提供する第1のユーザが、前記コンテンツの共有相手である第2のユーザ、および前記第2のユーザに関連付けられる被写体である対象被写体を設定する操作を取得する操作部を含む第1のクライアント装置と、
前記第2のユーザおよび前記対象被写体の情報を取得する共有関連情報取得部、
前記コンテンツから、前記対象被写体が映っているコンテンツを対象コンテンツとして抽出するコンテンツ抽出部、および
前記対象コンテンツを組み合わせてダイジェストコンテンツを構成するためのシナリオを生成して出力するシナリオ生成部
を含むサーバ装置と、
前記出力されたシナリオを取得し、前記シナリオに従って前記コンテンツから前記ダイジェストコンテンツを生成して前記第2のユーザに提供するコンテンツ取得部を含む第2のクライアント装置と
を含むシステム。
(17)前記第1のクライアント装置は、前記対象被写体の候補である候補被写体を示すアイコンを表示部に表示させる表示制御部をさらに含み、
前記操作部は、前記アイコンの中から所望の被写体に対応するアイコンを選択することによって前記対象被写体を設定する前記第1のユーザの操作を取得する、前記(16)に記載のシステム。
(18)静止画または動画を含むコンテンツの共有相手である対象ユーザ、および前記対象ユーザに関連付けられた被写体である対象被写体の情報を取得することと、
前記コンテンツから、前記対象被写体が映っているコンテンツを対象コンテンツとして抽出することと、
前記対象コンテンツを組み合わせてダイジェストコンテンツを構成するためのシナリオを生成することと
を含む情報処理方法。