JP4234217B2 - サイズ変更ビットブロック転送処理の一部として透過イネーブルビットの埋込みを行うシステム、装置および方法 - Google Patents

サイズ変更ビットブロック転送処理の一部として透過イネーブルビットの埋込みを行うシステム、装置および方法 Download PDF

Info

Publication number
JP4234217B2
JP4234217B2 JP17466097A JP17466097A JP4234217B2 JP 4234217 B2 JP4234217 B2 JP 4234217B2 JP 17466097 A JP17466097 A JP 17466097A JP 17466097 A JP17466097 A JP 17466097A JP 4234217 B2 JP4234217 B2 JP 4234217B2
Authority
JP
Japan
Prior art keywords
color
graphics
resizing
logic
pixel
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.)
Expired - Lifetime
Application number
JP17466097A
Other languages
English (en)
Other versions
JPH1091142A (ja
Inventor
アンソニー ダイ トーマス
Original Assignee
エヌヴィディア インターナショナル, インコーポレイテッド
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 エヌヴィディア インターナショナル, インコーポレイテッド filed Critical エヌヴィディア インターナショナル, インコーポレイテッド
Publication of JPH1091142A publication Critical patent/JPH1091142A/ja
Application granted granted Critical
Publication of JP4234217B2 publication Critical patent/JP4234217B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4015Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、広義には、パーソナルコンピュータ(PC)用のグラフィックスサブシステムに関する。より具体的には、本発明は、サイズ変更ビットブロック転送処理の一部として、透過イネーブルの埋込みあるいはマスク信号のアサーション(asserting)を行うシステムおよび方法に関する。
【0002】
【従来の技術】
パーソナルコンピュータ(PC)が普及する以前、コンピュータグラフィックスパッケージは高価なツールであり、主として産業的用途においてのみ用いられていた。初期のマイクロコンピュータは、単純なライン描画を低いスクリーン解像度(例えば、256×256)で行うことしかできなかった。マイクロコンピュータの進歩に伴って高解像度カラーディスプレイが普及すると、ソフトウェアアプリケーションがグラフィカルにデータ出力を行うことが一般的になった。オブジェクトは、典型的に、直線を用いた絶対座標で規定されていた。その後、グラフィックス「プリミティブ」が用いられるようになり、円、楕円、矩形および多角形が単一の命令で描画可能になった。単一命令組のパラメータによって表示できるプリミティブを利用することによって画像の表示速度が向上した。
【0003】
コンピュータグラフィックスの普及によって、より高い解像度および3次元(3D)表示能力が要求されるようになった。特に、コンピュータアニメーションおよびコンピュータゲームによって、さらに高度なグラフィックス能力に対する要求が否応なしに高まった。3D画像は、コンピュータシステムにおいては、ポリゴン、ライン、点等のグラフィックオブジェクトの集合体として表すことができる。1つのポリゴンは1組の頂点によって規定される。シェーディング、テクスチャリング(texturing)、色等の特定のピクセル値が、点のそれぞれに関連付けられる。ポリゴンのその他の点の特定は、典型的には、線形補間によって行われる。補間が行われた後、ポリゴンの直交列を連続的に走査することによってコンピュータモニタ上にそのポリゴンを表示することができる。
【0004】
より高性能なグラフィックスパッケージを用いても、アニメーションアプリケーションの開発は骨の折れる時間のかかる作業である。さらに、グラフィックスアプリケーションの機能が細かくなる程、グラフィックス作製にかかる手間もそれだけ増大する。この手間を省くために、プログラマーはしばしばアニメーション内の画像を繰り返す。前のグラフィックスデータを容易に使用できるようにするグラフィックスパッケージが開発されている。中でも、前のグラフィックスデータを変更して新たなグラフィックスデータアレイを得る作業を高速且つ容易に行うための方法として、ビットブロック転送(BitBLT)が一般的に使用されるようになった。BitBLT処理においては、フレームバッファあるいはホストメモリ内に格納された表示データをソースデータとして用いて表示用画像を生成する。従って、フレームバッファあるいはホストメモリ内のソースピクセルアレイを用いて、ディスプレイ装置上に表示を行うためのフレームバッファにデスティネーションピクセルアレイを生成する。デスティネーションアレイと、あるパターンのデータとをピクセル毎に組み合わせたものをデスティネーションピクセルアレイと置き換える等の、他のビットブロック転送方法も可能であることが当業者には理解される。
【0005】
グラフィックス産業において、様々なBitBLTが、高速且つ効率的に画像を生成して表示用デスティネーション画像を得るための標準になっている。一般的なBitBLT処理の例には、サイズ変更BitBLTおよび透過BitBLTが含まれる。これらのBitBLTおよびその他のBitBLTを使用すれば、前に使用した画像を何らかの方法で利用して新たな画像をより高速に表示することが可能になる。従って、例えば、サイズ変更BitBLTを用いて、グラフィックスアプリケーションの必要性に適合するように必要に応じて前に使用した画像のサイズを拡大(ストレッチBitBLT)または縮小(シュリンクBitBLT)できる。例えば、あるオブジェクトまでの相対距離を見せるために、画像をシュリンクまたはストレッチすることが所望される場合がある。ストレッチBitBLT処理は現存する画像を補間することによって行われ、一方、シュリンクBitBLTは画像のピクセル値を平均化あるいはデシメート(decimating)することによって行われる。従って、例えばストレッチ処理を行う場合、前は1ピクセルであったものが4ピクセルで表され得る。逆に、シュリンク処理を行う場合、前は4ピクセルによって表示されていたものが1ピクセルで表され得る。
【0006】
別の望ましいBitBLT処理によれば、前の画像の一部分を使用することが可能になる。このような処理は透過BitBLTによって行われる。従って、オブジェクトの周りのバックグラウンドを透明にして、そのオブジェクトを別のバックグラウンド上に重ねられるようにすることによって、ある背景(scene)の中を移動するオブジェクトが以降の背景中にも反復的に再利用できるようになる。例えば、横に並んだ商店の前を通過する車の場合、車の周りのバックグラウンドを透明にして、その(バックグラウンドにマスクがかけられた)車をスクリーン上の様々なデスティネーションに移動させることによって、その車の画像を反復的に再利用することができる。
【0007】
ロジックを単純化するとともに、入り組んだオブジェクトの辺を正確に規定せずに済むように、BitBLTの転送は通常矩形のピクセルブロック単位で行われる。矩形画像内のオブジェクトに対する透過BitBLTは、所望のオブジェクトを固定色(あるいは固定パターン)のバックグラウンド上に配置し、色(あるいはパターン)比較処理を用いてそのオブジェクトを実質的にバックグラウンドから浮かせることによって行われる。従って、オブジェクトが青色のバックグラウンド上にある場合、オブジェクトと青色のバックグラウンドとを含む矩形のピクセルアレイを転送することによって、このオブジェクトをスクリーン上のデスティネーション領域にコピーできる。青色のバックグラウンドは色比較によって検知され、透明とされる。好ましくは、画像内の各ピクセル値に透過ビットが設けられ(即ち、埋め込まれ)、これにより、そのピクセル値を透明にするのか表示するのかが示される。このようにすれば、画像をデスティネーション位置にコピーする際に、埋め込まれた透過ピクセル値の状態に基づいて所望のオブジェクトだけを表示することが可能である。従って、青色バックグラウンドのピクセルの比較を行って(青色の色範囲に基づいて)透過ビットを有効にすれば、透過BitBLT処理において、所望のオブジェクトを表示しながら、デスティネーションアレイ内の青色バックグラウンドを透明にすることが可能になる。
【0008】
場合によっては、あるオブジェクトに対して透過ビットブロック転送を行いながら、同時にそのオブジェクトのサイズ変更を行うことが有利である場合がある。しかし、サイズ変更BitBLTを透過BitBLTと組み合わせると問題が生じる。なぜなら、サイズ変更処理の間に透過イネーブルビットが失われ得るからである。例えば、ある画像が64個のピクセルを有し、その中の20個が透過イネーブルされている場合を考える。この画像を64ピクセルから16ピクセルに縮小する場合、この画像の中に埋め込まれた透過ビットを完全に維持する確実な方法はない。結果的に、この透過ビット値は無視されるか若しくはエラーとなる。埋め込まれた透過ビットを使用せずに透過BitBLTを高速に行う方法はない。
【0009】
さらに、グラフィックスアプリケーションへの入力としてのビデオデータの使用がますます望まれている。しかし、ビデオ信号(YUVとして参照される)を、従来のパーソナルコンピュータ(PC)グラフィックスシステム上に表示するためには、このビデオ信号をグラフィックス信号(RGBとして参照される)に変換する必要がある。多くの場合、変換処理には比較的長い時間がかかる。典型的に、ビデオデータには、スケーリング、フィルタリング、そして、RGB値への変換を行う必要がある。さらに、テクスチャマッピングが所望される場合、このデータを色比較する必要もある。ビデオデータのデータ操作を1回の処理で行えるビットブロック転送処理があれば利点は多い。
【0010】
【発明が解決しようとする課題】
このように、サイズ変更ビットブロック転送を透過ビットブロック転送と組み合わせると、サイズ変更処理の間に透過イネーブルビットが失われ得るという問題があった。
【0011】
本発明は上記問題にかんがみてなされたものであり、その目的とするところは、サイズ変更ビットブロック転送と透過ビットブロック転送とをある一つの処理において行うことのできるシステム、装置、および方法を提供することにある。
【0012】
本発明によるグラフィックスサブシステムは、プリミティブを規定するパラメータ値の表示リストを生成するホストプロセッサと、パラメータ値の表示リストを格納するシステムメモリと、ホストプロセッサおよびシステムメモリにシステムバスを介して結合されるグラフィックスプロセッサと、を備えるグラフィックスサブシステムであって、グラフィックスプロセッサは、ソースピクセルアレイに対するサイズ変更および透過イネーブル処理を1回の処理によって行うことができるサイズ変更エンジンおよび色比較ロジックを有すると共に、サイズ変更はソースピクセルアレイで特定されるオブジェクトについての拡大処理、縮小処理、あるいは、一方向には拡大を行い、他方向には縮小を行う混合処理である、ピクセル値を生成するグラフィックスサブシステムであり、そのことにより上記目的が達成される。
【0013】
ある実施形態では、サイズ変更および透過イネーブル処理が行われたソースピクセルアレイはデスティネーションアレイに書き込まれる。
【0014】
ある実施形態では、デスティネーションピクセルアレイの中の各ピクセルは透過イネーブルビットを有する。
【0015】
ある実施形態では、デスティネーションピクセルアレイの中の各ピクセルはサイズ変更された赤、緑および青ピクセル値を有する。
【0016】
ある実施形態では、サイズ変更エンジンおよび色比較ロジックは、色値が格納されたレジスタと、レジスタ内の値をサイズ変更された色ピクセル値の1つ以上と比較して比較出力信号を生成するコンパレータと、を有する。
【0017】
ある実施形態では、透過イネーブルビットの状態は比較出力信号に依存する。
【0018】
ある実施形態では、サイズ変更エンジンおよび色比較ロジックは、ソースピクセルアレイに対してストレッチおよびシュリンクの少なくともいずれかを行うようにされている。
【0019】
ある実施形態では、サイズ変更エンジンおよび色比較ロジックは、サイズ変更された色ピクセル値を生成するサイズ変更エンジンと、サイズ変更された色ピクセル値を色ピクセル値のそれぞれに対する所定閾値と比較する色比較ロジックと、を有する。
【0020】
ある実施形態では、サイズ変更された色ピクセル値は、赤ピクセル値と、緑ピクセル値と、青ピクセル値とを含み、色比較ロジックは、赤色の範囲を規定する第1のレジスタ対と、緑色の範囲を規定する第2のレジスタ対と、青色の範囲を規定する第3のレジスタ対と、を有する。
【0021】
ある実施形態では、色比較ロジックは、赤色の範囲を赤ピクセル値と比較する第1のコンパレータセットと、緑色の範囲を緑ピクセル値と比較する第2のコンパレータセットと、青色の範囲を青ピクセル値と比較する第3のコンパレータセットと、をさらに有し、コンパレータセットのそれぞれは、ピクセル値がレジスタ対によって規定される範囲内にあるかどうかを示す出力信号を生成する。
【0022】
ある実施形態では、色比較ロジックが、コンパレータセットのそれぞれから出力信号を受け取り、これに応答して、透過イネーブルビットを規定する透過イネーブル出力信号を生成する多重ロジック、をさらに有する。
【0023】
ある実施形態では、多重ロジックは、透過イネーブル出力信号を生成するために用いるコンパレータ出力信号を選択する入力信号を受け取る。
【0024】
ある実施形態では、色比較ロジックは、コンパレータセットのそれぞれから出力信号を受け取り、これに応答して、サイズ変更されたピクセルのためのマスク出力信号を生成するマスクロジック、をさらに有する。
【0025】
ある実施形態では、サイズ変更エンジンおよび色比較ロジックは、サイズ変更を行うためにビデオ信号をグラフィックス信号に変換する色変換回路を有する。
【0026】
本発明によるグラフィックスアクセラレータは、システムバスに結合するインターフェース装置と、画像を生成するグラフィックスエンジンと、グラフィックスエンジンに結合され、画像を格納するフレームバッファと、画像をサイズ変更し、サイズ変更され透過イネーブルビットが埋め込まれた画像をデスティネーションピクセルアレイとしてフレームバッファ内に格納する前に、サイズ変更された画像に透過イネーブルビットを埋め込むサイズ変更エンジンおよび色比較ロジックと、を備え、サイズ変更は、画像についての拡大処理、縮小処理、あるいは、一方向には拡大を行い、他方向には縮小を行う混合処理である、高速グラフィックス処理を提供できるグラフィックスアクセラレータであり、そのことにより上記目的が達成される。
【0027】
ある実施形態では、サイズ変更エンジンおよび色比較ロジックは、サイズ変更ビットブロック転送と透過ビットブロック転送とを1回の処理によって行うことができる。
【0028】
ある実施形態では、サイズ変更エンジンおよび色比較ロジックは、画像をサイズ変更するサイズ変更エンジンと、サイズ変更された画像に透過イネーブルビットを埋め込む色比較ロジックとを有する。
【0029】
ある実施形態では、サイズ変更された画像は、赤ピクセル値、緑ピクセル値、および青ピクセル値を含む色ピクセル値を有するピクセルフィールドを備え、色比較ロジックは、赤色の範囲を規定する第1のレジスタ対と、緑色の範囲を規定する第2のレジスタ対と、青色の範囲を規定する第3のレジスタ対と、を有する。
【0030】
ある実施形態では、色比較ロジックは、赤色の範囲を赤ピクセル値と比較する第1のコンパレータセットと、緑色の範囲を緑ピクセル値と比較する第2のコンパレータセットと、青色の範囲を青ピクセル値と比較する第3のコンパレータセットと、をさらに有し、コンパレータセットのそれぞれは、ピクセル値がレジスタ対によって規定される範囲内にあるかどうかを示す出力信号を生成する。
【0031】
ある実施形態では、色比較ロジックは、コンパレータセットのそれぞれから出力信号を受け取り、これに応答して、透過イネーブルビットを規定する透過イネーブル出力信号を生成する多重ロジック、をさらに有する。
【0032】
ある実施形態では、多重ロジックは、透過イネーブル出力信号を生成するために用いるコンパレータ出力信号を選択する入力信号を受け取る。
【0033】
ある実施形態では、色比較ロジックは、コンパレータセットのそれぞれから出力信号を受け取り、これに応答して、サイズ変更されたピクセルのためのマスク出力信号を生成するマスクロジックをさらに有する。
【0034】
ある実施形態では、サイズ変更エンジンおよび色比較ロジックは、サイズ変更を行うためにビデオ信号をグラフィックス信号に変換する色変換回路を有する。
【0035】
ある実施形態では、デスティネーションピクセルアレイに対してテクスチャマッピングを行うテクスチャエンジンをさらに備えている。
【0036】
本発明による別のグラフィックスアクセラレータは、システムバスに結合するインターフェース装置と、画像を生成するグラフィックスエンジンと、グラフィックスエンジンに結合され画像を格納するフレームバッファと、画像をサイズ変更し、サイズ変更された画像をデスティネーションピクセルアレイとしてフレームバッファ内に格納する前に、サイズ変更された画像の一部にマスクをかけるサイズ変更エンジンおよびマスクロジックと、を備え、サイズ変更は、画像についての拡大処理、縮小処理、あるいは、一方向には拡大を行い、他方向には縮小を行う混合処理である、高速グラフィックス処理を提供できるグラフィックスアクセラレータであり、そのことにより上記目的が達成される。
【0037】
ある実施形態では、サイズ変更エンジンおよびマスクロジックは、デスティネーションアレイ内の各ピクセルについて透過イネーブルビットの埋込みを行うことがさらにできる。
【0038】
ある実施形態では、色比較に基づいてピクセルにマスクがかけられる。
【0039】
ある実施形態では、パターン比較に基づいてピクセルにマスクがかけられる。
【0040】
本発明による方法は、メモリからソースピクセルアレイを取り出すステップと、ソースピクセルアレイをサイズ変更してサイズ変更された色ピクセル値を得るステップと、少なくとも1つの色閾値範囲を定めるステップと、サイズ変更された色ピクセル値を色閾値範囲と比較するステップと、色閾値範囲内にあるサイズ変更された色ピクセル値のそれぞれについて透過イネーブルビットの埋込みを行うステップと、を包含すると共に、サイズ変更は、ソースピクセルアレイで特定されるオブジェクトについての拡大処理、縮小処理、あるいは、一方向には拡大を行い、他方向には縮小を行う混合処理である、ある単一処理の一部としてサイズ変更ビットブロック転送と透過ビットブロック転送とを行う方法であり、そのことにより上記目的が達成される。
【0041】
ある実施形態では、各色ピクセル値について異なる色閾値範囲が設けられる。
【0042】
ある実施形態では、サイズ変更された色ピクセル値と透過イネーブルビットとを含むデスティネーションピクセル値を生成するステップをさらに包含する。
【0043】
以下に作用を説明する。
本発明は、サイズ変更BitBLT処理中に、デスティネーションピクセルアレイの一部として透過イネーブルビットを埋め込むシステムを提供する。好適な実施形態においては、サイズ変更(ストレッチまたはシュリンク)BitBLTの出力に対して色比較を行うことによって、ある所定の色値あるいは色範囲を検出する。所定の色範囲あるいは複数の色範囲の特定の組み合わせが検出された場合、透過イネーブルビットがデスティネーションピクセルデータフィールド内に埋め込まれる。このようにすれば、フォアグラウンドオブジェクトを、サイズ変更後のバックグラウンド色から区別することができる。デスティネーションピクセルデータフィールド内に透過ビットが埋め込まれているので、その後のテクスチャマッピングあるいは他の透過BitBLT処理におけるサイズ変更されたオブジェクトの使用が簡単になる。
【0044】
本発明は、サイズ変更/透過混合BitBLT処理を行う一体型サイズ変更エンジンおよび色比較ロジックを含む。好ましくは、サイズ変更エンジンは公知の技術によって動作し、画像をストレッチおよび/またはシュリンクすることによって画像のサイズ変更を行う。サイズ変更エンジンからのRGB出力信号は、色比較ロジックへの入力信号として提供される。色比較ロジックは、RGB出力信号を、レジスタ対に格納された所定の範囲値と比較する。透過閾値を規定するレジスタ対を各色毎に別々に設けるのが好ましい。サイズ変更された色ピクセル値とレジスタ値との比較結果として、赤色値、緑色値および青色値のそれぞれについての範囲内信号(in range signals)が生成される。範囲内信号および選択信号に基づいて、透過イネーブル信号が多重ロジック(multiplex logic)によって生成される。透過イネーブル信号の代わりにまたは透過イネーブル信号に加えて、マスクピクセル信号が範囲内信号に基づいて生成され得る。透過イネーブル信号は、サイズ変更エンジンからのサイズ変更RGB値とともに、ピクセルデータフィールド内の透過ビットに直接与えられる。逆に、マスクピクセル信号は、ビットマスクレジスタに与えられ、そのピクセルにマスクをかけるかどうかを示す。
【0045】
本発明の好適な実施形態においては、色変換ロジックの出力は、サイズ変更エンジンおよび色比較ロジックに直接与えられる。色変換ロジックは、ビデオ(YUV)信号をグラフィックス(RGB)信号に変換する。その後、変換された出力は必要に応じてサイズ変更エンジンによってサイズ変更され、これにより、ビデオ画像に適切なサイズが提供されるとともに、画像がシュリンクされている場合にはフィルタリング処理が行われる。色比較ロジックは、ビデオ画像内のあらゆる所望のオブジェクトを分離する機能を有し、これにより、大量の追加処理を行わなくてもテクスチャマッピングあるいは他の透過ビットブロック転送に直ぐに使用できる画像が提供される。
【0046】
以下に示す本発明の詳細な説明を読むことによって、本発明の上記および他の利点が当業者に明らかになる。
【0047】
【発明の実施の形態】
添付の図面を参照しながら、好適な実施形態についての以下の詳細な説明を考慮することにより本発明がより良く理解される。
【0048】
図1および図2を参照して、本発明は、広義には、好ましくはメインスロープ技術(main slope technique)を用いてポリゴンを表示し得るパーソナルコンピュータ(PC)用のグラフィックスサブシステムに関する。図1に示すように、グラフィックスシステムは一般に、システムバス25に結合されるホストプロセッサ50と、メモリバス131を介してホストプロセッサに接続されるシステムメモリ75と、グラフィックスプロセッサ100と、フレームバッファ85と、ディスプレイ装置60とを有する。ホストプロセッサ50は、PCの中央処理装置を含み得る。システムメモリ75は、PCの作業メモリあるいはランダムアクセスメモリアレイを含み得る。
【0049】
ホストプロセッサ50は、好ましくはソフトウェアドライバを有する。ソフトウェアドライバは命令(あるいは「演算コード」)をグラフィックスプロセッサ100に提供することによって、行われるべきグラフィックス処理の種類を示す。グラフィックスプロセッサが、例えば、レンダリング処理を行うのか、読出し/書込みサイクルを開始するのか、特定のアドレスに分岐するのか、あるいは制御処理を行うのかが命令によって示される。表示処理の場合、この命令は、好ましくは、表示するプリミティブの種類も特定する。ソフトウェアドライバは、命令を生成するだけでなく、グラフィックスプロセッサ100が表示する表示オブジェクトを規定する表示パラメータも生成する。従って、ソフトウェアドライバは、例えば、点、ラインの端点、あるいはポリゴンの頂点座標の空間的な位置を特定し得る。ポリゴンの場合、好ましくは、ソフトウェアドライバがそのポリゴンのメインスロープおよび幅スロープ値(width slope value)も特定する。当業者には理解されるように、ソフトウェアドライバは、適用可能であれば、色強度(color intensity)の値およびスロープ、テクスチャの値およびスロープ、および他の様々なパラメータ値も特定する。従って、ソフトウェアドライバは、グラフィックスプロセッサ100によって表示されるオブジェクトの、メインスロープおよび直交スロープ、ピクセル位置の開始値および停止値、強度、デプスおよび透過値(transparency)を計算およびロードする。好ましくは、ソフトウェアドライバは、ハードドライブあるいはCD ROMドライブ装置(特に図示せず)等の永久磁気記憶装置からシステムメモリ75にロードされる。ロードされた後、ソフトウェアドライバは、当業者には周知の技術を用いてホストプロセッサ50によって実行される。
【0050】
図1および図2に示した特定の構成は、パーソナルコンピュータシステムにおいて使用されるグラフィックスサブシステムの多数の可能な実施例の1つに過ぎないことが理解されるべきである。当業者には理解されるように、本発明の原理から逸脱することなく代替的な構成を用いることが可能である。従って、例えば、システムメモリ75は、ホストプロセッサ50の外部に設けられるメモリ制御装置を介してシステムバス25に直接接続され得る。図1は、図を明瞭なものにするために簡略化されており、本発明を理解するために必要ではない多くの構成部材および制御信号が省略されている。好適な実施形態においては、グラフィックスプロセッサ100は、システムメモリ75あるいはホストプロセッサ50からデジタルデータを受け取り、そのデータを処理してピクセル値を規定する。ピクセル値は、フレームバッファ85内に格納され、最終的にはディスプレイ装置60上に表示される。
【0051】
好適な実施形態によれば、ホストプロセッサ50はパラメータ値および他の命令を表示リストの形態で提供する。表示リストは、典型的には、グラフィックスプロセッサ100によって要求されるまではシステムメモリ75内に格納されている。あるいは、ホストプロセッサ50は、表示リストを、公知の技術によってグラフィックスプロセッサ100に直接書き込み得る。好ましくは、ホストプロセッサ50およびシステムメモリ75の両者は、システムバス25を介してグラフィックスプロセッサ100と通信する。システムバス25は、ISA(industry standard architecture)、EISA(extended ISA)、PCI(peripheral component interconnect)、VESA(video electronic standard assosiation)ローカルバスあるいは他のいかなるコンピュータシステムの規格システムバスを含む複数の異なる種類の、ホストバスあるいは入力/出力(I/O)バスのいずれをも含み得る。好適な実施形態によれば、CPUローカルバス121は、図2に図示されるように、内部ホストプロセッサの構成部材を相互接続する。マイクロプロセッサ産業における最近の風潮に従って、ホストプロセッサの機能をホストプロセッサ50と一体化してもよい。グラフィックスプロセッサ100がホストプロセッサ50の一部として一体化された場合、システムバス25は実質的にはCPUローカルバス121の一部になる。
【0052】
好適な実施形態によれば、図2に最適に示されるように、バスブリッジ/メモリコントローラ127は、ローカルバス121と、メモリバス131と、システムバス25とに結合される。バスブリッジ127は、CPUローカルバス121およびシステムバス25間でのアドレス、データおよび制御信号の転送を調整する機能を有する。さらに、好ましくは、バスブリッジ127は、システムバス25あるいはローカルバス121からシステムメモリ75へのトランザクションを制御するメモリ制御装置としての機能を有する。バスブリッジは、メモリバス131を介してメモリ75に結合される。メモリトランザクションのタイミングおよびプロトコルは当業者には周知であり、詳細な説明は行わない。
【0053】
さらに図1および図2を参照して、グラフィックスプロセッサ100は、好ましくはシステムバス25に結合される。好適な実施形態によれば、図2に示されるように、グラフィックスプロセッサ100は、バスマスタ機能(bus mastering capabilities)をもつホストインターフェース装置110を有し、これにより、グラフィックスプロセッサ100がシステムバス25のマスタとなることができるのが好ましい。システムバス25のマスタになると、グラフィックスプロセッサ100は、システムメモリ75に対する読出しサイクルを開始して表示リストを読み出すことができ、ホストプロセッサ50がグラフィックスプロセッサ100に対して書込み処理を行うのを待たなくてもよい。好ましくは、グラフィックスプロセッサ100は、命令および描画パラメータが2Dおよび3D表示エンジンならびにBitBLTエンジンによって使用されるまでの間、その命令および描画パラメータを格納しておくためのトランザクションキュー115を有する。トランザクションキュー115はホストインターフェースバス(HIF)147に結合されており、これにより、ホストインターフェース装置110がフェッチしたデータおよび命令のラッチおよび一時的な格納を行う。好ましくは、2Dエンジン130、3Dエンジン135、サイズ変更エンジンおよび色比較ロジック125、ならびに他の周辺装置120は、HIFバス147に接続される。周辺装置には、テクスチャエンジンまたは他のBitBLTエンジン、エンハンスドビデオポート、VGAロジック、ディスプレイリフレッシュロジック、ホストダイレクトアクセスロジック、および、当業者には明らかな他の論理モジュールが含まれ得る。
【0054】
好適な実施形態において、2Dエンジン130は、譲受人のLAGUNA CL-GD546X VISUALMEDIA ACCELERATOR(R)において実施されている2Dエンジンに相当する。好ましくは、2Dグラフィックスエンジン130は、ビットブロック転送処理、ならびに、ライン描画、ポリゴン描画およびポリゴン塗りつぶし処理の実行を高速にする64ビット3オペランドエンジンを含む。2Dエンジン130は、RAMBUSの速度に合うように62.5 MHzのクロック速度で動作するのが好ましい。2Dエンジン130についてのさらに詳細な説明は、Technical Reference Manual for the Laguna Family VisualMedia Accelerators, Model # CL-GD546Xに記載されている。好適な実施形態において、3Dエンジン135は、好ましくは、3次元ポリゴンの表示を行い、テクスチャリング、シェーディングおよびZバッファリング能力を持つ。3Dエンジン135は、好ましくは、メインスロープ技術を用いてポリゴンを表示する。好ましくは、サイズ変更エンジンおよび色比較ロジック125は、サイズ変更処理の一部としての透過埋込みを可能にし、さらに、ビデオ信号(YUV)からグラフィックス信号(RGB)への変換をも可能にする。表示エンジン、BitBLTエンジン、および他の周辺装置は、RIFバス160を介してフレームバッファ85に結合される。
【0055】
図2に示されるように、フレームバッファ85は、好ましくは、RAMBUS DRAM(本明細書中においては、RDRAMと呼ぶ)のバンクを備えており、このRDRAM内に格納されるデジタルデータは、ピクセルあるいはピクセル値と呼ばれる絵素の矩形アレイを含む。RDRAMバッファ85は、表示リスト命令およびピクセルデータへのアクセスを、ホストコンピュータシステムのメインメモリ75内に格納されたデータへのアクセスよりも高速に行うことを可能にし、これによりパフォーマンスの向上をもたらす。好ましくは、RAMBUSインターフェース(RIF)140は、表示エンジン125、130および135、ならびに周辺装置120と、RDRAMフレームバッファ85との間のインターフェースをとる。好ましくは、RAMBUSインターフェース140は、1つ以上のRAMBUSアクセスチャネル(RAC)155に直接接続される。各RACは、最高毎秒528メガバイトのクロック速度でバーストデータを供給することができる。RAMBUSチャネルへのアクセスは、2Dエンジン130、3Dエンジン135および他の周辺装置を含む図2に示されるモジュールから要求される。RAMBUSアクセスチャネル155はRDRAM 85に接続され、RDRAM 85へ/からピクセルデータを転送する。
【0056】
図1に示されるように、グラフィックスコントローラ100は、ディスプレイ装置60にも接続される。ディスプレイ装置60は、デスクトップ、ワークステーション若しくはサーバ用の陰極線管(CRT)、液晶ディスプレイ(LCD)、薄膜トランジスタ(TFT)ディスプレイ、あるいは他のあらゆる適切なパーソナルコンピュータ用ディスプレイ装置等の適切な種類のいかなるディスプレイ装置であってもよい。グラフィックスプロセッサ100は、ディスプレイ装置60にピクセル値を与えて、グラフィックデータの表示をスクリーン単位で行う。
【0057】
次に図3および図4を参照しながら、一体型サイズ変更エンジンおよび色比較ロジック125の好適な実施形態を説明する。まず図3を参照すると、サイズ変更エンジン325が示されている。サイズ変更エンジンおよび色比較ロジックのサイズ変更エンジン部は、譲受人のLAGUNA CL-GD546X VISUALMEDIA ACCELERATOR(R)において実施されているサイズ変更エンジンに相当する。サイズ変更エンジンについての以下の説明は、サイズ変更エンジンの構成および動作の概説である。サイズ変更エンジンおよびその動作についてのさらに詳細な説明は、Technical Reference Manual for the LAGUNA CL-GD546Xに記載されている。
【0058】
さらに図3を参照して、好ましくは、サイズ変更エンジンは、第1のメモリ装置210、第2のメモリ装置220、X-デジタルデータアナライザ(DDA)235、Y-DDA 245、制御ロジックおよびレジスタ250、ならびに、出力メモリ装置260を有する。さらに、色変換ロジック225は、サイズ変更エンジン325の一部として設けられてもよいし、あるいは、サイズ変更ロジックの外部に配置されてもよい。好適な実施形態においては、第1および第2のメモリ装置210および220は、グラフィックスメモリ200に接続されるスタティックランダムアクセス回路(SRAM)を含む。グラフィックスメモリ200は、好ましくは、図1および図2に示すフレームバッファ85を含むが、システムメモリ75等の他のメモリ装置にアクセスしてピクセルデータを得ることも可能である。グラフィックスメモリ200はコントローラ回路(特に図示せず)を有する。このコントローラ回路は、サイズ変更すべきソースピクセルアレイのアドレスを特定するアドレス信号を制御ロジックおよびレジスタ250から受け取る。好ましくは、ロジックを簡略化するために、ソースアドレス値はピクセルからなる矩形ブロックを規定する。ソースピクセルアレイを規定するアドレス信号に応答して、グラフィックスメモリは、第1および第2のメモリ装置210および220にソースアレイピクセル値を出力する。好ましくは、第1および第2のメモリ装置210および220は、X-DDA 235およびY-DDA 245によって後で行われる処理のために、同一のピクセル情報を受け取る。従って、メモリ装置210および220には、ソースピクセルアレイのコピーが格納される。
【0059】
X-DDA 235およびY-DDA 245は、メモリ装置210および220からのソースピクセル値を読み出すだけでなく、 制御ロジックおよびレジスタ250から制御信号およびアドレス信号を受け取る。DDA装置235および245が受け取る制御信号の一部には、シュリンク処理あるいはストレッチ処理を行うかどうかを示す信号(X SHRINKおよびY SHRINK)、xおよびyピクセルデスティネーションアドレス、ならびにシュリンク(あるいはストレッチ)ファクタ信号(X FACTORおよびY FACTOR)が含まれる。当業者には明らかなように、DDA装置235および245には他の信号も提供され得る。DDA装置235および245は、信号およびピクセルデータに応答して、制御信号に応じて画像をシュリンクまたはストレッチすることによりソースピクセル値を変更する。さらに、ある特定の技術を用いてストレッチあるいはシュリンク処理を行うようにDDA装置235および245に命令することも可能である。従って、DDA装置235および245は、例えば、平均化あるいはデシメーションのいずれかによってシュリンク処理を行うように制御ロジックおよびレジスタ250から命令され得る。制御ロジックおよびレジスタ250からの制御信号をそれぞれ独立して求めることにより、一方向でシュリンク処理を行い他方向でストレッチ処理を行うこと、あるいは、x方向およびy方向で異なるサイズ変更ファクタを用いることが可能になる。好ましくは、X-DDA 235が、ある走査ライン内のピクセルに対して補間あるいは平均化(あるいは他のサイズ変更処理)を行うことによって、x方向でのストレッチあるいはシュリンク処理が行われる。好ましくは、Y-DDA 245がy方向のサイズ変更処理を行う。
【0060】
サイズ変更されたx値およびy値は、xおよびyアドレス値に基づいてデスティネーションアレイに書き込まれる前に、一時メモリ記憶装置260に与えられる。好ましくは、メモリ装置260はFIFOレジスタを含む。図3に示されるように、サイズ変更されたピクセル値は、次のサイズ変更処理のためのソース値としても提供され得る。
【0061】
好ましくは、制御ロジックおよびレジスタ250は、xおよびyソースアドレス値、xおよびyデスティネーションアドレス値、シュリンク/ストレッチ制御信号およびシュリンク/ストレッチファクタ等の制御信号の状態を示す複数のレジスタを含む。さらに、ピクセルフォーマットを規定するため、サイズ変更エンジンがサイズ変更BitBLTを行うかどうかを示すため、および、どのようにサイズ変更を決定するのかを示すために、レジスタを設けてもよい。従って、例えば図6Aに示されるように、特定の制御パラメータを規定するために、16ビットライン制御(LNCNTL)レジスタを制御ロジックおよびレジスタ250に設けてもよい。サイズ変更エンジンの所望される処理に依存して、必要に応じてLNCNTLレジスタの構成を改変してビット位置あるいはコード化される情報を変更することができる。好ましくは、LNCNTLレジスタは、図6Aに示されるように、X-およびY-DDA装置において補間を行うかどうかを規定する2つのビット(ビット0およびビット1)を有する。シュリンクあるいはサイズ変更処理を行うかどうかを示すためにも、やはり2つのビット(ビット2およびビット3)が用いられる。LNCNTLのビット4、5および6は、好ましくは、ピクセルフォーマットを決定する。ビット4、5および6によってコード化される可能なフォーマットには、1:5:5:5フォーマット(1は透過ビットを表し、5は圧縮された赤色値、緑色値および青色値を表す)の16ビット/ピクセル(bpp)幅、YUVフォーマット、32bppフォーマット、および24bppフォーマットが含まれる。また、LNCNTLレジスタのビット8は、サイズ変更BitBLTを行うかどうかを特定し、従って、サイズ変更エンジンをイネーブルするかどうかを特定する。これ以外のビット値は本発明とは無関係なビットであるか、または、これらのビット値には将来的な拡張用のビットが含まれている。
【0062】
好ましくは、サイズ変更BitBLT処理用のXY範囲(デスティネーションピクセルアレイのサイズ)を規定するレジスタ、サイズ変更BitBLT処理のためにソース色ピクセルデータの位置を特定するサイズ変更レジスタ、および、シュリンクあるいはインクリメントファクタを特定するシュリンク/インクリメントレジスタを含む他のレジスタが、制御ロジック250に設けられる。サイズ変更エンジンによって行われる処理に応じて、この他のレジスタが設けられてもよい。
【0063】
さらに、図6Bに示されるような描画設定レジスタ(draw definition register)DRAWDEFが、制御ロジック250内に設けられ得る。図6Bに示す好適な実施形態において、DRAWDEFレジスタは、透過BitBLT処理に関するビット8、9および10を有する。DRAWDEFレジスタのビット8は透過がイネーブルされるかどうかを特定し、ビット9は、色比較処理において色比較ロジックが範囲内値あるいは範囲外値を期待する(looks for)かどうかを規定する。DRAWDEFのビット10は、ピクセルデータがビデオフォーマットであるのかあるいはグラフィックスフォーマットであるのかを特定する。多重ロジック用のSELECT信号およびマスクロジック用のENABLE信号等の色比較ロジックの制御値を規定するために、他のレジスタが制御ロジックおよびレジスタ250内に設けられてもよい。
【0064】
次に図4を参照して、サイズ変更エンジンおよび色比較ロジック125の色比較ロジック部425を説明する。色比較ロジック425は、好ましくは、サイズ変更エンジン325に結合され、ピクセル色パラメータを示す赤、緑および青(RGB)出力値を受け取る。図4に示されるように、色比較ロジック425は、好ましくは、1組のレジスタ331、333、341、343、351および353と、これらに関連付けられたコンパレータ334、336、344、346、354および356と、範囲ロジック装置335、345および355と、マスクロジック360と、多重ロジック370と、マスクレジスタ375と、ピクセルデータフィールドレジスタ400とを有する。
【0065】
好ましくは、これらのレジスタは、赤、緑および青の各原色について上限および下限閾値を規定するレジスタ対に分けられる。従って、レジスタ331は、赤色の下限閾値を規定し、レジスタ333は赤の上限閾値を規定する。レジスタ341および343は、緑色の下限閾値および上限閾値をそれぞれ規定する。同様に、レジスタ351および353は、青色の下限閾値および上限閾値をそれぞれ規定する。好適な実施形態によれば、レジスタ331、333、341、343、351および353には、色を示す8ビットのデジタル値がそれぞれロードされる。これらの色値は、好ましくはHIFバスを介して、特定のレジスタへのロードアクセス中にそのレジスタにロードされる。ロードされると、これらのレジスタは色比較ロジック425の閾値パラメータ範囲を規定する。3つのレジスタ対のそれぞれを各色毎に使用することにより、色比較ロジックは、単一の色値あるいは複数の色値に基づいてピクセルにマスクをかけることができる。
【0066】
さらに図4を参照して、コンパレータ334、336、344、346、354および356も、好ましくは、赤、緑および青の各原色用の上限および下限コンパレータを規定するコンパレータ対に分けられる。従って、例えば、コンパレータ334および336はサイズ変更エンジン325(図3)から赤ピクセル値出力を受け取り、好ましくは、赤色用の下限および上限コンパレータとして機能する。コンパレータ334は下限赤色値レジスタ331に結合され、その下限赤色値レジスタ331の値を、サイズ変更エンジンからの赤ピクセル値と比較する。赤ピクセル値の方がレジスタ331に格納された値よりも大きい場合、コンパレータ334は、GT出力ラインに論理「1」出力信号を生成する。好適な実施形態においては、コンパレータ334は、赤ピクセル値がレジスタ331の値に等しい場合、EQ出力ラインに論理「1」出力信号を生成する。好ましくは、コンパレータ336は、サイズ変更エンジンからの赤ピクセル値が上限レジスタ333に格納された値未満である場合にはLT出力ラインに論理「1」出力信号を与え、また、2つの値が互いに等しい場合にはEQ出力ラインに論理「1」出力信号を与える。
【0067】
同様に、コンパレータ344および346は、好ましくは、サイズ変更エンジンからの緑ピクセル値を、それぞれ、レジスタ341および343の値と比較し、この比較に基づいて出力信号を生成する。緑ピクセル値がレジスタ341の下限値よりも大きい場合、コンパレータ344はGT出力ラインに論理「1」出力信号を生成する。2つの値が互いに等しい場合、コンパレータ344はEQ出力ラインに論理「1」値を生成する。コンパレータ346は、好ましくは、サイズ変更エンジンからの緑ピクセル値が上限レジスタ343に格納された値未満である場合にはLT出力ラインに論理「1」を生成し、2つの値が互いに等しい場合にはEQ出力ラインに論理「1」を生成する。
【0068】
コンパレータ354および356は、好ましくは、青色用の上限および下限コンパレータを規定する。コンパレータ354は、レジスタ351の青色用の下限値を、サイズ変更エンジンからの青ピクセル値と比較し、青ピクセル値がレジスタ値よりも大きい場合にはGT出力ラインに論理「1」信号を生成し、青ピクセル値がレジスタ351の値に等しい場合にはEQ出力ラインに論理「1」信号を生成する。コンパレータ356は、青ピクセル値がレジスタ353の値未満である場合にはLT出力ラインに論理「1」信号を生成し、レジスタ353の値がサイズ変更エンジンからの青ピクセル値に等しい場合にはEQ出力ラインに論理「1」信号を生成する。
【0069】
好ましくは、赤範囲ロジック335は、ピクセル値が「範囲内」にあるかどうかを決定するパラメータを特定するRANGE制御信号を受け取る。好適な実施形態においては、図5に示されるように、範囲ロジック335は、レジスタ333および331によって規定される上下閾値範囲内のピクセル値を検索する。但し、RANGE制御信号は、範囲ロジックに命令して、コンパレータ334および336からの出力信号を調べさせ、例えば、等しい値も考慮させ得る。RANGE制御信号は、範囲ロジック335に対して、色ピクセル値がレジスタ331および333によって形成される範囲外となる場合にIN RANGE出力をアサートするようにさえ命令し得る。本実施形態例においては、RANGE値は、図6BのDRAWDEFレジスタ内にコード化されて、図3の制御ロジックおよびレジスタ250内に格納され得る。範囲ロジックを規定する他の様々な代替例が当業者には明らかである。1つの代替例として、範囲パラメータに所定の条件を設けて、これにより、RANGE制御信号の必要をなくすことも可能である。
【0070】
次に図4および図5を参照して、コンパレータ334および336からの出力信号が範囲制御パラメータを満たす場合、赤範囲ロジック335は、サイズ変更エンジンからの赤ピクセル値がレジスタ331および333によって特定される範囲内にあることを示す出力信号(RED IN RANGE)を生成する。従って、例えば図5に示されるように、赤範囲ロジック335は、図5においてピクセル値が上下閾値の間にある各点について、赤ピクセル値が範囲内にあることを示す論理「1」出力信号を生成する。同様に、緑範囲ロジック345および青範囲ロジック355は、サイズ変更エンジン出力によって提供されるピクセル値と所定のレジスタ値との比較に基づいて、GREEN IN RANGE出力信号およびBLUE IN RANGE出力信号をそれぞれ生成する。
【0071】
再び図4を参照して、好ましくは、IN RANGE値は多重ロジック370およびマスクロジック360の両方に提供される。好適な実施形態においては、多重ロジック370は、特定の選択された入力IN RANGE値に基づいて出力を生成するように、SELECT信号によってプログラム可能である。好ましくは、SELECT信号は図3の制御ロジックおよびレジスタ250によって生成されるが、当業者には理解されるように、他の論理装置を用いてSELECT信号を生成することも可能である。SELECT信号は、例えば、RED IN RANGE値が多重ロジックの出力として提供されることを示し得る。あるいは、SELECT信号は、3つの全てのIN RANGE値をAND処理によって組み合わせて多重出力信号を生成することを要求し得る。また別の代替例として、3つのIN RANGE値をOR処理によって組み合わせて多重ロジック出力信号を生成することも可能である。当業者には明らかであるように、この他の様々なIN RANGE値の組み合わせを用いても、多重ロジック出力370が規定され得る。プログラム可能多重ロジック370の代替例として、AND若しくはORゲート、あるいは他の公知の論理ゲート等の固定ハードワイヤゲート(fixed hardwire gate)を用いることも可能である。好適な実施形態においては、多重ロジック370の出力は、透過イネーブル(TE)信号を規定する。透過イネーブル信号は、ピクセルデータレジスタ400内の透過イネーブルビット(T)に与えられる。ピクセルデータフィールド内の他の値(R、G、およびB)は、好ましくは、サイズ変更エンジンからの出力信号によって規定される。
【0072】
透過イネーブル信号の代わりにまたは透過イネーブル信号に加えて、マスクロジック360への入力信号としてIN RANGE値が提供される。好ましくは、マスクロジック360は、マスクロジック360をイネーブルするかどうかを示すイネーブル信号を受け取る。好適な実施形態においては、マスクロジックもまた、SELECT信号あるいは他のプログラム可能信号の値に基づいてプログラム可能である。マスクロジックは、ビットマスクレジスタ375内の適切なアドレスに書き込まれるMASK PIXEL出力信号を生成する。MASK PIXEL出力信号は、どのビットをフレームバッファに書き込むのかを決定する。所望される場合、ANDゲート380によって、MASK PIXEL出力信号を透過イネーブル(TE)出力信号と組み合わせることが可能である。
【0073】
次に、図3および図4を参照しながら本発明の動作を説明する。特定のグラフィックスアプリケーションにおいては、画像をサイズ変更して、サイズ変更された画像の一部分をデスティネーションピクセルアレイにコピーすることが所望される場合がある。サイズ変更エンジンおよび色比較ロジックは、このような処理を高速且つ効率的に行うことを可能にするとともに、サイズ変更された画像を以降の処理に用いることを可能にする。好適な実施形態において、制御ロジック325はHIFバス上のグラフィックス信号を受け取り、これにより、ソースアドレス信号、デスティネーションアドレス信号、ならびにサイズ変更処理および透過処理を規定する様々な制御信号がレジスタにロードされる。ソースピクセルアレイは、サイズ変更すべきオブジェクト(および、矩形画像を規定するのに必要な任意の関連バックグラウンド)を特定する。デスティネーションピクセルアレイは、変更ソース画像を格納するフレームバッファ内の位置を特定する。サイズ変更処理は、制御信号によって、ストレッチ(拡大処理)、シュリンク(縮小処理)、あるいはストレッチ/シュリンク混合処理(一方向にはストレッチを行い、他方向にはシュリンクを行う混合処理)として定義される。さらに、シュリンクあるいはストレッチの種類ならびにシュリンクあるいはストレッチファクタが規定され得る。あるいは、シュリンク/ストレッチファクタは、ソースアドレス値およびデスティネーションアドレス値に基づいて算出することも可能である。アドレス値および制御信号に基づいて、サイズ変更処理を行い、これにより、サイズ変更されたRGB出力信号を生成する。本発明は、好ましくは、ビデオデータを受け取り、このビデオデータに対して、サイズ決定(sizing)、フィルタリング、および変換処理を1回の処理で行うことができる。好ましくは、ビデオデータをまずRGB値に変換した後、このビデオデータに対してサイズ変更および(シュリンク処理によって)フィルタリングを行うことにより、そのビデオ信号を表すサイズ変更されたRGB信号を得る。
【0074】
画像がサイズ変更された後、好ましくは、その画像がフレームバッファ内のデスティネーションピクセルアレイに書き込まれる前に、色比較ロジック425は、どのピクセルを書込み、どのピクセルを透過にするのかを決定し、その後、サイズ変更された画像内の各ピクセルについて、ピクセルフィールドの一部として透過イネーブルビットを埋め込む。好ましくは、各色の上限および下限レジスタに閾値をロードして、特定の色あるいは特定の色の組み合わせを透過にすることができるようにする。これにより、規定された範囲あるいは範囲の組み合わせの中にある色を、その色範囲内の全ピクセルに透過イネーブルビットを設定することによって透明にすることができる。あるいは、特定の色を色比較に基づいて書き込むことも可能である。さらに別の可能な例として、色比較の結果に基づいて、特定のピクセルにマスクをかけることも可能である。
【0075】
各ピクセルについて透過イネーブルビット値が決定された後、そのピクセル値はフレームバッファ内のデスティネーションピクセルアレイ内に格納される。これにより、サイズ変更および透過イネーブルされたピクセル値に対して、テクスチャマッピング等を含むさらなる処理を行うことが可能になる。従って、1回の処理によって、グラフィックス画像あるいはビデオ画像をサイズ変更して、これを異なるグラフィックスバックグラウンド上に重ねることができる。例えば、転写画(decal)をサイズ変更および透過ビットイネーブルすれば、サイズ変更された転写画をデスティネーションアレイ内の別のバックグラウンド上に重ねることができる。サイズ変更された転写画を用いて、3Dアニメーションアプリケーションにおいて効率的な転写画テクスチャリングを行うことも可能である。サイズ変更(ひいては、画像のフィルタリング)を行えば、より少ないメモリでテクスチャーマッピングを行うことができる。さらに、透過イネーブルビットの埋込みにより、画像を高速に移動して次のデスティネーションに重ねることができるようになる。
【0076】
RGBグラフィックスデータのサイズ変更BitBLT処理の一部として透過イネーブルビットを埋め込むことが可能なだけでなく、本発明は、YUVビデオデータに対してもこれと同じ処理を行うことができる。従って、本発明には、YUVビデオデータに対するビデオストレッチおよび透過処理を、1回のビットブロック転送処理で行う能力がある。好適な実施形態においては、図3に示されるように、YUVビデオデータをRGBデータに変換する。図3および図4に示す回路を用いれば、変換されたYUVビデオデータはサイズ変更エンジンに与えられ、ここでサイズ変更される。その後、サイズ変更された信号に対して、他のグラフィックスデータと同様に透過埋込み処理を行うことが可能である。
【0077】
本発明を用いれば、ストレッチエンジンによってスケーリングされる「スプライト(sprites)」の透過オーバーレイを用いることができるようになる。従って、本発明によれば、ホストプロセッサ上で動くソフトウェアによってスケーリングを行う必要はなく、グラフィックスプロセッサにおける1回の処理によってスプライトをスケーリングして重ねることができる。結果的に、ホストプロセッサの使用が最低限に抑えられ、スプライトの生成がより効率的に行われる。
【0078】
本発明によれば、詳細さのレベル(levels of detail, LOD)を生成して、これをテクスチャー「Mip」マッピングに用いることが可能になる。Mipマップは、同一のオブジェクトの画像を異なるサイズで表すために用いられ、典型的には、これを切り替えることによって3Dアニメーション内のあるオブジェクトまでのさまざまな距離を表す。本発明によれば、転写画テクスチャ処理を行うための透過ビットを含むLODを生成することが可能になる。
【0079】
本発明のまた別の局面は、2Dロジックを用いて「2-1/2」次元グラフィックスを提供することである。UFOあるいは宇宙船等のオブジェクトについて複数の視点(viewing angle)を形成するために、透過がしばしば用いられる。オブジェクトの各視点を透過ビットイネーブルし、これを用いて透過BitBLT処理を行うことにより、視点を切り替えてアニメーションを表示する。本発明によれば、異なる視点を、1回の処理によって、透過オーバーレイの一部としてスケーリングし、これにより、回転あるいは旋回しているオブジェクトまでの距離を変化させて示すことが可能になる。オブジェクトのスケーリングおよび透過重ね(transparency overlaid)を1回の処理によって行えることによって、2Dグラフィックスシステムの性能が向上するとともに3D効果がもたらされる。
【0080】
本発明は、当業者には明らかな他の多数のグラフィック操作を可能にする。上記の開示内容が完全に理解されれば、多数の変形例および改変例が当業者に明らかになる。このような変形例および改変例を全て含むように以下のクレームが解釈されることが意図されている。
【0081】
【発明の効果】
本発明によれば、サイズ変更ビットブロック転送と透過ビットブロック転送とをある一つの処理において行うことのできるシステム、装置、および方法を提供することができる。
【図面の簡単な説明】
【図1】コンピュータシステムにおいてシステムバスを介してホストプロセッサに接続された、本発明の原理によるグラフィックスプロセッサを示す簡略ブロック図である。
【図2】図1のグラフィックスプロセッサおよびホストプロセッサをより詳細に示すブロック図である。
【図3】図2に示されるサイズ変更エンジンをより詳細に示すブロック図である。
【図4】図2に示される色比較ロジックの好適な実施形態をより詳細に示すブロック図である。
【図5】色比較処理を示すグラフである。
【図6A】サイズ変更および透過BitBLT処理を特定する状態ビットを有する制御レジスタの例を示す図である。
【図6B】サイズ変更および透過BitBLT処理を特定する状態ビットを有する制御レジスタの例を示す図である。
【符号の説明】
50 ホストプロセッサ
60 ディスプレイ
75 システムメモリ
85 フレームバッファ
100 グラフィックスプロセッサ
105 CPU
120 周辺ロジック
125 サイズ変更エンジンおよび色比較ロジック
200 グラフィックスメモリ

Claims (27)

  1. プリミティブを規定するパラメータ値の表示リストを生成するホストプロセッサと、
    該パラメータ値の表示リストを格納するシステムメモリと、
    該ホストプロセッサおよび該システムメモリにシステムバスを介して結合されるグラフィックスプロセッサと、
    を備えるグラフィックスサブシステムであって、
    該グラフィックスプロセッサは、ソースピクセルアレイに対するサイズ変更および透過イネーブル処理(transparency enabling)を1回の処理によって行うことができるサイズ変更エンジンおよび色比較ロジックを有
    該サイズ変更は、該ソースピクセルアレイで特定されるオブジェクトについての拡大処理、縮小処理、あるいは、一方向には拡大を行い、他方向には縮小を行う混合処理であ
    該サイズ変更エンジンおよび色比較ロジックは、
    サイズ変更された色ピクセル値を生成するサイズ変更エンジンと、
    該サイズ変更された色ピクセル値を該色ピクセル値のそれぞれに対する所定閾値と比較する色比較ロジックと、
    を有し、
    該グラフィックスプロセッサは、該色比較ロジックによる該サイズ変更された色ピクセル値と該所定閾値との比較結果に基づいて、サイズ変更された該ソースピクセルアレイにおいて、該サイズ変更された色ピクセル値を有するピクセルに対して透過イネーブル処理を行う、ピクセル値を生成するグラフィックスサブシステム。
  2. サイズ変更および透過イネーブル処理が行われた前記ソースピクセルアレイはデスティネーションアレイに書き込まれる、請求項1に記載のグラフィックスサブシステム。
  3. 前記デスティネーションピクセルアレイの中の各ピクセルは透過イネーブルビットを有する、請求項2に記載のグラフィックスサブシステム。
  4. 前記デスティネーションピクセルアレイの中の各ピクセルはサイズ変更された赤、緑および青ピクセル値を有する、請求項3に記載のグラフィックスサブシステム。
  5. 前記サイズ変更エンジンおよび色比較ロジックは、
    色値が格納されたレジスタと、
    該レジスタ内の値を前記サイズ変更された色ピクセル値の1つ以上と比較して比較出力信号を生成するコンパレータと、
    を有する、請求項4に記載のグラフィックスサブシステム。
  6. 前記透過イネーブルビットの状態は前記比較出力信号に依存する、請求項5に記載のグラフィックスサブシステム。
  7. 前記サイズ変更された色ピクセル値は、赤ピクセル値と、緑ピクセル値と、青ピクセル値とを含み、前記色比較ロジックは、
    赤色の範囲を規定する第1のレジスタ対と、
    緑色の範囲を規定する第2のレジスタ対と、
    青色の範囲を規定する第3のレジスタ対と、
    を有する、請求項に記載のグラフィックスサブシステム。
  8. 前記色比較ロジックは、
    前記赤色の範囲を前記赤ピクセル値と比較する第1のコンパレータセットと、
    前記緑色の範囲を前記緑ピクセル値と比較する第2のコンパレータセットと、
    前記青色の範囲を前記青ピクセル値と比較する第3のコンパレータセットと、
    をさらに有し、
    該コンパレータセットのそれぞれは、該ピクセル値が前記レジスタ対によって規定される範囲内にあるかどうかを示す出力信号を生成する、請求項に記載のグラフィックスサブシステム。
  9. 前記色比較ロジックが、
    前記コンパレータセットのそれぞれから前記出力信号を受け取り、これに応答して、前記透過イネーブルビットを規定する透過イネーブル出力信号を生成する多重ロジック、
    をさらに有する、請求項に記載のグラフィックスサブシステム。
  10. 前記多重ロジックは、前記透過イネーブル出力信号を生成するために用いる前記コンパレータ出力信号を選択する入力信号を受け取る、請求項に記載のグラフィックスサブシステム。
  11. 前記色比較ロジックは、
    前記コンパレータセットのそれぞれから前記出力信号を受け取り、これに応答して、前記サイズ変更されたピクセルのためのマスク出力信号を生成するマスクロジック、
    をさらに有する、請求項に記載のグラフィックスサブシステム。
  12. 前記サイズ変更エンジンおよび色比較ロジックは、サイズ変更を行うためにビデオ信号をグラフィックス信号に変換する色変換回路を有する、請求項1に記載のグラフィックスサブシステム。
  13. システムバスに結合するインターフェース装置と、
    画像を生成するグラフィックスエンジンと、
    該グラフィックスエンジンに結合され、該画像を格納するフレームバッファと、
    該画像をサイズ変更し、該サイズ変更され透過イネーブルビットが埋め込まれた画像をデスティネーションピクセルアレイとして該フレームバッファ内に格納する前に、該サイズ変更された画像に透過イネーブルビットを埋め込むサイズ変更エンジンおよび色比較ロジックと、
    を備え、
    該サイズ変更は、該画像についての拡大処理、縮小処理、あるいは、一方向には拡大を行い、他方向には縮小を行う混合処理であ
    該サイズ変更エンジンおよび色比較ロジックは、前記画像をサイズ変更するサイズ変更エンジンと、該サイズ変更された画像に透過イネーブルビットを埋め込む色比較ロジックとを有し、
    該色比較ロジックは、該サイズ変更された画像内の各ピクセルを用いた色比較の結果に基づいて、該サイズ変更された画像に透過イネーブルビットを埋め込む、高速グラフィックス処理を提供できるグラフィックスアクセラレータ。
  14. 前記サイズ変更エンジンおよび色比較ロジックは、サイズ変更ビットブロック転送と透過ビットブロック転送とを1回の処理によって行うことができる、請求項13に記載のグラフィックスアクセラレータ。
  15. 前記サイズ変更された画像は、赤ピクセル値、緑ピクセル値、および青ピクセル値を含む色ピクセル値を有するピクセルフィールドを備え、前記色比較ロジックは、
    赤色の範囲を規定する第1のレジスタ対と、
    緑色の範囲を規定する第2のレジスタ対と、
    青色の範囲を規定する第3のレジスタ対と、
    を有する、請求項13に記載のグラフィックスアクセラレータ。
  16. 前記色比較ロジックは、
    前記赤色の範囲を前記赤ピクセル値と比較する第1のコンパレータセットと、
    前記緑色の範囲を前記緑ピクセル値と比較する第2のコンパレータセットと、
    前記青色の範囲を前記青ピクセル値と比較する第3のコンパレータセットと、
    をさらに有し、
    該コンパレータセットのそれぞれは、該ピクセル値が前記レジスタ対によって規定される範囲内にあるかどうかを示す出力信号を生成する、請求項15に記載のグラフィックスアクセラレータ。
  17. 前記色比較ロジックは、
    前記コンパレータセットのそれぞれから前記出力信号を受け取り、これに応答して、前記透過イネーブルビットを規定する透過イネーブル出力信号を生成する多重ロジック、
    をさらに有する、請求項16に記載のグラフィックスアクセラレータ。
  18. 前記多重ロジックは、前記透過イネーブル出力信号を生成するために用いる前記コンパレータ出力信号を選択する入力信号を受け取る、請求項17に記載のグラフィックスアクセラレータ。
  19. 前記色比較ロジックは、前記コンパレータセットのそれぞれから前記出力信号を受け取り、これに応答して、前記サイズ変更されたピクセルのためのマスク出力信号を生成するマスクロジックをさらに有する、請求項18に記載のグラフィックスアクセラレータ。
  20. 前記サイズ変更エンジンおよび色比較ロジックは、サイズ変更を行うためにビデオ信号をグラフィックス信号に変換する色変換回路を有する、請求項13に記載のグラフィックスアクセラレータ。
  21. 前記デスティネーションピクセルアレイに対してテクスチャマッピングを行うテクスチャエンジンをさらに備えた、請求項13に記載のグラフィックスアクセラレータ。
  22. システムバスに結合するインターフェース装置と、
    画像を生成するグラフィックスエンジンと、
    該グラフィックスエンジンに結合され、該画像を格納するフレームバッファと、
    該画像をサイズ変更し、該サイズ変更された画像をデスティネーションピクセルアレイとして該フレームバッファ内に格納する前に、該サイズ変更された画像の一部にマスクをかけるサイズ変更エンジンおよびマスクロジックと、を備え、
    該サイズ変更は、該画像についての拡大処理、縮小処理、あるいは、一方向には拡大を行い、他方向には縮小を行う混合処理であり
    色比較に基づいてピクセルにマスクがかけられる、高速グラフィックス処理を提供できるグラフィックスアクセラレータ。
  23. 前記サイズ変更エンジンおよびマスクロジックは、前記デスティネーションアレイ内の各ピクセルについて透過イネーブルビットの埋込みを行うことがさらにできる、請求項22に記載のグラフィックスアクセラレータ。
  24. パターン比較に基づいてピクセルにマスクがかけられる、請求項23に記載のグラフィックスアクセラレータ。
  25. メモリからソースピクセルアレイを取り出すステップと、
    該ソースピクセルアレイをサイズ変更してサイズ変更された色ピクセル値を得るステップと、
    少なくとも1つの色閾値範囲を定めるステップと、
    該サイズ変更された色ピクセル値を該色閾値範囲と比較するステップと、
    該色閾値範囲内にあるサイズ変更された色ピクセル値のそれぞれについて透過イネーブルビットの埋込みを行うステップと、
    を包含すると共に、
    該サイズ変更は、該ソースピクセルアレイで特定されるオブジェクトについての拡大処理、縮小処理、あるいは、一方向には拡大を行い、他方向には縮小を行う混合処理である、ある単一処理の一部としてサイズ変更ビットブロック転送と透過ビットブロック転送とを行う方法。
  26. 各色ピクセル値について異なる色閾値範囲が設けられる、請求項25に記載の方法。
  27. 前記サイズ変更された色ピクセル値と前記透過イネーブルビットとを含むデスティネーションピクセル値を生成するステップをさらに包含する、請求項25に記載の方法。
JP17466097A 1996-06-28 1997-06-30 サイズ変更ビットブロック転送処理の一部として透過イネーブルビットの埋込みを行うシステム、装置および方法 Expired - Lifetime JP4234217B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US67264296A 1996-06-28 1996-06-28
US08/672,642 1996-06-28

Publications (2)

Publication Number Publication Date
JPH1091142A JPH1091142A (ja) 1998-04-10
JP4234217B2 true JP4234217B2 (ja) 2009-03-04

Family

ID=24699403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17466097A Expired - Lifetime JP4234217B2 (ja) 1996-06-28 1997-06-30 サイズ変更ビットブロック転送処理の一部として透過イネーブルビットの埋込みを行うシステム、装置および方法

Country Status (4)

Country Link
US (1) US5909219A (ja)
EP (1) EP0817119A3 (ja)
JP (1) JP4234217B2 (ja)
TW (1) TW348239B (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6445386B1 (en) * 1999-01-15 2002-09-03 Intel Corporation Method and apparatus for stretch blitting using a 3D pipeline
US6778187B1 (en) * 1999-12-27 2004-08-17 Oak Technology, Inc. Methods and devices to process graphics and/or video data
JP2001195230A (ja) * 2000-01-14 2001-07-19 Mitsubishi Electric Corp 描画処理システム、及び描画演算を行う半導体集積回路
US7012616B1 (en) * 2000-03-31 2006-03-14 Microsoft Corporation Display of images with transparent pixels
US7119813B1 (en) * 2000-06-02 2006-10-10 Nintendo Co., Ltd. Variable bit field encoding
CA2328795A1 (en) 2000-12-19 2002-06-19 Advanced Numerical Methods Ltd. Applications and performance enhancements for detail-in-context viewing technology
US8416266B2 (en) 2001-05-03 2013-04-09 Noregin Assetts N.V., L.L.C. Interacting with detail-in-context presentations
CA2345803A1 (en) * 2001-05-03 2002-11-03 Idelix Software Inc. User interface elements for pliable display technology implementations
US9760235B2 (en) 2001-06-12 2017-09-12 Callahan Cellular L.L.C. Lens-defined adjustment of displays
WO2002101534A1 (en) 2001-06-12 2002-12-19 Idelix Software Inc. Graphical user interface with zoom for detail-in-context presentations
US7084886B2 (en) 2002-07-16 2006-08-01 Idelix Software Inc. Using detail-in-context lenses for accurate digital image cropping and measurement
CA2361341A1 (en) * 2001-11-07 2003-05-07 Idelix Software Inc. Use of detail-in-context presentation on stereoscopically paired images
CA2370752A1 (en) * 2002-02-05 2003-08-05 Idelix Software Inc. Fast rendering of pyramid lens distorted raster images
US6847385B1 (en) * 2002-06-01 2005-01-25 Silicon Motion, Inc. Method and apparatus for hardware rotation
US8120624B2 (en) 2002-07-16 2012-02-21 Noregin Assets N.V. L.L.C. Detail-in-context lenses for digital image cropping, measurement and online maps
CA2393887A1 (en) 2002-07-17 2004-01-17 Idelix Software Inc. Enhancements to user interface for detail-in-context data presentation
US7360007B2 (en) * 2002-08-30 2008-04-15 Intel Corporation System including a segmentable, shared bus
CA2406131A1 (en) 2002-09-30 2004-03-30 Idelix Software Inc. A graphical user interface using detail-in-context folding
CA2449888A1 (en) * 2003-11-17 2005-05-17 Idelix Software Inc. Navigating large images using detail-in-context fisheye rendering techniques
US20070097109A1 (en) * 2005-10-18 2007-05-03 Idelix Software Inc. Method and system for generating detail-in-context presentations in client/server systems
US6943804B2 (en) * 2002-10-30 2005-09-13 Hewlett-Packard Development Company, L.P. System and method for performing BLTs
CA2411898A1 (en) 2002-11-15 2004-05-15 Idelix Software Inc. A method and system for controlling access to detail-in-context presentations
JP4521747B2 (ja) * 2002-12-13 2010-08-11 シャープ株式会社 物体情報処理装置、画像処理システム、ゲーム装置および画像処理方法
US7486302B2 (en) 2004-04-14 2009-02-03 Noregin Assets N.V., L.L.C. Fisheye lens graphical user interfaces
US8106927B2 (en) 2004-05-28 2012-01-31 Noregin Assets N.V., L.L.C. Graphical user interfaces and occlusion prevention for fisheye lenses with line segment foci
US9317945B2 (en) 2004-06-23 2016-04-19 Callahan Cellular L.L.C. Detail-in-context lenses for navigation
US20060017743A1 (en) * 2004-07-23 2006-01-26 Chan Victor G Display intensity filter
JP4140575B2 (ja) * 2004-07-30 2008-08-27 ソニー株式会社 画像変形装置,画像変形回路及び画像変形方法
US7714859B2 (en) 2004-09-03 2010-05-11 Shoemaker Garth B D Occlusion reduction and magnification for multidimensional data presentations
US7995078B2 (en) 2004-09-29 2011-08-09 Noregin Assets, N.V., L.L.C. Compound lenses for multi-source data presentation
US20060119602A1 (en) * 2004-12-07 2006-06-08 Fisher Andrew J Address based graphics protocol
US7580036B2 (en) * 2005-04-13 2009-08-25 Catherine Montagnese Detail-in-context terrain displacement algorithm with optimizations
JP4462132B2 (ja) * 2005-07-04 2010-05-12 ソニー株式会社 画像特殊効果装置,グラフィックスプロセッサ,プログラム
US8031206B2 (en) 2005-10-12 2011-10-04 Noregin Assets N.V., L.L.C. Method and system for generating pyramid fisheye lens detail-in-context presentations
US7983473B2 (en) 2006-04-11 2011-07-19 Noregin Assets, N.V., L.L.C. Transparency adjustment of a presentation
CN100435096C (zh) * 2006-12-28 2008-11-19 上海广电(集团)有限公司中央研究院 基于c语言微型操作***的图形处理方法
US9026938B2 (en) 2007-07-26 2015-05-05 Noregin Assets N.V., L.L.C. Dynamic detail-in-context user interface for application access and content access on electronic displays
US8358314B2 (en) * 2008-02-08 2013-01-22 Apple Inc. Method for reducing framebuffer memory accesses
US10770009B2 (en) * 2015-11-09 2020-09-08 Sharp Kabushiki Kaisha Display device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965745A (en) * 1987-12-18 1990-10-23 General Electric Company YIQ based color cell texture
US6020894A (en) * 1990-08-16 2000-02-01 Canon Kabushiki Kaisha Full-color desktop publishing system
US5276798A (en) * 1990-09-14 1994-01-04 Hughes Aircraft Company Multifunction high performance graphics rendering processor
US5218674A (en) * 1990-09-14 1993-06-08 Hughes Aircraft Company Hardware bit block transfer operator in a graphics rendering processor
US5428724A (en) * 1992-04-29 1995-06-27 Canon Information Systems Method and apparatus for providing transparency in an object based rasterized image
US5523958A (en) * 1992-06-10 1996-06-04 Seiko Epson Corporation Apparatus and method of processing image
EP0590784A3 (en) * 1992-09-30 1994-11-30 Hudson Soft Co Ltd Image processing device.
TW250555B (ja) * 1992-09-30 1995-07-01 Hudson Kk
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
US5493646A (en) * 1994-03-08 1996-02-20 Texas Instruments Incorporated Pixel block transfer with transparency

Also Published As

Publication number Publication date
EP0817119A3 (en) 1999-02-03
US5909219A (en) 1999-06-01
TW348239B (en) 1998-12-21
EP0817119A2 (en) 1998-01-07
JPH1091142A (ja) 1998-04-10

Similar Documents

Publication Publication Date Title
JP4234217B2 (ja) サイズ変更ビットブロック転送処理の一部として透過イネーブルビットの埋込みを行うシステム、装置および方法
KR100547258B1 (ko) 안티-에일리어싱 수퍼샘플링을 위한 방법 및 장치
JP3286331B2 (ja) ブロックテクスチャコンプレックスクリップマスクプロセッサ
US6275234B1 (en) Display control system and method for controlling display of three-dimensional graphics data
US6924808B2 (en) Area pattern processing of pixels
US6411294B1 (en) Image display apparatus and image display method
US6166743A (en) Method and system for improved z-test during image rendering
US6864892B2 (en) Graphics data synchronization with multiple data paths in a graphics accelerator
JPH1097635A (ja) ディスプレイリストを生成する方法、ディスプレイリストを受け取りグラフィックスプロセッサに格納する方法、プリミティブをレンダリングする方法およびディスプレイリストを用いてプリミティブをレンダリングするシステム
US5949421A (en) Method and system for efficient register sorting for three dimensional graphics
JP4707782B2 (ja) 画像処理装置およびその方法
US7310103B2 (en) Pipelined 2D viewport clip circuit
US6975317B2 (en) Method for reduction of possible renderable graphics primitive shapes for rasterization
US6833831B2 (en) Synchronizing data streams in a graphics processor
US6784894B2 (en) Mapping time-sorted to direction-sorted triangle vertices
US6943791B2 (en) Z-slope test to optimize sample throughput
US7298371B2 (en) Efficient object storage for zone rendering
US6963342B2 (en) Arbitration scheme for efficient parallel processing
US7145570B2 (en) Magnified texture-mapped pixel performance in a single-pixel pipeline
US6885375B2 (en) Stalling pipelines in large designs
US6927775B2 (en) Parallel box filtering through reuse of existing circular filter
US20030043171A1 (en) Method, apparatus and system for determining an intersection method for a zone renderer
US6895458B2 (en) Opcode to turn around a bi-directional bus
US6847372B2 (en) Magnified texture-mapped pixel performance in a single-pixel pipeline
US6831645B2 (en) System and method for performing font operations when background color is transparent

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20040604

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070501

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070508

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070525

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070925

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071005

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071218

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080125

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080903

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: 20081202

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081211

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

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131219

Year of fee payment: 5

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

EXPY Cancellation because of completion of term