スーパーサンプリング
スーパーサンプリング(英語: Supersampling)またはスーパーサンプリングアンチエイリアシング(英語: supersampling anti-aliasing( SSAA ))は、空間アンチエイリアシング方法により、コンピューターゲームまたは画像を生成する他のコンピュータープログラムでレンダリングされた画像からエイリアシング(ギザギザおよびピクセル化されたエッジ、通称「ジャギー」)を削除するために使用される。エイリアシングが発生するのは、連続した滑らかな曲線と線を持つ実際のオブジェクトとは異なり、コンピューター画面に多数の小さな正方形が表示されるため。これらのピクセルはすべて同じサイズで、それぞれが単一の色を持っている。線はピクセルの集合としてのみ表示できるため、画面に対し 完全に水平または垂直でない限り、ギザギザに見える。スーパーサンプリングの目的は、この影響を減らすこと。カラーサンプルは、ピクセル内のいくつかのインスタンスで取得され(通常のように中央だけでなく)、平均カラー値が計算される。これは、表示されている解像度よりもはるかに高い解像度で画像をレンダリングし、計算に追加のピクセルを使用して、画像を目的のサイズに縮小することで実現される。その結果、オブジェクトのエッジに沿ってピクセルの1つのラインから別のラインへの遷移がよりスムーズなダウンサンプリングされた画像が得られる。
サンプルの数によって、出力の品質が決まる。
こうした考え方は写真にも応用可能で、何らかの理由で最終成果物に解像度制限がある場合、高い解像度で撮影してから縮小すると高品質な写真に仕上げられる。
動機
[編集]エイリアシングは、2D画像の場合、口語的に「ジャギー」として知られるモアレパターンとピクセル化されたエッジとして現れる。一般的な信号処理と画像処理の知識は、エイリアシングを完全に排除するには、2Dアンチエイリアシングフィルターを適用した後、ナイキストレート(またはそれ以上)で適切な空間サンプリングが必要であることを示唆している。このアプローチでは順方向および逆方向のフーリエ変換が必要になるため、空間ドメイン(「画像ドメイン」)にとどまることでドメインの切り替えを回避するために、スーパーサンプリングなどの計算量の少ない近似が開発された。
方法
[編集]計算コストと適応型スーパーサンプリング
[編集]スーパーサンプリングは、使用されるバッファの量が数倍大きいため、はるかに大きなビデオカードメモリとメモリ帯域幅を必要とするため、計算コストが高くなる[1]。この問題を回避する方法は、アダプティブスーパーサンプリングと呼ばれる手法を使用することである。この手法では、オブジェクトのエッジのピクセルのみがスーパーサンプリングされる。
最初は、各ピクセル内でわずかなサンプルのみが取得され、これらの値が非常に類似している場合、これらのサンプルのみが色の決定に使用される。そうでない場合は、より多く使用される。この方法の結果、必要な場合にのみより多くのサンプルが計算されるため、パフォーマンスが向上する。
スーパーサンプリングパターン
[編集]ピクセル内でサンプルを取得する場合、サンプルの位置を何らかの方法で決める必要がある。これは無限にあるが、一般的に使われるいくつかの方法がある。 [1] [2]
-
離散一様分布グリッドアルゴリズム
-
回転グリッドアルゴリズム(サンプル密度の2倍)
-
ランダムアルゴリズム
-
ジッタアルゴリズム
-
ポアソンディスクアルゴリズム
-
準モンテカルロ法アルゴリズム
-
N-ルーク
-
RGSS
-
高解像度アンチエイリアス(HRAA)、Quincunx
-
Flipquad
-
Fliptri
グリッド
[編集]最も単純なアルゴリズム。ピクセルはいくつかのサブピクセルに分割され、サンプルはそれぞれの中心から取得される。実装は高速で簡単であるが、ただし、サンプリングの通常の性質により、使用されるサブピクセルの数が少ない場合でもエイリアシングが発生する可能性がある。
ランダム
[編集]確率的サンプリングとも呼ばれ、グリッドスーパーサンプリングの規則性を回避する。ただし、パターンの不規則性により、ピクセルの一部の領域ではサンプルが不要になり、他の領域ではサンプルが不足する[3]。
ポアソンディスクサンプリングアルゴリズム[4]は、サンプルをランダムに配置するが、2つが近すぎないことを確認する。最終結果は、サンプルの均一でランダムな分布になる。ただし、このアルゴリズムに必要な計算時間は、サンプリング自体がサンプルポイントの配置と比較して計算コストが高い場合、またはサンプルポイントがすべてのピクセルに対して再配置されない場合を除いて、リアルタイムレンダリングでの使用を正当化するには長すぎる[3]。
ジッター
[編集]ポアソンディスクを近似するためのグリッドアルゴリズムの変更。ピクセルはいくつかのサブピクセルに分割されるが、サンプルはそれぞれの中心からではなく、サブピクセル内のランダムなポイントから取得される。集合はまだ発生する可能性があるが、程度は低い[3]。
回転グリッド
[編集]2×2グリッドレイアウトが使用されますが、サンプルが水平軸または垂直軸に整列しないようにサンプルパターンが回転されるため、最も一般的に発生するケースのアンチエイリアス品質が大幅に向上する。最適なパターンの場合、回転角はarctan (1/2) (約26.6°)。そして正方形は√5/2に引き伸ばされる。
関連項目
[編集]- オーバーサンプリング
- マルチサンプル・アンチエイリアシング
- Quincunx
- グラフィックスカード
- グラフィックスプロセッシングユニット
- レイトレーシング(グラフィックス)
- フレームバッファ
- ゲームエンジン
- 画像スケーリング
- 2×SaI
- ディープラーニングスーパーサンプリング
参考文献
[編集]- ^ a b “Anti-aliasing techniques comparison”. sapphirenation.net (2016年11月29日). 2020年4月19日閲覧。 “Generally speaking, SSAA provides exceptional image quality, but the performance hit is major here because the scene is rendered at a very high resolution.”
- ^ “What is supersampling?”. everything2.com (2004年5月20日). 2020年4月19日閲覧。
- ^ a b c Allen Sherrod (2008). Game Graphic Programming. Charles River Media. p. 336. ISBN 978-1584505167
- ^ Cook, R. L. (1986). “Stochastic sampling in computer graphics”. ACM Transactions on Graphics 5 (1): 51–72. doi:10.1145/7529.8927.
外部リンク
[編集]- “High-Resolution Antialiasing (HRAA)”. Technical Brief: High-Resolution Antialiasing through Multisampling. 22 April 2017閲覧。
- “What is supersampling (antialiasing technique)?”. Hardware Knowledgebase. 2006年3月25日時点のオリジナルよりアーカイブ。1 May 2006閲覧。
- “Image Interpolation with Contour Stencils”. Image Processing On Line. 21 October 2010閲覧。