(57)【要約】ユニファイドＣＰＵ／ＧＰＵメモリアーキテクチャを備える計算機用プロシージャルテクスチャの生成方法であって、前記方法はグラフィックカード（ＧＰＵ）によって管理されるコンテンツ用テクスチャを生成することができ、下記の、‐複数のフィルタから構成されるグラフデータを受け、前記グラフを逐次的にスキャンし、スキャンされた各フィルタについて、‐このフィルタを実行するためにあらかじめ選択したプロセッサを識別し、‐あらかじめ選択したフィルタのバージョンの命令を受け、‐カレントフィルタのパラメータを受け、‐カレントフィルタのバッファのアドレスを受け、‐デジタル値でフィルタ入力するために提供された値を適応させ、‐設定されたパラメータでフィルタの命令を実行し、‐得られた中間結果を保存し、‐全てのグラフフィルタが実行されたとき、少なくとも一つのディスプレイテクスチャを生成する、ステップを含む生成方法。【選択図】図５
2015532989.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵおよびＧＰＵ間のデータ交換がＣＰＵおよびＧＰＵ用ユニファイドメモリ内のメモリアドレスの交換からなるユニファイドＣＰＵ／ＧＰＵメモリアーキテクチャを備える計算機用プロシージャルテクスチャの生成方法であって、前記方法はレンダリングエンジンによって解釈される複数のプロシージャルフィルタのオペレータおよびデジタルデータからグラフィックカード（ＧＰＵ）によって管理されるコンテンツ用テクスチャを生成することができるものであり、
‐複数のフィルタから構成されるグラフデータを受け、前記グラフを逐次的にスキャンし、スキャンされた各フィルタについて、
‐フィルタの実行ターゲット識別データから、このフィルタを実行するためにあらかじめ選択したプロセッサＣＰＵまたはＧＰＵを識別し、
‐あらかじめ選択したプロセッサＣＰＵまたはＧＰＵのタイプに対応する少なくとも一つの命令モジュールから、あらかじめ選択したフィルタのＣＰＵまたはＧＰＵのバージョンの命令を受け、
‐少なくとも一つのフィルタの保存モジュールから、カレントフィルタのパラメータを受け、
‐少なくとも一つのバッファの保存モジュールから、カレントフィルタのバッファのアドレスを受け、
‐デジタル値でフィルタ入力するために提供された値を適応させ、
‐設定されたパラメータでフィルタの命令を実行し、
‐得られた中間結果を保存、
することを可能にし、
‐全てのグラフフィルタが実行されたとき、少なくとも一つのディスプレイテクスチャを生成する、
ことからなるステップを含むものである、生成方法。
【請求項２】
ＣＰＵまたはＧＰＵ優先ターゲットに加えて、使用可能であれば他のターゲットで場合によっては可能であるインプリメンテーションが、各フィルタに対してあることを特徴とする、請求項１に記載のプロシージャルテクスチャ生成方法。
【請求項３】
シーケンサがグラフのブランチをスキャンするとき、シーケンサはグラフの第二ブランチを同時にスキャンして、メインブランチのカレントフィルタによって使用されていない演算装置ＣＰＵまたはＧＰＵにおいて、この第二のブランチのフィルタを可能な限り実行することを特徴とする、請求項１または２に記載のプロシージャルテクスチャの生成方法。
【請求項４】
ＣＰＵおよびＧＰＵ間のデータ交換がＣＰＵおよびＧＰＵ用ユニファイドメモリ内のメモリアドレスの交換からなり、前記メモリは下記の複数の区域、
‐アクティベートされるフィルタのリストを含む区域Ｍ０、
‐各フィルタのＣＰＵまたはＧＰＵ優先ターゲットを含む区域Ｍ１、
‐レンダリングエンジン作業バッファを含む区域Ｍ２、
‐フィルタに組み合わせたプログラムをそのＣＰＵバージョン、およびそのＧＰＵバージョンで含む区域Ｍ３およびＭ４
にさらに分割されていることを特徴とする、請求項１〜３のいずれか一つに記載の方法を実施するためのプロシージャルテクスチャの生成装置。
【請求項５】
区域Ｍ０がまた、様々なフィルタリングステップ間の依存関係、ならびに各フィルタのパラメータ値を含むことを特徴とする、請求項４に記載の装置。
【請求項６】
プロセッサに組み合わされるメモリ内にロードされるためのコンピュータプログラム製品であって、該コンピュータプログラム製品は、該プログラムがプロセッサによって実行されるとき、請求項１〜３のいずれか一つに記載の方法を実行するソフトウェアコード部分を含むものである、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レンダリングエンジンによって解釈される複数のプロシージャルフィルタのオペレータおよびデジタルデータから、グラフィックカード（ＧＰＵ）によって管理されるコンテンツ用テクスチャを生成することができる、ユニファイドＣＰＵ／ＧＰＵメモリアーキテクチャを備える計算機用プロシージャルテクスチャの生成方法に関するものである。本発明はまた、対応する装置にも関する。
【０００２】
この文献に記載の装置および方法は、好ましくは、例えば出願人によって開発されたサブスタンス（ｓｕｂｓｔａｎｃｅ）という名称のエンジンのようなプロシージャルテクスチャ生成エンジンと共に使用するように考案されている。そのようなエンジンによって、下記の
‐基本要素（ノイズ、パターン、既存の画像）、
‐必要な場合、これらの基本要素を生成するために使用されるパラメータ、
‐これらの基本要素、または先行するフィルタリングによって生成された画像に適用される、様々なフィルタリングステップ、
‐これらのフィルタのオペレーションモードを変更するパラメータ、
‐各フィルタの依存関係（ｄｅｐｅｎｄａｎｃｅｓ）（各オペレーションによって使用される入力リスト）、
‐出力で生成されるテクスチャのリスト、それらのフォーマット、および推測されるそれらの使用法
を保存する記述ファイルから出発して、異なる解像度において様々な動的およびパラメータ化可能なテクスチャを生成することができる。
【０００３】
実行の際、この記述ファイルはレンダリングエンジンによって解釈され、記述ファイルから抽出された情報から、演算グラフが構築される。演算グラフの一例を図１に示した。
【０００４】
このように構築されたグラフは、構造によってフィルタ間の依存関係を順守し、したがって、所望の出力を生成するために様々なフィルタをアクティベートするべき順序の情報を含む。
【０００５】
そのようなエンジンは、オフィスコンピュータ（ＰＣ、Ｍａｃ）、ゲーム機、モバイル端末などの様々なプラットフォームで使用できる。今日、これらのプラットフォームにはプロシージャルテクスチャのレンダリングの際に使用することができる二つの演算装置が存在している。すなわち、ＣＰＵ（「中央プロセッシングユニット」、フランス語では「中央装置（ｕｎｉｔｅ  ｃｅｎｔｒａｌｅ）」または「中央プロセッサ（ｐｒｏｃｅｓｓｅｕｒ  ｃｅｎｔｒａｌ）」）、およびＧＰＵ（グラフィックプロセッシングユニット、フランス語では「グラフィックプロセッサ（ｐｒｏｃｅｓｓｅｕｒ  ｇｒａｐｈｉｑｕｅ）」または「グラフィックカード（ｃａｒｔｅ  ｇｒａｐｈｉｑｕｅ）」）である。
【０００６】
ＣＰＵはコンピュータの中央プロセッサであり、オペレーティングシステムの実行、および使用されるアプリケーションを作動させる役割を担う。現在のＣＰＵは、通常４または６のタスクをパラレル実行できる少数のコアを含む。これらのプロセッサコアは極めて高度化されており、複雑なオペレーションを実行することができる。また、これらのプロセッサコアは、最近使用したデータへのアクセス時間を短縮するためのキャッシュメモリシステムを介して、中央メモリにアクセスする。
【０００７】
ＧＰＵは、グラフィックオペレーション（テクスチャの構成、３Ｄ幾何オペレーション、照明演算、画像の後処理など）専用の補足プロセッサである。ＧＰＵは、ＣＰＵによって出力された情報からスクリーン上にディスプレイされる最終画像の演算を行うものである。現在のＧＰＵは、極めて多数の演算ユニットを含み、通常数百である。これらの演算ユニットは、何よりもまず特定のタイプのオペレーション専用であり、ＣＰＵのコアほど高度ではない。一方、これらの演算ユニットは主に画像を操作し、使用したテクスチャのサンプリングを行うブロックを介して、そのワーキングメモリにアクセスする。テクスチャサンプラと呼ばれるこれらのブロックは、ケーブル方式によってかなりの数のオペレーション、すなわち、補間、バイまたはトリリニアフィルタリング、近傍／平均的近傍／遠方のバージョンで使用可能なテクスチャ用のディテールレベル管理、圧縮されたテクスチャの復元などを実行する。さらに、統合コア数およびそれによって生成されたシリコン面積から、ＧＰＵのクロック周波数は、ＣＰＵのそれよりも小さい。「サブスタンス（Ｓｕｂｓｔａｎｃｅ）」のようなレンダリングエンジンによるテクスチャのレンダリングのとき、シーケンサはグラフをスキャンし、各フィルタに対する有効な入力の可用性が保証される順序で各フィルタを実行しなければならない。本出願人のそのような従来のバージョンのレンダリングエンジンは、単一の演算装置で使用可能なフィルタ全てを実行する。
【０００８】
「マルチコアにおけるプロシージャルテクスチャ（Ｐｒｏｃｅｄｕｒａｌ  Ｔｅｘｔｕｒｅｓ  ｏｎ  ｍｕｌｔｉ−ｃｏｒｅ）」と題された文献ＸＰ０５５０５８３１５は、マルチコアアーキテクチャのプロセッサのためのプロシージャルテクスチャ生成方法の技術的、商業的な説明である。この文献で言及される「スレッディング（ｔｈｒｅａｄｉｎｇ）」（特に「スレッディング戦略（ｔｈｒｅａｄｉｎｇ  ｓｔｒａｔｅｇｉｅｓ）」についての１５頁の一節）は、使用可能なコアに応じたマルチコアプロセッサ内のタスク、すなわちスレッド（ｔｈｒｅａｄｓ）の分割方法に関する。この文献には、ＣＰＵからであれＧＰＵからであれ、プロシージャルテクスチャを生成できる方法が記載されていない。さらに、二つの製品バージョン、すなわちＣＰＵ用のものとＧＰＵ用のものが提示されているが、これらの二つのバージョンは完全に独立している。
【０００９】
「サブスタンス：記述テクスチャのオンラインゲームを放つ（Ｓｕｂｓｔａｎｃｅ：Ｕｎｌｅａｓｈｉｎｇ  ｏｎｌｉｎｅ  ｇａｍｉｎｇ  ｗｉｔｈ  ｄｅｓｃｒｉｐｔｉｖｅ  ｔｅｘｔｕｒｅｓ）」と題された文献ＸＰ００２６６２００９は、プロシージャルテクスチャの編集ツール、ならびに生成フィルタおよび変換フィルタを使用するこのようなテクスチャのレンダリングエンジンについて記載している。
【００１０】
これらのアプローチは極めて最近のものであり、グラフィックおよびバーチャルコンテンツが極めて豊富な現在のアプリケーションに対して満足のいくパフォーマンスレベルに到達するために、最適化を行う必要性が大いに生じていることは確かである。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明の第一の目的はまず、従来のプロセスより有効かつ高速なプロシージャルテクスチャの生成方法を提案することにある。
【００１２】
本発明の別の目的は、ほぼリアルタイムに作動することができるプロシージャルテクスチャの生成方法を提案することにある。
【００１３】
さらに別の本発明の目的は、生成された画像の質を損なうことなく、著しく改善されたレンダリング速度パフォーマンスをもたらすのに適したプロシージャルテクスチャ生成装置を提案することにある。
【００１４】
オフィスコンピュータにおいては、ＣＰＵおよびＧＰＵは同一メモリにアクセスしない。まずグラフィック演算の前に、ＣＰＵは中央メモリにデータを収集し、それをＧＰＵに転送して、それを専用メモリに保存しなければならない。この転送はＧＰＵの論理ドライブによって管理され、各々に均等ではない時間のうちの多くを占める。すなわち、ＧＰＵへのデータ転送はＧＰＵからの転送より極めて速い。そのようなアーキテクチャの一例を図２に示した。分離されたメモリ機器において、ＧＰＵ専用メモリから中央メモリへの転送を抑止する性能は、グラフの実行のために二つの演算装置を使用するレンダリングエンジンのインプリメンテーションの実現を、困難なものにする。実際、ＧＰＵで実行されたフィルタの出力データをＣＰＵで使用するために転送するには、極めて長い時間がかかるであろう。
【００１５】
モバイルプラットフォーム（「スマートフォン」、タブレット、いくつかのゲーム機）は、様々にアーキテクチャ化されている。すなわち、コスト削減のために単一のメモリが使用可能である。このメモリは、ＣＰＵおよびＧＰＵから同様にアクセス可能であり、ＧＰＵへのデータ送信を行うＣＰＵのロードは、顕著に軽減されている。ＧＰＵの論理ドライブは、データ自体よりもむしろメモリ内でのデータの位置を転送するだけである。そのようなアーキテクチャの一例を図３に示した。ユニファイドメモリアーキテクチャによって、その優先ターゲットについて各フィルタを実行してグラフの演算時間を短縮することを目的とするシステムの開発が可能となる。ＣＰＵおよびＧＰＵ間のデータ交換は、メモリアドレスの交換に凝縮されるので、異なる演算装置で作動するフィルタを逐次的に使用する不都合は、もはや存在しない。
【課題を解決するための手段】
【００１６】
本発明は、ＣＰＵおよびＧＰＵ間のデータ交換が、ＣＰＵおよびＧＰＵ用ユニファイドメモリにおけるメモリアドレスの交換からなるユニファイドＣＰＵ／ＧＰＵメモリアーキテクチャを備える計算機用プロシージャルテクスチャの生成方法を提案しており、前記方法は、レンダリングエンジンによって解釈される複数のプロシージャルフィルタのオペレータおよびデジタルデータからグラフィックカード（ＧＰＵ）によって管理されるコンテンツ用テクスチャを生成することができ、
‐複数のフィルタから構成されるグラフデータを受け、前記グラフを逐次的にスキャンし、スキャンされた各フィルタについて、
‐フィルタの実行ターゲット識別データから、このフィルタを実行するためにあらかじめ選択したプロセッサＣＰＵまたはＧＰＵを識別し、
‐あらかじめ選択したプロセッサＣＰＵまたはＧＰＵのタイプに対応する少なくとも一つの命令モジュールから、あらかじめ選択したフィルタのＣＰＵまたはＧＰＵのバージョンの命令を受け、
‐少なくとも一つのフィルタの保存モジュールから、カレントフィルタのパラメータを受け、
‐少なくとも一つのバッファの保存モジュールから、カレントフィルタのバッファのアドレスを受け、
‐デジタル値でフィルタ入力するために提供された値を適応させ、
‐設定されたパラメータでフィルタの命令を実行し、
‐得られた中間結果を保存、
することを可能にし、
‐全てのグラフフィルタが実行されたとき、少なくとも一つのディスプレイテクスチャを生成する、
ことからなるステップを含む方法を提案する。
【００１７】
本発明による方法および装置は、使用される演算によって、一方ではＣＰＵでの実行により適したフィルタがあり、他方ではＧＰＵでの実行により適したフィルタがあるという
事実に基づくものである。各フィルタの優先ターゲットは、実行されるオペレーション、実行されるメモリアクセスが規則的であるか否か、さらには例えばＧＰＵのテクスチャサンプラが行うように、存在するデータから使用することのできないデータを制作する必要性に依るものである。例えば、ＧＰＵのテクスチャサンプラの作動モードを復元するフィルタは、ＧＰＵにおいてケーブル化されたオペレーションを、プログラム化して実行しなければならないＣＰＵにおいて、最適に作動する。この優先は固定されており、前記フィルタによって実行される演算にのみ依存する。とくに、それは所定のフィルタのオペレーションを修正するパラメータには依存しない。
【００１８】
好ましい一実施態様によると、ＣＰＵまたはＧＰＵ優先ターゲットに加えて、使用可能であれば他のターゲットで場合によっては可能であるインプリメンテーションが、各フィルタに対してある。
【００１９】
別の好ましい一実施態様では、シーケンサがグラフのブランチをスキャンするとき、シーケンサはグラフの第二ブランチを同時にスキャンして、メインブランチのカレントフィルタによって使用されていない演算装置ＣＰＵまたはＧＰＵにおいて、この第二のブランチのフィルタを可能な限り実行する。
【００２０】
本発明は、また、前記の方法を実施するためのプロシージャルテクスチャ生成装置において、ＣＰＵおよびＧＰＵ間のデータ交換がＣＰＵおよびＧＰＵ用ユニファイドメモリ内のメモリアドレスの交換からなり、前記メモリは下記の複数の区域、
‐アクティベートされるフィルタのリストを含む区域Ｍ０、
‐各フィルタのＣＰＵまたはＧＰＵ優先ターゲットを含む区域Ｍ１、
‐レンダリングエンジン作業バッファを含む区域Ｍ２、
‐フィルタに組み合わせたプログラムをそのＣＰＵバージョン、およびそのＧＰＵバージョンで含む区域Ｍ３およびＭ４
にさらに分割されている装置を提案するものである。
【００２１】
好ましくは、区域Ｍ０はまた、様々なフィルタリングステップ間の依存関係、ならびに各フィルタのパラメータ値を含む。
【００２２】
本発明は、また、プロセッサに組み合わされるメモリ内にロードされるためのコンピュータプログラム製品を提案するものであり、該コンピュータプログラム製品は、該プログラムがプロセッサによって実行されるとき、あらかじめ書き込まれた方法を実行するソフトウェアコード部分を含むものである。
実施態様の詳細は、すべて図１〜６によって補足された下記の説明に記載したが、これらの図は例としてのみ示されたものであり、本発明を何ら限定するものではない。
【図面の簡単な説明】
【００２３】
【図１】フィルタの演算グラフの一例を図示したものである。
【図２】一般にオフィスコンピュータに使用されている分離されたＣＰＵ／ＧＰＵメモリを備えるアーキテクチャの一例を図示している。
【図３】一般に「スマートフォン」、タブレット、ゲーム機など、公知の型のモバイルコンピュータまたは装置に使用されているユニファイドＣＰＵ／ＧＰＵメモリを備えるアーキテクチャの一例を図示している。
【図４】本発明によるプロシージャルテクスチャ生成装置の実施例を概略的に図示したものである。
【図５】プロシージャルテクスチャを生成することを可能にするグラフスキャンを含む、本発明による方法の様々なステップを図示している。
【図６】一次および二次ブランチの並列スキャンを含む、本発明による方法の変形形態を図示している。
【発明を実施するための形態】
【００２４】
本発明において基になる装置の一実施例を図４に示した。この装置の様々な要素は、下記のものである：
‐前述のＣＰＵおよびＧＰＵ、
‐ＣＰＵおよびＧＰＵに同時に接続される、それ自体もまた前記に記載のユニファイドメモリ、
‐シーケンサは、従来のインプリメンテーションではＣＰＵによってホスティングされるプログラムである。シーケンサは、グラフ構築のとき設定されたフィルタリストをスキャンし、各フィルタを良好な値でパラメータ化し、必要なときに各フィルタのアクティベートを行う。
‐パイロットＧＰＵ、すなわちＧＰＵドライバは、ＧＰＵのアクティビティの管理を可能にする、ＣＰＵによってホスティングされるソフトウェア層である。パイロットＧＰＵを介して、シーケンサがＧＰＵ上のそれぞれのフィルタを始動させ、さらにＧＰＵがそこから作業しなければならないバッファをＧＰＵに示すことができる。
【００２５】
レンダリングエンジンによって使用されるメモリは、類似の情報を隣接した下記のような区域に保存するよう、複数の区域に区分することができる：
‐グラフ構築のとき初期化され、アクティベートされるべきフィルタのリスト、各フィルタ用パラメータ値、ならびにフィルタリングの様々なステップ間の依存関係を含む、区域Ｍ０。記述ファイルの読み取りの際に構築されたグラフ構造を再度書き込むのは、このメモリのコンテンツである。
‐各フィルタの優先ターゲットを含む区域Ｍ１。このメモリは、エンジンの初期化時に書き込むことができるが、そのコンテンツはまた、レンダリングが実行されるプラットフォームに応じて可変である。
‐レンダリングエンジンの作業バッファを含む区域Ｍ２。これらのバッファは、フィルタによって演算された中間画像の一次的保存区域である。図１に示した実施例では、フィルタ３によって使用される前のフィルタ１の出力は、テンポラリバッファに保存されるであろう。
‐フィルタに組み合わせたプログラムをそのＣＰＵバージョン、およびそのＧＰＵバージョンで含む区域Ｍ３およびＭ４。グラフスキャンおよびシーケンサによるフィルタの実行の際、ＣＰＵまたはＧＰＵで実行すべきコードは、これらのメモリから読み取られる。一部のフィルタの完全に不適合なインプリメンテーションによってメモリ跡をオーバーロードしないように、これらのメモリには、所定のターゲットへのインプリメンテーションが有利なフィルタのコードだけを保存することができる。
【００２６】
提示された解決法の主要点は、使用可能な各フィルタについてのその優先ターゲットを含むメモリをシーケンサに統合し、グラフスキャンループを修正して、この新規な情報を処理することにある。こうして、各フィルタは、最小演算時間を保証してこのようにグラフの全演算時間を最適化するターゲットで実行される。第一に、各フィルタの優先は、下記に示すように二択で示される。
‐このフィルタはＣＰＵで作動しなければならない。
‐このフィルタはＧＰＵで作動しなければならない。
【００２７】
その最も単純なインプリメンテーションでは、方法は、問題のフィルタがどのターゲットで作動するべきかを示す、各フィルタについての二択の優先のみを考慮に入れる。グラフスキャンに組み合わせた方法は、図５に示されている。
‐グラフスキャン（メモリＭ０の逐次的読み取り）の際、呼び出された各フィルタについて、メモリＭ１に保存された優先ターゲットを識別する、
‐前ステップで識別されたターゲットに応じて、メモリＭ３またはＭ４から、適合したフィルタのバージョンをロードする、
‐ＣＰＵでの実行の場合フィルタのコール前に直接、または、ＧＰＵの場合ＧＰＵドライブへのコール（単数または複数）によって、（フィルタの識別の際Ｍ０で読み取られた）使用されるパラメータ値、および使用する内部バッファのアドレス（メモリＭ２）を、設定する、
‐ＣＰＵでの実行の枠内で直接、またはＧＰＵの場合ＧＰＵドライバへのコール（単数または複数）によって、メモリＭ３またはＭ４が読み取られたコードを実行する。
【００２８】
提案された方法によって、一般に基準実行速度を用いて、各フィルタの実行が最も有利なターゲットで各フィルタが実行されるようにすることができる。しかしながら、この方法では、所定の時間に存在する二つの演算装置のうち一つしか処理されない。プロセッサの使用をさらに最適化するために、より柔軟な優先を表現するよう、メモリＭ１のコンテンツの表現性を増大させる。そのようにして、各フィルタについてその優先ターゲットだけではなく、使用可能ならば他のターゲットでのインプリメンテーションも下記のように示すことが考えられる。
‐このフィルタはＣＰＵでしか作動しない。
‐このフィルタはＧＰＵでしか作動しない。
‐このフィルタは好ましくはＣＰＵで作動するが、ＧＰＵ用にインプリメンテーションが存在する。
‐このフィルタは好ましくはＧＰＵで作動するが、ＣＰＵ用にインプリメンテーションが存在する。
【００２９】
シーケンサがグラフのブランチをスキャンするとき、「メイン」ブランチの中でフィルタによって使用されていない演算装置で、第二のブランチのフィルタを可能な限り実行して、この第二のグラフブランチを同時にスキャンすることを試みることができる。この二つのグラフブランチの並列同時スキャンは、第一および第二のブランチのフィルタが同一演算装置で作動しなければならない点にシーケンサが到達すると、すぐに停止する。その場合、プライオリティは第一のブランチにあり、第二のブランチのスキャンは、実行すべき二つのフィルタが異なるターゲットで実行できるようになるとすぐに再開される。この好ましいフィルタのスイッチング方法の変形形態は、図６に図示されている。
【００３０】
本解決方法は、ＣＰＵおよびＧＰＵという、今日一般的に使用可能である二つの演算装置を拠り所として、記載されている。専門化された他の種類のプロセッサが所定のアーキテクチャで使用可能であれば、そのときは三つ以上の演算装置（ＣＰＵ、ＧＰＵ、ｘＰＵ…）によって、本解決方法を拡大することができる。この場合、各フィルタの優先表現に第三の装置を統合できるようにメモリＭ１のコンテンツの表現性を増大させ、各フィルタのコードのｘＰＵバージョンを保存するためのメモリを付加するか、または単にｘＰＵでのインプリメンテーションが有利なフィルタを付加しなければならない。
【００３１】
また、ターゲットに応じて各フィルタの優先を順序づけること（例えば、ＣＰＵ＞ＧＰＵ＞ｘＰＵ）が考えられる。このように、複数のグラフブランチを並列スキャンするか、または並列スキャンするブランチの数を制限することを選択して使用可能なオプションの数を増やし、第二のブランチの演算を容易にし、それによって前記のブロック状態を回避することができる。
【００３２】
本解決方法の別の変形形態は、使用される様々な演算装置の、現在のロードレベルを評価するソフトウェアまたはハードウェア手段を使用することからなる。さらに、それを実行できる各ターゲットの数量化された性能を、各フィルタについて使用する場合、そのとき、上述の演算装置の現在のロードを考慮して、その演算装置への各フィルタの理論的インパクトから演算した合成メトリックを測定して、さらにフィルタのスイッチングプロセスを柔軟にすることができる。
【先行技術文献】
【非特許文献】
【００３３】
【非特許文献１】「マルチコアにおけるプロシージャルテクスチャ（Ｐｒｏｃｅｄｕｒａｌ  Ｔｅｘｔｕｒｅｓ  ｏｎ  ｍｕｌｔｉ−ｃｏｒｅ）」
【非特許文献２】「サブスタンス：記述テクスチャのオンラインゲームを放つ（Ｓｕｂｓｔａｎｃｅ：Ｕｎｌｅａｓｈｉｎｇ  ｏｎｌｉｎｅ  ｇａｍｉｎｇ  ｗｉｔｈ  ｄｅｓｃｒｉｐｔｉｖｅ  ｔｅｘｔｕｒｅｓ）」
【図１】
2015532989.tif 000003
【図２】
2015532989.tif 000004
【図３】
2015532989.tif 000005
【図４】
2015532989.tif 000006
【図５】
2015532989.tif 000007
【図６】
2015532989.tif 000008
【国際調査報告】
2015532989.tif 000009
2015532989.tif 000010
2015532989.tif 000011
2015532989.tif 000012
2015532989.tif 000013
2015532989.tif 000014