(57)【特許請求の範囲】
【請求項１】
複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データの前記画像フレームにおける仮想カメラの操作に従って、前記複数の画素の中から特定された第１画素領域を表示画面に表示させる第１表示制御ステップと、
前記第１画素領域を前記表示画面に表示させた前記仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第１仮想カメラデータと、前記第１画素領域が前記表示画面に表示された第１再生時間とを時系列に沿って対応付けてサーバ装置へ送信する送信ステップと、
前記動画データの前記画像フレームにおける仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第２仮想カメラデータと、前記第２仮想カメラデータにより前記複数の画素の中から特定される第２画素領域が出力される第２再生時間と、を時系列に沿って対応付けたカメラワークデータであって、前記サーバ装置が記憶する複数の前記カメラワークデータの中から、前記第１再生時間に対応し、且つ、前記第１画素領域の少なくとも一部を表す特定の仮想カメラデータを含む特定のカメラワークデータを取得する取得ステップと、
前記取得ステップにより取得された前記特定のカメラワークデータに従った画素領域を、前記動画データの出力に沿って前記表示画面に表示させる第２表示制御ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項２】
複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データの出力に沿って、前記画像フレームにおける仮想カメラの操作に従って、前記複数の画素の中から特定された第１画素領域を表示画面に表示させる第１表示制御ステップと、
前記第１画素領域を前記表示画面に表示させた前記仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第１仮想カメラデータと、前記第１画素領域が前記表示画面に表示された第１再生時間とを時系列に沿って対応付けて取得する取得ステップと、
前記動画データの前記画像フレームにおける仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第２仮想カメラデータと、前記第２仮想カメラデータにより前記複数の画素の中から特定される第２画素領域が出力される第２再生時間と、を時系列に沿って対応付けたカメラワークデータであって、複数の前記カメラワークデータを記憶した記憶手段に、前記取得ステップにより取得された前記第１再生時間に対応する前記第２再生時間があるかを判定する第１判定ステップと、
前記第１判定ステップにより前記記憶手段にあると判定された場合、前記第２再生時間に対応付けられた特定の前記第２仮想カメラデータにより特定される第２画素領域が、前記第１画素領域を少なくとも一部含むかを判定する第２判定ステップと、
前記第２判定ステップにより前記第１画素領域を少なくとも一部含むと判定された場合、複数の前記カメラワークデータの中で、特定の前記第２仮想カメラデータを含む特定のカメラワークデータに従った画素領域を、前記動画データの出力に沿って前記表示画面に表示させる第２表示制御ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項３】
前記第２判定ステップは、特定の前記第２仮想カメラデータにより特定される第２画素領域の中心座標が、前記第１画素領域の中心座標から所定範囲以内にあるかを判定することを特徴とする請求項２に記載のプログラム。
【請求項４】
前記第１表示制御ステップは、前記第１画素領域を前記表示画面内のメイン画面に表示させ、
前記第２表示制御ステップは、前記第２画素領域を、前記表示画面内に、前記メイン画面よりも面積が小さいサブ画面により表示させ、
前記プログラムは、
前記サブ画面に表示されている前記第２画素領域の指定を受け付ける受け付けステップと、
前記第２画素領域の指定が受け付けられた場合、前記サブ画面に表示されている前記第２画素領域を前記メイン画面に表示させる第３表示制御ステップと、
を前記コンピュータに更に実行させることを特徴とする請求項１から請求項３のいずれか一項に記載のプログラム。
【請求項５】
前記第２表示制御ステップは、特定の前記第２仮想カメラデータの数に応じた数の前記サブ画面を設定し、特定の前記第２仮想カメラデータそれぞれにより特定された複数の前記第２画素領域を、複数の前記サブ画面それぞれに表示させ、
前記受け付けステップは、複数の前記サブ画面にそれぞれ表示されている複数の前記第２画素領域の中から、特定の前記第２画素領域の指定を受け付け、
前記第３表示制御ステップは、特定の前記第２画素領域の指定が受け付けられた場合、指定された特定の前記第２画素領域を前記メイン画面に表示させることを特徴とする請求項４に記載のプログラム。
【請求項６】
複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データの前記画像フレームにおける仮想カメラの操作に従って、前記複数の画素の中から特定された第１画素領域を表示画面に表示させる第１表示制御手段と、
前記第１画素領域を前記表示画面に表示させた前記仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第１仮想カメラデータと、前記第１画素領域が前記表示画面に表示された第１再生時間とを時系列に沿って対応付けてサーバ装置へ送信する送信手段と、
前記動画データの前記画像フレームにおける仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第２仮想カメラデータと、前記第２仮想カメラデータにより前記複数の画素の中から特定される第２画素領域が出力される第２再生時間と、を時系列に沿って対応付けたカメラワークデータであって、前記サーバ装置が記憶する複数の前記カメラワークデータの中から、前記第１再生時間に対応し、且つ、前記第１画素領域の少なくとも一部を表す特定の仮想カメラデータを含む特定のカメラワークデータを取得する取得手段と、
前記取得手段により取得された前記特定のカメラワークデータに従った画素領域を、前記動画データの出力に沿って前記表示画面に表示させる第２表示制御手段と、
を備えることを特徴とする端末装置。
【請求項７】
複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データの出力に沿って、前記画像フレームにおける仮想カメラの操作に従って、前記複数の画素の中から特定された第１画素領域を表示画面に表示させる第１表示制御手段と、
前記第１画素領域を前記表示画面に表示させた前記仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第１仮想カメラデータと、前記第１画素領域が前記表示画面に表示された第１再生時間とを時系列に沿って対応付けて取得する取得手段と、
前記動画データの前記画像フレームにおける仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第２仮想カメラデータと、前記第２仮想カメラデータにより前記複数の画素の中から特定される第２画素領域が出力される第２再生時間と、を時系列に沿って対応付けたカメラワークデータであって、複数の前記カメラワークデータを記憶した記憶手段に、前記取得手段により取得された前記第１再生時間に対応する前記第２再生時間があるかを判定する第１判定手段と、
前記第１判定手段により前記記憶手段にあると判定された場合、前記第２再生時間に対応付けられた特定の前記第２仮想カメラデータにより特定される第２画素領域が、前記第１画素領域を少なくとも一部含むかを判定する第２判定手段と、
前記第２判定手段により前記第１画素領域を少なくとも一部含むと判定された場合、複数の前記カメラワークデータの中で、特定の前記第２仮想カメラデータを含む特定のカメラワークデータに従った画素領域を、前記動画データの出力に沿って前記表示画面に表示させる第２表示制御手段と、
を備えることを特徴とする端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像フレームから構成される動画データの画像フレームにおける仮想カメラの向きや仮想カメラの画角を表す仮想カメラデータを作成する装置等の技術分野に関する。
【背景技術】
【０００２】
従来、所定の動画データに対して疑似的なカメラワークが、ユーザの仮想カメラの操作により行われる場合がある。疑似的なカメラワークでは、動画データを構成する画像フレーム内で、例えばユーザが仮想カメラの向きや仮想カメラの画角などを指定することで特定の画素領域が表示画面に表示される。このような仮想カメラの向きや仮想カメラの画角などを表す仮想カメラデータは、端末装置から配信サーバへアップロード可能になっている。特許文献１には、アップロードされた動画データ自体を編集せずに、他のユーザによる疑似的なカメラワークを共有することが可能な通信システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−０１１６２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば動画におけるオブジェクト（表示対象）が予期しない動きをすることで、ユーザは上記カメラワークにより所望のオブジェクトをスムーズに追跡できない場合がある。
【０００５】
本発明は、動画におけるオブジェクトをスムーズに追跡表示させることが可能な端末装置及びプログラムを提供する。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データの前記画像フレームにおける仮想カメラの操作に従って、前記複数の画素の中から特定された第１画素領域を表示画面に表示させる第１表示制御ステップと、前記第１画素領域を前記表示画面に表示させた前記仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第１仮想カメラデータと、前記第１画素領域が前記表示画面に表示された第１再生時間とを時系列に沿って対応付けてサーバ装置へ送信する送信ステップと、前記動画データの前記画像フレームにおける仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第２仮想カメラデータと、前記第２仮想カメラデータにより前記複数の画素の中から特定される第２画素領域が出力される第２再生時間と、を時系列に沿って対応付けたカメラワークデータであって、前記サーバ装置が記憶する複数の前記カメラワークデータの中から、前記第１再生時間に対応し、且つ、前記第１画素領域の少なくとも一部を表す特定の仮想カメラデータを含む特定のカメラワークデータを取得する取得ステップと、前記取得ステップにより取得された前記特定のカメラワークデータに従った画素領域を、前記動画データの出力に沿って前記表示画面に表示させる第２表示制御ステップと、をコンピュータに実行させるプログラムである。
【０００７】
請求項２に記載の発明は、複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データの出力に沿って、前記画像フレームにおける仮想カメラの操作に従って、前記複数の画素の中から特定された第１画素領域を表示画面に表示させる第１表示制御ステップと、前記第１画素領域を前記表示画面に表示させた前記仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第１仮想カメラデータと、前記第１画素領域が前記表示画面に表示された第１再生時間とを時系列に沿って対応付けて取得する取得ステップと、前記動画データの前記画像フレームにおける仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第２仮想カメラデータと、前記第２仮想カメラデータにより前記複数の画素の中から特定される第２画素領域が出力される第２再生時間と、を時系列に沿って対応付けたカメラワークデータであって、複数の前記カメラワークデータを記憶した記憶手段に、前記取得ステップにより取得された前記第１再生時間に対応する前記第２再生時間があるかを判定する第１判定ステップと、前記第１判定ステップにより前記記憶手段にあると判定された場合、前記第２再生時間に対応付けられた特定の前記第２仮想カメラデータにより特定される第２画素領域が、前記第１画素領域を少なくとも一部含むかを判定する第２判定ステップと、前記第２判定ステップにより前記第１画素領域を少なくとも一部含むと判定された場合、複数の前記カメラワークデータの中で、特定の前記第２仮想カメラデータを含む特定のカメラワークデータに従った画素領域を、前記動画データの出力に沿って前記表示画面に表示させる第２表示制御ステップと、をコンピュータに実行させるプログラムである。
【０００８】
請求項４に記載の発明は、請求項１から請求項３のいずれか一項に記載のプログラムにおいて、前記第１表示制御ステップは、前記第１画素領域を前記表示画面内のメイン画面に表示させ、前記第２表示制御ステップは、前記第２画素領域を、前記表示画面内に、前記メイン画面よりも面積が小さいサブ画面により表示させ、前記プログラムは、前記サブ画面に表示されている前記第２画素領域の指定を受け付ける受け付けステップと、前記第２画素領域の指定が受け付けられた場合、前記サブ画面に表示されている前記第２画素領域を前記メイン画面に表示させる第３表示制御ステップと、を前記コンピュータに更に実行させることを特徴とする。
【０００９】
請求項５に記載の発明は、請求項４に記載のプログラムにおいて、前記第２表示制御ステップは、特定の前記第２仮想カメラデータの数に応じた数の前記サブ画面を設定し、特定の前記第２仮想カメラデータそれぞれにより特定された複数の前記第２画素領域を、複数の前記サブ画面それぞれに表示させ、前記受け付けステップは、複数の前記サブ画面にそれぞれ表示されている複数の前記第２画素領域の中から、特定の前記第２画素領域の指定を受け付け、前記第３表示制御ステップは、特定の前記第２画素領域の指定が受け付けられた場合、指定された特定の前記第２画素領域を前記メイン画面に表示させることを特徴とする。
【００１０】
請求項３に記載の発明は、請求項２に記載のプログラムにおいて、前記第２判定ステップは、特定の前記第２仮想カメラデータにより特定される第２画素領域の中心座標が、前記第１画素領域の中心座標から所定範囲以内にあるかを判定することを特徴とする。
【００１１】
請求項６に記載の発明は、複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データの前記画像フレームにおける仮想カメラの操作に従って、前記複数の画素の中から特定された第１画素領域を表示画面に表示させる第１表示制御手段と、前記第１画素領域を前記表示画面に表示させた前記仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第１仮想カメラデータと、前記第１画素領域が前記表示画面に表示された第１再生時間とを時系列に沿って対応付けてサーバ装置へ送信する送信手段と、前記動画データの前記画像フレームにおける仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第２仮想カメラデータと、前記第２仮想カメラデータにより前記複数の画素の中から特定される第２画素領域が出力される第２再生時間と、を時系列に沿って対応付けたカメラワークデータであって、前記サーバ装置が記憶する複数の前記カメラワークデータの中から、前記第１再生時間に対応し、且つ、前記第１画素領域の少なくとも一部を表す特定の仮想カメラデータを含む特定のカメラワークデータを取得する取得手段と、前記取得手段により取得された前記特定のカメラワークデータに従った画素領域を、前記動画データの出力に沿って前記表示画面に表示させる第２表示制御手段と、を備えることを特徴とする。
【００１２】
請求項７に記載の発明は、複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データの出力に沿って、前記画像フレームにおける仮想カメラの操作に従って、前記複数の画素の中から特定された第１画素領域を表示画面に表示させる第１表示制御手段と、前記第１画素領域を前記表示画面に表示させた前記仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第１仮想カメラデータと、前記第１画素領域が前記表示画面に表示された第１再生時間とを時系列に沿って対応付けて取得する取得手段と、前記動画データの前記画像フレームにおける仮想カメラの位置または前記仮想カメラの向きのうち少なくとも何れかを表す第２仮想カメラデータと、前記第２仮想カメラデータにより前記複数の画素の中から特定される第２画素領域が出力される第２再生時間と、を時系列に沿って対応付けたカメラワークデータであって、複数の前記カメラワークデータを記憶した記憶手段に、前記取得手段により取得された前記第１再生時間に対応する前記第２再生時間があるかを判定する第１判定手段と、前記第１判定手段により前記記憶手段にあると判定された場合、前記第２再生時間に対応付けられた特定の前記第２仮想カメラデータにより特定される第２画素領域が、前記第１画素領域を少なくとも一部含むかを判定する第２判定手段と、前記第２判定手段により前記第１画素領域を少なくとも一部含むと判定された場合、複数の前記カメラワークデータの中で、特定の前記第２仮想カメラデータを含む特定のカメラワークデータに従った画素領域を、前記動画データの出力に沿って前記表示画面に表示させる第２表示制御手段と、を備えることを特徴とする。
【発明の効果】
【００１３】
請求項１、２、３、６または７に記載の発明によれば、例えば動画におけるオブジェクトが予期しない動きをする場合であっても、動画におけるオブジェクトをスムーズに追跡表示させることができる。
【００１４】
請求項４に記載の発明によれば、メイン画面で提供される疑似的なカメラワークと近いカメラワークをサブ画面でユーザに確認させることができる。
【００１５】
請求項５に記載の発明によれば、メイン画面で提供される疑似的なカメラワークと近い複数のカメラワークを複数のサブ画面でユーザに一度に効率良く確認させることができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態の通信システムＳの概要構成例を示す図である。
【図２】クライアント端末２ａの制御部２１またはＣＰＵにより実行される処理の一例を示すフローチャートである。
【図３】カメラワークデータの格納処理の一例を示す図である。
【図４】クライアント端末２ａのディスプレイにおける表示画面の一例を示す図である。
【図５】配信サーバ１の制御部１１またはＣＰＵにより実行される処理の一例を示すフローチャートである。
【図６】複数の画像フレームにおける視聴カメラワークデータと雛形カメラワークデータとの関係の一例を示す概念図である。
【図７】（Ａ）は、図６に示す視聴カメラワークデータと雛形カメラワークデータの内容の一例を示す図である。（Ｂ）は、再生時間ごとの判定結果の一例を雛形カメラワークデータごとに示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面に基づいて説明する。
【００１８】
［１．通信システムの構成及び動作概要］
始めに、図１を参照して、本発明の実施形態の通信システムＳの構成及び動作概要について説明する。図１は、本実施形態の通信システムＳの概要構成例を示す図である。図１に示すように、通信システムＳは、配信サーバ１、及びクライアント端末２ａ，２ｂを含んで構成される。クライアント端末２ａ，２ｂは、本発明の端末装置の一例である。クライアント端末２ａのユーザは、例えば動画データの視聴者である。クライアント端末２ｂのユーザは、例えば動画データの管理者である。なお、図１に示すクライアント端末の数は一例であり、この数には限定されるものではない。配信サーバ１及びクライアント端末２ａ，２ｂは、それぞれ、ネットワークＮＷに接続される。ネットワークＮＷは、例えば、インターネット等により構成される。
【００１９】
配信サーバ１は、クライアント端末２ａからのコンテンツ要求に応じて、コンテンツをクライアント端末２ａへ送信する。コンテンツには、動画データが含まれる。なお、コンテンツは、音声データを含んでもよい。コンテンツには、コンテンツＩＤが付与される。コンテンツＩＤは、コンテンツを識別する識別情報である。コンテンツの送信は、例えば、ネットワークＮＷを介してストリーミング配信により行われる。クライアント端末２ａは、配信サーバ１からストリーミングで配信されたコンテンツを受信する。クライアント端末２ａは、受信されたコンテンツに含まれる動画データを再生する。動画データは、複数の画像フレームから構成される。また、各画像フレームは、複数の画素から構成される。
【００２０】
そして、クライアント端末２ａは、再生された動画データの画像フレームにおいて複数の画素の中から特定された画素領域を表示画面に表示させる。この画素領域は、１画像フレーム内で表示画面に描画される描画領域に相当する。言い換えれば、画素領域は、画像フレームから切り出される表示範囲である。この画素領域は、例えば、疑似的なカメラワーク（以下、「疑似カメラワーク」という）の操作により特定することができる。疑似カメラワークの操作は、画像フレームにおける仮想カメラの操作により行われる。つまり、クライアント端末２ａは、動画データの出力に沿って、画像フレームにおける仮想カメラの操作に従って、複数の画素の中から特定された画素領域を表示画面に表示させる。ここで、仮想カメラとは、二次元平面または三次元仮想空間における仮想スクリーンに投影される動画に対して仮想的に設定された視点をいう。なお、動画の一例として、例えばパノラマ動画がある。パノラマ動画は、例えば高解像度のカメラで、且つ広範囲を撮影可能なレンズを搭載するカメラにより被写体が撮影された動画である。広範囲を撮影可能なレンズには、ワイドレンズ、魚眼レンズ、３６０度レンズ等がある。また、パノラマ動画は、複数のカメラの映像を合成して作成される場合もある。そして、仮想スクリーンには、平面スクリーン、円筒形のスクリーン、及び球形のスクリーンがある。例えば、動画を撮影したカメラのレンズが魚眼レンズや３６０度レンズである場合、仮想スクリーンは球形のスクリーンとなる。
【００２１】
仮想カメラの操作には、例えば、仮想カメラのパン（左右振り）の操作、仮想カメラのチルト（上下振り）の操作、及び仮想カメラのズーム（拡大又は縮小）の操作がある。仮想カメラのパン及びチルトの操作により、仮想カメラの向き（アングル）が決まる。仮想カメラのパン及びチルトの操作は、例えば、ユーザによるマウスのドラッグ操作や、ユーザによる指やペン等によるフリック操作により実現できる。なお、フリック操作は、例えば、ユーザがタッチパネル方式の表示画面上で指やペン等の接触物を素早くスライドする操作である。また、仮想カメラのズームの操作により、仮想カメラの画角が決まる。仮想カメラのズームの操作は、例えば、ユーザがマウス等の操作部に設けられたボタンあるいはタッチパネル方式の表示画面上に表示されたボタン等を押すことにより実現できる。或いは、仮想カメラのズームの操作は、例えばユーザの指２本で方式の表示画面をピンチするピンチ操作により実現できる。ピンチ操作には、画素領域を縮小するピンチインと、画素領域を拡大するピンチアウトとがある。
【００２２】
クライアント端末２ａは、動画データの再生中に、カメラワークデータを生成する。カメラワークデータには、上記画素領域を表示画面に表示させた仮想カメラの位置、仮想カメラの向き、及び仮想カメラの画角のうち少なくとも何れかを表す仮想カメラデータと、上記画素領域が表示画面に表示された再生時間とが時系列に沿って対応付けられて含まれている。上記画素領域が、仮想カメラの位置または仮想カメラの向きにより特定される。一方、上記画素領域のズーム倍率（表示倍率）が、仮想カメラの画角により特定される。再生時間は、動画の再生開始からの再生位置に対応する再生時間を示す。再生時間は、言い換えれば、仮想カメラデータにより特定される画素領域が出力される再生時間である。本実施形態のカメラワークデータは、例えば、仮想カメラデータとして、パン（pan）、チルト（tilt）、及びズーム（zoom）のパラメータを含む。パン、チルトのパラメータは、仮想カメラの位置または仮想カメラの向きを表すデータの一例である。ズームのパラメータは、ズーム倍率（表示倍率）を表すデータの一例である。なお、仮想スクリーンが平面スクリーンの場合、画像フレームにおける仮想カメラの位置は、（x,y）座標を表すデータで規定される。この場合、（x,y）座標は、例えば仮想カメラの中心座標を示す。
【００２３】
ここで、パン（pan）及びチルト（tilt）と、上記画素領域との関係は、例えば、下記（１）,（２）式により表される。
【００２４】
pan＝x'＋width／２・・・（１）
tilt＝y'＋height／２・・・（２）
【００２５】
ここで、(x',y')は、例えば、画像フレームの左上端座標を原点（0,0)としたときの画素領域の左上端座標を示す。widthは、画素領域の幅を示す。heightは、画素領域の高さを示す。また、width及びheightは、それぞれ、例えば、下記（３）,（４）式で表される。
【００２６】
width＝Ｗ／α・・・（３）
height＝Ｈ／α・・・（４）
【００２７】
ここで、Ｗは、画像フレームの幅を示す。Ｈは、画像フレームの高さを示す。αは、ズーム（zoom）により変わる値である。例えば、ズーム倍率が１倍であれば、α＝１／４になる。ズーム倍率が２倍であれば、α＝１／２になる。αとズーム倍率との関係は、例えばプログラム上で規定される。
【００２８】
以上の（１）〜（４）式により、パン（pan）、チルト（tilt）、及びズーム（zoom）から、画像フレームの中の画素領域を特定することができる。
【００２９】
カメラワークデータによれば、二次元平面または三次元仮想空間における仮想スクリーンに投影される動画の全部または一部を仮想的に撮影する仮想カメラの動きを規定することができる。これにより、疑似カメラワークを再現することができる。視聴カメラワークデータは、例えば、動画データの再生開始からの再生終了までの再生時間において所定時間ごとに複数生成される。なお、クライアント端末２ａにより生成されたカメラワークデータを、「視聴カメラワークデータ」という。視聴カメラワークデータに含まれる仮想カメラデータを、「視聴カメラデータ」という。視聴カメラデータは、第１仮想カメラデータの一例である。また、視聴カメラデータにより特定される画素領域を、「第１画素領域」という。第１画素領域は、視聴範囲である。また、視聴カメラワークデータに含まれる再生時間を、「第１再生時間」という。視聴カメラデータによる疑似カメラワークを視聴カメラワークという。
【００３０】
そして、クライアント端末２ａは、コンテンツの再生中に、コンテンツＩＤと、生成した視聴カメラワークデータとを対応付けて配信サーバ１へ所定時間間隔で送信する。このコンテンツＩＤは、再生中のコンテンツのコンテンツＩＤである。つまり、クライアント端末２ａは、視聴カメラデータと、第１再生時間とを時系列に沿って対応付けて配信サーバ１へ送信する。配信サーバ１は、クライアント端末２ａから送信されたコンテンツＩＤと視聴カメラワークデータとを受信する。つまり、配信サーバ１は、視聴カメラデータと第１再生時間とを時系列に沿って対応付けて取得する。なお、視聴カメラワークデータには、カメラワークＩＤが付与される。カメラワークＩＤは、カメラワークデータを識別する識別情報である。
【００３１】
配信サーバ１は、雛形カメラワークデータを記憶する。雛形カメラワークデータは、クライアント端末２ａに配信する雛形のカメラワークデータである。例えば、雛形のカメラワークデータは、クライアント端末２ｂにより生成される。配信サーバ１は、クライアント端末２ｂにより生成されたカメラワークデータ及びカメラワークＩＤを記憶手段に記憶する。つまり、配信サーバ１は、仮想カメラデータと再生時間とを時系列に沿って対応付けて記憶手段に記憶する。雛形カメラワークデータに含まれる仮想カメラデータを、「雛形カメラデータ」という。雛形カメラデータは、第２仮想カメラデータの一例である。また、雛形カメラデータにより特定される画素領域を、「第２画素領域」という。また、雛形カメラワークデータに含まれる再生時間を、「第２再生時間」という。また、雛形カメラデータに表される疑似カメラワークを雛形カメラワークという。なお、雛形カメラワークデータには、カメラワークＩＤが付与される。クライアント端末２ｂは、例えば所定の追跡プログラムにより所定のオブジェクト（表示対象）を自動的に追跡する雛形カメラワークデータを生成しても良い。或いは、クライアント端末２ｂは、例えば管理者による仮想カメラの操作により所定のオブジェクトを追跡する雛形カメラワークデータを生成しても良い。雛形カメラワークデータを用いることで、動画内の所定のオブジェクトをスムーズに追跡するカメラワークを再現することができる。
【００３２】
そして、配信サーバ１は、クライアント端末２ａから視聴カメラワークデータを受信すると、視聴カメラワークデータに関連する雛形カメラワークデータを検索する。具体的には、配信サーバ１は、コンテンツＩＤと、複数の雛形カメラワークデータとを対応付けて記憶する。また、配信サーバ１は、受信した視聴カメラワークデータと、視聴カメラワークデータが生成されるために用いられた動画データを識別するコンテンツＩＤとを対応付けて記憶する。配信サーバ１は、視聴カメラワークデータと対応付けられたコンテンツＩＤと一致するコンテンツＩＤを検索する。そして、配信サーバ１は、一致したコンテンツＩＤと対応付けられた複数の雛形カメラワークデータを特定する。特定された複数の雛形カメラワークデータについて、配信サーバ１は、視聴カメラワークデータに含まれる第１再生時間に対応する第２再生時間が記憶手段にあるかを第１再生時間ごとに判定する。ここで、第１再生時間に対応する第２再生時間には、例えば、第１再生時間と一致する第２再生時間が該当する。ただし、第１再生時間に対応する第２再生時間には一定の幅があってもよい。この場合、第１再生時間に対応する第２再生時間には、第１再生時間のプラスマイナス数十ｍｓ範囲内に含まれる第２再生時間が該当する。配信サーバ１は、特定の雛形カメラデータにより特定される第２画素領域が、第１画素領域を少なくとも一部含むかを特定の雛形カメラデータを用いて判定する。ここで、特定の雛形カメラデータとは、記憶手段にあると判定された第２再生時間に対応付けられた雛形カメラデータである。第１画素領域は、上記第１再生時間に対応付けられた視聴カメラデータにより特定される画素領域である。第２画素領域が第１画素領域を少なくとも一部含むかどうかの判定は、言い換えれば、第２画素領域と第１画素領域との一致度の有無の判定である。そして、配信サーバ１は、複数の第２画素領域を少なくとも特定する雛形カメラデータと、複数の第２画素領域がそれぞれ出力される第２再生時間とを時系列に沿って対応付けて含む雛形カメラワークデータをクライアント端末２ａへ送信する。ここで、複数の第２画素領域は、第１画素領域を少なくとも一部含む第２画素領域の後に続く画素領域である。第２画素領域の後に続くとは、第２画素領域が出力される第２再生時間の後に続いて出力されることを意味する。
【００３３】
クライアント端末２ａは、配信サーバ１から、雛形カメラデータと第２再生時間とを時系列に沿って対応付けて含む雛形カメラワークデータを受信する。つまり、クライアント端末２ａは、複数の雛形カメラワークデータの中から、特定の雛形カメラワークデータを取得する。特定の雛形カメラワークデータは、第１再生時間に対応し、且つ、第１画素領域の少なくとも一部を表す特定の雛形カメラデータを含む。そして、クライアント端末２ａは、取得された特定の雛形カメラワークデータに従った画素領域を、動画データの出力に沿って表示画面に表示させる。例えば、クライアント端末２ａは、仮想カメラの操作による視聴カメラデータの代わりに、上記雛形カメラデータに従って、上記第１画素領域を少なくとも一部含む第２画素領域の後に続く第２画素領域を表示画面に表示させる。
【００３４】
［２．各装置の構成］
次に、図１を参照して、本実施形態の通信システムＳに含まれる各装置の構成について説明する。配信サーバ１は、図１に示すように、制御部１１、記憶部１２、及びインターフェース部１３等を備えて構成される。これらの構成要素は、バス１４に接続されている。インターフェース部１３は、ネットワークＮＷに接続される。制御部１１は、コンピュータとしてのＣＰＵ（Center Processing Unit）、ＲＯＭ（Read Only Memory）、及びＲＡＭ（Random Access Memory）等により構成される。制御部１１は、コンテンツの送受信、及びカメラワークデータの送受信を制御する。記憶部１２は、例えば、例えばハードディスクドライブにより構成される。記憶部１２には、ＯＳ、及びサーバプログラム等が記憶されている。記憶部１２には、例えば撮影装置から受信されたコンテンツがコンテンツＩＤに対応付けられて記憶される。また、記憶部１２には、クライアント端末２ｂ等から受信された複数の雛形カメラワークデータがコンテンツＩＤに対応に対応付けられて記憶される。また、記憶部１２には、複数の雛形カメラワークデータのそれぞれに付与されたカメラワークＩＤと雛形カメラワークデータの特徴情報とが記憶される。この特徴情報には、雛形カメラワークデータにより追跡されるオブジェクトの名称、オブジェクトＩＤ等が含まれる。オブジェクトが人物である場合、オブジェクトの名称は人物名である。オブジェクトＩＤは、オブジェクトを識別する識別情報である。
【００３５】
次に、クライアント端末２ａ，２ｂは、図１に示すように、制御部２１、記憶部２２、ビデオＲＡＭ２３、映像制御部２４、操作処理部２５、音声制御部２６、及びインターフェース部２７等を備えて構成される。これらの構成要素は、バス２８に接続されている。制御部２１は、コンピュータとしてのＣＰＵ（Center Processing Unit）、ＲＯＭ（Read Only Memory）、及びＲＡＭ（Random Access Memory）等により構成される。制御部１１は、本発明の第１表示制御手段、送信手段、取得手段、第１判定手段、第２判定手段及び第２表示制御手段の一例である。制御部１１は、タイマー機能を備える。映像制御部２４には、ディスプレイを備える表示部２４ａが接続される。操作処理部２５には、操作部２５ａが接続される。操作部２５ａには、例えば、マウス、キーボード、リモコン等がある。表示部２４ａと操作部２５ａとを兼ねるタッチパネルが適用されてもよい。制御部２１は、ユーザによる操作部２５ａからの操作指示を、操作処理部２５を介して受け付ける。ユーザは、操作部２５ａを用いて、上述した仮想カメラの操作を行うことができる。音声制御部２６には、スピーカ２６ａが接続される。インターフェース部２７は、ネットワークＮＷに接続される。記憶部２２は、例えば、ハードディスクドライブ（ＨＤＤ）により構成される。記憶部２２には、ＯＳ、及びプレイヤーソフトウェア等が記憶されている。プレイヤーソフトウェアは、コンテンツの受信及び再生処理、及びカメラワークデータの送受信処理をＣＰＵに実行させるプログラムである。
【００３６】
制御部２１は、プレイヤーソフトウェアを実行することで、受信されたコンテンツを再生するプレイヤーとして機能する。また、プレイヤーの機能により、表示部２４ａにおけるディスプレイには、表示画面が表示される。表示画面は、ウインドウともいう。表示画面には、メイン画面とサブ画面とがある。表示画面内のメイン画面には、仮想カメラの操作による視聴カメラデータ、または雛形カメラワークデータに従って、動画が表示される。この動画は、受信された動画データの画像フレームにおける複数の画素の中から特定された画素領域に対応する動画である。サブ画面には、カメラワークデータに従って、メイン画面に表示される候補となる動画が表示される。サブ画面は、メイン画面上に重畳されて表示されてもよい。サブ画面は、メイン画面よりも面積が小さい。制御部２１は、配信サーバ１から受信された特定の雛形カメラワークデータの数に応じた数のサブ画面を設定する。そして、制御部２１は、例えば、上記特定の雛形カメラワークデータにより特定された第２画素領域を、表示画面内にサブ画面により表示させる。制御部２１は、サブ画面に表示されている第２画素領域の指定を受け付けた場合、サブ画面に表示されている第２画素領域をメイン画面に表示させる。また、制御部２１におけるＲＡＭにはバッファメモリが設けられている。バッファメモリには、受信されたコンテンツに含まれる動画データ等が一時的に保持される。制御部２１は、バッファメモリからビデオＲＡＭ２３へ動画データを出力する。ビデオＲＡＭ２３には、描画データを書き込まれるフレームバッファが設けられている。映像制御部２４は、制御部２１からの制御信号に従って、フレームバッファに書き込まれた描画データを表示画面に描画することで表示させる。また、バッファメモリに保持されたコンテンツに音声データが含まれる場合がある。この場合、制御部２１は、バッファメモリから音声データを再生して音声制御部２６へ出力する。音声制御部２６は、音声データからアナログ音声信号を生成し、生成したアナログ音声信号をスピーカ２６ａへ出力する。
【００３７】
［３．通信システムＳの動作］
次に、本実施形態の通信システムＳの動作について説明する。先ず、図２を参照して、クライアント端末２ａの動作について説明する。図２は、クライアント端末２ａの制御部２１またはＣＰＵにより実行される処理の一例を示すフローチャートである。図２に示す処理は、クライアント端末２ａにおいてプレイヤーの起動後に、例えば、クライアント端末２ａのユーザが所望のコンテンツを選択することにより開始される。図２に示す処理が開始されると、制御部２１は、表示部２４ａにおけるディスプレイにメイン画面を設定する（ステップＳ１）。次いで、制御部２１は、コンテンツの受信及び再生処理を開始する（ステップＳ２）。コンテンツ受信及び再生処理は、例えばＯＳのマルチタスク機能により、図２に示す処理とは独立して並列的に行われる。コンテンツの受信及び再生処理では、制御部２１は、配信サーバ１へアクセスし、コンテンツの要求を送信する。なお、クライアント端末２ａが配信サーバ１へアクセスすると、配信サーバ１によりセッションＩＤが生成される。このセッションＩＤは、配信サーバ１とクライアント端末２ａとの通信セッションを識別する識別情報である。セッションＩＤは、配信サーバ１からクライアント端末２ａへ送信される。そして、制御部２１は、コンテンツの要求に応じて、配信サーバ１からストリーミングで配信されたコンテンツを受信しバッファメモリに記憶する。そして、制御部２１は、バッファメモリに記憶されたコンテンツに含まれる動画データを再生する。なお、コンテンツの受信及び再生処理は、図２に示す処理の終了まで継続する。
【００３８】
次いで、制御部２１は、雛形カメラワークデータがあるか否かを判定する（ステップＳ３）。例えば雛形カメラワークデータがＲＡＭ等に記憶されている場合、制御部２１は、雛形カメラワークデータがあると判定する。制御部２１は、雛形カメラワークデータがないと判定した場合（ステップＳ３：ＮＯ）、ステップＳ４へ進む。一方、制御部２１は、雛形カメラワークデータがあると判定した場合（ステップＳ３：ＹＥＳ）、ステップＳ５へ進む。
【００３９】
ステップＳ４では、制御部２１は、メイン画面へのカメラワーク入力を「手動」に設定し、ステップＳ６へ進む。ここで、「手動」に設定とは、ユーザによる仮想カメラの操作入力をオンに設定することを意味する。一方、ステップＳ５では、制御部２１は、メイン画面へのカメラワーク入力を「雛形カメラワークデータ」に設定し、ステップＳ６へ進む。ステップＳ６では、制御部２１は、カメラワークデータの格納処理を開始する。そして、制御部２１は、メイン画面への動画表示処理を開始する（ステップＳ７）。なお、カメラワークデータの格納処理及びメイン画面への動画表示処理は、例えばＯＳのマルチタスク機能により、図２に示す処理とは独立して並列的に行われる。メイン画面への動画表示処理では、制御部２１は、再生された動画データに基づいて動画をメイン画面に表示させる。ここで、カメラワーク入力が「手動」に設定されているとする。この場合、制御部２１は、仮想カメラの操作に従って、動画データの画像フレームにおける複数の画素の中から特定された画素領域をメイン画面に表示させる。つまり、制御部２１は、仮想カメラの操作による視聴カメラデータに従って特定された画素領域をメイン画面に表示させる。一方、カメラワーク入力が「雛形カメラワークデータ」に設定されているとする。この場合、制御部２１は、雛形カメラワークデータに従って特定された画素領域をメイン画面に表示させる。ステップＳ４で、「手動」に設定された場合、制御部２１は、「手動」に設定されたことを表す情報をＲＡＭに一時記憶する。ステップＳ５で、「雛形カメラワークデータ」に設定された場合、制御部２１は、「雛形カメラワークデータ」に設定されたことを表す情報をＲＡＭに一時記憶する。
【００４０】
ここで、図３を参照して、カメラワークデータの格納処理の詳細を説明する。図３は、カメラワークデータの格納処理の一例を示す図である。カメラワークデータの格納処理では、制御部２１は、メイン画面が仮想カメラの操作に従って表示されているか否かを判定する（ステップＳ６１）。例えば、制御部２１は、ＲＡＭに一時記憶された情報に基づいて、メイン画面が仮想カメラの操作に従って表示されているか否かを判定する。制御部２１は、メイン画面が仮想カメラの操作に従って表示されていると判定した場合（ステップＳ６１：ＹＥＳ）、ステップＳ６２へ進む。ステップＳ６２では、制御部２１は、仮想カメラの操作に従って、視聴カメラデータと第１再生時間とを時系列に沿って対応付けて例えばＲＡＭの所定領域に格納する。一方、制御部２１は、メイン画面が仮想カメラの操作に従って表示されていないと判定した場合（ステップＳ６１：ＮＯ）、ステップＳ６３へ進む。
【００４１】
ステップＳ６３では、制御部２１は、メイン画面が雛形カメラワークデータに従って表示されているか否かを判定する。例えば、制御部２１は、ＲＡＭに一時記憶された情報に基づいて、メイン画面が雛形カメラワークデータに従って表示されているか否かを判定する。制御部２１は、メイン画面が雛形カメラワークデータに従って表示されていると判定した場合（ステップＳ６３：ＹＥＳ）、ステップＳ６４へ進む。ステップＳ６４では、雛形カメラデータと第２再生時間とを時系列に沿って対応付けて例えばＲＡＭの所定領域に格納する。一方、制御部２１は、メイン画面が雛形カメラワークデータに従って表示されていないと判定した場合（ステップＳ６３：ＮＯ）、ステップＳ６５へ進む。ステップＳ６５では、制御部２１は、再生中の動画データが再生終了に到達したか否かを判定する。制御部２１は、動画データが再生終了に到達していないと判定した場合（ステップＳ６５：ＮＯ）、ステップＳ６１に戻る。これにより、カメラワークデータの格納処理が継続する。一方、制御部２１は、動画データが再生終了に到達したと判定した場合（ステップＳ６５：ＹＥＳ）、ステップＳ６６へ進む。ステップＳ６６では、ステップＳ６２またはステップＳ６４でＲＡＭの所定領域に格納された視聴カメラデータと再生時間とが時系列に沿って対応付けられた視聴カメラワークデータのファイルを出力し、図３に示す処理を終了する。また、カメラワークデータのファイルの出力先は、例えば記憶部２２、または配信サーバ１である。
【００４２】
ステップＳ８では、制御部２１は、メイン画面へのカメラワーク入力が「手動」に設定されているか否かを判定する。例えば、制御部２１は、ＲＡＭに一時記憶された情報に基づいて、メイン画面へのカメラワーク入力が「手動」に設定されているか否かを判定する。制御部２１は、メイン画面へのカメラワーク入力が「手動」に設定されていないと判定した場合（ステップＳ８：ＮＯ）、ステップＳ９へ進む。一方、制御部２１は、メイン画面へのカメラワーク入力が「手動」に設定されていると判定した場合（ステップＳ８：ＹＥＳ）、ステップＳ１０へ進む。ステップＳ９では、制御部２１は、仮想カメラの操作があったか否かを判定する。例えばユーザによるマウスの操作があった場合、仮想カメラの操作があったと判定される。制御部２１は、仮想カメラの操作があったと判定した場合（ステップＳ９：ＹＥＳ）、ステップＳ４に戻る。ステップＳ４に戻ると、制御部２１は、メイン画面へのカメラワーク入力を「手動」に設定する。一方、制御部２１は、仮想カメラの操作がないと判定した場合（ステップＳ９：ＮＯ）、ステップＳ１２へ進む。
【００４３】
ステップＳ１０では、制御部２１は、前回の視聴カメラワークデータの送信から所定時間経過したか否かを判定する。具体的には、制御部２１は、視聴カメラワークデータを送信するたびに、送信した日時をＲＡＭに一時記憶しても良い。この所定時間は、制御部２１のタイマー機能により例えば数十秒に設定される。制御部２１は、前回の視聴カメラワークデータの送信から所定時間経過していないと判定した場合（ステップＳ１０：ＮＯ）、ステップＳ１２へ進む。一方、制御部２１は、前回の視聴カメラワークデータの送信から所定時間経過したと判定した場合（ステップＳ１０：ＹＥＳ）、ステップＳ１１へ進む。所定時間経過したとは、タイマーにより設定された時間がカウントアップしたことを意味する。ステップＳ１１では、制御部２１は、視聴カメラデータと第１再生時間とを時系列に沿って対応付けた視聴カメラワークデータ、コンテンツＩＤ、及びセッションＩＤを配信サーバ１へ送信し、ステップＳ１２へ進む。ここで、送信される視聴カメラデータと第１再生時間は、カメラワークデータの格納処理によりＲＡＭの所定領域に格納された視聴カメラデータと第１再生時間である。また、送信されるコンテンツＩＤは、再生中のコンテンツのコンテンツＩＤである。なお、制御部２１は、送信した視聴カメラデータ及び第１再生時間をＲＡＭの所定領域から消去する。これは、配信サーバ１へ、重複する視聴カメラデータ及び第１再生時間を送信することを防ぐためである。また、視聴カメラワークデータが送信されると、タイマーのカウント値が０にリセットされる。そして、タイマーのカウントが再開する。これにより、制御部２１は、視聴カメラワークデータを例えば所定時間間隔で送信することができる。これにより、制御部２１により送信される視聴カメラワークデータは、送信ごとに変わりうるため、配信サーバ１から返信される雛形カメラワークデータ及びその数は毎回変わりうる。例えば１回目の送信で雛形カメラワークデータａと雛形カメラワークデータｂが返信され、２回目の送信で雛形カメラワークデータｃが返信されるということもありうる。
【００４４】
ステップＳ１２では、制御部２１は、配信サーバ１から送信された雛形カメラワークデータを受信したか否かを判定する。この雛形カメラワークデータは、ステップＳ１１で送信された視聴カメラワークデータに関連する雛形カメラワークデータである。制御部２１は、雛形カメラワークデータを受信していないと判定した場合（ステップＳ１２：ＮＯ）、ステップＳ１５へ進む。一方、制御部２１は、雛形カメラワークデータを受信したと判定した場合（ステップＳ１２：ＹＥＳ）、ステップＳ１３へ進む。
【００４５】
ステップＳ１３では、制御部２１は、ステップＳ１２で受信した雛形カメラワークデータの数に応じた数のサブ画面をディスプレイに設定する。例えば、受信した雛形カメラワークデータの数が２つであった場合、サブ画面を２つ設定する。一方、受信した雛形カメラワークデータの数が５つであった場合、サブ画面を５つ設定する。なお、受信された雛形カメラワークデータの数が、サブ画面を設定可能な上限数を超えている場合がある。この場合、制御部２１は、この上限数のサブ画面を設定する。次いで、制御部２１は、サブ画面への動画表示処理を開始する（ステップＳ１４）。サブ画面への動画表示処理は、例えばＯＳのマルチタスク機能により、図２に示す処理とは独立して並列的に行われる。サブ画面への動画表示処理では、制御部２１は、ステップＳ１２で受信した雛形カメラワークデータに従って特定された画素領域をサブ画面に表示させる。メイン画面で提供される視聴カメラワークと近い雛形カメラワークをサブ画面でユーザに確認させることができる。雛形カメラワークデータが複数受信された場合、制御部２１は、複数の雛形カメラワークデータそれぞれにより特定された複数の第２画素領域を複数のサブ画面それぞれに表示させる。なお、配信サーバ１から、雛形カメラワークデータと共に雛形カメラワークデータの特徴情報が送信される場合がある。この場合、受信された雛形カメラワークデータの特徴情報は、この雛形カメラワークデータに対応するサブ画面上に表示される。これにより、ユーザは、雛形カメラワークデータにより追跡されるオブジェクトの名称等を把握することができる。
【００４６】
図４は、クライアント端末２ａのディスプレイにおける表示画面の一例を示す図である。図４（Ａ）の例では、メイン画面ＭＶと、２つのサブ画面ＳＶ１，ＳＶ２が表示されている。また、サブ画面ＳＶ１及びＳＶ２には、それぞれ、追跡される人物名が表示されている。一方、図４（Ｂ）の例では、メイン画面ＭＶと、５つのサブ画面ＳＶ１〜ＳＶ５が表示されている。このように、サブ画面の数は、受信された雛形カメラワークデータの数に応じて増減する。これにより、メイン画面で提供される視聴カメラワークと近い複数の雛形カメラワークを複数のサブ画面でユーザに一度に効率良く確認させることができる。
【００４７】
ステップＳ１５では、制御部２１は、サブ画面に表示されている第２画素領域の指定を受け付けたか否かを判定する。例えば、ユーザがマウスまたは指でサブ画面上を指定すると、サブ画面に表示されている第２画素領域の指定を受け付けたと判定される。制御部２１は、サブ画面に表示されている第２画素領域の指定を受け付けた場合（ステップＳ１５：ＹＥＳ）、ステップＳ５に移行する。例えば、制御部２１は、複数のサブ画面にそれぞれ表示されている複数の第２画素領域の中から、特定の第２画素領域の指定を受け付けた場合、ステップＳ５へ移行する。ステップＳ５へ移行すると、制御部２１は、メイン画面へのカメラワーク入力を、ステップＳ１５で指定された第２画素領域を特定する雛形カメラワークデータに設定する。これにより、制御部２１は、図４（Ｂ）に示すようにサブ画面ＳＶ５に表示されている第２画素領域を、ステップＳ７で、図４（Ｃ）に示すようにメイン画面ＭＶに表示させる。なお、図４（Ｃ）の例では、第２画素領域の指定によりサブ画面は消去される。ところで、第２画素領域の指定が受け付けられる前に、制御部２１が仮想カメラの操作による視聴カメラデータに従って特定された画素領域をメイン画面に表示させている場合がある。この場合、制御部２１は、ステップＳ１５で第２画素領域の指定を受け付けると、視聴カメラデータの代わりに、指定された特定の第２画素領域を特定する雛形カメラデータに従って、第２画素領域をサブ画面に表示させることになる。なお、制御部２１は、複数のサブ画面にそれぞれ表示されている複数の第２画素領域の中から、特定の第２画素領域の指定を受け付けた場合がある。この場合、制御部２１は、指定された特定の第２画素領域をメイン画面に表示させることになる。一方、制御部２１は、サブ画面に表示されている第２画素領域の指定を受け付けていないと判定した場合（ステップＳ１５：ＮＯ）、ステップＳ１６へ進む。
【００４８】
ステップＳ１６では、制御部２１は、ステップＳ５で設定された雛形カメラワークデータがあるか否かを判定する。例えばステップＳ５で設定された雛形カメラワークデータがＲＡＭ等に記憶されている場合、制御部２１は、雛形カメラワークデータがあると判定する。制御部２１は、雛形カメラワークデータがないと判定した場合（ステップ１６：ＮＯ）、ステップＳ４に戻る。これにより、メイン画面へのカメラワーク入力が「手動」に設定される。一方、制御部２１は、設定された雛形カメラワークデータがあると判定した場合（ステップＳ１６：ＹＥＳ）、ステップＳ１７へ進む。
【００４９】
ステップＳ１７では、制御部２１は、再生中の動画データが再生終了に到達したか否かを判定する。制御部２１は、動画データが再生終了に到達していないと判定した場合（ステップＳ１７：ＮＯ）、ステップＳ８に戻る。一方、制御部２１は、動画データが再生終了に到達したと判定した場合（ステップＳ１７：ＹＥＳ）、図２に示す処理を終了する。なお、図示しないが、図２に示す処理中に、ユーザにより再生停止があった場合、図２に示す処理が終了する。
【００５０】
次に、図５を参照して、配信サーバ１の動作について説明する。図５は、配信サーバ１の制御部１１またはＣＰＵにより実行される処理の一例を示すフローチャートである。図５に示す処理は、配信サーバ１がクライアント端末２ａから送信された視聴カメラワークデータ、コンテンツＩＤ、及びセッションＩＤを受信し、取得することにより開始される。取得された視聴カメラワークデータ、コンテンツＩＤ、及びセッションＩＤは、ＲＡＭの所定領域に記憶される。
【００５１】
図５に示す処理が開始されると、制御部１１は、取得されたコンテンツＩＤが対応付けられた雛形カメラワークデータを記憶部１２から取得する（ステップＳ２１）。取得された雛形カメラワークデータは、ＲＡＭの所定領域に記憶される。なお、制御部１１は、クライアント端末２ａから視聴カメラワークデータと共に取得したセッションＩＤに基づいて、前回の判定結果情報を検索する。前回の判定結果とは、視聴カメラワークデータの前回の受信時に行われた一致度の有無の判定結果を示す情報である。一致度とは、第２画素領域と第１画素領域との一致度である。制御部１１は、上記セッションＩＤに対応付けられた前回の判定結果情報が例えば記憶部１２に記憶されている場合、この判定結果情報をＲＡＭの所定領域に読み込む。
【００５２】
次いで、制御部１１は、ステップＳ２１で取得された雛形カメラワークデータの中から、視聴カメラワークデータに含まれる第１再生時間と一致する第２再生時間を含む雛形カメラワークデータを特定する（ステップＳ２２）。すなわち、制御部１１は、視聴カメラワークデータに含まれる第１再生時間と一致する第２再生時間がＲＡＭの所定領域にあるかを第１再生時間ごとに判定する。ここで、視聴カメラワークデータが数十ｍｓ（ミリ秒）ごとに第１再生時間を規定しているとする。この場合、制御部１１は、第１再生時間と一致する第２再生時間がＲＡＭの所定領域にあるかを数十ｍｓごとに判定する。つまり、１画像フレームごとに判定される。或いは、この場合、制御部１１は、第１再生時間と一致する第２再生時間がＲＡＭの所定領域にあるかを数十ｍｓより長い間隔で判定するようにしてもよい。つまり、複数の画像フレームごとに判定されるようにしてもよい。なお、全ての再生時間、または所定数以上の第１再生時間において一致する第２再生時間がＲＡＭの所定領域にない場合、図５に示す処理が終了する。そして、制御部１１は、ＲＡＭの所定領域にあると判定された第２再生時間を含む１または複数雛形カメラワークデータを特定する。なお、上記のように一致すると判定された第２再生時間と第１再生時間を、以下、単に、「再生時間」という。
【００５３】
次いで、制御部１１は、雛形カメラデータにより特定される第２画素領域が、視聴カメラデータにより特定される第１画素領域を少なくとも一部含むかを再生時間ごとに判定する（ステップＳ２３）。つまり、第２画素領域と第１画素領域との一致度の有無が判定される。ここで、雛形カメラデータは、ステップＳ２２で特定された雛形カメラワークデータに含まれる雛形カメラデータである。また、視聴カメラデータは、取得された視聴カメラワークデータに含まれる視聴カメラデータである。例えば、制御部１１は、特定の雛形カメラデータにより特定される第２画素領域の中心座標が、第１画素領域の中心座標から所定範囲以内にあるか判定する。第１画素領域の中心座標から所定範囲内に、第２画素領域の中心座標がある場合、この第２画素領域は、第１画素領域を少なくとも一部含むとして判定されることになる。つまり、所定範囲は、複数の画素から構成されている。所定範囲内の複数の画素の位置は、それぞれ、例えば、画像フレームの左上端位置を原点とする座標で表される。所定範囲内の複数の画素に対応する複数の座標の中に、第２画素領域の中心座標と一致する座標がある場合、第２画素領域は、第１画素領域を少なくとも一部含むとして判定される。この場合、制御部１１は、この判定前に、視聴カメラデータに含まれるパン及びチルトから中心座標を算出する。そして、制御部１１は、算出した中心座標とズーム倍率から上記所定範囲を決定することになる。この所定範囲は、ズーム倍率に応じて変化する。なお、第１画素領域と第２画素領域と全部または一部が重なる場合、この第２画素領域は、第１画素領域を少なくとも一部含むとして判定されてもよい。例えば、第１画素領域を構成する複数の画素に対応する複数の座標の中の少なくとも１つの座標と、第２画素領域を構成する複数の画素に対応する複数の座標の中の少なくとも１つの座標とが一致する場合、この第２画素領域は、第１画素領域を少なくとも一部含むとして判定される。
【００５４】
図６は、複数の画像フレームにおける視聴カメラワークデータと雛形カメラワークデータとの関係の一例を示す概念図である。図６に示すR1〜R5は、第１画素領域を示す。図６に示すH1〜H5は、所定範囲を示す。図７（Ａ）は、図６に示す視聴カメラワークデータと雛形カメラワークデータの内容の一例を示す図である。図７（Ａ）に示す雛形カメラワークデータａ〜ｃは、ステップＳ２２で特定された雛形カメラワークデータである。雛形カメラワークデータａ〜ｃのカメラワークＩＤは互いに異なる。図６及び図７（Ａ）の例では、仮想カメラデータが示すパン,チルトを、画素領域の中心座標(x,y)に変換した例を示している。なお、図７（Ａ）の例では、雛形カメラワークデータａ〜ｃに含まれるズーム倍率を省略している。また、図６及び図７（Ａ）の例では、説明の便宜上、再生時間を１ｓ〜５ｓの１秒間隔としているが、実際には数十ｍｓの間隔である。また、図６の例では、雛形カメラワークデータａ〜ｃは、それぞれ異なるオブジェクトを追跡する。しかし、雛形カメラワークデータａ〜ｃは、同一のオブジェクトを追跡する場合もある。
【００５５】
図７（Ｂ）は、再生時間ごとの判定結果の一例を雛形カメラワークデータごとに示す図である。このような判定結果は、例えば、ＲＡＭの所定領域に記憶されたテーブルに登録される。前回の判定結果情報がステップＳ２１で取得された場合、前回の判定結果がテーブルに追加される。図６に示す再生時間１ｓにおける画像フレームでは、第１画素領域R1の中心座標(x01,y01)から所定範囲H1内に、中心座標(xa1,ya1)、中心座標(xb1,yb1)、及び中心座標(xc1,yc1)がある。そのため、再生時間１ｓにおける雛形カメラワークデータａ〜ｃの判定結果は、図７（Ｂ）に示すように、いずれもＯＫとなっている。ＯＫは、第１画素領域の中心座標から所定範囲内に第２画素領域の中心座標があると判定されたことを示す。つまり、ＯＫは、第２画素領域と第１画素領域との一致度が有と判定されたことを示す。図６に示す再生時間２ｓにおける画像フレームでは、第１画素領域R2の中心座標(x02,y02)から所定範囲H2内には、中心座標(xa2,ya2)、及び中心座標(xb2,yb2)がある。そのため、再生時間２ｓにおける雛形カメラワークデータａ，ｂの判定結果は、図７（Ｂ）に示すように、それぞれ、ＯＫとなっている。一方、第１画素領域R2の中心座標(x02,y02)から所定範囲H2内には、中心座標(xc2,yc2)が含まれていない。そのため、再生時間２ｓにおける雛形カメラワークデータｃの判定結果は、図７（Ｂ）に示すように、ＮＧとなっている。ＮＧは、第１画素領域の中心座標から所定範囲内に第２画素領域の中心座標が含まれないと判定されたことを示す。つまり、ＮＧは、第２画素領域と第１画素領域との一致度が無と判定されたことを示す。なお、図６に示す再生時間３ｓにおける雛形カメラワークデータａ〜ｃの判定結果は、それぞれ、図７（Ｂ）に示すように、ＮＧとなっている。
【００５６】
図６の例では、上記所定範囲は、第１画素領域の中心座標から所定距離内の円とした。しかし、上記所定範囲は、第１画素領域の中心座標を含む矩形状の範囲としてもよい。或いは、上記所定範囲は、第１画素領域全部であってもよい。なお、制御部１１は、所定範囲における中心座標からの距離をズーム倍率に応じて変化するように設定する。例えば、図７（Ａ）に示すように、再生時間１ｓにおけるズーム倍率は１倍である。一方、再生時間２ｓにおけるズーム倍率は２倍である。そのため、図６に示すように、ズーム倍率２倍の時の中心座標からの距離（半径）は、ズーム倍率１倍の時の中心座標からの距離（半径）Ｒの１／２に設定される。
【００５７】
次いで、制御部１１は、ステップＳ２２で特定された雛形カメラワークデータの中に、所定の送信条件を満たす雛形カメラワークデータがあるか否かを判定する（ステップＳ２４）。この送信条件は、所定の再生期間内に一致度有と判定された割合が基準割合以上であるという条件である。ここで、再生期間は、例えば５秒〜１０秒の間に設定される。最新の視聴カメラデータに対応付けられた第２再生時間から、再生期間分遡った期間がステップＳ２４での判定対象となる。また、基準割合は、例えば、６０％〜８０％の間に設定される。図７（Ｂ）は、再生期間は５秒に設定された例を示す。この場合、雛形カメラワークデータａは、ステップＳ２３で一致度有と判定された割合が４／５（８０％）である。また、雛形カメラワークデータｂは、ステップＳ２３で一致度有と判定された割合が３／５（６０％）である。そのため、基準割合を６０％とすると、雛形カメラワークデータａと雛形カメラワークデータｂが送信条件を満たすことになる。一方、基準割合を８０％とすると、雛形カメラワークデータａのみが送信条件を満たすことになる。制御部１１は、所定の送信条件を満たす雛形カメラワークデータがあると判定した場合（ステップＳ２４：ＹＥＳ）、ステップＳ２５へ進む。一方、制御部１１は、所定の送信条件を満たす雛形カメラワークデータがないと判定した場合（ステップＳ２４：ＮＯ）、クライアント端末２ａへＮＵＬＬメッセージを送信し、図５に示す処理を終了する。ＮＵＬＬメッセージは、雛形カメラワークデータがないことを示すメッセージである。
【００５８】
ステップＳ２５では、制御部１１は、ステップＳ２４で所定の送信条件を満たすと判定された雛形カメラワークデータを取得する。ここで、取得される雛形カメラワークデータには、上記第１画素領域を少なくとも一部含むと判定された第２画素領域の後に続く複数の第２画素領域を特定する複数の雛形カメラデータが含まれる。また、取得される雛形カメラワークデータには、上記後に続く複数の第２画素領域を特定する複数の雛形カメラデータに対応付けられた第２再生時間が含まれる。つまり、クライアント端末２ａにより、これから再生される再生期間における雛形カメラデータ及び第２再生時間が雛形カメラワークデータに少なくとも含まれる。ただし、取得される雛形カメラワークデータには、例えば、上述したように一部含むと判定された第２画素領域の前に出力された第２画素領域を特定する複数の雛形カメラデータが含まれてもよい。つまり、取得される雛形カメラワークデータには、動画データの再生開始から再生終了までにおける雛形カメラデータ及び第２再生時間が含まれてもよい。
【００５９】
次いで、制御部１１は、ステップＳ２５で取得した雛形カメラワークデータをクライアント端末２ａへ送信する（ステップＳ２６）。これにより、クライアント端末２ａは、上記ステップＳ１２で雛形カメラワークデータを受信すると、上記第１画素領域を少なくとも一部含む第２画素領域の後に続く第２画素領域をサブ画面に表示させることになる。そして、制御部１１は、ステップＳ２４における判定結果を、クライアント端末２ａのセッションＩＤに対応付けて例えば記憶部１２に記憶した後、図５に示す処理を終了する。
【００６０】
以上説明したように、本実施形態によれば、クライアント端末２ａは、配信サーバ１が記憶する複数の雛形カメラワークデータの中から、第１再生時間に対応し、且つ、第１画素領域の少なくとも一部を表す特定の雛形カメラデータを含む特定の雛形カメラワークデータを取得する。そして、クライアント端末２ａは、取得した特定の雛形カメラワークデータに従った画素領域を動画データの出力に沿って表示画面に表示させる。そのため、例えば動画におけるオブジェクトが予期しない動きをする場合であっても、動画におけるオブジェクトをスムーズに追跡表示させることができる。
【００６１】
なお、上記実施形態においては、配信サーバ１は、クライアント端末２ａから視聴カメラワークデータを受信すると、第２画素領域と第１画素領域との一致度の有無の判定を行うように構成した。しかし、クイアント端末２ａの制御部２１が第２画素領域と第１画素領域との一致度の有無の判定を行うように構成してもよい。この場合、クライアント端末２ａの制御部２１は、複数の雛形カメラワークデータを配信サーバ１から事前に取得し記憶部２２に記憶しておく。そして、クライアント端末２ａの制御部２１は、第１再生時間に対応する第２再生時間に対応付けられた特定の雛形カメラデータにより特定される第２画素領域が、第１画素領域を少なくとも一部含むかを判定する。クライアント端末２ａの制御部２１は、第１画素領域を少なくとも一部含むと判定された場合、複数の雛形カメラワークデータの中で、特定の雛形カメラデータを含む特定の雛形カメラワークデータに従った画素領域を、動画データの出力に沿って表示画面に表示させる。例えば、クライアント端末２ａの制御部２１は、記憶部２２に記憶された複数の雛形カメラワークデータを用いて上述した図５に示すステップＳ２１〜Ｓ２５の処理を行うことになる。また、クライアント端末２ａの制御部２１は、複数の雛形カメラワークデータを記憶した配信サーバ１の記憶部１２を参照しながら、複数の雛形カメラワークデータを用いて上述した図５に示すステップＳ２１〜Ｓ２５の処理を行っても良い。
【符号の説明】
【００６２】
１  配信サーバ
２ａ，２ｂ  クライアント端末
Ｓ  通信システム
【図１】
0005967126.tif 000002
【図２】
0005967126.tif 000003
【図３】
0005967126.tif 000004
【図４】
0005967126.tif 000005
【図５】
0005967126.tif 000006
【図６】
0005967126.tif 000007
【図７】
0005967126.tif 000008