このページの本文へ

前へ 1 2 3 4 5 6 7 次へ

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

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

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

文● 藤山 哲人

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

 先日は始終決まったビットレートでエンコードする、固定ビットレート(CBR)の解説をした。今回はワンランク上の可変ビットレート(VBR)を使ってエンコードしてみよう。
 固定ビットレートの最大の弱点は、ビットレートが常に一定なので、動きの激しいシーンではブロックノイズが出まくり、動きのないシーンではビットレートを無駄に消費(とはいえ、無駄にキレイにエンコード)される点だ。つまり、無理・無駄があるのが固定ビットレートなのだ。
 いっぽう可変ビットレートは、動きの激しいシーンではビットレートを自動的に高く設定し、動きのないシーンではビットレートを低くする。とはいえ、全体を平均すると、指定したビットレートに近い値となるようにエンコードされるため、ファイルサイズもほぼ目標値になるというものだ。つまり、無理・無駄を少なくして、ビットレートに“ムラ”を取り入れるのだ。
 同じビットレートであれば、固定ビットレートに比べ可変ビットレートの方がブロックノイズが発生しづらく(自動的にビットレートを高くするため)、かつファイルサイズも見極められる。可変ビットレートは、テレビ番組などをエンコードして、保存するには最適な方法なのだ。

動きに緩急がないとVBRも歯が立たない

 VBRにしただけで画質が向上するように思えるかも知れないが、シーンの動きに緩急がないと効果がない。講演会の映像を固定カメラで撮影したような映像では、VBRにしても画質改善がのぞめないのだ。
 VBRが最も効果を発揮するのは、動きのない濃厚なラブシーンと爆発・アクションシーンが混じった映像だ。始終爆発しっぱなしの映像じゃぁ、ビットレートを低くしてデータサイズを稼げるところがない。こうなるとCBRでエンコードしても一緒なのだ。
 またVBRの画質は、動きのある映像か否かにかかってくるのも特徴。最近のロボット系アニメは、毎週ロボットのアクションシーンがガンガン展開されるわけじゃなく、話によっちゃ~1話まるまる人間ドラマって場合もある(アニメファンにはお分かりですな「マクロスF」っすよ)。多分ドラマでもそうだろう。
 したがってVBRで同じビットレートを指定しても、話によっては画質が変わってくる。まったり人間ドラマの話であれば高画質にエンコードできても、次週のラストボスとの戦闘がきれいにエンコードできるとは限らないのだ。
 画質を一定にしようと思うなら、話の内容によってビットレートを+500~1000kbps(あるいはそれ以上の場合も)する必要がある。

高画質なVBRだがエンコード時間は倍かかる

 CBRは別名「1パスエンコード」と呼ばれる。またVBRは別名「2パスエンコード」や「マルチパスエンコード」などと呼ばれる。エンコードで言う“パス”とは、元の映像を頭から尻まで処理することだ。
 ここまでの実験をした読者はすでにお分かりの通り、CBRでエンコードした場合AviUtlに表示されるプレビューは1回のみ。映像の先頭から末尾までを1回読み込んだだけで、ムービーが出力される。
 かたやVBRは、最低でも2回エンコードを行なわなければならない。このためエンコード時間が、CBRの2倍かかるのだ。

・1回目のエンコード
 映像全体の動きや細かさを調べて、ビットレートを高めにするシーンと低めにするシーンを調べる。これを「1パス目」のエンコードと呼んでいる。

・2回目のエンコード
 1パス目のエンコードで調べた結果を反映しながら、実際に出力するムービーのエンコードを行なう。2パス目ではじめてムービーが出力される。

 「マルチパスエンコード」は、3回以上エンコードを繰り返すこと。CBRでエンコードしたときもそうだったが、出力されるファイルサイズをピッタリ理論値にするのは非常に難しい。そこで偉い人は考えた!

 極わずかにビットレート加減して、エンコードすれば、そのうち理論値に近いムービーが出力できるだろう! と――。

 「ヘタな鉄砲も数打ちゃ当たる」作戦である! 筆者のように「1kBは1,000Bでも1,024Bでもいいじゃん!」的な人は、3パス以上は不要だ(1kBで24Bの誤差があるが、200MBになると誤差は4.8MB)。1kBは1,024Bと信じて疑わない方は、3パス以上にチャレンジしてみて欲しい。

AviUtl&DivXのマルチパスエンコード

 では実際に、エンコードして実験してみよう。素材は、先日利用した「いつか、届く、あの空に。」の動きの激しい方“itusora_ps2_op2”を使ってみよう。
 止め絵で構成されているため、シーンの切れ目では動きが激しく、キャラクター紹介ではほとんど止め絵と変わらないので、緩急のある映像と言っていいだろう。

1)AviUtlを起動しファイルを読み込む

読み込み直後
上下の黒帯のカットや画面サイズも調整もしておこう

 上下16ピクセルをカットして、出力するムービーサイズを640×448ピクセルにする。

設定終了後
これで黒帯のカットは終了

(次ページへ続く)

前へ 1 2 3 4 5 6 7 次へ

この特集の記事
最新記事

ASCII.jp特設サイト

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

ASCII.jp RSS2.0 配信中

水着美女×ガジェット=大正義

ピックアップ

デル株式会社