リアルタイム光学エフェクトの深淵へ～究極表現への道と位置～

シリコンスタジオ株式会社
技術統括部 研究開発室 室長／フェロー
川瀬 正樹
masa@siliconstudio.co.jp©Silicon Studio Corp., all rights reserved.

リアルタイム光学エフェクトの深淵へ～究極表現への道と位置～
Bokeh Deep Dive: ボケ編
シリコンスタジオ株式会社
技術統括部 研究開発室 室長／フェロー
川瀬 正樹
masa@siliconstudio.co.jp©Silicon Studio Corp., all rights reserved.

内容• リアルタイム光学エフェクトの変遷• 光学エフェクトと実写の隔たり• より写実性の高いボケの表現へ• その他の効果と課題• まとめ©Silicon Studio Corp., all rights reserved.

3

リアルタイム光学エフェクトの変遷

ボケ表現の進化©Silicon Studio Corp., all rights reserved.

4

被写界深度(ボケ)表現の発展• 1990年代後半～2000年代前半– ボカした画像を深度によってブレンドする簡易的な手法• [Kawase 2002]• 2000年代後半– HDRによる写実性の高いボケ表現• [Gotanda 2009] etc.

– 深度によるマスク処理で前景の漏れ出しを抑制• レイヤー数の増加と併せてやや大きめのボケの実現– 口径食(Optical Vignetting)の表現• [Gotanda et al. 2007]– Scatter方式の開発• サンプリング不足が生じないため大きなボケの高品質化• 全ピクセル対象で負荷も高く当初の実用例は少ない©Silicon Studio Corp., all rights reserved.

5

被写界深度(ボケ)表現の発展• 2010年代– 幾何光学によるボケ味の表現• [Kawase 2008, 2012, 2015.a]– Scatter-as-Gatherアプローチの発展• [Sousa 2013] [Jimenez 2014]• 周囲のCoCの影響範囲かどうかを判断して疑似的なScatter処理– CoC: Circle of Confusion (錯乱円／ボケ像の直径)• レイヤーを増やさなくてもある程度正しい遮蔽表現が可能– Scatter/Gatherハイブリッド方式の発展／任意形状の絞り表現• [Kawase 2012, 2015.a] [Abadie 2018]• 明るく重要なピクセルのみに効率的に高品質なボケ表現を適用• LUTの間接参照による任意の絞り形状表現– アナモルフィック非点収差の表現など• [Kawase 2012, 2015.a]©Silicon Studio Corp., all rights reserved.

6

被写界深度(ボケ)表現の発展• 2020年代？
– 現在どのような表現が可能で今後どう発展する？

©Silicon Studio Corp., all rights reserved.

7

シンプルな被写界深度表現
Cited from:『DOUBLE-S.T.E.A.L.におけるリアルタイムCG表現技法』[Kawase 2002]©Silicon Studio Corp., all rights reserved.

©2002 BUNKASHA PUBLISHING CO.,LTD.

シンプルな被写界深度表現
Cited from:『DOUBLE-S.T.E.A.L.におけるリアルタイムCG表現技法』[Kawase 2002]©Silicon Studio Corp., all rights reserved.

©2002 BUNKASHA PUBLISHING CO.,LTD.

シンプルな被写界深度表現
Cited from:『DOUBLE-S.T.E.A.L.におけるリアルタイムCG表現技法』[Kawase 2002]©Silicon Studio Corp., all rights reserved.

©2002 BUNKASHA PUBLISHING CO.,LTD.

シンプルな被写界深度表現©Silicon Studio Corp., all rights reserved.

©2005 BUNKASHA PUBLISHING CO.,LTD.

HDR／口径食その他の表現
Cited
from:『レンダリストのためのカメラ（光学）理論とポストエフェクト』[Gotanda
et al. 2007]©SiliconStudio Corp., all rights reserved.

13
Hybrid of Scattering and Gathering©Silicon Studio Corp., all rights reserved.

13
Cited from: “Making Your Bokeh Fascinating” [Kawase 2015.a]Hybrid Scattering
Cited from: “A LIFE OF A BOKEH” [Abadie 2018]©Silicon Studio Corp., all rights reserved.

14幾何光学によるボケ味©Silicon Studio Corp., all rights reserved.

光学エフェクトと実写の隔たり

実写のボケと何が異なるのか？
何が足りないのか？

©Silicon Studio Corp., all rights reserved.

16

ボケの大きさ• 一般的なリアルタイム実装の被写界深度表現– ボケの大きさを画面縦サイズの5～10%程度に制限• レイヤー数の少ないScatter-as-Gather実装が主流• 多くのゲーム用途では充分なサイズ• 実写のボケの大きさ– 画面の20～50%を超えるボケも生じる• マクロ撮影や望遠のポートレート撮影を見ると判りやすい– 画面全体を占めるようなボケも生じ得る©Silicon Studio Corp., all rights reserved.

17

実写における巨大な玉ボケの例
Cited from: “Understanding Bokeh”
https://www.bhphotovideo.com/explora/photography/tips-and-solutions/understanding-bokeh©Silicon Studio Corp., all rights reserved.

従来実装での巨大な玉ボケ
解像感とディティール表現の不足©Silicon Studio Corp., all rights reserved.

ボケのディティール／複雑さ• リアルタイム実装の多くはボケ表現がシンプル– ボケの内部に模様がない• 単色あるいは単調な濃淡• 簡易的な幾何光学収差によるボケ味– 大きなボケのエッジがはっきりしていない• パフォーマンスのため低解像度にせざるを得ない• ジャギーが目立つためブラーの追加が必須(特にエッジ部分)– 低解像度化に起因するジャギーを消すためにぼかして誤魔化すしかない©Silicon Studio Corp., all rights reserved.

20

実写とのディティールの違い

Cited from:

幾何光学による従来のボケ味表現

https://www.pentaxforums.com/forums/10-pentax-slrlens-discussion/81530-lens-bokeh-research-help-3.html©Silicon Studio Corp., all rights reserved.

21

実写のボケのディティール

Cited from:https://www.pentaxforums.com/forums/10-pentax-slrlens-discussion/81530-lens-bokeh-research-help-3.html©Silicon Studio Corp., all rights reserved.

22

実写のボケの回折模様(主にエッジ部)

Cited from:https://www.pentaxforums.com/forums/10-pentax-slrlens-discussion/81530-lens-bokeh-research-help-3.html©Silicon Studio Corp., all rights reserved.

23不均一なレンズ表面の模様• 玉ねぎボケ(年輪ボケ)– レンズ表面の加工痕など

Cited from:https://www.pentaxforums.com/forums/10-pentax-slr-lensdiscussion/81530-lens-bokeh-research-help-3.html©Silicon Studio Corp., all rights reserved.

24

より写実性の高いボケの表現へ©Silicon Studio Corp., all rights reserved.

25

実写との違いが目立つ要因• 主にエッジ部分に見える回折パターン• 玉ねぎボケなどレンズ表面の模様• 表現できるボケの大きさ

Cited from:https://www.pentaxforums.com/forums/10-pentax-slrlens-discussion/81530-lens-bokeh-research-help-3.html©Silicon Studio Corp., all rights reserved.

26

回折パターン©Silicon Studio Corp., all rights reserved.

27

回折パターン• 光の波としての性質による干渉模様– 開口絞りを通った光(電磁波)は必ず回り込んで広がる(回折)– 電磁波は波として干渉する– センサー面に到達した光は干渉によって模様を作る• 実装には波動光学を考慮する必要あり– 必ずしも厳密なシミュレーションが必須ではない©Silicon Studio Corp., all rights reserved.

28

回折パターン• センサー面に到達した光は干渉によって模様を作る– フォーカス部分ではエアリーディスクとエアリーパターン• これがブルームやスターバースト(回折フレア)となる– デフォーカス部分では主にボケのエッジに現れる回折縞

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

29

回折パターンの実装©Silicon Studio Corp., all rights reserved.

30

回折パターンの実装のヒントとして…
• ボケ味の実装手法のおさらい– [Kawase 2008, 2012, 2015]– 球面収差と軸上色収差の簡易シミュレーション©Silicon Studio Corp., all rights reserved.

31

ボケ味に影響する特に重要な収差• 単色収差(ザイデルの5収差)– 球面収差(Spherical Aberration: SA)– コマ収差– 像面湾曲– 非点収差(レンズによる乱視)– 歪曲収差• 色収差(Chromatic aberrations: CA)– 倍率色収差 (CA of Magnification)– 軸上色収差 (Axial / Longitudinal CA)©Silicon Studio Corp., all rights reserved.

32

球面収差
• 平行な光線で発生する焦点距離のずれ• レンズ表面が球面(球面レンズ)であることに起因– 理想的な屈折面ではない– 製造コストが低いためよく使われる©Silicon Studio Corp., all rights reserved.

33球面収差の原理
それぞれの入射高に対応する焦点距離
光光
軸線
かの
ら入
の射
垂高
直
距
離

光軸

近軸理論の焦点距離• 光軸から遠い光線ほどレンズの近くで合焦する©Silicon Studio Corp., all rights reserved.

34球面収差のボケ(一点に合焦しない)

光軸

スポットダイアグラム

前ボケ(鋭いエッジ)©Silicon Studio Corp., all rights reserved.

最小錯乱円
Circle ofleast confusion(a.k.a. COLC)
後ボケ(柔らかいエッジ)
35球面収差の影響• 不完全なフォーカス– 一点にフォーカスしない• 前ボケにハードエッジ• 後ボケにソフトエッジ

球面レンズ©Silicon Studio Corp., all rights reserved.

36球面収差の補正• ダブレットレンズ– 凸レンズと凹レンズの2枚を貼り合わせたもの– 凹レンズの収差で凸レンズの収差を打ち消す– 完全な補正はできない• トリプレットレンズ– ダブレットに更に1枚レンズを追加したもの– 完全では無いがかなり高度な補正が可能• 非球面レンズ– 球面ではない理想的な屈折面をもつレンズ– 球面収差に関しては完全な補正が可能– 高価©Silicon Studio Corp., all rights reserved.

37

ダブレットレンズによる補正例
それぞれの入射高に対応する焦点距離

光軸

最小錯乱面

前ボケ
©Silicon Studio Corp., all rights reserved.

後ボケ38

補正前後の比較

球面レンズ©Silicon Studio Corp., all rights reserved.

ダブレットレンズ39

縦収差図の一種• 球面収差の様子を示すグラフ• 収差曲線(縦収差曲線)とも
Y:

Y:

入
射
高

入
射
高

X: 収差(焦点距離のずれ)量

球面レンズ©Silicon Studio Corp., all rights reserved.

ダブレットレンズ等

40

ボケ味に影響する特に重要な収差• 単色収差(ザイデルの5収差)– 球面収差(Spherical Aberration: SA)– コマ収差– 像面湾曲– 非点収差(レンズによる乱視)– 歪曲収差• 色収差(Chromatic aberrations: CA)– 倍率色収差 (CA of Magnification)– 軸上色収差 (Axial / Longitudinal CA)©Silicon Studio Corp., all rights reserved.

41

軸上色収差• 光の波長(色)の違いで生じる収差の一種• 波長によって屈折率が異なることに起因

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Chromatic_aberration_lens_diagram.svg©Silicon Studio Corp., all rights reserved.

42軸上色収差の原理
入射
高それぞれの波長の焦点距離©Silicon Studio Corp., all rights reserved.

43軸上色収差によるボケ

周辺光のみに着目したスポットダイアグラム

前ボケ©Silicon Studio Corp., all rights reserved.

後ボケ44球面収差と軸上色収差による効果• 前ボケに赤く鋭いエッジ• 後ボケに青く柔らかいエッジ• フォーカス付近に特に強い効果

前ボケ

後ボケ

ルーペで実際に作ったボケ現象の写真©Silicon Studio Corp., all rights reserved.

45軸上色収差の補正• 色消しレンズ– ダブレットやトリプレットレンズによる補正• 分散性の異なる素材のレンズの組み合わせ• 複数の波長を同じ距離に合焦させることができる• 可視波長の全域を完全に補正することはできない©Silicon Studio Corp., all rights reserved.

46

色消しレンズ• アクロマートレンズ– ダブレットなど– 2波長を同じ距離に合焦できる• 例えば赤と青• アポクロマート(APO)レンズ– トリプレットなど– 一般に3波長を同じ距離に合焦Apochromatic triplet• 例えば赤、青、緑
Cited From: Wikipedia, the free encyclopedia
https://commons.wikimedia.org/wiki/File:Lens6b-en.svg
https://commons.wikimedia.org/wiki/File:Apochromat_2.svg©Silicon Studio Corp., all rights reserved.

47

アクロマート(ダブレット)レンズの補正例
それぞれの波長の焦点距離• 全ての波長を一点には合焦できない– 赤と青を一致させると他(緑など)は一致しない©Silicon Studio Corp., all rights reserved.

48

アクロマート(ダブレット)レンズのボケ

周辺光のみに着目したスポットダイアグラム

前ボケ©Silicon Studio Corp., all rights reserved.

後ボケ49

補正前後の比較

軸上色収差©Silicon Studio Corp., all rights reserved.

軸上色収差(残存色収差)
2次スペクトルとも呼ばれる
50

アクロマート(ダブレット)による補正• ダブレットは軸上色収差と同時に球面収差も補正– それぞれの特性が組み合わさったボケになる– 残存球面収差• ソフト／シャープエッジ• 中央の減衰／鋭いピーク
×– 残存軸上色収差• 同心円状の着色＝– 複雑な構造のボケ味• 残存収差がボケ味を創る©Silicon Studio Corp., all rights reserved.

51収差補正された典型的なボケ• アクロマート(ダブレット)補正– 典型的な残存収差• 前ボケに紫色のソフトエッジ• 後ボケに緑色のハードエッジ– 現在のレンズはもっと複雑な構成• 収差曲線の性質は現在も類似

実写の前ボケ©Silicon Studio Corp., all rights reserved.

実写の後ボケ52

縦収差図(球面収差の様子を示すグラフ)

Y:

Y:

入
射
高

入
射
高

X: 収差(焦点距離のずれ)量

球面レンズ©Silicon Studio Corp., all rights reserved.

ダブレットレンズ等

53球面収差と軸上色収差の縦収差図• 実際にはこれが波長(色)毎に連続的に無数に存在– 波長毎のズレが軸上色収差©Silicon Studio Corp., all rights reserved.

54

ボケ味のリアルタイム実装• 光束マップの生成– 球面収差と軸上色収差を示す縦収差図からレンズを通った光束をトレースして光束マップを生成– レンズを直接シミュレーションしても良い

球面収差および
軸上色収差の縦収差図©Silicon Studio Corp., all rights reserved.

光線の軌跡をまとめて
光束マップを生成(少ない波長と光線数)

光束マップ(充分な波長と光線数を積分)
55

光束マップ(レンズを通った光の束)• 実際のテクスチャは上側半分のみ©Silicon Studio Corp., all rights reserved.

56

ボケ像の生成• V軸は入射高(光軸からの距離)に対応– 同じU座標上の色を光軸で回転させるとボケ像を生成できる
V
:

光
軸方
か向
ら入
の射
垂高
直
距
離

前ボケ写真

光束マップ
光軸

U方向: レンズからの垂直距離

前ボケ©Silicon Studio Corp., all rights reserved.

フォーカス付近

後ボケ

後ボケ写真
57

補正なし球面レンズ
光束マップ

縦収差図

円形ボケ
©Silicon Studio Corp., all rights reserved.

前ボケ

フォーカス付近

後ボケ
58

アクロマート(2色補正)タイプ
光束マップ

縦収差図

円形ボケ
©Silicon Studio Corp., all rights reserved.

前ボケ

フォーカス付近

後ボケ
59

アポクロマート(3色補正)タイプ
光束マップ

縦収差図

円形ボケ
©Silicon Studio Corp., all rights reserved.

前ボケ

フォーカス付近

後ボケ
60

テクスチャに無駄な空間が多い©Silicon Studio Corp., all rights reserved.

61

テクスチャに無駄な空間が多い• 深度ごとに光束の最大拡がり幅で正規化©Silicon Studio Corp., all rights reserved.

62最適化のためテクスチャ空間を正規化
補正なし球面単レンズ

アクロマートレンズ

アポクロマートレンズ©Silicon Studio Corp., all rights reserved.

63任意の形状に歪ませながら回転• 6角形に歪ませると6枚羽根絞りのボケ像– 光軸からの歪ませた距離(V座標)を格納したLUTを利用• 絞り羽根の微妙なカーブなども表現可能
V
:

光
軸方
か向
ら入
の射
垂高
直
距
離

©Silicon Studio Corp., all rights reserved.

V

U方向: レンズからの垂直距離

テ
ク座
ス標
チを
ャ格
納
し
た

64

リアルタイムボケ味表現©Silicon Studio Corp., all rights reserved.

65リアルタイムボケ味表現

前ボケの着色後ボケの着色©Silicon Studio Corp., all rights reserved.

66

これを踏まえて回折パターンの実装へ…

©Silicon Studio Corp., all rights reserved.

67

これを踏まえて回折パターンの実装へ…
• 回折パターンの実装も同様の近似手法を利用できる？
– 光束マップの代わりに下のような回折マップを生成

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

68

回折パターンの生成手法(既存の手法)• 波動光学– フーリエ光学• フラウンホーファー回折• フレネル回折• 角スペクトル法– 波動方程式を利用©Silicon Studio Corp., all rights reserved.

69

回折パターンの生成手法(既存の手法)• フーリエ光学– フラウンホーファー回折• 離散フーリエ変換(Discrete Fourier Transform: DFT)を利用– FFTを利用することで高速に生成できる• フォーカス部での回折パターン近似のみ– ボケ(デフォーカス部分)には利用できない– 事実上レンズフレアのスターバーストにしか利用できない©Silicon Studio Corp., all rights reserved.

70

回折パターンの生成手法(既存の手法)• フーリエ光学– フレネル回折• 分数次フーリエ変換(Fractional Fourier Transform: FrFT)を利用• デフォーカス部分の回折パターン近似も可能– ただし非常に負荷が高くあくまで近似– 角スペクトル法• FFT2回で実行できる• フレネル回折より遥かに高速かつ厳密解を得られる©Silicon Studio Corp., all rights reserved.

71

回折パターンの生成手法(既存の手法)• 波動方程式を利用– マクスウェル方程式から導かれる微分方程式– 極めて厳密だが極めて負荷が高い• 厳密過ぎて逆に使いにくい• 今回の用途ではどのような手法が向いている？

©Silicon Studio Corp., all rights reserved.

72

必要な回折パターンの要件(光軸方向の長さ)• 光軸に沿ってどこまでのパターンが必要か？
– 非常に大きなボケまで表現できる必要がある

この左右方向はどこまで必要か？
Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

73

必要な回折パターンの要件(光軸方向の長さ)• 光軸に沿ってどこまでのパターンが必要か？
– 非常に大きなボケまで表現できる必要がある– 内側は可視波長積分(後述)により模様がほぼ消えている• 単波長色ではより内側まで視認できるが現実的にはほぼ見えない

この左右方向はどこまで必要か？
Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

74

必要な回折パターンの要件(光軸方向の扱い)• 光軸に沿ってどのようなパターンが必要か？
– フォーカス付近以外の模様はボケのサイズによらず同じ？
• ボケのエッジ側から見てほぼ相似のパターン

f/22, f/11, f/5.6の実写のボケ像の比較
Cited from: https://www.pentaxforums.com/forums/10-pentax-slr-lens-discussion/81530-lens-bokeh-research-help-3.html©Silicon Studio Corp., all rights reserved.

75

必要な回折パターンの要件(光軸方向の扱い)• 光軸に沿ってどのようなパターンが必要か？
– フォーカス付近以外の模様はボケのサイズによらず同じ？
• ボケのエッジ側から見てほぼ相似のパターン

ボケサイズが変わっても回折パターンはエッジ側から見て同じ模様とみなせる
f/22, f/11, f/5.6の実写のボケ像の比較
Cited from: https://www.pentaxforums.com/forums/10-pentax-slr-lens-discussion/81530-lens-bokeh-research-help-3.html©Silicon Studio Corp., all rights reserved.

76

必要な回折パターンの要件(光軸方向の扱い)• 光軸に沿ってどのようなパターンが必要か？
– フォーカス付近以外の模様はボケのサイズによらず同じ• ボケのエッジ側から見てほぼ相似のパターン– 回折パターンはエッジ付近だけで良い• 内側は実質的に単色で近似できる– 光軸方向にある程度必要• フォーカス付近は特殊なため

f/22, f/11, f/5.6の実写のボケ像の比較
Cited from: https://www.pentaxforums.com/forums/10-pentax-slr-lens-discussion/81530-lens-bokeh-research-help-3.html©Silicon Studio Corp., all rights reserved.

77

必要な回折パターンの要件(等方性)• 光束マップ同様同心円(等方性)の近似とする– 光軸からの垂直(動径)方向は1次元情報だけ• あくまで表現上の近似であり厳密さは重視しない– 本来は絞り形状に依存して異方性がある• 円形絞り以外は形状毎に2次元の回折の伝搬情報が必要– 図はフォーカス付近の円形開口と六角形開口の違い– 3次元テクスチャが必要• フォーカス付近あるいは大きく歪んだ形状でなければ違いは目立たない

Cited from:https://farbeinf.de/static_html/
strange.html#tau– 絞り形状は光束マップ同様マッピングを歪ませる• 距離を歪ませたLUTで多角形等の絞り形状にマッピング©Silicon Studio Corp., all rights reserved.

78

必要な回折パターンの要件(波面収差)• 本来は球面収差(波面収差)も含んだ波長毎の伝搬が必要– 右図のように収差で異なるため– 全波長域で連続的に異なる球面収差をもつ回折結果を積分• リアルタイム実装は非現実的• ⇒収差と回折は分離して実装– 収差は光束マップが担当– 回折マップは回折(干渉)縞のみ

球面収差(波面収差)を含まない回折と含む回折
Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

79

必要な回折パターンの要件(波面形状)• 近軸光学的な近似とする– 本来、収差(波面収差)無い理想的なレンズの屈折面と波面は球面状に湾曲している(正弦条件を満たす)– この球面波の伝搬を平面であるとみなす• sin(θ)=θ, cos(θ)=1とみなせる「近軸」でのみ成り立つ条件– θがほぼゼロの領域では下の図はどちらも同じとみなせる

θ©Silicon Studio Corp., all rights reserved.

80

必要となる回折パターンの要件• 以上のような近似や制限により– 回折マップをすべて同じパターンとみなして共通化• 縦横のスケールの違いだけで全て同じ形状として扱える• 光学パラメタ(絞りやフォーカスやズーム等)毎の再作成が不要

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

81

回折テクスチャ空間の最適化• 回折テクスチャ空間の最適化– 光束マップ同様の最適化• 無駄なテクスチャ空間を避けるため– 回折パターンの任意のスケーリングが必要– 回折は回り込むため幾何光学上のボケエッジよりも拡がる• 幾何光学上のボケサイズより多少外側まで必要– ボケが小さいほど相対的には大きく拡がる• 波の伝搬は理論上は果てが無い– 実用的な範囲で切り出して正規化©Silicon Studio Corp., all rights reserved.

82

以上を踏まえて回折マップの生成手法を検討• 既存の手法は得たい情報に対してはオーバースペック– より簡潔に必要な情報だけを生成したい– そもそも等方性の近似のため厳密である意味がない• 既存の簡単な近似関数はないか？
– シェーダでの実装に向いた近似関数は見つからず…

• それらしい関数を作る(でっち上げる)ことに– 三角関数の恣意的な変形でそれらしくできそう？
©Silicon Studio Corp., all rights reserved.

83

光軸(深度)方向のテクスチャ座標の取り方• 光束マップはセンサー空間に線形にマッピング– 深度値とボケサイズ(CoC: Circle of Confusion)にも線形– 実装上の都合が良い• 回折マップはエッジ側から見た回折縞幅を基準に生成– ただしこの回折縞の幅は深度とは線形関係ではない(後述)• 深度とは無関係に回折縞幅の対数空間で配分• 回折縞がCoCに対してどの程度のスケールか©Silicon Studio Corp., all rights reserved.

84

回折パターンの関数近似• 周期性の三角関数の周波数等をスケールして生成– 最外周は一般化が難しいため分離して連結• あまり効率的／高品質には近似できなかった…
– フォーカス付近やボケの中心付近は誤差が大きい– 改善の余地あり• 良さそうな近似があれば教えていただきたい©Silicon Studio Corp., all rights reserved.

85生成した疑似回折マップ• 左方向が大きなボケ用、右方向がフォーカス付近• 上方向がボケのエッジ方向、下方向がボケの中心方向• 上下と左右は波面収差等を考慮しなければ鏡像©Silicon Studio Corp., all rights reserved.

86エイリアシング• エイリアシングによるモワレパターンが生じている– 三角関数(周期関数)を使っているため– 隣接テクセルとの差分がナイキスト周波数を超える領域©Silicon Studio Corp., all rights reserved.

87アンチエイリアシング• エイリアシングによるモワレパターンが生じている– 三角関数(周期関数)を使っているため– 隣接テクセルとの差分がナイキスト周波数を超える領域• 閾値を超える領域は平均値に移行させてエイリアスを除去©Silicon Studio Corp., all rights reserved.

88幾何光学的CoCエッジ• 赤線の部分は幾何光学におけるCoC(ボケ)エッジ– 幾何CoCエッジからある程度外側がテクスチャ端• テクスチャの端で滑らかにゼロまで減衰させる(波動的には誤り)• この後の波長積分時に縮小が入る(後述)ため©Silicon Studio Corp., all rights reserved.

89生成した回折パターンの円形マッピング例• 幾何CoCエッジを本来のボケサイズに一致させる– フォーカス付近ほど余分に大きな面積の描画が必要©Silicon Studio Corp., all rights reserved.

90生成した回折パターンの円形マッピング例• シミュレーション結果(左)との比較

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

91©Silicon Studio Corp., all rights reserved.

ボケ中央とフォーカス付近はやや低品質• 実用上は重要度が低く問題ない©Silicon Studio Corp., all rights reserved.

93

ボケ中央とフォーカス付近はやや低品質• 参考：幾何光学のCoCエッジ©Silicon Studio Corp., all rights reserved.

94可視光波長全域での積分が必要• 生成した回折マップは単波長での照度– 可視光波長全域での積分が必要– 回折の伝搬は波長によらず全て同じパターン• 単波長結果のスケーリングだけであらゆる波長の回折を表現可能• 参考:– [Kawase 2019]©Silicon Studio Corp., all rights reserved.

95可視光波長全域で積分• CIEの等色関数で可視光波長全域を積分– 波長は実用上400～700nm程度で充分• 本実装ではY刺激値のバランスのため400～710nmを使用– テクスチャを横方向にサンプル• 回折マップの横方向は波長のスケーリングに等しい• 2次元マッピング結果のエネルギー総量が等しくなるよう正規化– 等色関数で波長毎のXYZ刺激値に変換しながら積分• CIE XYZ刺激値のまま(知覚可能な色を全て含む色域)で積分• 積分結果を実際に適用する色域に変換©Silicon Studio Corp., all rights reserved.

96

まず単波長での拡がり面積による正規化• 回折マップの縦一列毎にエネルギー平均を1.0に– 必ずしも1である必要は無いがエネルギー総量を一定に©Silicon Studio Corp., all rights reserved.

97

エネルギー正規化スケールの注意• 本来は2次元に拡がっていることを考慮– 2次元にマッピングされる際の分布に注意– 例えばこの2色を円形にマッピングした場合• 元のテクスチャの照度平均はどちらも– 1/2 = 0.5©Silicon Studio Corp., all rights reserved.

98

エネルギー正規化スケールの注意• 本来は2次元に拡がっていることを考慮– 2次元にマッピングされる際の分布に注意– 例えばこの2色を円形にマッピングした場合• 元のテクスチャの照度平均はどちらも– 1/2 = 0.5• 円形マッピング結果の平均は異なる– 外側は内側の3倍の面積にマッピングされる©Silicon Studio Corp., all rights reserved.

99

エネルギー正規化スケールの注意• 本来は2次元に拡がっていることを考慮– 2次元にマッピングされる際の分布に注意– 例えばこの2色を円形にマッピングした場合• 元のテクスチャの照度平均はどちらも– 1/2 = 0.5• 円形マッピング結果の平均は異なる– 外側は内側の3倍の面積にマッピングされる– (1x3+0)/4 = 0.75
(0x3+1)/4 = 0.25

– 中心からの距離に比例して面積が増加• よってその分を考慮した加重平均結果での正規化が必要©Silicon Studio Corp., all rights reserved.

100単波長回折マップのエネルギー正規化• 正規化前– 本実装では最大値が1.0©Silicon Studio Corp., all rights reserved.

101単波長回折マップのエネルギー正規化• 正規化後– 縦方向の一列を2次元にマッピングした場合の平均値が1.0• この図は約1/10に圧縮しているため平均0.1程度• どこを輪切りに切り出してもエネルギー総量が同じ©Silicon Studio Corp., all rights reserved.

102

波長によるスケーリングの考察©Silicon Studio Corp., all rights reserved.

103

波長によるスケーリングの考察• 回折パターンのスケールに関する前提として…
– フォーカス部分のエアリーディスクの大きさ• ※幾何光学上のCoC(ボケ径)はゼロ

エアリーディスク径d

エアリーディスク半径

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Airy-pattern.svg©Silicon Studio Corp., all rights reserved.

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg
104

波長によるスケーリングの考察• 回折パターンのスケールに関する前提として…
– フォーカス部分のエアリーディスクの大きさ• ※幾何光学上のCoC(ボケ径)はゼロ• d : エアリーディスクの直径• λ : 光(電磁波)の波長• n : 像側を満たす媒質の相対屈折率2・1.2196𝜆𝐹𝑒𝑑=𝑛≒ 2.44𝜆𝐹𝑒– 通常は1.0で固定値• Fe : 実効F値

• 波長(λ)と実効F値(Fe)に比例d
Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

105

波長によるスケーリングの考察• 回折パターンのスケール– エアリーディスク同様波長(λ)と実効F値(Fe)に比例– ここで実効F値 Fe＝V / D＝x / y• V : 後側主面(屈折面)からセンサーまでの垂直距離• D : 開口絞り有効径(絞りの直径)
f

V
θ

y

x

θ

D
V
L
[Kawase 2010]

V

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

106

波長によるスケーリングの考察• FYI, 顕微鏡等で使用される開口数(NA)との関係– NA(あるいはN.A.): Numerical Aperture

NA = 𝑛 sin 𝜃

1
=
2𝐹𝑒
f

V
θ

y

x

θ

D
V
L
[Kawase 2010]

V

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

107

波長によるスケーリングの考察• 近軸的な近似(前述)により回折模様は全て同じパターン– 右下図の縦横のスケールが異なるのみ– 縦横のスケールは波長(λ)と実効F値(Fe)のみで決まる• 正確には横(光軸)方向のスケールは実効F値の2乗に比例する(後述)

f

V
θ

y

x

θ

D
V
L
[Kawase 2010]

V

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

108

フォーカス部分の波長スケーリング• フォーカス部分なら中心を原点にスケールすれば良い– 幾何光学上のCoC(ボケ径)はゼロであることに注意• あくまで波動光学の回折によって広がった結果• レンズフレアのスターバーストが該当– ではデフォーカス(フォーカス以外の)部分はどうすべき？

中心を原点としてスケールしながら積分した結果
Cited From: Wikipedia, the free encyclopedia
Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Airy_disk_D65.png©Silicon Studio Corp., all rights reserved.

https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg
109

デフォーカス部分の波長スケーリングの考察• 仮に中心を原点としてスケーリングすると…
仮にこの2倍の波長色の回折パターンは…

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

110デフォーカス部分の波長スケーリングの考察• 仮に中心を原点としてスケーリングすると…

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

111

デフォーカス部分の波長スケーリングの考察• 仮に中心を原点としてスケーリングすると…

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

112

デフォーカス部分の波長スケーリングの考察• 仮に中心を原点としてスケーリングすると…
– CoCが倍のサイズになる

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

113

デフォーカス部分の波長スケーリングの考察• 仮に中心を原点としてスケーリングすると…
– CoCが倍のサイズになる– 全てのボケが2倍に？
• これは明らかに間違い

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

114

デフォーカス部分の波長スケーリングの考察• 回折・干渉模様は波長で全体がスケーリング• よって実際の波は波長が伸びると…

この2倍の波長色の回折パターンは…

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

115

デフォーカス部分の波長スケーリングの考察• 回折・干渉模様は波長で全体がスケーリング• よって実際の波は波長が伸びると…
– こうなるはず(2倍のケース)

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

116

デフォーカス部分の波長スケーリングの考察• 回折・干渉模様は波長で全体がスケーリング• よって実際の波は波長が伸びると…
– こうなるはず(2倍のケース)

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

117

デフォーカス部分の波長スケーリングの考察• 回折・干渉模様は波長で全体がスケーリング• よって実際の波は波長が伸びると…
– 幾何光学上のCoCは一定– 波動光学部分のみ異なる• 回折のスケールのみの違い
Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

118

デフォーカス部分の波長スケーリングの考察• スケーリング原点は…
– 幾何光学上のCoCエッジ– ※ただしCoCが充分に大きい場合の近似– ※フォーカス(CoC=0)では必然的に中心が原点• よって矛盾はない

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

119

エネルギー正規化スケールの注意• 波長だけが変化しても幾何CoCエッジは変化しない– 幾何光学的なボケの面積は変化しない• 回折の影響のみの変化– 波長では広がらない• 面積は波長の2乗ではない• 2乗で減衰してはならない

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

120波長スケーリングの注意• エッジ側からみた回折縞の幅と波長の関係

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

121

波長スケーリングの注意• エッジ側からみた回折縞の幅と波長の関係– 波長に線形に比例しない

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

122

波長スケーリングの注意• エッジ側からみた回折縞の幅と波長の関係– 波長に線形に比例しない– 大域的には0.5乗に比例• 後ほど考察Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg©Silicon Studio Corp., all rights reserved.

123以上を踏まえて波長をスケーリング• 波長スケーリングは回折マップを横(左)方向に参照– 回折マップの左方向は波長の縮小に等しい– 回折縞の幅が基準なのでスケーリングは波長比の0.5乗©Silicon Studio Corp., all rights reserved.

124

以上を踏まえて波長をスケーリング• 波長スケーリングは回折マップを横(左)方向に参照– 赤(波長630nm)の例– 710nmを基準とするため(630/710)0.5の縮小位置を取得©Silicon Studio Corp., all rights reserved.

125

以上を踏まえて波長をスケーリング• 波長スケーリングは回折マップを横(左)方向に参照– 赤(波長630nm)の例– 710nmを基準とするため(630/710)0.5の縮小位置を取得©Silicon Studio Corp., all rights reserved.

126

以上を踏まえて波長をスケーリング• 波長スケーリングは回折マップを横(左)方向に参照– スケーリングによる過不足部分は最終的に破棄される©Silicon Studio Corp., all rights reserved.

127

以上を踏まえて波長をスケーリング• 波長スケーリングは回折マップを横(左)方向に参照– さらに幾何CoCエッジの位置を合わせるために縦に縮小• 縦縮小による面積変化(縮小率の2乗の逆数で照度増加)を考慮– 横方向はどこを切り出しても既にエネルギー総量が一定のため補正不要©Silicon Studio Corp., all rights reserved.

128

波長555nmのスケーリング例• 波長スケーリングは回折マップを横(左)方向に参照– 緑(ここでは波長555nm)の例– 710nmを基準とするため(555/710)0.5の縮小位置を取得©Silicon Studio Corp., all rights reserved.

129

波長555nmのスケーリング例• 波長スケーリングは回折マップを横(左)方向に参照– 緑(ここでは波長555nm)の例– 710nmを基準とするため(555/710)0.5の縮小位置を取得©Silicon Studio Corp., all rights reserved.

130波長555nmのスケーリング例• 波長スケーリングは回折マップを横(左)方向に参照– スケーリングによる過不足部分は最終的に破棄される©Silicon Studio Corp., all rights reserved.

131

波長555nmのスケーリング例• 波長スケーリングは回折マップを横(左)方向に参照– さらに幾何CoCエッジの位置を合わせるために縦に縮小• 縦縮小による面積変化(縮小率の2乗の逆数で照度増加)を考慮– 横方向はどこを切り出しても既にエネルギー総量が一定のため補正不要©Silicon Studio Corp., all rights reserved.

132波長480nmのスケーリング例• 波長スケーリングは回折マップを横(左)方向に参照– 青(ここでは波長480nm)の例– 710nmを基準とするため(480/710)0.5の縮小位置を取得©Silicon Studio Corp., all rights reserved.

133

波長480nmのスケーリング例• 波長スケーリングは回折マップを横(左)方向に参照– 青(ここでは波長480nm)の例– 710nmを基準とするため(480/710)0.5の縮小位置を取得©Silicon Studio Corp., all rights reserved.

134

波長480nmのスケーリング例• 波長スケーリングは回折マップを横(左)方向に参照– スケーリングによる過不足部分は最終的に破棄される©Silicon Studio Corp., all rights reserved.

135波長480nmのスケーリング例• 波長スケーリングは回折マップを横(左)方向に参照– さらに幾何CoCエッジの位置を合わせるために縦に縮小• 縦縮小による面積変化(縮小率の2乗の逆数で照度増加)を考慮– 横方向はどこを切り出しても既にエネルギー総量が一定のため補正不要©Silicon Studio Corp., all rights reserved.

136

655nmのスケーリング結果• これを可視波長全域で積分– どの波長でも幾何CoCエッジが一致していることに注意– 655nm• ※ここではsRGBに変換し明るさも調整(実際にはXYZのまま積分)©Silicon Studio Corp., all rights reserved.

137630nmのスケーリング結果• これを可視波長全域で積分– どの波長でも幾何CoCエッジが一致していることに注意– 630nm• ※ここではsRGBに変換し明るさも調整(実際にはXYZのまま積分)©Silicon Studio Corp., all rights reserved.

138

605nmのスケーリング結果• これを可視波長全域で積分– どの波長でも幾何CoCエッジが一致していることに注意– 605nm• ※ここではsRGBに変換し明るさも調整(実際にはXYZのまま積分)©Silicon Studio Corp., all rights reserved.

139580nmのスケーリング結果• これを可視波長全域で積分– どの波長でも幾何CoCエッジが一致していることに注意– 580nm• ※ここではsRGBに変換し明るさも調整(実際にはXYZのまま積分)©Silicon Studio Corp., all rights reserved.

140555nmのスケーリング結果• これを可視波長全域で積分– どの波長でも幾何CoCエッジが一致していることに注意– 555nm• ※ここではsRGBに変換し明るさも調整(実際にはXYZのまま積分)©Silicon Studio Corp., all rights reserved.

141

530nmのスケーリング結果• これを可視波長全域で積分– どの波長でも幾何CoCエッジが一致していることに注意– 530nm• ※ここではsRGBに変換し明るさも調整(実際にはXYZのまま積分)©Silicon Studio Corp., all rights reserved.

142505nmのスケーリング結果• これを可視波長全域で積分– どの波長でも幾何CoCエッジが一致していることに注意– 505nm• ※ここではsRGBに変換し明るさも調整(実際にはXYZのまま積分)©Silicon Studio Corp., all rights reserved.

143

480nmのスケーリング結果• これを可視波長全域で積分– どの波長でも幾何CoCエッジが一致していることに注意– 480nm• ※ここではsRGBに変換し明るさも調整(実際にはXYZのまま積分)©Silicon Studio Corp., all rights reserved.

144

455nmのスケーリング結果• これを可視波長全域で積分– どの波長でも幾何CoCエッジが一致していることに注意– 455nm• ※ここではsRGBに変換し明るさも調整(実際にはXYZのまま積分)©Silicon Studio Corp., all rights reserved.

145可視光波長全域で積分した回折マップ• 積分結果のXYZ刺激値を目的の色域に変換– ここではsRGB– この図は最大が1.0程度になるよう正規化して表示– ※フォーカス付近はおそらく誤差が大きい©Silicon Studio Corp., all rights reserved.

146可視光波長全域で積分した回折マップ• 最終的に左側はマップ外サンプルのため破棄– 波長を縮めるため左方向にサンプリングを進めたため©Silicon Studio Corp., all rights reserved.

147可視光波長全域で積分した回折マップ• 最終的に左側はマップ外サンプルのため破棄– 波長を縮めるため左方向にサンプリングを進めたため• 内容は実質的に(400/710)0.5のスケール範囲に縮んでいる• ちょうど対象波長のスケール分が破棄される©Silicon Studio Corp., all rights reserved.

148可視光波長全域で積分した回折マップ• 最終的に左側はマップ外サンプルのため破棄– 波長を縮めるため左方向にサンプリングを進めたため• 内容は実質的に(400/710)0.5のスケール範囲に縮んでいる– ※GPUリソースとしては同じサイズのため実際はこの状態©Silicon Studio Corp., all rights reserved.

149

白色への正規化• 色に偏りがある…
– XYZの白色点の違いなどに起因• 縦一列毎にRGB合計が白になるように再度正規化– 縦一列を絞り形状にマッピングした総計を白にするため©Silicon Studio Corp., all rights reserved.

150白色への正規化時の注意• 2次元にマッピングされることを考慮– ボケにマッピングされる際の色分布に注意– 例えばこの2色を円形にマッピングした場合• 元のテクスチャの輝度平均はどちらも– ((1,0,1)+(0,1,0))/2 = (0.5, 0.5, 0.5)

©Silicon Studio Corp., all rights reserved.

151白色への正規化時の注意• 2次元にマッピングされることを考慮– ボケにマッピングされる際の色分布に注意– 例えばこの2色を円形にマッピングした場合• 元のテクスチャの輝度平均はどちらも– ((1,0,1)+(0,1,0))/2 = (0.5, 0.5, 0.5)

• 円形マッピング結果の平均色は異なる– 外側は内側の3倍の面積にマッピングされる©Silicon Studio Corp., all rights reserved.

152

白色への正規化時の注意• 2次元にマッピングされることを考慮– ボケにマッピングされる際の色分布に注意– 例えばこの2色を円形にマッピングした場合• 元のテクスチャの輝度平均はどちらも– ((1,0,1)+(0,1,0))/2 = (0.5, 0.5, 0.5)

• 円形マッピング結果の平均色は異なる– 外側は内側の3倍の面積にマッピングされる– ((1,0,1)x3+(0,1,0))/4 = (0.75, 0.25, 0.75)– ((0,1,0)x3+(1,0,1))/4 = (0.25, 0.75, 0.25)– 中心からの距離に比例して面積が増加• よってその分を考慮した加重平均結果での正規化が必要©Silicon Studio Corp., all rights reserved.

153

白色への正規化• 縦一列毎にRGB合計が白になるように正規化…

©Silicon Studio Corp., all rights reserved.

154

白色への正規化• この図では結果を1/10程度に圧縮してsRGBで表示– 実際には浮動小数点で白を平均とするためもっと明るい©Silicon Studio Corp., all rights reserved.

155

回折マップの完成• ※フォーカス付近はおそらく誤差が大きい– ほぼ可視化されない領域なので実用上は問題はない©Silicon Studio Corp., all rights reserved.

156

ボケにマッピング• 完成した回折マップをボケにマッピング– 光軸方向(=深度方向)のU座標をどう求めるか？
– 回折縞幅を基準に生成した回折マップ• 適切なスケールでマッピングする必要がある
V
:

方
向
ボ
ケ
の
動
径
方
向

U方向: 焦点深度やCoC(ボケサイズ)による回折パターンのスケール方向©Silicon Studio Corp., all rights reserved.

157

回折スケールの考察(疑問編)©Silicon Studio Corp., all rights reserved.

158

回折スケールの考察(疑問1)• 一画面内で深度(CoC:ボケサイズ)だけが異なる場合– エッジ側から見た回折縞の物理的な幅が変化

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

159

回折スケールの考察(疑問1)• 一画面内で深度(CoC:ボケサイズ)だけが異なる場合– エッジ側から見た回折縞の物理的な幅が変化• ただし縞の幅はCoCに対して線形までは変化していない• では実際にはCoCがn倍になれば回折縞は何倍になるか？

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

160

回折スケールの考察(疑問2)• 同一の深度(CoC)で波長だけが変化した場合(色変化)– エッジ側から見た回折縞の物理的な幅が変化

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

161

回折スケールの考察(疑問2)• 同一の深度(CoC)で波長だけが変化した場合(色変化)– エッジ側から見た回折縞の物理的な幅が変化• ただし波長に線形までは変化していない– 波長は伝搬全体の等方性スケールなので波長に線形比例ならフォーカスからの距離にも線形比例のはず(実際は違う)• では実際には波長がn倍になれば回折縞は何倍になるか？

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

162

回折スケールの考察(事前知識)• 近軸近似により回折パターンは常に同じ(前述)– 下図は実効F値Fe=1とFe=2の状態を比較したもの– 縦(動径方向)のスケールはFeに比例、横(光軸)方向はFe2に比例• Feを2倍(絞り径半分)に絞ることで縦が2倍になったため、横は4倍になる– Fe=x/yにより
Fe=1

y

x

𝐹𝑒 = 𝑥/𝑦※画像の都合でFe=1の方が短いが実際には左右方向にずっと続く

Fe=2

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

163

回折スケールの考察(疑問3)• 同じボケのサイズで実効F値(Fe)のみが異なる場合– 絞りが変化しても深度等の違いで同じCoCとなるケース

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

164

回折スケールの考察(疑問3)• 同じボケのサイズで実効F値(Fe)のみが異なる場合– 絞りが変化しても深度等の違いで同じCoCとなるケース– エッジ側から見た回折縞の物理的な幅が変化• ただしFe値に線形までは変化していない• では実際にはFeがn倍になれば回折縞は何倍になるか？

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

165

回折スケールの考察(事前知識)• 他の光学パラメタを変えずに絞りのみ変更した場合– ボケサイズ(CoC)は絞り径に比例して変化(これは必然)– エッジ部分に見える回折縞の幅は一定• ※画面内の異なる深度のボケ間では異なる

f/22, f/11, f/5.6の実写のボケ像の比較
Cited from: https://www.pentaxforums.com/forums/10-pentax-slr-lens-discussion/81530-lens-bokeh-research-help-3.html©Silicon Studio Corp., all rights reserved.

166

回折スケールの考察(事前知識)• 他の光学パラメタを変えずに絞りのみ変更した場合– ボケサイズ(CoC)は絞り径に比例して変化(これは必然)– エッジ部分に見える回折縞の幅は一定• ※画面内の異なる深度のボケ間では異なる

絞りが変わっても回折パターンは同じ模様でかつ物理的に同じスケール
f/22, f/11, f/5.6の実写のボケ像の比較
Cited from: https://www.pentaxforums.com/forums/10-pentax-slr-lens-discussion/81530-lens-bokeh-research-help-3.html©Silicon Studio Corp., all rights reserved.

167

回折スケールの考察(実効F値に関して)©Silicon Studio Corp., all rights reserved.

168

回折スケールの考察(実効F値に関して)• 思考実験(Fe):Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

169

回折スケールの考察(実効F値に関して)• 思考実験(Fe): 絞りを1/n(Fe値をn倍)にした場合– 伝搬のスケールは動径方向にn倍、光軸方向にはn2倍(前述)• この図では2倍のため縦2倍、横4倍に拡大される

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

170

回折スケールの考察(実効F値に関して)• 思考実験(Fe): 絞りを1/n(Fe値をn倍)にした場合– ボケのサイズは1/nになる

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

171

回折スケールの考察(実効F値に関して)• 思考実験(Fe): 絞りを1/n(Fe値をn倍)にした場合– ボケのサイズは1/nになるが回折縞の幅は同じ(前述)

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

172

回折スケールの考察(実効F値に関して)• 思考実験(Fe): 絞りを1/n(Fe値をn倍)にした場合– ボケのサイズは1/nになるが回折縞の幅は同じ(前述)– 元のFe時のn倍サイズのボケがあるとCited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

173

回折スケールの考察(実効F値に関して)• 思考実験(Fe): 絞りを1/n(Fe値をn倍)にした場合– ボケのサイズは1/nになるが回折縞の幅は同じ(前述)– 元のFe時のn倍サイズのボケがあると回折模様は相似(必然)• 伝搬の動径方向はn倍に拡大されているため

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

174

回折スケールの考察(実効F値に関して)• 思考実験(Fe): 絞りを1/n(Fe値をn倍)にした場合– ボケのサイズは1/nになるが回折縞の幅は同じ(前述)– 元のFe時のn倍サイズのボケがあると回折模様は相似(必然)• 伝搬の動径方向はn倍に拡大されているため• よって回折縞の幅もn倍Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

175

これらの考察から回折縞の物理幅は…
• あらゆるスケールで成り立っているため回折縞の幅は– Fea CoCb λc に比例すると推測• 波長(λ)と実効F値(Fe)とボケサイズ(CoC)のみに依存• 前頁から、実行F値Feをn倍した場合– 元のn倍となるCoCのボケの回折縞はn倍になる• (n Fe)a (n CoC)b λc = (Fea CoCb) n(a+b) λc– n(a+b) = n となるためには a+b = 1 でなければならない– 元の1/n倍となるCoCのボケの回折縞は変化しない• (n Fe)a (CoC/n)b λc = (Fea CoCb) na/nb λc = (Fea CoCb) n(a/b) λc– n(a/b) = 1 となるためには a = b でなければならない• よって a = b = 0.5©Silicon Studio Corp., all rights reserved.

176

これらの考察から回折縞の物理幅は…
• 以上から回折縞の物理幅はひとまず
Fe0.5 CoC0.5 λc = (Fe CoC)0.5 λc に比例すると考えられる• 検算してみる– Feをn倍した場合• 元のn倍CoCのボケの回折縞はn倍になる– (n Fe)0.5 (n CoC)0.5 λc = (λc Fe0.5 CoC0.5) n(0.5+0.5) λc– n(0.5+0.5) = n のため n倍になっている• 元の1/n倍CoCのボケの回折縞は変化しない– (n Fe)0.5 (CoC/n)0.5 λc = (Fe0.5 CoC0.5) n0.5/n0.5 λc– n0.5/n0.5 = 1 のため変化していない– よって矛盾なし©Silicon Studio Corp., all rights reserved.

177

回折スケールの考察(波長λに関して)©Silicon Studio Corp., all rights reserved.

178

回折スケールの考察(波長λに関して)• 思考実験(λ):

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

179

回折スケールの考察(波長λに関して)• 思考実験(λ): 波長をn倍にした場合– 回折の伝搬は全体がn倍(動径、光軸方向ともにn倍)• この図では2倍のため全体が2倍に拡大される

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

180

回折スケールの考察(波長λに関して)• 思考実験(λ): 波長をn倍にした場合– 絞りとCoCは変わらないがCited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

181

回折スケールの考察(波長λに関して)• 思考実験(λ): 波長をn倍にした場合– 絞りとCoCは変わらないが回折縞の幅は少し増加(前述)Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

182

回折スケールの考察(波長λに関して)• 思考実験(λ): 波長をn倍にした場合– 絞りとCoCは変わらないが回折縞の幅は少し増加(前述)– 元の波長における1/nサイズのボケと相似の回折模様(必然)Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

183

回折スケールの考察(波長λに関して)• 思考実験(λ): 波長をn倍にした場合

Fe0.5 CoC0.5 λc– 絞りとCoCは変わらないが回折縞の幅は少し増加(前述)– 元の波長における1/nサイズのボケと相似の回折模様(必然)• 回折縞の幅は他のパラメタが定数ならCoC0.5に比例(前述)• よって(1/n)0.5

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

184

回折スケールの考察(波長λに関して)• 思考実験(λ): 波長をn倍にした場合

Fe0.5 CoC0.5 λc– 絞りとCoCは変わらないが回折縞の幅は少し増加(前述)– 元の波長における1/nサイズのボケと相似の回折模様(必然)• 回折縞の幅は他のパラメタが定数ならCoC0.5に比例(前述)• つまり(1/n)0.5×n倍の幅– = n0.5倍の幅

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

185これらの考察から回折縞の物理幅は…
• 回折縞の物理幅は波長がn倍になると(1/n)0.5n = n0.5倍• よって前述の Fe0.5 CoC0.5 λc における c = 0.5– 結局 a,b,c はすべて0.5であることが判明• 以上をすべてまとめると回折縞の物理幅はFe0.5 CoC0.5 λ0.5 = (Fe CoC λ)0.5 に比例する©Silicon Studio Corp., all rights reserved.

186

回折スケールの考察(回答編)©Silicon Studio Corp., all rights reserved.

187

再掲：回折スケールの考察(疑問1)• 一画面内で深度(CoC:ボケサイズ)だけが異なる場合– エッジ側から見た回折縞の物理的な幅が変化• ただし縞の幅はCoCに対して線形までは変化しない– 線形に増えるならボケの回折模様はCoCに関わらず相似形となる• では実際にはCoCがn倍になれば回折縞は何倍になるか？

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

188解答：回折スケールの考察(疑問1)• 一画面内で深度(CoC:ボケサイズ)だけが異なる場合– CoCの0.5乗に比例して変化• CoCがn倍になれば回折縞の幅はn0.5倍になる• フォーカス部分を考慮すると厳密には異なる– CoCがゼロ(完全フォーカス)の時にも回折は有限の広がりをもつ

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

189

再掲：回折スケールの考察(疑問2)• 同一の深度(CoC)で波長だけが変化した場合(色変化)– エッジ側から見た回折縞の物理的な幅が変化• ただし波長に線形までは変化しない– 波長は伝搬全体の等方性スケールなので線形比例ならフォーカスからの距離にも線形に比例する必要がある• では実際には波長がn倍になれば回折縞は何倍になるか？

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

190

解答：回折スケールの考察(疑問2)• 同一の深度(CoC)で波長だけが変化した場合(色変化)– 波長λの0.5乗に比例して変化• λがn倍になれば同じサイズのボケの回折縞の幅はn0.5倍になる– 回折の伝搬全体のスケールは波長に比例することに注意• あくまでエッジ側からみた回折縞の幅が(大域的には)0.5乗に比例

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

191

再掲：回折スケールの考察(疑問3)• 同じボケのサイズで実効F値(Fe)のみが異なる場合– 絞りが変化しても深度等の違いで同じCoCとなるケース– エッジ側から見た回折縞の物理的な幅が変化• ただしFe値に線形までは変化していない• では実際にはFeがn倍になれば回折縞は何倍になるか？

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

192

解答：回折スケールの考察(疑問3)• 同じボケのサイズで実効F値(Fe)のみが異なる場合– 絞りが変化しても深度等の違いで同じCoCとなるケース– Feの0.5乗に比例して変化• 実効F値がn倍になれば回折縞の幅はn0.5倍になる

Cited From: Wikipedia, the free encyclopedia
https://en.wikipedia.org/wiki/File:Spherical-aberration-disk.jpg, https://en.wikipedia.org/wiki/File:Spherical-aberration-slice.jpg©Silicon Studio Corp., all rights reserved.

193

では回折縞の物理幅の比例定数は？

©Silicon Studio Corp., all rights reserved.

194

では回折縞の物理幅の比例定数は？
• シミュレーションあるいは実写と比較して調整• 縞の幅で調整してみる– 最外周の幅は評価しにくいため例えば2番目の縞で©Silicon Studio Corp., all rights reserved.

195

では回折縞の物理幅の比例定数は？
• シミュレーションあるいは実写と比較して調整• 縞の幅で調整してみる– 最外周の幅は評価しにくいため例えば2番目の縞で– 2番目の縞の物理幅mm≒
0.75 Fe0.5 CoCmm0.5 λmm0.5 = 0.75(Fe CoCmm λmm)0.5– 今回は実写を元に調整• おそらく2~3割程度の誤差は充分ありえる– 実際には波面収差等の要因でスケールも変化するため• 実用上は任意のスケールを指定できると良い©Silicon Studio Corp., all rights reserved.

196

回折縞の物理幅の比例定数は？
• 0.75 Fe0.5 CoCmm0.5 λmm0.5 = 0.75(Fe CoCmm λmm)0.5• 例えばフルサイズセンサーf/2で画面の縦半分サイズのボケ– ただしブリージング(フォーカスによる画角変動)が無いレンズ• 言い換えると実効F値がF値(例えばf/2)と一致するレンズ– CoC=12mm, Fe=2, 仮にλ=0.0005mm(500nm)• ⇒0.75 x (2 x 12mm x 0.0005mm)0.5 = 0.0826mm– センサーが仮に縦4,000ピクセルなら• ⇒0.0826mm/24mm x 4,000ピクセル=13.76(約14ピクセル)©Silicon Studio Corp., all rights reserved.

197

回折マップ座標へのマッピング• 0.75 Fe0.5 CoCmm0.5 λmm0.5 = 0.75(Fe CoCmm λmm)0.5• 深度から計算したCoCを元に上記から物理幅を計算– 波長λは可視波長積分の基準とした長波端(今回は710nm)• CoC半径と回折縞幅との比率を計算– CoC半径の何%の幅をもっているか• 回折縞幅の割合から回折マップのU座標を計算©Silicon Studio Corp., all rights reserved.

198

回折縞の幅比較
写真vs.
CG
波長(色)を合わせて比較

©Silicon Studio Corp., all rights reserved.

写真との比較下あるいは左側がリアルタイム描画
波長で若干のズレはあるがほぼ一致©Silicon Studio Corp., all rights reserved.

回折縞幅と波長の関係比較• 波長の変化に対する回折縞の幅(0.5乗で比例)– 実写と比較して幅の関係性に大きな違和感はない©Silicon Studio Corp., all rights reserved.

CG

201
写真

回折マップ端を超えて細かくなるケース©Silicon Studio Corp., all rights reserved.

202

回折マップ端を超えて細かくなるケース• エッジ部分はスケールが異なるだけでほぼ相似(前述)• 積分結果のある程度より内側は単色とみなせる(前述)©Silicon Studio Corp., all rights reserved.

203

回折マップ端を超えて細かくなるケース• エッジ部分はスケールが異なるだけでほぼ相似(前述)• 積分結果のある程度より内側は単色とみなせる(前述)– 回折マップの左端より先はマッピングを縮小– ボケの内側の色をクランプで引き伸ばす©Silicon Studio Corp., all rights reserved.

204

回折マップ端を超えて細かくなるケース• エッジ部分はスケールが異なるだけでほぼ相似(前述)• 積分結果のある程度より内側は単色とみなせる(前述)– 回折マップの左端より先はマッピングを縮小– ボケの内側の色をクランプで引き伸ばす©Silicon Studio Corp., all rights reserved.

205

回折マップ端を超えて細かくなるケース• エッジ部分はスケールが異なるだけでほぼ相似(前述)• 積分結果のある程度より内側は単色とみなせる(前述)– 回折マップの左端より先はマッピングを縮小– ボケの内側の色をクランプで引き伸ばす©Silicon Studio Corp., all rights reserved.

206

回折マップ端を超えて細かくなるケース• 単色部分は僅かに白とは異なるので補正が必要– 平均が白になるように正規化しているため– エッジ部分の着色によって僅かに白色から外れている• これを考慮しないと微妙にボケの色がずれる©Silicon Studio Corp., all rights reserved.

207

回折マップ端を超えて細かくなるケース• ここでも2次元へのマッピングであることに注意– 例えば下図のように回折マップを1/2に縮小している場合©Silicon Studio Corp., all rights reserved.

208

回折マップ端を超えて細かくなるケース• ここでも2次元へのマッピングであることに注意– 例えば下図のように回折マップを1/2に縮小している場合– これを2次元にマッピングすると©Silicon Studio Corp., all rights reserved.

209

回折マップ端を超えて細かくなるケース• ここでも2次元へのマッピングであることに注意– 例えば下図のように回折マップを1/2に縮小している場合– これを2次元にマッピングすると• クランプで引き延ばした部分がボケ全体の面積の1/4を占める©Silicon Studio Corp., all rights reserved.

210

回折マップ端を超えて細かくなるケース• さらに縮小すると引き延ばした部分が大半を占める©Silicon Studio Corp., all rights reserved.

211

回折マップ端を超えて細かくなるケース• さらに縮小すると引き延ばした部分が大半を占める– ほぼ全体が単色なら、ここは白(灰)でなければならない©Silicon Studio Corp., all rights reserved.

212

回折マップ端を超えて細かくなるケース• 色の偏りもこの面積比で弱めると無難– 回折マップを1/xに縮小する必要のあるボケでは全体を(1-1/x)2の割合で白に近づける©Silicon Studio Corp., all rights reserved.

213

回折マップ端を超えて細かくなるケース• 厳密ではない– エッジ部分の着色領域が非常に狭い前提での近似– 回折は充分に縮小されている前提なので実用上は問題ない©Silicon Studio Corp., all rights reserved.

214

回折マップのスケール範囲と解像度©Silicon Studio Corp., all rights reserved.

215

回折マップのスケール範囲と解像度• そもそも左端はここまで必要か？
– 中央部分が単色とみなせるスケールまであれば良いはず– スケールが大きければ解像度もより小さくできるはず©Silicon Studio Corp., all rights reserved.

216

回折マップのスケール範囲と解像度• そもそも左端はここまで必要か？
– 中央部分が単色とみなせるスケールまであれば良いはず– スケールが大きければ解像度もより小さくできるはず– 例えばこのくらいに…

©Silicon Studio Corp., all rights reserved.

217

回折マップのスケール範囲と解像度• そもそも左端はここまで必要か？
– 中央部分が単色とみなせるスケールまであれば良いはず– スケールが大きければ解像度もより小さくできるはず– 例えばこのくらいに…

©Silicon Studio Corp., all rights reserved.

218

回折マップのスケール範囲と解像度• このくらいのサイズで実装して検証すると…
– フォーカス付近の解像度にやや影響がある• あまり大きな劣化ではない– 部分的に解像感が落ちるケースも向上するケースも• おそらくミップマップ等の生成方法でも変わる– パフォーマンスはあまり変わらない？
• フォーカス付近で解像感に影響があるようなケースでは変わる– 実質的に解像度を下げていることを意味するため必然ではある– もう少し検証は続けたい©Silicon Studio Corp., all rights reserved.

219

回折マップのスケール範囲と解像度• 単色とみなせる領域はテクスチャ座標をクランプ– ある程度より内側はほぼ単色(白)とみなせる©Silicon Studio Corp., all rights reserved.

220

回折マップのスケール範囲と解像度• 単色とみなせる領域はテクスチャ座標をクランプ– ある程度より内側はほぼ単色(白)とみなせる• V座標を赤線でクランプすることでパフォーマンス向上可能– 低解像度化よりもこちらの方が効果的？

©Silicon Studio Corp., all rights reserved.

221余談: マッピング時のスケーリングの留意点©Silicon Studio Corp., all rights reserved.

222

余談: マッピング時のスケーリングの留意点• 回折パターンのスケール(再掲)– 波長(λ)と実効F値(Fe)に比例– ここで実効F値 Fe＝V / D• V : 後側主面(屈折面)からセンサーまでの垂直距離• D : 開口絞り有効径(絞りの直径)Vθ– 言い換えるとD• λとVに比例しDに反比例– ※センサーまでの距離Vに比例

f

V
L

V

• つまり実像の回折パターンはレンズからの距離に比例して拡大©Silicon Studio Corp., all rights reserved.

223

余談: マッピング時のスケーリングの留意点• 回折の伝搬はレンズからの距離で拡大されてゆく– 生成した回折マップでこの現象は再現できているか？

一様なスケールでマッピングされた状態©Silicon Studio Corp., all rights reserved.

レンズからの距離で拡大される伝搬
224

余談: マッピング時のスケーリングの留意点• あるフレームにおけるセンサーの位置は固定値(赤線)– 現フレームの実効F値で回折のスケールを計算• 実効F値 Fe＝V / D– V : センサーまでの距離– D : 開口絞り有効径– 赤線上しか参照されない• 伝搬のスケールもすべて一定• FeによりVも反映されている画面内で異なる距離から届いた光の伝搬状態センサー(赤線)上での拡がりがボケ像を意味する©Silicon Studio Corp., all rights reserved.

225余談: マッピング時のスケーリングの留意点• 回折マップ上の対応する位置を対応するサイズで参照

このセンサー位置用に一様なスケーリングを行った状態

レンズからの距離で拡大される伝搬(表現したい目的の状態)©Silicon Studio Corp., all rights reserved.

226

余談: マッピング時のスケーリングの留意点• 回折マップ上の対応する位置を対応するサイズで参照

レンズからの距離で拡大される伝搬(表現したい目的の状態)©Silicon Studio Corp., all rights reserved.

227

余談: マッピング時のスケーリングの留意点• 回折マップ上の対応する位置を対応するサイズで参照– 伝搬の拡大状況はレンズ後側主面からの距離で決まる• このセンサー距離用にスケーリングすれば目的のスケールと一致– 同じセンサー位置ではスケーリング状況は常に一致するため– 他の位置ではスケールもズレている

レンズからの距離で拡大される伝搬(表現したい目的の状態)©Silicon Studio Corp., all rights reserved.

228

余談: マッピング時のスケーリングの留意点• 回折マップ上の対応する位置を対応するサイズで参照

このセンサー位置用に一様なスケーリングを行った状態

レンズからの距離で拡大される伝搬(表現したい目的の状態)©Silicon Studio Corp., all rights reserved.

229

余談: マッピング時のスケーリングの留意点• 回折マップ上の対応する位置を対応するサイズで参照

レンズからの距離で拡大される伝搬(表現したい目的の状態)©Silicon Studio Corp., all rights reserved.

230

余談: マッピング時のスケーリングの留意点• 回折マップ上の対応する位置を対応するサイズで参照

レンズからの距離で拡大される伝搬(表現したい目的の状態)©Silicon Studio Corp., all rights reserved.

231

余談: マッピング時のスケーリングの留意点• 回折マップ上の対応する位置を対応するサイズで参照– 伝搬の拡大状況はレンズ後側主面からの距離で決まる• このセンサー距離用にスケーリングすれば目的のスケールと一致– 同じセンサー位置ではスケーリング状況は常に一致するため– 他の位置ではスケールもズレている• 伝搬の距離による拡大は自動的に反映されているレンズからの距離で拡大される伝搬(表現したい目的の状態)©Silicon Studio Corp., all rights reserved.

232

余談: マッピング時のスケーリングの留意点• 回折マップ上の対応する位置を対応するサイズで参照

このセンサー位置用に一様なスケーリングを行った状態

レンズからの距離で拡大される伝搬(表現したい目的の状態)©Silicon Studio Corp., all rights reserved.

233

余談: マッピング時のスケーリングの留意点• 回折マップ上の対応する位置を対応するサイズで参照

レンズからの距離で拡大される伝搬(表現したい目的の状態)©Silicon Studio Corp., all rights reserved.

234

余談: マッピング時のスケーリングの留意点• 回折マップ上の対応する位置を対応するサイズで参照

レンズからの距離で拡大される伝搬(表現したい目的の状態)©Silicon Studio Corp., all rights reserved.

235

余談: マッピング時のスケーリングの留意点• 回折マップ上の対応する位置を対応するサイズで参照– 伝搬の拡大状況はレンズ後側主面からの距離で決まる• このセンサー距離用にスケーリングすれば目的のスケールと一致– 同じセンサー位置ではスケーリング状況は常に一致するため– 他の位置ではスケールもズレている• 伝搬の距離による拡大は自動的に反映されているレンズからの距離で拡大される伝搬(表現したい目的の状態)©Silicon Studio Corp., all rights reserved.

236

口径食部分の回折パターン©Silicon Studio Corp., all rights reserved.

237

口径食部分の回折パターン• 絞りを変化させた比較©Silicon Studio Corp., all rights reserved.

238

口径食部分の回折パターン• 絞りを変化させた比較– 回折縞の物理幅は？

©Silicon Studio Corp., all rights reserved.

239

絞りを変化させた比較• 回折縞の幅は変化しない(前述)– 口径食エッジもおおよそ同じ幅？

©Silicon Studio Corp., all rights reserved.

240口径食は有効径の異なるもう1つの絞り©Silicon Studio Corp., all rights reserved.

241口径食は有効径の異なるもう1つの絞り• 本来の絞りによるCoC(赤〇)©Silicon Studio Corp., all rights reserved.

242

口径食は有効径の異なるもう1つの絞り• 本来の絞りによるCoC(赤〇)• 口径食による疑似的なCoC(黄〇)©Silicon Studio Corp., all rights reserved.

243口径食は有効径の異なるもう1つの絞り• 本来の絞りによるCoC(赤〇)は絞ると縮小• 口径食による疑似的なCoC(黄〇)は変化しない©Silicon Studio Corp., all rights reserved.

244

口径食は有効径の異なるもう1つの絞り• エッジから見た回折縞の物理幅は(Fe CoC λ)0.5に比例(前述)©Silicon Studio Corp., all rights reserved.

245

口径食は有効径の異なるもう1つの絞り• エッジから見た回折縞の物理幅は(Fe CoC λ)0.5に比例(前述)– 本来の絞り有効径は絞りで変化• 実効F値(Fe)とCoC(ボケサイズ)は反比例の関係• よって回折縞の幅は変化しない(前述)©Silicon Studio Corp., all rights reserved.

246

口径食は有効径の異なるもう1つの絞り• エッジから見た回折縞の物理幅は(Fe CoC λ)0.5に比例(前述)– 本来の絞り有効径は絞りで変化• 実効F値(Fe)とCoC(ボケサイズ)は反比例の関係• よって回折縞の幅は変化しない(前述)– 口径食の有効径は絞っても変化しない• 疑似的な実効F値(Fe)もCoCも変化しない• よって回折縞の幅も変化しない©Silicon Studio Corp., all rights reserved.

247

口径食は有効径の異なるもう1つの絞り• エッジから見た回折縞の物理幅は(Fe CoC λ)0.5に比例(前述)– 本来の絞り有効径は絞りで変化• 実効F値(Fe)とCoC(ボケサイズ)は反比例の関係• よって回折縞の幅は変化しない(前述)– 口径食の有効径は絞っても変化しない• 疑似的な実効F値(Fe)もCoCも変化しない• よって回折縞の幅も変化しない– そもそも口径食がどのような大きさでも• 疑似的な実効F値(Fe)とCoCは反比例の関係– 同じ深度なら (Fe CoC λ)0.5 の(Fe×CoC)は常に定数• よって回折縞の幅は常に一定– 絞りだけを変えても変化しないことと同じ©Silicon Studio Corp., all rights reserved.

248

回折縞幅は口径食のサイズに関わらず一定• 以上から回折縞の物理幅は常に本来の絞りと同じ– 厳密には他の条件でやや異なる？
• 実用上は同じとみなしても問題ない程度– 右の写真ではやや異なっている• 画面端付近では口径食の回折縞がやや広い– おそらくは収差等の影響• このケースでは画面端付近以外では同じ©Silicon Studio Corp., all rights reserved.

249任意の形状のボケにマッピング©Silicon Studio Corp., all rights reserved.

250任意の形状のボケにマッピング• 以上を踏まえて絞り形状に変形しながらマッピング– 光束マップ同様中心からの距離を格納したLUTを利用

V

距離を格納した
テクスチャ

:

中
心方
か向
らボ
のケ
垂動
直径
距方
離向

©Silicon Studio Corp., all rights reserved.

251

ボケ味と回折パターン適用結果比較• この画像では不規則なノイズも適用(後述)

幾何光学のみのボケ味表現©Silicon Studio Corp., all rights reserved.

波動光学を考慮したボケ味
252

幾何光学のみ
フォーサーズ相当(f/3.5)©Silicon Studio Corp., all rights reserved.

波動光学も考慮
フォーサーズ相当(f/3.5)
口径食エッジも同じ縞幅©Silicon Studio Corp., all rights reserved.

絞りによる回折パターンの変化• APS-C相当サイズ– 比較のため上下トリミング(約7mm範囲表示)• 上段：回折あり／下段：回折なし• f/2(Fe2.5)～f/22(Fe28)– 露出は絞りに応じて変化• 絞ると暗くなるがボケの明るさは同じ• 絞りを変えても回折縞の幅は変化しないことに注意– ボケは小さくなる(当然)©Silicon Studio Corp., all rights reserved.

255

f/2

回折あり
回折なし

©Silicon Studio Corp., all rights reserved.

f/2.8

回折あり
回折なし©Silicon Studio Corp., all rights reserved.

f/4

回折あり
回折なし

©Silicon Studio Corp., all rights reserved.

f/5.6

回折あり
回折なし©Silicon Studio Corp., all rights reserved.

f/8

回折あり
回折なし

©Silicon Studio Corp., all rights reserved.

f/11

回折あり
回折なし

©Silicon Studio Corp., all rights reserved.

f/16

回折あり
回折なし

©Silicon Studio Corp., all rights reserved.

f/22

回折あり
回折なし

©Silicon Studio Corp., all rights reserved.

回折パターンのパフォーマンス
• 追加の負荷は少なめでコストパフォーマンスは高い– 回折マップは同一ボケ内では動径方向変化のみで効率的– 光学に基づいたスケールでは回折はかなり細かい• 殆どのケースで下図のような状態– 赤線付近より下側は事実上単色でテクスチャも不要– Scatterのみを対象にできる(後述)©Silicon Studio Corp., all rights reserved.

264光束と回折は1つのマップにできないか？
• 光束マップに回折もベイクできれば効率的– ボケ実行時のテクスチャフェッチが1回で済む• 収差と回折は深度方向の性質が異なり独立している– ズーミングやフォーカシングでも同深度の組み合わせが異なる– ⇒毎フレームベイクが必要となる• 回折パターン特有の情報の偏り– 回折はエッジ部分に詳細な情報が必要だが内側はほぼ単色• 光束マップにはできない最適化とディティール表現が可能(前述)– 光束とまとめてベイクするとこれらの優位性も失われる• ⇒1つにまとめない方が効率的なケースが多い©Silicon Studio Corp., all rights reserved.

265

玉ねぎボケその他の模様©Silicon Studio Corp., all rights reserved.

266

玉ねぎボケその他の模様• 玉ねぎボケ(年輪ボケ)– ボケ内に生じる同心円状の模様• 模様の中心はボケの中心とは一致しない(後述)– 主な原因は非球面レンズの製造時の加工痕• 近年は加工精度の向上により以前ほどは目立たない• 非球面レンズの数により複数可視化されることもある• その他レンズ表面の非均一性やダストによる模様– 周期性やパターンの無い不規則な模様– 水滴や汚れが作る小さな回折模様(⇒)• 今回は取り上げない©Silicon Studio Corp., all rights reserved.

267

玉ねぎボケの実装の要件• 原因となる非球面レンズの位置によって挙動が変化– 挙動の原理は口径食とまったく同じ [Kawase 2012]• 玉ねぎボケでは同心円模様– 口径食では遮蔽マスク• 絞りより前方か後方かで同心円模様の動きが変化– 絞りより前方にあると後ボケではボケよりゆっくり動く– 絞りより後方にあると後ボケではボケより速く動く– ※後ボケと前ボケでは反転• 特定のレンズ表面で生じる– 口径食と同じく絞りでは変化しない– 挙動が口径食とほぼ一致するケースもよく見られる©Silicon Studio Corp., all rights reserved.

268

玉ねぎボケの模様は絞りでは変化しない©Silicon Studio Corp., all rights reserved.

269

玉ねぎボケの模様は絞りでは変化しない©Silicon Studio Corp., all rights reserved.

270

玉ねぎボケの模様は絞りでは変化しない©Silicon Studio Corp., all rights reserved.

271

玉ねぎボケの実装の要件• 動的にさまざまな特性を制御したい– 製品によって模様の特徴が大きく異なるため• “玉ねぎボケ” “Onion ring bokeh” 等で画像検索してみよう– よってプロシージャルに生成• オフラインツールでは写真を貼る実装が多い• 複数現れることもあるが…
– 多くのケースでは目立つものは1つ– 実装は可能だが実用上は1つでも充分• 右の写真もよく見ると2つある©Silicon Studio Corp., all rights reserved.

272

以上を踏まえて玉ねぎボケの実装• 基本は周波数の異なるノイズの合成で生成– 合成ノイズは事前生成– ノイズを同心円状に引き伸ばす• 強く引き伸ばすほど鋭く歪みの無い同心円模様• 玉ねぎボケとしての強さの制御©Silicon Studio Corp., all rights reserved.

273

玉ねぎボケの実装• それらしい表現のため依存フェッチを利用– 最初にフラグメント位置のノイズを取得• U: ノイズの値をスケーリング– 玉ねぎ強度が強い程小さな座標変化に• V: 玉ねぎ中心からの距離– UVを使った依存フェッチで2回目のノイズ– 1回目のノイズとブレンド

V:• Uが同心円の回転方向• 玉ねぎ強度によって合成

(

動
径
放
射
方
向

©Silicon Studio Corp., all rights reserved.

)• 改善の余地あり

U: 同心円回転方向

274

玉ねぎボケの実装• それらしい表現のため依存フェッチを利用– 最初にフラグメント位置のノイズを取得• U: ノイズの値をスケーリング– 玉ねぎ強度が強い程小さな座標変化に• V: 玉ねぎ中心からの距離– UVを使った依存フェッチで2回目のノイズ– 1回目のノイズとブレンド

V:• Uが同心円の回転方向• 玉ねぎ強度によって合成

(

動
径
放
射
方
向

©Silicon Studio Corp., all rights reserved.

)• 改善の余地あり

U: 同心円回転方向

275

玉ねぎボケの強度と鋭さの変化• 右上は玉ねぎボケの適用なし• 下段は左から玉ねぎボケの強度変化– 左端は不規則なノイズのみ– 右端は歪みが一切ない状態(極端な例)©Silicon Studio Corp., all rights reserved.

276

玉ねぎボケやノイズ無効©Silicon Studio Corp., all rights reserved.

不規則なノイズのみ
判りやすいように少し強調©Silicon Studio Corp., all rights reserved.

ある程度の玉ねぎボケ©Silicon Studio Corp., all rights reserved.

強めの玉ねぎボケ©Silicon Studio Corp., all rights reserved.

強めの玉ねぎボケ
生じる位置をずらしたもの©Silicon Studio Corp., all rights reserved.

強めの玉ねぎボケ
位置のずれと細かな模様©Silicon Studio Corp., all rights reserved.

©Silicon Studio Corp., all rights reserved.

玉ねぎボケ

実写比較

©Silicon Studio Corp., all rights reserved.

リアルタイム絞りによる玉ねぎボケの変化• f/1.4～f/4– 露出は絞りに応じて変化• 絞ると暗くなるがボケの明るさは同じ• 絞りを変えても玉ねぎボケの模様は変化しない– この例では玉ねぎボケと口径食の挙動もほぼ一致– その他レンズ表面に起因するノイズも同様– ボケは小さくなる(当然)©Silicon Studio Corp., all rights reserved.

285

f/1.4©Silicon Studio Corp., all rights reserved.

f/1.7©Silicon Studio Corp., all rights reserved.

f/2©Silicon Studio Corp., all rights reserved.

f/2.4©Silicon Studio Corp., all rights reserved.

f/2.8©Silicon Studio Corp., all rights reserved.

f/3.4©Silicon Studio Corp., all rights reserved.

f/4©Silicon Studio Corp., all rights reserved.

玉ねぎボケのパフォーマンス
• それなりに高負荷– 特にノイズテクスチャの依存フェッチは負荷が高い• 回折と異なりフルに2次元テクスチャフェッチが必要– 玉ねぎボケではなくノイズだけならやや軽い• しかしエフェクト用途ならフィルムグレインでも代替可能？

• 限られたシーンでの使用を推奨– 例えばカットシーンなど©Silicon Studio Corp., all rights reserved.

293ダスト等による回折模様©Silicon Studio Corp., all rights reserved.

294

ダスト等による回折模様• レンズ表面に付着した汚れや水滴によって生じる回折– 基本的な挙動は玉ねぎボケや不均一なノイズと同じ– 原則としては前玉レンズ表面に発生• つまり絞りよりもかなり前方で発生• 挙動に癖のあるケースも• 重要性は低い– 今回は取り上げない©Silicon Studio Corp., all rights reserved.

295

巨大ボケの表現©Silicon Studio Corp., all rights reserved.

296

巨大ボケの表現に関して• 近年のDoF実装はレイヤーを少なくする傾向– フォーカスと前後ボケの3レイヤー程度が主流– Scatter-as-Gatherアプローチの恩恵？
• 少ないレイヤー数でもそれなりに正確に遮蔽を表現できる• 巨大なボケの表現には無理が生じる– サンプリング不足で品質が非常に低くなる• 充分な表現には極めて多くのサンプリングが必要– 遮蔽等の処理に限界がある• 小ボケと巨大ボケを同じレイヤーでまとめて処理するのは難しい©Silicon Studio Corp., all rights reserved.

297

レイヤー！レイヤー！レイヤー！
• シリコンスタジオでは従来より一貫して巨大なボケも重視– ポートレート撮影– クローズアップ(マクロ)撮影• 多数のレイヤー化で巨大なボケを表現– 非常に多数(最大15枚以上)のレイヤーを使用• 処理対象CoC範囲の限定により効率的にアーティファクトを除去– 巨大なボケには非常に小さな縮小バッファを使用• ディティールは表現できないが負荷が非常に低い• ボケのディティールはすべてScatterに任せる戦略©Silicon Studio Corp., all rights reserved.

298

多層レイヤー実装による破綻のない巨大ボケ表現©Silicon Studio Corp., all rights reserved.

ディティール表現とパフォーマンス
• ディティールはすべてScatterで表現– 回折や玉ねぎボケ等はScatterのみ• 多くのシーンでScatterは極一部のため負荷増は限定的• Scatterの解像度が重要– Scatterを高解像度化すると劇的に表現力が向上する– しかし解像度が2倍になるとScatter負荷は16倍• 4倍のソースピクセル数から各々4倍面積で生成されるため©Silicon Studio Corp., all rights reserved.

300より効率の良い高解像度化• Scatterの出力解像度のみ疑似的に高解像度化– Scatterソースは元の解像度のまま増やさない• 2倍の高解像度化が4倍の負荷で可能– 本来ならソースも含めて16倍• 殆どのシーンでScatterは極一部のため負荷増は限定的– ※品質への影響がある• 離散的なブレ(右図)– 負荷とのトレードオフ• 総合的には許容範囲– 解像度感の向上のメリットが大©Silicon Studio Corp., all rights reserved.

301より効率の良い高解像度化• 負荷の高いScatterは2x2毎に1つ生成– [Kawase 2012]– 階層(解像度レベル)毎に負荷の高いボケだけを対象• その階層で対象とするCoC範囲内で相対的に大きなボケ– 小さなボケは負荷も低くアーティファクトを避けるため対象外に• 特に負荷の高いボケだけを集中的に高速化可能• 出力疑似高解像度化との併用– 結果として大きなボケは出力解像度の4x4毎に1つ生成• 真面目にすべて処理した場合と比較して16倍高速©Silicon Studio Corp., all rights reserved.

302

Scatter無効
ジャギー防止用ブラーあり©Silicon Studio Corp., all rights reserved.

Scatter解像度1/4
2x2ソース毎に1つ生成
ジャギー防止用ブラーあり©Silicon Studio Corp., all rights reserved.

Scatter解像度1/4→1/2
2x2ソース毎に1つ生成
出力のみ2倍解像度(=1/2)©Silicon Studio Corp., all rights reserved.

Scatter解像度1/2→1/1
2x2ソース毎に1つ生成
出力のみ2倍解像度(=1/1)©Silicon Studio Corp., all rights reserved.

Scatter解像度1/4
2x2ソース毎に1つ生成
ジャギー防止用ブラーあり©Silicon Studio Corp., all rights reserved.

Scatter解像度1/2
2x2ソース毎に1つ生成
入出力ともに2倍解像度
1/16パフォーマンス

©Silicon Studio Corp., all rights reserved.

Scatter解像度1/4→1/2
2x2ソース毎に1つ生成
出力のみ2倍解像度(=1/2)
1/4パフォーマンス
離散的なブレが生じる©Silicon Studio Corp., all rights reserved.

Scatter解像度1/2
2x2ソース毎に1つ生成
入出力ともに2倍解像度
1/16パフォーマンス

©Silicon Studio Corp., all rights reserved.

Scatter解像度1/2
2x2ソース毎に1つ生成
入出力ともに2倍解像度
1/16パフォーマンス

©Silicon Studio Corp., all rights reserved.

Scatter解像度1/4→1/2
2x2ソース毎に1つ生成
出力のみ2倍解像度(=1/2)
1/4パフォーマンス
離散的なブレが生じる©Silicon Studio Corp., all rights reserved.

ボケ結果比較©Silicon Studio Corp., all rights reserved.

313

実写との比較(従来表現)

Cited from:

幾何光学による従来のボケ味表現

https://www.pentaxforums.com/forums/10-pentax-slrlens-discussion/81530-lens-bokeh-research-help-3.html©Silicon Studio Corp., all rights reserved.

314

実写との比較(回折＆ディティール追加)

Cited from:

波動光学とディティール表現の追加

https://www.pentaxforums.com/forums/10-pentax-slrlens-discussion/81530-lens-bokeh-research-help-3.html©Silicon Studio Corp., all rights reserved.

315

実写比較

©Silicon Studio Corp., all rights reserved.

リアルタイムエフェクト

写真との比較下あるいは左側がリアルタイム描画©Silicon Studio Corp., all rights reserved.

実写における巨大な玉ボケの例
Cited from: “Understanding Bokeh”
https://www.bhphotovideo.com/explora/photography/tips-and-solutions/understanding-bokeh©Silicon Studio Corp., all rights reserved.

リアルタイム表現©Silicon Studio Corp., all rights reserved.

実写
Cited from: “Understanding Bokeh”
https://www.bhphotovideo.com/explora/photography/
tips-and-solutions/understanding-bokeh©Silicon Studio Corp., all rights reserved.

リアルタイム表現

実写

リアルタイム表現

Cited from: “Understanding Bokeh”
https://www.bhphotovideo.com/explora/photography/
tips-and-solutions/understanding-bokeh©Silicon Studio Corp., all rights reserved.

©Silicon Studio Corp., all rights reserved.

従来の玉ボケ表現

©Silicon Studio Corp., all rights reserved.

新しい玉ボケ表現

巨大な玉ボケ
従来の表現©Silicon Studio Corp., all rights reserved.

巨大な玉ボケ
新しい表現©Silicon Studio Corp., all rights reserved.

従来の表現©Silicon Studio Corp., all rights reserved.

新しい表現超巨大な玉ボケの例©Silicon Studio Corp., all rights reserved.

その他の効果と課題©Silicon Studio Corp., all rights reserved.

328

ボケ味のリアルタイムシミュレーション• 幾何光学のボケ味シミュレーション– 球面収差曲線からCSで光束マップをリアルタイム生成• 更新はパラメタ変更時のみ

縦収差図©Silicon Studio Corp., all rights reserved.

光束マップ
329

ボケ味のリアルタイムシミュレーション• 状態を確認しながらリアルタイムにカスタマイズ– 収差曲線・光束マップ・ボケ像(焦点内外像)©Silicon Studio Corp., all rights reserved.

330球面収差補正不足(ソフトな後ボケ)©Silicon Studio Corp., all rights reserved.

球面収差適正補正©Silicon Studio Corp., all rights reserved.

球面収差過剰補正
ハードな後ボケ(バブルボケ)©Silicon Studio Corp., all rights reserved.

アポクロマート補正レンズ
後ボケにシアンのフリンジ©Silicon Studio Corp., all rights reserved.

色収差を逆方向にカスタマイズ
後ボケにオレンジのフリンジ©Silicon Studio Corp., all rights reserved.

デフォーカスコントロール
球面収差過剰補正によるバブルボケ©Silicon Studio Corp., all rights reserved.

特殊な絞り(手裏剣ボケ等)©Silicon Studio Corp., all rights reserved.

ボケ味のリアルタイムシミュレーション• レンズを直接シミュレーションも可能– 現在のCS性能なら準リアルタイムで可能• ただし使いやすさは別問題©Silicon Studio Corp., all rights reserved.

338

アナモルフィックレンズエフェクト• [Kawase 2012, 2015] 表現の高品質化– 特有のボケ表現• アナモルフィック鏡筒のケラレによる歪な欠け方のボケ• アナモルフィック非点収差(乱視)– 縦横方向でフォーカス距離にずれが生じる効果– フォーカス付近でボケが縦線状や横線状になりフォーカス前後で入れ替わる– アナモルフィックレンズディストーションや倍率色収差– ※これらの相乗効果で特有の雰囲気が生じる©Silicon Studio Corp., all rights reserved.

339

Linear Blur by Astigmatism [Kawase 2015]• Horizontal or vertical focus generates linear blur
• Never focus perfectly– Circle of least confusion
Including cylindrical lenses

Compromised Focus P3
Horizontal Focus P1
Vertical Focus P2

Vertical blur at P1
Horizontal blur at P2

Anamorphic lens system©Silicon Studio Corp., all rights reserved.

Circle of Least Confusion at P3

340

340

通常のレンズ©Silicon Studio Corp., all rights reserved.

アナモルフィックレンズ
フレアと楕円ボケのみ©Silicon Studio Corp., all rights reserved.

アナモルフィックレンズ
その他の相乗効果©Silicon Studio Corp., all rights reserved.

アナモルフィックレンズ
その他の相乗効果
ディストーション
倍率色収差
非点収差
ケラレ

©Silicon Studio Corp., all rights reserved.

アナモルフィックレンズ
フレアと楕円ボケのみ©Silicon Studio Corp., all rights reserved.

アナモルフィックレンズ
フレアと楕円ボケのみ©Silicon Studio Corp., all rights reserved.

アナモルフィックレンズ
その他の相乗効果
ディストーション
倍率色収差
非点収差
ケラレ

©Silicon Studio Corp., all rights reserved.

像面湾曲と非点収差• 像面湾曲– フォーカス面がカーブを描く収差– 実装は容易• DoF実装時のCoC計算に同心円状のオフセット• 非点収差– 像面湾曲の度合いが動径方向と同心円方向で異なる現象• レトロレンズの「ぐるぐるボケ」の原因– アナモルフィック非点収差(縦横のずれ)とは方向が異なる– CoCにフラグメント毎に異なる方向のオフセットが必要• 品質の向上には解像度とサンプル点が多く必要• 現状ではアーティファクト防止のためにパラメタが制限されがち©Silicon Studio Corp., all rights reserved.

348

非点収差
©Silicon Studio Corp., all rights reserved.

レトロレンズのぐるぐるボケ

歪曲収差と倍率色収差の制約• 歪曲収差(ディストーション)– (センサー)中心からの距離で倍率が異なる現象• 倍率色収差– 歪曲収差の度合い(倍率)が波長毎に異なる現象– 波長で係数が一様にスケールするシンプルな実装が多い• 実際のレンズでは波長毎に係数がより複雑に変化する– これだけなら係数を変化させるだけで実装は比較的容易– 本来はボケ味に関わる収差とも密接に関係してくる• ボケ味が変われば倍率色収差にも影響がある• レンズをシミュレーションしなければ再現は難しい©Silicon Studio Corp., all rights reserved.

350

回折パターンの品質• 回折パターンが雑な近似関数– パターンやスケールの正確性に欠ける• 通常扱うスケールでは問題はない– 回折模様は小さくほぼエッジ部分しか見えないため• フォーカス付近では誤差が大きい©Silicon Studio Corp., all rights reserved.

351

波面収差と非等方性シミュレーション• 本来はボケ味同様に回折の状態も収差や絞りで変化• これらをリアルタイムで正確に表現するのは非現実的– 絞り形状はもちろん開閉状態でも変化– それらの伝搬を全スペクトルでシミュレーションして積分– 三次元テクスチャが必要©Silicon Studio Corp., all rights reserved.

352

波面収差と非等方性シミュレーション• 目的はレンズシミュレータではなくエフェクト• エフェクト用途での落としどころ– 収差は現状通り幾何光学で回折は等方性近似• 等方性により二次元テクスチャによる最適化が可能• 回折パターンはそのものはより高度な近似に• 波動光学(波面収差)による影響をうまく近似できないか？
– 回折縞のスケール等に影響があるためそれらしく調整– ソフトエッジ側とハードエッジ側で回折の強度も調整• 近軸近似ではない球面波の再現？
– 回折マップの生成ではなくマッピングの工夫で何とかなりそう– しかし負荷も大きくなるため本当にその価値があるかは微妙©Silicon Studio Corp., all rights reserved.

353

波長積分による制限• 波長積分結果はRGBの3波長に丸められている– 積分結果を単波長色で乗算しても単波長光の回折模様は再現できない• RGB化された積分結果は各チャネルが広い範囲の波長を含むため– シーンも含めてスペクトラルレンダリングでないと再現できない
低圧ナトリウムランプ(波長589.0nm/589.6nm)での結果の比較

上: 単波長シミュレーション(スペクトラルレンダリング相当)
下: 波長積分結果を単波長色で乗算(現状の表現)©Silicon Studio Corp., all rights reserved.

354

波長積分による制限• 単波長シミュレーション(左)と波長積分後の乗算(右)– 単波長光源のボケは本来単色の回折模様がかなり内側まで見える©Silicon Studio Corp., all rights reserved.

355

実写

リアルタイム表現

単波長に近いためリングが多く見える
Cited from: “Understanding Bokeh”

積分後の乗算のためあまり内側まで見えず
広範囲の波長色も混在

https://www.bhphotovideo.com/explora/photography/
tips-and-solutions/understanding-bokeh©Silicon Studio Corp., all rights reserved.

実写

リアルタイム表現

単波長に近いためリングが多く見える
Cited from: “Understanding Bokeh”

積分後の乗算のためあまり内側まで見えず
広範囲の波長色も混在

https://www.bhphotovideo.com/explora/photography/
tips-and-solutions/understanding-bokeh©Silicon Studio Corp., all rights reserved.

波長積分による制限• 通常の使い方で問題になることは無い– 特殊なライティング環境のシミュレーション時のみ©Silicon Studio Corp., all rights reserved.

358

収差による不完全なフォーカス• 不完全なフォーカスを表現できない– 現状のボケ味表現ではフォーカスの甘さを再現していない• 最適化のため近軸近似のCoCをベースにしている• フォーカス部分は完全なフォーカスになってしまう
CoC

本
来
のの
拡光
が学
り的
方な

CoC

近現
軸状
近の
似実
の装

©Silicon Studio Corp., all rights reserved.

359

収差による不完全なフォーカス• 不完全なフォーカスを表現できない– 現状のボケ味表現ではフォーカスの甘さを再現していない• 最適化のため近軸近似のCoCをベースにしている• フォーカス部分は完全なフォーカスになってしまう– 収差を考慮すると本来CoCは非線形に大きく拡がる• CoCの小さなフォーカス付近も広範囲のサンプリングが必要• シミュレーション用途でなければ重要性は低い
CoC

本
来
のの
拡光
が学
り的
方な
©Silicon Studio Corp., all rights reserved.

360

複雑に相互作用する収差の再現• 相互に関係する複雑な収差– 倍率色収差や軸上色収差、非点収差、コマ収差等の関係• これらの表現まで考慮するならレンズシミュレーションか？
• ある時点でレンズシミュレーションの方が効率的になる– レンズシミュレータとしてならあらゆる現象の再現が重要• レンズ構成そのもののシミュレーションなど– エフェクト用途としては特徴的・魅力的な効果以外は不要• 実写との合成等の用途では目立つ効果は必要©Silicon Studio Corp., all rights reserved.

361

ディスオクルージョン(Disocclusion)問題• ポストプロセスで付きまとう問題– 前景がボケやブラーで半透明化– ⇒シーン描画段階では遮蔽されていた背景が可視化• もともと背景の情報が存在しないため推定するしかない– ⇒推定の難しいケースでは可視化された背景部分が破綻• 鏡やガラス、煙へのボケ表現– 深度やα値を1つしか持たない従来の描画では難しい©Silicon Studio Corp., all rights reserved.

362

ディスオクルージョン(Disocclusion)問題• ディープコンポジット(Deep Compositing)– 近年のオフラインツールでの根本的な解決手法– 複数の深度やα値の色情報をもつDeep Imageから合成• Disocclusionの背景は推定するのではなく全てをレンダリング• 複数の深度の色情報を元に正しい合成を行う– 複数のαによって煙、ガラスや鏡へのボケも可能– 原理的にはリアルタイムでも可能• ただし特にシーン描画の負担が非常に大きい– ※今回は取り上げないが用途によっては非常に有益な技術©Silicon Studio Corp., all rights reserved.

363

まとめ

リアルタイム光学エフェクトの深淵へ
Bokeh Deep Dive: ボケ編©Silicon Studio Corp., all rights reserved.

リアルタイム光学エフェクトの深淵(ボケ編)• 現状までの歴史と従来のエフェクト品質• 実写との隔たりとその具体的な要素• より実写に近いボケ表現の実装手法とその結果– 現時点で充分リアルタイムに可能な手法• 現状で実現できる／できない要素とその展望– 必要性(重要性)の高い要素と低い要素– シミュレーション用途でなければ重要性の低いものも多い– あるいは特殊な要件でのみ必要とされる要素©Silicon Studio Corp., all rights reserved.

365

被写界深度(ボケ)表現の発展• 2020年代前半(現在)– 回折／玉ねぎボケ等のディティール表現– アナモルフィック非点収差の高品質化– レンズ／収差の限定的なリアルタイムシミュレーション– 簡単な非点収差(ぐるぐるボケ)©Silicon Studio Corp., all rights reserved.

366

被写界深度(ボケ)表現の発展• 2020年代後半～2030年代以降(将来)– より高品質な非点収差(ぐるぐるボケ)– 疑似的な波面収差の表現(回折の改善)– レンズ構成そのもののシミュレーションによる収差の再現• 複雑に相互関係する収差• 倍率色収差／ディストーション／軸上色収差との相関など– スペクトラルレンダリング？
– コマ収差？
– ディープコンポジット• 奥が透けて見えるような前ボケ• 鏡やガラス、煙へのボケ表現– And more?
©Silicon Studio Corp., all rights reserved.

367

？
ご質問は？
masa@siliconstudio.co.jp©Silicon Studio Corp., all rights reserved.

368

References©Silicon Studio Corp., all rights reserved.

References[Kawase 2002][Gotanda et al. 2007][Kawase 2008][Gotanda 2009][Kawase 2012][Sousa 2013][Jimenez 2014][Kawase 2015.a][Kawase 2015.b][Abadie 2018][Kawase 2019]

Kawase, M. 『DOUBLE-S.T.E.A.L.におけるリアルタイムCG表現技法』 CEDEC 2002, 2002.
Gotanda, Y., Kawase, M. 『レンダリストのためのカメラ（光学）理論とポストエフェクト』 CEDEC 2007, 2007.
Kawase, M. 『光学に基づいたボケ味の表現』 CEDEC 2008, 2008.
Gotanda, Y. “STAR OCEAN 4 : Flexible Shader Management and Post-processing” GDC 2009, 2009.
Kawase, M. 『実践！シネマティックレンズエフェクト』 CEDEC 2012, 2012.
Sousa, T. “Graphics Gems from CryENGINE 3” Advances in Real-Time Rendering in Games. SIGGAPH 2013 Course, 2013.
Jimenez, J. “Next Generation Post Processing in Call of Duty: Advanced Warfare”
Advances in Real-Time Rendering in Games. SIGGAPH 2014 Course, 2014.
Kawase, M. “Making Your Bokeh Fascinating.”
Real-time Rendering of Physically Based Optical Effects in Theory and Practice. SIGGAPH 2015 Course, 2015.
Kawase, M. “Subtle Anamorphic Lens Effects.”
Real-time Rendering of Physically Based Optical Effects in Theory and Practice. SIGGAPH 2015 Course, 2015.
Abadie, G. “A Life of a Bokeh.” Advances in Real-Time Rendering in Games. SIGGAPH 2018 Course, 2018.
Kawase, M. 『物理ベース？アート指向？～尤もらしさと自由度を両立するレンズフレア表現～』 CEDEC 2019, 2019.

©Silicon Studio Corp., all rights reserved.

370