(57)【特許請求の範囲】
【請求項１】
コンピュータ・システム内のフィルタリングされたテクスチャのクロマキーを行う方法であって、
第１の色を有するテクセルが透明性を示す所定の色と一致するかどうかを判定するステップと、
前記第１の色を有するテクセルが前記所定の色と一致した時に、前記第１の色を有するテクセルを第２の色を有するテクセルと交換するステップと、
テクセルをフィルタリングして、フィルタリングされたアルファ、赤、緑、及び青の成分を含むフィルタリングされた色信号を得るステップと、
前記フィルタリングされたテクセルをフォギングして、前記フィルタリングされた色信号の前記赤の成分（Ｒ）をフォグ信号の赤の成分（Ｒｆｏｇ）と結合させ、式Ｒ１＝［Ｒ＊（１−ｆ）］＋（Ｒｆｏｇ＊ｆ＊Ａ）に基づいてフォギングされかつフィルタリングされた信号（Ｒ１）を生成し、前記フィルタリングされた色信号の前記緑の成分（Ｇ）をフォグ信号の緑の成分（Ｇｆｏｇ）と結合させ、式Ｇ１＝［Ｇ＊（１−ｆ）］＋（Ｇｆｏｇ＊ｆ＊Ａ）に基づいてフォギングされかつフィルタリングされた信号（Ｇ１）を生成し、前記フィルタリングされた色信号の前記青の成分（Ｂ）をフォグ信号の青の成分（Ｂｆｏｇ）と結合させ、式Ｂ１＝［Ｂ＊（１−ｆ）］＋（Ｂｆｏｇ＊ｆ＊Ａ）に基づいてフォギングされかつフィルタリングされた信号（Ｂ１）を生成するステップと、
前記フォギングされかつフィルタリングされたテクセルの色成分を背景色の色成分と混合するステップと
を含む方法。
【請求項２】
コンピュータ・システム内のフィルタリングされたテクスチャのクロマキーを行う方法であって、
第１の色を有するテクセルが透明性を示す所定の色と一致するかどうかを判定するステップと、
前記第１の色を有するテクセルが前記所定の色と一致した時に、前記第１の色を有するテクセルを第２の色を有するテクセルと交換するステップと、
テクセルをフィルタリングして、ｎ個の色成分を含むフィルタリングされた色信号を得るステップと、
前記フィルタリングされたテクセルをフォギングして、前記フィルタリングされた色信号の前記色成分（Ｘｎ）をフォグ信号の対応する色成分（Ｘｎｆｏｇ）と結合して、式Ｘｎ１＝［Ｘｎ＊（１−ｆ）＋（Ｘｎｆｏｇ＊ｆ＊Ａ）に基づいてフォギングされかつフィルタリングされた信号（Ｘｎ１）を生成するステップと、
前記フォギングされかつフィルタリングされたテクセルの色成分を背景色の色成分と混合するステップと
を含む方法。
【請求項３】
前記テクセルのフィルタリングのステップがテクセルのアンチエイリアシングのステップを含む請求項１または２に記載の方法。
【請求項４】
前記テクセルのフィルタリングのステップがテクセルの双一次フィルタリングのステップを含む請求項１または２に記載の方法。
【請求項５】
テクセルのフィルタリングのステップの結果、フィルタリングされた色信号が得られ、前記フィルタリングされた色信号がＹＣＢＣＲ色モデルのフィルタリングされた成分を含む請求項２に記載の方法。
【請求項６】
前記第２の色が前記第１の色と異なる請求項１または２に記載の方法。
【請求項７】
前記第２の色を有するテクセルがそれぞれ０に等しいアルファ、赤、緑、および青の成分を有するテクセルである請求項１に記載の方法。
【請求項８】
前記第２の色を有するテクセルがそれぞれ０、１２８、１６、および１２８に等しいアルファ、ＣＲ、Ｙ、およびＣＢ成分を有するＹＣＢＣＲ色モデルのテクセルである請求項２に記載の方法。
【請求項９】
前記第１の色を有するテクセルが前記所定の色と一致しない時に色信号のアルファ成分が１に設定される請求項１または２に記載の方法。
【請求項１０】
前記フォギングされかつフィルタリングされた信号（Ｒ１）が前記背景色の前記赤の成分（Ｒｂ）と混合されて、式Ｒｏ＝Ｒ１＋［（１−Ａ１）＊Ｒｂ］に基づく出力色信号（Ｒｏ）が生成され、前記フォギングされかつフィルタリングされた信号（Ｇ１）が前記背景色の前記緑の成分（Ｇｂ）と混合され、式Ｇｏ＝Ｇ１＋［（１−Ａ１）＊Ｇｂ］に基づく出力色信号（Ｇｏ）が生成され、前記フォギングされかつフィルタリングされた信号（Ｂ１）が前記背景色の前記青の成分（Ｂｂ）と混合され、式Ｂｏ＝Ｂ１＋［（１−Ａ１）＊Ｂｂ］に基づく出力色信号（Ｂｏ）が生成される請求項１に記載の方法。
【請求項１１】
前記フォギングされかつフィルタリングされた色信号（Ｘｎ１）が前記背景色の対応する色成分（Ｘｎｂ）と混合されて、式Ｘｎｏ＝Ｘｎ１＋［（１−Ａ１）＊Ｘｎｂ］に基づく出力色信号（Ｘｎｏ）が生成される請求項２に記載の方法。
【請求項１２】
メモリと、
前記メモリに結合されたプロセッサ・サブシステムを含むコンピュータ・システムであって、前記プロセッサ・サブシステムが、第１の色を有するテクセルが透明性を示す所定の色と一致するかどうかを判定し、前記第１の色を有するテクセルが前記所定の色と一致した時に、前記第１の色を有するテクセルを第２の色を有するテクセルと交換し、テクセルをフィルタリングして、フィルタリングされたアルファ、赤、緑、及び青の成分を含むフィルタリングされた色信号を得、さらにこのフィルタリングされたテクセルをフォギングして、前記フィルタリングされた色信号の前記赤の成分（Ｒ）をフォグ信号の赤の成分（Ｒｆｏｇ）と結合させ、式Ｒ１＝［Ｒ＊（１−ｆ）］＋（Ｒｆｏｇ＊ｆ＊Ａ）に基づいてフォギングされかつフィルタリングされた信号（Ｒ１）を生成し、前記フィルタリングされた色信号の前記緑の成分（Ｇ）をフォグ信号の緑の成分（Ｇｆｏｇ）と結合させ、式Ｇ１＝［Ｇ＊（１−ｆ）］＋（Ｇｆｏｇ＊ｆ＊Ａ）に基づいてフォギングされかつフィルタリングされた信号（Ｇ１）を生成し、前記フィルタリングされた色信号の前記青の成分（Ｂ）をフォグ信号の青の成分（Ｂｆｏｇ）と結合させ、式Ｂ１＝［Ｂ＊（１−ｆ）］＋（Ｂｆｏｇ＊ｆ＊Ａ）に基づいてフォギングされかつフィルタリングされた信号（Ｂ１）を生成し、該フォギングされかつフィルタリングされたテクセルの色部分を背景色の色成分と混合するコンピュータ・システム。
【請求項１３】
メモリと、
前記メモリに結合されたプロセッサ・サブシステムを含むコンピュータ・システムであって、前記プロセッサ・サブシステムが、第１の色を有するテクセルが透明性を示す所定の色と一致するかどうかを判定し、前記第１の色を有するテクセルが前記所定の色と一致した時に、前記第１の色を有するテクセルを第２の色を有するテクセルと交換し、テクセルをフィルタリングして、ｎ個の色成分を含むフィルタリングされた色信号を得、このフィルタリングされた色信号の前記色成分（Ｘｎ）をフォグ信号の対応する色成分（Ｘｎｆｏｇ）と結合して、式Ｘｎ１＝［Ｘｎ＊（１−ｆ）＋（Ｘｎｆｏｇ＊ｆ＊Ａ）に基づいてフォギングされかつフィルタリングされた信号（Ｘｎ１）を生成し、該フォギングされかつフィルタリングされたテクセルの色成分を背景色の色成分と混合するコンピュータ・システム。
【請求項１４】
プロセッサ・サブシステムがプロセッサおよびコプロセッサを備える請求項１２または１３に記載のコンピュータ・システム。
【請求項１５】
前記プロセッサ・サブシステムに結合されたピクセル・エンジンをさらに含み、前記ピクセル・エンジンが第１の色を有するテクセルが所定の色と一致するかどうかを決定する回路を含み、前記第１の色を有するテクセルが所定の色と一致した時に前記ピクセル・エンジン回路が前記第１の色を有するテクセルを交換する請求項１２または１３に記載のコンピュータ・システム。
【請求項１６】
前記ピクセル・エンジンがテクセルをフィルタリングするとともにフォギングし、かつ前記フォギングされかつフィルタリングされたテクセルの色成分を背景色の色成分と混合する回路を含む請求項１５に記載のコンピュータ・システム。
【請求項１７】
前記プロセッサ・サブシステムがアンチエイリアシングによってテクセルをフィルタリングする請求項１２または１３に記載のコンピュータ・システム。
【請求項１８】
前記プロセッサ・サブシステムが双一次フィルタリングによってテクセルをフィルタリングする請求項１２または１３に記載のコンピュータ・システム。
【請求項１９】
前記第２の色が前記第１の色と異なる請求項１２または１３に記載のコンピュータ・システム。
【請求項２０】
前記第２の色を有するテクセルがそれぞれ０に等しいアルファ、赤、緑、および青の成分を有するテクセルである請求項１２に記載のコンピュータ・システム。
【請求項２１】
前記第２の色を有するテクセルがそれぞれ０、１２８、１６、および１２８に等しいアルファ、ＣＲ、Ｙ、およびＣＢ成分を有するテクセルである請求項１３に記載のコンピュータ・システム。
【請求項２２】
前記第１の色を有するテクセルが前記所定の色と一致しない時にプロセッサ・サブシステムが色信号のアルファ成分を１に設定する請求項１２または１３に記載のコンピュータ・システム。
【請求項２３】
前記フォギングされかつフィルタリングされた信号（Ｒ１）が前記背景色の前記赤の成分（Ｒｂ）と混合されて、式Ｒｏ＝Ｒ１＋［（１−Ａ１）＊Ｒｂ］に基づく出力色信号（Ｒｏ）が生成され、前記フォギングされかつフィルタリングされた信号（Ｇ１）が前記背景色の前記緑の成分（Ｇｂ）と混合され、式Ｇｏ＝Ｇ１＋［（１−Ａ１）＊Ｇｂ］に基づく出力色信号（Ｇｏ）が生成され、前記フォギングされかつフィルタリングされた信号（Ｂ１）が前記背景色の前記青の成分（Ｂｂ）と混合され、式Ｂｏ＝Ｂ１＋［（１−Ａ１）＊Ｂｂ］に基づく出力色信号（Ｂｏ）が生成される請求項１２に記載のコンピュータ・システム。
【請求項２４】
前記フォギングされかつフィルタリングされた色信号（Ｘｎ１）が前記背景色の対応する色成分（Ｘｎｂ）と混合されて、式Ｘｎｏ＝Ｘｎ１＋［（１−Ａ１）＊Ｘｎｂ］に基づく出力色信号（Ｘｎｏ）が生成される請求項１３に記載のコンピュータ・システム。
【請求項２５】
フィルタリングされたテクスチャのクロマキーを行う回路であって、
第１の色を有するテクセルが所定の色と一致するかどうかを判定する論理手段と、
前記第１の色を有するテクセルが前記所定の色と一致した時に、前記第１の色を有するテクセルを交換する論理手段と、
交換されたテクセルを含むテクセルをフィルタリングしてフィルタリングされたアルファ、赤、緑、及び青の成分を含むフィルタリングされた色信号を得る論理手段と、
フィルタリングされたテクセルについてフォギング動作を実行して、前記フィルタリングされた色信号の前記赤の成分（Ｒ）をフォグ信号の赤の成分（Ｒｆｏｇ）と結合させ、式Ｒ１＝［Ｒ＊（１−ｆ）］＋（Ｒｆｏｇ＊ｆ＊Ａ）に基づいてフォギングされかつフィルタリングされた信号（Ｒ１）を生成し、前記フィルタリングされた色信号の前記緑の成分（Ｇ）をフォグ信号の緑の成分（Ｇｆｏｇ）と結合させ、式Ｇ１＝［Ｇ＊（１−ｆ）］＋（Ｇｆｏｇ＊ｆ＊Ａ）に基づいてフォギングされかつフィルタリングされた信号（Ｇ１）を生成し、前記フィルタリングされた色信号の前記青の成分（Ｂ）をフォグ信号の青の成分（Ｂｆｏｇ）と結合させ、式Ｂ１＝［Ｂ＊（１−ｆ）］＋（Ｂｆｏｇ＊ｆ＊Ａ）に基づいてフォギングされかつフィルタリングされた信号（Ｂ１）を生成する論理手段と、
前記フォギングされかつフィルタリングされたテクセルの色成分を背景色の色成分と混合する論理手段と
を含む回路。
【請求項２６】
フィルタリングされたテクスチャのクロマキーを行う回路であって、
第１の色を有するテクセルが所定の色と一致するかどうかを判定する論理手段と、
前記第１の色を有するテクセルが前記所定の色と一致した時に、前記第１の色を有するテクセルを交換する論理手段と、
交換されたテクセルを含むテクセルをフィルタリングしてｎ個の色成分を含むフィルタリングされた色信号を得る論理手段と、
フィルタリングされたテクセルについてフォギング動作を実行して、前記フィルタリングされた色信号の前記色成分（Ｘｎ）をフォグ信号の対応する色成分（Ｘｎｆｏｇ）と結合して、式Ｘｎ１＝［Ｘｎ＊（１−ｆ）＋（Ｘｎｆｏｇ＊ｆ＊Ａ）に基づいてフォギングされかつフィルタリングされた信号（Ｘｎ１）を生成する論理手段と、
前記フォギングされかつフィルタリングされたテクセルの色成分を背景色の色成分と混合する論理手段と
を含む回路。
【発明の詳細な説明】
発明の分野
本発明はコンピュータ・グラフィックスの分野に関する。詳細には、本発明はラスタ・グラフィックス・ディスプレイ上に描画された、フォグ付き、またはフォグなしのフィルタリングされたテクスチャのクロマキーを行う方法に関する。
発明の背景
コンピュータ・グラフィック画像は通常いくつかのオブジェクトから構成される。オブジェクトは背景画像の上にレンダリングされる。さまざまな後に決められる背景画像にオブジェクトをオーバーレイさせることができるように、オブジェクトの一部を透明なものとすることができる。レンダリングの間、オブジェクトは、合成技法を使用して、以前に生成されたオブジェクトと結合できる（例えば複雑な背景を再使用するために）。
合成は２つの画像を重ね合わせるか混合（ｂｌｅｎｄ）することで結合する処理である。合成された画像では、各ピクセル値は構成している画像から計算される。通常使用される技法はオーバレイであり、前景画像のピクセル値に、透明性の値と、色情報などピクセルが備えることができる他のすべての値とを付与しなければならない。したがって、合成画像では、前景画像がその点で透明な値を有する場合、ピクセル値は背景値から取り出される。前景画像がその点で透明でない値を有する場合、ピクセル値は前景画像から取り出される。多数の画像を混合して、多数の成分ピクセル値の線形組み合わせからなるピクセル値を得ることもできる。
しかしながら、透明な要素を含む画像を描画する場合に問題が生じる。例えば、木の画像のレンダリングを考えてみる。１本の木のレンダリングだけが望まれるが、木の絵は通常木の形状の画像ではなく矩形の画像に記憶されている。したがって、木の部分とは考えられない画像の部分を識別する方法が必要であり、次いで透明部分と呼ばれるこれらの部分が描画された画像に影響しないことが必要である。したがって、木の画像を描画する時には、ディスプレイ・ハードウェアは木の不透明部分を描画し、透明部分を描画しない。
オブジェクトを透明な背景上でレンダリングするための従来技術で使用される２つの一般的な合成技法は、アルファチャネル合成とクロマキーである。アルファチャネル合成は、各ピクセルの透明性を符号化するアルファ値を使用するアルファチャネルを記憶することで、透明な画像の描画の問題点を解決する。ただし、この技法は画像に割り付けたメモリ以外に割り付ける追加のメモリを必要とする。これに対してクロマキーは、クロマ色として知られている特定の色によって画像の透明な領域を表すので追加の記憶領域を必要としない。クロマキーを使用して、ハードウェアは各ピクセルをクロマ色と比較し、それらが同一の場合、ディスプレイにピクセルを描画しない。これらの技法は拡張されてテクスチャ・マッピングに適用される。最新のコンピュータ・グラフィック・レンダリングは通常、表面にマッピングされるパターンまたは画像を含む。この手法はテクスチャ・マッピングとして知られている。パターンまたは画像はテクスチャ・マップと呼ばれ、その個別の要素はしばしばテクセルと呼ばれる。テクスチャ・マップは専用の（ｕ、ｖ）テクスチャ座標空間に常駐する。それぞれのレンダリングされたピクセルで、選択されたピクセルを使用して、拡散した色成分などの１つまたは複数の面の材料特性の代用またはスケーリングが行われる。１つのピクセルはしばしばいくつかのピクセルによって覆われる。上記のクロマキーは、画像がポイント・サンプリングされる場合に限って、すなわち、表示されるピクセルごとに１ピクセルが読み出される場合に限って有効であることに注意する必要がある。
クロマキーによって実行される従来技術のレンダリングは、通常、フィルタリングもフォギングもされていないテクスチャに適用される。しかしながら、テクスチャ・マッピングされた多角形の外観はテクスチャ・マッピングのアンチエイリアシングを必要とするので、テクスチャ・マップは一般にフィルタリングされる。テクスチャ・マッピングのアンチエイリアシングの技法が多数知られている。１つのそのような技法は、４つの最も近くのテクセルの色を使用して各色を比較してそのテクスチャのフィルタリングされた表現を得る双一次フィルタリングを使用する。双一次フィルタリングの詳細については、Ｗｏｌｆｂｅｒｇ、ＧｅｏｒｇｅのＤｉｇｉｔａｌ  Ｉｍａｇｅ  Ｗａｒｐｉｎｇ、ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ  Ｐｒｅｓｓ（１９９０）、ｐｐ．５７−６１を参照されたい。
しかしながら、テクスチャ・マップをフィルタリングする場合に問題がある。一度に１つのテクセルを読み出してそのテクセルを使用するのではなく、多数のテクセルを読み出してフィルタリングし、次いでフィルタリングの結果が表示される。この結果、次の３通りのシナリオが生じる。（ａ）読み出されたすべてのテクセルがクロマ色である。（ｂ）読み出されたどのテクセルもクロマ色ではない。（ｃ）読み出されたテクセルの一部がクロマ色である。読み出されたすべてのテクセルがクロマ色である場合、フィルタリングの結果は一般にクロマ色で、従来技術ではそのテクセルを適切に描画できない。読み出されたどのテクセルもクロマ色ではない場合、透明なテクセルは全く含まれず、クロマ色はフィルタリングの予想される結果ではなく、従来技術はそのテクセルを適切に描画する。
読み出されたテクセルの一部がクロマ色である場合、前述の問題が発生する。この場合、テクセルは部分的に透明であると考えるべきである（いくつかの透明なテクセルといくつかの不透明なテクセルを含むので）が、従来技術では、テクセルとクロマ色が共にフィルタリングされ、その結果得られた色はクロマ色、すなわち、表示上のフィルタリングされた色とは全く似ていない。したがって、フィルタリング動作はテクスチャ・マップの境界の色を変更し、画像の色を周囲の背景テクセルの色と混合するので、画像のすぐ隣の背景テクセルはもはやクロマ色と一致しない。この結果、境界または輪郭がレンダリングされた画像の周囲に表示され、しばしばそうであるようにクロマ色が青の場合、結果として得られる画像は青いへりを表示する。したがって、フィルタリングされたテクスチャのクロマキーを実行することが望ましい。
表示画像の「フォギング」、すなわち、表示画像にフォグ効果を加える技法は、フォグまたはスモーク特殊効果を生成するビデオ・ゲームで普及している。フォギングによってレンダリングの複雑さのレベルが増す。
概要
コンピュータ・システムにおいてフォギングおよびフィルタリングされたテクスチャのクロマキーを行う方法および装置が提供される。本発明の一態様によれば、特定の色を有するテクセルが所定の色と一致するかどうかが判定される。テクセルの色が所定の色と一致すると判定された場合、そのテクセルは異なる色のテクセルと交換される。次いでこれらのテクセルはフィルタリングされる。クロマキーされかつフィルタリングされたテクセルは次いでフォギングされる。その結果得られる、クロマキーされ、フォギングされ、かつフィルタリングされたテクセルは背景色と混合される。
一実施態様では、本装置は一般にプロセッサと、前記プロセッサに結合されたメモリと、前記プロセッサと前記メモリに結合されたコプロセッサとを含む。コプロセッサは、特定の色をもつテクセルが所定の色と一致するかどうか判定する。テクセルの色が所定の色と一致すると判定された場合、コプロセッサはこのテクセルを異なる色のテクセルと交換する。次いでコプロセッサはすべてのテクセルをフィルタリングする。コプロセッサはクロマキーされかつフィルタリングされたテクセルをフォギングするための回路を含む。クロマキーされ、フォギングされ、フィルタリングされたテクセルは背景色と混合される。
本発明の上記の、およびその他の特徴、態様、および利点は添付の図面と以下の添付の請求の範囲から明らかになろう。
【図面の簡単な説明】
本発明を、同様の参照が類似の要素を示す、例示的であって限定的ではない添付の図面に示す。
第１図は、本発明が実施されるコンピュータ・システムの一実施形態を示す。
第２図は、本発明が実施されるグラフィックス／ビデオ処理回路の一実施形態を示す。
第３図は、本発明が実施されるピクセル・エンジンの一実施形態を示す。
第４図は、本発明が実施されるピクセル・パイプラインの一実施形態を示す。
第５図は、フォギングされかつフィルタリングされたテクスチャのクロマキーのプロセスの一実施形態を実行する流れ図を示す。
詳細な説明
フィルタリングされたテクスチャのクロマキーを行う方法および装置が提供される。以下の説明では、説明のために、本発明を完全に理解できるように多数の特定の詳細例が述べられている。しかしながら、本発明はこれらの特定の詳細なしに実施できることは当業者には明らかである。その他の場合、本発明を不必要に不明確にしないために、よく知られている構造および装置はブロック図の形式で示されている。
第１図に本発明が実施されるコンピュータ・システム１の一実施形態を示す。コンピュータ・システム１は、システム・バス３０によってシステム・メモリ２０に結合された中央処理ユニット（ＣＰＵ）１０を含む。ＣＰＵ１０およびメモリ２０はシステム・バス３０を介したバス・インタフェース５０経由でＰＣＩ（周辺コンポーネント相互接続）バス４に結合される。ＰＣＩバス４０にはグラフィックス／ビデオ・アクセラレータ・カード６０と、さまざまな周辺装置８０および９０が結合される。グラフィックス／ビデオ・アクセラレータ・カード６０はディスプレイ・モニタ７０に結合される。
第２図にさまざまな３次元（３Ｄ）グラフィックス機能を実行するための回路を含む、グラフィックス／ビデオ・アクセラレータ・カード６０内に含まれる回路の例を示す。第２図では、ＰＣＩインタフェース１００がグラフィックス／ビデオ・アクセラレータ・カード６０をＰＣＩバス４０に結合する。グラフィックス・プロセッサ１０２はＰＣＩインタフェース１００に結合され、さまざまなグラフィックスおよびビデオ処理機能を実行するように設計されている。グラフィック・プロセッサ１０２は通常、ＲＩＳＣ（縮小命令セット・コンピュータ）プロセッサである。
ピクセル・エンジン１２０はグラフィックス・プロセッサ１０３に結合され、後述する双一次フィルタリング、フォギング、および混合などのさまざまなグラフィックス機能を実行する回路を含む。ローカル・ランダム・アクセス・メモリ（ＲＡＭ）１１０はソース・ピクセル色の値と宛先ピクセル色の値の両方を記憶する。宛先ピクセル色の値はメモリ１１０内のフレーム・バッファ１１２に記憶される。好ましい実施形態では、メモリ１１０はダイナミックＲＡＭ（ＤＲＡＭ）を使用して実施される。ディスプレイ・コントローラ１１４はＲＡＭ１１０と先入れ先出しバッファ（ＦＩＦＯ）１１６に結合される。ディスプレイ・コントローラ１１４の制御下で、フレーム・バッファ１１２に記憶された宛先色の値はＦＩＦＯ１１６に与えられる。ＦＩＦＯ１１６に記憶された宛先値はディジタル／アナログ変換器（ＤＡＣ）１１８のセットに与えられ、ディジタル／アナログ変換器（ＤＡＣ）１１８はモニタに赤、緑、および青のアナログ色信号を出力する。
ＲＡＭ１１０にはメモリ・コントローラ１０８も結合される。メモリ・コントローラ１０８はＲＡＭ１１０とピクセル・エンジン１２０およびグラフィックス・プロセッサ１０２との間のデータ転送を制御する。命令キャッシュ１０４（Ｉ−Ｃａｃｈｅ）およびデータ・キャッシュ１０６（Ｄ−Ｃａｃｈｅ）はそれぞれグラフィックス・プロセッサ１０２とメモリ・コントローラ１０８に結合され、頻繁に使用される命令とデータをそれぞれ記憶するために使用される。データ・キャッシュ１０６もＰＣＩインタフェース１００とピクセル・エンジン１２０に結合される。
第３図にピクセル・エンジン１２０の詳細な実施形態を示す。ピクセル・エンジン１２０はコマンド待ち行列１３０、読出し要求待ち行列１３４、属性待ち行列１３６、読出しデータ待ち行列１３８、書込みデータ待ち行列１４２、ステージ１処理回路１３２、およびステージ２処理回路１４０を含む。グラフィックス・プロセッサ１２０が発行するコマンドはピクセル・エンジン１２０によって受信され、コマンド待ち行列１３０内に記憶される。次いでコマンド待ち行列１３０に記憶されたコマンドはステージ１回路１３２に与えられる。ステージ１回路１３２はピクセル属性を累計して、各コマンドについて実行する読出しサイクルと書込みサイクルの数を決定する。ピクセル属性は、例えば、ｘ、ｙ、およびｚ成分と、Ｒ、Ｇ、およびＢ成分と、アルファ（透明性）と、ｕおよびｖ成分と、フオグとを含むことができる。さらに、ステージ１回路１３２はメモリ読出しおよび書込み要求と各読出しおよび書込み動作に関連付けられたアドレスを生成する。ステージ１回路１３２が生成するメモリ読出し要求は、読出し要求待ち行列１３４に記憶される。次いで、読出し要求待ち行列１３４は各読出し要求をデータ・キャッシュ１０６に出力する。さらに、ステージ１回路１３２はピクセル属性を属性待ち行列１３６に出力し、属性待ち行列１３６はその後これらの属性をステージ２処理回路１４０に提供する。
読出し動作の間、ピクセル色の値はデータ・キャッシュ１０６から読み出されて（色はＲＡＭ１１０から生成できる）、読出しデータ待ち行列１３８に入れられる。次いでピクセル色の値が読出しデータ待ち行列１３８から出力されてステージ２回路１４０に供給され、ステージ２回路１４０は双一次フィルタリング、テクスチャ適用、フォグ効果、色空間変換、混合、およびディザリングなどを含むさまざまな機能を実行する。次いで、処理された色の値がステージ２回路１４０によって書込みデータ待ち行列１４２に提供され、書込みデータ待ち行列１４２は次いで処理された色の値をデータ・キャッシュ１０６に出力する。
属性待ち行列１３６は、データの検索に使用しないピクセル属性をデータ・キャッシュ１０６またはＲＡＭ１１０に記憶する。データがデータ・キャッシュ１０６からステージ２回路１４０に読み込まれると、属性待ち行列１３６に記憶された対応する属性値が属性待ち行列１３６からパられるにステージ２回路１４０に読み出される。
一実施形態では、本発明はステージ２回路１４０内の回路で実施される。当業者には明らかなように、このプロセスは回路の他の部分でも実施できる。第４図にステージ２回路１４０の詳細な実施形態を示す。ステージ２回路１４０は、ピクセル・アンパッキングと、クロマキーと、双一次フィルタリングおよびテクスチャ適用と、フォギングと、混合の各機能が実行されるピクセル・パイプラインを実装している。これらの機能は状態マシン１４６によって調整され、タイミングをとられる。ステージ２回路１４０が上で識別したすべての機能より少ない機能を含む場合があることが企図される。
ステージ２回路１４０で、アンパック回路１４８は、ＲＡＭ１１０または信号ＲＥＡＤ  ＤＡＴＡを介してデータ・キャッシュ１０６からピクセル色の値を受け取り、信号ＡＴＴ  ＤＡＴＡを介してピクセル属性値を受け取る。アンパック回路１４８は色データを８ビットのセグメントに変換する。例えば、色データは各ワードが例えば３つの５ビット色セグメントと１つの未使用ビットとからなる１６ビット・ワードでアンパック回路１４８に提供される場合がある。したがって、アンパック回路１４８は、各１６ビット・ワードの各５ビットの色セグメントを個別の８ビット色の値に変換する「アンパックされた」色の値は次いでアンパック回路１４８によってクロマキー回路１４９に提供される。
本発明の一実施形態では、クロマキー回路１４９は各入力テクセル信号の色をクロマキー回路１４９に記憶されたクロマ色と比較する働きをする。ＲＧＢ色空間では、クロマキー回路１４９が入力テクセルの色が記憶されたクロマ色と同じであると判定した場合、クロマキー回路１４９が出力するテクセルは、それぞれ黒に対応する０、０、０、０の信号成分値（Ａ、Ｒ、Ｇ、Ｂ）を有する。ＲＧＢ色空間では成分Ａ、Ｒ、Ｇ、およびＢはそれぞれ色信号のアルファ、赤、緑、および青の成分を表す。したがって、クロマ色回路１４９の判定で入力テクセルの色がクロマ色と同じ場合、透明なテクセルが出力される。この動作はＲＧＢ色空間とクロマキー回路１４９に限定されず、入力テクセルの色が記憶されたクロマ色と同じことが検出されると、特定の色空間の透明なテクセルに対応する黒を表す信号成分値を出力するために使用できる。
クロマキー回路１４９が、入力テクセルの色が記憶されたクロマ色と同じでないと判定した場合、クロマキー回路１４９が出力したテクセルはそれぞれ１、Ｒ、Ｇ、Ｂの信号成分値（Ａ、Ｒ、Ｇ、Ｂ）を有する。したがって、クロマ色回路１４９の判定で入力テクセルの色がクロマ色と異なる場合、出力テクセルは入力テクセルと同じ赤、緑、および青の信号成分を有し、アルファ信号成分が１に設定される。この結果、入力テクセルと同じ値を備えた不透明な出力テクセルが得られる。次いでクロマキーされたテクセルはクロマキー回路１４９によって双一次フィルタリングおよびテクスチャ適用回路１５０に送られる。
テクスチャ処理された面の外観を改善するにはアンチエイリアシング・テクスチャ・マッピングが必要である。双一次フィルタリング回路１５０はテクスチャ処理された画の画像への適用を改善する機能を実行する。本発明の一実施形態では、双一次フィルタリングが使用される。双一次フィルタリング回路１５０は４つの最も近いテクセルの色を取り出して色を重み付けし、そのテクスチャのフィルタリングされた表現を得る。双一次フィルタリングを適用する場合、出力テクセルは４つの隣接する入力テクセルの関数であり、下記のように重み付けされた２×２の畳み込みと考えられる。
ｆ1ｆ2              ｆ1（１−ｆ2）
（１−ｆ1）ｆ2      （１−ｆ1）（１−ｆ2）
上式で、ｆ1およびｆ2は、０と１を含め、０から１の範囲にある。ＲＧＢ色空間では、双一次フィルタリング回路１５０はフィルタリングされたアルファ、赤、緑、および青の成分からなるフィルタリングされた色信号（Ａ、Ｒ、Ｇ、Ｂ）を出力する。双一次フィルタリング回路１５０はピクセル色の値Ａ、Ｒ、Ｇ、およびＢをフォグ回路１５２に出力する。
フォグ回路１５２は、フォグが表示された画像に現れる選択済みのフィルタリングされたテクセルにフォグを適用する。フォグは、それぞれフォグ信号の赤、緑、および青の成分を表す成分Ｒｆｏｇ、Ｇｆｏｇ、およびＢｆｏｇを有する色信号によって表される。本発明の一実施形態では、次式（１）〜（４）に従って色信号（Ａ、Ｒ、Ｇ、Ｂ）の各成分についてフォギングされかつフィルタリングされた信号（Ａ１、Ｒ１、Ｇ１、Ｂ１）が生成される。
Ａ１＝Ａ                                                      （１）
Ｒ１＝［Ｒ＊（１−ｆ）］＋（Ｒｆｏｇ＊ｆ＊Ａ）                （２）
Ｇ１＝［Ｇ＊（１−ｆ）］＋（Ｇｆｏｇ＊ｆ＊Ａ）                （３）
Ｂ１＝［Ｂ＊（１−ｆ）］＋（Ｂｆｏｇ＊ｆ＊Ａ）                （４）
式（１）〜（４）で、Ａは双一次フィルタリング回路１５０から得たフィルタリングされた信号のアルファ成分を表し、Ｒは双一次フィルタリング回路１５０から得たフィルタリングされた色信号の赤の成分を表し、Ｒｆｏｇはフォグ色の赤の成分を表し、ｆはフォグ係数を表し、Ｇは双一次フィルタリング回路１５０から得たフィルタリングされた色信号の緑の成分を表し、Ｇｆｏｇはフォグ色の緑の成分を表し、Ｂは双一次フィルタリング回路１５０から得たフィルタリングされた色信号の青の成分を表し、Ｂｆｏｇはフォグ色の青の成分を表す。フォグの適用範囲のパーセンテージ量を表すフォグ係数（ｆ）は、０から１までの値（０と１を含む）をとることができる。ｆが０の場合、フォグは表示されない。ｆが１の場合、フォグだけが表示される。フォグ回路１５２は混合回路１５４に色の値（Ａ１、Ｒ１、Ｇ１、Ｂ１）を出力する。
式（１）〜（４）はＲＧＢ色空間に使用されるが、式（２）〜（４）は他の色空間用に式（５）で一般化される。
Ｘｎ１＝［Ｘｎ＊（１−ｆ）］＋（Ｘｎｆｏｇ＊ｆ＊Ａ）          （５）
式（１）〜（４）と同様、式（５）で、Ａはフィルタリングされた信号のアルファ成分を表し、ｆはフォグ係数を表す。変数Ｘｎはｎ個の色成分を有するフィルタリングされた色信号の特定成分を表し、Ｘｎｆｏｇはフォグ色の対応する色成分を表す。他の色空間に適用する場合、フォグ回路１５２は式（１）に従って入力信号のアルファ成分の値を出力し、式（５）に従って入力信号色空間のｎ個の色成分のそれぞれの色の値を出力する。
混合回路１５４はフィルタリングされたテクセル色を背景色と混合して出力テクセルの色を生成する。背景色はそれぞれ背景信号のアルファ、赤、緑、青の成分を表す成分Ａｂ、Ｒｂ、Ｇｂ、およびＢｂを備えた色信号によって表される。フィルタリングされたテクセルにフォギングが施されていない場合（ｆ＝０）、混合回路１５４が式（６）〜（９）に従って出力色信号（Ａｏ、Ｒｏ、Ｇｏ、Ｂｏ）を生成する。
Ａｏ＝Ａ＋［（１＋Ａ）＊Ａｂ］                                （６）
Ｒｏ＝Ｒ＋［（１＋Ａ）＊Ｒｂ］                                （７）
Ｇｏ＝Ｇ＋［（１＋Ａ）＊Ｇｂ］                                （８）
Ｂｏ＝Ｂ＋［（１＋Ａ）＊Ｂｂ］                                （９）
式（６）〜（９）で、Ａは双一次フィルタリング回路１５０から得たフィルタリングされた信号のアルファ成分を表し、Ａｂは背景色のアルファ成分を表し、Ｒは双一次フィルタリング回路１５０から得たフィルタリングされた色信号の赤の成分を表し、Ｒｂは背景色の赤の成分を表し、Ｇは双一次フィルタリング回路１５０から得たフィルタリングされた色信号の緑の成分を表し、Ｇｂは背景色の緑の成分を表し、Ｂは双一次フィルタリング回路１５０から得たフィルタリングされた色信号の青の成分を表し、Ｂｂは背景色の青の成分を表す。
式（６）〜（９）はＲＧＢ色空間に使用されるが、式（７）〜（９）は他の色空間用に式（１０）で一般化される。
Ｘｎｏ＝Ｘｎ＋［（１−Ａ）＊Ｘｎｂ］                        （１０）
式（６）〜（９）と同様、式（１０）で、Ａはフィルタリングされた信号のアルファ成分を表す。変数Ｘｎはｎ個の色成分を有するフィルタリングされた色信号の特定成分を表し、Ｘｎｂは背景色の対応する色成分を表す。他の色空間に適用する場合、混合回路１５４は式（６）に従って入力信号のアルファ成分の値を出力し、式（１０）に従って入力信号色空間のｎ個の色成分のそれぞれの色の値を出力する。
また、混合回路１５４はフォギングされかつフィルタリングされたテクセル色を背景色と混合して出力テクセルの色を生成する。フォギングされかつフィルタリングされたテクセルの場合、式（１１）〜（１４）に従って出力色信号（Ａｏ、Ｒｏ、Ｇｏ、Ｂｏ）が混合回路１５４によって生成される。
Ａｏ＝Ａ１＋［（１−Ａ１）＊Ａｂ］                          （１１）
Ｒｏ＝Ｒ１＋［（１−Ａ１）＊Ｒｂ］                          （１２）
Ｇｏ＝Ｇ１＋［（１−Ａ１）＊Ｇｂ］                          （１３）
Ｂｏ＝Ｂ１＋［（１−Ａ１）＊Ｂｂ］                          （１４）
式（１１）〜（１４）で、Ａ１はフォグ回路１５２から得たフォギングされかつフィルタリングされた信号のアルファ成分を表し（式１）、Ａｂは背景色のアルファ成分を表し、Ｒ１はフォグ回路１５２から得たフォギングされかつフィルタリングされた信号の赤の成分を表し（式２）、Ｒｂは背景色の赤の成分を表し、Ｇ１はフォグ回路１５２から得たフォギングされかつフィルタリングされた信号の緑の成分を表し（式３）、Ｇｂは背景色の緑の成分を表し、Ｂ１はフォグ回路１５２から得たフォギングされかつフィルタリングされた信号の青の成分を表し（式４）、Ｂｂは背景色の青の成分を表す。
式（１１）〜（１４）はＲＧＢ色空間に使用されるが、式（１２）〜（１４）は他の色空間用に式（１５）で一般化される。
Ｘｎｏ＝Ｘｎ１＋［（１−Ａ１）＊Ｘｎｂ］                    （１５）
式（１１）〜（１４）と同様、式（１５）で、Ａ１はフォギングされかつフィルタリングされた信号のアルファ成分を表す。変数Ｘｎ１はｎ個の色成分を有するフォギングされかつフィルタリングされた色信号の特定成分を表し、Ｘｎｂは背景色の対応する色成分を表す。他の色空間に適用する場合、混合回路１５４は式（１１）に従って入力信号のアルファ成分の値を出力し、式（１５）に従って入力信号色空間のｎ個の色成分のそれぞれの色の値を出力する。
第５図にＲＧＢ空間でフォギングされかつフィルタリングされたテクスチャのクロマキーを実行する一実施形態の流れ図を示す。この流れ図はブロック３００から開始する。ブロック３０２で各入力テクセルの色が記憶されたクロマ色と比較される。入力テクセルの色が記憶されたクロマ色と同じであると判定された場合、ブロック３０４で入力テクセルはその入力テクセルと異なる色のテクセルと交換される。本発明の一実施形態では、出力テクセルはそれぞれ０、０、０、０の信号成分値（Ａ、Ｒ、Ｇ、Ｂ）を有する。したがって、入力テクセルの色がクロマ色と同じ場合、透明なテクセルが出力される。
色モデルは３次元色調整システムの仕様である。本明細書に記載する本発明の本実施形態は、赤、緑、および青（ＲＧＢ）の色モデルに基づいて動作する。本発明の代替実施形態はＹＣＢＣＲまたはＹＵＶ色モデルの信号に基づいて動作する。この実施形態の８ビットバージョンでは、クロマキー回路１４９が各入力テクセル信号の色をクロマキー回路１４９に記憶されたクロマ色と比較する働きをする。クロマキー回路１４９が入力テクセルの色が記憶されたクロマ色と同じであると判定した場合、クロマキー回路１４９が出力するテクセルは、それぞれ黒に対応するＹＣＢＣＲ空間の０、１２８、１６、および１２８の信号成分値（Ａ、ＣＲ、Ｙ、ＣＢ）を有する。したがって、クロマ色回路１４９の判定で入力テクセルの色がクロマ色と同じ場合、透明なテクセルが出力される。さらに、本明細書に記載した方法および装置は、ＲＧＢまたはＹＣＢＣＲ色空間に直線的に関連する任意の色空間に適用でき、またはＲＧＢまたはＹＣＢＣＲ色空間の線形変換を使用して達成できる。
ＲＧＢ空間の例に続けて、クロマキー回路１４９が入力テクセルの色が記憶されたクロマ色と同じでないと判定した場合、ブロック３０６で出力テクセルは入力テクセルと同じ色を有する。本発明の一実施形態では、出力テクセルはそれぞれＩ、Ｒ、Ｇ、およびＢの信号成分値（Ａ、Ｒ、Ｇ、Ｂ）を有する。したがって、入力テクセルの色がクロマ色と異なる場合、出力テクセルは入力テクセルと同じ赤、緑、および青の信号成分を有し、アルファ信号成分が１に等しく設定される。この結果、入力テクセルと同じ値を備えた不透明な出力テクセルが得られる。ＹＣＢＣＲ色モデルを使用する本発明の代替実施形態では、出力テクセルはそれぞれ１、ＣＲ、Ｙ、ＣＢの信号成分値（Ａ、ＣＲ、Ｙ、ＣＢ）を有する。
テクスチャ・マッピングされた多角形の外観を改善するにはアンチエイリアシング・テクスチャ・マッピングが必要である。したがって、ブロック３０４またはブロック３０６のクロマキー動作に従って、ブロック３０８でクロマキーから出力されたすべてのテクセルは双一次フィルタリングを使用してフィルタリングされる。アンチエイリアシング・テクスチャ・マッピングの多数のよく知られている技法が存在する。本発明の好ましい実施形態は双一次フィルタリングを使用する。双一次フィルタリングは４つの最も近いテクセルの色を取り出して色を重み付けし、そのテクスチャのフィルタリングされた表現を得る。双一次フィルタリングを適用する場合、出力ピクセルは４つの隣接する入力ピクセルの関数である。テクセルをフィルタリングすると、フィルタリングされたアルファ、赤、緑、および青の成分からなるフィルタリングされた色信号が得られる。
フィルタリングの後、ブロック３１０で、フィルタリングされた信号の赤、緑、および青の成分がフォギングされる。フォグは式（１）〜（４）に従って生成される。式（１）〜（４）で、Ｒ、Ｇ、Ｂ、およびＡはそれぞれブロック３０８から得たフィルタリングされた色信号の赤、緑、青、アルファ成分を表す。Ｒｆｏｇ、Ｇｆｏｇ、およびＢｆｏｇはそれぞれフォグ色の赤、緑、および青の成分を表し、ｆはフォグ係数を表す。フォグの適用範囲のパーセンテージ量を表すフォグ係数（ｆ）は、０と１を含め、０から１までの値をとることができる。ｆが０の場合、フォグは表示されない。ｆが１の場合、フォグだけが表示される。
フォギングに続けて、ブロック３１２で、フォギングされかつフィルタリングされたテクセルが背景色と混合され、出力信号が生成される。混合から生成された出力色信号（Ａｏ、Ｂｏ、Ｇｏ、Ｂｏ）は式（１１）〜（１４）に従って生成される。式（１１）〜（１４）で、Ｒ１、Ｇ１、Ｂ１、およびＡ１はそれぞれブロック３１０から得たフォギングされかつフィルタリングされた信号の赤、緑、青、およびアルファ成分を表す。Ｒｂ、Ｇｂ、Ｂｂ、およびＡｂはそれぞれ背景色の赤、緑、青、およびアルファ成分を表す。出力色信号は色信号成分（Ａｏ、Ｂｏ、Ｇｏ、Ｂｏ）ごとに生成される。流れ図はブロック３１４で終了する。
フォグ係数が０に等しい場合、表示されるフォグはない。この場合、フィルタリングに続いて、フィルタリングされたテクセルが背景色と混合され、出力色信号が生成される。出力色信号（Ａｏ、Ｒｏ、Ｇｏ、Ｂｏ）が式（６）〜（９）に従って生成される。式（６）〜（９）で、Ｒ、Ｇ、およびＡは、それぞれブロック３０８から得たフィルタリングされた信号の赤、緑、青、およびアルファ成分を表す。Ｒｂ、Ｇｂ、Ｂｂ，およびＡｂはそれぞれ背景色の赤、緑、青、およびアルファ成分を表す。出力色信号は色信号成分ごとに生成される。
したがって、フィルタリングされたテクスチャのクロマキーを行う方法および装置が提供される。本発明を特定の実施形態の例を参照しながら説明してきたが、請求の範囲に記載する本発明のより広い精神と範囲を逸脱することなしに、これらの実施形態にさまざまな修正および変更を加えることができるのは明らかである。したがって、本明細書および図面は限定的なものではなく例示的なものと考えるべきである。
【図１】
0003678428.tif 000002
【図２】
0003678428.tif 000003
【図３】
0003678428.tif 000004
【図４】
0003678428.tif 000005
【図５】
0003678428.tif 000006