(57)【特許請求の範囲】
【請求項１】
表示装置の複数のピクセルに対応する色値を処理する装置であって、
複数の前記色値を記憶するメモリと、
前記メモリに結合され、前記メモリから色値を受け取るよう構成され、
制御信号に基づく通常モード時には受け取った色値のフォッグ修正を行い、
制御信号に基づく色空間変換モード時には受け取ったＹ、Ｃr、Ｃb（ルミナンス、赤色度、青色度）空間の色値について実質的に式ｓＹ＝１．１６*（Ｙ−０．０６３）＋０．５に基づいて中間色信号（ｓＹ）を生成するフォッグ回路と、
前記フォッグ回路に結合し、
前記通常モード時には前記フォッグ回路から受け取った第１の色値と第２の色値をブレンドし、
前記色空間変換モード時には前記フォッグ回路から前記中間色信号（ｓＹ）を受け取り、実質的に式
Ｒ＝ｓＹ＋１．５９*（Ｃr−０．５）、
Ｇ＝ｓＹ−０．８１*（Ｃr−０．５）−１００*（Ｃb−０．５）、および
Ｂ＝ｓＹ＋２．０*（Ｃb−０．５）
に基づいて、前記Ｙ、Ｃr、Ｃb空間の色値についての赤色（Ｒ）信号、緑色（Ｇ）信号、および青色（Ｂ）信号を生成するブレンド回路と
を含む装置。
【請求項２】
請求項１記載の装置において、
前記フォッグ回路とブレンド回路は０から２５６の強度スケールを使用する装置。
【請求項３】
表示装置の複数のピクセルに対応する色値に作用する装置であって、
第１のソース色値と、フォッグ色値と、フォッグ乗数値と、制御信号と、を受け取るように結合され、前記制御信号がアサートされていない場合、それに応答して更新されたソース色値を生成し、前記制御信号がアサートされている場合、Ｙ、Ｃr、Ｃb（ルミナンス、赤色度、青色度）空間の第２のソース色値について実質的に式ｓＹ＝１．１６*（Ｙ−０．０６３）＋０．５に基づいて中間色信号（ｓＹ）を生成するフォッグ回路と、
前記更新されたソース色値と、デスティネーション色値と、ソース・スケール係数と、目的スケール係数と、前記制御信号とを受け取るように結合され、前記制御信号がアサートされていない場合、それに応答してブレンドされた色値を出力し、前記制御信号がアサートされている場合、前記フォッグ回路から中間色信号（ｓＹ）を受け取り、実質的に式
Ｒ＝ｓＹ＋１．５９*（Ｃr−０．５）、
Ｇ＝ｓＹ−０．８１*（Ｃr−０．５）−１００*（Ｃb−０．５）、および
Ｂ＝ｓＹ＋２．０*（Ｃb−０．５）
に基づいて、前記Ｙ、Ｃr、Ｃb空間の色値についての赤色（Ｒ）信号、緑色（Ｇ）信号、および青色（Ｂ）信号を生成するブレンド回路と
を含む装置。
【請求項４】
請求項３記載の装置において、
前記フォッグ回路とブレンド回路は０から２５６の強度スケールを使用する装置。
【請求項５】
請求項３記載の装置において、さらにピクセル色値を処理する回路を備え、この回路が、
前記ブレンド回路から出力された色値を受け取る手段であって、前記色値は複数の下位ビットと複数の上位ビットとを有している手段と、
複数の下位ビットと複数の上位ビットとを有し、この複数の上位ビットがディザ・マトリックスに対応するディザ値を表し、かつこの複数の下位ビットが前記色値の複数の前記上位ビットを表す第２の値を生成する手段と、
前記第２の値に前記色値を加えて複数の下位ビットと複数の上位ビットとを有する和値を生成し、前記和値の複数の上位ビットを修正された色値として出力する手段と
を含む装置。
【請求項６】
請求項３記載の装置において、
前記フォッグ回路が、
赤色成分回路と、
前記赤色成分回路に結合された緑色成分回路と、
前記赤色成分回路と前記緑色成分回路とに結合された青色成分回路と
を含む装置。
【請求項７】
請求項６記載の装置において、
前記赤色成分回路が、
第１の入力端子と第２の入力端子と出力端子とを有し、前記制御信号がアサートされていない場合、前記第１の入力端子で前記第１のソース色値を受け取り、前記第２の入力端子でフォッグ色値を受け取り、第１の差の値を出力し、前記制御信号がアサートされている場合、前記第１の入力端子で第２のソース色値を受け取り、前記第２の入力端子で第１の定数値を受け取り、第２の差の値を出力する減算回路と、
前記制御信号がアサートされているかどうかに従って第１の入力端子で前記第１の差の値または前記第２の差の値を受け取るように結合され、前記第２の入力端子でフォッグ係数を受け取るように結合され、積値を出力する乗算回路と、
前記積値と第２の定数値とを受け取るように結合され、和値を出力する加算回路と、
第１の入力端子で前記和値を受け取るように結合され、第２の入力端子で前記第１の差の値または前記第２の差の値を受け取るように結合され、前記制御信号がアサートされていない場合に前記和値を出力し、前記制御信号がアサートされている場合に前記第２の差の値を出力するマルチプレクサと
を含む装置。
【請求項８】
コンピュータ・システムの動作を制御するプロセッサと、
前記プロセッサに結合された第１のメモリと、
前記プロセッサと前記第１のメモリとに結合されたディスプレイ・アダプタとを含み、前記ディスプレイ・アダプタは、
複数の前記色値を記憶する第２のメモリと、
前記第２のメモリに結合され、前記第２のメモリから色値を受け取るよう構成され、
制御信号に基づく通常モード時には受け取った色値のフォッグ修正を行い、
制御信号に基づく色空間変換モード時には受け取ったＹ、Ｃr、Ｃb（ルミナンス、赤色度、青色度）空間の色値について実質的に式ｓＹ＝１．１６*（Ｙ−０．０６３）＋０．５に基づいて中間色信号（ｓＹ）を生成するフォッグ回路と、
前記フォッグ回路に結合し、
前記通常モード時には前記フォッグ回路から受け取った第１の色値と第２の色値をブレンドし、
前記色空間変換モード時には前記フォッグ回路から前記中間色信号（ｓＹ）を受け取り、実質的に式
Ｒ＝ｓＹ＋１．５９*（Ｃr−０．５）、
Ｇ＝ｓＹ−０．８１*（Ｃr−０．５）−１００*（Ｃb−０．５）、および
Ｂ＝ｓＹ＋２．０*（Ｃb−０．５）
に基づいて、前記Ｙ、Ｃr、Ｃb空間の色値についての赤色（Ｒ）信号、緑色（Ｇ）信号、および青色（Ｂ）信号を生成するブレンド回路と
を含むコンピュータ・システム。
【請求項９】
請求項８記載のコンピュータ・システムにおいて、
前記フォッグ回路とブレンド回路は０から２５６の強度スケールを使用するシステム。
【請求項１０】
コンピュータ・システムにおいてピクセル色値を処理する方法であって、
フォッグ係数に従って第２の色値を修正することができるフォッグ回路を使用して、色空間変換モード時に、Ｙ、Ｃr、Ｃb（ルミナンス、赤色度、青色度）空間の第１の色値について、実質的に式ｓＹ＝１．１６*（Ｙ−０．０６３）＋０．５に基づいて中間色信号（ｓＹ）を生成するステップと、
第３の色値と第４の色値をブレンドすることができるブレンド回路を使用して、色空間変換モード時に、前記フォッグ回路から前記中間色信号（ｓＹ）を受け取り、実質的に式
Ｒ＝ｓＹ＋１．５９*（Ｃr−０．５）、
Ｇ＝ｓＹ−０．８１*（Ｃr−０．５）−１００*（Ｃb−０．５）、および
Ｂ＝ｓＹ＋２．０*（Ｃb−０．５）
に基づいて、前記Ｙ、Ｃr、Ｃb空間の色値についての赤色（Ｒ）信号、緑色（Ｇ）信号、および青色（Ｂ）信号を生成するステップと
を含む方法。
【請求項１１】
請求項１０記載の方法において、
前記赤色（Ｒ）信号、緑色（Ｇ）信号、および青色（Ｂ）信号はそれぞれピクセル色値を定めるものであり、さらに、
前記各ピクセル色値の少なくとも一部とディザ値とを組み合わせてそれぞれの合成値を形成するステップと、
前記それぞれの合成値にそれぞれのピクセル色値を加えて、ディザリングされ、かつ補正されたピクセル色値を生成するステップと
を含む方法。
【請求項１２】
請求項１１記載の方法において、
前記合成値を形成するステップは、それぞれのピクセル色値の少なくとも一部とディザ値とを結びつけてそれぞれの合成値を形成するステップ
を含む方法。
【請求項１３】
請求項１１記載の方法において、
前記ディザ値はディザ・マトリックスに対応するものである、方法。
【請求項１４】
請求項１１記載の方法において、
前記ディザリングされ、かつ補正されたピクセル色値はスケーリング補正され、かつディザリングされたピクセル色値を含む、方法。
【請求項１５】
請求項１１記載の方法において、
前記各ピクセル色値は下位部分と上位部分とを有し、前記合成値を形成するステップは前記ディザ値とそれぞれのピクセル色値の上位部分とを結びつけるステップを含む、方法。
【請求項１６】
請求項１５記載の方法において、
前記ディザリングされ、かつ補正されたピクセル色値を生成するステップは、それぞれのピクセル色値とそれぞれの合成値を加算して、下位部分と上位部分とを有したそれぞれの中間値を提供するステップを含み、このそれぞれの中間値の上位部分がスケーリング補正され、かつディザリングされたピクセル色値を表している、方法。
【請求項１７】
請求項１０記載の方法において、
前記フォッグ回路とブレンド回路は０から２５６の強度スケールを使用する方法。
【発明の詳細な説明】
発明の分野
本発明は、コンピュータ・システムにおけるグラフィクスおよびビデオ処理の分野に関する。より詳細には、本発明はブレンド論理を使用して色空間変換を行うことに関する。
発明の背景
最新のコンピュータ・システムは、グラフィクス、ビデオ、あるいはその両方の処理をサポートするアドイン回路（拡張）カードを備えることが多い。このようなカードは、グラフィクス／ビデオ・アダプタ・カードまたはグラフィクス／ビデオ・アクセラレータ・カードと呼ばれることがある。これらの構成要素は一般に、中央処理装置（ＣＰＵ）の負担を軽減し、コンピュータ・システムが、特定の娯楽アプリケーションおよびマルチメディア・アプリケーションをサポートするのに必要な複雑なグラフィクスおよびビデオ処理機能を実行することができるようにする。
グラフィクス／ビデオ・アクセラレータ・カードが行う３つの一般的な機能は、フォッグ効果、ブレンディング、および色空間変換である。フォッグ効果は、フライト・シミュレータなどのゲーム・アプリケーションで広く使用され、後の詳細な説明で述べるように、一般にフォッグ乗数とフォッグ色値に従って対象ピクセル色値を修正することを含む。ブレンディングは、それぞれ特定の分率に従ってスケーリング（重み付け）された２つ以上の入力ピクセル色値に基づいて出力ピクセル色値を得る機能である。色空間変換は、一般に、１つの色空間内のピクセル色データを、異なる色空間内のピクセル色データに変換するために行われる。テレビジョンまたはその他のビデオ色データは、「ＹＵＶ」色空間とも呼ばれることがあるＹＣrＣb（ルミナンス、赤クロミナンス、青クロミナンス）色空間でコンピュータ・システムに供給することができる。ＹＣrＣbはＮＴＳＣ、ＰＡＬおよびＭＰＥＧの固有色空間である。しかし、コンピュータ・システムがこのデータを表示するには、データを、ＲＧＢ（赤、緑、青）色空間などコンピュータの表示機能に対応する色空間に変換する必要がある。ＲＧＢは、多くのパーソナル・コンピュータおよびワークステーションに固有の色空間である。
グラフィクス／ビデオ・アドイン・カードの設計でよく生じる１つの問題は、スペースが通常はきわめて限られていることである。この問題の１つの解決策は、特定の、対象が限定されたソフトウェア・アプリケーションのみにとって不可欠または必要な選択されたグラフィクス機能のみを備えることによって、回路のゲートの数を減らすことである。しかし、回路面積を減らす重要性と市場の需要に対応する必要との兼ね合いを検討しなければならない。したがって、機能性を犠牲にすることなく、グラフィクス／ビデオ・アドイン・カードにおいてフォッグ、ブレンディング、色空間変換などの特定のグラフィクス／ビデオ機能を実施するのに必要な全体的ゲート数を減らすことが望ましい。
発明の概要
表示装置のピクセルに対応する色値を処理する装置について説明する。この装置は、メモリとブレンド回路を含む。メモリにはいくつかの色値が記憶される。ブレンド回路はメモリに結合され、メモリから受け取った第１の色値を第２の色値と混ぜ合わせる。また、ブレンド回路は、所与の色空間から導き出された第３の色値を入力し、その第３の色値に応答して前記所与の色値とは異なる色空間に適合する第４の色値を生成する。
本発明の特定の実施態様では、所与の色空間はＹＣrＣbであり、異なる色空間はＲＧＢである。
本発明のその他の特徴は、添付図面および詳細な説明から明らかになろう。
【図面の簡単な説明】
本発明を、添付図面に限定的にではなく例示的に示す。図では同様の参照番号は同様の要素を示す。
第１図は、本発明を実施するコンピュータ・システムを示す図である。
第２図は、本発明を実施するグラフィクス／ビデオ処理回路を示す図である。
第３図は、本発明を実施するピクセル・エンジンを示す図である。
第４図は、本発明によるピクセル・パイプラインを示す図である。
第５Ａ図は、フォッグ／色空間変換回路を示すブロック図である。
第５Ｂ図は、ブレンド／色空間変換回路、補正／ディザ回路、およびクランプ回路を示すブロック図である。
第６Ａ図は、本発明により補正を行う手続きを示す図である。
第６Ｂ図は、本発明によりディザリングを行う手続きを示す図である。
第６Ｃ図は、本発明により、補正とディザリングを同時に行う手続きを示す図である。
第７図は、フォッグ／色空間変換回路の回路図である。
第８Ａ図は、ブレンド／色空間変換赤色成分回路の回路図である。
第８Ｂ図は、ブレンド／色空間変換緑色成分回路の回路図である。
第８Ｃ図は、ブレンド／色空間変換青色成分回路の回路図である。
詳細な説明
ブレンド論理を使用して色空間変換を行う方法および装置について説明する。以下の説明では、本発明を十分に理解することができるように、説明のために多くの特定の詳細を記載する。しかし、当業者には、本発明はこれらの特定の詳細がなくても実施可能であることが明らかであろう。他の場合には、本発明が無用に不明瞭にならないように、周知の構造体および装置はブロック図の形で示す。
第１図に、本発明を実施するコンピュータ・システム１を示す。コンピュータ・システム１は、システム・バス３０によってシステム・メモリ２０に結合された中央処理装置（ＣＰＵ）１０を含む。ＣＰＵ１０とメモリ２０は、バス・インタフェース５０を経由してシステム・バス３０を介してＰＣＩ（周辺機器相互接続）バス４０に結合されている。ＰＣＩバス４０には、グラフィクス／ビデオ・アクセラレータ・カード６０および様々な周辺装置８０および９０が結合されている。グラフィクス／ビデオ・アクセラレータ・カード６０は、表示モニタ７０に結合されている。
第２図に、グラフィクス／ビデオ・アクセラレータ・カード６０内に含まれる回路を示す。この回路には、様々な三次元（３Ｄ）グラフィクス機能を実行する回路が含まれる。第２図では、ＰＣＩインタフェース１００がグラフィクス／ビデオ・アクセラレータ・カード６０をＰＣＩバス４０に結合している。ＰＣＩインタフェース１００にはグラフィクス・プロセッサ１０２が結合され、後述する様々なグラフィクスおよびビデオ処理機能を実行するように設計されている。好ましい実施形態では、グラフィクス・プロセッサ１０２はＲＩＳＣ（縮小命令セット・コンピューティング）プロセッサである。
グラフィクス・プロセッサ１０２にはピクセル・エンジン１２０が結合され、後述するように双一次フィルタリング、フォッグ、ブレンディング、色空間変換、ディザリングなど様々なグラフィクス機能を実行する回路を含んでいる。ローカル・ランダム・アクセス・メモリ（ＲＡＭ）１１０に、ソース・ピクセル色値とデスティネーション・ピクセル色値の両方が記憶される。デスティネーション色値はメモリ１１０内のフレーム・バッファ１１２に記憶される。好ましい実施形態では、メモリ１１０はダイナミックＲＡＭ（ＤＲＡＭ）を使用して実施される。ディスプレイ・コントローラ１１４がＲＡＭ１１０と先入れ先出しバッファ（ＦＩＦＯ）１１６とに結合されている。ディスプレイ・コントローラ１１４の制御の下に、フレーム・バッファ１１２に記憶されているデスティネーション色値がＦＩＦＯ１１６に供給される。ＦＩＦＯ１１６に記憶されたデスティネーション値は１組のディジタル−アナログ変換器（ＤＡＣ）１１８に供給され、ＤＡＣ１１８は赤、緑、および青のアナログ色信号をモニタ７０に出力する。
ＲＡＭ１１０にはメモリ・コントローラ１０８も結合されている。メモリ・コントローラ１０８は、ＲＡＭ１１０とピクセル・エンジン１２０とグラフィクス・プロセッサ１０２の両方との間のデータ転送を制御する。命令キャッシュ１０４とデータ・キャッシュ１０６がそれぞれグラフィクス・プロセッサ１０２とメモリ・コントローラ１０８に結合され、それぞれ、頻繁に使用される命令およびデータを記憶するために使用される。データ・キャッシュ１０６はＰＣＩインタフェース１００およびピクセル・エンジン１２０にも結合されている。
第３図に、ピクセル・エンジン１２０を詳細に示す。ピクセル・エンジン１２０は、コマンド待行列１３０、読取り要求待行列１３４，属性待行列１３６、読取りデータ待行列１３８、書込みデータ待行列１４２、第１段処理回路１３２、および第２段処理回路１４０を含む。グラフィクス・プロセッサ１０２によって発行されたコマンドは、ピクセル・エンジン１２０が受け取り、コマンド待行列１３０に入れられる。コマンド待行列１３０に入れられたコマンドは次に第１段回路１３２に供給される。第１段回路１３２はピクセル属性を累算し、各コマンドについて実行しなければならない読取りサイクル数と書込みサイクル数を判断する。ピクセル属性には、たとえばｘ、ｙ、およびｚ成分、Ｒ、Ｇ、およびＢ成分、アルファ（透明）、ｕ、およびｖ成分、フォッグなどが含まれる。さらに、第１段回路１３２はメモリ読取りおよび書込み要求と、各読取りおよび書込みオペレーションに付随するアドレスを生成する。第１段回路１３２によって生成されたメモリ読取り要求は、読取り要求待行列１３４に格納される。次に、読取り要求待行列１３４は各読取り要求をデータ・キャッシュ１０６に出力する。さらに、第１段回路１３２はピクセル属性を属性待行列１３６に出力し、属性待行列１３６は後でそれらの属性を第２段処理回路１４０に供給する。
読取りオペレーション中に、データ・キャッシュ１０６からピクセル色値（この色値はＲＡＭ１１０から取り出すことができる）が読取りデータ待行列１３８に読み出される。ピクセル色値は次に読み取りデータ待行列１３８から第２段回路１４０に出力され、第２段回路１４０は、双一次フィルタリング、テクスチャ付加、フォッグ効果、色空間変換、ブレンディング、ディザリングなどの機能を実行する。処理された色値は次に第２段回路１４０によって書込みデータ待行列１４２に供給され、書込みデータ待行列１４２は処理された色値をデータ・キャッシュ１０６に出力する。
属性待行列１３６には、データ・キャッシュ１０６またはＲＡＭ１１０内のデータを参照するために使用されないピクセル属性が格納される。データ・キャッシュ１０６から第２段回路１４０にデータが読み取られるとき、属性待行列１３６に格納されている対応する属性値が、属性待行列１３６と第２段回路１４０から並列して読み出される。
本発明は、第２段回路１４０内の回路に組み込まれている。第４図に、第２段回路１４０を詳細に示す。第２段回路１４０にはピクセル・パイプラインが実装されている。ピクセル・パイプラインでは、ピクセル・アンパック、双一次フィルタリングおよびテクスチャ付加、フォッグ、ブレンディング、色空間変換、ピクセル補正およびディザリング、およびクランピングの各機能が実行される。これらの機能は、状態機械１４６によって調整され、タイミング制御される。本発明によると、色空間変換は、別個の専用色空間変換回路を設けるのではなく、フォッグ回路とブレンド回路の両方を使用して行われる。具体的には、色空間変換の最初の段階は（要求時に）フォッグ回路１５２によって行われ、色空間変換の最後の段階はブレンド回路１５４を使用して行われる。回路１５２は、所与の時点でフォッグ効果または色空間変換の第１段階のいずれかを行うことができるが両方行うことはない。同様に、ブレンド／色空間変換回路１５４は、回路１５２から入力値を受け取り、所与の時点でブレンディングまたは色空間変換の第２段階を行うことができる。
第２段回路１４０内では、アンパック回路１４８がＲＡＭ１１０またはデータ・キャッシュ１０６から信号ＲＥＡＤ  ＤＡＴＡを介してピクセル色値を受け取り、信号ＡＴＴ  ＤＡＴＡを介してピクセル属性値を受け取る。アンパック回路１４８は色データを８ビットのセグメントに変換する。たとえば、色データは各ワードがたとえば３個の５ビット色セグメントと１個の未使用ビットを含む１６ビット・ワードでアンパック回路１４８に供給されるとする。したがって、アンパック回路１４８は各１６ビット・ワード内の各５ビット色セグメントを別の８ビット色値に変換（「アンパック」）する。「アンパック」色値は次にアンパック回路１４８によって双一次フィルタリングおよびテクスチャ付加回路１５０に供給される。
回路１５０は、画像に対してズームやテクスチャ面の付加を行うことが要求された場合のそれらの機能を実行する。回路１５０は、フォッグ／色空間変換回路１５２にピクセル色値を出力する。フォッグ／色空間変換回路１５２はブレンド／色空間変換回路１５４に色値を出力する。回路１５６が回路１５４の出力値を入力値として受け取り、ディザリングと補正機能を実行する。
補正機能は、普通なら本システムに内在することになるピクセル強度の潜在的損失を補償するために必要である。具体的には、ピクセル・エンジン１４０は８ビット色値を使用して０〜２５６の強度スケールを表す。しかし、８ビットで表すことができる最大二進値は２５５であり、これは２５６の可能な最大強度値の９９．６％に過ぎない。この比率が１未満（すなわち０．９９６）であるため、適切な補正を行わないと、色値を描画し直すたびにピクセル強度の損失が生じる。したがって、回路１５６は処理された各色値を再スケーリングしてこのような強度の損失を防止する。再スケーリング手続きの詳細は、第６図を参照しながら後述する。
クランプ回路１５８は、回路１５６の出力値を入力値として受け取り、ピクセル色値の上限と下限の両方を出力する。ピクセル色値は次にクランプ回路１５８によって書込みデータ待行列１４２に出力される。
第５Ａ図に、フォッグ／色空間変換回路１５２の入力と出力を示す。回路１５２は、赤、緑、および青の色成分のそれぞれについて入力値としてデスティネーション色値Ｄ＿ｃ、ソース色値Ｔｅｘ＿ｃ、およびフォッグ色値ＦｏｇＣｏｌｏｒ＿ｃを受け取る。（この説明では、信号名の接尾部「＿ｃ」は総称であり、実際の回路ではより具体的な接尾部に置き換えて、たとえば赤色チャネルを表す「＿ｒ」のように、特定の色成分またはチャネルの信号を示すことができることに留意されたい。）さらに、回路１５２は入力値としてフォッグ係数ＦｏｇＭｕｌｔを受け取る。さらに、回路１５２は状態機械１４６から制御信号ＹＵＶ２ＲＧＢおよびＰＡＳＳを受け取る。回路１５２は、赤、緑、および青色成分のそれぞれについてデスティネーション色値Ｄ＿ｃと修正されたソース色値Ｓ＿ｃを出力する。さらに、回路１５２は中間色信号ｓＹを出力する。これは後述するように色空間変換時に使用される。
回路１５２は、制御信号ＹＵＶ２ＲＧＢの状態に従ってフォッグ・モードまたは色空間変換モードにすることができる。具体的には、回路１５２は、信号ＹＵＶ２ＲＧＢがアサートされると色空間変換を行う。好ましい実施形態では、信号ＹＵＶ２ＲＧＢはアクティブ高信号である。
好ましい実施形態では、色空間変換機能によってＹＣrＣb（ルミナンス、赤クロミナンス、青クロミナンス）色空間（ＹＵＶ色空間と呼ぶこともある）における色値が、ＲＧＢ（赤、緑、青）色空間における色値に変換される。しかし、色空間変換は、本発明の範囲内でＹＣrＣbやＲＧＢ以外の様々な異なる色空間の間で行うことができることを理解されたい。
制御信号ＰＡＳＳは、色空間変換もフォッグ効果も要求されない場合にアサートされる。ＰＡＳＳ信号をアサートする効果は、ソース色値Ｔｅｘ＿ｃが回路１５２を通って出力Ｓ＿ｃが未修整で出力されるようにすることである。
フォッグ・モード（すなわち信号ＹＵＶ２ＲＧＢがアサートされていない場合）では、回路１５２は一般に、入力ソース色値Ｔｅｘ＿ｃを以下の周知のフォッグ式に基づいて修正する。
S_c=FogMult*Tex_c-FogColor_c)+FogColor  （１）
しかし具体的には、回路１５２は色値の適切な丸めを行うために、実際には式（２）を実施する。
S_c=[FogMult*(Tex_c-FogColor_c)+((FogColor_c<<8)÷128)]>>8  （２）
記号「＜＜」および「＞＞」はそれぞれ機能「左桁移動」および「右桁移動」を表し、この記号の直後の数字は、この記号の直前の数字を桁移動するビット数を示す。
前述のように、本システムは０〜２５６のピクセル強度スケールを使用する。したがって、式（２）に価１２８を加えると、その直前の部分和に２分の１（すなわち１２８／２５６＝０．５）を加える効果がある。式（２）、および式（２）を実施する回路において、部分和に値１２８を加え、その結果の和を８ビットだけ右桁移動することによって、ピクセル色値の適切な丸めが行われるように保証される。
色空間変換モード（すなわち信号ＹＵＶ２ＲＧＢがアサートされている場合）では、回路１５２は、概念上は式（３）に基づく中間項ｓＹを生成する（ただし、Ｙは入力ルミナンス値を表す）。
ｓＹ＝１．１６*（Ｙ−０．０６３）＋０．５  （３）
しかし、本システムは０〜２５６の色値強度スケールを使用するため、回路１５２は実際には、式（４）に従って信号ｓＹを生成する（ただし価２９７、１６、および１２８は０〜２５６のスケールに基づく）。
ｓＹ＝２９７*（ｙ−１６）＋１２８  （４）
ルミナンス値Ｙは、後述するように、色空間変換時に回路１５２の緑成分回路のＴｅｘ＿ｃ入力（すなわちＴｅｘ＿ｇ入力）に適用される。
第５Ｂ図に、ブレンド／色空間変換回路１５４の入力と出力を示す。回路１５４は、制御信号ＹＵＶ２ＲＧＢの状態に応じてブレンディングまたは色空間変換の第２段階を実行する。具体的には、信号ＹＵＶ２ＲＧＢがアサートされる場合に色空間変換が行われる。回路１５４は入力値として、赤、緑、および青色成分のそれぞれについて信号Ｓ＿ｃおよびＤ＿ｃを受け取る。フレーム・バッファ１１２からデスティネーション色値Ｄ＿ｃを受け取る。さらに、回路１５４は信号ＢｌｅｎｄＳｒｃおよびＢｌｅｎｄＤｓｔとｓＹを受け取る。ブレンド・モードでは、回路１５４は式（５）に従って出力色値Ｐ＿ｃを生成する。
Ｐ＿ｃ＝Ｓ＿ｃ*ＢｌｅｎｄＳｒｃ＋Ｄ＿ｃ*ＢｌｅｎｄＤｓｔ  （５）
ブレンド式（５）はコンピュータ・グラフィクスの技術分野で周知である。式（５）で、周知のように、値ＢｌｅｎｄＳｒｃは以下の可能な値をとることができる。すなわち、Ｄ＿ｃ、１−Ｄ＿ｃ、Ｓ＿ａｌｐｈａ、１−Ｓ＿ａｌｐｈａ、Ｄ＿ａｌｐｈａ、１−Ｄ＿ａｌｐｈａ、０、１、ｓｏｕｒｃｅ＿ａｌｐｈａ＿ｓａｔｕｒａｔｅ、または１−ｓｏｕｒｃｅ＿ａｌｐｈａ＿ｓａｔｕｒａｔｅの各値である。上記の信号で、「ａｌｐｈａ」は透明チャネル（属性）を指す。アルファ・チャネルおよびそれに付随する上記の信号の性質はグラフィクス処理回路設計の技術分野で周知である。アルファ・チャネルおよびこれらの信号の生成方法の詳細は、本発明を理解するのに必要ではなく、したがって本明細書では説明しない。
同様に、ＢｌｅｎｄＤｓｔは、Ｓ＿ｃ、１−Ｓ＿ｃ、Ｓ＿ａｌｐｈａ、１−Ｓ＿ａｌｐｈａ、Ｄ＿ａｌｐｈａ、１−Ｄ＿ａｌｐｈａ、０、または１の可能な値をとることができる。制御信号ＹＵＶ２ＲＧＢのほかに、回路１５４はＢｌｅｎｄＳｒｃＳｅｌ、ＢｌｅｎｄＳｒｃＣｏｍｐｌ、ＢｌｅｎｄＤｓｔＳｅｌ、およびＢｌｅｎｄＤｓｔＣｏｍｐｌの３ビット制御信号を受け取る。これらの制御信号は、ＢｌｅｎｄＳｒｃおよびＢｌｅｎｄＤｓｔの値を選択するために使用される。
回路１５４の出力値であるピクセル色値Ｐ＿ｃは、補正およびディザー回路１５６に供給される。回路１５６は前述のように補正を行い、ディザ・マトリックス値に従ってディザを加える。ディザを行う手続きは当技術分野で周知であり、したがって本明細書で説明する必要はない。補正およびディザ回路１５６は、赤、緑、青色成分のそれぞれについて出力色値Ｐ’＿ｃをクランプ回路１５８に供給する。
色空間変換中（すなわち信号ＹＵＶ２ＲＧＢがアサートされているとき）、回路１５２と１５４とが組合わさって、概念上は式（６）、（７）、および（８）に基づき、式（３）で定義されたｓＹを使用して、赤（Ｒ）、緑（Ｇ）、および青（Ｂ）色値を生成する（ただしＣrおよびＣbはそれぞれ赤および青のクロミナンス値を表す）。
Ｒ＝ｓＹ＋１．５９０*（Ｃr−０．５）  （６）
Ｇ＝ｓＹ−０．８０６*（Ｃr−０．５）−０．３９１*（Ｃb−０．５）  （７）
Ｂ＝ｓＹ＋２．０１１*（Ｃb−０．５）  （８）
しかし、本システムは０〜２５６の強度スケールを使用するため、回路１５４は実際には、赤、緑、青のピクセル色値Ｐ＿ｒ、Ｐ＿ｇ、およびＰ＿ｂをそれぞれ式（９）、（１０）、および（１１）に従って生成する（ただしｓＹは式（４）によって定義される）。
P_r=floor((sY+407*(Cr-128))/255  （９）
P_g=floor((sY-207*(Cr-128)-100*(Cb-128))/255)  （１０）
P_b=floor((sY+515*(Cb-128))/255)  （１１）
色空間変換中、回路１５２に送るフォッグ色入力ＦｏｇＣｏｌｏｒ＿ｃを（０〜２５６のスケールに基づいて）、赤、緑、および青色成分についてそれぞれ、ＦｏｇＣｏｌｏｒ＿ｒ＝１２８、ＦｏｇＣｏｌｏｒ＿ｇ＝１６、およびＦｏｇＣｏｌｏｒ＿ｂ＝１２８の値に設定しなければならない。
次に第７図を参照すると、フォッグ／色空間回路１５２の詳細が図示されている。フォッグ式（１）および（２）は、一般に、出力＝Ｆ＊（Ｂ−Ａ）＋Ａ＋１／２という汎用形式を持つ線形補間関数であることを理解されたい。また、色空間変換式（９）から（１１）は、これと同じ汎用形式で表すこともできることを理解されたい。したがって、本発明は、フォッグ回路とブレンド回路を使用して色空間変換を行うためにこれを利用する。
第７図に示すように、回路１５２は、各赤、緑、および青色成分のそれぞれのために別々の成分回路１５２ａ、１５２ｂ、および１５２ｃを含む。赤色成分回路１５２ａは、減算回路１６０、乗算回路１６２、加算回路１６４、マルチプレクサ１６６および１６８、レジスタ１７０および１７２を含む。前述のフォッグ機能または色空間変換機能を実行するために、これらの要素を以下のように結合する。減算回路１６０は第１の入力値として赤ソース色値Ｔｅｘ＿ｒ、第２の入力値として赤フォッグ色値ＦｏｇＣｏｌｏｒ＿ｒを受け取り、これらの２つの信号の差ｄ＿ｒを出力する。Ｔｅｘ＿ｒとＦｏｇＣｏｌｏｒ＿ｒは、それぞれ無符号８ビット数値であり、出力値Ｄ＿ｒは符号付き９ビット数値である。乗算回路１６２は、第１の入力値として信号ｄ＿ｒを受け取り、第２の入力値として８ビット無符号数値であるフォッグ係数ＦｏｇＭｕｌｔを受け取る。乗算回路１６２は、その２つの入力値の積を符号付き１７ビット数値として加算回路１６４の第１の入力端子に出力する。加算回路１６４の第２の入力端子は、１６ビット数値を受け取る。そのうちの下位８ビット（ＬＳＢ）は値１２８に設定され、上位８ビット（ＭＳＢ）は信号ＦｏｇＣｏｌｏｒ＿ｒによって供給される。加算回路１６４は１８ビットの和（ビット０〜１７）を生成し、そのうち８〜１５はマルチプレクサ１６８の入力端子０に出力される。
マルチプレクサ１６８は３入力マルチプレクサである。マルチプレクサ１６８の入力端子１は、信号Ｄ＿ｒを受け取り、マルチプレクサ１６８の入力端子２はＴｅｘ＿ｒを受け取る。マルチプレクサ１６８の入力は、それぞれマルチプレクサ１６８の制御入力端子ｓ１およびｓ０に供給される信号ＰＡＳＳとＹＵＶ２ＲＧＢの組合せに従って選択される。具体的には、ＰＡＳＳが１に設定された場合、マルチプレクサ１６８の入力２はその出力端子を通ってレジスタ１７２に出力される。ＹＵＶ２ＲＧＢが０の場合は入力０が選択され、ＹＵＶ２ＲＧＢが１の場合は入力１が選択される。
マルチプレクサ１６６は２入力マルチプレクサである。入力端子０は赤色デスティネーション色値Ｄ＿ｒを受け取り、入力端子１は信号ｄ＿Ｒを受け取る。これらの入力は前述のように、マルチプレクサ１６６の制御入力端子に供給される信号ＹＵＶ２ＲＧＢの状態に従って選択される。マルチプレクサ１６６の出力はレジスタ１７０に供給される。レジスタ１７０の出力は信号Ｄ＿ｒであり、レジスタ１７２の出力は信号Ｓ＿ｒであり、それぞれ符号付き９ビット数値である。
信号ＹＵＶ２ＲＧＢがアサートされた場合（すなわち色空間変換が要求された場合）、Ｔｅｘ＿ｒ入力がＣr値を受け取り、ＦｏｇＣｏｌｏｒ＿ｒ入力が１２８に設定される。色空間変換中、信号ＦｏｇＭｕｌｔは以下に述べるように緑成分回路によってのみ使用される。
第７図に示す上述の回路構成を使用することによって、色空間変換中に回路１５２の出力Ｓ＿ｒは値Ｃr−１２８をとることを理解されたい（マルチプレクサ１６８の入力１が選択されることに留意されたい）。
フォッグ／色空間変換回路１５２は、減算回路１８０、乗算回路１８２、加算回路１８４、マルチプレクサ１８６、１８８、１９４、１９６、１９８、およびレジスタ１９０、１９２、および２００を含む緑色成分回路１５２ｂも含む。レジスタ１９０および１９２は、信号Ｄ＿ｇおよびＳ＿ｇをそれぞれ符号付き９ビット数値として出力する。レジスタ２００は、色空間変換中に中間色信号ｓＹを符号付き１８ビット数値として出力する。減算回路１８０は、入力信号Ｔｅｘ＿ｇおよびＦｏｇＣｏｌｏｒ＿ｇをそれぞれ無符号８ビット数値として受け取り、差信号ｄ＿ｇを符号付き９ビット数値として生成する。符号付きｄ＿ｇは乗算回路１８２の一方の入力に供給され、乗算回路１８２の第２の入力は乗算回路１９４の出力として受け取られる。乗算回路１８２は符号付き１７ビット出力値を生成し、これは加算回路１８４の一方の入力に供給される。加算回路１８４の第２の入力は１６ビット数値を受け取り、そのうちの下位８ビットは１２８に設定され、上位８ビットはマルチプレクサ１９６の出力として供給される。加算回路１８４の出力は１８ビットの和信号であり、マルチプレクサ１８８のゼロ入力に供給される。
マルチプレクサ１８８は、赤色成分回路に関して前述したように信号ＰＡＳＳおよびＹＵＶ２ＲＧＢを使用して制御される３入力マルチプレクサである。同様に、マルチプレクサ１８６は、前述のように信号ＹＵＶ２ＲＧＢによって制御さえる２入力マルチプレクサである。後述するように、マルチプレクサ１８６の入力０は信号Ｄ＿ｇを受け取り、マルチプレクサの入力１は青色成分回路の減算回路２１０の出力を受け取る。マルチプレクサ１８８の入力１は赤色成分回路１５２ａから信号ｄ＿ｒを受け取り、入力２は信号Ｔｅｘ＿ｇを受け取る。マルチプレクサ１９４および１９６は、それぞれ信号ＹＵＶ２ＲＧＢによって制御される２入力マルチプレクサである。マルチプレクサ１９４の入力１に値４１が供給され、マルチプレクサ１９４の入力０には信号ＦｏｇＭｕｌｔが供給される。マルチプレクサ１９６の入力１は減算回路１８０の出力ｄ＿ｇを受け取り、マルチプレクサ１９６の入力０は信号ＦｏｇＣｏｌｏｒ＿ｇを受け取る。マルチプレクサ１９８は信号ＹＵＶ２ＲＧＢによって制御される２入力マルチプレクサである。マルチプレクサ１９８の入力１は加算回路１８４の出力を受け取り、マルチプレクサ１９８の入力０は値１２８を受け取る。
色空間変換中（信号ＹＵＶ２ＲＧＢが１に設定されたとき）、Ｔｅｘ＿ｇ入力はルミナンス値Ｙを受け取り、ＦｏｇＣｏｌｏｒ＿ｇ入力は値１６を受け取る。フォッグ係数ＦｏｇＭｕｌｔは値４１に設定される。中間信号ｓＹは色空間変換中にのみ使用されることを理解されたい。さらに、色空間変換中、レジスタ１９２の出力Ｓ＿ｇは値Ｃr−１２８を有し、信号Ｄ＿ｇは値Ｃb−１２８を有することも理解されたい。色空間変換中、加算回路１８４の第２の入力は、マルチプレクサ１９６の出力値と値１２８との組合せである値２５６*（Ｙ−１６）を有する信号を受け取ることに留意されたい。具体的には、値Ｙ−１６がマルチプレクサ１９６の入力１を介して供給され、次にこの値を左に８ビット桁移動することによってこの値に２５６を乗じる。次に、その結果の１６ビット数値の下位８ビットが１２８に設定されて適切な丸めが行われる。
回路１５２は、減算回路２１０と、乗算回路２１２と、加算回路２１４と、マルチプレクサ２１６および２１８と、レジスタ２２０および２２２とを含む青色成分回路１５２ｃも含む。レジスタ２２０は、信号ｄ＿ｂを符号付き９ビット数値として出力し、レジスタ２２２は信号Ｓ＿ｂを無符号９ビット数値として出力する。減算回路２１０は第１の入力端子で信号Ｔｅｘ＿ｂを無符号８ビット数値として受け取り、第２の入力端子で信号ＦｏｇＣｏｌｏｒ＿ｂを無符号８ビット数値として受け取って、この２つの信号の差を符号付き９ビット数値である信号ｄ＿ｂとして出力する。信号ｄ＿ｂは乗算回路２２２の一方の入力端子に供給され、乗算回路２１２の他方の入力端子はフォッグ係数信号ＦｏｇＭｕｌｔを受け取る。乗算回路２１２はその２つの入力値の積を符号付き１７ビット数値として出力し、これが加算回路２１４の一方の入力端子に供給される。加算回路２１４の他方の入力端子は１６ビット数値を受け取り、その下位８ビットは１２８に設定され、上位８ビットは信号ＦｏｇＣｏｌｏｒ＿ｂによって形成される。加算回路２１４は符号付き１８ビット数値をマルチプレクサ２１８の入力０に出力する。
マルチプレクサ２１８は、前述のようにして信号ＰＡＳＳとＹＵＶ２ＲＧＢの組合せによって制御される３入力マルチプレクサである。マルチプレクサ２１８の入力１は減算回路２１０の出力ｄ＿ｂを受け取る。マルチプレクサの入力２は信号Ｔｅｘ＿ｂを受け取る。マルチプレクサ２１８はその出力をレジスタ２２２の入力に供給する。マルチプレクサ２１６は、その制御入力ｓに供給される信号ＹＵＶ２ＲＧＢによって制御される２入力マルチプレクサである。マルチプレクサ２１６の入力０は信号Ｄ＿ｂを受け取り、マルチプレクサ２１６の入力１は差信号ｄ＿ｂを受け取る。
色空間変換中、入力Ｔｅｘ＿ｂはＣb値を受け取り、ＦｏｇＣｏｌｏｒ＿ｂ入力は値１２８を受け取る。したがって、色空間変換中、出力値Ｓ＿ｂは出力値Ｄ＿ｂおよびＤ＿ｇと等しく、これらは値Ｃb−１２８を有する。したがって、色空間変換中、信号Ｄ＿ｒ、Ｓ＿ｒ、Ｄ＿ｇ、Ｓ＿ｇ、ｓＹ、Ｄ＿ｂ、およびＳ＿ｂが色空間変換の第２（最終）段階に対してブレンド／色空間変換回路１５４に供給される。
第８Ａ図、第８Ｂ図、および第８Ｃ図に、ブレンド／色空間変換回路１５４および補正／ディザ回路１５６を詳細に示す。具体的には、回路１５４および１５６はそれぞれ赤色成分回路１５４ａおよび１５６ａ（第８Ａ図）と、それぞれ緑色成分回路１５４ｂおよび１５６ｂ（第８Ｂ図）と、それぞれ青色成分回路１５４ｃおよび１５６ｃ（第８Ｃ図）とを含む。
第８Ａ図を参照すると、回路１５４の赤色成分回路１５４ａはマルチプレクサ２５０、２５２、２５８、および２６２と、排他的ＯＲ（ＸＯＲ）ゲート２５２および２６０と、乗算回路２５６および２６４と、加算回路２６６を含む。乗算回路２５６は、一方の入力で回路１５２から信号Ｓ＿ｒを符号付き９ビット数値として受け取り、第２の入力でマルチプレクサ２５４の出力を無符号８ビット数値として受け取る。マルチプレクサ２５４は、その制御入力端子ｓに供給される信号ＹＵＶ２ＲＧＢによって制御される２入力マルチプレクサである。マルチプレクサ２５４の入力０はＸＯＲゲート２５２の出力を受け取り、マルチプレクサ２５４の入力１（色空間変換中に使用される）は、値１５２を受け取る。ＸＯＲゲート２５２は２つの入力端子を持ち、その一方はマルチプレクサ２５０の出力を受け取り、他方は信号ＢｌｅｎｄＳｒｃＣｏｍｐｌの最下位ビット（ビット０）を受け取る。
マルチプレクサ２５０は、その制御入力端子ｓに供給される信号ＢｌｅｎｄＳｒｃＳｅｌによって制御される２入力マルチプレクサである。マルチプレクサ２５０の入力０は信号ＢｌｅｎｄＳｒｃを受け取り、入力１は回路１５２から信号Ｄ＿ｒを受け取る。乗算回路２５６の出力が３入力加算回路２６６の入力１に供給される。加算回路２６６の第２の入力端子は、回路１５２から中間信号ｓＹを符号付き１８ビット数値として受け取る。ブレンディング中（すなわち信号ＹＵＶ２ＲＧＢがアサートされていないとき）、信号ｓＹは１２８に設定されて適切な丸めを容易にすることに留意されたい。加算回路２６６の第３の入力端子は乗算回路２６４の出力を受け取る。乗算回路２６４は、入力値として回路１５２からの符号付き９ビット信号Ｄ＿ｒと、マルチプレクサ２６２の無符号８ビット出力を受け取る。
マルチプレクサ２６２は、信号ＹＵＶ２ＲＧＢによって制御される２入力マルチプレクサである。マルチプレクサ２６２の入力０はＸＯＲゲート２６０の出力を受け取り、入力１は値２５５を受け取る。ＸＯＲゲート２６０は第１の入力端子でマルチプレクサ２５８の出力を受け取り、第２の入力端子で信号ＢｌｅｎｄＳｒｃＣｏｍｐｌの最下位ビット（ビット０）を受け取る。マルチプレクサ２５８は、信号ＢｌｅｎｄＤｓｔＳｅｌによって制御される２入力マルチプレクサである。マルチプレクサ２５８の入力０は信号ＢｌｅｎｄＤｓｔを受け取り、マルチプレクサ２５８の入力１は回路１５２から信号Ｓ＿ｒを受け取る。加算回路２６６は符号付き１９ビット信号Ｐ＿ｒを出力する。色空間変換中、信号Ｐ＿ｒが式（９）に従って生成されることを了解されたい。
信号ＢｌｅｎｄＳｒｃは、とり得る値、すなわちｓｏｕｒｃｅ−ａｌｐｈａ−ｓａｔｕｒａｔｅ、Ｓ＿ａｌｐｈａ、Ｄ＿ａｌｐｈａ、および００のうちのいずれの値でもとることができ、所与の時点での値は３ビット制御信号ＢｌｅｎｄＳｒｃＣｏｍｐｌの値によって決まる。具体的には、信号ＢｌｅｎｄＳｒｃＣｏｍｐｌの上位２ビット（ビット１および２）を使用してＢｌｅｎｄＳｒｃの値を選択する。この機能は、ＢｌｅｎｄＳｒｃのとり得る値をマルチプレクサ（図示せず）に入力値として供給し、信号ＢｌｅｎｄＳｒｃＣｏｍｐｌをマルチプレクサの制御入力信号として使用することによって実行することができる。同時に、信号ＢｌｅｎｄＤｓｔは、信号ＢｌｅｎｄＤｓｔＣｏｍｐｌの上位２ビットの値によって決まるＤ＿ａｌｐｈａ、００、Ｓ＿ａｌｐｈａのいずれかの値をとることができる。
ＸＯＲゲート２５２および２６０は、選択可能な反転機能を備える。すなわち、信号ＢｌｅｎｄＳｒｃＣｏｍｐｌおよびＢｌｅｎｄＤｓｔＣｏｍｐｌが制御信号としてそれぞれＸＯＲゲート２５２および２６０の一方の入力端子に供給される。アサートされると、制御信号はＸＯＲゲートの他方の入力を反転させる。制御信号がアサートされない場合、ＸＯＲゲートの他方の入力を出力端子まで有効に通過させる。したがって、ブレンディング中にこの反転機能を使用して、信号ＢｌｅｎｄＳｒｃおよびＢｌｅｎｄＤｓｔから追加の値、すなわち値（１−ＢｌｅｎｄＳｒｃ）および（１−ＢｌｅｎｄＤｓｔ）を導き出すことができる。
次に第８Ｂ図を参照すると、回路１５４は緑色成分回路１５４ｂも含む。回路１５４の緑色成分回路１５４ｂは、マルチプレクサ３００、３０４、３１０、および３１４と、ＸＯＲゲート３０２および３１２と、乗算回路３０６および３１６と加算回路３０８を含む。回路１５４ｂの構造は回路１５４ａと本質的に同じである。具体的には、乗算回路３０６は一方の入力端子で回路１５２から信号Ｓ＿ｇを符号付き９ビット数値として受け取り、第２の入力端子でマルチプレクサ３０４の出力を無符号８ビット数値として受け取る。マルチプレクサ３０４は、その制御入力端子ｓに供給される信号ＹＵＶ２ＲＧＢによって制御される２入力マルチプレクサである。マルチプレクサ３０４の入力０はＸＯＲゲート３０２の出力を受け取り、マルチプレクサ３０４の入力１（色空間変換中に使用される）は値−２０７を受け取る。ＸＯＲゲート３０２は２つの入力端子を有し、そのうちの一方はマルチプレクサ３００の出力を受け取り、他方は信号ＢｌｅｎｄＳｒｃＣｏｍｐｌの最下位ビット（ビット０）を受け取る。ＸＯＲゲート３０２および３１２は、ＸＯＲゲート２５２および２６０を参照しながら前述したように選択可能な反転機能を備える。
マルチプレクサ３００は、その制御入力端子ｓに供給される信号ＢｌｅｎｄＳｒｃＳｅｌによって制御される２入力マルチプレクサである。マルチプレクサ３００の入力０は信号ＢｌｅｎｄＳｒｃを受け取り、入力１は回路１５２から信号Ｄ＿ｇを受け取る。乗算器３０６の出力は、３入力加算回路３０８の入力１に供給される。加算回路３０８の第２の入力は回路１５２から中間信号ｓＹを符号付き１８ビット数値として受け取る。前述のように、ブレンディング中に信号ｓＹは１２８に設定され、適切な丸めが行われる。加算回路３０８の第３の入力端子は乗算回路３１６の出力を受け取る。乗算回路３１６は入力値として回路１５２からの符号付き９ビット信号Ｄ＿ｇと、マルチプレクサ３１４の無符号８ビット出力値を受け取る。
マルチプレクサ３１４は、信号ＹＵＶ２ＲＧＢによって制御される２入力マルチプレクサである。マルチプレクサ３１４の入力０はＸＯＲゲート３１２の出力を受け取り、入力１は値−１００を受け取る。ＸＯＲゲート３１２は第１の入力端子でマルチプレクサ３１０の出力を受け取り、第２の入力端子で信号ＢｌｅｎｄＤｓｔＣｏｍｐｌの最下位ビット（ビット０）を受け取る。マルチプレクサ３１０は、信号ＢｌｅｎｄＤｓｔＳｅｌによって制御される２入力マルチプレクサである。マルチプレクサ３１０の入力０は信号ＢｌｅｎＤｓｔを受け取り、マルチプレクサ３１０の入力１は回路１５２から信号Ｓ＿ｒを受け取る。加算回路３０８は符号付き１９ビット信号Ｐｇを出力する。色空間変換中、信号Ｐ＿ｇが式（１０）に従って生成されることを了解されたい。
次に第８Ｃ図を参照すると、回路１５４は青色成分回路１５４ｃも含む。回路１５４の青色成分回路１５４ｃは、マルチプレクサ３４０、３５８、３４６、３５０、および３５２と、ＸＯＲゲート３４２および３４８と、乗算回路３４４および３５４と、加算回路３５６を含む。回路１５４ｃの構造は回路１５４ａおよび１５４ｂと類似している。具体的には、乗算回路３４４が一方の入力端子で回路１５２から信号Ｓ＿ｂを符号付き９ビット数値として受け取り、第２の入力端子でマルチプレクサ３５８の出力を無符号８ビット数値として受け取る。マルチプレクサ３５８は、その制御入力端子ｓに供給される信号ＹＵＶ２ＲＧＢによって制御される２入力マルチプレクサである。マルチプレクサ３５８の入力０は、ＸＯＲゲート３４２の出力を受け取り、マルチプレクサ３５８の入力１（色空間変換中に使用される）は値１３１を受け取る。ＸＯＲゲート３４２は２つの入力端子を有し、そのうちの一方はマルチプレクサ３４０の出力を受け取り、他方は信号ＢｌｅｎｄＳｒｃＣｏｍｐｌの最下位ビット（ビット０）を受け取る。ＸＯＲゲート３４２および３４８は、ＸＯＲゲート２５２および２６０を参照しながら前述した選択可能反転機能を備える。
マルチプレクサ３４０は、その制御入力端子ｓに供給される信号ＢｌｅｎｄＳｒｃＳｅｌによって制御される２入力マルチプレクサである。マルチプレクサ３４０の入力０は、信号ＢｌｅｎｄＳｒｃを受け取り、入力１は回路１５２からＤ＿ｂを受け取る。マルチプレクサ３４４の出力は、４入力加算回路３５６の第１の入力端子に供給される。加算回路３５６の第２の入力端子は回路１５２から中間信号ｓＹを符号付き１８ビット数値として受け取る。この場合も信号ｓＹはブレンディング中１２８に設定される。加算回路３５６の第３の入力端子は、乗算回路３５４の出力を受け取る。乗算回路３５４は入力値として回路１５２から符号付き９ビット信号Ｄ＿ｂを受け取り、マルチプレクサ３５０の無符号８ビット出力を受け取る。加算回路３５６の第４の入力端子はマルチプレクサ３５２の出力を受け取る。マルチプレクサ３５２は２つの入力端子を備え、その制御入力端子ｓに供給される信号ＹＵＶ２ＲＧＢによって制御される。マルチプレクサ３５２の第１の入力端子は、信号ＹＵＶ２ＲＧＢがアサートされていないときに選択され、値０を受け取る。マルチプレクサ３５２の第２の入力端子は、値Ｄ＿ｂ＜＜８（８ビット左桁移動されたＤ＿ｂ）を受け取る。
マルチプレクサ３５０は信号ＹＵＶ２ＲＧＢによって制御される２入力マルチプレクサである。マルチプレクサ３５０の入力０は、ＸＯＲゲート３４８の出力を受け取り、入力１は値１２８を受け取る。ＸＯＲゲート３４８は、第１の入力端子でマルチプレクサ３４６の出力を受け取り、第２の入力端子で信号ＢｌｅｎｄＤｓｔＣｏｍｐｌの最下位ビット（ビット０）を受け取る。マルチプレクサ３４６は信号ＢｌｅｎｄＤｓｔＳｅｌによって制御される２入力マルチプレクサである。マルチプレクサ３４６の入力０は信号ＢｌｅｎｄＤｓｔを受け取り、マルチプレクサ３４６の入力１は回路１５２から信号Ｓ＿ｒを受け取る。加算回路３５６は符号付き１９ビット信号Ｐ＿ｇを出力する。色空間変換中は信号Ｐ＿ｇが式（１１）に従って生成されることを了解されたい。
回路１５４ｃ（第８Ｃ図）で、それぞれマルチプレクサ３５８、３５０、および３５２に供給される値１３１、１２８、およびＤ＿ｂ＜＜８が組合わさって、式（１１）の係数５１５を表す。すなわち、色空間変換中は、（１３１＋１２８）*Ｄ＿ｂ＋（Ｄ＿ｂ＜＜８）＝（１３１＋１２８＋２５６）*Ｄ＿ｂ＝５１５*Ｄ＿ｂであり、これは５１５*（Ｃr−１２８）に等しい。
したがって、色空間変換モード中（すなわち信号ＹＵＶ２ＲＧＢがアサートされているとき）、回路１５２は回路１５４ａ、１５４ｂ、および１５４ｃと組合わさって式（９）から（１１）を実行する。
色信号Ｐ＿ｒ、Ｐ＿ｇ、およびＰ＿ｂは、補正およびディザ回路１５６に供給される。より正確には、それぞれサブ回路１５６ａ、１５６ｂ、および１５６ｃに送られる。補正およびディザ回路１５６は、前述のようにして信号Ｐ＿ｒの値のディザリングとスケーリングを同時に行う。補正およびディザ回路１５６は、単一の全加算回路２７０を含む。加算回路２７０は２つの入力端子を備え、それぞれ１６ビット数値を受け取る。第６Ａ図、第６Ｂ図、および第６Ｃ図を参照しながらディザおよび補正回路１５６の動作原理について以下に説明する。
第６Ａ図に、色値を０〜２５６のスケールにスケーリングする補正機能を示す。入力ピクセル色値が最初に補正回路によって、小数成分を含む１６ビット値Ｐ＿ｃとして受け取られるものとする。色値Ｐ＿ｃは、８ビット右桁移動された値Ｐ＿ｃから成る第２の値に加えられる。したがって、第２の値の中で、下位８ビットは廃棄される。その結果の和は１６ビット数値であり、その下位８ビットも廃棄される。残りの８ビットが「補正された」ピクセル値Ｐ’＿ｃを表し、この値は最大可能値が最大可能強度に対応するように適切にスケーリングされる。
第６Ｂ図に、ディザリング機能の一例を示す。８ビット・ディザ値ＤＶａｌ＿ｃを使用してピクセル色値Ｐ＿ｃに作用させる。ディザ値ＤＶａｌ＿ｃは、メモリ内の色値を表すために使用されるビット数に基づいて適切に桁移動されたディザ・マトリックス値である。ディザ・マトリックスを生成するステップは、コンピュータ・グラフィクスの技術分野で周知であり、従って本明細書では説明しない。８ビットのディザ値ＤＶａｌ＿ｃの右側に８個のゼロを埋め込み、次に１６ビットのピクセル色値Ｐ＿ｃに付加する。その結果の和の中で、下位８ビットを廃棄し、残りのビットをディザ済み値Ｐ’＿ｃとしてとる。
本発明によると、第６Ｃ図に示すように、赤、緑、および青色成分について、１５６ａ、１５６ｂ、および１５６ｃによってディザと補正を同時に行う。第６Ｃ図と、たとえば第８Ａ図を参照すると、８ビットのディザ値ＤＶａｌ＿ｒの右にピクセル値Ｐ＿ｒのの上位８ビットを埋め込み、１６ビットの複合値を形成し、それを加算回路２７０の一方の入力端子で受け取る。この１６ビットの複合値を次に、色値Ｐ＿ｒ（１９ビット値）の下位１６ビットに加え、それを加算回路２７０の第２の入力端子に供給する。その結果得られた和の下位８ビットを廃棄し、それによって残りの８ビットが補正とディザが加えられた色値Ｃｏｒｒ＿ｒを形成するようにする。色値Ｃｏｒｒ＿ｒは０〜２５６のスケールに補正される。これと本質的に同じ機能を回路１５６ｂおよび１５６ｃでも行って、それぞれ信号Ｃｏｒｒ＿ｇおよびＣｏｒｒ＿ｂを生成する。
したがって、補正およびディザ回路１５６ａ、１５６ｂ、および１５６ｃのそれぞれが、補正済みピクセル色値Ｃｏｒｒ＿ｃおよびキャリアウト信号がクランプ回路１５８に出力される。さらに、クランプ回路１５８にはＰ＿ｃ信号の上位３ビットも供給される。
したがって、ブレンド論理を使用して色空間変換を行う方法および装置について説明した。本発明について、特定の実施形態の例を参照しながら説明したが、請求の範囲に記載の本発明のより広い精神および範囲から逸脱することなく、これらの実施形態に様々な修正および変更を加えることができることは明らかであろう。したがって、本明細書および図面は限定的な物ではなく例示的なものとみなすべきである。
【図１】
0003778517.tif 000002
【図２】
0003778517.tif 000003
【図３】
0003778517.tif 000004
【図４】
0003778517.tif 000005
【図５Ａ】
0003778517.tif 000006
【図５Ｂ】
0003778517.tif 000007
【図６Ａ】
0003778517.tif 000008
【図６Ｂ】
0003778517.tif 000009
【図６Ｃ】
0003778517.tif 000010
【図７】
0003778517.tif 000011
【図８Ａ】
0003778517.tif 000012
【図８Ｂ】
0003778517.tif 000013
【図８Ｃ】
0003778517.tif 000014