2018.08.09 (最終更新日: 2019.06.27)

LUTなんてもう古い!? 〜DaVinci Resolveのカラーマネージメント(RCM)〜

LogやRAWの映像を標準的なルックにするために、よくLUTが使われます。ルックアップテーブルですね。便利で、簡単で、安心して使えます。

でも落とし穴もあります。どんな落とし穴かというと・・・・・・

〈1〉厳密ではない

一般的な33x33x33の3D LUTを考えてみましょう。この場合、RGB各チャンネルで33ずつのポイントが用意されており、33x33x33=35,937通りのバリエーションが存在します。それぞれのポイントは補間されます。

一方、10bitの映像はどうでしょうか。RGB各チャンネルで1024通りのデータが含まれており、合計すると1024x1024x1024=10億以上(1,073,741,824)のバリエーションが存在します。8bitでさえ、256x256x256=1600万以上(16,777,216)の組み合わせがあります。

あくまで比較の問題ですが、33x33x33というのは5bitぶんのデータにすぎません。それは厳密なデータというよりはざっくりとした目安と表現した方が近いかもしれません。DaVinci Resolveは内部で32bitフローティングポイントのシステムを採用しています。それなのにLUTを使えば5bitぶんのデータだけで変換をしてしまうことになります。これは残念なことです。

たとえば16bitのRAWファイルをDaVinci Resolveの中でグレーディングして、グレーディングした内容をLUTとして書き出したとします。せっかく限りなく豊かな階調をもつ素材を、最高のソフトウェア環境の中でグレーディングしたにもかかわらず、他のアプリケーションや同じDaVinci ResolveでそのLUTを読み込んだ際にはその情報は大きく刈り込まれてしまっています。これではもったいない。

〈2〉変換結果が異なることがある

LUTは厳密ではない。だから補間をします。しかしその補間の方法によって結果が異なります。DaVinci Resolveでも「トリリニア」と「テトラへドラル」の2種類がありますし、アプリケーションによっても補間方法が異なる場合があります。

DaVinci ResolveでLUTを読み込んだ結果と、他のアプリケーションで同じLUTを読み込んだ結果が、異なるものだったという経験はありませんか? もしかするとそれは補完のやり方の違いによるものだったかもしれません。

〈3〉クリッピング

32bitフローティングポイントは限りない広大な輝度やカラースペースを前提としています。だから一つめのノードでハイライトをどれほどクリッピングさせても、二つめのノードで戻してくることができます。しかしLUTは違います。LUTは10bitでいうと0-1023の空間しか想定していないため、LUTを適用して情報がクリッピングしてしまったらもう次のノードでデータを戻すことはできません。

どうすればいい?

大丈夫です。DaVinci Resolveはベターなソリューションを用意しています。Resolve Color Management、略してRCMです。LUTではなくRCMを使えば、もっと賢く、もっと優れたクオリティで映像の変換ができます。

Resolve Color Management(RCM)

DaVinci Resolveのカラーマネージメントは上記の問題点を解決してくれます。LUTとは違って数式を使っているので、粗のない、きめ細かい変換ができます。クリッピングの心配もありません。

1. 最初の設定

プロジェクト設定を開きます。カラーマネージメントのタブからカラーサイエンスの項目を選びます。デフォルトにはDaVinci YRGBになっていますが、これをDaVinci YRGB Color Managedと選択します。これでカラーマネージメントのワークフローを使用できるようになります。

2. 入力/タイムライン/出力カラースペース

カラーマネージメントといっても、そんなに難しくありません。入力カラースペース→タイムラインカラースペース、タイムラインカラースペース→出力カラースペースの2種類の変換が発生します。

入力カラースペースは素材のカラースペースです。たとえばPocket Cinema Camera 4Kでログで撮影した場合には、ここでBlackmagic Design Pocket 4K Filmを選択します。

タイムラインカラースペースは作業用カラースペースです。DaVinci Resolveのすべてのエフェクトがこのカラースペースの中で適用されます。広いカラースペースの素材を扱うときには、ここで広いカラースペースを選択する方が良いでしょう。

出力カラースペースは最終出力のカラースペースです。最終出力といっても、ファイル出力やモニタ出力だけではなく、GUI上のプレビュー画面にも適用されます。書き出されるファイルにRec.709のカラースペースを適用したい場合には、ここでRec.709 Gamma 2.4を選択します。タイムラインカラースペースと出力カラースペースは同じでもかまいません。

パイプラインを見るとイメージが湧きやすいかもしれません。すべてのエフェクトの先に入力カラースペース→タイムラインカラースペースの変換が適用され、すべてのエフェクトの後にタイムラインカラースペース→出力カラースペースの変換が適用されます。

おなじみのカラーページのノードに即して説明すれば、下の図の青枠が入力カラースペース→タイムラインカラースペースの変換、黄色い枠がタイムラインカラースペース→出力カラースペースの変換ということになります。

基本的な手順としてはこれでおしまいです。ではQ&Aに移ります。

Resolve Color Management(RCM)のFAQ

入力カラースペースが複数ある場合は?

映像作品には様々な種類の素材を組み合わせて出来あがっています。むしろプロジェクトの中で1種類の素材しか使わないという方が珍しいでしょう。その場合はこんな感じで運用できます。

1. プロジェクト設定
前述のカラーマネージメントの入力カラースペースの項目で、プロジェクトの中で一番多く使用されているクリップの種類を選択します。たとえばSonyのカメラでS-Logで収録された素材であれば、S-Gamut3/S-Log3を選択します。

※DaVinci Resolve 15から、入力カラースペースはファイルのメタデータを参照するようになりましたが、特にメタデータの指定がない場合には、Rec.709が選択されることになります。そのような場合には、メディアプールでクリップを選択し、下にある画像のように入力カラースペースを指定する必要があります。

2. 個別の設定
カラーページのサムネイルタイムラインの中のクリップを右クリックしたり、エディットページやメディアページのメディアプールの素材を右クリックしたりすると、「入力カラースペース」という項目が現れます。ここでクリップごとに入力カラースペースを設定できます。クリップの複数選択も可能です。

便利なのは素材の種類ごとにメディアページでビンを分けて管理する方法です。ビンごとに分けると、入力カラースペースの管理もしやすいです。

RAW素材はどうすればいいですか?

RAW素材だと話は簡単です。というのはRAW素材は自動でカラースペースが認識されるため、「入力カラースペース」の設定は関係なくなるからです。たとえばURSA Mini Pro 4.6KのCinemaDNG RAWの素材を入力している場合、プロジェクト設定のカラーマネージメントの「入力カラースペース」でCanon Cinema Gamut/Canon Log 3を選んでいたとしても、RAW素材のカラースペースは正しく認識され、選択されている「タイムラインカラースペース」に一気に変換されます。これはSony RAW、RED RAWなども同様です。

カラースペースとガンマを別々に設定できますか?

できます。「別々のカラースペースとガンマを使用」にチェックを入れれば、カラースペースとガンマを別々に定義することができます。

HDRにも対応していますか?

もちろんです。HDRのワークフローにおいてカラーマネージメントは強力な味方になります。ST.2084(HDR10/PQ)ならRec.2100 ST.2084、Hybrid Log GammaならRec.2100 HLGを選択することをお勧めいたします。

ちなみにここでHDRの選択肢を選んでもらえれば、QuickTimeファイルなどを書き出す際にメタデータを重畳して書き出すことができます。RCMを使用せずメタデータをクリップに重畳したい場合には、「タイムラインカラースペース」で希望するHDRの種類を選択してください。

大きなカラースペースから小さなカラースペースに変換する際の注意点は?

通常、大きなダイナミックレンジを小さなカラースペースに変換する際には小さなダイナミックレンジに入りきらない情報がクリッピングされます。情報が捨てられてしまうわけです。

しかし「タイムラインから出力へのトーンマッピング」を「シンプル」に設定することで、レンジを変換に合わせて縮ませたり広げたりすることができます。小さなカラースペースから大きなカラースペースに変換する際も、この設定は便利です。

もう一つ、その下には「タイムラインから出力の色域マッピング」という設定もあります。ここでは色域の変換の際の彩度がマッピングできます。「彩度しきい値」で設定された値より上の彩度が、「彩度最大値」の値にしたがって再マッピングされることになります。

慣れないうちは難しいかもしれませんが、いったん方法が身についてしまえば、こちらの方が映像のうまみを引き出せることがわかっていただけるはずです。ぜひ試してみてください。

49クリップする
クリップしておくと
あとからいつでも
見返したりできます。

コメント

  • 照山 明
    普段、ポケシネでCinemaDNGで編集しています。

    以下で、わからない部分があります。

    1)カラーマネージメント/カラーサイエンスでRCMに設定し、アウトプットを709に設定
    2)カラーマネージメントは、DaVinciYRGBに設定し、Camera RAWでカラースペースとガンマを709に設定

    1)を設定した場合、2)のCamera RAWの設定は無効になる?

    また、1)と2)で何が違うのでしょうか?

    また、1)も2)も、ノードの時点では709からはみ出てしまったデータは戻ってきません。その場合、Camera RAWの設定をクリップにして調整すれば戻りますが、このあたりは、どう理解すればよいのでしょうか?

    (これまでは、Camera RAWのカラースペース及びガンマをBMD Filmにして、最終ノードに709のLutを設定し、中間ノードで操作していました。その場合、まるっとデータが使えたので、悩んでいます。
  • ブラックマジックデザイン
    ご質問ありがとうございます。

    ご提示いただいた(1)と(2)は原理的には同じ変換を示しています。どちらも結果としては変わらないと考えてください。RCMを設定した場合には、カメラRAWの「カラースペース」と「ガンマ」の値は無効になります。RCMのカラースペースとガンマが使用されるからです。

    「ノードの時点では709からはみ出てしまったデータは戻ってきません」という点ですが、理論上はあるノードでクリップしたデータは別のノードで戻すことができます。ただしLUTは例外です。LUTをノードで使用してクリップした場合には、次のノードで先のノードでクリップしたデータを戻ることはできません。

    なおもご不明な点がありましたらお気軽にご質問ください。
  • 照山 明
    ご回答ありがとうございました。
    なるほど、RAWを使う上では、RCMもカメラRAWも結果は同じということで理解出来ました。

    「ノードの時点では709からはみ出てしまったデータは戻ってきません」という点、質問の仕方が悪くすみません。
    RCM及びRAW設定でカメラスペースをあらかじめ、例えばRec.709に設定した場合
    ホイールで調整しても、切り捨てられた色(輝度)は張り付いて戻って来ない、という事でした。
    この場合、RAWの設定で調整すると、データは戻ってきます。

    たしか以前のVerでは、ホイールでも色が戻ってきたと記憶しており、この一連の動作をどう理解すればよいか、
    ということでした。

    以下にキャプチャした動画をあげてみました。(素材はポケシネのCinemaDNG RAWです。)
    https://vimeo.com/291646936/833fe5c340
  • 照山 明
    すみません、URLが対応していないようですので、恐れ入りますが、上記URLをコピペして動画をご確認いただけますでしょうか?
  • ブラックマジックデザイン
    ご連絡遅れましてすみません。

    こちらで検証を実施してみましたが、「RCM及びRAW設定でカメラスペースをあらかじめ、例えばRec.709に設定した場合、ホイールで調整しても、切り捨てられた色(輝度)は張り付いて戻って来ない」という現象は再現されませんでした。

    引き続きトラブルシューティングさせていたければと思いますので、お手数ですがsupport-jp@blackmagicdesign.comまでご連絡いただくことは可能でしょうか。
  • 照山 明
    承知しました。検証までありがとうございました。
    現在こちらで、他のバージョンへのダウングレード、過去作品を見返しておりますので、結果次第、サポートに連絡させていただきます。
  • 照山 明
    いろいろ検証した結果、原因が判明しました。

    スマートレンダリングがONになっていたため、キャッシュが使用され、どうやってもクリッピングされてしまったようです。

    尚、CAMERA RAWでの設定だとクリップされなかったり、CAMERA RAWでもホイールでも完全にクリップされてしまったりと、タイミングにより再現性はマチマチでした。(キャッシュが作られているタイミングによるものと思われ)

    再生/レンダーキャッシュ/なし に切り替えることで、無事、クリップされた色がホイールでも戻ってくるのを確認しました。

    カラータブに行った際は、スマートレンダリングはOFFが基本という事でしたか。

    無知のため、この度は失礼いたしました。
  • ブラックマジックデザイン
    検証及びご連絡ありがとうございます。

    こちらでも同じ現象が再現されました。社内で調査をしたところ、今回のようなRCMを使用して広いカラースペースをカバーする際には、キャッシュのフォーマットとして、通常のProRes 422 HQなどではなく、末尾にHDRとつくものを使用する必要があることがわかりました。

    プロジェクト設定→マスター設定→最適化メディアとレンダーキャッシュ→レンダーキャッシュのフォーマットと進み、ProRes 4444 XQ - HDR、DNxHR 444 - HDRなどをご利用ください。HDRのつく選択肢を使用した場合には、通常よりも大きなデータをキャッシュ用にレンダリングするようになります。だからスマートレンダリングを使用した場合にもデータがクリップされることはないはずです。

    以上、ご確認いただければと思います。