みなさん、こんにちは。内田です。
このページではLOG映像を活用した映像製作について、今後、数回にわたりLOG映像について解説をしたいと思います。
- そもそもLOG映像って一体どういうものなのだろう?
- LOG映像で映像製作を行いたいが、何をどうすれば良いのだろう?
- LOG映像を活用して映像制作をしているけれど、今一つ効率やクオリティが上がらない・・・
といったお悩みや疑問をお持ちの方々にお答えしていければと思っています。
- 第一回 各種カメラの階調特性のグラフを見てみよう
- 第二回 そもそもLOGって何?
- 第三回 LOG映像は何故眠い? その1 シーン・リファード画像?アウトプット・リファード画像?
- 第四回 LOG映像は何故眠い? その2 何らかの変換=レンダリング
- 第五回 LOG映像は何故眠い? その3 S-Log2/S-Log3を徹底解剖
- 第六回 IDTとは? 主なカメラのダイナミックレンジを大公開!
※講座の内容は変更になる可能性があります。
みなさん、こんにちは、内田です。
みなさんは映像制作におけるLOG映像についてどのようなイメージを持っていらっしゃるでしょうか?
- ダイナミックレンジが広い、ハイライトが飛びにくく、シャドーがつぶれにくい。
- 眠くて彩度が低いし、適正露出がわかりにくい。
- 最終仕上がりがイメージできないので照明が決められない。
- LOG映像を利用してみたいけれど、ワークフローをどのようにハンドリングすれば良いかがわからない。
という声が多く上がるのではないかと思います。
そこで今回は、みなさんがイメージする「LOGを使うとダイナミックレンジが広い」ということを説明しながら
「そもそもLOGとは何か」について掘り下げていきたいと思います。
0~100までの整数(101ステップ)で表現する方法を考えてみましょう。
照明の数と同じ0~1000までの整数が使えれば、使用する照明の数をそのまま明るさとすれば良いのですが
約1/10の量の数値で表すにはどうすればよいのでしょうか?
ちなみに照明の灯数(=明るさの絶対値)に比例した数値で表現することを「リニア」といいます。
このように、照明を10灯単位で整数に割り当てることで
1000灯の明るさを0~100の整数で表現できるようになりました。
ところが、私たちがはっきりと認識できる0灯から10灯までの
明るさの違いが省略されてしまって表現できていません。
(もちろん、10灯から20灯の間も同様の問題がありますね。)
その一方で、人間にはほとんど認識出来ない990灯と1000灯の
違いに99と100という異なる数値表現を割り当てています。
どうやら明るい方の数値表現に無駄がありそうです。
照明の数そのものを整数に割り当てることで10灯以下の明るさを
表現できるようになりました。
その代わり、100灯以上の明るさは101灯も1000灯も同じ整数100に
割り当てられて違いが表現できなくなってしまいました。
「それを回避するために明るい情報を犠牲にせざるを得ないこと」という二つの問題点が起こることが
おわかりいただけたかと思います。
この二つの問題点を解決するために「LOG」の概念が登場します。
まずは簡単な例で考えてみます。
照明を1灯点灯します。次に、照明を1灯増やして2灯にすると倍の明るさになりますね。
ところが、さらに1灯増やして3灯にすると、明るくなったとは人間は知覚しますが、明るくなった程度は
1灯→2灯に増やしたときより、かなり小さく感じられます。
1灯→2灯の明るさ変化と、2灯→3灯の明るさの変化は同じとは感じられないのです。
では、何灯に点灯すれば1灯→2灯の変化と同じ程度に感じるでしょうか。
答えは、4灯です。2灯→4灯に増やすと、1灯→2灯の明るさ変化と同程度に知覚されます。
要は、「明るさが2倍に増えた」ということを「相対的に同程度の変化」と感じているのです。
LOG(対数)の数値表現は、まさにこの「何倍の変化」というものを足し算で表現したものです。
上記の例を数値的に見てみると、1灯はLOGで0、2灯はLOGで0.3、4灯はLOGで0.6となり、
1灯→2灯はLOGで0.3増加、2灯→4灯もLOGで0.3増加、と同じ量変化していることがわかります。
この同じ量の変化が同じ幅の変化に知覚されるというところがLOGのポイントです。
それではLOGの考え方で0灯~1000灯の照明の明るさを表現して
みましょう。0~100の整数表現を、(LOG10(照明の数)+1)/4*99+1
という式で表してみます。
0~10灯の間を51ステップで表現でき、かつ1灯よりも暗い明るさを
25ステップで表現できていることがわかります。
一方で、99で表される911灯から100で表される1000灯の間は
表現できません。しかし、991灯と1000灯の変化を倍率に直すと
約1.1倍となり1の0.1灯と2の0.11灯の倍率とほぼ同じになります。
そのため人間の知覚としては同程度の差を表現していることが
わかります。
それでは今までの話をグラフで見てみましょう。
次のグラフは、横軸を照明の数、縦軸を1~100の整数で表したものです。
リニアA(青)は0灯から1000灯の全領域を表せていますが
暗い領域の灯数が荒っぽくなってしまっています。
暗い領域の灯数の表現を重視したリニアB(赤)は、
100灯~1000灯までの違いを表現できなくなっています。
(ハイライトが飛んでいる、サチると同じです。)
一方、緑色のLOGは0~1000までカバーできているように見えますが、すごい曲線になっています。
これで大丈夫なのでしょうか。
それでは今度は、横軸をLOG(=対数)にしたグラフで確認してみましょう。
LOGスケールとなっているので、人間の感覚に近い軸になっています。
LOGの緑色が直線になっていることは、人間の感覚に比例した表し方になっていることを意味しています。
特徴的な点として、
-
照明の数が1灯以下の領域にも十分に整数が割り当てられていること。
-
同時に100灯以上の明るさにも整数が割り当てられていること。
- 暗い領域から明るい領域まで均等の精度で数字が振られていること。
階段状のステップが、どの領域をとっても同じであることがわかります。
これは誤差が全領域に均等に分散されており、整数の精度を有効に
使用できていることを意味します。
一方のリニアは、大きな曲線で
「人間の感覚とずれていること」「リニアAでは10灯以下が割り当てがない」「リニアBでは100灯以上の割り当てがない」
など大きな問題を抱えていることがわかります。
精度に関しても
「コードバリュー60以上は階段上ステップが見えないくらい誤差が小さくなっている」
一方、コードバリュー10以下については
「階段状ステップが横に間延びしており、コードバリュー1相当の明るさ変化量が大きい」
これらのことにより精度が不足していることがわかります。
このようにLOGを活用すると、暗い領域の精度を十分維持しつつ、かなりの明るさまで表現できることがわかります。
これが「LOG映像がダイナミックレンジが広い映像に適している」と言われる理由です。
今回は0~100までの整数で考えてみましたが、明るさの絶対値で表現する「リニア」の場合でも、
整数の数を増したり、浮動小数点を使用すれば精度の高い表現は可能です。
(階段状のステップを除去することは可能です)
ですが、映像制作で一般的に使用されている10bitの画像の場合、0~1023の間の整数しか使えません。
このような制約がある場合に、LOGのメリットが出てくるのです。
次回は、今回の続きで「LOG映像は何故眠い?」について考察したいと思います。お楽しみに。
内田氏プロフィール
自称、映像システム設計のお困りお助け士。コンシューマーフォトからスタートし、Cineonが発表される前、1995年頃から
LOG映像を使ったシステム設計に携わる。現在は、手間隙かけずにカメラの性能を引き出した絵作りができるような
ソリューションの実現に心血を注いでいる。