(57)【要約】【課題】ユーザ毎に最適なリアルタイム再生を実現することができる。【解決手段】ネットワークに接続された複数のクライアント端末に対して提供するコンテンツを管理するコンテンツ管理装置において、前記コンテンツに含まれるオブジェクトに対するスクリプト情報を前記クライアント端末から取得するスクリプト取得手段と、前記オブジェクトの位置情報を取得する対象オブジェクト位置取得手段と、前記対象オブジェクト位置取得手段により得られる前記オブジェクトの位置情報に基づいて、前記スクリプト取得手段により得られる前記スクリプトを分類し、分類された所定のスクリプトを前記クライアント端末に出力するスクリプト分類手段とを有することにより、上記課題を解決する。【選択図】図２
2012230525.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数のクライアント端末に対して提供するコンテンツを管理するコンテンツ管理装置において、
前記コンテンツに含まれるオブジェクトに対するスクリプト情報を前記クライアント端末から取得するスクリプト取得手段と、
前記オブジェクトの位置情報を取得する対象オブジェクト位置取得手段と、
前記対象オブジェクト位置取得手段により得られる前記オブジェクトの位置情報に基づいて、前記スクリプト取得手段により得られる前記スクリプトを分類し、分類された所定のスクリプトを前記クライアント端末に出力するスクリプト分類手段とを有することを特徴とするコンテンツ管理装置。
【請求項２】
前記スクリプト分類手段は、
前記コンテンツにおける仮想空間上を所定の画角で撮影する仮想撮像手段から各オブジェクトまでの距離に応じて、前記各オブジェクトに対するスクリプトを分類することを特徴とする請求項１に記載のコンテンツ管理装置。
【請求項３】
前記スクリプト分類手段は、
前記距離が予め設定された値以下である場合に、前記クライアント端末に出力するスクリプトとして分類することを特徴とする請求項２に記載のコンテンツ管理装置。
【請求項４】
前記予め設定された値は、前記クライアント端末毎に変更可能であることを特徴とする請求項３に記載のコンテンツ管理装置。
【請求項５】
前記クライアント端末に出力しないスクリプトを用いて映像コンテンツを生成する映像生成手段と、
前記映像生成手段により得られる映像コンテンツからストリーム映像を生成し、生成されたストリーム映像を前記クライアント端末に出力するストリーム生成手段とを有することを特徴とする請求項１乃至４の何れか１項に記載のコンテンツ管理装置。
【請求項６】
請求項１乃至４の何れか１項に記載のコンテンツ管理装置からネットワークを介して提供されるコンテンツを再生するクライアント端末において、
前記コンテンツに含まれるオブジェクトに対するスクリプトを生成するスクリプト生成手段と、
前記スクリプトから前記コンテンツを生成する処理に対する問い合わせを前記コンテンツ管理装置に対して行う問い合わせ手段と、
前記スクリプト生成手段により得られるスクリプトと、前記問い合わせ手段による問い合わせの結果として前記コンテンツ管理装置から取得したスクリプトとに基づいて、映像コンテンツを生成する映像生成手段とを有することを特徴とするクライアント端末。
【請求項７】
前記映像生成手段は、
前記コンテンツ管理装置から得られるストリーム映像を、前記スクリプト生成手段により得られるスクリプトと、前記問い合わせ手段による問い合わせの結果として前記コンテンツ管理装置から取得したスクリプトとから生成される映像コンテンツに合成して最終的な映像コンテンツを生成することを特徴とする請求項６に記載のクライアント端末。
【請求項８】
コンピュータを、請求項１乃至５の何れか１項に記載のコンテンツ管理装置として機能させることを特徴とするコンテンツ管理プログラム。
【請求項９】
コンピュータを、請求項６又は７に記載のクライアント端末として機能させることを特徴とするコンテンツ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ管理装置、クライアント端末、コンテンツ管理プログラム、及びコンテンツ生成プログラムに係り、特にユーザ毎に最適なリアルタイム再生を実現するためのコンテンツ管理装置、クライアント端末、コンテンツ管理プログラム、及びコンテンツ生成プログラムに関する。
【背景技術】
【０００２】
従来では、番組やＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）、オンラインゲーム等の各種コンテンツサービスが存在する。このようなコンテンツでは、例えばコンテンツ内のＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）キャラクタ（アバタ）等を動作させたり、カメラワーク等の映像的効果を付加する場合に、予め所定の動作や映像的効果等をＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）のキーボードやコントローラ等に割り当てておき、これをユーザのタイミングで操作することで、ユーザが所望するＣＧキャラクタの動作やカメラワーク等を制御した映像コンテンツを出力する仕組みが存在する。
【０００３】
また、従来では、コンテンツ制作時に複数の端末に対して、キャラクタ動作やカメラワーク、カメラのスイッチャ等の演出分担を設定し、各端末で操作した演出内容をサーバで集約してコンテンツを生成する仕組みが存在する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２３１５２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したようなコンテンツは、サーバ側からクライアント端末側に配信されてユーザに提供される。しかしながら、提供されるコンテンツは、特許文献１に示すように、サーバ側で全てのＣＧ描画や音声合成等が行われてコンテンツが生成されていたり、これとは逆にクライアント端末側で全てのＣＧ描画や音声合成が行われてコンテンツが生成されていた。
【０００６】
サーバ側でコンテンツ生成を行う場合には、コンテンツに登場するＣＧキャラクタやその他の物体（例えば、車や建物等）等のオブジェクトの数が多い場合や画像の高精細化に伴い、処理の遅延が発生する。したがって、従来では、クライアント端末に対してリアルタイム性（即応性）が要求されるような映像コンテンツの再生（リアルタイム再生）には使用できないという問題があった。
【０００７】
また、クライアント端末側でコンテンツ生成を行う場合にも、ＣＧキャラクタ等の全てのオブジェクトに対する動作や描画等をクライアント端末側で処理する必要があるため、高性能でないクライアント端末では処理が遅くなり、リアルタイム再生には使用できないという問題があった。
【０００８】
本発明は、上述した問題点に鑑みなされたものであり、ユーザ毎に最適なリアルタイム再生を実現するためのコンテンツ管理装置、クライアント端末、コンテンツ管理プログラム、及びコンテンツ生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、以下の特徴を有する課題を解決するための手段を採用している。
【００１０】
本発明は、ネットワークに接続された複数のクライアント端末に対して提供するコンテンツを管理するコンテンツ管理装置において、前記コンテンツに含まれるオブジェクトに対するスクリプト情報を前記クライアント端末から取得するスクリプト取得手段と、前記オブジェクトの位置情報を取得する対象オブジェクト位置取得手段と、前記対象オブジェクト位置取得手段により得られる前記オブジェクトの位置情報に基づいて、前記スクリプト取得手段により得られる前記スクリプトを分類し、分類された所定のスクリプトを前記クライアント端末に出力するスクリプト分類手段とを有することを特徴とする。
【００１１】
また、本発明は、上述したコンテンツ管理装置からネットワークを介して提供されるコンテンツを再生するクライアント端末において、前記コンテンツに含まれるオブジェクトに対するスクリプトを生成するスクリプト生成手段と、前記スクリプトから前記コンテンツを生成する処理に対する問い合わせを前記コンテンツ管理装置に対して行う問い合わせ手段と、前記スクリプト生成手段により得られるスクリプトと、前記問い合わせ手段による問い合わせの結果として前記コンテンツ管理装置から取得したスクリプトとに基づいて、映像コンテンツを生成する映像生成手段とを有することを特徴とする。
【００１２】
また、本発明は、コンピュータを、請求項１乃至５の何れか１項に記載のコンテンツ管理装置として機能させることを特徴とするコンテンツ管理プログラムである。
【００１３】
また、本発明は、コンピュータを、請求項６又は７に記載のクライアント端末として機能させることを特徴とするコンテンツ生成プログラムである。
【発明の効果】
【００１４】
本発明によれば、ユーザ毎に最適なリアルタイム再生を実現することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態におけるコンテンツ提供システムの概略構成例を示す図である。
【図２】本実施形態におけるコンテンツ管理装置の機能構成の一例を示す図である。
【図３】本実施形態におけるクライアント端末の機能構成の一例を示す図である。
【図４】本実施形態におけるスクリプト分類例について説明するための図である。
【図５】本実施形態におけるスクリプトとストリーム信号の流れについて説明するための図である。
【図６】本実施形態におけるスクリプトの一例を示す図である。
【図７】本実施形態におけるコンテンツの再生例を説明するための図である。
【図８】本実施形態におけるコンテンツ提供システムの処理手順の一例を示すシーケンス図である。
【図９】複数のＣＧカメラを用いた場合におけるスクリプト分類例について説明するための図である。
【図１０】図９に対応するスクリプトとストリーム信号の流れについて説明するための図である。
【発明を実施するための形態】
【００１６】
＜本発明について＞
本発明は、例えば番組や、ＳＮＳ、オンラインゲーム等の各種コンテンツをスクリプト言語で制作・記述し、ＣＧや音声合成等を用いてリアルタイム再生する分野等に関し、クライアント側のコンピュータ（クライアント端末）とサーバ側のコンピュータ（コンテンツ管理装置）とを用いて、コンテンツを提供するユーザ毎にコンテンツ生成に関する処理を分担し、各ユーザに適した映像コンテンツを生成する。この仕組みによって、本発明では、クライアント端末が高性能でなくとも、多くのオブジェクトを含むコンテンツを生成し、コンテンツ再生の即応性を維持したままコンテンツを提供することができる。
【００１７】
以下に、上述したような特徴を有する本発明におけるコンテンツ管理装置、クライアント端末、コンテンツ管理プログラム、及びコンテンツ生成プログラムを好適に実施した形態について、図面を用いて詳細に説明する。
【００１８】
なお、本実施形態では、制作するコンテンツの一例として番組を用いることとし、また番組等の制作や提示等に用いられるスクリプトの一例としてＴＶＭＬ（ＴＶ  ｐｒｏｇｒａｍ  Ｍａｒｋｉｎｇ  Ｌａｎｇｕａｇｅ）を用いることとするが、本発明においてはこれに限定されるものではなく、他のコンテンツ（例えば、ゲームやＳＮＳ等）やスクリプトを用いてもよい。
【００１９】
また、ＴＶＭＬでは、通常、台本データと、番組制作エンジンと、素材データとに基づいて番組が生成される。つまり、ＴＶＭＬでは、演出内容等を記述した台本データに任意の番組制作エンジンを適用し、更に台本データに対応する素材データ等を用いて番組が制作される。
【００２０】
＜コンテンツ提供システム：概略構成例＞
まず、本実施形態におけるコンテンツ提供システム全体の概略構成例について図を用いて説明する。図１は、本実施形態におけるコンテンツ提供システムの概略構成例を示す図である。図１に示すコンテンツ提供システム１０は、サーバ側であるコンテンツ管理装置１１と、クライアント側である１又は複数のクライアント端末１２−１〜１２−ｎとを有するよう構成されている。また、コンテンツ管理装置１１とクライアント端末１２−１〜１２−ｎとは、インターネット等に代表される通信ネットワーク１３を用いてデータの送受信が可能な状態で接続されている。
【００２１】
コンテンツ管理装置１１は、スクリプト管理装置２１と、レンダリング・エンコーディング装置２２とを有するよう構成されている。コンテンツ管理装置１１は、スクリプト管理装置２１によって、各クライアント端末１２−１〜１２−ｎの各ユーザの管理と、各クライアント端末１２−１〜１２−ｎから得られるそれぞれのスクリプトに対するコンテンツの生成をサーバ側（コンテンツ管理装置１１）とクライアント側（クライアント端末１２）のどちらで行うかの分類分け等の処理を管理する。
【００２２】
また、スクリプト管理装置２１は、上述した分類分けした結果、サーバ側でコンテンツを生成するスクリプトがある場合には、そのクライアント端末１２から得られるスクリプトに基づいて、レンダリング・エンコーディング装置２２によりコンテンツを生成する。具体的には、レンダリング・エンコーディング装置２２は、例えば、入力されたスクリプトに対するレンダリングにより、映像及び音声等を含むコンテンツを生成し、更にエンコーディングにより、生成したコンテンツのストリーム信号を生成する。また、コンテンツ管理装置１１は、レンダリング・エンコーディング装置２２で得られたストリーム信号を対象のクライアント端末１２に出力する。
【００２３】
更に、コンテンツ管理装置１１は、上述したスクリプトの分類分け結果、クライアント端末１２でコンテンツを生成するスクリプトがある場合には、スクリプト管理装置２１から、そのスクリプトをクライアント端末１２に出力する。なお、スクリプトの分類分けの具体的な手法については、後述する。
【００２４】
クライアント端末１２は、例えば、通信ネットワーク１３を介してコンテンツ管理装置１１にログインし、コンテンツの提供を受ける装置である。なお、クライアント端末１２は、コンテンツ管理装置１１にログインする際、ユーザＩＤやパスワード等のユーザ情報の入力を行う。
【００２５】
また、クライアント端末１２は、スクリプト管理装置２１からスクリプトが送信されると、その送信されたスクリプトに対応するコンテンツを生成する。ここで、クライアント端末１２は、コンテンツを完成させる上で、十分でない部分（例えば、背景や自分以外のＣＧキャラクタの動作等）が含まれる場合、コンテンツ管理装置１１のレンダリング・エンコーディング装置２２から得られる映像及び音声のストリーム信号を用いてコンテンツ全体を生成する。また、クライアント端末１２は、生成された映像及び音声等を含むコンテンツを表示してユーザに提供する。
【００２６】
なお、スクリプト管理装置２１から取得するスクリプトとしては、例えばそのコンテンツに登場する自分のＣＧキャラクタに対応するスクリプトや、そのＣＧキャラクタ付近にあるオブジェクトやＣＧキャラクタに対するスクリプト等がある。
【００２７】
ここで、図１に示すコンテンツ提供システム１０では、サーバ側、クライアント側の両方に、コンテンツを生成するための「ＴＶＭＬプレイヤー」等が映像生成エンジンとして設けられている。したがって、本発明では、コンテンツ管理装置１１及びクライアント端末１２の両方でコンテンツを再生することができる。
【００２８】
上述した構成により、本実施形態では、ユーザ毎に最適なリアルタイム再生を実現することができる。なお、上述したコンテンツ管理装置１１は、スクリプト管理装置２１と、レンダリング・エンコーディング装置２２とをそれぞれ別体で設けていたが、それぞれを一体として管理してもよい。
【００２９】
次に、上述したコンテンツ提供システム１０におけるコンテンツ管理装置１１及びクライアント端末１２の機能構成例について具体的に説明する。
【００３０】
＜コンテンツ管理装置１１：機能構成例＞
図２は、本実施形態におけるコンテンツ管理装置の機能構成の一例を示す図である。図２に示すコンテンツ管理装置１１は、入力手段３１と、出力手段３２と、蓄積手段３３と、ユーザ管理手段３４と、スクリプト取得手段３５と、対象オブジェクト位置取得手段３６と、スクリプト分類手段３７と、映像生成手段３８と、ストリーム生成手段３９と、再生手段４０と、配信手段４１と、送受信手段４２と、制御手段４３とを有するよう構成されている。なお、図２の例では、上述した図１に示すスクリプト管理装置２１と、レンダリング・エンコーディング装置２２とが一体に構成されたコンテンツ管理装置１１に付いて示しているが、本発明においてはこれに限定されるものではなく、例えば上述したスクリプト管理装置２１における機能と、レンダリング・エンコーディング装置における機能とをそれぞれ別体のサーバ等に設けてもよい。
【００３１】
入力手段３１は、管理者（ユーザ）等からのユーザ管理指示やスクリプト取得指示、対象オブジェクト位置取得指示、スクリプト分類指示、映像生成指示、ストリーム生成指示、再生指示、配信指示、送受信指示等、コンテンツの制作や管理における各入力を受け付ける。なお、入力手段３１は、例えばキーボードや、マウス等のポインティングデバイス、マイク等の音声入力デバイス、タッチパネル、ペン入力、コントローラ等を有する。
【００３２】
出力手段３２は、例えば、入力手段３１により入力された指示内容や、各指示内容に基づいて生成された制御データやユーザ管理データ、台本データ、スクリプト、番組（例えば、映像等）の内容を表示したり、音声を出力する。なお、出力手段３２は、ディスプレイ等の画面表示デバイスやスピーカ等の音声出力デバイス等を有する。
【００３３】
蓄積手段３３は、コンテンツを制作するために必要な台本データ、生成された台本データに記述されている演出を行い、番組を生成するために必要なキャラクタ、セット、音声、動作、静止画、動画、テキストデータ等の各種データからなる複数の素材データ、番組制作エンジン、ユーザ管理手段３４により管理されるユーザ情報、スクリプト取得手段３５により取得されたスクリプト、対象オブジェクト位置取得手段３６により得られる位置情報、スクリプト分類手段３７により得られるスクリプト分類結果、映像生成手段３８により得られる映像や音声等を含むコンテンツ、ストリーム生成手段３９により生成されたストリーム信号、配信手段４１により配信されるユーザのアドレス情報、ユーザに割り当てるＣＧキャラクタ等の各種情報等を蓄積する。
【００３４】
また、蓄積手段３３は、送受信手段４２を介してクライアント端末１２−１〜１２−ｎや他の外部装置等から受信した各種データを蓄積することができる。また、蓄積手段３３は、本実施形態に対応する処理内容に応じて、蓄積された各種データの読み出しや書き込みを行う。
【００３５】
ユーザ管理手段３４は、制作した番組（コンテンツ）サービスを受けようとするユーザからのログインがあった場合に、そのユーザ情報を取得する。なお、ユーザ管理手段３４は、初めてのユーザからログインがあった場合に、住所、連絡先、メールアドレス、性別、年齢等をユーザに登録させ、登録後にユーザＩＤやパスワード等を設定し、それらのデータをユーザ情報として管理する。また、ユーザ管理手段３４は、既に登録済みのユーザからログインがあった場合に、ユーザ情報（例えば、ユーザＩＤ、パスワード等）をユーザに入力させ、入力されたユーザ情報に基づいて認証等を行う。更に、ユーザ管理手段３４は、コンテンツ毎に現時点で参加しているユーザの数等についても管理する。
【００３６】
スクリプト取得手段３５は、クライアント端末１２−１〜１２−ｎから得られる各ユーザに対応するスクリプト（例えば、ＴＶＭＬスクリプト等）を取得する。また、ここで取得されるスクリプトは、台本データに相当する。
なお、スクリプト取得手段３５は、クライアント端末１２からスクリプト取得する際、こちらから所定のクライアント端末１２に対して取得要求を送信して該当するスクリプトを取得してもよい。なお、スクリプト取得手段３５は、各クライアント端末１２−１〜１２−ｎのそれぞれで視聴している画面の位置情報（例えば、カメラ位置情報等）や自分が操作するＣＧキャラクタ等の動作状態に基づいて、同一又は異なったスクリプトが取得される。
【００３７】
なお、スクリプト取得手段３５は、ユーザが実行中（再生中）のコンテンツに対して即応的に処理を行うため、予め設定された短い期間でスクリプトを取得する。つまり、スクリプト取得手段３５は、所定の間隔でスクリプトを生成し続けることになる。
【００３８】
対象オブジェクト位置取得手段３６は、例えば、各クライアント端末１２−１〜１２−ｎで使用しているＣＧキャラクタ毎に、各クライアント端末１２−１〜１２−ｎがそれぞれ視聴している画面の映像中に含まれるキャラクタの位置を取得する。なお、対象オブジェクト位置取得手段３６は、映像（再生）中に含まれる全てのオブジェクト、又は予め設定された種類（例えば、ＣＧキャラクタや道具（例えば、鞄、帽子、眼鏡、ボール、バット）等）のオブジェクトや、動作可能なオブジェクトのみを対象にして位置情報（例えば、映像中に含まれる仮想空間上の座標情報等）を取得してもよい。
【００３９】
スクリプト分類手段３７は、対象オブジェクト位置取得手段３６により得られるオブジェクト毎の位置情報と、視聴している画面の位置情報とに基づいて、各オブジェクトに対応するスクリプトに対し、サーバ（コンテンツ管理装置１１）側とクライアント端末１２側のどちらでコンテンツを生成するかを判断する。
【００４０】
また、スクリプト分類手段３７は、分類されたスクリプトが、クライアント端末１２側で処理される場合には、その対象のスクリプトをクライアント端末１２に送信する。更に、スクリプト分類手段３７は、サーバ側で処理する方に分類されたスクリプトを映像生成手段３８に出力する。
【００４１】
つまり、本実施形態では、実際に自分が操作するＣＧキャラクタ等については、即応性が要求されるため、自分の装置（クライアント端末）で作成することとし、それ以外のオブジェクト等については、サーバ側で映像として生成する。なお、本実施形態では、サーバ側で生成される映像を、例えばコンテンツの仮想空間上における背景や壁にビデオウォールとして配置し、そのストリーム映像を再生する（ライブストリーミング）。これにより、本実施形態では、あたかも奥行きのある３次元空間上の広い空間で動作しているように見せることができる。また、本実施形態では、上述した処理により、サーバ側又はクライアント側で全てのスクリプトを用いてコンテンツを生成するよりも効率的かつ高精度なコンテンツを提供することができる。
【００４２】
映像生成手段３８は、スクリプト取得手段３５により得られるスクリプトに基づいて、蓄積手段３３等からそのスクリプトに記述された番組制作エンジン、素材データ等を取得し、スクリプトに対応するコンテンツを生成する。
【００４３】
また、ストリーム生成手段３９は、映像生成手段３８により生成された映像からエンコーダ等によりクライアント端末１２−１〜１２−ｎに配信するためのストリーム映像を生成する。
【００４４】
再生手段４０は、ストリーム生成手段３９により生成されたストリーム映像（音声等も含む）等の番組（コンテンツ）を再生し、出力手段２２により出力させる。これにより、管理者側において、コンテンツの内容を確認することができる。なお、再生手段４０は、例えば上述したＴＶＭＬプレイヤーを用いることができる。ＴＶＭＬプレイヤーは、ＴＶＭＬスクリプトを解釈してリアルタイムＣＧ、音声合成等を用いてコンテンツを生成し、再生出力するソフトウェア（映像生成エンジン）である。
【００４５】
配信手段４１は、スクリプト分類手段３７によりクライアント端末１２側で生成するように分類されたスクリプトを、対象のクライアント端末１２に出力する。また、配信手段４１は、ストリーム生成手段３９により生成されたストリーム映像を、対象のクライアント端末１２に出力する。
【００４６】
送受信手段４２は、通信ネットワーク１３を介して各クライアント端末１２−１〜１２−ｎから送信されるスクリプトを受信したり、ストリーム映像やスクリプト等を対象のクライアント端末１２に出力する。つまり、送受信手段４２は、送受信可能な各種データを、コンテンツ提供システム１０を構成する他の装置に送信したり、他の装置から各種データを受信するための通信インタフェースである。
【００４７】
制御手段４３は、コンテンツ管理装置１１における各機能構成全体の制御を行う。具体的には、制御手段４３は、例えばコンテンツ毎にクライアント端末１２の接続の増減等の管理処理を行ったり、クライアント端末１２からスクリプトを取得したり、その取得したスクリプトを対象のクライアント端末１２に配信したり、ストリーム映像を生成したり、ストリーム映像を配信したり、コンテンツを再生する等の処理を制御する。
【００４８】
なお、本実施形態において、上述した映像生成手段３８、ストリーム生成手段３９、再生手段４０、配信手段４１が、上述したレンダリング・エンコーディング装置２２としての処理を行い、ユーザ管理手段３４、スクリプト取得手段３５、対象オブジェクト位置取得手段３６、スクリプト分類手段３７が、上述したストリーム管理装置２１としての処理を行う。
＜クライアント端末１２：機能構成例＞
次に、クライアント端末１２における機能構成例について図を用いて説明する。図３は、本実施形態におけるクライアント端末の機能構成の一例を示す図である。図３に示すクライアント端末１２は、入力手段５１と、出力手段５２と、蓄積手段５３と、スクリプト生成手段５４と、問い合わせ手段５５と、映像生成手段５６と、再生手段５７と、送受信手段５８と、制御手段５９とを有するよう構成されている。
【００４９】
入力手段５１は、コンテンツ管理装置１１から提供される所定のコンテンツサービスを受ける場合に、コンテンツ利用者（ユーザ）等からの所定のコンテンツの取得要求や、コンテンツ利用時における自分のＣＧキャラクタの動作内容、スクリプト生成指示、問い合わせ指示、映像生成指示、再生指示、送受信指示等の各入力を受け付ける。なお、入力手段５１は、例えばキーボードや、マウス等のポインティングデバイス、マイク等の音声入力デバイス、タッチパネル、ペン入力、コントローラ等を有する。
【００５０】
出力手段５２は、例えば、入力手段５１により入力された指示内容や、各指示内容に基づいて生成された番組等のコンテンツを表示したり、音声を出力する。なお、出力手段５２は、ディスプレイ等の画面表示デバイスやスピーカ等の音声出力デバイス等を有する。
【００５１】
蓄積手段５３は、コンテンツ管理装置１１から得られるスクリプト（台本データ）、番組制作エンジン、素材データ、ユーザが使用するＣＧキャラクタ等の各種情報や、スクリプト生成手段５４により生成されたスクリプト、問い合わせ手段５５により得られる問い合わせ情報、映像生成手段５６により生成される映像や音声等を含むコンテンツ等の各種情報等を蓄積する。
【００５２】
また、蓄積手段５３は、送受信手段５８を介してコンテンツ管理装置１１や他の外部装置等から受信した各種データを蓄積することができる。また、蓄積手段５３は、本実施形態に対応する処理内容に応じて、蓄積された各種データの読み出しや書き込みを行う。
【００５３】
スクリプト生成手段５４は、例えば、番組等のコンテンツに参加（登場）している自分のＣＧキャラクタに対してユーザが入力手段５１により操作した内容等に対応させてスクリプトを生成する。なお、スクリプト生成手段５４により生成されるスクリプトの内容としては、例えば、自分のＣＧキャラクタに対する動作や発言内容、視聴するコンテンツ画面のカメラワーク、現時点で同じコンテンツに参加している他のＣＧキャラクタやその他の物体オブジェクトに対する処理内容等である。
【００５４】
問い合わせ手段５５は、スクリプト生成手段５４により生成されたスクリプトをコンテンツ管理装置１１に送信し、送信したスクリプトに対するコンテンツ（例えば、番組映像や音声等）の生成をどちらで行うかの問い合わせを行う。なお、問い合わせ手段５５は、即応性を重視するコンテンツやスクリプトである場合には、例えば新たなスクリプトが生成される毎に問い合わせを行う。また、問い合わせ手段５５は、即応性を求めていないコンテンツやスクリプトである場合には、例えば予め設定された時間間隔で、コンテンツ管理装置１１に対して問い合わせを行う。
【００５５】
映像生成手段５６は、コンテンツ管理装置１１から取得したスクリプトから番組制作エンジンや素材データ等を用いて映像及び音声を含むコンテンツを生成する。このとき、本実施形態において、コンテンツ管理装置１１で生成されたストリーム映像を受信した場合には、そのストリーム映像を含めてコンテンツを生成する。
【００５６】
再生手段５７は、映像生成手段５６により生成された映像又は音声等を含む番組（コンテンツ）を再生し、出力手段５２により出力させる。なお、再生手段５７は、例えば上述したＴＶＭＬプレイヤーを用いることができる。
【００５７】
ここで、本実施形態では、例えば、ユーザ等における操作によりコンテンツ中のＣＧキャラクタを動作させる際、スクリプト生成手段５４によって入力手段５１から入力された操作内容に対応するスクリプトが生成される。生成されたスクリプトは、問い合わせ手段５５によりコンテンツ管理装置１１に問い合わせを行った後、コンテンツ管理装置１１かクライアント端末１２の何れかでコンテンツが生成され、再生手段５７により再生される。したがって、再生手段５７は、スクリプトから得られるコンテンツのストリーム映像を現在再生中のストリーム映像の直後に再生するようにする。これを繰り返すことで、連続するコンテンツを提供することができる。
【００５８】
送受信手段５８は、通信ネットワーク１３を介してコンテンツ管理装置１１から送信される番組コンテンツ（ストリーム）や、ＴＶＭＬスクリプト等の各種情報を受信する。また、送受信手段５８は、通信ネットワーク１３を介して問い合わせ手段５５により得られる問い合わせ情報をコンテンツ管理装置１１に送信する。なお、問い合わせ情報には、スクリプト生成手段５４により生成されたスクリプト等を含んでもよい。つまり、送受信手段５８は、送受信可能な各種データを、コンテンツ提供システム１０を構成する他の装置に送信したり、他の装置から各種データを受信するための通信インタフェースである。
【００５９】
制御手段５９は、クライアント端末１２における各機能構成全体の制御を行う。具体的には、制御手段５９は、例えば入力手段５１により入力されたユーザ等からの入力情報に基づいて、スクリプトを生成したり、その生成したスクリプトをコンテンツ管理装置１１に送信して、サーバ側とクライアント側のどちらで映像コンテンツを生成するかを問い合わせを行ったり、スクリプトに対応する映像コンテンツを生成したり、生成した映像コンテンツを再生する等の処理を制御する。
【００６０】
＜スクリプト分類の具体例＞
次に、本実施形態における上述したスクリプト分類の具体例について、図を用いて説明する。図４は、本実施形態におけるスクリプト分類例について説明するための図である。
【００６１】
ここで、本実施形態におけるスクリプト分類を具体的に説明するため、例えば、あるクライアント端末（例えば、クライアント端末１２−１）が、コンテンツ管理装置１１から提供されているコンテンツ（例えば、番組やオンラインゲーム、ＳＮＳ等）の仮想空間中に、自分のＣＧキャラクタ（例えば、ＣＧキャラクタＡ）を参加させている場合を想定する。更に、そのような場合に、例えば図４に示すようなＣＧカメラ（仮想撮像手段）Ａのカメラ位置から画角６０の撮影領域で撮影された映像がクライアント端末１２−１で再生されているものとする。
【００６２】
図４に示すＣＧカメラＡから撮影された映像には、ＣＧキャラクタＡ〜Ｄが撮影されている。このとき、コンテンツ管理装置１１のスクリプト取得手段３５は、ＣＧキャラクタＡ〜Ｄに関するスクリプトを、各ＣＧキャラクタを操作するそれぞれのクライアント端末から取得する。なお、ＣＧキャラクタの少なくとも１つがコンテンツ管理装置１１で生成されている場合には、スクリプト取得手段３５は、そのＣＧキャラクタに関するスクリプトをコンテンツ管理装置１１から取得する。
【００６３】
また、対象オブジェクト位置取得手段３６は、ＣＧカメラＡで撮影されているＣＧキャラクタＡ〜Ｄの位置情報を取得する。その後、スクリプト分類手段３７は、ＣＧカメラＡから予め設定された距離（例えば、距離Ｌ）以内の範囲にいるオブジェクト（図４の例では、ＣＧキャラクタＡ及びＢ）を取得し、そのオブジェクトに関するスクリプトに対しては、対象のクライアント端末（クライアント端末１２−１）でコンテンツを生成させる。自分のキャラクタに近いキャラクタは、会話や接する可能性が高く、よりリアルタイムな再生処理を行う必要があるからである。そのため、コンテンツ管理装置１１は、対応するスクリプト情報を、通信ネットワーク１３を介してクライアント端末１２−１に送信する。
【００６４】
なお、クライアント端末１２−１は、ＣＧキャラクタＡを操作しているため、ＣＧキャラクタＡに関するスクリプトは、既に生成されている。したがって、コンテンツ管理装置１１は、ＣＧキャラクタＢのスクリプトをクライアント装置１２−１に出力する。
【００６５】
また、図４に示すように、ＣＧカメラＡから予め設定された距離（例えば、距離Ｌ）を超える範囲にいるオブジェクト（図４の例では、ＣＧキャラクタＣ及びＤ）については、クライアント端末１２−１が操作するＣＧキャラクタＡとは、会話等や接する可能性が低いため、動作が遅れてもＣＧキャラクタＡの操作するユーザは全く気にならない。
【００６６】
そのため、ＣＧキャラクタＣ及びＤに関するスクリプトについては、コンテンツ管理装置１１で生成する。なお、コンテンツ管理装置１１で生成された映像コンテンツは、例えばライブストリーミング等によるストリーム映像がクライアント端末１２―１に配信され、その映像は、いわゆるビデオウォールとしてクライアント端末１２−１に表示される映像コンテンツに合成される。
【００６７】
なお、スクリプト分類手段３７における分類例については、上述した内容に限定されるものではなく、例えば、クライアント端末１２が自分の端末でコンテンツを生成する対象のＣＧキャラクタを選択してもよい。また、本実施形態では、図４に示す距離Ｌを、クライアント端末１２毎の性能や、表示画質、ＣＧキャラクタの動作内容等に基づき任意に変更して設定できるようにしてもよい。具体的には、クライアント端末の性能が低い場合や高画質の場合、ＣＧキャラクタの動作が複雑な場合には、映像生成等における処理時間がかかるため、その場合には、設定される距離Ｌを短くしてクライアント端末１２−１で処理する対象のオブジェクト（スクリプト）の数を減らすことができる。
【００６８】
なお、図４の例において、所定の距離Ｌの含まれる範囲を、クライアント端末側で処理するようにしたのは、例えば実際に操作しているＣＧキャラクタは、画面の中央の場合が多く、またＣＧカメラに一番接近しているかそれに近いオブジェクトである可能性が高いことによる。したがって、本実施形態では、例えばＣＧカメラからの距離Ｌを基準とするのではなく、ＣＧキャラクタＡからの距離を基準としてスクリプトを分類してもよい。
【００６９】
更に、本実施形態では、スクリプト分類手段３７において、スクリプトの具体的な内容を解析し、その解析結果に基づいて、クライアント端末に出力するスクリプトと、コンテンツ管理装置１１でコンテンツを生成するスクリプトとを分類してもよい。これにより、例えば、距離Ｌの範囲内に存在するオブジェクトであってもＣＧキャラクタＡと直接関係を持たない一部のオブジェクトの処理をコンテンツ管理装置１１側で行うことができるため、クライアント端末１２側の処理負担を更に軽減させることができる。
【００７０】
＜スクリプトとストリーム信号の流れ＞
ここで、上述した図４の条件におけるスクリプトとストリーミング信号の流れについて図を用いて説明する。図５は、本実施形態におけるスクリプトとストリーム信号の流れについて説明するための図である。なお、図５の例では、コンテンツ管理装置１１として、スクリプト管理装置２１と、レンダリング・エンコーディング装置２２とを有しており、４人のクライアント（クライアントＡ〜Ｄ）が４つのクライアント端末１２−１〜１２−４を用いて、同一のコンテンツ（例えば、番組やオンラインゲーム、ＳＮＳ等）に参加しているものとする。
【００７１】
また、図５に示す各クライアント端末１２−１〜１２−４は、自らが操作するオブジェクト（例えば、ＣＧキャラクタＡ〜Ｄ）をそれぞれ動作させるために、オブジェクトに関するスクリプト７０−１〜７０−４を生成する（スクリプトＡ〜Ｄ）。また、各クライアント端末１２−１〜１２−４は、スクリプトからコンテンツを生成し、生成されたコンテンツを再生するための再生手段（エンコーダ）としてＴＶＭＬプレイヤー７１を有する。また、図５に示すレンダリング・エンコーディング装置２２は、レンダリング機能としてＴＶＭＬプレイヤー７２を有し、エンコーダ機能としてライブエンコーダ７３を有している。
【００７２】
ここで、本実施形態では、各クライアント端末１２−１〜１２−４は、生成した各スクリプトＡ〜Ｄを、ＴＶＭＬプレイヤー７１に出力すると共に、コンテンツ管理装置１１のスクリプト管理装置２１に送信する。
【００７３】
スクリプト管理装置２１は、取得した各クライアント端末１２−１〜１２−４からのスクリプトＡ〜Ｄについて、上述したようにスクリプトの分類を行う。ここで、図４の例に対応させれば、スクリプト管理装置２１は、コンテンツ管理装置１１内で処理を行うスクリプトＣ，Ｄと、クライアント端末で処理を行うスクリプトＡ，Ｂとに分ける。したがって、コンテンツ管理装置１１は、スクリプト管理装置２１からスクリプトＣ，Ｄの内容をレンダリング・エンコーダ装置２２に出力し、スクリプトＡ，Ｂは、まだクライアント側で取得していないスクリプトを、対応するクライアント端末１２に出力する。
【００７４】
つまり、図５の例において、コンテンツ管理装置１１は、クライアント端末１２−２で生成されたスクリプトＢをクライアント端末１２−１に出力し、クライアント端末１２−１で生成されたスクリプトＡをクライアント端末１２−２に出力する。
【００７５】
また、レンダリング・エンコーダ装置２２は、スクリプトＣ，ＤからＴＶＭＬプレイヤー７２でコンテンツを生成し、ライブエンコーダ７３でストリーム映像を生成して、生成されたストリーム映像をクライアント端末１２−１及びクライアント端末１２−２に出力する。つまり、生成されたストリーム映像（ライブストリーム）は、仮想空間上におけるビデオウォールの素材データとしてクライアント端末１２−１，１２−２に送信されることになる。
【００７６】
したがって、例えば、クライアント端末１２−１では、スクリプトＡ，Ｂが取得されるため、これらのスクリプトを用いてＴＶＭＬプレイヤー７１で映像コンテンツを生成する。このとき、ＣＧキャラクタＣ，Ｄに係るスクリプトＣ，Ｄに対する動作等は、コンテンツ管理装置１１でストリーム映像として再生される。クライアント端末１２−１は、上述したＣＧキャラクタＣ，Ｄに対するストリーム映像を素材データの１つとして扱い、例えばスクリプトＡ，Ｂから映像コンテンツを生成する際に背景（例えば、ビデオウォール）等として付加し、全体のストリーム映像を生成する。
【００７７】
つまり、図５の例では、クライアント端末１２−１におけるＴＶＭＬプレイヤー７１において、受信したＣＧキャラクタＣ，Ｄのライブストリームをビデオウォールで背景に表示し、その前方にＣＧキャラクタＡ及びＢを合成する。このとき、クライアントＡ及びＢでは、ビデオウォールからはみ出ない（見切れない）範囲内で、ＣＧカメラＡのカメラワーク（例えば、パン、チルト、ズーム等）を変化させることができる。
【００７８】
なお、本実施形態におけるＴＶＭＬプレイヤー７１，７２では、音声合成等を用いてＣＧキャラクタに発話させることができるが、１つのコンテンツ内で多数の（例えば数十体の）ＣＧキャラクタが別々に発話してしまうと、聞き取りにくく映像コンテンツとして破綻してしまう。したがって、本実施形態では、上述した所定距離（例えば、距離Ｌ）を基準とし、その距離Ｌの範囲内のみ発話させるようにしてもよい。この場合、コンテンツ管理装置１１で生成される映像コンテンツには、音を入れないようにする。これにより、ＣＧカメラに近いオブジェクトだけの音声を再生させることができる。
【００７９】
＜スクリプト例＞
ここで、本実施形態におけるスクリプト例について図を用いて説明する。図６は、本実施形態におけるスクリプトの一例を示す図である。なお、図６の例では、例えば、上述したコンテンツ管理装置１１におけるスクリプト分類等で用いられるＴＶＭＬスクリプトや、コンテンツ管理装置１１からクライアント端末１２に配信されるＴＶＭＬスクリプト等のスクリプト例を示しており、これらの情報には、各クライアント端末で生成されたスクリプトの内容も含まれている。また、図６では、説明の便宜上、左端に行番号を付している。
【００８０】
図６において、（０２）〜（２６）行目は、ＣＧカメラ、ＣＧキャラクタ、ビデオウォールの配置等を設定するセットアップ用のスクリプトが記述されている。（０４）、（０５）行目では、ＣＧカメラＡ（ＣａｍＡ）の配置位置に関するスクリプトが記述されている。ここで、図６の例では、ＣＧカメラＡの垂直画角（ｖａｎｇｌｅ）を５０°としている。
【００８１】
また、（０６）〜（０９）行目では、上述した距離Ｌ＝５に基づいて、ビデオウォールの配置位置等が設定されている。例えば、垂直画角が５０°でＬ＝５，画面のアスペクト比を４：３とすると、ビデオウォールは、縦（ｐｌａｔｅｓｉｚｅｖ＝５×ｔａｎ（５０°÷２））が４．６７、横（ｐｌａｔｅｓｉｚｅｈ＝４．６７÷３×４）が６．２３となる。
【００８２】
また、（０７）行目の「ｆｉｌｅｎａｍｅ＝“ｍｍｓ：／／ｓｅｒｖｅｒｒｅｎｄｅｒｉｎｇ．ｊｐ／ｓｅｒｖｅｒｓｉｄｅｖｉｄｅｏＡ／”」は、ライブストリーミングのストリーミングアドレスであり、このアドレスから取得されるストリーム映像がビデオウォールとして表示される。
【００８３】
また、（１０）〜（２５）行目は、ＣＧキャラクタの配置等のセットアップの内容が記述されている。図６の例では、例えばＣＧカメラからの距離Ｌ＝５の場合に、それに対応する位置座標ｚを２とする（ｚ＝２）。したがって、ｚ≦２の範囲に存在するオブジェクトについては、クライアント端末１２−１で対応する映像コンテンツが生成され、ｚ＞２の範囲に存在するオブジェクトについては、コンテンツ管理装置１１で対応する映像コンテンツが生成される。
【００８４】
図６の例では、ＣＧキャラクタＡ（ＣｈａｒＡ），Ｂ（ＣｈａｒＢ）がｚ≦２で、ＣＧキャラクタＣ（ＣｈａｒＣ），Ｄ（ＣｈａｒＤ）がｚ＞２に位置している。したがって、（２７），（２８）行目に示す内容は、クライアント端末１２で処理される。また、（２９），（３０）行目に示す内容は、コンテンツ管理装置１１処理され、その結果のストリーム映像がビデオウォールとして表示される。
【００８５】
なお、上述したスクリプトは、クライアント端末毎に個別に生成される。また、本実施形態におけるスクリプトの内容や順序等については、これに限定されるものではない。
【００８６】
＜コンテンツ再生例について＞
ここで、本実施形態におけるコンテンツの再生例について、図を用いて説明する。図７は、本実施形態におけるコンテンツの再生例を説明するための図である。
【００８７】
本実施形態では、図７（ａ）に示すように、ＣＧカメラＡで撮影された映像のうち、ＣＧキャラクタＡ，Ｂについては、所定距離Ｌ内にある。そのため、ＣＧキャラクタＡ，Ｂについては、各クライアント端末１２側で生成し、ＣＧキャラクタＣ，Ｄについては、コンテンツ管理装置１１側で生成されるストリーム映像をビデオウォールとして付加して再生する（ライブストリーミング）。
【００８８】
これにより、クライアント端末１２−１により再生される合成されたコンテンツは、図７（ｂ）のようになる。なお、図７（ｂ）は、上述した図５に対応させると、クライアント端末１２−１，１２−２で最終的に生成される映像コンテンツである。
【００８９】
ここで、ＣＧキャラクタＣ，Ｄにおける動作は、実際にクライアントＣ，Ｄが操作した時間よりも、コンテンツ管理装置１１側で処理して配信されてくる分、遅くなる。しかしながら、クライアントＡが操作するＣＧキャラクタＡが遠くにいるキャラクタＣ，Ｄとやりとりすることはない。したがって、キャラクタＣ，Ｄの動作の遅れは、ＣＧキャラクタＡの動作上影響はない。
【００９０】
また、本実施形態では、あるキャラクタ（例えば、キャラクタＢ）が距離Ｌを跨いで、遠くに行く場合や近くに来る場合が考えられる。この場合には、サーバ側（コンテンツ管理装置１１側）での処理と、クライアント端末１２側での処理が切り替わるため、時間上の誤差が生じる恐れがある。例えば、距離Ｌから遠くに行く場合には、一次的にＣＧキャラクタＢが表示されない場合が生じる可能性がある。しかしながら、距離Ｌから離れることは、ＣＧキャラクタＡから離れることを意味しているため、コンテンツ上は、直接の影響を受けず問題とはならない。
【００９１】
更に、例えば、距離Ｌの範囲内に近づいて来る場合には、距離Ｌを跨ぐ瞬間にストリーム映像とクライアント端末１２により生成されるコンテンツの両方にＣＧキャラクタＢが存在する可能性がある。しかしながら、その場合に重要になるのは、ＣＧキャラクタＡに近い方のＣＧキャラクタであり、遠近法によりＣＧキャラクタＡに近い方がＣＧカメラＡに近づくためＣＧキャラクタの描画も大きくなる。
【００９２】
したがって、本実施形態では、距離Ｌを跨いでＣＧカメラＡに近づくような場合でも、クライアント端末１２で生成されたＣＧキャラクタＢにより、その背後にいるビデオウォールに映し出されたストリーム映像中のＣＧキャラクタＢが隠れることになり、見た目上は近い方のＣＧキャラクタＢだけが表示されるため問題とはならない。
【００９３】
＜コンテンツ提供システムにおける処理シーケンス＞
次に、本実施形態におけるコンテンツ提供システム１０の処理シーケンスについてシーケンス図を用いて説明する。図８は、本実施形態におけるコンテンツ提供システムの処理手順の一例を示すシーケンス図である。なお、図８の例では、コンテンツ提供システム１０における各装置間の処理内容が明確になるように、クライアント端末１２と、コンテンツ管理装置１１（スクリプト管理装置２１及びレンダリング・エンコーディング装置２２）間における各処理について説明する。
【００９４】
まず、クライアント端末１２は、コンテンツ管理装置１１が提供するコンテンツにログイン処理を行い（Ｓ０１）、更にそのコンテンツに登場している自分のＣＧキャラクタのスクリプトを生成し（Ｓ０２）、生成したスクリプトをスクリプト管理装置２１に送信し、コンテンツ管理装置１１とクライアント端末のどちらで映像コンテンツを生成するかの問い合わせを行う（Ｓ０３）。
【００９５】
一方、スクリプト管理装置２１では、予めクライアント端末１２に提供する映像コンテンツを撮影するＣＧカメラの配置位置を決定し、決定された配置位置に基づくカメラ配置スクリプトを生成する（Ｓ０４）。なお、ＣＧカメラの配置位置は、例えばクライアント端末１２が指示したＣＧキャラクタを画面の注視領域中に表示させるため、ＣＧキャラクタが移動すれば、それに伴いカメラの位置も適宜最適な位置に変更される。
【００９６】
次に、スクリプト管理装置２１は、クライアント端末１２から送信されたスクリプトを受信すると（Ｓ０５）、ＣＧカメラの撮影領域（例えば、画角）に含まれる全てのオブジェクトの位置を取得し（Ｓ０６）、上述したようにオブジェクトに対応するスクリプト毎に分類を行う（Ｓ０７）。
【００９７】
また、スクリプト管理装置２１は、Ｓ０７の処理により分類された各スクリプトを、対応するクライアント端末１２又はレンダリング・エンコーディング装置２２の何れかに分配して送信し（Ｓ０８）、クライアント端末１２及びレンダリング・エンコーディング装置２２で、スクリプト管理装置２１から送信されたスクリプトを受信する（Ｓ０９、Ｓ１０）。
【００９８】
レンダリング・エンコーディング装置２２は、スクリプト管理装置２１から受信したスクリプトに対応する映像コンテンツを生成する（Ｓ１１）。なお、Ｓ１１の処理としては、例えばＣＧレンダリングや音声合成等の処理も含むが本発明においてはこれに限定されるものではない。
【００９９】
また、レンダリング・エンコーディング装置２２は、Ｓ１１の処理にて得られた映像コンテンツに対して、ライブエンコードを行い、ストリーム映像を生成し（Ｓ１２）、生成したストリームを対象のクライアント端末１２に出力する（Ｓ１３）。
【０１００】
クライアント端末１２は、レンダリング・エンコーディング装置２２からストリーム映像を受信し（Ｓ１４）、最終的な映像コンテンツを生成する（Ｓ１５）。なお、Ｓ１５の処理としては、例えばＣＧレンダリングや音声合成、ビデオウォール合成等の処理も含むが本発明においてはこれに限定されるものではない。
【０１０１】
次に、クライアント端末１２は、処理を終了するか否かを判断し（Ｓ１６）、終了しない場合（Ｓ１６において、ＮＯ）、Ｓ０２の処理に戻り後続の処理を行う。また、ユーザ等の指示により処理を終了する場合（Ｓ１６において、ＹＥＳ）、クライアント端末１２におけるコンテンツ生成処理を終了する。
【０１０２】
また、スクリプト管理装置２１は、管理者等の指示により処理を終了するか否かを判断し（Ｓ１７）、処理を終了しない場合（Ｓ１７において、ＮＯ）、Ｓ０５の処理に戻り後続の処理を行う。また、Ｓ１７の処理において、処理を終了する場合（Ｓ１７において、ＹＥＳ）、コンテンツ管理処理におけるスクリプト管理処理を終了する。
【０１０３】
更に、レンダリング・エンコーディング装置２２は、管理者等の指示等により処理を終了するか否かを判断し、処理を終了しない場合（Ｓ１８において、ＮＯ）、Ｓ１０の処理に戻り、後続の処理を行う。また、Ｓ１８の処理において、処理を終了する場合（Ｓ１８において、ＹＥＳ）、コンテンツ管理処理におけるレンダリング・エンコーディング処理を終了する。
【０１０４】
上述したように、本実施形態によれば、ユーザ毎に最適なリアルタイム再生を実現することができる。
【０１０５】
＜他の実施形態＞
ここで、上述した実施形態では、一例としてＣＧカメラが１台の場合について説明したが、本発明においてはこれに限定されるものではなく、例えば仮想空間上において複数のＣＧカメラを有していてもよい。なお、複数のＣＧカメラを用いる場合には、同一のオブジェクト（例えば、ＣＧキャラクタ）が複数のＣＧカメラによって撮影される場合がある。
【０１０６】
したがって、複数のＣＧカメラを有する場合には、ＣＧカメラの台数に対応させて上述したレンダリング・エンコーディング装置２２を設け、各ＣＧカメラに対させて上述したレンダリング・エンコーディング装置２２における処理を実行することで、クライアント端末毎に最適なコンテンツを提供することができる。
【０１０７】
ここで、上述した内容に対応する実施形態について図を用いて説明する。図９は、複数のＣＧカメラを用いた場合におけるスクリプト分類例について説明するための図である。また、図１０は、図９に対応するスクリプトとストリーム信号の流れについて説明するための図である。なお、図９，１０の例は、それぞれ上述した図４，５の実施形態に対応させたものである。したがって、上述した実施形態で説明した内容と重複する部分については、説明を省略する。
【０１０８】
図９の例では、２台のＣＧカメラ（ＣＧカメラＡ，Ｂ）を有しているが、ＣＧカメラの台数や配置については、これに限定されるものではない。また、図１０の例では、ＣＧカメラの数（２台）に対応させたレンダリング・エンコーディング装置２２−１，２２−２が設けられている。つまり、レンダリング・エンコーディング装置２２−１，２２−２は、それぞれに対応付けられたＣＧカメラに対する処理を行う。
【０１０９】
例えば、図９に示すＣＧカメラＢの視点では、距離Ｌ’の範囲内にＣＧキャラクタＣ，Ｄが存在し、距離Ｌ’を超える範囲にＣＧキャラクタＡ，Ｂが存在する。つまり、クライアントＣ，Ｄがクライアント端末１２−３，１２−４で視聴している映像は、ＣＧカメラＢで撮影された映像となる。
【０１１０】
そのため、ＣＧキャラクタＣ，Ｄに対する映像コンテンツについては、クライアント端末１２−３，１２−４で生成し、ＣＧキャラクタＡ，Ｂに対する映像コンテンツ（ストリーム映像）については、レンダリング・エンコーディング装置２２−２で生成する。そして、レンダリング・エンコーディング装置２２−２で生成されたストリーム映像は、クライアント端末１２−３，１２−４でビデオウォールとして使用され、クライアント端末１２−３，１２−４でそれぞれ生成される映像コンテンツと組み合わせて最終的な映像が生成され画面に表示される。
【０１１１】
なお、クライアント端末１２−１，１２−２については、上述したように、レンダリング・エンコーディング装置２２−１で生成されたＣＧキャラクタＣ，Ｄに対するストリーム映像と、クライアント端末１２−３，１２−４でそれぞれ生成されるＣＧキャラクタＡ，Ｂに対する映像コンテンツとを組み合わせて最終的な映像が生成され画面に表示される。
【０１１２】
なお、各スクリプトの分類と、レンダリング・エンコーディング装置２２−１，２２−２の振り分けは、図１０に示すようにスクリプト管理装置２１で行われる。
【０１１３】
ここで、上述した例では、ＣＧキャラクタがコンテンツ内の仮想空間上を移動すると、それに合わせて映像コンテンツの生成手法も動的に変更される。例えば、ＣＧキャラクタＡがＣＧカメラＡの前から、ＣＧカメラＢの前（距離Ｌ’の範囲内）に移動した場合には、クライアントＡ（クライアント端末１２−１）に表示される映像がＣＧカメラＢで撮影されたものに変更される。この場合、ビデオウォールの映像は、レンダリング・エンコーディング装置２２−２で生成されたものになる。つまり、スクリプト管理サーバ２１では、ＣＧキャラクタ等のオブジェクトの位置関係を取得し、どのクライアント端末或いはレンダリング・エンコーディング装置２２−１，２２−２にスクリプトを振り分けるかを動的に管理することになる。
【０１１４】
また、上述の例において、自分のＣＧキャラクタが、複数のカメラの画角（図９の例では、画角６０，６１）に含まれる場合には、コンテンツ管理装置１１によって、例えば自分のＣＧキャラクタに近い方のＣＧカメラの映像が表示されるように制御されてもよく、また各クライアントにより設定されたＣＧカメラ（例えば、ＣＧカメラＡ等）を優先して映像が表示されるように制御されてもよい。
【０１１５】
なお、上述した各実施形態においては、結果的に、全てのスクリプトを用いて最終的な映像を生成する処理を、コンテンツ管理装置１１又はクライアント端末１２の一方だけで行うこともできる。
【０１１６】
＜実行プログラム＞
ここで、上述したコンテンツ管理装置１１及びクライアント端末１２は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性の記憶媒体、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性の記憶媒体、マウスやキーボード、ポインティングデバイス等の入力装置、画像やデータを表示する表示装置、並びに外部と通信するためのインタフェース装置を備えたコンピュータによって構成することができる。
【０１１７】
したがって、コンテンツ管理装置１１及びクライアント端末１２が有する上述した各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現可能となる。また、これらのプログラムは、磁気ディスク（フロッピィーディスク、ハードディスク等）、光ディスク（Ｃ，Ｄ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記録媒体に格納して頒布することもできる。
【０１１８】
つまり、上述した各構成における処理をコンピュータに実行させるための実行プログラム（コンテンツ管理プログラム及びコンテンツ生成プログラム）を生成し、例えば汎用のパーソナルコンピュータやサーバ等にそのプログラムをインストールすることにより、コンテンツ管理処理及びコンテンツ生成処理等を実現することができる。
【０１１９】
上述したように本発明によれば、ユーザ毎に最適なリアルタイム再生を実現することができる。具体的には、クライアント側に高性能のコンピュータがなくとも、多くのオブジェクトを生成し表示させる映像コンテンツを、リアルタイム性（即応性）を維持したまま生成することができる。すなわち、ＣＧカメラに近いオブジェクト同士のインタラクションは、リアルタイムＣＧを用いるため、即応性を維持することができ、ＣＧカメラから遠いオブジェクトは、サーバ側で生成されたストリーム映像を用いるため、クライアント端末に負荷をかけずに映像コンテンツを生成させることができる。
【０１２０】
以上本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【０１２１】
１０  コンテンツ提供システム
１１  コンテンツ管理装置
１２  クライアント端末
１３  通信ネットワーク
２１  スクリプト管理装置
２２  レンダリング・エンコーディング装置
３１，５１  入力手段
３２，５２  出力手段
３３，５３  蓄積手段
３４  ユーザ管理手段
３５，５４  スクリプト取得手段
３６  対象オブジェクト位置取得手段
３７  スクリプト分類手段
３８，５６  映像生成手段
３９  ストリーム生成手段
４０，５７  再生手段
４１  配信手段
４２，５８  送受信手段
４３，５９  制御手段
６０，６１  画角
７０  スクリプト
７１，７２  ＴＶＭＬプレイヤー
７３  ライブエンコーダ
【図１】
2012230525.tif 000003
【図２】
2012230525.tif 000004
【図３】
2012230525.tif 000005
【図４】
2012230525.tif 000006
【図５】
2012230525.tif 000007
【図６】
2012230525.tif 000008
【図７】
2012230525.tif 000009
【図８】
2012230525.tif 000010
【図９】
2012230525.tif 000011
【図１０】
2012230525.tif 000012