JP5297404B2 - 番組制作装置及び番組制作プログラム - Google Patents
番組制作装置及び番組制作プログラム Download PDFInfo
- Publication number
- JP5297404B2 JP5297404B2 JP2010049262A JP2010049262A JP5297404B2 JP 5297404 B2 JP5297404 B2 JP 5297404B2 JP 2010049262 A JP2010049262 A JP 2010049262A JP 2010049262 A JP2010049262 A JP 2010049262A JP 5297404 B2 JP5297404 B2 JP 5297404B2
- Authority
- JP
- Japan
- Prior art keywords
- script
- program
- tvml
- production
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
本発明は、番組制作装置及び番組制作プログラムに係り、特に番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うための番組制作装置及び番組制作プログラムに関する。
近年、簡単な台本の記述によりCG(Computer Graphics)をベースとする番組等の映像コンテンツを自動的に制作する技術が存在する(例えば、特許文献1及び2参照。)。この技術では、例えば、台本をAPE(Automatic Program Engine)と呼ばれる演出付加ユニットに入力するだけで、台本の記述に対応させて映像コンテンツを生成するための詳細な台本(例えば、TVML(TV program Making Language)スクリプト等)を生成することができる(例えば、非特許文献1参照。)。
ここで、TVMLは、テレビ番組を制作するためのスクリプトベース記述言語である。したがって、例えば入力テキストとして「こんにちは」という文字がAPEに入力された場合には、APEが文字列解析処理等を行い、出力テキストとして、「character:talk(name=CharacterA,text=“こんにちは”)」というTVMLスクリプトを出力することができる。
また、上述した従来技術では、スクリプトを映像コンテンツ生成エンジン(以下、TVMLプレイヤー(Player)という)等に入力することで、台本にあった映像コンテンツを生成し、ユーザに提示している。このような仕組みにより、映像コンテンツ制作の経験や技術、CGに関する技術や知識が無くても、誰でも簡単に映像コンテンツを制作することができるようになっている。
なお、これらの技術は、上述したAPEを予め映像コンテンツ制作の専門家が製作し、コンテンツを制作する人(制作者)に供給することで実現している。つまり、APEは、専門家が予め制作した複数のテンプレートの中から制作者による台本の記述に適するものを選択して対応するスクリプトを生成する仕組みである(以下の説明では、上記仕組みを「テンプレート置換型処理」という。)。
Hayashi,Douke,Hamaguchi,"Automatic TV Program Production with APEs",C5 The Second International Conference on Creating,Connecting and Collaborating through Computing Conference,Proceedings pp.18−23(2004.1)
ところで、上述したテンプレート置換型処理は、その仕組みが単純であるため、APEそのものの制作コストを低く抑えることができる。しかしながら、再生中の番組の状況に応じてTVMLスクリプトを柔軟に生成する機能を持たないため、簡単な記述から状況に応じた高度な演出を付加することはできない。
なお、上記の対策として、TVMLプレイヤーのリアルタイム内部状態やCGキャラクタデータに付加されたメタデータを用いて、再生中の映像コンテンツの状況に応じて適切なTVMLスクリプトを柔軟に生成する機能を持つAPEに関する技術が本出願人により出願されている(特願2009−187989号:2009年8月14日出願)(以下の説明では、上記仕組みを「逐次型処理」という。)。この手法により、制作者の指示によらずに、動作オブジェクトとその他のオブジェクトとの現時点での状況に応じて適切な動作を演出することができ、簡単な台本の記述から状況に応じた高度な演出を付加することができる。しかしながら、逐次型処理では、APEそのものの仕組みが複雑となる場合もあり、APE自体の制作コストがかかる恐れがある。
更に、上述したテンプレート置換型処理と逐次型処理は、仕組みそのものが異なるため単純に2つの型の処理を接続することができず、効率的に番組の制作を行う手法が確立されていなかった。
本発明は、上述した問題点に鑑みなされたものであり、番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うための番組制作装置及び番組制作プログラムを提供することを目的とする。
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
請求項1に記載された発明は、少なくとも番組内容の実体データである内容情報と、番組に与える演出・効果を示す演出情報とを含んだ台本データに対応した番組コンテンツを制作する番組制作装置において、予め蓄積されたテンプレートの内容を前記台本データの記述内容で置換し、予め設定される番組構成内容に対応する演出内容を含む番組情報を生成する第1の番組構成手段と、前記第1の番組構成手段により生成された前記演出内容を含む番組情報に基づいてテンプレート置換型のTVMLスクリプトを生成する第1の番組スクリプト生成手段と、前記台本データの記述内容を解析する台本解析手段と、前記台本解析手段により解析された台本データの記述内容に動作オブジェクトが含まれる場合には、前記動作オブジェクトに対する目的動作を行うために前記番組に含まれる他のオブジェクトに対応した詳細動作情報を設定する詳細動作設定手段と、前記詳細動作設定手段により設定された詳細動作情報と、予め設定された前記台本データと、予め蓄積された制作モジュール群と、予め蓄積された雛形スクリプト群とに基づいて、前記雛形TVMLスクリプト群から前記台本データに対応する番組内容のTVMLスクリプトを取得し、取得した所定のTVMLスクリプトに基づいて番組構成内容に対応する演出内容を含む番組情報を生成する第2の番組構成手段と、前記第2の番組構成手段により生成された前記演出内容を含む番組情報に基づいて逐次型のTVMLスクリプトを生成する第2の番組スクリプト生成手段と、前記第1のスクリプト生成手段及び前記第2のスクリプト生成手段から得られる前記テンプレート置換型のTVMLスクリプト又は前記逐次型のTVMLスクリプトの何れかを再生し、再生された番組を表示する再生表示手段と、前記台本データに含まれる前記演出情報毎に付加された識別情報に基づいて、前記第1の番組スクリプト生成手段又は前記第2の番組スクリプト生成手段の何れかを選択して前記テンプレート置換型のTVMLスクリプト又は前記逐次型のTVMLスクリプトの何れかを取得し、取得したTVMLスクリプトを前記再生表示手段に出力する番組制作処理制御手段と、を有することを特徴とする。
請求項1記載の発明によれば、番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うことができる。
請求項2に記載された発明は、前記第2のスクリプト生成手段は、前記台本データに対応する前記逐次型のTVMLスクリプトの生成が継続している場合、前記TVMLスクリプトに継続通知情報を付加することを特徴とする。
請求項2記載の発明によれば、継続通知情報を用いて複数の異なる仕組みを用いて生成されたスクリプトの再生を制御することができる。
請求項3に記載された発明は、前記番組制作処理制御手段は、前記第2のスクリプト生成手段により得られるTVMLスクリプトに前記継続通知情報が含まれる場合、前記第1の番組スクリプト生成手段により得られるTVMLスクリプトを前記再生表示手段に出力しないことを特徴とする。
請求項3記載の発明によれば、継続通知情報を用いて複数の異なる仕組みを用いて生成されたスクリプトの再生を正確に行うことができる。
請求項4に記載された発明は、前記再生表示手段により出力される画像から前記番組のリアルタイム情報を取得するリアルタイム情報取得手段と、前記動作オブジェクト及び前記他のオブジェクトに対して予め設定された属性情報を取得するオブジェクト属性情報取得手段とを有し、前記リアルタイム情報取得手段により得られる前記動作オブジェクトのリアルタイム情報と、前記オブジェクト属性情報取得手段により得られるオブジェクト毎の属性情報とに基づいて前記詳細動作情報を設定し、前記第2のスクリプト生成手段は、前記詳細動作情報に基づいて前記逐次型のTVMLスクリプトの生成が継続しているか否かを判断することを特徴とする。
請求項4記載の発明によれば、リアルタイム情報やオブジェクト毎の属性情報に基づいて設定される詳細情報を用いて継続通知情報をTVMLスクリプトに付加するか否かの判断を的確に行うことができる。
請求項5に記載された発明は、前記番組制作処理制御手段は、前記台本データに含まれる動作対象のCGキャラクタが異なる場合、各CGキャラクタに対する演出情報に対するTVMLスクリプトを、前記第1の番組スクリプト生成手段又は前記第2の番組スクリプト生成手段により同時に生成させることを特徴とする。
請求項5記載の発明によれば、複数のCGキャラクタに対する制御を効率的に行うことができる。
請求項6に記載された発明は、少なくとも番組内容の実体データである内容情報と、番組に与える演出・効果を示す演出情報とを含んだ台本データに対応した番組コンテンツを制作するための番組制作プログラムにおいて、コンピュータを、予め蓄積されたテンプレートの内容を前記台本データの記述内容で置換し、予め設定される番組構成内容に対応する演出内容を含む番組情報を生成する第1の番組構成手段、前記第1の番組構成手段により生成された前記演出内容を含む番組情報に基づいてテンプレート置換型のTVMLスクリプトを生成する第1の番組スクリプト生成手段、前記台本データの記述内容を解析する台本解析手段、前記台本解析手段により解析された台本データの記述内容に動作オブジェクトが含まれる場合には、前記動作オブジェクトに対する目的動作を行うために前記番組に含まれる他のオブジェクトに対応した詳細動作情報を設定する詳細動作設定手段、前記詳細動作設定手段により設定された詳細動作情報と、予め設定された前記台本データと、予め蓄積された制作モジュール群と、予め蓄積された雛形スクリプト群とに基づいて、前記雛形TVMLスクリプト群から前記台本データに対応する番組内容のTVMLスクリプトを取得し、取得した所定のTVMLスクリプトに基づいて番組構成内容に対応する演出内容を含む番組情報を生成する第2の番組構成手段、前記第2の番組構成手段により生成された前記演出内容を含む番組情報に基づいて逐次型のTVMLスクリプトを生成する第2の番組スクリプト生成手段、前記第1のスクリプト生成手段及び前記第2のスクリプト生成手段から得られる前記テンプレート置換型のTVMLスクリプト又は前記逐次型のTVMLスクリプトの何れかを再生し、再生された番組を表示する再生表示手段、及び、前記台本データに含まれる前記演出情報毎に付加された識別情報に基づいて、前記第1の番組スクリプト生成手段又は前記第2の番組スクリプト生成手段の何れかを選択して前記テンプレート置換型のTVMLスクリプト又は前記逐次型のTVMLスクリプトの何れかを取得し、取得したTVMLスクリプトを前記再生表示手段に出力する番組制作処理制御手段として機能させる。
請求項6記載の発明によれば、番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うことができる。また、実行プログラムをコンピュータにインストールすることにより、容易に番組制作処理を実現することができる。
本発明によれば、番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うことができる。
<本発明について>
本発明は、例えばCGをベースとした番組等の映像コンテンツの生成を対象とし、その中で台本を基に映像コンテンツを生成する仕組みにおいて、テンプレート置換型処理による映像コンテンツ生成の仕組みと、再生状態をリアルタイム取得し、この情報を基に状況に応じた映像コンテンツを自動的に生成する逐次型処理による映像コンテンツ生成の仕組みとを混成可能とした新たな仕組みを提供する。
本発明は、例えばCGをベースとした番組等の映像コンテンツの生成を対象とし、その中で台本を基に映像コンテンツを生成する仕組みにおいて、テンプレート置換型処理による映像コンテンツ生成の仕組みと、再生状態をリアルタイム取得し、この情報を基に状況に応じた映像コンテンツを自動的に生成する逐次型処理による映像コンテンツ生成の仕組みとを混成可能とした新たな仕組みを提供する。
以下に、上述したような特徴を有する本発明における番組制作装置及び番組制作プログラムを好適に実施した形態について、図面を用いて詳細に説明する。
なお、本実施形態では、制作するコンテンツの一例として番組を用いることとし、また番組の制作や提示等に用いられるスクリプトの一例としてTVMLを用いることとするが、本発明においてはこれに限定されず、他の映像コンテンツやスクリプトを用いてもよい。
<番組制作装置:概略構成例>
図1は、番組制作装置の機能構成の一例を示す図である。図1に示す番組制作装置10は、APEドライバとしての番組制作処理制御手段11と、第1の番組構成手段12と、制作モジュール群13−1,13−2と、雛形TVMLスクリプト14−1,14−2と、第1の番組スクリプト生成手段15と、台本解析手段16と、目的動作設定手段17と、詳細動作設定手段18と、第2の番組構成手段19と、第2の番組スクリプト生成手段20と、リアルタイム情報取得手段21と、オブジェクト属性情報取得手段22とを有するよう構成されている。
図1は、番組制作装置の機能構成の一例を示す図である。図1に示す番組制作装置10は、APEドライバとしての番組制作処理制御手段11と、第1の番組構成手段12と、制作モジュール群13−1,13−2と、雛形TVMLスクリプト14−1,14−2と、第1の番組スクリプト生成手段15と、台本解析手段16と、目的動作設定手段17と、詳細動作設定手段18と、第2の番組構成手段19と、第2の番組スクリプト生成手段20と、リアルタイム情報取得手段21と、オブジェクト属性情報取得手段22とを有するよう構成されている。
なお、図1の例では、第1の番組スクリプト生成手段15及び第2の番組スクリプト生成手段20にて生成されたスクリプトから番組の内容をユーザ等に表示するためのTVMLプレイヤー23と、オブジェクト属性情報取得手段22にて必要な本実施形態に係る各種情報を取得するオブジェクト属性情報24とが番組制作装置10に接続されている。なお、TVMLプレイヤー23及びオブジェクト属性情報24は、番組制作装置10内に具備されていてもよい。
番組制作処理制御手段11は、入力データとして取得される番組制作者等が制作した番組に対する台本データから、演出情報毎(例えば、1文章、1行等)に読み出し、その内容毎に予め設定された複数の異なる番組スクリプト生成処理のうち、どの処理にスクリプトを生成させるかを判断する。具体的には、番組制作処理制御手段11は、テンプレート置換型処理を行うか又は逐次型処理を行うかを判断し、その判断結果から対応する処理にその台本データ(例えば、1文章)を出力する。
具体的には、番組制作処理手段11は、予め設定された台本データの文章等に付加されている識別情報、又は予め設定される基準文章或いは所定のキーワードに基づいて対応する処理の選択を行う。例えば、入力された台本データに含まれる判断対象の文章が括弧書きで書かれている場合には、その内容のスクリプト生成を逐次型処理で行い、それ以外の場合にはテンプレート置換型処理を行う。
なお、本発明においてAPE処理を選択するための判断基準は、これに限定されるものではなく、例えばある特定の記号やタグ、フラグ、数字、単語等を台本に記述しておいてもよい。つまり、番組制作処理制御手段11において、台本データから選択されるAPE処理が3つ以上ある場合には、それぞれのAPE処理に対する識別情報を設定しておき、その設定された識別情報を台本に付加する。これにより、番組制作処理手段11は、その識別情報の内容に基づいて、予め設定された対応するAPE処理を選択することができる。
なお、本実施形態における台本データは、少なくとも番組内容の実体データである内容情報や、番組に与える演出・効果を示す演出情報等を含んだ番組用の台本データであるが、本発明における台本データはこれに限定されるものではなく、例えば番組の構成順序を示す構成情報等が含まれていてもよい。また、上述した内容情報とは、台本データに記述された演出以外の情報であり、具体的には、番組のタイトルやCGキャラクタのセリフ、番組内で使用される動画、静止画、音楽等の各ファイル名等の実体データである。
更に、番組制作処理制御手段11は、後述する第1の番組スクリプト生成手段15及び第2の番組スクリプト生成手段20により生成されたTVMLスクリプトを取得し、取得したTVMLスクリプトを予め設定された条件に基づいて、所定のタイミングでTVMLプレイヤー23に出力する。
具体的には、番組制作処理制御手段11は、第2の番組スクリプト生成手段20により生成されたTVMLスクリプトの中に、スクリプトの継続通知を示す信号が含まれる場合には、台本に記述された現在演出している演出内容の次に記述された演出内容に対する処理を行わない。つまり、継続通知を受信している間は、第2の番組スクリプト生成手段20により生成されたTVMLスクリプトの処理を行う。一方、番組制作処理制御手段11は、継続通知を示す信号が含まれなくなった場合に、次の演出内容に対する処理を行うようにする。
番組制作処理制御手段11は、TVMLスクリプトを出力した後、台本データの次の演出内容を読み出し、台本の全ての内容が終了するまで上述の処理を行う。
第1の番組構成手段12は、番組制作処理制御手段11により得られる台本データに基づいてテンプレート置換型処理を行う。具体的には、第1の番組構成手段12は、番組制作処理制御手段11により得られる台本データを入力し、入力された台本データに対応して番組を構成するため、予め設定された多数の制作モジュール群13−1の中から所定のモジュールのテンプレートを抽出し、更に、前記台本データに対応する番組内容を予め設定された多数の雛形TVMLスクリプト群14−1から所定のTVMLスクリプトのテンプレートを取得して、得られた内容に基づいて番組構成内容に対応する番組情報を生成する。また、第1の番組構成手段12は、生成された番組情報を第1の番組スクリプト生成手段15に出力する。
ここで、制作モジュール群13−1に含まれるデータ例としては、例えば番組制作スタジオであれば、照明生成、セット生成、カメラ動作、キャラクタ動作、ナレーション生成等の多種多様な分野の番組を生成するために必要となる各種データ等が含まれる。また、制作モジュール群13−1には、その他の映像コンテンツを実現するための各種データが含まれる。更に、雛形TVMLスクリプト群14−1に含まれるデータ例としては、例えば前記制作モジュール群13−1に含まれる番組制作用のデータに対応する各種TVMLスクリプト等が含まれる。
第1の番組スクリプト生成手段15は、第1の番組構成手段12により得られる番組情報に対してTVMLプレイヤー23で再生可能なTVMLスクリプトを生成する。具体的には、第1の番組構成手段12により得られたテンプレートの内容の一部(変数部)を台本データの記述内容で置換してTVMLスクリプトを生成する。また、第1の番組スクリプト生成手段15は、生成された番組スクリプトを映像コンテンツ生成エンジンであり、生成された番組用のTVMLスクリプトを番組制作処理制御手段11に出力する。
また、台本解析手段16は、番組制作処理制御手段11から得られる台本データの内容を解析し、予め設定された動作オブジェクトに関する記述があるか否かを判断する。
また、台本解析手段16において、台本データに動作オブジェクトが含まれているか否かの判断は、例えば台本に記述された文章を一般的な形態素解析プログラム等を用いた言語解析手法等により解析し、その文章の中から動詞又はそれに類似する記述を含んでいるか否かで判断する。また、台本解析手段16は、台本に動作オブジェクトの設定がある場合には、その台本データを目的動作設定手段17に出力する。また、台本解析手段16は、台本に動作オブジェクトの設定がない場合には、その台本データを第2の番組構成手段19に出力する。
なお、台本解析手段16は、ある一つの台本データの一部に動作オブジェクトを含む場合には、その部分のみを抽出して目的動作設定手段17に出力し、その他の台本データを第2の番組構成手段19に出力してもよい。
目的動作設定手段17は、台本解析手段16において、動作オブジェクトが含まれていると判断した台本データ中の文章を言語解析し、その動作オブジェクトが行う最終目的までの動作(スタートからゴールまで、又は、幾つかの動作を経由した状態からゴールまで)を設定する。また、目的動作設定手段17は、設定された目的動作情報を詳細動作設定手段18に出力する。
詳細動作設定手段18は、目的動作設定手段17により得られる目的動作情報を実現するための各要素動作を設定する。なお、詳細動作設定手段18は、各要素動作を生成するために必要な情報として、リアルタイム情報取得手段21から得られるTVMLプレイヤー23が表示する番組の内部状態、及びCGキャラクタ等のオブジェクト属性情報取得手段22から得られる各動作オブジェクトに対する属性情報を取得し、これらの情報に基づいて各動作を生成するTVMLスクリプトを生成する。
また、詳細動作設定手段18は、オブジェクト属性情報取得手段22により得られるオブジェクト毎の属性情報に基づいて、動作オブジェクトと他のオブジェクト(動作の有無は問わない)との組み合わせによる、それぞれの動作内容を設定する。また、詳細動作設定手段18は、設定された詳細動作設定情報を第2の番組構成手段19に出力する。
第2の番組構成手段19は、台本解析手段16から得られる動作オブジェクトを含まない台本データ、及び詳細動作設定手段18から得られる動作オブジェクトを含む台本データを入力し、番組を構成する。具体的には、第2の番組構成手段19は、入力される台本データに対応して番組を構成するために、予め設定された多数の制作モジュール群13−2の中から所定のモジュールを抽出する。
更に、第2の番組構成手段19は、入力される前記台本データに対応する番組内容を予め設定された多数の雛形TVMLスクリプト群14−2から所定のTVMLスクリプトを取得し、取得した内容に基づいて番組構成内容に対応する番組情報を生成する。また、第2の番組構成手段19は、生成された番組情報を第2の番組スクリプト生成手段20に出力する。
ここで、制作モジュール群13−2及び雛形TVMLスクリプト群14−2に含まれるデータとしては、例えば、上述した制作モジュール群13−1及び雛形TVMLスクリプト群14−1に含まれるデータ例と同様のデータ項目を含めることができるが、そのデータの具体的な内容は異なっていてもよい。したがって、例えば、制作モジュール群13−1及び雛形TVMLスクリプト群14−1では、本実施形態におけるテンプレート置換型処理に適したデータを多く蓄積しておき、制作モジュール群13−2及び雛形TVMLスクリプト群14−2では、本実施形態における逐次型処理に適したデータを多く蓄積しておくことで、各処理に適応した高精度な演出を実現することができる。
第2の番組スクリプト生成手段20は、第2の番組構成手段19により得られる番組情報に対してTVMLプレイヤー23で再生可能なTVMLスクリプトを生成する。また、第2の番組スクリプト生成手段20は、台本データに対応する演出動作がまだ継続中の場合には、その旨を示す継続情報をTVMLスクリプトに付加する。
これにより、番組制作処理制御手段11は、第2の番組スクリプト生成手段20から得られるTVMLスクリプトにおける上述した継続情報の有無によって、TVMLプレイヤー23に出力するスクリプトの内容やタイミングを制御することができる。
また、第2の番組スクリプト生成手段20は、生成された番組スクリプトを映像コンテンツ生成エンジンであり、生成された番組用のTVMLスクリプトを番組制作処理制御手段11に出力する。
リアルタイム情報取得手段21は、TVMLプレイヤー23で再生された番組の画像、又は、その再生中の画像に対応する実行中のTVMLスクリプトをリアルタイムに取得する。また、リアルタイム情報取得手段21は、取得した番組の画像、若しくは、TVMLスクリプト画像中に含まれるキャラクタ等の動作オブジェクトに対して、現時点の動作内容を生成するTVMLプレイヤー23から動作オブジェクトの動作や位置情報、状態等を取得する。
また、リアルタイム情報取得手段21は、取得したデータを時間情報と対応付けて詳細動作設定手段18に出力する。
ここで、TVMLプレイヤー23から取得するリアルタイム情報とは、例えば、「出演者のID」、「出演者の位置」、「出演者の外接直方体の頂点座標」、「小道具(配置物)のID」、「小道具の位置」、「小道具の外接直方体の頂点座標」等をいう。本発明においては、このようなリアルタイム情報としてスクリプトに記載されたあらゆる情報、又は番組再生により表示された番組の画像データから得られる情報をも利用することができる。
オブジェクト属性情報取得手段22は、詳細動作設定手段18における問い合わせに対して、その問い合わせ情報に含まれる1又は複数の動作オブジェクトに対応する各オブジェクト属性情報を、予め設定されたオブジェクト属性情報24から取得し、取得した属性情報を詳細動作設定手段18に出力する。
TVMLプレイヤー23は、番組制作処理制御手段11から得られる第1の番組スクリプト生成手段15や第2の番組スクリプト生成手段20により生成されたTVMLスクリプトに基づいて番組を再生した番組をディスプレイに表示し、スピーカ等により音声を出力するための再生表示手段である。また、TVMLプレイヤー23は、表示している画像情報をリアルタイム情報取得手段21に出力する。また、TVMLプレイヤー23は、表示している画像情報に対応したTVMLスクリプトをリアルタイム情報取得手段21に出力してもよい。
オブジェクト属性情報24とは、例えば机や椅子、CGキャラクタや壁等の番組における仮想空間上に存在する各オブジェクトに対して、それぞれがどのような形状であり、またどの程度の大きさ等の物体情報や、各動作オブジェクトが各条件に応じてどのような動作を行うか等のルール情報等の各種データを含んだデータベースである。
ここで、オブジェクト属性情報24におけるCGキャラクタデータ等の属性情報記述例としては、例えば、「CGキャラクタデータ名称」、「用途:デスクワーク」、「用途:物を置く」、「座れない」、「方向性あり」、「高さ:1.0m」等がある。なお、本発明においてはこれに限定されない。
なお、上述の例をスクリプトで表記すると、
「<?xml version=“1.0” encoding=“uft−8”?>
<attribute>
<name>table</name>
<use>deskwork</use>
<use>put</use>
<sit>false</sit>
<direction>true</direction>
<height>1.0</height>
</attribute>」
と生成される。
「<?xml version=“1.0” encoding=“uft−8”?>
<attribute>
<name>table</name>
<use>deskwork</use>
<use>put</use>
<sit>false</sit>
<direction>true</direction>
<height>1.0</height>
</attribute>」
と生成される。
上述した処理により、上述したテンプレート置換型処理と逐次型処理を接続することができ、番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うことができる。
なお、図1に示す構成図では、テンプレート置換型処理と、逐次型処理とを明確に区別するために番組構成手段と番組スクリプト生成手段をそれぞれ分けて構成されているが、本発明においてはこれに限定されるものではなく、例えば第1の番組構成手段12と第2の番組構成手段19とを1つの番組構成手段として一体に構成してもよく、また第1の番組スクリプト生成手段15と第2の番組スクリプト生成手段20とを1つの番組スクリプト生成手段として一体に構成してもよい。更に、図1に示す制作モジュール群13−1と制作モジュール群13−2とを一体にしてもよく、雛形TVMLスクリプト群14−1と雛形TVMLスクリプト群14−1とを一体にしてもよい。
<処理動作の具体例>
次に、上述した番組制作装置10の各機能構成に基づく処理動作の具体例について説明する。
次に、上述した番組制作装置10の各機能構成に基づく処理動作の具体例について説明する。
通常、上述したAPEのテンプレート置換型処理と逐次型処理とを単純に混成した場合は、逐次処理型の終了が何時になるのか分からない。そのため、次の処理へ進めることができない。ここで、上記内容を具体的に説明する。図2は、台本及びスクリプトの一例を示す図である。なお、図2(a)は、台本の一例を示し、図2(b)は、図2(a)に対応するスクリプトの一例を示している。また、図2(a),(b)の左側には、説明を容易にするため行番号が付している。なお、後述する説明で略同様の図面を示す場合にも必要に応じて行番号を付すものとする。
図2(a)に示す台本では、(01)行目に演出情報として逐次型処理が必要な動作が記述され、(02)行目に内容情報として出演者がしゃべる動作(セリフ)が記述されている。つまり、(02)行目の台本はCGキャラクタAがしゃべるだけなので上述した逐次型処理用のAPEを容易する必要はなく、テンプレート置換型処理で十分である。しかしながら、上述したように(01)行目から(02)行目に移るときに逐次型処理とテンプレート置換型処理との間で処理を変更する場合に、従来では、(01)行目の動作を生成するTVMLスクリプトがいつ終了するかが分からなかった。したがって、(02)行目の再生を適切な位置(例えば、部屋から出ていった後)ですることができない。
そこで、上述した本実施形態に示すように、複数のAPE処理(例えば、逐次型処理用APE、テンプレート置換型処理用APE)を制御するAPEドライバとして、上述した番組制作処理制御手段11としての外部アプリケーションを設ける。ここで、図3は、番組制作処理制御手段における機能を具体的に説明するための図である。
ここで、本実施形態におけるテンプレート置換型処理は、例えば上述した図1における第1の番組構成手段12、及び第1の番組スクリプト生成手段15等に相当する。また、本実施形態における逐次型処理は、例えば上述した図1における台本解析手段16、目的動作設定手段17、詳細動作設定手段18、第2の番組構成手段19、第2の番組スクリプト生成手段20、リアルタイム情報取得手段21、及びオブジェクト属性情報取得手段22等に相当する。
つまり、番組制作処理制御手段11は、図3に示すように、例えば入力されたAPEスクリプト(台本)に対して、その演出内容(例えば、1行)毎に解析し、予め設定されたテンプレート置換型処理又は逐次型処理のうち何れかを選択し、選択した何れか一方に該当APEスクリプトを出力する出力制御制御を行う。
また、番組制作処理制御手段11は、テンプレート置換型処理又は逐次型処理から得られる該当APEスクリプトに対応した該当TVMLスクリプトを受信制御する。更に、番組制作処理制御手段11は、逐次型処理におけるTVMLスクリプトの出力であって、スクリプト生成が継続している場合に、その継続通知を受信し、その受信内容によってTVMLプレイヤー23に出力するTVMLスクリプトの種類やタイミング等を制御する。なお、上述した継続通知は、本発明においてはこれに限定されず、逐次型処理においてスクリプトの生成を継続しなくなったときにその終了通知を番組制作処理制御手段11に出力し、その終了通知により対応する制御を行ってもよい。
また、本実施形態において、上述した継続通知や終了通知は、番組制作処理制御手段11において、TVMLプレイヤー23にTVMLスクリプトを出力する際の判断基準として用いられるものであるため、これらの情報は、TVMLプレイヤー23に送らなくてもよい。
<全体の処理手順とその具体例>
次に、上述した機能構成を用いた本実施形態における処理手順と、その具体例について説明する。図4は、本実施形態における番組制作処理手順の一例を示すフローチャートである。図4において、まず台本データを入力すると(S01)、上述したように番組制作処理制御手段11において、その台本データを1行ずつ読み込み、その内容からテンプレート置換型処理を行うか、又は逐次型処理を行うかを判断する(S02)。ここで、逐次型処理を行う場合、その1行分の台本を解析し(S03)、動作オブジェクトが有るか否かを判断する(S04)。
次に、上述した機能構成を用いた本実施形態における処理手順と、その具体例について説明する。図4は、本実施形態における番組制作処理手順の一例を示すフローチャートである。図4において、まず台本データを入力すると(S01)、上述したように番組制作処理制御手段11において、その台本データを1行ずつ読み込み、その内容からテンプレート置換型処理を行うか、又は逐次型処理を行うかを判断する(S02)。ここで、逐次型処理を行う場合、その1行分の台本を解析し(S03)、動作オブジェクトが有るか否かを判断する(S04)。
ここで、動作オブジェクトが有る場合(S04において、YES)、目的動作を設定し(S05)、更に詳細動作を設定する(S06)。ここで、S05の処理においては、上述したようにリアルタイム情報、オブジェクト属性情報を取得する。また、S05の処理が終了後又はS04の処理において、動作オブジェクトが無い場合(S04において、NO)、台本のデータに基づいて番組を構成し(S07)、S07の処理結果から番組スクリプトを生成する(S08)。
また、生成された番組スクリプトに基づいて番組を再生し、ユーザ等に表示する(S09)。次に、表示されているリアルタイム情報を取得し(S10)、スクリプトが終了しているか否かを判断する(S11)。ここで、スクリプトにおける動作がまだ終了していない場合(S11において、NO)、S06に戻り、リアルタイム情報に基づく新たな詳細動作を設定して以降の処理を行う。なお、S10の処理では、リアルタイム情報の他にオブジェクト属性情報も取得しておき、S06の処理において、リアルタイム情報とオブジェクト毎の属性情報とに基づいて新たな詳細動作を設定してもよい。
また、上述したS02の処理において、テンプレート置換型処理の場合、入力された台本のデータに基づいて番組を構成し(S12)、S12の処理結果から番組スクリプトを生成する(S13)。また、生成された番組スクリプトに基づいて番組を再生し、ユーザ等に表示する(S14)。
ここで、S11の処理において、スクリプトが終了の場合(S11において、YES)、又はS14の処理が終了後、台本中にまだ処理されていないデータがあるか否か、つまり、台本データの入力が終了か否かを判断し(S15)、終了しない場合(S15において、NO)、S01に戻り、次の台本データを入力して後続の処理を行う。また、処理を終了する場合(S15において、YES)、番組制作処理を終了する。上述した番組制作処理手順により、番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うことができる。
次に、上述した番組制作処理手順に対応した具体例について説明する。図5は、混成型APEのスクリプト生成の具体例を説明するための図である。なお、図5の例では、図2(a)に示した台本データについて、本実施形態を適用して混成型APEにより処理した例を示している。具体的には、図5に示す混成型APEによるTVMLスクリプト生成例では、出演者であるCGキャラクタAが部屋から出て行った後に「さようなら」というセリフをいわせるものである。
APEドライバである番組制作処理制御手段11は、外部から映像コンテンツの台本(APEスクリプト)の一式を受け取る。ここでは、図2(a)に示す台本データを受け取る。次に、受け取ったAPEスクリプトを頭から順次APEに対して送信する。ここで、台本の(01)行目が“(部屋から出ていく)”という記述になっており、予め設定された条件により、上記データを逐次処理型APEに送信する。
逐次処理型APEでは、予め設定されるTVMLプレイヤー23の内部情報やCGデータの付加情報、動作ルール等に従って、目的となる動作を生成するTVMLスクリプト(図5の例では、character:walk(name=A,x=1,z=1))を生成する。動作が終了していない間は、スクリプト生成が継続するため、図5に示すように生成するスクリプトの最後の行にTVMLスクリプト生成が継続中である旨を示す識別情報である文字列(例えば、“script_continue”)を継続通知として付加する。なお、付加する場所は、本発明においてはこれに限定されるものではなく、例えば、TVMLスクリプトの最初の行でもよく、その他、TVMLスクリプト中であればどこでもよい。
番組制作処理制御手段11は、受け取ったTVMLスクリプトをTVMLプレイヤー23へ送信する。また、番組制作処理制御手段11は、送信後、次のTVMLスクリプトがAPEから送信されるのを待つ。つまり、動作が終了するまで、リアルタイム情報を見ながら最後のスクリプトが生成されるまで、繰り返し処理を行う。
ここで、逐次型処理において、ある動作を生成する最後のTVMLスクリプトを生成した場合は、何も追加せずに番組制作処理制御手段11にTVMLスクリプトを送信する。つまり、上述した継続中である旨を示す文字列(例えば、“script_continue”)は付加しない。
また、番組制作処理制御手段11は、受け取ったTVMLスクリプトをTVMLプレイヤー23に送信し、次のAPEスクリプトを該当するAPE処理(テンプレート置換型処理へ送信する。
テンプレート置換型処理では、一度の処理で全てのTVMLスクリプト(図5の例では、character:text(name=A,text=“さようなら”))を生成し、生成したTVMLスクリプトを番組制作処理制御手段11に送信する。番組制作処理制御手段11は、このTVMLスクリプトをTVMLプレイヤー23に送信し、台本中の次のAPEスクリプトの処理に進む。
以上の実施例で述べたような仕組みを有するAPEドライバ(番組制作処理制御手段11)を実装し、逐次処理型APEのスクリプト生成時に生成継続情報を付加する仕組みを追加することでテンプレート置換型処理用APEの仕組みと逐次型処理用APEの仕組みを混成した混成型APEを実現することができる。これにより、APEの開発コストを抑えつつ高度な演出付加が可能なAPEを制作することができる。
<テンプレート置換型処理と逐次型処理について>
次に、本実施形態におけるテンプレート処理と逐次型処理について説明する。
次に、本実施形態におけるテンプレート処理と逐次型処理について説明する。
<テンプレート置換型処理の具体例>
まず、テンプレート置換型処理の具体例について説明する。テンプレート置換型処理では、上述したように、例えば入力テキストとして「こんにちは」という文字がテンプレート置換型処理用APEに入力された場合には、そのAPEが文字列解析処理等を行い、対応するテンプレートの所定の変数と入力テキストとを置換し、例えば、出力テキストとして「character:talk(name=CharacterA,text=“こんにちは”)」というTVMLスクリプトを出力する。
まず、テンプレート置換型処理の具体例について説明する。テンプレート置換型処理では、上述したように、例えば入力テキストとして「こんにちは」という文字がテンプレート置換型処理用APEに入力された場合には、そのAPEが文字列解析処理等を行い、対応するテンプレートの所定の変数と入力テキストとを置換し、例えば、出力テキストとして「character:talk(name=CharacterA,text=“こんにちは”)」というTVMLスクリプトを出力する。
<逐次型処理の具体例>
次に、逐次型処理の具体例について説明する。なお、具体例では、CGキャラクタがドアまで歩き、ドアを開けて部屋から出ていく動作について説明する。また、番組の映像には、障害物としてのテーブルが存在する。この場合、上述した目的動作設定手段17により設定されるCGキャラクタの目的動作は、
a)部屋の出口の方向を向き、現在位置から出口へ向かって歩く。
b)途中に障害物があればよける。
c)出口のドアを開けて出て行く。
となる。
次に、逐次型処理の具体例について説明する。なお、具体例では、CGキャラクタがドアまで歩き、ドアを開けて部屋から出ていく動作について説明する。また、番組の映像には、障害物としてのテーブルが存在する。この場合、上述した目的動作設定手段17により設定されるCGキャラクタの目的動作は、
a)部屋の出口の方向を向き、現在位置から出口へ向かって歩く。
b)途中に障害物があればよける。
c)出口のドアを開けて出て行く。
となる。
このように、部屋の中にいるCGキャラクタが部屋の外へ出ていくシーンを想定した場合、「部屋から出ていく」と記述すれば自動的に該当シーンを生成してくれるのが好ましい。しかしながら、このようなシーンを生成するには上述したa)〜c)の動作を生成するTVMLスクリプトが必要となる。なお、これらを全て一つ一つ記述するのは煩雑であり、また出口や障害物の位置等、番組内の全ての状況を予め認識しておく必要がある。
そこで、逐次型処理の例では、制作者による番組台本入力を自動的に補間し、番組の状況に応じた動きを伴う映像コンテンツ(TVMLスクリプト)を自動的に生成する機能を持たせるようにしている。
本実施形態における逐次型処理用APEでは、「(1)入力する台本の解析」、「(2)目的となる動作の設定」、「(3)上記(2)の動作を実現するための状況の逐次把握と具体的動作の生成」に大別した各機能を有する。これらの機能を有することにより、例えば簡単な台本記述による制作手法を維持したまま、状況に応じ映像コンテンツの生成を実現することができる。
このため、本実施例では、図1に示すように、TVMLプレイヤー23における内部のリアルタイム情報、CGキャラクタやスタジオセット、小道具等のCGキャラクタデータの属性情報(形状、種別等)を取得する構成とした。
ここで、図6は、逐次型処理用APEが台本記述から番組を生成するまでの前処理過程の具体的な動作例を示す図である。図6の例では、台本記述にあるように、カメラショットを引きカメラに切り替えた後、出演者が部屋から出て行き、「どこへ行こうかな?」としゃべるシーンである。つまり、図6の例では、上述したシーンにおける台本記述「部屋から出て行く」の記載に対して、本番組制作装置が映像コンテンツを生成するための前処理過程の具体例を示している。
逐次型処理用APEでは、図6に示すように、まず台本入力ツール等を用いて入力された台本記述の記述内容を解析し、最終目的までの動作(スタートからゴールまで)を決定する。次に、逐次型処理用APEは、目的動作を実現するための各要素動作を設定する。図6の例では、「部屋から出て行く」という台本記述に対して、台本解析及び目的動作設定として「動作主:出演者」、「動作:歩く」、「場所:部屋の外」等が目的動作設定手段17の目的動作設定ファイルに設定される。
また、具体的動作設定として、「動作主は出演者」であり、
1)部屋の出口の方向を向く。
2)現在位置から出口へ向かって歩く。
3)途中に障害物があればよけて出口へ向かって歩く。
4)ドアを開ける。
5)部屋の外へ出る。
等という各要素動作が設定される。
1)部屋の出口の方向を向く。
2)現在位置から出口へ向かって歩く。
3)途中に障害物があればよけて出口へ向かって歩く。
4)ドアを開ける。
5)部屋の外へ出る。
等という各要素動作が設定される。
なお、図6の例では、補間処理として、動作主は、出演者(CGキャラクタ)であり、その意味解析として「部屋の外へ出る」、「部屋の外へ歩く」という内容が取得される。また、具体的動作設定としては、予め設定されたデータベースであるオブジェクト属性情報24等を適用することで、例えば目的位置へ歩くために必要な動作として「副目的(出口)方向を向く」、「副目的へ向かって歩く」、「障害物があればよける」、「出口が閉じている(ドア(障害物でない))が閉じていれば、一旦停止」、「ドアを開ける」、「目的地へ歩く」といった動作設定をセットで1グループ動作として設定することができる。なお、1グループとして関連付けられる動作内容については、本発明においてはこれに限定されず、複数の動作が含まれる。
<各要素動作の生成例>
次に、各要素動作の生成例について説明する。図7は、逐次型処理用APEにおける番組の具体例及び各要素動作生成により実行される動作遷移を説明するための図である。また、図8は、図7に対応する動作遷移における番組制作処理手順の一例を示すフローチャートである。
次に、各要素動作の生成例について説明する。図7は、逐次型処理用APEにおける番組の具体例及び各要素動作生成により実行される動作遷移を説明するための図である。また、図8は、図7に対応する動作遷移における番組制作処理手順の一例を示すフローチャートである。
本実施形態では、図7(a)〜(e)に示すような動作を行うために、必要な情報としてTVMLプレイヤー23の内部状態及びCGキャラクタの属性情報を取得し、これらの情報に基づいて各動作を生成するTVMLスクリプトを生成する。具体的には、以下に示す1)〜5)の動作について以下の処理を行う。
<1)部屋の出口の方向を向く>
まず、部屋に存在するオブジェクト(CGキャラクタ,テーブル)の位置(座標)及び属性情報を取得する。次に、ドアの位置(座標)を取得し、CGキャラクタを出口の方向を向かせる。
まず、部屋に存在するオブジェクト(CGキャラクタ,テーブル)の位置(座標)及び属性情報を取得する。次に、ドアの位置(座標)を取得し、CGキャラクタを出口の方向を向かせる。
このとき、a)部屋に存在するオブジェクト(CGキャラクタ,テーブル)の位置(座標)及び属性情報を取得する(S21)。具体的には、図7(b)に示すように、CGキャラクタの位置をTVMLプレイヤーが再生する映像の仮想空間に設定される座標等から取得する(例えば、x=−5,y(地面からの距離)=0,z=4,d(キャラクタの向き)=0等)。また、テーブルの位置をTVMLプレイヤーから取得する(例えば、x=0,y=0,z=0等)。更に、テーブルの属性情報を取得する(例えば、座れない/方向性あり/高さ1.0m等)。
次に、b)ドアの位置(座標)を取得し,CGキャラクタを出口の方向を向かせる(S22)。具体的には、図7(b)に示すように、ドアの位置をTVMLプレイヤーから取得する(例:x=5,y=0,z=−4)。つまり、この例では、スクリプトとして「d1=cos−1(b/c)」、「character:turn(name=characterA,d=d1)」が生成される。
<2)現在位置から出口へ向かって歩く>
次に、CGキャラクタをドアの座標に向かって歩かせる(S23)。つまり、この例では、スクリプトとして「character:walk(name=characterA,x=5+Δ,z=−4+Δ)」が生成される。なお、上述の「△」は、ドア手前の位置を示している。
次に、CGキャラクタをドアの座標に向かって歩かせる(S23)。つまり、この例では、スクリプトとして「character:walk(name=characterA,x=5+Δ,z=−4+Δ)」が生成される。なお、上述の「△」は、ドア手前の位置を示している。
<3)途中に障害物があれば、よけて出口へ向かって歩く(図7(c))>
次に、障害物があるか否かを判断し(S24)、テーブルの属性情報から障害物があると判断された場合(S24において、YES)、テーブルの外周情報を取得して、CGキャラクタをテーブルの外周に沿って歩かせてテーブルをよける動作を行う(S25)。
次に、障害物があるか否かを判断し(S24)、テーブルの属性情報から障害物があると判断された場合(S24において、YES)、テーブルの外周情報を取得して、CGキャラクタをテーブルの外周に沿って歩かせてテーブルをよける動作を行う(S25)。
ここで、他の動作オブジェクトであるテーブルをよける動作の具体例として、以下の手順で行う。まず、CGキャラクタを歩かせながら、常にCGキャラクタの外周とテーブル(障害物)の外周が重なっていないかをTVMLプレイヤーから取得する。なお、各オブジェクトの外周情報は、オブジェクト属性情報24から取得される。次に、CGキャラクタの外周座標,テーブルの外周座標から計算する。
ここで、CGキャラクタとテーブルがぶつかりそうになると、CGキャラクタの向きをドアまでの最短ルートからテーブルにぶつからない範囲まで変更し、テーブルにぶつかるのを回避する。つまり、S25の処理では、CGキャラクタに障害物であるテーブルを避ける方向を向かせ、少し歩かせる処理を行う。
なお、この例では、スクリプトとして「character:turn(name=characterA,d=Δd)」、「character:walk(name=characterA,x=Δx,z=Δz)」が生成される。
また、障害物がない場合(S24において、NO)、CGキャラクタがドア前に到着したか否かを判断する(S26)。ここで、ドア前に到着してない場合(S26において、NO)、S23に戻り後続の処理を行う。また、ドア前に到着している場合(S26において、YES)、ドアが閉じているか否かを判断する(S27)。ここで、ドアが閉じている場合(S27において、YES)、ドアを開く(S28)。
<4)ドアを開く(S28)、図7(d)>
S28の処理におけるドアを開く処理では、まずCGキャラクタがドアの座標の直前まで歩いて停止する。つまり、ドアの前の座標をゴールとして歩かせる。この例では、スクリプトとして「character:walk(name=characterA,x=5+Δ,z=−4+Δ)」が生成される。
S28の処理におけるドアを開く処理では、まずCGキャラクタがドアの座標の直前まで歩いて停止する。つまり、ドアの前の座標をゴールとして歩かせる。この例では、スクリプトとして「character:walk(name=characterA,x=5+Δ,z=−4+Δ)」が生成される。
次に、CGキャラクタは、ドアを開ける動作をする(S28)。これに合わせてドアが開く。つまり、ドアを開ける動作を行うモーションデータを使って、開ける動作を行わせる。また、CGキャラクタのドアを開ける動作に合わせてドアが開く。
なお、この例では、スクリプトとして「character:keyframe(name=characterA,keyframename=opendoor,・・・・)」、「prop:transform(name=doormove,・・・・)」が生成される。
<5)部屋の外に出る(S29)、図7(e)>
次に、ドアの幅の座標を取得して,CGキャラクタをこの幅の間で部屋の外の座標に向かって歩かせる(S29)。また、歩いた後、CGキャラクタの歩きを停止する。つまり、ドアの外にあるゴール(例えば、ゴールの座標、(goalx,goaly,goalz)へ向かってCGキャラクタを歩かせる。この例では、スクリプトとして「character:walk(name=characterA,x=goalx,y=goaly,z=goalz)」が生成される。
次に、ドアの幅の座標を取得して,CGキャラクタをこの幅の間で部屋の外の座標に向かって歩かせる(S29)。また、歩いた後、CGキャラクタの歩きを停止する。つまり、ドアの外にあるゴール(例えば、ゴールの座標、(goalx,goaly,goalz)へ向かってCGキャラクタを歩かせる。この例では、スクリプトとして「character:walk(name=characterA,x=goalx,y=goaly,z=goalz)」が生成される。
なお、本実施形態では、CGキャラクタが壁にぶつかりそうか否かを判断し(S30)、壁にぶつかりそうな場合(S30において、YES)、歩く方向を少し変えて歩かせて(S31)、S29の処理に戻り、後続の処理を行う。この例では、スクリプトとして、「character:turn(name=characterA,d=Δd)」、「character:walk(name=characterA,x=Δx,z=Δz)」が生成される。なお、ドアの幅座標(出口の幅座標)は、上述したオブジェクト属性情報24から取得する。
これにより、簡易な台本記述で映像コンテンツが制作できるという制作レベルを維持したまま、高度な演出を自動的に付加した映像コンテンツの制作が可能となる。
<番組制作処理制御手段11における制御の具体例>
次に、番組制作処理制御手段11における制御内容の具体例について、図を用いて説明する。図9は、番組制作処理制御手段における制御内容の具体例を説明するための図である。なお、図9(a)は、台本データの一例を示し、図9(b)は、図9(a)の台本に対応する制御の内容を示している。
次に、番組制作処理制御手段11における制御内容の具体例について、図を用いて説明する。図9は、番組制作処理制御手段における制御内容の具体例を説明するための図である。なお、図9(a)は、台本データの一例を示し、図9(b)は、図9(a)の台本に対応する制御の内容を示している。
本実施形態において、番組制作制御手段11は、入力された台本データを1行ずつ読み込み、その内容に基づいて上述したテンプレート置換型処理用APEで処理を行うか、逐次型処理用APEを行うかの選択を行う。
具体的には、番組制作処理制御手段11は、台本に設定されたタグの種類により識別することができる。例えば、図9(a)の(01)行目ではtextタグが記述されているため、この場合には、textタグに対応した処理を行う。本実施例では、textタグの場合には、図9(b)の(03)行目に示すように所定のテンプレート置換型処理用APE(talkscriptgeneration)をコールしてテンプレート置換型処理を実行させる。
また、図9(a)の(02)〜(04)行目では、actionタグが記述されているため、この場合は、そのタグに付加された値(value)によって処理を識別し、対応する処理(テンプレート置換型処理、逐次型処理)を行わせる。
例えば、actionタグの場合に、それぞれの値に応じて処理を行わせる場合、値が“喜”であれば、例えば図9(b)の(08)行目に示すように、CGキャラクタが笑顔になるTVMLスクリプトを生成する処理を行うためのテンプレート置換型処理用APE(expression_happy_generation)をコールしてテンプレート置換型処理を実行させる。また同様に、値が“おじぎ”であれば、例えば図9(b)の(09)行目に示すように、CGキャラクタがおじぎをするTVMLスクリプトを生成する処理を行うためのテンプレート置換型処理用APE(do_bow_generation)をコールしてテンプレート置換型処理を実行させる。
更に、値が“椅子に座る”であれば、例えば図9(b)の(10)行目に示すように、CGキャラクタが椅子に座る動作をするTVMLスクリプトを生成する処理を行うための逐次型処理用APE(sit_chair)をコールして逐次型処理を実行させる。
つまり、番組制作処理制御手段11は、タグ情報及びそのタグに用いられる値に応じてテンプレート置換型処理用APE及び逐次型処理用APEのうち、何れかのAPEに処理を行わせるかの情報を予め設定しておき、その設定された情報に対応させた処理を行う。
<他の実施例>
<出演者が複数いる場合の処理>
次に、他の実施例として出演者が複数いる場合の処理について説明する。図10は、出演者が複数いる場合の台本記述例を示す図である。例えば、番組に出演するCGキャラクタ(出演者)が複数いる場合、予め設定される複数のAPE(テンプレート置換型処理、逐次型処理)が台本の1行毎しかを処理されないと複数出演者のそれぞれの処理を同時にすることができない。
<出演者が複数いる場合の処理>
次に、他の実施例として出演者が複数いる場合の処理について説明する。図10は、出演者が複数いる場合の台本記述例を示す図である。例えば、番組に出演するCGキャラクタ(出演者)が複数いる場合、予め設定される複数のAPE(テンプレート置換型処理、逐次型処理)が台本の1行毎しかを処理されないと複数出演者のそれぞれの処理を同時にすることができない。
具体的に説明すると、図10(a)に示すように、A、B、Cの3人の出演者(CGキャラクタ)に対して台本が“(椅子に座る)”と記述されている場合、出演者Aが椅子に座ってから、Bが椅子に座り、最後にCが椅子に座る動作となる。したがって、このような場合には、3人が同時に椅子に座るといった動作を生成することができない。
そこで、本実施形態では、APEドライバである番組制作処理制御手段11は、台本(APEスクリプト)のname属性を見て、name属性の値が異なれば、同時にスクリプト生成処理をさせるように動作する。これにより、図10(a)の台本を入力すると、それぞれのname属性の値はA,B,Cでそれぞれ異なるため、A〜Cのキャラクタが同時に椅子に座る動作を行わせるスクリプトを生成する。なお、この場合には、テンプレート置換型処理用APE及び逐次型処理用APEのうち、予め設定されたAPEを用いて処理を行う。
また、上述の内容とは逆に順次椅子に座らせたい場合は、台本の記述において、前の記述の出演者の動作を待つ記述を追加する。
具体的には、図10(b)に示すように、台本にCGキャラクタBに対して“(Aを待つ)”と記述すると、CGキャラクタAが椅子に座る動作を開始し、即座にCGキャラクタBがCGキャラクタAの動作を待つ処理を行う。これにより、CGキャラクタBはCGキャラクタAが椅子に座り終わるまで待ってから椅子に座る動作を開始する。
同様に、台本にCGキャラクタC“(Bを待つ)”と記述すると、CGキャラクタCは、即座にCGキャラクタBが椅子に座り終わるまで待ち、CGキャラクタBが座り終わるとCGキャラクタCが椅子に座る動作を開始する。
なお、台本の“(Xを待つ)”に対応する処理は、キャラクタXの動作を指定するTVMLスクリプト生成が終了するのを待つ動作を行うものとして予め設定される。
<割込み処理>
次に、本実施形態において割込みがあった場合の処理について、図を用いて説明する。図11は、割込み処理について説明するための図である。また、図12は、割込み処理における番組制作処理制御手段の制御内容を説明するための図である。
次に、本実施形態において割込みがあった場合の処理について、図を用いて説明する。図11は、割込み処理について説明するための図である。また、図12は、割込み処理における番組制作処理制御手段の制御内容を説明するための図である。
ここで、割込み処理とは、例えば、台本に従って逐次型処理ルーチンがCGキャラクタの動作を生成している最中に、別の処理ルーチンにCGキャラクタの別の動作を生成させておき、この動作を割込み処理させた後、元の動作に戻るといった処理をいう。
図11(a)の例では、割込み処理として、CGキャラクタが出入口へ歩いていく動作をしている最中に、同じCGキャラクタにテレビ(TV)のスイッチを消させる動作を割込みさせ、スイッチを消した後に部屋から出ていくという動作をさせる場合を示している。つまり、図11(a)に示すように、出入口へ向かう途中でTVへ向かい、スイッチを消した後、その位置から出入口へ歩くといった処理を行う。
この場合、従来のAPEでは、同一のCGキャラクタの動作を生成する処理を一度に1つしか行うことができない。そこで、本発明では、上記の動作を実現するために、TVMLスクリプトの割込み処理を行う。
割込み処理は、台本記述と異なり非同期で処理を発生させるものである。したがって、割込み動作用のAPEスクリプトをAPEドライバとしての番組制作処理制御手段11が生成し、台本から割込み処理ルーチンに渡すことは無く、割込み処理ルーチンは、例えば図12(a)に示すように、外部のアプリケーション等により動作開始トリガを受け取ることで動作が開始される。
具体的には、図11(b)に示すような割込み処理ルーチン(TVを消す)は、生成スクリプトの先頭に割込みを開始するタグ(“interrupt_script”)を付加し((01)行目)、生成したTVMLスクリプトを番組制作処理制御手段11へ送信する。ここで、図11(b)において、(02)行目はCGキャラクタをTV方向へ向かせるためのスクリプトを示し、(03)行目は目的の位置(x=X1,z=Z1)までCGキャラクタを歩かせるためのスクリプトを示し、(04)行目は上述した逐次型処理においてスクリプト生成途中であることを示すタグ(“script_continue”)を示している。
番組制作処理制御手段11は、上述した割込みタグ付きのTVMLスクリプトを受け取ると(図12(a))、それまで受け取っていた通常の処理ルーチン(出口へ歩く)に対するTVMLスクリプトをTVMLプレイヤー23に送信するのを止め、割込み処理ルーチンからのTVMLスクリプトをTVMLプレイヤー23に送信する(図12(b))。なお、上述した通常の処理ルーチンから番組制作処理制御手段11が受け取るTVMLスクリプトについては、この間無視する。
次に、CGキャラクタがTVを消す動作を行い、割込み処理ルーチンから出力されるTVMLスクリプトに“script_continue”タグがなければ、番組制作処理制御手段11は、上述した通常の処理ルーチンにより生成されたスクリプトのTVMLプレイヤー23への出力を再開する(図12(c))。
上述したような処理により、本実施形態では、割込み処理における処理にも対応することができる。
<実行プログラム>
ここで、上述した番組制作装置10は、例えばCPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、マウスやキーボード、ポインティングデバイス等の入力装置、画像やデータを表示する表示装置、並びに外部と通信するためのインタフェース装置を備えたコンピュータによって構成することができる。
ここで、上述した番組制作装置10は、例えばCPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、マウスやキーボード、ポインティングデバイス等の入力装置、画像やデータを表示する表示装置、並びに外部と通信するためのインタフェース装置を備えたコンピュータによって構成することができる。
したがって、番組制作装置10が有する上述した各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現可能となる。また、これらのプログラムは、磁気ディスク(フロッピィーディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記録媒体に格納して頒布することもできる。
つまり、上述した各構成における処理をコンピュータに実行させるための実行プログラム(番組制作プログラム)を生成し、例えば汎用のパーソナルコンピュータやサーバ等にそのプログラムをインストールすることにより、番組制作処理を実現することができる。なお、本発明における実行プログラムによる処理については、例えば上述した図4や図8等に示すような各処理を実現することができる。
上述したように本発明によれば、番組用のスクリプトを生成する複数の異なる仕組みを用いて効率的に番組の制作を行うことができる。具体的には、本発明によれば、簡単な台本記述により高度な演出を自動的に付加した映像コンテンツを制作することができる。また、従来のAPEでは、低コストで予め指定したのみの演出付加か、高コストで状況に応じた柔軟な演出のどちらかの選択肢しかなかったが、本発明によれば、コストを必要以上にかけることなく既定の演出と柔軟な演出両方付加できる仕組みを実現することができる。
また、本発明によれば、柔軟な演出による映像コンテンツが比較的低コストで制作できるため、制作されるコンテンツ全体の品質が向上し、制作者の制作モチベーションの向上及び視聴者の視聴モチベーションの向上が期待できる。
以上本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
10 番組制作装置
11 番組制作処理制御手段
12 第1の番組構成手段
13−1,13−2 制作モジュール群
14−1,14−2 雛形TVMLスクリプト
15 第1の番組スクリプト生成手段
16 台本解析手段
17 目的動作設定手段
18 詳細動作設定手段
19 第2の番組構成手段
20 第2の番組スクリプト生成手段
21 リアルタイム情報取得手段
22 オブジェクト属性情報取得手段
23 TVMLプレイヤー
24 オブジェクト属性情報
11 番組制作処理制御手段
12 第1の番組構成手段
13−1,13−2 制作モジュール群
14−1,14−2 雛形TVMLスクリプト
15 第1の番組スクリプト生成手段
16 台本解析手段
17 目的動作設定手段
18 詳細動作設定手段
19 第2の番組構成手段
20 第2の番組スクリプト生成手段
21 リアルタイム情報取得手段
22 オブジェクト属性情報取得手段
23 TVMLプレイヤー
24 オブジェクト属性情報
Claims (6)
- 少なくとも番組内容の実体データである内容情報と、番組に与える演出・効果を示す演出情報とを含んだ台本データに対応した番組コンテンツを制作する番組制作装置において、
予め蓄積されたテンプレートの内容を前記台本データの記述内容で置換し、予め設定される番組構成内容に対応する演出内容を含む番組情報を生成する第1の番組構成手段と、
前記第1の番組構成手段により生成された前記演出内容を含む番組情報に基づいてテンプレート置換型のTVMLスクリプトを生成する第1の番組スクリプト生成手段と、
前記台本データの記述内容を解析する台本解析手段と、
前記台本解析手段により解析された台本データの記述内容に動作オブジェクトが含まれる場合には、前記動作オブジェクトに対する目的動作を行うために前記番組に含まれる他のオブジェクトに対応した詳細動作情報を設定する詳細動作設定手段と、
前記詳細動作設定手段により設定された詳細動作情報と、予め設定された前記台本データと、予め蓄積された制作モジュール群と、予め蓄積された雛形スクリプト群とに基づいて、前記雛形TVMLスクリプト群から前記台本データに対応する番組内容のTVMLスクリプトを取得し、取得した所定のTVMLスクリプトに基づいて番組構成内容に対応する演出内容を含む番組情報を生成する第2の番組構成手段と、
前記第2の番組構成手段により生成された前記演出内容を含む番組情報に基づいて逐次型のTVMLスクリプトを生成する第2の番組スクリプト生成手段と、
前記第1のスクリプト生成手段及び前記第2のスクリプト生成手段から得られる前記テンプレート置換型のTVMLスクリプト又は前記逐次型のTVMLスクリプトの何れかを再生し、再生された番組を表示する再生表示手段と、
前記台本データに含まれる前記演出情報毎に付加された識別情報に基づいて、前記第1の番組スクリプト生成手段又は前記第2の番組スクリプト生成手段の何れかを選択して前記テンプレート置換型のTVMLスクリプト又は前記逐次型のTVMLスクリプトの何れかを取得し、取得したTVMLスクリプトを前記再生表示手段に出力する番組制作処理制御手段と、を有することを特徴とする番組制作装置。 - 前記第2のスクリプト生成手段は、
前記台本データに対応する前記逐次型のTVMLスクリプトの生成が継続している場合、前記TVMLスクリプトに継続通知情報を付加することを特徴とする請求項1に記載の番組制作装置。 - 前記番組制作処理制御手段は、
前記第2のスクリプト生成手段により得られるTVMLスクリプトに前記継続通知情報が含まれる場合、前記第1の番組スクリプト生成手段により得られるTVMLスクリプトを前記再生表示手段に出力しないことを特徴とする請求項2に記載の番組制作装置。 - 前記再生表示手段により出力される画像から前記番組のリアルタイム情報を取得するリアルタイム情報取得手段と、
前記動作オブジェクト及び前記他のオブジェクトに対して予め設定された属性情報を取得するオブジェクト属性情報取得手段とを有し、
前記リアルタイム情報取得手段により得られる前記動作オブジェクトのリアルタイム情報と、前記オブジェクト属性情報取得手段により得られるオブジェクト毎の属性情報とに基づいて前記詳細動作情報を設定し、
前記第2のスクリプト生成手段は、前記詳細動作情報に基づいて前記逐次型のTVMLスクリプトの生成が継続しているか否かを判断することを特徴とする請求項2又は3に記載の番組制作装置。 - 前記番組制作処理制御手段は、
前記台本データに含まれる動作対象のCGキャラクタが異なる場合、各CGキャラクタに対する演出情報に対するTVMLスクリプトを、前記第1の番組スクリプト生成手段又は前記第2の番組スクリプト生成手段により同時に生成させることを特徴とする請求項1乃至4の何れか1項に記載の番組制作装置。 - 少なくとも番組内容の実体データである内容情報と、番組に与える演出・効果を示す演出情報とを含んだ台本データに対応した番組コンテンツを制作するための番組制作プログラムにおいて、
コンピュータを、
予め蓄積されたテンプレートの内容を前記台本データの記述内容で置換し、予め設定される番組構成内容に対応する演出内容を含む番組情報を生成する第1の番組構成手段、
前記第1の番組構成手段により生成された前記演出内容を含む番組情報に基づいてテンプレート置換型のTVMLスクリプトを生成する第1の番組スクリプト生成手段、
前記台本データの記述内容を解析する台本解析手段、
前記台本解析手段により解析された台本データの記述内容に動作オブジェクトが含まれる場合には、前記動作オブジェクトに対する目的動作を行うために前記番組に含まれる他のオブジェクトに対応した詳細動作情報を設定する詳細動作設定手段、
前記詳細動作設定手段により設定された詳細動作情報と、予め設定された前記台本データと、予め蓄積された制作モジュール群と、予め蓄積された雛形スクリプト群とに基づいて、前記雛形TVMLスクリプト群から前記台本データに対応する番組内容のTVMLスクリプトを取得し、取得した所定のTVMLスクリプトに基づいて番組構成内容に対応する演出内容を含む番組情報を生成する第2の番組構成手段、
前記第2の番組構成手段により生成された前記演出内容を含む番組情報に基づいて逐次型のTVMLスクリプトを生成する第2の番組スクリプト生成手段、
前記第1のスクリプト生成手段及び前記第2のスクリプト生成手段から得られる前記テンプレート置換型のTVMLスクリプト又は前記逐次型のTVMLスクリプトの何れかを再生し、再生された番組を表示する再生表示手段、及び、
前記台本データに含まれる前記演出情報毎に付加された識別情報に基づいて、前記第1の番組スクリプト生成手段又は前記第2の番組スクリプト生成手段の何れかを選択して前記テンプレート置換型のTVMLスクリプト又は前記逐次型のTVMLスクリプトの何れかを取得し、取得したTVMLスクリプトを前記再生表示手段に出力する番組制作処理制御手段として機能させるための番組制作プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010049262A JP5297404B2 (ja) | 2010-03-05 | 2010-03-05 | 番組制作装置及び番組制作プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010049262A JP5297404B2 (ja) | 2010-03-05 | 2010-03-05 | 番組制作装置及び番組制作プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011188096A JP2011188096A (ja) | 2011-09-22 |
JP5297404B2 true JP5297404B2 (ja) | 2013-09-25 |
Family
ID=44793885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010049262A Expired - Fee Related JP5297404B2 (ja) | 2010-03-05 | 2010-03-05 | 番組制作装置及び番組制作プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5297404B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4276393B2 (ja) * | 2001-07-30 | 2009-06-10 | 日本放送協会 | 番組制作支援装置及び番組制作支援プログラム |
JP5041853B2 (ja) * | 2007-04-04 | 2012-10-03 | 日本放送協会 | コンテンツ生成装置及びコンテンツ生成プログラム |
-
2010
- 2010-03-05 JP JP2010049262A patent/JP5297404B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011188096A (ja) | 2011-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110858408B (zh) | 动画制作系统 | |
KR101594578B1 (ko) | 스토리보드를 통한 애니메이션 저작 장치 및 그 방법 | |
US20160162154A1 (en) | System, apparatus and method for movie camera placement based on a manuscript | |
JP2011175598A (ja) | 手話アニメーション生成装置及び手話アニメーション生成プログラム | |
JP2016038601A (ja) | Cgキャラクタ対話装置及びcgキャラクタ対話プログラム | |
KR20080010564A (ko) | 3d 버추얼 에이전트를 사용한 멀티미디어 나레이션 저작시스템 및 그 제공 방법 | |
JP4917920B2 (ja) | コンテンツ生成装置及びコンテンツ生成プログラム | |
JP2009122667A (ja) | 台詞音声作成装置、発話音声収録装置、及びコンピュータプログラム | |
JP2010140278A (ja) | 音声情報可視化装置及び音声情報可視化プログラム | |
JP4865469B2 (ja) | コンテンツ制作サーバ、コンテンツ提示装置、コンテンツ制作プログラム、及びコンテンツ提示プログラム | |
JP5041853B2 (ja) | コンテンツ生成装置及びコンテンツ生成プログラム | |
JP5297404B2 (ja) | 番組制作装置及び番組制作プログラム | |
US11423941B2 (en) | Write-a-movie: unifying writing and shooting | |
JP4917917B2 (ja) | コンテンツ生成装置及びコンテンツ生成プログラム | |
JP5215960B2 (ja) | 自動番組制作装置及び自動番組制作プログラム | |
JP7497502B1 (ja) | プログラム及びシステム | |
JP2001195604A (ja) | 動画像情報の編集方法 | |
JP4796466B2 (ja) | コンテンツ管理サーバ、コンテンツ提示装置、コンテンツ管理プログラム、及びコンテンツ提示プログラム | |
JP2008299493A (ja) | コンテンツ作成支援システム及びコンピュータプログラム | |
JP4068915B2 (ja) | 映像データ編集装置及び編集方法 | |
JP2005348425A (ja) | 映像デ―タ編集方法 | |
JP4778302B2 (ja) | 対話型コンテンツ提示装置及び対話型コンテンツ提示プログラム | |
Polyzos | Critical Examination of the Use of Artificial Intelligence as a Creative Tool in Editing and its Potential as a Creator in its own | |
JP2001034776A (ja) | アニメーション編集システムおよびアニメーション編集プログラムを記録した記憶媒体 | |
JP2005223744A (ja) | 動画マニュアル |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120323 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130507 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130521 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130614 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |