本ページにはアフィリエイト広告(プロモーション)が含まれる場合があります。
ハイライト・シャドウの復元
- RAWと露出
- Highlight and shadow recovery
- 別名: 白飛び復元
- 別名: ハイライト復元
- 別名: シャドウ持ち上げ
「RAW なら白飛びも戻せる」が成り立つのは、赤・緑・青の3チャンネルが同時には飽和しないという条件のもとでだけです。3つとも飽和した領域については、オープンソースの実装自身が「復元ではなく、もっともらしく見せかける処理」だと明言しています。何段まで戻せるかを定めた規格や実装は存在しません。
図で見る
この操作が画像に何をするか
ハイライト復元は、飽和したチャンネルの値を、飽和していない他のチャンネルや周囲の画素から推定して埋める処理です。3チャンネルすべてが飽和した領域では推定の手がかりが無くなるため、周囲の勾配などから「ありそうな値」を作ることになります。シャドウ側の持ち上げは逆に、記録されてはいるがノイズに埋もれている信号を引き上げる操作で、限界を決めるのはビット深度ではなく読み出しノイズです。
効く場面
- 空や光源の周辺だけが飛んでいて、他のチャンネルが生きている見込みがあるとき
- 逆光で主要被写体が暗く落ちた画像の、暗部を起こしたいとき
- 現像ソフトを選ぶとき、復元手法の適用範囲が公開されているかを判断材料にしたいとき
つまずきやすい点
- 「RAW なら白飛びは戻せる」と考えて、飽和させても構わないと判断する
- 復元された領域を、実際にそこにあったディテールだと考える(周囲から見てありそうなものが生成されている)
- 復元幅を機種によらない固定の段数だと考える(そう定めた出典は存在しない)
- シャドウの持ち上げで出るノイズや段差を、RAW のビット深度不足のせいだと考える
どこまで裏が取れているか
この項目についてよく言われることを、出典に当たって確かめた結果です。出典が見つからなかったものは、見つからなかったと書いています。
- 原典で確認できる クリップした画素について分かるのは「記録できる最大値以上である」ということだけで、実際の明るさは失われている darktable(GPL)の公式マニュアルによる、自ソフトの挙動と前提についての記述。同ページはクリップに2種類の原因(受光素子の飽和と、RAW ファイルが格納できる数値の上限)があること、両者が機種によってずれること、そして darktable がどちらでクリップと判定するかはカメラごとの white point 設定に依存し、その設定が誤っていると正常な画素までクリップ扱いになりうることまで明かしている。「何をもってクリップとするかが設定依存である」というこの事実は、アルゴリズムを公開していない現像ソフトでは外から確認できない。 出典: darktable 4.6 user manual「highlight reconstruction」
- 原典で確認できる ハイライト復元が成り立つのは、RGB の3チャンネルが同時にクリップするとは限らないためである RawTherapee 公式ドキュメントによる、自ソフトが依拠している前提の記述。実装は GPL で公開されており(rtengine/hilite_recon.cc、著者は Emil Martinec 2008-2011 および Ingo Weyrich 2019 とコード冒頭に明記)、同一の前提は darktable のマニュアルにも独立に記されている。重要なのは、原文が restore(復元する)ではなく guessed(推定される)という語を使っている点。3チャンネルが同時にクリップしない理由の一端は、ホワイトバランスのゲインがチャンネルごとに異なることにある。 出典: RawPedia(RawTherapee 公式ドキュメント)「Exposure」Highlight Reconstruction
- 原典で確認できる 全チャンネルがクリップした領域の再構成は、実装者自身によって「復元」ではなく「もっともらしく見せかける処理」だと説明されている darktable(GPL)の公式マニュアルによる、開発側自身の限界の申告(「もっともらしい何かでクリップ領域をごまかす方法と考えるべきで、魔法のように修復する方法ではない」)。同ページは他の手法についても適用範囲を数値で書いており、guided laplacians は直径およそ256px 以下のクリップ領域に向き、512px を超える場合は別の再構成に切り替えることを勧めている。この 256px / 512px は darktable のこの実装に固有の値であって、一般的な限界値ではない。この種の自己申告された限界は、アルゴリズムを公開していないソフトでは得られない情報である。 出典: darktable 4.6 user manual「highlight reconstruction」segmentation based
- 二次資料でしか確認できていない Adobe Camera Raw のハイライト復元幅として公表されている数値は「露出 -1.00〜-2.00 程度」で、しかも復元されるのは輝度情報のみである secondary_only の理由は、Adobe が Camera Raw のアルゴリズムを公開しておらず、この数値は Adobe が自社製品について述べたものに過ぎないため。測定条件も示されておらず、「カメラによる」「もっと行くこともある」という留保がついている。さらにこの文書は Camera Raw 2.x 世代(2004〜2005年頃)を対象にしており、現行の Lightroom / Camera Raw に当てはまる保証はない。原本の URL(adobe.com)は現在アクセスできず、Internet Archive の2016年8月11日のスナップショットから取得した。これはオープンソースとの非対称性の実例でもある——RawTherapee / darktable では手法の名前・依拠する前提・適用範囲の目安がドキュメントとソースの両方で確認できるのに対し、Adobe については「Adobe がそう言っている」以上のことは分からない。 出典: Adobe ホワイトペーパー「Highlight Recovery in Camera Raw」
- 実証はあるが条件が限定的 シャドウを持ち上げられる限界を決めているのは読み出しノイズであり、RAW のビット深度ではない limited の理由は、実証はあるが個人の大学ページで公開された単一の測定者による記事であり、査読を経ていないため。測定機種は Nikon D3 / D300、Canon EOS-1D Mark III / 1Ds Mark III / 40D の5機種(いずれも2007〜2008年の製品)。また出典が直接述べているのは「RAW のビット深度が原因になることは決してない」という否定形であって、「読み出しノイズが限界を決める」という肯定形は同記事全体の論旨から読み取ったものである点に注意(引用箇所そのものは読み出しノイズという語を含まない)。同記事は段差の原因をトーンカーブ・ガンマ補正・リサンプリング・ノイズリダクションといった後処理側に帰しており、ノイズリダクションやリサンプリングでノイズが量子化ステップを下回ると逆に段差が現れうるとしている。 出典: Emil Martinec「Noise, Dynamic Range and Bit Depth in Digital SLRs」(2008)
他の項目の主張とあわせて確かめたい場合は根拠の強さで見るもご覧ください。
関連する現像の項目
- ヒストグラムの読み方 — ヒストグラムは「撮れた光の量」そのものではなく、何らかの処理を経た画像の統計です。カメラの表示は目安だとメーカー自身が明記しており、現像ソフトの表示も「現像後の画像」の統計だと明示されています。一方「山が中央に来るのが正解」という基準には、規格にもメーカー資料にも裏づけが見つかりませんでした。
- 露出を右に寄せる(ETTR) — ETTR という言葉を広めたのは2003年の記事で、その根拠は「最も明るい1段に全階調の半分がある」という階調数の配分でした。しかし後年の実測はこの根拠そのものを否定しています。結論(白飛びしない範囲で右に寄せる)は概ね維持されますが、理由は階調数ではなく S/N 比です。
- RAWとJPEGは何が違うのか — JPEG が情報を捨てるのは規格そのものにそう定義されているからで、ここは議論の余地がありません。一方「RAW は劣化しない生データ」という説明のほうは、メーカー自身の取扱説明書と突き合わせると、そのままでは成り立たない場面があります。
- トーンカーブとガンマ — ガンマとは、光の強さと符号値のあいだの非線形な対応づけである。sRGB の伝達関数は「ガンマ 2.2」と言われるが、実際には暗部に線形区間を持つ区分関数で、式に現れる指数は 1/2.4 である。この非線形性のため、符号値の 50% は光量の 50% ではない。さらにトーンカーブを RGB の各チャンネルに独立に掛けると RGB の比率が変わるため、明るさだけでなく色相まで動く。このページの内容は規格と測定に支えられているが、色相がどれだけずれるかの定量的な一般化までは出典が無い。「S字カーブを掛けるとコントラストが上がる」という広く言われる説明そのものも、実測ではなく曲線の傾きから導かれる幾何的な帰結として扱っている。
- ノイズ除去 — 写真のノイズには、光が粒(光子)として届くこと自体から生じるショットノイズと、センサーの読み出し回路が加える読み出しノイズがある。前者は物理法則で決まり、どんなカメラでも避けられない。「ISO を上げるとノイズが増える」という言い方は、実測データを見ると少なくとも半分は誤解で、増感そのものよりも「取り込む光が少ないこと」が効いている。