このページの本文へ

エンコードテクニック虎の巻 第5回

マルチパスエンコード(VBR)を極める!【可変ビットレート編】

2008年06月11日 21時00分更新

文● 藤山 哲人

  • この記事をはてなブックマークに追加
  • 本文印刷

同ビットレートでのCBRとVBR画質比較

 まずはCBRとVBRでエンコードした映像を見比べて欲しい。

 見ればお分かりの通り、固定ビットレート(1パスCBR)1,000kbpsでエンコードした映像より、格段にブロックノイズが減っているのが分かるだろう。
 そこで先日エンコードした固定ビットレートの画質と比較してみたい。瞬間を切り取って調べるのは邪道だが、ソレを言ってると記事にならないので、その辺りはご容赦いただきたい。
 なおサンプルの映像はAviUtlに読み込ませ、表示している。これはムービー全体のどの辺りかを示すのと、ウィンドウタイトルにある[数字/数字]のコマ番号を示すためだ。

※注意:文中の各コマに割り当てられているビットレートやキーフレーム位置、キーフレームや差分データのコマ数は、筆者がエンコードしたファイルを元にしています(上よりダウンロードできるファイル)。個々にエンコードしたファイルは、まったく同じ数値にはなりませんのでご注意ください。 

左がVBR 1,000kbpsの映像、右がCBR 1,000kbpsの映像

 違いは歴然。このシーンは、止め絵がパカパカと切り替えられるシーンでMPEGにとって辛い部分だ。VBRではこのコマに1217kbpsを割り当てている。また第1回で説明したが、このコマをキーフレームとして設定しているようで、後のコマのブロックノイズも少なくなっている。CBRはこのコマに1,095kbpsを使っている。
 次のシーンは、MPEGが苦手な水物(霧)、そして動く文字、さらに星の粒子だ。

左がVBR 1,000kbpsの映像、右がCBR 1,000kbpsの映像

 CBRは明らかにビットレート不足(このコマのビットレートは1,168kbps)だが、VBRはキレイなグラデーションが出ている。VBRはこのコマの4コマ前から、1,052、1,228、1,431kbpsと高いビットレートに切り替え、このコマでは2,195kbpsを割り振っている。したがって、CBRでも2,000kbpsでエンコードすると左と同じぐらいの画質になるということ。
 そして動きが少なくビットレート稼ぎどころのシーン。

左がVBR 1,000kbpsの映像、右がCBR 1,000kbpsの映像

 VBRは直前のコマがキーフレームとして記録され1,186kbps、このコマは差分のみをエンコードしているので1kbpsしか使ってない!
 いっぽうCBRはコンスタントに1,000kbps(このコマでは1,075kbps)を使っても、左頬のあたりにノイズが乗っている。もちろんCBRにもキーフレームがところどころ入っているのだが、1パスでエンコードしてしまうため、キーフレームの入れどころが分からない。その点VBRはあらかじめ映像を調査しているので、適宜にキーフレームを入れてくるというわけだ。
 次のシーンは、ビットレート稼いだ直後のシーン。

左がVBR 1,000kbpsの映像、右がCBR 1,000kbpsの映像

 映像が数コマでフェードインしててくるため、CBRはキーフレームの入れどころが分からず(おそらく8コマ前に入れている)、差分データ(386kbps)でなんとかしようとがんばっている。VBRは数コマ前にキーフレームを入れており、このコマでは416kbpsしか割り当てていないが、キレイな映像になっている。
 このシーンは映像がフェードインしながら刀を振り下ろすシーン。バックの炎はMPEGが苦手なグラデーション系でかつ、前後にも激しいシーンが続く。

左がVBR 1,000kbpsの映像、右がCBR 1,000kbpsの映像

 数コマVBRは数コマ前から2,383、3,095、3,094kbpsを割り当て、このシーンでは3,057kbpsを割り当てているので、画質の差が歴然としてくる。一方CBRは、1,272、1,812、1,590、1,416kbpsを割り当てているがディテールまで描画できなった様子だ。
 ラストはまったく動きのない最後のタイトルシーン。

左がVBR 1,000kbpsの映像、右がCBR 1,000kbpsの映像

 画質はまったく同じだが、VBRは36kbpsしか使っていないのに対して、CBRは87kbpsを利用。さらにVBRは前後にキーフレームをほとんど入れておらず36kbps程度のデータ量しか使ってないが、CBRは今後も絵が動くかもしれない!という不安に駆られ時折985kbpsも使ってキーフレームを入れている。

 さて冒頭で「瞬間を切り取って調べるのは邪道だ」と述べたことがお分かりだろうか? 画面全体をデータ化するキーフレームを適宜埋め込んでいくと、その直後のコマの映像は差分データでもじゅうぶんに高画質となる。VBRの強みは、シーンに応じてビットレートを高低させるだけでなく、1パスの映像調査でキーフレームの入れどころを押さえているところにあるのだ。
 ちなみにCBRは、そのフレームを読み込んではエンコードしていくので、数コマあとにどんなシーンが待ち受けているわからない。そのため変なところにキーフレームを入れてしまって、なんとか差分データで乗り切ろうとするため、映像の劣化が起こりやすいのだ。
 なおCBRとVBRで使われている、キーフレームのコマ数と、差分データのコマ数は次の通りとなっていた。

レートコントロール キーフレーム数 差分フレーム数
CBR 573コマ 3,092コマ
VBR 602コマ 3,063コマ

(次ページへ続く)

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

ASCII.jpメール アキバマガジン

クルマ情報byASCII

ピックアップ