JP2007272375A - スクリプト生成方法およびプログラム - Google Patents
スクリプト生成方法およびプログラム Download PDFInfo
- Publication number
- JP2007272375A JP2007272375A JP2006094880A JP2006094880A JP2007272375A JP 2007272375 A JP2007272375 A JP 2007272375A JP 2006094880 A JP2006094880 A JP 2006094880A JP 2006094880 A JP2006094880 A JP 2006094880A JP 2007272375 A JP2007272375 A JP 2007272375A
- Authority
- JP
- Japan
- Prior art keywords
- script
- camera
- coordinates
- cut
- command
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【課題】スクリプト生成方法およびプログラムを提供する。
【解決手段】あるカットにおける動作主体の候補のリストと、当該動作主体に関連する1つ又は複数の動作の候補のリストを提供するインターフェースを提供するステップを備える。また、選択された動作主体に選択された動作を与える1つまたは複数のコマンドを含むコマンドセットおよび各コマンドに対応する1つまたは複数の待機コマンドを含む待機コマンドセットが所定の位置に含まれたスクリプトを出力するステップを備える。
【選択図】図13
【解決手段】あるカットにおける動作主体の候補のリストと、当該動作主体に関連する1つ又は複数の動作の候補のリストを提供するインターフェースを提供するステップを備える。また、選択された動作主体に選択された動作を与える1つまたは複数のコマンドを含むコマンドセットおよび各コマンドに対応する1つまたは複数の待機コマンドを含む待機コマンドセットが所定の位置に含まれたスクリプトを出力するステップを備える。
【選択図】図13
Description
本発明は、スクリプト生成方法およびプログラムに関し、より詳細には、再生エンジンで動画を再生するために逐次実行される複数のコマンドを含むスクリプト生成方法およびプログラムに関する。
コンピュータを使って画像を処理/生成するCG(コンピュータグラフィックス)技術を利用したコンテンツ作りが盛んに行われている。また、あらかじめ用意されたセット、小道具、キャラクタ、カメラなどの配置や動作を決定するコマンドを記述する言語が知られている(例えば、非特許文献1参照)。
例えば、非特許文献1のTVML(TV Program Making Language)は、キャラクタ、セット、小道具、カメラの配置や動作のコマンドを記述する言語であって、テキストベースのスクリプト(以下、TVMLを用いて記述されたスクリプトをTVMLスクリプトという。)である。
図1に示すように、TVMLスクリプト100は、再生エンジン102(以下、TVMLスクリプトに含まれるコマンドを逐次実行して動画を再生するエンジンをTVMLエンジンという。)により、TVMLスクリプト内のコマンドが逐次実行される。その結果、TVMLエンジン102は、その記述の通りに小道具が配置されたセット内を記述の通りにキャラクタが動作する様子を、記述通りのカメラ動作で描画した動画104を再生する。
図2に、一般的なTVMLスクリプトの例を示す。図2(a)は、動画に登場するメインのキャラクタ(char_main)が「おじぎ」をしながら「寒いですね」と言う様子をカメラBで撮影したカットを記述し、図2(b)は、別のキャラクタ(char_sub)が「おじぎ」をしながら「いやあ本当に寒い」と言う様子をカメラBで撮影したカットを記述するTVMLスクリプトである。
より詳細には、図2(a)の1行目は、カメラをカメラB(CamB)に切り換えるコマンドである。2行目は、CamBを「移動」するコマンドであり、移動すべき座標(x,y,z)、パン(横振り)(pan)、チルト(縦振り)(tilt)、ロール(光軸回り回転)の角度(roll)、およびレンズの垂直画角(vangle)を指定するパラメータを含む。なお、座標は、仮想的な空間であるセット内における座標である。
図2(a)の3行目は、メインのキャラクタ(char_main)に「おじぎ」をするという動作を与えるコマンドである。4行目は、メインのキャラクタ(char_main)に「寒いですね」という発話の動作を与えるとともに、「寒いですね」というキャプションを表示させるコマンドである。
したがって、図2(a)のスクリプトは、2つの動作主体(カメラB(CamB)、およびメインのキャラクタ(char_main))を含み、2つの動作主体の各々についての動作(カメラ(CamB)の移動の動作、およびメインのキャラクタ(char_main)のおじぎと発話の動作)を含むカットが記述されたスクリプトである。
また、図2(b)の1および2行目は、それぞれ図2(a)の1および2行目に対応するコマンドである。また、図2(b)の3および4行目はそれぞれ、図2(a)の3および4行目に対応し、別のキャラクタ(char_sub)に「おじぎ」の動作および「本当に寒いですね」という発話の動作を与えるコマンドである。
図2に示すように、TVMLスクリプトは、TVMLの定義にしたがってあらかじめ用意された比較的簡単なコマンドセットを用いて記述できるという利点がある。また、TVMLスクリプトはテキストベースである故、テキストエディタなどを用いて生成することができる利点を有する。
http://www.nhk.or.jp/strl/tvml/japanese/what/index.html
しかしながら、TVMLにおけるコマンドは、動作を与えるコマンド毎にキャラクタやカメラなどの動作主体をパラメータとして指定して記述する必要があり、動画に登場する動作主体や動作主体に動作を与えるコマンドの種類が多くなると、人間がこれらを記憶し、識別してコマンドをTVMLスクリプトに記述することが困難となる。
また、上述したように、TVMLエンジンは、TVMLスクリプトの記述に通りにキャラクタやカメラを動作させる、すなわち、TVMLスクリプト内に記述された互いに実行時間の異なる複数のコマンドを逐次実行するため、キャラクタやカメラなどの複数の動作のタイミングを意識してコマンドを記述する必要があるという問題があった。
すなわち図3に示すように、2つのカットにそれぞれ対応する図2(a)および(b)のスクリプトをTVMLスクリプト内に単に並べて記述し、TVMLエンジンで再生させた場合、そのように意図されたか否かにかかわらず複数の動作主体の動作のタイミングは画一的となり、それぞれのTVMLスクリプトに含まれる複数の動作主体の動作が同時に起こるように再生される。さらに、これに続くコマンドを考慮するとさらに複雑になる。
また、カメラの動作は、多数のパラメータを設定したコマンドを記述する必要があり、動作するキャラクタがフレーム内に収まるようにカメラを動作させるためのパラメータを設定することが困難であるという問題があった。
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、文章を作成する要領で主語、動詞、目的語を選択または入力することにより、当該主語、目的語に対応したパラメータが設定された当該動詞に対応したコマンドを含むTVMLスクリプトを生成する方法およびプログラムを提供することにある。
また、キャラクタやカメラなどの複数の動作のタイミングを自動的に設定することができるスクリプト生成方法およびプログラムを提供することにある。
また、動作するキャラクタがフレーム内に収まるパラメータをカメラの動作のコマンドに自動的に設定することができるスクリプト生成方法およびプログラムを提供することにある。
本発明は、このような目的を達成するために、請求項1に記載の発明は、再生エンジンで動画を再生するために逐次実行される複数のコマンドを含むスクリプトの生成方法であって、動画に含まれる複数の動作主体に設定されたラベル名を含むリソースデータ、および前記動作主体に動作を与えるコマンドに設定されたラベル名を含むマクロデータを記憶するステップと、前記動画に含まれる第1のカットにおける複数の動作主体および前記複数の動作主体の各々に関連する1つ又は複数の動作を決定するためのインターフェースを提供するステップとを含み、前記インターフェースは、前記第1のカットにおける複数の動作主体の候補として、前記リソースデータに含まれた前記複数の動作主体に設定された前記ラベル名のリストを提供し、前記複数の動作主体の各々に関連する前記1つ又は複数の動作の候補として、前記マクロデータに含まれた前記コマンドに設定された前記ラベル名のリストを提供することを特徴とする。
請求項2に記載の発明は、請求項1に記載のスクリプト生成方法であって、前記複数の動作主体は、キャラクタを含み、前記動作主体の各々に関連する1つ又は複数の動作は、前記キャラクタの発話を含み、前記インターフェースは、前記キャラクタの発話内容を入力する発話フィールを有することを特徴とする。
請求項3に記載の発明は、再生エンジンで動画を再生するために逐次実行される複数のコマンドを含むスクリプトの生成方法であって、動画に含まれる第1のカットにおける複数の動作主体を決定する動作主体決定ステップと、前記複数の動作主体の各々に関連する1つ又は複数の動作を決定する動作決定ステップと、前記1つ又は複数の動作に対応する複数のコマンドを含む第1のコマンドセット、および前記複数のコマンドの各々に対応し、前記コマンドが終了するまで次のコマンドの実行を待機させる複数の待機コマンドを含む第1の待機コマンドセットを含むスクリプトを出力するスクリプト出力ステップとを含み、前記第1のコマンドセットは、前記第1の待機コマンドセットより前に実行されるように前記スクリプトに含まれることを特徴とする。
請求項4に記載の発明は、請求項3に記載のスクリプト生成方法であって、前記動画に含まれる第2のカットにおける複数の動作主体の動作を決定する第2のカット決定ステップと、前記第1のカットに対する前記第2のカットの開始位置を決定する開始位置決定ステップとをさらに含み、前記スクリプト出力ステップは、前記第2のカットにおける複数の動作主体の動作に各々対応する複数のコマンドを含む第2のコマンドセット、および前記第2のコマンドセットに含まれるコマンドの各々に対応し、前記コマンドが終了するまで次のコマンドの実行を待機させる複数の待機コマンドを含む第2の待機コマンドセットをさらに含む前記スクリプトを出力し、前記第2のコマンドセットおよび前記第2の待機コマンドセットは、前記第2のカットの開始位置で実行されるように前記スクリプトに含まれることを特徴とする。
請求項5に記載の発明は、請求項4に記載のスクリプト生成方法であって、前記第2のカットの開始位置が前記第1のカットの開始位置である場合に、前記スクリプト出力ステップは、前記第1のコマンドセットの実行と前記第1の待機コマンドセットの実行の間で前記第2のコマンドセットが実行され、前記第2のコマンドセットの実行後に前記第2の待機コマンドセットが実行される前記スクリプトを出力することを特徴とする。
請求項6に記載の発明は、請求項4に記載のスクリプト生成方法であって、前記第2のカットの開始位置が前記第1のカットの終了位置である場合に、前記スクリプト出力ステップは、前記第1の待機コマンドセットの実行後に前記第2のコマンドセットが実行される前記スクリプトを出力することを特徴とする。
請求項7に記載の発明は、請求項4に記載のスクリプト生成方法であって、前記第2のカットの開始位置が前記第1のカットの終了位置から所定時間経の過後である場合に、前記スクリプト出力ステップは、前記第1および第2の待機コマンドの実行後に実行される、前記所定時間が経過するまで次のコマンドの実行を待機させる所定時間待機コマンドをさらに含む前記スクリプトを出力することを特徴とする。
請求項8に記載の発明は、請求項3に記載のスクリプト生成方法であって、前記動画に含まれる第1のカットにおける複数の動作主体の動作は、第1の動作主体の動作およびカメラの動作を含み、前記第1のコマンドセットは、第1の動作主体の動作に対応する第1のコマンド、および前記カメラの動作に対応するカメラコマンドを含み、前記方法は、前記第1の動作主体の座標に基づいて、前記カメラの座標および方向を含むカメラパラメータを計算するカメラパラメータ計算ステップをさらに含み、前記スクリプト出力ステップは、計算された前記カメラの座標および方向を含むカメラパラメータ、ならびに前記カメラコマンドを含む前記スクリプトを出力することを特徴とする。
請求項9に記載の発明は、請求項8に記載のスクリプト生成方法であって、前記カメラパラメータ計算ステップは、前記カメラの座標および方向としてそれぞれ、前記第1の動作主体の座標から所定の距離離れた座標、および当該座標から前記第1の動作主体の座標への方向となる方向を計算することを特徴とする。
請求項10に記載の発明は、請求項8に記載のスクリプト生成方法であって、前記動画に含まれる第1のカットは、さらに被写体を含み、
前記カメラパラメータ計算ステップは、前記第1の動作主体の座標および前記被写体の座標に基づいて、前記カメラの座標および方向を含む前記カメラパラメータを計算することを特徴とする。
前記カメラパラメータ計算ステップは、前記第1の動作主体の座標および前記被写体の座標に基づいて、前記カメラの座標および方向を含む前記カメラパラメータを計算することを特徴とする。
請求項11に記載の発明は、請求項10に記載のスクリプト生成方法であって、前記カメラパラメータ計算ステップは、前記カメラの座標および方向としてそれぞれ、前記第1の動作主体の座標と前記被写体の座標との中点から所定の距離だけ座標、および当該座から前記中点への方向となる方向を計算することを特徴とする。
請求項12に記載の発明は、請求項8に記載のスクリプト生成方法であって、前記動画に含まれる第1のカットは、さらに2つ以上被写体を含み、
前記カメラパラメータ計算ステップは、前記第1の動作主体の座標および前記2以上の被写体の座標に基づいて、前記カメラの座標および方向を含む前記カメラパラメータを計算することを特徴とする。
前記カメラパラメータ計算ステップは、前記第1の動作主体の座標および前記2以上の被写体の座標に基づいて、前記カメラの座標および方向を含む前記カメラパラメータを計算することを特徴とする。
請求項13に記載の発明は、請求項12に記載のスクリプト生成方法であって、前記カメラパラメータ計算ステップは、前記カメラの座標および方向としてそれぞれ、前記第1の動作主体の座標および前記2以上の被写体の座標を辺に含む四角形の中心から所定の距離だけ座標、および当該座から前記中点への方向となる方向を計算することを特徴とする。
なお、請求項1ないし13のいずれかに記載の発明が、請求項14に記載のコンピュータプログラムに適用できることは言うまでもない。
以上説明したように、本発明によれば、文章を作成する要領で主語、動詞、目的語を選択または入力することにより、当該主語、目的語に対応したパラメータが設定された当該動詞に対応したコマンドを含むTVMLスクリプトを生成する方法およびプログラムを提供することができる。
また、本発明によれば、キャラクタやカメラなどの複数の動作のタイミングを自動的に設定することができるスクリプト生成方法およびプログラムを提供することができる。
また、動作するキャラクタがフレーム内に収まるパラメータをカメラの動作のコマンドに自動的に設定することができるスクリプト生成方法およびプログラムを提供することができる。
以下、図面を参照しながら本発明の実施形態について詳細に説明する。以下の詳細な説明ではTVMLを例に本発明を説明するが、本発明は、TVMLに限定されるものではなく、動画を再生する再生エンジン(例えば、TVMLエンジン)によって逐次実行されるキャラクタやカメラなどの複数の動作のコマンドを記述するスクリプト(例えば、TVMLスクリプト)に、各コマンドの実行タイミングを自動的に設定することができるスクリプト生成方法およびプログラムを提供する。なお、本明細書中、カメラに関連するコマンドをカメラコマンドといい、カメラコマンドのパラメータをカメラパラメータということもある。また、キャラクタに関連するコマンドをキャラクタコマンドということもある。
図4に示すように、本発明のスクリプト生成方法またはプログラムを実施するTVMLスクリプト生成装置400(例えば、コンピュータ)によって、キャラクタやカメラなどの複数の動作主体の各々に動作を与える1つまたは複数のコマンドのセット(以下、コマンドセットという。)、および各動作主体の動作の実行タイミングを規定するための待機コマンド(コマンドに対応し、当該コマンドが終了するまで次に実行されるコマンドを待機させるコマンド)のセット(以下、待機コマンドセットという。)が自動的に設定されたTVMLスクリプト100が生成される。また、TVMLスクリプト生成装置400によって、カメラコマンドに含まれるカメラパラメータが自動的に設定される。TVMLスクリプト100はTVMLエンジン102によって実行され動画104が再生される。
<TVMLスクリプト生成装置例>
図11に、本発明を実施するTVMLスクリプト生成装置400の構成を示す。TVMLスクリプト生成装置400は、リソースデータ1142、シーン設定データ1144、マクロデータ1146、読替辞書データ1150、およびシナリオデータ1152を解析してTVMLスクリプト100を生成するTVMLスクリプト生成部1120を備える。また、TVMLスクリプト生成装置400は、シナリオデータ1152を作成または編集するシナリオ設定部1102を含むシナリオ作成インターフェース1100を含む。
図11に、本発明を実施するTVMLスクリプト生成装置400の構成を示す。TVMLスクリプト生成装置400は、リソースデータ1142、シーン設定データ1144、マクロデータ1146、読替辞書データ1150、およびシナリオデータ1152を解析してTVMLスクリプト100を生成するTVMLスクリプト生成部1120を備える。また、TVMLスクリプト生成装置400は、シナリオデータ1152を作成または編集するシナリオ設定部1102を含むシナリオ作成インターフェース1100を含む。
シナリオ作成インターフェース1100は、リソースデータ1142、シーン設定データ1144、マクロ設定データ1146、および読替辞書データ1150をそれぞれ作成または編集するリソース設定部1106、シーン設定部1105、マクロ設定部1104、および読替辞書設定部1103を備えてもよい。
また、TVMLスクリプト生成部1120は、コマンドセット生成部1122と、待機コマンドセット生成部1124と、コマンド合成部1226とを備える。
リソースデータ1142は、シナリオ内で用いることができるカメラ、キャラクタ、セット、ライト、および小道具などを特定する情報と共にラベル名などの初期設定情報を含む。例えば、男子生徒というキャラクタをシナリオ内で用いる場合、リソースデータ1142内において、そのキャラクタに関連するファイルのファイル名がパス名とともに特定され、そのキャラクタに男子学生というラベルが設定される。
図14に、リソースデータ1142の例を示す。3から16行目はカメラについての初期設定情報であり、使用できるカメラA,B,およびCのそれぞれに、「メインカメラ」、「移動カメラ」、および「全体カメラ」のラベル名が設定されている。
また、図14の18から34行目はキャラクタについての初期設定情報であり、ラベル名(男子生徒、女子生徒)、モデル名(char_main、char_sub)、およびキャラクタに関連するファイルであってキャラクタを構成するパーツに関連する情報を含むファイルのファイル名(char_main.bm、char_sub.bm)が関連づけられている。
また、図14の35から41行目はセットについての初期設定情報であり、ラベル名(学校)、セット名(school)、セットのオブジェクトデータを含むファイル名(school.obj)が関連づけられている。
シーン設定データ1144は、リソースデータ1142で特定されたカメラ、キャラクタ、小道具、セット、およびライトの座標などの初期値に関する情報を含む。例えば、後述するシナリオデータ内で、座標などのカメラパラメータが特に指定されていない場合、シーン設定データ1144に含まれる情報が参照される。
図15にシーン設定データ1144の例を示す。8〜17行目はキャラクタについての初期値である。例えば、9〜12行目および13〜16行はそれぞれ、モデル名char_mainおよびモデル名char_subの座標の初期値を設定している。各モデルについて、シーン内で使用するか否か、初期において可視表示するか否かを初期値としてシーン設定データ内に設定することもできる。
また、図15の18〜34行目は、カメラA、B、およびCの初期座標およびその他の初期パラメータを設定している。各カメラについて、シーン内で使用するか否かを初期値としてシーン設定データ内に設定することもできる。
マクロデータ1146は、リソースに対する動作を規定する追加のコマンドを含む。すなわち、TVMLでは、リソースに対する動作を規定するあらかじめ用意されたコマンドを用いてTVMLスクリプトを記述することができるが、マクロデータ1146にさらにこれらのコマンドおよびパラメータを組み合わせて追加のコマンドを規定することができる。
また、マクロデータ1146は、あらかじめ用意されたコマンドおよび追加のコマンドに対するラベル設定情報を含むことができる。
また、マクロデータ1146は、リソースに動作を与えるコマンドのパラメータを決定するサブプログラムあるいはサブルーチンを含む。例えば、カメラの座標や方向を決定するサブプログラムが含まれる。
図16に、マクロデータ1146の例を示す。21から25行目は、あらかじめ用意されたコマンドbowにラベル名「おじぎする」を設定するものである。また、26から30行目は、追加のコマンドbow1を規定するともに、bow1にラベル名「礼をする」を設定するものである。bow1は、あらかじめ用意されたコマンドbowのパラメータ(speed、level)を変更するものである。コマンドbowのパラメータspeedおよびlevelはそれぞれ、動作のスピードおよび角度を規定するもので、デフォルトはそれぞれ、1.0および30度である。したがって、追加のコマンドbow1は、より速くより深くおじぎするコマンドに相当する。
図16の3から18行目は、追加のコマンドfront_closeupを規定するとともに、front_closeupにラベル名「前面クローズアップ」を設定するものである。追加のコマンドfront_closeupは、あるカットにおけるカメラをCamBに切り換えるカメラコマンドswitch(8行目)とカメラを移動するカメラコマンドmovement(16行目)とを組み合わせて構成されている。図16の9から15行目は、カメラの座標や方向を決定するためのサブプログラムである。9から15行目で決定したカメラの座標や方向は、16行目のカメラコマンドmovementのパラメータとして設定される。
図16の9から15行目をより詳細に説明する。$AutoCAM()は、カメラコマンドmovementに設定するカメラパラメータx、y、z、Pan、Tilt、Roll、およびVAngleの値を決定するために呼び出されるサブプログラムであり、var、Target、Pos、およびRangeをパラメータとする。
Targetは、カメラが撮影しようとするキャラクタまたは小道具などの名前を指定するパラメータである。したがって、カメラパラメータは、Targetを基準に決定される。
Posは、カメラをTargetに対してどの方向に配置するかを指定するパラメータである。本実施形態では、Posとして、Fromt(正面方向)、FrontLeft(正面左方向)、Left(左方向)、BackLeft(背面左方向)、Back(背面)、BackRight(背面右方向)、Right(右方向)、FrontRight(正面右方向)を選択可能としている。しかし、これに限られるものではなく、Posとして、Targetの任意の方向を選択可能としてもよい。
Rangeは、カメラをTargetからどのくらい離れた位置に配置するかを指定するパラメータである。本実施形態では、Posとして、Short(1.0)、Middle(2.0)、Long(3.0)を選択可能としている。しかし、これに限定されるものではなく、Rangeとして選択可能な所定の距離は自由に設定できる。
varは、$AutoCAM()が返す値を指定するパラメータである。varとして、カメラパラメータに含まれるx、y、z、Pan、Tilt、Roll、およびVAngleのいずれかを指定することができる。
このように、$AutoCAM()は、TargetからPosで指定した方向にRangeで指定した距離だけ離れた点の座標x、y、およびzを計算して、いずれかの値(のポインタ)をvar(x、y、およびz)にしたがって返すように構成されている。
さらに、$AutoCAM()は、カメラの方向がTargetとなるようなPan、Tilt、Roll、およびVAngleの値を計算して、いずれかの値をvarにしたがって返すように構成されている。最も単純な例では、$AutoCAM()は、Tilt、Roll、およびVAngleのデフォルト値を返し、Pan(横振り)の値のみをTargetと計算された座標から計算するように構成することができる。
読替辞書データ1150は、テキスト−音声変換部(図示しない)が指定されたテキストを正しい音声で出力するための辞書データである。
シナリオデータ1152は、キャラクタおよびカメラの動作を規定する情報を含む。例えば、キャラクタの動作を規定する情報は、動作の主体に関する属性と属性値(例えば、char_main)、動作の対象に関する属性と属性値(例えば、char_subなどのキャラクタ、セットの一部、セット内の小物など)、動作に関する属性と属性値(例えば、bow,bow1)、発話内容(例えば、「寒いですね」などの台詞)を属性値とする発話動作に関する属性、およびカット間のタイミングに関する属性と属性値などのデータ構造を有する。すなわち、キャラクタおよびカメラの動作を規定する情報は、誰(何)が、何に、何を、どうするにそれぞれ対応する属性情報と、属性情報に対応するコマンドおよび/またはパラメータなどの属性値を含む。
また、シナリオデータ1152は、制作者情報や登場するキャラクタの紹介などのオープニング情報やエンディング情報に関する情報を含むことができる。
なお、本明細書では、1つまたは複数のカットの集合をページといい、1つまたは複数のページの集合をシナリオ本体といい、シナリオ本体とそれ以外のオープニング情報やエンディング情報に関する情報をシナリオという。より詳細には、シナリオデータ1152は、一つカット内における複数の動作主体の動作を規定する情報(複数の属性と属性値の集合)を一つのカット属性の属性値とすることで、一つのカットを規定する。同様に、シナリオデータ1152は、1つまたは複数のカット属性値の集合を一つのページ属性の属性値とすることで、一つのページを規定する。さらに、シナリオデータ1152は、1つまたは複数のページ属性値の集合を一つのシナリオ本体属性の属性値とすることで、一つのシナリオ本体を規定する。
図17にシナリオデータ1152の例を示す。シナリオデータ1152は、シナリオ本体のみを示し、シナリオ属性<senario>の属性値として1つのページを含む。また、このページ属性<page>の属性値は、3つのカットを含む。各カット属性<cut>の属性値は、カット内における複数の動作主体の動作を規定する情報(複数の属性と属性値の集合)を含む。
図17の9から11行目は、カメラの動作を規定する情報であって、カメラに関する属性<camera>とその属性値を含む。属性<camera>は、カメラの動作に関する属性<name>と属性値「front_closeup」とを属性値とする。属性<camera>は、ラベル名に関する属性<label>とその属性値「前面クローズアップ」をさらに含む。
また、図17の12から22行目は、キャラクタの動作を規定する情報であて、キャラクタに関する属性<who>とその属性値、表情に関する属性<expression>とその属性値、発話動作に関する属性<speech>とその属性値、動作の対象に関する属性<target>、<target2>とその属性値、および動作に関する属性<action>と属性値を含む。
属性<who>は、キャラクタのモデル名に関する属性<name>およびその属性値「char_main」と、キャラクタのラベル名に関する属性<label>およびその属性値「男子学生」とを属性値とする。属性<speech>は、「寒いですね」を属性値とする。属性<action>は、キャラクタの動作に関する属性<name>と属性値「bow」を属性値とする。また、属性<speech>は、ラベル名に関する属性<label>とその属性値「おじぎする」をさらに含む。
図17の24行目は、カット間のタイミングを規定する情報であって、カット間のタイミングに関する属性<wait>とその属性値「Wait」を含む。
図11に示す、リソースデータ1142、シーン設定データ1144、マクロデータ1146、読替辞書データ1150、およびシナリオデータ1152は、後述するシナリオ作成インターフェース1100を用いて生成することができる。
リソースデータ1142、シーン設定データ1144、マクロデータ1146、読替辞書データ1150、およびシナリオデータ1152は、TVMLスクリプト生成部1120によってアクセス可能なメモリ上に記憶される。
コマンドセット生成部1122は、シナリオデータ1152を解析し、TVMLにしたがったコマンドセットを生成する。
待機コマンドセット生成部1124は、シナリオデータ1152を解析し、コマンドセットに対応するTVMLにしたがった待機コマンドセットを生成する。
コマンド合成部1226は、コマンドセット生成部1122によって生成されたコマンドセットおよび待機コマンドセット生成部によって生成された待機コマンドセットのTVMLスクリプト100における記述位置を決定して、TVMLスクリプト100に出力する。
<シナリオ作成インターフェース>
図12に、シナリオデータを作成するために用いることができる、シナリオ作成インターフェース1100の例を示す。シナリオ作成インターフェース1100は、一つの行を用いて一つのカット内のキャラクタおよびカメラの動作を規定することができる。また、一つの行を用いて一つのカット内の効果音を規定することもできる。各行には、カット番号1200が付与されている。
図12に、シナリオデータを作成するために用いることができる、シナリオ作成インターフェース1100の例を示す。シナリオ作成インターフェース1100は、一つの行を用いて一つのカット内のキャラクタおよびカメラの動作を規定することができる。また、一つの行を用いて一つのカット内の効果音を規定することもできる。各行には、カット番号1200が付与されている。
一つの行は、動作を規定するキャラクタを決定するための「誰」フィールド1201、キャラクタの発話および発話内容を規定する「台詞」フィールド1202、キャラクタの表情を規定する「表情」フィールド1204、キャラクタの動作が何に対して行われるのかを規定する「何に」フィールド1205、キャラクタの動作が何をするかを規定する「何を」フィールド1206、およびキャラクタの動作を規定する「どうする」フィールド1207を含む。
また、一つの行は、カットにおけるカメラの動作を規定する「カメラ」フィールド1203を含む。さらに、一つの行は、効果音を規定する「効果音」フィールド1209を含むことができる。
さらにまた、一つの行は、次の行(カット)の開始位置を規定する「同期」フィールド1203を含む。
「誰」フィールド1201、「表情」フィールド1204、「何に」フィールド1205、「何を」フィールド1206、および「どうする」フィールド1207は、それぞれプルダウンメニューから選択できるように構成されている。
シナリオ設定部1102は、各フィールドの選択値または入力値からシナリオデータ1152を生成する。
例えば、シナリオ作成インターフェース1100は、リソースデータ1142やマクロデータ1146に含まれるキャラクタのラベル名を含むリストを生成し、このリストをプルダウンメニューとして表示する。これにより、シナリオ作成インターフェース1100は、図14に例示したリソースデータ1142に初期設定された男子学生および女子学生が、シナリオに登場するキャラクタとして、「誰」フィールド1201のプルダウンメニューのリストから選択されるようにすることができる。さらに、シナリオ設定部1102は、プルダウンメニューのリストからの選択値により、一つのカットの動作主体の一つであるキャラクタを決定することができる。すなわち、シナリオ設定部1102は、図17に例示したシナリオデータ1152の各カットにおけるキャラクタに関する属性<who>に対応する属性値を決定することができる。
同様に「表情」フィールド1204、「何に」フィールド1205、「何を」フィールド1206、および「どうする」フィールド1207についても、シナリオ設定部1102は、プルダウンメニュー(例えば、1221,1222)からの選択値により、シナリオデータ1152の各カットにおける属性(<expression>、<target>、<target2>、<action>)に対する属性値を決定することができる。
また、台詞フィールド1202は、発話の内容(動作内容)をテキスト入力できるように構成されている。台詞フィールド1202への入力値の有無により、シナリオ設定部1102は、「誰」フィールド1201で決定されたキャラクタに、台詞フィールド1202にテキストを発話させると決定することができる。すなわち、台詞フィールド1202にテキストが入力された場合、シナリオ設定部1102は、動作が発話であると決定し、発話動作に関する属性<speech>についての属性値が台詞フィールド1202に入力されたテキストであると決定することができる。
同様に、シナリオ設定部1102は、「カメラ」フィールド1203のプルダウンメニューからの選択値により、動作主体がカメラであることを示す属性、すなわちカメラに関する属性<camera>に対する属性値(カメラの動作に関する属性<name>と属性値)を決定できるように構成されている。「効果音」フィールド1209についても同様である。
さらに、「同期」フィールド1208もプルダウンメニューから選択できるように構成されている。より詳細には、「同期」フィールド1208のプルダウンメニュー(1223)のリストは、次の行(カット)の開始位置を1つ前の行(カット)の開始位置に同期させるno wait、次の行(カット)開始位置を1つ前の行(カット)の終了位置に同期させるwait、次の行(カット)開始位置を1つ前の行(カット)の終了位置から少しだけ遅らせた位置(例えば、1.6秒後)に同期させるwait little、および次の行(カット)開始位置を1つ前の行(カット)の終了位置から遅らせた位置(例えば、3秒後)に同期させるwait longを含む。「同期」フィールド1208のプルダウンメニューからの選択値により、シナリオ設定部1102は、カット間のタイミングに関する属性<wait>に対する属性値を決定することができる。
また、シナリオ作成インターフェース1100は、シナリオデータ1152を読み込み、ユーザが再編集する機能を提供する。これにより、ユーザは、シナリオ作成インターフェース1100の各フィールドの値を追加または変更すること、あるいはカットまたはページの追加または削除が容易にでき、より多くのシナリオを作成することができる。
さらに、シナリオ作成インターフェース1100は、各フィールドの値を追加または変更の履歴を収集することができ、変更の履歴を用いてプルダウンメニューとして表示するリストの順位を変更することができる。たとえば、ユーザが異なるカットで異なるカメラの動作を選択する傾向があることを追加または変更の履歴が示す場合に、あるカットの「カメラ」フィールド1203で選択された選択値が、その次のカットの「カメラ」フィールド1203のプルダウンメニューにおけるリストの下位に表示されるように変更することができる。あるいは、ユーザが特定のカメラの動作を選択する傾向があることを追加または変更の履歴が示した場合に、特定のカメラ動作をが「カメラ」フィールド1203のプルダウンメニューにおけるリストの上位に表示されるように変更することができる。
<カメラパラメータ>
図16を参照して説明したように、マクロデータ1146は、カメラの座標や方向などのカメラパラメータを決定するサブプログラムあるいはサブルーチンを含む。
図16を参照して説明したように、マクロデータ1146は、カメラの座標や方向などのカメラパラメータを決定するサブプログラムあるいはサブルーチンを含む。
サブプログラムあるいはサブルーチンは、カットにおける動作主体であるキャラクタの座標に基づいて、カット内におけるカメラの座標および方向を含むカメラパラメータを計算する。カット内におけるカメラの座標として、当該カット内における動作主体(例えば、キャラクタの男子学生)の座標から所定の距離だけ離れ、動作主体の向きに対して所定の方向となる座標を計算することができる。また、サブプログラムあるいはサブルーチンは、カット内におけるカメラの方向として、計算された座標から動作主体の座標への方向、動作主体の正面に対向する方向を計算することができる。
例えば、サブプログラムあるいはサブルーチンは、男子学生の胸の座標から所定の距離だけ離れ、(男子学生の顔の向きに対する所望の方向として)男子学生の顔の向きとなる座標を計算し、カメラの座標として決定するとともに、決定されたカメラの座標から男子学生の胸の座標へ向く方向を計算しカメラの方向として決定する。さらに、サブプログラムあるいはサブルーチンは、これらの決定された座標および方向を、カメラコマンド(例えば、camera:movement)のカメラパラメータとして設定する。このようなサブプログラムあるいはサブルーチンを用いることにより、男子学生の正面から男子学生の様子を撮らえた動画が再生されるようなカットを設定可能になる。
さらに、動作主体からの座標から所定の距離を近距離、中距離、および遠距離としたサブプログラムあるいはサブルーチンを作成し、それぞれに「正面クローズ」、「正面」、および「正面ロング」などのラベルを設定することにより、シナリオ作成インターフェース1100から簡単に選択可能となる。
同様に、カメラパラメータを計算する基準、所定の距離、所望の方向をそれぞれ変化させたサブプログラムあるいはサブルーチンを作成し、それぞれに異なるラベルを設定してもよい。
別の例では、サブプログラムあるいはサブルーチンは、カット内の動作主体の一つである男子学生の胸の座標と、男子学生以外の別の被写体の座標(例えば、女子学生の胸の座標)との中心点から所定の距離だけ離れ、中心点へ向かう方向と男子学生の正面の方向とが平行に対向する座標を計算しカメラの座標として決定する。また、サブプログラムあるいはサブルーチンは、計算された座標から中心点へ向かう方向をカメラの方向として決定するように構成することができる。さらに、サブプログラムあるいはサブルーチンは、これらの決定された座標および方向をカメラコマンド(例えば、camera:movement)のカメラパラメータとして設定する。このようなサブプログラムあるいはサブルーチンを用いることにより、男子学生の正面方向から男子学生と別の被写体を撮らえた動画が再生されるようなカットを設定可能になる。このようなサブプログラムあるいはサブルーチンをマクロデータ1146に規定して「正面ツーショット」とラベル名を設定すれば、シナリオ作成インターフェース1100から簡単に選択可能となる。この例では、被写体をキャラクタである女子学生として説明したが、被写体は、別のカットにおける動作主体である必要はなく、例えば、セット内の所定の座標あるいはセット内に配置された小道具の座標としてもよい。また、この例では、動作主体の座標と、別の被写体の座標との中心点に関して説明を行ったが、これに限定されるものではなく、中心点の代わりに、動作主体の座標と別の被写体の座標とを結ぶ直線上の任意の点を用いてもよい。
さらに別の例として、サブプログラムあるいはサブルーチンは、カット内の動作主体の一つであるキャラクタ(男子学生)の座標と、シナリオ本体で動作主体となり得る男子学生以外の別の2つ以上の被写体(女子学生とその他)の座標と基づいて、カメラの座標および方向を計算するように構成されてもよい。
たとえば、サブプログラムあるいはサブルーチンは、カットにおける動作主体である男子学生、女子学生および教師の座標を用いて、これらの座標が内接する四角形の中心から所定の距離だけ離れ、中心点へ向かう方向と男子学生の正面の方向とが平行に対向する座標を計算しカメラの座標として決定する。また、サブプログラムあるいはサブルーチンは、計算された座標から中心点へ向かう方向をカメラの方向として決定するように構成することができる。さらに、サブプログラムあるいはサブルーチンは、これらの決定された座標および方向をカメラコマンド(例えば、camera:movement)のカメラパラメータとして設定する。このようなサブプログラムあるいはサブルーチンを用いることにより、男子学生の正面方向から男子学生と別の被写体を撮らえた動画が再生されるようなカットを設定可能になる。このようなサブプログラムあるいはサブルーチンをマクロデータ1146に規定して「前面グループショット」とラベル名を設定すれば、シナリオ作成インターフェース1100から簡単に選択可能となる。
<TVMLスクリプト生成方法>
図13を参照して、TVMLスクリプト生成装置400によるTVMLスクリプト生成方法を説明する。なお、以下の説明ではシナリオ本体について着目してTVMLスクリプト生成方法を説明する。また、リソースデータ1142、シーン設定データ1144、マクロデータ1146、読替辞書データ1150は既に生成されTVMLスクリプト生成部1120によってアクセス可能なメモリ上に記憶されているものとする。
図13を参照して、TVMLスクリプト生成装置400によるTVMLスクリプト生成方法を説明する。なお、以下の説明ではシナリオ本体について着目してTVMLスクリプト生成方法を説明する。また、リソースデータ1142、シーン設定データ1144、マクロデータ1146、読替辞書データ1150は既に生成されTVMLスクリプト生成部1120によってアクセス可能なメモリ上に記憶されているものとする。
ステップ1301において、より詳細には、TVMLスクリプト生成装置400は、TVMLスクリプト生成インターフェース1100を提示する。
ステップ1302において、ユーザは、各行のフィールドの値を選択または入力することにより、動画のシナリオに含まれる一つのカットにおける複数の動作主体の動作を決定する。
ユーザは、他のカットを決定する場合(ステップ1304)には、各行毎に次の行(カット)の開始位置を決定し(ステップ1303)、ステップ1302を繰り返す。ステップ1304においてユーザが他のカットを決定しないとすると、ステップ1305へ進む。 ステップ1305において、シナリオ設定部1102は、カット(行)毎にフィールドの入力値または選択値に対応する属性値を含むシナリオデータ1152を出力する。
ステップ1306において、TVMLスクリプト生成部1120は、シナリオデータ1152の解析、リソースデータ1142、マクロデータ1146およびシーン設定データ1144の参照(ステップ1308)、またはマクロデータ1146のサブプログラムの実行(S1310)によりコマンドセットを生成する。より詳細には、コマンドセット生成部1122は、シナリオデータ1152に含まれるページ属性の属性値の各々について、すなわちカット属性の属性値の各々について、動作の主体に関する属性(<camera>、<who>)の属性値(例えば、front_closeup、char_main、char_sub)と、表情に関する属性<expression>に対する属性値、発話動作に関する属性<speech>とその属性値、動作の対象に関する属性<target>、<target2>とその属性値と属性値、および動作に関する属性<action>と属性値の一部または全部とを組み合わせて1つまたは複数のコマンドからなるコマンドセットを生成する。コマンドセットは一時的にメモリに記憶される。
さらに、シーン設定データ1144の初期値を用いて、コマンドのパラメータを設定する場合がある。例えば、シナリオ本体の最初のカットに含まれるキャラクタの座標はシーン設定データ1144の初期値を用いて設定される。また、あるカットにおけるカメラのカメラパラメータが、マクロデータ1146のサブプログラムあるいはサブルーチンを実行して決定される場合がある。
ステップ1312において、待機コマンドセット生成部1122は、コマンドセット生成部1122によって生成されたコマンドセットに含まれるコマンドの各々に対応する待機コマンドからなる待機コマンドセットを生成する。待機コマンドセットは一時的にメモリに記憶される。
ステップ1313において、他のカット属性がある場合には、ステップ1306から1312を繰り返す。
ステップ1314において、コマンド合成部1226は、カット間のタイミングに関する属性の属性値に応じて、コマンドセット生成部1122によって生成されたコマンドセットおよび待機コマンドセット生成部1122によって生成された待機コマンドセットのTVMLスクリプト100における記述位置を決定して、TVMLスクリプト100に出力する。
他のページ属性がある場合(ステップ1316)には、次のカット属性に対しステップ1306から1314を繰り返す。
<TVMLスクリプト例1>
図5に、TVMLスクリプト生成装置によって生成されたTVMLスクリプトの例を示す。図5に示すTVMLスクリプトの1から4行目および8から11行目は、図2(a)に関連して説明したコマンドセットである。図5に示すTVMLスクリプトの5から7行目および12から14行目は、それぞれ1から4行目および8から11行目のコマンドセットに対応する待機コマンドセットであって、TVMLスクリプト生成装置によって自動的に挿入されたものある。
図5に、TVMLスクリプト生成装置によって生成されたTVMLスクリプトの例を示す。図5に示すTVMLスクリプトの1から4行目および8から11行目は、図2(a)に関連して説明したコマンドセットである。図5に示すTVMLスクリプトの5から7行目および12から14行目は、それぞれ1から4行目および8から11行目のコマンドセットに対応する待機コマンドセットであって、TVMLスクリプト生成装置によって自動的に挿入されたものある。
図6に、図5のTVMLスクリプトに含まれるコマンドの実行タイミングの関係を示す。図5に示すTVMLスクリプトがTVMLエンジンによって実行されると、メインのキャラクタ(char_main)が「おじぎ」をしながら「寒いですね」と言うカットの再生が終了した時点で、別のキャラクタ(char_sub)が「おじぎ」をしながら「いやあ本当に寒いですね」と言うカットが再生される。
<TVMLスクリプト例2>
図7に、TVMLスクリプト生成装置によって生成されたTVMLスクリプトの別の例を示す。図7に示すTVMLスクリプトの1から4行目および9から12行目は、図2(a)および(b)に関連して説明したコマンドセットである。図7に示すTVMLスクリプトの5から7行目および13から15行目は、それぞれ1から4行目および8から11行目のコマンドセットに対応する待機コマンドセットであって、TVMLスクリプト生成装置によって自動的に挿入されたものある。8行目は、7行目のコマンドの実行が終了後、所定時間(1.6秒)だけ次のコマンド(8行目のコマンド)の実行を遅らせるコマンドであって、TVMLスクリプト生成装置によって自動的に挿入されたものある。
図7に、TVMLスクリプト生成装置によって生成されたTVMLスクリプトの別の例を示す。図7に示すTVMLスクリプトの1から4行目および9から12行目は、図2(a)および(b)に関連して説明したコマンドセットである。図7に示すTVMLスクリプトの5から7行目および13から15行目は、それぞれ1から4行目および8から11行目のコマンドセットに対応する待機コマンドセットであって、TVMLスクリプト生成装置によって自動的に挿入されたものある。8行目は、7行目のコマンドの実行が終了後、所定時間(1.6秒)だけ次のコマンド(8行目のコマンド)の実行を遅らせるコマンドであって、TVMLスクリプト生成装置によって自動的に挿入されたものある。
図8に、図7のTVMLスクリプトに含まれるコマンドの実行タイミングの関係を示す。図7に示すTVMLスクリプトがTVMLエンジンによって実行されると、メインのキャラクタ(char_main)が「おじぎ」をしながら「寒いですね」と言うカットの再生が終了した後の所定時間(1.6秒)経過後に、別のキャラクタ(char_sub)が「おじぎ」をしながら「いやあ本当に寒いですね」と言うカットが再生される。
<TVMLスクリプト例3>
図9に、TVMLスクリプト生成装置によって生成されたTVMLスクリプトのさらに別の例を示す。図9に示すTVMLスクリプトの1から4行目および5から8行目は、図2(a)および(b)に関連して説明したコマンドセットである。図9に示すTVMLスクリプトの9から14行目は、それぞれ1から8行目のコマンドセットに対応する待機コマンドセットであって、TVMLスクリプト生成装置によって自動的に挿入されたものある。
図9に、TVMLスクリプト生成装置によって生成されたTVMLスクリプトのさらに別の例を示す。図9に示すTVMLスクリプトの1から4行目および5から8行目は、図2(a)および(b)に関連して説明したコマンドセットである。図9に示すTVMLスクリプトの9から14行目は、それぞれ1から8行目のコマンドセットに対応する待機コマンドセットであって、TVMLスクリプト生成装置によって自動的に挿入されたものある。
図10に、図9のTVMLスクリプトに含まれるコマンドの実行タイミングの関係を示す。図9に示すTVMLスクリプトがTVMLエンジンによって実行されると、メインのキャラクタ(char_main)が「おじぎ」をしながら「寒いですね」と言うカットの再生と、別のキャラクタ(char_sub)が「おじぎ」をしながら「いやあ本当に寒いですね」と言うカットの再生とが同時に開始する。これにより、図9に示すTVMLスクリプト内の最も実行時間の長いコマンド(男子学生の発話304)の実行終了時が、次に続くカットまたはページの開始位置となる。
100 TVMLスクリプト
102 TVMLエンジン
400 TVMLスクリプト生成装置
1100 シナリオ作成インターフェース
1152 シナリオデータ
1120 TVMLスクリプト生成部
102 TVMLエンジン
400 TVMLスクリプト生成装置
1100 シナリオ作成インターフェース
1152 シナリオデータ
1120 TVMLスクリプト生成部
Claims (14)
- 再生エンジンで動画を再生するために逐次実行される複数のコマンドを含むスクリプトの生成方法であって、
動画に含まれる複数の動作主体に設定されたラベル名を含むリソースデータ、および前記動作主体に動作を与えるコマンドに設定されたラベル名を含むマクロデータを記憶するステップと、
前記動画に含まれる第1のカットにおける複数の動作主体および前記複数の動作主体の各々に関連する1つ又は複数の動作を決定するためのインターフェースを提供するステップとを含み、
前記インターフェースは、
前記第1のカットにおける複数の動作主体の候補として、前記リソースデータに含まれた前記複数の動作主体に設定された前記ラベル名のリストを提供し、
前記複数の動作主体の各々に関連する前記1つ又は複数の動作の候補として、前記マクロデータに含まれた前記コマンドに設定された前記ラベル名のリストを提供する
ことを特徴とするスクリプト生成方法。 - 前記複数の動作主体は、キャラクタを含み、
前記動作主体の各々に関連する1つ又は複数の動作は、前記キャラクタの発話を含み、
前記インターフェースは、前記キャラクタの発話内容を入力する発話フィールを有することを特徴とする請求項1に記載のスクリプト生成方法。 - 再生エンジンで動画を再生するために逐次実行される複数のコマンドを含むスクリプトの生成方法であって、
動画に含まれる第1のカットにおける複数の動作主体を決定する動作主体決定ステップと、
前記複数の動作主体の各々に関連する1つ又は複数の動作を決定する動作決定ステップと、
前記1つ又は複数の動作に対応する複数のコマンドを含む第1のコマンドセット、および前記複数のコマンドの各々に対応し、前記コマンドが終了するまで次のコマンドの実行を待機させる複数の待機コマンドを含む第1の待機コマンドセットを含むスクリプトを出力するスクリプト出力ステップとを含み、
前記第1のコマンドセットは、前記第1の待機コマンドセットより前に実行されるように前記スクリプトに含まれることを特徴とするスクリプト生成方法。 - 前記動画に含まれる第2のカットにおける複数の動作主体の動作を決定する第2のカット決定ステップと、
前記第1のカットに対する前記第2のカットの開始位置を決定する開始位置決定ステップとをさらに含み、
前記スクリプト出力ステップは、
前記第2のカットにおける複数の動作主体の動作に各々対応する複数のコマンドを含む第2のコマンドセット、および前記第2のコマンドセットに含まれるコマンドの各々に対応し、前記コマンドが終了するまで次のコマンドの実行を待機させる複数の待機コマンドを含む第2の待機コマンドセットをさらに含む前記スクリプトを出力し、
前記第2のコマンドセットおよび前記第2の待機コマンドセットは、前記第2のカットの開始位置で実行されるように前記スクリプトに含まれることを特徴とする請求項3に記載のスクリプト生成方法。 - 前記第2のカットの開始位置が前記第1のカットの開始位置である場合に、前記スクリプト出力ステップは、前記第1のコマンドセットの実行と前記第1の待機コマンドセットの実行の間で前記第2のコマンドセットが実行され、前記第2のコマンドセットの実行後に前記第2の待機コマンドセットが実行される前記スクリプトを出力することを特徴とする請求項4に記載のスクリプト生成方法。
- 前記第2のカットの開始位置が前記第1のカットの終了位置である場合に、前記スクリプト出力ステップは、前記第1の待機コマンドセットの実行後に前記第2のコマンドセットが実行される前記スクリプトを出力することを特徴とする請求項4に記載のスクリプト生成方法。
- 前記第2のカットの開始位置が前記第1のカットの終了位置から所定時間経の過後である場合に、
前記スクリプト出力ステップは、前記第1および第2の待機コマンドの実行後に実行される、前記所定時間が経過するまで次のコマンドの実行を待機させる所定時間待機コマンドをさらに含む前記スクリプトを出力することを特徴とする請求項4に記載のスクリプト生成方法。 - 前記動画に含まれる第1のカットにおける複数の動作主体の動作は、第1の動作主体の動作およびカメラの動作を含み、
前記第1のコマンドセットは、第1の動作主体の動作に対応する第1のコマンド、および前記カメラの動作に対応するカメラコマンドを含み、
前記方法は、前記第1の動作主体の座標に基づいて、前記カメラの座標および方向を含むカメラパラメータを計算するカメラパラメータ計算ステップをさらに含み、
前記スクリプト出力ステップは、計算された前記カメラの座標および方向を含むカメラパラメータ、ならびに前記カメラコマンドを含む前記スクリプトを出力することを特徴とする請求項3に記載のスクリプト生成方法。 - 前記カメラパラメータ計算ステップは、前記カメラの座標および方向としてそれぞれ、前記第1の動作主体の座標から所定の距離離れた座標、および当該座標から前記第1の動作主体の座標への方向となる方向を計算することを特徴とする請求項8に記載のスクリプト生成方法。
- 前記動画に含まれる第1のカットは、さらに被写体を含み、
前記カメラパラメータ計算ステップは、前記第1の動作主体の座標および前記被写体の座標に基づいて、前記カメラの座標および方向を含む前記カメラパラメータを計算することを特徴とする請求項8に記載のスクリプト生成方法。 - 前記カメラパラメータ計算ステップは、前記カメラの座標および方向としてそれぞれ、前記第1の動作主体の座標と前記被写体の座標との中点から所定の距離だけ座標、および当該座から前記中点への方向となる方向を計算することを特徴とする請求項10に記載のスクリプト生成方法。
- 前記動画に含まれる第1のカットは、さらに2つ以上被写体を含み、
前記カメラパラメータ計算ステップは、前記第1の動作主体の座標および前記2以上の被写体の座標に基づいて、前記カメラの座標および方向を含む前記カメラパラメータを計算することを特徴とする請求項8に記載のスクリプト生成方法。 - 前記カメラパラメータ計算ステップは、前記カメラの座標および方向としてそれぞれ、前記第1の動作主体の座標および前記2以上の被写体の座標を辺に含む四角形の中心から所定の距離だけ座標、および当該座から前記中点への方向となる方向を計算することを特徴とする請求項12に記載のスクリプト生成方法。
- 請求項1乃至13のいずれかに記載の方法をコンピュータに実行させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006094880A JP2007272375A (ja) | 2006-03-30 | 2006-03-30 | スクリプト生成方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006094880A JP2007272375A (ja) | 2006-03-30 | 2006-03-30 | スクリプト生成方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007272375A true JP2007272375A (ja) | 2007-10-18 |
Family
ID=38675141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006094880A Pending JP2007272375A (ja) | 2006-03-30 | 2006-03-30 | スクリプト生成方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007272375A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752644A (zh) * | 2012-06-15 | 2012-10-24 | 四川长虹电器股份有限公司 | 一种机顶盒节目自动分类的方法 |
JP2017167619A (ja) * | 2016-03-14 | 2017-09-21 | 株式会社セルシス | 三次元コンテンツの生成方法、プログラム、及びクライアント装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03168877A (ja) * | 1989-11-29 | 1991-07-22 | Sharp Corp | 動画生成方式 |
JP2000155606A (ja) * | 1998-11-24 | 2000-06-06 | Ricoh Elemex Corp | 動作制御システム |
JP2000202162A (ja) * | 1999-01-12 | 2000-07-25 | Sega Enterp Ltd | ゲ―ム装置 |
JP2004013486A (ja) * | 2002-06-06 | 2004-01-15 | Hitachi Kokusai Electric Inc | 番組制作装置及び番組制作方法 |
JP2005165991A (ja) * | 2003-11-28 | 2005-06-23 | Hitachi Kokusai Electric Inc | 映像情報制作方法 |
JP2006073026A (ja) * | 1999-10-15 | 2006-03-16 | Hitachi Kokusai Electric Inc | 動画像編集方法 |
-
2006
- 2006-03-30 JP JP2006094880A patent/JP2007272375A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03168877A (ja) * | 1989-11-29 | 1991-07-22 | Sharp Corp | 動画生成方式 |
JP2000155606A (ja) * | 1998-11-24 | 2000-06-06 | Ricoh Elemex Corp | 動作制御システム |
JP2000202162A (ja) * | 1999-01-12 | 2000-07-25 | Sega Enterp Ltd | ゲ―ム装置 |
JP2006073026A (ja) * | 1999-10-15 | 2006-03-16 | Hitachi Kokusai Electric Inc | 動画像編集方法 |
JP2004013486A (ja) * | 2002-06-06 | 2004-01-15 | Hitachi Kokusai Electric Inc | 番組制作装置及び番組制作方法 |
JP2005165991A (ja) * | 2003-11-28 | 2005-06-23 | Hitachi Kokusai Electric Inc | 映像情報制作方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752644A (zh) * | 2012-06-15 | 2012-10-24 | 四川长虹电器股份有限公司 | 一种机顶盒节目自动分类的方法 |
JP2017167619A (ja) * | 2016-03-14 | 2017-09-21 | 株式会社セルシス | 三次元コンテンツの生成方法、プログラム、及びクライアント装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5613056A (en) | Advanced tools for speech synchronized animation | |
US20120276504A1 (en) | Talking Teacher Visualization for Language Learning | |
US20170309309A1 (en) | System, apparatus and method for formatting a manuscript automatically | |
Ronfard et al. | The prose storyboard language: A tool for annotating and directing movies | |
US20180226101A1 (en) | Methods and systems for interactive multimedia creation | |
US11653072B2 (en) | Method and system for generating interactive media content | |
KR100960504B1 (ko) | 감성표현이 적용된 디지털 스토리보드 생성 방법 및 시스템 | |
JP2016038601A (ja) | Cgキャラクタ対話装置及びcgキャラクタ対話プログラム | |
KR101831802B1 (ko) | 적어도 하나의 시퀀스에 대한 가상현실 컨텐츠 제작방법 및 장치 | |
JP2014109988A (ja) | モーション映像生成装置及びモーション映像生成プログラム | |
JP2007295218A (ja) | ノンリニア編集装置およびそのプログラム | |
US8297754B2 (en) | Apparatus and method of controlling camera work based on direction rule | |
RU2652503C2 (ru) | Автоматическая съемка и монтаж видеоролика | |
Chi et al. | Synthesis-Assisted Video Prototyping From a Document | |
KR101850285B1 (ko) | 영상 스크립트 생성 장치 및 방법, 영상 스크립트 기반 동영상 제작 시스템 및 방법, 컴퓨터프로그램 저장 매체 | |
WO2010081225A1 (en) | Digital content creation system | |
Ronfard et al. | The prose storyboard language: A tool for annotating and directing movies (version 2.0, revised and illustrated edition) | |
CN112348932A (zh) | 口型动画录制方法及装置、电子设备、存储介质 | |
JP2007272375A (ja) | スクリプト生成方法およびプログラム | |
JP5044503B2 (ja) | 演出画像再生装置、演出画像再生方法、演出画像再生プログラム及び記録媒体 | |
US11423941B2 (en) | Write-a-movie: unifying writing and shooting | |
KR102281298B1 (ko) | 인공지능 기반 동영상 합성을 위한 시스템 및 방법 | |
JP2005285076A (ja) | 映像情報制作方法 | |
KR102177283B1 (ko) | 대인 관계 개선을 위한 hci를 이용한 콘텐츠의 제작 및 편집을 지원하는 시스템 및 방법 | |
Yu | A Novel Framework and Design Methodologies for Optimal Animation Production Using Deep Learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20090330 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110513 |
|
A131 | Notification of reasons for refusal |
Effective date: 20110517 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110916 |