日記
ランダムノイズの効果的な低減 -Final Cut Pro X
2021年02月15日
同じ映像を複数回キャプチャしそれらを平均化する事で残像の発生などの画質劣化無くランダムノイズを低減する方法、AviSynthのプラグインに存在していた様に思います。
AviSynthは中々強力であったり個性的である信号処理を行うプラグインが多数存在している様に思いますけれど、残念ながら10bit Colorには対応せず8bit Colorまでの対応となっているプラグインが非常に多いです。
その為私はAviSynthを基本避けております。
信号処理による改善が大きくともそれに伴う弊害が上回るようでは本末転倒といえますから。
本線信号に対するデジタル演算処理無しの素通しであっても最低9bit、デジタル演算処理を行う場合はより多く欲しい所と私は考えております。
先日YouTubeへアップロードする動画の製作の事で「最低限10bit/4:2:2をフルサポート可能なアップコンバート環境を用意したい。」とTweetしていた所、いつもお世話になっているフォロワー様からフリッカー, バンディングの低減方法と共に同様の方法のランダムノイズ低減への応用方法をご提案頂きました。
生憎、私がTweetした意図とは異なる回答を頂く事となりましたけれどランダムノイズ低減への応用は非常に合理的かつ思いもよらぬ方法で有り今回もまた大変良い事を御教授頂いた様に思います。
また、それと同時にノイズリデューサーやY/Cセパレーターについて調査, 検証, 解説を度々行っていながらもこれに気付かなかった私を大変情けなく思いました。
やっている事自体はリカーシブフィルタ(3D DNR)と良く似ていてそれを常に完全な相関性を持つフレームに強度を最大にしてかけている様なものですから。
AviSynthのプラグインに存在しているものと同様に複数回キャプチャした同一の映像を用いる事で再生システム(キャプチャシステム)起因のランダムノイズを残像などの画質劣化なく低減するものであり、この方法は大半のNLEに備わる機能を応用する形で活用するものですので10bit/4:2:2のフルサポートを難なく実現可能です。
方法は簡単で最初にランダムノイズを低減したいクリップをタイムライン上に配置し同一映像のクリップのフレーム位置が同一になる様に配置します。
次に合成機能のブレンドモードを加算平均可能なモードに設定しランダムノイズを低減したいクリップと同一映像のクリップの不透明度を調整します。この時ランダムノイズを低減したいクリップはそのままにしておきます。
操作は以上で完了となります。
簡単な作業で画質劣化を抑えた確実なランダムノイズ低減を行える事が魅力的なこの方法ですけれども、画質劣化の要因が全く無い訳ではございませんのでその点に注意する必要があります。
複数回キャプチャした同一映像にH-Shiftが生じている場合、H-Shiftが大きければ大きい程に高域成分の減衰につながり結果として解像度の低下とディテールの損失をもたらす事に繋がります。
Final Cut Pro Xを用いる場合、その合成処理にRGB色空間が用いられているようでDeMatrix, ReMatrixに伴う画質劣化が生じます。これを避ける為には合成処理をYUV色空間で行うアプリケーションが必要となります。
残念ながら諸事情有り今回はランダムノイズ低減効果のサンプルを用意する事が出来ませんでしたけれど、確かな効果を得る事が可能です。
私にとっては合成処理にRGB色空間を用いる事が原因で生じる画質劣化が悩ましくYUV色空間で合成処理を行うアプリケーションを用いたく思います。
NLEの機能を応用したランダムノイズ低減方法をご提案下さったフォロワー様に感謝いたします。