定番のクロマキーシステムPrimatteの最新版「PrimatteAI」は、機械学習の成果を組み込んだ自動化技術を特長としています。 しかし、自動化以外にもVFXのスペシャリストが活用できる様々な実践的技術要素を備えています。
マスクベースのワークフローを重視
複雑さを増すVFX制作現場ではクロマキー素材と背景を単純に合成して作業が終了するというケースはあまりありません。 キーイング作業は多数の制作ステップの中の一つに過ぎないでしょう。 Additive Keyerなどの技術を用いて微細な髪の毛や半透明の被写体を処理しても、結果が合成出力画像だけの場合はその後の取り回しに自由度がありません。 従来のsparkPrimatteも合成結果が出力されるだけでした。後処理を考えて、わざわざPrimatteノードをコピーしてマスク出力を取り出すという手間を多くのアーチストがかけていました。 ofxPrimatteAIは一つのノードからマスク出力と色処理済み前景が同時に得られます。RGBAチャンネルに格納され、後段でそのまま合成を行うことができます。
新オプションMixer Mode
さらに大規模な制作の場合、キーイングを外部プロダクションに委託して、マスク画像だけ入荷するというケースもあります。 微細な被写体ディテールを合成するのに必要な色処理済み前景が存在しない状態です。 グリーンスクリーンと背景をアルファ合成するとグリーンスピルが残ります。グリーンキャンセルを適用しても半透明部分や細かい髪の毛が失われてしまいます。 PrimatteAIにはこのようなケースで威力を発揮するMixerModeがあります。 MixerModeではPrimatteAIはキーイングを行いません。外部入力マスクを用いて前景と背景の合成の処理だけを実行します。 この合成処理は、アルファ合成でもアディティブミックスでもノンアディティブミックスでもなく、クロマキーバック専用の特殊な重ね合わせ処理です。 マスク画像とオリジナルのグリーン/ブルーバック画像があれば、細い髪の毛や薄い半透明前景を保持した美しい合成画像を生成することができます。 Primatte以外のキーヤーやロトスコープを用いたマスク画像でもPrimatteAIのMixerModeで処理することが可能です。
クリーンプレートの利用
バックスクリーンの照明ムラや汚れによるバックノイズは、従来のPrimatteでは「バックとみなす色領域を拡張する」という方法でクリーンにしていました。 Clean BG Noise機能です。しかし、例えば細い髪の毛を生かそうとするとバック色領域をなるべく小さく抑えておく必要があります。 そのため、細かい髪の毛の近傍のグリーンをSelectBGで選んで髪の毛を生かし、バックノイズはロトスコープなど他の方法で除去しているアーチストも多いでしょう。 さらに、別の箇所は別のグリーンをSelectBGで選んで最適なキーイングをして、後段で適切な箇所を組み合わせるというテクニックも用いられてきました。 PrimatteAIは「クリーンプレート」が標準で使われます。外部からクリーンプレートを与えることができない場合は内部で自動的に生成したクリーンプレートを用います。 クリーンプレートを用いることにより、前景被写体の各部位でそれぞれ適切なバックカラーが選ばれることになり、細部のキーイングに最適なパラメータを持てることになります。 外部クリーンプレートを使いたい場合は、実際の空舞台を撮影するという方法だけではなく、移動する被写体をロトスコープで隠した複数の画像から組み合わせで作成する方法や、 サードパーティのクリーンプレート生成フィルタを利用する方法もあります。
球体凹凸パッチ(Spherical Relief Patch)
Primatte/PrimatteAIはグリーン/ブルースクリーンの画像を三次元空間で扱います。 各ピクセルのRGBの色情報を三次元空間のXYZとして扱い、空間内で前景部分とそれ以外の部分を区分する分離面(Separating Surface)を設定してキーイングに利用しています。 従来のPrimatteは分離面として128面の多面体を用いていました。前景部分の複雑な色分布に対応するため、 PrimatteAIではより柔軟な形状の分離面を形成できる球体凹凸パッチ(Spherical Relief Patch)を導入しました。これは6万枚以上の細かいパッチを貼り合わせたメッシュ状の球体で、球面上にスムーズな凹凸を持たせることで自由度の高い分離面を定義することができます。 色相が隣接していて彩度が異なる二つの色でも最適なエッジ条件でキーイングできるようになりました。