JP2004514227A - 効率的なアンチエイリアシングのためにフレームバッファを動的に割り当てる方法及び装置 - Google Patents

効率的なアンチエイリアシングのためにフレームバッファを動的に割り当てる方法及び装置 Download PDF

Info

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
Application number
JP2002543383A
Other languages
English (en)
Other versions
JP3797615B2 (ja
Inventor
ドーソン、トーマス ピー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Electronics Inc
Original Assignee
Sony Electronics Inc
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 Sony Electronics Inc filed Critical Sony Electronics Inc
Publication of JP2004514227A publication Critical patent/JP2004514227A/ja
Application granted granted Critical
Publication of JP3797615B2 publication Critical patent/JP3797615B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/12Indexing 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

アンチエイリアシング装置は、映像アーチファクトを生じさせることなく、及び高価なアンチエイリアシングバッファを用いることなく、表示又は印刷される画像内のオブジェクトのエッジのアンチエイリアシングを行う。ラスタライザ部(102)は、幾何データをラスタライズする際、レンダリングされる画像内のオブジェクトのエッジ上のピクセルを識別する。これらのピクセルは、複数のサブピクセルを用いて高解像度でレンダリングされる。Zバッファ(109)は、どのピクセルが追加的な高解像度データを必要とするかに関する情報を受け取る。Zバッファ(109)は、この追加的なサブピクセルデータを格納するため、追加的メモリユニット(110)内のメモリ空間の割当を動的に行う。Zバッファには、メモリオフセット又はアドレスが書き込まれ、追加的メモリユニット(110)内の適切なアドレスがメモリコントローラ(115)に指示され、追加的メモリユニット(110)内のデータが混合され、対応するメインピクセルを定義するデータが生成され、Zバッファ(109)に格納される。

Description

【0001】
【発明の属する技術分野】
本発明は、電子的に表示されたオブジェクトのエッジにおけるアンチエイリアシングの技術に関する。詳しくは、本発明は、フレームバッファ内のメモリを動的に割り当てることにより、電子的に表示されたオブジェクトのエッジにおけるピクセルデータを高い解像度で保存するための追加的なメモリを提供し、効率的にアンチエイリアシングを行う方法及び装置に関する。
【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)

  1. レンダリングされる画像の幾何データ(108)が供給されるポリゴンレンダリング装置を備え、
    上記ポリゴンレンダリング装置は、
    ラスタライザ部(102)と、
    メモリコントローラ(115)により制御される追加的メモリユニット(110)を有するメインバッファ(109)とを有し、
    上記ラスタライザ部(102)が上記画像のオブジェクトのエッジ上に位置するエッジピクセルの幾何データを処理する際、上記ラスタライザ部(102)は、上記メモリコントローラ(115)に知らせ、上記メモリコントローラは、上記エッジピクセルに関する追加的データを格納するために上記追加的メモリユニット(110)の一部を割り当てることを特徴とするアンチエイリアシング装置。
  2. 上記ラスタライザ部(102)は、上記画像内の各ピクセルに対応するビットフラグを格納するメモリ位置を有するビットフラグキャッシュ(105)を備え、
    上記ラスタライザ部(102)は、上記画像内の各ピクセルについて、対応するピクセルが上記追加的メモリユニット(110)が割り当てられるエッジピクセルであるか否かを示す高解像度ビットフラグを上記ビットフラグキャッシュ(105)に格納することを特徴とする請求項1記載のアンチエイリアシング装置。
  3. 上記メモリコントローラ(115)は、上記追加的メモリユニット(110)が割り当てられると、所定の値インクリメントされ、オフセット値を記憶する追加的メモリオフセットレジスタ(114)を備えることを特徴とする請求項1記載のアンチエイリアシング装置。
  4. 上記メインバッファ(109)は、上記画像内の各ピクセルについて少なくとも3つのデータフィールドを備え、
    上記3つのデータフィールドは、ビットフラグフィールド、色データフィールド及びZ距離フィールドであり、
    上記メモリコントローラ(115)は、上記追加的メモリユニット(110)が割り当てられるエッジピクセルについては、該エッジピクセルに対応するZ距離フィールドに該追加的メモリユニット(110)のアドレスを示すオフセットを書き込むことを特徴とする請求項3記載のアンチエイリアシング装置。
  5. 上記追加的メモリユニット(110)は、上記画像内の各エッジピクセルのサブピクセルデータのクラスタを格納し、該サブピクセルデータは、複数のサブピクセルデータのそれぞれの特徴を特定するデータを含み、上記レンダリングされる画像における対応するエッジピクセルを定義するデータを生成するために使用されることを特徴とする請求項1記載のアンチエイリアシング装置。
  6. 上記サブピクセルデータのクラスタは、該サブピクセルの色データ及びZ距離データを含むことを特徴とする請求項5記載のアンチエイリアシング装置。
  7. 上記画像内のポリゴン内に大半の部分が属する各サブピクセルは、全体が上記ポリゴン内に存在するピクセルと同様にレンダリングされ、
    上記画像内のポリゴン外に大半の部分が属する各サブピクセルは、背景ピクセルと同様にレンダリングされることを特徴とする請求項5記載のアンチエイリアシング装置。
  8. 上記サブピクセルの数は4であることを特徴とする請求項5記載のアンチエイリアシング装置。
  9. 上記メインバッファに格納されたデータは、表示装置(112)に接続されているビデオ信号生成器(111)に供給されることを特徴とする請求項1記載のアンチエイリアシング装置。
  10. 上記メインバッファ(109)に格納されている幾何データは、プリンタ(201)に供給されることを特徴とする請求項1記載のアンチエイリアシング装置。
  11. 電子的な幾何データからレンダリングされる画像のエッジのアンチエイリアシングを行うアンチエイリアシング方法において、
    上記レンダリングされる画像内のオブジェクトのエッジ上のピクセルの特徴を定義するデータを格納するために、メインバッファ(109)に加えて追加的メモリユニット(110)内の追加的メモリ空間を動的に割り当てるステップを有するアンチエイリアシング方法。
  12. ラスタライザ部(102)により上記幾何データをラスタライズするステップを有し、
    上記ラスタライザ部(102)は、上記幾何データのエッジピクセルを処理するときにメモリコントローラ(115)に知らせることを特徴とする請求項11記載のアンチエイリアシング方法。
  13. 上記メモリコントローラ(115)は、上記ラスタライザ部(102)からのコマンドに応じて、上記追加的メモリ空間を割り当てることを特徴とする請求項12記載のアンチエイリアシング方法。
  14. 上記ラスタライザ部(102)により、上記画像内の各ピクセルについて、該ピクセルが上記追加的メモリ空間を割り当てられるエッジピクセルであるか否か示す高解像度ビットフラグをビットフラグキャッシュに格納するステップを有する請求項13記載のアンチエイリアシング方法。
  15. 上記追加的メモリユニット(110)内のメモリ空間がピクセルに割り当てられると、所定の値インクリメントされるオフセット値を記憶するメモリオフセットレジスタ(114)により、上記追加的メモリユニット(110)におけるメモリ空間の割り当てを追跡するステップを有する請求項12記載のアンチエイリアシング方法。
  16. 上記追加的メモリ空間が割り当てられると、上記オフセットレジスタ(114)から出力され、該割り当てられたメモリ空間のアドレスを示すオフセット値を上記エッジピクセルに対応するデータセットの一部である上記メインバッファ内のデータフィールドに書き込むステップを有する請求項15記載のアンチエイリアシング方法。
  17. 上記データフィールドは、Z距離データフィールドであることを特徴とする請求項16記載のアンチエイリアシング方法。
  18. 上記追加的メモリユニット(110)内の割り当てられたメモリ空間に、上記画像内の各エッジピクセルのサブピクセルの数を特定するデータを含むサブピクセルデータのクラスタを格納するステップを有する請求項11記載のアンチエイリアシング方法。
  19. 上記サブピクセルのクラスタの色データを平均化し、該サブピクセルのクラスタに対応するメインピクセルの色データ値を算出するステップを有する請求項18記載のアンチエイリアシング方法。
  20. 上記メインバッファ(109)に格納されているデータを表示装置(112)に接続されているビデオ信号生成器(111)に供給するステップを有する請求項11記載のアンチエイリアシング方法。
  21. 上記メインバッファ(109)に格納されているデータをプリンタ(201)に供給するステップを有する請求項11記載のアンチエイリアシング方法。
  22. 電子幾何データからレンダリングされる画像内のオブジェクトのエッジのアンチエイリアシングを行うアンチエイリアシング装置において、
    上記幾何データを処理してピクセルデータを生成するピクセルデータ生成手段(104)と、
    上記レンダリングされる画像内のオブジェクトのエッジ上のピクセルの特徴を定義するピクセルデータを格納するために、メインバッファ(109)のメモリ空間に加えて、追加的メモリユニット(110)の追加的メモリ空間を動的に割り当てる割当手段(115)とを備えるアンチエイリアシング装置。
  23. 上記画像データ生成手段(110)は、上記ピクセルデータを生成し、エッジピクセルを識別するラスタライザ手段(102)であって、上記画像のオブジェクトのエッジ上に位置するエッジピクセルの幾何データを処理するときに、メモリ制御手段(115)に知らせるラスタライザ手段(102)を備えることを特徴とする請求項22記載のアンチエイリアシング装置。
  24. 上記メモリ制御手段(115)は、上記ラスタライザ手段(102)からのコマンドに応答して、上記追加的メモリ空間の割当を行うことを特徴とする請求項23記載のアンチエイリアシング装置。
JP2002543383A 2000-11-15 2001-11-09 効率的なアンチエイリアシングのためにフレームバッファを動的に割り当てる方法及び装置 Expired - Fee Related JP3797615B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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