デノイズとインターレース解除ができる pp


pp(postprocessing)フィルタとは、デコード段階でフィルタを当てるフィルタを意味するが、フィルタチェーンでの pp の位置によってフィルタが当たる順番も変わる。用途に合わせてたくさん種類があるので使いこなすのは難しい。ビルドオプションに --enable-gpl が付いてないと使えない。

同様のフィルタに fspp, pp7, spp, uspp があるが、順番に負荷が大きくなり fspp 以降は負荷を考えると実用性は低い。

速くて単純なポストプロセッシングフィルタ fspp

基本コマンド

ffmpeg -i input -vf pp=de output
ffplay -i input -vf pp=de

公式ドキュメント:FFmpeg Filters Documentation : pp
公式wiki:Postprocessing – FFmpeg

オプション

オプションの記述方法が他のフィルタと少し異なり、値の指定には「|」、オプションの指定には「/」を挟んでフィルタチェーンをつなぐ。
例えば既定値の pp=de"pp=hb|32|39|a|c/vb|32|39|a|c/dr|a|c" に置き換えることができる。これは hb の既定値に a, c、vb の既定値に a, c、dr の既定値に a,c を当てている。

    デノイズやインターレース解除のフィルタを当てるのにどのチャンネルを対象とするか

    • a, autoq
      CPU性能に応じてオンオフのオート設定。特に設定する必要なし
    • c, chrom
      輝度と彩度にフィルタを当てる。既定値
    • y, nochrom
      輝度だけにフィルタを当てる
    • n, noluma
      彩度にだけフィルタを当てる
  • hb, hdeblock[|difference[|flatness]]
    横軸のデブロッキングフィルタ

    • difference
      差異要因。大きい値ほど効果が大きい(場所指定)
      既定値:32
    • flatness
      平坦化の閾値。小さい値ほど効果が大きい。下げすぎ注意(強度指定)
      既定値:39
  • vb/vdeblock[|difference[|flatness]] // vb|difference|flatness
    縦軸のデブロッキングフィルタ
    以下、上と設定同じ
  • ha, hadeblock[|difference[|flatness]] // ha|difference|flatness
    横軸の正確なデブロッキングフィルタ
  • va, vadeblock[|difference[|flatness]] // va|difference|flatness
    縦軸の正確なデブロッキングフィルタ
  • h1, x1hdeblock
    実験的な水平方向のデブロッキングフィルタ。引数なし
  • v1, x1vdeblock
    実験的な垂直方向のデブロッキングフィルタ。引数なし
  • dr, dering
    デリンギングフィルタ。見た目を損なわずにデノイズを行う効果がありおすすめ。引数なし
  • tn, tmpnoise[|threshold1[|threshold2[|threshold3]]] // tn|threshold1|threshold2|threshold3
    フレーム間差分を小さくする3次元デノイズフィルタ。一方でバンディングが目立つようになる
    引数は3つまで指定できる
  • al, autolevels[:f/fullyrange]
    明度とコントラストを自動設定する。-al で自動調整しない。引数なし
    無指定は -al と同じ
  • lb, linblenddeint
    線形ブレンドのデインターレースフィルタ。片フィールドしかない部分は2重表示される。フィールドがマッチしていない部分では残像が残る。引数なし
  • li, linipoldeint
    線形補間のデインターレースフィルタ。23プルダウンの場合、5フレームに1フレーム重複フレームができる。引数なし
    フレーム間引きを自動でするなら decimate、一定間隔なら trim でもできる。引数なし
    手動でフィールド処理を行う fieldhint | ニコラボ
    trim フィルタの使い方
  • ci, cubicipoldeint
    立体補間のデインターレースフィルタ。23プルダウンの場合、5フレームに1フレーム重複フレームができる。引数なし
  • md, mediandeint
    メディアンのデインターレースフィルタ。23プルダウンの場合、5フレームに1フレーム重複フレームができる。引数なし
  • fd, ffmpegdeint
    FFmpeg のデインターレースフィルタ。23プルダウンの場合、5フレームに1フレーム重複フレームができる。引数なし
  • l5, lowpass5
    垂直方向の FIR(finite impulse response)ローパスのデインターレースフィルタ。片フィールドしかない部分は2重表示される。フィールドがマッチしていない部分では残像が残る。引数なし
  • fq, forceQuant[|quantizer]
    quantizer の個別指定。数値指定。他のオプションと併用(一部効果の無いオプションがある)で効果がある。0 は他のデブロックオプションを無効化し、1 はそのまま。大きい値ほど全体がぼやける

コマンド例

  • 処理が軽め(同じ設定内容)
    -vf pp=fa
    -vf pp=h1|a/v1|a/dr|a
  • 高品質(同じ設定内容)
    -vf pp=ac
    -vf pp=ha|a|128|7/va|a/dr|a
  • 縦横軸のデブロックとデリンギング、明度とコントラストの自動設定
    -vf pp=hb/vb/dr/al
  • 明度とコントラストの自動設定をせずに、規定値のフィルタを当てる
    -vf pp=de/-al
  • 規定値のフィルタと一時的なノイズ低減フィルタを当てる
    -vf pp=default/tmpnoise|1|2|3
  • 輝度だけデブロックと縦軸のデブロックとCPU自動設定をオフ
    -vf pp=hb|y/vb|a

コメントを残す

メールアドレスが公開されることはありません。