(57)【要約】【課題】簡便かつリアルタイムにコンテンツを生成する。【解決手段】１又は複数のＣＧオブジェクトを有する映像コンテンツを生成するコンテンツ生成装置において、生成する映像コンテンツに含まれるＣＧオブジェクトの種類及び数に基づいて、スクリプトから映像コンテンツを生成する映像生成エンジンの数を割り当て、割り当てた映像生成エンジン毎に、担当するスクリプトを割り当てるスクリプト担当割り当て手段と、前記映像コンテンツを生成するための前記スクリプトを生成するスクリプト生成手段と、生成されたスクリプトを用いて、割り当てられた映像生成エンジンにより、それぞれが担当する映像コンテンツを生成すると共に、他の映像生成エンジンで生成された映像コンテンツを入力映像とし、該入力映像と前記スクリプトから生成した映像コンテンツとを合成するコンテンツ生成手段とを有する。【選択図】図１
2015060539.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数のＣＧオブジェクトを有する映像コンテンツを生成するコンテンツ生成装置において、
生成する前記映像コンテンツに含まれるＣＧオブジェクトの種類及び数に基づいて、スクリプトから前記映像コンテンツを生成する映像生成エンジンの数を割り当て、割り当てた映像生成エンジン毎に、担当するスクリプトを割り当てるスクリプト担当割り当て手段と、
前記映像コンテンツを生成するための前記スクリプトを生成するスクリプト生成手段と、
前記スクリプト生成手段により生成されたスクリプトを用いて、前記スクリプト担当割り当て手段により割り当てられた前記映像生成エンジンにより、それぞれが担当する映像コンテンツを生成すると共に、他の映像生成エンジンで生成された映像コンテンツを入力映像とし、該入力映像と前記スクリプトから生成した映像コンテンツとを合成するコンテンツ生成手段とを有することを特徴とするコンテンツ生成装置。
【請求項２】
前記コンテンツ生成手段により得られる映像コンテンツから、前記映像生成エンジン毎に生成される映像コンテンツの合成時の遅延時間を取得し、取得した遅延時間に基づいて、前記スクリプト生成手段から各映像生成エンジンに前記スクリプトを送信するタイミングを調整する遅延調整手段を有することを特徴とする請求項１に記載のコンテンツ生成装置。
【請求項３】
前記スクリプト生成手段は、前記映像生成エンジンに対して同一のスクリプトを出力し、
前記コンテンツ生成手段は、前記スクリプトから前記映像生成エンジン毎に割り当てられたスクリプトのみを抽出し、抽出したスクリプトを用いて担当する映像コンテンツを生成することを特徴とする請求項１又は２に記載のコンテンツ生成装置。
【請求項４】
通信ネットワークを介して接続される映像生成エンジンを有する情報処理装置を用いて、１又は複数のＣＧオブジェクトを有する映像コンテンツを生成するコンテンツ生成装置において、
生成する前記映像コンテンツに含まれるＣＧオブジェクトの種類及び数に基づいて、スクリプトを送信する前記情報処理装置の数を割り当て、割り当てた情報処理装置毎に、担当するスクリプトを割り当てるスクリプト担当割り当て手段と、
前記映像コンテンツを生成するための前記スクリプトを生成するスクリプト生成手段と、
前記スクリプト生成手段により生成されたスクリプトを前記スクリプト担当割り当て手段により割り当てられた情報処理装置に送信し、各情報処理装置が担当する映像コンテンツを生成させると共に、他の映像生成エンジンで生成された映像コンテンツを入力映像とし、該入力映像と前記スクリプトから生成した映像コンテンツとを合成させる指示を送信する通信手段とを有することを特徴とするコンテンツ生成装置。
【請求項５】
前記スクリプト担当割り当て手段により割り当てられた情報処理装置により得られる映像コンテンツから、前記映像コンテンツの合成時の遅延時間を取得し、取得した遅延時間に基づいて、前記通信手段から前記情報処理装置に前記スクリプトを送信するタイミングを調整する遅延調整手段を有することを特徴とする請求項４に記載のコンテンツ生成装置。
【請求項６】
コンピュータを、
請求項１乃至５の何れか１項に記載のコンテンツ生成装置が有する各手段として機能させるためのコンテンツ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ生成装置及びコンテンツ生成プログラムに係り、特にＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）オブジェクトの種類や数に応じて簡便かつリアルタイムにコンテンツを生成するためのコンテンツ生成装置及びコンテンツ生成プログラムに関する。
【背景技術】
【０００２】
従来では、ＣＧや音声合成等を用いてテレビ番組等のような映像コンテンツが制作されている。このような映像コンテンツでは、例えばＣＧキャラクタ（ＣＧアバター）や机、小物等の各種ＣＧオブジェクトが数多く登場する映像コンテンツをリアルタイムに生成する必要が生じる場合がある。しかしながら、例えば１台のコンピュータ（情報処理装置）でリアルタイムに表示できるＣＧオブジェクトの数は、データ容量（例えば、ポリゴン数等）やＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）への負荷等の影響により限界がある。
【０００３】
なお、従来では、コンピュータの負荷を軽減するために、画面分割や時間分割等を行い、分割した画像を別々の装置で生成し、生成した画像を空間又は時間的に合成して表示部に出力する手法がある（例えば、特許文献１、２参照。）
特許文献１に示す手法では、主人公キャラクタ等（キャスト）をシナリオに沿って動作させてアニメーションを表示する画像表示方法において、画像中のキャラクタを複数のブロックに分割し、そのブロック毎に独立して圧縮や伸長等の画像処理を行う。
【０００４】
特許文献２に示す手法では、サーバ側からネットワークを通じて送信されたファイルをクライアント側で表示するメッセージ表示方法であって、クライアント側における表示画面を複数のフレームに分割するとともに、フレーム設定に基づき、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルの表示の際に、他のフレームに対応するＨＴＭＬファイルを参照してメッセージ表示を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１４８１３３号公報
【特許文献２】特開２００３−１８６７９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の画面分割手法では、各コンピュータで異なる部分領域の映像生成をする必要があるため、処理が複雑になる。また、従来の時間分割手法では、サーバ側から送信されるそれぞれのスクリプトを個別に判断し、必要な時刻を計算する必要があるため、処理が複雑になる。
【０００７】
更に、それぞれのスクリプトの出力映像のタイミングが少しでもずれると、画面分割の境目が見えたり、アニメーションの動きの滑らかさが損なわれる。また、分割数に応じて映像生成部（映像生成エンジン）の数を変える場合には、それぞれの映像生成処理の変更や合成処理の変更が生じるため、柔軟な構成変更が困難である。
【０００８】
本発明は、上述した問題点に鑑みなされたものであり、ＣＧオブジェクトの種類や数に応じて簡便かつリアルタイムにコンテンツを生成することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、以下の特徴を有する課題を解決するための手段を採用している。
【００１０】
本発明の一態様におけるコンテンツ生成装置は、１又は複数のＣＧオブジェクトを有する映像コンテンツを生成するコンテンツ生成装置において、生成する前記映像コンテンツに含まれるＣＧオブジェクトの種類及び数に基づいて、スクリプトから前記映像コンテンツを生成する映像生成エンジンの数を割り当て、割り当てた映像生成エンジン毎に、担当するスクリプトを割り当てるスクリプト担当割り当て手段と、前記映像コンテンツを生成するための前記スクリプトを生成するスクリプト生成手段と、前記スクリプト生成手段により生成されたスクリプトを用いて、前記スクリプト担当割り当て手段により割り当てられた前記映像生成エンジンにより、それぞれが担当する映像コンテンツを生成すると共に、他の映像生成エンジンで生成された映像コンテンツを入力映像とし、該入力映像と前記スクリプトから生成した映像コンテンツとを合成するコンテンツ生成手段とを有することを特徴とする。
【００１１】
また、本発明の一態様におけるコンテンツ生成プログラムは、コンピュータを、上述したコンテンツ生成装置が有する各手段として機能させるためのコンテンツ生成プログラムである。
【発明の効果】
【００１２】
本発明によれば、簡便かつリアルタイムにコンテンツを生成することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態におけるコンテンツ生成装置の機能構成の一例を示す図である。
【図２】コンテンツ生成装置における処理の一例を示すフローチャートである。
【図３】映像生成エンジン数の決定例を説明するための図である。
【図４】コンテンツ生成の具体例を説明するための図である。
【図５】映像生成エンジンに出力するスクリプトの一例を示す図（その１）である。
【図６】映像生成エンジンに出力するスクリプトの一例を示す図（その２）である。
【図７】映像生成エンジンに出力するスクリプトの一例を示す図（その３）である。
【図８】合成映像のずれを説明するための図である。
【図９】スクリプト送信用設定ファイルの一例を示す図である。
【図１０】コンテンツ生成システムの構成例を示す図である。
【図１１】コンテンツ生成システムの応用例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、上述したような特徴を有する本発明におけるコンテンツ生成装置及びコンテンツ生成プログラムを好適に実施した形態について、図面を用いて詳細に説明する。なお、以下の説明では、コンテンツの一例として放送番組を用いるが、コンテンツの一例としては、これに限定されるものではなく、例えば映画やテレビＣＭ等の各種映像コンテンツに適用できる。また、本実施形態におけるコンテンツの生成においては、例えばＴＶＭＬ（ＴＶ  ｐｒｏｇｒａｍ  Ｍａｋｉｎｇ  Ｌａｎｇｕａｇｅ）等を用いることができるが、これに限定されるものではない。
【００１５】
ＴＶＭＬとは、言語体系にカメラや照明等のテレビ番組制作の概念やノウハウを含んだスクリプト言語であり、映像や音声等を素材データと台本（演出内容等）とに分けて記述することができる。制作側で台本を記述することで、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等で動作するソフトウェア等がこれをスクリプト（ＴＶＭＬスクリプト）として読み取り、台本に記述された素材データを取得して、例えばＣＧキャラクタにセリフや身体動作、表情等を与えることができる。
【００１６】
＜コンテンツ生成装置の機能構成例＞
図１は、本実施形態におけるコンテンツ生成装置の機能構成の一例を示す図である。図１に示すコンテンツ生成装置１０は、入力手段１１と、出力手段１２と、記憶手段１３と、スクリプト担当割り当て手段１４と、スクリプト生成手段１５と、遅延調整手段１６と、コンテンツ生成手段１７と、通信手段１８と、制御手段１９とを有するよう構成されている。また、コンテンツ生成手段１７は、１又は複数の映像生成エンジン２０−１〜２０−ｎ（以下、必要に応じて「映像生成エンジン２０」という）を有する。
【００１７】
コンテンツ生成装置１０は、ＰＣやサーバ等であるが、これに限定されるものではなく、例えばスマートフォンやタブレット端末、映像生成機能・通信機能を有するテレビ装置、ゲーム機器、カメラ、携帯電話等でもよい。
【００１８】
入力手段１１は、コンテンツ生成装置１０を使用するユーザ等からの指示等の入力を受け付ける。入力手段１１は、例えば本実施形態におけるコンテンツ生成を行うためのスクリプト担当割り当て指示、スクリプト生成指示、遅延調整指示、コンテンツ生成指示、送受信指示等の各入力を受け付ける。なお、入力手段１１は、例えばキーボードや、マウス等のポインティングデバイス、マイク等の音声入力デバイス等である。
【００１９】
出力手段１２は、入力手段１１から入力された指示内容や設定内容等を画面等に表示したり、指示内容や設定内容等に基づいて実行された実行結果等を出力する。出力手段１２は、例えばディスプレイ等による画面表示デバイスやスピーカ等による音声出力デバイス等である。なお、上述した入力手段１１や出力手段１２は、例えばタッチパネル等のように入出力が一体型の構成であってもよい。
【００２０】
記憶手段１３は、本実施形態におけるコンテンツ生成に必要な各種情報を記憶する。例えば、記憶手段１３は、生成する放送番組（コンテンツ）に関する情報（例えば、番組台本、スタジオセット、番組に登場するＣＧオブジェクトの種類（例えば、ＣＧオブジェクトの複雑さ）や数、遅延（ディレイ）情報、スクリプト、コンテンツ、素材データ、番組制作エンジン、ＣＧオブジェクト毎の基本動作データ等を記憶する。
【００２１】
なお、本実施形態におけるＣＧオブジェクトとは、例えばＣＧキャラクタ（人や動物）や建物（例えばビルや家）、木、花、椅子、机、家具、ＰＣ、家電、車両、船、海、太陽、飛行機等の各種物体であるが、これらに限定されるものではない。また、ＣＧオブジェクトの複雑さとは、例えばオブジェクト全体のポリゴン数等により設定され、ポリゴン数が多いほど複雑である。なお、複雑さの基準は、これに限定されるものではなく、例えばＣＧオブジェクトの表情や動作内容等を基準に設定されてもよい。
【００２２】
また、記憶手段１３は、例えば通信手段１８を介して、上述した各種データをインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の通信ネットワーク等に接続された外部装置等から取得することもできる。記憶手段１３に記憶された各種データは、必要に応じて読み出しや書き込みが行われる。
【００２３】
スクリプト担当割り当て手段１４は、コンテンツ生成手段１７における１又は複数の映像生成エンジン２０−１〜２０−ｎへのスクリプトの担当を割り当てる。例えば、スクリプト担当割り当て手段１４は、コンテンツ生成手段１７における映像生成エンジン２０の性能測定を行う。性能測定とは、番組生成時に使用する映像生成エンジン２０において、例えば番組に登場させるＣＧキャラクタの複雑さ（例えば、ポリゴン数）やリアルタイムに表示できるキャラクタ数の関係を測定することをいうが、これに限定されるものではない。
【００２４】
また、スクリプト担当割り当て手段１４は、上述した性能測定結果と、台本等から得られる番組の意図や効果等とに基づいて、番組生成時のＣＧオブジェクトの種類及びＣＧオブジェクト数を決定し、その内容に応じて映像生成エンジン２０の数を割り当てる。例えば、ＣＧオブジェクト数等により、映像生成エンジン２０が２個必要と判断した場合には、コンテンツ生成手段１７として映像生成エンジン２０−１と、映像生成エンジン２０−２とを割り当て、各エンジンにどのような映像を生成させ（スクリプトの割り当て）、どのように合成させるか（合成順序）等の設定を行う。スクリプト担当割り当て手段１４は、映像生成エンジン２０−１の映像出力を映像生成エンジン２０−２の入力映像として使用するように設定する。なお、設定された情報は、パラメータ情報として管理される。
【００２５】
スクリプト生成手段１５は、スクリプト担当割り当て手段１４で割り当てられた各映像生成エンジン２０でコンテンツを生成させるため、それぞれに対応したスクリプトを生成する。例えば、スクリプト生成手段１５は、予め設定されたスタジオセットやＣＧキャラクタを用いた初期シーン用のスクリプトを生成してもよく、またＣＧキャラクタに基本的なセリフや動作内容等のパラメータ情報が含まれている場合には、そのパラメータ情報に基づいて対応する番組進行用（後続シーン用）のスクリプトを生成してもよい。
【００２６】
遅延調整手段１６は、各映像生成エンジン２０で生成されたコンテンツが同期して映像信号として出力されるように、各映像生成エンジン間での映像生成における遅延（ディレイ）時間を調整する。例えば、遅延調整手段１６は、スクリプト生成手段１５で生成された番組の初期シーンのスクリプト又は予め設定されたスクリプトを用いて、各映像生成エンジン２０で映像の仮生成を行った結果から、それぞれの映像の誤差を取得し、各映像生成エンジン２０の遅延時間を取得する。
【００２７】
遅延調整手段１６は、取得した遅延時間に基づいて、各映像生成エンジン２０から生成されたコンテンツが同期して出力されるように、どのタイミングでどの映像生成エンジン２０にスクリプトを送信するかの調整時間を取得する。
【００２８】
遅延調整手段１６により得られた遅延調整情報は、スクリプト生成手段１５に出力される。これにより、スクリプト生成手段１５は、遅延調整手段１６により得られる遅延調整情報に基づいて、各映像生成エンジン２０へ送るスクリプトの送信タイミングを調整することができ、映像合成時にそれぞれの映像を同期させることができる。
【００２９】
コンテンツ生成手段１７は、スクリプトやパラメータ情報、素材データ（例えば画像や映像）等に基づいて映像コンテンツを生成する。また、コンテンツ生成手段１７は、他の映像生成エンジンから取得した映像や通信手段１８等を介して外部から取得した映像と、エンジン内部で生成される映像とを合成する。例えば、コンテンツ生成手段１７は、複数の映像生成エンジン２０−１〜２０−ｎを有し、スクリプト担当割り当て手段１４で割り当てられた順序に応じて、前段の映像生成エンジンで生成された映像と、自ら生成した映像とを合成し、合成した映像を次段の映像生成エンジンに送る処理を行うことができる。複数の映像生成エンジン２０で生成された映像を段階的に合成することで、１つの画面に同時に多くのＣＧオブジェクトを表示させることができる。
【００３０】
各映像生成エンジン２０−１〜２０−ｎは、スクリプトによりＣＧオブジェクトを含む映像をリアルタイムに生成し、かつ、他の映像生成エンジンから入力される映像と、内部で生成した映像とをリアルタイムに合成する。例えば、各映像生成エンジン２０−１〜２０−ｎは、それぞれが入力したスクリプトファイルから、スクリプト担当割り当て手段１４により割り当てられた自分が担当するスクリプトを抽出し、抽出したスクリプトに対してコンテンツを生成する。
【００３１】
各映像生成エンジン２０−１〜２０−ｎは、それぞれがＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等で構成されているが、これに限定されるものではなく、例えばＶＰＵ（Ｖｉｓｕａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＣＰＵ等でもよい。つまり、コンテンツ生成手段１７は、マルチプロセッサ等を用いて映像生成処理を分散して番組生成を行う。
【００３２】
また、各映像生成エンジン２０−１〜２０−ｎは、それぞれが入力したスクリプトを解釈し、映像生成を担当するスクリプトである場合に、そのスクリプトに対応する映像生成を行う。また、各映像生成エンジン２０−１〜２０−ｎは、入力したスクリプトが、担当するスクリプトでない場合には、そのスクリプトに対する映像生成は行わない。
【００３３】
なお、コンテンツ生成手段１７は、スクリプト担当割り当て手段１４により割り当てられた映像生成エンジン２０毎の処理対象のスクリプトや、どのような順序で映像を合成するか等の情報に基づいてコンテンツを生成する。
【００３４】
また、コンテンツ生成手段１７は、例えばＴＶＭＬスクリプトや素材データ等を読み込み、順次スクリプトを解釈しながらアニメーション映像をリアルタイムに生成するＴＶＭＬプレーヤーとしての機能を有していてもよい。
【００３５】
通信手段１８は、通信ネットワーク等を介して外部装置とデータの送受信を行うための通信インタフェースである。通信手段１８による通信は、有線でも無線でもよく、これらの組み合わせでもよい。
【００３６】
制御手段１９は、本実施形態におけるコンテンツ生成装置１０の各機能構成全体の制御を行う。具体的には、制御手段１９は、例えばスクリプト担当割り当て手段１４によるスクリプトの担当の割り当て、スクリプト生成手段１５によるスクリプトの生成、遅延調整手段１６における各映像生成エンジン２０での遅延（ディレイ）調整、コンテンツ生成手段１７におけるコンテンツ生成、通信手段１８におけるデータの送受信等の各種制御を行う。
【００３７】
なお、制御手段１９が行う制御は、これに限定されるものではなく、例えばコンテンツ生成処理の開始や終了を制御したり、エラー制御（例えば、エラー発生時のメッセージ出力）等を行うことができる。
【００３８】
本実施形態では、上述したコンテンツ生成装置１０により、１又は複数の映像生成エンジン等を用いて多くのＣＧオブジェクトが登場する映像コンテンツを簡便かつリアルタイムに生成することができる。
【００３９】
＜コンテンツ生成装置１０における処理（コンテンツ生成処理）の一例＞
次に、上述したコンテンツ生成装置１０における処理の一例について、フローチャートを用いて説明する。図２は、コンテンツ生成装置における処理の一例を示すフローチャートである。なお、以下の説明では、生成する番組（コンテンツ）に登場させるＣＧオブジェクトの一例としてＣＧキャラクタを用いて説明するが、これに限定されるものではない
図２の例に示すコンテンツ生成処理において、スクリプト担当割り当て手段１４は、コンテンツ生成手段１７における映像生成の性能を測定する（Ｓ０１）。Ｓ０１の処理では、例えば映像生成エンジン２０に対して、予め記憶手段１３等に記憶されたＣＧキャラクタの種類毎に、リアルタイムに表示できるキャラクタ数の関係を測定する。
【００４０】
次に、スクリプト担当割り当て手段１４は、Ｓ０１の処理で得られた性能測定結果や予め設定された番組台本等に基づいて、生成する番組（コンテンツ）に登場させるキャラクタとキャラクタ数を決定する（Ｓ０２）。
【００４１】
次に、スクリプト担当割り当て手段１４は、キャラクタとキャラクタ数に対応する映像生成エンジン２０の数を決定し、各映像生成エンジンが担当するスクリプトを割り当てる（Ｓ０３）。例えば、生成する番組で赤い服の女性のＣＧキャラクタ４０体を表示させる場合に、性能測定結果から１つの映像生成エンジンで２０体までリアルタイム表示できると判断されたとする。この場合、スクリプト担当割り当て手段１４は、２つの映像生成エンジンを割り当てる。
【００４２】
なお、各映像生成エンジン２０は、予め設定されたＩＤやネットワークアドレス、ホスト名、ポート番号、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス等の各種アドレス情報により識別されるが、各映像生成エンジン２０の識別情報についてはこれに限定されるものではない。更に、スクリプト担当割り当て手段１４は、例えば映像生成エンジン２０−１で生成した映像を映像生成エンジン２０−２の入力として取得し、映像生成エンジン２０−２で生成された映像と合成させる等といった合成順序等を設定することもできる。
【００４３】
次に、スクリプト生成手段１５は、例えば各映像生成エンジンに対応する初期シーンのスクリプトを生成する（Ｓ０４）。Ｓ０４の処理において、スクリプト生成手段１５は、例えば２つの映像生成エンジン２０−１，２０−２を用いて映像を生成する場合に、映像生成エンジン２０−１用のスクリプトファイル（例えば、「Ｃｈａｒ４０ｔｅｓｔ＿ｈ１．ｔｖｍｌ」）と、映像生成エンジン２０−２用のスクリプトファイル（例えば、「Ｃｈａｒ４０ｔｅｓｔ＿ｈ２．ｔｖｍｌ」）とを生成する。
【００４４】
次に、遅延調整手段１６は、各映像生成エンジン２０において生成された映像を合成する際に、２つの映像で遅延（誤差）が生じないように、各映像生成エンジン２０における遅延時間を調整する（Ｓ０５）。Ｓ０５の処理において、例えば映像生成エンジン２０−１の出力映像と、映像生成エンジン２０−２でスクリプトから生成された映像とを、映像生成エンジン２０−２で合成する場合、遅延調整手段１６は、上述した２つの映像生成エンジン２０−１，２０−２に対して同一のスクリプトを出力して映像を仮生成させ、更に映像生成エンジン２０−２で合成された２つの映像のずれ量から遅延時間（ディレイ量）を取得する。なお、同一のスクリプトとは、例えば、Ｓ０４の処理で得られた初期シーンのスクリプトでもよく、予め設定された処理（例えば、カメラワーク）を行うスクリプトでもよいが、これに限定されるものではない。
【００４５】
また、遅延調整手段１６は、映像のずれが生じている場合に、そのずれ量に基づいて、映像生成エンジン２０−１及び映像生成エンジン２０−２にそれぞれ出力するスクリプトのタイミングをずらしながら、再度同一のスクリプトを出力し、各映像生成エンジンで仮生成された映像を取得する。この作業を映像のずれがなくなるまで行うことで、最終的に合成時の映像のずれがなくなる遅延時間（ディレイ量）を取得する。
【００４６】
なお、遅延時間を取得するためのスクリプトの一例としては、例えばカメラワークとしてカメラＡを横に振る（ｐａｎ）スクリプト「ｃａｍｅｒａ：ｍｏｖｅｍｅｎｔ（ｎａｍｅ＝ＣａｍｅｒａＡ，ｙ＝１．９６，ｚ＝６，ｐａｎ＝−２１．００，ｔｉｌｔ＝８．００，ｖａｎｇｌｅ＝４６．００，ｓｐｅｅｄ＝０．２）」、「ｃａｍｅｒａ：ｍｏｖｅｍｅｎｔ（ｎａｍｅ＝ＣａｍｅｒａＡ，ｙ＝１．９６，ｚ＝６，ｐａｎ＝２１．００，ｔｉｌｔ＝８．００，ｖａｎｇｌｅ＝４６．００，ｓｐｅｅｄ＝０．２）」を用いることができるが、これに限定されるものではない。
【００４７】
次に、スクリプト生成手段１５は、Ｓ０５の処理により調整された遅延時間に基づくタイミングで、各映像生成エンジン２０にスクリプトを出力する（Ｓ０６）。次に、コンテンツ生成手段１７は、スクリプトを入力した各映像生成エンジン２０で、コンテンツを生成する（Ｓ０７）。Ｓ０７の処理において、コンテンツ生成手段１７は、入力したスクリプトに自己が担当しているスクリプトが含まれている場合に、そのスクリプトに対応するコンテンツを生成する。また、コンテンツ生成手段１７は、入力したスクリプトに自己が担当しているスクリプトが含まれていない場合には、コンテンツの生成を行わない。
【００４８】
次に、コンテンツ生成手段１７は、複数の映像生成エンジン２０で生成されたコンテンツを合成して、最終的な番組を生成する（Ｓ０８）。Ｓ０８の処理において、コンテンツ生成手段１７は、例えば映像生成エンジン２０−１で生成した映像コンテンツの出力が、映像生成エンジン２０−２で生成した映像コンテンツの背景として入力される場合に、映像生成エンジン２０−１で生成した映像コンテンツ（背景）の上に、映像生成エンジン２０−２で生成した映像コンテンツを合成する。なお、本実施形態では、遅延調整手段１６により各映像生成エンジン２０の生成時間を考慮して生成時間が遅延されているため、Ｓ０８の処理では、同期した映像の合成を実現することができる。また、本実施形態では、３つ以上の映像生成エンジン２０を用いてコンテンツの合成を行ってもよい。次に、出力手段１２は、コンテンツ生成手段１７により生成された合成した番組を出力手段１２等により出力する（Ｓ０９）。
【００４９】
ここで、コンテンツ生成装置１０の制御手段１９は、例えば後続シーンのスクリプト（番組進行用のスクリプト）を生成するか否かを判断する（Ｓ１０）。Ｓ１０の処理において、制御手段１９は、例えば制作中の番組に対応する台本等に基づいて判断することができるが、これに限定されるものではない。
【００５０】
後続シーンのスクリプトを生成する必要がある場合（Ｓ１０において、ＹＥＳ）、スクリプト生成手段１５は、各映像生成エンジン２０に対応する後続シーンのスクリプトを生成し（Ｓ１１）、Ｓ０６の処理に戻り、所定のタイミングでスクリプトの出力を行う。例えば、上述したＳ１１の処理において、スクリプト生成手段１５は、番組の進行に沿って、同じスクリプト（Ｃｈａｒ４０ｔｅｓｔ＿ｈ３．ｔｖｍｌ）を生成し、Ｓ０５の処理において取得した遅延時間に基づいて、映像生成エンジン２０−１，２０−２のそれぞれに対して調整したタイミングで送信する。
【００５１】
また、Ｓ１０の処理において、後続シーンのスクリプトを生成しない場合（Ｓ１０において、ＮＯ）、制御手段１９は、コンテンツ生成処理を終了する。
【００５２】
＜スクリプト担当割り当て手段１４における映像生成エンジン数の決定例＞
次に、上述したスクリプト担当割り当て手段１４における映像生成エンジン数の決定例について説明する。図３は、映像生成エンジン数の決定例を説明するための図である。なお、以下の説明では、ＣＧオブジェクトの一例としてＣＧキャラクタを用いて説明する。
【００５３】
一般に、体の動きに従って滑らかに変形する皮膚を持ったＣＧキャラクタの表示は、多くの計算処理が必要となる。したがって、本実施形態において、スクリプト担当割り当て手段１４は、コンテンツ生成手段１７における映像生成エンジン２０の性能測定を行い、ＣＧオブジェクトの種類毎に、リアルタイムに表示できるＣＧオブジェクト数を測定する。
【００５４】
例えば、スクリプト担当割り当て手段１４は、予めＣＧキャラクタ毎に設定されているポリゴン数（複雑さ）等のパラメータに応じて、映像生成エンジン２０が処理の負荷等による動作の遅延等が生じることなくリアルタイムに生成できるキャラクタ数を決定する。
【００５５】
図３に示す例では、番組に登場させることが可能なＣＧキャラクタ３０−１〜３０−３が予め設定されており、更に各ＣＧキャラクタ毎にポリゴン数が設定されている。なお、ＣＧキャラクタ３０−１〜３０−３の種類やポリゴン数については、これに限定されるものではない。
【００５６】
スクリプト担当割り当て手段１４は、各ＣＧキャラクタ３０−１〜３０−３が使用するポリゴンの数に応じて１つの映像生成エンジンで生成可能なキャラクタ数を設定する。なお、コンテンツに登場させるキャラクタやキャラクタ数は、例えば生成する番組の台本等により設定することもできる。
【００５７】
例えば、ＣＧキャラクタ３０−２（赤い服の女性）を、４０体リアルタイムで表示しようとすると、図３に示す性能測定結果から１つの映像生成エンジンで２０体をリアルタイム表示できることがわかる。したがって、スクリプト担当割り当て手段１４は、４０体のＣＧキャラクタ３０−２を表示させるために２台の映像生成エンジンを割り当て、スクリプト生成手段１５に割り当てた各映像生成エンジンに対応するスクリプトを生成させる。
【００５８】
＜コンテンツ生成の具体例＞
次に、上述した本実施形態におけるコンテンツ生成の具体例について説明する。図４は、コンテンツ生成の具体例を説明するための図である。また、図５〜図７は、映像生成エンジンに出力するスクリプトの一例を示す図（その１〜その３）である。なお、図５〜図７の例では、説明の便宜上、ＴＶＭＬスクリプトの左側に行番号を示している。
【００５９】
図４の例では、コンテンツ生成手段１７における２つの映像生成エンジン２０−１，２０−２を用いて番組を生成する例が示されている。映像生成エンジン２０−１，２０−２は、スクリプト生成手段１５が生成したスクリプトファイルを読み込んで、自己が担当するスクリプトを順番に再生して映像を出力する。また、映像生成エンジン２０−１，２０−２は、リアルタイムかつ高速に変化するカメラワークデータ等をパラメータとして入力することも可能である。
【００６０】
また、映像生成エンジン２０−１，２０−２は、映像を段階的に合成することができるため、１つの画面に同時に多くのＣＧキャラクタを容易に登場させることができる。
【００６１】
図４の例において、映像生成エンジン２０−１は、例えば図５に示すようなＴＶＭＬスクリプト（例えば、Ｃｈａｒ４０ｔｅｓｔ＿ｈ１．ｔｖｍｌ」）を用いて背景セットと画面（カメラ位置）後方のキャラクタ群の生成を担当している。本実施形態におけるスクリプトは、例えばテレビ番組のような映像コンテンツ制作全般に使用することができ、例えばＣＧキャラクタのしゃべりや動作の他、照明、カメラ、セット、小道具、スーパーインポーズ、動画、ＢＧＭ等、テレビ番組のスタジオ制作に必要な機能を全て記述することができる。
【００６２】
図５の例に示すＴＶＭＬスクリプトでは、スタジオセットや照明、キャラクタ、カメラ等の設定の他に、（５４）〜（６２）行目に各ＣＧキャラクタ（２０体）の画面上の表示位置座標（一部記載省略）が設定されている。また、（６６）〜（７４）行目に各ＣＧキャラクタ（２０体）に対する動作内容（一部記載省略）が設定される。図５の例では、Ｃｈａｒａｃｔｅｒ１＿１Ａ〜１０＿１Ａ、Ｃｈａｒａｃｔｅｒ１＿２Ａ〜１０＿２Ａが、映像生成エンジン２０−１が担当するＣＧオブジェクトとなる。
【００６３】
また、映像生成エンジン２０−２は、例えば図６に示すようなスクリプト（例えば、Ｃｈａｒ４０ｔｅｓｔ＿ｈ２．ｔｖｍｌ」）を用いて画面（カメラ位置）手前のキャラクタ群の生成を担当している。
【００６４】
図６の例では、背景映像として、映像生成エンジン２０−１の出力映像４０−１を入力とするスクリプトが存在する（（１３）〜（１５）行目）。また、図６の例では、照明、キャラクタ、カメラ等の設定の他に、（５４）〜（６２）行目に各ＣＧキャラクタ（２０体）の画面上の表示位置座標（一部記載省略）が設定されている。また、（６８）〜（７６）行目に各ＣＧキャラクタ（２０体）に対する動作内容（一部記載省略）が設定される。図６の例では、Ｃｈａｒａｃｔｅｒ１＿３Ａ〜１０＿３Ａ、Ｃｈａｒａｃｔｅｒ１＿４Ａ〜１０＿４Ａが、映像生成エンジン２０−２が担当するＣＧオブジェクトとなる。
【００６５】
図４の例に示す映像生成エンジン２０−１及び２０−２では、例えば図５及び図６に示す初期シーンのスクリプトに対して、照明やカメラ等に関するスクリプトを処理し、同じ照明、同じカメラワークの映像を生成する。また、映像生成エンジン２０−２は、図４に示すように前段の映像生成エンジン２０−１からの出力映像を背景映像として入力し、映像生成エンジン２０−２で生成された映像４０−２と合成（キャラクタ領域だけ上書き）して、最終的な映像コンテンツ４１を出力する。
【００６６】
なお、図５，図６に示すスクリプトは、例えば「ｓｋｉｐｓｃｒｉｐｔ」の「ｓｗｉｔｃｈ」パラメータにより表示（ｏｆｆ：スキップしない）又は非表示（ｏｎ：スキップする）を制御することができる。また、本実施形態では、映像生成エンジン２０−１に背景セットと後方のキャラクタ群を担当させているが、これに限定されるものではなく、背景セットとキャラクタ群とを別々の映像生成エンジンに分けてもよく、またキャラクタ群に限らず他のＣＧオブジェクトの表示を担当させてもよい。
【００６７】
また、本実施形態において、スクリプト生成手段１５は、番組進行に対応させて、例えば図７に示すような後続シーンのスクリプトファイル（例えば、Ｃｈａｒ４０ｔｅｓｔ＿ｈ３．ｔｖｍｌ」）を映像生成エンジン２０−１及び２０−２に出力する。映像生成エンジン２０−１及び２０−２は、そのスクリプトファイルを受け取り、それぞれが担当するスクリプト（例えば、ＣＧキャラクタ等）に対しての動作制御等を実行する。
【００６８】
図７の例では、（０１）〜（０４）行目に、Ｃｈａｒａｃｔｅｒ（キャラクタ）１＿１Ａ、２＿２Ａ、３＿３Ａ、４＿４Ａが「バイバイ」と手を振るジェスチャ（動作）を行うスクリプトが記述されている。したがって、映像生成エンジン２０−１は、自分が担当する図７の（０１）、（０２）行目のスクリプト（Ｃｈａｒａｃｔｅｒ１＿１Ａ、２＿２Ａ）に対応した映像生成を行い、（０３）、（０４）行目のスクリプトには対応しない。一方、映像生成エンジン２０−２は、図７の（０１）、（０２）行目にスクリプトには対応せず、（０３）、（０４）行目のスクリプト（Ｃｈａｒａｃｔｅｒ３＿３Ａ、４＿４Ａ）に対応した映像生成を行う。
【００６９】
なお、図７に示すスクリプトは、遅延調整手段１６から得られる遅延時間にしたがってタイミングをずらして各映像生成エンジン２０−１，２０−２に出力される。このように、本実施形態では、各映像生成エンジン２０に対して同一のスクリプトを出力した場合でも、それぞれの映像生成エンジン２０に割り当てられている担当スクリプトのみを抽出して処理することができる。したがって、スクリプト生成手段１５は、映像生成エンジン２０毎に個別のスクリプトを生成したり、送信する必要がなくなる。したがって、簡便かつリアルタイムにコンテンツを生成することができる。
【００７０】
＜遅延調整の具体例＞
次に、本実施形態における遅延調整の具体例について説明する。本実施形態では、各映像生成エンジン２０からの映像を合成する際の映像間の遅延をなくすための調整を行う。例えば、図４に示すようにカメラの位置や向き、画角等を変更させるスクリプト（カメラワークスクリプト）を映像生成エンジン２０−１，２０−２に出力する。カメラワークスクリプトとしては、例えば図４に示すカメラワークスクリプトＡ、Ｂ等を出力することができるが、これに限定されるものではない。また、カメラワークスクリプトではなく、例えばＣＧキャラクタを移動させるスクリプト等の予め設定されたスクリプトであってもよく、上述した初期シーンスクリプトであってもよい。
【００７１】
映像生成エンジン２０−１，２０−２は、それぞれで担当する映像を仮生成し、映像生成エンジン２０−２で２つの映像が合成されて出力される。
【００７２】
ここで、例えば映像生成エンジン２０−１，２０−２に対して同じタイミングでカメラワークスクリプトを出力すると、映像生成エンジン２０−１と映像生成エンジン２０−２で、ほぼ同時に映像生成が行われる。しかしながら、映像生成エンジン毎の性能の違いや、映像生成エンジン２０−１からの映像を映像生成エンジン２０−２に出力し、映像生成エンジン２０−２が入力するまでの通信時間等により、合成時の２つの映像が同期せずに遅延が生じ、全体の動作がずれてしまう。これは、例えばＣＧキャラクタが動作する場合であっても同様である。
【００７３】
図８は、合成映像のずれを説明するための図である。図８（Ａ）は、映像のずれがある場合を示し、図８（Ｂ）は、映像のずれがない場合を示している。上述したように、各映像生成エンジン２０での処理時間のずれを考慮しない場合には、図８（Ａ）に示すように、カメラワークの変更等によりＣＧキャラクタの位置がずれる等の現象が生じる。
【００７４】
そこで、本実施形態では、そのような時間的ずれをなくすため、スクリプト生成手段１５は、遅延調整手段１６からの指示により、映像生成エンジン２０−１，２０−２に対する出力タイミングを所定時間ずらしてカメラワークスクリプトを出力する。遅延調整手段１６は、例えば映像生成エンジン２０−２から最終的に合成された映像を取得し、図８（Ａ）、（Ｂ）に示すような映像の変化からずれ（位置ずれ、動作ずれ等）が生じていないか（同期しているか）を判断する。また、ずれが生じている場合には、ずらす時間を変更しながら、ずれが生じなくなるまで繰り返し処理を行う。
【００７５】
これにより、遅延調整手段１６は、各映像生成エンジンで仮生成された映像から遅延時間を取得することができ、取得した遅延時間を用いて、ずれが生じないように出力タイミングの調整を行い各映像生成エンジン２０にスクリプトを出力する。例えば、スクリプト生成手段１５は、映像生成エンジン２０−２にスクリプトを出力するタイミングを映像生成エンジン２０−１へスクリプトを出力するタイミングより遅いタイミングにすることで、例えば図８（Ｂ）に示すように、２つの映像が同期した合成映像を生成することができる。
【００７６】
なお、本実施形態において、スクリプト生成手段１５は、予め設定されたスクリプト送信用設定ファイルに基づいてスクリプトの送信を行う。上述した遅延時間も、スクリプト送信用設定ファイルに記憶される。
【００７７】
図９は、スクリプト送信用設定ファイルの一例を示す図である。図９の例に示すスクリプト送信用設定ファイルは、例えば「セットワークモード設定セクション」、「ローカルモード設定セクション」、「リアルタイムパラメータ入力設定セクション」、「ｒｅｐｅａｔ構文設定セクション」、「送信先設定セクション」等があるが、これに限定されるものではない。
【００７８】
例えば、遅延時間に基づくスクリプト送信間隔は、図９に示すように、映像生成エンジン２０毎に、送信先のホスト名（ＨＯＳＴ）及びポート番号（ＰＯＲＴ）と共に、ディレイ量（ＤＥＬＡＹ）パラメータとして、「送信先設定セクション」に記憶される。
【００７９】
また、本実施形態では、遅延時間の最大値「ＳＥＮＤ＿ＤＥＬＡＹ＿ＭＡＸ」を予め設定してもよい。この設定情報は、例えば、図９に示すように「ネットワークモード設定セクション」として設定される。このように遅延時間の最大値を設定することで、合成映像そのものの遅延を防止し、リアルタイム映像出力を維持することができる。
【００８０】
なお、上述した実施形態では、２つの映像生成エンジン２０−１，２０−２を用いて説明したが、これに限定されるものではなく、映像に登場させるＣＧオブジェクトの複雑さや数、装置性能等に応じて３以上の映像生成エンジンを使用することができる。例えば、上述した実施形態において映像生成エンジン２０−３を追加する場合には、映像生成エンジン２０−２の後に配置し、各映像生成エンジン２０−１〜２０−３が担当する素材やスクリプト等の割り当てを再度行う。
【００８１】
＜他の実施形態＞
上述したコンテンツ生成装置１０は、例えば上述したコンテンツ生成手段１７（映像生成エンジン２０）を他の装置（例えば、ＰＣ等）で実現したコンテンツ生成システムとして構成されていてもよい。
【００８２】
ここで、図１０は、コンテンツ生成システムの構成例を示す図である。なお、以下の構成において、上述したコンテンツ生成装置１０と同様の処理を行う構成については、上述した構成と同様の名称及び符号を付するものとし、ここでの具体的な説明は省略する。
【００８３】
図１０の例において、コンテンツ生成システム５０は、コンテンツ生成装置５１と、１又は複数のＰＣ５２（図１０の例では、ＰＣ５２−１，５２−２）とを有するよう構成されている。コンテンツ生成装置５１とＰＣ５２とは、例えばインターネットやＬＡＮ等の通信ネットワーク５３によりデータの送受信が可能な状態で接続されている。
【００８４】
コンテンツ生成装置５１は、入力手段１１と、出力手段１２と、記憶手段１３と、スクリプト担当割り当て手段１４と、スクリプト生成手段１５と、遅延調整手段１６と、通信手段１８と、制御手段１９とを有するよう構成されている。また、ＰＣ５２は、映像生成エンジン６１と、通信手段６２とを有している。なお、ＰＣ５２は、例えばサーバや映像生成機能・通信機能を有するテレビ装置等でもよく、またスマートフォンやタブレット端末、ゲーム機器、カメラ、携帯電話等のモバイル端末等でもよい。
【００８５】
図１０のコンテンツ生成装置５１は、予め映像コンテンツを生成させる情報処理装置として１又は複数のＰＣ５２を管理している。各ＰＣ５２は、例えばＩＰアドレス等のネットワークアドレスで識別することができる。各ＰＣ５２は、例えばマルチプロセッサではなく、１つのプロセッサを用いてコンテンツを生成する映像生成エンジン６１を有しているが、これに限定されるものではなく、例えば各ＰＣ５２がマルチプロセッサ（複数の映像生成エンジン）を有していてもよい。映像生成エンジン６１は、上述したコンテンツ生成手段１７の機能を有してもよく、ＴＶＭＬプレーヤーとしての機能を有していてもよい。
【００８６】
コンテンツ生成装置５１は、上述したコンテンツ生成装置１０と同様に、スクリプト担当割り当て手段１４により、使用するＰＣ５２の数と、どのＰＣ５２に対してどのスクリプトを担当させ、どの順序で合成するか等の情報を割り当てる。スクリプト生成手段１５は、スクリプト担当割り当て手段１４により割り当てられた内容に基づいてスクリプトを生成し、遅延調整手段１６により調整された遅延時間（ディレイ量）に基づいて時間をずらして、通信手段１８から同一のスクリプトを使用するＰＣ５２に送信する。このとき、通信手段１８は、各ＰＣ５２が担当する映像コンテンツを生成させると共に、他のＰＣで生成された生成された映像コンテンツを入力映像とし、その入力映像と、スクリプトから生成した映像コンテンツとを所定の順序で合成させる旨の指示も送信する。上述の指示は、送信するスクリプトに含まれていてもよく、また予め各ＰＣ５２に送信されていてもよい。
【００８７】
ＰＣ５２−１、ＰＣ５２−２は、コンテンツ生成装置５１から送信されたスクリプトファイルを通信手段６２で受信し、受信したスクリプトファイルから自分が担当するスクリプトを抽出して、映像生成エンジン６１により映像生成を行う。
【００８８】
例えば、ＰＣ５２−１により得られる出力映像４０−１は、通信手段６２により通信ネットワーク５３を介してアドレス２のＰＣ５２−２に背景映像として入力される。なお、この場合には、例えば映像のエンコードやデコード処理等を含んでいてもよく、また通信ネットワーク５３ではなく映像信号を送信する専用の回線（映像ライン）で送信してもよい。ＰＣ５２−２は、入力した背景映像と、スクリプトから自ら生成した映像４０−２とを合成して、最終的な映像コンテンツ４１を出力する。
【００８９】
＜コンテンツ生成システムの応用例＞
図１１は、コンテンツ生成システムの応用例を示す図である。図１１に示すコンテンツ生成システム７０は、上述したコンテンツ生成装置５１と、テレビ装置７１と、モバイル端末７２とを有している。コンテンツ生成装置５１と、テレビ装置７１と、モバイル端末７２とは、例えばインターネットやＬＡＮ等の通信ネットワーク５３によりデータの送受信が可能な状態で接続されている。
【００９０】
テレビ装置７１には、上述した映像生成エンジン６１と、通信手段６２とを有し、更に映像生成エンジン６１により生成された映像コンテンツを画面に表示する表示手段８１を有している。
【００９１】
また、モバイル端末７２は、上述した映像生成エンジン６１と、通信手段６２と、表示手段８１とを有し、更にテレビ装置７１の表示手段８１の画面に表示されているコンテンツを撮影するカメラ（撮像手段）８２を有している。
【００９２】
図１１に示すコンテンツ生成システムでは、例えばテレビ装置７１の表示画面をモバイル端末７２に内蔵されたカメラ８２を通して撮影し、撮影した映像コンテンツを含む撮影画像全体をメインコンテンツとして取得する。更に、モバイル端末７２は、そのメインコンテンツを背景映像として、通信ネットワーク５３によりコンテンツ生成装置５１から受信したスクリプトから自ら生成した映像（サブコンテンツ）８３とを同期させて合成することができる。これにより、例えばモバイル端末７２の表示手段８１において、例えばキャラクタが撮影したテレビ装置７１の表示画面から飛び出すような娯楽性のある映像を提供することができる。
【００９３】
この場合、図１１に示すコンテンツ生成装置５１は、カメラワークやＣＧの生成空間の指定（クリッピングプレーン）等を行うことが好ましい。また、コンテンツ生成装置５１は、同一のＣＧキャラクタについての制御スクリプトをテレビ装置７１及びモバイル端末７２に送信する。
【００９４】
本実施形態により、簡単な構成で多くのキャラクタを表示可能となる。また、ＣＧキャラクタが画面から飛び出すといった娯楽性のある映像コンテンツを提供することができる。なお、上述した実施形態は、各実施形態の一部又は全部を組み合わせて実施することができる。また、スクリプトは、ＴＶＭＬスクリプト以外のスクリプトを用いてもよい。
【００９５】
＜実行プログラム（コンテンツ生成プログラム）＞
ここで、上述したコンテンツ生成装置１０，５１は、例えばＣＰＵ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性の記憶媒体、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性の記憶媒体、マウスやキーボード、ポインティングデバイス等の入力装置、画像やデータを表示する表示部、並びに外部と通信するためのインタフェースを備えたコンピュータによって構成することができる。
【００９６】
したがって、コンテンツ生成装置１０，５１が有する各機能は、これらの機能を記述したプログラム（コンテンツ生成プログラム）をＣＰＵに実行させることによりそれぞれ実現可能となる。また、このプログラムは、磁気ディスク（フロッピィーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記録媒体に格納して頒布することもできる。
【００９７】
つまり、本実施形態では、上述した各構成における処理をコンピュータ（ハードウェア）に実行させるための実行プログラム（コンテンツ生成プログラム）を生成し、例えば汎用のＰＣやサーバ等にそのプログラムをインストールすることにより、上述したハードウェアと、プログラム等からなるソフトウェアとを協働させて上述したコンテンツ生成処理を実現することができる。
【００９８】
上述したように本発明によれば、ＣＧオブジェクトの複雑さや数に対応させて簡便かつリアルタイムにコンテンツを生成することができる。具体的には、本実施形態では、簡単な構成で１つの画面に多くのキャラクタ等のＣＧオブジェクトを登場させることができる。また、映像生成エンジンの数が増減しても柔軟に対応することができる。ＣＧキャラクタの複雑さや表示するキャラクタの数により必要な映像生成部の数も変わってくるが、映像生成部の機能は同じでよく、追加や削除が容易である。また、本実施形態では、それぞれの映像生成部が担当する素材は、意味のあるまとまりとなっており、精緻な表示タイミングを必要としない。
【００９９】
以上本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【０１００】
１０，５１  コンテンツ生成装置
１１  入力手段
１２  出力手段
１３  記憶手段
１４  スクリプト担当割り当て手段
１５  スクリプト生成手段
１６  遅延調整手段
１７  コンテンツ生成手段
１８，６２  通信手段
１９  制御手段
２０，６１  映像生成エンジン
３０  ＣＧキャラクタ
４０  映像
４１  映像コンテンツ
５０，７０  コンテンツ生成システム
５２  ＰＣ
５３  通信ネットワーク
８１  表示手段
８２  カメラ（撮像手段）
【図１】
2015060539.tif 000003
【図２】
2015060539.tif 000004
【図５】
2015060539.tif 000005
【図６】
2015060539.tif 000006
【図７】
2015060539.tif 000007
【図９】
2015060539.tif 000008
【図３】
2015060539.tif 000009
【図４】
2015060539.tif 000010
【図８】
2015060539.tif 000011
【図１０】
2015060539.tif 000012
【図１１】
2015060539.tif 000013