エッジに残る色を解決するテクニック・10選
- 2024/03/24
実写合成では、エッジ部分にどうしても不適切な色が残ってしまうことがあります。これは、通常エッジに存在する半透明ピクセルで発生します。ブレた物体のエッジなどでは半透明ピクセルが大量にあるため顕著です。
このような画像では、RGBチャンネルとアルファチャンネルの2つの要素から成立します。多くの場合、原因はアルファチャンネルではなく、RGBチャンネルの方にあります。エッジ部分のピクセルの色が、撮影されたときの背景色とブレンドされてしまっているからです。アルファチャンネル(マスク)がどんなに完璧でも、RGBチャンネルが原因となり、この問題が発生します。
どう対処するのが正しいのでしょう?
良いニュースと悪いニュースがある。
良いニュースは、今から10個ものテクニックを紹介することだ。
悪いニュースは、万能のテクニックは1つもないことだ。
たとえば、あるテクニックを使うと、人物の体のエッジは非常にうまくいくのに、顔のエッジはひどい見た目になります。そのため、根気よくマスクを切って、うまくいった部分だけ使う、というやり方になります。複数のテクニックを適材適所で使い分けるわけです。
それでは、私なりに整理した10種類のテクニックを紹介したいと思います。
1つめのテクニックは、エッジを削るという単純なものです。ちょっと削ったらうまくいく、というケースはあります。それで自然に見えるなら、良い方法だと思います。
たいていの合成ソフトウェアには、エッジを削るツールが用意されていると思います。NukeにはErodeノードがあります。AfterEffectsだと[チョーク]エフェクトです。もしこういった機能がなくても大丈夫です。アルファチャンネルに対してわずかにブラーを適用し、黒レベルを詰めるだけで、ひと回りやせたアルファチャンネルをつくることができます。
しかし、この手法の問題点は、形状がやせ細っていくことです。非常に小さい物体の場合はわずかに削っただけで変にやせ細って見える問題が発生します。また、形状も周囲のピクセルとブレンドされることで繊細さが失われていきます。
大きくブレている場合はかなり削る必要があり、削るとほとんど何もなくなってしまったりするので、この方法は使えません。また、髪の毛など細かい物体も削ると何もなくなってしまうので使えません。
つまり、この手法は実際には使えないケースも多いわけです。他の方法を考える必要がありそうです。
エッジを削らずにやるとしたら、エッジのRGBカラーをカラコレする、という方法になります。たとえば黒ずんだエッジを明るくして、合成後の背景に馴染むように調整できます。
黒ずんだエッジの原因はRGBカラーです。エッジマット(Egde Matte)を使って、RGBカラーのカラコレを行います。もちろん完璧にうまくいくとは限りません。場所によって、かえって変になったりもします。
エッジマットは、合成ソフトウェアに搭載されている輪郭検出(Edge Detect)機能を使ってつくることが多いと思います。もしこのような機能がなくても、大丈夫です。アルファチャンネルにブラーを適用してから、中間色のみを白に、他は黒にするトーン調整でエッジマットをつくることができます。
または、内側に削ったコアマット(Core Matte)をつくったりします。「1. エッジを削る」で説明した方法でアルファチャンネルを削って、適度にぼかします。このマットを使って、オリジナル素材を内側にかぶせて戻すことができます。または、このマットを反転させてエッジだけに効果を適用するという使い方もできます。
エッジのカラコレに似た方法ですが、グリーンバック撮影などのとき限定の手法があります。デスピル(Despill)を工夫することで、エッジの色を変えるテクニックです。これも完璧にすべてのエッジがうまくいくわけではありませんが、ある程度有効な手法です。
たとえば、この例では、普通にデスピルを行うと、グリーンバックが暗くなり、エッジの黒ずみを引き起こしていました。
そこで、思い切ったデスピルによって、グリーンバック部分の明るさや色を変えてしまいます。合成後の背景次第で、明るくした方が良かったり、暗くした方が良かったりすると思います。今回はおおげさな例として、色味まで変えてしまいました。
どのようなプロセスで実行できるかというと、「デスピル前の元素材」と「一般的なデスピル後の素材」の差分を減算(Substract)、つまり引き算によってつくります。この素材はスピルマップ(Spill Map)とかデスピルマット(Despill Matte)と呼ばれることがあります。これを白黒にして、カラコレ用のマスクとして利用したり、あるいはこの素材そのものをカラコレして加算(Add)して利用できます。
Nukeでは、コンポジターのグザヴィエ・ブルク(Xavier Bourque)が"Pixelfudger"(ピクセルファッジャー)として公開しているツール群のパッケージの中に、PxF_KillSpill(ピーエックスエフ-キルスピル)というデスピルのツールがあります。このツールは、2015年にテラオカマサヒロ氏のCGWORLDの連載で紹介されたり、2017年にはブログShizlogさんの記事で紹介されており、Nukeユーザーの中ではそれなりに有名なツールだと思うのですが、[SpillTweak]という値を調整して、グリーン部分を明るくしたり、暗くしたりする機能があります。これはまさにスピルマップを利用したカラコレ機能です。
https://www.youtube.com/watch?v=Zc9yrC2rmIo
エッジをぼかす、エッジブラー(Edge Blur)も1つのテクニックです。エッジに生じていた問題をごまかすことができます。
合成ソフトウェアによっては、エッジブラーの機能が搭載されているかもしれません。もしこの機能がなくても、前述のエッジマットやコアマットを利用して、同じような効果は得られます。
背景と合成後にブラーを追加する、エッジブレンディング(Edge Blending)のテクニックもあります。もっとも、前景のエッジにだけブラーを適用するか、エッジブレンディングのように背景と合成後に適用するかは、やり方の細かいバリエーションに過ぎません。エッジブレンディングについては、[別記事:合成のなじみを良くする「エッジブレンディング」のテクニック] で紹介しました。よろしければご一読ください。
これは「4. エッジブラー」に考え方が似ていますが、エッジに後処理モーションブラーを適用するというテクニックがあります。撮影された映像のブレに忠実なマスクをつくると、どうしてもエッジに背景色を拾ってしまいます。そこで、あえてブレを無視した硬いマスクにして、背景色をなるべく拾わないようにします。切り抜いた後にモーションブラーを適用します。前景の色が引き延ばされ、自然なブレが再現されます。
合成ソフトウェアには後処理で疑似モーションブラーを適用するツールがあったりします。RE:Vision Effects社のReelSmart Motion Blur(リールスマートモーションブラー)というプラグインも有名です。
この画像では、分かりやすいように全体に後処理モーションブラーを適用しました。しかし、この効果はエッジだけに行い、内側はオリジナルのままにしてやる必要があります。前述のエッジマットやコアマットが役に立ちます。
NukeではPixelfudgerの中に、PxF_VectorEdgeBlur(ピーエックスエフ-ベクターエッジブラー)というツールがあります。デモビデオを見ると、このテクニックの考え方がよく分かります。
https://www.youtube.com/watch?v=mGIMNoZ7l-0
この手法の問題は、疑似モーションブラーがいつも自然に掛かるとは限らないことです。分析がうまくいかず、変なモーションブラーが適用されることがあります。フレームごとにブラー量を調整したり、うまくいかない場合は手動で方向ブラーを掛け直したり、少し手間をかける必要が出てくることがあります。
アディティブキーヤー(Additive Keyer)は、グリーンバック/ブルーバックの前景と背景を数学的にブレンドする有名なテクニックです。ブレや髪の毛、煙といった半透明なピクセルを、非常に自然に合成できます。
アディティブキーヤーについては、[別記事:アディティブキーヤーとは何か?(そしてアダプティブデスピルとは?)] で詳しく解説しています。よろしければご一読ください。
アダプティブデスピル(Adaptive Despill)というのはスティーブ・ライト流の呼び名ですが、アディティブキーヤーに似たアプローチで、数学的に前景と背景を融合します。これも、非常に自然にエッジを合成できるテクニックです。同じく[別記事:アディティブキーヤーとは何か?(そしてアダプティブデスピルとは?)] で詳しく解説しました。
アディティブキーヤーおよびアダプティブデスピルは、従来では考えられなかったレベルで自然なエッジを実現できることがあります。しかし、これらのテクニックの問題は、均一な背景が必要なことです。つまりグリーンバック撮影などのとき限定の手法です。さらに言うと、わずかなムラさえも問題になるため、グリーンバックで撮影された場合でも、完全に均一な背景色にするスクリーンクリーン処理(Screen Clean)が必要になったりします。また、その過程でクリーンプレート(Clean Plate)を作成する必要も出てくると思います。
このスクリーンクリーン処理やクリーンプレートのテクニックについては、[別記事:スクリーンクリーン: Nukeでグリーンバックを均一にするテクニック]で紹介しています。しかし、グリーンバック撮影の状況が悪ければ、うまくいかないこともあると思います。
エッジエクステンド(Edge Extend)、エッジエクステンション(Edge Extension)、エクステンドエッジ(Extend Edge)などと呼ばれる、有名なテクニックがあります。エッジの不適切な色を除去するために、少し内側の問題のないピクセルの色を引き伸ばして塗りつぶすテクニックです。
代表的なプロセスとしては、前述した「1. エッジを削る」の手法でエッジを一度削るのですが、その後ブラーを適用することで再び範囲を広げて、そこでアンプリマルチプライ(Unpremultiply)=アルファチャンネルによる除算を実行することでRGBカラーを復活させ、太らせます。これはブラー&アンプリマルト(Blur and Unpremult)とか、ブラー&グロウ(Blur and Grow=ぼかして伸ばす)などと呼ばれるテクニックです。これをオリジナルのアルファで切り抜けば、エッジは削らずに、内側の色で引き伸ばされた状態にできます。大きな範囲で伸ばしたい場合、大きなブラーを1回でやろうとすると周囲のピクセルと混ぜ合わさって良くない結果になるため、小さなブラー&アンプリマルトを5回とか10回とか繰り返します。
この画像では、全体にブラーが適用されていますが、この効果はエッジだけに行い、内側はオリジナルのままにしてやる必要があります。エッジマットやコアマットが役に立ちます。
Nukeではv12から標準でEdge Extendノードが搭載されましたが、それ以前からNukeユーザーが開発してNukepediaで公開していたツールの方が優秀で、よく使われていると思います。フランク・ルーター(FrankRueter)のEdgeExtend、マイケル・ギャレット(Michael Garrett)のVectorExtendEdge、リチャード・フレイザー(Richard Frazer)のColourSmear、エイドリアン・プエヨ(Adrian Pueyo)のapEdgePush、Spin VFX社のEdge_Expand、ロブ・バニスター(Rob Bannister)のEdge、アンドレアス・フリッキンジャー(Andreas Frickinger)のKillOutlineなどたくさんのツールがあります。個人的にはVectorExtendEdgeを好んで使っています。バリエーションがあるのは、ピクセルを引き延ばす方法にいろいろあるためです。前述の小さなブラーの繰り返しでは、外側に行くほどだんだん周囲とにじんでしまう問題があります。そこでNukeユーザーはベクターブラーでシャープなままピクセルを引き延ばすやり方なども生み出したわけです。Nukeのさまざまなエッジエクステンドについては、シニアコンポジターのセバスチャン・シュット(Sebastian Schütt)のYoutubeチャンネル、Split The Diff(スプリット・ザ・ディフ="中間で行こう")で詳しく紹介されています。
https://www.youtube.com/watch?v=H6ZWvByfEpE
After Effectsでは[ハードマットを調整]エフェクトと [ソフトマットを調整]エフェクトの中に [エッジカラーを除去]という名前でエッジエクステンドの機能が含まれています。多分どちらでも同じかと思いますが、ここでは [ハードマットを調整] エフェクトで説明します。[ぼかし]、[コントラスト]、[エッジをシフト]、[エッジのガタつきを軽減] などは "0" に設定し、[モーションブラーを使用] のチェックも外します。[エッジカラーを除去] のチェックだけはオンにして、[半径を大きくする] の数値を上げ下げして、内側に攻め込む量を決めます。[マップを表示] のチェックを入れると、どこまで内側に攻め込んでいるか表示できます。
https://www.youtube.com/watch?v=mT8y7D713Jw
エッジエクステンドは、非常に良好な結果を得られることもありますが、万能ではありません。このテクニックは、どうしてもディティールを損なう側面があります。エッジ周辺に細かいディティールを持っている箇所では、あまり良くない結果になることがあります。
手動でペイントするというやり方もあります。「8. エッジエクステンド」の手動バージョンです。根気よく1フレームごとにペイントします。Photoshopの「指先ツール」のようなツールでピクセルを引っ張って引き伸ばします。
または、この手法のバリエーションとして、色平面を乗せるというやり方があります。指先ツールでやるよりも早く済ませることができます。しかし、そのぶん精度が落ちるかもしれません。
手動でのペイントは、フレーム数が少ない場合には有効で、狙った通りの結果を得られるメリットがあります。エッジエクステンドよりも自在に細かくコントロールできます。問題は、手作業なので時間が掛かるということです。フレーム数があまりに多いなら、他の方法を検討すべきでしょう。
うまく抜き出すのが本当に難しい場合は、静止フレームを使って置き換えてしまうという判断も必要です。
たとえば、物体がブレすぎて完全に背景とブレンドされてしまっていることがあります。こうなると抜き出すのはほとんど不可能です。まともな色のエリアが残っていないので、エッジエクステンドも役に立ちません。手動によるペイントは使えるかもしれません。しかし、そもそも溶けすぎているとアルファチャンネルを正しくつくるのも難しくなります。
このような場合、ブレてないフレームを静止させて切り抜いて、2Dでキーフレームアニメーションさせてモーションブラー掛けて、自分で作った素材に置き換えてしまう方が、より自然な合成結果を得られることがあります。
同じ考え方で、髪の毛や木の枝など、どうしてもうまく処理できない細かい物体を置き換えてしまうことがあります。また、煙越しに撮影された物体なども、合成した輪郭が分かってしまうため、置き換えた方が自然な合成結果になる場合があります。
もちろん、入れ替えるのは必要最小限に留めます。実写合成では、「なるべくオリジナル素材に忠実に仕上げるべき」というセオリー的な考え方があります。そのため、むやみやたらと入れ替えるべきではないと思います。そういう意味では、この手法は最終手段かもしれません。しかし、この最終手段でなければどうにもならないというケースは、しばしばあると思います。
最後までお読みいただきありがとうございました!結局のところ、うまい話はないようです。いろいろやって、何とかする。それが合成の仕事の大変なところであり、面白いところかもしれません。
AIがエッジを完璧に仕上げてくれる時代は来る。だが、今日じゃない。
もうしばらく、人類にやらせてもらいましょう。
【Credit/クレジット】
Original footage of "Tears of Steel"(2012) by Blender Foundation is licensed under CC BY 3.0
この記事内では、2012年にBlenderの普及のために制作された短編映画「Tears of Steel」のフッテージを使用しました。
Blender Foundationにより、CC-BY ライセンスの下で公開されています。
Tears of Steel. 4 TB original 4k footage available as CC-by
https://mango.blender.org/production/4-tb-original-4k-footage-available-as-cc-by/
Index of /tearsofsteel/tearsofsteel-footage-exr
https://media.xiph.org/tearsofsteel/tearsofsteel-footage-exr/
また、ActionVFX の Practice Footage Library も使用しました。
https://www.actionvfx.com/practice-footage
【References/参考文献】
shiz. "[Nuke] キーイングTips2: rgb編". Shizlog. 2017-05-18. http://shizukalog.blogspot.com/2017/05/nuke-tips2-rgb.html (参照 2024-03-16).
このような画像では、RGBチャンネルとアルファチャンネルの2つの要素から成立します。多くの場合、原因はアルファチャンネルではなく、RGBチャンネルの方にあります。エッジ部分のピクセルの色が、撮影されたときの背景色とブレンドされてしまっているからです。アルファチャンネル(マスク)がどんなに完璧でも、RGBチャンネルが原因となり、この問題が発生します。
どう対処するのが正しいのでしょう?
良いニュースと悪いニュースがある。
良いニュースは、今から10個ものテクニックを紹介することだ。
悪いニュースは、万能のテクニックは1つもないことだ。
たとえば、あるテクニックを使うと、人物の体のエッジは非常にうまくいくのに、顔のエッジはひどい見た目になります。そのため、根気よくマスクを切って、うまくいった部分だけ使う、というやり方になります。複数のテクニックを適材適所で使い分けるわけです。
それでは、私なりに整理した10種類のテクニックを紹介したいと思います。
1. エッジを削る
1つめのテクニックは、エッジを削るという単純なものです。ちょっと削ったらうまくいく、というケースはあります。それで自然に見えるなら、良い方法だと思います。
たいていの合成ソフトウェアには、エッジを削るツールが用意されていると思います。NukeにはErodeノードがあります。AfterEffectsだと[チョーク]エフェクトです。もしこういった機能がなくても大丈夫です。アルファチャンネルに対してわずかにブラーを適用し、黒レベルを詰めるだけで、ひと回りやせたアルファチャンネルをつくることができます。
しかし、この手法の問題点は、形状がやせ細っていくことです。非常に小さい物体の場合はわずかに削っただけで変にやせ細って見える問題が発生します。また、形状も周囲のピクセルとブレンドされることで繊細さが失われていきます。
大きくブレている場合はかなり削る必要があり、削るとほとんど何もなくなってしまったりするので、この方法は使えません。また、髪の毛など細かい物体も削ると何もなくなってしまうので使えません。
つまり、この手法は実際には使えないケースも多いわけです。他の方法を考える必要がありそうです。
2. エッジをカラコレする
エッジを削らずにやるとしたら、エッジのRGBカラーをカラコレする、という方法になります。たとえば黒ずんだエッジを明るくして、合成後の背景に馴染むように調整できます。
黒ずんだエッジの原因はRGBカラーです。エッジマット(Egde Matte)を使って、RGBカラーのカラコレを行います。もちろん完璧にうまくいくとは限りません。場所によって、かえって変になったりもします。
エッジマットは、合成ソフトウェアに搭載されている輪郭検出(Edge Detect)機能を使ってつくることが多いと思います。もしこのような機能がなくても、大丈夫です。アルファチャンネルにブラーを適用してから、中間色のみを白に、他は黒にするトーン調整でエッジマットをつくることができます。
または、内側に削ったコアマット(Core Matte)をつくったりします。「1. エッジを削る」で説明した方法でアルファチャンネルを削って、適度にぼかします。このマットを使って、オリジナル素材を内側にかぶせて戻すことができます。または、このマットを反転させてエッジだけに効果を適用するという使い方もできます。
3. デスピルを工夫する
エッジのカラコレに似た方法ですが、グリーンバック撮影などのとき限定の手法があります。デスピル(Despill)を工夫することで、エッジの色を変えるテクニックです。これも完璧にすべてのエッジがうまくいくわけではありませんが、ある程度有効な手法です。
たとえば、この例では、普通にデスピルを行うと、グリーンバックが暗くなり、エッジの黒ずみを引き起こしていました。
そこで、思い切ったデスピルによって、グリーンバック部分の明るさや色を変えてしまいます。合成後の背景次第で、明るくした方が良かったり、暗くした方が良かったりすると思います。今回はおおげさな例として、色味まで変えてしまいました。
どのようなプロセスで実行できるかというと、「デスピル前の元素材」と「一般的なデスピル後の素材」の差分を減算(Substract)、つまり引き算によってつくります。この素材はスピルマップ(Spill Map)とかデスピルマット(Despill Matte)と呼ばれることがあります。これを白黒にして、カラコレ用のマスクとして利用したり、あるいはこの素材そのものをカラコレして加算(Add)して利用できます。
Nukeでは、コンポジターのグザヴィエ・ブルク(Xavier Bourque)が"Pixelfudger"(ピクセルファッジャー)として公開しているツール群のパッケージの中に、PxF_KillSpill(ピーエックスエフ-キルスピル)というデスピルのツールがあります。このツールは、2015年にテラオカマサヒロ氏のCGWORLDの連載で紹介されたり、2017年にはブログShizlogさんの記事で紹介されており、Nukeユーザーの中ではそれなりに有名なツールだと思うのですが、[SpillTweak]という値を調整して、グリーン部分を明るくしたり、暗くしたりする機能があります。これはまさにスピルマップを利用したカラコレ機能です。
https://www.youtube.com/watch?v=Zc9yrC2rmIo
4. エッジブラー
エッジをぼかす、エッジブラー(Edge Blur)も1つのテクニックです。エッジに生じていた問題をごまかすことができます。
合成ソフトウェアによっては、エッジブラーの機能が搭載されているかもしれません。もしこの機能がなくても、前述のエッジマットやコアマットを利用して、同じような効果は得られます。
背景と合成後にブラーを追加する、エッジブレンディング(Edge Blending)のテクニックもあります。もっとも、前景のエッジにだけブラーを適用するか、エッジブレンディングのように背景と合成後に適用するかは、やり方の細かいバリエーションに過ぎません。エッジブレンディングについては、[別記事:合成のなじみを良くする「エッジブレンディング」のテクニック] で紹介しました。よろしければご一読ください。
5. 後処理モーションブラーでブレをつくる
これは「4. エッジブラー」に考え方が似ていますが、エッジに後処理モーションブラーを適用するというテクニックがあります。撮影された映像のブレに忠実なマスクをつくると、どうしてもエッジに背景色を拾ってしまいます。そこで、あえてブレを無視した硬いマスクにして、背景色をなるべく拾わないようにします。切り抜いた後にモーションブラーを適用します。前景の色が引き延ばされ、自然なブレが再現されます。
合成ソフトウェアには後処理で疑似モーションブラーを適用するツールがあったりします。RE:Vision Effects社のReelSmart Motion Blur(リールスマートモーションブラー)というプラグインも有名です。
この画像では、分かりやすいように全体に後処理モーションブラーを適用しました。しかし、この効果はエッジだけに行い、内側はオリジナルのままにしてやる必要があります。前述のエッジマットやコアマットが役に立ちます。
NukeではPixelfudgerの中に、PxF_VectorEdgeBlur(ピーエックスエフ-ベクターエッジブラー)というツールがあります。デモビデオを見ると、このテクニックの考え方がよく分かります。
https://www.youtube.com/watch?v=mGIMNoZ7l-0
この手法の問題は、疑似モーションブラーがいつも自然に掛かるとは限らないことです。分析がうまくいかず、変なモーションブラーが適用されることがあります。フレームごとにブラー量を調整したり、うまくいかない場合は手動で方向ブラーを掛け直したり、少し手間をかける必要が出てくることがあります。
6. アディティブキーヤー
アディティブキーヤー(Additive Keyer)は、グリーンバック/ブルーバックの前景と背景を数学的にブレンドする有名なテクニックです。ブレや髪の毛、煙といった半透明なピクセルを、非常に自然に合成できます。
アディティブキーヤーについては、[別記事:アディティブキーヤーとは何か?(そしてアダプティブデスピルとは?)] で詳しく解説しています。よろしければご一読ください。
7. アダプティブデスピル
アダプティブデスピル(Adaptive Despill)というのはスティーブ・ライト流の呼び名ですが、アディティブキーヤーに似たアプローチで、数学的に前景と背景を融合します。これも、非常に自然にエッジを合成できるテクニックです。同じく[別記事:アディティブキーヤーとは何か?(そしてアダプティブデスピルとは?)] で詳しく解説しました。
アディティブキーヤーおよびアダプティブデスピルは、従来では考えられなかったレベルで自然なエッジを実現できることがあります。しかし、これらのテクニックの問題は、均一な背景が必要なことです。つまりグリーンバック撮影などのとき限定の手法です。さらに言うと、わずかなムラさえも問題になるため、グリーンバックで撮影された場合でも、完全に均一な背景色にするスクリーンクリーン処理(Screen Clean)が必要になったりします。また、その過程でクリーンプレート(Clean Plate)を作成する必要も出てくると思います。
このスクリーンクリーン処理やクリーンプレートのテクニックについては、[別記事:スクリーンクリーン: Nukeでグリーンバックを均一にするテクニック]で紹介しています。しかし、グリーンバック撮影の状況が悪ければ、うまくいかないこともあると思います。
8. エッジエクステンド
エッジエクステンド(Edge Extend)、エッジエクステンション(Edge Extension)、エクステンドエッジ(Extend Edge)などと呼ばれる、有名なテクニックがあります。エッジの不適切な色を除去するために、少し内側の問題のないピクセルの色を引き伸ばして塗りつぶすテクニックです。
代表的なプロセスとしては、前述した「1. エッジを削る」の手法でエッジを一度削るのですが、その後ブラーを適用することで再び範囲を広げて、そこでアンプリマルチプライ(Unpremultiply)=アルファチャンネルによる除算を実行することでRGBカラーを復活させ、太らせます。これはブラー&アンプリマルト(Blur and Unpremult)とか、ブラー&グロウ(Blur and Grow=ぼかして伸ばす)などと呼ばれるテクニックです。これをオリジナルのアルファで切り抜けば、エッジは削らずに、内側の色で引き伸ばされた状態にできます。大きな範囲で伸ばしたい場合、大きなブラーを1回でやろうとすると周囲のピクセルと混ぜ合わさって良くない結果になるため、小さなブラー&アンプリマルトを5回とか10回とか繰り返します。
この画像では、全体にブラーが適用されていますが、この効果はエッジだけに行い、内側はオリジナルのままにしてやる必要があります。エッジマットやコアマットが役に立ちます。
Nukeではv12から標準でEdge Extendノードが搭載されましたが、それ以前からNukeユーザーが開発してNukepediaで公開していたツールの方が優秀で、よく使われていると思います。フランク・ルーター(FrankRueter)のEdgeExtend、マイケル・ギャレット(Michael Garrett)のVectorExtendEdge、リチャード・フレイザー(Richard Frazer)のColourSmear、エイドリアン・プエヨ(Adrian Pueyo)のapEdgePush、Spin VFX社のEdge_Expand、ロブ・バニスター(Rob Bannister)のEdge、アンドレアス・フリッキンジャー(Andreas Frickinger)のKillOutlineなどたくさんのツールがあります。個人的にはVectorExtendEdgeを好んで使っています。バリエーションがあるのは、ピクセルを引き延ばす方法にいろいろあるためです。前述の小さなブラーの繰り返しでは、外側に行くほどだんだん周囲とにじんでしまう問題があります。そこでNukeユーザーはベクターブラーでシャープなままピクセルを引き延ばすやり方なども生み出したわけです。Nukeのさまざまなエッジエクステンドについては、シニアコンポジターのセバスチャン・シュット(Sebastian Schütt)のYoutubeチャンネル、Split The Diff(スプリット・ザ・ディフ="中間で行こう")で詳しく紹介されています。
https://www.youtube.com/watch?v=H6ZWvByfEpE
After Effectsでは[ハードマットを調整]エフェクトと [ソフトマットを調整]エフェクトの中に [エッジカラーを除去]という名前でエッジエクステンドの機能が含まれています。多分どちらでも同じかと思いますが、ここでは [ハードマットを調整] エフェクトで説明します。[ぼかし]、[コントラスト]、[エッジをシフト]、[エッジのガタつきを軽減] などは "0" に設定し、[モーションブラーを使用] のチェックも外します。[エッジカラーを除去] のチェックだけはオンにして、[半径を大きくする] の数値を上げ下げして、内側に攻め込む量を決めます。[マップを表示] のチェックを入れると、どこまで内側に攻め込んでいるか表示できます。
https://www.youtube.com/watch?v=mT8y7D713Jw
エッジエクステンドは、非常に良好な結果を得られることもありますが、万能ではありません。このテクニックは、どうしてもディティールを損なう側面があります。エッジ周辺に細かいディティールを持っている箇所では、あまり良くない結果になることがあります。
9. 手動でペイントする
手動でペイントするというやり方もあります。「8. エッジエクステンド」の手動バージョンです。根気よく1フレームごとにペイントします。Photoshopの「指先ツール」のようなツールでピクセルを引っ張って引き伸ばします。
または、この手法のバリエーションとして、色平面を乗せるというやり方があります。指先ツールでやるよりも早く済ませることができます。しかし、そのぶん精度が落ちるかもしれません。
手動でのペイントは、フレーム数が少ない場合には有効で、狙った通りの結果を得られるメリットがあります。エッジエクステンドよりも自在に細かくコントロールできます。問題は、手作業なので時間が掛かるということです。フレーム数があまりに多いなら、他の方法を検討すべきでしょう。
10. 静止フレームを使って置き換える
うまく抜き出すのが本当に難しい場合は、静止フレームを使って置き換えてしまうという判断も必要です。
たとえば、物体がブレすぎて完全に背景とブレンドされてしまっていることがあります。こうなると抜き出すのはほとんど不可能です。まともな色のエリアが残っていないので、エッジエクステンドも役に立ちません。手動によるペイントは使えるかもしれません。しかし、そもそも溶けすぎているとアルファチャンネルを正しくつくるのも難しくなります。
このような場合、ブレてないフレームを静止させて切り抜いて、2Dでキーフレームアニメーションさせてモーションブラー掛けて、自分で作った素材に置き換えてしまう方が、より自然な合成結果を得られることがあります。
同じ考え方で、髪の毛や木の枝など、どうしてもうまく処理できない細かい物体を置き換えてしまうことがあります。また、煙越しに撮影された物体なども、合成した輪郭が分かってしまうため、置き換えた方が自然な合成結果になる場合があります。
もちろん、入れ替えるのは必要最小限に留めます。実写合成では、「なるべくオリジナル素材に忠実に仕上げるべき」というセオリー的な考え方があります。そのため、むやみやたらと入れ替えるべきではないと思います。そういう意味では、この手法は最終手段かもしれません。しかし、この最終手段でなければどうにもならないというケースは、しばしばあると思います。
まとめ
最後までお読みいただきありがとうございました!結局のところ、うまい話はないようです。いろいろやって、何とかする。それが合成の仕事の大変なところであり、面白いところかもしれません。
AIがエッジを完璧に仕上げてくれる時代は来る。だが、今日じゃない。
もうしばらく、人類にやらせてもらいましょう。
【Credit/クレジット】
Original footage of "Tears of Steel"(2012) by Blender Foundation is licensed under CC BY 3.0
この記事内では、2012年にBlenderの普及のために制作された短編映画「Tears of Steel」のフッテージを使用しました。
Blender Foundationにより、CC-BY ライセンスの下で公開されています。
Tears of Steel. 4 TB original 4k footage available as CC-by
https://mango.blender.org/production/4-tb-original-4k-footage-available-as-cc-by/
Index of /tearsofsteel/tearsofsteel-footage-exr
https://media.xiph.org/tearsofsteel/tearsofsteel-footage-exr/
また、ActionVFX の Practice Footage Library も使用しました。
https://www.actionvfx.com/practice-footage
【References/参考文献】
shiz. "[Nuke] キーイングTips2: rgb編". Shizlog. 2017-05-18. http://shizukalog.blogspot.com/2017/05/nuke-tips2-rgb.html (参照 2024-03-16).
- 関連記事
-
- 「バンディング」って何?「マッハバンド」は誤用?調べてみました! (2024/06/30)
- エッジに残る色を解決するテクニック・10選 (2024/03/24)
- VFXと色収差 (2023/10/04)
- アディティブキーヤーとは何か?(そしてアダプティブデスピルとは?) (2023/04/22)
- 「ライトラップ」という合成テクニック (2019/01/09)
- VFX用・合成用の映像素材集まとめ (2018/07/05)
- 動画合成でマスクを切るときのコツ (2018/06/20)
- 実写合成のチェックリスト (2018/03/06)
- 合成のなじみを良くする「エッジブレンディング」のテクニック (2017/04/11)
- グローは最後に合成すべし (2016/08/20)
- VFX制作のコンポジット作業で注意すべき10項目 (2016/07/01)
- 影を合成するテクニック (2015/12/13)
- 画面の見映えを良くする配色のテクニック (2015/08/22)
- グロー表現のクオリティーを高める3つのポイント (2015/07/25)
- 分かる!リニアワークフローのコンポジット (2015/06/13)