Frame Rate Conversion and You

There are two basic types of content stored on most DVDs: content that came from a 24 fps source and content that came from a 30 fps source. The most popular is 24 fps source content because all movies are recorded at 24 fps and since the majority of DVDs out there are movies, this is the type we'll talk about first.

Although most motion pictures are recorded at (approximately) 24 frames per second, no consumer television is capable of displaying at that frame rate. In order to get TVs up to the sizes that we all know and love (and at affordable prices), TVs are not as flexible as computer monitors - they are fixed frequency displays, so displaying contents with varying frequencies is not exactly possible. The DVD production houses know this so they have to convert their 24 fps source into something that can be displayed on the majority of TVs out there.

In the North American market, the majority of TVs are interlaced NTSC TVs that display 60 fields per second. As we've just explained, a single interlaced field has half the resolution of a full frame in order to save bandwidth; by displaying 60 of those interlaced fields per second, the human eye is tricked into thinking that each frame is complete. But how can you convert 24 non-interlaced (aka progressive) film frames into 60 interlaced fields?

The first step is to convert the progressive film frames into interlaced frames, which is pretty simple, just divide up each frame into odd and even lines and send all the odd ones to one field and all the even ones to another.

Now we have 48 interlaced fields, but we are still short of that 60 fields per second target. We can't just add 12 more fields as that will make our video look like we hit the fast forward button, so the only remaining option is to display some of the 48 fields longer. It turns out that if we perform what is known as a 3-2 pulldown we will have a rather nice conversion.

Here's how it works:

We take the first progressive frame and instead of just splitting it into two interlaced fields, we split it into three, with the third being a copy of the first. So frame 1 becomes field1a, field2a and field1a again. Then, we take the next progressive frame and split it into two interlaced fields, field2a and field2b, no repetition. We repeat this 3-2 pattern over and over again to properly display 24 fps film source on interlaced NTSC TV.

There are a few movies and some TV shows that are recorded at a different frame rate: 30 fps. The 30 fps to 60 fields per second conversion is a lot easier since we don't need to alternate the pattern, we still create interlaced fields for the sake of NTSC compatibility but we display each field twice, thus performing a 2-2 pulldown instead of the 3-2 pulldown that is used for film. One of the most popular 30 fps sources is Friends (note: it turns out that Friends is incorrectly flagged as a 30 fps source but is actually a 24 fps source) but other sources are sometimes recordered at 30 fps, including some bonus material on DVDs. Because of this, while 24 fps sources are usually categorized as "film", 30 fps sources are usually called "video" (these names will have significance later on).

Remember that the whole point for performing these conversions is that until recently, all televisions have been these low bandwidth interlaced displays. Recently however, televisions have become more advanced and one of the first major features to come their way was the ability to display non-interlaced video. A non-interlaced TV is useless without non-interlaced content, thus manufacturers produced affordable non-interlaced DVD players, otherwise known as progressive scan DVD players.

But if you have a progressive scan DVD player you don't have to buy progressive scan DVDs, the DVD player instead does its best to reassemble the original progressive scan frames from the interlaced content stored on the DVD. Given the two major algorithms we mentioned above, reconstructing the original progressive frames from the interlaced data on the DVD shouldn't be a difficult task. Once the DVD player know if it is dealing with 24 fps or 30 fps content, it simply needs to stitch together the appropriate fields and send them out as progressive frames. The DVD spec makes things even easier by allowing for flags to be set per field that tell the DVD player how to recover the original progressive source frames. No problems, right? Wrong.

It turns out that the flags on these DVDs aren't always reliable and can sometimes tell the DVD player to do the wrong thing, which could result in some pretty nasty image quality. So DVD players can't just rely on the flags, so algorithms were created to detect the type of source the DVD player was dealing with. If the decoder chip detected a 3-2 pattern it would switch into "film" mode and if it detected a 2-2 pattern it would switch into "video" mode. The problem here is that due to a variety of factors including errors introduced during editing, transition between chapters on a disc, and just poorly encoded DVDs, these algorithms are sometimes told to do the wrong thing (e.g. treat 24 fps content as 30 fps content). These hiccups in the 3-2 pattern don't happen for long periods of time (usually), but the results can be quite annoying. For example, if the DVD decoder chip tries to combine two fields that belong to different frames, the end result is a frame that obviously doesn't look right. While it may only happen in a few frames out of thousands on a single DVD those few frames are sometimes enough to cause a ruffled brow while watching your multi-thousand-dollar home theater setup.

So what does all of this have to do with NVIDIA's PureVideo? Although it's not in a set-top box, PureVideo is just as much of a DVD decoder as what you have sitting underneath your TV, it's just in your computer. And to measure its effectiveness, we have to look at how it handles these trouble cases. Remember that your PC is inherently a "progressive scan" device, there's no interlacing here, so the quality of your videos directly depends on NVIDIA's algorithms.

An Interlacing Primer A Brief Look at De-Interlacing Modes
Comments Locked

62 Comments

View All Comments

  • Anand Lal Shimpi - Monday, December 20, 2004 - link

    gordon151

    I should have made this more clear, I used the NVIDIA codec for NVIDIA's tests and I used ATI's codec for ATI's tests. I used Zoom Player for both of them.

    ViRGE

    They never briefed me on anything like that but I can always ask :)

    Take care,
    Anand
  • ViRGE - Monday, December 20, 2004 - link

    Thanks Crimson, but I'm talking about the video features, not the elusive cards themselves. ;-)
  • crimson117 - Monday, December 20, 2004 - link

    #29: http://anandtech.com/news/shownews.aspx?i=23531
  • ViRGE - Monday, December 20, 2004 - link

    I know this is an Nvidia article Anand, but could you get on ATI's butt about their lack of features too, and find out what's going on? When the X800 was launched, ATI was talking about decode acceleration for MPEG4 along along with some sort of encode acceleration(i.e. all the features NV promissed but never delivered on). I'm curious to know what happened to that, and if we're going to get something new out of ATI besides WMV acceleration.
  • gordon151 - Monday, December 20, 2004 - link

    I was wondering why AT's results were different than PCPers and just noticed they used MMC & 4.12 while AT used the nVidia codec and player for both cards tests.
  • Anand Lal Shimpi - Monday, December 20, 2004 - link

    Ytterbium

    I've asked numerous times, never gotten a response. I'll try again :)

    For those of you who are wondering, I have asked NVIDIA what their official statement is to early 6800 adopters, but that has also been met with no response.

    Take care,
    Anand
  • Ytterbium - Monday, December 20, 2004 - link

    I'm dissapointed that the encode function never made it, that was a killer feature. Any idea if it will come?
  • Spike - Monday, December 20, 2004 - link

    Thanks for that! I have the BFG 6800 GT and on the BFG cd there is the nvDVD software. It's nice to know I can actually use the VP that I paid for!

    -spike
  • Gatak - Monday, December 20, 2004 - link

    Here are some examples of interlacing artifacts when redering on a progressive screen:

    1) http://moment22.mine.nu/interlace_1.jpg

    Most software DVDs either blend or remove one of the fields by some partial de-interlacing algorithm. nvidia's DVD decoder does it ok. The image is sharp but still leaves only half framerate.

    2) http://moment22.mine.nu/interlace_2.jpg

    But in reality, half temporal resolution is lost. What should have been done is to render each field as a separate frame.

    3) http://moment22.mine.nu/interlace_3.jpg
  • Anand Lal Shimpi - Monday, December 20, 2004 - link

    Spike

    I wasn't aware that the 6800s are coming with NVDVD, in that case you are good to go. Just download the updated version (1.00.67 is the official version) from the website.

    Rand

    The full system was configured as follows:

    Intel Pentium 4 570J
    Intel D915GUX Motherboard
    2 x 512MB DDR2-533 DIMMs
    Intel HD Audio Enabled

    Windows XP SP2 w/ DX9c

    Take care,
    Anand

Log in

Don't have an account? Sign up now