FCPで360度映像
編集作業で360度映像を扱う機会がありました。360度カメラで撮影された映像から適当なアングルで切り出し、カメラワークなどを付けて構成する作業です。ただし、案件での支給映像なので、ここでその映像はご紹介できません。私が持っている360度カメラは、10年ほど前に購入したRICOHのTHETAという360度静止画撮影用のカメラだけです。今回はこのRICOH THETAの静止画像を使って、Final Cut Pro(ファイナルカットプロ 以下FCP)での360度映像の取り扱いについて記載します。
INDEX
オリジナルファイルの変換
360度カメラは180度の魚眼映像を撮影できるカメラを、背中合わせに貼り合わせたような構造になっています。この2つのカメラの映像を繋ぎ合わせることで、360度全天周の映像を記録しています。RICOH THETAの場合、撮影した画像は64_fig_01のように2つのカメラの画像が貼り合わされた状態で保存されます。中央部分の正方形の範囲が正面を向いたカメラの撮影映像で、その両脇に背面を向いたカメラの撮影映像が左右に分割して繋げられています。
編集作業で支給された360度動画は拡張子が「insv」という特殊な動画ファイルで、2つのカメラに分かれた状態で映像が保存されているようでした。この拡張子で記録するカメラはInsta360社の「Insta360」シリーズカメラのようで、同社が無償で提供している「Insta360 Studio 2023.app」というアプリで前後のカメラを貼り合わせた動画に変換できました。
FCPへの読み込み
FCPでは、前記の「insv」という拡張子のファイルを扱うことはできません。「Insta360」シリーズのカメラで撮影された映像は、「Insta360 Studio 2023.app」で2つのカメラの映像が貼り合わされた動画ファイルに変換してから読み込みます。
変換したファイルの読み込み操作は、通常の素材読み込みの手順で問題ありません。読み込んだクリップのインスペクタ画面上部にある「i」ボタンをクリックして情報ページを確認すると、64_fig_01のように「360°プロジェクションモード」の項目が「エクイレクタンブラー」と設定され、360°映像のクリップとして認識されているのがわかります(64_fig_02)。
また、クリップをタイムラインに配置した際に、クリップの左上に64_fig_03のような丸いマークが表示されていれば、360度映像のクリップとして認識されています。逆にいえば、上手く360度映像として認識されない場合は、情報インスペクタページで「360°プロジェクションモード」の設定を「エクイレクタンブラー」に指定すれば、360度映像として認識させることができます。
今回扱った「Insta360」シリーズで撮影したと思われる映像は、「Insta360 Studio 2023.app」で変換すればFCPで問題なく360度映像として認識されました。一方RICOH THETAの静止画は、カメラがかなり古くこういった自動認識のコードが取り決められる前の製品だったのか、インスペクタページで「360°プロジェクションモード」を「エクイレクタンブラー」に変更する必要がありました。
タイムラインの設定
360度映像を編集するにあたって、360度映像を作成するのか通常のFHD映像や4K映像を作成するかで、作成するプロジェクトの設定が異なります。360度映像を作成する場合は、新規プロジェクトの作成画面(64_fig_04)でビデオのフォーマットを「360°」に設定します(64_fig_05)。今回のように、360度カメラの映像から適当なアングルを切り出して通常映像として編集する場合は、完成フォーマットに合わせて設定したプロジェクトを作成します。今回の場合は、1920 × 1080のFHD動画の作成だったので、「1080p HD」設定で作成しました。
タイムラインでの操作
通常設定のタイムラインに360度クリップを配置すると、恐らくカメラで正面と設定されたと思われる方向の映像が、ビューア画面に表示されます。この時クリップのビデオインスペクタを確認すると、64_fig_06のような設定項目が並びます。「合成」項目と「変形」項目の間に「方向」という設定項目が追加されています。
「チルト」がカメラの上下、「パン」がカメラの左右、「ロール」がカメラの傾き、「視野」がカメラの画角を示します。それぞれの値の単位は角度です。「チルト、「パン」「ロール」の値が「0」であることが、カメラに設定された「正面」であることを推測させます。これらの値を調整して、視点の向きを調整します。
なお、視野の示す角度が水平画角なのか垂直画角なのか、或いは対角画角を示すのかは分かりませんが、恐らく水平方向の360度に対しての角度、つまり水平画角を指すのではと思います。その場合、フルサイズセンサー換算で90度は焦点距離18mmのレンズに、100度は焦点距離15mmのレンズに相当します。(正確には15mmの水平画角は100.4度です)
「チルト」「パン」「ロール」「視野」項目には、それぞれキーフレームを追加してアニメーション処理を加えることができます。64_fig_01の360度静止画像にキーフレームを追加したビデオアニメーション画面が64_fig_07です。キーフレームの操作については「FCPのアニメーション機能 その5 キーフレームの操作」など、アニメーションカテゴリの記載をご覧ください。
ビデオアニメーション画面64_fig_07では、3箇所にキーフレームを追加しているのが分かります。3箇所の「方向」パラメータのビデオインスペクタ画面が64_fig_08です。各キーフレームに動きの緩急をつけるようなハンドル機能は無いようです。
人間の操作では困難と思われるような、大きな角度で滑らかに視点を移動するカメラワークを作り出すことができ、なかなかに圧巻です。64_movie_01が書き出した動画です。
パンやティルトの速度がやや速く、若干パラパラとした動きになっています。気になる場合は、ブラーエフェクトで動く方向に合わせてブレを追加すると、自然な雰囲気になります。
歪み補正について
360度映像は、180度魚眼というウルトラワイド画面を貼り合わせた映像なので、ワイドレンズ特有の樽型収差が気になる場合があります。FCPでも多少は補正しているように見えますが、64_movie_01のように直線のある映像だと歪みが目立つこともあります。こういった樽型収差は、プラグインフィルタを使って補正することができます。しかし、残念なことにFCPには樽型収差の補正フィルタが標準装備されていません。今回は、「Alex4D」というブランドの「Alex4D Wide Angle Fix」というプラグインフィルタを使ってみます。
このプラグインフィルタは無料で提供されており、こちらのリンクから入手可能です。シンプルな操作でワイドレンズの樽型収差を補正できます。ただし、このフィルタは広角のアクションカメラで撮影した映像の補正を想定したもので、360度映像用ではないようです。360度映像そのものに適用しても、上手く効果を発揮しません。360度映像に直接適用した場合は、映像の「正面」でのみ補正が行われ、「正面」からパン操作などをするほどに補正による歪みが出てきます。「正面」から180度パンした「背面」に相当する位置では補正の歪みが最大値に達し、上手く画像が継ぎ合わされなくなってしまいます。
64_fig_09は、360度映像を180度パンしたときの未補正画像(左)と、「Alex4D Wide Angle Fix」を適用した場合の画像(右)です。補正した右の画像は、補正の影響で画像が上手く繋がらず人物が消えています。このフィルタは通常映像用で、360度映像に適用しても効果を上手く発揮できないことが分かります。
360度映像を一旦書き出すなどして、通常のFHDや4K映像に変換したものに適用すれば問題ありません。この「一旦書き出す」作業を、「複合クリップにする」ことで省略することが可能です。つまり、360度映像を一旦複合クリップにしてから「Alex4D Wide Angle Fix」フィルタを適用すれば、問題なくその効果を発揮させることができます。64_movie_02は、64_movie_01を複合クリップにしてから「Alex4D Wide Angle Fix」を適用した動画です。樽型収差が補正され、映像の背面方向も画像が正常に繋がっています。
「Alex4D Wide Angle Fix」の操作自体はシンプルで、特定のアクションカム、或いはそれに相当する焦点距離のレンズを使っている場合は「Lens」項目でその値を、そうでない場合は「Custom」に設定して補正値を調整するだけです。
話が若干それますが、近年は多くのズームレンズなどでワイド撮影時の歪曲収差をレンズ設計で取り除くのではなく、カメラの電子処理で取り除く機材が増えています。そのため、カメラとレンズのどちらかがその機能に対応していない場合、編集ソフトで補正するしかありません。是非、FCPにもレンズの歪曲収差の補正機能を標準搭載して欲しいものです。
360度映像の手ぶれ補正
今回編集素材として使用したInsta360カメラの収録映像は、冒頭でご紹介した「Insta360 Studio 2023.app」を使って180度魚眼映像の貼り合わせを行います。このアプリにも手ぶれ補正機能が搭載されており、恐らくカメラのジャイロセンサーなどから取得・記録された情報を元にカメラの揺れを補正していくのだと思います。なかなかに優秀で、殆どの場合は「Insta360 Studio 2023.app」で処理するだけで滑らかな映像になるのですが、稀にもう一歩揺れを取り除きたい場合があります。そういった場面で、FCPの手ぶれ補正機能を適用してみました。
FCPで360度映像に対して表示される手ぶれ補正項目は、64_fig_11のように適用の有無を選択するチェックボックスのみで、非常にシンプルです。あまりにシンプルなため機能しているのか不安になりますが、「Insta360 Studio 2023.app」で取りきれなかった揺れを抑えてくれています。ただし、FCPで手ぶれ補正処理をかけた場合、カメラで撮影した際のジャイロデータを利用していないのか、解析の結果画面が傾いてしまうことがあります。ロール(Z)の値を調整すれば修正できるので大きな問題ではありませんが、パンをして視点を回転させる場合などには、パンの値ごとにロールの値を補正する必要があり少々面倒です。
360度映像にFCPの手ぶれ補正を適用した場合は、通常の映像に手ぶれ補正を適用した場合とは表示が異なり、手ぶれ補正の各種パラメータは表示されないようです。ただし、これは今回編集した映像で確認しただけなので、各社各種のカメラによって表示がどう異なるかは分かりません。
解像度について
360度映像は64_fig_01の画像をくるっと丸め、上下を上手く処理して球状にしたものです(64_fig_12)。
つまり、360度映像の横方向のピクセル数が、360度一周分のピクセル数になります。ここからアングルを90度に設定して映像を切り出した場合、切り出した映像の横幅のピクセル数は、元となる360度映像の横幅のピクセル数に対して1/4になります(図 64_fig_13)。
まとめ
今回使用したRICOH THETAの画像は、3584 × 1793ピクセルです。横幅の3684ピクセルで360度一周分の映像を構成するので、90度のアングルで切り出した映像の横幅は896ピクセルとなります。解像度としてはSD映像のようなピクセル数です。また、「Alex4D Wide Angle Fix」のような歪み補正フィルタを適用した場合は、画面の中で部分的に拡大と縮小操作を行なって歪みを補正していくため、更に解像度感は落ちてしまいます。1920 × 1080のFHD映像に切り出すには、90度のワイドアングルであっても、元の360度映像には横幅8Kの解像度が必要になり、4K映像に切り出すには16Kもの解像度が必要な計算になります。しかし、実際の製品は6K前後のピクセル数で撮影する機材が多いようです。カメラの高解像度化と、それをストレスなく処理できるPC環境が課題なように感じます。
それでも、360度映像で撮影された素材から自由にアングルを切り出し、大きくカメラを振るような大胆なカメラワークを施した映像には相応の情報量と迫力があり、やや貧弱な解像度感を補うのに充分なインパクトがあると思います。