NVIDIA Enables PureVideo on GeForce 6 GPUs
by Anand Lal Shimpi on December 20, 2004 1:22 PM EST- Posted in
- GPUs
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.
62 Comments
View All Comments
phusg - Tuesday, March 1, 2005 - link
Has anyone found a 6600GT card manufacturer that bundles nvDVD including the DVD decoder yet?akozak - Tuesday, January 4, 2005 - link
Hey Anand,Don't mean to poo-poo on your hardwork - but almost all of your images are using different frames.
a) Galaxy Quest - differences in star placements, planet alignment
b) Apollo 13 - head is shifted b/w images
c) Friends - characters shift - legs are different locations etc
In fact the only ones that look like they are the same frame show no differences.
Have you looked at the difference in frames? If you took one frame before or one frame after on one card, would it match up to the other card's image you already have?
b3roldan - Friday, December 31, 2004 - link
hi, I'm using a vanilla 6800 from inno3d w/ Forceware 66.93.I was just wonderin if you guys were also experiencing problems I've had with these games or if t'was just me.
Metal Gear Solid 2: Substance
- Everything's black and white. Wondering if it has anything to do with nvidia's 0x32 Z stencil (shadowing technology).
MAFIA
- Walls are multi-colored, sometimes transparent
I've just upgraded from a 9800PRO 128mb, which worked pretty well with these games.
Just wonderin if there are others with the same prob... thx :)
Gatak - Thursday, December 23, 2004 - link
What nvidia or ATi ought to do is to prove a simplier interface and especially much better documentation on how to access the hardware directly.The GPU's are incredibly fast for lots of things. For example it would indeed be possible to do video encoding, photo manipulation effects (Apple core.image/video!) or even sound compression.
jago25 - Thursday, December 23, 2004 - link
Shame I'll never be able to use it..seeing as I don't use Windows.You can use a GPU to do anything. Might be a good idea to make it easier to do so rather than having to develop more codecs as that's a never ending job.
hellokeith - Wednesday, December 22, 2004 - link
The article really needs to be corrected per the 6800 PCI Express vs 6800 AGP. People are talking about this on numerous HTPC/AVS forums and being mislead. Only the PCI Express 6800 has the new silicon.karlreading - Wednesday, December 22, 2004 - link
ive jumped through the other pages from a comment on page one, so if this has already been answered, lynch me now:anand said he knows of no manufacturer that bundles nv DVD.
im pretty sure its on my bfg disc that came with me 6800GT OC ;)
thats me sorted then.
karlos
mikepers - Wednesday, December 22, 2004 - link
This should help:http://www.nzone.com/object/nzone_purevideo_requir...
There's a link for the correct driver and the decoder and at the bottom a link which shows which cards support what. Sort of sucks that my AGP 6800 Ultra has less features then a 6600 card but it is what it is...
CrystalBay - Tuesday, December 21, 2004 - link
Remember Buy.com ? Where are you Harvey!!!!tfranzese - Tuesday, December 21, 2004 - link
mcveigh, he provided the link to where you could find that for the ATi side of things. I'm curious about the S3 things, though it wouldn't surprise me if true.