画像やリンクが無効になっている可能性もあるのでご了承下さい。
はじめに
Amatsukaze でエンコードする際、インタレ解除やリサイズと言った基本的なフィルタ設定は GUI のみで完結できるように出来ている。
しかし内部でどう言ったフィルタリングが行われて居るのか調べてみたらリサイズを行う部分で色深度が 14bit に変換された後に処理され、リサイズ後に 10bit へ戻すものとなっていた。
色の情報が多いほど処理に掛かる計算量も増えるため、画質に大きな変化も無い事からカスタムフィルタ設定を行う方向に改めて変更することにした。
変更前
今までは GUI のみで次のようなフィルタ設定を行っていた。
リサイズしている解像度は 960x720 だがエンコーダ側で SAR 値を 4:3 としているので、再生時には 1280x720 になる。横方向に多少ボケが出るがエンコード速度重視の為にデータ量を減らす工夫をしているということで。
上記設定時のスクリプトは「フィルタをテキストでコピー」をクリックすると覗くことが出来て次の様になっていた。
dsrc = AMT_SOURCE
AMT_SOURCE.Yadifmod2(mode=0).TDecimate(mode=1)
AssumeBFF()
ConvertBits(14)
BlackmanResize(960,720)
ConvertBits(10, dither=0)
if(IsProcess("AvsPmod.exe")) { ConvertBits(8, dither=0) }
Prefetch(4)
このスクリプトの 4 行目で色深度が 14bit に変換され、5 行目でリサイズ。6 行目で 10bit に落としてエンコーダーに渡す処理となっている。
この辺りはドキュメントを引用すると次の様に記載されていた。
時間軸安定化、バンディング低減、エッジ強調(アニメ用)、の3つは14bitで処理されます。3つのフィルタを処理した後、10bitに変換されて、エンコーダに入力されます。(3つのフィルタが全て無効の場合は、8bitのままエンコーダに入力されます。)
引用元 : https://github.com/nekopanda/Amatsukaze#%E9%AB%98%E3%83%93%E3%83%83%E3%83%88%E5%87%A6%E7%90%86%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF
記載されている 3 つのフィルタの場合は色深度が高いほど繊細な処理になるので効果も得やすいが、記載されていないリサイザーではそう大きな効果もないだろうし処理量が増えるからエンコード速度も落ちるかなと思うところ。
変更後
Amatsukaze のフィルタ設定をカスタムフィルタに変更をする。
avs ファイルは自分が分かりやすいと思う適当なファイル名にして指定する。
今回指定した avs ファイルの中身は次の通り。
dsrc = AMT_SOURCE
AMT_SOURCE.Yadifmod2(mode=0).TDecimate(mode=1)
AssumeBFF()
Spline36Resize(960, 720)
Prefetch(16)
GUI 設定時にあった色深度の変換を削除。
4 行目のリサイザーを Spline36Resize に変更。これは CM カットなど手動でやっているエンコード方法で昔から使っている物だからという理由。
5 行目は自分の使用している CPU のスレッド数に合わせた数値を念のため入れておいた。
効果の程
同一の 30 分アニメソースを用いてフィルタ設定前後の速度差を Amatsukaze のログから読み取ると次の様な結果が得られた。
- 変更前 : エンコード時間 6 分 37 秒、エンコード倍速 4.59、出力サイズ 15.21%
- 変更後 : エンコード時間 5 分 52 秒、エンコード倍速 5.17、出力サイズ 15.30%
以上のようになった。
GUI のみのフィルタ設定で行われていた色深度変換を省き、リサイザーを変更する事でエンコードが 45 秒も短縮された。その代わり出力サイズに 0.09% ほど差がでた。容量としてみると 295MB が 297MB となり 2MB 程大きくなっていた。
画質面の変化は目視では分からず。
ソース比のサイズが 0.09% ほどファイルサイズが大きくなる事とエンコード時間が 45 秒短縮できるかという選択だが、筆者の場合は後者を採るのでこのカスタム設定でいくことに。
おわりに
エンコード時間を大きく短縮出来たので当面はこのカスタムフィルタを適用した設定でサクッとお手軽なエンコードをしていこうかと思う。
CM カットをしたり画質を求めるエンコードは別途手動で行っているので、そんなに画質を求めない日常的なエンコードは Amatsukaze を用いた方がずっと楽だし本編位置にチャプターが入ったりととにかく便利だから手放せない存在だ。
コメント