【手続補正書】
【提出日】平成20年11月18日(2008.11.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティングシステムのユーザに対して表示するグラフィカル情報又は他のオーディオビジュアル情報を処理するコンピューティングシステムにおいて、時間をかけて個別に各アニメーションの変化を定義するのではなく、異なるアニメーションプロパティの各種タイミングを協調させるシングルタイムラインを用いて、アニメ化される１つ又は複数のオブジェクトの異なるアニメーションプロパティの各種タイミングを協調することによって、より直接的な手法で互いが同期化されたアニメーションの作成を可能にする方法であって、
前記方法は、
高レベルコンポジションとアニメーションエンジンが、アプリケーションプログラム又は他の高レベルプログラムによって提供されるグラフィックシーンを表す階層的エレメントツリーを生成するステップであって、前記ツリーの各ノードは、前記グラフィックシーンにおいてアニメ化されるオブジェクトのための１つ又は複数のアニメーションコンポーネントを表すステップと、
前記高レベルコンポジションとアニメーションエンジンが、前記グラフィックシーンにおいてアニメ化される前記１つ又は複数のオブジェクトの前記異なるアニメーションプロパティのための前記協調されたタイミングと同期化を表す階層的クロックツリーを生成するステップであって、前記階層的クロックツリーの各ノードは、オブジェクトの特定のアニメーションプロパティのタイミングを表し、前記階層的クロックツリーの各レベルは互いに同期状態であるステップと、
前記高レベルコンポジションとアニメーションエンジンが、エレメントツリーのリンクされたアニメーションコンポーネントのタイミングを表す前記クロックツリーの前記ノードの少なくとも一部を有する前記グラフィックシーンにおいてアニメ化されるオブジェクトのアニメーションコンポーネントを表す前記エレメントツリーの前記少なくとも一部をリンクすることによって前記エレメントとクロックツリーを統合し、次に、異なるアニメーションコンポーネントの異なるプロパティに対する前記タイミングが、前記クロックツリーの前記異なるレベルとノードで提供される前記タイミングによって制御され同期化され、さらに、前記クロックツリーにおける最上位レベルで提供される前記タイミングによって最終的に同期化されるように各種アニメーションコンポーネントに影響を与える他の独立タイムラインの協調を提供するステップと、
前記高レベルコンポジションとアニメーションエンジンが、イベントリストジェネレータの形式で状態マシンを用い、一旦、前記クロックツリーが前記エレメントツリーと統合されると、前記クロックツリーからイベントリストを生成するステップであって、前記イベントリストは、独立した各アニメーション又は各アニメーションセットに相当するイベントリストが存在するように前記リンクされたアニメーションコンポジションと前記２つのツリーのタイミングクロックによって最初にスケジューリングされたイベントをグループ化するステップと、
前記高レベルコンポジションとアニメーションエンジンが、インターバルジェネレータを用いて、インターバルリストにコンパイルされる対応インターバルで前記イベントリストの各アニメーション又は各アニメーションセットを準備するステップと、
低レベルコンポジションとアニメーションエンジンが、前記インターバルリストを受信し、前記インターバルリストを低レベル計算エンジンに入力し、当該低レベル計算エンジンが、グラフィックサブシステムが前記アニメ化されるシーンをレンダリングし表示するのに用いる出力を生成するステップと
を含むことを特徴とする方法。
【請求項２】
前記エレメントツリーの前記リンクされたアニメーションコンポーネントのタイミングを表す前記クロックツリーの前記ノードの少なくとも一部を有するオブジェクトのアニメーションコンポーネントを表す前記エレメントツリーの前記ノードの少なくとも一部をリンクすることによって前記エレメントとクロックツリーを統合する前記ステップは、拡張アプリケーションマークアップ言語を用いて実行されることを特徴とする請求項１に記載の方法。
【請求項３】
前記クロックツリーの前記ノードの少なくとも一部は、エレメントに関連付けられたスタイルからのタイミングデータを表すことを特徴とする請求項１に記載の方法。
【請求項４】
一旦、前記クロックツリーが前記エレメントツリーと統合されると、前記クロックツリーからイベントリストを生成する前記ステップは、全体のストリードボードタイムライン情報を維持するクロックオブジェクトのインスタンスを作成するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
全体のストーリーボードタイムラインを維持する前記クロックオブジェクトのインスタンスを作成する前記ステップは、トリガーに応答して前記ストーリーボードタイムラインを開始することによって実行されることを特徴とする請求項４に記載の方法。
【請求項６】
前記トリガーは、プロパティ・トリガーに相当し、前記ストーリーボードタイムラインを開始することは、前記プロパティ・トリガーの状態を評価することをさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記トリガーは、イベント・トリガーに相当し、前記ストーリーボードタイムラインを開始することは、前記イベント・トリガーによって起こされるイベントを検知することをさらに含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記トリガーは、エンター／エグジット・トリガーに相当し、前記ストーリーボードタイムラインを開始することは、エンターイベントのプロパティ・トリガーの状態を評価することをさらに含むことを特徴とする請求項５に記載の方法。
【請求項９】
前記階層的エレメントツリーのコンプレックス・プロパティ・パスにおけるターゲットエレメントのサブプロパティを変更するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記サブプロパティを変更するステップは、前記ターゲットエレメントのプロパティ値を確立し、前記サブプロパティ値を変更するステップをさらに含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記ターゲットエレメントの前記プロパティ値を確立するステップは、競合解消順序付けに基づいて前記プロパティ値を検索するステップをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記サブプロパティ値を変更するステップは、前記サブプロパティ値を変更する基礎値を決定するステップをさらに含むことを特徴とする請求項９記載の方法。
【請求項１３】
コンピューティングシステムのユーザに対して表示するグラフィカル情報又は他のオーディオビジュアル情報を処理するコンピューティングシステムにおいて、時間をかけて個別に各アニメーションの変化を定義するのではなく、異なるアニメーションプロパティの各種タイミングを協調させるシングルタイムラインを用いて、アニメ化される１つ又は複数のオブジェクトの異なるアニメーションプロパティの各種タイミングを協調することによって、より直接的な手法で互いが同期化されたアニメーションの作成を可能にする方法を前記コンピューティングシステムに実行させるコンピュータ実行可能命令を記録するコンピュータ読み取り可能な記録媒体であって、
前記方法は、
高レベルコンポジションとアニメーションエンジンが、アプリケーションプログラム又は他の高レベルプログラムによって提供されるグラフィックシーンを表す階層的エレメントツリーを生成するステップであって、前記ツリーの各ノードは、前記グラフィックシーンにおいてアニメ化されるオブジェクトのための１つ又は複数のアニメーションコンポーネントを表すステップと、
前記高レベルコンポジションとアニメーションエンジンが、前記グラフィックシーンにおいてアニメ化される前記１つ又は複数のオブジェクトの前記異なるアニメーションプロパティのための前記協調されたタイミングと同期化を表す階層的クロックツリーを生成するステップであって、前記階層的クロックツリーの各ノードは、オブジェクトの特定のアニメーションプロパティのタイミングを表し、前記階層的クロックツリーの各レベルは互いに同期状態であるステップと、
前記高レベルコンポジションとアニメーションエンジンが、エレメントツリーのリンクされたアニメーションコンポーネントのタイミングを表す前記クロックツリーの前記ノードの少なくとも一部を有する前記グラフィックシーンにおいてアニメ化されるオブジェクトのアニメーションコンポーネントを表す前記エレメントツリーの前記少なくとも一部をリンクすることによって前記エレメントとクロックツリーを統合し、次に、異なるアニメーションコンポーネントの異なるプロパティに対する前記タイミングが、前記クロックツリーの前記異なるレベルとノードで提供される前記タイミングによって制御され同期化され、さらに、前記クロックツリーにおける最上位レベルで提供される前記タイミングによって最終的に同期化されるように各種アニメーションコンポーネントに影響を与える他の独立タイムラインの協調を提供するステップと、
前記高レベルコンポジションとアニメーションエンジンが、イベントリストジェネレータの形式で状態マシンを用い、一旦、前記クロックツリーが前記エレメントツリーと統合されると、前記クロックツリーからイベントリストを生成するステップであって、前記イベントリストは、独立した各アニメーション又は各アニメーションセットに相当するイベントリストが存在するように前記リンクされたアニメーションコンポジションと前記２つのツリーのタイミングクロックによって最初にスケジューリングされたイベントをグループ化するステップと、
前記高レベルコンポジションとアニメーションエンジンが、インターバルジェネレータを用いて、インターバルリストにコンパイルされる対応インターバルで前記イベントリストの各アニメーション又は各アニメーションセットを準備するステップと、
低レベルコンポジションとアニメーションエンジンが、前記インターバルリストを受信し、前記インターバルリストを低レベル計算エンジンに入力し、当該低レベル計算エンジンが、グラフィックサブシステムが前記アニメ化されるシーンをレンダリングし表示するのに用いる出力を生成するステップと
を含むことを特徴とするコンピュータ読み取り可能な記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
図１に示した上述のドライブおよびそれらに関連するコンピュータストレージメディアは、コンピュータ１１０用のコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶を提供する。例えば図１において、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を記憶するものとして図示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３６、他のプログラムモジュール１３７、およびプログラムデータ１３８と同一とするか、または異なっていてもよいという点に留意されたい。ここでは、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７が最低限異なるコピーであることを示すために、異なる番号を割り当てている。ユーザは、タブレット（電子デジタイザ）１６４、マイクロフォン１６３、キーボード１６２、および通常はマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス１６１などの入力デバイスを介してコンピュータ１１０にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）は、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどを含むことができる。これらの入力デバイスおよび他の入力デバイスは、システムバスに結合されているユーザ入力インターフェース１６０を介して処理装置１２０に接続される場合が多いが、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースおよびバス構造によって接続することもできる。またモニタ１９１や他のタイプのディスプレイデバイスも、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。モニタ１９１は、タッチスクリーンインターフェース１９２などのインターフェースを介してコンピュータシステム１１０に手書きなどのデジタル化された入力を入力できるタッチスクリーンパネル１９３などと一体化することもできる。モニタおよび／またはタッチスクリーンパネルは、タブレットタイプのパーソナルコンピュータにおけるように、コンピューティングデバイス１１０が内蔵されている筐体に物理的に結合することができ、タッチスクリーンパネル１９３は基本的にタブレット１６４として機能するという点に留意されたい。さらに、コンピューティングデバイス１１０などのコンピュータは、スピーカ１９５およびプリンタ１９６などの他の周辺出力デバイスを含むこともでき、これは周辺出力インターフェース１９４などを介して接続することができる。