カラーグレーディング

Color Grading別名:色調補正、ルック、グレーディング

概要

描き終えた画像の色とコントラストを、狙った印象に合わせて整える処理。暗部と明部の色味、彩度、コントラストを調整し、夕方らしさ、冷たさ、映画のような雰囲気といった画面の「ルック」を作る。

デモ

デモを読み込んでいます
白い線を左右にドラッグすると、補正前と補正後を見比べられます。プリセットを選んだうえで、彩度、コントラスト、色温度を足し引きできます。右下のグラフは、灰色を入力したときの赤、緑、青それぞれの出力で、線が離れているところほど色味が付いています。

使われる場面

  • 映画やゲームの雰囲気作り

    場面ごとに、暖かい、冷たい、くすんだ、鮮やかといった色の方向性を決める。同じ場面でも、補正だけで時間帯や感情の印象が変わる。

  • 色味をそろえる

    別々に撮った写真や、別の照明で描いた場面の色味をそろえ、続けて見たときの違和感をなくす。

  • ティールとオレンジ

    暗部を青緑に、明部と肌をオレンジに寄せる配色。肌が背景から浮き上がるので、映画やゲームの予告編でよく使われる。

  • ゲームの状態の表現

    体力が減ったら彩度を下げる、夜は青みを足すなど、画面全体の色で状態や場所を伝える。

判断基準

こういうときこうする
画面全体の印象(時間帯、温度感、雰囲気)を変えたいライトやマテリアルを直す前に、カラーグレーディングで方向性を試す。画面全体に一律にかかるので、少ない手間で印象が変わる。
人物や主役を、背景から際立たせたい主役の色と背景の色を、補色の関係に寄せる(肌をオレンジ、背景を青緑に寄せるなど)。
補正したら、肌の色が緑っぽい、または灰色っぽくなった補正を弱めるか、肌の色の範囲を補正から外す。人は肌の色のずれに特に敏感である。
暗いところが真っ黒につぶれた、または明るいところが白く飛んだコントラストを上げすぎている。コントラストを戻すか、暗部だけを少し持ち上げる(リフト)。
同じ補正を、別の場面や別のソフトでも使い回したい補正の結果を 3D LUT(色の対応表)として書き出し、読み込んで使う。

こう見えたら

指示の例

  • 全体の色が素直すぎて雰囲気がない。カラーグレーディングで、暗部を少し青緑に、明部と肌をオレンジ寄りにして

  • 夕方の場面に見せたい。色温度を暖色側に上げて、彩度を少し上げて

  • コントラストを上げたら、暗いところが真っ黒につぶれた。コントラストを少し戻して、暗部だけ持ち上げて

  • 古いフィルム写真のような、色あせた感じにしたい。黒を少し持ち上げて灰色寄りにし、彩度を 7 割くらいに下げて

詳細

描き終えた画像の色を、まとめて変える

カラーグレーディングは、描画の最後に、画像の全画素へ同じ色の変換をかける処理である。ライトやマテリアルを一つずつ直すのと違い、画面全体の色の方向性をまとめて変えられる。露出や白の色味(ホワイトバランス)のずれを直して素材をそろえる作業をカラーコレクション、狙った雰囲気を作る作業をカラーグレーディングと呼び分けることが多い。

代表的な操作

基本になるのは、チャンネルごとに暗部、中間、明部を調整する操作である。暗部を持ち上げたり沈めたりするリフト、中間の明るさを曲げるガンマ、明部を伸ばすゲインの三つで、よく使われる式の一つ(ASC CDL)は次の形をしている1。

Cout=(Cin⋅s+o)pC_\text{out} = (C_\text{in} \cdot s + o)^{p}

ss がゲイン、oo がリフト、pp がガンマにあたり、赤、緑、青で別々の値を使う。たとえば暗部で青と緑を足し、明部で赤を強めると、暗部が青緑、明部がオレンジに寄る(ティールとオレンジ)。デモのグラフで、左側(暗部)では青の線が、右側(明部)では赤の線が上に来ているのはこのためである。

彩度は、輝度 YY との差を伸び縮みさせて調整する。

Y=0.2126R+0.7152G+0.0722B,C′=Y+k (C−Y)Y = 0.2126R + 0.7152G + 0.0722B, \qquad C' = Y + k\,(C - Y)

kk が 1 より大きければ鮮やかに、小さければくすみ、0 で白黒になる。コントラストは、中間の灰色を軸にした S 字の曲線で、暗い値をより暗く、明るい値をより明るくする。

vec3 c = pow(max(color * slope + offset, 0.0), power); // ゲイン、リフト、ガンマ
float y = dot(c, vec3(0.2126, 0.7152, 0.0722));
c = mix(vec3(y), c, saturation);                        // 彩度

3D LUT にまとめる

補正を重ねるほど、計算は複雑になる。そこで、入力の色から出力の色への対応を、表として焼き込んで使うことが多い。赤、緑、青の各軸を 33 段などに区切った立方体の格子点ごとに、補正後の色を記録したものが 3D LUT である。描画時は、入力の色に近い 8 つの格子点を読み、間を補間して出力の色を求める。画素ごとに色だけで決まる補正なら、どれだけ重ねても一つの LUT にまとめられ、計算の重さは変わらない。ゲームでは、LUT を小さなテクスチャとして読み込み、最後に一度だけ引く方式がよく使われる。

見分け方と落とし穴

補正の強さは、元の絵と並べて比べないと分かりにくい。続けて見ているうちに目が慣れるので、デモのように補正前と見比べながら調整する。

肌の色は、わずかなずれでも不健康に見えやすい。画面全体を大きく傾けるときは、肌の色を確認する。

補正は、画像の精度が高い段階で行う。1 チャンネル 8 ビットに収めた後の画像を強く補正すると、階調が足りずにグラデーションに縞が出る。また、カラーグレーディングが変えるのは色だけで、光の向きや影の位置は変わらない。影の形や明暗の配置が気に入らない場合は、ライティングを直す。

脚注

  1. ASC CDL は、映画の制作で色の補正値を受け渡すために決められた形式で、この式に彩度の調整を加えた 10 個の数値で補正を表す。 ↩

関連