(57)【要約】【課題】他のユーザにより行われた疑似的なカメラワークの特徴を端末装置のユーザに、より分かり易く伝えることが可能な端末装置及びプログラムを提供する。【解決手段】端末装置は、動画を構成する画像フレーム内で、表示手段により表示される表示範囲が、動画の再生位置に応じて変化可能な動画であって、第１の前記表示範囲に従って、前記表示手段のメイン画面に第１の動画を表示させる。そして、端末装置は、前記メイン画面に表示される候補となる前記第２の動画の第２の表示範囲を示す表示範囲情報を所定の記憶装置から取得し、前記第２の動画を構成する画像フレームにおいて前記取得手段により取得された前記表示範囲情報が示す前記第２の表示範囲に従って、前記表示手段のサブ画面に前記第２の動画を表示させる。【選択図】図３
2014165839.tif 000002
【特許請求の範囲】
【請求項１】
動画を構成する画像フレーム内で、表示手段により表示される表示範囲が、動画の再生位置に応じて変化可能な動画であって、第１の前記表示範囲に従って、前記表示手段のメイン画面に第１の動画を表示させる第１表示ステップと、
前記第１の動画と同一の動画に対応する第２の動画であって、前記メイン画面に表示される候補となる前記第２の動画の第２の表示範囲を示す表示範囲情報を所定の記憶装置から取得する取得ステップと、
前記第２の動画を構成する画像フレームにおいて前記取得ステップにより取得された前記表示範囲情報が示す前記第２の表示範囲に従って、前記表示手段のサブ画面に前記第２の動画を表示させる第２表示ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項２】
前記プログラムは、前記コンピュータに、所定の配信装置からストリーミング配信された動画データを受信する受信ステップを実行させ、
前記取得ステップは、前記受信ステップにより受信された前記動画データにより再生される前記第２の動画の再生位置から所定時間範囲内に含まれる画像フレームにおける前記第２の表示範囲を示す表示範囲情報を所定の記憶装置から取得し、
前記第２表示ステップは、前記受信ステップによりストリーミングで前記動画データを受信しながら、前記取得ステップにより取得された前記表示範囲情報が示す前記第２の表示範囲に従って、前記サブ画面に前記第２の動画を表示させることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記第１表示ステップは、前記サブ画面に表示中の前記第２の動画の選択指示に応じて、前記メイン画面に表示中の前記第１の動画を、前記選択指示された前記第２の動画に切換表示させることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
前記コンピュータは、第１の解像度の動画データと、前記第１の解像度より高い第２の解像度の動画データと、を記憶する配信装置にアクセス可能であり、
少なくとも前記第２の解像度の動画データは、前記第２の動画データを構成する画像フレームを分割した複数の分割動画データにより構成され、
前記プログラムは、前記コンピュータに、前記第２の解像度の動画データを構成する複数の分割動画データの中から、取得対象となる少なくとも１つの前記分割動画データを前記配信装置へ要求する要求ステップを実行させ、
前記受信ステップは、前記配信装置から、前記第１の解像度の動画データを受信するとともに、前記要求ステップにより要求された前記分割動画データを受信し、
前記第１表示ステップは、前記第１の解像度の動画データにより再生される前記第１の動画を前記メイン画面に表示させるとともに、前記第１の動画の前記画像フレームの少なくとも一部分に、前記分割動画データにより再生される動画を表示させ、
前記第２表示ステップは、前記第１の解像度の動画データにより再生される前記第２の動画を前記サブ画面に表示させることを特徴とする請求項１乃至３の何れか一項に記載のプログラム。
【請求項５】
動画を構成する画像フレーム内で、表示手段により表示される表示範囲が、動画の再生位置に応じて変化可能な動画であって、第１の前記表示範囲に従って、前記表示手段のメイン画面に第１の動画を表示させる第１制御手段と、
前記第１の動画と同一の動画に対応する第２の動画であって、前記メイン画面に表示される候補となる前記第２の動画の第２の表示範囲を示す表示範囲情報を所定の記憶装置から取得する取得手段と、
前記第２の動画を構成する画像フレームにおいて前記取得手段により取得された前記表示範囲情報が示す前記第２の表示範囲に従って、前記表示手段のサブ画面に前記第２の動画を表示させる第２制御手段と、
を備えることを特徴とする端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画を表示させる端末装置の技術分野に関する。
【背景技術】
【０００２】
従来、インターネットを介してサーバにアップロードされた動画データを、端末装置からの配信要求に応じてストリーミング配信する動画投稿サイトが知られている。動画投稿サイトからストリーミング配信された動画データは、例えば、端末装置のブラウザのウインドウ画面に表示される。このとき、ウインドウ画面には、ストリーミング配信された動画データに関連する動画データ中の代表となる静止画が表示される場合がある。この静止画により、ストリーミング配信された動画データに関連する動画データを端末装置のユーザに推奨することができる。
【０００３】
一方、特許文献１には、動画データの特定のシーンを他のユーザに推奨するために、ユーザが動画データの再生位置などを示す編集データを他のユーザへメールで配信するシステムが開示されている。これにより、編集データを作成したユーザは、迅速に他のユーザに動画データ中の特定のシーンを見せることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１２４５１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、例えばパノラマ動画などの動画に対して疑似的なカメラワークがユーザにより行われる場合がある。疑似的なカメラワークでは、例えば、仮想的なカメラの向きや視界の広さなどを操作部から指示することで、動画を構成する複数の画像フレームにおける表示範囲が指定される。近年、疑似的なカメラワークを示すカメラワークデータをサーバにアップロードして他のユーザに提供したいというニーズがある。この場合、例えば端末装置で表示中の動画に対して他のユーザにより行われた疑似的なカメラワークを端末装置のユーザに推奨することが想定される。しかしながら、疑似的なカメラワークは、動画を構成する複数の画像フレームにおける時系列的な表示範囲の動きに特徴がある。そのため、従来のように静止画によって、疑似的なカメラワークの特徴をユーザに分かり易く伝えることは困難である。また、疑似的なカメラワークの特徴は、特許文献１に開示された技術を適用した場合であっても、ユーザに分かり易く伝えることは困難である。
【０００６】
本発明は、以上の点に鑑みてなされたものであり、他のユーザにより行われた疑似的なカメラワークの特徴を端末装置のユーザに、より分かり易く伝えることが可能な端末装置及びプログラムを提供する。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載のプログラムの発明は、動画を構成する画像フレーム内で、表示手段により表示される表示範囲が、動画の再生位置に応じて変化可能な動画であって、第１の前記表示範囲に従って、前記表示手段のメイン画面に第１の動画を表示させる第１表示ステップと、前記第１の動画と同一の動画に対応する第２の動画であって、前記メイン画面に表示される候補となる前記第２の動画の第２の表示範囲を示す表示範囲情報を所定の記憶装置から取得する取得ステップと、前記第２の動画を構成する画像フレームにおいて前記取得ステップにより取得された前記表示範囲情報が示す前記第２の表示範囲に従って、前記表示手段のサブ画面に前記第２の動画を表示させる第２表示ステップと、をコンピュータに実行させることを特徴とする。
【０００８】
請求項２に記載の発明は、請求項１に記載のプログラムにおいて、前記プログラムは、前記コンピュータに、所定の配信装置からストリーミング配信された動画データを受信する受信ステップを実行させ、前記取得ステップは、前記受信ステップにより受信された前記動画データにより再生される前記第２の動画の再生位置から所定時間範囲内に含まれる画像フレームにおける前記第２の表示範囲を示す表示範囲情報を所定の記憶装置から取得し、前記第２表示ステップは、前記受信ステップによりストリーミングで前記動画データを受信しながら、前記取得ステップにより取得された前記表示範囲情報が示す前記第２の表示範囲に従って、前記サブ画面に前記第２の動画を表示させることを特徴とする。
【０００９】
請求項３に記載の発明は、請求項１又は２に記載のプログラムにおいて、前記第１表示ステップは、前記サブ画面に表示中の前記第２の動画の選択指示に応じて、前記メイン画面に表示中の前記第１の動画を、前記選択指示された前記第２の動画に切換表示させることを特徴とする。
【００１０】
請求項４に記載の発明は、請求項１乃至３の何れか一項に記載のプログラムにおいて、前記コンピュータは、第１の解像度の動画データと、前記第１の解像度より高い第２の解像度の動画データと、を記憶する配信装置にアクセス可能であり、少なくとも前記第２の解像度の動画データは、前記第２の動画データを構成する画像フレームを分割した複数の分割動画データにより構成され、前記プログラムは、前記コンピュータに、前記第２の解像度の動画データを構成する複数の分割動画データの中から、取得対象となる少なくとも１つの前記分割動画データを前記配信装置へ要求する要求ステップを実行させ、前記受信ステップは、前記配信装置から、前記第１の解像度の動画データを受信するとともに、前記要求ステップにより要求された前記分割動画データを受信し、前記第１表示ステップは、前記第１の解像度の動画データにより再生される前記第１の動画を前記メイン画面に表示させるとともに、前記第１の動画の前記画像フレームの少なくとも一部分に、前記分割動画データにより再生される動画を表示させ、記第２表示ステップは、前記第１の解像度の動画データにより再生される前記第２の動画を前記サブ画面に表示させることを特徴とする。
【００１１】
請求項５に記載の発明は、動画を構成する画像フレーム内で、表示手段により表示される表示範囲が、動画の再生位置に応じて変化可能な動画であって、第１の前記表示範囲に従って、前記表示手段のメイン画面に第１の動画を表示させる第１制御手段と、前記第１の動画と同一の動画に対応する第２の動画であって、前記メイン画面に表示される候補となる前記第２の動画の第２の表示範囲を示す表示範囲情報を所定の記憶装置から取得する取得手段と、前記第２の動画を構成する画像フレームにおいて前記取得手段により取得された前記表示範囲情報が示す前記第２の表示範囲に従って、前記表示手段のサブ画面に前記第２の動画を表示させる第２制御手段と、を備えることを特徴とする。
【発明の効果】
【００１２】
請求項１、５に記載の発明によれば、端末装置において、第１の表示範囲に従って、メイン画面に第１の動画が表示され、且つ、所定の記憶装置から取得された表示範囲情報が示す第２の表示範囲に従って、メイン画面に表示される候補となる第２の動画がサブ画面に表示されるように構成した。そのため、動画に対して他のユーザにより行われた疑似的なカメラワークの特徴を、第２の表示範囲に従ってサブ画面に表示される動画により、端末装置のユーザに、より分かり易く伝えることができる。
【００１３】
請求項２に記載の発明によれば、端末装置において、ストリーミングで動画データを受信しながら、他のユーザにより行われた疑似的なカメラワークの特徴を、第２の表示範囲に従ってサブ画面に表示される動画により、端末装置のユーザに、より分かり易く伝えることができる。
【００１４】
請求項３に記載の発明によれば、サブ画面に表示中の第２の動画の選択指示に応じて、選択指示された第２の動画に対する疑似的なカメラワークを、より分り易くユーザに伝えることができる。
【００１５】
請求項４に記載の発明によれば、低解像度の動画の一部分だけ高解像度の動画を表示させることができるので、端末装置の性能に応じて低解像度と高解像度の動画を柔軟にメイン画面に表示することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態の通信システムＳの概要構成例を示す図である。
【図２】各レイヤの動画を構成する１画像フレームを示す図である。
【図３】メイン画面及びサブ画面の一例を示す図である。
【図４】（Ａ）〜（Ｃ）は、仮想スクリーンの例と、仮想スクリーンに対する表示範囲の例とを示す図である。
【図５】（Ａ）〜（Ｃ）は、制御部２１により生成されたカメラワークデータの一例である。
【図６】クライアント２の制御部２１におけるメイン処理を示すフローチャートである。
【図７】（Ａ）は、クライアント２の制御部２１におけるダウンロード処理を示すフローチャートである。（Ｂ）は、データ群優先順決定処理により生成された取得対象リストの内容の一例を示す図である。
【図８】クライアント２の制御部２１におけるデータ群優先順決定処理を示すフローチャートである。
【図９】（Ａ）は、レイヤ１の画像フレームにおける描画領域を示す図である。（Ｂ）は、レイヤ２の分割画像フレームにおける描画領域を示す図である。（Ｃ）,（Ｄ）は、レイヤ１及びレイヤ２にける動画ストリームにおいて、取得対象候補となる動画データ群が決定される様子を示す図である。
【図１０】クライアント２の制御部２１における再生処理を示すフローチャートである。
【図１１】（Ａ），（Ｂ）は、クライアント２の制御部２１における画面描画処理を示すフローチャートである。
【図１２】（Ａ）は、配信サーバ１の制御部１１におけるワークファイル登録処理を示すフローチャートである。（Ｂ）は、配信サーバ１の制御部１１におけるカメラワークデータ要求受信処理を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面に基づいて説明する。
【００１８】
［１．通信システムＳの構成及び動作概要］
始めに、図１等を参照して、本実施形態の通信システムの構成及び動作概要について説明する。図１は、本実施形態の通信システムＳの概要構成例を示す図である。図１に示すように、通信システムＳは、配信サーバ１、及び複数のクライアント２を含んで構成される。配信サーバ１は、本発明の情報処理装置の一例である。クライアント２は、本発明の端末装置の一例である。また、配信サーバ１とクライアント２とはネットワークＮＷを介して通信可能になっている。ネットワークＮＷは、例えば、インターネット等により構成される。
【００１９】
配信サーバ１は、例えばクライアント２からのコンテンツ、またはコンテンツのカメラワークデータのアップロードを受け付ける。配信サーバ１は、例えばクライアント２からのコンテンツ要求に応じて、コンテンツをクライアント２へ送信する。コンテンツは、動画データを含む。本実施形態では、動画データは、動画を構成する画像フレーム内で、表示手段により表示される表示範囲が、動画の再生位置に応じて変化可能である。このような動画データの一例として、例えばパノラマ動画がある。パノラマ動画は、例えば高解像度のカメラで、且つ広範囲を撮影可能なレンズを搭載するカメラにより被写体が撮影された動画である。広範囲を撮影可能なレンズには、ワイドレンズ、魚眼レンズ、３６０レンズ等がある。再生位置とは、動画データの再生開始からの経過時間である。なお、コンテンツは、音声データを含んでもよい。コンテンツの送信は、例えば、ネットワークＮＷを介してストリーミング配信により行われる。クライアント２は、配信サーバ１からストリーミング配信されたコンテンツを受信する。また、動画データは、カメラにより撮影された動画であれば良い。
【００２０】
また、配信サーバ１は、例えばクライアント２からカメラワークデータのリクエストに応じて、コンテンツのカメラワークデータをクライアント２へ送信する。カメラワークデータは、動画データの再生位置ごと、動画を構成する各画像フレーム内で表示手段により表示される表示範囲を示す情報である。なお、カメラワークデータは、表示範囲情報の一例である。この表示範囲は、１画像フレームのうち表示手段の画面に描画される描画領域に相当する。言い換えれば、表示範囲は、カメラなどにより撮影された画像フレームから切り出される範囲である。このような表示範囲は、例えば、疑似的なカメラワーク（以下、「疑似カメラワーク」という）により指定される。例えば、動画を構成する画像フレームが三次元仮想空間に配置された仮想スクリーンに投影されるものとし、三次元仮想空間において動画を見る人物が存在すると仮定する。疑似カメラワークとは、例えば仮想スクリーンに投影された動画を見る人物の視点位置、視線方向、及び視野面積の少なくともいずれか一つを決めることをいう。言い換えれば、疑似カメラワークとは、仮想カメラの向きや視界の広さなどを決めることをいう。ここで、仮想カメラは、動画を構成する画像フレーム内の描画領域を決定する仮想的なカメラをいう。上記カメラワークデータ（以下、「疑似カメラワークデータ」という）により疑似カメラワークを再現することができる。１つの疑似カメラワークデータは、例えば、動画データの再生開始からの再生終了までの再生時間に含まれる全ての画像フレームにおける表示範囲が示されるとは限らない。つまり、１つの疑似カメラワークデータは、再生時間における一部の時間範囲に含まれる画像フレームにおける表示範囲が示される場合もある。クライアント２は、例えば、ストリーミングでコンテンツを受信しながら、取得された疑似カメラワークデータが示す表示範囲に従って、画像フレーム内の所定の描画領域を表示することで、動画が表示される。
【００２１】
配信サーバ１は、記憶装置３と接続可能になっている。記憶装置３は、例えばハードディスクドライブ（ＨＤＤ）により構成される。記憶装置３は、配信サーバ１に備えられる。或いは、記憶装置３は、配信サーバ１とは異なるサーバに備えられてもよい。記憶装置３は、クライアント２からの要求に応じて、クライアント２へ送信されるＷｅｂページのデータが記憶される。さらに、記憶装置３には、動画データ記憶領域３１ａ、音声データ記憶領域３１ｂ、及びワークファイル記憶領域３１ｃが設けられている。
【００２２】
動画データ記憶領域３１ａには、複数の動画データが記憶される。動画データ記憶領域３１ａに記憶された動画データは、配信サーバ１にアクセス可能な複数のクライアント２間で共有することができる。音声データ記憶領域３１ｂには、複数の音声データが記憶される。音声データ記憶領域３１ｂに記憶された音声データは、配信サーバ１にアクセス可能な複数のクライアント間で共有することができる。
【００２３】
動画データ記憶領域３１ａに記憶された動画データは、複数のカメラにより同じ被写体が別の視点から同期して撮影された複数の動画データであってもよい。また、動画データは、複数のカメラにより異なる被写体が同期して撮影された複数の動画データであってもよい。この複数の動画データの例としては、例えば、舞台で歌唱する人物が撮影された動画データと、この舞台の裏で待機する人物が撮影された動画データと、が挙げられる。また、動画データは、解像度の異なる複数の動画データであってもよい。この場合、１つの動画データから、例えば、低解像度の動画データ、中解像度の動画データ、及び高解像度の動画データが生成される。低解像度の動画データにより低解像度の動画が再生される。中解像度の動画データにより中解像度の動画が再生される。高解像度の動画データにより高解像度の動画が再生される。ここで、低解像度の動画をレイヤ１の動画という。中解像度の動画をレイヤ２の動画という。高解像度の動画をレイヤ３の動画いう。本実施形態では、レイヤ１からレイヤ３までの３つのレイヤを例にとっているが、これに限定されるものではない。また、例えばレイヤ２の動画を構成する各画像フレームと、レイヤ３の動画を構成する各画像フレームは、それぞれ、１画像フレーム全体が複数に分割されるようになっている。
【００２４】
図２は、各レイヤの動画を構成する１画像フレームを示す図である。図２の例では、レイヤ１の１画像フレームあたりのピクセル数は、１Ｍ（メガ）ピクセルである。また、レイヤ２の１画像フレームあたりのピクセル数は、４Ｍピクセルである。また、レイヤ３の１画像フレームあたりのピクセル数は、１６Ｍピクセルである。そして、図２の例では、レイヤ２の画像フレームは４等分に分割されている。つまり、レイヤ２の１画像フレームから、パート１から４までの４つの画像フレームが得られる。このように分割された画像フレームを、「分割画像フレーム」という。一方、レイヤ３の１画像フレームは１６等分に分割されている。このように分割された１分割画像フレームあたりのピクセル数は、１Ｍピクセルである。つまり、図２の例では、レイヤ２及びレイヤ３それぞれの分割画像フレームのピクセル数は、レイヤ１の画像フレームのピクセル数と同一となる。また、画像フレームの分割は、動画を構成する複数の画像フレームで、且つ動画の再生位置が互いに異なる複数の画像フレームごとに行われる。そして、上述したパートごとに、複数の分割画像フレームが纏められて動画データが生成される。この動画データを、「分割動画データ」という。図２の例では、レイヤ２の動画の分割動画データは４つ生成される。つまり、レイヤ２の動画の動画データは、４つの分割動画データから構成される。一方、レイヤ３の動画の分割動画データは１６つ生成される。このように生成された分割動画データは、例えば、それぞれＭＰＥＧ等の所定の圧縮形式で圧縮される。一方、図２に示すレイヤ１では、画像フレームが分割されていない動画データが、所定の圧縮方式で圧縮される。なお、レイヤ１の動画の画像フレームについても、分割されるように構成してもよい。また、図２の例では、画像フレームが格子状に分割されるように構成したが、その他の形状に分割されてもよい。また、図２の例では、同じレイヤにおける各画像フレーム全体の面積が均等になるように分割されているが、不均等になるように分割されてもよい。なお、上述したパートごとの動画データの生成は、配信サーバ１により生成されてもよいし、配信サーバ１とは異なるサーバにより生成されてもよい。
【００２５】
次に、ワークファイル記憶領域３１ｃには、ワークファイルがコンテンツごとに対応付けられて記憶される。ワークファイルには、例えば、コンテンツのタイトル、疑似カメラワークの特徴を示す情報、及び疑似カメラワークデータ等が格納される。ワークファイルには、例えば、このワークファイルを識別するワークＩＤが付与される。疑似カメラワークの特徴を示す情報には、例えば疑似カメラワークにより画面に表示される被写体やシーンの名称や説明文等が含まれる。コンテンツのタイトル及び疑似カメラワークの特徴を示す情報は、疑似カメラワークデータの検索に用いられる。ここで、シーンとは、動画上のある動作の一区切りとなる範囲を示す。このようなシーンには、例えば、歌手が歌唱するシーン、俳優が演じるシーン、又はイベントの様子を映し出すシーンなどがある。なお、ワークファイルには、コンテンツを識別するコンテンツＩＤが含まれてもよい。ワークファイル記憶領域３１ｃに記憶されるワークファイルには、例えば、クライアント２からアップロードされたワークファイルも含まれる。１つのコンテンツには、複数のワークファイルが対応付けられる場合もある。例えば、あるコンテンツに対して、複数のユーザそれぞれにより行われた疑似カメラワークにより指定された表示範囲を示す疑似カメラワークデータが対応付けられる。
【００２６】
そして、配信サーバ１は、図１に示すように、制御部１１及びインターフェース部１２を備えて構成される。制御部１１は、コンピュータとしてのＣＰＵ、ＲＯＭ、及びＲＡＭ等により構成される。制御部１１は、コンテンツの送信又は受信制御、及び疑似カメラワークデータの送信又は受信制御等を行う。制御部１１は、上述したストリーミング配信において、例えば、動画データに基づき動画ストリームを動画データごとに生成する。動画ストリームは、複数の動画データ群から構成される。動画データ群は、動画データの先頭位置から終了位置までが所定の時間単位で区切られたデータである。各動画データ群には、１又は複数の画像フレームＦが含まれる。また、コンテンツに音声データが含まれる場合、配信サーバ１は、音声データに基づき音声ストリームを音声データごとに生成する。音声ストリームは、複数の音声データ群から構成される。音声データ群は、音声データの先頭位置から終了位置までが所定の時間単位で区切られたデータである。そして、配信サーバ１は、生成した動画ストリームに含まれる動画データ群を順次、クライアント２へ送信する。また、配信サーバ１は、生成した音声ストリームに含まれる音声データ群を順次、クライアント２へ送信する。また、制御部１１は、クライアント２から、疑似カメラワークデータのリクエストを受信したとき、リクエストに基づいて、クライアント２へ返信する疑似カメラワークデータを決定する。なお、疑似カメラワークデータの決定方法については後述する。
【００２７】
次に、クライアント２は、図１に示すように、制御部２１、記憶部２２、ビデオＲＡＭ２３、映像制御部２４、操作処理部２５、音声制御部２６、インターフェース部２７、及びバス２８等を備えて構成される。これらの構成要素は、バス２８に接続されている。映像制御部２４には、ディスプレイを備える表示部２４ａが接続される。ディスプレイは、表示手段の一例である。操作処理部２５には、操作部２５ａが接続される。操作部２５ａには、例えば、マウス、キーボード、リモコン等がある。表示部２４ａと操作部２５ａとを兼ねるタッチパネルが適用されてもよい。制御部２１は、ユーザによる操作部２５ａからの操作指示を、操作処理部２５を介して受け付ける。ユーザは、操作部２５ａを用いて、上述した疑似カメラワークの操作を行うことができる。音声制御部２６には、スピーカ２６ａが接続される。インターフェース部２７は、ネットワークＮＷに接続される。
【００２８】
制御部２１は、コンピュータとしてのＣＰＵ、ＲＯＭ、及びＲＡＭ等により構成される。制御部２１は、タイマー機能を備える。制御部２１は、本発明の第１表示手段、取得手段、及び第２表示手段の一例である。記憶部２２は、例えば、例えばハードディスクドライブ（ＨＤＤ）により構成される。記憶部２２には、ＯＳ（Operating System）、及びプレイヤーソフトウェア等が記憶されている。プレイヤーソフトウェアは、コンテンツを再生するためのプログラムである。プレイヤーソフトウェアには、本発明のプログラムが含まれる。なお、プレイヤーソフトウェアは、例えば、ネットワークＮＷに接続された所定のサーバからダウンロードされるようにしてもよい。或いは、プレイヤーソフトウェアは、例えば、記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしてもよい。
【００２９】
制御部２１は、プレイヤーソフトウェアを実行することでコンテンツを再生するプレイヤーとして機能する。制御部２１はプレイヤーの機能により、配信サーバ１からストリーミング配信されたコンテンツを順次取得し、コンテンツを再生させる。プレイヤーの機能により、ディスプレイには、メイン画面及びサブ画面が表示される。メイン画面及びサブ画面には、動画が表示される。メイン画面に表示される動画は、第１の動画の一例である。一方、サブ画面に表示される動画は、第１の動画と同一の動画に対応する第２の動画であって、メイン画面に表示される候補となる第２の動画の一例である。第１の動画の動画データと第２の動画の動画データとは同一であってもよいし、異なってもよい。サブ画面は、例えば、サムネイル画面として複数表示されることが望ましい。図３は、メイン画面及びサブ画面の一例を示す図である。図３の例では、１つのメイン画面ＭＶと、５つのサブ画面ＳＶ１〜ＳＶ５とが表示されている。サブ画面の数は、例えば、ディスプレイの面積に応じて設定される。また、図３の例では、メイン画面ＭＶに表示される動画の動画データと、サブ画面ＳＶ１〜ＳＶ５とに表示される動画の動画データは同一である。つまり、同一の動画データの再生により表示される動画である。また、図３の例では、２つのソース画面ＳｏＶ１，ＳｏＶ２が表示されている。ソース画面ＳｏＶ１，ＳｏＶ２には、それぞれの動画を構成する画像フレームＦ全体が表示される。ソース画面ＳｏＶ１に表示中の動画と、ソース画面ＳｏＶ２に表示中の動画は、例えば、異なるカメラにより異なる位置から撮影されたものである。図３の例では、ソース画面ＳｏＶ１に表示中の動画の動画データが選択されている。そのため、メイン画面ＭＶ及びサブ画面ＳＶ１〜ＳＶ５に表示中の動画の動画データは、ソース画面ＳｏＶ１に表示中の動画の動画データになっている。動画の動画データは、例えばユーザからのソースの選択指示に応じて、制御部２１により切換可能になっている。
【００３０】
そして、サブ画面ＳＶ１〜ＳＶ５には、互いに異なる疑似カメラワークデータに従って、動画が表示される。そのため、動画に対して他のユーザにより行われた疑似カメラワークの特徴を、クライアント２のユーザに、より分かり易く伝えることができる。また、サブ画面ＳＶ１〜ＳＶ５に表示されている動画の再生位置は同一になっている。つまり、サブ画面ＳＶ１〜ＳＶ５に表示されている画像フレームＦは同一であるが、この画像フレームＦにおける表示範囲が互いに異なっている。これは、例えば仮想カメラの向きや視界の広さなどが異なることを意味する。そして、図３の例では、サブ画面ＳＶ１〜ＳＶ５の中で、サブ画面ＳＶ１に表示中の動画が選択されており、選択された動画がメイン画面ＭＶにも表示されている。なお、ソース画面ＳｏＶ１に示す表示枠１００内の表示範囲の動画がサブ画面ＳＶ１及びメイン画面ＭＶに表示されるようになっている。
【００３１】
制御部２１は、サブ画面ＳＶ２〜ＳＶ５に表示中の何れかの動画の選択指示に応じて、メイン画面ＭＶに表示中の動画を、選択指示された動画に切換表示させる。これにより、サブ画面ＳＶ２〜ＳＶ５に表示中の動画の選択指示に応じて、選択指示された動画に対する疑似カメラワークを、より分り易くユーザに伝えることができる。なお、サブ画面ＳＶ１〜ＳＶ５に表示される動画の動画データが異なるように構成してもよい。例えば、サブ画面ＳＶ１〜ＳＶ３に表示される動画の動画データは、ソース画面ＳｏＶ１に表示される動画の動画データが適用される。一方、サブ画面ＳＶ４，ＳＶ５に表示される動画の動画データは、ソース画面ＳｏＶ２に表示される動画の動画データが適用される。この場合において、例えばサブ画面ＳＶ１に表示中の動画が選択されている状態で、例えばサブ画面ＳＶ４に表示中の動画の選択指示がなされたとする。すると、メイン画面ＭＶに表示される動画の動画データが、ソース画面ＳｏＶ１に表示中の動画の動画データから、ソース画面ＳｏＶ２に表示中の動画の動画データに切換えられることになる。
【００３２】
なお、図３の例では、１つのメイン画面がディスプレイに表示される構成を示した。しかし、複数のメイン画面がディスプレイに表示されるように構成してもよい。
【００３３】
制御部２１におけるＲＡＭにはバッファメモリが設けられている。バッファメモリには、例えば配信サーバ１からストリーミング配信されたコンテンツに含まれる動画データ等が一時的に保持される。また、バッファメモリには、例えば配信サーバ１から配信された疑似カメラワークデータが一時的に保持される。制御部２１は、バッファメモリからビデオＲＡＭ２３へ動画データを出力する。ビデオＲＡＭ２３には、メイン画面ＭＶ、サブ画面ＳＶ１〜ＳＶ５、及びソース画面ＳｏＶ１，ＳｏＶ２の描画結果を格納するフレームバッファがＲＡＭに設けられている。例えば、メイン画面ＭＶ、及びサブ画面ＳＶ１〜ＳＶ５のそれぞれに対応するフレームバッファの描画領域には、動画データにより再生される動画を構成する画像フレームＦにおいて、それぞれの疑似カメラワークデータが示す表示範囲に対応する部分の画像データが書き込まれる。また、ソース画面ＳｏＶ１，ＳｏＶ２のそれぞれに対応するフレームバッファの描画領域には、動画データにより再生される動画を構成する画像フレームＦに対応する画像データが書き込まれる。映像制御部２４は、制御部２１からの制御信号に従って、フレームバッファに書き込まれた画像データを、画面に描画することで表示させる。つまり、制御部２１は、ストリーミングで動画データを受信しながら、取得した疑似カメラワークデータが示す表示範囲に従って、メイン画面ＭＶ、サブ画面ＳＶ１〜ＳＶ５、及びソース画面ＳｏＶ１，ＳｏＶ２に動画を表示させる。なお、メイン画面ＭＶには、疑似カメラワークデータが示す表示範囲に従って動画が表示される代わりに、ユーザの疑似カメラワークに応じた表示範囲に従って、動画が表示される場合もある。また、メイン画面ＭＶに動画が表示されているとき、サブ画面ＳＶ１〜ＳＶ５には、それぞれの疑似カメラワークデータが示す表示範囲に従って動画が表示される代わりに、それぞれの疑似カメラワークデータが示す表示範囲の画像（静止画）が表示されるように構成してもよい。また、例えば配信サーバ１からバッファメモリに保持されたコンテンツに音声データが含まれる場合がある。この場合、制御部２１は、バッファメモリから音声データを再生して音声制御部２６へ出力する。音声制御部２６は、音声データからアナログ音声信号を生成し、生成したアナログ音声信号をスピーカ２６ａへ出力する。
【００３４】
また、制御部２１は、ユーザの疑似カメラワークの操作により、メイン画面ＭＶに表示中の動画を構成する画像フレームＦにおける一部分の表示範囲の指示を受け付ける。例えば、制御部２１は、メイン画面ＭＶに表示中の動画を構成する画像フレームＦにおいて表示される表示範囲の変更指示を受け付ける。制御部２１は、この変更指示に応じて、メイン画面ＭＶに表示される表示範囲を変更表示する。言い換えれば、ユーザは、疑似カメラワークの操作により、視点位置、視線方向及び視野面積のうち少なくとも何れか１つを変更することで、メイン画面ＭＶに表示中の動画の表示範囲を変更させることができる。例えば、動画を構成する画像フレームＦが三次元仮想空間に配置された仮想スクリーンに投影されるものとし、三次元仮想空間において動画を見る人物が存在すると仮定する。視点位置は、その人物が動画を見ている位置である。視線方向は、その人物の動画に対する視線の方向である。視野面積は、例えば、三次元仮想空間に配置された仮想スクリーン上において、その人物の視野の範囲にある領域の面積である。なお、視野面積は、その人物の視野の範囲としてもよい。そして、疑似カメラワークの操作により、仮想スクリーン上において、動画の表示範囲が決定される。つまり、仮想スクリーンから、表示範囲として決定された範囲の画像が切り出され、切り出された画像がメイン画面ＭＶに表示される。
【００３５】
図４（Ａ）〜（Ｃ）は、仮想スクリーンの例と、仮想スクリーンに対する表示範囲の例とを示す図である。図４（Ａ）の例では、仮想スクリーンとしてスクリーンＳＣ１が定義される。スクリーンＳＣ１は、長方形の平面スクリーンであり、長方形の平面に動画が投影される。スクリーンＳＣ１上の表示範囲Ｒ１１は、例えば、Ｘ座標、Ｙ座標、幅及び高さにより規定される。例えば、スクリーンＳＣ１の左上の頂点をスクリーンＳＣ１の座標系における原点とする。Ｘ座標及びＹ座標は、視点位置を定める。Ｘ座標は、表示範囲Ｒ１１の左上の頂点の横方向の座標であり、Ｙ座標は、表示範囲Ｒ１１の左上の頂点の縦方向の座標である。例えば三次元仮想空間において、スクリーンＳＣ１から所定距離離れている点を視点と仮定してもよい。例えば、視点を通り、スクリーンＳＣ１と垂直に交わる線を、視線とする。視線とスクリーンＳＣ１とが交わる点が、表示範囲Ｒ１１の中心となる。幅及び高さは、視野面積を定める。幅及び高さは、表示範囲Ｒ１１の横の長さ及び縦の長さである。視線方向は、予め定められている。
【００３６】
図４（Ｂ）の例では、仮想スクリーンとしてスクリーンＳＣ２が定義される。スクリーンＳＣ２は、円筒形のスクリーンであり、円筒の側面に動画が投影される。円筒の側面は、仮想立体面の一例である。スクリーンＳＣ２には、例えば円筒状のパノラマ動画が投影される。パノラマ動画は、例えば、全方位映像である。パノラマ動画は、３６０度より視野角が狭い部分方位映像であってもよい。スクリーンＳＣ２上の表示範囲Ｒ１２は、例えば、方位角、横視野角、及び高さにより規定される。方位角は、視線方向を定める。例えば、スクリーンＳＣ２の円筒の中心軸の中点を、視点とする。また、視点を、三次元仮想空間の座標系における原点とし、スクリーンＳＣ２の中心軸をＺ軸とする。Ｘ軸は、原点を通り、Ｙ軸及びＺ軸に垂直である。Ｙ軸は、原点を通り、Ｘ軸及びＺ軸に垂直である。方位角は、視点からの視線の方向を定める。視線は、例えば、Ｚ軸と垂直である。方位角は、例えば、Ｘ軸と視線とがなす角度である。横視野角及び高さは、視野面積を定める。横視野角は、視線の方向を中心とした横方向の視野の範囲を示す角度である。高さは、表示範囲Ｒ１２の縦の長さである。方位角、横視野角及び高さに基づいて、三次元仮想空間における視野範囲を示す四角錐が定義される。この四角錐がビューボリュームである。ビューボリュームとは、三次元仮想空間において、投影変換の対象となる範囲をいう。実際のビューボリュームは四角錐台であるが、説明の便宜上、四角錐を用いる。ビューボリュームの頂点が視点であり、ビューボリュームの底面の中心を視線が通る。ビューボリュームの側面Ｐ２１〜Ｐ２４のうち、Ｚ軸と平行な側面Ｐ２１と側面Ｐ２２とがなす角度が横視野角である。ビューボリュームとスクリーンＳＣ２とが交わる面の縦方向の長さが、高さである。そして、ビューボリュームとスクリーンＳＣ２とが交わる面が、表示範囲Ｒ１２である。視点位置は、予め定められている。
【００３７】
図４（Ｃ）の例では、仮想スクリーンとしてスクリーンＳＣ３が定義される。スクリーンＳＣ３は、球状のスクリーンであり、球面に動画が表示される。スクリーンＳＣ３には、例えば球状のパノラマ動画が表示される。スクリーンＳＣ３上の表示範囲Ｒ１３は、例えば、方位角、仰俯角、横視野角、縦視野角により規定される。方位角及び仰俯角は、視線方向を定める。三次元仮想空間において、例えば、スクリーンＳＣ３に囲まれている範囲内に、視点が位置する。例えば、スクリーンＳＣ３の球の中心を、視点とする。また、視点を、三次元仮想空間の座標系における原点とし、縦方向の座標軸をＺ軸とする。Ｘ軸は、原点を通り、Ｙ軸及びＺ軸に垂直である。Ｙ軸は、原点を通り、Ｘ軸及びＺ軸に垂直である。方位角は、例えば、ＸＺ平面と視線とがなす角度である。仰俯角は、例えば、ＸＹ平面と視線とがなす角度である。横視野角及び縦視野角は、視野面積を定める。横視野角は、視線の方向を中心とした横方向の視野の範囲を示す角度である。縦視野角は、視線の方向を中心とした縦方向の視野の範囲を示す角度である。ＸＹ平面上の線であって、原点を通り、視線と垂直に交わる線を、視線の縦回転軸とする。原点を通り、視線と縦回転軸とのそれぞれに垂直に交わる線を、視線の横回転軸とする。方位角、仰俯角、横視野角及び縦視野角に基づいて、三次元仮想空間における視野範囲を示す四角錐が定義される。この四角錐がビューボリュームである。ビューボリュームの頂点が視点であり、ビューボリュームの底面の中心を視線が通る。ビューボリュームの側面Ｐ３１〜Ｐ３４のうち、Ｚ軸と平行な側面Ｐ３１と側面Ｐ３２とがなす角度が横視野角である。側面Ｐ３３と側面Ｐ３４とがなす角度が縦視野角である。そして、ビューボリュームとスクリーンＳＣ３とが交わる面が、表示範囲Ｒ１３である。視点位置は、予め定められている。透視変換により、視点位置、視線方向及び視野面積に基づいて、仮想スクリーン上の表示範囲の三次元座標が、二次元座標に変換される。変換された二次元座標により、例えばパノラマ動画を構成する画像フレームＦのうちどの部分が表示範囲内にあるかを特定することができる。方位角及び仰俯角の少なくとも何れかが変化することにより、視線方向が変化すると、視線方向に応じて表示範囲Ｒ１３が変化する。また、縦視野角および横視野角の少なくとも何れかが変化することにより、視野面積が変化すると、視野面積に応じて表示範囲Ｒ１３は変化する。つまり、表示範囲Ｒ１３は、視線方向および視野面積に応じた範囲となる。なお、スクリーンＳＣ３は、一般に視点を完全に覆う立体であればよく、例えば、立方体等の形状をしたスクリーンであってもよい。
【００３８】
なお、スクリーンＳＣ１〜ＳＣ３のうち何れの仮想スクリーンが用いられるかは、例えば、動画データの種類に応じて、仮想スクリーンが決定されてもよい。例えば、パノラマ動画以外の動画に対しては、スクリーンＳＣ１が決定され、円筒状のパノラマ動画に対しては、スクリーンＳＣ２が決定され、球状のパノラマ動画に対しては、スクリーンＳＣ３が決定されてもよい。
【００３９】
また、制御部２１は、メイン画面ＭＶに表示中の動画の上記表示範囲を示す疑似カメラワークデータを生成する。図５（Ａ）〜（Ｃ）は、制御部２１により生成された疑似カメラワークデータの一例である。図５（Ａ）は、仮想スクリーンが長方形のスクリーンＳＣ１である場合の例を示す。図５（Ｂ）は、仮想スクリーンが円筒形のスクリーンＳＣ２である場合の例を示す。図５（Ｃ）は、仮想スクリーンが球形のスクリーンＳＣ３である場合の例を示す。なお、図５（Ａ）の例において、例えば、アスペクト比が１６対９のように決まっている場合、幅と高さの何れか一方が決まれば他方が決まるので、疑似カメラワークデータには幅と高さの何れか一方が含まれればよい。図５（Ａ）〜図５（Ｃ）の例では、０ミリ秒、１６ミリ秒、３３ミリ秒、４９ミリ秒等のそれぞれの再生位置の画像フレームＦにおける表示範囲を示す疑似カメラワークデータを示している。なお、１６ミリ秒は、ディスプレイのリフレッシュレート（６０Ｈｚ）と同程度である。
【００４０】
［２．通信システムＳの動作］
次に、通信システムＳの動作について説明する。
【００４１】
（２−１．クライアント２の処理）
先ず、図６〜図１１を参照して、クライアント２の処理について説明する。図６は、クライアント２の制御部２１におけるメイン処理を示すフローチャートである。図７（Ａ）は、クライアント２の制御部２１におけるダウンロード処理を示すフローチャートである。図８は、クライアント２の制御部２１におけるデータ群優先順決定処理を示すフローチャートである。図１０は、クライアント２の制御部２１における再生処理を示すフローチャートである。図１１（Ａ），（Ｂ）は、クライアント２の制御部２１における画面描画処理を示すフローチャートである。
【００４２】
（２−１−１．メイン処理）
先ず、図６を参照して、クライアント２の制御部２１におけるメイン処理を説明する。例えばクライアント２においてプレイヤーソフトウェアが起動すると、クライアント２はページリクエストを配信サーバ１へ送信する。そして、クライアント２は、ページリクエストに応じて配信サーバ１から送信されたＷｅｂページを受信して表示部２４ａにおけるディスプレイに表示する。このＷｅｂページには、例えば、コンテンツの情報が選択可能に表示される。Ｗｅｂページに表示されるコンテンツの情報は、配信サーバ１にアップロードされた複数のコンテンツの中の一部のコンテンツの情報である。これには、例えば、ユーザに推奨されるコンテンツの情報、またはユーザにより入力されたキーワードに基づき検索されたコンテンツの情報が該当する。コンテンツの情報には、例えば、コンテンツのタイトル、及びファイル構成等の情報が含まれる。そして、ユーザが操作部２５ａを操作して再生対象のコンテンツの情報を選択すると、図６に示すメイン処理を開始する。メイン処理が開始されると、制御部２１は、例えば図３に示すように、メイン画面ＭＶ、サブ画面ＳＶ１〜ＳＶ５、及びソース画面ＳｏＶ１，ＳｏＶ２を、表示部２４ａにおけるディスプレイに表示する（ステップＳ１）。次いで、制御部２１は、図７（Ａ）に示すダウンロード処理と、図１１に示す再生処理を開始する（ステップＳ２）。なお、図７（Ａ）に示すダウンロード処理と、図１０に示す再生処理とは、例えばＯＳのマルチタスク機能により並行して実行される。ダウンロード処理と再生処理の詳細については後述する。
【００４３】
次いで、制御部２１は、メイン画面ＭＶに対する疑似カメラワークの操作入力を「手動」に設定する（ステップＳ３）。これにより、疑似カメラワークの操作入力がユーザによる手動入力となる。つまり、メイン画面ＭＶに表示される動画の表示範囲は、疑似カメラワークデータに依らず、ユーザの疑似カメラワークの操作により変化することになる。次いで、制御部２１は、疑似カメラワークデータのクエリ情報、及びワークファイルの初期化処理を実行する（ステップＳ４）。疑似カメラワークデータのクエリ情報は、疑似カメラワークデータのリクエストに含まれる情報である。クエリ情報には、例えば、再生対象のコンテンツのタイトル、動画の再生位置、及び疑似カメラワークデータの最大返答数が含まれる。初期化処理では、ユーザにより選択された再生対象のコンテンツのタイトルがクエリ情報に設定され、且つ、動画の再生位置として０ミリ秒がクエリ情報に設定される。また、初期化処理では、疑似カメラワークデータの最大返答数として、例えばサブ画面の数がクエリ情報に設定される。また、初期化処理では、ユーザにより選択された再生対象のコンテンツのタイトルがワークファイルに設定される。なお、クエリ情報及びワークファイルには、コンテンツの識別するコンテンツＩＤが設定されてもよい。次いで、制御部２１は、疑似カメラワークデータのクエリ情報を含むリクエストを、ネットワークＮＷを介して配信サーバ１へ送信する（ステップＳ５）。
【００４４】
次いで、制御部２１は、例えばユーザから操作部２５ａを介して終了指示があったか否かを判定する（ステップＳ６）。終了指示があった場合（ステップＳ６：ＹＥＳ）、図６に示す処理は終了する。一方、終了指示がない場合（ステップＳ６：ＮＯ）、ステップＳ７へ進む。ステップＳ７では、制御部２１は、配信サーバ１から疑似カメラワークデータを受信したか否かを判定する。疑似カメラワークデータを受信したと判定された場合（ステップＳ７：ＹＥＳ）、ステップＳ８へ進む。疑似カメラワークデータを受信したと判定されない場合（ステップＳ７：ＮＯ）、ステップＳ９へ進む。
【００４５】
ステップＳ８では、制御部２１は、サブ画面ＳＶ１〜ＳＶ５それぞれに対する疑似カメラワークの操作入力として、ステップＳ７で受信された疑似カメラワークデータを設定し、ステップＳ９へ進む。これにより、疑似カメラワークの操作入力が疑似カメラワークデータに従って行われることになる。つまり、サブ画面ＳＶ１〜ＳＶ５それぞれに表示される動画の表示範囲は、それぞれの疑似カメラワークデータに従う。なお、受信された疑似カメラワークデータが、サブ画面ＳＶ１〜ＳＶ５の数に満たない場合は、余ったサブ画面には何も表示されない。
【００４６】
ステップＳ９では、制御部２１は、ユーザから操作部２５ａを介してサブ画面に表示中の動画の選択指示があったか否かを判定する。例えば、ユーザがマウスで選択したいサブ画面をクリック、またはユーザが指やペン等で選択したいサブ画面をタップすると、サブ画面に表示中の動画の選択指示があったと判定される。そして、サブ画面に表示中の動画の選択指示があったと判定された場合（ステップＳ９：ＹＥＳ）、ステップＳ１０へ進む。一方、サブ画面に表示中の動画の選択指示がないと判定された場合（ステップＳ９：ＮＯ）、ステップＳ１１へ進む。
【００４７】
ステップＳ１０では、制御部２１は、動画の選択指示に応じて、メイン画面ＭＶに対する疑似カメラワークの操作入力として、選択されたサブ画面に対する疑似カメラワークの操作入力として設定されている疑似カメラワークデータを設定する。これにより、メイン画面ＭＶに表示中の動画が、選択指示された動画に切換表示される。
【００４８】
ステップＳ１１では、制御部２１は、ユーザから操作部２５ａを介して、疑似カメラワークの操作があったか否かを判定する。ここで、疑似カメラワークの具体的な操作として、例えば、ドラック操作、及びフリック操作がある。ドラック操作では、例えば、ユーザがメイン画面ＭＶをマウスによりドラックすることで表示範囲を移動させることができる。また、フリック操作では、例えば、ユーザがタッチパネル方式のメイン画面ＭＶ上で指やペン等の接触物を素早くスライドすることで表示範囲を移動させることができる。また、疑似カメラワークの具体的な操作として、例えば、ユーザが操作部２５ａに設けられたボタンや画面上に表示されたボタン等を押すことにより、表示範囲を拡大したり縮小させたりする操作がある。この操作の場合、表示範囲の単位時間あたり変動量が大きくなりながら表示範囲が拡大又は縮小する変動が行われ、その後、単位時間あたり変動量が一定となって、表示範囲が変動する。ユーザがボタンを押すことをやめる操作を行わない限り、表示範囲が変動し、表示範囲の大きさが最大又は最少となった時点で、変動は停止する。仮想スクリーンが長方形のスクリーンＳＣ１である場合、表示範囲の拡大・縮小は、表示範囲Ｒ１１の幅及び高さの変動である。仮想スクリーンが円筒形のスクリーンＳＣ２である場合、表示範囲の拡大・縮小は、横視野角及び高さの変動である。仮想スクリーンが円筒形のスクリーンＳＣ３である場合、表示範囲の拡大・縮小は、縦視野角及び横視野角の変動である。なお、上述した操作は、あくまでも例示に過ぎず、その他の操作により疑似カメラワークが行われてもよい。
【００４９】
そして、疑似カメラワークの操作があったと判定された場合（ステップＳ１１：ＹＥＳ）、ステップＳ１２へ進む。一方、疑似カメラワークの操作がないと判定された場合（ステップＳ１１：ＮＯ）、ステップＳ１４へ進む。ステップＳ１２では、制御部２１は、メイン画面ＭＶに対する疑似カメラワークの操作入力が「手動」に設定されていなければ「手動」に設定する。次いで、制御部２１は、疑似カメラワークの操作により、動画を構成する画像フレームＦにおける表示範囲の指示が受け付けられたときの再生位置に対応する上記表示範囲を示す疑似カメラワークデータをクエリ情報に設定し（ステップＳ１３）、ステップＳ１９へ進む。これにより、疑似カメラワークデータが設定されたクエリ情報が配信サーバ１へ送信される。ここで、「指示が受け付けられたときの再生位置」を「指示受付時の再生位置」という。指示受付時の再生位置に対応する上記表示範囲を示す疑似カメラワークデータは、例えば、指示受付時の再生位置の上記表示範囲を示す疑似カメラワークデータである。或いは、指示受付時の再生位置に対応する上記表示範囲を示す疑似カメラワークデータは、指示受付時の再生位置から過去Ｔｐ（例えば、３）秒間までの何れかの時点における表示範囲を示す疑似カメラワークデータであってもよい。或いは、指示受付時の再生位置に対応する上記表示範囲を示す疑似カメラワークデータは、指示受付時の再生位置から未来のＴｆ（例えば、３）秒間までの何れかの時点における表示範囲を示す疑似カメラワークデータであってもよい。或いは、指示受付時の再生位置に対応する上記表示範囲を示す疑似カメラワークデータは、過去Ｔｐ秒間から未来のＴｆ秒間までにおける表示範囲を示す疑似カメラワークデータであってもよい。
【００５０】
ここで、未来の表示範囲を示す疑似カメラワークデータの生成方法について説明する。例えば、操作部２５ａにより変更指示が受け付けられると、その後ユーザが何も操作を行わなくとも、一度受け付けられた変更指示に従って表示範囲の変動がしばらくの間持続するようなアルゴリズムがある。このようなアルゴリズムを表示範囲変動持続アルゴリズムという。表示範囲変動持続アルゴリズムでは、変更指示が受け付けられた時点で、その後の表示範囲の変動が継続する間における表示範囲が、予め決定されていることになる。そこで、制御部２１は、この表示範囲変動持続アルゴリズムを用いて、指示受付時よりも後における表示範囲を示す疑似カメラワークデータを生成する。
【００５１】
表示範囲変動持続アルゴリズムを適用可能な操作として、例えば、フリック操作がある。フリック操作がされた場合、例えば、スライドの方向とは逆方向に、スライドの速度に応じて表示範囲が移動する。その後、表示範囲の移動速度は徐々に遅くなり、表示範囲の移動が停止する。この場合、フリック操作が行われた時点で、表示範囲の移動が停止するまでの間における表示範囲が決まる。従って、制御部２１は、表示範囲変動持続アルゴリズムを用いて、未来の表示範囲を示す疑似カメラワークデータを生成することができる。また、表示範囲変動持続アルゴリズムを適用可能な操作として、例えば、表示範囲を拡大したり縮小させたりする操作がある。この操作の場合、制御部２１は、指示受付時の再生位置における表示範囲を示す疑似カメラワークデータと、予め設定された単位時間あたりの増加度、単位時間あたりの変動量の最大値に基づいて、未来の表示範囲を示す疑似カメラワークデータを生成する。このとき、制御部２１は、予め設定された単位時間あたりの増加度で、表示範囲の単位時間あたりの変動量が大きくなるように疑似カメラワークデータを生成する。
【００５２】
なお、上述した操作は、あくまでも例示に過ぎず、未来の表示範囲が予測可能な操作であれば、如何なる操作であってもよい。別の例として、ステップＳ１２において疑似カメラワークの操作入力が「手動」に設定される前に、メイン画面ＭＶに対する疑似カメラワークの操作入力として疑似カメラワークデータが設定されている場合がある。この場合、制御部２１は、設定されていた疑似カメラワークデータが示す指示受付時の再生位置から未来のＴｆ秒間までにおける表示範囲を取得する。そして、制御部２１は、取得した表示範囲を示す疑似カメラワークデータを、未来の表示範囲を示す疑似カメラワークデータとして生成する。
【００５３】
ステップＳ１４では、制御部２１は、ユーザから操作部２５ａを介してキーワードの入力があったか否かを判定する。キーワードは、ユーザが所望の疑似カメラワークデータを検索するためのものである。例えば、ユーザが、あるアーティストグループのコンサートの動画において特定の歌手だけを表示する表示範囲を示す疑似カメラワークデータを検索したい場合があるとする。この場合、ユーザは、上記特定の歌手の名前をキーワードとして入力することになる。キーワードの入力があったと判定された場合（ステップＳ１４：ＹＥＳ）、ステップＳ１５へ進む。一方、キーワードの入力がないと判定された場合（ステップＳ１４：ＮＯ）、ステップＳ１６へ進む。
【００５４】
ステップＳ１５では、制御部２１は、ステップＳ１４で入力されたキーワードをクエリ情報に設定し、ステップＳ１９へ進む。ステップＳ１６では、制御部２１は、ユーザから操作部２５ａを介して入力されたキーワードのクリア指示があったか否かを判定する。キーワードのクリア指示があったと判定された場合（ステップＳ１６：ＹＥＳ）、ステップＳ１７へ進む。一方、キーワードのクリア指示がないと判定された場合（ステップＳ１６：ＮＯ）、ステップＳ１８へ進む。
【００５５】
ステップＳ１７では、制御部２１は、クエリ情報からキーワードを削除し、ステップＳ１９へ進む。ステップＳ１８では、制御部２１は、ユーザによる操作がないまま所定時間が経過したか否かを判定する。この時間は、例えば１秒〜１０秒程度に設定される。ユーザによる操作には、疑似カメラワークの操作が含まれる。ユーザによる操作がないまま所定時間が経過したと判定された場合（ステップＳ１８：ＹＥＳ）、ステップＳ１９へ進む。一方、ユーザによる操作がないまま所定時間が経過していないと判定された場合（ステップＳ１８：ＮＯ）、ステップＳ２１へ進む。
【００５６】
ステップＳ１９では、制御部２１は、疑似カメラワークデータのクエリ情報を含むリクエストを、ネットワークＮＷを介して配信サーバ１へ送信する。これにより、指示受付時の再生位置に対応する画像フレームＦにおいて、指示された表示範囲から、同一の再生位置における画像フレームＦ上で所定の距離以内の表示範囲を示す疑似カメラワークデータが、ステップＳ７で取得される。この疑似カメラワークデータは、後述する図１２（Ｂ）に示すステップＳ７６で決定される。次いで、制御部２１は、ステップＳ１３で疑似カメラワークデータがクエリ情報に設定された場合、この疑似カメラワークデータをクエリ情報から削除し（ステップＳ２０）、ステップＳ２１へ進む。なお、ステップＳ１３で疑似カメラワークデータがクエリ情報に設定されていない場合、そのままステップＳ２１へ進む。
【００５７】
ステップＳ２１では、制御部２１は、クエリ情報に設定されている再生位置を、動画の現在の再生位置に変更設定する。次いで、制御部２１は、現在の再生位置においてメイン画面ＭＶに表示された動画の表示範囲を示す疑似カメラワークデータを、ワークファイルに格納する（ステップＳ２２）。次いで、制御部２１は、ワークファイルに所定時間範囲分の疑似カメラワークデータを蓄積できたか否かを判定する（ステップＳ２３）。ここで、時間範囲は、例えば、３０秒程度に設定される。この場合、例えば、再生位置が０秒〜３０秒の疑似カメラワークデータ、再生位置が３０秒〜６０秒の疑似カメラワークデータ、・・・というように、疑似カメラワークデータが分割されて配信サーバ１へアップロードされることになる。なお、例えば、図６に示すメイン処理の実行中に、ユーザは操作部２５ａからアップロード対象の疑似カメラワークデータに対応する疑似カメラワークの特徴を示す情報を入力することができる。入力された疑似カメラワークの特徴を示す情報は、ワークファイルに格納されることになる。
【００５８】
そして、ワークファイルに所定時間範囲分の疑似カメラワークデータを蓄積できていないと判定された場合（ステップＳ２３：ＮＯ）、ステップＳ６に戻る。一方、ワークファイルに所定時間範囲分の疑似カメラワークデータを蓄積できたと判定された場合（ステップＳ２３：ＹＥＳ）、ステップＳ２４へ進む。ステップＳ２４では、制御部２１は、ワークファイルを、ネットワークＮＷを介して配信サーバ１へ送信する。なお、ワークファイルが分割されて配信サーバ１へ送信されるのではなく、再生開始から再生終了までのワークファイルが一括で動画の再生終了後に送信されるように構成してもよい。次いで、制御部２１は、ワークファイルをクリアし（ステップＳ２５）、ステップＳ６に戻る。
【００５９】
（２−１−２．ダウンロード処理）
次に、図７〜図９を参照して、クライアント２の制御部２１におけるダウンロード処理を説明する。図７（Ａ）に示すダウンロード処理が開始されると、ユーザにより選択されたコンテンツの情報により示される動画データに対応する動画ストリームリストが動画データごとに生成される。例えば、レイヤ１の動画ストリームリスト、レイヤ２のパート１〜パート４それぞれの動画ストリームリスト、及びレイヤ３のパート１〜パート１６それぞれの動画ストリームリストが生成される。動画ストリームリストは、動画ストリームを構成する各動画データ群のシリアル番号を登録するリストである。動画ストリームは、動画データ及び分割動画データの少なくとも何れか一方から配信サーバ１により生成されるものである。シリアル番号は、動画データ群の再生順に付与される。各動画ストリームリストに登録されるシリアル番号の数は同一である。更に、コンテンツに音声データが含まれる場合、音声データに対応する音声ストリームリストが生成される。音声ストリームリストは、音声ストリームを構成する各音声データ群のシリアル番号を登録するリストである。音声ストリームは、音声データから配信サーバ１により生成されるものである。なお、動画ストリームリスト及び音声ストリームリストは、制御部２１により生成される。この場合、動画データまたは音声データの先頭位置から終了位置までを区切る時間単位は、予めプレイヤーソフトウェアに設定されている。或いは、動画ストリームリスト及び音声ストリームリストは、配信サーバ１により生成され、クライアント２へ送信されるように構成してもよい。
【００６０】
図７（Ａ）に示すステップＳ３１では、制御部２１は、コンテンツの再生を終了するか否かを判定する。コンテンツの再生を終了すると判定された場合（ステップＳ３１：ＹＥＳ）、図７（Ａ）に示す処理が終了する。一方、コンテンツの再生を終了しないと判定された場合（ステップＳ３１：ＮＯ）、ステップＳ３２に進む。ステップＳ３２では、制御部２１は、データ群優先順決定処理を実行する。データ群優先順決定処理では、図８に示すように、制御部２１は、現在の再生位置と、推定ネットワーク帯域とを取得する（ステップＳ３２１）。推定ネットワーク帯域は、配信サーバ１とクライアント２との間のネットワークＮＷの帯域（ｂｐｓ）の推定値である。推定ネットワーク帯域は、例えば、クライアント２と配信サーバ１との間のデータ伝送時間が制御部２１により計測されることで算出される。
【００６１】
次いで、制御部２１は、音声ストリームリストから、現在の再生位置を含む音声データ群と、現在の再生位置を含む音声データ群の次の音声データ群とを最優先で取得するデータ群として決定する（ステップＳ３２２）。ここで、現在の再生位置は、ステップＳ３２１で取得された再生位置である。次いで、制御部２１は、ステップＳ３２２で決定された音声データ群のシリアル番号を登録する取得対象リストを生成する（ステップＳ３２３）。取得対象リストに登録されるシリアル番号には、音声データ群のシリアル番号であることを示す情報が付加される。
【００６２】
次いで、制御部２１は、クライアント２の描画性能を示す値を取得する（ステップＳ３２４）。ここで、描画性能は、メイン画面ＭＶに何ピクセル描画できるかを示すレンダリング能力である。言い換えれば、描画性能は、フレームバッファが１メイン画面ＭＶあたり何ピクセル分のデータをバッファリングできるかを示す。なお、ステップＳ３２４における描画性能を示す値の取得は、初回のデータ群優先順決定処理でのみ行われればよい。或いは、描画性能を示す値の取得は、図７（Ａ）に示すダウンロード処理の開始後、ステップＳ３１の処理前に行われるように構成してもよい。
【００６３】
次いで、制御部２１は、ステップＳ３２４で取得された描画性能を示す値に応じて、描画対象とするレイヤの範囲を決定する（ステップＳ３２５）。例えば、クライアント２の描画性能を示す値が、４Ｍ（pixels/frame）であるとする。この場合、図２の例では、レイヤ１及びレイヤ２の画像フレームＦは、１画像フレームＦ全体を描画できる。一方、レイヤ３の画像フレームＦは、画像フレームＦの１／４しか描画できない。そのため、上記ステップＳ３２５では、描画対象とするレイヤの範囲として、レイヤ１及びレイヤ２が決定される。一方、例えば、クライアント２の描画性能を示す値が、２Ｍ（pixels/frame）であるとする。この場合、図２の例では、レイヤ１の画像フレームＦだけが１画像フレームＦ全体を描画できる。そのため、上記ステップＳ３２５では、描画対象とするレイヤの範囲として、レイヤ１が決定される。
【００６４】
次いで、制御部２１は、上記ステップＳ３２５で決定されたレイヤの動画ストリームリストから、現在の再生位置を含む動画データ群と、現在の再生位置を含む動画データ群の次の動画データ群とを決定する（ステップＳ３２６）。この決定は、ステップＳ３２５で決定された全てのレイヤの全ての動画ストリームリストについて行われる。例えば、ステップＳ３２５で決定されたレイヤが、レイヤ１とレイヤ２であるとする。この場合、レイヤ１の動画ストリームリスト、レイヤ２のパート１の動画ストリームリスト、レイヤ２のパート２の動画ストリームリスト、レイヤ２のパート３の動画ストリームリスト、及びレイヤ２のパート４の動画ストリームリストそれぞれについて、動画データ群が決定される。次いで、制御部２１は、現在の再生位置の描画領域に基づいて、上記ステップＳ３２６で決定された動画データ群に含まれる画像フレームＦまたは分割画像フレームの描画率を、上記決定された動画データ群ごとに算出する（ステップＳ３２７）。ここで、画像フレームＦの描画率とは、描画領域の中に画像フレームＦまたは分割画像フレームが占める割合をいう。
【００６５】
図９（Ａ）は、レイヤ１の画像フレームにおける描画領域を示す図である。図９（Ａ）に示すように、レイヤ１では、先頭の画像フレームＦの描画率が１００％である。図９（Ｂ）は、レイヤ２の分割画像フレームにおける描画領域を示す図である。分割画像フレームの場合、１つのパートで描画領域のすべてをカバーできるとは限らない。図９（Ｂ）に示すように、レイヤ２では、パート１における先頭の分割画像フレームの描画率が１７％である。また、パート２における先頭の分割画像フレームの描画率が５０％である。また、パート３における先頭の分割画像フレームの描画率が８％である。また、パート４における先頭の分割画像フレームの描画率が２５％である。このように、レイヤ２のパート２における先頭の分割画像フレームが最も大きい描画率である。また、図９（Ｂ）の例では、破線で示すように、各動画データ群内で描画領域の位置が分割画像フレームごとに変化している。この場合、現在の再生位置の画像フレームＦまたは分割画像フレームの時間的に後に続く画像フレームＦまたは分割画像フレームの描画領域は、例えば、メイン画面ＭＶに対する疑似カメラワークの操作入力として設定されている疑似カメラワークデータに基づいて特定される。一方、メイン画面ＭＶに対する疑似カメラワークの操作入力として疑似カメラワークデータが設定されていない場合、現在の再生位置の画像フレームＦまたは分割画像フレームの時間的に後に続く画像フレームＦまたは分割画像フレームの描画領域は、現在の再生位置の描画領域に基づいて推定される。つまり、描画領域の動きの変化に基づき予測計算される。例えば、複数の分割画像フレーム間において描画領域が右に動いていたら、その次の分割画像フレームにおける描画領域はさらに右に位置することが予測計算される。なお、ステップＳ３２７で算出される分割画像フレームの描画率は、動画データ群に含まれる複数の分割画像フレームの描画率の平均または合計となる。
【００６６】
次いで、制御部２１は、上記ステップＳ３２６で決定された動画データ群のビットレートと、上記ステップＳ３２１で取得された推定ネットワーク帯域とに基づいて、上記ステップＳ３２６で決定された動画データ群の中から、取得対象候補となる動画データ群をレイヤごとに決定する（ステップＳ３２８）。例えば各レイヤの動画データ群のビットレートが、推定ネットワーク帯域以下になるように、取得対象候補となる動画データ群が選定される。ここで、レイヤ２の場合、パート１〜パート４の動画データ群のビットレートの総和が推定ネットワーク帯域以下になるように、取得対象候補となる動画データ群が決定される。
【００６７】
図９（Ｃ）,（Ｄ）は、レイヤ１及びレイヤ２にける動画ストリームにおいて、取得対象候補となる動画データ群が決定される様子を示す図である。図９（Ｃ）,（Ｄ）に示すように、レイヤ１では、上記ステップＳ３２６で決定された全ての動画データ群が決定されている。レイヤ２では、上記ステップＳ３２６で決定されたシリアル番号が「１」の動画データ群の中（図９（Ｃ））で、描画率が５０％の分割画像フレームを含む動画データ群と、描画率が２５％の分割画像フレームを含む動画データ群と、が決定（図９（Ｄ））されている。これは、例えば描画率が１７％の分割画像フレームを含む動画データ群が取得対象候補としてさらに決定されると、「動画データ群のビットレート≦推定ネットワーク帯域」の条件を満たさなくなるためである。一方、上記ステップＳ３２６で決定されたシリアル番号が「２」の動画データ群の中（図９（Ｃ））で、描画率が７０％の分割画像フレームを含む動画データ群と、描画率が２０％の分割画像フレームを含む動画データ群と、が決定（図９（Ｄ））されている。このように、描画率が高い分割画像フレームを含む動画データ群が優先して決定されることになる。これにより、より広い表示範囲に、高画質の画像を表示させることができる。
【００６８】
次いで、制御部２１は、上記ステップＳ３２８で決定された取得対象候補となる動画データ群の中で描画率が基準描画率αである画像フレームＦまたは分割画像フレームを含む動画データ群があるか否かを判定する（ステップＳ３２９）。基準描画率αは、例えば１００％に設定されることが望ましい。ただし、９０％〜１００％の間に設定されてもよい。そして、描画率が基準描画率αである画像フレームＦまたは分割画像フレームを含む動画データ群があると判定された場合（ステップＳ３２９：ＹＥＳ）、ステップＳ３３０へ進む。一方、描画率が基準描画率αである画像フレームＦまたは分割画像フレームを含む動画データ群がないと判定された場合（ステップＳ３２９：ＮＯ）、ステップＳ３３１へ進む。
【００６９】
ステップＳ３３０では、制御部２１は、描画率が基準描画率αである画像フレームＦまたは分割画像フレームを含む動画データ群に対応するレイヤの中で、最も解像度の高いレイヤをベースレイヤとして決定し、ステップＳ３３２へ進む。つまり、複数の動画データ群の中で、解像度が高く、且つ、描画率が高い画像フレームＦを含む動画データ群が優先されて、ベースレイヤの動画データ群として決定される。これにより、より広い表示範囲に、より高画質の画像を表示させることができる。図９（Ｃ），（Ｄ）の例では、描画率が基準描画率αである画像フレームＦを含む動画データ群に対応するレイヤは、レイヤ１のみである。そのため、レイヤ１がベースレイヤとして決定される。なお、描画率が基準描画率αである画像フレームＦまたは分割画像フレームを含む動画データ群に対応するレイヤが、レイヤ１〜レイヤ３であるとする。この場合、最も解像度の高いレイヤであるレイヤ３がベースレイヤとして決定される。また、この場合、レイヤ３よりも解像度の高いレイヤはないので、図８に示す処理は終了し、図７（Ａ）に示す処理に戻る。一方、ステップＳ３３１では、制御部２１は、最も描画率が高い画像フレームＦまたは分割画像フレームを含む動画データ群に対応するレイヤの中で、最も解像度の高いレイヤをベースレイヤとして決定し、ステップＳ３３２へ進む。
【００７０】
ステップＳ３３２では、制御部２１は、上記ステップＳ３３０又はステップＳ３３１で決定されたベースレイヤの動画データ群を、音声データ群の次に優先して取得するデータ群として決定する。次いで、制御部２１は、ステップＳ３３２で決定された動画データ群のシリアル番号を上記取得対象リストに登録する（ステップＳ３３３）。なお、取得対象リストに登録されるシリアル番号には、動画データ群のシリアル番号であることを示す情報、及びレイヤを示す情報が付加される。
【００７１】
次いで、制御部２１は、推定ネットワーク帯域から、ベースレイヤの動画データ群のビットレートを減算した差分ネットワーク帯域を算出する（ステップＳ３３４）。差分ネットワーク帯域は、ネットワークＮＷの帯域の余裕度を示す値の一例である。ネットワークＮＷの余裕度は、クライアント２と配信サーバ１との間のネットワークＮＷの空き帯域ともいう。言い換えれば、ネットワークＮＷの帯域の余裕度は、ネットワークＮＷを介して、クライアント２と配信サーバ１との間で利用可能な利用帯域ともいう。差分ネットワーク帯域は、ネットワークＮＷの帯域と、ベースレイヤの動画データ群を配信サーバ１から取得するために消費する帯域との差である。
【００７２】
次いで、制御部２１は、上記ステップＳ３２６で決定された動画データ群のビットレートと、上記ステップＳ３３４で算出された差分ネットワーク帯域とに基づいて、上記ステップＳ３２６で決定された動画データ群の中から、再度、取得対象候補となる動画データ群をレイヤごとに決定する（ステップＳ３３５）。なお、ベースレイヤの動画データ群は、上記ステップＳ３３２で取得するデータ群として決定されているので、取得対象候補から除外される。例えばベースレイヤ以外のレイヤの動画データ群のビットレートが、差分ネットワーク帯域以下になるように、取得対象候補となる動画データ群が選定される。差分ネットワーク帯域に余裕がある場合、分割画像フレームを含む少なくとも一つの動画データ群が決定される。上記ステップＳ３３５の処理により、差分ネットワーク帯域に応じたデータ量の動画データ群を取得することが可能となる。
【００７３】
次いで、制御部２１は、上記ステップＳ３３５で決定された取得対象候補となる動画データ群の中で描画率が基準描画率β以上の分割画像フレームを含む動画データ群があるか否かを判定する（ステップＳ３３６）。基準描画率βは、例えば７０％に設定される。ただし、６０％〜９０％の間に設定されてもよい。そして、描画率が基準描画率β以上の分割画像フレームを含む動画データ群があると判定された場合（ステップＳ３３６：ＹＥＳ）、ステップＳ３３７へ進む。一方、描画率が基準描画率β以上の分割画像フレームを含む動画データ群がないと判定された場合（ステップＳ３３６：ＮＯ）、図８に示す処理は終了し、図７（Ａ）に示す処理に戻る。
【００７４】
ステップＳ３３７では、制御部２１は、描画率が基準描画率β以上の分割画像フレームを含む動画データ群に対応するレイヤの中で、最も解像度の高いレイヤをサブレイヤとして決定する。次いで、制御部２１は、上記ステップＳ３３８で決定されたサブレイヤの動画データ群を、ベースレイヤの動画データ群の次に優先して取得するデータ群として決定する（ステップＳ３３８）。次いで、制御部２１は、ステップＳ３３８で決定された動画データ群のシリアル番号を上記取得対象リストに登録し（ステップＳ３３９）、図７（Ａ）に示す処理に戻る。なお、取得対象リストに登録されるシリアル番号には、動画データ群のシリアル番号であることを示す情報、レイヤを示す情報、及びパートを示す情報が付加される。
【００７５】
図７（Ｂ）は、データ群優先順決定処理により生成された取得対象リストの内容の一例を示す図である。図７（Ｂ）に示すように、取得対象リストに登録された各データ群のシリアル番号には、優先度が対応付けられている。対応付けられた優先度の値が小さいデータ群ほど、取得する優先度が高いデータ群である。なお、取得対象リストの内容は、コンテンツの再生が進行する従って変化する。
【００７６】
図７（Ａ）に示す処理に戻り、ステップＳ３３では、制御部２１は、取得対象リストを参照して、配信サーバ１から取得するデータ群があるか否かを判定する。取得対象リストにデータ群のシリアル番号が登録されている場合、取得するデータ群があると判定される。そして、取得するデータ群があると判定された場合（ステップＳ３３：ＹＥＳ）、ステップＳ３４へ進む。一方、取得するデータ群がないと判定された場合（ステップＳ３３：ＮＯ）、ステップＳ３１に戻る。
【００７７】
ステップＳ３４では、制御部２１は、変数ｎに「１」をセットする。次いで、制御部２１は、取得対象リストの中で優先度がｎ番のデータ群がバッファメモリに保持されているか否かを判定する（ステップＳ３５）。つまり、図７（Ａ）に示す処理で優先度がｎ番のデータ群が既に取得されているか否かが判定される。そして、優先度がｎ番のデータ群が保持されていないと判定された場合（ステップＳ３５：ＮＯ）、ステップＳ３６に進む。ステップＳ３６では、制御部２１は、優先度がｎ番のデータ群の要求を配信サーバ１へ送信する。これにより、制御部２１は、例えば低解像度より高い中解像度又は高解像度の動画データを構成する複数の分割動画データの中から、取得対象となる少なくとも１つの分割動画データを含むデータ群を配信サーバ１へ要求することができる。そして、制御部２１は、配信サーバ１から、例えば低解像度の動画データを含むデータ群を受信するとともに、低解像度より高い中解像度又は高解像度の分割動画データを含むデータ群を受信することができる。そして、制御部２１は、データ群の取得が成功したか否かを判定する（ステップＳ３７）。データ群の要求に応じて配信サーバ１からデータ群が受信されない場合、データ群の取得が失敗したと判定され（ステップＳ３７：ＮＯ）、ステップＳ３８へ進む。ステップＳ３８では、データ群取得失敗メッセージがユーザへ通知され、図７（Ａ）に示す処理が終了する。データ群取得失敗メッセージは、データ群の取得失敗を示すメッセージである。
【００７８】
一方、データ群の要求に応じて配信サーバ１からストリーミング配信されたデータ群の受信が完了した場合、データ群の取得が成功したと判定される（ステップＳ３７：ＹＥＳ）。この場合、制御部２１は、ステップＳ３１へ戻り、コンテンツの再生を終了しない場合（ステップＳ３１：ＮＯ）、再び、データ群優先順決定処理を実行する（ステップＳ３２）。つまり、データ群が取得されるごとにデータ群優先順決定処理で、取得対象となるデータ群が決定されることになる。前回のデータ群優先順決定処理からさほど時間が経過していなければ、現在の再生位置を含むデータ群に変化はない。そのため、再び実行されたデータ群優先順決定処理で生成された取得対象リストの内容は、前回のデータ群優先順決定処理で生成された取得対象リストの内容と同一となる。この場合、ステップＳ３５で、優先度がｎ番のデータ群が保持されていると判定されると（ステップＳ３５：ＹＥＳ）、ステップＳ３９へ進む。ステップＳ３９では、制御部２１は、変数ｎに「１」を加算する。次いで、制御部２１は、変数ｎがデータ群数より大きいか否かを判定する（ステップＳ４０）。データ群数とは、取得対象リストにシリアル番号が登録されているデータ群の数である。そして、変数ｎがデータ群数より大きくないと判定された場合（ステップＳ４０：ＮＯ）、ステップＳ３５に戻る。このとき、優先度がｎ＋１番のデータ群が保持されていなければ、ｎ＋１番のデータ群の要求が配信サーバ１へ送信される（ステップＳ３６）。一方、変数ｎがデータ群数より大きいと判定された場合（ステップＳ４０：ＹＥＳ）、ステップＳ３１に戻る。この場合、そのときの取得対象リストに登録されている全てのデータ群が取得された場合である。以上のように、データ群優先順決定処理は、データ群が配信サーバ１から取得されるたびに行われる。そのため、動画データの再生進行状況及び取得進行状況に応じて、各時点で最適なデータ群を取得対象として決定することができる。
【００７９】
なお、動画の動画データが複数ある場合において、それぞれの動画データに対応するメイン画面ＭＶが設けられる場合がある。この場合、図７（Ａ）に示すダウンロード処理は、それぞれの動画データに対応する動画データを取得するために実行される。
【００８０】
なお、上記ダウンロード処理では、解像度の異なる複数の動画データを例にとったが、解像度が同一の動画データであってもよい。
【００８１】
（２−１−３．再生処理）
次に、図１０及び図１１を参照して、クライアント２の制御部２１における動画の再生処理を説明する。図１０に示す再生処理が開始されると、制御部２１は、クライアント２の描画性能を示す値を取得する（ステップＳ５１）。次いで、制御部２１は、コンテンツの再生を終了するか否かを判定する（ステップＳ５２）。コンテンツの再生を終了すると判定された場合（ステップＳ５２：ＹＥＳ）、図１０に示す処理を終了する。一方、コンテンツの再生を終了しないと判定された場合（ステップＳ５２：ＮＯ）、ステップＳ５３へ進む。
【００８２】
ステップＳ５３では、制御部２１は、コンテンツは再生可能な状態にあるか否かを判定する。例えば、再生に十分な動画データ群がバッファメモリに保持されている場合、再生可能な状態にあると判定される。再生可能な状態にあると判定された場合（ステップＳ５３：ＹＥＳ）、ステップＳ５４へ進む。一方、再生可能な状態にないと判定された場合（ステップＳ５３：ＮＯ）、ステップ５２に戻る。ステップＳ５４では、制御部２１は、動画が再生中であるか否かを判定する。例えば、画像フレームＦが遷移中である場合、動画が再生中であると判定され（ステップＳ５４：ＹＥＳ）、ステップＳ５５へ進む。一方、動画が再生中でないと判定された場合（ステップＳ５４：ＮＯ）、ステップＳ５７へ進む。再生中でないとは、一時停止中が該当する。
【００８３】
ステップＳ５５では、制御部２１は、画面描画処理を実行する。この画面描画処理の詳細は後述する。次いで、制御部２１は、現在の再生位置を次の画像フレームＦに移動させ（ステップＳ５６）、ステップＳ５２に戻る。ステップＳ５７では、制御部２１は、現在の描画領域が前回描画時の描画領域と異なるか否かを判定する。現在の描画領域が前回描画時の描画領域と異ならないと判定された場合（ステップＳ５７：ＮＯ）、ステップＳ５２に戻る。一方、現在の描画領域が前回描画時の描画領域と異なると判定された場合（ステップＳ５７：ＹＥＳ）、ステップＳ５８へ進む。ステップＳ５８では、制御部２１は、画面描画処理を実行する。これは、一時停止中であっても、ユーザにより疑似カメラワークの操作により描画領域が更新された場合、再度、画面描画処理を行う必要があるためである。
【００８４】
図１１（Ａ）は、メイン画面ＭＶに対する画面描画処理を示す。一方、図１１（Ｂ）は、サブ画面ＳＶ１〜ＳＶ５それぞれに対する画面描画処理を示す。これらの画面描画処理は、例えばＯＳのマルチタスク機能により並行して実行される。
【００８５】
メイン画面ＭＶに対する画面描画処理では、図１１（Ａ）に示すように、制御部２１は、現在の再生位置を特定する（ステップＳ５５１）。次いで、制御部２１は、上記ステップＳ５１で取得された描画性能を示す値に基づいて、描画対象のレイヤの範囲を決定する（ステップＳ５５２）。ステップＳ５５２の処理は、ステップＳ３２５の処理と同様である。次いで、制御部２１は、取得済の動画データ群の中で、所定条件を満たす動画データ群を決定する（ステップＳ５５３）。例えば、所定条件として以下の（ａ）〜（ｃ）の全ての条件を満たす動画データ群が決定される。
【００８６】
（ａ）現在の再生位置を含むこと
（ｂ）現在の描画領域に画像フレームＦまたは分割画像フレームの少なくとも一部が含まれること
（ｃ）描画対象のレイヤに属すること
【００８７】
ここで、現在の再生位置は、上記ステップＳ５５１で特定された再生位置である。また、現在の描画領域は、例えばメイン画面ＭＶに対する疑似カメラワークの操作入力にしたがって特定される。また、描画対象のレイヤは、上記ステップＳ５５２で決定されたレイヤである。
【００８８】
次いで、制御部２１は、上記ステップＳ５５３で決定された動画データ群の情報を登録する描画対象リストを生成する（ステップＳ５５４）。動画データ群の情報とは、例えば、動画データ群のシリアル番号である。次いで、制御部２１は、描画対象リストに登録された動画データ群の情報を高画質順にソートする（ステップＳ５５５）。つまり、動画データ群に含まれる動画データの解像度が高い順に動画データ群の情報が並び替えられる。ここで、並び替え対象となる動画データには、分割動画データも含まれる。次いで、制御部２１は、メイン画面ＭＶに対応するフレームバッファの描画領域をクリアする（ステップＳ５５６）。
【００８９】
次いで、制御部２１は、変数ｎに「１」をセットする（ステップＳ５５７）。次いで、制御部２１は、描画対象リストの中で解像度が高いｎ番目の動画データ群に含まれる例えば１画像フレームＦまたは１分割画像フレーム分の画像データをバッファメモリから出力する（ステップＳ５５８）。そして、制御部２１は、動画を構成する画像フレームＦまたは分割画像フレームにおいて上記特定された描画領域に対応するピクセルのデータをフレームバッファに書き込む（ステップＳ５５９）。ただし、この書き込みは、既に書き込み済みのピクセルが上書きされないように制御される。
【００９０】
次いで、制御部２１は、フレームバッファに、画像フレームＦまたは分割画像フレームにおいて必要なピクセルのデータが全て書き込まれたか否かを判定する（ステップＳ５６０）。フレームバッファに必要なピクセルのデータが全て書き込まれていないと判定された場合（ステップＳ５６０：ＮＯ）、ステップＳ５６１に進む。一方、フレームバッファに必要なピクセルのデータが全て書き込まれたと判定された場合（ステップＳ５６０：ＹＥＳ）、ステップＳ５６３に進む。
【００９１】
ステップＳ５６１では、制御部２１は、変数ｎに「１」を加算する。次いで、制御部２１は、変数ｎがデータ群数より大きいか否かを判定する（ステップＳ５６２）。データ群数とは、描画対象リストに情報が登録されている動画データ群の数である。そして、変数ｎがデータ群数より大きくないと判定された場合（ステップＳ５６２：ＮＯ）、ステップＳ５５８に戻る。ステップＳ５５８の処理は、複数回繰り返し行われるが、解像度が高い動画データが優先して再生される。そのため、最初の処理では、解像度が高い分割画像フレームにおいて必要なピクセルのデータが書き込まれる。以後の処理では、分割画像フレームおいて必要なピクセルのデータが書き込まれなかったフレームバッファの書き込み領域に、例えば低解像度の動画を構成する画像フレームＦが書き込まれる。一方、変数ｎがデータ群数より大きいと判定された場合（ステップＳ５６２：ＹＥＳ）、ステップＳ５６３へ進む。ステップＳ５６３では、制御部２１は、フレームバッファの内容をメイン画面ＭＶに表示させる。これにより、制御部２１は、例えば低解像度の動画データにより再生される動画をメイン画面ＭＶに表示させるとともに、この動画の画像フレームＦの少なくとも一部分に、例えば中解像度又は高解像度の分割動画データにより再生される動画を表示させる。これにより、クライアント２の性能に応じて低解像度と高解像度の動画を柔軟にメイン画面ＭＶに表示することができる。なお、音声データが再生されている場合、制御部２１は、音声データの再生位置に同期させて動画を表示させる。また、動画の動画データが複数ある場合において、それぞれの動画データに対応するメイン画面ＭＶが設けられる場合がある。この場合、図１１（Ａ）に示す画面描画処理は、それぞれの動画データに対応する動画を表示するために実行される。
【００９２】
一方、サブ画面ＳＶ１〜ＳＶ５それぞれに対する画面描画処理では、図１１（Ｂ）に示すように、制御部２１は、現在の再生位置を特定する（ステップＳ５７１）。次いで、制御部２１は、取得済の動画データ群の中で、現在の再生位置を含み、且つ動画データ群に含まれる動画データの解像度が最も低い動画データ群を決定する（ステップＳ５７２）。動画データの解像度が最も低い動画データ群は、例えばレイヤ１の動画ストリームに含まれていた動画データ群である。次いで、制御部２１は、サブ画面ＳＶ１〜ＳＶ５それぞれに対応するフレームバッファの描画領域をクリアする（ステップＳ５７３）。
【００９３】
次いで、制御部２１は、ステップＳ５７２で決定された動画データ群に含まれる１画像フレームＦの動画データをバッファメモリから出力する（ステップＳ５７４）。次いで、制御部２１は、動画を構成する画像フレームＦにおいて描画領域に対応するピクセルのデータをフレームバッファに書き込む（ステップＳ５７５）。この描画領域は、上記ステップＳ８で疑似カメラワークの操作入力としてサブ画面ＳＶ１〜ＳＶ５のそれぞれに設定された疑似カメラワークデータが示す表示範囲から決定される。次いで、制御部２１は、フレームバッファの内容をサブ画面ＳＶ１〜ＳＶ５それぞれに表示させる（ステップＳ５７６）。これにより、制御部２１は、低解像度の動画データにより再生される動画をサブ画面ＳＶ１〜ＳＶ５のそれぞれに表示させる。
【００９４】
なお、上記再生処理では、解像度の異なる複数の動画データを例にとったが、解像度が同一の動画データであってもよい。
【００９５】
（２−２．配信サーバ１の処理）
次に、図１２を参照して、配信サーバ１の処理について説明する。図１２（Ａ）は、配信サーバ１の制御部１１におけるワークファイル登録処理を示すフローチャートである。図１２（Ｂ）は、配信サーバ１の制御部１１における疑似カメラワークデータ要求受信処理を示すフローチャートである。
【００９６】
図１２（Ａ）に示すワークファイル登録処理は、クライアント２から、上記ステップＳ２４で送信されたワークファイルが受信された場合に開始される。ワークファイル登録処理が開始されると、制御部１１は、取得されたワークファイルに設定されたコンテンツのタイトルに基づきコンテンツの動画データを動画データ記憶領域３１ａから特定する（ステップＳ６１）。
【００９７】
次に、図１２（Ｂ）に示す疑似カメラワークデータ要求受信処理は、クライアント２から、上記ステップＳ５又はステップＳ１９で送信された、疑似カメラワークデータのリクエストが受信された場合に開始される。このリクエストには、上述したクエリ情報が含まれる。疑似カメラワークデータ要求受信処理が開始されると、制御部１１は、ワークファイル記憶領域３１ｃに記憶されたワークファイルのうち、クエリ情報に設定されたコンテンツのタイトルが対応付けられた疑似カメラワークデータを返答候補として取得する（ステップＳ７０）。
【００９８】
次いで、制御部１１は、ステップＳ７０で取得された返答候補のうち、クエリ情報に設定された再生位置が含まれる疑似カメラワークデータを、新たな返答候補として決定する（ステップＳ７１）。つまり、ステップＳ７０で決定された返答候補から、クエリ情報に設定された再生位置が含まれる疑似カメラワークデータに絞り込まれる。
【００９９】
次いで、制御部１１は、クエリ情報にキーワードが設定されているか否かを判定する（ステップＳ７２）。クエリ情報にキーワードが設定されていると判定された場合（ステップＳ７２：ＹＥＳ）、ステップＳ７３へ進む。一方、クエリ情報にキーワードが設定されていないと判定された場合（ステップＳ７２：ＮＯ）、ステップＳ７４へ進む。
【０１００】
ステップＳ７３では、制御部１１は、ステップＳ７１で決定された返答候補のうち、クエリ情報に設定されたキーワードが対応付けられた疑似カメラワークデータを、新たな返答候補として決定する。例えば、クエリ情報に設定されたキーワードが、ワークファイル中のコンテンツのタイトル又は疑似カメラワークの特徴を示す情報中に含まれる場合、このワークファイルに格納された疑似カメラワークデータが新たな返答候補として決定される。
【０１０１】
ステップＳ７４では、制御部１１は、クエリ情報に疑似カメラワークデータが設定されているか否かを判定する。クエリ情報に疑似カメラワークデータが設定されていると判定された場合（ステップＳ７４：ＹＥＳ）、ステップＳ７５へ進む。一方、クエリ情報に疑似カメラワークデータが設定されていないと判定された場合（ステップＳ７４：ＮＯ）、ステップＳ７７へ進む。
【０１０２】
ステップＳ７５では、制御部１１は、クエリ情報に設定されたコンテンツのタイトルからコンテンツの動画データを動画データ記憶領域３１ａから特定する。次いで、制御部１１は、ステップＳ７１又はステップＳ７３で決定された返答候補のうち、クエリ情報に設定された疑似カメラワークデータが示す表示範囲から、ステップＳ７５で特定された動画データにおいて、同一の再生位置における画像フレームＦ上で所定の距離以内の表示範囲を示す疑似カメラワークデータを、新たな返答候補として決定する。ここで、所定の距離とは、画像フレームＦ上で近いと判断される距離である。この距離は、例えば１０ｃｍ以下に設定される。ここで、クエリ情報に設定された疑似カメラワークデータを、以下、「第１の疑似カメラワークデータ」という。ステップＳ７１又はステップＳ７３で決定された返答候補である疑似カメラワークデータを、以下、「第２の疑似カメラワークデータ」という。ステップＳ７６の処理は、仮想スクリーンの種類によって異なるように設定することができる。
【０１０３】
例えば、仮想スクリーンが長方形のスクリーンＳＣ１の場合がある。この場合、制御部１１は、第１の疑似カメラワークデータが示す表示範囲における第１の所定点と、第２の疑似カメラワークデータが示す表示範囲における第２の所定点との間の距離を算出する。第１の所定点及び第２の所定点は、それぞれの表示範囲の中心座標（ｘ０，ｙ０）である。第１の所定点及び第２の所定点は、図４（Ａ）の例では、表示範囲Ｒ１１の中心である。或いは、第１の所定点及び第２の所定点は、それぞれの表示範囲の４隅のうち何れかの隅の座標（ｘ１，ｙ１）でもよい。そして、制御部１１は、算出した距離が閾値以下であるか否かを判定する。算出した距離が閾値以下である場合、制御部１１は、第２の疑似カメラワークデータを、新たな返答候補として決定する。
【０１０４】
一方、仮想スクリーンが円筒形のスクリーンＳＣ２又は球形のスクリーンＳＣ３である場合がある。この場合、同一の再生位置における画像フレームＦ上で所定の距離以内であるかは、三次元仮想空間における視点から、疑似カメラワークデータが示す表示範囲における所定点までの視線に基づいて判定される。例えば、第１及び第２の疑似カメラワークデータそれぞれが示す画像フレームＦが三次元仮想空間における仮想立体面に投影されるとする。この場合、制御部１１は、少なくとも、三次元仮想空間における視点からの第１の視線であって第１の疑似カメラワークデータが示す表示範囲における第１の所定点までの第１の視線と、同一の視点からの第２の視線であって第２の疑似カメラワークデータが示す表示範囲における第２の所定点まで第２の視線との間の角度を算出する。ここで、円筒形のスクリーンＳＣ２の場合、視点は、例えば、円筒の中心軸の中点である。この場合の第１の所定点及び第２の所定点は、図４（Ｂ）の例では、表示範囲Ｒ１２の中心である。また、球形のスクリーンＳＣ３の場合、視点、例えば、球の中心である。この場合の第１の所定点及び第２の所定点は、図４（Ｃ）の例では、表示範囲Ｒ１３の中心である。そして、制御部１１は、算出した角度が閾値以下であるか否かを判定する。算出した角度が閾値以下である場合、制御部１１は、第２の疑似カメラワークデータを、新たな返答候補として決定する。
【０１０５】
なお、仮想スクリーンが円筒形のスクリーンＳＣ２である場合、制御部１１は、第１の疑似カメラワークデータが示す表示範囲における第１の所定点と、第２の疑似カメラワークデータが示す表示範囲における第２の所定点との間の距離を算出するように構成してもよい。この場合、第１の所定点及び第２の所定点は、長方形のスクリーンＳＣ１の場合と同様である。そして、制御部１１は、算出した距離が閾値以下である場合、第２の疑似カメラワークデータを、新たな返答候補として決定する。或いは、制御部１１は、上記算出した角度が閾値以下であり、且つ算出した距離が閾値以下である場合、第２の疑似カメラワークデータを、新たな返答候補として決定するように構成してもよい。また、疑似カメラワークデータが複数の再生位置における表示範囲を示す場合がある。この場合、制御部１１は、例えば、再生位置ごとに、ステップＳ７６の処理を行うことで、第２の疑似カメラワークデータを、新たな返答候補として決定するように構成される。
【０１０６】
ステップＳ７７では、制御部１１は、ステップＳ７１、ステップＳ７３、又はステップＳ７６で決定された返答候補の数が、クエリ情報に設定された最大返答数より大きいか否かを判定する。そして、返答候補の数が最大返答数より大きいと判定された場合（ステップＳ７７：ＹＥＳ）、ステップＳ７８へ進む。一方、返答候補の数が最大返答数より大きくないと判定された場合（ステップＳ７７：ＮＯ）、ステップＳ７９へ進む。ステップＳ７８では、制御部１１は、ステップＳ７１、ステップＳ７３、又はステップＳ７６で決定された返答候補のうち、優先度の高い順に上記最大返答数分の疑似カメラワークデータを、新たな返答候補として決定する。ここで、「優先度の高い順」は、例えば、疑似カメラワークデータの登録日時の遅い順、アクセスランキング順、又は「いいね」等のコミュニティ評価の高い順として設定される。
【０１０７】
ステップＳ７９では、制御部１１は、ステップＳ７１、ステップＳ７３、ステップＳ７６、又はステップＳ７８で決定された返答候補である疑似カメラワークデータを、疑似カメラワークデータの要求元であるクライアント２へ返信する。
【０１０８】
以上説明したように、上記実施形態によれば、クライアント２は、メイン画面ＭＶに動画が表示されているときに、配信サーバ１から取得された疑似カメラワークデータが示す表示範囲に従って、メイン画面ＭＶに表示される候補となる動画がサブ画面ＳＶ２〜ＳＶ５に表示されるように構成した。そのため、動画に対して他のユーザにより行われた疑似カメラワークの特徴を、取得された疑似カメラワークデータが示す表示範囲に従ってサブ画面ＳＶ２〜ＳＶ５に表示される動画により、クライアント２のユーザに、より分かり易く伝えることができる。
【０１０９】
なお、上記実施形態において、クライアント２は配信サーバ１からコンテンツ及びコンテンツの疑似カメラワークデータを受信する構成を示した。しかし、ハイブリッド型またはピア型のピアツーピアネットワークにおいて、クライアント２が他のクライアント２からコンテンツ及びコンテンツの疑似カメラワークデータを受信する場合に対しても本発明は適用できる。また、上記実施形態において、クライアント２が記憶装置３と接続可能であるように構成してもよい。この場合、クライアント２は記憶装置３から取得したコンテンツを再生する。そして、クライアント２は、記憶装置３から取得した疑似カメラワークデータに従って、動画を表示することになる。
【符号の説明】
【０１１０】
１  配信サーバ
２  クライアント
３  記憶装置
２１  制御部
２２  記憶部
Ｓ  通信システム
【図１】
2014165839.tif 000003
【図４】
2014165839.tif 000004
【図５】
2014165839.tif 000005
【図６】
2014165839.tif 000006
【図７】
2014165839.tif 000007
【図８】
2014165839.tif 000008
【図１０】
2014165839.tif 000009
【図１１】
2014165839.tif 000010
【図１２】
2014165839.tif 000011
【図２】
2014165839.tif 000012
【図３】
2014165839.tif 000013
【図９】
2014165839.tif 000014