本ページにはアフィリエイト広告(プロモーション)が含まれる場合があります。
← 構図編(トップ)に戻る
現像編 — RAW現像とカラーグレーディング 現像の解説は、ビフォー・アフターの作例を並べても「スライダーが内部で何をしているのか」までは分かりません。 この章では操作の中身を図に落とし、入力と出力の対応・分布・色の座標として示します。 図はすべて数値から起こしたもので、実写作例は使っていません。
RAWと露出 1チャンネルあたりの階調数 水平な数直線の図(単位: 階調)。左端が128、右端が32768で、目盛りは対数(同じ長さが同じ倍率にあたる)で配置してある。 目盛りの数値は256、1024、4096、16384。 目印はJPEGベースライン 8bit(比較用の細い線)が256、RAW 12bitが4096、RAW 14bitが16384の位置。 数値は出典にある値のみ。8bit は JPEG 規格(ITU-T T.81)がベースラインプロセスに定めた精度、12bit=4096段/14bit=16384段は RAW 側の記録ビット深度。軸は対数目盛りで、等間隔に見えても差は4倍・64倍。なお階調数が多いことが見た目の滑らかさに直結しないことは「ビット深度と階調」で扱う。 256 1024 4096 16384 単位: 階調(対数目盛り) JPEGベースライン 8bit(256) RAW 12bit(4096) RAW 14bit(16384) 1チャンネルあたりの階調数 数値は出典にある値のみ。8bit は JPEG 規格(ITU-T T.81)がベースラインプロセスに定めた精度、12bit=4096段/14bit=16384段は RAW 側の記録ビット深度。軸は対数目盛りで、等間隔に見えても差は4倍・64倍。なお階調数が多いことが見た目の滑らかさに直結しないことは「ビット深度と階調」で扱う。 JPEG が情報を捨てるのは規格そのものにそう定義されているからで、ここは議論の余地がありません。一方「RAW は劣化しない生データ」という説明のほうは、メーカー自身の取扱説明書と突き合わせると、そのままでは成り立たない場面があります。
ベイヤー配列(RGGB) ベイヤー配列の図。8列×8行のセルに、左上の2×2がRGGBの順(1行目が赤・緑、2行目が緑・青)になるよう色フィルターを並べる。 全64セルの内訳は赤16・緑32・青16で、緑が最も多い。各セルは1色しか記録しないため、残りの2色は周囲のセルから推定する(デモザイク)。 並び順は特許 US3971065 の請求項1「輝度型素子が直交する2方向のどちらでも1つおきに現れる」に対応する。図中の色はどのフィルタが載っているかを示す記号で、フィルタの実際の分光透過特性を表すものではない。 赤フィルター 緑フィルター 青フィルター 左上の2×2が RGGB の並び ベイヤー配列(RGGB) 並び順は特許 US3971065 の請求項1「輝度型素子が直交する2方向のどちらでも1つおきに現れる」に対応する。図中の色はどのフィルタが載っているかを示す記号で、フィルタの実際の分光透過特性を表すものではない。 センサーの各画素が測れるのは赤・緑・青のうち1色だけで、残りは周囲から推定して埋められています。この推定処理をデモザイクと呼びます。配列の設計は1976年の特許まで遡れますが、どう埋めるかのアルゴリズムは今も一つに定まっていません。
段数を減らすと段差が見える 階調ランプの図。左端が黒、右端が白のグレーの帯を、段数を変えて3本並べている。4段は4段、16段は16段、256段(8bit)は256段。段数が少ないほど境目が縞(トーンジャンプ)として見える。 4段・16段は段差を目に見えるようにするための模式で、実測値ではない。実際の RAW は12bit=4096段・14bit=16384段で、この図の上限(256段)を大きく超えるため図示していない。256段は JPEG のベースラインが規格上使える精度。 4段 16段 256段(8bit) 黒 白 段数を減らすと段差が見える 4段・16段は段差を目に見えるようにするための模式で、実測値ではない。実際の RAW は12bit=4096段・14bit=16384段で、この図の上限(256段)を大きく超えるため図示していない。256段は JPEG のベースラインが規格上使える精度。 「14bit だから階調が滑らか」という説明は非常によく見かけますが、実測にもとづく検証はこれを支持していません。理由はノイズで、センサーのノイズが量子化のステップより大きいと、段差はノイズにかき消されて見えなくなります。ビット深度は単独では評価できず、S/N 比とセットでしか意味を持ちません。
クリップした画素は右端に積み上がる ヒストグラムの図。横軸は左端が黒(明るさ0%)、右端が白(明るさ100%)で、各明るさにどれだけ画素があるかを棒の高さで示す。 白飛びしている分布(輝度)は36本の棒。最も高い棒は明るさ100%の位置で高さ100%。左端(黒)の高さは0%、右端(白)の高さは100%。 右端の棒は警告色で強調してあり、白飛び(明部の情報が失われている)を示す。 模式図であり実測した画像の分布ではない。示しているのは形だけ——記録できる最大値を超えた光はすべて同じ値になるため、右端の1本に積み上がる。ただしこの表示が RAW の飽和を指しているのか、出力色空間でのクリップを指しているのかは、ソフトとモジュールによって違う。 黒 白 明るさ(36段階) 白飛び 白飛びしている分布 クリップした画素は右端に積み上がる 模式図であり実測した画像の分布ではない。示しているのは形だけ——記録できる最大値を超えた光はすべて同じ値になるため、右端の1本に積み上がる。ただしこの表示が RAW の飽和を指しているのか、出力色空間でのクリップを指しているのかは、ソフトとモジュールによって違う。 ヒストグラムは「撮れた光の量」そのものではなく、何らかの処理を経た画像の統計です。カメラの表示は目安だとメーカー自身が明記しており、現像ソフトの表示も「現像後の画像」の統計だと明示されています。一方「山が中央に来るのが正解」という基準には、規格にもメーカー資料にも裏づけが見つかりませんでした。
元記事が挙げた階調の配分(12bit) 折れ線の図。横軸が暗い ← → 明るい(1段刻み)、縦軸が階調数(最も明るい1段=1)で、いずれも0%から100%。縦軸は上に行くほど値が大きい。 12bit・4096段の配分は、暗い ← → 明るい(1段刻み)0%で階調数(最も明るい1段=1)6%、暗い ← → 明るい(1段刻み)25%で階調数(最も明るい1段=1)13%、暗い ← → 明るい(1段刻み)50%で階調数(最も明るい1段=1)25%、暗い ← → 明るい(1段刻み)75%で階調数(最も明るい1段=1)50%、暗い ← → 明るい(1段刻み)100%で階調数(最も明るい1段=1)100%の5点を通る。 数値は出典にある値のみ。2003年の元記事が挙げた12bit時の配分(明るい順に 2048 / 1024 / 512 / 256 / 128 段)を、最も明るい1段を1として正規化したもの。ただしこの配分を「右に寄せる理由」とする論法は、後年の実測によって否定されている(下の事実主張を参照)。図は元記事の論法を示すためのもので、推奨を示すものではない。 0% 25% 50% 75% 100% 0% 25% 50% 75% 100% 暗い ← → 明るい(1段刻み) 階調数(最も明るい1段=1) 12bit・4096段の配分 元記事が挙げた階調の配分(12bit) 数値は出典にある値のみ。2003年の元記事が挙げた12bit時の配分(明るい順に 2048 / 1024 / 512 / 256 / 128 段)を、最も明るい1段を1として正規化したもの。ただしこの配分を「右に寄せる理由」とする論法は、後年の実測によって否定されている(下の事実主張を参照)。図は元記事の論法を示すためのもので、推奨を示すものではない。 ETTR という言葉を広めたのは2003年の記事で、その根拠は「最も明るい1段に全階調の半分がある」という階調数の配分でした。しかし後年の実測はこの根拠そのものを否定しています。結論(白飛びしない範囲で右に寄せる)は概ね維持されますが、理由は階調数ではなく S/N 比です。
3チャンネルは同時には飽和しない 折れ線の図。横軸が画面上の位置(明るい部分を横切る)、縦軸が記録された値(1=飽和)で、いずれも0%から100%。縦軸は上に行くほど値が大きい。 記録された値(1=飽和)が100%の高さに、基準線を水平の点線で引いてある。 赤(飽和している)は、画面上の位置(明るい部分を横切る)0%で記録された値(1=飽和)15%、画面上の位置(明るい部分を横切る)10%で記録された値(1=飽和)30%、画面上の位置(明るい部分を横切る)20%で記録された値(1=飽和)55%、画面上の位置(明るい部分を横切る)30%で記録された値(1=飽和)85%、画面上の位置(明るい部分を横切る)40%で記録された値(1=飽和)100%、画面上の位置(明るい部分を横切る)50%で記録された値(1=飽和)100%、画面上の位置(明るい部分を横切る)60%で記録された値(1=飽和)100%、画面上の位置(明るい部分を横切る)70%で記録された値(1=飽和)90%、画面上の位置(明るい部分を横切る)80%で記録された値(1=飽和)60%、画面上の位置(明るい部分を横切る)90%で記録された値(1=飽和)30%、画面上の位置(明るい部分を横切る)100%で記録された値(1=飽和)15%の11点を通る。 緑(飽和していない)(比較用の細い線)は、画面上の位置(明るい部分を横切る)0%で記録された値(1=飽和)10%、画面上の位置(明るい部分を横切る)10%で記録された値(1=飽和)20%、画面上の位置(明るい部分を横切る)20%で記録された値(1=飽和)38%、画面上の位置(明るい部分を横切る)30%で記録された値(1=飽和)58%、画面上の位置(明るい部分を横切る)40%で記録された値(1=飽和)70%、画面上の位置(明るい部分を横切る)50%で記録された値(1=飽和)74%、画面上の位置(明るい部分を横切る)60%で記録された値(1=飽和)70%、画面上の位置(明るい部分を横切る)70%で記録された値(1=飽和)58%、画面上の位置(明るい部分を横切る)80%で記録された値(1=飽和)40%、画面上の位置(明るい部分を横切る)90%で記録された値(1=飽和)20%、画面上の位置(明るい部分を横切る)100%で記録された値(1=飽和)10%の11点を通る。 青(飽和していない)(比較用の細い線)は、画面上の位置(明るい部分を横切る)0%で記録された値(1=飽和)6%、画面上の位置(明るい部分を横切る)10%で記録された値(1=飽和)12%、画面上の位置(明るい部分を横切る)20%で記録された値(1=飽和)24%、画面上の位置(明るい部分を横切る)30%で記録された値(1=飽和)38%、画面上の位置(明るい部分を横切る)40%で記録された値(1=飽和)47%、画面上の位置(明るい部分を横切る)50%で記録された値(1=飽和)50%、画面上の位置(明るい部分を横切る)60%で記録された値(1=飽和)47%、画面上の位置(明るい部分を横切る)70%で記録された値(1=飽和)38%、画面上の位置(明るい部分を横切る)80%で記録された値(1=飽和)26%、画面上の位置(明るい部分を横切る)90%で記録された値(1=飽和)13%、画面上の位置(明るい部分を横切る)100%で記録された値(1=飽和)6%の11点を通る。 模式図であり実測波形ではない。示しているのは復元が依拠する前提だけ——赤が飽和していても緑と青が生きていれば、そこから赤の値を推定できる。どのチャンネルが先に飽和するかは被写体の色とホワイトバランスのゲインで変わるので、赤が先とは限らない。3本とも上端に達した領域には、この理屈は使えない。 0% 25% 50% 75% 100% 0% 25% 50% 75% 100% 画面上の位置(明るい部分を横切る) 記録された値(1=飽和) 基準線 赤(飽和している) 緑(飽和していない) 青(飽和していない) 3チャンネルは同時には飽和しない 模式図であり実測波形ではない。示しているのは復元が依拠する前提だけ——赤が飽和していても緑と青が生きていれば、そこから赤の値を推定できる。どのチャンネルが先に飽和するかは被写体の色とホワイトバランスのゲインで変わるので、赤が先とは限らない。3本とも上端に達した領域には、この理屈は使えない。 「RAW なら白飛びも戻せる」が成り立つのは、赤・緑・青の3チャンネルが同時には飽和しないという条件のもとでだけです。3つとも飽和した領域については、オープンソースの実装自身が「復元ではなく、もっともらしく見せかける処理」だと明言しています。何段まで戻せるかを定めた規格や実装は存在しません。
色の基礎 色温度の数直線(RawTherapee が扱う 2000〜25000K) 水平な数直線の図(単位: K)。左端が2000、右端が25000で、目盛りは対数(同じ長さが同じ倍率にあたる)で配置してある。 目盛りの数値は2000、3000、4000、6000、10000、25000。 帯として、黒体軌跡で計算する範囲が2000から4000まで、昼光(D)軌跡で計算する範囲が4000から25000まで、各社の「晴天」の幅が5100から5500までを示してある。 目印は標準イルミナントA 約2855.5Kが2855.5、RawTherapee の軌跡切替点が4000、晴天プリセット Minoltaが5100、晴天プリセット Panasonicが5500、D65 の相関色温度 約6500Kが6500の位置。 4000K という切替点は RawTherapee の実装値であって、規格が定めた境界ではない。標準イルミナントAの約2855.5Kは黒体そのものの温度、D65の約6500Kは黒体ではない昼光に対する「相関」色温度で、同じ数直線上に並べてあっても意味は同じではない。「晴天」の幅として示した 5100K〜5500K は RawTherapee のソースコード内のコメントに記録された各社の値の下限と上限で、メーカーの公称値を直接確認したものではない。 黒体軌跡で計算する範囲 昼光(D)軌跡で計算する範囲 各社の「晴天」の幅 2000 3000 4000 6000 10000 25000 単位: K(対数目盛り) 標準イルミナントA 約2855.5K(2855.5) RawTherapee の軌跡切替点(4000) 晴天プリセット Minolta(5100) 晴天プリセット Panasonic(5500) D65 の相関色温度 約6500K(6500) 色温度の数直線(RawTherapee が扱う 2000〜25000K) 4000K という切替点は RawTherapee の実装値であって、規格が定めた境界ではない。標準イルミナントAの約2855.5Kは黒体そのものの温度、D65の約6500Kは黒体ではない昼光に対する「相関」色温度で、同じ数直線上に並べてあっても意味は同じではない。「晴天」の幅として示した 5100K〜5500K は RawTherapee のソースコード内のコメントに記録された各社の値の下限と上限で、メーカーの公称値を直接確認したものではない。 「色温度」はもともと黒体(プランク放射体)の温度を指す測色量で、CIE の定義では光源の色度が黒体と一致する場合にしか成立しない。蛍光灯・LED・昼光はいずれも黒体軌跡に乗らないため、実際に使われているのは近似量である相関色温度(CCT)のほうである。ここまでは CIE の規格定義で確認できる。一方、現像ソフトのスライダーが実際に何をしているかは、ソフトごとに公開の度合いが違う。RawTherapee と darktable は公式文書とソースコードで挙動を確定でき、値を上げると画像が暖色に転ぶこと、WB の実体が RGB チャンネルごとの乗算係数であることが読み取れる。ただしそれが「どの現像ソフトでもそうである」という一般則までは裏づけられていないため、このページの実装まわりの記述はいずれも「この2つのソフトでは」という限定つきである。
4つの色空間の色域(CIE 1931 xy 色度図) CIE 1931 xy色度図の上に色域を描いた図。横軸がx、縦軸がyで、縦軸は上に行くほどyが大きい。三角形の内側が、その3原色で表現できる色の範囲。 sRGBの3原色は、赤が(x=0.64, y=0.33)、緑が(x=0.3, y=0.6)、青が(x=0.15, y=0.06)。白色点は(x=0.313, y=0.329)。 Adobe RGB (1998)の3原色は、赤が(x=0.64, y=0.33)、緑が(x=0.21, y=0.71)、青が(x=0.15, y=0.06)。 DCI-P3の3原色は、赤が(x=0.68, y=0.32)、緑が(x=0.265, y=0.69)、青が(x=0.15, y=0.06)。白色点は(x=0.314, y=0.351)。 ProPhoto RGB (ROMM RGB)の3原色は、赤が(x=0.735, y=0.265)、緑が(x=0.16, y=0.84)、青が(x=0.037, y=0)。白色点は(x=0.346, y=0.359)。 座標はすべて各色空間の規格・定義文書に書かれている値で、推測値は含まない(sRGB は ITU-R BT.709-6、Adobe RGB は Adobe の仕様書、ProPhoto RGB と DCI-P3 は ICC の3成分色符号化レジストリ)。Adobe RGB の白色点は sRGB と同じ D65 (0.3127, 0.3290) なので、点が重なるのを避けて省いた。DCI-P3 の白色点は劇場用の DCI 白色点 (0.3140, 0.3510) で、ディスプレイ向けの D65 版とは別物である。スペクトル軌跡(人が見える色の外周)は、座標表を規格の一次資料から取得できなかったため描いていない。したがって「ProPhoto RGB の原色が可視域の外にある」ことはこの図では見えない。 0 0.2 0.4 0.6 0.8 0 0.2 0.4 0.6 0.8 x(CIE 1931) y(CIE 1931) sRGBの白色点 DCI-P3の白色点 ProPhoto RGB (ROMM RGB)の白色点 sRGB Adobe RGB (1998) DCI-P3 ProPhoto RGB (ROMM RGB) 4つの色空間の色域(CIE 1931 xy 色度図) 座標はすべて各色空間の規格・定義文書に書かれている値で、推測値は含まない(sRGB は ITU-R BT.709-6、Adobe RGB は Adobe の仕様書、ProPhoto RGB と DCI-P3 は ICC の3成分色符号化レジストリ)。Adobe RGB の白色点は sRGB と同じ D65 (0.3127, 0.3290) なので、点が重なるのを避けて省いた。DCI-P3 の白色点は劇場用の DCI 白色点 (0.3140, 0.3510) で、ディスプレイ向けの D65 版とは別物である。スペクトル軌跡(人が見える色の外周)は、座標表を規格の一次資料から取得できなかったため描いていない。したがって「ProPhoto RGB の原色が可視域の外にある」ことはこの図では見えない。 色空間は「原色3つと白色点の色度」+「伝達関数(ガンマ)」で定義される。この定義自体は規格の一次資料に数値まで書かれており、このページの数値はすべてそこから取っている。sRGB の原色はテレビ規格 ITU-R BT.709 から借りたものだが、伝達関数は BT.709 とは別の式である。Adobe RGB (1998) は線形区間を持たない単純なべき乗、ProPhoto RGB(規格名 ROMM RGB)は実在しないデバイスの色として定義される。そして Web は「プロファイルの付いていない画像・色は sRGB として扱う」と規定しているため、「Adobe RGB で書き出せばきれい」は書き出し先が Web の場合には成り立たない。曖昧さが残るのは「広色域だと何がどれだけ損なわれるか」の部分で、これは単一の研究の測定値しか見つかっていない。
2つの較正照明と、そのあいだの補間区間(DNG 仕様) 水平な数直線の図(単位: K)。左端が2000、右端が10000で、目盛りは対数(同じ長さが同じ倍率にあたる)で配置してある。 目盛りの数値は2000、3000、4000、6000、10000。 帯として、逆色温度で線形補間する区間が2855.5から6500までを示してある。 目印は較正1: 標準イルミナントAが2855.5、較正2: D65が6500の位置。 較正照明として何を使うかはプロファイル作成者が決めるもので、A と D65 は DNG 仕様が「片方を低色温度(Standard-A など)、もう片方を高色温度(D55 や D65 など)に」と推奨している例に沿って置いた。ケルビン値は CIE の定義(標準イルミナントA は約2855.5K の黒体放射、D65 は相関色温度が約6500K の昼光)。プロファイルは最大3つの較正を持てるが、この図では2つの場合だけを描いている。 逆色温度で線形補間する区間 2000 3000 4000 6000 10000 単位: K(対数目盛り) 較正1: 標準イルミナントA(2855.5) 較正2: D65(6500) 2つの較正照明と、そのあいだの補間区間(DNG 仕様) 較正照明として何を使うかはプロファイル作成者が決めるもので、A と D65 は DNG 仕様が「片方を低色温度(Standard-A など)、もう片方を高色温度(D55 や D65 など)に」と推奨している例に沿って置いた。ケルビン値は CIE の定義(標準イルミナントA は約2855.5K の黒体放射、D65 は相関色温度が約6500K の昼光)。プロファイルは最大3つの較正を持てるが、この図では2つの場合だけを描いている。 RAW から色を出すには、センサーの生の値を CIE の測色値に対応づける必要があり、その対応づけを担うのがカメラプロファイルである。DNG 仕様書はこの構造を公開しており、プロファイルが複数の照明条件ごとの行列と、色相・彩度・明度の変換表、さらに「ユーザー調整の出発点」としての look テーブルからなることが読み取れる。つまり規格自身が、カメラプロファイルには測色的な変換だけでなく意図的な作り込みが含まれると認めている。ここまでは DNG 仕様書という一次資料で行単位まで確認できる。確認できないのはその先で、「メーカー純正ソフトのほうが色が正しい」という広く言われる主張については、「正しさ」の基準を定義した規格・一次資料を見つけられなかった。仕組みは公開資料で確定できるのに、その仕組みの良し悪しを判定する基準だけが見つからない、という構造になっている。
ガンマ符号化(リニアな光量 → 符号値) トーンカーブの図。横軸が入力(リニアな光量)、縦軸が出力(符号値)で、いずれも0%から100%。左下が暗いほう、右上が明るいほう。縦軸は上に行くほど明るい。 左下から右上への対角線は「何も変えない」直線で、薄く重ねてある。 sRGB の伝達関数は、入力(リニアな光量)0%で出力(符号値)0%、入力(リニアな光量)1%で出力(符号値)6%、入力(リニアな光量)1%で出力(符号値)10%、入力(リニアな光量)2%で出力(符号値)15%、入力(リニアな光量)5%で出力(符号値)25%、入力(リニアな光量)10%で出力(符号値)35%、入力(リニアな光量)18%で出力(符号値)46%、入力(リニアな光量)25%で出力(符号値)54%、入力(リニアな光量)35%で出力(符号値)63%、入力(リニアな光量)50%で出力(符号値)74%、入力(リニアな光量)65%で出力(符号値)83%、入力(リニアな光量)80%で出力(符号値)91%、入力(リニアな光量)100%で出力(符号値)100%の13点を通る折れ線。 点は sRGB 規格の式そのものに数値を入れて計算した値で、実測値ではない(C≦0.0031308 で 12.92C、それを超えると 1.055·C^(1/2.4)−0.055)。薄い対角線は「何もしない」線。リニアで18%の中間グレーは、この曲線を通ると符号値で約46%になる。曲線の縦軸は符号値であって、モニタが実際に出す光の量ではない。 0% 25% 50% 75% 100% 0% 25% 50% 75% 100% 入力(リニアな光量) 出力(符号値) sRGB の伝達関数 ガンマ符号化(リニアな光量 → 符号値) 点は sRGB 規格の式そのものに数値を入れて計算した値で、実測値ではない(C≦0.0031308 で 12.92C、それを超えると 1.055·C^(1/2.4)−0.055)。薄い対角線は「何もしない」線。リニアで18%の中間グレーは、この曲線を通ると符号値で約46%になる。曲線の縦軸は符号値であって、モニタが実際に出す光の量ではない。 ガンマとは、光の強さと符号値のあいだの非線形な対応づけである。sRGB の伝達関数は「ガンマ 2.2」と言われるが、実際には暗部に線形区間を持つ区分関数で、式に現れる指数は 1/2.4 である。この非線形性のため、符号値の 50% は光量の 50% ではない。さらにトーンカーブを RGB の各チャンネルに独立に掛けると RGB の比率が変わるため、明るさだけでなく色相まで動く。このページの内容は規格と測定に支えられているが、色相がどれだけずれるかの定量的な一般化までは出典が無い。「S字カーブを掛けるとコントラストが上がる」という広く言われる説明そのものも、実測ではなく曲線の傾きから導かれる幾何的な帰結として扱っている。
「自然な彩度」の効き方は実装によって逆を向く 折れ線の図。横軸が元の彩度(クロマ)、縦軸が彩度を上げる効きの強さで、いずれも0%から100%。縦軸は上に行くほど値が大きい。 darktable 旧vibrance(コード)は、元の彩度(クロマ)0%で彩度を上げる効きの強さ0%、元の彩度(クロマ)25%で彩度を上げる効きの強さ25%、元の彩度(クロマ)50%で彩度を上げる効きの強さ50%、元の彩度(クロマ)75%で彩度を上げる効きの強さ75%、元の彩度(クロマ)100%で彩度を上げる効きの強さ100%の5点を通る。 「低彩度優先」という説明(比較用の細い線)は、元の彩度(クロマ)0%で彩度を上げる効きの強さ100%、元の彩度(クロマ)25%で彩度を上げる効きの強さ75%、元の彩度(クロマ)50%で彩度を上げる効きの強さ50%、元の彩度(クロマ)75%で彩度を上げる効きの強さ25%、元の彩度(クロマ)100%で彩度を上げる効きの強さ0%の5点を通る。 実線は darktable 旧 vibrance モジュールのソースコードから導いた形で、効きの重みが元のクロマに正比例することは式(重み = √(a²+b²)/256、彩度倍率 = 1 + amount×重み)から確定している。もう一方は「彩度の低い色を優先する」という一般的な説明を向きだけ図にした模式図であり、具体的な式が公開されていないものを含むため実測値でも実装の再現でもない。縦軸の絶対量には意味がなく、読み取れるのは傾きの向きが逆だということだけ。 0% 25% 50% 75% 100% 0% 25% 50% 75% 100% 元の彩度(クロマ) 彩度を上げる効きの強さ darktable 旧vibrance(コード) 「低彩度優先」という説明 「自然な彩度」の効き方は実装によって逆を向く 実線は darktable 旧 vibrance モジュールのソースコードから導いた形で、効きの重みが元のクロマに正比例することは式(重み = √(a²+b²)/256、彩度倍率 = 1 + amount×重み)から確定している。もう一方は「彩度の低い色を優先する」という一般的な説明を向きだけ図にした模式図であり、具体的な式が公開されていないものを含むため実測値でも実装の再現でもない。縦軸の絶対量には意味がなく、読み取れるのは傾きの向きが逆だということだけ。 「彩度」という語には少なくとも3つの別々の意味がある。CIE が定義する知覚属性としての saturation、HSL/HSV の S、そして現像ソフトのスライダーである。「自然な彩度(バイブランス)」に至っては統一された定義がなく、同じ darktable の中でさえ、名前が同じで逆方向に働くモジュールが並存していた。Adobe が「低彩度の色を主に上げ、肌色の過飽和を防ぐ」と説明しているのは事実だが、そのアルゴリズムは公開されていない。一方オープンソースの実装はソースコードを読めば何をしているかが行単位で確定する。このページでいちばん確かなのは「実装ごとに動作が違う」という事実のほうで、「自然な彩度とは何か」という定義そのものには、参照できる共通の原典が存在しない。
カラーグレーディング 明暗の3つの帯に、別々の色を乗せる 明暗のゾーンごとに色を乗せた図。左端が黒、右端が白のグレーの帯に対して、シャドウ・中間調・ハイライトのそれぞれへ色を加えている。比較のため、色を乗せていない素のグレー帯も並べてある。 シャドウ(暗部)には色相220度(空色)を強さ35%で加えている(シャドウに青を乗せる)、中間調には色相120度(緑)を強さ18%で加えている(中間調に緑を乗せる)、ハイライト(明部)には色相35度(橙)を強さ35%で加えている(ハイライトに橙を乗せる)。 ゾーンの境目は段差をつけず、隣り合うゾーンの色が滑らかに混ざるように重ねてある。 色相と強さの値は「3つの帯に別々の色を置ける」という構造を示すために選んだ例示であり、出典のある値でも、特定のソフトの既定値・推奨値でもない。実際の Lightroom / Camera Raw のパネルは、この3つに加えて全体へ一律に色を乗せるグローバルのホイールと、帯どうしの重なり具合を決める Blending スライダーを持つが、その重なり方はこの図には描けていない。帯の境界が図では段になって見えるが、実際の処理は明るさに応じて連続的に混ざる。 色を乗せないグレー(比較用) ゾーンごとに色を乗せたグレー シャドウ: 空色220° 強さ35% シャドウに青を乗せる 中間調: 緑120° 強さ18% 中間調に緑を乗せる ハイライト: 橙35° 強さ35% ハイライトに橙を乗せる 黒 白 明暗の3つの帯に、別々の色を乗せる 色相と強さの値は「3つの帯に別々の色を置ける」という構造を示すために選んだ例示であり、出典のある値でも、特定のソフトの既定値・推奨値でもない。実際の Lightroom / Camera Raw のパネルは、この3つに加えて全体へ一律に色を乗せるグローバルのホイールと、帯どうしの重なり具合を決める Blending スライダーを持つが、その重なり方はこの図には描けていない。帯の境界が図では段になって見えるが、実際の処理は明るさに応じて連続的に混ざる。 暗部・中間調・明部にそれぞれ別の色を乗せて画の性格を決める操作を、映像の世界ではカラーグレーディングと呼ぶ。道具立ては大きく2系統ある。ひとつは映画用カラリストが使う Lift / Gamma / Gain で、3つのトーン域を大きく重ね合わせたまま動かす。もうひとつは撮影現場と仕上げのあいだで「色の決定」を受け渡すための ASC CDL で、slope / offset / power という3つの数値だけを持つ。Lightroom / Camera Raw の「カラーグレーディング」パネルは 2020 年に旧「スプリットトーン」を置き換えたもので、シャドウ・中間調・ハイライトの3つのカラーホイールを持つ。なお「カラーコレクション(補正)とカラーグレーディング(演出)は別物」という区別は、メーカー公式文書では徹底されていない。
色相環上の「オレンジ」と「ティール」の位置(目安) 色相環の図。円周に沿って色相が並ぶ。真上が色相0度(赤)で、時計回りに角度が増え、右が90度(黄緑)、真下が180度(シアン)、左が270度(青紫)。向かい合う位置(180度差)が補色にあたる。中心からの距離は彩度の強さを表す。 目印はオレンジと呼ばれる位置が色相30度(橙)・中心からの距離100%、その正反対(180°)が色相210度(空色)・中心からの距離100%、ティールと呼ばれる範囲(比較用の細い線)が色相180度(シアン)・中心からの距離80%、ティールと呼ばれる範囲(比較用の細い線)が色相195度(空色)・中心からの距離80%。 直線で結んであるのは30度(橙)と210度(空色)(正反対の色相(180°))。 この図の角度は、色相環(0°=赤 / 120°=緑 / 240°=青 と定義した環)の上で「オレンジ」「ティール」という色名が指すおおよその位置を目安として置いたものであり、実測値でも規格値でもない。肌の色相角として確認できた一次資料は CIELAB 色空間での値だけで、肌色クラスタの中心 (L*, a*, b*) = (59, 19, 20) から計算すると約 46.5°、観察者が好ましいと判断した肌色の中心は色相角 46° と報告されている。ただし CIELAB の色相角は、現像ソフトのカラーホイールの角度とは別の座標系であり、この環の上に重ねて描くことはできない。また「肌の補色は色相角◯◯度である」と述べた出典は見つけられなかったため、正反対の点は色名の位置から機械的に 180° 取っただけのものである。この図から「肌はここにある」と読み取ってはいけない。 0° 90° 180° 270° 正反対の色相(180°) オレンジと呼ばれる位置 その正反対(180°) ティールと呼ばれる範囲 ティールと呼ばれる範囲 色相環上の「オレンジ」と「ティール」の位置(目安) この図の角度は、色相環(0°=赤 / 120°=緑 / 240°=青 と定義した環)の上で「オレンジ」「ティール」という色名が指すおおよその位置を目安として置いたものであり、実測値でも規格値でもない。肌の色相角として確認できた一次資料は CIELAB 色空間での値だけで、肌色クラスタの中心 (L*, a*, b*) = (59, 19, 20) から計算すると約 46.5°、観察者が好ましいと判断した肌色の中心は色相角 46° と報告されている。ただし CIELAB の色相角は、現像ソフトのカラーホイールの角度とは別の座標系であり、この環の上に重ねて描くことはできない。また「肌の補色は色相角◯◯度である」と述べた出典は見つけられなかったため、正反対の点は色名の位置から機械的に 180° 取っただけのものである。この図から「肌はここにある」と読み取ってはいけない。 暗部に青緑(ティール)、明部にオレンジを置く配色は、2000年代以降の商業映画の定番として語られる。「肌の色がオレンジで、その補色が青緑だから肌が浮き立つ」という説明がほぼ必ず添えられる。このうち検証できるのは、肌の色が測色的にどこにあるかという部分だけである。「だから美しく見える」の部分は、色の組み合わせの好ましさを扱った心理物理実験に照らすと単純ではなく、むしろ素朴な補色調和説とは逆向きの結果がある。起源についての通説(デジタル・インターミディエイト以降に広まった、最初はこの作品)は、裏付けとなる一次資料を見つけられなかった。
暗部と明部に別々の色を与える 明暗のゾーンごとに色を乗せた図。左端が黒、右端が白のグレーの帯に対して、シャドウ・中間調・ハイライトのそれぞれへ色を加えている。比較のため、色を乗せていない素のグレー帯も並べてある。 シャドウ(暗部)には色相220度(空色)を強さ35%で加えている(シャドウに青)、ハイライト(明部)には色相35度(橙)を強さ35%で加えている(ハイライトに黄褐色)。 ゾーンの境目は段差をつけず、隣り合うゾーンの色が滑らかに混ざるように重ねてある。 色相と強さの値は「暗部と明部で色の方向を分ける」という構造を示すための例示であり、暗室の調色で得られる色を測って再現したものではない。セピア(硫化銀)やブルートーン(プルシアンブルー)の測色値を示した出典は本調査では見つけられなかったため、この図の色を実物の調色プリントの色として読み取ってはいけない。また実際の処理では帯の境目は連続的につながる。 色を乗せないグレー(比較用) ゾーンごとに色を乗せたグレー シャドウ: 空色220° 強さ35% シャドウに青 ハイライト: 橙35° 強さ35% ハイライトに黄褐色 黒 白 暗部と明部に別々の色を与える 色相と強さの値は「暗部と明部で色の方向を分ける」という構造を示すための例示であり、暗室の調色で得られる色を測って再現したものではない。セピア(硫化銀)やブルートーン(プルシアンブルー)の測色値を示した出典は本調査では見つけられなかったため、この図の色を実物の調色プリントの色として読み取ってはいけない。また実際の処理では帯の境目は連続的につながる。 暗部と明部に別々の色を与える操作は、デジタル以前の暗室では化学反応そのものだった。銀の粒子を別の化合物に置き換えることで像の色が変わる。セピアは硫化銀、青は鉄由来のプルシアンブルーである。デジタルのスプリットトーンは、この見た目を「画素の明るさに応じて色を乗せる」というまったく別の原理で近似したものである。Lightroom では 2020 年に「スプリットトーン」が「カラーグレーディング」へ吸収されたが、旧設定は Blending を 100 にすれば同一の結果として再現できる。
格子点の粗さ(1辺の点数として見た場合) 階調ランプの図。左端が黒、右端が白のグレーの帯を、段数を変えて4本並べている。2点(仕様上の最小)は2段、17点は17段、33点は33段、65点は65段。段数が少ないほど境目が縞(トーンジャンプ)として見える。 段数は .cube 仕様と DaVinci Resolve の書き出し設定にある値そのもの(仕様は N を [2, 256] の整数と定め、Resolve は 17 / 33 / 65 で書き出せる)。ただしこの図は、N を1辺の点数として1次元の階調帯に置き換えた近似である。実際の 3D LUT は N×N×N の立体格子で、17³ なら 4,913 点、33³ なら 35,937 点、65³ なら 274,625 点になる。段と段のあいだが実際にどう補間されるかは、この図には描けていない。 2点(仕様上の最小) 17点 33点 65点 黒 白 格子点の粗さ(1辺の点数として見た場合) 段数は .cube 仕様と DaVinci Resolve の書き出し設定にある値そのもの(仕様は N を [2, 256] の整数と定め、Resolve は 17 / 33 / 65 で書き出せる)。ただしこの図は、N を1辺の点数として1次元の階調帯に置き換えた近似である。実際の 3D LUT は N×N×N の立体格子で、17³ なら 4,913 点、33³ なら 35,937 点、65³ なら 274,625 点になる。段と段のあいだが実際にどう補間されるかは、この図には描けていない。 LUT は「この入力色をこの出力色にする」という対応表である。3D LUT は RGB 空間に格子点を置き、格子点の間の色は補間で埋める。写真・映像でもっとも普及している .cube 形式は Adobe が仕様書を公開しており、格子点数・データの並び順・入力域の既定値まで定めている。LUT は本来、Log で記録された素材を表示用に正規化するために使われてきた道具であり、「当てれば映画の色になる」フィルターとは成り立ちが違う。
色相環上の基準となる6つの方向 色相環の図。円周に沿って色相が並ぶ。真上が色相0度(赤)で、時計回りに角度が増え、右が90度(黄緑)、真下が180度(シアン)、左が270度(青紫)。向かい合う位置(180度差)が補色にあたる。中心からの距離は彩度の強さを表す。 目印は赤(R)が色相0度(赤)・中心からの距離100%、黄(Y)が色相60度(黄)・中心からの距離100%、緑(G)が色相120度(緑)・中心からの距離100%、シアン(C)が色相180度(シアン)・中心からの距離100%、青(B)が色相240度(青)・中心からの距離100%、マゼンタ(M)が色相300度(マゼンタ)・中心からの距離100%。 この6つの角度は、色相環を 0°=赤 / 120°=緑 / 240°=青 と定義したときにその中間として決まる位置であって、特定のソフトの色相帯の境界を測った値ではない。DaVinci Resolve の ColorSlice はこの6つのベクトルに加えて7つ目として肌色のベクトルを持ち、Capture One の基本カラーエディターはこの6色に「オレンジ」と「ピンク」を加えた8色で分ける。しかしオレンジ・ピンク・肌色それぞれの色相角や帯の境界を示した出典は見つけられなかったため、この図には角度として置いていない。Adobe の Lightroom / Camera Raw が持つ色相帯の一覧も、公式ヘルプの本文からは確認できなかった。帯と帯の境界がどこにあり、どうつながっているかは、この図では表現できていない。 0° 90° 180° 270° 赤(R) 黄(Y) 緑(G) シアン(C) 青(B) マゼンタ(M) 色相環上の基準となる6つの方向 この6つの角度は、色相環を 0°=赤 / 120°=緑 / 240°=青 と定義したときにその中間として決まる位置であって、特定のソフトの色相帯の境界を測った値ではない。DaVinci Resolve の ColorSlice はこの6つのベクトルに加えて7つ目として肌色のベクトルを持ち、Capture One の基本カラーエディターはこの6色に「オレンジ」と「ピンク」を加えた8色で分ける。しかしオレンジ・ピンク・肌色それぞれの色相角や帯の境界を示した出典は見つけられなかったため、この図には角度として置いていない。Adobe の Lightroom / Camera Raw が持つ色相帯の一覧も、公式ヘルプの本文からは確認できなかった。帯と帯の境界がどこにあり、どうつながっているかは、この図では表現できていない。 色相帯ごとに色相・彩度・輝度を動かすパネルは、どの現像ソフトにもある。ただし「何色に分けるか」はソフトごとに違い、共通の規格はない。Capture One の基本カラーエディターは8色、DaVinci Resolve の ColorSlice は7つのベクトルで分ける。また、この種の調整が階調の段差(バンディング)を起こしうることは、メーカー自身が処理バージョンの説明として認めている。「肌はオレンジだからオレンジのスライダーを触ればよい」という説明は広く行われているが、そう定義した公式資料は見つけられなかった。
カラーネガの層はガンマが揃っていない(模式図) トーンカーブの図。横軸が露光量、縦軸がネガの濃度で、いずれも0%から100%。左下が暗いほう、右上が明るいほう。縦軸は上に行くほど明るい。 赤に感じる層(ガンマ最低)は、露光量0%でネガの濃度5%、露光量25%でネガの濃度16%、露光量50%でネガの濃度28%、露光量75%でネガの濃度39%、露光量100%でネガの濃度50%の5点を通る折れ線。 他の2層(赤より高いガンマ)(比較用の細い線)は、露光量0%でネガの濃度5%、露光量25%でネガの濃度21%、露光量50%でネガの濃度36%、露光量75%でネガの濃度52%、露光量100%でネガの濃度67%の5点を通る折れ線。 傾きの具体値は出典にない。ARRI の技術白書は「カラーネガはバランスが取れておらず、3つの層が同じガンマを持たない。ほとんどのネガでは赤い光に感じる層のガンマがもっとも低い。プリントフィルムは、シアン色素を作る層のガンマを高くすることでこの特性を補償している」と述べるだけで、数値は示していない。この図の傾き(0.45 と 0.62)と切片は大小関係だけを見せるための模式値であり、実測値ではない。緑に感じる層と青に感じる層が互いに等しいことも出典にはないため、ここでは「赤より高い」1本にまとめている。プリントフィルム側の補償はこの図には描いていない。 0% 25% 50% 75% 100% 0% 25% 50% 75% 100% 露光量 ネガの濃度 赤に感じる層(ガンマ最低) 他の2層(赤より高いガンマ) カラーネガの層はガンマが揃っていない(模式図) 傾きの具体値は出典にない。ARRI の技術白書は「カラーネガはバランスが取れておらず、3つの層が同じガンマを持たない。ほとんどのネガでは赤い光に感じる層のガンマがもっとも低い。プリントフィルムは、シアン色素を作る層のガンマを高くすることでこの特性を補償している」と述べるだけで、数値は示していない。この図の傾き(0.45 と 0.62)と切片は大小関係だけを見せるための模式値であり、実測値ではない。緑に感じる層と青に感じる層が互いに等しいことも出典にはないため、ここでは「赤より高い」1本にまとめている。プリントフィルム側の補償はこの図には描いていない。 「フィルムの色」と呼ばれているものは、フィルムだけで決まっていない。カラーネガの場合、撮影用ネガと現像、そしてプリント(あるいはスキャン)の3段がひと組で設計されている。ネガのベースがオレンジ色に見えるのも、プリント段での色再現を良くするために仕込まれた仕掛けである。白黒では、撮影時のカラーフィルターが階調を作る主要な道具で、フィルターごとの露出倍数はメーカーが数値で公表している。デジタルのフィルムシミュレーションが実フィルムの色と一致することを示したデータは見つからず、メーカー自身もそこまでは主張していない。
ディテールと補正 エッジの断面と、アンシャープマスクが作るオーバーシュート 折れ線の図。横軸がエッジを横切る位置、縦軸が明るさで、いずれも0%から100%。縦軸は上に行くほど値が大きい。 明るさが80%の高さに、基準線を水平の点線で引いてある。 アンシャープマスク後は、エッジを横切る位置0%で明るさ20%、エッジを横切る位置30%で明るさ20%、エッジを横切る位置38%で明るさ20%、エッジを横切る位置44%で明るさ6%、エッジを横切る位置50%で明るさ50%、エッジを横切る位置56%で明るさ94%、エッジを横切る位置62%で明るさ80%、エッジを横切る位置100%で明るさ80%の8点を通る。 元のエッジ(比較用の細い線)は、エッジを横切る位置0%で明るさ20%、エッジを横切る位置42%で明るさ20%、エッジを横切る位置50%で明るさ50%、エッジを横切る位置58%で明るさ80%、エッジを横切る位置100%で明るさ80%の5点を通る。 模式図であり実測値ではない。特定の画像・特定のソフトの測定ではなく、「元画像からぼかした複製を引く」という演算の性質を形で示したもの。基準線は元のエッジの明るい側の高さで、その上へはみ出した分と、暗い側で下へ沈み込んだ分がハローとして見える。はみ出しの量と幅は設定と画像によって変わる。 0% 25% 50% 75% 100% 0% 25% 50% 75% 100% エッジを横切る位置 明るさ 基準線 アンシャープマスク後 元のエッジ エッジの断面と、アンシャープマスクが作るオーバーシュート 模式図であり実測値ではない。特定の画像・特定のソフトの測定ではなく、「元画像からぼかした複製を引く」という演算の性質を形で示したもの。基準線は元のエッジの明るい側の高さで、その上へはみ出した分と、暗い側で下へ沈み込んだ分がハローとして見える。はみ出しの量と幅は設定と画像によって変わる。 デジタルのシャープネス処理の標準はアンシャープマスク(USM)で、元画像から「ぼかした複製」を差し引いてエッジ付近のコントラストを持ち上げる線形演算である。ぼけて失われた情報を復元しているのではなく、エッジの見え方を強調しているだけなので、やりすぎるとエッジに沿って明暗の縁(ハロー)が出る。「シャープネスは最後にかける」という定石は、実験の結果ではなく業界のワークフロー指針に由来する。
ノイズを消すと、細かいディテールも一緒に消える 折れ線の図。横軸が画面上の位置(平坦部 → 細かい模様のある部分)、縦軸が明るさで、いずれも0%から100%。縦軸は上に行くほど値が大きい。 明るさが50%の高さに、基準線を水平の点線で引いてある。 ノイズ除去後は、画面上の位置(平坦部 → 細かい模様のある部分)0%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)5%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)10%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)15%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)20%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)25%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)30%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)35%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)40%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)45%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)50%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)55%で明るさ52%、画面上の位置(平坦部 → 細かい模様のある部分)60%で明るさ49%、画面上の位置(平坦部 → 細かい模様のある部分)65%で明るさ52%、画面上の位置(平坦部 → 細かい模様のある部分)70%で明るさ49%、画面上の位置(平坦部 → 細かい模様のある部分)75%で明るさ51%、画面上の位置(平坦部 → 細かい模様のある部分)80%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)85%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)90%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)95%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)100%で明るさ50%の21点を通る。 ノイズ除去前(比較用の細い線)は、画面上の位置(平坦部 → 細かい模様のある部分)0%で明るさ50%、画面上の位置(平坦部 → 細かい模様のある部分)5%で明るさ57%、画面上の位置(平坦部 → 細かい模様のある部分)10%で明るさ45%、画面上の位置(平坦部 → 細かい模様のある部分)15%で明るさ53%、画面上の位置(平坦部 → 細かい模様のある部分)20%で明るさ44%、画面上の位置(平坦部 → 細かい模様のある部分)25%で明るさ55%、画面上の位置(平坦部 → 細かい模様のある部分)30%で明るさ47%、画面上の位置(平坦部 → 細かい模様のある部分)35%で明るさ52%、画面上の位置(平坦部 → 細かい模様のある部分)40%で明るさ43%、画面上の位置(平坦部 → 細かい模様のある部分)45%で明るさ56%、画面上の位置(平坦部 → 細かい模様のある部分)50%で明るさ48%、画面上の位置(平坦部 → 細かい模様のある部分)55%で明るさ66%、画面上の位置(平坦部 → 細かい模様のある部分)60%で明るさ38%、画面上の位置(平坦部 → 細かい模様のある部分)65%で明るさ70%、画面上の位置(平坦部 → 細かい模様のある部分)70%で明るさ36%、画面上の位置(平坦部 → 細かい模様のある部分)75%で明るさ68%、画面上の位置(平坦部 → 細かい模様のある部分)80%で明るさ40%、画面上の位置(平坦部 → 細かい模様のある部分)85%で明るさ55%、画面上の位置(平坦部 → 細かい模様のある部分)90%で明るさ46%、画面上の位置(平坦部 → 細かい模様のある部分)95%で明るさ53%、画面上の位置(平坦部 → 細かい模様のある部分)100%で明るさ49%の21点を通る。 模式図であり実測値ではない。特定の画像・特定のノイズ除去アルゴリズムの測定ではなく、「ランダムな揺らぎ(左半分)と、本物の細かい模様(右半分)は、信号の見た目としては区別しにくい」という関係だけを示している。実際にどこまで模様が残るかはアルゴリズムと設定によって大きく変わる。基準線は平坦部の平均。 0% 25% 50% 75% 100% 0% 25% 50% 75% 100% 画面上の位置(平坦部 → 細かい模様のある部分) 明るさ 基準線 ノイズ除去後 ノイズ除去前 ノイズを消すと、細かいディテールも一緒に消える 模式図であり実測値ではない。特定の画像・特定のノイズ除去アルゴリズムの測定ではなく、「ランダムな揺らぎ(左半分)と、本物の細かい模様(右半分)は、信号の見た目としては区別しにくい」という関係だけを示している。実際にどこまで模様が残るかはアルゴリズムと設定によって大きく変わる。基準線は平坦部の平均。 写真のノイズには、光が粒(光子)として届くこと自体から生じるショットノイズと、センサーの読み出し回路が加える読み出しノイズがある。前者は物理法則で決まり、どんなカメラでも避けられない。「ISO を上げるとノイズが増える」という言い方は、実測データを見ると少なくとも半分は誤解で、増感そのものよりも「取り込む光が少ないこと」が効いている。
局所コントラストを上げると、縁がエッジから離れた広い範囲に出る 折れ線の図。横軸が画面上の位置、縦軸が明るさで、いずれも0%から100%。縦軸は上に行くほど値が大きい。 局所コントラストを上げた後は、画面上の位置0%で明るさ40%、画面上の位置15%で明るさ44%、画面上の位置30%で明るさ68%、画面上の位置45%で明るさ46%、画面上の位置60%で明るさ78%、画面上の位置75%で明るさ52%、画面上の位置90%で明るさ44%、画面上の位置100%で明るさ42%の8点を通る。 元の信号(比較用の細い線)は、画面上の位置0%で明るさ45%、画面上の位置15%で明るさ48%、画面上の位置30%で明るさ55%、画面上の位置45%で明るさ52%、画面上の位置60%で明るさ60%、画面上の位置75%で明るさ55%、画面上の位置90%で明るさ50%、画面上の位置100%で明るさ48%の8点を通る。 模式図であり実測値ではない。特定のソフトの明瞭度スライダーを測った図ではなく、「半径の大きな処理では、持ち上げと沈み込みがエッジのすぐ近くではなく広い範囲に及ぶ」という関係だけを示している。Adobe は明瞭度を「大きな半径のアンシャープマスクのようなもの」と説明しているが、実装がそうだとは書いていない。 0% 25% 50% 75% 100% 0% 25% 50% 75% 100% 画面上の位置 明るさ 局所コントラストを上げた後 元の信号 局所コントラストを上げると、縁がエッジから離れた広い範囲に出る 模式図であり実測値ではない。特定のソフトの明瞭度スライダーを測った図ではなく、「半径の大きな処理では、持ち上げと沈み込みがエッジのすぐ近くではなく広い範囲に及ぶ」という関係だけを示している。Adobe は明瞭度を「大きな半径のアンシャープマスクのようなもの」と説明しているが、実装がそうだとは書いていない。 「明瞭度」も「かすみの除去」も、画面全体ではなく局所的なコントラストをいじる処理である。このトピックは、本サイトの主題がいちばんはっきり出る場所でもある。darktable の同種機能は使っているアルゴリズムが名指しで公開されているのに対し、Adobe の「明瞭度」は効果の説明しか公開されていない。同じ見た目の機能でも、根拠として確かめられる範囲は同じではない。
周辺光量落ちと、その補正(ゲインを掛ける) 折れ線の図。横軸が光学中心からの距離(0=中心 / 1=最も遠い画素)、縦軸が明るさで、いずれも0%から100%。縦軸は上に行くほど値が大きい。 明るさが100%の高さに、基準線を水平の点線で引いてある。 補正後は、光学中心からの距離(0=中心 / 1=最も遠い画素)0%で明るさ100%、光学中心からの距離(0=中心 / 1=最も遠い画素)20%で明るさ100%、光学中心からの距離(0=中心 / 1=最も遠い画素)40%で明るさ100%、光学中心からの距離(0=中心 / 1=最も遠い画素)60%で明るさ100%、光学中心からの距離(0=中心 / 1=最も遠い画素)80%で明るさ100%、光学中心からの距離(0=中心 / 1=最も遠い画素)100%で明るさ100%の6点を通る。 補正前(比較用の細い線)は、光学中心からの距離(0=中心 / 1=最も遠い画素)0%で明るさ100%、光学中心からの距離(0=中心 / 1=最も遠い画素)20%で明るさ98%、光学中心からの距離(0=中心 / 1=最も遠い画素)40%で明るさ93%、光学中心からの距離(0=中心 / 1=最も遠い画素)60%で明るさ85%、光学中心からの距離(0=中心 / 1=最も遠い画素)80%で明るさ72%、光学中心からの距離(0=中心 / 1=最も遠い画素)100%で明るさ55%の6点を通る。 落ち込みの量は模式図であり実測値ではない(特定のレンズを測ったものではない)。DNG 仕様は周辺光量補正を「光学中心からの正規化距離 r に対して g = 1 + k0r² + k1r⁴ + k2r⁶ + k3r⁸ + k4r¹⁰ で決まるゲインを画素値に掛ける」処理と定義しているが、係数 k0〜k4 はレンズごとのプロファイルに入る値で、仕様書に例示は無い。図に描けていないこととして、これは掛け算なので、暗い周辺部を持ち上げるとそこに乗っていたノイズも一緒に持ち上がる。 0% 25% 50% 75% 100% 0% 25% 50% 75% 100% 光学中心からの距離(0=中心 / 1=最も遠い画素) 明るさ 基準線 補正後 補正前 周辺光量落ちと、その補正(ゲインを掛ける) 落ち込みの量は模式図であり実測値ではない(特定のレンズを測ったものではない)。DNG 仕様は周辺光量補正を「光学中心からの正規化距離 r に対して g = 1 + k0r² + k1r⁴ + k2r⁶ + k3r⁸ + k4r¹⁰ で決まるゲインを画素値に掛ける」処理と定義しているが、係数 k0〜k4 はレンズごとのプロファイルに入る値で、仕様書に例示は無い。図に描けていないこととして、これは掛け算なので、暗い周辺部を持ち上げるとそこに乗っていたノイズも一緒に持ち上がる。 レンズ補正が扱うのは主に歪曲収差・周辺光量落ち・倍率色収差の3つで、この3つは Adobe の DNG 仕様書に数式付きで定義されている。補正データは、ソフト側のプロファイル(Adobe の LCP や lensfun のデータベース)と、RAW ファイルにメーカーが埋め込んだデータの2系統がある。歪曲補正は画素を並べ直して補間する処理なので、画素値が作り直される点は避けられない。
同じ2つの操作でも、順番を入れ替えると結果が変わる トーンカーブの図。横軸が入力(暗い ← → 明るい)、縦軸が出力(暗い ← → 明るい)で、いずれも0%から100%。左下が暗いほう、右上が明るいほう。縦軸は上に行くほど明るい。 左下から右上への対角線は「何も変えない」直線で、薄く重ねてある。 明るさ → コントラストは、入力(暗い ← → 明るい)0%で出力(暗い ← → 明るい)0%、入力(暗い ← → 明るい)4%で出力(暗い ← → 明るい)0%、入力(暗い ← → 明るい)10%で出力(暗い ← → 明るい)10%、入力(暗い ← → 明るい)20%で出力(暗い ← → 明るい)26%、入力(暗い ← → 明るい)30%で出力(暗い ← → 明るい)42%、入力(暗い ← → 明るい)40%で出力(暗い ← → 明るい)58%、入力(暗い ← → 明るい)50%で出力(暗い ← → 明るい)74%、入力(暗い ← → 明るい)60%で出力(暗い ← → 明るい)90%、入力(暗い ← → 明るい)66%で出力(暗い ← → 明るい)100%、入力(暗い ← → 明るい)100%で出力(暗い ← → 明るい)100%の10点を通る折れ線。 コントラスト → 明るさ(比較用の細い線)は、入力(暗い ← → 明るい)0%で出力(暗い ← → 明るい)15%、入力(暗い ← → 明るい)19%で出力(暗い ← → 明るい)15%、入力(暗い ← → 明るい)30%で出力(暗い ← → 明るい)33%、入力(暗い ← → 明るい)40%で出力(暗い ← → 明るい)49%、入力(暗い ← → 明るい)50%で出力(暗い ← → 明るい)65%、入力(暗い ← → 明るい)60%で出力(暗い ← → 明るい)81%、入力(暗い ← → 明るい)72%で出力(暗い ← → 明るい)100%、入力(暗い ← → 明るい)100%で出力(暗い ← → 明るい)100%の8点を通る折れ線。 「コントラスト=0.5 を中心に 1.6 倍」「明るさ=+0.15」という2つの操作を、順番だけ入れ替えて計算した曲線(いずれも 0〜1 でクリップ)。この2つの式を選んだのは説明のためであり、特定の現像ソフトの実装を再現したものではない(その意味で模式図であり、実測値ではない)。図に描けていないこととして、実際の現像ソフトでは順序はユーザーが選ぶものではなく、ソフトが決めたパイプラインで固定されている。 0% 25% 50% 75% 100% 0% 25% 50% 75% 100% 入力(暗い ← → 明るい) 出力(暗い ← → 明るい) 明るさ → コントラスト コントラスト → 明るさ 同じ2つの操作でも、順番を入れ替えると結果が変わる 「コントラスト=0.5 を中心に 1.6 倍」「明るさ=+0.15」という2つの操作を、順番だけ入れ替えて計算した曲線(いずれも 0〜1 でクリップ)。この2つの式を選んだのは説明のためであり、特定の現像ソフトの実装を再現したものではない(その意味で模式図であり、実測値ではない)。図に描けていないこととして、実際の現像ソフトでは順序はユーザーが選ぶものではなく、ソフトが決めたパイプラインで固定されている。 現像ソフトの処理は、利用者が操作した順ではなく、ソフトが決めた固定の順序(パイプライン)で実行される。そしてこれらの処理は数学的に可換ではないので、順序を入れ替えれば結果は変わる。一方で、雑誌や解説記事でよく見る「正しい現像手順」については、実験的な根拠を示した出典を見つけられなかった。
この章の読み方 現像の用語は、ソフトによって同じ名前が別の処理を指したり、別の名前が同じ処理を指したりします。 ここでは名前ではなく画素の値に何が起きるか を図で示すことを中心に据えています。 数値・規格・用語の由来など、出典なしには言い切れない事柄は、出典を示せる場合にのみ記載し、 探しても見つからなかった場合はそのことを書いています。
各ページで確かめた事実主張は、構図編のものとあわせて根拠の強さで見る に一覧してあります。