写真のしくみ ㉞ 映画の色はなぜ独特に見えるのか カラーグレーディングの基本

Share
💡
シリーズ「写真のしくみ」について
光はまっすぐ進み、レンズは世界をひっくり返す。写真と映像にひそむ小さな「なぜ?」を、数式なしで解き明かす全40回。

映画館で映画を観ていて、「なんだかふだんの景色とちがう色だな」と感じたことはありませんか。夜のシーンが青っぽかったり、砂漠のシーンがやけにオレンジだったり。じつはあの色は、カメラが勝手につけたものでも、照明だけで作ったものでもありません。撮影が終わったあとに、人の手で わざと 変えられているのです。

この回では、映画の色を操る カラーグレーディング という工程の世界をのぞいてみましょう。

映画の色は「ウソ」からはじまる

写真を撮ったあと、明るさや色味を調整することがありますよね。スマホの写真アプリでフィルターをかけるのもそのひとつです。映画の世界では、これをもっと大がかりに、もっと繊細に、もっと徹底的にやります。それが カラーグレーディング と呼ばれる工程です。

カラーグレーディングは、映画やドラマ、ミュージックビデオなど、ほぼすべてのプロの映像作品に施されています。グレーディングの前と後では、まるで別の作品のように印象が変わることも珍しくありません。色ひとつで、観る人の気持ちがガラリと変わるのです。

カラーコレクションとカラーグレーディング

「色を変える」と一口にいっても、じつは2つの段階があります。

まず最初にやるのが カラーコレクション です。これは文字どおり「色の補正」で、撮影時に生じたホワイトバランスのズレや露出のばらつきを直し、映像を「目で見たときに近い自然な色」に整える作業にあたります。たとえば、曇りの日に撮った映像が青っぽくなっていたら、それを自然な色味に戻します。カットごとに明るさがバラバラだったら、つなげて観たときに違和感がないよう揃えます。いわば、料理でいう「下ごしらえ」です。

その次に来るのが カラーグレーディング です。こちらは、作品の世界観や雰囲気を色で「演出」する作業にあたります。現実の色に戻すのではなく、監督やカラリスト(色の専門家)が意図した色に仕上げます。ホラー映画なら暗く青みがかった色調に、恋愛映画なら暖かく柔らかい色調に。色によって「怖い」「楽しい」「切ない」といった感情を映像に染み込ませるのです。

カラーコレクションが「素材を正しい状態に整えること」なら、カラーグレーディングは「素材に感情を乗せること」といえます。

ティール&オレンジの秘密

ハリウッド映画を何本か思い浮かべてみてください。アクション映画、SF映画、サスペンス映画。その多くに共通する色があります。画面の暗い部分が ティール(青緑)に染まり、人物の肌や明るい部分が オレンジ に輝いている。この組み合わせを ティール&オレンジ と呼びます。

なぜ、この2色がこんなに多く使われるのでしょうか。理由は 色の相性 にあります。

色相環(しきそうかん)という、色をぐるりと円に並べた図を思い浮かべてみましょう。円の反対側にある色どうしを 補色(ほしょく) といいます。青の補色はオレンジ、赤の補色はシアン(水色に近い色)、といった具合です。補色どうしを並べると、おたがいを引き立て合って、とても鮮やかでインパクトのある画面になります。

ティール(青緑)とオレンジは、まさにこの補色の関係にあります。そしてここが重要なのですが、人間の肌の色は、人種にかかわらず、色相環上ではおおむねオレンジの範囲に収まります。明るめか暗めか、彩度が高いか低いかの違いはありますが、色相としてはどれもオレンジ寄りなのです。

つまり、背景をティールに寄せると、肌のオレンジとの補色対比が自動的に生まれ、人物が画面から浮き上がって見えます。人物を目立たせたい映画にとって、これはとても都合のいい配色なのです。

もちろん、ティール&オレンジだけが映画の色ではありません。ウェス・アンダーソン監督の映画はパステルカラーの独特な配色で知られますし、マトリックスの緑がかった画面、マッドマックスの焼けつくようなオレンジも、それぞれの作品世界を色で表現しています。カラーグレーディングの選択肢は無限にあります。ティール&オレンジはそのなかでもとくに「使いやすく、効果が高い」定番の配色として広く知られている、ということです。

Log撮影とは何か

カラーグレーディングの話をする前に、ひとつ知っておきたい大事なことがあります。グレーディングで自由に色を変えるには、そもそも映像に十分な色と明るさの情報が記録されている必要があります。情報が少ない映像を無理にいじると、色が破綻したり、なめらかなはずのグラデーションが縞模様に割れてしまいます

そこで登場するのが Log(ログ)撮影 という方法です。

ふつうにカメラで動画を撮ると、カメラが「見た目にきれいな映像」に仕上げてくれます。空は青く、肌は健康的な色になり、コントラストもくっきりしています。これは日常的な記録には便利ですが、撮影後に色を大きく変えようとすると困ったことが起きます。明るすぎる部分はすでに真っ白に飛んでしまっていて、暗すぎる部分は真っ黒に潰れてしまっている。飛んだり潰れたりした部分には、もう情報が残っていません。なくなった情報はあとから取り戻せないのです。

Log撮影は、この問題を解決するために考え出されました。Log撮影では、カメラのセンサーが捉えた光の情報を、できるだけ多く保持する形で記録します。そのかわり、撮ったままの映像はコントラストが低く、色も薄い、いわゆる「眠たい」画になります。まるで霧がかかったような、ぼんやりした映像です。

「なんだ、きれいじゃないじゃないか」と思うかもしれません。でも、これでいいのです。Log撮影の映像は、料理でいえば 下ごしらえが済んだ食材 のようなものです。見た目はまだおいしそうではないけれど、素材としての情報がたっぷり残っています。あとからどんな味付けにもできます。逆に、ふつうの撮影で得られる映像は「すでに味付けされた料理」です。そのまま食べるぶんにはいいですが、あとから別の味に変えるのは難しい。写真の世界でいうRAWとJPEGの関係にとてもよく似ています。

なぜ「Log」という名前なのか

Log撮影の「Log」は、数学の 対数(logarithm) に由来します。

人間の目は、明るさの変化を「等間隔」には感じません。暗いところでは少しの明るさの違いに敏感ですが、明るいところでは大きな違いがあってもあまり気になりません。たとえば、真っ暗な部屋でロウソクを1本灯すと劇的に明るく感じますが、すでに100本のロウソクが灯っている部屋にもう1本追加しても、ほとんど違いがわかりません。

カメラのセンサーは光を物理的な量としてそのまま記録するので、明るさの変化を「直線的(リニア)」に捉えます。しかし、このリニアな記録をそのままデジタルデータに変換すると、暗い部分に割り当てられるデータ量がとても少なくなってしまい、暗部の繊細なグラデーションが失われてしまいます。

対数(Log)は、この「暗部が少なく、明部が多すぎる」というデータの偏りを均すのに最適な数学的ツールです。Log関数で変換すると、暗い部分にも明るい部分にもほぼ均等にデータを配分でき、限られたデータ量のなかでできるだけ多くの階調(明るさの段階)を保存できます。

だから「Log撮影」という名前なのです。名前は難しそうですが、やっていることは「光の情報を、人間の目の感覚に近い形で、まんべんなく記録する工夫」にほかなりません。

カメラメーカーごとのLog

主要なシネマカメラメーカーは、それぞれ独自のLog形式を持っています。ARRIの ARRI Log C 、ソニーの S-Log3 、パナソニックの V-Log 、キヤノンの Canon Log 3 などです。名前はちがいますが、やっていることの基本は同じで、「対数を使ってセンサーの情報をまんべんなく記録する」という数学的な仕組みを共有しています。ちがうのは、パラメータ(設定値)や設計思想の細かい部分です。

たとえるなら、各メーカーが「おなじ原理のレシピを、自社のカメラの特性に合わせてチューニングしている」ようなものです。

Logからグレーディングへ

Log撮影で得られた「眠たい」映像を、最終的に美しい色に仕上げるまでの流れを見てみましょう。

ステップ1:素材を整える(カラーコレクション)

まず、Log映像を「見られる状態」にします。そのままではコントラストが低く色も薄いので、適切なコントラストと色味に整えます。この段階では、カット間の露出の統一やホワイトバランスの修正も行います。

ステップ2:色で物語を語る(カラーグレーディング)

素材が整ったら、いよいよ色の演出に入ります。このとき使われる基本的なツールが3つあります。

  • リフト(Lift) :映像の暗い部分(シャドー)の色と明るさを調整します。シャドーにティールを入れれば画面全体が冷たい印象になりますし、暖色を入れれば柔らかい雰囲気になります。
  • ガンマ(Gamma) :映像の中間の明るさ(ミッドトーン)を調整します。画面全体の「トーン」を左右する、いちばん影響の大きい操作です。
  • ゲイン(Gain) :映像の明るい部分(ハイライト)の色と明るさを調整します。ハイライトにオレンジを足せば、日差しの暖かさを演出できます。

この「リフト・ガンマ・ゲイン」は、カラーグレーディングの基本中の基本です。暗い部分・中間・明るい部分をそれぞれ独立して調整できるので、「暗い部分は青っぽく、明るい部分はオレンジに」というティール&オレンジのような表現が可能になります。

さらに、特定の色だけを選んで変えたり(たとえば空の青だけをもっと鮮やかにする)、画面の一部だけにマスクをかけて別の色調にしたり、高度なテクニックはいくらでもあります。プロのカラリストたちは、こうした操作を何十、何百と重ねて、あの映画独特の色を作り上げているのです。

LUTという「色のレシピ」

Log撮影の映像をグレーディングするとき、毎回ゼロから色を作るのは大変です。そこで活躍するのが LUT(ルックアップテーブル) という道具です。

LUTとは、ひとことでいえば 「色の変換表」 です。「この色が入ってきたら、この色に変換しなさい」という対応関係を、あらかじめまとめたものです。

身近なたとえでいうと、LUTは 料理のレシピカード のようなものです。「鶏肉+醤油+みりん+砂糖→照り焼き」というレシピがあれば、誰でも同じ味が再現できますよね。LUTは「この明るさのこの色→あの明るさのあの色」という変換のレシピです。

LUTの種類

LUTには、大きく分けて2つの使い方があります。

ひとつは テクニカルLUT です。これは、Log映像を標準的な見た目に変換するためのもので、カメラメーカーやソフトウェアメーカーが提供しています。たとえば「S-Log3で撮った映像を、ふつうのテレビで見られるRec.709の色空間に変換する」といったLUTがこれにあたります。下ごしらえされた食材を「とりあえず食べられる状態」にするレシピ、といったところです。

もうひとつは クリエイティブLUT です。こちらは、映像に特定の「ルック」(見た目の雰囲気)を与えるためのものです。「フィルム風」「ティール&オレンジ風」「レトロ風」など、あらかじめ誰かが作った色の変換レシピを、ワンクリックで映像に適用できます。スマホの写真フィルターの高精度版と考えるとわかりやすいでしょう。

LUTの仕組みをもう少し詳しく

LUTの中身は、じつはとてもシンプルな考え方でできています。

映像の色は、赤(R)・緑(G)・青(B)の3つの値の組み合わせで表されます。LUTは、「入力のR・G・Bの組み合わせに対して、出力のR・G・Bはこれ」という対応を記録したものです。すべての組み合わせを記録すると膨大な量になりますが、実際にはいくつかのポイント(格子点)だけを記録しておいて、その間は計算で補間します(中間の値を推測します)。

たとえば、33×33×33の格子点を持つLUT(よく使われるサイズです)は、赤・緑・青それぞれの軸を33分割した、合計35,937個のポイントを持っています。この格子点のあいだの色は、周囲のポイントから計算で求めます。この計算方法を 補間(ほかん) と呼び、精度の高い方法として 四面体補間 が広く使われています。

むずかしく聞こえるかもしれませんが、要するに「地図上の等高線と同じ発想」です。すべての地点の標高を測るのは無理ですから、いくつかの測定ポイントから中間の地点の高さを推測します。LUTもそれと同じように、限られたポイントの情報からすべての色の変換を導き出しているのです。

LUTの限界

LUTは便利ですが、万能ではありません。あくまで「決まった変換を一律に適用する」道具です。シーンごとの微妙な明るさの違いや、被写体の肌の色の個性には対応できません。だからプロのカラリストは、LUTを出発点として使い、そこから手作業で微調整を加えていきます。LUTだけで完成する映画はありません。LUTは「たたき台」であり、最終的な仕上がりはカラリストの目と感性に委ねられているのです。

カラーグレーディングの道具たち

カラーグレーディングに使われるソフトウェアとして、現在プロの世界でもっとも広く使われているのが DaVinci Resolve です。もともとカラーグレーディング専用のソフトウェアとして開発された歴史を持ち、ハリウッドの大作映画でも数多く使用されています。しかも、基本機能は無料で使えるので、興味がある人は実際に触ってみることもできます。

ほかにも、Adobe Premiere ProのLumetriカラー、Final Cut Proのカラーボードなど、映像編集ソフトにはカラーグレーディングの機能が組み込まれています。ただし、色の追い込みの精密さや操作の柔軟性では、DaVinci Resolveが頭ひとつ抜けているとされています。

カラリスト(カラーグレーディングの専門家)は、ふつうのマウスやキーボードだけでなく、カラーグレーディングパネル と呼ばれる専用のコントローラーを使うことが多いです。トラックボールやダイヤルが並んだこの装置で、リフト・ガンマ・ゲインを直感的に、同時に操作できます。料理人が包丁を手の延長のように使うように、カラリストはパネルを指先の感覚で操るのです。

ACES:映画の色の「共通語」

大きな映画の撮影現場では、複数のメーカーのカメラが同時に使われることがあります。ARRIで撮ったシーン、ソニーで撮ったシーン、REDで撮ったシーン。ひとつの映画の中にこれらが混在することも珍しくありません。それぞれのカメラは独自のLog形式と色の特性を持っていますから、そのままでは色がバラバラになってしまいます。

この問題を解決するために作られたのが ACES(Academy Color Encoding System) です。アメリカ映画芸術科学アカデミー(あのアカデミー賞の団体です)が開発した、映像の色を統一的に管理するためのシステムです。

ACESの考え方はシンプルです。まず、どのカメラの映像も ひとつの共通の色空間 に変換します。この変換を IDT(Input Device Transform) と呼びます。各カメラメーカーが「うちのカメラの映像をACESに変換するための設定」を提供していて、これで異なるカメラの映像がひとつの「共通語」に翻訳されます。

グレーディングは、この共通語の上で行います。どのカメラの映像も同じ条件で作業できますから、色の一貫性が保たれます。

最後に、完成した映像をそれぞれの上映先に合わせて変換します。映画館のスクリーン向け、家庭のテレビ向け、スマートフォン向け。それぞれディスプレイの特性がちがいますから、それぞれに合った変換が必要です。この変換を ODT(Output Device Transform) と呼びます。ひとつのグレーディング結果から、ODTを切り替えるだけで複数の配信先に対応できるのです。

ACESは、たとえるなら 世界共通の翻訳辞書 です。英語も日本語も中国語も、いったんACESという「共通語」に翻訳してから、出力先の「言語」に再翻訳する。カメラの種類がちがっても、上映先がちがっても、色の情報が正しく伝わります。

この回のまとめ

この回では、映画の色がなぜ現実とちがうのか、その裏側にある「カラーグレーディング」の世界をのぞいてみました。ポイントをふり返りましょう。

  • 映画の色は、意図的に作られている。 撮影後に色を操作し、作品の世界観や感情を色で表現する工程がカラーグレーディングです。
  • カラーコレクションとカラーグレーディングは別の工程。 カラーコレクションは「色を正しく整えること」、カラーグレーディングは「色で物語を語ること」にあたります。
  • ティール&オレンジが多い理由は、補色対比にある。 人間の肌の色相はオレンジ寄りで、その補色であるティールを背景に使うと人物が自然と際立ちます。
  • Log撮影は、色の自由度を確保するための記録方法。 対数を使って光の情報をまんべんなく記録することで、あとからの色調整に大きな余地を残します。撮ったままの映像は地味ですが、それは素材としての豊かさの証です。
  • LUTは「色の変換表」。 あらかじめ決められた色変換を一括で適用する道具であり、グレーディングの出発点として使われます。ただし、LUTだけで映画は完成しません。
  • ACESは、カメラとディスプレイのちがいを吸収する「共通語」。 複数のカメラで撮った素材を統一的に扱い、さまざまな上映先に対応するためのシステムとして、現代の映画制作を支えています。

映画の「色」は、脚本や演技、音楽と同じくらい、作品の印象を左右する大きな力を持っています。次に映画を観るときは、ぜひ画面の色に注目してみてください。「この青はなぜここにあるのだろう」「この暖かい色はどんな気持ちを伝えたいのだろう」。そう考えながら観ると、映画がもうひとつ、ちがった角度から楽しめるはずです。

Read more

Dependabotの対応が面倒なのでRenovateを導入する

Dependabotくんはある程度の依存関係の更新を通知してくれるが、山のようにprojectを抱えているとなんとも痒いところに手が届かない。 ということで、Renovateを使ってみる。 Build software better, togetherGitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.GitHub ここからGitHub Appを入れる。 あとは、指示に従ってポチポチするだけで、超かんたんだった。 感想 自動化最高。

By Sakashita Yasunobu

nodejsのバグを見つけたのでPRを投げてみた

概要 要するに、node --testで特定のバイナリを標準出力に書くと、テストランナーが固まったり、異常終了したりするバグです。 バグ自体は既知のものだったようで、修正がされていました。 test_runner: infinite loop in FileTest#drainRawBuffer when child stdout contains FF 0F followed by large size bytes · Issue #62693 · nodejs/nodeVersion v25.9.0 (also reproduced on v24.14.1 LTS, v22.21.0 LTS, v23.4.0) Platform Darwin 25.

By Sakashita Yasunobu
青空文庫のParser

青空文庫のParser

青空文庫のParserを作ってます。 GitHub - P4suta/aozora: Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks.Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks. - P4suta/aozoraGitHubP4suta Rustで作ってますが、配布物はcargoのほかにnpm/pypiでも入手できます Documentation * Playground — try it in

By Sakashita Yasunobu