toruのブログ

月1くらいで記事書きたい。

D-Log, F-Log, N-Log の作成&プロット

目的

  • 以下の Camera Log() の OETF/EOTF の実装
  • 比較用のまとめ図のプロット

自分が Camera Log と呼んでいるだけ。正式な呼称ではない。

背景

ここ数年、カメラメーカー各社はオリジナルの Camera Log を撮影用に提案してきた。 従来はシネマカメラでしか使われていなかったのだが、最近になって民生用の一眼レフカメラでも利用可能となり 趣味レベルでも使うユーザーが増えてきた(はず)。

これらの Camera Log を使う際、自分は color science for python のライブラリを使用していた。 しかし、DJI, FUJIFILM, Nikon に関してはライブラリに無かったため自分で実装することにした。

実装

White Paper に従い実装するだけ。結果はコレの下の方。

なお、White Paper では図1に示すように input reflection という用語が出てくる。 これの取り扱いについては熟考が必要なのだが、ここでは議論しない。そのうち記事を書きたいと考えている。

DJI FUJIFILM
f:id:takuver4:20190217142253p:plain f:id:takuver4:20190217142234p:plain
図1. White Paper に登場する input reflection

動作確認

図1 には input reflection と 10bit Code Value の値が記載されている。以下の実行結果と見比べて合っているのでOKとする。 N-Log に関しては 10bit Code Value値の記載が無かったので別の動作確認をした(本記事では省略)。

>>> import transfer_functions as tf
>>> tf.d_log_encoding(0.0, in_reflection=True) * 1023
95.036699999999996
>>> tf.d_log_encoding(0.18, in_reflection=True) * 1023
407.93614098168518
>>> tf.d_log_encoding(0.9, in_reflection=True) * 1023
586.12214759077051
>>> tf.f_log_encoding(0.0, in_reflection=True) * 1023
94.999871999999996
>>> tf.f_log_encoding(0.18, in_reflection=True) * 1023
469.88278321083851
>>> tf.f_log_encoding(0.9, in_reflection=True) * 1023
705.36192286239725

比較用のまとめ図プロット

LogC, S-Log3, D-Log, F-Log, N-Log をプロットした結果を図2に示す。

図は横軸を Stops (Log2のスケール)、縦軸を 10bit Code Value とした(たいていの White Paper がこの形式でプロットしているため)。

f:id:takuver4:20190217144640p:plain

図2. 各社の Camera Log 比較

考察というか感想

LogC, S-Log3, D-Log は特性近すぎじゃね? D-Log ソースに LogC の LUT を当てても見え方が殆ど変わらないのでは、と思ったり思わなかったり。

参考文献

[1] DJI. White Paper on D-Log and D-Gamut of DJI Cinema Color System. https://dl.djicdn.com/downloads/zenmuse+x7/20171010/D-Log_D-Gamut_Whitepaper.pdf (2019/02/17 参照).

[2] FUJIFILM. F-Log Data Sheet Ver.1.0. http://www.fujifilm.com/support/digital_cameras/software/lut/pdf/F-Log_DataSheet_E_Ver.1.0.pdf (2019/02/17 参照).

[3] Nikon. N-Log Specification Document Version 1.0.0. http://download.nikonimglib.com/archive3/hDCmK00m9JDI03RPruD74xpoU905/N-Log_Specification_(En)01.pdf (2019/02/17 参照).