(57)【要約】      （修正有）【課題】例えばスキルが十分でないユーザであっても、見栄えの良いカメラワークを再現できる仮想カメラワークを作成することが可能な端末装置及びプログラムを提供する。【解決手段】クライアント端末は、パン及びチルトにより特定された画素領域の所定時間あたりの変化量、または、ズームにより特定されたズーム倍率の所定時間あたりの変化量を特定する。そして、クライアント端末は、記録された仮想カメラデータの中で、変化量が所定値以下でないと判定された再生時間にそれぞれ対応付けられた仮想カメラデータのそれぞれを、線形またはｎ（ｎは自然数）次曲線に変換する変換処理を用いて補正する。【選択図】図５
2015198332.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データにおいて、前記画像フレームにおける特定の画素領域を特定するための仮想カメラが操作されているかを判定する第１判定ステップと、
前記第１判定ステップにより、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータと、前記仮想カメラが操作された前記動画データの再生時間とを対応付けて時系列に沿って記憶手段に記憶する記憶ステップと、
前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第２判定ステップと、
前記記憶手段に記憶された前記仮想カメラデータの中で、変化量が所定値以下でないと判定された再生時間にそれぞれ対応付けられた前記仮想カメラデータのそれぞれを、線形またはｎ（ｎは自然数）次曲線に変換する変換処理を用いて補正する補正ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項２】
前記プログラムは、
前記補正ステップにより補正された前記仮想カメラデータと前記再生時間とを時系列に沿って対応付けてサーバ装置へアップロードするステップを前記コンピュータに更に実行させることを特徴とする請求項１に記載のプログラム。
【請求項３】
複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データにおいて、前記画像フレームにおける特定の画素領域を特定するための仮想カメラが操作されているかを判定する第１判定ステップと、
前記第１判定ステップにより、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第２判定ステップと、
前記第２判定ステップにより、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であると判定された場合、前記仮想カメラデータと、前記画素領域が前記表示画面に表示された再生時間とを時系列に沿って対応付けて第１記憶手段に記憶する第１記憶ステップと、
前記第２判定ステップにより、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下でないと判定された場合、前記仮想カメラデータと、前記画素領域が表示画面に表示された再生時間とを時系列に沿って対応付けて第２記憶手段に記憶する第２記憶ステップと、
前記第２記憶手段に時系列に沿って記憶された前記再生時間それぞれに対応付けられた前記仮想カメラデータの少なくとも一部を、線形またはｎ（ｎは自然数）次曲線に変換する変換処理を用いて補正する補正ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項４】
前記プログラムは、
前記第２判定ステップにより、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量が所定値以下であると判定された場合、前記第２記憶手段に前記仮想カメラデータと前記再生時間とが対応付けて記憶されているかを判定する第３判定ステップを前記コンピュータにさらに実行させ、
前記第３判定ステップにより、前記第２記憶手段に、前記仮想カメラデータと前記再生時間とが対応付けられて記憶されていると判定された場合、前記補正ステップは、前記第２記憶手段に記憶された前記仮想カメラデータを補正することを特徴とする請求項３に記載のプログラム。
【請求項５】
前記プログラムは、
前記補正ステップにより、補正された前記仮想カメラデータと、前記第１記憶手段に記憶された前記仮想カメラデータとを用いて生成された本カメラワークデータを、前記動画データのカメラワークデータとして登録する登録ステップを前記コンピュータに実行させることを特徴とする請求項３または請求項４に記載のプログラム。
【請求項６】
前記登録ステップは、前記本カメラワークデータを第３記憶手段に記憶することを特徴とする請求項５に記載のプログラム。
【請求項７】
前記登録ステップは、前記本カメラワークデータをサーバ装置へアップロードすることを特徴とする請求項５に記載のプログラム。
【請求項８】
複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データにおいて、前記画像フレームにおける特定の画素領域を特定するための仮想カメラが操作されているかを判定する第１判定手段と、
前記第１判定手段により、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータと、前記仮想カメラが操作された前記動画データの再生時間とを対応付けて時系列に沿って記憶する記憶手段と、
前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第２判定手段と、
前記記憶手段に記憶された前記仮想カメラデータの中で、変化量が所定値以下でないと判定された再生時間にそれぞれ対応付けられた前記仮想カメラデータのそれぞれを、線形またはｎ（ｎは自然数）次曲線に変換する変換処理を用いて補正する補正手段と、
を備えることを特徴とする端末装置。
【請求項９】
複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データにおいて、前記画像フレームにおける特定の画素領域を特定するための仮想カメラが操作されているかを判定する第１判定手段と、
前記第１判定手段により、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第２判定手段と、
前記第２判定手段により、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であると判定された場合、前記仮想カメラデータと、前記画素領域が表示画面に表示された再生時間とを時系列に沿って対応付けて記憶する第１記憶手段と、
前記第２判定手段により、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下でないと判定された場合、前記仮想カメラデータと、前記画素領域が前記表示画面に表示された再生時間とを時系列に沿って対応付けて記憶する第２記憶手段と、
前記第２記憶手段に時系列に沿って記憶された前記再生時間それぞれに対応付けられた前記仮想カメラデータの少なくとも一部を、線形またはｎ（ｎは自然数）次曲線に変換する変換処理を用いて補正する補正手段と、
を備えることを特徴とする端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像フレームから構成される動画データの画像フレームにおける仮想カメラの向きや仮想カメラの画角を表す仮想カメラデータを作成する装置等の技術分野に関する。
【背景技術】
【０００２】
従来、所定の動画データに対して疑似的なカメラワークが、ユーザの仮想カメラの操作により行われる場合がある。このようなカメラワークでは、動画データを構成する画像フレーム内で、例えばユーザが仮想カメラの向きや仮想カメラの画角などを指定することで画像フレーム内の特定の画素領域が表示画面に表示される。このような仮想カメラの向きや仮想カメラの画角などを表す仮想カメラデータは、端末装置から配信サーバへアップロード可能になっている。特許文献１には、アップロードされた動画データ自体を編集せずに、他のユーザによる疑似的なカメラワークを共有することが可能な通信システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−０１１６２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、動画データの複数の画像フレーム内で特定の画素領域を指定するために、例えばカメラワークのスキルが十分でないユーザが仮想カメラを何度も操作して、画像フレーム内の特定の画素領域を指定することがある。この場合、表示画面で表示された画素領域で表示されないオブジェクトを、画像フレーム内で探して表示画面内に表示させる場合がある。この場合、仮想カメラの操作開始から操作終了までの上記画像フレームにおける表示領域の変化の軌跡は、直線的でなく遠回りした軌跡になることが多い。このときに作成される仮想カメラデータでは、見栄えの良いカメラワークを再現することは困難である。
【０００５】
本発明は、例えばスキルが十分でないユーザであっても、見栄えの良いカメラワークを再現できる仮想カメラワークを作成することが可能な端末装置及びプログラムを提供する。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データにおいて、前記画像フレームにおける特定の画素領域を特定するための仮想カメラが操作されているかを判定する第１判定ステップと、前記第１判定ステップにより、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータと、前記仮想カメラが操作された前記動画データの再生時間とを対応付けて時系列に沿って記憶手段に記憶する記憶ステップと、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第２判定ステップと、前記記憶手段に記憶された前記仮想カメラデータの中で、変化量が所定値以下でないと判定された再生時間にそれぞれ対応付けられた前記仮想カメラデータのそれぞれを、線形またはｎ（ｎは自然数）次曲線に変換する変換処理を用いて補正する補正ステップと、をコンピュータに実行させるプログラムである。
【０００７】
請求項２に記載の発明は、請求項１に記載のプログラムにおいて、前記プログラムは、前記補正ステップにより補正された前記仮想カメラデータと前記再生時間とを時系列に沿って対応付けてサーバ装置へアップロードするステップを前記コンピュータに更に実行させることを特徴とする。
【０００８】
請求項３に記載の発明は、複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データにおいて、前記画像フレームにおける特定の画素領域を特定するための仮想カメラが操作されているかを判定する第１判定ステップと、前記第１判定ステップにより、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第２判定ステップと、前記第２判定ステップにより、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であると判定された場合、前記仮想カメラデータと、前記画素領域が表示画面に表示された再生時間とを時系列に沿って対応付けて第１記憶手段に記憶する第１記憶ステップと、前記第２判定ステップにより、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下でないと判定された場合、前記仮想カメラデータと、前記画素領域が前記表示画面に表示された再生時間とを時系列に沿って対応付けて第２記憶手段に記憶する第２記憶ステップと、前記第２記憶手段に時系列に沿って記憶された前記再生時間それぞれに対応付けられた前記仮想カメラデータの少なくとも一部を、線形またはｎ（ｎは自然数）次曲線に変換する変換処理を用いて補正する補正ステップと、をコンピュータに実行させるプログラムである。
【０００９】
請求項４に記載の発明は、請求項３に記載のプログラムにおいて、前記プログラムは、前記第２判定ステップにより、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量が所定値以下であると判定された場合、前記第２記憶手段に前記仮想カメラデータと前記再生時間とが対応付けて記憶されているかを判定する第３判定ステップを前記コンピュータにさらに実行させ、前記第３判定ステップにより、前記第２記憶手段に、前記仮想カメラデータと前記再生時間とが対応付けられて記憶されていると判定された場合、前記補正ステップは、前記第２記憶手段に記憶された前記仮想カメラデータを補正することを特徴とする。
【００１０】
請求項５に記載の発明は、請求項３または請求項４に記載のプログラムにおいて、前記プログラムは、前記補正ステップにより、補正された前記仮想カメラデータと、前記第１記憶手段に記憶された前記仮想カメラデータとを用いて生成された本カメラワークデータを、前記動画データのカメラワークデータとして登録する登録ステップを前記コンピュータに実行させることを特徴とする。
【００１１】
請求項６に記載の発明は、請求項５に記載のプログラムにおいて、前記登録ステップは、前記本カメラワークデータを第３記憶手段に記憶することを特徴とする。
【００１２】
請求項７に記載の発明は、請求項５に記載のプログラムにおいて、前記登録ステップは、前記本カメラワークデータをサーバ装置へアップロードすることを特徴とする。
【００１３】
請求項８に記載の発明は、複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データにおいて、前記画像フレームにおける特定の画素領域を特定するための仮想カメラが操作されているかを判定する第１判定手段と、前記第１判定手段により、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータと、前記仮想カメラが操作された前記動画データの再生時間とを対応付けて時系列に沿って記憶する記憶手段と、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第２判定手段と、前記記憶手段に記憶された前記仮想カメラデータの中で、変化量が所定値以下でないと判定された再生時間にそれぞれ対応付けられた前記仮想カメラデータのそれぞれを、線形またはｎ（ｎは自然数）次曲線に変換する変換処理を用いて補正する補正手段と、を備えることを特徴とする。
【００１４】
請求項９に記載の発明は、複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データにおいて、前記画像フレームにおける特定の画素領域を特定するための仮想カメラが操作されているかを判定する第１判定手段と、
前記第１判定手段により、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第２判定手段と、前記第２判定手段により、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であると判定された場合、前記仮想カメラデータと、前記画素領域が表示画面に表示された再生時間とを時系列に沿って対応付けて記憶する第１記憶手段と、前記第２判定手段により、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下でないと判定された場合、前記仮想カメラデータと、前記画素領域が前記表示画面に表示された再生時間とを時系列に沿って対応付けて記憶する第２記憶手段と、前記第２記憶手段に時系列に沿って記憶された前記再生時間それぞれに対応付けられた前記仮想カメラデータの少なくとも一部を、線形またはｎ（ｎは自然数）次曲線に変換する変換処理を用いて補正する補正手段と、を備えることを特徴とする。
【発明の効果】
【００１５】
請求項１、３〜６、８または９に記載の発明によれば、カメラワークのスキルが十分でないユーザであっても、見栄えの良いカメラワークを再現できるカメラワークデータを作成させることができる。
【００１６】
請求項２、７に記載の発明によれば、見栄えの良いカメラワークを再現できるカメラワークデータを複数のクライアント端末間で共有することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態の通信システムＳの概要構成例を示す図である。
【図２】仮想カメラの操作により、画像フレームにおいて画素領域が時系列的に変化する様子を示す図である。
【図３】クライアント端末２におけるカメラワークデータの記録処理を示すフローチャートである。
【図４】カメラワークデータの記録処理においてカメラワークデータが記録される様子を示す概念図である。
【図５】５つの仮想カメラデータのそれぞれが直線に変換される様子を示す概念図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を図面に基づいて説明する。
【００１９】
［１．通信システムの構成及び動作概要］
始めに、図１を参照して、本発明の実施形態の通信システムＳの構成及び動作概要について説明する。図１は、本実施形態の通信システムＳの概要構成例を示す図である。図１に示すように、通信システムＳは、配信サーバ１、及びクライアント端末２を含んで構成される。クライアント端末２は、端末装置の一例である。なお、図１に示すクライアント端末の数は一例であり、この数には限定されるものではない。配信サーバ１及びクライアント端末２は、それぞれ、ネットワークＮＷに接続される。ネットワークＮＷは、例えば、インターネット等により構成される。
【００２０】
配信サーバ１は、クライアント端末２からのコンテンツ要求に応じて、コンテンツをクライアント端末２へ送信する。コンテンツには、動画データが含まれる。なお、コンテンツは、音声データを含んでもよい。コンテンツには、コンテンツＩＤが付与される。コンテンツＩＤは、コンテンツを識別する識別情報である。コンテンツの送信は、例えば、ネットワークＮＷを介してストリーミング配信により行われる。クライアント端末２は、配信サーバ１からストリーミングで配信されたコンテンツを受信する。クライアント端末２は、受信されたコンテンツに含まれる動画データを再生する。動画データは、複数の画像フレームから構成される。また、各画像フレームは、複数の画素から構成される。
【００２１】
そして、クライアント端末２は、再生された動画データの画像フレームにおいて複数の画素の中から特定された画素領域を表示画面に表示させる。この画素領域は、１画像フレーム内で表示画面に描画される描画領域に相当する。言い換えれば、画素領域は、画像フレームから切り出される表示範囲である。この画素領域は、例えば、疑似的なカメラワーク（以下、「カメラワーク」という）の操作により特定することができる。カメラワークの操作は、画像フレームにおける仮想カメラの操作により行われる。つまり、クライアント端末２は、動画データの出力に沿って、画像フレームにおける仮想カメラの操作に従って、複数の画素の中から特定された画素領域を表示画面に表示させる。ここで、仮想カメラとは、二次元平面または三次元仮想空間における仮想スクリーンに投影される動画に対して仮想的に設定された視点をいう。なお、動画の一例として、例えばパノラマ動画がある。パノラマ動画は、例えば高解像度のカメラで、且つ広範囲を撮影可能なレンズを搭載するカメラにより被写体が撮影された動画である。広範囲を撮影可能なレンズには、ワイドレンズ、魚眼レンズ、３６０度レンズ等がある。また、パノラマ動画は、複数のカメラの映像を合成して作成される場合もある。そして、仮想スクリーンには、平面スクリーン、円筒形のスクリーン、及び球形のスクリーンがある。例えば、動画を撮影したカメラのレンズが魚眼レンズや３６０度レンズである場合、仮想スクリーンは球形のスクリーンとなる。
【００２２】
仮想カメラの操作には、例えば、仮想カメラのパン（左右振り）の操作、仮想カメラのチルト（上下振り）の操作、及び仮想カメラのズーム（拡大又は縮小）の操作がある。仮想カメラのパン及びチルトの操作により、仮想カメラの向き（アングル）が決まる。仮想カメラのパン及びチルトの操作は、例えば、ユーザによるマウスのドラッグ操作や、ユーザによる指やペン等によるフリック操作により実現できる。なお、フリック操作は、例えば、ユーザがタッチパネル方式の表示画面上で指やペン等の接触物を素早くスライドする操作である。また、仮想カメラのズームの操作により、仮想カメラの画角が決まる。仮想カメラのズームの操作は、例えば、ユーザがマウス等の操作部に設けられたボタンあるいはタッチパネル方式の表示画面上に表示されたボタン等を押すことにより実現できる。或いは、仮想カメラのズームの操作は、例えばユーザの指２本でタッチパネル方式の表示画面をピンチするピンチ操作により実現できる。ピンチ操作には、画素領域を縮小するピンチインと、画素領域を拡大するピンチアウトとがある。
【００２３】
クライアント端末２は、動画データの再生中に、カメラワークデータを記録する。カメラワークデータには、画素領域を表示画面に表示させた仮想カメラの位置、仮想カメラの向き、及び仮想カメラの画角のうち少なくとも何れかを表す仮想カメラデータと、画素領域が表示画面に表示された再生時間(time)とが時系列に沿って対応付けられて含まれている。上記画素領域が、仮想カメラの位置または仮想カメラの向きにより特定される。一方、上記画素領域のズーム倍率（表示倍率）が、仮想カメラの画角により特定される。再生時間は、動画の再生開始からの再生位置に対応する再生時間を示す。再生時間は、言い換えれば、仮想カメラデータにより特定される画素領域が出力される再生時間である。本実施形態のカメラワークデータは、例えば、仮想カメラデータとして、パン（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）等により構成される。制御部２１は、本発明の第１判定手段、第２判定手段、及び補正手段の一例である。一例である。操作処理部２５には、操作部２５ａが接続される。操作部２５ａには、例えば、マウス、キーボード、リモコン等がある。表示部２４ａと操作部２５ａとを兼ねるタッチパネルが適用されてもよい。制御部２１は、ユーザによる操作部２５ａからの操作指示を、操作処理部２５を介して受け付ける。ユーザは、操作部２５ａを用いて、上述した仮想カメラの操作を行うことができる。音声制御部２６には、スピーカ２６ａが接続される。インターフェース部２７は、ネットワークＮＷに接続される。記憶部２２は、例えば、ハードディスクドライブ（ＨＤＤ）により構成される。ＲＡＭ、または記憶部１２は、本発明の第３記憶手段の一例である。なお、第３記憶手段は、第１記憶手段と第２記憶手段と異なる別の記憶装置であっても良い。記憶部２２には、ＯＳ、及びプレイヤーソフトウェア等が記憶されている。プレイヤーソフトウェアは、コンテンツの受信及び再生処理、カメラワークデータの記録処理、及びカメラワークデータの送受信処理をＣＰＵに実行させるプログラムである。
【００３５】
制御部２１は、プレイヤーソフトウェアを実行することで、受信されたコンテンツを再生するプレイヤーとして機能する。また、プレイヤーの機能により、表示部２４ａにおけるディスプレイには、表示画面が表示される。表示画面は、ウインドウともいう。表示画面には、仮想カメラの操作に従って、動画が表示される。この動画は、受信された動画データの画像フレームにおける複数の画素の中から特定された画素領域に対応する動画である。また、制御部２１におけるＲＡＭにはバッファメモリが設けられている。バッファメモリには、受信されたコンテンツに含まれる動画データ等が一時的に保持される。制御部２１は、バッファメモリからビデオＲＡＭ２３へ動画データを出力する。ビデオＲＡＭ２３には、描画データを書き込まれるフレームバッファが設けられている。映像制御部２４は、制御部２１からの制御信号に従って、フレームバッファに書き込まれた描画データを表示画面に描画することで表示させる。また、バッファメモリに保持されたコンテンツに音声データが含まれる場合がある。この場合、制御部２１は、バッファメモリから音声データを再生して音声制御部２６へ出力する。音声制御部２６は、音声データからアナログ音声信号を生成し、生成したアナログ音声信号をスピーカ２６ａへ出力する。
【００３６】
［３．通信システムＳの動作］  
次に、図３及び図４等を参照して、本実施形態の通信システムＳの動作について説明する。図３は、クライアント端末２におけるカメラワークデータの記録処理を示すフローチャートである。カメラワークデータの記録処理は、クライアント端末２の制御部２１またはＣＰＵにより実行される。図４は、カメラワークデータの記録処理においてカメラワークデータが記録される様子を示す概念図である。例えば制御部２１は、ユーザによりプレイヤーの起動指示が行われると、図３に示す処理を開始する。図３に示す処理が開始されると、制御部２１は、プレイヤーを起動させる（ステップＳ１）。プレイヤーが起動すると、例えばユーザにより選択されたコンテンツの受信及び再生処理を開始する。コンテンツ受信及び再生処理は、例えばＯＳのマルチタスク機能により、図３に示す処理とは独立して並列的に行われる。コンテンツの受信及び再生処理では、制御部２１は、配信サーバ１へアクセスし、コンテンツの要求を送信する。そして、制御部２１は、コンテンツの要求に応じて、配信サーバ１からストリーミングで配信されたコンテンツを受信しバッファメモリに記憶する。そして、制御部２１は、バッファメモリに記憶されたコンテンツに含まれる動画データを再生する。制御部２１は、再生された動画データに基づいて動画を表示画面に表示させる。
【００３７】
図３に示すステップＳ２では、制御部２１は、カメラワーク中判定フラグをＯＦＦにセットする。カメラワーク中判定フラグは、ユーザによる仮想カメラの操作中であるか否かを示すフラグである。カメラワーク中判定フラグがＯＦＦの場合、仮想カメラの操作中でないことを示す。次いで、制御部２１は、予め設定された第１時間待機する（ステップＳ３）。第１時間は、カメラワークデータの記録間隔を決めるための時間である。第１時間は、例えば０．５秒に設定される。次いで、制御部２１は、プレイヤーの終了指示があるか否かを判定する（ステップＳ４）。制御部２１は、プレイヤーの終了指示がないと判定した場合（ステップＳ４：ＮＯ）、ステップＳ５へ進む。
【００３８】
ステップＳ５では、制御部２１は、カメラワーク中判定フラグがＯＮであるか否かを判定する。制御部２１は、カメラワーク中判定フラグがＯＮでないと判定した場合（ステップＳ５：ＮＯ）、ステップＳ６へ進む。ステップＳ６では、制御部２１は、カメラワークデータの一時記録があるか否かを判定する。制御部２１は、カメラワークデータの一時記録がないと判定した場合（ステップＳ６：ＮＯ）、ステップＳ７に進む。
【００３９】
ステップＳ７では、制御部２１は、仮想カメラの操作中であるか否かを判定する。つまり、制御部２１は、再生中の動画データにおいて、画像フレームにおける特定の画素領域を特定するための仮想カメラが操作されているかを判定する。制御部２１は、仮想カメラの操作中でないと判定した場合（ステップＳ７：ＮＯ）、ステップＳ８へ進む。ステップＳ８では、制御部２１は、カメラワークデータを本記録する。つまり、制御部２１は、現在、表示画面に表示されている画素領域を特定する仮想カメラデータと、この画素領域が表示された再生時間とを対応付けたカメラワークデータを本記録し、ステップＳ３へ戻る。なお、本実施形態の本記録とは、最終的にカメラワークデータを確定し、記憶部２２に記憶することを表す。こうして、図４に示すように、仮想カメラの操作が開始されるまで、カメラワークデータ(pan1, tilt1, zoom1, time1)等が、順次が本記録されていく。そして、ステップＳ７の判定前にユーザにより仮想カメラの操作が開始されると、制御部２１は、ステップＳ７で仮想カメラの操作中であると判定する（ステップＳ７：ＹＥＳ）。この場合、制御部２１は、カメラワーク中判定フラグをＯＮにセットし（ステップＳ９）、ステップＳ１０へ進む。
【００４０】
ステップＳ１０では、制御部２１は、カメラワークデータを一時記録する。つまり、制御部２１は、仮想カメラの操作に従って表示画面に表示された画素領域を特定する仮想カメラデータと、この画素領域が表示された再生時間とを対応付けたカメラワークデータを一時記録し、ステップＳ３へ戻る。こうして、図４に示すように、カメラワークデータ(pan4, tilt4, zoom4, time4)が一時記録される。ここで、制御部１０は、カメラワークデータを一時記録する度に、カメラワークデータの数を示すカウント値に１加算する。このカウント値は、ＲＡＭの所定領域に記憶される。そして、制御部２１は、ステップＳ５で、カメラワーク中判定フラグがＯＮであると判定した場合（ステップＳ５：ＹＥＳ）、ステップＳ１１へ進む。
【００４１】
ステップＳ１１では、制御部２１は、仮想カメラの操作中であるか否かを判定する。制御部２１は、仮想カメラの操作中であると判定した場合（ステップＳ１１：ＹＥＳ）、ステップＳ１２へ進む。ステップＳ１２では、制御部２１は、所定時間あたりの変化量を特定する。ここで、所定時間は、例えば上記第１時間と同一である。所定時間あたりの変化量は、上述したように、例えば、パン及びチルトにより特定された画素領域の中心座標の所定時間あたりの変化量、または、ズームにより特定されたズーム倍率の所定時間あたりの変化量である。画素領域は、例えば上述した（１）〜（４）式を用いて制御部２１により特定される。これにより、例えば、画素領域の４角の座標が特定される。制御部１１は、特定した画素領域の４角の座標から中心座標を算出する。
【００４２】
次いで、制御部２１は、ステップＳ１２で特定した変化量が閾値（所定値）以下であるか否かを判定する（ステップＳ１３）。なお、制御部２１は、変化量が閾値未満であるか否かを判定してもよい。制御部２１は、所定時間あたりの変化量が閾値以下でないと判定した場合（ステップＳ１３：ＮＯ）、ステップＳ１０へ進む。ステップＳ１０では、制御部２１は、上述したようにカメラワークデータを一時記録し、ステップＳ３へ戻る。つまり、制御部２１は、画素領域を表示画面に表示させた仮想カメラデータと、この画素領域が表示された再生時間とを時系列に沿って対応付けて一時記録する。仮想カメラの操作により上記変化量が閾値より大きい間、カメラワークデータの一時記録が繰り返される。この間は、ユーザが仮想カメラを操作して例えば表示画面外にあるオブジェクトを探している期間と見做される。
【００４３】
一方、制御部２１は、所定時間あたりの変化量が閾値以下であると判定した場合（ステップＳ１３：ＹＥＳ）、ステップＳ１４へ進む。この場合、例えば、ユーザが仮想カメラを操作して閾値より大きい変化量で探していたオブジェクトを発見することで仮想カメラの操作を緩めた結果、所定時間あたりの変化量が閾値以下になったと想定される。ステップＳ１４では、制御部２１は、カメラワークデータの数を示すカウント値を参照して、カメラワークデータの一時記録が所定数あるか否かを判定する。つまり、制御部２１は、一時記憶領域に仮想カメラデータと再生時間とが対応付けて記憶されているかを判定する。ここで、所定数は、カメラワークデータの補正に必要な数である３つ以上に設定される。なお、所定時間あたりの変化量が閾値以下であると判定された場合（ステップＳ１３：ＹＥＳ）、ステップＳ８でカメラワークデータの本記録が行われることになる。つまり、この場合、画素領域を表示画面に表示させた仮想カメラデータと、画素領域が表示された再生時間とが時系列に沿って対応付けられて本記録される。制御部２１は、カメラワークデータの一時記録が所定数あると判定した場合（ステップＳ１４：ＹＥＳ）、ステップＳ１５へ進む。
【００４４】
ステップＳ１５では、制御部２１は、一時記録された複数のカメラワークデータのそれぞれを、線形またはｎ（ｎは自然数）次曲線に変換する変換処理を用いて補正する。つまり、制御部２１は、上述した特定の再生区間に含まれる再生時間それぞれに対応付けられた仮想カメラデータのそれぞれを、線形またはｎ（ｎは自然数）次曲線に変換する変換処理を用いて補正する。なお、上述した特定の再生区間に含まれる再生時間に含まれる再生時間が補正されてもよい。図４の例では、(pan4, tilt4, zoom4, time4)から(pan8, tilt8, zoom8, time8)までの５つが一時記録されたカメラワークデータである。ここで、(pan4, tilt4, zoom4, time4)は、特定の再生区間の開始点のカメラワークデータである。また、(pan8, tilt8, zoom8, time8)は、特定の再生区間の終了点のカメラワークデータである。
【００４５】
図５は、５つの仮想カメラデータのそれぞれが直線に変換される様子を示す概念図である。図５の例では、上述した５つの仮想カメラデータ(pan, tilt, zoom)が、三次元の座標（x,y,z）として補正計算に用いられる。ここで、P1の座標は(x1, y1, z1)、P2の座標は(x2, y2, z2)、P3の座標は(x3, y3, z3)、P4の座標は(x4, y4, z4)、P5の座標は(x5, y5, z5)であるとする。この場合、図５（Ａ）に示す直線は、下記（１）の計算式により求めることができる。
【００４６】
(x−x1)／(x5−x1)＝(y−y1)／(y5−y1)＝(z−z1)／(z5−z1)・・・（１）
【００４７】
ここで、x,y,zは変数である。上記（１）の計算式を式変形すると、y={(y5＋y1)／(x5-x1)}x＋(−x1y5＋x5y1)／(x5−x1)となり、yはxの１次関数となる。xとzの場合も同様である。なお、この例では、直線は、線形の一例である。
【００４８】
そして、この場合、制御部２１は、例えば上記（１）の計算式により、P1の座標(x1, y1, z1)とP5の座標(x5, y5, z5)とを結ぶ直線を定義し、定義された直線上に、補正後のP2a座標(x2a, y2a, z2a)、P3a座標(x3a, y3a, z3a)、及びP4a座標(x4a, y4a, z4a)を割り当てる。言い換えれば、制御部２１は、特定の再生区間の開始点の仮想カメラデータと、特定の再生区間の終了点の仮想カメラデータとの間にある３つの仮想カメラデータを補正する。この場合のP2a、P3a、及びP4aは、P1とP5の間の補完点である。なお、特定の再生区間の開始点の仮想カメラデータと、特定の再生区間の終了点の仮想カメラデータとが補正されてもよい。また、この場合、５つの仮想カメラデータのそれぞれに対応付けられる再生時間は補正されない。この場合、図５（Ｂ）に示すように、P1からP1a,P2a,P3aを介してP5までの所定時間あたりの変化量は一定である。
【００４９】
しかし、制御部２１は、図５（Ｃ）に示すように、P1からP1a,P2a,P3aを介してP5までの所定時間あたりの変化量が可変になるように補正してもよい。この場合、制御部２１は、例えば、特定の再生区間に含まれるP1に対応する再生時間T1と、P2に対応する再生時間T2との間の時間差TDを算出する。次いで、制御部２１は、算出した時間差TDに、所定係数k1を乗算し、補正時間差TD2aを算出する。この係数k1は、例えば、1.8に設定される。次いで、制御部２１は、算出した補正時間差TD2aを再生時間T1に加算して新たな再生時間T2aを算出する。次いで、制御部２１は、新たな再生時間T2aをP2aに対応する仮想カメラデータに対応付ける。次に、制御部２１は、算出した時間差TDに、所定係数k2乗算し、補正時間差TD3aを算出する。この係数k2は、例えば、1.0に設定される。次いで、制御部２１は、算出した補正時間差TD3aを新たな再生時間T2aに加算して新たな再生時間T3aを算出する。次いで、制御部２１は、新たな再生時間T3aをP3aに対応する仮想カメラデータに対応付ける。次に、制御部２１は、算出した時間差TDに、所定係数k3乗算し、補正時間差TD4aを算出する。この係数k3は、例えば、0.8に設定される。次いで、制御部２１は、算出した補正時間差TD4aを新たな再生時間T3aに加算して新たな再生時間T4aを算出する。次いで、制御部２１は、新たな再生時間T4aをP4aに対応する仮想カメラデータに対応付ける。これにより、図５（Ｃ）に示すように、P1からP1a,P2a,P3aを介してP5まで変位する所定時間あたりの変化量が最初は大きく、徐々に小さくなるように補正することができる。
【００５０】
なお、図５に示す例では、補正される３つのP2、P3、及びP4の座標は、同数の補完点（P2a、P3a及びP4a）に補正される例を示した。しかし、補正される３つのP2、P3、及びP4の座標は、同数の補完点に補正されなくともよい。例えば、補正される３つのP2、P3、及びP4の座標は、この数より多い補完点に補正されてもよい。また、上記例では、上記特定の画素領域内の中心座標間の位置の変化を直線にする１次関数を用いて仮想カメラデータが補正される例を示した。別の例として、制御部２１は、一時記録された複数の仮想カメラのそれぞれを、ｎ次曲線に変換する変換処理を用いて補正してもよい。ｎ次曲線の例として、ベジェ曲線がある。この場合、制御部２１は、例えば、図５（Ｄ）に示すようにP1,P3,P5の座標からベジェ曲線を定義し、定義されたベジェ曲線上に、補正後のP2a座標(x2a, y2a, z2a)、P3a座標(x3a, y3a, z3a)、及びP4a座標(x4a, y4a, z4a)を割り当てる。
【００５１】
次いで、制御部２１は、ステップＳ１５で補正されたカメラワークデータ、または一時記録されたカメラワークデータを本記録する（ステップＳ１６）。処理がステップＳ１５を経由する場合、制御部２１は、ステップＳ１５で補正されたカメラワークデータと、ステップＳ８で本記録されたカメラワークデータとを用いて、本カメラワークデータを生成する。次いで、制御部２１は、一時記録されたカメラワークデータ、及びＯＦＦ時刻をリセットする（ステップＳ１７）。つまり、一時記録されたカメラワークデータが一時記録領域から消去される。また、後述するステップＳ１９で記録されるＯＦＦ時刻が０にリセットされる。そして、制御部２１は、カメラワークデータ及びＯＦＦ時刻のリセット後、ステップＳ８へ移行する。この場合、ステップＳ８では、カメラワークデータの本記録が行われ、ステップＳ３へ戻る。その後、仮想カメラの操作が停止されると、制御部２１は、ステップＳ１１で、仮想カメラの操作中でないと判定し（ステップＳ１１：ＮＯ）、ステップＳ１８へ進む。ステップＳ１８では、制御部２１は、一時記録されたカメラワークデータ、及びＯＦＦ時刻をリセットする。次いで、ステップＳ１８でリセットした時刻をＯＦＦ時刻として記録し（ステップＳ１９）、ステップＳ１０へ移行する。この場合、ステップＳ１０では、カメラワークデータの一時記録が行われ、ステップＳ３へ戻る。そして、制御部２１は、ステップＳ３、及びステップＳ４を経てステップＳ５に移行したとする。この場合、制御部２１は、ステップＳ５で、カメラワーク中判定フラグがＯＮでないと判定し（ステップＳ５：ＮＯ）、ステップＳ６へ進む。
【００５２】
ところで、例えば、ユーザが仮想カメラの操作を開始した後、閾値以下の変化量で仮想カメラの操作を行う場合がある。この場合、制御部２１は、ステップＳ１３で、所定時間あたりの変化量が閾値以下でないと判定することなく、ステップＳ１４へ進む。そのため、この場合、カメラワークデータの一時記録が１つだけとなる。ただし、図３の例では、ステップＳ９の処理後にステップＳ１０の処理が行われるので、必ず１つのカメラワークデータは一時記録される。制御部２１は、カメラワークデータの一時記録が所定数ないと判定した場合（ステップＳ１４：ＮＯ）、ステップＳ１６へ進む。この場合のステップＳ１６では、制御部１２は、一時記録したカメラワークデータを本記録する。つまり、この場合、図４に示すように、一時記録されたカメラワークデータ（pan11, tilt11, zoom11, time11)の補正は行われない。次いで、制御部２１は、一時記録されたカメラワークデータ、及びＯＦＦ時刻をリセットし（ステップＳ１７）、ステップＳ８に移行する。なお、制御部２１は、ステップＳ９の処理後ステップＳ３に移行してもよい。この場合、ステップＳ１４の判定時に、カメラワークデータが一時記録されていないことがありうる。この場合、制御部１１は、例えば、ステップＳ１４からステップＳ８へ移行することになる。
【００５３】
また、ステップＳ９でカメラワーク中判定フラグがＯＮにセットされた後、ステップＳ１１の処理までに仮想カメラの操作を停止する場合がある。つまり、ユーザが仮想カメラの操作を例えば一瞬だけ行った場合である。この場合、ステップＳ１１で、制御部２１は、仮想カメラの操作中でないと判定し（ステップＳ１１：ＮＯ）、ステップＳ１８へ進む。ステップＳ１８では、制御部２１は、一時記録されたカメラワークデータ、及びＯＦＦ時刻をリセットする。次いで、ステップＳ１８でリセットした時刻をＯＦＦ時刻として記録し（ステップＳ１９）、ステップＳ１０へ移行する。そして、制御部２１は、ステップＳ１０、ステップＳ３、及びステップＳ４を経てステップＳ５に移行したとする。この場合、制御部２１は、ステップＳ５で、カメラワーク中判定フラグがＯＮでないと判定し（ステップＳ５：ＮＯ）、ステップＳ６へ進む。
【００５４】
そして、制御部２１は、ステップＳ６で、カメラワークデータの一時記録があると判定した場合（ステップＳ６：ＹＥＳ）、ステップＳ２０へ進む。ステップＳ２０では、制御部２１は、カメラワークワーク中判定フラグのＯＦＦ時刻から第２時間が経過したか否かを判定する。この第２時間は、例えば３つ以上のカメラワークデータが一時記録されるまでの時間以上に設定される。制御部２１は、カメラワークワーク中判定フラグのＯＦＦ時刻から第２時間が経過していないと判定した場合（ステップＳ２０：ＮＯ）、ステップＳ７へ移行する。一方、制御部２１は、カメラワークワーク中判定フラグのＯＦＦ時刻から第２時間が経過したと判定した場合（ステップＳ２０：ＹＥＳ）、ステップＳ２１へ進む。なお、ステップＳ２１〜Ｓ２３の処理は、ステップＳ１５〜Ｓ１７の処理と同様である。
【００５５】
そして、ユーザによりプレイヤーの終了指示が行われると、制御部２１は、ステップＳ４で、プレイヤーの終了指示があると判定し（ステップＳ４：ＹＥＳ）、ステップＳ２４へ進む。ステップＳ２４では、ステップＳ６と同様、制御部２１は、カメラワークデータの一時記録があるか否かを判定する。制御部２１は、カメラワークデータの一時記録がないと判定した場合（ステップＳ２４：ＮＯ）、ステップＳ２９へ進む。一方、制御部２１は、カメラワークデータの一時記録があると判定した場合（ステップＳ２４：ＹＥＳ）、ステップＳ２５へ進む。なお、ステップＳ２５〜Ｓ２８の処理は、ステップＳ１４〜Ｓ１７の処理と同様である。この場合、制御部２１は、ステップＳ２８の処理を行った後に、ステップＳ２９へ進む。
【００５６】
ステップＳ２９では、制御部２１は、本記憶領域に記憶された本カメラワークデータを、再生された動画データのカメラワークデータとして登録する。例えば、制御部２１は、本カメラワークデータ及び再生された動画データのコンテンツＩＤとを対応付けて記憶部２２に記憶する。また、制御部２１は、本記憶領域に記憶されたカメラワークデータ及び再生された動画データのコンテンツＩＤとを配信サーバ１へアップロードする。カメラワークデータの記録処理においてカメラワークデータが補正された場合、補正されたカメラワークデータが配信サーバ１へアップロードされる。つまり、この場合、制御部２１は、補正された仮想カメラデータと再生時間とを時系列に沿って対応付けて配信サーバ１へアップロードする。そして、配信サーバ１は、クライアント端末２からアップロードされたカメラワークデータをコンテンツＩＤに対応に対応付けて記憶部１２に記憶する。このように記憶されたカメラワークデータの所在を示すＵＲＬ（Uniform Resource Locator）は、例えば所定のＷｅｂサイトで公開される。これにより、アップロードされたカメラワークデータは、複数のクライアント端末間で共有することが可能となる。なお、制御部２１は、ステップＳ２９の処理を行った後、図３に示す処理を終了する。
【００５７】
以上説明したように、上記実施形態によれば、クライアント端末２は、パン及びチルトにより特定された画素領域の所定時間あたりの変化量、または、ズームにより特定されたズーム倍率の所定時間あたりの変化量を特定する。そして、クライアント端末２は、記録された仮想カメラデータの中で、変化量が所定値以下でないと判定された再生時間にそれぞれ対応付けられた仮想カメラデータのそれぞれを、線形またはｎ（ｎは自然数）次曲線に変換する変換処理を用いて補正する。そのため、カメラワークのスキルが十分でないユーザであっても、クライアント端末２は、見栄えの良い滑らかなカメラワークを再現できるカメラワークデータを作成することができる。
【符号の説明】
【００５８】
１  配信サーバ
２  クライアント端末
Ｓ  通信システム
【図１】
2015198332.tif 000003
【図３】
2015198332.tif 000004
【図２】
2015198332.tif 000005
【図４】
2015198332.tif 000006
【図５】
2015198332.tif 000007