ガンマが分かりにくいから調べました

ここ最近「ガンマ」について出来る限り正しく理解しようとして調べた内容を制作ノートとして共有したいと思います。また個人的には調べていても、最も分かりにくかった内容が「ガンマ」だった様な気がします。実体験として感じにくい存在だからかも知れませんが、納得がいくまでメチャクチャ時間がかかりました。

僕は物理学的な内容やエンジニア的な機械工学の詳細まで理解出来てないので、実際に映像制作をする上で知識としてガッテンがいくところまでの理解としての制作ノートで勘弁してください。何か記載に誤解を招く内容や間違った内容があれば、コメントにてご指摘いただければ再度調べ直してアップします。

今回の内容は、

  • なんとなくガンマを理解すること
  • マスタリングしている環境に合わせたガンマを使うことが良いということを理解すること
  • ビデオのシグナルの持つガンマ値とディスプレイガンマが一致している必要があることを理解すること

という3点になります。

ガンマ = 変換関数

ガンマとはアナログ値とデジタル値をどのように変換するかを決めた数学的な関数です。これによって一定の物理的な量がデジタルの実体を持たない数値へと変換されたり、またはその逆がおこります。累乗計算を使った関数を「べき関数」と呼ぶらしいですが、それのことです。つまり2.2やら2.4やら書いてありますが、あれは数学的な計算式の累乗の部分だけを簡易的に見せて感覚的に分かりやすくした工夫だと思います。

EOTFやOETF(トランスファーファンクション)とGoogleでタイプするとHDR制作の話しか出てきませんが、例えばガンマエンコーディングはOETFの一種です。ノンリニアなガンマカーブを使って映像を収録します。これとは違いディベイヤーせずにRAWで記録した場合はリニア収録なのですが、編集の段階で何かしらのガンマカーブを使ってノンリニア化した上でオフライン編集します。

LOGもガンマエンコーディングですが、ディスプレイに依存したガンマの逆数ではなく、あくまでフィルムのルックを模倣する意図をもって作られたガンマなのでポスプロでガンマ補正をしてディスプレイで適切に見えるようにする作業があります。多くの場合LUTを使います。(修正 2017/09/09)

またOETF(またはEOTF)は特定の光度をデジタルシグナルの数値をで表現すること(またはその逆)を目的としているため、関数でグラフ図にして見ることが出来ます。

EOTFの様に電子シグナルを光に変える変換はディスプレイガンマとも言います。

ディスプレイガンマ(EOTF)
RGB値が[25,25,25]の時には、これくらいの明るさ(ほとんど黒に近い)にして画面を光らせる、
RGB値が[200,215,205]の時には、これくらいの明るさ(ほとんど白に近い)にして画面を光らせる、

という風に、シャドウ、ミッドトーン、ハイライトに記録されている動画の出力値をどれくらいの光の明るさ(光度)にするかを決めた関数です。最近ではこのEOTFのディスプレイガンマにPQやHLGなどが増えました。

理論から説明しても分からないので、制作している上での疑問から遡ります。

何故ガンマが必要か?

実物の風景はパソコンなどに映る風景よりも極端に明るいです。ですが人間の目のダイナミックレンジがとても広いために実際に、風景を目で見ても暗いところから明るいところまで見ることが出来ます。

カメラはダイナミックレンジが人間の目よりも狭いです。ビットレートも現在収録スピードに限界があったり、データ量もストレージがいっぱいになってしまうためにビット深度も8-10bitです。

つまり明るさの階調を実際に目で直接見ることが出来る階調よりも狭い階調を使って、目で見たときと同じ印象になるように工夫して収録して、それをモニターで見せる技術が必要になります。モニターも現在はほとんどが最高輝度が100nit (SDR) 前後のモニターか、それよりも少し明るいTVなどですが、実際の風景よりもずっと暗いです。そのために同じ印象を残しつつも、狭い輝度レンジで映像を表現する必要があります。そのために役立っているのが「ガンマ」です。

なぜディスプレイのガンマ値が違うのか?

まず最初にわかっていることは、デバイスによってガンマ値が決まっているということです。

  • sRGB = PCモニター/現在のMac = 2.2
  • Rec 709 = HDテレビ = 2.4
  • DCI-P3 = 劇場 = 2.6

それがそもそも何故かというのはガンマがどのように働くかを知れば解決します。

設定されているガンマ値が小さい = 映像を見ている場所の環境光が明るい、ということを考慮しています。

つまりガンマ値が違えば画面の明るさが変わるということです。PCを見ているのはスタバみたいなカフェだったり明るいオフィス、TVを見るのは仕事が終わって家に帰ってきてからの夜のリビング、映画を見るのは真っ暗な劇場の中、という風に環境光がどんどん暗くなっていくに連れてディスプレイのガンマ値も大きくなっています。
ディスプレイのガンマ値を考える際に覚えておくことは以下の通り。

  1. ディスプレイのガンマ値が小さいほど中間色の出力値の光度が強くなります。つまり明るく見えます。
  2. ガンマは一切白と黒には影響を与えません。
  3. ガンマは白と黒以外のほぼ全てに影響を与えます。

PRORES422などのビデオレンジでの動画ファイルの白はRGB値がそれぞれ235(8bit)の場合、その画面の持つ輝度の最も明るい白で表現されます。黒はRGB値が全て16(8bit)の場合、ピクセルが表すことの出来る最も暗い黒で表現されます。ただし、それらはガンマによって直接影響を受けません。真っ白と真っ黒の間の色は全てガンマ値が違えば画面に表現される光度が変わります。

真っ黒の度合いなどはモニター技術やコントラスト比に差があることで分かるようにに、各デバイスによって表現出来る黒が違います。白はYUV変換した時点で最大値が235 (8bit)になりますが、RGBのフルレンジでグレーディングしている際などは255 (8bit)が白になります。

動物的な性質ですが人間の目は暗い環境にいるほど、微妙な明るさの変化にも敏感になるそうです。(考えてみればそんな気がします)そのため劇場で中間色の光度が高すぎると眩し過ぎると感じたり、体感的に画面の暗い部分(シャドウ)が浮いて見えます。そのために敢えてガンマ値を高くして、真っ暗な劇場でもスクリーンに映るシャドウがしっかり暗く見える様にしています。逆に明るい環境にいるとガンマ値を低くしておかないと、画面が暗くてシャドウが潰れているように見えます。これは環境光に負けて見えづらくなることを防ぐためです。つまり映像を見ている環境(またはデバイス)に依存しているのがガンマ値です。

もちろん動画は書き出す際にガンマ値を決めて書き出します。そのため一つの動画がデバイスによって自動的にガンマ値を変えるというようなものではありません。そのため2017年現在は、動画を劇場で流すためにはガンマ値2.6に、TVで放送するにはガンマ値2.4に、そしてWEBへアップロードする際にはガンマ値2.2にして書き出さなければいけません。

ガンマカーブ無し = 光にリニア変換するとどうなるか?

デジタル信号の数値を光にリニア変換するようなEOTFを使うと暗い部分の変化に割り当てられていた階調が明るい部分へと移動してしまいます。以下の写真のうち左はリニア変換した場合、右はガンマ補正した場合の結果です。PCはガンマが2.2で決まっているため、リニアなままの写真は全体的に暗く印象を受けます。ガンマエンコーディングされた写真は自然に感じます。


参照:UNDERSTANDING GAMMA CORRECTION

ガンマカーブは人間の視覚が持つ特性を最大限に活かすことが出来るため非常に理にかなった技術だそうです。これはブラウン菅のテレビ時代には技術的に無くてはならないものでしたが、今でもそれが使われているというのはただ技術的な遺産というわけでは無いみたいです。

実務を行う上での適切なガンマ値について

パソコンで映像編集をしている方

パソコンのモニター(PCもMacも)を使って編集されている方は、もちろんモニターに映し出された映像を見ながら編集しますが、その映像にはすでにガンマが適応されています。大抵の場合パソコンを使って編集しているためガンマ値が2.2の環境で作業しています。もしくは暗い部屋で編集作業をされている方は、PCモニターのガンマ値を2.4にマニュアルで変えて作業しているかもしれません。もしくは暗室でプロジェクターを使って作業しているカラリストはガンマ値2.6を使って作業するかもしれません。

そして最終的に書き出す際に、視聴環境に合わせてガンマ値を変換したタイムラインを書き出します。DaVinci ResolveのRCM(Resolve Color Management)を使えばこの作業が非常に簡単に行うことが出来ます。もしくはタイムライン全体のノードにDaVinci Resolveに入っているエフェクトを使ってガンマ値を変換することも可能です。

作業する際のディスプレイモニターのガンマ値は何に設定するのか?

上にも書きましたが、例えばWeb動画の制作案件をグレーディングする際、最終的な納品はsRGBのガンマ値2.2ですが、マスタリングをする環境が暗い部屋の場合はモニターディスプレイのガンマ値と作業しているソフトウェアのアウトプットシグナルのガンマ値を2.4で作業しても問題ありません。そしてグレーディングが終わって書き出す際に初めて、アウトプットシグナルのガンマ値を2.2に変換して書き出すことで実際の視聴環境に合わせることが可能です。

マスタリング環境と視聴環境は室内の明るさが違う場合もあります。ディスプレイのガンマ値を2.2に設定して暗い部屋でグレーディング作業すると、感覚的に眩しく見えるために中間色のコントラストをあまり絞らない可能性があります。そうすると明るい屋外やカフェで同じ映像をPCや携帯で見た時に意図していた以上に明るい映像に見える可能性があります。実際に視聴者が見る環境と作業環境は明るさが違う場合がたくさんありますので、自分の作業に適したガンマ値を設定することが大切です。

ガンマ補正とは?

ガンマ補正という言葉は分野によって様々な定義が出てきたので、これが一番正しいとかは分からないのですが、出来る限りにシンプルにいって「エンコーディング>グレーディングのビデオシグナル>ディスプレイガンマがそれぞれ適切に処理されて、正しく映像として表示出来るようにすること」がガンマ補正と言えるのでは無いか、と思います。

参照にさせていただいた記事

以下のリンクの中には僕がここで書いた制作ノートなんかよりもずっと細かく詳しい説明をしてくれているものがあるので、そちらを読んだ方が正しい理解が身につくかと思いますが、今回はあくまで個人的に疑問から遡っていきながら書いた記事になっております。

About YUV Video
Understanding Luminance and Chrominance The full-blown Panasonic GH5 Guid
What is Display Gamma and Gamma Correction?
UNDERSTANDING GAMMA CORRECTION
ガンマについて
ガンマとニー
第7回 "曲線美"が色再現性の決め手になる?――液晶ディスプレイの「ガンマ」を知ろう
第21回:「Maya 2017 カラーマネジメントに必要な知識」

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

    コメント

    • まだコメントはありません