(57)【要約】      （修正有）【課題】フレームバッファに記憶された望まれないコンテンツの表示装置への表示を阻止する。【解決手段】表示装置用のフレームバッファにデータが転送されて記憶されると、そのデータが表示に望ましいかどうかを所定の処理を行って判別する。望まれないコンテンツと判別された場合、その判別結果の種別に応じて、当該望まれないコンテンツの表示装置への表示を阻止する。【選択図】図１
2010123108.tif 000002
【特許請求の範囲】
【請求項１】
フレームバッファに記憶された望まれないコンテンツを識別するステップと、
前記望まれないコンテンツの識別に基づいて、前記望まれないコンテンツの表示を阻止するステップと、
を含む方法。
【請求項２】
前記望まれないコンテンツは、視覚コンテンツを含む、請求項１に記載の方法。
【請求項３】
前記望まれないコンテンツは、ポルノグラフィーを含む、請求項２に記載の方法。
【請求項４】
前記望まれないコンテンツは、ビデオを含む、請求項２に記載の方法。
【請求項５】
前記望まれないコンテンツの前記表示は、テレビジョンを介した表示を含む、請求項１に記載の方法。
【請求項６】
前記望まれないコンテンツの前記表示は、パーソナルコンピュータを介した表示を含む、請求項１に記載の方法。
【請求項７】
前記識別するステップ及び阻止するステップは、グラフィックプロセッサにより実行される、請求項１に記載の方法。
【請求項８】
前記グラフィックプロセッサは、グラフィック処理ユニット（ＧＰＵ）を含む、請求項７に記載の方法。
【請求項９】
前記識別するステップ及び阻止するステップは、シェーダハードウエアを使用して実行される、請求項１に記載の方法。
【請求項１０】
前記識別するステップ及び阻止するステップは、グラフィックカード上に実装されたコンピュータコードによって与えられる、請求項１に記載の方法。
【請求項１１】
前記コンピュータコードは、無効化され得ない、請求項１０に記載の方法。
【請求項１２】
前記望まれないコンテンツは、前記フレームバッファに記憶された前記望まれないコンテンツを所定のコンテンツでオーバーライトすることにより、表示を阻止される、請求項１に記載の方法。
【請求項１３】
前記所定のコンテンツは、警告を含む、請求項１２に記載の方法。
【請求項１４】
前記識別するステップ及び阻止するステップは、他のグラフィック処理と並列して実行される、請求項１に記載の方法。
【請求項１５】
前記他のグラフィック処理は、２次元コンテンツのレンダリングを含む、請求項１４に記載の方法。
【請求項１６】
前記望まれないコンテンツは、前記フレームバッファに記憶されたコンテンツの分析を有効化する手動生成コマンドに応答して識別される、請求項１に記載の方法。
【請求項１７】
前記望まれないコンテンツは、前記フレームバッファに記憶されたコンテンツの分析を有効化する自動生成コマンドに応答して識別され、前記コマンドは、前記望まれないコンテンツの識別及び前記望まれないコンテンツの表示の阻止を行うグラフィックプロセッサの負荷に基づいて自動的に生成される、請求項１に記載の方法。
【請求項１８】
有形のコンピュータ読み取り可能な媒体にて実施されるコンピュータプログラム製品であって、
フレームバッファに記憶された望まれないコンテンツを識別するためのコンピュータコードと、
前記望まれないコンテンツの識別に基づいて、前記望まれないコンテンツの表示を阻止するためのコンピュータコードと、
を含むコンピュータプログラム製品。
【請求項１９】
望まれないコンテンツの識別に基づいて前記望まれないコンテンツの表示を阻止するためのプロセッサを備える装置。
【請求項２０】
前記プロセッサは、バスを介してメモリ及びディスプレイとの通信を維持する、請求項１９に記載の装置。
【請求項２１】
望まれないオーディオを識別するステップと、
前記望まれないオーディオの可聴出力を阻止するステップと、
を含み、
オーディオを出力するために使用されるプロセッサが、前記識別するステップ及び阻止するステップを実行する、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本発明は、望まれないコンテンツに関するものであり、より詳細には、望まれないコンテンツの識別に関するものである。
【背景技術】
【０００２】
[0002]伝統的に、望まれないコンテンツ（例えば、不快なコンテンツ等）は、種々の目的で識別されている。例えば、望まれないコンテンツは、当該望まれないコンテンツをブロックし、当該望まれないコンテンツについて潜在的視聴者に警告し、潜在的視聴者が望まれないコンテンツを視聴しないように守る等のために、しばしば識別される。しかしながら、望まれないコンテンツを識別するための従来の技法には、一般的に、種々の限界があった。
【０００３】
[0003]単なる例示として、インターネットにおいては、相当量の成人向けコンテンツが存在しており、当該成人向けコンテンツは、多くのコンピュータユーザにとっては不快となり得、又は、子供が視聴しないように親が望むことのあるものである。別の例としては、図書館の如き公共エリアにおいては、（例えば、インターネット等を介して）利用できるコンテンツのタイプを制限することが望ましい場合がある。多くのコンテンツ保護システムが消費者市場において販売されているが、それらの大半は、既知の不快なコンテンツ、即ち、不快なものであるとして識別されている特定のコンテンツのデータベースに依存しているか、又は、そのコンテンツが不快なものであるかもしれないことを指示するキーワード又はその他のテキスト識別子を探索することによるものである。不都合なことに、これら技法は、新しい未知のコンテンツ、又は、ユーザーがそれを視聴するように陥れようとするような詐欺的方法にて提示されるコンテンツに対して保護するには不十分なものである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
[0004]従って、従来技術に関連したこれらの問題及び／又は他の問題に対処することが必要とされている。
【課題を解決するための手段】
【０００５】
[0005]フレームバッファに記憶された望まれないコンテンツの表示を阻止するためのシステム、方法及びコンピュータプログラム製品を提供する。使用時には、フレームバッファに記憶された望まれないコンテンツが識別される。更に、望まれないコンテンツの表示が、当該望まれないコンテンツの識別に基づいて、阻止される。
【図面の簡単な説明】
【０００６】
【図１】一実施形態による、フレームバッファに記憶された望まれないコンテンツの表示を阻止するための方法を示す図である。
【図２】別の実施形態による、フレームバッファに記憶された望まれないコンテンツの表示を阻止するためのシステムを示す図である。
【図３】更に別の実施形態による、フレームバッファに記憶されたコンテンツが望まれないものであるかの決定と、他のグラフィック処理と、を並列に行うための方法を示す図である。
【図４】更に別の実施形態による、並列処理を行うためのシステムを示す図である。
【図５】種々の前述の実施形態の種々のアーキテクチャー及び／又は機能を実施することのできる典型的なシステムを示す図である。
【発明を実施するための形態】
【０００７】
[0011]図１は、一実施形態による、フレームバッファに記憶された望まれないコンテンツの表示を阻止するための方法を示している。オペレーション１０２に示すように、フレームバッファに記憶された望まれないコンテンツが識別される。本説明に関しては、望まれないコンテンツは、フレームバッファに記憶された望まれない任意のコンテンツを含み得る。種々の実施形態では、望まれないコンテンツは、視覚コンテンツ（例えば、ウエブページ、ビデオ等）を含み得る。単なる例示として、望まれないコンテンツは、ポルノグラフィー、プロファニティー及び／又は望まれないものであると決定される（例えば、予め決定される等）任意のタイプのデータを含み得る。
【０００８】
[0012]また、望まれないコンテンツが記憶されているフレームバッファは、その望まれないコンテンツの各フレームを記憶するためのバッファを含み得る。例えば、フレームバッファは、望まれないコンテンツの画像のデジタル表現を記憶していてもよい。この目的のため、フレームバッファは、望まれないコンテンツを識別するのに使用されるプログラム、望まれないコンテンツを識別するのに使用されるコンピュータにインストールされたオペレーティングシステム、そのようなコンピュータのインターネット接続のタイプ等に関係なく、ディスプレイを通して表示される望まれないコンテンツの画像を記憶することができる。
【０００９】
[0013]一実施形態では、望まれないコンテンツは、フレームバッファに記憶されたコンテンツが望まれないものであることを決定することにより、識別される。単なる例示として、フレームバッファに記憶されたコンテンツによって表現される画像が、既知の望まれない画像と比較される。更に、望まれないコンテンツは、フレームバッファに記憶されたコンテンツにより表現された画像と既知の望まれない画像との間に一致が見られた結果として、識別される。
【００１０】
[0014]別の実施例として、あるポリシー（例えば、ルール）が、フレームバッファに記憶されたコンテンツにより表現される画像に対して適用される。この目的のため、望まれないコンテンツは、その画像の少なくとも一部分がそのポリシーに反すると決定された結果として、識別される。しかしながら、勿論、望まれないコンテンツは、任意の望ましい方法にて識別することもできる。
【００１１】
[0015]一実施形態において、望まれないコンテンツは、フレームバッファに記憶されたコンテンツの分析を有効にする手動生成コマンドに応答して識別される。例えば、ユーザーは、フレームバッファに記憶されたコンテンツの分析を有効にするためグラフィカルユーザーインターフェース（ＧＵＩ）を使用することができる。このような分析の結果として、その望まれないコンテンツの識別がなされる。
【００１２】
[0016]別の実施形態では、望まれないコンテンツは、フレームバッファに記憶されたコンテンツの分析を有効にする自動生成コマンドに応答して識別される。オプションとして、そのコマンドは、その望まれないコンテンツの識別を行うプロセッサ（例えば、グラフィックプロセッサ）の負荷に基づいて、自動的に生成される。単なる例示として、その分析は、その負荷が所定のしきい値より下である場合にのみ、有効化される。
【００１３】
[0017]更に、望まれないコンテンツの表示は、オペレーション１０４に示すように、その望まれないコンテンツの識別に基づいて、阻止される。望まれないデータの表示は、表示装置を介する任意の表示を含み得る。種の実施形態では、望まれないコンテンツの表示は、テレビジョンを介する表示、パーソナルコンピュータを介する表示等を含み得る。
【００１４】
[0018]従って、望まれないコンテンツは、ディスプレイ（例えば、コンピュータモニタ、テレビジョン等）を介して視聴者に対して表示することから阻止される（例えば、ブロックされる等）。フレームバッファに記憶された望まれないコンテンツが表示されることを阻止することにより、その望まれないコンテンツは、その表示前の直前の可能なステージにて表示されることを阻止され得る。別のオプションとして、勿論、望まれないコンテンツが表示されることを阻止することは、その望まれないコンテンツが既に表示されてしまった後に、その望まれないコンテンツの表示を終了させることを含んでいてもよい。単なる例示として、望まれないコンテンツは、その初期表示の後に識別され、当該望まれないコンテンツの識別時に、その望まれないコンテンツがそれ以降の任意の時間において表示されることが阻止されてもよい。
【００１５】
[0019]望まれないコンテンツの表示は、任意の望ましい方法にて阻止し得ることに注意されたい。単なる例示として、望まれないコンテンツは、フレームバッファに記憶されたその望まれないコンテンツを所定のコンテンツでオーバーライトすることにより、表示を阻止されてもよい。そのような所定のコンテンツは、警告（例えば、警告メッセージ）、エラーメッセージ、カラーのソリッドブロック又は任意の他のパターン等を含み得る。
【００１６】
[0020]一実施形態では、このような識別及び阻止は、中央処理ユニット（ＣＰＵ）により行うことができる。ＣＰＵは、フレームバッファに記憶されたコンテンツを、当該フレームバッファと直接通信するグラフィック処理ユニット（ＧＰＵ）を用いて、読み取り、それに応じて、そのコンテンツが望まれないものであるとして識別することができる。更に、ＣＰＵは、その識別に基づいて、フレームバッファに記憶された望まれないコンテンツを表示しないようにＧＰＵに命令することにより、その望まれないコンテンツの表示を阻止することができる。
【００１７】
[0021]別の実施形態では、そのような識別及び阻止は、ＧＰＵ等の如きグラフィックプロセッサにより行うことができる。例えば、そのような識別及び阻止を行うためのコードが、グラフィックプロセッサにて実施される。グラフィックプロセッサは、前述したように、フレームバッファと直接通信することができる。このように、グラフィックプロセッサは、オプションとして、そのようなコンテンツを望まれないものとして識別し、更にその望まれないコンテンツの表示を阻止するために、フレームバッファから直接に（例えば、グラフィックプロセッサからフレームバッファへコンテンツを通すのに他の中間ハードウエアを必ずしも必要とせずに）コンテンツを取り出してもよい。
【００１８】
[0022]画像コンテンツを識別するための多くのアルゴリズムは、グラフィックプロセッサでの並列処理に適している。従って、グラフィックプロセッサは、ＣＰＵによるよりも速い速度で処理を行うことができ、望まれないコンテンツの識別及び望まれないコンテンツの表示の阻止を、オプションとして、ＣＰＵよりも、より速く行うことができる。更に、グラフィックプロセッサの処理速度はより速いので、グラフィックプロセッサは、望まれないコンテンツの識別及び望まれないコンテンツの表示の阻止をより効率的に行うことができ、従って、ＣＰＵを通して与えることができるよりは、望まれないコンテンツを識別するためのより完全な技法、望まれないコンテンツを識別するためのより多くの種々なテストを使用することができる。更に、望まれないコンテンツの識別及び望まれないコンテンツの表示の阻止のためにグラフィックプロセッサを使用すると、このような識別及び阻止を行うのにＣＰＵ処理リソースを使わなくて済むので、それらＣＰＵリソースを他の実行アプリケーションのために使用できるように残しておくことができる。
【００１９】
[0023]更に別の実施形態では、識別及び阻止は、ＧＰＵシェーダハードウエアを使用することにより行われてもよい。例えば、フレームバッファに記憶された望まれないコンテンツを識別し、その識別に基づいて望まれないコンテンツの表示を阻止するためのコードが、そのシェーダハードウエアにて実行され得る。
【００２０】
[0024]更に別の実施形態では、識別及び阻止は、グラフィックカード（例えば、グラフィックカードの不揮発性メモリ）に実装されるコンピュータコードによって行われ、当該コンピュータコードは、グラフィックカードがアクティブであるときにはいつでも、実行され得る。グラフィックカードに望まれないコンテンツの識別及び望まれないコンテンツの表示の阻止のためのコンピュータコードを与えておくことにより、そのコンピュータコードは、オプションとして、無効化され得ないものとしておくことができる（例えば、このようなグラフィックカードを使用しているシステムからそのグラフィックカードを物理的に取り外さずに、そのコンピュータコードを無効化することは不可能であるものとすることができるからである）。更に、グラフィックカードに望まれないコンテンツの識別及び望まれないコンテンツの表示の阻止のためのコンピュータコードを与えておくことにより、そのコンピュータコードは、グラフィックカードが実装されるコンピュータのオペレーティングシステム又は他のソフトウエアとは完全に独立して作動し得る。
【００２１】
[0025]グラフィックプロセッサを使用して、画像又はビデオ情報以外のコンテンツを識別しその出力を阻止してもよい。多くのパターン認識アルゴリズムが、ＧＰＵでの並列処理に適しており、従って、ＣＰＵの計算負荷を軽減しつつ、多くのタイプのコンテンツの識別を効率よく行うことができる。別のオプションの実施形態（図示せず）では、望まれないオーディオが識別される。例えば、望まれないオーディオは、音声認識を使用して、当該オーディオがテキストへ変換され、望まれないものであると予め決められているテキストと比較されるようにして、識別されてもよい。勿論、望まれないオーディオは、そのオーディオを、望まれないものであると予め決められているオーディオと比較することによっても識別することができる。従って、もし、一致が識別されるならば、そのオーディオは、望まれないものであるとして識別され得る。しかしながら、勿論、望まれないオーディオは、任意の望ましい方法にて識別することができる。
【００２２】
[0026]更に、望まれないオーディオの可聴出力が、阻止され得る。例えば、望まれないオーディオは、所定のオーディオ等でオーバーライトされる。更に、このような望まれないオーディオの識別及び望まれないオーディオの可聴出力の阻止は、オーディオを出力するために使用されるプロセッサによって行うことができる。従って、さもなければ望まれないオーディオの可聴出力を与えてしまうようなプロセッサは、そのオーディオが望まれないものであるとの識別に基づいて、その可聴出力を阻止することができる。
【００２３】
[0027]オプションとして、望まれないオーディオに対して、ある遅延（例えば、３秒等）を、（例えば、その望まれないオーディオの可聴出力の開始時に）導入することができる。別のオプションとして、望まれないオーディオを前走査することができる。この目的のため、そのような遅延及び／又は前走査により、オーディオが望まれないオーディオの出力前に望まれないものであるとの決定をなすことができ、そのようなオーディオが望まれないものであるとの決定に応答して、その望まれないオーディオが出力されることを阻止し得る。
【００２４】
[0028]図１の前述の説明及び／又は他の図に関しての前述の説明のいずれもが、望まれないオーディオの可聴出力を、その識別に基づいて阻止するための前述の技法の更なる詳細を与えるのに使われうるものであることに注意されたい。単なる例示として、ディスプレイドライバに関する説明はいずれも、オーディオドライバとして望まれないオーディオ出力の阻止に適用することができ、グラフィックプロセッサに関する説明はいずれも、オーディオを出力するためのプロセッサとして望まれないオーディオ出力の阻止に適用することができ、フレームバッファに関する説明はいずれも、オーディオの可聴出力前にオーディオを記憶するためのバッファとして望まれないオーディオ出力の阻止に適用できる等である。
【００２５】
[0029]次に、種々のオプションのアーキテクチャー及び特徴に関して、より例示的な情報を示す。これらアーキテクチャー及び特徴を用いて、前述のフレームワークを、ユーザーの希望に応じて、実施してもよく、実施しなくてもよい。以下の情報は、例示の目的で示すものであり、いかようにも限定的なものであると解釈されるべきものではないことに、特に注意されたい。以下の特徴のいずれもが、説明する他の特徴を除いて又は除くことなく、任意に組み入れることができるものである。
【００２６】
[0030]図２は、別の実施形態による、フレームバッファに記憶された望まれないコンテンツの表示を阻止するためのシステム２００を示している。オプションとして、このシステム２００は、図１の方法１００を実行するように実施することができる。しかしながら、勿論、このシステム２００は、任意の希望の環境において実施されてもよい。前述した定義は、この説明を通して適用されるものであることにも注意されたい。
【００２７】
[0031]図示するように、コンピュータ（例えば、パーソナルコンピュータ）上で作動するソフトウエアグラフィックドライバプログラム２０２は、グラフィックプロセッサ２０４と通信する。このドライバ２０２は、表示装置（図示せず）にコンテンツ（例えば、画像、ビデオ等）を表示させるため、グラフィックプロセッサを制御し、それと通信することができる任意のソフトウエアプログラムを含み得る。従って、ドライバ２０２は、ディスプレイドライバ２０２を含み得る。
【００２８】
[0032]更に、グラフィックプロセッサ２０４は、ＧＰＵの如き、表示装置にコンテンツを表示するため当該コンテンツを処理することのできる任意のプロセッサ又はプロセッサ及び補助コンポーネントの集合を含み得る。グラフィックプロセッサ２０４は、表示装置にコンテンツを表示するのに必要な計算タスクの多くを行うことができる。例えば、表示すべき全てのコンテンツが、ＣＰＵプログラムにより、グラフィックプロセッサ２０４へ送られて、グラフィックプロセッサ２０４が、当該コンテンツを処理して、表示装置に表示される最終画像を生成してもよい。種々の実施形態では、グラフィックプロセッサ２０４は、コンピュータマザーボードの一部としてＣＰＵ等に一体化されるコンピュータアドオンカードとして、実施することができる。
【００２９】
[0033]図示するように、グラフィックプロセッサ２０４は、フレームバッファ２０６と直接通信する。フレームバッファ２０６は、メモリであり、グラフィックプロセッサ２０４と並設され得るものであり、表示装置に表示されるべきコンテンツの画像を記憶するのに使用されるものである。例えば、フレームバッファ２０６は、表示されるべきコンテンツを、グラフィックドライバ２０２を介してアプリケーションから受け取り、当該コンテンツの画像を記憶することができる。オプションとして、複数のフレームバッファを設け、フレームバッファメモリを使用して、グラフィックプロセッサ２０４により処理される他のタイプのデータを記憶してもよい。一実施形態では、フレームバッファ２０６メモリは、グラフィックプロセッサ２０４と並設され、グラフィックプロセッサ２０４により直接にアクセスされ制御される専用メモリであってもよい。別の実施形態では、フレームバッファ２０６メモリは、ＣＰＵシステムメモリと共通であって、グラフィックプロセッサ２０４により直接的又は間接的にアクセスされるものであってよい。
【００３０】
[0034]グラフィックプロセッサ２０４の表示出力モジュール２０７は、フレームバッファ２０６のコンテンツを読み取り、フレームバッファ２０６に記憶されたピクセル値を表示装置へと送信するのに必要とされる電気信号を生成することができる。表示出力は、（図示するように）グラフィックプロセッサ内に含まれていてもよいし、又は、オプションとして、全て又は部分的に別のコンポーネントに含まれていてもよい。
【００３１】
[0035]オペレーティングシステム及びコンピュータにて実行される種々のアプリケーションは、フレームバッファ２０６に記憶されて次いで表示出力モジュール２０７を介して表示装置に表示されるコンテンツを生成するよう、グラフィックドライバ２０２と通信し得る。これらアプリケーションは、表示用のコンテンツを生成するため、グラフィックプロセッサ２０４へ、表示用の最終ピクセル値を送り、又は、コマンド及びデータを送ることができる。
【００３２】
[0036]この目的のため、グラフィックプロセッサ２０４は、フレームバッファ２０６に記憶された望まれないコンテンツを識別し、更に、その識別に基づいて、そのような望まれないコンテンツの表示を阻止することができる。一実施形態では、グラフィックプロセッサ２０４は、望まれないコンテンツの識別及び識別された望まれないコンテンツの表示の阻止を行うように、プログラムされる。オプションとして、グラフィックプロセッサ２０４は、ＮＶＩＤＩＡ（登録商標）コーポレーションのＣＵＤＡ（商標）プログラミング環境を使用して、プログラムされ得る。
【００３３】
[0037]別の実施形態では、グラフィックプロセッサ２０４は、望まれないコンテンツの識別を行い、識別された望まれないコンテンツの表示の阻止を行うように、グラフィックドライバ２０２により制御され得る。例えば、ドライバ２０２は、フレームバッファ２０６に記憶されたコンテンツが望まれないコンテンツであるかについて分析するようにグラフィックプロセッサ２０４を制御するコードでプログラムされてもよい。オプションとして、ドライバ２０２は、フレームバッファ２０６に記憶されたコンテンツが望まれないコンテンツを含むかについて識別するため、そのようなコンテンツを分析するようにグラフィックプロセッサ２０４に定期的に命令してもよい。単なる例示として、このような分析は、Guardware LLCによるｉＳｈｉｅｌｄ(商標)を使用して、行うことができる。
【００３４】
[0038]例えば、一実施形態では、グラフィックプロセッサ２０４は、フレームバッファ２０６に記憶されたコンテンツが、望まれないコンテンツを含むか識別するために、スケジュールに基づいてそのようなコンテンツを定期的に分析してもよい。別の実施形態では、グラフィックプロセッサ２０４は、グラフィックプロセッサ２０４の負荷に基づいてそのコンテンツを定期的に分析してもよい。例えば、グラフィックプロセッサ２０４の負荷が所定のしきい値より大きい場合には、グラフィックプロセッサ２０４は、そのような分析を行わないように自動的に無効化されてもよい。
【００３５】
[0039]更に別の実施形態では、グラフィックプロセッサ２０４は、そのような分析を無効化するためのユーザーによる（例えば、ＧＵＩ等を介しての）手動選択に応答して、当該分析を行わないように無効化されてもよい。更に別の実施形態では、グラフィックプロセッサ２０４は、フレームバッファ２０６に記憶されたコンテンツが所定のアプリケーションに関連付けられている（例えば、所定のアプリケーションから表示のために出力される）との決定に応答して、そのような分析を行わないように無効化されてもよい。そのような所定のアプリケーションとしては、ホワイトリストアプリケーション、望まれないコンテンツを含まないと予め決められたアプリケーション等が存在し得る。
【００３６】
[0040]別の実施形態では、グラフィックプロセッサ２０４は、フレームバッファ２０６に記憶されたコンテンツのサブパートのみを分析するように、（例えば、前述したように、自動的に又は手動的に）構成されてもよい。このようなコンテンツのサブパートとしては、コンテンツの幾つかのフレームのみ、そのコンテンツの１つのフレームの部分のみ等があり得る。勿論、グラフィックプロセッサ２０４は、所定のポリシー、ルール等に基づいて、フレームバッファ２０６に記憶されたコンテンツを分析することもできる。
【００３７】
[0041]別のオプションとして、グラフィックプロセッサ２０４は、ＧＵＩを介して受け取ったユーザー入力に従って、フレームバッファ２０６に記憶されたコンテンツを分析することもできる。例えば、ＧＵＩにより、ユーザーは、その分析を作動させたり非作動状態にすることができ、又は、その分析の感度を種々のレベルのコンテンツに対して制御することができる。例えば、フレームバッファ２０６に記憶されたコンテンツが望まれないものである確率尺度を生成することができる。従って、グラフィックプロセッサ２０４は、（例えば、ＧＵＩ等を介してユーザーにより設定されるような）所定の確率しきい値を満たす確率を有するコンテンツのみをブロックするように構成されてもよい。
【００３８】
[0042]更に別のオプションとして、グラフィックプロセッサ２０４は、ドライバ２０２が不正に変更されているか又は無効化されている場合に、ビデオ出力を無効化するように設定されてもよい。従って、フレームバッファ２０６に記憶されたコンテンツの表示は、このようなコンテンツの分析を行うコードが作動状態でない場合に、阻止される。グラフィックプロセッサ２０４によって行われる分析の制御は、オプションとして、パスワード又は他の認証手段により保護され得る。このようにして、グラフィックプロセッサ２０４の処理リソースの消費が減少される。
【００３９】
[0043]更に、ドライバ２０２は、望まれないコンテンツの識別に基づいて、そのような望まれないコンテンツの表示を阻止するようにグラフィックプロセッサ２０４を制御し得る。単なる例示として、ドライバ２０２は、フレームバッファ２０６に記憶された望まれないコンテンツを他の所定のコンテンツでオーバーライトするようにグラフィックプロセッサ２０４に命令することができる。このようにして、グラフィックプロセッサ２０４は、フレームバッファ２０６に記憶された望まれないコンテンツを識別し、その識別に基づいてそのような望まれないコンテンツの表示を阻止するのに使用され得る。
【００４０】
[0044]一実施形態では、望まれないコンテンツを識別し、その望まれないコンテンツの表示を阻止するため、そのような目的のためにＣＰＵを使用する代わりに、グラフィックプロセッサ２０４を使用することにより、グラフィックプロセッサ２０４によって行われる識別及び阻止をより効率的に行うようにすることができる。例えば、グラフィックプロセッサ２０４は、フレームバッファ２０６との間の直接通信により、フレームバッファ２０６に直接的にアクセスでき、従って、ＣＰＵは、分析のためにフレームバッファ２０６からコンテンツを引き出し、そのような分析の後にコンテンツをフレームバッファ２０６へと書き込み戻すようなことをしないで済む。更に、グラフィックプロセッサ２０４は、フレームバッファ２０６へ直接アクセスし、フレームバッファ２０６内に存在するものを制御するのであるから、フレームバッファ２０６に記憶されたコンテンツは、フレームバッファ２０６に記憶されたそのコンテンツの表示の前に、望まれないコンテンツを識別するためグラフィックプロセッサ２０４により検査され得る。
【００４１】
[0045]図３は、更に別の実施形態による、フレームバッファに記憶されたコンテンツが望まれないものであるかの決定と、他のグラフィック処理とを並列して行うための方法３００を示している。オプションとして、この方法３００は、図１及び／又は図２のコンテクスト及び／又は環境において実施されてもよい。しかしながら、勿論、この方法３００は、任意の希望の環境において実施することができるものである。同様に、前述した種々な定義は、ここでの説明を通して適用されるものであることに注意されたい。
【００４２】
[0046]オペレーション３０２に示すように、アプリケーションがコンテンツをディスプレイへと描画する。このアプリケーションは、表示のためコンテンツを出力することができる任意のアプリケーションを含み得る。種々の実施形態では、アプリケーションは、パーソナルコンピュータ、テレビジョン等にて実行される。単なる例示として、アプリケーションは、ウエブブラウザを含むことができる。
【００４３】
[0047]更に、オペレーション３０４に示すように、オペレーティングシステムが、コンテンツをフレームバッファへと描画するようディスプレイドライバに要求する。このようにして、ディスプレイドライバは、コンテンツの画像をフレームバッファへと書き込む。従って、フレームバッファは、コンテンツの画像を記憶することができる。
【００４４】
[0048]更に、オペレーション３０６に示すように、コンテンツが、フレームバッファから読み取られる。一実施形態では、コンテンツは、グラフィックプロセッサにより読み取られてもよい。別の実施形態では、コンテンツは、ＣＰＵにより読み取られてもよい。更に別の実施形態では、コンテンツは、グラフィックカードの表示出力パイプラインを使用して、フレームバッファから読み取られてもよい。
【００４５】
[0049]更に、コンテンツが、オペレーション３０８に示すように、分析される。本実施形態に関しては、コンテンツの分析は、コンテンツのいずれかの部分が望まれないものであるかを決定することを含み得る。単なる例示として、コンテンツは、既知の望まれないコンテンツ（例えば、望まれないものであると予め決定されたコンテンツ）と比較され、一致するとき、そのフレームバッファに記憶されたコンテンツが望まれないものであると指示される。
【００４６】
[0050]判断３１０において、コンテンツが望まれないものであるかの決定がなされる。コンテンツが望まれないものであると決定される場合には、応答動作がなされる。オペレーション３１２に注意されたい。一実施形態では、この応答動作は、フレームバッファに記憶された望まれないコンテンツを所定のコンテンツ（例えば、警告等を表示する画像）でオーバーライトし、その後にフレームバッファに記憶されたコンテンツを表示させることを含み得る。別の実施形態では、この応答動作は、ディスプレイドライバを介して、望まれないコンテンツを指示するメッセージをオペレーティングシステムへと送信することを含み得る。更に別の実施形態では、この応答動作は、オペレーティングシステムがＣＰＵを使用して、望まれないコンテンツの識別を記録し、警告及び／又はエラーメッセージをユーザーへ与えること等を含む。
【００４７】
[0051]しかしながら、判断３１０において、コンテンツが望まれないものではないと決定される場合には、そのコンテンツは、ディスプレイへ書き込まれる。オペレーション３１４に注意されたい。図示するように、フレームバッファに記憶されたいずれの望まれないコンテンツの識別及びそのような識別された望まれないコンテンツの阻止（オペレーション３０６−３１２）は、オペレーション３１６に示すような他のグラフィック処理と並列して行われ得る。種々な実施形態では、オペレーション３１６に示された他のグラフィック処理としては、２次元コンテンツのレンダリング、３次元コンテンツのレンダリング、他のシェーダープログラムの実行、その他のコンテンツの表示等がある。
【００４８】
[0052]オプションとして、オペレーション３０６−３１２は、オペレーション３１６にて示す他のグラフィック処理と並んで、又は当該他のグラフィック処理とインターリーブされて、バックグラウンドにて実行されてもよい。単なる例示として、オペレーション３０６−３１２及び３１６を行うグラフィックプロセッサは、処理能力のうちの所定の割合（例えば、１０％）を、フレームバッファに記憶されたいずれもの望まれないコンテンツの識別及びそのような識別された望まれないコンテンツの阻止（オペレーション３０６−３１２）に対して専用とすることができる。更に、他のグラフィック処理（オペレーション３１６）に関連したコンテンツも、オペレーション３１４に示すように、ディスプレイへと書き込まれ得る。更に、オペレーション３０６−３１２は、オプションとして、単一フレーム毎にではなく、不定期に行うようにすることもできる。望まれないコンテンツが非常に短い期間だけ表示される場合には、それは、必ずしもユーザーには気づかれないかもしれない。従って、望まれないコンテンツについてフレームバッファを定期的に検査するだけとすることで、全処理負荷を減ずることができる。別のオプションとして、各フレーム周期中にフレームバッファの交互の部分を検査し、従って、幾つかのフレーム周期に亘って、全表示画像を検査することができるようにすることにより、各フレーム周期で全表示画像を検査するのに必要とされるよりも、処理を減ずることができる。
【００４９】
[0053]図４は、更に別の実施形態による、並列処理を提供するためのシステム４００を示している。オプションとして、このシステム４００は、図１から図３のコンテクスト及び／又は環境にて実施され得る。しかしながら、勿論、このシステム４００は、任意の希望の環境においても実施することができるものである。ここでもまた、前述した定義は、ここでの説明を通して適用できるものであることに注意されたい。
【００５０】
[0054]図示するように、並列処理アーキテクチャー４０２が与えられている。このような並列処理アーキテクチャー４０２は、複数の並列プロセッサ４０４を含んでいる。図示していないが、このような並列プロセッサ４０４は、所定数のスレッドにて動作することのできるものである。この目的のために、並列プロセッサ４０４の各々は、並列に動作し、対応するスレッドもまた、並列に動作する。
【００５１】
[0055]一実施形態では、並列処理アーキテクチャー４０２としては、単一命令複数データ（ＳＩＭＤ）アーキテクチャーがある。このようなシステムにおいては、プロセッサにより実行されるスレッドは、幾つかのグループにまとめられていて、時間的に任意の瞬時においては、単一グループ内の全てのスレッドが、潜在的に異なるデータに対してではあるが、厳密に同じ命令を実行するようになっている。
【００５２】
[0056]別の実施形態では、前述の並列処理アーキテクチャー４０２は、グラフィックプロセッサ又はグラフィック処理能力を実装した任意の他の集積回路（例えば、チップセット、システムオンチップ（ＳＯＣ）、ＣＰＵと一体とされたコア、ディスクリートプロセッサ等の形式）を含むことができる。更に別の実施形態では、前述の並列処理アーキテクチャー４０２は、セルプロセッサのような１つ以上のベクトル処理要素を有するプロセッサを含むことができ、これについては、ソニー（登録商標）、東芝（登録商標）及びＩＢＭ（登録商標）社により共同開発されたセル広帯域エンジンマイクロプロセッサアーキテクチャーを参照されたい。
【００５３】
[0057]図４を更に続けて参照する。並列処理アーキテクチャー４０２は、ローカル共有メモリ４０６を含んでいる。並列処理アーキテクチャー４０２の並列プロセッサ４０４の各々は、それ自身のローカル共有メモリ４０６に対する読み取り及び／又は書き込みを行うことができる。この共有メモリ４０６は、各プロセッサに関連付けられた物理的に分離したメモリからなっていてもよく、プロセッサ４０４の間で共用される１つ以上のメモリの別々に割り当てられた領域からなっていてもよい。更に、例示した実施形態では、共有メモリ４０６は、並列処理アーキテクチャー４０２のプロセッサ４０４が実装されている集積回路にて実施することもできる。
【００５４】
[0058]更に、グローバルメモリ４０８を含むように図示している。使用時には、このようなグローバルメモリ４０８は、並列処理アーキテクチャー４０２の全てのプロセッサ４０４にアクセスすることができる。図示するように、このようなグローバルメモリ４０８は、前述の並列処理アーキテクチャー４０２のプロセッサ４０４が実装される集積回路とは別の集積回路にて実施することができる。並列処理アーキテクチャー４０２は、図４の種々の集積回路上にて特定の態様で実施されるように示されているが、システムコンポーネントは、必要に応じて、同じ集積回路にて実施されてもよいし、又は同じ集積回路にて実施されなくてもよいことに注意されたい。
【００５５】
[0059]更に又、図４のシステム４００は、必要に応じて、並列処理アーキテクチャー４０２を制御するためのドライバ４１０を更に含むことができる。一実施形態では、ドライバ４１０は、そのような制御を行えるようにするためのライブラリを含むことができる。例えば、このようなライブラリ４１０は、本明細書で説明した機能をインスタンス化することのできるライブラリコールを含むことができる。更に、別の実施形態では、ドライバ４１０は、並列処理アーキテクチャー４０２（例えば、グラフィックプロセッサ等）を使用して汎用の計算能力を提供することができる。このようなドライバの例は、ＮＶＩＤＩＡコーポレーションによって提供されているＣＵＤＡ（商標）フレームワークと共に提供されている。使用時には、このドライバ４１０は、フレームバッファに記憶された望まれないコンテンツを識別し、その識別に基づいて望まれないコンテンツの表示を阻止するように、並列処理アーキテクチャー４０２を制御するのに使用され得る。
【００５６】
[0060]図５は、種々の前述の実施形態の種々のアーキテクチャー及び／又は機能を実施することのできる典型的なシステム５００を例示している。図示するように、システム５００は、通信バス５０２に接続される少なくとも１つのホストプロセッサ５０１を含むように提供されている。システム５００は、主メモリ５０４も含んでいる。制御ロジック（ソフトウエア）及びデータは、ランダムアクセスメモリ（ＲＡＭ）の形をとることのできる主メモリ５０４に記憶されている。
【００５７】
[0061]システム５００は、グラフィックプロセッサ５０６、及びディスプレイ５０８、即ち、コンピュータモニタも含んでいる。一実施形態では、グラフィックプロセッサ５０６は、複数のシェーダーモジュール、ラスタリゼーションモジュール等を含むことができる。前述のモジュールの各々は、ＧＰＵを形成するため単一半導体プラットフォームに配設することもできる。更に、グラフィックプロセッサは、フレームバッファ５１２と通信することができる。
【００５８】
[0062]本説明では、単一半導体プラットフォームとは、ソールユニタリ半導体ベース集積回路又はチップを指している。「単一半導体プラットフォーム」との用語は、オンチップオペレーションをシミュレートし、従来のＣＰＵ及びバスによる実施を使用するよりも実質的に改善することができる増大したコネクティビティを有するマルチチップモジュールを指すこともあることに、注意されたい。勿論、種々なモジュールを、ユーザーの希望に応じて、別々に又は半導体プラットフォームの種々な組合せにおいて配設することもできる。
【００５９】
[0063]システム５００は、２次記憶装置５１０を含むことができる。この２次記憶装置５１０としては、例えば、ハードディスクドライブ及び／又はフロッピーディスクドライブ、磁気テープドライブ、コンパクトディスクドライブ等を表すリムーバブル記憶装置ドライブがある。リムーバブル記憶装置ドライブは、周知の方法にて、リムーバブル記憶装置に対して読み取り及び／又は書き込みを行う。
【００６０】
[0064]コンピュータプログラム又はコンピュータ制御ロジックアルゴリズムが、主メモリ５０４及び／又は２次記憶装置５１０に記憶される。このようなコンピュータプログラムは、実行時に、システム５００が種々の機能を行うようにする。メモリ５０４、記憶装置５１０及び／又は任意の他の記憶装置は、コンピュータ読み取り可能な媒体の可能な例である。
【００６１】
[0065]一実施形態では、種々の前述の図のアーキテクチャー及び／又は機能は、ホストプロセッサ５０１、グラフィックプロセッサ５０６、ホストプロセッサ５０１及びグラフィックプロセッサ５０６の両者の能力の少なくとも一部分を果たすことのできる集積回路（図示せず）、チップセット（即ち、関連機能等を行うためのユニットとして働くように設計され販売されている集積回路のグループ）及び／又はそのようなための任意の他の集積回路のコンテクストにおいて実施され得る。
【００６２】
[0066]更に、種々の前述の図のアーキテクチャー及び／又は機能は、汎用コンピュータシステム、回路板システム、娯楽目的専用のゲームコンソールシステム、特定用途向けシステム及び／又は任意の他の希望のシステムのコンテクストにおいて実施され得る。例えば、システム５００は、デスクトップコンピュータ、ラップトップコンピュータ及び／又は任意の他のタイプのロジックの形式をとることができる。更に、システム５００は、これに限定されないが、個人向け携帯情報端末（ＰＤＡ）装置、携帯電話装置、テレビジョン等を含む、種々の他の装置の形式をとることができる。
【００６３】
[0067]更に、図示していないが、システム５００は、通信目的で、ネットワーク（例えば、テレコミュニケーションネットワーク、ローカルエリアネットワーク（ＬＡＮ）、ワイヤレスネットワーク、インターネットの如きワイドエリアネットワーク（ＷＡＮ）、ピアツーピアネットワーク、ケーブルネットワーク等）に結合することができる。
【００６４】
[0068]種々の実施形態について上に説明してきたが、それらは単に例示するためになされたものであり、これらに限定するものではないことを理解されたい。従って、好ましい実施形態の幅及び範囲は、前述した典型的な実施形態のいずれによっても制限されるものでなく、特許請求の範囲の記載及びそれらの均等物によってのみ定められるべきものである。
【符号の説明】
【００６５】
１００…方法、２００…システム、２０２…ソフトウエアグラフィックドライバプログラム（グラフィックドライバ）、２０４…グラフィックプロセッサ、２０６…フレームバッファ、２０７…表示出力モジュール、３００…方法、４００…システム、４０２…並列処理アーキテクチャー、４０４…並列プロセッサ、４０６…ローカル共有メモリ、４０８…グローバルメモリ、４１０…ドライバ（ライブラリ）、５００…システム、５０１…ホストプロセッサ（中央プロセッサ）、５０２…通信バス、５０４…主メモリ、５０６…グラフィックプロセッサ、５０８…ディスプレイ、５１０…２次記憶装置、５１２…フレームバッファ。
【図１】
2010123108.tif 000003
【図２】
2010123108.tif 000004
【図３】
2010123108.tif 000005
【図４】
2010123108.tif 000006
【図５】
2010123108.tif 000007
【外国語明細書】
2010123108000001.pdf