Battery-powered GPU Computing
Image Processing
For those who haven't come across face beautification yet, have a look at this research done, published in a SIGGRAPH paper
and this IP being sold.
The Killer App or Killer Apps?
I don't think it's just Augmented Reality. A number of phone OEMs' R&D departments are looking very closely at image processing to see what can be achieved by moving computation to GPUs, through OpenCL. I am seeing some common themes running through their work: face recognition and indexing, face processing, including beautification, and also wider computer vision work. Let's say you have GPS, a compass and an accelerometer in your phone, you point the camera. It knows where you are and which direction you are pointing; it identifies the buildings from the images and overlays information onto the screen to tell you about them. It identifies any people in the picture and tells you about them as well (what his name is, who he works for and when you last saw him). Obviously in shops, you can read bar codes to look up more information on the web, but if you can recognize objects without having to scan bar codes, it's all more seamless and user friendly. I think a whole range of image processing killer apps will come out of these themes.
I'll stick my neck out - the Killer App for me (actually a whole range of Apps) is an amalgam of image processing, computational photography and computer vision that will allow mobile phones with tiny lenses to take pictures that look as good as those from full-size digital cameras and then allow those images to be used intelligently in a whole host of add-on applications. That will take a lot of image processing horsepower and GPGPU looks great for that. However, as I say later, I'm prepared for my prediction to be wrong...
A standard is needed
Now of course you can do some of this today without GPGPU or OpenCL. You can see some great examples here, but GPUs will be very good at this, and OpenCL will provide a standardized API for doing it. I believe a standard, almost any standard, will be good for the market - there seems to be too much proprietary code out there. I have certainly had off-the-record conversations where developers are banging the table about the fact that they can't move code from one DSP to another because of differences between them, and between their toolchains. It will be interesting to move to an environment where people will be more freely able to move code around to the most suitable (in performance or energy terms) computational device, rather than "I have to do it there, because they provide the algorithm and it only runs on that". I think that could be the catalyst for a number of important changes in the market. Once we have momentum, we will see people porting existing libraries of image processing code (such as OpenCV, perhaps?) to OpenCL.
Build it and they will come
While image processing is one of the killer mobile applications for GPUs in mobile phones, I believe that if we build open systems – platforms on to which users can download applications from sources such as an online store, more use-cases for GPU computing will appear, and I am sure that some of them will surprise us.
It is not necessary for us to know exactly what will capture the imagination of users. No, that’s not just a cop-out. If you look at the market for applications on phone platforms onto which people can download applications I think we can agree that some of the most successful applications have been surprising at first sight. I believe the same will happen for GPU computing. The killer app for GPU computing may not have been written yet, perhaps not even thought of yet, but if we provide the capabilities, they will appear.
One note of caution - we will see some applications ported to GPU computing and some will perform badly (see my previous blog describing the things that work well and what won't work so well). We should not be disheartened by that. Not all code will accelerate well on GPUs - we know that. What we should concentrate on is the new apps that become possible through the acceleration of suitable algorithms.
Where does this lead to?
Now, I might be in the minority that still own a separate digital camera, but I also miss a lot of good pictures because I don’t always have my camera with me, but my phone is nearly always in my pocket! If the developers can make exciting, cool, easy-to-use applications that enable them to attract lots of people to buy their mobile devices, you can believe GPU computing will take off. We in the industry must be ready to provide them with the technology they need. I am desperate to tell you about where ARM is going next with GPU technology, but I'd get in trouble now and it will have to wait to a later post where I talk about the best embedded GPU in the world and great tools to go with it to help developers tap into this potential.
What do you think the killer mobile apps are that will drive the adoption of GPUs in mobile devices and the introduction of GPU computing as an energy-efficient processing method?
Jem Davies, ARM Fellow. Jem likes to think of himself as "The Godfather" to technical talent in ARM. After spending some time in his youth writing software for satellites and traffic-lights among other fascinating things, Jem spotted the technical inflection point of the mobile industry: graphics, video and other visual processing. As VP of technology in the Media Processing Division of ARM, Jem is busy with a lot of projects involving the future of cool ARM technology, which will revolutionise how people experience and interact with digital devices.
Shortlink to this post: http://bit.ly/cEHnAg
All company and product names appearing in the ARM Blogs are trademarks and/or registered trademarks of ARM Limited per ARM’s official trademark list. All other product or service names mentioned herein are the trademarks of their respective owners.
2 Comments On This Entry
Please log in above to add a comment or register for an account
Page 1 of 1
nlw0
26 May 2010 - 07:40 PM
I liked very much to read this. I am doing research on Computer Vision, more specifically in location, mapping and 3D reconstruction based on monocular vision for portable devices and real-time applications, and I'm always puzzled about why this technology seems to be so distant from the plans of industry right now.
I hear too much about GPS+compass based augmented reality, and I do respect the role these tools have to play. But we won't be seeing great results until computer vision starts to be used for augmented reality. First of all, CV techniques can work in important places that GPS can't, e.g. deep inside buildings. It is also necessary for accurate image registration, since there will always be too large errors in GPS+compass readings for accurate positioning of AR layers over caputed images. GPS+compass is also unable to perceive objects in the surrounding environment of the user, what means they offer no means to create maps of the environment. Mapping is important both to gather the information needed for the applications in first place, and to update the data in dynamic environments.
I would really like to start hearing more about the need for CV research, and development of vision-based augmented reality tools. We must not allow "GPS+compass" to become synonymous to AR. It looks like this is happening today because of the prevalence of this method in iPhone applications, in my opinion. GPS+compass are not a necessary condition for AR. On the other hand, CV is necessary for the most advanced AR applications.
I hear too much about GPS+compass based augmented reality, and I do respect the role these tools have to play. But we won't be seeing great results until computer vision starts to be used for augmented reality. First of all, CV techniques can work in important places that GPS can't, e.g. deep inside buildings. It is also necessary for accurate image registration, since there will always be too large errors in GPS+compass readings for accurate positioning of AR layers over caputed images. GPS+compass is also unable to perceive objects in the surrounding environment of the user, what means they offer no means to create maps of the environment. Mapping is important both to gather the information needed for the applications in first place, and to update the data in dynamic environments.
I would really like to start hearing more about the need for CV research, and development of vision-based augmented reality tools. We must not allow "GPS+compass" to become synonymous to AR. It looks like this is happening today because of the prevalence of this method in iPhone applications, in my opinion. GPS+compass are not a necessary condition for AR. On the other hand, CV is necessary for the most advanced AR applications.
Page 1 of 1
»
Blog Tags
»
Recent Entries
»
Search My Blog
»
Recent Comments
-
Jem Davies
on May 11 2012 06:46 AM
ARM Mali-T604: New GPU & Architecture For Highest Performance & Flexibility
-
Sean Lumly
on May 10 2012 10:34 PM
ARM Mali-T604: New GPU & Architecture For Highest Performance & Flexibility
-
Jem Davies
on Apr 26 2012 08:45 AM
ARM Mali-T604: New GPU & Architecture For Highest Performance & Flexibility
-
-


2 Comments






















