2015-06-23

アニメエンコード用 AviUtl 環境を再構築してみた話。

随分前に、俗に言う TS 抜き環境を構築したときに、わけも分からず適当にエンコード構築して以来、ずっと使い続けてきました。

AviUtl のバージョンが 1.00 になった頃 (2013年4月頃……えっ、そんな前だっけ) から、近いうちに再構築しようと考えていたのですが、面倒なので先延ばしにしていたのですが、遂に再構築しました。

CPU のみ、GPU なしの環境でのエンコード環境。
覚書として、設定項目および使用したプラグインを書き留めておこうと思います。

【 2015/07/19 更新 】
特定の局で、白い部分に激しいノイズが残ってしまう状況が見られ、あまりに残念なので、一部変更しました。



● 使用したプラグイン


プラグイン名の後の括弧は、必要なプラグインファイルの名前。並びは、プラグインファイル名で昇順にしたつもり。

使う準備としては、AviUtl をダウンロードした後、適当な場所に解凍、わかりやすいように "Plugins" とか名前をつけたフォルダにひと通り突っ込めばいいかと。 勝手にリンクしていいのか確認してませんが、問題あれば、報告して頂きたく思います。即座に対応します。
  • AACをFAW化して読み込むプラグイン (aacfaw.aui)
    FAW (FakeAacWave) 化、つまり音声ファイル AAC を偽装 WAV 化して、 録画されたデータのまま取り込み、処理するためのプラグイン。
  • 自動フィールドシフト インタレース解除 高速化版 v7.5a+ (afs.auf)
    インタレース解除をするためのプラグイン。
  • 透過性ロゴ フィルタプラグイン (改) v0.13+ (delogo.auf / chapter.auf)
    ウォーターマークを消すため&チャプタ編集 (CMカットの補助) のプラグイン。
  • FAW ぷれびゅ~ (FAWPreview.auf / FAWPreview_faadlib2.dll)
    AAC 取り込み時のプレビューが行われるようにするプラグイン。「AACをFAW化して読み込むプラグイン」のために必要。付属の dll ファイルは、aviutl.exe と同フォルダに配置する必要あり。
  • FHT|DCT2D (fht_dct2d.auf)
    FHT (高速アダマール変換) / DCT (離散コサイン変換) によるノイズ除去プラグイン。注意としては、8の倍数サイズのソースでしか使えない。
  • ジャンプウィンドウ (jump.auf)
    編集時にタイムラインを見るのに非常に役立つプラグイン。無いと編集が厳しい。
  • ロゴ解析 プラグイン v0.07 (logoscan.auf)
    ウォーターマークを解析するためのプラグイン。「透過性ロゴ フィルタプラグイン」に使うロゴデータを生成するために使用。作成したロゴデータを編集する「lgdeditor」というアプリケーションもあります。
  • MPEG-2 VIDEO VFAPI Plug-In v0.7.8 (m2v.vfp / m2vconf.exe)
    各種動画ファイルをインポートする際に必要なプラグイン。配置したら、m2vconf.exe を実行して次のように設定しておいた。
      • アスペクト比: 無視
      • フィールド順: トップ→ボトム順で出力
      • IDCT 関数: 整数 (32bit AP-922)
        • 浮動小数点の方がいいかもしれない
      • CPU 拡張: 全チェック
      • GOP リスト: すべて外す
      • 連番ファイル: 指定ファイルのみ開く
      • YUV → RGB 変換: ITU-R BT.601 から伸長
      • 色空間行列(省略時): 自動認識(解像度から)
    • 公開ページ: MPEG-2 VIDEO VFAPI Plug-In
  • MP4 Export Plugin v1.1 / MP4 File Reader v1.5 (mp4output.aui / mp4input.aui)
    MP4 形式の動画ファイルを AviUtl に取り込み、出力するためのプラグイン。完成した MP4 ファイルを AviUtl でカットする際とかに使えるかと。(MP4 形式の動画ファイルの特性上、基本的に末尾を切ることくらいしか出来ないが。)
  • NL-Means Light(AVX) (nlmeans_light.auf)
    ノイズフィルタ。シーンによっては非常に効果的。オンボードグラフィックエンコード向け軽量版。何となく AVX 版にしてみた。AVX 版でなくて、通常版 (SSE 版) でもさほど変わらないらしいので、そっちでもOK。グラボを挿してるなら、NL-Means Light for GPU もあり。
  • リサイズフィルタ (ResizeFilter.auf / "DLL" Folder)
    動画のリサイズ処理のためのプラグイン。アニメ向きと言われている。
  • WarpSharpMT v1.33ex6 (warpsharpmt.auf)
    動画のシャープネス処理のためのプラグイン。
  • x264guiEx (x264guiEx.auo / .conf / .ini / "x264guiEx_stg" Folder etc...)
    x264 でエンコードする環境を GUI で提供してくれるプラグイン。x264、qaac、l-smash が自動で導入されます。楽ちんで、とっても助かります。



● 設定


個人的に必要な設定をひと通り並べてみました。なので、超絶オススメというわけではありません。
適宜、自分の求める設定に変えてみるのがいいかと。


■ AviUtl の基本的な設定

ショートカットキー周りは、CMカットやロゴ除去処理作業高速化のため。

  • ファイル > 環境設定 > システム
    • 最大画像サイズ
      • 1920 x 1088
    • LargeAddressAwareを有効にする
      • チェック
    • デフォルトの出力ファイル名
      • %p%f
    • 追加読み込みしたファイルのfpsを変換しない
      • チェック
  •  ファイル > 環境設定 > ショートカットキーの設定
    • [ファイル][編集プロジェクトの上書き]
      • Ctrl+S
    • [ファイル][AVI出力 (Ctrl+S)]
      • (なし)
    • [ファイル][プラグイン出力][拡張 x264 出力(GUI) Ex]
      • Ctrl+X
    • [編集][選択範囲のフレーム削除]
      • Del
    • [編集][選択範囲を新しいプロファイルにする]
      • Space
  • 表示 > チャプター編集の表示
    • チェック
  • 表示 > ジャンプウィンドウの表示
    • チェック


■ フィルタ周り

画像処理に使っているのは
  • 透過性ロゴ
  • NL-Means Light
  • リサイズフィルタ
  • WarpSharpMT
だけなので、非常にシンプル。それぞれの設定も結構適当です(笑)
    • 設定 > 透過性ロゴの設定
      • チェック
    • プラグイン「透過性ロゴ」
      • 有効化
        • 右上のチェックボックスにチェックを入れる
      • プロファイル境界をフェード基準にする
        • チェック
      • オプション
        • 必要なロゴデータを読み込む 
    • 設定 > FHT|DCT2Dの設定
      • チェック
    • プラグイン「FHT|DCT2D」
      • 有効化
        • 右上のチェックボックスにチェックを入れる
      • n_shift (直交変換処理回数)
        • 9
          • 増やすと時間も増える
      • threshold (閾値)
        • 200
      • strength (強さ)
        • 50
      • mode (変換後、二乗して減算するか否か)
        • 1
      • FHT
        • チェック
          • 高速アダマール変換 (FHT: Fast Hadamard Transform) の方が、離散コサイン変換 (DCT: Discrete Cosine Transform) より早いとか。効果は状況によるだろうし、どっちのほうがあるのかはよく知らない。
    • 設定 > NL-Means Light(AVX)の設定
      • チェック
    • プラグイン「NL-Means Light(AVX)」
      • 有効化
        • 右上のチェックボックスにチェックを入れる
      • 範囲
        • 2
      • 分散
        • 40 (デフォルト)
    • 設定 > リサイズフィルタの設定
      • チェック
    • プラグイン「リサイズフィルタ」
      • 有効化
        • 右上のチェックボックスにチェックを入れる
      • HD サイズ (1280x720) を追加
    • 設定 > WarpSharpMTの設定
      • チェック
    • プラグイン「WarpSharpMT」
      • 有効化
        • 右上のチェックボックスにチェックを入れる
      • depth
        • 50
      • blur
        • 5
      • bump
        • 50
      • cubic
        • -5
      • ……適当です。あんまり変わるのが好きではないのでこの程度。
    • フィルタ > FAW ぷれびゅ~
      • チェック
    • 設定 > フィルタ順序の設定 > ビデオフィルタ順序の設定
      • 上から順に
        • ロゴ解析
        • 透過性ロゴ
        • サイズの変更 (*)
        • クリッピング&リサイズ (*)
        • リサイズフィルタ
        • ノイズ除去フィルタ (*)
        • ノイズ除去(時間軸)フィルタ (*)
        • NL-Means Light(AVX)
        • FHT|DCT2D
        • ぼかしフィルタ (*)
        • シャープフィルタ (*)
        • WarpSharpMT
        • 色調補正 (*)
        • 拡張色調補正 (*)
        • 縁塗りつぶし (*)
      • (*) は、未使用のフィルタ。なので、順番は適当でもいい。


    ■ インタレース解除や x264 周り

    インタレース解除レベルは 4 くらいにすると、テロップ分身の術を解除可能ですが、OP や ED の文字がちらつく場合もあるので、3 にしてもいいかもしれません。お好みに合わせて弄るとよいかと。
    あとは適当。x264 のクオリティを上げるために、色々設定する余地はあります。が、結構適当です。面倒なので、プリセットにある「アニメ (高画質)」をベースに弄ってます。

    x264 周りで必要なファイル。
    事前に x264guiEx のセットアップをしておき、必要なファイル (fawcl.exe と neroAacEnc.exe) を exe_files フォルダに突っ込んであげてください。
    • 設定 > インタレースの解除 > 自動フィールドシフト
      • チェック
    • 設定 > インタレースの解除 > 自動フィールドシフトの設定
      • 映画/アニメ
      • 解除レベル
        • 3
          • テロップのブレをどうしても改善したいなら 4。その代償として、OP や ED の文字がちらつく場合あり。そのため、推奨は 3。
    • 設定 > 圧縮の設定 > プラグイン出力の設定 → "拡張 x264 出力(GUI) Ex" を選んで「設定」
      • x264 タブ
        • 品質
          • 20
        • プリセットのロード
          • slow / animation / high
      • 拡張 タブ
        • 自動フィールドシフト(afs)を使用する
          • チェック
      • 音声 タブ
        • エンコーダ "FakeAacWav(FAW)"
          • .\exe_files\fawcl.exe
        • エンコーダ "NeroAacEnc"
          • .\exe_files\neroAacEnc.exe
          • モード "Q-Based AAC 320~kpbs"
        • FAWCheck
          • チェック



    こんな感じで、設定の内容は以上です。

    参考程度と考えて欲しいのですが、この設定で、30分アニメ (CMカットして24分程度) を次の仕様の PC でエンコードすると、ばらつきはありますが、30分ちょっとでエンコードが終わり、150〜200MB 程度の動画ファイルが生成されます。
    • CPU: Intel Core i7-3770
    • RAM: 8GB
    • GPU: なし
    • 動画ファイルは内蔵 HDD 上に配置
    設定をきちんと弄くれば、当然のことながらハイクオリティなエンコードも可能です。
    ただ、この辺をこだわりだすと、エンコード時間が増大したり、番組ごとに極めなきゃならなくなったりするので、やる気のある人だけがやればいいかと。

    私個人としては、(プレイヤをちっちゃくして作業しながら見たり、スマホの小さな画面で見たりすることが多いので、) 画質はこの程度の設定で十分だという結論に至った感じです。フィルタを全てなくしてもいいかもと思わなくもないですが、まぁ、気分的に。



    【 2015/07/19 更新 】
    とある局というか、TBS なのですが、構築前はこんなことなかったのですが、特に白一色の部分で、恐ろしくノイジーな感じ (ゴマ塩ノイズの巨大版みたいなやつ) になってしまっていました。
    # 再生するプレイヤ (コーデック)、ディスプレイの色調設定によっても気になり度は違います。実際、視聴に使う PC によってずいぶん違う印象を受けます。違いがわかりにくい場合には、ディスプレイを下から見上げるように見ると何が言いたいのかわかるかもしれません。

    これを解決するために、PMD_MT とセット (?) になっている FHT|DCT2D を使い、改善を図りました。
    色が変わってしまったり、のっぺりするような気がしますが、ノイズでグチャグチャするよりいいかなと。より高画質な BS-TBS での放送をソースにするのが理想かも知れません。

    因みにソースはこんな感じ。(1440x1080 を 1920x1080 に引き伸ばしてあります。)
    既にノイズが乗っているので、それが響いているのかなぁと。専門家ではないので、あまりわかりませんが。

    # 流石に 9 回も処理させると、30 分アニメのエンコードに 1 時間くらいかかってしまいます……

    0 件のコメント :

    コメントを投稿