(57)【要約】【課題】フォントや直線などの描画に関しては、ギザギザ（ジャギ）を軽減するためのアンチエリアスアルゴリズムが発明されているが、一般的な三次元処理に関しては１画素を描画するのに４〜１６倍の解像度で描画し、最後にそれを縮小するオーバーサンプリングによる処理が一般的である。この方法はアルゴリズムがシンプルだが、ワークエリアのメモリサイズやアクセスのための帯域を大量に使用してしまうという問題が有った。【解決手段】位置情報と第二カラーという概念を導入し、１画素あたりの情報量を１倍半〜２倍に抑えたままで４倍のリソースを用いるアンチエリアスとほぼ同様の描画結果が得られるようにした。これによりワークエリアのメモリサイズやアクセスのための帯域を低く抑えたままでアンチエリアス処理を可能にした。【選択図】図１
2007133466.tif 000002
【特許請求の範囲】
【請求項１】
三次元コンピューターグラフィックスの描画装置であって、
画素毎に複数回のオーバーサンプリングを実施し、
その結果として得られた色情報、奥行き値の情報を１つ以上まとめて１つの色情報、奥行き値で代表させ、前記オーバーサンプリングの回数よりも少ない数にまとめ、
それぞれの色情報、奥行き値の情報が前記オーバーサンプリングのどの位置の情報であるかを記録することで、
アンチエリアス処理を実現する描画装置。
【請求項２】
請求項１に記載の描画装置であって、画素毎の複数回のオーバーサンプリングで色情報を計算するが、奥行き情報は画素内の１点で決めた位置の値を使用する描画装置。
【請求項３】
請求項１に記載の描画装置であって、画素毎の複数回のオーバーサンプリングでその位置に描画しようとしている対象物が存在するかしないかだけを確認し、色情報や奥行き値は画素内の１点で決めた位置の値を使用する描画装置。
【請求項４】
請求項１、請求項２または請求項３に記載の描画装置であって、似たような色情報、奥行き値の情報をまとめてひとつの色情報、奥行き値の情報とすることで、記録すべき情報量を圧縮する描画装置。
【請求項５】
請求項４に記載の描画装置であって、新たな描画が行われた場合に記録できる色情報、奥行き値の最大数を超えた場合に、その画素についてはアンチエリアス処理をあきらめ、通常の描画を行う描画装置。
【請求項６】
請求項５に記載の描画装置であって、アンチエリアス処理をあきらめた画素全体を覆い、手前にあるものが描画された場合に請求項１から請求項４のいずれか一項に記載のアンチエリアス処理を再び実施する描画装置。
【請求項７】
請求項６に記載の描画装置であって、１画素あたり４箇所のオーバーサンプリングの結果を２つの色情報・奥行き値に記録する描画装置。
【請求項８】
請求項１に記載の描画装置を実現する集積回路。
【請求項９】
請求項２に記載の描画装置を実現する集積回路。
【請求項１０】
請求項３に記載の描画装置を実現する集積回路。
【請求項１１】
請求項４に記載の描画装置を実現する集積回路。
【請求項１２】
請求項５に記載の描画装置を実現する集積回路。
【請求項１３】
請求項６に記載の描画装置を実現する集積回路。
【請求項１４】
請求項７に記載の描画装置を実現する集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピューターグラフィクスの描画処理を行なう擬似アンチエリアス描画装置に関するものである。専用の半導体集積回路（ＬＳＩ）または本装置をその一部として取り込んだシステムＬＳＩに組み込む形で実装される場合がほとんどであるが、トランジスタやリレー素子など別の手段で擬似アンチエリアス描画アルゴリズムを用いた描画装置を構成することも可能である。
【背景技術】
【０００２】
コンピューター内部で幾何学的な座標や式などで表現された図形やフォントを紙に印刷する場合、もしプリンタが単純にそれぞれの画素毎に黒く印刷するか、それとも紙の色のまま残すかの２択で各画素の色を決めると、印刷結果はどうしても画素の形を反映してガタガタした感じが出てしまうという問題が有る。このガタガタは画素のサイズが大きいほど顕著で、画素のサイズが充分に小さく人間の目の解像度以下の場合は問題にならない。しかし通常は画素サイズの細かさは不十分であり、何らかの方法で問題を解決する必要が有った。
【０００３】
このような場合の問題解決法として、中間色を使うという方法が有る。つまり、完全な黒色で印刷する場合に加え、境界上の画素については白黒での表現ではなく、その画素の占有率を反映させた中間色・つまり灰色を用いることはかなり以前から行われていた。このような多階調表現によるアンチエリアス処理では、各画素の占有率をどのようにして計算するかがひとつのポイントになる。幾何学的な形状が各画素に占める面積を正確に計算することも不可能ではないが、計算量が多く、現実的な方法ではない。実際の方法としては１画素の範囲内に何個ものサンプリング・ポイントを取り、その位置での色情報・奥行き値を計算し、その平均値を取るのがアルゴリズムとしてシンプルであり、広く使われている。一般に、このような方法をオーバーサンプリングと呼んでいる。図１の１０１は１画素であり、その中に幾つか取られている１０２がサンプリング・ポイントである。この図では例として１３個のサンプリング・ポイントが有るが、単なる例であって、もちろんもっと多い場合も少ない場合もある。
【０００４】
理論的には画素内のサンプリング・ポイントの位置はランダムに取って良いが、処理を単純にするために縦方向Ｎ個（Ｎは自然数）、横方向Ｍ個（Ｍは自然数）の配列に並べると、単純に縦方向Ｎ倍、横方向Ｍ倍の解像度で描画を行うことになるのでアルゴリズムがシンプルになる。図２を参照のこと。ただし、ＮやＭの値が大きいと処理が莫大になるため、処理量を減らすためにＮ×Ｍ個中の特定のポイントだけ処理を行い、そのポイントで全体を代表させるようなことも行われている。図３はその例を示しており、３０１画素の中の３０２サンプリング・ポイントはＮ×Ｍの配列中から９個を選んだものになっている。この位置のみで処理を行い、９個の平均値を取って３０１画素全体の値にすることになる。
【０００５】
この問題はディスプレイ装置のような画面に表示する場合でも本質的に変わらない。たいていの場合、ディスプレイ装置のようなハードウェアの解像度はプリンタ等の機器の解像度に比べて低いので、この問題はよりいっそう深刻になる。よって、何らかのアンチエリアス処理が有効である。
【０００６】
三次元グラフィックスの描画結果をディスプレイ装置に表示する場合も問題の本質は全く同じである。ただ、解像度を上げて描画処理を行うと処理量が処理可能な量を超えてしまったり、ワークエリアとして確保しておかねばならないメモリ量が確保できなくなってしまったりする場合も多く、そのためにアンチエリアス処理を断念していた場合も多かった。
【０００７】
この問題を解決するひとつの方法として、特許文献１で示されるように、３次元グラフィックスの描画をスキャンライン毎に限定することで、一度に処理するデータ量を限定し、その上でワークエリアを全てハードウェア内に実装し、外部メモリに対するアクセスを無くしてしまう方法がある。
【特許文献１】特開平１１−２８３０４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
三次元グラフィックス処理において生成した画像のギザギザ感を無くすためのアンチエリアス処理は非常に有効であるが、単純にオーバーサンプリングで描画しておいてその描画結果を平均し、最終結果を得る方法では、メモリ上のワークエリアの量やメモリアクセスの帯域がオーバーサンプリングのサンプリング数倍必要となり、これを確保できない場合も多い。
【０００９】
特許文献１に示すスキャンライン法のように一度に処理できる量を画面全体の一部に限定することでハードウェア内にワークエリアを取り込み、外部メモリへのメモリアクセスを減らす方法は非常に有効では有るが、ハードウェアの規模が大きくなることや、画面全体を幾つかに分割して描画することによる弊害が避けられない。画面を分割して描画することの弊害としては、画面全体の描画内容が決まってからでないと描画開始できないために、ゲーム機などのユーザーの入力に対する反応時間を求められる用途では反応速度が低下して不利であることや、画面全体の描画内容を全て何らかの方法で記録しておかねばならないためにワークリアが多く必要な点、画面を分割することで記録された画面全体の描画内容を何度も評価せねばならなかったり、それを避けるために振り分けの処理が余分に必要になったりすることが上げられる。他にも、テクスチャ・マッピングで用いるテクスチャをハードウェアにキャッシュして使用しているような場合、画面を細分化することでキャッシュのヒット率が下がってしまう問題が発生する。
【００１０】
外部メモリ上のワークエリアのサイズやアクセスの量を増やすことなく、アンチエリアス処理を実現する方法として、ハードウェア内に１画素分だけオーバーサンプリング分の解像度のワークリアを設け、ハードウェア内ではオーバーサンプリングで処理しておいて、結果をメモリに反映させる際に平均値を取って反映させる方法も考えられる。この方法を使えば、ハードウェアの規模こそ大きくなるが、ワークエリアのサイズやアクセスのために必要なメモリ帯域はアンチエリアス処理をしない場合と同じで良い。
【００１１】
図４にこの方法の概念図を示す。４０１ハードウェア内部では単純に４倍のオーバーサンプリングを行い、カラー情報（色情報と奥行き値）４０２、４０３、４０４、４０５にそれらの情報を保存しているものとする。これを４０６外部メモリに記録する際には平均値を計算して４０７に記録するものとする。逆に４０６外部メモリに記録された値４０７を読み込む場合はカラー情報４０２、４０３、４０４、４０５に同じ値のコピーを設定する。
【００１２】
しかしこの方法は二次元画像や単純な三次元画像ではうまくいくが、複雑な三次元画像ではうまくいかない。図５を用いてこれを説明する。これは上から３ステップの処理を時間を追って説明しており、左側が理想的な・意図した姿であり、右側が実際にどのような処理結果になるかを示している。
【００１３】
一番上の段は注目している画素を５０１背景色で塗り潰した様子で、この段階では５０２実際の色情報もそのものと同じである。二段目の段に進み、この画素にそれよりも手前に存在し、別の色の５０４ポリゴンが上書きされたものとする。このとき実際にはメモリ上では５０５のように平均的な色になる。さらに三段目の段では先ほどのポリゴンと辺を共有し、５０７同じ色のポリゴンがさらに描画された様子を示す。理想的にはこれで背景色は完全に消えなければならないが、結果は５０８のように二段目の段階での平均値を元に計算するため、背景色が薄く入ってしまう。この問題は、ポリゴンの色と背景色が大きく異なる場合に顕著で、ポリゴンの合わせ目ににじみ出るようなノイズを出してしまう。
【００１４】
このような問題はポリゴンの合わせ目と、そうでない場所で同じように混ぜ合わせ処理をしてしまうことによって発生する。これを避けるために、ポリゴンを描画する際に、それぞれの辺について、辺を共有するポリゴンが存在するのか、それともその辺が端なのかを意識して描画する方法も使われることがある。辺を共有するポリゴンが見えない方向を向いている可能性も有るので、それも確認しながら処理しなければならない。このようにすれば問題は解決するが、そもそも描画ハードウェアにデータが届いた時点でこのような情報は欠落している場合がほとんどで、それを組み立て直すことは不可能ではないが処理に時間がかかり、１画面分全体のデータが揃うまで処理を開始できない。
【００１５】
その他工夫したさまざまな方法でどの画素が描画している形状の端（エッジ）に当たるのかを調べ、その部分だけでアンチエリアス処理を行う方法はエッジアンチエリアスと呼ばれることがある一般的な方法だが、テクスチャを貼った形状に対して実施すると端（エッジ）の画素だけが滑らかになってそうでない画素がそのまま残り、違和感があることが多い。
【００１６】
よって、エッジのみのアンチエリアスではなく、フルシーン（画面全体）のアンチエリアスをしなければいけない、というのは共通認識になってきている。
【課題を解決するための手段】
【００１７】
前記従来の課題を解決するために、本発明の擬似アンチエリアス描画装置はアンチエリアス処理無しの場合に比べて１倍半〜２倍程度のワークエリアサイズとアクセスのためのメモリ帯域を用いるだけで、画面の分割や描画しようとする形状の端（エッジ）の検出を行うことなく、全画面（フルシーン）のアンチエリアスを擬似的に実現する。
【００１８】
Ｎ倍のオーバーサンプリングでポリゴンを描画処理した場合、描画結果として出てくる情報量はＮ倍になる。しかし、もともとひとつのポリゴンを細かい解像度で描画しているだけなので、通常はほとんど似たような色、似たような奥行き値が並ぶだけのはずである。ワークエリアのメモリサイズやメモリアクセスの帯域にもし制限がなければ素直にこれら全てを残しておけば良いのだが、制限が有る場合はそうはいかない。
【００１９】
ただ、単純に平均値を計算して保存しただけでは色のにじみの問題が発生する。
【００２０】
前に説明したように、色のにじみの問題は、１画素中に２色以上が混じっているような状態の画素に、上からさらに新たなポリゴンを描画した際に、特定の色が完全に上書きされて消えてしまった、というようなことが判別できないことに原因がある。
【００２１】
そこで、本発明ではこれを防止するために、平均の色や奥行き値を記録するだけではなく、それらがどの位置に存在していたのかを合わせて記録する。これを以降「位置情報」と呼ぶ。また、情報を全く欠落させないようにするためには、記録すべき色と奥行き値のペアは最悪でＮ個分となる。しかしこれを全て記録すると単純にＮ倍のオーバーサンプリングのアンチエリアス処理とワークエリアのサイズやアクセスのための必要メモリバンド幅が同じになってしまう。そこで、本発明では１画素に対してＭ個の色しか記録しないことにする。Ｍは２以上Ｎ以下の整数である。
【００２２】
図１は１画素あたりＮ＝１３のオーバーサンプリングを行い、Ｍ＝４個の色の情報を記録するためのデータ形式を模式的に示している。１０４が位置情報を示しており、それぞれのサンプリング・ポイントに対して、どの色の情報が記録されているかを保存している。この例では半透明合成などはこのデータ形式に記録する前に処理を終えるのを前提にしており、同一のサンプリング・ポイントに対して唯一の色情報が対応することを前提にしているためこのような形式で位置情報を記録できる。もし半透明合成などを後で処理することにし、同一のサンプリング・ポイントに対して複数の色情報が対応可能とするならデータ形式を変える必要がある。この例では、各サンプリング・ポイントについて４ビットの情報を持たせ、対応しているビットを１にするなどすれば良いだろう。
【００２３】
Ｍの数が小さければ小さいほどリソースを節約できること、Ｍが２であってもたいていの場合に綺麗な描画結果が得られることなどから、通常はＭ＝２で充分である。
【００２４】
Ｎ倍のオーバーサンプリングで描画を行った場合、画素全体にポリゴンが存在する場合はＮ個の色と奥行き値が得られる。しかしこれらは非常に似た値になっているはずであり、１つの平均値で代表させることができる。非常に細かいテクスチャが貼られているような場合は必ずしも似たような色にはならないが、それも含めて平均値で表現しても差し支えはほとんど無い。
【００２５】
「位置情報」はＮビットで表現できる。たとえば、ポリゴンが存在したところは１、存在しなかったところは０で表現することにすれば良い。
【００２６】
Ｍ＝２ならば値の情報は２つ記録することになる。一番手前に存在するポリゴンによる色情報と奥行き値のペアの情報をまとめて「第一カラー」、二番目に存在するポリゴンによる色情報と奥行き値のペアの情報をまとめて「第二カラー」と呼ぶことにする。「位置情報」は第一カラー用のものだけを用意し、ここで第一カラーが存在しないとされた画素全体に第二カラーが存在する、つまり第一カラーと第二カラーで画素全体が塗り潰されるものとし、処理を単純化する。
【００２７】
以上、１画素あたりに必要な情報量は第一カラーの情報、第二カラーの情報、位置情報（Ｎビット）である。第一カラーを３２ビット色情報・３２ビットＺ値、第二カラーは補助的に使うだけなので１６ビット色情報・１６ビットＺ値とすると９６＋Ｎビットとなる。
【００２８】
理想的にはＮは大きい方が望ましいが、あまり大きくしても著しい効果が得られるわけではない。Ｎ＝１６ぐらいが理想であるが、Ｎ＝４でもそれなりに効果が得られる。
【００２９】
特に本質的な違いは無いので、以下ではＮ＝４、Ｍ＝２の場合について説明するが、これらのパラメータを大きくすればするほど良い描画結果が得られることは言うまでも無い。ただし、無制限に大きくすると得られるワークエリアサイズやアクセスメモリ帯域のメリットが少なくなってしまうので注意が必要である。
【００３０】
図６にＮ＝４、Ｍ＝２の場合を示す。Ｍが２なので６０４位置情報は各１ビット×４個の４ビットで表現できる。１画素あたりに必要な情報量は１００ビット（１バイトを８ビットとすると１２バイトプラス４ビット）となる。ただ、実際に実装する場合は６０５第一カラーのステンシル情報を４ビット削って、６０４位置情報の４ビットをそこに埋め込んでしまうとシンプルに実装できる。
【００３１】
図７にその様子を示す。１画素は７０５第一カラー８バイト（７０４位置情報を含む）、７０６第二カラー４バイトの合計１２バイトとなり、３２ビット／１６ビット形式のカラータイプを実装しているハードウェアに本発明を適用する際の親和性が良くなる。この場合の情報量は元のフルカラー８バイトに比べ１倍半である。
【００３２】
第二カラーも３２ビット形式で運用したり、第一カラー／第二カラーともに１６ビットカラーで運用することも可能である。この場合は元の情報量に比べて倍となる。ただし、１６ビットカラー２色の場合は位置情報を埋め込むのは困難なので、別途保存することになり、若干情報量が増えてしまう。
【００３３】
以上のようなデータ形式で処理を行う。１つの画素に存在する色がＭ個以下の場合は問題無いが、Ｍを超えるようになってくるとカラーの取捨選択が必要になる。Ｍ＝２の場合、３色以上の色が１つの画素に集中した場合、２つのカラーしか保存できないので、１つの色の情報を捨ててしまうか、３つのカラーから何らかの方法で２つを選んで混ぜ合わせてしまうか、その他何らかの方法で情報量を２つのカラー内に収めないといけなくなる。
【００３４】
せっかくのカラーの情報を捨てないでおくため、ある程度似たような色が有る場合はそれらを混ぜ合わせてしまうのが良い。しかし、あまり似ていない三色の場合は無理に混ぜ合わせるとどうしても色がにじむ場合が発生し、結果がおかしくなってしまう。
【００３５】
そこで、そのような場合は第二カラーの運用を停止し、最も近い色である第一カラーのみで処理するようにすると良い。言い換えれば、その画素のみ擬似アンチエリアス処理するのを止めてしまって、アンチエリアス無しの場合と同様の通常の描画方法を取れば良いのである。厳密に言えばこのようにすると滑らかに処理された画素がほとんどを占める中、アンチエリアス処理されていない画素がぽつぽつと存在するようになり、そこだけ滑らかでなくて違和感を覚えそうに思えるが、実際にやってみると３色以上が１画素に入ってくるような場合は、たいてい複数のポリゴンが複雑に絡み合っているようなややこしい場所であり、その画素だけアンチエリアス処理をしなくてもほとんど目立たない。
【００３６】
Ｎ＝４、Ｍ＝２の場合、位置情報は４ビットで表現されているが、普通の使い方では第一カラーが全く存在しないということは無いから、この４ビット全てが０になることは有り得ない。４ビットのうち、どこか１ビットぐらいは１になっているはずである。よって、４ビット全てが０になっている場合に特別な意味として、その画素が擬似アンチエリアス処理するのを止めてしまっていることを示す、というように実装するのが合理的である。
【００３７】
擬似アンチエリアス処理するのを止めてしまっている画素に対し、この画素全体を覆う不透明で混ぜ合わせ処理をしないポリゴンがより手前に書き込まれた場合は、この画素の擬似アンチエリアス処理を復活させることにする。ただし画素の全体を覆わない場合はこの画素の擬似アンチエリアス処理を復活させず、アンチエリアス処理無しの場合と同様に処理する。
【発明の効果】
【００３８】
本発明の擬似アンチエリアス描画装置によれば、単純にＮ倍のオーバーサンプリングのアンチエリアス処理を行うのに比べてワークエリアのサイズやそれにアクセスするためのメモリバスバンド幅を大きく削減でき、ほぼ同様の結果を得ることが可能である。
【００３９】
本発明はソフトウェアで全てを実装することもでき、その場合にも同様の効果が得られる。ハードウェアで一部または全部を実装する場合も要求されるハードウェア資源は比較的少なく、ＬＳＩの小規模な描画コアでも実装することができる。
【発明を実施するための最良の形態】
【００４０】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００４１】
（実施の形態１）
図１は本発明の請求項１の実施の形態の概念図である。Ｎ＝１３、Ｍ＝４の場合の擬似アンチエリアシング処理を示している。
【００４２】
１０１の１画素の中に１０２サンプリング・ポイントが１３箇所有り、それぞれの位置での色情報、奥行き値のペアの情報を計算すると１３個の情報が出てくる。これをなるべく色情報、奥行き値が似ているもの４つの組に分類し、手前から（近くにあるものから）順に第一カラー、第二カラー、第三カラー、第四カラーに振り向ける。１３個のサンプリング・ポイントはそれぞれ第一カラーから第四カラーのいずれか１つに属するものとし、１０４位置情報はこの情報を保持する。
【００４３】
外部メモリには１０３のような形式で保存する。１３個のサンプリング・ポイントの情報をそのまま保存するのに比べて大幅にメモリサイズを節約できる。
【００４４】
再びこの画素に新たなポリゴンを描画する際には、メモリに１０３の形式で保存されていた情報を読み出し、１３個のサンプリング・ポイントに対する以前の値を復活させる。ただし、カラーと奥行き値は４つの値だけに単純化されているので完全に元には戻らないが、たいていの場合アンチエリアス処理を行うには問題ない程度の誤差である。
【００４５】
（実施の形態２）
本発明の請求項１に関する別の実施の形態を例に挙げて説明する。１３個のサンプリング・ポイントの処理結果を４つのカラーに分類する作業はかなり負荷の重い作業である。そこで、あまり性能に影響が出ない範囲で処理を簡略化することを考える。
【００４６】
ポリゴンを描画する際に１３個のサンプリング・ポイントのそれぞれにそのポリゴンが存在するかどうかを調べ、仮の位置情報を作成する。図８にその様子を示す。８０１の１つの画素に８０２サンプリング・ポイントがあり、斜線のパターンで示した部分が今回描画しようとしているポリゴン内部とする。この場合、幾つかのサンプリング・ポイントはポリゴン内部であり、残りはポリゴン外部である。
【００４７】
８０３仮の位置情報に、ポリゴン内部は４、外部は１で区別をしている。ポリゴン内部にあるサンプリング・ポイントについて色情報と奥行き値をそれぞれ計算し、それらの平均値を計算し８０４今回のポリゴンの書き込みカラーとする。
【００４８】
８０５部メモリ上に保存された既存の値と比較し、奥行き値で分類してどの部分に挿入すれば良いのかを判断する。第一カラーから第四カラーは奥行き値で近いものから順にソートされているから、これらと順番に比較し、第一カラーより手前にあれば今回のものを第一カラーとし、元の第一カラーを第二カラーにし、元の第二カラーを第三カラーにするというように、ひとつずつ後ろにずらす。第一カラーの位置情報は作成しておいた仮の位置情報と内容が等しくなる。元の第一カラーが存在していたサンプリング・ポイントのうち、新しい第一カラーが存在するとされているものは存在を取り消す。これはより手前に新しいポリゴンが置かれたことで、後ろにあるポリゴンが見えなくなって消されたことを意味する。新しい第一カラーが半透明だったり、元のカラーとの混ぜ合わせが指示されている描画モードの場合はそれらの処理を行い、第一カラーに反映する。この作業によって全てのサンプリング・ポイントで存在しなくなる場合がある。そのような場合はそのカラーの値を削除し、以降を順送りにするのを取りやめる。
【００４９】
元の第四カラーはそれ以上後ろのカラーが存在しないため、順送りにするわけにはいかない。存在が消えてしまう場合は良いが、そうでない場合は単純に情報を捨て、もとの第四カラーに属していたサンプリング・ポイントは新しい第四カラーに属するものとする。このとき色情報および奥行き値は新しい第四カラーのものを用いる。色情報に関しては新しい第四カラーと元の第四カラーでサンプリング・ポイントの数の違いで重み付け平均を取って第四カラーの色情報を更新しても良い。
【００５０】
（実施の形態３）
本発明の請求項２に関する実施の形態では、（実施の形態２）で説明したのと同じ処理を行うが、オーバーサンプリングの各位置で奥行き値の計算を行うのを省略する。これは、書き込む内容がポリゴンの場合、多くの位置で奥行き値を真面目に計算しても、平均値を計算すると、ほぼ、画素中心での奥行き値に近い値になるため、最初から例えば画素中心での奥行き値を計算するだけで済ますことに変更した方法である。
【００５１】
（実施の形態４）
本発明の請求項３に関する実施の形態では、（実施の形態３）と同じ処理を行うが、オーバーサンプリングでは色情報の計算も行わず、存在するかどうかだけを判定する。色情報も例えば画素中心の値を計算するだけで済ませてしまう。テクスチャ・マッピングされている場合、これによって（実施の形態１〜３）に比べて画質が多少落ちるかもしれないが、回路構成はかなりシンプルに出来るというメリットがある。
【００５２】
（実施の形態５）
本発明の請求項４に関する実施の形態では、（実施の形態２〜４）と同じ処理を行うが、色情報と奥行き値を追加する際に、既存の色情報、奥行き値の中で似ているものが無いか探し、似ているものがあればそれと統合することでむやみにカラー値が増えるのを防ぐ。
【００５３】
辺を共有して連続するポリゴンの共有辺がちょうど上を通る画素などでは、一つ目のポリゴンを描画することによって保存されたカラーと、ふたつ目のポリゴンを描画することによって保存されるカラーの値はかなり近いことが多いと考えられる。このようなものをまとめて１つのものとして扱うことでカラーを保存する領域を有効利用する。
【００５４】
（実施の形態６）
本発明の請求項５に関する実施の形態では、（実施の形態５）と同じ処理を行うが、色情報、奥行き値の最大数を超えた場合は、その画素についてはアンチエリアス処理をあきらめ、通常の描画を行う。何らかの手段でその画素がアンチエリアス処理を中断していることが分かるようにしておき、その画素は第一カラーだけを使ってアンチエリアス処理を行わない場合の通常の処理を行う。
【００５５】
第一カラーと第二カラーだけを用いている場合は、位置情報は各１ビットで、値が１の時に第一カラー、値が０の時に第二カラーというような表示を行うことができる。近いほうのカラーを第一カラーにする関係で、普通は位置情報の全ビットが０になることはない。よってアンチエリアス処理を行っていない印として使用できる。
【００５６】
（実施の形態７）
本発明の請求項６に関する実施の形態では、この画素全体を覆う、つまり全てのサンプリング・ポイントで存在するものが上書きされた場合はこの画素のアンチエリアス処理を復活させることができる。そうで無い場合はアンチエリアス処理を行わないままで通常通りの描画を行う。
【００５７】
アンチエリアス処理を断念したような画素の周りはおそらくさまざまなカラーや奥行き値が入り乱れており、ちょうどさまざまな色が集まるようになっている。そのため、その画素だけアンチエリアスを行わなくてもさほど目立たないで済む場合が多い。
【００５８】
しかしどうしてもこの画素が目立つ場合は、アンチエリアスを行っていない画素だけでも周りの画素のカラーの平均値にするなど、フィルタ処理を行えば目立たなくなる。
【００５９】
（実施の形態８）
本発明の請求項７に関する実施の形態では、１画素あたり４箇所のオーバーサンプリングの結果を２つの色情報・奥行き値に記録する。この形式がシンプルであり、使い勝手が良いと考えられる。
【００６０】
図７はこの場合の画素内のサンプリング・ポイントと、データ形式を示している。
【００６１】
（実施の形態９）
本発明の請求項８〜１４に関する実施の形態では、描画装置を集積回路で実現する。
【産業上の利用可能性】
【００６２】
本発明にかかる擬似アンチエリアス描画装置は、三次元コンピューターグラフィクスの処理として有効である。したがってこの機能を含む家電機器、ゲーム機、パソコンなどの分野で利用される可能性が有る。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施の形態１における擬似アンチエリアス描画装置の画素のオーバーサンプリングと１画素あたりの情報を示す概念図
【図２】サンプリング・ポイントを縦Ｎ、横Ｍにそろえた場合の概念図
【図３】サンプリング・ポイントを縦Ｎ、横Ｍにそろえた場合の中から幾つかを選んでいる場合の概念図
【図４】ハードウェア内部で４倍のオーバーサンプリングを行い、外部メモリには通常と同じ１色分の情報のみ保存する方法の概念図
【図５】図４で示す方法では色にじみを起こしてしまう理由の説明図
【図６】サンプリング・ポイントが４個で、第一カラーと第二カラーを保存する形態の説明図
【図７】サンプリング・ポイントが４個で、第一カラーと第二カラーを保存する形態で、位置情報をステンシルの位置に埋め込んだ状態を示す概念図
【図８】実施の形態２の説明図
【符号の説明】
【００６４】
１０１    １つの画素
１０２    サンプリング・ポイント（この図では例として１３個のサンプリング・ポイントを示す）
１０３    スクリーンの１画素単位の情報
１０４    位置情報
１０５    第一のカラーに関する情報（カラー、ステンシル、奥行き値）
１０６    第二のカラーに関する情報（カラー、ステンシル、奥行き値）
１０７    第三のカラーに関する情報（カラー、ステンシル、奥行き値）
１０８    第四のカラーに関する情報（カラー、ステンシル、奥行き値）
２０１    １つの画素
２０２    サンプリング・ポイント（この図では例として４×５個のサンプリング・ポイントを示す）
３０１    １つの画素
３０２    サンプリング・ポイント
４０１    ハードウェア内部
４０２    第一のカラーに関する情報（色情報、ステンシル、奥行き値）。「色情報」は図中ではＲ、Ｇ、Ｂ、Ａで示す。「ステンシル」はＣＧ処理で補助的に使用されるワークエリア。図中ではＳで示す。「奥行き値」は図中ではＺで示す。それぞれ必要に応じて添字を付けて区別する。以下同様
４０３    第ニのカラーに関する情報（色情報、ステンシル、奥行き値）
４０４    第三のカラーに関する情報（色情報、ステンシル、奥行き値）
４０５    第四のカラーに関する情報（色情報、ステンシル、奥行き値）
４０６    外部メモリ
４０７    メモリ上のカラーに関する情報（色情報、ステンシル、奥行き値）
５０１    背景色で塗り潰された注目画素
５０２    ５０１を図４で概念を示す仕組みで処理した結果
５０３    半分５０４のポリゴンで塗り潰された画素
５０４    背景色と異なる色のポリゴン
５０５    ５０４を図４で概念を示す仕組みで処理した結果
５０６    残り半分も５０７のポリゴンで塗り潰された画素
５０７    ５０４と辺を共有し同じ色のポリゴン
５０８    ５０６を図４で概念を示す仕組みで処理した結果
６０１    １つの画素
６０２    サンプリング・ポイント（この図では４個のサンプリング・ポイントを示す）
６０３    スクリーンの１画素単位の情報
６０４    位置情報
６０５    第一のカラーに関する情報（色情報、ステンシル、奥行き値）
６０６    第二のカラーに関する情報（色情報、ステンシル、奥行き値）
７０１    １つの画素
７０２    サンプリング・ポイント（この図では４個のサンプリング・ポイントを示す）
７０３    スクリーンの１画素単位の情報
７０４    位置情報
７０５    第一のカラーに関する情報（色情報、ステンシル、奥行き値）
７０６    第二のカラーに関する情報（色情報、ステンシル、奥行き値）
８０１    １つの画素
８０２    サンプリング・ポイント（この図では例として１３個のサンプリング・ポイントを示す）
８０３    仮の位置情報（ポリゴンが存在する部分を４、存在しない部分を０で示す。）
８０４    ポリゴンが存在する部分のカラーに関する情報の平均値
８０５    スクリーンの１画素単位の情報
８０６    位置情報
８０７    第一のカラーに関する情報（色情報、ステンシル、奥行き値）
８０８    第二のカラーに関する情報（色情報、ステンシル、奥行き値）
８０９    第三のカラーに関する情報（色情報、ステンシル、奥行き値）
８１０    第四のカラーに関する情報（色情報、ステンシル、奥行き値）
【図１】
2007133466.tif 000003
【図２】
2007133466.tif 000004
【図３】
2007133466.tif 000005
【図４】
2007133466.tif 000006
【図５】
2007133466.tif 000007
【図６】
2007133466.tif 000008
【図７】
2007133466.tif 000009
【図８】
2007133466.tif 000010