ニュース
» 2012年11月26日 13時00分 UPDATE

斜線と曲線をきれいに描けないPCのために:NVIDIAが訴求する「TXAA」の優位性

NVIDIAは、グラフィックス画質補正技術の「アンチエイリアス」に関する技術説明会を行い、そのなかで、最新の「TXAA」の概要を紹介した。

[長浜和也,ITmedia]

分割して色を“平均化”する「SSMA」

 円を描くとき、手書きならくるりときれいな曲線をひけるが、コンピュータグラフィックスには、単純な円をかくのがとても苦手だったりする。コンピュータグラフィックスは、縦線と横線もとてもきれいに描けるのに、ちょっと斜めになったとたんに、直線が描けなくなる。

 これは、コンピュータが四角のます目(グラフィックスの専門家は、これをピクセルと呼ぶ)を塗りつぶすことで描いているためだ。曲線や斜線を描くと、四角います目の角が目立ってしまい、階段状の“ギザギザ”のようになってしまう。

 アンチエイリアシングは、このギザギザを“目立たなくする”画質補正技術だ。「人間の目で認識できなくなるぐらい四角います目を小さくすればいいじゃない」というかもしれないが、そうなるとグラフィックスの演算処理が膨大な量となってしまい、いまのPCが持つ性能では円を描くだけでもいつまでも待つことになる。描画演算処理を抑えつつ、人の目にきれいな曲線や斜線に見えるようにするのが、アンチエイリアシングを必要とする理由だ。

 アンチエイリアシングでは、ます目ごとに周りから一番平均的な色を算出して「近い色にぼかす」ことでギザギザを目立たなくする。この「平均的な色」を求める方法を工夫することで新しいアンチエイリアシングが登場する。初期に登場したSupersampling アンチエイリアシング(SSAA)では、ます目をさらに分割して(この分割したます目をサブピクセルと呼び、分割する数をサンプリング数と呼び、“4x”“8x”と表している)、そのなかで占める色の分布と割合から平均的な色を求めていた。

kn_nvtxaa_01.jpgkn_nvtxaa_02.jpgkn_nvtxaa_03.jpg Supersamplingアンチエイリアシングで1つのますめを4分割した“4x”で平均的な色を求めたところ

影の計算は1点のみで演算量を抑える「MSAA」

 Supersamplingアンチエイリアシングでは、サンプル数を増やすほどギザギザが目立たなくなるが、それに伴い、演算処理の量も増える。そこで、演算量をさらに抑えるために考案したのが、Multisampleアンチエイリアシング(MSAA)だ。分割したます目の色を判断するポイントをます目の中心からずらし、“影”の描画計算(専門家はシェーディングと呼ぶ)は分割する前のます目の中央1点のみを使う。このことで、輪郭線のギザギザを目立たなくする効果が向上したのに、演算処理は控えめになっている。ただし、輪郭線の内側では、依然としてギザギザが目立ったままという問題があった。

kn_nvtxaa_04.jpgkn_nvtxaa_05.jpgkn_nvtxaa_06.jpg Multisampleアンチエイリアシングでは、シェーディングの演算はサブピクセルを使わずに演算処理量を抑え、サブピクセルの色判断はシフトしたポイントを使うことで輪郭線のギザギザを抑える

輝度差で輪郭線を算出する「FXAA」

 この問題を解決するために考案したのがFXAAだ。それまでのます目をさらに分割したます目(サブピクセル)を使わず、周辺のます目との「明るさの違い」(輝度差という)をもとに、輪郭線の方向と長さを計算で検出し、その結果をもとに周りのます目と色を混ぜることで、色の変化をより自然にしてギザギザを目立たないようにする。

kn_nvtxaa_07.jpgkn_nvtxaa_08.jpgkn_nvtxaa_09.jpg FXAAはサブピクセルを使わずに、輝度差から輪郭線の向きと方向を計算することでより自然に変化するように色を求める(写真=左)、4xMSAA(写真=中央)とFXAA(写真=右)を比べると、照準器内部の描画でギザギザが目立たなくなっているとNVIDIAは説明する

HDRにも対応可能になった「TXAA」

 このように、アンチエイリアシングは、演算処理量を抑えつつ、より自然な色の変化でギザギザを目立たなくする方向に進化している。TXAAでは、8x MSAAを上回る画質を2x MSAAの演算処理負荷で実現することを目指した最新のアンチエイリアシング技術だ。

 Multisamplingアンチエイリアシングのように複数の分割ます目の平均で色を求める手法では、ます目の境目に明るさの差(コントラストの差)ができるとギザギザが発生しやすくなる。そのため、TXAAで平均の色を求める処理では、ます目の境目を超えた範囲を参照することで、ます目の境目で明るさが大きく異なってもギザギザが発生しないようにしている。

 ます目ごとの極端な明るさの違いに弱いMultisamplingアンチエイリアシングでは、HDRといった極端に明るいシーンを描く視覚効果に適用できない。そこで、TXAAは、平均化処理の関係式で直線ではなく曲線になる関数を用いることで、極端に明るい場所でも良好な平均化処理を行うようにしている。さらに、動画では前フレームの結果も参照することでより高いアンチエイリアシング処理効果が出るように図っている。

kn_nvtxaa_10.jpgkn_nvtxaa_11.jpgkn_nvtxaa_12.jpg より少ない演算処理でより高い効果を実現するために考案したのが最新のTXAAだ(写真=左)。MSAAでは極端に明るさの差が極端にあるシーン(HDR効果を用いているシーン)ではギザギザを解消できなかったが(写真=中央)、TXAAは同様のシーンでもギザギザを目立たなくできる(写真=右)

kn_nvtxaa_13.jpgkn_nvtxaa_14.jpgkn_nvtxaa_15.jpg CALL OF DUTY BLACK OPS IIにおけるTXAAの効果。光を反射する金属枠と背景の暗い壁との境界で(写真=左)、4x MSAAはギザギザが目立つが(写真=中央)、4x TXAAでは減っている(写真=右)

kn_nvtxaa_16.jpgkn_nvtxaa_17.jpgkn_nvtxaa_18.jpg 同じく、白い背景の前に立つ人物の輪郭において(写真=左)、4x MSAAはギザギザが残るが(写真=中央)、4x TXAAでは滑らかなラインになった(写真=右)

関連キーワード

GeForce | NVIDIA | Kepler | Call of Duty


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

この記事が気に入ったら
ITmedia PC USER に「いいね!」しよう