一般的に配信用途でのデノイズには hqdn3d フィルタだけが使われているが、個別のコンシューマゲームとして一番配信されている Splatoon を ffmpeg で配信するときに 384kbps の時間帯ではどうしても画質が維持できない。そこでもう一つデノイズフィルタを加えることで全体の画質を向上させてみた。

使うのは pp フィルタで随分前からブログで紹介していたが、配信向きではないと書いていたので使われることがなかった。しかし色々調べてみると見た目の画質は維持しながら 3D特有のテクスチャーを hqdn3d フィルタ以上にぼかすことが出来るので、複雑な部分をぼかしながら他の場所にビットレートを割ることで全体的に見栄えのよい映像にすることが出来る。

Windows の ffmpeg で生放送する方法 : pp
Windows の ffmpeg で生放送する方法 : 3次元デノイズフィルタ(hqdn3d)

そのほかの関連フィルタ:強力な2次元デノイザ sab

サンプル動画は 神連携(野良試合)40秒で終わるガチマッチ(sm26969815) でフィルタ毎に比較する。オリジナルの解像度は 1280×720 なのでリサイズしてからフィルタを当てる。ffmpeg から画像を取り出すと RGB 変換で色が劣化するので AviUtl で静止画をクリップボードで取得して PictBear で補正処理を行って 512×288 にリサイズした。

訂正 2015/10/10
色が劣化する原因は sm26969815 の Matrix coefficients が 720p にもかかわらず、BT.601 でエンコードされているので、AviUtl の色変換の設定で入力を自動にしているとフラグ通りに読み込むから。入力をフラグ通りに BT.601 にすると ffmpeg で出力したのと同じになる。よってこの記事は色変換がおかしいままになっていたのを直した。訂正後はリサイズせずにそのままの解像度で出力している。

訂正ここまで

静止画だとフィルタの効果しか分からないが、実際のニコ生の配信にはビットレート制限があるので制限に応じてどこまで細部を描写できるかでフィルタの強度を上げ下げするとよい。例では第1引数(difference)を上げ下げしてデノイズの指定場所を変えていたが、第2引数(flatness)と fq の値を変えることで強度を変更できる。flatness の下げすぎに注意。

オリジナルその1(1,321KB)

以下フィルタ別のファイルはリンク(遠くの背景がよくぼけている)
unsharp=3:3:0.5:3:3:0.5(1,410KB)
hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,396KB)
pp=hb|4|39/vb|4|39/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,365KB)
pp=hb|4|36/vb|4|36/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,365KB)
pp=hb|8|39/vb|8|39/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,358KB)
pp=hb|32|39/vb|32|39/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,350KB)
pp=hb|64|39/vb|64|39/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,345KB)

オリジナルその2(1,304KB)

以下フィルタ別のファイルはリンク(左のイカリや地面がぼけている)
unsharp=3:3:0.5:3:3:0.5(1,390KB)
hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,365KB)
pp=hb|4|39/vb|4|39/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,201KB)
pp=hb|4|36/vb|4|36/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,195KB)
pp=hb|8|39/vb|8|39/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,179KB)
pp=hb|32|39/vb|32|39/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,155KB)
pp=hb|64|39/vb|64|39/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,146KB)

オリジナルその3(1.372KB)

以下フィルタ別のファイルはリンク(壁と地面がよくぼけている)
unsharp=3:3:0.5:3:3:0.5(1,474KB)
hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,455KB)
pp=hb|4|39/vb|4|39/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,373KB)
pp=hb|4|36/vb|4|36/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,368KB)
pp=hb|8|39/vb|8|39/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,353KB)
pp=hb|32|39/vb|32|39/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,310KB)
pp=hb|64|39/vb|64|39/dr/fq|32,hqdn3d,unsharp=3:3:0.5:3:3:0.5(1,287KB)

コメントを残す

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

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