ほぼ固定ビットレートに近い挙動を一時期示していたTOKYO MXのMPEG-2エンコーダですが、今週からまた以前の設定戻ったのではないか? という噂が耳に入ってきたため、簡易的に確認してみた。
なぜそれを選んだかというと、第5話と第6話のOPでGOPシーケンスと3-2プルダウンシーケンスがいずれも同一という比較にもってこいの幸運な映像ストリームであるためで、それにより各同一フレームで同じI/P/Bピクチャが適用され、ピクチャタイプの違いによる差異を殆ど考慮せず画質およびストリームサイズの比較がしやすいためだ(厳密にいえばOP最後のサブタイトルテキストが異なる)。
さらに言えば、動きと静止を小気味よく扱っている映像であるため、動き部分と静止部分両方の確認もしやすい。
なお、土曜の再放送分はGOPシーケンスが異なるため、比較には適さないものの、ピクチャタイプが異なるとどう変化するのか分かり易いので、それを考慮したうえで見比べるのも面白いかもしれない。
結果はというと、右に掲載したBitrate Viewerのグラフが示すとおり、今週からは動かない部分で積極的にビットを端折り(40秒~付近のタイトルロゴカット等が分かり易い)、動き部分はバッファを考慮しつつQP値を少しでも改善できるようビットを振る癖が見受けられ、ほぼ以前の挙動に戻ったといって良さそうではある。具体例をいくつか示すと、タイトルロゴカット(あまり動きのない部分)のIピクチャは、第5話でQPを1や2へ積極的に落としてできる限りビットを振りつつ高画質化しようとするが、第6話(再変更後)はIピクチャをQP3程度で十分な画質だと判断してとどめる傾向が如実に出ている(P/Bピクチャにも似たような傾向が見られる)。
さらに第6話の再変更後は、「瞬時的」な動き部分でほんの少しビットを多く充てる傾向があるため、瞬時的な動きや輝度・色の変化にQP値をあまり上げずに済む癖もある。
以下は、同一フレーム・同一GOPシーケンス・ピクチャタイプ(ここではBピクチャ)の各マクロブロックのQP値を表示した画像であり、推論証明のため当たり障りの無さそうな部分を1枚だけ参考引用させていただいた。
これは、タイトルロゴのあと春虎が現れて一瞬だけ白くフラッシュするフレームで、第5話では輪郭部(やや高周波成分寄りのブロック)にビットをあまり振れないためQP値が10まで上昇しているが、第6話(再変更後)はQP値上昇が8程度に抑えられており、瞬時的にはやや多くビットを振って画質劣化を少しでも防ごうとする挙動が見てとれる。
最後に、OP部分のストリームサイズ(総容量/ビットレート秒)は──
と、動かない部分での積極的なビット削減効果が出ている(OP前後に異なる映像が数フレーム入っているため時間長を考慮すると1%程度の数値誤差は考慮すべきだが、それでも明らかな差といえる。量子化行列にも変化はない)。
あまり動かない部分の画質は以前(一時期)の設定のほうが若干良いものの、MPEG的には「如何に上手く端折るか」というのも技術の見せどころではあるので、どちらが良い(好み)かは個々の観点で意見が分かれるのではないだろうか。
個人的には、重箱の隅を突くような比較をすれば違いはわかるけれど、ボーッと観ている限りではそれほど気になる差でもない(そもそもMPEG-2の画質に過度な期待はしていない)ので、であればストリームサイズの小さいほうが保存するうえでストレージのキャパ的に優しいかな、とは思う。
記事内容とはあまり関係がないのですが
記事中にある「マクロブロックのQP値を表示した画像」は
どのようなソフトを使用して表示させているのですか?
教えて下さい
> tkさん
ffdshow を使用しました。
> POPさん
ありがとうございます。
そこから先は自分で調べて試してみます。
> tkさん
すでに気付かれているかもしれませんが、可視化→量子化チェックで表示可能です。
動きベクトルなども表示できるのでエンコーダの特徴が大雑把ながら見えてきておもしろいかもです。