{"id":14,"date":"2011-05-12T14:46:41","date_gmt":"2011-05-12T13:46:41","guid":{"rendered":"http:\/\/www.cjontechnology.com\/blog\/?p=14"},"modified":"2011-05-18T14:11:26","modified_gmt":"2011-05-18T13:11:26","slug":"using-the-gpu-in-android-to-process-live-camera-images","status":"publish","type":"post","link":"https:\/\/www.cjontechnology.com\/blog\/using-the-gpu-in-android-to-process-live-camera-images\/","title":{"rendered":"Using the GPU in Android to process live camera images"},"content":{"rendered":"<p><em>Updated 18th May 2011 with a description of Android&#8217;s Renderscript feature.<\/em><\/p>\n<p>There has been a lot of research done in using GPUs\u00c2\u00a0(the Graphics Processing Units used for acceleration in video cards ) to<a href=\"http:\/\/www.nvidia.com\/object\/tesla_computing_solutions.html\" target=\"_blank\"> build super computers<\/a>.<\/p>\n<p>However there was an interesting demo in the keynote at IO 2011 the Google developers conference. They use the GPU in an android tablet to process the live camera data to provide realtime image processing.<\/p>\n<p><a title=\"Google IO GPU demo\" href=\"http:\/\/www.youtube.com\/watch?v=OxzucwjFEEs#t=16m30\" target=\"_blank\">http:\/\/www.youtube.com\/watch?v=OxzucwjFEEs#t=16m30<\/a> (starts at 16m30)<\/p>\n<p>This has interesting implications not only for virtual reality processing but also for say for decoding 1D and 2D barcodes and document recognition in real time &#8211; with performance like an expensive 2D imager but with less power and cost.<\/p>\n<p><em>Update: <\/em>The APIs for accessing the GPU are available in Honeycomb in\u00c2\u00a0Renderscript. This is described in the Android developers blog\u00c2\u00a0<a href=\"http:\/\/android-developers.blogspot.com\/2011\/02\/introducing-renderscript.html\">here<\/a>. It enables access to the GPU using a language called C99. If however the GPU is not available C99 will be run on the main CPU \u00c2\u00a0this decision is made at runtime, allowing programs relying on Renderscript to run on a device without a GPU (albeit slowly)<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Updated 18th May 2011 with a description of Android&#8217;s Renderscript feature. There has been a lot of research done in using GPUs\u00c2\u00a0(the Graphics Processing Units used for acceleration in video cards ) to build super computers. However there was an &hellip; <a href=\"https:\/\/www.cjontechnology.com\/blog\/using-the-gpu-in-android-to-process-live-camera-images\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[15,8,4,9,7,12],"_links":{"self":[{"href":"https:\/\/www.cjontechnology.com\/blog\/wp-json\/wp\/v2\/posts\/14"}],"collection":[{"href":"https:\/\/www.cjontechnology.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cjontechnology.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cjontechnology.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cjontechnology.com\/blog\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":0,"href":"https:\/\/www.cjontechnology.com\/blog\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.cjontechnology.com\/blog\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cjontechnology.com\/blog\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cjontechnology.com\/blog\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}