Alpha Channels and Premultiplication
Clearly, you don't need to be able to write out the compositing formula to composite, any more than you need to be able to design a car in order to drive one. After Effects helps you by shielding this formula and many other mathematical portions of the compositing operations from your view.
Ignorance is not always bliss, however, when it comes to premultiplication, which After Effects also largely shields from view when you build a composition. Like Photoshop, After Effects uses non-premultiplied data for the compositing operation (that's how it operates internally), yet it never explicitly tells you (or even allows you to find out) how and when an image is premultiplied and unmultiplied as it makes its way through the image pipeline.
Fortunately, After Effects does an effective job of managing premultiplication under normal circumstances—fortunate because managing it yourself is a tedious process. You just need to know how things can go wrong, the symptoms that show you that something has gone wrong, and what to do to set it right.
Premultiplication exists for one reason only: so that source images look nice, with realistic, anti-aliased edges, before they are composited.
That's right, we have premultiplication just so that a matted object looks right against a black background when it comes out of, say, your 3D animation program. All premultiplication does is composite the foreground against the background, so that the edges and transparency blend as well into that solid color (typically black) as they would against the final background.
It is the color channels, not the alpha channel, that distinguish premultiplied and straight alpha images. When you ask After Effects to "guess" how to interpret the footage (on import, by choosing Guess in the Interpret Footage dialog, or using Ctrl+F/Cmd+F), it looks for a solid color background with edge pixels that seem to have had that color multiplied into them.
What does it mean to have the background multiplied into the edge pixels? Revisit "Geek Alert: The Compositing Formula," but imagine the background value to be 0,0,0. There's your answer. The effect is to darken semi-transparent edge pixels if the background is black, to lighten them if it's white, and to really wreak havoc with them if it's any other color.
The close-ups in Figures 3.9a and b show a section of the same foreground image with the alpha interpreted properly and with it misinterpreted. A misinterpreted alpha either fails to remove the background color from the edge pixels, or removes color that should actually be present.
Figures 3.9a and b Motion Blur clearly reveals the sins of improper premultiplication settings. Although there are dark areas in the blur of the properly interpreted foreground, they are consistent with the dark areas of the plane itself (a). The improperly interpreted version has dark matting all around it, including in the areas of the canopy that should be translucent, and around the blur of the propeller (b). You suspect it's wrong simply because it looks bad around the edges.
Why should you care about premultiplication? First of all, because incorrectly managing your alpha channels can produce undesirable fringe artifacts. But just as important, you may find yourself in a situation where those artifacts seem to be presenting themselves although you've carefully managed the process; Suddenly your composited elements have black edges around them. Your job depends on getting to the bottom of this. There are two basic ways it can happen:
- An alpha channel is misinterpreted on import (see "Getting It Right on Import")
- A matte is added within a composition and premultiplication isn't accounted for (see "Solving the Problem Internally")
Unfortunately, users who aren't confident enough to trace the underlying problem often end up resorting to all sorts of strange machinations to try to get rid of the black edge; re-rendering the element against a different color, choking the alpha matte even though it comes from a 3D program and is accurate, and possibly even more frightening and desperate maneuvers.
Getting It Right on Import
Most people's ace in the hole if they don't really understand premultiplication is the Guess feature that sits next to the premultiplication settings in the Footage Settings dialog. A preference in Preferences > Import determines what happens when footage is imported with an alpha channel; if this is set to anything other than Ask User (the default), you may inadvertently import files without knowing what is happening to their alpha channels ( Figure 3.11 ).
Figure 3.11 By default, the import preferences are set to ask the user how to interpret an alpha channel, which is a good thing, generally speaking, as a check against errors. If you're not sure about the appropriate setting, you can click on the Guess button, which typically can determine the type of channel. If it cannot guess confidently, it generates a beep.
Is Guess ever wrong? Certainly it can be, if the factors it expects in a premultiplied alpha are there in a straight image or vice versa. Thus it is probably best not to automate this process. In the case of a premultiplied image, After Effects attempts to guess not only the setting but also the color of the background; generally this will be black or white, but watch out for situations where a 3D artist has become creative and rendered against canary yellow or powder blue. For that reason, there is an eyedropper adjacent to the Matted with Color setting (Figure 3.11). When in doubt, examine your footage without the alpha applied: If you see a solid background that is neither pure black or white and After Effects isn't detecting it, use the eyedropper.
Fundamentally, though, as an effects compositor you need to be able to examine your images and spot the symptoms of a misinterpreted alpha: dark or bright fringing in the semi-opaque edges of your foreground.
Solving the Problem Internally
The really gnarly fact is that premultiplication errors can be introduced within the After Effects pipeline. Usually this happens when you apply a selection as a track matte to footage (described in more detail toward the end of this chapter), taking After Effects out of the loop; the application still assumes there is no premultiplication present.
If you see fringing in your edges and need to solve it internally in After Effects, there is a tool to help: the Remove Color Matting effect ( Figures 3.12a and b ). This effect has one setting only, for background color, because all it does is apply the unpremultiply calculation (the antidote to premultiplication) in the same manner that it would be applied in the Footage Settings.
Figures 3.12a and b In 3.12a, the plane saved against a white background has transparency applied via a track matte, which does not unpremultiply, thus revealing evident white fringing against black. Remove Color Matting with Color set to pure white corrects the problem (b), but it is necessary to precompose the color and track matte layers first.