There are several methods for recording your animation, either from a running program or from a sequence of images. We can do simple (``cut and splice'') editing and can add titles, credits, and sound during editing. We have facilities for producing 1/2" Betacam-SP, 3/4" U-matic, 1/2" Super VHS and 1/2" VHS video tapes. You are responsible for the cost of the production media, including laser disk frames, original video tapes, and final master tapes. All video production is done in conjunction with an SCV staff member and requires prior scheduling.
See the sections below for more details. Please contact the SCV staff (scv@bu.edu) as far ahead of time as possible. The more lead time we have, the better will be the finished product. In any event, you should schedule a meeting at least two weeks before you wish to have your finished video tape; special requests may require more time than this.
Real-time recording is accomplished by recording the display of a running program directly onto a video tape, so that the speed of what you see on the final video is the same as what you see on the monitor. If your animation can run in real-time on one of the displays listed above, we can simply turn on the recorder and capture your images onto video tape.
Single-frame animation is used when your images cannot be produced in real-time. In this case you must record the animation one image, or frame, at a time. Each second of video tape consists of 30 individual frames. While this method is somewhat more difficult and considerably more time consuming than recording in real-time, it is the way most of our video animations are produced. Since you control each and every frame, the time to generate each frame is not critical and variations in the time between frames, such as are caused by other normal activities on the computer system, do not affect the result.
Here is a list of the different methods which you might use to supply an animation:
Real-time recording
Real-time recording is conceptually the simplest method. You run your
program and we record it. You must be able to run your program
so that the graphics appear on a display which we can record from, and set the
window size and shape so that it fits onto the video screen
(see Displaying from your program below).
You must be prepared to run the program exactly as you wish it to appear in the final video. Imagine yourself watching the video as a member of the expected audience. Does it make sense? Does it communicate what you wish? Also, consider the amount of time to devote to each segment.
You will likely find that your program runs faster or slower on our machine and/or display than you are used to. For instance, you may normally display your graphics on the console of the machine on which your program is running. If you are now running your program on one machine and sending the graphics across the network, you may notice a slowdown. In the opposite case, you will experience a speedup. If you are using a package such as Iris Explorer or Mathematica, the speed could be faster or slower, depending on usage by others on the same system, relative to the speed of the machine on which you usually work.
Often an animation can be conceptually broken into short segments.
The frames at the beginning and end of each segment (i.e., the frames
which mark the transition between segments), are called keyframes.
To get the apparent speed of motion that you want, you can ask yourself
how many seconds it should take to go from one keyframe
to the next, and then multiply by 30
to get the number of required frames.
There is a slight twist on this: in the case of slowly changing imagery,
or in cases
where it does not make sense to calculate thirty images for every second
of animation, it is possible to repeat images 2, 3, or more times.
This is called double-framing, triple-framing, etc. Depending on the
amount of change in the images, there will be a threshold speed at which
the motion becomes jerky. To calculate the number of frames needed
when double-framing multiply seconds by 30 and divide by 2 (i.e.,
multiply by 15).
When triple-framing multiply seconds by 30 and divide by 3 (i.e.,
multiply by 10), etc.
We can record single-frame animation in several ways. Your program can
produce the sequence of images on one of the three displays, calling
a system routine to record each image after it is displayed.
Alternatively, you can produce a file or set of image files,
in an appropriate format
which can be recorded using our recording software.
Finally, your program may send a sequence of images in an appropriate format
to its standard output stream, and we can pipe this into our
recording software.
We will provide the Unix command or a C/Fortran subroutine which actually
controls the video equipment.
You will just need to insert it in the appropriate place.
If the application package is a program for which you have the source code, it
is generally an easy matter to insert the required line of code into the
program.
Some applications have been designed to generate animations (example:
Wavefront Advanced Visualizer)
and thus also provide an easy way to do this.
Other application packages may make this more difficult or impossible.
The subroutine call or Unix command we give you
will invoke our recording software
on the machine lobster.bu.edu.
If you are running on another host
and do not have an account on lobster (which is usually the case),
it will be necessary for an SCV staff member to run your program,
allowing remote invocation of the recording software.
Producing a set of image files may be done in numerous ways: generally, either
as the output of a commercial or public-domain application or generated by
your program.
Necessary factors are that the images be in a format which we can access
and, for multiple files,
that the naming convention used provides a simple way to access them in order
(see File formats).
Single-frame recording
Each second of video tape consists of 30 individual frames.
Animation is created by producing a sequence of images in which there
is a relatively small change from each image to the next. When the
animation is viewed at 30 frames per second, you see the illusion of motion.
The changes between frames may be changes in shape or color
of objects, by motion of objects, or by motion of the viewing position
or viewing direction, or by any combination of these.
For us the most convenient image format is the BUCGL format.
However, you (or we) can convert a wide variety of formats into the
BUCGL format using the SDSC Image Tools.
You may also save raw, binary image data using either 8 or 24 bits per pixel.
If you save your images as raw 8 bit data (1 byte per pixel), you may
additionally supply us with a color lookup table
which specifies the colors to be used for your data values.
Each byte is used as an index into the color lookup table.
In this case, the color lookup table should be a file
containing 256 lines, with three Ascii numbers on each line.
These three numbers correspond to the red, green, and blue values for
that index and must lie in the range 0 ... 255, inclusive.
To save full color, 24 bit raw images, you can write out the red, green,
and blue values for the pixels in each image in one of several
different orders,
with the color values lying in the range 0 ... 255, inclusive:
The advantage of saving your images as files is that it separates the
generation of
the images, which can be done at your convenience and over a relatively
long period of time, from the recording of the images, which requires
exclusive use of our very much in demand recording equipment and must
be done by SCV staff. The disadvantage is that it can require huge amounts
of storage to hold the images until they are recorded. If your software
can write the images to 8mm data tapes (2.3GB or 5GB capacity) as they
are being generated, this is often the best solution. Another common
practice for our Connection Machine users is to write the image data
to the Scalable Disk Array (SDA).
File formats
You can supply your sequence of images as a file, a set of files, or
a byte stream on standard output from your program.
Here is a list of the possibilities:
In the case of multiple files, it is important that the naming convention
you use allows them to be easily accessed in the correct order.
Typically, Unix utilities (such as "cat") are used to direct a set of output
files to the appropriate place. A file name scheme such as file1.rgb,
..., file9.rgb, file10.rgb, ..., file19.rgb, file20.rgb, ... does not
give the expected order (try doing "ls" on such a set).
A method that does work is file0001.rgb, ... file0009.rgb, file0010.rgb, etc.
For example, an image with 4 rows and 5 columns might be written out as
follows.
Pixel interleaved looks like:
RGBRGBRGBRGBRGB row 1
RGBRGBRGBRGBRGB row 2
RGBRGBRGBRGBRGB row 3
RGBRGBRGBRGBRGB row 4
Raster interleaved looks like:
RRRRRGGGGGBBBBB row 1
RRRRRGGGGGBBBBB row 2
RRRRRGGGGGBBBBB row 3
RRRRRGGGGGBBBBB row 4
Frame interleaved looks like:
RRRRRRRRRRRRRRRRRRRR all the red
GGGGGGGGGGGGGGGGGGGG all the green
BBBBBBBBBBBBBBBBBBBB all the blue
Once you have your images saved, we have
software to display and record the images onto video tape.
The first step is to display your images on one of the three displays mentioned in the preceding section, either generated by from your running program or read from one or more image files. The RGB signal which is going to this display is fed into a real-time scan converter which samples this signal and outputs an NTSC component video signal. Note that both the computer RGB signal and the NTSC component video signal are analog signals.
It is possible to scan convert any portion of the display which is at least 640 x 480 pixels. Setting up this subwindow requires running software to control the scan converter, while viewing the resulting image on a video monitor.
The NTSC video signal is connected to our write-once laser disk and our Betacam-SP video recording deck. For real-time graphics, we record onto Betacam-SP 1/2" video tape. For single-frame animation, we record each image onto a single-frame of our write-once laser disk. Once the entire set of images is recorded, we transfer that sequence onto video tape.
Credits and titles are created in exactly the same way as any other graphics. A presentation graphics package is used to assemble text on one of the displays and it is recorded onto the laser disk or video tape.
Once all of the video segments, titles, etc., are recorded onto Betacam-SP video tape, they can be edited together. This entails playing the existing segments on a play-only video deck while recording them using the recording deck. Our equipment allows frame-accurate editing, so that segments may be `cut and spliced' precisely. Editing allows for the reordering of segments, the insertion of text segments, etc.
Note that all of the original video segments will be recorded onto one or more Betacam-SP tapes, and that the final version of your video will be on a different Betacam-SP tape. Then, we will copy the final version onto whatever type of tape you actually need for presentation. The most commonly requested tape format is VHS.
A standard way to do computer animation targeted at entertainment is to produce a soundtrack first, then plan the animation to match up with significant events in the soundtrack. For instance, if the soundtrack contained a voice, the animator may try to make an animated character's face and mouth motions match up with the speech.
Another common use of audio is to provide narration for a scientific visualization or other animation which requires explanation. In this case we might produce the video first, allowing a reasonable length of time for the explanation, and then record the narration as the narrator watches the video.
Processing audio is somewhat involved and less routinely handled, so you must contact SCV well ahead of time and allow additional production time.
Image quality Edit quality Availability Betacam-SP excellent excellent poor Laser Disk very good none poor U-matic fair good fair S-VHS good fair fair (getting better) VHS poor poor excellentIf you are planning to show your video tape at a conference, you should ask what formats they can accept. Generally, Betacam, S-VHS and U-matic video tape look a lot better than VHS.
Basic video production media charge: $5.00 per minute (rounded up) of video
Single-frame animation media charge: $9.00 per minute of animation
(1/2 cent per frame)
Final video tape
1/2" VHS (T10/15) $4.00
1/2" VHS (T30BRA) $6.00
1/2" VHS (T120BRA) $8.00
1/2" S-VHS (T30BQ) $8.00
1/2" S-VHS (T120BQ) $10.00
3/4" U-matic (MBR10) $12.00
3/4" U-matic (MBR20) $15.00
3/4" U-matic (MBR30) $18.00
1/2" Betacam (BCT10M) $24.00
1/2" Betacam (BCT20/30M) $27.00
1/2" Betacam (BCT60M) $42.00
1/2" Betacam (BCT90M) $64.00
Tape copying $15.00/tape
For example, if you produced a video tape which required editing 5 minutes
and 20 seconds of video, of which 75 seconds was animation, and you wanted one
final copy on VHS tape, the charge would be:
Production media: 6 minutes @ $5.00 / minute $ 30.00
Animation media: 1.25 minutes @ 9.00 / minute 11.25
Final video tape: 1 VHS T10 @ 4.00 / tape 4.00
-----
$ 45.25
If you later wanted two more copies on VHS tape, the charge would be:
Copying charge: 2 copies @ $15.00 / copy $ 30.00
Final video tape: 2 VHS T10 @ 4.00 / tape 8.00
-----
$ 38.00