JP2004514227A - 効率的なアンチエイリアシングのためにフレームバッファを動的に割り当てる方法及び装置 - Google Patents
効率的なアンチエイリアシングのためにフレームバッファを動的に割り当てる方法及び装置 Download PDFInfo
- Publication number
- JP2004514227A JP2004514227A JP2002543383A JP2002543383A JP2004514227A JP 2004514227 A JP2004514227 A JP 2004514227A JP 2002543383 A JP2002543383 A JP 2002543383A JP 2002543383 A JP2002543383 A JP 2002543383A JP 2004514227 A JP2004514227 A JP 2004514227A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- data
- aliasing
- image
- sub
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/12—Indexing scheme for image data processing or generation, in general involving antialiasing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
Description
【発明の属する技術分野】
本発明は、電子的に表示されたオブジェクトのエッジにおけるアンチエイリアシングの技術に関する。詳しくは、本発明は、フレームバッファ内のメモリを動的に割り当てることにより、電子的に表示されたオブジェクトのエッジにおけるピクセルデータを高い解像度で保存するための追加的なメモリを提供し、効率的にアンチエイリアシングを行う方法及び装置に関する。
【0002】
【従来の技術】
コンピュータモニタやテレビジョンセット等の電子表示装置は、多数のピクセルから構成される画像、オブジェクト及びシーンを表示する。ピクセルは、表示装置の画面上にアレー状に配列された長方形のドットである。カラー表示装置においては、各ピクセルは、特定の色により定義される。ピクセルの色は、通常、色3ビットバイト、すなわちピクセルの色における赤、青、緑の成分を表す値によって定義される。ピクセルは、適切に配列されて、ピクセル全体により表示すべき画像、オブジェクト又はシーンが形成される。また、印刷される画像もピクセルにより構成することができる。
【0003】
ピクセルの形状は長方形であり、斜線や曲線のエッジは、階段状になったり、鋸歯状に表示されてしまう。アンチエイリアシング(anti−aliasing)とは、長方形のピクセル配列を用いる印刷装置又は電子表示装置において採用され、斜線又は曲線のエッジを円滑化する様々な技術の総称である。
【0004】
アンチエイリアシングの基本的な手法として、斜線又は曲線のエッジに沿ったピクセルの色をそのエッジの外側の色と内側の色の中間の色に変換する手法がある。これにより、エッジは、より円滑に見える。この種のアンチエイリアシングの具体例としては、白の背景に黒の文字(斜線又は曲線を有する)を表示する場合がある。アンチエイリアシングを行わないと、特に解像度が低い表示装置においては、斜線が階段状に表示されてしまう。
【0005】
ここで、表示装置が中間色である灰色を表示できる場合、アンチエイリアシングが行われる。例えば、ピクセルが完全に文字の内部にある場合、そのピクセルは黒で表示され、ピクセルが完全に背景に含まれる場合は、そのピクセルは白で表示され、ピクセルが白と黒が重なる領域に存在する場合は、その重なりの度合いに応じた明度の灰色を表示する。この技術は、この他の背景色及び前景色についても同様に適用することができる。
【0006】
また、この他のアンチエイリアシング法として、全体の画像を最終的に表示装置に出力する解像度より高い解像度で電子的にレンダリングする手法がある。この手法では、画像のエッジを混合(blend)するために、重み付け再サンプリングを行う。この再サンプリングにより、表示装置に出力できるように解像度が低減される。
【0007】
【発明が解決しようとする課題】
この手法により、アンチエイリアシング効果は得られるが、この手法は非効率的である。例えば、アンチエイリアシングを画像内の斜線又は曲線のエッジのみに適用すればよい場合であっても、画像の全ての部分にアンチエイリアシングのための処理が施される。また、この手法では、画像全体を高い解像度で保存し、出力の段階で解像度を低減するために画像をレンダリングするのに必要な時間が長くなる。また、処理の間、高い解像度の画像を記憶するために、追加的なメモリを設ける必要があり、高コストである。
【0008】
この他のアンチエイリアシング法として、表示画像内の各ピクセルに追加的な情報を付加する手法がある。この追加的な情報としては、例えば、表示画像内のオブジェクトのエッジ上に位置する各ピクセルについて、そのピクセルが属する1又は複数のオブジェクトのサブピクセル幾何情報(sub−pixel geometry)を特定するフラグ等が含まれる。
【0009】
この手法により、アンチエイリアシング効果が得られるが、この手法も極めて非効率的である。例えば、各ピクセルに関連付けられる追加的情報を記憶するために、Zバッファ(Z−buffer)と呼ばれる装置のデータバッファをアンチエイリアシングバッファ又はAバッファ(A−buffer)に拡張する必要がある。
【0010】
従来のZバッファは、表示画面上の各ピクセルの位置について、色と、幾つかの制御フラグと、Z距離値(Z−distance value)とを記憶するメモリの固定されたセットである。特定のポリゴンのフラグメント(fragment)を定義するデータがレンダリングエンジン(例えば、ラスタライザ(rasterizer)、テクスチャ回路(texture unit))から供給されると、このデータは、特定のピクセル位置に割り当てられており、Zバッファ内の特定のメモリ位置に関連付けられる。このピクセル位置に未だフラグメントが割り当てられていない場合、供給されたデータは、Zバッファにおいて、対応するメモリ位置に格納される。また、特定のピクセルに割り当てられたフラグメントのデータがZバッファに供給され、且つ同じピクセルに関連付けられた他のフラグメントのデータが既に格納されている場合、供給されたフラグメントのZ値と現在の位置の内容とが比較される。供給されたフラグメントのZ値が現在Zバッファに格納されているフラグメントのZ値より大きい場合、供給されたフラグメントのデータは削除又は無視される。一方、供給されたフラグメントのZ値が現在Zバッファに格納されているフラグメントのZ値より小さい場合、現在Zバッファに格納されているそのピクセルに対応するエントリは、供給されたフラグメントにより置換される。これにより、レジスタの設定により、Z値を常に等しく制御することができる。
【0011】
Zバッファは、供給されたフラグメントを現在Zバッファに格納されている内容にどの程度混合(blend)するか、又は混合しないかを定義する規則を適用することにより、部分的透過性(partial transparency)をサポートすることができる。Zバッファが部分的透過性をサポートする場合、追加的ビット及び透過レベル値が各フラグメントに付加され、各Zバッファ位置は、対応するピクセルが透過性を有するか否か、及び透過性を有する場合、その混合レベルを示す。
【0012】
AバッファとZバッファの違いは、Aバッファにおいては、エッジ位置におけるフラグメントデータのスタックが維持されるが、Zバッファにおいては、このようなデータのスタックは維持されないという点にある。すなわち、適用されるエッジフラグメントの数にかかわらず、特定の位置におけるZバッファの「深さ(depth)」は変更されない。一方、Aバッファは、全てのピクセルについて、上述した全てのデータを格納するために十分なメモリ空間を有している。ピクセルが表示画像内のエッジに位置する場合、そのピクセルは、背景に存在する(underlying)各ポリゴンフラグメントに関する追加的なZ距離及びサブピクセル幾何情報を有する。Aバッファにおいては、各エッジのピクセル位置は、そのピクセル位置に関連付けられた、データを格納すべき全てのポリゴンフラグメントのスタック全体を有することができる。
【0013】
Aバッファの種類によっては、サブピクセル幾何情報の全体的なサブサンプリングを行わず、シーム(seam)が生じる可能性があるものもある。このようなAバッファを用いる場合、これらのシームを除去するために、表示装置においてオブジェクトを2回描画する必要がある場合がある。このような処理により、画面上に視覚的アーチファクト(artifact)、すなわち表示画像の一部として、意図されていないゴースト画像が表示されてしまうことがある。高品質のAバッファを用いれば、視覚的アーチファクトの問題を解決できるが、この場合、表示されているオブジェクトの各フラグメントに関する正確なサブピクセル幾何情報を維持管理するためのコストが必要となる。このような高品質Aバッファ及びこれを動作させるために必要な複雑な制御機構により、装置のコストは著しく高くなってしまう。
【0014】
そこで、エッジを視覚的に円滑に表示するとともに、短時間且つ低コストなアンチエイリアシング処理を実現できるアンチエイリアシング装置及びアンチエイリアシング方法が望まれている。
【0015】
【課題を解決するための手段】
本発明は上述及びその他の要求を満足させるものである。詳しくは、本発明は、画像表示装置又はプリンタにおいて、画像の要素のエッジが高解像度でレンダリングされるように、必要に応じて、Zバッファに追加的メモリを付加するアンチエイリアシング装置を提供する。追加的メモリは、表示又は印刷される画像要素のエッジに位置する解像度が高められたピクセルに必要な追加的データを格納するために使用される。画像要素のエッジにおけるピクセルの解像度を高めることにより、映像アーチファクトを生じさせることなく、及び効果で複雑なアンチエイリアシングバッファ(すなわち、Aバッファ)を用いることなく、アンチエイリアシングを行うことができる。
【0016】
本発明の更なる利点及び新規な特徴は、以下の説明により明らかとなり、当業者は、以下の説明に基づいて、本発明を実施することができる。本発明の効果は、添付の請求の範囲に示されている要素により実現される。
【0017】
簡潔に言えば、本発明は、レンダリングされる画像に対応する幾何データが供給されるポリゴンレンダリング装置と、メモリコントローラにより制御される追加的メモリユニットを有し、ポリゴンレンダリング装置から出力される画像データをバッファリングするためのメインバッファとを備えるアンチエイリアシング装置として具現化され、説明される。ポリゴンレンダリング装置は、幾何データを処理するラスタライザ部を備える。ラスタライザ部は、画像内のオブジェクトのエッジ上に位置するピクセルを処理するときに、メモリコントローラに知らせる。続いて、メモリコントローラは、画像内のオブジェクトのエッジに沿ったエッジピクセルの解像度を高めるために、エッジピクセル用の追加的ピクセルデータを格納するための部分を追加的メモリユニットに割り当てる。
【0018】
好ましくは、ラスタライザ部は、画像内の各ピクセルに対応するビットフラグを格納するメモリ位置を有するビットフラグキャッシュを備える。ラスタライザ部(102)は、画像内の各ピクセルについて、ビットフラグキャッシュに高解像度ビットフラグを格納する。高解像度ビットフラグは、対応するピクセルが追加的メモリユニットが割り当てられるエッジピクセルであるか否かを示す。
【0019】
メモリコントローラは、好ましくは、追加的メモリユニットが割り当てられると、所定の値インクリメントされ、オフセット値を記憶する追加的メモリオフセットレジスタを備える。このオフセット値は、追加的ピクセルデータを格納すべき追加的メモリユニット内のアドレスを指示する。
【0020】
メインバッファは、好ましくは、(1)ビットフラグ、(2)色データフィールド、(3)Z距離フィールドの少なくとも3つの各ピクセル用のデータフィールドを有している。エッジピクセル、すなわち高解像度ビットフラグが「オン」にされ、追加的メモリユニット一部が割り当てられるピクセルについては、メモリコントローラは、オフセットレジスタから供給されるオフセット値をZ距離フィールドに書き込む。このオフセット値は、このピクセルに対応する追加的メモリユニット内のアドレスを示してる。
【0021】
追加的メモリユニットは、画像内の各エッジピクセル用のサブピクセルデータのクラスタを格納する。サブピクセルデータには、レンダリングされる画像内の対応するピクセルを集合的に表現する複数のサブピクセルデータのそれぞれの特徴を記述するデータが含まれる。このサブピクセルデータの数は、例えば4である。サブピクセルデータのクラスタは、例えば、各サブピクセルの色データ及びZ距離データを含む。
【0022】
本発明の第1の具体例においては、メインバッファに格納されている画像データは、表示装置に接続されているビデオ信号生成器に供給される。本発明の第2の具体例においては、メインバッファに格納されている画像データは、プリンタに供給される。
【0023】
本発明は、上述したアンチエイリアシング装置の製造方法及びアンチエイリアシング方法を含む。例えば、本発明は、電子的な幾何データからレンダリングされる画像のエッジのアンチエイリアシングを行うアンチエイリアシング方法において、レンダリングされる画像内のオブジェクトのエッジ上のピクセルの特徴を定義するデータを格納するために、メインバッファに加えて追加的メモリユニット内の追加的メモリ空間を動的に割り当て、これにより、エッジが画像内の他の部分より高い解像度でレンダリングされ、アンチエイリアシングを行うことができるアンチエイリアシング方法を提供する。
【0024】
【発明の実施の形態】
本発明は、画像表示装置又は印刷装置におけるアンチエイリアシング装置のZバッファに必要に応じて追加的メモリを使用し、画像内の要素のエッジを豊富なサブピクセルデータ(sub−pixel data)を用いてレンダリングする手法を提供する。追加的メモリは、表示又は印刷される画像のエッジに位置するより高い解像度のピクセルに必要な追加的データ(extra data)を格納するために使用される。画像の要素のエッジにおけるピクセルの解像度を高めることにより、映像アーチファクト(video artifact)を生じさせることなく、及び高価で複雑なアンチエイリアシングバッファ(すなわち、Aバッファ)を用いることなく、アンチエイリアシングを行うことができる。
【0025】
表示装置又は印刷装置において、特に、コンピュータを用いて画像を生成及び処理する場合、その画像は、コンピュータのメモリにおいて、複数の幾何データ、すなわち、ポリゴン形状(polygonal shapes)又はフレームワークにより表現され、このポリゴン形状又はフレームワークに特定のテクスチャ(texture)が適用され、これにより表示又は印刷される画像が完成する。したがって、コンピュータが幾何データを読み出し又は生成する場合、この幾何データは、ポリゴンデータ及びテクスチャデータを解釈して画像をレンダリングする幾何データ処理装置により処理する必要がある。本発明を適用したこのような装置の構成をFIG.1に示す。
【0026】
FIG.1は、例えば表示装置112に接続された画像処理装置の一部の構成を示すブロック図である。FIG.1に示す構成は、ハードウェア構成要素及びソフトウェア構成要素の組合せであり、特定の具体例における要求及び設計に応じて、幾つかの要素は、ハードウェア及びソフトウェアのいずれにより実現してもよく、あるいはファームウェアにより実現してもよい。
【0027】
FIG.1に示すように、レンダリングすべき画像の幾何データ及びテクスチャデータ108は、ホストコンピュータ又は幾何データを読み込み又は生成する他の装置から、ポリゴンレンダリング装置(polygon rendering system)104に供給される。このポリゴンレンダリング装置104は、ポリゴンセットアップ部(polygon setup unit)101と、ラスタライザ部(rasterizer unit)102と、テクスチャ部(texturing unit)103とを備える。
【0028】
ポリゴンセットアップ部101は、基本的には周知の動作を行い、幾何データ108をラスタライザ部102において必要とされる入力フォーマットに再フォーマットする。テクスチャ部103は、基本的には周知の動作を行い、幾何データ108において指定されているポリゴン形状及びテクスチャに追加的なテクスチャデータを付加する。テクスチャ部103は、テクスチャキャッシュ106あるいはテクスチャデータベース又はメモリ107から、ビデオの特定のフレーム又は特定の画像に適しているテクスチャからのテクセル(texels:テクスチャデータのビット)を読み出す。
【0029】
幾何データがラスタライザ部102用にフォーマットされた後、及びテクスチャ部103によりテクスチャが追加される前に、ラスタライザ部102は、幾何データをラスタライズする。ラスタライザ部102は、幾何データを複数のポリゴンフラグメント(polygon fragment)に分割し、レンダリングされる画像内の各ピクセルに関連付けられる1又は複数のポリゴンフラグメントを識別する。
【0030】
幾何データがラスタライズされ、テクスチャが付加されると、このラスタライズされ、テクスチャが付加された幾何データは、バッファ109に供給され、更に、バッファ109は、このデータをビデオ信号生成器111に供給する。ビデオ信号生成器111は、このデータを用いてビデオ信号を生成し、表示装置112に供給する。表示装置112は、このビデオ信号に基づき、表示装置112の画面に所定の画像を表示する。表示画面又はプリンタに供給される全ての信号は、ラスタフォーマットにフォーマットされている。
【0031】
本発明に基づくこの具体例においては、データをビデオ信号生成器111に供給する前に、ポリゴンレンダリング装置104及びバッファ109を用いて画像内の要素のエッジにおけるアンチエイリアシング処理を行う。この処理は、以下のようにして行われる。
【0032】
ラスタライザ部102は、表示装置112の画像上の各ピクセルに対応する単一のビットを格納するビットフラグキャッシュ105を備える。各画像又はシーンがレンダリングされる(すなわち、表示装置112に表示され又はプリンタ201により印刷される)前に、ビットフラグキャッシュ105は、各ビット位置の値がゼロ(「0」)となるように初期化される。ラスタライザ部102によりラスタライズ処理が実行されている間、ラスタライザ部102は、ポリゴンセットアップ部101から供給されるポリゴン形状のエッジに位置するピクセルを識別する。
【0033】
ラスタライザ部102がエッジピクセルを検出すると、ラスタライザ部102は、ビットフラグキャッシュ105内のそのエッジピクセルに対応するピクセル位置に「1」を書き込む。そのピクセル位置の値が既に「1」に設定されている場合、ラスタライザ部102は何も行わない。エッジの各ピクセルについて、ラスタライザ部102は、レンダリングされている画像内のその位置のポリゴンフラグメントのサブピクセル図形に関する追加的データを生成する。後に詳細に説明するように、この処理は、対応するエッジピクセルをレンダリングするために使用する4つのサブピクセル用のデータを生成する処理を含む。
【0034】
ラスタライズ処理の結果生成されたデータ及びビットフラグキャッシュ105の内容は、Zバッファ109に供給される。ビットフラグキャッシュ105からのビットフラグは、ポリゴンレンダリング装置104からZバッファ109に供給される少なくとも3つのデータ項目の1つであり、以下、このビットフラグを「高解像度ビットフラグ(hi−res bit flag)」と呼ぶ。詳しくは、ポリゴンレンダリング装置104からZバッファ109には、各ピクセルに対応する高解像度ビットフラグと、レンダリングされている画像のその画像位置におけるポリゴンフラグメントを記述する幾何データとが供給される。
【0035】
高解像度ビットフラグを含むピクセルデータがZバッファ109に供給されると、メモリコントローラ115がこの高解像度ビットフラグを検出する。高解像度ビットフラグが「0」に設定されている場合、メモリコントローラ115は、Zバッファ109内の適切な位置にピクセルデータを格納する。一方、メモリコントローラ115が「1」に設定されている高解像度ビットフラグを含むピクセルデータを検出した場合、メモリコントローラ115は、追加的メモリユニット110において、そのピクセルに関連付けられている拡張された高解像度データを格納するための追加的メモリを割り当てる。追加的メモリユニット110は、独立したメモリユニットであってもよく、Zバッファ機構の一部として構成してもよい。
【0036】
ポリゴンレンダリング装置104は、画像をレンダリングした後、Zバッファ109にコマンドを供給し、割り当てられた追加メモリユニット110の内容を消去し、メモリコントローラ115を初期化してもよい。ポリゴンレンダリング装置104及びZバッファ109間においては、適用例の特徴に応じて、他の種類のコマンドを用いてもよい。
【0037】
標準的なZバッファは、ポリゴンレンダリング装置104から供給された画像内の各ピクセルに関するデータを記憶するメモリとは別に、一定量のメモリセットを有している。ピクセルに関するデータとしては、色3ビットバイト(color triplet)、Z距離値(Z−distance value)、及び可能であれば、各ピクセル位置に関して記憶されるビットフラグ等が含まれる。色3ビットバイトは、赤、緑、青に対応する3個の値を用いてピクセルの色を特定する情報である。Z距離値は、表示平面からのピクセルに関連するポリゴンフラグメントの距離を特定する値である。ビットフラグは、通常、ピクセル位置の現在の状態に関する情報を示す。
【0038】
上述のように、本発明においては、各ピクセル位置に対して、高解像度ビットフラグが追加されている。高解像度ビットフラグがオン、すなわち高解像度ビットフラグの値が「1」である場合、通常ピクセルのZ距離値を格納するために使用されるZバッファのメモリの部分には、Z距離値に代えて、このピクセルに対応する高解像度データが格納される追加メモリユニット110内のアドレスへのオフセットを表すオフセットデータを格納する。このオフセットデータは、追加的メモリユニット110内の位置が割り当てられると、メモリコントローラ115によって決定される。メモリコントローラ115は、割り当てられた追加的データを指示するオフセットデータを各ピクセルデータセットにおけるZ距離フィールドに書き込む。
【0039】
上述のように、追加的メモリユニット110は、エッジピクセル、すなわち高解像度ビットフラグが「1」に設定されているピクセル用の追加的データを格納するために設けられており、これにより、これらのピクセルは、高解像度でレンダリングされる。例えば、各エッジピクセルは、好ましくは4つのサブピクセル(sub−pixel)に分割され、各サブピクセルは、例えば色3ビットバイト等、元の完全なピクセルの属性を特定するために必要な同じデータを用いて特定される。4つのサブピクセルは、2×2のマトリクス状に配列される。サブピクセルのデータは、対応するエッジピクセルを定義する複合データ(composite data)を生成するために使用される。換言すれば、サブピクセルは、エッジピクセルを生成するために混合(blend)される。
【0040】
FIG.3は、ポリゴン300と、このポリゴン300を横切るピクセル列を示す図である。FIG.3に示すように、ここでは、3つの基礎的な種類のピクセルが存在する。第1の種類のピクセルは、ポリゴン300の外側に位置するピクセル301であり、これらのピクセル301は、画像の背景を表現するために使用される。第2の種類のピクセルは、ポリゴン300の内側に完全に収まっているピクセル303であり、これらのピクセル303は、ポリゴンの色及びテクスチャを表現するために使用される。第3の種類のピクセルは、ポリゴン300のエッジを含むピクセル302である。これらのピクセル302に対しては、ポリゴン300を適切にレンダリングするために、アンチエイリアシング処理を施す必要がある。
【0041】
FIG.3aは、各ピクセルデータを格納するように分割されたZバッファの一部を説明する表109を示す図である。FIG.3aに示すように、Zバッファは、各ピクセルに対して3つのデータフィールドを備えている。第1のフィールドは、ピクセルに関連付けられたビットフラグを格納する。第2のフィールドは、色3ビットバイト形式で色データを格納し、第3のフィールドは、Z距離データを格納する。表109のエントリは、FIG.3に示す9個のピクセル(301〜303)を左から右の順序で上から下に示している。
【0042】
FIG.3aに示す具体例においては、ピクセルが背景のピクセル301であるか、ポリゴン300内のピクセル303であるか、エッジピクセル302であるかを識別するために使用される2ビットのビットフラグが用いられている。この2ビットのビットフラグの第1のビットは、ピクセルがポリゴン300の一部であるか、画像の背景の一部であるかを示している。また、2ビットのビットフラグの第2のフラグは、エッジピクセルを示す高解像度ビットフラグである。
【0043】
したがって、FIG.3及びFIG.3aに示すように、背景のピクセル301のビットフラグフィールドには「00」が格納される。背景のピクセル301は、ポリゴン300のエッジを含まないため、第2のビット、すなわち高解像度ビットフラグは、「0」に設定される。背景のピクセル301の色データフィールドには、従来と同様の色3ビットバイトが格納され、Z距離フィールドには、予定される(expected)Z距離値が格納される。背景ピクセルは、高解像度ピクセルになることはないので、ビットフラグフィールドの値が「01」の場合も、「00」と同様に取り扱われる。
【0044】
ポリゴン300内のピクセル301のビットフラグフィールドには、「10」が格納される。ポリゴン300内のピクセル301は、ポリゴン300のエッジを含まないため、第2のビット、すなわち高解像度ビットフラグは、「0」に設定される。ポリゴン300内のピクセル301の色データフィールドには、予定される色3ビットバイトが格納され、Z距離フィールドには、予定されるZ距離値が格納される。
【0045】
FIG.3aに示す具体例においては、エッジピクセル302のビットフラグフィールドには「11」が格納される。エッジピクセル302は、ポリゴン300のエッジを含んでいるため、第2のビット、すなわち高解像度ビットフラグは、「1」に設定される。エッジピクセル302に対しては、色データフィールドには、エッジピクセル302に対応するサブピクセルの色3ビットバイトの平均値が格納される。サブピクセルの色3ビットバイトは、追加的メモリユニット110における割り当てられた部分に格納される。エッジピクセル302のZ距離フィールドには、Z距離値は格納されず、これに代えて、例えば混合等の処理により対応するエッジピクセル302を生成するために使用されるサブピクセルのデータが格納される追加的メモリユニット110内の部分へのオフセット又はアドレスを特定するためのデータが格納される。
【0046】
FIG.4は、実質的にFIG.3と同じ図を示している。なお、FIG.4では、ポリゴン300の右側のエッジ上のピクセル302aを特定している。この特定されたピクセル302aを用いて、本発明の原理を更に詳細に説明する。以下、本発明の具体例において、サブピクセルがどのように処理されるかを説明する。エッジピクセル302のサブピクセル化(sub−pixeling)の手法は、以下に説明する具体例と異なるものであっても、サブピクセルが追加的メモリユニット内の空間に動的に割り当てられるものである限り、本発明の範囲内にある。
【0047】
FIG.4aは、エッジピクセル302aをより詳細に示す図である。エッジピクセル302aは、方形状の2×2のマトリクスに配列される4つのサブピクセルに分割される。これらのサブピクセルのデータを平均化することにより、レンダリングされた画像における対応するエッジピクセル302aを定義するデータが生成される。
【0048】
FIG.4aに示すように、ポリゴン300のエッジの殆どは、サブピクセル310bを通過している。サブピクセル310cはエッジを全く含んでおらず、サブピクセル310a、310dは、僅かにエッジを含んでいる。
【0049】
サブピクセルの好ましい処理法においては、サブピクセルの大部分がポリゴンに含まれる場合は、そのサブピクセルは、内部ピクセルとして処理される。逆に、サブピクセルの大部分が背景に含まれる場合は、そのサブピクセルは、ポリゴンの外に存在するピクセルとして処理される。したがって、サブピクセル310a、310c、310dは、ポリゴン内部のピクセルとして取り扱われ、上述したピクセル303と同様に処理される。一方、サブピクセル310bは、ポリゴン300の外側にあると見なされ、上述したピクセル301と同様、背景ピクセルとして処理される。また、ポリゴン300に隣接して他の第2のポリゴンが存在し、サブピクセル310bの大部分がこの第2のポリゴンの領域に含まれる場合は、サブピクセル310bは、この隣接する第2のポリゴン内のピクセルとして処理される。
【0050】
FIG.4bは、追加的メモリユニット110のデータフィールド及びデータ構造を説明する表(110)を示す図である。追加的メモリユニット110は、好ましくは、サブピクセルクラスタ(sub−pixel cluster)の単純な線形配列により構成される。各サブピクセルクラスタは、特定のエッジピクセルに対応するサブピクセルの所定数の色3ビットバイトと、Z距離値と、ビットフラグのセットとを格納する。この手法における基本的な考え方は、Zバッファ情報のフォーマットをN回複製することであり、ここで、Nとは、2の累乗であり、メインのピクセルから分割されるサブピクセルの数に対応する。
【0051】
ここで説明する好ましい具体例においては、N=4とする。換言すれば、各エッジピクセルについてデータを提供する4つのサブピクセルが設けられ、これにより、レンダリングされる画像又はシーンのオブジェクトのエッジを含むピクセルのアンチエイリアシングが行われる。したがって、FIG.4bにおいては、サブピクセルクラスタ302内に4つのエントリが設けられている。
【0052】
第1のエントリは、サブピクセル310aに対応する。この具体例においては、この第1のエントリのビットフラグは「1」に設定されている。このビットフラグは、メインのピクセル302aを定義するデータを生成するための平均化処理にこのサブピクセルを使用するか否かを示すフラグである。ビットフラグがオン、すなわち「1」に設定されている場合、メモリコントローラ115は、そのサブピクセルの色3ビットバイトを使用して、平均色3ビットバイトを生成し、この平均色3ビットバイトを対応するメインピクセル用のZバッファの「色データ」フィールドに格納する。次のエントリは、サブピクセル310bに対応する。このエントリのビットフラグは「0」に設定されている。これにより、メモリコントローラ115は、サブピクセル310bを無視して平均色3ビットバイトを生成し、この平均色3ビットバイトを対応するメインピクセル用のZバッファの「色データ」フィールドに格納する。
【0053】
サブピクセル310の全てのデータが追加的メモリユニット110に書き込まれると、メモリコントローラ115は、各サブピクセルグループ(FIG.4b、302a)の色データを平均化する。これにより生成される「混合された(blended)」平均値は、対応するピクセル(例えば、FIG.3aに示す302)の色3ビットバイトとしてZバッファ109に格納される。これにより、アンチエイリアシング効果が得られる。
【0054】
Zバッファ109の内容を出力するときには、各ピクセルの色3ビットバイトのみがビデオ信号生成器111に順次出力される。このため、出力回路(例えば、ビデオ信号生成器111)は、本発明に基づく動的Zバッファからの信号を従来のZバッファからの信号と同様に処理することができる。更に、Zバッファ109は、通常のサイズ及び複雑性のままピクセルデータを格納することができる。高解像度で、より多くのサブピクセルデータを必要とするエッジピクセルについては、バッファ109は、これらのデータを格納するための追加的メモリユニット110内のメモリ空間を動的に割り当てる。高解像度のサブピクセルデータは、ビデオ信号生成器111又は適切な他の処理回路に供給され、レンダリングされる画像又はシーン内のオブジェクトのエッジ周辺の画像の解像度が高められる。これにより、高価な部品を用いることなく、また、映像アーチファクトを生じさせることなく、アンチエイリアシングを行うことができる。
【0055】
メモリコントローラ115は、アドレスレジスタ114を備え、アドレスレジスタ114は、追加的メモリユニット110に新たなメモリ位置が割り当てられる毎に、サブピクセルクラスタのサイズ分インクリメントされる。現在のオフセット値は、Zバッファ109の静的部分(static portion)113に格納してもよい。追加的メモリユニット110に新たなメモリ位置を割り当てる場合、メモリコントローラ115は、静的部分113から現在のオフセット値を読み出し、このオフセット値にサブピクセルクラスタのサイズをインクリメントし、これにより得られた値を次に格納すべきサブピクセルクラスタ用に割り当てられるメモリ位置として出力する。
【0056】
ビデオフレーム、画像又はシーンがレンダリングされた後、メモリコントローラ115は、追加的メモリユニット110をクリアする。具体的には、ポリゴンレンダリング装置104は、メモリコントローラ115にリセットコマンドを送信する。これにより、メモリコントローラ115は、追加的メモリユニット110内の全てのビットを「0」にリセットする。更に、メモリコントローラ115は、Zバッファ109の静的部分113に格納され、追加的メモリオフセット用のアドレスレジスタ114により使用される現在のオフセット値を「0」にリセットする。
【0057】
FIG.2は、本発明の第2の具体例を示す図である。FIG.2に示す具体例の大部分は、FIG.1に示す具体例と同様である。これらの具体例に共通する要素については、同一の符号を付し、これらの要素は、上述のものと同様であるため、説明は省略する。
【0058】
FIG.2に示すように、本発明に基づくアンチエイリアシング装置は、電子画像表示装置と同様、画像印刷装置にも適用することができる。FIG.2は、このような本発明に基づくアンチエイリアシング装置の具体例を示している。この具体例では、Zバッファ109の出力信号は、FIG.1に示すような表示装置ではなく、プリンタ201に供給される。これにより、印刷画像において、上述のような利点を有する高品質なアンチエイリアシングを実現することができる。
【0059】
なお、ここで使用する「プリンタ」という用語は、幾何データを用いて、例えば紙等の印刷媒体に対応する画像を印刷する様々な装置の総称として用いている。すなわち、「プリンタ」は、以下に限定されるものではないが、レーザプリンタ、インクジェットプリンタ、デジタルコピー機、ファクシミリ装置、ドットマトリクスプリンタ、プロッタ等を含む。
【0060】
以上の記述は、本発明の例示的な説明にすぎない。個々に開示した詳細事項は、本発明を限定又は制限するものではない。上述の開示から、様々な修正及び変更が可能である。
【0061】
本発明の最適な実施の形態は、本発明を最良に説明し、実際の適用例を提示するために選択された。上述の説明から、当業者は、実際の用途に応じて、上述の実施の形態を様々に変更して様々な形態で本発明を実施することができる。本発明の範囲は、添付の請求の範囲により定義される。
【図面の簡単な説明】
【図1】
FIG.1は、電子表示装置内において実現される本発明に基づくアンチエイリアシング装置の構成を示すブロック図である。
【図2】
FIG.2は、画像印刷装置内において実現される本発明に基づくアンチエイリアシング装置の構成を示すブロック図である。
【図3】
FIG.3は、本発明の原理に基づいて処理及び表示されるポリゴン及びピクセルを示す図である。
【図4】
FIG.3aは、本発明に基づく動的Zバッファのセグメントにおけるデータフィールドを示す図である。
【図5】
FIG.4は、本発明の原理に基づいて処理及び表示されるポリゴン及びピクセルを示す図である。
【図6】
FIG.4aは、本発明に基づくサブピクセルを含むピクセルを示す図である。
【図7】
FIG.4bは、本発明に基づく追加的メモリユニットのセグメントにおけるデータフィールドを示す図である。
Claims (24)
- レンダリングされる画像の幾何データ(108)が供給されるポリゴンレンダリング装置を備え、
上記ポリゴンレンダリング装置は、
ラスタライザ部(102)と、
メモリコントローラ(115)により制御される追加的メモリユニット(110)を有するメインバッファ(109)とを有し、
上記ラスタライザ部(102)が上記画像のオブジェクトのエッジ上に位置するエッジピクセルの幾何データを処理する際、上記ラスタライザ部(102)は、上記メモリコントローラ(115)に知らせ、上記メモリコントローラは、上記エッジピクセルに関する追加的データを格納するために上記追加的メモリユニット(110)の一部を割り当てることを特徴とするアンチエイリアシング装置。 - 上記ラスタライザ部(102)は、上記画像内の各ピクセルに対応するビットフラグを格納するメモリ位置を有するビットフラグキャッシュ(105)を備え、
上記ラスタライザ部(102)は、上記画像内の各ピクセルについて、対応するピクセルが上記追加的メモリユニット(110)が割り当てられるエッジピクセルであるか否かを示す高解像度ビットフラグを上記ビットフラグキャッシュ(105)に格納することを特徴とする請求項1記載のアンチエイリアシング装置。 - 上記メモリコントローラ(115)は、上記追加的メモリユニット(110)が割り当てられると、所定の値インクリメントされ、オフセット値を記憶する追加的メモリオフセットレジスタ(114)を備えることを特徴とする請求項1記載のアンチエイリアシング装置。
- 上記メインバッファ(109)は、上記画像内の各ピクセルについて少なくとも3つのデータフィールドを備え、
上記3つのデータフィールドは、ビットフラグフィールド、色データフィールド及びZ距離フィールドであり、
上記メモリコントローラ(115)は、上記追加的メモリユニット(110)が割り当てられるエッジピクセルについては、該エッジピクセルに対応するZ距離フィールドに該追加的メモリユニット(110)のアドレスを示すオフセットを書き込むことを特徴とする請求項3記載のアンチエイリアシング装置。 - 上記追加的メモリユニット(110)は、上記画像内の各エッジピクセルのサブピクセルデータのクラスタを格納し、該サブピクセルデータは、複数のサブピクセルデータのそれぞれの特徴を特定するデータを含み、上記レンダリングされる画像における対応するエッジピクセルを定義するデータを生成するために使用されることを特徴とする請求項1記載のアンチエイリアシング装置。
- 上記サブピクセルデータのクラスタは、該サブピクセルの色データ及びZ距離データを含むことを特徴とする請求項5記載のアンチエイリアシング装置。
- 上記画像内のポリゴン内に大半の部分が属する各サブピクセルは、全体が上記ポリゴン内に存在するピクセルと同様にレンダリングされ、
上記画像内のポリゴン外に大半の部分が属する各サブピクセルは、背景ピクセルと同様にレンダリングされることを特徴とする請求項5記載のアンチエイリアシング装置。 - 上記サブピクセルの数は4であることを特徴とする請求項5記載のアンチエイリアシング装置。
- 上記メインバッファに格納されたデータは、表示装置(112)に接続されているビデオ信号生成器(111)に供給されることを特徴とする請求項1記載のアンチエイリアシング装置。
- 上記メインバッファ(109)に格納されている幾何データは、プリンタ(201)に供給されることを特徴とする請求項1記載のアンチエイリアシング装置。
- 電子的な幾何データからレンダリングされる画像のエッジのアンチエイリアシングを行うアンチエイリアシング方法において、
上記レンダリングされる画像内のオブジェクトのエッジ上のピクセルの特徴を定義するデータを格納するために、メインバッファ(109)に加えて追加的メモリユニット(110)内の追加的メモリ空間を動的に割り当てるステップを有するアンチエイリアシング方法。 - ラスタライザ部(102)により上記幾何データをラスタライズするステップを有し、
上記ラスタライザ部(102)は、上記幾何データのエッジピクセルを処理するときにメモリコントローラ(115)に知らせることを特徴とする請求項11記載のアンチエイリアシング方法。 - 上記メモリコントローラ(115)は、上記ラスタライザ部(102)からのコマンドに応じて、上記追加的メモリ空間を割り当てることを特徴とする請求項12記載のアンチエイリアシング方法。
- 上記ラスタライザ部(102)により、上記画像内の各ピクセルについて、該ピクセルが上記追加的メモリ空間を割り当てられるエッジピクセルであるか否か示す高解像度ビットフラグをビットフラグキャッシュに格納するステップを有する請求項13記載のアンチエイリアシング方法。
- 上記追加的メモリユニット(110)内のメモリ空間がピクセルに割り当てられると、所定の値インクリメントされるオフセット値を記憶するメモリオフセットレジスタ(114)により、上記追加的メモリユニット(110)におけるメモリ空間の割り当てを追跡するステップを有する請求項12記載のアンチエイリアシング方法。
- 上記追加的メモリ空間が割り当てられると、上記オフセットレジスタ(114)から出力され、該割り当てられたメモリ空間のアドレスを示すオフセット値を上記エッジピクセルに対応するデータセットの一部である上記メインバッファ内のデータフィールドに書き込むステップを有する請求項15記載のアンチエイリアシング方法。
- 上記データフィールドは、Z距離データフィールドであることを特徴とする請求項16記載のアンチエイリアシング方法。
- 上記追加的メモリユニット(110)内の割り当てられたメモリ空間に、上記画像内の各エッジピクセルのサブピクセルの数を特定するデータを含むサブピクセルデータのクラスタを格納するステップを有する請求項11記載のアンチエイリアシング方法。
- 上記サブピクセルのクラスタの色データを平均化し、該サブピクセルのクラスタに対応するメインピクセルの色データ値を算出するステップを有する請求項18記載のアンチエイリアシング方法。
- 上記メインバッファ(109)に格納されているデータを表示装置(112)に接続されているビデオ信号生成器(111)に供給するステップを有する請求項11記載のアンチエイリアシング方法。
- 上記メインバッファ(109)に格納されているデータをプリンタ(201)に供給するステップを有する請求項11記載のアンチエイリアシング方法。
- 電子幾何データからレンダリングされる画像内のオブジェクトのエッジのアンチエイリアシングを行うアンチエイリアシング装置において、
上記幾何データを処理してピクセルデータを生成するピクセルデータ生成手段(104)と、
上記レンダリングされる画像内のオブジェクトのエッジ上のピクセルの特徴を定義するピクセルデータを格納するために、メインバッファ(109)のメモリ空間に加えて、追加的メモリユニット(110)の追加的メモリ空間を動的に割り当てる割当手段(115)とを備えるアンチエイリアシング装置。 - 上記画像データ生成手段(110)は、上記ピクセルデータを生成し、エッジピクセルを識別するラスタライザ手段(102)であって、上記画像のオブジェクトのエッジ上に位置するエッジピクセルの幾何データを処理するときに、メモリ制御手段(115)に知らせるラスタライザ手段(102)を備えることを特徴とする請求項22記載のアンチエイリアシング装置。
- 上記メモリ制御手段(115)は、上記ラスタライザ手段(102)からのコマンドに応答して、上記追加的メモリ空間の割当を行うことを特徴とする請求項23記載のアンチエイリアシング装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/713,070 US6567099B1 (en) | 2000-11-15 | 2000-11-15 | Method and system for dynamically allocating a frame buffer for efficient anti-aliasing |
PCT/US2001/047522 WO2002041251A2 (en) | 2000-11-15 | 2001-11-09 | Dynamically allocating a frame buffer for anti-aliasing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004514227A true JP2004514227A (ja) | 2004-05-13 |
JP3797615B2 JP3797615B2 (ja) | 2006-07-19 |
Family
ID=24864622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002543383A Expired - Fee Related JP3797615B2 (ja) | 2000-11-15 | 2001-11-09 | 効率的なアンチエイリアシングのためにフレームバッファを動的に割り当てる方法及び装置 |
Country Status (7)
Country | Link |
---|---|
US (5) | US6567099B1 (ja) |
EP (1) | EP1334469A4 (ja) |
JP (1) | JP3797615B2 (ja) |
KR (1) | KR100561915B1 (ja) |
AU (1) | AU2002227327A1 (ja) |
CA (1) | CA2395449C (ja) |
WO (1) | WO2002041251A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010535371A (ja) * | 2007-08-02 | 2010-11-18 | エーティーアイ・テクノロジーズ・ユーエルシー | 二次元ベクター画像のマルチサンプルレンダリング |
JP2013223008A (ja) * | 2012-04-13 | 2013-10-28 | Canon Inc | 画像処理装置及び方法 |
JP2017516200A (ja) * | 2014-04-05 | 2017-06-15 | ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー | オブジェクト及び/またはプリミティブ識別子を追跡することによるグラフィック処理の向上 |
Families Citing this family (125)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8692844B1 (en) | 2000-09-28 | 2014-04-08 | Nvidia Corporation | Method and system for efficient antialiased rendering |
US7663642B2 (en) * | 2000-11-15 | 2010-02-16 | Sony Corporation | Systems and methods for rendering a polygon in an image to be displayed |
US7589736B1 (en) | 2001-05-18 | 2009-09-15 | Pixelworks, Inc. | System and method for converting a pixel rate of an incoming digital image frame |
WO2003010718A1 (en) * | 2001-07-20 | 2003-02-06 | Koninklijke Philips Electronics N.V. | Computer graphics system and method of rendering polygons |
JP3696584B2 (ja) * | 2001-09-26 | 2005-09-21 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理方法及び装置、半導体デバイス、描画処理プログラム及び記録媒体 |
US7030877B1 (en) * | 2002-03-04 | 2006-04-18 | Advanced Micro Devices, Inc. | Computer graphics processing system, computer memory, and method of use with computer graphics processing system utilizing hierarchical image depth buffer |
US7046863B2 (en) * | 2002-03-25 | 2006-05-16 | Sharp Laboratories Of America, Inc. | Optimizing the advantages of multi-level rendering |
US20040174379A1 (en) * | 2003-03-03 | 2004-09-09 | Collodi David J. | Method and system for real-time anti-aliasing |
US7190367B2 (en) * | 2003-03-25 | 2007-03-13 | Mitsubishi Electric Research Laboratories, Inc. | Method, apparatus, and system for rendering using a progressive cache |
US20040252129A1 (en) * | 2003-06-11 | 2004-12-16 | Kim Pallister | Methods and apparatus for a variable depth display |
US6989838B2 (en) * | 2003-06-26 | 2006-01-24 | Intel Corporation | Methods, systems, and data structures for generating a rasterizer |
US9412123B2 (en) | 2003-07-01 | 2016-08-09 | The 41St Parameter, Inc. | Keystroke analysis |
US8732644B1 (en) | 2003-09-15 | 2014-05-20 | Nvidia Corporation | Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits |
US8775997B2 (en) * | 2003-09-15 | 2014-07-08 | Nvidia Corporation | System and method for testing and configuring semiconductor functional circuits |
US8788996B2 (en) | 2003-09-15 | 2014-07-22 | Nvidia Corporation | System and method for configuring semiconductor functional circuits |
JP2005100176A (ja) * | 2003-09-25 | 2005-04-14 | Sony Corp | 画像処理装置およびその方法 |
JP4183082B2 (ja) * | 2003-09-26 | 2008-11-19 | シャープ株式会社 | 3次元画像描画装置および3次元画像描画方法 |
US8711161B1 (en) | 2003-12-18 | 2014-04-29 | Nvidia Corporation | Functional component compensation reconfiguration system and method |
US10999298B2 (en) | 2004-03-02 | 2021-05-04 | The 41St Parameter, Inc. | Method and system for identifying users and detecting fraud by use of the internet |
FR2869146B1 (fr) * | 2004-04-20 | 2006-09-15 | Thales Sa | Procede de generation graphique de lignes a extremites arrondies |
US7148901B2 (en) * | 2004-05-19 | 2006-12-12 | Hewlett-Packard Development Company, L.P. | Method and device for rendering an image for a staggered color graphics display |
US8723231B1 (en) | 2004-09-15 | 2014-05-13 | Nvidia Corporation | Semiconductor die micro electro-mechanical switch management system and method |
US8711156B1 (en) | 2004-09-30 | 2014-04-29 | Nvidia Corporation | Method and system for remapping processing elements in a pipeline of a graphics processing unit |
US7664315B2 (en) * | 2004-11-03 | 2010-02-16 | Tyzx, Inc. | Integrated image processor |
US7385604B1 (en) * | 2004-11-04 | 2008-06-10 | Nvidia Corporation | Fragment scattering |
US8078656B1 (en) | 2004-11-16 | 2011-12-13 | Nvidia Corporation | Data decompression with extra precision |
US7916149B1 (en) | 2005-01-04 | 2011-03-29 | Nvidia Corporation | Block linear memory ordering of texture data |
US7479965B1 (en) | 2005-04-12 | 2009-01-20 | Nvidia Corporation | Optimized alpha blend for anti-aliased render |
US20060250414A1 (en) * | 2005-05-03 | 2006-11-09 | Vladimir Golovin | System and method of anti-aliasing computer images |
US8427496B1 (en) | 2005-05-13 | 2013-04-23 | Nvidia Corporation | Method and system for implementing compression across a graphics bus interconnect |
US7646389B1 (en) * | 2005-05-18 | 2010-01-12 | Nvidia Corporation | Divergent and non-divergent texture fetches |
US20070002083A1 (en) * | 2005-07-02 | 2007-01-04 | Stephane Belmon | Display of pixels via elements organized in staggered manner |
US7755678B2 (en) * | 2005-10-28 | 2010-07-13 | Hewlett-Packard Development Company, L.P. | Programmable anti-aliasing systems and methods for cameras |
US8698811B1 (en) | 2005-12-15 | 2014-04-15 | Nvidia Corporation | Nested boustrophedonic patterns for rasterization |
US11301585B2 (en) | 2005-12-16 | 2022-04-12 | The 41St Parameter, Inc. | Methods and apparatus for securely displaying digital images |
EP1961205B1 (en) * | 2005-12-16 | 2019-06-19 | The 41st Parameter, Inc. | Methods and apparatus for securely displaying digital images |
US8938671B2 (en) * | 2005-12-16 | 2015-01-20 | The 41St Parameter, Inc. | Methods and apparatus for securely displaying digital images |
US9117309B1 (en) | 2005-12-19 | 2015-08-25 | Nvidia Corporation | Method and system for rendering polygons with a bounding box in a graphics processor unit |
US7791617B2 (en) * | 2005-12-19 | 2010-09-07 | Nvidia Corporation | Method and system for rendering polygons having abutting edges |
US8390645B1 (en) | 2005-12-19 | 2013-03-05 | Nvidia Corporation | Method and system for rendering connecting antialiased line segments |
US7877565B1 (en) | 2006-01-31 | 2011-01-25 | Nvidia Corporation | Constant versioning for multi-threaded processing |
US8094158B1 (en) * | 2006-01-31 | 2012-01-10 | Nvidia Corporation | Using programmable constant buffers for multi-threaded processing |
US8151327B2 (en) | 2006-03-31 | 2012-04-03 | The 41St Parameter, Inc. | Systems and methods for detection of session tampering and fraud prevention |
US8059128B1 (en) * | 2006-04-19 | 2011-11-15 | Nvidia Corporation | Apparatus and method for performing blit operations across parallel processors |
US8928676B2 (en) | 2006-06-23 | 2015-01-06 | Nvidia Corporation | Method for parallel fine rasterization in a raster stage of a graphics pipeline |
US8477134B1 (en) * | 2006-06-30 | 2013-07-02 | Nvidia Corporation | Conservative triage of polygon status using low precision edge evaluation and high precision edge evaluation |
US8427487B1 (en) | 2006-11-02 | 2013-04-23 | Nvidia Corporation | Multiple tile output using interface compression in a raster stage |
US8482567B1 (en) | 2006-11-03 | 2013-07-09 | Nvidia Corporation | Line rasterization techniques |
JP2008306512A (ja) * | 2007-06-08 | 2008-12-18 | Nec Corp | 情報提供システム |
KR100917887B1 (ko) | 2007-06-11 | 2009-09-16 | 삼성전자주식회사 | 라인 가속 기능을 지원하는 그래픽 처리 방법 및 장치 |
US8081181B2 (en) * | 2007-06-20 | 2011-12-20 | Microsoft Corporation | Prefix sum pass to linearize A-buffer storage |
US8294730B2 (en) * | 2007-09-04 | 2012-10-23 | Apple Inc. | Anti-aliasing of a graphical object |
US8724483B2 (en) | 2007-10-22 | 2014-05-13 | Nvidia Corporation | Loopback configuration for bi-directional interfaces |
US8063903B2 (en) * | 2007-11-09 | 2011-11-22 | Nvidia Corporation | Edge evaluation techniques for graphics hardware |
US9064333B2 (en) * | 2007-12-17 | 2015-06-23 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
US8780123B2 (en) | 2007-12-17 | 2014-07-15 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
US8923385B2 (en) | 2008-05-01 | 2014-12-30 | Nvidia Corporation | Rewind-enabled hardware encoder |
US8681861B2 (en) | 2008-05-01 | 2014-03-25 | Nvidia Corporation | Multistandard hardware video encoder |
TWI397885B (zh) * | 2008-05-07 | 2013-06-01 | Novatek Microelectronics Corp | 用於一平面顯示器之一時序控制器存取資料的方法與平面顯示器 |
US20100013854A1 (en) * | 2008-07-18 | 2010-01-21 | Microsoft Corporation | Gpu bezier path rasterization |
US9635285B2 (en) | 2009-03-02 | 2017-04-25 | Flir Systems, Inc. | Infrared imaging enhancement with fusion |
US9235876B2 (en) | 2009-03-02 | 2016-01-12 | Flir Systems, Inc. | Row and column noise reduction in thermal images |
US9998697B2 (en) | 2009-03-02 | 2018-06-12 | Flir Systems, Inc. | Systems and methods for monitoring vehicle occupants |
US9756264B2 (en) | 2009-03-02 | 2017-09-05 | Flir Systems, Inc. | Anomalous pixel detection |
US9948872B2 (en) | 2009-03-02 | 2018-04-17 | Flir Systems, Inc. | Monitor and control systems and methods for occupant safety and energy efficiency of structures |
US9986175B2 (en) | 2009-03-02 | 2018-05-29 | Flir Systems, Inc. | Device attachment with infrared imaging sensor |
USD765081S1 (en) | 2012-05-25 | 2016-08-30 | Flir Systems, Inc. | Mobile communications device attachment with camera |
US9674458B2 (en) | 2009-06-03 | 2017-06-06 | Flir Systems, Inc. | Smart surveillance camera systems and methods |
US9451183B2 (en) | 2009-03-02 | 2016-09-20 | Flir Systems, Inc. | Time spaced infrared image enhancement |
US9843742B2 (en) | 2009-03-02 | 2017-12-12 | Flir Systems, Inc. | Thermal image frame capture using de-aligned sensor array |
US10757308B2 (en) | 2009-03-02 | 2020-08-25 | Flir Systems, Inc. | Techniques for device attachment with dual band imaging sensor |
US9517679B2 (en) | 2009-03-02 | 2016-12-13 | Flir Systems, Inc. | Systems and methods for monitoring vehicle occupants |
US9208542B2 (en) | 2009-03-02 | 2015-12-08 | Flir Systems, Inc. | Pixel-wise noise reduction in thermal images |
US9473681B2 (en) | 2011-06-10 | 2016-10-18 | Flir Systems, Inc. | Infrared camera system housing with metalized surface |
US10244190B2 (en) | 2009-03-02 | 2019-03-26 | Flir Systems, Inc. | Compact multi-spectrum imaging with fusion |
US9112850B1 (en) | 2009-03-25 | 2015-08-18 | The 41St Parameter, Inc. | Systems and methods of sharing information through a tag-based consortium |
US9819880B2 (en) | 2009-06-03 | 2017-11-14 | Flir Systems, Inc. | Systems and methods of suppressing sky regions in images |
US9756262B2 (en) | 2009-06-03 | 2017-09-05 | Flir Systems, Inc. | Systems and methods for monitoring power systems |
US9716843B2 (en) | 2009-06-03 | 2017-07-25 | Flir Systems, Inc. | Measurement device for electrical installations and related methods |
US9292909B2 (en) | 2009-06-03 | 2016-03-22 | Flir Systems, Inc. | Selective image correction for infrared imaging devices |
US9843743B2 (en) | 2009-06-03 | 2017-12-12 | Flir Systems, Inc. | Infant monitoring systems and methods using thermal imaging |
US10091439B2 (en) | 2009-06-03 | 2018-10-02 | Flir Systems, Inc. | Imager with array of multiple infrared imaging modules |
US20110063306A1 (en) | 2009-09-16 | 2011-03-17 | Nvidia Corporation | CO-PROCESSING TECHNIQUES ON HETEROGENEOUS GPUs INCLUDING IDENTIFYING ONE GPU AS A NON-GRAPHICS DEVICE |
US9530189B2 (en) | 2009-12-31 | 2016-12-27 | Nvidia Corporation | Alternate reduction ratios and threshold mechanisms for framebuffer compression |
US9331869B2 (en) | 2010-03-04 | 2016-05-03 | Nvidia Corporation | Input/output request packet handling techniques by a device specific kernel mode driver |
US9706138B2 (en) | 2010-04-23 | 2017-07-11 | Flir Systems, Inc. | Hybrid infrared sensor array having heterogeneous infrared sensors |
US9848134B2 (en) | 2010-04-23 | 2017-12-19 | Flir Systems, Inc. | Infrared imager with integrated metal layers |
US9207708B2 (en) | 2010-04-23 | 2015-12-08 | Flir Systems, Inc. | Abnormal clock rate detection in imaging sensor arrays |
US8259120B2 (en) | 2010-06-02 | 2012-09-04 | Dell Products L.P. | Seamless switching between graphics controllers |
KR101729556B1 (ko) * | 2010-08-09 | 2017-04-24 | 엘지전자 주식회사 | 입체영상 디스플레이 시스템, 입체영상 디스플레이 장치 및 입체영상 디스플레이 방법, 그리고 위치 추적 장치 |
WO2012054646A2 (en) | 2010-10-19 | 2012-04-26 | The 41St Parameter, Inc. | Variable risk engine |
US9171350B2 (en) | 2010-10-28 | 2015-10-27 | Nvidia Corporation | Adaptive resolution DGPU rendering to provide constant framerate with free IGPU scale up |
US9235023B2 (en) | 2011-06-10 | 2016-01-12 | Flir Systems, Inc. | Variable lens sleeve spacer |
KR101778353B1 (ko) | 2011-06-10 | 2017-09-13 | 플리어 시스템즈, 인크. | 적외선 이미징 장치용 불균일성 교정 기술 |
US10169666B2 (en) | 2011-06-10 | 2019-01-01 | Flir Systems, Inc. | Image-assisted remote control vehicle systems and methods |
US10841508B2 (en) | 2011-06-10 | 2020-11-17 | Flir Systems, Inc. | Electrical cabinet infrared monitor systems and methods |
US10051210B2 (en) | 2011-06-10 | 2018-08-14 | Flir Systems, Inc. | Infrared detector array with selectable pixel binning systems and methods |
US9900526B2 (en) | 2011-06-10 | 2018-02-20 | Flir Systems, Inc. | Techniques to compensate for calibration drifts in infrared imaging devices |
US9058653B1 (en) | 2011-06-10 | 2015-06-16 | Flir Systems, Inc. | Alignment of visible light sources based on thermal images |
US10079982B2 (en) | 2011-06-10 | 2018-09-18 | Flir Systems, Inc. | Determination of an absolute radiometric value using blocked infrared sensors |
EP2719167B1 (en) | 2011-06-10 | 2018-08-08 | Flir Systems, Inc. | Low power and small form factor infrared imaging |
US10389953B2 (en) | 2011-06-10 | 2019-08-20 | Flir Systems, Inc. | Infrared imaging device having a shutter |
US9143703B2 (en) | 2011-06-10 | 2015-09-22 | Flir Systems, Inc. | Infrared camera calibration techniques |
US9509924B2 (en) | 2011-06-10 | 2016-11-29 | Flir Systems, Inc. | Wearable apparatus with integrated infrared imaging module |
WO2012170954A2 (en) | 2011-06-10 | 2012-12-13 | Flir Systems, Inc. | Line based image processing and flexible memory system |
US9961277B2 (en) | 2011-06-10 | 2018-05-01 | Flir Systems, Inc. | Infrared focal plane array heat spreaders |
US9706137B2 (en) | 2011-06-10 | 2017-07-11 | Flir Systems, Inc. | Electrical cabinet infrared monitor |
US10754913B2 (en) | 2011-11-15 | 2020-08-25 | Tapad, Inc. | System and method for analyzing user device information |
US9633201B1 (en) | 2012-03-01 | 2017-04-25 | The 41St Parameter, Inc. | Methods and systems for fraud containment |
US9521551B2 (en) | 2012-03-22 | 2016-12-13 | The 41St Parameter, Inc. | Methods and systems for persistent cross-application mobile device identification |
US9811884B2 (en) | 2012-07-16 | 2017-11-07 | Flir Systems, Inc. | Methods and systems for suppressing atmospheric turbulence in images |
EP2880619A1 (en) | 2012-08-02 | 2015-06-10 | The 41st Parameter, Inc. | Systems and methods for accessing records via derivative locators |
WO2014078569A1 (en) | 2012-11-14 | 2014-05-22 | The 41St Parameter, Inc. | Systems and methods of global identification |
US9607407B2 (en) | 2012-12-31 | 2017-03-28 | Nvidia Corporation | Variable-width differential memory compression |
US9591309B2 (en) | 2012-12-31 | 2017-03-07 | Nvidia Corporation | Progressive lossy memory compression |
US9454843B2 (en) * | 2013-02-05 | 2016-09-27 | Nvidia Corporation | Modulated and blended anti-aliasing |
US9299125B2 (en) * | 2013-05-03 | 2016-03-29 | Advanced Micro Devices Inc. | Variable acuity rendering using multisample anti-aliasing |
US9710894B2 (en) | 2013-06-04 | 2017-07-18 | Nvidia Corporation | System and method for enhanced multi-sample anti-aliasing |
US10902327B1 (en) | 2013-08-30 | 2021-01-26 | The 41St Parameter, Inc. | System and method for device identification and uniqueness |
US10134160B2 (en) * | 2013-09-26 | 2018-11-20 | Intel Corporation | Anti-aliasing for graphics hardware |
US9973692B2 (en) | 2013-10-03 | 2018-05-15 | Flir Systems, Inc. | Situational awareness by compressed display of panoramic views |
US11297264B2 (en) | 2014-01-05 | 2022-04-05 | Teledyne Fur, Llc | Device attachment with dual band imaging sensor |
US10424239B2 (en) * | 2014-06-13 | 2019-09-24 | Apple Inc. | Power efficient adaptive panel pixel charge scheme |
US10091312B1 (en) | 2014-10-14 | 2018-10-02 | The 41St Parameter, Inc. | Data structures for intelligently resolving deterministic and probabilistic device identifiers to device profiles and/or groups |
US11164206B2 (en) * | 2018-11-16 | 2021-11-02 | Comenity Llc | Automatically aggregating, evaluating, and providing a contextually relevant offer |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4408988A (en) * | 1982-09-10 | 1983-10-11 | Kaplan Laurie M | Orthodontic appliance |
US5438656A (en) * | 1993-06-01 | 1995-08-01 | Ductus, Inc. | Raster shape synthesis by direct multi-level filling |
US5528737A (en) * | 1993-12-14 | 1996-06-18 | Silicon Graphics, Inc. | Processor-based method for rasterizing polygons at an arbitrary precision |
US5542302A (en) * | 1995-01-24 | 1996-08-06 | Mcmillan Company | Turbine wheel flow measuring transducer |
US5815166A (en) * | 1995-03-24 | 1998-09-29 | 3Dlabs Inc., Ltd. | Graphics subsystem with slaveable rasterizer |
JP2964931B2 (ja) * | 1995-04-25 | 1999-10-18 | 富士ゼロックス株式会社 | 画像処理装置および画像形成装置 |
DE69628451D1 (de) * | 1995-07-26 | 2003-07-03 | Apple Computer | Verfahren zur zeilendarstellung durch sortieren von segmenten und untersegmenten |
US5880737A (en) * | 1995-08-04 | 1999-03-09 | Microsoft Corporation | Method and system for accessing texture data in environments with high latency in a graphics rendering system |
US6008820A (en) * | 1995-08-04 | 1999-12-28 | Microsoft Corporation | Processor for controlling the display of rendered image layers and method for controlling same |
US5999189A (en) * | 1995-08-04 | 1999-12-07 | Microsoft Corporation | Image compression to reduce pixel and texture memory requirements in a real-time image generator |
US6005580A (en) * | 1995-08-22 | 1999-12-21 | Micron Technology, Inc. | Method and apparatus for performing post-process antialiasing of polygon edges |
US6348919B1 (en) * | 1995-12-18 | 2002-02-19 | 3Dlabs Inc, Ltd. | Graphics system with optimized use of unified local and frame buffers |
US5850474A (en) * | 1996-07-26 | 1998-12-15 | Xerox Corporation | Apparatus and method for segmenting and classifying image data |
US6201545B1 (en) * | 1997-09-23 | 2001-03-13 | Ati Technologies, Inc. | Method and apparatus for generating sub pixel masks in a three dimensional graphic processing system |
US5995121A (en) * | 1997-10-16 | 1999-11-30 | Hewlett-Packard Company | Multiple graphics pipeline integration with a windowing system through the use of a high speed interconnect to the frame buffer |
US6226017B1 (en) * | 1999-07-30 | 2001-05-01 | Microsoft Corporation | Methods and apparatus for improving read/modify/write operations |
US6429877B1 (en) * | 1999-07-30 | 2002-08-06 | Hewlett-Packard Company | System and method for reducing the effects of aliasing in a computer graphics system |
US6567091B2 (en) * | 2000-02-01 | 2003-05-20 | Interactive Silicon, Inc. | Video controller system with object display lists |
US7061507B1 (en) * | 2000-11-12 | 2006-06-13 | Bitboys, Inc. | Antialiasing method and apparatus for video applications |
WO2002050777A2 (en) * | 2000-12-18 | 2002-06-27 | Alan Sullivan | Rasterization of three-dimensional images |
US6427877B1 (en) * | 2000-12-20 | 2002-08-06 | Willis Z. Trout | Corner box |
-
2000
- 2000-11-15 US US09/713,070 patent/US6567099B1/en not_active Expired - Fee Related
-
2001
- 2001-11-09 EP EP01996189A patent/EP1334469A4/en not_active Ceased
- 2001-11-09 CA CA002395449A patent/CA2395449C/en not_active Expired - Fee Related
- 2001-11-09 JP JP2002543383A patent/JP3797615B2/ja not_active Expired - Fee Related
- 2001-11-09 AU AU2002227327A patent/AU2002227327A1/en not_active Abandoned
- 2001-11-09 KR KR1020027007696A patent/KR100561915B1/ko not_active IP Right Cessation
- 2001-11-09 WO PCT/US2001/047522 patent/WO2002041251A2/en active IP Right Grant
-
2003
- 2003-05-19 US US10/441,630 patent/US6933951B2/en not_active Expired - Fee Related
-
2004
- 2004-09-14 US US10/941,222 patent/US7253820B2/en not_active Expired - Fee Related
- 2004-09-14 US US10/941,234 patent/US7034846B2/en not_active Expired - Fee Related
-
2005
- 2005-03-10 US US11/078,676 patent/US7538778B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010535371A (ja) * | 2007-08-02 | 2010-11-18 | エーティーアイ・テクノロジーズ・ユーエルシー | 二次元ベクター画像のマルチサンプルレンダリング |
JP2013223008A (ja) * | 2012-04-13 | 2013-10-28 | Canon Inc | 画像処理装置及び方法 |
JP2017516200A (ja) * | 2014-04-05 | 2017-06-15 | ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー | オブジェクト及び/またはプリミティブ識別子を追跡することによるグラフィック処理の向上 |
Also Published As
Publication number | Publication date |
---|---|
AU2002227327A1 (en) | 2002-05-27 |
US6933951B2 (en) | 2005-08-23 |
US20030197707A1 (en) | 2003-10-23 |
EP1334469A4 (en) | 2005-05-04 |
US20050041037A1 (en) | 2005-02-24 |
WO2002041251A3 (en) | 2003-03-06 |
KR20030003220A (ko) | 2003-01-09 |
JP3797615B2 (ja) | 2006-07-19 |
EP1334469A2 (en) | 2003-08-13 |
US7253820B2 (en) | 2007-08-07 |
US6567099B1 (en) | 2003-05-20 |
KR100561915B1 (ko) | 2006-03-20 |
WO2002041251A2 (en) | 2002-05-23 |
US20050162441A1 (en) | 2005-07-28 |
US7034846B2 (en) | 2006-04-25 |
US7538778B2 (en) | 2009-05-26 |
US20050030314A1 (en) | 2005-02-10 |
CA2395449A1 (en) | 2002-05-23 |
CA2395449C (en) | 2008-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3797615B2 (ja) | 効率的なアンチエイリアシングのためにフレームバッファを動的に割り当てる方法及び装置 | |
US4570233A (en) | Modular digital image generator | |
US5519825A (en) | Method and apparatus for NTSC display of full range animation | |
US8068119B2 (en) | System and method for multi-sampling primitives to reduce aliasing | |
US4967392A (en) | Drawing processor for computer graphic system using a plurality of parallel processors which each handle a group of display screen scanlines | |
CA2421894C (en) | Hardware-enhanced graphics acceleration of pixel sub-component-oriented images | |
JPH09245179A (ja) | コンピュータグラフィックス装置 | |
US7656416B2 (en) | Apparatus for generating anti-aliased and stippled 3d lines, points and surfaces using multi-dimensional procedural texture coordinates | |
WO2000057363A1 (en) | Methods and apparatus for efficiently implementing and modifying foreground and background color selections | |
US7663642B2 (en) | Systems and methods for rendering a polygon in an image to be displayed | |
JP2002527776A (ja) | ストライプ形ディスプレイ装置上の画素サブコンポーネントへの画像データ・サンプルのマッピング | |
JP2013505854A (ja) | 印刷可能なラスタ画像ファイルを作成する方法 | |
US6738071B2 (en) | Dynamically anti-aliased graphics | |
EP0062669A4 (en) | GRAPHICS AND TEXT IMAGE GENERATOR FOR A GRID SCAN DISPLAY. | |
JPH1069548A (ja) | コンピュータ・グラフィックス・システム | |
JP2005078399A (ja) | 表示画像処理装置、その方法及びそれを用いた表示装置 | |
JPS6373485A (ja) | 水平ベクトル描画方式 | |
JPH09160534A (ja) | 画像制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20060228 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060310 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060414 |
|
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: 20090428 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120428 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |