このページ、YouTubeの色問題について書いているうちに中身が膨らみすぎて溢れてしまった情報をとりあえず退避した状態です。体裁が整っていない部分が多々ありますが、追々更新してゆきます。しばらく更新しない予定です。
この不体裁な状態でももしかすると誰かの役に立つ情報になるかもしれないので、一応公開しております。
映像のガンマ値とは
そもそも映像に「ガンマ補正」がかけられている理由は、初期のテレビに使用されていたCRT(cathode-ray tube いわゆるブラウン管)の物理特性により、電気信号の入力に対して光の出力がリニア(直線的)ではなかったからです。CRTの電気信号入力-光出力の特性は、図1の赤線のような形だったので、予めカメラからの出力に図1の青線のような補正をかけてやることで、CRTに映し出される映像が赤紫破線のようにリニアに表示されるようにしました。
図1のような場合、映像信号はガンマ値0.45が掛かった信号なので「ガンマ値0.45の映像」と言いたいところなのですが、ほとんどの場合表示装置側のガンマ値を用いて「ガンマ値2.2の映像」と表現されます。このことが、話をややこしくする要因のひとつだと思っています。
ハイビジョンになる前のSD映像で用いられていたNTSCという規格では、CRTの表示ガンマが2.2程度という前提で、その逆のガンマ0.45(1/2.2≒0.45)がカメラガンマとして使用されていました。今風に記述すると、OETFのガンマが0.45、EOTFのガンマが2.2、それらを掛け合わせたシステムガンマ(トータルガンマ)が0.45×2.2≒1、つまり「リニア」になるということになります(実際の表示は完全なリニアではなかったようです)。
このガンマ補正には、CRTの非線型特性を打ち消す他にもメリットがありました。暗い部分の信号を持ち上げて放送し、CRT表示時に元の明るさに戻る過程で、伝送中に混入したノイズも一緒に下がる効果(ノイズリダクション)が生まれます。デジタルの時代になっても、このガンマ補正のおかげで暗部の階調が細かくなるメリットがあります。
人間の感覚は対数に比例します(ウェーバー・フェヒナーの法則)。例えば10gの重りと20g重りの違いは手で持ってすぐに区別がつきますが、1010gの重りと1020gの重りの差はなかなかわかりにくいものです。音量の表示に使われる単位dBも、人の感覚に合わせて対数で表しています。
映像の場合も、暗い部分はきめ細かく記録しないと荒さが目立ってしまいますが、明るい部分はわりと大雑把でも気になりません。
映像信号が、チャンネルあたり8bit(実質約200諧調強)でも見た目が破綻せずに成立しているのは、このガンマ補正がかかっているからです。もしガンマ補正をかけずリニア信号のまま記録するならば、見た目の品質を保つためには16bit程度は必要になってしまいます。
余談ですが、非圧縮音声ファイルを「リニアPCM (Linear Pulse Code Modulation)」と呼びますが、ひと昔前はリニアではないノンリニアPCMもありました。音声も十分な品質を得るためには16bit程度の精度が必要なのですが、衛星放送の伝送レートや記録メディアの制限(Hi8ビデオのPCM音声やDATのLPモード、DVテープの4chモードなど)により、8bitや12bitで扱われることもあったのです。当時は音声圧縮技術が十分ではなかったことや、放送ではアナログ伝送の映像(遅延なし)と音声の同期の関係で圧縮による遅延も問題になることから、単純にbit数を減らしたりサンプリング周波数を低くすることで伝送レートを下げていました。
リニアのまま低bit数にしてしまうと、量子化ノイズ(音がざらざらした感じに聞こえます)が目立ってしまいます。ノンリニアPCMは、人間の聴覚に合わせ、小音量部分は細かく、大音量部分は荒く量子化する手法であり、映像の量子化bit数がガンマカーブのおかげで節約できていることと、まさに同じ理屈です。
BT.709とは
BT.709は、「国際電気通信連合 無線通信部門(ITU-R)」で勧告(Recommendation)された放送サービス(Broadcasting service (television) : BT)に関する709という規格」の略です。Rec.709やITU-R 709などいろいろな書き方をされますが、ここではBT.709と表記することにします。
BT.709のタイトルは「Parameter values for the HDTV standards for production and international programme exchange」です。ざっくり日本語で表現すると、「ハイビジョン(高品位)テレビのための標準規格」です。規格書は、下記URLで読むことができます。このページ作成時の最新版は第6版(BT.709-6)です。
参考URL: https://www.itu.int/rec/R-REC-BT.709/en
BT.709では、色域やガンマなどについては「Opto-electronic conversion」、つまりカメラによる撮像時(光を電気信号に変換する関数、Opto-Electronic Transfer Function略してOETF)のことしか決められておらず、モニターでの表示(電気信号から光に変換する関数、Electro-Optical Transfer Function略してEOTF)についての決まりはありません。
BT.709のOETFは、以下のように記されています。注釈(1)の内容まで読み進めてしまうと答えがわかってしまうのですが、ひとまずそこはスルーしてください。
Overall opto-electronic transfer characteristics at source(1)
V=1.099L0.45 – 0.099 for 1≧L≧ 0.018
V =4.500L for 0.018>L≧0
where:
L : luminance of the image 0≦L≦1
V : corresponding electrical signal
(1) In typical production practice the encoding function of image sources is adjusted so that the final picture has the desired look, as viewed on a reference monitor having the reference decoding function of Recommendation ITU-R BT.1886, in the reference viewing environment defined in Recommendation ITU-R BT.2035.
引用元:https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.709-6-201506-I!!PDF-E.pdf Rec. ITU-R BT.709-6 Opto-electronic conversion
曲線部分は0.45乗ですが、暗部はゲイン4.5倍の直線領域があり(そうしないと限りなく0に近い信号のゲインが非常に高くなってしまいます)、オフセットが付いています。グラフにすると図2の赤線のようになります。
図2には、ガンマ0.45(緑線)とガンマ0.51(青線)のカーブも記載しました。ご覧の通り、BT.709のカーブはガンマ0.51のカーブに近似しています。つまり、BT.709の映像は、ガンマ0.51の逆のガンマ1.96(1/0.51≒1.96)のモニターで表示することで、システムガンマは1(0.51×1.96≒1)となり、ほぼリニアに表示されます。これがまさに、Macのカラーマネージメント環境下にてBT.709映像を再生した時の状態です。
先ほど引用した「Rec. ITU-R BT.709-6」を再び引用します。赤文字にした注釈(1)に書かれている通り、 ITU-R BT.1886で勧告されているリファレンスモニター(ガンマ2.4)を使用して望ましい見た目に仕上げるというのが映像制作業界のスタンダードです。つまり、Macでのカラーマネージメントは、映像業界のスタンダードとは異なるわけです。
Overall opto-electronic transfer characteristics at source(1)
V=1.099L0.45 – 0.099 for 1≧L≧ 0.018
V =4.500L for 0.018>L≧0
where:
L : luminance of the image 0≦L≦1
V : corresponding electrical signal
(1) In typical production practice the encoding function of image sources is adjusted so that the final picture has the desired look, as viewed on a reference monitor having the reference decoding function of Recommendation ITU-R BT.1886, in the reference viewing environment defined in Recommendation ITU-R BT.2035.
引用元:https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.709-6-201506-I!!PDF-E.pdf Rec. ITU-R BT.709-6 Opto-electronic conversion
BT.1886(Reference electro-optical transfer function for flat panel displays used in HDTV studio production )は、下記リンク先で読むことができます。
参考URL: https://www.itu.int/rec/R-REC-BT.1886/en
BT.1886の中身を大雑把に要約すると、「フラットパネルディスプレイを用いたマスターモニターも、みんなが使い慣れた昔のCRTマスターモニターそっくりの特性にして使いましょう」という勧告です。
長らくハイエンドの映像制作現場に君臨していたCRTマスターモニター(百万円以上!)の表示ガンマは2.4であり、クリエイターたちはそのモニターを基準に色調整などを行っていたので、結果的にそれがデファクトスタンダードとなっていました。そのため、液晶や有機ELもCRTの特性を真似てガンマ2.4で表示しましょう、となったわけです。
なんだかややこしい感じに思われるかもしれませんが、「HDTVの映像制作では、ガンマ0.51に近似できるカーブ(BT.709)で映像をエンコードし、モニターではガンマ2.4でデコードして見ましょう」という、非常に単純な話なのです。
しかし先にも書きました通り、映像のガンマを表現する際に「エンコードしたガンマ値」ではなく「その映像をデコードするガンマ値」で呼ぶ習慣が災いして、BT.709はガンマ1.96ですとか、(SD時代のビデオ信号の名残で)ガンマ2.2ですとか、ガンマ2.4などと言われるため、混乱をきたす方が多くいらっしゃるのではないかと思います。
Macの問題点
映像制作の現場的には、「BT.709の映像はガンマ2.4のビデオモニターを基準として作業しなければならない」のに、「MacでBT.709の映像を表示するとガンマ1.96相当で表示されてしまい、スタジオのビデオモニターより少し明るく見えてしまう」ということが、問題と言われています。
ここからは個人的な考えなのですが、これ自体は「特に問題はないのではないか?」と、考えています。
映像制作現場では、暗い編集スタジオ環境でガンマ2.4のマスターモニターを見ながら作業します。しかし、パソコンで一般視聴者が映像を見る環境は、オフィスであったりリビングであったり、編集スタジオより明るい場面が多いと思います。明るい場所で映像を見る場合には、システムガンマはやや低めの方が好ましのです。
とはいえ、これではプロの映像制作に使いにくいではないか!」という声はごもっともです。ましてや、Final Cut Pro Xのような「映像制作で用いられるソフトでの表示」が、映像制作のスタンダードに沿っていないとなると、とても困ったことになります。おそらく、そういった困ったことに対応するために、Davinci Resolveに BT.709-Aが追加されたり、Adobeのコミュニティフォーラムで「ガンマバグに対応するLUT」が公開されたりしているのだと思います。
AppleがBT.1886と同等の表示結果が得られるようなカラーマネージメントの設定を用意してくれれば、そういった問題はほぼ解決できます。しかしそれはなかなか実現しないようにも思います。
ところで、パソコンで画像を扱う際の標準規格とも言える「sRGB」は、色域はBT.709と同じで、ガンマ値が2.2に近似しています(BT.709と同じく、暗部に直線部分があります)。このガンマ2.2は、テレビ(時代的にHDTVではなくNTSCだと思われます)のガンマに由来しているそうです。Mac以外の多くのパソコンモニターはsRGBに準じており、パソコンの世界では標準と言っても良い規格です(ただし、全てのディスプレイにてsRGBが正確な色味で表示されているとは限りません。廉価な製品は色再現性が悪いです)。
そして、MacはOSレベルでカラーマネージメント環境が整っていますが(それが災いして今回取り上げているBT.709動画再生の色調問題が起きているのですが)、Windows環境は未だ完全な対応とは言いにくい状況です。おかげで、BT.709の映像をプレーヤーやYuTubeで再生すると、特に何もカラーマネージメントが施されずに接続されたモニターに表示されます。そのことから、Abobe Premiere Proのユーザーガイドには下記のような記述があります(赤文字部分)。
カラーマネジメントを有効または無効にするには、次の表を使用します。
タイムライン 表示 カラーマネジメントを無効にした場合の表示 カラーマネジメントを有効にした場合の表示 Rec. 709 Rec. 709 表示に問題ありません 表示に問題はありませんが、必須ではありません Rec. 709 P3 表示が色飽和しています 表示に問題ありません Rec. 709 sRGB 表示が少し色あせています。YouTube 視聴者の sRGB ディスプレイに表示されるものと一致します。 ミッドトーンは Rec. 709 に一致しますが、シャドウの詳細の一部が失われる可能性があります* 引用元:https://helpx.adobe.com/jp/premiere-pro/user-guide.html/jp/premiere-pro/using/color-management.ug.html Premiere Pro のカラーマネジメント
BT.709の映像を、sRGB(ガンマ2.2)のディスプレイで見ると、システムガンマは約1.12となり、システムガンマ1.22となるBT.1886に沿ったマスターモニターで見るよりもほんの少し中間部が持ち上がり明るめに表示され、「表示が少し色あせた」ように見えます。Windows環境を使用するYouTube視聴者の多くはこの状態です。
なお、Premiere ProのカラーマネージメントをONにすると、BT.1886と同様にガンマ2.4で表示されます。しかし上記の引用箇所に書かれている通り、8bit精度でsRGB表示向けにカラーマネージメントを施すと、ビット数が足りず暗部の諧調が欠落します。しかしながら、中間調の雰囲気は、BT.1886にそったモニターでの表示とほぼ同等の結果が得られます。
Macにおいても、Premiere ProのカラーマネージメントをONにした際の表示はBT.1886にそったガンマ2.4での表示になります(表示の正確さはモニターの性能に依存します)。
図3は、BT.709の映像を、BT.709の逆特性(BT.709(Scene)と表記)・ガンマ2.2・ガンマ2.4で表示した際のシステムガンマを数式で「Apple Grapher」に入力し、グラフ化したものです。
BT.709(Scene)で表示した場合は、オレンジの実線のようにシステムガンマは1になります。ガンマ2.2で表示すると青の実線のように少し暗くコントラストがついた状態になります。このときのシステムガンマは、BT.709(OETF)のカーブの近似値ガンマ0.51を用いて、0.51×2.2≒1.12と求められます。
HDTVの制作現場での標準であるガンマ2.4で表示すると、緑の実線のようにさらに暗くコントラストがついた状態になります。このときのシステムガンマは、0.51×2.4≒1.22と求められます。
色々と書きすぎてわかりにくくなってしまいましたが、結論を書きますと、
BT.709の映像を扱う場合、HDTVの標準制作環境を基準にした場合、
・BT.1886に沿ったマスターモニターやそれに準じるピクチャーモニターやテレビでのガンマ2.4での表示 【図3 緑の実線】
→HDTV本来の映像で確認できる。(表示精度は機器の性能に依存します)
・Windows環境(sRGB)などガンマ2.2での表示 【図3 青の実線】
→HDTV本来の映像よりも少し中間調が持ち上がって、わずかに明るく色あせた表示になる。
・Mac環境でOSのカラーマネージメントが効いてガンマ1.96で表示されている状態 【図3 オレンジの実線】
→ガンマ2.2での表示よりも更に中間調が持ち上がって、より明るく色あせた表示になる。
ということになります。「色あせた」と表現していますが、これは並べて比べてみたときにそう見えるということであって、先入観を持たず、明るい環境でMacにてYouTube動画を単体で見た場合、「これは色あせてるなぁ」とは、あまり感じないと思います。
機材協力:くつした企画