(57)【特許請求の範囲】
【請求項１】
アニメーションのモデルの形状を作成する形状作成手段と、
前記形状作成手段において作成された前記モデルのモーションデータを入力しモーションを作成するモーション作成手段と、
前記モーション作成手段に入力されたモーションデータに対し強調係数を乗算するとともに、当該乗算されたモーションデータに対し、当該モデルの関節間の長さが一定になるよう補正したモーションデータを出力するモーション強調手段とを備えたアニメーション制作システム。
【請求項２】
前記モーション強調手段は、
強調方向を入力する強調方向入力部と、
前記強調方向入力部に入力された強調方向に対し、モーションの強調を行なう分解モーション強調計算部とを有することを特徴とする請求項１記載のアニメーション制作システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はコンピュータを使用したアニメーション制作システムに関するものである。
【０００２】
【従来の技術】
従来、コンピュータを用いてアニメーションを制作する場合には、アニメーションに登場する物体の形状を作成し、その物体の形状に動作を付与し、これらの物体の形状を、あらかじめ記述済みのシナリオを用いて組み合わせてアニメーションを作成していた（以下、従来例１とする）。
【０００３】
また、コンピュータグラフィクスで作成した口形状と音声とを同期させるリップシンク技術については、従来、音声として発音テキスト文をユーザーが手動で作成し、それに合わせて合成音声を発声し、それに対して口形状のアニメーションを同期させていた（以下、従来例２とする）。
【０００４】
さらに、アニメーション作成の過程において、物体の形状に付与する動作をデータベースとして保存する方式がある（以下、従来例３とする）。
【０００５】
従来例１として、特願平３−２１８７５２号公報に記載された方式がある。
図３７はこの従来例１のアニメーション制作システムを示す構成図である。この方式では、アニメーションに登場する物体の形状の作成（形状作成手段１）、その物体の形状への動作の付与（動作作成手段２）、これらの物体の形状の組み合わせによるアニメーションの作成の過程（演出作成手段３）を持つ。
【０００６】
物体の形状の組み合わせは、動作を行う物体名、動作の内容、動作を行う位置及び時間等からなる動作列からなるシナリオを作成することによって行われる。そして、シナリオ作成時に、形状あるいは動作を変更する場合は、シナリオ作成作業を中断し、データ変更手段を介して形状あるいは動作作成手段を制御して変更処理を行うことができる。
【０００７】
従来例２として、特願平４−３０６４２２号公報に記載された方式がある。
図３８はこの従来例２のアニメーション制作システムを示す構成図である。この方式では、発音情報より得られる発音のタイミングを基準にして加重パラメータ時系列を生成し、この加重パラメータ時系列で多重内挿して口形状が変化するアニメーションを生成している。この方式では、入力として発音テキスト文を用いており、発音テキスト文の示す文章を、発音情報にあわせて出力する。さらに、その発音情報に合わせて、上記の多重内挿法によって作成された口形状のアニメーションを同期して表示している。
【０００８】
従来例３として、特願平５−２４９１０号公報に記載された方式がある。
図３９はこの従来例３のアニメーション制作システムを示す構成図である。この方式では、蓄積したアニメーションデータを用いて形状の異なる他の物体のアニメーションを簡易に作成し、データベースの大型化を未然に防止得るようにしている。
【０００９】
【発明が解決しようとする課題】
このように従来の方式では、アニメーション制作の過程を統合してはいるが、アニメーションを構成する要素の組み合わせにおいて、あらかじめ記述済みのシナリオもしくは手動によって、これらが行われている。この方法では、これらの要素を組み合わせてアニメーションを作成する場合に、そのうちの一つが変更されると、他の全てに影響が及び修正を加えなければならないという問題がある。そこで、この修正を簡単に行なえることが必要となる。
【００１０】
また、リップシンクにおける従来の手法では、テキスト文やテキストの発音情報を入力し、それらの情報に従って、合成音声を発声させ、発声情報に基づいて口形状等を作成することで、音声と口形状との同期を行なっていた。この場合、テキスト文やテキストの発声情報をあらかじめ用意する必要があり、実際に声優を使い、その音声に対応したコンピュータグラフィクスの口形状を同期させるといった目的には使用できない。そこで、実際の音声データから、音声データ中の文字発音タイミング等の特徴を抽出し、その特徴からリップシンクを行なえる手法が必要となる。
【００１１】
さらに、物体の形状や動作を組み合わせ作成したアニメーションデータを、蓄積するための方法については述べられているが、蓄積したアニメーションデータを有効に利用するための検索手段が用意されていない。また蓄積されているモーションデータの合成については述べられているが、モーションの強調を行ないよりアニメーションらしいモーションを作成する方法については言及されていない。
【００１２】
この発明に係るアニメーション制作システムは上記のような問題点を解決することを目的とするものである。
【００１３】
【課題を解決するための手段】
第１の発明に係るアニメーション制作システムは、アニメーションの構成に使用する少なくとも第１のアニメーション構成データ及び第２のアニメーション構成データを有するアニメーション構成データを用いてアニメーションの制作を行なうものであって、前記第１のアニメーション構成データ及び前記第２のアニメーション構成データの各々に対し、同期設定のための同期制御データを付加するとともに、当該付加された同期制御データを用いて、前記第１のアニメーション構成データと前記第２のアニメーション構成データの同期を制御する同期制御手段を備えたものである。
【００１４】
第２の発明に係るアニメーション制作システムは、第１の発明における同期制御手段を前記第１のアニメーション構成データ及び第２のアニメーション構成データを部分的に伸長又は縮退することにより同期を制御することとしたものである。
【００１５】
第３の発明に係るアニメーション制作システムは、アニメーションのモデルの形状を作成する形状作成手段と、前記形状作成手段において作成された前記モデルのモーションデータを入力しモーションを作成するモーション作成手段と、前記モーション作成手段に入力されたモーションデータに対して強調計算を行ない、強調されたモーションデータを出力するモーション強調手段とを備えたものである。
【００１６】
第４の発明に係るアニメーション制作システムは、第３の発明におけるモーション強調手段をモーションデータに対し強調係数を乗算するとともに、当該乗算されたモーションデータに対し、当該モデルの関節間の長さが一定になるよう補正することとしたものである。
【００１７】
第５の発明に係るアニメーション制作システムは、第３の発明におけるモーション強調手段にさらに強調方向を入力する強調方向入力部と、前記強調方向入力部に入力された強調方向に対し、モーションの強調を行なう分解モーション強調計算手段を備えたものである。
【００１８】
第６の発明に係るアニメーション制作システムは、アニメーションのモデルのモーションを入力し、モーションデータを出力するモーション入力手段と、予め複数のモーションデータが記憶されたモーションデータ記憶手段と、前記モーション入力手段より出力されたモーションデータと前記モーションデータ記憶手段に記憶されたモーションデータとを比較し、その比較結果に基づいて前記モーションデータ記憶手段に記憶されたモーションデータより選択し、出力するモーションデータ検索手段とを備えたものである。
【００１９】
第７の発明に係るアニメーション制作システムは、音声信号を入力する音信号入力手段と、母音情報に対応した口形状モデルを記憶する口形状モデル記憶手段と、前記音信号入力手段に入力された音声信号の母音情報に基づいて前記口形状モデル記憶手段より口形状モデルを選択し画像出力する画像出力手段とを備えたものである。
【００２０】
第８の発明に係るアニメーション制作システムは、音声信号を入力する音信号入力手段と、母音情報及び音声レベルに対応した口形状モデルを記憶する口形状モデル記憶手段と、前記音信号入力手段に入力された音声信号の母音情報及び音声レベルに基づいて前記口形状モデル記憶手段より口形状モデルを選択し画像出力する画像出力手段とを備えたものである。
【００２１】
第９の発明に係るアニメーション制作システムは、音声信号を入力する音信号入力手段と、前記音信号入力手段に入力された音声信号の母音情報に基づいてセグメント処理を行いセグメント情報を生成するセグメント手段と、前記音声信号に対応した口形状データを生成する口形状データ生成手段と、前記セグメント手段により生成したセグメント情報に基づいて前記口形状データ生成手段により生成した口形状データと前記音声信号とを同期させる同期手段とを備えたものである。
【００２２】
第１０の発明に係るアニメーション制作システムは、第９の発明における同期手段が前記セグメント情報よりセグメント中の始点線分、終点線分、最大量子化値部分を抽出し、各段階において前記口形状モデルのキーフレームを割り当てるものである。
【００２３】
第１１の発明に係るアニメーション制作システムは、第９の発明においてさらに文字データを入力する文字入力手段を有し、セグメント手段が前記文字入力手段に入力された文字データの個々の文字に対してセグメントを割り当てるものである。
【００２４】
第１２の発明に係るアニメーション制作システムは、アニメーションのモデルの部分のモーションを示す第１の部分モーションデータ及び第２の部分モーションデータを記憶する部分モーション記憶手段と、前記部分モーション記憶手段に記憶された第１の部分モーションデータと第２の部分モーションデータのそれぞれが同一関節を持っており、この同一関節を基準に、同期制御手段を用いて同期させた前記第１の部分モーションデータと前記第２の部分モーションデータとを組み合わせる組み合わせ手段を有するものである。
【００２５】
【発明の実施の形態】
実施の形態１．
図１はこの実施の形態１に係るアニメーション制作システムのシステム構成図である。
図において１は形状作成手段であり、アニメーションの登場人物であるキャラクタモデルや、背景画像を作成し、アニメーション構成データ保存手段９に保存する。２はモーション作成手段であり、形状作成手段１で作成した形状に対してアニメーションのモーションデータを作成し、アニメーション構成データ保存手段９に保存する。
【００２６】
３は音入力手段であり、アニメーションキャラクタのセリフ音声やキャラクタの発する音（拍手や楽器）を入力し、アニメーション構成データ保存手段９に保存する。４は文字入力手段である。９はアニメーション構成データ保存手段であり、アニメーションを作成するために必要な形状情報やモーション情報、音情報、文字情報を蓄積する。
【００２７】
５はレンダリング手段であり、レンダリング手段５はアニメーション構成データ保存手段９に蓄積されているアニメーション構成要素の中でアニメーション画像を生成するために必要なキャラクタ情報、モーション情報を読み込み、陰影をつけるレンダリングを実行し、アニメーション画像を制作する。６は同期制御手段であり、アニメーション構成データ保存手段からモーションデータ、音データ、文字データを呼びだし、データ同士の同期をとる。
１１は音出力手段であり、アニメーション構成データ保存手段９に保存されているセリフ音声や音データを音として出力する。
【００２８】
図２に実施の形態１のシステム構成図を示す。
１０１は同期制御表示部、１１４はスケルトンデータ、１１６はモーションデータ、１１８はセリフ音声データ、１２０は音データである。
同期制御表示部１０１はアニメーション構成データ保存手段９に蓄積されているスケルトンデータ１１４、モーションデータ１１６、セリフ音声データ１１８、音データ１２０を読み出す。１１５はスケルトン入力部である。
【００２９】
スケルトンデータ１１４はスケルトン入力部１１５により作成され、保存される。１１７はモーション入力部である。モーションデータ１１６はモーション入力部１１７により作成され、保存される。１１９は音入力部である。セリフ音声データ１１８はキャラクタのセリフ音声をデジタル化したものであり、音入力部１１９から入力され、保存される。音データ１２０はアニメーションで使用する音声以外の音情報であり、これも同様に音入力部１１９から入力される。
【００３０】
１１２はセグメント情報である。読み込まれたアニメーション構成データは同期制御手段６において、セグメント分けされる。セグメントはアニメーション構成データにユーザによって設定されるセグメント情報１１２により表される。
【００３１】
１０２は音表示部である。セリフ音声データ１１８と音データ１２０は同期制御表示部１０１に読み込まれ、セグメント情報１０４を入力するために音表示部１０２に渡される。音表示部１０２は渡されたセリフ音声データもしくは音データの波形情報と周波数スペクトログラムを表示する。１０３は音出力部である。セリフ音声データと音データは音表示部１０２から音出力部１０３へ渡され、音出力部１０３から音として出力される。セリフ音声データ１１８、音データ１２０は音表示部１０２から音声セグメント入力部１０４に渡され、そこでユーザによりセグメント情報を入力され、セグメント情報１１２に登録される。
【００３２】
１０５はモーション表示部である。モーションデータ１１６は対応するスケルトンデータ１１４と共に同期制御表示部１０１に読み込まれ、モーション表示部１０５に渡される。モーション表示部１０５では同期制御表示部１０１より渡されたモーションデータ１１６とそれに対応するスケルトンデータを表示する。１０６はモーションセグメント入力部である。モーションデータはモーション表示部１０５からモーションセグメント入力部１０６に渡されユーザによりセグメント情報が入力され、セグメント情報１１２に登録される。
【００３３】
１２３はセグメント情報対応づけ部であり、１１３は同期制御データである。セグメント情報１１２を使用してセグメント情報対応付け部１２３において同期制御データが設定され、同期制御表示部１０１を通じて同期制御データ１１３に保存される。
【００３４】
１１０はデータ再計算部である。同期付けられた複数のアニメーション構成データのうち一つのデータのセグメント情報１１２の位置が変更された場合には、データ再計算部１１０により同期付けられているアニメーション構成データの時間が変更され、同期制御表示部１０１に戻す。同期制御表示部１０１は同期づけして時間が変更されたアニメーション構成データをアニメーション構成データ保存手段９に保存する。
【００３５】
次に本実施の形態１について詳細に説明を行なう。
コンピュータアニメーションは、基本的にはアニメーションに登場するキャラクタモデルの動きとセリフで構成されている。各データは一般的な入力部により入力され、デジタルデータとしてディスクに蓄積されている。
この実施の形態に記載された発明の特徴となる同期制御手段６は、これらのデータ同士の指定したポイントを同一時間に再生できるように変更するものである。
【００３６】
まず始めに本実施の形態で説明を行なうアニメーション構成データについて説明を行なう。
アニメーション構成データはアニメーションに登場するキャラクタを構成するデータであり、スケルトンデータ１１４、モーションデータ１１６、セリフ音声データ１１８、音データ１２０がある。モーションデータ１１６はキャラクタの各関節のモーションを表現するものである。
【００３７】
以下、これらのデータにつき詳述する。
図７は、モーションデータの構成を示す図である。図７に示すように、先頭に毎秒のフレーム数が入っており、各フレームの各関節毎にフレーム番号ｆ、関節番号ｊｆ、位置変化情報（dxf，dyf，dzf），回転変化情報ｄｒｆが繰り返される。
【００３８】
図８に示すように、位置変化情報、回転変化情報は前フレームとの差分を情報として持っている。この情報により、キャラクタの各関節の動きを表現する。回転情報は後述する子供関節から親関節に向かう直線を軸に対する回転を表現するパラメータである。最上位の親には回転情報は存在しない。
【００３９】
次にスケルトンデータについて説明する。
各モーションデータ１１６には必ず対応するスケルトンデータ１１４が存在する。モーションデータ１１６の先頭フレームの位置変化情報と回転変化情報はスケルトンデータ１１４の初期位置情報からの差分である。
【００４０】
図９にスケルトンデータの構造を示す。スケルトンデータ１１４は関節番号ｊnum 、初期位置情報（ｓｘ，ｓｙ，ｓｚ）、初期回転情報ｓｒ、親関節Ｊｐ、兄弟関節Ｊｂ、子関節Ｊｃの情報を持っている。
親関節、兄弟関節、子関節のデータは、関節同士の連結情報である。親子関係は、子関節が親関節の動きに影響されている関節であり、足であれば腿に近い方が親関節になり、爪先に近い方の関節が子供関節になる。腕であれば肩に近い方の関節が親になり、手に近い方の関節が子関節になる。各パーツ同士、例えば腕と体の場合には、どちらを親にするかはスケルトン設計時による。
【００４１】
兄弟関係は親が同じ関節であることを示し、親関節に対してデータ上は子関節が１つのみの設定になるため、残りの子関節は、既に親関節に対して子関節と定義された関節に対して、兄弟関節として表現する。
【００４２】
さらに、音声データおよび音データについて説明する。
セリフ音声データ１１８、音データ１２０は一般的なデジタル音データとし、アナログ音を音入力部１１９から入力し、量子化、標本化を行ない、音声データはセリフ音声データ１１８へ、それ以外は音データ１２０へ保存される。
【００４３】
同期制御手段６は上記のアニメーション構成データを読み込み、同期を制御する。同期制御手段６の役割は主に次の３つのフェイズからなっている。
１．アニメーション構成データを読み込み、セグメント情報を設定する。
２．アニメーション構成データへ設定されたセグメント同士を同期制御データで同期する。
３．アニメーション構成データへ設定されたセグメント情報の変更により、そのデータへ同期されているアニメーション構成データの時間方向再計算を行なう。
【００４４】
この同期制御手段６の役割の中ではじめにアニメーション構成データを読み込み、セグメント情報１１２を設定する部分についての説明を行なう。
図１０は、セグメント情報とセグメントを示す図である。図上でセグメント情報１と２によってはさまれているアニメーション構成データの部分がセグメントＡとなる。
セグメント情報１１２は各アニメーション構成データに区切りを与える情報であり、各アニメーション構成データのファイル毎に用意されている。セグメント情報の構成は、１つ前のセグメントからの時間を表す情報とセグメントラベル番号を持っている。このセグメント情報１１２は各アニメーション構成データ毎にそれぞれのセグメント情報入力部から入力する。
【００４５】
アニメーション構成データはファイルの開始と終了に始めからセグメント情報が設定されている。新しいセグメント情報を入力すると、入力したセグメント情報よりも時間的に１つ前に設定されているセグメント情報と一つ後ろのセグメント情報との間に前後２つのセグメント領域を作成することになる。ここで使用したセグメントという言葉は、２つのセグメント情報に囲まれたアニメーション構成データの部分である。
【００４６】
次に同期制御表示につき図１１、図１２及び図１３を参照して説明する。図１１は同期制御表示部の表示イメージ図、図１２は音表示部の表示イメージ図、図１３はモーション表示部の表示イメージである。同期制御表示部１０１はアニメーションを構成するアニメーション構成データであるモーションデータ１１６、セリフ音声データ１１８、音データ１２０を読み込み、データ毎のフォーマットによってブラウジング表示する。
【００４７】
各アニメーション構成データはアニメーション構成データブラウザ上にブラウジング表示される。時間のスケーリングは表示部上側に用意されている時間スケールに従って表示される。
【００４８】
同期制御表示部１０１のアニメーション構成データブラウザ上ではセリフ音声データ１１８、音データ１２０はデータ音波形としてブラウジング表示する。
ユーザによる音声データ１１８、音データ１２０の表示の指示で図１２に示す音表示部１０２が起動され、同期制御表示部１０１に読み込まれているセリフ音声データ、音データが同期制御表示部１０１から渡される。
【００４９】
図１２に示した音表示部１０２では画面に３つのデータが表示される。上段の表示部に音波形が表示され、その音波形中で選択された部分の波形のみが中段の表示部に表示される。中段の表示部の波形の周波数成分がスペクトログラムとして下段の表示部に表示される。音表示部１０２は音出力部１０３に対して、表示しているセリフ音声データ１１８、音データ１２０の一部分を渡すことにより、音声再生を行なう。音表示部１０２の表示、音出力部１０３の再生情報からユーザはセリフ音声データ、音データに対してセグメント情報を入力する。セグメント情報１１８は音表示部１０２の中段の音波形表示部と下段のスペクトログラム表示部で入力場所を指定することで入力を行ない、保存される。
【００５０】
次にモーションデータ表示部につき図１３を用いて説明する。
同期制御表示部１０１でモーションデータ１１６は、対応しているスケルトンデータ１１４と共に表示できる単位のフレーム毎にモーションの形が表示される。
【００５１】
同期制御表示部１０１において、ユーザによるモーションデータ表示の指示でモーション表示部１０５が起動され、同期制御表示部１０１に読み込まれているモーションデータ１１６とスケルトンデータ１１４がモーション表示部１１６に引き渡される。図１３にモーションデータ表示部１０５を示す。
【００５２】
図１３中の表示操作部によりモーション表示用ウインドウ上にモーションデータの再生が行なわれる。
モーションデータへのセグメント情報設定は、このモーション表示部１０５からモーションセグメント入力部を呼び出すことにより行なわれる。モーション表示部１０５からモーションセグメント入力部１０６へは図１３中のセグメント入力ボタンが押された時点で表示されているモーションデータのファイル名と時間情報が渡される。モーションセグメント入力部１０６は受けとった情報からモーションに対するセグメント情報１１２を設定し、保存する。
【００５３】
図１３におけるアニメーション構成データブラウザのブラウジングされて表示されているアニメーション構成データの下側にはそのアニメーション構成データに  入力されているセグメント情報が対応位置にマークとして表示される。
【００５４】
次にアニメーション構成データへ設定されたセグメント同士を同期制御データで同期する部分の説明を行なう。
同期制御表示部１０１は異なるアニメーション構成データに設定されているセグメント情報１１２同士を同期制御データ１１３を使用して対応付けることによりアニメーション構成データ同士を同期付ける。
【００５５】
ユーザは対応付けるセグメント情報１１２同士を選択するために同期制御表示部１１０上かもしくは各アニメーション構成データの表示部により、対応づけを行なうセグメントの選択を行なう。選択された２つのセグメント情報は同期制御表示部１１０からセグメント情報対応付け部１２３に引き渡される。
ここで選択された２つのセグメント情報の対応づけを行ない、同期制御データ１１３を生成し、同期制御表示部１０１を通じて保存する。
【００５６】
図１４に同期制御データ１１３の構成を図示する。
同期制御データ１１３は同期付けた２つのアニメーション構成データのセグメント情報のファイル名称と、セグメントラベル名、同期制御データ上での種類（マスタ側かスレイブ側）からなる。
【００５７】
同期制御データ１１３の構成は、２つの同期付けたアニメーション構成データのうち、一方のアニメーション構成データをアニメーション構成データ１、他方のアニメーション構成データをアニメーション構成データ２とすると、同期制御データはアニメーション構成データ１のセグメントファイル名Ｓf1、セグメントラベル名Ｓl1、種類Ｓk1、アニメーション構成データ２のセグメントファイル名Ｓf2、セグメントラベル名Ｓl2、種類Ｓk2、時間変更の方法Ｓm で構成される。
【００５８】
同期制御データ１１３中の同期制御データ上での種類にはマスタとスレイブがある。ここでは同期づけを行なう２つのセグメント情報に対して、２つの組合せがある。
【００５９】
同期付ける２つのセグメント情報１１２において、マスタとスレイブの組で同期制御データを設定した場合には、マスタに設定したアニメーション構成データのセグメントの時間にスレイブのアニメーション構成データのセグメント情報が設定されている部分を同期させ、同期制御表示部１０１に返され、アニメーション構成データ保存手段９に保存される。
【００６０】
図１５にセグメント情報の同期付けの図を示す。図上のアニメーション構成データ１のセグメント情報１とアニメーション構成データ２のセグメント情報２を同期付けた場合、下図に示すようにアニメーション構成データ２のセグメント情報２の前のセグメントと後ろのセグメントが再計算される。
【００６１】
同期付ける２つのセグメント情報がマスタとマスタの組の場合、同期制御データを割り付けた瞬間には、アニメーション構成データ１に設定したセグメント情報が設定されている時間へ、アニメーション構成データ２のセグメント情報の前後のセグメント（実際にはここで同期付けされた２つのアニメーション構成データ同士でその前後に同期付けされているまでの間に存在する全セグメント、他に同じアニメーション構成データが同期付けられていない場合にはファイルの先頭とファイルの終了部分まで）に存在する部分をデータ再計算部１１０で再計算し、同期付けられたセグメントの位置を時間軸上であわせる。
【００６２】
データ再計算部１１０で行なう再計算方法は同期制御データ１１３で指定する時間方向変更方法で指定する。ここには「延長」と「引き延ばし」の二つの方法のどちらかが入力される。
【００６３】
図１６に同期制御データ１１３によるアニメーション構成データの時間変更について示す。
「延長」を選択した場合、マスタが長くなるとスレーブの最終値をそのまま連続してデータとし、短くなった場合には短くなった分のデータの切りとりを行なう。図１６において元データを「延長」の方法で再計算すると、中央の延長の項目に書かれたデータとなる。
「引き延ばし」を選択した場合には、同期付けられている部分のデータを再計算し、自動的に全データをその時間に実行できるデータに変更する（モーションデータは変化値であるので、この変化値から計算された位置情報について再計算を行なう）。図１６において元データを「引き延ばし」の方法で延長させると下側に示す引き延ばしの項目に書かれたデータとなる。
【００６４】
もともとＸ時間であった各フレーム毎のデータが入っているモーションデータについて考える。このデータが同期付けされている他のデータの変更によりＹ時間に変更された場合、モーションをＹ／Ｘ倍だけ引き延ばさなければならない。この場合には、元のモーションのＸ／Ｙ時間毎の値を補間計算してやることによりモーションの引き延ばしを行なう。
【００６５】
アニメーション構成データへ設定されたセグメント情報の変更により、そのデータへ同期されているアニメーション構成データの時間方向再計算を行なう部分の説明を行なう。
【００６６】
図１７に同期制御手段７のフロー図を示す。
例えばセリフ音声データ１１８中のセリフ音声データとモーションデータ１１６中のモーションデータが同期づけられている。ここで、セリフ音声データが再録音されて、時間が変わる。ユーザは同期制御表示部１０１から音表示部１０２を経て、音セグメント入力部１０４を呼びだし、音声のセグメントを新しいデータのセグメント位置に移動させる。
【００６７】
移動させたセグメント情報に同期付けられている他のセグメント情報があり（Ｓ１０２）、かつその時の同期制御データ上で移動させたセグメント情報がマスタである場合には（Ｓ１０３）、その音声に同期制御データにより同期付けられているモーションデータのセグメント情報の前後のセグメントのモーションデータを再計算し（ここで、モーションデータは変化値であるため、位置情報を計算し、この位置情報を使用して再計算を行なう）、モーションデータのセグメント情報が同期付けられている音声のセグメント情報と同一の時間位置に変更する（Ｓ１０４〜Ｓ１０８）。
【００６８】
時間変更の方法が延長の場合には、以前に同一データと同期付けられている部分までを延長により再計算する（Ｓ１０５）。さらに以後に同一データと同期付けられている部分までを延長により再計算する（Ｓ１０６）。マスター要素の時間の長さが変更されるとそれにともないスレーブ要素の同期付けられている部分の時間の長さも同期され、変更される。
【００６９】
図１８において同期制御データによるアニメーション構成データの時間変更に関する図を示す。図１８においては、上側のアニメーション構成データ1 をマスタ、下側のアニメーション構成データ２をスレイブとする。マスタのセグメント情報１とスレーブのセグメント情報７が同期制御データ１で同期付けられており、マスタのセグメント情報２がスレイブのセグメント情報８と同期制御データ２で同期付けられており、マスタのセグメント情報４とスレイブのセグメント情報９が同期制御データ３で同期付けられており、マスタのセグメント情報６がスレイブのセグメント情報１０と同期制御データ４で同期付けられている。
【００７０】
ここでマスタのセグメント情報４を移動する。セグメント情報４は同期制御データ３でセグメント情報９に同期付けられており、セグメント情報９もセグメント情報４に同期して移動する。その時セグメント情報８とセグメント情報９で囲まれたセグメント２−２のアニメーション構成データは時間的に伸長し、セグメント情報９とセグメント情報１０に囲まれたセグメント２−３に存在するアニメーション構成データは時間的に縮退する。
【００７１】
このように発明の実施の形態１に記載された発明に係るアニメーション制作システムは、アニメーションの構成に使用する少なくとも第１のアニメーション構成データ及び第２のアニメーション構成データを有するアニメーション構成データを用いてアニメーションの制作を行なうものであって、前記第１のアニメーション構成データ及び前記第２のアニメーション構成データの各々に対し、同期設定のための同期制御データを付加するとともに、当該付加された同期制御データを用いて、前記第１のアニメーション構成データと前記第２のアニメーション構成データの同期を制御する同期制御手段を備えているので、人手を介することなく変化したアニメーション構成データに同期したアニメーション構成データの変更を実行することができる。
【００７２】
また、同期制御手段において第１のアニメーション構成データ及び第２のアニメーション構成データを部分的に伸長又は縮退することにより同期を制御するので、情報全体に亘って同期をとることができる。
【００７３】
実施の形態２．
この実施の形態はモーションデータの強調に関するものである。
図１において、７はモーション強調手段である。アニメーション構成データ保存手段９に保存されているモーションデータをモーション強調手段７に読み出しし、モーションの強調を行ない、アニメーション構成データ保存手段９に保存する。
【００７４】
図３は実施の形態２のシステム構成図を示す図である。図３において、２０２はモーション強調計算部、２０５は基本モーションデータである。モーション入力部１１７で作成されたモーションデータは基本モーションデータ２０５、もしくはモーションデータ１１６に保存される。モーションデータ１１６は制作するアニメーションに直接使用するモーションデータ、基本モーションデータ２０５は直接制作するアニメーションに使用しないが、基本的なモーションが蓄積されている。
【００７５】
モーション強調計算部２０２は基本モーションデータ２０５を読み込み、強調処理を行ないモーションの変更を行なう。モーションデータ１１６と基本モーションデータ２０５は関節の動きの情報で表されており、その関節間の関係をスケルトンデータ１１４で表す。２０１は関節距離計算部である。モーション強調計算部２０２で計算されたモーションの関節間距離を関節距離計算部２０１でスケルトンデータ１１４と同一に修正する。修正されたモーションはモーション強調計算部２０２に戻されて、モーションデータ１１６に保存される。
【００７６】
モーション強調手段７は基本モーションデータ２０５に蓄積されているモーションデータの強調を行なう。モーションデータ中のf フレーム目のある関節に着目すると、モーションデータは上記に記述したように位置変化情報（dxf，dyf，dzf）、回転変化情報ｄｒｆを持っている。回転変化情報は子関節から親関節に向かって時計回りの方向の回転で表す。これらの位置変化情報、回転変化情報は前フレームからの差分情報である。
図８に位置変化情報と回転変化情報を示す。図８に示すように、位置変化情報は移動した関節m の移動ベクトルとなる。回転変化情報は親関節に向かっての回転のフレーム間の変化である。
【００７７】
モーション強調手段７では基本モーションデータ２０５から読み込んだモーションデータを強調し、蓄積されている基本モーションデータを変更し、モーションデータ１１６に保存する。モーション強調の単位はスケルトンデータ１１６で結合されている一つのアニメーション登場キャラクタである。
【００７８】
図１９にモーション強調のフロー図を示す。
モーション強調計算部２０２で、処理を行なうモーションに対して強調係数を設定する。強調係数は位置変化情報、回転変化情報それぞれに対して別々に設定することができる。位置変化情報に対する強調係数をｋt 、回転変化情報に対する強調係数をｋｒ とする（Ｓ２０１）。
モーション強調計算部２０２において、モーションを構成する関節情報の中で、基本関節をユーザが設定する。この基本関節はモーション強調計算時の基本位置関節となる。
【００７９】
まず強調を行なうモーションのスケルトンデータ１１４から、全関節間の長さを計算する。（Ｓ２０２）
【００８０】
初フレーム（１フレーム目）は基本位置となるため、各関節のデータは強調せずに基本モーションデータ２０５のままとする（Ｓ２０３）。ここで１フレーム目のａ関節に着目して位置情報変数motion_x,motion_y,motion_z を
motion_x1,a = a の初期位置ｘ座標 + dｘ1,a
motion_y1,a = a の初期位置ｙ座標 + dｙ1,a
motion_z1,a = a の初期位置ｚ座標 + dｚ1,a
（式２ー１）とする。１フレーム目の強調された回転情報はdｒ1,a とする（Ｓ２０４）。
【００８１】
２フレーム目以降（ｆフレーム目）は始めにそのフレーム中の全関節の強調された位置情報を求める。各変数は次のように計算される。
motion_xf,a = motion_xf-1,a + kt × dｘf,a
motion_yf,a = motion_yf-1,a + kt × dｙf,a
motion_zf,a = motion_zf-1,a + kt × dｚf,a
dｒf,a = dｒf,a  × kｒ
ここで（motion_x f-1,a  ,motion_y f-1,a  ,motion_z f-1,a)はフレームfより１フレーム前の強調処理を終了し、関節間の長さ変更も行われた関節位置である。
【００８２】
全ての関節について計算をし終えたら（Ｓ２０７〜Ｓ２０８）、スケルトンデータ１１４でつながっている関節同士の位置座標(motion_x, motion_y, motion_z) を通る全直線（直線２−１）の式を求める（Ｓ２０９）。
次に関節距離計算部２０１を使用して、各関節間のスケルトン情報１１４の長さに合わせて関節間の距離の変換を行なう。
【００８３】
関節距離計算部２０１の役割を図２０のモーション強調説明図に示す。位置変化情報を強調係数で強調すると、図２０の下図のように関節間の長さが元のスケルトン情報の長さから変化してしまう。そこで接続している関節との３次元的な傾きを保ったままその関節間の長さをスケルトンの関節間の長さへ変換する。
【００８４】
図１９のフロー図において、強調された関節位置データとそのモーションに対応するスケルトンデータ、基本関節データはモーション強調計算部２０２から関節距離計算部２０１へ引き渡される。基本関節は各フレーム毎の強調したモーションを作成する場合の基本点の役割をする関節である。距離の変換はまずこの基本関節から始め、基本関節を現関節にする。基本関節は(motion_xf,kihon,motion_yf,kihon,motion_zf,kihon)がそのまま強調されたモーションの位置情報となる（Ｓ２１１〜Ｓ２１６）。
【００８５】
ここで、(motion_x1,  motion_y1,  motion_z1)に（motion_xf,kihon,  motion_yf,kihon,  motion_zf,kihon)を代入しておく。
基本関節から後述する方法を使用して次に計算する関節を探索する。
【００８６】
次に計算する関節の探索終了後、基本関節を第一関節、次に計算を行なう関節を第二関節とする（Ｓ２１７）。上記で求めた直線２−１のうち第一関節と第二関節を通る直線を選択する。この直線に平行で第一関節の位置情報(motion_x1,motion_y1,motion_z1)を通る直線（直線２−２）を求める（Ｓ２１８）。直線２−２上で、第一関節と第二関節のスケルトンの距離だけ離れた点を第２関節の位置情報(motion_x2,motion_y2,motion_z2)とする（Ｓ２１９）。
【００８７】
距離の条件を満足する点は２点あるが、第一関節の元位置（Ｓ２０７で求めた第１関節の位置）から現在の位置への移動と同一分の移動を第二関節に行ない、その点に近い方を第二関節の位置情報とし、(motion_x2,motion_y2,motion_z2)にその位置情報を代入する。位置変化情報は前フレームとの減算で求める（Ｓ２１１〜Ｓ２１７）。この処理を全フレーム、全関節に対して行ない、位置変化情報をモーション強調計算部２０２へ戻す。ここでモーション強調検索部２０３は位置変化情報と回転変化情報をモーションデータ１１６へ保存する。
【００８８】
計算終了後はスケルトンデータ１１４を使用して、基本関節の未計算の子供関節を検索する。未計算の子供関節がない場合には未計算の兄弟関節を、未計算の兄弟関節がない場合には未計算の親関節を検索する。未計算の親関節もなくなった場合には自分を呼び出した関節に戻り、同様に次の関節を検索する。最終的に一番上位の親の関節で親検索に行きついた時点で終了し、そのフレームのモーション強調を終了して、次フレームに進む。ここで関節距離計算部２０１は関節間の距離変換を行なったモーションデータをモーション強調計算部２０２に返し、モーション強調計算部２０２は次フレームのモーションの強調を行なう。
【００８９】
探索している関節が見つかった場合にはその時に元にした関節を第一関節にして、今回探索された関節を第二関節として位置の計算を行なう。
【００９０】
例えばこのモーション強調手段７により、実際の人間の動きをデータ化し、モーションデータを作成するモーションキャプチャシステムをモーション入力部１１７として使用した場合に得られる基本モーションデータ２０５を強調する事により、アニメーションらしいモーションを作成する。
【００９１】
この実施の形態に記載された発明に係るアニメーション制作システムは、アニメーションのモデルの形状を作成する形状作成手段と、前記形状作成手段において作成された前記モデルのモーションデータを入力しモーションを作成するモーション作成手段と、前記モーション作成手段に入力されたモーションデータに対して強調計算を行ない、強調されたモーションデータを出力するモーション強調手段とを備えているので、強調されたモーションを得ることができる。
【００９２】
また、モーション強調手段をモーションデータに対し強調係数を乗算するとともに、当該乗算されたモーションデータに対し、当該モデルの関節間の長さが一定になるよう補正することとしたので、モーションを強調させた場合であっても関節の長さが一定であり、モーションが不自然とならない。
【００９３】
実施の形態３．
図１において、１０はモーション検索手段である。モーション検索手段１０はアニメーション構成データ保存手段９からモーションデータを検索するための手段を提供する。
図３は実施の形態３のシステム構成図である。２０３はモーション検索部であり、２０４はモーションキーワードデータである。モーション検索部２０３は基本モーションデータ２０５からモーションキーワードデータ２０４を使用してモーションの検索を行なう。その検索したモーションの中からモーション入力部により入力されたモーションデータと照合を行ない、モーションデータの絞り込みを行なう。ここで検索するために入力したモーションデータは、例えば人の動きなどを特定するものであり、あらかじめ人の動きとして違和感のないデータである。
【００９４】
基本モーションデータ２０５は一般的なデータベースの構造をしており、モーション検索部２０３によって検索される。基本モーションデータ２０５にはキーワードを設定することができ、その情報はモーションキーワードデータ２０５に入力されている。
【００９５】
図２１にモーションキーワードデータ２０５の構成を示す。
モーションキーワードデータ２０４は管理番号、モーションデータ名、キーワード、所在ディレクトリで管理されている。
基本モーションデータ２０５はモーション入力時に入力したキーワードによって検索することができる。さらに基本モーションデータ２０５はキーワードで検索したデータ集合からモーション入力部１１７で入力されるモーションデータと照合を行うことにより、検索候補の絞り込みを行うことができる。ここでこのモーション入力部１１７は、例えば人間の形をした人形であり、各関節にセンサーが設けられ、この人形を動かすことにより各関節の情報がモーションとして入力される。例えばあやつり人形のような形状を有する。
【００９６】
図２２にモーション検索のフロー図を示す。
例えば複数の歩行するモーションの中から、指定した速さで歩行する様なモーションを検索する場合について考える。ユーザはキーワード「歩行」を入力し（Ｓ３０１）モーションデータを検索する（Ｓ３０２）。検索してきたデータの中からユーザの検索したい歩行速度のモーションを指定するために、人間の形をし、各関節を曲げることでモーションを入力するモーション入力部１１７により、希望の歩行速度を入力し（Ｓ３０３）、その関節のモーションデータを入力しモーション検索部２０３へ引き渡す。モーション検索部にユーザは照合に使用する関節番号を入力する。ここでは歩く速度であるため、どちらか一方の足首の関節を指定する（Ｓ３０５）。モーション検索部２０３では入力されてきたモーションから足の動きの速度を計算する。
【００９７】
モーション検索部２０３は入力されたモーションの照合に使用する関節の位置変化情報を計算する。歩行の場合には、位置変化情報をベクトルと考えると、その大きさは、足を上げている時には値を持ち、地面に着いている時には０となる。これが交互に繰り返される。これをグラフにすると図２３に示す様に歩数に合わせて波が現れる。この波の数をカウントし、その歩数を算出する（Ｓ３０６）。
【００９８】
この計算結果を用いて、キーワード検索を行なったモーションと照合し、ある範囲でマッチングしたものは検索結果として、ユーザに提示される（Ｓ３０８〜Ｓ３１０）。
【００９９】
このように、モーションを直接シミュレートすることにより、モーションを入力し、予め蓄積されていたデータと照合し、入力されたモーションデータと近いデータを選択し、出力するものである。従って、検索キーワードで表現しづらいモーションの特徴や検索したいイメージのみが存在する場合でもモーションの検索を行なうことができる。
【０１００】
以上のようにこの実施の形態に記載された発明に係るアニメーション制作システムは、アニメーションのモデルのモーションを入力し、モーションデータを出力するモーション入力部１１７と、予め複数のモーションデータが記憶された基本モーションデータ２０５と、前記モーション入力部１１７より出力されたモーションデータと前記基本モーションデータ２０５に記憶されたモーションデータとを比較し、その比較結果に基づいて前記基本モーションデータ２０５に記憶されたモーションデータより選択し、出力するモーションデータ検索部２０３とを備えているので、入力されたモーションに近いモーションで、既に登録されているモーションデータを検索することができる。
【０１０１】
実施の形態４．
実施の形態４に係るアニメーション制作システムについて図４を用いて説明する。
音入力部１１９から出力されたセリフ音声データ１１８を音声セグメント処理部３０２に入力する。音声セグメント処理部３０２では、音出力部１０３を使用して確認しながら、セリフ音声データ１１８を１語毎にセグメンテーションする、セグメントの結果をセグメント情報１１２に出力し、また各セグメント毎に対応する文字をセリフ文字データ３１３に出力する。
【０１０２】
また、音声自動セグメント部３０１では辞書パターンデータ３１２を入力する。この音声自動セグメント部３０１を用いることで、音声セグメント処理部３０２に入力されたセリフ音声データ１１８の母音とその発声タイミングを自動認識し、母音をセリフ文字として、また、その発声タイミングをセグメント情報として、音声セグメント処理部３０２に返す。音声セグメント処理部３０２はセグメント情報１１２とセリフ音声データ１１８とセリフ文字データ３１３を用いて、口形状キーフレームタイミングデータ３０３を出力する。
【０１０３】
口形状モーション作成部３０４は、口形状タイミングデータ３０３を入力し、モーションデータ１１６を出力する。レンダリング部３０５は、モーションデータ１１６とモデル入力部３０９によって出力されたモデルデータ３０８を入力し、レンダリングを行ない、その結果を画像データ３０６に出力する。画像出力部３０７では、画像データ３０６を入力する。また、音出力部１０３ではセリフ音声データ１１８を入力する。画像出力部３０７では画像を再生する。またその画像と同期させて音出力部１０３から音声を出力する。
【０１０４】
アニメーション制作システムを用いてリップシンクアニメーションを実現する。リップシンクアニメーションとは、口形状のモデルデータ３０８をセリフ音声データ１１８に同期させるアニメーションのことである。本アニメーション制作システムでは、口形状のモデルデータ３０８の口形状モデルの形状として（「あ」／「い」／「う」／「え」／「お」／「ん」）、口形状モデルの大きさとして（「大」／「中」／「小」、ただし「ん」については「中」のみ）の組み合わせの合計16種類を用いている。
【０１０５】
これは、日本語の発声における口形状が基本的に（「あ」／「い」／「う」／「え」／「お」／「ん」）という母音のバリエーションにより表現できると考えられるからである。また、後述するキーフレームアニメーションの手法を用いてアニメーションを作成するために、口形状の大きさを、必要十分であると考えられる3 段階分だけ用意した。この16種類の口形状のモデルデータ３０８を、セリフ音声データ１１８に対して適切なタイミングで対応させることによりリップシンクアニメーションの制作を実現する。
【０１０６】
まず、セリフ音声入力部１１９で、アナログ音声を標本化及び量子化の処理によってデジタル音声としたセリフ音声データ１１８を出力する。音声セグメント処理部３０２では、このセリフ音声データ１１８を入力し、周波数成分に変換するためにFFT （高速フーリエ変換）し、スペクトログラムを表示する。スペクトログラム中には、母音の特徴を示すホルマントを見い出すことができる。
【０１０７】
次に、このホルマントを参考にして、セリフ音声データ１１８を発声した一語一語についてセグメンテーションする。ここでの目的は、セリフ音声データ１１８を母音や空白などの特徴に着目してセグメンテーションして、セグメント情報１１２をつくり出すことである。セグメント情報１１２は開始線分及び終了線分によって示される。またそのセグメント情報に対して、セリフ音声データ１１８の内容をテキストにし、さらに無音の部分が空白記号で表記されるセリフ文字データ３１３が一対一で設定される。セリフ文字データ３１３は、日本語文字についてのヘボン式ローマ字表記によって表され、空白記号については [pau]  という文字によって表記される。
【０１０８】
図２４に、セリフ文字データ３１３と、その設定例を示す。図２５に、音声セグメント処理部３０２のユーザーインターフェースを示す。図中A がスペクトログラム、B がセグメント情報１１２、C がセリフ文字データ３１３を表す。音声セグメント処理部３０２でのセグメンテーションの方法には、マウスもしくはキーボードを用いて、セリフ音声データ１１８上にセグメント情報１１２を手動設定する方法と、音声自動セグメント部３０１を音声セグメント処理部３０２から呼び出すことで、セグメント情報１１２を自動設定する方法がある。
【０１０９】
マウスもしくはキーボードによるセグメント情報１１２の手動設定では、母音の特徴を示すホルマントを参考にして、マウスにより開始線分及び終了線分を作成する。実際には、あるセグメントの終了線分が、次のセグメントの開始線分になっている。線分を移動したり削除したりすることで、セグメント情報１１２の変更修正を行なう。また、音声セグメント処理部３０２から、音出力部１０３を呼び出して、音声を全体再生、部分再生などにより確認する。次に、それぞれのセグメントに対応する適切なセリフ文字データ３１３を手動により設定する。セリフ文字データ３１３に対しては任意に変更修正を行なう。
【０１１０】
セグメント情報１１２の自動設定では、音声セグメント処理部３０２から音声自動セグメント部３０１を呼び出すことによって、セリフ音声データ１１８中の母音及び空白とその位置を自動認識する。セリフ音声データ１１８の自動認識は、あらかじめ作成済みの比較用のセリフ音声データの母音、「ん」の音声、空白の部分（「あ」／「い」／「う」／「え」／「お」／「ん」、空白）をFFT した結果を数値化した辞書パターンデータ３１２を入力し、セリフ音声データ１１８を音声セグメント処理部３０２内部でFFT したテストパターンとをパターンマッチングによって比較することで行なわれる。
【０１１１】
図２６に、パターンマッチングのフローチャートを示す。最初に、辞書パターンデータ３１２とテストパターンを設定する（Ｓ４０１）（Ｓ４０２）。パターンマッチングの方法は、まずポインタをテストパターンの始点位置に設定する（Ｓ４０３）。次に辞書パターンとの比較を行なう。このときポインタからのマッチング幅を一定の範囲内で変化させて、最もマッチング率が高くなるマッチングの幅と母音との組み合わせを一つ求める（Ｓ４０４）。
【０１１２】
一部分についてパターンマッチングを行なったら、次のポインタを、マッチングした幅の分だけ進めて、次のマッチングを行なうことを繰り返す（Ｓ４０６）。ポインタの位置が、テストパターンの最大値を越えてしまった時点で終了となる（Ｓ４０５）。パターンマッチングの結果、マッチングされた辞書パターンデータ３１２の文字列が生じるが、最後にこれをフィルターによって重みづけし、ノイズとみなされる成分を除去し、定常的な成分を際だたせる事で、最終的なパターンマッチングの結果を出力する（Ｓ４０７）。
【０１１３】
セグメントは認識を行なった母音が変化する部分に設定される。この結果を用いることで、元のセリフ音声データ１１８に対して、セグメント情報１１２、セリフ文字データ３１３を自動的に設定することができる。セグメント情報１１２の自動設定終了後、上記の手動設定手段で修正することで、さらに正確なセグメンテーションを行なう。
【０１１４】
音声セグメント処理部３０２は、セグメント情報１１２、セリフ文字データ３１３及びセリフ音声データ１１８の内容から、口形状のモデルデータ３０８中の口形状モデルに対応する記号と、時間軸上へ口形状をあてはめるタイミング（以下、キーフレームタイミングとする）を設定して口形状キーフレームタイミングデータ３０３を作成する。
【０１１５】
図２７に、口形状キーフレームタイミングデータ３０３の作成方法のフロチャートを示す。
図２８に、口形状キーフレームタイミングデータ３０３の作成方法のイメージを示す。
まず、セグメント情報１１２で示されるそれぞれのセグメントごとにセリフ文字データ３１３を参照し（ただし空白記号[pau] は除く）、セリフ文字データ３１３の母音が（「あ」／「い」／「う」／「え」／「お」／「ん」）のいずれに対応するかを判断し分類する（Ｓ５０１）（たとえば、[ka （か）] なら、母音は「あ」となる）。
【０１１６】
この時、セリフ音声データ１１８について、セグメント情報１１２の始点線分、終点線分及びセグメント中でセリフ音声データ１１８の量子化値が最大になる点をそれぞれ、口形状のモデルデータ３０８中の口形状モデルのキーフレームタイミングとする（Ｓ５０２）。そして、それぞれのキーフレームタイミングの位置での量子化値を参照する（Ｓ５０３）。
【０１１７】
ここで、量子化値Ｆtの最大値が1.0 になるようにセリフ音声データ１１８の全体を正規化し、このときのキーフレームタイミングの位置での量子化値の値に応じて口形状モデルの大きさを決定する（Ｓ５０４）。たとえば、0.66〜1.00までは（「大」）の口形状モデルの大きさ（Ｓ５０７）を、0.33〜0.66までは（「中」）の口形状モデルの大きさ（Ｓ５０６）を、0.00〜0.33までは（「小」）の口形状モデルの大きさ（Ｓ５０５）を設定する。口形状のモデルデータ３０８中のどの口形状モデルをキーフレームにするかは、上記の口形状モデルの母音と口形状の大きさの組み合わせによって決定される（Ｓ５０８）。
【０１１８】
口形状モデルの母音が「あ」で、口形状モデルの大きさが「大」ならば、口形状モデルは（「あ・大」）になる。このような口形状は前記した16通りの形状のうちのいずれかになる。また、セグメント情報１１２と対応するセリフ文字データ３１３が、「[ma]（ま）」「[mi]（み）」「[mu]（む）」「[me]（め）」「[mo]（も）」などの様に、一旦口を閉じてから発音をはじめる文字の場合については（Ｓ５０９）、セグメントの始点線分位置に、「ん」のキーフレームを付け加えることにする（Ｓ５１０）。これらは、口形状キーフレームタイミングデータ３０３として出力される。口形状キーフレームタイミングデータ３０３の構成図を図２９に示す。口形状キーフレームタイミングデータ３０３は、口形状のキーフレームをあてはめるタイミングを示すフレーム番号とそのときの口形状モデル対応記号との対によって示される。
【０１１９】
口形状モーション作成部３０４では、口形状キーフレームタイミングデータ３０３を読み込み、前述した１６通りの口形状モデル、及びそれらのキーフレームタイミングからキーフレームアニメーションを作成する。キーフレームアニメーションとは、アニメーション作成の手法として、アニメーションの中心となるフレーム（以下  キーフレーム）だけを用意し、それらの間をインビートウイーンにより補間することによって完全なアニメーションを作成する手法である。
【０１２０】
口形状モーション作成部３０４では、キーフレームタイミングデータ３０３中の口形状モデルの対応記号に従った、口形状のモデルデータ３０８中の口形状モデルをキーフレームタイミングのフレーム番号の通りに並べ、それらの口形状モデルの間を補間することで、口形状のモーションデータ１１６を出力する。
【０１２１】
レンダリング部３０５では、口形状のモーションデータ１１６及び口形状のモデルデータ３０８を入力し、レンダリングを行ないアニメーション画像を作成することができる。レンダリング部３０５で作成されたアニメーション画像は、画像データ３０６として出力される。
【０１２２】
画像出力部３０７では、画像データ３０６を入力する。また、音出力部１０３では、セリフ音声データ１１８を入力する。画像出力部３０７では、画像データの再生時に、音出力部１０３でのセリフ音声データ１１８の出力を同時に行なうことで、セリフ音声データ１１８と口形状のアニメーションが同期したリップシンクアニメーションを作成する。
この発明の実施の形態に記載された発明に係るアニメーション制作システムは、音声を入力する音入力手段３と、母音の情報に対応した口形状モデルをモデルデータ３０８に保存するアニメーションデータ保存手段９と、前記音入力手段３に入力された音声の母音の情報に基づいて前記モデルデータ３０８より口形状モデルを選択し、音声に同期した口形状のモーションデータ１１６を作成する音声同期口形状作成手段と、前記口形状のモーションデータ１１６に従い口形状を選択し画像出力するレンダリング手段５を備えているので、母音情報に基づいて口形状を特定するため簡易な構成で口形状のアニメーションを作成することができる。
【０１２３】
また、音声を入力する音入力手段３と、母音の情報及び音声レベルに対応した口形状モデルをモデルデータ３０８に保存するアニメーション保存手段９と、前記音入力手段に入力された音声の母音の情報及び音声レベルに基づいて前記モデルデータ３０８より口形状モデルを選択し、音声に同期した口形状のモーションデータ１１６を作成する音声同期口形状作成手段８と、前記口形状のモーションデータに従い口形状を選択し画像出力するレンダリング手段５を備えているので、母音の情報のみならず、音声レベルに基づいた口形状を出力することができるので、簡易な構成で、より正確に口形状のアニメーションを制作することができる。
【０１２４】
さらに、音声を入力する音入力手段３と、前記音入力手段３に入力された音声の母音の情報に基づいてセグメント処理を行いセグメント情報１１２を生成する音声セグメント処理部３０２と、前記音声に対応した口形状のモーションデータ１１６を生成する口形状モーション作成部３０４と、前記口形状のモーションデータ１１６を用いて画像データ３０６を出力するレンダリング部３０５と、前記画像データ３０６と音声とを同期して出力する画像出力部３０７を備えているため、簡単な構成で口形状と音声が同期した口形状のアニメーションを制作することができる。
【０１２５】
さらにまた、同期手段が前記セグメント情報よりセグメント中の始点線分、終点線分、最大量子化値部分を抽出し、各段階において前記口形状モデルのキーフレームを割り当てるものなので、簡易な構成により口形状のモーションをより自然にすることができる。
【０１２６】
なお、この発明の画像出力手段は、上記実施の形態では音声同期口形状作成手段８及びレンダリング手段５により構成されている。
【０１２７】
実施の形態５．
アニメーション制作システムにおいて、音声セグメント処理部３０２からセグメント均等割り付け部３１０を呼び出し、また、セリフ文字データ３１３を、あらかじめ作成するためのセリフ文字入力部３１１を付け加えることで、実施の形態４で前述した、セリフ音声データ１１８からのリップシンクの他に、セリフ文字データ３１３からのリップシンク、セリフ音声データ１１８及びセリフ文字データ３１３双方からのリップシンクを行なう。
【０１２８】
図３０には、音声セグメント処理部３０２に入力されているデータの種類によって、口形状キーフレームデータ３０３を出力するまでの過程がどのように変わるかを示す。
音声セグメント処理部３０２では、入力されているデータが、セリフ音声データ１１８だけの場合、セリフ文字データ３１３だけの場合、セリフ音声データ１１８及びセリフ文字データ３１３の両方の場合のいずれかであるかによって処理が異なる（Ｓ９０１）。
【０１２９】
セリフ音声データ１１８だけが、音声セグメント処理部３０２に与えられている場合は、音声自動セグメント部３０１を呼びだして、セリフ音声データ１１８を自動分析し（Ｓ９０２）、セグメント情報１１２を作成し（Ｓ９０３）、セリフ文字データを作成（Ｓ９０４）した上で、口形状キーフレームタイミングデータを出力する（Ｓ９１１）。
以下、セリフ文字データ３１３によってリップシンクを行なう場合、及びセリフ音声データ１１８とセリフ文字データ３１３の両方からリップシンクを行なう場合について説明する。
【０１３０】
セリフ文字データ３１３を元にして、リップシンクを行なう、セリフ文字データ３１３を、セリフ文字入力部３１１によって、あらかじめ作成する。セリフ文字データ３１３は、セリフ音声データの内容を文字として表したものである。音声セグメント処理部３０２では、セリフ文字データ３１３を入力する。音声セグメント処理部３０２では、セリフ文字データ３１３について、自動的にセグメント均等割り付け部３１０を呼び出し、文字のセグメンテーションを行なう（Ｓ９０８）。
セグメント均等割り付け部３１０では、セリフ文字データ３１３の文字列（空白記号[pau] も含む）に対して、その総文字数分のセグメント区間を作成し、セグメント情報１１２として出力する。これによりセリフ文字データ３１３中のすべての文字について、均等な任意の幅のセグメント情報１１２を作成する（Ｓ９０９）。音声セグメント処理部３０２では、セリフ文字データ３１３及びセグメント情報１１２を用いて、口形状キーフレームタイミングデータ３０３を作成する。
【０１３１】
口形状キーフレームタイミングデータ３０３の作成方法については、前述の通りである。ただし、この場合では、セリフ音声データ１１８を用いないため、セグメント中で最大の量子化値を持つキーフレームタイミングの値、及びセグメントの開始線分、終了線分、及び最大の量子化値のキーフレームタイミングにおけるそれぞれの量子化値の値を自動的に作成する必要がある。そのために、セグメント中で最大の量子化値を持つキーフレームタイミングの値については、開始線分と終了線分の中央値を用いることにする。また、それぞれのキーフレームタイミングでの量子化値はデフォルトの値(0.5) を用いることにする（Ｓ９１０）。セリフ音声データ１１８及びセリフ文字データ３１３の双方を用いてリップシンクを行なう。セリフ文字入力部３１１で作成されたセリフ文字データ３１３と、音入力部１１９で入力されたセリフ音声データ１１８を、音声セグメント処理部３０２で入力する。ここで、セリフ文字データ３１３はセリフ音声データの内容を文字で表したものであるとする。セグメント処理部３０２では、セグメント均等割り付け部３１０を呼びだし、文字のセグメンテーションを行なう（Ｓ９０５）。セグメント均等割り付け部３１０では、前述の方法で、セリフ文字データ３１３中のすべての文字について、均等な任意の幅のセグメント情報１１２を作成する（Ｓ９０６）。
【０１３２】
次に、音声セグメント処理部３０２では、音声自動セグメント部３０１に、セリフ音声データ１１８と、セグメント情報１１２から獲得されるセリフ文字データ３１３の文字数を送る。音声自動セグメント部３０１では、前述のパターンマッチングの手法により、セリフ音声データ１１８の自動セグメンテーションを行なうにあたり、そのセグメント数をセリフ文字データ３１３の文字数に調整する。また、セグメント情報１１２における、セグメント線分の位置を修正する（Ｓ９０７）。
【０１３３】
さらに、前述のパターンマッチングの結果、獲得されるセリフ文字データ３１３については棄却する。音声セグメント処理部３０２では、新しく修正されたセグメント情報１１２を出力する。音声セグメント処理部３０２は、セリフ音声データ１１８、セリフ文字データ３１３及びセグメント情報１１２を用いて、口形状キーフレームタイミングデータ３０３を作成する（Ｓ９１１）。口形状キーフレームタイミングデータ３０３の設定方法については、前述の通りである。
【０１３４】
この実施の形態に記載された発明に係るアニメーション制作システムは、セリフ文字データ３１３を入力する文字入力手段４を有し、セグメント均等割り付け部３１０が前記文字入力手段に入力されたセリフ文字データ３１３の個々の文字に対してセグメント情報１１２を割り当てるので、文字毎に口形状を対応させることができる。
【０１３５】
実施の形態６．
実施の形態６は、モーション強調手段７に強調方向面を指定するための機能を加えたものである。図５は実施の形態６のシステム構成図である。モーション入力部１１７で作成されたモーションデータを基本モーションデータ２０５、もしくはモーションデータ１１６に保存する。モーションデータ１１６は制作するアニメーションに直接使用するモーションデータ、基本モーションデータ２０５は直接制作するアニメーションに使用しないが、基本的なモーションが蓄積されている。５０４は分解モーション強調計算部である。
分解モーション強調計算部５０４は基本モーションデータ２０５を読みだす。５０１は強調方向面入力部である。ユーザは強調方向面入力部５０１から強調を行ないたい面を構成する座標点を指定し、この座標により構成される面を求める。５０２は面位置変化情報分解部である。面位置変化情報分解部５０２は強調方向面入力部５０１で計算された面を使用して、位置変化情報を分解する。
【０１３６】
面位置変化情報分解部５０２で分解した位置変化情報を分解モーション強調計算部５０４へ引き渡し、面情報に対してユーザの指定した方向（例えば水平か垂直か）に分解した位置変化情報に強調処理を行なう。
モーションデータ１１６と基本モーションデータ２０５は関節の動きの情報で表されており、その関節間の関係をスケルトンデータ１１４で表す。分解モーション強調計算部５０４で計算されたモーションの関節位置を関節距離計算部２０１でスケルトンデータ１１４の関節間の長さと同一に修正する。修正されたモーションは分解モーション強調計算部５０４に戻されて、モーションデータ１１６に保存される。
図３１に強調方向面入力部５０１を用いたモーション強調のフロー図を示す。このフロー図は「Ａに挿入」の部分を図１９のモーション強調フロー中Ａと示された部分に挿入し、「Ｂを変更」の部分を図１９のモーション強調フロー中Ｂと示された部分をおき換える。
【０１３７】
はじめに「Ａに挿入」の部分の説明を行なう。
ユーザは強調方向面入力部５０１で、モーションデータを構成する複数の関節から３点の関節、もしくは座標点を選択し、これを強調方向面入力部５０１から入力し、強調する方向をその面に水平か、垂直かを指定する。（Ｓ６０１〜Ｓ６０２）入力された３点に関節が含まれていない場合（Ｓ６０３）、強調方向面入力部５０１は入力された座標により構成される面（面１０−１）の式を計算し（Ｓ６０４）、面１０−１に平行で原点を通る面の式（面１０−２）を計算する（Ｓ６０５）。
分解モーション強調計算部５０４はモーションデータを基本モーションデータ２０５から、スケルトンデータをスケルトンデータ１１４から読み込む。１フレーム目のモーションデータは実施の形態２に示したように基本フレームとするため、読み込んだ位置変化情報はそのまま変更しない。ここで位置情報(motion_x,motion_y,motion_z) を式（２−１）で求めておく。
【０１３８】
次に「Ｂに変更」の部分の説明を行なう。
２フレーム目以降はスケルトンデータと処理フレームの位置変化情報を分解モーション強調計算部５０４から面位置変化情報分解部５０２へ引き渡す。強調方向面入力部５０１で指定された座標が関節を含んでいた場合には（Ｓ６０６）、各関節の前フレームの位置情報を計算し、面位置変化情報分解部からこの位置情報とスケルトン情報を強調方向面入力部５０１に渡す。
【０１３９】
強調方向面入力部５０１は指定された関節を通るの面（面１０−１）（Ｓ６０７）の式の計算を行ない、面１０−１に平行で原点を通る面の式（面１０−２）（Ｓ６０８）を計算し、面位置変化情報分解部へ戻す。
面位置変化情報分解部５０２では、強調方向面入力部で求めた面１０−２の式を用いて、各関節のモーションデータのうち、位置変化情報(dxf,dyf,dzf)を位置変化ベクトルと考え（Ｓ６１０）、面１０−２上に位置変化情報を垂直に射影する。これにより、位置変化情報は上記面上に垂直に射影されたベクトルと、その面に垂直なベクトルとの和で表される（Ｓ６１１）。図３２に位置変化ベクトル強調面による分解の様子を示す。図３２に示すように位置変化ベクトルが強調方向面上のベクトルと、強調方向面に垂直なベクトルに分解される。
【０１４０】
この分解された位置変化ベクトルと面に対して水平に強調するか、垂直に強調するかを面位置変化情報分解部５０２は分解モーション強調計算部５０４に返す。分解モーション強調計算部５０４では強調方向に垂直方向を指定したときは面１０−２に垂直な成分に対して強調係数ktをかける。逆に平行成分を指定した場合には面に射影された成分のみに強調係数ktをかける（Ｓ６１２）。この後に面に射影されたベクトルと、面に垂直なベクトルを加えることによって、指定した強調方向のみのモーションの強調を行うことができる（Ｓ６１３）。前フレームの位置情報に強調した位置情報位置情報ベクトルを加え、今回フレームの位置情報を作成する。
次に分解モーション強調計算部５０４から関節距離計算部へ上記計算を行なった強調されたモーションデータとスケルトンを引き渡す。実施の形態２で述べた方法で、関節の強調位置の調整処理を行う。
実施の形態２と同じ方法で、この処理を全フレームに対して行ない、指定した面に対する強調を行なう。
【０１４１】
この実施の形態に記載された発明に係るアニメーション制作システムは、モーション強調手段にさらに強調方向を入力する強調方向面入力部５０１と、前記強調方向入力手段に入力された強調方向に対し、モーションの強調を行なう分解モーション強調計算部５０４を備えているので、指定した方向にのみモーションの強調を行なうことができる。
【０１４２】
実施の形態７．
実施の形態７は、図１におけるモーション強調手段７へ指定した線方向に対するモーションの強調機能を付加したものである。
図５は実施の形態７のシステム構成図である。モーション入力部１１７で作成されたモーションデータを基本モーションデータ２０５、もしくはモーションデータ１１６に保存する。モーションデータ１１６は制作するアニメーションに直接使用するモーションデータ、基本モーションデータ２０５は直接制作するアニメーションに使用しないが、基本的なモーションが蓄積されている。
【０１４３】
５０４は分解モーション強調計算部である。分解モーション強調計算部５０４は基本モーションデータ２０５を読みだす。５０３は強調方向線入力部である。ユーザは強調方向線入力部５０３から強調を行ないたい線を構成する座標点を指定し、この座標により構成される線の式を求める。５０５は線位置変化情報分解部である。線位置変化情報分解部５０５は強調方向線入力部５０３で計算された線を使用して、位置変化情報を分解する。
線位置変化情報分解部５０５で分解した位置変化情報を分解モーション強調計算部５０４へ引き渡し、入力された線情報に対して分解した位置情報の平行成分のみに強調処理を行なう。
モーションデータ１０６と基本モーションデータ２０５は関節の動きの情報で表されており、その関節間の関係をスケルトンデータ１１４で表す。分解モーション強調計算部５０４で計算されたモーションの関節位置を関節距離計算部２０１でスケルトンデータ１１４と同一に修正する。修正されたモーションは分解モーション強調計算部５０４に戻されて、モーションデータ１１６に保存される。
【０１４４】
図３３に強調方向線入力部５０３を用いたモーション強調のフロー図を示す。このフロー図はＡに挿入の部分を図１９のモーション強調フロー中Ａと示された部分に挿入し、B を変更と書かれた部分を図１９のモーション強調フロー中B と示された部分とおき換える。
「Ａに挿入」の部分から説明を行なう。強調方向線入力部５０３から、ユーザはモーションデータを構成する関節もしくは任意の座標点から２点を選択する（Ｓ７０１）。
【０１４５】
指定された２点に関節が含まれていない場合には（Ｓ７０２）、強調方向線入力部５０３で、この２点から計算される直線の式を求め（直線１１−１）、この直線に平行で原点を通る直線の位置を計算し（直線１１−２）、線位置変化情報分解部５０５へ直線１１−２の式を引き渡す（Ｓ７０３〜Ｓ７０４）。
分解モーション強調計算部５０４はモーションデータを基本モーションデータ２０５から、スケルトンデータをスケルトンデータ１１４から読み込む。１フレーム目のモーションデータは実施の形態２に示したように基本フレームとするため、読み込んだ位置変化情報をそのまま変更しない。式（２−１）で位置情報を求めておく。
【０１４６】
２フレーム目以降はスケルトンデータと処理フレームの位置変化情報を分解モーション強調計算部５０４から線位置変化情報分解部５０５へ引き渡す。
「Ｂに挿入」の部分の説明を行なう。
強調方向線入力部５０３で指定された座標が関節を含んでいた場合には（Ｓ７０５）、線位置変化情報分解部５０５から各関節の前フレームの位置座標情報と位置情報とスケルトン情報を強調方向線入力部５０１に渡す。強調方向線入力部５０３で、指定された２点から計算される直線の式を求め（直線１１−１）、この直線に平行で原点を通る直線の位置を計算する（直線１１−２）。直線１１−２を線位置変化情報分解部５０５へ戻す（Ｓ７０６）。
【０１４７】
全関節について次の処理を行なう。
強調しようとする関節の位置変化情報を位置変化ベクトルと呼び、(dｘ,dｙ,dｚ)とする。直線１１−２と(dｘ,dｙ,dｚ)を通る面の式を求める。（面１１−１）（Ｓ７０８）
面１１−１上で原点を通り、直線１１−２に垂直な直線１１−３を求める（Ｓ７０９）。位置変化ベクトル(dｘ,dｙ,dｚ)を直線１１−２と直線１１−３に平行なベクトルに分解する（直線１１−２に対してベクトル１１−２、直線１１−３に対してベクトル１１−３とする）（Ｓ７１０）。
【０１４８】
図３４に位置変化ベクトル強調線による分解の様子を示す。位置変化ベクトルを直線１１−２に平行なベクトル１１−２と直線１１−３に平行なベクトル１１−３に分解する。この分解した位置変化ベクトル１１−２と１１−３を分解モーション強調計算部５０４へ戻す。
【０１４９】
分解モーション強調計算部５０４で、直線１１−２に平行なベクトル１１−２に強調係数ktをかける（Ｓ７１１）。強調された直線１１−２に平行なベクトル１１−２と、もう一方の直線１１−３に平行なベクトル１１−３を加えることにより、指定した直線方向に強調したモーション強調を行なう（Ｓ７１２）。全フレームの位置情報に強調したい位置変化情報を加えて、現フレームの位置情報を作成しておく。この処理を処理フレームの全関節について行なう（Ｓ７１４、Ｓ７１５）。分解モーション計算部５０４は強調された位置変化情報から位置情報を計算し、この位置情報とスケルトン情報を関節距離計算部２０１に引き渡す。
【０１５０】
関節距離計算部２０１により関節の調整処理は実施の形態２で述べた方法で行なうことができる。これを全フレームに対して行なう。
この実施の形態に記載されたアニメーション制作システムは、モーション強調手段にさらに強調方向を入力する強調方向入力手段と、前記強調方向入力手段に入力された強調方向に対し、モーションの強調を行なう分解モーション強調計算手段を備えているので、指定した方向にのみモーションの強調を行なうことができる。
特に上記方法により、ユーザは指定した方向、例えば体の上向きの方向成分のみを強調させることができる。
【０１５１】
図１において、１２はモーション組合せ手段である。モーション組合せ手段１２はアニメーション構成データ保存手段９の複数の部分モーションデータを同期制御手段６により同期づけし、１つのモーションへ組合わせる。
【０１５２】
図６は実施の形態８のシステム構成図である。
６０２は部分モーションであり、アニメーションキャラクタの体の位置部分のモーションのみが蓄積されている。
【０１５３】
モーション入力部１１７により作成された部分モーション６０２は該当するスケルトンデータ１１４中のスケルトンデータと共に同期制御表示部１０１に読み込まれる。部分モーション６０２はモーション表示部１０５に渡され、ユーザはモーションを表示しながらモーションセグメント入力部１０６によりセグメント情報を入力し、セグメント情報１１２に保存する。セグメントはこれから組合せを行なう２つのモーションデータで同じ時間に合わせたい部分に入力を行なう。組合わせるモーションは必ず１つの関節を共有する。
【０１５４】
部分モーションに同期制御表示部１０１で同期制御データ１１３を作成する。データ再計算部１１０へ同期付けたモーションを渡し再計算し、同期されたセグメント部分が同時間に実行されるように同期され、部分モーション６０２へ保存される。６０１はモーション組合せ部である。モーション組合せ部６０１は部分毎に別々に入力されている部分モーション６０２を組合わせて一つのアニメーションキャラクタのモーションを作成し、基本モーションデータ２０５もしくはモーションデータ１１６へ保存する。
【０１５５】
図３５にモーション組合せ部６０１のフロー図を示す。
モーション入力部６０２によって別々に入力された同一キャラクタの各部分のモーションデータが存在した時に、その別々のモーションを同期制御表示部１０１に読み込む（Ｓ８０１）。同期制御表示部１０１を使用するのは組合わせるモーションデータは組合わせるために入力したものであるため、時間的にほぼ同期はとれているはずであるが、実際には若干組合わせる部分モーション同士の同期がずれているからである。
【０１５６】
同期制御手段６では実施の形態１に示した方法で、組合せを行なう同期をとるタイミングに対して同期制御データ１１３でモーション同士を同期させる（Ｓ８０２）。同期制御手段６で同期をとられたモーションは部分モーションデータ６０２に保存される。この部分モーションデータ６０２からモーション組合せ部６０１が上記で同期づけされたモーションをとり出す。
同期制御手段６で同期させられた組合せを行なう各モーションで同一である関節を持っており、これを同一関節と呼ぶ。
図３６にモーション組合せ部６０１の説明図を示す。この図では組合せを行なうモーション１とモーション２において関節Ａが同一関節となっている。
【０１５７】
ユーザはモーション組合せ部６０１を使用して、この同一関節の情報（関節Ａ）を入力し（Ｓ８０３）、部分モーションから読み込む、組合わせる部分モーションうち、どちらか一方を基モーションとし、基モーションでないモーションを組合せモーションとする。またモーション組合せ部には基モーションのスケルトン情報、組合せモーションのスケルトン情報も読み込んでおく。
【０１５８】
モーション組合せ部６０１では基モーションのスケルトンの同一関節の初期位置１フレーム目の位置の差はスケルトン情報に登録されている初期位置情報から基モーションの１フレーム目の位置変化情報、回転変化情報をたして１フレーム目の位置情報を算出する。同様に組合せフレームについても１フレーム目の位置情報を算出する。
【０１５９】
具体的には、基本モーション１フレーム目の同一関節の位置情報を(ｘb,ｙb,ｚb),ｒb、位置変化情報を(dｘb,dｙb,dｚb）,dｒb、組合せモーションの１フレーム目の同一関節の位置情報を(ｘa,ｙa,ｚa),ｒa、位置変化情報を(dｘa,dｙa,dｚa),dｒaとする。基本モーションスケルトンデータの同一関節の初期位置情報を(sｘb,sｙb,sｚb),sｒb、組合せモーションスケルトンデータの同一関節の初期位置情報を(sｘa,sｙa,sｚa),sｒaとする。
【０１６０】
基モーションが、
ｘb=sｘb+dｘb
ｙb=sｙb+dｙb
ｚb=sｚb+dｚb
ｒb=sｒb+dｒb
【０１６１】
組合せモーションが、
ｘa=sｘa+dｘa
ｙa=sｙa+dｙa
ｚa=sｚa+dｚa
ｒa=sｒa+dｒa
となる（Ｓ８０４）。
【０１６２】
１フレーム目の基本モーションと組合せモーションの同一関節における位置情報の差を求める。基本モーションと組合せモーションの位置情報の差を(mｘba,mｙba,mｚba),mｒbaとすると、
mｘba=ｘb-ｘa
mｙba=ｙb-ｙa
mｚba=ｚb-ｚa
mｒba=ｒb-ｒa
で求める（Ｓ８０５）。
【０１６３】
この差を組合せモーションの１フレーム目の全関節の位置変化情報、回転変化情報から減算する（Ｓ８０６）。
この後、基モーションの同一関節部分と組合せモーションで基モーションの同一関節を親関節、組合せモーションの同一関節につながっている関節を子関節とし、一つのモーションデータへ変換し、モーションデータ１１６もしくは基本モーションデータ２０５へ保存する（Ｓ８０７）。
【０１６４】
これにより例えばモーション入力部１として光学式モーションキャプチャシステムを使用する場合、体の一部により隠れてしまう関節部分のモーションをその部分のみ別にとりこみ、組合せを行なうことで、一つのモーションを制作することができる。
【０１６５】
【発明の効果】
第１の発明に係るアニメーション制作システムは、アニメーションの構成に使用する少なくとも第１のアニメーション構成データ及び第２のアニメーション構成データを有するアニメーション構成データを用いてアニメーションの制作を行なうものであって、前記第１のアニメーション構成データ及び前記第２のアニメーション構成データの各々に対し、同期設定のための同期制御データを付加するとともに、当該付加された同期制御データを用いて、前記第１のアニメーション構成データと前記第２のアニメーション構成データの同期を制御する同期制御手段を備えているので、人手を介することなくアニメーションを構成するデータの同期を確立することができる。
【０１６６】
第２の発明に係るアニメーション制作システムは、第１の発明における同期制御手段において前記第１のアニメーション構成データ及び第２のアニメーション構成データを部分的に伸長又は縮退することにより同期を制御するので、情報全体に亘って同期をとることができる。
【０１６７】
第３の発明に係るアニメーション制作システムは、アニメーションのモデルの形状を作成する形状作成手段と、前記形状作成手段において作成された前記モデルのモーションデータを入力しモーションを作成するモーション作成手段と、前記モーション作成手段に入力されたモーションデータに対して強調計算を行ない、強調されたモーションデータを出力するモーション強調手段とを備えているので、強調されたモーションを得ることができる。
【０１６８】
第４の発明に係るアニメーション制作システムは、第３の発明におけるモーション強調手段をモーションデータに対し強調係数を乗算するとともに、当該乗算されたモーションデータに対し、当該モデルの関節間の長さが一定になるよう補正することとしたので、モーションを強調させた場合であっても関節の長さが一定であり、動作が不自然とならない。
【０１６９】
第５の発明に係るアニメーション制作システムは、第３の発明におけるモーション強調手段にさらに強調方向を入力する強調方向入力部と、前記強調方向入力手段に入力された強調方向に対し、モーションの強調を行なう分解モーション強調計算部を備えているので、指定した方向にのみモーションの強調を行なうことができる。
【０１７０】
第６の発明に係るアニメーション制作システムは、アニメーションのモデルのモーションを入力し、モーションデータを出力するモーション入力手段と、予め複数のモーションデータが記憶されたモーションデータ記憶手段と、前記モーション入力手段より出力されたモーションデータと前記モーションデータ記憶手段に記憶されたモーションデータとを比較し、その比較結果に基づいて前記モーションデータ記憶手段に記憶されたモーションデータより選択し、出力するモーションデータ検索手段とを備えているので、入力されたモーションが不自然なものであってもモーション記憶手段に自然なモーションを記憶させておけば、自然なモーションを出力することができる。
【０１７１】
第７の発明に係るアニメーション制作システムは、音声信号を入力する音信号入力手段と、母音情報に対応した口形状モデルを記憶する口形状モデル記憶手段と、前記音信号入力手段に入力された音声信号の母音情報に基づいて前記口形状モデル記憶手段より口形状モデルを選択し画像出力する画像出力手段とを備えているので、母音情報に基づいて口形状を特定するため簡易な構成で口形状のアニメーションを作成することができる。
【０１７２】
第８の発明に係るアニメーション制作システムは、音声信号を入力する音信号入力手段と、母音情報及び音声レベルに対応した口形状モデルを記憶する口形状モデル記憶手段と、前記音信号入力手段に入力された音声信号の母音情報及び音声レベルに基づいて前記口形状モデル記憶手段より口形状モデルを選択し画像出力する画像出力手段とを備えているので、母音情報のみならず、音声レベルに応じた口形状モデルを出力することができるので、簡易な構成で、より正確に口形状のアニメーションを制作することができる。
【０１７３】
第９の発明に係るアニメーション制作システムは、音声信号を入力する音信号入力手段と、前記音信号入力手段に入力された音声信号の母音情報に基づいてセグメント処理を行いセグメント情報を生成するセグメント手段と、前記音声信号に対応した口形状データを生成する口形状データ生成手段と、前記セグメント手段により生成したセグメント情報に基づいて前記口形状データ生成手段により生成した口形状データと前記音声信号とを同期させる同期手段とを備えているので、簡易な構成で口形状と音声信号とが同期した口形状のアニメーションを制作することができる。
【０１７４】
第１０の発明に係るアニメーション制作システムは、第９の発明における同期手段が前記セグメント情報よりセグメント中の始点線分、終点線分、最大量子化値部分を抽出し、各段階において前記口形状モデルのキーフレームを割り当てるものなので、簡易な構成により口形状のモーションをより自然にすることができる。
【０１７５】
第１１の発明に係るアニメーション制作システムは、第９の発明においてさらに文字データを入力する文字入力手段を有し、セグメント手段が前記文字入力手段に入力された文字データの個々の文字に対してセグメントを割り当てるので、文字毎に口形状を対応させることができる。
【０１７６】
第１２の発明に係るアニメーション制作システムは、アニメーションのモデルの部分のモーションを示す第１の部分モーションデータ及び第２の部分モーションデータを記憶する部分モーション記憶手段と、前記部分モーション記憶手段に記憶された第１の部分モーションデータと第２の部分モーションデータのそれぞれが同一関節を持っており、この同一関節を基準に、同期制御手段を用いて同期させた前記第１の部分モーションデータと前記第２の部分モーションデータとを組み合わせる組み合わせ手段を有するので、例えば単一のモーションの入力手段では、モーションが捉えきれない場合に複数の入力手段によりモーションを制作することができる。
【図面の簡単な説明】
【図１】  本アニメーション制作システムのシステム構成図である。
【図２】  実施の形態１のシステム構成図である。
【図３】  実施の形態２、３のシステム構成図である。
【図４】  実施の形態４、５のシステム構成図である。
【図５】  実施の形態６、７のシステム構成図である。
【図６】  実施の形態８のシステム構成図である。
【図７】  モーションデータ１１６の構成である。
【図８】  位置変化情報、回転変化情報である。
【図９】  スケルトンデータ１１４の構成である。
【図１０】  セグメント情報１１３とセグメントである。
【図１１】  同期制御表示部１０１の表示イメージ図である。
【図１２】  音表示部１０２である。
【図１３】  モーション表示部１０５である。
【図１４】  同期制御データ１１３である。
【図１５】  セグメント情報１１２の同期付けである。
【図１６】  同期制御データ１１３設定によるアニメーション構成データの時間変更である。
【図１７】  同期制御手段７のフロー図である。
【図１８】  同期制御データ１１３によるキャラクタモデル構成データの時間変更である。
【図１９】  モーション強調のフロー図である。
【図２０】  モーション強調説明図である。
【図２１】  モーションキーワードデータ２０５の構成である。
【図２２】  モーション検索のフロー図である。
【図２３】  モーション検索部２０３である。
【図２４】  セリフ文字データ３１３と、その設定例である。
【図２５】  音声セグメント処理部３０２のユーザーインターフェースである。
【図２６】  パターンマッチングのフローチャートである。
【図２７】  口形状キーフレームタイミングデータ３０３の作成方法のフロチャートである。
【図２８】  口形状キーフレームタイミングデータ３０３の作成方法のイメージである。
【図２９】  口形状キーフレームタイミングデータの構成である。
【図３０】  音声セグメント処理部３０２に入力されているデータの種類による口形状キーフレームデータ３０３の出力フローである。
【図３１】  強調方向面入力部５０１を用いたモーション強調のフロー図である。
【図３２】  位置変化ベクトル強調面による分解の様子である。
【図３３】  強調方向線入力部５０３を用いたモーション強調のフロー図である。
【図３４】  位置変化ベクトル強調線による分解の様子である。
【図３５】  ョン組合せ部６０１のフロー図である。
【図３６】  モーション組合せ部６０１の説明図である。
【図３７】  従来例（１）の説明図である。
【図３８】  従来例（２）の説明図である。
【図３９】  従来例（３）の説明図である。
【符号の説明】
１  形状作成手段、２  モーション作成手段、３  音入力手段、４  文字入力手段、５  レンダリング手段、６  同期制御手段、７  モーション強調手段、８  音声同期口形状作成手段、９  アニメーション構成データ保存手段、１０  モーション検索手段、１１  音出力手段、１２  モーション組合せ手段、１０１  同期制御表示部、１０２  音表示部、１０３  音出力部、１０４  音声セグメント入力部、１０５  モーション表示部、１０６  モーションセグメント入力部、１１０、データ再計算部、１１２  セグメント情報、１１３  同期制御データ、１１４  スケルトンデータ、１１５  スケルトン入力部、１１６  モーションデータ、１１７  モーション入力部、１１８  セリフ音声データ、１１９  音入力部、１２０  音データ、１２３  セグメント情報対応付け部、２０１  関節距離計算部、２０２  モーション強調計算部、２０３  モーション検索部、２０４  モーションキーワードデータ、２０５  基本モーションデータ、３０１  音声自動セグメント部、３０２  音声セグメント処理部、３０３  口形状キーフレームタイミングデータ、３０４  口形状モーション作成部、３０５  レンダリング部、３０６  画像データ、３０７  画像出力部、３０８  モデルデータ、３０９  モデル入力部、３１０  セグメント均等割り付け部、３１１  セリフ文字入力部、３１２  辞書パターンデータ、５０１  強調方向入力部、５０２  面位置変化情報分解部、５０３  強調方向入力部、５０４  分解モーション強調計算部、５０５  線位置変化情報分解部、６０１  モーション組み合わせ部、６０２  部分モーションデータ。
【図１】
0003755503.tif 000002
【図２】
0003755503.tif 000003
【図３】
0003755503.tif 000004
【図４】
0003755503.tif 000005
【図５】
0003755503.tif 000006
【図６】
0003755503.tif 000007
【図７】
0003755503.tif 000008
【図８】
0003755503.tif 000009
【図９】
0003755503.tif 000010
【図１０】
0003755503.tif 000011
【図１１】
0003755503.tif 000012
【図１２】
0003755503.tif 000013
【図１３】
0003755503.tif 000014
【図１４】
0003755503.tif 000015
【図１５】
0003755503.tif 000016
【図１６】
0003755503.tif 000017
【図１７】
0003755503.tif 000018
【図１８】
0003755503.tif 000019
【図１９】
0003755503.tif 000020
【図２０】
0003755503.tif 000021
【図２１】
0003755503.tif 000022
【図２２】
0003755503.tif 000023
【図２３】
0003755503.tif 000024
【図２４】
0003755503.tif 000025
【図２５】
0003755503.tif 000026
【図２６】
0003755503.tif 000027
【図２７】
0003755503.tif 000028
【図２８】
0003755503.tif 000029
【図２９】
0003755503.tif 000030
【図３０】
0003755503.tif 000031
【図３１】
0003755503.tif 000032
【図３２】
0003755503.tif 000033
【図３３】
0003755503.tif 000034
【図３４】
0003755503.tif 000035
【図３５】
0003755503.tif 000036
【図３６】
0003755503.tif 000037
【図３７】
0003755503.tif 000038
【図３８】
0003755503.tif 000039
【図３９】
0003755503.tif 000040