地域振興のためのスマホ写真活用(4)(darktable3.0第105回)

ダイナミックレンジの検討(その1)

シリーズの第2回の末尾に、元のフレームのダイナミックレンジが大きい逆光では、スマホの写真は細部がつぶれるので、避けた方がよいと書きました。そして、元のフレームのダイナミックレンジの大きさが問題を引き起こす原因であれば、逆光であって、ダイナミックレンジがさほど広くなければ、まともに写るはずです。ですので、最初に、そのように説明を書いたのですが、撮った写真を確認したところ、逆光写真は全滅でしたので、慌てて、その部分の記事を修正しました。

検討の前提にはダイナミックレンジの比較的狭い逆光写真とは何かということが問題になります。逆光写真で、輝度が一番高いのは、直接写っている太陽になります。ですから、第1に、太陽が隠れている逆光写真ならよいと考えたわけです。でも、結果は、さんざんでした。

そこで、それでは、いったいJpegのダイナミックレンジは、どうなっているのか。これが、今回の検討課題です。darktableは3.0になって、トーンイコライザーという強力な


モジュールが追加されました。これを使うと、ピクセルのEV値がわかるので、Jpegのフレームのなかで、EV値の最大の部分と最小の部分を検索して、その差をとれば、Jpegのダイナミックレンジがわかります。

処理の基準の確認

画像をチェックする場合には、履歴のどのレベルを対象にするかを決めておく必要があります。

あらかじめ確認しておきますが、darktableの画像処理はピクセルパイプラインの指定する順番で行われ、履歴の順番ではありません。ただし、処理を履歴から外せば、その処理は行われないはずです。はずというのは、基本的な部分については、その限りでないためです。

履歴1はスマホJpegファイルを読み込んだ時の履歴です。読み込み時は、4の画像の向きまで、自動的に処理がなされます。反転している部分を、0のオリジナルにうつせば、理屈の上では、全ての処理が行われる前の画像になります。しかhし、読み込み時に、画像の向き(ポートレートランドスケープ)を見ていないと、縦横がおかしくなりますので、これが、処理されないことはありません。同様に、1,2も何らかの指定がなければ、画像が表示されませんので、外すことはできないと思われます。唯一、外すことが可能かもしれない機能は、3.ガンマになります。ガンマについては、反転している部分をガンマの上下に移動して、画像とヒストグラムをチェックしましたが変化はありませんでした。

まとめると、Jpegを読み込むと、自動的に履歴1のように1から4の処理が表示されますが、実質的な処理はなされていないと思われます。

  

f:id:computer_philosopher:20200205103802p:plain

履歴1


 

履歴2は、Jpegを読み込んだ時の履歴です。これは、カメラ内現像をdarktableが再現していると解釈できます。RAWのJpegへの圧縮は主に、ベースカーブで行われます。ですので、RAWとJpegを比較する場合には、ベースカーブ処理後のRAWと比較することになります。ベーカーブを外すと、色乗りがおかしくなります。このブログに

 

f:id:computer_philosopher:20200205103824p:plain

履歴2


 

今回、取り上げる画像は、サンプル1,2,3の3枚で、サンプル1,2は既に、逆光と順光に例で使った画像です。

サンプル1が逆光の例に使った画像です。サンプル1で一番明るいところは太陽で、トーンイコライザーの値をサンプル1にしますように+0.5EVです。逆に、一番くらいところは左下で-2.0EVです。したがって、ダイナミックレンジは2.5EVになります。これは、逆光写真としてはありえない値です。細部がつぶれるのは、当然といえます。

  

f:id:computer_philosopher:20200205103901p:plain

サンプル1

サンプル2は順光写真の例に使った画像です。サンプル2で一番明るいところは中央の空で+0.2EVです。サンプル1で一番明るい太陽が+0.6EVでした。このスマホでは、一番明るとところが、0.0から+0.5EVの間になるようで、変化のレンジは、暗所が大きく、明所は少ない傾向があるようです。一番くらいところは、サンプル2に示すように右下の-3.0EVになります。したがって、ダイナミックレンジは3.2EVです。サンプル1は2.5EVでしたので、サンプル2のダイナミックレンジが、サンプル1より大きいことになります。

 

f:id:computer_philosopher:20200205103932p:plain

サンプル2


いくらなんでも、逆光のダイナミックレンジが順光より小さいのは間違いだろうと考えて、ダイナミックレジの大きそうな逆光画像を探した例がサンプル3です。サンプル3で一番明るいとことは、太陽の部分で+0.6EVです。一番くらいところはサンプル3に示すように、左下にあり、-3.7EVです。これから、ダイナミックレンジは4.3EVになります。ダイナミックレンジは、サンプル1より、広くなったものの、センサーやJpegのダイナミックレンジの7から8EVからすれば、まだ、ありえないレベルと思われます。

 

f:id:computer_philosopher:20200205103956p:plain

サンプル3

まとめ

ダイナミックレンジの大きさをD(シーン)と表すことにします。さらに、Dに添え字をつけて、条件を表すことにします。例えば、リアル、または、肉眼のダイナミックレンジをD_real(),D_eye()などと書くことにします。こうすると、JpegのダイナミックレンジはD_jpeg()になります。画像がJpegしか扱えないスマホであれば、D_smartphone()と書けます。

もとのフレームのダイナミックレンジは、次になります。

D_real(逆光) > D_real(順光)

一方、サンプル1、2は次のようになりました。

D_smartphone(逆光) < D_smartphone(順光)

ここでは、反転が起こるとは、考えていなかったので、これは、予想外のことでした。

また、スマホのセンサーのダイナミックレンジは7EVはあるはずなので、Jpegのダイナミックレンジは、6から7EVはあると思いましたが、結果をみると、非常に狭くなっています。Jpegのダイナミックレンジ8EVの半分も使っていない場合が多いです。この点については、シリーズの次回に引き続き検討したいと思います。

センサーデータのダイナミックレンジがJpegになると減少する最大の原因はベースカーブにあると考えられます。スマホのベースカーブは、劣悪であると言えます。これだけひどいベーズカーブが使われているのであれば、小型センサーのスマホやカメラでも、RAWデータを使った方がよいのではないかと思われます。

色々なことがわかりました。課題を整理しておきます。

  • 引き続き、スマホでよい写真をとる条件を検討する。

  • スマホカメラや小型センサーのコンデジのダイナミックレンジをもう少し理解しておくべきである。

  • 小型センサーのスマホやカメラでも、RAWデータを使った場合にメリットがあるか検討すべきである。特に、ダイナミックレンジを検討すべきである。