Something has been troubling me since it was announced that all PS3s were 3D-capable. You see the version of the implementation of HDMI within the PS3 is 1.3a. (From a consumer perspective there is no difference between version 1.3a/b/c.) In fact it was delays to the finalising of that specification that contributed to the delayed launch of the PS3. The blue-violet semiconductor laser in the Blu-ray drive was also an issue, but that is a story for another day.
The thing about the PS3 ‘only’ having HDMI 1.3a (I say ‘only’ because everyone’s favourite PS3-rival, the 360, has HDMI 1.2 on-board, if you are lucky enough to have an HDMI-equppied one at all) is that the first HDMI standard to support 3D content is officially HDMI 1.4.
I will note at this point that the HDMI standards body does not now let HDMI licensees use the version numbers on their products as they want the world’s consumers to view HDMI as a single standard. Yet there are significant differences between the HDMI versions. For example HDMI 1.4 also gives you an audio return channel and Ethernet over HDMI. Confusing, no?
But I digress. Fortunately for us PlayStation 3 owners HDMI 1.3 has the same maximum clock rate as 1.4. Which means that it is capable of transmitting that all-important video data just as quick. HDMI 1.2 runs at a little under half the speed.
For the PS3, firmware 3.30 added the capability (to all PS3 models) to output in two of the 3D video modes defined by the HDMI 1.4 specification, 1920x1080p @ 24Hz and 1280x720p @ 60Hz. To put it in gaming terms, think of Hertz (Hz) as Frames Per Second (FPS). Sony have simply implemented support for those modes in the firmware and the PS3’s HDMI is fast enough to handle them.
Note also that both of those video modes have ‘p’ for Progressive in them, not ‘i’ for Interlaced. That is important as it means that every time a frame is displayed it is sent to the display as a complete frame rather than one frame having only the odd numbered horizontal scan lines and the next having only the even numbered ones.
This conflicts with earlier reports, that as far as I can determine can all be traced back to a single blog post, that stated that HDMI 1.3 devices would only ever be capable of interlaced 3D formats. That blog post does not provide a link to the source, instead simply attributing the remarks that 1.3 devices can be upgraded to the president of the HDMI Licensing Group.
So the PS3 can output 1080p and 720p 3D video. That is all good right? Not entirely it turns out. You see only Blu-ray movies can make use of the [email protected] output mode. 3D games are restricted to the [email protected] mode. Which does kind of make sense. Can you imagine how much we would all be bitching about frame rates if GT5 ran at 24 frames per second? Of course, the corollary is that GT5 will only be running at 1080p in 2D, not 3D.
While ultimately the 3D games will be sent to your TV/projector/holographic display at 720p resolution and 60 FPS they will not necessarily be rendered at that resolution or frame rate. We can all think of examples of games that run at sub-720p resolution and less than 60 FPS, as that is still very common this generation.
(To pre-empt a repeat of a previous discussion, 30FPS is common choice for frame rate because 30 is the number you get when you divide 60 by the first positive integer greater than 1, i.e., 2. And we start from 60 because the refresh rate of the NTSC TV standard was 60Hz, because the frequency of the U.S. power grid was 60Hz, etc.)
30FPS will be even harder for developers to achieve in 3D titles. It is a simple question of maths. For a 2D 720p image, the game has to render 921,600 pixels per frame (1280 x 720). To maintain the framerate and resolution for the same game running in 3D you need to double the number of pixels per frame, as each eye needs its own view, meaning that 1,843,200 coloured dots need drawing.
That is a lot of extra work to be done in the few milliseconds available to draw the frame. It is not a doubling of work though, as some of the processing of the frame (e.g., rendering of shadow maps and spot light maps) can be done before you render the images for each eye.
Simple pixel counts are not the only thing that will impact a developers choice of resolution though. You see a single frame of 720p 3D video, as output by the PS3 60 times a second, is actually 1280 x 1470 pixels in size. Those of you quick at maths will have already worked out that 2 x 720 is 1,440 not 1,470, so what is going on?
Those extra 30 horizontal rows of pixels are the separator between the two frames for the left and right eyes. Why does this matter? It matters because the internal frame buffer that the game must draw into is now 1280 x 1470 pixels in size rather than 1280 x 720 which mean in turn that it requires more than twice as much of the PS3’s memory to store it.
(Another note relevant to 3D gaming on the 360, is that outputting 3D video would decrease the advantage that the 360 has because of the 10MB EDRAM buffer local to the GPU that 360 developers often use as the frame buffer because of the speed of access to it.)
If PS3 developers are struggling to get their game engine’s pixel fill rates up to the levels necessary to fill the frame buffer at the full 3D 720p resolution, they can opt to allow the PS3’s hardware scaler to help them out. The scaler only scales the horizontal resolution and already sees plenty of use in titles like WipEout HD, which drops its horizontal resolution from 1920 to as low as 1280 to maintain its [email protected] speed (in 2D).
Alternative resolutions that developers can adopt for 3D games are 1024×1470, 960×1470, 800×1470 and 640×1470. That last one is interesting as it means that the native horizontal resolution is lower than the vertical. Consider how much wider your TV screen is than it is tall, especially as I cannot think of a TV that will be 3D-capable that does not also have a widescreen aspect ratio, and imagine how that might look.
Crucially, that lowest resolution means the frame buffer is only 940,800 pixels in size, which is only fractionally higher than the 921,600 pixels required for a 2D 720p frame, which in turn means that the developer does not need to find a lot more memory for the frame buffer in the PS3’s already cramped RAM. That is why they may end up choosing such a low horizontal resolution.
Additional points to note are that the PS3 can now find out over HDMI if your TV supports 3D (which is pretty essential) and also what the TV’s screen size is (which is important for determining the amount of parallax shift, or horizontal offset between each eye’s view, required to render the 3D image). Hopefully as it is doing this by just incorporating additional parts of the HDMI communications protocol, those of us with HDMI amplifiers/receivers sitting between our PS3s and TVs should probably be okay without having to upgrade those as well.
The developer presentation also suggests that 3D will always be optional, “Choice to switch to 3D is up to the user from within your game”, and that games will include a “3D strength slider” which I guess will be a software version of the slider found on the inside of the lid of Nintendo’s new 3DS console.
If you are feeling brave and think that after a week of late nights/early mornings because of E3 (or in Al’s case Nofi Jr. and E3) that you can still deal with topics like stereoscopic frustrum culling, window violations that do not simply involve brick meeting glass, interaxial and convergence shifts, and the matrix transformations necessary to generate an asymmetric projection matrix, you can find the developer presentation here.
There is also a short Move presentation there too, but it does not contain anything you will not already know if you have seen any of the Move technology demonstrations over the past year or so, assuming you know that the Move controller contains similar technology to that used to detect and track submarines. Now do not get too excited, the name “sub controller” is not a literal one and your smartphone probably contains a magnetometer too for its electronic compass. Though if you are in Norway (listening Katy, Rev?) Sweden, Denmark or Finland there is a little demographic information about PS3, PSP and PSN in your locale which might make it worth a look if numbers are your thing.