「Ffmpegbasics」中国語版-8。ぼかし、シャープ、ノイズ除去



Ffmpeg Basicschinese Version 8



8.ぼかし、シャープ、ノイズ除去

入力ビデオにノイズが含まれている場合、ノイズ除去フィルターまたはオプションを使用してノイズリダクション処理を実行し、ビデオを最適化できます。ノイズリダクション処理はビデオ前処理の一部であり、通常、ビデオのエンコードと出力の前に完了します。

ノイズ除去:ノイズリダクション処理



備考:ビデオや画像に、明らかに元の画像の一部ではない粒子の粗い点がある場合があります。これらの点はノイズ(実像への干渉を示す)と呼ばれ、ノイズリダクション処理はこれらのノイズを除去またはぼかすプロセスです。

ビデオブラー処理

ビデオや写真に現れるノイズは、複数のタイプに分けることができます。特定の種類のノイズが発生した場合、ぼかしを使用すると画質を向上させることができます。ぼかし操作では、各出力ピクセル値は、同じ入力位置とその隣接ピクセル値から計算されます。たとえば、印刷されたハーフトーン画像をスキャンして、そのデジタル画像を取得しました。現時点では、ぼかしを使用して品質を向上させることができます。ボックスブラーフィルターを使用してブラー処理を実行します。これについては、次のように詳しく説明します。



画像
ルマ:明るさクロマ:クロマアルファ:透明度

r:半径、ファジー演算中の近傍の半径を表し、p:パワーはファジー演算の演算数を表します

boxblur:OpenCVでは、ボックスフィルタリングまたは平均フィルタリングと呼ばれます(正規化中のボックスフィルタリングと同等)。簡単に言えば、出力値としてピクセルとそのドメインピクセルの平均を取ることです。



たとえば、輝度半径が1.5、輝度パワーが1の入力ビデオをぼかしたい場合、コマンドは次のようになります。

ffmpeg -i input.mpg -vf boxblur=1.5:1 output.mp4

もう1つのぼかし効果はsmartblurフィルターです。詳細は次のとおりです。

画像

r:半径、色空間または明るさ空間でのガウスぼかしの半径、値は0.1〜5.0です

s:強度、値は-1〜1、0の場合は元の画像が出力され、シャープ操作の場合は-1〜0、ブラー操作の場合は0〜1

t:しきい値のしきい値。値の範囲は-30〜30で、画像全体が0でフィルタリングされ、滑らかな領域が-30〜0でフィルタリングされ、エッジが0〜30でフィルタリングされます。画像のピクセルの値がゆっくりと変化する領域は滑らかな領域であり、急激に変化する領域はエッジ領域と呼ばれます。

smartblurの特徴は、ぼかしたときにエッジに影響を与えないことです。

たとえば、次のコマンドとパラメータを使用して画像をぼかすことができます。

ffmpeg -i halftone.jpg -vf smartblur=5:0.8:0 blurred_halftone.png

画像

ビデオシャープニング

アンシャープフィルターを使用して、ビデオフレームをシャープにしたり、ぼかしたりすることができます。詳細な説明は次のとおりです。

画像

ルマ:明るさ彩度:彩度

x:フィールドの幅y:フィールドの高さ量:-2〜5、ブラー操作に負の値を使用する場合、シャープニングに正の値を使用する場合、0の場合は効果がありません

unarpenフィルターは、ファジーマスクまたはガウスぼかしとして使用できます。たとえば、デフォルトのパラメータを使用して入力をシャープにすることができます。コマンドは次のとおりです。

ffmpeg -i input -vf unsharp output.mp4

現時点では、明るさのシャープ化操作では、インパクトファクターが1.0の5x5マトリックスが使用されます。ガウスぼかしを実行するには、次のように明るさと彩度に負の値を設定します。

ffmpeg -i input -vf unsharp=6:6:-2 output.mp4

次の画像は4つの部分に分かれており、さまざまなパラメーターでアンシャープフィルターを使用した結果を表しています。

画像

  • 図1:入力画像は、2012年6月5日に金星が太陽を通過したときにNASAが撮影した写真です。NASAのWebサイトからダウンロードされました。
  • 図2:-vf unsharpを使用した結果(パラメーターは指定されていません。デフォルトのパラメーターが使用されます)。黒い斑点がより明白になり、明白な効果はありません
  • 図3:-vf unsharp = 6:6:3を使用した結果(比較的強いシャープネス)。黒い斑点はますます明白になり、視界はわずかに歪んでいます
  • 図4:-vf unsharp = 6:6:-2を使用した結果(比較的強いぼかし)。 -2を使用して明るさをぼかすと、金星の周りに仮想リングが表示されます。

denoise3dを使用してノイズを減らします

ビデオフィルターdenoise3dはノイズを減らすことができます。これは(MPlayerプロジェクトの)mpフィルターの一部であり、詳細な説明は次のとおりです。

画像

空間:空間強度:強度輝度:明るさ彩度:彩度時間:一時的

たとえば、デフォルトのパラメータを使用して入力を拡張する場合は、次のコマンドを使用できます。

ffmpeg -i input.mpg -vf mp=denoise3d output.webm

下の写真は、NASAのアポロプロジェクトからのdenoise3dフィルターで強化されたビデオを示しています。

画像

ノイズを減らすためにhqdn3dを使用する

denoise3dフィルターの高度なバージョンはhqdn3dフィルターです。これはlibavfilterに配置され、FFmpegに付属するフィルターです。この名前は、高品質のノイズ除去3次元フィルターの略で、詳細な説明は次のとおりです。

画像

たとえば、デフォルトのhqdn3dパラメータ値を使用して入力ビデオのノイズを減らすには、コマンドは次のとおりです。

ffmpeg -i input.avi -vf hqdn3d output.mp4

次の図は、さまざまなパラメーターを使用したhqdn3dの効果を示しています。

画像

nrオプションを使用してノイズを減らします

上記のフィルターに加えて、-nr(ノイズリダクション)オプションを使用して、入力ビデオのノイズを低減することもできます。その値は0〜100000の範囲の整数で、デフォルト値は0です。一般的なコンテンツの場合、有効な範囲は1〜600です。ビデオに高密度のノイズが含まれている場合は、より高い値を使用する必要があります。 denoise3dやhqdn3dと比較して、このオプションはコンピュータリソースの消費が少ないため、ノイズをすばやく処理する必要がある場合は、このオプションを使用できます。たとえば、古いコンピューターでは、-nrを使用して軽いノイズを改善してから、次のコマンドを使用できます。

ffplay -i input.avi -nr 500

3Dに関しては、コンピューターリソースの消費量が少ないため、ノイズをすばやく処理する必要がある場合は、このオプションを使用できます。たとえば、古いコンピューターでは、-nrを使用して軽いノイズを改善してから、次のコマンドを使用できます。

ffplay -i input.avi -nr 500