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 shields from view when you build a composition. Like Photoshop, After Effects uses non-premultiplied data for the compositing operation, yet it never explicitly tells you (or even lets you find out) how an image is premultiplied and unmultiplied in 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've been 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's not the alpha channel that distinguishes a premultiplied from a straight alpha image, it is the color channels. 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.
Figure 3.9a and b Motion Blur clearly reveals the sins of improper premultiply 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 (3.9a). 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 (3.9b). 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 cause 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 pre-multiplication is the Guess feature that sits next to the premultiplication settings in the Footage Settings dialog. There is also a preference that 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 be importing files with alpha channels without knowing what is happening ( 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 beeps.
Is Guess ever wrong? Yes, it can be, if the factors it expects in a premultiplied alpha are there in a straight image, or vice versa. Thus it is best not to automate this process, if only so that you're able to hear the beep. 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 an 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, look at 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), and After Effects, of course, doesn't anticipate premultiplication. If the sequence was rendered with premultiplication but the alpha channel was created on a separate pass, as a separate file, for example, you would apply that alpha using a track matte. After Effects would have no idea that the image was premultiplied, however, because the color channels came in through the back door, as it were, without an alpha.
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.
Figure 3.12a and b In 3.12a, the plane against the white background had an alpha applied via a track matte without premultiplication removed, revealing white fringing, which is clear here against the black. With the color set to pure white, the Remove Color Matting effect corrects the problem (3.12b), but only once the color and track matte layers have been pre-composed.