toruのブログ

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

Astrodesign A-Log の特性

目的

Davinci Resolve 16 で新規追加となった Astrodesign A-Log の特性をプロットする。

結論

A-Log の特性をプロットした結果を図1に示す。ARRI LogC と SONY S-Log3 の中間くらいの特性の模様。

f:id:takuver4:20190410220712p:plain
図1 A-Log をプロットした結果

感想

DJI の D-Log をプロットした時にも思ったのだが、LogC の特性に似ている Logカーブは多い。

プロット手順

※以下は筆者の個人メモです。

2019年4月10日現在、Astrodesign から A-Log に関する White Paper は発行されていない。そういう状況なので Davinci Resolve 16 の Color Management 機能を利用して無理やりプロットした。

実際の手順は以下の通り。

手順1 A-Log の最大値の取得

0~1023 Level の Rampパターンが入った 10bit DPX を Davinci Resolve で Astrodesign A-Log --> Linear に変換し、1023 Level の変換先の値を調べた。結果は 45.826263 であった。その他の Video Level と Linear値との関係はこのCSVファイルを参照。

また、0%, 18%, 90% の値は以下であった。

  • 0%: 95 Level (10bit)
  • 18%: 410 Level (10bit)
  • 90%: 585 Level (10bit)

手順2 A-Log OETF 適用後の値の取得

Davinci Resolve 16 で A-Log OETF を適用するために、OpenEXR の画像データを作成した。画像データの中身は図1の横軸に相当するデータである。 図1の横軸のデータは以下のコードで出力した。

def get_log_scale_x(sample_num=64, x_max=45.826263, stops=20):
    """
    Camera Log の OETF を横軸Stops でプロットするための
    linear light の入力データ列を作る。
    """
    x_min = x_max/(2**stops)
    exp_min = np.log2(x_min)
    exp_max = np.log2(x_max)
    exp = np.linspace(exp_min, exp_max, sample_num)
    x = 2 ** exp

    return x

OpenEXR のデータが作成できたら、Davinci Resolve 16 で開いた後で Color Management 設定を図2のように設定にした。その後、A-Log OETF が適用された画像データを 10bit DPX で出力した。

f:id:takuver4:20190410222426p:plain
図2. A-Log OETF を適用するための Color Management設定

出力した 10bit DPX の Video Level が A-Log OETF を適用した値である。

手順3 プロット

作成した A-Log と 比較用の LogC, S-Log3 をプロットして完成!