(57)【要約】【課題】番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行う。【解決手段】台本データに対応した番組コンテンツを制作する番組制作装置において、予め蓄積されたテンプレートの内容を前記台本データの記述内容で置換して番組構成内容に対応する演出内容を含む番組情報に基づいてテンプレート置換型のＴＶＭＬスクリプトを生成する第１の番組スクリプト生成手段と、動作オブジェクトに対する目的動作を行うために前記番組に含まれる他のオブジェクトに対応した詳細動作情報を設定し、前記詳細動作情報と、前記台本データと、予め蓄積された制作モジュール群及び雛形スクリプト群とに基づいて、逐次型のＴＶＭＬスクリプトを生成する第２のスクリプト生成手段と、前記台本データに含まれる前記演出情報毎に付加された識別情報に基づいて、前記第１及び第２のスクリプト生成手段からのＴＶＭＬスクリプトの何れかを選択して番組を再生し、再生された番組を表示する再生表示手段に出力させる番組制作処理制御手段とを有する。【選択図】図１
2011188096.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも番組内容の実体データである内容情報と、番組に与える演出・効果を示す演出情報とを含んだ台本データに対応した番組コンテンツを制作する番組制作装置において、
予め蓄積されたテンプレートの内容を前記台本データの記述内容で置換し、予め設定される番組構成内容に対応する演出内容を含む番組情報を生成する第１の番組構成手段と、
前記第１の番組構成手段により生成された前記演出内容を含む番組情報に基づいてテンプレート置換型のＴＶＭＬスクリプトを生成する第１の番組スクリプト生成手段と、
前記台本データの記述内容を解析する台本解析手段と、
前記台本解析手段により解析された台本データの記述内容に動作オブジェクトが含まれる場合には、前記動作オブジェクトに対する目的動作を行うために前記番組に含まれる他のオブジェクトに対応した詳細動作情報を設定する詳細動作設定手段と、
前記詳細動作設定手段により設定された詳細動作情報と、予め設定された前記台本データと、予め蓄積された制作モジュール群と、予め蓄積された雛形スクリプト群とに基づいて、前記雛形ＴＶＭＬスクリプト群から前記台本データに対応する番組内容のＴＶＭＬスクリプトを取得し、取得した所定のＴＶＭＬスクリプトに基づいて番組構成内容に対応する演出内容を含む番組情報を生成する第２の番組構成手段と、
前記第２の番組構成手段により生成された前記演出内容を含む番組情報に基づいて逐次型のＴＶＭＬスクリプトを生成する第２の番組スクリプト生成手段と、
前記第１のスクリプト生成手段及び前記第２のスクリプト生成手段から得られる前記テンプレート置換型のＴＶＭＬスクリプト又は前記逐次型のＴＶＭＬスクリプトの何れかを再生し、再生された番組を表示する再生表示手段と、
前記台本データに含まれる前記演出情報毎に付加された識別情報に基づいて、前記第１の番組スクリプト生成手段又は前記第２の番組スクリプト生成手段の何れかを選択して前記テンプレート置換型のＴＶＭＬスクリプト又は前記逐次型のＴＶＭＬスクリプトの何れかを取得し、取得したＴＶＭＬスクリプトを前記再生表示手段に出力する番組制作処理制御手段と、を有することを特徴とする番組制作装置。
【請求項２】
前記第２のスクリプト生成手段は、
前記台本データに対応する前記逐次型のＴＶＭＬスクリプトの生成が継続している場合、前記ＴＶＭＬスクリプトに継続通知情報を付加することを特徴とする請求項１に記載の番組制作装置。
【請求項３】
前記番組制作処理制御手段は、
前記第２のスクリプト生成手段により得られるＴＶＭＬスクリプトに前記継続通知情報が含まれる場合、前記第１の番組スクリプト生成手段により得られるＴＶＭＬスクリプトを前記再生表示手段に出力しないことを特徴とする請求項２に記載の番組制作装置。
【請求項４】
前記再生表示手段により出力される画像から前記番組のリアルタイム情報を取得するリアルタイム情報取得手段と、
前記動作オブジェクト及び前記他のオブジェクトに対して予め設定された属性情報を取得するオブジェクト属性情報取得手段とを有し、
前記リアルタイム情報取得手段により得られる前記動作オブジェクトのリアルタイム情報と、前記オブジェクト属性情報取得手段により得られるオブジェクト毎の属性情報とに基づいて前記詳細動作情報を設定し、
前記第２のスクリプト生成手段は、前記詳細動作情報に基づいて前記逐次型のＴＶＭＬスクリプトの生成が継続しているか否かを判断することを特徴とする請求項２又は３に記載の番組制作装置。
【請求項５】
前記番組制作処理制御手段は、
前記台本データに含まれる動作対象のＣＧキャラクタが異なる場合、各ＣＧキャラクタに対する演出情報に対するＴＶＭＬスクリプトを、前記第１の番組スクリプト生成手段又は前記第２の番組スクリプト生成手段により同時に生成させることを特徴とする請求項１乃至４の何れか１項に記載の番組制作装置。
【請求項６】
少なくとも番組内容の実体データである内容情報と、番組に与える演出・効果を示す演出情報とを含んだ台本データに対応した番組コンテンツを制作するための番組制作プログラムにおいて、
コンピュータを、
予め蓄積されたテンプレートの内容を前記台本データの記述内容で置換し、予め設定される番組構成内容に対応する演出内容を含む番組情報を生成する第１の番組構成手段、
前記第１の番組構成手段により生成された前記演出内容を含む番組情報に基づいてテンプレート置換型のＴＶＭＬスクリプトを生成する第１の番組スクリプト生成手段、
前記台本データの記述内容を解析する台本解析手段、
前記台本解析手段により解析された台本データの記述内容に動作オブジェクトが含まれる場合には、前記動作オブジェクトに対する目的動作を行うために前記番組に含まれる他のオブジェクトに対応した詳細動作情報を設定する詳細動作設定手段、
前記詳細動作設定手段により設定された詳細動作情報と、予め設定された前記台本データと、予め蓄積された制作モジュール群と、予め蓄積された雛形スクリプト群とに基づいて、前記雛形ＴＶＭＬスクリプト群から前記台本データに対応する番組内容のＴＶＭＬスクリプトを取得し、取得した所定のＴＶＭＬスクリプトに基づいて番組構成内容に対応する演出内容を含む番組情報を生成する第２の番組構成手段、
前記第２の番組構成手段により生成された前記演出内容を含む番組情報に基づいて逐次型のＴＶＭＬスクリプトを生成する第２の番組スクリプト生成手段、
前記第１のスクリプト生成手段及び前記第２のスクリプト生成手段から得られる前記テンプレート置換型のＴＶＭＬスクリプト又は前記逐次型のＴＶＭＬスクリプトの何れかを再生し、再生された番組を表示する再生表示手段、及び、
前記台本データに含まれる前記演出情報毎に付加された識別情報に基づいて、前記第１の番組スクリプト生成手段又は前記第２の番組スクリプト生成手段の何れかを選択して前記テンプレート置換型のＴＶＭＬスクリプト又は前記逐次型のＴＶＭＬスクリプトの何れかを取得し、取得したＴＶＭＬスクリプトを前記再生表示手段に出力する番組制作処理制御手段として機能させるための番組制作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、番組制作装置及び番組制作プログラムに係り、特に番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うための番組制作装置及び番組制作プログラムに関する。
【背景技術】
【０００２】
近年、簡単な台本の記述によりＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）をベースとする番組等の映像コンテンツを自動的に制作する技術が存在する（例えば、特許文献１及び２参照。）。この技術では、例えば、台本をＡＰＥ（Ａｕｔｏｍａｔｉｃ  Ｐｒｏｇｒａｍ  Ｅｎｇｉｎｅ）と呼ばれる演出付加ユニットに入力するだけで、台本の記述に対応させて映像コンテンツを生成するための詳細な台本（例えば、ＴＶＭＬ（ＴＶ  ｐｒｏｇｒａｍ  Ｍａｋｉｎｇ  Ｌａｎｇｕａｇｅ）スクリプト等）を生成することができる（例えば、非特許文献１参照。）。
【０００３】
ここで、ＴＶＭＬは、テレビ番組を制作するためのスクリプトベース記述言語である。したがって、例えば入力テキストとして「こんにちは」という文字がＡＰＥに入力された場合には、ＡＰＥが文字列解析処理等を行い、出力テキストとして、「ｃｈａｒａｃｔｅｒ：ｔａｌｋ（ｎａｍｅ＝ＣｈａｒａｃｔｅｒＡ，ｔｅｘｔ＝“こんにちは”）」というＴＶＭＬスクリプトを出力することができる。
【０００４】
また、上述した従来技術では、スクリプトを映像コンテンツ生成エンジン（以下、ＴＶＭＬプレイヤー（Ｐｌａｙｅｒ）という）等に入力することで、台本にあった映像コンテンツを生成し、ユーザに提示している。このような仕組みにより、映像コンテンツ制作の経験や技術、ＣＧに関する技術や知識が無くても、誰でも簡単に映像コンテンツを制作することができるようになっている。
【０００５】
なお、これらの技術は、上述したＡＰＥを予め映像コンテンツ制作の専門家が製作し、コンテンツを制作する人（制作者）に供給することで実現している。つまり、ＡＰＥは、専門家が予め制作した複数のテンプレートの中から制作者による台本の記述に適するものを選択して対応するスクリプトを生成する仕組みである（以下の説明では、上記仕組みを「テンプレート置換型処理」という。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４０１７２９０号公報
【特許文献２】特許第４２７６３９３号公報
【非特許文献】
【０００７】
【非特許文献１】Ｈａｙａｓｈｉ，Ｄｏｕｋｅ，Ｈａｍａｇｕｃｈｉ，“Ａｕｔｏｍａｔｉｃ  ＴＶ  Ｐｒｏｇｒａｍ  Ｐｒｏｄｕｃｔｉｏｎ  ｗｉｔｈ  ＡＰＥｓ”，Ｃ５  Ｔｈｅ  Ｓｅｃｏｎｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｒｅａｔｉｎｇ，Ｃｏｎｎｅｃｔｉｎｇ  ａｎｄ  Ｃｏｌｌａｂｏｒａｔｉｎｇ  ｔｈｒｏｕｇｈ  Ｃｏｍｐｕｔｉｎｇ  Ｃｏｎｆｅｒｅｎｃｅ，Ｐｒｏｃｅｅｄｉｎｇｓ  ｐｐ．１８−２３（２００４．１）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、上述したテンプレート置換型処理は、その仕組みが単純であるため、ＡＰＥそのものの制作コストを低く抑えることができる。しかしながら、再生中の番組の状況に応じてＴＶＭＬスクリプトを柔軟に生成する機能を持たないため、簡単な記述から状況に応じた高度な演出を付加することはできない。
【０００９】
なお、上記の対策として、ＴＶＭＬプレイヤーのリアルタイム内部状態やＣＧキャラクタデータに付加されたメタデータを用いて、再生中の映像コンテンツの状況に応じて適切なＴＶＭＬスクリプトを柔軟に生成する機能を持つＡＰＥに関する技術が本出願人により出願されている（特願２００９−１８７９８９号：２００９年８月１４日出願）（以下の説明では、上記仕組みを「逐次型処理」という。）。この手法により、制作者の指示によらずに、動作オブジェクトとその他のオブジェクトとの現時点での状況に応じて適切な動作を演出することができ、簡単な台本の記述から状況に応じた高度な演出を付加することができる。しかしながら、逐次型処理では、ＡＰＥそのものの仕組みが複雑となる場合もあり、ＡＰＥ自体の制作コストがかかる恐れがある。
【００１０】
更に、上述したテンプレート置換型処理と逐次型処理は、仕組みそのものが異なるため単純に２つの型の処理を接続することができず、効率的に番組の制作を行う手法が確立されていなかった。
【００１１】
本発明は、上述した問題点に鑑みなされたものであり、番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うための番組制作装置及び番組制作プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
【００１３】
請求項１に記載された発明は、少なくとも番組内容の実体データである内容情報と、番組に与える演出・効果を示す演出情報とを含んだ台本データに対応した番組コンテンツを制作する番組制作装置において、予め蓄積されたテンプレートの内容を前記台本データの記述内容で置換し、予め設定される番組構成内容に対応する演出内容を含む番組情報を生成する第１の番組構成手段と、前記第１の番組構成手段により生成された前記演出内容を含む番組情報に基づいてテンプレート置換型のＴＶＭＬスクリプトを生成する第１の番組スクリプト生成手段と、前記台本データの記述内容を解析する台本解析手段と、前記台本解析手段により解析された台本データの記述内容に動作オブジェクトが含まれる場合には、前記動作オブジェクトに対する目的動作を行うために前記番組に含まれる他のオブジェクトに対応した詳細動作情報を設定する詳細動作設定手段と、前記詳細動作設定手段により設定された詳細動作情報と、予め設定された前記台本データと、予め蓄積された制作モジュール群と、予め蓄積された雛形スクリプト群とに基づいて、前記雛形ＴＶＭＬスクリプト群から前記台本データに対応する番組内容のＴＶＭＬスクリプトを取得し、取得した所定のＴＶＭＬスクリプトに基づいて番組構成内容に対応する演出内容を含む番組情報を生成する第２の番組構成手段と、前記第２の番組構成手段により生成された前記演出内容を含む番組情報に基づいて逐次型のＴＶＭＬスクリプトを生成する第２の番組スクリプト生成手段と、前記第１のスクリプト生成手段及び前記第２のスクリプト生成手段から得られる前記テンプレート置換型のＴＶＭＬスクリプト又は前記逐次型のＴＶＭＬスクリプトの何れかを再生し、再生された番組を表示する再生表示手段と、前記台本データに含まれる前記演出情報毎に付加された識別情報に基づいて、前記第１の番組スクリプト生成手段又は前記第２の番組スクリプト生成手段の何れかを選択して前記テンプレート置換型のＴＶＭＬスクリプト又は前記逐次型のＴＶＭＬスクリプトの何れかを取得し、取得したＴＶＭＬスクリプトを前記再生表示手段に出力する番組制作処理制御手段と、を有することを特徴とする。
【００１４】
請求項１記載の発明によれば、番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うことができる。
【００１５】
請求項２に記載された発明は、前記第２のスクリプト生成手段は、前記台本データに対応する前記逐次型のＴＶＭＬスクリプトの生成が継続している場合、前記ＴＶＭＬスクリプトに継続通知情報を付加することを特徴とする。
【００１６】
請求項２記載の発明によれば、継続通知情報を用いて複数の異なる仕組みを用いて生成されたスクリプトの再生を制御することができる。
【００１７】
請求項３に記載された発明は、前記番組制作処理制御手段は、前記第２のスクリプト生成手段により得られるＴＶＭＬスクリプトに前記継続通知情報が含まれる場合、前記第１の番組スクリプト生成手段により得られるＴＶＭＬスクリプトを前記再生表示手段に出力しないことを特徴とする。
【００１８】
請求項３記載の発明によれば、継続通知情報を用いて複数の異なる仕組みを用いて生成されたスクリプトの再生を正確に行うことができる。
【００１９】
請求項４に記載された発明は、前記再生表示手段により出力される画像から前記番組のリアルタイム情報を取得するリアルタイム情報取得手段と、前記動作オブジェクト及び前記他のオブジェクトに対して予め設定された属性情報を取得するオブジェクト属性情報取得手段とを有し、前記リアルタイム情報取得手段により得られる前記動作オブジェクトのリアルタイム情報と、前記オブジェクト属性情報取得手段により得られるオブジェクト毎の属性情報とに基づいて前記詳細動作情報を設定し、前記第２のスクリプト生成手段は、前記詳細動作情報に基づいて前記逐次型のＴＶＭＬスクリプトの生成が継続しているか否かを判断することを特徴とする。
【００２０】
請求項４記載の発明によれば、リアルタイム情報やオブジェクト毎の属性情報に基づいて設定される詳細情報を用いて継続通知情報をＴＶＭＬスクリプトに付加するか否かの判断を的確に行うことができる。
【００２１】
請求項５に記載された発明は、前記番組制作処理制御手段は、前記台本データに含まれる動作対象のＣＧキャラクタが異なる場合、各ＣＧキャラクタに対する演出情報に対するＴＶＭＬスクリプトを、前記第１の番組スクリプト生成手段又は前記第２の番組スクリプト生成手段により同時に生成させることを特徴とする。
【００２２】
請求項５記載の発明によれば、複数のＣＧキャラクタに対する制御を効率的に行うことができる。
【００２３】
請求項６に記載された発明は、少なくとも番組内容の実体データである内容情報と、番組に与える演出・効果を示す演出情報とを含んだ台本データに対応した番組コンテンツを制作するための番組制作プログラムにおいて、コンピュータを、予め蓄積されたテンプレートの内容を前記台本データの記述内容で置換し、予め設定される番組構成内容に対応する演出内容を含む番組情報を生成する第１の番組構成手段、前記第１の番組構成手段により生成された前記演出内容を含む番組情報に基づいてテンプレート置換型のＴＶＭＬスクリプトを生成する第１の番組スクリプト生成手段、前記台本データの記述内容を解析する台本解析手段、前記台本解析手段により解析された台本データの記述内容に動作オブジェクトが含まれる場合には、前記動作オブジェクトに対する目的動作を行うために前記番組に含まれる他のオブジェクトに対応した詳細動作情報を設定する詳細動作設定手段、前記詳細動作設定手段により設定された詳細動作情報と、予め設定された前記台本データと、予め蓄積された制作モジュール群と、予め蓄積された雛形スクリプト群とに基づいて、前記雛形ＴＶＭＬスクリプト群から前記台本データに対応する番組内容のＴＶＭＬスクリプトを取得し、取得した所定のＴＶＭＬスクリプトに基づいて番組構成内容に対応する演出内容を含む番組情報を生成する第２の番組構成手段、前記第２の番組構成手段により生成された前記演出内容を含む番組情報に基づいて逐次型のＴＶＭＬスクリプトを生成する第２の番組スクリプト生成手段、前記第１のスクリプト生成手段及び前記第２のスクリプト生成手段から得られる前記テンプレート置換型のＴＶＭＬスクリプト又は前記逐次型のＴＶＭＬスクリプトの何れかを再生し、再生された番組を表示する再生表示手段、及び、前記台本データに含まれる前記演出情報毎に付加された識別情報に基づいて、前記第１の番組スクリプト生成手段又は前記第２の番組スクリプト生成手段の何れかを選択して前記テンプレート置換型のＴＶＭＬスクリプト又は前記逐次型のＴＶＭＬスクリプトの何れかを取得し、取得したＴＶＭＬスクリプトを前記再生表示手段に出力する番組制作処理制御手段として機能させる。
【００２４】
請求項６記載の発明によれば、番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うことができる。また、実行プログラムをコンピュータにインストールすることにより、容易に番組制作処理を実現することができる。
【発明の効果】
【００２５】
本発明によれば、番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うことができる。
【図面の簡単な説明】
【００２６】
【図１】番組制作装置の機能構成の一例を示す図である。
【図２】台本及びスクリプトの一例を示す図である。
【図３】番組制作処理制御手段における機能を具体的に説明するための図である。
【図４】本実施形態における番組制作処理手順の一例を示すフローチャートである。
【図５】混成型ＡＰＥのスクリプト生成の具体例を説明するための図である。
【図６】逐次型処理用ＡＰＥが台本記述から番組を生成するまでの前処理過程の具体的な動作例を示す図である。
【図７】逐次型処理用ＡＰＥにおける番組の具体例及び各要素動作生成により実行される動作遷移を説明するための図である。
【図８】図７に対応する動作遷移における番組制作処理手順の一例を示すフローチャートである。
【図９】番組制作処理制御手段における制御内容の具体例を説明するための図である。
【図１０】出演者が複数いる場合の台本記述例を示す図である。
【図１１】割込み処理について説明するための図である。
【図１２】割込み処理における番組制作処理制御手段の制御内容を説明するための図である。
【発明を実施するための形態】
【００２７】
＜本発明について＞
本発明は、例えばＣＧをベースとした番組等の映像コンテンツの生成を対象とし、その中で台本を基に映像コンテンツを生成する仕組みにおいて、テンプレート置換型処理による映像コンテンツ生成の仕組みと、再生状態をリアルタイム取得し、この情報を基に状況に応じた映像コンテンツを自動的に生成する逐次型処理による映像コンテンツ生成の仕組みとを混成可能とした新たな仕組みを提供する。
【００２８】
以下に、上述したような特徴を有する本発明における番組制作装置及び番組制作プログラムを好適に実施した形態について、図面を用いて詳細に説明する。
【００２９】
なお、本実施形態では、制作するコンテンツの一例として番組を用いることとし、また番組の制作や提示等に用いられるスクリプトの一例としてＴＶＭＬを用いることとするが、本発明においてはこれに限定されず、他の映像コンテンツやスクリプトを用いてもよい。
【００３０】
＜番組制作装置：概略構成例＞
図１は、番組制作装置の機能構成の一例を示す図である。図１に示す番組制作装置１０は、ＡＰＥドライバとしての番組制作処理制御手段１１と、第１の番組構成手段１２と、制作モジュール群１３−１，１３−２と、雛形ＴＶＭＬスクリプト１４−１，１４−２と、第１の番組スクリプト生成手段１５と、台本解析手段１６と、目的動作設定手段１７と、詳細動作設定手段１８と、第２の番組構成手段１９と、第２の番組スクリプト生成手段２０と、リアルタイム情報取得手段２１と、オブジェクト属性情報取得手段２２とを有するよう構成されている。
【００３１】
なお、図１の例では、第１の番組スクリプト生成手段１５及び第２の番組スクリプト生成手段２０にて生成されたスクリプトから番組の内容をユーザ等に表示するためのＴＶＭＬプレイヤー２３と、オブジェクト属性情報取得手段２２にて必要な本実施形態に係る各種情報を取得するオブジェクト属性情報２４とが番組制作装置１０に接続されている。なお、ＴＶＭＬプレイヤー２３及びオブジェクト属性情報２４は、番組制作装置１０内に具備されていてもよい。
【００３２】
番組制作処理制御手段１１は、入力データとして取得される番組制作者等が制作した番組に対する台本データから、演出情報毎（例えば、１文章、１行等）に読み出し、その内容毎に予め設定された複数の異なる番組スクリプト生成処理のうち、どの処理にスクリプトを生成させるかを判断する。具体的には、番組制作処理制御手段１１は、テンプレート置換型処理を行うか又は逐次型処理を行うかを判断し、その判断結果から対応する処理にその台本データ（例えば、１文章）を出力する。
【００３３】
具体的には、番組制作処理手段１１は、予め設定された台本データの文章等に付加されている識別情報、又は予め設定される基準文章或いは所定のキーワードに基づいて対応する処理の選択を行う。例えば、入力された台本データに含まれる判断対象の文章が括弧書きで書かれている場合には、その内容のスクリプト生成を逐次型処理で行い、それ以外の場合にはテンプレート置換型処理を行う。
【００３４】
なお、本発明においてＡＰＥ処理を選択するための判断基準は、これに限定されるものではなく、例えばある特定の記号やタグ、フラグ、数字、単語等を台本に記述しておいてもよい。つまり、番組制作処理制御手段１１において、台本データから選択されるＡＰＥ処理が３つ以上ある場合には、それぞれのＡＰＥ処理に対する識別情報を設定しておき、その設定された識別情報を台本に付加する。これにより、番組制作処理手段１１は、その識別情報の内容に基づいて、予め設定された対応するＡＰＥ処理を選択することができる。
【００３５】
なお、本実施形態における台本データは、少なくとも番組内容の実体データである内容情報や、番組に与える演出・効果を示す演出情報等を含んだ番組用の台本データであるが、本発明における台本データはこれに限定されるものではなく、例えば番組の構成順序を示す構成情報等が含まれていてもよい。また、上述した内容情報とは、台本データに記述された演出以外の情報であり、具体的には、番組のタイトルやＣＧキャラクタのセリフ、番組内で使用される動画、静止画、音楽等の各ファイル名等の実体データである。
【００３６】
更に、番組制作処理制御手段１１は、後述する第１の番組スクリプト生成手段１５及び第２の番組スクリプト生成手段２０により生成されたＴＶＭＬスクリプトを取得し、取得したＴＶＭＬスクリプトを予め設定された条件に基づいて、所定のタイミングでＴＶＭＬプレイヤー２３に出力する。
【００３７】
具体的には、番組制作処理制御手段１１は、第２の番組スクリプト生成手段２０により生成されたＴＶＭＬスクリプトの中に、スクリプトの継続通知を示す信号が含まれる場合には、台本に記述された現在演出している演出内容の次に記述された演出内容に対する処理を行わない。つまり、継続通知を受信している間は、第２の番組スクリプト生成手段２０により生成されたＴＶＭＬスクリプトの処理を行う。一方、番組制作処理制御手段１１は、継続通知を示す信号が含まれなくなった場合に、次の演出内容に対する処理を行うようにする。
【００３８】
番組制作処理制御手段１１は、ＴＶＭＬスクリプトを出力した後、台本データの次の演出内容を読み出し、台本の全ての内容が終了するまで上述の処理を行う。
【００３９】
第１の番組構成手段１２は、番組制作処理制御手段１１により得られる台本データに基づいてテンプレート置換型処理を行う。具体的には、第１の番組構成手段１２は、番組制作処理制御手段１１により得られる台本データを入力し、入力された台本データに対応して番組を構成するため、予め設定された多数の制作モジュール群１３−１の中から所定のモジュールのテンプレートを抽出し、更に、前記台本データに対応する番組内容を予め設定された多数の雛形ＴＶＭＬスクリプト群１４−１から所定のＴＶＭＬスクリプトのテンプレートを取得して、得られた内容に基づいて番組構成内容に対応する番組情報を生成する。また、第１の番組構成手段１２は、生成された番組情報を第１の番組スクリプト生成手段１５に出力する。
【００４０】
ここで、制作モジュール群１３−１に含まれるデータ例としては、例えば番組制作スタジオであれば、照明生成、セット生成、カメラ動作、キャラクタ動作、ナレーション生成等の多種多様な分野の番組を生成するために必要となる各種データ等が含まれる。また、制作モジュール群１３−１には、その他の映像コンテンツを実現するための各種データが含まれる。更に、雛形ＴＶＭＬスクリプト群１４−１に含まれるデータ例としては、例えば前記制作モジュール群１３−１に含まれる番組制作用のデータに対応する各種ＴＶＭＬスクリプト等が含まれる。
【００４１】
第１の番組スクリプト生成手段１５は、第１の番組構成手段１２により得られる番組情報に対してＴＶＭＬプレイヤー２３で再生可能なＴＶＭＬスクリプトを生成する。具体的には、第１の番組構成手段１２により得られたテンプレートの内容の一部（変数部）を台本データの記述内容で置換してＴＶＭＬスクリプトを生成する。また、第１の番組スクリプト生成手段１５は、生成された番組スクリプトを映像コンテンツ生成エンジンであり、生成された番組用のＴＶＭＬスクリプトを番組制作処理制御手段１１に出力する。
【００４２】
また、台本解析手段１６は、番組制作処理制御手段１１から得られる台本データの内容を解析し、予め設定された動作オブジェクトに関する記述があるか否かを判断する。
【００４３】
また、台本解析手段１６において、台本データに動作オブジェクトが含まれているか否かの判断は、例えば台本に記述された文章を一般的な形態素解析プログラム等を用いた言語解析手法等により解析し、その文章の中から動詞又はそれに類似する記述を含んでいるか否かで判断する。また、台本解析手段１６は、台本に動作オブジェクトの設定がある場合には、その台本データを目的動作設定手段１７に出力する。また、台本解析手段１６は、台本に動作オブジェクトの設定がない場合には、その台本データを第２の番組構成手段１９に出力する。
【００４４】
なお、台本解析手段１６は、ある一つの台本データの一部に動作オブジェクトを含む場合には、その部分のみを抽出して目的動作設定手段１７に出力し、その他の台本データを第２の番組構成手段１９に出力してもよい。
【００４５】
目的動作設定手段１７は、台本解析手段１６において、動作オブジェクトが含まれていると判断した台本データ中の文章を言語解析し、その動作オブジェクトが行う最終目的までの動作（スタートからゴールまで、又は、幾つかの動作を経由した状態からゴールまで）を設定する。また、目的動作設定手段１７は、設定された目的動作情報を詳細動作設定手段１８に出力する。
【００４６】
詳細動作設定手段１８は、目的動作設定手段１７により得られる目的動作情報を実現するための各要素動作を設定する。なお、詳細動作設定手段１８は、各要素動作を生成するために必要な情報として、リアルタイム情報取得手段２１から得られるＴＶＭＬプレイヤー２３が表示する番組の内部状態、及びＣＧキャラクタ等のオブジェクト属性情報取得手段２２から得られる各動作オブジェクトに対する属性情報を取得し、これらの情報に基づいて各動作を生成するＴＶＭＬスクリプトを生成する。
【００４７】
また、詳細動作設定手段１８は、オブジェクト属性情報取得手段２２により得られるオブジェクト毎の属性情報に基づいて、動作オブジェクトと他のオブジェクト（動作の有無は問わない）との組み合わせによる、それぞれの動作内容を設定する。また、詳細動作設定手段１８は、設定された詳細動作設定情報を第２の番組構成手段１９に出力する。
【００４８】
第２の番組構成手段１９は、台本解析手段１６から得られる動作オブジェクトを含まない台本データ、及び詳細動作設定手段１８から得られる動作オブジェクトを含む台本データを入力し、番組を構成する。具体的には、第２の番組構成手段１９は、入力される台本データに対応して番組を構成するために、予め設定された多数の制作モジュール群１３−２の中から所定のモジュールを抽出する。
【００４９】
更に、第２の番組構成手段１９は、入力される前記台本データに対応する番組内容を予め設定された多数の雛形ＴＶＭＬスクリプト群１４−２から所定のＴＶＭＬスクリプトを取得し、取得した内容に基づいて番組構成内容に対応する番組情報を生成する。また、第２の番組構成手段１９は、生成された番組情報を第２の番組スクリプト生成手段２０に出力する。
【００５０】
ここで、制作モジュール群１３−２及び雛形ＴＶＭＬスクリプト群１４−２に含まれるデータとしては、例えば、上述した制作モジュール群１３−１及び雛形ＴＶＭＬスクリプト群１４−１に含まれるデータ例と同様のデータ項目を含めることができるが、そのデータの具体的な内容は異なっていてもよい。したがって、例えば、制作モジュール群１３−１及び雛形ＴＶＭＬスクリプト群１４−１では、本実施形態におけるテンプレート置換型処理に適したデータを多く蓄積しておき、制作モジュール群１３−２及び雛形ＴＶＭＬスクリプト群１４−２では、本実施形態における逐次型処理に適したデータを多く蓄積しておくことで、各処理に適応した高精度な演出を実現することができる。
【００５１】
第２の番組スクリプト生成手段２０は、第２の番組構成手段１９により得られる番組情報に対してＴＶＭＬプレイヤー２３で再生可能なＴＶＭＬスクリプトを生成する。また、第２の番組スクリプト生成手段２０は、台本データに対応する演出動作がまだ継続中の場合には、その旨を示す継続情報をＴＶＭＬスクリプトに付加する。
【００５２】
これにより、番組制作処理制御手段１１は、第２の番組スクリプト生成手段２０から得られるＴＶＭＬスクリプトにおける上述した継続情報の有無によって、ＴＶＭＬプレイヤー２３に出力するスクリプトの内容やタイミングを制御することができる。
【００５３】
また、第２の番組スクリプト生成手段２０は、生成された番組スクリプトを映像コンテンツ生成エンジンであり、生成された番組用のＴＶＭＬスクリプトを番組制作処理制御手段１１に出力する。
【００５４】
リアルタイム情報取得手段２１は、ＴＶＭＬプレイヤー２３で再生された番組の画像、又は、その再生中の画像に対応する実行中のＴＶＭＬスクリプトをリアルタイムに取得する。また、リアルタイム情報取得手段２１は、取得した番組の画像、若しくは、ＴＶＭＬスクリプト画像中に含まれるキャラクタ等の動作オブジェクトに対して、現時点の動作内容を生成するＴＶＭＬプレイヤー２３から動作オブジェクトの動作や位置情報、状態等を取得する。
【００５５】
また、リアルタイム情報取得手段２１は、取得したデータを時間情報と対応付けて詳細動作設定手段１８に出力する。
【００５６】
ここで、ＴＶＭＬプレイヤー２３から取得するリアルタイム情報とは、例えば、「出演者のＩＤ」、「出演者の位置」、「出演者の外接直方体の頂点座標」、「小道具（配置物）のＩＤ」、「小道具の位置」、「小道具の外接直方体の頂点座標」等をいう。本発明においては、このようなリアルタイム情報としてスクリプトに記載されたあらゆる情報、又は番組再生により表示された番組の画像データから得られる情報をも利用することができる。
【００５７】
オブジェクト属性情報取得手段２２は、詳細動作設定手段１８における問い合わせに対して、その問い合わせ情報に含まれる１又は複数の動作オブジェクトに対応する各オブジェクト属性情報を、予め設定されたオブジェクト属性情報２４から取得し、取得した属性情報を詳細動作設定手段１８に出力する。
【００５８】
ＴＶＭＬプレイヤー２３は、番組制作処理制御手段１１から得られる第１の番組スクリプト生成手段１５や第２の番組スクリプト生成手段２０により生成されたＴＶＭＬスクリプトに基づいて番組を再生した番組をディスプレイに表示し、スピーカ等により音声を出力するための再生表示手段である。また、ＴＶＭＬプレイヤー２３は、表示している画像情報をリアルタイム情報取得手段２１に出力する。また、ＴＶＭＬプレイヤー２３は、表示している画像情報に対応したＴＶＭＬスクリプトをリアルタイム情報取得手段２１に出力してもよい。
【００５９】
オブジェクト属性情報２４とは、例えば机や椅子、ＣＧキャラクタや壁等の番組における仮想空間上に存在する各オブジェクトに対して、それぞれがどのような形状であり、またどの程度の大きさ等の物体情報や、各動作オブジェクトが各条件に応じてどのような動作を行うか等のルール情報等の各種データを含んだデータベースである。
【００６０】
ここで、オブジェクト属性情報２４におけるＣＧキャラクタデータ等の属性情報記述例としては、例えば、「ＣＧキャラクタデータ名称」、「用途：デスクワーク」、「用途：物を置く」、「座れない」、「方向性あり」、「高さ：１．０ｍ」等がある。なお、本発明においてはこれに限定されない。
【００６１】
なお、上述の例をスクリプトで表記すると、
「＜？ｘｍｌ  ｖｅｒｓｉｏｎ＝“１．０”  ｅｎｃｏｄｉｎｇ＝“ｕｆｔ−８”？＞
＜ａｔｔｒｉｂｕｔｅ＞
＜ｎａｍｅ＞ｔａｂｌｅ＜／ｎａｍｅ＞
＜ｕｓｅ＞ｄｅｓｋｗｏｒｋ＜／ｕｓｅ＞
＜ｕｓｅ＞ｐｕｔ＜／ｕｓｅ＞
＜ｓｉｔ＞ｆａｌｓｅ＜／ｓｉｔ＞
＜ｄｉｒｅｃｔｉｏｎ＞ｔｒｕｅ＜／ｄｉｒｅｃｔｉｏｎ＞
＜ｈｅｉｇｈｔ＞１．０＜／ｈｅｉｇｈｔ＞
＜／ａｔｔｒｉｂｕｔｅ＞」
と生成される。
【００６２】
上述した処理により、上述したテンプレート置換型処理と逐次型処理を接続することができ、番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うことができる。
【００６３】
なお、図１に示す構成図では、テンプレート置換型処理と、逐次型処理とを明確に区別するために番組構成手段と番組スクリプト生成手段をそれぞれ分けて構成されているが、本発明においてはこれに限定されるものではなく、例えば第１の番組構成手段１２と第２の番組構成手段１９とを１つの番組構成手段として一体に構成してもよく、また第１の番組スクリプト生成手段１５と第２の番組スクリプト生成手段２０とを１つの番組スクリプト生成手段として一体に構成してもよい。更に、図１に示す制作モジュール群１３−１と制作モジュール群１３−２とを一体にしてもよく、雛形ＴＶＭＬスクリプト群１４−１と雛形ＴＶＭＬスクリプト群１４−１とを一体にしてもよい。
【００６４】
＜処理動作の具体例＞
次に、上述した番組制作装置１０の各機能構成に基づく処理動作の具体例について説明する。
【００６５】
通常、上述したＡＰＥのテンプレート置換型処理と逐次型処理とを単純に混成した場合は、逐次処理型の終了が何時になるのか分からない。そのため、次の処理へ進めることができない。ここで、上記内容を具体的に説明する。図２は、台本及びスクリプトの一例を示す図である。なお、図２（ａ）は、台本の一例を示し、図２（ｂ）は、図２（ａ）に対応するスクリプトの一例を示している。また、図２（ａ），（ｂ）の左側には、説明を容易にするため行番号が付している。なお、後述する説明で略同様の図面を示す場合にも必要に応じて行番号を付すものとする。
【００６６】
図２（ａ）に示す台本では、（０１）行目に演出情報として逐次型処理が必要な動作が記述され、（０２）行目に内容情報として出演者がしゃべる動作（セリフ）が記述されている。つまり、（０２）行目の台本はＣＧキャラクタＡがしゃべるだけなので上述した逐次型処理用のＡＰＥを容易する必要はなく、テンプレート置換型処理で十分である。しかしながら、上述したように（０１）行目から（０２）行目に移るときに逐次型処理とテンプレート置換型処理との間で処理を変更する場合に、従来では、（０１）行目の動作を生成するＴＶＭＬスクリプトがいつ終了するかが分からなかった。したがって、（０２）行目の再生を適切な位置（例えば、部屋から出ていった後）ですることができない。
【００６７】
そこで、上述した本実施形態に示すように、複数のＡＰＥ処理（例えば、逐次型処理用ＡＰＥ、テンプレート置換型処理用ＡＰＥ）を制御するＡＰＥドライバとして、上述した番組制作処理制御手段１１としての外部アプリケーションを設ける。ここで、図３は、番組制作処理制御手段における機能を具体的に説明するための図である。
【００６８】
ここで、本実施形態におけるテンプレート置換型処理は、例えば上述した図１における第１の番組構成手段１２、及び第１の番組スクリプト生成手段１５等に相当する。また、本実施形態における逐次型処理は、例えば上述した図１における台本解析手段１６、目的動作設定手段１７、詳細動作設定手段１８、第２の番組構成手段１９、第２の番組スクリプト生成手段２０、リアルタイム情報取得手段２１、及びオブジェクト属性情報取得手段２２等に相当する。
【００６９】
つまり、番組制作処理制御手段１１は、図３に示すように、例えば入力されたＡＰＥスクリプト（台本）に対して、その演出内容（例えば、１行）毎に解析し、予め設定されたテンプレート置換型処理又は逐次型処理のうち何れかを選択し、選択した何れか一方に該当ＡＰＥスクリプトを出力する出力制御制御を行う。
【００７０】
また、番組制作処理制御手段１１は、テンプレート置換型処理又は逐次型処理から得られる該当ＡＰＥスクリプトに対応した該当ＴＶＭＬスクリプトを受信制御する。更に、番組制作処理制御手段１１は、逐次型処理におけるＴＶＭＬスクリプトの出力であって、スクリプト生成が継続している場合に、その継続通知を受信し、その受信内容によってＴＶＭＬプレイヤー２３に出力するＴＶＭＬスクリプトの種類やタイミング等を制御する。なお、上述した継続通知は、本発明においてはこれに限定されず、逐次型処理においてスクリプトの生成を継続しなくなったときにその終了通知を番組制作処理制御手段１１に出力し、その終了通知により対応する制御を行ってもよい。
【００７１】
また、本実施形態において、上述した継続通知や終了通知は、番組制作処理制御手段１１において、ＴＶＭＬプレイヤー２３にＴＶＭＬスクリプトを出力する際の判断基準として用いられるものであるため、これらの情報は、ＴＶＭＬプレイヤー２３に送らなくてもよい。
【００７２】
＜全体の処理手順とその具体例＞
次に、上述した機能構成を用いた本実施形態における処理手順と、その具体例について説明する。図４は、本実施形態における番組制作処理手順の一例を示すフローチャートである。図４において、まず台本データを入力すると（Ｓ０１）、上述したように番組制作処理制御手段１１において、その台本データを１行ずつ読み込み、その内容からテンプレート置換型処理を行うか、又は逐次型処理を行うかを判断する（Ｓ０２）。ここで、逐次型処理を行う場合、その１行分の台本を解析し（Ｓ０３）、動作オブジェクトが有るか否かを判断する（Ｓ０４）。
【００７３】
ここで、動作オブジェクトが有る場合（Ｓ０４において、ＹＥＳ）、目的動作を設定し（Ｓ０５）、更に詳細動作を設定する（Ｓ０６）。ここで、Ｓ０５の処理においては、上述したようにリアルタイム情報、オブジェクト属性情報を取得する。また、Ｓ０５の処理が終了後又はＳ０４の処理において、動作オブジェクトが無い場合（Ｓ０４において、ＮＯ）、台本のデータに基づいて番組を構成し（Ｓ０７）、Ｓ０７の処理結果から番組スクリプトを生成する（Ｓ０８）。
【００７４】
また、生成された番組スクリプトに基づいて番組を再生し、ユーザ等に表示する（Ｓ０９）。次に、表示されているリアルタイム情報を取得し（Ｓ１０）、スクリプトが終了しているか否かを判断する（Ｓ１１）。ここで、スクリプトにおける動作がまだ終了していない場合（Ｓ１１において、ＮＯ）、Ｓ０６に戻り、リアルタイム情報に基づく新たな詳細動作を設定して以降の処理を行う。なお、Ｓ１０の処理では、リアルタイム情報の他にオブジェクト属性情報も取得しておき、Ｓ０６の処理において、リアルタイム情報とオブジェクト毎の属性情報とに基づいて新たな詳細動作を設定してもよい。
【００７５】
また、上述したＳ０２の処理において、テンプレート置換型処理の場合、入力された台本のデータに基づいて番組を構成し（Ｓ１２）、Ｓ１２の処理結果から番組スクリプトを生成する（Ｓ１３）。また、生成された番組スクリプトに基づいて番組を再生し、ユーザ等に表示する（Ｓ１４）。
【００７６】
ここで、Ｓ１１の処理において、スクリプトが終了の場合（Ｓ１１において、ＹＥＳ）、又はＳ１４の処理が終了後、台本中にまだ処理されていないデータがあるか否か、つまり、台本データの入力が終了か否かを判断し（Ｓ１５）、終了しない場合（Ｓ１５において、ＮＯ）、Ｓ０１に戻り、次の台本データを入力して後続の処理を行う。また、処理を終了する場合（Ｓ１５において、ＹＥＳ）、番組制作処理を終了する。上述した番組制作処理手順により、番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うことができる。
【００７７】
次に、上述した番組制作処理手順に対応した具体例について説明する。図５は、混成型ＡＰＥのスクリプト生成の具体例を説明するための図である。なお、図５の例では、図２（ａ）に示した台本データについて、本実施形態を適用して混成型ＡＰＥにより処理した例を示している。具体的には、図５に示す混成型ＡＰＥによるＴＶＭＬスクリプト生成例では、出演者であるＣＧキャラクタＡが部屋から出て行った後に「さようなら」というセリフをいわせるものである。
【００７８】
ＡＰＥドライバである番組制作処理制御手段１１は、外部から映像コンテンツの台本（ＡＰＥスクリプト）の一式を受け取る。ここでは、図２（ａ）に示す台本データを受け取る。次に、受け取ったＡＰＥスクリプトを頭から順次ＡＰＥに対して送信する。ここで、台本の（０１）行目が“（部屋から出ていく）”という記述になっており、予め設定された条件により、上記データを逐次処理型ＡＰＥに送信する。
【００７９】
逐次処理型ＡＰＥでは、予め設定されるＴＶＭＬプレイヤー２３の内部情報やＣＧデータの付加情報、動作ルール等に従って、目的となる動作を生成するＴＶＭＬスクリプト（図５の例では、ｃｈａｒａｃｔｅｒ：ｗａｌｋ（ｎａｍｅ＝Ａ，ｘ＝１，ｚ＝１））を生成する。動作が終了していない間は、スクリプト生成が継続するため、図５に示すように生成するスクリプトの最後の行にＴＶＭＬスクリプト生成が継続中である旨を示す識別情報である文字列（例えば、“ｓｃｒｉｐｔ＿ｃｏｎｔｉｎｕｅ”）を継続通知として付加する。なお、付加する場所は、本発明においてはこれに限定されるものではなく、例えば、ＴＶＭＬスクリプトの最初の行でもよく、その他、ＴＶＭＬスクリプト中であればどこでもよい。
【００８０】
番組制作処理制御手段１１は、受け取ったＴＶＭＬスクリプトをＴＶＭＬプレイヤー２３へ送信する。また、番組制作処理制御手段１１は、送信後、次のＴＶＭＬスクリプトがＡＰＥから送信されるのを待つ。つまり、動作が終了するまで、リアルタイム情報を見ながら最後のスクリプトが生成されるまで、繰り返し処理を行う。
【００８１】
ここで、逐次型処理において、ある動作を生成する最後のＴＶＭＬスクリプトを生成した場合は、何も追加せずに番組制作処理制御手段１１にＴＶＭＬスクリプトを送信する。つまり、上述した継続中である旨を示す文字列（例えば、“ｓｃｒｉｐｔ＿ｃｏｎｔｉｎｕｅ”）は付加しない。
【００８２】
また、番組制作処理制御手段１１は、受け取ったＴＶＭＬスクリプトをＴＶＭＬプレイヤー２３に送信し、次のＡＰＥスクリプトを該当するＡＰＥ処理（テンプレート置換型処理へ送信する。
【００８３】
テンプレート置換型処理では、一度の処理で全てのＴＶＭＬスクリプト（図５の例では、ｃｈａｒａｃｔｅｒ：ｔｅｘｔ（ｎａｍｅ＝Ａ，ｔｅｘｔ＝“さようなら”））を生成し、生成したＴＶＭＬスクリプトを番組制作処理制御手段１１に送信する。番組制作処理制御手段１１は、このＴＶＭＬスクリプトをＴＶＭＬプレイヤー２３に送信し、台本中の次のＡＰＥスクリプトの処理に進む。
【００８４】
以上の実施例で述べたような仕組みを有するＡＰＥドライバ（番組制作処理制御手段１１）を実装し、逐次処理型ＡＰＥのスクリプト生成時に生成継続情報を付加する仕組みを追加することでテンプレート置換型処理用ＡＰＥの仕組みと逐次型処理用ＡＰＥの仕組みを混成した混成型ＡＰＥを実現することができる。これにより、ＡＰＥの開発コストを抑えつつ高度な演出付加が可能なＡＰＥを制作することができる。
【００８５】
＜テンプレート置換型処理と逐次型処理について＞
次に、本実施形態におけるテンプレート処理と逐次型処理について説明する。
【００８６】
＜テンプレート置換型処理の具体例＞
まず、テンプレート置換型処理の具体例について説明する。テンプレート置換型処理では、上述したように、例えば入力テキストとして「こんにちは」という文字がテンプレート置換型処理用ＡＰＥに入力された場合には、そのＡＰＥが文字列解析処理等を行い、対応するテンプレートの所定の変数と入力テキストとを置換し、例えば、出力テキストとして「ｃｈａｒａｃｔｅｒ：ｔａｌｋ（ｎａｍｅ＝ＣｈａｒａｃｔｅｒＡ，ｔｅｘｔ＝“こんにちは”）」というＴＶＭＬスクリプトを出力する。
【００８７】
＜逐次型処理の具体例＞
次に、逐次型処理の具体例について説明する。なお、具体例では、ＣＧキャラクタがドアまで歩き、ドアを開けて部屋から出ていく動作について説明する。また、番組の映像には、障害物としてのテーブルが存在する。この場合、上述した目的動作設定手段１７により設定されるＣＧキャラクタの目的動作は、
ａ）部屋の出口の方向を向き、現在位置から出口へ向かって歩く。
ｂ）途中に障害物があればよける。
ｃ）出口のドアを開けて出て行く。
となる。
【００８８】
このように、部屋の中にいるＣＧキャラクタが部屋の外へ出ていくシーンを想定した場合、「部屋から出ていく」と記述すれば自動的に該当シーンを生成してくれるのが好ましい。しかしながら、このようなシーンを生成するには上述したａ）〜ｃ）の動作を生成するＴＶＭＬスクリプトが必要となる。なお、これらを全て一つ一つ記述するのは煩雑であり、また出口や障害物の位置等、番組内の全ての状況を予め認識しておく必要がある。
【００８９】
そこで、逐次型処理の例では、制作者による番組台本入力を自動的に補間し、番組の状況に応じた動きを伴う映像コンテンツ（ＴＶＭＬスクリプト）を自動的に生成する機能を持たせるようにしている。
【００９０】
本実施形態における逐次型処理用ＡＰＥでは、「（１）入力する台本の解析」、「（２）目的となる動作の設定」、「（３）上記（２）の動作を実現するための状況の逐次把握と具体的動作の生成」に大別した各機能を有する。これらの機能を有することにより、例えば簡単な台本記述による制作手法を維持したまま、状況に応じ映像コンテンツの生成を実現することができる。
【００９１】
このため、本実施例では、図１に示すように、ＴＶＭＬプレイヤー２３における内部のリアルタイム情報、ＣＧキャラクタやスタジオセット、小道具等のＣＧキャラクタデータの属性情報（形状、種別等）を取得する構成とした。
【００９２】
ここで、図６は、逐次型処理用ＡＰＥが台本記述から番組を生成するまでの前処理過程の具体的な動作例を示す図である。図６の例では、台本記述にあるように、カメラショットを引きカメラに切り替えた後、出演者が部屋から出て行き、「どこへ行こうかな？」としゃべるシーンである。つまり、図６の例では、上述したシーンにおける台本記述「部屋から出て行く」の記載に対して、本番組制作装置が映像コンテンツを生成するための前処理過程の具体例を示している。
【００９３】
逐次型処理用ＡＰＥでは、図６に示すように、まず台本入力ツール等を用いて入力された台本記述の記述内容を解析し、最終目的までの動作（スタートからゴールまで）を決定する。次に、逐次型処理用ＡＰＥは、目的動作を実現するための各要素動作を設定する。図６の例では、「部屋から出て行く」という台本記述に対して、台本解析及び目的動作設定として「動作主：出演者」、「動作：歩く」、「場所：部屋の外」等が目的動作設定手段１７の目的動作設定ファイルに設定される。
【００９４】
また、具体的動作設定として、「動作主は出演者」であり、
１）部屋の出口の方向を向く。
２）現在位置から出口へ向かって歩く。
３）途中に障害物があればよけて出口へ向かって歩く。
４）ドアを開ける。
５）部屋の外へ出る。
等という各要素動作が設定される。
【００９５】
なお、図６の例では、補間処理として、動作主は、出演者（ＣＧキャラクタ）であり、その意味解析として「部屋の外へ出る」、「部屋の外へ歩く」という内容が取得される。また、具体的動作設定としては、予め設定されたデータベースであるオブジェクト属性情報２４等を適用することで、例えば目的位置へ歩くために必要な動作として「副目的（出口）方向を向く」、「副目的へ向かって歩く」、「障害物があればよける」、「出口が閉じている（ドア（障害物でない））が閉じていれば、一旦停止」、「ドアを開ける」、「目的地へ歩く」といった動作設定をセットで１グループ動作として設定することができる。なお、１グループとして関連付けられる動作内容については、本発明においてはこれに限定されず、複数の動作が含まれる。
【００９６】
＜各要素動作の生成例＞
次に、各要素動作の生成例について説明する。図７は、逐次型処理用ＡＰＥにおける番組の具体例及び各要素動作生成により実行される動作遷移を説明するための図である。また、図８は、図７に対応する動作遷移における番組制作処理手順の一例を示すフローチャートである。
【００９７】
本実施形態では、図７（ａ）〜（ｅ）に示すような動作を行うために、必要な情報としてＴＶＭＬプレイヤー２３の内部状態及びＣＧキャラクタの属性情報を取得し、これらの情報に基づいて各動作を生成するＴＶＭＬスクリプトを生成する。具体的には、以下に示す１）〜５）の動作について以下の処理を行う。
【００９８】
＜１）部屋の出口の方向を向く＞
まず、部屋に存在するオブジェクト（ＣＧキャラクタ，テーブル）の位置（座標）及び属性情報を取得する。次に、ドアの位置（座標）を取得し、ＣＧキャラクタを出口の方向を向かせる。
【００９９】
このとき、ａ）部屋に存在するオブジェクト（ＣＧキャラクタ，テーブル）の位置（座標）及び属性情報を取得する（Ｓ２１）。具体的には、図７（ｂ）に示すように、ＣＧキャラクタの位置をＴＶＭＬプレイヤーが再生する映像の仮想空間に設定される座標等から取得する（例えば、ｘ＝−５，ｙ（地面からの距離）＝０，ｚ＝４，ｄ（キャラクタの向き）＝０等）。また、テーブルの位置をＴＶＭＬプレイヤーから取得する（例えば、ｘ＝０，ｙ＝０，ｚ＝０等）。更に、テーブルの属性情報を取得する（例えば、座れない／方向性あり／高さ１．０ｍ等）。
【０１００】
次に、ｂ）ドアの位置（座標）を取得し，ＣＧキャラクタを出口の方向を向かせる（Ｓ２２）。具体的には、図７（ｂ）に示すように、ドアの位置をＴＶＭＬプレイヤーから取得する（例：ｘ＝５，ｙ＝０，ｚ＝−４）。つまり、この例では、スクリプトとして「ｄ１＝ｃｏｓ−１（ｂ／ｃ）」、「ｃｈａｒａｃｔｅｒ：ｔｕｒｎ（ｎａｍｅ＝ｃｈａｒａｃｔｅｒＡ，ｄ＝ｄ１）」が生成される。
【０１０１】
＜２）現在位置から出口へ向かって歩く＞
次に、ＣＧキャラクタをドアの座標に向かって歩かせる（Ｓ２３）。つまり、この例では、スクリプトとして「ｃｈａｒａｃｔｅｒ：ｗａｌｋ（ｎａｍｅ＝ｃｈａｒａｃｔｅｒＡ，ｘ＝５＋Δ，ｚ＝−４＋Δ）」が生成される。なお、上述の「△」は、ドア手前の位置を示している。
【０１０２】
＜３）途中に障害物があれば、よけて出口へ向かって歩く（図７（ｃ））＞
次に、障害物があるか否かを判断し（Ｓ２４）、テーブルの属性情報から障害物があると判断された場合（Ｓ２４において、ＹＥＳ）、テーブルの外周情報を取得して、ＣＧキャラクタをテーブルの外周に沿って歩かせてテーブルをよける動作を行う（Ｓ２５）。
【０１０３】
ここで、他の動作オブジェクトであるテーブルをよける動作の具体例として、以下の手順で行う。まず、ＣＧキャラクタを歩かせながら、常にＣＧキャラクタの外周とテーブル（障害物）の外周が重なっていないかをＴＶＭＬプレイヤーから取得する。なお、各オブジェクトの外周情報は、オブジェクト属性情報２４から取得される。次に、ＣＧキャラクタの外周座標，テーブルの外周座標から計算する。
【０１０４】
ここで、ＣＧキャラクタとテーブルがぶつかりそうになると、ＣＧキャラクタの向きをドアまでの最短ルートからテーブルにぶつからない範囲まで変更し、テーブルにぶつかるのを回避する。つまり、Ｓ２５の処理では、ＣＧキャラクタに障害物であるテーブルを避ける方向を向かせ、少し歩かせる処理を行う。
【０１０５】
なお、この例では、スクリプトとして「ｃｈａｒａｃｔｅｒ：ｔｕｒｎ（ｎａｍｅ＝ｃｈａｒａｃｔｅｒＡ，ｄ＝Δｄ）」、「ｃｈａｒａｃｔｅｒ：ｗａｌｋ（ｎａｍｅ＝ｃｈａｒａｃｔｅｒＡ，ｘ＝Δｘ，ｚ＝Δｚ）」が生成される。
【０１０６】
また、障害物がない場合（Ｓ２４において、ＮＯ）、ＣＧキャラクタがドア前に到着したか否かを判断する（Ｓ２６）。ここで、ドア前に到着してない場合（Ｓ２６において、ＮＯ）、Ｓ２３に戻り後続の処理を行う。また、ドア前に到着している場合（Ｓ２６において、ＹＥＳ）、ドアが閉じているか否かを判断する（Ｓ２７）。ここで、ドアが閉じている場合（Ｓ２７において、ＹＥＳ）、ドアを開く（Ｓ２８）。
【０１０７】
＜４）ドアを開く（Ｓ２８）、図７（ｄ）＞
Ｓ２８の処理におけるドアを開く処理では、まずＣＧキャラクタがドアの座標の直前まで歩いて停止する。つまり、ドアの前の座標をゴールとして歩かせる。この例では、スクリプトとして「ｃｈａｒａｃｔｅｒ：ｗａｌｋ（ｎａｍｅ＝ｃｈａｒａｃｔｅｒＡ，ｘ＝５＋Δ，ｚ＝−４＋Δ）」が生成される。
【０１０８】
次に、ＣＧキャラクタは、ドアを開ける動作をする（Ｓ２８）。これに合わせてドアが開く。つまり、ドアを開ける動作を行うモーションデータを使って、開ける動作を行わせる。また、ＣＧキャラクタのドアを開ける動作に合わせてドアが開く。
【０１０９】
なお、この例では、スクリプトとして「ｃｈａｒａｃｔｅｒ：ｋｅｙｆｒａｍｅ（ｎａｍｅ＝ｃｈａｒａｃｔｅｒＡ，ｋｅｙｆｒａｍｅｎａｍｅ＝ｏｐｅｎｄｏｏｒ，・・・・）」、「ｐｒｏｐ：ｔｒａｎｓｆｏｒｍ（ｎａｍｅ＝ｄｏｏｒｍｏｖｅ，・・・・）」が生成される。
【０１１０】
＜５）部屋の外に出る（Ｓ２９）、図７（ｅ）＞
次に、ドアの幅の座標を取得して，ＣＧキャラクタをこの幅の間で部屋の外の座標に向かって歩かせる（Ｓ２９）。また、歩いた後、ＣＧキャラクタの歩きを停止する。つまり、ドアの外にあるゴール（例えば、ゴールの座標、（ｇｏａｌｘ，ｇｏａｌｙ，ｇｏａｌｚ）へ向かってＣＧキャラクタを歩かせる。この例では、スクリプトとして「ｃｈａｒａｃｔｅｒ：ｗａｌｋ（ｎａｍｅ＝ｃｈａｒａｃｔｅｒＡ，ｘ＝ｇｏａｌｘ，ｙ＝ｇｏａｌｙ，ｚ＝ｇｏａｌｚ）」が生成される。
【０１１１】
なお、本実施形態では、ＣＧキャラクタが壁にぶつかりそうか否かを判断し（Ｓ３０）、壁にぶつかりそうな場合（Ｓ３０において、ＹＥＳ）、歩く方向を少し変えて歩かせて（Ｓ３１）、Ｓ２９の処理に戻り、後続の処理を行う。この例では、スクリプトとして、「ｃｈａｒａｃｔｅｒ：ｔｕｒｎ（ｎａｍｅ＝ｃｈａｒａｃｔｅｒＡ，ｄ＝Δｄ）」、「ｃｈａｒａｃｔｅｒ：ｗａｌｋ（ｎａｍｅ＝ｃｈａｒａｃｔｅｒＡ，ｘ＝Δｘ，ｚ＝Δｚ）」が生成される。なお、ドアの幅座標（出口の幅座標）は、上述したオブジェクト属性情報２４から取得する。
【０１１２】
これにより、簡易な台本記述で映像コンテンツが制作できるという制作レベルを維持したまま、高度な演出を自動的に付加した映像コンテンツの制作が可能となる。
【０１１３】
＜番組制作処理制御手段１１における制御の具体例＞
次に、番組制作処理制御手段１１における制御内容の具体例について、図を用いて説明する。図９は、番組制作処理制御手段における制御内容の具体例を説明するための図である。なお、図９（ａ）は、台本データの一例を示し、図９（ｂ）は、図９（ａ）の台本に対応する制御の内容を示している。
【０１１４】
本実施形態において、番組制作制御手段１１は、入力された台本データを１行ずつ読み込み、その内容に基づいて上述したテンプレート置換型処理用ＡＰＥで処理を行うか、逐次型処理用ＡＰＥを行うかの選択を行う。
【０１１５】
具体的には、番組制作処理制御手段１１は、台本に設定されたタグの種類により識別することができる。例えば、図９（ａ）の（０１）行目ではｔｅｘｔタグが記述されているため、この場合には、ｔｅｘｔタグに対応した処理を行う。本実施例では、ｔｅｘｔタグの場合には、図９（ｂ）の（０３）行目に示すように所定のテンプレート置換型処理用ＡＰＥ（ｔａｌｋｓｃｒｉｐｔｇｅｎｅｒａｔｉｏｎ）をコールしてテンプレート置換型処理を実行させる。
【０１１６】
また、図９（ａ）の（０２）〜（０４）行目では、ａｃｔｉｏｎタグが記述されているため、この場合は、そのタグに付加された値（ｖａｌｕｅ）によって処理を識別し、対応する処理（テンプレート置換型処理、逐次型処理）を行わせる。
【０１１７】
例えば、ａｃｔｉｏｎタグの場合に、それぞれの値に応じて処理を行わせる場合、値が“喜”であれば、例えば図９（ｂ）の（０８）行目に示すように、ＣＧキャラクタが笑顔になるＴＶＭＬスクリプトを生成する処理を行うためのテンプレート置換型処理用ＡＰＥ（ｅｘｐｒｅｓｓｉｏｎ＿ｈａｐｐｙ＿ｇｅｎｅｒａｔｉｏｎ）をコールしてテンプレート置換型処理を実行させる。また同様に、値が“おじぎ”であれば、例えば図９（ｂ）の（０９）行目に示すように、ＣＧキャラクタがおじぎをするＴＶＭＬスクリプトを生成する処理を行うためのテンプレート置換型処理用ＡＰＥ（ｄｏ＿ｂｏｗ＿ｇｅｎｅｒａｔｉｏｎ）をコールしてテンプレート置換型処理を実行させる。
【０１１８】
更に、値が“椅子に座る”であれば、例えば図９（ｂ）の（１０）行目に示すように、ＣＧキャラクタが椅子に座る動作をするＴＶＭＬスクリプトを生成する処理を行うための逐次型処理用ＡＰＥ（ｓｉｔ＿ｃｈａｉｒ）をコールして逐次型処理を実行させる。
【０１１９】
つまり、番組制作処理制御手段１１は、タグ情報及びそのタグに用いられる値に応じてテンプレート置換型処理用ＡＰＥ及び逐次型処理用ＡＰＥのうち、何れかのＡＰＥに処理を行わせるかの情報を予め設定しておき、その設定された情報に対応させた処理を行う。
【０１２０】
＜他の実施例＞
＜出演者が複数いる場合の処理＞
次に、他の実施例として出演者が複数いる場合の処理について説明する。図１０は、出演者が複数いる場合の台本記述例を示す図である。例えば、番組に出演するＣＧキャラクタ（出演者）が複数いる場合、予め設定される複数のＡＰＥ（テンプレート置換型処理、逐次型処理）が台本の１行毎しかを処理されないと複数出演者のそれぞれの処理を同時にすることができない。
【０１２１】
具体的に説明すると、図１０（ａ）に示すように、Ａ、Ｂ、Ｃの３人の出演者（ＣＧキャラクタ）に対して台本が“（椅子に座る）”と記述されている場合、出演者Ａが椅子に座ってから、Ｂが椅子に座り、最後にＣが椅子に座る動作となる。したがって、このような場合には、３人が同時に椅子に座るといった動作を生成することができない。
【０１２２】
そこで、本実施形態では、ＡＰＥドライバである番組制作処理制御手段１１は、台本（ＡＰＥスクリプト）のｎａｍｅ属性を見て、ｎａｍｅ属性の値が異なれば、同時にスクリプト生成処理をさせるように動作する。これにより、図１０（ａ）の台本を入力すると、それぞれのｎａｍｅ属性の値はＡ，Ｂ，Ｃでそれぞれ異なるため、Ａ〜Ｃのキャラクタが同時に椅子に座る動作を行わせるスクリプトを生成する。なお、この場合には、テンプレート置換型処理用ＡＰＥ及び逐次型処理用ＡＰＥのうち、予め設定されたＡＰＥを用いて処理を行う。
【０１２３】
また、上述の内容とは逆に順次椅子に座らせたい場合は、台本の記述において、前の記述の出演者の動作を待つ記述を追加する。
【０１２４】
具体的には、図１０（ｂ）に示すように、台本にＣＧキャラクタＢに対して“（Ａを待つ）”と記述すると、ＣＧキャラクタＡが椅子に座る動作を開始し、即座にＣＧキャラクタＢがＣＧキャラクタＡの動作を待つ処理を行う。これにより、ＣＧキャラクタＢはＣＧキャラクタＡが椅子に座り終わるまで待ってから椅子に座る動作を開始する。
【０１２５】
同様に、台本にＣＧキャラクタＣ“（Ｂを待つ）”と記述すると、ＣＧキャラクタＣは、即座にＣＧキャラクタＢが椅子に座り終わるまで待ち、ＣＧキャラクタＢが座り終わるとＣＧキャラクタＣが椅子に座る動作を開始する。
【０１２６】
なお、台本の“（Ｘを待つ）”に対応する処理は、キャラクタＸの動作を指定するＴＶＭＬスクリプト生成が終了するのを待つ動作を行うものとして予め設定される。
【０１２７】
＜割込み処理＞
次に、本実施形態において割込みがあった場合の処理について、図を用いて説明する。図１１は、割込み処理について説明するための図である。また、図１２は、割込み処理における番組制作処理制御手段の制御内容を説明するための図である。
【０１２８】
ここで、割込み処理とは、例えば、台本に従って逐次型処理ルーチンがＣＧキャラクタの動作を生成している最中に、別の処理ルーチンにＣＧキャラクタの別の動作を生成させておき、この動作を割込み処理させた後、元の動作に戻るといった処理をいう。
【０１２９】
図１１（ａ）の例では、割込み処理として、ＣＧキャラクタが出入口へ歩いていく動作をしている最中に、同じＣＧキャラクタにテレビ（ＴＶ）のスイッチを消させる動作を割込みさせ、スイッチを消した後に部屋から出ていくという動作をさせる場合を示している。つまり、図１１（ａ）に示すように、出入口へ向かう途中でＴＶへ向かい、スイッチを消した後、その位置から出入口へ歩くといった処理を行う。
【０１３０】
この場合、従来のＡＰＥでは、同一のＣＧキャラクタの動作を生成する処理を一度に１つしか行うことができない。そこで、本発明では、上記の動作を実現するために、ＴＶＭＬスクリプトの割込み処理を行う。
【０１３１】
割込み処理は、台本記述と異なり非同期で処理を発生させるものである。したがって、割込み動作用のＡＰＥスクリプトをＡＰＥドライバとしての番組制作処理制御手段１１が生成し、台本から割込み処理ルーチンに渡すことは無く、割込み処理ルーチンは、例えば図１２（ａ）に示すように、外部のアプリケーション等により動作開始トリガを受け取ることで動作が開始される。
【０１３２】
具体的には、図１１（ｂ）に示すような割込み処理ルーチン（ＴＶを消す）は、生成スクリプトの先頭に割込みを開始するタグ（“ｉｎｔｅｒｒｕｐｔ＿ｓｃｒｉｐｔ”）を付加し（（０１）行目）、生成したＴＶＭＬスクリプトを番組制作処理制御手段１１へ送信する。ここで、図１１（ｂ）において、（０２）行目はＣＧキャラクタをＴＶ方向へ向かせるためのスクリプトを示し、（０３）行目は目的の位置（ｘ＝Ｘ１，ｚ＝Ｚ１）までＣＧキャラクタを歩かせるためのスクリプトを示し、（０４）行目は上述した逐次型処理においてスクリプト生成途中であることを示すタグ（“ｓｃｒｉｐｔ＿ｃｏｎｔｉｎｕｅ”）を示している。
【０１３３】
番組制作処理制御手段１１は、上述した割込みタグ付きのＴＶＭＬスクリプトを受け取ると（図１２（ａ））、それまで受け取っていた通常の処理ルーチン（出口へ歩く）に対するＴＶＭＬスクリプトをＴＶＭＬプレイヤー２３に送信するのを止め、割込み処理ルーチンからのＴＶＭＬスクリプトをＴＶＭＬプレイヤー２３に送信する（図１２（ｂ））。なお、上述した通常の処理ルーチンから番組制作処理制御手段１１が受け取るＴＶＭＬスクリプトについては、この間無視する。
【０１３４】
次に、ＣＧキャラクタがＴＶを消す動作を行い、割込み処理ルーチンから出力されるＴＶＭＬスクリプトに“ｓｃｒｉｐｔ＿ｃｏｎｔｉｎｕｅ”タグがなければ、番組制作処理制御手段１１は、上述した通常の処理ルーチンにより生成されたスクリプトのＴＶＭＬプレイヤー２３への出力を再開する（図１２（ｃ））。
【０１３５】
上述したような処理により、本実施形態では、割込み処理における処理にも対応することができる。
【０１３６】
＜実行プログラム＞
ここで、上述した番組制作装置１０は、例えばＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、マウスやキーボード、ポインティングデバイス等の入力装置、画像やデータを表示する表示装置、並びに外部と通信するためのインタフェース装置を備えたコンピュータによって構成することができる。
【０１３７】
したがって、番組制作装置１０が有する上述した各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現可能となる。また、これらのプログラムは、磁気ディスク（フロッピィーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記録媒体に格納して頒布することもできる。
【０１３８】
つまり、上述した各構成における処理をコンピュータに実行させるための実行プログラム（番組制作プログラム）を生成し、例えば汎用のパーソナルコンピュータやサーバ等にそのプログラムをインストールすることにより、番組制作処理を実現することができる。なお、本発明における実行プログラムによる処理については、例えば上述した図４や図８等に示すような各処理を実現することができる。
【０１３９】
上述したように本発明によれば、番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うことができる。具体的には、本発明によれば、簡単な台本記述により高度な演出を自動的に付加した映像コンテンツを制作することができる。また、従来のＡＰＥでは、低コストで予め指定したのみの演出付加か、高コストで状況に応じた柔軟な演出のどちらかの選択肢しかなかったが、本発明によれば、コストを必要以上にかけることなく既定の演出と柔軟な演出両方付加できる仕組みを実現することができる。
【０１４０】
また、本発明によれば、柔軟な演出による映像コンテンツが比較的低コストで制作できるため、制作されるコンテンツ全体の品質が向上し、制作者の制作モチベーションの向上及び視聴者の視聴モチベーションの向上が期待できる。
【０１４１】
以上本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【０１４２】
１０  番組制作装置
１１  番組制作処理制御手段
１２  第１の番組構成手段
１３−１，１３−２  制作モジュール群
１４−１，１４−２  雛形ＴＶＭＬスクリプト
１５  第１の番組スクリプト生成手段
１６  台本解析手段
１７  目的動作設定手段
１８  詳細動作設定手段
１９  第２の番組構成手段
２０  第２の番組スクリプト生成手段
２１  リアルタイム情報取得手段
２２  オブジェクト属性情報取得手段
２３  ＴＶＭＬプレイヤー
２４  オブジェクト属性情報
【図１】
2011188096.tif 000003
【図２】
2011188096.tif 000004
【図３】
2011188096.tif 000005
【図４】
2011188096.tif 000006
【図５】
2011188096.tif 000007
【図６】
2011188096.tif 000008
【図７】
2011188096.tif 000009
【図８】
2011188096.tif 000010
【図９】
2011188096.tif 000011
【図１０】
2011188096.tif 000012
【図１１】
2011188096.tif 000013
【図１２】
2011188096.tif 000014