(57)【特許請求の範囲】
【請求項１】
ネットワークに接続される複数の端末装置のうちの一の端末装置であって、
複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データを受信する第１受信手段と、
前記画像フレームにおける仮想カメラの位置、前記仮想カメラの向き、及び前記仮想カメラの画角のうち少なくとも何れかを表す仮想カメラデータと、前記動画データの再生時間とが対応付けられたカメラワークデータであって、前記一の端末装置以外の他の端末装置により送信されて前記ネットワーク上の情報の取得場所に記憶された複数の前記カメラワークデータを、情報処理装置から受信する第２受信手段と、
前記第１受信手段により受信された前記動画データと、前記第２受信手段により受信された複数の前記カメラワークデータとを用いて、前記動画データの再生時間に従って、前記複数の画素の中から、前記複数のカメラワークデータが含む複数の前記仮想カメラデータそれぞれにより特定された複数の特定の画素領域を表示画面に表示させる第１表示制御手段と、
前記表示画面に表示された前記複数の特定の画素領域の前記表示画面における位置関係と、前記複数の特定の画像領域を前記表示画面に表示させた複数の前記仮想カメラデータと、前記複数の特定の画素領域が前記表示画面に表示された再生時間とが対応付けられた合成カメラワークデータを、前記情報処理装置へ送信する送信手段と、
を備え、
前記第２受信手段は、前記ネットワーク上の情報の取得場所を示す所在情報であって、前記他の端末装置に割り当てられた前記所在情報が示す取得場所に記憶された前記カメラワークデータを前記情報処理装置から受信し、
前記送信手段は、前記合成カメラワークデータにおける前記仮想カメラデータを、前記仮想カメラデータを含む前記カメラワークデータが記憶された前記取得場所を示す所在情報に置き換え、前記仮想カメラデータが前記所在情報に置き換えられた前記合成カメラワークデータを、前記一の端末装置に割り当てられた前記所在情報が示す取得場所に向けて送信することを特徴とする端末装置。
【請求項２】
前記第２受信手段は、前記画像フレームにおける仮想カメラの位置または前記仮想カメラの向きと、前記仮想カメラの画角とを表す前記仮想カメラデータと、前記動画データの再生時間とが対応付けられたカメラワークデータを受信することを特徴とする請求項１に記載の端末装置。
【請求項３】
他の端末装置により所定の情報処理装置へ送信された前記合成カメラワークデータを取得する取得手段と、
前記取得手段により取得された前記合成カメラワークデータを用いて、前記複数の画素の中から、前記合成カメラワークデータが含む複数の前記仮想カメラデータそれぞれにより特定された複数の特定の画素領域を表示画面に表示させる第２表示制御手段と、
を備えることを特徴とする請求項１または２に記載の端末装置。
【請求項４】
前記第１表示制御手段は、前記第１受信手段により受信された前記動画データと、前記第２受信手段により受信された複数の前記カメラワークデータとを用いて、前記動画データの再生時間に従って、前記複数の画素の中から、前記複数のカメラワークデータが含む複数の前記仮想カメラデータそれぞれにより特定された複数の特定の画素領域を、前記表示画面を分割した複数の分割領域に表示させ、
前記送信手段は、複数の分割領域に表示された前記複数の特定の画素領域の前記表示画面における位置関係と、前記複数の特定の画像領域を前記複数の分割領域に表示させた複数の前記仮想カメラデータと、前記複数の特定の画素領域が前記複数の分割領域に表示された再生時間とが対応付けられた合成カメラワークデータを、前記情報処理装置へ送信することを特徴とする請求項１乃至３の何れか一項に記載の端末装置。
【請求項５】
前記第１表示制御手段は、前記第１受信手段により受信された前記動画データと、前記第２受信手段により受信された複数の前記カメラワークデータとを用いて、前記動画データの再生時間に従って、前記複数の画素の中から、前記複数のカメラワークデータが含む複数の前記仮想カメラデータそれぞれにより特定された複数の特定の画素領域のうち少なくとも１つの画素領域に透過度を設定した後に前記複数の前記画素領域を前記表示画面に重ね合わせて表示させ、
前記送信手段は、前記表示画面に表示された前記複数の特定の画素領域の前記表示画面における位置関係と、前記複数の特定の画素領域のうち少なくとも１つの画素領域に設定された透過度と、前記複数の特定の画像領域を前記表示画面に表示させた複数の前記仮想カメラデータと、前記複数の特定の画素領域が前記表示画面に表示された再生時間とが対応付けられた合成カメラワークデータを、前記情報処理装置へ送信することを特徴とする請求項１乃至３の何れか一項に記載の端末装置。
【請求項６】
ネットワークに接続される複数の端末装置のうちの一の端末装置に含まれるコンピュータに、
複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データを受信するステップと、
前記画像フレームにおける仮想カメラの位置、前記仮想カメラの向き、及び前記仮想カメラの画角のうち少なくとも何れかを表す仮想カメラデータと、前記動画データの再生時間とが対応付けられたカメラワークデータであって、前記一の端末装置以外の他の端末装置により送信されて前記ネットワーク上の情報の取得場所に記憶された複数の前記カメラワークデータを、情報処理装置から受信する受信ステップと、
受信された前記動画データと、受信された複数の前記カメラワークデータとを用いて、前記動画データの再生時間に従って、前記複数の画素の中から、前記複数のカメラワークデータが含む複数の前記仮想カメラデータそれぞれにより特定された複数の特定の画素領域を表示画面に表示させるステップと、
前記表示画面に表示された前記複数の特定の画素領域の前記表示画面における位置関係と、前記複数の特定の画像領域を前記表示画面に表示させた複数の前記仮想カメラデータと、前記複数の特定の画素領域が前記表示画面に表示された再生時間とが対応付けられた合成カメラワークデータを、前記情報処理装置へ送信する送信ステップと、
を実行させるプログラムであって、
前記受信ステップにおいては、前記ネットワーク上の情報の取得場所を示す所在情報であって、前記他の端末装置に割り当てられた前記所在情報が示す取得場所に記憶された前記カメラワークデータを前記情報処理装置から受信し、
前記送信ステップにおいては、前記合成カメラワークデータにおける前記仮想カメラデータを、前記仮想カメラデータを含む前記カメラワークデータが記憶された前記取得場所を示す所在情報に置き換え、前記仮想カメラデータが前記所在情報に置き換えられた前記合成カメラワークデータを、前記一の端末装置に割り当てられた前記所在情報が示す取得場所に向けて送信することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画を構成する画像フレーム内で、仮想カメラの位置または前記仮想カメラの向きの指定により表示された特定の画素領域と、この画素領域が表示された画像フレームの再生時間とを示すカメラワークデータを送受信する装置等の技術分野に関する。
【背景技術】
【０００２】
従来、ユーザが動画データの編集データを他のユーザへメールで配信するシステムが開示されている（例えば、特許文献１参照）。この編集データには、動画データの開始地点からの経過時間によって再生するポイントを示す情報が含まれる。これにより、ユーザは、動画の特定のシーンを他のユーザと共有できるようになっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１２４５１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、所定の動画に対して疑似的なカメラワークが、端末装置を用いてユーザにより行われる場合がある。疑似的なカメラワークでは、動画を構成する画像フレーム内で、例えばユーザが仮想カメラの位置または仮想カメラの向きなどを指定することで特定の画素領域が表示手段に表示される。この場合、端末装置のユーザは、上述した疑似的なカメラワークを示す複数のカメラワークデータを用いて、特定の端末動画を構成する画像フレーム内で複数の特定の画素領域を異なる視点で表示させるカメラワークデータを作成することは困難である。
【０００５】
本発明は、複数のカメラワークデータを用いて複数の特定の画素領域を異なる視点で表示させるカメラワークデータをアップロードすることが可能な端末装置、及びプログラムを提供する。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、ネットワークに接続される複数の端末装置のうちの一の端末装置であって、複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データを受信する第１受信手段と、前記画像フレームにおける仮想カメラの位置、前記仮想カメラの向き、及び前記仮想カメラの画角のうち少なくとも何れかを表す仮想カメラデータと、前記動画データの再生時間とが対応付けられたカメラワークデータであって、前記一の端末装置以外の他の端末装置により送信されて前記ネットワーク上の情報の取得場所に記憶された複数の前記カメラワークデータを、情報処理装置から受信する第２受信手段と、前記第１受信手段により受信された前記動画データと、前記第２受信手段により受信された複数の前記カメラワークデータとを用いて、前記動画データの再生時間に従って、前記複数の画素の中から、前記複数のカメラワークデータが含む複数の前記仮想カメラデータそれぞれにより特定された複数の特定の画素領域を表示画面に表示させる第１表示制御手段と、前記表示画面に表示された前記複数の特定の画素領域の前記表示画面における位置関係と、前記複数の特定の画像領域を前記表示画面に表示させた複数の前記仮想カメラデータと、前記複数の特定の画素領域が前記表示画面に表示された再生時間とが対応付けられた合成カメラワークデータを、前記情報処理装置へ送信する送信手段と、を備え、前記第２受信手段は、前記ネットワーク上の情報の取得場所を示す所在情報であって、前記他の端末装置に割り当てられた前記所在情報が示す取得場所に記憶された前記カメラワークデータを前記情報処理装置から受信し、前記送信手段は、前記合成カメラワークデータにおける前記仮想カメラデータを、前記仮想カメラデータを含む前記カメラワークデータが記憶された前記取得場所を示す所在情報に置き換え、前記仮想カメラデータが前記所在情報に置き換えられた前記合成カメラワークデータを、前記一の端末装置に割り当てられた前記所在情報が示す取得場所に向けて送信することを特徴とする。
【０００７】
請求項２に記載の発明は、請求項１に記載の端末装置において、前記第２受信手段は、前記画像フレームにおける仮想カメラの位置または前記仮想カメラの向きと、前記仮想カメラの画角とを表す前記仮想カメラデータと、前記動画データの再生時間とが対応付けられたカメラワークデータを受信することを特徴とする。
【０００８】
請求項３に記載の発明は、請求項１または２に記載の端末装置において、他の端末装置により所定の情報処理装置へ送信された前記合成カメラワークデータを取得する取得手段と、前記取得手段により取得された前記合成カメラワークデータを用いて、前記複数の画素の中から、前記合成カメラワークデータが含む複数の前記仮想カメラデータそれぞれにより特定された複数の特定の画素領域を表示画面に表示させる第２表示制御手段と、を備えることを特徴とする。
【０００９】
請求項４に記載の発明は、請求項１乃至３の何れか一項に記載の端末装置において、前記第１表示制御手段は、前記第１受信手段により受信された前記動画データと、前記第２受信手段により受信された複数の前記カメラワークデータとを用いて、前記動画データの再生時間に従って、前記複数の画素の中から、前記複数のカメラワークデータが含む複数の前記仮想カメラデータそれぞれにより特定された複数の特定の画素領域を、前記表示画面を分割した複数の分割領域に表示させ、前記送信手段は、複数の分割領域に表示された前記複数の特定の画素領域の前記表示画面における位置関係と、前記複数の特定の画像領域を前記複数の分割領域に表示させた複数の前記仮想カメラデータと、前記複数の特定の画素領域が前記複数の分割領域に表示された再生時間とが対応付けられた合成カメラワークデータを、前記情報処理装置へ送信することを特徴とする。
【００１０】
請求項５に記載の発明は、請求項１乃至３の何れか一項に記載の端末装置において、前記第１表示制御手段は、前記第１受信手段により受信された前記動画データと、前記第２受信手段により受信された複数の前記カメラワークデータとを用いて、前記動画データの再生時間に従って、前記複数の画素の中から、前記複数のカメラワークデータが含む複数の前記仮想カメラデータそれぞれにより特定された複数の特定の画素領域のうち少なくとも１つの画素領域に透明度を設定した後に前記複数の前記画素領域を前記表示画面に重ね合わせて表示させ、前記送信手段は、前記表示画面に表示された前記複数の特定の画素領域の前記表示画面における位置関係と、前記複数の特定の画素領域のうち少なくとも１つの画素領域に設定された透過度と、前記複数の特定の画像領域を前記表示画面に表示させた複数の前記仮想カメラデータと、前記複数の特定の画素領域が前記表示画面に表示された再生時間とが対応付けられた合成カメラワークデータを、前記情報処理装置へ送信することを特徴とする。
【００１２】
請求項６に記載のプログラムの発明は、ネットワークに接続される複数の端末装置のうちの一の端末装置に含まれるコンピュータに、複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データを受信するステップと、前記画像フレームにおける仮想カメラの位置、前記仮想カメラの向き、及び前記仮想カメラの画角のうち少なくとも何れかを表す仮想カメラデータと、前記動画データの再生時間とが対応付けられたカメラワークデータであって、前記一の端末装置以外の他の端末装置により送信されて前記ネットワーク上の情報の取得場所に記憶された複数の前記カメラワークデータを、情報処理装置から受信する受信ステップと、受信された前記動画データと、受信された複数の前記カメラワークデータとを用いて、前記動画データの再生時間に従って、前記複数の画素の中から、前記複数のカメラワークデータが含む複数の前記仮想カメラデータそれぞれにより特定された複数の特定の画素領域を表示画面に表示させるステップと、前記表示画面に表示された前記複数の特定の画素領域の前記表示画面における位置関係と、前記複数の特定の画像領域を前記表示画面に表示させた複数の前記仮想カメラデータと、前記複数の特定の画素領域が前記表示画面に表示された再生時間とが対応付けられた合成カメラワークデータを、前記情報処理装置へ送信する送信ステップと、を実行させるプログラムであって、前記受信ステップにおいては、前記ネットワーク上の情報の取得場所を示す所在情報であって、前記他の端末装置に割り当てられた前記所在情報が示す取得場所に記憶された前記カメラワークデータを前記情報処理装置から受信し、前記送信ステップにおいては、前記合成カメラワークデータにおける前記仮想カメラデータを、前記仮想カメラデータを含む前記カメラワークデータが記憶された前記取得場所を示す所在情報に置き換え、前記仮想カメラデータが前記所在情報に置き換えられた前記合成カメラワークデータを、前記一の端末装置に割り当てられた前記所在情報が示す取得場所に向けて送信することを特徴とする。
【発明の効果】
【００１３】
請求項１、２、または６に記載の発明によれば、端末装置は、複数のカメラワークデータを用いて作成された合成カメラワークデータをアップロードすることができる。
【００１４】
請求項３に記載の発明によれば、端末装置は、他の端末装置によりアップロードされた合成カメラワークデータを用いて、所定の動画から再生時間ごとに特定された複数の特定の画素領域を異なる視点で表示することができる。
【００１５】
請求項４または５に記載の発明によれば、端末装置は、複数のカメラワークデータを用いて所定の動画から再生時間ごとに特定された複数の特定の画素領域を異なる視点で表示させる合成カメラワークデータをアップロードすることができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態の通信システムＳの概要構成例を示す図である。
【図２】通信システムＳにおけるクライアント端末２ａ〜２ｈの動作の一例を示す概念図である。
【図３】クライアント端末２ｄにより生成された合成カメラワークデータの一例を示す概念図である。
【図４】複数のクライアント端末２で動画の合成が行われた場合の合成カメラワークデータの一例を示す概念図である。
【図５】クライアント端末２の制御部２１またはＣＰＵにより実行される処理の一例を示すフローチャートである。
【図６】配信サーバ１の制御部１１またはＣＰＵにより実行される処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面に基づいて説明する。
【００１８】
［１．通信システムの構成及び動作概要］
始めに、図１を参照して、本発明の実施形態の通信システムＳの構成及び動作概要について説明する。図１は、本実施形態の通信システムＳの概要構成例を示す図である。図１に示すように、通信システムＳは、配信サーバ１及び複数のクライアント端末２ａ〜２ｈを含んで構成される。配信サーバ１は、本発明のサーバ装置の一例である。なお、図１に示すクライアント端末の数は一例であり、この数には限定されるものではない。クライアント端末２ａ〜２ｈは、本発明の第１端末装置、及び第２端末装置の一例である。配信サーバ１及びクライアント端末２ａ〜２ｈは、それぞれ、ネットワークＮＷに接続される。ネットワークＮＷは、例えば、インターネット等により構成される。なお、以下の説明では、クライアント端末２ａ〜２ｈを総称して、クライアント端末２という場合がある。
【００１９】
配信サーバ１は、例えば、図示しない撮影装置から送信されたコンテンツを記憶部１２に記憶する。コンテンツには、少なくとも動画データが含まれる。動画データは、撮影装置により撮影された動画のデータである。カメラにより撮影された動画を、以下、「オリジナル動画」という。コンテンツには、コンテンツＩＤが付与される。オリジナル動画は、複数の画像フレームから構成される。また、各画像フレームは複数の画素から構成される。コンテンツＩＤは、オリジナル動画を識別可能な第１識別情報の一例である。オリジナル動画の一例として、例えばパノラマ動画がある。パノラマ動画は、例えば高解像度のカメラで、且つ広範囲を撮影可能なレンズを搭載するカメラにより被写体が撮影された動画である。広範囲を撮影可能なレンズには、ワイドレンズ、魚眼レンズ、３６０度レンズ等がある。また、パノラマ動画は、複数カメラの映像を合成して作成される場合もある。なお、コンテンツには、動画データとともに音声データが含まれる場合もある。
【００２０】
配信サーバ１は、例えば、クライアント端末２からの配信要求に応じて、ネットワークＮＷを介してクライアント端末２へ上記コンテンツを配信する。コンテンツの配信は、例えばライブ配信により行われる。ライブ配信とは、撮影装置により撮影された動画データを含むコンテンツを順次ストリーミング配信用のデータにエンコードしてリアルタイムに配信することをいう。なお、コンテンツの配信は、オンデマンド配信であってもよい。配信されるコンテンツのヘッダには、このコンテンツのコンテンツＩＤが含まれる。
【００２１】
また、配信サーバ１は、ネットワークＮＷを介してアクセスした例えばクライアント端末２ａからの所定のオリジナル動画の再生開始メッセージに応じて、ＵＲＬ（Uniform Resource Locator）をクライアント端末２ａへ送信する。このＵＲＬは、クライアント端末２ａに情報を送信させる送信先を示す。また、この再生開始メッセージは、ユーザによる所定のオリジナル動画の視聴開始を示す。情報を送信させる送信先を示すＵＲＬは、ネットワークＮＷ上の情報の取得場所を示す所在情報の一例である。このＵＲＬが示す取得場所は、例えば配信サーバ１の記憶部１２内に割り当てられた記憶領域である。或いは、このＵＲＬが示す取得場所は、配信サーバ１とは異なる所定の情報処理装置の記憶部内に割り当てられた記憶領域であってもよい。この情報処理装置は、所定のサーバ、またはクライアント端末２であってもよい。なお、クライアント端末２ａ〜２ｈには、それぞれ異なるＵＲＬが割り当てられる。例えばクライアント端末２ａは、配信サーバ１から受信したＵＲＬへ接続し、再生開始された所定のオリジナル動画のコンテンツＩＤ、及びこの動画に対するカメラワークデータを配信サーバ１へ所定時間間隔で順次送信する。つまり、例えばクライアント端末２ａは、所定のオリジナル動画に対するカメラワークデータを、上記ＵＲＬが示す送信先に向けてアップロードする。そして、配信サーバ１は、クライアント端末２ａから所定時間間隔で受信されたコンテンツＩＤとカメラワークデータとを対応付けて、クライアント端末２ａに割り当てられたＵＲＬが示す取得場所に記憶する。
【００２２】
ここで、カメラワークデータは、オリジナル動画の上記画像フレームにおける仮想カメラの位置、仮想カメラの向き（アングル）、及び仮想カメラの画角のうち少なくとも何れかを表す仮想カメラデータと、動画データの再生時間とを対応付けて含む。仮想カメラとは、二次元平面または三次元仮想空間における仮想スクリーンに投影されるオリジナル動画に対して仮想的に設定された視点をいう。仮想スクリーンには、平面スクリーン、円筒形のスクリーン、及び球形のスクリーンがある。例えば、動画を撮影したカメラのレンズが魚眼レンズや３６０度レンズである場合、仮想スクリーンは球形のスクリーンとなる。カメラワークデータによれば、二次元平面または三次元仮想空間における仮想スクリーンに投影されるオリジナル動画の全部または一部を仮想的に撮影する仮想カメラの動きを規定することができる。そして、カメラワークデータによりオリジナル動画における特定の画素領域が特定される。この画素領域は、１画像フレームのうちクライアント端末２の表示画面に描画される描画領域に相当する。言い換えれば、画素領域は、画像フレームから切り出される表示範囲である。また、仮想カメラの動きは、疑似的なカメラワーク（以下、「疑似カメラワーク」という）により制御される。疑似カメラワークの操作には、例えば、仮想カメラのパン（左右振り）の操作、仮想カメラのチルト（上下振り）の操作、及び仮想カメラのズームの操作がある。仮想カメラのパン及びチルトの操作により、仮想カメラの向きが決まる。また、仮想カメラのズームの操作により、仮想カメラの画角が決まる。なお、仮想スクリーンが平面スクリーンの場合、オリジナル動画の画像フレームにおける仮想カメラの位置は、（Ｘ，Ｙ）座標で規定される。本実施形態のカメラワークデータは、仮想カメラデータとして、pan（パン）、tilt（チルト）、及びzoom（ズーム）のパラメータを含む。本実施形態のカメラワークデータによれば、疑似カメラワークを再現することができる。また、本実施形態では、カメラワークデータは、動画データの再生開始からの再生終了までの再生時間において所定時間ごとに複数生成される。
【００２３】
次に、配信サーバ１は、例えばクライアント端末２ｄからのＵＲＬ要求に応じて、例えばクライアント端末２ａに割り当てられたＵＲＬをクライアント端末２ｄへ送信する。このとき、配信サーバ１は、複数のクライアント端末２それぞれに割り当てられた複数のＵＲＬを含むリストをクライアント端末２ｄへ送信してもよい。このリストは、カメラワークデータが記憶された取得場所を示す１または複数のＵＲＬを含む。このカメラワークデータには、例えば、クライアント端末２ｄにより再生中のコンテンツのコンテンツＩＤが対応付けられている。そして、配信サーバ１は、クライアント端末２ｄへ送信されたＵＲＬの指定をクライアント端末２ｄから受け付ける。この指定は、例えば、クライアント端末２ｄのユーザにより行われる。なお、複数のＵＲＬを含むリストがクライアント端末２ｄへ送信されている場合がある。この場合、配信サーバ１は、上記リストが含む複数のＵＲＬの中から、例えば１つのＵＲＬの指定をクライアント端末２ｄから受け付ける。そして、配信サーバ１は、ＵＲＬの指定が受け付けられたことに応じて、指定されたＵＲＬが示す取得場所に所定時間間隔で記憶されたカメラワークデータを、クライアント端末２ｄへ順次送信する。これにより、クライアント端末２ｄは、例えば、ストリーミングでコンテンツを受信しながら、受信したカメラワークデータによりオリジナル動画から再生時間ごとに特定された特定の画素領域に対応する動画を表示する。つまり、クライアント端末２ｄは、受信されたカメラワークデータとを用いて、動画データの再生時間に従って、例えばpan、tilt、及びzoomにより特定された特定の画素領域を表示画面に表示する。そして、クライアント端末２ｄは、クライアント端末２ｄに割り当てられたＵＲＬへ接続し、再生中の動画に対応するコンテンツＩＤ、及びこの動画に対するカメラワークデータを配信サーバ１へ所定時間間隔で順次送信する。そして、配信サーバ１は、クライアント端末２ｄから所定時間間隔で受信されたコンテンツＩＤとカメラワークデータとを対応付けて、クライアント端末２ｄに割り当てられたＵＲＬが示す取得場所に記憶する。
【００２４】
また、配信サーバ１は、上記リストが含む複数のＵＲＬの中から、複数のＵＲＬの指定をクライアント端末２ｄから受け付ける場合がある。この場合、配信サーバ１は、指定されたそれぞれのＵＲＬが示す取得場所に記憶された、それぞれのカメラワークデータを、クライアント端末２ｄへ順次送信する。この場合、クライアント端末２ｄは、受信したコンテンツに含まれる動画と複数のカメラワークデータのそれぞれを用いて、この動画の再生時間について、カメラワークデータそれぞれによりオリジナル動画から再生時間ごとに特定された複数の特定の画素領域それぞれに対応する動画を表示させる。このとき、クライアント端末２ｄのユーザは、動画の編集操作を行うことができる。クライアント端末２ｄは、ユーザによる動画の編集操作に従って、カメラワークデータそれぞれにより特定された複数の特定の画素領域に対応する動画を合成して表示する。
【００２５】
ここで、動画を合成して表示する例として、例えば、並列表示、重ね合わせ表示、嵌め込み表示、切り替え表示などある。並列表示とは、複数の特定の画素領域を並列させて表示することをいう。また、重ね合わせ表示とは、一方の特定の画素領域を他方の画素領域上に重ね合わせて表示することをいう。嵌め込み表示とは、一方の特定の画素領域を他方の画素領域内に嵌め込んで表示することをいう。重ね合わせ表示または嵌め込み表示は、PinP（ピクチャーインピクチャー）とも呼ばれる。切り替え表示とは、一方の特定の画素領域と他方の画素領域を切り替えながら表示することをいう。また、動画の加工を伴う合成もある。動画の加工には、特定の画素領域のサイズ変更、変形、回転、アルファブレンドなどがある。アルファブレンドを伴う合成は、アルファブレンド合成と呼ばれる。動画の加工を伴う合成の例として、クロスフェード（ディゾルブ）やワイプなどがある。
【００２６】
そして、クライアント端末２ｄは、再生中の動画に対応するコンテンツＩＤ、及びこの動画に対する合成カメラワークデータを配信サーバ１へ所定時間間隔で順次送信する。この合成カメラワークデータは、映像加工情報ともいう。合成カメラワークデータは、カメラワークデータの一種である。そして、配信サーバ１は、クライアント端末２ｄから所定時間間隔で受信されたコンテンツＩＤと合成カメラワークデータとを対応付けて、クライアント端末２ｄに割り当てられたＵＲＬが示す取得場所に記憶する。ここで、合成カメラワークデータは、複数の特定の画素領域の表示画面における位置関係と、pan、tilt、及びzoomと、動画データの再生時間とを対応付けて含む。ここで、複数の特定の画素領域は、複数のカメラワークデータが含む複数のpan、tilt、及びzoomそれぞれにより特定される。動画データの再生時間は、複数の特定の画素領域が表示画面に表示された再生時間である。なお、合成カメラワークデータは、上記位置関係と、透過度と、pan、tilt、及びzoomと、動画データの再生時間とを対応付けて含む場合もある。ここで、透過度は、複数の特定の画素領域のうち少なくとも１つの画素領域に設定されるパラメータである。合成カメラワークデータによれば、オリジナル動画を構成する画像フレームから特定される複数の特定の画素領域を合成した動画を表示させることができる。
【００２７】
［２．各装置の構成］
次に、図１を参照して、本実施形態の通信システムＳに含まれる各装置の構成について説明する。配信サーバ１は、図１に示すように、制御部１１、記憶部１２、及びインターフェース部１３等を備えて構成される。これらの構成要素は、バス１４に接続されている。インターフェース部１３は、ネットワークＮＷに接続される。制御部１１は、コンピュータとしてのＣＰＵ、ＲＯＭ、及びＲＡＭ等により構成される。記憶部１２は、例えば、例えばハードディスクドライブにより構成される。記憶部１２には、ＯＳ、及びサーバプログラム等が記憶されている。サーバプログラムは、制御部１１のＣＰＵに、コンテンツの送受信処理及びカメラワークデータの送受信処理を実行させるプログラムである。記憶部１２には、撮影装置から受信されたコンテンツが記憶される。また、記憶部１２には、コンテンツの視聴ユーザリストが記憶される。コンテンツの視聴ユーザリストは、コンテンツを受信しているクライアント端末２ａ〜２ｈのユーザの情報を登録するリストである。コンテンツの視聴ユーザリストには、コンテンツＩＤ、ユーザ名、パスワード、セッションＩＤ、カメラワークデータの取得場所を示すＵＲＬ、ユーザのコメント、フォロワー数等の情報が対応付けられてユーザごとに登録される。ユーザ名及びパスワードは、ユーザがシステムにログインする際に使用される。セッションＩＤは、配信サーバ１とクライアント端末２との通信セッションを識別するＩＤである。カメラワークデータの取得場所を示すＵＲＬは、クライアント端末２ごとに割り当てられたＵＲＬである。ユーザのコメントには、例えば、このユーザがクライアント端末２から提供するカメラワークデータの紹介文が含まれる。フォロワー数は、ユーザをフォローしている他のユーザの数を示す。
【００２８】
次に、クライアント端末２ａ〜２ｈは、図１に示すように、制御部２１、記憶部２２、ビデオＲＡＭ２３、映像制御部２４、操作処理部２５、音声制御部２６、及びインターフェース部２７等を備えて構成される。これらの構成要素は、バス２８に接続されている。映像制御部２４には、ディスプレイを備える表示部２４ａが接続される。表示部２４ａは、本発明の受信手段、取得手段、第１表示制御手段、第２表示制御手段、及び送信手段の一例である。操作処理部２５には、操作部２５ａが接続される。操作部２５ａには、例えば、マウス、キーボード、リモコン等がある。表示部２４ａと操作部２５ａとを兼ねるタッチパネルが適用されてもよい。制御部２１は、ユーザによる操作部２５ａからの操作指示を、操作処理部２５を介して受け付ける。ユーザは、操作部２５ａを用いて、上述した疑似カメラワークの操作、及び動画の編集操作を行うことができる。音声制御部２６には、スピーカ２６ａが接続される。インターフェース部２７は、ネットワークＮＷに接続される。制御部２１は、コンピュータとしてのＣＰＵ、ＲＯＭ、及びＲＡＭ等により構成される。記憶部２２は、例えば、ハードディスクドライブ（ＨＤＤ）により構成される。記憶部２２には、ＯＳ、及びプレイヤーソフトウェア等が記憶されている。プレイヤーソフトウェアは、コンテンツの受信及び再生処理、及びカメラワークデータの送受信処理を実行させるプログラムである。
【００２９】
制御部２１は、プレイヤーソフトウェアを実行することで、受信されたコンテンツと、受信されたカメラワークデータ等を用いて、コンテンツを再生するプレイヤーとして機能する。また、プレイヤーの機能により、表示部２４ａにおけるディスプレイには、表示画面が表示される。表示画面は、ウインドウともいう。表示画面には、メイン画面とサブ画面とがある。メイン画面には、ユーザによる疑似カメラワークの操作、またはカメラワークデータに従って、動画が表示される。この動画は、オリジナル動画から再生時間ごとに特定された特定の画素領域に対応する動画である。サブ画面には、カメラワークデータに従って、メイン画面に表示される候補となる動画が表示される。サブ画面は、メイン画面上に重畳されて表示されてもよい。なお、カメラワークデータによりオリジナル動画から再生時間ごとに特定された特定の画素領域に対応する動画を、カメラワークデータの適用動画という。また、制御部２１におけるＲＡＭにはバッファメモリが設けられている。バッファメモリには、受信されたコンテンツに含まれる動画データ等が一時的に保持される。制御部２１は、バッファメモリからビデオＲＡＭ２３へ動画データを出力する。ビデオＲＡＭ２３には、描画データを書き込まれるフレームバッファが設けられている。映像制御部２４は、制御部２１からの制御信号に従って、フレームバッファに書き込まれた描画データを表示画面に描画することで表示させる。また、バッファメモリに保持されたコンテンツに音声データが含まれる場合がある。この場合、制御部２１は、バッファメモリから音声データを再生して音声制御部２６へ出力する。音声制御部２６は、音声データからアナログ音声信号を生成し、生成したアナログ音声信号をスピーカ２６ａへ出力する。
【００３０】
［３．通信システムＳの動作］
次に、本実施形態の通信システムＳの動作について説明する。先ず、図２を参照して、通信システムＳにおけるクライアント端末２ａ〜２ｈの動作について説明する。図２は、通信システムＳにおけるクライアント端末２ａ〜２ｈの動作の一例を示す概念図である。
【００３１】
図２において、クライアント端末２ｄは、クライアント端末２ａから送信されたカメラワークデータＡと、クライアント端末２ｂから送信されたカメラワークデータＢとを、クライアント端末２ａ及び２ｂそれぞれに割り当てられたＵＲＬが示す取得場所を介して取得している。これにより、クライアント端末２ｄは、受信されたオリジナル動画、カメラワークデータＡ、及びカメラワークデータＢを用いて、カメラワークデータＡの適用動画と、カメラワークデータＢの適用動画とをサブ画面に表示する。そして、クライアント端末２ｄは、カメラワークデータＡとカメラワークデータＢの中から選択されたカメラワークデータＢの適用動画をメイン画面に表示する。また、図２において、クライアント端末２ｆは、クライアント端末ｄから送信されたカメラワークデータＢと、クライアント端末２ｃから送信されたカメラワークデータＣとを、クライアント端末２ｄ及び２ｃそれぞれに割り当てられたＵＲＬが示す取得場所を介して取得している。クライアント端末２ｆは、受信されたオリジナル動画、カメラワークデータＢ、及びカメラワークデータＣを用いて、カメラワークデータＢの適用動画と、カメラワークデータＣの適用動画とをサブ画面に表示する。そして、クライアント端末２ｆは、ユーザによる動画の編集操作に従って、カメラワークデータＢとカメラワークデータＣそれぞれによりオリジナル動画から再生時間ごとに特定された複数の特定の画素領域に対応する動画を合成してメイン画面に表示する。つまり、クライアント端末２ｆは、受信された動画データと、受信された複数のカメラワークデータとを用いて、動画データの再生時間に従って、複数の特定の画素領域に対応する動画をメイン画面に表示する。ここで、複数の特定の画素領域は、オリジナル動画における複数の画素の中から、複数のカメラワークデータが含む複数のpan、tilt、及びzoomそれぞれにより特定される。そして、クライアント端末２ｆは、複数のカメラワークデータＢ，Ｃを用いて所定のオリジナル動画から再生時間ごとに特定された複数の特定の画素領域を異なる視点で表示させる合成カメラワークデータを、上述したＵＲＬが示す取得場所へアップロードする。また、図２において、クライアント端末２ｇは、クライアント端末ｆから送信された合成カメラワークデータを、クライアント端末２ｇに割り当てられたＵＲＬが示す取得場所を介して取得している。クライアント端末２ｇは、受信されたオリジナル動画、及び合成カメラワークデータを用いて、合成カメラワークデータの適用動画をメイン画面に表示する。これにより、クライアント端末２ｇは、他のクライアント端末２によりアップロードされた合成カメラワークデータを用いて、所定のオリジナル動画から再生時間ごとに特定された複数の特定の画素領域を異なる視点で表示することができる。
【００３２】
ここで、図３及び図４を参照して、合成カメラワークデータについて説明する。図３は、クライアント端末２ｄにより生成された合成カメラワークデータの一例を示す概念図である。図３（Ａ）〜（Ｃ）において、カメラワークデータＡは、pan（パン）:-0.1、tilt（チルト）:-0.1、及びzoom（ズーム）:1のパラメータを含む。また、カメラワークデータＢは、pan（パン）:0.4、tilt（チルト）:-0.3、及びzoom（ズーム）:3のパラメータを含む。なお、pan、tilt、及びzoomは、オリジナル動画を構成する画像フレームにおける特定の画素領域を特定するパラメータである。また、オリジナル動画“０”は、コンテンツＩＤ“０”のオリジナル動画を示す。また、図３（Ａ）に示すviewport（ビューポート）:[x,y,w,h] は、メイン画面を分割し、複数の特定の画素領域を並列させて表示させる命令を含む。viewportは、複数の特定の画素領域のメイン画面における位置関係を示すパラメータでもある。viewport は、例えば、ユーザによる動画の編集操作により指定される。ここで、“x”は、メイン画面の横方向のx座標を示す。“y”は、メイン画面の縦方向のy座標を示す。“w”は、メイン画面を分割した後の分割領域の幅（画面幅）を示す。“h”は、メイン画面を分割した後の分割領域の高さ（画面高さ）を示す。ただし、メイン画面の左上座標(0,0)とし、メイン画面のサイズ(1,1)とする割合で表記している。図３（Ａ）の例では、クライアント端末２ｄは、カメラワークデータＡとカメラワークデータＢによりオリジナル動画“０”から特定されたそれぞれの特定の画素領域を、動画の編集操作により指定されたviewportに従って、メイン画面を左右に分割したそれぞれの分割領域に表示させる。これにより、カメラワークデータＡの適用動画とカメラワークデータＢの適用動画とが合成された動画が、最終出力動画としてメイン画面に表示される。このとき図３（Ａ）に示すような合成カメラワークデータが生成される。図３（Ａ）に示す合成カメラワークデータにおいて、“p”は、オリジナル動画の再生開始からの再生位置に対応する再生時間を示す。つまり、図３（Ａ）に示す合成カメラワークデータは、再生位置p=20000の合成カメラワークデータである。
【００３３】
一方、図３（Ｂ）に示すalphablend（アルファブレンド）は、オリジナル動画から特定された特定の画素領域に所定の透過度を設定するパラメータである。このalphablendは、例えば、ユーザによる動画の編集操作により指定される。なお、alphablend:0.5は、５０％の透過度を設定することを意味する。図３（Ｂ）の例では、クライアント端末２ｄは、動画の編集操作により指定されたalphablendに従って、カメラワークデータＢにより特定された画素領域に５０％の透過度を設定した後に、上述したように特定されたそれぞれの特定の画素領域をメイン画面に重ね合わせて表示させる。これにより、カメラワークデータＡの適用動画とカメラワークデータＢの適用動画とが合成された動画が、最終出力動画としてメイン画面に表示される。つまり、この場合、カメラワークデータＢにより特定された画素領域は、alphablend:0.5によって半透明化されているため、合成結果はアルファブレンド合成となる。制御部２１が、再生位置に応じてalphablendの値を少しずつ変えていくと、クロスフェード効果が得られる。このとき図３（Ｂ）に示すような合成カメラワークデータが生成される。なお、図３（Ｂ）に示すように、viewportが記述されない合成カメラワークデータは、複数の特定の画素領域のメイン画面における位置（位置関係）は同一であることを示す。
【００３４】
一方、図３（Ｃ）に示すcrop（クロップ）:[x,y,w,h] は、オリジナル動画から特定された一方の画素領域上の所定位置[x,y,w,h]を、他方の画素領域上の所定位置[x,y,w,h]に嵌め込む命令である。言い換えれば、cropは、オリジナル動画から特定された一方の画素領域上の一部を切り取って、他方の画素領域上に重ね合わせる命令である。cropは、複数の特定の画素領域のメイン画面における位置関係を示すパラメータでもある。cropは、例えば、ユーザによる動画の編集操作により指定される。図３（Ｃ）の例では、クライアント端末２ｄは、動画の編集操作により指定されたcropに従って、上述したように特定された一方の特定の画素領域を、他方の画素領域内に嵌め込んでメイン画面に表示させる。これにより、カメラワークデータＡの適用動画とカメラワークデータＢの適用動画とが合成された動画が、最終出力動画としてメイン画面に表示される。このとき図３（Ｃ）に示すような合成カメラワークデータが生成される。制御部２１が、再生位置に応じて、所定位置[x,y,w,h]を少しずつ変えていくと、一方の画素領域と他方の画素領域との境界線が少しずつ変わる。これにより、ワイプトランジションの効果が得られる。
【００３５】
図４は、複数のクライアント端末２で動画の合成が行われた場合の合成カメラワークデータの一例を示す概念図である。図４において、例えば、合成Ｘはクライアント端末２ｄにより行われ、合成Ｙはクライアント端末２ｆにより行われ、合成Ｚはクライアント端末２ｇにより行われるとする。この場合、クライアント端末２ｄは、アップロードされたカメラワークデータＡ及びカメラワークデータＢを、それぞれの取得場所から取得する。クライアント端末２ｄは、取得したカメラワークデータＡとカメラワークデータＢとを用いて、カメラワークデータＡの適用動画と、カメラワークデータＢの適用動画とを合成Ｘする。このとき、クライアント端末２ｄは、合成カメラワークデータαを生成する。合成カメラワークデータαは、カメラワークデータＡに含まれるpan、tilt、及びzoomと、カメラワークデータＢに含まれるpan、tilt、及びzoomとを含む。そして、クライアント端末２ｄは、生成した合成カメラワークデータαを、上述したＵＲＬが示す取得場所へアップロードする。
【００３６】
一方、クライアント端末２ｆは、アップロードされたカメラワークデータＣ及びカメラワークデータＤを、それぞれの取得場所から取得する。クライアント端末２ｆは、取得したカメラワークデータＣとカメラワークデータＤとを用いて、カメラワークデータＣの適用動画と、カメラワークデータＤの適用動画とを合成Ｙする。このとき、クライアント端末２ｆは、合成カメラワークデータβを生成する。合成カメラワークデータβは、カメラワークデータＣに含まれるpan、tilt、及びzoomと、カメラワークデータＤに含まれるpan、tilt、及びzoomとを含む。そして、クライアント端末２ｆは、生成した合成カメラワークデータβを、上述したＵＲＬが示す取得場所へアップロードする。
【００３７】
一方、クライアント端末２ｇは、アップロードされた合成カメラワークデータα及び合成カメラワークデータβを、それぞれの取得場所から取得する。クライアント端末２ｇは、取得した合成カメラワークデータαと合成カメラワークデータβとを用いて、合成カメラワークデータαの適用動画と、合成カメラワークデータβの適用動画とを合成Ｚする。このとき、クライアント端末２ｇは、合成カメラワークデータγを生成する。合成カメラワークデータγは、合成カメラワークデータαに含まれるpan、tilt、及びzoomと、合成カメラワークデータβに含まれるpan、tilt、及びzoomとを含む。クライアント端末２ｇにより生成される合成カメラワークデータγは、図４（Ａ）に示すように記述される。つまり、図４（Ａ）に示す合成カメラワークデータγは、カメラワークデータＡ〜Ｄのそれぞれに含まれるpan、tilt、及びzoomを含む。
【００３８】
ただし、動画の合成の繰り返しが長くなりすぎると、元々のカメラワークデータが生成されてからの遅延が大きくなってしまう。つまり、例えば、クライアント端末２ｄが、他のクライアント端末２でカメラワークデータＡ，Ｂが生成されてから取得するまでには少なからず遅延が発生する。クライアント端末２ｄが、取得したカメラワークデータＡ，Ｂを保存したとすると、さらに遅延が蓄積されることになる。これが階層的に行われると、上記遅延が無視できないほど大きくなってしまうおそれがある。そこで、例えば、クライアント端末２ｇは、合成カメラワークデータγにおいて、カメラワークデータＡ〜Ｄそれぞれに含まれるpan、tilt、及びzoomのパラメータ部分を、図４（Ｂ）に示すように、カメラワークデータＡ〜Ｄそれぞれの取得場所を示すＵＲＬに置き換えるとよい。これにより、クライアント端末２ｇは、カメラワークデータＡ〜Ｄを、それぞれの取得場所から直接取得する。そして、クライアント端末２ｇは、取得したカメラワークデータＡ〜Ｄに含まれるpan、tilt、及びzoomと、合成カメラワークデータγとを用いて合成した動画を表示する。そのため、クライアント端末２ｇが、クライアント端末２ｄとクライアント端末２ｆのそれぞれによりアップロードされた合成カメラワークデータα，βを取得して図４（Ａ）に示す合成カメラワークデータγを生成するよりも、遅延を短縮することができる。
【００３９】
次に、図５を参照して、クライアント端末２の制御部２１の処理について説明する。図５は、クライアント端末２の制御部２１またはＣＰＵにより実行される処理の一例を示すフローチャートである。なお、図５に示す処理は、クライアント端末２ａ〜２ｈで共通である。以下の説明では、クライアント端末２ａを例にとって説明する。
【００４０】
図５に示す処理は、クライアント端末２ａにおいてプレイヤーの起動後に、例えば、クライアント端末２ａのユーザが所望のコンテンツを選択することにより開始される。制御部２１は、例えば、配信サーバ１へアクセスし、上記選択されたコンテンツに含まれる所定のオリジナル動画の再生開始を示すメッセージを配信サーバ１へ送信する（ステップＳ１）。なお、クライアント端末２ａは、配信サーバ１にアクセスした後、ログイン要求メッセージを配信サーバ１へ送信することによりログインしているものとする。また、再生開始を示すメッセージには、例えばユーザのユーザ名、及び、ユーザにより選択されたコンテンツのコンテンツＩＤが含まれる。次いで、制御部２１は、再生開始を示すメッセージに応じて、配信サーバ１から返信されたＵＲＬ及びセッションＩＤを取得する（ステップＳ２）。このＵＲＬは、カメラワークデータの送信先として、配信サーバ１によりクライアント端末２ａに割り当てられたＵＲＬである。また、セッションＩＤは、配信サーバ１とクライアント端末２ａとの通信セッションを識別するＩＤである。
【００４１】
次いで、制御部２１は、コンテンツの受信及び再生処理を開始する（ステップＳ３）。コンテンツの受信及び再生処理では、制御部２１は、配信サーバ１から例えばストリーミングで配信されたコンテンツを受信して再生する。次いで、制御部２１は、ステップＳ２で取得したＵＲＬに接続する（ステップＳ４）。
【００４２】
次いで、制御部２１は、コンテンツの終了指示があったか、またはコンテンツの再生終了になったかを判定する（ステップＳ５）。ユーザによりコンテンツの終了指示があった、またはコンテンツの再生終了になったと判定された場合（ステップＳ５：ＹＥＳ）、図５に示す処理が終了する。一方、コンテンツの終了指示があったと判定されず、且つ、コンテンツの再生終了になっていないと判定された場合（ステップＳ５：ＮＯ）、制御部２１は、ステップＳ６へ進む。
【００４３】
ステップＳ６では、制御部２１は、他のクライアント端末２により送信されたカメラワークデータの取得場所を示すＵＲＬの取得指示があったか否かを判定する。ユーザによりＵＲＬの取得指示があったと判定された場合（ステップＳ６：ＹＥＳ）、制御部２１は、ステップＳ７へ進む。一方、ＵＲＬの取得指示がないと判定された場合（ステップＳ６：ＮＯ）、制御部２１は、ステップＳ１０へ進む。
【００４４】
ステップＳ７では、制御部２１は、ＵＲＬ要求を示すメッセージを配信サーバ１へ送信する。ＵＲＬ要求を示すメッセージには、現在再生中のコンテンツのコンテンツＩＤ、及びセッションＩＤが含まれる。なお、ＵＲＬ要求を示すメッセージには、ユーザがカメラワークデータを絞り込むためのキーワード等の絞り込み条件が含まれてもよい。次いで、制御部２１は、ＵＲＬ要求を示すメッセージに応じて、配信サーバ１から配信されたＵＲＬリストを取得する（ステップＳ８）。ＵＲＬリストには、例えば、カメラワークデータの取得場所を示すＵＲＬ、他のユーザのユーザ名、他のユーザのコメント、及びフォロワー数等の情報が含まれる。ここで、他のユーザは、カメラワークデータまたは合成カメラワークデータを送信した他のクライアント端末２のユーザである。
【００４５】
次いで、制御部２１は、取得したＵＲＬリストに含まれる情報をカメラワーク一覧として例えば動画に重畳させてメイン画面に表示し（ステップＳ９）、ステップＳ１０へ進む。カメラワーク一覧には、カメラワークデータまたは合成カメラワークデータの適用動画が表示されてもよい。これにより、ユーザに対してカメラワークデータによる仮想カメラのアングル等を把握させることができる。なお、ＵＲＬリストに含まれるＵＲＬは、ユーザ名等にハイパーリンクとして設定されてもよい。
【００４６】
ステップＳ１０では、制御部２１は、カメラワーク一覧から１または複数のＵＲＬが指定されているか否かを判定する。カメラワーク一覧からＵＲＬが指定されていないと判定された場合（ステップＳ１０：ＮＯ）、制御部２１は、ステップＳ１１へ進む。一方、ユーザによりカメラワーク一覧から１または複数のＵＲＬが指定されていると判定された場合（ステップＳ１０：ＹＥＳ）、制御部２１は、ステップＳ１２へ進む。
【００４７】
ステップＳ１１では、制御部２１は、ユーザによる疑似カメラワークの操作に従って、オリジナル動画から再生時間ごとに特定された特定の画素領域に対応する動画をメイン画面に表示する。このとき、制御部２１は、pan、tilt、及びzoomと、動画データの再生時間とを対応付けて含むカメラワークデータを生成する。
【００４８】
ステップＳ１２では、制御部２１は、ユーザにより指定されたＵＲＬが示す取得場所からカメラワークデータを取得する。例えば、制御部２１は、ＵＲＬ指定を示すメッセージを例えば配信サーバ１へ送信する。このメッセージには、ユーザにより指定されたＵＲＬ及び再生中のコンテンツのコンテンツＩＤが含まれる。
【００４９】
次いで、制御部２１は、取得したカメラワークデータに従って、オリジナル動画から再生時間ごとに特定した特定の画素領域に対応する動画をメイン画面に表示する（ステップＳ１３）。なお、複数のＵＲＬが示す取得場所それぞれからカメラワークデータが取得される場合がある。この場合、制御部２１は、それぞれのカメラワークデータの適用動画をサブ画面に表示する。そして、制御部２１は、複数のカメラワークデータの中から選択したカメラワークデータの適用動画をメイン画面に表示する。例えば、例えばユーザにより選択指示されたカメラワークデータ、または最初に取得されたカメラワークデータが選択される。
【００５０】
次いで、制御部２１は、動画の編集操作があったか否かを判定する（ステップＳ１４）。ユーザにより動画の編集操作があったと判定された場合（ステップＳ１４：ＹＥＳ）、制御部２１は、ステップＳ１５へ進む。一方、動画の編集操作がないと判定された場合（ステップＳ１４：ＮＯ）、制御部２１は、ステップＳ１６へ進む。
【００５１】
ステップＳ１５では、制御部２１は、ユーザによる動画の編集操作に従って、上述したように、オリジナル動画から特定した複数の特定の画素領域に対応する動画を合成してメイン画面に表示させる。ここで、複数の特定の画素領域は、再生時間ごとの複数のカメラワークデータそれぞれにより特定される。このとき、制御部２１は、合成カメラワークデータを生成する。この合成カメラワークデータは、複数の特定の画素領域の表示画面における位置関係と、pan、tilt、及びzoomと、動画データの再生時間とを対応付けて含む。なお、合成カメラワークデータの生成に用いられる複数のカメラワークデータの一つには、クライアント端末２ａにおいて、上記ステップＳ１１で生成されたカメラワークデータが含まれる場合もある。
【００５２】
ステップＳ１６では、制御部２１は、カメラワークデータまたは合成カメラワークデータと、再生中のコンテンツのコンテンツＩＤとを、ステップＳ４で接続したＵＲＬが示す送信先に向けて送信し、ステップＳ５へ戻る。つまり、カメラワークデータまたは合成カメラワークデータが、上記ＵＲＬが示す送信先に向けてアップロードされる。ここで、アップロード対象となるカメラワークデータは、上記ステップＳ１１で生成されたカメラワークデータと、上記ステップＳ１２で取得されたカメラワークデータと、上記ステップＳ１５で生成された合成カメラワークデータとの中の何れかである。特に、合成カメラワークデータのアップロードにより、複数の特定の画素領域を異なる視点で表示させる合成カメラワークデータを、複数のクライアント端末２のユーザ間で共有させることができる。
【００５３】
次に、図６を参照して、配信サーバ１の制御部１１の処理について説明する。図６は、配信サーバ１の制御部１１またはＣＰＵにより実行される処理の一例を示すフローチャートである。なお、図６に示す処理は、カメラワークデータの取得場所が配信サーバ１内、または配信サーバ１が制御する情報処理装置内にある場合の処理である。
【００５４】
図６において、配信サーバ１の制御部１１は、再生開始を示すメッセージを受信したか否かを判定する（ステップＳ２１）。例えばクライアント端末２ａから送信された再生開始を示すメッセージを受信したと判定された場合（ステップＳ２１：ＹＥＳ）、制御部１１は、ステップＳ２２へ進む。一方、再生開始を示すメッセージを受信していないと判定された場合（ステップＳ２１：ＮＯ）、制御部１１は、ステップＳ２６へ進む。
【００５５】
ステップＳ２２では、制御部１１は、クライアント端末２ａに固有のセッションＩＤを生成する。次いで、制御部１１は、生成したセッションＩＤと結び付けて、カメラワークデータの取得場所を示すＵＲＬを生成する（ステップＳ２３）。こうして、カメラワークデータの取得場所を示すＵＲＬが例えばクライアント端末２ａに割り当てられる。なお、このＵＲＬには、例えば、生成されたセッションＩＤが識別子として含まれる。次いで、制御部１１は、生成したセッションＩＤと、生成したＵＲＬと、再生開始を示すメッセージに含まれるユーザ名及びコンテンツＩＤとを対応付けてコンテンツの視聴ユーザリストに登録する（ステップＳ２４）。次いで、制御部１１は、生成したセッションＩＤと生成したＵＲＬとを、例えばクライアント端末２ａへ返信する（ステップＳ２５）。これにより、返信されたＵＲＬ及びセッションＩＤは、例えば、上述したステップＳ２でクライアント端末２ａにより取得される。
【００５６】
ステップＳ２６では、制御部１１は、ＵＲＬ要求を示すメッセージを受信したか否かを判定する。例えばクライアント端末２ａから送信されたＵＲＬ要求を示すメッセージを受信したと判定された場合（ステップＳ２６：ＹＥＳ）、制御部１１は、ステップＳ２７へ進む。一方、ＵＲＬ要求を示すメッセージを受信していないと判定された場合（ステップＳ２６：ＮＯ）、制御部１１は、ステップＳ２９へ進む。
【００５７】
ステップＳ２７では、制御部１１は、受信したＵＲＬ要求を示すメッセージに含まれるコンテンツＩＤに対応付けられたＵＲＬ、ユーザ名、コメント、及びフォロワー数等の情報をコンテンツの視聴ユーザリストから取得する。このとき、ＵＲＬ要求を示すメッセージに含まれるセッションＩＤに対応付けられたＵＲＬ等の情報は取得対象外となる。つまり、クライアント端末２ａが再生中のコンテンツと同じコンテンツを再生している他のクライアント端末２により生成されたカメラワークデータの取得場所を示すＵＲＬが取得される。なお、ＵＲＬ要求を示すメッセージには、絞り込み条件が含まれている場合がある。この場合、制御部１１は、例えば、絞り込み条件が示すキーワードが含まれるユーザのコメントを特定する。そして、制御部１１は、ＵＲＬ要求を示すメッセージに含まれるコンテンツＩＤに対応付けられ、且つ、特定したコメントに対応付けられたＵＲＬ、ユーザ名、コメント、及びフォロワー数等の情報をコンテンツの視聴ユーザリストから取得する。
【００５８】
次いで、制御部１１は、取得したＵＲＬ等の情報を含むＵＲＬリストを、例えばクライアント端末２ａへ返信する（ステップＳ２８）。このＵＲＬリストは、例えば、上述したステップＳ８でクライアント端末２ａにより取得される。なお、ＵＲＬリストは、クライアント端末２ａから再生開始メッセージを受信した後に、クライアント端末２ａへ返信される。これにより、例えば配信サーバ１は、クライアント端末２ａによる所定のオリジナル動画の再生開始に応じてクライアント端末２ａから順次送信されるカメラワークデータを、上記ＵＲＬが示す取得場所から他のクライアント端末２へ迅速に順次送信することができる。なお、上述したステップＳ９で表示されるカメラワーク一覧に、カメラワークデータまたは合成カメラワークデータの適用動画を表示させる場合がある。この場合、上記ステップＳ２７において、制御部１１は、ＵＲＬ要求を示すメッセージに含まれるコンテンツＩＤに対応付けられたＵＲＬが示す取得場所からカメラワークデータまたは合成カメラワークデータを取得する。そして、上記ステップＳ２８において、制御部１１は、取得したカメラワークデータまたは合成カメラワークデータの全部又は一部を、上記ＵＲＬリストに含めてクライアント端末２ａへ返信する。
【００５９】
ステップＳ２９では、制御部１１は、ＵＲＬ指定を示すメッセージを受信したか否かを判定する。例えばクライアント端末２ａから送信されたＵＲＬ指定を示すメッセージを受信したと判定された場合（ステップＳ２９：ＹＥＳ）、制御部１１は、ステップＳ３０へ進む。一方、ＵＲＬ指定を示すメッセージを受信していないと判定された場合（ステップＳ２９：ＮＯ）、制御部１１は、ステップＳ３２へ進む。
【００６０】
ステップＳ３０では、制御部１１は、受信したＵＲＬ指定を示すメッセージに含まれるＵＲＬが示す取得場所から、ＵＲＬ指定を示すメッセージに含まれるコンテンツＩＤに対応付けられたカメラワークデータを取得する。次いで、制御部１１は、取得したカメラワークデータを、例えばクライアント端末２ａへ返信する（ステップＳ３１）。これにより、例えば、配信サーバ１は、ＵＲＬの指定を受け付けたことに応じて、カメラワークデータをクライアント端末２ａへ迅速に順次送信することができる。このカメラワークデータは、ＵＲＬのリストから指定されたＵＲＬが示す取得場所に記憶されたデータである。
【００６１】
ステップＳ３２では、制御部１１は、カメラワークデータまたは合成カメラワークデータを受信したか否かを判定する。例えばクライアント端末２ａから送信されたカメラワークデータまたは合成カメラワークデータを受信したと判定された場合（ステップＳ３２：ＹＥＳ）、制御部１１は、ステップＳ３３へ進む。一方、カメラワークデータと合成カメラワークデータのいずれも受信していないと判定された場合（ステップＳ３２：ＮＯ）、ステップＳ２１へ戻る。なお、図６に示す処理は、例えば、電源オフにより終了する。
【００６２】
ステップＳ３３では、制御部１１は、受信したカメラワークデータまたは合成カメラワークデータと、受信したコンテンツＩＤとを対応付けて、クライアント端末２ａが接続しているＵＲＬが示す取得場所に記憶する。
【００６３】
以上説明したように、本実施形態によれば、例えばクライアント端末２ａは、複数のカメラワークデータを用いて所定のオリジナル動画から再生時間ごとに特定された複数の特定の画素領域を異なる視点で表示させる合成カメラワークデータを他のクライアント端末から取得可能にアップロードすることができる。そのため、例えばライブ配信される動画であっても、合成カメラワークデータを複数のクライアント端末２のユーザ間で共有させることができる。
【符号の説明】
【００６４】
１  配信サーバ
２ａ〜２ｈ  クライアント端末
Ｓ  通信システム
【図１】
0005962692.tif 000002
【図４】
0005962692.tif 000003
【図５】
0005962692.tif 000004
【図６】
0005962692.tif 000005
【図２】
0005962692.tif 000006
【図３】
0005962692.tif 000007