(57)【特許請求の範囲】
【請求項１】
仮想スクリーンに表れる第１動画に対して、仮想カメラの位置または前記仮想カメラの向きと、前記仮想カメラの位置または前記仮想カメラの向きが指定された時間とが対応付けられたカメラワークデータを複数取得する第１取得ステップと、
前記第１取得ステップにより取得された前記カメラワークデータにより特定される表示範囲であって、前記第１動画における表示範囲の位置を、前記第１動画の再生時間に沿って複数の前記カメラワークデータごとに特定する特定ステップと、
前記第１動画を表示可能な表示画面における座標位置であって、前記特定ステップにより特定された位置に対応する座標位置を、前記第１動画の再生時間に沿って、複数の前記カメラワークデータごとに決定する第１決定ステップと、
前記第１決定ステップにより決定された前記表示画面における座標位置に、複数の前記カメラワークデータにより特定される前記表示範囲に含まれる複数の第２動画を同時に表示させる制御ステップと、
前記制御ステップにより同時に表示された複数の前記第２動画の中から、所定の動画が選択されたかを判定する判定ステップと、
を端末装置のコンピュータに実行させるプログラムであって、
前記判定ステップにより、前記制御ステップにより表示された複数の前記第２動画の中から、所定の動画が選択されたと判定された場合、前記制御ステップは、選択された前記第２動画を前記表示画面に表示された前記第１動画と同じ大きさに拡大表示させることを特徴とするプログラム。
【請求項２】
前記第１取得ステップは、前記仮想スクリーンの種類を示す種類情報であって前記カメラワークデータに対応する前記種類情報を取得し、
前記第１決定ステップは、前記第１取得ステップにより取得された種類情報に基づいて、前記特定ステップにより特定された位置に対応する座標位置を前記第１動画の再生時間に沿って決定することを特徴とする請求項１に記載のプログラム。
【請求項３】
前記特定ステップは、前記第１動画における表示範囲の位置を前記第１動画の再生時間に沿って所定時間間隔で特定し、
前記第１決定ステップは、前記特定ステップにより所定時間間隔で特定される前記位置に対応する座標位置を複数の前記カメラワークデータごとに決定し、
前記制御ステップは、前記第１決定ステップにより所定時間間隔で決定される前記表示画面における座標位置に、複数の前記カメラワークデータにより特定される前記表示範囲に含まれる複数の第２動画を表示させることを特徴とする請求項１または２に記載のプログラム。
【請求項４】
前記第１動画における１以上の画素から構成される領域ごとの表示回数を示す表示回数情報を取得する第２取得ステップを更に含み、
前記制御ステップは、前記第２取得ステップにより取得された表示回数情報が示す表示回数に基づいて、前記カメラワークデータにより特定される前記表示範囲に含まれる第２動画の表示サイズを決定し、決定した表示サイズで前記第２動画を表示させることを特徴とする請求項１乃至３の何れか一項に記載のプログラム。
【請求項５】
前記制御ステップは、それぞれの前記カメラワークデータにより特定される前記表示範囲に含まれる第２動画の前記座標位置間の距離が所定距離以上離れた位置に前記座標位置を調整し、調整した座標位置に前記第２動画を表示させることで第２動画同士が重ならないように表示することを特徴とする請求項１乃至４の何れか一項に記載のプログラム。
【請求項６】
仮想スクリーンに表れる第１動画に対して、仮想カメラの位置または前記仮想カメラの向きと、前記仮想カメラの位置または前記仮想カメラの向きが指定された時間とが対応付けられたカメラワークデータを複数取得する取得手段と、
前記取得手段により取得された前記カメラワークデータにより特定される表示範囲であって、前記第１動画における表示範囲の位置を、前記第１動画の再生時間に沿って複数の前記カメラワークデータごとに特定する特定手段と、
前記第１動画を表示可能な表示画面における座標位置であって、前記特定手段により特定された位置に対応する座標位置を、前記第１動画の再生時間に沿って、複数の前記カメラワークデータごとに決定する決定手段と、
前記決定手段により決定された前記表示画面における座標位置に、複数の前記カメラワークデータにより特定される前記表示範囲に含まれる複数の第２動画を同時に表示させる制御手段と、
前記制御手段により表示された複数の前記第２動画の中から、所定の動画が選択されたかを判定する判定手段と、
を備える端末装置であって、
前記判定手段により、前記制御手段により同時に表示された複数の前記第２動画の中から、所定の動画が選択されたと判定された場合、前記制御手段は、選択された前記第２動画を前記表示画面に表示された前記第１動画と同じ大きさに拡大表示させることを特徴とする端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の動画を表示画面に表示させる端末装置の技術分野に関する。
【背景技術】
【０００２】
従来、複数の視点位置で撮影された複数の動画（映像）のうち、ユーザが所望の視点の動画を視聴することが可能なシステムが知られている。例えば、特許文献１（図８）には、ユーザが視聴中の視点の映像を視聴中画面に表示すると共に、この視点とは異なる視点の４つの映像をユーザが選択できるようにプレビュー画面に表示する映像処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１５９９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、例えばパノラマ動画などの動画に対して、疑似的なカメラワークがユーザにより操作される場合がある。疑似的なカメラワークでは、例えば、所定の入力値に基づいて、オリジナル動画に対する仮想カメラの視点位置または視点方向などが指示される。これにより、オリジナル動画から複数の視点の動画を得ることができる。このような疑似的なカメラワーク技術において、オリジナル動画を例えば特許文献１に開示される視聴中画面に表示させ、オリジナル動画から得られる複数の視点の動画を、例えば特許文献１に開示されるプレビュー画面に表示させることが考えられる。しかしながら、この場合、プレビュー画面に表示された各視点の動画が、相対的にオリジナル動画のどの位置に対応するのかをユーザが直観的に把握することは困難である。
【０００５】
本発明は、以上の点に鑑みてなされたものであり、各視点の動画が相対的にオリジナル動画のどの位置に対応するのかをユーザに直観的に把握させることが可能なプログラム及び端末装置を提供する。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載のプログラムの発明は、仮想スクリーンに表れる第１動画に対して、仮想カメラの位置または前記仮想カメラの向きと、前記仮想カメラの位置または前記仮想カメラの向きが指定された時間とが対応付けられたカメラワークデータを複数取得する第１取得ステップと、前記第１取得ステップにより取得された前記カメラワークデータにより特定される表示範囲であって、前記第１動画における表示範囲の位置を、前記第１動画の再生時間に沿って複数の前記カメラワークデータごとに特定する特定ステップと、前記第１動画を表示可能な表示画面における座標位置であって、前記特定ステップにより特定された位置に対応する座標位置を、前記第１動画の再生時間に沿って、複数の前記カメラワークデータごとに決定する第１決定ステップと、前記第１決定ステップにより決定された前記表示画面における座標位置に、複数の前記カメラワークデータにより特定される前記表示範囲に含まれる複数の第２動画を同時に表示させる制御ステップと、前記制御ステップにより同時に表示された複数の前記第２動画の中から、所定の動画が選択されたかを判定する判定ステップと、を端末装置のコンピュータに実行させるプログラムであって、前記判定ステップにより、前記制御ステップにより表示された複数の前記第２動画の中から、所定の動画が選択されたと判定された場合、前記制御ステップは、選択された前記第２動画を前記表示画面に表示された前記第１動画と同じ大きさに拡大表示させることを特徴とする。
【０００８】
請求項２に記載のプログラムの発明は、請求項１に記載のプログラムにおいて、前記第１取得ステップは、前記仮想スクリーンの種類を示す種類情報であって前記カメラワークデータに対応する前記種類情報を取得し、前記第１決定ステップは、前記第１取得ステップにより取得された種類情報に基づいて、前記特定ステップにより特定された位置に対応する座標位置を前記第１動画の再生時間に沿って決定することを特徴とする。
【０００９】
請求項３に記載のプログラムの発明は、請求項１または２に記載のプログラムにおいて、前記特定ステップは、前記第１動画における表示範囲の位置を前記第１動画の再生時間に沿って所定時間間隔で特定し、前記第１決定ステップは、前記特定ステップにより所定時間間隔で特定される前記位置に対応する座標位置を複数の前記カメラワークデータごとに決定し、前記制御ステップは、前記第１決定ステップにより所定時間間隔で決定される前記表示画面における座標位置に、複数の前記カメラワークデータにより特定される前記表示範囲に含まれる複数の第２動画を表示させることを特徴とする。
【００１０】
請求項４に記載のプログラムの発明は、請求項１乃至３の何れか一項に記載のプログラムにおいて、前記第１動画における１以上の画素から構成される領域ごとの表示回数を示す表示回数情報を取得する第２取得ステップを更に含み、前記制御ステップは、前記第２取得ステップにより取得された表示回数情報が示す表示回数に基づいて、前記カメラワークデータにより特定される前記表示範囲に含まれる第２動画の表示サイズを決定し、決定した表示サイズで前記第２動画を表示させることを特徴とする。
【００１１】
請求項５に記載のプログラムの発明は、請求項１乃至４の何れか一項に記載のプログラムにおいて、前記制御ステップは、それぞれの前記カメラワークデータにより特定される前記表示範囲に含まれる第２動画の前記座標位置間の距離が所定距離以上離れた位置に前記座標位置を調整し、調整した座標位置に前記第２動画を表示させることで第２動画同士が重ならないように表示することを特徴とする。
【００１２】
請求項６に記載の端末装置の発明は、仮想スクリーンに表れる第１動画に対して、仮想カメラの位置または前記仮想カメラの向きと、前記仮想カメラの位置または前記仮想カメラの向きが指定された時間とが対応付けられたカメラワークデータを複数取得する取得手段と、前記取得手段により取得された前記カメラワークデータにより特定される表示範囲であって、前記第１動画における表示範囲の位置を、前記第１動画の再生時間に沿って複数の前記カメラワークデータごとに特定する特定手段と、前記第１動画を表示可能な表示画面における座標位置であって、前記特定手段により特定された位置に対応する座標位置を、前記第１動画の再生時間に沿って、複数の前記カメラワークデータごとに決定する決定手段と、前記決定手段により決定された前記表示画面における座標位置に、複数の前記カメラワークデータにより特定される前記表示範囲に含まれる複数の第２動画を同時に表示させる制御手段と、前記制御手段により表示された複数の前記第２動画の中から、所定の動画が選択されたかを判定する判定手段と、を備える端末装置であって、前記判定手段により、前記制御手段により同時に表示された複数の前記第２動画の中から、所定の動画が選択されたと判定された場合、前記制御手段は、選択された前記第２動画を前記表示画面に表示された前記第１動画と同じ大きさに拡大表示させることを特徴とする。
【発明の効果】
【００１３】
請求項１または７に記載の発明によれば、カメラワークデータにより特定される各視点の第２動画が相対的に第１動画のどの位置に対応するのかをユーザに直観的に把握させることができる。
また、各カメラワークデータに対応する各第２動画をユーザに選択し易くさせることができる。
【００１５】
請求項２に記載の発明によれば、仮想スクリーンの種類に応じて第１動画における位置に対応する座標位置を適切に決定することができる。
【００１６】
請求項３に記載の発明によれば、第１動画における第２動画の位置を動的に変化させることができる。
【００１７】
請求項４に記載の発明によれば、ユーザが関心を示していると考えられる第２動画ほど、第１動画上でより大きく表示させることができる。
【００１８】
請求項５に記載の発明によれば、各カメラワークデータにより特定される表示範囲に含まれる第２動画が重ならないようにすることができる。
【図面の簡単な説明】
【００１９】
【図１】本実施形態の通信システムＳの概要構成例を示す図である。
【図２】（Ａ）は、メイン画面、及びメイン画面上に重畳された複数のサムネイル画面の一例を示す図である。（Ｂ）は、画面分割により表示された複数のサムネイル画面の一例を示す図である。
【図３】（Ａ）〜（Ｃ）は、仮想スクリーンの例と、仮想スクリーンに対する表示範囲の例とを示す図である。
【図４】（Ａ）〜（Ｃ）は、制御部２１により生成されたカメラワークデータの一例である。
【図５】長方形の平面スクリーンに投影されるオリジナル動画に対応するカメラワークデータの正規化の例を示す図である。
【図６】クライアント２の制御部２１におけるメイン処理を示すフローチャートである。
【図７】図６に示すステップＳ２１における画面表示処理を示すフローチャートである。
【図８】図７に示すステップＳ２１７における実施例１の表示画面割当処理を示すフローチャートである。
【図９】図７に示すステップＳ２１７における実施例２の表示画面割当処理を示すフローチャートである。
【図１０】図７に示すステップＳ２１７における実施例２の表示画面割当処理を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態を図面に基づいて説明する。
【００２１】
［１．通信システムＳの構成及び動作概要］
始めに、図１等を参照して、本実施形態の通信システムの構成及び動作概要について説明する。図１は、本実施形態の通信システムＳの概要構成例を示す図である。図１に示すように、通信システムＳは、配信サーバ１、及び複数のクライアント２を含んで構成される。クライアント２は、本発明の端末装置の一例である。また、配信サーバ１とクライアント２とはネットワークＮＷを介して通信可能になっている。ネットワークＮＷは、例えば、インターネット等により構成される。
【００２２】
配信サーバ１は、例えばクライアント２からのコンテンツ、またはコンテンツのカメラワークデータのアップロードを受け付ける。配信サーバ１は、例えばクライアント２からのコンテンツ要求に応じて、コンテンツをクライアント２へ送信する。コンテンツは、動画データを含む。なお、コンテンツは、音声データを含んでもよい。コンテンツの送信は、例えば、ネットワークＮＷを介してストリーミング配信により行われる。クライアント２は、配信サーバ１からストリーミング配信されたコンテンツを受信する。
【００２３】
本実施形態では、動画データは、動画（以下、オリジナル動画）という）を構成する画像フレーム内で、表示手段により表示される表示範囲が、オリジナル動画の再生位置に応じて変化可能である。オリジナル動画は、本発明の第１動画の一例である。オリジナル動画には、例えば、カメラにより撮影された動画や編集により生成された動画等が含まれる。このような動画データの一例として、例えばパノラマ動画がある。パノラマ動画は、例えば高解像度のカメラで、且つ広範囲を撮影可能なレンズを搭載するカメラにより被写体が撮影された動画である。広範囲を撮影可能なレンズには、ワイドレンズ、魚眼レンズ、３６０度レンズ等がある。再生位置とは、動画データの再生開始からの経過時間である。また、１つのコンテンツには、撮影位置、カメラの種類、またはレンズの種類等が異なる複数のカメラそれぞれにより撮影された複数の動画データが含まれる場合もある。１つのコンテンツに含まれる複数の動画データの例として、複数のカメラにより同じ被写体が別の視点から同期して撮影された複数の動画データが挙げられる。また、別の例として、複数のカメラにより異なる被写体が同期して撮影された複数の動画データが挙げられる。例えば、ステージで歌唱する人物が撮影された動画データと、このステージの裏で待機する人物が撮影された動画データと、が挙げられる。また、動画データは、解像度の異なる複数の動画データであってもよい。なお、１つのカメラにより撮影された動画データであっても良い。
【００２４】
また、配信サーバ１は、例えばクライアント２からカメラワークデータのリクエストに応じて、コンテンツのカメラワークデータをクライアント２へ送信する。カメラワークデータは、仮想スクリーンに表れるオリジナル動画に対して、二次元平面または三次元仮想空間における仮想カメラの位置または仮想カメラの向きと、画角（視野範囲）と、仮想カメラの位置または仮想カメラの向きが指定された時間とが対応付けられたデータである。なお、三次元仮想空間は、例えば、コンピュータを用いて表示可能な仮想的な三次元空間を示す。ここで、本実施形態において、仮想カメラとは、二次元平面または三次元仮想空間における仮想スクリーンに表れるオリジナル動画に対して仮想的に設定された視点をいう。「仮想スクリーンに表れる」とは、例えば、仮想スクリーンに投影されることを意味する。カメラワークデータによれば、二次元平面または三次元仮想空間における仮想スクリーンに表れるオリジナル動画の全部または一部を仮想的に撮影する仮想カメラの動きを規定することができる。そして、カメラワークデータによりオリジナル動画における表示範囲が特定される。この表示範囲は、１画像フレームのうち表示画面に描画される描画領域に相当する。言い換えれば、表示範囲は、オリジナル動画を構成する画像フレームから切り出される範囲である。また、仮想カメラの動きは、上述した疑似的なカメラワーク（以下、「疑似カメラワーク」という）により制御される。つまり、疑似カメラワークにより、オリジナル動画に対する仮想カメラの向きや視界の広さなどが決定される。本実施形態のカメラワークデータによれば、疑似カメラワークを再現することができる。また、１つのカメラワークデータは、例えば、動画データの再生開始からの再生終了までの再生時間に対応するとは限らない。つまり、１つのカメラワークデータは、再生時間における一部の時間範囲に対応する場合もある。クライアント２は、例えば、ストリーミングでコンテンツを受信しながら、取得したカメラワークデータに従ってオリジナル動画内の所定の表示範囲に含まれる動画を表示画面に表示する。
【００２５】
配信サーバ１は、記憶装置３と接続可能になっている。記憶装置３は、例えばハードディスクドライブ（ＨＤＤ）により構成される。記憶装置３は、配信サーバ１に備えられる。或いは、記憶装置３は、配信サーバ１とは異なるサーバに備えられてもよい。記憶装置３は、クライアント２からの要求に応じて、クライアント２へ送信されるＷｅｂページのデータが記憶される。さらに、記憶装置３には、動画データ記憶領域３１ａ、音声データ記憶領域３１ｂ、及びワークファイル記憶領域３１ｃが設けられている。
【００２６】
動画データ記憶領域３１ａには、複数の動画データが記憶される。動画データ記憶領域３１ａに記憶された動画データは、配信サーバ１にアクセス可能な複数のクライアント２間で共有することができる。音声データ記憶領域３１ｂには、複数の音声データが記憶される。音声データ記憶領域３１ｂに記憶された音声データは、配信サーバ１にアクセス可能な複数のクライアント間で共有することができる。
【００２７】
次に、ワークファイル記憶領域３１ｃには、ワークファイルがコンテンツごとに対応付けられて記憶される。ワークファイルには、例えば、コンテンツのタイトル、疑似カメラワークの特徴を示す情報、及びカメラワークデータ等が格納される。ワークファイルには、例えば、このワークファイルを識別するワークＩＤが付与される。１つのコンテンツに動画データが複数含まれる場合、ワークファイルには、複数の動画データそれぞれに対応する疑似カメラワークの特徴を示す情報、及びカメラワークデータが含まれてもよい。疑似カメラワークの特徴を示す情報には、例えば疑似カメラワークにより表示画面に表示される被写体やシーンの名称や説明文等が含まれる。コンテンツのタイトル及び疑似カメラワークの特徴を示す情報は、カメラワークデータの検索に用いられる。なお、ワークファイルには、コンテンツを識別するコンテンツＩＤが含まれてもよい。ワークファイル記憶領域３１ｃに記憶されるワークファイルには、例えば、クライアント２からアップロードされたワークファイルも含まれる。なお、１つのコンテンツには、複数のワークファイルが対応付けられる場合もある。例えば、あるコンテンツに対して、複数のユーザそれぞれにより行われた疑似カメラワークに対応するカメラワークデータが対応付けられる。
【００２８】
そして、配信サーバ１は、図１に示すように、制御部１１及びインターフェース部１２を備えて構成される。制御部１１は、ＣＰＵ、ＲＯＭ、及びＲＡＭ等により構成される。制御部１１は、コンテンツの送信又は受信制御、及びカメラワークデータの送信又は受信制御等を行う。
【００２９】
次に、クライアント２は、図１に示すように、制御部２１、記憶部２２、ビデオＲＡＭ２３、映像制御部２４、操作処理部２５、音声制御部２６、インターフェース部２７、及びバス２８等を備えて構成される。これらの構成要素は、バス２８に接続されている。映像制御部２４には、ディスプレイを備える表示部２４ａが接続される。操作処理部２５には、操作部２５ａが接続される。操作部２５ａには、例えば、マウス、キーボード、リモコン等がある。表示部２４ａと操作部２５ａとを兼ねるタッチパネルが適用されてもよい。制御部２１は、ユーザによる操作部２５ａからの操作指示を、操作処理部２５を介して受け付ける。ユーザは、操作部２５ａを用いて、上述した疑似カメラワークの操作を行うことができる。音声制御部２６には、スピーカ２６ａが接続される。インターフェース部２７は、ネットワークＮＷに接続される。
【００３０】
制御部２１は、コンピュータとしてのＣＰＵ、ＲＯＭ、及びＲＡＭ等により構成される。制御部２１は、タイマー機能を備える。制御部２１は、本発明の取得手段、特定手段、決定手段、及び制御手段の一例である。記憶部２２は、例えば、ハードディスクドライブ（ＨＤＤ）により構成される。記憶部２２には、ＯＳ（Operating System）、及びプレイヤーソフトウェア等が記憶されている。プレイヤーソフトウェアは、コンテンツを再生するためのプログラムである。プレイヤーソフトウェアには、本発明のプログラムが含まれる。なお、プレイヤーソフトウェアは、例えば、ネットワークＮＷに接続された所定のサーバからダウンロードされるようにしてもよい。或いは、プレイヤーソフトウェアは、例えば、記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしてもよい。なお、ＨＤＤの代わりにフラッシュメモリーが用いられても良い。
【００３１】
制御部２１は、プレイヤーソフトウェアを実行することでコンテンツを再生するプレイヤーとして機能する。制御部２１はプレイヤーの機能により、配信サーバ１からストリーミング配信されたコンテンツを順次取得し、コンテンツを再生させる。また、制御部２１はプレイヤーの機能により、コンテンツに含まれる動画データに対応する複数のカメラワークデータを配信サーバ１から取得する。また、プレイヤーの機能により、ディスプレイまたは、プレイヤーソフトウェアによりディスプレイに表れるウィンドウには、メイン画面とサムネイル画面の少なくとも何れか一方が表示される。メイン画面は、オリジナル動画を表示可能な表示画面である。メイン画面は、例えば表示部２４ａにおけるディスプレイの表示領域全体である。或いは、メイン画面は、ディスプレイの表示領域上に表れるウィンドウ画面である。一方、サムネイル画面は、カメラワークデータによりオリジナル動画から特定される表示範囲に含まれる動画（以下、「サブ動画」という）を表示可能な表示画面である。サブ動画は、例えば、カメラワークデータによりオリジナル動画から特定される表示範囲から切り出された動画の一部であってもよい。なお、サブ動画は、本発明の第２動画の一例である。例えば、サムネイル画面は、メイン画面上に重畳されて表示される。或いは、サムネイル画面は、画面分割により表示される。
【００３２】
図２（Ａ）は、メイン画面、及びメイン画面上に重畳された複数のサムネイル画面の一例を示す図である。図２（Ａ）の例では、１つのメイン画面ＭＶと、６つのサムネイル画面ＳＶ１〜ＳＶ６とが表示されている。また、図２（Ａ）の例では、サムネイル画面ＳＶ２とサムネイル画面ＳＶ３、サムネイル画面ＳＶ２とサムネイル画面ＳＶ６、及びサムネイル画面ＳＶ５とサムネイル画面ＳＶ６は、その一部領域が重なっている。メイン画面ＭＶには、オリジナル動画が表示される。一方、サムネイル画面ＳＶ１〜ＳＶ６には、６つのカメラワークデータそれぞれによりオリジナル動画から特定された表示範囲に含まれるサブ動画が表示される。サブ動画は、カメラワークデータによりオリジナル動画から特定される位置に対応する座標位置に表示される。ここで、オリジナル動画から特定される位置は、例えば、オリジナル動画においてカメラワークデータにより特定される表示範囲の例えば中心位置である。座標位置は、メイン画面ＭＶの２次元の座標（x,y)で示される。また、サムネイル画面ＳＶ１〜ＳＶ６に表示されているサブ動画の再生位置は同一になっている。なお、６つのカメラワークデータには、メイン画面ＭＶに表示されているオリジナル動画とは異なるオリジナル動画における表示範囲を示すカメラワークデータが含まれる場合もある。また、サムネイル画面ＳＶ１〜ＳＶ６に表示されたサブ動画は、ユーザにより選択可能になっている。何れかのサムネイル画面ＳＶ１〜ＳＶ６がユーザにより操作部２５ａを介して選択された場合、サムネイル画面が例えばメイン画面ＭＶと同じ大きさに広がることで、選択されたサブ動画が拡大表示される。図２（Ａ）の例では、サブ動画を選択するためのカーソル（太枠）Ｋが、サムネイル画面ＳＶ５の縁に重なっている。このような状態で、ユーザが操作部２５ａにより選択指示を行うと、サブ動画が拡大表示されることになる。
【００３３】
図２（Ｂ）は、画面分割により表示された複数のサムネイル画面の一例を示す図である。図２（Ｂ）の例では、６つのサムネイル画面ＳＶ１１〜ＳＶ１６が表示されている。図２（Ｂ）の例では、６つのサムネイル画面ＳＶ１１〜ＳＶ１６が重ならないように表示画面Ｖが区切られて表示されている。サムネイル画面ＳＶ１１〜ＳＶ１６には、６つのカメラワークデータそれぞれによりオリジナル動画から特定された表示範囲に含まれるサブ動画が表示されている。なお、６つのカメラワークデータには、異なるオリジナル動画から特定される表示範囲を示すカメラワークデータが含まれる場合もある。また、サムネイル画面ＳＶ１１〜ＳＶ１６に表示されたサブ動画は、図２（Ａ）と同様、ユーザにより選択可能になっている。何れかのサブ動画がユーザにより操作部２５ａを介して選択された場合、サムネイル画面が例えば表示画面Ｖと同じ大きさに広がることで、選択されたサブ動画が拡大表示される。
【００３４】
制御部２１におけるＲＡＭにはバッファメモリが設けられている。バッファメモリには、例えば配信サーバ１からストリーミング配信されたコンテンツに含まれる動画データ等が一時的に保持される。また、バッファメモリには、例えば配信サーバ１から配信されたカメラワークデータが一時的に保持される。制御部２１は、バッファメモリからビデオＲＡＭ２３へ動画データを出力する。ビデオＲＡＭ２３には、メイン画面及びサムネイル画面の描画結果を格納するフレームバッファがＲＡＭに設けられている。映像制御部２４は、制御部２１からの制御信号に従って、フレームバッファに書き込まれた画像データを表示画面に描画することで表示させる。例えば、制御部２１は、ストリーミングで動画データを受信しながら、メイン画面ＭＶにオリジナル動画を表示し、且つ、カメラワークデータに従ってサムネイル画面ＳＶ１〜ＳＶ６にサブ動画を表示させる。また、例えば配信サーバ１からバッファメモリに保持されたコンテンツに音声データが含まれる場合がある。この場合、制御部２１は、バッファメモリから音声データを再生して音声制御部２６へ出力する。音声制御部２６は、音声データからアナログ音声信号を生成し、生成したアナログ音声信号をスピーカ２６ａへ出力する。
【００３５】
また、制御部２１は、ユーザの疑似カメラワークの操作により、メイン画面ＭＶに表示中のオリジナル動画、または拡大表示されたサブ動画における表示範囲の指示をユーザから受け付ける。言い換えれば、ユーザは、疑似カメラワークの操作により、二次元平面または三次元仮想空間に配置された仮想スクリーンに投影されるオリジナル動画等に対して、仮想カメラの位置、仮想カメラの向き、及び画角（視野範囲）のうち少なくとも何れか１つを変更することで、オリジナル動画または拡大表示されたサブ動画の表示範囲を変更させることができる。ここで、仮想スクリーンの種類は、オリジナル動画を撮影したカメラやレンズの種類によって異なる。例えば、カメラのレンズがワイドレンズである場合、仮想スクリーンは円筒形のスクリーンとなる。一方、例えば、カメラのレンズが魚眼レンズや３６０度レンズである場合、仮想スクリーンは球形のスクリーンとなる。
【００３６】
図３（Ａ）〜（Ｃ）は、仮想スクリーンの例と、仮想スクリーンに対する表示範囲の例とを示す図である。図３（Ａ）の例では、二次元平面における仮想スクリーンとしてスクリーンＳＣ１が定義される。スクリーンＳＣ１は、長方形の平面スクリーンであり、長方形の平面に動画が投影される。スクリーンＳＣ１上の表示範囲Ｒ１１は、例えば、Ｘ座標、Ｙ座標、幅及び高さにより規定される。例えば、スクリーンＳＣ１の左上の頂点をスクリーンＳＣ１の座標系における原点とする。Ｘ座標及びＹ座標は、仮想カメラの位置を定める。Ｘ座標は、表示範囲Ｒ１１の左上の頂点の横方向の座標であり、Ｙ座標は、表示範囲Ｒ１１の左上の頂点の縦方向の座標である。例えば三次元仮想空間において、スクリーンＳＣ１から所定距離離れている視点を仮想カメラの位置と仮定してもよい。例えば、視点を通り、スクリーンＳＣ１と垂直に交わる線を、視線（光軸）とする。視線とスクリーンＳＣ１とが交わる点が、表示範囲Ｒ１１の中心となる。幅及び高さは、視野範囲を定める。幅及び高さは、表示範囲Ｒ１１の横の長さ及び縦の長さである。
【００３７】
図３（Ｂ）の例では、仮想スクリーンとしてスクリーンＳＣ２が定義される。スクリーンＳＣ２は、円筒形のスクリーンであり、円筒の側面に動画が投影される。円筒の側面は、仮想立体面である。スクリーンＳＣ２には、例えば円筒状のパノラマ動画が投影される。パノラマ動画は、例えば、全方位映像である。パノラマ動画は、３６０度より視野角が狭い部分方位映像であってもよい。スクリーンＳＣ２上の表示範囲Ｒ１２は、例えば、方位角、横視野角、及び高さにより規定される。方位角は、視点からの仮想カメラの向き（視線方向）を定める。この視点は、仮想カメラの位置であり、例えば、スクリーンＳＣ２の円筒の中心軸の中点とする。また、視点を、三次元仮想空間の座標系における原点とし、スクリーンＳＣ２の中心軸をＺ軸とする。Ｘ軸は、原点を通り、Ｙ軸及びＺ軸に垂直である。Ｙ軸は、原点を通り、Ｘ軸及びＺ軸に垂直である。視線は、例えば、Ｚ軸と垂直である。このとき、方位角は、例えば、Ｘ軸と視線とがなす角度である。横視野角及び高さは、視野範囲を定める。横視野角は、視線の方向を中心とした横方向の視野の範囲を示す角度である。高さは、表示範囲Ｒ１２の縦の長さである。方位角、横視野角及び高さに基づいて、三次元仮想空間における視野範囲を示す四角錐が定義される。この四角錐がビューボリュームである。ビューボリュームとは、三次元仮想空間において、投影変換の対象となる範囲をいう。実際のビューボリュームは四角錐台であるが、説明の便宜上、四角錐を用いる。ビューボリュームの頂点が視点であり、ビューボリュームの底面の中心を視線が通る。ビューボリュームの側面Ｐ２１〜Ｐ２４のうち、Ｚ軸と平行な側面Ｐ２１と側面Ｐ２２とがなす角度が横視野角である。ビューボリュームとスクリーンＳＣ２とが交わる面の縦方向の長さが、高さである。そして、ビューボリュームとスクリーンＳＣ２とが交わる面が、表示範囲Ｒ１２である。
【００３８】
図３（Ｃ）の例では、仮想スクリーンとしてスクリーンＳＣ３が定義される。スクリーンＳＣ３は、球形のスクリーンであり、球面に動画が表示される。スクリーンＳＣ３には、例えば球形のパノラマ動画が表示される。スクリーンＳＣ３上の表示範囲Ｒ１３は、例えば、方位角、仰俯角、横視野角、縦視野角により規定される。方位角及び仰俯角は、視点からの仮想カメラの向き（視線方向）を定める。この視点は、仮想カメラの位置であり、スクリーンＳＣ３に囲まれている範囲内に位置する。例えば、視点は、スクリーンＳＣ３の球の中心とする。また、視点を、三次元仮想空間の座標系における原点とし、縦方向の座標軸をＺ軸とする。Ｘ軸は、原点を通り、Ｙ軸及びＺ軸に垂直である。Ｙ軸は、原点を通り、Ｘ軸及びＺ軸に垂直である。このとき、方位角は、例えば、ＸＺ平面と視線とがなす角度である。仰俯角は、例えば、ＸＹ平面と視線とがなす角度である。横視野角及び縦視野角は、視野範囲を定める。横視野角は、視線の方向を中心とした横方向の視野の範囲を示す角度である。縦視野角は、視線の方向を中心とした縦方向の視野の範囲を示す角度である。ＸＹ平面上の線であって、原点を通り、視線と垂直に交わる線を、視線の縦回転軸とする。原点を通り、視線と縦回転軸とのそれぞれに垂直に交わる線を、視線の横回転軸とする。方位角、仰俯角、横視野角及び縦視野角に基づいて、三次元仮想空間における視野範囲を示す四角錐が定義される。この四角錐がビューボリュームである。ビューボリュームの頂点が視点であり、ビューボリュームの底面の中心を視線が通る。ビューボリュームの側面Ｐ３１〜Ｐ３４のうち、Ｚ軸と平行な側面Ｐ３１と側面Ｐ３２とがなす角度が横視野角である。側面Ｐ３３と側面Ｐ３４とがなす角度が縦視野角である。そして、ビューボリュームとスクリーンＳＣ３とが交わる面が、表示範囲Ｒ１３である。そして、透視変換により、仮想カメラの位置、仮想カメラの向き、及び画角に基づいて、仮想スクリーン上の表示範囲の三次元座標が、二次元座標に変換される。変換された二次元座標により、例えばパノラマ動画を構成する画像フレームのうちどの部分が表示範囲内にあるかを特定することができる。方位角及び仰俯角の少なくとも何れかが変化することにより、視線方向が変化すると、視線方向に応じて表示範囲Ｒ１３が変化する。また、縦視野角および横視野角の少なくとも何れかが変化することにより、視野範囲が変化すると、視野範囲に応じて表示範囲Ｒ１３は変化する。つまり、表示範囲Ｒ１３は、視線方向および視野範囲に応じた範囲となる。なお、スクリーンＳＣ３は、一般に視点を完全に覆う立体であればよく、例えば、立方体等の形状をしたスクリーンであってもよい。
【００３９】
なお、スクリーンＳＣ１〜ＳＣ３のうち何れの仮想スクリーンが用いられるかは、例えば、動画データの種類に応じて、仮想スクリーンが決定されてもよい。例えば、パノラマ動画以外の動画に対しては、スクリーンＳＣ１が決定され、円筒状のパノラマ動画に対しては、スクリーンＳＣ２が決定され、球形のパノラマ動画に対しては、スクリーンＳＣ３が決定されてもよい。
【００４０】
また、制御部２１は、ユーザの疑似カメラワークの操作により指定された表示範囲を示すカメラワークデータを生成する。図４（Ａ）〜（Ｃ）は、制御部２１により生成されたカメラワークデータの一例である。図４（Ａ）は、仮想スクリーンが長方形の平面スクリーンである場合の例を示す。図４（Ｂ）は、仮想スクリーンが円筒形のスクリーンである場合の例を示す。図４（Ｃ）は、仮想スクリーンが球形のスクリーンである場合の例を示す。なお、図４（Ａ）の例において、例えば、アスペクト比が１６対９のように決まっている場合、幅と高さの何れか一方が決まれば他方が決まるので、カメラワークデータには幅と高さの何れか一方が含まれればよい。図４（Ａ）〜図４（Ｃ）の例では、０ミリ秒、１６ミリ秒、３３ミリ秒、４９ミリ秒等のそれぞれの再生位置の画像フレームにおける表示範囲を示すカメラワークデータを示している。なお、１６ミリ秒は、ディスプレイのリフレッシュレート（６０Ｈｚ）と同程度である。
【００４１】
ところで、１つのコンテンツに、例えばレンズの種類が異なる複数のカメラそれぞれにより撮影された複数の動画データが含まれる場合がある。この場合、仮想スクリーンに投影される各オリジナル動画の注目位置は、仮想スクリーンの中央にあるとは限らない。なお、注目位置には、例えば撮影対象のステージの中央が該当する。本実施形態では、それぞれの仮想スクリーンに投影されたオリジナル動画における注目位置を例えば原点(0,0)として揃え、仮想スクリーンの種類に依らないようにカメラワークデータを正規化する。これにより、ソースとなる動画データが異なっていても、上述したサブ動画が相対的にオリジナル動画のどの位置に対応するのかをユーザに直観的に把握させることが可能となる。
【００４２】
図５は、長方形の平面スクリーンに投影されるオリジナル動画に対応するカメラワークデータの正規化の例を示す図である。図５に示す長方形の平面スクリーンの場合、平面スクリーンの横の長さＷと縦の長さＨの比（アスペクト比）を横軸の取りうる範囲“aspect（＝Ｗ／Ｈ）”とし、縦軸の取りうる範囲を“１”として正規化される。そして、オリジナル動画における注目位置が原点(0,0)になるように、長方形の平面スクリーンにおける左上の頂点の座標(0,0)が移動され、座標軸の向きが揃えられる。このようにして正規化されたカメラワークデータには、Ｘ座標、Ｙ座標、幅及び高さのパラメータに代えて、パン・チルトパラメータ（pan,tilt）、及びズームパラメータ（zoom）が含まれる。パン・チルトパラメータ（pan,tilt）は、仮想カメラの位置または仮想カメラの向きを規定するパラメータである。パン・チルトパラメータ（pan,tilt）は、仮想カメラの左右振りを規定するパンに対応するパラメータと、仮想カメラの上下振りを規定するチルトに対応するパラメータとから構成される。ズームパラメータ（zoom）の値により図５に示す表示範囲（width’×height’）が特定される。なお、仮想スクリーンが円筒形のスクリーン及び球形のスクリーンの場合でも、辺の長さの代わりに角度を用いるだけであり、カメラワークデータの正規化の考え方は同じである。円筒形のスクリーン及び球形のスクリーンの場合でも、正規化されたカメラワークデータには、パン・チルトパラメータ（pan,tilt）、及びズームパラメータ（zoom）が含まれることになる。
【００４３】
［２．通信システムＳの動作］
次に、通信システムＳの動作について説明する。
【００４４】
（実施例１）
先ず、図６〜図８を参照して、実施例１におけるクライアント２の処理について説明する。実施例１では、サムネイル画面がメイン画面上に重畳されて表示される場合の実施例である。図６は、クライアント２の制御部２１におけるメイン処理を示すフローチャートである。図７は、図６に示すステップＳ２１における画面表示処理を示すフローチャートである。図８は、図７に示すステップＳ２１７における実施例１の表示画面割当処理を示すフローチャートである。
【００４５】
先ず、クライアント２においてプレイヤーソフトウェアが起動すると、クライアント２はページリクエストを配信サーバ１へ送信する。そして、クライアント２は、ページリクエストに応じて配信サーバ１から送信されたＷｅｂページを受信して表示部２４ａにおけるディスプレイに表示する。このＷｅｂページには、例えば、コンテンツの情報が選択可能に表示される。Ｗｅｂページに表示されるコンテンツの情報は、配信サーバ１にアップロードされた複数のコンテンツの中の一部のコンテンツの情報である。これには、例えば、ユーザに推奨されるコンテンツの情報、またはユーザにより入力されたキーワードに基づき検索されたコンテンツの情報が該当する。コンテンツの情報には、例えば、コンテンツのタイトル等の情報が含まれる。そして、ユーザが操作部２５ａを操作して再生対象のコンテンツの情報を選択すると、図６に示すメイン処理を開始する。メイン処理が開始されると、制御部２１は、メイン画面を表示部２４ａにおけるディスプレイに表示する（ステップＳ１）。次いで、制御部２１は、コンテンツの受信処理を開始する（ステップＳ２）。これにより、配信サーバ１から、例えばストリーミング配信されたコンテンツが受信され、コンテンツに含まれる動画データの再生が開始される。なお、コンテンツに音声データが含まれている場合、動画データの再生と同期して音声データの再生が開始される。
【００４６】
次いで、制御部２１は、メイン画面に対する疑似カメラワークの操作入力を「手動」に設定する（ステップＳ３）。これにより、疑似カメラワークの操作入力がユーザによる手動入力となる。つまり、メイン画面に表示される動画の表示範囲は、カメラワークデータに依らず、ユーザの疑似カメラワークの操作により変化することになる。次いで、制御部２１は、カメラワークデータのクエリ情報の初期化処理を実行する（ステップＳ４）。カメラワークデータのクエリ情報は、カメラワークデータのリクエストに含まれる情報である。クエリ情報には、例えば、再生対象のコンテンツのタイトル、動画の再生位置、及びカメラワークデータの最大返答数が含まれる。初期化処理では、ユーザにより選択された再生対象のコンテンツのタイトルがクエリ情報に設定され、且つ、動画の再生位置として０ミリ秒がクエリ情報に設定される。また、初期化処理では、カメラワークデータの最大返答数として、例えばサムネイル画面の数がクエリ情報に設定される。なお、クエリ情報には、コンテンツを識別するコンテンツＩＤが設定されてもよい。次いで、制御部２１は、カメラワークデータのクエリ情報を含むリクエストを、ネットワークＮＷを介して配信サーバ１へ送信する（ステップＳ５）。このリクエストを受信した配信サーバ１は、例えば、クエリ情報に含まれるコンテンツＩＤに対応付けられたカメラワークデータをワークファイル記憶領域３１ｃから検索する。そして、配信サーバ１は、検索により取得したカメラワークデータをクライアント２へ返信する。なお、配信サーバ１は、検索された複数のカメラワークデータの中から、ユーザに推奨するカメラワークデータを決定してもよい。例えば、複数のユーザにより評価の高いカメラワークデータが決定される。そして、配信サーバ１は、決定したカメラワークデータをクライアント２へ返信する。
【００４７】
次いで、制御部２１は、例えばユーザから操作部２５ａを介して終了指示があったか否かを判定する（ステップＳ６）。終了指示があった場合（ステップＳ６：ＹＥＳ）、図６に示す処理は終了する。一方、終了指示がない場合（ステップＳ６：ＮＯ）、ステップＳ７へ進む。ステップＳ７では、制御部２１は、配信サーバ１からカメラワークデータを受信したか否かを判定する。このカメラワークデータは、ステップＳ５、または後述するステップＳ２０におけるリクエストに応じて、配信サーバ１から送信されたデータである。カメラワークデータを受信したと判定された場合（ステップＳ７：ＹＥＳ）、ステップＳ８へ進む。これにより、例えばユーザにより入力されたキーワードに基づき検索された複数のカメラワークデータ、またはユーザに推奨される複数のカメラワークデータが取得されることになる。一方、カメラワークデータを受信したと判定されない場合（ステップＳ７：ＮＯ）、ステップＳ９へ進む。
【００４８】
ステップＳ８では、制御部２１は、既に記憶されているカメラワークデータの集合を、ステップＳ７の受信により取得されたカメラワークデータに置き換える。ステップＳ９では、制御部２１は、サムネイル画面表示がオンに設定されているか否かを判定する。サムネイル画面表示がオンに設定されている場合（ステップＳ９：ＹＥＳ）、ステップＳ１０へ進む。一方、サムネイル画面表示がオンに設定されていない場合（ステップＳ９：ＮＯ）、ステップＳ１２へ進む。
【００４９】
ステップＳ１０では、制御部２１は、ユーザから操作部２５ａを介してサムネイル画面に表示された複数のサブ動画の中から、何れかのサブ動画が選択されたか否かを判定する。例えば、ユーザがマウスで選択したいサブ動画をクリックすると、サムネイル画面に表示中のサブ動画の選択指示があったと判定される。または、表示部２４ａのディスプレイがタッチパネルである場合、ユーザが指やペン等で選択したいサブ動画をタップすると、サムネイル画面に表示中のサブ動画の選択指示があったと判定される。そして、サムネイル画面に表示されたサブ動画の中から、何れかのサブ動画が選択されたと判定された場合（ステップＳ１０：ＹＥＳ）、ステップＳ１１へ進む。ステップＳ１１では、制御部２１は、サムネイル画面表示をオフに設定して、サブ動画を拡大表示し、ステップＳ１３へ進む。具体的には、制御部２１は、ユーザがマウスで選択したいサブ動画をクリック、またはユーザが指やペン等で選択したいサブ動画をタップした座標位置を決定し、決定した座標位置に表示されているサブ動画を決定する。そして、制御部２１は、決定したサブ動画を拡大表示する。これにより、選択されたサブ動画がメイン画面に表示されることになる。一方、サムネイル画面に表示中のサブ動画が選択されないと判定された場合（ステップＳ１０：ＮＯ）、ステップＳ１５へ進む。サムネイル画面表示のオンまたはオフの設定は、例えば、ユーザがマウスで指示すること、またはユーザが指やペン等で表示画面をタップすることで、制御部２１は、サムネイル画面表示のオンまたはオフの指示を受け付ける。
【００５０】
ステップＳ１２では、制御部２１は、ユーザから操作部２５ａを介してサムネイル画面表示をオンにする指示があったか否かを判定する。サムネイル画面表示をオンにする指示がないと判定された場合（ステップＳ１２：ＮＯ）、ステップＳ１３へ進む。一方、サムネイル画面表示をオンにする指示があったと判定された場合（ステップＳ１２：ＹＥＳ）、ステップＳ１５へ進む。
【００５１】
ステップＳ１３では、制御部２１は、ユーザから操作部２５ａを介して、疑似カメラワークの操作があったか否かを判定する。ここで、疑似カメラワークの具体的な操作として、例えば、ドラッグ操作、及びフリック操作がある。ドラッグ操作では、例えば、ユーザがメイン画面をマウスによりドラッグすることで表示範囲を移動させることができる。また、フリック操作では、例えば、ユーザがタッチパネル方式のメイン画面上で指やペン等の接触物を素早くスライドすることで表示範囲を移動させることができる。また、疑似カメラワークの具体的な操作として、例えば、ユーザが操作部２５ａに設けられたボタンや画面上に表示されたボタン等を押すことにより、表示範囲を拡大したり縮小させたりする操作がある。この操作の場合、表示範囲の単位時間あたり変動量が大きくなりながら表示範囲が拡大又は縮小する変動が行われ、その後、単位時間あたり変動量が一定となって、表示範囲が変動する。ユーザがボタンを押すことをやめる操作を行わない限り、表示範囲が変動し、表示範囲の大きさが最大又は最少となった時点で、変動は停止する。仮想スクリーンが長方形の平面スクリーンである場合、表示範囲の拡大・縮小は、表示範囲の幅及び高さの変動である。仮想スクリーンが円筒形のスクリーンである場合、表示範囲の拡大・縮小は、横視野角及び高さの変動である。仮想スクリーンが球形のスクリーンである場合、表示範囲の拡大・縮小は、横視野角及び縦視野角の変動である。なお、上述した操作は、あくまでも例示に過ぎず、その他の操作により疑似カメラワークが行われてもよい。
【００５２】
そして、疑似カメラワークの操作があったと判定された場合（ステップＳ１３：ＹＥＳ）、ステップＳ１４へ進む。ステップＳ１４では、制御部２１は、メイン画面に対する疑似カメラワークの操作入力が「手動」に設定されていなければ「手動」に設定し、ステップＳ１５へ進む。一方、疑似カメラワークの操作がないと判定された場合（ステップＳ１３：ＮＯ）、ステップＳ１５へ進む。
【００５３】
ステップＳ１５では、制御部２１は、ユーザから操作部２５ａを介してキーワードの入力があったか否かを判定する。キーワードは、ユーザが所望のカメラワークデータを検索するためのものである。例えば、ユーザが、あるアーティストグループのコンサートの動画において特定の歌手だけを表示するためのカメラワークデータを検索したい場合があるとする。この場合、ユーザは、上記特定の歌手の名前をキーワードとして入力することになる。キーワードの入力があったと判定された場合（ステップＳ１５：ＹＥＳ）、ステップＳ１６へ進む。一方、キーワードの入力がないと判定された場合（ステップＳ１５：ＮＯ）、ステップＳ１７へ進む。
【００５４】
ステップＳ１６では、制御部２１は、ステップＳ１５で入力されたキーワードをクエリ情報に設定し、ステップＳ２０へ進む。ステップＳ１７では、制御部２１は、ユーザから操作部２５ａを介して入力されたキーワードのクリア指示があったか否かを判定する。キーワードのクリア指示があったと判定された場合（ステップＳ１７：ＹＥＳ）、ステップＳ１８へ進む。一方、キーワードのクリア指示がないと判定された場合（ステップＳ１７：ＮＯ）、ステップＳ１９へ進む。
【００５５】
ステップＳ１８では、制御部２１は、クエリ情報からキーワードを削除し、ステップＳ２０へ進む。ステップＳ１９では、制御部２１は、ユーザによる操作がないまま所定時間が経過したか否かを判定する。この時間は、例えば１秒〜１０秒程度に設定される。ユーザによる操作には、疑似カメラワークの操作が含まれる。ユーザによる操作がないまま所定時間が経過したと判定された場合（ステップＳ１９：ＹＥＳ）、ステップＳ２０へ進む。一方、ユーザによる操作がないまま所定時間が経過していないと判定された場合（ステップＳ１９：ＮＯ）、ステップＳ２１へ進む。なお、ステップＳ１９において、前回のカメラワークデータのリクエストから所定時間が経過したか否かを判定するように構成してもよい。この場合、前回のカメラワークデータのリクエストから所定時間が経過したと判定された場合、ステップＳ２０へ進む。
【００５６】
ステップＳ２０では、制御部２１は、カメラワークデータのクエリ情報を含むリクエストを、ネットワークＮＷを介して配信サーバ１へ送信し、ステップＳ２１へ進む。このリクエストを受信した配信サーバ１は、例えば、クエリ情報に含まれるンツＩＤに対応付けられたカメラワークデータをワークファイル記憶領域３１ｃから検索する。そして、配信サーバ１は、検索により取得したカメラワークデータの中から、クエリ情報に設定されたキーワードが対応付けられるカメラワークデータを決定する。そして、配信サーバ１は、決定したカメラワークデータをクライアント２へ返信する。ステップＳ２１では、制御部２１は、画面表示処理を実行する。次いで、制御部２１は、動画データの現在の再生位置をクエリ情報に設定し（ステップＳ２２）、ステップＳ６に戻る。
【００５７】
ステップＳ２１における画面表示処理では、図７に示すように、制御部２１は、動画データは再生可能な状態にあるか否かを判定する（ステップＳ２１１）。例えば、再生に十分な動画データがバッファメモリに保持されている場合、再生可能な状態にあると判定される。再生可能な状態にあると判定された場合（ステップＳ２１１：ＹＥＳ）、ステップＳ２１３へ進む。一方、再生可能な状態にないと判定された場合（ステップＳ２１１：ＮＯ）、再生中であれば一時停止し（ステップＳ２１２）、図６に示す処理に戻る。
【００５８】
ステップＳ２１３では、制御部２１は、サムネイル画面表示がオンに設定されているか否かを判定する。サムネイル画面表示がオンに設定されている場合（ステップＳ２１３：ＹＥＳ）、ステップＳ２１５へ進む。なお、画面表示処理が初回の場合、ステップＳ２１３（ＹＥＳ）からステップＳ２１６へ進む。一方、サムネイル画面表示がオンに設定されていない場合（ステップＳ２１３：ＮＯ）、ステップＳ２１４へ進む。
【００５９】
ステップＳ２１４では、制御部２１は、バッファメモリに保持されている動画データを、例えばユーザにより選択されたカメラワークデータに従ってメイン画面に表示させる。ステップ２１５では、制御部２１は、前回の表示画面割当処理（ステップＳ２１７）から所定時間が経過したか否かを判定する。前回の表示画面割当処理から所定時間が経過したと判定された場合（ステップＳ２１５：ＹＥＳ）、ステップＳ２１６へ進む。この判定処理により、表示画面割当処理が毎回ではなく一定時間間隔で行われる。これにより、メイン画面上におけるサムネイル画面（言い換えれば、サブ動画）の位置がカメラワークデータに従って動き続けることを回避し、メイン画面上におけるサブ動画を見易くさせることができる。一方、前回の表示画面割当処理から所定時間が経過していないと判定された場合（ステップＳ２１５：ＮＯ）、ステップＳ２１８へ進む。
【００６０】
ステップＳ２１６では、制御部２１は、取得済のカメラワークデータを１つのグループに設定する。ここで、取得済のカメラワークデータとは、ステップＳ７の受信により取得されたカメラワークデータである。なお、取得済のカメラワークデータを１つのグループに設定するのではなく１つの集合として設定してもよい。そして、制御部２１は、後述する表示画面割当処理を実行し（ステップＳ２１７）、ステップＳ２１８へ進む。ステップＳ２１８では、制御部２１は、サムネイル画面の表示処理を行う。この表示処理では、制御部２１は、メイン画面上においてステップＳ２１７で決定された座標位置に、ステップＳ２１７で決定された表示サイズのサブ動画を含むサムネイル画面を表示させる。なお、ステップＳ２１５〜Ｓ２１７の処理により、制御部２１は、カメラワークデータにより特定される表示範囲であってオリジナル動画における表示範囲を所定時間間隔で繰り返し特定し、特定した表示範囲のメイン画面上における座標位置を所定時間間隔で繰り返し決定することになる。これにより、カメラワークデータに応じてオリジナル動画における上記表示範囲が変化する場合、オリジナル動画の再生時間に従って、サムネイル画面もメイン画面上において移動することになる。これにより、ユーザは、オリジナル動画とサブ動画との位置関係で把握しやすくなり、かつ、ズームアウトして見る場合より、注目したい箇所を大きく見ることができる。
【００６１】
ところで、ステップＳ２１５〜Ｓ２１７における繰り返しの処理によって、メイン画面上におけるサムネイル画面（言い換えれば、サブ動画）の表示位置が一気に切り替えられると、サムネイル動画の移動過程が表示されないので、ユーザは、サムネイル画面がどのように再配置されたかが把握しにくい。そのため、サムネイル画面の移動過程をアニメーション処理により表すように構成してもよい。例えば、制御部２１は、今回（現在）のステップＳ２１７の処理により決定された座標位置と前回のステップＳ２１７の処理により決定された座標位置との間を結ぶ線を特定する。そして、制御部２１は、上記特定した線上において、サムネイル画面の座標位置を上記所定時間より短い時間間隔で徐々に変更する。これにより、サムネイル画面の移動過程を表すことができる。
【００６２】
なお、サブ動画の座標位置及び表示サイズによっては、このサブ動画を表示するためのサムネイル画像が、メイン画面に収まらない（言い換えれば、メイン画面からはみ出す）場合もある。この場合、メイン画面に収まらないサムネイル画面の一部分は、表示されない。また、サムネイル画面同士が重なり合った場合、例えば後から描画されるサムネイル画面が、先に表示されるサムネイル画面上に重畳されることになる。
【００６３】
ステップＳ２１７における実施例１の表示画面割当処理では、図８に示すように、制御部２１は、変数Ｉに“１”をセットする（ステップＳ２１７１）。次いで、制御部２１は、グループ内のカメラワークデータの数がＩ以上であるか否かを判定する（ステップＳ２１７２）。カメラワークデータの数がＩ以上でないと判定された場合（ステップＳ２１７２：ＮＯ）、図８に示す処理が終了する。一方、カメラワークデータの数がＩ以上であると判定された場合（ステップＳ２１７２：ＹＥＳ）、ステップＳ２１７３へ進む。つまり、グループ内に含まれる全てのカメラワークデータうち、まだステップＳ２１７３〜ステップＳ２１８０の処理が行われていないカメラワークデータがあれば、ステップＳ２１７３へ進む。これにより、複数のカメラワークデータが取得された場合、カメラワークデータごとにステップＳ２１７３〜ステップＳ２１８０の処理が行われる。なお、グループ内のカメラワークデータの数が１個である場合（ステップＳ２１７２：ＮＯ）、ステップＳ２１７３以降の処理は行われず、図７に示す処理に戻る。この場合のステップＳ２１８の処理では、サムネイル画面は表示されることなく、メイン画面の表示が継続される。
【００６４】
ステップＳ２１７３では、制御部２１は、Ｉ番目のカメラワークデータにより特定される表示範囲であってオリジナル動画における表示範囲の位置をオリジナル動画の再生時間に沿って特定する。例えば、カメラワークデータに、パン・チルトパラメータ（pan,tilt）が含まれている場合がある。この場合、パン・チルトパラメータ（pan,tilt）が、カメラワークデータから取得されて上記表示範囲の位置として特定される。なお、図８に示す表示画面割当処理は、所定時間間隔で実行される。そのため、制御部２１は、上記オリジナル動画における表示範囲の位置をオリジナル動画の再生時間に沿って所定時間間隔で特定することになる。
【００６５】
次いで、制御部２１は、ステップＳ２１７３で特定された位置に対応する座標位置であって、Ｉ番目のカメラワークデータにより特定される表示範囲のメイン画面上における座標位置（Xwin, Ywin）を、Ｉ番目のカメラワークデータの表示範囲の座標位置としてオリジナル動画の再生時間に沿って決定する（ステップＳ２１７４）。この座標位置（Xwin, Ywin）は、例えば、メイン画面の左上の頂点を原点とする表示範囲の中心座標であり、上記特定された位置（pan,tilt）に基づいて下記（式１）及び（式２）により決定される。
Xwin＝（pan−Pmin）×Wwin／（Pmax−Pmin）・・・（式１）
Ywin＝（tilt−Tmin）×Hwin／（Tmax−Tmin）・・・（式２）
【００６６】
ここで、Pminは、panの値が取りうる範囲の最小であり、Pmaxは、panの値が取りうる範囲の最大である。Tminは、tiltの値が取りうる範囲の最小であり、Tmaxは、tiltの値が取りうる範囲の最大である。Wwinは、メイン画面の幅であり、Hwinは、メイン画面の高さである。この式により、パン・チルトパラメータ（pan,tilt）に対応するメイン画面上のＸ座標、Ｙ座標が決定される。こうして、カメラワークデータの表示範囲は、オリジナル動画における位置に対応する座標位置に割り当てられることになる。例えば、オリジナル動画のフレームサイズとメイン画面のサイズが同じであれば、オリジナル動画における位置と同一の座標位置に割り当てられる。なお、上記座標位置（Xwin, Ywin）は、例えば、メイン画面の左上の頂点を原点とする表示範囲の４隅のうち何れか１隅の座標であってもよい。なお、図８に示す表示画面割当処理は、所定時間間隔で実行される。そのため、制御部２１は、所定時間間隔でステップＳ２１７３の処理により特定される、上記オリジナル動画における表示範囲の位置に対応する座標位置を決定することになる。
【００６７】
なお、上記例では、仮想スクリーンの種類（言い換えれば、カメラの種類）に依らないように正規化されたパン・チルトパラメータ（pan,tilt）を含むカメラワークデータを用いて、メイン画面上のＸ座標、Ｙ座標を決定するように構成した。しかし、カメラワークデータには、仮想スクリーンの種類に応じたパラメータが含まれる場合がある。例えば、図４に示すように、平面スクリーン、円筒形のスクリーン、及び球形のスクリーンに含まれるパラメータの種類は、仮想スクリーンの種類によって異なる。この場合、例えば、カメラワークデータには、仮想スクリーンを示す種類情報であってカメラワークデータに対応する種類情報が含まれる。制御部２１は、例えばカメラワークデータから取得した種類情報に基づいて、ステップＳ２１７３で特定された位置に対応する座標位置であって、Ｉ番目のカメラワークデータにより特定される表示範囲のメイン画面上における座標位置（Xwin, Ywin）を決定することになる。例えば、制御部２１は、プレイヤーソフトウェアのプログラム上でそれぞれの種類情報に対応付けられて規定された変換関数を用いて、それぞれのパラメータをメイン画面上における座標位置に変換することで、ステップＳ２１７３で特定された位置に対応する座標位置を決定する。
【００６８】
次いで、制御部２１は、既に表示範囲の座標位置が決定された[１〜Ｉ−１]番目のカメラワークデータの中に、Ｉ番目のカメラワークデータの表示範囲の座標位置との間の距離が所定距離未満のカメラワークデータがあるか否かを判定する（ステップＳ２１７５）。例えば、Ｉ番目のカメラワークデータの表示範囲の座標位置と、Ｉ−１番目のカメラワークデータの表示範囲の座標位置との間の距離が所定距離未満である場合、所定距離未満のカメラワークデータがあると判定される。なお、所定距離は、例えば互いの表示範囲ができるだけ重ならないように設定される距離である。所定距離未満のカメラワークデータがあると判定された場合（ステップＳ２１７５：ＹＥＳ）、制御部２１は、Ｉ番目のカメラワークデータの表示範囲の座標位置との間の距離が所定距離未満のカメラワークデータを特定し（ステップＳ２１７６）、ステップＳ２１７７へ進む。一方、所定距離未満のカメラワークデータがないと判定された場合（ステップＳ２１７５：ＮＯ）、ステップＳ２１７８へ進む。
【００６９】
ステップＳ２１７７では、制御部２１は、Ｉ番目のカメラワークデータの表示範囲の座標位置と、ステップＳ２１７６で特定されたカメラワークデータの表示範囲の座標位置間の距離が所定距離以上離れた位置に、Ｉ番目のカメラワークデータの座標位置を調整し、調整した座標位置を再決定する。これにより、各カメラワークデータの表示範囲が重ならないようにすることができる。なお、カメラワークデータの数が多いと、全てのカメラワークデータの表示範囲を重ならないように調整することが困難な場合がある。この場合、表示範囲の一部が重なることを許容するため、所定距離の値を下げるように構成してもよい。または、表示範囲が重なって表示されてもよい。
【００７０】
ステップＳ２１７８では、制御部２１は、ステップＳ２１７４またはＳ２１７７で決定された表示範囲の座標位置を、この表示範囲に含まれるサブ動画のメイン画面上における座標位置（例えば、中心座標）として決定する。次いで、制御部２１は、座標位置が決定されたサブ動画の表示サイズを決定する（ステップＳ２１７９）。これにより、例えば複数のサブ動画が、メイン画面上の「カメラワークデータに応じた位置」に割り当てられる。なお、図８に示す表示画面割当処理は、所定時間間隔で実行される。そのため、制御部２１は、所定時間間隔でステップＳ２１７４またはＳ２１７７の処理により決定される、表示範囲の座標位置を、この表示範囲に含まれるサブ動画のメイン画面上における座標位置として決定する。そのため、制御部２１は、所定時間間隔で動的に変化しながらサムネイル画面が表示されるため、視覚効果の高い映像表示を実現することができる。次いで、制御部２１は、変数Ｉを“１”をインクリメントし（ステップＳ２１８０）、ステップＳ２１７２に戻る。
【００７１】
ここで、サブ動画の表示サイズは、オリジナル動画における１以上の画素から構成される領域（以下、「部分領域」という）ごとの表示回数に基づいて決定されるように構成するとよい。部分領域ごとの表示回数は、例えば、ユーザの関心の度合いを示す数値である。表示回数が高い部分領域を含むシーンほど、多くのユーザが関心を示していると考えられる。表示回数が高い部分領域は、ユーザによる疑似カメラワークの操作によって、よく表示される領域である。部分領域ごとの表示回数は、例えば配信サーバ１により決定される。例えば、配信サーバ１は、ワークファイル記憶領域３１ｃに記憶される複数のカメラワークデータそれぞれが示す表示範囲に基づいて、同一のオリジナル動画における画素または複数の画素から構成されるブロックごとに表示回数をオリジナル動画の再生位置ごとに決定する。つまり、表示範囲の重なりに応じて、重なった画素またはブロックごとの表示回数が算出される。配信サーバ１は、部分領域ごとの表示回数を示す表示回数情報を、例えばカメラワークデータと共にクライアント２へ送信する。なお、表示回数情報は、例えば、オリジナル動画の再生位置ごと、且つこの再生位置における画像フレーム上の部分領域の位置ごとに、表示回数が対応付けられて構成される。クライアント２の制御部２１は、配信サーバ１から送信されたカメラワークデータ及び表示回数情報をステップＳ７で取得する。そして、制御部２１は、取得された表示回数情報が示す表示回数に基づいて、カメラワークデータの表示範囲に含まれるサブ動画の表示サイズを決定する。つまり、制御部２１は、表示回数が多い部分領域を含むサブ動画ほど、表示サイズを大きく決定する。これにより、多くのユーザが関心を示していると考えられるサブ動画ほど、オリジナル動画上でより大きく表示させることができる。
【００７２】
或いは、サブ動画の表示サイズは、ユーザにより入力されたキーワードに基づいて検索されたカメラワークデータの検索回数（言い換えれば、リクエスト回数）に応じて決定されるように構成してもよい。この場合、検索回数が多いカメラワークデータの表示範囲ほど、この表示範囲に含まれるサブ動画の表示サイズが大きく決定される。この場合、クライアント２の制御部２１は、配信サーバ１から送信されたカメラワークデータ及び検索回数を示す情報をステップＳ７で取得することになる。或いは、サブ動画の表示サイズは、カメラワークデータのズームパラメータに応じて決定されるように構成してもよい。この場合、ズームインしている表示範囲ほど、この表示範囲に含まれるサブ動画の表示サイズが大きく決定される。上記の他にも、カメラワークデータに対するユーザの評価等に応じてサブ動画の表示サイズが決定されるように構成してもよい。なお、サブ動画の表示サイズは、例えばサブ動画ごとに、デフォルト設定された同じサイズに決定されるように構成してもよい。
【００７３】
以上説明したように、上記実施例１によれば、クライアント２は、オリジナル動画における表示範囲の位置を複数のカメラワークデータごとに特定し、特定した位置に応じた座標位置をオリジナル動画の再生時間に沿って複数のカメラワークデータごとに決定する。そして、クライアント２は、決定された表示画面における座標位置に、複数のカメラワークデータにより特定される表示範囲に含まれる複数の第２動画を表示させる。そのため、カメラワークデータにより特定される各視点のサブ動画が相対的にオリジナル動画のどの位置に対応するのかをユーザに直観的に把握させることができる。さらに、各カメラワークデータに対応する各サブ動画をユーザに選択し易くさせることができる。
【００７４】
（実施例２）
次に、図９及び図１０を参照して、実施例２におけるクライアント２の処理について説明する。実施例２は、画面分割によりサムネイル画面が表示される場合の実施例である。図９及び図１０は、図７に示すステップＳ２１７における実施例２の表示画面割当処理を示すフローチャートである。なお、上述した図６及び図７の処理は、実施例２においても同様に行われる。なお、以下の説明において、グループという場合、サブグループにも該当する場合がある。
【００７５】
先ず、図９に示す表示画面割当処理について説明する。なお、図９に示す表示画面割当処理は、ステップＳ２２１８、Ｓ２２２０、Ｓ２２２２、Ｓ２２２３、Ｓ２２２８、Ｓ２２３０、Ｓ２２３２、Ｓ２２３３の処理で再帰的に呼び出されて実行される。図９に示す表示画面割当処理において、制御部２１は、グループ内のカメラワークデータの数が１であるか否かを判定する（ステップＳ２２１１）。グループ内のカメラワークデータの数が１でないと判定された場合（ステップＳ２２１１：ＮＯ）、ステップＳ２２１２へ進む。一方、グループ内のカメラワークデータの数が１であると判定された場合（ステップＳ２２１１：ＹＥＳ）、ステップＳ２２３４へ進む。なお、上記ステップＳ２１６において１つのグループではなく１つの集合として設定された場合、この集合内のカメラワークデータの数が１であるか否かが判定される。そして、後述する処理で１つの集合が２つのグループに分けられる。さらに、分けられたグループが２つのサブグループに分けられる。
【００７６】
ステップＳ２２１２では、制御部２１は、表示画面の分割方法を決定する。この分割方法は、例えば予め設定された複数の分割方法うち、表示画面の種類に応じた分割方法が決定される。表示画面の分割方法の例として、以下の（ａ）〜（ｃ）が挙げられる。
【００７７】
（ａ）左右分割（縦分割）と上下分割（横分割）を交互に繰り返す分割方法
（ａ）の分割方法では、表示画面割当処理が再帰的に呼び出されて実行される過程において、ステップＳ２２１３の処理で左右分割（ステップＳ２２１３：ＹＥＳ）と、上下分割（ステップＳ２２１３：ＮＯ）とが交互に決定されることになる。
【００７８】
（ｂ）左右分割のみを繰り返す分割方法
（ｂ）の分割方法では、表示画面割当処理が再帰的に呼び出されて実行される過程において、ステップＳ２２１３の処理で左右分割（ステップＳ２２１３：ＹＥＳ）のみが決定されることになる。
【００７９】
（ｃ）上下分割のみを繰り返す分割方法
（ｃ）の分割方法では、表示画面割当処理が再帰的に呼び出されて実行される過程において、ステップＳ２２１３の処理で上下分割（ステップＳ２２１３：ＮＯ）のみが決定されることになる。
【００８０】
例えば、メイン画面が正方形である場合、上記（ａ）の分割方法が決定される。また、例えば、メイン画面が横長の長方形である場合、上記（ａ）の分割方法、または上記（ｂ）の分割方法が決定される。また、例えば、メイン画面が縦長の長方形である場合、上記（ａ）の分割方法、または上記（ｃ）の分割方法が決定される。なお、（ａ）の分割方法では、左右分割と上下分割を交互に繰り返すが、交互でなくともよい。例えば、左右分割を２回行った後、上下分割を行うように構成してもよい。また、上記分割方法の例では、分割方向は縦と横であるが、分割方向は斜めであっても構わない。
【００８１】
次いで、制御部２１は、ステップＳ２２１２で決定された分割方法に従って、表示画面を左右（縦）に分割するか否かを決定する（ステップＳ２２１３）。例えば、ステップＳ２２１２で決定された分割方法が、（ａ）左右分割（縦分割）と上下分割（横分割）を交互に繰り返す分割方法である場合がある。この場合、初回のステップＳ２２１３の処理では、例えば、表示画面を左右に分割する（ステップＳ２２１３：ＹＥＳ）と決定される。そして、再帰的に呼び出された２回目のステップＳ２２１３の処理では、表示画面を左右に分割しない、つまり、上下に分割する（ステップＳ２２１３：ＮＯ）と決定される。そして、再帰的に呼び出された３回目のステップＳ２２１３の処理では、表示画面を左右に分割すると決定される。表示画面を左右に分割すると決定された場合（ステップＳ２２１３：ＹＥＳ）、ステップＳ２２１４へ進む。一方、表示画面を左右に分割しないと決定された場合（ステップＳ２２１３：ＮＯ）、つまり、表示画面を上下（横）に分割する場合、ステップＳ２２２４へ進む。
【００８２】
ステップＳ２２１４では、制御部２１は、図９に示す表示画面割当処理の繰り返し回数が所定回数以上であるか否かを判定する。この所定回数は、表示画面割当処理の繰り返し回数に上限を設定するためのものである。表示画面割当処理の繰り返し回数が所定回数以上でない場合（ステップＳ２２１４：ＮＯ）、ステップＳ２２１５へ進む。一方、表示画面割当処理の繰り返し回数が所定回数以上である場合（ステップＳ２２１４：ＹＥＳ）、ステップＳ２２１６へ進む。これにより、グループ内にカメラワークデータが多く含まれる場合に、分割される表示画面が小さくなりすぎることを回避することができる。また、例えば、カメラワークデータそれぞれのパン（pan）の値が同一又は中間値で分けること
ができないほど近い場合に、処理が無限に繰り返されることを回避し、処理負荷を低下させることができる。
【００８３】
ステップＳ２２１５では、制御部２１は、グループ内の各カメラワークデータからパン・チルトパラメータ（pan,tilt）を取得する。そして、制御部２１は、取得したパン・チルトパラメータ（pan,tilt）のうちパン（pan）の値の大きさに基づいて、グループ内の
複数のカメラワークデータを「右グループ」と「左グループ」の２つのサブグループに分け、ステップＳ２２１７へ進む。例えば、パン（pan）の値が、中間値より大きいかまた
は小さいかで、「右グループ」と「左グループ」の２つのサブグループに分けられる。ここで、中間値の例として、グループ内の各カメラワークデータから取得されたパンの値の平均値または中央値がある。或いは、中間値は、パンの値の最大値ＭＡＸと最小値ＭＩＮを加算した値を２で割ることにより得られた値（＝（ＭＡＸ＋ＭＩＮ）／２）であってもよい。なお、図９に示す表示画面割当処理は、所定時間間隔で実行される。そのため、制御部２１は、グループ内の各カメラワークデータからパン・チルトパラメータ（pan,tilt）を、オリジナル動画の再生時間に沿って所定時間間隔で取得する。
【００８４】
そして、制御部２１は、所定時間間隔で取得されるパン・チルトパラメータ（pan,tilt）の値の大きさに基づいて複数のカメラワークデータを複数のグループに分けることになる。
【００８５】
ステップＳ２２１６では、制御部２１は、グループ内の各カメラワークデータを、「右グループ」と「左グループ」内のカメラワークデータの数が均等になるように、「右グループ」と「左グループ」の２つのサブグループに分け、ステップＳ２２１７へ進む。
【００８６】
ステップＳ２２１７では、制御部２１は、ステップＳ２２１５またはステップＳ２２１６で分けられた右グループ内のカメラワークデータの数が０であるか否かを判定する。右グループ内のカメラワークデータの数が０であると判定された場合（ステップＳ２２１７：ＹＥＳ）、ステップＳ２２１８へ進む。ステップＳ２２１８では、制御部２１は、左グループについて上記表示画面割当処理を実行する。つまり、表示画面割当処理が再帰的に呼び出されて実行される。この場合、分割対象となる表示画面は、サブ表示画面ということになる。一方、右グループ内のカメラワークデータの数が０でないと判定された場合（ステップＳ２２１７：ＮＯ）、ステップＳ２２１９へ進む。
【００８７】
ステップＳ２２１９では、制御部２１は、ステップＳ２２１５またはステップＳ２２１６で分けられた左グループ内のカメラワークデータの数が０であるか否かを判定する。左グループ内のカメラワークデータの数が０であると判定された場合（ステップＳ２２１９：ＹＥＳ）、ステップＳ２２２０へ進む。ステップＳ２２２０では、制御部２１は、右グループについて上記表示画面割当処理を実行する。つまり、表示画面割当処理が再帰的に呼び出されて実行される。一方、左グループ内のカメラワークデータの数が０でないと判定された場合（ステップＳ２２１９：ＮＯ）、ステップＳ２２２１へ進む。
【００８８】
ステップＳ２２２１では、制御部２１は、ステップＳ２２１５またはステップＳ２２１６で分けられた２つのサブグループに含まれるカメラワークデータの数に基づいて、オリジナル動画を表示可能な表示画面を左右に分割し、それぞれのサブグループ内のカメラワークデータの数に応じた大きさ（面積）のサブ表示画面をサブグループごとに決定する。つまり、制御部２１は、それぞれのサブグループに含まれるカメラワークデータの数に基づいて、表示画面を、パンに対応するＸ軸と直交する線を境に分割する。そして、制御部２１は、それぞれのグループに含まれるカメラワークデータの数に応じた大きさのサブ表示画面をサブグループごとに決定する。例えば、それぞれのサブグループ内のカメラワークデータの数の比で表示画面が右表示画面と左表示画面に分割される。この右表示画面と左表示画面は、サブ表示画面の一例である。例えば、右グループ内のカメラワークデータの数が「３」で、左グループ内のカメラワークデータの数が「１」である場合、右表示画面と左表示画面の面積比は、３対１となる。なお、図９に示す表示画面割当処理は、所定時間間隔で実行される。そのため、制御部２１は、所定時間間隔で取得された分けられるそれぞれのサブグループに含まれるカメラワークデータの数に基づいて、表示画面を分割する。そして、制御部２１は、それぞれのグループに含まれるカメラワークデータの数に応じた大きさのサブ表示画面をグループごとに決定することになる。
【００８９】
次いで、制御部２１は、ステップＳ２２１５またはステップＳ２２１６で分けられた右グループについて上記表示画面割当処理を実行する（ステップＳ２２２２）。次の処理としてステップＳ２２２３へ進むことになる。そして、ステップＳ２２２３では、制御部２１は、ステップＳ２２１５またはステップＳ２２１６で分けられた左グループについて上記表示画面割当処理を実行する。
【００９０】
一方、ステップＳ２２２４では、制御部２１は、図９に示す表示画面割当処理の繰り返し回数が所定回数以上であるか否かを判定する。表示画面割当処理の繰り返し回数が所定回数以上でない場合（ステップＳ２２２４：ＮＯ）、ステップＳ２２２５へ進む。一方、表示画面割当処理の繰り返し回数が所定回数以上である場合（ステップＳ２２２４：ＹＥＳ）、ステップＳ２２２６へ進む。
【００９１】
ステップＳ２２２５では、制御部２１は、グループ内の各カメラワークデータからパン・チルトパラメータ（pan,tilt）を取得し、取得したパン・チルトパラメータ（pan,tilt）のうちチルト（tilt）の値の大きさに基づいて、グループ内の複数のカメラワークデータを「上グループ」と「下グループ」の２つのサブグループに分け、ステップＳ２２２７へ進む。例えば、チルト（tilt）の値が、中間値より大きいかまたは小さいかで、「上グループ」と「下グループ」の２つのサブグループに分けられる。
【００９２】
ステップＳ２２２６では、制御部２１は、グループ内の各カメラワークデータを、「上グループ」と「下グループ」内のカメラワークデータの数が均等になるように、「上グループ」と「下グループ」の２つのサブグループに分け、ステップＳ２２２７へ進む。
【００９３】
ステップＳ２２２７では、制御部２１は、ステップＳ２２２５またはステップＳ２２２６で分けられた上グループ内のカメラワークデータの数が０であるか否かを判定する。上グループ内のカメラワークデータの数が０であると判定された場合（ステップＳ２２２７：ＹＥＳ）、ステップＳ２２２８へ進む。ステップＳ２２２８では、制御部２１は、下グループについて上記表示画面割当処理を実行する。つまり、表示画面割当処理が再帰的に呼び出されて実行される。一方、上グループ内のカメラワークデータの数が０でないと判定された場合（ステップＳ２２２７：ＮＯ）、ステップＳ２２２９へ進む。
【００９４】
ステップＳ２２２９では、制御部２１は、ステップＳ２２２５またはステップＳ２２２６で分けられた下グループ内のカメラワークデータの数が０であるか否かを判定する。下グループ内のカメラワークデータの数が０であると判定された場合（ステップＳ２２２９：ＹＥＳ）、ステップＳ２２３０へ進む。ステップＳ２２３０では、制御部２１は、上グループについて上記表示画面割当処理を実行する。つまり、表示画面割当処理が再帰的に呼び出されて実行される。一方、下グループ内のカメラワークデータの数が０でないと判定された場合（ステップＳ２２２９：ＮＯ）、ステップＳ２２３１へ進む。
【００９５】
ステップＳ２２３１では、制御部２１は、ステップＳ２２２５またはステップＳ２２２６で分けられた２つのサブグループに含まれるカメラワークデータの数に基づいて、オリジナル動画を表示可能な表示画面を上下に分割し、それぞれのサブグループ内のカメラワークデータの数に応じた大きさの表示画面をサブグループごとに決定する。つまり、それぞれのサブグループ内のカメラワークデータの数の比で表示画面が上表示画面と下表示画面に分割される。つまり、制御部２１は、それぞれのサブグループに含まれるカメラワークデータの数に基づいて、表示画面を、チルトに対応するＹ軸と直交する線を境に分割する。そして、制御部２１は、それぞれのグループに含まれるカメラワークデータの数に応じた大きさのサブ表示画面をサブグループごとに決定する。
【００９６】
次いで、制御部２１は、ステップＳ２２２５またはステップＳ２２２６で分けられた上グループについて上記表示画面割当処理を実行する（ステップＳ２２３２）。次の処理としてステップＳ２２３３へ進むことになる。そして、ステップＳ２２３３では、制御部２１は、ステップＳ２２２５またはステップＳ２２２６で分けられた下グループについて上記表示画面割当処理を実行する。
【００９７】
ステップＳ２２３４では、制御部２１は、グループ内の各カメラワークデータにより特定される表示範囲に含まれるサブ動画を、各サブグループに対して決定されたサブ表示画面に割り当てる。なお、グループ内に１つのカメラワークデータだけが含まれる場合、つまり、図７に示す処理から表示画面割当処理へ移行直後のステップＳ２２１１において、グループ内のカメラワークデータの数が１であると判定される場合がある。この場合、図７に示す処理に戻り、このカメラワークデータにより特定される表示範囲に含まれるサブ動画が、分割されていない表示画面に割り当てられる。一方、ステップＳ２２１８、Ｓ２２２０、Ｓ２２２３、Ｓ２２２８、Ｓ２２３０、またはＳ２２３３から、図７に示す処理に戻り、制御部２１は、サムネイル画面の表示処理を行う（ステップＳ２１８）。この表示処理では、制御部２１は、上述したように割り当てられたサブ動画を含むサブ表示画面をサムネイル画面として表示させる。
【００９８】
なお、ステップＳ２２３１における表示画面の区切り方によっては、アスペクト比が保存されない場合がある。この場合、制御部２１は、サムネイル画面を、レターボックスとクロップのどちらで構成するかを判定するように構成してもよい。例えば、カメラワークデータにより特定される表示範囲のアスペクト比が、サムネイル画面のアスペクト比と大きく異なる場合においてレターボックスで構成すると、サムネイル画面の多くを余白（例えば、動画以外の黒い部分）が占めてしまう。このため、カメラワークデータにより特定される表示範囲のアスペクト比が、サムネイル画面のアスペクト比と閾値以上異なる場合、サムネイル画面がクロップで構成されるようにするとよい。クロップでは、カメラワークデータにより特定される表示範囲のサブ動画の端が切り取られることでサムネイル画面全体にサブ動画を表示させることができる。
【００９９】
また、図９に示す表示画面割当処理は、所定時間間隔で実行される。そのため、制御部２１は、所定時間間隔で、上記サブ動画を、各サブグループに対して決定されたサブ表示画面に割り当てサムネイル画面として表示させることができる。そのため、オリジナル動画の再生時間に沿ってカメラワークデータにより特定される表示範囲が変化する場合であっても、オリジナル動画におけるサムネイル画面の位置を動的に変化させることができる。これにより、所定時間間隔でアスペクト比まで含めて動的に変化しながらサムネイル画面が表示されるため、視覚効果の高い映像表示を実現することができる。
【０１００】
ステップＳ２２１１では、グループ（またはサブグループ）内のカメラワークデータの数が１であるか否かが判定されるように構成した。しかし、制御部２１は、グループ（またはサブグループ）内のカメラワークデータの数が１より大きい所定数（例えば、５）以上であるか否かが判定されるように構成してもよい。この場合、グループに含まれる複数のカメラワークデータの数が１より大きい所定数以上である場合に、ステップＳ２２１２に移行して、このグループに含まれる複数のカメラワークデータが複数のサブグループに分けられる。一方、グループに含まれる複数のカメラワークデータの数が１より大きい所定数未満である場合、ステップＳ２２３４に移行される。この場合のステップＳ２２３４には、図８に示す表示画面割当処理を適用することができる。この場合、制御部２１は、サブグループに含まれるカメラワークデータにより特定される表示範囲であってオリジナル動画における表示範囲の位置をオリジナル動画の再生時間に沿って、複数のカメラワークデータごとに特定する。制御部２１は、特定された位置に対応する座標位置であって、カメラワークデータにより特定される表示範囲のメイン画面上における座標位置（Xwin, Ywin）を、オリジナル動画の再生時間に沿って、複数のカメラワークデータごとに決定する決定する。そして、制御部２１は、サブグループに含まれる複数のカメラワークデータにより特定される表示範囲に含まれる各サブ動画を、上記決定されたサブ表示画面上における座標位置に割り当てる。これにより、ステップＳ２１８におけるサムネイル画面の表示処理において、複数のサブ動画が１つのサブ表示画面に表示される。つまり、表示画面が複数に分割されたサブ表示画面の中で少なくとも一つのサブ表示画面上には、図２（Ａ）に示すように、複数のサブ動画が、オリジナル動画における位置に応じた座標位置に表示されることになる。これにより、１つあたりのサブ表示画面のサイズを一定以上に保つことでサブ動画の見易さを向上させることができる。なお、分割されるサブ表示画面は、基本的には、上記ステップＳ２２２１により、サブグループに含まれるカメラワークデータの数に応じたサイズになる。そのため、サブグループに含まれる各カメラワークデータに対応するサブ動画をオリジナル動画における位置に応じた座標位置に表示させることが可能となる。
【０１０１】
次に、図１０に示す表示画面割当処理について説明する。なお、図１０に示す表示画面割当処理は、ステップＳ２３１７、Ｓ２３１９、Ｓ２３２１、Ｓ２３２２、Ｓ２３２５、Ｓ２３２７、Ｓ２３２９、Ｓ２３３０の処理で再帰的に呼び出されて実行される。また、図１０に示すステップＳ２３１１及びＳ２３１２の処理は、図９に示すステップＳ２２１１及びＳ２２１２の処理と同様に行われる。図１０に示すステップＳ２３１３では、制御部２１は、図１０に示す表示画面割当処理の繰り返し回数が所定回数以上であるか否かを判定する。表示画面割当処理の繰り返し回数が所定回数以上でない場合（ステップＳ２３１３：ＮＯ）、ステップＳ２３１４へ進む。一方、表示画面割当処理の繰り返し回数が所定回数以上である場合（ステップＳ２３１３：ＹＥＳ）、ステップＳ２３３１へ進む。ステップＳ２３３１の処理は、図１０に示す表示画面割当処理が所定回数以上繰り返されてもまだグループ内のカメラワークデータが１つにならない場合に行われる。言い換えれば、ステップＳ２３３１の処理は、図１０に示す表示画面割当処理が所定回数以上繰り返されても表示画面を分割しきれない場合に行われる。
【０１０２】
ステップＳ２３１４では、制御部２１は、ステップＳ２３１２で決定された分割方法に従って、上述したステップＳ２２１３と同様、表示画面を左右（縦）に分割するか否かを決定する。表示画面を左右に分割すると決定された場合（ステップＳ２３１４：ＹＥＳ）、ステップＳ２３１５へ進む。一方、表示画面を左右に分割しないと決定された場合（ステップＳ２３１４：ＮＯ）、ステップＳ２３２３へ進む。なお、ステップＳ２３１５〜２３２２の処理は、図９に示すステップＳ２２１５、Ｓ２２１７〜Ｓ２２２３の処理と同様に行われる。また、ステップＳ２３２３〜２３３０の処理は、図９に示すステップＳ２２２５、Ｓ２２２７〜Ｓ２２３３の処理と同様に行われる。また、ステップＳ２３３２の処理は、図９に示すステップＳ２２３４の処理と同様に行われる。
【０１０３】
ステップＳ２３３１では、制御部２１は、サブグループに含まれる複数のカメラワークデータのうち代表となるカメラワークデータにより特定される表示範囲に含まれるサブ動画を、このサブグループに対して決定された表示画面に割り当てる。そして、図７に示す処理に戻り、制御部２１は、サムネイル画面の表示処理を行う（ステップＳ２１８）。この表示処理では、制御部２１は、上述したように割り当てられたサブ動画を含む表示画面をサムネイル画面として表示させる。ここで、代表となるカメラワークデータとして、例えばメイン画面において最も中心に位置する表示範囲を示すカメラワークデータが特定される。なお、代表となるカメラワークデータは複数あってもよい。このサムネイル画面は、グループ内のカメラワークデータの数に応じて分割される。そのため、結果として、注目度の高い範囲の動画を、大きなサムネイル画面に割り当てることができる。以上のように、図１０に示す表示画面割当処理では、制御部２１は、複数のカメラワークデータが複数のサブグループに分けられた回数をカウントする。そして、制御部２１は、カウントされた回数が所定回数以上である場合、サブグループに含まれる複数のカメラワークデータのうち代表となるカメラワークデータにより特定される表示範囲に含まれる第２動画を表示させることになる。これにより、１つあたりのサムネイル画面のサイズを一定以上に保つことできる。
【０１０４】
以上説明したように、上記実施例２によれば、クライアント２は、複数のカメラワークデータから取得されたパラメータの値の大きさに基づいて複数のカメラワークデータを複数のグループに分け、それぞれのグループに含まれるカメラワークデータの数に基づいて表示画面を分割する。そして、クライアント２は、それぞれのグループに含まれるカメラワークデータの数に応じた大きさのサブ表示画面をグループごとに決定し、それぞれのグループに対応するサブ表示画面にサブ動画を表示させる。そのため、カメラワークデータにより特定される各視点のサブ動画の配置が重なることを回避し、各視点の動画の見易さを向上させることができる。さらに、各カメラワークデータに対応する各サブ動画をユーザに選択し易くさせることができる。
【０１０５】
なお、上記実施形態において、クライアント２は配信サーバ１からコンテンツ及びコンテンツのカメラワークデータを受信する構成を示した。しかし、ハイブリッド型またはピア型のピアツーピアネットワークにおいて、クライアント２が他のクライアント２からコンテンツ及びコンテンツのカメラワークデータを受信する場合に対しても本発明は適用できる。また、上記実施形態において、クライアント２が記憶装置３と接続可能であるように構成してもよい。この場合、クライアント２は記憶装置３から取得したコンテンツを再生する。そして、クライアント２は、記憶装置３から取得したカメラワークデータに従って、動画を表示することになる。
【符号の説明】
【０１０６】
１  配信サーバ
２  クライアント
３  記憶装置
２１  制御部
２２  記憶部
Ｓ  通信システム
【図１】
0005942932.tif 000002
【図３】
0005942932.tif 000003
【図４】
0005942932.tif 000004
【図６】
0005942932.tif 000005
【図７】
0005942932.tif 000006
【図８】
0005942932.tif 000007
【図９】
0005942932.tif 000008
【図１０】
0005942932.tif 000009
【図２】
0005942932.tif 000010
【図５】
0005942932.tif 000011