写真の物理学 ⑭ センサーサイズとボケの統一的理解

Share
📐
写真の物理学シリーズ ⑭
このシリーズでは、写真にまつわる現象を物理学の言葉で記述する。「なんとなくそうなる」を「なぜそうなるか」に変換することが目的である。

「大きいセンサーはボケる」。間違いではないが、この言い方では本質が見えない。本記事では、最終画像上のボケ量をセンサーサイズの関数として一本の式にまとめ、フルサイズからスマートフォンまでの定量比較と、小型センサーが直面する物理的限界を明らかにする。

「同じ写真」の制約条件

二つの異なるセンサーサイズのカメラで「同じ写真」を撮るとは、最終画像の見た目が一致することを意味する。これは以下の制約を同時に満たすことに相当する。

画角の一致。 同じ範囲が写っていなければならない。焦点距離と画角を幾何学で導くで示したように、画角は焦点距離 $f$ とセンサー対角線長 $d_s$ の比 $f / d_s$ で決まるから、画角を揃えるには

$$ \frac{f_1}{d_{s,1}} = \frac{f_2}{d_{s,2}} $$

を満たす必要がある。クロップファクター $C = d_{s,1} / d_{s,2}$ を用いれば $f_2 = f_1 / C$ だ。センサーサイズと換算焦点距離の正体で導出したとおりである。

パースペクティブの一致。 パースペクティブは撮影距離だけで決まるおよび物撮りは遠くからで論じたように、パースペクティブを決めるのは撮影距離だけであり、焦点距離にもセンサーサイズにも依存しない。同じ位置から撮る限り、パースペクティブは保存される。

被写体サイズの一致。 画角が一致し、同じ位置から撮影するなら、被写体のフレーム内での大きさも自動的に一致する。

露出の一致。 画像の明るさが一致すること。露出の統合と逆数則で定式化したように、これはF値、シャッタースピード、ISO感度の組み合わせで制御される。

これらの制約のもとでボケがどう変化するかを導出する。

ボケ円径の導出

被写体距離 $s$ に合焦したとき、背景の距離 $s_b > s$ にある点光源がセンサー上に結ぶボケ円の直径 $c$ は、 $s \gg f$ の近似のもとで

$$ c \approx \frac{f^2}{N} \cdot \frac{s_b - s}{s \cdot s_b} $$

で与えられる( $N$ はF値)。この式の導出過程は被写界深度の厳密な導出およびボケの円を関数で記述するで扱っている。ここでは結果を出発点とする。

$f / N = D$ (有効口径)であることを使って書き直すと

$$ c = D \cdot \frac{f \left(s_b - s\right)}{s \cdot s_b} $$

この式が伝えているのは、センサー上のボケ円径は有効口径 $D$ と焦点距離 $f$ の積に比例するという事実だ。

最終画像上の相対ボケ

写真の見た目を比較するには、センサー上の物理的なボケ円径ではなく、最終画像上での相対的な大きさが重要だ。センサー対角線長 $d_s$ で正規化した相対ボケ $c_{\text{rel}}$ を定義する。

$$ c_{\text{rel}} = \frac{c}{d_s} = \frac{f^2}{N \cdot d_s} \cdot \frac{s_b - s}{s \cdot s_b} $$

ここで画角一致条件 $f / d_s = k$ (定数)を代入する。 $f = k \cdot d_s$ だから

$$ c_{\text{rel}} = \frac{\left(k \cdot d_s\right)^2}{N \cdot d_s} \cdot \frac{s_b - s}{s \cdot s_b} = \frac{k^2 \cdot d_s}{N} \cdot \frac{s_b - s}{s \cdot s_b} $$

画角( $k$ )と撮影距離( $s$ , $s_b$ )を固定すると、右辺で変動するのは $d_s / N$ だけだ。したがって

$$ c_{\text{rel}} \propto \frac{d_s}{N} $$

最終画像上の相対ボケは、センサー対角線長をF値で割った量に比例する。

これが本稿の中心的結果である。この式はいくつかの重要な帰結を含んでいる。

帰結の整理

同じF値なら、ボケはセンサーサイズに比例する

$N$ を固定すると $c_{\text{rel}} \propto d_s$ だ。フルサイズ( $d_s \approx 43.3$ mm)とAPS-C( $d_s \approx 28.2$ mm、 $C \approx 1.53$ )を同じF値で比較すると、相対ボケの比は

$$ \frac{c_{\text{rel, APS-C}}}{c_{\text{rel, FF}}} = \frac{d_{\text{APS-C}}}{d_{\text{FF}}} = \frac{1}{C} \approx 0.65 $$

APS-Cの同じF値でのボケは、フルサイズの約65%にしかならない。

ボケを揃えるにはF値をクロップファクターで割る

$c_{\text{rel}}$ を等しくする条件は $d_{s,1} / N_1 = d_{s,2} / N_2$ であり

$$ N_2 = N_1 \cdot \frac{d_{s,2}}{d_{s,1}} = \frac{N_1}{C} $$

フルサイズのf/2.8と同じボケをAPS-C( $C = 1.5$ )で得るには $N_2 = 2.8 / 1.5 \approx 1.87$ 、すなわちf/1.8程度が必要になる。

逆に、小型センサーのF値にクロップファクターを乗じた $N \times C$ が換算F値であり、これはフルサイズで同じボケを得るために必要なF値を意味する。センサーサイズと換算焦点距離の正体で導出した換算F値の概念が、ここでもう一度自然に現れる。

有効口径がボケの本質的指標

$d_s / N$ は画角一致条件のもとで有効口径 $D = f / N$ に比例する。 $f = k \cdot d_s$ だから $D = k \cdot d_s / N$ であり

$$ c_{\text{rel}} \propto D $$

最終画像上のボケは有効口径に比例する。 絞りと有効口径の物理的意味で述べたように、有効口径はレンズが光を集める「窓」の実寸だ。窓が大きいほど、焦点の合っていない光はより広い角度から集まり、より大きなボケ円を形成する。この幾何学的直観が、上の代数的結果と完全に一致する。

フォーマット間の定量比較

具体的な数値で比較する。基準として「フルサイズ、50mm f/1.8、被写体距離3m、背景距離10m」の条件を設定する。

まず各フォーマットの画角一致条件を満たす焦点距離を求める。

  • フルサイズ( $d_s = 43.3$ mm、 $C = 1.0$ ): $f = 50$ mm
  • APS-C Nikon DX( $d_s \approx 28.2$ mm、 $C \approx 1.53$ ): $f \approx 32.7$ mm
  • マイクロフォーサーズ( $d_s \approx 21.6$ mm、 $C \approx 2.0$ ): $f = 25$ mm
  • 1型( $d_s \approx 15.9$ mm、 $C \approx 2.72$ ): $f \approx 18.4$ mm
  • スマートフォン(1/1.56型相当)( $d_s \approx 10.3$ mm、 $C \approx 4.20$ ): $f \approx 11.9$ mm

同じF値(f/1.8)で撮影した場合

$c_{\text{rel}} \propto d_s / N$ であるから、 $N = 1.8$ 固定で各フォーマットの相対ボケを計算する。フルサイズを1.0として正規化すると

  • フルサイズ: $43.3 / 1.8 = 24.1$ → 1.00
  • APS-C: $28.2 / 1.8 = 15.7$ → 0.65
  • マイクロフォーサーズ: $21.6 / 1.8 = 12.0$ → 0.50
  • 1型: $15.9 / 1.8 = 8.83$ → 0.37
  • スマートフォン: $10.3 / 1.8 = 5.72$ → 0.24

フルサイズに対してAPS-Cは約3分の2、マイクロフォーサーズは2分の1、スマートフォンは4分の1程度のボケしか得られない。すべて $1/C$ に一致する。

フルサイズと同じボケに必要なF値

各フォーマットがフルサイズのf/1.8と同じ相対ボケを得るのに必要なF値は $N_2 = 1.8 / C$ で与えられる。

  • APS-C: $1.8 / 1.53 \approx$ f/1.18
  • マイクロフォーサーズ: $1.8 / 2.0 =$ f/0.9
  • 1型: $1.8 / 2.72 \approx$ f/0.66
  • スマートフォン: $1.8 / 4.20 \approx$ f/0.43

APS-Cのf/1.18は入手可能だ。マイクロフォーサーズのf/0.9はVoigtländer Nokton 25mm f/0.95が存在するものの、極めて限られた選択肢しかない。1型のf/0.66やスマートフォンのf/0.43は、空気中のレンズの理論的下限 $F \geq 0.5$(絞りと有効口径の物理的意味で導出)に迫るか超えており、物理的に実現不可能である。

ボケとノイズは同じ根を持つ

ここまではボケだけを見てきた。しかし、センサーサイズの「真の」優位性を理解するには、ノイズとの関係を明らかにする必要がある。

総光子数の式

シャッタースピード $t$ の間にセンサー全体が捕集する光子の総数 $n$ は、センサー面照度 $E_s$ とセンサー面積 $A_s$ の積に比例する。

$$ n \propto E_s \cdot A_s \cdot t $$

白い壁に近づいても露出が変わらない物理学的理由で示したように、拡散面光源に対するセンサー面照度は $E_s = \pi L / (4N^2)$ であり、F値だけで決まる。センサーサイズには依存しない。

一方、センサー面積は $A_s \propto d_s^2$ である。したがって

$$ n \propto \frac{d_s^2}{N^2} \cdot t $$

画角が固定されているとき $D = f / N = k \cdot d_s / N$ であるから

$$ n \propto D^2 \cdot t $$

総光子数は有効口径の2乗に比例する。 そして先ほどの結果は $c_{\text{rel}} \propto D$ だった。つまり

$$ c_{\text{rel}} \propto \sqrt{n / t} $$

相対ボケと総光子数の平方根は比例する。 この関係が意味するのは、ボケと低ノイズは同じ物理量、すなわち有効口径(レンズが集める光束の幅)から生じるということだ。大きなセンサーがボケやすいのと低ノイズなのは、別々の利点ではない。一つの利点の二つの表れにすぎない。

フォトンショットノイズとSNR

ノイズの物理学で導出したように、フォトンショットノイズが支配的なとき、信号対雑音比(SNR)は $\text{SNR} \propto \sqrt{n}$ で与えられる。同じF値、同じシャッタースピード、同じ被写体輝度で撮影すると

$$ \frac{\text{SNR}2}{\text{SNR}1} = \sqrt{\frac{n_2}{n_1}} = \frac{d_{s,2}}{d_{s,1}} = \frac{1}{C} $$

小型センサーは、ボケが $1/C$ に減るのと全く同じ比率で、SNRも $1/C$ に減少する。

等価ノイズの条件

センサーサイズと換算焦点距離の正体で導出したように、ボケを揃えるために $N_2 = N_1 / C$ に設定すると、センサー面照度は $C^2$ 倍になる。面積は $1/C^2$ 倍だから、総光子数は等しくなる。このとき、画像の明るさを揃えるにはISO感度を $1/C^2$ 倍にする必要がある。

つまり、ボケを揃えるとノイズも自動的に揃い、ノイズを揃えるとボケも自動的に揃う。有効口径を等しくするという一つの条件が、ボケとノイズの両方の等価を保証する。

小型センサーでもボケを大きくする条件

$c_{\text{rel}} \propto d_s / N$ の式は、小型センサーでもF値を十分に小さくすればボケを大きくできることを示している。では実際にどこまで可能か。

レンズ設計の壁

空気中のレンズのF値の理論的下限は $F = 0.5$ である(絞りと有効口径の物理的意味参照)。これは像側の光円錐の半頂角が90°に達する極限であり、物理的に到達不可能な境界だ。市販レンズの実用的な限界はf/0.95付近にある。

この制約のもとで各フォーマットが到達しうる最大ボケを、フルサイズ換算F値で表すと

  • APS-C( $C \approx 1.53$ ): $0.95 \times 1.53 \approx$ f/1.45相当
  • マイクロフォーサーズ( $C = 2.0$ ): $0.95 \times 2.0 =$ f/1.9相当
  • 1型( $C = 2.72$ ): $0.95 \times 2.72 =$ f/2.58相当
  • スマートフォン( $C \approx 4.20$ ): $0.95 \times 4.20 \approx$ f/3.99相当

マイクロフォーサーズの最速レンズを使い切っても、フルサイズのf/1.9相当のボケしか得られない。1型やスマートフォンでは、レンズ設計の物理的限界がフルサイズの平凡なF値に相当するボケで頭打ちになる。

止まったように見える景色の先へで述べたように、カメラ技術は多くの面で成熟期に入っている。しかしボケ量に関しては、小型センサーの物理的限界は技術の進歩では超えられない。計算によるボケ(コンピュテーショナルボケ)がスマートフォンに搭載されているのは、光学的手段では限界があるからだ。

被写体距離による代替

$c_{\text{rel}}$ の完全な式に戻ると

$$ c_{\text{rel}} = \frac{k^2 \cdot d_s}{N} \cdot \frac{s_b - s}{s \cdot s_b} $$

右辺の最後の項 $(s_b - s) / (s \cdot s_b)$ は撮影距離の幾何学的因子だ。被写体に近づく( $s$ を小さくする)と、この因子は増大する。つまり小型センサーでも被写体に十分に近づけば、ボケを大きくできる。

ただし、被写体に近づくと倍率が変わり「同じ写真」の制約を満たさなくなる。倍率を固定したままでのボケの焦点距離依存性は同じ被写体サイズでのボケ比較で扱っている。また、パースペクティブも変わる。物撮りは遠くからで論じたように、近距離撮影は遠近感を誇張する。ボケのために近づくと、歪んだパースペクティブという代償を払うことになる。

これが、初めてのレンズに迷ったらでポートレートには85mmが推奨される理由の物理的背景でもある。85mmは十分な撮影距離を保ちながら(自然なパースペクティブ)、かつ有効口径を大きく取れる(深いボケ)。広角レンズで近づいてボケを稼ぐアプローチは、パースペクティブの代償なしには成立しない。

「大きいセンサー = ボケる」の必要十分条件

最後に、この命題を正確に述べ直す。

「大きいセンサーのほうがボケる」が成立するための必要十分条件は、以下の三つが同時に満たされていることだ。

条件1. 画角が一致していること。 同じ焦点距離で異なるセンサーサイズを比較しても意味がない。画角が異なる写真は「同じ写真」ではないからだ。

条件2. 撮影距離が一致していること。 距離が異なればパースペクティブが変わり、背景の幾何学的因子も変わるため、純粋にセンサーサイズの影響を比較できない。

条件3. F値が一致していること。 ここがもっとも重要な前提だ。 $c_{\text{rel}} \propto d_s / N$ であるから、F値が同じなら大きいセンサーのほうがボケる。しかし有効口径 $D$ を揃えた場合( $N_2 = N_1 / C$ )にはボケは等しくなる。

つまり「大きいセンサーはボケる」はF値を揃えるという暗黙の前提を置いた命題であり、有効口径を揃えれば成立しなくなる。F値とはセンサー面照度(露出)の指標であって、ボケの指標ではない。ボケの本質的な指標は有効口径 $D$ である。

この混乱が生じるのは、F値が露出とボケという二つの異なる物理量に同時に関与しているためだ。露出を合わせるためにF値を揃えると、センサーサイズの違いがボケの差として表面化する。有効口径を合わせるためにF値を変えると、ボケは揃うが露出(とノイズ)の条件が変わる。一つの数値で二つの量を同時に制御しようとするところに、論争の根がある。

まとめ

最終画像上の相対ボケは $c_{\text{rel}} \propto d_s / N$ 、すなわちセンサー対角線長をF値で割った量に比例する。これは有効口径 $D$ に比例することと等価だ。

同じF値で比較すると、相対ボケはクロップファクターに反比例する。フルサイズを1とすると、APS-Cは約0.65、マイクロフォーサーズは0.50、1型は0.37、スマートフォンは0.24程度だ。

ボケを等しくするにはF値をクロップファクターで割る必要がある。この操作は有効口径を揃えることに等しく、同時にノイズ(光子数)も等しくなる。ボケと低ノイズは、レンズが集める光束の幅という一つの物理量から生じる二つの帰結であり、本質的に不可分だ。

小型センサーがフルサイズのボケに追いつくためにはF値をクロップファクターで割る必要があるが、レンズの理論的下限 $F \geq 0.5$(絞りと有効口径の物理的意味で導出)によって物理的な天井が存在する。この天井は技術の進歩では突破できない。スマートフォンが計算によるボケに頼らざるを得ないのは、この天井の帰結である。

「大きいセンサーはボケる」は正しい。ただし、その正しさは「同じF値で」という暗黙の前提に依存している。正確に言い直すなら、大型センサーの真の優位性は「同じボケとノイズ性能を、より緩いレンズ設計条件で実現できる」ことにある。

Read more

Dependabotの対応が面倒なのでRenovateを導入する

Dependabotくんはある程度の依存関係の更新を通知してくれるが、山のようにprojectを抱えているとなんとも痒いところに手が届かない。 ということで、Renovateを使ってみる。 Build software better, togetherGitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.GitHub ここからGitHub Appを入れる。 あとは、指示に従ってポチポチするだけで、超かんたんだった。 感想 自動化最高。

By Sakashita Yasunobu

nodejsのバグを見つけたのでPRを投げてみた

概要 要するに、node --testで特定のバイナリを標準出力に書くと、テストランナーが固まったり、異常終了したりするバグです。 バグ自体は既知のものだったようで、修正がされていました。 test_runner: infinite loop in FileTest#drainRawBuffer when child stdout contains FF 0F followed by large size bytes · Issue #62693 · nodejs/nodeVersion v25.9.0 (also reproduced on v24.14.1 LTS, v22.21.0 LTS, v23.4.0) Platform Darwin 25.

By Sakashita Yasunobu
青空文庫のParser

青空文庫のParser

青空文庫のParserを作ってます。 GitHub - P4suta/aozora: Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks.Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks. - P4suta/aozoraGitHubP4suta Rustで作ってますが、配布物はcargoのほかにnpm/pypiでも入手できます Documentation * Playground — try it in

By Sakashita Yasunobu