(57)【要約】【課題】視覚連続性を保ち、かつユーザの意図を反映したカメラワークを決定することができるカメラワーク制御装置およびカメラワーク制御方法を構成すること。【解決手段】カメラワーク制御装置を用いたアニメーション作成装置１００において、カメラ方向制御部１６０は、カメラ方向保持部１７０に保持されている他のショットのカメラ方向を参照し、映画文法に基づいて、視覚連続性を保つようなカメラ方向候補を決定する。カメラ距離制御部２００は、シナリオ要素入力部１２０で入力されたシナリオ要素に基づいて、ユーザの意図を反映するようなカメラ距離候補を決定する。カメラワーク決定部は、決定されたカメラ方向候補とカメラ距離候補からそれぞれ１つを選択して、現ショットのカメラワークを決定する。【選択図】図１
2008097233.tif 000002
【特許請求の範囲】
【請求項１】
映像のショットごとに、被写体を基準としたカメラ方向の候補を、映画文法に基づいて決定するカメラ方向制御部と、
映像のショットごとに、被写体を基準としたカメラ距離の候補を、入力されたシナリオ情報に基づいて決定するカメラ距離制御部と、
映像のショットごとに、前記カメラ方向の候補および前記カメラ距離の候補の中からそれぞれ１つを選択して、カメラ方向およびカメラ距離を決定するカメラワーク決定部と、
を有するカメラワーク制御装置。
【請求項２】
ユーザに対し、前記カメラ方向の候補および前記カメラ距離の候補を推薦し、選択肢として提示するカメラワーク推薦提示部、をさらに有し、
前記カメラワーク決定部は、
ユーザにより選択されたカメラ方向およびカメラ距離を決定する、
請求項１記載のカメラワーク制御装置。
【請求項３】
前記カメラワーク決定部によって決定されたカメラ方向に関する情報を保持するカメラ方向保持部、をさらに有し、
前記カメラ方向制御部は、
前記カメラ方向保持部が保持する情報のうち、動作主が同一のショットに対して決定されたカメラ方向に関する情報に基づいて、前記カメラ方向の候補を決定する、
請求項１記載のカメラワーク制御装置。
【請求項４】
前記カメラワーク決定部によって決定されたカメラ距離に関する情報を保持するカメラ距離保持部、をさらに有し、
前記カメラ距離制御部は、
前記カメラ距離保持部が保持する情報のうち、動作主が同一のショットに対して決定されたカメラ距離に関する情報を参照して、前記カメラ距離の候補を決定する、
請求項１記載のカメラワーク制御装置。
【請求項５】
前記カメラ方向制御部は、
１つ前のショットに対してカメラ方向が既に決定されている場合に、前記カメラ方向保持部が保持する情報のうち、前記１つ前のショットに対して決定されたカメラ方向に関する情報に基づいて、前記カメラ方向の候補を決定する、
請求項２記載のカメラワーク制御装置。
【請求項６】
前記カメラ方向制御部は、
１つ後のショットに対してカメラ方向が既に決定されている場合に、前記カメラ方向保持部が保持する情報のうち、前記１つ後のショットに対して決定されたカメラ方向に関する情報に基づいて、前記カメラ方向の候補を決定する、
請求項２記載のカメラワーク制御装置。
【請求項７】
前記映画文法は、映像の視覚連続性が確保されるショット間のカメラ方向遷移を規定するものである、
請求項１記載のカメラワーク制御装置。
【請求項８】
ユーザの選択によって決定されたカメラ方向遷移のそれぞれの頻度を記録するカメラ方向遷移頻度テーブル、をさらに有し、
前記カメラ方向制御部は、
前記映画文法に則ったカメラ方向遷移を記述したカメラ方向遷移グラフに基づいてカメラ方向遷移を選択し、選択したカメラ方向遷移に対して前記カメラ方向遷移頻度テーブルに記述される頻度に応じた優先順位を設定し、
前記カメラワーク決定部は、
前記カメラ方向制御部で最も高い優先順位が設定されたカメラ方向遷移に該当するカメラ方向を決定する、
請求項２記載のカメラワーク制御装置。
【請求項９】
前記カメラ方向制御部は、
同一のカメラワークのショット継続数が第１の閾値に達したとき、前記カメラ方向遷移に対して前記カメラ方向遷移頻度テーブルに記述される頻度に応じた優先順位を修正した優先順位を設定する、
請求項８記載のカメラワーク制御装置。
【請求項１０】
ユーザの選択によって決定されたカメラ距離遷移のそれぞれの頻度を記録するカメラ距離遷移頻度テーブル、をさらに有し、
前記カメラ距離制御部は、
入力されたシナリオ情報に基づいたカメラ距離遷移を記述したカメラ距離遷移グラフに基づいて参照してカメラ距離遷移を選択し、選択したカメラ距離遷移に対して前記カメラ距離遷移頻度テーブルに記述される頻度に応じた優先順位を設定し、
前記カメラワーク決定部は、
前記カメラ距離制御部で最も高い優先順位が設定されたカメラ距離遷移に該当するカメラ距離を決定する、
請求項２記載のカメラワーク制御装置。
【請求項１１】
前記カメラ距離制御部は、
同一のカメラワークのショット継続数が第２の閾値に達したとき、前記カメラ距離遷移に対して前記カメラ距離遷移頻度テーブルに記述される頻度に応じた優先順位を修正した優先順位を設定する、
請求項１０記載のカメラワーク制御装置。
【請求項１２】
前記カメラワーク推薦提示部は、
前記カメラ方向候補を、前記カメラ方向制御部で設定された優先順位に応じた順序で推薦する、
請求項８記載のカメラワーク制御装置。
【請求項１３】
前記カメラワーク推薦提示部は、
前記カメラ距離候補を、前記カメラ距離制御部で設定された優先順位に応じた順序で推薦する、
請求項１０記載のカメラワーク制御装置。
【請求項１４】
動作主を含む少なくとも２人のキャラクタが登場するショットに対して、２人のキャラクタの配置が、前記映画文法に対応付けてあらかじめ定められた複数の配置分類のいずれに該当するかを判定する配置分類判定部、をさらに有し、
前記カメラ方向制御部は、
前記配置分類判定部による判定結果に基づいて前記カメラ方向の候補を決定する、
請求項１記載のカメラワーク制御装置。
【請求項１５】
ショットごとに各動作主の動作／表情／台詞を入力するシナリオ要素入力部と、
前記シナリオ要素入力部が入力する情報に基づいて、ショットのシーンが前記シナリオ情報に対応付けてあらかじめ定められた複数のシーン分類のいずれに該当するかを判定するシーン分類判定部と、をさらに有し、
前記カメラ距離制御部は、
前記シーン分類判定部による判定結果に基づいて前記カメラ距離の候補を決定する、
請求項１記載のカメラワーク制御装置。
【請求項１６】
映像のショットの１つに対して、被写体を基準としたカメラ方向およびカメラ距離を決定する第１のカメラワーク決定ステップと、
前記ショットに連続する他のショットに対して、前記第１のカメラワーク決定ステップで決定されたカメラ方向および映画文法に基づいてカメラ方向を決定し、前記第１のカメラワーク決定ステップで決定されたカメラ距離および入力されたシナリオ情報に基づいてカメラ距離を決定する第２のカメラワーク決定ステップと、
を有するカメラワーク制御方法。
【請求項１７】
コンピュータに、
映像のショットの１つに対して、被写体を基準としたカメラ方向およびカメラ距離を決定する第１のカメラワーク決定処理と、
前記ショットに連続する他のショットに対して、前記第１のカメラワーク決定処理で決定されたカメラ方向および映画文法に基づいてカメラ方向を決定し、前記第１のカメラワーク決定処理で決定されたカメラ距離および入力されたシナリオ情報に基づいてカメラ距離を決定する第２のカメラワーク決定処理と、
を実行させるカメラワーク制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえばコンピュータグラフィックスアニメーションなどの映像を生成する際のカメラワークを制御するカメラワーク制御装置およびカメラワーク制御方法に係り、特に、被写体を基準としたカメラ方向とカメラ距離との組み合わせにより定義されるカメラワークを制御するカメラワーク制御装置およびカメラワーク制御方法に関する。
【背景技術】
【０００２】
近年、インターネットにおいても従来の雑誌や書籍と同様に専門知識を有する者が作成したコンテンツ（メディア）を視聴するだけであった一般の個人が、インターネットの急速な発展により、自ら積極的にコンテンツを作成して発信するようになっている。このような、いわゆるＣＧＭ（consumer generated media）は、ウエブログ（weblog）に投稿されるテキストや、メディア共有サイトにアップロードされて不特定多数のユーザによって共有される写真、ビデオ、ＣＧ（computer graphic）アニメーションなど、多種多様な形態へと進化してきている。
【０００３】
特に、ＣＧアニメーション（以下単に「アニメーション」という）は、パーソナルコンピュータの演算処理能力、描画能力、およびデータ蓄積能力の向上や、アニメーション制作用ソフトウェアの低価格化により、個人でも制作できるようになってきている。
【０００４】
ところが、アニメーションの映像は、通常、仮想カメラで撮影した複数のショットを連結して作成することから、人間が自らの目で経験する連続した映像のような視覚連続性を持たせることが難しいという問題がある。各ショット間の視覚連続性を考慮されていない映像は、視聴者の理解に混乱をきたすことがある。したがって、カメラワークに関する専門的な知識や技術を持たないユーザにとっては、自らの表現したい内容を視聴者に伝えられるアニメーションを作成することは困難である。
【０００５】
そこで、一般的なカメラワークの規則である映画文法を用いて、カメラワークを自動で制御するシステムが、たとえば特許文献１に記載されている。映画文法とは、映画制作者などカメラワークに関する専門知識を持つ者が、経験から守るべきとするカメラワークの規則であり、映像の視覚連続性が確保されるようなカメラワークについての規定を含む。映画文法の詳細についは、たとえば非特許文献１に記載されている。
【０００６】
図７４は、上記システムの構成を示す図である。システム１０は、オンラインチャットやコンピュータビデオゲームとして機能するリアルタイムアプリケーションモジュール（以下「アプリケーションモジュール」という）２０、カメラワークを制御するバーチャルシネマトグラフィアプリケーションモジュール（以下「シネマトグラフィモジュール」という）３０、および映像の描画を行うレンダラーモジュール４０を有する。また、シネマトグラフィモジュール３０は、アプリケーションモジュール２０で発生する各種イベントに対して適用すべき映画文法を記述したイディオム３１と、カメラワークを定義するカメラパラメータを生成するためのカメラモジュール３２とを有している。
【０００７】
アプリケーションモジュール２０は、動作などのキャラクタの状態変化を基に、キャラクタの演技の種類などで構成されるイベントの記述５０を生成し、シネマトグラフィモジュール３０へ出力する。
【０００８】
シネマトグラフィモジュール３０は、イディオム３１を参照し、入力したイベントの記述５０に対して適用すべき映画文法（変換規則）を抽出する。また、シネマトグラフィモジュール３０は、抽出した映画文法をカメラモジュール３２に適用することで、カメラパラメータ６０を生成し、レンダラーモジュール４０へ出力する。
【０００９】
レンダラーモジュール４０は、入力したカメラパラメータ６０に基づいて、３次元ＣＧアニメーションを生成し、図示しない表示装置などへ出力する。
【００１０】
このように、システム１０によれば、映画文法に基づいて映像の視覚連続性を考慮してカメラワークを制御することが可能となっている。
【特許文献１】特表２０００−５１６３７１号公報
【非特許文献１】Ｄ．Ａｒｉｊｏｎ，Ｇｒａｍｍａｒ  ｏｆ  ｔｈｅ  Ｆｉｌｍ  Ｌａｎｇｕａｇｅ，Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ａｒｔｓ  Ｂｏｏｋｓ，  Ｈａｓｔｉｎｇｓ  Ｈｏｕｓｅ  Ｐｕｂｌｉｓｈｅｒｓ（１９７６），Ｐ２６〜Ｐ７４
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記した従来の技術では、映画文法に沿って画一的にカメラワークが制御されてしまうため、一般的に守るべき規則に沿って映像を作成することができるものの、ユーザの意図、つまり、ユーザが表現したい感情や動作などに対応する時系列の映像の変化を、カメラワーク（カメラ方向およびカメラ距離）に反映することが難しいという問題がある。つまり、ユーザの意図を反映したカメラワークを実現することが困難である。
【００１２】
本発明は、かかる点に鑑みてなされたものであり、視覚連続性を保ち、かつユーザの意図を反映したカメラワークを決定することができるカメラワーク制御装置およびカメラワーク制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明のカメラワーク制御装置は、映像のショットごとに、被写体を基準としたカメラ方向の候補を、映画文法に基づいて決定するカメラ方向制御部と、映像のショットごとに、被写体を基準としたカメラ距離の候補を、入力されたシナリオ情報に基づいて決定するカメラ距離制御部と、映像のショットごとに、前記カメラ方向の候補および前記カメラ距離の候補の中からそれぞれ１つを選択して、カメラ方向およびカメラ距離を決定するカメラワーク決定部とを具備する構成を採る。
【００１４】
本発明のカメラワーク制御方法は、映像のショットの１つに対して、被写体を基準としたカメラ方向およびカメラ距離を決定する第１のカメラワーク決定ステップと、前記ショットに連続する他のショットに対して、前記第１のカメラワーク決定ステップで決定されたカメラ方向および映画文法に基づいてカメラ方向を決定し、前記第１のカメラワーク決定ステップで決定されたカメラ距離および入力されたシナリオ情報に基づいてカメラ距離を決定する第２のカメラワーク決定ステップとを有するようにした。
【発明の効果】
【００１５】
本発明によれば、視覚連続性を保ち、かつシナリオ情報に含まれるユーザの意図を反映したカメラワークを決定することができる。すなわち、本発明によれば、カメラ方向の制御とカメラ距離の制御とを分離し、映画文法に基づいてカメラ方向を決定でき、ユーザの意図に基づいてカメラ距離を決定することができる。これにより、映画文法とユーザの意図の両方を反映させてカメラワークを決定することができる。すなわち、一般のユーザであっても、映画文法を意識することなく、視覚連続性を保ちつつオリジナリティのある映像表現を可能とするような映像制作支援を行うことができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。なお、各図において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付してその説明は繰り返さない。また、以下、アニメーションの一続きの撮影単位を「ショット」といい、カメラワーク決定の直接の処理の対象となっているショットを「現ショット」、同一シーンおける現ショットの１つ前のショットを「前ショット」、同一シーンおける現ショットの１つ後のショットを「後ショット」という。
【００１７】
（実施の形態１）
図１は、本発明の実施の形態１に係るカメラワーク制御装置を用いたアニメーション作成装置の構成を示す図である。アニメーション作成装置は、カメラワークを制御してアニメーションを作成する装置であり、たとえば、パーソナルコンピュータ、携帯電話機、ＰＤＡ（personal digital assistant）、ゲーム機などの情報処理端末に実装されるものである。
【００１８】
図１において、アニメーション作成装置１００は、配置入力部１１０、シナリオ要素入力部１２０、配置算出部１３０、配置情報保持部１４０、配置分類判定部１５０、カメラ方向制御部１６０、カメラ方向保持部１７０、カメラ方向変化判定部１８０、シーン分類判定部１９０、カメラ距離制御部２００、カメラ距離保持部２１０、カメラ距離変化判定部２２０、カメラワーク決定部２３０、カメラワーク推薦提示部２４０、カメラパラメータ算出部２５０、レンダリング部２６０、キャラクタデータベース（ＤＢ：database）２６１、アクションデータベース２６２、セットデータベース２６３、およびアニメーション出力部２７０を有する。また、アニメーション作成装置１００は、図示しないが、液晶ディスプレイなどの表示装置と、キーボードやポインティングデバイスとしてのマウスなどの入力装置を有する。
【００１９】
配置入力部１１０は、アニメーションの登場人物であるキャラクタの種別や、キャラクタおよびセットを構成するオブジェクト（以下「オブジェクト」と総称する）の位置座標や基準軸に対する正面方向の角度（以下「配置情報」という）の初期値など、アニメーションを作成するのに必要な各種情報を、初期設定として入力する。具体的には、配置入力部１１０は、後に詳述する配置入力画面を表示装置に表示させ、入力装置のユーザ操作に基づいて初期設定を入力する。そして、配置入力部１１０は、入力した配置情報と、どのセット種別が選択されたかを示すセット情報とを含む初期設定情報を、配置情報保持部１４０へ出力する。
【００２０】
シナリオ要素入力部１２０は、「動作主」、動作主の「動作」、「表情」、「台詞」、「移動先」、および「向き先」、ならびに「カメラワーク」など、アニメーションのシナリオを構成する要素（以下「シナリオ要素」という）を入力する。具体的には、後に詳述するシナリオ入力画面を表示装置に表示させ、入力装置のユーザ操作に基づいてシナリオ要素を入力する。シナリオ要素入力部１２０は、シナリオ要素を入力するたびに、シナリオ要素「シーン名」、「動作主」、「移動先」、および「向き先」を配置算出部１３０へ、シナリオ要素「動作主」をカメラ方向制御部１６０およびカメラ距離制御部２００へ、シナリオ要素「動作主」、「動作」、「表情」、および「台詞」をシーン分類判定部１９０へ、シナリオ要素「カメラワーク」をカメラワーク決定部２３０へ、シナリオ要素「動作主」、「動作」、「表情」、および「台詞」をレンダリング部２６０へ、それぞれ出力する。
【００２１】
配置算出部１３０は、シナリオ要素「動作主」、および「移動先／向き先」を入力するたびに、配置情報保持部１４０に保持されている配置情報に基づいて、該当するショットにおけるキャラクタの配置を算出し、配置情報として配置情報保持部１４０へ出力する。
【００２２】
配置情報保持部１４０は、配置入力部１１０から入力される初期設定情報をシーンごとに保持するとともに、配置算出部１３０から入力される配置情報およびセット情報をショットごとに保持する。そして、保持する配置情報が更新されるたびに、つまり新たな配置情報を入力するたびに、更新された配置情報を配置分類判定部１５０へ出力する。また、配置情報保持部１４０は、要求に応じて、配置情報をカメラパラメータ算出部２５０へ、どのセット種別が選択されたかを示すセット情報と配置情報とをレンダリング部２６０へ、それぞれ出力する。
【００２３】
配置分類判定部１５０は、配置情報を入力するたびに、その配置情報のショットの動作主と１つ前のショットの動作主の２人を被写体とした場合に、２人の被写体の配置がどの配置分類に当てはまるかを判定する。ただし、配置分類判定部１５０は、最初のショットの配置情報を入力した場合には、そのショットの動作主と他のキャラクタの２人の配置について判定を行う。そして、配置分類判定部１５０は、判定結果を、カメラ方向制御部１６０へ出力する。ここで、配置分類とは、複数のキャラクタが相対的にどのような配置関係にあるかを分類したものである。
【００２４】
カメラ方向制御部１６０は、シナリオ要素「動作主」、配置分類、後述するカメラ方向変化コマンド、および後述するカメラ距離変化コマンドのいずれかを入力すると、カメラ方向保持部１７０に対して情報の問い合わせを行い、カメラ方向に関する情報（以下単に「カメラ方向」という）の候補を、現ショットに対して決定する。そして、カメラ方向制御部１６０は、決定したカメラ方向の候補（以下「カメラ方向候補」という）、カメラワーク決定部２３０へ出力する。また、カメラ方向制御部１６０は、決定したカメラ方向候補のうち、後述する優先順位の最も高いものを、現ショットの仮のカメラ方向としてカメラ方向変化判定部１８０へ出力する。
【００２５】
シーン分類判定部１９０は、シナリオ要素「動作主」、および「動作／表情／台詞」を入力するたびに、入力したシナリオ要素に基づいて、該当するショットがどのシーン分類に当てはまるかを判定する。ここで、シーン分類とは、そのショットで視聴者に着目させるべき内容の分類である。
【００２６】
カメラ距離制御部２００は、シーン分類、後述するカメラ方向変化コマンド、および後述するカメラ距離変化コマンドのいずれかを入力すると、カメラ距離保持部２１０に対して情報の問い合わせを行い、カメラ距離に関する情報（以下単に「カメラ距離」という）の候補を、現ショットに対して決定する。そして、カメラ距離制御部２００は、決定したカメラ距離の候補（以下「カメラ距離候補」という）を、カメラワーク決定部２３０へ出力する。また、カメラ距離制御部２００は、決定したカメラ距離候補のうち、後述する優先順位の最も高いものを、現ショットの仮のカメラ距離としてカメラ距離変化判定部２２０へ出力する。
【００２７】
カメラワーク決定部２３０は、カメラ方向候補およびカメラ距離候補に基づいて、ユーザに推薦するカメラワーク（以下「推薦カメラワーク」という）を決定し、カメラワーク推薦提示部２４０へ出力する。また、カメラワーク決定部２３０は、カメラ方向候補およびカメラ距離候補と、シナリオ要素「カメラワーク」とに基づいて、現ショットへの適用を設定するカメラワーク（以下「設定カメラワーク」という）を決定し、カメラパラメータ算出部２５０へ出力する。また、カメラワーク決定部２３０は、決定した設定カメラワークからカメラ方向とカメラ距離を抽出し、カメラ方向をカメラ方向保持部１７０へ出力するとともに、カメラ距離をカメラ距離保持部２１０へ出力する。
【００２８】
カメラ方向保持部１７０は、ショットごとに時系列で、カメラワーク決定部２３０から入力されるカメラ方向と動作主とを保持する。また、カメラ方向保持部１７０は、後述するカメラ方向遷移頻度テーブルを保持し、入力するカメラ方向に応じて、このテーブルの内容を更新する。さらに、カメラ方向保持部１７０は、カメラ方向制御部１６０およびカメラ方向変化判定部１８０からのクエリ（問い合わせ）に応じて、指定された情報を出力する。
【００２９】
カメラ方向変化判定部１８０は、カメラ方向制御部１６０からカメラ方向を入力されるたびに、そのショットと他のショットとの間におけるカメラ方向の変化（以下「カメラ方向変化」という）の有無を判定する。また、カメラ方向変化判定部１８０は、判定結果に応じて、カメラ方向制御部１６０またはカメラ距離制御部２００を起動させるためのカメラ方向変化コマンドを出力する。
【００３０】
カメラ距離保持部２１０は、ショットごとに時系列で、カメラワーク決定部２３０から入力されるカメラ距離と動作主とを保持する。また、カメラ距離保持部２１０は、後述するカメラ距離遷移頻度テーブルを保持し、入力するカメラ方向に応じて、このテーブルの内容を更新する。さらに、カメラ距離保持部２１０は、カメラ距離制御部２００およびカメラ距離変化判定部２２０からのクエリに応じて、指定された情報を出力する。
【００３１】
カメラ距離変化判定部２２０は、カメラ距離制御部２００からカメラ距離を入力されるたびに、そのショットと他のショットとの間におけるカメラ距離の変化（以下「カメラ距離変化」という）の有無を判定する。また、カメラ距離変化判定部２２０は、判定結果に応じて、カメラ距離制御部２００またはカメラ方向制御部１６０を起動させるためのカメラ距離変化コマンドを出力する。
【００３２】
カメラワーク推薦提示部２４０は、推薦カメラワークを、現ショットのカメラワークの選択肢としてユーザに対して提示する。具体的には、カメラワーク推薦提示部２４０は、シナリオ要素入力部１２０が表示するシナリオ入力画面に、推薦カメラワークに該当するカメラワークの種別を選択肢として提示するカメラワーク選択領域を追加表示する。
【００３３】
カメラパラメータ算出部２５０は、配置情報および設定カメラワークに基づいて、アニメーション空間における仮想カメラの物理パラメータ（以下「カメラパラメータ」という）を算出し、レンダリング部２６０へ出力する。
【００３４】
キャラクタデータベース２６１は、ポリゴンデータや画像データから成るキャラクタデータを、キャラクタ種別に対応付けて格納している。アクションデータベース２６２は、キャラクタのアクションに関するデータであるアクションデータを、動作種別に対応付けて格納している。セットデータベース２６３は、ポリゴンデータや画像データから成るセットデータを、セット種別に対応付けて格納している。
【００３５】
レンダリング部２６０は、シナリオ要素「動作主」、「動作／表情／台詞」、配置情報、セット情報、およびカメラパラメータに基づいて映像の描画（レンダリング）を行い、３次元ＣＧアニメーションの映像データをアニメーション出力部２７０へ出力する。
【００３６】
アニメーション出力部２７０は、レンダリング部２６０から入力された映像データを、記憶媒体（図示せず）に格納したり、表示装置の画面上に３次元ＣＧアニメーションとして表示させる。
【００３７】
また、アニメーション作成装置１００は、図示しないが、ＣＰＵ（central processing unit）、制御プログラムを格納したＲＯＭ（read only memory）などの記憶媒体、ＲＡＭ（random access memory）などの作業用メモリを備えている。ＣＰＵが制御プログラムを実行することで、上記した各部の機能は実現される。
【００３８】
以上のような構成を有するアニメーション作成装置１００の各部について、以下、詳細に説明を行う。
【００３９】
まず、図１に示す配置入力部１１０について説明する。配置入力画面３００は、図示しないが、キャラクタデータベース２６１、アクションデータベース２６２、およびセットデータベース２６３に接続されており、必要な情報を読み出して配置入力画面を生成し、表示装置に表示させる。
【００４０】
図２は、配置入力部１１０が表示させる配置入力画面の構成を示す図である。配置入力画面３００は、シーン名入力領域３０１、セット選択領域３０２、キャラクタ選択領域３０３、使用チェックボックス３０４、表示チェックボックス３０５、数値配置設定領域３０６、平面図配置設定領域３０７、および姿勢選択領域３０８を有する。配置入力画面３００では、アニメーションのシーンごとに、各種初期設定を入力することが可能となっている。
【００４１】
シーン名入力領域３０１では、アニメーションのシーン名を設定することができる。セット選択領域３０２は、セットデータベース２６３にデータが格納されているアニメーションのセットの種別を、選択肢としてドロップダウン表示する。キャラクタ選択領域３０３は、キャラクタデータベース２６１にデータが格納されているキャラクタ種別を、選択肢としてスクロール表示する。使用チェックボックス３０４では、キャラクタ選択領域３０３で選択されているキャラクタ種別に対して、シナリオのシーン内の登場キャラクタとして使用するか否かを設定することができる。表示チェックボックス３０５では、登場キャラクタを表示させるか否かを設定することができる。
【００４２】
数値配置設定領域３０６では、３次元空間の各座標軸における座標および角度を数値入力することにより、キャラクタの初期配置を設定することができる。平面図配置設定領域３０７では、セットの平面図３０９と、使用することが決定されたキャラクタの位置表示アイコン３１０および角度表示アイコン３１１が表示され、位置表示アイコン３１０および角度表示アイコン３１１の操作により、キャラクタの初期配置を設定することができる。姿勢選択領域３０８は、キャラクタの初期状態におけるポーズとして、アクションデータベース２６２にデータが格納されているアクション種別のうち「立っている」や「座っている」など姿勢に関するものを、選択肢としてドロップダウン表示する。上記各部における選択や決定および文字入力は、マウスによるドラック操作など、入力装置の操作によって可能となっている。
【００４３】
図２では、シーン名「ｓｃｅｎｅ００００」、セット「学校」、登場キャラクタ「男子学生、女性先生」が設定されるとともに、キャラクタ「男子学生」とキャラクタ「女性先生」が学校の校庭で向かい合って立っている状態が初期状態として設定された例を図示している。以下、このような初期設定が行われたシーンをアニメーション化するものとして、説明を行う。配置入力部１１０は、入力内容に応じて、セットを構成するオブジェクトの配置など必要な情報を各データベースから適宜読み出し、登場キャラクタを含む各オブジェクトの配置情報を、初期設定情報として配置情報保持部１４０へ出力する。
【００４４】
図１に示すシナリオ要素入力部１２０は、配置入力画面３００での初期設定が完了すると、シナリオ入力画面を表示させ、ユーザ操作によるシナリオ要素の入力を受け付ける。
【００４５】
図３は、シナリオ要素入力部１２０が表示させるシナリオ入力画面の構成を示す図である。シナリオ入力画面３５０は、シーン名を選択するためのシーン名選択領域３５１、シナリオの編集レベルを選択するための編集レベル選択領域３５２、ショットごとにシナリオ要素を入力するためのシナリオライン３５３、およびシナリオライン３５３の構成の説明を表示する説明表示領域３５４を有する。また、シナリオ入力画面３５０は、アニメーション出力部２７０がアニメーションを表示させるためのプレビュー再生領域３５５と、各種コマンドを選択肢としてドロップダウン表示するメニューバー３５６とを有する。
【００４６】
シナリオライン３５３は、動作主選択領域３６１、台詞入力領域３６２、表情選択領域３６３、間接目的語選択領域３６４、直接目的語選択領域３６５、動作選択領域３６６、カメラワーク設定領域３６７をそれぞれ有する。これらは、説明表示領域３５４に表示されているように、順に、「誰」、「台詞」、「表情」、「何に」、「何を」、「どうする」、「カメラ」という意味に対応している。シナリオライン３５３は、さらに、プレビュー再生ボタン３６８、およびカメラワークロックチェックボックス３６９などをそれぞれ有する。上記各部における選択や決定および文字入力は、入力装置の操作によって行うことができる。
【００４７】
シーン名選択領域３５１には、シーンの選択肢として、配置入力画面３００で過去に入力されたシーン名がドロップダウン表示される。動作主選択領域３６１には、動作主の選択肢として、シーン名選択領域３５１で選択されたシーン名に対して配置入力画面３００で使用が決定されたキャラクタがドロップダウン表示される。具体的には、シナリオ要素入力部１２０は、たとえば、配置情報保持部１４０から該当するシーンの登場キャラクタの名称を取得し、リスト化して表示する。シナリオ要素入力部１２０は、いずれかのキャラクタが選択されると、そのキャラクタを示す情報を、該当するショットのシナリオ要素「動作主」として出力する。
【００４８】
シナリオライン３５３は、初期状態では１つのみ表示されるが、動作主選択領域３６１でいずれかのキャラクタが選択された状態となるごとに、新たなシナリオライン３５３が追加表示される。また、シナリオライン３５３の上方からの配置順序が、アニメーションの時間軸における映像の順序に対応している。図３では、５ライン目までシナリオ要素の入力が行われているときの状態を図示している。
【００４９】
台詞入力領域３６２では、任意の文字列を台詞として入力することができる。シナリオ要素入力部１２０は、台詞が入力されると、その台詞を示す情報を、該当するショットのシナリオ要素「台詞」として出力する。
【００５０】
表情選択領域３６３には、動作主の表情の選択肢として、「悲しそうな顔で」などのあらかじめ定められた表情の種別がドロップダウン表示される。シナリオ要素入力部１２０は、いずれかの表情種別が選択されると、その表情種別を示す情報を、シナリオ要素「表情」として出力する。
【００５１】
動作選択領域３６６には、動作主の動作の選択肢として、あらかじめ定められた動作の種別が表示される。図３では、動作選択領域３６６で動作の種別をドロップダウン表示させ、「歩いて移動する」という動作種別が選択されているときの状態を図示している。シナリオ要素入力部１２０は、いずれかの動作種別が選択されると、その動作種別を示す情報を、該当するショットのシナリオ要素「動作」として出力する。
【００５２】
間接目的語選択領域３６４には、キャラクタの台詞や表情あるいは動作の間接目的語と成り得るオブジェクトが、選択肢としてドロップダウン表示される。直接目的語選択領域３６５には、キャラクタの動作の直接目的語と成り得るオブジェクトが、選択肢としてドロップダウン表示される。具体的には、シナリオ要素入力部１２０は、たとえば、配置情報保持部１４０から各オブジェクトの配置情報を取得し、台詞や表情との関係で、どのオブジェクトが間接目的語および直接目的語となるかを判定し、該当するオブジェクトの名称をリスト化して表示する。
【００５３】
これら間接目的語選択領域３６４および直接目的語選択領域３６５に表示される選択肢は、動作主選択領域３６１、台詞入力領域３６２、表情選択領域３６３および動作選択領域３６６で入力される情報に応じて変化する。たとえば、シーン名選択領域３５１−２に示すように、動作主がキャラクタ「女性先生」であり、動作が自動詞の「向く」の場合には、直接目的語選択領域３６５には選択肢は表示されず、間接目的語選択領域３６４に「男子生徒」が表示される。たとえば、他の登場キャラクタとして「女子生徒」が存在している場合には、間接目的語選択領域３６４に「男子生徒」と「女子生徒」が表示されることになる。
【００５４】
シナリオ要素入力部１２０は、入力する各動作種別について、「歩く」などの移動動作であるか、「向く」などの方向変更動作であるかを判別する。そして、シナリオ要素入力部１２０は、たとえば、動作種別が移動動作である場合には、間接目的語が示すオブジェクトをシナリオ要素「移動先」として出力し、動作種別が方向変更動作である場合には、間接目的語が示すオブジェクトをシナリオ要素「向き先」として出力する。
【００５５】
カメラワーク設定領域３６７には、設定カメラワークや推薦カメラワークが選択肢として表示されるだけでなく、表示されるカメラワークの中からユーザ操作により任意のものを選択することができるが、これについては後に詳しく説明する。シナリオ要素入力部１２０は、いずれかのカメラワークが選択されると、選択されたカメラワークを示す情報を、該当するショットのシナリオ要素「カメラワーク」として出力する。
【００５６】
カメラワークロックチェックボックス３６９では、チェックの有無によって、カメラワーク設定領域３６７で設定されているカメラワークを固定するか否かを選択ことができる。また、シナリオ要素入力部１２０は、カメラワーク設定領域３６７でユーザ操作により、いずれかのカメラワークが選択された場合には、このカメラワークロックチェックボックス３６９に自動的にチェックを入れる。また、シナリオ要素入力部１２０は、カメラワークロックチェックボックス３６９にチェックが入っているショットに対応付けて、ロックフラグをカメラワーク決定部２３０へ出力する。
【００５７】
シナリオ要素入力部１２０は、いずれかのシナリオライン３５３のプレビュー再生ボタン３６８がクリックされると、そのシナリオライン３５３に対応する映像をプレビュー再生領域３５５で再生させるための処理を行う。具体的には、シナリオ要素入力部１２０は、先頭からプレビュー再生ボタン３６８がクリックされたシナリオライン３５３の直前までに入力あるいは選択されたシナリオ要素を、それぞれ対応する各部へ出力する。そして、プレビュー再生ボタン３６８がクリックされたシナリオライン３５３で入力あるいは選択されたシナリオ要素を、それぞれ対応する各部へ出力する。また、シナリオ要素入力部１２０は、図示しないが、カメラパラメータ算出部２５０に接続されており、カメラパラメータ算出部２５０に対してカメラパラメータの演算を指示する。
【００５８】
また、シナリオ要素入力部１２０は、メニューバー３５６でドロップダウン表示される再生コマンドが選択されると、シーン内の複数のシナリオライン３５３に対応する映像を時系列で連結した映像を、シナリオ入力画面３５０とは別の画面で再生させるための処理を行う。具体的には、シナリオ要素入力部１２０は、すべてのシナリオライン３５３で入力あるいは選択されたシナリオ要素を、それぞれ対応する各部へ順に出力し、カメラパラメータ算出部２５０に対してカメラパラメータの演算を指示する。
【００５９】
なお、編集レベル選択領域３５２において、他の編集レベルを選択することにより、アニメーション作成装置１００による自動設定のレベルを変更し、シナリオ要素の入力の自由度や操作性を変更することが可能となっているが、ここでの説明を省略する。
【００６０】
図１に示す配置算出部１３０は、シナリオ要素入力部１２０から、シナリオ要素「動作主」および「移動先／向き先」を入力されると、配置情報保持部１４０に保持されている配置情報を基に、現ショットの終わりにおける動作主の位置座標および角度を算出する。
【００６１】
具体的には、配置算出部１３０は、シナリオ要素「移動先」が入力された場合には、該当するオブジェクトの位置座標を、配置情報保持部１４０またはセットデータベース２６３から取得する。そして、取得した位置座標を、動作主の現ショットの終わりにおける位置座標として、配置情報保持部１４０に保持させる。また、シナリオ要素「向き先」が入力された場合には、該当するオブジェクトの位置座標を、配置情報保持部１４０から取得する。そして、動作主の位置座標から取得した位置座標に向かう角度を、動作主の現ショットの終わりにおける角度として、配置情報保持部１４０に保持させる。
【００６２】
なお、配置情報保持部１４０は、一度算出した各キャラクタの位置座標および角度を、ショットごとに保持しておくようにしてもよい。これにより、配置算出部１３０は、たとえば、途中のショットについてシナリオが変更された場合に、その１つ前のショットに関する情報に基づいて以降の各ショットにおける位置座標および角度を算出することができ、処理を高速化することが可能となる。
【００６３】
次に、図１に示す配置分類判定部１５０の説明を行う前に、図１に示すアニメーション作成装置１００において、カメラワークを制御する際の指標となる情報の１つとして用いる、７つの配置分類について説明する。
【００６４】
図４は、アニメーション作成装置１００で用いられる配置分類を示す図である。配置分類「１」〜配置分類「７」は、２人のキャラクタが存在している場合において、順に、「対面配置」、「横並び配置」、「背向け配置」、「背中合せ配置」、「Ｌ型内向き配置」、「Ｌ型外向き配置」、「互い違い配置」、をそれぞれ示す。図４では、それぞれの配置分類について、平面図におけるキャラクタの省略記号と、アニメーション化されたときの映像の例を示している。ここで、キャラクタの省略記号は、半円の中心がキャラクタの位置と方向を表し、平らな面がキャラクタの正面の向いている方向を表す。
【００６５】
図１に示す配置分類判定部１５０は、配置情報保持部１４０から配置情報が入力されるたびに、配置情報から被写体となる各キャラクタの位置座標を取得し、最も外側に位置する２人のキャラクタを被写体として選択する。そして、これら２人のキャラクタの位置座標および方向に基づいて、キャラクタの配置関係が図４に示す配置分類のいずれに当てはまるかを判定する配置分類判定処理を実行する。
【００６６】
配置分類判定部１５０による配置分類判定処理について、図５および図６を用いて説明する。
【００６７】
ステップＳ１０００において、配置分類判定部１５０は、配置情報保持部１４０から２つの被写体（２人のキャラクタ）の位置座標と方向を取得する。ここでは、アニメーション空間における高さ方向であるｙ軸を無視し、各被写体の位置座標は、ｘ軸座標とｚ軸座標によって定義される。また、各被写体の方向は、ｘ−ｚ平面を上からみた状態における、ｚ軸方向に対する被写体の正面方向の反時計回りの角によって定義される。
【００６８】
ステップＳ１１００において、配置分類判定部１５０は、２つの被写体を結ぶ線の法線に対する相対角度を、２つの被写体のそれぞれについて求める。
【００６９】
図７は、２つの被写体の相対角度の算出を説明するための図である。ここで、図７に示すように、被写体４００ａの座標が（ｘａ，ｚａ）、被写体４００ｂの座標が（ｘｂ，ｚｂ）であり、ｚ軸方向に対する被写体４００ａの正面方向の角がＯａ、ｚ軸方向に対する被写体４００ｂの正面方向の角がＯｂであったとする。この場合、被写体４００ａと被写体４００ｂとを結ぶ直線の法線の、ｚ軸に対する角Ｏａｂは、以下の式（１）を用いて算出することができる。
【数１】
2008097233.tif 000003
【００７０】
そして、被写体４００ａの正面方向に対する被写体４００ｂの位置する方向の相対角度Ｏ'ａと、被写体４００ｂの正面方向に対する被写体４００ａの位置する方向の相対角度Ｏ'ｂは、それぞれ、以下の式（２）、（３）を用いて算出することができる。
【数２】
2008097233.tif 000004
【数３】
2008097233.tif 000005
【００７１】
図５および図６のステップＳ１２００、Ｓ１３００、Ｓ１４００において、配置分類判定部１５０は、ステップＳ１１００で求められた相対角度Ｏ'ｂが、０度（°）から３６０度までのどの範囲にあるのかを順次判断する。
【００７２】
具体的には、配置分類判定部１５０は、相対角度Ｏ'ｂが、４５度以下または３１５度よりも大きい場合には（Ｓ１２００：ＹＥＳ）、ステップＳ１２１０へ進み、４５度よりも大きく１３５度以下の場合には（Ｓ１３００：ＹＥＳ）、ステップＳ１３１０へ進み、１３５度よりも大きく２２５度以下の場合には（Ｓ１４００：ＹＥＳ）、ステップＳ１４１０へ進む。一方、配置分類判定部１５０は、相対角度Ｏ'ｂが、以上のいずれの角にも該当しない場合、つまり、２２５度よりも大きく３１５度以下の場合には（Ｓ１４００：ＮＯ）、ステップＳ１５１０へ進む。
【００７３】
ステップＳ１２１０〜Ｓ１２３０、Ｓ１３１０〜Ｓ１３３０、Ｓ１４１０〜Ｓ１４３０、およびＳ１５１０〜Ｓ１５３０において、配置分類判定部１５０は、相対角度Ｏ'ａと相対角度Ｏ'ｂとの差の絶対値が、０度から３６０度までのどの範囲にあるのかをそれぞれ順次判断する。
【００７４】
具体的には、配置分類判定部１５０は、相対角度Ｏ'ｂが４５度以下または３１５度よりも大きい場合で、上記絶対値が、４５度以下または３１５度よりも大きい場合には（Ｓ１２１０：ＹＥＳ）、ステップＳ１２４０へ進み、４５度よりも大きく１３５度以下の場合には（Ｓ１２２０：ＹＥＳ）、ステップＳ１２５０へ進み、１３５度よりも大きく２２５度以下の場合には（Ｓ１２３０：ＹＥＳ）、ステップＳ１２６０へ進む。一方、配置分類判定部１５０は、相対角度Ｏ'ｂが４５度以下または３１５度よりも大きく、かつ上記絶対値が、以上のいずれの角にも該当しない場合、つまり、２２５度よりも大きく３１５度以下の場合には（Ｓ１２３０：ＮＯ）、ステップＳ１２７０へ進む。
【００７５】
また、配置分類判定部１５０は、相対角度Ｏ'ｂが４５度よりも大きく１３５度以下の場合で、上記絶対値が、４５度以下または３１５度よりも大きい場合には（Ｓ１３１０：ＹＥＳ）、ステップＳ１３４０へ進み、４５度よりも大きく１３５度以下の場合には（Ｓ１３２０：ＹＥＳ）、ステップＳ１３５０へ進み、１３５度よりも大きく２２５度以下の場合には（Ｓ１３３０：ＹＥＳ）、ステップＳ１３６０へ進む。一方、配置分類判定部１５０は、相対角度Ｏ'ｂが４５度よりも大きく１３５度以下であり、かつ上記絶対値が、以上のいずれの角にも該当しない場合、つまり、２２５度よりも大きく３１５度以下の場合には（Ｓ１３３０：ＮＯ）、ステップＳ１２７０へ進む。
【００７６】
また、配置分類判定部１５０は、相対角度Ｏ'ｂが１３５度よりも大きく２２５度以下の場合で、上記絶対値が、４５度以下または３１５度よりも大きい場合には（Ｓ１４１０：ＹＥＳ）、ステップＳ１４４０へ進み、４５度よりも大きく１３５度以下の場合には（Ｓ１４２０：ＹＥＳ）、ステップＳ１４５０へ進み、１３５度よりも大きく２２５度以下の場合には（Ｓ１４３０：ＹＥＳ）、ステップＳ１４６０へ進む。一方、配置分類判定部１５０は、相対角度Ｏ'ｂが１３５度よりも大きく２２５度以下であり、かつ上記絶対値が、以上のいずれの角にも該当しない場合、つまり、２２５度よりも大きく３１５度以下の場合には（Ｓ１４３０：ＮＯ）、ステップＳ１４７０へ進む。
【００７７】
また、配置分類判定部１５０は、相対角度Ｏ'ｂが２２５度よりも大きく３１５度以下の場合で、上記絶対値が、４５度以下または３１５度よりも大きい場合には（Ｓ１５１０：ＹＥＳ）、ステップＳ１５４０へ進み、４５度よりも大きく１３５度以下の場合には（Ｓ１５２０：ＹＥＳ）、ステップＳ１５５０へ進み、１３５度よりも大きく２２５度以下の場合には（Ｓ１５３０：ＹＥＳ）、ステップＳ１５６０へ進む。一方、配置分類判定部１５０は、相対角度Ｏ'ｂが２２５度よりも大きく３１５度以下であり、かつ上記絶対値が、以上のいずれの角にも該当しない場合、つまり、２２５度よりも大きく３１５度以下の場合には（Ｓ１５３０：ＮＯ）、ステップＳ１４７０へ進む。
【００７８】
配置分類判定部１５０は、ステップＳ１３６０において、配置分類「１」を決定し、ステップＳ１２４０、Ｓ１５４０において、配置分類「２」を決定し、ステップＳ１３４０、Ｓ１４４０において、配置分類「３」を決定し、ステップＳ１４６０において、配置分類「４」を決定する。また、配置分類判定部１５０は、ステップＳ１２７０、Ｓ１３５０、Ｓ１５５０において、配置分類「５」を決定し、ステップＳ１２５０、Ｓ１４５０、Ｓ１４７０において、配置分類「６」を決定し、ステップＳ１２６０、Ｓ１５６０において、配置分類「７」を決定する。そして、配置分類判定部１５０は、これらの各ステップで配置分類を決定すると、ステップＳ１６００へ進む。
【００７９】
ステップＳ１６００において、配置分類判定部１５０は、決定した配置分類を記録保持し、一連の処理を終了する。
【００８０】
このようにして、配置分類判定部１５０は、現ショットに当てはまる配置分類を判定する。
【００８１】
次に、図１に示すカメラ方向制御部１６０の説明を行う前に、図１に示すアニメーション作成装置１００において定義されるカメラ方向およびカメラ距離について説明する。図１に示すカメラ方向制御部１６０は、被写体４００を基準とした複数のカメラ方向をあらかじめ定義しており、定義されたカメラ方向の中から選択することによって、各ショットにおける仮想カメラの被写体４００に対する撮影方向を制御する。一方、カメラ距離制御部２００は、被写体４００を基準とした複数のカメラ距離をあらかじめ定義しており、定義されたカメラ距離の中から選択することによって、各ショットにおける仮想カメラの被写体４００に対する撮影距離を制御する。すなわち、被写体４００を基準としたカメラ方向とカメラ距離との組み合わせはあらかじめ定義されており、定義された組み合わせの中から選択される形で、カメラワークが制御されるようになっている。
【００８２】
図８は、カメラ方向制御部１６０とカメラ距離制御部２００によって定義されるカメラ方向とカメラ距離との組み合わせの一例を示す図である。カメラ方向制御部１６０は、被写体４００の正面方向を基準として、「正面」、「右前」、「右横」、「右後」、「背面」、「左後」、「左横」、および「左前」を、カメラ方向として定義している。また、カメラ距離制御部２００は、被写体４００の位置を基準として、被写体４００の顔部分のアップにして撮影する距離に相当する「ＣＳ（close-shot）」、被写体４００のウェストから上部を撮影する距離に相当する「ＭＳ（medium-shot）」、および被写体全身を撮影する距離に相当する「ＦＳ（full-shot）」を、カメラ距離として定義している。この場合、図８に示す例では、被写体４００を基準としたカメラ方向とカメラ距離との組み合わせは、２４種類となる。
【００８３】
図９および図１０は、図８に示すカメラ方向とカメラ距離との組み合わせごとの出力映像の例を示す図である。図９および図１０に示すように、カメラ方向およびカメラ距離に応じて、被写体の映像が異なり、アニメーションの視聴者に与える視覚的効果が異なることがわかる。
【００８４】
また、図１に示すカメラ方向制御部１６０およびカメラ距離制御部２００は、上記に加えて、カメラ方向の水平面となす角度（カメラアングル）と、他のカメラ距離とを、それぞれ定義している。
【００８５】
図１１は、カメラ方向制御部１６０およびカメラ距離制御部２００が定義するカメラ方向とカメラ距離との組み合わせの一覧の一例を示す図である。カメラ方向制御部１６０は、「水平」、「俯瞰」、および「あおり」を、カメラアングルとして定義しており、図８に示したカメラ方向と組み合わせることにより、より細分化された２４種類のカメラ方向を定義している。また、カメラ距離制御部２００は、２人の登場キャラクタが存在するときのためのカメラ方向として、ツーショットを撮影する距離に相当する「２Ｓ（2-shot）」を定義している。また、カメラ方向制御部１６０およびカメラ距離制御部２００は、被写体４００の動きを追うようなカメラワークとして「動きを追う」を、被写体４００とは無関係にあらかじめ定められたカメラワークとして「定点Ｐ１」と「定点Ｐ２」を、カメラ方向およびカメラ距離としてそれぞれ定義している。
【００８６】
なお、説明の簡便化のため、以下、カメラ方向の垂直方向成分については適宜無視し、カメラ方向は水平のみとする。
【００８７】
図１に示すカメラ方向制御部１６０について説明する。カメラ方向制御部１６０は、配置分類ごとに、前ショットから現ショットへのカメラ方向の遷移パターン（以下「カメラ方向遷移」という）の優先順位を定めたカメラ方向遷移グラフを、あらかじめ保持している。カメラ方向制御部１６０は、現ショットの配置分類に該当するカメラ方向遷移グラフを参照し、カメラ方向候補を決定する。
【００８８】
ただし、登場キャラクタが２人の場合のカメラ方向遷移グラフの内容は、上記した映画文法に沿った内容となっている。ここで、カメラ方向遷移グラフの内容を説明する前に、各配置分類に適用されるカメラ方向遷移の具体例を説明する。
【００８９】
図１２〜図１８は、配置分類ごとに適用されるカメラ方向遷移の具体例を示す図である。図１２〜図１８は、順に、配置分類「１」〜配置分類「７」、つまり、対面配置、横並び配置、背向け配置、背中合せ配置、Ｌ型内向き配置、Ｌ型外向き配置、互い違い配置、にそれぞれ適用されるカメラ方向遷移を示している。各図では、仮想カメラの遷移前と遷移後のキャラクタに対する位置関係と、それぞれの仮想カメラ位置における映像例を示している。
【００９０】
配置分類「１」（対面配置）には、図１２（Ａ）〜図１２（Ｃ）に順に示すように、外側から撮影する「Ｅｘｔｅｒｎａｌ−Ｅｘｔｅｒｎａｌ  Ｒｅｖｅｒｓｅ  Ｓｈｏｔ」、内側から撮影する「Ｉｎｔｅｒｎａｌ−Ｉｎｔｅｒｎａｌ  Ｒｅｖｅｒｓｅ  Ｓｈｏｔ」、および外側と内側から撮影する「Ｅｘｔｅｒｎａｌ−Ｉｎｔｅｒｎａｌ  Ｒｅｖｅｒｓｅ  Ｓｈｏｔ」というカメラ方向遷移が適用される。配置分類「２」（横並び）には、図１３（Ａ）および図１３（Ｂ）に順に示すように、「Ｅｘｔｅｒｎａｌ−Ｅｘｔｅｒｎａｌ  Ｒｅｖｅｒｓｅ  Ｓｈｏｔ」と、遷移後と遷移前とで撮影方向を並行に保つ「Ｐａｒａｌｌｅｌ  Ｃａｍｅｒａ  Ｐｏｓｉｔｉｏｎｓ」というカメラ方向遷移が適用される。配置分類「３」（背向け）には、図１４（Ａ）および図１４（Ｂ）に順に示すように、「Ｅｘｔｅｒｎａｌ−Ｅｘｔｅｒｎａｌ  Ｒｅｖｅｒｓｅ  Ｓｈｏｔ」、および「Ｐａｒａｌｌｅｌ  Ｃａｍｅｒａ  Ｐｏｓｉｔｉｏｎｓ」が適用される。配置分類「４」（背中合せ）には、図１５（Ａ）および図１５（Ｂ）に順に示すように、「Ｅｘｔｅｒｎａｌ−Ｅｘｔｅｒｎａｌ  Ｒｅｖｅｒｓｅ  Ｓｈｏｔ」、および「Ｐａｒａｌｌｅｌ  Ｃａｍｅｒａ  Ｐｏｓｉｔｉｏｎｓ」が適用される。
【００９１】
以上の配置分類「１」〜「４」に適用されるカメラ方向遷移において、仮想カメラは、両キャラクタを結ぶ線に対して同じ側で移動する。
【００９２】
配置分類「５」（Ｌ型内向き）には、図１６（Ａ）〜図１６（Ｃ）に順に示すように、一方のキャラクタの正面を含むツーショットを切り返す「２  Ｓｈｏｔ−２  Ｓｈｏｔ」、一方のキャラクタのクローズショットとツーショットを切り返す「Ｃｌｏｓｅ  Ｓｈｏｔ−２  Ｓｈｏｔ」、および一方のキャラクタの背面を含むツーショットを切り返す「２  Ｓｈｏｔ−２  Ｓｈｏｔ」というカメラ方向遷移が適用される。配置分類「６」（Ｌ型外向き）には、図１７（Ａ）および図１７（Ｂ）に順に示すように、一方のキャラクタの正面を含むツーショットを切り返す「２  Ｓｈｏｔ−２  Ｓｈｏｔ」、および「Ｃｌｏｓｅ  Ｓｈｏｔ−２  Ｓｈｏｔ」が適用される。
【００９３】
以上の配置分類「５」、「６」に適用されるカメラ方向遷移において、仮想カメラは、両キャラクタを結ぶ線に対して同じ側で移動する。
【００９４】
配置分類「７」（互い違い）には、図１８（Ａ）および図１８（Ｂ）に順に示すように、「Ｅｘｔｅｒｎａｌ−Ｅｘｔｅｒｎａｌ  Ｒｅｖｅｒｓｅ  Ｓｈｏｔ」、および「Ｐａｒａｌｌｅｌ  Ｃａｍｅｒａ  Ｐｏｓｉｔｉｏｎｓ」が適用される。このカメラ方向遷移では、仮想カメラは、両キャラクタを結ぶ線に対して異なる側で移動する。
【００９５】
図１９〜図２７は、配置分類ごとのカメラ方向遷移グラフの内容の一例を示す図である。図１９〜図２７に示すカメラ方向遷移グラフ４１０−１〜４１０−７は、順に、配置分類「１」〜配置分類「７」、つまり、対面配置、横並び配置、背向け配置、背中合せ配置、Ｌ型内向き配置、Ｌ型外向き配置、互い違い配置、にそれぞれ対応している。
【００９６】
カメラ方向遷移グラフ４１０は、配置分類４１１、前ショットの方向４１２、および条件４１３という３つの情報の組み合わせごとに、現ショットの方向４１４として、図１１に示したあらかじめ定義されているカメラ方向を指定する。この指定内容は、適用されるカメラ方向遷移に則ったものとなっている。また、現ショットの方向４１４として指定される各カメラ方向には優先順位が設定されており、図１９〜図２７では、図中の上方からの記述順序が、設定された優先順位に対応している。
【００９７】
たとえば、図１９に示すカメラ方向遷移グラフ４１０−１において、配置分類４１１が「対面」であり、前ショットの方向４１２が「右前」であり、条件４１３が「動作主が異なる」となっている場合には、現ショットの方向４１４として、「左前」、「定点Ｐ１」、および「定点Ｐ２」が指定されている。このうち、最も優先順位の高い「左前」というカメラ方向が選択された場合、前ショットと現ショットとで被写体が切り替わる際に、２人のキャラクタを結ぶ直線に対して同じ側で、仮想カメラが移動することになる。これは、図１２で説明した対面配置の場合のカメラ方向遷移に則ったカメラワークである。
【００９８】
なお、カメラ方向遷移グラフ４１０は、ＸＭＬ（extensible markup language）表記のデータとすることもできる。
【００９９】
図２８〜図３６は、ＸＭＬ表記のデータとした場合のカメラ方向遷移グラフの記述例を示す図であり、図１９〜図２７にそれぞれ対応するものである。たとえば、ｓｃｅｎｅ要素のｔｙｐｅ属性によって配置分類４１１が指定され、ｒｕｌｅ要素のｓｔａｔｅ属性によって前ショットの方向４１２が指定され、ｃｏｎｄｉｔｉｏｎ要素のａｇｅｎｔ属性によって条件４１３が指定される。そして、ｔｒａｎｓｉｔｉｏｎ要素のｓｔａｔｅ属性によって現ショットの方向４１４が指定される。このように、ＸＭＬなどの標準的な記述方式を採用することにより、カメラ方向遷移グラフに関する各種処理を、他のシステムと連携して行うことができる。具体的には、たとえば、既存の映画におけるカメラワークを解析するような装置で、カメラ方向遷移グラフを自動生成したり、カメラ方向遷移グラフを他の装置で共用するといったことが容易となる。
【０１００】
このように、各カメラ方向遷移グラフ４１０は、映画文法に基づくカメラ方向遷移に則った内容となっているため、カメラ方向制御部１６０は、カメラ方向遷移グラフ４１０を用いることにより、映画文法に則ったカメラワークを実現するカメラ方向を、カメラ方向候補として選択することができる。
【０１０１】
ただし、図１９〜図２７に示すように、各カメラ方向遷移グラフ４１０では、同じ情報の組み合わせでも、複数のカメラ方向が現ショットの方向４１４として指定されている。過去にユーザが手動でカメラ遷移の選択を行っている場合には、その過去の選択頻度を、設定カメラワークの決定や、ユーザへの提示順序に反映させることが望ましい。そこで、カメラ方向保持部１７０は、ユーザの手動選択によって過去に決定されたカメラ方向遷移の頻度を記録するカメラ方向遷移頻度テーブルを備えている。
【０１０２】
図３７は、カメラ方向遷移頻度テーブルの構成の一例を示す図である。カメラ方向遷移頻度テーブル４３０は、配置分類ごとに用意されており、遷移前のカメラ方向と、遷移後のカメラ方向との組み合わせのパターンごとに、遷移の頻度を示す数値が記述されている。また、各組み合わせパターンを示すセルには、前ショットと現ショットとで動作主が変わる場合と変わらない場合とにそれぞれ対応する２つの値が記述されている。
【０１０３】
たとえば、配置分類「１」に対応するカメラ方向遷移頻度テーブル４３０−１では、「左前」から「右前」へのカメラ方向遷移の頻度として、「１１」と「９」の２つの値が記述されており、１つ目の値「１１」は、他のいずれのカメラ方向に遷移する場合よりも高い値となっている。これは、過去のカメラワークにおいて、配置分類「１」で動作主が変わる場合で、遷移前のカメラ方向が「左前」であった場合には、「右前」のカメラ方向に遷移する頻度が最も高かったことを示している。カメラ方向遷移頻度テーブル４３０の更新については後述する。
【０１０４】
カメラ方向制御部１６０は、上記したカメラ方向遷移グラフ４１０とカメラ方向遷移頻度テーブル４３０とを用いて、カメラワーク方向候補を選択して出力するカメラ方向制御処理を実行する。
【０１０５】
次に、カメラ方向制御部１６０によるカメラ方向制御処理について、図３８のフローチャートを用いて説明する。
【０１０６】
ステップＳ２０００において、カメラ方向制御部１６０は、シナリオ要素「動作主」、配置分類、カメラ距離変化コマンドのいずれかが入力されたか否かを判断する。カメラ方向制御部１６０は、シナリオ要素「動作主」、配置分類、カメラ距離変化コマンドのいずれかが入力された場合には（Ｓ２０００：ＹＥＳ）、ステップＳ２０１０へ進み、いずれも入力されない場合には（Ｓ２０００：ＮＯ）、ステップＳ２０２０へ進む。
【０１０７】
ステップＳ２０２０において、カメラ方向制御部１６０は、カメラ方向変化コマンドが入力されたか否かを判断する。カメラ方向制御部１６０は、カメラ方向変化コマンドが入力された場合には（Ｓ２０２０：ＹＥＳ）、ステップＳ２０３０へ進み、カメラ方向変化コマンドが入力されない場合には（Ｓ２０２０：ＮＯ）、ステップＳ２０００へ戻り、情報の入力を再び監視する。カメラ方向変化コマンドがどのような場合に入力されるかについては後述する。
【０１０８】
ステップＳ２０１０において、カメラ方向制御部１６０は、ステップＳ２０００で入力された情報が属するショット（現ショット）の動作主および配置分類と、前ショットの動作主およびカメラ方向のうち、入力していない情報を取得する。具体的には、カメラ方向制御部１６０は、シナリオ要素入力部１２０から現ショットのシナリオ要素「動作主」を、配置分類判定部１５０から現ショットの配置分類を、カメラ方向保持部１７０から前ショットの動作主およびカメラ方向を、それぞれ取得する。
【０１０９】
次に、ステップＳ２０４０において、カメラ方向制御部１６０は、現ショットの配置分類に該当するカメラ方向遷移グラフ４１０で、前ショットの動作主、カメラ方向、および現ショットの動作主をクエリとして、現ショットの方向４１４を検索する。そして、カメラ方向制御部１６０は、検索した現ショットの方向４１４を、カメラ方向候補として抽出する。
【０１１０】
次に、ステップＳ２０５０において、カメラ方向制御部１６０は、現ショットの配置分類に該当するカメラ方向遷移頻度テーブル４３０を参照し、前ショットのカメラ方向を遷移前カメラ方向としたときの遷移頻度の値に着目する。そして、カメラ方向制御部１６０は、ステップＳ２０４０で抽出したカメラ方向候補を遷移後カメラ方向とした場合について、カメラ方向候補を遷移頻度が高い順にソートし、優先順位を設定する。ただし、カメラ方向制御部１６０は、初期状態など、ユーザによってカメラワークの指定がまだ行われていない段階では、カメラ方向遷移頻度テーブル４３０に基づいて優先順位を設定することができない。このような場合には、カメラ方向制御部１６０は、カメラ方向遷移グラフ４１０における記述順を優先順位として採用する。
【０１１１】
次に、ステップＳ２０６０において、カメラ方向制御部１６０は、ステップＳ２０００で入力された情報がカメラ距離変化コマンドであったか否かを判断する。カメラ方向制御部１６０は、入力された情報がカメラ距離変化コマンド以外、つまりシナリオ要素「動作主」または配置情報であった場合には（Ｓ２０６０：ＮＯ）、ステップＳ２０７０へ進み、入力された情報がカメラ距離変化コマンドであった場合には（Ｓ２０６０：ＹＥＳ）、ステップＳ２０８０へ進む。カメラ距離変化コマンドがどのような場合に入力されるかについては後述する。
【０１１２】
ステップＳ２０７０において、カメラ方向制御部１６０は、現ショットのカメラ方向候補のうち、最も高い優先順位が設定されたカメラ方向候補を、現ショットの仮のカメラ方向としてカメラ方向変化判定部１８０へ出力する。
【０１１３】
次に、ステップＳ２０９０において、カメラ方向制御部１６０は、現ショットのカメラ方向候補を、設定された優先順位を付加した状態でカメラワーク決定部２３０へ出力し、一連の処理を終了する。
【０１１４】
一方、ステップＳ２０３０において、カメラ方向制御部１６０は、現ショットに設定されたカメラ方向候補の優先順位を修正する。具体的には、カメラ方向制御部１６０は、現ショットのカメラ方向候補の優先順位「１」、「２」を入れ替える。そして、カメラ方向制御部１６０は、ステップＳ２０７０へ進む。すなわち、カメラ方向制御部１６０は、修正後の優先順位がもっとも高いカメラ方向候補がカメラ方向変化判定部１８０へ出力され、カメラワーク決定部２３０に出力されるカメラ方向候補には修正後の優先順位が付加される。なお、カメラ方向変化コマンドは、現ショットについてのカメラ方向候補の優先順位の設定を過去に既に行っている場合にのみ入力されるため、このような優先順位の修正が可能となっている。
【０１１５】
また、ステップＳ２０８０において、カメラ方向制御部１６０は、ステップＳ２０００で入力された情報がカメラ距離変化コマンドであることから、そのカメラ距離変化コマンドが「距離変化なし」を示すものか否かを判断する。カメラ方向制御部１６０は、カメラ距離変化コマンドが「距離変化なし」を示すものである場合には（Ｓ２０８０：ＹＥＳ）、ステップＳ２１００へ進み、カメラ距離変化コマンドが「距離変化あり」を示すものである場合には（Ｓ２０８０：ＮＯ）、ステップＳ２１００を経ずにそのままステップＳ２０９０へ進む。どのような場合に「距離変化なし」のカメラ距離変化コマンドが入力されるかについては後述する。
【０１１６】
ステップＳ２１００において、カメラ方向制御部１６０は、ステップＳ２０３０と同様に、現ショットに設定されたカメラ方向候補の優先順位を修正し、ステップＳ２０９０へ進む。
【０１１７】
このようにして、カメラ方向制御部１６０は、現ショットに対してカメラ方向候補を決定する。そして、カメラ方向制御部１６０は、シナリオ要素「動作」、配置分類、または「距離変化あり」のカメラ距離変化コマンドを入力した場合には、カメラ方向遷移グラフ４１０およびカメラ方向遷移頻度テーブル４３０に記述される優先順位を、カメラ方向候補に設定する。一方で、カメラ方向制御部１６０は、カメラ方向変化コマンド、または「距離変化なし」のカメラ距離変化コマンドを入力した場合には、修正した優先順位をカメラ方向候補に設定する。
【０１１８】
次に、図１に示すカメラ方向変化判定部１８０について説明する。カメラ方向変化判定部１８０は、カメラ方向制御部１６０から図３８のステップＳ２０７０に対応して出力される現ショットのカメラ方向を入力するたびに、カメラ方向変化の有無を判別してカメラ方向変化コマンドを出力するカメラ方向変化判定処理を実行する。
【０１１９】
カメラ方向変化判定部１８０によるカメラ方向変化判定処理について、図３９のフローチャートを用いて説明する。ここで、添え字として、処理の対象となっているショットに関する情報であることを示すパラメータｔ、および処理の対象となっているショットと動作主を同じくするショットのうち１つ前のショットに関する情報であることを示すパラメータｔ−１を用いる。
【０１２０】
ステップＳ２５００において、カメラ方向変化判定部１８０は、カメラ方向制御部１６０から現ショットのカメラ方向Ｗを取得する。
【０１２１】
次に、ステップＳ２５１０において、カメラ方向変化判定部１８０は、処理の対象となるショットを、同じ動作主についての１つ前のショットに遡ることができるか否かを判断する。たとえば、現ショットがシーンの最初のショットであった場合や、後述するショットを遡る処理を繰り返した結果、処理の対象となるショットがシーンの最初のショットとなった場合には、ショットを遡ることができない。カメラ方向変化判定部１８０は、ショットを遡ることができる場合には（Ｓ２５１０：ＹＥＳ）、ステップＳ２５２０へ進み、ショットを遡ることができない場合には（Ｓ２５１０：ＮＯ）、ステップＳ２５３０へ進む。
【０１２２】
ステップＳ２５２０において、カメラ方向変化判定部１８０は、カメラ方向保持部１７０から、ショット（ｔ−１）のカメラ方向Ｗ（ｔ−１）を取得する。
【０１２３】
次に、ステップＳ２５４０において、カメラ方向変化判定部１８０は、現ショットの動作主について、１つ前のショットとの間でのカメラ方向変化の有無、つまりカメラ方向Ｗ（ｔ）とカメラ方向Ｗ（ｔ−１）とが同一か否かを判断する。なお、初期状態では、ショット（ｔ）は、現ショットである。カメラ方向変化判定部１８０は、カメラ方向変化が無い場合には（Ｓ２５４０：ＹＥＳ）、ステップＳ２５５０へ進み、カメラ方向変化が有る場合には（Ｓ２５４０：ＮＯ）、ステップＳ２５３０へ進む。
【０１２４】
ステップＳ２５５０において、カメラ方向変化判定部１８０は、カメラ方向変化の無いショットの継続数が、あらかじめ定められた閾値を超えたか否かを判断する。カメラ方向変化判定部１８０は、カメラ方向変化の無いショットの継続数が閾値以下の場合には（Ｓ２５５０：ＮＯ）、ステップＳ２５６０へ進み、カメラ方向変化の無いショットの継続数が閾値を超えた場合には（Ｓ２５５０：ＹＥＳ）、ステップＳ２５７０へ進む。ここで、あらかじめ定められた閾値とは、カメラ方向変化の無いショットが継続したときに、映像が単調化していると認識されるショット継続数である。
【０１２５】
ステップＳ２５６０において、カメラ方向変化判定部１８０は、処理の対象となるショットを同じ動作主についての１つ前のショットに遡り、つまりパラメータｔ−１をパラメータｔに更新し、ステップＳ２５１０へ戻る。すなわち、カメラ方向変化判定部１８０は、現ショットから前のショットに遡っていき、前後のショット間でカメラ方向が変化するまで、ステップＳ２５１０〜Ｓ２５６０が繰り返される。そして、カメラ方向変化判定部１８０は、その間に、シーンの最初のショットまで遡るとステップＳ２５３０へ進み、カメラ方向変化の無いショットの継続数が閾値に達すると、ステップＳ２５７０へ進む。
【０１２６】
ステップＳ２５７０において、カメラ方向変化判定部１８０は、現ショットについてまだカメラ方向変化コマンドを出力していないかを判断する。カメラ方向変化判定部１８０は、現ショットについてまだカメラ方向変化コマンドを出力していない場合には（Ｓ２５７０：ＹＥＳ）、ステップＳ２５８０へ進み、現ショットについて既にカメラ方向変化コマンドを出力している場合には（Ｓ２５７０：ＮＯ）、ステップＳ２５９０へ進む。
【０１２７】
ステップＳ２５８０において、カメラ方向変化判定部１８０は、カメラ方向変化コマンドをカメラ方向制御部１６０へ出力し、一連の処理を終了する。
【０１２８】
このステップＳ２５８０の処理に対応して、カメラ方向制御部１６０は、図３８で説明したように、カメラ方向候補の優先順位を修正し、修正後の優先順位が最も高いカメラ方向候補を現ショットのカメラ方向として再びカメラ方向変化判定部１８０へ出力する。この結果、１回目とは異なるカメラ方向Ｗが入力されると、カメラ方向変化判定部１８０は、前ショットと現ショットとの間でカメラ方向Ｗが変化し、処理はステップＳ２５３０へと進む。
【０１２９】
ステップＳ２５３０において、カメラ方向変化判定部１８０は、現ショットのカメラ距離候補を決定させるために、カメラ方向変化コマンドをカメラ距離制御部２００へ出力し、一連の処理を終了する。ただし、カメラ方向変化判定部１８０は、カメラ方向変化の無いショットが継続していないこと（方向変化あり）を示すカメラ方向変化コマンドを出力する。
【０１３０】
一方、ステップＳ２５９０において、カメラ方向変化判定部１８０は、現ショットのカメラ距離候補を決定させるために、カメラ方向変化コマンドをカメラ距離制御部２００へ出力し、一連の処理を終了する。ただし、カメラ方向変化判定部１８０は、カメラ方向変化が無いことからカメラ方向変化コマンドを出力したものの、カメラ方向変化が無いままであったとして、カメラ方向変化の無いショットが継続していること（方向変化なし）を示すカメラ方向変化コマンドを出力する。このような事態は、たとえば、カメラ方向候補が１つしか存在せず、１回目と２回目で同じカメラ方向Ｗがカメラ方向制御部１６０から入力された場合に起こり得る。
【０１３１】
このようにして、カメラ方向変化判定部１８０は、カメラ方向候補の優先順位を修正させるカメラ方向変化コマンドを出力するとともに、カメラ距離制御部２００を起動させるカメラ方向変化コマンドをカメラ方向変化の有無を付加した状態で出力する。なお、カメラ方向制御部１６０に入力されたのがカメラ距離変化コマンドである場合には、カメラ方向変化判定処理は実行されず、カメラ距離制御部２００にカメラ方向変化コマンドは入力されない。これは、現ショットについて、既にカメラ距離制御部２００が起動しているためである。
【０１３２】
一方、カメラ距離についても、シーン分類判定部１９０およびカメラ距離制御部２００によって、カメラ距離候補が決定される。
【０１３３】
まず、図１に示すシーン分類判定部１９０について説明する。シーン分類判定部１９０は、シナリオ要素に基づいて、現ショットがいずれのシーン分類に当てはまるかを判定するシーン分類判定処理を実行する。本実施例のアニメーション作成装置１００では、カメラワークを制御する際の指標となる情報の１つとして、「対話」、「表情」、「ジェスチャー」、および「全身動作」の４つのシーン分類を用いている。
【０１３４】
シーン分類判定部１９０によるシーン分類判定処理について、図４０に示すフローチャートを用いて説明する。
【０１３５】
ステップＳ３０００において、シーン分類判定部１９０は、シナリオ要素「動作」として動作種別が入力されたか否かを判断する。動作種別が入力された場合には（Ｓ３０００：ＹＥＳ）、ステップＳ３０５０へ進み、動作種別が入力されていない場合には（Ｓ３０００：ＮＯ）、ステップＳ３１００へ進む。
【０１３６】
ステップＳ３０５０において、シーン分類判定部１９０は、動作種別に対応するアクションデータを、アクションデータベース２６２で検索する。アクションデータとしては、たとえば、Ｂｉｏｖｉｓｉｏｎ社が考案した、人体のパーツを階層構造で管理するデータフォーマットであるＢＶＨ（Biovision hierarchy）のデータを用いるようにすればよい。
【０１３７】
次に、ステップＳ３１５０において、シーン分類判定部１９０は、動作種別に対応するアクションデータが検索されたか否かを判別する。シーン分類判定部１９０は、該当するアクションデータが検索されない場合（Ｓ３１５０：ＹＥＳ）には、ステップＳ３２００へ進む。
【０１３８】
ステップＳ３２００において、シーン分類判定部１９０は、動作種別に対応するアクションデータを取得し、全身動作か否かを分析して、その分析結果を取得したアクションデータに付加させる。そして、シーン分類判定部１９０は、取得したアクションデータが、頭、上腕、および腕に該当するパーツのみにおいて位置や向きの変化がある場合にはジェスチャーに該当する動作種別であると判別し、太もも、下肢、および腰に該当するパーツにおいても位置や向きの変化がある場合には全身動作に該当する動作種別であると判別する。
【０１３９】
次に、ステップＳ３２５０において、シーン分類判定部１９０は、ステップＳ３２００で取得したアクションデータを、アクションデータベース２６２に追加する。具体的には、シーン分類判定部１９０は、ステップＳ３２００で分析された動作種別を対応付けた状態で、アクションデータをアクションデータベース２６２に保存する。
【０１４０】
ステップＳ３３００において、シーン分類判定部１９０は、動作種別が全身動作に該当するか否かを判断する。動作種別が全身動作に該当する場合には（Ｓ３３００：ＹＥＳ）、ステップＳ３３５０へ進み、動作種別が全身動作に該当しない場合には（Ｓ３３００：ＮＯ）、ステップＳ３４５０へ進む。
【０１４１】
ステップＳ３３５０において、シーン分類判定部１９０は、シーン分類が「全身動作」であると判定する。
【０１４２】
次に、ステップＳ３４００において、シーン分類判定部１９０は、シーン分類についての判定結果を記録保持し、一連の処理を終了する。
【０１４３】
一方、ステップＳ３１５０で、該当するアクションデータが検索された場合には、シーン分類判定部１９０は、そのままステップＳ３３００へ進み、動作種別が全身動作に該当するか否かの判断を行う。
【０１４４】
また、ステップＳ３４５０では、シーン分類判定部１９０は、動作種別が全身動作に該当せず、キャラクタの動作が主に上半身で行われるジェスチャーであるとして、シーン分類が「ジェスチャー」であると判定し、ステップＳ３４００へ進んで判定結果を記録保持する。
【０１４５】
一方、ステップＳ３１００において、シーン分類判定部１９０は、シナリオ要素「表情」として表情種別が入力されたか否かを判断する。シーン分類判定部１９０は、表情種別が入力された場合には（Ｓ３１００：ＹＥＳ）、ステップＳ３５００へ進み、表情種別が入力されなかった場合には（Ｓ３１００：ＮＯ）、ステップＳ３５５０へ進む。
【０１４６】
ステップＳ３５００において、シーン分類判定部１９０は、特に動作が行われていないもののキャラクタの表情に動きがあるとして、シーン分類が「表情」であると判定し、ステップＳ３４００へ進んで判定結果を記録保持する。
【０１４７】
ステップＳ３５５０において、シーン分類判定部１９０は、シナリオ要素「台詞」として文字列が入力されたか否かを判断する。シーン分類判定部１９０は、シナリオ要素「台詞」として文字列が入力された場合には（Ｓ３５５０：ＹＥＳ）、ステップＳ３６００へ進み、シナリオ要素「台詞」として文字列が入力されなかった場合には（Ｓ３５５０：ＮＯ）、そのまま一連の処理を終了する。
【０１４８】
ステップＳ３６００において、シーン分類判定部１９０は、シーン分類が「対話」であると判定し、ステップＳ３４００へ進み、カメラ距離制御処理を実行して一連の処理を終了する。
【０１４９】
このようにして、シーン分類判定部１９０は、現ショットに当てはまるシーン分類を判定する。
【０１５０】
次に、図１に示すカメラ距離制御部２００について説明する。カメラ距離制御部２００は、シーン分類判定部１９０の判定結果に基づいて、カメラ距離候補を決定する。
【０１５１】
図４１は、同じ動作主についてのカメラ距離の遷移パターンと初期状態における各遷移パターンの優先順位を示す図である。実線の矢印は、優先順位の高い遷移パターンであることを示し、破線の矢印は、優先順位の低い遷移パターンであることを示している。
【０１５２】
カメラ距離には、既に説明したように、クローズアップショット（ＣＳ）、ウェストショット（ＭＳ）、フルショット（ＦＳ）、およびツーショット（２Ｓ）が存在している。初期状態では、図４１に示すように、クローズアップショットとフルショットとの間の遷移と、クローズアップショットとツーショットとの間の遷移は、他の遷移パターンよりも優先順位が低く設定されている。これは、被写体との距離について視覚連続性を考慮し、映像の変化が最小限となる遷移パターンの優先度を高く、映像の変化が大きくなるにつれて優先度を低くするためである。すなわち、このような遷移パターンの優先度を設定しておくことによって、極端な映像の変化により視聴者の理解に混乱をきたすことを抑制し、適切な映像の変化により自然な映像を実現することが可能となる。
【０１５３】
図１に示すカメラ距離制御部２００は、シーン分類ごとに、前ショットから現ショットへのカメラ距離の遷移パターン（以下「カメラ距離遷移」という）の優先順位を定めたカメラ距離遷移グラフを、あらかじめ保持している。カメラ距離制御部２００は、現ショットのシーン分類に該当するカメラ距離遷移グラフを参照し、カメラ距離候補を決定する。
【０１５４】
図４２〜図４４は、シーン分類ごとのカメラ距離遷移グラフの内容の一例を示す図である。図４２〜図４４に示すカメラ距離遷移グラフ４５０−１〜４５０−３は、順に、シーン分類「対話」、シーン分類「表情」、シーン分類「ジェスチャー／全身動作」にそれぞれ対応している。
【０１５５】
カメラ距離遷移グラフ４５０は、シーン分類４５１、前ショットの距離４５２、および条件４５３という３つの情報の組み合わせごとに、現ショットの距離４５４として、図１１に示したカメラ距離を指定する。また、現ショットの距離４５４として指定される各カメラ距離には、優先順位が設定されており、図４２〜図４４では、図中の上方からの記述順序が、設定された優先順位に対応している。
【０１５６】
たとえば、図４３に示すカメラ距離遷移グラフ４５０−２において、シーン分類４５１が「表情」であり、前ショットの距離４５２が「ＭＳ」であり、条件４５３が「動作主が同じ」となっている場合には、現ショットの距離４５４として、「ＣＳ」、および「ＭＳ」が指定されている。このうち、最も優先順位の高い「ＣＳ」という現ショットの距離４５４が選択された場合、上半身のショットから、顔のアップのショットに変化し、視聴者に対して表情に着目させる映像効果が生み出される。
【０１５７】
なお、カメラ距離遷移グラフ４５０も、カメラ方向遷移グラフ４１０と同様に、ＸＭＬ表記のデータとすることもできる。
【０１５８】
図４５〜図４７は、ＸＭＬ表記のデータとした場合のカメラ距離遷移グラフの記述例を示す図であり、図４２〜図４４にそれぞれ対応するものである。たとえば、ｓｃｅｎｅ要素のｔｙｐｅ属性によってシーン分類４５１が指定され、ｒｕｌｅ要素のｓｔａｔｅ属性によって前ショットの距離４５２が指定され、ｃｏｎｄｉｔｉｏｎ要素のａｇｅｎｔ属性によって条件４５３が指定される。そして、ｔｒａｎｓｉｔｉｏｎ要素のｓｔａｔｅ属性によって現ショットの距離４５４が指定される。
【０１５９】
図４２〜図４４に示すように、各カメラ距離遷移グラフ４５０でも、カメラ方向遷移グラフ４１０と同様に、同じ情報の組み合わせに対し、複数のカメラ距離が現ショットの距離４５４として指定されている。過去にユーザが手動でカメラ遷移の選択を行っている場合には、カメラ方向候補と同様に、その選択頻度を設定カメラワークの決定やユーザへの提示順序に反映させることが望ましい。そこで、カメラ距離保持部２１０は、ユーザの手動選択によって過去に決定されたカメラ距離遷移の頻度を記録するカメラ距離遷移頻度テーブルを備えている。
【０１６０】
図４８は、カメラ距離遷移頻度テーブルの構成の一例を示す図である。カメラ距離遷移頻度テーブル４７０は、シーン分類ごとに用意されており、遷移前のカメラ距離と、遷移後のカメラ距離との組み合わせパターンごとに、遷移の頻度を示す数値が記述されている。また、各組み合わせパターンを示すセルには、前ショットと現ショットとで動作主が変わる場合と変わらない場合とにそれぞれ対応する２つの値が記述されている。
【０１６１】
たとえば、シーン分類「対話」に対応するカメラ距離遷移頻度テーブル４７０−１ではカメラ距離「２Ｓ」からカメラ距離「２Ｓ」へのカメラ距離遷移の頻度として、「９」と「５」の２つの値が記述されており、１つ目の値「９」は、他のいずれのカメラ距離に遷移する場合よりも高い値となっている。これは、過去のカメラワークにおいて、シーン分類「対話」で動作主が変わる場合で、遷移前のカメラ距離が「２Ｓ」であった場合には、「２Ｓ」のカメラ距離に遷移する頻度が最も高かったことを示している。カメラ距離遷移頻度テーブル４７０の更新については後述する。
【０１６２】
カメラ距離制御部２００は、上記したカメラ距離遷移グラフ４５０とカメラ距離遷移頻度テーブル４７０とを用いて、カメラワーク距離候補を選択して出力するカメラ距離制御処理を実行する。
【０１６３】
次に、カメラ距離制御部２００によるカメラ距離制御処理について、図４９のフローチャートを用いて説明する。
【０１６４】
ステップＳ４０００において、カメラ距離制御部２００は、シーン分類またはカメラ方向変化コマンドが入力されたか否かを判断する。カメラ距離制御部２００は、シーン分類またはカメラ方向変化コマンドが入力された場合には（Ｓ４０００：ＹＥＳ）、ステップＳ４０１０へ進み、いずれも入力されない場合には（Ｓ４０００：ＮＯ）、ステップＳ４０２０へ進む。
【０１６５】
ステップＳ４０２０において、カメラ距離制御部２００は、カメラ距離変化コマンドが入力されたか否かを判断する。カメラ距離制御部２００は、カメラ距離変化コマンドが入力された場合には（Ｓ４０２０：ＹＥＳ）、ステップＳ４０３０へ進み、カメラ距離変化コマンドが入力されない場合には（Ｓ４０２０：ＮＯ）、ステップＳ４０００へ戻り、情報の入力を再び監視する。カメラ距離変化コマンドがどのような場合に入力されるかについては後述する。
【０１６６】
ステップＳ４０１０において、カメラ距離制御部２００は、ステップＳ４０００で入力された情報が属するショット（現ショット）の動作主およびシーン分類と、前ショットの動作主およびカメラ距離のうち、入力していない情報を取得する。具体的には、カメラ距離制御部２００は、シナリオ要素入力部１２０から現ショットのシナリオ要素「動作主」を、シーン分類判定部１９０から現ショットのシーン分類を、カメラ距離保持部２１０から前ショットの動作主およびカメラ距離を、それぞれ取得する。
【０１６７】
次に、ステップＳ４０４０において、カメラ距離制御部２００は、現ショットのシーン分類に該当するカメラ距離遷移グラフ４５０で、前ショットの動作主、カメラ距離、および現ショットの動作主をクエリとして、現ショットの距離４５４を検索する。そして、カメラ距離制御部２００は、検索した現ショットの距離４５４を、カメラ距離候補として抽出する。
【０１６８】
次に、ステップＳ４０５０において、カメラ距離制御部２００は、現ショットのシーン分類に該当するカメラ距離遷移頻度テーブル４７０を参照し、前ショットのカメラ距離を遷移前カメラ距離としたときの遷移頻度の値に着目する。そして、カメラ距離制御部２００は、ステップＳ４０４０で抽出したカメラ距離候補を遷移後カメラ距離とした場合について、カメラ距離候補を遷移頻度が高い順にソートし、優先順位を設定する。ただし、初期状態など、ユーザによってカメラワークの指定がまだ行われていない段階では、カメラ距離遷移頻度テーブル４７０に基づいて優先順位を設定することができない。このような場合には、カメラ距離制御部２００は、カメラ距離遷移グラフ４５０における記述順を優先順位として採用する。
【０１６９】
次に、ステップＳ４０６０において、カメラ距離制御部２００は、ステップＳ４０００で入力された情報がカメラ方向変化コマンドであったか否かを判断する。カメラ距離制御部２００は、入力された情報がカメラ方向変化コマンド以外、つまりシーン分類であった場合には（Ｓ４０６０：ＮＯ）、ステップＳ４０７０へ進み、入力された情報がカメラ方向変化コマンドであった場合には（Ｓ４０６０：ＹＥＳ）、ステップＳ４０８０へ進む。カメラ方向変化コマンドは、図３９で説明したように、図１に示すカメラ方向変化判定部１８０から入力される。
【０１７０】
ステップＳ４０７０において、カメラ距離制御部２００は、現ショットのカメラ距離候補のうち、最も高い優先順位が設定されたカメラ距離候補を、現ショットの仮のカメラ距離としてカメラ距離変化判定部２２０へ出力する。
【０１７１】
次に、ステップＳ４０９０において、カメラ距離制御部２００は、現ショットのカメラ距離候補を、設定された優先順位を付加した状態でカメラワーク決定部２３０へ出力し、一連の処理を終了する。
【０１７２】
一方、ステップＳ４０３０において、カメラ距離制御部２００は、現ショットに設定されたカメラ距離候補の優先順位を修正する。具体的には、カメラ距離制御部２００は、現ショットのカメラ距離候補の優先順位「１」、「２」を入れ替える。そして、カメラ距離制御部２００は、ステップＳ４０７０へ進む。すなわち、カメラ距離制御部２００は、修正後の優先順位がもっとも高いカメラ距離候補がカメラ距離変化判定部２２０へ出力され、カメラワーク決定部２３０に出力されるカメラ距離候補には修正後の優先順位が付加される。なお、カメラ距離変化コマンドは、現ショットについてのカメラ距離候補の優先順位の設定を過去に既に行っている場合にのみ入力されるため、このような優先順位の修正が可能となっている。
【０１７３】
また、ステップＳ４０８０において、カメラ距離制御部２００は、ステップＳ４０００で入力された情報がカメラ方向変化コマンドであることから、そのカメラ方向変化コマンドが「方向変化なし」を示すものか否かを判断する。カメラ距離制御部２００は、カメラ方向変化コマンドが「方向変化なし」を示すものである場合には（Ｓ４０８０：ＹＥＳ）、ステップＳ４１００へ進み、カメラ方向変化コマンドが「方向変化あり」を示すものである場合には（Ｓ４０８０：ＮＯ）、ステップＳ４１００を経ずにそのままステップＳ４０９０へ進む。「方向変化なし」のカメラ方向変化コマンドが入力されるのは、図３９で説明したように、カメラ方向変化が無いショットが継続した場合である。
【０１７４】
ステップＳ４１００において、カメラ距離制御部２００は、ステップＳ４０３０と同様に、現ショットに設定されたカメラ距離候補の優先順位を修正し、ステップＳ４０９０へ進む。
【０１７５】
このようにして、カメラ距離制御部２００は、現ショットに対してカメラ距離候補を決定する。そして、カメラ距離制御部２００は、シーン分類、または「方向変化あり」のカメラ方向変化コマンドを入力した場合には、カメラ距離遷移グラフ４５０およびカメラ距離遷移頻度テーブル４７０に記述される優先順位を、カメラ距離候補に設定する。一方で、カメラ距離制御部２００は、カメラ距離変化コマンド、または「方向変化なし」のカメラ方向変化コマンドを入力した場合には、修正した優先順位をカメラ距離候補に設定する。
【０１７６】
次に、図１に示すカメラ距離変化判定部２２０について説明する。カメラ距離変化判定部２２０は、カメラ距離制御部２００から図４９のステップＳ４０７０に対応して出力される現ショットのカメラ距離を入力するたびに、カメラ距離変化の有無を判別してカメラ距離変化コマンドを出力するカメラ距離変化判定処理を実行する。
【０１７７】
カメラ距離変化判定部２２０によるカメラ距離変化判定処理について、図５０のフローチャートを用いて説明する。ここで、添え字として、処理の対象となっているショットに関する情報であることを示すパラメータｔ、および処理の対象となっているショットと動作主を同じくするショットのうち１つ前のショットに関する情報であることを示すパラメータｔ−１を用いる。
【０１７８】
ステップＳ４５００において、カメラ距離変化判定部２２０は、カメラ距離制御部２００から現ショットのカメラ距離Ｄを取得する。
【０１７９】
次に、ステップＳ４５１０において、カメラ距離変化判定部２２０は、処理の対象となるショットを、同じ動作主についての１つ前のショットに遡ることができるか否かを判断する。たとえば、カメラ距離変化判定部２２０は、現ショットがシーンの最初のショットであった場合や、後述するショットを遡る処理を繰り返した結果、処理の対象となるショットがシーンの最初のショットとなった場合には、ショットを遡ることができない。カメラ距離変化判定部２２０は、ショットを遡ることができる場合には（Ｓ４５１０：ＹＥＳ）、ステップＳ４５２０へ進み、ショットを遡ることができない場合には（Ｓ４５１０：ＮＯ）、ステップＳ４５３０へ進む。
【０１８０】
ステップＳ４５２０において、カメラ距離変化判定部２２０は、カメラ距離保持部２１０から、ショット（ｔ−１）のカメラ距離Ｄ（ｔ−１）を取得する。
【０１８１】
次に、ステップＳ４５４０において、カメラ距離変化判定部２２０は、現ショットの動作主について、１つ前のショットとの間でのカメラ距離変化の有無、つまりカメラ距離Ｄ（ｔ）とカメラ距離Ｄ（ｔ−１）とが同一か否かを判断する。なお、初期状態では、ショット（ｔ）は、現ショットである。カメラ距離変化判定部２２０は、カメラ距離変化が無い場合には（Ｓ４５４０：ＹＥＳ）、ステップＳ４５５０へ進み、カメラ距離変化が有る場合には（Ｓ４５４０：ＮＯ）、ステップＳ４５３０へ進む。
【０１８２】
ステップＳ４５５０において、カメラ距離変化判定部２２０は、カメラ距離変化の無いショットの継続数が、あらかじめ定められた閾値を超えたか否かを判断する。カメラ距離変化判定部２２０は、カメラ距離変化の無いショットの継続数が閾値以下の場合には（Ｓ４５５０：ＮＯ）、ステップＳ４５６０へ進み、カメラ距離変化の無いショットの継続数が閾値を超えた場合には（Ｓ４５５０：ＹＥＳ）、ステップＳ４５７０へ進む。ここで、あらかじめ定められた閾値とは、カメラ距離変化の無いショットが継続したときに、映像が単調化していると認識されるショット継続数である。
【０１８３】
ステップＳ４５６０では、カメラ距離変化判定部２２０は、処理の対象となるショットを同じ動作主についての１つ前のショットに遡り、つまりパラメータｔ−１をパラメータｔに更新し、ステップＳ４５１０へ戻る。すなわち、現ショットから前のショットに遡っていき、前後のショット間でカメラ距離が変化するまで、ステップＳ４５１０〜Ｓ４５６０が繰り返される。そして、その間に、シーンの最初のショットまで遡ると、ステップＳ４５３０へ進み、カメラ距離変化の無いショットの継続数が閾値に達すると、ステップＳ４５７０へ進む。なお、ステップＳ４５６０で用いる閾値と、図３９に示すカメラ方向制御処理のステップＳ２５５０で用いる閾値とは、同一の値であっても、異なる値であってもよい。
【０１８４】
ステップＳ４５７０において、カメラ距離変化判定部２２０は、現ショットについてまだカメラ距離変化コマンドを出力していないかを判断する。カメラ距離変化判定部２２０は、現ショットについてまだカメラ距離変化コマンドを出力していない場合には（Ｓ４５７０：ＹＥＳ）、ステップＳ４５８０へ進み、現ショットについて既にカメラ距離変化コマンドを出力している場合には（Ｓ４５７０：ＮＯ）、ステップＳ４５９０へ進む。
【０１８５】
ステップＳ４５８０において、カメラ距離変化判定部２２０は、カメラ距離変化コマンドをカメラ距離制御部２００へ出力し、一連の処理を終了する。
【０１８６】
このステップＳ４５８０の処理に対応して、カメラ距離制御部２００は、図４９で説明したように、カメラ距離候補の優先順位を修正し、修正後の優先順位が最も高いカメラ距離候補を現ショットのカメラ距離として再びカメラ距離変化判定部２２０へ出力する。この結果、１回目とは異なるカメラ距離Ｄが入力されると、カメラ距離変化判定部２２０は、前ショットと現ショットとの間でカメラ距離Ｄが変化し、処理はステップＳ４５３０へと進む。
【０１８７】
ステップＳ４５３０において、カメラ距離変化判定部２２０は、現ショットのカメラ方向候補を決定させるために、カメラ距離変化コマンドをカメラ方向制御部１６０へ出力し、一連の処理を終了する。ただし、カメラ距離変化判定部２２０は、カメラ距離変化の無いショットが継続していないこと（距離変化あり）を示すカメラ距離変化コマンドを出力する。
【０１８８】
一方、ステップＳ４５９０において、カメラ距離変化判定部２２０は、現ショットのカメラ方向候補を決定させるために、カメラ距離変化コマンドをカメラ方向制御部１６０へ出力し、一連の処理を終了する。ただし、カメラ距離変化判定部２２０は、カメラ距離変化が無いことからカメラ距離変化コマンドを出力したものの、カメラ距離変化が無いままであったとして、カメラ距離変化の無いショットが継続していること（距離変化なし）を示すカメラ距離変化コマンドを出力する。このような事態は、たとえば、カメラ距離候補が１つしか存在せず、１回目と２回目で同じカメラ距離Ｄがカメラ距離制御部２００から入力された場合に起こり得る。
【０１８９】
このようにして、カメラ距離変化判定部２２０は、カメラ距離候補の優先順位を修正させるカメラ距離変化コマンドを出力するとともに、カメラ方向制御部１６０を起動させるカメラ距離変化コマンドをカメラ距離変化の有無を付加した状態で出力する。なお、カメラ距離制御部２００に入力されたのがカメラ方向変化コマンドである場合には、カメラ距離変化判定処理は実行されず、カメラ方向制御部１６０にカメラ距離変化コマンドは入力されない。これは、現ショットについて、既にカメラ方向制御部１６０が起動しているためである。
【０１９０】
このようなカメラ距離制御部２００およびカメラ距離変化判定部２２０の処理と、図３８および図３９で説明したカメラ方向制御部１６０およびカメラ方向変化判定部２００の処理によって、カメラワークに変化を持たせることができる。すなわち、カメラ方向が単調なときには、カメラ方向の変更を試み、それでも変化しない場合にはカメラ距離を積極的に変化させることができる。逆に、カメラ距離が単調なときには、カメラ距離の変更を試み、それでも変化しない場合にはカメラ方向を積極的に変化させることができる。
【０１９１】
次に、図１に示すカメラワーク決定部２３０について説明する。カメラワーク決定部２３０は、カメラ方向制御部１６０およびカメラ距離制御部２００から入力するカメラ方向候補およびカメラ距離候補を用いて、カメラワークを決定するカメラワーク決定処理を実行する。
【０１９２】
カメラワーク決定部２３０によるカメラワーク決定処理について、図５１のフローチャートを用いて説明する。
【０１９３】
ステップＳ５０００において、カメラワーク決定部２３０は、設定カメラワークの決定を、カメラ方向候補およびカメラ距離に基づく自動選択で行うか、それともユーザの手動操作に基づく手動選択で行うか、を判断する。具体的には、カメラワーク決定部２３０は、シナリオ要素入力部１２０からシナリオ要素「カメラワーク」を入力された場合には、設定カメラワークの決定を手動選択で行うと判断し、その他の場合、すなわちカメラ方向候補およびカメラ距離候補が入力された場合には、設定カメラワークの決定を自動選択で行うと判断する。カメラワーク決定部２３０は、設定カメラワークの決定を、自動選択で行う場合には（Ｓ５０００：ＮＯ）、ステップＳ５１００へ進み、手動選択で行う場合には（Ｓ５０００：ＹＥＳ）、ステップＳ５２００へ進む。
【０１９４】
ステップＳ５１００において、カメラワーク決定部２３０は、カメラ方向制御部１６０から、優先順位が付加されたカメラ方向候補を取得する。
【０１９５】
次に、ステップＳ５３００において、カメラワーク決定部２３０は、カメラ距離制御部２００から、優先順位が付加されたカメラ距離候補を取得する。
【０１９６】
次に、ステップＳ５４００において、カメラワーク決定部２３０は、カメラ方向候補の優先順位に、カメラ距離の優先順位を組み合わせて、ユーザに提示する際の優先順位（以下「提示順位」という）が付加された推薦カメラワークを決定する。具体的には、たとえば、カメラワーク決定部２３０は、カメラ方向の優先順位を一番目に優先されるキー、カメラ距離の優先順位を二番目に優先されるキーとして昇順にソートし、提示順位付きの推薦カメラワークとして決定する。なお、提示順位の決定はこの手法に限定されず、たとえば、カメラ方向の優先順位とカメラ距離の優先順位の和を算出し、算出結果が昇順となるように推薦カメラワークをソートしてもよい。
【０１９７】
次に、ステップＳ５５００において、カメラワーク決定部２３０は、決定した提示順位の最も高い推薦カメラワークを、設定カメラワークを決定する。
【０１９８】
次に、ステップＳ５６００において、カメラワーク決定部２３０は、決定した推薦カメラワークを、カメラワーク推薦提示部２４０へ出力する。
【０１９９】
次に、ステップＳ５７００において、カメラワーク決定部２３０は、決定した設定カメラワークを、カメラパラメータ算出部２５０へ出力し、一連の処理を終了する。
【０２００】
一方、ステップＳ５２００において、カメラワーク決定部２３０は、手動選択で設定カメラワークの決定を行う手動設定処理を実行する。そして、カメラワーク決定部２３０は、ステップＳ５７００へ進み、手動設定処理で決定した設定カメラワークを出力する。手動設定処理の詳細については、後に別図を用いて説明する。
【０２０１】
次に、図１に示すカメラワーク推薦提示部２４０について説明する。カメラワーク推薦提示部２４０は、カメラワーク決定部２３０から推薦カメラワークを入力すると、既に説明したように、シナリオ入力画面３５０にカメラワーク選択領域を追加表示する。
【０２０２】
図５２は、カメラワーク選択領域が追加表示されたシナリオ入力画面３５０の一例を示す図である。カメラワーク推薦提示部２４０は、シナリオ入力画面３５０において、現ショットのカメラワーク設定領域３６７に隣接する領域に、カメラワーク選択領域５００ａをドロップダウン表示させる。カメラワーク選択領域５００ａの上位には、推薦カメラワークが、推薦リスト５１０ａとして種別名で配置され、カメラワーク選択領域５００ａの下位には、選択し得る全てのカメラワークが、固定の候補リスト５２０ａとして種別名で配置される。また、推薦リスト５１０ａ内において、各カメラワークは、カメラワーク決定部２３０で設定された提示順位が高いものほど、より上位に配置される。
【０２０３】
カメラワーク選択領域５００ａに表示される推薦リスト５１０ａまたは固定の候補リスト５２０ａの中から任意のカメラワークを選択できるようになっている。カメラワーク推薦提示部２４０は、ユーザ操作により、いずれかのカメラワークが選択されると、選択されたカメラワークを、推薦カメラワークとしてカメラワーク決定部２３０へ出力する。
【０２０４】
カメラワークの提示は、種別名ではなく、該当するカメラワークを適用した場合の映像を用いて行うことも可能である。
【０２０５】
図５３は、カメラワーク選択領域が追加表示されたシナリオ入力画面３５０の他の一例を示す図である。この例では、シナリオ入力画面３５０において、各ショットのカメラワーク設定領域３６７に、設定カメラワークを適用した場合の映像のサムネイルが、カメラワークの種別を示すアイコンとして表示されている。そして、カメラワーク選択領域５００ｂには、現ショットの推薦カメラワークのアイコンが、提示順位に応じた順序で並べて表示されている。このようにカメラワークの提示をアイコンによって行うことにより、ユーザは推薦カメラワークを映像で確認しながら、カメラワークの手動選択を行うことができる。なお、固定の候補リストの提示についても、推薦カメラワークと同様にアイコンを用いてもよい。
【０２０６】
ユーザ操作により選択されたカメラワーク（以下「ユーザ選択カメラワーク」という）は、シナリオ要素「カメラワーク」としてカメラワーク決定部２３０へ出力される。すると、図５１で説明したように、カメラワーク決定部２３０は、手動選択で設定カメラワークの決定を行う手動設定処理を実行する。
【０２０７】
次に、カメラワーク決定部２３０による手動設定処理について、図５４のフローチャートを用いて説明する。ここで、添え字として、処理の対象となっているショットに関する情報であることを示すパラメータｔを用いる。また、処理の対象となっているショットの１つ前のショットに関する情報であることを示すパラメータｔ−１、および処理の対象となっているショットの１つ後のショットに関する情報であることを示すパラメータｔ＋１を用いる。なお、ここでは、図３９、および図５０での説明とは異なり、動作主が同一か否かは上記パラメータに関与しないものとする。
【０２０８】
ステップＳ５２０１において、カメラワーク決定部２３０は、ショット（ｔ＋１）が存在するか否か、つまり、後ショットについて設定カメラワークが過去に決定されたか否かを、ショットを指定してカメラ方向保持部１７０およびカメラ距離保持部２１０に問い合わせる。カメラ方向保持部１７０およびカメラ距離保持部２１０は、該当するショットについて、動作主やカメラ方向またはカメラ距離などの情報を保持している場合には、その情報をカメラワーク決定部２３０に返す。カメラワーク決定部２３０は、問い合わせ結果に基づいてショット（ｔ＋１）の有無を判断し、ショット（ｔ＋１）が存在しない場合には（Ｓ５２０１：ＮＯ）、ステップＳ５２０２へ進み、ショット（ｔ＋１）が存在する場合には（Ｓ５２０１：ＹＥＳ）、ステップＳ５２０３へ進む。
【０２０９】
ステップＳ５２０２において、カメラワーク決定部２３０は、現ショットの配置分類に対応するカメラ方向遷移頻度テーブル４３０を選択し、前ショットのカメラ方向から現ショットのカメラ方向へのカメラ方向遷移の頻度のうち、動作主が同じか否かで対応するカメラ方向遷移頻度の値を、「１」増加させる。
【０２１０】
次に、ステップＳ５２０４において、カメラワーク決定部２３０は、現ショットのシーン分類に対応するカメラ距離遷移頻度テーブル４７０を選択し、前ショットのカメラ距離から現ショットのカメラ距離へのカメラ距離遷移の頻度のうち、動作主が同じか否かで対応するカメラ距離遷移頻度の値を、「１」増加させる。そして、図５１に示すカメラワーク決定処理のステップＳ５７００へ戻る。
【０２１１】
一方、ステップＳ５２０３では、カメラワーク決定部２３０は、後ショット以降のカメラワークをユーザ選択カメラワークに適合するように変更しなければならない可能性があることから、まず、ショット（ｔ＋１）のカメラ方向Ｗ（ｔ＋１）を取得する。
【０２１２】
次に、ステップＳ５２０５において、カメラワーク決定部２３０は、ショット（ｔ＋１）におけるカメラワークが変更不可となっているか否か、つまり「ロック状態」か「非ロック状態」かを判断する。具体的には、シナリオ入力画面３５０において、該当するシナリオライン３５３のカメラワークロックチェックボックス３６９にチェックが入っているか否か、つまり、シナリオ要素入力部１２０から、該当するショットに対応付けてフラグが入力されたか否かを判断する。カメラワーク決定部２３０は、ショット（ｔ＋１）におけるカメラワークが「非ロック状態」の場合には（Ｓ５２０５：ＹＥＳ）、ステップＳ５２０６へ進み、ショット（ｔ＋１）におけるカメラワークが「ロック状態」の場合には（Ｓ５２０５：ＮＯ）、ステップＳ５２５０へ進む。
【０２１３】
ステップＳ５２０６において、カメラワーク決定部２３０は、ショット（ｔ）の配置分類に該当するカメラ方向遷移グラフ４１０を選択し、ショット（ｔ）のカメラ方向Ｗ（ｔ）から遷移可能なカメラ方向を検索する。そして、カメラワーク決定部２３０は、カメラ方向遷移頻度テーブル４３０を参照し、検索したカメラ方向を、遷移頻度の高い順にソートする。ただし、初期状態など、カメラ方向遷移頻度テーブル４３０に基づいて遷移頻度の高い順にソートすることができない場合には、カメラワーク決定部２３０は、カメラ方向遷移グラフ４１０における記述順を優先順としてソートする。
【０２１４】
次に、ステップＳ５２０７において、カメラワーク決定部２３０は、ステップＳ５２０６における検索結果に、ショット（ｔ＋１）のカメラ方向Ｗ（ｔ＋１）が含まれているか否か、つまり、カメラ方向Ｗ（ｔ＋１）を修正すべきか否かを判断する。カメラワーク決定部２３０は、検索結果にカメラ方向Ｗ（ｔ＋１）が含まれていない場合には（Ｓ５２０７：ＹＥＳ）、ステップＳ５２０８へ進み、含まれている場合には（Ｓ５２０７：ＮＯ）、ステップＳ５２０８を経ずに、その次のステップＳ５２０９へ進む。
【０２１５】
ステップＳ５２０８において、カメラワーク決定部２３０は、ショット（ｔ＋１）のカメラ方向を、ステップＳ５２０７で検索されたカメラ方向のうち、ステップＳ５２０６におけるソート順位の最も高いカメラ方向に修正する。
【０２１６】
次に、ステップＳ５２０９において、カメラワーク決定部２３０は、ショット（ｔ＋１）のカメラ距離Ｄ（ｔ＋１）を取得する。
【０２１７】
次に、ステップＳ５２１０において、カメラワーク決定部２３０は、ショット（ｔ）のシーン分類に該当するカメラ距離遷移グラフ４５０を選択し、ショット（ｔ）のカメラ距離Ｄ（ｔ）から遷移可能なカメラ距離候補を検索する。そして、カメラワーク決定部２３０は、カメラ距離遷移頻度テーブル４７０を参照し、検索したカメラ距離を、遷移頻度の高い順にソートする。ただし、初期状態など、カメラ距離遷移頻度テーブル４７０に基づいて遷移頻度の高い順にソートすることができない場合には、カメラワーク決定部２３０は、カメラ距離遷移グラフ４５０における記述順を優先順としてソートする。
【０２１８】
次に、ステップＳ５２１１において、カメラワーク決定部２３０は、ステップＳ５２１０における検索結果に、ショット（ｔ＋１）のカメラ距離Ｄ（ｔ＋１）が含まれているか否か、つまり、カメラ距離Ｄ（ｔ＋１）を修正すべきか否かを判断する。カメラワーク決定部２３０は、検索結果にカメラ距離Ｄ（ｔ＋１）が含まれていない場合には（Ｓ５２１１：ＹＥＳ）、ステップＳ５２１２へ進み、含まれている場合には（Ｓ５２１１：ＮＯ）、ステップＳ５２１２を経ずに、その次のステップＳ５２１３へ進む。
【０２１９】
ステップＳ５２１２において、カメラワーク決定部２３０は、ショット（ｔ＋１）のカメラ距離を、ステップＳ５２１０で検索されたカメラ距離候補のうち、ステップＳ５２１０におけるソート順位の最も高いカメラ距離に修正する。
【０２２０】
ステップＳ５２１３において、カメラワーク決定部２３０は、処理の対象となるショットを１つ進めて、ステップＳ５２０１へ戻る。すなわち、カメラワーク決定部２３０は、カメラワークが「非ロック状態」のショットが連続する限り、ステップＳ５２０１、Ｓ５２０３、Ｓ５２０５〜Ｓ５２１３の処理は繰り返されるが、カメラワークが「ロック状態」となっているショットの１つ前のショットが処理の対象となったときに、ステップＳ５３００へ進むことになる。
【０２２１】
ステップＳ５２５０において、カメラワーク決定部２３０は、処理の対象となっているショットの１つ先のショットでカメラワークが「ロック状態」となっている場合の設定処理であるロック時設定処理を実行し、その後、ステップＳ５２０２へ進む。
【０２２２】
次に、カメラワーク決定部２３０によるロック時設定処理について、図５５のフローチャートを用いて説明する。
【０２２３】
ステップＳ５２５１において、カメラワーク決定部２３０は、まず、ショット（ｔ）の配置分類に対応するカメラ方向遷移グラフ４１０を選択し、ショット（ｔ）のカメラ方向Ｗ（ｔ）からショット（ｔ＋１）のカメラ方向Ｗ（ｔ＋１）へのカメラ方向遷移を、逆引きで検索する。すなわち、カメラワーク決定部２３０は、ショット（ｔ＋１）のカメラ方向Ｗ（ｔ＋１）に遷移可能なカメラ方向を、ショット（ｔ）のカメラ方向候補として検索する。これは、ショット（ｔ＋１）のカメラワークが「ロック状態」となっていることから、ショット（ｔ＋１）のカメラワークに適合するように、ショット（ｔ）以前のカメラワークを変更しなければならない可能性があるためである。
【０２２４】
次に、ステップＳ５２５２において、カメラワーク決定部２３０は、ステップＳ５２５１における検索結果に、ショット（ｔ）のカメラ方向Ｗ（ｔ）が含まれているか否か、つまり、カメラ方向Ｗ（ｔ）を修正すべきか否かを判断する。カメラワーク決定部２３０は、検索結果にカメラ方向Ｗ（ｔ）が含まれていない場合には（Ｓ５２５２：ＹＥＳ）、ステップＳ５２５３へ進み、含まれている場合には（Ｓ５２５２：ＮＯ）、ステップＳ５２５３を経ずに、その次のステップＳ５２５４へ進む。
【０２２５】
ステップＳ５２５３において、カメラワーク決定部２３０は、ステップＳ５２５１で検索されたショット（ｔ）のカメラ方向候補のそれぞれについて、カメラ方向Ｗ（ｔ＋１）へ遷移する際の頻度を、対応するカメラ方向遷移頻度テーブル４３０を参照して調べる。そして、カメラワーク決定部２３０は、ショット（ｔ）のカメラ方向Ｗ（ｔ）を、最も高い頻度に該当するカメラ方向に修正する。ただし、初期状態など、カメラ方向遷移頻度テーブル４３０に基づいて最も高い頻度に該当するカメラ方向を特定できない場合には、カメラワーク決定部２３０は、カメラ方向遷移グラフ４１０を参照して、最も高い優先順位に該当するものの中から１つを選択する。
【０２２６】
次に、ステップＳ５２５４において、カメラワーク決定部２３０は、ショット（ｔ）のシーン分類に対応するカメラ距離遷移グラフ４５０を選択し、ショット（ｔ）のカメラ距離Ｄ（ｔ）からショット（ｔ＋１）のカメラ距離Ｄ（ｔ＋１）へのカメラ距離遷移を、逆引きで検索する。すなわち、カメラワーク決定部２３０は、ショット（ｔ＋１）のカメラ距離Ｄ（ｔ＋１）に遷移可能なカメラ距離を検索する。
【０２２７】
次に、ステップＳ５２５５において、カメラワーク決定部２３０は、ステップＳ５２５４における検索結果に、ショット（ｔ）のカメラ距離Ｄ（ｔ）が含まれているか否か、つまり、カメラ距離Ｄ（ｔ）を修正すべきか否かを判断する。カメラワーク決定部２３０は、検索結果にカメラ距離Ｄ（ｔ）が含まれていない場合には（Ｓ５２５５：ＹＥＳ）、ステップＳ５２５６へ進み、含まれている場合には（Ｓ５２５５：ＮＯ）、ステップＳ５２５６を経ずに、その次のステップＳ５２５７へ進む。
【０２２８】
ステップＳ５２５６において、カメラワーク決定部２３０は、ステップＳ５２５４で検索されたショット（ｔ）のカメラ距離候補のそれぞれについて、カメラ距離Ｄ（ｔ＋１）へ遷移する際の頻度を、対応するカメラ距離遷移頻度テーブル４７０を参照して調べる。そして、カメラワーク決定部２３０は、ショット（ｔ）のカメラ距離Ｄ（ｔ）を、最も高い頻度に該当するカメラ距離に修正する。ただし、初期状態など、カメラ距離遷移頻度テーブル４７０に基づいて最も高い頻度に該当するカメラ距離を特定できない場合には、カメラワーク決定部２３０は、カメラ距離遷移グラフ４５０を参照して、最も高い優先順位に該当するものの中から１つを選択する。
【０２２９】
ステップＳ５２５７において、カメラワーク決定部２３０は、ショット（ｔ）のカメラワークの修正を行ったか否かを判断する。カメラワーク決定部２３０は、ショット（ｔ）のカメラワークの修正を行っていない場合には（Ｓ５２５７：ＮＯ）、ショット（ｔ）以前のショットのカメラワークを修正する必要が無いものとして、ステップＳ５２０２へ進む。一方、カメラワーク決定部２３０は、ショット（ｔ）のカメラワークの修正を行った場合には（Ｓ５２５７：ＹＥＳ）、ステップＳ５２５８へ進む。
【０２３０】
ステップＳ５２５８において、カメラワーク決定部２３０は、処理の対象となるショットを１つ遡って、ステップＳ５２５１へ戻る。すなわち、カメラワークを修正したショットが連続する限り、ステップＳ５２５１、Ｓ５２５２〜Ｓ５２５８の処理は繰り返されるが、カメラワークが修正されないショットが処理の対象となったときに、図５４に示す手動設定処理のステップＳ５２０２へ進むことになる。
【０２３１】
このようにして、各ショットのカメラワークを、自動選択と手動選択の両方で決定することができる。また、自動選択の場合だけでなく、手動選択の場合でも、他のショットとの関係で適切なカメラワークに修正したり、手動選択によって決定したカメラワークに他のショットのカメラワークを適合させることができる。決定された設定カメラワークは、カメラパラメータ算出部２５０へ出力される。
【０２３２】
次に、図１に示すカメラパラメータ算出部２５０について説明する。カメラパラメータ算出部２５０は、シナリオ要素入力部１２０からカメラパラメータの算出を指示されると、設定カメラワークに基づいて、カメラパラメータ算出処理を実行する。カメラパラメータ算出処理の説明を行う前に、被写体が１人（１ショット）の場合のカメラパラメータの算出の原理の一例と、被写体が２人（２ショット）の場合のカメラパラメータの算出の原理の一例について説明する。
【０２３３】
図５６は、被写体が１人の場合のカメラパラメータ算出部２５０への入力パラメータを説明するための図である。図５６（Ａ）は、入力パラメータのうちの高さパラメータを説明するための図であり、図５６（Ｂ）は、入力パラメータのうちの横／奥行き／角度パラメータを説明するための図である。
【０２３４】
被写体が１人の場合の入力パラメータは、被写体となるキャラクタの目の高さ（ｙ座標）Ｙｃｈａｒ＿ｅｙｅｌｅｖｅｌ、キャラクタのｘ−ｚ座標（Ｘｃｈａｒ，Ｚｃｈａｒ）、ｘ−ｚ平面を上からみた状態におけるｚ軸方向に対するキャラクタの正面方向の反時計回りの角Ｏｃｈａｒ、およびカメラ方向とカメラ距離との組からなる設定カメラワークである。
【０２３５】
カメラパラメータ算出部２５０は、入力パラメータに基づいて、キャラクタと仮想カメラとの水平距離Ｄｃａｍ、キャラクタの目の高さに対する仮想カメラの高さ比ω、およびキャラクタの正面方向に対する仮想カメラの位置する方向の相対角度Ｏｃａｍという３つのパラメータを、それぞれ以下の式（４）〜（６）を用いて決定する。
【数４】
2008097233.tif 000006
【数５】
2008097233.tif 000007
【数６】
2008097233.tif 000008
【０２３６】
このとき、カメラパラメータである、ｘ座標Ｘｃａｍ、ｙ座標Ｙｃａｍ、ｘ座標Ｚｃａｍ、横方向角度Ｐａｎｃａｍ、縦方向角度Ｔｉｌｔｃａｍ、回転角度Ｒｏｌｌｃａｍ、および画角Ｖａｎｇｌｅｃａｍは、それぞれ、以下の式（７）〜（１３）で算出することができる。
【数７】
2008097233.tif 000009
【数８】
2008097233.tif 000010
【数９】
2008097233.tif 000011
【数１０】
2008097233.tif 000012
【数１１】
2008097233.tif 000013
【数１２】
2008097233.tif 000014
【数１３】
2008097233.tif 000015
【０２３７】
図５７は、被写体が２人の場合のカメラパラメータ算出部２５０への入力パラメータを説明するための図である。図５７（Ａ）は、入力パラメータのうちの高さパラメータを説明するための図であり、図５７（Ｂ）は、入力パラメータのうちの横／奥行き／角度パラメータを説明するための図である。
【０２３８】
被写体が２人の場合の入力パラメータは、被写体となる動作主のキャラクタと他のキャラクタのそれぞれのｘ座標Ｘｃｈａｒ１、Ｘｃｈａｒ２、目の高さ（ｙ座標）Ｙｃｈａｒ１＿ｅｙｅｌｅｖｅｌ、Ｙｃｈａｒ２＿ｅｙｅｌｅｖｅｌ、ｚ座標Ｚｃｈａｒ１、Ｚｃｈａｒ２、ｘ−ｚ平面を上からみた状態におけるｚ軸方向に対する動作主となるキャラクタの正面方向の反時計回りの角Ｏｃｈａｒ１、およびカメラ方向とカメラ距離との組からなる設定カメラワークである。
【０２３９】
カメラパラメータ算出部２５０は、入力パラメータに基づいて、２人のキャラクタの目の位置座標の中点（以下「仮想被写体位置」という）と仮想カメラとの水平距離Ｄｃａｍ、２人のキャラクタの水平距離Ｄｃｈａｒ、仮想被写体位置に対する仮想カメラの高さ比ω、および仮想被写体位置のｘ−ｚ座標に動作主のキャラクタを配置した場合のキャラクタの正面方向に対する仮想カメラの位置する方向の相対角度Ｏｃａｍという４つのパラメータを、それぞれ以下の式（１４）、（１５）、および上記した式（５）、（６）を用いて決定する。
【数１４】
2008097233.tif 000016
【数１５】
2008097233.tif 000017
【０２４０】
このとき、仮想被写体位置のｘ座標Ｘｔａｒｇｅｔ、ｙ座標Ｙｔａｒｇｅｔ＿ｅｙｅｌｅｖｅｌ、ｚ座標Ｚｔａｒｇｅｔ、ｘ軸方向に対する動作主のキャラクタからみた他のキャラクタの位置の方向の角α、仮想カメラと仮想被写体位置とを結ぶ直線の法線方向における２人のキャラクタの距離Ｄｐｒｏｊは、それぞれ以下の式（１６）〜（２０）で算出することができる。
【数１６】
2008097233.tif 000018
【数１７】
2008097233.tif 000019
【数１８】
2008097233.tif 000020
【数１９】
2008097233.tif 000021
【数２０】
2008097233.tif 000022
【０２４１】
なお、仮想カメラと仮想被写体位置とを結ぶ直線の法線方向における２人のキャラクタの距離Ｄｐｒｏｊを、式（２０）のように設定するのは、２ｍに相当する値以下の場合には後述する画角Ｖａｎｇｌｅｃａｍを適切に得られないためである。カメラパラメータである、ｘ座標Ｘｃａｍ、ｙ座標Ｙｃａｍ、ｘ座標Ｚｃａｍ、横方向角度Ｐａｎｃａｍ、縦方向角度Ｔｉｌｔｃａｍ、回転角度Ｒｏｌｌｃａｍ、および画角Ｖａｎｇｌｅｃａｍは、それぞれ、以下の式（２１）〜（２５）、および上記した式（１１）、（１２）で算出することができる。
【数２１】
2008097233.tif 000023
【数２２】
2008097233.tif 000024
【数２３】
2008097233.tif 000025
【数２４】
2008097233.tif 000026
【数２５】
2008097233.tif 000027
【０２４２】
カメラパラメータ算出部２５０は、設定カメラワークに基づき、以上のような原理を用いて、カメラパラメータを算出するカメラパラメータ算出処理を実行する。
【０２４３】
次に、カメラパラメータ算出部２５０によるカメラパラメータ算出処理について、図５８のフローチャートを用いて説明する。
【０２４４】
ステップＳ６０００において、カメラパラメータ算出部２５０は、配置情報保持部１４０から動作主を含む各キャラクタの配置情報を取得し、カメラワーク決定部２３０から現ショットの設定カメラワークを取得する。
【０２４５】
次に、ステップＳ６０５０において、カメラパラメータ算出部２５０は、カメラ方向パラメータである相対角度Ｏｃａｍを、設定カメラワークに基づき、たとえば上記した式（６）を用いて設定する。
【０２４６】
ステップＳ６１００において、カメラパラメータ算出部２５０は、カメラ高さパラメータである高さ比ωを、設定カメラワークに基づき、たとえば上記した式（７）を用いて設定する。
【０２４７】
ステップＳ６１５０において、カメラパラメータ算出部２５０は、カメラワーク決定部２３０から取得した配置情報と設定カメラワークに基づいて、１ショットのカメラワークか否か、つまり被写体が１つか複数かを判断する。カメラパラメータ算出部２５０は、１ショットのカメラワークである場合には（Ｓ６１５０：ＹＥＳ）、ステップＳ６２００へ進み、１ショットのカメラワークではない場合には（Ｓ６１５０：ＮＯ）、ステップＳ６２５０へ進む。
【０２４８】
ステップＳ６２００において、カメラパラメータ算出部２５０は、カメラ距離パラメータである水平距離Ｄｃａｍを、設定カメラワークに基づき、たとえば上記した式（４）を用いて設定する。
【０２４９】
次に、ステップＳ６３００において、カメラパラメータ算出部２５０は、配置情報保持部１４０から入力した配置情報から、被写体となるキャラクタの位置座標を取得するともに、キャラクタデータベース２６１を参照して、被写体となるキャラクタの目の高さを取得する。そして、仮想カメラの物理パラメータ（カメラパラメータ）を、入力パラメータと設定したパラメータとに基づいて、たとえば上記した式（７）〜（１３）を用いて算出する。
【０２５０】
次に、ステップＳ６３５０において、カメラパラメータ算出部２５０は、算出した仮想カメラの物理パラメータをレンダリング部２６０へ出力し、一連の処理を終了する。
【０２５１】
一方、ステップＳ６２５０において、カメラパラメータ算出部２５０は、配置情報から被写体となる各キャラクタの位置座標を取得し、最も外側に位置する２人のキャラクタを被写体として選択する。
【０２５２】
次に、ステップＳ６４００において、カメラパラメータ算出部２５０は、ステップＳ６２５０で選択した２つの被写体の距離を、たとえば上記した式（１５）を用いて算出する。
【０２５３】
次に、ステップＳ６４５０において、カメラパラメータ算出部２５０は、カメラ距離パラメータである水平距離Ｄｃａｍを、設定カメラワークおよび算出した２つの被写体の距離に応じて、たとえば上記した式（１４）を用いて設定する。
【０２５４】
次に、ステップＳ６５００において、カメラパラメータ算出部２５０は、２つの被写体の中心、つまり被写体として選択された２人のキャラクタの３次元位置の中点を、仮想被写体位置とし、仮想被写体位置の座標を求める。具体的には、カメラパラメータ算出部２５０は、キャラクタデータベース２６１から、２人のキャラクタの３次元位置を取得し、仮想被写体位置の座標を、たとえば上記した式（１６）〜（１８）を用いて算出する。ここで各キャラクタの高さは目の高さとする。さらに、カメラパラメータ算出部２５０は、２つの被写体の位置関係を示すパラメータα、距離Ｄｐｒｏｊを、たとえば上記した式（１９）、（２０）を用いて算出する。
【０２５５】
次に、ステップＳ６５５０において、カメラパラメータ算出部２５０は、仮想カメラの物理パラメータを、入力パラメータ、設定したパラメータ、および算出したパラメータに基づいて、たとえば上記した式（２１）〜（２５）を用いて算出する。そして、カメラパラメータ算出部２５０は、ステップＳ６３５０へ進み、１ショットの場合と同様に、算出した仮想カメラの物理パラメータを出力する。
【０２５６】
このようにして、カメラパラメータ算出部２５０は、カメラパラメータを図１に示すレンダリング部２６０へ出力する。なお、被写体は、必ずしもキャラクタに限定されるものではない。たとえば、カメラパラメータ算出部２５０は、ショットの間接／直接目的語をシナリオ要素入力部１２０から入力するようにし、動作主と間接／直接目的語とを被写体として扱い、図５７で説明した手法を用いてカメラワークパラメータを算出してもよい。
【０２５７】
次に、図１に示すレンダリング部２６０について説明する。レンダリング部２６０は、配置情報保持部１４０が保持するセット情報および配置情報を取得し、取得した各情報に該当するデータを、セットデータベース２６３およびキャラクタデータベース２６１からそれぞれ読み出す。そして、レンダリング部２６０は、取得したデータと、配置情報に基づいて、セットにキャラクタを配置する。さらに、レンダリング部２６０は、シナリオ要素入力部１２０から入力されるシナリオ要素「動作主」、「動作」、「表情」、および「台詞」に該当するアクションデータをアクションデータベース２６２から読み出して、動作主に動きを付加する。そして、レンダリング部２６０は、カメラパラメータに基づいてセットおよびキャラクタを描画することにより３次元ＣＧアニメーションを生成し、映像データとしてアニメーション出力部２７０へ出力する。
【０２５８】
アニメーション出力部２７０は、シナリオ入力画面３５０のプレビュー再生領域３５５で、映像データに基づく映像を再生する。また、アニメーション出力部２７０は、複数ショットの映像データを連結し、シナリオに沿ったアニメーションを表示装置の画面に表示したり、他の外部装置に出力する。シーン全体のアニメーション化は、レンダリング部２６０が、プレビュー再生の際に入力される各ショットのカメラパラメータを記憶しておき、ショットの順序に従って順次レンダリングを行い、映像データを出力するようにしてもよい。
【０２５９】
なお、本実施の形態では、連続するショットにおけるカメラ方向及びカメラ距離遷移について説明したが、定点カメラによる遠景や超アップによる体の部位や小物の映像など、カメラ方向及びカメラ距離の遷移に依存しない映像を間に挟むブリッジングショットが挿入される場合がある。このような場合には、ブリッジングショットをカメラ方向およびカメラ距離を持たないものとして扱い、前後ショットのカメラ方向遷移及びカメラ距離遷移を制御してもよい。
【０２６０】
このようにして、シナリオ入力画面３５０で入力されたシナリオに沿って、カメラワークが制御され、アニメーションが生成される。しかも、カメラワークは、映画文法に則って制御されるだけでなく、ユーザが意図する表現を反映するように、かつ単調な映像とならないように制御される。
【０２６１】
以下、具体的な例を用いて、アニメーション作成装置１００においてカメラワークが制御される様子を説明する。
【０２６２】
図５９、図６０は、映画文法に則ってカメラワークが制御される様子を説明するための図である。
【０２６３】
図５９に示すように、シナリオ入力画面３５０において、キャラクタ「女性先生」に対してキャラクタ「男子生徒」が背を向けて立ち、キャラクタ「男子生徒」の左前に仮想カメラを配置した映像が表示されているとする。また、新たなシナリオライン３５３で、キャラクタ「男子生徒」を動作主として、動作「向く」が選択されたとする。
【０２６４】
この状態で、図６０に示すように、シナリオライン３５３で、動作「向く」の間接目的語としてキャラクタ「女性先生」が選択されると、キャラクタ「男子生徒」は１８０度向きを変える。このとき、仮想カメラは、キャラクタ「男子生徒」の左前ではなく、右前に配置される。これは、たとえば、カメラ方向遷移グラフ４１０において、２つの被写体を結ぶ直線の同じ側で仮想カメラを移動するという映画文法に則った内容で、カメラ方向の指定が行われており、このカメラ方向指定に基づいてカメラワークを決定しているためである。このように、アニメーション作成装置１００は、映画文法に則ったカメラワークを実現することができる。
【０２６５】
図６１〜図６４は、ユーザが意図する表現を反映するようにカメラワークが制御される様子を説明するための図である。
【０２６６】
図６１に示すように、シナリオ入力画面３５０において、新たなシナリオライン３５３では、動作主として、キャラクタ「女性先生」とキャラクタ「男子生徒」のいずれかを選択できるようになっているとする。
【０２６７】
この状態で、動作主としてキャラクタ「男子生徒」が選択されると、図６２に示すように、まず、デフォルトで優先順位の最も高いウェストショット（ＭＳ）が、カメラ距離として自動設定されたとする。
【０２６８】
シナリオライン３５３では、図６３に示すように、さらに表情や動作などの他のシナリオ要素を選択することが可能である。
【０２６９】
この状態で、図６４に示すように、シナリオライン３５３で、表情「驚いた顔で」が選択されると、動作主であるキャラクタ「男子生徒」の顔は驚いた顔に描画される。このとき、仮想カメラは、ウェストショット（ＭＳ）ではなく、アップショット「ＣＳ」に対応するカメラ距離に配置される。これは、シーン分類が「表情」であり、たとえば、該当するカメラ距離遷移グラフ４５０における現ショットの距離４５４の中で、アップショット「ＣＳ」の優先順位が最も高いためである。
【０２７０】
図６５、図６６は、ユーザが意図する表現を反映するようにカメラワークが制御される他の様子を説明するための図である。
【０２７１】
図６５に示すように、シナリオ入力画面３５０のシナリオライン３５３では、動作を選択することが可能である。
【０２７２】
この状態で、図６６に示すように、シナリオライン３５３で、動作「後ろに倒れる」が選択されると、動作主であるキャラクタ「男子生徒」が後ろに倒れる映像が描画される。このとき、仮想カメラは、ウェストショット（ＭＳ）ではなく、フルショット「ＦＳ」に対応するカメラ距離に配置される。これは、シーン分類が「全身動作」であり、たとえば、該当するカメラ距離遷移グラフ４５０における現ショットの距離４５４では、フルショット「ＦＳ」のみが指定されているためである。
【０２７３】
アニメーションを作成するユーザは、たとえば、キャラクタに表情を指定する場合、視聴者がその表情に注目することを期待している。すなわち、ユーザは、キャラクタの表情や動作を指定することによって、特定の表現を意図している。したがって、このように、入力されたシナリオ要素に応じて適切なカメラ距離が決定されることにより、アニメーション作成装置１００は、ユーザが意図する表現を反映したカメラワークを実現することができる。
【０２７４】
図６７〜図６９は、単調な映像とならないようにカメラワークが制御される様子を説明するための図である。
【０２７５】
図６７は、従来のカメラワーク制御によるショットごとの映像遷移の一例を示す図である。矢印の方向は、シーンにおける時間の流れの方向を示している。また、シナリオでは、シナリオラインごとに、動作主がキャラクタ「男子生徒」（ｃｈａｒ１）とキャラクタ「女性先生」（ｃｈａｒ２）とで交互に入れ替わり、全てのシナリオラインで、動作主以外のシナリオ要素として相手を見る動作のみが入力されたものとする。各映像の横に付された文字は、上から順に、キャラクタ、カメラ方向、カメラ距離をそれぞれ示している。
【０２７６】
この場合、従来のカメラワーク制御では、図６７に示すように、映画文法に則って２人のキャラクタを結ぶ直線に対して同じ側で仮想カメラは移動するものの、その状態が継続することになる。その結果、シーン全体としては単調な映像が作成されてしまう。
【０２７７】
図６８は、実施の形態１に係るアニメーション作成装置１００のカメラワーク制御によるショットごとの映像遷移の一例を示す図であり、図６７に対応するものである。図６８では、図６７の映像と同一のシナリオを用い、カメラ方向制御処理で使用する閾値が「２」であり、カメラ距離制御処理で使用する閾値は「２」よりも大きい値であった場合の例を示している。
【０２７８】
この場合、図６８に示すように、同じキャラクタを動作主とするショットで、同じカメラ距離が２ショット連続すると、次に同じキャラクタを動作主とするショットでは、カメラ距離が変化することになる。その結果、シーン全体として、カメラ距離に変化が生まれ、図６７に比べてより変化に富んだ表現豊かな映像が作成される。
【０２７９】
図６９は、実施の形態１に係るアニメーション作成装置１００のカメラワーク制御によるショットごとの映像遷移の他の一例を示す図であり、図６７および図６８に対応するものである。図６９では、図６７および図６８の映像と同一のシナリオを用い、カメラ距離制御処理で使用する閾値が「２」であり、カメラ方向制御処理で使用する閾値は「２」よりも大きい値であった場合の例を示している。
【０２８０】
この場合、図６９に示すように、同じキャラクタを動作主とするショットで、同じカメラ方向が２ショット連続すると、次に同じキャラクタを動作主とするショットでは、カメラ方向が変化することになる。その結果、シーン全体として、カメラ方向に変化が生まれ、図６７に比べてより変化に富んだ表現豊かな映像が作成される。
【０２８１】
また、図６８と図６９との比較から、カメラ方向制御処理で使用する閾値とカメラ距離制御処理で使用する閾値とを変化させることにより、カメラワークを変化させることができることが分かる。すなわち、上記２つの閾値をユーザが任意に設定することにより、ユーザの好みにより適合した映像表現を実現することが可能となる。
【０２８２】
以上説明したように、実施の形態１によれば、映画文法に則ってカメラ方向を指定するカメラ方向遷移グラフと、シナリオ要素とユーザの表現意図との関係に則ってカメラ距離を指定するカメラ距離遷移グラフとを用いてカメラワークを決定する。これにより、視覚連続性を保ち、かつユーザの意図を反映したカメラワークを決定することができ、表現に富んだ映像を作成することができる。
【０２８３】
また、実施の形態１によれば、カメラワークが変化しないショットの連続数が、あらかじめ定められたレベルに達すると、カメラ方向またはカメラ距離を変化させる。これにより、変化に富んだより表現豊かな映像を作成することができる。すなわち、時系列の映像の変化を考慮してカメラワークを制御することができる。
【０２８４】
また、実施の形態１によれば、ユーザに対してカメラワークを推薦し、ユーザによるカメラワークの手動選択を受け付ける。これにより、シナリオを入力するユーザの表現意図を、映像により正確に反映させることができる。すなわち、ユーザ毎に異なるカメラワークの表現スタイルに適応するカメラワークを設定することができる。
【０２８５】
また、実施の形態１によれば、ユーザによる過去の手動選択によるショット間のカメラワークの遷移頻度に基づいて、推薦カメラワークを順位付けて提示する。すなわち、ユーザが過去に指定したカメラワーク遷移の設定回数に応じて、推薦カメラワークの提示順位を更新する。これにより、カメラワークの選択操作の便宜を図ることができ、ユーザのアニメーション制作を、よりきめ細やかに支援することができる。すなわち、ユーザ毎に異なるカメラワークの表現スタイルに適応させて、カメラワーク候補を推薦することができる。
【０２８６】
さらに、実施の形態１によれば、カメラ方向遷移グラフおよびカメラ距離遷移グラフに基づいて選択されたカメラワークのうち、ユーザによる過去の手動選択によるショット間のカメラワークの遷移頻度が高いものに該当するカメラワークを決定する。これにより、ユーザの表現スタイルにより適合したカメラワークを自動決定することができる。
【０２８７】
（実施の形態２）
図７０は、本発明の実施の形態２に係るカメラワーク制御装置を用いたアニメーション作成装置の構成を示す図であり、実施の形態１の図１に対応するものである。
【０２８８】
図７０において、アニメーション作成装置６００は、図１のカメラワーク推薦提示部２４０に替えて、カメラワーク判定部６３５およびカメラワーク添削提示部６４５を有している。また、これに対応して、カメラワーク決定部２３０から出力される推薦カメラワークは、カメラワーク判定部６３５へ入力され、シナリオ要素入力部１２０から出力されるユーザ選択カメラワークは、カメラワーク判定部６３５へ入力される。
【０２８９】
カメラワーク判定部６３５は、シナリオ要素入力部１２０からユーザ選択カメラワークを入力されると、ユーザ選択カメラワークが適切か否かを判定し、代替案として適切なカメラワーク（以下「添削カメラワーク」という）をカメラワーク添削提示部６４５へ適宜出力するカメラワーク判定処理を実行する。
【０２９０】
カメラワーク添削提示部６４５は、シナリオ入力画面３５０のカメラワーク選択領域５００に、選択し得る全てのカメラワークを選択肢としてドロップダウン表示させる。また、カメラワーク添削提示部６４５は、カメラワーク判定部６３５からユーザ選択カメラワークが不適切であり添削が必要である旨を通知されると、該当するショットに対して添削マークを表示する。さらに、カメラワーク添削提示部６４５は、カメラワーク判定部６３５から添削カメラワークを入力されると、今度は、添削カメラワークを、選択肢としてカメラワーク選択領域５００に表示させる。なお、ユーザ選択カメラワークが不適切である旨の通知は、添削カメラワークの入力と兼ねてもよい。
【０２９１】
次に、カメラワーク判定部６３５によるカメラワーク判定処理について、図７１のフローチャートを用いて説明する。
【０２９２】
ステップＳ７０００において、カメラワーク判定部６３５は、入力されたユーザ選択カメラワークからユーザによって手動選択されたカメラ方向を取得する。
【０２９３】
次に、ステップＳ７０５０において、カメラワーク判定部６３５は、入力されたユーザ選択カメラワークからユーザによって手動選択されたカメラ距離を取得する。
【０２９４】
次に、ステップＳ７１００において、カメラワーク判定部６３５は、入力された推薦カメラワークからカメラ方向候補を取得する。ここで入力される推薦カメラワークは、ユーザによってカメラワークが手動選択されたショットの推薦カメラワークである。
【０２９５】
次に、ステップＳ７１５０において、カメラワーク判定部６３５は、入力された推薦カメラワークから、カメラ方向候補を取得する。
【０２９６】
次に、ステップＳ７２００において、カメラワーク判定部６３５は、ユーザ選択カメラワークが推薦カメラワークに含まれるか否かを判断する。具体的には、カメラワーク判定部６３５は、カメラ方向候補とカメラ距離候補を組み合わせて、ユーザによって手動選択されたカメラ方向とカメラ距離と同一の組み合わせをつくることが可能か否かを判断する。カメラワーク判定部６３５は、ユーザ選択カメラワークが推薦カメラワークに含まれる場合には（Ｓ７２００：ＹＥＳ）、ステップＳ７２５０へ進み、含まれない場合には（Ｓ７２００：ＮＯ）、ステップＳ７３００へ進む。
【０２９７】
ステップＳ７２５０において、カメラワーク判定部６３５は、カメラワークの添削が必要であることを示す添削マークが、現ショットに付加されている場合には、その添削マークを削除する。ただし、現ショットに添削マークが特に付加されていない場合には、そのままの状態とする。
【０２９８】
次に、ステップＳ７３５０において、カメラワーク判定部６３５は、ユーザ選択カメラワークを、カメラワーク決定部２３０へ出力する。
【０２９９】
一方、ステップＳ７３００では、カメラワーク判定部６３５は、現ショットのカメラワークを添削する必要があるとして、入力された推薦カメラワークから代替案として提示するカメラワークを決定する。
【０３００】
次に、ステップＳ７４００において、カメラワーク判定部６３５は、カメラワーク添削提示部６４５に対して、ユーザ選択カメラワークの添削が必要である旨を通知する。この結果、上記したように、カメラワーク添削提示部６４５によって、該当するショットに対して添削マークが表示される。
【０３０１】
次に、ステップＳ７４５０において、カメラワーク判定部６３５は、カメラワーク添削提示部６４５に対して、代替案として提示すると決定したカメラワークを、添削カメラワークとしてカメラワーク添削提示部６４５へ出力する。この結果、上記したように、カメラワーク添削提示部６４５によって、添削カメラワークが選択肢として表示される。そして、ステップＳ７３５０へ進み、ユーザ選択カメラワークを出力する。この結果、ユーザに対して、ユーザが選択したカメラワークが不適切であることを通知することができるとともに、適切なカメラワークへの指定し直しを促すことができる。
【０３０２】
図７２は、以上説明したカメラワーク判定処理によって適切なカメラワークが決定される様子の一例を示す図である。図７２（Ａ）は、カメラワークの添削が行われる前のショットごとの映像遷移とカメラワーク選択領域の表示内容を示す図である。図７２（Ｂ）は、図７２（Ａ）に示すカメラワークに対して添削が行われた後のショットごとの映像遷移を示す図である。矢印の方向は、シーンにおける時間の流れの方向を示している。
【０３０３】
あるショットで推薦カメラワークに含まれないカメラワークが手動選択され、その結果、図７２（Ａ）に示すように、不適切な映像７００ａが作成されたとする。このとき、入力ショットに対して添削マーク７０１が表示され、添削カメラワークが表示される。図７２（Ａ）に示すように、たとえば、添削マーク７０１は、設定カメラワークを適用した場合の映像のサムネイルを囲む太枠として表示され、添削カメラワークは、該当するカメラワークを適用した場合の適切な映像７００ｂのサムネイルを用いたアイコンとして表示される。そして、ユーザ操作により、適切なカメラワークである添削カメラワークが決定されると、図７２（Ｂ）に示すように、該当するショットにおいて適切な映像７００ｂが作成され、添削マーク７０１も除去される。図７２では、推薦カメラワークのうち最も優先順位の高いものを、添削カメラワークとして決定した場合を示している。
【０３０４】
図７３は、以上説明したカメラワーク判定処理によって適切なカメラワークが決定される様子の他の一例を示す図であり、図７２に対応するものである。図７３では、映像の単調さを防ぐ観点からカメラワークの添削が必要であると判定し、現ショットの推薦カメラワークだけでなく、後ショットについて推薦カメラワークをも併せて提示した場合を示している。また、それぞれのショットについて、複数の推薦カメラワークを、添削カメラワークとして決定した場合を示している。この場合、カメラワーク判定部６３５は、現ショットの適切な映像７００ｂを複数表示させ、これら複数の映像７００ｂと連動して、後ショットに適切な映像７００ｂを複数表示させる。これにより、複数の時系列ショットにおける大局的なカメラワークの添削を行うことができ、ユーザの学習効果を高めることができる。
【０３０５】
このように、本発明の実施の形態２によれば、ユーザが手動選択したカメラワークが適切かどうか、つまり、映画文法に則っているか、ユーザの表現意図を反映したものとなっているか、単調ではないか、を判定する。そして、ユーザが手動選択したカメラワークが不適切な場合には、該当するショットの場所をユーザに通知し、適切なカメラワークと対比表示させ、適切なカメラワークの選択を促す。これにより、ユーザによる映像制作の添削を行うことができ、ユーザのカメラワークについての知識や技術の向上を促すことができる。
【産業上の利用可能性】
【０３０６】
本発明に係るカメラワーク制御装置およびカメラワーク制御方法は、視覚連続性を保ち、かつユーザの意図を反映したカメラワークを決定することができるカメラワーク制御装置およびカメラワーク制御方法として有用である。
【図面の簡単な説明】
【０３０７】
【図１】本発明の実施の形態１に係るカメラワーク制御装置を用いたアニメーション作成装置の構成を示すブロック図
【図２】実施の形態１における配置入力画面の構成を示す説明図
【図３】実施の形態１におけるシナリオ入力画面の構成を示す説明図
【図４】実施の形態１におけるアニメーション作成装置で用いられる配置分類を示す説明図
【図５】実施の形態１における配置分類判定処理の流れの前半部分を示すフローチャート
【図６】実施の形態１における配置分類判定処理の流れの後半部分を示すフローチャート
【図７】実施の形態１における２つの被写体の相対角度の算出を説明するための説明図
【図８】実施の形態１におけるカメラ方向制御部とカメラ距離制御部によって定義されるカメラ方向とカメラ距離との組み合わせの一例を示す説明図
【図９】実施の形態１におけるカメラ方向とカメラ距離との組み合わせごとの出力映像の例の前半部分を示す説明図
【図１０】実施の形態１におけるカメラ方向とカメラ距離との組み合わせごとの出力映像の例の後半部分を示す説明図
【図１１】実施の形態１におけるカメラ方向制御部およびカメラ距離制御部が定義するカメラ方向とカメラ距離との組み合わせの一覧の一例を示す説明図
【図１２】実施の形態１におけるアニメーション作成装置で配置分類「対面」に適用されるカメラ方向遷移の具体例を示す説明図
【図１３】実施の形態１におけるアニメーション作成装置で配置分類「横並び」に適用されるカメラ方向遷移の具体例を示す説明図
【図１４】実施の形態１におけるアニメーション作成装置で配置分類「背向け」に適用されるカメラ方向遷移の具体例を示す説明図
【図１５】実施の形態１におけるアニメーション作成装置で配置分類「背中合せ」に適用されるカメラ方向遷移の具体例を示す説明図
【図１６】実施の形態１におけるアニメーション作成装置で配置分類「Ｌ型内向き」に適用されるカメラ方向遷移の具体例を示す説明図
【図１７】実施の形態１におけるアニメーション作成装置で配置分類「Ｌ型外向き」に適用されるカメラ方向遷移の具体例を示す説明図
【図１８】実施の形態１におけるアニメーション作成装置で配置分類「互い違い」に適用されるカメラ方向遷移の具体例を示す説明図
【図１９】実施の形態１における配置分類「対面」のカメラ方向遷移グラフの内容の一例を示す説明図
【図２０】実施の形態１における配置分類「横並び」のカメラ方向遷移グラフの内容の一例を示す説明図
【図２１】実施の形態１における配置分類「背向け」のカメラ方向遷移グラフの内容の一例の前半部分を示す説明図
【図２２】実施の形態１における配置分類「背向け」のカメラ方向遷移グラフの内容の一例の後半部分を示す説明図
【図２３】実施の形態１における配置分類「背中合せ」のカメラ方向遷移グラフの内容の一例の前半部分を示す説明図
【図２４】実施の形態１における配置分類「背中合せ」のカメラ方向遷移グラフの内容の一例の後半部分を示す説明図
【図２５】実施の形態１における配置分類「Ｌ型内向き」のカメラ方向遷移グラフの内容の一例を示す説明図
【図２６】実施の形態１における配置分類「Ｌ型外向き」のカメラ方向遷移グラフの内容の一例を示す説明図
【図２７】実施の形態１における配置分類「互い違い」のカメラ方向遷移グラフの内容の一例を示す説明図
【図２８】実施の形態１におけるＸＭＬ表記のデータとした場合の配置分類「対面」のカメラ方向遷移グラフの記述例を示す説明図
【図２９】実施の形態１におけるＸＭＬ表記のデータとした場合の配置分類「横並び」のカメラ方向遷移グラフの記述例を示す説明図
【図３０】実施の形態１におけるＸＭＬ表記のデータとした場合の配置分類「背向け」のカメラ方向遷移グラフの記述例の前半部分を示す説明図
【図３１】実施の形態１におけるＸＭＬ表記のデータとした場合の配置分類「背向け」のカメラ方向遷移グラフの記述例の後半部分を示す説明図
【図３２】実施の形態１におけるＸＭＬ表記のデータとした場合の配置分類「背中合せ」のカメラ方向遷移グラフの記述例の前半部分を示す説明図
【図３３】実施の形態１におけるＸＭＬ表記のデータとした場合の配置分類「背中合せ」のカメラ方向遷移グラフの記述例の後半部分を示す説明図
【図３４】実施の形態１におけるＸＭＬ表記のデータとした場合の配置分類「Ｌ型内向き」のカメラ方向遷移グラフの記述例を示す説明図
【図３５】実施の形態１におけるＸＭＬ表記のデータとした場合の配置分類「Ｌ型外向き」のカメラ方向遷移グラフの記述例を示す説明図
【図３６】実施の形態１におけるＸＭＬ表記のデータとした場合の配置分類「互い違い」のカメラ方向遷移グラフの記述例を示す説明図
【図３７】実施の形態１におけるカメラ方向遷移頻度テーブルの構成の一例を示す説明図
【図３８】実施の形態１におけるカメラ方向制御処理の流れを示すフローチャート
【図３９】実施の形態１におけるカメラ方向変化判定処理の流れを示すフローチャート
【図４０】実施の形態１におけるシーン分類判定処理の流れを示すフローチャート
【図４１】実施の形態１における同じ動作主についてのカメラ距離の遷移パターンと初期状態における各遷移パターンの優先順位を示す説明図
【図４２】実施の形態１におけるシーン分類「対話」のカメラ距離遷移グラフの内容の一例を示す説明図
【図４３】実施の形態１におけるシーン分類「表情」のカメラ距離遷移グラフの内容の一例を示す説明図
【図４４】実施の形態１におけるシーン分類「ジェスチャー」およびシーン分類「全身動作」のカメラ距離遷移グラフの内容の一例を示す説明図
【図４５】実施の形態１におけるＸＭＬ表記のデータとした場合のシーン分類「対話」のカメラ距離遷移グラフの記述例を示す説明図
【図４６】実施の形態１におけるＸＭＬ表記のデータとした場合のシーン分類「表情」のカメラ距離遷移グラフの記述例を示す説明図
【図４７】実施の形態１におけるＸＭＬ表記のデータとした場合のシーン分類「ジェスチャー」およびシーン分類「全身動作」のカメラ距離遷移グラフの記述例を示す説明図
【図４８】実施の形態１におけるカメラ距離遷移頻度テーブルの構成の一例を示す説明図
【図４９】実施の形態１におけるカメラ距離制御処理の流れを示すフローチャート
【図５０】実施の形態１におけるカメラ距離変化判定処理の流れを示すフローチャート
【図５１】実施の形態１におけるカメラワーク決定処理の流れを示すフローチャート
【図５２】実施の形態１におけるカメラワーク選択領域が追加表示されたシナリオ入力画面の一例を示す説明図
【図５３】実施の形態１におけるカメラワーク選択領域が追加表示されたシナリオ入力画面の他の一例を示す説明図
【図５４】実施の形態１における手動設定処理の流れを示すフローチャート
【図５５】実施の形態１におけるロック時設定処理の流れを示すフローチャート
【図５６】実施の形態１における被写体が１人の場合のカメラパラメータ算出部への入力パラメータを説明するための説明図
【図５７】実施の形態１における被写体が２人の場合のカメラパラメータ算出部への入力パラメータを説明するための説明図
【図５８】実施の形態１におけるカメラパラメータ算出処理の流れを示すフローチャート
【図５９】実施の形態１において映画文法に則ってカメラワークが制御される様子を説明するための説明図
【図６０】実施の形態１において映画文法に則ってカメラワークが制御される様子を説明するための説明図
【図６１】実施の形態１においてユーザが意図する表現を反映するようにカメラワークが制御される様子を説明するための説明図
【図６２】実施の形態１においてユーザが意図する表現を反映するようにカメラワークが制御される様子を説明するための説明図
【図６３】実施の形態１においてユーザが意図する表現を反映するようにカメラワークが制御される様子を説明するための説明図
【図６４】実施の形態１においてユーザが意図する表現を反映するようにカメラワークが制御される様子を説明するための説明図
【図６５】実施の形態１においてユーザが意図する表現を反映するようにカメラワークが制御される他の様子を説明するための説明図
【図６６】実施の形態１においてユーザが意図する表現を反映するようにカメラワークが制御される他の様子を説明するための説明図
【図６７】実施の形態１において単調な映像とならないようにカメラワークが制御される様子を説明するための説明図
【図６８】実施の形態１において単調な映像とならないようにカメラワークが制御される様子を説明するための説明図
【図６９】実施の形態１において単調な映像とならないようにカメラワークが制御される様子を説明するための説明図
【図７０】本発明の実施の形態２におけるアニメーション作成装置の構成を示すブロック図
【図７１】実施の形態２におけるカメラワーク判定処理の流れを示すフローチャート
【図７２】実施の形態２においてカメラワーク判定処理によって適切なカメラワークが決定される様子の一例を示す説明図
【図７３】実施の形態２においてカメラワーク判定処理によって適切なカメラワークが決定される様子の他の一例を示す説明図
【図７４】従来のシステムの構成を示すブロック図
【符号の説明】
【０３０８】
１００、６００  アニメーション作成装置
１１０  配置入力部
１２０  シナリオ要素入力部
１３０  配置算出部
１４０  配置情報保持部
１５０  配置分類判定部
１６０  カメラ方向制御部
１７０  カメラ方向保持部
１８０  カメラ方向変化判定部
１９０  シーン分類判定部
２００  カメラ距離制御部
２１０  カメラ距離保持部
２２０  カメラ距離変化判定部
２３０  カメラワーク決定部
２４０  カメラワーク推薦提示部
２５０  カメラパラメータ算出部
２６０  レンダリング部
２６１  キャラクタデータベース
２６２  アクションデータベース
２６３  セットデータベース
２７０  アニメーション出力部
６３５  カメラワーク判定部
６４５  カメラワーク添削提示部
【図１】
2008097233.tif 000028
【図２】
2008097233.tif 000029
【図３】
2008097233.tif 000030
【図４】
2008097233.tif 000031
【図５】
2008097233.tif 000032
【図６】
2008097233.tif 000033
【図７】
2008097233.tif 000034
【図８】
2008097233.tif 000035
【図９】
2008097233.tif 000036
【図１０】
2008097233.tif 000037
【図１１】
2008097233.tif 000038
【図１２】
2008097233.tif 000039
【図１３】
2008097233.tif 000040
【図１４】
2008097233.tif 000041
【図１５】
2008097233.tif 000042
【図１６】
2008097233.tif 000043
【図１７】
2008097233.tif 000044
【図１８】
2008097233.tif 000045
【図１９】
2008097233.tif 000046
【図２０】
2008097233.tif 000047
【図２１】
2008097233.tif 000048
【図２２】
2008097233.tif 000049
【図２３】
2008097233.tif 000050
【図２４】
2008097233.tif 000051
【図２５】
2008097233.tif 000052
【図２６】
2008097233.tif 000053
【図２７】
2008097233.tif 000054
【図２８】
2008097233.tif 000055
【図２９】
2008097233.tif 000056
【図３０】
2008097233.tif 000057
【図３１】
2008097233.tif 000058
【図３２】
2008097233.tif 000059
【図３３】
2008097233.tif 000060
【図３４】
2008097233.tif 000061
【図３５】
2008097233.tif 000062
【図３６】
2008097233.tif 000063
【図３７】
2008097233.tif 000064
【図３８】
2008097233.tif 000065
【図３９】
2008097233.tif 000066
【図４０】
2008097233.tif 000067
【図４１】
2008097233.tif 000068
【図４２】
2008097233.tif 000069
【図４３】
2008097233.tif 000070
【図４４】
2008097233.tif 000071
【図４５】
2008097233.tif 000072
【図４６】
2008097233.tif 000073
【図４７】
2008097233.tif 000074
【図４８】
2008097233.tif 000075
【図４９】
2008097233.tif 000076
【図５０】
2008097233.tif 000077
【図５１】
2008097233.tif 000078
【図５２】
2008097233.tif 000079
【図５３】
2008097233.tif 000080
【図５４】
2008097233.tif 000081
【図５５】
2008097233.tif 000082
【図５６】
2008097233.tif 000083
【図５７】
2008097233.tif 000084
【図５８】
2008097233.tif 000085
【図５９】
2008097233.tif 000086
【図６０】
2008097233.tif 000087
【図６１】
2008097233.tif 000088
【図６２】
2008097233.tif 000089
【図６３】
2008097233.tif 000090
【図６４】
2008097233.tif 000091
【図６５】
2008097233.tif 000092
【図６６】
2008097233.tif 000093
【図６７】
2008097233.tif 000094
【図６８】
2008097233.tif 000095
【図６９】
2008097233.tif 000096
【図７０】
2008097233.tif 000097
【図７１】
2008097233.tif 000098
【図７２】
2008097233.tif 000099
【図７３】
2008097233.tif 000100
【図７４】
2008097233.tif 000101