アルファ付き画像の種類「合成チャンネル(マットあり)」と「ストレート(マットなし)」 の明確な違いって理解して扱ってますか?内部的な処理をあまり分からずなんとなく使っている人も多いのではないでしょうか? 今回はそんな「合成チャンネル(マットあり)」と「ストレート(マットなし)」のデータの違いと、ツール側での処理について掘り下げて解説してみようと思います。
明確な違いを理解することで、エフェクト制作での意図しないエッジのにじみであるフリンジの発生を事前に防いだり、的確に対処できるようになるのでこの機会に是非理解してみましょう!
まずは、下図のαチャンネル付き画像と背景の合成をサンプルとして、アプリケーション内でどのような仕組みで合成結果が得られているのかを順を追って見ていきましょう。
あまりAfter Effectsを使っていて意識することはありませんが、上図の「合成結果」を得るためには裏で下記のような計算がされています。
上記のように手前に合成する画像、背景として合成する画像にそれぞれアルファチャンネルの画像を乗算して二つのイメージを作成します。
これがαチャンネルを使った合成の描画に使用されている内部的な計算式です。単純な色階調の掛け算(乗算)と足し算(加算)だけで処理が行われていることがわかります。
ではここまで理解していただけたら、あとは簡単です。「合成チャンネル(マットあり)」画像と、「ストレート(マットなし)」画像の違いは下図の通りです。
「合成チャンネル(マットあり)」画像では、手前のイメージがすでに乗算された状態でイメージ内に存在しているのに対し、「ストレート(マットなし)」画像では、乗算処理が行われる前の状態でカラーチャンネルが存在しています。
これが異なるαチャンネル付き画像の種類の違いです。
それではここまで理解していただけたら最後に、フリンジがなぜ発生するのか?またその場合、「カラーマット削除」エフェクトでフリンジがなぜ除去できるのかを説明したいと思います。
基本的にAfer Effectsでは画像を読み込む際に、「合成チャンネル」か「ストレート」かを最初に選択するためフリンジが発生することは基本的にはないはずです。なぜならば、「合成チャンネル」で読み込んだ画像では、αチャンネルの前景への乗算処理が行われなくなるためです。
しかしながら、フリンジが発生する場合があるのは基本的に下記の要因によるものが一般的です。
誤認識によって「合成チャンネル」画像が「ストレート」画像として読み込まれた場合、下図のような仕組みでフリンジが発生します。
上図のように、前景に乗算処理が二度にわたってかかってしまうことで、手前の画像の幅が狭くなり、背景の暗い部分との面積が合わなくなてしまった結果、縁に黒いフリンジが発生しました。
この場合は、「合成チャンネル」で読み込みなおしてあげることで解消します。
合成に伴う色調調整(カラーコレクション)を行う場合、「合成チャンネル」で読み込んだ画像に対して処理を行うとカラーフリンジが発生する場合があります。※おそらくこのケースが最も多いのではないでしょうか?
色調整やその他の加工を行う際には、様々な理由から「合成チャンネル」画像は向いていません。ストレートの状態に戻してから加工を加える必要があります。
読み込んだ素材によってはαチャンネルの具合によって「合成チャンネル」として読み込んでもカラーフリンジが発生する場合があります。
最後に、フリンジが発生した場合の対処方法として本エフェクト「カラーマット削除」がなぜに有効に作用するかを画像で解説して終了したいと思います。
上図のように、「合成チャンネル(マットあり)」画像に対してエフェクトを適用することで、一度αチャンネルで乗算(掛け算)した後のカラーチャンネルに対して、逆の計算に当たる除算(割り算)処理を行います。そのため、画像の持つカラーチャンネルが「ストレート(マットなし)」の状態と同じ状態に戻るため、フリンジが消えます。「合成チャンネル(マットあり)」画像を加工する際には、必ず『カラーマット削除』を適用するなどの方法で、「ストレート(マットなし)」画像の状態に戻してから処理を行うようにすることをお勧めします。