(57)【要約】  ２つの、及び／又は３つ以上の複数のアプリケーション間のアニメーションコンテキスト移行を管理するアニメーション調整システム及び方法が提供される。グローバルコーディネーターが、開始アプリケーションから、初期グラフィカル表現及びオブジェクトタイプ、初期位置等の初期情報を、また行先アプリケーションから、最終グラフィカル表現オブジェクト及びオブジェクトタイプ、最終位置等の最終情報を得ることができる。グローバル調整は、初期情報及び最終情報に基づいて、開始アプリケーションと行先アプリケーションとの間のアニメーションコンテキスト移行を生成する。
2014507698.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスの少なくとも１つのプロセッサーによって実施される方法であって、
開始アプリケーションから初期情報を受信するステップであって、前記初期情報は前記開始アプリケーションから行先アプリケーションへの前記コンピューティングデバイスのコンテキストのシフトを視覚化する移行アニメーションに関連する、ステップと、
前記行先アプリケーションから、前記移行アニメーションに関連付けられる最終情報を受信するステップと、
前記初期情報及び前記最終情報に少なくとも部分的に基づいて、前記移行アニメーションを生成するステップと
前記コンピューティングデバイスのディスプレイデバイス上に前記移行アニメーションをレンダリングするステップとを含む方法。
【請求項２】
前記移行アニメーションに対応するアニメーション識別子を生成するステップと、
前記開始アプリケーション又は前記行先アプリケーションの少なくとも一方に対して前記アニメーション識別子を発行するステップとを更に含む、請求項１に記載の方法。
【請求項３】
前記移行アニメーションを生成する前記ステップは、前記初期情報内に含まれる初期グラフィカル表現と前記最終情報において指定される最終グラフィカル表現との間の差を埋める複数の中間グラフィカル表現を作成するステップを更に含み、
作成される前記複数の中間グラフィカル表現の数は前記移行アニメーションの所定のフレームレートによる、請求項１に記載の方法。
【請求項４】
前記複数の中間グラフィカル表現に関連付けられる１組の位置情報を求めるステップを更に含み、前記１組の位置情報を求めるステップは、前記初期情報内の初期位置情報、前記最終情報に含まれる最終位置情報、又は前記１組の位置情報内に含まれる他の位置情報のうちの少なくとも１つに基づいて前記位置情報を求めるステップを含む、請求項３に記載の方法。
【請求項５】
前記移行アニメーションをレンダリングする前記ステップは、
前記初期グラフィカル表現、前記複数の中間グラフィカル表現及び前記最終グラフィカル表現を順序付けて、フレーム順序を作成するステップと、
前記フレーム順序に従って、前記初期グラフィカル表現、前記複数の中間グラフィカル表現及び前記最終グラフィカル表現を順次に、かつ個別にレンダリングするステップとを更に含む、請求項４に記載の方法。
【請求項６】
前記移行アニメーションをレンダリングする前記ステップは、前記移行アニメーションのｚ位置を強制的に定めるステップを更に含み、前記移行アニメーションは前記ディスプレイデバイス上の最上部のオブジェクトのままである、請求項１に記載の方法。
【請求項７】
前記移行アニメーションの前記レンダリングを開始する前に、前記行先アプリケーションからの準備完了インジケーターを待つステップを更に含む、請求項１に記載の方法。
【請求項８】
アニメーション調整構成要素を備え、前記アニメーション調整構成要素は、
１つ又は複数の開始アプリケーションから初期情報を受信し、１つ又は複数の行先アプリケーションから最終情報を受信するように構成される入力構成要素と、
アニメーションを作成し、ディスプレイデバイス上にレンダリングするように構成されるアニメーション構成要素とを含み、前記アニメーションは、前記１つ又は複数の開始アプリケーションに関連付けられる環境から前記１つ又は複数の行先アプリケーションに関連付けられる環境への継ぎ目のない移行を提供する、システム。
【請求項９】
前記アニメーション調整構成要素は、前記アニメーション調整構成要素によって調整される個々のアニメーションに対するアニメーション識別子を発行するように構成される識別子生成構成要素を更に備える、請求項８に記載のシステム。
【請求項１０】
前記アニメーション調整構成要素は、前記１つ又は複数の開始アプリケーションに前記初期情報の受信確認として前記アニメーション識別子を送信するように構成される出力構成要素を更に備える、請求項９に記載のシステム。
【請求項１１】
前記アニメーション調整構成要素は、前記アニメーション構成要素によって描画されることになる前記アニメーションのためのアニメーションフレームを作成するように構成されるフレーム生成構成要素を更に備える、請求項８に記載のシステム。
【請求項１２】
前記初期情報は、前記１つ又は複数の開始アプリケーション内のオブジェクトの初期グラフィカル表現、前記１つ又は複数の開始アプリケーション内の前記オブジェクトのタイプ、前記初期グラフィカル表現のそれぞれの位置、又は前記初期グラフィカル表現のそれぞれのサイズのうちの少なくとも１つを含む、請求項８に記載のシステム。
【請求項１３】
前記最終情報は前記１つ又は複数の行先アプリケーション内のオブジェクトの最終グラフィカル表現、又は１つ又は複数の行先アプリケーション内の前記オブジェクトのタイプのうちの少なくとも１つを含む、請求項８に記載のシステム。
【請求項１４】
前記最終情報は、前記最終グラフィカル表現のそれぞれの位置又は前記最終グラフィカル表現のそれぞれのサイズのうちの少なくとも１つを含む、請求項８に記載のシステム。
【請求項１５】
前記アニメーション調整構成要素はオペレーティングシステムに組み込まれる、請求項８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]主開示は、コンピューティングシステムの複数のアプリケーション又はプロセスに渡るアニメーションの調整、例えば、コンピューティングシステムの１つのコンテキストから別のコンテキストへのアニメーションの調整に関する。
【背景技術】
【０００２】
[0002]コンピューティング技術の進歩に合わせて、利用可能なコンピューティングリソースが増え続けるにつれて、更なるリソースを、豊かなユーザー体験の提供に費やすことができるようになる。豊かな体験を提供する１つの仕組みがアニメーションである。アニメーションを利用して、異なるコンテキスト間の流れるような継ぎ目のない移行を生み出すことができる。例えば、コンテキスト移行、例えば、アプリケーションの１つのモードからそのアプリケーションの別のモードへの移行をアニメーション化して（animate）、モード間の継ぎ目のない視覚的切替をユーザーに提供することができる。
【０００３】
[0003]しかしながら、状況によっては、コンテキスト移行は複数のプロセス又はアプリケーションを含むか、又は複数のプロセス又はアプリケーションに渡る可能性がある。そのような移行の一例では、ファイル探索アプリケーションにおけるサムネイル表現から、画像表示アプリケーションにおいて画像を開くことは、ファイル探索アプリケーションから画像表示アプリケーションへのコンテキスト切替を伴う。この例に関して更に、画像表示アプリケーションは、全画面表現において画像を表示することができる。
【０００４】
[0004]通常、例えば、ファイル探索アプリケーションと画像表示アプリケーションとの間のそのようなコンテキスト切替をアニメーション化する（animate）ことは、一方的に、又は両者間で試みることができる。一方的な態様では、ファイル探索アプリケーション又は画像表示アプリケーションのいずれもが、視覚移行アニメーションを動かすことができる。しかしながら、ファイル探索アプリケーションがアニメーションを描画する（draw）場合には、例えば、ディスプレイの行先点が画像表示アプリケーション内のどこであるかを知らない。同様に、画像表示アプリケーションがアニメーションを描画する場合、画像表示アプリケーションは、ファイル探索アプリケーションにおける、そのアニメーションの起点に関する知識を有しない。
【０００５】
[0005]両方から動かされるアニメーションの場合、移行にかかわるアプリケーションは、アニメーションを共同で描画することになる。上記の例によれば、ファイル探索アプリケーション及び画像表示アプリケーションはいずれもアニメーションを描画することができる。例えば、ファイル探索がアニメーションを開始する、例えば、アニメーションをレンダリング、例えば、描画し始め、画像表示アプリケーションがそのアニメーションを仕上げることができる。したがって、ファイル探索アプリケーションと画像表示アプリケーションとの間で描画責任のハンドオフが行われる。ハンドオフによって、アニメーションの継ぎ目及び不一致がユーザーに見えることになる。
【０００６】
[0006]今日の視覚移行システムの上記の欠陥は従来のシステムの問題のうちの幾つかの概説を提供することだけを意図しており、網羅することは意図していない。従来のシステムが抱える他の問題及び本明細書において記述される種々の非限定的な実施形態の対応する利点は、以下の説明を精査すると更に明らかになる場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
複数のアプリケーション又はプロセスに渡るアニメーション調整を提供する。
【課題を解決するための手段】
【０００８】
[0007]更に詳細な説明及び添付の図面において以下に続く例示的で非限定的な実施形態の種々の態様を基本的に、又は包括的に理解できるようにするのを助けるために、簡単な要約が提供される。しかしながら、この要約は、詳細に、又は包括的に概説することは意図していない。代わりに、この要約の唯一の目的は、以下に続く種々の実施形態の更に詳細な説明への序説として、幾つの例示的で非限定的な実施形態に関連する幾つかの概念を簡単な形で提示することである。
【０００９】
[0008]１つ又は複数の実施形態は、汎用フレームワークを用いて、任意のアプリケーション間のコンテキスト移行の継ぎ目のないアニメーションを作成することである。そのフレームワークは、アニメーションコーディネーターを含み、アニメーションコーディネーターは、アプリケーションとやりとりして、開始アプリケーション、例えば、アニメーションの出発点におけるアプリケーションから初期情報を、そして行先アプリケーション、例えば、アニメーションの終了点におけるアプリケーションから最終情報を得る。アニメーションコーディネーターは、初期情報及び最終情報に基づいてアニメーションを生成し、開始アプリケーション及び／又は行先アプリケーションの外部からアニメーションを動かして、異なるコンテキスト間の継ぎ目がなく、滑らかにアニメーション化された移行を可能にする。
【００１０】
[0009]幾つかの実施形態では、アニメーションコーディネーターは、アニメーションの完成時に行先アプリケーションが焦点及び／又は制御を直ちに捉えるように、開始アプリケーションと行先アプリケーションとを同期させる。例えば、アプリケーション起動による移行では、アニメーションコーディネーターは、行先アプリケーションから準備完了状態にあるという指示を待つことができる。指示を受信すると、アニメーションコーディネーターはアニメーションを動かすことができる。
【００１１】
[0010]
これらの実施形態及び他の実施形態が以下に更に詳細に説明される。
[0011]
添付の図面を参照しながら、種々の非限定的な実施形態が更に説明される。
【図面の簡単な説明】
【００１２】
【図１】[0012]複数のアプリケーションに渡るアニメーションを調整するための例示的で非限定的な実施形態を示す流れ図である。
【図２】[0013]複数のアプリケーションに渡るアニメーションを調整するための別の例示的で非限定的な実施形態を示す流れ図である。
【図３】[0014]アニメーションを生成するための例示的で非限定的な実施形態を示す流れ図である。
【図４】[0015]アニメーションを描画するための例示的で非限定的な実施形態を示す流れ図である。
【図５】[0016]複数のアプリケーションの間を埋める移行アニメーションの例示的で非限定的な図である。
【図６】[0017]例示的で非限定的なアニメーション調整システムを示すブロック図である。
【図７】[0018]複数のアプリケーションの間を埋め、異種の初期グラフィカル表現及び最終グラフィカル表現を含む移行アニメーションの例示的で非限定的な図である。
【図８】[0019]１つのアプリケーションによって開始され、複数のアプリケーションにおいて終了する１つ又は複数のアニメーションを調整するための例示的で非限定的な実施形態を示す流れ図である。
【図９】[0020]１つのアプリケーションにおいて始まり、複数のアプリケーションにおいて終了する複数の移行アニメーションの例示的で非限定的な図である。
【図１０】[0021]１つ又は複数の実施形態による、例示的で非限定的なアニメーション調整システムのブロック図である。
【図１１】[0022]１つ又は複数の実施形態による、例示的で非限定的なアニメーションコーディネーターのブロック図である。
【図１２】[0023]１つ又は複数の実施形態による、例示的で非限定的なアニメーション調整システムを示すブロック図である。
【図１３】[0024]本明細書において記述される種々の実施形態を実施することができる例示的で非限定的なネットワーク化された環境を表すブロック図である。
【図１４】[0025]本明細書において記述される種々の実施形態の１つ又は複数の態様を実施することができる例示的で非限定的なコンピューティングシステム、デバイス又は動作環境を表すブロック図である。
【発明を実施するための形態】
【００１３】
[0026]背景において論じられたように、異なるアプリケーション間での視覚的にアニメーション化されたコンテキスト移行は一般的には、コンピューティングシステム、例えば、コンピューティングデバイス上の実質的に如何なるアプリケーションによっても、ユーザーから見て継ぎ目のないまま使用可能にすることはできない。例えば、２つの関連しないアプリケーション、例えば、異なる開発者によって開発され、及び／又は制御されるアプリケーションは、その間で継ぎ目のないアニメーション化された移行を可能する情報を交換することはできない。単一の開発者によって開発され、及び／又は制御される２つのアプリケーションは、コンテキスト移行をアニメーション化する仕組みをハードコード化できるが、そのような仕組みは、２つのアプリケーション間でのみ移行をアニメーション化するために、それら２つのアプリケーションによってのみ入手可能であり、かつ使用可能である。
【００１４】
[0027]さらに、２つの任意のアプリケーション又はプロセス、例えば、関連しないアプリケーションは、移行アニメーションを実施するための他の従来の仕組みを活用することができる。例えば、そのようなアプリケーションは、プロセス間通信技法、共有されたメモリ空間、プロセス間同期技法等を利用して、１つのアプリケーションによって開始され、別のアプリケーションによって終了する移行アニメーションのハンドオフを実行することができる。しかしながら、従来の仕組みは、引継ぎ点、例えば、アニメーションを描画するための責任が入れ替わる場所が、結果としてユーザーの目に見えるアニメーションアーティファクトを生成するので、継ぎ目がなく、滑らかなアニメーションを作成することはできない。したがって、コンテキスト移行の視覚的なアニメーションを作成する従来の技法は、複数の任意のアプリケーション及びプロセス間の継ぎ目のないアニメーションを一般化された汎用の方法において生成することはできない。
【００１５】
[0028]種々の非限定的な実施形態では、汎用フレームワークを利用して、任意のアプリケーションプロセス間のコンテキスト移行の継ぎ目のないアニメーションを作成することができる。汎用フレームワークは、情報を供給し、移行アニメーションを作成するために、アプリケーションによって利用可能な共通のアプリケーションプログラムインターフェースを提供する。汎用フレームワークは、開始アプリケーション、例えば、そこからアニメーションが生じるアプリケーションからの情報、及び行先アプリケーション、例えば、アニメーションが終了するアプリケーションからの情報を保持し、そのような情報を関連付けて、特定の開始アプリケーションから特定の行先アプリケーションまでアニメーションを描画できるようにする。
【００１６】
[0029]更なる実施形態によれば、そのフレームワークはグローバルコーディネーターを含み、グローバルコーディネーターはアプリケーションとやりとりして、初期情報及び最終情報を得る。さらに、グローバルコーディネーターは、初期情報及び最終情報に基づいて、アニメーションタイミング及び描画を制御し、継ぎ目のない移行を生成する。さらに、グローバルコーディネーターは、他の仮想機械若しくは物理的機械のコーディネーター、コンポジター又は他の構成要素と通信し、異種の仮想機械又は物理的機械上のアプリケーション及び／又はプロセス間でのコンテキスト切替をアニメーション化することができる。
【００１７】
[0030]一実施形態では、本明細書において、開始アプリケーションからの初期情報を受信することであって、初期情報は、開始アプリケーションから行先アプリケーションまでのユーザーコンテキストのシフトを視覚化する移行アニメーションに関連する、受信することと、行先アプリケーションから、移行アニメーションに関連付けられる最終情報を受信することと、初期情報及び最終情報に少なくとも部分的に基づいて、移行アニメーションを生成することと、コンピューティングシステムのディスプレイデバイス上に移行アニメーションを描画することとを含む方法が記述される。また、その方法は、移行アニメーションに対応するアニメーション識別子を生成することと、開始アプリケーション又は行先アプリケーションの少なくとも一方に対してアニメーション識別子を発行することと、アニメーション識別子に関連付けて初期情報及び最終情報を保持することと含む。さらに、一例では、最終情報を受信することは、行先アプリケーションから、アニメーション識別子とともに最終情報を受信し、最終情報と初期情報を関連付けることができるようにすることを含む。別の例では、移行アニメーションを生成することは、初期情報に含まれる初期グラフィカル表現と最終情報において指定される最終グラフィカル表現との間の差を埋める複数の中間グラフィカル表現を作成することであって、作成される中間グラフィカル表現は、移行アニメーションの所定のフレームレートに従う、作成することを含むことができ、複数の中間グラフィカル表現にそれぞれ関連付けられる１組の位置情報を求めることを更に含むことができ、位置情報は、初期情報内の初期位置情報、最終情報に含まれる最終位置情報、又は１組の位置情報に含まれる他の位置情報のうちの少なくとも１つに基づいて求められる。
【００１８】
[0031]更なる例によれば、移行アニメーションを描画することは、初期グラフィカル表現、複数の中間グラフィカル表現及び最終グラフィカル表現を順序付け、フレーム順序を作成することと、フレーム順序に従って、初期グラフィカル表現、複数の中間グラフィカル表現及び最終グラフィカル表現を順次に、かつ個別に描画することとを含み、描画間の時間は所定のフレームレートに基づいて求められる。さらに、描画することは、移行アニメーションがディスプレイデバイス上の最上部のオブジェクトとしてとどまるように、移行アニメーションのｚ位置を強制的に定める（enforce）ことを伴うことができる。更に別の例では、その方法は、移行アニメーションの描画を開始する前に、行先アプリケーションから準備完了インジケーター（readiness indicator）を待つことを含むことができ、行先アプリケーションからの終了情報の受信が、準備完了インジケーターである。
【００１９】
[0032]別の実施形態では、本明細書において記述されるようなシステムがアニメーション調整構成要素を含み、アニメーション調整構成要素は、１つ又は複数の開始アプリケーションから初期情報を得るように、かつ１つ又は複数の行先アプリケーションから最終情報を得るように構成される入力構成要素と、アニメーションを作成し、そのアニメーションをディスプレイデバイス、例えば、ディスプレイ画面に描画するように構成されるアニメーション構成要素とを含み、それらのアニメーションは、１つ又は複数の開始アプリケーションに関連付けられる環境から、１つ又は複数の行先アプリケーションに関連付けられる環境への継ぎ目のない移行を提供する。アニメーション調整構成要素は、アニメーション調整構成要素によって調整される個々のアニメーションに対してアニメーション識別子を発行するように構成される識別子生成構成要素を更に含むことができ、アニメーション識別子は、限定はしないが、グローバル一意識別子（ＧＵＩＤ）のようなグローバル識別子（ＧＩＤ）を含む。１つ又は複数の開始アプリケーションに、初期情報の受信確認（receipt）としてアニメーション識別子を送信するように構成される出力構成要素が提供される。更なる例では、アニメーション調整構成要素は、アニメーション構成要素によって描画されることになるアニメーションのためのアニメーションフレームを作成するように構成されるフレーム生成構成要素を含むことができる。
【００２０】
[0033]初期情報は、一例では、１つ又は複数の開始アプリケーション内のオブジェクトの初期グラフィカル表現、１つ又は複数の開始アプリケーション内のオブジェクトのタイプ、初期グラフィカル表現のそれぞれの位置、又は初期グラフィカル表現のそれぞれサイズのうちの少なくとも１つを含む。同様に、最終情報は、１つ又は複数の行先アプリケーション内のオブジェクトの最終グラフィカル表現、１つ又は複数の行先アプリケーション内のオブジェクトのタイプ、最終グラフィカル表現のそれぞれの位置、又は最終グラフィカル表現のそれぞれサイズのうちの少なくとも１つを含む。
【００２１】
[0034]更なる実施形態では、オペレーティングシステムにアニメーション調整サブシステムを組み込むことができ、アニメーション調整サブシステムは、異種のコンテキスト間の移行を継ぎ目なく視覚化するアニメーションをトリガーできるように構成される第１のアプリケーションプログラムインターフェース（ＡＰＩ）であって、第１のＡＰＩは、そのアニメーションのための出発点を表す、開始アプリケーションからの初期情報を受信し、そのアニメーションに対応するアニメーション識別子を返すように構成される、第１のＡＰＩと、そのアニメーションのための終了点を表す最終情報を受信するように構成される第２のＡＰＩとを含み、最終情報は、アニメーション識別子に関連して、行先アプリケーションから受信される。アニメーション調整モジュールは、初期情報及び最終情報に基づいてアニメーションを生成し、そのアニメーションをディスプレイ画面に出力する。
【００２２】
[0035]ここまで、複数のアプリケーションに渡る継ぎ目のない移行アニメーションを提供するための実施形態のうちの幾つかの概説が提示されてきた。次の説明のためのロードマップとして、グローバルアニメーション調整のための種々の例示的で非限定的な実施形態及び特徴が詳細に説明される。その後、更なる例示のために、幾つかの非限定的な実施態様及び例が与えられ、その後、そのような実施形態及び／又は特徴を実施することができる代表的なネットワーク及びコンピューティング環境が与えられる。
複数のアプリケーション／プロセス間の移行アニメーション
[0036]上記のように、種々の実施形態において、複数のアプリケーション間に広がるアニメーションを生成するように構成されるフレームワークが提供される。一例では、アニメーションは第１のアニメーション内のオブジェクトのグラフィカル表現から第２のアプリケーション内のオブジェクトの別のグラフィカル表現への視覚的なモーフを含む。一態様では、初期グラフィカル表現及び最終グラフィカル表現は、共通の基底オブジェクトの異なる表現とすることができる。例えば、初期グラフィカル表現及び最終グラフィカル表現は、１つ又は複数の特徴、例えば、解像度、サイズ、忠実度、粒状度、場所等に関して異なることができ、アニメーションは初期グラフィカル表現から最終グラフィカル表現までの継ぎ目のない変換を含むことができる。別の態様では、初期グラフィカル表現及び最終グラフィカル表現は、限定はしないが、テキストオブジェクト、ピクチャーオブジェクト、画像オブジェクト、ビデオオブジェクト、地図オブジェクト、リストオブジェクト、ウェブオブジェクト等の異種のオブジェクトを表すことができる。異種のオブジェクトの場合、アニメーションは、１つのオブジェクトの１つの表現から別のオブジェクトの別の表現への形態学的変換を含むことができる。例えば、アニメーションは、テキストの一部から画像への変換を視覚的に表すことができる。更なる実施形態では、複数のオブジェクトを単一のオブジェクトに変換し、及び／又は単一のオブジェクトを複数のオブジェクトに変換するアニメーションを生成することができる。
【００２３】
[0037]さらに、複数のアプリケーションが、単一の仮想機械又は物理的機械上に存在することができるか、異なる仮想機械及び／又は物理的機械上に存在することができる。更に別の実施形態では、単一のアプリケーションがアプリケーション内移行のために本明細書において提供されるフレームワークを活用することができる。例えば、ブラウザープリケーションが、異なるドメイン間をブラウジングする、例えば、第１のウェブページから第２のウェブページをブラウジングするとき、アニメーション化された移行を利用することができる。したがって、そのフレームワークは、アプリケーション間アニメーションを作成することに加えて、一般化された方法において、アプリケーション内移行のためにも活用することができる。
【００２４】
[0038]上記のようなコンテキスト移行のアニメーションを調整する１つ又は複数の非限定的な方法に関して、図１は、複数のアプリケーションに渡るアニメーションを調整するための例示的で非限定的な実施形態を示す流れ図を示す。１００において、第１のアプリケーションからアニメーションに関連付けられる開始情報が得られる。具体的で非限定的な例では、開始情報は、本明細書において記述されるような、第１のアプリケーションとともに物理的機械又は仮想機械上に存在することができるグローバルコーディネーターによって得られる。しかしながら、グローバルコーディネーターは、第１のアプリケーションとは異なる物理的機械又は仮想機械上に存在できることは理解されよう。
【００２５】
[0039]開始情報は、アニメーションを開始するためのパラメータを指定することができる。例えば、開始情報は、アニメーションの開始フレームである、第１のアプリケーション内のオブジェクトの初期グラフィカル表現を含むことができる。また、開始情報は、初期グラフィカル表現が描画されるディスプレイ上の位置、例えば、ｘ座標、ｙ座標等も含むことができる。ディスプレイ上の位置は、現実の物理的なディスプレイ上の位置に、又は仮想的なディスプレイ上の位置に関連付けることができる。さらに、初期グラフィカル表現のサイズを開始情報に含むことができる。一例では、位置及びサイズ情報は、初期グラフィカル表現の境界長方形として伝達することができる。境界長方形は、高さ、幅、及び所定の角、例えば、左上、右上、左下又は右下の座標によって指定することができる。
【００２６】
[0040]１１０において、アニメーションに関連付けられるアニメーション識別子を発行することができる。一態様では、アニメーション識別子はグローバル識別子とすることができる。しかしながら、アニメーション識別子として、他のタイプの識別子を利用することができる。一実施形態では、グローバルコーディネーターはアニメーション識別子を生成し、そのアニメーション識別子を第１のアプリケーションに対して発行することができる。別の実施形態では、第１のアプリケーションがアニメーション識別子を生成することができる。さらに、グローバルコーディネーター及び／又は第１のアプリケーションは、どちらが識別子を生成するかによって、アニメーション識別子を、そのアニメーションが終了する第２のアプリケーションに与えることができる。
【００２７】
[0041]１２０において、第２のアプリケーションから終了情報が受信される。終了情報は、開始情報と同様に、アニメーションの最終フレームである、第２のアプリケーションの最終グラフィカル表現を含むことができる。さらに、終了情報は、最終グラフィカル表現の位置、最終グラフィカル表現のサイズ及び／又は最終グラフィカル表現の境界長方形を含むことができる。１３０において、第１のアプリケーションにおいて生じ、第２のアプリケーションにおいて終了するアニメーションが、開始情報及び終了情報に基づいて動かされる。例えば、グローバルコーディネーターは、開始情報において示される位置にある初期グラフィカル表現で開始し、終了情報において示される位置にある最終グラフィカル表現で終了するアニメーションを描画することができる。グローバルコーディネーターは、ディスプレイ上のグラフィカルオブジェクト、例えば、ウインドウのｚ順序に影響を及ぼし、アニメーションが少なくとも第１のアプリケーション及び第２のアプリケーションに対して最上部のオブジェクトのままであるのを確実にすることができる。
【００２８】
[0042]更なる実施形態では、アニメーションは、グローバルコーディネーターによって強制されるタイミング又は同期に従って動かすことができる。例えば、グローバルコーディネーターは、第２のアプリケーションの準備が完了しているという通知を受信した後に、アニメーションをレンダリングし始める。その通知は明示的にすることができ、例えば、第２のアプリケーションが特定のメッセージをグローバルコーディネーターに送信するか、又はその通知は暗黙的にすることができ、例えば、終了情報を受信すると、グローバルコーディネーターは準備完了を推定する。準備完了の通知を送信する前に、第２のアプリケーションは、関連するウインドウ及びユーザーインターフェースをレンダリングすることができるが、ユーザーインターフェースは隠しておく。アニメーションが完了すると、レンダリングされたウインドウ及びユーザーインターフェースを表示させて、継ぎ目のないコンテキスト移行を生成することができる。第２のアプリケーションから準備完了信号を待つことによって、第２のアプリケーションのユーザーインターフェースを迅速に表示することができるので、継ぎ目のないアニメーションが生じることができる。
【００２９】
[0043]図２は、複数のアプリケーションに渡るアニメーションを調整するための別の例示的で非限定的な実施形態を示す流れ図を示す。２００において、開始アプリケーションからの初期情報が受信される。初期情報は、開始アプリケーションから行先アプリケーションへのユーザーコンテキストのシフトを視覚化する移行アニメーションに関連し、移行アニメーションをトリガーする。２１０において、移行アニメーションに対応するアニメーション識別子が生成される。２２０において、開始アプリケーション及び／又は行先アプリケーションに対してアニメーション識別子が発行される。アニメーション識別子は、初期情報の受信確認を与え、移行アニメーションが構成されつつあることを示す。さらに、アニメーション識別子は、種々のデータ及び／又はメッセージを移行アニメーションに関連付けるために利用することができる基準を与える。
【００３０】
[0044]２３０において、移行アニメーションに関連付けられる最終情報が、行先アプリケーションから受信される。一例では、最終情報は、アニメーション識別子に関連して受信することができる。２４０において、オプションでは、アニメーション識別子に関連付けて、開始情報及び最終情報を記憶することができる。更なる実施形態では、移行アニメーションの表示を開始する前に、そのプロセスは、行先アプリケーションから準備完了インジケーターが受信されるまで待つことができる。具体的な非限定的な例では、最終情報を受信することが、暗黙的な準備完了指示として働くことができる。
【００３１】
[0045]２５０において、移行アニメーションが生成される。手短に図３を参照すると、アニメーションを生成するための例示的で非限定的な実施形態の流れ図が示される。３００において、複数の中間グラフィカル表現を作成することができる。中間グラフィカル表現は、初期グラフィカル表現と最終グラフィカル表現との間の空白を埋めることができる。一例では、作成される中間グラフィカル表現の数は、移行アニメーションの所定のフレームレートに基づくことができる。３１０において、１組の位置が求められ、１組の位置はそれぞれ複数の中間グラフィカル表現に関連付けられる。一例によれば、それらの位置は、初期グラフィカル表現の初期位置、最終グラフィカル表現の最終位置及び／又は１組の位置内の他の位置に基づいて求めることができる。３２０において、グラフィカル表現を位置と一致させることによって、アニメーションフレームが生成される。
【００３２】
[0046]図２に戻って参照すると、２６０において移行アニメーションが描画され、それについては図４に示される例示的で非限定的な実施形態において更に示される。図４に示されるように、４００において、１組のグラフィカル表現を順序付けて、フレーム順序を生成する。４１０において、１組のグラフィカル表現からのグラフィカル表現が、フレーム順序に従って順次に、かつ個別に描画される。さらに、４２０において、描画中、アニメーションのｚ位置が強制的に定められ、アニメーションを最上部の位置に保持する。
【００３３】
[0047]図５は、複数のアプリケーションの間を埋める移行アニメーションの例示的で非限定的な図である。図５に示されるように、アニメーションが、第１のアプリケーション、例えば、電子メールアプリケーション５００から第２のアプリケーション、例えば、画像表示アプリケーション５１０へのコンテキスト移行を視覚的に実行することができる。電子メールアプリケーション５００は、電子メールを受信し、表示し、下書きし、送信すること等を行うことができる任意の適切な電子メールアプリケーションとすることができる。図５に示されるように、電子メールアプリケーション５００は、画像５０２のような埋め込まれた画像を含む電子メールを表示することができる。一実施形態では、電子メールアプリケーション５００は、画像５０２を、表示された電子メールメッセージ内に埋め込まれるサムネイル表現として表示する。
【００３４】
[0048]ユーザーは、利用可能である場合には、画像表示アプリケーション５１０において、更に大きな表現を表示することを選択することができる。そのために、ユーザーは画像５０２をダブルクリックすることができるか、画像５０２を右クリックして、画像表示アプリケーション５１０において画像５０２を開くコマンドを選択することができるか、又は電子メールアプリケーション５００のユーザーインターフェースにおいて利用可能な幾つかの他の手段を利用することができる。非限定的な例では、電子メールアプリケーション５００は、ホストオペレーティングシステムの機能を利用して、オペレーティングシステムによって保持されるファイル関連付けを探索し、どのアプリケーションが画像５０２のファイルタイプに関連付けられるかを識別することができる。電子メールアプリケーション５００が、画像５０２のファイルタイプに関連付けられるアプリケーションとして画像表示アプリケーション５１０を識別すると、電子メールアプリケーション５００は、オペレーティングシステムの更なる機構を利用して、画像５０２に対応するファイルを用いて画像表示アプリケーション５１０を起動することができる。画像表示アプリケーション５１０は画像５０２に対応するファイルを実行し開き、画像５１２の形の更に大きな画像を表示することができる。別の例では、電子メールアプリケーション５００は、別のアプリケーションにおいて開かれる／表示されることが望まれるファイルタイプ及び／又はファイル名をオペレーティングシステムに知らせることができる。オペレーティングシステムは適切なプログラム、例えば、画像表示アプリケーション５１０を識別し、そのプログラムを実行し、そのプログラムにファイルを与えることができる。
【００３５】
[0049]上記の例において説明されたように、アプリケーション起動によるシナリオは、電子メールアプリケーション５００の環境から画像表示アプリケーション５１０の環境への突然のコンテキスト移行を伴う。通常、そのようなコンテキスト移行は突然である。例えば、ユーザーは電子メールアプリケーション５００において画像５０２をダブルクリックして、オペレーティングシステムに、画像５０２に関連付けられるファイルを用いて画像表示アプリケーション５１０を起動するように命令する。画像表示アプリケーション５１０が実行を開始すると、種々のバックグラウンドタスクが実行される。画像表示アプリケーション５１０は、ファイルにアクセスし、そのファイルの記憶された情報にアクセスすることができる。さらに、画像表示アプリケーション５１０は、バックグラウンド処理中にスプラッシュスクリーンを表示することができる。最終的に、画像表示アプリケーション５１０は、画面又は他の出力ディスプレイ上に表示されるウインドウ及び／又はユーザーインターフェースをレンダリングする。従来、画像５０２をダブルクリックすることから、画像表示アプリケーション５１０のウインドウ又はユーザーインターフェースを表示することまでの移行は急激である可能性がある。例えば、視点から、例えば、ユーザーが出力ディスプレイ上で見ているものから考えると、ユーザーは電子メールアプリケーション５００を視認しており、その後、或る時間が経過した後に、画像表示アプリケーション５１０が瞬時に現れる。オプションでは、画像表示アプリケーション５１０の表示に先立って、スプラッシュスクリーンを突然表示することができる。別の例では、システムリソース、及び／又はアプリケーションがコード化される方法に応じて、画像表示アプリケーション５１０の表示を不連続にすることができ、ユーザーインターフェースの種々の部分が段階的に現れるようになる。
【００３６】
[0050]上記のように、アニメーションを生成して、電子メールアプリケーション５００から画像表示アプリケーション５１０への継ぎ目のない滑らかな移行を提供することができる。アニメーションは、図５に示されるように、画像５０２、例えば、初期グラフィカル表現から、画像５１２、例えば、最終グラフィカル表現への視覚的な拡大又は変換とすることができる。そのアニメーションは、開始フレーム（画像５０２）から終了フレーム（画像５１２）まで順序付けられた複数のフレームを含むことができる。フレーム５０４及びフレーム５１４のような中間フレームを生成することができる。中間フレームは、先行するフレーム及び／又は開始フレームから生成することができる。別の例では、中間フレームは、後続のフレーム及び／又は終了フレームに基づいて逆の順序で生成することができる。いずれの生成技法を用いても、隣接するフレームに密接に関連する高品質の中間フレームを提供できることは理解されよう。例えば、開始フレームとは対照的に、終了フレームから生成される場合には、終了フレームに近い中間フレームは、より高い品質を有することができる。中間フレームの数は、限定はしないが、アニメーションの持続時間及び所望のフレームレートのような種々の要因によって決まることができる。非限定的な例によって、２４フレーム／秒のフレームレートを有する２秒のアニメーションを考える。そのアニメーションは全部で４８フレームを含むことになる。開始位置を占有する画像５０２が、画像５１２によって占有される最終位置まで並進しながら、より大きな画像、例えば、画像５１２に変形するように、フレームを順序付けて、表示することができる。
【００３７】
[0051]図６は、例示的で非限定的なアニメーション調整システムを示すブロック図である。アニメーション調整システムは、アプリケーション６００、例えば、第１のアプリケーションと、アプリケーション６１０、例えば、第２のアプリケーションとを含み、その間でアニメーション化されたコンテキスト移行が行われる。また、そのシステムは、アニメーション６２４を生成し、アプリケーション６００及び６１０を同期させ、アニメーション６２４を描画するように構成されるコーディネーター６２０も含むことができる。具体的な非限定的な実施形態では、コーディネーター６２０は、アプリケーション６００及びアプリケーション６１０をホスティングするオペレーティングシステム（図示せず）のグローバル構成要素とすることができる。しかしながら、コーディネーター６２０はオペレーティングシステムとは別のプロセスとすることができることは理解されよう。
【００３８】
[0052]アプリケーション６００は、開始情報６０２をコーディネーター６２０に送信することによってアニメーション６２４を開始することができる。一実施形態では、開始情報６０２は、１つ又は複数の初期グラフィカル表現、初期位置情報及び／又は初期サイズ情報を指定することができる。上記のように、コーディネーター６２０は、多数のオブジェクトを単一のオブジェクトに移行し、単一のオブジェクトを多数のオブジェクトに移行し、及び／又は単一のオブジェクトを別の単一のオブジェクトに移行するアニメーションを生成することができる。したがって、開始情報６０２は、多数−単一移行の場合、それぞれの位置情報及びサイズ情報とともに複数の初期グラフィカル表現を含むことができる。単一−多数又は単一−単一移行の場合、開始情報６０２は、それぞれの位置情報及びサイズ情報とともに、単一の初期グラフィカル表現を含むことができる。
【００３９】
[0053]開始情報６０２を受信すると、コーディネーター６２０は、アニメーション識別子としてグローバル識別子（ＧＩＤ）６２２を生成する。ＧＩＤ６２２は、アニメーション６２４に関連付けられ、アニメーション６２４に関連するように開始情報６０２にインデックスを付けるために用いられる。コーディネーター６２０は、開始情報６０２に応答して、アプリケーション６００にＧＩＤ６２２を与える。さらに、コーディネーター６２０は、アプリケーション６１０にもＧＩＤ６２２を与えることができる。代替的には、アプリケーション６００は、アプリケーション６００からアプリケーション６１０を開始するために用いられるオペレーティングシステム起動機構を介してアプリケーション６１０に渡されるアプリケーション起動情報にＧＩＤ６２２を入れることができる。いずれに関しても、ＧＩＤ６２２は、アプリケーション６１０によって受信されるときに、アプリケーション６００のコンテキストからアプリケーション６１０のコンテキストに視覚的に移行するためにアニメーション６２４が生じることをアプリケーション６１０に通知するように働く。
【００４０】
[0054]ＧＩＤ６２２を得ると、アプリケーション６１０は、コーディネーター６２０に終了情報６１２を送信することができる。終了情報６１２は、開始情報６０２と同様に、１つ又は複数の最終グラフィカル表現、最終位置情報及び／又は最終サイズ情報を含むことができる。アプリケーション６１０は、ＧＩＤ６２２に関連付けて終了情報６１２を送信し、コーディネーター６２０が終了情報６１２を、既にＧＩＤ６２２に関連付けられている開始情報６０２及びアニメーション６２４と関連付けることができるようにする。
【００４１】
[0055]アプリケーション６１０は、準備完了の暗黙的な指示として終了情報６１２を送信することができる。例えば、終了情報６１２を送信することによって、アプリケーション６１０は、描画されるときに、アプリケーション６１０がアニメーション６２４を捉える準備ができていることをコーディネーター６２０に通知する。したがって、アプリケーション６１０は、終了情報６１２を送信する前に、任意の始動処理を実行してユーザーインターフェース又はウインドウを表示する準備をし、アプリケーション６１０がウインドウ又はユーザーインターフェースを描画できる前に、アニメーション６２４が完了するのを防ぐことができる。
【００４２】
[0056]終了情報６１２を受信すると、コーディネーター６２０は、開始情報６０２及び終了情報６１２に少なくとも部分的に基づいて、アニメーション６２４を生成することができる。例えば、コーディネーター６２０は、開始フレームとして開始情報６０２内の初期グラフィカル表現を、終了フレームとして終了情報６１２内の最終グラフィカル表現を利用することができる。コーディネーター６２０は、図５に関連して説明されたように、初期グラフィカル表現及び最終グラフィカル表現から複数の中間フレームを生成する。コーディネーター６２０は、アニメーション６２４のフレームを順序付け、描画して、アプリケーション６００のコンテキストからアプリケーション６１０のコンテキストへの継ぎ目のない滑らかな移行を提供することができる。
【００４３】
[0057]上記のように、アニメーションの終了点であるグラフィカル表現は、限定はしないが、情報のリスト、画像、写真、クリップアート、ロゴ、テキスト、ビデオ、ウェブページ、グラフィックス、マップ、上記の組み合わせ等の種々のオブジェクトを表すことができる。例示のために、以下の非包括的及び非限定的な例は、アプリケーション間、アプリケーション内、仮想機械間、物理的機械間等のコンテキスト移行のために利用することができる幾つかのタイプのアニメーションを示す。一例では、バーコードをアニメーションのための初期グラフィカル表現とすることができ、そのアニメーションは、バーコードによって指定される製品の或る表現において終了する。例えば、バーコードは、その製品についてのウェブページ、その製品の画像、その製品に関する仕様書等に移行することができる。同様に、例えば、ウェブページ上、電子雑誌内等の企業に関連する広告又は画像が、その企業からの提供品の製品リスト、製品を購入するためのウェブページ等に移行することができる。別の例では、例えば、アドレス帳アプリケーション内、電子名刺上等の連絡先名を、写真、公開ソーシャルメディアプロファイル、場所を表す地図等のその人の別の表現にアニメーション化することができる。更に別の例では、オブジェクトの図表又は図解を折り畳まれたバージョンから開いたバージョンにアニメーション化することができる。例えば、工学設計アプリケーションは、本明細書において記述される実施形態を利用して、デバイスの設計の分解図（explosion）をアニメーション化することができる。
【００４４】
[0058]更なる例では、図７は、複数のアプリケーションの間を埋める移行アニメーションの例示的で非限定的な図であり、異種オブジェクトに関連付けられる初期グラフィカル表現及び最終グラフィカル表現を含む。図７に示されるように、アニメーションが、第１のアプリケーション、例えば、電子メールアプリケーション７００から第２のアプリケーション、例えば、地図表示アプリケーション７１０へのコンテキスト移行を視覚的に実行することができる。詳細には、そのアニメーションは、電子メールメッセージ内の住所７０２から地図７１２上の対応する場所へのコンテキスト移行を伴うことができる。電子メールアプリケーション７００からの地図表示アプリケーション７１０の起動は、図５を参照しながら先に説明されたのと同じように行うことができる。さらに、電子メールアプリケーション７００と地図表示アプリケーション７１０との間のアニメーションの調整は、上記の方法及びシステムを用いて実施することができる。
【００４５】
[0059]図７に示される例示的なアニメーションのための初期グラフィカル表現は住所７０２であり、それは見えない長方形によって囲まれたテキスト部分から構成される。最終グラフィカル表現は地図７１２であり、それは道路、交差点、建物、衛星画像等のグラフィカル画像を含む。複数のアプリケーションの間を埋めるアニメーションを生成し、制御するように構成される、コーディネーター６２０のような調整構成要素が、１つ又は複数の中間フレーム７０４を生成することができる。中間フレーム７０４は、初期グラフィカル表現及び最終グラフィカル表現の種々の複合物に基づいて、住所７０２に含まれるテキストから地図７１２に含まれるグラフィクスへのアニメーション化された変形を提供することができる。
【００４６】
[0060]更なる実施形態では、図８は、１つのアプリケーションによって開始され、複数のアプリケーションにおいて終了する、１つ又は複数のアプリケーションを調整するための例示的で非限定的な方法の流れ図を示す。８００において、１つ又は複数のアニメーションに関連付けられる開始情報が第１のアプリケーションから得られる。８１０において、アニメーション識別子が生成され、第１のアプリケーションに対して発行され、アニメーション識別子は１つ又は複数のアニメーションに関連付けられる。さらに、アニメーション識別子は、１組の行先アプリケーションに与えられる。一実施形態では、開始情報において指定される初期グラフィカル表現から別々に開始し、１組の行先アプリケーション内の１つ又は複数のアプリケーション内の終了点においてそれぞれ終了する１つ又は複数のアニメーションに対して、単一のアニメーション識別子をまとめて発行することができる。別の例では、第１のアプリケーションと１組の行先アプリケーション内の１つの行先アプリケーションとの対をそれぞれ形成するために、異なるアニメーション識別子を生成し、発行することができる。
【００４７】
[0061]８２０において、１組の行先アプリケーション内の１つ又は複数のアプリケーションからそれぞれの終了情報が受信される。終了情報は、１つ又は複数の行先アプリケーション毎の最終グラフィカル表現と、最終グラフィカル表現毎のそれぞれの位置情報及びサイズ情報とを合わせて含むことができる。８３０において、第１のアプリケーションから開始し、１組の行先アプリケーションからの１つ又は複数の行先アプリケーションにおいて終了する１つ又は複数のアニメーションが描画される。
【００４８】
[0062]図９は、１つのアプリケーションにおいて生じ、複数のアプリケーションにおいて終了する複数の移行アニメーションの例示的で非限定的な図である。図９に示されるように、アニメーションが、第１のアプリケーション、例えば、電子メールアプリケーション９００から、複数の行先アプリケーション、例えば、アドレス帳アプリケーション９１０及びブラウザープリケーション９２０へのコンテキスト移行を視覚的に実行することができる。詳細には、図９は、電子メールアプリケーション９００からアドレス帳アプリケーション９１０へのコンテキスト移行、及び電子メールアプリケーション９００からブラウザープリケーション９２０へのコンテキスト移行をそれぞれ表す複数のアニメーションを示す。電子メールアプリケーション９００とアドレス帳アプリケーション９１０との間のコンテキスト切替は、電子メールアプリケーション９００によって表示される電子メールメッセージ内に含まれる連絡先９０２、例えば、連絡先名に関連付けられるアドレス帳内のエントリを表示することを伴うことができる。さらに、電子メールアプリケーション９００とブラウザープリケーション９２０との間のコンテキスト切替は、電子メールメッセージ内の連絡先９２０を選択することから、ブラウザープリケーション９２０内の公開ソーシャルメディアプロファイルを視認する／表示することへの移行を伴うことができる。
【００４９】
[0063]図９に示される一例のアニメーションのための初期グラフィカル表現は連絡先９０２であり、それは目に見えない長方形によって囲まれるテキスト部分から構成される。アニメーションの最終グラフィカル表現は、アドレス帳アプリケーション内のアドレス帳エントリ９１２と、ブラウザープリケーション９２０内のプロファイル９２２とを含む。図９に示されるように、アドレス帳エントリ９１２は、画像及びテキストの組み合わせを含むことができる。同様に、プロファイル９２２は、テキスト、画像、ビデオ等の種々の媒体を同様に含むウェブページとすることができる。アニメーションを生成するために、構成要素のアニメーション毎に、中間フレームをそれぞれ生成することができる。例えば、中間フレーム９１４は、連絡先９０２とアドレス帳エントリ９１２との間の構成要素のアニメーションのために生成することができ、中間フレーム９２４は、連絡先９０２とプロファイル９２２との間の構成要素にアニメーションのために作成される。
【００５０】
[0064]一実施形態では、構成要素のアニメーションは一緒に、又は別々に描画することができる。例えば、ブラウザープリケーション９２０の準備ができていない場合であっても、アドレス帳アプリケーション９１０の準備ができていると、連絡先９０２とアドレス帳エントリ９１２との間のアニメーションを描画することができる。別の例では、アドレス帳アプリケーション９１０及びブラウザープリケーション９２０の両方が準備完了を報告するまで、いずれのアニメーションも開始しない。
【００５１】
[0065]図１０は、１つ又は複数の実施形態による例示的で非限定的なアニメーション調整システムのブロック図である。アニメーション調整システムは、開始アプリケーション１０００と、１組の行先アプリケーション１０１０とを含み、それらのアプリケーション間で、アニメーション化されたコンテキスト移行が行われる。また、そのシステムは、開始アプリケーション１０００と１組の行先アプリケーション１０１０との間のコンテキスト移行を表すアニメーション１０２４を生成するように構成されるコーディネーター１０２０も含むことができる。
【００５２】
[0066]開始アプリケーション１０００は、アニメーション１０２４を利用して、１組の行先アプリケーション１０１０とのコンテキスト移行を視覚化することができる。アニメーションを開始するために、開始アプリケーション１０００は、開始情報１００２をコーディネーター１０２０に送信する。開始情報１００２は、初期グラフィカル表現、初期位置情報及び／又は初期サイズ情報を含むことができる。コーディネーター１０２０は、開始情報１００２を受信すると、１つ又は複数のグローバル識別子（ＧＩＤ）１０２２を生成する。ＧＩＤ１０２２はアニメーション１０２４に関連付けられ、アニメーション１０２４に関連するように開始情報１００２にインデックスを付けるために用いられる。開始情報１００２に応答して、コーディネーター１０２０は、ＧＩＤ１０２２を開始アプリケーション１０００に与える。さらに、コーディネーター１０２０は、１組の行先アプリケーション１０１０内のアプリケーションにもＧＩＤ１０２２を与えることができる。
【００５３】
[0067]ＧＩＤ１０２２を得ると、１組の行先アプリケーション１０１０はコーディネーター１０２０に１組の終了情報を送信することができる。１組の終了情報１０１６は、１組の行先アプリケーション１０１０内の各行先アプリケーションにそれぞれ関連付けられる終了情報を含む。１組の行先アプリケーション１０１０は、行先アプリケーション１０１２及び行先アプリケーション１０１４のような１つ又は複数のアプリケーションを含むことができ、それらのアプリケーションは移行アニメーションの終了点であるグラフィカル表現を含む。図１０は、１組の行先アプリケーション１０１０内の２つの行先アプリケーションを示すが、１組の行先アプリケーション１０１０はＮ個のアプリケーションを含むことができることは理解されたい。ただし、Ｎは１以上の整数である。１組の終了情報１０１６は１組の最終グラフィカル表現、１組の最終位置情報及び／又は１組の最終位置情報を含むことができる。関連する最終位置情報及び最終サイズ情報とともに、１組の最終グラフィカル表現内の最終グラフィカル表現からなる１つのグループは、１組の行先アプリケーション１０１０内の１つの行先アプリケーションに対応することができる。
【００５４】
[0068]１組の終了情報１０１６を受信すると、コーディネーター１０２０は、開始情報１００２及び１組の終了情報１０１６に基づいてアニメーション１０２４を生成することができる。コーディネーター１０２０は、サブアニメーション、例えば、開始アプリケーション１０００と行先アプリケーションのうちの１つとの間のアニメーションを別々に描画することができるか、又は開始アプリケーション１０００と１組の行先アプリケーション１０１０との間の全てのアプリケーションを一緒に描画することができる。
【００５５】
[0069]図１１を参照すると、１つ又は複数の実施形態による例示的で非限定的なアニメーションコーディネーター１１００を示すブロック図が与えられる。図１１に示されるように、コーディネーター１１００は、アニメーション化されるコンテキスト移行にかかわる１つ又は複数のアプリケーションから、開始情報、終了情報、準備完了インジケーター等を得るように構成される入力構成要素１１０２を含むことができる。上記のように、開始情報は、初期グラフィカル表現、初期グラフィカル表現に関連付けられるオブジェクトのタイプ、グラフィカル表現の初期位置、グラフィカル表現のサイズ、アニメーション化される移行が終了する１つ又は複数の行先アプリケーションの識別、アドレス等、又はアプリケーション間でのアニメーションのグローバルレンダリングを容易にする任意の他の適切な情報を含む。同様に、終了情報は、最終グラフィカル表現、最終グラフィカル表現に関連付けられるオブジェクトのタイプ、グラフィカル表現の位置及び／又はサイズを指定する。さらに、終了情報は、特定のアニメーションに関連付けられ、終了情報を対応する開始情報に関連付けるアニメーション識別子も含むことができる。入力構成要素１１０２は、アニメーション識別子に関連付けて、開始情報及び終了情報を記憶装置１１０４に記憶することができる。
【００５６】
[0070]識別子生成構成要素１１０６が設けられ、それは新たなアニメーションに対するアニメーション識別子を生成するように構成される。例えば、アプリケーションから新たな開始情報を受信すると、コーディネーター１１００は移行アニメーションを生成し、描画するプロセスを開始する。コーディネーター１１００は、開始情報を受信するのに応答して、識別子生成構成要素１１０６を用いて、対応するアニメーション識別子を生成することができる。一実施形態では、識別子生成構成要素１１０６は、アニメーション識別子として用いられることになるグローバル識別子（ＧＩＤ）を生成する。しかしながら、ＧＩＤの代わりに、他のタイプの識別子をアニメーション識別子として利用できることは理解されたい。コーディネーター１１００は、出力構成要素１１０８を介して、生成されたアニメーション識別子を、新たな開始情報を送信したアプリケーションに与えることができる。さらに、出力構成要素１１０８は、開始情報において指定された任意の行先アプリケーションにアニメーション識別子を送信することができる。
【００５７】
[0071]開始アプリケーションから開始情報が受信され、行先アプリケーションから終了情報が受信されると、コーディネーター１１００は、受信した情報に基づいて、適切なアニメーションを作成することができる。一実施形態では、コーディネーター１１００は、アニメーションの開始フレームとして初期グラフィカル表現及び対応する位置／サイズ情報を取り込み、アニメーションの最終フレームとして最終グラフィカル表現（並びに位置及びサイズの詳細）を取り込むことができる。コーディネーター１１００は、フレーム生成構成要素１１１０を用いて、開始フレームと最終フレームとの間のアニメーションの中間フレームを作成することができる。フレーム生成構成要素１１１０は、最終グラフィカル表現及び／又は初期グラフィカル表現に関する種々の変換を実行して、初期グラフィカル表現と最終グラフィカル表現との間の移行点を示す中間グラフィカル表現を作成することができる。さらに、フレーム生成構成要素１１１０は、初期位置情報及び最終位置情報に基づいて、中間グラフィカル表現のための適切な位置情報を求めることができる。コーディネーター１１００は、生成された中間フレームを、アニメーション識別子に関連付けて記憶装置１１０４に記憶することができる。コーディネーター１１００は更に、開始フレーム、中間フレーム及び最終フレームを適切な順序及びタイミングでディスプレイ上に描画し、継ぎ目のないアニメーションを作成するように構成されるアニメーション構成要素１１１２を含む。
【００５８】
[0072]図１２は、１つ又は複数の実施形態による例示的で非限定的なアニメーション調整システムを示すブロック図である。図１２に示されるように、オペレーティングシステム１２００にアニメーション調整モジュール１２０２を組み込むことができる。オペレーティングシステム１２００は、コンピューティングシステムのハードウェア構成要素（例えば、入力デバイス、出力デバイス、メモリデバイス、記憶デバイス、処理デバイス等）を管理し、上記の開始アプリケーション及び／又は行先アプリケーションのような、コンピューティングシステム上で実行されるプログラムに共通のサービス（例えば、ランタイムライブラリ等）を提供するために、コンピューティングシステム内に設けることができる。例えば、オペレーティングシステム１２００は、複数のアプリケーションプログラムインターフェース（ＡＰＩ）を介して共通機能を拡張する、アニメーション調整モジュール１２０２のような複数のモジュールを含むことができる。オペレーティングシステム１２００は、ＡＰＩへの呼出を受信し、そのＡＰＩに関連付けられる機能又はモジュールを実行し、その呼出を開始したエンティティーに結果を返すことができる。
【００５９】
[0073]アニメーション調整モジュール１２０２は、任意のアプリケーション間で移行アニメーションをトリガーするために使用可能な第１のＡＰＩ１２０４を含むことができる。第１のＡＰＩ１２０４は、開始アプリケーションから初期情報を受信し、アニメーション識別子を返すように構成される。アニメーション調整モジュール１２０２は更に、行先アプリケーションから最終情報を受信するように構成される第２のＡＰＩを含む。アニメーション調整モジュール１２０２は、第２のＡＰＩ１２０６を介して最終情報を受信すると、移行アニメーションを生成し、そのアニメーションをディスプレイ画面に出力するように構成される。例えば、アプリケーション調整モジュール１２０２は、オペレーティングシステム１２００のディスプレイドライバー（図示せず）を用いて、ビデオレンダリングデバイス（例えば、オペレーティングシステム１２００をホスティングするコンピューティングシステム内のグラフィックスカード）にアクセスし、ビデオレンダリングデバイスに結合されるディスプレイ画面上にアニメーションを視覚的に表示することができる。
例示的なネットワーク化環境及び分散環境
[0074]本明細書において記述される移行アニメーションシステム及び方法の種々の実施形態が、コンピューターネットワークの一部として、又は分散コンピューティング環境において展開することができ、任意の種類のデータ記憶装置に接続することができる、任意のコンピューター又は他のクライアント若しくはサーバーデバイスに関連して実施できることは、当業者は理解することができる。この関連で、本明細書において記述される種々の実施形態は、任意の数のメモリ又は記憶ユニットと、任意の数の記憶ユニットに渡って行われる任意の数のアプリケーション及びプロセスとを有する、任意のコンピューターシステム及び環境において実施することができる。これは、限定はしないが、ネットワーク環境内に展開されるサーバーコンピューター及びクライアントコンピューターを有する環境、又はリモート若しくはローカル記憶装置を有する分散コンピューティング環境を含む。
【００６０】
[0075]分散コンピューティングは、コンピューティングデバイス及びシステムの間で通信を交換することによってコンピューターリソース及びサービスを共有できるようにする。これらのリソース及びサービスは、情報の交換、キャッシュ記憶、及びファイルのようなオブジェクトのためのディスク記憶を含む。また、これらのリソース及びサービスは、負荷分散、リソースの拡大、処理の特殊化等のために複数の処理ユニットに渡って処理能力を共有することも含む。分散コンピューティングはネットワーク接続性を利用し、それにより、クライアントが総合力（collective power）を活用して、企業全体に利益を与えることができるようにする。この関連で、種々のデバイスが、主題の開示の種々の実施形態に場合に説明されたようなリソース管理機構に関与することができるアプリケーション、オブジェクト又はリソースを有することができる。
【００６１】
[0076]図１３は、例示的なネットワーク化環境又は分散コンピューティング環境の概略図を与える。分散コンピューティング環境は、コンピューティングオブジェクト１３１０、１３１２等と、コンピューティングオブジェクト又はデバイス１３２０、１３２２、１３２４、１３２６、１３２８等とを備えており、それらのコンピューティングオブジェクトは、アプリケーション１３３０、１３３２、１３３４、１３３６、１３３８によって表されるような、プログラム、方法、データ記憶装置、プログラマブルロジック等を含むことができる。コンピューティングオブジェクト１３１０、１３１２等、及びコンピューティングオブジェクト又はデバイス１３２０、１３２２、１３２４、１３２６、１３２８等は、携帯情報端末（ＰＤＡ）、オーディオ／ビデオデバイス、移動電話、ＭＰ３プレーヤー、パーソナルコンピューター、ラップトップ等の種々のデバイスを含むことができる。
【００６２】
[0077]各コンピューティングオブジェクト１３１０、１３１２等、及びコンピューティングオブジェクト又はデバイス１３２０、１３２２、１３２４、１３２６、１３２８等は、通信ネットワーク１３４０を介して、直接的又は間接的に、１つ又は複数の他のコンピューティングオブジェクト１３１０、１３１２等、及びコンピューティングオブジェクト又はデバイス１３２０、１３２２、１３２４、１３２６、１３２８等と通信することができる。図１３において単一の要素として示される場合であっても、通信ネットワーク１３４０は、図１３のシステムにサービスを提供する他のコンピューティングオブジェクト及びコンピューティングデバイスを含む場合があり、及び／又は図示されない相互接続された複数のネットワークを表す場合もある。また、各コンピューティングオブジェクト１３１０、１３１２等、及びコンピューティングオブジェクト又はデバイス１３２０、１３２２、１３２４、１３２６、１３２８等は、主題の開示の種々の実施形態に従って提供されるアプリケーションテスト技法と通信するか、又はアプリケーションテスト技法を実施するのに適している、ＡＰＩ、又は他のオブジェクト、ソフトウェア、ファームウェア及び／又はハードウェアを使用する場合がある、アプリケーション１３３０、１３３２、１３３４、１３３６、１３３８のようなアプリケーションも含むこともできる。
【００６３】
[0078]分散コンピューティング環境をサポートする種々のシステム、構成要素及びネットワーク構成がある。例えば、コンピューティングシステムは、有線又は無線システムによって、ローカルネットワークによって、又は広域分散ネットワークによって互いに接続することができる。現在、数多くのネットワークがインターネットに結合されており、インターネットは、広域分散コンピューティング（widely distributed computing）のためのインフラストラクチャーを提供し、数多くの異なるネットワークを包含するが、種々の実施形態において記述されるようなシステムに付随して行われる例示的な通信のために、任意のネットワークインフラストラクチャーを用いることができる。
【００６４】
[0079]したがって、クライアント／サーバー、ピアツーピア又はハイブリッドアーキテクチャーのような多数のネットワークトポロジー及びネットワークインフラストラクチャーを利用することができる。「クライアント」は、関連しない別のクラス又はグループのサービスを使用するクラス又はグループのメンバーである。クライアントは、別のプログラム又はプロセスによって提供されるサービスを要求するプロセス、すなわち、概ね１組の命令又はタスクとすることができる。クライアントプロセスは、要求されたサービスを利用するが、他のプログラム又はサービス自体についての如何なる作業の細部も「知る」必要はない。
【００６５】
[0080]クライアント／サーバーアーキテクチャー、特にネットワーク化されたシステムでは、クライアントは通常、別のコンピューター、例えば、サーバーによって提供される共有ネットワークリソースにアクセスするコンピューターである。図１３の例示では、非限定的な例として、コンピューティングオブジェクト又はデバイス１３２０、１３２２、１３２４、１３２６、１３２８等はクライアントと考えることができ、コンピューティングオブジェクト１３１０、１３１２等はサーバーと考えることができ、コンピューティングオブジェクト１３１０、１３１２等は、クライアントコンピューティングオブジェクト又はデバイス１３２０、１３２２、１３２４、１３２６、１３２８等からデータを受信すること、データを記憶すること、データを処理すること、クライアントコンピューティングオブジェクト又はデバイス１３２０、１３２２、１３２４、１３２６、１３２８等にデータを送信すること等のデータサービスを提供するサーバーとしての役割を果たすが、状況によって、任意のコンピューターをクライアント、サーバー又はその両方と見なすことができる。
【００６６】
[0081]サーバーは通常、インターネット又は無線ネットワークアーキテクチャーのような、リモート又はローカルネットワークを介してアクセス可能なリモートコンピューターシステムである。クライアントは、第１のコンピューターシステムにおいてアクティブである場合があり、サーバーは第２のコンピューターシステムにおいてアクティブである場合があり、通信媒体を介して互いに通信し、それにより、分散機能を提供し、かつ複数のクライアントがサーバーの情報収集能力を利用できるようにする。
【００６７】
[0082]例えば、通信ネットワーク１３４０又はバスがインターネットであるネットワーク環境では、コンピューティングオブジェクト１３１０、１３１２等はウェブサーバーとすることができ、他のコンピューティングオブジェクト又はデバイス１３２０、１３２２、１３２４、１３２６、１３２８等は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）のような幾つかの既知のプロトコルのいずれかを介して、コンピューティングオブジェクト１３１０、１３１２等と通信する。サーバーとしての役割を果たすコンピューティングオブジェクト１３１０、１３１２等は、分散コンピューティング環境において特徴的あるように、クライアント、例えば、コンピューティングオブジェクト又はデバイス１３２０、１３２２、１３２４、１３２６、１３２８等としての役割を果たす場合もある。
例示的なコンピューティングデバイス
[0083]上記のように、都合の良いことに、本明細書において記述される技法は、コンピューティングシステム内の複数の任意のアプリケーション又はプロセス間のコンテキスト移行を視覚的に表すアニメーションを作成することが望ましい任意のデバイスに適用することができる。それゆえ、種々の実施形態に関連して、すなわち、アニメーションが継ぎ目のないコンテキスト移行を実施することができるいずれかの場所において用いるために、全ての種類のハンドヘルド、ポータブル並びに他のコンピューティングデバイス及びコンピューティングオブジェクトが考えられると理解することができる。したがって、図１４において後に説明される汎用リモートコンピューターは、コンピューティングデバイスの一例にすぎない。
【００６８】
[0084]実施形態は、デバイス又はオブジェクトのためのサービスの開発者が使用するために、オペレーティングシステムを介して部分的に実施することができ、及び／又は本明細書において記述される種々の実施形態の１つ又は複数の機能的態様を実行するように動作するアプリケーションソフトウェア内に含むことができる。ソフトウェアは、クライアントワークステーション、サーバー及び他のデバイスのような１つ又は複数のコンピューターによって実行される、プログラムモジュールのような一般的な状況のコンピューター実行可能命令において記述される場合がある。コンピューターシステムが、データを通信するために用いることができる種々の構成及びプロトコルを有すること、それゆえ、特定の構成又はプロトコルが限定するものと見なされないことは当業者には理解されよう。
【００６９】
[0085]図１４は、本明細書において記述される実施形態の１つ又は複数の態様を実施することができる適切なコンピューティングシステム環境１４００の一例を示すが、上記から明らかになるように、コンピューティングシステム環境１４００は適切なコンピューティング環境の一例にすぎず、使用又は機能の範囲に関して如何なる制限も示唆することは意図していない。さらに、コンピューティングシステム環境１４００は、例示的なコンピューティングシステム環境１４００において示される構成要素のいずれか１つ又は組み合わせに関連する依存性を有すると解釈されることは意図してない。
【００７０】
[0086]図１４を参照すると、１つ又は複数の実施形態を実施するための例示的なリモートデバイスが、コンピューター１４１０の形の汎用コンピューティングデバイスを含む。コンピューター１４１０の構成要素は、限定はしないが、処理ユニット１４２０、システムメモリ１４３０及びシステムバス１４２２を含むことができ、システムバスは、システムメモリを含む種々のシステム構成要素を処理ユニット１４２０に結合する。
【００７１】
[0087]コンピューター１４１０は通常、種々のコンピューター可読媒体を含み、コンピューター１４１０によってアクセスすることができる任意の利用可能な媒体とすることができる。システムメモリ１４３０は、リードオンリーメモリ（ＲＯＭ）及び／又はランダムアクセスメモリ（ＲＡＭ）のような揮発性今不揮発性メモリの形のコンピューター記憶媒体を含むことができる。一例として、限定はしないが、システムメモリ１４３０は、オペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール及びプログラムデータも含むことができる。更なる例によれば、コンピューター１４１０は種々の他の媒体（図示せず）も含むことができ、それらの媒体は、限定はしないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）若しくは他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、又は所望の情報を記憶するために用いることができる他の有形及び／又は非一時的媒体を含むことができる。
【００７２】
[0088]ユーザーは入力デバイス１４４０を通してコンピューター１４１０にコマンド及び情報を入力することができる。出力インターフェース１４５０のようなインターフェースを介して、システムバス１４２２にモニター又は他のタイプのディスプレイデバイスも接続される。モニターに加えて、コンピューターは、出力インターフェース１４５０を通して接続される場合がある、スピーカー及びプリンターのような他の周辺出力デバイスも含むことができる。
【００７３】
[0089]コンピューター１４１０は、リモートコンピューター１４７０のような１つ又は複数の他のリモートコンピューターへの論理接続を用いて、ネットワーク化環境又は分散環境において動作することができる。リモートコンピューター１４７０は、パーソナルコンピューター、サーバー、ルーター、ネットワークＰＣ、ピアデバイス若しくは他の共通ネットワークノード、又は任意の他のリモート媒体消費若しくは伝送デバイスとすることができ、コンピューター１４１０に対して先に説明されたありとあらゆる要素を含むことができる。図１４に示される論理接続は、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）のようなネットワーク１４７２を含むが、他のネットワーク／バスを含むこともできる。そのようなネットワーキング環境は、家、事務所、企業規模のコンピューターネットワーク、イントラネット及びインターネットにおいて一般的である。
【００７４】
[0090]上記のように、種々のコンピューティングデバイス及びネットワークアーキテクチャーに関連して例示的な実施形態が説明されてきたが、根底を成す概念は、リソース使用効率を改善することが望ましい任意のネットワークシステム及び任意のコンピューティングデバイス又はシステムに適用することができる。
【００７５】
[0091]また、同じ、又は類似の機能を実施する複数の方法、例えば、適切なＡＰＩ、ツールキット、ドライバーコード、オペレーティングシステム、制御、スタンドアロン又はダウンロード可能ソフトウェアオブジェクト等があり、それらの方法によって、アプリケーション及びサービスが本明細書において提供される技法を利用できるようになる。したがって、本明細書における実施形態は、ＡＰＩ（又は他のソフトウェアオブジェクト）の観点から、更には本明細書において記述されるような１つ又は複数の実施形態を実施するソフトウェア又はハードウェアオブジェクトの観点から考えられる。したがって、本明細書において記述される種々の実施形態は、全体としてハードウェアである態様、部分的にハードウェア、部分的にソフトウェアである態様、及びソフトウェアである態様を有することができる。
【００７６】
[0092]本明細書において用語「例示的な」は、例、事例又は実例としての役割を果たすことを意味する。誤解を避けるために言うと、本明細書において開示される主題は、そのような例によって制限されない。さらに、本明細書において「例示的」として記述される任意の態様及び設計は必ずしも他の態様又は設計よりも好ましいか、又は好都合であると解釈されるべきではなく、当業者に既知である同等の例示的な構造及び技法を排除することも意図していない。さらに、用語「含む（includes）」、「有する（has）」、「包含する（contains）」及び他の類似の用語が使用される限りにおいて、誤解を避けるために言うと、そのような用語は、請求項において用いられるときに任意の更なる、又は他の要素を排除しない開かれた移行語としての用語「備える（comprising）」と同じように包含的であることを意図している。
【００７７】
[0093]上記のように、本明細書において記述される種々の技法は、ハードウェア若しくはソフトウェアに、又は適切な場合には、その両方の組み合わせに関連して実施することができる。本明細書において用いられるときに、用語「構成要素」、「モジュール」、「システム」等は同様に、コンピューター関連エンティティー、すなわち、ハードウェア、ハードウェア及びソフトウェアの組み合わせ、ソフトウェア、実行中のソフトウェアのいずれかを指すことを意図している。例えば、構成要素は、限定はしないが、プロセッサー上で実行中のプロセス、オブジェクト、実行ファイル、実行のスレッド、プログラム及び／又はコンピューターとすることができる。例示として、コンピューター上で実行中のアプリケーション及びコンピューターはいずれも構成要素とすることができる。１つ又は複数の構成要素は、プロセス及び／又は実行のスレッド内に存在する場合があり、或る構成要素は、１つのコンピューター上にローカルに配置される場合があり、及び／又は２つ以上のコンピューター間に分散する場合がある。
【００７８】
[0094]上記のシステムは、幾つかの構成要素間のやりとりに関して説明されてきた。そのようなシステム及び構成要素は、それらの構成要素又は指定された下位構成要素、指定された構成要素若しくは下位構成要素のうちの幾つか、及び／又は更なる構成要素、及び上記の置換及び組み合わせを含むことができると理解することができる。下位構成要素は、親構成要素内に（階層的）含まれるのではなく、他の構成要素に通信可能に結合される構成要素として実現することもできる。さらに、１つ又は複数の構成要素は、組み合わせて集約した機能を提供する単一の構成要素にすることができるか、又は幾つかの別々の下位構成要素に分割することができること、及び統合された機能を提供するために、そのような下位構成要素に通信可能に結合するように調整層のような任意の１つ又は複数の中間層を設けることができることに留意することができる。本明細書において記述される任意の構成要素は、本明細書において具体的には示されないが、当業者によって一般的に知られている１つ又は複数の他の構成要素ともやりとりすることができる。
【００７９】
[0095]上記の例示的なシステムに関して、記述された主題に従って実施することができる方法は、種々の図の流れ図を参照しながら理解することもできる。説明を簡単にするために、それらの方法は一連のブロックとして図示及び説明されるが、幾つかのブロックは本明細書において図示及び説明されるのとは異なる順序において、及び／又は他のブロックと同時に行われる場合があるので、種々の実施形態はそれらのブロックの順序によって制限されないことは理解及び認識されたい。非順次、すなわち、分岐したブロックが流れ図によって示される場合、同じ、又は類似の結果を達成する、それらのブロックの種々の他の分岐、流れの経路及び順序を実施できると理解することができる。さらに、以下に記述される方法を実施する際に、幾つかの図示されるブロックはオプションである。
【００８０】
[0096]本明細書において記述される種々の実施形態に加えて、それらの実施形態から逸脱することなく、対応する１つ又は複数の実施形態の同じ、又は同等の機能を実行するために、他の類似の実施形態を用いることができるか、又は記述された１つ又は複数の実施形態に対して変更を加えるか、若しくは追加できることは理解されたい。さらに、複数の処理チップ又は複数の処理デバイスが、本明細書において記述される１つ又は複数の機能の実行を分担することができ、同様に、記憶は複数のデバイスに渡って実施することができる。したがって、本発明は、任意のただ１つの実施形態には限定されず、添付の特許請求の範囲による広さ、精神及び範囲において解釈されるべきである。
【図１】
2014507698.tif 000003
【図２】
2014507698.tif 000004
【図３】
2014507698.tif 000005
【図４】
2014507698.tif 000006
【図５】
2014507698.tif 000007
【図６】
2014507698.tif 000008
【図７】
2014507698.tif 000009
【図８】
2014507698.tif 000010
【図９】
2014507698.tif 000011
【図１０】
2014507698.tif 000012
【図１１】
2014507698.tif 000013
【図１２】
2014507698.tif 000014
【図１３】
2014507698.tif 000015
【図１４】
2014507698.tif 000016
【国際調査報告】
2014507698.tif 000017
2014507698.tif 000018