説明

フレームバッファに記憶された望まれないコンテンツの表示を阻止するためのシステム、方法、及びコンピュータプログラム製品

【課題】フレームバッファに記憶された望まれないコンテンツの表示装置への表示を阻止する。
【解決手段】表示装置用のフレームバッファにデータが転送されて記憶されると、そのデータが表示に望ましいかどうかを所定の処理を行って判別する。望まれないコンテンツと判別された場合、その判別結果の種別に応じて、当該望まれないコンテンツの表示装置への表示を阻止する。

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

【特許請求の範囲】
【請求項1】
フレームバッファに記憶された望まれないコンテンツを識別するステップと、
前記望まれないコンテンツの識別に基づいて、前記望まれないコンテンツの表示を阻止するステップと、
を含む方法。
【請求項2】
前記望まれないコンテンツは、視覚コンテンツを含む、請求項1に記載の方法。
【請求項3】
前記望まれないコンテンツは、ポルノグラフィーを含む、請求項2に記載の方法。
【請求項4】
前記望まれないコンテンツは、ビデオを含む、請求項2に記載の方法。
【請求項5】
前記望まれないコンテンツの前記表示は、テレビジョンを介した表示を含む、請求項1に記載の方法。
【請求項6】
前記望まれないコンテンツの前記表示は、パーソナルコンピュータを介した表示を含む、請求項1に記載の方法。
【請求項7】
前記識別するステップ及び阻止するステップは、グラフィックプロセッサにより実行される、請求項1に記載の方法。
【請求項8】
前記グラフィックプロセッサは、グラフィック処理ユニット(GPU)を含む、請求項7に記載の方法。
【請求項9】
前記識別するステップ及び阻止するステップは、シェーダハードウエアを使用して実行される、請求項1に記載の方法。
【請求項10】
前記識別するステップ及び阻止するステップは、グラフィックカード上に実装されたコンピュータコードによって与えられる、請求項1に記載の方法。
【請求項11】
前記コンピュータコードは、無効化され得ない、請求項10に記載の方法。
【請求項12】
前記望まれないコンテンツは、前記フレームバッファに記憶された前記望まれないコンテンツを所定のコンテンツでオーバーライトすることにより、表示を阻止される、請求項1に記載の方法。
【請求項13】
前記所定のコンテンツは、警告を含む、請求項12に記載の方法。
【請求項14】
前記識別するステップ及び阻止するステップは、他のグラフィック処理と並列して実行される、請求項1に記載の方法。
【請求項15】
前記他のグラフィック処理は、2次元コンテンツのレンダリングを含む、請求項14に記載の方法。
【請求項16】
前記望まれないコンテンツは、前記フレームバッファに記憶されたコンテンツの分析を有効化する手動生成コマンドに応答して識別される、請求項1に記載の方法。
【請求項17】
前記望まれないコンテンツは、前記フレームバッファに記憶されたコンテンツの分析を有効化する自動生成コマンドに応答して識別され、前記コマンドは、前記望まれないコンテンツの識別及び前記望まれないコンテンツの表示の阻止を行うグラフィックプロセッサの負荷に基づいて自動的に生成される、請求項1に記載の方法。
【請求項18】
有形のコンピュータ読み取り可能な媒体にて実施されるコンピュータプログラム製品であって、
フレームバッファに記憶された望まれないコンテンツを識別するためのコンピュータコードと、
前記望まれないコンテンツの識別に基づいて、前記望まれないコンテンツの表示を阻止するためのコンピュータコードと、
を含むコンピュータプログラム製品。
【請求項19】
望まれないコンテンツの識別に基づいて前記望まれないコンテンツの表示を阻止するためのプロセッサを備える装置。
【請求項20】
前記プロセッサは、バスを介してメモリ及びディスプレイとの通信を維持する、請求項19に記載の装置。
【請求項21】
望まれないオーディオを識別するステップと、
前記望まれないオーディオの可聴出力を阻止するステップと、
を含み、
オーディオを出力するために使用されるプロセッサが、前記識別するステップ及び阻止するステップを実行する、
方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−123108(P2010−123108A)
【公開日】平成22年6月3日(2010.6.3)
【国際特許分類】
【外国語出願】
【出願番号】特願2009−189944(P2009−189944)
【出願日】平成21年8月19日(2009.8.19)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(501261300)エヌヴィディア コーポレイション (166)
【Fターム(参考)】