(58)【調査した分野】(Int.Cl.,DB名)
前記色データを前記未乗算済み色データへ変換するステップと、前記未乗算済み色データを前記第2色空間へ変換するステップと、前記未乗算済み色データを前記第1乗算済み色データへ変換するステップは、さらに前記色データをキャッシュに記憶するステップを含む、請求項1に記載の方法。
前記処理装置は、前記処理装置のキャッシュによって、前記色データを前記未乗算済み色データへ変換し、前記未乗算済み色データを前記第2色空間へ変換し、前記未乗算済み色データを前記第1乗算済み色データへ変換する、請求項9に記載の色変換システム。
【発明を実施するための形態】
【0015】
以下に、添付の図面を参照して、本発明の具体的な実施形態について、詳細に説明する。整合性を図るため、各図面における類似の要素には同様の参照符号が付加される。
【0016】
以下に記載される本発明の実施形態に関する詳細な説明においては、本発明のより深い理解を提供するためいくつかの詳細な説明が記載される。しかし、これらの詳細な説明がなくとも本発明が実施可能であることは当業者にとって明らかであろう。また、不必要な混乱を避けるために、周知の特徴については詳細な説明が省略されている。
【0017】
一般に、本発明の実施形態において、色データを一の色空間(例えば、RGB、GRAY、CMY、HSL、等)から別の色空間へ変換する方法、システム及び非一時的コンピューター読取可能記録媒体(CRM)が提供される。システムの例として、印刷システム、デジタルビデオシステム、グラフィック編集システム、及びPC、タブレット、スマートフォン等のその他の色データを扱うコンピューティングシステムが挙げられるが、これらに限定されない。説明の便宜上、以下の実施形態の説明においては主に印刷システムを取り上げる。
【0018】
クライアントPCからの要求に応じてページ記述言語(PDL)で表現される電子文書を印刷する場合、印刷システムは一の色空間から別のものへの色変換を支援するために色変換モジュールを実行する。色変換モジュールはハードウェア、ソフトウェア、又はこれらの組み合わせによって実行しうる。例えば、PDLはRGB色空間におけるページの色データを記述する場合もあるが、印刷システムによる印刷の前に、色データを一般に物理的なプリンターで用いられるCMYK色空間に変換する必要がある。
【0019】
上述のように、従来、乗算済み色ピクセルのスキャンラインをRGBaからCMYKaへ変換するには上述の3つのステップ(ステップ1〜3)を実行する必要があった。
【0020】
パフォーマンスを向上するために、本発明の一以上の実施形態において、乗算済み色チャンネルを色空間モジュールに直接入力する。一の色空間から別の色空間へ実際に変換する際に色空間モジュールはすべてのピクセルにアクセスする必要がある(上述のステップ2)。すると、色変換処理に「未乗算済み」にする処理と「再乗算済み」にする処理とを追加することは難しくなる。上述の3つのステップを実行する処理の代わりに、本発明の一以上の実施形態における処理によれば、以下の2つのステップを実行する。
【0021】
−新ステップ1:入力データが乗算済みであり、出力も乗算済みである必要があるかどうかを色変換モジュールに通知する。
−新ステップ2:すべての色ピクセルとアルファピクセルとを色空間モジュールに転送し、色をRGBaからCMYKaへ変換する。変換の一部としてまずピクセルを「未乗算済み」状態にし、ピクセルを新しい色空間へ変換し、そして必要であればピクセルを「再乗算済み」状態にする。各変換処理において中間色データはCPUレジスター等のキャッシュメモリーに一時的に記憶される。
【0022】
一以上の実施形態におけるこの2つのステップを実行する処理においては、乗算済みの色をまず「未乗算済み」状態にする事前のパスと変換された色を「再乗算済み」状態にする事後のパスとを実行するために色変換モジュールを呼び出す他のシステム又はアプリケーションが必要なくなり、これによりこれら2つのメモリーへのアクセスを抑えることができる。その結果、本発明の実施形態によれば、色変換のパフォーマンスを向上させることができ、データ量が増えるほど、向上の度合いがより顕著になる。色変換モジュール以外について、上述の2つのステップを実行する処理を採用する、本発明の一以上の実施形態に基づく方法によれば、ユーザーは色変換後も乗算済みの色フォーマットで引き続き作業することができる。
【0023】
本発明の実施形態におけるその他の特徴について図面を参照して説明する。
図1は本発明の一以上の実施形態におけるシステム(100)を図示する。
図1に示すように当該システム(100)は色変換モジュール(102)を備え、色変換モジュール(102)はインターフェイス(104)と、色変換処理部(106)と、未乗算済み処理部(108)と、乗算済み処理部(110)と、データキャッシュ(112)とを有する。
【0024】
色変換モジュール(102)は他のシステム又はアプリケーションから提供された非乗算済み色データ(150)及び乗算済み色データ(160)の両者を読み込み、色データを一つの色空間から別の色空間へ変換する。色変換モジュール(102)は非乗算済み(つまりそのままの)色データ(155)又は乗算済み色データ(165)を色変換して出力しうる。非乗算済み色データ(150、155)及び乗算済み色データ(160、165)として、文書データ、画像データ、動画データ等が挙げられるが、これらに限定されない。
【0025】
色変換モジュール(102)は色空間変換に必要な一以上の色プロファイル(170)を読み込みうる。各色プロファイルは一つの色空間と別の色空間との間の色値を対応させた表である。色プロファイルの詳細は当該技術分野において周知の内容であるので、詳細は省略される。色プロファイルは内部メモリー又はシステム(100)上の記憶装置に記憶される。
【0026】
これらの各コンポーネント(104)−(112)は同じコンピューティングデバイス(例えば、プリンター、デスクトップコンピューター、サーバーコンピューター、ラップトップコンピューター、タブレット、スマートフォン、ウェアラブル装置、等)に設けられ、又は有線及び/又は無線のセグメントを有するネットワークによって接続される異なるコンピューティングデバイスに設けられる。さらに、一以上の各コンポーネント(104)−(112)は一以上のプロセッサー、グラフィックプロセッサー、又はその他の色変換を実行するために最適化された専用のハードウェアによって実行しうる。図示は省略されているが、システム(100)は記憶装置を有することができ、上述のコンポーネントのうちの一つによって処理済み及び/又は今後処理するデータを記憶することができる。
【0027】
本発明の一以上の実施形態において、インターフェイス(104)はRGB等の一つの色空間において表現される非乗算済み色データ(150)又は乗算済み色データ(160)をメモリー(例えば、RAM又はメインメモリー)又は記憶装置(例えば、ハードディスクドライブ(HDD)又は半導体ドライブ(SSD))から読み出しうる。本発明の一以上の実施形態において、インターフェイス(104)は他のシステム又はアプリケーションから非乗算済み色データ(150)又は乗算済み色データ(160)を受信しうる。例えば、インターフェイス(104)は他のシステム又はアプリケーションから色データを受信するためにプログラムされたハードウェア又はソフトウェアでありうる。
【0028】
読み出されたり受信されたりした入力色データ(150、160)はデータキャッシュ(112)に記憶されうる。データキャッシュ(112)はCPUデータキャッシュによって実現され、これはメインメモリーよりも速いメモリーである。データキャッシュ(112)は入力色データ(150、160)とともに出力色データ(155、165)を一時的に記憶しうる。中間色データ(例えば、非乗算済み色データ、再乗算済み状態にする前の色変換済み色データ)はCPUレジスターに記憶されうる。本発明の一以上の実施形態において、色変換モジュール(102)が専用のハードウェアモジュール又はチップとして実現される場合、データキャッシュ(112)は専用のキャッシュメモリーによって実現されうる。
【0029】
さらに、インターフェイス(104)は色データとともに追加の情報を読み出したり受信したりしうる。例えば、インターフェイス(104)は入力色データが乗算済みであるかを表現するフラグ(例えば、0又は偽が非乗算済みデータを示し、1又は真が乗算済みデータを示す)及び、出力色データがこれから乗算済みとするべきかを表現する別のフラグ(例えば、0又は偽が非乗算済みデータを示し、1又は真が乗算済みデータを示す)を読み出したり受信したりしうる。追加して又は代わりに他の情報も提供されうる、例えば、入力文書フォーマットを示すフォーマット情報(例えば、XPS、OOXML等)や入力/出力色データの色空間を示す変換情報が挙げられる。このような追加の情報を受信することによって、色変換モジュールは入力データが乗算済みかどうか、出力データを乗算済みとすべきかどうかを知ることができる。一以上の実施形態において、このステップは上述の新ステップ1に対応しうる。
【0030】
本発明の一以上の実施形態において、色変換処理部(106)はインターフェイス(104)を介して読み出されたり受信されたりした色データを色プロファイル(170)を用いて元の色空間から他の色空間へ変換しうる。色データを変換する前に色変換処理部(106)は色データが乗算済みか否かを判断する。例えば、色変換処理部(106)は色データが乗算済みのものであることを示すフラグを読み出しうる。色変換処理部(106)はこのような判断を実行するためのあらゆる方法を採用しうる。また、色変換処理部(106)は上述のフォーマット情報に基づいて入力文書データのフォーマットを知ることによって、当該フォーマットの色データが乗算済みの状態にする必要があると判断しうる。例えば、色変換処理部(106)は文書フォーマットがXPS又はOOXMLである場合、色データが乗算済みであると判断しうる。
【0031】
色変換処理部(106)により入力データが乗算済みのものであると判断された場合、色変換処理部(106)は未乗算済み処理部(108)に色データに対して未乗算済みの状態にする処理をさせ、色プロファイル(170)を用いて色変換を実行する。変換が完了すると、色変換処理部(106)によって、出力データを乗算済みの状態にすべきと判断された場合、色変換処理部(106)は乗算処理部(110)に変換された色データを乗算済みの状態にする処理をさせ、乗算済みの色データ(165)をインターフェイス(104)経由で出力する。一以上の実施形態において、これらのステップは上述の新ステップ2に対応しうる。
【0032】
一方、色変換処理部(106)によって入力データが乗算済みではないと判断された場合、色変換処理部(106)は未乗算済みの状態にせずに色データを変換し、色変換処理部(106)によって出力データを乗算済みの状態にすべきではないと判断された場合、色変換処理部(106)は変換された色データを再乗算済みの状態にせずに、出力しうる。
【0033】
本発明の一以上の実施形態において、色変換処理部(106)は、追加情報としてインターフェイス(104)に入力される、出力色データを乗算済みの状態とすべきかを示す他のフラグを参照しうる。色変換処理部(106)は、入力色データが乗算済みであると判断しても、色変換処理部(106)は、他のフラグに基づいて、変換済み色データを再乗算済みの状態にせずに出力しうる。この場合、色変換処理部(106)は、変換済み未乗算済み色データとともに元のアルファチャンネル値を出力しうる。
【0034】
本発明の一以上の実施形態において、未乗算済み処理部(108)は入力色データを未乗算済み色データに変換しうる(つまり、未乗算済み状態にする)。未乗算済み処理部(108)は未乗算済みの状態にする処理として、あらゆる処理を実行しうる。
【0035】
例えば、未乗算済み処理部(108)は
図5に示すアルゴリズムに基づいて未乗算済みの状態にする処理を実行しうる。このアルゴリズムにおいて「orig_color_pixel」は各乗算済み色コンポーネント(例えばRGB色空間の赤、緑、青コンポーネント)を示し、「alpha_pixel」はアルファチャンネルコンポーネントを示す。この例において、各コンポーネントを表す最大値は255である。alpha_pixelが0ではない場合、未乗算済み色データ「color_new」の各コンポーネントは下記の数式によって計算しうる。
color_new=(orig_color_pixel_*255)/alpha_pixel
そしてalpha_pixelが0である場合、未乗算済み色データ「color_new」の各コンポーネントは下記の数式によって計算しうる。
color_new=0
【0036】
本発明の一以上の実施形態において、乗算済み処理部(110)は、未乗算済み色変換済みデータを乗算済み色データに変換しうる(つまり、再乗算済み状態にする)。乗算済み処理部(110)は乗算済みの状態にする処理として、あらゆる方法を実行しうる。例えば、乗算済み処理部(110)は
図6に示すアルゴリズムに応じて乗算済みの状態にする処理を実行しうる。このアルゴリズムにおいて、「converted_color_pixel」は各変換済み色コンポーネント(例えば、CMYK色空間におけるシアン、マジェンタ、イエロー、ブラックコンポーネント)を示し、「alpha_pixel」は元のアルファチャンネルコンポーネントを示す。再乗算済み色データ「color_new」の各コンポーネントは下記数式によって計算しうる。
color_new=(converted_color_pixel_*alpha_pixel)/255
【0037】
図1は、説明の便宜上コンポーネントの一つの特定の構成を示すが、本発明のクレームの範囲を逸脱することなくその他の構成を用いうる。例えば、様々なコンポーネントを組み合わせて一つのコンポーネントを作成しうる。他の例として、一つのコンポーネントによって実行する機能を二以上のコンポーネントによって実行しうる。
【0038】
図2は本発明の一以上の実施形態におけるフローチャートを示す。
図2において図示される処理は未乗算済みの状態にする処理や再乗算済みの状態にする処理の際に一つの色空間から別の色空間へ色データを変換するのに用いられる。
図2に示す一以上のステップは、
図1を参照して上述したシステム(100)のコンポーネントによって実行されうる。本発明の一以上の実施形態において、
図2に示す一以上のステップは、省略し、繰り返し、及び/又は
図2に示される順番と異なる順番で実行しうる。よって、本発明の範囲は
図2に示された特定の構成に基づく工程に限定されない。
【0039】
まず、インターフェイス(104)は、メモリーからある色空間における入力色データ及び追加情報としてフラグを読み出しうる(ステップ202)。メモリーから読み出された入力色データはデータキャッシュに記憶されうる(112)。次に、色変換処理部(106)はフラグに基づいて入力色データが乗算済みか否かを判断する(ステップ204)。例えば、フラグによって入力色データが乗算済みであると示される場合、色変換処理部(106)は入力色データが乗算済みであると判断する。また、フラグによって入力色データが乗算済みであると示されていない場合、色変換処理部(106)はデータが乗算済みではないと判断する。
【0040】
色変換処理部(106)は、入力色データが乗算済みではないと判断した場合、以下の変換処理を実行する。つまり、色変換処理部(106)は、入力色データが乗算済みではないと判断した場合(ステップ204でNo)、色変換処理部(106)は入力色データを一つの色空間(例えばRGB)から他の色空間(例えばCMYK)へ変換し(ステップ212)、変換された色データをメモリーに書き込みうる(ステップ214)。
【0041】
色変換処理部(106)は、入力色データが乗算済みであると判断した場合、以下の変換処理を実行する。つまり、色変換処理部(106)は入力色データが乗算済みであると判断すると(ステップ204でYes)、色変換処理部(106)は未乗算済み処理部(108)に乗算済み入力色データから未乗算済み色データ(ステップ206)へ変換させうる(ステップ206)。未乗算済み処理部(108)は例えば
図5に示すようにアルゴリズムに基づいて未乗算済み処理を実行しうる。未乗算済み処理の後に、色変換処理部(106)は未乗算済み入力色データをある色空間(例えばRGB)から別の色空間(例えばCMYK)へ変換しうる(ステップ208)。次に、色変換処理部(106)は乗算済み処理部(110)に変換済み色データを乗算済み色データに変換させうる(ステップ210)。例えば、乗算済み処理部(110)は、
図6に示すようにアルゴリズムに基づいて乗算済み処理を実行しうる。乗算済み処理後、インターフェイス(104)は乗算済み色データをメモリーに書き込みうる(ステップ214)。
【0042】
本発明の一以上の実施形態において、色変換モジュール(102)はステップ210を省略し、第2色空間の未乗算済み色データを再乗算済みの状態にする処理を実行せずにメモリーに出力しうる。
【0043】
本発明の一以上の実施形態において、インターフェイスは入力色データ及び他のシステム又はアプリケーションからのフラグを受信しうる。さらに、インターフェイスは色変換後に色データ(乗算済み又は未乗算済み)を他のシステム又はアプリケーションに出力しうる。
【0044】
本発明の一以上の実施形態において、色変換モジュール(102)は中央処理装置(CPU)、グラフィックス処理装置(GPU)、又はその他のシステム(100)上の専用ハードウェアによって実行されるプログラムであり、インターフェイス(104)はシステム(100)にインストールされるその他のプログラムと通信するためのプログラムインターフェイスである。また、システム(100)はネットワークに接続され、色変換モジュール(102)は色データ及びフラグをネットワーク上の他のシステム又はアプリケーションから受信しうる。システム(100)は変換された色データをネットワークを介して他のシステムに出力しうる。
【0045】
本発明の一以上の実施形態において、インターフェイス(104)は色データとともに追加の情報を受信しうる。例えば、インターフェイス(104)は入力/出力色データの色空間を示す変換情報、及び/又は出力データを乗算済みの状態にすべきか否かを示す他のフラグを受信しうる。色変換処理部(106)は、指定された入力及び出力色空間の間での色変換に必要な色プロファイルを読み出し、色空間変換を実行しうる。さらに、色変換処理部(106)は入力色データが乗算済みではない場合であっても出力前に色変換入力データを乗算済みの状態にし、その逆の処理も実行しうる。
【0046】
図3は本発明の一以上の実施形態におけるフローチャートを図示する。
図3に示される処理は特定のフォーマットを採用する文書の色データについて、必要に応じて未乗算済みの状態にする処理及び再乗算済みの状態にする処理を実行して、一つの色空間から別の色空間へ変換するのに用いうる。
図3に示される一以上のステップは
図1を参照して上述したシステム(100)のコンポーネントによって実行しうる。本発明の一以上の実施形態において、
図3に示す一以上のステップは、省略し、繰り返し、及び/又は
図3に示される順番と異なる順番で実行しうる。よって、本発明の範囲は
図3に示された特定の構成によるステップに限定されない。
【0047】
本発明の一以上の実施形態における
図3に示される処理において、インターフェイス(104)はPCL、XL、PostScript、PPML、PDF、XPS又はOOXML等の特定のフォーマットを有するメモリー文書データから読み出されうる(ステップ302)。次に、パーシングモジュール(図示せず)は文書データをパースし、色変換処理部(106)のためにそのフォーマットを識別する(ステップ304)。例えば、パーシングモジュールは文書データにおいてフォーマットを示すタグを検索することによりフォーマットを識別しうる(例えばPostScriptを示す「%ps」)。また、パーシングモジュールは発見的な方法を用いて文書フォーマットを判断しうる。パーシングモジュールによって識別された文書フォーマットに基づいて、色変換処理部(106)は文書の色データが乗算済みかを判断しうる(ステップ306)。フォーマットによっては色データが乗算済みであることが必要であると知られているからである。例えば、フォーマットがXPS又はOOXMLである場合、色変換処理部(106)は色データが乗算済みであると判断しうる。
【0048】
色変換処理部(106)によって色データが乗算済みではないと判断された場合(ステップ306でNo)、色変換処理部(106)は入力文書データを当該色空間(例えば、RGB)から別の色空間(例えば、CMYK)へ変換し(ステップ314)、変換された色データをメモリーに書き込みうる(ステップ316)。
【0049】
色変換処理部(106)によって色データが乗算済みであると判断された場合(ステップ306でYes)、色変換処理部(106)は、未乗算済み処理部(108)に文書の乗算済み色データを未乗算済み色データに変換させうる(ステップ308)。続くステップ310〜316は上述のステップ208〜214と同様のものである。
【0050】
本発明の一以上の実施形態において、色変換モジュール(102)はステップ312を省略し、第2色空間における未乗算済み色データを再乗算済みの状態にする処理をせずにメモリーへ出力しうる。
【0051】
本発明の一以上の実施形態において、インターフェイス(104)は入力データフォーマット(例えば、PCL、XL、PostScript、PPML、PDF、XPS、OOXML、等)を示すフォーマット情報をパーシングモジュールから受信しうる。色変換処理部(106)は色変換の前に文書データをパースする代わりにフォーマット情報を読み出すことによって、入力文書データのデータフォーマットを識別しうる。しかし、一以上の実施形態においては、色変換処理部(106)は文書データをパースし、独立したパーシングモジュールによらずにフォーマットを識別しうる。
【0052】
図4は本発明の一以上の実施形態におけるフローチャートを示す。
図4に示される処理は色変換を実行し、外部のシステム又はアプリケーションによって提供された追加情報に基づいて乗算済み又は未乗算済み色データを出力するのに用いうる。
図4に示される一以上のステップは
図1を参照して上述したシステム(100)のコンポーネントによって実行しうる。本発明の一以上の実施形態において、
図4に示す一以上のステップは、省略し、繰り返し、及び/又は
図4に示される順番と異なる順番で実行しうる。よって、本発明の範囲は
図4に示されるような特定の構成によるステップに限定されない。
【0053】
まず、インターフェイス(104)はある色空間における入力色データと追加情報を読み出しうる。追加情報には以下が含まれる(1)入力色データが乗算済みの状態か否かを示す第1フラグ(2)出力データを乗算済みの状態にすべきか否かを示す第2フラグ(ステップ402)。メモリーから読み出された入力色データはデータキャッシュに記憶されうる(112)。次に、色変換処理部(106)は受信した第1フラグに基づいて入力色データが乗算済みか否かを判断しうる(ステップ404)。
【0054】
色変換処理部(106)によって入力色データが乗算済みであると判断された場合(ステップ404でYes)、色変換処理部(106)は未乗算済み処理部(108)に乗算済み入力色データを未乗算済み色データに変換させうる(ステップ406)。次に、色変換処理部(106)は入力色データを当該色空間(例えば、RGB)から別の色空間(例えば、CMYK)へ変換しうる(ステップ408)。
【0055】
一方、色変換処理部(106)によって入力色データが乗算済みではない(ステップ404でNo)と判断された場合、色変換処理部(106)は入力色データを当該色空間(例えば、RGB)から別の色空間(例えば、CMYK)へ変換しうる(ステップ408)。
【0056】
次に、色変換処理部(106)は、受信した第2フラグに基づいて出力色データを乗算済みの状態にすべきかを判断する(ステップ410)。色変換処理部(106)によって出力色データが乗算済みの状態にすべきと判断された場合(ステップ410でYes)、色変換処理部(106)は乗算済み処理部(110)に色変換済み色データを乗算済み色データへ変換させうる(ステップ412)。乗算済みにする処理の後、インターフェイス(104)はメモリーに乗算済み色データを書き込みうる(ステップ414)。
【0057】
一方、色変換処理部(106)によって出力色データを乗算済みにすべきではないと判断された場合(ステップ410でNo)、インターフェイス(104)は乗算済みにする処理をせずにメモリーに色変換済み色データを書き込みうる(ステップ414)。
【0058】
本発明の一以上の実施形態においては、システム(100)は乗算済み及び未乗算済み色データの両方を直接扱い、よって、色変換モジュール以外のプログラムによって必要とされるメモリーアクセスを減らすことができる。その結果、特に変換すべきピクセルの個数が大きい場合、より効率的なスループットを実現しうる。
【0059】
本発明の実施形態については用いられるプラットホームに関わらず、あらゆる種類のコンピューティングシステムにおいて実現することができる。例えば、コンピューティングシステムとして一以上のモバイル装置(例えば、ラップトップコンピューター、スマートフォン、パーソナルデジタルアシスタント、タブレット、もしくはその他のモバイル装置)、デスクトップコンピューター、サーバー、サーバーシャーシに含まれるブレード、もしくはその他のあらゆる種類のコンピューティングデバイス又は本発明の一以上の実施形態を実行する最低限の処理能力、メモリー、及び入出力装置を少なくとも有するデバイスが挙げられる。
【0060】
例えば、
図7に示されるように、コンピューティングシステム(700)は、一以上のCPU(722)を有し、それぞれのCPU(722)は一以上のキャッシュ(732)、関連付けられたメモリー(724)(例えば、ランダムアクセスメモリー(RAM)、キャッシュメモリー、フラッシュメモリー等)、一以上の記憶装置(726)(例えば、ハードディスク、コンパクトディスクドライブ(CD)又はデジタルバーサタイルディスク(DVD)ドライブ等の光学ドライブ、フラッシュメモリーディスク等)、ネットワークデバイス(728)、(例えば、ネットワークインターフェイスカード、無線LANモジュ−ル、広域ネットワークモジュール、ブルートゥース(登録商標)モジュール、ジグビーモジュール、赤外線通信モジュール等)、一以上のGPU(730)、並びにその他の複数の要素及び機能を有する。
【0061】
CPU(722)は命令を処理する集積回路でありうる。例えば、コンピュータープロセッサーはプロセッサーの一以上のコア又はマイクロコアでありうる。CPU(722)は(メイン)メモリー(724)よりも速いメモリーである一以上のキャッシュ(732)を有しうる。コンピューティングシステム(700)は、一以上の入力装置(740)を備え、タッチスクリーン、キーボード、マウス、マイクロフォン、タッチパッド、電子ペン、又はその他の種類の入力装置等が挙げられる。さらにコンピューティングシステム(700)は一以上の出力装置(760)を有し、例えばスクリーン(例えば、液晶ディスプレイ(LCD)、プラズマディスプレイ、タッチスクリーン、ブラウン管(CRT)モニター、プロジェクター又はその他のディスプレイ装置)、プリンター又はプロッター、外部記憶装置、又はその他の出力装置が挙げられる。一以上の出力装置は入力装置と同じか異なりうる。コンピューティングシステム(700)はネットワークインターフェイス接続(図示せず)を介してネットワーク(780)(例えばローカルエリアネットワーク(LAN)、インターネット等のワイドエリアネットワーク(WAN)、モバイルネットワーク又はその他の種類のネットワーク)に接続されうる。入出力装置はローカル又はリモート(例えば、ネットワーク(780)を介して)CPU(722)、メモリー(724)、記憶装置(726)、ネットワークデバイス(728)、及びGPU(730)に接続されうる。様々な種類のコンピューティングシステムが存在し、上述の入出力装置はその他の形式のものも採用しうる。
【0062】
本発明の実施形態を実行するためのコンピューターに読取可能なプログラムコードの形式のソフトウェア命令は、その一部又は全部が、一時的に又は永続的にCD、DVD、記憶装置、ディスケット、テープ、フラッシュメモリー、物理的メモリー、又はその他のコンピューター読取可能な媒体等の非一時的コンピューター読取可能な媒体に記憶されうる。具体的に、ソフトウェア命令は、プロセッサーによって実行されることによって、本発明の実施形態を実行するように構成されたコンピューターに読取可能なプログラムコードに対応しうる。
【0063】
さらに、上述のコンピューティングシステム(700)の一以上の要素は遠隔地に位置し、ネットワーク(780)上で他の要素と接続されうる。さらに、本発明の一以上の実施形態は複数のノードを有する分散システム上で実施することができ、本発明の各部分は分散システム内の異なるノードに位置しうる。本発明の実施形態において、ノードは独立したコンピューティングデバイスに対応する。また、ノードは関連付けられた物理的メモリーを有するコンピュータープロセッサーに対応しうる。また、ノードは共通するメモリー及び/又はリソースを有するコンピュータープロセッサー又はコンピュータープロセッサーのマイクロコアでありうる。
【0064】
本発明の限られた実施形態を用いて説明したが、本発明の上述の説明により本発明の範囲から逸脱することなく、本発明のその他の実施形態を実行しうることを当業者は理解しうるであろう。よって、本発明の範囲は添付されたクレームのみによって限定される。