(57)【要約】  ビデオ又はアニメーション生成プログラム等のグラフィックリッチなアプリケーションの出力を表示先のディスプレイシステムへリダイレクトするための１つ又は複数の手法及び／又はシステムが開示される。（例えば動的に）生成されているコンテンツは、当該コンテンツの描画呼出しをインターセプトすることによって、ネイティブ画像処理装置（ＧＰＵ）の描画抽象化レイヤーへ描画を行っているグラフィックリッチコンテンツ生成アプリケーションからインターセプトされる。インターセプトされたコンテンツ（第１のコンテンツ）は、表面同期機能を備えたネイティブＧＰＵの抽象化レイヤーへリダイレクトされる。ネイティブＧＰＵの表面同期抽象化レイヤーを利用して、当該インターセプトされたコンテンツは、第２のグラフィックコンテンツ（例えば予め生成されたコンテンツ）を描画している出力表面と同期される。【選択図】図１
2013528875.tif 000002
【特許請求の範囲】
【請求項１】
グラフィックリッチなアプリケーションの出力を表示先のディスプレイシステムへリダイレクトするためのコンピューターベースの方法であって、
コンピューターベースのプロセッサーを用いて、ネイティブ画像処理装置（ＧＰＵ）の描画抽象化レイヤーへ描画を行うグラフィックリッチコンテンツ生成アプリケーションからの第１のコンテンツを、描画呼出しをインターセプトすることによってインターセプトするステップと、
前記インターセプトされたコンテンツをネイティブＧＰＵの表面同期抽象化レイヤーへリダイレクトするステップと、
前記ネイティブＧＰＵの表面同期抽象化レイヤーを用いて、前記インターセプトされたコンテンツを、第２のグラフィックコンテンツを描画する出力表面と同期させるステップと、
を含む方法。
【請求項２】
前記第１のコンテンツをインターセプトし前記第１のコンテンツを前記ネイティブＧＰＵの表面同期抽象化レイヤーへリダイレクトするための、リダイレクトフレームワークユーティリティを呼び出すステップを含む、請求項１に記載の方法。
【請求項３】
前記グラフィックリッチコンテンツ生成アプリケーションから前記ネイティブＧＰＵの描画抽象化レイヤーへの前記描画呼出しをインターセプトするステップを含む、請求項１に記載の方法。
【請求項４】
グラフィックリッチコンテンツ生成アプリケーションからの第１のコンテンツをインターセプトする前記ステップは、前記ネイティブＧＰＵの描画抽象化レイヤーの表面へ描画を行う前記グラフィックリッチコンテンツ生成アプリケーションからの前記第１のコンテンツをインターセプトするステップを含む、請求項１に記載の方法。
【請求項５】
前記グラフィックリッチコンテンツ生成アプリケーションから前記ネイティブＧＰＵの描画抽象化レイヤーへの描画呼出しをインターセプトするステップを含む、前記第１のコンテンツをインターセプトするステップと、
前記描画呼出しに紐付いた前記第１のコンテンツを前記ネイティブＧＰＵの表面同期抽象化レイヤーへリダイレクトするステップと、
を含む、請求項１に記載の方法。
【請求項６】
前記インターセプトされたコンテンツを前記ネイティブＧＰＵの表面同期抽象化レイヤーへリダイレクトする前記ステップは、前記インターセプトされたコンテンツを前記ネイティブＧＰＵの表面同期抽象化レイヤーの表面へリダイレクトするステップを含む、請求項１に記載の方法。
【請求項７】
前記インターセプトされたコンテンツを出力表面と同期させる前記ステップは、前記ネイティブＧＰＵの表面同期抽象化レイヤーの表面を別のプロセスと共有する、前記ネイティブＧＰＵの表面同期抽象化レイヤーの同期表面共有機能を利用するステップを含む、請求項１に記載の方法。
【請求項８】
前記グラフィックリッチコンテンツ生成アプリケーションのために、前記出力表面によって描画される前記第２のコンテンツと動的に同期させるための前記第１のコンテンツを生成するステップを含む、請求項１に記載の方法。
【請求項９】
グラフィックリッチなアプリケーションの出力を表示先のディスプレイシステムへリダイレクトするためのシステムであって、
ネイティブ画像処理装置（ＧＰＵ）の描画抽象化レイヤーへ描画を行うグラフィックリッチコンテンツ生成アプリケーションからの第１のコンテンツを、描画呼出しをインターセプトすることによってインターセプトするように構成されたコンテンツインターセプトコンポーネントと、
前記コンテンツインターセプトコンポーネントと動作可能に結合され、前記インターセプトされたコンテンツをネイティブＧＰＵの表面同期抽象化レイヤーへリダイレクトするように構成されたリダイレクトコンポーネントと、
前記リダイレクトコンポーネントと動作可能に結合され、前記ネイティブＧＰＵの表面同期抽象化レイヤーを用いて、前記インターセプトされたコンテンツを、第２のグラフィックコンテンツを描画する出力表面と同期させるように構成された同期コンポーネントと、
を含むシステム。
【請求項１０】
前記第１のコンテンツをインターセプトし前記第１のコンテンツを前記ネイティブＧＰＵの表面同期抽象化レイヤーへリダイレクトするように構成されたリダイレクトフレームワークユーティリティを含む、請求項９に記載のシステム。
【請求項１１】
前記第１のコンテンツをインターセプトするために前記グラフィックリッチコンテンツ生成アプリケーションから前記ネイティブＧＰＵの描画抽象化レイヤーへの描画呼出しをインターセプトし、
前記描画呼出しに紐付いた前記第１のコンテンツを前記ネイティブＧＰＵの表面同期抽象化レイヤーへリダイレクトする
ように構成されたＤＬＬオブジェクトを含む、請求項９に記載のシステム。
【請求項１２】
前記出力表面が前記第２のグラフィックコンテンツを描画する出力ディスプレイコンポーネントを含む、請求項９に記載のシステム。
【請求項１３】
前記ネイティブＧＰＵの描画抽象化レイヤーへ描画を行う前記グラフィックリッチコンテンツ生成アプリケーションは、前記第２のグラフィックコンテンツとの動的な同期のためのグラフィックリッチなコンテンツを動的に生成するように構成されたアプリケーションを含む、請求項９に記載のシステム。
【請求項１４】
前記第２のグラフィックコンテンツは、前記出力表面からディスプレイへ描画される予め生成されたコンテンツを含み、
前記第１のグラフィックコンテンツは、前記第２のグラフィックコンテンツと同期される動的に生成されたグラフィックリッチなコンテンツを含む、
請求項９に記載のシステム。
【請求項１５】
前記ネイティブＧＰＵの表面同期抽象化レイヤーは、プロセス境界を越えて第１のグラフィック表面を第２のグラフィック表面と共有するように構成される、請求項９に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  ビデオやアニメーション画像等のグラフィカルコンテンツは、様々なディスプレイに表示されることが可能である。例えば、典型的なコンピューターユーザーは、ビデオ又は他のグラフィカルコンテンツをモニターディスプレイ上で見ることができる。別の例として、グラフィカルコンテンツは、当該コンテンツを作成及び編集することによって予め生成され、記憶媒体（例えば、ディスク、メモリ、テープ、フラッシュドライブ等）に格納され、次いで再生デバイス（例えば、コンピューターのマルチメディアプログラム、ビデオ再生デバイス等）を用いて再生されることが可能である。携帯型のマルチメディアデバイスのような小型ディスプレイ向けのグラフィックリッチなコンテンツを生成し再生することは、多くの場合、電子看板のような大型ディスプレイ向けのものとはまるで異なっている。グラフィカルコンテンツは多くの場合、画素及びフレームレートに基づいて生成されるので、小型ディスプレイにおけるのと同じ映像クオリティー（例えば、コンテンツの滑らかさや画像のシャープさ）を大型ディスプレイにおいて達成することは、困難であることがある。
【発明の概要】
【０００２】
[0002]  この概要は、以下の詳細な説明において更に説明される概念から選び出したものを、単純化した形で紹介すべく提供されるものである。この概要は、特許請求の範囲に記載された対象の主要な又は本質的な特徴を特定することを意図しておらず、また、特許請求の範囲に記載された対象の範囲を限定するために用いられることも意図していない。
【０００３】
[0003]  大型ディスプレイ用等のデジタル投射システムが、グラフィックリッチなデジタルコンテンツを（例えば電子看板又は電子標識上に）表示するために用いられることが可能である。典型的に、コンテンツの生成と編集は、生成されたコンテンツの再生とは別に実施される。即ち、大型ディスプレイ向けのグラフィックリッチなコンテンツを動的に生成するのは困難であるので、コンテンツは通常予め記録されている。例えば、コンテンツは記録されて、当該コンテンツをディスプレイに描画する再生エンジンによって再生される。これらの観点を分離する１つの理由は、グラフィックリッチなデジタルコンテンツの望ましいフレームレートを描画することに関する、ディスプレイシステムの粗末な性能によるものである。
【０００４】
[0004]  アプリケーションは、大型ディスプレイに利用されるグラフィックリッチなコンテンツを生成することが可能であるかもしれない。しかしながら、ディスプレイシステムは、典型的には、そのコンテンツをそれが生成されるのと同じ速さで描画することが不可能である。一例として、ディスプレイシステムによって描画されるコンテンツのフレームとフレームの間において、アプリケーションは、結局のところ表示されずに終わるより多くのコンテンツを生成することが可能であるが、その結果、ちらついたアニメーションが生じることになる。グラフィックリッチな付加コンテンツを、表示されている既存のグラフィカルコンテンツに挿入したいと思う人がいるかもしれない。しかしながら、予め生成されたコンテンツをグラフィックリッチなコンテンツで更新することは、例えば現在のディスプレイシステムの制約により、特に大型ディスプレイに対しては、上手く機能しない。
【０００５】
[0005]  したがって、動的に生成されたグラフィックリッチなデジタルコンテンツをキャプチャーして、予め記録された表示中のコンテンツに挿入することを提供する、１つ又は複数の手法、及び／又はシステムが開示される。即ち、例えば、ユーザーは新たなグラフィックリッチなコンテンツを生成することができ、当該グラフィックリッチなコンテンツは、キャプチャーされて、大型ディスプレイ上に表示されている予め生成されたコンテンツに比較的シームレスに統合されることが可能である。このようにして、例えば予め記録されたビデオコンテンツを表示している電子看板は、動的に（オンザフライで）作成されたグラフィックリッチなコンテンツで直ちに更新されることができ、例えば、表示されたコンテンツが、ちらついたフレームレートによって損なわれることがないようにされる。
【０００６】
[0006]  グラフィックリッチなアプリケーションの出力を表示先のディスプレイシステムにリダイレクトするための１つの実施態様において、ネイティブの画像処理装置（ＧＰＵ）の描画抽象化レイヤーへ描画を行っているグラフィックリッチコンテンツ生成アプリケーションから動的に生成されたコンテンツは、当該アプリケーションから当該抽象化レイヤーへ等の描画呼出しをインターセプトすることによって、インターセプトされる。このインターセプトされたコンテンツ（第１のコンテンツ）は、当該抽象化レイヤーの表面（例えば、グラフィック描画情報を有するメモリ領域）等の、ネイティブＧＰＵの表面同期抽象化レイヤーへリダイレクトされる。当該インターセプトされたコンテンツは、ネイティブＧＰＵの表面同期抽象化レイヤーを用いて、第２のグラフィックコンテンツ（例えば予め生成されたコンテンツ）をディスプレイに紐付いたＧＰＵ等へ描画している出力表面と、プロセス境界を越えて同期される。
【０００７】
[0007]  前述の及び関連する目的を達成するために、以下の説明及び添付の図面が、ある例証的な観点と実施を記載する。それらは、１つ又は複数の観点が利用されることができる様々な手法のうちのいくつかを示すに過ぎない。本開示に係る他の観点、優位性、及び新規な特徴は、添付の図面と共に考慮された時に、以下の詳細な説明から明らかとなるだろう。
【図面の簡単な説明】
【０００８】
【図１】図１は、グラフィックリッチなアプリケーションの出力を表示先のディスプレイシステムにリダイレクトするための例示的方法のフロー図である。
【図２】図２は、グラフィックリッチなアプリケーションの出力を表示先のディスプレイシステムにリダイレクトするための１つ又は複数の方法を実施する例示的な実施態様を示す図である。
【図３】図３は、グラフィックリッチなアプリケーションの出力を表示先のディスプレイシステムにリダイレクトするための１つ又は複数の方法のうちの１つの実施態様を示すフロー図である。
【図４】図４は、グラフィックリッチなアプリケーションの出力を表示先のディスプレイシステムにリダイレクトするためのシステムのコンポーネント図である。
【図５】図５は、本明細書において説明される１つ又は複数のシステムを実施する１つの実施態様を示すコンポーネント図である。
【図６】図６は、本明細書に記載される規定の１つ又は複数を具現化するように構成されたプロセッサー実行可能命令を備えた例示的なコンピューター読み取り可能媒体の説明図である。
【図７】図７は、本明細書に記載される規定の１つ又は複数が実現されることができる例示的なコンピューティング環境を示す。
【発明を実施するための形態】
【０００９】
[0015]  これより、特許請求の範囲に記載された対象が図面を参照して説明され、図面において、全体を通して同様の要素を参照するために同様の符号が使用される。以下の説明において、特許請求の範囲に記載された対象の完全な理解を提供するために、多数の具体的な詳細が解説の目的で記載される。しかしながら、特許請求の範囲に記載された対象はそれらの具体的な詳細を用いずに実施されることができる、ということは明白と言えよう。他の例において、特許請求の範囲に記載された対象を説明するのを容易にするために、ブロック図の形で構成及びデバイスが示される。
【００１０】
[0016]  典型的に、グラフィックリッチなデジタルコンテンツを表示するのに用いられるデジタル投射システムは、特にディスプレイが大型デジタルディスプレイである場合、編集部分と再生部分を分離する。即ち、例えば、グラフィックリッチなデジタルコンテンツを大型ディスプレイ（例えば電子看板）上に表示する場合、当該コンテンツは、予め編集され、記録されて、その後、再生エンジンが、表示のため当該コンテンツを画像処理装置（ＧＰＵ）に描画する。これらの観点を分離する１つの理由は、グラフィックリッチなデジタルコンテンツの望ましいフレームレートを描画することに関する、ディスプレイシステムの粗末な性能によるものである。
【００１１】
[0017]  例えば、アプリケーションは、ディスプレイシステムがコンテンツを描画するよりも速くグラフィックリッチなコンテンツを生成することが可能である。即ち、一例として、アプリケーションはコンテンツを生成し、ディスプレイシステムは、表示のため当該生成されたコンテンツのスナップショットをとり、次いで、それをディスプレイデバイス（例えばスクリーン）に対して処理するためにＧＰＵへ送る。このディスプレイシステムは、当該生成されたコンテンツの別のスナップショットをとって、それを表示する。しかしながら、この例において、１回目のスナップショットと２回目のスナップショットの時間の間に、アプリケーションは、考慮されないより多くのコンテンツを生成するが、その結果、例えばちらついたアニメーションが生じることになる。
【００１２】
[0018]  しばしば人は、グラフィックリッチな付加コンテンツを、表示されている既存のグラフィカルコンテンツに挿入したいと思うかもしれない。しかしながら、例えば上述された制約により、特に大型ディスプレイに対しては、これは上手く機能しない。動的に生成されたグラフィックリッチなデジタルコンテンツをキャプチャーして、そのコンテンツを予め記録された表示中のコンテンツに挿入することを提供する方法が、発明されることができる。
【００１３】
[0019]  図１は、グラフィックリッチなアプリケーションの出力を表示先のディスプレイシステムにリダイレクトするための例示的方法１００のフロー図である。この例示的方法１００は、１０２において開始し、１０４において、ネイティブの画像処理装置（ＧＰＵ）の描画抽象化レイヤーへ描画を行っているグラフィックリッチコンテンツ生成アプリケーションからの第１のコンテンツをインターセプトするために、描画呼出しをインターセプトすることを伴う。１つの実施態様において、デジタルアニメーションを表示するプログラム等のグラフィカルフレームワークをベースにしたアプリケーション（例えばＷｉｎｄｏｗｓ（登録商標）  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｆｏｕｎｄａｔｉｏｎ（ＷＰＦ））は、（例えば１つ又は複数のアプリケーションプログラミングインターフェース（ＡＰＩ）を含む）ＧＰＵの抽象化レイヤー等のインターフェースを通じて、グラフィックハードウェア（例えば、グラフィックプロセッサー、ＧＰＵ）にアニメーションを描画することができる。
【００１４】
[0020]  一例として、（例えばアプリケーションを実行しているマシンに固有な）ネイティブＧＰＵの抽象化レイヤーは、結合ディスプレイスクリーン（例えばモニター）上にグラフィックを描画することを試みるアプリケーションに、ＧＰＵへのインターフェースを提供することが可能である。この例において、ＷＰＦベースのアプリケーションは、グラフィックリッチなアニメーションをディスプレイに描画することができ、その際に、ＧＰＵの抽象化レイヤー（例えば、ＤｉｒｅｃｔＸ（登録商標）  ＡＰＩ、又はＯｐｅｎＧＬ  ＡＰＩ）に対して描画呼出しを行うことができる。更に、グラフィックリッチなコンテンツを生成するアプリケーションからＧＰＵへの描画は、当該コンテンツをＧＰＵの抽象化レイヤーの表面へ送ることによって実行されることが可能である。ＧＰＵの抽象化レイヤーの表面は、当該コンテンツを描画するためのグラフィックに関する情報（例えば、２Ｄ又は３Ｄアニメーションを形作るテクスチャー化メッシュに関する情報）を有するメモリ領域である。
【００１５】
[0021]  この実施態様において、ＧＰＵの抽象化レイヤーの表面へ送られるコンテンツをインターセプトするために、描画呼出しがインターセプトされることが可能である。１つの実施態様において、上記第１のコンテンツをインターセプトして当該第１のコンテンツをネイティブＧＰＵの表面同期抽象化レイヤーへリダイレクトする、リダイレクトフレームワークユーティリティが（例えば、ユーザー又は自動化プロセスによって）呼び出されることが可能である。この実施態様において、当該リダイレクトフレームワークユーティリティは、プロセス、実行可能ファイル、ＤＬＬオブジェクト、又は、ＧＰＵの表面同期抽象化レイヤーへリダイレクトされるコンテンツをインターセプトする何らかのプロセスを含むことができる。
【００１６】
[0022]  図１の例示的方法１００の１０６において、インターセプトされたコンテンツは、ネイティブＧＰＵの表面同期抽象化レイヤーへリダイレクトされる。１つの実施態様において、ネイティブＧＰＵの表面同期抽象化レイヤーは、ＧＰＵの抽象化レイヤーに異なるプロセスにわたって共有される表面を提供することが可能であるＧＰＵインターフェースを備える。即ち、例えば、第１のプロセスが第１のコンテンツを第１のＧＰＵへ描画し、第２のプロセスが第２のコンテンツを第２のＧＰＵへ描画することができる。ＧＰＵの表面同期抽象化レイヤーは、例えば、当該第１のコンテンツを当該第２のＧＰＵと共有することをもたらすことが可能である。
【００１７】
[0023]  １０８において、上記のインターセプトされたコンテンツは、ネイティブＧＰＵの表面同期抽象化レイヤーを利用して、第２のグラフィックコンテンツを描画している出力表面と同期される。例えば、ＧＰＵの表面同期抽象化レイヤーは、上記の異なるプロセス間における第１の表面と第２の表面を同期させることが可能である。この実施態様において、ネイティブＧＰＵの表面同期抽象化レイヤーの表面は、上記第２のグラフィックコンテンツのための出力表面の表面と同期される。このようにして、例えば、アプリケーションによって生成されるグラフィックリッチな第１のコンテンツが、既に出力に描画されている第２のコンテンツの中へ挿入されることが可能である。一例として、アプリケーションは、別のアプリケーションによって作成された描画メッシュを、既に表示されているコンテンツ（例えば、ディスプレイスクリーン上で再生されている予め記録されたコンテンツ）の中へ挿入することが可能である。
【００１８】
[0024]  インターセプトされたコンテンツを出力表面と同期させ、それによって、例えば動的に生成されたコンテンツが予め記録されたコンテンツの中へ挿入されることをもたらすと、例示的方法１００は１１０において終了する。
【００１９】
[0025]  図２は、グラフィックリッチなアプリケーションの出力を表示先のディスプレイシステムにリダイレクトするための１つ又は複数の方法及び／又はシステムを実施する例示的な実施態様２００を示す図である。図３は、グラフィックリッチなアプリケーションの出力を表示先のディスプレイシステムにリダイレクトするための１つ又は複数の方法のうちの１つの実施態様３００を示すフロー図であり、図２を参照してより詳細に議論される。
【００２０】
[0026]  図２において、グラフィックリッチなアプリケーション２０２がグラフィカルコンテンツを生成しており、このグラフィカルコンテンツは、第１のネイティブＧＰＵ抽象化レイヤー２０４によって受け取られることを意図されている。第１のネイティブＧＰＵ抽象化レイヤー２０４は、グラフィックリッチなアプリケーション２０２のためのＧＰＵ２５０へのインターフェースであり、当該アプリケーション２０２によって生成されたグラフィカルコンテンツをネイティブディスプレイ２５２（例えば一般的なデスクトップモニター）上に描画することが可能である。別個のプロセスがプロセス境界２１２によって示されている。１つの実施態様において、プロセス境界２１２は、同一のマシン若しくはシステム上で動作しているプロセス、又は異なるマシン若しくはシステム上で動作しているプロセス間の境界を示すことが可能である。
【００２１】
[0027]  この実施態様２００において、ＧＰＵ２５４へのインターフェースとして機能している出力ＧＰＵ抽象化レイヤー２１６は、ディスプレイ２５２よりも（実質的に）大型であってグラフィックリッチなコンテンツを表示しているディスプレイ２５６上に表示される、出力コンテンツを受け取ることが可能である。例えば、小売店のディスプレイは、予め編集され記録された、広告、エンターテインメントコンテンツ、及び他の情報等の映像を表示していることができる。再生エンジンは、当該予め記録されたコンテンツを、大型ディスプレイ２５６用のＧＰＵ２５４とインターフェースをとる出力ＧＰＵ抽象化レイヤー２１６の表面へ描画していることが可能である。この例において、この小売店は、大型ディスプレイ２５６上に表示されている上記予め記録されたコンテンツの中へ、付加的な、動的に生成されたコンテンツ（例えば特売）を挿入したいと考えるかもしれない。
【００２２】
[0028]  これより図３に目を向けると、３０２において、予め生成されたコンテンツが大型ディスプレイ（例えば２５６）上に再生される。３０６において、ユーザーが、当該予め生成されたコンテンツをグラフィックリッチなコンテンツで動的に更新したいと考える。このユーザーは、３０８において、当該予め生成されたコンテンツの中へ挿入することを意図したコンテンツを作成するために、グラフィックリッチコンテンツ生成アプリケーション２０２（例えば、ＷＰＦベースのビデオ生成プログラム）を利用することが可能である。典型的に、ＧＰＵの抽象化レイヤー（例えば２０４）を介してネイティブＧＰＵへ描画されることを意図されたコンテンツが生成される場合、当該コンテンツを生成するアプリケーションは、ネイティブＧＰＵ抽象化レイヤーへ描画呼出しを行って、描画されるコンテンツを更新する（例えば、当該アプリケーションは、更新用コンテンツを描画する準備ができていることを示すメッセージをＧＰＵへ送る）。
【００２３】
[0029]  この実施態様では、３１０において、第１のグラフィカルコンテンツを更新する準備ができているという描画呼出しが、グラフィック生成アプリケーション２０２から第１のネイティブＧＰＵ抽象化レイヤー２０４へ行われる。１つの実施態様において、グラフィック生成アプリケーション２０２は、第１のネイティブＧＰＵ抽象化レイヤー２０４の表面（例えば、描画に関するグラフィック情報を有するメモリ領域）へ描画を行っている。３１２において、リダイレクトフレームワークユーティリティが呼び出されることが可能であり、このリダイレクトフレームワークユーティリティは、グラフィックリッチコンテンツ生成アプリケーション２０２からのコンテンツの中へダイナミックリンクライブラリ（ＤＬＬ）オブジェクト２０６を挿入することを含む。
【００２４】
[0030]  グラフィックリッチ生成アプリケーション２０２からのグラフィックコンテンツを更新する描画呼出しをインターセプトするために、３１４において、ＤＬＬオブジェクトが上記のフレームワーク内で利用されることが可能である。更に、インターセプトされた呼出しは、表面同期機構を備える第２のネイティブＧＰＵ抽象化レイヤー２１０へリダイレクト２０８されることが可能である。３１４においてこのようにして、コンテンツを更新する呼出しが、３１６において第２のネイティブＧＰＵ抽象化レイヤー２１０へリダイレクト２０８され、上記のＤＬＬが、３１８において、描画呼出しに係る更新済みコンテンツをも、第２のネイティブＧＰＵ抽象化レイヤー２１０の表面へリダイレクト２０８させる。このようにして、例えば、アプリケーション２０２は、コンテンツがネイティブＧＰＵ２５０用の第１のネイティブＧＰＵ抽象化レイヤーの表面へ届けられるべく、第１のネイティブＧＰＵ抽象化レイヤー２０４へ描画呼出しを行うように構成されている。しかしながら、（例えば２０６において）挿入されたＤＬＬは、当該描画呼出しを第２のネイティブＧＰＵ抽象化レイヤー２１０へリダイレクト２０８させ、それにより、アプリケーション２０２からのコンテンツが第２のネイティブＧＰＵ抽象化レイヤー２１０の表面へ届けられるようにする。
【００２５】
[0031]  例示的実施態様３００の３２０において、表面同期機構を備える第２のネイティブＧＰＵ抽象化レイヤー２１０は、更新済みのグラフィックコンテンツを出力ＧＰＵ抽象化レイヤー２１６の表面と同期２１４させる。１つの実施態様において、インターセプトされたコンテンツの出力表面との同期２１４は、プロセス境界２１２を越えて、ネイティブＧＰＵ表面同期抽象化レイヤー２１０の表面を出力ＧＰＵ抽象化レイヤー２１６等の別のプロセスと共有する、ネイティブＧＰＵ表面同期抽象化レイヤー２１０の同期表面共有機能を利用することを含むことが可能である。
【００２６】
[0032]  １つの実施態様において、図２に示されるように、当該他のプロセスは、投射ディスプレイシステムの表面を含むことが可能である。この実施態様において、出力ＧＰＵ抽象化レイヤーは、例えば、予め記録された再生マシンからグラフィカルコンテンツを受け取る表面（例えば、グラフィック描画情報を有するメモリ領域）を備える。このコンテンツは、電子看板やビデオ表示端末等といった投射システム（例えばＬＣＤ、ＬＥＤ、ＣＲＴ等）によって当該コンテンツが表示されることをもたらすＧＰＵ２５４へリダイレクトされる。
【００２７】
[0033]  この実施態様において、グラフィックアプリケーション２０２によって動的に生成されるコンテンツは、出力ＧＰＵ抽象化レイヤー２１６の表面において再生マシンからのグラフィックと同期２１４されることが可能である。このようにして、例えば、予め記録されたコンテンツが動的に更新されることが可能である。図３に示されるように、グラフィックアプリケーション２０２からの更新済みコンテンツは、３２２において、上述されたように予め生成されたコンテンツと同期２１４され、３０４において、当該予め生成されたコンテンツと共に大型ディスプレイ上に動的に表示される。
【００２８】
[0034]  デジタル的に生成されたコンテンツ等の、ディスプレイ上の予め生成されたグラフィカルコンテンツをグラフィックリッチなデジタル的に生成されたコンテンツで動的に更新するためのシステムが、発明されることができる。図４は、グラフィックリッチなアプリケーションの出力を表示先のディスプレイシステムにリダイレクトするためのシステム４００のコンポーネント図である。コンテンツインターセプトコンポーネント４０２は、ネイティブ画像処理装置（ＧＰＵ）の描画抽象化レイヤー４５２へ描画を行っているグラフィックリッチコンテンツ生成アプリケーション４５０から、第１のコンテンツをインターセプトする。当該第１のコンテンツをインターセプトするために、コンテンツインターセプトコンポーネント４０２は、例えばグラフィックリッチコンテンツ生成アプリケーション４５０からネイティブ画像処理装置（ＧＰＵ）の描画抽象化レイヤー４５２への、描画呼出しをインターセプトする。
【００２９】
[0035]  リダイレクトコンポーネント４０４は、上記のインターセプトされたコンテンツ４５４をネイティブＧＰＵ表面同期抽象化レイヤー４５６へリダイレクトするように、コンテンツインターセプトコンポーネント４０２と動作可能に結合されている。同期コンポーネント４０６は、リダイレクトコンポーネント４０４と動作可能に結合され、上記インターセプトされたコンテンツ４５４を、ネイティブＧＰＵ表面同期抽象化レイヤーを利用して第２のグラフィックコンテンツを描画している出力表面４６０と同期させる。この実施態様において、同期コンポーネント４０６は、例えば同一の又は異なるマシンにおける２つの異なるプロセスを分離しているプロセス境界４５８を越えて、上記インターセプトされたコンテンツを出力表面４６０と同期させることが可能である。
【００３０】
[0036]  図５は、本明細書において説明される１つ又は複数のシステムを実施する１つの実施態様５００を示すコンポーネント図である。リダイレクトフレームワークユーティリティ５１６は、第１のコンテンツをインターセプトし、当該第１のコンテンツ（インターセプトされたコンテンツ５５４）をネイティブＧＰＵ表面同期抽象化レイヤー５５６へリダイレクトすることが可能である。１つの実施態様において、リダイレクトフレームワークユーティリティ５１６は、グラフィックリッチコンテンツ生成アプリケーション５５０からのグラフィックコンテンツ生成プロセスの中にＤＬＬオブジェクトを挿入するダイナミックリンクライブラリ（ＤＬＬ）オブジェクト挿入コンポーネント５１８を備えることが可能である。
【００３１】
[0037]  この実施態様において、リダイレクトフレームワークユーティリティ５１６は、例えばコンテンツインターセプトコンポーネント４０２を利用することによって、上記第１のコンテンツをインターセプトするためにグラフィックリッチコンテンツ生成アプリケーション５５０からネイティブＧＰＵ描画抽象化レイヤー５５２への描画呼出しをインターセプトすることが可能な、ＤＬＬオブジェクトを備えることが可能である。更に、このＤＬＬオブジェクトは、例えばリダイレクトコンポーネント４０４を利用することによって、当該描画呼出しに紐付いた上記第１のコンテンツ（例えば５５４）をネイティブＧＰＵ表面同期抽象化レイヤー５５６へリダイレクトすることが可能である。
【００３２】
[0038]  出力表面５６０は、この実施態様においてディスプレイコンポーネント５１２用のＧＰＵ５６４とインターフェースをとる出力ＧＰＵ描画抽象化レイヤー５１０を利用することによって、インターセプトされたコンテンツ５６２を出力ディスプレイコンポーネント５１２へ描画することが可能である。更に、ネイティブＧＰＵ描画抽象化レイヤー５５２へ描画を行っているグラフィックリッチコンテンツ生成アプリケーション５５０は、予め生成されたコンテンツ５１４を含む第２のグラフィックコンテンツと動的に同期されるグラフィックリッチなコンテンツ（例えば、インターセプトされたコンテンツ５５４）を、動的に生成するアプリケーションであり得る。予め生成されたコンテンツ５１４は、例えば再生エンジンによって提供されるような出力表面からディスプレイコンポーネント５１２へ描画されるコンテンツであり得る。
【００３３】
[0039]  １つの実施態様において、上記コンテンツを同期するために、ネイティブＧＰＵ表面同期抽象化レイヤー５５６は、（例えば５５６に含まれる）第１のグラフィック表面を、プロセス境界５５８を越えて第２のグラフィック表面（例えば出力表面５６０）と共有する。１つの実施態様において、出力表面５６０は、出力ＧＰＵ描画抽象化レイヤー５１０によって管理され、インターセプトされたコンテンツ５６２や予め生成されたコンテンツ５１４等のグラフィックリッチなコンテンツを描画するための情報を格納するメモリコンポーネントを備える。
【００３４】
[0040]  更なる別の実施態様は、本明細書において提示された手法のうちの１つ又は複数を実現するように構成されたプロセッサー実行可能命令を備えているコンピューター読み取り可能媒体を伴う。これらの方法で考案されることができる例示的なコンピューター読み取り可能媒体が図６に示されている。図６において、実装６００はコンピューター読み取り可能媒体６０８（例えば、ＣＤ−Ｒ、ＤＶＤ−Ｒ、又はハードディスクドライブのプラッター）を含み、このコンピューター読み取り可能媒体６０８上にコンピューター読み取り可能データ６０６がエンコードされている。このコンピューター読み取り可能データ６０６は更に、本明細書において規定された原理のうちの１つ又は複数に従って動作するように構成されたコンピューター命令６０４のセットを含む。１つのそのような実施態様６０２において、プロセッサー実行可能命令６０４は、例えば図１の例示的方法１００等の方法を実施するように構成されることができる。別のそのような実施態様において、プロセッサー実行可能命令６０４は、例えば図４の例示的システム４００等のシステムを実現するように構成されることができる。本明細書において提示された手法に従って動作するように構成された多くのそのようなコンピューター読み取り可能媒体が、当業者によって考案されることができる。
【００３５】
[0041]  構造的な特徴及び／又は方法論的行為に特有の言い回しで本対象が説明されてきたが、添付された特許請求の範囲において定義される本主題は必ずしも上述された特有の特徴又は行為に限定されるものではない、ということは理解されなければならない。それどころか、上述された特有の特徴及び行為は、特許請求の範囲を具体化する例示的な形として開示されているのである。
【００３６】
[0042]  本出願において用いられるように、「コンポーネント」、「モジュール」、「システム」、「インターフェース」等の用語は、概して、コンピューター関連エンティティ、つまり、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、又は実行中のソフトウェアのいずれかを意味することを意図されている。例えば、コンポーネントは、プロセッサー上で走っているプロセス、プロセッサー、オブジェクト、実行可能データ、実行スレッド、プログラム、及び／又はコンピューターであり得るが、これらに限定されるものではない。実例として、コントローラー上で走っているアプリケーション及び当該コントローラーの両方が、コンポーネントであることが可能である。１つ又は複数のコンポーネントがプロセス及び／又は実行スレッドの内部に存在することができ、コンポーネントは、１つのコンピューター上にローカルに存在すること、及び／又は２つ以上のコンピューター間に分散して存在することができる。
【００３７】
[0043]  更に、特許請求の範囲に記載された対象は、開示された本対象を実現するようにコンピューターを制御するソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせを生産するための標準的なプログラミング及び／又はエンジニアリング手法を用いて、方法、装置、又は製造品として実現されることができる。本明細書において用いられる「製造品」という用語は、任意のコンピューター読み取り可能デバイス、キャリア、又は媒体からアクセス可能なコンピュータープログラムを包含することを意図されている。この構成に対して、特許請求の範囲に記載された対象の範囲又は趣旨から逸脱することなく多くの変形が為されることができるということは、当業者は勿論認識するだろう。
【００３８】
[0044]  図７及び以下の議論は、本明細書に記載された規定のうちの１つ又は複数の実施態様を実現するのに相応しいコンピューティング環境について簡潔で概略的な説明を提供する。図７の動作環境は、相応しい動作環境の１つの例に過ぎず、当該動作環境の使用又は機能の範囲に関して如何なる限定を示唆することも意図されたものではない。コンピューティングデバイスの例は、パーソナルコンピューター、サーバーコンピューター、ハンドヘルド型又はラップトップ型デバイス、モバイルデバイス（携帯電話、携帯情報端末（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ：ＰＤＡｓ）、メディアプレーヤー等）、マルチプロセッサーシステム、家電製品、ミニコンピューター、メインフレームコンピューター、上記のシステム又はデバイスのうちの任意を含む分散コンピューティング環境、等を含むが、これらに限定されるものではない。
【００３９】
[0045]  必須ではないが、実施態様は、「コンピューター読み取り可能命令」が１つ又は複数のコンピューティングデバイスによって実行される一般的な文脈において説明される。コンピューター読み取り可能命令は、（以下において議論される）コンピューター読み取り可能媒体によって配布されることができる。コンピューター読み取り可能命令は、特定のタスクを実施し又は特定の抽象データ型を実行する、関数、オブジェクト、アプリケーションプログラミングインターフェース（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅｓ：ＡＰＩｓ）、データ構造等の、プログラムモジュールとして実現されることができる。通常、コンピューター読み取り可能命令の機能は、様々な環境において、望まれたとおりに組み合わせられ、又は分離されることができる。
【００４０】
[0046]  図７は、本明細書において提供された１つ又は複数の実施態様を実現するように構成されたコンピューティングデバイス７１２を含むシステム７１０の一例を示す。１つの構成において、コンピューティングデバイス７１２は、少なくとも１つの処理装置７１６及びメモリ７１８を含む。コンピューティングデバイスの厳密な構成及びタイプに依存して、メモリ７１８は、揮発性（例えばＲＡＭ等）、不揮発性（例えばＲＯＭ、フラッシュメモリ等）、又はこれら２つの何らかの組み合わせとすることができる。この構成は、破線７１４によって図７に示されている。
【００４１】
[0047]  他の実施態様において、デバイス７１２は、付加的な特徴及び／又は機能を含むことができる。例えば、デバイス７１２は、磁気記憶装置、光学記憶装置等を含むがそれらには限定されない（例えばリムーバブル及び／又は非リムーバブルの）付加的な記憶装置をも含むことができる。そのような付加的な記憶装置は、記憶装置７２０によって図７に示されている。１つの実施態様において、本明細書において提供された１つ又は複数の実施態様を実現するためのコンピューター読み取り可能命令は、記憶装置７２０内に存在することができる。記憶装置７２０はまた、オペレーティングシステム、アプリケーションプログラム等を実現するための、他のコンピューター読み取り可能命令も記憶することができる。コンピューター読み取り可能命令は、例えば、処理装置７１６による実行のためにメモリ７１８にロードされることができる。
【００４２】
[0048]  本明細書において用いられる「コンピューター読み取り可能媒体」という用語は、コンピューター記憶媒体を含む。コンピューター記憶媒体は、コンピューター読み取り可能命令又は他のデータ等の情報記憶のための任意の方法又は技術で実現された、揮発性及び不揮発性、リムーバブル及び非リムーバブルの媒体を含む。メモリ７１８及び記憶装置７２０は、コンピューター記憶媒体の例である。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋｓ：ＤＶＤｓ）若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は、所望の情報を記憶するために使用されることが可能であり、デバイス７１２によってアクセスされることが可能である任意の他の媒体を含むが、これらに限定されるものではない。そのようなコンピューター記憶媒体の如何なるものも、デバイス７１２の一部分となり得る。
【００４３】
[0049]  デバイス７１２はまた、デバイス７１２が他のデバイスと通信することを可能にする通信接続７２６を含むことができる。通信接続７２６は、モデム、ネットワークインターフェースカード（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ：ＮＩＣ）、統合ネットワークインターフェース、無線周波数送信機／受信機、赤外線ポート、ＵＳＢ接続、又はコンピューティングデバイス７１２を他のコンピューティングデバイスに接続するための他のインターフェースを含むことができるが、これらに限定されるものではない。通信接続７２６は、有線接続又は無線接続を含むことができる。通信接続７２６は、通信媒体を送信及び／又は受信することができる。
【００４４】
[0050]  「コンピューター読み取り可能媒体」という用語は、通信媒体を含むことができる。通信媒体は、通常、搬送波又は他の伝送メカニズム等の「変調データ信号」の形でコンピューター読み取り可能命令又は他のデータを包含し、任意の情報配送媒体を含む。「変調データ信号」という用語は、当該信号に情報をエンコードするようなやり方でその特性のうちの１つ又は複数が設定され又は変化させられた信号を含むことができる。
【００４５】
[0051]  デバイス７１２は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、赤外線カメラ、映像入力デバイス、及び／又は任意の他の入力デバイス等の、入力デバイス７２４を含むことができる。１つ又は複数のディスプレイ、スピーカー、プリンター、及び／又は任意の他の出力デバイス等の、出力デバイス７２２もまたデバイス７１２に含まれることができる。入力デバイス７２４及び出力デバイス７２２は、有線接続、無線接続、又はそれらの任意の組み合わせによって、デバイス７１２に接続されることができる。１つの実施態様において、別のコンピューティングデバイスからの入力デバイス又は出力デバイスが、コンピューティングデバイス７１２のための入力デバイス７２４又は出力デバイス７２２として用いられることができる。
【００４６】
[0052]  コンピューティングデバイス７１２のコンポーネントは、バス等の様々な相互接続によって接続されることができる。そのような相互接続は、ＰＣＩ  Ｅｘｐｒｅｓｓ等の周辺装置コンポーネント相互接続（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ：ＰＣＩ）、ユニバーサルシリアルバス（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ：ＵＳＢ）、ｆｉｒｅｗｉｒｅ（ＩＥＥＥ  １３９４）、光学バス構造等を含むことができる。別の実施態様において、コンピューティングデバイス７１２のコンポーネントは、ネットワークによって相互接続されることができる。例えば、メモリ７１８は、ネットワークによって相互接続された異なる物理的な場所に配置された多数の物理的なメモリユニットから構成されることができる。
【００４７】
[0053]  コンピューター読み取り可能命令を記憶するのに利用される記憶装置は、ネットワークにわたって分散されることができる、ということを当業者は理解するだろう。例えば、ネットワーク７２８を介してアクセス可能なコンピューティングデバイス７３０は、本明細書において提供された１つ又は複数の実施態様を実現するためのコンピューター読み取り可能命令を記憶することができる。コンピューティングデバイス７１２は、コンピューティングデバイス７３０にアクセスして、当該コンピューター読み取り可能命令の一部分又は全部を実行のためにダウンロードすることができる。あるいはまた、コンピューティングデバイス７１２は、必要とされる当該コンピューター読み取り可能命令の断片をダウンロードすることができ、又は、コンピューティングデバイス７１２においていくつかの命令が実行され、コンピューティングデバイス７３０においてまたいくつかの命令が実行されることができる。
【００４８】
[0054]  実施態様の様々な動作が本明細書において提供される。１つの実施態様において、説明された当該動作のうちの１つ又は複数は、１つ又は複数のコンピューター読み取り可能媒体上に記憶されたコンピューター読み取り可能命令を構成することができ、このコンピューター読み取り可能命令は、コンピューティングデバイスによって実行された場合に、当該コンピューティングデバイスに当該説明された動作を実施させるだろう。当該動作のいくつか又は全てが説明される順序は、これらの動作が必然的に順序依存的であるということを意味するように解されるべきではない。この説明の利益を受ける当業者によって、代替の順序付けが認識されるだろう。更に、必ずしもあらゆる動作が、本明細書において提供された各実施態様の中に存在するというわけではないということは、理解されるだろう。
【００４９】
[0055]  なお、「例示の」という単語は、例、実例、又は例証として役立つということを意味するために、本明細書において用いられている。「例示の」ものとして本明細書において説明された如何なる側面又はデザインも、他の側面又はデザインに対して優れているものと必ずしも解されてはならない。それどころか、例示のという単語の使用は、具体的なやり方で概念を提示することを意図されている。本出願において用いられるように、「又は」という用語は、排他的な「又は」ではなくて包括的な「又は」を意味することを意図されている。即ち、別段の指定が為されるのでない限り、又は文脈から明らかとされているのでない限り、「ＸはＡ又はＢを利用する」というのは、自然な包括的置換のうちの任意のものを意味することを意図されている。即ち、ＸがＡを利用し、ＸがＢを利用し、又はＸがＡとＢの両方を利用する場合、前述の実例のうちの何れかの下において「ＸはＡ又はＢを利用する」ということが満たされる。加えて、本出願及び添付された特許請求の範囲において用いられる「ａ」及び「ａｎ」という冠詞は、別段の指定が為されるのでない限り、又は文脈から単数形に向けられていることが明らかとされているのでない限り、一般に、「１つ又は複数」を意味するものと解されることができる。
【００５０】
[0056]  また、本開示は１つ又は複数の実施に関して示され、及び説明されてきたが、本明細書及び添付図面の知識と理解に基づいて、これと均等な変更及び修正が、当業者の心に浮かぶだろう。本開示は、そのような全ての修正及び変更を含むものであり、後述の特許請求の範囲によってのみ限定される。上で説明されたコンポーネント（例えば要素、リソース等）によって実施される様々な機能に特に関して、そのようなコンポーネントを説明するために用いられた用語は、別段の指示がない限り、たとえ本明細書で示された本開示の例示的具体化において当該機能を実施する開示構造に対して構造的には均等でなかったとしても、当該説明されたコンポーネントの指定された機能を実施する（例えば、機能的に均等な）任意のコンポーネントに当てはまることを意図されている。加えて、本開示の特定の特徴はいくつかの具体化のうちの１つのみに関して開示されたかもしれないが、そのような特徴は、一定の又は特定の任意の応用にとって望ましくまた優位性のあるその他の実施のうちの１つ又は複数の他の特徴と、組み合わされることができる。更にまた、詳細な説明又は特許請求の範囲の何れかにおいて「含む」、「有している」、「有する」、「と共に」という用語又はそれらの変化形が用いられる範囲において、そのような用語は「含む、備える」という用語と同じように包括的であることを意図されている。
【図１】
2013528875.tif 000003
【図２】
2013528875.tif 000004
【図３】
2013528875.tif 000005
【図４】
2013528875.tif 000006
【図５】
2013528875.tif 000007
【図６】
2013528875.tif 000008
【図７】
2013528875.tif 000009
【国際調査報告】
2013528875.tif 000010
2013528875.tif 000011
2013528875.tif 000012
2013528875.tif 000013