Composite Nodes

The Composite nodes enable you to combine two or more image sequences in a variety of ways. Several concepts essential to digital compositing, including alpha coverage and premultiplication, are discussed in the first section of this chapter, "Formulas and Terminology for Computing Composite Nodes ." The functionality of some composite nodes is closely related. Therefore, this chapter describes the nodes in several groups, starting with the multi-input nodes.

The Mcomp node can composite an unlimited number of RGBA image inputs using the "over" operator. The other multi-input node, Zcomp, is used instead of Mcomp when the image layers to be composited include z-depth channel data (RGBAZ):

Mcomp Node
Zcomp Node

The next group of nodes composite two image inputs based on the way in which the alpha channel data affects the other channels of the inputs, as specified in each node description:

Over, Atop, Inside, and Outside Nodes

The third group of nodes composite images based on the pixel values of the two input nodes:

Diff, Minus, Multiply, and Plus Nodes

The rest of the composite nodes, which are not particularly related, are described last:

Dissolve Node
MinMax Node
Ultimatte AE (AdvantEdge) Node

With the exception of the multi-input nodes, Mcomp and Zcomp, all of the Composite nodes require two inputs, which must match in resolution and bit depth.

Compositing Disparate Imagery

To use any of these nodes to composite inputs of different dimensions, bit depths, or frame ranges, you must use an adjustment node between one of the input nodes and the composite node to make sure the data is appropriately prepared for compositing.

For example, you may need to use a Transform or Scale node to adjust the image size, a Bit Reduce or Bit Expand node to change bit depth, or a Sequence node to reconcile disparate frame ranges. For more information about these adjustment nodes, refer to the relevant node descriptions elsewhere in this manual.

Formulas and Terminology for Computing Composite Nodes

In the descriptions of the various composite nodes that follow, we resort to the following terminology. "A" denotes the A image, or top input; "B" denotes the B image, or bottom input; and "R" denotes the resulting composite image. The lowercase letters r, g, b, and a represent the red, green, blue, and alpha channels.

For example, "Aa" would refer to the alpha channel of the A image, while "Argba" would refer to all four channels of the A image. Consequently, the formula "Rrgba = Argba + Brgba" would mean "Rr = Ar + Br," "Rg = Ag + Bg," and so on.

Fractional Multiplication

All multiplication in these formulas is assumed to be fractional. For 8-bit and 16-bit images, this means that the alpha channel value ("a") is converted into a fraction by dividing it by an appropriate value (for floating point images, it is assumed that the alpha channel value is already in the range of 0-1). The alpha is then multiplied by the color value (U):

Alpha Channel

The alpha channel contains the transparency/opacity information for each pixel of the RGB channels it accompanies. In Chalice, a value of 0 represents total transparency (no coverage) while a value of 1 represents complete opacity (full coverage). The alpha channel is displayed in Chalice node monitors as a monochrome image where white represents a value of 1 and black represents 0.

In this manual, the terms alpha channel and matte can be considered synonymous, except where the finer distinction is needed between an alpha channel defined as a node output channel and a matte defined as a temporary channel of matte data used for a specific type of image manipulation (as in certain Ultimatte matte operations).

The term alpha coverage, as in the phrase "wherever the image has alpha coverage," refers to any pixel in an image where the alpha channel value is greater than zero. The concept of coverage is central to any over-type composite, where the alpha channel value determines how much the RGB channels contribute to the result. In Chalice, these operators include the Over, Mcomp, Zcomp, Inside, Outside, and Atop nodes.

About Premultiplication

First of all, a premultiplied image is one in which, for every pixel, the value of each color component (RGB) has been premultiplied by the alpha component and stored in the color component.

As a general rule, computer-generated images, such as those from a 3D animation package, have been premultiplied while digitized frames of film footage, such as Cineon files, have not.

It is important to know the premultiplication status of an image because premultiplication is an initial step in the computation process of a compositing operation. If you specify (using a checkbox or popup menu in a composite node panel) that an image is already premultiplied, Chalice will skip this step. But if you specify that an input image has not been premultiplied, Chalice will premultiply it, as follows:

Argb = Argb * Aa (to premultiply the A image)
Brgb = Brgb * Ba (to premultiply the B image)

Tip:
If you don't get the results you expect when using Mcomp, Atop, Inside, Outside, or Over, double-check the premultiplication setting of the inputs in the node panel.

Premultiplication with Ultimatte

When you specify that an image is premultiplied, Chalice checks the value of the alpha channel for each pixel in the image. If the alpha is zero, Chalice assumes that the RGB contribution to that pixel is also zero.

However, if an image to be composited has been processed through an Ultimatte node, this may not be the case--the RGB channels may contain nonzero values even when the alpha channel equals zero. Therefore, when compositing such imagery using the Mcomp or Over nodes, you should select the "Is Ultimatte" setting from the popup menu accessed by clicking the Premultiplied button on the node panel.

Note:
The Ultimatte AdvantEdge composite node does not have a premultiplication selector; it assumes that the top input is an Ultimatte processed foreground image, such as the output of an Ultimatte PFG matte node .



Table of Contents | Index



Copyright 1996-1999 by Silicon Grail Corporation