(57)【要約】【課題】時系列的に配列された構成要素からなるコンテンツを効率的に生成することのできるコンテンツ生成データのデータ構造を提供する。【解決手段】アニメーションを生成するための中間データとして用いられるコンテンツ生成データ１４００は、アニメーションの時系列に関する構成要素であるキーフレームデータ１４２０と、動きの識別子およびその動きを表わすためのキーフレームを示すキーフレームの系列からなる動き定義データ１４４０とを含む。コンテンツ生成装置に対して動きの識別子「笑い」が指定された場合、コンテンツ生成装置はコンテンツ生成データ１４００を用い、識別子「笑い」に対応したキーフレームの系列「１（５０），２（５０）」に基づいて、キーフレーム１番と２番とを取得し、「「笑い」のアニメーションではキーフレーム１番を５０％、次に、キーフレーム２番を５０％用いる」アニメーションを生成する。【選択図】　　　　図４
2004145650.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツ生成装置に対してコンテンツの動きが選択された場合に、前記コンテンツ生成装置に、所定のコンテンツの時系列に関する構成要素を記憶装置から取得させ、所定の順に従って前記取得させた構成要素を対応付けることでコンテンツを生成させるための中間データとして用いられるコンテンツ生成データのデータ構造であって、
コンテンツの動きを示す識別子と、
前記動きを表現するために必要な、前記構成要素を示す識別子と前記構成要素の順とを指定する系列とを対応付けて含む、コンテンツ生成データのデータ構造。
【請求項２】
１以上のコンテンツの構成要素をさらに含み、
前記コンテンツ生成装置に、前記コンテンツ生成データに含まれる前記１以上のコンテンツの構成要素から所定の構成要素を取得させる、請求項１に記載のコンテンツ生成データのデータ構造。
【請求項３】
前記系列は、前記コンテンツにおける前記構成要素の再生時間の比率をさらに指定する、請求項１または２に記載のコンテンツ生成データのデータ構造。
【請求項４】
前記コンテンツの構成要素は図形オブジェクトを含み、前記構成要素に含まれる図形オブジェクトは、所定の制御点により構成されて、前記構成要素とは異なる他の構成要素に含まれる、同数の制御点により構成される他の図形オブジェクトと対応付けられることを特徴とする、請求項１〜３のいずれかに記載のコンテンツ生成データのデータ構造。
【請求項５】
前記コンテンツの構成要素は、音楽と画像との少なくとも一方を含む、請求項１〜３のいずれかに記載のコンテンツ生成データのデータ構造。
【請求項６】
前記コンテンツの構成要素は文字コードに対応付けられ、
前記コンテンツ生成装置に対して前記動きの識別子と前記文字コードとが選択された場合に、前記コンテンツ生成装置に、前記識別子に対応した前記系列に基づいて、前記文字コードに対応した所定の構成要素を取得させ、前記順に従って前記取得させた構成要素を対応付けることで前記文字を表現するコンテンツを生成させる、請求項１に記載のコンテンツ生成データのデータ構造。
【請求項７】
コンテンツの生成要求を受付ける生成要求受付手段と、
前記受付けた生成要求から、前記コンテンツの動きを示す識別子を取得する第１の取得手段と、
前記コンテンツを生成するための中間データであって、コンテンツの動きを示す識別子と、前記動きを表現するために必要な、前記コンテンツの時系列に関する構成要素を示す識別子とその順とを指定する系列とを対応付けて含むコンテンツ生成データを取得する第２の取得手段と、
前記第２の取得手段で取得した前記コンテンツ生成データを用いて、前記第１の取得手段で取得した前記識別子に基づいたコンテンツを生成するコンテンツ生成手段とを備える、コンテンツ生成装置。
【請求項８】
前記コンテンツ生成手段は、
前記識別子に対応した前記系列に基づいて、所定の構成要素を取得する第３の取得手段と、
前記順に従って、前記第３の取得手段で取得した前記構成要素を対応付けるリンク手段とをさらに備える、請求項７に記載のコンテンツ生成装置。
【請求項９】
前記第１の取得手段は、前記生成要求に含まれる前記コンテンツで表現する文字コードをさらに取得し、
前記コンテンツ生成手段は、前記第２の取得手段で取得した前記コンテンツ生成データを用いて、前記第１の取得手段で取得した前記識別子と前記文字コードとに基づいた前記文字を表現するコンテンツを生成する、請求項７に記載のコンテンツ生成装置。
【請求項１０】
前記第１の取得手段は、前記生成要求に含まれる、前記コンテンツの再生時間と繰返し回数と往復回数との少なくとも１つを取得し、
前記コンテンツ生成手段は、前記第２の取得手段で取得した前記コンテンツ生成データを用いて、前記第１の取得手段で取得した前記識別子と前記再生時間あるいは繰返し回数あるいは往復回数とに基づいて前記コンテンツを生成する、請求項７に記載のコンテンツ生成装置。
【請求項１１】
コンテンツ生成装置と、コンテンツ再生装置とを含むコンテンツ生成システムであって、
前記コンテンツ再生装置は、コンテンツの生成要求を前記コンテンツ再生装置に対して出力する再生要求手段を備え、
前記コンテンツ生成装置は、
前記コンテンツ再生装置から前記生成要求を受付ける生成要求受付手段と、前記受付けた生成要求から、前記コンテンツの動きを示す識別子を取得する第１の取得手段と、
前記コンテンツを生成するための中間データであって、コンテンツの動きを示す識別子と、前記動きを表現するために必要な、前記コンテンツの時系列に関する構成要素を示す識別子とその順とを指定する系列とを対応付けて含むコンテンツ生成データを取得する第２の取得手段と、
前記第２の取得手段で取得した前記コンテンツ生成データを用いて、前記第１の取得手段で取得した前記識別子に基づいたコンテンツを生成するコンテンツ生成手段と、
前記生成されたコンテンツを前記コンテンツ再生装置に出力する出力手段とを備える、コンテンツ生成システム。
【請求項１２】
前記コンテンツ再生装置は、前記再生要求手段において、前記コンテンツで表現する文字コードを含む前記生成要求を出力し、
前記コンテンツ生成装置は、前記第１の取得手段において前記文字コードをさらに取得し、前記コンテンツ生成手段において、前記第２の取得手段で取得した前記コンテンツ生成データを用いて、前記第１の取得手段で取得した前記識別子と前記文字コードとに基づいた前記文字を表現するコンテンツを生成する、請求項１１に記載のコンテンツ生成システム。
【請求項１３】
前記コンテンツ再生装置は、前記再生要求手段において、前記コンテンツの再生時間と、繰返し回数と、往復回数との少なくとも１つを含む前記生成要求を出力し、
前記コンテンツ生成装置は、前記第１の取得手段において前記再生時間あるいは繰返し回数あるいは往復回数をさらに取得し、前記コンテンツ生成手段において、前記第２の取得手段で取得した前記コンテンツ生成データを用いて、前記再生時間あるいは繰返し回数あるいは往復回数に基づいて前記コンテンツを生成する、請求項１１に記載のコンテンツ生成システム。
【請求項１４】
コンテンツの生成要求を受付ける生成要求受付ステップと、
前記受付けた生成要求から、前記コンテンツの動きを示す識別子を取得する第１の取得ステップと、
前記コンテンツを生成するための中間データであって、コンテンツの動きを示す識別子と、前記動きを表現するために必要な、前記コンテンツの時系列に関する構成要素を示す識別子とその順とを指定する系列とを対応付けて含むコンテンツ生成データを取得する第２の取得ステップと、
前記第２の取得ステップで取得した前記コンテンツ生成データを用いて、前記第１の取得ステップで取得した前記識別子に基づいたコンテンツを生成するコンテンツ生成ステップとを備える、コンテンツ生成方法。
【請求項１５】
前記コンテンツ生成ステップは、
前記識別子に対応した前記系列に基づいて、所定の構成要素を取得する第３の取得ステップと、
前記順に従って、前記第３の取得ステップで取得した前記構成要素を対応付けるリンクステップとをさらに備える、請求項１４に記載のコンテンツ生成方法。
【請求項１６】
前記第１の取得ステップは、前記生成要求に含まれる前記コンテンツで表現する文字コードをさらに取得し、
前記コンテンツ生成ステップは、前記第２の取得ステップで取得した前記コンテンツ生成データを用いて、前記第１の取得ステップで取得した前記識別子と前記文字コードとに基づいた前記文字を表現するコンテンツを生成する、請求項１４に記載のコンテンツ生成方法。
【請求項１７】
前記第１の取得ステップは、前記生成要求に含まれる、前記コンテンツの再生時間と繰返し回数と往復回数との少なくとも１つを取得し、前記コンテンツ生成ステップは、前記第２の取得ステップで取得した前記コンテンツ生成データを用いて、前記第１の取得ステップで取得した前記識別子と前記再生時間あるいは繰返し回数あるいは往復回数とに基づいて前記コンテンツを生成する、請求項１４に記載のコンテンツ生成方法。
【請求項１８】
コンテンツの生成要求を受付ける生成要求受付ステップと、
前記受付けた生成要求から、前記コンテンツの動きを示す識別子を取得する第１の取得ステップと、
前記コンテンツを生成するための中間データであって、コンテンツの動きを示す識別子と、前記動きを表現するために必要な、前記コンテンツの時系列に関する構成要素を示す識別子とその順とを指定する系列とを対応付けて含むコンテンツ生成データを取得する第２の取得ステップと、
前記第２の取得ステップで取得した前記コンテンツ生成データを用いて、前記第１の取得ステップで取得した前記識別子に基づいたコンテンツを生成するコンテンツ生成ステップとをコンピュータに実行させる、コンテンツ生成プログラム。
【請求項１９】
前記コンテンツ生成ステップは、
前記識別子に対応した前記系列に基づいて、所定の構成要素を取得する第３の取得ステップと、
前記順に従って、前記第３の取得ステップで取得した前記構成要素を対応付けるリンクステップとをさらにコンピュータに実行させる、請求項１８に記載のコンテンツ生成プログラム。
【請求項２０】
前記第１の取得ステップは、前記生成要求に含まれる前記コンテンツで表現する文字コードをさらに取得し、
前記コンテンツ生成ステップは、前記第２の取得ステップで取得した前記コンテンツ生成データを用いて、前記第１の取得ステップで取得した前記識別子と前記文字コードとに基づいた前記文字を表現するコンテンツを生成する、請求項１１８に記載のコンテンツ生成プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はコンテンツ生成データのデータ構造、コンテンツ生成装置、コンテンツ生成システム、コンテンツ生成方法、およびコンテンツ生成プログラムに関し、特に、時系列的に配列された構成要素からなるコンテンツを効率的に生成することのできるコンテンツ生成データのデータ構造、コンテンツ生成装置、コンテンツ生成システム、コンテンツ生成方法、およびコンテンツ生成プログラムに関する。
【０００２】
【従来の技術】
最近のインターネットの普及に伴ない、パーソナルコンピュータや携帯電話を用いてネットワーク上の各種サービスを利用することが可能となった。このようなサービスの１つに、ユーザの入力に対応したコンテンツを自動的に生成してユーザに提示するサービスがある。具体的には、コンテンツとしてアニメーションを提供するサービスがある。
【０００３】
このようなサービスは、例えば、ウェブページに表示されたユーザインタフェースより文字列を入力し、その動き方のパターンを指定すると、入力した文字列が指定したパターンで動くアニメーションが表示される、といったものである。
【０００４】
このようにコンテンツを生成する方法の１つとして、特許文献１においてキャラクタ表示方法およびエンタテインメント装置が開示されている。特許文献１において開示されいてるキャラクタ表示方法およびエンタテインメント装置では、キャラクタの表情を表わす複数の画像データから選ばれた任意の２枚の画像を滑らかに変化させるために、それらの中間画像を生成する方法として、２枚の画像でモーフィングを行なう際の制御点を自動的に調節することで、次々と表示される表情を滑らかに変化させることを可能にしている。
【０００５】
また、特許文献２においては、本発明の発明者らによるアニメーションの合成方法が開示されている。
【０００６】
【特許文献１】
特開２００１−３１９２４２号公報
【０００７】
【特許文献２】
国際公開第ＷＯ０２／０６５３９９号パンフレット
【０００８】
【発明が解決しようとする課題】
しかしながら、上述の特許文献１に開示される方法では、任意に動き方の識別子を指定してそれに対応付けられた一連の動きを持つコンテンツを生成することはできないという問題がある。例えば、「キャラクタが泳いでいる時の表情の変化」といったキーワードを指定して、それに対応する動きの変化を持つアニメーション等のコンテンツを生成することはできない。
【０００９】
また、アニメーションの動作の過程で音楽の再生と同期させたり、画像の表示と同期させたりする形でアニメーションを生成する仕組みは提供されておらず、そのようなアニメーション等のコンテンツを簡単に生成することは非常に難しいという問題もある。
【００１０】
さらに、アニメーションの時系列に関する構成要素であって、ある時刻ｔにおける１コマの画像であるキーフレームから構成されるアニメーションを、人間がアニメーション作成ソフトウェア等を用いて作成するには、多大な労力を要するという問題がある。
【００１１】
本発明は、このような問題を解決するためになされたものであって、時系列的に配列された画像等の構成要素からなるコンテンツを効率的に生成するためのコンテンツ生成データのデータ構造、コンテンツ生成装置、コンテンツ生成システム、コンテンツ生成方法、およびコンテンツ生成プログラムを提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するために、本発明のある局面に従うと、コンテンツ生成データのデータ構造は、コンテンツ生成装置に対してコンテンツの動きが選択された場合に、コンテンツ生成装置に、所定のコンテンツの時系列に関する構成要素を記憶装置から取得させ、所定の順に従って取得させた構成要素を対応付けることでコンテンツを生成させるための中間データとして用いられるコンテンツ生成データのデータ構造であって、コンテンツの動きを示す識別子と、動きを表現するために必要な、構成要素を示す識別子と構成要素の順とを指定する系列とを対応付けて含む。
【００１３】
また、コンテンツ生成データのデータ構造は１以上のコンテンツの構成要素をさらに含み、コンテンツ生成装置に、コンテンツ生成データに含まれる１以上のコンテンツの構成要素から所定の構成要素を取得させることが望ましい。
【００１４】
また、上述の系列は、コンテンツにおける構成要素の再生時間の比率をさらに指定することが望ましい。
【００１５】
また、上述のコンテンツの構成要素は図形オブジェクトを含み、構成要素に含まれる図形オブジェクトは、所定の制御点により構成されて、構成要素とは異なる他の構成要素に含まれる、同数の制御点により構成される他の図形オブジェクトと対応付けられることが望ましい。
【００１６】
また、上述のコンテンツの構成要素は、音楽と画像との少なくとも一方を含むことが望ましい。
【００１７】
また、上述のコンテンツの構成要素は文字コードに対応付けられ、コンテンツ生成装置に対して動きの識別子と文字コードとが選択された場合に、コンテンツ生成装置に、識別子に対応した系列に基づいて、文字コードに対応した所定の構成要素を取得させ、順に従って取得させた構成要素を対応付けることで文字を表現するコンテンツを生成させることが望ましい。
【００１８】
本発明の他の局面に従うと、コンテンツ生成装置は、コンテンツの生成要求を受付ける生成要求受付手段と、受付けた生成要求から、コンテンツの動きを示す識別子を取得する第１の取得手段と、コンテンツを生成するための中間データであって、コンテンツの動きを示す識別子と、動きを表現するために必要な、コンテンツの時系列に関する構成要素を示す識別子とその順とを指定する系列とを対応付けて含むコンテンツ生成データを取得する第２の取得手段と、第２の取得手段で取得したコンテンツ生成データを用いて、第１の取得手段で取得した識別子に基づいたコンテンツを生成するコンテンツ生成手段とを備える。
【００１９】
また、上述のコンテンツ生成手段は、識別子に対応した系列に基づいて、所定の構成要素を取得する第３の取得手段と、順に従って、第３の取得手段で取得した構成要素を対応付けるリンク手段とをさらに備えることが望ましい。
【００２０】
また、上述の第１の取得手段は、生成要求に含まれるコンテンツで表現する文字コードをさらに取得し、コンテンツ生成手段は、第２の取得手段で取得したコンテンツ生成データを用いて、第１の取得手段で取得した識別子と文字コードとに基づいた文字を表現するコンテンツを生成することが望ましい。
【００２１】
また、上述の第１の取得手段は、生成要求に含まれる、コンテンツの再生時間と繰返し回数と往復回数との少なくとも１つを取得し、コンテンツ生成手段は、第２の取得手段で取得したコンテンツ生成データを用いて、第１の取得手段で取得した識別子と再生時間あるいは繰返し回数あるいは往復回数とに基づいてコンテンツを生成することが望ましい。
【００２２】
本発明のさらに他の局面に従うと、コンテンツ生成システムは、コンテンツ生成装置と、コンテンツ再生装置とを含むコンテンツ生成システムであって、コンテンツ再生装置は、コンテンツの生成要求をコンテンツ再生装置に対して出力する再生要求手段を備え、コンテンツ生成装置は、コンテンツ再生装置から生成要求を受付ける生成要求受付手段と、受付けた生成要求から、コンテンツの動きを示す識別子を取得する第１の取得手段と、コンテンツを生成するための中間データであって、コンテンツの動きを示す識別子と、動きを表現するために必要な、コンテンツの時系列に関する構成要素を示す識別子とその順とを指定する系列とを対応付けて含むコンテンツ生成データを取得する第２の取得手段と、第２の取得手段で取得したコンテンツ生成データを用いて、第１の取得手段で取得した識別子に基づいたコンテンツを生成するコンテンツ生成手段と、生成されたコンテンツをコンテンツ再生装置に出力する出力手段とを備える。
【００２３】
また、上述のコンテンツ再生装置は、再生要求手段において、コンテンツで表現する文字コードを含む生成要求を出力し、上述のコンテンツ生成装置は、第１の取得手段において文字コードをさらに取得し、コンテンツ生成手段において、第２の取得手段で取得したコンテンツ生成データを用いて、第１の取得手段で取得した識別子と文字コードとに基づいた文字を表現するコンテンツを生成することが望ましい。
【００２４】
また、上述のコンテンツ再生装置は、再生要求手段において、コンテンツの再生時間と、繰返し回数と、往復回数との少なくとも１つを含む生成要求を出力し、上述のコンテンツ生成装置は、第１の取得手段において再生時間あるいは繰返し回数あるいは往復回数をさらに取得し、コンテンツ生成手段において、第２の取得手段で取得したコンテンツ生成データを用いて、再生時間あるいは繰返し回数あるいは往復回数に基づいてコンテンツを生成することが望ましい。
【００２５】
本発明のさらに他の局面に従うと、コンテンツ生成方法は、コンテンツの生成要求を受付ける生成要求受付ステップと、受付けた生成要求から、コンテンツの動きを示す識別子を取得する第１の取得ステップと、コンテンツを生成するための中間データであって、コンテンツの動きを示す識別子と、動きを表現するために必要な、コンテンツの時系列に関する構成要素を示す識別子とその順とを指定する系列とを対応付けて含むコンテンツ生成データを取得する第２の取得ステップと、第２の取得ステップで取得したコンテンツ生成データを用いて、第１の取得ステップで取得した識別子に基づいたコンテンツを生成するコンテンツ生成ステップとを備える。
【００２６】
また、上述のコンテンツ生成ステップは、識別子に対応した系列に基づいて、所定の構成要素を取得する第３の取得ステップと、順に従って、第３の取得ステップで取得した構成要素を対応付けるリンクステップとをさらに備えることが望ましい。
【００２７】
また、上述の第１の取得ステップは、生成要求に含まれるコンテンツで表現する文字コードをさらに取得し、上述のコンテンツ生成ステップは、第２の取得ステップで取得したコンテンツ生成データを用いて、第１の取得ステップで取得した識別子と文字コードとに基づいた文字を表現するコンテンツを生成することが望ましい。
【００２８】
また、上述の第１の取得ステップは、生成要求に含まれる、コンテンツの再生時間と繰返し回数と往復回数との少なくとも１つを取得し、上述のコンテンツ生成ステップは、第２の取得ステップで取得したコンテンツ生成データを用いて、第１の取得ステップで取得した識別子と再生時間あるいは繰返し回数あるいは往復回数とに基づいて前記コンテンツを生成することが望ましい。
【００２９】
本発明のさらに他の局面に従うと、コンテンツ生成プログラムは、コンテンツの生成要求を受付ける生成要求受付ステップと、受付けた生成要求から、コンテンツの動きを示す識別子を取得する第１の取得ステップと、コンテンツを生成するための中間データであって、コンテンツの動きを示す識別子と、動きを表現するために必要な、コンテンツの時系列に関する構成要素を示す識別子とその順とを指定する系列とを対応付けて含むコンテンツ生成データを取得する第２の取得ステップと、第２の取得ステップで取得したコンテンツ生成データを用いて、第１の取得ステップで取得した識別子に基づいたコンテンツを生成するコンテンツ生成ステップとをコンピュータに実行させる。
【００３０】
また、上述のコンテンツ生成ステップは、識別子に対応した系列に基づいて、所定の構成要素を取得する第３の取得ステップと、順に従って、第３の取得ステップで取得した構成要素を対応付けるリンクステップとをさらにコンピュータに実行させるが望ましい。
【００３１】
また、上述の第１の取得ステップは、生成要求に含まれるコンテンツで表現する文字コードをさらに取得し、コンテンツ生成ステップは、第２の取得ステップで取得したコンテンツ生成データを用いて、第１の取得ステップで取得した識別子と文字コードとに基づいた文字を表現するコンテンツを生成することが望ましい。
【００３２】
【発明の実施の形態】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００３３】
［第１の実施の形態］
図１に、本実施の形態におけるアニメーション生成システムの構成の具体例を示す。
【００３４】
図１を参照して、本実施の形態におけるアニメーション生成システムは、アニメーションの生成を要求するクライアントコンピュータ２００および携帯電話３００と、クライアントコンピュータ２００または携帯電話３００からの要求に応答してアニメーションを生成するサーバコンピュータ１００とを含み、サーバコンピュータ１００とクライアントコンピュータ２００と携帯電話基地局３５０とはネットワーク５００で接続される。
【００３５】
さらに、携帯電話基地局３５０は、携帯電話網６００を介して、サーバコンピュータ１００およびクライアントコンピュータ２００と接続されている。
【００３６】
また、ネットワーク５００には、さらにアニメーション生成データベース４００が接続される。サーバコンピュータ１００は、ネットワーク５００を介して、アニメーション生成データベース４００より必要なデータを取得する。なお、アニメーション生成データベース４００は、サーバコンピュータ１００に含まれていてもよい。
【００３７】
本実施の形態においては、携帯電話３００がサーバコンピュータ１００に対してアニメーションの生成を要求すると、サーバコンピュータ１００が携帯電話３００から送信されたアニメーション生成要求データに基づいてアニメーションを生成し、生成されたアニメーションが携帯電話３００の画面に表示されるものとする。
【００３８】
次に、図２に、サーバコンピュータ１００の具体例として、コンピュータシステムの制御ブロックを示す。
【００３９】
図２を参照して、コンピュータシステムは、ＦＤ（Ｆｌｅｘｉｂｌｅ　Ｄｉｓｋ）駆動装置１０６およびＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ−Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）駆動装置１０８を備えたコンピュータ１０２と、モニタ１０４と、キーボード１１０と、マウス１１２とを含む。ＦＤ駆動装置１０６にはＦＤ１１６が装着される。ＣＤ−ＲＯＭ駆動装置１０８にはＣＤ−ＲＯＭ１１８が装着される。
【００４０】
さらに、コンピュータ１０２は、上述したＦＤ駆動装置１０６およびＣＤ−ＲＯＭ駆動装置１０８に加えて、相互でバスに接続されたＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１２０と、メモリ１２２と、固定ディスク１２４と、通信インタフェース１２６とを含む。
【００４１】
このサーバコンピュータ１００における処理は、コンピュータハードウェアとＣＰＵ１２０により実行されるソフトウェアとにより実行される。一般的にこうしたソフトウェアは、ＦＤ１１６、ＣＤ−ＲＯＭ１１８などの記憶媒体に格納されて流通し、ＦＤ駆動装置１０６またはＣＤ−ＲＯＭ駆動装置１０８などにより記憶媒体から読取られて固定ディスク１２４に一旦格納される。さらに固定ディスク１２４からメモリ１２２に読出されて、ＣＰＵ１２０により実行される。図２に示したコンピュータのハードウェア自体は一般的なものである。したがって、本発明の最も本質的な部分は、ＦＤ１１６、ＣＤ−ＲＯＭ１１８、固定ディスク１２４などの記憶媒体に記録されたソフトウェアである。なお、図２に示したコンピュータ自体の動作は周知であるので、ここではその詳細な説明は省略する。
【００４２】
図１に示したクライアントコンピュータ２００の制御ブロックも、図２に示したサーバコンピュータ１００を実現するコンピュータシステムと同じである。それらの機能も同じである。したがって、クライアントコンピュータ２００の制御ブロックに関する詳細な説明はここでは繰返さない。クライアントコンピュータ２００の制御ブロックの参照符号は、図２の括弧内に示される。
【００４３】
次に、図３に、携帯電話３００の具体例として制御ブロックを示す。
図３を参照して、本実施の形態における携帯電話３００は、ユーザとのインタフェースである入出力部３４０と、この携帯電話３００の全体を制御する制御部３２０と、サーバコンピュータ１００やクライアントコンピュータ２００などのネットワーク５００に接続されたコンピュータと通信するための通信部３１０と、制御部３２０において実行されるプログラムや、そのプログラムの中間データおよび他のコンピュータから受信したアニメーション等を記憶する記憶部３３０とを含む。
【００４４】
さらに上述の入出力部３４０は、「１」、「２」などの数字ボタンおよび「Ｒ」、「Ｌ」などの方向ボタンなどを含む操作部３４２と、ユーザに情報を表示するＬＣＤ（Ｌｉｑｕｉｄ　Ｃｒｙｓｔａｌ　Ｄｉｓｐｌａｙ）からなる表示部３４４と、音声を入力するマイクからなる音声入力部３４６と、音声を出力するスピーカからなる音声出力部３４８とを含む。
【００４５】
本実施の形態の携帯電話３００において、ユーザがネットワーク５００に接続されたサーバコンピュータ１００からアニメーションをダウンロードして、表示部３４４にアニメーションを表示する処理は、携帯電話３００のハードウェア、制御部３２０により実行されるソフトウェアおよび記憶部に記憶されたアニメーションにより実現される。図３に示した携帯電話３００のハードウェア自体は一般的なものであって、本発明の最も本質的な部分は、記憶部３３０などに記録されるソフトウェアおよびアニメーションである。なお、図３に示した携帯電話自体の動作も周知であるので、ここではその詳細な説明は省略する。
【００４６】
次に、図１に示されるアニメーション生成データベース４００について説明する。アニメーション生成データベース４００は、独立した装置である場合には、一般的なパーソナルコンピュータ等から構成されるサーバ装置であって、その構成についてここでの詳細な説明は行なわない。また、アニメーション生成データベース４００がサーバコンピュータ１００に含まれる場合には、図２に示されるメモリ１２２あるいは固定ディスク１２４に記憶される。
【００４７】
本実施の形態のアニメーション生成システムにおいては、システムに含まれるアニメーション生成データベース４００にアニメーション生成のための中間データとなるアニメーション生成データを記憶し、アニメーション生成データを用いてアニメーションを生成することを特徴とする。図４に、アニメーション生成データベース４００に記憶されるアニメーション生成データ１４００の具体例を示す。
【００４８】
図４を参照して、本実施の形態におけるアニメーション生成データ１４００は、キーフレームデータ１４２０、動き定義データ１４４０、音楽データ１４６０および画像データ１４８０とを含むデータであることを特徴とする。なお音楽データ１４６０、画像データ１４８０は必ずしも存在する必要はない。
【００４９】
以下、図４を参照しつつアニメーション生成データ１４００に含まれる各構成要素について説明する。
【００５０】
［キーフレームデータ］
図４を参照して、アニメーション生成データ１４００に含まれるキーフレームデータ１４２０には、アニメーションを構成するキーフレームデータが１以上複数枚格納されている。キーフレームとは、アニメーションの時系列に関する構成要素を示し、コマの連続であるアニメーションのある時刻ｔにおける１コマの画像を指す。
【００５１】
各キーフレームデータは番号付けされており、各キーフレームに含まれる図形オブジェクトの数は全てのキーフレームにおいて同様とする。また、各キーフレームにおいて対応する図形オブジェクトは、予め同じ数の制御点により構成されているものとする。
【００５２】
具体的には、キーフレーム１番を構成する図形のうち顔の輪郭に対応する図形１４２１と、キーフレーム５番を構成する図形のうち顔の輪郭に対応する図形１４２３とは、形状は違うが同じ数の制御点により構成されており、同様にキーフレーム１番を構成する図形のうち口に対応する図形１４２２と、キーフレーム５番を構成する図形のうち口に対応する図形１４２４とは、形状は違うが同じ数の制御点により構成されている。
【００５３】
図５および図６を用いて、上記同じ数の制御点により構成される図形について説明する。図５は、キーフレーム３０００を表わし、図６はキーフレーム３５００を表わす。
【００５４】
図５および図６を参照して、キーフレーム３０００，３５００は、それぞれ４つの図形により構成される。そのうち図形３１００と図形３６００とが対応し、図形３２００と図形３７００とが対応している。また図形３１００を構成する８つの制御点（３１０１，３１０２，３１０３，３１０４，３１０５，３１０６，３１０７，３１０８）と、図形３６００を構成する８つの制御点（３６０１，３６０２，３６０３，３６０４，３６０５，３６０６，３６０７，３６０８）とが対応し、図形３２００を構成する４つの制御点（３２０１，３２０２，３２０３，３２０４）と、図形３７００を構成する４つの制御点（３７０１，３７０２，３７０３，３７０４）とが対応している。さらに、他の図形も同様に同じ数の制御点数により構成されているものとする。
【００５５】
また、キーフレームに含まれる各図形には、データ上の識別子が付加される。これにより、対応（リンク）すべき図形を一意に特定することが可能である。
【００５６】
例えば、図５に示すキーフレーム３０００に含まれる図形３１００には、識別子「０１」（３３０１）が付加されており、同様に図６に示すキーフレーム３５００に含まれる図形３６００には識別子「０１」（３８０１）が付加されている。このため、同一の識別子「０１」が付加された図形が対応付けられることが特定できる。さらに、他の図形に関しても同様に識別子が付加されているものとする。なお、識別子はデータ上に存在するのみで、アニメーションの表示に影響するものではない。
【００５７】
アニメーション生成システムにおいて上述の構造のキーフレームを用いることで、任意の２つのキーフレームを選択したとき、それら２つのキーフレームの各々に含まれる図形が容易に対応付けてリンクすることができる。そのため、選択された２つのキーフレームに含まれる図形が変化する際の、中間画像を表示するアニメーションを容易に生成することができる。
【００５８】
［動き定義データ］
図４を参照して、アニメーション生成データ１４００に含まれる動き定義データ１４４０は、動きの識別子と、その動きを表わすためのキーフレームとその順を示すキーフレームの系列とを含み、アニメーションの各種の動きを定義する。
【００５９】
具体的には、図４を参照して、動き定義データ１４４１は、識別子「普通」とキーフレームの系列「１（１００）」とで動き「普通」を定義する。本実施の形態のアニメーション生成システムにおいて、図４に示される動き定義データ１４４１は、「「普通」のアニメーションではキーフレーム１番を１００％用いる」ことを意味するものとする。このとき、本実施の形態のアニメーション生成システムに対して、生成するアニメーションで表現する動きが上述の動き定義データ１４４１で設定されると、アニメーション生成システムにおいては、キーフレーム１番を与えられた時間の内の１００％を用いて表示するアニメーションを生成することになる。すなわち、この場合、動きが複数のキーフレームにより表現されないため、静止したアニメーションとなる。
【００６０】
また、動き定義データ１４４２は、識別子「笑い」とキーフレームの系列「１（５０），２（５０）」とで１つの動き「笑い」を定義する。図４に示される動き定義データ１４４２は、「「笑い」のアニメーションではキーフレーム１番を５０％、次に、キーフレーム２番を５０％用いる」ことを意味するものとする。このとき、本実施の形態のアニメーション生成システムに対して、生成するアニメーションで表現する動きが上述の動き定義データ１４４２で設定されると、アニメーション生成システムにおいては、キーフレーム１番を与えられた時間の内の５０％を用いて表示し、次に、キーフレーム２番を与えられた時間の内の残りの５０％を用いて表示するするアニメーションを生成することになる。
【００６１】
［音楽データ］
音楽データ１４６０は、生成されるアニメーションにおける任意のタイミングで再生されるように設定されることが可能である。なお、音楽データは必ずしも生成されるアニメーションに存在する必要はなく、また存在する場合の個数に制限はない。
【００６２】
［画像データ］
画像データ１４８０は、生成されるアニメーションにおける任意のタイミングで表示されるように設定されることが可能である。なお、画像データは必ずしも生成されるアニメーションに存在する必要はなく、また存在する場合の個数に制限はない。
【００６３】
次に、アニメーション生成データの別の形態として、文字の表現に対応したアニメーション生成データについて説明する。
【００６４】
図７は、文字の表現に対応したアニメーション生成データ１５００の具体例を示す図である。
【００６５】
図７を参照して、文字の表現に対応したアニメーション生成データ１５００は、動き定義データ１５２０と、複数の文字データ（１５４０、１５６０、１５８０、以下続く）とを含むデータである。さらに、１つの文字データ１５４０には、文字コード１５４１と、キーフレームデータ１５４２と、音楽データ１５４３と、画像データ１５４４とが含まれる。
【００６６】
同様に、以下に、図７を参照しつつアニメーション生成データ１５００に含まれる各構成要素について説明する。
【００６７】
［動き定義データ］
アニメーション生成データ１５００に含まれる動き定義データ１５２０は、一般のアニメーション生成データ１４００における動き定義データ１４４０と同様の構成であるため、ここでの詳細な説明は繰返さない。
【００６８】
［文字データ］
文字データ１５４０は、文字を識別する文字コードごとに１セット用意されるため、アニメーション生成データ１５００全体では、そのデータで扱うことのできる文字数分の文字データを含む。
【００６９】
図７を参照して、文字データ１５４０は、その文字データがどの文字に対応するのかを表わす文字コード１５４１、文字の変化した各状態を表現するキーフレームデータ１５４２、音楽データ１５４３、および画像データ１５４４により構成される。
【００７０】
キーフレームデータ１５４２、音楽データ１５４３、および画像データ１５４４は、一般のアニメーション生成データ１４００に含まれるものと同様であるため、詳細な説明は繰返さない。ただし、図７においては、音楽データ１５４３および画像データ１５４４が文字コードごとに存在するものとして示しているが、これらは文字コードごとには存在せず、アニメーション生成データ１５００の１つに対して１つずつ存在してもよい。さらに、音楽データ１５４３および画像データ１５４４が文字コードごとに存在し、かつアニメーション生成データ１５００の１つに対して１つずつ存在するという形をとってもよい。
【００７１】
なお、本実施の形態においては、アニメーション生成データにキーフレームデータが含まれるものとするが、キーフレームデータが含まれていなくても構わない。この場合、アニメーション生成データベース４００、あるいは他の記憶装置にキーフレームデータが別に格納されており、必要に応じて格納されたキーフレームデータを読出す方式であっても構わない。また、上述の音楽データや画像データも同様である。
【００７２】
上述のようなアニメーション生成データ１４００あるいはアニメーション生成データ１５００は、以下に述べるアニメーション生成処理において用いられるデータである。
【００７３】
次に、サーバコンピュータ１００と携帯電話３００とを用いたアニメーション生成サービスについて説明する。
【００７４】
本サービスでは、ユーザは携帯電話３００のウェブブラウザに表示されたウェブページからキャラクタの表情を選択し、メッセージを入力してその動きを指定すると、それに対応したアニメーションがサーバコンピュータ１００で生成され、ユーザの携帯電話３００に表示されるという形式をとる。
【００７５】
図８は、携帯電話３００の表示部３４４に表示されたウェブページの具体例を示す図である。ウェブページのデータ自体はサーバコンピュータ１００に保持されている。携帯電話３００からアニメーション作成の指示を受信することで、サーバコンピュータ１００から携帯電話３００にウェブページのデータが送信され表示される。
【００７６】
図８を参照して、ウェブページ上には、キャラクタの表情を選択するセレクションボックス１６０１と、メッセージを入力するテキストボックス１６０２と、メッセージの動きを選択するセレクションボックス１６０３とが表示される。
【００７７】
さらに、セレクションボックス１６０１には選択肢１６０５が含まれ、図８においては、キャラクタの表情として「大笑い」が選択されている。
【００７８】
また、図８においては、テキストボックス１６０２に「なんやそれ〜」と入力されている。
【００７９】
また、メッセージの動きを選択するセレクションボックス１６０３には選択肢１６０６が含まれ、図８においては、メッセージの動きとして「太字」が選択されている。
【００８０】
そして、図８に示されるウェブページにおいて「アニメ生成」ボタン１６０４が押下されると、セレクションボックス１６０１、テキストボックス１６０２、およびセレクションボックス１６０３に入力された情報が、携帯電話３００から携帯電話基地局３５０、携帯電話網６００、およびネットワーク５００を介して、サーバコンピュータ１００に送信される。サーバコンピュータ１００では、その情報に基づいて、アニメーションを生成する。
【００８１】
図９は、図８の「アニメ生成」ボタン１６０４が押下された後に、携帯電話３００の表示部３４４に表示されるアニメーション１７０１の具体例を示す図である。
【００８２】
図９を参照して、「アニメ生成」ボタン１６０４が押下された後に、携帯電話３００の表示部３４４には、サーバコンピュータ１００において生成されたアニメーションが画面１７０１に表示される。ここで表示されているアニメーションは「大笑い」するキャラクタと、「太字」になる動きを持った「なんやそれ〜」という文字列とにより構成されている。
【００８３】
次に、図１０を用いて、生成されたアニメーションの表示における時間的変化を簡単に説明する。図１０は、生成されたアニメーションの表示における時間的変化の具体例を示す図であって、画面１８０１〜１８０６は、携帯電話３００の表示部３４４に表示されたアニメーションの、時間的変化を表わしている。本来、アニメーションは時間の変化に伴なって滑らかに変化するものであるが、紙面での表現は困難であるため、ある特定の時間における表示を切出して説明する。
【００８４】
図１０を参照して、画面１８０１では、上部にキャラクタが表示され、下部には「なんやそれ〜」の文字列が右側から左側に向かって進んでいる。上部のキャラクタは画面１８０１，１８０２，１８０３と、時間を経るにしたがって笑った表情に徐々に変化してゆき、画面１８０４，１８０５，１８０６においても同様に繰返される。
【００８５】
下部の文字列は、時間を経るにしたがってだんだん太くなりながら左に移動してゆき、画面１８０４以降、徐々に細くなりながら、最終的に画面左側に消えてゆく。
【００８６】
次に、フローチャートを用いて、第１の実施の形態におけるアニメーション生成処理について説明する。
【００８７】
図１１は、サーバコンピュータ１００において実行されるアニメーション生成処理の流れを表わすフローチャートである。図１１に示される処理は、サーバコンピュータ１００のＣＰＵ１２０が、プログラムを固定ディスク１２４からメモリ１２２に読出して実行することによって実現される。
【００８８】
図１１を参照して、ステップＳ１９０１では、クライアント（クライアントコンピュータ２００または携帯電話３００）からのアニメーション生成のリクエストが有るかどうかを判定する。なお、ここでは、クライアントが携帯電話３００であるものとして説明を進める。
【００８９】
携帯電話３００よりリクエストがある場合は（Ｓ１９０１でＹＥＳ）、ステップＳ１９０２に進み、リクエストがない場合は（Ｓ１９０１でＮＯ）、ステップＳ１９０１を繰返す。ここでのリクエストは、上述の携帯電話３００の表示部３４４に表示されたウェブページにおいて、セレクションボックス１６０１、テキストボックス１６０２、およびセレクションボックス１６０３にアニメーションの生成要求のための情報が入力され、「アニメ生成」ボタン１６０４が押下されることによって、携帯電話３００からサーバコンピュータ１００に送信される。
【００９０】
次に、ステップＳ１９０２では、クライアントより送られてきたリクエストより、アニメーションを生成するためのパラメータを取得する。
【００９１】
次に、ステップＳ１９０３では、ステップＳ１９０２で取得したパラメータに基づいて、アニメーション生成コマンドを作成する。ここでのアニメーション生成コマンドの作成処理については、後にサブルーチンを挙げて説明を行なう。
【００９２】
次に、ステップＳ１９０４では、ステップＳ１９０３で作成されたアニメーション生成コマンドを起動して、アニメーションを生成する。ここでのアニメーション生成処理についても、後にサブルーチンを挙げて説明を行なう。
【００９３】
そして、ステップＳ１９０５において、ステップＳ１９０２で取得した全てのパラメータについて処理を行なったか否かを判定し、全て処理していれば（Ｓ１９０５でＹＥＳ）、ステップＳ１９０６へ進み、処理していないものがあれば（Ｓ１９０５でＮＯ）、ステップＳ１９０３，Ｓ１９０４の処理を繰返す。
【００９４】
次に、ステップＳ１９０６では、ステップＳ１９０４において生成されたアニメーションを合成して１つのアニメーションとし、ステップＳ１９０７に進む。なお、アニメーションの合成方法としては様々な方法が提案されており（特許文献２参照）、ここでは提案されている一般的な合成方法のいずれを用いてなされても構わない。
【００９５】
次に、ステップＳ１９０７では、ステップＳ１９０６において作成された結果のアニメーションをクライアントである携帯電話３００に送信する。
【００９６】
そして、ステップＳ１９０７での送信が終了すると、ステップＳ１９０１に戻り、次のリクエストを待つ。
【００９７】
以上が、サーバコンピュータ１００で行なわれる処理の大まかな流れである。上述の処理が本実施の形態におけるサーバコンピュータ１００で行なわれることで、図１０に具体例が示されるアニメーションが生成され、クライアントである携帯電話３００において表示される。
【００９８】
次に、図１２に、上述のクライアントから送られるリクエストの具体例を示し説明する。
【００９９】
携帯電話３００の表示部３４４に表示されたウェブページにおいて、図８に示すようにアニメーション作成のリクエストを入力し、「アニメ生成」ボタン１６０４を押下すると、クライアントである携帯電話３００からは、図１２に示すリクエストがサーバコンピュータ１００に対して送信される。
【０１００】
図１２を参照して、クライアントより送信されるアニメーションを生成するためのリクエストには、「キャラクタアニメについて」のパラメータと、「文字アニメについて」のパラメータとが含まれる。これは、図８に示すウェブページにおいてキャラクタの表情の選択と、メッセージの入力とがなされたからである。
【０１０１】
さらに図１２を参照して、「キャラクタアニメについて」のパラメータには、アニメーションの生成に利用するファイル名と、アニメーションの動きと、アニメーションの時間と、アニメーションの繰返し回数とを指定するパラメータが含まれる。具体的に図１２示される例では、アニメーションの生成に利用するファイルがｋａｏ．ｎｖｆ、アニメーションの動きが”大笑い”、アニメーションの再生時間が”５０００ｍｓ”、アニメーションの繰返し回数が２回と指定されている。
【０１０２】
また、図１２を参照して、「文字アニメについて」のパラメータには、アニメーションの生成に利用するファイル名と、アニメーションの動きと、アニメーションにする文字列と、アニメーションの時間と、アニメーションの繰返し回数とを指定するパラメータが含まれる。具体的に図１２示される例では、アニメーションの生成に利用するファイルがｆｏｎｔ．ｎｖｆ、アニメーションの動きが”太字”、アニメーションにする文字列が”なんやそれ〜”、アニメーションの再生時間が”５０００ｍｓ”、アニメーションの往復回数が２回と指定されている。
【０１０３】
これらのパラメータのうち、「キャラクタアニメについて」のアニメーションの動きは、図８に示されるセレクションボックス１６０３で選択肢１６０５から任意の動き（ここでは「大笑い」）が選択されることで設定される。また、「文字アニメについて」のアニメーションの動きは、図８に示されるセレクションボックス１６０３で選択肢１６０６から任意の動き（ここでは「太字」）が選択されることで設定される。また、「文字アニメについて」のアニメーションにする文字列は、図８に示されるテキストボックス１６０２に入力されることで設定される。
【０１０４】
なお、アニメーションの生成に利用するファイル名は、図４あるいは図７に示すアニメーション生成データ１４００あるいはアニメーション生成データ１５００のファイルを指すパラメータであって、図８に示されるウェブページでユーザから指定されるものではなく、予め設定されているパラメータである。もちろん、ウェブページにおいてアニメーション生成データベースに記憶されているアニメーション生成データの一覧を表示して、ユーザからアニメーション生成に用いるアニメーション生成データの選択を受付けても構わない。
【０１０５】
また、アニメーションの再生時間や、アニメーションの繰返し回数や、アニメーションの往復回数もまた、予め設定されているパラメータである。いうまでもなく、図８には示されないセレクションボックスで選択されることで設定されてもよいし、携帯電話３００に固有の値が自動的に設定されてもよい。
【０１０６】
上述のステップＳ１９０１で、図１２に示されるようなパラメータを含むリクエストを受信すると、サーバコンピュータ１００は、リクエストに含まれるパラメータを取得して解析し、ステップＳ１９０３においてアニメーション生成コマンドを作成する。
【０１０７】
次に、図１３に示すフローチャートを用いて、上述の図１１のステップＳ１９０３で実行される、アニメーション生成コマンドｍａｋｅａｎｉｍｅの作成処理について説明する。
【０１０８】
図１３を参照して、始めにステップＳ２１０１で、パラメータの中に、アニメーション生成データを指定するパラメータが含まれるか否かを判定し、含まれる場合には（Ｓ２１０１でＹＥＳ）、ステップＳ２１０３において、そのパラメータを用いて−ｆｉｌｅ引数を設定する。
【０１０９】
次に、ステップＳ２１０５において、パラメータの中に、アニメーションの動きを指定するパラメータが含まれるか否かを判定し、含まれる場合には（Ｓ２１０５でＹＥＳ）、ステップＳ２１０７において、そのパラメータを用いて−ｍｏｔｉｏｎ引数を設定する。
【０１１０】
次に、ステップＳ２１０９において、パラメータの中に、文字列を指定するパラメータが含まれるか否かを判定し、含まれる場合には（Ｓ２１０９でＹＥＳ）、このアニメーションは文字を表現するアニメーションであるとして、ステップＳ２１１１において、そのパラメータを用いて−ｓｔｒｉｎｇ引数を設定する。含まれない場合には（Ｓ２１０９でＮＯ）、このアニメーションはキャラクタを表現するアニメーションであるとして、ステップＳ１１１１における−ｓｔｒｉｎｇ引数の設定を行なわず、ステップＳ２１１３へ処理を進める。
【０１１１】
次に、ステップＳ２１１３において、パラメータの中に、アニメーションの再生時間を指定するパラメータが含まれるか否かを判定し、含まれる場合には（Ｓ２１１３でＹＥＳ）、ステップＳ２１１５において、そのパラメータを用いて−ｔｉｍｅ引数を設定する。
【０１１２】
次に、ステップＳ２１１７において、パラメータの中に、アニメーション再生の繰返しを指定するパラメータが含まれるか否かを判定し、含まれる場合には（Ｓ２１１７でＹＥＳ）、このアニメーションは再生を繰返すアニメーションであるとして、ステップＳ２１１９において、そのパラメータを用いて−ｌｏｏｐ引数を設定する。含まれない場合には（Ｓ２１１７でＮＯ）、このアニメーションは繰返し再生しないアニメーションであるとして、ステップＳ１１１９における−ｌｏｏｐ引数の設定を行なわず、ステップＳ２１２１へ処理を進める。
【０１１３】
次に、ステップＳ２１２１において、パラメータの中に、アニメーション再生の往復を指定するパラメータが含まれるか否かを判定し、含まれる場合には（Ｓ２１２１でＹＥＳ）、このアニメーションは往復して再生するアニメーションであるとして、ステップＳ２１２３において、そのパラメータを用いて−ｒｏｕｎｄｔｒｉｐ引数を設定する。含まれない場合には（Ｓ２１２１でＮＯ）、このアニメーションは往復して再生しないアニメーションであるとして、ステップＳ１１２３における−ｒｏｕｎｄｔｒｉｐ引数の設定を行なわず、処理を終了する。
【０１１４】
また、ステップＳ２１０１において、取得したパラメータの中に、アニメーション生成データを指定するパラメータが含まれない場合（Ｓ２１０１でＮＯ）、あるいは、ステップＳ２１０５において、アニメーションの動きを指定するパラメータが含まれない場合（Ｓ２１０５でＮＯ）、あるいは、ステップＳ２１１３において、アニメーションの再生時間を指定するパラメータが含まれない場合（Ｓ２１１３でＮＯ）、ステップＳ２１２５においてエラーを出力して処理を終了する。
【０１１５】
本実施の形態においては、図１２に示されるパラメータをクライアントより取得した場合、上述のアニメーション生成コマンド作成処理を実行することで、図１４に示すアニメーション生成コマンドと図１５に示すアニメーション生成コマンドとが作成される。
【０１１６】
すなわち、図１２に示すリクエストにおいては、キャラクタアニメと文字アニメとについてのアニメーションの生成がリクエストされているため、上述のアニメーション生成コマンドの作成処理は２回行なわれることになる。
【０１１７】
図１４は、図１２に示されるのパラメータのうち、「キャラクタアニメについて」のパラメータを処理する際に実行されるアニメーション生成コマンドの具体例を示す図である。
【０１１８】
図１４において、「キャラクタアニメについて」のパラメータを処理する際に実行されるアニメーション生成コマンドとして、「ｍａｋｅａｎｉｍｅ　−ｆｉｌｅ　ｋａｏ．ｎｖｆ　−ｍｏｔｉｏｎ”大笑い”−ｔｉｍｅ　５０００　−ｌｏｏｐ　２」が示される。これは、「ｍａｋｅａｎｉｍｅというコマンドを以下の引数を与えて実行すること。その引数とは、アニメーションの生成に利用するファイルにはアニメーション生成データｋａｏ．ｎｖｆを使うことを指定する−ｆｉｌｅ　ｋａｏ．ｎｖｆと、アニメーションの動きが”大笑い”であることを指定する−ｍｏｔｉｏｎ”大笑い”と、アニメーションの時間が５０００ｍｓであることを指定する−ｔｉｍｅ　５０００と、アニメーションの繰返し回数が２回であることを指定する−ｌｏｏｐ　２とである。」をサーバコンピュータ１００のＣＰＵ１２０に演算させるコマンドである。
【０１１９】
また、図１５は、図１２に示されるのパラメータのうち、「文字アニメについて」のパラメータを処理する際に実行されるアニメーション生成コマンドの具体例を示す図である。
【０１２０】
図１５において、「文字アニメについて」のパラメータを処理する際に実行されるアニメーション生成コマンドとして、「ｍａｋｅａｎｉｍｅ　−ｆｉｌｅ　ｆｏｎｔ．ｎｖｆ　−ｍｏｔｉｏｎ”太字”−ｓｔｒｉｎｇ”なんやそれ〜”−ｔｉｍｅ　５０００　−ｒｏｕｎｄｔｒｉｐ　２」が示される。これは、「ｍａｋｅａｎｉｍｅというコマンドを以下の引数を与えて実行すること。その引数とは、アニメーションの生成に利用するファイルにはアニメーション生成データｆｏｎｔ．ｎｖｆを使うことを指定する−ｆｉｌｅ　ｋａｏ．ｎｖｆと、アニメーションの動きが”太字”であることを指定する−ｍｏｔｉｏｎ”太字”と、アニメーションにする文字列が”なんやそれ〜”であることを指定する−ｓｔｒｉｎｇ”なんやそれ〜”と、アニメーションの時間が５０００ｍｓであることを指定する−ｔｉｍｅ　５０００と、アニメーションの往復回数が２回であることを指定する−ｒｏｕｎｄｔｒｉｐ　２とである。」をサーバコンピュータ１００のＣＰＵ１２０に演算させるコマンドである。
【０１２１】
次に、サーバコンピュータ１００では、作成されたアニメーション生成コマンドを起動させ、図１１のステップＳ１９０４に示されるアニメーション生成処理を実行する。図１６および図１７に示すフローチャートを用いて、上述の図１１のステップＳ１９０４で、アニメーション生成コマンドｍａｋｅａｎｉｍｅを実行することによってアニメーションを生成するアニメーション生成処理について説明する。
【０１２２】
まず、図１６を参照して、始めにステップＳ２３００で、上述の処理で作成したアニメーション生成コマンドｍａｋｅａｎｉｍｅを起動する。ここでは、図１４あるいは図１５に具体例が示されるアニメーション生成コマンドが起動される。
【０１２３】
次に、ステップＳ２３０１において、起動されたアニメーション生成コマンドに−ｆｉｌｅ引数があり、かつアニメーション生成データベース４００に−ｆｉｌｅ引数で指定されたアニメーション生成データが保持されているか否かを判定する。−ｆｉｌｅ引数とそこで指定されたアニメーション生成データとがあれば（Ｓ２３０１でＹＥＳ）、ステップＳ２３０２へ進み、なければ（Ｓ２３０１でＮＯ）、図１７に示すステップＳ２３１３へ進んでエラーを出力して、処理を終了する。
【０１２４】
ここで−ｆｉｌｅ引数で指定されるアニメーション生成データは、図４あるいは図７に具体例が示されるアニメーション生成データであって、アニメーション生成データベース４００に限定されず、その他サーバコンピュータ１００において保持されていてもよいし、等ネットワークに接続されたアクセス可能な他の装置に保持されていてもよい。
【０１２５】
次に、ステップＳ２３０２では、起動されたアニメーション生成コマンドに−ｍｏｔｉｏｎ引数とそこで指定される動きとがあるかどうかを判定する。−ｍｏｔｉｏｎ引数とそこで指定される動きとがある場合には（Ｓ２３０２でＹＥＳ）、ステップＳ２３０３に進み、なければ（Ｓ２３０２でＮＯ）、図１７に示すステップＳ２３１３へ進んでエラーを出力して、処理を終了する。
【０１２６】
次に、ステップＳ２３０３では、起動されたアニメーション生成コマンドに−ｓｔｒｉｎｇ引数が存在するか判定し、存在しない場合は（Ｓ２３０３でＮＯ）ステップＳ２３０４に進む。存在する場合は（Ｓ２３０３でＹＥＳ）ステップＳ２３０５に進む。
【０１２７】
ステップＳ２３０４では、上述の−ｆｉｌｅ引数で指定されたアニメーション生成データより、動きを構成するキーフレームを全て取得し、取得したキーフレームに含まれる各々の図形を対応付けてリンクする。この処理が終了するとステップＳ２３０７に進む。
【０１２８】
具体的には、上述の−ｆｉｌｅ引数で指定されたアニメーション生成データが図４に示されるアニメーション生成データ１４００であって、上述の−ｍｏｔｉｏｎ引数で指定される動きが”大笑い”である場合について、図１８を用いて説明する。図１８は、アニメーション生成コマンドの動作を模式的に示す図である。
【０１２９】
動き”大笑い”に対応するキーフレームの系列は、図４に示される動き定義データ１４４０を参照して”１，２，６”であるので、図１８に示されるアニメーション生成処理のステップＳ２３０４（２４０１）では、−ｆｉｌｅ引数および−ｍｏｔｉｏｎ引数を参照して、図４に示されるアニメーション生成データ１４００からキーフレーム１，２，６に対応したキーフレームデータを取得して、取得したキーフレームデータを接続する。このことによって、各キーフレームに含まれる図形は、それぞれ対応付けられてリンクされる。
【０１３０】
次に、上述のステップＳ２３０３において、起動されたアニメーション生成コマンドに−ｓｔｒｉｎｇ引数がある場合は（Ｓ２３０３でＹＥＳ）、ステップＳ２３０５において、−ｓｔｒｉｎｇ引数で指定された文字列から当該文字列を構成する文字を抽出し、抽出された各文字に該当する文字コードが、上述の−ｆｉｌｅで指定されたアニメーション生成データに含まれるかどうかを判定する。−ｆｉｌｅで指定されたアニメーション生成データの中に全ての文字コードが含まれる場合は（Ｓ２３０５でＹＥＳ）、ステップＳ２３０６へ進み、１つでも含まれない場合は（Ｓ２３０５でＮＯ）、図１７に示すステップＳ２３１３へ進んでエラーを出力して、処理を終了する。
【０１３１】
具体的に、−ｓｔｒｉｎｇ引数で指定された文字列が「なんやそれ〜」である場合を、図１９を用いて説明する。図１９には、文字列「なんやそれ〜」を構成する各文字「な」「ん」「や」「そ」「れ」「〜」に対応する文字コードの具体例が示される。
【０１３２】
図１９に示される文字列「なんやそれ〜」を構成する各文字対応する文字コードの全てが、図７に示される文字の表現に対応したアニメーション生成データ１５００を構成する文字データ１５４０等に含まれる文字コード１５４１に含まれるのであれば、ステップＳ２３０５においては「ＹＥＳ」と判定される。また、１つの文字コードでも含まれないものがあれば、ステップＳ２３０５においては「ＮＯ」と判定される。
【０１３３】
次に、ステップＳ２３０６では、−ｆｉｌｅ引数で指定されたアニメーション生成データより、文字コードに対応したキーフレームを取得して連結する。そして、動きを構成するキーフレームが全て連結されると、キーフレームに含まれる各々の図形を対応付けてリンクする。この処理が終了するとステップＳ２３０７に進む。
【０１３４】
ステップＳ２３０６における処理の具体例として、−ｆｉｌｅ引数で指定されたアニメーション生成データが図７に示されるアニメーション生成データ１５００であって、上述の−ｍｏｔｉｏｎ引数で指定される動きが”太字”であって、上述の−ｓｔｒｉｎｇ引数で指定される文字列が「なんやそれ〜」であるについて、図２０を用いて説明する。図２０は、アニメーション生成コマンドの動作を模式的に示す図である。
【０１３５】
動き”太字”　に対応するキーフレームの系列は、図７の動き定義データ１５２０を参照して”１，３”であるので、図２０に示されるアニメーション生成処理のステップＳ２３０６（２６０１）では、−ｆｉｌｅ引数および−ｍｏｔｉｏｎ引数を参照して、図７に示されるアニメーション生成データ１５００の、文字列「なんやそれ〜」を構成する各文字の文字コードに対応した文字データのキーフレームデータより、まずキーフレーム１に対応するキーフレームデータを取得し、それぞれのキーフレームを連結して１つの文字列に対応するキーフレームとする。次に、キーフレーム３に対応するキーフレームデータを取得して、同様に連結し１つの文字列に対応するキーフレームとする。そして、取得したキーフレームデータを接続する。このことによって、各キーフレームに存在する図形は、それぞれ対応付けられてリンクされる。
【０１３６】
次に、ステップＳ２３０７では、起動されたアニメーション生成コマンドに−ｔｉｍｅ引数があるかどうかを判定し、ある場合は（Ｓ２３０７でＹＥＳ）、図１７を参照して、ステップＳ２３０８へ進む。ない場合は（Ｓ２３０７でＮＯ）、図１７に示すステップＳ２３１３へ進んでエラーを出力して、処理を終了する。
【０１３７】
次に、ステップＳ２３０８では、−ｔｉｍｅ引数で与えられた値に基づいて各キーフレームごとに割振られる時間を計算して取得された各キーフレームに設定する。この処理が終了するとステップＳ２３０９に進む。
【０１３８】
具体的には、図１８に示されるアニメーション生成処理のステップＳ２３０８（２４０２）では、−ｔｉｍｅ引数を参照して、時間が５０００ｍｓと設定されている場合、動き”大笑い”を構成するキーフレームの系列が　１（３０），２（３５），６（３５）であることから、１番目のキーフレーム１には５０００×０．３０＝１５００ｍｓ、２番目のキーフレーム２には５０００×０．３５＝１７５０ｍｓ、３番目のキーフレーム６には５０００×０．３５＝１７５０ｍｓがそれぞれ設定される。
【０１３９】
また他の具体例として、図２０に示されるアニメーション生成処理のステップＳ２３０８（２６０２）では、−ｔｉｍｅ引数を参照して、時間が５０００ｍｓと設定されている場合、動き”太字”を構成するキーフレームの系列が１（５０），３（５０）であることから、１番目のキーフレーム１には５０００×０．５０＝２５００ｍｓ、２番目のキーフレーム３には５０００×０．５０＝２５００ｍｓがそれぞれ設定される。
【０１４０】
次に、ステップＳ２３０９では、起動されたアニメーション生成コマンドに−ｌｏｏｐ引数があるかどうかを判定し、ある場合は（Ｓ２３０９でＹＥＳ）、ステップＳ２３１０へ進む。ない場合は（Ｓ２３０９でＮＯ）、ステップＳ２３１１に進む。
【０１４１】
ステップＳ２３１０では、−ｌｏｏｐ引数で与えられた値に基づいて、アニメーションに対して繰返しの設定を行なう。ここでは、−ｍｏｔｉｏｎ引数で指定される動作に対応したキーフレームの系列の、最後のキーフレームを、最初のキーフレームに接続してリンクすることで繰返しが設定される。なお、ここでは、最後のキーフレームを最初のキーフレームに接続せず、最後のキーフレームの次に最初のキーフレームを設定するのみであっても構わない。この処理が終了するとステップＳ２３１１に進む。
【０１４２】
具体的には、図１８に示されるアニメーション生成処理のステップＳ２３１０（２４０３）では、−ｌｏｏｐ引数を参照して、繰返し回数が２と設定されている場合、生成されるアニメーションに対して２回の繰返し再生が設定される。
【０１４３】
次に、ステップＳ２３１１では、起動されたアニメーション生成コマンドに−ｒｏｕｎｄｔｒｉｐ引数があるかどうかを判定し、ある場合は（Ｓ２３１１でＹＥＳ）、ステップＳ２３１２へ進む。ない場合は（Ｓ２３１１でＮＯ）、アニメーションの生成を完了する。
【０１４４】
ステップＳ２３１２では、−ｒｏｕｎｄｔｒｉｐ引数で与えられた値に基づいて、　アニメーションに対して往復の設定を行なう。ここでは、−ｍｏｔｉｏｎ引数で指定される動作に対応したキーフレームの系列の、最後のキーフレームの次に、キーフレームの系列に示されるキーフレームの順と逆順にキーフレームを接続してリンクすることで往復が設定される。なお、ここでは、最後のキーフレームを１つ前のキーフレームに接続せず、最後のキーフレームの次に１つ前のキーフレームを設定するのみであっても構わない。この処理が終了するとアニメーションの生成を完了する。
【０１４５】
具体的には、図２０に示されるアニメーション生成処理のステップＳ２３１２（２６０３）では、−ｒｏｕｎｄｔｒｉｐ引数を参照して、往復回数が２と設定されている場合、生成されるアニメーションに対して２回の往復再生（行き帰りをそれぞれ１回と数える）が設定される。
【０１４６】
以上で図１１のステップＳ１９０４に示されるアニメーション生成処理が終了し、図１１に示すメインルーチンへ処理を戻す。
【０１４７】
このような処理を実行することにより、サーバコンピュータ１００では、アニメーション生成データに基づいて、複数のキーフレームからなるアニメーションを効率的に生成することができる。
【０１４８】
なお、本実施の形態におけるアニメーション生成処理は、上述の如くサーバコンピュータ１００で行なわれてもよいし、またはクライアントコンピュータ２００において行なわれても構わない。さらには、携帯電話３００において上記のアニメーション生成処理が実行されても全く問題はない。
【０１４９】
［第２の実施の形態］
次に、本発明の第２の実施の形態におけるアニメーションデータ作成処理について説明する。本実施の形態においては、生成されるアニメーションデータに所定のタイミングで再生される音楽データや表示される画像データを埋込む処理を実行する。
【０１５０】
本実施の形態に係るハードウェア構造およびアニメーション作成データのデータ構造は、前述の第１の実施例の形態と同じであるため、詳細な説明は繰返さない。
【０１５１】
本実施の形態においても、アニメーション作成システムのサーバコンピュータ１００において、上述の図１１に示される処理と同様の処理が実行される。すなわち、本実施の形態においては、図１１のステップＳ１９０１において、音楽データの再生を伴なったアニメーション生成のリクエスト、あるいは画像データの再生を伴なったアニメーション生成のリクエストを受付ける。
【０１５２】
このようなアニメーション生成のリクエストは、図８に示されるウェブページにおいて、図示しない音楽再生のためのセレクションボックスあるいは画像再生のためのセレクションボックスにて所望する音楽あるいは画像の選択を受付けて、「アニメ生成」ボタン１６０４を押下することによって、クライアントである携帯電話３００からサーバコンピュータ１００に送信される。
【０１５３】
図２１に、本実施の形態におけるサーバコンピュータ１００で生成されるアニメーションの具体例を示す。本実施の形態のサーバコンピュータ１００において作成されたアニメーションはキーフレーム２７０１，２７０２，２７０３により構成され、キーフレーム２７０２が表示されると同時に音楽ファイル２７０４が再生され、キーフレーム２７０３が表示されると同時に画像ファイル２７０５が表示される。
【０１５４】
本実施の形態のサーバコンピュータ１００において図２１に示されるようなアニメーションを生成する場合の、図１１のステップＳ１９０３で実行されるアニメーション生成コマンドの作成処理について、図２２に示すフローチャートを用いて説明する。なお、図２２に示されるフローチャートは、本実施の形態における図１１のステップＳ１９０３で実行されるアニメーション生成コマンド作成処理についてのサブルーチンであって、図１３に示される第１の実施の形態におけるアニメーション生成コマンド作成処理の後に続けて実行される処理を示すフローチャートである。
【０１５５】
図２２を参照して、ステップＳ２５０１では、取得したパラメータの中に、アニメーションと共に再生される音楽を指定するパラメータが含まれるか否かを判定し、含まれる場合には（Ｓ２５０１でＹＥＳ）、ステップＳ２５０３において、そのパラメータを用いて−ｓｏｕｎｄ引数を設定する。含まれない場合には（Ｓ２５０１でＮＯ）、このアニメーションはアニメーションの再生と共に音楽を再生しないアニメーションであるとして、ステップＳ２５０３における−ｓｏｕｎｄ引数の設定を行なわず、ステップＳ２５０５へ処理を進める。
【０１５６】
ステップＳ２５０５では、取得したパラメータの中に、アニメーションと共に表示される画像を指定するパラメータが含まれるか否かを判定し、含まれる場合には（Ｓ２５０５でＹＥＳ）、ステップＳ２５０７において、そのパラメータを用いて−ｉｍａｇｅ引数を設定する。含まれない場合には（Ｓ２５０５でＮＯ）、このアニメーションはアニメーションの再生と共に画像を表示しないアニメーションであるとして、ステップＳ２５０７における−ｉｍａｇｅ引数の設定を行なわず、処理を終了する。
【０１５７】
本実施の形態におけるサーバコンピュータ１００で上述の処理が実行されることによって、図２３に示される引数を伴なったアニメーション生成コマンドが作成され、ステップＳ１９０４において実行される。
【０１５８】
図２３において、本実施の形態において実行されるアニメーション生成コマンドとして「ｍａｋｅａｎｉｍｅ　−ｆｉｌｅ　ｋａｏ．ｎｖｆ　−ｍｏｔｉｏｎ”大笑い”−ｔｉｍｅ　５０００　−ｌｏｏｐ　２　−ｓｏｕｎｄ　１　２　−ｉｍａｇｅ　２　３」が示される。これは、図１４に示されるアニメーション生成コマンドに対して「−ｓｏｕｎｄ　１　２　−ｉｍａｇｅ　２　３」が追加されたものであるので、ここでは図１４と同様の部分の説明を繰返さない。
【０１５９】
図２３に示されるアニメーション生成コマンドにおいて、「−ｓｏｕｎｄ　１２」は、１番目の音楽データを２番目のキーフレームに設定することをサーバコンピュータ１００のＣＰＵ１２０に演算させ、「−ｉｍａｇｅ　２　３」は、２番目の画像データを３番目のキーフレームに設定することをサーバコンピュータ１００のＣＰＵ１２０に演算させる。
【０１６０】
次に、サーバコンピュータ１００では、作成されたアニメーション生成コマンドを起動させ、図１１のステップＳ１９０４に示されるアニメーション生成処理を実行する。図２４に示すフローチャートを用いて、本実施の形態におけるアニメーション生成処理について説明する。なお、図２３に示されるフローチャートは、本実施の形態における図１１のステップＳ１９０４でのアニメーション生成処理についてのサブルーチンであって、図１７に示される第１の実施の形態におけるアニメーション生成処理の後に続けて実行される処理を示すフローチャートである。
【０１６１】
図２４を参照して、ステップＳ２７０１では、起動されたアニメーション生成コマンドに−ｓｏｕｎｄ引数があるかどうかを判定し、ある場合は（Ｓ２７０１でＹＥＳ）、ステップＳ２７０２へ進み、ない場合は（Ｓ２７０１でＮＯ）、ステップＳ２７０４へ進む。
【０１６２】
次に、ステップＳ２７０２では、−ｓｏｕｎｄ引数により指定された音楽ファイルおよびキーフレームが、上述の−ｆｉｌｅで指定されたアニメーション生成データに存在するかどうかを判定し、存在する場合は（Ｓ２７０２でＹＥＳ）、ステップＳ２７０３へ進み、存在しない場合は（Ｓ２７０２でＮＯ）、ステップＳ２７０７へ進みエラーを出力して処理を終了する。
【０１６３】
なお、−ｓｏｕｎｄ引数により指定される音楽ファイルは、図４に示されるアニメーション生成データ１４００における音楽データ１４６０のように、予めアニメーション作成データに含まれている音楽データであってもよいし、アニメーションを生成するサーバコンピュータ１００がアニメーション生成プログラムを実行することでアクセス可能なコンピュータ内もしくはネットワークで接続された別の場所に存在しても構わない。
【０１６４】
次に、ステップＳ２７０３では、生成されているアニメーションデータの、上述の−ｓｏｕｎｄ引数により指定されたキーフレームに指定された音楽データを埋込む。アニメーション生成コマンドが図２３に示されるアニメーション生成コマンドである場合には、２番目のキーフレーム２７０２に音楽データ２７０４を埋込む。
【０１６５】
次に、ステップＳ２７０４では、起動されたアニメーション生成コマンドに−ｉｍａｇｅ引数があるかどうかを判定し、ある場合は（Ｓ２７０４でＹＥＳ）、ステップＳ２７０５へ進み、ない場合は（Ｓ２７０４でＮＯ）、そのまま図２４に示される処理を終了して、図１６に示されるフローチャートへ処理を戻し、さらに図１１に示されるメインルーチンへ処理を戻して、ステップＳ１９０４におけるアニメーション生成処理を完了する。
【０１６６】
次に、ステップＳ２７０５では、−ｉｍａｇｅ引数により指定された画像ファイルおよびキーフレームが、上述の−ｆｉｌｅで指定されたアニメーション生成データに存在するかどうかを判定し、存在する場合は（Ｓ２７０５でＹＥＳ）、ステップＳ２７０６へ進み、存在しない場合は（Ｓ２７０５でＮＯ）、ステップＳ２７０７へ進みエラーを出力して処理を終了する。
【０１６７】
なお、−ｉｍａｇｅ引数により指定される画像ファイルは、図４に示されるアニメーション生成データ１４００における画像データ１４８０のように、予めアニメーション生成データに含まれている画像データであってもよいし、アニメーションを生成するサーバコンピュータ１００がアニメーション生成プログラムを実行することでアクセス可能なコンピュータ内もしくはネットワークで接続された別の場所に存在しても構わない。
【０１６８】
次に、ステップＳ２７０６では、生成されているアニメーションデータの、上述の−ｉｍａｇｅ引数により指定されたキーフレームに、指定された画像データを埋込む。アニメーション生成コマンドが図２３に示されるアニメーション生成コマンドである場合には、３番目のキーフレーム２７０３に音楽データ２７０５を埋込む。
【０１６９】
ステップＳ２７０６の処理が終了すると、図２４に示される処理を終了して、図１７に示されるフローチャートへ処理を戻し、さらに図１１に示されるメインルーチンへ処理を戻して、ステップＳ１９０４におけるアニメーション生成処理を完了する。
【０１７０】
以上の処理により、サーバコンピュータ１００では、アニメーション生成データを用いて、所定のタイミングで音楽が再生される、あるいは画像が表示されるアニメーションの生成が可能になる。
【０１７１】
なお、上述のアニメーション生成処理は、上述の如くサーバコンピュータ１００で行なわれてもよいし、またはクライアントコンピュータ２００において行なわれても構わない。さらには、携帯電話３００において上記のアニメーション生成処理が実行されても全く問題はない。
【０１７２】
［第３の実施の形態］
次に、本発明の第３の実施の形態におけるアニメーションデータ作成処理について説明する。本実施の形態においては、生成されるアニメーションの表示に同期して再生される音楽データや表示される画像データを埋込む処理を実行する。
【０１７３】
本実施の形態に係るハードウェア構造およびアニメーション作成データのデータ構造は、前述の第１の実施例の形態と同じであるため、詳細な説明は繰返さない。また、本実施の形態において生成されるアニメーションは、第２の実施の形態において生成されるアニメーションと同様であり、図２１に具体例を示す形式となるため、ここでの詳細な説明は繰返さない。
【０１７４】
本実施の形態では、図４に具体例を示すアニメーション生成データ１４００における動き定義データ１４４０に対応するキーフレームの系列に、予め、アニメーションの生成に利用する音楽データおよび画像データを含めておくことにより、サーバコンピュータ１００において、図２１に示す形式のアニメーションを生成することを特徴とする。すなわち、本実施の形態においては、図８に示されるウェブページにおいてアニメーションの動きを指定したアニメーション生成のリクエストを受付けることで、アニメーション生成データ１４００に含まれる動き定義データ１４４０を参照して、音楽データあるいは画像データが自動的にキーフレームに埋込まれる。
【０１７５】
ここで図４を参照して、動き定義データ１４４３は、識別子「大笑い（音画）」とキーフレームの系列「１（３０），２（３５）ｍ−１，６（３５）ｉ−２」とで１つの動き「大笑い（音画）」を定義する。この動き定義データ１４４３を用いてアニメーションを生成すると、前述の図２１に具体例が示されるアニメーションとなる。すなわち、キーフレームの系列「１（３０），２（３５）ｍ−１，６（３５）ｉ−２」とは、該アニメーションを生成するにあたって、キーフレーム１番と２番と６番とを接続してアニメーションを生成する際、キーフレーム２番にはｍ−１、すなわち音楽データの１番を同期させ、キーフレーム６番にはｉ−２、すなわち画像データの２番を同期させる演算をサーバコンピュータ１００のＣＰＵ１２０に実行させる。
【０１７６】
本実施の形態のサーバコンピュータ１００においては、取得したパラメータを解析して上述の動き定義データ１４４３を参照する場合、次のようなアニメーション生成コマンドの作成処理を実行する。
【０１７７】
すなわち、本実施の形態におけるサーバコンピュータ１００において、図１３のステップＳ２１０７までの処理を実行し、−ｍｏｔｉｏｎ引数を設定する。
【０１７８】
さらに、本実施の形態においては、取得したパラメータで指定された動きを構成するキーフレームの系列を解析し、図４の動き定義データ１４４３に示されるように、音楽データが指定されている場合には、動き定義データを参照して−ｓｏｕｎｄ引数を設定する。また、画像データが指定されている場合には、動き定義データを参照して−ｉｍａｇｅ引数を設定する。
【０１７９】
以降は、図１３のステップＳ２１０９〜Ｓ２１２５に示される処理と同様の処理を実行する。
【０１８０】
本実施の形態におけるサーバコンピュータ１００で上述の処理が実行されることによって、図２３に示される引数を伴なったアニメーション生成コマンドが作成され、ステップＳ１９０４において実行される。このことによって、アニメーション生成データに含まれる動き定義データを用いて音楽の再生または画像の表示と同期したアニメーションの生成を行なうことが可能となる。
【０１８１】
なお、図４の動き定義データ１４４３に示されるように−ｍｏｔｉｏｎ引数で指定された動き定義データに音楽データあるいは画像データが指定されている場合には、アニメーション生成コマンドにおいて、図２３に示すように−ｓｏｕｎｄ引数あるいは−ｉｍａｇｅ引数を明示的に指定することなく、系列情報の指定に従って、音楽または画像との同期が自動的に設定されてもよい。
【０１８２】
なお、上述のアニメーション生成処理もまた、上述の如くサーバコンピュータ１００で行なわれてもよいし、またはクライアントコンピュータ２００において行なわれても構わない。さらには、携帯電話３００において上述のアニメーション生成処理が実行されても全く問題はない。
【０１８３】
第１〜３の実施の形態に述べたように、本発明においては、動きの識別子とその動きを構成するためのキーフレームの系列とが定義されたアニメーション生成データを用いてアニメーション生成処理が実行されることによって、複数のキーフレームにより構成されるアニメーションを効率的に生成することが可能になる。
【０１８４】
なお、以上の実施の形態においては、本システムにおいてアニメーションを生成する場合について述べたが、アニメーションに限定されず、アニメーションを含む各種コンテンツであっても同様である。
【０１８５】
さらに、上述のアニメーション作成方法を、プログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ−Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）およびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０１８６】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０１８７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】第１の実施の形態におけるアニメーション生成システムの構成の具体例を示す図である。
【図２】サーバコンピュータ１００の制御ブロック図の具体例である。
【図３】携帯電話３００の制御ブロック図の具体例である。
【図４】アニメーション生成データベース４００に記憶されるアニメーション生成データ１４００の具体例を示す図である。
【図５】キーフレームに含まれる図形について説明するための図である。
【図６】キーフレームに含まれる図形について説明するための図である。
【図７】文字の表現に対応したアニメーション生成データ１５００の具体例を示す図である。
【図８】携帯電話３００の表示部３４４に表示されたウェブページの具体例を示す図である。
【図９】携帯電話３００の表示部３４４に表示されたアニメーションの具体例を示す図である。
【図１０】生成されたアニメーションの表示における時間的変化の具体例を示す図である。
【図１１】サーバコンピュータ１００において実行されるアニメーション生成処理を示すフローチャートである。
【図１２】携帯電話３００から送られてきたリクエストの具体例を示す図である。
【図１３】第１の実施の形態において、ステップＳ１９０３で実行されるアニメーション生成コマンドｍａｋｅａｎｉｍｅの作成処理を示すフローチャートである。
【図１４】第１の実施の形態において作成されるアニメーション生成コマンドの具体例を示す図である。
【図１５】第１の実施の形態において作成されるアニメーション生成コマンドの具体例を示す図である。
【図１６】第１の実施の形態において、ステップＳ１９０４で実行されるアニメーション生成処理を示すフローチャートである。
【図１７】第１の実施の形態において、ステップＳ１９０４で実行されるアニメーション生成処理を示すフローチャートである。
【図１８】アニメーション生成コマンドの動作を模式的に示す図である。
【図１９】文字とその文字コードとの対応の具体例を示す図である。
【図２０】アニメーション生成コマンドの動作を模式的に示す図である。
【図２１】第２の実施の形態におけるサーバコンピュータ１００で生成されるアニメーションの具体例を示す図である。
【図２２】第２の実施の形態において、ステップＳ１９０３で実行されるアニメーション生成コマンドｍａｋｅａｎｉｍｅの作成処理の一部を示すフローチャートである。
【図２３】第２の実施の形態において作成されるアニメーション生成コマンドの具体例を示す図である。
【図２４】第２の実施の形態において、ステップＳ１９０４で実行されるアニメーション生成処理を示すフローチャートである。
【符号の説明】
１００　サーバコンピュータ、１０２，２０２　コンピュータ、１０４，２０４　モニタ、１０６，２０６　ＦＤ駆動装置、１０８，２０８　ＣＤ−ＲＯＭ駆動装置、１１０，２１０　キーボード、１１２，２１２　マウス、１１６　フレキシブルディスク、１１８　ＣＤ−ＲＯＭ、１２０，２２０　ＣＰＵ、１２２，２２２　メモリ、１２４，２２４　固定ディスク、１２６，２２６　通信インタフェース、２００　クライアントコンピュータ、３００　携帯電話、３１０　通信部、３２０　制御部、３３０　記憶部、３４０　入出力部、３４２　操作部、３４４　表示部、３４６　音声入力部、３４８　音声出力部、３５０　携帯電話基地局、４００　アニメーション生成データベース、５００　ネットワーク、６００　携帯電話網、１４００，１５００　アニメーション生成データ、１４２０，１５４２，１５２０　キーフレームデータ、１４２１〜４，３１００，３２００，３６００，３７００　図形、１４４０，１４４１〜３，１５２０　動き定義データ、１４６０，１５４３　音楽データ、１４８０，１５４４　画像データ、１５４０，１５６０，１５８０　文字データ、１５４１　文字コード、１６０１，１６０３　セレクションボックス、１６０２　テキストボックス、１６０４　アニメ生成ボタン、１６０５〜６　選択肢、１７０１，１８０１〜８　画面、２４０１　アニメーション生成処理のステップＳ２３０４、２４０２，２６０２　アニメーション生成処理のステップＳ２３０８、２４０３　アニメーション生成処理のステップＳ２３１０、２６０１　アニメーション生成処理のステップＳ２３０６、２６０３　アニメーション生成処理のステップＳ２３１２、２７０４　音楽ファイル、２７０５　画像ファイル、３０００，３５００，２７０１〜３　キーフレーム、３１０１〜８，３２０１〜４，３６０１〜８，３７０１〜４　制御点、３３０１，３８０１　識別子。
【図１】
2004145650.tif 000003
【図２】
2004145650.tif 000004
【図３】
2004145650.tif 000005
【図４】
2004145650.tif 000006
【図５】
2004145650.tif 000007
【図６】
2004145650.tif 000008
【図７】
2004145650.tif 000009
【図８】
2004145650.tif 000010
【図９】
2004145650.tif 000011
【図１０】
2004145650.tif 000012
【図１１】
2004145650.tif 000013
【図１２】
2004145650.tif 000014
【図１３】
2004145650.tif 000015
【図１４】
2004145650.tif 000016
【図１５】
2004145650.tif 000017
【図１６】
2004145650.tif 000018
【図１７】
2004145650.tif 000019
【図１８】
2004145650.tif 000020
【図１９】
2004145650.tif 000021
【図２０】
2004145650.tif 000022
【図２１】
2004145650.tif 000023
【図２２】
2004145650.tif 000024
【図２３】
2004145650.tif 000025
【図２４】
2004145650.tif 000026