AlphaMode - アルファモード
目次
アルファモード
アルファチャンネルの扱いを指定する列挙子
AdobeAfterEffects でのアルファチャンネルの扱い
一般的なグラフィックソフトの例に漏れずAEでもRGBAプレーンで画像を扱って居るようだぞ。
ナニが「一般的」とか云われると実は困る。
RGBAモデルは、コンピュータ(とCRTディスプレイ)と相性が良いので一般的だと思われている…とでも云ったほうが正確かもしれんが、ま、これはこの際関係ない。
で、RGBモデルの扱いはここでは触れずにアルファチャンネルについてだけ書くぞい。
アルファチャンネルは、ピクセルの不透明度を記録するチャンネルです。
単独のレイヤのみを表示する場合、あまり意味がありません。複数のレイヤを重ねて表示する場合にそのレイヤよりも下のレイヤに対して自分自身のピクセルをどのような割合で表示するかを記録します。
AEでは、画像レイヤがアルファチャンネルを保持している場合、以下の3種類の取扱が選べます。
- 1 IGUNORE 無視する
- 2 PREMULTIPLIED プレマルチプライド-アルファチャンネルとして扱う
- 3 STRAIGHT ストレートアルファチャンネルとして扱う
プレマルチタイプの素材をストレートアルファとして処理すると、画像の半透明部分に暗いフリンジが出ます。背景が明るい場合で明るい上絵などをコンポジットすると、黒い縁とかモヤで格好悪いです。画面が暗いときは、あまり目立たないです。
ストレートアルファの素材をプレマルチとして扱うと、画像の半透明部分に白いフリンジが出ます。こちらは暗い画面で目立ちます。やっぱり格好悪いです。
上記補足 ここ書いたプレマルチプライドアルファのデータは、アルファデータ 0 が 黒になる加色系のお話です。減色処理のバアイは…すみません。よく知りません。 そうだよねぇ…減色系の0は白だよねぇ…具体的には、ANIMOの書き出すtiffファイルは、プレマルチプライドアルファです。 ほかにも、ビデオ編集ソフトが書き出すアルファ付きムービーなどにこの形式があるようです。
psdファイルのアルファの扱いは、ストレートです。photoshopの書き出すtiffファイルもストレートです。
tiffは、融通が利くので両方の形式のアルファをサポートしているです。
IGUNORE
アルファチャンネルを持たない画像と同様に扱います。アルファチャンネルの値は画像に影響しません。アルファチャンネルの値が全て 1(=100%) の場合と同等です。
PREMULTIPLIED
アルファチャンネルの値があらかじめ各プレーンに乗算されているものとして処理します。このタイプのアルファチャンネルを書き出すアプリケーションと連携する場合に選択しましょう。
Premultiplied Alpha について
- プレマルチプライド アルファ
- Premultiplied Alpha
あー、なんか この名前だけみると アルファチャンネルの値に何か乗算してある様な気がするけど、RGB各プレーンの値にアルファチャンネルの値が乗算してあります。 つまりユーザが欲しい値が RGB=[0.2,0.4,0.8] / アルファ値 a=0.5 の場合に、ファイルやメモリ上に展開される値は
ストレートの場合 RGBa=[0.2,0.4,0.8,0.5] プレマルチの場合 RGBa=[0.1,0.2,0.4,0.5]となります。
変ですか? …昔私も「あれ?」とか思いました。が、よく考えてみるとちゃんと理にかなっている。
ストレートアルファを持つデータの場合、レイヤの合成は以下のような手順で行われます。(BlendingMode? が「通常(NORMAL)」のとき)
- 1.下絵に上絵のアルファを反転して乗算する。(下絵を抜く)
- 2.上絵の画像データにアルファデータを乗算する。(上絵の透明部分を抜く)
- 3.下絵と上絵を加算する。(合成終り)
bit反転 1回/乗算 6回/加算 3回 という内訳になります。このうち 2.番 の「乗算」をあらかじめ済ませておくのがプレマルチプライドアルファ処理です。
- 1.下絵に上絵のアルファを反転して乗算する。(下絵を抜く)
- 2.下絵と上絵を加算する。(合成終り)
乗算が3回減って合成の速度が上がります。ビット反転や加算と比べて乗算は重たい処理なので、たぶん倍近いパフォーマンスになるはず。
…ただし、レイヤ内のピクセルを単独で変更する時は、話が別。
この場合、ただ単にピクセルの値を変更するだけで、以下の手順が必要になります。
- アルファで除算してピクセル本来の値を出す。
- ピクセルの値を変更(加工)する。
- 再びアルファデータを乗算してメモリに戻す
という3度手間になってガッポリと処理速度が落ちることでしょう。
そんなこんなで、
- ストレートアルファはペイントソフト向き
- プレマルチは合成処理向き
って所が簡単に予想できます? そんな感じ。
STRAIGHT
プレマルチ処理を施していないプレーンを持ったファイルをストレートアルファと呼ぶようです。
AEでは、どっちかというとこちらが標準的な形式みたいです。
Powered by YukiWiki 2.1.2a / Modified by Nekomataya.