WMV9(Windows Media Video 9)の設定
Windows Media Video 9 VCMを利用して映像を圧縮するための設定の紹介です。CODECによって得意不得意があるので、いろいろ試して使い分けてみるほうがよいかもしれません。ただし、このWMV9はGeneric MPEG-4ではないので、これで作成したAVIファイルはWMV9対応を謳っていないネットワークプレーヤーなどの家電では再生できないので注意しましょう。
Pre-processing
- Source mode
- 編集ツール側でインターレースを解除するのであればEncode progressive framesを、CODEC側でインターレースを解除するならばDe-interlace frames and encodeを使います。インターレースを維持したまま処理したければEncode interlaced framesを使ってください。インターレースを維持するならば、正しく1st line topか1st line bottomかを指定しなければなりません。ソースと逆に設定してしまうと再生時にカクカクすることでしょう。
- インターレースを維持したまま作成したデータは、Windows Media Player 6.4(mplayer2.exe)での再生には向きません。再生時にプログレッシブ化が行なわれないためです。できるだけ新しいWindows Media Playerを使うか、別のプレーヤーで再生しましょう。
- Frame rate downsampling
- フレームレートの変更です。通常は1:1のまま使用してください。フレームレートを変更したい場合でも、CODEC側で行なうより編集ツール側で行なうべきです。
- Resize to
- 映像のサイズを変更します。これもCODEC側で行なうよりも編集ツール側で行なうべきものなので、通常は使いません。リサイズのアルゴリズムはBilinearとBicubicの2種類で前者は処理速度・縮小処理に、後者は拡大処理に優れています。
- Enable cropping
- 画面の上下左右の不要部分をクリッピングして取り除きます。これも編集ツール側で行なうことができるので通常は使いません。
Compression
- Encoding mode
- One-pass CBR
- ビットレートを指定した値に固定して1回で処理を行ないます。圧縮に最低限必要なデータ量を確保できない場合には映像が破綻するのでビットレートの設定には注意が必要です。
- WMV9ではビットレートを指定する際には注意が必要です。ビットレートが不足すると映像がブロックノイズで破綻するCODECが多い中で、WMV9はビットレート不足時にフレームレートを削るという特性があります。30fpsのデータが25fpsになるとか、24fpsのデータが16fpsになるなどの現象が起こるわけです。
- Two-pass CBR
- ビットレートを指定した値に固定して2回で処理を行ないます。1回目の処理ではLog fileのFirst passで指定した作業用ファイルに映像の情報を収集し、2回目の実行時には収集した情報を利用して処理が実行されるのでOne-pass CBRより高画質に圧縮を行なうことが可能です。ビットレートが不足すると映像が破綻するのは同様なので注意しましょう。
- One-pass quality VBR
- Quality levelで指定した品質に必要なビットレートを常に割り当てて、常に一定の映像品質で圧縮していくモードです。品質は数値が大きいほど高画質になります。シーンによって必要なデータ量が変化するため、処理が終わるまでファイルサイズがわかりません。画質を優先してファイルサイズを気にしないのならばこのモードを使うとよいでしょう。
- Two-pass bit rate VBR
- ビットレートを最終的に指定した値になるようにシーンごとのビットレート割り当てを調整しながら2回で処理を行ないます。1回目の処理ではLog fileのFirst passで指定した作業用ファイルに映像の情報を収集しておき、2回目の実行時には収集した情報を利用してシーンごとに必要なビットレートを割り振りながら圧縮していきます。動きが少なくてデータ量が少なくて済むようなシーンは割り当てを減らし、動きの激しいシーンにはより多くのビットレートを割り当てることで、CBR(固定ビットレート)に比べてかなり画質の向上が望めます。希望するファイルサイズに収められる中で限界の品質を求めるならこのモードを使ってください。
- 1pass目を実行時にはLog fileを1passのほうを選び、作業用のファイル名を指定します。2pass目を実行するときは、2passを選んで1pass目で作成したのと同じ作業用ファイル名を指定してください(読み込ませるため)。なお、1pass目と2pass目は、編集ソフト側が同一の設定のまま実行する必要があります。設定が変わるとデータの割り振りが適切に行なえず、画質が若干低下することでしょう。
- Two-pass bit rate VBR(Peak)
- 基本的にはTwo-pass bit rate VBRと同じですが、ビットレート割り当てに上限を設定できる部分が異なります。ストリーミングやDVDからの再生など、再生環境が時間単位でのデータ読み込み量に制約があるようなケースで使用するモードです。
- Bit rate
- 映像の圧縮時に、1秒あたりどれだけの量のデータを使ってよいのか(bit par second)を指定します。ビットレートから出力サイズの目安を知りたい場合や、目標サイズから適切なビットレートを逆算したいのであれば、ビットレート計算機を使ってみてください。
- Buffer size
- 再生時に使用する作業用バッファのサイズをミリ秒単位で指定します。初期値は5秒(5000ms)で、5秒先までのデータをバッファ内で処理しますが、再生時にバッファに必要なデータが溜まるまで再生が開始されません。しかし、先読みする量が少なすぎると再生時に画質が劣化するので、この初期値からは変更しないほうがよいでしょう。
- Peak bit rate
- モードでTwo-pass bit rate VBR(Peak)を選んだときに指定する最大ビットレートの指定です。CDやDVDの○倍速の速度制約や、ストリーミングならば保証帯域以下にするように値を指定しましょう。
- Peak buffer
- Two-pass bit rate VBR(Peak)を選んだときに使われる作業用バッファの指定です。効用はBuffer sizeと同様。
- Smoother motion -- Sharper image
- CBRで圧縮する際の映像品質のバランス調整です。値が小さくなると動きがスムーズになりますが輪郭がぼやけてしまいます。逆に大きくするとビットレート不足で動きがカクつくかもしれません。十分にビットレートを割り当てていれば値を大きくしても大丈夫でしょう。
- Quality level
- One-pass quality VBRで圧縮する際の映像品質です。100が最も高画質になります。有効な値は、1, 4, 8, 11, 15, 18, 22, 25, 29, 33, 36, 40, 43, 47, 50, 54, 58, 61, 65, 68, 72, 75, 79, 83, 86, 90, 93, 97, 100です。これ以外の値を指定するとそれらの数値に内部で丸められます。
- Decoder complexity
- デコーダーのProfileを指定します。ポータブル機器用(?)のSimple Profile、PC用のMain Profile、フル機能をサポートするComplex Profileの3種類です。通常は初期値のMainでよいかと思います。
- Decoder level
- デコーダーのレベル指定です。Decoder complexityで使用したProfile@Levelとなります。通常は初期値のAutoのままで構いません。
- Performance
- 圧縮時に使用する動き予測検出や形状符号化など、圧縮効率に影響する各種符号化の精度・使用範囲を決めている感じ。左側のFasterに近付くほど処理時間を短縮するために精度を落とし、右側のBetter qualiyに近付くほど処理に時間をかけても精度を高めて必要データ量を減らしたり画質を高めることが可能です。
- ここで注意しなくてはならないのは、One-pass quality VBRとそれ以外のモードでは結果が異なることです。品質が一定のOne-pass quality VBRは、この値をどれにしても圧縮後の画質は気になるほどは変わりません。しかし、秒あたりのデータ量が影響してくるほかのモードでは、映像の圧縮効率が高くなるほどシーンあたりのデータ量が少なくて済むため、結果的に左側へ近付くほど圧縮後の画質が見た目でわかる程度劣化します。
- EDL file
- 範囲を指定してシーンごとに設定を変更することができます。あらかじめテキストで用意しておかなければならないようです。特に使う必要はないと思います。記述する書式などはヘルプファイルにある例が参考になるでしょう。
Save/Load
あえて説明するまでもないでしょう。設定をファイルに保存したり、保存しておいた設定を読み込むためのものです。
再生フィルタの設定変更
WMV9では再生時にMPEG系特有の圧縮ノイズを軽減するために、再生時にフィルタ処理を行なうことができます。これを使って再生時の画質を改善したい人はレジストリを変更してみてください。
- HKEY_CURRENT_USER\Software\Microsoft\Scrunch
- Force Post Process Mode=dword:0(初期値:0、範囲:0~4,0xFFFFFFFF)
- 0:フィルタ未使用
- 1:"deblocking"フィルタ処理
- 2:"strong deblocking"フィルタ処理
- 3:"deblocking and deringing"フィルタ処理
- 4:"strong deblocking and deringing"フィルタ処理
- 0xFFFFFFFF:使用するフィルタを自動選択(キーが存在しない場合も自動選択)
高ビットレートで作成したデータの再生にはフィルタを使用せずに再生し、低ビットレートなデータほどフィルタを強く掛けて再生するとよいでしょう。このことは付属のヘルプファイルにも記述されています。高ビットレートのデータに強いフィルタを掛けると映像がぼやけるので注意してください。
フィルタを掛けると再生時の負荷が高くなるため、再生だけでいっぱいいっぱいの環境ではフィルタを使用しないほうがよいでしょう。また、このレジストリ変更は、Windows98/Meの環境では無効です。