-->
Save your seat for Streaming Media NYC this May. Register Now!

A Guide to Great Web Video: Preprocessing

The art of preparing good quality video for network delivery involves many steps: lighting and shooting properly, capturing and editing to simplify the compression process, and encoding with the best tools and techniques available. This includes the filters and other mathematical operations that compressionists call "preprocessing." Preprocessing video can reduce the errors that might occur during content creation, such as color correction and noise reduction. It is also imperative to achieving properly resized video frames without motion artifacts due to interlace or film sources being transferred to video. In addition, in the production environment, you may not have control over the original creation of source material. Whether the capture is poor, or simply needs to be de-interlaced and resized, almost invariably your source video needs preprocessing in order to look its best when delivered over limited bandwidth networks.

In the following feature, we’re going to discuss the most important preprocessing filters to be aware of when encoding your video for the Web and look at how to implement them in VirtualDub. We decided to use VirtualDub for this tutorial because it’s free, fast and powerful. Other applications will follow similar procedures to accomplish the same goal, including Adobe Premier, SonicFoundry’s Vegas Video, and Discreet’s Cleaner Pro.

Traditionally, video engineers would pass signals through a Time Base Corrector, or TBC, to preprocess their video. This hardware solution is fine for simple tasks such as color correction and synchronization of audio and video signals. You can also buy dedicated noise reduction equipment, but these solutions are expensive and limiting in their functionality. Certainly, if you own a high quality TBC or noise reducer, you can continue to use it, but you still need proper filtering to scale your video for network delivery. Thankfully, today’s processors and applications make the job of preprocessing much less cumbersome.

Let’s take a look at the essential filters included in most software applications, and in fact, in some encoding applications like RealProducer Plus and Windows Media Encoder. They include:

  • De-interlace – Interlaced video is designed for television viewing, where each frame is displayed as two consecutive fields, one every 1/60th of a second, resulting in 30 frames per second. Each field contains half the lines of the frame in an alternating fashion. Video destined for display on computer monitors needs to be progressively scanned, with every line appearing consecutively in a frame. Most likely, you shoot interlaced video and will therefore need to de-interlace during the capture or preprocessing stage of your encoding.
  • Inverse Telecine – If the content you are encoding starts as film, then there is an additional step you need to take to achieve the proper frame rate for encoding. During production, the telecine process repeats fields in a 3:2 sequence to transfer film to video, so inverse telecine (also known as 3:2 pulldown) removes the repeated fields that don’t need to be encoded.
  • Cropping – Some video isn’t framed properly during capture, resulting in black lines (or even ½ lines) around the border of the frame. The transition from black to image is an unnecessary detail that you don’t need to feed to your codec, and so we crop. In addition, tight shots work better for encoding to low bit rates because they focus the attention on the subject, rather than the extraneous detail in the background. Cropping can help here as well.
  • Resizing – Almost all Web video is delivered at lower frame resolutions than the source, simply because it is the first and foremost way to reduce the required bit rate. In order to avoid aliasing artifacts, filtering is required prior to resizing your video. Good filtering maintains the sharpness in an image without introducing artifacts due to interlace.
  • Noise reduction – Noisy video makes work for a codec. Random noise characteristics change constantly and codecs look for changes in the video to code. Spurious noise, like film scratches or bit errors, also look like fine details to the codec. Precious bits are wasted on noisy video.
  • Color Correction – Sometime color correction can mask noise. Sometimes it’s used to improve the overall image quality, including correcting for poorly shot video that needs brightness and contrast boosts or hue and saturation adjustments. Gamma correction is also an important step in the preprocessor because PC monitors tend to be darker than the television sets you are used to shooting for.

    In the following sections, we’ll look at the technical details behind these preprocessing steps and how to achieve them in VirtualDub in order to teach you how to raise the quality bar on your Web video.

    An Introduction to VirtualDub

    VirtualDub is a freeware video processing application for the Windows platform, written by Avery Lee and supported by a small community of geeks online at www.virtualdub.org. Its capabilities include video and audio capture, processing and some minor editing features such as cuts and merges. The interface is simple, yet the underlying code is as powerful as any other application you’ll find in an encoding production environment. In addition, the code is open to the user community, so you can customize it for your compression needs, and take advantage of the filters that have been developed by other users and developers.

    VirtualDub is a universal processing application for codecs written for Windows Media’s DirectShow platform and therefore we used it for our alternative codec review. Given our source material, there were several preprocessing steps that needed to be carried out prior to encoding, which opened the door to the processing power that VDub is capable of. To accomplish these tasks you open the Video->Filter dialog interface of the application, shown in Figure 1. Here you can Add, Delete, and Configure filter steps necessary to prepare your video for the codec. You can also change the order in which the filters are applied to the video, which is an important consideration that we’ll discuss in the details below. Clicking on Add brings up the list of available filters, also shown in Figure 1. Basic filters for almost all your preprocessing needs are built into the application. You can also download filters offered by other developers at www.virtualdub.org. They are easily integrated by placing them in the applications plug-in folder.

    Here’s a snapshot of the pros and cons for learning and using this application for your encoding needs:
    Pros

  • Fast processing, with many filters optimized for MMX technology on PIIIs
  • Preprocessing algorithms that are as sophisticated (in some cases) as Cleaner 5
  • Customizable, open source code available
  • Batch processing built-in, scripting capabilities available through a command line interface
  • Can run multiple instances for side-by-side comparisons of encoding results
  • Key frame controls and Direct stream copy function allows simple edits of video content that is already encoded

    Cons

  • Not based on ActiveMovie and .asf Windows Media formats, so doesn’t support latest codecs from prominent developers, including WM7 and WM8
  • Does not support encoding into Real or QT formats
  • Processing is a la carte, so careful consideration and understanding of the underlying structure is important to achieving good results
  • Primitive user interface makes some operations cumbersome

    Next Week: The Why, How and When’s of De-interlacing

  • Streaming Covers
    Free
    for qualified subscribers
    Subscribe Now Current Issue Past Issues