(57)【特許請求の範囲】
【請求項１】
文字の形状を提供する提供手段と、
文字の形状を変化させるための関数に変数を供給することにより出力値を生成する生成手段と、
前記提供手段により提供された文字の形状を前記生成手段により生成された出力値に基づき変更することにより文字をレンダリングするレンダリング手段とを備え、
所定の反復時間または回数が経過するまで、変数を変更し、変更された変数に基づき前記生成手段に出力値を生成させ、生成された出力値に基づき前記レンダリング手段により文字をレンダリングさせ、
前記文字の形状を変化させるための関数は、波状に文字の形状を変化させるための関数を含み、
前記文字の形状を変化させるための関数は、第１の文字の形状から第２の文字の形状に文字の形状を変化させるための関数を含むことを特徴とするアニメーションフォント作成装置。
【請求項２】
前記文字の形状を変化させるための関数は、文字として認識できない状態から文字として認識できる状態に文字の形状を変化させるための関数を含むことを特徴とする請求項１記載のアニメーションフォント作成装置。
【請求項３】
文字の形状を提供する提供手段と、
文字の形状を変化させるための関数に変数を供給することにより出力値を生成する生成手段と、
前記提供手段により提供された文字のサブグリフを前記生成手段により生成された出力値に基づき変更することにより文字をレンダリングするレンダリング手段とを備え、
所定の反復時間または回数が経過するまで、変数を変更し、変更された変数に基づき前記生成手段に出力値を生成させ、生成された出力値に基づき前記レンダリング手段により文字をレンダリングさせ、
前記文字の形状を変化させるための関数は、波状に文字の形状を変化させるための関数を含み、
前記文字の形状を変化させるための関数は、文字に取り付けた髪の毛状のサブグリフを一定の回転角の範囲で振動させるための関数を含むことを特徴とするアニメーションフォント作成装置。
【請求項４】
前記文字の形状を変化させるための関数は、文字内部の不透明度を変化させるための関数を含むことを特徴とする請求項１記載のアニメーションフォント作成装置。
【発明の詳細な説明】
【０００１】
【発明の分野】
本発明はデジタル画像処理の分野に関し、さらに詳しくは、コンピュータ・タイプフェースに基づいて動画化したフォント文字及びフォントを作成するための方法並びにその装置に関する。
【０００２】
【発明の背景】
最近、特にインターネット上での広告に関してコンピュータで動画化した広告を提供することが一般化した。このような動画化した広告は観察者の目を「惹く」ための注目を集めるツールとして動画化したテキストを含むのが一般的である。他の場合であれば文字だけで埋められている電子化文書では、動画化したテキスト又は動画化した画像は、色付け又はテクスチャ化した文字を越えて視覚的に興味を惹く装飾を提供することができる。
【０００３】
一般に、動画化したテキストはビデオ画面上の動く外観を有するテキスト又は記号（たとえば漢字）を含む。こうした動画の例としては、画面一杯にテキストを移動する、テキスト文字を点滅させる、文字サイズ、色、又はテクスチャ外観を変更するなどのものが含まれる。
【０００４】
現在、動画化テキストへのアプローチには動画シーケンスがフレーム間補間によって実現される幾つかのキー・フレームの作成が必要である。残念ながら、選択されたキー・フレームが一般にグラフィック・デザイナーから供給されなければならないためこのアプローチは時間がかかり、コンピュータで生成した「下図（cartoon）」などといった、制約を受けないアニメーションに一層適したアプローチである。更に、こうした動画化テキストに使用されるフォントは専用のもので一般にアプリケーション特有のタスクにあわせて構築されている。更に、フレーム単位でこうしたアニメーションを格納すると比較的大量の伝送帯域幅とデータ記憶空間を消費することがあり、これは望ましくない。
【０００５】
つまり、動画化テキスト処理を実質的に自動化すると同時に各々の文字に対して実質的な美術的調整を保持し、これによってグラフィック・デザイナーの作業量を減少できるのが望ましい。更に、動画化テキスト処理が動画化テキスト文字の基盤として「既製の（業界標準の）」タイプフェースを使用できるのも望ましい。
【０００６】
【発明の要約】
本発明の第１の態様によれば、初期の非動画化フォント文字に基づいて動画化フォント文字を作成する方法が提供され、前記方法は、
（ａ）前記非動画化フォント文字の少なくとも一つの態様を表わすグリフを提供するステップと、
（ｂ）前記グリフに第１の所定の関数を適用することにより変更したグリフを生成するステップと、
（ｃ）可変パラメータの値に依存して出力を生成する第２の所定の関数を適用し、前記可変パラメータは初期値を有し、前記変更したグリフの視覚的外観は前記第２の所定の関数の出力に少なくとも部分的に基づくステップと、
（ｄ）前記変更したグリフをレンダリングするステップと、
（ｅ）前記可変パラメータの値を変更するステップと、
（ｆ）ステップ（ｄ）及び（ｅ）を反復することにより動画化フォント文字を同時に定義している複数のレンダリングされ変更されたグリフを生成するステップと、
（ｇ）前記動画化フォント文字をディスプレイ上に表示するか、又は後の再現のためにメモリ内に記憶するステップと、
を含む。
【０００７】
本発明の第２の態様によれば、動画化フォント文字を作成する方法が提供され、前記方法は、
（ａ）一連のグリフとフォント構造とを提供し、前記一連のグリフと前記フォント構造がフォント文字を表現するステップと、
（ｂ）グリフの少なくとも一つ又はその一部の少なくとも一つの特性的な特徴を定義する所定の関数を提供し、前記所定の関数が初期値を有する少なくとも一つの可変パラメータに基づいて出力値を生成するステップと、
（ｃ）前記所定の関数の出力にしたがって前記フォント文字をレンダリングするステップと、
（ｄ）前記可変パラメータの値を変更するステップと、
（ｅ）ステップ（ｃ）と（ｄ）を反復することにより前記フォント文字についてレンダリングされたフレームの動画化シーケンスを生成するステップと、
（ｆ）前記動画化シーケンスをディスプレイ上に表示するか又は後の再現のためにメモリに記憶するステップと、
を含む。
【０００８】
本発明の第３の態様によれば、コンピュータで動画化したフォント文字を作成する方法が提供され、
（ａ）フォント文字を表わす一連のグリフとフォント構造を提供するステップと、
（ｂ）前記グリフの一部又は全部の少なくとも一つの特性的特徴を表す所定の関数を提供し、前記所定の関数が少なくとも一つの可変パラメータを有するステップと、
（ｃ）前記所定の関数にしたがって前記フォント文字をレンダリングするステップと、
（ｄ）前記可変パラメータを変更するステップと、
（ｅ）ステップ（ｃ）と（ｄ）を反復することにより前記フォント文字について動画化シーケンスを提供するステップと、
を含む。
【０００９】
第４の態様において、本発明は本発明の実施例を実現するためのソフトウェア命令でプログラムされたコンピュータ装置を提供する。
【００１０】
第５の態様において、本発明は本発明の実施例を実現するためのコンパイルした又はコンパイルしていない形で命令を担持するコンピュータ記憶媒体を提供する。
【００１１】
【好適な実施例及びその他の実施例の説明】
好適実施例において、動画化テキスト作成ができるような、動画化フォント文字作成のための方法が提供される。
【００１２】
好適実施例に関連して説明される原理は業界標準のタイプフェースに適用できる。しかし、好適実施例では以下で説明され１９９７年９月１５日付で「リッチャテキスト作成のための新規なフォント・アーキテクチャ(A New Font Architecture for Providing Richer Text)」と題するオーストラリア仮特許明細書第ＰＯ９１８７号に由来し以下の特許出願：
オーストラリア特許出願第８４２５２／９８号、
ヨーロッパ特許出願第９８３０７４３１．１号
日本国特許出願第１０−２８０５６８号
米国特許出願第０９／１５３０７７号
に発展したフォント・システムを使用する。
【００１３】
画像におけるフォントの使用は周知である。従来、フォントはビットマップ又はアウトラインから構成されていた。フォント・アウトラインの使用はビットマップに比べ、とくにスケーリング操作において大きな柔軟性を提供することが多い。これはフォントのアウトラインを通常表わしているスプライン・データの再スケーリングを用いることによりフォントが多くのことなるサイズで定義できることによるものである。
【００１４】
フォントは周知でありワードプロセシング・プログラム又はハイエンド・グラフィックス・プログラムなどのコンピュータ画像生成プログラムで使用されるが、一般に柔軟性及び創造性又は構造が欠如している。これはフォントの使用者が定義済みの構造内で作業しなければならないなどによる限定された又は目隠しされた芸術的出力結果に繋がることが多い。
【００１５】
オーストラリア仮特許明細書第ＰＯ９１８７号において、複数のグリフを含むフォントからの文字を文書に組み込む又はディスプレイ媒体上に表示するための方法が開示されている。グリフの各々は一つまたはそれ以上の形状、性質、又は合成画像又はその他のグリフを含む。前記方法それ自体は、
（ａ）フォントから一つまたはそれ以上のグリフの記述を抽出するステップと、
（ｂ）ディスプレイ媒体上に文字をレンダリングするか、又は文書記述の一部として含めるステップと、
を含む。
【００１６】
オーストラリア仮特許明細書第ＰＯ９１８７号は、一連の文字を含み、各文字がカスタマイズ可能なグリフ構造から成る画像作成システムで使用するためのフォント構造も開示している。グリフ構造は更に所定の順序で相互に合成することができる一連のグラフィカル・オブジェクトを含む。
【００１７】
本明細書において、フォントは一連の文字「グリフ」によって表現される。グリフは更に複雑な特性を有する画像の作成で使用できるような複雑な構造を有する。
【００１８】
ここで図１を参照すると、フォントの一つのグリフ１の構造が模式的に図示してある。記憶において、各グリフ１はこれに対応してグリフ全体を参照する際にグリフ・インデックス番号（以下ではグリフ・インデックス）を使用する。必要なら、一つまたはそれ以上の文字コード又は文字を特定のグリフ・インデックスへマップすることができる。したがって、好適実施例における文字のアクセス単位はグリフ番号によっている。グリフ１は文字の視覚的外観の記述であり、一つまたはそれ以上のグラフィカル・オブジェクトたとえば参照番号２から成り、これがグリフ・インデックスに対応する文字の外観を記述するツリー構造を形成する。文字の外観を記述するこのツリー構造は本明細書においてグラフィック・オブジェクト（ＧＯＢ）ツリーと呼ぶことがある。図２において、文字コード３１からこれに対応するグリフ・インデックス３２へのマッピング３０が図示してあり、これはグリフ・マッピング・テーブル３０を使用して行なわれる。
【００１９】
参照番号２などの各グラフィカル・オブジェクトは以下の情報を含むことができる。
プリミティブ
＊オブジェクトの形状を定義するキュービック・スプライン・パス（文字パスを含む）
＊画素マップの形の画像データ（圧縮フォーマットにすることもしないこともある）
プリミティブの属性
図３を参照すると、グラフィック・コンテクスト属性のレイアウトが図示してある。これらの属性は、
＊色と色ブレンド情報９０、
＊不透明度と不透明度ブレンド情報９１、
＊９３，９４などのオブジェクトのエッジのエッジ・ブレンド
＊パス及び画像に適用される変形マトリクス、
＊パス９５，９６についての描画スタイル９２とストライク・パラメータ
を含むことができる。
演算子
＊二つのグラフィックス・オブジェクト同士を合成するための２進数演算子（ｏｖｅｒ、ｉｎ、ｏｕｔ、ａｔｏｐ、ｘｏｒ、ｐｌｕｓｃ、ｐｌｕｓｗ）。２進数オブジェクトの演算の説明については、ポーターとダフの古典的論文「デジタル画像の合成」、ＳＩＧＧＲＡＰＨ１９８４年、２５３〜２５９ページ（Porter and Duff, "Composing Digital Images", SIGGRAPH, 1984）を参照。
選択
＊現在の環境状態に基づいて連結されるグラフィック・オブジェクトの選択。
【００２０】
グラフィック・オブジェクトにおいて使用されるプリミティブが大幅にパラメータ化できることは明らかであろう。
【００２１】
これは、グラフィックス・コンテクストにおけるパラメータを変更し文字を使用する場合に得られた値を変更させることによって特徴を参照できることを表わしている。オブジェクト及び特徴をパラメータ化できるようにする決定は複雑なフォントの作成においてフォント・デザイナーの手に大きな柔軟性をもたらす。パラメータ化される各々の特徴について初期設定値を提供するのが望ましい。
【００２２】
図１を参照すると、選択グラフィックス・オブジェクトはＧ０1などのＧＯＢツリーのノードを形成できグラフィカル・コンテクストによってフォントから提供されるＧ０2、Ｇ０3などの子孫グラフィックス・オブジェクトのグループから選択する方法を提供する。選択はグラフィックス・コンテクストの何らかのパラメータと関連して行なうことができる。図６を参照して選択処理の例を以下で説明する。
【００２３】
プリミティブのパラメータは特定の効果を実現するために組み合わせようとする設定のグループとして使用できる。これを利用するために、フォントは属性についてのセクションを有することができる。属性セクションは使用者の要求によってグラフィックス・コンテクストに転送できるパラメータ設定を含む。
【００２４】
影響され得るグリフの属性（図３参照）としては、
＊色、
＊不透明度、
＊ドロースタイル、
＊ストローク幅、
＊ライン接続スタイル、
＊ラインキャップスタイル、
＊マイタ制限、
＊ダッシュパターン、
＊選択番号
を含むことができる。
【００２５】
色と透明度の全ての値はフォント全体を通してパラメータ化できるのが望ましい。これは、フォント全体に色が一致した見掛けを作るようにするには幾つかの色だけを選択すれば良くフォント・デザイナーが、必要があれば各文字について異なるパラメータを使用する自由度が存在することを意味している。パラメータ化すべき各々のユニークな色の値は、図９に図示したように異なるグラフィックス・コンテクスト番号（ＧＣ番号）から取り出すことができる。
【００２６】
図４に図示したように、各グリフ１は縦と横のタイプセッティング方向にタイプセッティング情報４０をフォント・ファイルから取り出すことができる。たとえば、以下を提供することができる。
【００２７】
＊横方向タイプセッティング位置（ｘ，ｙ）、
＊横方向タイプセッティングベクトル（ｄｘ，ｄｙ）、
＊縦方向タイプセッティング位置（ｘ，ｙ）、
＊縦方向タイプセッティングベクトル（ｄｘ，ｄｙ）。
【００２８】
図１のグリフ構造１の使用により、任意に複雑なフォント構造を作成することができる。従来のフォントよりはるかに多くの情報を含むようなフォントを作成できるので、更に多くの詳細が外観に与えられる。しかし、従来のフォント文字はグリフ・グラフィカル・オブジェクトとして容易に格納することもできるので、必要に応じて簡単又は複雑にするような柔軟性がある。
【００２９】
したがってグリフ構造は演算において従来のフォントと同様とするのに適しており相互交換自在に使用できる。使用者がグリフ構造における文字の外観の態様を制御することができるグラフィックス言語への拡張は純粋にオプションである。
【００３０】
使用者は基本的に所望する通りに得られたグリフ文字の外観をカスタマイズする。各フォントはフォント・デザイナーによって提供されたカスタマイズ可能なパラメータを操作することにより変更可能な初期設定の「外観」を有している。
【００３１】
したがってフォントはグリフ１から作成でき、図５に図示してあるように以下のキー要素を含むことができる「フォント・ファイル」に格納できる。
【００３２】
＊フォント・ヘッダ１１、
＊各文字１２についての文字コード、グリフ・インデックス及びタイプセッティング情報、
＊カーニング・テーブル１３、
＊フォントのグラフィックス・コンテクスト１４についてのグラフィックス・コンテクスト属性セッティング、
＊各グリフについて形状１６及び画像データ１７へのポインタを含むグラフィカル・オブジェクトの木構造１５（又はＧＯＢ木）、
＊形状データ１６、
＊画像データ１７
使用者の視点からフォント構造はグラフィック・オブジェクト２の集合体として見え、グリフ１毎に少なくとも一つが存在する。オブジェクトは他のグラフィック・オブジェクトで使用される要素を含むこともできる。グラフィックス・コンテクスト属性１４を変更することによりグラフィック・オブジェクトの外観を変更するための更なる機構を提供することができる。図６に図示してあるように、選択番号を変更し選択機構５０で選択パラメータを使用することにより、一つの文字について広範な外観を得ることが可能である。グリフに関連したパラメータのカスタマイズは更にフォントに特有の見掛けを与えることができる。
【００３３】
フォント文字を処理するために行なわれる処理２０が図７に図示してあり、以下のステップを含む。
【００３４】
＊フォント・ファイルを読み込む２１、
＊正しい文字を参照するテクスト・オブジェクトを作成する２２、
＊テクスト・オブジェクトからこれに対応するグリフを作成する２３。
【００３５】
フォント・ファイルが読み出されると、内部表現（「キャッシュした」版）に変換され後で使用することができる。
【００３６】
図８に図示してあるように、最終表現６３は各文字についてのＧＯＢ木を処理することで得られるグラフィック・オブジェクトである。グラフィック・オブジェクトは文字の完全に定義されたインスタンスを含むことができる。段階６１で、文字（群）の外観の態様の全部が固定される。最終グラフィック・オブジェクト６３への変換は、全パラメータに実際のグラフィックス・コンテクスト属性を適用すること６２による。この段階は使用者が文字の外観に対して調節を行なうところである。
【００３７】
フォントの外観はそのユーザがグラフィックス・コンテクストの属性を設定することによってカスタマイズできる（図３）。更に、図９に図示してあるように、グラフィックス・コンテクストは一つだけでなく複数のインスタンス７０〜７２を有するように拡張できる。各インスタンスはグラフィックス・コンテクスト番号（ＧＣ番号）によって参照できる。これらはフォントで利用することが可能な全ての属性を有することができ、またフォントの文字をカスタマイズするために使用できる。何らかのＧＣ番号の属性は、グラフィックス・コンテクスト７０（ＧＣ番号０）の基底レベルでセットアップしてから新しいＧＣ番号にコピーすることにより初期化する。これ以外に、図１０に図示してあるようにフォント・ファイルの属性から属性をロードすることができる。何らかのＧＣ番号のグラフィックス・コンテクストは基底レベルにコピーし直すことができる。たとえば、以下のコマンドを使用してグラフィックス・コンテクスト番号をサポートできる。
【００３８】
１．gc_copy("attr-name",gcnum)又は
gc_copy("attr-name",gcnum1,gcnum2)。
【００３９】
このコマンドはグラフィックス・コンテクスト番号０（７０）から指定した番号へ属性（attr-name）をコピーするために使用する。第２の例において属性はgcnum2（７２）からgcnum1（７１）へコピーされる。
【００４０】
２．gc_swap("attr-name",gcnum)又は
gc_swap("attr-name",gcnum1,gcnum2)。
【００４１】
このコマンドはグラフィックス・コンテクスト番号０からの属性（attr-name）を指定した番号と入れ換えるために使用する。第２の例において属性はgcnum1とgcnum2の間で交換される。
【００４２】
３．gc_load_font_defaults()。
【００４３】
図１０に図示したように、gc_load_font_defaultsコマンドはフォント８０の初期設定からグラフィックス・コンテクスト８１にある属性に設定するために使用する。この例において属性はフォント・ファイルからロードされるのが代表的である。
【００４４】
４．gc_clear()。
【００４５】
gc_clearコマンドはgc番号０以外のグラフィックス・コンテクストの全部をクリアするために使用する。
選択番号
図３を参照して説明しグラフィックス・コンテクスト属性に含まれる属性が選択番号属性９７である。選択番号属性９７は図１０のフォント文字の処理中に読み込むことができる。選択番号属性は数値が望ましい。選択番号に影響を与えるコマンドとしては、次のようなものがある。
【００４６】
gc_choice_num(option)。このコマンドはＧＣ番号０（７０）の選択番号を指定した値（数値）に設定する。指定した値がゼロだと初期設定フォント・オプションであると見なすことができる。
【００４７】
option=gc_choice_num()。このコマンドはＧＣ番号０（７０）についての選択番号の値を返送する。
【００４８】
（オーストラリア仮特許明細書第ＰＯ９１８７号に由来した）前述のフォント構造は、本発明の好適実施例で使用するための任意の複雑なフォント構造を作成するために好適なシステムを提供する。当然のことながら、他の複雑な画像作成パッケージたとえばphotoshopなどを用いて作成された、とくにこうしたパッケージ内でマクロ言語が使用される場合に、フォント文字又はフォント文字セットを使用することも可能である。
【００４９】
図２０を参照すると、本発明の好適な実施に関連するステップを説明するフローチャート２０００が図示してある。最初に、グリフ２００２とフォント構造２００３が提供され、合わさって一つまたはそれ以上のフォント文字２００４を形成する。フォント構造２００３はそれ自身が一つまたはそれ以上のグリフを含むことができ、グリフ２００２には一つまたはそれ以上のサブグリフを含むことができ、又はサブグリフ自体になれることは理解されよう。初期値２００５が関数２００６に提供され関数２００６は出力値２００７を生成する。フォント文字又は文字群２００４は出力値２００７に基づいてステップ２００８でレンダリングされる。
【００５０】
初期値２００５が最初に提供された関数２００６の変数は所定の表現又はシーケンスにしたがってステップ２０１０で変更される。新しい出力値２００７が関数２００６によって生成され、フォント文字又は文字群２００４が更にステップ２００８でレンダリングされる。この処理は使用者によって中断されるまで又は所定の反復時間又は回数が経過するまで繰り返される。後述するように、関数それ自体は循環でき、フォント文字又は文字群２００４の循環アニメーションが得られる。これ以外に、ステップ２０１０で変数を変更するために使用した表現それ自体が関数２００６で使用するための循環して変化する変数値を生成できる。フローチャート２０００で説明した一般ステップの特に好適な実施例を以下で更に詳細に説明する。
【００５１】
図１１を参照すると、Times Roman文字フォント「Ｂ」１１１０を含む複雑なフォントの例が図示してある。文字「Ｂ」１１１０は、観察者には文字「Ｂ」１１１０の表面に取り付けられているように見える複数の「髪の毛状の」小胞（follicle）１１１１を含む複雑な画像構造を含むように操作されている。髪の毛状の小胞１１１１は文字フォントに適用されたサブグリフ要素の一例である。しかしサブグリフ要素はフォント文字に適用される芸術的要素であり、業界標準フォントのアウトライン曲線からアルゴリズム的に取り出したり又は外部供給芸術活動から供給できる。一般に、サブグリフはグリフの一部を形成するグラフィック・オブジェクトである。
【００５２】
図１２を参照すると、前述のオーストラリア特許明細書の対応する原理にしたがって作成することができる対応する「グラフィック・オブジェクト・木」又は「ＧＯＢ」１２２０が図示してあり、これによってフォント文字１１１０の作成ができる。表現木１２２０は互いに最終フォントを作成するように合成されたオペランドを有する多数の演算子から構成される。図１２の例において、一つのＯＶＥＲ演算子１２２１を用いて文字「Ｂ」１１１０のアウトラインで定義された境界内部で黒いパーティクル１２２２を白いパーティクル１２２３の上に合成するために使用される（図１１）。黒いパーティクル１２２２は黒い髪の毛状小胞の基底位置であり白いパーティクル１２２３は白い髪の毛状小胞の基底位置である。図示した実施例において、白い髪の毛状小胞は一般に文字の骨格に沿って配置されるが、黒い髪の毛状小胞はこれらを包囲するように配置されていることに注意されよう。これはハイライトをシミュレーションしており、深みを表わす追加の役割を観察者に提供するものである。各小胞の方向性は指定した可変パラメータを有する所定の周期関数の値によって決定される。可変パラメータを変更すると各小胞の方向性も変化する。
【００５３】
好適な態様において、各小胞の方向性を変更する効果は風になびく毛皮の外見に類似している。
【００５４】
図１３を参照すると、図１の文字の動画化シーケンスにおける４つの異なる段階（各々（ａ）、（ｂ）、（ｃ）、（ｄ）と標識してある）が図示してある。図示したように、髪の毛状小胞は各々が文字「Ｂ」の中心線又は骨格に対してそれらの位置によって決定される初期回転を有している。髪の毛状小胞の回転の追加の要素は、所定の周期関数で定義され、その位相がアニメーションの各フレームで変化する。図１３（ａ）から図１３（ｄ）において、各々の角度変化はほぼ４５度、９０度、４５度、０度（時計回りの方向で）である。したがってアニメーションはプラス又はマイナス４５度の最大変化で循環する。各々の小胞の回転角度は次のように表現できる。
【００５５】
オフセット＝振幅×sin（フレーム係数）
ここで「振幅」は回転オフセットの最大量、
「フレーム係数」はアニメーションの各フレーム又はステップについて回転が変化する率である。
【００５６】
この式から、「フレーム係数」が髪の毛状小胞（これは想起されるようにサブグリフである）の外観において変化を調節する可変パラメータを表わしていることが理解されよう。この例において、「振幅」は４５度でありフレーム係数はフレームあたり４５度である。また４５度の固定された所定のオフセット（又は位相）が存在する。本実施例は単なる例として示したものであって、視覚的に納得できる動きをシミュレーションするにはフレームあたりもっと小さい角度増分が要求されることは理解されよう。
【００５７】
図１３に示した動画化シーケンスのレンダリング処理のステップのフローチャートが図１４に図示してある。レンダリング処理１４４０の開始１４４１の後、各小胞について位相パラメータが初期化され１４４２，小胞が図１２のＧＯＢ木にしたがって合成される１４４３。合成された画像１４４３は出力装置へレンダリング１４４４される。次のステップ１４４５において処理１４４０を停止すべきか否かの決定が行なわれる。このステップ１４４５での「ハイ」決定は、たとえば停止するようにとの使用者プロンプト、所定の割り込み又は経過した時間限界の結果であり得る。「イイエ」の決定では処理１４４０を次のステップ１４４６に続けることができ、位相パラメータＩがインクリメントされて処理１４４０はレンダリング・ステップ１４４４にループして戻り画像シーケンスの次の段を出力する。
【００５８】
好適な態様において、アニメーション・シーケンスの各フレームを合成し表示前にメモリへプレレンダリングすることができる。たとえばアニメーション・シーケンスは合成し、レンダリングし、オーディオ・ビデオ・インタリーブ［ＡＶＩ］ファイル・フォーマットに変換することができ、これをマイクロソフト社から入手可能なマイクロソフト・メディアプレーヤなどのアプリケーションで観察することができる。しかし、本発明の範囲又は精神から逸脱することなく、合成及びレンダリングはリアルタイムで実行して、その場で（on the fly）動画化シーケンスを作成することもできる。
【００５９】
図１５を参照すると、本発明の別の実施例が図示してある。図１５は文字列「ripple」に適用されここでも各々（ａ）から（ｄ）まで標識してある動画化リップル（さざ波）効果の４つの段階を示している。この例において、アニメーション効果は「Arial」として公知のフォントの各文字のアウトラインの一部に適用され、単語「ripple」を構成する文字列が選択されている。
【００６０】
フォントのアウトラインはたとえばベジェ・スプラインに関して一連の関数によって表現できる。図１５の例において各文字の下部の多数のスプラインが波状の周期関数によって変更されている。波状の周期関数はリップル効果を適用する各文字の部分のリップル歪みを制御するための少なくとも一つの位相パラメータを有している。図１４を参照してすでに説明したように、位相パラメータは時間とともに変化し作成される画像はリアルタイムで出力装置にレンダリングされて動画化効果をシミュレーションする。本実施例において、周期関数の振幅はテクストについて縦位置に基づいて正弦波状に変化する。テクストの上半分においては、何の効果も適用されていない。これと対照的に、テクストの下部では、水平方向に振幅する正弦波の振幅が（テクストの中心部で）ゼロから、（テクストの一番下の点で）文字の縦方向サイズのほぼ半分の値まで増加している。各文字の下部に向かって位相も変化する。動画化する場合、シミュレーションした効果は水の実体の表面上のリップル又は波に類似している。図示した実施例において、高さのおよそ半分から下側で文字に対して不透明度ブレンドも適用されていることは指摘すべき点である。これは現実的な水のさざ波効果を示唆するがオプションである。位相の代わりに（又は位相と同様に）周期関数の振幅を変化させることにより別の効果を実現できる。
【００６１】
ここで図１６を参照すると、関連した色及び／又は不透明度を有する複数のオーバラップした形状を含む本発明の別の実施例が図示してある。オーバラップする形状の各々の不透明度及び／又は色は文字「ｍ」のアウトライン内部で動画化万華鏡効果を提供するように変化している。文字「ｍ」の各形状は関連した不透明度インデックスを有する。
【００６２】
文字「ｍ」に対する動画化万華鏡効果は可変パラメータに依存した出力を有する所定の関数を不透明度インデックスに割り当てることにより実現される。関数の可変パラメータは時間とともに周期的に変化する。図１６に図示した例において、円錐形不透明度関数が文字「ｍ」の複数の場所でオーバラップする形状の各々に適用される。円錐底の半径は関数のパラメータであり時間とともに変化して万華鏡効果を発生する。
【００６３】
図１４から図１６の実施例は図示のためだけに示したものであって本発明の完全な制限と見なされるべきものではないことが理解されよう。更に、複数フレームが図示されている場合、これらは単に動画化シーケンスの中間フレームの補間で使用されるキー・フレームの選択を表わしているのではない。むしろ、これらは各々が関連する特定の実施例を説明するために動画化シーケンスから抽出したフレームを表現している。
【００６４】
好適実施例の方法では業界標準のタイプフェース（たとえばCourierやTimes New Romanなど）並びに専用フォントで連続周期アニメーションの自動生成ができる。
【００６５】
好適実施例に説明した文字のアニメーションは大きく３種類のカテゴリに納まるものである。
【００６６】
１．文字に適用されたサブグリフ要素のアニメーション
２．文字アウトライン（又はその一部）のアニメーション
３．色、不透明度、又はテクスチャ（見かけのテクスチャ）など文字の特性的特徴のアニメーションで、文字アウトラインより外側の領域の実質的に同様な特性的特徴のアニメーションを含む。
【００６７】
図１３を参照して説明した実施例はカテゴリ１の範囲に納まり、図１５を参照して説明した実施例はカテゴリ２の範囲に納まる。図１６の例はカテゴリ３に入る。
【００６８】
カテゴリ１におけるアニメーションは、髪の毛状小胞の回転などサブグリフ要素に適用される周期変形、、パックされた要素（たとえばパーティクルパッキング）の周期拡張又は収縮、及びサブグリフ要素の分散(scattering)などの特徴を更に含むことができる。
【００６９】
カテゴリ２のアニメーションは、文字アウトラインの一部又は全部のスケーリングや回転などの変形、及び文字アウトラインの周期揺動（たとえば文字のアウトラインの一部で波立つ波など）などの特徴を更に含むことができる。
【００７０】
カテゴリ３も、溶解した溶岩テクスチャ、木目調テクスチャ、モザイク状タイル・カラーリング、文字に適用した色のコラージュなどの効果を含む。
【００７１】
前述の大きな３つのカテゴリに加えて、３種類のカテゴリ全てが含まれる２種類の分類が存在する。
【００７２】
１．直接状態間アニメーション（以下「タイプ１アニメーション」）と、
２．間接状態間アニメーション（以下「タイプ２アニメーション」）である。
【００７３】
タイプ１アニメーションにおいて、大きな３つのカテゴリの一つに相当する文字は実質的に同じ文字のまま残る。たとえば、図１３のアニメーション・シーケンスの各種段階において、文字「Ｂ」は認識可能なように文字「Ｂ」である。同様に、図１５で単語「ripple」の文字や図１６での文字「ｍ」は、アニメーション効果が完全に一周する前に各段階で異なるアニメーション効果が目立っていたとしても、認識可能なように同じ文字のままである。図１３，図１５，図１６を参照して前述した例は全てタイプ１アニメーションとして定義することができる。
【００７４】
ここで図１７を参照すると、間接状態間移動を用いたタイプ２アニメーションの一例の、（ａ）から（ｈ）まで標識された八つの段階が図示してある。これら８段階は文字が異なる文字に変化した後でもとの形状に戻る循環アニメーションの半分を表現している。さらに詳しく説明すると、図１７のアニメーション・シーケンスは複数の小石状タイル１７０から構成されたギリシャ文字「プサイ」（Ψ）の大文字を示しており（段階（ａ））、タイル１７０の見かけ上ランダムな配列に破裂し（段階（ｄ））、ついで内破して小文字のギリシャ文字「ファイ」（Φ）を作成する（段階（ｈ））。図１７はアニメーション・シーケンスのサイクルの実質的半分を表現している。完全な一周期を完成するには、図１７の段階の実質的に逆の順番に、文字Φが破裂し続けて文字Ψに内破する。望ましくは、段階（ｄ）と段階（ｅ）の間に小石状タイルを再配置して文字Φへの内破を容易にすることに関係するマッピング変換が存在する。
【００７５】
したがって、タイプ２アニメーションはオリジナルの画像（通常は文字）が一周期の間に実質的にオリジナルの画像とはいずれも類似しない一つまたはそれ以上の中間画像を経由して同じ画像（同一の文字）へ変形されるようなアニメーションであることが理解されよう。たとえば、文字Ψの画像（オリジナルの画像）が、文字Ψとは類似しない中間画像を経由して、文字Ψ（同一画像）へ一周期の間に変形される。中間画像は文字Φの画像と、タイル１７０のランダム配列の少なくとも一つの画像を含む（図１７の段階（ｄ）及び（ｅ））。
【００７６】
別の好適実施例が図１９に図示してあり、ここでは見かけ上ランダムに分散した複数のタイル１９０１（図１９Ｂ）が多数の中間フレームの間に合体して図１９Ｄの完全な「Ｔ」テクスト文字１９０２を形成している。最初に、図１９Ａにおいて、空白の背景ページ１９０５が提供される。次に図１９Ｂに図示したようにスケルトン１９０４が提供され、タイル１９０１が見かけ上ランダムな配置でスケルトン１９０４の周囲に配置される。配置は何らかの擬似乱数式に基づくか、又は一つ又はそれ以上の所定の配置に基づくものであり得ることが理解されよう。これ以外に、配置は通常の又は少なくとも認識可能なパターンの形を取ることができる。
【００７７】
図１９Ｃはタイル１９０１の各々がオリジナルの位置からスケルトン１９０４上の所定位置に向かって移動する多数の中間フレームの一つを表わしている。各１９０１はこれの対応する位置へ直接移動するか、又はスケルトン１９０４周囲での回転又はこれに対する振動を含むことができる一層間接的な経路を取ることができる。個々のタイルの一つまたはそれ以上がスケルトン１９０４上の所定位置に向かって移動する時に回転するようにもできる。
【００７８】
図１９Ｄの最終フレームにおいて、タイルの全部がこれらに対応する所定の位置に到達し、これによってテクスト文字「Ｔ」を形成する。
【００７９】
タイプ１アニメーションにおいて、適用された効果がフレームによって変化するとしても画像（通常は文字）はアニメーション・シーケンスの各フレーム毎に同一である。
【００８０】
両方のタイプのアニメーション（タイプ１とタイプ２）は以下の制約にしたがうのが望ましい。
【００８１】
（ａ）S(0)=S(t)ここでSはアニメーションの状態（即ちシーケンス内のフレーム）を表わし、tは１サイクルの整数倍での時間を表わす。
【００８２】
（ｂ）アニメーション・シーケンスの隣接フレームの間でアニメーション効果が比較的スムーズに見え望ましくは各サイクルにわたって連続的に見えるようなアニメーション効果での小さな変化が存在する。
【００８３】
前述したように、動画化シーケンスを表示する好適な態様はメモリの（たとえばハードディスク・ドライブ装置）ファイルへアニメーション・シーケンスを合成しレンダリングすることである。アニメーション・シーケンスはメモリのファイルから表示することができる。たとえば、アニメーション・シーケンスを生成してから、後の再現のためにハードディスク・ドライブ装置上に格納されるＡＶＩファイルとして格納することができる。
【００８４】
プレレンダリングしたファイルに加えて、各々の動画化文字フォントは通常フォント・ファイル・フォーマットで格納され、ディスプレイ装置上に動画化シーケンスを表示する前に、このフォーマットをプレレンダリングしたファイルに変換するか、その場でレンダリングする。望ましくはフォント・ファイル・フォーマットはハードディスク・ドライブ装置又はリード／ライト・コンパクトディスク（ＣＤ−ＲＷ）やこれに対応するディスク・ドライブ装置などの不揮発性メモリで一つまたはそれ以上のファイルに格納する。更に、動画化フォント（つまり、フォント・ファイル・フォーマットにある一組の動画化文字）はコンパクトディスク・リード・オンリー・メモリ（ＣＤ−ＲＯＭ）、ＣＤ−ＲＷ、又はハードディスクドライブ装置などの不揮発性メモリに格納することができる。ファイルは一つまたはそれ以上のファイルで格納し、ディスプレイ装置へレンダリングするために選択的にアクセスすることができる。
【００８５】
一つまたはそれ以上のファイルへアニメーション・シーケンスを格納する際には、以下のフォント・ファイル・フォーマットのうちの一つの使用が適している。
１．単一の文字（記号）の動画化シーケンスについて一連のフレームを含むＴｒｕｅＴｙｐｅフォント（ＴＴＦ）フォーマットは単一のファイルに格納され整数コードによってインデックスされる。単一のファイルの各フレームはこれに対応するインデックスによってランダムにアクセスされる。たとえば、一連の３２フレームのアニメーション・シーケンスにおいて、前記連の３番目のフレームは整数コード３を有し１０番目のフレームは整数コード１０を有することができる。３番目と１０番目のフレームだけを表示するには、整数コード３と１０を使用するソフトウェア関数コールを使用して、３２フレームのシーケンスの他のフレームを表示する必要なしに、各々３番目と１０番目のフレームをディスプレイ装置上に表示することができる。
２．複数のＴＴＦを含み、各ＴＴＦが各ＴＴＦの実質的に全部の文字記号を含む単一のファイルに格納されるＴｒｕｅＴｙｐｅコレクション（ＴＴＣ）フォーマット。つまりＴＴＣはＴＴＦの集合であり、ＴＴＦにおける各文字記号についてアニメーション・シーケンスを提供する。たとえば、ＴＴＣの第１のＴＴＦファイルはアルファベットＡ〜Ｚの文字あたり１フレームで、アニメーション・シーケンスの第１フレームであり、第２のＴＴＦファイルはアニメーション・シーケンスについて各文字の第２フレームを含む、などがある。ＴＴＦファイルの各フレームは、米国標準情報交換用コード（ＡＳＣＩＩ）ファイルの整数アクセスと類似の方法で整数コードによりアクセスされる。
３．各文字の複数の形状が単一のファイルに格納でき、レンダリングの際にランダムに選択される機構を含む「グロリアス・フォント」フォーマット（ＧＬＦ）。一つの実施例において、フォントにおける全ての文字についての完全なアニメーション・シーケンスが単一のファイルに格納される。好適実施例において一つのファイルのフォント・ファイル・フォーマットは前述のオーストラリア仮特許明細書第ＰＯ９１８７号に記載した構造などの複雑なフォント構造の形で記述される。
【００８６】
ＴＴＦファイルはグリフが一組の線、曲線、曲線コマンド及びヒントとして記憶されたフォントを含むのが普通である。コンピュータ・ソフトウェア・プログラム又はオペレーティング・システムはこの線、曲線、コマンド、ヒントを使用して、当業者には周知の方法で、グリフのビットマップのアウトラインを定義する。ヒントはビットマップのサイズを縮小又は拡大するために使用されるスケーリングの量に基づいて線の長さや曲線の形状を調節するために使用される。
【００８７】
ＴＴＣは単一のファイル構造で複数のＴｒｕｅＴｙｐｅフォントを供給する機構である。ＴｒｕｅＴｙｐｅコレクションは二つ又はそれ以上の異なる文字フォントが共通のグリフを有する場合に有用な利点を提供する。こうした構造の少なくとも一つの利点は、こうしたフォントを格納するのに必要とされるファイル空間の節約である。たとえば、日本語文字フォントのグループは各々が「かな」文字記号グリフについて所定のデザインを有することができるが、グリフ又は「漢字」文字記号については同一のデザインを共有することがある。単一のＴＴＦファイルにおいて、共通の漢字グリフを含める一つの方法は各フォント・ファイルへ共通のグリフ・データをコピーすることである。漢字文字記号は通常かな文字記号より多くのデータを表現しているので、結果的にはグリフ・データの比較的無駄な複製となる。それとは逆に、ＴｒｕｅＴｙｐｅコレクションでは、ＴＴＦファイルのグループに共通しているグリフが関連ＴＴＣ内部に一回だけ格納されるため空間節約機構を提供している。
【００８８】
文字フォントはフォントの文字を取り囲む背景領域を動画化することにより動いているように見せることもできるということが、当業者には明白であろう。たとえば、文字も表示するディスプレイ装置を横断して一組の雲を繰り返し移動させることにより肥厚しているような見かけに作ることができる。こうしたアニメーションの別の例は、タイルの集合又はタイル化した画像の集合を含みディスプレイ装置上で繰り返して（自動的に）操作されて文字の形状に空の領域を残すようにした背景領域を含む。
【００８９】
図１９（ａ）から図１９（ｄ）を個々で参照すると、初期状態から安定状態へ移行するタイプ２アニメーションの別の例の（ａ）から（ｄ）と標識した４つの段階が図示してある。現実の応用においては、段階（ｂ）と（ｄ）の間に更に多くの段階があることは理解されよう。しかし、簡略化する目的で、中間段階の大半を割愛した。
【００９０】
図１９（ａ）から（ｄ）に示したアニメーションは周期アニメーション・シーケンスの半周期であり、最後の安定状態で停止する図１７を参照して説明した前記の周期アニメーションとは異なっている。さらに詳しく説明すると、図１９のアニメーション・シーケンスは初期段階（ａ）を示しており、この場合空白ディスプレイ（又はその他の静的ディスプレイ）であるる。図１９の次のシーケンスは開始状態（ｂ）を示し、これはタイル１９０の見かけ上ランダムな配置を表示している。図１９の次のシーケンスは中間状態（ｃ）である。図１９の最後のシーケンスは最終安定状態（ｄ）で、タイルは文字「Ｔ」のスケルトンＳの周囲に配置されている。アニメーション・シーケンスはこの最終安定状態（ｄ）で停止する。このようにすると、タイルが移動して文字「Ｔ」が構成される。
【００９１】
各タイル１９０はタイルの再構成に関するシーケンシャル・マッピング変形が望ましい関数によって提供される。このマッピング変形はパラメータの関数たとえば時間が望ましく、初期状態から最終状態へとアニメーションを進めることができる。
【００９２】
望ましくは、使用者が表示する所望の文字を入力すると、図１９の方法がストローク抽出処理を使用して文字のスケルトンＳを取り出す。本実施例ではタイル１９０を使用しているが、他の、もっと非日常的な、サブグリフを使用して文字又は文字群の最終状態を構成することができる。たとえば、キャタピラを文字のサブグリフとして使用することができよう。その場合（図示していない）アニメーション・シーケンスの間にキャタピラがランダムな位置から文字（群）のスケルトンＳを包囲する位置に移動する。
【００９３】
別の実施例において、開始段階を状態（ｄ）として最終安定状態を状態（ｂ）とすることができる。このようにすると、文字が破裂するように見える。別の考え得るアニメーション・シーケンスにおいて、キャタピラをランダムな位置から移動させて単語を形成してから破裂し、又戻って別の違う組の単語を形成するようにできる。
【００９４】
望ましくは、図１９の方法はフォント文字を表現するフォント構造を提供する。代表的には、フォントのアウトラインは一連の関数、たとえばベジェ・スプラインによって表現できる。これ以外に、入力がフォント文字ではなく使用者によって描画された一組の曲線でも良い。これらの使用者が描画した曲線を好適な方法においてと同様に動画化することができる。
【００９５】
図１１から図１７及び図１９を参照して説明した実施例を含む本発明の好適実施例は従来の汎用コンピュータたとえば図１８に図示したものなどを使用して実現できる。この点に関して、好適実施例はこのコンピュータで実行されるソフトウェアとして実装される。
【００９６】
図１８を参照すると、コンピュータ・システム１８８０はコンピュータ１８８１と、入力装置１８８２，１８８３と、ディスプレイ装置１８８４を含む。コンピュータ１８８１は少なくとも一つのプロセッサ・ユニット１８８５と、代表的にはランダム・アクセス・メモリ（ＲＡＭ）及びリード・オンリー・メモリ（ＲＯＭ）とを含むメモリ・ユニット１８８６と、キーボード及びマウス・インタフェース１８８８を含む入出力（Ｉ／Ｏ）インタフェースとを含む。記憶装置１８８９は以下の装置のうちの一つまたはそれ以上を含むことができる。フロッピー・ディスク装置、ハードディスク・ドライブ装置、ＣＤ−ＲＯＭドライブ装置又は当業者には周知な同様の不揮発性記憶装置。コンピュータ１８８１の各種部材１８８５から１８８９は当業者に公知の方法でコンピュータ・システム１８８０の動作が得られる方法で相互接続バス１８９０経由で通信する。実施例を実現できるコンピュータの例としては、ＩＢＭ−ＰＣ／ＡＴ及びその互換機、及びサンスパークステーションが挙げられる。
【００９７】
本発明は本発明の実施例を実現するようにプログラムされたコンピュータの態様をなす装置で実現することもできることは理解されよう。同様に、本発明の更なる実施例は添付の請求項の範囲内に含まれる本発明のいずれかの特定の実施例のステップを実現するためのデータ又はソフトウェア手順を格納するコンピュータ・ソフトウェア媒体の形を取ることがある。
【００９８】
本発明の精神又は範囲から逸脱することなく本明細書で説明した特定の実施例に数多くの変化及び変更を行なうことができることは当業者には理解されよう。したがって提示した実施例は全ての点で図示を目的としたものであって何らかの方法で制限するものではないと勘酌すべきである。
【図面の簡単な説明】
本発明の範囲内に納まる他の実施例も存在するが、添付の図面を参照して、本発明の好適な態様を単なる例として以下に説明する。図面において、
【図１】図１は文字グリフの構造を示す。
【図２】図２は文字コードからグリフ・インデックスを取り出す処理を示す。
【図３】図３はグラフィックス・コンテクスト属性のレイアウトを示す。
【図４】図４はタイプセッティング情報の使用方法を示す。
【図５】図５はフォント格納のためのファイル構造を示す。
【図６】図６はＧＯＢ木選択の処理を示す。
【図７】図７はフォント文字にアクセスする処理のフロー図を示す。
【図８】図８は最終的文字を作成する処理を示す。
【図９】図９は多数のグラフィックス・コンテクストを示す。
【図１０】図１０はグラフィックス・コンテクストの属性の設定を示す。
【図１１】図１１は視覚的に興味を惹く特性を有するフォント文字例を示す。
【図１２】図１２は図１１のフォント文字についてのグラフィックス・オブジェクト（ＧＯＢ）例を示す。
【図１３】図１３は図１１のフォント文字と図１２のＧＯＢに基づいた動画化シーケンスを示す。
【図１４】図１４は図１３の動画化シーケンスの方法のステップを示す。
【図１５】図１５は本発明による動画化シーケンスの部分の別の例を示す。
【図１６】図１６は本発明による動画化シーケンスの部分の更に別の例を示す。
【図１７】図１７は本発明による間接的状態間動画化シーケンスの部分の一例を示す。
【図１８】図１８は本発明の好適実施例を実現できる装置を示す。
【図１９Ａ】
【図１９Ｂ】
【図１９Ｃ】
【図１９Ｄ】図１９Ａから図１９Ｄは本発明の更に好適な態様で生成されたシーケンスの図示である。
【図２０】図２０は本発明の好適実施例を実現することに関係するステップを示すフローチャートである。
【図１】
0004434355.tif 000002
【図２】
0004434355.tif 000003
【図３】
0004434355.tif 000004
【図４】
0004434355.tif 000005
【図５】
0004434355.tif 000006
【図６】
0004434355.tif 000007
【図７】
0004434355.tif 000008
【図８】
0004434355.tif 000009
【図９】
0004434355.tif 000010
【図１０】
0004434355.tif 000011
【図１１】
0004434355.tif 000012
【図１２】
0004434355.tif 000013
【図１３】
0004434355.tif 000014
【図１４】
0004434355.tif 000015
【図１５】
0004434355.tif 000016
【図１６】
0004434355.tif 000017
【図１７】
0004434355.tif 000018
【図１８】
0004434355.tif 000019
【図１９Ａ】
0004434355.tif 000020
【図１９Ｂ】
0004434355.tif 000021
【図１９Ｃ】
0004434355.tif 000022
【図１９Ｄ】
0004434355.tif 000023
【図２０】
0004434355.tif 000024