本発明の第1の態様にかかる画像作成装置は、各種情報を入力する入力部と、各種情報を表示する表示部と、コンピュータ・グラフィックスを作成するための素材データを記憶する素材データ記憶部と、前記素材データと前記素材データの素材名の組を対応付けた文字列・素材対応表と、前記素材データの特徴を階層構造で記述する階層構造記述と、前記入力部から前記特徴の入力があった際に前記階層構造記述を用いて前記特徴に対応する前記素材データを検索する検索部と、検索した前記素材データを前記素材データ記憶部に記憶すると共に前記検索した素材データおよび当該素材データの前記素材名を文字列・素材対応表に登録する登録部と、前記入力部から前記素材名の入力があった際に前記文字列・素材対応表を用いて前記素材名に対応する素材データを取得し、取得した前記素材データを用いてコンピュータ・グラフィックスを作成する文字列・CG変換処理部と、を具備する構成を採る。
これにより、ユーザが装置の持っている素材データを確認しながらコンピュータ・グラフィックスの作成をできる。また、素材名入力からコンピュータ・グラフィックスを作成する処理と、特徴入力から新たに素材データを検索する処理とを一連の動作により行うことができる。また、新たに検索した素材データを登録することで、検索した素材データをそれ以降容易に用いることができる。
本発明の第2の態様は、第1の態様にかかる画像作成装置において、前記検索部は、前記特徴が入力された際に前記階層構造記述を参照し、入力された前記特徴より下位の階層の前記特徴を検索し、検索した前記下位の特徴に対する前記素材データを検索する。
これにより、最初に入力した特徴を用いた検索では対応する素材データが多すぎる場合は、下位の特徴を用いることで検索範囲を絞り込んで検索ができる。この結果、ユーザは、適当な数の素材データの候補から所望の素材データを検索できる。つまり、上位の概念の特徴から下位の概念の特徴へ、言い換えると大まかな特徴から詳細な特徴へ検索範囲を狭めながら、素材データの検索ができる。
本発明の第3の態様は、第1の態様にかかる画像作成装置において、前記検索部は、前記特徴が入力された際に前記階層構造記述を参照し、入力された前記特徴より上位の前記特徴を検索し、検索した前記上位の特徴に対する前記素材データを検索する。
これにより、最初に入力した特徴を用いた検索では対応するヒットした素材データが少なすぎる場合は、上位の特徴を用いることで検索範囲を広げて検索ができる。この結果、ユーザは、適当な数の素材データの候補から所望の素材データを検索できる。つまり、下位の概念の特徴から上位の概念の特徴へ、言い換えると細かな特徴から大まかな特徴へ検索範囲を広げながら、素材データの検索ができる。
本発明の第4の態様は、第1の態様にかかる画像作成装置において、検索した前記特徴の一覧を前記表示部に表示する表示制御部を具備し、前記検索部は、前記一覧から前記特徴の選択があった場合に選択された前記特徴に対する前記素材データを検索する。
これにより、ユーザは、一覧により検索結果を視覚的に把握できる。
本発明の第5の態様は、第4の態様にかかる画像作成装置において、前記表示制御部は、前記一覧から選択のあった前記特徴に対する前記素材データのサムネイルの一覧を表示する。
これにより、ユーザは、サムネイルを見ることにより、選択した特徴に対する素材データの概要を視覚的に認識することができる。
本発明の第6の態様は、第4の態様にかかる画像作成装置において、前記表示制御部は、予め設定した数の前記特徴を表示する。
例えば、表示する特徴を、ユーザの利用履歴の多いものを優先したり、優先度の高いものを優先したり、いろいろな応用例が考えられる。この結果、ユーザは、選択肢を少なくできるので、検索効率を上げることができる。
本発明の第7の態様は、第1の態様にかかる画像作成装置において、前記特徴は属性と前記属性の値により定義されている。
例えば、自動車や家電製品は商品カタログに「属性」と「値」の組を用いた表が掲載されることが多いが、素材データもこれらと同じように管理することで、管理データを単純化することができ、特徴がより明確になる。
本発明の第8の態様は、第1の態様にかかる画像作成装置において、前記階層構造記述はネットワーク上に格納された前記素材データに関する前記特徴が記述され、前記検索部は前記ネットワーク上に格納された前記素材データの検索を行い、前記登録部は前記ネットワーク上に格納された素材データの登録を行う。
これにより、多くの素材データを使用することができるだけでなく、他のユーザ等によって作成された最新の素材データを使用できる。
本発明の第9の態様は、第1の態様にかかる画像作成装置において、前記文字列・CG変換処理部は、前記入力画面に前記素材名を指示するテキストの入力があった場合に、前記文字列・素材対応表を参照し、入力された前記テキストが部分一致する前記素材名を検索し、前記表示制御部は、検索された前記素材名の一覧を表示する。
これにより、入力されたテキストに対応する素材名を表示できるので、ユーザは、入力したテキストに対応する素材名があるか、言い換えれば入力したテキストに部分一致する素材データがあるかを認識できる。そして、ユーザは、表示された素材名の一覧から所望の素材名を選択できる。
本発明の第10の態様は、第1の態様にかかる画像作成装置において、前記素材名には表現を表す表現形容詞がさらに対応付けられ、前記文字列・CG変換処理部は、前記表現形容詞を指示するテキストの入力があった場合に、入力された前記テキストが部分一致する前記表現形容詞を検索し、前記表示制御部が前記表現形容詞を表示する。
これにより、入力されたテキストに対応する表現形容詞を表示できるので、ユーザは、入力したテキストに対応する表現形容詞があるかを認識できる。そして、ユーザは、表示された表現形容詞の一覧から所望の表現形容詞を選択できる。
本発明の第11の態様は、第1の態様にかかる画像作成装置において、前記素材名には表現を表す表現副詞がさらに対応付けられ、前記文字列・CG変換処理部は、前記表現副詞を指示するテキストの入力があった場合に、入力された前記テキストが部分一致する前記表現副詞を検索し、前記表示制御部が前記表現副詞を表示する。
これにより、入力されたテキストに対応する表現副詞を表示できるので、ユーザは、入力したテキストに対応する表現副詞があるかを認識できる。そして、ユーザは、表示された表現副詞の一覧から所望の表現副詞を選択できる。
本発明の第12に態様は、第1の態様にかかる画像作成装置において、前記素材データは動作データ、キャラクタデータ、オブジェクトデータ、セットデータの少なくともひとつである。前記素材名は、前記動作データ、キャラクタデータ、オブジェクトデータ、セットデータに対応する動作名、キャラクタ名、オブジェクト名、セット名である。前記文字列・素材対応表は、前記動作データ、キャラクタデータ、オブジェクトデータ、セットデータに対応する文字列・動作対応表、文字列・キャラクタ対応表、文字列・セット対応表、文字列・セット対応表である。
これにより、動作データ、キャラクタデータ、オブジェクトデータ、セットデータを用いたコンピュータ・グラフィックスが作成できる。
本発明の第13に態様は、第12の態様にかかる画像作成装置において、前記動作名が前記キャラクタデータと対応付けられ、文字列・CG変換処理部は、選択された前記キャラクタデータに対応する前記動作名を検索する。
これにより、キャラクタデータに対応する動作名の一覧を表示でき、ユーザは選択できる動作名を把握できる。
本発明の第14に態様は、第12の態様にかかる画像作成装置において、前記動作データは目的語を取り、文字列・CG変換処理部は、前記動作データが取りうる目的語を表すオブジェクト名が入力された際に、入力された前記オブジェクト名に対応するオブジェクトデータを取得し、取得した前記オブジェクトデータを用いてコンピュータ・グラフィックスを作成する。
これにより、動作だけでなく動作にオブジェクトを対応付けたコンピュータ・グラフィックスを作成できる。
本発明の第15に態様は、第14の態様にかかる画像作成装置において、前記文字列・CG変換処理部は、前記動作名が取り得る目的語を表すオブジェクト名を指示するテキストの入力があった場合に、文字列・セット対応表を参照し、入力された前記テキストが部分一致する前記オブジェクト名を検索する。
これにより、入力されたテキストに対応するオブジェクト名文字列を表示できるので、ユーザは、入力したテキストに対応するオブジェクト名文字列があるかを認識できる。そして、ユーザは、表示されたオブジェクト名文字列の一覧から所望のオブジェクト名文字列を選択できる。
本発明の第16の態様は、コンピュータ・グラフィックスを作成するための素材データと前記素材データの素材名の組を対応付けた文字列・素材対応表を備えるステップと、前記素材データの特徴を階層構造で記述する階層構造記述を備えるステップと、前記特徴の入力があった際に前記階層構造記述を用いて前記特徴に対応する前記素材データを検索するステップと、検索した前記素材データを記憶するステップと、前記検索した素材データおよび当該素材データの前記素材名を文字列・素材対応表に登録するステップと、前記素材名の入力があった際に前記文字列・素材対応表を用いて前記素材名に対応する素材データを取得するステップと、取得した前記素材データを用いてコンピュータ・グラフィックスを作成するステップと、を具備することを特徴とする画像作成方法である。
以下、本発明の一実施の形態にかかる画像作成装置の構成について図1を用いて説明する。図1は、本実施の形態にかかる画像作成装置の構成図である。
本実施の形態の画像作成装置100には、装置全体を制御するCPU101が設けられている。CPU101は、HDD102に格納されたプログラムをRAM103にロードして実行することで、各種機能を持つ処理部としても動作する。
また、画像作成装置100には、キーボード、マウスなどの入力部104が設けられている。また、画像作成装置100には、表示手段としてモニタ105が設けられている。
また、画像作成装置100には、コンピュータ・グラフィックスのアニメーションデータである、キャラクタデータ112を格納したキャラクタデータデータベース108や、動作データ113を格納した動作データデータベース109や、セットデータ114を格納したセットデータデータベース110からインターネット107を介してキャラクタデータや動作データやセットデータを受信する送受信部106が設けられている。また、送受信部106は、メタデータデータベース111からメタデータの受信もする。
また、画像作成装置100には、インターネット107を介して取得した複数のキャラクタデータ112を格納するキャラクタデータ記憶部115、インターネット107を介して取得した複数の動作データ113を記憶する動作データ記憶部116、およびインターネット107を介して取得した複数のセットデータ114を格納するセットデータ記憶部117が設けられている。
また、メタデータは素材データである、キャラクタデータ112、動作データ113、およびセットデータ114を説明するためのメタデータである。具体的には、メタデータには、対応する素材データの特徴およびサムネイル画像や素材データへのリンクアドレス等が記述されている。なお、メタデータの詳細については後述する。
キャラクタデータ112は、キャラクタの頂点座標などのパラメータ群である。また、動作データ113は、キャラクタを所定動作させるためのパラメータ群である。パラメータとしては、回転行列、移動行列などがある。セットデータ114は、場所やキャラクタに対して作用可能なオブジェクトなどのセットの情報であるセットデータの頂点座標などのパラメータ群である。なお、キャラクタデータ112、動作データ113、およびセットデータ114の詳細については、後述する。
また、キャラクタデータ112は、所定の文字列(主語名詞文字列)に対応付けられている。本実施の形態では、文字列とキャラクタデータ112とを対応付けて格納した文字列・キャラクタ対応表118を文字列・キャラクタ対応表記憶部119に格納することにより、文字列とこれに対応するキャラクタデータ112との対応を取っている。
なお、文字列・キャラクタ対応表118の詳細については、後述する。
また、画像作成装置100には、キャラクタデータ112と動作データ113との対応を取るためのキャラクタ・動作対応表120を格納するキャラクタ・動作対応表記憶部121が設けられている。
なお、キャラクタ・動作対応表121の詳細については、後述する。
また、画像作成装置100には、所定の文字列(場所名文字列)と、セットデータ114と、セットデータ114に含まれるオブジェクトとの対応を取るための文字列・セット対応表122を格納する文字列・セット対応表記憶部123が設けられている。
なお、文字列・セット対応表122の詳細については、後述する。
また、動作データ113には、セットデータ114に含まれるオブジェクトを用いる動作と用いない動作がある。そこで、画像作成装置100には、動詞データ113がオブジェクトを用いるか否かの情報を記述した動作辞書124を格納する動作辞書記憶部125が設けられている。
なお、動作辞書124の詳細は、後述する。
また、画像作成装置100には、入力制御部126が設けられている。入力制御部126は、入力部104に入力されたシナリオから、場所を表す場所名文字列、主語を表す主語名詞文字列、動作を表す動詞文字列を抽出し、文字列・CG変換処理部131へ送る。
文字列・CG変換処理部131は、文字列・キャラクタ対応表118、キャラクタ・動作対応表120、文字列・セット対応表122、動作辞書124を参照し、入力制御部126から送られてきた文字列に対応するキャラクタデータ112、動作データ113、セットデータ114を選択する。そして、文字列・CG変換処理部131は、選択したキャラクタデータ112、動作データ113、セットデータ114を表示制御部127へ送る。
表示制御部127は、送られてきたキャラクタデータ112、動作データ113、セットデータ114を基にコンピュータ・グラフィックスを作成し、モニタ105に表示する。
また、画像作成装置100には、検索部128が設けられている。検索部128は、メタデータデータベース111に格納された複数のメタデータを取得し、取得した複数のメタデータから特徴を抽出し、階層構造記述130にして管理する。なお、階層構造記述130詳細については後述する。
また、検索部128は、階層構造記述130を参照し、入力制御部126から送られてきた文字列が部分一致する特徴を検出する。そして、検索部128は、検出した特徴を表示制御部127へ送る。
また、検索部128、入力制御部126から送られてきた、特徴の一覧から選択された特徴に対応するキャラクタデータ112、動作データ113、セットデータ114に関する情報を登録部129に送る。
登録部129は、送られてきたキャラクタデータ112、動作データ113、セットデータ114に関する情報が文字列・キャラクタ対応表118、キャラクタ・動作対応表120、文字列・セット対応表122にない場合は、送られてきたキャラクタデータ112、動作データ113、セットデータ114に関する情報を文字列・キャラクタ対応表118、キャラクタ・動作対応表120、文字列・セット対応表122に登録する。
以上のように、画像作成装置100は、構成されている。
次に、キャラクタデータ112について、図2および図3を用いて説明する。図2および図3は、キャラクタデータ112の記述例を示す図である。なお、本実施の形態では、キャラクタデータ112をBACフォーマット(Ver.6.0)で記述するが、これ以外の記述例であっても良い。
キャラクタデータ112には、図中201に示すようにキャラクタの基本姿勢を示す座標値、図中202に示すようにキャラクタの表示方法のタイプ、図中203に示すようにキャラクタに用いられるテクスチャ、図中204に示すようにキャラクタに用いられるポリゴンのデータからなる。
なお、セットデータ114の記述方法も、キャラクタデータ112の記述方法と同じなので詳細な説明を省略する。
次に、動作データ113について、図4および図5を用いて説明する。図4および図5は、動作データ113の記述例を示す図である。なお、本実施の形態では、動作データ113をTRAフォーマット(Ver.4.0)で記述するが、これ以外の記述例であっても良い。
動作データ113には、図中401a〜401fに示すように各座標方向に対する移動、図中402a〜402fに示すように各座標方向に対する拡大縮小、図中403a〜403fに示すように各方向へのベクトル、図中404a〜404fに示すように中心の回転角度、が記述されている。
次に、文字列・キャラクタ対応表118について図6を用いて詳細に説明する。図6は、文字列・キャラクタ対応表118の構成図である。
文字列・キャラクタ対応表118は、キャラクタデータ112の名称である主語名詞文字列601と、主語名詞文字列601に対応したキャラクタデータ112へのリンク情報602と、キャラクタデータ112の特徴を現すキャラクタ形容詞文字列603の組を複数持つテーブルになっている。
また、文字列・キャラクタ対応表118には、ひとつの主語名詞文字列601に対して、複数のキャラクタデータ112へのリンク情報602が対応付けられている。つまり、ひとつの主語名詞文字列601に対して少なくともひとつ以上のキャラクタデータ112を持っている。
これにより、文字列・CG変換処理部131は、文字列・キャラクタ対応表118を参照することにより、入力部104から入力された文字列に対応する主語名詞文字列601があるか容易に検出でき、その主語名詞文字列601の一覧を表示制御部127へ送ることができる。また、文字列・CG変換処理部131は、文字列・キャラクタ対応表118を参照することにより、入力された文字列(主語名詞文字列601)に対するキャラクタデータ112の取得先を容易に検出できる。
次に、キャラクタ・動作対応表120の構成について、図7を用いて詳細に説明する。図7は、本実施の形態にかかるキャラクタ・動作対応表120の構成図である。
キャラクタ・動作対応表120は、キャラクタデータ名701と、動詞文字列702と、動詞文字列702に対応した表現名文字列703と、動詞文字列702に対応した動作データ113へのリンク情報704と、の組を複数持つテーブルになっている。
また、キャラクタ・動作対応表120には、ひとつのキャラクタデータ名701に対して、複数の動詞文字列702が対応付けられている。つまり、ひとつのキャラクタデータ112に対して少なくともひとつ以上の動作データ113を持っている。
また、キャラクタ・動作対応表120には、ひとつの動詞文字列702に対して複数の動作データへのリンク情報704が対応付けられている。また、キャラクタ・動作対応表120には、ひとつの動詞文字列702に対してひとつ以上の表現名文字列703が対応付けられていてもよい。つまり、ひとつの動詞文字列702に対して少なくともひとつ以上の表現を持つ動作データ113が対応付けられている。
文字列・CG変換処理部131は、キャラクタ・動作対応表120を参照することにより、入力部104から入力されたキャラクタが行える動作に対応する動詞文字列702があるか容易に検出でき、その動詞文字列702の一覧を表示制御部127へ送ることができる。また、文字列・CG変換処理部131は、キャラクタ・動作対応表120を参照することにより、入力された動詞文字列702に対する動作データ113の取得先を容易に検出できる。
次に、文字列・セット対応表122の構成について、図8を用いて詳細に説明する。図8は、文字列・セット対応表122の構成図である。
文字列・セット対応表122は、場所名文字列801と、場所名文字列801に対応したセットデータ114のリンク情報802と、場所名文字列801に対応したセットデータ114が備えるオブジェクト名803と、オブジェクト名803が示すオブジェクトの特徴を表すオブジェクト形容詞文字列804と、オブジェクトの位置や大きさ、作用範囲などのオブジェクトパラメータ805と、の組を複数持つテーブルになっている。
また、文字列・セット対応表122には、ひとつの場所名文字列801に対して、複数のセットデータへのリンク情報802が対応付けられている。つまり、ひとつの場所名文字列802に対して少なくともひとつ以上のセットデータ114を持っている。
また、文字列・セット対応表122には、ひとつのセットデータ114へのリンク情報802に対して複数のオブジェクト名803が対応付けられている。つまり、ひとつのセットデータ114に対して少なくともひとつ以上のオブジェクト803が対応付けられている。
文字列・CG変換処理部131は、文字列・セット対応表122を参照することにより、入力部104から入力された場所名文字列801が利用できるか容易に検出でき、その場所名文字列801の一覧を表示制御部127へ送ることができる。また、文字列・CG変換処理部131は、文字列・セット対応表122を参照することにより、入力された場所名文字列に対するセットデータ114の取得先を容易に検出できる。
次に、動作辞書124の構成について図9を用いて説明する。図9は、動作辞書124の構成図である。
動作辞書124には、複数の動詞文字列と動詞文字列がオブジェクトを必要とするか否かの情報が記述されている。図9の例では、「+」が記述された動詞文字列(例えば、「sit on」)は後ろにオブジェクトを要することを意味する。また、「*」が記述された動詞文字列(例えば、「Sand up」)は間にオブジェクトを要することを意味する。また、「+」と「*」が記述された動詞文字列(例えば、「made up 」)は、間と後ろにオブジェクトを要することを意味する。
文字列・CG変換処理部131は、動作辞書124を参照することにより、入力部104から入力された動詞文字列がオブジェクトを必要とするかどうかとその位置を容易に検出でき、オブジェクトを必要とするか否かの情報を表示制御部127へ送ることができる。
次に、メタデータデータベース111に格納されたメタデータについて、図10を用いて詳細に説明する。図10は、メタデータデータベースに対する検索結果の記述例を示す図である。
図10に示すメタデータデータベースに対する検索結果1000は、要素「SearchResults」を根とするXMLで記述されている。要素「SearchResults」は、複数の「item」要素で構成されている。各「item」要素が、検索された素材のメタデータ1006となっており、素材の内容が記述されている。
図10に示すメタデータ1006は、1001に示すように、コンテンツのタイプが記述されている。図10の例では、コンテンツタイプとして「Character」が記述されている。
また、メタデータ1006は、1002に示すように、メタデータ1006に対する素材データのサムネイルが格納された場所へのリンクアドレスが記述されている。
また、メタデータ1006には、1003に示すように、メタデータ1006に対する素材データの情報が格納された場所へのリンクアドレスが記述されている。
また、メタデータ1006には、1004に示すように、メタデータ1006に対する素材データが格納された場所へのリンクアドレスが記述されている。
また、メタデータ1006には、1005に示すように、メタデータ1006に対する素材データの特徴が記述されている。特徴1005は、属性(type)と値(value)により記述されている。図10の例では、特徴1005として、属性「Genre」値「Human」、属性「Sex」値「Female」、属性「Wear」値「Shirt」、属性「Shirt.Color」値「Blue」、属性「Age」値「Young」の組で定義された特徴情報が記述されている。
このように、メタデータ1006には、素材データの格納場所に関する参照先、素材データを示すサムネイルの参照先、素材データの特徴を示す情報が記述されている。
次に、検索部128が複数のメタデータから作成する階層構造記述130の構成について図11を用いて詳細に説明する。図11は、キャラクタデータ112やセットデータ114に対する階層構造記述130の概念を示す図である。
図11に示すように、階層構造記述130の概念モデル1100は、素材データの属性を示す「Key」と、属性に対する値を示す「Term」の組を複数記述している。
また、階層構造記述130の概念モデル1100は、上位概念(親要素)の属性「Key」および値「Term」の下位に下位概念(子要素)の属性「Key」および値「Term」が記述されている。つまり、階層構造記述130の概念モデル1100は、複数の属性「Key」および値「Term」を階層化して記述している。
例えば、図11に示す階層構造記述130の概念モデル1100では、最上位の「Content」というKey1101が「Character」「Picture」「Sound」という複数のTerm1102a〜1102cを持つ。
また、Term「Character」1102aの下には、子要素のKey「Genre」1103があり、Key「Genre」1103は子要素のTerm「Human」1104aと、Term「Animal」1104bを持つ。
また、Term「Human」1104aは、複数の子要素のKey「Sex」1105a、Key「Age」1105b、Key「Wear」1105c、「Motion」1105dを持つ。
また、Key「Wear」1105cは、複数の子要素のTerm「Shirt」1106a、Term「Trouser」1106b、Term「Glasses」1106cを持つ。
また、Term「Trouser」1106bは、複数の子要素のKey「Trouser.Color」1107a、「Trouser.Length」1107bを持つ。
また、Key「Trouser.Color」1107aは、複数のTerm「Blue」1108a、Term「Gray」1108b、Term「Green」1108c、Term「Brown」1108dを持つ。
なお、Key「Sex」1105a、Key「Age」1105b、key「Motion」1105dの下位にも複数の子要素のTermがあるが詳細な説明を省略する。また、Term「shirt」1106a、Term「Glasses」1106cの下にも子要素のKeyがあるが詳細な説明は省略する。また、key「Trouser.Length」1107bの下にも複数の子要素Termがある。
このように、階層構造記述130の概念モデル1100は、素材データの特徴を複数の属性「Key」と値「Term」を階層化して管理している。
これにより、メタデータデータベースで管理されているキャラクタデータ112、セットデータ114に関する「属性」や「値」に使われている語彙だけでなく、意味的な制約までを記述できる。
また、キャラクタデータ112、セットデータ114の特徴を複数の属性「Key」と値「Term」で管理することにより、例えば、自動車や家電製品は商品カタログに「属性」と「値」の組を用いた表が掲載されることが多いが、キャラクタデータ112、セットデータ114もこれらと同じように管理することで、管理データを単純化することができ、特徴がより明確になる。
次に、階層構造記述130の具体的な記述例1200について、図12を用いて詳細に説明する。図12は、階層構造記述130の記述例を示す図である。なお、記述例1200は、図11に示す語彙管理表の概念モデル1100に対応している。また、記述例1200は、階層構造記述130の一例であるので、以下記述例1200を階層構造記述1200として説明する。
図12に示す階層構造記述1200は、図11に示す語彙管理表の概念モデル1100をXMLで記述したものである。なお、説明の便宜上、語彙管理表1200と語彙管理表の概念モデル1100とは完全に一致していない部分もある。
具体的には、語彙管理表1200は、最上位のKey「Content」1201が複数のTerm「Character」1202a、「Picture」1202b、「Sound」1202cを持つ。
また、Term「Character」1202aの下には、子要素のKey「Genre」1203aがあり、Key「Genre」1203aは子要素のTerm「Human」1204aと、Term「Animal」1204bを持つ。
また、Term「Human」1204aは、複数の子要素のKey「Sex」1205a、Key「Age」1205b、Key「Wear」1205c、key「Motion」1205dを持つ。
また、Key「Wear」1205cは、複数の子要素のTerm「Shirt」1206a、Term「Trouser」1206b、Term「Glasses」1206cを持つ。
また、Term「Trouser」1206bは、子要素のKey「Trouser.Color」1207aを持つ。
また、Key「Trouser.Color」1207aは、複数のTerm「Blue」1208a、Term「Gray」1208b、Term「Green」1208c、Term「Brown」1208dを持つ。
なお、Key「Sex」1205a、Key「Age」1205bの下位にも複数のTermがあるが詳細な説明を省略する。また、Term「shirt」1206a、Term「Glasses」1206cの下にもKeyがあるが詳細な説明は省略する。
また、Term「Picture」1202bの下には、子要素のKey「Format」1209があり、Key「Format」1209は複数の子要素のTerm「JPEG」1210aと、Term「GIF」1210bと、Term「PNG」1210cを持つ。
また、Term「JPEG」1210aは、1211に示すように子要素のKeyがあり、さらに、Key1211には1212に示すように複数の子要素のTermを持つ。
また、Term「Sound」1202cの下には、子要素のKey「Format」1213があり、Key「Format」1213は複数の子要素のTerm1214a〜1214eを持つ。
さらに、Term「MP3」1214dは、1215に示すように、下位の子要素のkeyなどを記述したリンク先を持つ。
リンク先1215は、図13に示すように、Key「Bit Rate」1301を持ち、Key「Bit Rate」1301は、1302に示すように複数の子要素のTermを持つ。
このように、記述例1200は、Term「MP3」1214dの下位の説明をリンク先つまり、他の記述を用いて記述することができる。これにより、語彙管理表の複数の部分に分け記述し、それぞれの記述を別々に管理することができる。
このように、階層構造記述130は、素材データの特徴である属性「Key」と値「Term」を階層化して管理している。これにより、上位の概念の語彙を使用して大まかに素材データを検索し、その後下位の語彙を用いて詳細に素材データを検索するということができる。
次に、動作データ113に対する階層構造記述130の構成について図14を用いて詳細に説明する。
図14に示すように、動作データ113に対する階層構造記述130の概念モデル4000は、図11に示す概念モデル1100と同様に、複数の属性「Key」および値「Term」を階層化して記述している。
例えば、概念モデル4000は、最上位の「Content」というKey1101が「Motion」という複数のTerm1102dを持つ。
また、Term「Motion」1102dの下には、子要素のKey「Directional」「Non−Directional」1109a、1109bがある。Key「Directional」1109aは子要素のTerm「Walking」1110aと、Term「Turning」1110bと、Term「Jumping」1110cを持つ。
また、Key「Non−Directional」1109bは子要素のTerm「Standing」1110dと、Term「Posing」1110eと、Term「Bowing」1110fと、Term「Kicking」1110gを持つ。
また、Term「Walking」1110aは、複数の子要素のKey「Speed」1112a、Key「Emotion」1112b、Key「Direction」1112cを持つ。
また、Key「Direction」1112cは、複数の子要素のTerm「Forward」1113a、Term「Backward」1113b、Term「Rightward」1113c、Term「Leftward」1113dを持つ。
なお、Key「Emotion」1112bの下位にも複数の子要素のTermがあるが詳細な説明を省略する。
このように、階層構造記述130の概念モデル4000は、素材データの特徴を複数の属性「Key」と値「Term」を階層化して管理している。
これにより、メタデータデータベースで管理されている動作データ113に関する「属性」や「値」に使われている語彙だけでなく、意味的な制約までを記述できる。
また、動作データ113の特徴を複数の属性「Key」と値「Term」で管理することにより、管理データを単純化することができ、特徴がより明確になる。
次に、表示制御部127がアニメーション作成時に作成するGUIについて、図15を用いて詳細に説明する。図15は、アニメーション作成時に表示されるGUIを示す図である。
GUI1400の上部には、コンピュータ・グラフィックスのシーン名を設定するシーン入力部1401が設けられている。シーン入力部1401には、シーン番号等のシーン名が入力される。
また、GUI1400のシーン入力部1401の下方には、コンピュータ・グラフィックスの場面、状況、ロケーション等の情報を入力する場所名文字列入力部1402が設けられている。
場所名文字列入力部1402は、ユーザが文字を入力した時点において利用可能である場所名文字列801の一覧を表示する。例えば、ユーザが1文字入力するとその文字を先頭に持つ場所名文字列801を全て表示する。また、ユーザが2文字入力するとこの2文字先頭に持つ場所名文字列801を全て表示する。
これにより、ユーザは、場所名文字列入力部1402を参照することにより、セットデータ114を持つ場所名文字列801を認識でき、認識した上で所望の場所名文字列801を入力できる。
また、GUI1400の場所名文字列入力部1402の下方には、コンピュータ・グラフィックスの主語を入力するための主語入力部1403がある。
主語入力部1403は、ユーザが文字を入力した時点において利用可能である主語名詞文字列601の一覧を表示する。例えば、ユーザが1文字入力するとその文字を先頭に持つ主語名詞文字列601を全て表示する。また、ユーザが2文字入力するとこの2文字先頭に持つ主語名詞文字列601を全て表示する。
これにより、ユーザは、主語名詞文字列601を参照することにより、キャラクタデータ112を持つ主語名詞文字列601を認識でき、認識した上で所望の主語名詞文字列601を入力できる。
また、GUI1400の主語入力部1403の右方には、キャラクタに動作させる内容を入力する動作入力部1404がある。
動作入力部1404は、ユーザが主語入力部1403に主語名詞文字列601を設定した時点で、設定した主語名詞文字列601に対応する動詞文字列702の一覧を表示する。また、動作入力部1404は、ユーザが文字を入力した時点において対応する動詞文字列702の一覧を表示する。例えば、ユーザが1文字入力するとその文字を先頭に持つ動詞文字列702を全て表示する。また、ユーザが2文字入力するとこの2文字先頭に持つ動詞文字列702を全て表示する。
また、動作入力部1404は、ユーザが動詞文字列702の入力が終わると、入力された動詞文字列702に対応する表現名文字列703がある場合その一覧を表示する。また、この場合も、動作入力部1404は、ユーザが文字を入力した時点において対応する表現名文字列703の一覧を表示する。
これにより、ユーザは、動作入力部1404を参照することにより、入力したキャラクタに対応する動詞文字列702を認識でき、認識した上で所望の動詞文字列702を入力できる。
また、GUI1400の動作入力部1404の右方には、動作が作用するオブジェクトを入力する目的語入力部1405がある。
目的語入力部1405は、ユーザが動作入力部1404に動詞文字列702を設定した時点で、設定した動詞文字列702が作用するオブジェクト名803の一覧を表示する。また、目的語入力部1405は、ユーザが文字を入力した時点において作用可能なオブジェクト名803の一覧を表示する。例えば、ユーザが1文字入力するとその文字を先頭に持つオブジェクト名803を全て表示する。
これにより、ユーザは、目的語入力部1405を参照することにより、入力した動詞文字列702に対応するオブジェクト名803を認識でき、認識した上で所望のオブジェクト名803を入力できる。
また、GUI1400の右方下部には、ユーザがGUI1400の場所名文字列入力部1402、主語入力部1403、動作入力部1404、および目的語入力部1405から入力したシナリオに対応するコンピュータ・グラフィックスのプレビューを表示するプレビュー表示部1406が設けられている。また、プレビュー表示部1406にコンピュータ・グラフィックスを表示する際には、プレビュー表示部1406の下方にあるプレビューボタン1408を用いる。
また、プレビュー表示部1406は、場所名文字列801に対応するプレビュー、主語名詞文字列601に対応するプレビュー、動詞文字列702に対応するプレビュー、およびオブジェクト名803に対応するプレビューの表示もする。
これにより、ユーザは、入力したシナリオに対応するコンピュータ・グラフィックスの内容を確認できる。
また、GUI1400の下部右方には、ユーザが場所名文字列入力部1402、主語入力部1403、動作入力部1404、および目的語入力部1405で選択した場所名文字列801、主語名詞文字列601、動詞文字列702、およびオブジェクト名803に対応するデータが複数ある場合、現在プレビュー表示部1406に表示しているプレビューに用いている場所名文字列801、主語名詞文字列601、動詞文字列702、およびオブジェクト名803に対応するデータ以外のデータを選択するための次候補ボタン1407が設けられている。
これにより、ユーザは、選択した場所名文字列801、主語名詞文字列601、動詞文字列702、およびオブジェクト名803に対応するデータが複数ある場合にも、これらのデータから所望のデータを選択できる。
また、GUI1400の下部右方には、プレビュー表示部1406に表示されたプレビューに対応する場所名文字列801、主語名詞文字列601、動詞文字列702、およびオブジェクト名803を選択したデータとして表示制御部127へ送る送信ボタン1409が設けられている。
次に、表示制御部127が素材データ検索時に作成するGUIについて、図16を用いて詳細に説明する。図16は、素材データ検索時に表示されるGUIの構成図である。
GUI1500の上部には、素材データを検索するため特徴を入力するための特徴入力部1502が配置されている。
特徴入力部1502は、ユーザが文字を入力した時点において入力した文字と部分一致する特徴(Term、Key)を階層構造記述130から抽出して表示する。例えば、ユーザが1文字入力するとその文字を先頭に持つ特徴(Term、Key)を全て表示する。また、ユーザが2文字入力するとこの2文字先頭に持つ特徴(Term、Key)を全て表示する。
また、GUI1500は、ユーザが特徴入力部1502において特徴を決定した場合、決定した特徴(Term、Key)に対応する下位、もしくは上位の特徴(Term、Key)を表示する特徴表示部1503を持つ。さらに、GUI1500は、ユーザが特徴表示部1503において特徴を決定した場合、決定した特徴(Term、Key)に対応する下位、もしくは上位の特徴(Term、Key)を表示する特徴表示部1504を持つ。なお、特徴表示部1503、1504の数は、図15の例には限定されず、いくつあっても良い。
また、GUI1500の下部には、ユーザが特徴表示部1503、1504において特徴を決定した場合、決定した特徴に対する素材データのサムネイルを表示するサムネイル表示部1505が設けられている。
これにより、ユーザは、サムネイル表示部1505を見ることにより、特徴表示部1503、1504において決定した特徴に対応する素材データの概要や数を把握できる。
次に、画像作成装置100のシナリオ決定処理について、図17を用いて詳細に説明する。図17は、本実施の形態にかかる画像作成装置100のシナリオ決定処理のフローチャートである。
まず、画像作成装置100は、入力制御部126において、GUI1400のシーン入力部1401からシーンの入力があるか監視し、シーンの入力があった場合は、文字列・CG変換処理部131において、シーンの設定をする(S1701)。なお、シーンの設定がない場合がある。また、シーンは複数設定することもある。
次に、画像作成装置100は、入力制御部126において、GUI1400の場所名文字列入力部1402から場所名文字列801の入力があるか監視し、場所名文字列801入力があった場合は、文字列・CG変換処理部131において、セットの決定をする(S1702)。なお、S1702の処理の詳細については、後述する。なお、セットを選択せずデフォルトまたはセットなしでのアニメーション作成を行う場合もある。
次に、画像作成装置100は、入力制御部126において、GUI1400の主語入力部1403から主語名詞文字列601の入力があるか監視し、主語名詞文字列601の入力があった場合は、文字列・CG変換処理部131において、キャラクタの決定をする(S1703)。なお、S1703の処理の詳細については、後述する。
次に、画像作成装置100は、入力制御部126において、GUI1400の動作入力部1404から動詞文字列702の入力があるか監視し、動詞文字列702の入力があった場合は、文字列・CG変換処理部131において、動作の決定をする(S1704)。なお、S1704の処理の詳細については、後述する。
次に、画像作成装置100は、動作辞書124を検索し(S1705)、S1704において決定した動作がオブジェクトを必要とするか否かを判断する(S1706)。
そして、S1706でオブジェクトが必要な場合は、文字列・CG変換処理部131は、文字列・セット対応表122を参照し、オブジェクト一覧を抽出し、表示制御部127へ送る。そして、表示制御部127がオブジェクト名一覧を表示する。そして、画像作成装置100は、入力制御部127において、GUI1400の目的語入力部1005からオブジェクト名803の入力があるか監視し、オブジェクト名803の入力があった場合は、文字列・CG変換処理部131において、オブジェクトの決定をする(S1707)。なお、S1707の処理の詳細については、後述する。
そして、画像作成装置100は、入力制御部126において、GUI1400のシーン入力部1401からシーンの追加があるか監視し(S1708)、シーンの追加があった場合は、追加したシーンに対してS1701以降の処理を行う。
一方、S1706において、オブジェクトが必要でないと判断すると、画像作成装置100は、S1707の処理を省いて、S1708の処理に移行する。
次に、文字列・CG変換記憶部131は、上述した処理において決定したセット、キャラクタ、動作、およびオブジェクトに対する素材データ(キャラクタデータ112、動作データ113、セットデータ114)を取得し(S1709)、取得した素材データを用いて動画を生成し(S1710)、生成した動画をモニタ105に表示する(S1711)。
このように、画像作成装置100は、シナリオの入力を受けた後に、このシナリオに対する特徴の入力を受け、この特徴に応じた素材データを取得し、この素材データを用いて、動画を作成する。
以上のように画像作成装置100は、コンピュータ・グラフィックスを作成するためのシナリオを決定し、動画を作成する。
次に、画像作成装置100のセット決定処理(S1702)の動作について、図18を用いて詳細に説明する。図18は、画像作成装置100のセット決定処理のフローチャートである。
まず、画像作成装置100の入力制御部126が、入力部104からGUI1400に対してシナリオの入力があるか監視する(S1801)。具体的には、S1801において、場所名文字列入力部1402にマウスなどの選択(クリック処理)があるか、もしくは場所名文字列801の入力があるかを監視する。
そして、S1801においてシナリオの入力があると、入力制御部126は、場所名文字列801の入力があった場合は入力された文字を、クリック処理があった場合はその旨を文字列・CG変換処理部131へ送る。
次に、文字列・CG変換処理部131は、文字列・セット対応表122を検索する(S1802)。そして、文字列・CG変換処理部131は、場所名文字列801に関する文字を受信した場合は、送られてきた文字を先頭に持つ場所名文字列801があるか検索する。
また、文字列・CG変換部131は、クリック処理があった旨の情報を受信すると、文字列・セット対応表122の全ての場所名文字列801を検索する(S1803)。
そして、S1803において場所名文字列801を検出した場合には、文字列・CG変換処理部131は、検出した場所名文字列801を表示制御部127へ送る。そして、表示制御部127が、送られてきた場所名文字列801を場所名文字列入力部1402の入力された文字に並べて表示する(S1804)。
例えば、S1801において、場所名文字列入力部1402にクリック処理があった場合、文字列・CG変換処理部131は、文字列・セット対応表122から全ての場所名文字列801を検索し(S1802、1803)、表示制御部127へ送る。そして、表示制御部127が、図19に示すように、送られてきた場所名文字列801である「Park」と「School」と、検索部128によるセットデータ114の検索処理を実行するための「more・・・」とを場所名文字列入力部1402に並べて表示する(S1804)。
このように、場所名文字列801の一覧を表示することにより、ユーザは、どのような場所が利用できるかを認識できる。
また、S1804において、場所名文字列801の一覧を表示する際に、今までユーザが選択した履歴を用いて、選択回数の多い場所名文字列801から順に並べるようにする。
次に、入力制御部126は、S1801において入力されたシナリオの追加シナリオの入力があるか監視する(S1805)。そして、S1805において、追加シナリオがある場合は、追加シナリオを含んだ文字列に対してS1803以降の処理をする。
次に、入力制御部126は、ユーザが場所名文字列入力部1402を用いて場所名文字列801を決定するか監視し、ユーザが場所名文字列801を決定すると、決定した場所名文字列801を文字列・CG変換処理部131へ送る。
これに対し、文字列・CG変換処理部131は、文字列・セット対応表122を参照し、送られてきた場所名文字列801に対応するセットデータ114へのリンク802を抽出する。
次に、文字列・CG変換処理部131は、抽出したリンク情報802を用いて、セットデータ114を抽出し、抽出したセットデータ114を表示制御部127へ送る。
これに対し、表示制御部127は、送られてきたセットデータ114を、GUI1400のプレビュー表示部1406にプレビューを表示する(S1806)。
なお、この際、表示制御部127は、送られてきたセットデータ114が複数ある場合は、例えば先頭のセットデータ114などを選択して、GUI1400のプレビュー表示部1406に選択したセットデータ114に対するプレビューを表示する。
次に、入力制御部126は、GUI1400の次候補ボタン1407が押下されるか、場所名文字列入力部1402に表示された「more・・・」が選択されるか、送信ボタン1309が押下されるのを監視する(S1807)。
S1807において送信ボタン1409が押下されたと判断した場合には、表示制御部127は処理を終了し、生成されたアニメーションを送受信部106からインターネット107上の別の画像作成装置100へ送る。別の画像作成装置100へ送る際にはアニメーションデータのみ又はアニメーションデータとシナリオデータを送る。別の画像作成装置100は、送受信部106でアニメーションデータを受信した場合は、表示制御部127でGUI1400のプレビュー表示部1406にプレビュー表示する。送受信部106でアニメーションデータとシナリオデータを受信した場合は、表示制御部127でGUI1400のプレビュー表示部1406にプレビュー表示すると共に、送信側の画像作成装置100と同様にシナリオの入力・編集が行える。
また、次候補ボタン1407が押下されたと判断した場合には、文字列・CG変換処理部131は、ユーザが場所名文字列入力部1402において選択した場所名文字列801に対応するセットデータ114のうち、S1806においてプレビューを表示しているセットデータ114以外のセットデータ114を選択する。そして、文字列・CG変換処理部131は、選択したセットデータ114を表示制御部127に送り、表示制御部127が送られてきたセットデータ114を用いてプレビューを作成し、プレビュー表示部1406に表示し(S1808)、S1807の処理に移行する。
このように、ユーザが選択した場所名文字列801に対応するセットデータ114の全てのプレビューを表示できる。この結果、ユーザは、選択した場所名文字列801に対応するセットデータ114を、プレビューを見た上で選択することができる。
また、S1807において場所名文字列入力部1402に表示された「more・・・」が選択されたと、つまり検索部128によるセットデータ114の検索処理の実行が指示されたと判断した場合は、検索部128は、検索処理を行い(S1809)、S1807の処理に移行する。なお、検索処理(S1809)の詳細については、後述する。
以上のように、ユーザに対して保持するセットデータ114の場所名文字列801の一覧を表示することができる。これにより、ユーザは、どのようなセットデータ114が存在するのか容易に把握できる。
また、GUI1400に選択可能なセットデータ114の場所名文字列801の一覧を表示することにより、ユーザが文字列・セット対応表122を解析する必要がなくなり、容易に選択可能な場所名文字列801の一覧を把握できる。
次に、画像作成装置100のキャラクタ決定処理(S1703)の動作について、図20を用いて詳細に説明する。図20は、画像作成装置100のキャラクタ決定処理のフローチャートである。
画像作成装置100の入力制御部126が、入力部104からGUI1400に対してシナリオの入力があるか監視する(S2001)。具体的には、S2001において、主語入力部1403にマウスなどの選択(クリック処理)があるか、もしくは場所名文字列の入力があるかを監視する。
そして、S2001においてシナリオの入力があると、入力制御部127は、主語名詞文字列601の入力があった場合は入力された文字を、クリック処理があった場合はその旨を文字列・CG変換処理部131へ送る。
次に、文字列・CG変換処理部131は、文字列・キャラクタ対応表118を検索する(S2002)。そして、文字列・CG変換処理部131は、主語名詞文字列601に関する文字を受信した場合は、送られてきた文字を先頭に持つ主語名詞文字列601があるか検索する。また、文字列・CG変換部131は、クリック処理があった旨の情報を受信すると、文字列・キャラクタ対応表118の全ての主語名詞文字列601を検索する(S2003)。
そして、S2003において主語名詞文字列601を検出した場合には、文字列・CG変換処理部131は、検出した主語名詞文字列601を表示制御部127へ送る。そして、表示制御部127が、送られてきた主語名詞文字列601を主語入力部1403の入力された文字に並べて表示する(S2004)。
例えば、S2001において、主語入力部1403に「G」という入力があった場合、文字列・CG変換処理部131は、文字列・キャラクタ対応表118から「G」を先頭に持つ主語名詞文字列601を検索し(S2002、2003)、表示制御部127へ送る。そして、表示制御部127が、図21に示すように、送られてきた主語名詞文字列601である「Girl」と「Gorilla」と、検索部128によるキャラクタデータ112の検索処理を実行するための「more・・・」とを主語入力部1403に並べて表示する(S2004)。
このように、主語名詞文字列601の一覧を表示することにより、ユーザは、どのような主語名詞文字列601があるかを認識できる。
また、S2004において、主語名詞文字列601の一覧を表示する際に、今までユーザが選択した履歴を用いて、選択回数の多い主語名詞文字列601から順に並べるようにする。さらに、場所名文字列801が選択された状態における主語名詞文字列601の利用頻度の多い順に主語名詞文字列601を並べてもよい。
次に、入力制御部126は、S2001において入力されたシナリオの追加シナリオの入力がある監視する(S2005)。そして、S2005において、追加シナリオがある場合は、追加シナリオを含んだ文字列に対してS2003以降の処理をする。
次に、入力制御部126は、ユーザが主語入力部1403を用いて主語名詞文字列601を決定するか監視し、ユーザが主語名詞文字列601を決定すると、決定した主語名詞文字列601を文字列・CG変換処理部131へ送る。
これに対し、文字列・CG変換処理部131は、文字列・キャラクタ対応表118を参照し、送られてきた主語名詞文字列601に対応するキャラクタデータ112へのリンク602を抽出する。
次に、文字列・CG変換処理部131は、抽出したリンク情報602を用いて、キャラクタデータ112を抽出し、抽出したキャラクタデータ112を表示制御部127へ送る。
これに対し、表示制御部127は、送られてきたキャラクタデータ112を、GUI1400のプレビュー表示部1406にプレビューを表示する(S2006)。
なお、この際、表示制御部127は、送られてきたキャラクタデータ112が複数ある場合は、例えば先頭のキャラクタデータ112などを選択して、GUI1400のプレビュー表示部1406に選択したキャラクタデータ112に対するプレビューを表示する。
次に、入力制御部126は、GUI1400の次候補ボタン1407が押下されるか、主語入力部1403に表示された「more・・・」が選択されるか、送信ボタン1409が押下されるのを監視する(S2007)。
S2007において送信ボタン1409が押下されたと判断した場合には、表示制御部127は、処理を終了し、生成されたアニメーションを送受信部106からインターネット107上の別の画像作成装置100へ送る。別の画像作成装置100へ送る際にはアニメーションデータのみ又はアニメーションデータとシナリオデータを送る。別の画像作成装置100は、送受信部106でアニメーションデータを受信した場合は、表示制御部127でGUI1400のプレビュー表示部1406にプレビュー表示する。送受信部106でアニメーションデータとシナリオデータを受信した場合は、表示制御部127でGUI1400のプレビュー表示部1406にプレビュー表示すると共に、送信側の画像作成装置100と同様にシナリオの入力・編集が行える。
また、次候補ボタン1407が押下されたと判断した場合には、文字列・CG変換処理部131は、ユーザが主語入力部1403において選択した主語名詞文字列601に対応するキャラクタデータ112のうち、S2006においてプレビューを表示しているキャラクタデータ112以外のキャラクタデータ112を選択する。そして、文字列・CG変換処理部131は、選択したキャラクタデータ112を表示制御部127に送り、表示制御部127が送られてきたキャラクタデータ112を用いてプレビューを作成し、プレビュー表示部1406に表示し(S2008)、S2007の処理に移行する。
このように、ユーザが選択した主語名詞文字列601に対応する全てのキャラクタデータ112のプレビューを表示できる。この結果、ユーザは、選択した主語名詞文字列601に対応するキャラクタデータ112を、プレビューを見た上で選択することができる。
また、S2007において主語入力部1403に表示された「more・・・」が選択されたと、つまり検索部128によるキャラクタデータ112の検索処理の実行が指示されたと判断した場合は、検索部128は、検索処理を行い(S2009)、S2007の処理に移行する。なお、検索処理(S2009)の詳細については、後述する。
以上のように、ユーザに対して保持するキャラクタデータ112の主語名詞文字列601の一覧を表示することができる。これにより、ユーザは、どのようなキャラクタデータ112が存在するのか容易に把握できる。
また、GUI1400に選択可能なキャラクタデータ112の主語名詞文字列601の一覧を表示することにより、ユーザが文字列・キャラクタ対応表118を解析する必要がなくなり、容易に選択可能な主語名詞文字列601の一覧を把握できる。
次に、画像作成装置100の動作決定処理(S1704)の動作について、図22を用いて詳細に説明する。図22は、画像作成装置100の動作決定処理のフローチャートである。
まず、画像作成装置100の入力制御部126が、入力部104からGUI1400に対してシナリオの入力があるか監視する(S2201)。具体的には、S2201において、動作入力部1404にマウスなどの選択(クリック処理)があるか、もしくは動詞文字列702の入力があるかを監視する。
そして、S2201においてシナリオの入力があると、入力制御部126は、動詞文字列702の入力があった場合は入力された文字を、クリック処理があった場合はその旨を文字列・CG変換処理部131へ送る。
次に、文字列・CG変換処理部131は、キャラクタ・動作対応表120を検索する(S2202)。そして、文字列・CG変換処理部131は、動詞文字列702に関する文字を受信した場合は、図17に示すキャラクタ決定処理(S1703)において決定した主語名詞文字列601に対応し、かつ送られてきた文字を先頭に持つ動詞文字列802があるか検索する。また、文字列・CG変換部131は、クリック処理があった旨の情報を受信すると、図17に示すキャラクタ決定処理(S1703)において決定した主語名詞文字列601に対応する全ての動詞文字列702を検索する(S2203)。
そして、S2203において動詞文字列702を検出した場合には、文字列・CG変換処理部131は、検出した動詞文字列702を表示制御部127へ送る。そして、表示制御部127が、送られてきた動詞文字列702を動作入力部1404の入力された文字に並べて表示する(S2204)。
例えば、S2201において、動作入力部1404にクリック処理があった場合、文字列・CG変換処理部131は、キャラクタ・動作対応表120から、図17に示すキャラクタ決定処理(S1703)において決定した主語名詞文字列601(例えば「Girl」)に対応する全ての動詞文字列702を検索し(S2202、2203)、表示制御部127へ送る。そして、表示制御部127が、図23に示すように、送られてきた動詞文字列702である「goes close to」、「sits on」と「stands up」と、検索部128によるキャラクタデータ112の検索処理を実行するための「more・・・」とを動作入力部1404に並べて表示する(S2204)。
このように、動詞文字列702の一覧を表示することにより、ユーザは、どのような動詞文字列702が選択可能か認識できる。
また、S2204において、動詞文字列702の一覧を表示する際に、今までユーザが選択した履歴を用いて、選択回数の多い動詞文字列702から順に並べるようにする。さらに、主語名詞文字列601が選択された状態における動詞文字列702の利用頻度の多い順に動詞文字列702を並べる。または、場所名文字列801と主語名詞文字列601が両方選択された状態における動詞文字列702の利用頻度の多い順に動詞文字列702を並べるようにしてもよい。
次に、入力制御部126は、S2201において入力されたシナリオの追加シナリオの入力がある監視する(S2205)。そして、S2205において、追加シナリオがある場合は、追加シナリオを含んだ文字列に対してS2203以降の処理をする。
一方、S2205において、追加シナリオがない場合は、文字列・CG変換処理部131は、キャラクタ・動作対応表120を検索し、S2204において表示した動詞文字列702に対応する表現名文字列703があるか検索する(S2206)。
そして、S2206において表現名文字列703を検出した場合には、文字列・CG変換処理部131は、検出した表現名文字列703を表示制御部127へ送る。そして、表示制御部127が、送られてきた表現名文字列703を動作入力部1404の近傍に並べて表示する(S2207)。
次に、入力制御部126は、表現名文字列703に対して(追加の)文字(シナリオ)入力がある監視する(S2208)。そして、S2208において、追加シナリオがある場合は、追加シナリオを含んだ文字列に対してS2206以降の処理をする。
具体的には、文字列・CG変換処理部131は、入力された文字を先頭に持つ表現名文字列703を検索する。そして、表示制御部127がモニタに検索した表現名文字列703を表示する。
このように、表現名文字列703の一覧を表示することにより、ユーザは、どのような表現名文字列703が選択可能か認識できる。
また、S2207において、表現名文字列703の一覧を表示する際に、今までユーザが選択した履歴を用いて、選択回数の多い表現名文字列703から順に並べるようにする。さらに、主語名詞文字列601が選択された状態における表現名文字列703の利用頻度の多い順に表現名文字列703を並べるか、場所名文字列801と主語名詞文字列601が両方選択された状態における表現名文字列703の利用頻度の多い順に動詞文字列702を並べるか、動詞文字列702が選択された状態における表現名文字列703の利用頻度の多い順に表現名文字列703を並べる、場所名文字列801と動詞文字列702が両方選択された状態における表現名文字列703の利用頻度の多い順に表現名文字列703を並べる、場所名文字列801と主語名詞文字列601と動詞文字列702が三つ選択された状態における表現名文字列703の利用頻度の多い順に表現名文字列703を並べるようにしてもよい。
次に、入力制御部127は、ユーザがGUI1400の動作入力部1404などを用いて動詞文字列702および表現名文字列703を決定するか監視し、ユーザが動詞文字列702および表現名文字列703を決定すると、決定した動詞文字列702および表現名文字列703を文字列・CG変換処理部131へ送る。
これに対し、文字列・CG変換処理部131は、キャラクタ・動作対応表120を参照し、送られてきた動詞文字列702および表現名文字列703に対応する動作データへのリンク704を抽出する。
次に、文字列・CG変換処理部131は、抽出したリンク情報704を用いて、動作データ113を抽出し、抽出した動作データ113を表示制御部127へ送る。
これに対し、表示制御部127は、送られてきた動作データ113を、GUI1400のプレビュー表示部1406にプレビューを表示する(S2209)。
なお、この際、表示制御部127は、送られてきた動作データ113が複数ある場合は、例えば先頭の動作データ113などを選択して、GUI1400のプレビュー表示部1406に選択した動作データ113に対するプレビューを表示する。
次に、入力制御部126は、GUI1400の次候補ボタン1407が押下されるか、動作入力部1404に表示された「more・・・」が選択されるか、送信ボタン1309が押下されるのを監視する(S2210)。
S2210において送信ボタン1409が押下されたと判断した場合には、表示制御部127は、処理を終了する。次候補ボタン1407が押下されたと判断した場合には、文字列・CG変換処理部131は、ユーザがGUI1400において選択した動詞文字列702および表現名文字列703に対応する動作データ113のうち、S2209においてプレビューを表示している動作データ以外の動作データを選択する。そして、文字列・CG変換処理部131は、選択した動作データを表示制御部127に送り、表示制御部127が送られてきた動作データを用いてプレビューを作成し、プレビュー表示部1406に表示し(S2211)、S2210の処理に移行する。
このように、ユーザが選択した動詞文字列702および表現名文字列703に対応する動作データ113の全てのプレビューを表示できる。この結果、ユーザは、選択した動詞文字列702および表現名文字列703に対応する動作データ113を、プレビューを見た上で選択することができる。
また、S2207において動作入力部1404に表示された「more・・・」が選択されたと、つまり検索部128による動作データ113の検索処理の実行が指示されたと判断した場合は、検索部128は、検索処理を行い(S2212)、S2207の処理に移行する。なお、検索処理(S2212)の詳細については、後述する。
以上のように、ユーザに対して保持する動詞文字列702および表現名文字列703の一覧を表示することができる。これにより、ユーザは、どのような動作データ113が存在されているのか容易に把握できる。
また、GUI1400に選択可能な動作データ113の動詞文字列702および表現名701の一覧を表示することにより、ユーザがキャラクタ・動作対応表120を解析する必要がなくなり、容易に選択可能な動詞文字列702および表現名文字列703の一覧を把握できる。
次に、画像作成装置100のオブジェクト決定処理(S1707)の動作について、図24を用いて詳細に説明する。図24は、画像作成装置100のオブジェクト決定処理のフローチャートである。
画像作成装置100の入力制御部126が、入力部104からGUI1400に対してシナリオの入力があるか監視する(S2401)。具体的には、S2401において、目的語入力部1405にマウスなどの選択(クリック処理)があるか、もしくはオブジェクト名の入力があるかを監視する。
そして、S2401においてシナリオの入力があると、入力制御部127は、オブジェクト名の入力があった場合は入力された文字を、クリック処理があった場合はその旨を文字列・CG変換処理部131へ送る。
次に、文字列・CG変換処理部131は、文字列・セット対応表122を検索する(S2402)。そして、文字列・CG変換処理部131は、オブジェクト名803に関する文字を受信した場合は、S1702で決定した場所名文字列801に対応し、かつ送られてきた文字を先頭に持つオブジェクト名803があるか検索する。また、文字列・CG変換部131は、クリック処理があった旨の情報を受信すると、文字列・セット対応表122に保存されたS1702で決定した場所名文字列801に対応する全てのオブジェクト名803を検索する(S2403)。
そして、S2403においてオブジェクト名803を検出した場合には、文字列・CG変換処理部131は、検出したオブジェクト名803を表示制御部131へ送る。そして、表示制御部131が、送られてきたオブジェクト名803を目的語入力部1405の入力された文字に並べて表示する(S2404)。
例えば、S2401において、目的語入力部1405にクリック処理があった場合、文字列・CG変換処理部131は、文字列・セット対応表122から、S1702において決定した場所名文字列801に対応する全てのオブジェクト名803を検索し(S2402、2403)、表示制御部127へ送る。そして、表示制御部127が、図25に示すように、送られてきたオブジェクト名803である「the bench」と「the slide」と、検索部128によるセットデータ114の検索処理を実行するための「more・・・」と、を目的語入力部1405に並べて表示する(S2404)。
このように、オブジェクト名803の一覧を表示することにより、ユーザは、どのようなオブジェクト名803が選択可能か認識できる。
また、S2404において、オブジェクト名803の一覧を表示する際に、今までユーザが選択した履歴を用いて、選択回数の多いオブジェクト名803から順に並べるようにする。
次に、入力制御部126は、S2401において入力されたシナリオの追加シナリオの入力がある監視する(S2405)。そして、S2405において、追加シナリオがある場合は、追加シナリオを含んだ文字列に対してS2403以降の処理をする。
次に、入力制御部126は、ユーザが目的語入力部1405を用いてオブジェクト名803を決定するか監視し、ユーザがオブジェクト名803を決定すると、決定したオブジェクトパラメータ805を文字列・CG変換処理部131へ送る。
これに対し、表示制御部127は、送られてきたオブジェクトパラメータ805を、既に選択されているキャラクタが選択されている動作の中で作用する(例:椅子に座る)ようにGUI1400のプレビュー表示部1406にプレビューを表示する(S2406)。
次に、入力制御部126は、GUI1400の次候補ボタン1407が押下されるか、目的語入力部1405に表示された「more・・・」が選択されるか、送信ボタン1409が押下されるのを監視する(S2407)。
S2407において送信ボタン1409が押下されたと判断した場合には、表示制御部127は、処理を終了し、次候補ボタン1407が押下されたと判断した場合には、文字列・CG変換処理部131は、ユーザが目的語入力部1405において選択したオブジェクト名803に対応するオブジェクトデータのうち、S2406においてプレビューを表示しているオブジェクト以外のオブジェクトを選択する。そして、文字列・CG変換処理部131は、選択したオブジェクトパラメータを表示制御部127に送り、表示制御部127が送られてきたオブジェクトパラメータを用いてプレビューを作成し、プレビュー表示部1406に表示し(S2408)、S2407の処理に移行する。
このように、ユーザが選択したオブジェクト名803に対応する全てのオブジェクトに対応するオブジェクトパラメータ805のプレビューを表示できる。この結果、ユーザは、選択したオブジェクト名803に対応するオブジェクトを、プレビューを見たうえで選択することができる。
また、S2407において目的語入力部1405に表示された「more・・・」が選択されたと、つまり検索部128によるセットデータ(オブジェクトデータ)114の検索処理の実行が指示されたと判断した場合は、検索部128は、検索処理を行い(S2409)、S2407の処理に移行する。なお、検索処理(S2409)の詳細については、後述する。
このように、ユーザに対して選択可能なオブジェクト名803の一覧を表示することができる。これにより、ユーザは、どのようなオブジェクト名803を選択できるのか容易に把握できる。さらに、動詞文字列702が選択された状態におけるオブジェクト名803の利用頻度の多い順にオブジェクト名803を並べるか、場所名文字列801と動詞文字列702が両方選択された状態におけるオブジェクト名803の利用頻度の多い順にオブジェクト名803を並べるか、場所名文字列801と主語名詞文字列601と動詞文字列702が三つ選択された状態におけるオブジェクト名803の利用頻度の多い順にオブジェクト名803を並べるようにしてもよい。
以上説明したように、本実施の形態によれば、ユーザが選択可能な動作、キャラクタ、セット、さらに動作の対象であるオブジェクトを一覧として表示することができる。これにより、ユーザは、選択可能な動作、キャラクタ、セット、さらに動作の対象であるオブジェクトを容易に認識でき、認識したうえで選択できるので、容易にかつ確実にシナリオからコンピュータ・グラフィックスを作成できる。
また、画像作成装置100は、図26に示すように、GUI1400に、複数の文章からなるシナリオを入力することもできる。この場合は、上位の文章から順に並んだコンピュータ・グラフィックスを作成できる。
また、図26のように複数の文章からなるシナリオを入力する場合は、図中2601のように最初の文章のキャラクタ(「Girl」)とは別のキャラクタ(「Man」)が登場することがある。この場合は、図27に示すように、複数のキャラクタが登場した時点で、一方のキャラクタが動作する対象のオブジェクトに他方のキャラクタを加える。図27の例では、「Girl」のオブジェクトに「Man」2701を、「Man」のオブジェクトに「Girl」2702を加える。
なお、本実施の形態では場所名文字列としてPark、School、主語名詞文字列としてGirl、Man、動詞文字列として「じたばたする」、「じゃんぷする」、sits on、goes close to、stands up、says、表現名文字列としてhappily、sadlyを用いたが、これらに限定されない。特に、主語名詞文字列の例は一般名詞であるが、頻繁に利用したいキャラクタデータに対し、固有名詞の名前を付与し(例:GirlをAiとする)保存しておくことにより固有名詞を用いても良い。
なお、本実施の形態において、キャラクタ形容詞文字列603とオブジェクト形容詞文字列804は、それぞれキャラクタデータとオブジェクトデータを表示する前およびその時に表示することによりデータの違いが分かりやすいように示しても良いし、それぞれ主語入力部1403と目的語入力部1405の中または横に一覧表示することで、キャラクタデータとオブジェクトデータの更なる検索(フィルタリング)を行っても良い。
また、本実施の形態において、文字列・キャラクタ対応表118、キャラクタ・動作対応表120、文字列・セット対応表122をインターネット107のサーバ108〜114上に置き、一人または複数のユーザで共有することができる。また、多くの素材データを使用することができるだけでなく、他のユーザ等によって作成された最新の素材データを使用できる。
また、文字列・キャラクタ対応表118の主語名詞文字列601、キャラクタ・動作対応表120の動詞文字列702および表現名文字列703、文字列・セット対応表122の場所名文字列801およびオブジェクト名803を、複数のユーザが選択した履歴を基に選択回数の多い文字列から順に記述保存し、利用頻度の高い文字列が先に検索されるようにしても良い。また同様に、文字列・キャラクタ対応表118のキャラクタデータへのリンク情報602、キャラクタ・動作対応表120の動作データへのリンク情報704、文字列・セット対応表122のセットデータへのリンク情報802を、複数のユーザが選択した履歴を基に選択回数の多いデータへのリンク情報から順に記述保存し、利用頻度の高いデータが先に表示されるようにしても良い。
また、動作辞書124をインターネット104上におき、一人または複数のユーザで共有する用にしても良い。
次に、本実施の形態にかかる画像作成装置100の検索処理(S1809、2009、2212、2409)について、図28を用いて詳細に説明する。図28は、本実施の形態にかかる画像作成装置100の検索処理のフローチャートである。
なお、実際には、画像作成装置100は、S1809ではセットデータ114の検索、S2009ではキャラクタデータ112の検索、S2209では動作データ113の検索、S2409ではオブジェクトデータ(セットデータ114)の検索を行う。しかし、以下の説明では、キャラクタデータ112、動作データ113、およびセットデータ114を素材データとして説明する。
まず、画像作成装置100の表示制御部127が、素材データを検索するための画面であるGUI1500を作成し、モニタ105に表示する(S2801)。そして、画像作成装置100は、特徴から素材データを検索するモードに移行する。
次に、画像作成装置100の入力制御部126が、素材に対する特徴入力部1502から入力されたか監視し(S2802)、特徴が入力された場合はその旨を検索部128に送る。
また、S2802において、画像作成装置100は、特徴入力部1502に特徴が入力された時点で、階層構造記述130を参照し、入力された特徴に部分一致するTermもしくはKeyの一覧を特徴入力部1502に表示する。
そして、検索部128は、S2802において入力された特徴に対する素材データの検索処理を行う(S2803)。なお、S2803の処理の詳細については、後述する。
次に、画像作成装置100の登録部129が、メタデータデータベース111から、S2803において決定した素材データに対応するメタデータを取得する。次に、登録部129は、取得したメタデータに記述されたリンク情報を用いてキャラクタデータデータベース108、動作データデータベース109、もしくはセットデータデータベース110から、S2803において決定した素材データ(キャラクタデータ112、動作データ113、セットデータ114)を取得する(S2804)。
次に、登録部129は、S2804において取得したメタデータの内容、つまり検索結果を登録する。詳細には、登録部129は、S2804において取得したメタデータがキャラクタに関する場合はメタデータの内容を文字列・キャラクタ対応表118に追加し、S2804において取得したメタデータが動作に関する場合はメタデータの内容をキャラクタ・動作対応表120に追加し、S2804において取得したメタデータがセットに関する場合はメタデータの内容を文字列・セット対応表122に登録する(S2805)。
これにより、文字列・キャラクタ対応表118、キャラクタ・動作対応表120、文字列・セット対応表122に検索した結果を反映できる。この結果、ユーザが一度検索した素材データに関する情報がそれ以降シナリオ入力用のGUI1400に表示されるようになる。よって、ユーザが、一度検索した素材データを再度検索することなく、使用するようにできる。
次に、登録部129は、取得した素材データを追加する。具体的には、登録部129は、取得した素材データがキャラクタデータ112の場合動作データ113の場合は取得した動作データを動作データ記憶部116に記憶し、取得した素材データがセットデータ114の場合は取得した素材データをセットデータ記憶部117に記憶する(S2806)。
これにより、一度取得した素材データを再度インターネット107を介して取得する必要がなくなる。検索した素材データは、ユーザが頻繁に使用する可能性が大きいので、その効果は大きい。
次に、画像作成装置100の素材データ検索処理(図28のS2803)の処理について、図29を用いて詳細に説明する。図29は、本実施の形態にかかる画像作成装置100の素材データ検索処理のフローチャートである。
まず、画像作成装置100の検索部128が、入力制御部126から送られてきた特徴(単語)を入力する(S2901)。次に、検索部128は、階層構造記述130を参照し、S2901において入力された特徴(単語)もしくは特徴の類似語を検索する(S2902)。
次に、検索部128は、S2902において、検索した単語がKeyに関する単語なのかTermに関する単語なのか判断する(S2903)。
S2903において、検索した単語がKeyであると判断すると、検索部128は、階層構造記述130を参照し、S2902において検索した単語(Key)の子要素のTermを検索し、検索したTermの一覧を表示制御部127に送る。そして、表示制御部127は、送られてきたTermの一覧をGUI1500の特徴表示部1503に表示する(S2904)。
なお、S2904において、表示するTermの数をユーザの所望の数などに設定しても良い。この場合、表示するTermは、ユーザの利用履歴の多いものを優先したり、アルファベット順にしたり、Termに予め付与しておいた優先度の高いものを優先したり、いろいろな応用例が考えられる。この結果、ユーザは、選択肢を少なくできるので、検索効率を上げることができる。
次に、入力制御部126が、ユーザにより特徴表示部1503に表示されたTermの一覧から所望のTermの選択があったか監視し、所望のTermの選択があった場合は、選択のあったTermを検索部128に送る。そして、検索部128が、送られてきたTermを決定する(S2905)。
次に、検索部128は、メタデータデータベース111を参照し、決定したTermに対応するメタデータを検索する。次に、検索部128は、検索したメタデータを文字列・CG変換記憶部131に送り、文字列・CG変換記憶部131が送られてきたメタデータを用いて、決定したTermのサムネイルを取得し、取得したサムネイル(検索結果)の一覧を表示制御部127に送る。そして、表示制御部127がサムネイルの一覧をGUI1500のサムネイル表示部1505に表示する(S2906)。
これにより、ユーザは、サムネイルを見ることにより、決定したTermに対する素材データの概要を視覚的に認識することができる。
次に、画像作成装置100は、入力制御部126において、ユーザによりさらに細かく検索条件(Key)の設定をする入力、つまり下位の概念を用いてさらに詳細な検索を行う入力があるか判断する(S2907)。
そして、S2907において、これ以上細かく設定して検索を行わないと判断した場合、つまりS2906において表示したサムネイルの一覧からいずれのサムネイルの選択があった場合、処理を終了する。
一方、S2907において、さらに細かく設定して検索を行う判断した場合は、検索部128は、階層構造記述130を参照し、S2905において決定したTermの子要素のKeyを検索し、検索したKeyの一覧を表示制御部127に送る。そして、表示制御部127は、送られてきたKeyの一覧をGUI1500の特徴表示部1504に表示する(S2909)。
次に、入力制御部126が、ユーザにより特徴表示部1504に表示されたKeyの一覧から所望のKeyの選択があったか監視し、所望のKeyの選択があった場合は、選択のあったKeyを検索部128に送る。そして、検索部128が、送られてきたKeyを決定する(S2910)。
そして、検索部128は、S2910において、決定したKeyに対してS2904以降の処理を行い、シナリオの素材に対する素材データを決定する。
例えば、図30に示すように、画像作成装置100は、特徴入力部1502に「Wear」というKeyが入力された場合(S2901)、階層構造記述130から「Wear」というKeyの子要素のTermである「Shirt」「Trouser」「Glasses」を検索し、特徴表示部1503に表示する(S2902〜S2904)。
次に、ユーザが、特徴表示部1503から「Trouser」を選択した場合、画像作成装置100は、「Trouser」を決定し(S2905)、「Trouser」に対する素材データのサムネイルをサムネイル表示部1505に表示する(S2906)。
次に、ユーザが、表示されたサムネイルの数が多すぎる等と判断し、さらに細かく検索するという入力をすると(S2907)、画像作成装置100は、階層構造記述130から「Trouser」の子要素のKeyである「Trouser.Color」と「Trouser.Length」を検索し、特徴表示部1504に表示する(S2908)。
次に、ユーザが「Trouser.Color」を選択した場合、画像作成装置100は、「Trouser.Color」を決定し(S2910)、階層構造記述130を参照し、「Trouser.Color」の子要素のTermである「Blue」「Gray」「Green」「Brown」を検索し、特徴表示部3001に表示する(S2904)。
次に、ユーザが、特徴表示部1503から「Blue」を選択した場合、画像作成装置100は、「Blue」を決定し(S2905)、「Blue」に対する素材データのサムネイルをサムネイル表示部1505に表示する(S2906)。そして、ユーザが表示されたサムネイルから所望のサムネイルを選択することにより、そのサムネイルに対する素材データを選択する。
このように、画像作成装置100は、シナリオの素材に対する特徴がKeyで入力された場合に、入力されたKeyとそれに対応するTermに対する素材データを検索する。
また、最初に入力したKeyを用いた検索では対応する素材データが多すぎる場合は、下位のKeyを用いることで検索範囲を絞り込んで検索ができる。これにより、ユーザは、適当な数の素材データの候補から所望の素材データを検索できる。
つまり、上位の概念の特徴から下位の概念の特徴へ、言い換える大まかな特徴から詳細な特徴へ検索範囲を狭めながら、素材データの検索ができる。
一方、S2903において、検索した単語がTermであると判断すると、検索部128は、階層構造記述130を参照し、S2902において検索した単語(Term)の親要素のKeyを検索し、検索したKeyが複数あるか判断する(S2911)。そして、S2911において、親要素になれるKeyが複数あると判断すると、そのKeyの一覧を表示制御部127に送る。そして、表示制御部127は、送られてきたKeyの一覧をGUI1500の特徴表示部1503に表示する(S2912)。
なお、S2912において、表示するKeyの数をユーザの所望の数などに設定しても良い。この場合、表示するKeyは、ユーザの利用履歴の多いものを優先したり、アルファベット順にしたり、Keyに予め付与しておいた優先度の高いものを優先したり、いろいろな応用例が考えられる。
次に、入力制御部126が、ユーザにより特徴表示部1503に表示されたKeyの一覧から所望のKeyの選択があったか監視し、所望のKeyの選択があった場合は、選択のあったKeyを検索部128に送る。そして、検索部128が、送られてきたKeyを決定する(S2913)。
次に、検索部128は、S2913において決定されたKeyとS2901で入力されたTermを検索部128に送り、検索部128がメタデータデータベース111を参照し、決定したKeyとTermに対応するメタデータを検索する。次に、検索部128は、検索したメタデータを文字列・CG変換記憶部131に送り、文字列・CG変換記憶部131が送られてきたメタデータを用いて、決定したKeyとTermのサムネイルを取得し、取得したサムネイル(検索結果)の一覧を表示制御部127に送る。そして、表示制御部127がサムネイルの一覧をGUI1500のサムネイル表示部1505に表示する(S2914)。
これにより、ユーザは、サムネイルを見ることにより、決定したKeyとTermに対する素材データの概要を視覚的に認識することができる。
次に、画像作成装置100は、入力制御部126において、ユーザによりさらに細かく検索条件(Term)の設定をする入力、つまり上位の概念を用いて検索する入力があるか判断する(S2915)。
そして、S2915において、これ細かく設定して検索を行わないと判断した場合は処理を終了する。
一方、S2915において、さらに細かく設定して検索を行う判断した場合は、検索部128は、階層構造記述130を参照し、S2913において決定したKeyの親要素になれるTermを検索し、検索したTermが複数あるか判断する(S2916)。
S2916において複数のTermがあると判断した場合は、ユーザにいずれかのTermを選択させる必要があるので、検索したTermの一覧を表示制御部127に送る。そして、表示制御部127は、送られてきたTermの一覧をGUI1500の特徴表示部1504に表示する(S2917)。
次に、入力制御部126が、ユーザにより特徴表示部1504に表示されたTermの一覧から所望のTermの選択があったか監視し、所望のTermの選択があった場合は、選択のあったTermを検索部128に送る。そして、検索部128が、送られてきたTermを決定する(S2918)。
そして、検索部128は、S2918において決定したTermに対して、S2911以降の処理をする。
一方、S2916において、複数のTermがないと判断した場合は、ユーザにTermを選択させる必要がないので、このTermに対して、S2911以降の処理をする。そして、検索部128は、S2910において、決定したKeyに対してS2904以降の処理を行い、シナリオの素材に対する素材データを決定する。
また、S2911において、親要素になれるKeyが複数ないと判断すると、検索部128は、このKeyがRoot要素であるか、つまり最上位のKeyであるか判断する(S2919)。
そして、S2919において、このKeyがRoot要素であると判断した場合は、この親要素のKeyはRoot要素しかないので、検索部128は、S2921の処理に移行し、このKeyがRoot要素でない場合は、このKeyを選択したものとして自動決定し、S2914の処理に移行する(S2920)。
次に、検索部128は、S2919において決定されたKeyとS2911もしくはS2913で決定されたKeyを検索部128に送り、検索部128がメタデータデータベース105を参照し、決定したKeyとTermに対応するメタデータを検索する。次に、検索部128は、検索したメタデータを文字列・CG変換記憶部131に送り、文字列・CG変換記憶部131が送られてきた検索結果内のリンク情報から取得したサムネイルの一覧(検索結果)を表示制御部127に送る。そして、表示制御部127がサムネイルの一覧をGUI600のサムネイル表示部605に表示する(S2921)。
次に、画像作成装置100は、S2921において表示したサムネイルの一覧からいずれのサムネイルの選択待ち、選択されると選択されたサムネイルに対応する素材データを決定し、処理を終了する。
例えば、図31に示すように、画像作成装置100は、特徴入力部1502に「Blue」というKeyが入力された場合(S2901)、階層構造記述130から「Blue」というTermの親要素のKeyである「Shirt.Color」「Trouser.Color」を検索し、特徴表示部1503に表示する(S2901〜S2903、S2911、S2912)。
次に、画像作成装置100は、ユーザが選択した「Shirt.Color」に対応するサムネイルをサムネイル表示部1505に表示する(S2913、S2914)。
さらに、ユーザが「Shirt.Color」の上位のTermである「Shirt」を用いた検索を行おうとした場合、画像作成装置100は、「Shirt」と「Shirt」の親要素のKey「Wear」を特徴表示部1504に表示し、「Shirt」と「Wear」に対するサムネイルを表示し、ユーザに選択される(S2915、S2916、S2911〜S2914)。
さらに、ユーザが「Wear」の上位のTermである「Human」を用いた検索を行おうとした場合、画像作成装置100は、「Human」と「Human」の親要素のKey「Genre」を特徴表示部3101に表示し、「Human」と「Genre」に対するサムネイルを表示し、ユーザに選択される(S2915、S2916、S2911〜S2914)。
さらに、ユーザが「Genre」の上位のTermである「Character」を用いた検索を行おうとした場合、画像作成装置100は、「Character」と「Character」の親要素のKey「Content」を特徴表示部3102に表示し、「Character」と「Content」に対するサムネイルを表示し、ユーザに選択される(S2915、S2916、S2911、S2919、S2921)。
このように、画像作成装置100は、シナリオの素材に対する特徴がTermで入力された場合に、入力されたTermを持つ親要素Keyとの組を用いて素材データを検索する。
また、最初に入力したTermと親要素のKeyを用いた検索では対応する素材データが少なすぎる場合は、上位のTermとその親要素のKeyを用いることで検索範囲を広げて検索ができる。これにより、ユーザは、適当な数の素材データの候補から所望の素材データを検索できる。
つまり、下位の概念の特徴から上位の概念の特徴へ、言い換えると細かな特徴から大まかな特徴へ検索範囲を広げながら、素材データの検索ができる。
以上説明したように、コンピュータ・グラフィックス作成処理をしながら素材データの検索ができ、検索した素材データを用いてコンピュータ・グラフィックスの作成処理を行うことができる。このように、コンピュータ・グラフィックス作成処理と素材データの検索処理を一連の動作で行える。この結果、コンピュータ・グラフィックス作成処理の高速化および確実化が図れる。
また、ユーザが頭に浮かんだ特徴を入力するだけで、その特徴に対応する素材データを検索できる。これにより、素材データの名前など知らなくても、簡単に所望の素材データの検索ができる。
以上説明したように、本実施の形態によれば、ユーザが装置の持っている素材データを確認しながらコンピュータ・グラフィックスのシナリオ作成をできる。また、シナリオ入力からコンピュータ・グラフィックスを作成する処理と、新たに素材データを検索する処理とを一連の動作により行うことができる。また、新たに検索した素材データを登録することで、検索した素材データをそれ以降容易に用いることができる。
なお、画像作成装置100の行う処理をプログラムにして、汎用のコンピュータに実行させる形態であっても良い。
また、本実施の形態では、シナリオ入力からコンピュータ・グラフィックスを作成する処理と、新たに素材データを検索する処理および新たに検索した素材データを登録する処理を一連の動作により行う形態で説明したが、シナリオ入力からコンピュータ・グラフィックスを作成する処理、新たに素材データを検索する処理、新たに検索した素材データを登録する処理をそれぞれ別の装置において行う形態であっても良い。