★おしらせ★
ここはややマニアックなので、家庭用ビデオ編集向けのもっとベーシックな内容をhttp://dtv.sakura.ne.jp/に展開中です。あわせてご覧ください。

まえがき

いろいろなサイズ、再生環境を考えて映像を加工します。 基本は以前のサンプルからスクリプトを加工します。

映像入力

以前の復習ですが、1080i(FX1)と、720p(HD1)それぞれを使った場合のファイル読み込み部分は、次の部分で違いが出ます。
ソースが1080iソースが720p

#■色空間の変更

YV12toYUY2(interlaced=true)

#■フィールドオーダー指定

AssumeFrameBased().ComplementParity()

#■色空間の変更

YV12toYUY2(interlaced=false)

#■フィールドオーダー(プログレだけど)指定

AssumeFrameBased()

リサイズとインターレース解除

リサイズの仕方も、インターレース解除の仕方もいろいろあり、それぞれ速度や画質が違います。 しかしここでは、代表的なものを挙げるにとどめます。 いろいろ試したい人はhttp://www.avisynth.info/に外部フィルタのコーナーがあるので覗いてみましょう。
目標ソースが1080iソースが720p
1440x1080/30fps/インターレース

#■インターレース解除
# なし

#■サイズ変更
# なし

非対応
1280x720/30fps/プログレッシブ

#■インターレース解除
# warpsharpパッケージに含まれています。
# パラパラ感が出る場合は次のようにしてください。
# AutoDeint("blend")
# 逆に違和感(線が2重に見える)が出ることもあります。

AutoDeint("")

#■サイズ変更
# BilinearResizeは、シンプルな部類に入ります。
# 一般に、高速ですが、画質に優位性はないとされています。
# しかし今回のように縮小する場合、その欠点は目立ちません。

BilinearResize(1280,720)

何もしないでOK
1280x720/60fps/プログレッシブ

#■インターレース解除+60fps化
# 下のやり方は大変シンプルですがそれなりに効果が高いです。
# ややシャープネスが落ちるように見えますが、
# どうせリサイズするので気にするほどでもないでしょう。
# 60fps化するとファイルサイズはかなり大きくなります。

Interleave(AutoDeint(""),ComplementParity().AutoDeint(""))

#■サイズ変更

BilinearResize(1280,720)

非対応
512x288/30fps/インターレース

#■インターレース解除
# なし

#■サイズ変更
# SeparateFieldsはフィールドを分解し、
# Weaveはまたくっつけます。
# フィールド単位のリサイズになりますので縦が半分になります。

SeparateFields
BilinearResize(512,144)
Weave

非対応
512x288/30fps/プログレッシブ

#■インターレース解除
# warpsharpパッケージに含まれています。
# パラパラ感が出る場合は次のようにしてください。
# AutoDeint("blend")
# 逆に違和感(線が2重に見える)が出ることもあります。

AutoDeint("")

#■サイズ変更

BilinearResize(512,288)

#■サイズ変更

BilinearResize(512,288)

WindowsMediaEncoder9の設定

wmvに変換するにはWindowsMediaEncoder9を使うわけですが、ここでポイントになるのは
  • インターレース映像のエンコード
  • アスペクト比の設定
  • この2つでしょう。 ここではこの2つの設定について述べます。
    が、その前に、さすがマイクロソフトというか、WindowsMediaPlayer9と10のどちらがインストールされているかによって、WindowsMediaEncoder9で設定できる項目が変化します。
    この後(および、次回)を読んでもらえればわかりますが、WindowsMediaPlayer10をインストールすると、WindowsMediaEncoder9と一部不整合が起こるなど、かえって制約が多くなることもあり、現時点ではあまりWindowsMediaPlayer10のインストールはお勧めできません。
    私はWindowsMediaPlayer10をインストールしている(_| ̄|○)ので、説明もそれ用になっています。あしからず。
    インターレースにするには、セッションプロパティの【圧縮】タブを選択し、さらに【編集】ボタンを押します。 すると、独自のダイアログという画面が出てくるので、【メディアの種類】のビデオコーデックを Widows Media Video 9 Advanced Profile にしたうえで、画面下の インターレース化処理を許可する にチェックを入れます。 このとき、ビデオのモードを CBR か、品質VBR にしていないと Widows Media Video 9 Advanced Profile が選べません。(なんでや・・・) さらに、セッションプロパティの【処理】タブで インターレース処理の維持 を選択します。 その右は 自動 で大丈夫ですが、あえて選ぶなら 上から になります。
    次にアスペクト比の設定ですが、先ほどのセッションプロパティの【圧縮】タブを選択し、さらに【編集】ボタンを押したときに出てくる独自のダイアログの下のほうにある、非正方形のピクセル出力を許可する にチェックを入れます。 その上で、セッションプロパティの【ビデオ サイズ】タブに移動して【ピクセル縦横比】を変更します。 ちなみに、HDVの1440x1080の場合は アナモフィック 16:9(4:3) にすればOKです。

    やってみよう

    短い映像クリップを使って試しにエンコードしてみてください。 思い通りの映像になりましたか?
    はじめのうちはなんだかよく分からないエラーが出たりメモリが足りなかったり、いろいろあると思いますががんばってください。 ちなみにメモリ不足については、makeAVIS を使わずに、前回の VirtualDubMod から AVI を書き出すというやり方で本物のAVIを中間ファイルとして作成するとうまくいくこともあるようです。
    HDDを湯水のように消費しますけどね。