目的
※自分が Camera Log と呼んでいるだけ。正式な呼称ではない。
背景
ここ数年、カメラメーカー各社はオリジナルの Camera Log を撮影用に提案してきた。 従来はシネマカメラでしか使われていなかったのだが、最近になって民生用の一眼レフカメラでも利用可能となり 趣味レベルでも使うユーザーが増えてきた(はず)。
これらの Camera Log を使う際、自分は color science for python のライブラリを使用していた。 しかし、DJI, FUJIFILM, Nikon に関してはライブラリに無かったため自分で実装することにした。
実装
White Paper に従い実装するだけ。結果はコレの下の方。
なお、White Paper では図1に示すように input reflection という用語が出てくる。 これの取り扱いについては熟考が必要なのだが、ここでは議論しない。そのうち記事を書きたいと考えている。
DJI | FUJIFILM |
---|---|
動作確認
図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 がこの形式でプロットしているため)。
考察というか感想
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 参照).