Date post: | 25-Jun-2015 |
Category: |
Technology |
Upload: | silicon-studio-corporation |
View: | 5,214 times |
Download: | 0 times |
コンテンツへ
Imagire Day 2009
コンテンツへ
続・レンダリスト養成講座続・レンダリスト養成講座シリコンスタジオ株式会社シリコンスタジオ株式会社
川瀬 正樹川瀬 正樹
コンテンツへ
アンチアンチ縮小バッファアーティファクト縮小バッファアーティファクト
4Imagire DayImagire Day コンテンツへ
コンテンツコンテンツ
• 縮小バッファ縮小バッファ• 縮小バッファアーティファクト縮小バッファアーティファクト• 目標目標• 縮小バッファブラー縮小バッファブラー• マッハバンドマッハバンド• 曲線補間による拡大曲線補間による拡大• 縮小バッファ拡大ブラー縮小バッファ拡大ブラー• 被写界深度エフェクトへの応用被写界深度エフェクトへの応用• 縮小ブレンドバッファPCF縮小ブレンドバッファPCF
コンテンツへ
縮小バッファ縮小バッファ
続・レンダリスト養成講座続・レンダリスト養成講座アンチ・縮小バッファアーティファクトアンチ・縮小バッファアーティファクト
6Imagire DayImagire Day コンテンツへ
縮小バッファの背景縮小バッファの背景
• 近年の近年の CGCG 技法はピクセル負荷が高い技法はピクセル負荷が高い– ポストエフェクトポストエフェクト
• 数十回に及ぶ全画面の塗りつぶし数十回に及ぶ全画面の塗りつぶし– 大量の半透明パーティクル大量の半透明パーティクル
• ⇒⇒ フィルがボトルネックとなることが多フィルがボトルネックとなることが多いい
7Imagire DayImagire Day コンテンツへ
縮小バッファの概要縮小バッファの概要
• フレームバッファより小さいサイズで処フレームバッファより小さいサイズで処理理– 塗りつぶし面積を小さくすることで高速化塗りつぶし面積を小さくすることで高速化– ½×½ ½×½ なら4倍高速に処理可能なら4倍高速に処理可能– ¼×¼ ¼×¼ なら16倍高速に処理可能なら16倍高速に処理可能
8Imagire DayImagire Day コンテンツへ
縮小バッファの特徴縮小バッファの特徴
• メリットメリット– 面積に応じて処理が高速化面積に応じて処理が高速化
• デメリットデメリット– 固定のオーバヘッド固定のオーバヘッド
• 縮小/拡大処理など縮小/拡大処理など– 解像度不足によるアーティファクトの発生解像度不足によるアーティファクトの発生
9Imagire DayImagire Day コンテンツへ
縮小バッファに向いた処理縮小バッファに向いた処理
• フィルがネックとなる処理フィルがネックとなる処理• 低解像度化による問題が目立たないもの低解像度化による問題が目立たないもの
– 比較的表面化しにくいもの比較的表面化しにくいもの
• 典型的な使い方典型的な使い方– ポストエフェクトポストエフェクト– 半透明描画(特にパーティクル)半透明描画(特にパーティクル)– etc.etc.
コンテンツへ
縮小バッファアーティファクト縮小バッファアーティファクト
続・レンダリスト養成講座続・レンダリスト養成講座アンチ・縮小バッファアーティファクトアンチ・縮小バッファアーティファクト
11Imagire DayImagire Day コンテンツへ
縮小バッファのアーティファク縮小バッファのアーティファクトト• 低解像度に起因する画質低下低解像度に起因する画質低下• 情報量が少ない状態から拡大するため情報量が少ない状態から拡大するため• 縮小バッファは本質的にこの問題をもつ縮小バッファは本質的にこの問題をもつ
12Imagire DayImagire Day コンテンツへ
アーティファクトの例アーティファクトの例
• グレアエフェクトの場合グレアエフェクトの場合– 縮小バッファでグレア生成縮小バッファでグレア生成– バイリニア補間でフレームバッファサイズにバイリニア補間でフレームバッファサイズに
拡大拡大
13Imagire DayImagire Day コンテンツへ
グレア生成結果(グレア生成結果( 1/8×1/81/8×1/8 サイサイズ)ズ)
14Imagire DayImagire Day コンテンツへ
バイリニア補間による拡大バイリニア補間による拡大
15Imagire DayImagire Day コンテンツへ
グレアエフェクトの例グレアエフェクトの例
• さまざまな解像度で生成したグレアさまざまな解像度で生成したグレア• 縮小バッファのサイズ縮小バッファのサイズ
– 1/2×1/21/2×1/2– 1/4×1/41/4×1/4– 1/8×1/81/8×1/8
16Imagire DayImagire Day コンテンツへ
1/2×1/21/2×1/2
17Imagire DayImagire Day コンテンツへ
1/4×1/41/4×1/4
18Imagire DayImagire Day コンテンツへ
1/8×1/81/8×1/8
19Imagire DayImagire Day コンテンツへ
解像度不足によるエイリアス解像度不足によるエイリアス
1/2 1/2 縮小バッファ縮小バッファ 1/4 1/4 縮小バッファ縮小バッファ 1/8 1/8 縮小バッファ縮小バッファ
20Imagire DayImagire Day コンテンツへ
鋭さ/きめ細かさの表現力低下鋭さ/きめ細かさの表現力低下
1/2 1/2 縮小バッファ縮小バッファ 1/4 1/4 縮小バッファ縮小バッファ 1/8 1/8 縮小バッファ縮小バッファ
21Imagire DayImagire Day コンテンツへ
1/8×1/8 1/8×1/8 別のタイプのグレア別のタイプのグレア
22Imagire DayImagire Day コンテンツへ
マッハバンド現象マッハバンド現象
格子状に明るい線(帯)や暗い線があるように見える格子状に明るい線(帯)や暗い線があるように見える
23Imagire DayImagire Day コンテンツへ
縮小バッファアーティファクト縮小バッファアーティファクト
• 解像度不足によるエイリアス解像度不足によるエイリアス• 鋭さ/きめ細かさの表現力低下鋭さ/きめ細かさの表現力低下• マッハバンドマッハバンド• etc.etc.
• 縮小バッファが小さいほど目立つ縮小バッファが小さいほど目立つ
コンテンツへ
目標目標
続・レンダリスト養成講座続・レンダリスト養成講座アンチ・縮小バッファアーティファクトアンチ・縮小バッファアーティファクト
25Imagire DayImagire Day コンテンツへ
動機動機
• 縮小バッファはとにかく画質が低い!縮小バッファはとにかく画質が低い!– この低解像度感をなんとかしたい!この低解像度感をなんとかしたい!
• できるだけ小さい縮小バッファを使いたできるだけ小さい縮小バッファを使いたいい– 高速化のため高速化のため– 小さい縮小バッファほどアーティファクトが小さい縮小バッファほどアーティファクトが
目立つ目立つ– 縮小バッファのサイズを視認させたくない縮小バッファのサイズを視認させたくない
26Imagire DayImagire Day コンテンツへ
目標とするところ目標とするところ
• アーティファクトを軽減したいアーティファクトを軽減したい– 解像度が低いため本質的な解決は不可能解像度が低いため本質的な解決は不可能
• 基本的にはごまかし処理となる基本的にはごまかし処理となる• パフォーマンス低下は最小限でパフォーマンス低下は最小限で
– あまり遅いと縮小バッファの意味がないあまり遅いと縮小バッファの意味がない– ⇒⇒ 縮小バッファの解像度を上げる方がよい縮小バッファの解像度を上げる方がよい
コンテンツへ
縮小バッファブラー縮小バッファブラー
続・レンダリスト養成講座続・レンダリスト養成講座アンチ・縮小バッファアーティファクトアンチ・縮小バッファアーティファクト
28Imagire DayImagire Day コンテンツへ
アーティファクトを防ぐにはアーティファクトを防ぐには
• もっとも簡単な方法もっとも簡単な方法– ぼかしフィルタぼかしフィルタ
• 縮小バッファのエフェクト結果を少しぼ縮小バッファのエフェクト結果を少しぼかすかす– 拡大(アップサンプル)前にブラーをかける拡大(アップサンプル)前にブラーをかける
• アップサンプル後のブラーは負荷が高いためアップサンプル後のブラーは負荷が高いため– フレームバッファサイズにバイリニア拡大フレームバッファサイズにバイリニア拡大
29Imagire DayImagire Day コンテンツへ
グレア生成結果(グレア生成結果( 1/8×1/81/8×1/8 サイサイズ)ズ)
30Imagire DayImagire Day コンテンツへ
わずかなぼかし処理(わずかなぼかし処理( 1/81/8サイサイズ)ズ)
31Imagire DayImagire Day コンテンツへ
バイリニアで最終サイズに拡大バイリニアで最終サイズに拡大
32Imagire DayImagire Day コンテンツへ
拡大アルゴリズムの比較拡大アルゴリズムの比較
• 1/8×1/8 1/8×1/8 サイズ縮小バッファでグレア生成サイズ縮小バッファでグレア生成– バイリニア補間による拡大バイリニア補間による拡大– 縮小バッファブラー縮小バッファブラーバイリニア補間拡大バイリニア補間拡大
• 微妙にぼかしてからバイリニア補間で拡大微妙にぼかしてからバイリニア補間で拡大
33Imagire DayImagire Day コンテンツへ
バイリニア補間による拡大バイリニア補間による拡大
34Imagire DayImagire Day コンテンツへ
縮小バッファブラー後バイリニア拡縮小バッファブラー後バイリニア拡大大
縮小バッファブラー縮小バッファブラーバイリニア補間拡大バイリニア補間拡大
35Imagire DayImagire Day コンテンツへ
縮小バッファブラーの効果縮小バッファブラーの効果
• 空間周波数の高い領域空間周波数の高い領域– 細部がさらにぼけている細部がさらにぼけている– アーティファクトはやや軽減されるアーティファクトはやや軽減される
バイリニア補間バイリニア補間 縮小バッファブラー縮小バッファブラー
36Imagire DayImagire Day コンテンツへ
縮小バッファブラーの効果縮小バッファブラーの効果
• 空間周波数の低い領域空間周波数の低い領域– マッハバンドがやや目立たなくなるマッハバンドがやや目立たなくなる
バイリニア補間バイリニア補間 縮小バッファブラー縮小バッファブラー
37Imagire DayImagire Day コンテンツへ
縮小バッファブラーの評価縮小バッファブラーの評価
• 画質面での評価画質面での評価– アーティファクトはやや軽減されているアーティファクトはやや軽減されている– 細部がさらにぼけてしまっている細部がさらにぼけてしまっている
• 速度面での評価速度面での評価– 負荷は極めて少ない負荷は極めて少ない
• 縮小バッファサイズでの極小規模なブラー縮小バッファサイズでの極小規模なブラー• エフェクト全体と比較するとほぼ負荷にならないエフェクト全体と比較するとほぼ負荷にならない
38Imagire DayImagire Day コンテンツへ
縮小バッファブラーの評価縮小バッファブラーの評価
• メリットとデメリットが両方目立つメリットとデメリットが両方目立つ– 強くぼかすとアーティファクトはさらに軽減強くぼかすとアーティファクトはさらに軽減
できるできる– ただしさらに細部がぼけてしまうただしさらに細部がぼけてしまう
バイリニア補間バイリニア補間 縮小バッファブラー縮小バッファブラー 縮小バッファブラー(強)縮小バッファブラー(強)
39Imagire DayImagire Day コンテンツへ
縮小バッファブラーの評価縮小バッファブラーの評価
• ⇒⇒ 実用性は微妙実用性は微妙
コンテンツへ
マッハバンドマッハバンド
続・レンダリスト養成講座続・レンダリスト養成講座アンチ・縮小バッファアーティファクトアンチ・縮小バッファアーティファクト
41Imagire DayImagire Day コンテンツへ
視覚の特性視覚の特性
• 明るさの変化を強調して知覚する明るさの変化を強調して知覚する– 変化する場所を実際の差以上に強く感じる変化する場所を実際の差以上に強く感じる
• 典型的なケース典型的なケース– 明るさが非連続明るさが非連続– 明るさの変化率(一階微分)が非連続明るさの変化率(一階微分)が非連続
42Imagire DayImagire Day コンテンツへ
シュブルール錯視シュブルール錯視
• 明るさが非連続に変化明るさが非連続に変化– 隣接する色との差が強調されて見える隣接する色との差が強調されて見える
このような階調変化はこのような階調変化は このように知覚されるこのように知覚される 境界部分の輝度差が強調境界部分の輝度差が強調
43Imagire DayImagire Day コンテンツへ
マッハバンドマッハバンド
• 明るさが連続でも滑らかに見えにくい明るさが連続でも滑らかに見えにくい– 明るさの階調が変化している場合明るさの階調が変化している場合– 傾斜の終端部分の外側に本来存在しない明る傾斜の終端部分の外側に本来存在しない明る
さの帯があるように見えるさの帯があるように見える
このような階調変化はこのような階調変化は このように知覚されるこのように知覚される 本来より本来より暗い帯暗い帯
本来より本来より明るい帯明るい帯
本来より本来より暗い帯暗い帯
本来より本来より明るい帯明るい帯
44Imagire DayImagire Day コンテンツへ
バイリニアに補間によるマッハバンバイリニアに補間によるマッハバンドド
• バイリニア補間で拡大した画像バイリニア補間で拡大した画像– 明るさは連続明るさは連続
• 折れ線のような変化折れ線のような変化– 変化率は非連続変化率は非連続
このような階調変化このような階調変化 このように知覚このように知覚 グレアに格子状の輝線や暗線が感じられるグレアに格子状の輝線や暗線が感じられる
45Imagire DayImagire Day コンテンツへ
縮小バッファブラーの効果縮小バッファブラーの効果
勾配差の軽減勾配差の軽減 知覚の変化知覚の変化
画像の変化画像の変化
バイリニア補間バイリニア補間 縮小バッファブラー縮小バッファブラー
46Imagire DayImagire Day コンテンツへ
縮小バッファブラーの効果縮小バッファブラーの効果
• 変化率はややなだらかになる変化率はややなだらかになる– マッハバンドはやや軽減されるマッハバンドはやや軽減される
• 明るさ変化(折れ線)の性質は変わらな明るさ変化(折れ線)の性質は変わらないい– 本質的な軽減策にはなっていない本質的な軽減策にはなっていない– 目立ちにくくなるがしっかり残っている目立ちにくくなるがしっかり残っている
47Imagire DayImagire Day コンテンツへ
マッハバンドを防ぐにはマッハバンドを防ぐには
• 階調が変化する場所を滑らかに階調が変化する場所を滑らかに– 少なくとも明るさの変化率が連続少なくとも明るさの変化率が連続
• C1C1級以上滑らかであること級以上滑らかであること• つまり折れ線になっていないことつまり折れ線になっていないこと
またはまたは
• 明るさの変化(折れ線)の間隔を狭く明るさの変化(折れ線)の間隔を狭く– たとえ折れ線でも間隔が狭ければ目立ちにくいたとえ折れ線でも間隔が狭ければ目立ちにくい
コンテンツへ
曲線補間による拡大曲線補間による拡大
続・レンダリスト養成講座続・レンダリスト養成講座アンチ・縮小バッファアーティファクトアンチ・縮小バッファアーティファクト
49Imagire DayImagire Day コンテンツへ
より高次(曲線)の補間はどうより高次(曲線)の補間はどうか?か?• バイキュービック(バイキュービック( Bi-cubicBi-cubic )補間)補間• n次ランツォシュ(n次ランツォシュ( Lanczos-nLanczos-n )補間)補間• etc.etc.
50Imagire DayImagire Day コンテンツへ
補間関数補間関数
Bi-cubicBi-cubicBi-linearBi-linear
Lanczos-3Lanczos-3Lanczos-2Lanczos-2
51Imagire DayImagire Day コンテンツへ
拡大アルゴリズムの比較拡大アルゴリズムの比較
• 1/8×1/8 1/8×1/8 サイズ縮小バッファでグレア生成サイズ縮小バッファでグレア生成– バイリニア補間による拡大バイリニア補間による拡大– 縮小バッファブラー縮小バッファブラーバイリニア補間拡大バイリニア補間拡大– バイキュービック補間による拡大バイキュービック補間による拡大
52Imagire DayImagire Day コンテンツへ
バイリニア補間(バイリニア補間( 1/8×1/81/8×1/8 サイサイズ)ズ)
53Imagire DayImagire Day コンテンツへ
バイキュービック補間(バイキュービック補間( 1/81/8ササイズ)イズ)
54Imagire DayImagire Day コンテンツへ
縮小バッファブラー(縮小バッファブラー( 1/81/8サイサイズ)ズ)
縮小バッファブラー縮小バッファブラーバイリニア補間拡大バイリニア補間拡大
55Imagire DayImagire Day コンテンツへ
バイキュービック補間(バイキュービック補間( 1/81/8ササイズ)イズ)
56Imagire DayImagire Day コンテンツへ
バイキュービック補間による効バイキュービック補間による効果果• 画像の性質によっては大きな効果画像の性質によっては大きな効果
– 空間周波数の高い領域空間周波数の高い領域– 細部が綺麗に拡大される細部が綺麗に拡大される
バイリニア補間バイリニア補間 バイキュービック補間バイキュービック補間
57Imagire DayImagire Day コンテンツへ
バイキュービック補間による効バイキュービック補間による効果果• エッジ強調の特性をもつエッジ強調の特性をもつ
– 変化のなだらかな領域では逆効果変化のなだらかな領域では逆効果• 複数ピクセルにわたるグラデーション複数ピクセルにわたるグラデーション
バイリニア補間バイリニア補間 バイキュービック補間バイキュービック補間
58Imagire DayImagire Day コンテンツへ
バイキュービック補間の評価バイキュービック補間の評価
• 空間周波数の高い領域では効果的空間周波数の高い領域では効果的– 縮小バッファブラーよりも遥かによい結果縮小バッファブラーよりも遥かによい結果– 細部の再現力は高い細部の再現力は高い
• 空間周波数の低い領域では逆効果空間周波数の低い領域では逆効果– 複数ピクセルにわたるなだらかなグラデーショ複数ピクセルにわたるなだらかなグラデーショ
ンン– エッジ強調の特性が悪い方向に発生エッジ強調の特性が悪い方向に発生
• マッハバンドが悪化マッハバンドが悪化
59Imagire DayImagire Day コンテンツへ
マッハバンド悪化の改善策マッハバンド悪化の改善策
• バイキュービックやランツォシュのエッバイキュービックやランツォシュのエッジ強調ジ強調– グレアエフェクトには不向きグレアエフェクトには不向き– ⇒⇒ 正規分布のような関数がよい正規分布のような関数がよい
Bi-cubicBi-cubic GaussianGaussian
60Imagire DayImagire Day コンテンツへ
拡大アルゴリズムの比較拡大アルゴリズムの比較
• 1/8×1/8 1/8×1/8 サイズ縮小バッファでグレア生成サイズ縮小バッファでグレア生成– バイリニア補間による拡大バイリニア補間による拡大– 縮小バッファブラー縮小バッファブラーバイリニア補間拡大バイリニア補間拡大– バイキュービック補間による拡大バイキュービック補間による拡大– ガウス補間による拡大ガウス補間による拡大
61Imagire DayImagire Day コンテンツへ
バイリニア補間(バイリニア補間( 1/8×1/81/8×1/8 サイサイズ)ズ)
62Imagire DayImagire Day コンテンツへ
ガウス補間(ガウス補間( 1/81/8サイズ)サイズ)
63Imagire DayImagire Day コンテンツへ
縮小バッファブラー(縮小バッファブラー( 1/81/8サイサイズ)ズ)
縮小バッファブラー縮小バッファブラーバイリニア補間拡大バイリニア補間拡大
64Imagire DayImagire Day コンテンツへ
ガウス補間(ガウス補間( 1/81/8サイズ)サイズ)
65Imagire DayImagire Day コンテンツへ
バイキュービック補間(バイキュービック補間( 1/81/8ササイズ)イズ)
66Imagire DayImagire Day コンテンツへ
ガウス補間(ガウス補間( 1/81/8サイズ)サイズ)
67Imagire DayImagire Day コンテンツへ
ガウス補間による効果ガウス補間による効果
• 空間周波数の高い領域空間周波数の高い領域– アーティファクトは軽減されているアーティファクトは軽減されている– 若干ぼけている若干ぼけている
バイリニア補間バイリニア補間 ガウス補間ガウス補間
68Imagire DayImagire Day コンテンツへ
ガウス補間による効果ガウス補間による効果
• 空間周波数の低い領域空間周波数の低い領域– 非常に高い効果非常に高い効果– マッハバンドは解消されているマッハバンドは解消されている
バイリニア補間バイリニア補間 ガウス補間ガウス補間
69Imagire DayImagire Day コンテンツへ
ガウス補間の評価ガウス補間の評価
• アーティファクト軽減に高い効果アーティファクト軽減に高い効果– マッハバンドも解消マッハバンドも解消– 細部は若干ぼけている細部は若干ぼけている
• 問題になるほどではない問題になるほどではない– ほぼ理想的な結果を得られているほぼ理想的な結果を得られている
70Imagire DayImagire Day コンテンツへ
曲線補間の評価曲線補間の評価
• 曲線補間全般での速度評価曲線補間全般での速度評価– 非常に負荷が高い非常に負荷が高い
• バイリニア補間と異なり拡大負荷が高いバイリニア補間と異なり拡大負荷が高い• フレームバッファ解像度の多サンプルフレームバッファ解像度の多サンプル
71Imagire DayImagire Day コンテンツへ
曲線補間の評価曲線補間の評価
• 関数によっては画質は非常に高い関数によっては画質は非常に高い– グレアにはガウス補間が理想的グレアにはガウス補間が理想的
• よい結果を得るための負荷が非常に高いよい結果を得るための負荷が非常に高い
• ⇒⇒ トータルではあまり実用的とはいえなトータルではあまり実用的とはいえないい
コンテンツへ
縮小バッファ拡大ブラー縮小バッファ拡大ブラー
続・レンダリスト養成講座続・レンダリスト養成講座アンチ・縮小バッファアーティファクトアンチ・縮小バッファアーティファクト
73Imagire DayImagire Day コンテンツへ
縮小バッファを拡大後にブラー縮小バッファを拡大後にブラー
• 拡大後ブラーなら大きな効果が期待でき拡大後ブラーなら大きな効果が期待できるる– フレームバッファサイズでのブラーは負荷がフレームバッファサイズでのブラーは負荷が
高い高い– ⇒⇒ 縮小バッファの解像度を上げるべき縮小バッファの解像度を上げるべき
• 少し拡大してからブラーならどうか?少し拡大してからブラーならどうか?– 2倍程度にバイリニアで拡大してからブラー2倍程度にバイリニアで拡大してからブラー
74Imagire DayImagire Day コンテンツへ
2倍程度に拡大後ブラー2倍程度に拡大後ブラー
• 負荷があまり高くない負荷があまり高くない• 縮小バッファブラーよりもクォリティが高い縮小バッファブラーよりもクォリティが高い
– 細部のぼけ方が比較的少ない細部のぼけ方が比較的少ない• より高解像度でのブラーのためより高解像度でのブラーのため
– バイリニアによる輝度の折れ線の幅がせまくなるバイリニアによる輝度の折れ線の幅がせまくなる• マッハバンドにも効果が期待できるマッハバンドにも効果が期待できる
勾配の軽減勾配の軽減 知覚の変化知覚の変化
75Imagire DayImagire Day コンテンツへ
縮小バッファ拡大ブラー縮小バッファ拡大ブラー
• エフェクト結果縮小バッファを倍サイズエフェクト結果縮小バッファを倍サイズに拡大に拡大
• わずかにブラーをかけるわずかにブラーをかける• フレームバッファサイズまでバイリニアフレームバッファサイズまでバイリニア
拡大拡大
76Imagire DayImagire Day コンテンツへ
グレア生成結果(グレア生成結果( 1/8×1/81/8×1/8 サイサイズ)ズ)
77Imagire DayImagire Day コンテンツへ
バイリニアで倍に拡大(バイリニアで倍に拡大( 1/41/4ササイズ)イズ)
78Imagire DayImagire Day コンテンツへ
わずかなぼかし処理(わずかなぼかし処理( 1/41/4サイサイズ)ズ)
79Imagire DayImagire Day コンテンツへ
バイリニアで最終サイズに拡大バイリニアで最終サイズに拡大
80Imagire DayImagire Day コンテンツへ
拡大アルゴリズムの比較拡大アルゴリズムの比較
• 1/8×1/8 1/8×1/8 サイズ縮小バッファでグレア生成サイズ縮小バッファでグレア生成– バイリニア補間による拡大バイリニア補間による拡大– 縮小バッファブラー縮小バッファブラーバイリニア補間拡大バイリニア補間拡大– バイキュービック補間による拡大バイキュービック補間による拡大– ガウス補間による拡大ガウス補間による拡大– バイリニア拡大バイリニア拡大ブラーブラーバイリニア拡大バイリニア拡大
81Imagire DayImagire Day コンテンツへ
バイリニア補間(バイリニア補間( 1/8×1/81/8×1/8 サイサイズ)ズ)
82Imagire DayImagire Day コンテンツへ
縮小バッファ拡大ブラー縮小バッファ拡大ブラー(( 1/81/8))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
83Imagire DayImagire Day コンテンツへ
バイキュービック補間(バイキュービック補間( 1/81/8ササイズ)イズ)
84Imagire DayImagire Day コンテンツへ
縮小バッファ拡大ブラー縮小バッファ拡大ブラー(( 1/81/8))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
85Imagire DayImagire Day コンテンツへ
縮小バッファブラー(縮小バッファブラー( 1/81/8サイサイズ)ズ)
縮小バッファブラー縮小バッファブラーバイリニア補間拡大バイリニア補間拡大
86Imagire DayImagire Day コンテンツへ
縮小バッファ拡大ブラー縮小バッファ拡大ブラー(( 1/81/8))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
87Imagire DayImagire Day コンテンツへ
ガウス補間(ガウス補間( 1/81/8サイズ)サイズ)
88Imagire DayImagire Day コンテンツへ
縮小バッファ拡大ブラー縮小バッファ拡大ブラー(( 1/81/8))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
89Imagire DayImagire Day コンテンツへ
拡大ブラーの効果拡大ブラーの効果
• 空間周波数の高い領域空間周波数の高い領域– 細部が綺麗に拡大される細部が綺麗に拡大される– ややぼけが強いややぼけが強い
• 拡大前のブラーほどではない拡大前のブラーほどではない
バイリニア補間バイリニア補間 拡大ブラー拡大ブラー
90Imagire DayImagire Day コンテンツへ
拡大ブラーの効果拡大ブラーの効果
• 空間周波数の低い領域空間周波数の低い領域– 滑らかさが改善されている滑らかさが改善されている– マッハバンドが改善されているマッハバンドが改善されている
バイリニア補間バイリニア補間 拡大ブラー拡大ブラー
91Imagire DayImagire Day コンテンツへ
GPU実装GPU実装
• バイリニアで2倍拡大後に小規模ブラーバイリニアで2倍拡大後に小規模ブラー
92Imagire DayImagire Day コンテンツへ
バイリニアで拡大後にブラー処バイリニアで拡大後にブラー処理理
小規模なブラーを適用小規模なブラーを適用バイリニアで2倍に拡大してバイリニアで2倍に拡大して
テクスチャフェッチ座標テクスチャフェッチ座標 バイリニアの結果サンプリングされるテクセルバイリニアの結果サンプリングされるテクセル
ターゲット(処理中の)ピクセルターゲット(処理中の)ピクセル
縮小バッファテクセル(ソーステクスチャの各テクセル)縮小バッファテクセル(ソーステクスチャの各テクセル)
93Imagire DayImagire Day コンテンツへ
GPU実装時の工夫GPU実装時の工夫
• 拡大時に周辺テクセルをサンプル拡大時に周辺テクセルをサンプル– 通常の拡大では1テクスチャフェッチ(4サ通常の拡大では1テクスチャフェッチ(4サ
ンプル)ンプル)– ⇒⇒ 周辺を4テクスチャフェッチ(9サンプル周辺を4テクスチャフェッチ(9サンプル
以上)以上)• オフセット量でブラーの程度を調節できるオフセット量でブラーの程度を調節できる
• ⇒⇒ 拡大と同時にブラーを適用できる拡大と同時にブラーを適用できる– ブラーパスを省略できるブラーパスを省略できる– 2倍サイズのバッファを一枚節約できる2倍サイズのバッファを一枚節約できる
94Imagire DayImagire Day コンテンツへ
拡大時に周辺テクセルをサンプ拡大時に周辺テクセルをサンプルル
テクスチャフェッチ座標テクスチャフェッチ座標 バイリニアの結果サンプリングされるテクセルバイリニアの結果サンプリングされるテクセル
オフセットでブラー量調整オフセットでブラー量調整
ターゲット(処理中の)ピクセルターゲット(処理中の)ピクセル
縮小バッファテクセル(ソーステクスチャの各テクセル)縮小バッファテクセル(ソーステクスチャの各テクセル)
周辺をサンプリング周辺をサンプリングバイリニアによる拡大バイリニアによる拡大
95Imagire DayImagire Day コンテンツへ
最終結果の画質比較最終結果の画質比較
• 実際のグレア合成結果の比較実際のグレア合成結果の比較– フレームバッファとの合成フレームバッファとの合成– 非線形トーンマップ非線形トーンマップ
96Imagire DayImagire Day コンテンツへ
バイリニア補間との比較バイリニア補間との比較
97Imagire DayImagire Day コンテンツへ
バイリニア補間のみバイリニア補間のみ(( 1/8×1/81/8×1/8 ))
98Imagire DayImagire Day コンテンツへ
縮小バッファ拡大ブラー利用縮小バッファ拡大ブラー利用(( 1/81/8))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
99Imagire DayImagire Day コンテンツへ
拡大図:バイリニア補間のみ拡大図:バイリニア補間のみ(( 1/81/8))
100Imagire DayImagire Day コンテンツへ
拡大図:拡大ブラー利用拡大図:拡大ブラー利用(( 1/81/8))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
101Imagire DayImagire Day コンテンツへ
解像度によるバイリニアとの比解像度によるバイリニアとの比較較
102Imagire DayImagire Day コンテンツへ
バイリニア補間のみバイリニア補間のみ(( 1/8×1/81/8×1/8 ))
103Imagire DayImagire Day コンテンツへ
縮小バッファ拡大ブラー利用縮小バッファ拡大ブラー利用(( 1/81/8))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
104Imagire DayImagire Day コンテンツへ
バイリニア補間のみバイリニア補間のみ(( 1/4×1/41/4×1/4 ))
105Imagire DayImagire Day コンテンツへ
縮小バッファ拡大ブラー利用縮小バッファ拡大ブラー利用(( 1/41/4))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
106Imagire DayImagire Day コンテンツへ
バイリニア補間のみバイリニア補間のみ(( 1/2×1/21/2×1/2 ))
107Imagire DayImagire Day コンテンツへ
拡大図:バイリニア補間のみ拡大図:バイリニア補間のみ(( 1/81/8))
108Imagire DayImagire Day コンテンツへ
拡大図:拡大ブラー利用拡大図:拡大ブラー利用(( 1/81/8))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
109Imagire DayImagire Day コンテンツへ
拡大図:バイリニア補間のみ拡大図:バイリニア補間のみ(( 1/41/4))
110Imagire DayImagire Day コンテンツへ
拡大図:拡大ブラー利用拡大図:拡大ブラー利用(( 1/41/4))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
111Imagire DayImagire Day コンテンツへ
拡大図:バイリニア補間のみ拡大図:バイリニア補間のみ(( 1/21/2))
112Imagire DayImagire Day コンテンツへ
まとめて比較まとめて比較
1/81/8 拡大ブラー利用拡大ブラー利用1/81/8 バイリニアのみバイリニアのみ
113Imagire DayImagire Day コンテンツへ
まとめて比較まとめて比較
1/41/4 拡大ブラー利用拡大ブラー利用1/41/4 バイリニアのみバイリニアのみ
1/81/8 拡大ブラー利用拡大ブラー利用1/81/8 バイリニアのみバイリニアのみ
114Imagire DayImagire Day コンテンツへ
拡大ブラーの効果拡大ブラーの効果
• 最終結果での比較最終結果での比較• 空間周波数の高い領域空間周波数の高い領域
– ジャギーの軽減ジャギーの軽減
バイリニア補間のみバイリニア補間のみ 拡大ブラー利用拡大ブラー利用
115Imagire DayImagire Day コンテンツへ
拡大ブラーの効果拡大ブラーの効果
• 最終結果での比較最終結果での比較• 空間周波数の低い領域空間周波数の低い領域
– マッハバンドの改善マッハバンドの改善
バイリニア補間のみバイリニア補間のみ 拡大ブラー利用拡大ブラー利用
116Imagire DayImagire Day コンテンツへ
拡大ブラーの効果拡大ブラーの効果
• 最終結果での比較最終結果での比較• 空間周波数の高い領域空間周波数の高い領域
– ジャギーの軽減ジャギーの軽減
バイリニア補間のみバイリニア補間のみ 拡大ブラー利用拡大ブラー利用
117Imagire DayImagire Day コンテンツへ
速度比較速度比較
118Imagire DayImagire Day コンテンツへ
速度比較速度比較
• 環境環境– PS3PS3
• 最終(ディスプレイ)解像度最終(ディスプレイ)解像度– D4(1280D4(1280 ××720)720)
• シーンレンダリング/エフェクトフォーシーンレンダリング/エフェクトフォーマットマット– RGBA16FRGBA16F
119Imagire DayImagire Day コンテンツへ
速度比較速度比較
• グレアエフェクトグレアエフェクト– ブルーム/スター/ゴースト/残像 ブルーム/スター/ゴースト/残像 etc.etc.– 合計40パス程度の塗りつぶし処理合計40パス程度の塗りつぶし処理
• グレアエフェクトに関わる合計時間を計測グレアエフェクトに関わる合計時間を計測– グレアエフェクトの生成時間グレアエフェクトの生成時間– バッファの縮小/拡大のオーバヘッド合計バッファの縮小/拡大のオーバヘッド合計– 単位はミリ秒で小数点以下3桁有効単位はミリ秒で小数点以下3桁有効
• 4桁目を四捨五入4桁目を四捨五入
120Imagire DayImagire Day コンテンツへ
速度比較(速度比較( 1/8×1/81/8×1/8 サイズ)サイズ)
• 1/8×1/8 1/8×1/8 サイズ縮小バッファサイズ縮小バッファ– バイリニア補間拡大のみバイリニア補間拡大のみ
• 1.908 ms1.908 ms
– 拡大ブラー利用拡大ブラー利用• 1.958 ms1.958 ms
121Imagire DayImagire Day コンテンツへ
速度比較(速度比較( 1/8×1/81/8×1/8 サイズ)サイズ)
• 1/8×1/8 1/8×1/8 サイズ縮小バッファサイズ縮小バッファ– ⇒⇒ 拡大ブラーによって増加した負荷拡大ブラーによって増加した負荷
• 0.0510.051 ms ms
1/81/8 拡大ブラー利用拡大ブラー利用1/81/8 バイリニアのみバイリニアのみ
122Imagire DayImagire Day コンテンツへ
速度比較(速度比較( 1/4×1/41/4×1/4 サイズ)サイズ)
• 1/4×1/4 1/4×1/4 サイズ縮小バッファサイズ縮小バッファ– バイリニア補間拡大のみバイリニア補間拡大のみ
• 3.957 ms3.957 ms
– 拡大ブラー利用拡大ブラー利用• 4.085 ms4.085 ms
123Imagire DayImagire Day コンテンツへ
速度比較(速度比較( 1/4×1/41/4×1/4 サイズ)サイズ)
• 1/4×1/4 1/4×1/4 サイズ縮小バッファサイズ縮小バッファ– ⇒⇒ 拡大ブラーによって増加した負荷拡大ブラーによって増加した負荷
• 0.1280.128 ms ms
1/41/4 拡大ブラー利用拡大ブラー利用1/41/4 バイリニアのみバイリニアのみ
124Imagire DayImagire Day コンテンツへ
評価まとめ評価まとめ
125Imagire DayImagire Day コンテンツへ
縮小バッファ拡大ブラーの評価縮小バッファ拡大ブラーの評価
• 画質面での評価画質面での評価– ガウス補間に近いレベルの効果ガウス補間に近いレベルの効果
• 細部の再現とマッハバンド軽減でやや劣る程度細部の再現とマッハバンド軽減でやや劣る程度– 縮小バッファが小さいほど大きい効果縮小バッファが小さいほど大きい効果
• 大きな縮小バッファでは効果が少ない大きな縮小バッファでは効果が少ない– 全体的にややぼけた画像となる全体的にややぼけた画像となる
• グレアエフェクトの特性上あまり大きな問題はないグレアエフェクトの特性上あまり大きな問題はない
• 速度面での評価速度面での評価– 縮小バッファが小さければ負荷は少ない縮小バッファが小さければ負荷は少ない
• 縮小バッファが大きいとやや負荷が高い縮小バッファが大きいとやや負荷が高い
126Imagire DayImagire Day コンテンツへ
縮小バッファ拡大ブラーの評価縮小バッファ拡大ブラーの評価
• その他その他– 縮小バッファの2倍サイズ(面積4倍)のバ縮小バッファの2倍サイズ(面積4倍)のバ
ッファが別途必要になるッファが別途必要になる– 縮小バッファが小さい場合特に有用縮小バッファが小さい場合特に有用
• 1/4 1/4 程度以下ならコストパフォーマンスが高い程度以下ならコストパフォーマンスが高い• 1/2 1/2 程度以上では効果が少なく遅い程度以上では効果が少なく遅い
• ⇒⇒ 現状で実用的現状で実用的
127Imagire DayImagire Day コンテンツへ
縮小バッファ拡大ブラーの課題縮小バッファ拡大ブラーの課題
• 本当のアンチエイリアスとしての効果は本当のアンチエイリアスとしての効果はないない– ぼかしてごまかしているだけぼかしてごまかしているだけ– 縮小バッファの本質的な問題縮小バッファの本質的な問題
• ガウス補間などでも改善できないガウス補間などでも改善できない
• ⇒⇒ 動画では時間方向でのモアレが発生動画では時間方向でのモアレが発生– 輝点が明滅するような効果輝点が明滅するような効果– 静止画のジャギーほどは目立たない静止画のジャギーほどは目立たない
128Imagire DayImagire Day コンテンツへ
縮小バッファ拡大ブラーの改善策縮小バッファ拡大ブラーの改善策
• 速度に余裕がある場合の改善策速度に余裕がある場合の改善策– ブラーを2段階程度のバッファサイズで実行ブラーを2段階程度のバッファサイズで実行
• 縮小バッファ縮小バッファ 2倍化/ブラー 2倍化/ブラー 2倍化/ブラー 2倍化/ブラー– ブラーをガウシアンブラーなどに変更ブラーをガウシアンブラーなどに変更
• ガウス半径はかなり小さめでよいガウス半径はかなり小さめでよい
コンテンツへ
被写界深度エフェクトへの応用被写界深度エフェクトへの応用
続・レンダリスト養成講座続・レンダリスト養成講座アンチ・縮小バッファアーティファクトアンチ・縮小バッファアーティファクト
130Imagire DayImagire Day コンテンツへ
被写界深度エフェクトへの応用被写界深度エフェクトへの応用
• 特定のアルゴリズムで利用できる特定のアルゴリズムで利用できる– ボケ画像を生成して最後に合成するタイプボケ画像を生成して最後に合成するタイプ
• 1つまたは複数のボケ画像を生成1つまたは複数のボケ画像を生成• それらを合成して最終画像を生成それらを合成して最終画像を生成
– ギャザー/スキャッターベースは問わないギャザー/スキャッターベースは問わない• 縮小バッファを生成/合成するタイプなら利用可縮小バッファを生成/合成するタイプなら利用可
能能
131Imagire DayImagire Day コンテンツへ
フラットなボケのアーティファフラットなボケのアーティファクトクト• リアリティのあるフラットなボケ表現リアリティのあるフラットなボケ表現
– 縮小バッファアーティファクトが目立ちやす縮小バッファアーティファクトが目立ちやすいい• ガウスブラーよりもエッジのジャギーが目立つガウスブラーよりもエッジのジャギーが目立つ
滑らかなガウスブラー滑らかなガウスブラー フラットな円形ブラーフラットな円形ブラー フラットな六角形ブラーフラットな六角形ブラー
132Imagire DayImagire Day コンテンツへ
フラットなボケの生成例フラットなボケの生成例
• 余談余談
133Imagire DayImagire Day コンテンツへ
フラットなボケの生成例フラットなボケの生成例
• 直径9ピクセルの円形絞り直径9ピクセルの円形絞り– 25サンプル(バイリニアにより計81サン25サンプル(バイリニアにより計81サン
プル)プル)
円形ブラー円形ブラー
134Imagire DayImagire Day コンテンツへ
99 ××9ディスクブラー9ディスクブラー
• バイリニア補間を活用して円形を構築バイリニア補間を活用して円形を構築– サンプルポイントの調整サンプルポイントの調整– 面積と目的の形を考慮して重みを調整面積と目的の形を考慮して重みを調整
– この図は正確ではないこの図は正確ではない
ターゲット(処理中の)ピクセルターゲット(処理中の)ピクセルテクスチャフェッチ座標テクスチャフェッチ座標
135Imagire DayImagire Day コンテンツへ
ディスクブラーディスクブラー
• 右は工夫してさらにサンプル数を増やし右は工夫してさらにサンプル数を増やした例た例– 直径17ピクセルの円形絞り直径17ピクセルの円形絞り
99 ×× 9円形ブラー9円形ブラー 1717 ×× 17円形ブラー17円形ブラー
136Imagire DayImagire Day コンテンツへ
ディスクブラーディスクブラー
• バイリニア補間で拡大した結果バイリニア補間で拡大した結果
99 ×× 9円形ブラー9円形ブラー 1717 ×× 17円形ブラー17円形ブラー
137Imagire DayImagire Day コンテンツへ
フラットなボケの生成例フラットなボケの生成例
• 六角絞り六角絞り– 平行四辺形を3つ生成して中央点と合成平行四辺形を3つ生成して中央点と合成
六角絞りブラー六角絞りブラー
138Imagire DayImagire Day コンテンツへ
六角絞りの生成例(1‐1)六角絞りの生成例(1‐1)
• 六角絞り六角絞り– 再帰的に2パスずつで各平行四辺形を生成再帰的に2パスずつで各平行四辺形を生成
139Imagire DayImagire Day コンテンツへ
六角絞りの生成例(1‐2)六角絞りの生成例(1‐2)
• 六角絞り六角絞り– 再帰的に2パスずつで各平行四辺形を生成再帰的に2パスずつで各平行四辺形を生成
140Imagire DayImagire Day コンテンツへ
六角絞りの生成例(1終了)六角絞りの生成例(1終了)
• 六角絞り六角絞り– 再帰的に2パスずつで各平行四辺形を生成再帰的に2パスずつで各平行四辺形を生成
141Imagire DayImagire Day コンテンツへ
六角絞りの生成例(2‐1)六角絞りの生成例(2‐1)
• 六角絞り六角絞り– 再帰的に2パスずつで各平行四辺形を生成再帰的に2パスずつで各平行四辺形を生成
142Imagire DayImagire Day コンテンツへ
六角絞りの生成例(2‐2)六角絞りの生成例(2‐2)
• 六角絞り六角絞り– 再帰的に2パスずつで各平行四辺形を生成再帰的に2パスずつで各平行四辺形を生成
143Imagire DayImagire Day コンテンツへ
六角絞りの生成例(2終了)六角絞りの生成例(2終了)
• 六角絞り六角絞り– 再帰的に2パスずつで各平行四辺形を生成再帰的に2パスずつで各平行四辺形を生成
144Imagire DayImagire Day コンテンツへ
六角絞りの生成例(3‐1)六角絞りの生成例(3‐1)
• 六角絞り六角絞り– 再帰的に2パスずつで各平行四辺形を生成再帰的に2パスずつで各平行四辺形を生成
145Imagire DayImagire Day コンテンツへ
六角絞りの生成例(3‐2)六角絞りの生成例(3‐2)
• 六角絞り六角絞り– 再帰的に2パスずつで各平行四辺形を生成再帰的に2パスずつで各平行四辺形を生成
146Imagire DayImagire Day コンテンツへ
六角絞りボケの生成例(3終六角絞りボケの生成例(3終了)了)• 六角絞り六角絞り
– 再帰的に2パスずつで各平行四辺形を生成再帰的に2パスずつで各平行四辺形を生成
147Imagire DayImagire Day コンテンツへ
六角絞りボケの生成例(最終パ六角絞りボケの生成例(最終パス)ス)• 生成した3つの平行四辺形と中央点を合生成した3つの平行四辺形と中央点を合
成成– 計4パスで完了計4パスで完了
148Imagire DayImagire Day コンテンツへ
六角絞りボケの生成例六角絞りボケの生成例
• 六角絞り(任意サイズで可能)六角絞り(任意サイズで可能)
149Imagire DayImagire Day コンテンツへ
六角絞り高速版六角絞り高速版
• 7サンプルの再帰(ピンポンブラー)で7サンプルの再帰(ピンポンブラー)で生成生成– 色の濃い部分がサンプル点色の濃い部分がサンプル点– 重みを調節して中央部をフラットに重みを調節して中央部をフラットに
150Imagire DayImagire Day コンテンツへ
六角絞り高速版六角絞り高速版
• 7サンプルの再帰7サンプルの再帰– ややエッジ部分が暗くなるややエッジ部分が暗くなる– サイズに制限ありサイズに制限あり
六角絞りブラー六角絞りブラー
151Imagire DayImagire Day コンテンツへ
拡大ブラーの適用拡大ブラーの適用
• 本題に戻って・・・本題に戻って・・・
152Imagire DayImagire Day コンテンツへ
拡大ブラーの適用拡大ブラーの適用
• 生成したボケ画像に対してブラーを適用生成したボケ画像に対してブラーを適用– 2倍解像度へ拡大と同時に小規模なブラー2倍解像度へ拡大と同時に小規模なブラー
• 各ボケ画像ごとに適用する各ボケ画像ごとに適用する– ある程度より大きな縮小バッファでは不要ある程度より大きな縮小バッファでは不要
• 効果が少なく負荷が高い効果が少なく負荷が高い
拡大と同時にブラーを適用するサンプリング例拡大と同時にブラーを適用するサンプリング例
153Imagire DayImagire Day コンテンツへ
解像度によるバイリニアとの比解像度によるバイリニアとの比較較
154Imagire DayImagire Day コンテンツへ
バイリニア補間のみバイリニア補間のみ(( 1/4×1/41/4×1/4 ))
155Imagire DayImagire Day コンテンツへ
拡大ブラー利用(拡大ブラー利用( 1/4×1/41/4×1/4 ))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
156Imagire DayImagire Day コンテンツへ
バイリニア補間のみバイリニア補間のみ(( 1/8×1/81/8×1/8 ))
157Imagire DayImagire Day コンテンツへ
拡大ブラー利用(拡大ブラー利用( 1/8×1/81/8×1/8 ))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
158Imagire DayImagire Day コンテンツへ
バイリニア補間のみバイリニア補間のみ(( 1/16×1/161/16×1/16))
159Imagire DayImagire Day コンテンツへ
拡大ブラー利用(拡大ブラー利用( 1/16×1/161/16×1/16))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
160Imagire DayImagire Day コンテンツへ
解像度によるバイリニアとの比解像度によるバイリニアとの比較較• 別のシーンの画像別のシーンの画像
161Imagire DayImagire Day コンテンツへ
バイリニア補間のみバイリニア補間のみ(( 1/4×1/41/4×1/4 ))
162Imagire DayImagire Day コンテンツへ
拡大ブラー利用(拡大ブラー利用( 1/4×1/41/4×1/4 ))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
163Imagire DayImagire Day コンテンツへ
バイリニア補間のみバイリニア補間のみ(( 1/8×1/81/8×1/8 ))
164Imagire DayImagire Day コンテンツへ
拡大ブラー利用(拡大ブラー利用( 1/8×1/81/8×1/8 ))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
165Imagire DayImagire Day コンテンツへ
バイリニア補間のみバイリニア補間のみ(( 1/16×1/161/16×1/16))
166Imagire DayImagire Day コンテンツへ
拡大ブラー利用(拡大ブラー利用( 1/16×1/161/16×1/16))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
167Imagire DayImagire Day コンテンツへ
その他の画像比較その他の画像比較
168Imagire DayImagire Day コンテンツへ
六角絞りバイリニア補間のみ六角絞りバイリニア補間のみ(( 1/81/8))
169Imagire DayImagire Day コンテンツへ
六角絞り拡大ブラー利用六角絞り拡大ブラー利用(( 1/81/8))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
170Imagire DayImagire Day コンテンツへ
バイリニア補間のみバイリニア補間のみ(( 1/16×1/161/16×1/16))
171Imagire DayImagire Day コンテンツへ
拡大ブラー利用(拡大ブラー利用( 1/16×1/161/16×1/16))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
172Imagire DayImagire Day コンテンツへ
1717 ××17円形ブラー17円形ブラーバイリニア補間のみ(バイリニア補間のみ( 1/4×1/41/4×1/4 ))
173Imagire DayImagire Day コンテンツへ
1717 ××17円形ブラー17円形ブラー拡大ブラー利用(拡大ブラー利用( 1/4×1/41/4×1/4 ))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
174Imagire DayImagire Day コンテンツへ
1717 ××17円形ブラー17円形ブラーバイリニア補間のみ(バイリニア補間のみ( 1/8×1/81/8×1/8 ))
175Imagire DayImagire Day コンテンツへ
1717 ××17円形ブラー17円形ブラー拡大ブラー利用(拡大ブラー利用( 1/8×1/81/8×1/8 ))
バイリニア補間で2倍に拡大バイリニア補間で2倍に拡大ブラーブラーバイリニア補間拡大バイリニア補間拡大
176Imagire DayImagire Day コンテンツへ
拡大ブラーの効果拡大ブラーの効果
• 1/4×1/4 1/4×1/4 サイズ縮小バッファサイズ縮小バッファ
バイリニア補間のみバイリニア補間のみ 拡大ブラー利用拡大ブラー利用
177Imagire DayImagire Day コンテンツへ
拡大ブラーの効果拡大ブラーの効果
• 1/8×1/8 1/8×1/8 サイズ縮小バッファサイズ縮小バッファ
バイリニア補間のみバイリニア補間のみ 拡大ブラー利用拡大ブラー利用
178Imagire DayImagire Day コンテンツへ
拡大ブラーの効果拡大ブラーの効果
• 1/16×1/16 1/16×1/16 サイズ縮小バッファサイズ縮小バッファ
バイリニア補間のみバイリニア補間のみ 拡大ブラー利用拡大ブラー利用
179Imagire DayImagire Day コンテンツへ
拡大ブラーの効果拡大ブラーの効果
• 1/4×1/4 1/4×1/4 サイズ縮小バッファサイズ縮小バッファ
バイリニア補間のみバイリニア補間のみ 拡大ブラー利用拡大ブラー利用
180Imagire DayImagire Day コンテンツへ
拡大ブラーの効果拡大ブラーの効果
• 1/8×1/8 1/8×1/8 サイズ縮小バッファサイズ縮小バッファ
バイリニア補間のみバイリニア補間のみ 拡大ブラー利用拡大ブラー利用
181Imagire DayImagire Day コンテンツへ
拡大ブラーの効果拡大ブラーの効果
• 1/16×1/16 1/16×1/16 サイズ縮小バッファサイズ縮小バッファ
バイリニア補間のみバイリニア補間のみ 拡大ブラー利用拡大ブラー利用
182Imagire DayImagire Day コンテンツへ
被写界深度エフェクトでの評価被写界深度エフェクトでの評価
• 画質面での評価画質面での評価– アーティファクトをかなり軽減できるアーティファクトをかなり軽減できる
• エッジ部のジャギーなどエッジ部のジャギーなど– 全体的にややぼけた画像となる全体的にややぼけた画像となる
• 目的がピンボケなのでほとんど問題はない目的がピンボケなのでほとんど問題はない
• 速度面での評価速度面での評価– グレアエフェクトよりもやや負荷が高いグレアエフェクトよりもやや負荷が高い
• ボケ画像ごとに適用するためボケ画像ごとに適用するため
183Imagire DayImagire Day コンテンツへ
被写界深度エフェクトでの評価被写界深度エフェクトでの評価
• 効果は非常に大きい効果は非常に大きい– 特に縮小バッファ解像度が低い場合特に縮小バッファ解像度が低い場合
• 1/4 1/4 程度以下ならコストパフォーマンスが高い程度以下ならコストパフォーマンスが高い• 1/2 1/2 程度以上では効果が少なく遅い程度以上では効果が少なく遅い
• グレアよりもやや負荷が高いグレアよりもやや負荷が高い
• ⇒⇒ 実用的実用的
コンテンツへ
縮小ブレンドバッファPCF縮小ブレンドバッファPCF
続・レンダリスト養成講座続・レンダリスト養成講座アンチ・縮小バッファアーティファクトアンチ・縮小バッファアーティファクト
185Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファ縮小ブレンドバッファ
• 縮小バッファを利用した半透明描画縮小バッファを利用した半透明描画
• 参照:参照:– Kawase, Masaki. “Kawase, Masaki. “DOUBLE-S.T.E.A.LDOUBLE-S.T.E.A.L におけるリアルタイムにおけるリアルタイム CGCG 表現表現
技法”技法” , , CEDEC 2002, 2002.CEDEC 2002, 2002.
– Ishida, Tomofumi. Ishida, Tomofumi. ““ 次世代機に向けたゲームエンジンの設計”次世代機に向けたゲームエンジンの設計” , , CEDEC CEDEC 2006, 2006.2006, 2006.
– Takabe, Kunio. Takabe, Kunio. ““ 「「 METAL GEAR SOLID 4METAL GEAR SOLID 4 」に使われた技術等の紹」に使われた技術等の紹介”介” , , CEDEC 2008, 2008.CEDEC 2008, 2008.
186Imagire DayImagire Day コンテンツへ
縮小バッファへの半透明描画縮小バッファへの半透明描画
• ブレンドは特殊なモードを利用するブレンドは特殊なモードを利用する– 最終的なフレームバッファへの合成のため最終的なフレームバッファへの合成のため
• 縮小されたデプスバッファを利用縮小されたデプスバッファを利用– フレームバッファの内容をダウンサンプルフレームバッファの内容をダウンサンプル
• デプステストを行いながら描画するデプステストを行いながら描画する
187Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファの問題点縮小ブレンドバッファの問題点
• デプステストは合格/不合格のいずれかデプステストは合格/不合格のいずれか– On/Off(0/1)の2値情報でしかなOn/Off(0/1)の2値情報でしかな
いい
• 解像度不足がさらに悪化解像度不足がさらに悪化– ただでさえ縮小バッファは解像度が低いただでさえ縮小バッファは解像度が低い
• ⇒⇒ 非常に激しいエイリアスが発生非常に激しいエイリアスが発生
188Imagire DayImagire Day コンテンツへ
2値ではなくフィルタを使う2値ではなくフィルタを使う
• 0/1が問題ならフィルタを使えばよい0/1が問題ならフィルタを使えばよい– デプステストの代わりにデプステクスチャでデプステストの代わりにデプステクスチャで判断判断• デプスバッファではなくテクスチャを利用デプスバッファではなくテクスチャを利用
– ピクセルシェーダ内でフィルタを適用ピクセルシェーダ内でフィルタを適用• 近傍の複数テクセルでそれぞれ深度テスト近傍の複数テクセルでそれぞれ深度テスト• 結果をバイリニア/バイキュービックなどで補間結果をバイリニア/バイキュービックなどで補間• PCFPCF (( Percentage Closer FilteringPercentage Closer Filtering ))
– ⇒⇒ デプスシャドウマップとまったく同じデプスシャドウマップとまったく同じ
189Imagire DayImagire Day コンテンツへ
PCF利用時の制限PCF利用時の制限
• フィルタを利用する場合の制限フィルタを利用する場合の制限– デプスバッファに書き込み操作を行えないデプスバッファに書き込み操作を行えない
• 縮小バッファ半透明では通常デプス書き込みは不縮小バッファ半透明では通常デプス書き込みは不要要
190Imagire DayImagire Day コンテンツへ
追加で拡大ブラーを適用追加で拡大ブラーを適用
• 必要に応じて結果をさらにブラー必要に応じて結果をさらにブラー– 2倍程度の解像度でブラー2倍程度の解像度でブラー– 負荷が高い場合は拡大せずにブラー負荷が高い場合は拡大せずにブラー
• 元の縮小バッファサイズのブラーでも効果は大き元の縮小バッファサイズのブラーでも効果は大きいい
拡大と同時にブラー拡大と同時にブラー 同じ解像度でブラー同じ解像度でブラー
191Imagire DayImagire Day コンテンツへ
実装例実装例
• 環境環境– XboxXbox
• 縮小バッファ解像度縮小バッファ解像度– 128×72128×72 (または(または 9696 ))
©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 Microsoft Corporation. All rights reserved.©2005 Microsoft Corporation. All rights reserved.
192Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファPCF縮小ブレンドバッファPCF
©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 Microsoft Corporation. All rights reserved.©2005 Microsoft Corporation. All rights reserved.
193Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファの解像度縮小ブレンドバッファの解像度
©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 Microsoft Corporation. All rights reserved.©2005 Microsoft Corporation. All rights reserved.128128 ×× 7272
194Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファPCF縮小ブレンドバッファPCF
©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 Microsoft Corporation. All rights reserved.©2005 Microsoft Corporation. All rights reserved.
195Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファの解像度縮小ブレンドバッファの解像度
©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 Microsoft Corporation. All rights reserved.©2005 Microsoft Corporation. All rights reserved.128128 ×× 7272
196Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファPCF縮小ブレンドバッファPCF
©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 Microsoft Corporation. All rights reserved.©2005 Microsoft Corporation. All rights reserved.
197Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファの解像度縮小ブレンドバッファの解像度
©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 Microsoft Corporation. All rights reserved.©2005 Microsoft Corporation. All rights reserved.128128 ×× 7272
198Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファPCF縮小ブレンドバッファPCF
©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 Microsoft Corporation. All rights reserved.©2005 Microsoft Corporation. All rights reserved.
199Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファの解像度縮小ブレンドバッファの解像度
©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 Microsoft Corporation. All rights reserved.©2005 Microsoft Corporation. All rights reserved.128128 ×× 7272
200Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファPCF縮小ブレンドバッファPCF
©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 Microsoft Corporation. All rights reserved.©2005 Microsoft Corporation. All rights reserved.
201Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファの解像度縮小ブレンドバッファの解像度
©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 Microsoft Corporation. All rights reserved.©2005 Microsoft Corporation. All rights reserved.128128 ×× 7272
202Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファPCF縮小ブレンドバッファPCF
©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 Microsoft Corporation. All rights reserved.©2005 Microsoft Corporation. All rights reserved.
203Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファの解像度縮小ブレンドバッファの解像度
©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 BUNKASHA PUBLISHING CO.,LTD. ©2005 Microsoft Corporation. All rights reserved.©2005 Microsoft Corporation. All rights reserved.128128 ×× 7272
204Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファPCFの縮小ブレンドバッファPCFの評価評価• 画質面での評価画質面での評価
– かなり効果が大きいかなり効果が大きい
• 速度面での評価速度面での評価– 負荷がかなり高い負荷がかなり高い
• PCF自体の処理の重さPCF自体の処理の重さ• 高速なデプステストの恩恵をすべて捨てる高速なデプステストの恩恵をすべて捨てる
205Imagire DayImagire Day コンテンツへ
縮小ブレンドバッファPCFの縮小ブレンドバッファPCFの評価評価• その他その他
– 負荷は高いが効果も大きい負荷は高いが効果も大きい– 縮小バッファが小さい場合はかなり有用縮小バッファが小さい場合はかなり有用
• ⇒⇒ シーンによっては実用的シーンによっては実用的
コンテンツへ
??ご質問は?ご質問は?