Sampling/ サンプリング


by Syuya Mukai

8月 28, 2020

サンプリング設定は、画質の主たる決定要因です。イメージをレンダリングするために、AMD Radeon ProRenderは、すべてのピクセルに多数のレイサンプルをキャストします。ピクセルに新しいサンプル値が追加されるたびに、サンプリング結果が平均化されてピクセルの色が計算されます。

画像は反復的にレンダリングされます。新しい反復ごとに新しいピクセルサンプルが追加されるため、画像の品質が向上し、ノイズの量が減少します。サンプルの数が多いほど、結果は良くなりますが、計算に時間がかかります。

Tile Rendering/ タイルレンダリング

デフォルトでは、ProRenderは画像のすべてのピクセルを同時にレンダリングして、色を計算します。画像が表示されると、最初は粒子が粗くノイズが多く表示され、レンダラーがより多くの反復を実行し、より多くのサンプルが計算されるにつれて徐々に改善されます。

このアプローチはより多くのメモリとCPUリソースを必要としますが、画像全体を可能な限り高速にプレビューし、変更が必要な場合に早期にレンダリングプロセスを中断することができます。画像全体をレンダリングする代わりに、タイルで画像をレンダリングすることを選択できます。

タイルレンダリングでは、メモリとCPUリソースをそれほど使用せずに、より高い解像度のレンダリングが可能です。ピクセル単位のタイルのサイズは、Tile X(水平タイルサイズ)および Tile Y(垂直タイルサイズ)パラメータを使用します。

:タイルレンダリングが有効な場合 timer limit(後述のMax Time Hours、Minutes, Seconds)は適用できません。すべてのタイルがレンダリングされると、イメージレンダリングプロセスが完了します。

 

下記の画像は、レンダリング開始直後の比較です。

レンダリング開始直後の比較

Anti-Aliasing/ アンチエイリアシング

アンチエイリアシングは、エイリアシング効果を除去するために適用されます。ギザギザとピクセル化されたエッジは、画像内の隣接する色の間のあらい遷移を表します。

アンチエイリアスは、フィルターを適用して平均を計算し、色を調整することにより、これらの遷移をスムーズにします。多くの場合、これによりアンチエイリアスセットのない一部のレンダーで見られる粗いエッジを取り除くことができます。ピクセルの色が再計算される方法は、主にアンチエイリアスフィルターの種類とフィルターサイズによって異なります。

Filter/フィルタ

使用するアンチエイリアシングフィルタのタイプを定義し、縁がどれだけ鋭く、もしくは滑らかにレンダリングされるかを制御します。各フィルターは曲線に基づいています。

曲線は、制限されたピクセルサンプルのサブセットに適用され、 filter size 各サンプルの重み、またはサンプルがピクセルカラーに影響を与える程度を計算します。次のフィルターを使用できます

  • Box:多くの場合、低品質の結果を生成するすべてのピクセルサンプルに同じ重みを適用します。
  • Triangle:ピクセルの中心からの距離に基づいてサンプルの重みを線形的に減少させ、シャープな結果を生成します。
  • Baussian:はぼやけた結果をもたらします。ピクセルの中心からの距離に応じて、サンプルにガウス曲線を適用します。
  • Mitchell;デフォルトのフィルターであり、画像のオールラウンドレンダリングに適していますが、大きなコントラストはありません。ピクセルの中心からの距離に応じて、サンプルにミッチェル曲線を適用します。このフィルターは、ガウス分布よりもシャープな結果をもたらします。
  • Lanczos:Mitchellに次いで2番目に優れた万能フィルターです。ピクセル中心からの距離に応じて、サンプルにランチョス曲線を適用します。このフィルターは、滑らかさとシャープネスのバランスをよくします。
  • Blackman Harris:BoxフィルターとGaussianフィルターを補完し、エッジがより滑らかに見えるため、ワイヤフレームレンダリングに特に効果的です。ピクセルの中心からの距離に従って、サンプルにブラックマンハリス曲線を適用します。

:さまざまなフィルターを適用した結果は多くの場合主観的であり、画像自体に依存します。

 

下の画像は、3ピクセル、それぞれ3サンプルの単純化されたモデルを示しています。サンプルの重みの分布方法を、BoxとTriangle 2つの最も単純なフィルターカーブで比較しています。

Box フィルタは、サーチエリア内の全てのサンプルに等しい重みを与えます、すなわちすべてのサンプルが、再計算された色に同様の影響を与えることを意味しています(色が平均化される)。

Triangle フィルタは、画素2の中心サンプルに最高の重み値を割り当て、直線画素中心からのサンプルの距離に基づいて重みを低下させます。

サンプルの重みの分布方法を、BoxとTriangle 2つの最も単純なフィルターカーブで比較

Filter Size/フィルタサイズ

Filter Size パラメータは、色の再計算のために設定されたフィルタ内領域の中心(又は半径)からのピクセルのサイズを制御するパラメータです。デフォルト値の1.5は、ピクセルサンプルの色を計算するために、AMD Radeon ProRenderは中心(0.5)からピクセルと、隣接するピクセルのすべてのサンプル(1)を考慮に入れることを意味します。

Adaptive Sampling

Adaptive Samplingの設定はFinal RenderViewport Renderで設定が分かれています。設定内容、効果としては同じです。

Adaptive Sampling

Threshold/ 閾値

このパラメータは、ピクセルに対して追加のサンプルを計算するかどうかを決定するために使用されます。ピクセルに新しいサンプルが追加されるときに、どれだけの分散が存在するかを示します。つまり、サンプリングを停止する前にピクセルに許容されるノイズの量を測定します。

パラメータの値の範囲は0〜1で、0はノイズなし(分散なし)を意味し、1はすべてのノイズが許可されることを意味します。新しいサンプルがキャストされると、ProRenderはピクセルの変化量とノイズの量をチェックします。

ノイズがしきい値よりも大きい場合、最大反復回数の制限に達しない限り、追加のサンプルが計算されます。ノイズがしきい値よりも小さい場合、その後のピクセルのサンプリングは停止します。

デフォルトのノイズしきい値0.05は、ほとんどのシーンに適したプレビュー値です。しきい値を下げると、ピクセルあたりのノイズが少なくなり、レンダリングの完了に必要な時間が長くなります。一方、しきい値を上げると、一般的にイメージの品質が犠牲になりますが、レンダリング時間は短くなります。

パラメーター値が0に設定されている場合、適応サンプリングは無効になります。この場合、ピクセルあたりのサンプル数は、最大反復値によって制御されます。パラメータ値を1に設定すると、Min Samplesの制限に達するとサンプリングが強制的に停止します。しきい値に応じてシーンの外観がどのように変化するかを確認してください。

Threshold/ 閾値による変化

Sampling

Adaptive Samplingと同様にFinal RenderViewport Renderで設定が分かれています。

Max Samples/ 最大サンプル数

ピクセルが受信することが可能なサンプルの最大数を定義するパラメータです。アダプティブサンプリングの場合、ノイズがまだノイズのしきい値よりも大きい場合でも、この制限に達するとサンプリングが停止します。

depth of field または motion blur が関係するシーンの場合、通常最大反復値を増やす必要があります。Max Samplingsの値を大きくすると、固定サンプリングモードで画像の品質がどのように変化するかを以下で比較してみます。

固定サンプリングモードで画像の品質がどのように変化するか

Min Samples/ 最小サンプル数

必要なピクセルごとの最小サンプル数を定義します。パラメータ値を変更することにより、適応サンプリングが行われる前に、全体的に保証される画質を制御できます。

レンダリングプロセスが遅くなりますので、この値は高く設定しないことをお勧めします。代わりに、きれいな画像を実現し、レンダリング時間を節約するためにThresholdを調整します。

Min Samplesの値を大きくすると、適応サンプリングモードで画像の品質がどのように変化するかを比較してみます。 Threshold は1に設定され、 Max Samplesは 、すべての画像に対して10000に設定されています。

Max Time Hours, Minutes, Seconds/ 最大時間、分、秒

レンダリング処理が終了するまでにどのくらいの時間をかけるかを定義するために使用します。アニメーションシーンの場合、時間制限はフレームごとに設定されます。

最大レンダリング時間を0に設定すると、時間制約が無効になります。この場合、レンダリングプロセスは反復回数によってのみ制限されます。