写真の物理学 ㉓ 色温度と黒体放射

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

「色温度」はカメラの設定画面で日常的に目にする数値だが、その単位がケルビン(K)であることに違和感を覚えた人は少なくないだろう。温度で色を表すとはどういうことか。この問いに答えるには、19世紀末から20世紀初頭にかけて確立された黒体放射の物理学まで遡る必要がある。本稿では、プランクの法則を出発点に色温度の物理的意味を厳密に導出し、相関色温度、ミレッド、そしてホワイトバランスの原理へと接続する。

黒体放射とプランクの法則

黒体(black body)とは、入射するすべての電磁波を吸収し、反射も透過もしない理想的な物体である。黒体は熱平衡状態において、温度のみによって決まる連続スペクトルの電磁波を放射する。この放射を黒体放射(black-body radiation)と呼ぶ。

1900年、マックス・プランクはエネルギーの量子化という仮説を導入し、黒体放射のスペクトル分布を完全に記述する式を導いた。プランクの放射法則は次のように表される。

$$ B(\lambda, T) = \frac{2hc^2}{\lambda^5} \cdot \frac{1}{e^{\frac{hc}{\lambda k_B T}} - 1} $$

ここで $B(\lambda, T)$ は波長 $\lambda$、温度 $T$ における分光放射輝度、$h = 6.626 \times 10^{-34}$ J·s はプランク定数、$c = 2.998 \times 10^8$ m/s は真空中の光速、$k_B = 1.381 \times 10^{-23}$ J/K はボルツマン定数である。

この式が意味するのは、黒体の放射スペクトルは温度だけで一意に決まるということだ。温度が変われば、スペクトルの形状そのものが変わる。低温では長波長(赤寄り)にピークを持ち、高温になるにつれてピークは短波長(青寄り)へ移動する。鉄を加熱すると暗赤色から橙、黄白色へと変化するのは、まさにこの法則の目に見える現れである。

プランクの法則は、それ以前に知られていた二つの近似式を特殊な場合として含んでいる。短波長側($hc / (\lambda k_B T) \gg 1$)ではウィーンの放射法則に一致し、長波長側($hc / (\lambda k_B T) \ll 1$)ではレイリー・ジーンズの法則に一致する。レイリー・ジーンズの法則は短波長で放射エネルギーが無限大に発散する「紫外破綻」を引き起こすが、プランクの量子仮説はこの破綻を解消し、量子力学の端緒となった。光が可視域を超えた波長にまで広がる連続スペクトルとして放射されるという描像は、黒体放射の基本的な性質である。

ウィーンの変位則

プランクの法則から、放射スペクトルのピーク波長と温度の関係を導くことができる。$B(\lambda, T)$ を $\lambda$ で偏微分して零とおくと、ピーク波長 $\lambda_{\max}$ と温度 $T$ の間に次の関係が得られる。

$$ \lambda_{\max} \cdot T = b $$

ここで $b = 2898 \; \mu\text{m} \cdot \text{K}$ はウィーンの変位定数である。これがウィーンの変位則だ。

この法則は直観的にも明快である。温度が高いほどピーク波長は短くなり、放射の色は赤から青へと移る。具体的な数値を入れてみよう。

  • 太陽の表面温度(約5778 K):$\lambda_{\max} \approx 2898 / 5778 \approx 501$ nm(緑色付近)
  • 白熱電球のフィラメント(約2800 K):$\lambda_{\max} \approx 2898 / 2800 \approx 1035$ nm(近赤外域)
  • ろうそくの炎(約1800 K):$\lambda_{\max} \approx 2898 / 1800 \approx 1610$ nm(赤外域)

白熱電球のピーク波長が可視域の外にあるという事実は、フィラメントが放射するエネルギーの大部分が赤外線(熱)として失われていることを意味する。白熱電球の発光効率が低い物理的理由はここにある。

シュテファン=ボルツマンの法則

プランクの法則を全波長にわたって積分すると、黒体が単位面積あたりに放射する全エネルギー $E$ が得られる。

$$ E = \sigma T^4 $$

ここで $\sigma = 5.670 \times 10^{-8}$ W/(m²·K⁴) はシュテファン=ボルツマン定数である。これがシュテファン=ボルツマンの法則だ。

この法則は、放射エネルギーが温度の4乗に比例することを示している。温度が2倍になれば放射エネルギーは16倍になる。色温度の文脈では、この法則は光源の明るさと色温度の関係を理解する手がかりとなる。色温度の高い光源ほど、同じ面積から圧倒的に多くのエネルギーを放射する。5500 Kの昼光と2800 Kのタングステン光では、黒体としての単位面積あたりの放射量は $(5500/2800)^4 \approx 14.9$ 倍もの差がある。

色温度の定義

ここまでの準備を踏まえて、色温度(color temperature)を定義する。

ある光源の色温度とは、その光源と同じ色度(chromaticity)を持つ黒体放射の温度のことである。より正確に言えば、光源のスペクトルをCIE色度座標に変換したとき、その色度点が黒体軌跡(Planckian locus)上に位置する場合、対応する黒体の温度がその光源の色温度となる。

この定義から明らかなように、色温度はスペクトルの形状全体ではなく、人間の色知覚に基づく色度のみを参照している。異なるスペクトル分布を持つ二つの光源が、同一の色度を示すことは十分にあり得る(条件等色、メタメリズム)。色温度が等しいことは、スペクトルが等しいことを意味しない。

色温度の単位がケルビンである理由は、もはや明白だろう。色温度とは文字どおり黒体の温度であり、物理量としての熱力学的温度そのものだからである。

相関色温度(CCT)

現実の光源の多くは、その色度点が黒体軌跡の上に正確に乗ることはない。蛍光灯やLEDは線スペクトルや蛍光体の発光を含み、黒体放射とは本質的に異なるスペクトル構造を持つ。このような光源に対しては、相関色温度(Correlated Color Temperature, CCT)が用いられる。

CCTは、CIE 1960 UCS色度図($u, v$ 座標系)上で、光源の色度点から黒体軌跡への最短距離に対応する黒体温度として定義される。CIE 1931 $xy$ 色度図ではなく、知覚的により均等な $uv$ 空間上で距離を計算する点が重要である。$xy$ 空間上の等距離は知覚的な等距離に対応しないため、$uv$ 空間を用いることで知覚との整合性が高まる。

黒体軌跡からの距離 $\Delta_{uv}$(Duv)は、光源の色が黒体放射からどれだけ逸脱しているかを示す指標である。$\Delta_{uv}$ が正であれば黒体軌跡より上(緑寄り)、負であれば下(マゼンタ寄り)にずれている。ストロボ撮影で色がずれる問題の背景には、この $\Delta_{uv}$ の変動がある。ストロボ光はCCTこそ5500 K前後だが、個体差や劣化によって $\Delta_{uv}$ が変動し、グリーンやマゼンタ方向への色ずれとして現れる。

CIE色度図上の黒体軌跡と等色温度線の幾何学

CIE色度図上に黒体軌跡を描くと、それは低温側(赤)から高温側(青白)へ向かう滑らかな曲線となる。$xy$ 色度図上では、約1000 Kの赤から出発し、白色領域を通過して、無限大温度では $(x, y) \approx (0.240, 0.234)$ に収束する。

この曲線に対して垂直に引かれる直線群が等色温度線(iso-temperature lines)である。等色温度線上のすべての点は同一のCCTを持つ。等色温度線の傾きは色温度によって大きく変化し、低温側では $xy$ 図上でほぼ垂直、高温側では水平に近づく。

等色温度線の幾何学的な特徴は、カメラのホワイトバランス補正の方向を理解する鍵となる。ホワイトバランスの色温度軸(青-黄)は黒体軌跡に沿った移動に対応し、ティント軸(グリーン-マゼンタ)は等色温度線に沿った移動に対応する。この二つの軸は色度図上で直交しているわけではなく、色温度の値に応じて交差角が変化する。この幾何学が、ホワイトバランスの微調整が単純な直交座標では扱いにくい理由である。

ホワイトバランスの物理

カメラのホワイトバランス設定は、撮影時の照明光源の色温度をカメラに教える操作である。より正確には、センサーが記録したRGB値を、指定された色温度の光源下で「白い物体が白く再現される」ように変換するプロセスだ。

その物理的な意味は次のように理解できる。照明光源が色温度 $T$ の黒体放射に近いスペクトルを持つとき、白い物体(全波長を等しく反射する理想的な拡散反射体)からの反射光は、温度 $T$ の黒体放射スペクトルそのものとなる。センサーのR, G, Bチャンネルの応答をそれぞれ $R_{\text{raw}}, G_{\text{raw}}, B_{\text{raw}}$ とすると、ホワイトバランスはこれらに補正係数を乗じて、白い物体に対する応答が $R = G = B$ となるように調整する。

低い色温度の光(タングステン光など)は赤成分が多いため、Rチャンネルの応答が大きくなる。ホワイトバランスはR成分を抑制し、B成分を増幅する方向に補正をかける。逆に高い色温度の光(日陰や曇天)では青成分が多く、Bチャンネルを抑制しR成分を増幅する。

ここで注意すべきは、ホワイトバランスが補正できるのは黒体軌跡に沿った色ずれ(色温度方向)だけではないという点だ。前述のティント軸による補正が、黒体軌跡から外れた光源(蛍光灯やLEDなど、$\Delta_{uv} \neq 0$ の光源)に対処するために必要になる。

ミレッド(逆色温度)

色温度の実用上の問題として、知覚的な色変化と色温度の数値変化が比例しないことがある。2000 Kから3000 Kへの1000 Kの変化は劇的な色変化を伴うが、8000 Kから9000 Kへの同じ1000 Kの変化はほとんど識別できない。

この非線形性を補正するために導入されたのがミレッド(mired, micro reciprocal degree)である。

$$ M = \frac{10^6}{T} $$

ミレッドは色温度の逆数を100万倍した値であり、SI単位としてはMK⁻¹(メガケルビンの逆数、逆メガケルビン)と表記される。ミレッド空間では、同じミレッド差がほぼ同じ知覚的色変化に対応する。

具体的な値を挙げよう。

  • ろうそく(1800 K):556 mired
  • タングステン灯(3200 K):313 mired
  • 昼光(5500 K):182 mired
  • 曇天(6500 K):154 mired
  • 日陰(8000 K):125 mired

タングステン灯から昼光への変換は 313 − 182 = 131 mired の補正に相当する。色温度変換フィルターの規格(コダックのラッテン・シリーズなど)はミレッドシフト値で表示されており、フィルターの組み合わせによる補正量はミレッド値の単純な加減算で計算できる。これは色温度のケルビン値では成り立たない。

各光源の色温度と分光特性

光源の色温度は、光源が黒体放射にどれだけ近いかによって意味合いが異なる。

熱放射光源は黒体放射に比較的近いスペクトルを持つ。タングステン電球(約2800-3200 K)のフィラメントは黒体に近い連続スペクトルを放射するが、放射率がわずかに波長に依存するため、厳密には灰色体ではなく選択放射体に分類される。色温度の定義がほぼ厳密に適用できる光源である。ろうそくの炎(約1800-2000 K)も同様に、炭素粒子の熱放射が支配的であり、黒体に近い連続スペクトルを示す。夕方のゴールデンアワーにおける約3000 K前後の光は、大気中のエアマスの増大に伴うレイリー散乱で短波長成分が減衰した太陽光であり、黒体放射に近い滑らかなスペクトルを保っている。

放電光源は黒体とは異なるスペクトル構造を持つ。蛍光灯は水銀の輝線スペクトルと蛍光体の発光の組み合わせであり、スペクトルには鋭いピークと谷が存在する。CCTが5000 Kの蛍光灯と5000 Kの黒体放射は、色度こそ近いが分光分布は根本的に異なる。ストロボの発光管であるキセノン管は、比較的連続に近いスペクトルを持つが、近赤外域にキセノン固有の輝線があり、管の劣化とともにスペクトルが変化する。

LED光源は青色LEDと蛍光体の組み合わせが主流であり、450 nm付近に鋭い青色ピークと、550-650 nm付近に蛍光体由来のブロードなピークを持つ二峰性スペクトルを示す。CCTが同じでもスペクトル構造が異なるため、演色性(CRI)やTM-30のような指標が別途必要となる。

混合光源環境での色温度

現実の撮影環境では、複数の光源が混在することが珍しくない。窓からの昼光(約5500-6500 K)と室内のタングステン灯(約2800 K)が共存する室内、あるいは定常光とストロボ光のミックスなどが典型的だ。

混合光源環境において「色温度」という概念は厳密には破綻する。色温度は単一の光源スペクトルに対して定義されるものであり、二つ以上の異なるスペクトルが空間的に混在する環境全体に一つの色温度を割り当てることには物理的な意味がない。カメラのホワイトバランスは画面全体に一つの補正を適用するため、一方の光源に合わせれば他方の光源下の被写体には色かぶりが生じる。

この問題への対処は、大きく三つの方針に分かれる。第一に、光源の色温度を統一する方法。色温度変換フィルター(CTOやCTBのジェルフィルター)を一方の光源に装着し、ミレッド値を揃える。第二に、RAW現像時に領域ごとに異なるホワイトバランスを適用する方法。第三に、混合光源の色かぶりを表現として積極的に利用する方法である。

いずれの方針を取るにせよ、混合光源環境での判断の基盤となるのは、各光源のCCTと $\Delta_{uv}$ の把握、そしてミレッド差の計算である。色温度の物理を理解することは、こうした実践的な判断を「なんとなく」ではなく、定量的な根拠に基づいて行えるようにする。


色温度は「暖色」、「寒色」という感覚的な言葉で語られがちだが、その実体はプランクの黒体放射法則という極めて厳密な物理法則に根ざしている。黒体放射のスペクトルが温度のみで決まるという事実が、温度を色の記述子として使うことを可能にした。そしてCCTとミレッドという拡張概念が、黒体ではない現実の光源にもこの枠組みを適用可能にしている。ホワイトバランスの操作も、色度図上の幾何学的な移動として理解すれば、その物理的意味は明瞭になる。

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