この記事でわかること
unsharpフィルタでシャープネスを強調するコマンドunsharpをブラーフィルタとして使う方法- 輝度(luma)と彩度(chroma)マトリクスを個別に設定する方法
- パラメータのチューニング指針
テスト済みバージョン: FFmpeg 6.1(検証スクリプトで実 FFmpeg 実行確認)
対象 OS: Windows / macOS / Linux
基本コマンド
シャープネスを強調する
ffmpeg -i input.mp4 -vf "unsharp=5:5:1.0:5:5:0.0" output.mp4
引数の順序は lx:ly:la:cx:cy:ca です。la=1.0(輝度の強さ)でシャープネスが上がります。
ソフトなぼかしをかける(ブラーとして使う)
ffmpeg -i input.mp4 -vf "unsharp=5:5:-1.0:5:5:0.0" output.mp4
la を 負の値 にするとブラーになります。単純に均一なぼかしをかけたいだけなら、boxblur フィルタでボックスブラーをかける方が軽量で扱いやすいです。
パラメータ詳細
unsharp=lx:ly:la:cx:cy:ca
| パラメータ | 意味 | デフォルト | 範囲 |
|---|---|---|---|
lx | 輝度マトリクスのX幅(奇数) | 5 | 3〜23 |
ly | 輝度マトリクスのY幅(奇数) | 5 | 3〜23 |
la | 輝度の強さ(正=シャープ、負=ブラー) | 1.0 | -2.0〜5.0 |
cx | 彩度マトリクスのX幅(奇数) | 5 | 3〜23 |
cy | 彩度マトリクスのY幅(奇数) | 5 | 3〜23 |
ca | 彩度の強さ(正=シャープ、負=ブラー) | 0.0 | -2.0〜5.0 |
マトリクス幅は奇数でなければなりません(3, 5, 7, 9, …)。
輝度のみシャープ、彩度は変えない(推奨)
ffmpeg -i input.mp4 -vf "unsharp=7:7:1.5:5:5:0.0" output.mp4
ca=0.0 で彩度は変化させません。これが最も自然な仕上がりになります。chromakey フィルタでグリーンバック合成する際に生じる輪郭の甘さを締めたいときも、輝度だけを軽くシャープにすると効果的です。
強いシャープネス(アクション映像向け)
ffmpeg -i input.mp4 -vf "unsharp=3:3:2.0:3:3:0.0" output.mp4
マトリクスを小さくして強度を上げると、エッジが際立つシャープ感になります。
ソフトブラー(ポートレート向け)
ffmpeg -i input.mp4 -vf "unsharp=13:13:-0.5:5:5:0.0" output.mp4
マトリクスを広くして負の値にするとソフトなボケが得られます。
アンシャープマスクの仕組み
unsharp はアンシャープマスク(USM)アルゴリズムを使います。
- 元画像をガウシアンブラーでぼかした「ブラー画像」を生成
- 元画像からブラー画像を引いて「エッジ成分」を抽出
- 元画像にエッジ成分を
laの強さで加算
負の la はエッジ成分を引くため、ブラー効果になります。
静止画への適用
ffmpeg -i input.jpg -vf "unsharp=5:5:1.5:5:5:0.0" output.jpg
よくある設定比較
| 用途 | コマンド例 |
|---|---|
| 標準シャープ | unsharp=5:5:1.0:5:5:0.0 |
| 強シャープ | unsharp=3:3:2.0:3:3:0.0 |
| 弱シャープ | unsharp=7:7:0.5:5:5:0.0 |
| ソフトブラー | unsharp=9:9:-0.5:5:5:0.0 |
| 強ブラー | unsharp=13:13:-1.5:5:5:0.0 |
NG例
NG例: マトリクス幅に偶数を指定する
ffmpeg -i input.mp4 -vf "unsharp=6:6:1.0:6:6:0.0" output.mp4
マトリクス幅(lx、ly、cx、cy)には奇数を指定してください。偶数を指定するとエラーになります。
実測例
1080p/30fps、2分の H.264 動画に標準的なシャープネスを加える例です。
ffmpeg -i input.mp4 \
-vf "unsharp=5:5:1.0:5:5:0.0" \
-c:v libx264 -crf 23 -preset medium -c:a copy \
output.mp4
unsharp は周辺画素を参照するため、eq や hue のような単純な色補正より重くなります。8コア程度のデスクトップ環境では、処理時間は実時間の1.5〜3倍程度が目安です。
ファイルサイズは増えることがあります。シャープネスで細部やノイズが強調されると、エンコーダが保持すべき情報が増えるためです。ノイズの多い暗部素材では、同じCRFでも5〜15%程度増える例があります。先に軽いノイズ低減を入れるか、la=0.5 程度から始めると破綻しにくくなります。
ブラー用途で la を負にした場合は細部が減るため、同じCRFならサイズが下がることがあります。環境により変動します。
実写素材では、シャープネスを強くかけるほど輪郭の白い縁取り、髪の毛のチラつき、暗部ノイズの増加が目立ちます。まず unsharp=5:5:0.5:5:5:0.0 で短い区間を書き出し、足りなければ la を0.8、1.0と上げる方が安全です。
配信用に最終エンコードする場合、シャープネスは圧縮前の最後の方に置くのが基本です。先に強い unsharp をかけてから拡大・縮小を行うと、強調したエッジが再サンプリングされて不自然に見えることがあります。スケール、ノイズ低減、色補正の後に軽く足す程度から確認してください。
アニメやUI録画では実写より効果が強く見えやすいため、la=0.3〜0.6 でも十分な場合があります。
逆に、すでにスマートフォン側で強い輪郭補正が入っている素材へさらに unsharp を重ねると、細い線の周囲に白や黒の縁が出やすくなります。確認するときは全体表示だけでなく、100%表示で文字、髪、建物の輪郭を見ます。
ノイズの多い素材では、先に hqdn3d などで軽くノイズを抑えてから弱めの unsharp をかける方が、最終的な見た目とファイルサイズの両方で安定します。シャープネスは「情報を増やす」処理ではなく、既存のエッジを強調する処理なので、ピンぼけ映像を完全に復元することはできません。
画質比較では、動きの少ないフレームだけでなくパンやズーム中のフレームも見ます。静止画では良く見える設定でも、動きの中では輪郭がちらついて見えることがあります。最終的な配信ビットレートが低い場合は、強いシャープネスより控えめな設定の方が圧縮後に自然です。必ず短尺で確認します。
関連フィルタ
関連リソース
よく使うオプション・フィルタ・コーデック設定をまとめた PDF チートシートです。手元に置いておくと調べる時間を短縮できます。