(57)【要約】アンチエイリアシング装置は、映像アーチファクトを生じさせることなく、及び高価なアンチエイリアシングバッファを用いることなく、表示又は印刷される画像内のオブジェクトのエッジのアンチエイリアシングを行う。ラスタライザ部（１０２）は、幾何データをラスタライズする際、レンダリングされる画像内のオブジェクトのエッジ上のピクセルを識別する。これらのピクセルは、複数のサブピクセルを用いて高解像度でレンダリングされる。Ｚバッファ（１０９）は、どのピクセルが追加的な高解像度データを必要とするかに関する情報を受け取る。Ｚバッファ（１０９）は、この追加的なサブピクセルデータを格納するため、追加的メモリユニット（１１０）内のメモリ空間の割当を動的に行う。Ｚバッファには、メモリオフセット又はアドレスが書き込まれ、追加的メモリユニット（１１０）内の適切なアドレスがメモリコントローラ（１１５）に指示され、追加的メモリユニット（１１０）内のデータが混合され、対応するメインピクセルを定義するデータが生成され、Ｚバッファ（１０９）に格納される。
2004514227.tif 000002
【特許請求の範囲】
【請求項１】
レンダリングされる画像の幾何データ（１０８）が供給されるポリゴンレンダリング装置を備え、
上記ポリゴンレンダリング装置は、
ラスタライザ部（１０２）と、
メモリコントローラ（１１５）により制御される追加的メモリユニット（１１０）を有するメインバッファ（１０９）とを有し、
上記ラスタライザ部（１０２）が上記画像のオブジェクトのエッジ上に位置するエッジピクセルの幾何データを処理する際、上記ラスタライザ部（１０２）は、上記メモリコントローラ（１１５）に知らせ、上記メモリコントローラは、上記エッジピクセルに関する追加的データを格納するために上記追加的メモリユニット（１１０）の一部を割り当てることを特徴とするアンチエイリアシング装置。
【請求項２】
上記ラスタライザ部（１０２）は、上記画像内の各ピクセルに対応するビットフラグを格納するメモリ位置を有するビットフラグキャッシュ（１０５）を備え、
上記ラスタライザ部（１０２）は、上記画像内の各ピクセルについて、対応するピクセルが上記追加的メモリユニット（１１０）が割り当てられるエッジピクセルであるか否かを示す高解像度ビットフラグを上記ビットフラグキャッシュ（１０５）に格納することを特徴とする請求項１記載のアンチエイリアシング装置。
【請求項３】
上記メモリコントローラ（１１５）は、上記追加的メモリユニット（１１０）が割り当てられると、所定の値インクリメントされ、オフセット値を記憶する追加的メモリオフセットレジスタ（１１４）を備えることを特徴とする請求項１記載のアンチエイリアシング装置。
【請求項４】
上記メインバッファ（１０９）は、上記画像内の各ピクセルについて少なくとも３つのデータフィールドを備え、
上記３つのデータフィールドは、ビットフラグフィールド、色データフィールド及びＺ距離フィールドであり、
上記メモリコントローラ（１１５）は、上記追加的メモリユニット（１１０）が割り当てられるエッジピクセルについては、該エッジピクセルに対応するＺ距離フィールドに該追加的メモリユニット（１１０）のアドレスを示すオフセットを書き込むことを特徴とする請求項３記載のアンチエイリアシング装置。
【請求項５】
上記追加的メモリユニット（１１０）は、上記画像内の各エッジピクセルのサブピクセルデータのクラスタを格納し、該サブピクセルデータは、複数のサブピクセルデータのそれぞれの特徴を特定するデータを含み、上記レンダリングされる画像における対応するエッジピクセルを定義するデータを生成するために使用されることを特徴とする請求項１記載のアンチエイリアシング装置。
【請求項６】
上記サブピクセルデータのクラスタは、該サブピクセルの色データ及びＺ距離データを含むことを特徴とする請求項５記載のアンチエイリアシング装置。
【請求項７】
上記画像内のポリゴン内に大半の部分が属する各サブピクセルは、全体が上記ポリゴン内に存在するピクセルと同様にレンダリングされ、
上記画像内のポリゴン外に大半の部分が属する各サブピクセルは、背景ピクセルと同様にレンダリングされることを特徴とする請求項５記載のアンチエイリアシング装置。
【請求項８】
上記サブピクセルの数は４であることを特徴とする請求項５記載のアンチエイリアシング装置。
【請求項９】
上記メインバッファに格納されたデータは、表示装置（１１２）に接続されているビデオ信号生成器（１１１）に供給されることを特徴とする請求項１記載のアンチエイリアシング装置。
【請求項１０】
上記メインバッファ（１０９）に格納されている幾何データは、プリンタ（２０１）に供給されることを特徴とする請求項１記載のアンチエイリアシング装置。
【請求項１１】
電子的な幾何データからレンダリングされる画像のエッジのアンチエイリアシングを行うアンチエイリアシング方法において、
上記レンダリングされる画像内のオブジェクトのエッジ上のピクセルの特徴を定義するデータを格納するために、メインバッファ（１０９）に加えて追加的メモリユニット（１１０）内の追加的メモリ空間を動的に割り当てるステップを有するアンチエイリアシング方法。
【請求項１２】
ラスタライザ部（１０２）により上記幾何データをラスタライズするステップを有し、
上記ラスタライザ部（１０２）は、上記幾何データのエッジピクセルを処理するときにメモリコントローラ（１１５）に知らせることを特徴とする請求項１１記載のアンチエイリアシング方法。
【請求項１３】
上記メモリコントローラ（１１５）は、上記ラスタライザ部（１０２）からのコマンドに応じて、上記追加的メモリ空間を割り当てることを特徴とする請求項１２記載のアンチエイリアシング方法。
【請求項１４】
上記ラスタライザ部（１０２）により、上記画像内の各ピクセルについて、該ピクセルが上記追加的メモリ空間を割り当てられるエッジピクセルであるか否か示す高解像度ビットフラグをビットフラグキャッシュに格納するステップを有する請求項１３記載のアンチエイリアシング方法。
【請求項１５】
上記追加的メモリユニット（１１０）内のメモリ空間がピクセルに割り当てられると、所定の値インクリメントされるオフセット値を記憶するメモリオフセットレジスタ（１１４）により、上記追加的メモリユニット（１１０）におけるメモリ空間の割り当てを追跡するステップを有する請求項１２記載のアンチエイリアシング方法。
【請求項１６】
上記追加的メモリ空間が割り当てられると、上記オフセットレジスタ（１１４）から出力され、該割り当てられたメモリ空間のアドレスを示すオフセット値を上記エッジピクセルに対応するデータセットの一部である上記メインバッファ内のデータフィールドに書き込むステップを有する請求項１５記載のアンチエイリアシング方法。
【請求項１７】
上記データフィールドは、Ｚ距離データフィールドであることを特徴とする請求項１６記載のアンチエイリアシング方法。
【請求項１８】
上記追加的メモリユニット（１１０）内の割り当てられたメモリ空間に、上記画像内の各エッジピクセルのサブピクセルの数を特定するデータを含むサブピクセルデータのクラスタを格納するステップを有する請求項１１記載のアンチエイリアシング方法。
【請求項１９】
上記サブピクセルのクラスタの色データを平均化し、該サブピクセルのクラスタに対応するメインピクセルの色データ値を算出するステップを有する請求項１８記載のアンチエイリアシング方法。
【請求項２０】
上記メインバッファ（１０９）に格納されているデータを表示装置（１１２）に接続されているビデオ信号生成器（１１１）に供給するステップを有する請求項１１記載のアンチエイリアシング方法。
【請求項２１】
上記メインバッファ（１０９）に格納されているデータをプリンタ（２０１）に供給するステップを有する請求項１１記載のアンチエイリアシング方法。
【請求項２２】
電子幾何データからレンダリングされる画像内のオブジェクトのエッジのアンチエイリアシングを行うアンチエイリアシング装置において、
上記幾何データを処理してピクセルデータを生成するピクセルデータ生成手段（１０４）と、
上記レンダリングされる画像内のオブジェクトのエッジ上のピクセルの特徴を定義するピクセルデータを格納するために、メインバッファ（１０９）のメモリ空間に加えて、追加的メモリユニット（１１０）の追加的メモリ空間を動的に割り当てる割当手段（１１５）とを備えるアンチエイリアシング装置。
【請求項２３】
上記画像データ生成手段（１１０）は、上記ピクセルデータを生成し、エッジピクセルを識別するラスタライザ手段（１０２）であって、上記画像のオブジェクトのエッジ上に位置するエッジピクセルの幾何データを処理するときに、メモリ制御手段（１１５）に知らせるラスタライザ手段（１０２）を備えることを特徴とする請求項２２記載のアンチエイリアシング装置。
【請求項２４】
上記メモリ制御手段（１１５）は、上記ラスタライザ手段（１０２）からのコマンドに応答して、上記追加的メモリ空間の割当を行うことを特徴とする請求項２３記載のアンチエイリアシング装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子的に表示されたオブジェクトのエッジにおけるアンチエイリアシングの技術に関する。詳しくは、本発明は、フレームバッファ内のメモリを動的に割り当てることにより、電子的に表示されたオブジェクトのエッジにおけるピクセルデータを高い解像度で保存するための追加的なメモリを提供し、効率的にアンチエイリアシングを行う方法及び装置に関する。
【０００２】
【従来の技術】
コンピュータモニタやテレビジョンセット等の電子表示装置は、多数のピクセルから構成される画像、オブジェクト及びシーンを表示する。ピクセルは、表示装置の画面上にアレー状に配列された長方形のドットである。カラー表示装置においては、各ピクセルは、特定の色により定義される。ピクセルの色は、通常、色３ビットバイト、すなわちピクセルの色における赤、青、緑の成分を表す値によって定義される。ピクセルは、適切に配列されて、ピクセル全体により表示すべき画像、オブジェクト又はシーンが形成される。また、印刷される画像もピクセルにより構成することができる。
【０００３】
ピクセルの形状は長方形であり、斜線や曲線のエッジは、階段状になったり、鋸歯状に表示されてしまう。アンチエイリアシング（ａｎｔｉ−ａｌｉａｓｉｎｇ）とは、長方形のピクセル配列を用いる印刷装置又は電子表示装置において採用され、斜線又は曲線のエッジを円滑化する様々な技術の総称である。
【０００４】
アンチエイリアシングの基本的な手法として、斜線又は曲線のエッジに沿ったピクセルの色をそのエッジの外側の色と内側の色の中間の色に変換する手法がある。これにより、エッジは、より円滑に見える。この種のアンチエイリアシングの具体例としては、白の背景に黒の文字（斜線又は曲線を有する）を表示する場合がある。アンチエイリアシングを行わないと、特に解像度が低い表示装置においては、斜線が階段状に表示されてしまう。
【０００５】
ここで、表示装置が中間色である灰色を表示できる場合、アンチエイリアシングが行われる。例えば、ピクセルが完全に文字の内部にある場合、そのピクセルは黒で表示され、ピクセルが完全に背景に含まれる場合は、そのピクセルは白で表示され、ピクセルが白と黒が重なる領域に存在する場合は、その重なりの度合いに応じた明度の灰色を表示する。この技術は、この他の背景色及び前景色についても同様に適用することができる。
【０００６】
また、この他のアンチエイリアシング法として、全体の画像を最終的に表示装置に出力する解像度より高い解像度で電子的にレンダリングする手法がある。この手法では、画像のエッジを混合（ｂｌｅｎｄ）するために、重み付け再サンプリングを行う。この再サンプリングにより、表示装置に出力できるように解像度が低減される。
【０００７】
【発明が解決しようとする課題】
この手法により、アンチエイリアシング効果は得られるが、この手法は非効率的である。例えば、アンチエイリアシングを画像内の斜線又は曲線のエッジのみに適用すればよい場合であっても、画像の全ての部分にアンチエイリアシングのための処理が施される。また、この手法では、画像全体を高い解像度で保存し、出力の段階で解像度を低減するために画像をレンダリングするのに必要な時間が長くなる。また、処理の間、高い解像度の画像を記憶するために、追加的なメモリを設ける必要があり、高コストである。
【０００８】
この他のアンチエイリアシング法として、表示画像内の各ピクセルに追加的な情報を付加する手法がある。この追加的な情報としては、例えば、表示画像内のオブジェクトのエッジ上に位置する各ピクセルについて、そのピクセルが属する１又は複数のオブジェクトのサブピクセル幾何情報（ｓｕｂ−ｐｉｘｅｌ ｇｅｏｍｅｔｒｙ）を特定するフラグ等が含まれる。
【０００９】
この手法により、アンチエイリアシング効果が得られるが、この手法も極めて非効率的である。例えば、各ピクセルに関連付けられる追加的情報を記憶するために、Ｚバッファ（Ｚ−ｂｕｆｆｅｒ）と呼ばれる装置のデータバッファをアンチエイリアシングバッファ又はＡバッファ（Ａ−ｂｕｆｆｅｒ）に拡張する必要がある。
【００１０】
従来のＺバッファは、表示画面上の各ピクセルの位置について、色と、幾つかの制御フラグと、Ｚ距離値（Ｚ−ｄｉｓｔａｎｃｅ ｖａｌｕｅ）とを記憶するメモリの固定されたセットである。特定のポリゴンのフラグメント（ｆｒａｇｍｅｎｔ）を定義するデータがレンダリングエンジン（例えば、ラスタライザ（ｒａｓｔｅｒｉｚｅｒ）、テクスチャ回路（ｔｅｘｔｕｒｅ ｕｎｉｔ））から供給されると、このデータは、特定のピクセル位置に割り当てられており、Ｚバッファ内の特定のメモリ位置に関連付けられる。このピクセル位置に未だフラグメントが割り当てられていない場合、供給されたデータは、Ｚバッファにおいて、対応するメモリ位置に格納される。また、特定のピクセルに割り当てられたフラグメントのデータがＺバッファに供給され、且つ同じピクセルに関連付けられた他のフラグメントのデータが既に格納されている場合、供給されたフラグメントのＺ値と現在の位置の内容とが比較される。供給されたフラグメントのＺ値が現在Ｚバッファに格納されているフラグメントのＺ値より大きい場合、供給されたフラグメントのデータは削除又は無視される。一方、供給されたフラグメントのＺ値が現在Ｚバッファに格納されているフラグメントのＺ値より小さい場合、現在Ｚバッファに格納されているそのピクセルに対応するエントリは、供給されたフラグメントにより置換される。これにより、レジスタの設定により、Ｚ値を常に等しく制御することができる。
【００１１】
Ｚバッファは、供給されたフラグメントを現在Ｚバッファに格納されている内容にどの程度混合（ｂｌｅｎｄ）するか、又は混合しないかを定義する規則を適用することにより、部分的透過性（ｐａｒｔｉａｌ ｔｒａｎｓｐａｒｅｎｃｙ）をサポートすることができる。Ｚバッファが部分的透過性をサポートする場合、追加的ビット及び透過レベル値が各フラグメントに付加され、各Ｚバッファ位置は、対応するピクセルが透過性を有するか否か、及び透過性を有する場合、その混合レベルを示す。
【００１２】
ＡバッファとＺバッファの違いは、Ａバッファにおいては、エッジ位置におけるフラグメントデータのスタックが維持されるが、Ｚバッファにおいては、このようなデータのスタックは維持されないという点にある。すなわち、適用されるエッジフラグメントの数にかかわらず、特定の位置におけるＺバッファの「深さ（ｄｅｐｔｈ）」は変更されない。一方、Ａバッファは、全てのピクセルについて、上述した全てのデータを格納するために十分なメモリ空間を有している。ピクセルが表示画像内のエッジに位置する場合、そのピクセルは、背景に存在する（ｕｎｄｅｒｌｙｉｎｇ）各ポリゴンフラグメントに関する追加的なＺ距離及びサブピクセル幾何情報を有する。Ａバッファにおいては、各エッジのピクセル位置は、そのピクセル位置に関連付けられた、データを格納すべき全てのポリゴンフラグメントのスタック全体を有することができる。
【００１３】
Ａバッファの種類によっては、サブピクセル幾何情報の全体的なサブサンプリングを行わず、シーム（ｓｅａｍ）が生じる可能性があるものもある。このようなＡバッファを用いる場合、これらのシームを除去するために、表示装置においてオブジェクトを２回描画する必要がある場合がある。このような処理により、画面上に視覚的アーチファクト（ａｒｔｉｆａｃｔ）、すなわち表示画像の一部として、意図されていないゴースト画像が表示されてしまうことがある。高品質のＡバッファを用いれば、視覚的アーチファクトの問題を解決できるが、この場合、表示されているオブジェクトの各フラグメントに関する正確なサブピクセル幾何情報を維持管理するためのコストが必要となる。このような高品質Ａバッファ及びこれを動作させるために必要な複雑な制御機構により、装置のコストは著しく高くなってしまう。
【００１４】
そこで、エッジを視覚的に円滑に表示するとともに、短時間且つ低コストなアンチエイリアシング処理を実現できるアンチエイリアシング装置及びアンチエイリアシング方法が望まれている。
【００１５】
【課題を解決するための手段】
本発明は上述及びその他の要求を満足させるものである。詳しくは、本発明は、画像表示装置又はプリンタにおいて、画像の要素のエッジが高解像度でレンダリングされるように、必要に応じて、Ｚバッファに追加的メモリを付加するアンチエイリアシング装置を提供する。追加的メモリは、表示又は印刷される画像要素のエッジに位置する解像度が高められたピクセルに必要な追加的データを格納するために使用される。画像要素のエッジにおけるピクセルの解像度を高めることにより、映像アーチファクトを生じさせることなく、及び効果で複雑なアンチエイリアシングバッファ（すなわち、Ａバッファ）を用いることなく、アンチエイリアシングを行うことができる。
【００１６】
本発明の更なる利点及び新規な特徴は、以下の説明により明らかとなり、当業者は、以下の説明に基づいて、本発明を実施することができる。本発明の効果は、添付の請求の範囲に示されている要素により実現される。
【００１７】
簡潔に言えば、本発明は、レンダリングされる画像に対応する幾何データが供給されるポリゴンレンダリング装置と、メモリコントローラにより制御される追加的メモリユニットを有し、ポリゴンレンダリング装置から出力される画像データをバッファリングするためのメインバッファとを備えるアンチエイリアシング装置として具現化され、説明される。ポリゴンレンダリング装置は、幾何データを処理するラスタライザ部を備える。ラスタライザ部は、画像内のオブジェクトのエッジ上に位置するピクセルを処理するときに、メモリコントローラに知らせる。続いて、メモリコントローラは、画像内のオブジェクトのエッジに沿ったエッジピクセルの解像度を高めるために、エッジピクセル用の追加的ピクセルデータを格納するための部分を追加的メモリユニットに割り当てる。
【００１８】
好ましくは、ラスタライザ部は、画像内の各ピクセルに対応するビットフラグを格納するメモリ位置を有するビットフラグキャッシュを備える。ラスタライザ部（１０２）は、画像内の各ピクセルについて、ビットフラグキャッシュに高解像度ビットフラグを格納する。高解像度ビットフラグは、対応するピクセルが追加的メモリユニットが割り当てられるエッジピクセルであるか否かを示す。
【００１９】
メモリコントローラは、好ましくは、追加的メモリユニットが割り当てられると、所定の値インクリメントされ、オフセット値を記憶する追加的メモリオフセットレジスタを備える。このオフセット値は、追加的ピクセルデータを格納すべき追加的メモリユニット内のアドレスを指示する。
【００２０】
メインバッファは、好ましくは、（１）ビットフラグ、（２）色データフィールド、（３）Ｚ距離フィールドの少なくとも３つの各ピクセル用のデータフィールドを有している。エッジピクセル、すなわち高解像度ビットフラグが「オン」にされ、追加的メモリユニット一部が割り当てられるピクセルについては、メモリコントローラは、オフセットレジスタから供給されるオフセット値をＺ距離フィールドに書き込む。このオフセット値は、このピクセルに対応する追加的メモリユニット内のアドレスを示してる。
【００２１】
追加的メモリユニットは、画像内の各エッジピクセル用のサブピクセルデータのクラスタを格納する。サブピクセルデータには、レンダリングされる画像内の対応するピクセルを集合的に表現する複数のサブピクセルデータのそれぞれの特徴を記述するデータが含まれる。このサブピクセルデータの数は、例えば４である。サブピクセルデータのクラスタは、例えば、各サブピクセルの色データ及びＺ距離データを含む。
【００２２】
本発明の第１の具体例においては、メインバッファに格納されている画像データは、表示装置に接続されているビデオ信号生成器に供給される。本発明の第２の具体例においては、メインバッファに格納されている画像データは、プリンタに供給される。
【００２３】
本発明は、上述したアンチエイリアシング装置の製造方法及びアンチエイリアシング方法を含む。例えば、本発明は、電子的な幾何データからレンダリングされる画像のエッジのアンチエイリアシングを行うアンチエイリアシング方法において、レンダリングされる画像内のオブジェクトのエッジ上のピクセルの特徴を定義するデータを格納するために、メインバッファに加えて追加的メモリユニット内の追加的メモリ空間を動的に割り当て、これにより、エッジが画像内の他の部分より高い解像度でレンダリングされ、アンチエイリアシングを行うことができるアンチエイリアシング方法を提供する。
【００２４】
【発明の実施の形態】
本発明は、画像表示装置又は印刷装置におけるアンチエイリアシング装置のＺバッファに必要に応じて追加的メモリを使用し、画像内の要素のエッジを豊富なサブピクセルデータ（ｓｕｂ−ｐｉｘｅｌ ｄａｔａ）を用いてレンダリングする手法を提供する。追加的メモリは、表示又は印刷される画像のエッジに位置するより高い解像度のピクセルに必要な追加的データ（ｅｘｔｒａ ｄａｔａ）を格納するために使用される。画像の要素のエッジにおけるピクセルの解像度を高めることにより、映像アーチファクト（ｖｉｄｅｏ ａｒｔｉｆａｃｔ）を生じさせることなく、及び高価で複雑なアンチエイリアシングバッファ（すなわち、Ａバッファ）を用いることなく、アンチエイリアシングを行うことができる。
【００２５】
表示装置又は印刷装置において、特に、コンピュータを用いて画像を生成及び処理する場合、その画像は、コンピュータのメモリにおいて、複数の幾何データ、すなわち、ポリゴン形状（ｐｏｌｙｇｏｎａｌ ｓｈａｐｅｓ）又はフレームワークにより表現され、このポリゴン形状又はフレームワークに特定のテクスチャ（ｔｅｘｔｕｒｅ）が適用され、これにより表示又は印刷される画像が完成する。したがって、コンピュータが幾何データを読み出し又は生成する場合、この幾何データは、ポリゴンデータ及びテクスチャデータを解釈して画像をレンダリングする幾何データ処理装置により処理する必要がある。本発明を適用したこのような装置の構成をＦＩＧ．１に示す。
【００２６】
ＦＩＧ．１は、例えば表示装置１１２に接続された画像処理装置の一部の構成を示すブロック図である。ＦＩＧ．１に示す構成は、ハードウェア構成要素及びソフトウェア構成要素の組合せであり、特定の具体例における要求及び設計に応じて、幾つかの要素は、ハードウェア及びソフトウェアのいずれにより実現してもよく、あるいはファームウェアにより実現してもよい。
【００２７】
ＦＩＧ．１に示すように、レンダリングすべき画像の幾何データ及びテクスチャデータ１０８は、ホストコンピュータ又は幾何データを読み込み又は生成する他の装置から、ポリゴンレンダリング装置（ｐｏｌｙｇｏｎ ｒｅｎｄｅｒｉｎｇ ｓｙｓｔｅｍ）１０４に供給される。このポリゴンレンダリング装置１０４は、ポリゴンセットアップ部（ｐｏｌｙｇｏｎ ｓｅｔｕｐ ｕｎｉｔ）１０１と、ラスタライザ部（ｒａｓｔｅｒｉｚｅｒ ｕｎｉｔ）１０２と、テクスチャ部（ｔｅｘｔｕｒｉｎｇ ｕｎｉｔ）１０３とを備える。
【００２８】
ポリゴンセットアップ部１０１は、基本的には周知の動作を行い、幾何データ１０８をラスタライザ部１０２において必要とされる入力フォーマットに再フォーマットする。テクスチャ部１０３は、基本的には周知の動作を行い、幾何データ１０８において指定されているポリゴン形状及びテクスチャに追加的なテクスチャデータを付加する。テクスチャ部１０３は、テクスチャキャッシュ１０６あるいはテクスチャデータベース又はメモリ１０７から、ビデオの特定のフレーム又は特定の画像に適しているテクスチャからのテクセル（ｔｅｘｅｌｓ：テクスチャデータのビット）を読み出す。
【００２９】
幾何データがラスタライザ部１０２用にフォーマットされた後、及びテクスチャ部１０３によりテクスチャが追加される前に、ラスタライザ部１０２は、幾何データをラスタライズする。ラスタライザ部１０２は、幾何データを複数のポリゴンフラグメント（ｐｏｌｙｇｏｎ ｆｒａｇｍｅｎｔ）に分割し、レンダリングされる画像内の各ピクセルに関連付けられる１又は複数のポリゴンフラグメントを識別する。
【００３０】
幾何データがラスタライズされ、テクスチャが付加されると、このラスタライズされ、テクスチャが付加された幾何データは、バッファ１０９に供給され、更に、バッファ１０９は、このデータをビデオ信号生成器１１１に供給する。ビデオ信号生成器１１１は、このデータを用いてビデオ信号を生成し、表示装置１１２に供給する。表示装置１１２は、このビデオ信号に基づき、表示装置１１２の画面に所定の画像を表示する。表示画面又はプリンタに供給される全ての信号は、ラスタフォーマットにフォーマットされている。
【００３１】
本発明に基づくこの具体例においては、データをビデオ信号生成器１１１に供給する前に、ポリゴンレンダリング装置１０４及びバッファ１０９を用いて画像内の要素のエッジにおけるアンチエイリアシング処理を行う。この処理は、以下のようにして行われる。
【００３２】
ラスタライザ部１０２は、表示装置１１２の画像上の各ピクセルに対応する単一のビットを格納するビットフラグキャッシュ１０５を備える。各画像又はシーンがレンダリングされる（すなわち、表示装置１１２に表示され又はプリンタ２０１により印刷される）前に、ビットフラグキャッシュ１０５は、各ビット位置の値がゼロ（「０」）となるように初期化される。ラスタライザ部１０２によりラスタライズ処理が実行されている間、ラスタライザ部１０２は、ポリゴンセットアップ部１０１から供給されるポリゴン形状のエッジに位置するピクセルを識別する。
【００３３】
ラスタライザ部１０２がエッジピクセルを検出すると、ラスタライザ部１０２は、ビットフラグキャッシュ１０５内のそのエッジピクセルに対応するピクセル位置に「１」を書き込む。そのピクセル位置の値が既に「１」に設定されている場合、ラスタライザ部１０２は何も行わない。エッジの各ピクセルについて、ラスタライザ部１０２は、レンダリングされている画像内のその位置のポリゴンフラグメントのサブピクセル図形に関する追加的データを生成する。後に詳細に説明するように、この処理は、対応するエッジピクセルをレンダリングするために使用する４つのサブピクセル用のデータを生成する処理を含む。
【００３４】
ラスタライズ処理の結果生成されたデータ及びビットフラグキャッシュ１０５の内容は、Ｚバッファ１０９に供給される。ビットフラグキャッシュ１０５からのビットフラグは、ポリゴンレンダリング装置１０４からＺバッファ１０９に供給される少なくとも３つのデータ項目の１つであり、以下、このビットフラグを「高解像度ビットフラグ（ｈｉ−ｒｅｓ ｂｉｔ ｆｌａｇ）」と呼ぶ。詳しくは、ポリゴンレンダリング装置１０４からＺバッファ１０９には、各ピクセルに対応する高解像度ビットフラグと、レンダリングされている画像のその画像位置におけるポリゴンフラグメントを記述する幾何データとが供給される。
【００３５】
高解像度ビットフラグを含むピクセルデータがＺバッファ１０９に供給されると、メモリコントローラ１１５がこの高解像度ビットフラグを検出する。高解像度ビットフラグが「０」に設定されている場合、メモリコントローラ１１５は、Ｚバッファ１０９内の適切な位置にピクセルデータを格納する。一方、メモリコントローラ１１５が「１」に設定されている高解像度ビットフラグを含むピクセルデータを検出した場合、メモリコントローラ１１５は、追加的メモリユニット１１０において、そのピクセルに関連付けられている拡張された高解像度データを格納するための追加的メモリを割り当てる。追加的メモリユニット１１０は、独立したメモリユニットであってもよく、Ｚバッファ機構の一部として構成してもよい。
【００３６】
ポリゴンレンダリング装置１０４は、画像をレンダリングした後、Ｚバッファ１０９にコマンドを供給し、割り当てられた追加メモリユニット１１０の内容を消去し、メモリコントローラ１１５を初期化してもよい。ポリゴンレンダリング装置１０４及びＺバッファ１０９間においては、適用例の特徴に応じて、他の種類のコマンドを用いてもよい。
【００３７】
標準的なＺバッファは、ポリゴンレンダリング装置１０４から供給された画像内の各ピクセルに関するデータを記憶するメモリとは別に、一定量のメモリセットを有している。ピクセルに関するデータとしては、色３ビットバイト（ｃｏｌｏｒ ｔｒｉｐｌｅｔ）、Ｚ距離値（Ｚ−ｄｉｓｔａｎｃｅ ｖａｌｕｅ）、及び可能であれば、各ピクセル位置に関して記憶されるビットフラグ等が含まれる。色３ビットバイトは、赤、緑、青に対応する３個の値を用いてピクセルの色を特定する情報である。Ｚ距離値は、表示平面からのピクセルに関連するポリゴンフラグメントの距離を特定する値である。ビットフラグは、通常、ピクセル位置の現在の状態に関する情報を示す。
【００３８】
上述のように、本発明においては、各ピクセル位置に対して、高解像度ビットフラグが追加されている。高解像度ビットフラグがオン、すなわち高解像度ビットフラグの値が「１」である場合、通常ピクセルのＺ距離値を格納するために使用されるＺバッファのメモリの部分には、Ｚ距離値に代えて、このピクセルに対応する高解像度データが格納される追加メモリユニット１１０内のアドレスへのオフセットを表すオフセットデータを格納する。このオフセットデータは、追加的メモリユニット１１０内の位置が割り当てられると、メモリコントローラ１１５によって決定される。メモリコントローラ１１５は、割り当てられた追加的データを指示するオフセットデータを各ピクセルデータセットにおけるＺ距離フィールドに書き込む。
【００３９】
上述のように、追加的メモリユニット１１０は、エッジピクセル、すなわち高解像度ビットフラグが「１」に設定されているピクセル用の追加的データを格納するために設けられており、これにより、これらのピクセルは、高解像度でレンダリングされる。例えば、各エッジピクセルは、好ましくは４つのサブピクセル（ｓｕｂ−ｐｉｘｅｌ）に分割され、各サブピクセルは、例えば色３ビットバイト等、元の完全なピクセルの属性を特定するために必要な同じデータを用いて特定される。４つのサブピクセルは、２×２のマトリクス状に配列される。サブピクセルのデータは、対応するエッジピクセルを定義する複合データ（ｃｏｍｐｏｓｉｔｅ ｄａｔａ）を生成するために使用される。換言すれば、サブピクセルは、エッジピクセルを生成するために混合（ｂｌｅｎｄ）される。
【００４０】
ＦＩＧ．３は、ポリゴン３００と、このポリゴン３００を横切るピクセル列を示す図である。ＦＩＧ．３に示すように、ここでは、３つの基礎的な種類のピクセルが存在する。第１の種類のピクセルは、ポリゴン３００の外側に位置するピクセル３０１であり、これらのピクセル３０１は、画像の背景を表現するために使用される。第２の種類のピクセルは、ポリゴン３００の内側に完全に収まっているピクセル３０３であり、これらのピクセル３０３は、ポリゴンの色及びテクスチャを表現するために使用される。第３の種類のピクセルは、ポリゴン３００のエッジを含むピクセル３０２である。これらのピクセル３０２に対しては、ポリゴン３００を適切にレンダリングするために、アンチエイリアシング処理を施す必要がある。
【００４１】
ＦＩＧ．３ａは、各ピクセルデータを格納するように分割されたＺバッファの一部を説明する表１０９を示す図である。ＦＩＧ．３ａに示すように、Ｚバッファは、各ピクセルに対して３つのデータフィールドを備えている。第１のフィールドは、ピクセルに関連付けられたビットフラグを格納する。第２のフィールドは、色３ビットバイト形式で色データを格納し、第３のフィールドは、Ｚ距離データを格納する。表１０９のエントリは、ＦＩＧ．３に示す９個のピクセル（３０１〜３０３）を左から右の順序で上から下に示している。
【００４２】
ＦＩＧ．３ａに示す具体例においては、ピクセルが背景のピクセル３０１であるか、ポリゴン３００内のピクセル３０３であるか、エッジピクセル３０２であるかを識別するために使用される２ビットのビットフラグが用いられている。この２ビットのビットフラグの第１のビットは、ピクセルがポリゴン３００の一部であるか、画像の背景の一部であるかを示している。また、２ビットのビットフラグの第２のフラグは、エッジピクセルを示す高解像度ビットフラグである。
【００４３】
したがって、ＦＩＧ．３及びＦＩＧ．３ａに示すように、背景のピクセル３０１のビットフラグフィールドには「００」が格納される。背景のピクセル３０１は、ポリゴン３００のエッジを含まないため、第２のビット、すなわち高解像度ビットフラグは、「０」に設定される。背景のピクセル３０１の色データフィールドには、従来と同様の色３ビットバイトが格納され、Ｚ距離フィールドには、予定される（ｅｘｐｅｃｔｅｄ）Ｚ距離値が格納される。背景ピクセルは、高解像度ピクセルになることはないので、ビットフラグフィールドの値が「０１」の場合も、「００」と同様に取り扱われる。
【００４４】
ポリゴン３００内のピクセル３０１のビットフラグフィールドには、「１０」が格納される。ポリゴン３００内のピクセル３０１は、ポリゴン３００のエッジを含まないため、第２のビット、すなわち高解像度ビットフラグは、「０」に設定される。ポリゴン３００内のピクセル３０１の色データフィールドには、予定される色３ビットバイトが格納され、Ｚ距離フィールドには、予定されるＺ距離値が格納される。
【００４５】
ＦＩＧ．３ａに示す具体例においては、エッジピクセル３０２のビットフラグフィールドには「１１」が格納される。エッジピクセル３０２は、ポリゴン３００のエッジを含んでいるため、第２のビット、すなわち高解像度ビットフラグは、「１」に設定される。エッジピクセル３０２に対しては、色データフィールドには、エッジピクセル３０２に対応するサブピクセルの色３ビットバイトの平均値が格納される。サブピクセルの色３ビットバイトは、追加的メモリユニット１１０における割り当てられた部分に格納される。エッジピクセル３０２のＺ距離フィールドには、Ｚ距離値は格納されず、これに代えて、例えば混合等の処理により対応するエッジピクセル３０２を生成するために使用されるサブピクセルのデータが格納される追加的メモリユニット１１０内の部分へのオフセット又はアドレスを特定するためのデータが格納される。
【００４６】
ＦＩＧ．４は、実質的にＦＩＧ．３と同じ図を示している。なお、ＦＩＧ．４では、ポリゴン３００の右側のエッジ上のピクセル３０２ａを特定している。この特定されたピクセル３０２ａを用いて、本発明の原理を更に詳細に説明する。以下、本発明の具体例において、サブピクセルがどのように処理されるかを説明する。エッジピクセル３０２のサブピクセル化（ｓｕｂ−ｐｉｘｅｌｉｎｇ）の手法は、以下に説明する具体例と異なるものであっても、サブピクセルが追加的メモリユニット内の空間に動的に割り当てられるものである限り、本発明の範囲内にある。
【００４７】
ＦＩＧ．４ａは、エッジピクセル３０２ａをより詳細に示す図である。エッジピクセル３０２ａは、方形状の２×２のマトリクスに配列される４つのサブピクセルに分割される。これらのサブピクセルのデータを平均化することにより、レンダリングされた画像における対応するエッジピクセル３０２ａを定義するデータが生成される。
【００４８】
ＦＩＧ．４ａに示すように、ポリゴン３００のエッジの殆どは、サブピクセル３１０ｂを通過している。サブピクセル３１０ｃはエッジを全く含んでおらず、サブピクセル３１０ａ、３１０ｄは、僅かにエッジを含んでいる。
【００４９】
サブピクセルの好ましい処理法においては、サブピクセルの大部分がポリゴンに含まれる場合は、そのサブピクセルは、内部ピクセルとして処理される。逆に、サブピクセルの大部分が背景に含まれる場合は、そのサブピクセルは、ポリゴンの外に存在するピクセルとして処理される。したがって、サブピクセル３１０ａ、３１０ｃ、３１０ｄは、ポリゴン内部のピクセルとして取り扱われ、上述したピクセル３０３と同様に処理される。一方、サブピクセル３１０ｂは、ポリゴン３００の外側にあると見なされ、上述したピクセル３０１と同様、背景ピクセルとして処理される。また、ポリゴン３００に隣接して他の第２のポリゴンが存在し、サブピクセル３１０ｂの大部分がこの第２のポリゴンの領域に含まれる場合は、サブピクセル３１０ｂは、この隣接する第２のポリゴン内のピクセルとして処理される。
【００５０】
ＦＩＧ．４ｂは、追加的メモリユニット１１０のデータフィールド及びデータ構造を説明する表（１１０）を示す図である。追加的メモリユニット１１０は、好ましくは、サブピクセルクラスタ（ｓｕｂ−ｐｉｘｅｌ ｃｌｕｓｔｅｒ）の単純な線形配列により構成される。各サブピクセルクラスタは、特定のエッジピクセルに対応するサブピクセルの所定数の色３ビットバイトと、Ｚ距離値と、ビットフラグのセットとを格納する。この手法における基本的な考え方は、Ｚバッファ情報のフォーマットをＮ回複製することであり、ここで、Ｎとは、２の累乗であり、メインのピクセルから分割されるサブピクセルの数に対応する。
【００５１】
ここで説明する好ましい具体例においては、Ｎ＝４とする。換言すれば、各エッジピクセルについてデータを提供する４つのサブピクセルが設けられ、これにより、レンダリングされる画像又はシーンのオブジェクトのエッジを含むピクセルのアンチエイリアシングが行われる。したがって、ＦＩＧ．４ｂにおいては、サブピクセルクラスタ３０２内に４つのエントリが設けられている。
【００５２】
第１のエントリは、サブピクセル３１０ａに対応する。この具体例においては、この第１のエントリのビットフラグは「１」に設定されている。このビットフラグは、メインのピクセル３０２ａを定義するデータを生成するための平均化処理にこのサブピクセルを使用するか否かを示すフラグである。ビットフラグがオン、すなわち「１」に設定されている場合、メモリコントローラ１１５は、そのサブピクセルの色３ビットバイトを使用して、平均色３ビットバイトを生成し、この平均色３ビットバイトを対応するメインピクセル用のＺバッファの「色データ」フィールドに格納する。次のエントリは、サブピクセル３１０ｂに対応する。このエントリのビットフラグは「０」に設定されている。これにより、メモリコントローラ１１５は、サブピクセル３１０ｂを無視して平均色３ビットバイトを生成し、この平均色３ビットバイトを対応するメインピクセル用のＺバッファの「色データ」フィールドに格納する。
【００５３】
サブピクセル３１０の全てのデータが追加的メモリユニット１１０に書き込まれると、メモリコントローラ１１５は、各サブピクセルグループ（ＦＩＧ．４ｂ、３０２ａ）の色データを平均化する。これにより生成される「混合された（ｂｌｅｎｄｅｄ）」平均値は、対応するピクセル（例えば、ＦＩＧ．３ａに示す３０２）の色３ビットバイトとしてＺバッファ１０９に格納される。これにより、アンチエイリアシング効果が得られる。
【００５４】
Ｚバッファ１０９の内容を出力するときには、各ピクセルの色３ビットバイトのみがビデオ信号生成器１１１に順次出力される。このため、出力回路（例えば、ビデオ信号生成器１１１）は、本発明に基づく動的Ｚバッファからの信号を従来のＺバッファからの信号と同様に処理することができる。更に、Ｚバッファ１０９は、通常のサイズ及び複雑性のままピクセルデータを格納することができる。高解像度で、より多くのサブピクセルデータを必要とするエッジピクセルについては、バッファ１０９は、これらのデータを格納するための追加的メモリユニット１１０内のメモリ空間を動的に割り当てる。高解像度のサブピクセルデータは、ビデオ信号生成器１１１又は適切な他の処理回路に供給され、レンダリングされる画像又はシーン内のオブジェクトのエッジ周辺の画像の解像度が高められる。これにより、高価な部品を用いることなく、また、映像アーチファクトを生じさせることなく、アンチエイリアシングを行うことができる。
【００５５】
メモリコントローラ１１５は、アドレスレジスタ１１４を備え、アドレスレジスタ１１４は、追加的メモリユニット１１０に新たなメモリ位置が割り当てられる毎に、サブピクセルクラスタのサイズ分インクリメントされる。現在のオフセット値は、Ｚバッファ１０９の静的部分（ｓｔａｔｉｃ ｐｏｒｔｉｏｎ）１１３に格納してもよい。追加的メモリユニット１１０に新たなメモリ位置を割り当てる場合、メモリコントローラ１１５は、静的部分１１３から現在のオフセット値を読み出し、このオフセット値にサブピクセルクラスタのサイズをインクリメントし、これにより得られた値を次に格納すべきサブピクセルクラスタ用に割り当てられるメモリ位置として出力する。
【００５６】
ビデオフレーム、画像又はシーンがレンダリングされた後、メモリコントローラ１１５は、追加的メモリユニット１１０をクリアする。具体的には、ポリゴンレンダリング装置１０４は、メモリコントローラ１１５にリセットコマンドを送信する。これにより、メモリコントローラ１１５は、追加的メモリユニット１１０内の全てのビットを「０」にリセットする。更に、メモリコントローラ１１５は、Ｚバッファ１０９の静的部分１１３に格納され、追加的メモリオフセット用のアドレスレジスタ１１４により使用される現在のオフセット値を「０」にリセットする。
【００５７】
ＦＩＧ．２は、本発明の第２の具体例を示す図である。ＦＩＧ．２に示す具体例の大部分は、ＦＩＧ．１に示す具体例と同様である。これらの具体例に共通する要素については、同一の符号を付し、これらの要素は、上述のものと同様であるため、説明は省略する。
【００５８】
ＦＩＧ．２に示すように、本発明に基づくアンチエイリアシング装置は、電子画像表示装置と同様、画像印刷装置にも適用することができる。ＦＩＧ．２は、このような本発明に基づくアンチエイリアシング装置の具体例を示している。この具体例では、Ｚバッファ１０９の出力信号は、ＦＩＧ．１に示すような表示装置ではなく、プリンタ２０１に供給される。これにより、印刷画像において、上述のような利点を有する高品質なアンチエイリアシングを実現することができる。
【００５９】
なお、ここで使用する「プリンタ」という用語は、幾何データを用いて、例えば紙等の印刷媒体に対応する画像を印刷する様々な装置の総称として用いている。すなわち、「プリンタ」は、以下に限定されるものではないが、レーザプリンタ、インクジェットプリンタ、デジタルコピー機、ファクシミリ装置、ドットマトリクスプリンタ、プロッタ等を含む。
【００６０】
以上の記述は、本発明の例示的な説明にすぎない。個々に開示した詳細事項は、本発明を限定又は制限するものではない。上述の開示から、様々な修正及び変更が可能である。
【００６１】
本発明の最適な実施の形態は、本発明を最良に説明し、実際の適用例を提示するために選択された。上述の説明から、当業者は、実際の用途に応じて、上述の実施の形態を様々に変更して様々な形態で本発明を実施することができる。本発明の範囲は、添付の請求の範囲により定義される。
【図面の簡単な説明】
【図１】
ＦＩＧ．１は、電子表示装置内において実現される本発明に基づくアンチエイリアシング装置の構成を示すブロック図である。
【図２】
ＦＩＧ．２は、画像印刷装置内において実現される本発明に基づくアンチエイリアシング装置の構成を示すブロック図である。
【図３】
ＦＩＧ．３は、本発明の原理に基づいて処理及び表示されるポリゴン及びピクセルを示す図である。
【図４】
ＦＩＧ．３ａは、本発明に基づく動的Ｚバッファのセグメントにおけるデータフィールドを示す図である。
【図５】
ＦＩＧ．４は、本発明の原理に基づいて処理及び表示されるポリゴン及びピクセルを示す図である。
【図６】
ＦＩＧ．４ａは、本発明に基づくサブピクセルを含むピクセルを示す図である。
【図７】
ＦＩＧ．４ｂは、本発明に基づく追加的メモリユニットのセグメントにおけるデータフィールドを示す図である。
【図１】
2004514227.tif 000003
【図２】
2004514227.tif 000004
【図３】
2004514227.tif 000005
【図４】
2004514227.tif 000006
【図５】
2004514227.tif 000007
【図６】
2004514227.tif 000008
【図７】
2004514227.tif 000009
【国際公開パンフレット】
2004514227.tif 000010
2004514227.tif 000011
2004514227.tif 000012
2004514227.tif 000013
2004514227.tif 000014
2004514227.tif 000015
2004514227.tif 000016
2004514227.tif 000017
2004514227.tif 000018
2004514227.tif 000019
2004514227.tif 000020
2004514227.tif 000021
2004514227.tif 000022
2004514227.tif 000023
2004514227.tif 000024
2004514227.tif 000025
2004514227.tif 000026
2004514227.tif 000027
2004514227.tif 000028
2004514227.tif 000029
2004514227.tif 000030
2004514227.tif 000031
2004514227.tif 000032
2004514227.tif 000033
2004514227.tif 000034
2004514227.tif 000035
2004514227.tif 000036
【国際公開パンフレット（コレクトバージョン）】
2004514227.tif 000037
2004514227.tif 000038
【国際調査報告】
2004514227.tif 000039
2004514227.tif 000040