よく質問に頂く10Bitフォーマットの映像って何がいいの?というもの。私なりの理解をまとめてみたいと思います。
比較動画
とりあえず、先日アップロードした8Bit/10Bitの画質比較動画も併せてどうぞ。
そもそもLogとは
Bitの話をする前に切り離せないのがLogの話です。そもそも10Bit撮る意味のほとんどはLogでカラーグレーディングをする事が前提だからです。
高校の時に習ったあのLogです。いわゆる対数と言われるもので1の光の量を1として記録し、4の光の量を2として記録そして16の光の量を4として記録するような感じです。(後述の様に実際のLogガンマカーブはそんな単純なものではないですが、大雑把なイメージです。)つまり1を1、2を2として記録するのではなく、明るくなればなるほどにデータを間引くという方式で、「限られた箱(Bit数)に多くの光の情報を効率よく詰め込む」手法です。
そもそも人間の目は暗い所の明るさには敏感であっても、ある一定の照度を超えるとその差には鈍感になる性質があります。暗い中では少し明るさがちょっとでも増えれば「明るくなった」と認知できるのに対して、十分な明るさの中では明るさが変化しても変化を感じにくいのです。この様に、明るい所は少々情報を間引いても人間は認知できないので情報を間引くという処理を行うことで、Logガンマは効率良く広い輝度情報を8Bitなり10Bitの箱に情報を納めようというものです。
Logのガンマカーブ
実際のガンマカーブを見てみます。
今回参考にさせて頂いた技術仕様はVARICAMのホワイトペーパーで、そのV-Log仕様を引用しています。
https://pro-av.panasonic.net/jp/cinema_camera_varicam_eva/support/pdf/VARICAM_V-Log_V-Gamut.pdf
このホワイトペーパーによると被写体の反射率とV-Logの出力コードの関係は下記の数式で表現されています。
out = 5.6*in+0.125 (in < cut1 )
out = c*log10(in+b)+d (in >= cut1 )
cut1 = 0.01, b=0.00873, c=0.241514, d=0.598206
なんのこっちゃですが、inは被写体の反射率。つまり相対的な照度と捉えて良いと思います。この数式を見て気づくのは反射率が1%未満と1%以上で扱いが変わる点です。反射率1%未満だとリニアで1%以上だとLogカーブを描きます。(2行目の数式に基数10のLogが記載されていることが分かります。)
outはV-Log記録される際のコード値を示しています。初めはこの数式の通りに計算してもこのpdfに記載されているコードにならん。。。と理解不能でしたが、このoutに10Bitの最大値1024を掛け合わせたものが10Bitコードになります。(そもそもin=0だと出力は0.125なわけでして、V-Logの最低出力コードの128と合致しないのは当たり前でした。すぐ気づかないアホです。)
てなわけでこの数式を10Bitコードにしてinとoutの関係をグラフにしてみます。横軸はinは0~40(4000%)を表示しています。
所謂、標準露出と言われるものが18%の反射率なのでこのグラフで言うと、ほぼ左端のその18%のポイントがあり、その際の出力コードは10進数で書くと433です。特徴的なのは反射率が200%を超えたあたりからかなりグラフがひん曲がっていて、かなり寝たカーブとなっていることが分かります。つまりここから明るい側に割り振られているコード数は低照度に比べて圧倒的に少ない事がわかります。
次にこのグラフの反射率をEVに軸を変換したものを下図に示します。(0EV=18%、1EV=36%、2EV=72%...としているだけです。)尚、このグラフでの赤いラインはS1Hで撮影可能なレンジ範囲です。※スポット輝度メーターのMax.とMin.表示よりプロット
普段カメラの露出に慣れている人は、こっちの方が分かりやすいかもしれません。横軸はEVなので1EV上がれば照度は都度倍になっているので基数を2にした片対数グラフという事になります。(って表現あってるのかな。。。)
この見方をすると線形になるので、先ほどと同じように明るい側になればなるほど、光量の絶対値に対するコードの重みが無くなっていくということになります。そう表現するならやっぱり一枚目のグラフの方が理解しやすいのかも。。。。
※尚、V-Logは照度ゼロで128となり、18%グレー(0EV)に対するコードは433となります。また最大コード値は+8EVまで規定されていることになりますが、現実的にはそこまでの高飽和なカメラは今現在は存在しません。S1Hでは-8EV~6.3EV
せっかく作ったので一応表にもしておきます。
※一部近似式から算出しているため少し誤差が生じているかもしれません。
反射率 | EV | IRE[%] | 10Bit Code |
0.070% | -8 | 7.8 | 132 |
0.141% | -7 | 8.2 | 136 |
0.281% | -6 | 9.2 | 144 |
0.563% | -5 | 11 | 160 |
1.125% | -4 | 15 | 192 |
2.250% | -3 | 20 | 240 |
4.500% | -2 | 27 | 299 |
9.000% | -1 | 34 | 364 |
18.000% | 0 | 42 | 433 |
36.000% | 1 | 50 | 505 |
72.000% | 2 | 58 | 579 |
144.000% | 3 | 67 | 652 |
288.000% | 4 | 75 | 727 |
576.000% | 5 | 84 | 801 |
1152.000% | 6 | 92 | 875 |
2304.000% | 7 | 100 | 950 |
4608.000% | 8 | 109 | 1024 |
さらに縦軸をIREに変換したものもついでに載せておきます。
トーンを弄るときに特に意味がある
すげー前置きが長くなりましたが、ここから本題です。 この表からも低照度側にコードを多く割り振って、明るい照度には割り振りが少ない事がわかります。例えば照度(反射率)が1.125%から18%に上がった時のコード差分は241ありますが、照度(反射率)が1152%から2304%に上がってもそのコード差分は75です。
要はこのコードが仮に8ビットでしか表現できないとすると何が起きるかというと、全てのコードが1/4になる。ということが言えます。コードの絶対値も差分も1/4になります。
8Bitと10Bitはビットの差分としては2Bitですが、あくまで二進数表現ですのでその情報量は1:4となります。
ネットで共有される映像をはじめとして、ほとんどの映像は最終は8Bitで表現されるものですので8Bitで撮影された素材のトーンを弄ると多かれ少なかれ劣化が起きます。その際に問題になるのは特にハイライト側です。
前述の様に明るいトーンは間引かれているという表現をしましたが、この間引きが8Bit素材では不利に働きます。明るい側は差分が見えにくいとは言え、ディスプレイに限られた照度で映し出された映像では十分識別可能なレベルになってしまいます。
つまり明るい側のトーンを弄ると中間を表現するデータを失ってしまいトーンがジャンプする(段差になる)ことが起きます。スチルではトーンジャンプと表現しますが、映像ではバンディングという言葉が一般的の様です。
10Bitで撮影した素材は最終出力が8Bitに対して4倍の情報量をもっているため少々トーンを弄っても映像が破綻することがありません。なので最終的にはかなり極端にトーンを弄らない限りは素直に8Bitに納める事ができるという理解をしています。
とは言えデメリットもある。
じゃあ、なんでもかんでも10Bitで撮ればいいのかと言うと、そうでもありません。下記の場合は10Bitで撮ってても無駄遣いになるかと思います。
・微妙なトーンが不要な場合
・10Bitでの色調整する環境が無い
・そもそも撮って出しでいい
世の中にはそこまでの画質が不要なケースは多々あると思いますし、PC環境もそれなりにパワフルなものが必要となってくるし、10Bitファイルに対応しているのはDaVinciは有償版のみです。(まぁ、無償版で10Bitグレーディングする裏技もあるけど)そしてなにより絵の調整、補正の必要がない、通常ガンマで撮って出しをする場合は10Bit素材の意味はほぼ無いと思います。
要は適材適所なんだろうと思います。
10Bit収録可能なカメラ
最近は10Bitで撮影できるカメラがかなり増えてきました。10Bit収録可能な主要なカメラを記載致します。
◆LUMIX GH5(H.264内部4K30p10Bit撮影可 V-Log L撮影は要アップグレードキー)
・ GH4/GH5/G9用アップグレードキー DMW-SFU1
◆LUMIX GH5S(H.264内部4K30p 10Bit撮影可 V-Log L プリインストール)
◆LUMIX G9(H.264内部4K30p10Bit撮影可 V-Log L撮影は要アップグレードキー)
・ GH4/GH5/G9用アップグレードキー DMW-SFU1
◆FUJIFILM X-T3 (H.265時内部10Bit撮影可)
◆BMPCC4K(ProResによる10Bit Logガンマ撮影および.BRAW撮影可)
【国内正規品】 Blackmagic Design シネマカメラ Pocket Cinema Camera 4K マイクロフォーサーズマウント 4K/60p収録 CINECAMPOCHDMFT4K
- 発売日: 2018/09/26
- メディア: エレクトロニクス
◆BMPCC6K(ProResによる10Bit Logガンマ撮影および.BRAW撮影可)
◆LUMIX S1 (H.264時内部10Bit撮影/V-Log撮影は要アップグレードキー)
・S1専用アップグレードキー DMW-SFU2
◆SIGMA fp(外部SSD使用時CinemaDNG撮影可)
◆FUJIFILM GFX100 (H.265時内部10Bit撮影可)
◆LUMIX S1H(H.265による6K24p/5.9K30p/4K60p本体内10Bit及びH.264による4K30p撮影可 V-Logプリインストール)
以上の他にNikonのZ 6/Z 7が外部RAW収録可能にするアップデートサービスも開始しています。RAWなのでおそらく12Bitリニア記録なはずです。
とりあえず、かなり書こうと思っていた内容からズレてしまいました。そもそもVARICAMのホワイトペーパー見ながら表計算ソフトと睨めっこしてる時点でだいぶこのエントリの方向性が変わってしまいました。。。次回はもうちょっと感覚的な話にしたいとおもいます。(てか、やっつけで大学のレポート書いている気分になった^^;)
全体を通じてかなり私の思い込みで書いている部分があるかもですので、何か間違っている場合はコメント頂ければと思います。
ではまた次回