GH2で176Mbit GOP1

October 14, 2011
ひさしぶりにPanasonic DMC-GH2の記事。最近ずっと忙しくて自分で何か撮ろうとかいう時間が持てないです。先日までのCM地獄はなんとか乗り越えたのですが、その間お待たせしていた仕事があって目下そちらに注力しております。主にキーイングとプロジェクションマップの日々...。11月になればもう少し時間もとれそうな気がするんですが。

そんな中、EOSHDに「Panasonic GH2 gets AVCHD Intra at 176Mbit!」という記事が掲載されました。

EOSHD.com - Panasonic GH2 gets AVCHD Intra at 176Mbit!
http://www.eoshd.com/content/4452/gh2-gets-avchd-intra-at-176mbit

AVC-IntraじゃなくてAVCHD-Intraです。思いっきりパチモンぽいネームですね。少し前からPersonal-View.comというGH2のハックフォーラムで話題になっていたDriftwood氏のPtool用1GOPパッチを用いてAVCHDでGOP1記録するというもの。ちなみにGH1/GF1時代にもGOP1設定が話題になったのですが、当時は私的にMJPEG 4:2:2が熱かったので試していませんでした。

GOP1というのはすべてをIフレームで記録するということです。AVCHDに限らずMPEG4は、通常IフレームとPフレーム、Bフレームによって構成されています。IフレームはJPEGの静止画のように一枚の画の中で圧縮(正確には符号化)をかけます。これに対してPフレームとBフレームは前(あるいは前後)のフレームを参照して圧縮をかけます。すごく粗っぽく言ってしまえば、前後のフレームを観て流用出来るピクセルは流用しちゃおうというのがP/Bフレームだと思ってください。このときその基準(キーフレーム)になっているのがIフレームです。

当然ながらP/Bフレームは画質の劣化を伴うのですが、フレームのデータサイズが小さくなるので、その分Iフレームにより多くのデータを使うことができます。よってIフレームの画質があがり、それを参照するP/Bフレームの画質も上がることになるので、適度にこれらのフレームを混ぜることで少ないデータ量で全体の画質をあげるというのが目的です。

今回EOSHDに取り上げられているパッチは、データのビットレートを上げてすべてをGOP1で記録しようというもの。GOP1にすることで、データの転送量は増えますが、MPEGが必然的に抱えていたP/Bフレームによる画質の低下を避けようという目的です。Panasonicは業務用にAVC-Intraという規格があり、Iフレームのみで記録することができたわけですが、このパッチがそれをもじってAVC"HD"- Intraというわけです。あくまで記録は8bit-4:2:0です。

Iフレームしかないということは各フレームで画像が完結しており、GOPに依存せずに編集が行なえるということと、ストレージのデータ転送量さえ確保できれば非常に軽快な編集作業ができるということ。また動きの早い被写体などで高画質化などが期待ということです。

...で、このパッチ、実は私がPersonal-viewで公開されたときに既にあてていたんですが、先にも書いた通り忙しくてきちんと試してなかったんです。その後何回かアップデートされていたようなので、最新のパッチにして試してみたんですが...なんというか暗部で非常にノイズが目立つんです。しかもグレイン系じゃなくてアーティファクト(ブロックノイズ)が....

推測なのですが、Iフレームは前述の通りJPEG画像の集合みたいなものなのでフレーム内圧縮のみで構成されます。つまり176Mb/sといえども(176Mb/sの帯域を使い切った場合でも)、24Pで撮影した場合は一枚あたり7.3Mb/sで、バイトに換算すると0.9MByte弱しかありません。本物のAVC-Intraは10bit-4:2:2で100Mbということを考えると、エンコーダーの処理がフレーム内圧縮だけを想定して設計されていないというのもあるかもしれません。

ここで、折角なので以前紹介した記事「Kodak vs Technicolor...」を書いた時にちょっと気になっていたことを試してみました。

TechnicolorのEOS用プロファイルはLog記録を実現していたわけですが、Logだと8bitのダイナミックレンジだとちょっとキツいですし、エクステッドレンジ(スーパーホワイト/ブラック)まで含めるとあまり意味ないんじゃないかなーと思ってました。Panasonicではプロファイルでカーブなどの細かい設定ができないですし、Logって言ったってTechnicolorほどの技術的な蓄積もリファレンスもない状態では単にそれっぽいってだけです。

そこで、チャートがあれば誰でも測定できるガンマのリニア化やってみました。要はリニアとガンマ2.2ののグレースケールのグラデーション使って簡易測定しただけなんですけど。先に結論書いちゃうと、GH2のプロファイル設定じゃ完全にリニア化できませんでした。パナソニックさんにはせめてガンマ設定項目とか3wayのカラー設定を付けていただきたいところです。

スムースプロファイルのすべての項目を「-2」にして+3EV。あとは色温度の設定を使って強引に合わせていきました。我ながら緩い...

これで暗部領域の露光を増やしてノイズの低減などを試みたのですが、8bitでリニアガンマである以上、絶対どこかを犠牲にしないと行けないわけで、今回はハイライト側をかなり犠牲にしてます。忙しいさなかに突発的に始めたので(普通はデスクの整理とかマグカップ磨きとかですけど)、なんかどんどん緩ーくなっていくのですが、もうこの際ハイライト側は忘れようってことで。


まずは通常の露光(EV+-0)で撮影した状態で逆ガンマかけてみた画像が下のもの。

Screen shot 2011-10-13 at 1.48.58 PM.jpg
暗部のノイズがこんな感じで出ています。ISOは800(だったと思う)。

Screen shot 2011-10-13 at 1.53.08 PM.jpg

次にカスタムプロファイルとの比較。左がカスタムプロファイルです。

Screen shot 2011-10-13 at 4.06.17 PM.jpg
ノイズの比較。下がカスタムプロファイル。

Screen shot 2011-10-13 at 4.09.51 PM.jpg

強引だけど、カスタムプロファイルにガンマ2.2を適用してみる。左がカスタムプロファイル。

Screen shot 2011-10-13 at 4.16.52 PM.jpg
拡大図。下がカスタムプロファイル。

Screen shot 2011-10-13 at 4.24.11 PM.jpg
もっと詰めていけば色々面白いとは思うんだけど、とりあえず思いつきで始めたことなので今回はこれまで。今度はもう少し実際の作例で紹介してみたいと思います。忙しいのになにやってんだか...(笑)


[関連記事]
HyperDeck ShuttleとGH2
EOSHD.comがGH2用のファームプリセット公開
GH2で176Mbit GOP1で撮影したムービー
Panasonic DMC-GH2のHDMI出力