Purpose of this page: To present our research on computer graphics for mobile platforms (phones, PDAs, portable gaming devices), and to give links to other
The creation of two-dimensional images of three-dimensional scenes in real time using mobile devices (or wireless devices)
is becoming more and more common, and is, indeed, a differentiating factor for
the constructors of mobile devices. The type of mobile devices that we are interested
in here are mobile phones, personal digital assistants (PDAs), and smart phones (high
end mobile phones). Typical applications are man-machine interfaces, map applications, games,
avatars, screen savers, and more.
3D graphics on these devices is challenging due to at least two factors: 1) the display often has relatively small resolution and is kept close to the user's eyes, and 2) they are powered by batteries. In our research we have found that the average eye-to-pixel angle is larger for mobile phones than for PCs and laptops. This implies that the quality in each pixel should ultimately be better for a mobile device than for a PC. Since the devices are powered by batteries, and because the user wants as long use time on the battery as possible, one should be careful when using that resource. For computer systems (such as the mobile phone, for example), a memory access to external memory is typically the operation that uses most energy. Thus, when designing graphics systems for mobile devices one should be extremely careful when using memory resources, and in fact, one should attempt to minimize the memory bandwidth usage. Using little resources and having high image quality is a contradiction per se. Our research attempts to explore new ways of reducing usage of resources while maintaining a high image quality, or even improving image quality. Some of our results are documented below.
Our paper iPACKMAN: High-Quality, Low-Complexity Texture Compression for Mobile Phones got the "Best Paper Award"
at the Graphics Hardware 2005 conference. iPACKMAN is also available as an optional extension in OpenGL ES 2.0.
OpenGL ES will be used in the Sony Playstation 3.
Hybrid has released their OpenGL ES 1.0 and 1.1 and M3G (formerly known as JSR-184) for free use by developers (for non-commercial use). They have also opened an forum for mobile graphics developers.
At SIGGRAPH 2004, Bitboys released three new graphics processors, called G32, G34, and G40. Information about these can be found on the Acceleon website. A really interesting thing is that our research has found its way into their graphics hardware, and all architectures have both FLIPQUAD multisampling and PACKMAN texture compression implemented.
|Jacob Ström and Tomas Akenine-Möller, "iPACKMAN: High-Quality, Low-Complexity Texture Compression for Mobile Phones", Graphics Hardware 2005, pp. 63-70, 2005. Best paper award!
|Jacob Ström, and Tomas Akenine-Möller, "PACKMAN: Texture Compression for Mobile Phones", Technical sketch at SIGGRAPH 2004, August 2004.
|Tomas Akenine-Möller and Jacob Ström, "Graphics for the Masses: A Hardware Rasterization Architecture for Mobile Phones", ACM Transactions of Graphics (Proceedings of ACM SIGGRAPH), vol. 22, no. 3, pp. 801-808, July 2003.
Technical Report No. 03-14, August 2003.
Download a pdf of our paper.
This technical report describes a multisampling scheme that we call FLIPTRI, and it costs only 1.25 samples per pixel.
Technical Report No. 02-04, April 2002.
Download a pdf of our paper.
This technical report describes our initial experiments with FLIPQUAD. A better description can be found in our SIGGRAPH paper above.
Others' academic work:
- Iosif Antochi, a research at Delft University of Technology, has a
number of interesting papers covering stuff like power efficiency in texture caches, optimal tile size,
and simulators. Check out his publications.
They have also a benchmark, called GraalBench, created especially for mobile devices.
- Woo et al. has presented a paper called A 120-mW 3-D Rendering Engine with a 6-Mb Embedded DRAM and 3.2 GB/s Runtime Reconfigurable Bus for PDA Chip, published in IEEE Journal of Solid-State Circuits, (37) 19, pp. 1352-1355, (October 2002). The KAIST group's homepage.
- Researchers at Mitsubishi have presented graphics hardware that is being used in their D504i mobile phone. This was presented at the Graphics Hardware 2003 conference. The paper is called 3D Graphics LSI Core for Mobile Phone "Z3D".
- More work from KAIST: RAMP-IV: A Low-Power/High-Performance 2D/3D Graphics Accelerator for Mobile Multimedia Applications by Woo et al, to be presented at HotChips 2003. This is an amazing achievement: great performance and low power usage. See also their RAMP homepage.
- Researchers from Leuven, Belgium and Madrid, Spain, has developed a framework that automatically adapts the rendering workload in order control the frame rate and rendering cost on mobile phones (SW rendering).
- There's an article on 3D graphics on mobile devices on FLIPCODE.
- OpenGL ES (for embedded systems)
- M3G (previously known as JSR 184): A scene graph based Java API for mobiles.
- Direct3D Mobile.
- ATI has released their Imageon 2300 architecture.
- Bitboys have a family of architectures, called Acceleon, for mobile platforms. A presentation of their Acceleon G30 can be found at the Graphics Hardware 2003 page.
- Falanx, a Norweigan comparny, has two architectures, Mali 50 and Mali 100, for mobile platforms, as well as the entire geometry stage in hardware as a separate product.
- Fathammer makes games and games development systems for mobiles.
- Check out G-Shark, yet another graphics hardware system for mobile devices.
- Hybrid has an OpenGL ES software rasterizer for mobile platforms.
- Imagination Technologies have an architecture called MBX, which is tile-based.
- Nokia's N-Gage
- NVIDIA has released some information on their AR10 architecture for mobile platforms. It has programmable shaders.
- Sony's PlayStation Portable (PSP).
- TAT has an OpenGL ES software rasterizer, and fast, antialiased vector font rendering, etc.
- People at the Vienna University of Technology have an implementation called SoftGL that runs on PDAs.
- Check out the wonderful SEPTIMA demo that
runs on a Sony Ericson P800. Here is a brief description by one of the programmers, Mikael Persson:
The engine rasterizer, a simple OpenGL-subset library, renders at half display resolution thus reducing fill rate impact of overdraw. After rasterizing a Summed Area Table for each colour component is computed. These SAT:s are used to enable a bilinear scaling of the half-resolution buffer to fill the display. The scaling also enables an arbitrary sized blur window to be used which implies that a number of blurring levels can be applied to the final result at constant computation complexity. Finally the SAT scaling does not map the colour components linearly when rendering to the display. Each colour component is mapped using a predefined curve mapping an area of higher dynamic range. This results in the colour bleeding visible in the demo.