(57)【特許請求の範囲】
【請求項１】
撮影手段により撮影された動画データを取得する取得手段と、
前記取得手段により取得された動画データに基づいて、第１の解像度の第１の動画データを生成する第１生成手段と、
前記取得手段により取得された動画データを構成する画像フレームの中の１画素以上を含む特定画素領域を決定する第１決定手段と、
前記特定画素領域に対応する第２の動画データであって、前記第１の解像度より高い第２の解像度の第２の動画データを生成する第２生成手段と、
端末装置と情報処理装置との間のネットワークの帯域幅、または、前記端末装置へ動画データを配信する配信装置と前記情報処理装置との間のネットワークの帯域幅に応じて、前記第１生成手段により生成された第１の動画データと、前記第２生成手段により生成された前記第２の動画データと、を前記端末装置または前記配信装置へアップロードするアップロード対象として決定する第２決定手段であって、前記第１の解像度のレイヤと前記第２の解像度のレイヤを含む複数のレイヤごとに、前記アップロード対象のデータストリームを決定する決定処理を行う第２決定手段と、
前記端末装置、または、前記配信装置へ、前記第１の動画データと前記第２の動画データとをアップロードするアップロード手段と、
を備え、
前記第２決定手段は、前記データストリームの決定処理中の前記ネットワークの帯域幅から、前記第１の解像度のレイヤに対応する第１のデータストリームのビットレートを引いた差分ビットレート中で、前記第１の解像度のレイヤ以外の前記レイヤに対応する第２のデータストリームのビットレートに応じて、前記第２の動画データを含む前記第２のデータストリームを前記アップロード対象として決定し、決定した前記第２のデータストリームにおいて前記特定画素領域に占める前記画像フレームの割合が所定値以上の前記レイヤがある場合、前記第２決定手段は、前記割合が所定値以上の前記レイヤに対応する前記第２のデータストリームを前記アップロード対象として決定し、
前記アップロード手段は、前記第１の動画データを含む前記第１のデータストリームと、前記割合が所定値以上の前記レイヤに対応する前記第２のデータストリームとをアップロードすることを特徴とする情報処理装置。
【請求項２】
前記第２決定手段は、前記割合が所定値以上の前記レイヤが複数ある場合、前記割合が所定値以上の複数の前記レイヤの中で画質が最も高い前記レイヤに対応する前記第２のデータストリームを前記アップロード対象として決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２決定手段は、前記割合が所定値以上の前記レイヤがない場合、前記割合が最も高い前記レイヤに対応する前記第２のデータストリームを前記アップロード対象として決定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記アップロード手段は、前記端末装置、または、前記配信装置へ、前記第１の動画データと、前記第２の動画データと、前記特定画素領域を示すデータとをアップロードすることを特徴とする請求項１乃至３の何れか一項に記載の情報処理装置。
【請求項５】
前記第１決定手段は、前記特定画素領域を、前記動画データの撮影者による指示に従って決定することを特徴とする請求項１乃至４の何れか一項に記載の情報処理装置。
【請求項６】
情報処理装置のコンピュータに、
撮影手段により撮影された動画データを取得するステップと、
前記取得された動画データに基づいて、第１の解像度の第１の動画データ生成するステップと、
前記取得された動画データを構成する画像フレームの中の１画素以上を含む特定画素領域を決定するステップと、
前記特定画素領域に対応する第２の動画データであって、前記第１の解像度より高い第２の解像度の第２の動画データを生成するステップと、
端末装置と前記情報処理装置との間のネットワークの帯域幅、または、前記端末装置へ動画データを配信する配信装置と前記情報処理装置との間のネットワークの帯域幅に応じて、前記生成された第１の動画データと、前記生成された前記第２の動画データと、を前記端末装置または前記配信装置へアップロードするアップロード対象として決定するステップであって、前記第１の解像度のレイヤと前記第２の解像度のレイヤを含む複数のレイヤごとに、前記アップロード対象のデータストリームを決定する決定処理を行う決定ステップと、
前記端末装置、または、前記配信装置へ、前記第１の動画データと前記第２の動画データとをアップロードするアップロードステップと、
を実行させ、
前記決定ステップは、前記データストリームの決定処理中の前記ネットワークの帯域幅から、前記第１の解像度のレイヤに対応する第１のデータストリームのビットレートを引いた差分ビットレート中で、前記第１の解像度のレイヤ以外の前記レイヤに対応する第２のデータストリームのビットレートに応じて、前記第２の動画データを含む前記第２のデータストリームを前記アップロード対象として決定し、決定した前記第２のデータストリームにおいて前記特定画素領域に占める前記画像フレームの割合が所定値以上の前記レイヤがある場合、前記割合が所定値以上の前記レイヤに対応する前記第２のデータストリームを前記アップロード対象として決定し、
前記アップロードステップは、前記第１の動画データを含む前記第１のデータストリームと、前記割合が所定値以上の前記レイヤに対応する前記第２のデータストリームとをアップロードすることを特徴とするプログラム。
【請求項７】
端末装置と情報処理装置とを備える通信システムにおいて、
前記情報処理装置は、
撮影手段により撮影された動画データを取得する取得手段と、
前記取得手段により取得された動画データに基づいて、第１の解像度の第１の動画データ生成する第１生成手段と、
前記取得手段により取得された動画データを構成する画像フレームの中の１画素以上を含む特定画素領域を決定する第１決定手段と、
前記特定画素領域に対応する第２の動画データであって、前記第１の解像度より高い第２の解像度の第２の動画データを生成する第２生成手段と、
端末装置と前記情報処理装置との間のネットワークの帯域幅、または、前記端末装置へ動画データを配信する配信装置と前記情報処理装置との間のネットワークの帯域幅に応じて、前記第１生成手段により生成された第１の動画データと、前記第２生成手段により生成された前記第２の動画データと、を前記端末装置または前記配信装置へアップロードするアップロード対象として決定する第２決定手段であって、前記第２決定手段は、前記第１の解像度のレイヤと前記第２の解像度のレイヤを含む複数のレイヤごとに、前記アップロード対象のデータストリームを決定する決定処理を行う第２決定手段と、
前記端末装置、または、前記配信装置へ、前記第１の動画データと、前記第２の動画データと、前記特定画素領域を示すデータとをアップロードするアップロード手段と、
を備え、
前記第２決定手段は、前記データストリームの決定処理中の前記ネットワークの帯域幅から、前記第１の解像度のレイヤに対応する第１のデータストリームのビットレートを引いた差分ビットレート中で、前記第１の解像度のレイヤ以外の前記レイヤに対応する第２のデータストリームのビットレートに応じて、前記第２の動画データを含む前記第２のデータストリームを前記アップロード対象として決定し、決定した前記第２のデータストリームにおいて前記特定画素領域に占める前記画像フレームの割合が所定値以上の前記レイヤがある場合、前記割合が所定値以上の前記レイヤに対応する前記第２のデータストリームを前記アップロード対象として決定し、
前記アップロード手段は、前記第１の動画データを含む前記第１のデータストリームと、前記割合が所定値以上の前記レイヤに対応する前記第２のデータストリームとをアップロードし、
前記端末装置は、
前記第１の動画データと、前記第２の動画データと、前記特定画素領域を示すデータとを前記情報処理装置、または前記配信装置から受信する受信手段と、
前記端末装置における動画の描画領域と、前記特定画素領域とが重なっている場合に、前記第１の動画データと前記特定画素領域に対応する第２の動画データに基づいて画像フレームを描画する描画手段と、
を備えることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画データを含むコンテンツをクライアント端末へ配信する配信サーバとの間でネットワークを介して通信可能な情報処理装置等の技術分野に関する。
【背景技術】
【０００２】
従来、発信者側となる端末に接続されたカメラにより撮影された動画データをライブ配信する技術が知られている。例えば特許文献１に開示されたシステムでは、端末は、カメラにより撮影された動画データを、インターネットを介してストリーミング配信サーバへアップロードする。そして、ストリーミング配信サーバは、端末からアップロードされた動画データを、インターネットを介してクライアント端末へ配信するようになっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２９６２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、端末とストリーミング配信サーバとの間のネットワークの帯域が狭い場合、カメラにより撮影された複数の解像度の動画データとして、所定の解像度の動画データと高解像度の動画データの両方をストリーミング配信サーバへアップロードするには時間を要し、ライブ配信することが困難であった。
【０００５】
本発明は、以上の点に鑑みてなされたものである。端末からクライアント端末へ動画データをライブ配信するために、端末からストリーミング配信サーバへアップロードするためのネットワークの帯域幅に応じて、端末から解像度の異なる動画データをストリーミング配信サーバへ柔軟にアップロードすることが可能なことが可能な情報処理装置、プログラム、及び通信システムを提供する。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、撮影手段により撮影された動画データを取得する取得手段と、前記取得手段により取得された動画データに基づいて、第１の解像度の第１の動画データを生成する第１生成手段と、前記取得手段により取得された動画データを構成する画像フレームの中の１画素以上を含む特定画素領域を決定する第１決定手段と、前記特定画素領域に対応する第２の動画データであって、前記第１の解像度より高い第２の解像度の第２の動画データを生成する第２生成手段と、端末装置と情報処理装置との間のネットワークの帯域幅、または、前記端末装置へ動画データを配信する配信装置と前記情報処理装置との間のネットワークの帯域幅に応じて、前記第１生成手段により生成された第１の動画データと、前記第２生成手段により生成された前記第２の動画データと、を前記端末装置または前記配信装置へアップロードするアップロード対象として決定する第２決定手段であって、前記第１の解像度のレイヤと前記第２の解像度のレイヤを含む複数のレイヤごとに、前記アップロード対象のデータストリームを決定する決定処理を行う第２決定手段と、前記端末装置、または、前記配信装置へ、前記第１の動画データと前記第２の動画データとをアップロードするアップロード手段と、を備え、前記第２決定手段は、前記データストリームの決定処理中の前記ネットワークの帯域幅から、前記第１の解像度のレイヤに対応する第１のデータストリームのビットレートを引いた差分ビットレート中で、前記第１の解像度のレイヤ以外の前記レイヤに対応する第２のデータストリームのビットレートに応じて、前記第２の動画データを含む前記第２のデータストリームを前記アップロード対象として決定し、決定した前記第２のデータストリームにおいて前記特定画素領域に占める前記画像フレームの割合が所定値以上の前記レイヤがある場合、前記第２決定手段は、前記割合が所定値以上の前記レイヤに対応する前記第２のデータストリームを前記アップロード対象として決定し、前記アップロード手段は、前記第１の動画データを含む前記第１のデータストリームと、前記割合が所定値以上の前記レイヤに対応する前記第２のデータストリームとをアップロードすることを特徴とする。
【０００７】
請求項２に記載の発明は、請求項１に記載の情報処理装置において、前記第２決定手段は、前記割合が所定値以上の前記レイヤが複数ある場合、前記割合が所定値以上の複数の前記レイヤの中で画質が最も高い前記レイヤに対応する前記第２のデータストリームを前記アップロード対象として決定することを特徴とする。
【０００８】
請求項３に記載の発明は、請求項１に記載の情報処理装置において、前記第２決定手段は、前記割合が所定値以上の前記レイヤがない場合、前記割合が最も高い前記レイヤに対応する前記第２のデータストリームを前記アップロード対象として決定することを特徴とする。
【０００９】
請求項４に記載の発明は、請求項１乃至３の何れか一項に記載の情報処理装置において、前記アップロード手段は、前記端末装置、または、前記配信装置へ、前記第１の動画データと、前記第２の動画データと、前記特定画素領域を示すデータとをアップロードすることを特徴とする。
【００１０】
請求項５に記載の発明は、請求項１乃至４の何れか一項に記載の情報処理装置において、前記第１決定手段は、前記特定画素領域を、前記動画データの撮影者による指示に従って決定することを特徴とする。
【００１３】
請求項６に記載の発明は、情報処理装置のコンピュータに、撮影手段により撮影された動画データを取得するステップと、前記取得された動画データに基づいて、第１の解像度の第１の動画データ生成するステップと、前記取得された動画データを構成する画像フレームの中の１画素以上を含む特定画素領域を決定するステップと、前記特定画素領域に対応する第２の動画データであって、前記第１の解像度より高い第２の解像度の第２の動画データを生成するステップと、端末装置と前記情報処理装置との間のネットワークの帯域幅、または、前記端末装置へ動画データを配信する配信装置と前記情報処理装置との間のネットワークの帯域幅に応じて、前記生成された第１の動画データと、前記生成された前記第２の動画データと、を前記端末装置または前記配信装置へアップロードするアップロード対象として決定するステップであって、前記第１の解像度のレイヤと前記第２の解像度のレイヤを含む複数のレイヤごとに、前記アップロード対象のデータストリームを決定する決定処理を行う決定ステップと、前記端末装置、または、前記配信装置へ、前記第１の動画データと前記第２の動画データとをアップロードするアップロードステップと、を実行させ、前記決定ステップは、前記データストリームの決定処理中の前記ネットワークの帯域幅から、前記第１の解像度のレイヤに対応する第１のデータストリームのビットレートを引いた差分ビットレート中で、前記第１の解像度のレイヤ以外の前記レイヤに対応する第２のデータストリームのビットレートに応じて、前記第２の動画データを含む前記第２のデータストリームを前記アップロード対象として決定し、決定した前記第２のデータストリームにおいて前記特定画素領域に占める前記画像フレームの割合が所定値以上の前記レイヤがある場合、前記割合が所定値以上の前記レイヤに対応する前記第２のデータストリームを前記アップロード対象として決定し、前記アップロードステップは、前記第１の動画データを含む前記第１のデータストリームと、前記割合が所定値以上の前記レイヤに対応する前記第２のデータストリームとをアップロードすることを特徴とする。
【００１４】
請求項７に記載の発明は、端末装置と情報処理装置とを備える通信システムにおいて、前記情報処理装置は、撮影手段により撮影された動画データを取得する取得手段と、前記取得手段により取得された動画データに基づいて、第１の解像度の第１の動画データ生成する第１生成手段と、前記取得手段により取得された動画データを構成する画像フレームの中の１画素以上を含む特定画素領域を決定する第１決定手段と、前記特定画素領域に対応する第２の動画データであって、前記第１の解像度より高い第２の解像度の第２の動画データを生成する第２生成手段と、端末装置と前記情報処理装置との間のネットワークの帯域幅、または、前記端末装置へ動画データを配信する配信装置と前記情報処理装置との間のネットワークの帯域幅に応じて、前記第１生成手段により生成された第１の動画データと、前記第２生成手段により生成された前記第２の動画データと、を前記端末装置または前記配信装置へアップロードするアップロード対象として決定する第２決定手段であって、前記第２決定手段は、前記第１の解像度のレイヤと前記第２の解像度のレイヤを含む複数のレイヤごとに、前記アップロード対象のデータストリームを決定する決定処理を行う第２決定手段と、前記端末装置、または、前記配信装置へ、前記第１の動画データと、前記第２の動画データと、前記特定画素領域を示すデータとをアップロードするアップロード手段と、を備え、前記第２決定手段は、前記データストリームの決定処理中の前記ネットワークの帯域幅から、前記第１の解像度のレイヤに対応する第１のデータストリームのビットレートを引いた差分ビットレート中で、前記第１の解像度のレイヤ以外の前記レイヤに対応する第２のデータストリームのビットレートに応じて、前記第２の動画データを含む前記第２のデータストリームを前記アップロード対象として決定し、決定した前記第２のデータストリームにおいて前記特定画素領域に占める前記画像フレームの割合が所定値以上の前記レイヤがある場合、前記割合が所定値以上の前記レイヤに対応する前記第２のデータストリームを前記アップロード対象として決定し、前記アップロード手段は、前記第１の動画データを含む前記第１のデータストリームと、前記割合が所定値以上の前記レイヤに対応する前記第２のデータストリームとをアップロードし、前記端末装置は、前記第１の動画データと、前記第２の動画データと、前記特定画素領域を示すデータとを前記情報処理装置、または前記配信装置から受信する受信手段と、前記端末装置における動画の描画領域と、前記特定画素領域とが重なっている場合に、前記第１の動画データと前記特定画素領域に対応する第２の動画データに基づいて画像フレームを描画する描画手段と、を備えることを特徴とする。
【発明の効果】
【００１５】
請求項１、６または７に記載の発明によれば、情報処理装置から端末装置へ動画データをライブ配信するために、情報処理装置から配信装置または端末装置へアップロードするためのネットワークの帯域幅に応じて、情報処理装置から解像度の異なる動画データを配信装置または端末装置へ柔軟にアップロードすることができ、また、より高画質の動画データを含む第２のデータストリームを、配信装置または端末装置へ柔軟にアップロードすることができる。
【００１６】
請求項４に記載の発明によれば、情報処理装置により決定された特定画素領域に従って高画質の動画データを端末装置に再生させることができる。
【００１９】
請求項２に記載の発明によれば、より高画質の動画データを含む第２のデータストリームを、配信装置または端末装置へ柔軟にアップロードすることができる。
【００２０】
請求項３に記載の発明によれば、より高画質の動画データを含む第２のデータストリームを、配信装置または端末装置へ柔軟にアップロードすることができる。
【００２１】
請求項５に記載の発明によれば、動画データの撮影者が注目する特定画素領域に従って高画質の動画データを端末装置に再生させることができる。
【図面の簡単な説明】
【００２２】
【図１】第１の実施形態の通信システムＳ１の概要構成例を示す図である。
【図２】（Ａ）は、エンコードサーバ３の制御部３１またはＣＰＵにより実行されるアップロード処理を示すフローチャートである。（Ｂ）は、エンコードサーバ３の制御部３１またはＣＰＵにより実行されるアップロードストリーム生成処理の詳細を示すフローチャートである。
【図３】エンコードサーバ３の制御部３１またはＣＰＵにより実行されるアップロードストリーム決定処理の詳細を示すフローチャートである。
【図４】（Ａ）は、オリジナル動画データを構成する画像フレーム上のクリッピング領域を示す図である。（Ｂ）は、各レイヤの１画像フレームを示す図である。
【図５】クライアント端末５の制御部５１またはＣＰＵにより実行される再生及び受信処理を示すフローチャートである。
【図６】第２の実施形態の通信システムＳ２の概要構成例を示す図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態を図面に基づいて説明する。
【００２４】
（１．第１実施形態）
始めに、図１等を参照して、本発明の第１実施形態の通信システムＳ１の構成及び動作概要について説明する。図１は、第１の実施形態の通信システムＳ１の概要構成例を示す図である。図１に示すように、通信システムＳ１は、カメラ１、マイクロフォン２、エンコードサーバ３、配信サーバ４、及びクライアント端末５を含んで構成される。カメラ１は、本発明の撮影手段の一例である。エンコードサーバ３は、本発明の情報処理装置の一例である。配信サーバ４は、本発明の配信装置の一例である。クライアント端末５は、本発明の端末装置の一例である。カメラ１及びマイクロフォン２は、それぞれ、例えば通信ケーブルを介してエンコードサーバ３に接続される。なお、カメラ１及びマイクロフォン２は、それぞれ、無線によりエンコードサーバ３に接続されてもよい。エンコードサーバ３、配信サーバ４、及びクライアント端末５は、ネットワークＮＷに接続される。ネットワークＮＷは、例えば、インターネット等により構成される。なお、配信サーバ４は、ネットワークＮＷを介してクライアント端末５からの要求を受け、この要求に応じて応答するＷｅｂサーバの機能を有する。
【００２５】
カメラ１は、撮影者の指示に従って被写体を撮影し、その動画データを、通信ケーブルを介してエンコードサーバ３へ送信する。マイクロフォン２は、撮影者の指示に従って被写体の周囲の音声を集音し、その音声データを、通信ケーブルを介してエンコードサーバ３へ送信する。カメラ１により撮影された動画データを、以下、「オリジナル動画データ」という。オリジナル動画データの一例として、例えばパノラマ動画データがある。パノラマ動画データは、例えば高解像度のカメラ１で、且つ広範囲を撮影可能なレンズを搭載するカメラ１により被写体が撮影された動画データである。広範囲を撮影可能なレンズには、ワイドレンズ、魚眼レンズ、３６０度レンズ等がある。なお、カメラ１により撮影されたオリジナル動画データは、撮影者の端末を介してエンコードサーバ３に送信されてもよい。
【００２６】
エンコードサーバ３は、カメラ１からのオリジナル動画データを、通信ケーブルを介して取得する。また、エンコードサーバ３は、マイクロフォン２からの音声データを、通信ケーブルを介して取得する。また、エンコードサーバ３は、カメラ１からのオリジナル動画データに基づいて、解像度の異なる複数の動画データを生成する。つまり、解像度に応じた複数のレイヤごとに動画データが生成される。例えば、１つのオリジナル動画データから、低解像度の動画データ、中解像度の動画データ、及び高解像度の動画データが生成される。エンコードサーバ３は、中解像度の動画データ、及び高解像度の動画データを生成する際には、オリジナル動画データを構成する画像フレームの中の１画素以上を含むクリッピング領域（ｘ,ｙ,ｗ,ｈ）を決定する。クリッピング領域は、本発明の特定画素領域の一例である。クリッピング領域は、オリジナル動画データを構成する画像フレームからクリップされる範囲である。言い換えれば、クリッピング領域は、画像フレームから切り出される範囲である。この範囲は、例えば、Ｘ座標（ｘ）、Ｙ座標（ｙ）、幅（ｗ）及び高さ（ｈ）により規定される。ここで、Ｘ座標は、例えば、オリジナル動画データを構成する画像フレームの左上の頂点の横方向の座標である。Ｙ座標は、例えば、オリジナル動画データを構成する画像フレームの左上の頂点の縦方向の座標である。幅（ｗ）及び高さ（ｈ）は、オリジナル動画データを構成する画像フレームの横の長さ及び縦の長さである。そして、エンコードサーバ３は、上記クリッピング領域に対応する中解像度の動画データ、及び高解像度の動画データを、それぞれ生成する。なお、低解像度の動画データは、第１の解像度の第１の動画データの一例である。中解像度の動画データ、または高解像度の動画データは、第１の解像度より高い第２の解像度の第２の動画データの一例である。低解像度のレイヤを、以下、「レイヤ１」という。レイヤ１は最下位層である。中解像度のレイヤを、以下、「レイヤ２」という。高解像度のレイヤを、以下、「レイヤ３」という。本実施形態では、レイヤ１からレイヤ３までの３つのレイヤを例にとっているが、これに限定されるものではない。さらに、エンコードサーバ３は、生成した各レイヤの動画データのうち、所定のレイヤの動画データを構成する画像フレームの領域を複数の分割領域に分割する。例えば、レイヤ２またはレイヤ３の動画データを構成する画像フレームの領域が複数の分割領域に分割され、複数の分割領域に対応する複数の分割動画データが生成される。なお、画像フレーム中の分割領域で囲まれるフレームを、以下、「分割フレーム」という。
【００２７】
そして、エンコードサーバ３は、エンコードサーバ３と配信サーバ４との間のネットワークＮＷの帯域幅（ｂｐｓ）に応じて、生成されたレイヤ１の動画データと、生成されたレイヤ２またはレイヤ３の動画データと、上記クリッピング領域を示すデータとを、配信サーバ４へアップロードするアップロード対象として決定する。なお、アップロード対象として分割動画データが決定される場合もある。ここで、ネットワークＮＷの帯域幅とは、ネットワークＮＷで伝送可能なビットレートを意味する。ネットワークＮＷで伝送可能なビットレートとは、ネットワークＮＷの伝送路容量である。エンコードサーバ３は、アップロード対象として決定された動画データ、及び上記クリッピング領域を示すデータ等を、ネットワークＮＷを介して配信サーバ４へアップロードする。なお、エンコードサーバ３は、マイクロフォン２からの音声データを取得した場合、取得した音声データを動画データとともに配信サーバ４へアップロードする。
【００２８】
配信サーバ４は、エンコードサーバ３からアップロードされた動画データ、音声データ、及びクリッピング領域を示すデータを記憶する。アップロードされた分割動画データが記憶される場合もある。そして、配信サーバ４は、例えばクライアント端末５からのコンテンツの要求に応じて、例えば、動画データを含むコンテンツをクライアント端末５へ配信する。なお、コンテンツは、分割動画データが含まれる場合もある。また、コンテンツは、アップロードされた音声データを含んでもよい。コンテンツの配信は、例えば、ネットワークＮＷを介してストリーミングで行われる。クライアント端末５は、配信サーバ４から配信されたコンテンツを受信する。
【００２９】
また、配信サーバ４は、例えばクライアント端末５からのカメラワークデータのリクエストに応じて、コンテンツのカメラワークデータをクライアント端末５へ送信する。カメラワークデータは、仮想スクリーンに表れる動画に対して、二次元平面または三次元仮想空間における仮想カメラの位置または仮想カメラの向きと、画角（視野範囲）と、仮想カメラの位置または仮想カメラの向きが指定された時間とが対応付けられたデータである。なお、三次元仮想空間は、例えば、コンピュータを用いて表示可能な仮想的な三次元空間を示す。ここで、本実施形態において、仮想カメラとは、二次元平面または三次元仮想空間における仮想スクリーンに表れる動画に対して仮想的に設定された視点をいう。カメラワークデータによれば、二次元平面または三次元仮想空間における仮想スクリーンに表れる動画の全部または一部を仮想的に撮影する仮想カメラの動きを規定することができる。そして、カメラワークデータにより動画における表示範囲が特定される。この表示範囲は、１画像フレームのうち表示画面に描画される描画領域に相当する。言い換えれば、表示範囲は、画像フレームから切り出される範囲である。また、仮想カメラの動きは、疑似的なカメラワーク（以下、「疑似カメラワーク」という）により制御される。つまり、疑似カメラワークにより、動画に対する仮想カメラの向きや視界の広さなどが決定される。本実施形態のカメラワークデータによれば、疑似カメラワークを再現することができる。また、１つのカメラワークデータは、例えば、動画データの再生開始からの再生終了までの再生時間に対応するとは限らない。つまり、１つのカメラワークデータは、再生時間における一部の時間範囲に対応する場合もある。クライアント端末５は、例えば、ストリーミングでコンテンツを受信しながら、取得したカメラワークデータに応じた範囲内の動画を表示画面に表示する。
【００３０】
エンコードサーバ３は、図１に示すように、制御部３１、記憶部３２、及びインターフェース部３３，３４等を備えて構成される。これらの構成要素は、バス３５に接続されている。制御部３１は、コンピュータとしてのＣＰＵ、ＲＯＭ、及びＲＡＭ等により構成される。制御部３１は、本発明の取得手段、第１生成手段、第２生成手段、第１決定手段、第２決定手段、第３決定手段、判定手段、及びアップロード手段の一例である。記憶部３２は、例えば、例えばハードディスクドライブ（ＨＤＤ）により構成される。記憶部３２には、ＯＳ（Operating System）、及びサーバプログラム等が記憶されている。制御部３１は、サーバプログラムを実行することで上述する処理を行う。
【００３１】
配信サーバ４は、図１に示すように、制御部４１、記憶部４２、及びインターフェース部４３等を備えて構成される。これらの構成要素は、バス４４に接続されている。制御部４１は、コンピュータとしてのＣＰＵ、ＲＯＭ、及びＲＡＭ等により構成される。記憶部４２は、例えば、例えばハードディスクドライブにより構成される。記憶部４２には、ＯＳ、及びサーバプログラム等が記憶されている。記憶部４２には、クライアント端末５からの要求に応じて、クライアント端末５へ送信されるＷｅｂページのデータが記憶される。さらに、記憶部４２には、動画データ記憶領域４２ａ、音声データ記憶領域４２ｂ、及びワークファイル記憶領域４２ｃが設けられている。
【００３２】
動画データ記憶領域４２ａには、エンコードサーバ３からアップロードされた複数の動画データ、及び分割動画データが記憶される。音声データ記憶領域４２ｂには、エンコードサーバ３からアップロードされた音声データが記憶される。ワークファイル記憶領域４２ｃには、ワークファイルがコンテンツごとに対応付けられて記憶される。ワークファイルには、例えば、コンテンツのタイトル、疑似カメラワークの特徴を示す情報、及びカメラワークデータ等が格納される。疑似カメラワークの特徴を示す情報には、例えば疑似カメラワークにより表示画面に表示される被写体やシーンの名称や説明文等が含まれる。コンテンツのタイトル及び疑似カメラワークの特徴を示す情報は、カメラワークデータの検索に用いられる。なお、ワークファイルには、コンテンツを識別するコンテンツＩＤが含まれてもよい。ワークファイル記憶領域４２ｃに記憶されるワークファイルには、例えば、クライアント端末５からアップロードされたワークファイルも含まれる。なお、１つのコンテンツには、複数のワークファイルが対応付けられる場合もある。例えば、あるコンテンツに対して、複数のユーザそれぞれにより行われた疑似カメラワークに対応するカメラワークデータが対応付けられる。
【００３３】
クライアント端末５は、図１に示すように、制御部５１、記憶部５２、ビデオＲＡＭ５３、映像制御部５４、操作処理部５５、音声制御部５６、及びインターフェース部５７等を備えて構成される。これらの構成要素は、バス５８に接続されている。映像制御部５４には、ディスプレイを備える表示部５４ａが接続される。操作処理部５５には、操作部５５ａが接続される。操作部５５ａには、例えば、マウス、キーボード、リモコン等がある。表示部５４ａと操作部５５ａとを兼ねるタッチパネルが適用されてもよい。制御部５１は、ユーザによる操作部５５ａからの操作指示を、操作処理部５５を介して受け付ける。ユーザは、操作部５５ａを用いて、上述した疑似カメラワークの操作を行うことができる。音声制御部５６には、スピーカ５６ａが接続される。インターフェース部５７は、ネットワークＮＷに接続される。制御部５１は、コンピュータとしてのＣＰＵ、ＲＯＭ、及びＲＡＭ等により構成される。制御部５１は、本発明の受信手段、及び描画手段の一例である。記憶部５２は、例えば、ハードディスクドライブ（ＨＤＤ）により構成される。記憶部５２には、ＯＳ、及びプレイヤーソフトウェア等が記憶されている。プレイヤーソフトウェアは、コンテンツを再生するためのプログラムである。
【００３４】
制御部５１は、プレイヤーソフトウェアを実行することでコンテンツを再生するプレイヤーとして機能する。制御部５１はプレイヤーの機能により、配信サーバ４からストリーミングで配信されたコンテンツを順次取得し、コンテンツを再生させる。また、プレイヤーの機能により、ディスプレイには、動画を表示する表示画面が表示される。制御部５１におけるＲＡＭにはバッファメモリが設けられている。バッファメモリには、例えば配信サーバ４から配信されたコンテンツに含まれる動画データ等が一時的に保持される。また、バッファメモリには、例えば配信サーバ４から配信されたカメラワークデータが一時的に保持される。制御部５１は、バッファメモリからビデオＲＡＭ５３へ動画データを出力する。ビデオＲＡＭ５３には、描画データを格納するフレームバッファがＲＡＭに設けられている。映像制御部５４は、制御部５１からの制御信号に従って、フレームバッファに書き込まれた描画データを表示画面に描画することで表示させる。また、例えば配信サーバ４からバッファメモリに保持されたコンテンツに音声データが含まれる場合がある。この場合、制御部５１は、バッファメモリから音声データを再生して音声制御部５６へ出力する。音声制御部５６は、音声データからアナログ音声信号を生成し、生成したアナログ音声信号をスピーカ５６ａへ出力する。
【００３５】
次に、図２を参照して、エンコードサーバ３が配信サーバ４へ動画データ及び音声データをアップロードするときの動作について説明する。図２（Ａ）は、エンコードサーバ３の制御部３１またはＣＰＵにより実行されるアップロード処理を示すフローチャートである。図２（Ｂ）は、エンコードサーバ３の制御部３１またはＣＰＵにより実行されるアップロードストリーム生成処理の詳細を示すフローチャートである。図３は、エンコードサーバ３の制御部３１またはＣＰＵにより実行されるアップロードストリーム決定処理の詳細を示すフローチャートである。図２（Ａ）に示す処理は、例えば、カメラ２により撮影されたオリジナル動画データの取得開始指示があった場合に開始される。図２（Ａ）に示す処理が開始されると、エンコードサーバ３の制御部３１は、カメラ２により撮影されたオリジナル動画データ、及びマイクロフォン２により集音された音声データの取得を開始する。
【００３６】
図２（Ａ）に示す処理が開始されると、制御部３１は、アップロードストリーム生成処理を開始する（ステップＳ１）。アップロードストリーム生成処理は、複数のレイヤごとにアップロード対象の動画データストリーム、及び後述するクリップ領域データストリームを生成する生成処理である。アップロードストリーム生成処理は、例えばＯＳのマルチタスクにより、アップロード処理におけるステップＳ２以降の処理と並列して実行される。なお、図２（Ｂ）の例では、アップロードストリーム生成処理により、音声データストリームについても生成される。
【００３７】
図２（Ｂ）に示すアップロードストリーム生成処理では、制御部３１は、カメラ１から新たな画像フレームを取得したか否かを判定する（ステップＳ１１）。カメラ１から新たな画像フレームを取得したと判定された場合（ステップＳ１１：ＹＥＳ）、ステップＳ１２へ進む。一方、カメラ１から新たな画像フレームを取得していないと判定された場合（ステップＳ１１：ＮＯ）、ステップＳ１９へ進む。ステップＳ１２では、制御部３１は、ステップＳ１１で取得した画像フレームの中の１画素以上を含むクリッピング領域を決定する。例えばカメラ１の撮影画面の中心、或いはカメラ１で撮影されたステージの中心等を含む領域が、クリッピング領域として予め設定される。言い換えれば、視聴者により最も注目されると推定される領域が予め設定される。
【００３８】
或いは、撮影者が、映像に登場する話し手や歌い手等を中心とする領域をクリッピング領域として指定してもよい。例えば、撮影者は、例えばカメラ１を持ち、被写体に対する距離やアングルを適宜変更しながらクリッピング領域をカメラ１から指定する。撮影者により指定されたクリッピング領域を示す情報は、カメラ１からエンコードサーバ３へ送信される。そして、制御部３１は、撮影者による指示に従って指定されたクリッピング領域を決定する。
【００３９】
或いは、カメラ１により撮影されたオリジナル動画データが撮影者の端末を介してエンコードサーバ３に送信される場合がある。この場合、撮影者が、端末の表示画面に表示された動画に対して、上述した疑似カメラワークの操作を行うことで特定される表示範囲をクリッピング領域として指定する。撮影者により指定されたクリッピング領域を示すデータは、撮影者の端末からエンコードサーバ３へ送信される。そして、制御部３１は、撮影者により指定されたクリッピング領域を決定する。
【００４０】
或いは、制御部３１は、例えば視聴者の上記動画に対する現在の視聴領域を示す情報を収集し集計処理することで、視聴者により注目されている領域をクリッピング領域として決定してもよい。例えば、オリジナル動画における複数の部分領域ごとに集計した表示回数に基づいてクリッピング領域が決定されるように構成するとよい。ここで、部分領域は、１画素以上を含む領域である。部分領域ごとの表示回数は、例えば、視聴者が注目する度合いを示す数値である。表示回数が高い部分領域を含むシーンほど、多くの視聴者が注目していると考えられる。表示回数が多い部分領域は、視聴者による疑似カメラワークの操作によって、よく表示される領域である。部分領域ごとの表示回数は、例えば配信サーバ４により決定される。例えば、配信サーバ４は、ワークファイル記憶領域４２ｃに記憶される複数のカメラワークデータそれぞれが示す表示範囲に基づいて、上記オリジナル動画データを構成する複数の画像フレームそれぞれにおける部分領域ごとに表示回数を決定する。つまり、表示範囲の重なりに応じて、部分領域ごとの表示回数が算出される。エンコードサーバ３の制御部３１は、部分領域ごとの表示回数を示す表示回数情報を、ネットワークＮＷを介して配信サーバ４から取得する。そして、制御部３１は、エンコードサーバ３から取得した表示回数情報に基づいて、例えば表示回数が閾値より多い上位の部分領域により構成される領域を、クリッピング領域として決定する。
【００４１】
図４（Ａ）は、オリジナル動画データを構成する画像フレーム上のクリッピング領域を示す図である。図４（Ａ）に示すようなクリッピング領域Ｒの位置及びサイズ（面積）は、例えば撮影者による疑似カメラワークの操作に応じて変化する。
【００４２】
次いで、制御部３１は、ステップＳ１１で取得した画像フレームに基づいて、レイヤ１の画像フレームを生成する（ステップＳ１３）。例えば、制御部３１は、ステップＳ１１で取得した画像フレームのピクセル数を例えば１／１６にリサイズしてレイヤ１の画像フレームを生成する。次いで、制御部１３は、ステップＳ１３で生成したレイヤ１の画像フレームを、レイヤ１に対応する動画データストリームに追加して例えば記憶部３２に記憶する（ステップＳ１４）。ここで、動画データストリームは、ストリーミングで配信可能なデータ例である。動画データストリームには、１以上の動画データブロックを含む。動画データブロックは、例えば、動画データの先頭位置から終了位置までが所定の時間範囲で区切られたデータである。１つの動画データブロックには、例えば、複数の画像フレームが含まれることになる。なお、ステップＳ１４の処理は、画像フレームが取得される度に行われるので、動画データストリームには、動画データを構成する画像フレームが時系列で追加されていくことになる。つまり、画像フレームが追加される処理過程においてレイヤ１の動画データが生成される。なお、この処理過程において、制御部３１は、動画データをエンコードしてもよい。例えば、動画データは、ＭＰＥＧ等の所定の圧縮形式でエンコードされる。
【００４３】
次いで、制御部３１は、ステップＳ１１で取得した画像フレームを、ステップＳ１２で決定したクリッピング領域でクリップする（ステップＳ１５）。つまり、画像フレームからクリッピング領域の範囲が切り出される。次いで、制御部３１は、ステップＳ１５でクリップした画像フレームに基づいて、レイヤ１以外のレイヤの画像フレームを生成する（ステップＳ１６）。例えば、制御部３１は、クリップした画像フレームのピクセル数をレイヤ１の画像フレームのピクセス数と同等になるようにリサイズしてレイヤ２の画像フレームを生成する。また、制御部３１は、クリップした画像フレームの領域を複数の分割領域に分割する。そして、制御部３１は、各分割フレームのピクセル数をレイヤ１の画像フレームのピクセス数と同等になるようにリサイズしてレイヤ３の画像フレームを生成する。なお、レイヤ２の画像フレームの領域についても分割してもよい。
【００４４】
図４（Ｂ）は、各レイヤの１画像フレームを示す図である。図４（Ｂ）の例では、レイヤ１の１画像フレームあたりのピクセル数、及びレイヤ２の１画像フレームあたりのピクセル数は、それぞれ、１Ｍ（メガ）ピクセルである。また、レイヤ３の１画像フレームあたりのピクセル数は、４Ｍピクセルである。そして、図４（Ｂ）の例では、レイヤ３の１画像フレームの領域は４等分に分割されている。つまり、レイヤ３の１画像フレームから、パート１から４までの４つの分割フレームが得られる。このように、図４（Ｂ）の例では、レイヤ３それぞれの分割フレームのピクセル数は、レイヤ１の画像フレームのピクセル数と同一になっている。なお、レイヤ１の画像フレームについても、分割されるように構成してもよい。また、図４（Ｂ）の例では、レイヤ３の画像フレームが格子状に分割されるように構成したが、その他の形状に分割されてもよい。また、図４（Ｂ）の例では、レイヤ３における画像フレーム全体の面積が均等になるように分割されているが、不均等になるように分割されてもよい。
【００４５】
次いで、制御部１３は、ステップＳ１６で生成したレイヤ１以外のレイヤの画像フレームを、レイヤ１以外のレイヤに対応する動画データストリームに追加して例えば記憶部３２に記憶する（ステップＳ１７）。例えば、制御部３１は、レイヤ２の画像フレームを、レイヤ２に対応する動画データストリームに追加して例えば記憶部３２に記憶する。更に、制御部３１は、レイヤ３のパートごとの分割フレームを、レイヤ３に対応するパートごとの動画データストリームに追加して例えば記憶部３２に記憶する。なお、レイヤ３のパートごとの動画データブロックには、各パートに対応する複数の分割フレームが含まれることになる。この場合、動画データストリームには、分割動画データを構成する分割フレームが時系列で追加されていくことになる。つまり、分割フレームが追加される処理過程においてレイヤ３の各パートの分割動画データが生成される。なお、この処理過程において、制御部３１は、分割動画データをエンコードしてもよい。
【００４６】
次いで、制御部３１は、画像フレームごとのクリッピング領域を示すデータをクリップ領域データストリームに追加して例えば記憶部３２に記憶する（ステップＳ１８）。このクリッピング領域は、ステップＳ１２で決定されたクリッピング領域である。次いで、制御部３１は、マイクロフォン２から取得された音声データを、音声データストリームに追加して例えば記憶部１２記憶し（ステップＳ１９）、ステップＳ１１に戻る。なお、音声データストリームに含まれる音声データが所定の圧縮形式でエンコードされてもよい。ステップＳ１１に戻ると、制御部１１は、直前のステップＳ１２〜Ｓ１８で処理された画像フレームの後に続く画像フレームを取得したか否かを判定することになる。
【００４７】
次いで、制御部３１は、アップロードストリーム決定処理を行う（ステップＳ２）。アップロードストリーム決定処理は、実行中のアップロードストリーム生成処理において記憶される複数のストリームデータのうち、複数のレイヤごとにアップロード対象の動画データストリーム、及びクリップ領域データストリームを決定する決定処理である。言い換えれば、アップロードストリーム決定処理は、クライアント端末５へ配信対象となる動画データストリーム及びクリップ領域データストリームを決定する処理である。なお、図３の例では、アップロードストリーム決定処理により、アップロード対象の音声データストリームについても決定される。
【００４８】
図３に示すアップロードストリーム決定処理では、制御部３１は、エンコードサーバ３と配信サーバ４との間のネットワークＮＷの帯域幅を取得する（ステップＳ２１）。つまり、データストリームの決定処理中のネットワークＮＷの帯域幅を取得する。例えば、制御部３１は、データストリームを配信サーバ４へアップロードしながら現在のアップロード速度を計測することでネットワークＮＷの帯域幅を取得する。
【００４９】
次いで、制御部３１は、アップロードストリーム生成処理において記憶されたクリップ領域データストリーム、及び音声データストリームをアップロード対象として決定する（ステップＳ２２）。次いで、制御部３１は、アップロードストリーム生成処理において記憶された動画データストリームのうち、最下位層であるレイヤ１に対応する動画データストリームをアップロード対象として決定する（ステップＳ２３）。レイヤ１に対応する動画データストリームは、第１のデータストリームの一例である。一方、レイヤ２に対応する動画データストリームとレイヤ３に対応する動画データストリームは、それぞれ、第２のデータストリームの一例である。
【００５０】
次いで、制御部３１は、規定のクライアント端末の描画性能を示す値を、例えば記憶部３２から取得する（ステップＳ２４）。ここで、規定のクライアント端末とは、例えば平均的な性能を有するクライアント端末である。また、描画性能は、表示画面に単位時間あたり何ピクセル描画できるかを示すレンダリング能力である。言い換えれば、描画性能は、フレームバッファが１表示画面あたり何ピクセル分のデータをバッファリングできるかを示す。
【００５１】
次いで、制御部３１は、ステップＳ２４で取得した描画性能を示す値に基づいて、描画対象とするレイヤを決定する（ステップＳ２５）。つまり、描画対象となるレイヤの範囲が決定される。なお、ステップＳ２５の決定対象となるレイヤからレイヤ１は除かれる。例えば、規定のクライアント端末の描画性能を示す値が、２Ｍ（pixels/frame）であるとする。この場合、図４（Ｂ）の例では、レイヤ１及びレイヤ２の画像フレームは、１画像フレーム全体を描画できる。一方、レイヤ３の画像フレームは、画像フレームの１／２しか描画できない。そのため、この場合、上記ステップＳ２５では、描画対象とするレイヤとして、レイヤ２が決定される。また、例えば、規定のクライアント端末の描画性能を示す値が、４Ｍ（pixels/frame）であるとする。この場合、図４（Ｂ）の例では、レイヤ１〜３の画像フレームは、１画像フレーム全体を描画できる。そのため、この場合、上記ステップＳ２５では、描画対象とするレイヤとして、レイヤ２及びレイヤ３が決定される。
【００５２】
次いで、制御部３１は、ステップＳ２１で取得したネットワークＮＷの帯域幅から、レイヤ１に対応する動画データストリームのビットレートを引いた差分ビットレートを算出する（ステップＳ２６）。つまり、ネットワークＮＷの帯域幅から、動画データストリームのビットレートが減算された差分ビットレートが算出される。ここで、差分ビットレートは、ネットワークＮＷの帯域幅と、レイヤ１に対応する動画データストリームを配信サーバ４へアップロードするために消費する帯域との差である。なお、動画データストリームのビットレートは、例えば動画データストリームに含まれる動画データブロックごとに算出されるビットレートの平均である。
【００５３】
次いで、制御部３１は、ステップＳ２５で決定したレイヤに対応する動画データストリームのビットレートと、ステップＳ２６で算出した差分ビットレートとに基づいて、最適の動画データストリームを決定する（ステップＳ２７））。例えば、ステップＳ２５で決定されたレイヤごとに、「動画データストリームのビットレート≦差分ビットレート」の条件を満たすように、動画データストリームの中から動画データブロックが決定される。つまり、動画データストリームのビットレートが、差分ビットレート以下になるように、動画データブロックが決定される。例えば、アップロードストリーム生成処理において記憶された動画データストリームのうちレイヤ２に対応する動画データストリームのビットレートが、差分ビットレート以下である場合、この動画データストリームが決定される。また、例えば、レイヤ３のパート１〜パート４における動画データストリームのビットストリームの合計が差分ビットレートを超えるとする。この場合、例えば、レイヤ３のパート１〜パート３における動画データストリームのビットストリームの合計が差分ビットレート以下の場合、パート１〜パート３における動画データストリームが決定される。つまり、この場合、レイヤ３の画像フレームを構成する４つの分割フレームの中で、３つの分割フレームそれぞれに対応する動画データストリームが決定される。
【００５４】
次いで、制御部３１は、ステップＳ２５で決定したレイヤに対応する動画データストリームにおける画像フレームの描画率をレイヤごとに算出する（ステップＳ２８）。ここで、画像フレームの描画率とは、上記クリッピング領域に占める画像フレームの割合をいう。次いで、制御部３１は、ステップＳ２８で算出した描画率が所定値以上のレイヤがあるか否かを判定する（ステップＳ２９）。ここで、所定値は例えば７０％程度に設定される。所定値を７０％程度に設定すれば、高画質の動画データを提供することができる。例えば、ステップＳ２７でレイヤ２に対応する動画データストリームが決定された場合、このレイヤ２における画像フレームの描画率は１００％である。そのため、ステップＳ２９で描画率が所定値以上のレイヤがあると判定される。また、ステップＳ２７で、レイヤ３のパート１〜パート３に対応する動画データストリームが決定された場合、このレイヤ３における画像フレームの描画率は７５％である。そのため、ステップＳ２９描画率が所定値以上のレイヤがあると判定される。描画率が所定値以上のレイヤがあると判定された場合（ステップＳ２９：ＹＥＳ）、ステップＳ３０へ進む。一方、描画率が所定値以上のレイヤがないと判定された場合（ステップＳ２９：ＮＯ）、ステップＳ３１へ進む。
【００５５】
ステップＳ３０では、制御部３１は、描画率が所定値以上のレイヤの中で、画質が最も高いレイヤに対応する最適の動画データストリームをアップロード対象として決定し、図２（Ａ）に示す処理に戻る。例えば、レイヤ１〜レイヤ３の中で、画質が最も高いレイヤはレイヤ３である。なお、描画率が所定値以上のレイヤが複数ある場合、複数のレイヤの中で画質が最も高いレイヤに対応する最適の動画データストリームがアップロード対象として決定される。一方、ステップＳ３１では、制御部３１は、ステップＳ２５で決定したレイヤのうち、描画率が最も高いレイヤに対応する最適の動画データストリームをアップロード対象として決定し、図２（Ａ）に示す処理に戻る。
【００５６】
図２（Ａ）に示すステップＳ３では、制御部３１は、ステップＳ２のアップロードストリーム決定処理によりアップロード対象として決定された動画データストリーム、クリップ領域データストリーム、及び音声データストリームを配信サーバ４へアップロードし、ステップＳ４へ進む。このアップロードは、例えば、エンコードサーバ３から配信サーバ４へのストリーミング配信により行われる。これにより、レイヤ１に対応する動画データストリーム、及びレイヤ２またはレイヤ３に対応する動画データストリーム等が、図２（Ａ）に示す処理の終了まで配信サーバ４へストリーミングし続けられる。なお、上記例では、クリッピング領域を示すデータは、クリップ領域データストリームに含まれてストリーミングし続けられるように構成した。しかし、クリッピング領域を示すデータは、クリッピング領域が変化した時だけアップロードされるように構成してもよい。
【００５７】
ステップＳ４では、制御部３１は、アップロード処理の終了指示があったか否かを判定する。終了指示がない場合（ステップＳ４：ＮＯ）、ステップＳ５へ進む。一方、例えば撮影者から終了指示があった場合（ステップＳ４：ＹＥＳ）、図２（Ａ）に示すアップロード処理が終了する。なお、終了指示があった場合、図２（Ｂ）に示すアップロードストリーム生成処理も終了する。ステップＳ５では、制御部３１は、撮影者による疑似カメラワークの操作があったか否かを判定する。例えば、上述したように、撮影者の疑似カメラワークの操作により指定されたクリッピング領域を示す情報は、撮影者の端末からエンコードサーバ３へ送信される。制御部３１は、端末から受信した情報が示すクリッピング領域に変更があった場合、撮影者による疑似カメラワークの操作があったと判定する（ステップＳ５：ＹＥＳ）。この場合、制御部３１は、ステップＳ２に戻り、アップロードストリーム決定処理をやり直す。一方、撮影者による疑似カメラワークの操作がないと判定された場合（ステップＳ５：ＮＯ）、ステップＳ６へ進む。
【００５８】
ステップＳ６では、制御部３１は、計測している現在のアップロード速度に閾値以上の変化があったか否かを判定する。アップロード速度に閾値以上の変化があったと判定された場合（ステップＳ６：ＹＥＳ）、ステップＳ２に戻り、アップロードストリーム決定処理がやり直される。これは、ステップＳ２６で算出される差分ビットレートの変化によりステップＳ２７で決定される最適の動画データストリームが変わる場合があるためである。一方、アップロード速度に閾値以上の変化がないと判定された場合（ステップＳ６：ＮＯ）、ステップＳ３に戻る。
【００５９】
一方、配信サーバ４は、アップロードされた動画データストリーム、及びクリップ領域データストリーム、及び音声データストリームを取得して記憶する。
【００６０】
次に、図５を参照して、クライアント端末５が配信サーバ４からデータストリームを受信するときの動作について説明する。図５は、クライアント端末５の制御部５１またはＣＰＵにより実行される再生及び受信処理を示すフローチャートである。図５に示す処理は、例えば、ユーザによりデータストリームの受信開始指示があった場合に開始される。
【００６１】
図５に示す処理が開始されると、クライアント端末５の制御部５１は、レイヤ１に対応する動画データストリーム、クリップ領域データストリーム、及び音声データストリームの受信処理を開始する（ステップＳ１０１）。この受信処理では、制御部５１は、コンテンツを配信サーバ４へ要求する。配信サーバ４は、クライアント端末５からのコンテンツに応じて、レイヤ１に対応する動画データストリーム、クリップ領域データストリーム、及び音声データストリームをストリーミングでクライアント端末５へ配信する。これにより、疑似的なライブ配信を実現することができる。クライアント端末５の制御部５１は、配信サーバ４から配信されたレイヤ１に対応する動画データストリーム、クリップ領域データストリーム、及び音声データストリームを受信してバッファメモリに一時的に保持させる。なお、クリッピング領域を示すデータは、クリッピング領域が変化した時だけクライアント端末５へ配信されるように構成してもよい。
【００６２】
ステップＳ１０２では、制御部５１は、受信処理の終了指示があったか否かを判定する。終了指示がない場合（ステップＳ１０２：ＮＯ）、ステップＳ１０３へ進む。一方、例えばユーザから終了指示があった場合（ステップＳ１０２：ＹＥＳ）、図５に示す再生及び受信処理が終了する。
【００６３】
ステップＳ１０３では、制御部５１は、ユーザから操作部５５ａを介して、疑似カメラワークの操作があったか否かを判定する。ここで、疑似カメラワークの具体的な操作として、例えば、ドラック操作、及びフリック操作がある。ドラック操作では、例えば、ユーザが表示画面をマウスによりドラックすることで表示範囲を移動させることができる。また、フリック操作では、例えば、ユーザがタッチパネル方式の表示画面上で指やペン等の接触物を素早くスライドすることで表示範囲を移動させることができる。また、疑似カメラワークの具体的な操作として、例えば、ユーザが操作部５５ａに設けられたボタンや画面上に表示されたボタン等を押すことにより、表示範囲を拡大したり縮小させたりする操作がある。この操作の場合、表示範囲の単位時間あたり変動量が大きくなりながら表示範囲が拡大又は縮小する変動が行われ、その後、単位時間あたり変動量が一定となって、表示範囲が変動する。ユーザがボタンを押すことをやめる操作を行わない限り、表示範囲が変動し、表示範囲の大きさが最大又は最少となった時点で、変動は停止する。なお、上述した操作は、あくまでも例示に過ぎず、その他の操作により疑似カメラワークが行われてもよい。そして、疑似カメラワークの操作があったと判定された場合（ステップＳ１０３：ＹＥＳ）、ステップＳ１０４へ進む。一方、疑似カメラワークの操作がないと判定された場合（ステップＳ１０３：ＮＯ）、ステップＳ１０５へ進む。
【００６４】
ステップＳ１０４では、制御部５１は、ユーザにより疑似カメラワークの操作に従って変更されたカメラワークデータに従って動画の描画領域を変更し、ステップＳ１０５へ進む。ステップＳ１０５では、制御部５１は、レイヤ１以外のレイヤに対応する動画データストリームが受信中であるか否かを判定する。つまり、例えば、レイヤ２に対応する動画データストリームと、レイヤ３に対応する動画データストリームの少なくとも一方の動画データストリームが受信中であるかが判定される。レイヤ１以外のレイヤに対応する動画データストリームが受信中であると判定された場合（ステップＳ１０５：ＹＥＳ）、ステップＳ１０６へ進む。一方、レイヤ１以外のレイヤに対応する動画データストリームが受信中でないと判定された場合（ステップＳ１０５：ＮＯ）、ステップＳ１０８へ進む。
【００６５】
ステップＳ１０６では、制御部５１は、レイヤ１以外で受信中のレイヤに対応する動画データストリーム中の画像フレームまたは分割フレームが、動画の描画領域に含まれるか否かを判定する。レイヤ１以外で受信中のレイヤに対応する動画データストリーム中の画像フレームまたは分割フレームが、動画の描画領域に含まれないと判定された場合（ステップＳ１０６：ＮＯ）、ステップＳ１０７へ進む。ここで、動画の描画領域は、現在の再生位置における動画の描画領域である。図５の例では、受信中のレイヤ２に対応する動画データストリーム中の画像フレームと、受信中のレイヤ３に対応する動画データストリーム中の分割フレームのうち、少なくとも何れか一方が動画の描画領域に含まれないと判定された場合、ステップＳ１０７へ進む。受信中のレイヤ２に対応する動画データストリーム中の画像フレームと、受信中のレイヤ３に対応する動画データストリーム中の分割フレームの双方とも動画の描画領域に含まれると判定された場合（ステップＳ１０６：ＹＥＳ）、ステップＳ１０８へ進む。
【００６６】
ステップＳ１０７では、制御部５１は、動画の描画領域に含まれないと判定された動画データストリームの受信を終了し、ステップＳ１０８へ進む。ステップＳ１０８では、制御部５１は、動画の描画領域と、受信中のクリップ領域データストリームが示すクリッピング領域とが重なっているか否かを判定する。このクリッピング領域は、現在の再生位置におけるクリッピング領域である。動画の描画領域とクリッピング領域とが重なっていると判定された場合（ステップＳ１０８：ＹＥＳ）、ステップＳ１０９へ進む。なお、動画の描画領域とクリッピング領域の一部でも重なっていればよい。一方、動画の描画領域とクリッピング領域とが重なっていないと判定された場合（ステップＳ１０８：ＮＯ）、ステップＳ１１３へ進む。
【００６７】
ステップＳ１０９では、制御部５１は、動画の描画領域と重なるレイヤ３の分割フレームを含む動画データストリームを所定数（例えば３つ）以上受信可能であるか否かを判定する。例えば、制御部５１は、クライアント端末５と配信サーバ１との間のネットワークＮＷの帯域幅から、受信中のデータストリームのビットを引いた差分ビットレートを算出する。そして、制御部５１は、レイヤ３に対応する所定数の動画データストリームのビットレートの総和が、差分ビットレート以下である場合、レイヤ３の分割フレームを含む動画データストリームを所定数以上受信可能であると判定する。動画データストリームを所定数以上受信可能であると判定された場合（ステップＳ１０９：ＹＥＳ）、ステップＳ１１０へ進む。一方、動画データストリームを所定数以上受信可能でないと判定された場合（ステップＳ１０９：ＮＯ）、ステップＳ１１１へ進む。
【００６８】
ステップＳ１１０では、制御部５１は、レイヤ３に対応する所定数以上の動画データストリームの受信処理を開始し、ステップＳ１１３へ進む。この受信処理では、例えば、制御部５１は、レイヤ３に対応する所定数以上の動画データストリームを配信サーバ４へ要求する。配信サーバ４は、要求されたレイヤ３に対応する動画データストリームをストリーミングでクライアント端末５へ配信する。クライアント端末５の制御部５１は、配信サーバ４から配信されたレイヤ３に対応する動画データストリームを受信してバッファメモリに一時的に保持させる。
【００６９】
ステップＳ１１１では、動画の描画領域と重なるレイヤ２の画像フレームを含む動画データストリームを受信可能であるか否かを判定する。例えば、レイヤ２に対応する動画データストリームのビットレートが、上記差分ビットレート以下である場合、レイヤ２の画像フレームを含む動画データストリームを受信可能であると判定する。動画データストリームを受信可能であると判定された場合（ステップＳ１１１：ＹＥＳ）、ステップＳ１１２へ進む。一方、動画データストリームを受信可能でないと判定された場合（ステップＳ１１１：ＮＯ）、ステップＳ１１３へ進む。
【００７０】
ステップＳ１１２では、制御部５１は、レイヤ２に対応する動画データストリームの受信処理を開始し、ステップＳ１１３へ進む。この受信処理では、例えば、制御部５１は、レイヤ２に対応する動画データストリームを配信サーバ４へ要求する。配信サーバ４は、要求されたレイヤ２に対応する動画データストリームをストリーミングでクライアント端末５へ配信する。クライアント端末５の制御部５１は、配信サーバ４から配信されたレイヤ２に対応する動画データストリームを受信してバッファメモリに一時的に保持させる。
【００７１】
ステップＳ１１３では、制御部５１は、動画データストリームに対応する動画データの再生処理を実行し、ステップＳ１０２に戻る。この再生処理では、制御部５１は、動画の描画領域と、受信済みの動画データストリームに含まれる画像フレームから最適な画像フレームを生成して表示画面に描画する。例えば、レイヤ３に対応する動画データストリームが受信されている場合、制御部５１は、レイヤ３に対応する動画データストリームに含まれるレイヤ３の分割フレームをフレームバッファに書き込む。次いで、制御部５１は、フレームバッファに書き込まれなかった領域に、レイヤ１に対応する動画データストリームに含まれるレイヤ１の画像フレームの一部を書き込む。そして、フレームバッファへの書き込みが完了すると、制御部５１は、フレームバッファに書き込まれた最適な画像フレームを表示画面に描画することで動画を表示させる。つまり、動画の描画領域と、クリッピング領域とが重なっている場合に、低解像度の動画データとクリッピング領域に対応する高解像度の動画データに基づいて画像フレームが描画される。これにより、低解像度の動画データを構成する画像フレームにおいて例えばユーザが注目する領域に、高解像度の動画データを構成する分割フレームを表示させることができる。一方、例えば、レイヤ２に対応する動画データストリームが受信されている場合、制御部５１は、レイヤ２に対応する動画データストリームに含まれるレイヤ２の画像フレームをフレームバッファに書き込む。次いで、制御部５１は、フレームバッファに書き込まれなかった領域に、レイヤ１に対応する動画データストリームに含まれるレイヤ１の画像フレームの一部を書き込む。そして、フレームバッファへの書き込みが完了すると、制御部５１は、フレームバッファに書き込まれた最適な画像フレームを表示画面に描画することで動画を表示させる。つまり、動画の描画領域と、クリッピング領域とが重なっている場合に、低解像度の動画データとクリッピング領域に対応する中解像度の動画データに基づいて画像フレームが描画される。これにより、低解像度の動画データを構成する画像フレームにおいて例えばユーザが注目する領域に、中解像度の動画データを構成する画像フレームを表示させることができる。なお、図示しないが、音声データストリームに対応する音声データの再生処理は、動画データの再生処理に同期して実行される。
【００７２】
以上説明したように、第１の実施形態によれば、エンコードサーバ３は、カメラ１により取得されたオリジナル動画データに基づいて低解像度の動画データを生成する。また、エンコードサーバ３は、オリジナル動画データを構成する画像フレームの中のクリッピング領域を決定し、決定したクリッピング領域に対応する中解像度及び高解像度の動画データを生成する。そして、エンコードサーバ３は、エンコードサーバ３と配信サーバ４との間のネットワークＮＷの帯域幅に応じて、低解像度の動画データ、及び中解像度または高解像度の動画データを、配信サーバ４へアップロードするアップロード対象として決定する。そして、エンコードサーバ３は、配信サーバ４へ、決定した動画データをアップロードするように構成した。そのため、エンコードサーバ３は、クライアント端末５へ動画データをライブ配信するために、配信サーバ４との間のネットワークＮＷの帯域幅に応じて、解像度の異なる動画データを配信サーバ４へ柔軟にアップロードすることができる。更に、第１の実施形態によれば、エンコードサーバ３は、オリジナル動画データからクリップするクリッピング領域を決定し、中解像度及び高解像度の動画データを生成する範囲を限定することで、アップロードするデータ量を削減することができる。
【００７３】
（２．第２の実施形態）
次に、図６等を参照して、本発明の第２実施形態の通信システムＳ２の構成及び動作概要について説明する。第１の実施形態の通信システムＳ１では、動画データがエンコードサーバ３から配信サーバ４を介してクライアント端末５へ配信されるように構成した。第２実施形態の通信システムＳ２では、動画データがエンコード配信サーバ３ａからクライアント端末５へ配信されるように構成する。図６は、第２の実施形態の通信システムＳ２の概要構成例を示す図である。なお、第２実施形態の通信システムＳ２において、第１の実施形態の通信システムＳ１と同様の構成については同一の符号を付し、重複する説明を省略するものとする。
【００７４】
図６は、第２の実施形態の通信システムＳ２の概要構成例を示す図である。図６に示すように、通信システムＳ２は、カメラ１、マイクロフォン２、エンコード配信サーバ３ａ、転送サーバ４ａ、及びクライアント端末５を含んで構成される。エンコード配信サーバ３ａは、本発明の情報処理装置の一例である。カメラ１及びマイクロフォン２は、それぞれ、例えば通信ケーブルを介してエンコード配信サーバ３ａに接続される。エンコード配信サーバ３ａ、及び転送サーバ４ａは、ネットワークＮＷに接続される。なお、転送サーバ４ａは、ネットワークＮＷを介してクライアント端末５からの要求を受け、この要求に応じて応答するＷｅｂサーバの機能を有する。
【００７５】
エンコード配信サーバ３ａは、カメラ１からのオリジナル動画データを、通信ケーブルを介して取得する。また、エンコード配信サーバ３ａは、マイクロフォン２からの音声データを、通信ケーブルを介して取得する。また、エンコード配信サーバ３ａは、エンコードサーバ３と同様に、カメラ１からのオリジナル動画データに基づいて、解像度の異なる複数の動画データを生成する。また、エンコード配信サーバ３ａは、レイヤ２の動画データ、及びレイヤ３の動画データを生成する際には、エンコードサーバ３と同様に、オリジナル動画データを構成する画像フレームの中の１画素以上を含むクリッピング領域を決定する。そして、エンコードサーバ３は、上記クリッピング領域に対応する中解像度の動画データ、及び高解像度の動画データを、それぞれ生成する。なお、中解像度または高解像度の分割動画データが生成される場合もある。そして、エンコード配信サーバ３ａは、クライアント端末５とエンコード配信サーバ３ａとの間のネットワークＮＷの帯域幅に応じて、生成されたレイヤ１の動画データと、生成されたレイヤ２またはレイヤ３の動画データまたは分割動画データと、クリッピング領域を示すデータと、音声データとを、配信サーバ４へアップロードするアップロード対象として決定する。なお、アップロード対象として分割動画データが決定される場合もある。エンコード配信サーバ３ａは、アップロード対象として決定された動画データ、クリッピング領域を示すデータ、及び音声データを記憶する。なお、アップロード対象として決定された分割動画データが記憶される場合もある。更に、エンコード配信サーバ３ａは、例えば記憶した動画データ、分割動画データ、クリッピング領域を示すデータ、及び音声データそれぞれにアクセスするためのＵＲＬ（Uniform Resource Locator）を、転送サーバ４ａへ通知する。このＵＲＬには、例えば、エンコード配信サーバ３ａのアドレス情報と、動画データ、分割動画データ、クリッピング領域を示すデータ、及び音声データそれぞれの記憶場所を示すパス名とが含まれる。アドレス情報は、エンコード配信サーバ３ａのＩＰアドレスまたはドメイン名を示す。転送サーバ４ａは、クライアント端末５からのコンテンツの要求に応じて、エンコード配信サーバ３ａから通知されたＵＲＬをクライアント端末５へ送信する。これにより、クライアント端末５は、転送サーバ４ａから取得したＵＲＬに従ってエンコード配信サーバ３ａへアクセスしてコンテンツを要求する。この要求に応じて、エンコード配信サーバ３ａは、例えば、動画データ、分割動画データ、クリッピング領域を示すデータ、及び音声データを、ネットワークＮＷを介してクライアント端末５へアップロードする。第２実施形態の通信システムＳ２におけるアップロードは、例えば、エンコード配信サーバ３ａからクライアント端末５へのストリーミング配信により行われる。
【００７６】
また、エンコード配信サーバ３ａは、エンコードサーバ３と同様、図６に示すように、制御部３１、記憶部３２、及びインターフェース部３３、３４等を備えて構成される。なお、上述したワークファイル記憶領域４２ｃは、例えば、転送サーバ４ａの記憶部に設けられる。ワークファイル記憶領域４２ｃは、エンコード配信サーバ３ａの記憶部３２に設けられてもよい。また、上述した図２（Ａ）に示すアップロード処理、図２（Ｂ）に示すアップロードストリーム生成処理、図３に示すアップロードストリーム決定処理は、エンコード配信サーバ３ａに対しても適用される。この場合、図２（Ａ）に示す処理は、クライアント端末５からのコンテンツの要求に応じて開始される。ただし、エンコード配信サーバ３ａの制御部３１によるステップＳ２１では、エンコード配信サーバ３ａとクライアント端末５との間のネットワークＮＷの帯域幅が取得される。この場合のステップＳ２６では、エンコード配信サーバ３ａとクライアント端末５との間のネットワークＮＷの帯域幅から、レイヤ１に対応する動画データストリームのビットレートを引いた差分ビットレートが算出され、ステップＳ２７以降で用いられる。そして、この場合のステップＳ３では、エンコード配信サーバ３ａの制御部３１は、アップロード対象として決定された動画データストリーム、クリップ領域データストリーム、及び音声データストリームを、クライアント端末５から要求に応じて、クライアント端末５へストリーミングで配信することになる。なお、第２の実施形態においても、図５に示す再生及び受信処理は、クライアント端末５の制御部５１またはＣＰＵにより実行される。また、この場合のステップＳ６におけるアップロード速度は、エンコード配信サーバ３ａがデータストリームをクライアント端末５へアップロードしながら計測する。
【００７７】
以上説明したように、第２の実施形態によれば、エンコード配信サーバ３ａは、カメラ１により取得されたオリジナル動画データに基づいて低解像度の動画データを生成する。また、エンコード配信サーバ３ａは、は、オリジナル動画データを構成する画像フレームの中のクリッピング領域を決定し、決定したクリッピング領域に対応する中解像度及び高解像度の動画データを生成する。そして、エンコード配信サーバ３ａは、エンコード配信サーバ３ａとクライアント端末５との間のネットワークＮＷの帯域幅に応じて、低解像度の動画データ、及び中解像度または高解像度の動画データをアップロード対象として決定する。そして、エンコード配信サーバ３ａは、アップロード対象として決定した動画データをアップロードするように構成した。そのため、エンコード配信サーバ３ａは、クライアント端末５へ動画データをライブ配信するために、クライアント端末５との間のネットワークＮＷの帯域幅に応じて、解像度の異なる動画データをクライアント端末５へ柔軟にアップロードすることができる。更に、第１の実施形態によれば、エンコード配信サーバ３ａは、オリジナル動画データからクリップするクリッピング領域を決定し、中解像度及び高解像度の動画データを生成する範囲を限定することで、アップロードするデータ量を削減することができる。
【００７８】
なお、上記実施形態において、クライアント端末５は配信サーバ４またはエンコード配信サーバ３ａからコンテンツを受信する構成を示した。しかし、ハイブリッド型またはピア型のピアツーピアネットワークにおいて、クライアント端末５が他のクライアント端末５からコンテンツを受信する場合に対しても本発明は適用できる。この場合、クライアント端末５が本発明の情報処理装置として機能する。
【符号の説明】
【００７９】
１  カメラ
２  マイクロフォン
３  エンコードサーバ
３ａ  エンコード配信サーバ
４  配信サーバ
４ａ  転送サーバ
５  クライアント端末
Ｓ１、Ｓ２  通信システム
【図１】
0005850012.tif 000002
【図２】
0005850012.tif 000003
【図３】
0005850012.tif 000004
【図４】
0005850012.tif 000005
【図５】
0005850012.tif 000006
【図６】
0005850012.tif 000007