toruのブログ

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

Davinci 17 の RCM に関する簡単な調査

0. 背景

DaVinci 17 の Beta版がリリースされたので、早速インストールして Color Management について調べていたところ、DaVinci 16 と比較して色々と変わっていることが分かった。

自分は DaVinci を検証のための映像信号源として利用することが多いため、DaVinci の Color Management の機能を正しく理解しておく必要がある。 そこで最初の一歩として、Beta版に同梱されているマニュアル[1]を参照しながら Color Management の各パラメータが入力信号に対してどのように作用するか確認を行った。

1. おことわり

この記事は DaVinci Resolve Studio 17 Public Beta 2 で動作を確認したものです。 正式版では挙動が変わっている可能性がありますのでご注意ください。

2. 目的

  • DaVinci 17 の Project Settings の Color Management タブの Color Space & Transforms の概要を理解する
  • 言い換えると DaVinci 17 の RCM(Resolve Color Management) の概要を理解する

3. 結論

  • 図1 に示す処理の概要を理解した

    • DaVinci 17 から Input DRT, Output DRT と呼ばれる概念が追加された
    • Input DRT と Output DRT は Tone mapping を行う処理であり、Input DRT と Output DRT を適用した場合の特性は図2のようになる (※1)
    • また SDR to HDR 変換の前処理を自動で行う "Inverse DRT for SDR to HDR Conversion" と呼ばれる処理も追加された。特性を図3に示す
  • なお、新規に追加された DaVinci Wide Gamut Color Space と DaVinci Intermediate Gamma については調査不足のため本記事では取り扱わない

  • また、今回の調査結果は輝度方向の変換に特化した内容であり、色相や彩度の変化に関する調査は行っていない

f:id:takuver4:20201115074319p:plain
図1. Resolve Color Management's image processing pipeline ([1]より引用)

f:id:takuver4:20201129092908p:plain f:id:takuver4:20201129115353p:plain
図2. Input DRT、Output DRT を適用した場合の特性 図3. Inverse DRT for SDR to HDR Conversion の特性

※1 図2 は Timeline working luminance の輝度値と Output color space の ST2084 の 輝度値を一致させてプロットした。詳細は 4.2.3. を参照。

4. 詳細

ここから DaVinci 17 の RCM について確認した内容を書いていく。が、最初は念のために Color Management の概念の確認を行っておく。

4.1. 映像制作における Color Management

映像制作における Color Management は簡単に説明すると以下を行うものである。併せて概要を図4に示す。

  • 様々な色情報を持った Source を共通の色空間にマッピングする
  • 共通の色空間で処理を行う
  • ターゲット(映画館、Web配信、地上波など)に合わせた色空間で出力する

f:id:takuver4:20201121134528p:plain
図4. Color Management の概要

共通の色空間(図4だと Image Processing を行う場所)を経由することで、多種多様な色情報を持つ映像ソースの取り扱いがとても行いやすくなる。

4.2 DaVinci 17 の RCM

ここから本命の DaVinci 17 の RCM について述べる。まずは UI について述べる。

4.2.1. DaVinci 17 の RCM の UI

DaVinci 17 の初期設定は 図5 に示す通りシンプルな構成である。ユーザーが設定するのは Resolve color management preset と Output color space だけで良い。一方で Resolove color management preset を custom にすると図6に示す通り細かな設定が可能となる。今回は図1の各ブロックの処理を確認したいので custom で確認を行った。

f:id:takuver4:20201115092830p:plain f:id:takuver4:20201115092839p:plain
図5. custom以外の場合 図6. custom の場合

4.2.1. Input Color Space と Output Color Space

図1 の Input Color Space と Output Color Space について簡単に説明する。

Input Color Space は Source Media の色空間を解釈して Source Media を内部に取り込む。例えば (R, G, B) = (1.0, 0.0, 0.0) というデータがあったとして、 これを Gamma2.4-BT.709 の (x, y, Y) = (0.64, 0.33, 0.2126) と解釈して取り込んだり、ST2084-BT.2020 の (x, y, Y) = (0.708, 0.292, 26.27) と解釈して取り込んだりする。

Output Color Space は Timeline color space のデータを Final Output の色空間に変換して出力する。例えば、内部の (x, y, Y) = (0.3127, 0.3290, 1.0) を Gamma2.4-BT.709 の (R, G, B) = (1.0, 1.0, 1.0) として出力したり、ST2084-BT.2020 の (R, G, B) = (0.508, 0.508, 0.508) と出力したりする。

4.2.2. Input DRT

ここから、DaVinci 17 で新規追加となった DRT について説明する。まずは Input DRT について調べた結果を順に説明する。

DRT とは Display Rendering Transform の略称でありデータに対して Tone mapping を適用する処理である。 このうち Input DRT (のUI) に関してはマニュアル[1]で以下のように記載されている。

the Input DRT (Display Rendering Transform) drop-down menu provides a variety of different options to enable DaVinci Resolve to automatically tone map the image data of SDR and HDR clips to better match one another when they’re fit into the currently selected Timeline Color Space.

入力 DRT(Display Rendering Transform)ドロップダウンメニューには、現在選択されているタイムラインカラースペースにSDRとHDRクリップの画像データを合わせる際に、DaVinci Resolveが自動的にトーンマップを行い、お互いをよりよく一致させるためのさまざまなオプションが用意されています。(DeepLによる日本語訳)

この説明だけだと詳しい動作が分からないため実際に確認してみる。DaVinci の Input DRT のドロップダウンメニューには 図7-(a) に示す通り複数の選択肢がある。

f:id:takuver4:20201121155515p:plain:w640
図7. Input DRT のパラメータ

全てを確認するのは大変なので今回は "DaVinci" のみを確認する。また、図1 から分かるように Input DRT は "Timeline working luminance" というパラメータ(図7-(b))の影響も受ける。そこで次のようにして Input DRT の挙動を確認する。

まず 図8に示す Rampパターンを用意する。次に DaVinci の Color Management 設定を 図9 のようにする。 最後に Input DRT 設定を 図10 のパターンで変化させて Tone mapping の様子を確認する。

f:id:takuver4:20201121142721p:plain
f:id:takuver4:20201121143215p:plain f:id:takuver4:20201121145331p:plain
図8. テスト用のRampパターン 図9. Color Management 設定 図10. Input DRT のリスト

これらの準備をして Tone mapping を確認した結果を 図11 に示す。

f:id:takuver4:20201121160913p:plain:w640
図11. Input DRT の特性

Timeline working luminance で指定した輝度付近 がピーク輝度となるような Tone mapping が適用されることが分かる(グラフをよく見ると Tone mapping 後の輝度は設定した輝度より少しだけ低い)。

ただし SDR 100 の設定値に関しては明らかに異常だったので、パラメータを変更して追加調査をした。その結果、次の事が分かった。

  • Timeline working luminance を SDR 100 に設定するのは Output color space が SDR の時に限定される(と思われる

実際に Output color space を Gamma2.4 に変更して確認した結果を図12に示す。図12 を見ると変換後の最大輝度が 100 cd/m2 となるため、Timeline working luminance を SDR 100 に設定した場合は Output color space を SDR にするのが正しい使い方だと思われる

f:id:takuver4:20201127081249p:plain:w640
図12. Output color space を SDR(Gamma2.4) に変更して試した結果

4.2.3. Output DRT

続いて Output DRT について調査した結果を説明する。なお、ここから先の説明は出力が HDR の場合のみを対象とする。SDR 出力に関しては調査が済んでいないため報告しない。ご了承頂きたい。

筆者の調査で解ったことは以下の2点である。

  • (1) Output DRT は "Output color space の Gamma の ST2084 の輝度値" と強い関連がある
  • (2) Timeline working luminance の輝度値と Output color space の ST2084 の 輝度値は一致させると素直な特性になる

順を追って説明する。

まず、(1) の "Output color space の Gamma の ST2084 の輝度値" との強い関連について具体例を図13, 図14 に示す。

図13 は Timeline working luminance を HDR 1000、Output color space の ST2084 の 輝度値を 500, 1000, 2000, 4000, 10000(無印) と変化させた場合の Output DRT の特性 をプロットしたものである。図14 は 図13 の条件で Input DRT, Output DRT の両方を適用したトータルの特性をプロットしたものである。加えて設定画面のスクリーンショットを図15 に示す。

f:id:takuver4:20201129125007p:plain f:id:takuver4:20201129125018p:plain
図13. Output DRT の特性 図14. Input DRT, Output DRT の両方を合わせた特性

f:id:takuver4:20201129132529p:plain:w640
図15. 図13 を作成した際の設定

図13, 図14 より、Output DRT は "Output color space の Gamma の ST2084 の輝度値" と強い関係があることは読み取れる。 そして ST2084 の輝度値によって特性が大きく変化するため、目的に応じて適切な輝度値を設定する必要があると考える。

筆者が現時点で最も無難だと考えている方法は (2) に示した Timeline working luminance の輝度値と Output color space の ST2084 の輝度値を一致させる方法である。こうすることで、Input DRT で適用した Tone mapping の特性がそのまま出力にも反映される。

具体例を交えてもう少し詳しく説明しよう。例えば 図14 の 紫色の "HDR 1000, ST2084 10000 nit" に着目する。 この紫色の線では Input DRT で 1000 nit に Tone mapping が適用されるが、それを打ち消すような Tone mapping が Ourput DRT で適用されて最終的に何の変化も無くなっている(※2)。

一方で 図14 の 橙色の "HDR 1000, ST2084 1000 nit" に着目する。ここでは Input DRT の Tone mapping の特性がほぼそのまま残っている。なぜならば 図13 で Output DRT の特性を確認すると Linear な特性となっているからである。

ただ、これはあくまでも筆者の一意見であるため、本当にこの考え方が正しいかは不明である。 DaVinci 17 が正式版がリリースされれば付属のマニュアルにもっと詳しい情報が書かれると考える。

※2 Timeline color space では Tone mapping が適用されている状態なので、カラーグレーディング時にカラリストにとって扱いやすい状態になっているかもしれない。が、筆者はその辺りの知識が不足しており何とも言えない。

4.2.3. Output DRT with ER(Extended Range)

これまでスルーしてきたが、Timeline working luminance には 図16 に示すように ER(Extended Range) と呼ばれる設定が存在する。 このパラメータを指定した場合の挙動についても簡単に解説する。

f:id:takuver4:20201129133902p:plain:w640
図16. Extended Range のパラメータ

ER に関してはマニュアル[1]で以下のように記載されている。

These “extended range” settings each specify two values and provide more headroom for aggressive grading of highlights by enabling DaVinci Resolve to compress a greater range of out-of-bounds image data without clipping, which can result in a smoother look.

これらの「拡張範囲」設定はそれぞれ2つの値を指定し、DaVinci Resolveがクリッピングなしでより広い範囲の範囲外の画像データを圧縮できるようにすることで、ハイライトの積極的なグレーディングのためのヘッドルームを増やします。これにより、より滑らかな外観が得られます。(Google翻訳による翻訳)

例えば "HDR ER 1000/2000" という設定は Input DRT で 1000 nit ターゲットの Tone mapping が適用されるが、Output DRT での Tone mapping は 2000 nit が最大値となるように行われるため、Timeline color space では +1000 nit のヘッドルームができる。

具体的な特性を 図17, 図18 に示す。例えば 橙色の HDR ER 1000/4000 に注目してみる。図17 の Input DRT では 1000 nit に Tone mapping が適用されるが、図18 の Output DRT では 4000 nit までクリッピングが発生しておらず +3000 nit のヘッドルームが存在することが分かる。

f:id:takuver4:20201129135947p:plain f:id:takuver4:20201129140015p:plain
図17. ER settings 使用時の Input DRT の特性 図18. ER settings 使用時の Output DRT の特性

ここで1点注意事項がある。ER settings を使用する場合は ER settings の輝度値と Output color space の ST2084 の 輝度値を必ず一致させるべきである。例えば "HDR ER 1000/2000" を設定したのに Output color space で "ST2084 4000 nit" を指定した場合は、ヘッドルームが +1000 nit ではなく +3000 nit となってしまい意図と異なる挙動になるからである。

5. 感想

DaVinci 17 は SDR/HDR を効率よく扱うための仕組みが追加されており、プリセットで使用するユーザーにとっては大変扱いやすいように進化を遂げていると感じている。一方で、自分のように標準のプリセットを使わずに custom でマニアックな使い方をする場合は理解すべき新要素が多く、なかなか大変だと感じた。が、これで輝度方向の変換については概ね理解できたので、ひとまずは安心して使えそうである。

今回の記事では HDR の機能を調べるだけで終わってしまったので、どこかのタイミングで WCG 関連の新機能についても調査したい。

参考資料

[1] Blackmagic Design, "DaVinci Resolve New Features Guide", November 2020 Public Beta.