JP2004185008A - ガンマ補正の欠如を補償するためのアルファ補正 - Google Patents

ガンマ補正の欠如を補償するためのアルファ補正 Download PDF

Info

Publication number
JP2004185008A
JP2004185008A JP2003403826A JP2003403826A JP2004185008A JP 2004185008 A JP2004185008 A JP 2004185008A JP 2003403826 A JP2003403826 A JP 2003403826A JP 2003403826 A JP2003403826 A JP 2003403826A JP 2004185008 A JP2004185008 A JP 2004185008A
Authority
JP
Japan
Prior art keywords
alpha
correction
value
corrected
gamma
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003403826A
Other languages
English (en)
Other versions
JP3955562B2 (ja
JP2004185008A5 (ja
Inventor
John C Platt
ジョン シー.プラット
Mikhail M Lyapunov
エム.リャプーノフ ミハイル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004185008A publication Critical patent/JP2004185008A/ja
Publication of JP2004185008A5 publication Critical patent/JP2004185008A5/ja
Application granted granted Critical
Publication of JP3955562B2 publication Critical patent/JP3955562B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Picture Signal Circuits (AREA)
  • Processing Of Color Television Signals (AREA)
  • Image Processing (AREA)
  • Transforming Electric Information Into Light Information (AREA)

Abstract

【課題】 ガンマ補正の欠如を補償するためのアルファ補正を提供すること。
【解決手段】 フォントグリフの混合係数(アルファ値)は、テキストレンダリングプロセスでガンマ補正の欠如を補償するためにアルファ補正を受ける。アルファ補正は、ディスプレイ装置の所定のガンマ値に対応する補正係数のセットを選択すること、ならびに知られたアルファ値、前景色、および補正係数のセットから、補正されたアルファ値を計算することを含む。補正済みアルファ値を、ガンマ補正を必要とせずに、対応するディスプレイピクセルの前景色および背景色を混合するために使用することができる。したがって、アルファ補正を、ガンマ補正を実行するように構成されていないGPUによって実行し、それによってテキストレンダリングを行うことができる速度を上げることができる。
【選択図】 図1

Description

本発明は、ディスプレイレンダリングプロセスに関し、より詳細には、アルファ値補正を含むフォントグリフレンダリングプロセスに関する。
標準のソフトウェアテキストレンダリングでは、1または複数のフォントグリフ(font glyph)が、ディスプレイ装置に表示されるテキストの各イメージを表す。同様に、各フォントグリフは、どれだけのフォントグリフの前景色を背景に追加すべきかを、フォントグリフの表示に使用される各ピクセルについて表す、1または複数の混合(blending)係数によって表される。これらの混合係数は、典型的には、アルファ(α)値と呼ばれる。他のイメージも、前景と背景との間の混合によって表すことができる。
アルファ値が決定されると、それらを使用して、各ピクセルの前景色と背景色を混合することができる。混合は、例えば最小値は、ピクセルのレンダリングに光子を使わないことを示し、最大値は最大量の光子を使うことを示し、理想的には、線形色空間で発生する。ただし、混合によって導出されるピクセルカラーは、典型的には、ディスプレイ装置がどのように色をレンダリングするかについて非線形性を補償するために、レンダリングされる前にガンマ補正プロセスを施さなければならない。本来、ガンマ補正は、ディスプレイ装置のガンマ値を補償するものである。ディスプレイ装置のガンマ値は、デバイスごとに異なる場合がある。ディスプレイ装置でイメージのレンダリングに使用される混合およびガンマ補正のプロセスは、当分野でよく知られたレンダリングプロセスである。
混合およびガンマ補正は、典型的には、ソフトウェアアプリケーションを介して行われる。ただし、テキストレンダリングプロセスは、中央処理ユニット(CPU)のリソースを必要とする代わりに、グラフィックス処理ユニット(GPU)などの専用のハードウェア構成要素によって実行される場合に、格段に速く実行できることがわかっている。ただし、GPUを使用して混合を実行する際の問題の1つは、既存のGPUが、ガンマ補正を実行するように構成されていないことである。ガンマ補正を使用しないと、アルファ値がClearType(登録商標)を介してフィルタリングされた場合、レンダリングされたテキストには、ディスプレイ装置の非線形性(ガンマ値)により、表示されたテキスト文字の縁の周囲に望ましくないカラーフリンジ(color fringe)ができることになる。この問題は、背景値がGPUに格納され、CPUが低速でしかアクセスできないことから、さらに大きくなる。
Microsoft NT4オペレーティングシステムでは、CPUサイクルを節約するために、混合後はガンマ補正を実行しない。近似値としてアルファ値は、混合の前にアルファ値それ自体でガンマ補正を実行することによって調整される。ただしこの近似値は、前景色が暗いか明るいかを考慮に入れないため、不正確である。前景色を無視してアルファを調整すると、結果的に、可能な前景色の半分について近似値の誤差が増加することになる。
したがって現在は、背景色にアクセスすることなく、ガンマ補正を必要としないが、前景色の知識は使用する、テキストのレンダリングを加速させるように改善された方法が求められている。
本発明は、ガンマ補正の欠如を補償するために、フォントグリフに対応するフィルタリング済みアルファ値を補正するための方法、システム、および対応するコンピュータプログラムを対象とする。
本発明の一態様によれば、アルファ補正の実行は、ディスプレイ装置の所定のガンマ値に対応する補正係数セットを選択する動作と、ガンマ補正なしで、対応する表示ピクセルの前景色と背景色とを混合するために使用可能な補正済みアルファ値を計算する動作とを含む。本発明はガンマ補正の必要がなく、アルファ補正は背景色にアクセスする必要がないため、フォントグリフをレンダリングするためのプロセスは、主にGPUによって実行され、それによって、テキストレンダリングを行うことのできる全体の速度を上げることができる。
一実施形態では、補正済みアルファ値は、公式
αcorrected=α+α(1−α)(cαf+cα+cf+c
を介してGPU上で計算される。ここで、αcorrectedは補正済みアルファであり、αはアルファであり、fはガンマ補正済みの前景輝度であり、(c、c、c、およびc)は補正係数セットである。この公式は、アルファ値1つにつき1回適用される。
その後、各表示ピクセルについて補正済みアルファ値を取得すると、表示ピクセルの前景色および背景色が混合され、それによって、カラーフリンジングなしに、およびガンマ補正の必要なしに、フォントグリフを表示できるようにするための適切なピクセル表示値が生成される。
補正済みアルファ値の導出を助けるために使用される最適な補正係数セット(c、c、c、およびc)は、アルファ補正の誤差を最小限にすることによって、1回計算することができる。その後、ガンマ補正なしに混合を行うことができる。このアルファ補正誤差の最小化は、ソフトウェア設計時に行うことが可能であり、制約付き最適化アルゴリズムまたは他の同様の手順によって実施される。
本発明の追加の特徴および利点については以下の記述で説明し、一部はこの記述から自明となるか、または本発明の実施によって習得することができる。本発明の特徴および利点は、添付の特許請求の範囲で具体的に指摘された計器および組合せによって具体化および取得することができる。本発明のこれらおよび他の特徴は、以下の記述および添付の特許請求の範囲からより完全に明らかになるか、または以下で述べるような本発明の実施によって習得することができる。
本発明の上記および他の利点および特徴が得られる方法を説明するために、上記で簡単に説明した本発明のより具体的な記述を、添付の図面に示された特定の実施形態を参照しながら示す。これらの図面が本発明の典型的な実施形態のみを示すものであり、したがってその範囲を限定するとみなされるものでないことを理解しながら、添付の図面を使用することで、追加の特性および詳細によって本発明について記述および説明する。
本発明は、ガンマ補正の欠如を補償するためにイメージレンダリングプロセス時にアルファ補正を実行するための、方法、システム、および対応するコンピュータプログラムを対象とする。本発明の実施形態は、以下でより詳細に論じるような様々なコンピュータハードウェアを含む、特殊用途向けコンピュータまたは汎用コンピュータを含むかまたはこれらで実施可能である。具体的に言えば、本発明の実施形態は、グラフィックス処理ユニット(GPU)で実施可能である。
本発明の範囲内の実施形態は、その上でコンピュータ実行可能命令またはデータ構造を搬送または有するための、コンピュータ読取り可能媒体を含む。こうしたコンピュータ読取り可能媒体は、汎用コンピュータまたは特殊用途向けコンピュータがアクセス可能な任意に使用できる媒体であってよい。例えば、こうしたコンピュータ読取り可能媒体は、これに限定されないが、光ディスク記憶装置、磁気ディスク記憶装置、または他の磁気記憶デバイスなどの、RAM、ROM、EEPROM、CD−ROM、または他の物理記憶媒体、あるいは、コンピュータ実行可能命令またはデータ構造の形で所望のプログラムコード手段を搬送または格納するために使用可能であり、汎用コンピュータまたは特殊用途向けコンピュータがアクセス可能な、任意の他の媒体を含むことができる。情報がネットワークまたは他の通信接続(有線、無線、あるいは有線または無線の組合せのいずれか)を介してコンピュータに転送または提供される場合、コンピュータは、厳密には接続をコンピュータ読取り可能媒体としてみなす。したがって、任意のこうした接続は、厳密にはコンピュータ読取り可能媒体と呼ばれる。上記の組合せも、コンピュータ読取り可能媒体の範囲内に含まれるものとする。コンピュータ実行可能命令は、例えば汎用コンピュータ、特殊用途向けコンピュータ、またはGPUなどの特殊用途向け処理デバイスに一定の機能または機能グループを実行させる、命令およびデータを含む。
(アルファ補正)
図1は、ガンマ補正の欠如を補償するためにフィルタリング済みのアルファ値を補正するための一方法の流れ図100を示す図である。フォントグリフレンダリングプロセスにおいて、混合係数としても知られるフィルタリング済みアルファ値は、フォントグリフの表示に使用される各ピクセルについて導出される。一定の実施形態では、各表示ピクセルについて単一のアルファ値のみが計算される。他の実施形態では、MicrosoftのClearType(登録商標)技術を使用して、各ピクセルのサブコンポーネント(例えば、赤、緑、青のサブコンポーネント)について別々のアルファ値が計算される。したがって、本発明は様々な実施形態に拡張し、したがって、各表示ピクセルについて一定数のアルファ値のみが導出される実施形態に限定されるものではない。
図1に示されるように、ガンマ補正の欠如を補償するためのフィルタリング済みアルファ値を補正するための一方法は、様々な動作(動作110、120、140、150、および160)および動作(ステップ130)を含み、次にそれぞれについて、図2〜5を具体的に参照しながらより詳細に説明する。
例示された第1の動作は、グラフィックス混合プロセス(動作110)に使用可能なフィルタリング済みアルファ値を受け取ることを含む。フィルタリング済みアルファ値は、典型的には、混合時およびガンマ補正前に既存のフォントグリフレンダリングプロセスで使用される。ただし、本発明によれば、フィルタリング済みアルファ値は、表示ピクセルの前景色および背景色を混合するため、および混合後はガンマ補正を必要としない方法で使用可能な、調整済みまたは補正済みアルファ値の導出に使用される。任意のソースから取得可能なフィルタリング済みアルファ値は、一般に、表示されるフォントグリフの形状を表す。
例示された方法は、表示ピクセル前景色を受け取る動作(動作115)も含む。この表示ピクセル前景色の受取りにより、本発明が、図2〜5を具体的に参照しながら以下で説明するように、既知の前景色および最適な補正係数に基づいて、所望のアルファ補正を実行できるようにする。
図1によれば、1または複数のガンマ値それぞれについて補正係数セットが計算される(動作120)。補正係数セットは、計算から導出される必要はないが、代替の実施形態では、手操作で調整できることに留意されたい。動作120は、ソフトウェア設計時にも実行可能であるが、図1の他のすべての動作は、イメージのレンダリング中に実行することができる。
本実施形態では、各ガンマ値は、c、c、c、およびcを含む4つの補正係数に関連付けられる。補正係数は、ガンマ値の任意の選択領域について計算することができる。フォントグリフのレンダリングに使用されることになるディスプレイ装置のガンマ値は、選択されたガンマ値セットのうちの1つとして含まれることが好ましい。一実施形態では、選択されたガンマ値セットは、0.1ステップで1.0から2.2までの領域内のガンマ値を含むが、この領域は変化する場合がある。
一実施形態によれば、様々なガンマ値に対応する補正係数セットを計算する動作は、ソフトウェア設計時に図2の流れ図200に示された動作を実行することによって実施される。第1に例示された動作は、ガンマを、ガンマ値の選択範囲内の最低ガンマ値(例えば、前述の領域によれば1.0)に設定することを含む(動作210)。次に、ガンマ値を使用して制約付き最適化が実行され、ガンマ値に対応する最適な補正係数セットを決定する(動作220)。これは、一実施形態に従い、制約付き最適化ルーチンを図3の流れ図300に示された動作と組み合わせることによって実施される。
図3の流れ図300は、真の出力と、前景色と背景色を混合した補正済み出力との間で計算される誤差を最小限にするために実行可能な複数の動作を含む。より具体的には、真の出力と補正済み出力との輝度の差は、アルファ、前景、背景、および補正係数c、c、c、およびcの様々な所定の値を使用して計算される。これは、ディスプレイ装置のガンマ値などの所定のガンマ値に関連付けられた、最適な補正係数を決定するための制約付き最適化ルーチンを支援するために実施される。
最初に、誤差、前景、背景、およびアルファの値が、ゼロに設定される(動作310〜316)。次に、所定の制約セットを満たす第1の補正係数セットを使用して、補正済みアルファが計算される(動作320)。一実施形態によれば、補正済みアルファは、公式
αcorrected=α+α(1−α)(cαf+cα+cf+c
から導出され、αcorrectedは補正済みアルファであり、αはアルファであり、fはガンマ補正済み前景輝度である。補正済みアルファの公式は、図4の機能図400として、およびその基本式410に示される。
一実施形態では、この制約付き最適化(動作220)時に使用される所定の制約セットは、(c≧−1)、(c+c≧−1)、(c+c+c+c≦1)、(c≧−4)、(c+c≧−4)を含む。これらの制約は、図4の補正が単調であり、[0,1]以外の値は生成しないことを保証するために選択される。ただし、この制約セットは、単に使用可能な制約の好適な一セットを例示するものであるため、本発明の範囲を限定するものとみなされるべきではない。制約付き最適化の間、補正係数の値を、制約の範囲内で増分的に調整し、f、α、およびB(背景)の可能な各値について、真の出力と補正済み出力との間の誤差を計算して、f、α、およびBは、約0から約1までの間で約0.02ずつ増分する。
計算済み出力は、一般に、動作320からの補正済みアルファ値を使用して計算される(動作330)。より具体的には、計算済み出力は、ガンマ補正済み前景f=F(1/γ)およびガンマ補正済み背景b=B(1/γ)の混合値が含まれ、ここでfは、ガンマ補正済み前景であり、Fは所定の前景値であり、γはガンマの値であり、bはガンマ補正済み背景であり、およびBは所定の背景値である。補正済み出力は、動作330に従って計算される。
真の出力は、所定の前景(F)と所定の背景(B)とアルファ(α)を混合することによっても計算される(動作340)。その後、補正済み出力と真の出力との間の2乗差が2乗され(動作342)、インポータンスウェイト(importance weight)が掛け合わされる(動作344)。最後に、重み付けされた2乗差が誤差値に追加される(動作346)。その後、動作(348、350、352、354、356、および358)によって決定されるように、F、B、およびαのすべての値が誤差を計算するために使用されるまで、これらの動作が反復される。誤差は、F、B、およびαの各組合せで所定のガンマ値について最小誤差が決定されるまで、c、c、c、およびcの様々な組合せを使用して、繰り返し再計算される。誤差は、図3に示された最適化ルーチンに戻される(動作360)。
図3に示された動作は、制約付き最適化に好適な費用関数を計算するための1つの好適な方法を含む。制約付き最適化ルーチンは、最小誤差を見つけるためにこうした費用関数が必要である。好適な制約付き最適化ルーチンの1つが、逐次2次計画法を実施するMatlab's fmincon関数である。Matlab's fmincon関数および逐次2次計画法は、当分野ではよく知られている。ただし、前述の例は、単なる例示的なものに過ぎず、本発明の範囲を制限するものとみなされるべきではない。具体的には、所定のガンマ値セットに対応する、所定の制約セット内の最適な補正係数を取得するために、他の技法およびアルゴリズムも使用することができる。例えば、誤差が(線形空間に対向して)ガンマ補正済み空間内で計算される場合、図3で計算された費用関数は、補正係数c、c、c、c内で2乗される。したがって、最適化は、分析的に(線形システムを解いて)実行可能であり、制約付き最適化ルーチンは必要としない。
図2に示されるように、制約付き最適化から取得された最適な補正係数c、c、c、cは、次に、最適な係数c、c、c、cの取得に使用されたガンマ値に関連付けられる(動作230)。最適な補正係数と対応するガンマ値との間の関連付けは、例えば、テーブルまたは他のデータ構造で実行可能である。最小誤差の取得に使用されたF、B、およびαの値を、その後の参照のために最適な係数とも関連付けることができる。動作240および250によって示されるように、最適化ルーチン200は、ガンマ値の所定の領域内にある各ガンマ値について、最適補正係数が決定されるまで、繰り返し実行される。
最適な係数とガンマ値とを関連付けるデータ構造を、例えば、ソフトウェアパッケージの一部としてなど、1または複数のコンピュータ読取り可能媒体内に格納することができる。イメージがラスタ化される必要がある場合、補正係数は、フォントグリフレンダリングプロセス時のアクセスのためにGPUに提出される。一実施形態では、関連付けデータ構造は、GPU内に直接格納される。他の実施形態では、関連付けデータ構造は、GPUに格納される前に特定のハードウェア要件に対処するために、事前に前景色値および/または何らかの定数と組み合わされる。
イメージレンダリングの際、関連付けデータ構造にアクセスして、GPUによって受け取られたフィルタリング済みアルファ値に関するアルファ補正を実行する(ステップ130)。ステップ130は、アルファ補正を実行するための任意数の対応する動作を含むことができることが理解されよう。一実施形態では、アルファ補正を実行するステップ(ステップ130)は、ディスプレイの所定のガンマ値に対応する補正係数セットを選択する、対応する動作を含む(動作140)。これは、例えば、上記の関連付けデータ構造にアクセスすること、およびディスプレイのガンマ値に関連付けられた補正係数を選択することによって実施可能である。好ましい一実施形態によれば、補正係数の選択または受取りの動作(動作140)は、ディスプレイレンダリング時に実行されるが、選択された補正係数セットの計算動作(動作120)は、設計時に実行される。
次に、補正係数および前景色は、表示ピクセルの前景および背景の混合に使用されることになる補正済みアルファ値の計算に使用される(動作150)。一実施形態では、これは、図4を参照しながら上記で例示および説明した公式410を使用することで実施される。具体的には、
αcorrected=α+α(1−α)(cαf+cα+cf+c
であり、ここで、c、c、c、およびcは補正係数を含み、fは表示ピクセルの知られた前景色であり、αは表示ピクセルの知られたアルファ値である。前述のように、補正済みα値を、表示ピクセルごとに任意の回数だけ計算することができる。例えば、表示ピクセルの各ピクセルサブコンポーネントについて補正済みαを計算することができるが、これに限定されない。具体的には、赤、緑、および青のピクセルサブコンポーネントを含む表示ピクセルは、3つの補正済みα値の計算に使用される3つのフィルタリング済みα値を含むことができる。これは特に、Microsoft ClearType(登録商標)のレンダリング技法を使用したフォントグリフのレンダリングに有用であることを理解されよう。
いったん補正済みα値が計算されると(動作150)、次にそれらを使用して、対応する表示ピクセルの前景色および背景色を混合するために、グラフィックス混合プロセス(動作160)を実行することができる。
一実施形態によれば、アルファ補正を実行するステップ(ステップ130)、および混合オペレーションを実行する動作(動作160)は、フォントグリフのレンダリングが実施可能な速度の向上を助けるGPU内で実行される。
図5は、前述のレンダリングプロセスの一実施を示す図である。ただし、前述の実施は単なる例示に過ぎず、本発明の範囲を限定するものと解釈すべきでないことを理解されよう。前述の例は、コンピュータプログラミング実践分野の技術者であれば、再生が可能である。図5に示された実施形態は、本発明のレンダリングプロセスが既存のハードウェアをベースとして実行可能であること、および複数のカラーチャネルが平行して計算可能であることを示す。
本実施形態は、様々なハードウェアタイプに統合されたアプリケーションプログラムインタフェース(API)を提供する、MicrosoftのDirectX(登録商標)プログラムパッケージに基づいたプログラムモジュールを使用して、本発明を実施することができる。一実施形態によれば、本実施は、ハードウェアがピクセルシェーダ(pixel shader)のバージョン1.1および混合要素メカニズムをサポートしていると想定する限り、完全にデバイスと無関係ではない(以下では、Microsoft DirectX(登録商標)の用語が使用される)。
図5では、図表500がハードウェアブロックとソフトウェアブロックとの間のデータ流れを表す。入力データは、「ガンマレベル」(512)、「前景色」(514)、および「アルファテクスチャ」(520)のブロックとして表示される。ガンマレベルは、ディスプレイ装置の物理表示機能を反映する数である。ガンマレベルは、事前に計算されたテーブルまたは他の関連するデータ構造から、適切な補正係数c、c、c、およびcを選択するために使用される。補正係数の選択は、「多項式比率計算器」510で行われる。多項式比率計算器は、さらに前景色を取得し、対応する比率を計算して、それらをピクセルシェーダ(540)の定数レジスタに格納する。
表示する形状(テキストフラグメント)は、「アルファテクスチャ」ブロック520として示されるアルファ値の2次元アレイとして準備される。アルファ値は、「サンプラ1」(530)、「サンプラ2」(532)、および「サンプラ3」(534)として与えられた3つのサンプラを使用して、アルファテクスチャから1ピクセルあたり3回フェッチされる。サンプラは、赤色、緑色、および青色のサブコンポーネントに関するアルファ値を、ピクセルシェーダ540に供給する。
ピクセルシェーダ540は、非線形計算を実行して、赤色、緑色、および青色のサブコンポーネントについて補正済みアルファ値のベクトルを生成し、これらは出力ラスタライザ550に提供される。出力ラスタライザ550は、ピクセルシェーダ540から取得されたアルファ値を使用して、レンダリングターゲットサーフェス560からフェッチされた背景色と、混合要素として供給された前景色との間での線形混合を提供する。結果として生じるカラー値は、レンダリングターゲットサーフェス560で格納される。
ピクセルシェーダ540は、浮動小数点値の4次元ベクトルで動作する。ベクトル構成要素は、アルファ、赤、緑、および青の各構成要素に対応する接尾部、−a、−r、−g、および−bを使用して表される。これらのベクトルを保持できるエンティティを、「レジスタ」(図示せず)と呼ぶ。ピクセルシェーダ540は、前述のアルファ補正を実行するために、入力レジスタ(tn、すなわちt0、t1、t2など)、定数レジスタ(cn)、および一時レジスタ(rn)で動作する。以下の例では、一時レジスタr0が出力レジスタとして働く。
本実施形態によれば、ピクセルシェーダ540は、本発明のある動作を実行するために特殊化されたアセンブリ言語または他の好適なプログラミング言語で作成されたコンピュータ実行可能命令で制御される、調整可能なハードウェアブロックである。以下の例は、構成要素ごとに線形−3次アルファ補正を実施するためのコンピュータ実行可能命令を含む、ピクセルシェーダプログラムの一実施形態である。本実施形態によれば、このプログラムは、各ピクセルについて実施される。以下のプログラムは、前述のように、好ましくは、あらかじめ準備された定数レジスタc0....c5で多項式比率を受け入れる。多項式比率は、ガンマレベルまたは前景色が変更されたときに計算される。各定数レジスタの意味については、以下のピクセルシェーダプログラムの注釈で説明する。
Figure 2004185008
Figure 2004185008
Figure 2004185008
以下の例は、多項式比率計算器520でプロセスを実施するためのC++言語コンピュータ実行可能命令を含む。
Figure 2004185008
Figure 2004185008
前述の例には、レンダリング時に実行可能な他のオペレーションの記述が含まれないことを理解されよう。具体的には、前述の記述では、テクスチャ作成、出力ラスタライザ調整、頂点バッファを使用した操作、およびレンダリング時に実行可能な他のアクションについては述べていない。これらのオペレーションは、上記で言及したMicrosoft DirectX(登録商標)を使用するに当たっての標準的なオペレーションであるので、これらについては説明しない。したがって、本発明の方法、システム、およびコンピュータプログラムは、テクスチャ作成、出力ラスタライザ調整、および頂点バッファ操作を含むがこれらに限定されることのない、他のレンダリングオペレーションを含むこともできることを理解されよう。
要約すると、本発明は、ガンマ補正の欠如を補償するためにGPUでのアルファ補正を提供する。これは、フォントグリフおよび他のイメージをレンダリングする全体の速度を、大幅に上げることができることを理解されよう。前述の例の多くは、具体的にフォントグリフのレンダリングを参照しながら提供されているが、本発明は、フォントグリフ以外の他のイメージのレンダリングにまで拡張することを理解されよう。したがって本発明は、ガンマ補正の欠如を補償するためにアルファ補正を実行することによって、ガンマ補正なしおよび所望の方法での任意のイメージのレンダリングまで、広範囲にわたって拡張する。
(オペレーティング環境)
図6および以下の考察は、本発明のある種の要素を実施するための好適なコンピューティング環境を、簡単かつ全般的に示すことを意図したものである。ただし本発明は、どんな特定のコンピュータ化システムにも限定される必要はなく、広範囲にわたるコンピュータ化システムで実施可能であることが重要視されるべきである。
一実施形態によれば、本発明は、コンピューティングデバイスによって実行可能な、プログラムモジュールなどのコンピュータ実行可能命令を格納している1または複数のコンピュータ読取り可能媒体を含む。一般に、プログラムモジュールには、特定のタスクを実行するかまたは特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれる。コンピュータ実行可能命令、関連付けられたデータ構造、およびプログラムモジュールは、本明細書に開示された方法の動作を実行するための、プログラムコード手段の例を表す。こうした実行可能命令または関連付けられたデータ構造の特定のシーケンスは、こうした動作に記載された機能を実施するための対応する動作の例を表す。
当分野の技術者であれば、本発明が、個々のコンピューティングデバイスに加えて、パーソナルコンピュータ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な大衆消費電子製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、その構成要素などを含む、多くの種類のコンピュータシステム構成を備えた、ネットワークコンピューティング環境で実施可能であることを理解されよう。また本発明は、通信ネットワークを介して(有線リンク、無線リンク、あるいは有線リンクまたは無線リンクの組合せのいずれかによって)リンクされたローカルおよびリモートの処理デバイスによってタスクが実行される、分散コンピューティング環境でも実施可能である。分散コンピューティング環境では、プログラムモジュールは、ローカルおよびリモート両方のメモリ記憶デバイス内に位置することができる。
具体的に図6を参照すると、本発明のある種の要素を実施するための例示的システムには、処理ユニット621、コンピュータ読取り可能媒体を備えるシステムメモリ622、および、システムメモリ622を含む様々なシステム構成要素を処理ユニット621に結合するシステムバス623を含む、従来型コンピュータ620の形式の汎用コンピューティングシステムが含まれる。システムバス623は、メモリバスまたはメモリコントローラ、周辺バス、および様々なバスアーキテクチャのうちのいずれかを使用するローカルバスを含む、いくつかのタイプのバス構造のうちのいずれかであってよい。システムメモリは、読取り専用メモリ(ROM)624およびランダムアクセスメモリ(RAM)625を含む。起動時などにコンピュータ620内の各要素間での情報の転送を助ける基本ルーチンを含む、基本入出力システム(BIOS)626は、ROM624に格納することができる。
コンピュータ620は、磁気ハードディスク639からの読取りまたはこれへの書込みのための磁気ハードディスクドライブ627、取外し可能磁気ディスク629からの読取りまたはこれへの書込みのための磁気ディスクドライブ628、および、CD−ROMまたは他の光媒体などの取外し可能光ディスク631からの読取りまたはこれへの書込みのための光ディスクドライブ630も含むことができる。磁気ハードディスクドライブ627、磁気ディスクドライブ628、および光ディスクドライブ630は、それぞれ、ハードディスクドライブインタフェース632、磁気ディスクドライブインタフェース633、および光ドライブインタフェース634によって、システムバス623に接続される。ドライブおよびそれらに関連付けられたコンピュータ読取り可能媒体は、コンピュータ実行可能命令、データ構造、プログラムモジュール、およびコンピュータ620用の他のデータの、不揮発性記憶域を提供する。これらの記憶媒体は、前述のように、補正係数とガンマ値とを関連付けるデータ構造を格納するためにも使用することができる。本明細書に記載された例示的環境は、磁気ハードディスク639、取外し可能磁気ディスク629、および取外し可能光ディスク631を使用するが、磁気カセット、フラッシュメモリカード、デジタル汎用ディスク、ベルヌーイカートリッジ、RAM、ROMなどを含む、データを格納するための他のタイプのコンピュータ読取り可能媒体を使用することができる。
1または複数のプログラムモジュールを含むプログラムコード手段は、オペレーティングシステム635、1または複数のアプリケーションプログラム636、他のプログラムモジュール637、およびプログラムデータ638を含む、ハードディスク639、磁気ディスク629、光ディスク631、ROM624、またはRAM625上に格納することができる。ユーザは、キーボード640、ポインティングデバイス642、または、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送用パラボラアンテナ、スキャナなどの、他の入力デバイス(図示せず)を介して、コマンドおよび情報をコンピュータ620に入力することができる。これらおよび他の入力デバイスは、システムバス623に結合されたシリアルポートインタフェース646を介して、処理ユニット621に接続されることが多い。あるいは入力デバイスは、パラレルポート、ゲームポート、またはUSB(Universal Serial Bus)などの他のインタフェースによって、接続することもできる。モニタ647または他のディスプレイ装置も、ビデオアダプタ648などのインタフェースを介して、システムバス623に接続される。この文脈では、ビデオアダプタ648は、前述のようにGPUを含むものとみなされる。パーソナルコンピュータは、通常、モニタに加えて、スピーカおよびプリンタなどの他の周辺出力デバイス(図示せず)も含む。
コンピュータ620は、リモートコンピュータ649aおよび649bなどの、1または複数のリモートコンピュータへの論理接続を使用するネットワーク化された環境で動作可能である。リモートコンピュータ649aおよび649bは、それぞれ他のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネットワークノードであってよく、典型的にはコンピュータ620に関して上記で述べた多くの、またはすべての要素を含むが、図6では、メモリ記憶デバイス650aおよび650bならびにそれらの関連付けられたアプリケーションプログラム636aおよび636bのみが例示されている。図6に示された論理接続は、本明細書に限定的ではなく例示的に示された、ローカルエリアネットワーク(LAN)651およびワイドエリアネットワーク(WAN)652を含む。こうしたネットワーキング環境は、事務所規模または企業規模のコンピュータネットワーク、イントラネットおよびインターネットとして普及している。
LANネットワーキング環境で使用される場合、コンピュータ620は、ネットワークインタフェースまたはアダプタ653を介してローカルネットワーク651に接続される。WANネットワーキング環境で使用される場合、コンピュータ620は、モデム654、無線リンク、または、インターネットなどのワイドエリアネットワーク652を介して通信を確立するための他の手段を含むことができる。モデム654は内蔵または外付けであってよく、シリアルポートインタフェース646を介してシステムバス623に接続される。ネットワーク化された環境では、コンピュータ620に関して示されたプログラムモジュールまたはその一部を、リモートメモリ記憶デバイス内に格納することができる。示されたネットワーク接続は例示的なものであり、ワイドエリアネットワーク652を介して通信を確立する他の手段が使用可能であることを理解されよう。
本発明は、その精神または本来の特徴を逸脱することなく、他の特定の形式でも実施可能であることを理解されよう。記載された実施形態は、すべての点で単なる例示的なものに過ぎず、限定的なものでないとみなされる。したがって、本発明の範囲は、前述の記述ではなく添付の特許請求の範囲で示される。特許請求の範囲の等化物の意味および領域内に入るすべての変更は、その範囲内に包含されるものである。
ガンマ補正の欠如を補償するためにフィルタリング済みアルファ値を補正するための方法を示す流れ図である。 所定のガンマ値に対応する補正係数のセットを計算しながら実行可能な一定の動作を含む最適化ルーチンのフローチャートである。 最適な補正係数セットの計算に関係することができる制約付き最適化の一実施形態を示す流れ図である。 既知のアルファ値、前景および補正係数から、補正済みアルファ値を計算するための図および対応する公式を示す図である。 ガンマ補正を含まないレンダリングプロセス時にGPUによって使用可能な構成要素および要素を示す機能構成図である。 本発明の要素を実施するための好適なオペレーティング環境を提供するオペレーティングシステムの一実施形態を示す図である。
符号の説明
510 多項式比率計算器
512 ガンマレベル
514 前景色
520 アルファテクスチャ
530 サンプラ1
532 サンプラ2
534 サンプラ3
540 ピクセルシェーダ
550 出力ラスタライザ
560 ターゲットサーフェス
621 処理ユニット
622 システムメモリ
623 システムバス
624 ROM
625 RAM
626 BIOS
632 ハードディスクドライブインタフェース
633 磁気ディスクドライブインタフェース
634 光ドライブインタフェース
635 オペレーティングシステム
636 アプリケーションプログラム
636 アプリケーションプログラム
637 他のプログラムモジュール
638 プログラムデータ
640 キーボード
646 シリアルポートインタフェース
647 モニタ
648 ビデオアダプタ
649 リモートコンピュータ
651 ローカルエリアネットワーク
652 ワイドエリアネットワーク
653 ネットワークインタフェース
654 モデム

Claims (26)

  1. イメージを表示するように構成された複数のピクセルを有するディスプレイ装置と接続されたコンピューティングシステムにおいて、前記コンピューティングシステムは、アルファ値を使用した混合プロセスを実行し、前記イメージを表示する前記ピクセルの前景色および背景色を制御するように構成されたグラフィックス処理ユニットを含み、前記グラフィックス処理ユニットによって受け取られた前記アルファ値を補正して、ガンマ補正なしに、前記ディスプレイ装置での前記イメージの表示を可能にする方法であって、
    1または複数の所定のガンマ値について補正係数セットを受け取る動作であって、前記所定のガンマ値のうちの少なくとも1つは、前記ディスプレイ装置の前記ガンマ値を含む動作と、
    前記グラフィックス処理ユニットによってグラフィックス混合プロセスを実行する際に使用可能なフィルタリング済みアルファ値を受け取って、前記ディスプレイ装置で前記イメージを表示する前記ピクセルの前記前景色および前記背景色を決定する動作と、
    前記ピクセルの1または複数の前景色を受け取る動作と、
    前記フィルタリング済みアルファ値のアルファ補正を実行して、補正済みアルファ値を取得するステップであって、前記アルファ補正は、前記補正係数および前記前景色を使用するステップと、
    前記ピクセルの前記前景色および背景色で動作する前記補正済みアルファ値を使用してグラフィック混合プロセスを実行し、前記ディスプレイ装置での前記イメージの表示に使用される前記ピクセル値を決定する動作と
    を備えたことを特徴とする方法。
  2. アルファ補正を実行するステップは、
    前記ディスプレイ装置の前記ガンマ値に対応する前記補正係数セットを選択する動作と、
    前記フィルタリング済みアルファ値、前記前景値、および前記選択された補正係数セットを使用して、前記補正済みアルファ値を計算する動作と
    を備えたことを特徴とする請求項1に記載の方法。
  3. ガンマ補正なしに前記ディスプレイ装置で前記イメージを表示する動作をさらに含むことを特徴とする請求項1に記載の方法。
  4. 前記フィルタリング済みアルファ値は、前記ディスプレイ装置で前記イメージを表示するために使用される各ピクセルについて3つのフィルタリング済みアルファ値のセットを含むことを特徴とする請求項1に記載の方法。
  5. 前記補正済みアルファ値は、前記フィルタリング済みアルファ値の各々に対応する3つの補正済みアルファ値のセットを含み、前記補正済みアルファ値は、前記フィルタリング済みアルファ値から導出されることを特徴とする請求項4に記載の方法。
  6. 前記1または複数のガンマ値の各々について最適化を実行することにより、前記1または複数のガンマ値の各々について前記補正係数セットを計算する動作であって、前記最適化は、前記アルファ補正の誤差を最小限にする動作をさらに備えたことを特徴とする請求項1に記載の方法。
  7. 前記1または複数のガンマ値は、約1.0から約2.2までの領域内において0.1の増分であるガンマ値を含むことを特徴とする請求項6に記載の方法。
  8. 前記最適化は、制約セットによって制約され、前記制約セットは、前記補正済みアルファ値が0から1までの領域内にあることを保証するように選択されることを特徴とする請求項6に記載の方法。
  9. 前記1または複数のガンマ値の各々についての前記補正係数セットは、第1の補正係数、第2の補正係数、第3の補正係数、および第4の補正係数を含み、前記アルファ補正を実行する動作は、アルファ補正済み値の計算を含み、各アルファ補正済み値は(アルファ補正済み値)=(α+(1−α)(cαf+cα+cf+c))の形式を取り、ここで、αは前記対応するフィルタリング済みα値であり、fは前記アルファ値に対応するピクセルの前景であり、cは第1の補正係数、cは第2の補正係数、cは第3の補正係数、cは第4の補正係数であることを特徴とする請求項1に記載の方法。
  10. イメージを表示するように構成された複数のピクセルを有するディスプレイ装置と接続されたコンピューティングシステムにおいて、前記コンピューティングシステムは、アルファ値を使用した混合プロセスを実行し、前記イメージを表示する前記ピクセルの前景色および背景色を制御するように構成されたグラフィックス処理ユニットを含み、前記グラフィックス処理ユニットによって受け取られた前記アルファ値を補正して、ガンマ補正なしに、前記ディスプレイ装置での前記イメージの表示を可能にする方法であって、
    1または複数の所定のガンマ値について補正係数セットを受け取る動作であって、前記所定のガンマ値のうちの少なくとも1つは、前記ディスプレイ装置の前記ガンマ値を含む動作と、
    前記グラフィックス処理ユニットによってグラフィックス混合プロセスに使用可能な1または複数のフィルタリング済みアルファ値を受け取って、前記ディスプレイ装置で前記イメージを表示する前記ピクセルの前記前景色および前記背景色を決定する動作と、
    1または複数の前景色を受け取る動作と、
    前記ディスプレイ装置の前記ガンマ値に対応する前記補正係数セットを選択する動作と、
    前記フィルタリング済みアルファ値、前記前景色、および前記選択された補正係数セットを使用して、前記補正済みアルファ値を計算する動作と、
    前記ピクセルの前記前景色および背景色で動作する前記補正済みアルファ値を使用してグラフィック混合プロセスを実行し、前記ディスプレイ装置での前記イメージの表示に使用される前記ピクセル値を決定する動作と
    を備えたことを特徴とする方法。
  11. ガンマ補正なしに前記ディスプレイ装置で前記イメージを表示する動作をさらに含むことを特徴とする請求項10に記載の方法。
  12. 前記フィルタリング済みアルファ値は、前記ディスプレイ装置で前記イメージを表示するために使用される各ピクセルについて3つのフィルタリング済みアルファ値のセットを含むことを特徴とする請求項10に記載の方法。
  13. 前記補正済みアルファ値は、前記イメージを表示する各ピクセルに対応する3つの補正済みアルファ値のセットを含み、前記補正済みアルファ値は、前記フィルタリング済みアルファ値から導出されることを特徴とする請求項12に記載の方法。
  14. 前記1または複数のガンマ値の各々について前記補正係数セットを計算する動作は、前記1または複数のガンマ値の各々について最適化を実行することを含むことを特徴とする請求項10に記載の方法。
  15. 前記1または複数のガンマ値は、約1.0から約2.2までの領域内において0.1の増分であるガンマ値を含むことを特徴とする請求項14に記載の方法。
  16. 前記最適化は、制約セットによって制約され、前記制約セットは、前記補正済みアルファ値が0から1までの領域内にあることを保証するように選択されることを特徴とする請求項14に記載の方法。
  17. 前記1または複数のガンマ値の各々についての前記補正係数セットは、第1の補正係数、第2の補正係数、第3の補正係数、および第4の補正係数を含み、前記アルファ補正を実行する動作は、アルファ補正済み値の計算を含み、各アルファ補正済み値は(アルファ補正済み値)=(α+(1−α)(cαf+cα+cf+c))の形式を取り、ここで、αは前記対応するフィルタリング済みα値であり、fは前記アルファ値に対応するピクセルの前景であり、cは第1の補正係数、cは第2の補正係数、cは第3の補正係数、cは第4の補正係数であることを特徴とする請求項10に記載の方法。
  18. イメージを表示するように構成された複数のピクセルを有するディスプレイ装置と接続されたコンピューティングシステムで使用するコンピュータプログラムであって、前記コンピューティングシステムは、アルファ値を使用した混合プロセスを実行し、前記イメージを表示する前記ピクセルの前景色および背景色を制御するように構成されたグラフィックス処理ユニットを含み、前記コンピュータプログラムは、前記グラフィックス処理ユニットによって受け取られた前記アルファ値を補正して、ガンマ補正なしに、前記ディスプレイ装置での前記イメージの表示を可能にする方法を実施するためのコンピュータ実行可能命令を有し、前記方法は、
    1または複数の所定のガンマ値について補正係数セットを受け取る動作であって、前記所定のガンマ値のうちの少なくとも1つは、前記ディスプレイ装置の前記ガンマ値を含む動作と、
    前記グラフィックス処理ユニットによってグラフィックス混合プロセスに使用可能な1または複数のフィルタリング済みアルファ値を受け取って、前記ディスプレイ装置で前記イメージを表示する前記ピクセルの前記前景色および前記背景色を決定する動作と、
    1または複数の前景色を受け取る動作と、
    前記ディスプレイ装置の前記ガンマ値に対応する前記補正係数セットを選択する動作と、
    前記フィルタリング済みアルファ値および前記選択された補正係数セットを使用して、前記補正済みアルファ値を計算する動作であって、前記計算する動作は、前記補正係数および前記前景色を使用する動作と、
    前記ピクセルの前記前景色および背景色で動作する前記補正済みアルファ値を使用してグラフィック混合プロセスを実行し、前記ディスプレイ装置での前記イメージの表示に使用される前記ピクセル値を決定する動作と
    を備えたことを特徴とするコンピュータプログラム。
  19. ガンマ補正なしに前記ディスプレイ装置で前記イメージを表示する動作をさらに含むことを特徴とする請求項18に記載のコンピュータプログラム。
  20. 前記フィルタリング済みアルファ値は、前記ディスプレイ装置で前記イメージを表示するために使用される各ピクセルについて3つのフィルタリング済みアルファ値のセットを含むことを特徴とする請求項18に記載のコンピュータプログラム。
  21. 前記補正済みアルファ値は、前記イメージを表示する各ピクセルに対応する3つの補正済みアルファ値のセットを含み、前記補正済みアルファ値は、前記フィルタリング済みアルファ値から導出されることを特徴とする請求項20に記載のコンピュータプログラム。
  22. 前記1または複数のガンマ値の各々について最適化を実行することにより、前記1または複数のガンマ値の各々について前記補正係数セットを計算する動作であって、前記最適化は、前記アルファ補正の誤差を最小限にする動作をさらに備えたことを特徴とする請求項18に記載のコンピュータプログラム。
  23. 前記1または複数のガンマ値は、約1.0から約2.2までの領域内において0.1の増分であるガンマ値を含むことを特徴とする請求項22に記載のコンピュータプログラム。
  24. 前記最適化は、制約セットによって制約され、前記制約セットは、前記補正済みアルファ値が0から1までの領域内にあることを保証するように選択されることを特徴とする請求項22に記載のコンピュータプログラム。
  25. 前記1または複数のガンマ値の各々についての前記補正係数セットは、第1の補正係数、第2の補正係数、第3の補正係数、および第4の補正係数を含み、前記アルファ補正を実行する動作は、アルファ補正済み値の計算を含み、各アルファ補正済み値は(アルファ補正済み値)=(α+(1−α)(cαf+cα+cf+c))の形式を取り、ここで、αは前記対応するフィルタリング済みα値であり、fは前記アルファ値に対応するピクセルの前景であり、cは第1の補正係数、cは第2の補正係数、cは第3の補正係数、cは第4の補正係数であることを特徴とする請求項18に記載のコンピュータプログラム。
  26. 請求項18ないし請求項25のいずれかに記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2003403826A 2002-12-03 2003-12-02 ガンマ補正の欠如を補償するためのアルファ補正の方法 Expired - Fee Related JP3955562B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/308,510 US6933947B2 (en) 2002-12-03 2002-12-03 Alpha correction to compensate for lack of gamma correction

Publications (3)

Publication Number Publication Date
JP2004185008A true JP2004185008A (ja) 2004-07-02
JP2004185008A5 JP2004185008A5 (ja) 2007-01-25
JP3955562B2 JP3955562B2 (ja) 2007-08-08

Family

ID=32325857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003403826A Expired - Fee Related JP3955562B2 (ja) 2002-12-03 2003-12-02 ガンマ補正の欠如を補償するためのアルファ補正の方法

Country Status (6)

Country Link
US (3) US6933947B2 (ja)
EP (1) EP1429293B1 (ja)
JP (1) JP3955562B2 (ja)
KR (1) KR100887462B1 (ja)
CN (1) CN100336011C (ja)
BR (1) BR0306750A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006238429A (ja) * 2005-02-25 2006-09-07 Microsoft Corp ハードウエア・アクセラレーティド・ブレンド・モード

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6828975B2 (en) * 2001-03-01 2004-12-07 Microsoft Corporation Method and system for managing graphics objects in a graphics display system
US6933947B2 (en) * 2002-12-03 2005-08-23 Microsoft Corporation Alpha correction to compensate for lack of gamma correction
US7289126B1 (en) * 2003-05-23 2007-10-30 Nvidia Corporation Gamma-corrected texel storage in a graphics memory
US8274517B2 (en) * 2003-11-14 2012-09-25 Microsoft Corporation Systems and methods for downloading algorithmic elements to a coprocessor and corresponding techniques
JP2005151282A (ja) * 2003-11-18 2005-06-09 Fuji Xerox Co Ltd 画像処理装置、画像処理方法、およびプログラム
US7450129B2 (en) * 2005-04-29 2008-11-11 Nvidia Corporation Compression of streams of rendering commands
US7522173B1 (en) 2006-02-23 2009-04-21 Nvidia Corporation Conversion of data in an sRGB format to a compact floating point format
CN101631189B (zh) * 2008-07-15 2012-08-29 鸿富锦精密工业(深圳)有限公司 图像合成系统及方法
US8139075B2 (en) * 2008-12-10 2012-03-20 Microsoft Corp. Color packing glyph textures with a processor
US8325177B2 (en) * 2008-12-29 2012-12-04 Microsoft Corporation Leveraging graphics processors to optimize rendering 2-D objects
CN102122323A (zh) * 2011-02-21 2011-07-13 四川大学 基于GPU的Gamma分析方法的快速实现
US9171386B2 (en) 2011-10-11 2015-10-27 Microsoft Technology Licensing, Llc Caching coverage values for rendering text using anti-aliasing techniques
KR20140122539A (ko) * 2013-04-10 2014-10-20 삼성디스플레이 주식회사 표시 장치 및 그 구동 방법
US9779528B2 (en) * 2014-09-12 2017-10-03 Microsoft Technology Licensing, Llc Text realization
KR102472131B1 (ko) * 2015-09-03 2022-11-29 삼성전자주식회사 쉐이더 프로그램을 생성하는 방법 및 장치
KR102328054B1 (ko) * 2020-05-13 2021-11-17 주식회사 한글과컴퓨터 전자 문서에 삽입되어 있는 개체의 원본 데이터 유지를 위한 개체 보호 기능을 제공하는 전자 장치 및 그 동작 방법
KR102328047B1 (ko) * 2020-05-13 2021-11-17 주식회사 한글과컴퓨터 워터마크용 이미지를 통해 문서 상에 문서 보안 등급에 대한 정보를 삽입할 수 있는 전자 장치 및 그 동작 방법
CN114286163B (zh) * 2021-12-24 2024-02-13 苏州亿歌网络科技有限公司 一种序列图的录制方法、装置、设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5128658A (en) * 1988-06-27 1992-07-07 Digital Equipment Corporation Pixel data formatting
JP3332404B2 (ja) * 1992-02-27 2002-10-07 キヤノン株式会社 画像モニタ装置及びその制御装置
JPH0775633A (ja) * 1993-06-30 1995-03-20 Shimadzu Corp 画像処理装置
US5473737A (en) * 1993-10-12 1995-12-05 International Business Machines Corporation Method and apparatus for displaying a composite image made up of a foreground image and a background image
JPH07282274A (ja) * 1994-04-04 1995-10-27 Mitsubishi Electric Corp グラフィック表示装置
KR960003448A (ko) 1994-06-09 1996-01-26 김광호 텔레비젼 화면 조정용 테스트 패턴 디스플레이 방법 및 그 장치
US5990903A (en) * 1997-02-03 1999-11-23 Micron Technologies, Inc. Method and apparatus for performing chroma key, transparency and fog operations
US6459428B1 (en) * 1998-02-17 2002-10-01 Sun Microsystems, Inc. Programmable sample filtering for image rendering
US6393145B2 (en) * 1999-01-12 2002-05-21 Microsoft Corporation Methods apparatus and data structures for enhancing the resolution of images to be rendered on patterned display devices
US6738526B1 (en) * 1999-07-30 2004-05-18 Microsoft Corporation Method and apparatus for filtering and caching data representing images
EP1290643A2 (en) 2000-05-16 2003-03-12 Sun Microsystems, Inc. Graphics system using a blur filter
CN1338662A (zh) * 2000-08-15 2002-03-06 二一零零科技股份有限公司 改进的影像处理技术
US7034828B1 (en) * 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
US6879717B2 (en) * 2001-02-13 2005-04-12 International Business Machines Corporation Automatic coloring of pixels exposed during manipulation of image regions
US6831645B2 (en) * 2002-03-05 2004-12-14 Sun Microsystems, Inc. System and method for performing font operations when background color is transparent
US6897879B2 (en) * 2002-03-14 2005-05-24 Microsoft Corporation Hardware-enhanced graphics acceleration of pixel sub-component-oriented images
US6933947B2 (en) * 2002-12-03 2005-08-23 Microsoft Corporation Alpha correction to compensate for lack of gamma correction
US7369139B2 (en) * 2003-11-20 2008-05-06 Honeywell International, Inc. Background rendering of images

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006238429A (ja) * 2005-02-25 2006-09-07 Microsoft Corp ハードウエア・アクセラレーティド・ブレンド・モード
JP2012198943A (ja) * 2005-02-25 2012-10-18 Microsoft Corp ハードウエア・アクセラレーティド・ブレンド・モード

Also Published As

Publication number Publication date
EP1429293A2 (en) 2004-06-16
EP1429293B1 (en) 2013-05-29
JP3955562B2 (ja) 2007-08-08
US7142220B2 (en) 2006-11-28
BR0306750A (pt) 2004-12-28
KR20040048839A (ko) 2004-06-10
CN100336011C (zh) 2007-09-05
US20050237339A1 (en) 2005-10-27
US6985157B2 (en) 2006-01-10
US20050151753A1 (en) 2005-07-14
EP1429293A3 (en) 2005-11-09
KR100887462B1 (ko) 2009-03-10
US6933947B2 (en) 2005-08-23
CN1514344A (zh) 2004-07-21
US20040104917A1 (en) 2004-06-03

Similar Documents

Publication Publication Date Title
US6985157B2 (en) Alpha correction to compensate for lack of gamma correction
US7986330B2 (en) Method and apparatus for generating gammacorrected antialiased lines
US9165399B2 (en) System, method, and computer program product for inputting modified coverage data into a pixel shader
JP5294313B2 (ja) ベジェ曲線描画装置、ベジェ曲線描画方法およびプログラム
US7312801B2 (en) Hardware accelerated blend modes
JP4989470B2 (ja) 線形光量値および他の画像処理の改良を使用した画像処理
KR20080045132A (ko) 하드웨어 가속 컬러 데이터 처리
KR100567204B1 (ko) 픽셀 당 mip 매핑 및 3선형 필터링 방법 및 장치
US20160307482A1 (en) Mixed primary display with spatially modulated backlight
US6437781B1 (en) Computer graphics system having per pixel fog blending
RU2402811C2 (ru) Обработка изображений с помощью линейных параметров светоустановки и других усовершенствований обработки изображений
US20120182321A1 (en) Image converter, image conversion method, program and electronic equipment
US20070008310A1 (en) Method for generating a three-dimensional display
US8564612B2 (en) Deep pixel pipeline
JP5106483B2 (ja) ピクセルデータを垂直にスケーリングするための方法および装置
JP2008245024A (ja) ルックアップテーブル作成
EP1302902B1 (en) Feedback-controlled setting of interpolation parameters used in image rendering
US8411105B1 (en) Method and system for computing pixel parameters
JP2898569B2 (ja) コンピュータゲーム開発用ビデオアクセラレータボード
US7538777B2 (en) Aggregation of non-linear pixel effects
JP5141871B2 (ja) 画像処理方法及び画像表示装置
US20080122844A1 (en) Method, medium, and system rendering 3 dimensional graphics data considering fog effect
US20090060387A1 (en) Optimizations for radius optical blur

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061201

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20061201

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20061225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070502

R150 Certificate of patent or registration of utility model

Ref document number: 3955562

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees