不可逆圧縮したときに生じる圧縮アーティファクトを除去する deblock フィルタの使い方。

圧縮アーティファクト – Wikipedia

基本コマンド

ffmpeg -i input -vf deblock=filter=1:block=8:alpha=0.098:beta=0.05:gamma=0.05:delta=0.05:planes=15 output
ffplay -i input -vf deblock=1:8:0.098:0.05:0.05:0.05:15

ブロックサイズ4ピクセルの弱いフィルタ
ffplay -i input -vf deblock=filter=weak:block=4
ブロックサイズ4ピクセルの強いフィルタにエッジのでブロックを強化
ffplay -i input -vf deblock=filter=strong:block=4:alpha=0.12:beta=0.07:gamma=0.06:delta=0.05
上と似ているが最初のチャンネルしか効果がない
ffplay -i input -vf deblock=filter=strong:block=4:alpha=0.12:beta=0.07:gamma=0.06:delta=0.05:planes=1

公式ドキュメント:FFmpeg Filters Documentation : deblock

画像サンプル

オリジナルを2倍に拡大 PNG 出力(32.3KB)

上から品質26で jpg 出力(3.02KB)

品質26に既定値の strong(5.41KB)

品質26に既定値から weak に指定(5.56KB)

オプション

  • filter[int]
    フィルタータイプの指定
    0, weak
    1, strong:既定値
  • block[int]
    ブロックサイズの指定。小さい値ほどデブロック効果が高い
    既定値:8
    範囲:4 から 512 まで
  • alpha[float]
    ブロック検出の閾値の指定。大きい値ほど強度が増す
    既定値:0.098
    範囲:0 から 1 まで
  • beta[float]
    以下2つはエッジ付近の閾値検出を制御する。それぞれ下/上または左/右。0 を指定すると無効になる
    既定値:0.05
    範囲:0 から 1 まで
  • gamma[float]
    同上
  • delta[float]
    同上
  • planes[int]
    フィルタを当てるチャンネル指定
    詳しくは ffmpeg について | チャンネルの順番と注意点 を参照

コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)