Navigation Log - なびろぐ -
2005/03/21

...X680x0 spirit inside...

この日記はGNSで生成しています。
この日記の画像はOPTPiX webDesigner Ver.4で生成しています。

hauN
Go amazon.co.jp

■ご注文リストから■ [一覧]
■Amazonギフト券■ [購入]
孤独のグルメ Season6 Blu-ray BOX [DVD]
孤独のグルメ Sea...
Amazonほしい物リスト


2005/03/21 (月) 晴時々曇

VBR (PC, MOVIE)

_ VBR。オーディオエンコーダで使われる「VBR」と、ビデオエンコーダで使われる「VBR」は、かなり意味の違う使われ方をしているので、注意。

_ あるデータを圧縮すると、ストリームサイズが小さくなる・・・のは言うまでもない。もちろん、どれくらいになるかは、圧縮してみるまでわからない。

_ 「ストリームサイズは問わないので、このくらいの品質でやってくれや」というのが、第一のパターン。可逆圧縮(ZIPとかLZHとか)なら常にこれ。非可逆な圧縮の場合、たとえばJPEGは普通これになる。DivXエンコーダなんかでも「Quality-Based」とか「QBR」とかいわれるのがこれ。TMPGEncの「固定品質(CQ)」もこれ。

_ 「理論最大で指定のストリームサイズに収まるように、品質パラメータを指定する」のが、第二のパターン。理論最大なので、これよりストリームサイズが短くなることがありうるが、このときは残りを「意味のないデータで埋める」ことで、都度ストリームサイズを固定する。いわゆる「CBR」がこれ。

_ 第二のパターンで、「意味のないデータで埋める」ことをしなければ、ストリームサイズは小さくなるよね・・・というのが、第三のパターン。映像をリアルタイムエンコード録画するときに「VBRモード」があったら、これ。

_ 「理論平均で指定のストリームサイズに収まるように、品質パラメータを指定する」というのが、第四のパターン。よーく考えると、実はこれは第一のパターンと同じ。「理論平均のストリームサイズ」を「品質パラメータ」にテーブル変換していると考えれば、わかるかと。「理論平均」じゃなく「理論最大」にテーブル変換すれば、第三のパターンと同じともいえる。

_ 「まず1回圧縮してみて、その結果から『この部分はこの品質で圧縮するとこれくらいのサイズになる』というデータを得て、それに沿ってもう1回圧縮する」というのが、第五のパターン。「ファイルサイズを指定して保存するJPEG」がこれ。またDivXやTMPGEncの2passエンコードもこれ。「Variable Bit Rate」というよりは、「Variable Quality」と言ったほうが適切かも。

_ 「VBRのほうが品質がいい」というのは、「データの傾向によって細かくビットレートを調整する」からではない。「CBRにはサイズ合わせのために常に無意味なデータが埋まっている」からにすぎない。上に5つのパターンを挙げたが、「第二のパターン」以外のすべてを「VBR」と呼ぶ可能性があるので、ひとくくりにしないよう注意。「指定ストリームサイズの範囲内で最高品質が得られる」という意味での「真のVBR」は、第五パターンのみ。代償として「試行と逆算のために余分な時間がかかる」のは不可避。

_ さて、LAMEのABRやVBRはどれだろう。ABRは・・・「今までの圧縮実績から次のフレームの品質を自動算出する」というのは、第六のパターンになるのか・・・総合的には「圧縮後のストリームサイズに応じて品質を変える」のだが、局所的に「必要な部分に多くのストリームサイズを割く」ということは不可能か。

_ 対してVBRは・・・「指定した品質でフレームを圧縮してみて、上限・下限を超えちゃったら品質をずらしてやり直し」かな。ということは、どっちにしても「指定ストリームサイズの範囲内で最高品質が得られる」という意味での「真のVBR」ではないわけか・・・2passでエンコードするMP3エンコーダって聞いたことないしな・・・。

_ なお今回のLAMEの調査には「最初から説明するInside MP3」の「フレームヘッダ出力プログラム」を使っている。これを使うと、「CBR以外のエンコードをしたときに、どこのフレームがどのくらいのストリームサイズで圧縮されたか」がわかる。


[Trackback/Comment]
2005/03/23 00:58:10 LAMEのnspsytune2がそうなる予定でしたが、作者が匿名と闘争モードに入ってお蔵入りになりました。>2passでエンコードするMP3エンコーダ (C-yan)




メールはこちらへ...[後藤浩昭 / Hiroaki GOTO / GORRY / gorry@hauN.org]

「表紙へ戻る」
「会議室」 「最新版」 「なびろぐindex」 「GNSソースを読む」