Introduction: What is telecine, and why should I care?

This writeup assumes that you are encoding video and are looking for a way to get rid of that annoying combing effect, and that the video source you are encoding from is in NTSC format. When a movie is shot on film, it is shot at 23.976 frames per second. The NTSC television standard, however, requires video to be at 29.97 frames per second. To achieve this, extra frames are created. The combing effect is caused because of the difference between how computer monitors and televisions display video. On a computer, the monitor is progressive, which means it displays the entire screen in one pass. On a television, even and odd lines are displayed separately. If you are encoding digital video from a television format such as captured video from a video camera or a dvd rip, you will see a combing effect because computer monitors are not interlaced. Not only is this annoying, it also results in much larger filesizes than neccessary; you are encoding more frames per second than the original video even has.
Comprehension: Okay, I get the point. How do I get rid of it?

One way of getting rid of the combing effect is through a standard deinterlace filter, which blends the two interlaced fields together into one field. This is not a good way of doing it because 1. you are left with ghost-like artifacts from the blending of two different frames and 2. you are still encoding at 30fps. The best way of getting rid of interlacing is through a method called Inverse Telecine. This method involves actually removing the extra frames and reconstructing the original data. This is an imperfect process because most methods of video compression, with very few exceptions, are lossy and therefore the frames are not the same as they were before compression.

Implementation: Enough theory. Talk to me like I'm four.

Here are some simple instructions for doing basic inverse telecine within VirtualDub. Open the file you want to inverse telecine. Click video->frame rate. In the bottom box marked "Inverse Telecine (3:2 pulldown removal)" select "Reconstruct from fields - adaptive".

Feeling ripped off: That's it?

Thats it. Like I said, it's basic. And since it's so basic, you may still have minor interlacing artifacts left over if theres a lot of movement in the video. These can usually be cleaned up to an acceptable level by running the standard deinterlace filter. There are more advanced ivtc filters that produce better results, but keep in mind they have a much steeper learning curve than what you just did and they are very tedious.

Getting cocky: Okay, I want to try something more advanced.

Alright, but don't say I didn't warn you. You can acheive much better ivtc results by using Tmpgenc* (The MPG Encoder), it has a much more advanced ivtc facility.

Wait, doesn't that just encode MPEG1/2?

It was only intended to do MPEG1 and 2 ;) But we can make use of its features without having to encode to these formats as an intermediary using a technique known as frameserving. Here's where it gets complicated.

First, download and install a small program called vfapi**. Next, open the source file in Tmpgenc and click the Settings button. Click the Advanced tab, check "inverse telecine" and double click the words. Click auto-setting, and hit start. This will take awhile, as it calculates the best frames to choose when it lowers the framerate. Now, on the previous screen, you need to step through the video file frame by frame and correct any wrongly chosen frames by unselecting it and selecting a better one, or right clicking and running a deinterlace filter on the frame. You may be tempted to just go with the automatically chosen frames, but trust me, it will choose some wrong frames and you will get DiVX meltdown. You'll know it when you see it. Next, save all these changes and go back to the main window. Save the project, and exit. Open vfapi, and select the project file. Hit start and it will produce an avi file from it. Open the avi file in Virtualdub and encode it from there.

What vfapi does, is it will use the tmpgenc project to open the source file, have tmpgenc run its filters on it, and pipe the output to the fake avi file you created. This all happens when you access the avi, and it is all completely transparent to you, although it may be considerably slower than a normal avi. I havn't even touched on lots of things you can do with tmgpenc to make your video look better, but there are much better websites for this sort of thing. Doom9.org is a great place to start. Have fun!


Useful Links:
*http://www.tmpgenc.net/e_main.html
**http://www.afterdawn.com/software/video_software/codecs_and_filters/vfapi_codec.cfm
http://doom9.org
http://nickyguides.digital-digest.com/
http://www.divx.com/
http://www.xvid.org/