(57)【要約】  ユーザによる服飾指定や、ユーザの環境情報を用いることなく、シナリオの内容と合致するキャラクタの服飾を決定するキャラクタ服飾決定装置。この装置は、シナリオからキャラクタの服飾を決定するキャラクタ服飾決定装置において、前記キャラクタの服飾の連続性に基づいて前記シナリオを区分するシナリオ区分部（３２０）と、前記シナリオ区分部によって区分されたシナリオのシナリオ区分毎に、前記シナリオ区分の内容に基づいて前記キャラクタの服飾を決定する服飾決定部（３５０）とを有するキャラクタ服飾決定装置（３００）である。
2007138911.tif 000002
【特許請求の範囲】
【請求項１】
シナリオからキャラクタの服飾を決定するキャラクタ服飾決定装置において、
前記キャラクタの服飾の連続性に基づいて前記シナリオを区分するシナリオ区分部と、
前記シナリオ区分部によって区分されたシナリオのシナリオ区分毎に、前記シナリオ区分の内容に基づいて前記キャラクタの服飾を決定する服飾決定部と、
を有するキャラクタ服飾決定装置。
【請求項２】
前記シナリオは、言語情報の項目と前記項目の内容を示す項目値とを含み、
前記言語情報の項目と語彙の組で構成される意味辞書を記憶する意味辞書記憶部と、
前記意味辞書を参照し、テキスト文に含まれる言語情報を前記項目と対応付けて前記シナリオを生成するシナリオ生成部と、をさらに有する、
請求項１記載のキャラクタ服飾決定装置。
【請求項３】
前記シナリオは、前記項目として、キャラクタの服飾の指定、キャラクタの演技、キャラクタの名称、演技の対象相手、キャラクタの感情、キャラクタ演技の目的、シーンの形容詞表現、シーンの場所、シーンの時、シーンの天候、および文中の絵文字のうち、少なくとも１つを含む、
請求項１記載のキャラクタ服飾決定装置。
【請求項４】
前記キャラクタの服飾が連続する条件を示す服飾連続判定ルールを記憶する服飾連続判定ルール記憶部、をさらに有し、
前記シナリオ区分部は、
前記服飾連続判定ルールを参照して前記シナリオの前記キャラクタの服飾が連続する区分を判定し、判定した区分で前記シナリオを区分する、
請求項１記載のキャラクタ服飾決定装置。
【請求項５】
前記シナリオと前記キャラクタの服飾の関係を示す第１の服飾決定ルールを記憶する服飾決定ルール記憶部、をさらに有し、
前記服飾決定部は、
前記第１の服飾決定ルールを参照して前記キャラクタの服飾を決定する、
請求項１記載のキャラクタ服飾決定装置。
【請求項６】
前記第１の服飾決定ルールは、論理記号を用いて複数組の言語情報を結合して構成される、
請求項５記載のキャラクタ服飾決定装置。
【請求項７】
前記服飾決定ルール記憶部は、
前記第１の服飾決定ルールを適用した場合の矛盾または競合を解消するメタ知識を示す第２の服飾決定ルールを記憶し、
前記服飾決定部は、
前記第２の服飾決定ルールを参照して前記キャラクタの服飾を決定する、
請求項１記載のキャラクタ服飾決定装置。
【請求項８】
キャラクタの名称と服飾にキャラクタデータを対応付けたキャラクタデータテーブルを記憶するキャラクタデータ記憶部、をさらに有し、
前記服飾決定部は、
前記キャラクタデータテーブルを参照して、決定したキャラクタの服飾に対応する服飾付きのキャラクタデータを抽出する、
請求項１記載のキャラクタ服飾決定装置。
【請求項９】
前記キャラクタデータは、キャラクタの実体を指定するポインタである、
請求項８記載のキャラクタ服飾決定装置。
【請求項１０】
シナリオからキャラクタの服飾を決定するキャラクタ服飾決定方法において、前記キャラクタの服飾の連続性に基づいて前記シナリオを区分するシナリオ区分ステップと、
前記シナリオ区分ステップによって区分されたシナリオのシナリオ区分毎に、前記シナリオ区分の内容に基づいて前記キャラクタの服飾を決定する服飾決定ステップと、
を有するキャラクタ服飾決定方法。
【請求項１１】
シナリオからキャラクタの服飾を決定する処理をコンピュータに実行させるためのキャラクタ服飾決定プログラムにおいて、
前記キャラクタの服飾の連続性に基づいて前記シナリオを区分するシナリオ区分処理と、
前記シナリオ区分処理によって区分されたシナリオのシナリオ区分毎に、前記シナリオ区分の内容に基づいて前記キャラクタの服飾を決定する服飾決定処理と、
をコンピュータに実行させるためのキャラクタ服飾決定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シナリオから、シナリオに登場するキャラクタの服飾を決定するキャラクタ服飾決定装置、キャラクタ服飾決定方法、およびキャラクタ服飾決定プログラムに関する。
【背景技術】
【０００２】
現在、電子メールやチャット、ブログなどは、すでに日常的なコミュニケーション手段として定着している。特に近年では、テキスト文のみのメッセージだけではなく、静止画や動画のＣＧ（Computer Graphics）によってテキスト文を装飾した、遊びの要素を含んだメッセージをやり取りできるアプリケーションやサービスが増えている。【０００３】
このようなアプリケーションやサービスとして、例えば、携帯電話で画像やメールのテンプレートを自由に組み合わせ、装飾付きのメールを送信するメールアプリケーションや、受信したメールに含まれる特定の絵文字や文字列を判別して、受信画面にＣＧアニメーションを表示するアプリケーション、簡単なキー操作によりキャラクタの身振り手振りや表情が付いたメッセージを送信するサービスなどがある。【０００４】
また、コミュニケーション用途で用いるキャラクタを手軽に自作できるようにするために、特許文献１および特許文献２に記載された技術は、キャラクタの服飾や目鼻のパーツを選択して組み合わせるという簡単な操作で、コミュニケーション用途で用いるキャラクタを作成するという手法を採っている。【０００５】
また、煩わしい操作を必要とせず、コミュニケーション用のアニメーションをより臨場感あるものにすることを目的に、特許文献３に記載された技術は、利用者の環境情報（場所や天候、時間帯など）を用いてメールに付与するアバター（利用者を表すキャラクタ）の服飾を決定するという手法を採っている。
【特許文献１】特開２００１−１６７２８７号公報
【特許文献２】特開２００３−３４６１７３号公報
【特許文献３】特開平１１−３４６２６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上記のような、電子メールやチャット、ブログなどのテキスト文を装飾するためのアニメーションは、メッセージの内容と関係するものでなくてはならない。特に、アニメーションに登場するキャラクタの服飾は、メッセージの内容から容易に類推できる服飾であることが望ましい。【０００７】
しかしながら、上記の特許文献に記載された技術は、いずれも、キャラクタの服飾を決める上で、ユーザが記述したテキスト文をまったく考慮していない。【０００８】
特許文献１および特許文献２に記載された技術においては、キャラクタのプロパティ選択画面でユーザがキャラクタの服飾を明示的に選択するようにしている。しかし、この方法では、テキスト文の内容がストーリー性を有するシナリオである場合、その内容に合致したキャラクタを表示するためには、ストーリー上で場面が変化するたびにキャラクタの服飾を選択し直さなくてはならず、不便である。【０００９】
また、特許文献３に記載された技術においては、ユーザの環境情報を用いてキャラクタの服飾を自動的に選択できるため、煩わしい操作を回避することができるものの、一方で、メッセージ作成者の周囲の環境と関係のない内容のシナリオには対応することができないため、汎用性のある方法ではない。すなわち、シナリオの内容に合致したキャラクタの服飾を決定することはできない。【００１０】
本発明の目的は、ユーザによる服飾指定や、ユーザの環境情報を用いることなく、シナリオの内容に合致するキャラクタの服飾を決定することができるキャラクタ服飾決定装置、キャラクタ服飾決定方法、およびキャラクタ服飾決定プログラムを提供することである。
【課題を解決するための手段】
【００１１】
本発明のキャラクタ服飾決定装置は、シナリオからキャラクタの服飾を決定するキャラクタ服飾決定装置において、前記キャラクタの服飾の連続性に基づいて前記シナリオを区分するシナリオ区分部と、前記シナリオ区分部によって区分されたシナリオのシナリオ区分毎に、前記シナリオ区分の内容に基づいて前記キャラクタの服飾を決定する服飾決定部と、を有する構成を採る。【００１２】
本発明のキャラクタ服飾決定方法は、シナリオからキャラクタの服飾を決定するキャラクタ服飾決定方法において、前記キャラクタの服飾の連続性に基づいて前記シナリオを区分するシナリオ区分ステップと、前記シナリオ区分ステップによって区分されたシナリオのシナリオ区分毎に、前記シナリオ区分の内容に基づいて前記キャラクタの服飾を決定する服飾決定ステップと、を有するようにした。【００１３】
本発明のキャラクタ服飾決定プログラムは、シナリオからキャラクタの服飾を決定する処理をコンピュータに実行させるためのキャラクタ服飾決定プログラムにおいて、前記キャラクタの服飾の連続性に基づいて前記シナリオを区分するシナリオ区分処理と、前記シナリオ区分処理によって区分されたシナリオのシナリオ区分毎に、前記シナリオ区分の内容に基づいて前記キャラクタの服飾を決定する服飾決定処理と、をコンピュータに実行させるようにしたものである。
【発明の効果】
【００１４】
本発明によれば、ユーザによる服飾指定や、ユーザの環境情報を用いることなく、入力されたシナリオの内容に合致するキャラクタの服飾を決定することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施の形態に係るキャラクタ服飾決定装置を搭載したアニメーション作成装置の構成を示すブロック図
【図２】テキスト文の一例を示す図
【図３】図１の意味辞書データベースに格納された意味辞書テーブルの一例を示す図
【図４】図１のシナリオ生成部によって生成されるシナリオの一例を示す図
【図５】図４のシナリオのデータ構成の一例を示す図
【図６】図１の服飾連続判定ルールデータベースに格納された服飾連続判定ルールテーブルの一例を示す図
【図７】図１のシナリオ区分部によって服飾の連続単位で区分されたシナリオの一例を示す図
【図８】図１のキャラクタデータベースに格納されたキャラクタデータテーブルの一例を示す図
【図９】図１の服飾決定ルールデータベースに格納された第１の服飾決定ルールテーブルの一例を示す図
【図１０】図１の服飾決定ルールデータベースに格納された第２の服飾決定ルールテーブルの一例を示す図
【図１１】図１のシナリオ書替部によって書き替えられたシナリオの一例を示す図
【図１２】図１のアニメーション生成部によって生成されるアニメーションの一例を示す図
【図１３】図１のアニメーション作成装置の動作を示すフローチャート
【図１４】図１３のシナリオ生成処理（ステップＳ２０００）の内容を示すフローチャート
【図１５】図１３のキャラクタ服飾決定処理（ステップＳ３０００）の内容を示すフローチャート
【図１６】図１５の服飾決定処理（ステップＳ３３００）の内容を示すフローチャート
【図１７】図１３のアニメーション生成処理（ステップＳ４０００）の内容を示すフローチャート
【発明を実施するための最良の形態】
【００１６】
以下、本発明の一実施の形態について、図面を参照して詳細に説明する。【００１７】
図１は、本発明の一実施の形態に係るキャラクタ服飾決定装置を搭載したアニメーション作成装置の構成を示すブロック図である。【００１８】
図１に示すアニメーション作成装置１００は、テキスト文からアニメーションを決定する機能を有し、大別して、シナリオ生成部２００、キャラクタ服飾決定部３００、およびアニメーション生成部４００を有する。シナリオ生成部２００は、意味辞書データベース２１０と言語情報抽出部２２０を有する。キャラクタ服飾決定部３００は、服飾連続判定ルールデータベース３１０、シナリオ区分部３２０、キャラクタデータベース３３０、服飾決定ルールデータベース３４０、服飾決定部３５０、およびシナリオ書替部３６０を有する。【００１９】
アニメーション作成装置１００は、テキスト文を入力して、その内容に応じたアニメーションそのものまたはアニメーションに１対１に対応するアニメーション情報（例えば、テキストなど）を生成し、出力するシステムである。【００２０】
アニメーションを表示するためには、どのキャラクタや背景、小物を用いるかという情報と、キャラクタが時系列でどのように動作するか、キャラクタなどをどこに配置するかといったシナリオとが必要である。ここでは、アニメーションの種類は、特に限定されない。例えば、アニメーションは、Ｆｌａｓｈ（登録商標）などの２次元アニメーションであっても、ＯｐｅｎＧＬ（登録商標）やＤｉｒｅｃｔＸ（登録商標）などの周知の技術を用いた３次元ＣＧアニメーションであってもよい。さらに、アニメーションは、４コマ漫画のようにストーリーに沿って提示される複数の静止画や、パラパラ漫画のように複数の静止画がストーリーに沿ってパラパラと切り替わって表示されるものであってもよい。また、ここでは、アニメーションの内容も、特に限定されない。少なくとも１体以上のキャラクタが登場するアニメーション（例えば、服飾が変化するアバターのみのアニメーション）であればよい。【００２１】
ところが、上記のように、システムに入力される情報は、テキスト文だけである。そこで、本実施の形態のアニメーション作成装置は、テキスト文からアニメーションを生成するために、一般的に、テキスト文からアニメーションのシナリオを生成するシナリオ生成部と、シナリオからアニメーションに登場するキャラクタを決定するキャラクタ決定部と、それらの情報からアニメーションを生成するアニメーション生成部とを備えている。さらに、本実施の形態におけるアニメーション作成装置１００は、テキスト文からアニメーションを生成する際に、キャラクタ服飾決定部３００により、アニメーションに登場するキャラクタの服飾を決定する機能を有する。より具体的には、入力されたテキスト文から得られる情報（例えば、服飾指定、演技、主体（呼称）、相手、感情、形容詞、絵文字、場所、目的、時、天候など）から、アニメーションにおけるキャラクタの服飾を決定する機能を有する。ここで、「服飾」とは、衣服やアクセサリ、小物などを広く意味する。【００２２】
上記のように、アニメーションに登場するキャラクタの服飾は、メッセージの内容から容易に類推できる服飾であることが望ましい。例えば、多くの人は、「今日は朝から剣道をしていました。」というテキスト文を読むと、剣道着を着たキャラクタが剣道をしている情景を思い浮かべるであろう。これは、「剣道をする」という演技を表す言語情報から、そのキャラクタが剣道着を着ているのが妥当であると考えるからである。他にも、「この夏は暑い」というテキスト文から、Ｔシャツを着たキャラクタを思い浮かべたり、「プールにいます」というテキスト文から、水着を着たキャラクタを多くの人は思い浮かべるものである。これらは、「暑い」という天候を表す言語情報や、「プール」という場所を表す言語情報から、それぞれＴシャツ姿や水着姿を連想するためである。このようにテキスト文には、キャラクタの服飾を決める可能性の高い言語情報が数多く含まれている。そこで、本実施の形態では、シナリオ生成部２００に意味辞書データベース２１０と言語情報抽出部２２０を設けるとともに、新たにキャラクタ服飾決定部３００を設けることにより、入力されたテキスト文から得られるシナリオを用いて、テキスト文の内容に合致するようにアニメーションに登場するキャラクタの服飾を自動的に決定するようにしている。【００２３】
なお、本実施の形態では、携帯電話機を例にとって説明するが、これに限定されない。本発明に係るキャラクタ服飾決定装置を搭載したアニメーション作成装置は、携帯電話機以外にも、例えば、ＰＣ（Personal Computer）やＰＤＡ（Personal Digital Assistant）、ビデオカメラ、電子ブックといった各種のハードウェアにも同様に適用可能である。また、電子メールソフトウェアのみならず、チャットソフトウェアやウェブ（ｗeb）掲示板、ＳＮＳ（Social Network Service）、ブログ（ｗeblog）、日記帳作成ツールなどの、各種アプリケーションソフトウェアや各種サービスにも同様に適用可能である。【００２４】
アニメーション作成装置１００は、例えば、携帯電話機のメール作成・表示機能に組み込まれている。この場合、携帯電話機は、ユーザがメールを作成する機能と、作成されたメールのテキスト文をアニメーション作成装置１００に入力する機能と、アニメーション作成装置１００の出力結果であるアニメーションを表示・保存する機能とを有する。これらの機能は、ユーザのキー操作によって開始される。また、携帯電話機は、受信したメールのテキスト文をアニメーション作成装置１００に入力する機能と、アニメーション作成装置１００の出力結果であるアニメーションを表示・保存する機能とを有する。これにより、自分が書いたテキスト文のみならず、他人が書いたテキスト文からも、当該テキスト文の内容をアニメーションとして表示することが可能になる。【００２５】
ここでは、アニメーション作成装置１００の構成についての詳細な説明に先立って、まず、アニメーション作成装置１００に入力されるテキスト文について説明しておく。【００２６】
図２は、テキスト文の一例を示す図である。【００２７】
図２は、メール、携帯メール、ブログ、および日記の４つの異なるジャンルにおけるそれぞれのテキスト文の例を示している。多くのコミュニケーション用途のテキスト文の内容は、自分または相手の行動や気持ち、情景などで構成されている。本実施の形態でも、そのような構成のテキスト文を対象としている。また、本実施の形態は、上記の例以外にも、映画や劇のシナリオ、書籍、雑誌、および新聞記事などにも適用可能である。【００２８】
図１に戻って、アニメーション作成装置１００の構成について詳細に説明する。【００２９】
シナリオ生成部２００は、テキスト文を入力し、自然言語解析処理などによりアニメーションのシナリオを生成し、出力する。自然言語解析処理は、形態素解析、構文解析、意味解析の順番で解析するのが一般的な方法である。シナリオ生成方法としては、意味解析の結果に主体や演技、場所などの情報を補完する方法が知られている。自然言語解析とアニメーションシナリオの生成については、例えば、Ｒ.Ｃ.シャンク、Ｃ.Ｋ.リーズベック、石崎俊（訳）、「自然言語理解入門」、総研出版、第２２４頁〜第２５８頁に詳細に記載されているため、ここでは詳細な説明を省略する。【００３０】
意味辞書データベース２１０は、特にキャラクタの服飾を決定する上で必要な言語情報を抽出してシナリオを生成するための意味辞書テーブルを格納している。意味辞書テーブルは、項目と語彙の組で構成されている。【００３１】
図３は、意味辞書データベース２１０に格納された意味辞書テーブルの一例を示す図である。【００３２】
図３に示す意味辞書テーブル２１１には、キーとなる項目２１２に対応付けて、語彙２１３が登録されている。図３において、項目２１２は、その値として、キャラクタの服飾の指定を示す「服飾指定」、キャラクタの演技を示す「演技」、キャラクタの名称を示す「人物」、キャラクタの感情を示す「感情」、キャラクタ演技の目的を示す「目的」、シーンの形容詞表現を示す「形容詞」、シーンの場所を示す「場所」、シーンの時を示す「時」、シーンの天候を示す「天候」、およびシナリオ文の中の絵文字を示す「絵文字」で構成されている。なお、意味辞書テーブル２１１の項目２１２は、これらすべての項目で構成されている必要はなく、これらの項目のうち、少なくとも１つの項目で構成されていればよい。【００３３】
また、語彙２１３には、項目２１２ごとに、１つ以上の語彙が登録されている。例えば、図３に示す例では、「服飾指定」という項目２１２に対応する語彙２１３として、「タキシード」と「白衣」が登録されている。【００３４】
言語情報抽出部２２０は、入力されたテキスト文（図２参照）から意味辞書データベース２１０に格納された意味辞書テーブル２１１（図３参照）に含まれる語彙をテキストマッチングして、該当する語彙２１３とその項目２１２を言語情報として抽出し、得られた言語情報（語彙２１３と項目２１２）に基づいてシナリオを生成し、出力する。ただし、「人物」という項目２１２については、自然言語処理によりテキスト文の内容に応じて項目２１２の値を「主体」か「相手」のどちらかに変更して、シナリオを生成する。例えば、語彙２１３が「ガ格」でテキスト文に現れた場合は、主格を表すために項目２１２の値を「主体」に変更し、語彙２１３が「ニ格」でテキスト文に現れた場合は、目的格を表すために項目２１２の値を「相手」に変更する。最後に、シナリオ生成部２００によって生成されたシナリオは、キャラクタ服飾決定部３００に出力される。【００３５】
図４は、シナリオ生成部２００によって生成されるシナリオの一例を示す図である。【００３６】
図４に示すシナリオ２３０は、複数のシーン２３１で構成されている。シーン２３１は、アニメーションのシーンの単位であり、一般的に、同一時間帯、同一場所におけるアニメーションを示している。各シーン２３１に対応するアニメーションは、シナリオ２３０の上から順に逐次的に再生される。各シーン２３１は、さらに、複数のディレクション２３２で構成されている。ディレクション２３２は、アニメーションのディレクションの単位であり、一般的に、同一時刻におけるアニメーションを示している。各ディレクション２３２に対応するアニメーションは、シナリオ２３０の上から順に逐次的に再生される。各ディレクション２３２は、さらに、言語情報の項目２３３と言語情報の項目値２３４で構成されている。項目２３３は、対応するディレクション２３２の項目を示すものであり、その内容は、項目値２３４に記述される。項目２３３が取り得る値は、例えば、「服飾指定」、「演技」、「主体」、「相手」、「感情」、「目的」、「形容詞」、「場所」、「時」、「天候」、および「絵文字」である。また、項目値２３４が取り得る値は、任意の文字列である。項目値２３４の文字列は、対応する項目２３３に関係する、テキスト文の内容に基づいて、決定される。【００３７】
図５は、図４に示すシナリオ２３０のデータ構成の一例を示す図である。図５に示すように、シナリオ２３０は、例えばＸＭＬ（eXtensible Markup Language）形式のデータ構成を採る。ここで、「Scene id」として指定される値は、図４のシーン２３１に対応し、「Direction id」として指定される値は、図４のディレクション２３２に対応する。また、「Location」、「Subject」、「Action」、「Emotion」、「Time」は、図４の項目２３３のうち、それぞれ「場所」、「主体」、「演技」、「感情」、「時」に対応し、併せて記述される文字列は、図４の項目値２３４に対応する。【００３８】
キャラクタ服飾決定部３００は、シナリオ生成部２００によって生成されたシナリオを入力し、キャラクタデータベース３３０を用いて、アニメーションに登場するキャラクタの実体を表すキャラクタデータを決定し、出力する。その際、本実施の形態では、キャラクタ服飾決定部３００は、服飾連続判定ルールデータベース３１０を用いて、入力されたシナリオを服飾の単位で区分し、さらに、キャラクタデータベース３３０および服飾決定ルールベータベース３４０を用いて、区分されたシナリオからキャラクタの服飾を決定する。キャラクタ服飾決定部３００は、服飾されたキャラクタを、キャラクタデータとして出力する。【００３９】
なお、本実施の形態では、服飾とキャラクタを１つのまとまりとして扱い、キャラクタデータベース３３０には、服飾ごとのキャラクタデータが格納されているものとして説明を行うが、これに限定されるわけではない。例えば、実装の形態によっては、キャラクタデータと服飾データを別々のデータとして扱うことも可能である。この場合、キャラクタ服飾決定部は、キャラクタデータベースに加えて服飾データベースをも参照し、キャラクタデータと服飾データを出力することになる。【００４０】
また、本実施の形態では、キャラクタデータとして、服飾されたキャラクタを示すファイル名やＵＲＬなどキャラクタの実体を指定する任意のポインタを出力するようにしているが、出力するキャラクタデータの形態は、これに限定されない。例えば、実装の形態によっては、服飾されたキャラクタの実体であるキャラクタデータそのものを出力するようにしてもよい。【００４１】
服飾連続判定ルールデータベース３１０は、シナリオ区分部３２０で服飾の連続性を判定するために必要なルール（以下「服飾連続判定ルール」という）が記述された服飾連続判定ルールテーブルを格納している。服飾連続判定ルールは、与えられた複数のシナリオのうち、キャラクタの服飾がどこまで連続し、どのタイミングで変わるかを判定するためのルールであり、服飾が連続する条件を示すものである。このような服飾連続判定ルールを用いることにより、服飾の変更タイミングを決定することが可能になる。【００４２】
図６は、服飾連続判定ルールデータベース３１０に格納された服飾連続判定ルールテーブルの一例を示す図である。【００４３】
図６に示す服飾連続判定ルールテーブル３１１は、ＩＤ３１２と服飾連続判定ルール３１３の組で構成されている。服飾連続判定ルール３１３には、服飾を決定するための、シナリオを区分する上で必要なルールが記述されている。図６に示す例では、服飾連続判定ルールテーブル３１１は、３つの組３１１−１、３１１−２、３１１−３で構成されている。組３１１−１には、「ＩＤ１」というＩＤ３１２に対応する服飾連続判定ルール３１３として、「服飾はキャラクタ毎に設定される」というルールが記述されている。組３１１−２には、「ＩＤ２」というＩＤ３１２に対応する服飾連続判定ルール３１３として、「シーン内のディレクション間でキャラクタの服飾は変化しない」というルールが記述されている。組３１１−３には、「ＩＤ３」というＩＤ３１２に対応する服飾連続判定ルール３１３として、「シーンが異なっても場所と時刻が変化しないシーンの場合、服飾は前のシーンの服飾を引き継ぐ」というルールが記述されている。シナリオの区分は、服飾連続判定ルールテーブル３１１に記述されたすべての服飾連続判定ルール３１３を満たすように行われる。なお、服飾連続判定ルール３１３は、コンピュータが解釈可能なプログラムコードで記述されるが、ここでは、その内容を言語で表記している。【００４４】
シナリオ区分部３２０は、服飾連続判定ルールデータベース３１０に格納された服飾連続判定ルールテーブル３１１（図６参照）を用いて、シナリオ２３０（図４参照）をキャラクタの服飾が連続する区間単位（以下「シナリオ区分」という）で区分する。シナリオ区分は、同一シナリオ区分内ではキャラクタの服飾は特定の服飾で連続され、異なるシナリオ区分間ではキャラクタの服飾は異なる可能性が有ることを意味する。【００４５】
図７は、シナリオ区分部３２０によって服飾の連続単位で区分されたシナリオの一例を示す図である。【００４６】
図７に示す区分されたシナリオ３２１は、複数のシナリオ区分３２２で構成されている。シナリオ区分３２２は、図４に示すシナリオ２３０の服飾単位での区分である。各シナリオ区分３２２は、１つまたは複数の区分３２６で構成され、各区分３２６は、さらに、主体３２６で構成されている。主体３２３には、そのシナリオ区分に含まれるシーンで登場するキャラクタのみが示される。各主体３２３に対応付けて、そのシナリオ区分でそのキャラクタの服飾を決定する上で必要な区分されたシナリオが記述されている。シナリオは、項目３２４と項目値３２５で構成されている。したがって、シナリオ区分３２２の設定は、各シーンに対して、主体３２３ごとに行われる。【００４７】
図７に示す例では、区分されたシナリオ３２１は、２つのシナリオ区分３２２で構成されている。「シナリオ区分１」というシナリオ区分３２２は、図４に示すシーン１に対応する１つの区分３２６−１で構成されている。「シナリオ区分２」というシナリオ区分３２２は、図４のシーン２に対応する２つの区分３２６−２、３２６−３と、図４のシーン３に対応する２つの区分３２６−４、３２６−５とで構成されている。【００４８】
図７に示すように、「シナリオ区分１」というシナリオ区分３２２には、区分３２６−１として、「花子」という主体３２３の服飾を決定するためのシナリオが記述されている。また、「シナリオ区分２」というシナリオ区分３２２には、区分３２６−２、３２６−４として、「花子」という主体３２３の服飾を決定するためのシナリオが記述されるとともに、区分３２６−３、３２６−５として、「のぞみ」という主体３２３の服飾を決定するためのシナリオが記述されている。【００４９】
図１に示すキャラクタデータベース３３０は、キャラクタの名称と服飾の組をキーにしてキャラクタデータを抽出するためのキャラクタデータテーブルを格納している。キャラクタデータテーブルは、キャラクタの名称および服飾ならびにキャラクタデータの組で構成されている。【００５０】
図８は、キャラクタデータベース３３０に格納されたキャラクタデータテーブルの一例を示す図である。【００５１】
図８に示すキャラクタデータテーブル３３１は、キーとなるキャラクタの名称３３２および服飾３３３と、それに対応したキャラクタデータ３３４とで構成されている。キャラクタデータ３３４は、名称３３２と服飾３３３の組によって１つに決まるようになっている。ここでは、キャラクタデータ３３４は、一例として、服飾されたキャラクタを示すファイル名やＵＲＬなどキャラクタの実体を指定するポインタの形態をとっている。図８に示す例では、「花子」という名称３３２の場合において、服飾３３３が「デフォルト」、「スキーウェア」、「浴衣」、「外出着」のときは、それぞれ「Hana.cg」、「Hana_skiwear.cg」、「Hana_yukata.cg」、「Hana_street.cg」というキャラクタデータ３３４が抽出される。また、「のぞみ」という名称３３２の場合において、服飾３３３が「デフォルト」、「浴衣」、「外出着」のときは、それぞれ「Nozomi.cg」、「Nozomi_yukata.cg」、「Nozomi_street.cg」というキャラクタデータ３３４が抽出される。また、「太郎」という名称３３２の場合において、服飾３３３が「デフォルト」、「タキシード」のときは、それぞれ「Taro.cg」、「Taro_tuxedo.cg」というキャラクタデータ３３４が抽出される。【００５２】
なお、本実施の形態では、上記のように、服飾されたキャラクタを１つのキャラクタデータとして扱っているため、上記の構成を採っている。しかし、上記のように、実装の形態によっては、キャラクタデータと服飾データを別々のファイルで使用し、キャラクタデータと服飾データを組み合わせてアニメーションに利用する場合もあり得る。この場合は、別に服飾データベースが必要となるが、方式が大きく異なるものではないため、ここでは、その説明を省略する。【００５３】
服飾決定ルールデータベース３４０は、第１の服飾決定ルールテーブルと、第２の服飾決定ルールテーブルとを格納している。第１の服飾決定ルールテーブルは、言語情報と服飾の対応関係を示すテーブルである。この第１の服飾決定ルールテーブルにおいて、言語情報は、論理記号（例えば、ＡＮＤ、ＯＲ、括弧など）を用いて複数の言語情報を結合することによって記述することができる。このように論理記号を用いて複数の言語情報を結合することにより、複数の言語情報を処理することが可能になる。また、第２の服飾決定ルールテーブルは、矛盾や競合を解消するための少なくとも１つのメタ知識によって構成されている。このようなメタ知識を用いることにより、たとえ矛盾や競合があった場合にも、その矛盾や競合を解消して、１つの服飾を決定することが可能になる。【００５４】
図９は、服飾決定ルールデータベース３４０に格納された第１の服飾決定ルールテーブルの一例を示す図である。【００５５】
図９に示す第１の服飾決定ルールテーブル３４１は、ＩＤ３４２とキャラクタの服飾３４３と言語情報３４４の組で構成される。言語情報３４４は、項目と項目値で構成されており（図４、図７参照）、項目と項目値の複数の組を論理記号（例えば、ＡＮＤ、ＯＲ、括弧）で結合することによって記述することもできる。【００５６】
図９に示す例では、第１の服飾決定ルールテーブル３４１は、「１」から「９」のＩＤ３４２を持つ９つの組３４１−１〜３４１−９で構成されている。組３４１−１は、言語情報３４４の項目が「演技」で対応する項目値が「スキーする」の場合、「スキーウェア」という服飾３４３が相応しいことを示している。組３４１−２は、言語情報３４４の項目が「場所」で対応する項目値が「日本旅館」の場合、「浴衣」という服飾３４３が相応しいことを示している。組３４１−３は、言語情報３４４の項目が「演技」で対応する項目値が「泳ぐ」の場合、または、言語情報３４４の項目が「目的」で対応する項目値が「海水浴」の場合、または、言語情報３４４の項目が「場所」で対応する項目値が「海」の場合で、かつ、言語情報３４４の項目が「季節」で対応する項目値が「夏」の場合は、「水着」という服飾３４３が相応しいことを示している。組３４１−４は、言語情報３４４の項目が「主体」で対応する項目値が「新郎」の場合、「タキシード」という服飾３４３が相応しいことを示している。組３４１−５は、言語情報３４４の項目が「絵文字」で対応する項目値が「（ジーパンマーク）」の場合、「ジーパン」という服飾３４３が相応しいことを示している。組３４１−６は、言語情報３４４の項目が「天候」で対応する項目値が「雨」の場合、「レインコート」という服飾３４３が相応しいことを示している。組３４１−７は、言語情報３４４の項目が「場所」で対応する項目値が「会社」の場合、または、言語情報３４４の項目が「目的」で対応する項目値が「仕事」の場合、または、言語情報３４４の項目が「相手」で対応する項目値が「妻の両親」の場合、「スーツ」という服飾３４３が相応しいことを示している。組３４１−８は、言語情報３４４の項目が「場所」で対応する項目値が「レストラン」、「ホテル」、または「日本旅館」の場合、「外出着」という服飾３４３が相応しいことを示している。組３４１−９は、言語情報３４４の項目が「場所」で対応する項目値が「家」であり、かつ、言語情報３４４の項目が「時」で対応する項目値が「夜」の場合、「パジャマ」という服飾３４３が相応しいことを示している。【００５７】
図１０は、服飾決定ルールデータベース３４０に格納された第２の服飾決定ルールテーブルの一例を示す図である。【００５８】
図１０に示す第２の服飾決定ルールテーブル３４５は、ＩＤ３４６とメタ知識３４７の組で構成されている。メタ知識３４７は、ルールをどのように運用するかという知識のことであり、矛盾や競合があった場合にどのように解決するかを示す知識ルールのことである。図１０に示す例では、第２の服飾決定ルールテーブル３４５は、「１」から「４」のＩＤ３４６を持つ４つの組３４５−１〜３４５−４で構成されている。組３４５−１には、「ＡＮＤで接続された条件の厳しいルール結果を採用する」というメタ知識３４７が記述されている。組３４５−２には、「直前の服装を引き継ぐ」というメタ知識３４７が記述されている。組３４５−３には、「項目に以下の優先順位を用いる。服飾指定＞演技＞目的＞場所＞主体＞相手＞感情＞形容詞＞時＞天候＞絵文字」というメタ知識３４７が記述されている。組３４５−４には、「ルールＩＤの昇順で優先順位をつける」というメタ知識３４７が記述されている。なお、メタ知識３４７は、コンピュータが解釈可能なプログラムコードで記述されるが、ここでは、その内容を言語で表記している。【００５９】
服飾決定部３５０は、キャラクタデータベース３３０に格納されたキャラクタデータテーブル３３１（図８参照）ならびに服飾決定ルールデータベース３４０に格納された第１の服飾決定ルールテーブル３４１（図９参照）および第２の服飾決定ルールテーブル３４５（図１０参照）を用いて、区分されたシナリオ（図７参照）から、キャラクタの服飾を決定し、服飾付きキャラクタデータを出力する。【００６０】
シナリオ書替部３６０は、服飾決定部３５０から出力された服飾付きキャラクタデータを用いて、シナリオ生成部２００から入力したシナリオの書き替えを行う。具体的には、シナリオ書替部３６０は、入力したシナリオにおける、「主体」という項目２３３に対応する項目値２３４を、服飾決定部３５０で決定された服飾付きキャラクタデータに書き替える。【００６１】
図１１は、シナリオ書替部３６０によって書き替えられたシナリオの一例を示す図である。図１１に示す書き替え後のシナリオ３７０は、図４に示す書き替え前のシナリオ２３０において、ディレクション２３２−２の「花子」という項目値２３４を「Hana_skiwear.cg」という服飾付きキャラクタデータ（ポインタ形式）に、ディレクション２３２−３の「花子」という項目値２３４を「Hana_skiwear.cg」という服飾付きキャラクタデータ（ポインタ形式）に、ディレクション２３２−９の「花子」という項目値２３４を「Hana_yukata.cg」という服飾付きキャラクタデータ（ポインタ形式）に、それぞれ書き替えて構成されている。【００６２】
なお、本実施の形態では、シナリオ書替部３６０をキャラクタ服飾決定部３００に設けているが、これに限定されるわけではない。例えば、実装の形態によっては、シナリオ書替部３６０をキャラクタ服飾決定部３００に設けることなく、キャラクタ服飾決定部３００の服飾決定部３５０から出力される服飾付きキャラクタデータをそのままアニメーション生成部４００に送るようにしてもよい。この場合、シナリオ生成部２００によって生成されたシナリオは、キャラクタ服飾決定部３００のみならずアニメーション生成部４００にも出力されることになる。【００６３】
アニメーション生成部４００は、少なくとも、書き替え後のシナリオ、つまり、服飾付きキャラクタデータを含むシナリオ（図１１参照）を用いて、アニメーションを生成する。すなわち、アニメーション生成部４００は、書き替え後のシナリオに基づいて、キャラクタの配置と演技を決定し、必要であれば、カメラワークやライティング、デフォルメ的な演出表現、ＢＧＭ、効果音などを追加することにより、２次元アニメーションまたは３次元アニメーションとしてアニメーションを生成し、出力する。なお、上記のように、実装の形態によっては、シナリオ生成部２００からのシナリオと、キャラクタ服飾決定部３００の服飾決定部３５０からの服飾付きキャラクタデータとを用いて、アニメーションを生成することも可能である。【００６４】
図１２は、アニメーション生成部４００によって生成されるアニメーションの一例を示す図である。なお、図１２Ａ、図１２Ｂ、および図１２Ｃに示す各アニメーションは、実際は動画であるが、その一場面を静止画として切り出したものである。【００６５】
図１２Ａは、花子がスキーウェアを着てスキーをしている一場面であり、図１１に示す書き替え後のシナリオ３７０における「シーン１」の「ディレクション２」（ディレクション２３２−２）に対応している。図１２Ｂは、花子が浴衣を着ている一場面であり、図１１に示す書き替え後のシナリオ３７０における「シーン２」の「ディレクション３」（ディレクション２３２−６）および「シーン３」の「ディレクション３」（ディレクション２３２−９）に対応している。図１２Ｃは、花子がシーパンをはいてピースサインをしている一場面であり、図２に示す、ジャンルが「携帯メール」でテキスト文が「（ジーパンマーク）買っちゃった（ピースサイン）」を処理した結果に対応している。【００６６】
なお、アニメーション作成装置１００は、図示しないが、ＣＰＵ（Central Processing Unit）と、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などのメモリとを有する。例えば、ＲＯＭには制御プログラムが記憶されており、ＲＡＭは作業用のメモリである。図１に示す各部の機能は、ＣＰＵが制御プログラムを実行することによって実現される。【００６７】
また、上記の携帯電話機は、既存のハードウェアとして通信回路を備えており、携帯電話機網を介して他の携帯電話機やパーソナルコンピュータなどの通信機器に対して、アニメーション作成装置１００で生成したアニメーション情報を送信可能となっている。また、上記の携帯電話機は、通信回路を介して、他の携帯電話機または基地局から送信されたテキスト文やシナリオ、アニメーション情報を受信可能となっている。【００６８】
次いで、上記の構成を有するアニメーション作成装置１００の動作について、図１３〜図１７に示すフローチャートを用いて説明する。なお、図１３〜図１７に示すフローチャートは、アニメーション作成装置１００のＲＯＭに制御プログラムとして記憶されており、ＣＰＵによって実行される。【００６９】
図１３は、図１に示すアニメーション作成装置１００の動作を示すフローチャートである。【００７０】
まず、ステップＳ１０００では、シナリオ生成部２００で、テキスト文を入力したか否かを判断する。テキスト文は、例えば、ユーザによる携帯電話機の操作によってまたは通信回路を介した外部からの受信によって入力される。テキスト文の入力に際しては、ユーザによる携帯電話機の操作によってアニメーションの作成開始が指示される。この判断の結果として、テキスト文を入力した場合は（Ｓ１０００：ＹＥＳ）、ステップＳ２０００に進み、テキスト文を入力していない場合は（Ｓ１０００：ＮＯ）、テキスト文を入力するまで待機する。【００７１】
ステップＳ２０００では、シナリオ生成部２００で、シナリオ生成処理を実行する。具体的には、テキスト文を入力し、入力したテキスト文から自然言語解析処理などによりアニメーションのシナリオを生成し、出力する。このシナリオ生成処理については、後で説明する。【００７２】
次に、ステップＳ３０００では、キャラクタ服飾決定部３００で、キャラクタ服飾決定処理を実行する。具体的には、ステップＳ２０００で生成されたシナリオを入力し、服飾連続判定ルールデータベース３１０、キャラクタデータベース３３０、および服飾決定ルールデータベース３４０を用いて、アニメーションに登場するキャラクタの実体を表す服飾付きキャラクタデータを決定し、出力する。このキャラクタ服飾決定処理については、後で説明する。【００７３】
次に、ステップＳ４０００では、アニメーション生成部４００で、アニメーション生成処理を実行する。具体的には、ステップＳ２０００で生成されたシナリオと、ステップＳ３０００で決定された服飾付きキャラクタデータとに基づいて、アニメーションを生成する。このアニメーション生成処理については、後で説明する。なお、ここでは、アニメーションのファイル形式は、何ら限定されない。アニメーションのファイル形式は、ＭＰＥＧ（Moving Picture Experts Group）やＡＶＩ（Audio Video Interleaving）などの動画ファイル形式のみならず、ＣＧアニメーションのためのデータ形式やスクリプト言語形式、フラッシュアニメーション形式など、いずれの形式であってもよい。【００７４】
次に、ステップＳ５０００では、アニメーション生成部４００で、ステップＳ４０００で生成されたアニメーションを出力する。【００７５】
図示しないが、アニメーション作成装置１００を備えた携帯電話機には、このアニメーション作成装置１００から出力されるアニメーションを表示する表示部が設けられている。また、アニメーション作成装置１００を備えた携帯電話機の通信の相手先にも、同様の装置が設けられている。したがって、このアニメーションを通信の相手先に送信することにより、アニメーション作成装置１００を備えた携帯電話機のユーザが入力したテキスト文の内容に応じたアニメーションを、通信の相手先のユーザに見せることができる。【００７６】
図１４は、図１３のシナリオ生成処理（ステップＳ２０００）の内容を示すフローチャートである。このシナリオ生成処理は、シナリオ生成部２００によって実行される。【００７７】
まず、ステップＳ２１００では、アニメーション作成装置１００に入力されたテキスト文（図２参照）を入力したか否かを判断する。この判断の結果として、テキスト文を入力した場合は（Ｓ２１００：ＹＥＳ）、ステップＳ２２００に進み、テキスト文を入力していない場合は（Ｓ２１００：ＮＯ）、テキスト文を入力するまで待機する。【００７８】
ステップＳ２２００では、入力されたテキスト文の自然言語解析として、形態素解析、構文解析、および意味解析を逐次実行し、解析結果を出力する。【００７９】
次に、ステップＳ２３００では、言語情報抽出部２２０で、ステップＳ２２００の解析結果から、意味辞書データベース２１０に格納された意味辞書テーブル２１１（図３参照）に含まれる語彙をテキストマッチングして、該当する語彙２１３とその項目２１２を言語情報として抽出し、得られた言語情報（語彙２１３と項目２１２）に基づいてシナリオを生成し、出力する。【００８０】
次に、ステップＳ２４００では、ステップＳ２２００の解析結果と、ステップＳ２３００で抽出したシナリオとに基づいて、入力されたテキスト文の内容に合致するアニメーションのシナリオ（図４参照）を生成する。【００８１】
次に、ステップＳ２５００では、ステップＳ２４００で生成したシナリオをキャラクタ服飾決定部３００に出力した後、図１３のフローチャートにリターンする。【００８２】
例えば、このような処理によって、図２に示す、ジャンルが「メール」のテキスト文（「明日からニセコスキー場でスキーをします。楽しみ。夜はのぞみちゃんと日本旅館で食事をします。もちろん、そのまま泊まります。」）から、図４のシナリオ２３０が生成される。図２のメールテキスト文は、４つの文章からなり、場所を示す語彙として「スキー場」、演技を示す形態素として「スキーする」、感情を表す語彙として「楽しい」、さらに、時を表す語彙として「夜」、場所を示す語彙として「日本旅館」、演技を示す形態素として「食事する」および「泊まる」、をそれぞれ含んでいる。【００８３】
このテキスト文から生成されるシナリオ２３０は、まず、２文目までと、３文目と、４文目とで、３つのシーンに分けられる。１つ目のシーン１は、３つのディレクション２３２−１〜２３２−３で構成されている。すなわち、１つ目のシーン１は、「場所」が「スキー場」であることを示すディレクション１（ディレクション２３２−１）と、「演技」が「スキーする」であることを示すディレクション２（ディレクション２３２−２）と、「感情」が「楽しい」であることを示すディレクション３（ディレクション２３２−３）とで構成されている。２つ目のシーン２は、３つのディレクション２３２−４〜２３２−６で構成されている。すなわち、２つ目のシーン２は、「場所」が「日本旅館」であることを示すディレクション１（ディレクション２３２−４）と、「時」が「夜」であることを示すディレクション２（ディレクション２３２−５）と、「演技」が「食事する」であることを示すディレクション３（ディレクション２３２−６）とで構成されている。３つ目のシーン３は、３つのディレクション２３２−７〜２３２−９で構成されている。すなわち、３つ目のシーン３は、「場所」が「日本旅館」であることを示すディレクション１（ディレクション２３２−７）と、「時」が「夜」であることを示すディレクション２（ディレクション２３２−８）と、「演技」が「泊まる」であることを示すディレクション３（ディレクション２３２−９）とで構成されている。【００８４】
アニメーション作成装置１００には、携帯電話機のユーザを示すキャラクタ（アバター）が、あらかじめ登録されている。シナリオ生成部２００は、テキスト文に主体がない場合には、登録されているキャラクタ名を主体として設定する。これは、日本語には、特にコミュニケーション用途のテキスト文では、書き手であるユーザ自身の主体を省略することが多いという特徴に対応するためである。図４に示すシナリオ２３０の例では、シーン１のディレクション２およびディレクション３の主体として、「花子」をそれぞれ設定する。また、シーン２のディレクション３およびシーン３のディレクション３の主体には、シナリオ２３０の記述から、さらに「のぞみ」を設定する。【００８５】
図１５は、図１３のキャラクタ服飾決定処理（ステップＳ３０００）の内容を示すフローチャートである。このキャラクタ服飾決定処理は、キャラクタ服飾決定部３００によって実行される。【００８６】
まず、ステップＳ３１００では、シナリオ生成部２００で生成されたシナリオ（図４参照）を入力したか否かを判断する。この判断の結果として、シナリオを入力した場合は（Ｓ３１００：ＹＥＳ）、ステップＳ３２００に進み、シナリオを入力していない場合は（Ｓ３１００：ＮＯ）、シナリオを入力するまで待機する。【００８７】
ステップＳ３２００では、シナリオ区分部３２０で、服飾連続判定ルールデータベース３１０に格納された服飾連続判定ルールテーブル３１１（図６参照）に記述されたすべての服飾連続判定ルール３１３を満たすように、キャラクタの服飾が連続する区間（シナリオ区間）を決定する。そして、決定した区間に基づいて図４に示すシナリオ２３０を区分けし、図７に示す区分けされたシナリオ３２１を生成し、服飾決定部３５０に出力する。【００８８】
例として、図４に示すシナリオ２３０から、図７に示す区分されたシナリオ３２１を作成する場合の処理手順を以下に示す。【００８９】
シナリオ区分部３２０は、まず入力されたシナリオ２３０をメモリ（図示せず）に格納する。次に、シナリオ区分部３２０は、服飾連続判定ルールテーブル３１１の「ＩＤ１」の服飾連続判定ルール３１３（組３１１−１）に従って、シナリオ２３０を上から順に走査し、シナリオ２３０に登場するキャラクタ別にテーブルを作成する。【００９０】
この例では、項目２３３が「主体」である値２３４として、「花子」と「のぞみ」が存在するため、「花子」と「のぞみ」の２つのテーブル（図示せず）を作成する。【００９１】
次に、シナリオ区分部３２０は、再びシナリオ２３０を上から順に走査し、シナリオ２３０のディレクションの項目と値を順にそれぞれのテーブルに入力する。このとき、シナリオ区分部３２０は、異なるディレクションであったとしても、同じシーンであれば、「ＩＤ２」の服飾連続判定ルール３１３（組３１１−２）に従って同じテーブルに続けて入力する。また、シナリオ区分部３２０は、直前のシーンに対して場所または時刻が変化する場合は、「ＩＤ３」の服飾連続判定ルール３１３（組３１１−３）に従って、テーブルを分割し、該当シーンからは新たなテーブルにディレクションの項目と値を入力する。【００９２】
この例では、まず、同一シーンに属するディレクション２３２−１の「スキー場」、ディレクション２３２−２の「スキーする」、およびディレクション２３２−３の「楽しい」が、それぞれ「花子」の同一のテーブルに入力される。次に、ディレクション２３２−４で場所が「スキー場」から「日本旅館」に変化するため、「花子」のテーブルは分割され、次のテーブルに、同一シーンに属するディレクション２３２−４の「日本旅館」、ディレクション２３２−５の「夜」、およびディレクション２３２−６の「泊まる」が入力される。次の同一シーンに属するディレクション２３２−７の「日本旅館」、ディレクション２３２−８の「夜」、は、ディレクション２３２−６と異なるシーンに属するが、ディレクション２３２−４〜２３２−６に対して時間も場所も変化しないため、「花子」のテーブルは分割されず、同一のテーブルに続けて入力される。「のぞみ」についての処理も同様である。【００９３】
そして、シナリオ２３０のすべてに対するテーブル作成を完了すると、シナリオ区分部３２０は、作成したテーブルを統合して、図７に示す区分されたシナリオ３２１を作成する。具体的には、シナリオ区分部３２０は、主体ごとに生成されたテーブルを、同一シーンに対応するものでまとめて１つのシナリオ区分とし、かつ、元のシナリオ２３０の順序に沿うようにシナリオ区分とディレクションの項目および値を並び替える。【００９４】
この結果、図７に示すように、２つのシーン区分３２２に区分されたシナリオ３２１が得られる。区分されたシナリオ３２１において、シーン２およびシーン３は、１つのシナリオ区分にまとめられる。すなわち、シーン２およびシーン３は、キャラクタの服飾が連続する区間であることが決定される。区分されたシナリオ３２１は、服飾決定部３５０に出力される。【００９５】
次に、ステップＳ３３００では、服飾決定部３５０で、シナリオ区分ごとに服飾決定処理を実行する。具体的には、キャラクタデータベース３３０に格納されたキャラクタデータテーブル３３１（図８参照）ならびに服飾決定ルールデータベース３４０に格納された第１の服飾決定ルールテーブル３４１（図９参照）および第２の服飾決定ルールテーブル３４５（図１０参照）を用いて、区分されたシナリオ（図７参照）から、キャラクタの服飾を決定し、服飾付きキャラクタデータを出力する。この服飾決定処理については、後で詳細に説明する。【００９６】
次に、ステップＳ３４００では、シナリオ書替部３６０で、ステップＳ３３００で決定した服飾付きキャラクタデータを用いて、キャラクタ服飾決定部３００に入力されたシナリオの書き替えを行い、書き替え後のシナリオ（服飾されたキャラクタを含む）を出力した後、図１３のフローチャートにリターンする。具体的には、入力されたシナリオにおける、「主体」という項目２３３に対応する項目値２３４を、ステップＳ３３００で決定した服飾付きキャラクタデータに書き替えて、書き替え後のシナリオを出力する。【００９７】
図１６は、図１５の服飾決定処理（ステップＳ３３００）の内容を示すフローチャートである。この服飾決定処理は、服飾決定部３５０によって実行される。【００９８】
まず、ステップＳ３３１０では、図１５のステップＳ３２００で区分されたシナリオ（図７参照）を構成するシナリオ区分およびそのシナリオ区分に含まれる主体のうち、キャラクタデータの決定および出力が完了していないものを１つ選択する。【００９９】
ステップＳ３３２０では、服飾決定ルールデータベース３４０に格納された第１の服飾決定ルールテーブル３４１（図９参照）を用いて、入力した区分されたシナリオから服飾の候補を列挙する。【０１００】
次に、ステップＳ３３３０では、区分されたシナリオ３２１における主体３２３の名称と、ステップＳ３３２０で列挙した服飾の候補とを、それぞれキーとして、キャラクタデータベース３３０に格納されたキャラクタデータテーブル３３１（図８参照）を検索し、該当するキャラクタデータ３３４を取得する。【０１０１】
次に、ステップＳ３３４０では、ステップＳ３３３０の処理結果として、該当するキャラクタデータ３３４が１つもないか否かを判断する。この判断の結果として、該当するキャラクタデータ３３４が１つもない場合は（Ｓ３３４０：ＹＥＳ）、ステップＳ３３５０に進み、該当するキャラクタデータ３３４が１つ以上ある場合は（Ｓ３３４０：ＮＯ）、ステップＳ３３６０に進む。【０１０２】
ステップＳ３３５０では、与えられた主体３２３の名称と服飾とで該当するキャラクタデータを取得できなかったため、デフォルトの服飾に対応するキャラクタデータを検索する。検索は、主体３２３の名称のみをキーとして、キャラクタデータテーブル３３１を検索し、服飾３３３が「デフォルト」のキャラクタデータ３３４を取得した後、ステップＳ３３８０に進む。なお、キャラクタデータベース３３０は、主体３２３の名称のみをキーとして検索を実行した場合、服飾３３３が「デフォルト」のキャラクタデータ３３４を抽出するようになっているものとする。さらに、主体３２３の名称のみをキーとして検索しても該当するキャラクタデータ３３４が得られない場合は、任意のキャラクタデータ３３４を抽出するようになっているものとする。【０１０３】
ステップＳ３３６０では、ステップＳ３３３０の処理結果として、さらに、該当するキャラクタデータ３３４が複数あるか否かを判断する。この判断の結果として、該当するキャラクタデータ３３４が複数ある場合は（Ｓ３３６０：ＹＥＳ）、ステップＳ３３７０に進み、該当するキャラクタデータ３３４が複数ない場合、つまり、該当するキャラクタデータ３３４が１つのみの場合は（Ｓ３３６０：ＮＯ）、ただちにステップＳ３３８０に進む。【０１０４】
ステップＳ３３７０では、複数の該当するキャラクタデータ３３４を１つに絞るために、服飾決定ルールデータベース３４０に格納された第２の服飾決定ルールテーブル３４５（図１０参照）に記述されたメタ知識３４７をＩＤ３４６の順序に従い１つずつ適用して、１つのキャラクタデータ３３４を決定する。【０１０５】
具体的には、まず、「ＩＤ１」というＩＤ３４６のメタ知識３４７を適用し、キャラクタデータ３３４の絞り込みを試みる。適用の結果、１つのキャラクタデータに絞り込まれない場合には、次の「ＩＤ２」というＩＤ３４６のメタ知識３４７を適用する。以降、同様に、１つのキャラクタデータに絞り込まれるまでメタ知識３４７を順に適用していく。【０１０６】
ステップＳ３３８０では、ステップＳ３３３０、ステップＳ３３５０、またはステップＳ３３７０で得られた唯一のキャラクタデータ３３４を出力する。【０１０７】
ステップＳ３３９０では、未処理のシナリオ区分と主体との組み合わせが残っているか否かを判断する。この判断の結果として、未処理のシナリオ区分と主体との組み合わせが残っている場合は（Ｓ３３９０：ＹＥＳ）、ステップＳ３３１０に戻り、すべてのシナリオ区分と主体との組み合わせについて処理を完了した場合は（Ｓ３３９０：ＮＯ）、図１５のフローチャートにリターンする。この結果、ステップＳ３３２０〜Ｓ３３８０の一連の処理は、区分されたシナリオ３２１のシナリオ区分ごとおよび主体ごとに行われるため、最終的に服飾決定部３５０から出力されるキャラクタデータ３３４の数は、区分されたシナリオ３２１におけるシナリオ区分と主体との組み合わせの数に等しくなる。【０１０８】
例えば、図７に示す区分されたシナリオ３２１の「シナリオ区分１」の場合、図９の服飾決定ルールテーブル３４１において、記述された言語情報３４４に該当するのは、組３４１−１のみである。したがって、「花子」の服飾３４３の候補として、対応する服飾「スキーウェア」のみが抽出され、１つのキャラクタデータ「Hana_skiwear.cg」に絞り込まれるため、キャラクタデータ「Hana_skiwear.cg」が出力される。【０１０９】
一方、２つ目のシナリオ区分である「シナリオ区分２」の場合、主体「花子」にのみ着目すると、図９の服飾決定ルールテーブル３４１において、記述された言語情報３４４に該当するのは、組３４１−２と組３４１−８の２つである。すなわち、該当するキャラクタデータは、「浴衣」に対応する「Hana_yukata.cg」と、「外出着」に対応する「Hana_street.cg」の２つである。したがって、まず、図１０に示す第２の服飾決定ルールテーブル３４５の「ＩＤ１」というＩＤ３４６のメタ知識３４７を適用する。ところが、組３４１−２と組３４１−８のいずれもＡＮＤを含まないため、次の「ＩＤ２」というＩＤ３４６のメタ知識３４７を適用する。ところが、直前の服装である「スキーウェア」は選択肢に含まれていないため、次の「ＩＤ３」というＩＤ３４６のメタ知識３４７を適用する。ところが、組３４１−２と組３４１−８のいずれも「場所」に関する言語情報のみであるため、次の「ＩＤ４」というＩＤ３４６のメタ知識３４７を適用する。この結果、ルールＩＤの優先順位の高い組３４１−２に対応する服飾「浴衣」のみが抽出され、キャラクタデータ「Hana_yukata.cg」が出力される。【０１１０】
すなわち、各シナリオ区分において、抽出されたキャラクタデータ３３４は１つのみであり、「スキーウェア」と「浴衣」がそれぞれ最終的な出力となる。【０１１１】
服飾の連続性を考慮しない場合には、例えば、図４に示すシナリオ２３０のシーン２に対して、服飾「外出着」が決定される可能性がある。日本旅館に立ち寄って食事をするだけの場合には、キャラクタの服飾として外出着が相応しい。ところが、食事に続けて宿泊する場合には、外出着よりも浴衣が相応しい。このように、服飾の連続性を考慮することによって、より適切な服飾を決定することが可能となる。【０１１２】
なお、仮に、区分されたシナリオの同一シナリオ区分に「場所：日本旅館」と「演技：泳ぐ」とが存在する場合、ステップＳ３３２０では、第１の服飾決定ルールテーブル３４１の組３４１−２と組３４１−３から、「浴衣」と「水着」の２つの服飾候補が得られる。この場合、該当するキャラクタデータ３３４が複数存在するため、第２の服飾決定ルールテーブル３４５に記述されたメタ知識３４７を１つずつ適用する。【０１１３】
具体的には、組３４５−１に記述されたメタ知識３４７は、「ＡＮＤで接続された条件の厳しいルール結果を採用する」というものであり、この場合、第１の服飾決定ルールテーブル３４１の組３４１−２と組３４１−３は、どちらも、同程度の条件であるため、次のメタ知識３４７を適用する。次の組３４５−２に記述されたメタ知識３４７は、「直前の服装を引き継ぐ」というものであり、この場合、いずれも直前の服装がないため、同じく次のメタ知識３４７を適用する。次の組３４５−３に記述されたメタ知識３４７は、「項目に以下の優先順位を用いる」というものであり、「演技」が「場所」よりも優先されると記述されているため、ここで、「演技：泳ぐ」の言語情報３４４が適用され、服飾３４３は「水着」に決定される。なお、仮に、ここでも１つに絞れなかった場合は、最後の組３４５−４に記述されたメタ知識３４７である「ルールＩＤの昇順で優先順をつける」が適用され、必ず１つに絞ることができるようになっている。【０１１４】
図１７は、図１３のアニメーション生成処理（ステップＳ４０００）の内容を示すフローチャートである。なお、このアニメーション生成処理は、アニメーション生成部４００によって実行される。また、ステップＳ４２００〜ステップＳ４５００の処理の具体的な内容は、例えば、特開２００５−４４１８１号公報に詳細に記載されているため、ここでは詳細な説明を省略する。【０１１５】
まず、ステップＳ４１００では、図１５のステップＳ３４００で出力された書き替え後のシナリオ（服飾付きキャラクタデータを含む）（図１１参照）を入力したか否かを判断する。この判断の結果として、書き替え後のシナリオを入力した場合は（Ｓ４１００：ＹＥＳ）、ステップＳ４２００に進み、書き替え後のシナリオを入力していない場合は（Ｓ４１００：ＮＯ）、書き替え後のシナリオを入力するまで待機する。【０１１６】
ステップＳ４２００では、入力した書き替え後のシナリオ３７０の場所や主体の演技から、キャラクタの配置を決定する。「配置」には、具体的な座標や姿勢が含まれる。キャラクタの配置を決定する最も単純な方法は、例えば、場所と演技の組み合わせごとにどこにキャラクタを配置すべきかをあらかじめ記憶したデータベースを参照する方法である。【０１１７】
次に、ステップＳ４３００では、入力した書き替え後のシナリオ３７０の主体の演技から、キャラクタのモーションを決定する。「モーション」には、具体的な姿態の形状やタイミング、時間が含まれる。キャラクタのモーションを決定する最も単純な方法は、例えば、演技とモーションを１対１に対応付けたデータベースを参照する方法である。【０１１８】
次に、ステップＳ４４００では、入力した書き替え後のシナリオ３７０の場所や主体の演技から、カメラワークやライティングなどの演出を決定する。演出を決定する最も単純な方法は、例えば、演技と演出を１対１に対応付けたデータベースを参照する方法である。【０１１９】
次に、ステップＳ４５００では、入力したシナリオに含まれるキャラクタならびにステップＳ４２００〜ステップＳ４４００でそれぞれ決定した配置情報、モーション情報、および演出情報で構成されるアニメーションを出力する。【０１２０】
このように、本実施の形態によれば、意味辞書データベース２１０を用いて、入力されたテキスト文からシナリオを抽出し、服飾連続判定ルールデータベース３１０を用いて、シナリオを服飾の連続単位で区分し、キャラクタデータベース３３０および服飾決定ルールデータベース３４０を用いて、区分されたシナリオからキャラクタの服飾を決定する。したがって、ユーザによる服飾指定や、ユーザの環境情報を用いることなく、入力されたテキスト文の内容、つまり生成されたシナリオの内容に合致するキャラクタの服飾を決定することができる。【０１２１】
具体的には、意味辞書を用いることにより、テキスト文からキャラクタの服飾を決定する上で必要なシナリオを抽出し、服飾連続判定ルールを用いることにより、シナリオを服飾の連続単位で区分し、キャラクタデータベースと服飾決定ルールを用いることにより、区分されたシナリオからキャラクタの服飾を決定する。【０１２２】
例えば、テキスト文に「泳いでいます。」という言葉が含まれている場合、キャラクタは、水着を着た状態で表示され、また、テキスト文に「面接会場まで来ました。」という言葉が含まれている場合、キャラクタは、スーツを着た状態で表示されることが可能になる。これにより、ユーザによる服飾指定や、ユーザの環境情報を用いることなく、シナリオの内容に合致するキャラクタの服飾を自動的に決定することができる。【０１２３】
また、メッセージの内容が多く、かつ長いシナリオになると、生成するアニメーションは、複数の演技や複数の人物、複数のシーンで構成される。このような場合において、キャラクタの服飾を決定するためには、複数の言語情報をいかに処理するか、矛盾や競合をいかに解消するか、さらに、服飾をどこまで連続しどのタイミングで変えるかをいかに判定するかが、重要なポイントになる。【０１２４】
この点、本実施の形態によれば、服飾連続判定ルールデータベース３１０を設けたため、服飾をどこまで連続しどのタイミングで変えるかを判定することができる。また、第１の服飾決定ルールテーブル３４１と第２の服飾決定ルールテーブル３４５を含む服飾連続判定ルールデータベース３１０を設けたため、複数の言語情報を処理することができるとともに、たとえ矛盾や競合があった場合にも、その矛盾や競合を解消して、１つの服飾を決定することができる。【０１２５】
また、シナリオにおける服飾決定の標準の区分（ディレクションなど）において、区分されたシナリオに情報が乏しい場合、シナリオの内容に相応しくない服飾が決定されてしまう可能性がある。【０１２６】
この点、本実施の形態によれば、服飾の連続する複数の区分を一まとまりとして扱い、より多くの情報に基づいて服飾を決定できるため、シナリオの内容により相応しい服飾を決定することができる。【０１２７】
なお、本実施の形態では、シナリオ区分が１つまたは複数のシーンで構成されるような服飾連続判定ルールを適用した場合について説明したが、これに限定されるものではない。ディレクションなど、シナリオ区分が他の単位で構成されるような服飾連続判定ルールを適用してもよい。例えば、あるシーンの途中から他のシーンの途中までが１つのシナリオ区分となるような服飾連続判定ルールを適用してもよい。【０１２８】
また、図９に示す第１の服飾決定ルールテーブルを書き換えることにより、例えば、「水着―＞“演技：スキーをする”」、「タキシード−＞“演技：泳ぐ”」等、遊び心のある服飾を決定することができる。【０１２９】
また、服飾連続判定ルールテーブル、第１の服飾決定ルールテーブル、第２の服飾決定ルールテーブル、キャラクタデータテーブルなどのテーブルを複数種類用意し、元のテキスト文の種類や、ユーザの嗜好に応じて、切り替えて用いるようにしてもよい。これにより、シナリオの内容により合致したキャラクタの服飾や、ユーザの嗜好に沿ったキャラクタの服飾を決定することが可能となる。【０１３０】
また、本実施の形態では、本発明に係るキャラクタ服飾決定装置を搭載したアニメーション作成装置を携帯電話機に適用する場合を例にとって説明したが、これに限定されるわけではなく、アニメーションを構成する各種のハードウェアやアプリケーションソフトウェア、サービスにも適用することができる。【０１３１】
本発明の一態様に係るキャラクタ服飾情報生成装置は、入力されたテキスト文から得られる言語情報からキャラクタの服飾を自動的に生成する服飾情報生成装置において、服飾の継続性を判定するための服飾継続判定ルールを記憶する服飾継続判定ルール記憶部と、前記服飾継続判定ルール記憶部を参照して、キャラクタの服飾を決定するための言語情報を区分する言語情報区分部と、前記言語情報と服飾の関係を示す第１の服飾決定ルールを記憶する服飾決定ルール記憶部と、前記服飾決定ルール記憶部を参照して、前記言語情報区分部によって区分された言語情報から、キャラクタの服飾を決定する服飾決定部と、を有する構成を採る。【０１３２】
本発明の他の態様に係るキャラクタ服飾情報生成方法は、入力されたテキスト文から得られる言語情報からキャラクタの服飾を自動的に生成する服飾情報生成方法において、服飾の継続性を判定するための服飾継続判定ルールを記憶する服飾継続判定ルール記憶部を参照して、キャラクタの服飾を決定するための言語情報を区分する言語情報区分ステップと、前記言語情報と服飾の関係を示す第１の服飾決定ルールを記憶する服飾決定ルール記憶部を参照して、前記言語情報区分ステップで区分した言語情報から、キャラクタの服飾を決定する服飾決定ステップと、を有するようにした。【０１３３】
本発明のさらに他の態様に係るキャラクタ服飾情報生成プログラムは、入力されたテキスト文から得られる言語情報からキャラクタの服飾を自動的に生成するための服飾情報生成プログラムにおいて、服飾の継続性を判定するための服飾継続判定ルールを記憶する服飾継続判定ルール記憶部を参照して、キャラクタの服飾を決定するための言語情報を区分する言語情報区分ステップと、前記言語情報と服飾の関係を示す第１の服飾決定ルールを記憶する服飾決定ルール記憶部を参照して、前記言語情報区分ステップで区分した言語情報から、キャラクタの服飾を決定する服飾決定ステップと、をコンピュータに実行させるようにしたものである。【０１３４】
２００６年５月３０日出願の特願２００６−１５０３６４の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【０１３５】
本発明に係るキャラクタ服飾決定装置は、ユーザによる服飾指定や、ユーザの環境情報を用いることなく、シナリオの内容に合致するキャラクタの服飾を決定することができるものであって、携帯電話機をはじめとする携帯端末装置や、パソコン、ゲーム機などとして有用である。
【図１】
2007138911.tif 000003
【図２】
2007138911.tif 000004
【図３】
2007138911.tif 000005
【図４】
2007138911.tif 000006
【図５】
2007138911.tif 000007
【図６】
2007138911.tif 000008
【図７】
2007138911.tif 000009
【図８】
2007138911.tif 000010
【図９】
2007138911.tif 000011
【図１０】
2007138911.tif 000012
【図１１】
2007138911.tif 000013
【図１２】
2007138911.tif 000014
【図１３】
2007138911.tif 000015
【図１４】
2007138911.tif 000016
【図１５】
2007138911.tif 000017
【図１６】
2007138911.tif 000018
【図１７】
2007138911.tif 000019
【手続補正書】
【提出日】平成20年10月17日(2008.10.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
シナリオからキャラクタの服飾を決定するキャラクタ服飾決定装置において、
前記キャラクタの服飾の連続性に基づいて前記シナリオを区分するシナリオ区分部と、
前記シナリオ区分部によって区分されたシナリオのシナリオ区分毎に、前記シナリオ区分の内容に基づいて前記キャラクタの服飾を決定する服飾決定部と、
を有するキャラクタ服飾決定装置。
【請求項２】
前記シナリオは、言語情報の項目と前記項目の内容を示す項目値とを含み、
前記言語情報の項目と語彙の組で構成される意味辞書を記憶する意味辞書記憶部と、
前記意味辞書を参照し、テキスト文に含まれる言語情報を前記項目と対応付けて前記シナリオを生成するシナリオ生成部と、をさらに有する、
請求項１記載のキャラクタ服飾決定装置。
【請求項３】
前記シナリオは、前記項目として、キャラクタの服飾の指定、キャラクタの演技、キャラクタの名称、演技の対象相手、キャラクタの感情、キャラクタ演技の目的、シーンの形容詞表現、シーンの場所、シーンの時、シーンの天候、および文中の絵文字のうち、少なくとも１つを含む、
請求項１記載のキャラクタ服飾決定装置。
【請求項４】
前記キャラクタの服飾が連続する条件を示す服飾連続判定ルールを記憶する服飾連続判定ルール記憶部、をさらに有し、
前記シナリオ区分部は、
前記服飾連続判定ルールを参照して前記シナリオの前記キャラクタの服飾が連続する区分を判定し、判定した区分で前記シナリオを区分する、
請求項１記載のキャラクタ服飾決定装置。
【請求項５】
前記シナリオと前記キャラクタの服飾の関係を示す第１の服飾決定ルールを記憶する服飾決定ルール記憶部、をさらに有し、
前記服飾決定部は、
前記第１の服飾決定ルールを参照して前記キャラクタの服飾を決定する、
請求項１記載のキャラクタ服飾決定装置。
【請求項６】
前記第１の服飾決定ルールは、論理記号を用いて複数組の言語情報を結合して構成される、
請求項５記載のキャラクタ服飾決定装置。
【請求項７】
前記服飾決定ルール記憶部は、
前記第１の服飾決定ルールを適用した場合の矛盾または競合を解消するメタ知識を示す第２の服飾決定ルールを記憶し、
前記服飾決定部は、
前記第２の服飾決定ルールを参照して前記キャラクタの服飾を決定する、
請求項１記載のキャラクタ服飾決定装置。
【請求項８】
キャラクタの名称と服飾にキャラクタデータを対応付けたキャラクタデータテーブルを記憶するキャラクタデータ記憶部、をさらに有し、
前記服飾決定部は、
前記キャラクタデータテーブルを参照して、決定したキャラクタの服飾に対応する服飾付きのキャラクタデータを抽出する、
請求項１記載のキャラクタ服飾決定装置。
【請求項９】
前記キャラクタデータは、キャラクタの実体を指定するポインタである、
請求項８記載のキャラクタ服飾決定装置。
【請求項１０】
シナリオからキャラクタの服飾を決定するキャラクタ服飾決定方法において、
前記キャラクタの服飾の連続性に基づいて前記シナリオを区分するシナリオ区分ステップと、
前記シナリオ区分ステップによって区分されたシナリオのシナリオ区分毎に、前記シナリオ区分の内容に基づいて前記キャラクタの服飾を決定する服飾決定ステップと、
を有するキャラクタ服飾決定方法。
【請求項１１】
シナリオからキャラクタの服飾を決定する処理をコンピュータに実行させるためのキャラクタ服飾決定プログラムにおいて、
前記キャラクタの服飾の連続性に基づいて前記シナリオを区分するシナリオ区分処理と、
前記シナリオ区分処理によって区分されたシナリオのシナリオ区分毎に、前記シナリオ区分の内容に基づいて前記キャラクタの服飾を決定する服飾決定処理と、
をコンピュータに実行させるためのキャラクタ服飾決定プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シナリオから、シナリオに登場するキャラクタの服飾を決定するキャラクタ服飾決定装置、キャラクタ服飾決定方法、およびキャラクタ服飾決定プログラムに関する。
【背景技術】
【０００２】
現在、電子メールやチャット、ブログなどは、すでに日常的なコミュニケーション手段として定着している。特に近年では、テキスト文のみのメッセージだけではなく、静止画や動画のＣＧ（Computer Graphics）によってテキスト文を装飾した、遊びの要素を含んだメッセージをやり取りできるアプリケーションやサービスが増えている。
【０００３】
このようなアプリケーションやサービスとして、例えば、携帯電話で画像やメールのテンプレートを自由に組み合わせ、装飾付きのメールを送信するメールアプリケーションや、受信したメールに含まれる特定の絵文字や文字列を判別して、受信画面にＣＧアニメーションを表示するアプリケーション、簡単なキー操作によりキャラクタの身振り手振りや表情が付いたメッセージを送信するサービスなどがある。
【０００４】
また、コミュニケーション用途で用いるキャラクタを手軽に自作できるようにするために、特許文献１および特許文献２に記載された技術は、キャラクタの服飾や目鼻のパーツを選択して組み合わせるという簡単な操作で、コミュニケーション用途で用いるキャラクタを作成するという手法を採っている。
【０００５】
また、煩わしい操作を必要とせず、コミュニケーション用のアニメーションをより臨場感あるものにすることを目的に、特許文献３に記載された技術は、利用者の環境情報（場所や天候、時間帯など）を用いてメールに付与するアバター（利用者を表すキャラクタ）の服飾を決定するという手法を採っている。
【特許文献１】特開２００１−１６７２８７号公報
【特許文献２】特開２００３−３４６１７３号公報
【特許文献３】特開平１１−３４６２６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上記のような、電子メールやチャット、ブログなどのテキスト文を装飾するためのアニメーションは、メッセージの内容と関係するものでなくてはならない。特に、アニメーションに登場するキャラクタの服飾は、メッセージの内容から容易に類推できる服飾であることが望ましい。
【０００７】
しかしながら、上記の特許文献に記載された技術は、いずれも、キャラクタの服飾を決める上で、ユーザが記述したテキスト文をまったく考慮していない。
【０００８】
特許文献１および特許文献２に記載された技術においては、キャラクタのプロパティ選択画面でユーザがキャラクタの服飾を明示的に選択するようにしている。しかし、この方法では、テキスト文の内容がストーリー性を有するシナリオである場合、その内容に合致したキャラクタを表示するためには、ストーリー上で場面が変化するたびにキャラクタの服飾を選択し直さなくてはならず、不便である。
【０００９】
また、特許文献３に記載された技術においては、ユーザの環境情報を用いてキャラクタの服飾を自動的に選択できるため、煩わしい操作を回避することができるものの、一方で、メッセージ作成者の周囲の環境と関係のない内容のシナリオには対応することができないため、汎用性のある方法ではない。すなわち、シナリオの内容に合致したキャラクタの服飾を決定することはできない。
【００１０】
本発明の目的は、ユーザによる服飾指定や、ユーザの環境情報を用いることなく、シナリオの内容に合致するキャラクタの服飾を決定することができるキャラクタ服飾決定装置、キャラクタ服飾決定方法、およびキャラクタ服飾決定プログラムを提供することである。
【課題を解決するための手段】
【００１１】
本発明のキャラクタ服飾決定装置は、シナリオからキャラクタの服飾を決定するキャラクタ服飾決定装置において、前記キャラクタの服飾の連続性に基づいて前記シナリオを区分するシナリオ区分部と、前記シナリオ区分部によって区分されたシナリオのシナリオ区分毎に、前記シナリオ区分の内容に基づいて前記キャラクタの服飾を決定する服飾決定部と、を有する構成を採る。
【００１２】
本発明のキャラクタ服飾決定方法は、シナリオからキャラクタの服飾を決定するキャラクタ服飾決定方法において、前記キャラクタの服飾の連続性に基づいて前記シナリオを区分するシナリオ区分ステップと、前記シナリオ区分ステップによって区分されたシナリオのシナリオ区分毎に、前記シナリオ区分の内容に基づいて前記キャラクタの服飾を決定する服飾決定ステップと、を有するようにした。
【００１３】
本発明のキャラクタ服飾決定プログラムは、シナリオからキャラクタの服飾を決定する処理をコンピュータに実行させるためのキャラクタ服飾決定プログラムにおいて、前記キャラクタの服飾の連続性に基づいて前記シナリオを区分するシナリオ区分処理と、前記シナリオ区分処理によって区分されたシナリオのシナリオ区分毎に、前記シナリオ区分の内容に基づいて前記キャラクタの服飾を決定する服飾決定処理と、をコンピュータに実行させるようにしたものである。
【発明の効果】
【００１４】
本発明によれば、ユーザによる服飾指定や、ユーザの環境情報を用いることなく、入力されたシナリオの内容に合致するキャラクタの服飾を決定することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施の形態について、図面を参照して詳細に説明する。
【００１６】
図１は、本発明の一実施の形態に係るキャラクタ服飾決定装置を搭載したアニメーション作成装置の構成を示すブロック図である。
【００１７】
図１に示すアニメーション作成装置１００は、テキスト文からアニメーションを決定する機能を有し、大別して、シナリオ生成部２００、キャラクタ服飾決定部３００、およびアニメーション生成部４００を有する。シナリオ生成部２００は、意味辞書データベース２１０と言語情報抽出部２２０を有する。キャラクタ服飾決定部３００は、服飾連続判定ルールデータベース３１０、シナリオ区分部３２０、キャラクタデータベース３３０、服飾決定ルールデータベース３４０、服飾決定部３５０、およびシナリオ書替部３６０を有する。
【００１８】
アニメーション作成装置１００は、テキスト文を入力して、その内容に応じたアニメーションそのものまたはアニメーションに１対１に対応するアニメーション情報（例えば、テキストなど）を生成し、出力するシステムである。
【００１９】
アニメーションを表示するためには、どのキャラクタや背景、小物を用いるかという情報と、キャラクタが時系列でどのように動作するか、キャラクタなどをどこに配置するかといったシナリオとが必要である。ここでは、アニメーションの種類は、特に限定されない。例えば、アニメーションは、Ｆｌａｓｈ（登録商標）などの２次元アニメーションであっても、ＯｐｅｎＧＬ（登録商標）やＤｉｒｅｃｔＸ（登録商標）などの周知の技術を用いた３次元ＣＧアニメーションであってもよい。さらに、アニメーションは、４コマ漫画のようにストーリーに沿って提示される複数の静止画や、パラパラ漫画のように複数の静止画がストーリーに沿ってパラパラと切り替わって表示されるものであってもよい。また、ここでは、アニメーションの内容も、特に限定されない。少なくとも１体以上のキャラクタが登場するアニメーション（例えば、服飾が変化するアバターのみのアニメーション）であればよい。
【００２０】
ところが、上記のように、システムに入力される情報は、テキスト文だけである。そこで、本実施の形態のアニメーション作成装置は、テキスト文からアニメーションを生成するために、一般的に、テキスト文からアニメーションのシナリオを生成するシナリオ生成部と、シナリオからアニメーションに登場するキャラクタを決定するキャラクタ決定部と、それらの情報からアニメーションを生成するアニメーション生成部とを備えている。さ
らに、本実施の形態におけるアニメーション作成装置１００は、テキスト文からアニメーションを生成する際に、キャラクタ服飾決定部３００により、アニメーションに登場するキャラクタの服飾を決定する機能を有する。より具体的には、入力されたテキスト文から得られる情報（例えば、服飾指定、演技、主体（呼称）、相手、感情、形容詞、絵文字、場所、目的、時、天候など）から、アニメーションにおけるキャラクタの服飾を決定する機能を有する。ここで、「服飾」とは、衣服やアクセサリ、小物などを広く意味する。
【００２１】
上記のように、アニメーションに登場するキャラクタの服飾は、メッセージの内容から容易に類推できる服飾であることが望ましい。例えば、多くの人は、「今日は朝から剣道をしていました。」というテキスト文を読むと、剣道着を着たキャラクタが剣道をしている情景を思い浮かべるであろう。これは、「剣道をする」という演技を表す言語情報から、そのキャラクタが剣道着を着ているのが妥当であると考えるからである。他にも、「この夏は暑い」というテキスト文から、Ｔシャツを着たキャラクタを思い浮かべたり、「プールにいます」というテキスト文から、水着を着たキャラクタを多くの人は思い浮かべるものである。これらは、「暑い」という天候を表す言語情報や、「プール」という場所を表す言語情報から、それぞれＴシャツ姿や水着姿を連想するためである。このようにテキスト文には、キャラクタの服飾を決める可能性の高い言語情報が数多く含まれている。そこで、本実施の形態では、シナリオ生成部２００に意味辞書データベース２１０と言語情報抽出部２２０を設けるとともに、新たにキャラクタ服飾決定部３００を設けることにより、入力されたテキスト文から得られるシナリオを用いて、テキスト文の内容に合致するようにアニメーションに登場するキャラクタの服飾を自動的に決定するようにしている。
【００２２】
なお、本実施の形態では、携帯電話機を例にとって説明するが、これに限定されない。本発明に係るキャラクタ服飾決定装置を搭載したアニメーション作成装置は、携帯電話機以外にも、例えば、ＰＣ（Personal Computer）やＰＤＡ（Personal Digital Assistant）、ビデオカメラ、電子ブックといった各種のハードウェアにも同様に適用可能である。また、電子メールソフトウェアのみならず、チャットソフトウェアやウェブ（ｗeb）掲示板、ＳＮＳ（Social Network Service）、ブログ（ｗeblog）、日記帳作成ツールなどの、各種アプリケーションソフトウェアや各種サービスにも同様に適用可能である。
【００２３】
アニメーション作成装置１００は、例えば、携帯電話機のメール作成・表示機能に組み込まれている。この場合、携帯電話機は、ユーザがメールを作成する機能と、作成されたメールのテキスト文をアニメーション作成装置１００に入力する機能と、アニメーション作成装置１００の出力結果であるアニメーションを表示・保存する機能とを有する。これらの機能は、ユーザのキー操作によって開始される。また、携帯電話機は、受信したメールのテキスト文をアニメーション作成装置１００に入力する機能と、アニメーション作成装置１００の出力結果であるアニメーションを表示・保存する機能とを有する。これにより、自分が書いたテキスト文のみならず、他人が書いたテキスト文からも、当該テキスト文の内容をアニメーションとして表示することが可能になる。
【００２４】
ここでは、アニメーション作成装置１００の構成についての詳細な説明に先立って、まず、アニメーション作成装置１００に入力されるテキスト文について説明しておく。
【００２５】
図２は、テキスト文の一例を示す図である。
【００２６】
図２は、メール、携帯メール、ブログ、および日記の４つの異なるジャンルにおけるそれぞれのテキスト文の例を示している。多くのコミュニケーション用途のテキスト文の内容は、自分または相手の行動や気持ち、情景などで構成されている。本実施の形態でも、そのような構成のテキスト文を対象としている。また、本実施の形態は、上記の例以外にも、映画や劇のシナリオ、書籍、雑誌、および新聞記事などにも適用可能である。
【００２７】
図１に戻って、アニメーション作成装置１００の構成について詳細に説明する。
【００２８】
シナリオ生成部２００は、テキスト文を入力し、自然言語解析処理などによりアニメーションのシナリオを生成し、出力する。自然言語解析処理は、形態素解析、構文解析、意味解析の順番で解析するのが一般的な方法である。シナリオ生成方法としては、意味解析の結果に主体や演技、場所などの情報を補完する方法が知られている。自然言語解析とアニメーションシナリオの生成については、例えば、Ｒ.Ｃ.シャンク、Ｃ.Ｋ.リーズベック、石崎俊（訳）、「自然言語理解入門」、総研出版、第２２４頁〜第２５８頁に詳細に記載されているため、ここでは詳細な説明を省略する。
【００２９】
意味辞書データベース２１０は、特にキャラクタの服飾を決定する上で必要な言語情報を抽出してシナリオを生成するための意味辞書テーブルを格納している。意味辞書テーブルは、項目と語彙の組で構成されている。
【００３０】
図３は、意味辞書データベース２１０に格納された意味辞書テーブルの一例を示す図である。
【００３１】
図３に示す意味辞書テーブル２１１には、キーとなる項目２１２に対応付けて、語彙２１３が登録されている。図３において、項目２１２は、その値として、キャラクタの服飾の指定を示す「服飾指定」、キャラクタの演技を示す「演技」、キャラクタの名称を示す「人物」、キャラクタの感情を示す「感情」、キャラクタ演技の目的を示す「目的」、シーンの形容詞表現を示す「形容詞」、シーンの場所を示す「場所」、シーンの時を示す「時」、シーンの天候を示す「天候」、およびシナリオ文の中の絵文字を示す「絵文字」で構成されている。なお、意味辞書テーブル２１１の項目２１２は、これらすべての項目で構成されている必要はなく、これらの項目のうち、少なくとも１つの項目で構成されていればよい。
【００３２】
また、語彙２１３には、項目２１２ごとに、１つ以上の語彙が登録されている。例えば、図３に示す例では、「服飾指定」という項目２１２に対応する語彙２１３として、「タキシード」と「白衣」が登録されている。
【００３３】
言語情報抽出部２２０は、入力されたテキスト文（図２参照）から意味辞書データベース２１０に格納された意味辞書テーブル２１１（図３参照）に含まれる語彙をテキストマッチングして、該当する語彙２１３とその項目２１２を言語情報として抽出し、得られた言語情報（語彙２１３と項目２１２）に基づいてシナリオを生成し、出力する。ただし、「人物」という項目２１２については、自然言語処理によりテキスト文の内容に応じて項目２１２の値を「主体」か「相手」のどちらかに変更して、シナリオを生成する。例えば、語彙２１３が「ガ格」でテキスト文に現れた場合は、主格を表すために項目２１２の値を「主体」に変更し、語彙２１３が「ニ格」でテキスト文に現れた場合は、目的格を表すために項目２１２の値を「相手」に変更する。最後に、シナリオ生成部２００によって生成されたシナリオは、キャラクタ服飾決定部３００に出力される。
【００３４】
図４は、シナリオ生成部２００によって生成されるシナリオの一例を示す図である。
【００３５】
図４に示すシナリオ２３０は、複数のシーン２３１で構成されている。シーン２３１は、アニメーションのシーンの単位であり、一般的に、同一時間帯、同一場所におけるアニメーションを示している。各シーン２３１に対応するアニメーションは、シナリオ２３０の上から順に逐次的に再生される。各シーン２３１は、さらに、複数のディレクション２３２で構成されている。ディレクション２３２は、アニメーションのディレクションの単
位であり、一般的に、同一時刻におけるアニメーションを示している。各ディレクション２３２に対応するアニメーションは、シナリオ２３０の上から順に逐次的に再生される。各ディレクション２３２は、さらに、言語情報の項目２３３と言語情報の項目値２３４で構成されている。項目２３３は、対応するディレクション２３２の項目を示すものであり、その内容は、項目値２３４に記述される。項目２３３が取り得る値は、例えば、「服飾指定」、「演技」、「主体」、「相手」、「感情」、「目的」、「形容詞」、「場所」、「時」、「天候」、および「絵文字」である。また、項目値２３４が取り得る値は、任意の文字列である。項目値２３４の文字列は、対応する項目２３３に関係する、テキスト文の内容に基づいて、決定される。
【００３６】
図５は、図４に示すシナリオ２３０のデータ構成の一例を示す図である。図５に示すように、シナリオ２３０は、例えばＸＭＬ（eXtensible Markup Language）形式のデータ構成を採る。ここで、「Scene id」として指定される値は、図４のシーン２３１に対応し、「Direction id」として指定される値は、図４のディレクション２３２に対応する。また、「Location」、「Subject」、「Action」、「Emotion」、「Time」は、図４の項目２３３のうち、それぞれ「場所」、「主体」、「演技」、「感情」、「時」に対応し、併せて記述される文字列は、図４の項目値２３４に対応する。
【００３７】
キャラクタ服飾決定部３００は、シナリオ生成部２００によって生成されたシナリオを入力し、キャラクタデータベース３３０を用いて、アニメーションに登場するキャラクタの実体を表すキャラクタデータを決定し、出力する。その際、本実施の形態では、キャラクタ服飾決定部３００は、服飾連続判定ルールデータベース３１０を用いて、入力されたシナリオを服飾の単位で区分し、さらに、キャラクタデータベース３３０および服飾決定ルールベータベース３４０を用いて、区分されたシナリオからキャラクタの服飾を決定する。キャラクタ服飾決定部３００は、服飾されたキャラクタを、キャラクタデータとして出力する。
【００３８】
なお、本実施の形態では、服飾とキャラクタを１つのまとまりとして扱い、キャラクタデータベース３３０には、服飾ごとのキャラクタデータが格納されているものとして説明を行うが、これに限定されるわけではない。例えば、実装の形態によっては、キャラクタデータと服飾データを別々のデータとして扱うことも可能である。この場合、キャラクタ服飾決定部は、キャラクタデータベースに加えて服飾データベースをも参照し、キャラクタデータと服飾データを出力することになる。
【００３９】
また、本実施の形態では、キャラクタデータとして、服飾されたキャラクタを示すファイル名やＵＲＬなどキャラクタの実体を指定する任意のポインタを出力するようにしているが、出力するキャラクタデータの形態は、これに限定されない。例えば、実装の形態によっては、服飾されたキャラクタの実体であるキャラクタデータそのものを出力するようにしてもよい。
【００４０】
服飾連続判定ルールデータベース３１０は、シナリオ区分部３２０で服飾の連続性を判定するために必要なルール（以下「服飾連続判定ルール」という）が記述された服飾連続判定ルールテーブルを格納している。服飾連続判定ルールは、与えられた複数のシナリオのうち、キャラクタの服飾がどこまで連続し、どのタイミングで変わるかを判定するためのルールであり、服飾が連続する条件を示すものである。このような服飾連続判定ルールを用いることにより、服飾の変更タイミングを決定することが可能になる。
【００４１】
図６は、服飾連続判定ルールデータベース３１０に格納された服飾連続判定ルールテーブルの一例を示す図である。
【００４２】
図６に示す服飾連続判定ルールテーブル３１１は、ＩＤ３１２と服飾連続判定ルール３１３の組で構成されている。服飾連続判定ルール３１３には、服飾を決定するための、シナリオを区分する上で必要なルールが記述されている。図６に示す例では、服飾連続判定ルールテーブル３１１は、３つの組３１１−１、３１１−２、３１１−３で構成されている。組３１１−１には、「ＩＤ１」というＩＤ３１２に対応する服飾連続判定ルール３１３として、「服飾はキャラクタ毎に設定される」というルールが記述されている。組３１１−２には、「ＩＤ２」というＩＤ３１２に対応する服飾連続判定ルール３１３として、「シーン内のディレクション間でキャラクタの服飾は変化しない」というルールが記述されている。組３１１−３には、「ＩＤ３」というＩＤ３１２に対応する服飾連続判定ルール３１３として、「シーンが異なっても場所と時刻が変化しないシーンの場合、服飾は前のシーンの服飾を引き継ぐ」というルールが記述されている。シナリオの区分は、服飾連続判定ルールテーブル３１１に記述されたすべての服飾連続判定ルール３１３を満たすように行われる。なお、服飾連続判定ルール３１３は、コンピュータが解釈可能なプログラムコードで記述されるが、ここでは、その内容を言語で表記している。
【００４３】
シナリオ区分部３２０は、服飾連続判定ルールデータベース３１０に格納された服飾連続判定ルールテーブル３１１（図６参照）を用いて、シナリオ２３０（図４参照）をキャラクタの服飾が連続する区間単位（以下「シナリオ区分」という）で区分する。シナリオ区分は、同一シナリオ区分内ではキャラクタの服飾は特定の服飾で連続され、異なるシナリオ区分間ではキャラクタの服飾は異なる可能性が有ることを意味する。
【００４４】
図７は、シナリオ区分部３２０によって服飾の連続単位で区分されたシナリオの一例を示す図である。
【００４５】
図７に示す区分されたシナリオ３２１は、複数のシナリオ区分３２２で構成されている。シナリオ区分３２２は、図４に示すシナリオ２３０の服飾単位での区分である。各シナリオ区分３２２は、１つまたは複数の区分３２６で構成され、各区分３２６は、さらに、主体３２６で構成されている。主体３２３には、そのシナリオ区分に含まれるシーンで登場するキャラクタのみが示される。各主体３２３に対応付けて、そのシナリオ区分でそのキャラクタの服飾を決定する上で必要な区分されたシナリオが記述されている。シナリオは、項目３２４と項目値３２５で構成されている。したがって、シナリオ区分３２２の設定は、各シーンに対して、主体３２３ごとに行われる。
【００４６】
図７に示す例では、区分されたシナリオ３２１は、２つのシナリオ区分３２２で構成されている。「シナリオ区分１」というシナリオ区分３２２は、図４に示すシーン１に対応する１つの区分３２６−１で構成されている。「シナリオ区分２」というシナリオ区分３２２は、図４のシーン２に対応する２つの区分３２６−２、３２６−３と、図４のシーン３に対応する２つの区分３２６−４、３２６−５とで構成されている。
【００４７】
図７に示すように、「シナリオ区分１」というシナリオ区分３２２には、区分３２６−１として、「花子」という主体３２３の服飾を決定するためのシナリオが記述されている。また、「シナリオ区分２」というシナリオ区分３２２には、区分３２６−２、３２６−４として、「花子」という主体３２３の服飾を決定するためのシナリオが記述されるとともに、区分３２６−３、３２６−５として、「のぞみ」という主体３２３の服飾を決定するためのシナリオが記述されている。
【００４８】
図１に示すキャラクタデータベース３３０は、キャラクタの名称と服飾の組をキーにしてキャラクタデータを抽出するためのキャラクタデータテーブルを格納している。キャラクタデータテーブルは、キャラクタの名称および服飾ならびにキャラクタデータの組で構成されている。
【００４９】
図８は、キャラクタデータベース３３０に格納されたキャラクタデータテーブルの一例を示す図である。
【００５０】
図８に示すキャラクタデータテーブル３３１は、キーとなるキャラクタの名称３３２および服飾３３３と、それに対応したキャラクタデータ３３４とで構成されている。キャラクタデータ３３４は、名称３３２と服飾３３３の組によって１つに決まるようになっている。ここでは、キャラクタデータ３３４は、一例として、服飾されたキャラクタを示すファイル名やＵＲＬなどキャラクタの実体を指定するポインタの形態をとっている。図８に示す例では、「花子」という名称３３２の場合において、服飾３３３が「デフォルト」、「スキーウェア」、「浴衣」、「外出着」のときは、それぞれ「Hana.cg」、「Hana_skiwear.cg」、「Hana_yukata.cg」、「Hana_street.cg」というキャラクタデータ３３４が抽出される。また、「のぞみ」という名称３３２の場合において、服飾３３３が「デフォルト」、「浴衣」、「外出着」のときは、それぞれ「Nozomi.cg」、「Nozomi_yukata.cg」、「Nozomi_street.cg」というキャラクタデータ３３４が抽出される。また、「太郎」という名称３３２の場合において、服飾３３３が「デフォルト」、「タキシード」のときは、それぞれ「Taro.cg」、「Taro_tuxedo.cg」というキャラクタデータ３３４が抽出される。
【００５１】
なお、本実施の形態では、上記のように、服飾されたキャラクタを１つのキャラクタデータとして扱っているため、上記の構成を採っている。しかし、上記のように、実装の形態によっては、キャラクタデータと服飾データを別々のファイルで使用し、キャラクタデータと服飾データを組み合わせてアニメーションに利用する場合もあり得る。この場合は、別に服飾データベースが必要となるが、方式が大きく異なるものではないため、ここでは、その説明を省略する。
【００５２】
服飾決定ルールデータベース３４０は、第１の服飾決定ルールテーブルと、第２の服飾決定ルールテーブルとを格納している。第１の服飾決定ルールテーブルは、言語情報と服飾の対応関係を示すテーブルである。この第１の服飾決定ルールテーブルにおいて、言語情報は、論理記号（例えば、ＡＮＤ、ＯＲ、括弧など）を用いて複数の言語情報を結合することによって記述することができる。このように論理記号を用いて複数の言語情報を結合することにより、複数の言語情報を処理することが可能になる。また、第２の服飾決定ルールテーブルは、矛盾や競合を解消するための少なくとも１つのメタ知識によって構成されている。このようなメタ知識を用いることにより、たとえ矛盾や競合があった場合にも、その矛盾や競合を解消して、１つの服飾を決定することが可能になる。
【００５３】
図９は、服飾決定ルールデータベース３４０に格納された第１の服飾決定ルールテーブルの一例を示す図である。
【００５４】
図９に示す第１の服飾決定ルールテーブル３４１は、ＩＤ３４２とキャラクタの服飾３４３と言語情報３４４の組で構成される。言語情報３４４は、項目と項目値で構成されており（図４、図７参照）、項目と項目値の複数の組を論理記号（例えば、ＡＮＤ、ＯＲ、括弧）で結合することによって記述することもできる。
【００５５】
図９に示す例では、第１の服飾決定ルールテーブル３４１は、「１」から「９」のＩＤ３４２を持つ９つの組３４１−１〜３４１−９で構成されている。組３４１−１は、言語情報３４４の項目が「演技」で対応する項目値が「スキーする」の場合、「スキーウェア」という服飾３４３が相応しいことを示している。組３４１−２は、言語情報３４４の項目が「場所」で対応する項目値が「日本旅館」の場合、「浴衣」という服飾３４３が相応しいことを示している。組３４１−３は、言語情報３４４の項目が「演技」で対応する項
目値が「泳ぐ」の場合、または、言語情報３４４の項目が「目的」で対応する項目値が「海水浴」の場合、または、言語情報３４４の項目が「場所」で対応する項目値が「海」の場合で、かつ、言語情報３４４の項目が「季節」で対応する項目値が「夏」の場合は、「水着」という服飾３４３が相応しいことを示している。組３４１−４は、言語情報３４４の項目が「主体」で対応する項目値が「新郎」の場合、「タキシード」という服飾３４３が相応しいことを示している。組３４１−５は、言語情報３４４の項目が「絵文字」で対応する項目値が「（ジーパンマーク）」の場合、「ジーパン」という服飾３４３が相応しいことを示している。組３４１−６は、言語情報３４４の項目が「天候」で対応する項目値が「雨」の場合、「レインコート」という服飾３４３が相応しいことを示している。組３４１−７は、言語情報３４４の項目が「場所」で対応する項目値が「会社」の場合、または、言語情報３４４の項目が「目的」で対応する項目値が「仕事」の場合、または、言語情報３４４の項目が「相手」で対応する項目値が「妻の両親」の場合、「スーツ」という服飾３４３が相応しいことを示している。組３４１−８は、言語情報３４４の項目が「場所」で対応する項目値が「レストラン」、「ホテル」、または「日本旅館」の場合、「外出着」という服飾３４３が相応しいことを示している。組３４１−９は、言語情報３４４の項目が「場所」で対応する項目値が「家」であり、かつ、言語情報３４４の項目が「時」で対応する項目値が「夜」の場合、「パジャマ」という服飾３４３が相応しいことを示している。
【００５６】
図１０は、服飾決定ルールデータベース３４０に格納された第２の服飾決定ルールテーブルの一例を示す図である。
【００５７】
図１０に示す第２の服飾決定ルールテーブル３４５は、ＩＤ３４６とメタ知識３４７の組で構成されている。メタ知識３４７は、ルールをどのように運用するかという知識のことであり、矛盾や競合があった場合にどのように解決するかを示す知識ルールのことである。図１０に示す例では、第２の服飾決定ルールテーブル３４５は、「１」から「４」のＩＤ３４６を持つ４つの組３４５−１〜３４５−４で構成されている。組３４５−１には、「ＡＮＤで接続された条件の厳しいルール結果を採用する」というメタ知識３４７が記述されている。組３４５−２には、「直前の服装を引き継ぐ」というメタ知識３４７が記述されている。組３４５−３には、「項目に以下の優先順位を用いる。服飾指定＞演技＞目的＞場所＞主体＞相手＞感情＞形容詞＞時＞天候＞絵文字」というメタ知識３４７が記述されている。組３４５−４には、「ルールＩＤの昇順で優先順位をつける」というメタ知識３４７が記述されている。なお、メタ知識３４７は、コンピュータが解釈可能なプログラムコードで記述されるが、ここでは、その内容を言語で表記している。
【００５８】
服飾決定部３５０は、キャラクタデータベース３３０に格納されたキャラクタデータテーブル３３１（図８参照）ならびに服飾決定ルールデータベース３４０に格納された第１の服飾決定ルールテーブル３４１（図９参照）および第２の服飾決定ルールテーブル３４５（図１０参照）を用いて、区分されたシナリオ（図７参照）から、キャラクタの服飾を決定し、服飾付きキャラクタデータを出力する。
【００５９】
シナリオ書替部３６０は、服飾決定部３５０から出力された服飾付きキャラクタデータを用いて、シナリオ生成部２００から入力したシナリオの書き替えを行う。具体的には、シナリオ書替部３６０は、入力したシナリオにおける、「主体」という項目２３３に対応する項目値２３４を、服飾決定部３５０で決定された服飾付きキャラクタデータに書き替える。
【００６０】
図１１は、シナリオ書替部３６０によって書き替えられたシナリオの一例を示す図である。図１１に示す書き替え後のシナリオ３７０は、図４に示す書き替え前のシナリオ２３０において、ディレクション２３２−２の「花子」という項目値２３４を「Hana_skiwear
.cg」という服飾付きキャラクタデータ（ポインタ形式）に、ディレクション２３２−３の「花子」という項目値２３４を「Hana_skiwear.cg」という服飾付きキャラクタデータ（ポインタ形式）に、ディレクション２３２−９の「花子」という項目値２３４を「Hana_yukata.cg」という服飾付きキャラクタデータ（ポインタ形式）に、それぞれ書き替えて構成されている。
【００６１】
なお、本実施の形態では、シナリオ書替部３６０をキャラクタ服飾決定部３００に設けているが、これに限定されるわけではない。例えば、実装の形態によっては、シナリオ書替部３６０をキャラクタ服飾決定部３００に設けることなく、キャラクタ服飾決定部３００の服飾決定部３５０から出力される服飾付きキャラクタデータをそのままアニメーション生成部４００に送るようにしてもよい。この場合、シナリオ生成部２００によって生成されたシナリオは、キャラクタ服飾決定部３００のみならずアニメーション生成部４００にも出力されることになる。
【００６２】
アニメーション生成部４００は、少なくとも、書き替え後のシナリオ、つまり、服飾付きキャラクタデータを含むシナリオ（図１１参照）を用いて、アニメーションを生成する。すなわち、アニメーション生成部４００は、書き替え後のシナリオに基づいて、キャラクタの配置と演技を決定し、必要であれば、カメラワークやライティング、デフォルメ的な演出表現、ＢＧＭ、効果音などを追加することにより、２次元アニメーションまたは３次元アニメーションとしてアニメーションを生成し、出力する。なお、上記のように、実装の形態によっては、シナリオ生成部２００からのシナリオと、キャラクタ服飾決定部３００の服飾決定部３５０からの服飾付きキャラクタデータとを用いて、アニメーションを生成することも可能である。
【００６３】
図１２は、アニメーション生成部４００によって生成されるアニメーションの一例を示す図である。なお、図１２Ａ、図１２Ｂ、および図１２Ｃに示す各アニメーションは、実際は動画であるが、その一場面を静止画として切り出したものである。
【００６４】
図１２Ａは、花子がスキーウェアを着てスキーをしている一場面であり、図１１に示す書き替え後のシナリオ３７０における「シーン１」の「ディレクション２」（ディレクション２３２−２）に対応している。図１２Ｂは、花子が浴衣を着ている一場面であり、図１１に示す書き替え後のシナリオ３７０における「シーン２」の「ディレクション３」（ディレクション２３２−６）および「シーン３」の「ディレクション３」（ディレクション２３２−９）に対応している。図１２Ｃは、花子がシーパンをはいてピースサインをしている一場面であり、図２に示す、ジャンルが「携帯メール」でテキスト文が「（ジーパンマーク）買っちゃった（ピースサイン）」を処理した結果に対応している。
【００６５】
なお、アニメーション作成装置１００は、図示しないが、ＣＰＵ（Central Processing
Unit）と、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などのメモリとを有する。例えば、ＲＯＭには制御プログラムが記憶されており、ＲＡＭは作業用のメモリである。図１に示す各部の機能は、ＣＰＵが制御プログラムを実行することによって実現される。
【００６６】
また、上記の携帯電話機は、既存のハードウェアとして通信回路を備えており、携帯電話機網を介して他の携帯電話機やパーソナルコンピュータなどの通信機器に対して、アニメーション作成装置１００で生成したアニメーション情報を送信可能となっている。また、上記の携帯電話機は、通信回路を介して、他の携帯電話機または基地局から送信されたテキスト文やシナリオ、アニメーション情報を受信可能となっている。
【００６７】
次いで、上記の構成を有するアニメーション作成装置１００の動作について、図１３〜
図１７に示すフローチャートを用いて説明する。なお、図１３〜図１７に示すフローチャートは、アニメーション作成装置１００のＲＯＭに制御プログラムとして記憶されており、ＣＰＵによって実行される。
【００６８】
図１３は、図１に示すアニメーション作成装置１００の動作を示すフローチャートである。
【００６９】
まず、ステップＳ１０００では、シナリオ生成部２００で、テキスト文を入力したか否かを判断する。テキスト文は、例えば、ユーザによる携帯電話機の操作によってまたは通信回路を介した外部からの受信によって入力される。テキスト文の入力に際しては、ユーザによる携帯電話機の操作によってアニメーションの作成開始が指示される。この判断の結果として、テキスト文を入力した場合は（Ｓ１０００：ＹＥＳ）、ステップＳ２０００に進み、テキスト文を入力していない場合は（Ｓ１０００：ＮＯ）、テキスト文を入力するまで待機する。
【００７０】
ステップＳ２０００では、シナリオ生成部２００で、シナリオ生成処理を実行する。具体的には、テキスト文を入力し、入力したテキスト文から自然言語解析処理などによりアニメーションのシナリオを生成し、出力する。このシナリオ生成処理については、後で説明する。
【００７１】
次に、ステップＳ３０００では、キャラクタ服飾決定部３００で、キャラクタ服飾決定処理を実行する。具体的には、ステップＳ２０００で生成されたシナリオを入力し、服飾連続判定ルールデータベース３１０、キャラクタデータベース３３０、および服飾決定ルールデータベース３４０を用いて、アニメーションに登場するキャラクタの実体を表す服飾付きキャラクタデータを決定し、出力する。このキャラクタ服飾決定処理については、後で説明する。
【００７２】
次に、ステップＳ４０００では、アニメーション生成部４００で、アニメーション生成処理を実行する。具体的には、ステップＳ２０００で生成されたシナリオと、ステップＳ３０００で決定された服飾付きキャラクタデータとに基づいて、アニメーションを生成する。このアニメーション生成処理については、後で説明する。なお、ここでは、アニメーションのファイル形式は、何ら限定されない。アニメーションのファイル形式は、ＭＰＥＧ（Moving Picture Experts Group）やＡＶＩ（Audio Video Interleaving）などの動画ファイル形式のみならず、ＣＧアニメーションのためのデータ形式やスクリプト言語形式、フラッシュアニメーション形式など、いずれの形式であってもよい。
【００７３】
次に、ステップＳ５０００では、アニメーション生成部４００で、ステップＳ４０００で生成されたアニメーションを出力する。
【００７４】
図示しないが、アニメーション作成装置１００を備えた携帯電話機には、このアニメーション作成装置１００から出力されるアニメーションを表示する表示部が設けられている。また、アニメーション作成装置１００を備えた携帯電話機の通信の相手先にも、同様の装置が設けられている。したがって、このアニメーションを通信の相手先に送信することにより、アニメーション作成装置１００を備えた携帯電話機のユーザが入力したテキスト文の内容に応じたアニメーションを、通信の相手先のユーザに見せることができる。
【００７５】
図１４は、図１３のシナリオ生成処理（ステップＳ２０００）の内容を示すフローチャートである。このシナリオ生成処理は、シナリオ生成部２００によって実行される。
【００７６】
まず、ステップＳ２１００では、アニメーション作成装置１００に入力されたテキスト
文（図２参照）を入力したか否かを判断する。この判断の結果として、テキスト文を入力した場合は（Ｓ２１００：ＹＥＳ）、ステップＳ２２００に進み、テキスト文を入力していない場合は（Ｓ２１００：ＮＯ）、テキスト文を入力するまで待機する。
【００７７】
ステップＳ２２００では、入力されたテキスト文の自然言語解析として、形態素解析、構文解析、および意味解析を逐次実行し、解析結果を出力する。
【００７８】
次に、ステップＳ２３００では、言語情報抽出部２２０で、ステップＳ２２００の解析結果から、意味辞書データベース２１０に格納された意味辞書テーブル２１１（図３参照）に含まれる語彙をテキストマッチングして、該当する語彙２１３とその項目２１２を言語情報として抽出し、得られた言語情報（語彙２１３と項目２１２）に基づいてシナリオを生成し、出力する。
【００７９】
次に、ステップＳ２４００では、ステップＳ２２００の解析結果と、ステップＳ２３００で抽出したシナリオとに基づいて、入力されたテキスト文の内容に合致するアニメーションのシナリオ（図４参照）を生成する。
【００８０】
次に、ステップＳ２５００では、ステップＳ２４００で生成したシナリオをキャラクタ服飾決定部３００に出力した後、図１３のフローチャートにリターンする。
【００８１】
例えば、このような処理によって、図２に示す、ジャンルが「メール」のテキスト文（「明日からニセコスキー場でスキーをします。楽しみ。夜はのぞみちゃんと日本旅館で食事をします。もちろん、そのまま泊まります。」）から、図４のシナリオ２３０が生成される。図２のメールテキスト文は、４つの文章からなり、場所を示す語彙として「スキー場」、演技を示す形態素として「スキーする」、感情を表す語彙として「楽しい」、さらに、時を表す語彙として「夜」、場所を示す語彙として「日本旅館」、演技を示す形態素として「食事する」および「泊まる」、をそれぞれ含んでいる。
【００８２】
このテキスト文から生成されるシナリオ２３０は、まず、２文目までと、３文目と、４文目とで、３つのシーンに分けられる。１つ目のシーン１は、３つのディレクション２３２−１〜２３２−３で構成されている。すなわち、１つ目のシーン１は、「場所」が「スキー場」であることを示すディレクション１（ディレクション２３２−１）と、「演技」が「スキーする」であることを示すディレクション２（ディレクション２３２−２）と、「感情」が「楽しい」であることを示すディレクション３（ディレクション２３２−３）とで構成されている。２つ目のシーン２は、３つのディレクション２３２−４〜２３２−６で構成されている。すなわち、２つ目のシーン２は、「場所」が「日本旅館」であることを示すディレクション１（ディレクション２３２−４）と、「時」が「夜」であることを示すディレクション２（ディレクション２３２−５）と、「演技」が「食事する」であることを示すディレクション３（ディレクション２３２−６）とで構成されている。３つ目のシーン３は、３つのディレクション２３２−７〜２３２−９で構成されている。すなわち、３つ目のシーン３は、「場所」が「日本旅館」であることを示すディレクション１（ディレクション２３２−７）と、「時」が「夜」であることを示すディレクション２（ディレクション２３２−８）と、「演技」が「泊まる」であることを示すディレクション３（ディレクション２３２−９）とで構成されている。
【００８３】
アニメーション作成装置１００には、携帯電話機のユーザを示すキャラクタ（アバター）が、あらかじめ登録されている。シナリオ生成部２００は、テキスト文に主体がない場合には、登録されているキャラクタ名を主体として設定する。これは、日本語には、特にコミュニケーション用途のテキスト文では、書き手であるユーザ自身の主体を省略することが多いという特徴に対応するためである。図４に示すシナリオ２３０の例では、シーン
１のディレクション２およびディレクション３の主体として、「花子」をそれぞれ設定する。また、シーン２のディレクション３およびシーン３のディレクション３の主体には、シナリオ２３０の記述から、さらに「のぞみ」を設定する。
【００８４】
図１５は、図１３のキャラクタ服飾決定処理（ステップＳ３０００）の内容を示すフローチャートである。このキャラクタ服飾決定処理は、キャラクタ服飾決定部３００によって実行される。
【００８５】
まず、ステップＳ３１００では、シナリオ生成部２００で生成されたシナリオ（図４参照）を入力したか否かを判断する。この判断の結果として、シナリオを入力した場合は（Ｓ３１００：ＹＥＳ）、ステップＳ３２００に進み、シナリオを入力していない場合は（Ｓ３１００：ＮＯ）、シナリオを入力するまで待機する。
【００８６】
ステップＳ３２００では、シナリオ区分部３２０で、服飾連続判定ルールデータベース３１０に格納された服飾連続判定ルールテーブル３１１（図６参照）に記述されたすべての服飾連続判定ルール３１３を満たすように、キャラクタの服飾が連続する区間（シナリオ区間）を決定する。そして、決定した区間に基づいて図４に示すシナリオ２３０を区分けし、図７に示す区分けされたシナリオ３２１を生成し、服飾決定部３５０に出力する。
【００８７】
例として、図４に示すシナリオ２３０から、図７に示す区分されたシナリオ３２１を作成する場合の処理手順を以下に示す。
【００８８】
シナリオ区分部３２０は、まず入力されたシナリオ２３０をメモリ（図示せず）に格納する。次に、シナリオ区分部３２０は、服飾連続判定ルールテーブル３１１の「ＩＤ１」の服飾連続判定ルール３１３（組３１１−１）に従って、シナリオ２３０を上から順に走査し、シナリオ２３０に登場するキャラクタ別にテーブルを作成する。
【００８９】
この例では、項目２３３が「主体」である値２３４として、「花子」と「のぞみ」が存在するため、「花子」と「のぞみ」の２つのテーブル（図示せず）を作成する。
【００９０】
次に、シナリオ区分部３２０は、再びシナリオ２３０を上から順に走査し、シナリオ２３０のディレクションの項目と値を順にそれぞれのテーブルに入力する。このとき、シナリオ区分部３２０は、異なるディレクションであったとしても、同じシーンであれば、「ＩＤ２」の服飾連続判定ルール３１３（組３１１−２）に従って同じテーブルに続けて入力する。また、シナリオ区分部３２０は、直前のシーンに対して場所または時刻が変化する場合は、「ＩＤ３」の服飾連続判定ルール３１３（組３１１−３）に従って、テーブルを分割し、該当シーンからは新たなテーブルにディレクションの項目と値を入力する。
【００９１】
この例では、まず、同一シーンに属するディレクション２３２−１の「スキー場」、ディレクション２３２−２の「スキーする」、およびディレクション２３２−３の「楽しい」が、それぞれ「花子」の同一のテーブルに入力される。次に、ディレクション２３２−４で場所が「スキー場」から「日本旅館」に変化するため、「花子」のテーブルは分割され、次のテーブルに、同一シーンに属するディレクション２３２−４の「日本旅館」、ディレクション２３２−５の「夜」、およびディレクション２３２−６の「泊まる」が入力される。次の同一シーンに属するディレクション２３２−７の「日本旅館」、ディレクション２３２−８の「夜」、は、ディレクション２３２−６と異なるシーンに属するが、ディレクション２３２−４〜２３２−６に対して時間も場所も変化しないため、「花子」のテーブルは分割されず、同一のテーブルに続けて入力される。「のぞみ」についての処理も同様である。
【００９２】
そして、シナリオ２３０のすべてに対するテーブル作成を完了すると、シナリオ区分部３２０は、作成したテーブルを統合して、図７に示す区分されたシナリオ３２１を作成する。具体的には、シナリオ区分部３２０は、主体ごとに生成されたテーブルを、同一シーンに対応するものでまとめて１つのシナリオ区分とし、かつ、元のシナリオ２３０の順序に沿うようにシナリオ区分とディレクションの項目および値を並び替える。
【００９３】
この結果、図７に示すように、２つのシーン区分３２２に区分されたシナリオ３２１が得られる。区分されたシナリオ３２１において、シーン２およびシーン３は、１つのシナリオ区分にまとめられる。すなわち、シーン２およびシーン３は、キャラクタの服飾が連続する区間であることが決定される。区分されたシナリオ３２１は、服飾決定部３５０に出力される。
【００９４】
次に、ステップＳ３３００では、服飾決定部３５０で、シナリオ区分ごとに服飾決定処理を実行する。具体的には、キャラクタデータベース３３０に格納されたキャラクタデータテーブル３３１（図８参照）ならびに服飾決定ルールデータベース３４０に格納された第１の服飾決定ルールテーブル３４１（図９参照）および第２の服飾決定ルールテーブル３４５（図１０参照）を用いて、区分されたシナリオ（図７参照）から、キャラクタの服飾を決定し、服飾付きキャラクタデータを出力する。この服飾決定処理については、後で詳細に説明する。
【００９５】
次に、ステップＳ３４００では、シナリオ書替部３６０で、ステップＳ３３００で決定した服飾付きキャラクタデータを用いて、キャラクタ服飾決定部３００に入力されたシナリオの書き替えを行い、書き替え後のシナリオ（服飾されたキャラクタを含む）を出力した後、図１３のフローチャートにリターンする。具体的には、入力されたシナリオにおける、「主体」という項目２３３に対応する項目値２３４を、ステップＳ３３００で決定した服飾付きキャラクタデータに書き替えて、書き替え後のシナリオを出力する。
【００９６】
図１６は、図１５の服飾決定処理（ステップＳ３３００）の内容を示すフローチャートである。この服飾決定処理は、服飾決定部３５０によって実行される。
【００９７】
まず、ステップＳ３３１０では、図１５のステップＳ３２００で区分されたシナリオ（図７参照）を構成するシナリオ区分およびそのシナリオ区分に含まれる主体のうち、キャラクタデータの決定および出力が完了していないものを１つ選択する。
【００９８】
ステップＳ３３２０では、服飾決定ルールデータベース３４０に格納された第１の服飾決定ルールテーブル３４１（図９参照）を用いて、入力した区分されたシナリオから服飾の候補を列挙する。
【００９９】
次に、ステップＳ３３３０では、区分されたシナリオ３２１における主体３２３の名称と、ステップＳ３３２０で列挙した服飾の候補とを、それぞれキーとして、キャラクタデータベース３３０に格納されたキャラクタデータテーブル３３１（図８参照）を検索し、該当するキャラクタデータ３３４を取得する。
【０１００】
次に、ステップＳ３３４０では、ステップＳ３３３０の処理結果として、該当するキャラクタデータ３３４が１つもないか否かを判断する。この判断の結果として、該当するキャラクタデータ３３４が１つもない場合は（Ｓ３３４０：ＹＥＳ）、ステップＳ３３５０に進み、該当するキャラクタデータ３３４が１つ以上ある場合は（Ｓ３３４０：ＮＯ）、ステップＳ３３６０に進む。
【０１０１】
ステップＳ３３５０では、与えられた主体３２３の名称と服飾とで該当するキャラクタ
データを取得できなかったため、デフォルトの服飾に対応するキャラクタデータを検索する。検索は、主体３２３の名称のみをキーとして、キャラクタデータテーブル３３１を検索し、服飾３３３が「デフォルト」のキャラクタデータ３３４を取得した後、ステップＳ３３８０に進む。なお、キャラクタデータベース３３０は、主体３２３の名称のみをキーとして検索を実行した場合、服飾３３３が「デフォルト」のキャラクタデータ３３４を抽出するようになっているものとする。さらに、主体３２３の名称のみをキーとして検索しても該当するキャラクタデータ３３４が得られない場合は、任意のキャラクタデータ３３４を抽出するようになっているものとする。
【０１０２】
ステップＳ３３６０では、ステップＳ３３３０の処理結果として、さらに、該当するキャラクタデータ３３４が複数あるか否かを判断する。この判断の結果として、該当するキャラクタデータ３３４が複数ある場合は（Ｓ３３６０：ＹＥＳ）、ステップＳ３３７０に進み、該当するキャラクタデータ３３４が複数ない場合、つまり、該当するキャラクタデータ３３４が１つのみの場合は（Ｓ３３６０：ＮＯ）、ただちにステップＳ３３８０に進む。
【０１０３】
ステップＳ３３７０では、複数の該当するキャラクタデータ３３４を１つに絞るために、服飾決定ルールデータベース３４０に格納された第２の服飾決定ルールテーブル３４５（図１０参照）に記述されたメタ知識３４７をＩＤ３４６の順序に従い１つずつ適用して、１つのキャラクタデータ３３４を決定する。
【０１０４】
具体的には、まず、「ＩＤ１」というＩＤ３４６のメタ知識３４７を適用し、キャラクタデータ３３４の絞り込みを試みる。適用の結果、１つのキャラクタデータに絞り込まれない場合には、次の「ＩＤ２」というＩＤ３４６のメタ知識３４７を適用する。以降、同様に、１つのキャラクタデータに絞り込まれるまでメタ知識３４７を順に適用していく。
【０１０５】
ステップＳ３３８０では、ステップＳ３３３０、ステップＳ３３５０、またはステップＳ３３７０で得られた唯一のキャラクタデータ３３４を出力する。
【０１０６】
ステップＳ３３９０では、未処理のシナリオ区分と主体との組み合わせが残っているか否かを判断する。この判断の結果として、未処理のシナリオ区分と主体との組み合わせが残っている場合は（Ｓ３３９０：ＹＥＳ）、ステップＳ３３１０に戻り、すべてのシナリオ区分と主体との組み合わせについて処理を完了した場合は（Ｓ３３９０：ＮＯ）、図１５のフローチャートにリターンする。この結果、ステップＳ３３２０〜Ｓ３３８０の一連の処理は、区分されたシナリオ３２１のシナリオ区分ごとおよび主体ごとに行われるため、最終的に服飾決定部３５０から出力されるキャラクタデータ３３４の数は、区分されたシナリオ３２１におけるシナリオ区分と主体との組み合わせの数に等しくなる。
【０１０７】
例えば、図７に示す区分されたシナリオ３２１の「シナリオ区分１」の場合、図９の服飾決定ルールテーブル３４１において、記述された言語情報３４４に該当するのは、組３４１−１のみである。したがって、「花子」の服飾３４３の候補として、対応する服飾「スキーウェア」のみが抽出され、１つのキャラクタデータ「Hana_skiwear.cg」に絞り込まれるため、キャラクタデータ「Hana_skiwear.cg」が出力される。
【０１０８】
一方、２つ目のシナリオ区分である「シナリオ区分２」の場合、主体「花子」にのみ着目すると、図９の服飾決定ルールテーブル３４１において、記述された言語情報３４４に該当するのは、組３４１−２と組３４１−８の２つである。すなわち、該当するキャラクタデータは、「浴衣」に対応する「Hana_yukata.cg」と、「外出着」に対応する「Hana_street.cg」の２つである。したがって、まず、図１０に示す第２の服飾決定ルールテーブル３４５の「ＩＤ１」というＩＤ３４６のメタ知識３４７を適用する。ところが、組３４
１−２と組３４１−８のいずれもＡＮＤを含まないため、次の「ＩＤ２」というＩＤ３４６のメタ知識３４７を適用する。ところが、直前の服装である「スキーウェア」は選択肢に含まれていないため、次の「ＩＤ３」というＩＤ３４６のメタ知識３４７を適用する。ところが、組３４１−２と組３４１−８のいずれも「場所」に関する言語情報のみであるため、次の「ＩＤ４」というＩＤ３４６のメタ知識３４７を適用する。この結果、ルールＩＤの優先順位の高い組３４１−２に対応する服飾「浴衣」のみが抽出され、キャラクタデータ「Hana_yukata.cg」が出力される。
【０１０９】
すなわち、各シナリオ区分において、抽出されたキャラクタデータ３３４は１つのみであり、「スキーウェア」と「浴衣」がそれぞれ最終的な出力となる。
【０１１０】
服飾の連続性を考慮しない場合には、例えば、図４に示すシナリオ２３０のシーン２に対して、服飾「外出着」が決定される可能性がある。日本旅館に立ち寄って食事をするだけの場合には、キャラクタの服飾として外出着が相応しい。ところが、食事に続けて宿泊する場合には、外出着よりも浴衣が相応しい。このように、服飾の連続性を考慮することによって、より適切な服飾を決定することが可能となる。
【０１１１】
なお、仮に、区分されたシナリオの同一シナリオ区分に「場所：日本旅館」と「演技：泳ぐ」とが存在する場合、ステップＳ３３２０では、第１の服飾決定ルールテーブル３４１の組３４１−２と組３４１−３から、「浴衣」と「水着」の２つの服飾候補が得られる。この場合、該当するキャラクタデータ３３４が複数存在するため、第２の服飾決定ルールテーブル３４５に記述されたメタ知識３４７を１つずつ適用する。
【０１１２】
具体的には、組３４５−１に記述されたメタ知識３４７は、「ＡＮＤで接続された条件の厳しいルール結果を採用する」というものであり、この場合、第１の服飾決定ルールテーブル３４１の組３４１−２と組３４１−３は、どちらも、同程度の条件であるため、次のメタ知識３４７を適用する。次の組３４５−２に記述されたメタ知識３４７は、「直前の服装を引き継ぐ」というものであり、この場合、いずれも直前の服装がないため、同じく次のメタ知識３４７を適用する。次の組３４５−３に記述されたメタ知識３４７は、「項目に以下の優先順位を用いる」というものであり、「演技」が「場所」よりも優先されると記述されているため、ここで、「演技：泳ぐ」の言語情報３４４が適用され、服飾３４３は「水着」に決定される。なお、仮に、ここでも１つに絞れなかった場合は、最後の組３４５−４に記述されたメタ知識３４７である「ルールＩＤの昇順で優先順をつける」が適用され、必ず１つに絞ることができるようになっている。
【０１１３】
図１７は、図１３のアニメーション生成処理（ステップＳ４０００）の内容を示すフローチャートである。なお、このアニメーション生成処理は、アニメーション生成部４００によって実行される。また、ステップＳ４２００〜ステップＳ４５００の処理の具体的な内容は、例えば、特開２００５−４４１８１号公報に詳細に記載されているため、ここでは詳細な説明を省略する。
【０１１４】
まず、ステップＳ４１００では、図１５のステップＳ３４００で出力された書き替え後のシナリオ（服飾付きキャラクタデータを含む）（図１１参照）を入力したか否かを判断する。この判断の結果として、書き替え後のシナリオを入力した場合は（Ｓ４１００：ＹＥＳ）、ステップＳ４２００に進み、書き替え後のシナリオを入力していない場合は（Ｓ４１００：ＮＯ）、書き替え後のシナリオを入力するまで待機する。
【０１１５】
ステップＳ４２００では、入力した書き替え後のシナリオ３７０の場所や主体の演技から、キャラクタの配置を決定する。「配置」には、具体的な座標や姿勢が含まれる。キャラクタの配置を決定する最も単純な方法は、例えば、場所と演技の組み合わせごとにどこ
にキャラクタを配置すべきかをあらかじめ記憶したデータベースを参照する方法である。
【０１１６】
次に、ステップＳ４３００では、入力した書き替え後のシナリオ３７０の主体の演技から、キャラクタのモーションを決定する。「モーション」には、具体的な姿態の形状やタイミング、時間が含まれる。キャラクタのモーションを決定する最も単純な方法は、例えば、演技とモーションを１対１に対応付けたデータベースを参照する方法である。
【０１１７】
次に、ステップＳ４４００では、入力した書き替え後のシナリオ３７０の場所や主体の演技から、カメラワークやライティングなどの演出を決定する。演出を決定する最も単純な方法は、例えば、演技と演出を１対１に対応付けたデータベースを参照する方法である。
【０１１８】
次に、ステップＳ４５００では、入力したシナリオに含まれるキャラクタならびにステップＳ４２００〜ステップＳ４４００でそれぞれ決定した配置情報、モーション情報、および演出情報で構成されるアニメーションを出力する。
【０１１９】
このように、本実施の形態によれば、意味辞書データベース２１０を用いて、入力されたテキスト文からシナリオを抽出し、服飾連続判定ルールデータベース３１０を用いて、シナリオを服飾の連続単位で区分し、キャラクタデータベース３３０および服飾決定ルールデータベース３４０を用いて、区分されたシナリオからキャラクタの服飾を決定する。したがって、ユーザによる服飾指定や、ユーザの環境情報を用いることなく、入力されたテキスト文の内容、つまり生成されたシナリオの内容に合致するキャラクタの服飾を決定することができる。
【０１２０】
具体的には、意味辞書を用いることにより、テキスト文からキャラクタの服飾を決定する上で必要なシナリオを抽出し、服飾連続判定ルールを用いることにより、シナリオを服飾の連続単位で区分し、キャラクタデータベースと服飾決定ルールを用いることにより、区分されたシナリオからキャラクタの服飾を決定する。
【０１２１】
例えば、テキスト文に「泳いでいます。」という言葉が含まれている場合、キャラクタは、水着を着た状態で表示され、また、テキスト文に「面接会場まで来ました。」という言葉が含まれている場合、キャラクタは、スーツを着た状態で表示されることが可能になる。これにより、ユーザによる服飾指定や、ユーザの環境情報を用いることなく、シナリオの内容に合致するキャラクタの服飾を自動的に決定することができる。
【０１２２】
また、メッセージの内容が多く、かつ長いシナリオになると、生成するアニメーションは、複数の演技や複数の人物、複数のシーンで構成される。このような場合において、キャラクタの服飾を決定するためには、複数の言語情報をいかに処理するか、矛盾や競合をいかに解消するか、さらに、服飾をどこまで連続しどのタイミングで変えるかをいかに判定するかが、重要なポイントになる。
【０１２３】
この点、本実施の形態によれば、服飾連続判定ルールデータベース３１０を設けたため、服飾をどこまで連続しどのタイミングで変えるかを判定することができる。また、第１の服飾決定ルールテーブル３４１と第２の服飾決定ルールテーブル３４５を含む服飾連続判定ルールデータベース３１０を設けたため、複数の言語情報を処理することができるとともに、たとえ矛盾や競合があった場合にも、その矛盾や競合を解消して、１つの服飾を決定することができる。
【０１２４】
また、シナリオにおける服飾決定の標準の区分（ディレクションなど）において、区分されたシナリオに情報が乏しい場合、シナリオの内容に相応しくない服飾が決定されてし
まう可能性がある。
【０１２５】
この点、本実施の形態によれば、服飾の連続する複数の区分を一まとまりとして扱い、より多くの情報に基づいて服飾を決定できるため、シナリオの内容により相応しい服飾を決定することができる。
【０１２６】
なお、本実施の形態では、シナリオ区分が１つまたは複数のシーンで構成されるような服飾連続判定ルールを適用した場合について説明したが、これに限定されるものではない。ディレクションなど、シナリオ区分が他の単位で構成されるような服飾連続判定ルールを適用してもよい。例えば、あるシーンの途中から他のシーンの途中までが１つのシナリオ区分となるような服飾連続判定ルールを適用してもよい。
【０１２７】
また、図９に示す第１の服飾決定ルールテーブルを書き換えることにより、例えば、「水着―＞“演技：スキーをする”」、「タキシード−＞“演技：泳ぐ”」等、遊び心のある服飾を決定することができる。
【０１２８】
また、服飾連続判定ルールテーブル、第１の服飾決定ルールテーブル、第２の服飾決定ルールテーブル、キャラクタデータテーブルなどのテーブルを複数種類用意し、元のテキスト文の種類や、ユーザの嗜好に応じて、切り替えて用いるようにしてもよい。これにより、シナリオの内容により合致したキャラクタの服飾や、ユーザの嗜好に沿ったキャラクタの服飾を決定することが可能となる。
【０１２９】
また、本実施の形態では、本発明に係るキャラクタ服飾決定装置を搭載したアニメーション作成装置を携帯電話機に適用する場合を例にとって説明したが、これに限定されるわけではなく、アニメーションを構成する各種のハードウェアやアプリケーションソフトウェア、サービスにも適用することができる。
【０１３０】
本発明の一態様に係るキャラクタ服飾情報生成装置は、入力されたテキスト文から得られる言語情報からキャラクタの服飾を自動的に生成する服飾情報生成装置において、服飾の継続性を判定するための服飾継続判定ルールを記憶する服飾継続判定ルール記憶部と、前記服飾継続判定ルール記憶部を参照して、キャラクタの服飾を決定するための言語情報を区分する言語情報区分部と、前記言語情報と服飾の関係を示す第１の服飾決定ルールを記憶する服飾決定ルール記憶部と、前記服飾決定ルール記憶部を参照して、前記言語情報区分部によって区分された言語情報から、キャラクタの服飾を決定する服飾決定部と、を有する構成を採る。
【０１３１】
本発明の他の態様に係るキャラクタ服飾情報生成方法は、入力されたテキスト文から得られる言語情報からキャラクタの服飾を自動的に生成する服飾情報生成方法において、服飾の継続性を判定するための服飾継続判定ルールを記憶する服飾継続判定ルール記憶部を参照して、キャラクタの服飾を決定するための言語情報を区分する言語情報区分ステップと、前記言語情報と服飾の関係を示す第１の服飾決定ルールを記憶する服飾決定ルール記憶部を参照して、前記言語情報区分ステップで区分した言語情報から、キャラクタの服飾を決定する服飾決定ステップと、を有するようにした。
【０１３２】
本発明のさらに他の態様に係るキャラクタ服飾情報生成プログラムは、入力されたテキスト文から得られる言語情報からキャラクタの服飾を自動的に生成するための服飾情報生成プログラムにおいて、服飾の継続性を判定するための服飾継続判定ルールを記憶する服飾継続判定ルール記憶部を参照して、キャラクタの服飾を決定するための言語情報を区分する言語情報区分ステップと、前記言語情報と服飾の関係を示す第１の服飾決定ルールを記憶する服飾決定ルール記憶部を参照して、前記言語情報区分ステップで区分した言語情
報から、キャラクタの服飾を決定する服飾決定ステップと、をコンピュータに実行させるようにしたものである。
【０１３３】
２００６年５月３０日出願の特願２００６−１５０３６４の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【０１３４】
本発明に係るキャラクタ服飾決定装置は、ユーザによる服飾指定や、ユーザの環境情報を用いることなく、シナリオの内容に合致するキャラクタの服飾を決定することができるものであって、携帯電話機をはじめとする携帯端末装置や、パソコン、ゲーム機などとして有用である。
【図面の簡単な説明】
【０１３５】
【図１】本発明の一実施の形態に係るキャラクタ服飾決定装置を搭載したアニメーション作成装置の構成を示すブロック図
【図２】テキスト文の一例を示す図
【図３】図１の意味辞書データベースに格納された意味辞書テーブルの一例を示す図
【図４】図１のシナリオ生成部によって生成されるシナリオの一例を示す図
【図５】図４のシナリオのデータ構成の一例を示す図
【図６】図１の服飾連続判定ルールデータベースに格納された服飾連続判定ルールテーブルの一例を示す図
【図７】図１のシナリオ区分部によって服飾の連続単位で区分されたシナリオの一例を示す図
【図８】図１のキャラクタデータベースに格納されたキャラクタデータテーブルの一例を示す図
【図９】図１の服飾決定ルールデータベースに格納された第１の服飾決定ルールテーブルの一例を示す図
【図１０】図１の服飾決定ルールデータベースに格納された第２の服飾決定ルールテーブルの一例を示す図
【図１１】図１のシナリオ書替部によって書き替えられたシナリオの一例を示す図
【図１２】図１のアニメーション生成部によって生成されるアニメーションの一例を示す図
【図１３】図１のアニメーション作成装置の動作を示すフローチャート
【図１４】図１３のシナリオ生成処理（ステップＳ２０００）の内容を示すフローチャート
【図１５】図１３のキャラクタ服飾決定処理（ステップＳ３０００）の内容を示すフローチャート
【図１６】図１５の服飾決定処理（ステップＳ３３００）の内容を示すフローチャート
【図１７】図１３のアニメーション生成処理（ステップＳ４０００）の内容を示すフローチャート
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2007138911.tif 000020
【図２】
2007138911.tif 000021
【図３】
2007138911.tif 000022
【図４】
2007138911.tif 000023
【図５】
2007138911.tif 000024
【図６】
2007138911.tif 000025
【図７】
2007138911.tif 000026
【図８】
2007138911.tif 000027
【図９】
2007138911.tif 000028
【図１０】
2007138911.tif 000029
【図１１】
2007138911.tif 000030
【図１２】
2007138911.tif 000031
【図１３】
2007138911.tif 000032
【図１４】
2007138911.tif 000033
【図１５】
2007138911.tif 000034
【図１６】
2007138911.tif 000035
【図１７】
2007138911.tif 000036
【国際調査報告】
2007138911.tif 000037
2007138911.tif 000038
2007138911.tif 000039
2007138911.tif 000040