Less Is More: Why 24fps is Important in Home Theater PCs

By Aaron Brezenski (Intel) (5 posts) on May 19, 2008 at 4:55 pm

When I play games, I want my PC to be able to generate as many frames per second as possible; it's a measure of the strength of the CPU and GPU solution which is used consistently in gaming benchmarks to show which processor and/or graphics card is better.  My PC can beat up your PC if I can generate eye candy at a whopping 130fps and you can only do a mere 100.

Why then are home theater PC folks so obsessed with playing back at a paltry 24 frames per second when graphics solutions (including integrated graphics) are easily able to send out 60?

Judder-bug

Okay, so it's not an actual bug, it's just a bad pun. But the key is the word "judder". To understand why it matters, we must understand how films are made.

Motion pictures in 99% of Hollywood cinema are recorded at 24 frames per second and then each frame is strobed twice before the next frame is indexed. In effect, film in theaters is displayed at 48Hz, though the actual content is 24Hz.

Historically speaking, TVs are 60Hz (to match the AC frequency of the wall socket; in other countries with different wall socket frequencies, the TV rate is different). While I won't get into the specifics or the full history here (there are lots of sites out there which cover why this was so and how it was compensated), the major understanding to carry forth is that in order to get 24 frames of content into something that is refreshed 60 times per second, you have to repeat frames in an irregular way.

In short, the first frame in every second is repeated 3 times, the second frame is repeated 2 times, the third frame is repeated 3 times, the fourth is repeated 2 times, etc. This process is known as "3:2 pulldown", and you can see from the math that if you repeat 12 frames 3 times each and 12 more frames 2 times each, you will get 60.

So all of the picture content makes it onto the television screen, so everything's great, right? Alas, the human eye is only partially fooled: on scenes with high amounts of motion or where the camera pans across a landscape, the phenomenon known as "judder" manifests. The motion should be smooth, but you can see some jerkiness to it due to the fact that every other film frame is of slightly different duration.

This isn't a new problem: film has been 24fps for a long time, and TV has been 60Hz for almost as long. When TVs were interlaced the issue was reduced because at the transition between the 3-frame and the 2-frame the middle frame was essentially a mix of the two (again, not going into the specifics on interlacing history). Nowadays, TVs are made with non-interlaced (aka "progressive") components and you can see the judder artifacts better.

There are ways around this; people with computer monitors have a bit more flexibility with their refresh rates than TV users traditionally do. Setting the graphics to output at 72Hz generates a nice image (since 72 is an even multiple of 24), but the vast majority of television sets won't accept 72Hz signals. And while there are some computer monitors you could reasonably call "home theater worthy", most are a bit small and limited.

As I mentioned, this is not a new issue, but until now most sources were interlaced (even DVDs are generally interlaced, though flags in their software exist so progressive player hardware can pick out the original frames) so the issue wasn't high profile. With new technology like Blu-ray, the video is stored as 24 actual pictures per second, and the only limiter left is the display.

Of course, when you're a Consumer Electronics manufacturer, any nifty gadget you can add to your TV to distinguish yourself from your competition is a good one, and someone got the bright idea to include inputs which would accept and display 24fps. Everyone else soon followed, and now a lot of mid- to high-end equipment has the ability to take in images at 24fps and display it at some multiple of that (technology in the generic TV set has changed enough to decouple it from the original 60Hz number).

What the heck is your point, Brezenski? What does this have to do with Intel graphics?

Glad you asked. Early drivers for the 945G, G965, G33, and G35 were all capable of 24Hz output. You had to play tricks on them sometimes to convince them they could do a resolution/refresh they didn't know about by default, but if you got the drivers to accept that they could do it the chipset graphics would deliver 24fps goodness. After all, theoretically in sheer processing power it should be easier than the normal 60fps; any integrated graphics chip should be able to do it.

In reality, there were some difficulties, and they remain today. Desktop work at 24fps was fine, but watching media at 24fps exhibited very jerky behavior every several seconds or so... then returned to silky smooth motion once more. This was across a variety of software players-- both free and consumer-- and across multiple motherboards and chipsets. And didn't manifest on either ATI or Nvidia graphics... suggesting, once more, that this was a problem with the drivers. (It's vaguely possible this is a hardware issue with the chipsets, whose design concentration would logically have been "ensure high refresh rates".) There was some sign this might be modulated by the renderer used (EVR vs VMR) as well as by the presence of extra frames in the source files, but as of the 15.7 drivers there manifested a new problem: all support for 24fps is gone.

Whether your EDID is advertising the 24fps capability or not, even if you use the trick I linked to above, the resolution won't show up as selectable in the Intel drivers. 48Hz still seems to work fine... but as there are only a handful of TVs which accept 48Hz signalling, this is small consolation.

It could be that someone on the driver team recognized that 24fps was broken and removed it, or there could be something else going on that's even more mysterious. It could entirely be an oversight. But the fact is, even if you want jerky 24fps on Intel graphics you now have to use older drivers, keeping yourself in the past and avoiding fixes you might want for other bugs.

I haven't gotten my hands on a G45 system yet, so I don't know if this issue is fixed on newer graphics chipsets yet, but I sure hope so.

If you ask around in the home theater PC community, there are three issues which prevent Intel graphics from being an all-around winning solution for HTPCs:

1) The HDCP repeater bug

2) The 24fps problems

3) The Denon HDMI EDID issue

You'll note that these three issues just happen to be the ones I've covered in my blog. This is not coincidence.

I've seen internal presentations, and if our drivers meet or exceed the hardware the G45 is going to be a great chipset from a home theater standpoint. But it's important that we address the enthusiast in this space (because the enthusiast is going to tell his friends what to buy) and the enthusiast sees all three of those issues as important to have solved in a quality system.

So far I've not noticed a driver release which fixes any one of them. I don't know that any of our Graphics (or Audio) folks read this blog, but I sure hope so.

P.S. I won't even discuss the fact that it should really be 23.976fps instead of exactly 24fps. You'll have to figure that one out on your own. :)

Categories: Visual Computing

Comments (10)

May 20, 2008 4:21 AM PDT


Nathan Bray
It can be worse.....ever seen how bad 24p judder looks @ 50hz for us in "PAL" world!

I agree that Intel's G33/35 chipset is (or could be) the HTPC graphic engine of choice at present. While I hope that this blog and similar threads at AVS helps develop awareness within Intel I think it is really sad indictment that these issues are NOT being championed by the driver developers themselves.

Keep up the good work!
Nathan
May 20, 2008 3:48 PM PDT


MIck
Another great summary article AB!!

Keep at it my friend.
June 30, 2008 4:25 AM PDT


Sameer KP
The 24Hz mode which is mentioned here I believe is 1920x1080@24Hz (progressive). This is not supported on sDVO based HDMI solutions.

How it worked then before?
Initially when we added support for registry/INF based modes, it just overloaded whatever Intel chipset & the sDVO chip (used for HDMI in said platforms) could (or rather was supposed to!) support. Later this was cleaned up so that only the originally advertised CE modes could be enumerated on the said products. This means though this mode (1920x1080@24Hz I believe) was added as a custom mode via INF, driver will remove it as that's not supported for sDVO based HDMI solutions.
July 20, 2008 11:46 PM PDT

7oby
Total Points:
3,154
Status Points:
2,654
Brown Belt
Regarding 24p/24Hz output:

Unfortunately sDVO specification is no longer available without NDA:
http://softwarecommunity.intel.com/isn/Community/en-US/forum.....80007.aspx

I don't see how some transport protocol (sDVO) should have an impact on the content (e.g. display resolutions) it conveys besides some general constraints related to bandwidth. Some general purpose sDVO HDMI Transmitter such as
http://www.siliconimage.com/products/product.aspx?id=106
and the GM965 chipset
http://www.intel.com/Assets/PDF/datasheet/316273.pdf
adhere to EIA/CEA-861B specifcation or at least don't constraint it. As such they are valid devices for transmitting EIA/CEA-861B 1920x1080p@24Hz.

People which want to do that are stuck with Linux or Windows IEGD 8.x drivers I assume. Which reminds me of intel GM855 chipset: You can't use Widescreen resolutions with its Windows drivers unless you use Linux or IEGD drivers.

Besides that there are other use case scenarios for low refreshrates: WQXGA resolutions such as 2560×1600 on a 165 MHz HDMI Link. I've played with that in Linux, but I guess it will never work in Windows. This would be beyond the maximum specified horizontal 2048 pixelwidth.
July 25, 2008 1:22 PM PDT


Tek
Aaron, any update on 24p in G45? Have you had a chance to get your hands on a G45 board yet?
August 8, 2008 10:47 AM PDT

Aaron Brezenski (Intel)
Total Points:
2,420
Status Points:
2,420
Black Belt
Evidently this is not fixed on G45 yet. Folks are still seeing stuttering every 10-15 seconds.
August 21, 2008 5:33 AM PDT


DrivesMeCrazy
@Aaron: When I read your last comment... does "evidently this is not fixed" mean, that it will be fixed in a reasonable periode?

For a few weeks, I could live with this bug, but not for years :o
October 9, 2008 6:12 AM PDT


g35htpc
Anyone knows a way how to get 24p back into the new g35 drivers?
24p doesn't work any better on g45 last time I tried but atleast it is selectable.
The new drivers keep ignoring my 24p dtd entries.
October 30, 2008 4:33 PM PDT

dakotaridge
Total Points:
5
Registered User
Aaron, there are people out there working on solutions that, even if only indirectly, stand a good chance of influencing future driver work significantly by simply raising the bar. I spent from April 8, 2008 through September 26, 2008 as an SDET (Software Development Engineer in Test) level 3 at Microsoft. I have a good idea of their handling of performance issues: don't, unless it becomes a visible problem. Performance is given little to no consideration in the initial design phase of software. The issue of performance is aggressively and consistently assumed to take care of itself and it requires no thought when it's not an issue. Of course, this results in a situation similar to what Nikola Tesla once said of Thomas Edison: "If Edison had a needle to find in a haystack, he would proceed at once with the diligence of the bee to examine straw after straw until he found the object of his search. I was a sorry witness of such doings, knowing that a little theory and calculation would have saved him ninety per cent of his labor." Were Microsoft to give serious consideration to the issue of performance in the initial design phase as well as ongoing throughout a project, the resutls would be very different than what they currently are. Currently, when a bottleneck appears in software, it becomes an emergency and is handled exactly that way - haphazardly, with little or no direction, like chickens running around with their heads cut off. Microsoft has a rule that contractors can work 365 days before being required to take a 100-day break. I was cut early from the Ford Sync team due to restructuring, leaving me just under six months until my hundred-day-break. As such, I cannot effectively be rehired to finish out my time, so I'm stuck at home, in the standard unemployment crisis, sending out hundreds of resumes and, of course, getting nowhere. During this time, I'm deeply involved in my own project to, once and for all, establish very reliable statistics regarding what the potential of the latest ATI Radeon hardware coupled with an Intel quad-core CPU really is. This means getting Windows out of the picture completely, taking full control of the CPU and using hand-coded assembly exclusively to manage the four cores, taking over the Radeon card in a similar way, etc. 100% of the project is hand-coded assembly language. My theory is that if you want a groundbreaking product, you're going to have to put some groundbreaking work into it and take an approach that differs from what everybody else is doing. Currently there are really only two major players in the video card arena: ATI and nVidia. To create custom drivers for two core chipsets (or varying steps of these two) is not oppressive and can be done effectively. DirectX came into being as a direct response to the gaming standard kicking Windows out of the picture. Of course, my work will require an Intel CPU initially, but my thinking is, enough people own one to where the development effort would be worth it. I do plan to seek financing, but before I can do that effectively, I have to have some kind of real product that others can execute, that demonstrates what frame rates can actually be achieved. So work is being done and there are people unafraid to leap forward and do some serious digging into what this hardware we all use can really produce. The mentality of programmers today is such that the products currently churned out are somewhere below pathetic. The best programmers cannot get hired to save their lives (ego issues with would-be hiring managers) so you're not routinely seeing what can really be achieved. At Microsoft and at most game companies, you have amateurs producing the products. Mine will be the first product in perhaps 20 years that suddenly shows people (instead of telling them) what they've been missing.
November 5, 2008 6:43 AM PST

alex-domoq
Total Points:
210
Status Points:
0
Green Belt
Aaron, any update on 1080p 24p stuttering on G45?

Trackbacks (0)


Leave a comment  

To obtain technical support, please go to Software Support.
Name (required)*

Email (required; will not be displayed on this page)*

Your URL (optional)


Comment*