一歩進んだ動画のために
FPSのモンタージュ動画作成のためにHitfilmを導入する人が増えている(当サイト調べ)
Hitfilmには簡単お手軽なモーションブラーが使えるのがその理由らしい
以前当サイトもこのようなチュートリアル動画を作った
ワンクリックで掛けられるモーションブラーのパラメーターの初期値は決まっている
デフォルト値でもそれなりに見れてしまうが、人間の欲は計り知れない
動画の数をこなすうちに必ずブラーの量に物足りなさを感じてしまうのだ
ここまで来たら一段上の動画編集を目指して
モーションブラーを自分好みにアレンジしてみてはいかがでしょうか
モーションブラーの設定方法とか
設定を変えた時のモーションブラーの見え方を確認した時に作った動画
文字を読むのが面倒な人はこれを見ればだいたいわかるようにはしたつもり
モーションブラーを初期状態からカスタム出来るように変更
まずはEffectsタブからBlurs→Motion Blurを選択
モーションブラーを掛けたいクリップに適用したらコントロールタブを開き
ModeをComp SettingからCustomに変更
すると以下の値を変更できるようになる
とりあえずいい感じのモーションブラーを掛けたい人のための設定
以下に各パラメータの解説をしていくが、実際のところ一般的にリアルなモーションブラーの設定値は決まっている
デフォルトの状態からShutter Phaseを-90に変更すれば良いらしい
パラメータ解説
FxHomeのマニュアルから該当部分を翻訳してみる
Shutter Angle シャッター角度を大きくすると、より多くのモーションブラーが得られます。シャッター角度は、実際のカメラのシャッターが開いている時間をシミュレートします
Shutter Phase 動いている物体に対して、ボケの位置を決めます。対象物の前後でボケを相殺することができます。リアルなモーションブラーを実現するには、シャッターアングルの半分の値にするのが最適です。
Samples モーションブラーは、複数のフレームに渡ってレイヤーの位置をサンプリングすることで構築されます。サンプル数が多いほど、高品質なモーションブラーになります。サンプル数が少ないと、レンダリング速度は速くなりますが、モーションブラーにバンディングが発生することがあります。
最強翻訳ソフトDeepLのおかげで、なんとなく分かっただろうか
Shutter Angle
Shutter Angle シャッター角度とは写真カメラで言うところのシャッター速度
なぜ角度と言うのかというと、映画を撮影していたフィルムカメラは回転する円盤の開角度で露出時間を決めていたから
詳しくはwikipediaで
カメラと同じくシャッターを長く開いとけばボケの量は増えるので
このシャッターアングルの値を大きくするとブラーは強くなる
0度から720度の間で設定可能、初期値は180
実際に動画のキャプチャで検証していこう
いらすとやのカモメが12フレーム(0.5秒)で右端から左端に移動するHDサイズの動画の
ちょうど中間地点 6フレーム目を抜き出したものを使用する
試しにシャッター角度を倍にしてみた
確かにブラーの量は増えてはいるが、形が崩れ後述するバンディングも発生している
バンディングはサンプル数を増やす事でこのように滑らかにはなる
ちなみにシャッター角を最大にするとこんな感じになる
ここまでくると使いどころは限られてくるだろう
シネマルック、フィルムルック?
24fps=フィルム映画のフレーム数で、フィルムカメラのシャッター角度は半円の180度であった
この時、シャッター角180度はシャッタースピードに直すと1/48秒
24fpsの動画はシネマルックだとか映画っぽいとか言われるのは
ひとえにこのシャッタースピードによるボケ感の事を指している
例え24fpsの動画でもモーションブラーの設定が適切でないとシネマルックとはならないのである
シャッター角とシャッタースピードの関係
シャッター角度からシャッタースピードは次の単純な計算式で変換できます
Shutter Speed=(Shutter Angle)/(Frame rate)×360
例えば30fpsの動画でシャッター角180度の時は
180/30×360=1/60 シャッタースピードは1/60となります
Shutter Phase
モーションブラーのタイミング(位相=フェーズ)を設定するパラメーター
0を中心として位相がマイナスなら実際より後ろでブラーがかかり
プラスなら前の位置に見える
-360度から360度の間で設定可能、初期値は0
マニュアルによるとシャッターアングルの半分の値が適正と書いてあるが
正確にはシャッターアングルのマイナス1/2がリアルなモーションブラーの推奨値とされている
シャッター角が180度なら-90度、360度なら-180度といった風に
右に向かって飛んでいるカモメの位相を変えてみると
推奨値の-90だと実際の位置より左寄りにボケているのが分かる
逆に90にすると右、実際の位置よりも進んだ位置に寄っている
リアルなモーションブラーは-90の方であると言っているサイトが多い
最大値の±360度で見ると位置関係が分かりやすいと思う
一番上が本来のカモメの位置
位相を最大までずらすと前後にズレてブラーが掛かっているのが見てとれると思う
Samples
ブラーの滑らかさを決める
最小値は0、最大値は100、初期値は10
例えば2にするとシャッター角の開始と終了の2点しかサンプリングされず、ブラーに見えない
「モーションブラーにバンディングが発生」とはブラーが滑らかにグラデーションしていない状態を指す
かといって値が大きすぎるとブラーは滑らかになるがレンダリングに非常に時間が掛かるので注意
特にブラーを大きくしようとシャッター角を開くとバンディングが発生するのでサンプル数も増やす必要がある
Optical Flow
OpticalFlowとは動画のフレーム間の点の差分をベクトル化すること
ざっくり言うと、動いてる物体の任意の点が次のフレームでどこににどれだけ移動したか測定してるって事くらいの認識でいいと思う
その測定方法の精度を上げればモーションブラーも綺麗に掛かる事になるが
精度を上げるという事はレンダリングが重くなるという相反事象も考慮する必要がある
Optical Folwの値はこの5つ
Window size
現在のピクセルの動きを計算するためにスキャンされる、現在のピクセルを囲むピクセルの数
1から200の間で設定可能、デフォルト値は5
Sigma
トラッキングに使用されるアルゴリズムの値で、トラッキングの方法を変更します
シグマを変更すると、ブラーの出方に影響があります
ブラーがおかしい場合、シグマを変更することで結果が改善されるかどうか何度か試してみてください
Iterations
トラッキングアルゴリズムの実行回数です
反復実行の結果はすべて平均化されるので、反復回数が多ければ多いほど正確な結果が得られますが、計算には時間がかかります
0から10の間で設定可能
Downsamples
オプティカルフローでは、1ピクセル以下の動きしか追跡できないため、トラッキングアルゴリズムを実行する前に、画像のサンプルレートを低くする必要があります
ダウンサンプリングのレベルは複数設定することができ、アルゴリズムはダウンサンプリングのレベルごとに計算されます。ダウンサンプルの数が多ければ結果は改善されますが、計算には時間がかかります。
1から20の値を設定可能
StartDownsamples
デフォルトでは、トラッキングアルゴリズムは最初のダウンサンプルから開始し、フル解像度の画像をスキップします
これにより、画像内のノイズに惑わされにくくなります
Start Downsampleの値を大きくすると、結果が早くなりますが、トラッキング結果の解像度が下がり、精度に悪影響を及ぼす可能性があります
0から10の間で設定可能
モーションブラーが汚いと感じた時の改善方法
・Sample数を上げてみる
シャッターアングルを大きくした、もしくは物体の移動が速くバンディングが発生している時に有効
・Windowサイズを上げてみる
探索範囲を広げる効果なのでこれも移動速度が速い場合に有効かも
・ Iterations 、 Downsamples の値を大きくする
レンダリング時間は増えが精度は間違いなく良くある
・ Sigma の値を変えてみる
この係数の何がどう作用しているのかちょっと調べても出てこなかったが
上げたり下げたりするとブラーの表情が落ち着いたり崩れたりする
ちょうどいいところを探る必要はあるが即効性も高い
試す価値はある
更に進んでみたい人へ
見てきたようにモーションブラーは隣接する動画フレームのピクセルのベクトルフローを推定計算する方法で実現している
Optical flow のLucas-Kanade法(LK法)やHorn-Schunck法でググると詳しい解説が出てくるので
数学アレルギーが無い人は読んでみると面白いんではないかと思います