Showing our vision with OpenVX™ 1.1 support for PowerVR GPUs

Share on linkedin
Share on twitter
Share on facebook
Share on reddit
Share on digg
Share on email

You may already have seen that Imagination has announced that its PowerVR GPUs are the first to achieve conformance with the OpenVX 1.1 specification from the Khronos™ Group.

OpenVX is an open, royalty-free standard API for cross-platform acceleration of computer vision applications. By being ahead of the game, we at Imagination are demonstrating our commitment to ensuring that our hardware is an ideal platform for developers to create and run fully optimised vision algorithms.

Computer vision is the science of bringing ‘visual intelligence’ to computing devices, so that they can appear to see and think like a human would. It is an increasingly important area and has many real-world use cases such as face, body and gesture tracking, smart video surveillance, advanced driver assistance systems (ADAS), object and scene reconstruction, augmented reality, visual inspection and robotics.

Vision systems have reached an inflection point in terms of capability. Just as embedded wireless technology was once an exotic and expensive luxury, vision processing used to be found only in expensive customised devices such as surgical robots and manufacturing systems. Nowadays vision systems are becoming commonplace. Most cameras have face detection algorithms so that focus and exposure can be optimised, while the Microsoft Kinect system that enjoyed some success in the gaming market with the Xbox 360 brought image recognition right into people’s lounges.

openVX image

Since then computer visions systems have continued to make huge leaps and are now enabling ADAS and emerging  autonomous driving capabilities in cars on the road today, such as the Mobileye EyeQ vision SoCs found at the heart of 90 per cent of ADAS systems today.

OpenVX emerged from a need to create a standard framework for developing vision applications. Low-level APIs such as OpenCL are challenging to program and maintain but OpenVX provides a standard set of building blocks, which makes it much more efficient for developers to put together their vision applications.

Comparisons are also frequently made with OpenCV, though there are important differences. Unlike OpenCV, which is not standardised and has many differing implementations, OpenVX is standardised and set up to enable production-ready systems. OpenCV allows for algorithm prototyping but is not usually suitable for real-world deployment. OpenCV, is typically inefficient as each function will read and write from memory without optimised data transfers. Additionally, when programming with OpenVX a graph detailing the data and process flow of individual operations (‘nodes’) is built up and is then processed by the OpenVX implementation.

OpenVX vs OpenCV

This enables the whole graph to be optimised, permitting individual operations to be coalesced, intermediate data eliminated and any opportunities for parallelism to be exploited in a way that simply is not possible with the discrete, serial expression of the individual function calls required in OpenCV. Thus, with OpenVX, an entire algorithm is adapted to the accelerating hardware, whereas with OpenCV this can only be done at the level of the separate functional units.

The table below from the Khronos website, shows the clear differences and benefits of OpenCV and OpenVX, reinforcing the need for a production quality API for vision applications.

This standardisation provides benefits to everyone across the eco-system. Imagination is able to optimise the design of its GPUs to meet the standard while OEMs are able to develop to the standard. All of this is protected via a conformance test, which gives confidence that content will run on any compatible architecture. With OpenVX developers don’t have to run nodes one-by-one but instead they can run them in parallel, which naturally makes them suited for running efficiently on PowerVR GPUs.

Khronos first announced the OpenVX 1.1 standard back in May and it adds several useful functions to the standard. Highlights include the ability work on median, erode and dilate image filters, which are morphological filters that can be applied to clean up, sharpen and balance out the pixels in captured images making it easier to recognise features inside them and extract the required information for analysis.

Alongside OpenVX 1.1, Khronos has also added a Neural Network Extension to the standard, making OpenVX ideal for executing convolutional neural networks (CNNs) efficiently. CNNs will be critical to autonomous cars as they are a highly efficient way to recognise cars and other objects such as pedestrians, obstructions and road boundaries in real-time. CNNs rely on complex multiply and accumulate functions and these are well suited to the highly-parallel computational capabilities of PowerVR GPUs. The applications of CNNs extend into many other areas – robotics, medical, even retail, and in the real-time processing of non-visual data.

By keeping at the forefront of the latest technologies including OpenVX 1.1, Imagination is ensuring that developers working with its architecture can make the most of the latest developments and produce better products for their customers.

To learn more about using OpenVX 1.1 with PowerVR GPUs, developers can join the popular PowerVR Insider community at

This blog features contributions from Chris Longstaff, Senior Director of Product & Technology Marketing, PowerVR, Imagination and Steve Ramm, Senior Director of Platform Services, PowerVR, Imagination.

Benny Har-Even

Benny Har-Even

With a background in technology journalism stretching back to the late 90s, Benny Har-Even has written for many of the top UK technology publications, across both consumer and B2B and has appeared as an expert on BBC World Business News and BBC Radio Five Live. He is now Content Manager at Imagination Technologies.

1 thought on “Showing our vision with OpenVX™ 1.1 support for PowerVR GPUs”

Please leave a comment below

Comment policy: We love comments and appreciate the time that readers spend to share ideas and give feedback. However, all comments are manually moderated and those deemed to be spam or solely promotional will be deleted. We respect your privacy and will not publish your personal details.

Blog Contact

If you have any enquiries regarding any of our blog posts, please contact:

United Kingdom
Tel: +44 (0)1923 260 511

Search by Tag

Search by Author

Related blog articles

bseries imgic technology

Back in the high-performance game

My first encounter with the PowerVR GPU was helping the then VideoLogic launch boards for Matrox in Europe. Not long after I joined the company, working on the rebrand to Imagination Technologies and promoting both our own VideoLogic-branded boards and those of our partners using ST’s Kyro processors. There were tens of board partners but only for one brief moment did we have two partners in the desktop space: NEC and ST.

Read More »
pvrtune complete

What is PVRTune Complete?

PVR Tune Complete highlights exactly what the application is doing at the GPU level, helping to identify any bottlenecks in the compute stage, the renderer, and the tiler.

Read More »


Sign up to receive the latest news and product updates from Imagination straight to your inbox.