LUTの生成・補間・変換

WonderLookProは様々な設定による色変換の結果を一組のLUTという形に変換し、デバイスが接続されていればリアルタイムに送信して結果を反映します。この範囲では、ユーザーはLUTがどのようなものか意識する必要がないように設計されています。


しかしながら、LUTBOXの違いや、ファイルにExportして他のソフトウエアと連携を取る、など、LUTの内容や使い方により、結果が影響を受ける場合、ある程度、LUTの知識が必要になる場合があります。

LUTの基礎知識についてはこちらを参照していただくとして、ここでは、WonderLookProがどのようにLUTを取り扱っているかを簡単に説明したいと思います。


ほとんどのユーザーにとって、LUTはアプリケーションやデバイス間で色変換の情報を交換するものであり、中身については、利用するシステムやソフトウエアに任せてあり、ブラックボックスになっていることと思います。我々メーカーは、ユーザーの期待に添うべく、互換性が高く、品質に問題のないLUT関連機能の実装に努めています。

WonderLookProは必要な時に必要な精度のLUTを生成し、高精度に補間計算を行い、必要に応じて入出力の色空間を変換します。



LUTの生成

ここまでの説明で、ACESの考え方をベースにして、様々な色変換を活用して所望の変換を実現していることを説明してきました。

下記のようなワークフローで色調整を行うことを考えましょう。



模式図で書くと、下記のようになります。



このレベルで記述しても12段階、実際は、もっと多くの演算が行われています。WonderLookProはこのすべての変換を連結したものとしてLUTを作成します。

この中の、LMTの中のASC-CDLのパラメーター一つを少し変更しただけで、これらのすべての計算をやり直して新しいLUTを作成します。

いったんLUTが作成されれば、あとは



このように極めてシンプルな構成で、所望の結果が得られるようになります。WonderLookProの中でも、画像の変換や数値計算でLUTを使用していますし、LUTBOXが接続されていればリアルタイムに送信されますし、Exportの処理を行えば、ファイルに書き出すことになります。

LUTの精度を向上するためには、上記の一つ一つの計算の精度を少しでも高めておく必要があります。少しずつの誤差でも12ステップ積み重なると大きな誤差となってしまう可能性があります。WonderLookProは上記計算で精度の高い浮動小数点として計算していますし、誤差の出やすいLUTは極力使用せず、数式計算可能な部分は数値計算で、などの工夫で全体の精度を上げています。



LUTの補間:誤差やバンディングの少ない三角錐補間

映像に対してLUTを当てる、という表現をしますが、これは、映像データに対してLUT演算を行い、変換後の新しい映像データを得る、ことを意味しています。LUTの演算は、映像データの1ピクセルごとに、LUTを使用した補間計算、という計算により、新しい処理後の色を計算し、映像データをその色に置き換えていくことの繰り返しです。


補間計算には誤差がつきものです。誤差を低減するためにまず考えられるのは、LUTの格子点の数を増やすことです。しかしながらシステム上の制約で使用可能な格子点は限られますし、LUT作成演算時間の増大というデメリットも生じます。もう一つ誤差に影響を与える要因として、補間アルゴリズムがあります。様々な実験の結果、一般的な立方体補間よりも、三角錐補間の方が優れた性能を持っていることがわかっています。IS-miniやIS-miniXはもちろん、WonderLookProの内部計算でも三角錐補間を採用して精度を高めています。立方体補間と三角錐補間の比較はこちらで解説していますので是非参照して下さい。



LUTの活用:入力色空間・出力色空間の変換

いったんLUTを作成してしまうと、上記の例にあったような12段の各パーツの変換に戻すことはできません。そのまま使用するしかないのです。

しかしながらWonderLookProでは、入力側、およびまたは出力側、のみ差し替えて使用することが可能となっています。例えば、このような使い方ができます。


まずは、下記のような3DLUTを作ったとしましょう。



このLUTはARRI LogCを入力、DCI-P3のプロジェクターを出力、を前提に作られているので、他のカメラやモニタでは使用できません。使用したとしても期待通りの結果にはなりません。

しかし、WonderLookProでは下記のような変換を行うことができます。




作成したLUTの前段に、SONYのSLOG3の変換と、ARRI LogCの逆変換を挿入することで、あたかもSONY SLOG3を前提に作られたLUTに変換されます。

また、LUTの後段に、DCI-P3の逆変換とRec709のODTを追加することにより、出力側色空間を正しくRec709に変換することができます。


この計算を施した新しいLUTを作成することにより、ARRI LogC/DCI-P3向けに作られていたLUTを、SONY SLOG3/Rec709でも使用できるようになりました。もちろん、補間誤差や色空間の広さの違いがあるので、完全に一致する結果とはなりませんが、両者でかなり近い結果を得ることが可能です。


このように、WonderLookProでは、既存のLUTも有効に活用可能な機能を備えています。



LUTの評価・確認

3DLUTは数値の羅列であり、数字を眺めてもどのような変換か判断することはできません。WonderLookProでは、このように中身を把握しにくいLUTを少しでもビジュアライズして、適切な変換となっていることを確認するために、システムトーンカーブ、というグラフを採用しています。


下記はRec709/2.4からRec2020/PQへの変換のシステムトーンカーブを示しています。



横軸が入力となるRec709/2.4、縦軸が出力となるRec2020/PQです。どちらも64~940のレンジで変換されており、Legalレンジであることがわかります。横軸の940に100%のノーテーションがあり、確かにRec709/2.4の最大値となっていることがわかります。一方で縦軸の最大値940は10000nitsと表示されており、確かにPQのガンマがアサインされていることがわかります。また、カーブの最大値は縦軸の中央付近、100nitsで飽和しています。これはRec709/2.4の100nitsがRec2020/PQの100nitsに変換されていることを意味し、意図通りの変換のLUTができることが確認できます。


中央付近の6角形は、代表6色の色度変化をベクトル座標系で示したものです。中央が無彩色、外側に行くほど規格化した彩度が高くなります(実際の彩度を表すのではなく、色空間の中での相対的な彩度を意味します)。点線で結ばれてる正六角形が入力で使用したLUT処理前のポジション、実線で結ばれたやや大きい円の六角形がLUT処理後のポジションになります。LUT処理後の色空間における相対的な彩度が下がっていることがわかります。Rec709/2.4に対してRec2020/PQの方が色空間が広く、同じ色を表す数値を持ってくると、Rec2020/PQの方が、R/G/Bの色差が小さくなります。すなわち、相対的な彩度が下がります。よって、色再現の方向もあるべき方向となっており、LUTが正しく生成されていることの確認の一つとなります。


このように、システムトーンカーブのグラフは種々の確認にとても役立ちます。WonderLookProのユーザーの方は是非活用されることをお勧めいます。