About Video |
This page explains the use of the Global parameter fieldRendering to generate interlaced images for broadcast, and the deInterlacing parameter for importing interlaced video images.
You should also read the About Aspect Ratio page when dealing with video.
For a note on keying DV footage, jump to Overview - Keying - Tip #1.
There are two sample images in doc/pix/video.
Dividing frames into fields is a technique used in televsion broadcasting to reduce the perceived strobing of images by refreshing the display on subframes. By using fields, the viewer is exposed to twice as many frames as before. Here is an example of an emotionally touching animation obviously showing frames 1 and 3. These are considered to be full frames (one speaks of rendering frames or fields when discussing video), meaning the entire image is shown in the same moment of time.
![]() |
![]() |
If we take the same clip up to (but not including) frame 3 and break it into fields, we get something that looks like this, with frame 1 showing some information from both frame 1, field 1 and frame 1, field 2 (here labeled frame 1.5 to demonstrate for you what frame it is attached to), and frame 2 showing both frame 2, field 1 and frame 2, field 2 (again, unconventionally labeled frame 2.5 for illustration purposes):
![]() |
![]() |
This is done by taking the visual information at a given time and limiting it to every other line, for example all even lines. We then advance a bit further in time (a half frame of time) and put the visual information on the other lines, in this case the odd lines. These are called fields.
Here, we see field 1 (frame at time 1) and field 2 (frame at time 1.5) of frame 1. Notice the black lines across the images. When these two fields are put together, as in frame 1 above, we call this an interlaced image, because the fields are interlaced together.
![]() |
![]() |
Here is a close-up of the interlaced image:
Therefore, the interlace process produces two fields of half-height for every broadcast frame. When a television displays these images, it quickly shows the first field only, and then the second field only, and then proceeds to the next frame. This solution is interesting because each field sacrifices vertical resolution for the benefit of temporal quality.
The interlace approach of having a spatial solution to temporal issues creates two particular types of problems when dealing with digital images.
The first problem is when you have any animated parameter. The animation has to be understood and applied at half frame intervals. If you read in an interlaced clip and apply a static Gamma, you won't have any problem because both fields receive the same correction. If, however, you animate the gamma correction, you will have to turn on field rendering in order to evaluate the correct set of lines at the appropriate interpolated value. See the above examples to illustrate the need to break up color animation into half-frame fields. We'll talk more about field rendering later on.
The second and trickier problem is with any node that has spatial effects, like a Blur or a Move2D. If you pan an image up by 1 pixel in Y, you have effectively reversed time, because the even lines are now moved to the odd field, and the odd lines are moved to the even field. Your clip would have extremely jerky movement, as every two fields are reversed. This would be the same as if you inverted filmic frames 1, 2, 3, 4, 5, 6 into 2, 1, 4, 3, 6, 5.
Another example of spatial problems arises in image rotation andscaling. Here, I have a rotation without field rendering and with field rendering. Only the second one will look correct when broadcast.
![]() |
![]() |
It is not just transforms that need to be aware of field rendering. Here, we have a close-up of frame 1 from above, and then with a blur applied to it. Since the blur is applied uniformly to both fields, the result is what we like to call in the business "Real Bad".
![]() |
![]() |
To illustrate this, I have removed one field in the image below on the left. You can see information from both fields intermingling due to the blur, meaning pixels from a different moment in time are bleeding into the current field. Turning on field rendering will give you the correct image, shown on the right. There is no picture information bleeding between the two fields due to the blur.
![]() |
![]() |
The solution for all the above problems is to turn on field rendering in the Globals with the appropriately named fieldRendering parameter. It has three settings,
0 = off
1 = field rendering with odd field (counting from the top) first. This is generally
the setting for PAL images.
2 = field rendering with even field first. This is generally the setting for
NTSC images.
With field rendering turned on, Shake will separate the rendering into two separate fields. All animation and spatial effects will be allocated to the proper field. Because of Shake's rendering optimization, there should be no appreciable difference in render times.
You do not have to use field rendering when you import interlaced images and apply static color corrections to them. For all other functions or if you animate any value, you should turn on field rendering. The field rendering will handle all transformations, filters, and warps by internally taking each field, removing the intermediate black lines, and then resizing the Y resolution back up to full frame. The software does this for each field, and then interlaces them back together again. For example, here is a Resize from 640x480 to 720x486. The left side, which has inter-field bleeding, is without field rendering, the right side, which is clean, is with field rendering:
![]() |
![]() |
The one other major problem you need to be concerned with is Viewer zooming. Unless you are at a 1:1 ratio for the Viewer (hit Home to make sure), you will probably have artifacts. For example, if you zoom the image down by half in the Viewer, you are removing half of the information, meaning an entire field. Therefore, if you see any artifacts in a field-rendered image, hit Home in the Viewer to see if that is the problem.
Finally, we don't recommend using jpeg output for field rendering. The compression will actually bleed information from one field into the other, which just sucks.
Beside the fieldRendering parameter, you need to be aware of FileIn's deInterlacing parameter when importing interlaced images. Whenever you import an interlaced image, turn this on, either to odd (usually PAL) or even (usually NTSC). When active, it strips out the two fields from each other, placing field 1 at frame 1, and field 2 at frame 1.5. Each field is then copied and moved into the empty spatial place of the removed field. This ensures that all spatial effects will properly be handled by the field rendering. This strategy is interesting because it doubles the amount of frames you have, but keeps them within the same duration. Go figure. You must turn on the field rendering to return the image to its interlaced status.
![]() |
![]() |
![]() |
![]() |
To see each field, you can turn fieldRendering off and use an increment of .5 in the Time Bar, then step through the animation with the left and right arrow keys. Use this technique if you aren't sure which field is dominant. If you step through the animation and the image seems to stutter every other field, switch your deInterlacing to even, and the motion should be continuous.
Shake has several other video-oriented functions. Keep in mind that these operate with the assumption that field rendering is off, since they would be effected by the field rendering options like other functions. These functions are:
Tab | Function |
Notes
|
Globals | dropFrame | This will toggle 30 to 29.97 frames per second when turned on. |
Time Bar | T on keyboard | This will toggle timecode/frame display. |
Image | PullDown | Used to go from cinematic
24 fps to NTSC 30 fps by interlacing images with 3:2 pulldown. |
PullUp | Used to return images that
have been treated by a PullDown to 24 fps. |
|
Color | VideoSafe | This will limit your colors
to video-legal ranges. |
Layer | Constraint | This function limits effects
by certain criteria, either zone, change tolerance, channel, or field.
Naturally, field is our interest here. With this, you can effect a function
only on one field. |
Interlace | This will interlace two images,
pulling one field from one image, and the second field from the other
image. You can select field dominance. |
|
Other | DeInterlace | This will retain one field
from an image and create the other. You have three choices on how this
is done. The height of the image remains the same. |
Field | This will strip out one field,
turning the image into a half-height image. |
|
Swapfields | This will switch the even
and odd fields of an image when fieldRendering is off. To do this
when fieldRendering is on, just switch from odd to even
or even to odd. |