(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は、各R1〜R5における所定範囲を示す。図５（Ａ）は、図４に示す視聴カメラワークデータと雛形カメラワークデータの内容の一例を示す図である。図５（Ａ）に示す雛形カメラワークデータａ〜ｃは、ステップＳ２で特定された雛形カメラワークデータの一例である。雛形カメラワークデータａ〜ｃのカメラワークＩＤは互いに異なる。図４及び図５（Ａ）の例では、仮想カメラデータが示すパン,チルトを、画素領域の中心座標(x,y)に変換した例を示している。画素領域の中心座標(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)が含まれていない。そのため、再生時間２ｓにおける雛形カメラワークデータｃの判定結果は、図５（Ｂ）に示すように、ＮＧとなっている。ＮＧは、第１画素領域の中心座標から所定範囲内に第２画素領域の中心座標が含まれないと判定されたことを示す。つまり、ＮＧは、第２画素領域と第１画素領域との一致度が無と判定されたことを示す。なお、図４に示す再生時間３ｓ及び４ｓにおける雛形カメラワークデータａ〜ｃの判定結果は、それぞれ、図５（Ｂ）に示すように、ＮＧとなっている。
【００４４】
図４の例では、上記所定範囲は、第１画素領域の中心座標から所定距離内の円とした。しかし、上記所定範囲は、第１画素領域の中心座標を含む矩形状の範囲としてもよい。或いは、上記所定範囲は、第１画素領域全部であってもよい。なお、制御部１１は、所定範囲における中心座標からの距離をズーム倍率に応じて変化するように設定する。例えば、図５（Ａ）に示すように、再生時間１ｓにおけるズーム倍率は１倍である。一方、再生時間２ｓにおけるズーム倍率は２倍である。そのため、図４に示すように、ズーム倍率２倍の時の中心座標からの距離（半径）は、ズーム倍率１倍の時の中心座標からの距離（半径）Ｒの１／２に設定される。
【００４５】
次いで、制御部１１は、基準とする再生時間と、その前と後の少なくとも何れかを含む時間範囲内において、ステップＳ３で一致度が有と判定された雛形カメラワークデータの割合が基準割合以上であるかを、基準とする再生時間ごとに判定する（ステップＳ４）。ここで、一致度が有と判定された雛形カメラワークデータの割合（以下、「一致度有の割合」という）とは、上記時間範囲内の雛形カメラワークデータの総数に占める雛形カメラワークデータの数の割合である。この雛形カメラワークデータは、一致度が有と判定された雛形カメラワークデータである。上記時間範囲内の雛形カメラワークデータとは、上記時間範囲に含まれる複数の再生時間のそれぞれに対応する雛形カメラワークデータである。基準割合は、所定割合の一例である。基準割合は、例えば６０％に設定される。基準とする再生時間は、上述した判定時点を示す。例えば、基準とする再生時間を１ｓとすると、上記時間範囲は、基準とする再生時間１ｓと、この再生時間１ｓの後の再生時間２ｓを含む範囲として設定される。そのため、この時間範囲には、再生時間１ｓと、再生時間２ｓとが含まれる。この場合の雛形カメラワークデータａの一致度有の割合は、図５（Ｂ）に示すように、２／２（１００％）となる。また、例えば、基準とする再生時間を２ｓとすると、上記時間範囲は、基準とする再生時間２ｓと、その前後の再生時間１ｓと再生時間３ｓを含む範囲として設定される。そのため、この時間範囲には、再生時間２ｓと、再生時間１ｓ及び再生時間３ｓとが含まれる。この場合の雛形カメラワークデータａの一致度有の割合は、図５（Ｂ）に示すように、２／３（６６．７％）となる。また、例えば、基準とする再生時間を３ｓとすると、上記時間範囲は、基準とする再生時間３ｓと、その前後の再生時間２ｓと再生時間４ｓを含む範囲として設定される。そのため、この時間範囲には、再生時間３ｓと、再生時間２ｓ及び再生時間４ｓとが含まれる。この場合の雛形カメラワークデータａの一致度有の割合は、図５（Ｂ）に示すように、１／３（３３．３％）となる。
【００４６】
次いで、制御部１１は、ステップＳ４で基準割合以上であると判定された雛形カメラワークデータを特定する（ステップＳ５）。図５（Ｂ）に示す再生時間１ｓと２ｓでは、それぞれ、雛形カメラワークデータａと雛形カメラワークデータｂとが特定される。図５（Ｂ）に示す再生時間３ｓ〜５ｓでは、雛形カメラワークデータは特定されない。なお、全ての再生時間、または所定数以上の再生時間において基準割合以上であると判定された雛形カメラワークデータがない場合、図３に示す処理が終了する。
【００４７】
次いで、制御部１１は、ステップＳ５においてカメラワークＩＤが異なる複数の雛形カメラワークデータが特定されたか否かを判定する（ステップＳ６）。カメラワークＩＤが異なる複数の雛形カメラワークデータが特定されたと判定された場合（ステップＳ６：ＹＥＳ）、制御部１１は、ステップＳ７へ進む。図５（Ｂ）の例では、カメラワークＩＤが異なる雛形カメラワークデータａと雛形カメラワークデータｂとが特定されているので、ステップＳ７へ進む。一方、カメラワークＩＤが異なる複数の雛形カメラワークデータが特定されていないと判定された場合（ステップＳ６：ＮＯ）、制御部１１は、ステップＳ９へ進む。
【００４８】
ステップＳ７では、制御部１１は、雛形カメラデータそれぞれにより特定される第２画素領域内の中心座標から、上記第１画素領域内の中心座標までの間の距離を再生時間ごとに算出する。つまり、制御部１１は、カメラワークＩＤが異なる複数の雛形カメラワークデータごとに、中心座標間の距離を算出する。なお、ここで算出される距離は、中心座標間の距離でなくともよい。例えば、制御部１１は、第２画素領域内の右上画素の座標から、上記第１画素領域内の右上画素の座標までの間の距離を算出してもよい。なお、制御部１１は、第１画素領域内の中心座標及び右上座標以外の所定画素の座標を用いて距離を算出してもよい。次いで、制御部１１は、複数の雛形カメラワークデータの中で、再生時間ごとに算出された距離の合計距離が短い雛形カメラワークデータを特定する（ステップＳ８）。例えば、制御部１１は、複数の雛形カメラワークデータの中で、再生時間ごとに算出された距離の合計距離が最も短い雛形カメラワークデータを特定する。これにより、ユーザの意図する視聴カメラデータに、より近い視聴カメラデータに補正することができる。なお、３つ以上の雛形カメラワークデータが特定された場合がある。この場合、制御部１１は、それぞれの雛形カメラワークデータに対応する合計距離を短い順にソートしてもよい。そして、制御部１１は、合計距離が短い上位所定数の雛形カメラワークデータの中から、何れか一つの雛形カメラワークデータを特定する。
【００４９】
図５（Ｂ）の例では、雛形カメラワークデータａに対応する合計距離より、雛形カメラワークデータｂに対応する合計距離の方が短い。そのため、再生時間１ｓ及び再生時間２ｓにおいて雛形カメラワークデータｂが特定されることになる。ただし、再生時間３ｓ〜５ｓでは、雛形カメラワークデータが特定されない。なお、雛形カメラワークデータａと雛形カメラワークデータｂとが共に同一のオブジェクトを追跡する場合が想定される。そのため、ステップＳ８において、制御部１１は、ステップＳ７で算出された距離が短い方の雛形カメラワークデータを再生時間ごとに特定してもよい。この場合、図５（Ｂ）の例では、再生時間１ｓにおいて雛形カメラワークデータｂが特定される。一方、再生時間２ｓにおいて雛形カメラワークデータａが特定される。
【００５０】
ステップＳ９では、制御部１１は、ステップＳ５またはステップＳ８で特定された雛形カメラワークデータを用いて、この雛形カメラワークデータに対応する視聴カメラワークデータを補正する。例えば、制御部１１は、下記（１）〜（３）の計算式を用いて、視聴カメラワークデータに含まれる視聴カメラデータを補正する。
【００５１】
Ｘ＝Ｘ２（１−Ａ／１００）＋Ｘ１（Ａ／１００）・・・（１）
Ｙ＝Ｙ２（１−Ａ／１００）＋Ｙ１（Ａ／１００）・・・（２）
Ｚ＝Ｚ２（１−Ａ／１００）＋Ｚ１（Ａ／１００）・・・（３）
【００５２】
ここで、Ｘ１、Ｙ１、Ｚ１は、それぞれ、雛形カメラワークデータに含まれるｘ座標、ｙ座標、ズーム倍率を示す。Ｘ２、Ｙ２、Ｚ２は、それぞれ、視聴カメラワークデータに含まれるｘ座標、ｙ座標、ズーム倍率を示す。そして、Ｘ、Ｙ、Ｚは、それぞれ、補正後の視聴カメラワークデータに含まれるｘ座標、ｙ座標、ズーム倍率を示す。なお、Ｘ１、Ｙ１、Ｚ１は、それぞれ、雛形カメラワークデータに含まれるパン、チルト、ズーム倍率であってもよい。同様に、Ｘ２、Ｙ２、Ｚ２は、それぞれ、視聴カメラワークデータに含まれるパン、チルト、ズーム倍率であってもよい。同様に、Ｘ、Ｙ、Ｚは、それぞれ、補正後の視聴カメラワークデータに含まれるパン、チルト、ズーム倍率であってもよい。
【００５３】
また、（１）〜（３）の計算式に示すＡは、雛形カメラデータの割合を示す。雛形カメラデータの割合とは、補正後の視聴カメラデータに占める雛形カメラデータの割合をいう。Ａは固定値でも変動値でもよい。例えばＡ＝１００に設定された場合、制御部１１は、雛形カメラデータにより、視聴カメラデータを置換することになる。例えば、図５（Ａ）に示す視聴カメラワークデータに含まれる中心座標(x01,y01)が、雛形カメラワークデータｂに含まれる中心座標(xb1,yb1)に置換される。この場合、より迅速に視聴カメラデータを補正することができる。なお、視聴カメラワークデータに含まれるズーム倍率は補正されなくともよい。また、Ａが変動値の場合、制御部１１は、下記（４）の計算式を用いて、Ａを算出する。
【００５４】
Ａ＝１００（Ｎ−Ｍ）／Ｎ・・・（４）
【００５５】
ここで、Ｎは、第１画素領域の中心座標からの距離（半径Ｒ）を示す。Ｎ＞０である。Ｍは、第２画素領域の中心座標と第１画素領域の中心座標間の距離を示す。
【００５６】
図６（Ａ）は、動画データの再生開始から再生終了までの所定期間における補正前の視聴カメラワークの軌跡と雛形カメラワークの軌跡の一例を示す図である。雛形カメラワークの軌跡は、雛形カメラワークデータに含まれる中心座標の時系列的な軌跡である。図６（Ｂ）は、補正後の視聴カメラワークの軌跡の一例を示す図である。図６（Ｂ）の例は、補正期間において雛形カメラワークデータに含まれる中心座標により視聴カメラワークデータに含まれる中心座標が補正された後の視聴カメラワークの軌跡を示している。
【００５７】
ところで、図６（Ｂ）に示す例では、補正期間の開始点Ｐでは急激に軌跡が変化する。そのため、この開始点Ｐの前後において、視聴者に違和感を与えてしまう可能性がある。そこで、制御部１１は、視聴カメラデータの補正が開始される開始点Ｐに対応する再生時間の前後の調整期間を決定する。この調整期間は、例えば再生時間の前後２秒程度に設定される。そして、制御部１１は、調整期間内の補正後の視聴カメラデータのそれぞれを、線形に変換する変換処理を用いて調整する。或いは、制御部１１は、調整期間内の補正後の視聴カメラデータのそれぞれを、ｎ（ｎは自然数）次曲線に変換する変換処理を用いて調整してもよい。なお、ｎ次曲線の例として、ベジェ曲線がある。以上のように補正後の視聴カメラデータを調整する構成によれば、補正期間の開始点Ｐ前後における視聴カメラワークの軌跡を滑らかにすることができる。
【００５８】
図６（Ｃ），（Ｅ）は、調整期間において、調整される前の視聴カメラワークの軌跡の一例を示す図である。なお、図６（Ｃ）と図６（Ｅ）は、同じ内容を示している。図６（Ｄ）は、調整期間において、線形（例えば、直線）に変換する変換処理を用いて調整された後の視聴カメラデータ軌跡の一例を示す図である。図６（Ｄ）の例では、調整期間の開始点における中心座標(xt1,yt1)と、終了点における中心座標(xt2,yt2)とを結ぶ直線を定義し、定義された直線上に、上記調整期間に含まれる複数の再生時間それぞれに対応付けられた補正後の中心座標が割り当てられる。一方、図６（Ｆ）は、調整期間において、ベジェ曲線にする関数を用いて調整された後の視聴カメラデータ軌跡の一例を示す図である。図６（Ｆ）の例では、調整期間の開始点における中心座標(xt1,yt1)と、終了点における中心座標(xt2,yt2)とを結ぶベジェ曲線を定義し、定義されたベジェ曲線上に、上記調整期間に含まれる複数の再生時間それぞれに対応付けられた補正後の中心座標が割り当てられる。
【００５９】
次いで、制御部１１は、上述したように補正された視聴カメラワークデータを、カメラワークＩＤ及びコンテンツＩＤに対応に対応付けて記憶部１２に記憶する（ステップＳ１０）。このカメラワークＩＤは、補正された視聴カメラワークデータを識別する識別情報である。このように記憶された視聴カメラワークデータの所在を示すＵＲＬ（Uniform Resource Locator）は、例えば所定のＷｅｂサイトで公開される。これにより、クライアント端末は、補正された視聴カメラワークデータを取得することが可能となる。
【００６０】
上記実施例１では、一致度の有無の判定時点毎に前と後の少なくとも何れか一方のデータを用いて判定時点毎に一致度の有無を判定するように構成した。図２を用いて説明したように、例えば、動画データの再生中において、ある特定期間ＡではオブジェクトＡを追跡し、別の特定期間ＢではオブジェクトＢを追跡する場合である。このような場合であっても、上記実施例１によれば、特定期間Ａと特定期間Ｂとが混在する判定期間において一致度の有無を判定することを回避することができる。そのため、第２画素領域と第１画素領域との一致度の有無を適切に判定することができる。
（実施例２）
【００６１】
次に、図７等を参照して、実施例２における通信システムＳの動作について説明する。図７は、実施例２における視聴カメラワークデータの補正処理を示すフローチャートである。視聴カメラワークデータの補正処理は、配信サーバ１の制御部１１またはＣＰＵにより実行される。図７に示す処理は、図３に示す処理と同様、例えば、配信サーバ１がクライアント端末２ａから送信された視聴カメラワークデータ及びコンテンツＩＤを受信し取得することにより開始される。
【００６２】
図７に示す処理が開始されると、制御部１１は、複数の視聴カメラデータそれぞれが示す中心座標間の所定時間あたりの変化量を特定する（ステップＳ２１）。複数の視聴カメラデータは、取得された視聴カメラワークデータに含まれる。ここで、中心座標間の所定時間あたりの変化量は、第１画素領域内の所定画素が所定時間あたり画像フレームにおいて変化した変化量の一例である。また、中心座標は、複数の視聴カメラデータそれぞれにより特定される第１画素領域の中心座標である。なお、中心座標でなく、画素領域内の所定画素の座標であってもよい。次いで、制御部１１は、ステップＳ２１で特定された変化量が所定値以下である特定期間があるか否かを判定する（ステップＳ２２）。制御部１１は、ステップＳ２１で特定された変化量が所定値以下である再生区間を特定期間として判定する。例えば、上記変化量として、所定時間（単位時間）あたりの中心座標間の角度θの変化量と、所定時間あたりの中心座標間の距離（大きさ）αの変化量とが用いられる。
【００６３】
図８（Ａ）は、中心座標間の角度θと、中心座標間の距離αを示す概念図である。図８（Ａ）の例において、（x1,y1）は、再生時間t1時点における中心座標である。また、（x2,y2）は、再生時間t2時点での中心座標である。この場合、制御部１１は、下記（５），（６）の計算式を用いて、角度θと距離αと算出する。
【００６４】
θ＝arctan｛(y2−y1)／(x2−x1)｝・・・（５）
α＝√｛(x2−x1)2＋(y2−y1)2｝・・・（６）
【００６５】
図８（Ｂ）は、視聴カメラワークデータを用いて、再生時間ごとに算出された角度θ、距離α、角度θの変化量、及び距離αの変化量、及び判定結果を示す図である。図８（Ｂ）の例では、角度θの変化量と、距離αの変化量との何れか一方が所定値以下である場合、その再生時間における判定結果がＯＫとなっている。なお、角度θの変化量と比較される所定値は、例えば９０°に設定される。一方、距離αの変化量と比較される所定値は、例えば５に設定される。図８（Ｂ）の例では、再生時間が１ｓ〜６ｓを特定期間Ａとして判定される。また、再生時間が８ｓ〜１５ｓを特定期間Ｂとして判定される。
【００６６】
そして、制御部１１は、上記変化量が所定値以下である特定期間があると判定した場合（ステップＳ２２：ＹＥＳ）、この特定期間を特定する。そして、制御部１１は、ステップＳ２３へ進む。一方、制御部１１は、上記変化量が所定値以下である特定期間がないと判定した場合（ステップＳ２２：ＮＯ）、図７に示す処理を終了する。ステップＳ２３では、制御部１１は、取得されたコンテンツＩＤが対応付けられた雛形カメラワークデータを記憶部１２から取得する。
【００６７】
次いで、制御部１１は、ステップＳ２３で取得された雛形カメラワークデータの中から、ステップＳ２２で特定された特定期間に含まれる第１再生時間と一致する第２再生時間を含む雛形カメラワークデータを特定する（ステップＳ２４）。すなわち、制御部１１は、先ず、ステップＳ２２で特定された特定期間に含まれる第１再生時間と一致する第２再生時間がＲＡＭの所定領域にあるかを第１再生時間ごとに判定する。なお、特定期間において一致する第２再生時間がＲＡＭの所定領域にない場合、制御部１１は、ステップＳ３２へ進む。そして、制御部１１は、ＲＡＭの所定領域にあると判定された第２再生時間を含む雛形カメラワークデータを特定する。
【００６８】
次いで、制御部１１は、雛形カメラデータにより特定される第２画素領域が、視聴カメラデータにより特定される第１画素領域を少なくとも一部含むかを再生時間ごとに判定する（ステップＳ２５）。つまり、第２画素領域と第１画素領域との一致度の有無が判定される。ここで、雛形カメラデータは、ステップＳ２４で特定された雛形カメラワークデータに含まれる雛形カメラデータである。また、視聴カメラデータは、ステップＳ２２で特定された特定期間に含まれる再生時間のそれぞれに対応付けられた視聴カメラデータである。例えば、実施例１と同様、第１画素領域の中心座標から所定範囲内に、第２画素領域の中心座標が含まれる場合、この第２画素領域は、第１画素領域を少なくとも一部含むとして判定されることになる。つまり、この場合、一致度が有りと判定される。なお、実施例１と同様、第１画素領域と第２画素領域と全部または一部が重なる場合、この第２画素領域は、第１画素領域を少なくとも一部含むとして判定されてもよい。例えば、第１画素領域を構成する複数の画素に対応する複数の座標の中の少なくとも１つの座標と、第２画素領域を構成する複数の画素に対応する複数の座標の中の少なくとも１つの座標とが一致する場合、この第２画素領域は、第１画素領域を少なくとも一部含むとして判定される。
【００６９】
図５（Ｃ）は、実施例２において、再生時間ごとの判定結果の一例を雛形カメラワークデータごとに示す図である。なお、図５（Ｃ）の例では、再生時間１ｓ〜５ｓを含む期間が特定期間である。
【００７０】
次いで、制御部１１は、ステップＳ２２で特定された特定期間内において、ステップＳ２５で一致度が有と判定された雛形カメラワークデータの割合が基準割合以上であるかを判定する（ステップＳ２６）。ここで、一致度が有と判定された雛形カメラワークデータの割合とは、上記特定期間に含まれる複数の再生時間に対応する雛形カメラワークデータの数に占める雛形カメラワークデータの数の割合である。この雛形カメラワークデータは、一致度が有と判定された雛形カメラワークデータである。基準割合は、例えば６０％に設定される。図５（Ｃ）に示す雛形カメラワークデータａの特定期間における一致度有の割合は、３／５（６０％）となる。また、雛形カメラワークデータｂの特定期間における一致度有の割合は、２／５（４０％）となる。また、雛形カメラワークデータｃの特定期間における一致度有の割合は、１／５（２０％）となる。
【００７１】
次いで、制御部１１は、ステップＳ２６で基準割合以上であると判定された雛形カメラワークデータを特定する（ステップＳ２７）。図５（Ｃ）に示す例では、雛形カメラワークデータａが特定される。ここで各再生時間におけるデータのみで判定してしまうと、本来補正したい操作ミスについては一致していないと判定されてしまう可能性が高い。そのため、特定期間中基準割合以上、一致度が有と判定された雛形カメラワークデータが特定される。なお、特定期間において基準割合以上であると判定された雛形カメラワークデータがない場合、制御部１１は、ステップＳ３２へ進む。
【００７２】
次いで、制御部１１は、ステップＳ２７においてカメラワークＩＤが異なる複数の雛形カメラワークデータが特定されたか否かを判定する（ステップＳ２８）。カメラワークＩＤが異なる複数の雛形カメラワークデータが特定されたと判定された場合（ステップＳ２８：ＹＥＳ）、制御部１１は、ステップＳ２９へ進む。一方、カメラワークＩＤが異なる複数の雛形カメラワークデータが特定されていないと判定された場合（ステップＳ２８：ＮＯ）、制御部１１は、ステップＳ３１へ進む。
【００７３】
ステップＳ２９では、制御部１１は、雛形カメラデータそれぞれにより特定される第２画素領域内の中心座標から、上記第１画素領域内の中心座標までの間の距離を再生時間ごとに算出する。このステップＳ２９の処理は、ステップＳ７の処理と同様である。次いで、制御部１１は、再生時間ごとに算出された距離の合計距離が短い方の雛形カメラワークデータを特定する（ステップＳ３０）。
【００７４】
ステップＳ３１では、制御部１１は、ステップＳ２７またはステップＳ３０で特定された雛形カメラワークデータを用いて、上記特定期間に含まれる複数の再生時間それぞれにおける視聴カメラワークデータを補正する。つまり、制御部１１は、複数の特定の雛形カメラデータを用いて、複数の第１再生時間に対応付けられた複数の視聴カメラデータを補正する。なお、具体的な補正方法については実施例１と同様である。
【００７５】
ステップＳ３２では、制御部１１は、ステップＳ２２で特定された特定期間全てについて上記補正処理を行ったか否かを判定する。特定期間全てについて上記補正処理を行っていないと判定された場合（ステップＳ３２：ＮＯ）、制御部１１は、ステップＳ２４に戻る。ステップＳ２４に戻ると、制御部１１は、まだ補正処理を行っていない特定期間について上記補正処理を行う。一方、特定期間全てについて上記補正処理を行ったと判定された場合（ステップＳ３２：ＹＥＳ）、制御部１１は、ステップＳ３３へ進む。ステップＳ３３では、制御部１１は、上述したように特定期間ごとに補正された視聴カメラワークデータを、カメラワークＩＤ及びコンテンツＩＤに対応に対応付けて記憶部１２に記憶する。
【００７６】
上記実施例２では、視聴カメラワークの上記変化量から特定した特定期間毎に一致度の有無を判定するように構成した。図２を用いて説明したように、例えば、動画データの再生中において、ある特定期間ＡではオブジェクトＡを追跡し、別の特定期間ＢではオブジェクトＢを追跡する場合である。このような場合であっても、上記実施例２によれば、特定期間Ａと特定期間Ｂとが混在する判定期間において一致度の有無を判定することを回避することができる。そのため、第２画素領域と第１画素領域との一致度の有無を、より正確に判定することができる。
【００７７】
以上説明したように、本実施形態によれば、配信サーバ１は、雛形カメラデータによる第２画素領域が視聴カメラデータによる第１画素領域を少なくとも一部含むかを判定し、一部含むと判定された雛形カメラデータを用いて視聴カメラデータを補正する。そのため、例えば動画におけるオブジェクトが予期しない動きをする場合であっても、ユーザが意図する仮想カメラデータを作成することができる。
【００７８】
なお、上記実施形態においては、配信サーバ１は、クライアント端末２ａから視聴カメラワークデータを受信すると、第２画素領域が第１画素領域を少なくとも一部含むかを判定し、一部含むと判定された雛形カメラデータを用いて視聴カメラデータを補正するように構成した。しかし、情報処理装置としてのクイアント端末２ａが、第２画素領域が第１画素領域を少なくとも一部含むかを判定し、一部含むと判定された雛形カメラデータを用いて視聴カメラデータを補正するように構成してもよい。この場合、クライアント端末２ａは、複数の雛形カメラワークデータを配信サーバ１から事前に取得し記憶部２２に記憶しておく。そして、クライアント端末２ａは、記憶部２２に記憶された複数の雛形カメラワークデータを用いて上述した視聴カメラワークデータの補正処理を行うことになる。
【符号の説明】
【００７９】
１  配信サーバ
２ａ，２ｂ  クライアント端末
Ｓ  通信システム
【図１】
0005880612.tif 000002
【図３】
0005880612.tif 000003
【図４】
0005880612.tif 000004
【図５】
0005880612.tif 000005
【図６】
0005880612.tif 000006
【図７】
0005880612.tif 000007
【図８】
0005880612.tif 000008
【図２】
0005880612.tif 000009